Commits

Jens Alfke committed 6aefe80

* Added support for merging (fixes #7).
* Window title-bar icon indicates whether working tree is modified or a merge.
* Fixed: graph column wasn't updating in some cases where the list of revisions didn't change (fixes #77).
* Fixed: file status icons sometimes didn't update.
* Fixed: status sometimes wouldn't refresh after changes were noticed in the '.hg' directory.
* Fixed: directory-change watcher would miss changes that happened while a modal alert was onscreen. [This fix depends on a corresponding change in MYUtilities.]
* Fixed: localized strings never got updated because Localize.py wasn't running genstrings correctly.
* Bumped version to 0.8.

Comments (0)

Files changed (25)

English.lproj/Localizable.strings

 /* Repository window title format */
 "%@ [rev %i]" = "%1$@ [rev %2$i]";
 
+/* FileViewer window title pattern (filename,repository) */
+"%@ in %@" = "%1$@ in %2$@";
+
 /* Error message from Open command */
 "%@ is not a directory" = "%@ is not a directory";
 
+/* Body of conflicts alert from Commit command */
+"%i file(s) still have unresolved merge conflicts. Please edit them to resolve the conflicting lines, then use the Mark As Resolved command to tell Mercurial that they've been resolved.\nAfter that, you can commit." = "%i file(s) still have unresolved merge conflicts. Please edit them to resolve the conflicting lines, then use the Mark As Resolved command to tell Mercurial that they've been resolved.\nAfter that, you can commit.";
+
 /* Body of alert from Commit command */
 "%i file(s) you're trying to check in have not yet been added to the repository (status is '?'). These won't be checked in. Proceed anyway?" = "%i file(s) you're trying to check in have not yet been added to the repository (status is '?'). These won't be checked in. Proceed anyway?";
 
+/* View Mode Button Title Path singular */
+"%i Modified File" = "%i Modified File";
+
+/* View Mode Button Title Path */
+"%i Modified Files" = "%i Modified Files";
+
 /* Comment for unchanged current revision */
 "(no changes)" = "(no changes)";
 
 /* Appended to truncated comment string in revision table */
 "..." = "...";
 
+/* View Mode Button Title Files */
+"All Files (%i modified)" = "All Files (%i modified)";
+
+/* Body of generic merge error sheet */
+"An error occurred and the merge did not take place." = "An error occurred and the merge did not take place.";
+
 /* Body of Discard alert */
 "Are you sure you want to discard all uncommitted changes to the selected files?" = "Are you sure you want to discard all uncommitted changes to the selected files?";
 
 /* Button in progress sheet */
 "Close" = "Close";
 
+/* Default button in merge success sheet */
+"Commit" = "Commit";
+
 /* Button of conversion alert from Open command */
 "Convert" = "Convert";
 
 /* Title of Discard alert */
 "Discard file changes?" = "Discard file changes?";
 
+/* Alternate button of post-pull merge alert */
+"Don't Merge" = "Don't Merge";
+
+/* Title of merge-conflicts sheet */
+"Merge Conflicts Remain" = "Merge Conflicts Remain";
+
+/* Title of generic merge error sheet */
+"Merge Failed!" = "Merge Failed!";
+
+/* Default button of post-pull merge alert */
+"Merge Now" = "Merge Now";
+
+/* Title of merge success sheet */
+"Merged!" = "Merged!";
+
+/* Log message that's set when a merge fails */
+"Merged, with conflicts resolved by hand." = "Merged, with conflicts resolved by hand.";
+
+/* Log message that's set when a merge succeeds */
+"Merged." = "Merged.";
+
+/* Title of post-pull merge alert */
+"Merging may be required" = "Merging may be required";
+
 /* Error message for hg commit */
 "Missing commit message" = "Missing commit message";
 
 /* Error message from Open command */
 "No such directory %@" = "No such directory %@";
 
+/* Commit-later button in merge success sheet */
+"Not Now" = "Not Now";
+
 /* Button */
 "OK" = "OK";
 
 /* Title of alert from Commit command */
 "Some files aren't in the repository" = "Some files aren't in the repository";
 
+/* Title of conflicts alert from Commit command */
+"Some files still have merge conflicts" = "Some files still have merge conflicts";
+
 /* Button in fatal error alert */
 "Sorry" = "Sorry";
 
 /* Body of conversion alert from Open command */
 "The directory <%@> is not already a Mercurial repository. Would you like to make it one?" = "The directory <%@> is not already a Mercurial repository. Would you like to make it one?";
 
+/* Body of merge-conflicts sheet */
+"The merge is unfinished and has not yet been committed!\n\nThere were conflicting changes to one or more files. These files are now marked with a conflict status icon in the file list below.\n\nYou'll need to hand-edit each conflicting file, then mark it as resolved via the Revisions menu. After that, you can commit the merge." = "The merge is unfinished and has not yet been committed!\n\nThere were conflicting changes to one or more files. These files are now marked with a conflict status icon in the file list below.\n\nYou'll need to hand-edit each conflicting file, then mark it as resolved via the Revisions menu. After that, you can commit the merge.";
+
 /* Error message for failed hg clone */
 "The path to clone into already exists" = "The path to clone into already exists";
 
 /* Error message for failed hg clone */
 "The path to clone into is already inside a Mercurial repository at %@" = "The path to clone into is already inside a Mercurial repository at %@";
 
+/* Body of post-pull merge alert */
+"The repository contains multiple head revisions. You will probably need to merge your tip revision to incorporate the pulled changes.\n\n(If you choose not to merge now, you can do it later by using the Merge command.)" = "The repository contains multiple head revisions. You will probably need to merge your tip revision to incorporate the pulled changes.\n\n(If you choose not to merge now, you can do it later by using the Merge command.)";
+
 /* Body of fatal error alert */
 "Unable to find or run the 'hg' command.\n\n%@" = "Unable to find or run the 'hg' command.\n\n%@";
 

English.lproj/MainMenu.strings

 
 /* Class = "NSMenuItem"; title = "Browse History"; ObjectID = "600"; */
 "600.title" = "Browse History";
+
+/* Class = "NSMenuItem"; title = "Merge Conflicts"; ObjectID = "603"; */
+"603.title" = "Merge Conflicts";
+
+/* Class = "NSMenuItem"; title = "Mark As Resolved"; ObjectID = "607"; */
+"607.title" = "Mark As Resolved";

English.lproj/MainMenu.xib

 <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
 	<data>
 		<int key="IBDocument.SystemTarget">1050</int>
-		<string key="IBDocument.SystemVersion">10C540</string>
-		<string key="IBDocument.InterfaceBuilderVersion">740</string>
-		<string key="IBDocument.AppKitVersion">1038.25</string>
-		<string key="IBDocument.HIToolboxVersion">458.00</string>
+		<string key="IBDocument.SystemVersion">10D573</string>
+		<string key="IBDocument.InterfaceBuilderVersion">783</string>
+		<string key="IBDocument.AppKitVersion">1038.29</string>
+		<string key="IBDocument.HIToolboxVersion">460.00</string>
 		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
 			<bool key="EncodedWithXMLCoder">YES</bool>
 			<object class="NSArray" key="dict.sortedKeys">
 			</object>
 			<object class="NSMutableArray" key="dict.values">
 				<bool key="EncodedWithXMLCoder">YES</bool>
-				<string>740</string>
+				<string>783</string>
 				<string>1.2.2</string>
 			</object>
 		</object>
 									<reference key="NSMixedImage" ref="578101116"/>
 									<int key="NSTag">2</int>
 								</object>
+								<object class="NSMenuItem" id="345997666">
+									<reference key="NSMenu" ref="720053764"/>
+									<string key="NSTitle">Merge Conflicts</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="664567982"/>
+									<reference key="NSMixedImage" ref="578101116"/>
+									<int key="NSTag">2</int>
+								</object>
 								<object class="NSMenuItem" id="94212584">
 									<reference key="NSMenu" ref="720053764"/>
 									<bool key="NSIsDisabled">YES</bool>
 									<reference key="NSOnImage" ref="664567982"/>
 									<reference key="NSMixedImage" ref="578101116"/>
 								</object>
+								<object class="NSMenuItem" id="3375322">
+									<reference key="NSMenu" ref="502084290"/>
+									<string key="NSTitle">Mark As Resolved</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="664567982"/>
+									<reference key="NSMixedImage" ref="578101116"/>
+								</object>
 								<object class="NSMenuItem" id="649192194">
 									<reference key="NSMenu" ref="502084290"/>
 									<bool key="NSIsDisabled">YES</bool>
 					</object>
 					<int key="connectionID">602</int>
 				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">merge:</string>
+						<reference key="source" ref="1014"/>
+						<reference key="destination" ref="345997666"/>
+					</object>
+					<int key="connectionID">606</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">markResolved:</string>
+						<reference key="source" ref="1014"/>
+						<reference key="destination" ref="3375322"/>
+					</object>
+					<int key="connectionID">609</int>
+				</object>
 			</object>
 			<object class="IBMutableOrderedSet" key="objectRecords">
 				<object class="NSArray" key="orderedObjects">
 							<reference ref="827380328"/>
 							<reference ref="350492256"/>
 							<reference ref="838673501"/>
+							<reference ref="345997666"/>
 						</object>
 						<reference key="parent" ref="379814623"/>
 					</object>
 							<reference ref="649192194"/>
 							<reference ref="743461433"/>
 							<reference ref="312225896"/>
+							<reference ref="3375322"/>
 						</object>
 						<reference key="parent" ref="626404410"/>
 					</object>
 						<reference key="object" ref="312225896"/>
 						<reference key="parent" ref="502084290"/>
 					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">603</int>
+						<reference key="object" ref="345997666"/>
+						<reference key="parent" ref="720053764"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">607</int>
+						<reference key="object" ref="3375322"/>
+						<reference key="parent" ref="502084290"/>
+					</object>
 				</object>
 			</object>
 			<object class="NSMutableDictionary" key="flattenedProperties">
 					<string>596.IBPluginDependency</string>
 					<string>597.IBPluginDependency</string>
 					<string>600.IBPluginDependency</string>
+					<string>603.IBPluginDependency</string>
+					<string>607.IBPluginDependency</string>
 					<string>72.IBPluginDependency</string>
 					<string>72.ImportedFromIB2</string>
 					<string>73.IBPluginDependency</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{511, 653}, {219, 183}}</string>
+					<string>{{511, 633}, {219, 203}}</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>{{233, 693}, {296, 143}}</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<integer value="1"/>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<integer value="1"/>
-					<string>{{326, 483}, {284, 353}}</string>
+					<string>{{326, 463}, {284, 373}}</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<integer value="1"/>
 					<string>{{147, 503}, {293, 333}}</string>
 				</object>
 			</object>
 			<nil key="sourceID"/>
-			<int key="maxID">602</int>
+			<int key="maxID">609</int>
 		</object>
 		<object class="IBClassDescriber" key="IBDocument.Classes">
 			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
 							<string>id</string>
 						</object>
 					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>addToRepository:</string>
+							<string>cloneRepository:</string>
+							<string>commitAllChanges:</string>
+							<string>commitChanges:</string>
+							<string>discardChanges:</string>
+							<string>pushPullRevisions:</string>
+							<string>refreshStatus:</string>
+							<string>removeFromRepository:</string>
+							<string>revealInFinder:</string>
+							<string>showComparison:</string>
+							<string>showDiff:</string>
+							<string>showRevision:</string>
+							<string>toggleShowsOnlyUncleanFiles:</string>
+							<string>updateToLatest:</string>
+							<string>updateToSelectedRevision:</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBActionInfo">
+								<string key="name">addToRepository:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">cloneRepository:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">commitAllChanges:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">commitChanges:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">discardChanges:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">pushPullRevisions:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">refreshStatus:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">removeFromRepository:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">revealInFinder:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">showComparison:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">showDiff:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">showRevision:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">toggleShowsOnlyUncleanFiles:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">updateToLatest:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">updateToSelectedRevision:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+						</object>
+					</object>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBUserSource</string>
 						<string key="minorKey"/>
 							<string>id</string>
 						</object>
 					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>beginClonePanelDstFilePicker:</string>
+							<string>beginClonePanelSrcFilePicker:</string>
+							<string>dismissClonePanel:</string>
+							<string>openHelpWebPage:</string>
+							<string>runClonePanel:</string>
+							<string>runNewPanel:</string>
+							<string>runOpenPanel:</string>
+							<string>selectTextEditor:</string>
+							<string>showPreferences:</string>
+							<string>showProjectsWindow:</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBActionInfo">
+								<string key="name">beginClonePanelDstFilePicker:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">beginClonePanelSrcFilePicker:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">dismissClonePanel:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">openHelpWebPage:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">runClonePanel:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">runNewPanel:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">runOpenPanel:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">selectTextEditor:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">showPreferences:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">showProjectsWindow:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+						</object>
+					</object>
 					<object class="NSMutableDictionary" key="outlets">
 						<bool key="EncodedWithXMLCoder">YES</bool>
 						<object class="NSArray" key="dict.sortedKeys">
 							<string>NSPopUpButton</string>
 						</object>
 					</object>
+					<object class="NSMutableDictionary" key="toOneOutletInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>_cloneDstURLField</string>
+							<string>_clonePanel</string>
+							<string>_cloneSrcChooseButton</string>
+							<string>_cloneSrcURLField</string>
+							<string>_textEditorPreferenceButton</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_cloneDstURLField</string>
+								<string key="candidateClassName">NSTextField</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_clonePanel</string>
+								<string key="candidateClassName">NSPanel</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_cloneSrcChooseButton</string>
+								<string key="candidateClassName">NSButton</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_cloneSrcURLField</string>
+								<string key="candidateClassName">NSTextField</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_textEditorPreferenceButton</string>
+								<string key="candidateClassName">NSPopUpButton</string>
+							</object>
+						</object>
+					</object>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBProjectSource</string>
 						<string key="minorKey">Source/MercurialApp.h</string>
 							<string>discardChanges:</string>
 							<string>endCommitSheet:</string>
 							<string>infoChooserChanged:</string>
+							<string>markResolved:</string>
+							<string>merge:</string>
 							<string>openInTerminal:</string>
 							<string>openSelectedFile:</string>
 							<string>openSelectedFileInWindow:</string>
 							<string>id</string>
 							<string>id</string>
 							<string>id</string>
+							<string>id</string>
+							<string>id</string>
+						</object>
+					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>addRemove:</string>
+							<string>addToRepository:</string>
+							<string>beginPushSheetFilePicker:</string>
+							<string>chooseRevisionFromPopUp:</string>
+							<string>commitAllChanges:</string>
+							<string>commitChanges:</string>
+							<string>discardChanges:</string>
+							<string>endCommitSheet:</string>
+							<string>infoChooserChanged:</string>
+							<string>markResolved:</string>
+							<string>merge:</string>
+							<string>openInTerminal:</string>
+							<string>openSelectedFile:</string>
+							<string>openSelectedFileInWindow:</string>
+							<string>pushPullRevisions:</string>
+							<string>refreshStatus:</string>
+							<string>removeFromRepository:</string>
+							<string>revealInFinder:</string>
+							<string>showComparison:</string>
+							<string>showDiff:</string>
+							<string>showRevision:</string>
+							<string>stopProgress:</string>
+							<string>toggleShowsOnlyUncleanFiles:</string>
+							<string>updateToLatest:</string>
+							<string>updateToSelectedRevision:</string>
+							<string>viewModeSelectorChanged:</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBActionInfo">
+								<string key="name">addRemove:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">addToRepository:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">beginPushSheetFilePicker:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">chooseRevisionFromPopUp:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">commitAllChanges:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">commitChanges:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">discardChanges:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">endCommitSheet:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">infoChooserChanged:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">markResolved:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">merge:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">openInTerminal:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">openSelectedFile:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">openSelectedFileInWindow:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">pushPullRevisions:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">refreshStatus:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">removeFromRepository:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">revealInFinder:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">showComparison:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">showDiff:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">showRevision:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">stopProgress:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">toggleShowsOnlyUncleanFiles:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">updateToLatest:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">updateToSelectedRevision:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">viewModeSelectorChanged:</string>
+								<string key="candidateClassName">id</string>
+							</object>
 						</object>
 					</object>
 					<object class="NSMutableDictionary" key="outlets">
 							<string>NSButton</string>
 						</object>
 					</object>
+					<object class="NSMutableDictionary" key="toOneOutletInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>_commitMessageField</string>
+							<string>_commitSheet</string>
+							<string>_hideShowUnmodifiedToolbarItem</string>
+							<string>_infoChooser</string>
+							<string>_infoImageView</string>
+							<string>_infoView</string>
+							<string>_outline</string>
+							<string>_progressIndicator</string>
+							<string>_progressMessageField</string>
+							<string>_progressOutputField</string>
+							<string>_progressSheet</string>
+							<string>_progressStopButton</string>
+							<string>_pullUpdateCheckbox</string>
+							<string>_pushButton</string>
+							<string>_pushDescriptionField</string>
+							<string>_pushSheet</string>
+							<string>_pushURLField</string>
+							<string>_revisionTable</string>
+							<string>_revisions</string>
+							<string>_tree</string>
+							<string>_viewModeButton</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_commitMessageField</string>
+								<string key="candidateClassName">NSTextView</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_commitSheet</string>
+								<string key="candidateClassName">NSPanel</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_hideShowUnmodifiedToolbarItem</string>
+								<string key="candidateClassName">NSSegmentedControl</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_infoChooser</string>
+								<string key="candidateClassName">NSSegmentedControl</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_infoImageView</string>
+								<string key="candidateClassName">NSImageView</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_infoView</string>
+								<string key="candidateClassName">NSTextView</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_outline</string>
+								<string key="candidateClassName">NSOutlineView</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_progressIndicator</string>
+								<string key="candidateClassName">NSProgressIndicator</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_progressMessageField</string>
+								<string key="candidateClassName">NSTextField</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_progressOutputField</string>
+								<string key="candidateClassName">NSTextField</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_progressSheet</string>
+								<string key="candidateClassName">NSPanel</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_progressStopButton</string>
+								<string key="candidateClassName">NSButton</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_pullUpdateCheckbox</string>
+								<string key="candidateClassName">NSButton</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_pushButton</string>
+								<string key="candidateClassName">NSButton</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_pushDescriptionField</string>
+								<string key="candidateClassName">NSTextField</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_pushSheet</string>
+								<string key="candidateClassName">NSPanel</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_pushURLField</string>
+								<string key="candidateClassName">NSComboBox</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_revisionTable</string>
+								<string key="candidateClassName">NSTableView</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_revisions</string>
+								<string key="candidateClassName">NSArrayController</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_tree</string>
+								<string key="candidateClassName">NSTreeController</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_viewModeButton</string>
+								<string key="candidateClassName">NSButton</string>
+							</object>
+						</object>
+					</object>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBProjectSource</string>
 						<string key="minorKey">Source/RepoController.h</string>
 							<string>id</string>
 						</object>
 					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>clearRecentDocuments:</string>
+							<string>newDocument:</string>
+							<string>openDocument:</string>
+							<string>saveAllDocuments:</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBActionInfo">
+								<string key="name">clearRecentDocuments:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">newDocument:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">openDocument:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">saveAllDocuments:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+						</object>
+					</object>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBFrameworkSource</string>
 						<string key="minorKey">AppKit.framework/Headers/NSDocumentController.h</string>
 						<string key="NS.key.0">showWindow:</string>
 						<string key="NS.object.0">id</string>
 					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<string key="NS.key.0">showWindow:</string>
+						<object class="IBActionInfo" key="NS.object.0">
+							<string key="name">showWindow:</string>
+							<string key="candidateClassName">id</string>
+						</object>
+					</object>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBFrameworkSource</string>
 						<string key="minorKey">AppKit.framework/Headers/NSWindowController.h</string>
 			</object>
 		</object>
 		<int key="IBDocument.localizationMode">0</int>
+		<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
 		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
 			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
 			<integer value="1050" key="NS.object.0"/>
 		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
 		<string key="IBDocument.LastKnownRelativeProjectPath">../Murky.xcodeproj</string>
 		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+		<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="NSArray" key="dict.sortedKeys">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<string>NSAdvanced</string>
+				<string>NSMenuCheckmark</string>
+				<string>NSMenuMixedState</string>
+				<string>NSPreferencesGeneral</string>
+			</object>
+			<object class="NSMutableArray" key="dict.values">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<string>{32, 32}</string>
+				<string>{9, 8}</string>
+				<string>{7, 2}</string>
+				<string>{32, 32}</string>
+			</object>
+		</object>
 	</data>
 </archive>

English.lproj/Repo.strings

 /* Class = "NSMenuItem"; title = "Diff With Base"; ObjectID = "300119"; */
 "300119.title" = "Diff With Base";
 
-/* Class = "NSMenuItem"; title = "Discard Changes"; ObjectID = "300120"; */
-"300120.title" = "Discard Changes";
+/* Class = "NSMenuItem"; title = "Mark As Resolved"; ObjectID = "300120"; */
+"300120.title" = "Mark As Resolved";
 
 /* Class = "NSMenuItem"; title = "Add To Repository"; ObjectID = "300121"; */
 "300121.title" = "Add To Repository";
 
 /* Class = "NSMenuItem"; title = "Open In Editor"; ObjectID = "300395"; */
 "300395.title" = "Open In Editor";
+
+/* Class = "NSMenuItem"; title = "Discard Changes"; ObjectID = "300400"; */
+"300400.title" = "Discard Changes";
+
+/* Class = "NSToolbarItem"; label = "Merge"; ObjectID = "300404"; */
+"300404.label" = "Merge";
+
+/* Class = "NSToolbarItem"; paletteLabel = "Merge"; ObjectID = "300404"; */
+"300404.paletteLabel" = "Merge";

English.lproj/Repo.xib

 <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
 	<data>
 		<int key="IBDocument.SystemTarget">1050</int>
-		<string key="IBDocument.SystemVersion">10C540</string>
-		<string key="IBDocument.InterfaceBuilderVersion">740</string>
-		<string key="IBDocument.AppKitVersion">1038.25</string>
-		<string key="IBDocument.HIToolboxVersion">458.00</string>
+		<string key="IBDocument.SystemVersion">10D573</string>
+		<string key="IBDocument.InterfaceBuilderVersion">783</string>
+		<string key="IBDocument.AppKitVersion">1038.29</string>
+		<string key="IBDocument.HIToolboxVersion">460.00</string>
 		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
 			<bool key="EncodedWithXMLCoder">YES</bool>
 			<object class="NSArray" key="dict.sortedKeys">
 			</object>
 			<object class="NSMutableArray" key="dict.values">
 				<bool key="EncodedWithXMLCoder">YES</bool>
-				<string>740</string>
+				<string>783</string>
 				<string>1.2.2</string>
 			</object>
 		</object>
 		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
 			<bool key="EncodedWithXMLCoder">YES</bool>
-			<integer value="300028"/>
 			<integer value="300117"/>
+			<integer value="1"/>
 		</object>
 		<object class="NSArray" key="IBDocument.PluginDependencies">
 			<bool key="EncodedWithXMLCoder">YES</bool>
 							<string>D87FDD96-59CA-4AA2-9D15-69F80A68AA35</string>
 							<string>E2026D47-C238-4257-BA61-F589D364EDE4</string>
 							<string>ECFD747A-2BC0-4956-9F53-52479BCB8D79</string>
+							<string>F45BA6D1-C256-4665-9BFE-945A2817CC7D</string>
 							<string>F801FAD7-3BA6-40E1-B002-8E65754E7A7B</string>
 							<string>NSToolbarCustomizeToolbarItem</string>
 							<string>NSToolbarFlexibleSpaceItem</string>
 								<string key="NSToolbarItemPaletteLabel">Revision List</string>
 								<string key="NSToolbarItemToolTip">A list of all revisions in the repository.</string>
 								<object class="NSPopUpButton" key="NSToolbarItemView" id="296634478">
-									<nil key="NSNextResponder"/>
+									<reference key="NSNextResponder"/>
 									<int key="NSvFlags">268</int>
 									<string key="NSFrame">{{0, 14}, {100, 22}}</string>
+									<reference key="NSSuperview"/>
+									<reference key="NSWindow"/>
 									<bool key="NSEnabled">YES</bool>
 									<object class="NSPopUpButtonCell" key="NSCell" id="973976143">
 										<int key="NSCellFlags">-2076049856</int>
 								<string key="NSToolbarItemPaletteLabel">View Mode</string>
 								<string key="NSToolbarItemToolTip">Switches between a tree view of all files, and a flat view of only the files modified in this revision.</string>
 								<object class="NSSegmentedControl" key="NSToolbarItemView" id="38463917">
-									<nil key="NSNextResponder"/>
+									<reference key="NSNextResponder"/>
 									<int key="NSvFlags">268</int>
 									<string key="NSFrame">{{0, 14}, {71, 25}}</string>
+									<reference key="NSSuperview"/>
+									<reference key="NSWindow"/>
 									<bool key="NSEnabled">YES</bool>
 									<object class="NSSegmentedCell" key="NSCell" id="498867354">
 										<int key="NSCellFlags">67239424</int>
 								<bool key="NSToolbarIsUserRemovable">YES</bool>
 								<int key="NSToolbarItemVisibilityPriority">0</int>
 							</object>
+							<object class="NSToolbarItem" id="841820169">
+								<object class="NSMutableString" key="NSToolbarItemIdentifier">
+									<characters key="NS.bytes">F45BA6D1-C256-4665-9BFE-945A2817CC7D</characters>
+								</object>
+								<string key="NSToolbarItemLabel">Merge</string>
+								<string key="NSToolbarItemPaletteLabel">Merge</string>
+								<string key="NSToolbarItemToolTip"/>
+								<nil key="NSToolbarItemView"/>
+								<object class="NSCustomResource" key="NSToolbarItemImage">
+									<string key="NSClassName">NSImage</string>
+									<string key="NSResourceName">toolbar_merge</string>
+								</object>
+								<nil key="NSToolbarItemTarget"/>
+								<nil key="NSToolbarItemAction"/>
+								<string key="NSToolbarItemMinSize">{0, 0}</string>
+								<string key="NSToolbarItemMaxSize">{0, 0}</string>
+								<bool key="NSToolbarItemEnabled">YES</bool>
+								<bool key="NSToolbarItemAutovalidates">YES</bool>
+								<int key="NSToolbarItemTag">-1</int>
+								<bool key="NSToolbarIsUserRemovable">YES</bool>
+								<int key="NSToolbarItemVisibilityPriority">0</int>
+							</object>
 							<object class="NSToolbarItem" id="725435931">
 								<object class="NSMutableString" key="NSToolbarItemIdentifier">
 									<characters key="NS.bytes">F801FAD7-3BA6-40E1-B002-8E65754E7A7B</characters>
 						<reference ref="641496510"/>
 						<reference ref="982530493"/>
 						<reference ref="345327671"/>
+						<reference ref="841820169"/>
 						<reference ref="438772105"/>
 						<reference ref="971586408"/>
 						<reference ref="402557902"/>
 																					<integer value="0"/>
 																					<object class="NSCachedImageRep">
 																						<object class="NSData" key="NSTIFFRepresentation">
-																							<bytes key="NS.bytes">TU0AKgAAA5aAACBQOCQWDQeDgGBiooCcIHlYNl4IuBtWBvyERmNRuChKBidVl8QLMqqFwFyBsaBvKOS2
-DgIBgEGAQBgUGPqcDcgCkHF1Nk4LlA+MB3M1vv8QttqtVrpB609mQSFAEDP8AP9+gSYBMTCYSkQLBgMC
-wEAYDB6ph4FgwFhtxuRyBQ9lMCA4fh9+gBXsoCABauIMgBt4NHNBotE6wN/A7GB4pY9pAYCgUHgOYAAB
-5YABEJhUABAIA4AAICAwAPh6OMAGoftqBPHVNZsaZxBwyABRqFQsFaLZbEqBvapgYuGUyvcgjsigIOB0
-P58H6YXC0TAB/MlcABvhQRABusNHgAhDN1dZ4OkAOBqvoANYLHQALBYLF0KhUqkVwN3QQuFsuHaLgvC+
-CQjiMIiCnue5/AAeQ/kMABvAwBoAA+GxnM+Bh8OseJzAAdxwHoABmHuKQAF6aRzn+SxLku/KBGuggsCu
-K5qCix4VitHIAHnEIAHSb5YAAYxmHiz5oFQAAhjGCkdnE1wFAQAoAH6ecimCbYaAAc4GBsABDkMQotHG
-cpylOggnieJpbCOI4mCSMwzjKAB8m48J/gIdoAG0ZS8n+AbXBMEjRGmYJugBQKFMkeYAGGY7THmFI2AA
-R5HEeR5kmUZI5IIIIfh+S4eiCI40ECP48oEdhIu0cjTGsbJ8gAIIYHQAB+HrDpsGOb4AA2CYEAABoIHW
-ABnmLEJ3BkQoAFATxPF6WRaFpA6BhkGAYDeHYeiISFuEUAB9HGQLBHeJAAHUaJOAAHIdBGABymiaAAHs
-CAoAABRzFkAAMgobgAGyawDAAZoGC2ABbluXRxlgWRYg8gjGAcIAvYmX5DYtHxwxCcZ0mmAAYAwYQAMk
-BQAF4ULsmsemHBgBxpAAHgd1+dZrVgPpig4ABzHYeh9GAYRhZIga2AWEIuC6LxvBiGAX38bTXAufZitW
-Nl6n6fZ6queZyNGfZwH+fx2w6fNDH+dBtn2f49F+dpTlsbR5D4gZwoOAYlCSJJ3AKAYCHedZ2HadBJi+
-e4YhMEIXgGfwDnmf5/gDxgAne9B/Hie8GHyAT0m6fp/FKWR2GQTRsHeLqBtUgwFAD1W0caCYqhaCBKEm
-OoRiccB5n0fZyHEe55HOa577MdJ9nEbByHsbpsnWfJrnD3JsuCgb0IF06WgwHALAUNW9ACBJhnOersoF
-PKBVggUNfOgf0NOgfzOsgiAgAA8BAAADAAAAAQAQAAABAQADAAAAAQAQAAABAgADAAAABAAABFABAwAD
-AAAAAQAFAAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAEAAABFgAD
-AAAAAQAQAAABFwAEAAAAAQAAA44BHAADAAAAAQABAAABPQADAAAAAQACAAABUgADAAAAAQABAAABUwAD
-AAAABAAABFiHcwAHAAApmAAABGAAAAAAAAgACAAIAAgAAQABAAEAAQAAKZhhcHBsAgAAAG1udHJSR0Ig
-WFlaIAfaAAEAAQAKABYANGFjc3BBUFBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMt
-YXBwbB3k0f1P2Hp9YmyEg3N4sDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEXJYWVoAAAFQ
-AAAAFGdYWVoAAAFkAAAAFGJYWVoAAAF4AAAAFHd0cHQAAAGMAAAAFGNoYWQAAAGgAAAALHJUUkMAAAHM
-AAAIDGdUUkMAAAnYAAAIDGJUUkMAABHkAAAIDGFhcmcAABnwAAAAIGFhZ2cAABoQAAAAIGFhYmcAABow
-AAAAIHZjZ3QAABpQAAAGEm5kaW4AACBkAAAGPmRlc2MAACakAAAAZGRzY20AACcIAAACQm1tb2QAAClM
-AAAAKGNwcnQAACl0AAAAJFhZWiAAAAAAAABhnAAANoQAAAdNWFlaIAAAAAAAAG2WAACv/AAAGI5YWVog
-AAAAAAAAJ6MAABmAAACzUlhZWiAAAAAAAADzUgABAAAAARbPc2YzMgAAAAAAAQxCAAAF3v//8yYAAAeS
-AAD9kf//+6L///2jAAAD3AAAwGxjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBA
-AEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADV
-ANoA4ADlAOoA8AD1APsBAQEHAQwBEgEYAR4BJQErATEBOAE+AUUBSwFSAVkBYAFmAW0BdQF8AYMBigGS
-AZkBoQGoAbABuAHAAcgB0AHYAeAB6QHxAfoCAgILAhQCHAIlAi4CNwJAAkoCUwJcAmYCcAJ5AoMCjQKX
-AqECqwK1Ar8CygLUAt8C6gL0Av8DCgMVAyADKwM3A0IDTQNZA2UDcAN8A4gDlAOgA6wDuQPFA9ID3gPr
-A/gEBAQRBB4ELAQ5BEYEVARhBG8EfASKBJgEpgS0BMIE0QTfBO4E/AULBRoFKAU3BUcFVgVlBXQFhAWT
-BaMFswXDBdMF4wXzBgMGFAYkBjUGRQZWBmcGeAaJBpoGqwa9Bs4G4AbyBwMHFQcnBzkHTAdeB3AHgweW
-B6gHuwfOB+EH9AgICBsILwhCCFYIagh+CJIIpgi6CM4I4wj3CQwJIQk2CUsJYAl1CYoJoAm1CcsJ4An2
-CgwKIgo5Ck8KZQp8CpIKqQrACtcK7gsFCx0LNAtLC2MLewuTC6sLwwvbC/MMDAwkDD0MVgxuDIcMoQy6
-DNMM7Q0GDSANOg1UDW4NiA2iDbwN1w3xDgwOJw5CDl0OeA6TDq8Oyg7mDwIPHg86D1YPcg+OD6sPyA/k
-EAEQHhA7EFgQdhCTELEQzhDsEQoRKBFGEWQRgxGhEcAR3xH+Eh0SPBJbEnoSmhK5EtkS+RMZEzkTWRN6
-E5oTuxPbE/wUHRQ+FF8UgRSiFMQU5RUHFSkVSxVtFZAVshXVFfcWGhY9FmAWgxanFsoW7hcSFzUXWRd9
-F6IXxhfqGA8YNBhZGH0YoxjIGO0ZExk4GV4ZhBmqGdAZ9hodGkMaahqQGrca3hsGGy0bVBt8G6Mbyxvz
-HBscQxxsHJQcvRzmHQ4dNx1gHYodsx3dHgYeMB5aHoQerh7YHwMfLR9YH4Mfrh/ZIAQgMCBbIIcgsyDe
-IQohNyFjIY8hvCHpIhUiQiJwIp0iyiL4IyUjUyOBI68j3SQMJDokaSSXJMYk9SUkJVQlgyWzJeImEiZC
-JnImoybTJwMnNCdlJ5Ynxyf4KCooWyiNKL4o8CkiKVUphym5KewqHypSKoUquCrrKx4rUiuGK7or7iwi
-LFYsiiy/LPQtKS1eLZMtyC39LjMuaS6eLtQvCy9BL3cvri/kMBswUjCJMMEw+DEwMWcxnzHXMg8ySDKA
-Mrgy8TMqM2MznDPVNA80SDSCNLw09jUwNWo1pTXfNho2VTaQNss3BjdCN343uTf1ODE4bTiqOOY5Izlg
-OZ052joXOlQ6kjrPOw07SzuJO8c8BjxEPIM8wj0BPUA9fz2/Pf4+Pj5+Pr4+/j8/P38/wEAAQEFAgkDE
-QQVBR0GIQcpCDEJOQpFC00MWQ1hDm0PeRCFEZUSoROxFMEV0RbhF/EZARoVGykcOR1NHmUfeSCNIaUiv
-SPVJO0mBScdKDkpVSptK4ksqS3FLuEwATEhMkEzYTSBNaE2xTfpOQk6MTtVPHk9nT7FP+1BFUI9Q2VEk
-UW5RuVIEUk9SmlLlUzFTfFPIVBRUYFStVPlVRlWSVd9WLFZ6VsdXFFdiV7BX/lhMWJpY6Vk4WYZZ1Vok
-WnRaw1sTW2NbslwDXFNco1z0XURdlV3mXjdeiV7aXyxffl/QYCJgdGDHYRlhbGG/YhJiZWK5YwxjYGO0
-ZAhkXGSxZQVlWmWvZgRmWWavZwRnWmewaAZoXGiyaQlpX2m2ag1qZGq8axNra2vDbBtsc2zLbSNtfG3V
-bi5uh27gbzpvk2/tcEdwoXD7cVZxsHILcmZywXMcc3hz03QvdIt053VDdaB1/HZZdrZ3E3dwd854K3iJ
-eOd5RXmjegJ6YHq/ex57fXvcfDx8m3z7fVt9u34bfnx+3H89f55//4BggMKBI4GFgeeCSYKrgw6DcIPT
-hDaEmYT8hWCFw4YnhouG74dUh7iIHYiBiOaJTImxihaKfIrii0iLrowUjHuM4o1Ija+OF45+juWPTY+1
-kB2QhZDukVaRv5IokpGS+pNkk82UN5ShlQuVdZXglkqWtZcgl4uX95himM6ZOpmmmhKafprrm1ebxJwx
-nJ+dDJ15neeeVZ7DnzGfoKAPoH2g7KFbocuiOqKqoxqjiqP6pGqk26VMpbymLqafpxCngqf0qGWo2KlK
-qbyqL6qiqxWriKv7rG+s461WrcuuP66zryivnbARsIew/LFxseeyXbLTs0mzv7Q2tK21JLWbthK2ibcB
-t3m38bhpuOG5WrnSuku6xLs+u7e8MLyqvSS9nr4ZvpO/Dr+JwATAf8D6wXbB8cJtwunDZsPixF/E3MVZ
-xdbGU8bRx07HzMhKyMnJR8nGykXKxMtDy8LMQszBzUHNwc5CzsLPQ8/D0ETQxtFH0cjSStLM007T0NRT
-1NbVWNXb1l7W4tdl1+nYbdjx2XXZ+tp/2wPbiNwO3JPdGd2e3iTeqt8x37fgPuDF4Uzh0+Ja4uLjauPy
-5HrlAuWL5hPmnOcl56/oOOjC6Uzp1upg6urrdev/7IrtFu2h7izuuO9E79DwXPDp8XXyAvKP8xzzqvQ3
-9MX1U/Xh9m/2/veM+Bv4qvk5+cn6Wfro+3j8CPyZ/Sn9uv5L/tz/bmN1cnYAAAAAAAAEAAAAAAUACgAP
-ABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCk
-AKkArgCyALcAvADBAMYAywDQANUA2gDgAOUA6gDwAPUA+wEBAQcBDAESARgBHgElASsBMQE4AT4BRQFL
-AVIBWQFgAWYBbQF1AXwBgwGKAZIBmQGhAagBsAG4AcAByAHQAdgB4AHpAfEB+gICAgsCFAIcAiUCLgI3
-AkACSgJTAlwCZgJwAnkCgwKNApcCoQKrArUCvwLKAtQC3wLqAvQC/wMKAxUDIAMrAzcDQgNNA1kDZQNw
-A3wDiAOUA6ADrAO5A8UD0gPeA+sD+AQEBBEEHgQsBDkERgRUBGEEbwR8BIoEmASmBLQEwgTRBN8E7gT8
-BQsFGgUoBTcFRwVWBWUFdAWEBZMFowWzBcMF0wXjBfMGAwYUBiQGNQZFBlYGZwZ4BokGmgarBr0Gzgbg
-BvIHAwcVBycHOQdMB14HcAeDB5YHqAe7B84H4Qf0CAgIGwgvCEIIVghqCH4IkgimCLoIzgjjCPcJDAkh
-CTYJSwlgCXUJigmgCbUJywngCfYKDAoiCjkKTwplCnwKkgqpCsAK1wruCwULHQs0C0sLYwt7C5MLqwvD
-C9sL8wwMDCQMPQxWDG4MhwyhDLoM0wztDQYNIA06DVQNbg2IDaINvA3XDfEODA4nDkIOXQ54DpMOrw7K
-DuYPAg8eDzoPVg9yD44Pqw/ID+QQARAeEDsQWBB2EJMQsRDOEOwRChEoEUYRZBGDEaERwBHfEf4SHRI8
-ElsSehKaErkS2RL5ExkTORNZE3oTmhO7E9sT/BQdFD4UXxSBFKIUxBTlFQcVKRVLFW0VkBWyFdUV9xYa
-Fj0WYBaDFqcWyhbuFxIXNRdZF30XohfGF+oYDxg0GFkYfRijGMgY7RkTGTgZXhmEGaoZ0Bn2Gh0aQxpq
-GpAatxreGwYbLRtUG3wboxvLG/McGxxDHGwclBy9HOYdDh03HWAdih2zHd0eBh4wHloehB6uHtgfAx8t
-H1gfgx+uH9kgBCAwIFsghyCzIN4hCiE3IWMhjyG8IekiFSJCInAinSLKIvgjJSNTI4EjryPdJAwkOiRp
-JJckxiT1JSQlVCWDJbMl4iYSJkImciajJtMnAyc0J2UnlifHJ/goKihbKI0ovijwKSIpVSmHKbkp7Cof
-KlIqhSq4KusrHitSK4YruivuLCIsViyKLL8s9C0pLV4tky3ILf0uMy5pLp4u1C8LL0Evdy+uL+QwGzBS
-MIkwwTD4MTAxZzGfMdcyDzJIMoAyuDLxMyozYzOcM9U0DzRINII0vDT2NTA1ajWlNd82GjZVNpA2yzcG
-N0I3fje5N/U4MThtOKo45jkjOWA5nTnaOhc6VDqSOs87DTtLO4k7xzwGPEQ8gzzCPQE9QD1/Pb89/j4+
-Pn4+vj7+Pz8/fz/AQABAQUCCQMRBBUFHQYhBykIMQk5CkULTQxZDWEObQ95EIURlRKhE7EUwRXRFuEX8
-RkBGhUbKRw5HU0eZR95II0hpSK9I9Uk7SYFJx0oOSlVKm0riSypLcUu4TABMSEyQTNhNIE1oTbFN+k5C
-ToxO1U8eT2dPsU/7UEVQj1DZUSRRblG5UgRST1KaUuVTMVN8U8hUFFRgVK1U+VVGVZJV31YsVnpWx1cU
-V2JXsFf+WExYmljpWThZhlnVWiRadFrDWxNbY1uyXANcU1yjXPRdRF2VXeZeN16JXtpfLF9+X9BgImB0
-YMdhGWFsYb9iEmJlYrljDGNgY7RkCGRcZLFlBWVaZa9mBGZZZq9nBGdaZ7BoBmhcaLJpCWlfabZqDWpk
-arxrE2tra8NsG2xzbMttI218bdVuLm6HbuBvOm+Tb+1wR3ChcPtxVnGwcgtyZnLBcxxzeHPTdC90i3Tn
-dUN1oHX8dll2tncTd3B3zngreIl453lFeaN6Anpger97Hnt9e9x8PHybfPt9W327fht+fH7cfz1/nn//
-gGCAwoEjgYWB54JJgquDDoNwg9OENoSZhPyFYIXDhieGi4bvh1SHuIgdiIGI5olMibGKFop8iuKLSIuu
-jBSMe4zijUiNr44Xjn6O5Y9Nj7WQHZCFkO6RVpG/kiiSkZL6k2STzZQ3lKGVC5V1leCWSpa1lyCXi5f3
-mGKYzpk6maaaEpp+muubV5vEnDGcn50MnXmd555VnsOfMZ+goA+gfaDsoVuhy6I6oqqjGqOKo/qkaqTb
-pUylvKYupp+nEKeCp/SoZajYqUqpvKovqqKrFauIq/usb6zjrVaty64/rrOvKK+dsBGwh7D8sXGx57Jd
-stOzSbO/tDa0rbUktZu2EraJtwG3ebfxuGm44blaudK6S7rEuz67t7wwvKq9JL2evhm+k78Ov4nABMB/
-wPrBdsHxwm3C6cNmw+LEX8TcxVnF1sZTxtHHTsfMyErIyclHycbKRcrEy0PLwsxCzMHNQc3BzkLOws9D
-z8PQRNDG0UfRyNJK0szTTtPQ1FPU1tVY1dvWXtbi12XX6dht2PHZddn62n/bA9uI3A7ck90Z3Z7eJN6q
-3zHft+A+4MXhTOHT4lri4uNq4/LkeuUC5YvmE+ac5yXnr+g46MLpTOnW6mDq6ut16//siu0W7aHuLO64
-70Tv0PBc8OnxdfIC8o/zHPOq9Df0xfVT9eH2b/b+94z4G/iq+Tn5yfpZ+uj7ePwI/Jn9Kf26/kv+3P9u
-Y3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQBy
-AHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDaAOAA5QDqAPAA9QD7AQEBBwEM
-ARIBGAEeASUBKwExATgBPgFFAUsBUgFZAWABZgFtAXUBfAGDAYoBkgGZAaEBqAGwAbgBwAHIAdAB2AHg
-AekB8QH6AgICCwIUAhwCJQIuAjcCQAJKAlMCXAJmAnACeQKDAo0ClwKhAqsCtQK/AsoC1ALfAuoC9AL/
-AwoDFQMgAysDNwNCA00DWQNlA3ADfAOIA5QDoAOsA7kDxQPSA94D6wP4BAQEEQQeBCwEOQRGBFQEYQRv
-BHwEigSYBKYEtATCBNEE3wTuBPwFCwUaBSgFNwVHBVYFZQV0BYQFkwWjBbMFwwXTBeMF8wYDBhQGJAY1
-BkUGVgZnBngGiQaaBqsGvQbOBuAG8gcDBxUHJwc5B0wHXgdwB4MHlgeoB7sHzgfhB/QICAgbCC8IQghW
-CGoIfgiSCKYIugjOCOMI9wkMCSEJNglLCWAJdQmKCaAJtQnLCeAJ9goMCiIKOQpPCmUKfAqSCqkKwArX
-Cu4LBQsdCzQLSwtjC3sLkwurC8ML2wvzDAwMJAw9DFYMbgyHDKEMugzTDO0NBg0gDToNVA1uDYgNog28
-DdcN8Q4MDicOQg5dDngOkw6vDsoO5g8CDx4POg9WD3IPjg+rD8gP5BABEB4QOxBYEHYQkxCxEM4Q7BEK
-ESgRRhFkEYMRoRHAEd8R/hIdEjwSWxJ6EpoSuRLZEvkTGRM5E1kTehOaE7sT2xP8FB0UPhRfFIEUohTE
-FOUVBxUpFUsVbRWQFbIV1RX3FhoWPRZgFoMWpxbKFu4XEhc1F1kXfReiF8YX6hgPGDQYWRh9GKMYyBjt
-GRMZOBleGYQZqhnQGfYaHRpDGmoakBq3Gt4bBhstG1QbfBujG8sb8xwbHEMcbByUHL0c5h0OHTcdYB2K
-HbMd3R4GHjAeWh6EHq4e2B8DHy0fWB+DH64f2SAEIDAgWyCHILMg3iEKITchYyGPIbwh6SIVIkIicCKd
-Isoi+CMlI1MjgSOvI90kDCQ6JGkklyTGJPUlJCVUJYMlsyXiJhImQiZyJqMm0ycDJzQnZSeWJ8cn+Cgq
-KFsojSi+KPApIilVKYcpuSnsKh8qUiqFKrgq6yseK1Irhiu6K+4sIixWLIosvyz0LSktXi2TLcgt/S4z
-Lmkuni7ULwsvQS93L64v5DAbMFIwiTDBMPgxMDFnMZ8x1zIPMkgygDK4MvEzKjNjM5wz1TQPNEg0gjS8
-NPY1MDVqNaU13zYaNlU2kDbLNwY3Qjd+N7k39TgxOG04qjjmOSM5YDmdOdo6FzpUOpI6zzsNO0s7iTvH
-PAY8RDyDPMI9AT1APX89vz3+Pj4+fj6+Pv4/Pz9/P8BAAEBBQIJAxEEFQUdBiEHKQgxCTkKRQtNDFkNY
-Q5tD3kQhRGVEqETsRTBFdEW4RfxGQEaFRspHDkdTR5lH3kgjSGlIr0j1STtJgUnHSg5KVUqbSuJLKktx
-S7hMAExITJBM2E0gTWhNsU36TkJOjE7VTx5PZ0+xT/tQRVCPUNlRJFFuUblSBFJPUppS5VMxU3xTyFQU
-VGBUrVT5VUZVklXfVixWelbHVxRXYlewV/5YTFiaWOlZOFmGWdVaJFp0WsNbE1tjW7JcA1xTXKNc9F1E
-XZVd5l43Xole2l8sX35f0GAiYHRgx2EZYWxhv2ISYmViuWMMY2BjtGQIZFxksWUFZVplr2YEZllmr2cE
-Z1pnsGgGaFxosmkJaV9ptmoNamRqvGsTa2trw2wbbHNsy20jbXxt1W4ubodu4G86b5Nv7XBHcKFw+3FW
-cbByC3JmcsFzHHN4c9N0L3SLdOd1Q3Wgdfx2WXa2dxN3cHfOeCt4iXjneUV5o3oCemB6v3see3173Hw8
-fJt8+31bfbt+G358ftx/PX+ef/+AYIDCgSOBhYHngkmCq4MOg3CD04Q2hJmE/IVghcOGJ4aLhu+HVIe4
-iB2IgYjmiUyJsYoWinyK4otIi66MFIx7jOKNSI2vjheOfo7lj02PtZAdkIWQ7pFWkb+SKJKRkvqTZJPN
-lDeUoZULlXWV4JZKlrWXIJeLl/eYYpjOmTqZppoSmn6a65tXm8ScMZyfnQydeZ3nnlWew58xn6CgD6B9
-oOyhW6HLojqiqqMao4qj+qRqpNulTKW8pi6mn6cQp4Kn9KhlqNipSqm8qi+qoqsVq4ir+6xvrOOtVq3L
-rj+us68or52wEbCHsPyxcbHnsl2y07NJs7+0NrSttSS1m7YStom3Abd5t/G4abjhuVq50rpLusS7Pru3
-vDC8qr0kvZ6+Gb6Tvw6/icAEwH/A+sF2wfHCbcLpw2bD4sRfxNzFWcXWxlPG0cdOx8zISsjJyUfJxspF
-ysTLQ8vCzELMwc1BzcHOQs7Cz0PPw9BE0MbRR9HI0krSzNNO09DUU9TW1VjV29Ze1uLXZdfp2G3Y8dl1
-2fraf9sD24jcDtyT3Rndnt4k3qrfMd+34D7gxeFM4dPiWuLi42rj8uR65QLli+YT5pznJeev6DjowulM
-6dbqYOrq63Xr/+yK7Rbtoe4s7rjvRO/Q8Fzw6fF18gLyj/Mc86r0N/TF9VP14fZv9v73jPgb+Kr5OfnJ
-+ln66Pt4/Aj8mf0p/br+S/7c/25wYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAALA3BhcmEAAAAA
-AAMAAAACZmYAAPKnAAANWQAAE9AAAAsDcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACwN2Y2d0
-AAAAAAAAAAAAAwEAAAIAAAAFABUAMgBfAJsA6AE1AYkB7AJcAtoDYwP5BKQFXgYnBvgH2AjICcgK0Avc
-DPYODQ83EF0RhRKsE9IU9RYSFyUYORlAGkUbQhwwHRceAh7qH9QgvSGqIpgjiiR+JXImaSdfKFcpVypX
-K1csWy1lLm0veTCJMZoyrDPDNN81+zcXODw5Wzp8O5A8nT2rPrg/wkDPQd9C7kP8RQ1GHkcxSEFJUUpn
-S3tMj02lTrhPy1DjUfpTEVQnVT9WWFd1WJhZwFrvXB1dSl52X6Ng0GIAYzJkYmWYZtNoC2lJaoxr1G0a
-bmlvu3EScm1zynUqdo5303juegB7EHwkfTR+RX9QgF6BZ4Jqg3KEcIVqhmWHWYhKiTWKH4sEi+eMyY2l
-joCPXZBBkSqSEpL6k+OUy5W0lpuXg5htmVeaQ5svnBudCZ35nuuf36DUocyixaO9pLqlpaaGp2yoU6k4
-qiCrCKvvrNitw66ur5uwhrFysl+zTbQ7tSq2GbcFt/K437nLuqe7f7xWvS++Cr7lv8LAnsF+wl7DQMQl
-xQ3F9cbhx8/IvsmwyqXLnMyTzYjOd89l0FHRPdIq0xrUB9T11ebW1tfJ2LzZsdqn25/cl92T3o3fi+CI
-4YbijOOR5JDlieZ953Poaelh6mHrZ+x47Zzu0vAi8ZbzKvTk9tb4+/tv/ib//wAAAAcAIQBQAJYA9gE6
-AYgB5AJIArgDOQPMBGYFCwXFBokHWwg5CSAKFgsbDBwNKw5AD14QeRGYErYT1BTvFgAXDhgZGSEaHhsW
-HAIc5x3PHrkfoSCJIXMiYSNSJEUlMyYoJx0oDykNKggrASwBLQUuCS8NMBUxGzImMzY0RjVaNmo3gjiX
-Oao6sjuwPK49rT6pP6dAqUGqQqpDrESuRbFGs0e2SLpJwErFS8lMzk3RTthP31DkUepS8VP5VQVWFlcu
-WEtZaFqEW6BcvV3bXvpgG2E7YmBji2SzZd9nEGhFaXhqs2vybTVuem/BcQtyWHOMdKF1r3a7d8p413nj
-eu57+X0Cfgd/DYARgRKCEoMQhA2FBYX9hvSH6Ijdic6Kv4uujJaNgo5oj1OQPpEqkheTBJPylOWV2JbN
-l8OYu5mzmrCbrpyunbGetZ+8oMGhyKK7o52kh6Vzpl+nTag8qSyqHqsSrAis/q3zrumv4LDYscyyxbO7
-tKy1nraQt4O4eLlrul27ULxDvTa+Kb8cwBDBA8H2wuvD4cTUxczGw8e6yLPJrcqqy6bMqc2/ztrP8tEH
-0hzTMdRC1VPWZdd22IjZm9qw28bc4d363xrgO+Fg4ofjr+TZ5grnOuhs6abq5Owj7WjusvAC8VbyqvQE
-9WT2xfgn+Y769fxb/b7/F///AAAABgAOACEAPgBmAJgA1QEXAVYBnQHuAksCsQMhA5gEGgSlBTsF2wZ/
-ByoH3AiRCU0KDwrKC4sMTg0QDc0OhA86D+8QnRFIEe0SiBMkE70UVxTxFYsWJxbEF2MYBBijGUUZ6RqO
-GzUb3RyGHTId4x6TH0Qf+SCsIWMiHyLbI5ckVCUYJdgmlSdLJ/QooClMKfcqpCtTLAMstS1nLhwu0S+H
-MD8w+jG1MnEzMDPsNKo1aTYsNus3qzhuOTE59Tq3O3s8Qz0KPdI+mj9iQCtA9kHBQo1DXEQuRP1Fz0ak
-R3tIT0kpSgNK30u8TJpNeE5ZTy9P/lDMUZxSblNBVBlU8FXLVqhXhlhqWU1aNVsgXA1c/F3sXt5f02DI
-YcBit2OuZKRlk2aCZ29oYGlTakZrO2wvbSZuIG8acBdxFXITcxJ0E3UWdhp3HngleSx6MXszfBl88X3I
-fp9/coBHgRmB6YK7g46EYYU0hgeG24eyiIuJYoo/ixyL+ozZjbuOnI9xkESRF5HuksmTp5SIlWuWVpdE
-mDWZL5osmy2cM50+nkyfXqB0oY+iq6O9pMOlxKbGp8iozqnXquCr7Kz8rguvHrAzsUiyX7N2tI21p7a+
-t9i477oIu0G8o736v0rAn8H+w2jE4MZtyBLJ28u/zdLQKNLC1anZDt0O4iLowPMc//8AAG5kaW4AAAAA
-AAAGNgAAmQIAAFbIAABVBAAAkbAAACdzAAAXCgAAUA0AAFQ5AAIKPQAB+uEAASZmAAMBAAACAAAAEwAs
-AEUAXwB4AJEAqwDFAN8A+QEUATABTAFqAYcBpgHGAecCCgIuAlQCfAKnAtMDAwM1A2oDpQPkBCQEZwSs
-BPMFOwWFBc8GHAZqBroHDAddB7AIBQhbCLAJCAlhCboKFApxCs0LKguHC+YMRwymDQkNbA3VDkQOtQ8m
-D5wQFBCLEQQRfxH9EnoS+hN7E/8UhRUKFZEWGxalFzIXwhhTGOIZdhoLGqIbOhvTHGwdBB2cHjEexx9g
-H/oglyE0IdQidCMUI7YkWiT9JZ0mQibnJ4soLijPKXUqGSq7K14sACyiLUQt5i6LLywvzjB6MUQyHTL5
-M9c0szWYNns3ZzhROUM6PTszPDY9Pz5KP2BAe0GiQsxEAkU5Rn5HyEkSSlFLkEzUThlPYlCtUf5TT1Sh
-VfdXSlijWf1bVVytXgZfX2C3Yg9jbGTDZjdnwWlCashsU23ab2lw+HKFdBV1pXc8eNF6anwDfaB/O4Dh
-gomEMoXgh7GJj4tzjVKPM5EUkvuU2pa9mJ6aeJxXnjCgCKHfo7SlhqdWqSmrB6zyruOw2LLStMS2wri/
-urm8uL61wLLCr8StxqrIqcqhzKPOnNCe0p3UitaH2JLarNzS3u/hGeMz5ULnR+kw6v/su+5b7+HxS/Km
-8/D1KfZK92L4bvlo+lf7NvwQ/N79pP6X//8AAAAMACMAPABUAG4AhwChALsA1gDxAQwBKQFGAWQBggGi
-AcMB5QIJAi4CVQJ/AqsC2QMJAz0DdAOwA/AEMQR0BLoFAgVLBZUF4AYvBn4GzwcjB3UHyggiCHkI0Qkr
-CYcJ4wpCCqELAAthC8IMJwyKDPANWA3DDjgOsA8oD6QQIxChESERpBIoEq4TNhPAFEwU2hVoFfkWjBch
-F7kYUxjrGYkaKBrJG2scDhyxHVId8R6QHzEf1CB5IR8hxyJwIxojxSRyJR4lyCZ2JyQn0ih9KSop2iqH
-KzMr4CyMLTkt5S6WL0Ev8DCtMYEyXjM+NB81ATXpNtE3vjirOaA6mDuQPJE9kz6bP6VAtUHOQuREBUUk
-RkxHd0imSeNLHkxiTaNO5lArUXFSvVQBVUpWkVfaWSJablu0XPxeRF+MYNNiGWNlZKxmEmeZaRRqkGwR
-bYxvDnCOcgxzjHUJdo94FHmbeyN8tH5Af9OBcIMQhLKGVYf3iaCLT4z8jq2QYJIak9GVjJdOmQyazJyT
-nlagHKHko6yldKc6qQWqwqxjrgKvp7FSswK0r7ZpuCW54bufvWS/JMDowqrEbsYrx+/JqMtjzR3O0tCL
-0kDT99Wm11fZDNq53GDeBd+t4U/i7eSK5iDnsulK6t/scO3774jxFvKl9DD1uPdH+Nb6ZPv9/Y7//wAA
-AB0ARABqAJEAuADfAQgBMgFeAYsBvAHuAiQCXgKeAuIDLAN/A9wEPgSmBRIFgQXzBmoG4wdfB94IYAjh
-CWcJ7gp5CwMLjwwgDK8NQw3hDpIPRQ/+ELgRdBIzEvQTtxR+FUMWDRbYF6gYehlMGiUa/xvbHLodnx6C
-H2ggUSE+Ii0jHSQRJQUl+CbxJ+ko3yndKtcr1CzRLc8u0i/TMOQyBDMnNEg1azaLN684zjnyOw48Lz1N
-Pmk/hUCiQcJC3UP+RRpGPUdgSIVJuErtTClNYU6aT9VREFJRU4xUyVYJV0RYhVnGWwhcSV2MXtBgFWFa
-YqBj7mVCZtFocmoPa7xtZm8fcNlylHRSdhR32Xmce1x9In7egKGCZIQkheaHx4mwi5uNe49YkTCTBpTO
-lpWYVpoHm7qdZ58OoLKiUqPvpYinHqi0qlmsFa3er6ixdLM9tQC2ybiPulC8Er3Yv5TBV8MYxNrGnshl
-yijL9M27z4vRXtMi1JTWCdeJ2RPantwk3aPfG+CL4fHjTOSd5ePnGOhA6WLqe+uD7IXtcu5d7zfwD/DX
-8Z/yV/MO87v0WPT29Yv2F/aj9yj3nPgP+IP48flS+bT6Fvp4+sr7E/tc+6X77vw3/Hb8pvzV/QX9NP1k
-/ZP9w/3z/iL+T/56/qX+0P77/yf/Uv99/6j/1P//AABkZXNjAAAAAAAAAApDb2xvciBMQ0QAAAAAAAAA
+																							<bytes key="NS.bytes">TU0AKgAAA5CAACBQOCQWDQeDgGBioniYHnlYtp4ouBtWBvyERmNRuChKBidVl4PrMqqJwlyBsaBvKOS2
+EgIAAwCAMCgx9zcbkAUg0upsmhcoHtgu5muB/iJttVqtdIPWnMyDgaBv0BgEBBMTiYSkQLBkMiwEAYDB
+4Av8AB4FgwFhtxORyBQ+FQCg4fh9+gBXsoCABauIMgBt4FHNBotE6wN/A7FB4pY1pAYCgUHgMBAMAAPK
+AAIhMKgAIBAHAABAQGAB8PRxgA1D9tQJ46lrNjSuIOGQAKNQKBgrRbrclQN7QMDF0ymZ7kEdkUBBwOh/
+PA/Si4WiYAP5krgAN8KCIAN1ho8AEIZurqvB0gBwNV9ABrBY6XhXrB0KlVKoVwN3QQuFsuO0uC8L4JCO
+IwiIKe57n8AB5D+QwAG8DAGgAD4bGczwGHw6p4nMAB3HAegAGYe4pAAXhonMf5LkwTD7oEa6CCwK4rmo
+KLGhWK0bgAecPgAdJvlgABjGYeLPGgVAACGMYKRycTWgUBACgAfp5yGYJthoABzgYGwAEMQpCC0chzHM
+U6CCeJ4mlsI4jiYJIzDOMoAHybjwH+Ah2gAbRlLuf4BtaEwSNCaZgm6AE/oUyB5gAYZjtKeYUjYABHkc
+R5HmSZRkjkgggh8HxLh6IQkDQQI/jygR2Ei7JyNKaxsnyAAghgdAAH4esNmwY5vgADYJgQAAGggdYAGe
+YsPncGRCgAUBOk6XpZFqWsCoGGQXheN4dh8IpIW0RQAH0cZAsAd4kAAdRok4AAch0EYAHKaJoAAewICg
+AAFHMWQAAyChuAAbJrKkZoGC2ABbFsXJxliWZZA8ggG4aIAv4gX5DYnHhww+cZ0mmAAYAwYQAMgBUSFC
+7BrHphYYAcaQAB4HdenWa1XD6YoOXYdZ5n0YJhmHkKBrUBYQi4LovG8GIYBffhtNaC59mK1Q2Xmfp9nq
+AB/nmcjRH2b5/n8dsNzlqh0G2fZ/j0X52lOWxtnmPiBnCg4BiSJAkHcAwBgId51nYdx0EmMB7BiEwQBe
+AZ/AOeZ/n+AXDgCd7yH8eDgnkfKYHAbp+n8UhZHYZBNmyeAuoG1KDAUAPS7HxAJioFgHkoSg6hGJxv5u
+fZynEe55HMa577CdJ9nEbJyHsbpsHWfJrnEfZ+Gy4CBvOgXRJaDAcAqBI1AKqoEmGdB7OwgU7oFVyBQx
+8SB/G0yB/C6qCICAAA8BAAADAAAAAQAQAAABAQADAAAAAQAQAAABAgADAAAABAAABEoBAwADAAAAAQAF
+AAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAEAAABFgADAAAAAQAQ
+AAABFwAEAAAAAQAAA4gBHAADAAAAAQABAAABPQADAAAAAQACAAABUgADAAAAAQABAAABUwADAAAABAAA
+BFKHcwAHAAAZ7AAABFoAAAAAAAgACAAIAAgAAQABAAEAAQAAGexhcHBsAhAAAG1udHJSR0IgWFlaIAfa
+AAMAHQAPAAcAL2Fjc3BBUFBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWRlc2MAAAFQAAAAYmRz
+Y20AAAG0AAACQmNwcnQAAAP4AAAA0Hd0cHQAAATIAAAAFHJYWVoAAATcAAAAFGdYWVoAAATwAAAAFGJY
+WVoAAAUEAAAAFHJUUkMAAAUYAAAIDGFhcmcAAA0kAAAAIHZjZ3QAAA1EAAAGEm5kaW4AABNYAAAGPmNo
+YWQAABmYAAAALG1tb2QAABnEAAAAKGJUUkMAAAUYAAAIDGdUUkMAAAUYAAAIDGFhYmcAAA0kAAAAIGFh
+Z2cAAA0kAAAAIGRlc2MAAAAAAAAACERpc3BsYXkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVjAAAAAAAA
+ABIAAAAMbmxOTAAAABYAAADoZGFESwAAABwAAAD+cGxQTAAAABIAAAEaZW5VUwAAABIAAAEsbmJOTwAA
+ABIAAAE+ZnJGUgAAABYAAAFQcHRCUgAAABgAAAFmcHRQVAAAABYAAAF+emhDTgAAAAwAAAGUZXNFUwAA
+ABIAAAGgamFKUAAAAA4AAAGycnVSVQAAACQAAAHAc3ZTRQAAABAAAAHkemhUVwAAAA4AAAH0ZGVERQAA
+ABAAAAICZmlGSQAAABAAAAISaXRJVAAAABQAAAIia29LUgAAAAwAAAI2AEsAbABlAHUAcgBlAG4ALQBM
+AEMARABMAEMARAAtAGYAYQByAHYAZQBzAGsA5gByAG0ASwBvAGwAbwByACAATABDAEQAQwBvAGwAbwBy
+ACAATABDAEQARgBhAHIAZwBlAC0ATABDAEQATABDAEQAIABjAG8AdQBsAGUAdQByAEwAQwBEACAAQwBv
+AGwAbwByAGkAZABvAEwAQwBEACAAYQAgAEMAbwByAGUAc19pgnIAIABMAEMARABMAEMARAAgAGMAbwBs
+AG8AcjCrMOkw/AAgAEwAQwBEBCYEMgQ1BEIEPQQ+BDkAIAQWBBoALQQ0BDgEQQQ/BDsENQQ5AEYA5ABy
+AGcALQBMAEMARF9pgnJtsmZ2mG95OlZoAEYAYQByAGIALQBMAEMARABWAOQAcgBpAC0ATABDAEQATABD
+AEQAIABjAG8AbABvAHIAac7st+wAIABMAEMARAAAdGV4dAAAAABDb3B5cmlnaHQgQXBwbGUsIEluYy4s
+IDIwMTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAbWx1YwAAAAAAAAASAAAADG5sTkwAAAAWAAAA6GRhREsAAAAcAAAA/nBsUEwAAAAS
-AAABGmVuVVMAAAASAAABLG5iTk8AAAASAAABPmZyRlIAAAAWAAABUHB0QlIAAAAYAAABZnB0UFQAAAAW
-AAABfnpoQ04AAAAMAAABlGVzRVMAAAASAAABoGphSlAAAAAOAAABsnJ1UlUAAAAkAAABwHN2U0UAAAAQ
-AAAB5HpoVFcAAAAOAAAB9GRlREUAAAAQAAACAmZpRkkAAAAQAAACEml0SVQAAAAUAAACImtvS1IAAAAM
-AAACNgBLAGwAZQB1AHIAZQBuAC0ATABDAEQATABDAEQALQBmAGEAcgB2AGUAcwBrAOYAcgBtAEsAbwBs
-AG8AcgAgAEwAQwBEAEMAbwBsAG8AcgAgAEwAQwBEAEYAYQByAGcAZQAtAEwAQwBEAEwAQwBEACAAYwBv
-AHUAbABlAHUAcgBMAEMARAAgAEMAbwBsAG8AcgBpAGQAbwBMAEMARAAgAGEAIABDAG8AcgBlAHNfaYJy
-ACAATABDAEQATABDAEQAIABjAG8AbABvAHIwqzDpMPwAIABMAEMARAQmBDIENQRCBD0EPgQ5ACAEFgQa
-AC0ENAQ4BEEEPwQ7BDUEOQBGAOQAcgBnAC0ATABDAERfaYJybbJmdphveTpWaABGAGEAcgBiAC0ATABD
-AEQAVgDkAHIAaQAtAEwAQwBEAEwAQwBEACAAYwBvAGwAbwByAGnO7LfsACAATABDAEQAAG1tb2QAAAAA
-AAAGEAAAnIEAAAAAwb3/gAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5j
-LiwgMjAxMAA</bytes>
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZ
+WiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAGGcAAA2hAAAB01YWVogAAAAAAAAbZYAAK/8AAAYjlhZ
+WiAAAAAAAAAnowAAGYAAALNSY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA2ADsAQABF
+AEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKMAqACtALIAtwC8AMEAxgDLANAA1QDb
+AOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGa
+AaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKi
+AqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5
+BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWm
+BbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQes
+B78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woR
+CicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZ
+DPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJ
+ECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOk
+E8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReu
+F9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwq
+HFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEc
+IUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaH
+Jrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxu
+LKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLU
+Mw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8
+Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50Ep
+QWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kd
+SWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGb
+UeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqm
+WvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RA
+ZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5r
+bsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkq
+eYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSA
+hOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBu
+kNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3
+nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaoc
+qo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfg
+uFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZG
+xsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO
+1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T8
+5YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ
+9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJhAAAAAAADAAAAAmZmAADypwAA
+DVkAABPQAAAKwHZjZ3QAAAAAAAAAAAADAQAAAgAAAAUAFQAyAF8AmwDoATUBiQHsAlwC2gNjA/kEpAVe
+BicG+AfYCMgJyArQC9wM9g4NDzcQXRGFEqwT0hT1FhIXJRg5GUAaRRtCHDAdFx4CHuof1CC9IaoimCOK
+JH4lciZpJ18oVylXKlcrVyxbLWUubS95MIkxmjKsM8M03zX7Nxc4PDlbOnw7kDydPas+uD/CQM9B30Lu
+Q/xFDUYeRzFIQUlRSmdLe0yPTaVOuE/LUONR+lMRVCdVP1ZYV3VYmFnAWu9cHV1KXnZfo2DQYgBjMmRi
+ZZhm02gLaUlqjGvUbRpuaW+7cRJybXPKdSp2jnfTeO56AHsQfCR9NH5Ff1CAXoFngmqDcoRwhWqGZYdZ
+iEqJNYofiwSL54zJjaWOgI9dkEGRKpISkvqT45TLlbSWm5eDmG2ZV5pDmy+cG50Jnfme65/foNShzKLF
+o72kuqWlpoanbKhTqTiqIKsIq++s2K3Drq6vm7CGsXKyX7NNtDu1KrYZtwW38rjfucu6p7t/vFa9L74K
+vuW/wsCewX7CXsNAxCXFDcX1xuHHz8i+ybDKpcuczJPNiM53z2XQUdE90irTGtQH1PXV5tbW18nYvNmx
+2qfbn9yX3ZPejd+L4IjhhuKM45HkkOWJ5n3nc+hp6WHqYetn7HjtnO7S8CLxlvMq9OT21vj7+2/+Jv//
+AAAABwAhAFAAlgD2AToBiAHkAkgCuAM5A8wEZgULBcUGiQdbCDkJIAoWCxsMHA0rDkAPXhB5EZgSthPU
+FO8WABcOGBkZIRoeGxYcAhznHc8euR+hIIkhcyJhI1IkRSUzJignHSgPKQ0qCCsBLAEtBS4JLw0wFTEb
+MiYzNjRGNVo2ajeCOJc5qjqyO7A8rj2tPqk/p0CpQapCqkOsRK5FsUazR7ZIuknASsVLyUzOTdFO2E/f
+UORR6lLxU/lVBVYWVy5YS1loWoRboFy9Xdte+mAbYTtiYGOLZLNl32cQaEVpeGqza/JtNW56b8FxC3JY
+c4x0oXWvdrt3ynjXeeN67nv5fQJ+B38NgBGBEoISgxCEDYUFhf2G9IfoiN2Jzoq/i66Mlo2CjmiPU5A+
+kSqSF5MEk/KU5ZXYls2Xw5i7mbOasJuunK6dsZ61n7ygwaHIorujnaSHpXOmX6dNqDypLKoeqxKsCKz+
+rfOu6a/gsNixzLLFs7u0rLWetpC3g7h4uWu6XbtQvEO9Nr4pvxzAEMEDwfbC68PhxNTFzMbDx7rIs8mt
+yqrLpsypzb/O2s/y0QfSHNMx1ELVU9Zl13bYiNmb2rDbxtzh3frfGuA74WDih+Ov5NnmCuc66Gzppurk
+7CPtaO6y8ALxVvKq9AT1ZPbF+Cf5jvr1/Fv9vv8X//8AAAAGAA4AIQA+AGYAmADVARcBVgGdAe4CSwKx
+AyEDmAQaBKUFOwXbBn8HKgfcCJEJTQoPCsoLiwxODRANzQ6EDzoP7xCdEUgR7RKIEyQTvRRXFPEVixYn
+FsQXYxgEGKMZRRnpGo4bNRvdHIYdMh3jHpMfRB/5IKwhYyIfItsjlyRUJRgl2CaVJ0sn9CigKUwp9yqk
+K1MsAyy1LWcuHC7RL4cwPzD6MbUycTMwM+w0qjVpNiw26zerOG45MTn1Orc7ezxDPQo90j6aP2JAK0D2
+QcFCjUNcRC5E/UXPRqRHe0hPSSlKA0rfS7xMmk14TllPL0/+UMxRnFJuU0FUGVTwVctWqFeGWGpZTVo1
+WyBcDVz8Xexe3l/TYMhhwGK3Y65kpGWTZoJnb2hgaVNqRms7bC9tJm4gbxpwF3EVchNzEnQTdRZ2Gnce
+eCV5LHoxezN8GXzxfch+n39ygEeBGYHpgruDjoRhhTSGB4bbh7KIi4liij+LHIv6jNmNu46cj3GQRJEX
+ke6SyZOnlIiVa5ZWl0SYNZkvmiybLZwznT6eTJ9eoHShj6Kro72kw6XEpsanyKjOqdeq4KvsrPyuC68e
+sDOxSLJfs3a0jbWntr632Ljvugi7Qbyjvfq/SsCfwf7DaMTgxm3IEsnby7/N0tAo0sLVqdkO3Q7iIujA
+8xz//wAAbmRpbgAAAAAAAAY2AACZAgAAVsgAAFUEAACRsAAAJ3MAABcKAABQDQAAVDkAAgo9AAH64QAB
+JmYAAwEAAAIAAAATACwARQBfAHgAkQCrAMUA3wD5ARQBMAFMAWoBhwGmAcYB5wIKAi4CVAJ8AqcC0wMD
+AzUDagOlA+QEJARnBKwE8wU7BYUFzwYcBmoGugcMB10HsAgFCFsIsAkICWEJugoUCnEKzQsqC4cL5gxH
+DKYNCQ1sDdUORA61DyYPnBAUEIsRBBF/Ef0SehL6E3sT/xSFFQoVkRYbFqUXMhfCGFMY4hl2Ggsaohs6
+G9McbB0EHZweMR7HH2Af+iCXITQh1CJ0IxQjtiRaJP0lnSZCJucniyguKM8pdSoZKrsrXiwALKItRC3m
+LosvLC/OMHoxRDIdMvkz1zSzNZg2ezdnOFE5Qzo9OzM8Nj0/Pko/YEB7QaJCzEQCRTlGfkfISRJKUUuQ
+TNROGU9iUK1R/lNPVKFV91dKWKNZ/VtVXK1eBl9fYLdiD2NsZMNmN2fBaUJqyGxTbdpvaXD4coV0FXWl
+dzx40XpqfAN9oH87gOGCiYQyheCHsYmPi3ONUo8zkRSS+5Talr2Ynpp4nFeeMKAIod+jtKWGp1apKasH
+rPKu47DYstK0xLbCuL+6uby4vrXAssKvxK3GqsipyqHMo86c0J7SndSK1ofYktqs3NLe7+EZ4zPlQudH
+6TDq/+y77lvv4fFL8qbz8PUp9kr3Yvhu+Wj6V/s2/BD83v2k/pf//wAAAAwAIwA8AFQAbgCHAKEAuwDW
+APEBDAEpAUYBZAGCAaIBwwHlAgkCLgJVAn8CqwLZAwkDPQN0A7AD8AQxBHQEugUCBUsFlQXgBi8GfgbP
+ByMHdQfKCCIIeQjRCSsJhwnjCkIKoQsAC2ELwgwnDIoM8A1YDcMOOA6wDygPpBAjEKERIRGkEigSrhM2
+E8AUTBTaFWgV+RaMFyEXuRhTGOsZiRooGskbaxwOHLEdUh3xHpAfMR/UIHkhHyHHInAjGiPFJHIlHiXI
+JnYnJCfSKH0pKinaKocrMyvgLIwtOS3lLpYvQS/wMK0xgTJeMz40HzUBNek20Te+OKs5oDqYO5A8kT2T
+Pps/pUC1Qc5C5EQFRSRGTEd3SKZJ40seTGJNo07mUCtRcVK9VAFVSlaRV9pZIlpuW7Rc/F5EX4xg02IZ
+Y2VkrGYSZ5lpFGqQbBFtjG8OcI5yDHOMdQl2j3gUeZt7I3y0fkB/04FwgxCEsoZVh/eJoItPjPyOrZBg
+khqT0ZWMl06ZDJrMnJOeVqAcoeSjrKV0pzqpBarCrGOuAq+nsVKzArSvtmm4Jbnhu5+9ZL8kwOjCqsRu
+xivH78moy2PNHc7S0IvSQNP31abXV9kM2rncYN4F363hT+Lt5IrmIOey6Urq3+xw7fvviPEW8qX0MPW4
+90f41vpk+/39jv//AAAAHQBEAGoAkQC4AN8BCAEyAV4BiwG8Ae4CJAJeAp4C4gMsA38D3AQ+BKYFEgWB
+BfMGagbjB18H3ghgCOEJZwnuCnkLAwuPDCAMrw1DDeEOkg9FD/4QuBF0EjMS9BO3FH4VQxYNFtgXqBh6
+GUwaJRr/G9scuh2fHoIfaCBRIT4iLSMdJBElBSX4JvEn6SjfKd0q1yvULNEtzy7SL9Mw5DIEMyc0SDVr
+Nos3rzjOOfI7DjwvPU0+aT+FQKJBwkLdQ/5FGkY9R2BIhUm4Su1MKU1hTppP1VEQUlFTjFTJVglXRFiF
+WcZbCFxJXYxe0GAVYVpioGPuZUJm0Whyag9rvG1mbx9w2XKUdFJ2FHfZeZx7XH0ift6AoYJkhCSF5ofH
+ibCLm417j1iRMJMGlM6WlZhWmgebup1nnw6gsqJSo++liKceqLSqWawVrd6vqLF0sz21ALbJuI+6ULwS
+vdi/lMFXwxjE2saeyGXKKMv0zbvPi9Fe0yLUlNYJ14nZE9qe3CTdo98b4Ivh8eNM5J3l4+cY6EDpYup7
+64Pshe1y7l3vN/AP8Nfxn/JX8w7zu/RY9Pb1i/YX9qP3KPec+A/4g/jx+VL5tPoW+nj6yvsT+1z7pfvu
+/Df8dvym/NX9Bf00/WT9k/3D/fP+Iv5P/nr+pf7Q/vv/J/9S/33/qP/U//8AAHNmMzIAAAAAAAEMQgAA
+Bd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsbW1vZAAAAAAAAAYQAACcgQAAAADBvf+AAAAAAAAA
+AAAAAAAAAAAAAA</bytes>
 																						</object>
 																						<string key="NSCacheWindowColorSpace">NSCalibratedRGBColorSpace</string>
 																						<int key="NSCacheWindowBPS">8</int>
 																		<object class="NSTextView" id="1057217485">
 																			<reference key="NSNextResponder" ref="378280175"/>
 																			<int key="NSvFlags">2322</int>
-																			<string key="NSFrameSize">{0, 0}</string>
+																			<string key="NSFrame">{{0, -14}, {0.001, 14}}</string>
 																			<reference key="NSSuperview" ref="378280175"/>
 																			<object class="NSTextContainer" key="NSTextContainer" id="178117438">
 																				<object class="NSLayoutManager" key="NSLayoutManager">
 																					<nil key="NSDelegate"/>
 																				</object>
 																				<reference key="NSTextView" ref="1057217485"/>
-																				<double key="NSWidth">0.0</double>
+																				<double key="NSWidth">0.001</double>
 																				<int key="NSTCFlags">1</int>
 																			</object>
 																			<object class="NSTextViewSharedData" key="NSSharedData">
 																			</object>
 																			<int key="NSTVFlags">7</int>
 																			<string key="NSMaxSize">{1e+07, 1e+07}</string>
+																			<string key="NSMinize">{0, 0}</string>
 																			<nil key="NSDelegate"/>
 																		</object>
 																	</object>
 					</object>
 					<object class="NSMenuItem" id="23317075">
 						<reference key="NSMenu" ref="1043860070"/>
+						<string key="NSTitle">Mark As Resolved</string>
+						<string key="NSKeyEquiv"/>
+						<int key="NSKeyEquivModMask">1048576</int>
+						<int key="NSMnemonicLoc">2147483647</int>
+						<reference key="NSOnImage" ref="705507820"/>
+						<reference key="NSMixedImage" ref="516194051"/>
+					</object>
+					<object class="NSMenuItem" id="818102785">
+						<reference key="NSMenu" ref="1043860070"/>
+						<bool key="NSIsDisabled">YES</bool>
+						<bool key="NSIsSeparator">YES</bool>
+						<string key="NSTitle"/>
+						<string key="NSKeyEquiv"/>
+						<int key="NSKeyEquivModMask">1048576</int>
+						<int key="NSMnemonicLoc">2147483647</int>
+						<reference key="NSOnImage" ref="705507820"/>
+						<reference key="NSMixedImage" ref="516194051"/>
+					</object>
+					<object class="NSMenuItem" id="285480911">
+						<reference key="NSMenu" ref="1043860070"/>
 						<string key="NSTitle">Discard Changes</string>
 						<string key="NSKeyEquiv"/>
 						<int key="NSKeyEquivModMask">1048576</int>
 						<reference key="NSOnImage" ref="705507820"/>
 						<reference key="NSMixedImage" ref="516194051"/>
 					</object>
-					<object class="NSMenuItem" id="818102785">
+					<object class="NSMenuItem" id="1015050618">
 						<reference key="NSMenu" ref="1043860070"/>
 						<bool key="NSIsDisabled">YES</bool>
 						<bool key="NSIsSeparator">YES</bool>
 				</object>
 				<object class="IBConnectionRecord">
 					<object class="IBActionConnection" key="connection">
-						<string key="label">discardChanges:</string>
-						<reference key="source" ref="798535885"/>
-						<reference key="destination" ref="23317075"/>
-					</object>
-					<int key="connectionID">300131</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBActionConnection" key="connection">
 						<string key="label">commitChanges:</string>
 						<reference key="source" ref="798535885"/>
 						<reference key="destination" ref="863885537"/>
 					</object>
 					<int key="connectionID">300399</int>
 				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">discardChanges:</string>
+						<reference key="source" ref="798535885"/>
+						<reference key="destination" ref="285480911"/>
+					</object>
+					<int key="connectionID">300402</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">markResolved:</string>
+						<reference key="source" ref="798535885"/>
+						<reference key="destination" ref="23317075"/>
+					</object>
+					<int key="connectionID">300403</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">merge:</string>
+						<reference key="source" ref="798535885"/>
+						<reference key="destination" ref="841820169"/>
+					</object>
+					<int key="connectionID">300405</int>
+				</object>
 			</object>
 			<object class="IBMutableOrderedSet" key="objectRecords">
 				<object class="NSArray" key="orderedObjects">
 							<reference ref="186433179"/>
 							<reference ref="871042364"/>
 							<reference ref="656707464"/>
+							<reference ref="841820169"/>
 						</object>
 						<reference key="parent" ref="927202284"/>
 					</object>
 							<reference ref="947917346"/>
 							<reference ref="160056536"/>
 							<reference ref="262912880"/>
+							<reference ref="285480911"/>
+							<reference ref="1015050618"/>
 						</object>
 						<reference key="parent" ref="0"/>
 					</object>
 						<reference key="object" ref="262912880"/>
 						<reference key="parent" ref="1043860070"/>
 					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">300400</int>
+						<reference key="object" ref="285480911"/>
+						<reference key="parent" ref="1043860070"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">300401</int>
+						<reference key="object" ref="1015050618"/>
+						<reference key="parent" ref="1043860070"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">300404</int>
+						<reference key="object" ref="841820169"/>
+						<reference key="parent" ref="46956025"/>
+					</object>
 				</object>
 			</object>
 			<object class="NSMutableDictionary" key="flattenedProperties">
 					<string>300392.IBPluginDependency</string>
 					<string>300393.IBPluginDependency</string>
 					<string>300395.IBPluginDependency</string>
+					<string>300400.IBPluginDependency</string>
+					<string>300401.IBPluginDependency</string>
+					<string>300404.IBPluginDependency</string>
 					<string>6.IBPluginDependency</string>
 					<string>6.ImportedFromIB2</string>
 					<string>8.IBPluginDependency</string>
 					<bool key="EncodedWithXMLCoder">YES</bool>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<integer value="1"/>
-					<string>{{92, 313}, {800, 488}}</string>
+					<string>{{37, 313}, {800, 488}}</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{92, 313}, {800, 488}}</string>
+					<string>{{37, 313}, {800, 488}}</string>
 					<integer value="1"/>
 					<string>{{166, 135}, {586, 488}}</string>
 					<boolean value="YES"/>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{420, 1025}, {616, 0}}</string>
+					<string>{{129, 801}, {616, 0}}</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>{{151, 623}, {616, 0}}</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{403, 653}, {236, 203}}</string>
+					<string>{{403, 623}, {236, 233}}</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>{{58, 562}, {239, 153}}</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<integer value="1"/>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<integer value="1"/>
 				</object>
 			</object>
 			<nil key="sourceID"/>
-			<int key="maxID">300399</int>
+			<int key="maxID">300405</int>
 		</object>
 		<object class="IBClassDescriber" key="IBDocument.Classes">
 			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
 							<string>discardChanges:</string>
 							<string>endCommitSheet:</string>
 							<string>infoChooserChanged:</string>
+							<string>markResolved:</string>
+							<string>merge:</string>
 							<string>openInTerminal:</string>
 							<string>openSelectedFile:</string>
 							<string>openSelectedFileInWindow:</string>
 							<string>id</string>
 							<string>id</string>
 							<string>id</string>
+							<string>id</string>
+							<string>id</string>
+						</object>
+					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>addRemove:</string>
+							<string>addToRepository:</string>
+							<string>beginPushSheetFilePicker:</string>
+							<string>chooseRevisionFromPopUp:</string>
+							<string>commitAllChanges:</string>
+							<string>commitChanges:</string>
+							<string>discardChanges:</string>
+							<string>endCommitSheet:</string>
+							<string>infoChooserChanged:</string>
+							<string>markResolved:</string>
+							<string>merge:</string>
+							<string>openInTerminal:</string>
+							<string>openSelectedFile:</string>
+							<string>openSelectedFileInWindow:</string>
+							<string>pushPullRevisions:</string>
+							<string>refreshStatus:</string>
+							<string>removeFromRepository:</string>
+							<string>revealInFinder:</string>
+							<string>showComparison:</string>
+							<string>showDiff:</string>
+							<string>showRevision:</string>
+							<string>stopProgress:</string>
+							<string>toggleShowsOnlyUncleanFiles:</string>
+							<string>updateToLatest:</string>
+							<string>updateToSelectedRevision:</string>
+							<string>viewModeSelectorChanged:</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBActionInfo">
+								<string key="name">addRemove:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">addToRepository:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">beginPushSheetFilePicker:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">chooseRevisionFromPopUp:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">commitAllChanges:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">commitChanges:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">discardChanges:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">endCommitSheet:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">infoChooserChanged:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">markResolved:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">merge:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">openInTerminal:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">openSelectedFile:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">openSelectedFileInWindow:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">pushPullRevisions:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">refreshStatus:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">removeFromRepository:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">revealInFinder:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">showComparison:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">showDiff:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">showRevision:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">stopProgress:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">toggleShowsOnlyUncleanFiles:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">updateToLatest:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">updateToSelectedRevision:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">viewModeSelectorChanged:</string>
+								<string key="candidateClassName">id</string>
+							</object>
 						</object>
 					</object>
 					<object class="NSMutableDictionary" key="outlets">
 							<string>NSButton</string>
 						</object>
 					</object>
+					<object class="NSMutableDictionary" key="toOneOutletInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>_commitMessageField</string>
+							<string>_commitSheet</string>
+							<string>_hideShowUnmodifiedToolbarItem</string>
+							<string>_infoChooser</string>
+							<string>_infoImageView</string>
+							<string>_infoView</string>
+							<string>_outline</string>
+							<string>_progressIndicator</string>
+							<string>_progressMessageField</string>
+							<string>_progressOutputField</string>
+							<string>_progressSheet</string>
+							<string>_progressStopButton</string>
+							<string>_pullUpdateCheckbox</string>
+							<string>_pushButton</string>
+							<string>_pushDescriptionField</string>
+							<string>_pushSheet</string>
+							<string>_pushURLField</string>
+							<string>_revisionTable</string>
+							<string>_revisions</string>
+							<string>_tree</string>
+							<string>_viewModeButton</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_commitMessageField</string>
+								<string key="candidateClassName">NSTextView</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_commitSheet</string>
+								<string key="candidateClassName">NSPanel</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_hideShowUnmodifiedToolbarItem</string>
+								<string key="candidateClassName">NSSegmentedControl</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_infoChooser</string>
+								<string key="candidateClassName">NSSegmentedControl</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_infoImageView</string>
+								<string key="candidateClassName">NSImageView</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_infoView</string>
+								<string key="candidateClassName">NSTextView</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_outline</string>
+								<string key="candidateClassName">NSOutlineView</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_progressIndicator</string>
+								<string key="candidateClassName">NSProgressIndicator</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_progressMessageField</string>
+								<string key="candidateClassName">NSTextField</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_progressOutputField</string>
+								<string key="candidateClassName">NSTextField</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_progressSheet</string>
+								<string key="candidateClassName">NSPanel</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_progressStopButton</string>
+								<string key="candidateClassName">NSButton</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_pullUpdateCheckbox</string>
+								<string key="candidateClassName">NSButton</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_pushButton</string>
+								<string key="candidateClassName">NSButton</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_pushDescriptionField</string>
+								<string key="candidateClassName">NSTextField</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_pushSheet</string>
+								<string key="candidateClassName">NSPanel</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_pushURLField</string>
+								<string key="candidateClassName">NSComboBox</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_revisionTable</string>
+								<string key="candidateClassName">NSTableView</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_revisions</string>
+								<string key="candidateClassName">NSArrayController</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_tree</string>
+								<string key="candidateClassName">NSTreeController</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">_viewModeButton</string>
+								<string key="candidateClassName">NSButton</string>
+							</object>
+						</object>
+					</object>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBProjectSource</string>
 						<string key="minorKey">Source/RepoController.h</string>
 						<string key="NS.key.0">showWindow:</string>
 						<string key="NS.object.0">id</string>
 					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<string key="NS.key.0">showWindow:</string>
+						<object class="IBActionInfo" key="NS.object.0">
+							<string key="name">showWindow:</string>
+							<string key="candidateClassName">id</string>
+						</object>
+					</object>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBFrameworkSource</string>
 						<string key="minorKey">AppKit.framework/Headers/NSWindowController.h</string>
 			</object>
 		</object>
 		<int key="IBDocument.localizationMode">0</int>
+		<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
 		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
 			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
 			<integer value="1050" key="NS.object.0"/>
 		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
 		<string key="IBDocument.LastKnownRelativeProjectPath">../Murky.xcodeproj</string>
 		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+		<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="NSArray" key="dict.sortedKeys">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<string>NSActionTemplate</string>
+				<string>NSListViewTemplate</string>
+				<string>NSMenuCheckmark</string>
+				<string>NSMenuMixedState</string>
+				<string>NSPathTemplate</string>
+				<string>NSSwitch</string>
+				<string>NSToolbarCustomizeToolbarItemImage</string>
+				<string>toolbar_add</string>
+				<string>toolbar_addremove</string>
+				<string>toolbar_clone_repository_to</string>
+				<string>toolbar_commit</string>
+				<string>toolbar_commitall</string>
+				<string>toolbar_compare</string>
+				<string>toolbar_diff</string>
+				<string>toolbar_discard</string>
+				<string>toolbar_merge</string>
+				<string>toolbar_pull</string>
+				<string>toolbar_push</string>
+				<string>toolbar_refresh</string>
+				<string>toolbar_remove</string>
+				<string>toolbar_reveal</string>
+				<string>toolbar_terminal</string>
+				<string>toolbar_update</string>
+				<string>toolbar_update_to_revision</string>
+				<string>toolbar_view_revision</string>
+			</object>
+			<object class="NSMutableArray" key="dict.values">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<string>{10, 10}</string>
+				<string>{11, 10}</string>
+				<string>{9, 8}</string>
+				<string>{7, 2}</string>
+				<string>{16, 9}</string>
+				<string>{15, 15}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+				<string>{32, 32}</string>
+			</object>
+		</object>
 	</data>
 </archive>
 {
     "English.lproj/FileViewer.xib": "89b3ce19501369084592522616927d3e", 
-    "English.lproj/MainMenu.xib": "5694c0d6ed650beedcc67cd306882d32", 
+    "English.lproj/MainMenu.xib": "567d3e20cd0077aeabeaaf1447bce385", 
     "English.lproj/Projects.xib": "770fab372e314ce3a66f4c501d11d8ee", 
-    "English.lproj/Repo.xib": "a4a63e8d9fa77bc29977ba5ff7ae162d", 
+    "English.lproj/Repo.xib": "5e5a74986e025440b9b7ed1220451e61", 
     "French.lproj/FileViewer.strings": "3180f066f393da424f8f32f60384cedf", 
     "French.lproj/MainMenu.strings": "d54b312e76454c8742206c78acb4a7e8", 
     "French.lproj/Projects.strings": "7f3632a7668f39432d8dbf4ffb770f55", 
 def genStrings(toLangs, globString, utf8=False):
     for eachToLang in toLangs:
         toLangLproj = langProjName(eachToLang)
-        runCommand('genstrings', '-o %s "%s"' % (toLangLproj, globString))
+        runCommand('genstrings', '-o %s %s' % (toLangLproj, globString))
         localizableStrings = os.path.join(toLangLproj, 'Localizable.strings')
         if utf8:
             fileToUtf8(localizableStrings)

Murky.xcodeproj/project.pbxproj

 		27E396FA10E88314009F99ED /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 27E396F810E88314009F99ED /* Localizable.strings */; };
 		27E771CC0FB01124006504EF /* BitbucketFavIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = 27E771CB0FB01124006504EF /* BitbucketFavIcon.png */; };
 		27E772930FB09EA7006504EF /* MYWindowUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 27E772920FB09EA7006504EF /* MYWindowUtils.m */; };
+		27F3DD2E116FD0C5002FC27D /* status_conflict.png in Resources */ = {isa = PBXBuildFile; fileRef = 27F3DD2D116FD0C5002FC27D /* status_conflict.png */; };
+		27F3DD30116FD3A2002FC27D /* status_resolved.png in Resources */ = {isa = PBXBuildFile; fileRef = 27F3DD2F116FD3A2002FC27D /* status_resolved.png */; };
 		27F909AC10E96E0900892C41 /* FileViewer.xib in Resources */ = {isa = PBXBuildFile; fileRef = 27F909AA10E96E0900892C41 /* FileViewer.xib */; };
 		27F909B010E96E4900892C41 /* FileViewer.m in Sources */ = {isa = PBXBuildFile; fileRef = 27F909AF10E96E4900892C41 /* FileViewer.m */; };
 		27FEB46D0FBB200600290049 /* toolbar_add.png in Resources */ = {isa = PBXBuildFile; fileRef = 27FEB4640FBB200600290049 /* toolbar_add.png */; };
 		27D124F40C8F501B0075446A /* URLFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = URLFormatter.h; sourceTree = "<group>"; };
 		27D124F50C8F501B0075446A /* URLFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = URLFormatter.m; sourceTree = "<group>"; };
 		27D918800C890F5500D53A8D /* xmlminimal.style */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = xmlminimal.style; sourceTree = "<group>"; };
-		27E396F910E88314009F99ED /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = SOURCE_ROOT; };
+		27E396F910E88314009F99ED /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = SOURCE_ROOT; };
 		27E771CB0FB01124006504EF /* BitbucketFavIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = BitbucketFavIcon.png; sourceTree = "<group>"; };
 		27E772910FB09EA7006504EF /* MYWindowUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MYWindowUtils.h; sourceTree = "<group>"; };
 		27E772920FB09EA7006504EF /* MYWindowUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MYWindowUtils.m; sourceTree = "<group>"; };
+		27F3DD2D116FD0C5002FC27D /* status_conflict.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = status_conflict.png; sourceTree = "<group>"; };
+		27F3DD2F116FD3A2002FC27D /* status_resolved.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = status_resolved.png; sourceTree = "<group>"; };
 		27F909AB10E96E0900892C41 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/FileViewer.xib; sourceTree = "<group>"; };
 		27F909AE10E96E4900892C41 /* FileViewer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileViewer.h; sourceTree = "<group>"; };
 		27F909AF10E96E4900892C41 /* FileViewer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FileViewer.m; sourceTree = "<group>"; };
 				D095A5110FBC363100512681 /* status_removed.png */,
 				73CA81F910135B360081F0D8 /* toolbar_terminal.png */,
 				D095A50D0FBC329500512681 /* status_nottracked.png */,
+				27F3DD2D116FD0C5002FC27D /* status_conflict.png */,
 				D095A5080FBC318400512681 /* status_modified.png */,
 				D095A4DE0FBC2BC000512681 /* status_added.png */,
 				D095A4910FBC26A200512681 /* status_test.png */,
+				27F3DD2F116FD3A2002FC27D /* status_resolved.png */,
 				D095A40F0FBC0FD800512681 /* toolbar_discard.png */,
 				D095A4100FBC0FD800512681 /* toolbar_refresh.png */,
 				277E135C10D5CAD800508D2B /* mercurial-logo-official.icns */,
 				27E396FA10E88314009F99ED /* Localizable.strings in Resources */,
 				27F909AC10E96E0900892C41 /* FileViewer.xib in Resources */,
 				73ACF87910F715E4003304B2 /* no_file.png in Resources */,
+				27F3DD2E116FD0C5002FC27D /* status_conflict.png in Resources */,
+				27F3DD30116FD3A2002FC27D /* status_resolved.png in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
 					"\"$(SRCROOT)\"",
-					"\"$(SRCROOT)/BWToolkit\"",
 				);
 				INFOPLIST_FILE = Resources/Info.plist;
 				INSTALL_PATH = "$(HOME)/Applications";
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
 					"\"$(SRCROOT)\"",
-					"\"$(SRCROOT)/BWToolkit\"",
 				);
 				INFOPLIST_FILE = Resources/Info.plist;
 				INSTALL_PATH = "$(HOME)/Applications";
Add a comment to this file

Resources/Icons/status_conflict.png

Added
New image
Add a comment to this file

Resources/Icons/status_resolved.png

Added
New image

Resources/Info.plist

 	<key>CFBundleSignature</key>
 	<string>????</string>
 	<key>CFBundleVersion</key>
-	<string>0.7.2</string>
+	<string>0.8</string>
 	<key>CFBundleShortVersionString</key>
-	<string>0.7.2</string>
+	<string>0.8</string>
 	<key>NSMainNibFile</key>
 	<string>MainMenu</string>
 	<key>NSPrincipalClass</key>
 
 
 // private:
-- (void) updateStatusFromOutput: (NSArray*)statusLines;
+- (void) updateStatusFromOutput: (NSArray*)statusLines
+                  isMergeStatus: (BOOL)isMergeStatus;
 // internal:
 - (void) _computeStatus;
 - (void) _removeFile: (HgFile*)file;
 //  Copyright 2008-2009 Jens Alfke. All rights reserved.
 //
 
+#define HGFILE_PRIVATE
 #import "HgDir.h"
 #import "HgRepository.h"
 
 - (void) _computeStatus
 {
     int maxPos = -1;
+    HgMergeStatus maxMergeStatus = kUnmerged;
     for( HgFile *file in _files ) {
         if( file.isDirectory )
             [(HgDir*)file _computeStatus];
         const char *pos = strchr(kStatusPriorities,file.status);
         if( pos )
             maxPos = MAX(maxPos, pos-kStatusPriorities);
+        maxMergeStatus = MAX(maxMergeStatus, file.mergeStatus);
     }
     HgStatus newStatus = (maxPos >= 0) ?kStatusPriorities[maxPos] :kClean;
+    
+    // The root dir should show that it's a merge, even if no individual files
+    // had to be hand-resolved.
+    if (maxMergeStatus == kUnmerged && newStatus == kModified
+            && self.isRoot && _revision.parent2)
+        maxMergeStatus = kResolved;
+    
     if (newStatus != self.status)
         self.status = newStatus;
+    if (maxMergeStatus != self.mergeStatus)
+        self.mergeStatus = maxMergeStatus;
 }
 
 - (NSMutableString*) _getPath: (BOOL)absolute
 
 
 - (void) updateStatusFromOutput: (NSArray*)statusLines
+                  isMergeStatus: (BOOL)isMergeStatus