Browse files

Initial non screwed up commit

  • Loading branch information...
0 parents commit fc06e38ccf48f7f2c8dfcce183416544af4e5e87 @comex committed Jun 21, 2010
Showing with 26,348 additions and 0 deletions.
  1. +12 −0 .gitignore
  2. +22 −0 Player2/Classes/FlashView.h
  3. +50 −0 Player2/Classes/FlashView.m
  4. +27 −0 Player2/Classes/FlashViewController.h
  5. +138 −0 Player2/Classes/FlashViewController.m
  6. +22 −0 Player2/Classes/Player2AppDelegate.h
  7. +46 −0 Player2/Classes/Player2AppDelegate.m
  8. +30 −0 Player2/Classes/PluginFlashView.h
  9. +110 −0 Player2/Classes/PluginFlashView.m
  10. +19 −0 Player2/Classes/server.h
  11. +198 −0 Player2/MainWindow.xib
  12. +30 −0 Player2/Player2-Info.plist
  13. +1,424 −0 Player2/Player2.xcodeproj/comex.mode1v3
  14. +651 −0 Player2/Player2.xcodeproj/comex.pbxuser
  15. +450 −0 Player2/Player2.xcodeproj/project.pbxproj
  16. +8 −0 Player2/Player2_Prefix.pch
  17. +272 −0 Player2/StuffUser.c
  18. +17 −0 Player2/main.m
  19. +9 −0 Player2/mtypes.h
  20. +301 −0 Player2/server.m
  21. +125 −0 food/ANPKeyCodes.h
  22. +23 −0 food/ANPSurface_npapi.h
  23. +50 −0 food/ANPSystem_npapi.h
  24. +1 −0 food/ATS/ATSTypes.h
  25. +31 −0 food/Makefile
  26. +941 −0 food/android_npapi.h
  27. +1,446 −0 food/anp.cpp
  28. +18 −0 food/assignments.py
  29. +445 −0 food/classes.c
  30. +5 −0 food/classes.h
  31. +195 −0 food/common.c
  32. +101 −0 food/common.h
  33. +2,713 −0 food/elf.h
  34. +274 −0 food/fixups/cfixups.c
  35. +162 −0 food/fixups/cppfixups.cpp
  36. +11 −0 food/fixups/rfuncs.py
  37. +26 −0 food/fixups/rfuncs.txt
  38. +137 −0 food/fixups/rthread.c
  39. +34 −0 food/fixups/sfixups.S
  40. BIN food/food
  41. +372 −0 food/food.c
  42. +20 −0 food/food.plist
  43. +36 −0 food/food.sb
  44. +1,969 −0 food/jni.h
  45. +19 −0 food/jni_md.h
  46. +405 −0 food/multistuff.c
  47. +66 −0 food/multistuff.h
  48. +168 −0 food/multistuff.py
  49. +273 −0 food/multistuff.settings.h
  50. +205 −0 food/myjni.c
  51. +14 −0 food/myjni.h
  52. +3,785 −0 food/np.S
  53. +534 −0 food/np.c
  54. +865 −0 food/npapi.h
  55. +220 −0 food/npfunctions.h
  56. +357 −0 food/npruntime.h
  57. +6 −0 install
  58. +18 −0 javanotes.txt
  59. +7 −0 libgcc/Makefile
  60. BIN libgcc/__.SYMDEF SORTED
  61. +5 −0 libgcc/fix.py
  62. +15 −0 libgcc/fix2.py
  63. +1 −0 libgcc/symbols
  64. +12 −0 notes.txt
  65. +8 −0 oem.cfg
  66. +6 −0 rpc/Makefile
  67. +487 −0 rpc/PROTOCOLBUFFERS.py
  68. +17 −0 rpc/food.proto
  69. +4 −0 rpc/tester/Makefile
  70. +7 −0 rpc/tester/tester.proto
  71. +8 −0 utils/Makefile
  72. +103 −0 utils/cutils/abort_socket.h
  73. +35 −0 utils/cutils/adb_networking.h
  74. +67 −0 utils/cutils/array.h
  75. +45 −0 utils/cutils/ashmem.h
  76. +79 −0 utils/cutils/atomic.h
  77. +32 −0 utils/cutils/compiler.h
  78. +61 −0 utils/cutils/config_utils.h
  79. +34 −0 utils/cutils/cpu_info.h
  80. +26 −0 utils/cutils/dir_hash.h
  81. +50 −0 utils/cutils/event_tag_map.h
  82. +150 −0 utils/cutils/hashmap.h
  83. +43 −0 utils/cutils/jstring.h
  84. +344 −0 utils/cutils/log.h
  85. +45 −0 utils/cutils/logd.h
  86. +46 −0 utils/cutils/logger.h
  87. +156 −0 utils/cutils/logprint.h
  88. +42 −0 utils/cutils/memory.h
  89. +48 −0 utils/cutils/misc.h
  90. +124 −0 utils/cutils/mq.h
  91. +117 −0 utils/cutils/mspace.h
  92. +73 −0 utils/cutils/native_handle.h
  93. +42 −0 utils/cutils/process_name.h
  94. +70 −0 utils/cutils/properties.h
  95. +43 −0 utils/cutils/record_stream.h
  96. +36 −0 utils/cutils/sched_policy.h
  97. +130 −0 utils/cutils/selector.h
  98. +100 −0 utils/cutils/sockets.h
  99. +146 −0 utils/cutils/threads.h
  100. +55 −0 utils/cutils/tztime.h
  101. +49 −0 utils/cutils/uio.h
  102. +32 −0 utils/cutils/zygote.h
  103. +124 −0 utils/libcutils/Android.mk
  104. 0 utils/libcutils/MODULE_LICENSE_APACHE2
  105. +190 −0 utils/libcutils/NOTICE
  106. +293 −0 utils/libcutils/abort_socket.c
  107. +172 −0 utils/libcutils/adb_networking.c
  108. +170 −0 utils/libcutils/array.c
  109. +283 −0 utils/libcutils/atomic-android-arm.S
  110. +166 −0 utils/libcutils/atomic-android-armv6.S
  111. +340 −0 utils/libcutils/atomic.c
  112. +116 −0 utils/libcutils/buffer.c
  113. +112 −0 utils/libcutils/buffer.h
  114. +317 −0 utils/libcutils/config_utils.c
  115. +83 −0 utils/libcutils/cpu_info.c
  116. +29 −0 utils/libcutils/dlmalloc_stubs.c
  117. +350 −0 utils/libcutils/hashmap.c
  118. +51 −0 utils/libcutils/load_file.c
  119. +38 −0 utils/libcutils/loghack.h
  120. +87 −0 utils/libcutils/memory.c
  121. +93 −0 utils/libcutils/memset32.S
  122. +60 −0 utils/libcutils/native_handle.c
  123. +368 −0 utils/libcutils/private.h
Sorry, we could not display the entire diff because it was too big.
12 .gitignore
@@ -0,0 +1,12 @@
+binutils*
+*unpacked
+*.swf
+libflashplayer.*
+food/CoreText
+food/IOSurface
+Player2/IOSurface
+*.apk
+.*.swp
+*.o
+food_rpc*.*
+*.dylib
22 Player2/Classes/FlashView.h
@@ -0,0 +1,22 @@
+//
+// FlashView.h
+// Player2
+//
+// Created by Nicholas Allegra on 6/16/10.
+// Copyright 2010 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface FlashViewThread : NSThread {
+}
+@end
+
+@interface FlashView : UIView {
+ NSThread *sendThread;
+ int rpcfd;
+}
+
+@property (assign) int rpcfd;
+
+@end
50 Player2/Classes/FlashView.m
@@ -0,0 +1,50 @@
+//
+// FlashView.m
+// Player2
+//
+// Created by Nicholas Allegra on 6/16/10.
+// Copyright 2010 __MyCompanyName__. All rights reserved.
+//
+
+#import "FlashView.h"
+#import <QuartzCore/QuartzCore.h>
+#include "food_rpc2.h"
+#include "server.h"
+
+
+@implementation FlashView
+@synthesize rpcfd;
+#define kDown_ANPTouchAction 0
+#define kUp_ANPTouchAction 1
+#define kMove_ANPTouchAction 2
+#define kCancel_ANPTouchAction 3
+
+- (id)initWithFrame:(CGRect)frame {
+ if ((self = [super initWithFrame:frame])) {
+ CALayer *lyr = self.layer;
+ lyr.backgroundColor = [[UIColor blackColor] CGColor];
+ self.multipleTouchEnabled = YES;
+ }
+ return self;
+}
+
+#define foo(func, num) \
+- (void)func:(NSSet *)touches withEvent:(UIEvent *)event { \
+ for(UITouch *t in touches) { \
+ CGPoint location = [t locationInView:self]; \
+ touch(rpcfd, num, location.x, location.y); \
+ } \
+}
+
+foo(touchesBegan, kDown_ANPTouchAction)
+foo(touchesMoved, kMove_ANPTouchAction)
+foo(touchesEnded, kUp_ANPTouchAction)
+foo(touchesCancelled, kCancel_ANPTouchAction)
+
+- (void)dealloc {
+ // todo actually stop this thread
+ [super dealloc];
+}
+
+
+@end
27 Player2/Classes/FlashViewController.h
@@ -0,0 +1,27 @@
+//
+// FlashViewController.h
+// Player2
+//
+// Created by Nicholas Allegra on 6/13/10.
+// Copyright 2010 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#define IOSFC_BUILDING_IOSFC
+#include "IOSurface.h"
+@class Server;
+
+@interface FlashViewController : UIViewController {
+ IOSurfaceRef sfc;
+ CGImageRef oldContents;
+ CGDataProviderRef provider;
+ int rpcfd;
+ Server *server;
+}
+@property (retain) Server *server;
+- (void)useSurface:(IOSurfaceRef)sfc;
+- (void)displaySync;
+- (CGSize)movieSize;
+- (void)diedWithError:(NSString *)error;
+
+@end
138 Player2/Classes/FlashViewController.m
@@ -0,0 +1,138 @@
+ //
+// FlashViewController.m
+// Player2
+//
+// Created by Nicholas Allegra on 6/13/10.
+// Copyright 2010 __MyCompanyName__. All rights reserved.
+//
+
+#import "FlashViewController.h"
+#include "Player2AppDelegate.h"
+#include "food_rpc2.h"
+#include "server.h"
+#import <QuartzCore/QuartzCore.h>
+
+@implementation FlashViewController
+
+/*
+ // The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
+ if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
+ // Custom initialization
+ }
+ return self;
+}
+*/
+
+/*
+// Implement loadView to create a view hierarchy programmatically, without using a nib.
+- (void)loadView {
+}
+*/
+
+- (void)clicked:(id)sender {
+ [self.server teardown];
+ self.server = [[[Server alloc] initWithDelegate:self] autorelease];
+ rpcfd = ((FlashView *)self.view).rpcfd = self.server.rpc_fd;
+ CGSize size = [self movieSize];
+ set_movie_size(rpcfd, size.width, size.height);
+
+}
+
+- (void)loadView {
+ self.view = [[FlashView alloc] init];
+ UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
+ [button setTitle:@"Refresh" forState:UIControlStateNormal];
+ button.frame = CGRectMake(0, 0, 100, 100);
+ button.hidden = NO;
+ [button addTarget:self action:@selector(clicked:) forControlEvents:UIControlEventTouchUpInside];
+ NSLog(@"%@", button);
+ [self.view addSubview:button];
+}
+
+- (void)viewDidAppear:(BOOL)animated {
+ NSLog(@"viewDidAppear.");
+ [self clicked:nil];
+}
+
+
+
+
+// Override to allow orientations other than the default portrait orientation.
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
+ // Return YES for supported orientations
+ return YES;
+}
+
+- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
+ CGSize size = [self movieSize];
+ set_movie_size(rpcfd, size.width, size.height);
+}
+
+- (id)getWindowObject {
+ return [NSDictionary dictionaryWithObject:@"file:///var/mobile/firestorm.html" forKey:@"location"];
+}
+
+- (NSDictionary *)paramsDict {
+ return [NSDictionary dictionaryWithValue:@"file:///var/mobile/firestorm2.swf" forKey:@"src"];
+}
+
+
+- (id)evaluateWebScript:(NSString *)script {
+ NSLog(@"Evaluate %@", script);
+ return @"complete";
+}
+
+- (void)useSurface:(IOSurfaceRef)sfc_ {
+ sfc = sfc_;
+ if(provider) CGDataProviderRelease(provider);
+ provider = CGDataProviderCreateWithData(NULL, IOSurfaceGetBaseAddress(sfc), IOSurfaceGetAllocSize(sfc), NULL);
+ oldContents = NULL;
+
+}
+
+- (void)displaySync {
+ CGImageRef image = CGImageCreate(
+ IOSurfaceGetWidth(sfc),
+ IOSurfaceGetHeight(sfc),
+ 8,
+ 32,
+ 4 * IOSurfaceGetWidth(sfc),
+ CGColorSpaceCreateDeviceRGB(),
+ kCGBitmapByteOrder32Big | kCGImageAlphaPremultipliedLast,
+ provider,
+ NULL,
+ true,
+ kCGRenderingIntentDefault);
+ self.view.layer.contents = (id) image;
+ if(oldContents) CGImageRelease(oldContents);
+ oldContents = image;
+}
+
+- (CGSize)movieSize {
+ return self.view.frame.size;
+}
+
+- (void)didReceiveMemoryWarning {
+ // Releases the view if it doesn't have a superview.
+ [super didReceiveMemoryWarning];
+
+ // Release any cached data, images, etc that aren't in use.
+}
+
+- (void)viewDidUnload {
+ [super viewDidUnload];
+ // Release any retained subviews of the main view.
+ // e.g. self.myOutlet = nil;
+}
+
+- (void)diedWithError:(NSString *)error {
+ NSLog(@"Error: %@", error);
+}
+
+- (void)dealloc {
+ [super dealloc];
+}
+
+@synthesize server;
+@end
22 Player2/Classes/Player2AppDelegate.h
@@ -0,0 +1,22 @@
+//
+// Player2AppDelegate.h
+// Player2
+//
+// Created by Nicholas Allegra on 6/3/10.
+// Copyright __MyCompanyName__ 2010. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#define IOSFC_BUILDING_IOSFC
+#import "IOSurfaceAPI.h"
+#import "FlashView.h"
+
+@interface Player2AppDelegate : NSObject <UIApplicationDelegate> {
+ UIWindow *window;
+ FlashView *view;
+}
+
+@property (nonatomic, retain) IBOutlet UIWindow *window;
+
+@end
+
46 Player2/Classes/Player2AppDelegate.m
@@ -0,0 +1,46 @@
+//
+// Player2AppDelegate.m
+// Player2
+//
+// Created by Nicholas Allegra on 6/3/10.
+// Copyright __MyCompanyName__ 2010. All rights reserved.
+//
+#include <mach/mach.h>
+#import <QuartzCore/QuartzCore.h>
+#import "Player2AppDelegate.h"
+#import "FlashViewController.h"
+#import "FlashView.h"
+#include "server.h"
+
+
+@implementation Player2AppDelegate
+
+@synthesize window;
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+
+ // Override point for customization after application launch
+ window.backgroundColor = [UIColor purpleColor];
+ [window makeKeyAndVisible];
+ UIViewController *viewController = [[FlashViewController alloc] init];
+
+ viewController.view.frame = window.bounds;
+ window.autoresizesSubviews = YES;
+ window.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin |
+ UIViewAutoresizingFlexibleRightMargin |
+ UIViewAutoresizingFlexibleTopMargin |
+ UIViewAutoresizingFlexibleBottomMargin |
+ UIViewAutoresizingFlexibleWidth |
+ UIViewAutoresizingFlexibleHeight;
+ [window addSubview:viewController.view];
+ return YES;
+}
+
+
+- (void)dealloc {
+ [window release];
+ [super dealloc];
+}
+
+@end
+
30 Player2/Classes/PluginFlashView.h
@@ -0,0 +1,30 @@
+//
+// PluginFlashView.h
+// Player2
+//
+// Created by Nicholas Allegra on 6/21/10.
+// Copyright 2010 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#define IOSFC_BUILDING_IOSFC
+#import "IOSurface.h"
+#import "server.h"
+
+@interface PluginFlashView : UIView {
+ NSDictionary *arguments;
+ UILabel *label;
+
+ IOSurfaceRef sfc;
+ CGImageRef oldContents;
+ CGDataProviderRef provider;
+ int rpcfd;
+ Server *server;
+}
+@property (retain) Server *server;
+- (void)useSurface:(IOSurfaceRef)sfc;
+- (void)displaySync;
+- (CGSize)movieSize;
+- (void)diedWithError:(NSString *)error;
+
+@end
110 Player2/Classes/PluginFlashView.m
@@ -0,0 +1,110 @@
+//
+// PluginFlashView.m
+// Player2
+//
+// Created by Nicholas Allegra on 6/21/10.
+// Copyright 2010 __MyCompanyName__. All rights reserved.
+//
+
+#import "PluginFlashView.h"
+#import <QuartzCore/QuartzCore.h>
+
+@interface NSObject (FakeMethodsToMakeGCCShutUp)
+
+- (id)webFrame;
+- (id)windowObject;
+
+@end
+
+
+@implementation PluginFlashView
+
+
+
+- (id)initWithArguments:(NSDictionary *)arguments_ {
+ if(self = [super init]) {
+ arguments = [arguments_ retain];
+ self.backgroundColor = [UIColor grayColor];
+ }
+ return self;
+}
+
++ (UIView *)plugInViewWithArguments:(NSDictionary *)arguments
+{
+
+ NSLog(@"IPAD WEB VIEW ARGS = %@", [arguments description]);
+
+ //NSDictionary *pluginDict = [newArguments objectForKey:@"WebPlugInAttributesKey"];
+ //NSString *flashURL = [pluginDict objectForKey:@"src"];
+
+ return [[[self alloc] initWithArguments:arguments] autorelease];
+}
+
+
+
+- (id)getWindowObject {
+ return [[[arguments objectForKey:@"WebPlugInContainerKey"] webFrame] windowObject];
+}
+
+- (id)evaluateWebScript:(NSString *)script {
+ NSLog(@"Evaluate %@", script);
+ return [[self getWindowObject] evaluateWebScript:script];
+}
+
+- (void)useSurface:(IOSurfaceRef)sfc_ {
+ sfc = sfc_;
+ if(provider) CGDataProviderRelease(provider);
+ provider = CGDataProviderCreateWithData(NULL, IOSurfaceGetBaseAddress(sfc), IOSurfaceGetAllocSize(sfc), NULL);
+ oldContents = NULL;
+
+}
+
+- (void)displaySync {
+ CGImageRef image = CGImageCreate(
+ IOSurfaceGetWidth(sfc),
+ IOSurfaceGetHeight(sfc),
+ 8,
+ 32,
+ 4 * IOSurfaceGetWidth(sfc),
+ CGColorSpaceCreateDeviceRGB(),
+ kCGBitmapByteOrder32Big | kCGImageAlphaPremultipliedLast,
+ provider,
+ NULL,
+ true,
+ kCGRenderingIntentDefault);
+ self.layer.contents = (id) image;
+ if(oldContents) CGImageRelease(oldContents);
+ oldContents = image;
+}
+
+- (NSDictionary *)paramsDict {
+ return [arguments objectForKey:@"WebPlugInAttributesKey"];
+}
+
+- (CGSize)movieSize {
+ return self.frame.size;
+}
+
+- (void)diedWithError:(NSString *)error {
+ NSLog(@"Error: %@", error);
+
+ label = [[UILabel alloc] init];
+ label.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.3]; // dim the image
+ label.text = error;
+ label.frame = self.bounds;
+ label.textAlignment = UITextAlignmentCenter;
+ label.shadowColor = [UIColor blackColor];
+ label.shadowOffset = CGSizeMake(0, 1);
+ [self addSubview:label];
+}
+
+
+- (void)dealloc {
+ [arguments release];
+ [label release];
+ if(oldContents) CGImageRelease(oldContents);
+ [super dealloc];
+}
+
+@synthesize server;
+@end
19 Player2/Classes/server.h
@@ -0,0 +1,19 @@
+#pragma once
+#import <Foundation/Foundation.h>
+
+@interface Server : NSObject {
+ id delegate;
+ CFRunLoopSourceRef serv_source;
+ int serv_fd;
+ CFRunLoopSourceRef rpc_source;
+ int rpc_fd;
+ pid_t pid;
+ NSMutableArray *objects;
+}
+- (id)initWithDelegate:(id)delegate;
+// private
+- (void)dieWithError:(NSString *)error;
+- (void)teardown;
+@property (assign) int rpc_fd;
+@end
+
198 Player2/MainWindow.xib
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">800</int>
+ <string key="IBDocument.SystemVersion">10D540</string>
+ <string key="IBDocument.InterfaceBuilderVersion">760</string>
+ <string key="IBDocument.AppKitVersion">1038.29</string>
+ <string key="IBDocument.HIToolboxVersion">460.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">81</string>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <integer value="2"/>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="841351856">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="427554174">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUICustomObject" id="664661524">
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIWindow" id="380026005">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">1316</int>
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
+ <string key="NSFrameSize">{320, 480}</string>
+ <reference key="NSSuperview"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MSAxIDEAA</bytes>
+ </object>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIResizesToFullScreen">YES</bool>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="841351856"/>
+ <reference key="destination" ref="664661524"/>
+ </object>
+ <int key="connectionID">4</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">window</string>
+ <reference key="source" ref="664661524"/>
+ <reference key="destination" ref="380026005"/>
+ </object>
+ <int key="connectionID">5</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <reference key="object" ref="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2</int>
+ <reference key="object" ref="380026005"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="841351856"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3</int>
+ <reference key="object" ref="664661524"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="427554174"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.CustomClassName</string>
+ <string>-2.CustomClassName</string>
+ <string>2.IBAttributePlaceholdersKey</string>
+ <string>2.IBEditorWindowLastContentRect</string>
+ <string>2.IBPluginDependency</string>
+ <string>3.CustomClassName</string>
+ <string>3.IBPluginDependency</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UIApplication</string>
+ <string>UIResponder</string>
+ <object class="NSMutableDictionary">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <string>{{198, 376}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>Player2AppDelegate</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">9</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">Player2AppDelegate</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">window</string>
+ <string key="NS.object.0">UIWindow</string>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Classes/Player2AppDelegate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">Player2AppDelegate</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBUserSource</string>
+ <string key="minorKey"/>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+ <integer value="3100" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <string key="IBDocument.LastKnownRelativeProjectPath">Player2.xcodeproj</string>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">81</string>
+ </data>
+</archive>
30 Player2/Player2-Info.plist
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>NSMainNibFile</key>
+ <string>MainWindow</string>
+</dict>
+</plist>
1,424 Player2/Player2.xcodeproj/comex.mode1v3
@@ -0,0 +1,1424 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//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>XCProjectFormatConflictsModule</string>
+ <key>Name</key>
+ <string>Project Format Conflicts List</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>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Name</key>
+ <string>Snapshots Tool</string>
+ </dict>
+ </array>
+ <key>BundlePath</key>
+ <string>/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources</string>
+ <key>Description</key>
+ <string>DefaultDescriptionKey</string>
+ <key>DockingSystemVisible</key>
+ <false/>
+ <key>Extension</key>
+ <string>mode1v3</string>
+ <key>FavBarConfig</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>80CA48D811B9A6E0007D8A88</string>
+ <key>XCBarModuleItemNames</key>
+ <dict/>
+ <key>XCBarModuleItems</key>
+ <array/>
+ </dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>com.apple.perspectives.project.mode1v3</string>
+ <key>MajorVersion</key>
+ <integer>33</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>Default</string>
+ <key>Notifications</key>
+ <array/>
+ <key>OpenEditors</key>
+ <array/>
+ <key>PerspectiveWidths</key>
+ <array>
+ <integer>1440</integer>
+ <integer>300</integer>
+ </array>
+ <key>Perspectives</key>
+ <array>
+ <dict>
+ <key>ChosenToolbarItems</key>
+ <array>
+ <string>active-combo-popup</string>
+ <string>action</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>debugger-enable-breakpoints</string>
+ <string>build-and-go</string>
+ <string>com.apple.ide.PBXToolbarStopButton</string>
+ <string>get-info</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>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>238</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>8061CCA811CFE2A6007A83A5</string>
+ <string>29B97315FDCFA39411CA2CEA</string>
+ <string>29B97323FDCFA39411CA2CEA</string>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>10</integer>
+ <integer>8</integer>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {238, 696}}</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}, {255, 714}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>238</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>0 122 1440 755 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>255pt</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>PluginFlashView.m</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20406471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>PluginFlashView.m</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>8079FD5911CFE48800897D0C</string>
+ <key>history</key>
+ <array>
+ <string>809F399611C56AF000BEA734</string>
+ <string>809F399811C56AF000BEA734</string>
+ <string>809F399C11C56B2300BEA734</string>
+ <string>8036A99111CABF1E008A1291</string>
+ <string>80C6A43111CD357D0062158B</string>
+ <string>80B703CD11CFCF800039423C</string>
+ <string>808456D311CFD34100E50E8C</string>
+ <string>8061CC1611CFD3AB007A83A5</string>
+ <string>8061CC1811CFD3AB007A83A5</string>
+ <string>8061CC5E11CFD3C8007A83A5</string>
+ <string>8061CC6111CFD3C8007A83A5</string>
+ <string>8061CC9611CFD5D5007A83A5</string>
+ <string>8061CCAB11CFE2C0007A83A5</string>
+ <string>8061CCB211CFE371007A83A5</string>
+ <string>8061CCBD11CFE475007A83A5</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}, {1180, 709}}</string>
+ <key>RubberWindowFrame</key>
+ <string>0 122 1440 755 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>709pt</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, 714}, {1180, 0}}</string>
+ <key>RubberWindowFrame</key>
+ <string>0 122 1440 755 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>0pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>1180pt</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>8079FD5A11CFE48800897D0C</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>8079FD5B11CFE48800897D0C</string>
+ <string>1CE0B20306471E060097A5F4</string>
+ <string>1CE0B20506471E060097A5F4</string>
+ </array>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.defaultV3</string>
+ </dict>
+ <dict>
+ <key>ChosenToolbarItems</key>
+ <array>
+ <string>XCToolbarPerspectiveControl</string>
+ <string>NSToolbarSeparatorItem</string>
+ <string>active-combo-popup</string>
+ <string>debugger-enable-breakpoints</string>
+ <string>build-and-go</string>
+ <string>com.apple.ide.PBXToolbarStopButton</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>get-info</string>
+ </array>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProject</string>
+ <key>Identifier</key>
+ <string>perspective.morph</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>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>283</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>29B97315FDCFA39411CA2CEA</string>
+ <string>29B97323FDCFA39411CA2CEA</string>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>7</integer>
+ <integer>1</integer>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {283, 696}}</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}, {300, 714}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>283</real>
+ </array>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>300pt</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>808456D611CFD34100E50E8C</string>
+ <string>11E0B1FE06471DED0097A5F4</string>
+ </array>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.default.shortV3</string>
+ </dict>
+ </array>
+ <key>PerspectivesBarVisible</key>
+ <false/>
+ <key>ShelfIsVisible</key>
+ <false/>
+ <key>SourceDescription</key>
+ <string>file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TimeStamp</key>
+ <real>0.0</real>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
+ <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>1CD10A99069EF8BA00B06720</string>
+ <string>80CA48D911B9A6E0007D8A88</string>
+ <string>/Users/comex/frash/Player2/Player2.xcodeproj</string>
+ </array>
+ <key>WindowString</key>
+ <string>0 122 1440 755 0 0 1440 878 </string>
+ <key>WindowToolsV3</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}, {911, 486}}</string>
+ <key>RubberWindowFrame</key>
+ <string>301 110 911 768 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>486pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>XCMainBuildResultsModuleGUID</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Build Results</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, 491}, {911, 236}}</string>
+ <key>RubberWindowFrame</key>
+ <string>301 110 911 768 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Proportion</key>
+ <string>236pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>727pt</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>80CA48D911B9A6E0007D8A88</string>
+ <string>8079FD5C11CFE48800897D0C</string>
+ <string>1CD0528F0623707200166675</string>
+ <string>XCMainBuildResultsModuleGUID</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.buildV3</string>
+ <key>WindowContentMinSize</key>
+ <string>486 300</string>
+ <key>WindowString</key>
+ <string>301 110 911 768 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>80CA48D911B9A6E0007D8A88</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}, {337, 283}}</string>
+ <string>{{337, 0}, {403, 283}}</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}, {740, 283}}</string>
+ <string>{{0, 283}, {740, 247}}</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>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}, {740, 530}}</string>
+ <key>PBXDebugSessionStackFrameViewKey</key>
+ <dict>
+ <key>DebugVariablesTableConfiguration</key>
+ <array>
+ <string>Name</string>
+ <real>120</real>
+ <string>Value</string>
+ <real>85</real>
+ <string>Summary</string>
+ <real>173</real>
+ </array>
+ <key>Frame</key>
+ <string>{{337, 0}, {403, 283}}</string>
+ <key>RubberWindowFrame</key>
+ <string>186 277 740 571 0 0 1440 878 </string>
+ </dict>
+ <key>RubberWindowFrame</key>
+ <string>186 277 740 571 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Proportion</key>
+ <string>530pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>530pt</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>8079FD5D11CFE48800897D0C</string>
+ <string>1C162984064C10D400B95A72</string>
+ <string>8079FD5E11CFE48800897D0C</string>
+ <string>8079FD5F11CFE48800897D0C</string>
+ <string>8079FD6011CFE48800897D0C</string>
+ <string>8079FD6111CFE48800897D0C</string>
+ <string>8079FD6211CFE48800897D0C</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugV3</string>
+ <key>WindowString</key>
+ <string>186 277 740 571 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </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>BecomeActive</key>
+ <true/>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CDD528C0622207200134675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>server.m</string>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {908, 450}}</string>
+ <key>RubberWindowFrame</key>
+ <string>432 170 908 708 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>908pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>450pt</string>
+ </dict>
+ <dict>
+ <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, 455}, {908, 212}}</string>
+ <key>RubberWindowFrame</key>
+ <string>432 170 908 708 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Proportion</key>
+ <string>212pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>667pt</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>8061CC6A11CFD420007A83A5</string>
+ <string>8061CC6B11CFD420007A83A5</string>
+ <string>1CDD528C0622207200134675</string>
+ <string>1CD0528E0623707200166675</string>
+ </array>
+ <key>WindowString</key>
+ <string>432 170 908 708 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <key>WindowToolIsVisible</key>
+ <true/>
+ </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>BecomeActive</key>
+ <true/>
+ <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}, {673, 494}}</string>
+ <key>RubberWindowFrame</key>
+ <string>89 205 673 535 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Proportion</key>
+ <string>494pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>494pt</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>1C78EAAD065D492600B07095</string>
+ <string>80B702A711CE7C8B0039423C</string>
+ <string>1C78EAAC065D492600B07095</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.consoleV3</string>
+ <key>WindowString</key>
+ <string>89 205 673 535 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C78EAAD065D492600B07095</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.snapshots</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Snapshots</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCSnapshotModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <string>Yes</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.snapshots</string>
+ <key>WindowString</key>
+ <string>315 824 300 550 0 0 1440 878 </string>
+ <key>WindowToolIsVisible</key>
+ <string>Yes</string>
+ </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>&lt;No Editor&gt;</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.0950012207031</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>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.breakpoints</string>
+ <key>IsVertical</key>
+ <false/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <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>
+ <false/>
+ </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>207 416 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>185pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+ <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>207 416 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>3</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>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>80B702E311CE81760039423C</string>
+ <string>80B702E411CE81760039423C</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CA1AED706398EBD00589147</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.breakpointsV3</string>
+ <key>WindowString</key>
+ <string>207 416 744 409 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>80B702E311CE81760039423C</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </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.debugAnimatorV3</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.projectFormatConflicts</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Format Conflicts</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCProjectFormatConflictsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowContentMinSize</key>
+ <string>450 300</string>
+ <key>WindowString</key>
+ <string>50 850 472 307 0 0 1440 877</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>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.refactoring</string>
+ <key>IncludeInToolsMenu</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{0, 0}, {500, 335}</string>
+ <key>RubberWindowFrame</key>
+ <string>{0, 0}, {500, 335}</string>
+ </dict>
+ <key>Module</key>
+ <string>XCRefactoringModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Refactoring</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCRefactoringModule</string>
+ </array>
+ <key>WindowString</key>
+ <string>200 200 500 356 0 0 1920 1200 </string>
+ </dict>
+ </array>
+</dict>
+</plist>
651 Player2/Player2.xcodeproj/comex.pbxuser
@@ -0,0 +1,651 @@
+// !$*UTF8*$!
+{
+ 1D3623240D0F684500981E51 /* Player2AppDelegate.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1171, 425}}";
+ sepNavSelRange = "{416, 0}";
+ sepNavVisRange = "{0, 424}";
+ };
+ };
+ 1D3623250D0F684500981E51 /* Player2AppDelegate.m */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {913, 611}}";
+ sepNavSelRange = "{704, 0}";
+ sepNavVisRange = "{0, 1173}";
+ };
+ };
+ 1D6058900D05DD3D006BFB54 /* Player2 */ = {
+ activeExec = 0;
+ executables = (
+ 80CA48A111B8176C007D8A88 /* Player2 */,
+ );
+ };
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ activeBuildConfigurationName = Release;
+ activeExecutable = 80CA48A111B8176C007D8A88 /* Player2 */;
+ activeSDKPreference = iphoneos3.1.3;
+ activeTarget = 80B7039E11CF15CB0039423C /* Plugin */;
+ addToTargets = (
+ 80B7039E11CF15CB0039423C /* Plugin */,
+ );
+ breakpoints = (
+ 80B7030911CE8A6D0039423C /* [URLDude initWithStream:URL:rpc_fd] */,
+ 80B7030C11CE8A820039423C /* server.m:42 */,
+ 80B7030E11CE8A860039423C /* server.m:44 */,
+ 80B7032011CE8B440039423C /* FlashViewController.m:87 */,
+ 80B7032411CE8B730039423C /* server.m:187 */,
+ 808456B911CFD29F00E50E8C /* PluginFlashView.m:83 */,
+ );
+ codeSenseManager = 80CA48B011B81787007D8A88 /* Code sense */;
+ executables = (
+ 80CA48A111B8176C007D8A88 /* Player2 */,
+ );
+ perUserDictionary = {
+ "PBXConfiguration.PBXBreakpointsDataSource.v1:1CA1AED706398EBD00589147" = {
+ PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+ PBXFileTableDataSourceColumnSortingKey = PBXBreakpointsDataSource_BreakpointID;
+ PBXFileTableDataSourceColumnWidthsKey = (
+ 20,
+ 20,
+ 198,
+ 20,
+ 99,
+ 99,
+ 29,
+ 20,
+ );
+ PBXFileTableDataSourceColumnsKey = (
+ PBXBreakpointsDataSource_ActionID,
+ PBXBreakpointsDataSource_TypeID,
+ PBXBreakpointsDataSource_BreakpointID,
+ PBXBreakpointsDataSource_UseID,
+ PBXBreakpointsDataSource_LocationID,
+ PBXBreakpointsDataSource_ConditionID,
+ PBXBreakpointsDataSource_IgnoreCountID,
+ PBXBreakpointsDataSource_ContinueID,
+ );
+ };
+ PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
+ PBXFileTableDataSourceColumnSortingDirectionKey = 1;
+ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
+ PBXFileTableDataSourceColumnWidthsKey = (
+ 20,
+ 941,
+ 20,
+ 48,
+ 43,
+ 43,
+ 20,
+ );
+ PBXFileTableDataSourceColumnsKey = (
+ PBXFileDataSource_FiletypeID,
+ PBXFileDataSource_Filename_ColumnID,
+ PBXFileDataSource_Built_ColumnID,
+ PBXFileDataSource_ObjectSize_ColumnID,
+ PBXFileDataSource_Errors_ColumnID,
+ PBXFileDataSource_Warnings_ColumnID,
+ PBXFileDataSource_Target_ColumnID,
+ );
+ };
+ PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
+ PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
+ PBXFileTableDataSourceColumnWidthsKey = (
+ 20,
+ 901,
+ 60,
+ 20,
+ 48,
+ 43,
+ 43,
+ );
+ PBXFileTableDataSourceColumnsKey = (
+ PBXFileDataSource_FiletypeID,
+ PBXFileDataSource_Filename_ColumnID,
+ PBXTargetDataSource_PrimaryAttribute,
+ PBXFileDataSource_Built_ColumnID,
+ PBXFileDataSource_ObjectSize_ColumnID,
+ PBXFileDataSource_Errors_ColumnID,
+ PBXFileDataSource_Warnings_ColumnID,
+ );
+ };
+ PBXPerProjectTemplateStateSaveDate = 298837119;
+ PBXWorkspaceStateSaveDate = 298837119;
+ };
+ perUserProjectItems = {
+ 8036A99111CABF1E008A1291 = 8036A99111CABF1E008A1291 /* PBXTextBookmark */;
+ 8061CC1611CFD3AB007A83A5 = 8061CC1611CFD3AB007A83A5 /* PBXTextBookmark */;
+ 8061CC1811CFD3AB007A83A5 = 8061CC1811CFD3AB007A83A5 /* PBXTextBookmark */;
+ 8061CC5E11CFD3C8007A83A5 = 8061CC5E11CFD3C8007A83A5 /* PBXTextBookmark */;
+ 8061CC6111CFD3C8007A83A5 = 8061CC6111CFD3C8007A83A5 /* PBXTextBookmark */;
+ 8061CC6211CFD3C8007A83A5 = 8061CC6211CFD3C8007A83A5 /* PBXTextBookmark */;
+ 8061CC9611CFD5D5007A83A5 = 8061CC9611CFD5D5007A83A5 /* PBXTextBookmark */;
+ 8061CC9711CFD5D5007A83A5 = 8061CC9711CFD5D5007A83A5 /* PBXTextBookmark */;
+ 8061CCA011CFD5F5007A83A5 = 8061CCA011CFD5F5007A83A5 /* PBXTextBookmark */;
+ 8061CCA911CFE2C0007A83A5 = 8061CCA911CFE2C0007A83A5 /* PBXTextBookmark */;
+ 8061CCAB11CFE2C0007A83A5 = 8061CCAB11CFE2C0007A83A5 /* PBXTextBookmark */;
+ 8061CCB211CFE371007A83A5 = 8061CCB211CFE371007A83A5 /* PBXTextBookmark */;
+ 8061CCB311CFE371007A83A5 = 8061CCB311CFE371007A83A5 /* PBXTextBookmark */;
+ 8061CCBD11CFE475007A83A5 = 8061CCBD11CFE475007A83A5 /* PBXTextBookmark */;
+ 8079FD5911CFE48800897D0C /* PBXTextBookmark */ = 8079FD5911CFE48800897D0C /* PBXTextBookmark */;
+ 808456D311CFD34100E50E8C = 808456D311CFD34100E50E8C /* PBXTextBookmark */;
+ 809F399611C56AF000BEA734 = 809F399611C56AF000BEA734 /* PBXTextBookmark */;
+ 809F399811C56AF000BEA734 = 809F399811C56AF000BEA734 /* PBXTextBookmark */;
+ 809F399C11C56B2300BEA734 = 809F399C11C56B2300BEA734 /* PBXTextBookmark */;
+ 80B703CD11CFCF800039423C = 80B703CD11CFCF800039423C /* PBXTextBookmark */;
+ 80C6A43111CD357D0062158B = 80C6A43111CD357D0062158B /* PBXTextBookmark */;
+ };
+ sourceControlManager = 80CA48AF11B81787007D8A88 /* Source Control */;
+ userBuildSettings = {
+ };
+ };
+ 29B97316FDCFA39411CA2CEA /* main.m */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1171, 463}}";
+ sepNavSelRange = "{362, 0}";
+ sepNavVisRange = "{0, 364}";
+ };
+ };
+ 32CA4F630368D1EE00C91783 /* Player2_Prefix.pch */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1119, 677}}";
+ sepNavSelRange = "{0, 0}";
+ sepNavVisRange = "{0, 183}";
+ };
+ };
+ 8036A99111CABF1E008A1291 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 29B97316FDCFA39411CA2CEA /* main.m */;
+ name = "main.m: 17";
+ rLen = 0;
+ rLoc = 362;
+ rType = 0;
+ vrLen = 364;
+ vrLoc = 0;
+ };
+ 8061CC1611CFD3AB007A83A5 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 809F398A11C56AD400BEA734 /* IOSurface.h */;
+ name = "IOSurface.h: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 216;
+ vrLoc = 0;
+ };
+ 8061CC1811CFD3AB007A83A5 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 809F3A9311C57AFC00BEA734 /* FlashViewController.h */;
+ name = "FlashViewController.h: 15";