<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>.gitmodules</filename>
    </added>
    <added>
      <filename>Vendor/BCrashReporter</filename>
    </added>
    <added>
      <filename>Vendor/BLifecycle</filename>
    </added>
    <added>
      <filename>Vendor/BSoftwareUpdate</filename>
    </added>
    <added>
      <filename>Vendor/Blocks</filename>
    </added>
    <added>
      <filename>Vendor/SystemVersionCheck</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff></diff>
      <filename>English.lproj/InfoPlist.strings</filename>
    </modified>
    <modified>
      <diff>@@ -19,17 +19,13 @@
 	&lt;key&gt;CFBundleSignature&lt;/key&gt;
 	&lt;string&gt;????&lt;/string&gt;
 	&lt;key&gt;CFBundleShortVersionString&lt;/key&gt;
-	&lt;string&gt;0.1.1 - Development&lt;/string&gt;
+	&lt;string&gt;1.0 - Development&lt;/string&gt;
 	&lt;key&gt;CFBundleSignature&lt;/key&gt;
 	&lt;string&gt;QcCr&lt;/string&gt;
 	&lt;key&gt;CFBundleVersion&lt;/key&gt;
-	&lt;string&gt;2&lt;/string&gt;
+	&lt;string&gt;3&lt;/string&gt;
 	&lt;key&gt;LSUIElement&lt;/key&gt;
 	&lt;string&gt;1&lt;/string&gt;
-	&lt;key&gt;NSAppleScriptEnabled&lt;/key&gt;
-	&lt;string&gt;YES&lt;/string&gt;
-	&lt;key&gt;OSAScriptingDefinition&lt;/key&gt;
-	&lt;string&gt;QuickCursor.sdef&lt;/string&gt;
 	&lt;key&gt;NSMainNibFile&lt;/key&gt;
 	&lt;string&gt;MainMenu&lt;/string&gt;
 	&lt;key&gt;NSPrincipalClass&lt;/key&gt;</diff>
      <filename>Info.plist</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
 #import &lt;Cocoa/Cocoa.h&gt;
 
+// http://gusmueller.com/odb/
+
 extern NSString * const ODBEditorCustomPathKey;
 
 @interface ODBEditor : NSObject</diff>
      <filename>Plugins/QCUserInterface/ODBEditor.h</filename>
    </modified>
    <modified>
      <diff>@@ -2,6 +2,8 @@
 //  ODBEditor.m
 //  B-Quartic
 
+// http://gusmueller.com/odb/
+
 /**
     
     Nov 30- Updates from Eric Blair:
@@ -64,9 +66,7 @@ static ODBEditor	*_sharedODBEditor;
 		CFBundleGetPackageInfo(CFBundleGetMainBundle(), &amp;packageType, &amp;packageCreator);
 		_signature = packageCreator;
 		
-//		[self setEditorBundleIdentifier: @&quot;com.macromates.textmate&quot;];
 		[self setEditorBundleIdentifier: @&quot;com.hogbaysoftware.WriteRoom&quot;];
-//		[self setEditorBundleIdentifier: @&quot;org.smultron.Smultron&quot;];
 		
 		_filesBeingEdited = [[NSMutableDictionary alloc] init];
 		</diff>
      <filename>Plugins/QCUserInterface/ODBEditor.m</filename>
    </modified>
    <modified>
      <diff>@@ -8,16 +8,19 @@
 
 	&lt;requirement bundle=&quot;com.blocks.Blocks&quot; version=&quot;1.0.0&quot; /&gt;
 	&lt;requirement bundle=&quot;com.blocks.BLifecycle&quot; version=&quot;1.0.0&quot; /&gt;
-	&lt;requirement bundle=&quot;com.blocks.BUserInterface&quot; version=&quot;1.0.0&quot; /&gt;
+
+	&lt;extension-point id=&quot;editor&quot; label=&quot;Edit in Editor&quot; /&gt;
 
 	&lt;extension point=&quot;com.blocks.BLifecycle.lifecycle&quot;&gt;
 		&lt;applicationDidFinishLaunching class=&quot;QCUserInterfaceController sharedInstance&quot; /&gt;
 	&lt;/extension&gt;
-	
-	&lt;extension point=&quot;com.blocks.BUserInterface.menus&quot;&gt;
-		&lt;menu id=&quot;com.hogbaysoftware.quickcursor.menus.statusMenu&quot;&gt;
-			&lt;menuitem title=&quot;Quick Cursor&quot; id=&quot;quickcursor&quot; submenu=&quot;com.blocks.BUserInterface.menus.main&quot; /&gt;
-		&lt;/menu&gt;		
+
+	&lt;!-- editor apps should support ODBEditorSuite.h --&gt;
+	&lt;extension point=&quot;com.hogbaysoftware.quickcursor.QCUserInterface.editor&quot;&gt;
+		&lt;editor bundle=&quot;com.barebones.bbedit&quot; /&gt;
+		&lt;editor bundle=&quot;com.macromates.textmate&quot; /&gt;
+		&lt;editor bundle=&quot;org.smultron.Smultron&quot; /&gt;
+		&lt;editor bundle=&quot;com.hogbaysoftware.WriteRoom&quot; /&gt;
 	&lt;/extension&gt;
-	
+		
 &lt;/plugin&gt;
\ No newline at end of file</diff>
      <filename>Plugins/QCUserInterface/Plugin.xml</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@
 //  QuickCursor
 //
 //  Created by Jesse Grosjean on 11/28/07.
-//  Copyright 2007 __MyCompanyName__. All rights reserved.
+//  Copyright 2007 Hog Bay Software. All rights reserved.
 //
 
 #import &lt;Cocoa/Cocoa.h&gt;</diff>
      <filename>Plugins/QCUserInterface/QCUserInterfaceController.h</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@
 //  QuickCursor
 //
 //  Created by Jesse Grosjean on 11/28/07.
-//  Copyright 2007 __MyCompanyName__. All rights reserved.
+//  Copyright 2007 Hog Bay Software. All rights reserved.
 //
 
 #import &quot;QCUserInterfaceController.h&quot;
@@ -43,10 +43,15 @@
 		NSDictionary *context = [NSDictionary dictionaryWithObject:focusedElement forKey:@&quot;uiElement&quot;];
 		NSString *processName = [focusedElement processName];
 		NSString *windowTitle = focusedElement.window.title;
-		NSString *editorCustomPath = [NSString stringWithFormat:@&quot;%@ &#8211; %@&quot;, processName, windowTitle];
+		NSString *editorCustomPath = [NSString stringWithFormat:@&quot;%@ &#8211; %@&quot;, processName, windowTitle];		
+		[[ODBEditor sharedODBEditor] setEditorBundleIdentifier:[sender representedObject]];
 		[[ODBEditor sharedODBEditor] editString:value options:[NSDictionary dictionaryWithObject:editorCustomPath forKey:ODBEditorCustomPathKey] forClient:self context:context];
 	} else {
-		NSBeep();
+		[[NSAlert alertWithMessageText:BLocalizedString(@&quot;Could not edit text&quot;, nil)
+						 defaultButton:BLocalizedString(@&quot;OK&quot;, nil)
+					   alternateButton:nil
+						   otherButton:nil
+			 informativeTextWithFormat:BLocalizedString(@&quot;QuickCursor could not find any text to edit. Make sure that a text view has keyboard focus, and then try again.&quot;, nil)] runModal];
 	}
 }
 
@@ -83,14 +88,56 @@
                 return;
         }
     }
-	
-	NSStatusBar *systemStatusBar = [NSStatusBar systemStatusBar];
-    quickCursorStatusItem = [systemStatusBar statusItemWithLength:NSVariableStatusItemLength];
+
+    quickCursorStatusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
     [quickCursorStatusItem setTitle:BLocalizedString(@&quot;Q&quot;,@&quot;&quot;)];
 	[quickCursorStatusItem setTarget:self];
-	[quickCursorStatusItem setAction:@selector(beginQuickCursorEdit:)];
     [quickCursorStatusItem setHighlightMode:YES];
-//    [quickCursorStatusItem setMenu:[[[BUserInterfaceController sharedInstance] menuControllerForMenuExtensionPoint:@&quot;com.hogbaysoftware.quickcursor.menus.statusMenu&quot;] menu]];
+
+	NSMenu *quickCursorMenu = [[NSMenu alloc] init];
+	
+	NSMenuItem *aboutMenuItem = [[NSMenuItem alloc] initWithTitle:BLocalizedString(@&quot;About&quot;, nil) action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@&quot;&quot;];
+	[aboutMenuItem setTarget:NSApp];
+	[quickCursorMenu addItem:aboutMenuItem];
+
+	[quickCursorMenu addItem:[NSMenuItem separatorItem]];
+
+	[quickCursorMenu addItemWithTitle:BLocalizedString(@&quot;Edit in...&quot;, nil) action:NULL keyEquivalent:@&quot;&quot;];
+	
+	NSWorkspace *workspace = [NSWorkspace sharedWorkspace];
+	BExtensionPoint *extensionPoint = [[BExtensionRegistry sharedInstance] extensionPointFor:@&quot;com.hogbaysoftware.quickcursor.QCUserInterface.editor&quot;];
+	NSMutableArray *editInMenuItems = [NSMutableArray array];
+	
+	for (BConfigurationElement *each in [extensionPoint configurationElementsNamed:@&quot;editor&quot;]) {
+		NSString *bundleID = [each attributeForKey:@&quot;bundle&quot;];
+		NSString *bundlePath = [workspace absolutePathForAppBundleWithIdentifier:bundleID];
+		
+		if (bundlePath) {
+			NSMenuItem *eachMenuItem = [[NSMenuItem alloc] initWithTitle:[[NSBundle bundleWithPath:bundlePath] objectForInfoDictionaryKey:@&quot;CFBundleName&quot;] action:@selector(beginQuickCursorEdit:) keyEquivalent:@&quot;&quot;];
+			[eachMenuItem setTarget:self];
+			[eachMenuItem setRepresentedObject:bundleID];
+			[eachMenuItem setIndentationLevel:1];
+			[eachMenuItem setImage:[workspace iconForFile:bundlePath]];
+			[eachMenuItem setKeyEquivalentModifierMask:NSAlternateKeyMask | NSCommandKeyMask | NSControlKeyMask];
+			[editInMenuItems addObject:eachMenuItem];
+		} else {
+			BLogInfo([NSString stringWithFormat:@&quot;failed to find edit in application for bundle id %@&quot;, bundleID]);
+		}
+	}
+
+	[editInMenuItems sortUsingDescriptors:[NSArray arrayWithObject:[[NSSortDescriptor alloc] initWithKey:@&quot;title&quot; ascending:YES]]];
+	
+	for (NSMenuItem *each in editInMenuItems) {
+		[quickCursorMenu addItem:each];
+	}
+	
+	[quickCursorMenu addItem:[NSMenuItem separatorItem]];
+	
+	NSMenuItem *quitMenuItem = [[NSMenuItem alloc] initWithTitle:BLocalizedString(@&quot;Quit QuickCursor&quot;, nil) action:@selector(terminate:) keyEquivalent:@&quot;&quot;];
+	[quitMenuItem setTarget:NSApp];
+	[quickCursorMenu addItem:quitMenuItem];
+
+	[quickCursorStatusItem setMenu:quickCursorMenu];
 }
 
 @end</diff>
      <filename>Plugins/QCUserInterface/QCUserInterfaceController.m</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@
 //  QuickCursor
 //
 //  Created by Jesse Grosjean on 11/28/07.
-//  Copyright 2007 __MyCompanyName__. All rights reserved.
+//  Copyright 2007 Hog Bay Software. All rights reserved.
 //
 
 #import &lt;Cocoa/Cocoa.h&gt;</diff>
      <filename>QCUIElement.h</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@
 //  QuickCursor
 //
 //  Created by Jesse Grosjean on 11/28/07.
-//  Copyright 2007 __MyCompanyName__. All rights reserved.
+//  Copyright 2007 Hog Bay Software. All rights reserved.
 //
 
 #import &quot;QCUIElement.h&quot;</diff>
      <filename>QCUIElement.m</filename>
    </modified>
    <modified>
      <diff>@@ -8,24 +8,19 @@
 
 /* Begin PBXBuildFile section */
 		882845960D09B5F500091F25 /* Plugin.xml in Resources */ = {isa = PBXBuildFile; fileRef = 882845950D09B5F500091F25 /* Plugin.xml */; };
-		886B87560CFC97B70023E2B8 /* Blocks.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 886B87500CFC97730023E2B8 /* Blocks.framework */; };
-		886B87570CFC97D00023E2B8 /* Blocks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 886B87500CFC97730023E2B8 /* Blocks.framework */; };
-		886B879D0CFC98A90023E2B8 /* BLifecycle.plugin in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 886B879C0CFC989F0023E2B8 /* BLifecycle.plugin */; };
-		886B87EF0CFC9AA20023E2B8 /* BSoftwareUpdate.plugin in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 886B87AF0CFC9A1D0023E2B8 /* BSoftwareUpdate.plugin */; };
-		886B87F00CFC9AAB0023E2B8 /* BCrashReporter.plugin in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 886B87D20CFC9A470023E2B8 /* BCrashReporter.plugin */; };
-		886B87F10CFC9AAE0023E2B8 /* BUserInterface.plugin in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 886B87D80CFC9A5C0023E2B8 /* BUserInterface.plugin */; };
-		886B87F20CFC9AB30023E2B8 /* BPreferences.plugin in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 886B87DE0CFC9A660023E2B8 /* BPreferences.plugin */; };
-		886B87F30CFC9AB70023E2B8 /* BScripts.plugin in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 886B87E40CFC9A6C0023E2B8 /* BScripts.plugin */; };
-		886B87F60CFC9BBD0023E2B8 /* QuickCursor.sdef in Resources */ = {isa = PBXBuildFile; fileRef = 886B87F50CFC9BBD0023E2B8 /* QuickCursor.sdef */; };
-		886B884D0CFCA0830023E2B8 /* TestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 886B884C0CFCA0830023E2B8 /* TestTests.m */; };
 		889A4A560CFDBAE00041848B /* Plugin.xml in Resources */ = {isa = PBXBuildFile; fileRef = 889A4A550CFDBAE00041848B /* Plugin.xml */; };
 		889A4A5A0CFDBB440041848B /* QCUserInterface.plugin in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 889A4A3F0CFDBA150041848B /* QCUserInterface.plugin */; };
 		889A4A740CFDBC850041848B /* QCUIElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 889A49B60CFDB3910041848B /* QCUIElement.m */; };
 		889A4A770CFDBCA50041848B /* QCUserInterfaceController.m in Sources */ = {isa = PBXBuildFile; fileRef = 889A4A760CFDBCA50041848B /* QCUserInterfaceController.m */; };
-		889A4A790CFDBD550041848B /* Blocks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 886B87500CFC97730023E2B8 /* Blocks.framework */; };
 		889A4BEB0CFDC6090041848B /* NSAppleEventDescriptor-Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 889A4BEA0CFDC6090041848B /* NSAppleEventDescriptor-Extensions.m */; };
 		889A4BF50CFDC6360041848B /* ODBEditor.m in Sources */ = {isa = PBXBuildFile; fileRef = 889A4BF40CFDC6360041848B /* ODBEditor.m */; };
 		889A4C840CFDD90D0041848B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+		88BE40D60E71439000E113B7 /* Blocks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88BE409B0E7142E000E113B7 /* Blocks.framework */; };
+		88BE40E00E71439D00E113B7 /* Blocks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88BE409B0E7142E000E113B7 /* Blocks.framework */; };
+		88BE41010E7143E900E113B7 /* Blocks.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 88BE409B0E7142E000E113B7 /* Blocks.framework */; };
+		88BE41060E71440500E113B7 /* BLifecycle.plugin in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 88BE40A50E7142EE00E113B7 /* BLifecycle.plugin */; };
+		88BE410B0E71440A00E113B7 /* BSoftwareUpdate.plugin in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 88BE40AE0E7142FA00E113B7 /* BSoftwareUpdate.plugin */; };
+		88BE410E0E71441000E113B7 /* BCrashReporter.plugin in Copy Plugins */ = {isa = PBXBuildFile; fileRef = 88BE40B70E71430400E113B7 /* BCrashReporter.plugin */; };
 		8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
 		8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
 		8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
@@ -33,125 +28,90 @@
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
-		886B874F0CFC97730023E2B8 /* PBXContainerItemProxy */ = {
+		889A4A570CFDBB330041848B /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = 886B87480CFC97730023E2B8 /* Blocks.xcodeproj */;
-			proxyType = 2;
-			remoteGlobalIDString = 8DC2EF5B0486A6940098B216;
-			remoteInfo = Blocks;
+			containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 889A4A3E0CFDBA150041848B;
+			remoteInfo = QCController;
 		};
-		886B87510CFC97860023E2B8 /* PBXContainerItemProxy */ = {
+		88BE409A0E7142E000E113B7 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = 886B87480CFC97730023E2B8 /* Blocks.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
+			proxyType = 2;
+			remoteGlobalIDString = 8DC2EF5B0486A6940098B216;
 			remoteInfo = Blocks;
 		};
-		886B879B0CFC989F0023E2B8 /* PBXContainerItemProxy */ = {
+		88BE40A40E7142EE00E113B7 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = 886B87970CFC989F0023E2B8 /* BLifecycle.xcodeproj */;
 			proxyType = 2;
 			remoteGlobalIDString = 8D5B49B6048680CD000E48DA;
 			remoteInfo = BLifecycle;
 		};
-		886B879E0CFC98B20023E2B8 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 886B87970CFC989F0023E2B8 /* BLifecycle.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = 8D5B49AC048680CD000E48DA;
-			remoteInfo = BLifecycle;
-		};
-		886B87AE0CFC9A1D0023E2B8 /* PBXContainerItemProxy */ = {
+		88BE40AD0E7142FA00E113B7 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = 886B87AA0CFC9A1D0023E2B8 /* BSoftwareUpdate.xcodeproj */;
 			proxyType = 2;
 			remoteGlobalIDString = 8D5B49B6048680CD000E48DA;
 			remoteInfo = BSoftwareUpdate;
 		};
-		886B87D10CFC9A470023E2B8 /* PBXContainerItemProxy */ = {
+		88BE40B60E71430400E113B7 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = 886B87CD0CFC9A470023E2B8 /* BCrashReporter.xcodeproj */;
 			proxyType = 2;
 			remoteGlobalIDString = 8D5B49B6048680CD000E48DA;
 			remoteInfo = BCrashReporter;
 		};
-		886B87D70CFC9A5C0023E2B8 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 886B87D30CFC9A5C0023E2B8 /* BUserInterface.xcodeproj */;
-			proxyType = 2;
-			remoteGlobalIDString = 8D5B49B6048680CD000E48DA;
-			remoteInfo = BUserInterface;
-		};
-		886B87DD0CFC9A660023E2B8 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 886B87D90CFC9A660023E2B8 /* BPreferences.xcodeproj */;
-			proxyType = 2;
-			remoteGlobalIDString = 8D5B49B6048680CD000E48DA;
-			remoteInfo = BPreferences;
-		};
-		886B87E30CFC9A6C0023E2B8 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 886B87DF0CFC9A6C0023E2B8 /* BScripts.xcodeproj */;
-			proxyType = 2;
-			remoteGlobalIDString = 8D5B49B6048680CD000E48DA;
-			remoteInfo = BScripts;
-		};
-		886B87E50CFC9A930023E2B8 /* PBXContainerItemProxy */ = {
+		88BE40E90E7143AF00E113B7 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = 886B87D30CFC9A5C0023E2B8 /* BUserInterface.xcodeproj */;
+			containerPortal = 886B87CD0CFC9A470023E2B8 /* BCrashReporter.xcodeproj */;
 			proxyType = 1;
 			remoteGlobalIDString = 8D5B49AC048680CD000E48DA;
-			remoteInfo = BUserInterface;
+			remoteInfo = BCrashReporter;
 		};
-		886B87E70CFC9A930023E2B8 /* PBXContainerItemProxy */ = {
+		88BE40EB0E7143AF00E113B7 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = 886B87DF0CFC9A6C0023E2B8 /* BScripts.xcodeproj */;
+			containerPortal = 886B87AA0CFC9A1D0023E2B8 /* BSoftwareUpdate.xcodeproj */;
 			proxyType = 1;
 			remoteGlobalIDString = 8D5B49AC048680CD000E48DA;
-			remoteInfo = BScripts;
+			remoteInfo = BSoftwareUpdate;
 		};
-		886B87E90CFC9A930023E2B8 /* PBXContainerItemProxy */ = {
+		88BE40ED0E7143AF00E113B7 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = 886B87CD0CFC9A470023E2B8 /* BCrashReporter.xcodeproj */;
+			containerPortal = 886B87970CFC989F0023E2B8 /* BLifecycle.xcodeproj */;
 			proxyType = 1;
 			remoteGlobalIDString = 8D5B49AC048680CD000E48DA;
-			remoteInfo = BCrashReporter;
+			remoteInfo = BLifecycle;
 		};
-		886B87EB0CFC9A930023E2B8 /* PBXContainerItemProxy */ = {
+		88BE40EF0E7143AF00E113B7 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = 886B87AA0CFC9A1D0023E2B8 /* BSoftwareUpdate.xcodeproj */;
+			containerPortal = 886B87480CFC97730023E2B8 /* Blocks.xcodeproj */;
 			proxyType = 1;
-			remoteGlobalIDString = 8D5B49AC048680CD000E48DA;
-			remoteInfo = BSoftwareUpdate;
+			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
+			remoteInfo = Blocks;
 		};
-		886B87ED0CFC9A930023E2B8 /* PBXContainerItemProxy */ = {
+		88BE41670E7144BA00E113B7 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = 886B87D90CFC9A660023E2B8 /* BPreferences.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = 8D5B49AC048680CD000E48DA;
-			remoteInfo = BPreferences;
+			containerPortal = 88BE415F0E7144BA00E113B7 /* SystemVersionCheck.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = 8DD76FA10486AA7600D96B5E;
+			remoteInfo = SystemVersionCheck;
 		};
-		886B88350CFC9C8E0023E2B8 /* PBXContainerItemProxy */ = {
+		88BE416B0E7144CE00E113B7 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+			containerPortal = 88BE415F0E7144BA00E113B7 /* SystemVersionCheck.xcodeproj */;
 			proxyType = 1;
-			remoteGlobalIDString = 8D1107260486CEB800E47090;
-			remoteInfo = QuickCursor;
+			remoteGlobalIDString = 8DD76F960486AA7600D96B5E;
+			remoteInfo = SystemVersionCheck;
 		};
-		889A4A440CFDBA200041848B /* PBXContainerItemProxy */ = {
+		88BE41BB0E71491300E113B7 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = 886B87480CFC97730023E2B8 /* Blocks.xcodeproj */;
 			proxyType = 1;
 			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
 			remoteInfo = Blocks;
 		};
-		889A4A570CFDBB330041848B /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 889A4A3E0CFDBA150041848B;
-			remoteInfo = QCController;
-		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXCopyFilesBuildPhase section */
@@ -161,7 +121,7 @@
 			dstPath = &quot;&quot;;
 			dstSubfolderSpec = 10;
 			files = (
-				886B87560CFC97B70023E2B8 /* Blocks.framework in Copy Frameworks */,
+				88BE41010E7143E900E113B7 /* Blocks.framework in Copy Frameworks */,
 			);
 			name = &quot;Copy Frameworks&quot;;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -172,12 +132,9 @@
 			dstPath = &quot;&quot;;
 			dstSubfolderSpec = 13;
 			files = (
-				886B879D0CFC98A90023E2B8 /* BLifecycle.plugin in Copy Plugins */,
-				886B87EF0CFC9AA20023E2B8 /* BSoftwareUpdate.plugin in Copy Plugins */,
-				886B87F00CFC9AAB0023E2B8 /* BCrashReporter.plugin in Copy Plugins */,
-				886B87F10CFC9AAE0023E2B8 /* BUserInterface.plugin in Copy Plugins */,
-				886B87F20CFC9AB30023E2B8 /* BPreferences.plugin in Copy Plugins */,
-				886B87F30CFC9AB70023E2B8 /* BScripts.plugin in Copy Plugins */,
+				88BE41060E71440500E113B7 /* BLifecycle.plugin in Copy Plugins */,
+				88BE410B0E71440A00E113B7 /* BSoftwareUpdate.plugin in Copy Plugins */,
+				88BE410E0E71441000E113B7 /* BCrashReporter.plugin in Copy Plugins */,
 				889A4A5A0CFDBB440041848B /* QCUserInterface.plugin in Copy Plugins */,
 			);
 			name = &quot;Copy Plugins&quot;;
@@ -195,18 +152,10 @@
 		29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = &quot;&lt;absolute&gt;&quot;; };
 		32CA4F630368D1EE00C91783 /* QuickCursor_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuickCursor_Prefix.pch; sourceTree = &quot;&lt;group&gt;&quot;; };
 		882845950D09B5F500091F25 /* Plugin.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Plugin.xml; sourceTree = &quot;&lt;group&gt;&quot;; };
-		886B87480CFC97730023E2B8 /* Blocks.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = &quot;wrapper.pb-project&quot;; name = Blocks.xcodeproj; path = ../Blocks/Blocks.xcodeproj; sourceTree = SOURCE_ROOT; };
-		886B87970CFC989F0023E2B8 /* BLifecycle.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = &quot;wrapper.pb-project&quot;; name = BLifecycle.xcodeproj; path = ../BLifecycle/BLifecycle.xcodeproj; sourceTree = SOURCE_ROOT; };
-		886B87AA0CFC9A1D0023E2B8 /* BSoftwareUpdate.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = &quot;wrapper.pb-project&quot;; name = BSoftwareUpdate.xcodeproj; path = ../BSoftwareUpdate/BSoftwareUpdate.xcodeproj; sourceTree = SOURCE_ROOT; };
-		886B87CD0CFC9A470023E2B8 /* BCrashReporter.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = &quot;wrapper.pb-project&quot;; name = BCrashReporter.xcodeproj; path = ../BCrashReporter/BCrashReporter.xcodeproj; sourceTree = SOURCE_ROOT; };
-		886B87D30CFC9A5C0023E2B8 /* BUserInterface.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = &quot;wrapper.pb-project&quot;; name = BUserInterface.xcodeproj; path = ../BUserInterface/BUserInterface.xcodeproj; sourceTree = SOURCE_ROOT; };
-		886B87D90CFC9A660023E2B8 /* BPreferences.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = &quot;wrapper.pb-project&quot;; name = BPreferences.xcodeproj; path = ../BPreferences/BPreferences.xcodeproj; sourceTree = SOURCE_ROOT; };
-		886B87DF0CFC9A6C0023E2B8 /* BScripts.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = &quot;wrapper.pb-project&quot;; name = BScripts.xcodeproj; path = ../BScripts/BScripts.xcodeproj; sourceTree = SOURCE_ROOT; };
-		886B87F50CFC9BBD0023E2B8 /* QuickCursor.sdef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.sdef; path = QuickCursor.sdef; sourceTree = &quot;&lt;group&gt;&quot;; };
-		886B882F0CFC9C770023E2B8 /* Tests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.octest; sourceTree = BUILT_PRODUCTS_DIR; };
-		886B88300CFC9C770023E2B8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = &quot;&lt;group&gt;&quot;; };
-		886B884B0CFCA0830023E2B8 /* TestTests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestTests.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-		886B884C0CFCA0830023E2B8 /* TestTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestTests.m; sourceTree = &quot;&lt;group&gt;&quot;; };
+		886B87480CFC97730023E2B8 /* Blocks.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = &quot;wrapper.pb-project&quot;; name = Blocks.xcodeproj; path = Vendor/Blocks/Blocks.xcodeproj; sourceTree = &quot;&lt;group&gt;&quot;; };
+		886B87970CFC989F0023E2B8 /* BLifecycle.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = &quot;wrapper.pb-project&quot;; name = BLifecycle.xcodeproj; path = Vendor/BLifecycle/BLifecycle.xcodeproj; sourceTree = &quot;&lt;group&gt;&quot;; };
+		886B87AA0CFC9A1D0023E2B8 /* BSoftwareUpdate.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = &quot;wrapper.pb-project&quot;; name = BSoftwareUpdate.xcodeproj; path = Vendor/BSoftwareUpdate/BSoftwareUpdate.xcodeproj; sourceTree = &quot;&lt;group&gt;&quot;; };
+		886B87CD0CFC9A470023E2B8 /* BCrashReporter.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = &quot;wrapper.pb-project&quot;; name = BCrashReporter.xcodeproj; path = Vendor/BCrashReporter/BCrashReporter.xcodeproj; sourceTree = &quot;&lt;group&gt;&quot;; };
 		889A49B50CFDB3910041848B /* QCUIElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QCUIElement.h; path = ../../QCUIElement.h; sourceTree = &quot;&lt;group&gt;&quot;; };
 		889A49B60CFDB3910041848B /* QCUIElement.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = QCUIElement.m; path = ../../QCUIElement.m; sourceTree = &quot;&lt;group&gt;&quot;; };
 		889A4A3F0CFDBA150041848B /* QCUserInterface.plugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = QCUserInterface.plugin; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -214,29 +163,24 @@
 		889A4A550CFDBAE00041848B /* Plugin.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Plugin.xml; sourceTree = &quot;&lt;group&gt;&quot;; };
 		889A4A750CFDBCA50041848B /* QCUserInterfaceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QCUserInterfaceController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
 		889A4A760CFDBCA50041848B /* QCUserInterfaceController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QCUserInterfaceController.m; sourceTree = &quot;&lt;group&gt;&quot;; };
-		889A4BD30CFDC5B70041848B /* ODBEditorSuite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ODBEditorSuite.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+		889A4BD30CFDC5B70041848B /* ODBEditorSuite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ODBEditorSuite.h; path = ../../ODBEditorSuite.h; sourceTree = &quot;&lt;group&gt;&quot;; };
 		889A4BE90CFDC6090041848B /* NSAppleEventDescriptor-Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = &quot;NSAppleEventDescriptor-Extensions.h&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
 		889A4BEA0CFDC6090041848B /* NSAppleEventDescriptor-Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = &quot;NSAppleEventDescriptor-Extensions.m&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
 		889A4BF30CFDC6360041848B /* ODBEditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ODBEditor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
 		889A4BF40CFDC6360041848B /* ODBEditor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ODBEditor.m; sourceTree = &quot;&lt;group&gt;&quot;; };
+		88BE415F0E7144BA00E113B7 /* SystemVersionCheck.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = &quot;wrapper.pb-project&quot;; name = SystemVersionCheck.xcodeproj; path = Vendor/SystemVersionCheck/SystemVersionCheck.xcodeproj; sourceTree = &quot;&lt;group&gt;&quot;; };
+		88BE41C00E71499900E113B7 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = &quot;&lt;group&gt;&quot;; wrapsLines = 1; };
 		8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = &quot;&lt;group&gt;&quot;; };
 		8D1107320486CEB800E47090 /* QuickCursor.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = QuickCursor.app; sourceTree = BUILT_PRODUCTS_DIR; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
-		886B882C0CFC9C770023E2B8 /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 		889A4A3D0CFDBA150041848B /* Frameworks */ = {
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 				889A4C840CFDD90D0041848B /* Cocoa.framework in Frameworks */,
-				889A4A790CFDBD550041848B /* Blocks.framework in Frameworks */,
+				88BE40E00E71439D00E113B7 /* Blocks.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -245,20 +189,13 @@
 			buildActionMask = 2147483647;
 			files = (
 				8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
-				886B87570CFC97D00023E2B8 /* Blocks.framework in Frameworks */,
+				88BE40D60E71439000E113B7 /* Blocks.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
-		080E96DDFE201D6D7F000001 /* Classes */ = {
-			isa = PBXGroup;
-			children = (
-			);
-			name = Classes;
-			sourceTree = &quot;&lt;group&gt;&quot;;
-		};
 		1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
 			isa = PBXGroup;
 			children = (
@@ -281,7 +218,6 @@
 			isa = PBXGroup;
 			children = (
 				8D1107320486CEB800E47090 /* QuickCursor.app */,
-				886B882F0CFC9C770023E2B8 /* Tests.octest */,
 				889A4A3F0CFDBA150041848B /* QCUserInterface.plugin */,
 			);
 			name = Products;
@@ -290,18 +226,15 @@
 		29B97314FDCFA39411CA2CEA /* QuickCursor */ = {
 			isa = PBXGroup;
 			children = (
+				88BE415F0E7144BA00E113B7 /* SystemVersionCheck.xcodeproj */,
 				886B87480CFC97730023E2B8 /* Blocks.xcodeproj */,
 				886B87970CFC989F0023E2B8 /* BLifecycle.xcodeproj */,
 				886B87AA0CFC9A1D0023E2B8 /* BSoftwareUpdate.xcodeproj */,
 				886B87CD0CFC9A470023E2B8 /* BCrashReporter.xcodeproj */,
-				886B87D30CFC9A5C0023E2B8 /* BUserInterface.xcodeproj */,
-				886B87D90CFC9A660023E2B8 /* BPreferences.xcodeproj */,
-				886B87DF0CFC9A6C0023E2B8 /* BScripts.xcodeproj */,
-				080E96DDFE201D6D7F000001 /* Classes */,
+				88BE41C00E71499900E113B7 /* README.txt */,
 				29B97315FDCFA39411CA2CEA /* Other Sources */,
 				29B97317FDCFA39411CA2CEA /* Resources */,
 				889A4A3A0CFDB9CF0041848B /* Plugins */,
-				886B88450CFCA0160023E2B8 /* Tests */,
 				29B97323FDCFA39411CA2CEA /* Frameworks */,
 				19C28FACFE9D520D11CA2CBB /* Products */,
 			);
@@ -323,7 +256,6 @@
 				8D1107310486CEB800E47090 /* Info.plist */,
 				089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
 				29B97318FDCFA39411CA2CEA /* MainMenu.nib */,
-				886B87F50CFC9BBD0023E2B8 /* QuickCursor.sdef */,
 				882845950D09B5F500091F25 /* Plugin.xml */,
 			);
 			name = Resources;
@@ -338,153 +270,91 @@
 			name = Frameworks;
 			sourceTree = &quot;&lt;group&gt;&quot;;
 		};
-		886B87490CFC97730023E2B8 /* Products */ = {
+		889A4A3A0CFDB9CF0041848B /* Plugins */ = {
 			isa = PBXGroup;
 			children = (
-				886B87500CFC97730023E2B8 /* Blocks.framework */,
+				889A4A460CFDBA5B0041848B /* QCUserInterface */,
 			);
-			name = Products;
+			path = Plugins;
 			sourceTree = &quot;&lt;group&gt;&quot;;
 		};
-		886B87980CFC989F0023E2B8 /* Products */ = {
+		889A4A460CFDBA5B0041848B /* QCUserInterface */ = {
 			isa = PBXGroup;
 			children = (
-				886B879C0CFC989F0023E2B8 /* BLifecycle.plugin */,
+				889A49B50CFDB3910041848B /* QCUIElement.h */,
+				889A49B60CFDB3910041848B /* QCUIElement.m */,
+				889A4A750CFDBCA50041848B /* QCUserInterfaceController.h */,
+				889A4A760CFDBCA50041848B /* QCUserInterfaceController.m */,
+				889A4BFA0CFDC65A0041848B /* ODBEditor */,
+				889A4A5B0CFDBB5E0041848B /* Resources */,
 			);
-			name = Products;
+			path = QCUserInterface;
 			sourceTree = &quot;&lt;group&gt;&quot;;
 		};
-		886B87AB0CFC9A1D0023E2B8 /* Products */ = {
+		889A4A5B0CFDBB5E0041848B /* Resources */ = {
 			isa = PBXGroup;
 			children = (
-				886B87AF0CFC9A1D0023E2B8 /* BSoftwareUpdate.plugin */,
+				889A4A400CFDBA150041848B /* Info.plist */,
+				889A4A550CFDBAE00041848B /* Plugin.xml */,
 			);
-			name = Products;
+			name = Resources;
 			sourceTree = &quot;&lt;group&gt;&quot;;
 		};
-		886B87CE0CFC9A470023E2B8 /* Products */ = {
+		889A4BFA0CFDC65A0041848B /* ODBEditor */ = {
 			isa = PBXGroup;
 			children = (
-				886B87D20CFC9A470023E2B8 /* BCrashReporter.plugin */,
+				889A4BD30CFDC5B70041848B /* ODBEditorSuite.h */,
+				889A4BF30CFDC6360041848B /* ODBEditor.h */,
+				889A4BF40CFDC6360041848B /* ODBEditor.m */,
+				889A4BE90CFDC6090041848B /* NSAppleEventDescriptor-Extensions.h */,
+				889A4BEA0CFDC6090041848B /* NSAppleEventDescriptor-Extensions.m */,
 			);
-			name = Products;
+			name = ODBEditor;
 			sourceTree = &quot;&lt;group&gt;&quot;;
 		};
-		886B87D40CFC9A5C0023E2B8 /* Products */ = {
+		88BE40970E7142E000E113B7 /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				886B87D80CFC9A5C0023E2B8 /* BUserInterface.plugin */,
+				88BE409B0E7142E000E113B7 /* Blocks.framework */,
 			);
 			name = Products;
 			sourceTree = &quot;&lt;group&gt;&quot;;
 		};
-		886B87DA0CFC9A660023E2B8 /* Products */ = {
+		88BE40A10E7142EE00E113B7 /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				886B87DE0CFC9A660023E2B8 /* BPreferences.plugin */,
+				88BE40A50E7142EE00E113B7 /* BLifecycle.plugin */,
 			);
 			name = Products;
 			sourceTree = &quot;&lt;group&gt;&quot;;
 		};
-		886B87E00CFC9A6C0023E2B8 /* Products */ = {
+		88BE40AA0E7142FA00E113B7 /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				886B87E40CFC9A6C0023E2B8 /* BScripts.plugin */,
+				88BE40AE0E7142FA00E113B7 /* BSoftwareUpdate.plugin */,
 			);
 			name = Products;
 			sourceTree = &quot;&lt;group&gt;&quot;;
 		};
-		886B88450CFCA0160023E2B8 /* Tests */ = {
+		88BE40B30E71430400E113B7 /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				886B88300CFC9C770023E2B8 /* Info.plist */,
-				886B884B0CFCA0830023E2B8 /* TestTests.h */,
-				886B884C0CFCA0830023E2B8 /* TestTests.m */,
-			);
-			path = Tests;
-			sourceTree = &quot;&lt;group&gt;&quot;;
-		};
-		889A4A040CFDB8380041848B /* External Headers */ = {
-			isa = PBXGroup;
-			children = (
-				889A4BD30CFDC5B70041848B /* ODBEditorSuite.h */,
-			);
-			name = &quot;External Headers&quot;;
-			path = ../..;
-			sourceTree = &quot;&lt;group&gt;&quot;;
-		};
-		889A4A3A0CFDB9CF0041848B /* Plugins */ = {
-			isa = PBXGroup;
-			children = (
-				889A4A460CFDBA5B0041848B /* QCUserInterface */,
-			);
-			path = Plugins;
-			sourceTree = &quot;&lt;group&gt;&quot;;
-		};
-		889A4A460CFDBA5B0041848B /* QCUserInterface */ = {
-			isa = PBXGroup;
-			children = (
-				889A4A040CFDB8380041848B /* External Headers */,
-				889A4A5D0CFDBBA00041848B /* Classes */,
-				889A4BFA0CFDC65A0041848B /* ODBEditor */,
-				889A4A5B0CFDBB5E0041848B /* Resources */,
-			);
-			path = QCUserInterface;
-			sourceTree = &quot;&lt;group&gt;&quot;;
-		};
-		889A4A5B0CFDBB5E0041848B /* Resources */ = {
-			isa = PBXGroup;
-			children = (
-				889A4A400CFDBA150041848B /* Info.plist */,
-				889A4A550CFDBAE00041848B /* Plugin.xml */,
+				88BE40B70E71430400E113B7 /* BCrashReporter.plugin */,
 			);
-			name = Resources;
-			sourceTree = &quot;&lt;group&gt;&quot;;
-		};
-		889A4A5D0CFDBBA00041848B /* Classes */ = {
-			isa = PBXGroup;
-			children = (
-				889A4A750CFDBCA50041848B /* QCUserInterfaceController.h */,
-				889A4A760CFDBCA50041848B /* QCUserInterfaceController.m */,
-				889A49B50CFDB3910041848B /* QCUIElement.h */,
-				889A49B60CFDB3910041848B /* QCUIElement.m */,
-			);
-			name = Classes;
+			name = Products;
 			sourceTree = &quot;&lt;group&gt;&quot;;
 		};
-		889A4BFA0CFDC65A0041848B /* ODBEditor */ = {
+		88BE41600E7144BA00E113B7 /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				889A4BF30CFDC6360041848B /* ODBEditor.h */,
-				889A4BF40CFDC6360041848B /* ODBEditor.m */,
-				889A4BE90CFDC6090041848B /* NSAppleEventDescriptor-Extensions.h */,
-				889A4BEA0CFDC6090041848B /* NSAppleEventDescriptor-Extensions.m */,
+				88BE41680E7144BA00E113B7 /* SystemVersionCheck */,
 			);
-			name = ODBEditor;
+			name = Products;
 			sourceTree = &quot;&lt;group&gt;&quot;;
 		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
-		886B882E0CFC9C770023E2B8 /* Tests */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 886B88330CFC9C770023E2B8 /* Build configuration list for PBXNativeTarget &quot;Tests&quot; */;
-			buildPhases = (
-				886B882A0CFC9C770023E2B8 /* Resources */,
-				886B882B0CFC9C770023E2B8 /* Sources */,
-				886B882C0CFC9C770023E2B8 /* Frameworks */,
-				886B882D0CFC9C770023E2B8 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				886B88360CFC9C8E0023E2B8 /* PBXTargetDependency */,
-			);
-			name = Tests;
-			productName = Tests;
-			productReference = 886B882F0CFC9C770023E2B8 /* Tests.octest */;
-			productType = &quot;com.apple.product-type.bundle&quot;;
-		};
 		889A4A3E0CFDBA150041848B /* QCUserInterface */ = {
 			isa = PBXNativeTarget;
 			buildConfigurationList = 889A4A430CFDBA160041848B /* Build configuration list for PBXNativeTarget &quot;QCUserInterface&quot; */;
@@ -496,7 +366,7 @@
 			buildRules = (
 			);
 			dependencies = (
-				889A4A450CFDBA200041848B /* PBXTargetDependency */,
+				88BE41BC0E71491300E113B7 /* PBXTargetDependency */,
 			);
 			name = QCUserInterface;
 			productName = QCController;
@@ -518,13 +388,11 @@
 			buildRules = (
 			);
 			dependencies = (
-				886B87520CFC97860023E2B8 /* PBXTargetDependency */,
-				886B879F0CFC98B20023E2B8 /* PBXTargetDependency */,
-				886B87E60CFC9A930023E2B8 /* PBXTargetDependency */,
-				886B87E80CFC9A930023E2B8 /* PBXTargetDependency */,
-				886B87EA0CFC9A930023E2B8 /* PBXTargetDependency */,
-				886B87EC0CFC9A930023E2B8 /* PBXTargetDependency */,
-				886B87EE0CFC9A930023E2B8 /* PBXTargetDependency */,
+				88BE416C0E7144CE00E113B7 /* PBXTargetDependency */,
+				88BE40F00E7143AF00E113B7 /* PBXTargetDependency */,
+				88BE40EE0E7143AF00E113B7 /* PBXTargetDependency */,
+				88BE40EC0E7143AF00E113B7 /* PBXTargetDependency */,
+				88BE40EA0E7143AF00E113B7 /* PBXTargetDependency */,
 				889A4A580CFDBB330041848B /* PBXTargetDependency */,
 			);
 			name = QuickCursor;
@@ -545,103 +413,73 @@
 			projectDirPath = &quot;&quot;;
 			projectReferences = (
 				{
-					ProductGroup = 886B87CE0CFC9A470023E2B8 /* Products */;
+					ProductGroup = 88BE40B30E71430400E113B7 /* Products */;
 					ProjectRef = 886B87CD0CFC9A470023E2B8 /* BCrashReporter.xcodeproj */;
 				},
 				{
-					ProductGroup = 886B87980CFC989F0023E2B8 /* Products */;
+					ProductGroup = 88BE40A10E7142EE00E113B7 /* Products */;
 					ProjectRef = 886B87970CFC989F0023E2B8 /* BLifecycle.xcodeproj */;
 				},
 				{
-					ProductGroup = 886B87490CFC97730023E2B8 /* Products */;
+					ProductGroup = 88BE40970E7142E000E113B7 /* Products */;
 					ProjectRef = 886B87480CFC97730023E2B8 /* Blocks.xcodeproj */;
 				},
 				{
-					ProductGroup = 886B87DA0CFC9A660023E2B8 /* Products */;
-					ProjectRef = 886B87D90CFC9A660023E2B8 /* BPreferences.xcodeproj */;
-				},
-				{
-					ProductGroup = 886B87E00CFC9A6C0023E2B8 /* Products */;
-					ProjectRef = 886B87DF0CFC9A6C0023E2B8 /* BScripts.xcodeproj */;
-				},
-				{
-					ProductGroup = 886B87AB0CFC9A1D0023E2B8 /* Products */;
+					ProductGroup = 88BE40AA0E7142FA00E113B7 /* Products */;
 					ProjectRef = 886B87AA0CFC9A1D0023E2B8 /* BSoftwareUpdate.xcodeproj */;
 				},
 				{
-					ProductGroup = 886B87D40CFC9A5C0023E2B8 /* Products */;
-					ProjectRef = 886B87D30CFC9A5C0023E2B8 /* BUserInterface.xcodeproj */;
+					ProductGroup = 88BE41600E7144BA00E113B7 /* Products */;
+					ProjectRef = 88BE415F0E7144BA00E113B7 /* SystemVersionCheck.xcodeproj */;
 				},
 			);
 			projectRoot = &quot;&quot;;
 			targets = (
 				8D1107260486CEB800E47090 /* QuickCursor */,
 				889A4A3E0CFDBA150041848B /* QCUserInterface */,
-				886B882E0CFC9C770023E2B8 /* Tests */,
 			);
 		};
 /* End PBXProject section */
 
 /* Begin PBXReferenceProxy section */
-		886B87500CFC97730023E2B8 /* Blocks.framework */ = {
+		88BE409B0E7142E000E113B7 /* Blocks.framework */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.framework;
 			path = Blocks.framework;
-			remoteRef = 886B874F0CFC97730023E2B8 /* PBXContainerItemProxy */;
+			remoteRef = 88BE409A0E7142E000E113B7 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		886B879C0CFC989F0023E2B8 /* BLifecycle.plugin */ = {
+		88BE40A50E7142EE00E113B7 /* BLifecycle.plugin */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.cfbundle;
 			path = BLifecycle.plugin;
-			remoteRef = 886B879B0CFC989F0023E2B8 /* PBXContainerItemProxy */;
+			remoteRef = 88BE40A40E7142EE00E113B7 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		886B87AF0CFC9A1D0023E2B8 /* BSoftwareUpdate.plugin */ = {
+		88BE40AE0E7142FA00E113B7 /* BSoftwareUpdate.plugin */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.cfbundle;
 			path = BSoftwareUpdate.plugin;
-			remoteRef = 886B87AE0CFC9A1D0023E2B8 /* PBXContainerItemProxy */;
+			remoteRef = 88BE40AD0E7142FA00E113B7 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		886B87D20CFC9A470023E2B8 /* BCrashReporter.plugin */ = {
+		88BE40B70E71430400E113B7 /* BCrashReporter.plugin */ = {
 			isa = PBXReferenceProxy;
 			fileType = wrapper.cfbundle;
 			path = BCrashReporter.plugin;
-			remoteRef = 886B87D10CFC9A470023E2B8 /* PBXContainerItemProxy */;
+			remoteRef = 88BE40B60E71430400E113B7 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		886B87D80CFC9A5C0023E2B8 /* BUserInterface.plugin */ = {
+		88BE41680E7144BA00E113B7 /* SystemVersionCheck */ = {
 			isa = PBXReferenceProxy;
-			fileType = wrapper.cfbundle;
-			path = BUserInterface.plugin;
-			remoteRef = 886B87D70CFC9A5C0023E2B8 /* PBXContainerItemProxy */;
-			sourceTree = BUILT_PRODUCTS_DIR;
-		};
-		886B87DE0CFC9A660023E2B8 /* BPreferences.plugin */ = {
-			isa = PBXReferenceProxy;
-			fileType = wrapper.cfbundle;
-			path = BPreferences.plugin;
-			remoteRef = 886B87DD0CFC9A660023E2B8 /* PBXContainerItemProxy */;
-			sourceTree = BUILT_PRODUCTS_DIR;
-		};
-		886B87E40CFC9A6C0023E2B8 /* BScripts.plugin */ = {
-			isa = PBXReferenceProxy;
-			fileType = wrapper.cfbundle;
-			path = BScripts.plugin;
-			remoteRef = 886B87E30CFC9A6C0023E2B8 /* PBXContainerItemProxy */;
+			fileType = &quot;compiled.mach-o.executable&quot;;
+			path = SystemVersionCheck;
+			remoteRef = 88BE41670E7144BA00E113B7 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
 /* End PBXReferenceProxy section */
 
 /* Begin PBXResourcesBuildPhase section */
-		886B882A0CFC9C770023E2B8 /* Resources */ = {
-			isa = PBXResourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 		889A4A3B0CFDBA150041848B /* Resources */ = {
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
@@ -656,7 +494,6 @@
 			files = (
 				8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */,
 				8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
-				886B87F60CFC9BBD0023E2B8 /* QuickCursor.sdef in Resources */,
 				882845960D09B5F500091F25 /* Plugin.xml in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -692,30 +529,9 @@
 			shellPath = /bin/sh;
 			shellScript = &quot;if [ $CONFIGURATION != 'Release' ]; then\n\texit\nfi\n\ncp \&quot;$BUILT_PRODUCTS_DIR/SystemVersionCheck\&quot; \&quot;$BUILT_PRODUCTS_DIR/$EXECUTABLE_FOLDER_PATH/$EXECUTABLE_NAME-SystemVersionCheck\&quot;&quot;;
 		};
-		886B882D0CFC9C770023E2B8 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = &quot;# Run the unit tests in this test bundle.\n\&quot;${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\&quot;\n&quot;;
-		};
 /* End PBXShellScriptBuildPhase section */
 
 /* Begin PBXSourcesBuildPhase section */
-		886B882B0CFC9C770023E2B8 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				886B884D0CFCA0830023E2B8 /* TestTests.m in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 		889A4A3C0CFDBA150041848B /* Sources */ = {
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
@@ -738,55 +554,40 @@
 /* End PBXSourcesBuildPhase section */
 
 /* Begin PBXTargetDependency section */
-		886B87520CFC97860023E2B8 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = Blocks;
-			targetProxy = 886B87510CFC97860023E2B8 /* PBXContainerItemProxy */;
-		};
-		886B879F0CFC98B20023E2B8 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = BLifecycle;
-			targetProxy = 886B879E0CFC98B20023E2B8 /* PBXContainerItemProxy */;
-		};
-		886B87E60CFC9A930023E2B8 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = BUserInterface;
-			targetProxy = 886B87E50CFC9A930023E2B8 /* PBXContainerItemProxy */;
-		};
-		886B87E80CFC9A930023E2B8 /* PBXTargetDependency */ = {
+		889A4A580CFDBB330041848B /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			name = BScripts;
-			targetProxy = 886B87E70CFC9A930023E2B8 /* PBXContainerItemProxy */;
+			target = 889A4A3E0CFDBA150041848B /* QCUserInterface */;
+			targetProxy = 889A4A570CFDBB330041848B /* PBXContainerItemProxy */;
 		};
-		886B87EA0CFC9A930023E2B8 /* PBXTargetDependency */ = {
+		88BE40EA0E7143AF00E113B7 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			name = BCrashReporter;
-			targetProxy = 886B87E90CFC9A930023E2B8 /* PBXContainerItemProxy */;
+			targetProxy = 88BE40E90E7143AF00E113B7 /* PBXContainerItemProxy */;
 		};
-		886B87EC0CFC9A930023E2B8 /* PBXTargetDependency */ = {
+		88BE40EC0E7143AF00E113B7 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			name = BSoftwareUpdate;
-			targetProxy = 886B87EB0CFC9A930023E2B8 /* PBXContainerItemProxy */;
+			targetProxy = 88BE40EB0E7143AF00E113B7 /* PBXContainerItemProxy */;
 		};
-		886B87EE0CFC9A930023E2B8 /* PBXTargetDependency */ = {
+		88BE40EE0E7143AF00E113B7 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			name = BPreferences;
-			targetProxy = 886B87ED0CFC9A930023E2B8 /* PBXContainerItemProxy */;
+			name = BLifecycle;
+			targetProxy = 88BE40ED0E7143AF00E113B7 /* PBXContainerItemProxy */;
 		};
-		886B88360CFC9C8E0023E2B8 /* PBXTargetDependency */ = {
+		88BE40F00E7143AF00E113B7 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			target = 8D1107260486CEB800E47090 /* QuickCursor */;
-			targetProxy = 886B88350CFC9C8E0023E2B8 /* PBXContainerItemProxy */;
+			name = Blocks;
+			targetProxy = 88BE40EF0E7143AF00E113B7 /* PBXContainerItemProxy */;
 		};
-		889A4A450CFDBA200041848B /* PBXTargetDependency */ = {
+		88BE416C0E7144CE00E113B7 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			name = Blocks;
-			targetProxy = 889A4A440CFDBA200041848B /* PBXContainerItemProxy */;
+			name = SystemVersionCheck;
+			targetProxy = 88BE416B0E7144CE00E113B7 /* PBXContainerItemProxy */;
 		};
-		889A4A580CFDBB330041848B /* PBXTargetDependency */ = {
+		88BE41BC0E71491300E113B7 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			target = 889A4A3E0CFDBA150041848B /* QCUserInterface */;
-			targetProxy = 889A4A570CFDBB330041848B /* PBXContainerItemProxy */;
+			name = Blocks;
+			targetProxy = 88BE41BB0E71491300E113B7 /* PBXContainerItemProxy */;
 		};
 /* End PBXTargetDependency section */
 
@@ -810,66 +611,6 @@
 /* End PBXVariantGroup section */
 
 /* Begin XCBuildConfiguration section */
-		886B88310CFC9C770023E2B8 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				BUNDLE_LOADER = &quot;$(BUILT_PRODUCTS_DIR)/$(PROJECT_NAME).app/Contents/MacOS/$(PROJECT_NAME)&quot;;
-				COPY_PHASE_STRIP = NO;
-				FRAMEWORK_SEARCH_PATHS = &quot;$(DEVELOPER_LIBRARY_DIR)/Frameworks&quot;;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = &quot;$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h&quot;;
-				INFOPLIST_FILE = Tests/Info.plist;
-				INSTALL_PATH = &quot;$(USER_LIBRARY_DIR)/Bundles&quot;;
-				OTHER_LDFLAGS = (
-					&quot;-framework&quot;,
-					Cocoa,
-					&quot;-framework&quot;,
-					SenTestingKit,
-					&quot;-undefined&quot;,
-					dynamic_lookup,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = Tests;
-				TEST_HOST = &quot;$(BUNDLE_LOADER)&quot;;
-				WRAPPER_EXTENSION = octest;
-			};
-			name = Debug;
-		};
-		886B88320CFC9C770023E2B8 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				BUNDLE_LOADER = &quot;$(BUILT_PRODUCTS_DIR)/$(PROJECT_NAME).app/Contents/MacOS/$(PROJECT_NAME)&quot;;
-				COPY_PHASE_STRIP = YES;
-				DEBUG_INFORMATION_FORMAT = &quot;dwarf-with-dsym&quot;;
-				FRAMEWORK_SEARCH_PATHS = &quot;$(DEVELOPER_LIBRARY_DIR)/Frameworks&quot;;
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-				GCC_MODEL_TUNING = G5;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = &quot;$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h&quot;;
-				INFOPLIST_FILE = Tests/Info.plist;
-				INSTALL_PATH = &quot;$(USER_LIBRARY_DIR)/Bundles&quot;;
-				OTHER_LDFLAGS = (
-					&quot;-framework&quot;,
-					Cocoa,
-					&quot;-framework&quot;,
-					SenTestingKit,
-					&quot;-undefined&quot;,
-					dynamic_lookup,
-				);
-				PREBINDING = NO;
-				PRODUCT_NAME = Tests;
-				TEST_HOST = &quot;$(BUNDLE_LOADER)&quot;;
-				WRAPPER_EXTENSION = octest;
-				ZERO_LINK = NO;
-			};
-			name = Release;
-		};
 		889A4A410CFDBA160041848B /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -984,15 +725,6 @@
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
-		886B88330CFC9C770023E2B8 /* Build configuration list for PBXNativeTarget &quot;Tests&quot; */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				886B88310CFC9C770023E2B8 /* Debug */,
-				886B88320CFC9C770023E2B8 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
 		889A4A430CFDBA160041848B /* Build configuration list for PBXNativeTarget &quot;QCUserInterface&quot; */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (</diff>
      <filename>QuickCursor.xcodeproj/project.pbxproj</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>QuickCursor.sdef</filename>
    </removed>
    <removed>
      <filename>Tests/Info.plist</filename>
    </removed>
    <removed>
      <filename>Tests/TestTests.h</filename>
    </removed>
    <removed>
      <filename>Tests/TestTests.m</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>abae14fd80ddc5f20366157287db43b44e089368</id>
    </parent>
  </parents>
  <author>
    <name>Jesse Grosjean</name>
    <email>jesse@hogbaysoftware.com</email>
  </author>
  <url>http://github.com/jessegrosjean/quickcursor/commit/dce940135b52316c5ab48bb9c07492d30d07ff96</url>
  <id>dce940135b52316c5ab48bb9c07492d30d07ff96</id>
  <committed-date>2008-09-05T06:59:10-07:00</committed-date>
  <authored-date>2008-09-05T06:59:10-07:00</authored-date>
  <message>version 0.2</message>
  <tree>b60a6c5fa9a08f0a0faca5498e824469bd6c1f6d</tree>
  <committer>
    <name>Jesse Grosjean</name>
    <email>jesse@hogbaysoftware.com</email>
  </committer>
</commit>
