diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..631c59d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.moved-aside* +build/ \ No newline at end of file diff --git a/SC3Controller.h b/SC3Controller.h new file mode 100644 index 0000000..4383676 --- /dev/null +++ b/SC3Controller.h @@ -0,0 +1,26 @@ +// +// SC3Controller.h +// sc3ctrl +// +// Created by Robin Watson on 21/December/2008. +// Copyright 2008 __MyCompanyName__. All rights reserved. +// + +#import +#import +#include "debug.h" + +@interface SC3Controller : NSObject { + + OSCManager *manager; + OSCOutPort *outport; +} + +- (void)interpretContentsOfEnvironmentVariable:(const char *)var; +- (void)openHelpFile:(NSString *)classname; +- (void)openClassFile:(NSString *)classname; +- (void)openImplementations:(NSString *)method; +- (void)openReferences:(NSString *)method; +- (void)close; + +@end diff --git a/SC3Controller.m b/SC3Controller.m new file mode 100644 index 0000000..9775486 --- /dev/null +++ b/SC3Controller.m @@ -0,0 +1,88 @@ +// +// SC3Controller.m +// sc3ctrl +// +// Created by Robin Watson on 21/December/2008. +// Copyright 2008 __MyCompanyName__. All rights reserved. +// + +#import "SC3Controller.h" + + +@implementation SC3Controller + +- (id)init +{ + [super init]; + manager = [[OSCManager alloc] init]; + outport = [manager createNewOutputToAddress:@"127.0.0.1" atPort:57120]; + return self; +} + +- (void)interpretContentsOfEnvironmentVariable:(const char *)var +{ + char *utf8cmd = getenv(var); + + if(utf8cmd == NULL) { + Log(@"$%s is NULL", var); + return; + } + + NSString *cmd = [NSString stringWithUTF8String:utf8cmd]; + + OSCMessage *msg = [OSCMessage createMessageToAddress:@"/sc3ctrl/cmd"]; + [msg addString:cmd]; + + Log(@"Sending cmd %@", cmd); + + [outport sendThisMessage:msg]; +} + +- (void)openHelpFile:(NSString *)classname +{ + OSCMessage *msg = [OSCMessage createMessageToAddress:@"/sc3ctrl/help"]; + [msg addString:classname]; + + Log(@"Opening helpfile %@", classname); + + [outport sendThisMessage:msg]; +} + +- (void)openClassFile:(NSString *)classname +{ + OSCMessage *msg = [OSCMessage createMessageToAddress:@"/sc3ctrl/class"]; + [msg addString:classname]; + + Log(@"Opening classfile %@", classname); + + [outport sendThisMessage:msg]; +} + +- (void)openImplementations:(NSString *)method +{ + OSCMessage *msg = [OSCMessage createMessageToAddress:@"/sc3ctrl/implementations"]; + [msg addString:method]; + + Log(@"Opening implementations of %@", method); + + [outport sendThisMessage:msg]; +} + +- (void)openReferences:(NSString *)method +{ + OSCMessage *msg = [OSCMessage createMessageToAddress:@"/sc3ctrl/references"]; + [msg addString:method]; + + Log(@"Opening references to %@", method); + + [outport sendThisMessage:msg]; +} + + + +- (void)close +{ + [manager release]; +} + +@end diff --git a/build/Release/VVOSC.framework/Headers b/build/Release/VVOSC.framework/Headers deleted file mode 120000 index a177d2a..0000000 --- a/build/Release/VVOSC.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/build/Release/VVOSC.framework/Resources b/build/Release/VVOSC.framework/Resources deleted file mode 120000 index 953ee36..0000000 --- a/build/Release/VVOSC.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/build/Release/VVOSC.framework/VVOSC b/build/Release/VVOSC.framework/VVOSC deleted file mode 120000 index c6a43b0..0000000 --- a/build/Release/VVOSC.framework/VVOSC +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/VVOSC \ No newline at end of file diff --git a/build/Release/VVOSC.framework/VVOSC.framework b/build/Release/VVOSC.framework/VVOSC.framework deleted file mode 120000 index c8aad41..0000000 --- a/build/Release/VVOSC.framework/VVOSC.framework +++ /dev/null @@ -1 +0,0 @@ -VVOSC.framework \ No newline at end of file diff --git a/build/Release/VVOSC.framework/Versions/A/Headers/AddressValPair.h b/build/Release/VVOSC.framework/Versions/A/Headers/AddressValPair.h deleted file mode 100644 index e8ab9ca..0000000 --- a/build/Release/VVOSC.framework/Versions/A/Headers/AddressValPair.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// AddressValPair.h -// VVOSC -// -// Created by bagheera on 12/11/08. -// Copyright 2008 __MyCompanyName__. All rights reserved. -// - -#if IPHONE -#import -#else -#import -#endif - - - -@interface AddressValPair : NSObject { - NSString *address; - id val; -} - -+ (id) createWithAddress:(NSString *)a val:(id)v; -- (id) initWithAddress:(NSString *)a val:(id)v; - -- (NSString *) address; -- (id) val; - -@end diff --git a/build/Release/VVOSC.framework/Versions/A/Headers/OSCBundle.h b/build/Release/VVOSC.framework/Versions/A/Headers/OSCBundle.h deleted file mode 100644 index 712f13a..0000000 --- a/build/Release/VVOSC.framework/Versions/A/Headers/OSCBundle.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// OSCBundle.h -// OSC -// -// Created by bagheera on 9/20/08. -// Copyright 2008 __MyCompanyName__. All rights reserved. -// - -#if IPHONE -#import -#else -#import -#endif - -#import "OSCMessage.h" - - - - -@interface OSCBundle : NSObject { - NSMutableArray *elementArray; // array of messages or bundles -} - -+ (void) parseRawBuffer:(unsigned char *)b ofMaxLength:(int)l toInPort:(id)p; - -+ (id) create; - -- (void) addElement:(id)n; -- (void) addElementArray:(NSArray *)a; - -- (int) bufferLength; -- (void) writeToBuffer:(unsigned char *)b; - -@end diff --git a/build/Release/VVOSC.framework/Versions/A/Headers/OSCInPort.h b/build/Release/VVOSC.framework/Versions/A/Headers/OSCInPort.h deleted file mode 100644 index 2278d91..0000000 --- a/build/Release/VVOSC.framework/Versions/A/Headers/OSCInPort.h +++ /dev/null @@ -1,93 +0,0 @@ -// -// OSCInPort.h -// OSC -// -// Created by bagheera on 9/20/08. -// Copyright 2008 __MyCompanyName__. All rights reserved. -// - -#if IPHONE -#import -#else -#import -#endif - - -//#import -//#import -#import - -#import -#import "AddressValPair.h" -#import "OSCPacket.h" -#import "OSCBundle.h" -#import "OSCMessage.h" - - -@protocol OSCInPortDelegateProtocol -- (void) oscMessageReceived:(NSDictionary *)d; -- (void) receivedOSCVal:(id)v forAddress:(NSString *)a; -@end - -@protocol OSCDelegateProtocol -- (void) oscMessageReceived:(NSDictionary *)d; -- (void) receivedOSCVal:(id)v forAddress:(NSString *)a; -@end - - -@interface OSCInPort : NSObject { - BOOL deleted; // whether or not i'm deleted- ensures that socket gets closed - BOOL bound; // whether or not the socket is bound - int sock; // socket file descriptor. remember, everything in unix is files! - struct sockaddr_in addr; // struct that describes *my* address (this is an in port) - short port; // the port number i'm receiving from - BOOL running; // whether or not i should keep running - BOOL busy; - unsigned char buf[8192]; // the socket gets data and dumps it here immediately - - pthread_mutex_t lock; - NSTimer *threadTimer; - int threadTimerCount; - NSAutoreleasePool *threadPool; - - NSString *portLabel; // the "name" of the port (added to distinguish multiple osc input ports for bonjour) - NSNetService *zeroConfDest; // bonjour service for publishing this input's address...only active if there's a portLabel! - - NSMutableDictionary *scratchDict; // key of dict is address port; object at key is a mut. array. coalesced messaging. - NSMutableArray *scratchArray; // array of AddressValPair objects. used for serial messaging. - id delegate; // my delegate gets notified of incoming messages -} - -+ (id) createWithPort:(short)p; -+ (id) createWithPort:(short)p labelled:(NSString *)n; -- (id) initWithPort:(short)p; -- (id) initWithPort:(short)p labelled:(NSString *)n; - -- (void) prepareToBeDeleted; - -- (NSDictionary *) createSnapshot; - -- (BOOL) createSocket; -- (void) start; -- (void) stop; -- (void) launchOSCLoop:(id)o; -- (void) OSCThreadProc:(NSTimer *)t; -- (void) parseRawBuffer:(unsigned char *)b ofMaxLength:(int)l; - -// if the delegate im -- (void) handleParsedScratchDict:(NSDictionary *)d; -- (void) handleScratchArray:(NSArray *)a; - -- (void) addValue:(id)val toAddressPath:(NSString *)p; - -- (short) port; -- (void) setPort:(short)n; -- (NSString *) portLabel; -- (void) setPortLabel:(NSString *)n; -- (NSNetService *) zeroConfDest; -- (BOOL) bound; - -- (id) delegate; -- (void) setDelegate:(id)n; - -@end diff --git a/build/Release/VVOSC.framework/Versions/A/Headers/OSCManager.h b/build/Release/VVOSC.framework/Versions/A/Headers/OSCManager.h deleted file mode 100644 index 5673296..0000000 --- a/build/Release/VVOSC.framework/Versions/A/Headers/OSCManager.h +++ /dev/null @@ -1,144 +0,0 @@ -// -// OSCManager.h -// OSC -// -// Created by bagheera on 9/20/08. -// Copyright 2008 __MyCompanyName__. All rights reserved. -// - -#if IPHONE -#import -#else -#import -#endif - -#import "OSCZeroConfManager.h" -#import "OSCInPort.h" -#import "OSCOutPort.h" -#import - -/* - TOP-LEVEL OVERVIEW - - this osc manager class is all you need to add to your app. it has methods for - adding and removing ports. you can have as many osc managers as you like, but - you should really only need one instance. - - input ports have a delegate- delegate methods are called as the port receives data. - it's important to note that the delegate methods must be thread-safe: each input - port is running on its own (non-main) thread. - - data is sent via the output ports (convenience methods for doing this are built - into the osc manager). - - - - - GENERAL OSC STRUCTURE AND OVERVIEW - - this framework was written from the OSC spec found here: - http://opensoundcontrol.org/spec-1_0 - - - an OSC packet is the basic unit of transmitting OSC data. - - an OSC packet consists of: - - contents- contiguous block of binary data (either a bundle or a message), and then the - - size- number of 8-bit bytes that comprise 'contents'- ALWAYS multiple of 4! - - an OSC message consists of: - - an OSC address pattern (starting with '/'), followed by - - an OSC type tag string, followed by - - zero or more 'OSC arguments' - - an OSC bundle consists of: - - the OSC-string "#bundle", followed by - - an OSC time tag, followed by - - zero or more 'OSC bundle elements' - - an OSC bundle element consists of: - - 'size' (int32)- number of 8-bit bytes in the contents- ALWAYS multiple of 4! - - 'contents'- either another OSC bundle, or an OSC message - - - - - PORTS- SENDING AND RECEIVING UDP/TCP DATA - - some basic information, gleaned from: - http://beej.us/guide/bgnet/output/html/multipage/index.html - - struct sockaddr { - unsigned short sa_family; // address family, AF_xxx - char sa_data[14]; // 14 bytes of protocol address - } - struct sockaddr_in { - short int sin_family; // address family - unsigned short int sin_port; // port number - struct in_addr sin_addr; // internet address - unsigned char sin_zero[8]; // exists so sockaddr_in has same length as sockaddr - } - - recv(int sockfd, void *buf, int len, unsigned int flags); - - sockfd is the socket descriptor to read from - - buf is the buffer to read the information into - - len is the max length of the buffer - - flags can be set to 0 - recvfrom(int sockfd, void *buf, int len, unsigned int flags, struct sockaddr *from, int *fromlen); - - from is a pointer to a local struct sockaddr that will be filled with the IP & port of the originating machine - - fromlen is a pointer to a local int that should be initialized to a sizeof(struct sockaddr)- contains length of address actually stored in from on return - ...as well as the 4 params listed above in recv() - - int select(int numfds, fd_set *readrds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); -*/ - -@interface OSCManager : NSObject { - NSMutableArray *inPortArray; - NSMutableArray *outPortArray; - - pthread_rwlock_t inPortLock; - pthread_rwlock_t outPortLock; - - id delegate; - - OSCZeroConfManager *zeroConfManager; // bonjour/zero-configuration manager -} - -- (void) deleteAllInputs; -- (void) deleteAllOutputs; -// methods for creating input ports -- (OSCInPort *) createNewInputFromSnapshot:(NSDictionary *)s; -- (OSCInPort *) createNewInputForPort:(int)p withLabel:(NSString *)l; -- (OSCInPort *) createNewInputForPort:(int)p; -- (OSCInPort *) createNewInput; -// methods for creating output ports -- (OSCOutPort *) createNewOutputFromSnapshot:(NSDictionary *)s; -- (OSCOutPort *) createNewOutputToAddress:(NSString *)a atPort:(int)p withLabel:(NSString *)l; -- (OSCOutPort *) createNewOutputToAddress:(NSString *)a atPort:(int)p; -- (OSCOutPort *) createNewOutput; - -// typically, the manager is the input port's delegate- input ports tell delegates when they receive data -// this method is called and contains coalesced messages (grouped by address path) -- (void) oscMessageReceived:(NSDictionary *)d; -// this method is called every time any osc val is processed -- (void) receivedOSCVal:(id)v forAddress:(NSString *)a; - -// methods for working with ports -- (NSString *) getUniqueInputLabel; -- (NSString *) getUniqueOutputLabel; -- (OSCInPort *) findInputWithLabel:(NSString *)n; -- (OSCOutPort *) findOutputWithLabel:(NSString *)n; -- (OSCOutPort *) findOutputWithAddress:(NSString *)a andPort:(int)p; -- (OSCOutPort *) findOutputForIndex:(int)i; -- (OSCInPort *) findInputWithZeroConfName:(NSString *)n; -- (void) removeInput:(id)p; -- (void) removeOutput:(id)p; -- (NSArray *) outPortLabelArray; - -// subclassable methods for customizing -- (id) inPortClass; -- (NSString *) inPortLabelBase; -- (id) outPortClass; - -// misc -- (id) delegate; -- (void) setDelegate:(id)n; -- (NSMutableArray *) inPortArray; -- (NSMutableArray *) outPortArray; - -@end diff --git a/build/Release/VVOSC.framework/Versions/A/Headers/OSCMessage.h b/build/Release/VVOSC.framework/Versions/A/Headers/OSCMessage.h deleted file mode 100644 index e86444c..0000000 --- a/build/Release/VVOSC.framework/Versions/A/Headers/OSCMessage.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OSCMessage.h -// OSC -// -// Created by bagheera on 9/20/08. -// Copyright 2008 __MyCompanyName__. All rights reserved. -// - -#if IPHONE -#import -#else -#import -#endif - -#import - - - -@interface OSCMessage : NSObject { - NSString *address; - NSMutableArray *typeArray; - NSMutableArray *argArray; - pthread_rwlock_t lock; -} - -+ (void) parseRawBuffer:(unsigned char *)b ofMaxLength:(int)l toInPort:(id)p; -+ (id) createMessageToAddress:(NSString *)a; -- (id) initWithAddress:(NSString *)a; - -- (void) addInt:(int)n; -- (void) addFloat:(float)n; -#if IPHONE -- (void) addColor:(UIColor *)c; -#else -- (void) addColor:(NSColor *)c; -#endif -- (void) addBOOL:(BOOL)n; -- (void) addString:(NSString *)n; - -- (int) bufferLength; -- (void) writeToBuffer:(unsigned char *)b; - -@end diff --git a/build/Release/VVOSC.framework/Versions/A/Headers/OSCOutPort.h b/build/Release/VVOSC.framework/Versions/A/Headers/OSCOutPort.h deleted file mode 100644 index 28d7c2f..0000000 --- a/build/Release/VVOSC.framework/Versions/A/Headers/OSCOutPort.h +++ /dev/null @@ -1,58 +0,0 @@ -// -// OSCOutPort.h -// OSC -// -// Created by bagheera on 9/20/08. -// Copyright 2008 __MyCompanyName__. All rights reserved. -// - -#if IPHONE -#import -#else -#import -#endif - - -#include - -#import "OSCPacket.h" -#import "OSCBundle.h" -#import "OSCMessage.h" - - - - -@interface OSCOutPort : NSObject { - BOOL deleted; - int sock; - struct sockaddr_in addr; - int port; - NSString *addressString; - NSString *portLabel; // used it to distinguish between multiple osc outputs -} - -+ (id) createWithAddress:(NSString *)a andPort:(int)p; -+ (id) createWithAddress:(NSString *)a andPort:(int)p labelled:(NSString *)l; -- (id) initWithAddress:(NSString *)a andPort:(int)p; -- (id) initWithAddress:(NSString *)a andPort:(int)p labelled:(NSString *)l; -- (void) prepareToBeDeleted; - -- (NSDictionary *) createSnapshot; - -- (BOOL) createSocket; - -- (void) sendThisBundle:(OSCBundle *)b; -- (void) sendThisMessage:(OSCMessage *)m; -- (void) sendThisPacket:(OSCPacket *)p; - -- (void) setAddressString:(NSString *)n; -- (void) setPort:(int)p; -- (void) setAddressString:(NSString *)n andPort:(int)p; - -- (NSString *) portLabel; -- (void) setPortLabel:(NSString *)n; - -- (int) port; -- (NSString *) addressString; - -@end diff --git a/build/Release/VVOSC.framework/Versions/A/Headers/OSCPacket.h b/build/Release/VVOSC.framework/Versions/A/Headers/OSCPacket.h deleted file mode 100644 index 4d79674..0000000 --- a/build/Release/VVOSC.framework/Versions/A/Headers/OSCPacket.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// OSCPacket.h -// OSC -// -// Created by bagheera on 9/20/08. -// Copyright 2008 __MyCompanyName__. All rights reserved. -// - -#if IPHONE -#import -#else -#import -#endif - -#include -#import "OSCBundle.h" -#import "OSCMessage.h" - -/* - this class requires a bundle or message on create/init. the buffer/msg - is NOT retained by this class in any way- it's used to immediately create - the buffer which will be sent. -*/ - -@interface OSCPacket : NSObject { - int bufferLength; - unsigned char *payload; -} - -+ (void) parseRawBuffer:(unsigned char *)b ofMaxLength:(int)l toInPort:(id)p; -+ (id) createWithContent:(id)c; -- (id) initWithContent:(id)c; - -- (int) bufferLength; -- (unsigned char *) payload; - -@end diff --git a/build/Release/VVOSC.framework/Versions/A/Headers/OSCZeroConfDomain.h b/build/Release/VVOSC.framework/Versions/A/Headers/OSCZeroConfDomain.h deleted file mode 100644 index 22a94bc..0000000 --- a/build/Release/VVOSC.framework/Versions/A/Headers/OSCZeroConfDomain.h +++ /dev/null @@ -1,44 +0,0 @@ -// -// OSCZeroConfDomain.h -// VVOSC -// -// Created by bagheera on 12/9/08. -// Copyright 2008 __MyCompanyName__. All rights reserved. -// - -#if IPHONE -#import -#else -#import -#endif - -#import -#import -#include - - - - -@interface OSCZeroConfDomain : NSObject { - NSString *domainString; - NSNetServiceBrowser *serviceBrowser; - - NSMutableArray *servicesArray; - pthread_rwlock_t servicesLock; - - id domainManager; -} - -+ (id) createWithDomain:(NSString *)d andDomainManager:(id)m; -- (id) initWithDomain:(NSString *)d andDomainManager:(id)m; - -// NSNetServiceBrowser delegate methods -- (void)netServiceBrowser:(NSNetServiceBrowser *)n didFindService:(NSNetService *)x moreComing:(BOOL)m; -- (void)netServiceBrowser:(NSNetServiceBrowser *)n didNotSearch:(NSDictionary *)err; -- (void)netServiceBrowser:(NSNetServiceBrowser *)n didRemoveService:(NSNetService *)s moreComing:(BOOL)m; - -// NSNetService delegate methods -- (void)netService:(NSNetService *)n didNotResolve:(NSDictionary *)err; -- (void)netServiceDidResolveAddress:(NSNetService *)n; - -@end diff --git a/build/Release/VVOSC.framework/Versions/A/Headers/OSCZeroConfManager.h b/build/Release/VVOSC.framework/Versions/A/Headers/OSCZeroConfManager.h deleted file mode 100644 index 21ddd7f..0000000 --- a/build/Release/VVOSC.framework/Versions/A/Headers/OSCZeroConfManager.h +++ /dev/null @@ -1,39 +0,0 @@ -// -// OSCZeroConfManager.h -// VVOSC -// -// Created by bagheera on 12/9/08. -// Copyright 2008 __MyCompanyName__. All rights reserved. -// - -#if IPHONE -#import -#else -#import -#endif - -#import "OSCZeroConfDomain.h" -#import - - - - -@interface OSCZeroConfManager : NSObject { - NSNetServiceBrowser *domainBrowser; - - NSMutableDictionary *domainDict; - pthread_rwlock_t domainLock; - - id oscManager; -} - -- (id) initWithOSCManager:(id)m; - -- (void) serviceRemoved:(NSNetService *)s; -- (void) serviceResolved:(NSNetService *)s; - -// NSNetServiceBrowser delegate methods -- (void)netServiceBrowser:(NSNetServiceBrowser *)n didFindDomain:(NSString *)d moreComing:(BOOL)m; -- (void)netServiceBrowser:(NSNetServiceBrowser *)n didNotSearch:(NSDictionary *)err; - -@end diff --git a/build/Release/VVOSC.framework/Versions/A/Headers/VVOSC.h b/build/Release/VVOSC.framework/Versions/A/Headers/VVOSC.h deleted file mode 100644 index 0248ef1..0000000 --- a/build/Release/VVOSC.framework/Versions/A/Headers/VVOSC.h +++ /dev/null @@ -1,9 +0,0 @@ - - -#import "AddressValPair.h" -#import "OSCManager.h" -#import "OSCZeroConfManager.h" -#import "OSCPacket.h" -#import "OSCBundle.h" -#import "OSCMessage.h" - diff --git a/build/Release/VVOSC.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/build/Release/VVOSC.framework/Versions/A/Resources/English.lproj/InfoPlist.strings deleted file mode 100644 index dea12de..0000000 Binary files a/build/Release/VVOSC.framework/Versions/A/Resources/English.lproj/InfoPlist.strings and /dev/null differ diff --git a/build/Release/VVOSC.framework/Versions/A/Resources/Info.plist b/build/Release/VVOSC.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index 5dfb179..0000000 --- a/build/Release/VVOSC.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - VVOSC - CFBundleGetInfoString - 0.1.2 - CFBundleIdentifier - com.vidvox.VVOSC - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - VVOSC - CFBundlePackageType - FMWK - CFBundleSignature - ???? - CFBundleVersion - 0.1.2 - - diff --git a/build/Release/VVOSC.framework/Versions/A/VVOSC b/build/Release/VVOSC.framework/Versions/A/VVOSC deleted file mode 100755 index cbd3235..0000000 Binary files a/build/Release/VVOSC.framework/Versions/A/VVOSC and /dev/null differ diff --git a/build/Release/VVOSC.framework/Versions/Current b/build/Release/VVOSC.framework/Versions/Current deleted file mode 120000 index 8c7e5a6..0000000 --- a/build/Release/VVOSC.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/build/Release/sc3ctrl b/build/Release/sc3ctrl deleted file mode 100755 index 2bb2edb..0000000 Binary files a/build/Release/sc3ctrl and /dev/null differ diff --git a/build/Release/sc3ctrl.dSYM/Contents/Info.plist b/build/Release/sc3ctrl.dSYM/Contents/Info.plist deleted file mode 100644 index 92093bb..0000000 --- a/build/Release/sc3ctrl.dSYM/Contents/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleIdentifier - com.apple.xcode.dsym.sc3ctrl - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - dSYM - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - dSYM_UUID - - i386 - 3318CB70-EB25-6384-E7F4-69918E59B470 - ppc - 1429EEE0-2EEE-3E06-E7F5-133928D9356C - - - diff --git a/build/Release/sc3ctrl.dSYM/Contents/Resources/DWARF/sc3ctrl b/build/Release/sc3ctrl.dSYM/Contents/Resources/DWARF/sc3ctrl deleted file mode 100644 index 7863eb3..0000000 Binary files a/build/Release/sc3ctrl.dSYM/Contents/Resources/DWARF/sc3ctrl and /dev/null differ diff --git a/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/i386/sc3ctrl b/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/i386/sc3ctrl deleted file mode 100755 index acc2268..0000000 Binary files a/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/i386/sc3ctrl and /dev/null differ diff --git a/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/i386/sc3ctrl.LinkFileList b/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/i386/sc3ctrl.LinkFileList deleted file mode 100644 index 12145de..0000000 --- a/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/i386/sc3ctrl.LinkFileList +++ /dev/null @@ -1 +0,0 @@ -/Developer/Projects/sc3ctrl/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/i386/sc3ctrl.o diff --git a/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/i386/sc3ctrl.o b/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/i386/sc3ctrl.o deleted file mode 100644 index 5e3ed07..0000000 Binary files a/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/i386/sc3ctrl.o and /dev/null differ diff --git a/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/ppc/sc3ctrl b/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/ppc/sc3ctrl deleted file mode 100755 index 4dff676..0000000 Binary files a/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/ppc/sc3ctrl and /dev/null differ diff --git a/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/ppc/sc3ctrl.LinkFileList b/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/ppc/sc3ctrl.LinkFileList deleted file mode 100644 index 649b0c2..0000000 --- a/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/ppc/sc3ctrl.LinkFileList +++ /dev/null @@ -1 +0,0 @@ -/Developer/Projects/sc3ctrl/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/ppc/sc3ctrl.o diff --git a/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/ppc/sc3ctrl.o b/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/ppc/sc3ctrl.o deleted file mode 100644 index 34bb2fc..0000000 Binary files a/build/sc3ctrl.build/Release/sc3ctrl.build/Objects-normal/ppc/sc3ctrl.o and /dev/null differ diff --git a/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl-all-target-headers.hmap b/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl-all-target-headers.hmap deleted file mode 100644 index 5d74c43..0000000 Binary files a/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl-all-target-headers.hmap and /dev/null differ diff --git a/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl-generated-files.hmap b/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl-generated-files.hmap deleted file mode 100644 index dd8b535..0000000 Binary files a/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl-generated-files.hmap and /dev/null differ diff --git a/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl-own-target-headers.hmap b/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl-own-target-headers.hmap deleted file mode 100644 index 5d74c43..0000000 Binary files a/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl-own-target-headers.hmap and /dev/null differ diff --git a/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl-project-headers.hmap b/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl-project-headers.hmap deleted file mode 100644 index 595dc49..0000000 Binary files a/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl-project-headers.hmap and /dev/null differ diff --git a/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl.hmap b/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl.hmap deleted file mode 100644 index 22bebe3..0000000 Binary files a/build/sc3ctrl.build/Release/sc3ctrl.build/sc3ctrl.hmap and /dev/null differ diff --git a/build/sc3ctrl.build/sc3ctrl.pbxindex/categories.pbxbtree b/build/sc3ctrl.build/sc3ctrl.pbxindex/categories.pbxbtree deleted file mode 100644 index 313c05e..0000000 Binary files a/build/sc3ctrl.build/sc3ctrl.pbxindex/categories.pbxbtree and /dev/null differ diff --git a/build/sc3ctrl.build/sc3ctrl.pbxindex/cdecls.pbxbtree b/build/sc3ctrl.build/sc3ctrl.pbxindex/cdecls.pbxbtree deleted file mode 100644 index f127871..0000000 Binary files a/build/sc3ctrl.build/sc3ctrl.pbxindex/cdecls.pbxbtree and /dev/null differ diff --git a/build/sc3ctrl.build/sc3ctrl.pbxindex/decls.pbxbtree b/build/sc3ctrl.build/sc3ctrl.pbxindex/decls.pbxbtree deleted file mode 100644 index 83b358e..0000000 Binary files a/build/sc3ctrl.build/sc3ctrl.pbxindex/decls.pbxbtree and /dev/null differ diff --git a/build/sc3ctrl.build/sc3ctrl.pbxindex/files.pbxbtree b/build/sc3ctrl.build/sc3ctrl.pbxindex/files.pbxbtree deleted file mode 100644 index 40ccf73..0000000 Binary files a/build/sc3ctrl.build/sc3ctrl.pbxindex/files.pbxbtree and /dev/null differ diff --git a/build/sc3ctrl.build/sc3ctrl.pbxindex/imports.pbxbtree b/build/sc3ctrl.build/sc3ctrl.pbxindex/imports.pbxbtree deleted file mode 100644 index 81af18e..0000000 Binary files a/build/sc3ctrl.build/sc3ctrl.pbxindex/imports.pbxbtree and /dev/null differ diff --git a/build/sc3ctrl.build/sc3ctrl.pbxindex/pbxindex.header b/build/sc3ctrl.build/sc3ctrl.pbxindex/pbxindex.header deleted file mode 100644 index 4f98438..0000000 Binary files a/build/sc3ctrl.build/sc3ctrl.pbxindex/pbxindex.header and /dev/null differ diff --git a/build/sc3ctrl.build/sc3ctrl.pbxindex/protocols.pbxbtree b/build/sc3ctrl.build/sc3ctrl.pbxindex/protocols.pbxbtree deleted file mode 100644 index 4b685f9..0000000 Binary files a/build/sc3ctrl.build/sc3ctrl.pbxindex/protocols.pbxbtree and /dev/null differ diff --git a/build/sc3ctrl.build/sc3ctrl.pbxindex/refs.pbxbtree b/build/sc3ctrl.build/sc3ctrl.pbxindex/refs.pbxbtree deleted file mode 100644 index a8e5eee..0000000 Binary files a/build/sc3ctrl.build/sc3ctrl.pbxindex/refs.pbxbtree and /dev/null differ diff --git a/build/sc3ctrl.build/sc3ctrl.pbxindex/strings.pbxstrings/control b/build/sc3ctrl.build/sc3ctrl.pbxindex/strings.pbxstrings/control deleted file mode 100644 index 3df9f09..0000000 Binary files a/build/sc3ctrl.build/sc3ctrl.pbxindex/strings.pbxstrings/control and /dev/null differ diff --git a/build/sc3ctrl.build/sc3ctrl.pbxindex/strings.pbxstrings/strings b/build/sc3ctrl.build/sc3ctrl.pbxindex/strings.pbxstrings/strings deleted file mode 100644 index 147e44d..0000000 Binary files a/build/sc3ctrl.build/sc3ctrl.pbxindex/strings.pbxstrings/strings and /dev/null differ diff --git a/build/sc3ctrl.build/sc3ctrl.pbxindex/subclasses.pbxbtree b/build/sc3ctrl.build/sc3ctrl.pbxindex/subclasses.pbxbtree deleted file mode 100644 index 8c3416b..0000000 Binary files a/build/sc3ctrl.build/sc3ctrl.pbxindex/subclasses.pbxbtree and /dev/null differ diff --git a/build/sc3ctrl.build/sc3ctrl.pbxindex/symbols0.pbxsymbols b/build/sc3ctrl.build/sc3ctrl.pbxindex/symbols0.pbxsymbols deleted file mode 100644 index 5a58b7e..0000000 Binary files a/build/sc3ctrl.build/sc3ctrl.pbxindex/symbols0.pbxsymbols and /dev/null differ diff --git a/debug.c b/debug.c new file mode 100644 index 0000000..6516128 --- /dev/null +++ b/debug.c @@ -0,0 +1,11 @@ +/* + * debug.c + * sc3ctrl + * + * Created by Robin Watson on 21/December/2008. + * Copyright 2008 __MyCompanyName__. All rights reserved. + * + */ + +#include "debug.h" +void DummyLog(NSString* format, ...); \ No newline at end of file diff --git a/debug.h b/debug.h new file mode 100644 index 0000000..d1122a5 --- /dev/null +++ b/debug.h @@ -0,0 +1,17 @@ +/* + * debug.h + * sc3ctrl + * + * Created by Robin Watson on 21/December/2008. + * Copyright 2008 __MyCompanyName__. All rights reserved. + * + */ + +#if Debug_Enabled +#define Log( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] ) +#else +#define Log( s, ... ) +#endif + + + diff --git a/sc3ctrl.h b/sc3ctrl.h index 6ac2fc2..8a0fd70 100644 --- a/sc3ctrl.h +++ b/sc3ctrl.h @@ -7,4 +7,4 @@ * */ -void interpretContentsOfEnvironmentVariable(char *var); \ No newline at end of file +#include "debug.h" \ No newline at end of file diff --git a/sc3ctrl.m b/sc3ctrl.m index 189ba8e..91a4ae0 100644 --- a/sc3ctrl.m +++ b/sc3ctrl.m @@ -1,30 +1,10 @@ #import -#import +#include "SC3Controller.h" -void interpretContentsOfEnvironmentVariable(const char *var) { - char *utf8cmd = getenv(var); - - if(utf8cmd == NULL) { - NSLog(@"$%s is NULL", var); - return; - } - - NSString *cmd = [NSString stringWithUTF8String:utf8cmd]; - OSCManager *manager = [[OSCManager alloc] init]; - - OSCOutPort *outport = [manager createNewOutputToAddress:@"127.0.0.1" atPort:57120]; - OSCMessage *msg = [OSCMessage createMessageToAddress:@"/sc3ctrl/cmd"]; - [msg addString:cmd]; - - NSLog(@"Sending cmd %@", cmd); - - [outport sendThisMessage:msg]; - [manager release]; -} - int main (int argc, const char **argv) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + SC3Controller *controller = [[SC3Controller alloc] init]; if(argv[1] == NULL) { NSLog(@"Usage: sc3ctrl -x"); @@ -32,14 +12,45 @@ int main (int argc, const char **argv) { NSString *arg = [NSString stringWithUTF8String:argv[1]]; if([arg isEqual:@"-x"]) { - if(argv[2] == NULL) { - interpretContentsOfEnvironmentVariable("SC3_INTERPRET_TEXT"); + [controller interpretContentsOfEnvironmentVariable:(argv[2] == NULL ? "SC3_INTERPRET_TEXT" : argv[2])]; + return 0; + } + + if([arg isEqual:@"-d"]) { + if(argc < 3) { + NSLog(@"Usage: sc3ctrl -d classname"); } else { - interpretContentsOfEnvironmentVariable((const char *)argv[2]); + [controller openHelpFile:[NSString stringWithUTF8String:argv[2]]]; + } + } + + if([arg isEqual:@"-j"]) { + if(argc < 3) { + NSLog(@"Usage: sc3ctrl -j classname"); + } else { + [controller openClassFile:[NSString stringWithUTF8String:argv[2]]]; + } + } + + if([arg isEqual:@"-y"]) { + if(argc < 3) { + NSLog(@"Usage: sc3ctrl -y methodname"); + } else { + [controller openImplementations:[NSString stringWithUTF8String:argv[2]]]; + } + } + + if([arg isEqual:@"-Y"]) { + if(argc < 3) { + NSLog(@"Usage: sc3ctrl -Y methodname"); + } else { + [controller openReferences:[NSString stringWithUTF8String:argv[2]]]; } } } - + + [controller close]; + [controller release]; [pool drain]; return 0; } diff --git a/sc3ctrl.xcodeproj/project.pbxproj b/sc3ctrl.xcodeproj/project.pbxproj index 3231ce2..ddc65f0 100644 --- a/sc3ctrl.xcodeproj/project.pbxproj +++ b/sc3ctrl.xcodeproj/project.pbxproj @@ -8,6 +8,7 @@ /* Begin PBXBuildFile section */ 567162810EFD45740047EA2B /* VVOSC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 567162800EFD45740047EA2B /* VVOSC.framework */; }; + 5671631B0EFE70500047EA2B /* SC3Controller.m in Sources */ = {isa = PBXBuildFile; fileRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; }; 8DD76F9A0486AA7600D96B5E /* sc3ctrl.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; settings = {ATTRIBUTES = (); }; }; 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; 8DD76F9F0486AA7600D96B5E /* sc3ctrl.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6859EA3029092ED04C91782 /* sc3ctrl.1 */; }; @@ -32,6 +33,9 @@ 32A70AAB03705E1F00C91783 /* sc3ctrl_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sc3ctrl_Prefix.pch; sourceTree = ""; }; 567162800EFD45740047EA2B /* VVOSC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VVOSC.framework; path = Projects/vvosc/build/Release/VVOSC.framework; sourceTree = DEVELOPER_DIR; }; 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sc3ctrl.h; path = Projects/sc3ctrl/sc3ctrl.h; sourceTree = DEVELOPER_DIR; }; + 567163190EFE70500047EA2B /* SC3Controller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SC3Controller.h; path = Projects/sc3ctrl/SC3Controller.h; sourceTree = DEVELOPER_DIR; }; + 5671631A0EFE70500047EA2B /* SC3Controller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SC3Controller.m; path = Projects/sc3ctrl/SC3Controller.m; sourceTree = DEVELOPER_DIR; }; + 567163FE0EFE87020047EA2B /* debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = debug.h; path = Projects/sc3ctrl/debug.h; sourceTree = DEVELOPER_DIR; }; 8DD76FA10486AA7600D96B5E /* sc3ctrl */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = sc3ctrl; sourceTree = BUILT_PRODUCTS_DIR; }; C6859EA3029092ED04C91782 /* sc3ctrl.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = sc3ctrl.1; sourceTree = ""; }; /* End PBXFileReference section */ @@ -52,7 +56,6 @@ 08FB7794FE84155DC02AAC07 /* sc3ctrl */ = { isa = PBXGroup; children = ( - 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */, 08FB7795FE84155DC02AAC07 /* Source */, C6859EA2029092E104C91782 /* Documentation */, 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */, @@ -64,8 +67,12 @@ 08FB7795FE84155DC02AAC07 /* Source */ = { isa = PBXGroup; children = ( + 567163190EFE70500047EA2B /* SC3Controller.h */, + 5671631A0EFE70500047EA2B /* SC3Controller.m */, + 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */, 32A70AAB03705E1F00C91783 /* sc3ctrl_Prefix.pch */, 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */, + 567163FE0EFE87020047EA2B /* debug.h */, ); name = Source; sourceTree = ""; @@ -139,6 +146,7 @@ buildActionMask = 2147483647; files = ( 8DD76F9A0486AA7600D96B5E /* sc3ctrl.m in Sources */, + 5671631B0EFE70500047EA2B /* SC3Controller.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -188,6 +196,7 @@ ARCHS = "$(ARCHS_STANDARD_32_BIT)"; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = Debug_Enabled; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; ONLY_ACTIVE_ARCH = YES; @@ -201,6 +210,7 @@ buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_BIT)"; GCC_C_LANGUAGE_STANDARD = c99; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; INSTALL_PATH = "@executable_path/../Frameworks"; diff --git a/sc3ctrl.xcodeproj/rfw21.pbxuser b/sc3ctrl.xcodeproj/rfw21.pbxuser index 3d30e15..fa35499 100644 --- a/sc3ctrl.xcodeproj/rfw21.pbxuser +++ b/sc3ctrl.xcodeproj/rfw21.pbxuser @@ -169,6 +169,204 @@ 567163080EFE68230047EA2B /* PBXTextBookmark */ = 567163080EFE68230047EA2B /* PBXTextBookmark */; 5671630A0EFE68400047EA2B /* PBXTextBookmark */ = 5671630A0EFE68400047EA2B /* PBXTextBookmark */; 5671630B0EFE688B0047EA2B /* PBXTextBookmark */ = 5671630B0EFE688B0047EA2B /* PBXTextBookmark */; + 5671630F0EFE6F170047EA2B /* PBXTextBookmark */ = 5671630F0EFE6F170047EA2B /* PBXTextBookmark */; + 567163100EFE6F170047EA2B /* PBXTextBookmark */ = 567163100EFE6F170047EA2B /* PBXTextBookmark */; + 567163110EFE6F170047EA2B /* PBXTextBookmark */ = 567163110EFE6F170047EA2B /* PBXTextBookmark */; + 567163120EFE6F170047EA2B /* PBXTextBookmark */ = 567163120EFE6F170047EA2B /* PBXTextBookmark */; + 567163130EFE6F170047EA2B /* PBXTextBookmark */ = 567163130EFE6F170047EA2B /* PBXTextBookmark */; + 5671631D0EFE72720047EA2B /* PBXTextBookmark */ = 5671631D0EFE72720047EA2B /* PBXTextBookmark */; + 5671631E0EFE72720047EA2B /* PBXTextBookmark */ = 5671631E0EFE72720047EA2B /* PBXTextBookmark */; + 5671631F0EFE72720047EA2B /* PBXTextBookmark */ = 5671631F0EFE72720047EA2B /* PBXTextBookmark */; + 567163200EFE72720047EA2B /* PBXTextBookmark */ = 567163200EFE72720047EA2B /* PBXTextBookmark */; + 567163210EFE72720047EA2B /* PBXTextBookmark */ = 567163210EFE72720047EA2B /* PBXTextBookmark */; + 567163220EFE72720047EA2B /* PBXTextBookmark */ = 567163220EFE72720047EA2B /* PBXTextBookmark */; + 567163230EFE72720047EA2B /* PBXTextBookmark */ = 567163230EFE72720047EA2B /* PBXTextBookmark */; + 567163240EFE72720047EA2B /* PBXTextBookmark */ = 567163240EFE72720047EA2B /* PBXTextBookmark */; + 567163250EFE72720047EA2B /* PBXTextBookmark */ = 567163250EFE72720047EA2B /* PBXTextBookmark */; + 567163260EFE72720047EA2B /* PBXTextBookmark */ = 567163260EFE72720047EA2B /* PBXTextBookmark */; + 567163270EFE72720047EA2B /* PBXTextBookmark */ = 567163270EFE72720047EA2B /* PBXTextBookmark */; + 567163280EFE72720047EA2B /* PBXTextBookmark */ = 567163280EFE72720047EA2B /* PBXTextBookmark */; + 567163290EFE72720047EA2B /* PBXTextBookmark */ = 567163290EFE72720047EA2B /* PBXTextBookmark */; + 5671632A0EFE72720047EA2B /* PBXTextBookmark */ = 5671632A0EFE72720047EA2B /* PBXTextBookmark */; + 5671632B0EFE72720047EA2B /* PBXTextBookmark */ = 5671632B0EFE72720047EA2B /* PBXTextBookmark */; + 5671632C0EFE72720047EA2B /* PBXTextBookmark */ = 5671632C0EFE72720047EA2B /* PBXTextBookmark */; + 5671632D0EFE72720047EA2B /* PBXTextBookmark */ = 5671632D0EFE72720047EA2B /* PBXTextBookmark */; + 5671632E0EFE72720047EA2B /* PBXTextBookmark */ = 5671632E0EFE72720047EA2B /* PBXTextBookmark */; + 5671632F0EFE72720047EA2B /* PBXTextBookmark */ = 5671632F0EFE72720047EA2B /* PBXTextBookmark */; + 567163300EFE72720047EA2B /* PBXTextBookmark */ = 567163300EFE72720047EA2B /* PBXTextBookmark */; + 567163310EFE72720047EA2B /* PBXTextBookmark */ = 567163310EFE72720047EA2B /* PBXTextBookmark */; + 567163320EFE72720047EA2B /* PBXTextBookmark */ = 567163320EFE72720047EA2B /* PBXTextBookmark */; + 567163330EFE72720047EA2B /* PBXTextBookmark */ = 567163330EFE72720047EA2B /* PBXTextBookmark */; + 567163340EFE72720047EA2B /* PBXTextBookmark */ = 567163340EFE72720047EA2B /* PBXTextBookmark */; + 567163350EFE72720047EA2B /* PBXTextBookmark */ = 567163350EFE72720047EA2B /* PBXTextBookmark */; + 567163360EFE72720047EA2B /* PBXTextBookmark */ = 567163360EFE72720047EA2B /* PBXTextBookmark */; + 567163370EFE72720047EA2B /* PBXTextBookmark */ = 567163370EFE72720047EA2B /* PBXTextBookmark */; + 567163380EFE72720047EA2B /* PBXTextBookmark */ = 567163380EFE72720047EA2B /* PBXTextBookmark */; + 567163390EFE72720047EA2B /* PBXTextBookmark */ = 567163390EFE72720047EA2B /* PBXTextBookmark */; + 5671633A0EFE72720047EA2B /* PBXTextBookmark */ = 5671633A0EFE72720047EA2B /* PBXTextBookmark */; + 5671633B0EFE72720047EA2B /* PBXTextBookmark */ = 5671633B0EFE72720047EA2B /* PBXTextBookmark */; + 5671633C0EFE72720047EA2B /* PBXTextBookmark */ = 5671633C0EFE72720047EA2B /* PBXTextBookmark */; + 5671633D0EFE72720047EA2B /* PBXTextBookmark */ = 5671633D0EFE72720047EA2B /* PBXTextBookmark */; + 5671633E0EFE72720047EA2B /* PBXTextBookmark */ = 5671633E0EFE72720047EA2B /* PBXTextBookmark */; + 5671633F0EFE72720047EA2B /* PBXTextBookmark */ = 5671633F0EFE72720047EA2B /* PBXTextBookmark */; + 567163400EFE72720047EA2B /* PBXTextBookmark */ = 567163400EFE72720047EA2B /* PBXTextBookmark */; + 567163430EFE72D00047EA2B /* PBXTextBookmark */ = 567163430EFE72D00047EA2B /* PBXTextBookmark */; + 567163440EFE72D00047EA2B /* PBXTextBookmark */ = 567163440EFE72D00047EA2B /* PBXTextBookmark */; + 567163450EFE72D00047EA2B /* PBXTextBookmark */ = 567163450EFE72D00047EA2B /* PBXTextBookmark */; + 567163460EFE72D00047EA2B /* PBXTextBookmark */ = 567163460EFE72D00047EA2B /* PBXTextBookmark */; + 567163470EFE72D00047EA2B /* PBXTextBookmark */ = 567163470EFE72D00047EA2B /* PBXTextBookmark */; + 567163480EFE72D00047EA2B /* PBXTextBookmark */ = 567163480EFE72D00047EA2B /* PBXTextBookmark */; + 567163490EFE72D00047EA2B /* PBXTextBookmark */ = 567163490EFE72D00047EA2B /* PBXTextBookmark */; + 5671634A0EFE72D00047EA2B /* PBXTextBookmark */ = 5671634A0EFE72D00047EA2B /* PBXTextBookmark */; + 5671634B0EFE72D00047EA2B /* PBXTextBookmark */ = 5671634B0EFE72D00047EA2B /* PBXTextBookmark */; + 5671634C0EFE72D00047EA2B /* PBXTextBookmark */ = 5671634C0EFE72D00047EA2B /* PBXTextBookmark */; + 5671634D0EFE72D00047EA2B /* PBXTextBookmark */ = 5671634D0EFE72D00047EA2B /* PBXTextBookmark */; + 5671634E0EFE72D00047EA2B /* PBXTextBookmark */ = 5671634E0EFE72D00047EA2B /* PBXTextBookmark */; + 5671634F0EFE72D00047EA2B /* PBXTextBookmark */ = 5671634F0EFE72D00047EA2B /* PBXTextBookmark */; + 567163500EFE72D00047EA2B /* PBXTextBookmark */ = 567163500EFE72D00047EA2B /* PBXTextBookmark */; + 567163510EFE72D00047EA2B /* PBXTextBookmark */ = 567163510EFE72D00047EA2B /* PBXTextBookmark */; + 567163540EFE72FF0047EA2B /* PBXTextBookmark */ = 567163540EFE72FF0047EA2B /* PBXTextBookmark */; + 567163550EFE72FF0047EA2B /* PBXTextBookmark */ = 567163550EFE72FF0047EA2B /* PBXTextBookmark */; + 567163560EFE72FF0047EA2B /* PBXTextBookmark */ = 567163560EFE72FF0047EA2B /* PBXTextBookmark */; + 567163570EFE72FF0047EA2B /* PBXTextBookmark */ = 567163570EFE72FF0047EA2B /* PBXTextBookmark */; + 567163580EFE72FF0047EA2B /* PBXTextBookmark */ = 567163580EFE72FF0047EA2B /* PBXTextBookmark */; + 567163590EFE72FF0047EA2B /* PBXTextBookmark */ = 567163590EFE72FF0047EA2B /* PBXTextBookmark */; + 5671635D0EFE739C0047EA2B /* PBXTextBookmark */ = 5671635D0EFE739C0047EA2B /* PBXTextBookmark */; + 5671635E0EFE739C0047EA2B /* PBXTextBookmark */ = 5671635E0EFE739C0047EA2B /* PBXTextBookmark */; + 5671635F0EFE739C0047EA2B /* PBXTextBookmark */ = 5671635F0EFE739C0047EA2B /* PBXTextBookmark */; + 567163600EFE739C0047EA2B /* PBXTextBookmark */ = 567163600EFE739C0047EA2B /* PBXTextBookmark */; + 567163610EFE739C0047EA2B /* PBXTextBookmark */ = 567163610EFE739C0047EA2B /* PBXTextBookmark */; + 567163620EFE739C0047EA2B /* PBXTextBookmark */ = 567163620EFE739C0047EA2B /* PBXTextBookmark */; + 567163630EFE739C0047EA2B /* PBXTextBookmark */ = 567163630EFE739C0047EA2B /* PBXTextBookmark */; + 567163640EFE739C0047EA2B /* PBXTextBookmark */ = 567163640EFE739C0047EA2B /* PBXTextBookmark */; + 567163650EFE739C0047EA2B /* PBXTextBookmark */ = 567163650EFE739C0047EA2B /* PBXTextBookmark */; + 567163670EFE73D20047EA2B /* PBXTextBookmark */ = 567163670EFE73D20047EA2B /* PBXTextBookmark */; + 567163680EFE73D20047EA2B /* PBXTextBookmark */ = 567163680EFE73D20047EA2B /* PBXTextBookmark */; + 567163690EFE73D20047EA2B /* PBXTextBookmark */ = 567163690EFE73D20047EA2B /* PBXTextBookmark */; + 5671636A0EFE73D20047EA2B /* PBXTextBookmark */ = 5671636A0EFE73D20047EA2B /* PBXTextBookmark */; + 5671636B0EFE73D20047EA2B /* PBXTextBookmark */ = 5671636B0EFE73D20047EA2B /* PBXTextBookmark */; + 567163740EFE74860047EA2B /* PBXTextBookmark */ = 567163740EFE74860047EA2B /* PBXTextBookmark */; + 567163750EFE74860047EA2B /* PBXTextBookmark */ = 567163750EFE74860047EA2B /* PBXTextBookmark */; + 567163760EFE74860047EA2B /* PBXTextBookmark */ = 567163760EFE74860047EA2B /* PBXTextBookmark */; + 567163770EFE74860047EA2B /* PBXTextBookmark */ = 567163770EFE74860047EA2B /* PBXTextBookmark */; + 567163780EFE74860047EA2B /* PBXTextBookmark */ = 567163780EFE74860047EA2B /* PBXTextBookmark */; + 567163790EFE74860047EA2B /* PBXTextBookmark */ = 567163790EFE74860047EA2B /* PBXTextBookmark */; + 5671637A0EFE74860047EA2B /* PBXTextBookmark */ = 5671637A0EFE74860047EA2B /* PBXTextBookmark */; + 5671637B0EFE74860047EA2B /* PBXTextBookmark */ = 5671637B0EFE74860047EA2B /* PBXTextBookmark */; + 5671637C0EFE74860047EA2B /* PBXTextBookmark */ = 5671637C0EFE74860047EA2B /* PBXTextBookmark */; + 5671637D0EFE74860047EA2B /* PBXTextBookmark */ = 5671637D0EFE74860047EA2B /* PBXTextBookmark */; + 5671637E0EFE74860047EA2B /* PBXTextBookmark */ = 5671637E0EFE74860047EA2B /* PBXTextBookmark */; + 5671637F0EFE74860047EA2B /* PBXTextBookmark */ = 5671637F0EFE74860047EA2B /* PBXTextBookmark */; + 567163800EFE74860047EA2B /* PBXTextBookmark */ = 567163800EFE74860047EA2B /* PBXTextBookmark */; + 567163810EFE74860047EA2B /* PBXTextBookmark */ = 567163810EFE74860047EA2B /* PBXTextBookmark */; + 567163820EFE74860047EA2B /* PBXTextBookmark */ = 567163820EFE74860047EA2B /* PBXTextBookmark */; + 567163860EFE75BA0047EA2B /* PBXTextBookmark */ = 567163860EFE75BA0047EA2B /* PBXTextBookmark */; + 567163870EFE75BA0047EA2B /* PBXTextBookmark */ = 567163870EFE75BA0047EA2B /* PBXTextBookmark */; + 567163880EFE75BA0047EA2B /* PBXTextBookmark */ = 567163880EFE75BA0047EA2B /* PBXTextBookmark */; + 567163890EFE75BA0047EA2B /* PBXTextBookmark */ = 567163890EFE75BA0047EA2B /* PBXTextBookmark */; + 5671638A0EFE75BA0047EA2B /* PBXTextBookmark */ = 5671638A0EFE75BA0047EA2B /* PBXTextBookmark */; + 5671638B0EFE75BA0047EA2B /* PBXTextBookmark */ = 5671638B0EFE75BA0047EA2B /* PBXTextBookmark */; + 5671638C0EFE75BA0047EA2B /* PBXTextBookmark */ = 5671638C0EFE75BA0047EA2B /* PBXTextBookmark */; + 5671638D0EFE75BA0047EA2B /* PBXTextBookmark */ = 5671638D0EFE75BA0047EA2B /* PBXTextBookmark */; + 5671638E0EFE75BA0047EA2B /* PBXTextBookmark */ = 5671638E0EFE75BA0047EA2B /* PBXTextBookmark */; + 5671638F0EFE75BA0047EA2B /* PBXTextBookmark */ = 5671638F0EFE75BA0047EA2B /* PBXTextBookmark */; + 567163900EFE75BA0047EA2B /* PBXTextBookmark */ = 567163900EFE75BA0047EA2B /* PBXTextBookmark */; + 567163910EFE75BA0047EA2B /* PBXTextBookmark */ = 567163910EFE75BA0047EA2B /* PBXTextBookmark */; + 567163920EFE75BA0047EA2B /* PBXTextBookmark */ = 567163920EFE75BA0047EA2B /* PBXTextBookmark */; + 567163930EFE75BA0047EA2B /* PBXTextBookmark */ = 567163930EFE75BA0047EA2B /* PBXTextBookmark */; + 567163940EFE76350047EA2B /* PBXTextBookmark */ = 567163940EFE76350047EA2B /* PBXTextBookmark */; + 567163970EFE76570047EA2B /* PBXTextBookmark */ = 567163970EFE76570047EA2B /* PBXTextBookmark */; + 567163990EFE77480047EA2B /* PBXTextBookmark */ = 567163990EFE77480047EA2B /* PBXTextBookmark */; + 5671639A0EFE77480047EA2B /* PBXTextBookmark */ = 5671639A0EFE77480047EA2B /* PBXTextBookmark */; + 5671639B0EFE77480047EA2B /* PBXTextBookmark */ = 5671639B0EFE77480047EA2B /* PBXTextBookmark */; + 5671639C0EFE77480047EA2B /* PBXTextBookmark */ = 5671639C0EFE77480047EA2B /* PBXTextBookmark */; + 5671639D0EFE77480047EA2B /* PBXTextBookmark */ = 5671639D0EFE77480047EA2B /* PBXTextBookmark */; + 5671639E0EFE77480047EA2B /* PBXTextBookmark */ = 5671639E0EFE77480047EA2B /* PBXTextBookmark */; + 5671639F0EFE77480047EA2B /* PBXTextBookmark */ = 5671639F0EFE77480047EA2B /* PBXTextBookmark */; + 567163A30EFE7BB80047EA2B /* PBXTextBookmark */ = 567163A30EFE7BB80047EA2B /* PBXTextBookmark */; + 567163A40EFE7BB80047EA2B /* PBXTextBookmark */ = 567163A40EFE7BB80047EA2B /* PBXTextBookmark */; + 567163A50EFE7BB80047EA2B /* PBXTextBookmark */ = 567163A50EFE7BB80047EA2B /* PBXTextBookmark */; + 567163A60EFE7BB80047EA2B /* PBXTextBookmark */ = 567163A60EFE7BB80047EA2B /* PBXTextBookmark */; + 567163A70EFE7BB80047EA2B /* PBXTextBookmark */ = 567163A70EFE7BB80047EA2B /* PBXTextBookmark */; + 567163A80EFE7BB80047EA2B /* PBXTextBookmark */ = 567163A80EFE7BB80047EA2B /* PBXTextBookmark */; + 567163A90EFE7BB80047EA2B /* PBXTextBookmark */ = 567163A90EFE7BB80047EA2B /* PBXTextBookmark */; + 567163AA0EFE7BB80047EA2B /* PBXTextBookmark */ = 567163AA0EFE7BB80047EA2B /* PBXTextBookmark */; + 567163AB0EFE7BB80047EA2B /* PBXTextBookmark */ = 567163AB0EFE7BB80047EA2B /* PBXTextBookmark */; + 567163AC0EFE7BB80047EA2B /* PBXTextBookmark */ = 567163AC0EFE7BB80047EA2B /* PBXTextBookmark */; + 567163B00EFE83720047EA2B /* PBXTextBookmark */ = 567163B00EFE83720047EA2B /* PBXTextBookmark */; + 567163B10EFE83720047EA2B /* PBXTextBookmark */ = 567163B10EFE83720047EA2B /* PBXTextBookmark */; + 567163B20EFE83720047EA2B /* PBXTextBookmark */ = 567163B20EFE83720047EA2B /* PBXTextBookmark */; + 567163B30EFE83720047EA2B /* PBXTextBookmark */ = 567163B30EFE83720047EA2B /* PBXTextBookmark */; + 567163B40EFE83720047EA2B /* PBXTextBookmark */ = 567163B40EFE83720047EA2B /* PBXTextBookmark */; + 567163B50EFE83720047EA2B /* PBXTextBookmark */ = 567163B50EFE83720047EA2B /* PBXTextBookmark */; + 567163B60EFE83720047EA2B /* PBXTextBookmark */ = 567163B60EFE83720047EA2B /* PBXTextBookmark */; + 567163B70EFE83720047EA2B /* PBXTextBookmark */ = 567163B70EFE83720047EA2B /* PBXTextBookmark */; + 567163B80EFE83720047EA2B /* PBXTextBookmark */ = 567163B80EFE83720047EA2B /* PBXTextBookmark */; + 567163B90EFE83720047EA2B /* PBXTextBookmark */ = 567163B90EFE83720047EA2B /* PBXTextBookmark */; + 567163BB0EFE84790047EA2B /* PBXTextBookmark */ = 567163BB0EFE84790047EA2B /* PBXTextBookmark */; + 567163BC0EFE85380047EA2B /* PBXTextBookmark */ = 567163BC0EFE85380047EA2B /* PBXTextBookmark */; + 567163C50EFE85780047EA2B /* PBXTextBookmark */ = 567163C50EFE85780047EA2B /* PBXTextBookmark */; + 567163C60EFE85780047EA2B /* PBXTextBookmark */ = 567163C60EFE85780047EA2B /* PBXTextBookmark */; + 567163C70EFE85780047EA2B /* PBXTextBookmark */ = 567163C70EFE85780047EA2B /* PBXTextBookmark */; + 567163C80EFE85780047EA2B /* PBXTextBookmark */ = 567163C80EFE85780047EA2B /* PBXTextBookmark */; + 567163C90EFE85780047EA2B /* PBXTextBookmark */ = 567163C90EFE85780047EA2B /* PBXTextBookmark */; + 567163CA0EFE85780047EA2B /* PBXTextBookmark */ = 567163CA0EFE85780047EA2B /* PBXTextBookmark */; + 567163CB0EFE85A10047EA2B /* PBXTextBookmark */ = 567163CB0EFE85A10047EA2B /* PBXTextBookmark */; + 567163CC0EFE85A10047EA2B /* PBXTextBookmark */ = 567163CC0EFE85A10047EA2B /* PBXTextBookmark */; + 567163CD0EFE85A10047EA2B /* PBXTextBookmark */ = 567163CD0EFE85A10047EA2B /* PBXTextBookmark */; + 567163CE0EFE85A10047EA2B /* PBXTextBookmark */ = 567163CE0EFE85A10047EA2B /* PBXTextBookmark */; + 567163CF0EFE85A10047EA2B /* PBXTextBookmark */ = 567163CF0EFE85A10047EA2B /* PBXTextBookmark */; + 567163D00EFE85A10047EA2B /* PBXTextBookmark */ = 567163D00EFE85A10047EA2B /* PBXTextBookmark */; + 567163D10EFE85BA0047EA2B /* PBXTextBookmark */ = 567163D10EFE85BA0047EA2B /* PBXTextBookmark */; + 567163D20EFE85BA0047EA2B /* PBXTextBookmark */ = 567163D20EFE85BA0047EA2B /* PBXTextBookmark */; + 567163D30EFE85BA0047EA2B /* PBXTextBookmark */ = 567163D30EFE85BA0047EA2B /* PBXTextBookmark */; + 567163D60EFE85D50047EA2B /* PBXTextBookmark */ = 567163D60EFE85D50047EA2B /* PBXTextBookmark */; + 567163D70EFE85D50047EA2B /* PBXTextBookmark */ = 567163D70EFE85D50047EA2B /* PBXTextBookmark */; + 567163D80EFE85D50047EA2B /* PBXTextBookmark */ = 567163D80EFE85D50047EA2B /* PBXTextBookmark */; + 567163D90EFE85D50047EA2B /* PBXTextBookmark */ = 567163D90EFE85D50047EA2B /* PBXTextBookmark */; + 567163DA0EFE85D50047EA2B /* PBXTextBookmark */ = 567163DA0EFE85D50047EA2B /* PBXTextBookmark */; + 567163DE0EFE86140047EA2B /* PBXTextBookmark */ = 567163DE0EFE86140047EA2B /* PBXTextBookmark */; + 567163DF0EFE86140047EA2B /* PBXTextBookmark */ = 567163DF0EFE86140047EA2B /* PBXTextBookmark */; + 567163E00EFE86140047EA2B /* PBXTextBookmark */ = 567163E00EFE86140047EA2B /* PBXTextBookmark */; + 567163E60EFE86A80047EA2B /* PBXTextBookmark */ = 567163E60EFE86A80047EA2B /* PBXTextBookmark */; + 567163E80EFE86A80047EA2B /* PBXTextBookmark */ = 567163E80EFE86A80047EA2B /* PBXTextBookmark */; + 567163E90EFE86A80047EA2B /* PBXTextBookmark */ = 567163E90EFE86A80047EA2B /* PBXTextBookmark */; + 567163EA0EFE86A80047EA2B /* PBXTextBookmark */ = 567163EA0EFE86A80047EA2B /* PBXTextBookmark */; + 567163EB0EFE86A80047EA2B /* PBXTextBookmark */ = 567163EB0EFE86A80047EA2B /* PBXTextBookmark */; + 567163EC0EFE86A80047EA2B /* PBXTextBookmark */ = 567163EC0EFE86A80047EA2B /* PBXTextBookmark */; + 567163ED0EFE86A80047EA2B /* PBXTextBookmark */ = 567163ED0EFE86A80047EA2B /* PBXTextBookmark */; + 567163EF0EFE86A80047EA2B /* PBXTextBookmark */ = 567163EF0EFE86A80047EA2B /* PBXTextBookmark */; + 567163F00EFE86A80047EA2B /* PBXTextBookmark */ = 567163F00EFE86A80047EA2B /* PBXTextBookmark */; + 567163F10EFE86A80047EA2B /* PBXTextBookmark */ = 567163F10EFE86A80047EA2B /* PBXTextBookmark */; + 567163F20EFE86A80047EA2B /* PBXTextBookmark */ = 567163F20EFE86A80047EA2B /* PBXTextBookmark */; + 567163F30EFE86A80047EA2B /* PBXTextBookmark */ = 567163F30EFE86A80047EA2B /* PBXTextBookmark */; + 567163F40EFE86A80047EA2B /* PBXTextBookmark */ = 567163F40EFE86A80047EA2B /* PBXTextBookmark */; + 567163F50EFE86A80047EA2B /* PBXTextBookmark */ = 567163F50EFE86A80047EA2B /* PBXTextBookmark */; + 567163F60EFE86A80047EA2B /* PBXTextBookmark */ = 567163F60EFE86A80047EA2B /* PBXTextBookmark */; + 567163F70EFE86A80047EA2B /* PBXTextBookmark */ = 567163F70EFE86A80047EA2B /* PBXTextBookmark */; + 567163F80EFE86A80047EA2B /* PBXTextBookmark */ = 567163F80EFE86A80047EA2B /* PBXTextBookmark */; + 567163F90EFE86A80047EA2B /* PBXTextBookmark */ = 567163F90EFE86A80047EA2B /* PBXTextBookmark */; + 567163FA0EFE86A80047EA2B /* PBXTextBookmark */ = 567163FA0EFE86A80047EA2B /* PBXTextBookmark */; + 567163FB0EFE86A80047EA2B /* PBXTextBookmark */ = 567163FB0EFE86A80047EA2B /* PBXTextBookmark */; + 567163FC0EFE86A80047EA2B /* PBXTextBookmark */ = 567163FC0EFE86A80047EA2B /* PBXTextBookmark */; + 567164000EFE87250047EA2B /* PBXTextBookmark */ = 567164000EFE87250047EA2B /* PBXTextBookmark */; + 567164010EFE87250047EA2B /* PBXTextBookmark */ = 567164010EFE87250047EA2B /* PBXTextBookmark */; + 567164020EFE87250047EA2B /* PBXTextBookmark */ = 567164020EFE87250047EA2B /* PBXTextBookmark */; + 567164030EFE87250047EA2B /* PBXTextBookmark */ = 567164030EFE87250047EA2B /* PBXTextBookmark */; + 567164040EFE87250047EA2B /* PBXTextBookmark */ = 567164040EFE87250047EA2B /* PBXTextBookmark */; + 567164050EFE87250047EA2B /* PBXTextBookmark */ = 567164050EFE87250047EA2B /* PBXTextBookmark */; + 567164060EFE87250047EA2B /* PBXTextBookmark */ = 567164060EFE87250047EA2B /* PBXTextBookmark */; + 567164070EFE87250047EA2B /* PBXTextBookmark */ = 567164070EFE87250047EA2B /* PBXTextBookmark */; + 567164080EFE87250047EA2B /* PBXTextBookmark */ = 567164080EFE87250047EA2B /* PBXTextBookmark */; + 567164090EFE87250047EA2B /* PBXTextBookmark */ = 567164090EFE87250047EA2B /* PBXTextBookmark */; + 5671640A0EFE87250047EA2B /* PBXTextBookmark */ = 5671640A0EFE87250047EA2B /* PBXTextBookmark */; + 5671640B0EFE87250047EA2B /* PBXTextBookmark */ = 5671640B0EFE87250047EA2B /* PBXTextBookmark */; + 5671640C0EFE87250047EA2B /* PBXTextBookmark */ = 5671640C0EFE87250047EA2B /* PBXTextBookmark */; + 5671640D0EFE87250047EA2B /* PBXTextBookmark */ = 5671640D0EFE87250047EA2B /* PBXTextBookmark */; + 5671640E0EFE87250047EA2B /* PBXTextBookmark */ = 5671640E0EFE87250047EA2B /* PBXTextBookmark */; + 5671640F0EFE87250047EA2B /* PBXTextBookmark */ = 5671640F0EFE87250047EA2B /* PBXTextBookmark */; + 567164100EFE87250047EA2B /* PBXTextBookmark */ = 567164100EFE87250047EA2B /* PBXTextBookmark */; + 567164110EFE87250047EA2B /* PBXTextBookmark */ = 567164110EFE87250047EA2B /* PBXTextBookmark */; }; sourceControlManager = 567161F90EFD3E860047EA2B /* Source Control */; userBuildSettings = { @@ -181,6 +379,13 @@ sepNavVisRange = "{34, 1178}"; }; }; + 32A70AAB03705E1F00C91783 /* sc3ctrl_Prefix.pch */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1412, 650}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 156}"; + }; + }; 567161F40EFD3E560047EA2B /* sc3ctrl */ = { isa = PBXExecutable; activeArgIndices = ( @@ -221,7 +426,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 2"; rLen = 0; - rLoc = 55; + rLoc = 60; rType = 0; vrLen = 450; vrLoc = 0; @@ -231,7 +436,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 2"; rLen = 0; - rLoc = 55; + rLoc = 60; rType = 0; vrLen = 531; vrLoc = 0; @@ -241,7 +446,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 2"; rLen = 0; - rLoc = 55; + rLoc = 60; rType = 0; vrLen = 648; vrLoc = 0; @@ -251,7 +456,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 2"; rLen = 0; - rLoc = 55; + rLoc = 60; rType = 0; vrLen = 542; vrLoc = 0; @@ -261,7 +466,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 2"; rLen = 0; - rLoc = 55; + rLoc = 60; rType = 0; vrLen = 648; vrLoc = 0; @@ -271,7 +476,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 2"; rLen = 0; - rLoc = 55; + rLoc = 60; rType = 0; vrLen = 648; vrLoc = 0; @@ -281,7 +486,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 2"; rLen = 0; - rLoc = 55; + rLoc = 60; rType = 0; vrLen = 238; vrLoc = 0; @@ -291,7 +496,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 2"; rLen = 0; - rLoc = 55; + rLoc = 60; rType = 0; vrLen = 531; vrLoc = 0; @@ -301,7 +506,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 2"; rLen = 0; - rLoc = 55; + rLoc = 60; rType = 0; vrLen = 648; vrLoc = 0; @@ -311,7 +516,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 2"; rLen = 0; - rLoc = 55; + rLoc = 60; rType = 0; vrLen = 531; vrLoc = 0; @@ -321,7 +526,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 2"; rLen = 0; - rLoc = 55; + rLoc = 60; rType = 0; vrLen = 450; vrLoc = 0; @@ -331,7 +536,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 2"; rLen = 0; - rLoc = 55; + rLoc = 60; rType = 0; vrLen = 238; vrLoc = 0; @@ -341,7 +546,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 2"; rLen = 0; - rLoc = 55; + rLoc = 60; rType = 0; vrLen = 450; vrLoc = 0; @@ -351,7 +556,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 7"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 450; vrLoc = 0; @@ -361,7 +566,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 7"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 238; vrLoc = 0; @@ -371,7 +576,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 7"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -381,7 +586,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 7"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 450; vrLoc = 0; @@ -391,7 +596,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 7"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 185; vrLoc = 58; @@ -401,7 +606,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 7"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -411,7 +616,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 7"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -421,7 +626,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 7"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -431,7 +636,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -441,7 +646,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -451,7 +656,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -461,7 +666,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -471,7 +676,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -481,7 +686,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -491,7 +696,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 648; vrLoc = 0; @@ -501,7 +706,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -511,7 +716,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -521,7 +726,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -531,7 +736,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -541,7 +746,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 531; vrLoc = 0; @@ -551,7 +756,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 648; vrLoc = 0; @@ -561,7 +766,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 5"; rLen = 0; - rLoc = 755; + rLoc = 155; rType = 0; vrLen = 531; vrLoc = 0; @@ -571,7 +776,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 5"; rLen = 0; - rLoc = 755; + rLoc = 155; rType = 0; vrLen = 531; vrLoc = 0; @@ -581,7 +786,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 9"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 574; vrLoc = 0; @@ -591,7 +796,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 12"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 479; vrLoc = 238; @@ -601,7 +806,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 14"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 437; vrLoc = 238; @@ -611,7 +816,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 14"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 437; vrLoc = 238; @@ -621,7 +826,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 11"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 747; vrLoc = 0; @@ -631,7 +836,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 18"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 805; vrLoc = 0; @@ -641,7 +846,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 11"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 803; vrLoc = 0; @@ -651,7 +856,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 21"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 767; vrLoc = 0; @@ -661,7 +866,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 7"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 689; vrLoc = 0; @@ -671,7 +876,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 10"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 689; vrLoc = 0; @@ -681,7 +886,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 10"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 717; vrLoc = 0; @@ -691,7 +896,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 11"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 897; vrLoc = 0; @@ -701,7 +906,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 11"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 930; vrLoc = 0; @@ -711,7 +916,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 10"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 935; vrLoc = 0; @@ -721,7 +926,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 10"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 929; vrLoc = 0; @@ -731,7 +936,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 13"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 799; vrLoc = 0; @@ -741,7 +946,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 10"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 838; vrLoc = 0; @@ -751,7 +956,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 10"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 917; vrLoc = 0; @@ -759,8 +964,8 @@ 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1412, 650}}"; - sepNavSelRange = "{203, 0}"; - sepNavVisRange = "{0, 203}"; + sepNavSelRange = "{166, 0}"; + sepNavVisRange = "{0, 166}"; }; }; 567162C70EFE646E0047EA2B /* PBXTextBookmark */ = { @@ -768,7 +973,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 162; + rLoc = 147; rType = 0; vrLen = 194; vrLoc = 0; @@ -778,7 +983,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 22"; rLen = 0; - rLoc = 1234; + rLoc = 1678; rType = 0; vrLen = 878; vrLoc = 0; @@ -788,7 +993,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 15"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 917; vrLoc = 0; @@ -798,7 +1003,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 203; + rLoc = 166; rType = 0; vrLen = 148; vrLoc = 0; @@ -808,7 +1013,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 15"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 917; vrLoc = 0; @@ -818,7 +1023,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 203; + rLoc = 166; rType = 0; vrLen = 148; vrLoc = 0; @@ -828,7 +1033,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 15"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 917; vrLoc = 0; @@ -838,7 +1043,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 203; + rLoc = 166; rType = 0; vrLen = 148; vrLoc = 0; @@ -848,7 +1053,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 15"; rLen = 0; - rLoc = 1199; + rLoc = 1643; rType = 0; vrLen = 917; vrLoc = 0; @@ -858,7 +1063,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 203; + rLoc = 166; rType = 0; vrLen = 148; vrLoc = 0; @@ -868,7 +1073,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 10"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 917; vrLoc = 0; @@ -878,7 +1083,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 203; + rLoc = 166; rType = 0; vrLen = 153; vrLoc = 0; @@ -888,7 +1093,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 10"; rLen = 0; - rLoc = 1194; + rLoc = 1592; rType = 0; vrLen = 917; vrLoc = 0; @@ -898,7 +1103,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 203; + rLoc = 166; rType = 0; vrLen = 192; vrLoc = 0; @@ -908,7 +1113,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 22"; rLen = 0; - rLoc = 1234; + rLoc = 1678; rType = 0; vrLen = 878; vrLoc = 0; @@ -918,7 +1123,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 162; + rLoc = 147; rType = 0; vrLen = 194; vrLoc = 0; @@ -928,7 +1133,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 29"; rLen = 0; - rLoc = 1234; + rLoc = 1678; rType = 0; vrLen = 1063; vrLoc = 0; @@ -938,7 +1143,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 24"; rLen = 0; - rLoc = 1234; + rLoc = 1678; rType = 0; vrLen = 1064; vrLoc = 0; @@ -948,7 +1153,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 32"; rLen = 0; - rLoc = 911; + rLoc = 373; rType = 0; vrLen = 1083; vrLoc = 0; @@ -958,7 +1163,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 203; + rLoc = 166; rType = 0; vrLen = 203; vrLoc = 0; @@ -968,7 +1173,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 35"; rLen = 0; - rLoc = 1062; + rLoc = 527; rType = 0; vrLen = 1113; vrLoc = 0; @@ -978,7 +1183,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 35"; rLen = 0; - rLoc = 1062; + rLoc = 527; rType = 0; vrLen = 1113; vrLoc = 0; @@ -988,7 +1193,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 203; + rLoc = 166; rType = 0; vrLen = 203; vrLoc = 0; @@ -998,7 +1203,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 5"; rLen = 0; - rLoc = 116; + rLoc = 61; rType = 0; vrLen = 1178; vrLoc = 0; @@ -1008,7 +1213,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 203; + rLoc = 166; rType = 0; vrLen = 203; vrLoc = 0; @@ -1018,7 +1223,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 37"; rLen = 0; - rLoc = 1164; + rLoc = 552; rType = 0; vrLen = 1151; vrLoc = 34; @@ -1028,7 +1233,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 37"; rLen = 0; - rLoc = 1164; + rLoc = 552; rType = 0; vrLen = 1151; vrLoc = 34; @@ -1038,7 +1243,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 203; + rLoc = 166; rType = 0; vrLen = 203; vrLoc = 0; @@ -1048,7 +1253,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 37"; rLen = 0; - rLoc = 1164; + rLoc = 552; rType = 0; vrLen = 1151; vrLoc = 34; @@ -1058,7 +1263,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 203; + rLoc = 166; rType = 0; vrLen = 203; vrLoc = 0; @@ -1068,7 +1273,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 37"; rLen = 0; - rLoc = 1164; + rLoc = 552; rType = 0; vrLen = 1151; vrLoc = 34; @@ -1078,7 +1283,7 @@ fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; name = "sc3ctrl.h: 10"; rLen = 0; - rLoc = 203; + rLoc = 166; rType = 0; vrLen = 203; vrLoc = 0; @@ -1088,7 +1293,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 37"; rLen = 0; - rLoc = 1164; + rLoc = 552; rType = 0; vrLen = 1149; vrLoc = 34; @@ -1098,7 +1303,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 34"; rLen = 0; - rLoc = 986; + rLoc = 414; rType = 0; vrLen = 1148; vrLoc = 34; @@ -1107,8 +1312,8 @@ isa = PBXTextBookmark; fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 7"; - rLen = 4; - rLoc = 179; + rLen = 0; + rLoc = 61; rType = 0; vrLen = 1186; vrLoc = 34; @@ -1118,7 +1323,7 @@ fRef = 08FB7796FE84155DC02AAC07 /* sc3ctrl.m */; name = "sc3ctrl.m: 7"; rLen = 0; - rLoc = 160; + rLoc = 61; rType = 0; vrLen = 1178; vrLoc = 34; @@ -1136,16 +1341,16 @@ path = /Developer/Projects/sc3ctrl/sc3ctrl.m; sourceTree = ""; uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1412, 736}}"; - sepNavSelRange = "{220, 0}"; - sepNavVisRange = "{0, 1195}"; + sepNavIntBoundsRect = "{{0, 0}, {1412, 880}}"; + sepNavSelRange = "{230, 0}"; + sepNavVisRange = "{0, 1331}"; }; }; 567163050EFE67DE0047EA2B /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 567162FD0EFE67C30047EA2B /* sc3ctrl.m */; - rLen = 1; - rLoc = 38; + rLen = 0; + rLoc = 14; rType = 1; }; 567163060EFE67DE0047EA2B /* PBXTextBookmark */ = { @@ -1153,7 +1358,7 @@ fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; name = "sc3ctrl.m: 6"; rLen = 0; - rLoc = 123; + rLoc = 61; rType = 0; vrLen = 1196; vrLoc = 0; @@ -1163,7 +1368,7 @@ fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; name = "sc3ctrl.m: 23"; rLen = 0; - rLoc = 661; + rLoc = 61; rType = 0; vrLen = 1202; vrLoc = 0; @@ -1173,7 +1378,7 @@ fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; name = "sc3ctrl.m: 34"; rLen = 0; - rLoc = 986; + rLoc = 414; rType = 0; vrLen = 1208; vrLoc = 0; @@ -1183,11 +1388,2051 @@ fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; name = "sc3ctrl.m: 9"; rLen = 0; - rLoc = 220; + rLoc = 61; rType = 0; vrLen = 1195; vrLoc = 0; }; + 5671630F0EFE6F170047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 11"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 238; + vrLoc = 0; + }; + 567163100EFE6F170047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1195; + vrLoc = 0; + }; + 567163110EFE6F170047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1195; + vrLoc = 0; + }; + 567163120EFE6F170047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 11"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 238; + vrLoc = 0; + }; + 567163130EFE6F170047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 26"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 1078; + vrLoc = 59; + }; + 567163190EFE70500047EA2B /* SC3Controller.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1412, 650}}"; + sepNavSelRange = "{216, 0}"; + sepNavVisRange = "{0, 577}"; + }; + }; + 5671631A0EFE70500047EA2B /* SC3Controller.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1412, 1424}}"; + sepNavSelRange = "{1732, 0}"; + sepNavVisRange = "{38, 975}"; + }; + }; + 5671631D0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 9"; + rLen = 0; + rLoc = 147; + rType = 0; + vrLen = 241; + vrLoc = 0; + }; + 5671631E0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 5"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 810; + vrLoc = 0; + }; + 5671631F0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 13"; + rLen = 0; + rLoc = 208; + rType = 0; + vrLen = 751; + vrLoc = 35; + }; + 567163200EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 17"; + rLen = 0; + rLoc = 306; + rType = 0; + vrLen = 353; + vrLoc = 0; + }; + 567163210EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 27"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 1137; + vrLoc = 0; + }; + 567163220EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 12"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 251; + vrLoc = 0; + }; + 567163230EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 27"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 1137; + vrLoc = 0; + }; + 567163240EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 12"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 251; + vrLoc = 0; + }; + 567163250EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 27"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 1137; + vrLoc = 0; + }; + 567163260EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 13"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 295; + vrLoc = 0; + }; + 567163270EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 20"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 1048; + vrLoc = 0; + }; + 567163280EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 13"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 297; + vrLoc = 0; + }; + 567163290EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 26"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 1048; + vrLoc = 0; + }; + 5671632A0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 12"; + rLen = 0; + rLoc = 306; + rType = 0; + vrLen = 226; + vrLoc = 0; + }; + 5671632B0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 26"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 1048; + vrLoc = 0; + }; + 5671632C0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 281; + vrLoc = 0; + }; + 5671632D0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 24"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 1048; + vrLoc = 0; + }; + 5671632E0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 20"; + rLen = 0; + rLoc = 1856; + rType = 0; + vrLen = 394; + vrLoc = 0; + }; + 5671632F0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 3"; + rLen = 0; + rLoc = 23; + rType = 0; + vrLen = 281; + vrLoc = 0; + }; + 567163300EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 20"; + rLen = 0; + rLoc = 1856; + rType = 0; + vrLen = 394; + vrLoc = 0; + }; + 567163310EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 16"; + rLen = 0; + rLoc = 306; + rType = 0; + vrLen = 283; + vrLoc = 0; + }; + 567163320EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 24"; + rLen = 0; + rLoc = 1859; + rType = 0; + vrLen = 433; + vrLoc = 0; + }; + 567163330EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 5"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 1001; + vrLoc = 0; + }; + 567163340EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 13"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 297; + vrLoc = 0; + }; + 567163350EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 6"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 1001; + vrLoc = 0; + }; + 567163360EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 20"; + rLen = 0; + rLoc = 402; + rType = 0; + vrLen = 840; + vrLoc = 35; + }; + 567163370EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 5"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 810; + vrLoc = 0; + }; + 567163380EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 9"; + rLen = 0; + rLoc = 147; + rType = 0; + vrLen = 241; + vrLoc = 0; + }; + 567163390EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 5"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 810; + vrLoc = 0; + }; + 5671633A0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 16"; + rLen = 0; + rLoc = 306; + rType = 0; + vrLen = 283; + vrLoc = 0; + }; + 5671633B0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 20"; + rLen = 0; + rLoc = 402; + rType = 0; + vrLen = 840; + vrLoc = 35; + }; + 5671633C0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 17"; + rLen = 0; + rLoc = 306; + rType = 0; + vrLen = 353; + vrLoc = 0; + }; + 5671633D0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 13"; + rLen = 0; + rLoc = 208; + rType = 0; + vrLen = 751; + vrLoc = 35; + }; + 5671633E0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 17"; + rLen = 0; + rLoc = 306; + rType = 0; + vrLen = 353; + vrLoc = 0; + }; + 5671633F0EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 13"; + rLen = 0; + rLoc = 208; + rType = 0; + vrLen = 751; + vrLoc = 35; + }; + 567163400EFE72720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 12"; + rLen = 0; + rLoc = 256; + rType = 0; + vrLen = 345; + vrLoc = 0; + }; + 567163430EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 9"; + rLen = 0; + rLoc = 147; + rType = 0; + vrLen = 241; + vrLoc = 0; + }; + 567163440EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 2"; + rLen = 0; + rLoc = 60; + rType = 0; + vrLen = 811; + vrLoc = 0; + }; + 567163450EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 9"; + rLen = 0; + rLoc = 175; + rType = 0; + vrLen = 746; + vrLoc = 0; + }; + 567163460EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 11"; + rLen = 0; + rLoc = 216; + rType = 0; + vrLen = 386; + vrLoc = 0; + }; + 567163470EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 17"; + rLen = 0; + rLoc = 306; + rType = 0; + vrLen = 361; + vrLoc = 0; + }; + 567163480EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 11"; + rLen = 0; + rLoc = 177; + rType = 0; + vrLen = 721; + vrLoc = 0; + }; + 567163490EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 10"; + rLen = 0; + rLoc = 216; + rType = 0; + vrLen = 362; + vrLoc = 0; + }; + 5671634A0EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 11"; + rLen = 0; + rLoc = 177; + rType = 0; + vrLen = 721; + vrLoc = 0; + }; + 5671634B0EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 10"; + rLen = 0; + rLoc = 216; + rType = 0; + vrLen = 362; + vrLoc = 0; + }; + 5671634C0EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 9"; + rLen = 0; + rLoc = 147; + rType = 0; + vrLen = 241; + vrLoc = 0; + }; + 5671634D0EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 2"; + rLen = 0; + rLoc = 60; + rType = 0; + vrLen = 811; + vrLoc = 0; + }; + 5671634E0EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 9"; + rLen = 0; + rLoc = 175; + rType = 0; + vrLen = 721; + vrLoc = 0; + }; + 5671634F0EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 11"; + rLen = 0; + rLoc = 216; + rType = 0; + vrLen = 386; + vrLoc = 0; + }; + 567163500EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 9"; + rLen = 0; + rLoc = 175; + rType = 0; + vrLen = 746; + vrLoc = 0; + }; + 567163510EFE72D00047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 18"; + rLen = 0; + rLoc = 306; + rType = 0; + vrLen = 386; + vrLoc = 0; + }; + 567163540EFE72FF0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 20"; + rLen = 0; + rLoc = 570; + rType = 0; + vrLen = 377; + vrLoc = 0; + }; + 567163550EFE72FF0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 17"; + rLen = 0; + rLoc = 280; + rType = 0; + vrLen = 750; + vrLoc = 0; + }; + 567163560EFE72FF0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 20"; + rLen = 0; + rLoc = 570; + rType = 0; + vrLen = 377; + vrLoc = 0; + }; + 567163570EFE72FF0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 17"; + rLen = 0; + rLoc = 280; + rType = 0; + vrLen = 750; + vrLoc = 0; + }; + 567163580EFE72FF0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 20"; + rLen = 0; + rLoc = 570; + rType = 0; + vrLen = 377; + vrLoc = 0; + }; + 567163590EFE72FF0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 17"; + rLen = 0; + rLoc = 280; + rType = 0; + vrLen = 720; + vrLoc = 0; + }; + 5671635D0EFE739C0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 19"; + rLen = 0; + rLoc = 309; + rType = 0; + vrLen = 393; + vrLoc = 0; + }; + 5671635E0EFE739C0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 16"; + rLen = 0; + rLoc = 223; + rType = 0; + vrLen = 801; + vrLoc = 0; + }; + 5671635F0EFE739C0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 14"; + rLen = 0; + rLoc = 211; + rType = 0; + vrLen = 721; + vrLoc = 0; + }; + 567163600EFE739C0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 19"; + rLen = 0; + rLoc = 312; + rType = 0; + vrLen = 379; + vrLoc = 0; + }; + 567163610EFE739C0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 15"; + rLen = 0; + rLoc = 221; + rType = 0; + vrLen = 798; + vrLoc = 0; + }; + 567163620EFE739C0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 19"; + rLen = 0; + rLoc = 309; + rType = 0; + vrLen = 393; + vrLoc = 0; + }; + 567163630EFE739C0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 16"; + rLen = 0; + rLoc = 223; + rType = 0; + vrLen = 801; + vrLoc = 0; + }; + 567163640EFE739C0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 19"; + rLen = 0; + rLoc = 309; + rType = 0; + vrLen = 393; + vrLoc = 0; + }; + 567163650EFE739C0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 16"; + rLen = 0; + rLoc = 222; + rType = 0; + vrLen = 801; + vrLoc = 0; + }; + 567163670EFE73D20047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 18"; + rLen = 0; + rLoc = 309; + rType = 0; + vrLen = 379; + vrLoc = 0; + }; + 567163680EFE73D20047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 14"; + rLen = 0; + rLoc = 214; + rType = 0; + vrLen = 799; + vrLoc = 0; + }; + 567163690EFE73D20047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 14"; + rLen = 0; + rLoc = 214; + rType = 0; + vrLen = 799; + vrLoc = 0; + }; + 5671636A0EFE73D20047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 18"; + rLen = 0; + rLoc = 309; + rType = 0; + vrLen = 379; + vrLoc = 0; + }; + 5671636B0EFE73D20047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 19"; + rLen = 0; + rLoc = 361; + rType = 0; + vrLen = 803; + vrLoc = 0; + }; + 567163740EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 11"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 149; + vrLoc = 0; + }; + 567163750EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 20"; + rLen = 0; + rLoc = 570; + rType = 0; + vrLen = 379; + vrLoc = 0; + }; + 567163760EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 41"; + rLen = 0; + rLoc = 1829; + rType = 0; + vrLen = 717; + vrLoc = 146; + }; + 567163770EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 10"; + rLen = 0; + rLoc = 112; + rType = 0; + vrLen = 893; + vrLoc = 0; + }; + 567163780EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 19"; + rLen = 0; + rLoc = 373; + rType = 0; + vrLen = 830; + vrLoc = 0; + }; + 567163790EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 9"; + rLen = 0; + rLoc = 147; + rType = 0; + vrLen = 241; + vrLoc = 0; + }; + 5671637A0EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 32"; + rLen = 0; + rLoc = 1610; + rType = 0; + vrLen = 893; + vrLoc = 0; + }; + 5671637B0EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 11"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 149; + vrLoc = 0; + }; + 5671637C0EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 10"; + rLen = 0; + rLoc = 112; + rType = 0; + vrLen = 893; + vrLoc = 0; + }; + 5671637D0EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 44"; + rLen = 0; + rLoc = 1854; + rType = 0; + vrLen = 708; + vrLoc = 178; + }; + 5671637E0EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 20"; + rLen = 0; + rLoc = 570; + rType = 0; + vrLen = 379; + vrLoc = 0; + }; + 5671637F0EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 41"; + rLen = 0; + rLoc = 1829; + rType = 0; + vrLen = 713; + vrLoc = 150; + }; + 567163800EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 20"; + rLen = 0; + rLoc = 570; + rType = 0; + vrLen = 379; + vrLoc = 0; + }; + 567163810EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 41"; + rLen = 0; + rLoc = 1829; + rType = 0; + vrLen = 717; + vrLoc = 146; + }; + 567163820EFE74860047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 19"; + rLen = 0; + rLoc = 530; + rType = 0; + vrLen = 933; + vrLoc = 0; + }; + 567163860EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 20"; + rLen = 0; + rLoc = 396; + rType = 0; + vrLen = 423; + vrLoc = 0; + }; + 567163870EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 45"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 887; + vrLoc = 222; + }; + 567163880EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 23"; + rLen = 0; + rLoc = 580; + rType = 0; + vrLen = 933; + vrLoc = 0; + }; + 567163890EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 23"; + rLen = 0; + rLoc = 580; + rType = 0; + vrLen = 933; + vrLoc = 0; + }; + 5671638A0EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 41"; + rLen = 0; + rLoc = 1829; + rType = 0; + vrLen = 717; + vrLoc = 146; + }; + 5671638B0EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 20"; + rLen = 0; + rLoc = 418; + rType = 0; + vrLen = 428; + vrLoc = 0; + }; + 5671638C0EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 41"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 819; + vrLoc = 87; + }; + 5671638D0EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 20"; + rLen = 0; + rLoc = 418; + rType = 0; + vrLen = 428; + vrLoc = 0; + }; + 5671638E0EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 41"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 805; + vrLoc = 87; + }; + 5671638F0EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 20"; + rLen = 0; + rLoc = 418; + rType = 0; + vrLen = 428; + vrLoc = 0; + }; + 567163900EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 41"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 797; + vrLoc = 87; + }; + 567163910EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 20"; + rLen = 0; + rLoc = 396; + rType = 0; + vrLen = 423; + vrLoc = 0; + }; + 567163920EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 45"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 887; + vrLoc = 222; + }; + 567163930EFE75BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 27"; + rLen = 0; + rLoc = 791; + rType = 0; + vrLen = 964; + vrLoc = 0; + }; + 567163940EFE76350047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 24"; + rLen = 0; + rLoc = 629; + rType = 0; + vrLen = 957; + vrLoc = 0; + }; + 567163970EFE76570047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 27"; + rLen = 0; + rLoc = 787; + rType = 0; + vrLen = 957; + vrLoc = 0; + }; + 567163990EFE77480047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 3"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 1161; + vrLoc = 0; + }; + 5671639A0EFE77480047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 21"; + rLen = 0; + rLoc = 463; + rType = 0; + vrLen = 468; + vrLoc = 0; + }; + 5671639B0EFE77480047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 45"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 861; + vrLoc = 0; + }; + 5671639C0EFE77480047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 3"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 1161; + vrLoc = 0; + }; + 5671639D0EFE77480047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 45"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 861; + vrLoc = 0; + }; + 5671639E0EFE77480047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 21"; + rLen = 0; + rLoc = 463; + rType = 0; + vrLen = 468; + vrLoc = 0; + }; + 5671639F0EFE77480047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 58"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 850; + vrLoc = 508; + }; + 567163A30EFE7BB80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 68"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 885; + vrLoc = 738; + }; + 567163A40EFE7BB80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 22"; + rLen = 0; + rLoc = 465; + rType = 0; + vrLen = 516; + vrLoc = 0; + }; + 567163A50EFE7BB80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 3"; + rLen = 0; + rLoc = 61; + rType = 0; + vrLen = 1161; + vrLoc = 0; + }; + 567163A60EFE7BB80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 68"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 850; + vrLoc = 773; + }; + 567163A70EFE7BB80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 21"; + rLen = 0; + rLoc = 463; + rType = 0; + vrLen = 468; + vrLoc = 0; + }; + 567163A80EFE7BB80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 68"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 885; + vrLoc = 738; + }; + 567163A90EFE7BB80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 22"; + rLen = 0; + rLoc = 465; + rType = 0; + vrLen = 516; + vrLoc = 0; + }; + 567163AA0EFE7BB80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 68"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 885; + vrLoc = 738; + }; + 567163AB0EFE7BB80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 22"; + rLen = 0; + rLoc = 465; + rType = 0; + vrLen = 516; + vrLoc = 0; + }; + 567163AC0EFE7BB80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 39"; + rLen = 0; + rLoc = 1264; + rType = 0; + vrLen = 1316; + vrLoc = 104; + }; + 567163B00EFE83720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 23"; + rLen = 0; + rLoc = 555; + rType = 0; + vrLen = 559; + vrLoc = 0; + }; + 567163B10EFE83720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 76"; + rLen = 0; + rLoc = 1756; + rType = 0; + vrLen = 816; + vrLoc = 1059; + }; + 567163B20EFE83720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 39"; + rLen = 0; + rLoc = 1264; + rType = 0; + vrLen = 1331; + vrLoc = 0; + }; + 567163B30EFE83720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 39"; + rLen = 0; + rLoc = 1264; + rType = 0; + vrLen = 1331; + vrLoc = 0; + }; + 567163B40EFE83720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 68"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 885; + vrLoc = 738; + }; + 567163B50EFE83720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 22"; + rLen = 0; + rLoc = 465; + rType = 0; + vrLen = 516; + vrLoc = 0; + }; + 567163B60EFE83720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 64"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 850; + vrLoc = 773; + }; + 567163B70EFE83720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 23"; + rLen = 0; + rLoc = 555; + rType = 0; + vrLen = 559; + vrLoc = 0; + }; + 567163B80EFE83720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 76"; + rLen = 0; + rLoc = 1756; + rType = 0; + vrLen = 816; + vrLoc = 1059; + }; + 567163B90EFE83720047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 47"; + rLen = 0; + rLoc = 1557; + rType = 0; + vrLen = 1356; + vrLoc = 231; + }; + 567163BB0EFE84790047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 47"; + rLen = 0; + rLoc = 1557; + rType = 0; + vrLen = 1263; + vrLoc = 415; + }; + 567163BC0EFE85380047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 5"; + rLen = 0; + rLoc = 93; + rType = 0; + vrLen = 1125; + vrLoc = 553; + }; + 567163C10EFE85540047EA2B /* debug.h */ = { + isa = PBXFileReference; + fileEncoding = 4; + lastKnownFileType = sourcecode.c.h; + name = debug.h; + path = /Developer/Projects/sc3ctrl/debug.h; + sourceTree = ""; + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1412, 650}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 124}"; + }; + }; + 567163C20EFE85540047EA2B /* debug.m */ = { + isa = PBXFileReference; + fileEncoding = 4; + lastKnownFileType = sourcecode.c.c; + name = debug.m; + path = /Developer/Projects/sc3ctrl/debug.c; + sourceTree = ""; + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1412, 650}}"; + sepNavSelRange = "{179, 8}"; + sepNavVisRange = "{0, 202}"; + sepNavWindowFrame = "{{15, 52}, {948, 971}}"; + }; + }; + 567163C50EFE85780047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 5"; + rLen = 0; + rLoc = 93; + rType = 0; + vrLen = 1125; + vrLoc = 553; + }; + 567163C60EFE85780047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C10EFE85540047EA2B /* debug.h */; + name = "debug.h: 10"; + rLen = 0; + rLoc = 64; + rType = 0; + vrLen = 146; + vrLoc = 0; + }; + 567163C70EFE85780047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C20EFE85540047EA2B /* debug.m */; + name = "debug.c: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 166; + vrLoc = 0; + }; + 567163C80EFE85780047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 5"; + rLen = 0; + rLoc = 93; + rType = 0; + vrLen = 1125; + vrLoc = 553; + }; + 567163C90EFE85780047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C10EFE85540047EA2B /* debug.h */; + name = "debug.h: 10"; + rLen = 0; + rLoc = 64; + rType = 0; + vrLen = 146; + vrLoc = 0; + }; + 567163CA0EFE85780047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C20EFE85540047EA2B /* debug.m */; + name = "debug.c: 10"; + rLen = 0; + rLoc = 164; + rType = 0; + vrLen = 166; + vrLoc = 0; + }; + 567163CB0EFE85A10047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C20EFE85540047EA2B /* debug.m */; + name = "debug.c: 12"; + rLen = 0; + rLoc = 202; + rType = 0; + vrLen = 166; + vrLoc = 0; + }; + 567163CC0EFE85A10047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C10EFE85540047EA2B /* debug.h */; + name = "debug.h: 10"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 225; + vrLoc = 0; + }; + 567163CD0EFE85A10047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C20EFE85540047EA2B /* debug.m */; + name = "debug.c: 12"; + rLen = 0; + rLoc = 202; + rType = 0; + vrLen = 166; + vrLoc = 0; + }; + 567163CE0EFE85A10047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C10EFE85540047EA2B /* debug.h */; + name = "debug.h: 10"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 225; + vrLoc = 0; + }; + 567163CF0EFE85A10047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C20EFE85540047EA2B /* debug.m */; + name = "debug.c: 12"; + rLen = 0; + rLoc = 202; + rType = 0; + vrLen = 166; + vrLoc = 0; + }; + 567163D00EFE85A10047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C10EFE85540047EA2B /* debug.h */; + name = "debug.h: 17"; + rLen = 0; + rLoc = 63; + rType = 0; + vrLen = 219; + vrLoc = 0; + }; + 567163D10EFE85BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C10EFE85540047EA2B /* debug.h */; + name = "debug.h: 18"; + rLen = 0; + rLoc = 63; + rType = 0; + vrLen = 271; + vrLoc = 0; + }; + 567163D20EFE85BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C10EFE85540047EA2B /* debug.h */; + name = "debug.h: 18"; + rLen = 0; + rLoc = 63; + rType = 0; + vrLen = 271; + vrLoc = 0; + }; + 567163D30EFE85BA0047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C20EFE85540047EA2B /* debug.m */; + name = "debug.c: 10"; + rLen = 0; + rLoc = 164; + rType = 0; + vrLen = 203; + vrLoc = 0; + }; + 567163D60EFE85D50047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C10EFE85540047EA2B /* debug.h */; + name = "debug.h: 18"; + rLen = 0; + rLoc = 63; + rType = 0; + vrLen = 271; + vrLoc = 0; + }; + 567163D70EFE85D50047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C20EFE85540047EA2B /* debug.m */; + name = "debug.c: 11"; + rLen = 0; + rLoc = 165; + rType = 0; + vrLen = 203; + vrLoc = 0; + }; + 567163D80EFE85D50047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C20EFE85540047EA2B /* debug.m */; + name = "debug.c: 11"; + rLen = 0; + rLoc = 165; + rType = 0; + vrLen = 203; + vrLoc = 0; + }; + 567163D90EFE85D50047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C10EFE85540047EA2B /* debug.h */; + name = "debug.h: 18"; + rLen = 0; + rLoc = 63; + rType = 0; + vrLen = 271; + vrLoc = 0; + }; + 567163DA0EFE85D50047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C20EFE85540047EA2B /* debug.m */; + name = "debug.c: 11"; + rLen = 0; + rLoc = 165; + rType = 0; + vrLen = 203; + vrLoc = 0; + }; + 567163DE0EFE86140047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C20EFE85540047EA2B /* debug.m */; + name = "debug.c: 11"; + rLen = 8; + rLoc = 179; + rType = 0; + vrLen = 202; + vrLoc = 0; + }; + 567163DF0EFE86140047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C20EFE85540047EA2B /* debug.m */; + name = "debug.c: 11"; + rLen = 8; + rLoc = 179; + rType = 0; + vrLen = 202; + vrLoc = 0; + }; + 567163E00EFE86140047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163C10EFE85540047EA2B /* debug.h */; + name = "debug.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 124; + vrLoc = 0; + }; + 567163E60EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163E70EFE86A80047EA2B /* debug.h */; + name = "debug.h: 5"; + rLen = 0; + rLoc = 63; + rType = 0; + vrLen = 64; + vrLoc = 0; + }; + 567163E70EFE86A80047EA2B /* debug.h */ = { + isa = PBXFileReference; + name = debug.h; + path = /Developer/Projects/sc3ctrl/debug.h; + sourceTree = ""; + }; + 567163E80EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 23"; + rLen = 0; + rLoc = 555; + rType = 0; + vrLen = 559; + vrLoc = 0; + }; + 567163E90EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 32A70AAB03705E1F00C91783 /* sc3ctrl_Prefix.pch */; + name = "sc3ctrl_Prefix.pch: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 156; + vrLoc = 0; + }; + 567163EA0EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 5"; + rLen = 0; + rLoc = 93; + rType = 0; + vrLen = 1331; + vrLoc = 0; + }; + 567163EB0EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 61"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 899; + vrLoc = 933; + }; + 567163EC0EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 13"; + rLen = 0; + rLoc = 147; + rType = 0; + vrLen = 381; + vrLoc = 0; + }; + 567163ED0EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163EE0EFE86A80047EA2B /* debug.h */; + name = "debug.h: 5"; + rLen = 0; + rLoc = 63; + rType = 0; + vrLen = 64; + vrLoc = 0; + }; + 567163EE0EFE86A80047EA2B /* debug.h */ = { + isa = PBXFileReference; + name = debug.h; + path = /Developer/Projects/sc3ctrl/debug.h; + sourceTree = ""; + }; + 567163EF0EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 23"; + rLen = 0; + rLoc = 555; + rType = 0; + vrLen = 559; + vrLoc = 0; + }; + 567163F00EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 76"; + rLen = 0; + rLoc = 1756; + rType = 0; + vrLen = 851; + vrLoc = 1024; + }; + 567163F10EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 23"; + rLen = 0; + rLoc = 555; + rType = 0; + vrLen = 559; + vrLoc = 0; + }; + 567163F20EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 76"; + rLen = 0; + rLoc = 1756; + rType = 0; + vrLen = 814; + vrLoc = 1061; + }; + 567163F30EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 11"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 149; + vrLoc = 0; + }; + 567163F40EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 76"; + rLen = 0; + rLoc = 1756; + rType = 0; + vrLen = 814; + vrLoc = 1061; + }; + 567163F50EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 11"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 149; + vrLoc = 0; + }; + 567163F60EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 32A70AAB03705E1F00C91783 /* sc3ctrl_Prefix.pch */; + name = "sc3ctrl_Prefix.pch: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 156; + vrLoc = 0; + }; + 567163F70EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 11"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 149; + vrLoc = 0; + }; + 567163F80EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 32A70AAB03705E1F00C91783 /* sc3ctrl_Prefix.pch */; + name = "sc3ctrl_Prefix.pch: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 156; + vrLoc = 0; + }; + 567163F90EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 13"; + rLen = 0; + rLoc = 147; + rType = 0; + vrLen = 381; + vrLoc = 0; + }; + 567163FA0EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 5"; + rLen = 0; + rLoc = 93; + rType = 0; + vrLen = 1331; + vrLoc = 0; + }; + 567163FB0EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 61"; + rLen = 0; + rLoc = 516; + rType = 0; + vrLen = 899; + vrLoc = 933; + }; + 567163FC0EFE86A80047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 11"; + rLen = 0; + rLoc = 147; + rType = 0; + vrLen = 381; + vrLoc = 0; + }; + 567163FE0EFE87020047EA2B /* debug.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1412, 650}}"; + sepNavSelRange = "{146, 0}"; + sepNavVisRange = "{0, 379}"; + }; + }; + 567164000EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 76"; + rLen = 0; + rLoc = 1732; + rType = 0; + vrLen = 975; + vrLoc = 38; + }; + 567164010EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 8"; + rLen = 0; + rLoc = 230; + rType = 0; + vrLen = 1331; + vrLoc = 0; + }; + 567164020EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 32A70AAB03705E1F00C91783 /* sc3ctrl_Prefix.pch */; + name = "sc3ctrl_Prefix.pch: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 156; + vrLoc = 0; + }; + 567164030EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163FE0EFE87020047EA2B /* debug.h */; + name = "debug.h: 10"; + rLen = 0; + rLoc = 146; + rType = 0; + vrLen = 379; + vrLoc = 0; + }; + 567164040EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 10"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 166; + vrLoc = 0; + }; + 567164050EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 23"; + rLen = 0; + rLoc = 555; + rType = 0; + vrLen = 559; + vrLoc = 0; + }; + 567164060EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 11"; + rLen = 0; + rLoc = 147; + rType = 0; + vrLen = 381; + vrLoc = 0; + }; + 567164070EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 5"; + rLen = 0; + rLoc = 93; + rType = 0; + vrLen = 1331; + vrLoc = 0; + }; + 567164080EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 10"; + rLen = 0; + rLoc = 147; + rType = 0; + vrLen = 381; + vrLoc = 0; + }; + 567164090EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5671631A0EFE70500047EA2B /* SC3Controller.m */; + name = "SC3Controller.m: 76"; + rLen = 0; + rLoc = 1732; + rType = 0; + vrLen = 975; + vrLoc = 38; + }; + 5671640A0EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 23"; + rLen = 0; + rLoc = 555; + rType = 0; + vrLen = 559; + vrLoc = 0; + }; + 5671640B0EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163FE0EFE87020047EA2B /* debug.h */; + name = "debug.h: 10"; + rLen = 0; + rLoc = 146; + rType = 0; + vrLen = 379; + vrLoc = 0; + }; + 5671640C0EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163030EFE67C70047EA2B /* sc3ctrl.m */; + name = "sc3ctrl.m: 8"; + rLen = 0; + rLoc = 230; + rType = 0; + vrLen = 1331; + vrLoc = 0; + }; + 5671640D0EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 32A70AAB03705E1F00C91783 /* sc3ctrl_Prefix.pch */; + name = "sc3ctrl_Prefix.pch: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 156; + vrLoc = 0; + }; + 5671640E0EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 9"; + rLen = 0; + rLoc = 147; + rType = 0; + vrLen = 147; + vrLoc = 0; + }; + 5671640F0EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163FE0EFE87020047EA2B /* debug.h */; + name = "debug.h: 10"; + rLen = 0; + rLoc = 146; + rType = 0; + vrLen = 379; + vrLoc = 0; + }; + 567164100EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567162BF0EFE62AD0047EA2B /* sc3ctrl.h */; + name = "sc3ctrl.h: 10"; + rLen = 0; + rLoc = 166; + rType = 0; + vrLen = 166; + vrLoc = 0; + }; + 567164110EFE87250047EA2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 567163190EFE70500047EA2B /* SC3Controller.h */; + name = "SC3Controller.h: 11"; + rLen = 0; + rLoc = 216; + rType = 0; + vrLen = 577; + vrLoc = 0; + }; 8DD76F960486AA7600D96B5E /* sc3ctrl */ = { activeExec = 0; executables = ( diff --git a/sc3ctrl.xcodeproj/rfw21.perspectivev3 b/sc3ctrl.xcodeproj/rfw21.perspectivev3 index 6cf535e..ae6179c 100644 --- a/sc3ctrl.xcodeproj/rfw21.perspectivev3 +++ b/sc3ctrl.xcodeproj/rfw21.perspectivev3 @@ -283,7 +283,9 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 24 + 2 + 1 + 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey @@ -322,7 +324,7 @@ PBXProjectModuleGUID 567162000EFD3EA50047EA2B PBXProjectModuleLabel - sc3ctrl.m + SC3Controller.h PBXSplitModuleInNavigatorKey Split0 @@ -330,15 +332,19 @@ PBXProjectModuleGUID 567162010EFD3EA50047EA2B PBXProjectModuleLabel - sc3ctrl.m + SC3Controller.h _historyCapacity 0 bookmark - 5671630B0EFE688B0047EA2B + 567164110EFE87250047EA2B history - 567162ED0EFE66E70047EA2B - 567163050EFE67DE0047EA2B + 567164000EFE87250047EA2B + 567164010EFE87250047EA2B + 567164020EFE87250047EA2B + 567164030EFE87250047EA2B + 567164040EFE87250047EA2B + 567164050EFE87250047EA2B prevStack @@ -364,6 +370,125 @@ 567162F20EFE66E70047EA2B 567162F30EFE66E70047EA2B 567162F40EFE66E70047EA2B + 567163110EFE6F170047EA2B + 567163120EFE6F170047EA2B + 567163210EFE72720047EA2B + 567163220EFE72720047EA2B + 567163230EFE72720047EA2B + 567163240EFE72720047EA2B + 567163250EFE72720047EA2B + 567163260EFE72720047EA2B + 567163270EFE72720047EA2B + 567163280EFE72720047EA2B + 567163290EFE72720047EA2B + 5671632A0EFE72720047EA2B + 5671632B0EFE72720047EA2B + 5671632C0EFE72720047EA2B + 5671632D0EFE72720047EA2B + 5671632E0EFE72720047EA2B + 5671632F0EFE72720047EA2B + 567163300EFE72720047EA2B + 567163310EFE72720047EA2B + 567163320EFE72720047EA2B + 567163330EFE72720047EA2B + 567163340EFE72720047EA2B + 567163350EFE72720047EA2B + 567163360EFE72720047EA2B + 567163370EFE72720047EA2B + 567163380EFE72720047EA2B + 567163390EFE72720047EA2B + 5671633A0EFE72720047EA2B + 5671633B0EFE72720047EA2B + 5671633C0EFE72720047EA2B + 5671633D0EFE72720047EA2B + 5671633E0EFE72720047EA2B + 5671633F0EFE72720047EA2B + 567163470EFE72D00047EA2B + 567163480EFE72D00047EA2B + 567163490EFE72D00047EA2B + 5671634A0EFE72D00047EA2B + 5671634B0EFE72D00047EA2B + 5671634C0EFE72D00047EA2B + 5671634D0EFE72D00047EA2B + 5671634E0EFE72D00047EA2B + 5671634F0EFE72D00047EA2B + 567163500EFE72D00047EA2B + 567163560EFE72FF0047EA2B + 567163570EFE72FF0047EA2B + 567163580EFE72FF0047EA2B + 5671635F0EFE739C0047EA2B + 567163600EFE739C0047EA2B + 567163610EFE739C0047EA2B + 567163620EFE739C0047EA2B + 567163630EFE739C0047EA2B + 567163640EFE739C0047EA2B + 567163690EFE73D20047EA2B + 5671636A0EFE73D20047EA2B + 567163780EFE74860047EA2B + 567163790EFE74860047EA2B + 5671637A0EFE74860047EA2B + 5671637B0EFE74860047EA2B + 5671637C0EFE74860047EA2B + 5671637D0EFE74860047EA2B + 5671637E0EFE74860047EA2B + 5671637F0EFE74860047EA2B + 567163800EFE74860047EA2B + 567163810EFE74860047EA2B + 567163890EFE75BA0047EA2B + 5671638A0EFE75BA0047EA2B + 5671638B0EFE75BA0047EA2B + 5671638C0EFE75BA0047EA2B + 5671638D0EFE75BA0047EA2B + 5671638E0EFE75BA0047EA2B + 5671638F0EFE75BA0047EA2B + 567163900EFE75BA0047EA2B + 567163910EFE75BA0047EA2B + 567163920EFE75BA0047EA2B + 5671639C0EFE77480047EA2B + 5671639D0EFE77480047EA2B + 5671639E0EFE77480047EA2B + 567163A60EFE7BB80047EA2B + 567163A70EFE7BB80047EA2B + 567163A80EFE7BB80047EA2B + 567163A90EFE7BB80047EA2B + 567163AA0EFE7BB80047EA2B + 567163AB0EFE7BB80047EA2B + 567163B30EFE83720047EA2B + 567163B40EFE83720047EA2B + 567163B50EFE83720047EA2B + 567163B60EFE83720047EA2B + 567163B70EFE83720047EA2B + 567163B80EFE83720047EA2B + 567163C80EFE85780047EA2B + 567163C90EFE85780047EA2B + 567163CE0EFE85A10047EA2B + 567163D20EFE85BA0047EA2B + 567163D90EFE85D50047EA2B + 567163ED0EFE86A80047EA2B + 567163EF0EFE86A80047EA2B + 567163F00EFE86A80047EA2B + 567163F10EFE86A80047EA2B + 567163F20EFE86A80047EA2B + 567163F30EFE86A80047EA2B + 567163F40EFE86A80047EA2B + 567163F50EFE86A80047EA2B + 567163F60EFE86A80047EA2B + 567163F70EFE86A80047EA2B + 567163F80EFE86A80047EA2B + 567163F90EFE86A80047EA2B + 567163FA0EFE86A80047EA2B + 567163FB0EFE86A80047EA2B + 567164060EFE87250047EA2B + 567164070EFE87250047EA2B + 567164080EFE87250047EA2B + 567164090EFE87250047EA2B + 5671640A0EFE87250047EA2B + 5671640B0EFE87250047EA2B + 5671640C0EFE87250047EA2B + 5671640D0EFE87250047EA2B + 5671640E0EFE87250047EA2B + 5671640F0EFE87250047EA2B + 567164100EFE87250047EA2B SplitCount @@ -403,8 +528,6 @@ Frame {{10, 27}, {1473, 180}} - RubberWindowFrame - 0 93 1680 935 0 0 1680 1028 Module XCDetailModule @@ -459,6 +582,8 @@ Frame {{10, 27}, {1473, 180}} + RubberWindowFrame + 0 93 1680 935 0 0 1680 1028 Module PBXBuildResultsModule diff --git a/supercollider/SC3Controller.sc b/supercollider/SC3Controller.sc index c77ed6e..a3066e7 100644 --- a/supercollider/SC3Controller.sc +++ b/supercollider/SC3Controller.sc @@ -2,7 +2,8 @@ SC3Controller { classvar nodes; - + + *initClass { nodes = List[]; @@ -11,8 +12,88 @@ SC3Controller { var node; node = OSCresponderNode(nil, '/sc3ctrl/cmd') { |t, r, msg| msg[1].asString.interpretPrint - }.add + }.add; + nodes.add(node); + + node = OSCresponderNode(nil, '/sc3ctrl/help') { |t, r, msg| + { msg[1].asString.openHelpFile }.defer + }.add; + nodes.add(node); + + node = OSCresponderNode(nil, '/sc3ctrl/class') { |t, r, msg| + { msg[1].asString.interpret.openCodeFile }.defer + }.add; + nodes.add(node); + + node = OSCresponderNode(nil, '/sc3ctrl/implementations') { |t, r, msg| + { SC3Controller.methodTemplates(msg[1]) }.defer + }.add; + nodes.add(node); + + node = OSCresponderNode(nil, '/sc3ctrl/references') { |t, r, msg| + { SC3Controller.methodReferences(msg[1]) }.defer + }.add; + nodes.add(node); } } } + + // adapated from Kernel.sc + *methodTemplates { |name| + var out, found = 0, namestring; + out = CollStream.new; + out << "Implementations of '" << name << "' :\n"; + Class.allClasses.do({ arg class; + class.methods.do({ arg method; + if (method.name == name, { + found = found + 1; + namestring = class.name ++ ":" ++ name; + out << " " << namestring << " : "; + if (method.argNames.isNil or: { method.argNames.size == 1 }, { + out << "this." << name; + if (name.isSetter, { out << "(val)"; }); + },{ + out << method.argNames.at(0); + if (name.asString.at(0).isAlpha, { + out << "." << name << "("; + method.argNames.do({ arg argName, i; + if (i > 0, { + if (i != 1, { out << ", " }); + out << argName; + }); + }); + out << ")"; + },{ + out << " " << name << " "; + out << method.argNames.at(1); + }); + }); + out.nl; + }); + }); + }); + if(found == 0) + { + Post << "\nNo implementations of '" << name << "'.\n"; + } + { + out.collection.newTextWindow(name.asString); + }; + } + + // adapted from Kernel.sc + *methodReferences { |name| + var out, references; + name = name.asSymbol; + out = CollStream.new; + references = Class.findAllReferences(name); + + if (references.notNil, { + out << "References to '" << name << "' :\n"; + references.do({ arg ref; out << " " << ref.asString << "\n"; }); + out.collection.newTextWindow(name.asString); + },{ + Post << "\nNo references to '" << name << "'.\n"; + }); + } } \ No newline at end of file