Author: torehalset Date: Mon Aug 21 13:09:22 2006 New Revision: 433339 URL: http://svn.apache.org/viewvc?rev=433339&view=rev Log: first import - try 2
Added:
incubator/cayenne/sandbox/CocoaCayenne/AppController.h
incubator/cayenne/sandbox/CocoaCayenne/AppController.m
incubator/cayenne/sandbox/CocoaCayenne/Artist.h
incubator/cayenne/sandbox/CocoaCayenne/Artist.m
incubator/cayenne/sandbox/CocoaCayenne/CAYBootstrapMessage.h
incubator/cayenne/sandbox/CocoaCayenne/CAYBootstrapMessage.m
incubator/cayenne/sandbox/CocoaCayenne/CAYClient.xcodeproj/
incubator/cayenne/sandbox/CocoaCayenne/CAYClient.xcodeproj/halset.mode1
incubator/cayenne/sandbox/CocoaCayenne/CAYClient.xcodeproj/halset.pbxuser
incubator/cayenne/sandbox/CocoaCayenne/CAYClient.xcodeproj/project.pbxproj
incubator/cayenne/sandbox/CocoaCayenne/CAYClientConnection.h
incubator/cayenne/sandbox/CocoaCayenne/CAYClientConnection.m
incubator/cayenne/sandbox/CocoaCayenne/CAYClientMessage.h
incubator/cayenne/sandbox/CocoaCayenne/CAYClientMessage.m
incubator/cayenne/sandbox/CocoaCayenne/CAYClientObjRelationship.h
incubator/cayenne/sandbox/CocoaCayenne/CAYClientObjRelationship.m
incubator/cayenne/sandbox/CocoaCayenne/CAYClient_Prefix.pch
incubator/cayenne/sandbox/CocoaCayenne/CAYEntityResolver.h
incubator/cayenne/sandbox/CocoaCayenne/CAYEntityResolver.m
incubator/cayenne/sandbox/CocoaCayenne/CAYGenericResponse.h
incubator/cayenne/sandbox/CocoaCayenne/CAYGenericResponse.m
incubator/cayenne/sandbox/CocoaCayenne/CAYHessianConnection.h
incubator/cayenne/sandbox/CocoaCayenne/CAYHessianConnection.m
incubator/cayenne/sandbox/CocoaCayenne/CAYNamedQuery.h
incubator/cayenne/sandbox/CocoaCayenne/CAYNamedQuery.m
incubator/cayenne/sandbox/CocoaCayenne/CAYObjEntity.h
incubator/cayenne/sandbox/CocoaCayenne/CAYObjEntity.m
incubator/cayenne/sandbox/CocoaCayenne/CAYObjectContext.h
incubator/cayenne/sandbox/CocoaCayenne/CAYObjectContext.m
incubator/cayenne/sandbox/CocoaCayenne/CAYObjectId.h
incubator/cayenne/sandbox/CocoaCayenne/CAYObjectId.m
incubator/cayenne/sandbox/CocoaCayenne/CAYPersistentObject.h
incubator/cayenne/sandbox/CocoaCayenne/CAYPersistentObject.m
incubator/cayenne/sandbox/CocoaCayenne/CAYQuery.h
incubator/cayenne/sandbox/CocoaCayenne/CAYQuery.m
incubator/cayenne/sandbox/CocoaCayenne/CAYQueryMessage.h
incubator/cayenne/sandbox/CocoaCayenne/CAYQueryMessage.m
incubator/cayenne/sandbox/CocoaCayenne/CAYRelationshipQuery.h
incubator/cayenne/sandbox/CocoaCayenne/CAYRelationshipQuery.m
incubator/cayenne/sandbox/CocoaCayenne/CAYRemoteSession.h
incubator/cayenne/sandbox/CocoaCayenne/CAYRemoteSession.m
incubator/cayenne/sandbox/CocoaCayenne/English.lproj/
incubator/cayenne/sandbox/CocoaCayenne/English.lproj/InfoPlist.strings
(with props)
incubator/cayenne/sandbox/CocoaCayenne/English.lproj/MainMenu.nib/
incubator/cayenne/sandbox/CocoaCayenne/English.lproj/MainMenu.nib/classes.nib
incubator/cayenne/sandbox/CocoaCayenne/English.lproj/MainMenu.nib/info.nib
incubator/cayenne/sandbox/CocoaCayenne/English.lproj/MainMenu.nib/keyedobjects.nib
(with props)
incubator/cayenne/sandbox/CocoaCayenne/English.lproj/MainMenu~.nib/
incubator/cayenne/sandbox/CocoaCayenne/English.lproj/MainMenu~.nib/classes.nib
incubator/cayenne/sandbox/CocoaCayenne/English.lproj/MainMenu~.nib/info.nib
incubator/cayenne/sandbox/CocoaCayenne/English.lproj/MainMenu~.nib/keyedobjects.nib
(with props)
incubator/cayenne/sandbox/CocoaCayenne/Gallery.h
incubator/cayenne/sandbox/CocoaCayenne/Gallery.m
incubator/cayenne/sandbox/CocoaCayenne/Info.plist
incubator/cayenne/sandbox/CocoaCayenne/Japanese.lproj/
incubator/cayenne/sandbox/CocoaCayenne/Japanese.lproj/InfoPlist.strings
(with props)
incubator/cayenne/sandbox/CocoaCayenne/Japanese.lproj/MainMenu.nib/
incubator/cayenne/sandbox/CocoaCayenne/Japanese.lproj/MainMenu.nib/classes.nib
incubator/cayenne/sandbox/CocoaCayenne/Japanese.lproj/MainMenu.nib/info.nib
incubator/cayenne/sandbox/CocoaCayenne/Japanese.lproj/MainMenu.nib/keyedobjects.nib
(with props)
incubator/cayenne/sandbox/CocoaCayenne/Painting.h
incubator/cayenne/sandbox/CocoaCayenne/Painting.m
incubator/cayenne/sandbox/CocoaCayenne/main.m
Added: incubator/cayenne/sandbox/CocoaCayenne/AppController.h
URL:
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/AppController.h?rev=433339&view=auto
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/AppController.h (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/AppController.h Mon Aug 21 13:09:22
2006
@@ -0,0 +1,12 @@
+/* AppController */
+
+#import <Cocoa/Cocoa.h>
+
[EMAIL PROTECTED] AppController : NSObject
+{
+ IBOutlet NSArrayController *queryResultController;
+}
+
+- (IBAction)query:(id)sender;
+
[EMAIL PROTECTED]
Added: incubator/cayenne/sandbox/CocoaCayenne/AppController.m
URL:
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/AppController.m?rev=433339&view=auto
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/AppController.m (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/AppController.m Mon Aug 21 13:09:22
2006
@@ -0,0 +1,94 @@
+#import <HessianObjC/BBSHessianObjC.h>
+#import "AppController.h"
+#import "CAYBootstrapMessage.h"
+#import "CAYNamedQuery.h"
+#import "CAYQueryMessage.h"
+#import "CAYObjectContext.h"
+#import "CAYHessianConnection.h"
+#import "CAYObjEntity.h"
+
[EMAIL PROTECTED] AppController
+
+- (IBAction)query:(id)sender
+{
+ NSLog(@"start query..");
+
+ // map cayenne java class name to local class name
+ NSMutableDictionary *classMapping = [[NSMutableDictionary dictionary]
retain];
+ //[classMapping setObject:@"CAYRemoteSession"
forKey:@"org.objectstyle.cayenne.remote.RemoteSession"];
+ [classMapping setObject:@"CAYBootstrapMessage"
forKey:@"org.objectstyle.cayenne.remote.BootstrapMessage"];
+ [classMapping setObject:@"CAYQueryMessage"
forKey:@"org.objectstyle.cayenne.remote.QueryMessage"];
+ [classMapping setObject:@"CAYNamedQuery"
forKey:@"org.objectstyle.cayenne.query.NamedQuery"];
+ [classMapping setObject:@"CAYRelationshipQuery"
forKey:@"org.objectstyle.cayenne.query.RelationshipQuery"];
+ [classMapping setObject:@"CAYGenericResponse"
forKey:@"org.objectstyle.cayenne.util.GenericResponse"];
+ [classMapping setObject:@"CAYObjectId"
forKey:@"org.objectstyle.cayenne.ObjectId"];
+ [classMapping setObject:@"CAYObjEntity"
forKey:@"org.objectstyle.cayenne.map.ObjEntity"];
+ [classMapping setObject:@"CAYClientObjRelationship"
forKey:@"org.objectstyle.cayenne.map.ClientObjRelationship"];
+ //[classMapping setObject:@"CAYDataMap"
forKey:@"org.objectstyle.cayenne.map.DataMap"];
+
+ // connect to the server
+ // TODO: basic authentication and/or session management
+ NSURL * url = [NSURL
URLWithString:@"http://localhost:8080/cayenne-service"];
+ BBSHessianProxy * proxy = [[BBSHessianProxy alloc] initWithUrl:url];
+ [BBSHessianProxy setClassMapping:classMapping];
+
+ CAYHessianConnection *conn = [[CAYHessianConnection alloc] init];
+ [conn setProxy:proxy];
+ [proxy release];
+
+ CAYObjectContext *ctxt = [[CAYObjectContext alloc] init];
+ [ctxt setConnection:conn];
+ [conn release];
+
+ id result1 = [proxy callSynchronous:@"establishSession"
withParameters:nil];
+ NSLog(@"result1 %@", result1);
+
+ CAYBootstrapMessage *bootstrapMsg = [[CAYBootstrapMessage alloc] init];
+ id bootresult = [conn sendMessage:bootstrapMsg];
+ //NSLog(@"bootresult: %@", bootresult);
+ [bootstrapMsg release];
+
+ id datamaps = [bootresult valueForKey:@"maps"];
+ // TODO: handle more than one map?
+ id datamap = [datamaps objectAtIndex:0];
+ NSLog(@"datamap.name: %@", [datamap valueForKey:@"name"]);
+
+ id objEntityMap = [datamap valueForKey:@"objEntityMap"];
+ // objEntityMap:
+ // - key: Artist, value ObjEntity
+ // objEntity:
+ // - key: className, value: cayenne.tutorial.client.Artist
+ // - key: "relationships", value: NSArray of ClientObjRelationship
+ // ClientObjRelationship:
+ // - key: "paintings",
+
+ NSEnumerator *enumerator = [objEntityMap keyEnumerator];
+ NSString *entityName;
+ while(entityName = [enumerator nextObject])
+ {
+ // TODO: create a CAYDataMap so that it is not mapped to a
NSDictionary with the special
+ // hessianClassName entry
+ if(![entityName isEqualToString:@"hessianClassName"])
+ {
+ NSLog(@"found entitya %@", entityName);
+ CAYObjEntity *entity = [objEntityMap
objectForKey:entityName];
+ NSLog(@"mapping client %@ to server %@", [entity
valueForKey:@"name"], [entity valueForKey:@"className"]);
+ }
+ }
+
+
+ CAYNamedQuery *query = [[CAYNamedQuery alloc] init];
+ [query setName:@"objcquery"];
+
+ NSArray *rows = [ctxt performQyery:query];
+
+ [queryResultController removeObjects:[queryResultController
arrangedObjects]];
+ [queryResultController addObjects:rows];
+
+ [query release];
+ [classMapping release];
+ [ctxt release];
+
+}
+
[EMAIL PROTECTED]
Added: incubator/cayenne/sandbox/CocoaCayenne/Artist.h
URL:
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/Artist.h?rev=433339&view=auto
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/Artist.h (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/Artist.h Mon Aug 21 13:09:22 2006
@@ -0,0 +1,16 @@
+//
+// Artist.h
+// CAYClient
+//
+// Created by Tore Halset on 8/14/06.
+// Copyright 2006 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "CAYPersistentObject.h"
+
[EMAIL PROTECTED] Artist : CAYPersistentObject {
+
+}
+
[EMAIL PROTECTED]
Added: incubator/cayenne/sandbox/CocoaCayenne/Artist.m
URL:
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/Artist.m?rev=433339&view=auto
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/Artist.m (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/Artist.m Mon Aug 21 13:09:22 2006
@@ -0,0 +1,14 @@
+//
+// Artist.m
+// CAYClient
+//
+// Created by Tore Halset on 8/14/06.
+// Copyright 2006 __MyCompanyName__. All rights reserved.
+//
+
+#import "Artist.h"
+
+
[EMAIL PROTECTED] Artist
+
[EMAIL PROTECTED]
Added: incubator/cayenne/sandbox/CocoaCayenne/CAYBootstrapMessage.h
URL:
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CAYBootstrapMessage.h?rev=433339&view=auto
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CAYBootstrapMessage.h (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CAYBootstrapMessage.h Mon Aug 21
13:09:22 2006
@@ -0,0 +1,16 @@
+//
+// BootstrapMessage.h
+// CAYClient
+//
+// Created by Tore Halset on 8/12/06.
+// Copyright 2006 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "CAYClientMessage.h"
+
[EMAIL PROTECTED] CAYBootstrapMessage : CAYClientMessage <NSCoding> {
+
+}
+
[EMAIL PROTECTED]
Added: incubator/cayenne/sandbox/CocoaCayenne/CAYBootstrapMessage.m
URL:
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CAYBootstrapMessage.m?rev=433339&view=auto
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CAYBootstrapMessage.m (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CAYBootstrapMessage.m Mon Aug 21
13:09:22 2006
@@ -0,0 +1,25 @@
+//
+// BootstrapMessage.m
+// CAYClient
+//
+// Created by Tore Halset on 8/12/06.
+// Copyright 2006 __MyCompanyName__. All rights reserved.
+//
+
+#import "CAYBootstrapMessage.h"
+
+
[EMAIL PROTECTED] CAYBootstrapMessage
+
+
+-(id)initWithCoder:(NSCoder*)coder
+{
+ [super init];
+ return self;
+}
+
+-(void)encodeWithCoder:(NSCoder*)coder
+{
+}
+
[EMAIL PROTECTED]
Added: incubator/cayenne/sandbox/CocoaCayenne/CAYClient.xcodeproj/halset.mode1
URL:
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CAYClient.xcodeproj/halset.mode1?rev=433339&view=auto
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CAYClient.xcodeproj/halset.mode1
(added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CAYClient.xcodeproj/halset.mode1 Mon
Aug 21 13:09:22 2006
@@ -0,0 +1,1473 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>ActivePerspectiveName</key>
+ <string>Project</string>
+ <key>AllowedModules</key>
+ <array>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Name</key>
+ <string>Groups and Files Outline View</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Name</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCTaskListModule</string>
+ <key>Name</key>
+ <string>Task List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Name</key>
+ <string>File and Smart Group Detail Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Name</key>
+ <string>Detailed Build Results Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Name</key>
+ <string>Project Batch Find Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXRunSessionModule</string>
+ <key>Name</key>
+ <string>Run Log</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Name</key>
+ <string>Bookmarks Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Name</key>
+ <string>Class Browser</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Name</key>
+ <string>Source Code Control Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXDebugBreakpointsModule</string>
+ <key>Name</key>
+ <string>Debug Breakpoints Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDockableInspector</string>
+ <key>Name</key>
+ <string>Inspector</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXOpenQuicklyModule</string>
+ <key>Name</key>
+ <string>Open Quickly Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Name</key>
+ <string>Debugger</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Name</key>
+ <string>Debug Console</string>
+ </dict>
+ </array>
+ <key>Description</key>
+ <string>DefaultDescriptionKey</string>
+ <key>DockingSystemVisible</key>
+ <false/>
+ <key>Extension</key>
+ <string>mode1</string>
+ <key>FavBarConfig</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>4417DB570A8D2FCE000FE4DB</string>
+ <key>XCBarModuleItemNames</key>
+ <dict/>
+ <key>XCBarModuleItems</key>
+ <array/>
+ </dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>com.apple.perspectives.project.mode1</string>
+ <key>MajorVersion</key>
+ <integer>31</integer>
+ <key>MinorVersion</key>
+ <integer>1</integer>
+ <key>Name</key>
+ <string>Default</string>
+ <key>Notifications</key>
+ <array/>
+ <key>OpenEditors</key>
+ <array/>
+ <key>PerspectiveWidths</key>
+ <array>
+ <integer>-1</integer>
+ <integer>-1</integer>
+ </array>
+ <key>Perspectives</key>
+ <array>
+ <dict>
+ <key>ChosenToolbarItems</key>
+ <array>
+ <string>active-target-popup</string>
+ <string>action</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>clean-target</string>
+ <string>buildOrClean</string>
+ <string>build-and-runOrDebug</string>
+
<string>com.apple.ide.PBXToolbarStopButton</string>
+ <string>get-info</string>
+ <string>toggle-editor</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+
<string>com.apple.pbx.toolbar.searchfield</string>
+ </array>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProjectWithEditor</string>
+ <key>Identifier</key>
+ <string>perspective.project</string>
+ <key>IsVertical</key>
+ <false/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+
<key>PBXBottomSmartGroupGIDs</key>
+ <array>
+
<string>1C37FBAC04509CD000000102</string>
+
<string>1C37FAAC04509CD000000102</string>
+
<string>1C08E77C0454961000C914BD</string>
+
<string>1C37FABC05509CD000000102</string>
+
<string>1C37FABC05539CD112110102</string>
+
<string>E2644B35053B69B200211256</string>
+
<string>1C37FABC04509CD000100104</string>
+
<string>1CC0EA4004350EF90044410B</string>
+
<string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+
<string>1CE0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+
<key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+
<key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>271</real>
+ </array>
+
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+
<string>MainColumn</string>
+ </array>
+ </dict>
+
<key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+
<key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+
<string>29B97314FDCFA39411CA2CEA</string>
+
<string>080E96DDFE201D6D7F000001</string>
+
<string>443968F50A90A08B005BD842</string>
+
<string>443968F40A90A07F005BD842</string>
+
<string>29B97315FDCFA39411CA2CEA</string>
+
<string>29B97317FDCFA39411CA2CEA</string>
+
<string>1C37FABC05509CD000000102</string>
+ </array>
+
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+
<integer>46</integer>
+
<integer>42</integer>
+
<integer>0</integer>
+ </array>
+ </array>
+
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 395},
{271, 659}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+
<key>XCIncludePerspectivesSwitch</key>
+ <true/>
+ <key>XCSharingToken</key>
+
<string>com.apple.Xcode.GFSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {288,
677}}</string>
+
<key>GroupTreeTableConfiguration</key>
+ <array>
+
<string>MainColumn</string>
+ <real>271</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>661 152 1006 718 0 0
1680 1028 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>288pt</string>
+ </dict>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>PBXProjectModuleGUID</key>
+
<string>1CE0B20306471E060097A5F4</string>
+
<key>PBXProjectModuleLabel</key>
+
<string>AppController.m</string>
+
<key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+
<key>Split0</key>
+ <dict>
+
<key>PBXProjectModuleGUID</key>
+
<string>1CE0B20406471E060097A5F4</string>
+
<key>PBXProjectModuleLabel</key>
+
<string>AppController.m</string>
+
<key>_historyCapacity</key>
+
<integer>0</integer>
+
<key>bookmark</key>
+
<string>44DA7B350A9A49510073B37F</string>
+
<key>history</key>
+
<array>
+
<string>4417E2F50A908F5D000FE4DB</string>
+
<string>4417E2F60A908F5D000FE4DB</string>
+
<string>443968790A909A90005BD842</string>
+
<string>443968820A909A90005BD842</string>
+
<string>443968850A909A90005BD842</string>
+
<string>443968860A909A90005BD842</string>
+
<string>4439690E0A90EE73005BD842</string>
+
<string>4439690F0A90EE73005BD842</string>
+
<string>44FC069F0A91114B00704DDC</string>
+
<string>44FC06A00A91114B00704DDC</string>
+
<string>44A6F9110A98ECB300E04AE1</string>
+
<string>44A6F9120A98ECB300E04AE1</string>
+
<string>44A6F9160A98ECB300E04AE1</string>
+
<string>44A6F9180A98ECB300E04AE1</string>
+
<string>44A6F9210A98ECB300E04AE1</string>
+
<string>44A6F9D00A98F34200E04AE1</string>
+
<string>44A6FA160A98F94100E04AE1</string>
+
<string>44A6FA170A98F94100E04AE1</string>
+
<string>44A6FA1B0A98F94100E04AE1</string>
+
<string>44A6FA1C0A98F94100E04AE1</string>
+
<string>44DA7ADA0A9A43900073B37F</string>
+
<string>44DA7B010A9A48030073B37F</string>
+
<string>44DA7B020A9A48030073B37F</string>
+
<string>44DA7B030A9A48030073B37F</string>
+
<string>44DA7B040A9A48030073B37F</string>
+
<string>44DA7B050A9A48030073B37F</string>
+
<string>44DA7B060A9A48030073B37F</string>
+
<string>44DA7B070A9A48030073B37F</string>
+
<string>44DA7B080A9A48030073B37F</string>
+
<string>44DA7B090A9A48030073B37F</string>
+
<string>44DA7B0A0A9A48030073B37F</string>
+
<string>44DA7B0B0A9A48030073B37F</string>
+
<string>44DA7B0C0A9A48030073B37F</string>
+
<string>44DA7B0D0A9A48030073B37F</string>
+
<string>44DA7B0E0A9A48030073B37F</string>
+
<string>44DA7B0F0A9A48030073B37F</string>
+
<string>44DA7B100A9A48030073B37F</string>
+
<string>44DA7B110A9A48030073B37F</string>
+
<string>44DA7B120A9A48030073B37F</string>
+
<string>44DA7B130A9A48030073B37F</string>
+
<string>44DA7B140A9A48030073B37F</string>
+
</array>
+
<key>prevStack</key>
+
<array>
+
<string>4417DC910A8D48C8000FE4DB</string>
+
<string>4417DC920A8D48C8000FE4DB</string>
+
<string>4417DD350A8D502C000FE4DB</string>
+
<string>4417DD360A8D502C000FE4DB</string>
+
<string>4417DD390A8D502C000FE4DB</string>
+
<string>4417DD3B0A8D502C000FE4DB</string>
+
<string>4417DD400A8D502C000FE4DB</string>
+
<string>4417DD490A8D502C000FE4DB</string>
+
<string>4417DD7C0A8D52E5000FE4DB</string>
+
<string>4417DD9B0A8D554E000FE4DB</string>
+
<string>4417DD9C0A8D554E000FE4DB</string>
+
<string>4417DDE20A8D56C7000FE4DB</string>
+
<string>4417DE380A8D591F000FE4DB</string>
+
<string>4417DE570A8E6793000FE4DB</string>
+
<string>4417E0200A8FC7C4000FE4DB</string>
+
<string>4417E0220A8FC7C4000FE4DB</string>
+
<string>4417E0240A8FC7C4000FE4DB</string>
+
<string>4417E1170A8FD0CF000FE4DB</string>
+
<string>4417E1180A8FD0CF000FE4DB</string>
+
<string>4417E1210A8FD0CF000FE4DB</string>
+
<string>4417E1440A8FD0CF000FE4DB</string>
+
<string>4417E15B0A8FD0CF000FE4DB</string>
+
<string>4417E1DF0A8FD33D000FE4DB</string>
+
<string>4417E1EE0A8FD55C000FE4DB</string>
+
<string>4417E20C0A8FD7F3000FE4DB</string>
+
<string>4417E30F0A908F5D000FE4DB</string>
+
<string>4417E3100A908F5D000FE4DB</string>
+
<string>443968A40A909A90005BD842</string>
+
<string>443968A50A909A90005BD842</string>
+
<string>443968C80A909BDD005BD842</string>
+
<string>443968D70A909C35005BD842</string>
+
<string>443969130A90EE73005BD842</string>
+
<string>443969140A90EE73005BD842</string>
+
<string>443969150A90EE73005BD842</string>
+
<string>44FC06A40A91114B00704DDC</string>
+
<string>44FC06D50A924A1C00704DDC</string>
+
<string>44A6F92F0A98ECB300E04AE1</string>
+
<string>44A6F9400A98ECB300E04AE1</string>
+
<string>44A6F94D0A98ECB300E04AE1</string>
+
<string>44A6F9530A98ECB300E04AE1</string>
+
<string>44A6FA510A98F94100E04AE1</string>
+
<string>44DA7AD20A9A43590073B37F</string>
+
<string>44DA7AD30A9A43590073B37F</string>
+
<string>44DA7AD40A9A43590073B37F</string>
+
<string>44DA7ADC0A9A43900073B37F</string>
+
<string>44DA7ADD0A9A43900073B37F</string>
+
<string>44DA7ADE0A9A43900073B37F</string>
+
<string>44DA7ADF0A9A43900073B37F</string>
+
<string>44DA7B150A9A48030073B37F</string>
+
<string>44DA7B160A9A48030073B37F</string>
+
<string>44DA7B170A9A48030073B37F</string>
+
<string>44DA7B180A9A48030073B37F</string>
+
<string>44DA7B190A9A48030073B37F</string>
+
<string>44DA7B1A0A9A48030073B37F</string>
+
<string>44DA7B1B0A9A48030073B37F</string>
+
<string>44DA7B1C0A9A48030073B37F</string>
+
<string>44DA7B1D0A9A48030073B37F</string>
+
<string>44DA7B1E0A9A48030073B37F</string>
+
<string>44DA7B1F0A9A48030073B37F</string>
+
<string>44DA7B200A9A48030073B37F</string>
+
<string>44DA7B210A9A48030073B37F</string>
+
<string>44DA7B220A9A48030073B37F</string>
+
<string>44DA7B230A9A48030073B37F</string>
+
<string>44DA7B240A9A48030073B37F</string>
+
<string>44DA7B250A9A48030073B37F</string>
+
<string>44DA7B260A9A48030073B37F</string>
+
<string>44DA7B270A9A48030073B37F</string>
+
<string>44DA7B280A9A48030073B37F</string>
+
<string>44DA7B290A9A48030073B37F</string>
+
<string>44DA7B2A0A9A48030073B37F</string>
+
<string>44DA7B2B0A9A48030073B37F</string>
+
<string>44DA7B2C0A9A48030073B37F</string>
+
<string>44DA7B2D0A9A48030073B37F</string>
+
<string>44DA7B2E0A9A48030073B37F</string>
+
</array>
+ </dict>
+
<key>SplitCount</key>
+
<string>1</string>
+ </dict>
+
<key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0,
0}, {713, 558}}</string>
+
<key>RubberWindowFrame</key>
+ <string>661 152
1006 718 0 0 1680 1028 </string>
+ </dict>
+ <key>Module</key>
+
<string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>558pt</string>
+ </dict>
+ <dict>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>PBXProjectModuleGUID</key>
+
<string>1CE0B20506471E060097A5F4</string>
+
<key>PBXProjectModuleLabel</key>
+
<string>Detail</string>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0,
563}, {713, 114}}</string>
+
<key>RubberWindowFrame</key>
+ <string>661 152
1006 718 0 0 1680 1028 </string>
+ </dict>
+ <key>Module</key>
+
<string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>114pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>713pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCModuleDock</string>
+ <string>PBXNavigatorGroup</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>44DA7AC10A9A42FE0073B37F</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>44DA7AC20A9A42FE0073B37F</string>
+ <string>1CE0B20306471E060097A5F4</string>
+ <string>1CE0B20506471E060097A5F4</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.default</string>
+ </dict>
+ <dict>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProject</string>
+ <key>Identifier</key>
+ <string>perspective.morph</string>
+ <key>IsVertical</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+
<key>PBXBottomSmartGroupGIDs</key>
+ <array>
+
<string>1C37FBAC04509CD000000102</string>
+
<string>1C37FAAC04509CD000000102</string>
+
<string>1C08E77C0454961000C914BD</string>
+
<string>1C37FABC05509CD000000102</string>
+
<string>1C37FABC05539CD112110102</string>
+
<string>E2644B35053B69B200211256</string>
+
<string>1C37FABC04509CD000100104</string>
+
<string>1CC0EA4004350EF90044410B</string>
+
<string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+
<string>11E0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+
<key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+
<key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>186</real>
+ </array>
+
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+
<string>MainColumn</string>
+ </array>
+ </dict>
+
<key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+
<key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+
<string>29B97314FDCFA39411CA2CEA</string>
+
<string>1C37FABC05509CD000000102</string>
+ </array>
+
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+
<integer>0</integer>
+ </array>
+ </array>
+
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {186,
337}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+
<key>XCIncludePerspectivesSwitch</key>
+ <integer>1</integer>
+ <key>XCSharingToken</key>
+
<string>com.apple.Xcode.GFSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {203,
355}}</string>
+
<key>GroupTreeTableConfiguration</key>
+ <array>
+
<string>MainColumn</string>
+ <real>186</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>373 269 690 397 0 0
1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Morph</string>
+ <key>PreferredWidth</key>
+ <integer>300</integer>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>11E0B1FE06471DED0097A5F4</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.default.short</string>
+ </dict>
+ </array>
+ <key>PerspectivesBarVisible</key>
+ <false/>
+ <key>ShelfIsVisible</key>
+ <false/>
+ <key>SourceDescription</key>
+ <string>file at
'/System/Library/PrivateFrameworks/DevToolsInterface.framework/Versions/A/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TimeStamp</key>
+ <real>0.0</real>
+ <key>ToolbarDisplayMode</key>
+ <integer>1</integer>
+ <key>ToolbarIsVisible</key>
+ <true/>
+ <key>ToolbarSizeMode</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Perspectives</string>
+ <key>UpdateMessage</key>
+ <string>The Default Workspace in this version of Xcode now includes
support to hide and show the detail view (what has been referred to as the
"Metro-Morph" feature). You must discard your current Default Workspace
settings and update to the latest Default Workspace in order to gain this
feature. Do you wish to update to the latest Workspace defaults for project
'%@'?</string>
+ <key>WindowJustification</key>
+ <integer>5</integer>
+ <key>WindowOrderList</key>
+ <array>
+ <string>4417DB580A8D2FCE000FE4DB</string>
+ <string>44DA7ACA0A9A42FE0073B37F</string>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <string>1C0AD2B3069F1EA900FABCE6</string>
+
<string>/Users/halset/projects/CAYClient/CAYClient.xcodeproj</string>
+ </array>
+ <key>WindowString</key>
+ <string>661 152 1006 718 0 0 1680 1028 </string>
+ <key>WindowTools</key>
+ <array>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.build</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>PBXProjectModuleGUID</key>
+
<string>1CD0528F0623707200166675</string>
+
<key>PBXProjectModuleLabel</key>
+
<string></string>
+
<key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0,
0}, {853, 416}}</string>
+
<key>RubberWindowFrame</key>
+ <string>-2 105
853 741 0 0 1680 1028 </string>
+ </dict>
+ <key>Module</key>
+
<string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>416pt</string>
+ </dict>
+ <dict>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>PBXBuildLogShowsTranscriptDefaultKey</key>
+ <string>{{0,
5}, {853, 274}}</string>
+
<key>PBXProjectModuleGUID</key>
+
<string>XCMainBuildResultsModuleGUID</string>
+
<key>PBXProjectModuleLabel</key>
+
<string>Build</string>
+
<key>XCBuildResultsTrigger_Collapse</key>
+
<integer>1021</integer>
+
<key>XCBuildResultsTrigger_Open</key>
+
<integer>1011</integer>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0,
421}, {853, 279}}</string>
+
<key>RubberWindowFrame</key>
+ <string>-2 105
853 741 0 0 1680 1028 </string>
+ </dict>
+ <key>Module</key>
+
<string>PBXBuildResultsModule</string>
+ <key>Proportion</key>
+ <string>279pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>700pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Build Results</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBuildResultsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>4417DB580A8D2FCE000FE4DB</string>
+ <string>44DA7AC30A9A42FE0073B37F</string>
+ <string>1CD0528F0623707200166675</string>
+ <string>XCMainBuildResultsModuleGUID</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.build</string>
+ <key>WindowString</key>
+ <string>-2 105 853 741 0 0 1680 1028 </string>
+ <key>WindowToolGUID</key>
+ <string>4417DB580A8D2FCE000FE4DB</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.debugger</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>Debugger</key>
+ <dict>
+
<key>HorizontalSplitView</key>
+ <dict>
+
<key>_collapsingFrameDimension</key>
+
<real>0.0</real>
+
<key>_indexOfCollapsedView</key>
+
<integer>0</integer>
+
<key>_percentageOfCollapsedView</key>
+
<real>0.0</real>
+
<key>isCollapsed</key>
+
<string>yes</string>
+
<key>sizes</key>
+
<array>
+
<string>{{0, 0}, {400, 267}}</string>
+
<string>{{400, 0}, {535, 267}}</string>
+
</array>
+ </dict>
+
<key>VerticalSplitView</key>
+ <dict>
+
<key>_collapsingFrameDimension</key>
+
<real>0.0</real>
+
<key>_indexOfCollapsedView</key>
+
<integer>0</integer>
+
<key>_percentageOfCollapsedView</key>
+
<real>0.0</real>
+
<key>isCollapsed</key>
+
<string>yes</string>
+
<key>sizes</key>
+
<array>
+
<string>{{0, 0}, {935, 267}}</string>
+
<string>{{0, 267}, {935, 242}}</string>
+
</array>
+ </dict>
+ </dict>
+
<key>LauncherConfigVersion</key>
+
<string>8</string>
+
<key>PBXProjectModuleGUID</key>
+
<string>1C162984064C10D400B95A72</string>
+
<key>PBXProjectModuleLabel</key>
+ <string>Debug -
GLUTExamples (Underwater)</string>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+
<key>DebugConsoleDrawerSize</key>
+ <string>{100,
120}</string>
+
<key>DebugConsoleVisible</key>
+
<string>None</string>
+
<key>DebugConsoleWindowFrame</key>
+ <string>{{200,
200}, {500, 300}}</string>
+
<key>DebugSTDIOWindowFrame</key>
+ <string>{{200,
200}, {500, 300}}</string>
+ <key>Frame</key>
+ <string>{{0,
0}, {935, 509}}</string>
+
<key>RubberWindowFrame</key>
+ <string>514 309
935 550 0 0 1680 1028 </string>
+ </dict>
+ <key>Module</key>
+
<string>PBXDebugSessionModule</string>
+ <key>Proportion</key>
+ <string>509pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>509pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugSessionModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <string>44DA7AC40A9A42FE0073B37F</string>
+ <string>1C162984064C10D400B95A72</string>
+ <string>44DA7AC50A9A42FE0073B37F</string>
+ <string>44DA7AC60A9A42FE0073B37F</string>
+ <string>44DA7AC70A9A42FE0073B37F</string>
+ <string>44DA7AC80A9A42FE0073B37F</string>
+ <string>44DA7AC90A9A42FE0073B37F</string>
+ <string>44DA7ACA0A9A42FE0073B37F</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debug</string>
+ <key>WindowString</key>
+ <string>514 309 935 550 0 0 1680 1028 </string>
+ <key>WindowToolGUID</key>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <key>WindowToolIsVisible</key>
+ <true/>
+ </dict>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.find</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>PBXProjectModuleGUID</key>
+
<string>1CDD528C0622207200134675</string>
+
<key>PBXProjectModuleLabel</key>
+
<string></string>
+
<key>StatusBarVisibility</key>
+
<true/>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+
<key>Frame</key>
+
<string>{{0, 0}, {781, 212}}</string>
+
<key>RubberWindowFrame</key>
+
<string>39 486 781 470 0 0 1680 1028 </string>
+ </dict>
+
<key>Module</key>
+
<string>PBXNavigatorGroup</string>
+
<key>Proportion</key>
+
<string>781pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>212pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>PBXProjectModuleGUID</key>
+
<string>1CD0528E0623707200166675</string>
+
<key>PBXProjectModuleLabel</key>
+ <string>Project
Find</string>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0,
217}, {781, 212}}</string>
+
<key>RubberWindowFrame</key>
+ <string>39 486
781 470 0 0 1680 1028 </string>
+ </dict>
+ <key>Module</key>
+
<string>PBXProjectFindModule</string>
+ <key>Proportion</key>
+ <string>212pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>429pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Find</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXProjectFindModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <string>443968160A909794005BD842</string>
+ <string>443968170A909794005BD842</string>
+ <string>1CDD528C0622207200134675</string>
+ <string>1CD0528E0623707200166675</string>
+ </array>
+ <key>WindowString</key>
+ <string>39 486 781 470 0 0 1680 1028 </string>
+ <key>WindowToolGUID</key>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>MENUSEPARATOR</string>
+ </dict>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.debuggerConsole</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>PBXProjectModuleGUID</key>
+
<string>1C78EAAC065D492600B07095</string>
+
<key>PBXProjectModuleLabel</key>
+
<string>Debugger Console</string>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0,
0}, {709, 626}}</string>
+
<key>RubberWindowFrame</key>
+ <string>535 169
709 667 0 0 1680 1028 </string>
+ </dict>
+ <key>Module</key>
+
<string>PBXDebugCLIModule</string>
+ <key>Proportion</key>
+ <string>626pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>626pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger Console</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugCLIModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>4417DEC40A8E6D11000FE4DB</string>
+ <string>44A6F9700A98EE2900E04AE1</string>
+ <string>1C78EAAC065D492600B07095</string>
+ </array>
+ <key>WindowString</key>
+ <string>535 169 709 667 0 0 1680 1028 </string>
+ <key>WindowToolGUID</key>
+ <string>4417DEC40A8E6D11000FE4DB</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.run</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>LauncherConfigVersion</key>
+
<string>3</string>
+
<key>PBXProjectModuleGUID</key>
+
<string>1CD0528B0623707200166675</string>
+
<key>PBXProjectModuleLabel</key>
+
<string>Run</string>
+
<key>Runner</key>
+ <dict>
+
<key>HorizontalSplitView</key>
+ <dict>
+
<key>_collapsingFrameDimension</key>
+
<real>0.0</real>
+
<key>_indexOfCollapsedView</key>
+
<integer>0</integer>
+
<key>_percentageOfCollapsedView</key>
+
<real>0.0</real>
+
<key>isCollapsed</key>
+
<string>yes</string>
+
<key>sizes</key>
+
<array>
+
<string>{{0, 0}, {493, 167}}</string>
+
<string>{{0, 176}, {493, 267}}</string>
+
</array>
+ </dict>
+
<key>VerticalSplitView</key>
+ <dict>
+
<key>_collapsingFrameDimension</key>
+
<real>0.0</real>
+
<key>_indexOfCollapsedView</key>
+
<integer>0</integer>
+
<key>_percentageOfCollapsedView</key>
+
<real>0.0</real>
+
<key>isCollapsed</key>
+
<string>yes</string>
+
<key>sizes</key>
+
<array>
+
<string>{{0, 0}, {405, 443}}</string>
+
<string>{{414, 0}, {514, 443}}</string>
+
</array>
+ </dict>
+ </dict>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0,
0}, {1248, 638}}</string>
+
<key>RubberWindowFrame</key>
+ <string>8 54
1248 679 0 0 1680 1028 </string>
+ </dict>
+ <key>Module</key>
+
<string>PBXRunSessionModule</string>
+ <key>Proportion</key>
+ <string>638pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>638pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Run Log</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXRunSessionModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C0AD2B3069F1EA900FABCE6</string>
+ <string>44DA7ACB0A9A42FE0073B37F</string>
+ <string>1CD0528B0623707200166675</string>
+ <string>44DA7ACC0A9A42FE0073B37F</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.run</string>
+ <key>WindowString</key>
+ <string>8 54 1248 679 0 0 1680 1028 </string>
+ <key>WindowToolGUID</key>
+ <string>1C0AD2B3069F1EA900FABCE6</string>
+ <key>WindowToolIsVisible</key>
+ <true/>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.scm</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>PBXProjectModuleGUID</key>
+
<string>1C78EAB2065D492600B07095</string>
+
<key>PBXProjectModuleLabel</key>
+ <string><No
Editor></string>
+
<key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+
<key>Split0</key>
+ <dict>
+
<key>PBXProjectModuleGUID</key>
+
<string>1C78EAB3065D492600B07095</string>
+ </dict>
+
<key>SplitCount</key>
+
<string>1</string>
+ </dict>
+
<key>StatusBarVisibility</key>
+
<integer>1</integer>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0,
0}, {452, 0}}</string>
+
<key>RubberWindowFrame</key>
+ <string>743 379
452 308 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+
<string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>0pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>PBXProjectModuleGUID</key>
+
<string>1CD052920623707200166675</string>
+
<key>PBXProjectModuleLabel</key>
+
<string>SCM</string>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+
<key>ConsoleFrame</key>
+ <string>{{0,
259}, {452, 0}}</string>
+ <key>Frame</key>
+ <string>{{0,
7}, {452, 259}}</string>
+
<key>RubberWindowFrame</key>
+ <string>743 379
452 308 0 0 1280 1002 </string>
+
<key>TableConfiguration</key>
+ <array>
+
<string>Status</string>
+
<real>30</real>
+
<string>FileName</string>
+
<real>199</real>
+
<string>Path</string>
+
<real>197.09500122070312</real>
+ </array>
+
<key>TableFrame</key>
+ <string>{{0,
0}, {452, 250}}</string>
+ </dict>
+ <key>Module</key>
+
<string>PBXCVSModule</string>
+ <key>Proportion</key>
+ <string>262pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>266pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>SCM</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXCVSModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAB4065D492600B07095</string>
+ <string>1C78EAB5065D492600B07095</string>
+ <string>1C78EAB2065D492600B07095</string>
+ <string>1CD052920623707200166675</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.scm</string>
+ <key>WindowString</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.breakpoints</string>
+ <key>IsVertical</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>PBXBottomSmartGroupGIDs</key>
+ <array>
+
<string>1C77FABC04509CD000000102</string>
+ </array>
+
<key>PBXProjectModuleGUID</key>
+
<string>1CE0B1FE06471DED0097A5F4</string>
+
<key>PBXProjectModuleLabel</key>
+
<string>Files</string>
+
<key>PBXProjectStructureProvided</key>
+
<string>no</string>
+
<key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+
<real>168</real>
+ </array>
+
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+
<string>MainColumn</string>
+ </array>
+ </dict>
+
<key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+
<key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+
<string>1C77FABC04509CD000000102</string>
+ </array>
+
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+
<array>
+
<integer>0</integer>
+
</array>
+ </array>
+
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+
<string>{{0, 0}, {168, 350}}</string>
+ </dict>
+
<key>PBXTopSmartGroupGIDs</key>
+ <array/>
+
<key>XCIncludePerspectivesSwitch</key>
+
<integer>0</integer>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0,
0}, {185, 368}}</string>
+
<key>GroupTreeTableConfiguration</key>
+ <array>
+
<string>MainColumn</string>
+
<real>168</real>
+ </array>
+
<key>RubberWindowFrame</key>
+ <string>315 424
744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+
<string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>185pt</string>
+ </dict>
+ <dict>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>PBXProjectModuleGUID</key>
+
<string>1CA1AED706398EBD00589147</string>
+
<key>PBXProjectModuleLabel</key>
+
<string>Detail</string>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{190,
0}, {554, 368}}</string>
+
<key>RubberWindowFrame</key>
+ <string>315 424
744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+
<string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>554pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>368pt</string>
+ </dict>
+ </array>
+ <key>MajorVersion</key>
+ <integer>2</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>Breakpoints</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <string>1CDDB66907F98D9800BB5817</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CA1AED706398EBD00589147</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.breakpoints</string>
+ <key>WindowString</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <key>WindowToolIsVisible</key>
+ <integer>1</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debugAnimator</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+
<string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debug Visualizer</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXNavigatorGroup</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugAnimator</string>
+ <key>WindowString</key>
+ <string>100 100 700 500 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.bookmarks</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+
<string>PBXBookmarksModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Bookmarks</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBookmarksModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowString</key>
+ <string>538 42 401 187 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.classBrowser</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+
<key>ContentConfiguration</key>
+ <dict>
+
<key>OptionsSetName</key>
+
<string>Hierarchy, all classes</string>
+
<key>PBXProjectModuleGUID</key>
+
<string>1CA6456E063B45B4001379D8</string>
+
<key>PBXProjectModuleLabel</key>
+ <string>Class
Browser - NSObject</string>
+ </dict>
+
<key>GeometryConfiguration</key>
+ <dict>
+
<key>ClassesFrame</key>
+ <string>{{0,
0}, {374, 96}}</string>
+
<key>ClassesTreeTableConfiguration</key>
+ <array>
+
<string>PBXClassNameColumnIdentifier</string>
+
<real>208</real>
+
<string>PBXClassBookColumnIdentifier</string>
+
<real>22</real>
+ </array>
+ <key>Frame</key>
+ <string>{{0,
0}, {630, 331}}</string>
+
<key>MembersFrame</key>
+ <string>{{0,
105}, {374, 395}}</string>
+
<key>MembersTreeTableConfiguration</key>
+ <array>
+
<string>PBXMemberTypeIconColumnIdentifier</string>
+
<real>22</real>
+
<string>PBXMemberNameColumnIdentifier</string>
+
<real>216</real>
+
<string>PBXMemberTypeColumnIdentifier</string>
+
<real>97</real>
+
<string>PBXMemberBookColumnIdentifier</string>
+
<real>22</real>
+ </array>
+
<key>PBXModuleWindowStatusBarHidden2</key>
+
<integer>1</integer>
+
<key>RubberWindowFrame</key>
+ <string>385 179
630 352 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+
<string>PBXClassBrowserModule</string>
+ <key>Proportion</key>
+ <string>332pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>332pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Class Browser</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXClassBrowserModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C0AD2AF069F1E9B00FABCE6</string>
+ <string>1C0AD2B0069F1E9B00FABCE6</string>
+ <string>1CA6456E063B45B4001379D8</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.classbrowser</string>
+ <key>WindowString</key>
+ <string>385 179 630 352 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C0AD2AF069F1E9B00FABCE6</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ </array>
+</dict>
+</plist>
