From 32e3df1e803983d7a64e15f67f447f15450a1903 Mon Sep 17 00:00:00 2001 From: Martin Carlberg Date: Mon, 25 Jun 2012 08:23:14 +0200 Subject: [PATCH 01/13] Added key value binding support for CPPopupButton --- AppKit/CPKeyValueBinding.j | 38 ++++++---- AppKit/CPPopUpButton.j | 142 ++++++++++++++++++++++++++++++++----- 2 files changed, 152 insertions(+), 28 deletions(-) diff --git a/AppKit/CPKeyValueBinding.j b/AppKit/CPKeyValueBinding.j index 608f7ae4a..af94f07a2 100644 --- a/AppKit/CPKeyValueBinding.j +++ b/AppKit/CPKeyValueBinding.j @@ -546,18 +546,32 @@ CPNotApplicableMarker = @"CPNotApplicableMarker"; CPNullMarker = @"CPNullMarker"; // Binding name constants -CPAlignmentBinding = @"alignment"; -CPEditableBinding = @"editable"; -CPEnabledBinding = @"enabled"; -CPFontBinding = @"font"; -CPHiddenBinding = @"hidden"; -CPSelectedIndexBinding = @"selectedIndex"; -CPTextColorBinding = @"textColor"; -CPToolTipBinding = @"toolTip"; -CPValueBinding = @"value"; -CPValueURLBinding = @"valueURL"; -CPValuePathBinding = @"valuePath"; -CPDataBinding = @"data"; +CPAlignmentBinding = @"alignment"; +CPContentArrayBinding = @"contentArray"; +CPContentBinding = @"content"; +CPContentObjectBinding = @"contentObject"; +CPContentObjectsBinding = @"contentObjects"; +CPContentValuesBinding = @"contentValues"; +CPEnabledBinding = @"enabled"; +CPFontBinding = @"font"; +CPFontNameBinding = @"fontName"; +CPFontBoldBinding = @"fontBold"; +CPHiddenBinding = @"hidden"; +CPFilterPredicateBinding = @"filterPredicate"; +CPPredicateBinding = @"predicate"; +CPSelectedIndexBinding = @"selectedIndex"; +CPSelectedLabelBinding = @"selectedLabel"; +CPSelectedObjectBinding = @"selectedObject"; +CPSelectedObjectsBinding = @"selectedObjects"; +CPSelectedTagBinding = @"selectedTag"; +CPSelectedValueBinding = @"selectedValue"; +CPSelectedValuesBinding = @"selectedValues"; +CPSelectionIndexesBinding = @"selectionIndexes"; +CPTitleBinding = @"title"; +CPValueBinding = @"value"; +CPValueURLBinding = @"valueURL"; +CPValuePathBinding = @"valuePath"; +CPDataBinding = @"data"; //Binding options constants CPAllowsEditingMultipleValuesSelectionBindingOption = @"CPAllowsEditingMultipleValuesSelection"; diff --git a/AppKit/CPPopUpButton.j b/AppKit/CPPopUpButton.j index cbc011db0..2d3af0fd9 100644 --- a/AppKit/CPPopUpButton.j +++ b/AppKit/CPPopUpButton.j @@ -24,6 +24,7 @@ @import "CPGeometry.j" @import "CPMenu.j" @import "CPMenuItem.j" +@import var VISIBLE_MARGIN = 7.0; @@ -246,22 +247,6 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); return _selectedIndex; } -/*! - @ignore -*/ -- (int)_selectedTag -{ - return [[self selectedItem] tag]; -} - -/*! - @ignore -*/ -- (void)_setSelectedTag:(int)aTag -{ - [self selectItemWithTag:aTag]; -} - // Setting the Current Selection /*! Selects the specified menu item. @@ -313,6 +298,11 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); [[self selectedItem] setState:CPOnState]; [self synchronizeTitleAndSelectedItem]; + + var binder = [CPBinder getBinding:CPSelectedIndexBinding forObject:self]; + [binder reverseSetValueFor:CPSelectedIndexBinding]; + binder = [CPBinder getBinding:CPSelectedObjectBinding forObject:self]; + [binder reverseSetValueFor:CPSelectedObjectBinding]; } - (id)objectValue @@ -788,6 +778,126 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); @end +@implementation CPPopUpButton (BindingSupport) +/* +- (void)_setItemValues:(CPArray)values forKey:(CPString)key +{ + var i, + count = [values count]; + + if (count != [self numberOfItems]) + { + [self removeAllItems]; + var count2 = count; + while (count2--) + [self addItemWithTitle:@""]; + } + + if (!key) + return; + + while (count--) + [[self itemAtIndex:count] setValue:[values objectAtIndex:count] forKey:key]; +} +*/ +- (CPUInteger)selectedIndex +{ + return [self indexOfSelectedItem]; +} + +- (void)setSelectedIndex:(CPUInteger)aValue +{ + [self selectItemAtIndex:aValue]; +} + +- (CPString)selectedValue +{ + return [self titleOfSelectedItem]; +} + +- (void)setSelectedValue:(CPString)aValue +{ + [self selectItemWithTitle:aValue]; +} + +- (id)selectedObject +{ + return [[self selectedItem] representedObject]; +} + +- (void)setSelectedObject:(id)aValue +{ + [self selectItemAtIndex:[self indexOfItemWithRepresentedObject:aValue]]; +} + +- (CPInteger)selectedTag +{ + return [[self selectedItem] tag]; +} + +- (void)setSelectedTag:(CPInteger)aValue +{ + [self selectItemWithTag:aValue]; +} + +- (CPArray)contentValues +{ + return [self valueForKeyPath:@"itemArray.title"]; +} + +- (void)setContentValues:(CPArray)aValue +{ + var count = [aValue count]; + + if (count != [self numberOfItems]) + { + [self removeAllItems]; + for (var i = 0; i < count; i++) + [self addItemWithTitle:[aValue objectAtIndex:i]]; + } + else + { + for (var i = 0; i < count; i++) + [[self itemAtIndex:i] setTitle:[aValue objectAtIndex:i]]; + } + [self synchronizeTitleAndSelectedItem]; +} + +- (CPArray)content +{ + return [self valueForKeyPath:@"itemArray.representedObject"]; +} + +- (void)setContent:(CPArray)aValue +{ + var count = [aValue count]; + + if (count != [self numberOfItems]) + { + [self removeAllItems]; + for (var i = 0; i < count; i++) + { + var item = [[CPMenuItem alloc] initWithTitle:@"" action:NULL keyEquivalent:nil]; + [item setRepresentedObject:[aValue objectAtIndex:i]]; + [self addItem:item]; + } + } + else + { + for (var i = 0; i < count; i++) + [[self itemAtIndex:i] setRepresentedObject:[aValue objectAtIndex:i]]; + } + + if (![self infoForBinding:CPContentValuesBinding]) + { + var descriptions = [aValue valueForKey:@"description"]; + for (var i = 0; i < count; i++) + [[self itemAtIndex:i] setTitle:[descriptions objectAtIndex:i]]; + } +} + +@end + var DEPRECATED_CPPopUpButtonMenuKey = @"CPPopUpButtonMenuKey", DEPRECATED_CPPopUpButtonSelectedIndexKey = @"CPPopUpButtonSelectedIndexKey"; From 8e2afde3e412256d25c8532ec7f404b9d42b8903 Mon Sep 17 00:00:00 2001 From: cacaodev Date: Fri, 29 Jun 2012 19:29:53 +0200 Subject: [PATCH 02/13] CPKeyValueBinding -reverseSetValueFor: -> extract a method for getting the source value for a given binding. the goal is to facilitate subclassing. --- AppKit/CPKeyValueBinding.j | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/AppKit/CPKeyValueBinding.j b/AppKit/CPKeyValueBinding.j index 608f7ae4a..f7ac25126 100644 --- a/AppKit/CPKeyValueBinding.j +++ b/AppKit/CPKeyValueBinding.j @@ -190,7 +190,7 @@ var CPBindingOperationAnd = 0, var destination = [_info objectForKey:CPObservedObjectKey], keyPath = [_info objectForKey:CPObservedKeyPathKey], options = [_info objectForKey:CPOptionsKey], - newValue = [_source valueForKeyPath:aBinding]; + newValue = [self valueForBinding:aBinding]; newValue = [self reverseTransformValue:newValue withOptions:options]; @@ -199,6 +199,11 @@ var CPBindingOperationAnd = 0, [self unsuppressSpecificNotificationFromObject:destination keyPath:keyPath]; } +- (id)valueForBinding:(CPString)aBinding +{ + return [_source valueForKeyPath:aBinding]; +} + - (void)observeValueForKeyPath:(CPString)aKeyPath ofObject:(id)anObject change:(CPDictionary)changes context:(id)context { if (!changes) From fec1586380d0916a455be04d1aa00c04a6ffeecf Mon Sep 17 00:00:00 2001 From: Martin Carlberg Date: Mon, 25 Jun 2012 08:23:14 +0200 Subject: [PATCH 03/13] CPPopUpButton bindings support (set for all and reverse for selection related bindings) using a CPBinder subclass instead of dedicated selectors. --- AppKit/CPKeyValueBinding.j | 38 +++-- AppKit/CPPopUpButton.j | 156 +++++++++++++++--- .../CPPopUpButtonBindings/AppController.j | 41 +++++ 3 files changed, 202 insertions(+), 33 deletions(-) create mode 100644 Tests/Manual/CPPopUpButtonBindings/AppController.j diff --git a/AppKit/CPKeyValueBinding.j b/AppKit/CPKeyValueBinding.j index f7ac25126..7b75920ad 100644 --- a/AppKit/CPKeyValueBinding.j +++ b/AppKit/CPKeyValueBinding.j @@ -551,18 +551,32 @@ CPNotApplicableMarker = @"CPNotApplicableMarker"; CPNullMarker = @"CPNullMarker"; // Binding name constants -CPAlignmentBinding = @"alignment"; -CPEditableBinding = @"editable"; -CPEnabledBinding = @"enabled"; -CPFontBinding = @"font"; -CPHiddenBinding = @"hidden"; -CPSelectedIndexBinding = @"selectedIndex"; -CPTextColorBinding = @"textColor"; -CPToolTipBinding = @"toolTip"; -CPValueBinding = @"value"; -CPValueURLBinding = @"valueURL"; -CPValuePathBinding = @"valuePath"; -CPDataBinding = @"data"; +CPAlignmentBinding = @"alignment"; +CPContentArrayBinding = @"contentArray"; +CPContentBinding = @"content"; +CPContentObjectBinding = @"contentObject"; +CPContentObjectsBinding = @"contentObjects"; +CPContentValuesBinding = @"contentValues"; +CPEnabledBinding = @"enabled"; +CPFontBinding = @"font"; +CPFontNameBinding = @"fontName"; +CPFontBoldBinding = @"fontBold"; +CPHiddenBinding = @"hidden"; +CPFilterPredicateBinding = @"filterPredicate"; +CPPredicateBinding = @"predicate"; +CPSelectedIndexBinding = @"selectedIndex"; +CPSelectedLabelBinding = @"selectedLabel"; +CPSelectedObjectBinding = @"selectedObject"; +CPSelectedObjectsBinding = @"selectedObjects"; +CPSelectedTagBinding = @"selectedTag"; +CPSelectedValueBinding = @"selectedValue"; +CPSelectedValuesBinding = @"selectedValues"; +CPSelectionIndexesBinding = @"selectionIndexes"; +CPTitleBinding = @"title"; +CPValueBinding = @"value"; +CPValueURLBinding = @"valueURL"; +CPValuePathBinding = @"valuePath"; +CPDataBinding = @"data"; //Binding options constants CPAllowsEditingMultipleValuesSelectionBindingOption = @"CPAllowsEditingMultipleValuesSelection"; diff --git a/AppKit/CPPopUpButton.j b/AppKit/CPPopUpButton.j index cbc011db0..859231f0e 100644 --- a/AppKit/CPPopUpButton.j +++ b/AppKit/CPPopUpButton.j @@ -22,10 +22,10 @@ @import "CPButton.j" @import "CPGeometry.j" +@import "CPKeyValueBinding.j" @import "CPMenu.j" @import "CPMenuItem.j" - var VISIBLE_MARGIN = 7.0; CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); @@ -246,22 +246,6 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); return _selectedIndex; } -/*! - @ignore -*/ -- (int)_selectedTag -{ - return [[self selectedItem] tag]; -} - -/*! - @ignore -*/ -- (void)_setSelectedTag:(int)aTag -{ - [self selectItemWithTag:aTag]; -} - // Setting the Current Selection /*! Selects the specified menu item. @@ -778,16 +762,146 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); - (void)_reverseSetBinding { - var binderClass = [[self class] _binderClassForBinding:CPSelectedIndexBinding], - theBinding = [binderClass getBinding:CPSelectedIndexBinding forObject:self]; - - [theBinding reverseSetValueFor:@"objectValue"]; + [_CPPopUpButtonSelectionBinder reverseSetValueForObject:self]; [super _reverseSetBinding]; } @end +@implementation CPPopUpButton (BindingSupport) + ++ (Class)_binderClassForBinding:(CPString)aBinding +{ + if (aBinding == CPSelectedIndexBinding || + aBinding == CPSelectedObjectBinding || + aBinding == CPSelectedTagBinding || + aBinding == CPSelectedValueBinding) + return [_CPPopUpButtonSelectionBinder class]; + + return [super _binderClassForBinding:aBinding]; +} + +- (CPArray)_contentValues +{ + return [self valueForKeyPath:@"itemArray.title"]; +} + +- (void)_setContentValues:(CPArray)aValue +{ + var count = [aValue count]; + + if (count != [self numberOfItems]) + { + [self removeAllItems]; + for (var i = 0; i < count; i++) + [self addItemWithTitle:[aValue objectAtIndex:i]]; + } + else + { + for (var i = 0; i < count; i++) + [[self itemAtIndex:i] setTitle:[aValue objectAtIndex:i]]; + } + [self synchronizeTitleAndSelectedItem]; +} + +- (CPArray)_content +{ + return [self valueForKeyPath:@"itemArray.representedObject"]; +} + +- (void)_setContent:(CPArray)aValue +{ + var count = [aValue count]; + + if (count != [self numberOfItems]) + { + [self removeAllItems]; + for (var i = 0; i < count; i++) + { + var item = [[CPMenuItem alloc] initWithTitle:@"" action:NULL keyEquivalent:nil]; + [item setRepresentedObject:[aValue objectAtIndex:i]]; + [self addItem:item]; + } + } + else + { + for (var i = 0; i < count; i++) + [[self itemAtIndex:i] setRepresentedObject:[aValue objectAtIndex:i]]; + } + + if (![self infoForBinding:CPContentValuesBinding]) + { + for (var i = 0; i < count; i++) + [[self itemAtIndex:i] setTitle:[[aValue objectAtIndex:i] description]]; + } +} + +@end + +var binderForObject = {}, + selectionBindings = [CPSelectedIndexBinding, CPSelectedObjectBinding, CPSelectedTagBinding, CPSelectedValueBinding]; + +@implementation _CPPopUpButtonSelectionBinder : CPBinder +{ + CPString _selectionBinding @accessors(property=binding); +} + ++ (void)reverseSetValueForObject:(id)aSource +{ + var uid = [aSource UID], + binder = binderForObject[uid]; + + if (binder == nil) + { + var count = selectionBindings.length; + while (count--) + { + var binding = selectionBindings[count]; + binder = [self getBinding:binding forObject:aSource]; + if (binder != nil) + { + binderForObject[uid] = binder; + [binder setBinding:binding]; + break; + } + } + } + + [binder reverseSetValueFor:[binder binding]]; +} + +- (void)setValue:(id)aValue forBinding:(CPString)aBinding +{ + if (aBinding == CPSelectedIndexBinding) + [_source selectItemAtIndex:aValue]; + else if (aBinding == CPSelectedObjectBinding) + [_source selectItemAtIndex:[_source indexOfItemWithRepresentedObject:aValue]]; + else if (aBinding == CPSelectedTagBinding) + [_source selectItemWithTag:aValue]; + else if (aBinding == CPSelectedValueBinding) + [_source selectItemWithTitle:aValue]; +} + +- (void)setPlaceholderValue:(id)aValue withMarker:(CPString)aMarker forBinding:(CPString)aBinding +{ + [self setValue:aValue forBinding:aBinding]; +} + +- (id)valueForBinding:(CPString)aBinding +{ + if (aBinding == CPSelectedIndexBinding) + return [_source indexOfSelectedItem]; + else if (aBinding == CPSelectedObjectBinding) + return [[_source selectedItem] representedObject]; + else if (aBinding == CPSelectedTagBinding) + return [[_source selectedItem] tag]; + else if (aBinding == CPSelectedValueBinding) + return [_source titleOfSelectedItem]; +} + +@end + var DEPRECATED_CPPopUpButtonMenuKey = @"CPPopUpButtonMenuKey", DEPRECATED_CPPopUpButtonSelectedIndexKey = @"CPPopUpButtonSelectedIndexKey"; diff --git a/Tests/Manual/CPPopUpButtonBindings/AppController.j b/Tests/Manual/CPPopUpButtonBindings/AppController.j new file mode 100644 index 000000000..74b2e940f --- /dev/null +++ b/Tests/Manual/CPPopUpButtonBindings/AppController.j @@ -0,0 +1,41 @@ +/* + * AppController.j + * CPPopUpButtonBindings + * + * Created by You on December 2, 2010. + * Copyright 2010, Your Company All rights reserved. + */ + +@import + +@implementation AppController : CPObject +{ + @outlet CPWindow mainWindow; + @outlet CPPopUpButton tagPopUp; + + CPArray people @accessors; +} + +- (void)awakeFromCib +{ + var array = []; + [array addObject:[CPDictionary dictionaryWithObjectsAndKeys:@"John",@"name",@"Butcher",@"job",@"john@meat.com",@"email", 2, @"tag"]]; + [array addObject:[CPDictionary dictionaryWithObjectsAndKeys:@"Alberto",@"name",@"Seller",@"job",@"alberto@gmail.com",@"email", 0, @"tag"]]; + [array addObject:[CPDictionary dictionaryWithObjectsAndKeys:@"Barack",@"name",@"President",@"job",@"barack@whitehouse.gov",@"email", 1, @"tag"]]; + + [self setPeople:array]; + +// Setup tags for the second popup + var items = [tagPopUp itemArray]; + [items enumerateObjectsUsingBlock:function(item, idx) + { + [item setTag:idx]; + [item setTitle:([item title] + " Tag:" + idx)]; + }]; + + [mainWindow setFullBridge:YES]; + +} + +@end + From c865644e6c6c534d0e7a35832f06fb4e97348d75 Mon Sep 17 00:00:00 2001 From: cacaodev Date: Mon, 25 Jun 2012 16:20:49 +0200 Subject: [PATCH 04/13] Test for CPPopUpButton bindings. --- .../CPPopUpButtonBindings/CPPopUpButton.j | 1 + Tests/Manual/CPPopUpButtonBindings/Info.plist | 12 + Tests/Manual/CPPopUpButtonBindings/Jakefile | 94 + .../Resources/MainMenu.cib | 4 + .../Resources/MainMenu.xib | 1506 +++++++++++++++++ .../Resources/spinner.gif | Bin 0 -> 1849 bytes .../CPPopUpButtonBindings/index-debug.html | 104 ++ Tests/Manual/CPPopUpButtonBindings/index.html | 78 + Tests/Manual/CPPopUpButtonBindings/main.j | 18 + 9 files changed, 1817 insertions(+) create mode 120000 Tests/Manual/CPPopUpButtonBindings/CPPopUpButton.j create mode 100644 Tests/Manual/CPPopUpButtonBindings/Info.plist create mode 100644 Tests/Manual/CPPopUpButtonBindings/Jakefile create mode 100644 Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.cib create mode 100644 Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.xib create mode 100644 Tests/Manual/CPPopUpButtonBindings/Resources/spinner.gif create mode 100644 Tests/Manual/CPPopUpButtonBindings/index-debug.html create mode 100644 Tests/Manual/CPPopUpButtonBindings/index.html create mode 100644 Tests/Manual/CPPopUpButtonBindings/main.j diff --git a/Tests/Manual/CPPopUpButtonBindings/CPPopUpButton.j b/Tests/Manual/CPPopUpButtonBindings/CPPopUpButton.j new file mode 120000 index 000000000..1c4925ca5 --- /dev/null +++ b/Tests/Manual/CPPopUpButtonBindings/CPPopUpButton.j @@ -0,0 +1 @@ +../../../AppKit/CPPopUpButton.j \ No newline at end of file diff --git a/Tests/Manual/CPPopUpButtonBindings/Info.plist b/Tests/Manual/CPPopUpButtonBindings/Info.plist new file mode 100644 index 000000000..1e7a1ead9 --- /dev/null +++ b/Tests/Manual/CPPopUpButtonBindings/Info.plist @@ -0,0 +1,12 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + CPPopUpButtonBindings + CPPrincipalClass + CPApplication + + diff --git a/Tests/Manual/CPPopUpButtonBindings/Jakefile b/Tests/Manual/CPPopUpButtonBindings/Jakefile new file mode 100644 index 000000000..94c73db0d --- /dev/null +++ b/Tests/Manual/CPPopUpButtonBindings/Jakefile @@ -0,0 +1,94 @@ +/* + * Jakefile + * CPPopUpButtonBindings + * + * Created by You on November 2, 2010. + * Copyright 2010, Your Company All rights reserved. + */ + +var ENV = require("system").env, + FILE = require("file"), + JAKE = require("jake"), + task = JAKE.task, + FileList = JAKE.FileList, + app = require("cappuccino/jake").app, + configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug", + OS = require("os"); + +app ("CPPopUpButtonBindings", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "CPPopUpButtonBindings.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("CPPopUpButtonBindings"); + task.setIdentifier("com.yourcompany.CPPopUpButtonBindings"); + task.setVersion("1.0"); + task.setAuthor("Your Company"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("CPPopUpButtonBindings"); + task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + task.setNib2CibFlags("-R Resources/"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O"); +}); + +task ("default", ["CPPopUpButtonBindings"], function() +{ + printResults(configuration); +}); + +task ("build", ["default"]); + +task ("debug", function() +{ + ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", "CPPopUpButtonBindings", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "CPPopUpButtonBindings", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "CPPopUpButtonBindings")); + OS.system(["press", "-f", FILE.join("Build", "Release", "CPPopUpButtonBindings"), FILE.join("Build", "Deployment", "CPPopUpButtonBindings")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "CPPopUpButtonBindings")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPPopUpButtonBindings"), FILE.join("Build", "Desktop", "CPPopUpButtonBindings", "CPPopUpButtonBindings.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "CPPopUpButtonBindings", "CPPopUpButtonBindings.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPPopUpButtonBindings")); + print("----------------------------"); +} diff --git a/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.cib b/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.cib new file mode 100644 index 000000000..2fbee6e7b --- /dev/null +++ b/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.cib @@ -0,0 +1,4 @@ +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;68E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;88E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;89E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;81E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;90E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;94E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;56E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;96E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;68E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;97E;E;D;K;10;$classnameS;21;CPCibBindingConnectorK;8;$classesA;S;21;CPCibBindingConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;102E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;103E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;104E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;107E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;108E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;110E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;61E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;111E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;113E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;116E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;104E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;117E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;119E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;120E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;121E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;122E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;103E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;104E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;127E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;81E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;129E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;130E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;131E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;132E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;133E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;134E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;137E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;139E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;141E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;117E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;142E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;143E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;144E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;58E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;146E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;88E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;148E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;149E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;150E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;151E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;152E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;45E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;154E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;154E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;166E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;170E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;164E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;172E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;166E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;170E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;164E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;174E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;166E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;170E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;164E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;175E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;176E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;177E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;178E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;179E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;180E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;182E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;183E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;53E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;54E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;184E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;184E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;184E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;184E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;166E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;166E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;166E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;185E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;153E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;153E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;186E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;187E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;189E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;51E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;192E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;153E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;193E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;194E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;194E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;189E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;195E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;51E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;196E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;153E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;197E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;182E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;198E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;198E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;182E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;199E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;12;$agrid-colorD;K;6;CP$UIDd;3;200E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;201E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;202E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;153E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;165E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;166E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;166E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;166E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;166E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;166E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;203E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;200E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;153E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;204E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;206E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;63E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;207E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;208E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;209E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;210E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;212E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;213E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;217E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;218E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;209E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;210E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;219E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;220E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;221E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;222E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;184E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;210E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;223E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;224E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;225E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;184E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;226E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;227E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;228E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;17;CPTableHeaderViewK;8;$classesA;S;17;CPTableHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;183E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;229E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;56E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;166E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;231E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;153E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;234E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;204E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;153E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;235E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;153E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;236E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;204E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;153E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;237E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;153E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;238E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;204E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;153E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;87E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;239E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;204E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;166E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;164E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;153E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;244E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;68E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;246E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;68E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;68E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;86E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;250E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;204E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;166E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;164E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;153E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;244E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;73E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;246E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;73E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;73E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;85E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;251E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;204E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;166E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;164E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;153E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;244E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;77E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;246E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;77E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;77E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;252E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;253E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;166E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;204E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;166E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;204E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;166E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;166E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;166E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;204E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;204E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;257E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;43E;E;E;S;8;delegateS;10;emailLabelS;8;jobLabelS;10;mainWindowS;9;nameLabelS;21;ordersArrayControllerS;15;ordersTableViewS;8;tagPopUpS;24;content: arrangedObjectsS;7;contentS;15;arrangedObjectsD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;35;contentValues: arrangedObjects.nameS;13;contentValuesS;20;arrangedObjects.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;29;selectedValue: selection.nameS;13;selectedValueS;14;selection.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.tagS;5;valueS;19;arrangedObjects.tagD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;34;contentValues: arrangedObjects.jobS;19;arrangedObjects.jobD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;26;selectedTag: selection.tagS;11;selectedTagS;13;selection.tagD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;22;CPValidatesImmediatelyD;K;6;CP$UIDd;3;166E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;29;selectedIndex: selectionIndexS;13;selectedIndexS;14;selectionIndexD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;20;contentArray: peopleS;12;contentArrayS;6;peopleD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;22;CPValidatesImmediatelyD;K;6;CP$UIDd;3;166E;E;E;S;20;value: selection.jobS;13;selection.jobD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;22;value: selection.emailS;15;selection.emailD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;21;value: selection.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.jobD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;28;value: arrangedObjects.emailS;21;arrangedObjects.emailD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;27;value: arrangedObjects.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 278}, {951, 373}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {951, 373}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;E;E;S;6;normalS;22;{{14, 295}, {448, 29}}S;19;{{0, 0}, {448, 29}}d;2;12S;9;textfieldS;19;bezeled+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;162E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;258E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;159E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;204E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;204E;E;d;1;2d;1;4T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;259E;E;S;5;EmailS;22;{{14, 327}, {448, 29}}S;3;JobS;22;{{14, 263}, {448, 29}}S;4;NameS;22;{{-1, -1}, {461, 260}}S;20;{{0, 0}, {461, 260}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;185E;E;E;d;2;20S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;181E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;198E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;198E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;260E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;261E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;3;181E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;262E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;263E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;264E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;261E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;63E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;44E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;S;22;{{467, 15}, {15, 228}}S;19;{{0, 0}, {15, 228}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9382716049382716S;19;{{0, 0}, {482, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9938144329896907S;20;{{0, 0}, {461, 243}}S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;169E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;266E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;E;E;F;D;K;10;$classnameS;13;_CPCornerViewK;8;$classesA;S;13;_CPCornerViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;205E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;267E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;268E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;269E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;S;4;named;3;101d;2;40d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;270E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;271E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;175E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;272E;K;6;$afontD;K;6;CP$UIDd;3;274E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;276E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;d;1;3D;K;10;$classnameS;16;CPSortDescriptorK;8;$classesA;S;16;CPSortDescriptorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;22;CPSortDescriptorKeyKeyD;K;6;CP$UIDd;3;207E;K;28;CPSortDescriptorAscendingKeyD;K;6;CP$UIDd;3;166E;K;27;CPSortDescriptorSelectorKeyD;K;6;CP$UIDd;3;277E;E;S;5;emaild;3;150D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;278E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;271E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;171E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;272E;K;6;$afontD;K;6;CP$UIDd;3;279E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;280E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;S;3;jobd;3;106D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;281E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;271E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;173E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;272E;K;6;$afontD;K;6;CP$UIDd;3;282E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;283E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;d;2;92f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;284E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;271E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;285E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;272E;K;6;$afontD;K;6;CP$UIDd;3;286E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;287E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;S;19;{{0, 0}, {461, 23}}S;14;tableHeaderRowS;22;{{496, 23}, {217, 42}}S;19;{{0, 0}, {217, 42}}d;2;33S;53;CPSelectedIndexBinding +arrangedObjects.selectionIndexS;22;{{496, 68}, {217, 42}}S;34;CPSelectedTagBinding +selection.tagS;23;{{496, 118}, {217, 42}}S;37;CPSelectedValueBinding +selection.nameS;22;{{729, 77}, {191, 24}}S;19;{{0, 0}, {191, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;162E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;258E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;159E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;166E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;204E;E;S;6;Item 1S;17;_popUpItemAction:d;1;1d;7;1048576S;6;Item 2S;6;Item 3S;22;{{729, 32}, {191, 24}}S;23;{{729, 127}, {191, 24}}S;13;AppControllerS;12;CPDictionaryS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;E;E;S;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;56E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;288E;E;S;21;{{0, 243}, {461, 17}}S;19;{{0, 0}, {461, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;63E;E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;246E;E;E;S;22;{{467, 237}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;291E;E;E;S;12;columnHeaderS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;273E;K;4;nameD;K;6;CP$UIDd;3;292E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;293E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;275E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;294E;E;S;8;compare:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;295E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;273E;K;4;nameD;K;6;CP$UIDd;3;292E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;296E;E;D;K;6;$classD;K;6;CP$UIDd;3;275E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;297E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;273E;K;4;nameD;K;6;CP$UIDd;3;292E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;298E;E;D;K;6;$classD;K;6;CP$UIDd;3;275E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;299E;E;E;S;3;TagD;K;6;$classD;K;6;CP$UIDd;3;273E;K;4;nameD;K;6;CP$UIDd;3;292E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;300E;E;D;K;6;$classD;K;6;CP$UIDd;3;275E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;E;E;f;3;0.5D;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;290E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;301E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;S;4;fontD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;290E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;219E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;219E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;301E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;290E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;223E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;223E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;301E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;290E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;227E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;227E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;301E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;d;2;18E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.xib b/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.xib new file mode 100644 index 000000000..472f784d5 --- /dev/null +++ b/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.xib @@ -0,0 +1,1506 @@ + + + + 1070 + 11E53 + 2541 + 1138.47 + 569.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2541 + + + NSArrayController + NSCustomObject + NSMenu + NSMenuItem + NSPopUpButton + NSPopUpButtonCell + NSScrollView + NSScroller + NSTableColumn + NSTableHeaderView + NSTableView + NSTextField + NSTextFieldCell + NSView + NSWindowTemplate + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + NSApplication + + + FirstResponder + + + NSApplication + + + 7 + 2 + {{335, 377}, {951, 373}} + 1946157056 + Window + NSWindow + + + + + 256 + + + + 276 + + + + 2304 + + + + 256 + {461, 243} + + + + YES + + + 256 + {461, 17} + + + + + + + + -2147483392 + {{467, 0}, {16, 17}} + + + + + + + name + 101 + 40 + 1000 + + 75628096 + 2048 + Name + + LucidaGrande + 11 + 3100 + + + 3 + MC4zMzMzMzI5ODU2AA + + + 6 + System + headerTextColor + + 3 + MAA + + + + + 337772096 + 2048 + Text Cell + + LucidaGrande + 13 + 1044 + + + + 6 + System + controlBackgroundColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + + + 3 + YES + YES + + + name + YES + compare: + + + + email + 150 + 40 + 1000 + + 75628096 + 2048 + Email + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + job + 106 + 10 + 1000 + + 75628096 + 2048 + Job + + + 6 + System + headerColor + + 3 + MQA + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + 92 + 10 + 3.4028234663852886e+38 + + 75628096 + 2048 + Tag + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + 3 + 2 + + + 6 + System + gridColor + + 3 + MC41AA + + + 17 + -566231040 + + + 4 + 15 + 0 + YES + 0 + 1 + + + {{0, 17}, {461, 243}} + + + + + + 4 + + + + -2147483392 + {{467, 17}, {15, 228}} + + + + + _doScroller: + 0.93827160493827155 + + + + -2147483392 + {{0, 245}, {482, 15}} + + + + 1 + + _doScroller: + 0.99381443298969074 + + + + 2304 + + + + {461, 17} + + + + + + 4 + + + + {{-1, 114}, {461, 260}} + + + + 133680 + + + + + + QSAAAEEgAABBmAAAQZgAAA + + + + 292 + {{20, 84}, {440, 22}} + + + + YES + + -1804468671 + 272630784 + + + Name + + YES + + 6 + System + textBackgroundColor + + + + 6 + System + textColor + + + + + + + 292 + {{20, 52}, {440, 22}} + + + + YES + + -1804468671 + 272630784 + + + Email + + YES + + + + + + + 292 + {{20, 20}, {440, 22}} + + + + YES + + -1804468671 + 272630784 + + + Job + + YES + + + + + + + 265 + {{728, 315}, {197, 26}} + + + + YES + + -2076049856 + 2048 + + + 109199615 + 129 + + + 400 + 75 + + + Item 1 + + 1048576 + 2147483647 + 1 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + _popUpItemAction: + + + YES + + OtherViews + + + + + Item 2 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Item 3 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 1 + YES + YES + 2 + + + + + 265 + {{728, 270}, {197, 26}} + + + + _NS:9 + YES + + -2076049856 + 2048 + + _NS:9 + + 109199360 + 129 + + + 400 + 75 + + + Item 1 + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + OtherViews + + + + + Item 2 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Item 3 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 1 + YES + YES + 2 + + + + + 265 + {{728, 220}, {197, 26}} + + + + _NS:9 + YES + + -2076049856 + 2048 + + _NS:9 + + 109199360 + 129 + + + 400 + 75 + + + Item 1 + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + OtherViews + + + + + Item 2 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Item 3 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 1 + YES + YES + 2 + + + + + 265 + {{496, 308}, {217, 42}} + + + + _NS:1549 + YES + + 67108864 + 272629760 + Q1BTZWxlY3RlZEluZGV4QmluZGluZwphcnJhbmdlZE9iamVjdHMuc2VsZWN0aW9uSW5kZXg + + _NS:1549 + + + 6 + System + controlColor + + + + + + + + 265 + {{496, 263}, {217, 42}} + + + + _NS:1549 + YES + + 67108864 + 272629760 + Q1BTZWxlY3RlZFRhZ0JpbmRpbmcKc2VsZWN0aW9uLnRhZw + + _NS:1549 + + + + + + + + 265 + {{496, 213}, {217, 42}} + + + + _NS:1549 + YES + + 67108864 + 272629760 + Q1BTZWxlY3RlZFZhbHVlQmluZGluZwpzZWxlY3Rpb24ubmFtZQ + + _NS:1549 + + + + + + + {951, 373} + + + + + {{0, 0}, {1680, 1028}} + {10000000000000, 10000000000000} + YES + + + AppController + + + + name + email + job + tag + + CPDictionary + YES + + YES + YES + YES + YES + + + + + + + delegate + + + + 451 + + + + mainWindow + + + + 464 + + + + ordersTableView + + + + 476 + + + + nameLabel + + + + 488 + + + + emailLabel + + + + 489 + + + + jobLabel + + + + 490 + + + + ordersArrayController + + + + 493 + + + + tagPopUp + + + + 599 + + + + value: arrangedObjects.name + + + + + + value: arrangedObjects.name + value + arrangedObjects.name + 2 + + + 575 + + + + value: arrangedObjects.email + + + + + + value: arrangedObjects.email + value + arrangedObjects.email + 2 + + + 576 + + + + value: arrangedObjects.job + + + + + + value: arrangedObjects.job + value + arrangedObjects.job + 2 + + + 577 + + + + value: selection.name + + + + + + value: selection.name + value + selection.name + 2 + + + 581 + + + + value: selection.email + + + + + + value: selection.email + value + selection.email + 2 + + + 582 + + + + value: selection.job + + + + + + value: selection.job + value + selection.job + 2 + + + 583 + + + + contentArray: people + + + + + + contentArray: people + contentArray + people + + NSValidatesImmediately + + + 2 + + + 578 + + + + content: arrangedObjects + + + + + + content: arrangedObjects + content + arrangedObjects + 2 + + + 534 + + + + contentValues: arrangedObjects.name + + + + + + contentValues: arrangedObjects.name + contentValues + arrangedObjects.name + + 2 + + + 579 + + + + selectedIndex: selectionIndex + + + + + + selectedIndex: selectionIndex + selectedIndex + selectionIndex + + 2 + + + 580 + + + + content: arrangedObjects + + + + + + content: arrangedObjects + content + arrangedObjects + 2 + + + 590 + + + + contentValues: arrangedObjects.job + + + + + + contentValues: arrangedObjects.job + contentValues + arrangedObjects.job + + 2 + + + 592 + + + + selectedTag: selection.tag + + + + + + selectedTag: selection.tag + selectedTag + selection.tag + + NSValidatesImmediately + + + + 2 + + + 617 + + + + value: arrangedObjects.tag + + + + + + value: arrangedObjects.tag + value + arrangedObjects.tag + 2 + + + 598 + + + + content: arrangedObjects + + + + + + content: arrangedObjects + content + arrangedObjects + 2 + + + 606 + + + + contentValues: arrangedObjects.name + + + + + + contentValues: arrangedObjects.name + contentValues + arrangedObjects.name + + 2 + + + 608 + + + + selectedValue: selection.name + + + + + + selectedValue: selection.name + selectedValue + selection.name + + 2 + + + 610 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 371 + + + + + + + + 372 + + + + + + + + + + + + + + + + + 450 + + + + + 467 + + + + + + + + + + + 468 + + + + + 469 + + + + + 470 + + + + + + + + + + + 471 + + + + + 472 + + + + + + + + 473 + + + + + + + + 474 + + + + + 475 + + + + + 480 + + + + + + + + 481 + + + + + 482 + + + + + + + + 483 + + + + + 484 + + + + + + + + 485 + + + + + 486 + + + + + + + + 487 + + + + + 492 + + + + + 528 + + + + + + + + 529 + + + + + + + + 530 + + + + + + + + + + 531 + + + + + 532 + + + + + 533 + + + + + 584 + + + + + + + + 585 + + + + + + + + 586 + + + + + + + + + + 587 + + + + + 588 + + + + + 589 + + + + + 595 + + + + + + + + 596 + + + + + 600 + + + + + + + + 601 + + + + + + + + 602 + + + + + + + + + + 603 + + + + + 604 + + + + + 605 + + + + + 611 + + + + + + + + 612 + + + + + 613 + + + + + + + + 614 + + + + + 615 + + + + + + + + 616 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{246, 335}, {728, 373}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 617 + + + + + AppController + NSObject + + NSWindow + NSPopUpButton + + + + mainWindow + NSWindow + + + tagPopUp + NSPopUpButton + + + + IBProjectSource + ./Classes/AppController.h + + + + + 0 + IBCocoaFramework + YES + 3 + + {11, 11} + {10, 3} + + + diff --git a/Tests/Manual/CPPopUpButtonBindings/Resources/spinner.gif b/Tests/Manual/CPPopUpButtonBindings/Resources/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..06dbc2bc21dddcf0e09b566d5b211aee89570f52 GIT binary patch literal 1849 zcma*odr(tX9tZHtz31lM+(&Y`A`Ou`NeG&R#DrIfV%?hng21vs6v>ooRQQFbk7E_K!V( z{?5!fpZWgIZ%*d6t%i*j24bL}AZUJm9)h6R*;%L4IWse3G#VWaN1#$zSSXcBhlYlH zJ|D}n{r&w2f+Qp)SS*&n?*G4}{}!h?td_mjU6Kad-rW*QwWYCUk7d^e+sjpZAn6kT z5rM;`{~_}-wm+L@%+E;JphLm}C3WzQAQD0wBoY|rOTQX{(@pp-WAA8Iw0HKl|15j) zhGh(SFWu#5zUCw^T!}C~eC}~?{xG-r7ugQC>taC+|L^xr&a%{#cgUOZXIM&v?)k^2 z1i5%0!U00wq)r4vlAwXBA_m5J5WNeuBm-XJQ5pG4GD%vc|K){+TJ{AkHqN@SJKczX zU}QRd9n*_bf^h94)6Ctv{CUfz_;qs#RDuQ$DR%y1&5G-a6rhf*4Y zl+UOD1*GE{GQ7vv;c-tTIMkz0ovO>9j%b5hpa@a*CBJ#W!0@ndSwF|%hMkdFtXiU) z`BEp+yhkt8ZY>tg&uyH@%^%K4jDrbA;et&vnnzZ3z22@e6<27z2Vk13kb7OtISyxv z(XoO-LNQCZe3lfzc%*pNqU<9T+p~teThOEB+~e&U0mC|zS{Q)dJZ)!^1f7L(zg*L> z*vSW%?dR~@@0(}x6-V^A`~ImD;)NaBUnP8;RH=bS2@pk`wp>>8r&jGjmGPy%1BW}v zoPo}ca$~bze@efc3kapuEVW1!%teOZT3j2Tw5=hjiAf02d}7dL0oFC%@=RXp5Ow#% z@a>+AM|YWt$n&e`>sB-32gBcuTi>R>*|8@lp`y6thc7ydyqDsuUn~YzZf|{-R@-3y zL#wx{Ii}xxL_csiW*LBn0-A$>zp4WOmkf6=ilrjlW?-l9+bCd7|i?*b5NTmy<<6NZ0T8$SN@mwdC2f z6jqK=N@bS@!=YSj%>h0}*4p+%0HbTIrE$w7UMT6+AZZ&DAo*qZAAi(OtNbIfl#Dw^ zJWeiCp~zi#&t6x}m9)O^eR4HiLV3QA<<0>HZ8%$^lrSE94Wb}=+MM^!b>n#5&-JQR zkr-CEu9C;_F*7DqDisulV6Pmg$nFL0TPn%~*m^-`Z3^BgU(sNpnx%nW(!eV9A&FvI zHL3X3lw8Wji^6=8KbQDE-e%b?svdFxxdh$8r97@7$ojeI`6AL8Ob6QC$qh&>ZWVDX1F{0vJnT%%mE;GveKWR%C} zM&4d;Jf3s9|HAA)yVUPo`Aq;0do#)uHSXi5*QF*)x@MVVHr+cN)uMZ__F|&Ta#p8d z53TOKtce!PJUuie8UWol-S(`c2nH?UGqJP{!4RR4u$LCfn)q-hj0^f=h(VYy)T6eN zhRO!ja-aDBTcgeyP(8Ua4IdiOog^*CQa?R(cP#9AgL9`j>EX-6Yf1lzX(!~``M1XC zNmM<4<6d~wWZ$Xrk0K}UteTrq@LBBk#MsjkK;pbuVhe)NI7(7Pf(l?lxC7=1Z7Pzl zMbS;nV4NI5_N{1$P)&XC)huOGQ+h^zpYUZfb*1n6>!`#*b3y52LGmi+<4sY5jyD#- zw&$d}DTguLAfnRtjrM*JfqtHqUu6rQoU=g%1E9xk%;)TDm^2<8n-0IhTsQFaek)MY}>PK4;nBk=ow4pF>vzkO& gna%Org-kgQCf=+BeMi^RbuY;YE~rTjend;_cdi8t>i_@% literal 0 HcmV?d00001 diff --git a/Tests/Manual/CPPopUpButtonBindings/index-debug.html b/Tests/Manual/CPPopUpButtonBindings/index-debug.html new file mode 100644 index 000000000..1d257d406 --- /dev/null +++ b/Tests/Manual/CPPopUpButtonBindings/index-debug.html @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + CPPopUpButtonBindings + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPPopUpButtonBindings/index.html b/Tests/Manual/CPPopUpButtonBindings/index.html new file mode 100644 index 000000000..2114299d9 --- /dev/null +++ b/Tests/Manual/CPPopUpButtonBindings/index.html @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + CPPopUpButtonBindings + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPPopUpButtonBindings/main.j b/Tests/Manual/CPPopUpButtonBindings/main.j new file mode 100644 index 000000000..28679968f --- /dev/null +++ b/Tests/Manual/CPPopUpButtonBindings/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * CPPopUpButtonBindings + * + * Created by You on November 2, 2010. + * Copyright 2010, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} From ef30e21506f1333b4e052966b742c27f91d607f5 Mon Sep 17 00:00:00 2001 From: Martin Carlberg Date: Sat, 30 Jun 2012 09:20:50 +0200 Subject: [PATCH 05/13] Missed to remove some line in manual merge --- AppKit/CPPopUpButton.j | 5 ----- 1 file changed, 5 deletions(-) diff --git a/AppKit/CPPopUpButton.j b/AppKit/CPPopUpButton.j index 1297ea3e7..c8bcc6b21 100644 --- a/AppKit/CPPopUpButton.j +++ b/AppKit/CPPopUpButton.j @@ -298,11 +298,6 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); [[self selectedItem] setState:CPOnState]; [self synchronizeTitleAndSelectedItem]; - - var binder = [CPBinder getBinding:CPSelectedIndexBinding forObject:self]; - [binder reverseSetValueFor:CPSelectedIndexBinding]; - binder = [CPBinder getBinding:CPSelectedObjectBinding forObject:self]; - [binder reverseSetValueFor:CPSelectedObjectBinding]; } - (id)objectValue From e5f4a7c39aa5f3a1b7741e50909c866c3e6c809a Mon Sep 17 00:00:00 2001 From: Martin Carlberg Date: Tue, 3 Jul 2012 12:36:19 +0200 Subject: [PATCH 06/13] Added support for CPNullPlaceholderBindingOption and made some clean up of code --- AppKit/CPPopUpButton.j | 168 +++++++++++++++++++++----- Tests/AppKit/CPPopUpButtonTest.j | 200 +++++++++++++++++++++++++++++++ 2 files changed, 339 insertions(+), 29 deletions(-) diff --git a/AppKit/CPPopUpButton.j b/AppKit/CPPopUpButton.j index c8bcc6b21..734e17f04 100644 --- a/AppKit/CPPopUpButton.j +++ b/AppKit/CPPopUpButton.j @@ -778,7 +778,11 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); aBinding == CPSelectedObjectBinding || aBinding == CPSelectedTagBinding || aBinding == CPSelectedValueBinding) - return [_CPPopUpButtonSelectionBinder class]; + { + var capitalizedBinding = aBinding.charAt(0).toUpperCase() + aBinding.substr(1); + + return [CPClassFromString(@"_CPPopUpButton" + capitalizedBinding + "Binder") class]; + } return [super _binderClassForBinding:aBinding]; } @@ -788,21 +792,52 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); return [self valueForKeyPath:@"itemArray.title"]; } +- (id)_valueOrNilIfCPNull:(id)aValue +{ + if (aValue === [CPNull null]) + return nil; + + return aValue; +} + +- (id)_getNullPlaceholderFromOptions:(CPDictionary)someOptions +{ + var placeholder = [someOptions objectForKey:CPNullPlaceholderBindingOption] || @""; + + if (placeholder === [CPNull null]) + placeholder = @""; + + return placeholder; +} + - (void)_setContentValues:(CPArray)aValue { - var count = [aValue count]; + var infoDictionary = [self infoForBinding:CPContentValuesBinding], + options = [infoDictionary objectForKey:CPOptionsKey], + insertNullValue = [options objectForKey:CPInsertsNullPlaceholderBindingOption], + insertNull = [insertNullValue boolValue] ? 1 : 0, + nullPlaceHolderValue = [self _getNullPlaceholderFromOptions:options], + count = [aValue count]; - if (count != [self numberOfItems]) + if (count + insertNull != [self numberOfItems]) { [self removeAllItems]; + + if (insertNull) + [self addItemWithTitle:nullPlaceHolderValue]; + for (var i = 0; i < count; i++) - [self addItemWithTitle:[aValue objectAtIndex:i]]; + [self addItemWithTitle:[self _valueOrNilIfCPNull:[aValue objectAtIndex:i]]]; } else { + if (insertNull) + [[self itemAtIndex:0] setTitle:nullPlaceHolderValue]; + for (var i = 0; i < count; i++) - [[self itemAtIndex:i] setTitle:[aValue objectAtIndex:i]]; + [[self itemAtIndex:i + insertNull] setTitle:[self _valueOrNilIfCPNull:[aValue objectAtIndex:i]]]; } + [self synchronizeTitleAndSelectedItem]; } @@ -813,11 +848,22 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); - (void)_setContent:(CPArray)aValue { - var count = [aValue count]; + var infoDictionary = [self infoForBinding:CPContentBinding], + options = [infoDictionary objectForKey:CPOptionsKey], + insertNullValue = [options objectForKey:CPInsertsNullPlaceholderBindingOption], + insertNull = [insertNullValue boolValue] ? 1 : 0, + count = [aValue count]; - if (count != [self numberOfItems]) + if (count + insertNull != [self numberOfItems]) { [self removeAllItems]; + + if (insertNull) + { + var item = [[CPMenuItem alloc] initWithTitle:[self _getNullPlaceholderFromOptions:options] action:NULL keyEquivalent:nil]; + [self addItem:item]; + } + for (var i = 0; i < count; i++) { var item = [[CPMenuItem alloc] initWithTitle:@"" action:NULL keyEquivalent:nil]; @@ -828,13 +874,18 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); else { for (var i = 0; i < count; i++) - [[self itemAtIndex:i] setRepresentedObject:[aValue objectAtIndex:i]]; + { + [[self itemAtIndex:i + insertNull] setRepresentedObject:[aValue objectAtIndex:i]]; + } } if (![self infoForBinding:CPContentValuesBinding]) { + if (insertNull) + [[self itemAtIndex:0] setTitle:[self _getNullPlaceholderFromOptions:options]]; + for (var i = 0; i < count; i++) - [[self itemAtIndex:i] setTitle:[[aValue objectAtIndex:i] description]]; + [[self itemAtIndex:i + insertNull] setTitle:[[aValue objectAtIndex:i] description]]; } } @@ -872,33 +923,92 @@ var binderForObject = {}, [binder reverseSetValueFor:[binder binding]]; } -- (void)setValue:(id)aValue forBinding:(CPString)aBinding -{ - if (aBinding == CPSelectedIndexBinding) - [_source selectItemAtIndex:aValue]; - else if (aBinding == CPSelectedObjectBinding) - [_source selectItemAtIndex:[_source indexOfItemWithRepresentedObject:aValue]]; - else if (aBinding == CPSelectedTagBinding) - [_source selectItemWithTag:aValue]; - else if (aBinding == CPSelectedValueBinding) - [_source selectItemWithTitle:aValue]; -} - - (void)setPlaceholderValue:(id)aValue withMarker:(CPString)aMarker forBinding:(CPString)aBinding { [self setValue:aValue forBinding:aBinding]; } +@end + +@implementation _CPPopUpButtonSelectedIndexBinder : _CPPopUpButtonSelectionBinder +{ +} + +- (void)setValue:(id)aValue forBinding:(CPString)aBinding +{ + [_source selectItemAtIndex:aValue]; +} + - (id)valueForBinding:(CPString)aBinding { - if (aBinding == CPSelectedIndexBinding) - return [_source indexOfSelectedItem]; - else if (aBinding == CPSelectedObjectBinding) - return [[_source selectedItem] representedObject]; - else if (aBinding == CPSelectedTagBinding) - return [[_source selectedItem] tag]; - else if (aBinding == CPSelectedValueBinding) - return [_source titleOfSelectedItem]; + return [_source indexOfSelectedItem]; +} + +@end + +@implementation _CPPopUpButtonSelectedObjectBinder : _CPPopUpButtonSelectionBinder +{ +} + +- (void)setValue:(id)aValue forBinding:(CPString)aBinding +{ + var index = [_source indexOfItemWithRepresentedObject:aValue]; + + // If the content binding has the option CPNullPlaceholderBindingOption and the object to select is nil, select the first item (i.e., the placeholder). + // Other cases to consider: + // 1. no binding: + // 1.1 there's no item with a represented object matching the object to select. + // 1.2 the object to select is nil/CPNull + // 2. there's a binding: + // 2.1 there's a CPNullPlaceholderBindingOption: + // 2.1.1 there's no item with a represented object matching the object to select? + // 2.1.2 the object to select is nil/CPNull + // 2.2 there's no CPNullPlaceholderBindingOption: + // 2.2.1 there's no item with a represented object matching the object to select? + // 2.2.2 the object to select is nil/CPNull + // More cases? Behaviour that depends on array controller settings? + + if ([[[[CPBinder infoForBinding:CPContentBinding forObject:_source] objectForKey:CPOptionsKey] objectForKey:CPInsertsNullPlaceholderBindingOption] boolValue] && index === CPNotFound) + index = 0; + + [_source selectItemAtIndex:index]; +} + +- (id)valueForBinding:(CPString)aBinding +{ + return [[_source selectedItem] representedObject]; +} + +@end + +@implementation _CPPopUpButtonSelectedTagBinder : _CPPopUpButtonSelectionBinder +{ +} + +- (void)setValue:(id)aValue forBinding:(CPString)aBinding +{ + [_source selectItemWithTag:aValue]; +} + +- (id)valueForBinding:(CPString)aBinding +{ + return [[_source selectedItem] tag]; +} + +@end + +@implementation _CPPopUpButtonSelectedValueBinder : _CPPopUpButtonSelectionBinder +{ +} + +- (void)setValue:(id)aValue forBinding:(CPString)aBinding +{ + [_source selectItemWithTitle:aValue]; +} + +- (id)valueForBinding:(CPString)aBinding +{ + return [_source titleOfSelectedItem]; } @end diff --git a/Tests/AppKit/CPPopUpButtonTest.j b/Tests/AppKit/CPPopUpButtonTest.j index e2c9ebc62..a9c35e9e9 100644 --- a/Tests/AppKit/CPPopUpButtonTest.j +++ b/Tests/AppKit/CPPopUpButtonTest.j @@ -1,10 +1,12 @@ +@import @import @import @implementation CPPopUpButtonTest : OJTestCase { CPPopUpButton button @accessors; + id objects @accessors; } - (void)setUp @@ -202,4 +204,202 @@ [self assert:2 equals:[[self button] indexOfItemWithTitle:@"three"]]; } +- (void)testSimpleStringBindingArrayController +{ + var arrayController = [[CPArrayController alloc] init], + objectController = [[CPObjectController alloc] init], + testObject = [CPMutableDictionary dictionary], + martin = @"Martin", + malte = @"Malte", + johan = @"Johan", + menuObjects = [martin, malte, johan]; + + [testObject setObject:@"I'm a testObject" forKey:@"Who am I"]; + [arrayController setContent:menuObjects]; + [objectController setContent:testObject]; + + [button bind:CPContentBinding toObject:arrayController withKeyPath:@"arrangedObjects" options:nil]; + [button bind:CPSelectedObjectBinding toObject:objectController withKeyPath:@"selection.xxx" options:nil]; + + [[self button] selectItemWithTitle:@"Martin"]; + [[self button] sendAction:@selector(actionTest:) to:self]; // This has to be done to trigger the reverse set of the binding + [self assert:martin equals:[testObject objectForKey:@"xxx"]]; + [[self button] selectItemWithTitle:@"Malte"]; + [[self button] sendAction:@selector(actionTest:) to:self]; + [self assert:malte equals:[testObject objectForKey:@"xxx"]]; + [[self button] selectItemWithTitle:@"Johan"]; + [[self button] sendAction:@selector(actionTest:) to:self]; + [self assert:johan equals:[testObject objectForKey:@"xxx"]]; + + [testObject setObject:martin forKey:@"xxx"]; + [self assert:0 equals:[[self button] indexOfSelectedItem]]; + [testObject setObject:malte forKey:@"xxx"]; + [self assert:1 equals:[[self button] indexOfSelectedItem]]; + [testObject setObject:johan forKey:@"xxx"]; + [self assert:2 equals:[[self button] indexOfSelectedItem]]; +} + +- (void)testSimpleStringBindingNullPlaceholderOption +{ + var arrayController = [[CPArrayController alloc] init], + objectController = [[CPObjectController alloc] init], + testObject = [CPMutableDictionary dictionary], + martin = @"Martin", + malte = @"Malte", + johan = @"Johan", + menuObjects = [martin, malte, johan], + insertsNullPlaceholderOption = [CPDictionary dictionaryWithObjects:[YES, @"Null Placeholder"] forKeys:[CPInsertsNullPlaceholderBindingOption, CPNullPlaceholderBindingOption]]; + + [testObject setObject:@"I'm a testObject" forKey:@"Who am I"]; + [arrayController setContent:menuObjects]; + [objectController setContent:testObject]; + + [button bind:CPContentBinding toObject:arrayController withKeyPath:@"arrangedObjects" options:insertsNullPlaceholderOption]; + [button bind:CPSelectedObjectBinding toObject:objectController withKeyPath:@"selection.xxx" options:insertsNullPlaceholderOption]; + + [[self button] selectItemWithTitle:@"Martin"]; + [[self button] sendAction:@selector(actionTest:) to:self]; // This has to be done to trigger the reverse set of the binding + [self assert:martin equals:[testObject objectForKey:@"xxx"]]; + [[self button] selectItemWithTitle:@"Malte"]; + [[self button] sendAction:@selector(actionTest:) to:self]; + [self assert:malte equals:[testObject objectForKey:@"xxx"]]; + [[self button] selectItemWithTitle:@"Johan"]; + [[self button] sendAction:@selector(actionTest:) to:self]; + [self assert:johan equals:[testObject objectForKey:@"xxx"]]; + + [[self button] selectItemWithTitle:@"Null Placeholder"]; + [[self button] sendAction:@selector(actionTest:) to:self]; + [self assertNull:[testObject objectForKey:@"xxx"]]; + + [testObject setObject:martin forKey:@"xxx"]; + [self assert:1 equals:[[self button] indexOfSelectedItem]]; + [testObject setObject:malte forKey:@"xxx"]; + [self assert:2 equals:[[self button] indexOfSelectedItem]]; + [testObject setObject:johan forKey:@"xxx"]; + [self assert:3 equals:[[self button] indexOfSelectedItem]]; + + [testObject removeObjectForKey:@"xxx"]; + [self assert:0 equals:[[self button] indexOfSelectedItem]]; +} + +- (void)testSimpleObjectBindingArrayController +{ + var arrayController = [[CPArrayController alloc] init], + objectController = [[CPObjectController alloc] init], + testObject = [CPMutableDictionary dictionary], + martin = [CPDictionary dictionaryWithJSObject:{@"name": @"Martin"}], + malte = [CPDictionary dictionaryWithJSObject:{@"name": @"Malte"}], + johan = [CPDictionary dictionaryWithJSObject:{@"name": @"Johan"}], + menuObjects = [martin, malte, johan]; + + [testObject setObject:@"I'm a testObject" forKey:@"Who am I"]; + [arrayController setContent:menuObjects]; + [objectController setContent:testObject]; + + [button bind:CPContentBinding toObject:arrayController withKeyPath:@"arrangedObjects" options:nil]; + [button bind:CPContentValuesBinding toObject:arrayController withKeyPath:@"arrangedObjects.name" options:nil]; + [button bind:CPSelectedObjectBinding toObject:objectController withKeyPath:@"selection.xxx" options:nil]; + + [[self button] selectItemWithTitle:@"Martin"]; + [[self button] sendAction:@selector(actionTest:) to:self]; // This has to be done to trigger the reverse set of the binding + [self assert:martin equals:[testObject objectForKey:@"xxx"]]; + [[self button] selectItemWithTitle:@"Malte"]; + [[self button] sendAction:@selector(actionTest:) to:self]; + [self assert:malte equals:[testObject objectForKey:@"xxx"]]; + [[self button] selectItemWithTitle:@"Johan"]; + [[self button] sendAction:@selector(actionTest:) to:self]; + [self assert:johan equals:[testObject objectForKey:@"xxx"]]; + + [testObject setObject:martin forKey:@"xxx"]; + [self assert:0 equals:[[self button] indexOfSelectedItem]]; + [testObject setObject:malte forKey:@"xxx"]; + [self assert:1 equals:[[self button] indexOfSelectedItem]]; + [testObject setObject:johan forKey:@"xxx"]; + [self assert:2 equals:[[self button] indexOfSelectedItem]]; +} + +- (void)testObjectBindingNullPlaceholderOption +{ + var arrayController = [[CPArrayController alloc] init], + martin = [CPDictionary dictionaryWithJSObject:{@"name": @"Martin"}], + malte = [CPDictionary dictionaryWithJSObject:{@"name": @"Malte"}], + johan = [CPDictionary dictionaryWithJSObject:{@"name": @"Johan"}], + menuObjects = [martin, malte, johan], + insertsNullPlaceholderOption = [CPDictionary dictionaryWithObjects:[YES, @"Null Placeholder"] forKeys:[CPInsertsNullPlaceholderBindingOption, CPNullPlaceholderBindingOption]]; + + [arrayController setContent:menuObjects]; + [button bind:CPContentBinding toObject:arrayController withKeyPath:@"arrangedObjects" options:insertsNullPlaceholderOption]; + [button bind:CPContentValuesBinding toObject:arrayController withKeyPath:@"arrangedObjects.name" options:insertsNullPlaceholderOption]; + + [self assert:4 equals:[[self button] numberOfItems]]; + [self assert:0 equals:[[self button] indexOfItemWithTitle:@"Null Placeholder"]]; + [self assert:1 equals:[[self button] indexOfItemWithTitle:@"Martin"]]; + [self assert:2 equals:[[self button] indexOfItemWithTitle:@"Malte"]]; + [self assert:3 equals:[[self button] indexOfItemWithTitle:@"Johan"]]; + + [button unbind:CPContentValuesBinding]; + [button unbind:CPContentBinding]; + [button bind:CPContentValuesBinding toObject: arrayController withKeyPath:@"arrangedObjects.name" options:nil]; + [button bind:CPContentBinding toObject:arrayController withKeyPath:@"arrangedObjects" options:nil]; + + [self assert:3 equals:[[self button] numberOfItems]]; + [self assert:0 equals:[[self button] indexOfItemWithTitle:@"Martin"]]; + [self assert:1 equals:[[self button] indexOfItemWithTitle:@"Malte"]]; + [self assert:2 equals:[[self button] indexOfItemWithTitle:@"Johan"]]; +} + +- (void)testSelectedObjectBindingArrayController +{ + var arrayController = [[CPArrayController alloc] init], + objectController = [[CPObjectController alloc] init], + testObject = [CPMutableDictionary dictionary], + martin = [CPDictionary dictionaryWithJSObject:{@"name": @"Martin"}], + malte = [CPDictionary dictionaryWithJSObject:{@"name": @"Malte"}], + johan = [CPDictionary dictionaryWithJSObject:{@"name": @"Johan"}], + menuObjects = [martin, malte, johan], + insertsNullPlaceholderOption = [CPDictionary dictionaryWithObjects:[YES, @"Null Placeholder"] forKeys:[CPInsertsNullPlaceholderBindingOption, CPNullPlaceholderBindingOption]]; + + [testObject setObject:@"I'm a testObject" forKey:@"Who am I"]; + [arrayController setContent:menuObjects]; + [objectController setContent:testObject]; + + [button bind:CPContentBinding toObject:arrayController withKeyPath:@"arrangedObjects" options:insertsNullPlaceholderOption]; + [button bind:CPContentValuesBinding toObject:arrayController withKeyPath:@"arrangedObjects.name" options:insertsNullPlaceholderOption]; + [button bind:CPSelectedObjectBinding toObject:objectController withKeyPath:@"selection.xxx" options:nil]; + + [self assert:4 equals:[[self button] numberOfItems]]; + [self assert:0 equals:[[self button] indexOfItemWithTitle:@"Null Placeholder"]]; + [self assert:1 equals:[[self button] indexOfItemWithTitle:@"Martin"]]; + [self assert:2 equals:[[self button] indexOfItemWithTitle:@"Malte"]]; + [self assert:3 equals:[[self button] indexOfItemWithTitle:@"Johan"]]; + + [[self button] selectItemWithTitle:@"Martin"]; + [[self button] sendAction:@selector(actionTest:) to:self]; // This has to be done to trigger the reverse set of the binding + [self assert:martin equals:[testObject objectForKey:@"xxx"]]; + [[self button] selectItemWithTitle:@"Malte"]; + [[self button] sendAction:@selector(actionTest:) to:self]; + [self assert:malte equals:[testObject objectForKey:@"xxx"]]; + [[self button] selectItemWithTitle:@"Johan"]; + [[self button] sendAction:@selector(actionTest:) to:self]; + [self assert:johan equals:[testObject objectForKey:@"xxx"]]; + + [[self button] selectItemWithTitle:@"Null Placeholder"]; + [[self button] sendAction:@selector(actionTest:) to:self]; + [self assertNull:[testObject objectForKey:@"xxx"]]; + + [testObject setObject:martin forKey:@"xxx"]; + [self assert:1 equals:[[self button] indexOfSelectedItem]]; + [testObject setObject:malte forKey:@"xxx"]; + [self assert:2 equals:[[self button] indexOfSelectedItem]]; + [testObject setObject:johan forKey:@"xxx"]; + [self assert:3 equals:[[self button] indexOfSelectedItem]]; + + [testObject removeObjectForKey:@"xxx"]; + [self assert:0 equals:[[self button] indexOfSelectedItem]]; +} + +- (void)actionTest:(id)sender +{ +} + @end From c7a8124be8b6b045983422632f8959d4fe2d254f Mon Sep 17 00:00:00 2001 From: cacaodev Date: Wed, 4 Jul 2012 09:51:56 +0200 Subject: [PATCH 07/13] CPPopUpButtonTest test CPContentValuesBinding with value transformer. Currently failing. --- Tests/AppKit/CPPopUpButtonTest.j | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Tests/AppKit/CPPopUpButtonTest.j b/Tests/AppKit/CPPopUpButtonTest.j index a9c35e9e9..40f20e0b9 100644 --- a/Tests/AppKit/CPPopUpButtonTest.j +++ b/Tests/AppKit/CPPopUpButtonTest.j @@ -398,8 +398,38 @@ [self assert:0 equals:[[self button] indexOfSelectedItem]]; } +- (void)testContentValuesWithValueTransformer +{ + var arrayController = [[CPArrayController alloc] init], + martin = [CPDictionary dictionaryWithJSObject:{@"name": @"Martin"}], + malte = [CPDictionary dictionaryWithJSObject:{@"name": @"Malte"}], + johan = [CPDictionary dictionaryWithJSObject:{@"name": @"Johan"}], + menuObjects = [martin, malte, johan]; + + [arrayController setContent:menuObjects]; + + [button bind:CPContentBinding toObject:arrayController withKeyPath:@"arrangedObjects" options:nil]; + var options = [CPDictionary dictionary]; + [options setObject:[ContentValuesTransformer new] forKey:CPValueTransformerBindingOption]; + [button bind:CPContentValuesBinding toObject:arrayController withKeyPath:@"arrangedObjects.name" options:options]; + + [self assert:@"Transformed-Malte" equals:[[[self button] itemAtIndex:1] title]]; +} + - (void)actionTest:(id)sender { } @end + + +@implementation ContentValuesTransformer : CPValueTransformer +{ +} + +- (id)transformedValue:(id)aValue +{ + return "Transformed-" + aValue; +} + +@end \ No newline at end of file From 42f49795afae32f07919fe08e1d04b21d13a47f9 Mon Sep 17 00:00:00 2001 From: cacaodev Date: Wed, 4 Jul 2012 19:35:53 +0200 Subject: [PATCH 08/13] Ignore Value Transformers, no error and log an info message. --- AppKit/CPPopUpButton.j | 138 ++++++++++++------ .../CPPopUpButtonBindings/AppController.j | 22 ++- .../Resources/MainMenu.cib | 4 +- .../Resources/MainMenu.xib | 28 ++-- 4 files changed, 121 insertions(+), 71 deletions(-) diff --git a/AppKit/CPPopUpButton.j b/AppKit/CPPopUpButton.j index 734e17f04..c800b875f 100644 --- a/AppKit/CPPopUpButton.j +++ b/AppKit/CPPopUpButton.j @@ -25,7 +25,6 @@ @import "CPKeyValueBinding.j" @import "CPMenu.j" @import "CPMenuItem.j" -@import var VISIBLE_MARGIN = 7.0; @@ -777,7 +776,10 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); if (aBinding == CPSelectedIndexBinding || aBinding == CPSelectedObjectBinding || aBinding == CPSelectedTagBinding || - aBinding == CPSelectedValueBinding) + aBinding == CPSelectedValueBinding || + aBinding == CPContentBinding || + aBinding == CPContentObjectsBinding || + aBinding == CPContentValuesBinding) { var capitalizedBinding = aBinding.charAt(0).toUpperCase() + aBinding.substr(1); @@ -787,11 +789,6 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); return [super _binderClassForBinding:aBinding]; } -- (CPArray)_contentValues -{ - return [self valueForKeyPath:@"itemArray.title"]; -} - - (id)_valueOrNilIfCPNull:(id)aValue { if (aValue === [CPNull null]) @@ -810,85 +807,132 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); return placeholder; } -- (void)_setContentValues:(CPArray)aValue +@end + +@implementation _CPPopUpButtonContentBinder : CPBinder { - var infoDictionary = [self infoForBinding:CPContentValuesBinding], - options = [infoDictionary objectForKey:CPOptionsKey], - insertNullValue = [options objectForKey:CPInsertsNullPlaceholderBindingOption], - insertNull = [insertNullValue boolValue] ? 1 : 0, - nullPlaceHolderValue = [self _getNullPlaceholderFromOptions:options], - count = [aValue count]; - - if (count + insertNull != [self numberOfItems]) - { - [self removeAllItems]; - - if (insertNull) - [self addItemWithTitle:nullPlaceHolderValue]; - - for (var i = 0; i < count; i++) - [self addItemWithTitle:[self _valueOrNilIfCPNull:[aValue objectAtIndex:i]]]; - } - else - { - if (insertNull) - [[self itemAtIndex:0] setTitle:nullPlaceHolderValue]; - - for (var i = 0; i < count; i++) - [[self itemAtIndex:i + insertNull] setTitle:[self _valueOrNilIfCPNull:[aValue objectAtIndex:i]]]; - } - - [self synchronizeTitleAndSelectedItem]; } -- (CPArray)_content +- (id)transformValue:(id)aValue withOptions:(CPDictionary)options { - return [self valueForKeyPath:@"itemArray.representedObject"]; + CPLogConsole("Value Transformers are not supported yet for CP(Content|ContentObjects|ContentValues)Binding. Ignoring."); + return aValue; +} + +- (void)setValue:(id)aValue forBinding:(CPString)aBinding +{ + [self _setContent:aValue]; +} + +- (void)valueForBinding:(CPString)aBinding +{ + return [self _content]; } - (void)_setContent:(CPArray)aValue { - var infoDictionary = [self infoForBinding:CPContentBinding], - options = [infoDictionary objectForKey:CPOptionsKey], + var options = [_info objectForKey:CPOptionsKey], insertNullValue = [options objectForKey:CPInsertsNullPlaceholderBindingOption], insertNull = [insertNullValue boolValue] ? 1 : 0, count = [aValue count]; - if (count + insertNull != [self numberOfItems]) + if (count + insertNull != [_source numberOfItems]) { - [self removeAllItems]; + [_source removeAllItems]; if (insertNull) { - var item = [[CPMenuItem alloc] initWithTitle:[self _getNullPlaceholderFromOptions:options] action:NULL keyEquivalent:nil]; - [self addItem:item]; + var item = [[CPMenuItem alloc] initWithTitle:[_source _getNullPlaceholderFromOptions:options] action:NULL keyEquivalent:nil]; + [_source addItem:item]; } for (var i = 0; i < count; i++) { var item = [[CPMenuItem alloc] initWithTitle:@"" action:NULL keyEquivalent:nil]; [item setRepresentedObject:[aValue objectAtIndex:i]]; - [self addItem:item]; + [_source addItem:item]; } } else { for (var i = 0; i < count; i++) { - [[self itemAtIndex:i + insertNull] setRepresentedObject:[aValue objectAtIndex:i]]; + [[_source itemAtIndex:i + insertNull] setRepresentedObject:[aValue objectAtIndex:i]]; } } if (![self infoForBinding:CPContentValuesBinding]) { if (insertNull) - [[self itemAtIndex:0] setTitle:[self _getNullPlaceholderFromOptions:options]]; + [[_source itemAtIndex:0] setTitle:[_source _getNullPlaceholderFromOptions:options]]; for (var i = 0; i < count; i++) - [[self itemAtIndex:i + insertNull] setTitle:[[aValue objectAtIndex:i] description]]; + [[_source itemAtIndex:i + insertNull] setTitle:[[aValue objectAtIndex:i] description]]; } } +- (CPArray)_content +{ + return [_source valueForKeyPath:@"itemArray.representedObject"]; +} + +@end + +@implementation _CPPopUpButtonContentValuesBinder : CPBinder +{ +} + +- (id)transformValue:(id)aValue withOptions:(CPDictionary)options +{ + CPLogConsole("Value Transformers are not supported yet for CP(Content|ContentObjects|ContentValues)Binding. Ignoring."); + return aValue; +} + +- (void)setValue:(id)aValue forBinding:(CPString)aBinding +{ + [self _setContentValues:aValue]; +} + +- (void)valueForBinding:(CPString)aBinding +{ + return [self _content]; +} + +- (void)_setContentValues:(CPArray)aValue +{ + var options = [_info objectForKey:CPOptionsKey], + insertNullValue = [options objectForKey:CPInsertsNullPlaceholderBindingOption], + insertNull = [insertNullValue boolValue] ? 1 : 0, + nullPlaceHolderValue = [_source _getNullPlaceholderFromOptions:options], + count = [aValue count]; + + if (count + insertNull != [_source numberOfItems]) + { + [_source removeAllItems]; + + if (insertNull) + [_source addItemWithTitle:nullPlaceHolderValue]; + + for (var i = 0; i < count; i++) + [_source addItemWithTitle:[_source _valueOrNilIfCPNull:[aValue objectAtIndex:i]]]; + } + else + { + if (insertNull) + [[_source itemAtIndex:0] setTitle:nullPlaceHolderValue]; + + for (var i = 0; i < count; i++) + [[_source itemAtIndex:i + insertNull] setTitle:[_source _valueOrNilIfCPNull:[aValue objectAtIndex:i]]]; + } + + [_source synchronizeTitleAndSelectedItem]; +} + +- (CPArray)_content +{ + return [_source valueForKeyPath:@"itemArray.title"]; +} + @end var binderForObject = {}, diff --git a/Tests/Manual/CPPopUpButtonBindings/AppController.j b/Tests/Manual/CPPopUpButtonBindings/AppController.j index 74b2e940f..7eda84695 100644 --- a/Tests/Manual/CPPopUpButtonBindings/AppController.j +++ b/Tests/Manual/CPPopUpButtonBindings/AppController.j @@ -7,6 +7,7 @@ */ @import +//@import "CPPopUpButton.j" @implementation AppController : CPObject { @@ -16,12 +17,17 @@ CPArray people @accessors; } ++ (void)initialize +{ + [CPValueTransformer setValueTransformer:[Transformer new] forName:@"Transformer"]; +} + - (void)awakeFromCib { var array = []; - [array addObject:[CPDictionary dictionaryWithObjectsAndKeys:@"John",@"name",@"Butcher",@"job",@"john@meat.com",@"email", 2, @"tag"]]; - [array addObject:[CPDictionary dictionaryWithObjectsAndKeys:@"Alberto",@"name",@"Seller",@"job",@"alberto@gmail.com",@"email", 0, @"tag"]]; - [array addObject:[CPDictionary dictionaryWithObjectsAndKeys:@"Barack",@"name",@"President",@"job",@"barack@whitehouse.gov",@"email", 1, @"tag"]]; + [array addObject:[CPDictionary dictionaryWithObjectsAndKeys:@"John",@"name",@"Butcher",@"job",@"john@meat.com",@"email", 2, @"tag", @"Resources/Jakabos1.jpg", @"image"]]; + [array addObject:[CPDictionary dictionaryWithObjectsAndKeys:@"Alberto",@"name",@"Seller",@"job",@"alberto@gmail.com",@"email", 0, @"tag", @"Resources/Jakabos2.jpg", @"image"]]; + [array addObject:[CPDictionary dictionaryWithObjectsAndKeys:@"Barack",@"name",@"President",@"job",@"barack@whitehouse.gov",@"email", 1, @"tag", @"Resources/Jakabos4.jpg", @"image"]]; [self setPeople:array]; @@ -39,3 +45,13 @@ @end +@implementation Transformer : CPValueTransformer +{ +} + +- (id)transformedValue:(CPString)aValue +{ + return "transformed " + aValue; +} + +@end \ No newline at end of file diff --git a/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.cib b/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.cib index 2fbee6e7b..7e92460dd 100644 --- a/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.cib +++ b/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.cib @@ -1,4 +1,4 @@ -280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;68E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;88E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;89E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;81E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;90E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;94E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;56E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;96E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;68E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;97E;E;D;K;10;$classnameS;21;CPCibBindingConnectorK;8;$classesA;S;21;CPCibBindingConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;102E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;103E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;104E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;107E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;108E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;110E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;61E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;111E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;113E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;116E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;104E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;117E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;119E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;120E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;121E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;122E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;103E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;104E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;127E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;81E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;129E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;130E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;131E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;132E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;133E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;134E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;137E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;139E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;141E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;117E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;142E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;143E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;144E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;58E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;146E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;88E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;148E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;149E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;150E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;151E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;152E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;45E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;154E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;154E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;166E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;170E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;164E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;172E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;166E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;170E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;164E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;174E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;166E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;170E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;164E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;175E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;176E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;177E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;178E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;179E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;180E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;182E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;183E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;53E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;54E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;184E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;184E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;184E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;184E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;166E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;166E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;166E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;185E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;153E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;153E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;186E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;187E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;189E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;51E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;192E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;153E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;193E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;194E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;194E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;189E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;195E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;51E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;196E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;153E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;197E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;182E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;198E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;198E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;182E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;199E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;12;$agrid-colorD;K;6;CP$UIDd;3;200E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;201E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;202E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;153E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;165E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;166E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;166E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;166E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;166E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;166E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;203E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;200E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;153E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;204E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;206E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;63E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;207E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;208E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;209E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;210E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;212E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;213E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;217E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;218E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;209E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;210E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;219E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;220E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;221E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;222E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;184E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;210E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;223E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;224E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;225E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;184E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;226E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;227E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;228E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;17;CPTableHeaderViewK;8;$classesA;S;17;CPTableHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;183E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;229E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;56E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;166E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;231E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;153E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;234E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;204E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;153E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;235E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;153E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;236E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;204E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;153E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;237E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;153E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;238E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;204E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;153E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;87E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;239E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;204E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;166E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;164E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;153E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;244E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;68E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;246E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;68E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;68E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;86E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;250E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;204E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;166E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;164E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;153E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;244E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;73E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;246E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;73E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;73E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;85E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;251E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;204E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;166E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;164E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;153E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;244E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;77E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;246E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;77E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;77E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;252E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;253E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;166E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;204E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;166E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;204E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;166E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;166E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;166E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;204E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;204E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;257E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;43E;E;E;S;8;delegateS;10;emailLabelS;8;jobLabelS;10;mainWindowS;9;nameLabelS;21;ordersArrayControllerS;15;ordersTableViewS;8;tagPopUpS;24;content: arrangedObjectsS;7;contentS;15;arrangedObjectsD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;35;contentValues: arrangedObjects.nameS;13;contentValuesS;20;arrangedObjects.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;29;selectedValue: selection.nameS;13;selectedValueS;14;selection.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.tagS;5;valueS;19;arrangedObjects.tagD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;34;contentValues: arrangedObjects.jobS;19;arrangedObjects.jobD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;26;selectedTag: selection.tagS;11;selectedTagS;13;selection.tagD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;22;CPValidatesImmediatelyD;K;6;CP$UIDd;3;166E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;29;selectedIndex: selectionIndexS;13;selectedIndexS;14;selectionIndexD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;20;contentArray: peopleS;12;contentArrayS;6;peopleD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;22;CPValidatesImmediatelyD;K;6;CP$UIDd;3;166E;E;E;S;20;value: selection.jobS;13;selection.jobD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;22;value: selection.emailS;15;selection.emailD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;21;value: selection.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.jobD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;28;value: arrangedObjects.emailS;21;arrangedObjects.emailD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;27;value: arrangedObjects.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 278}, {951, 373}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {951, 373}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;E;E;S;6;normalS;22;{{14, 295}, {448, 29}}S;19;{{0, 0}, {448, 29}}d;2;12S;9;textfieldS;19;bezeled+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;162E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;258E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;159E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;204E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;204E;E;d;1;2d;1;4T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;259E;E;S;5;EmailS;22;{{14, 327}, {448, 29}}S;3;JobS;22;{{14, 263}, {448, 29}}S;4;NameS;22;{{-1, -1}, {461, 260}}S;20;{{0, 0}, {461, 260}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;185E;E;E;d;2;20S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;181E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;198E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;198E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;260E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;261E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;3;181E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;262E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;263E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;264E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;261E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;63E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;44E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;S;22;{{467, 15}, {15, 228}}S;19;{{0, 0}, {15, 228}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9382716049382716S;19;{{0, 0}, {482, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9938144329896907S;20;{{0, 0}, {461, 243}}S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;169E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;266E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;E;E;F;D;K;10;$classnameS;13;_CPCornerViewK;8;$classesA;S;13;_CPCornerViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;205E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;267E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;268E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;269E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;S;4;named;3;101d;2;40d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;270E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;271E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;175E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;272E;K;6;$afontD;K;6;CP$UIDd;3;274E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;276E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;d;1;3D;K;10;$classnameS;16;CPSortDescriptorK;8;$classesA;S;16;CPSortDescriptorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;22;CPSortDescriptorKeyKeyD;K;6;CP$UIDd;3;207E;K;28;CPSortDescriptorAscendingKeyD;K;6;CP$UIDd;3;166E;K;27;CPSortDescriptorSelectorKeyD;K;6;CP$UIDd;3;277E;E;S;5;emaild;3;150D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;278E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;271E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;171E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;272E;K;6;$afontD;K;6;CP$UIDd;3;279E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;280E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;S;3;jobd;3;106D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;281E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;271E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;173E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;272E;K;6;$afontD;K;6;CP$UIDd;3;282E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;283E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;d;2;92f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;284E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;271E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;285E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;272E;K;6;$afontD;K;6;CP$UIDd;3;286E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;287E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;S;19;{{0, 0}, {461, 23}}S;14;tableHeaderRowS;22;{{496, 23}, {217, 42}}S;19;{{0, 0}, {217, 42}}d;2;33S;53;CPSelectedIndexBinding +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;68E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;88E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;89E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;81E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;90E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;94E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;56E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;96E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;68E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;97E;E;D;K;10;$classnameS;21;CPCibBindingConnectorK;8;$classesA;S;21;CPCibBindingConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;102E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;103E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;104E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;107E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;108E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;110E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;61E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;111E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;113E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;116E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;104E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;117E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;119E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;120E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;121E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;122E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;103E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;104E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;127E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;81E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;129E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;130E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;131E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;132E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;133E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;134E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;137E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;139E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;141E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;117E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;142E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;143E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;144E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;58E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;146E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;88E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;148E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;149E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;150E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;151E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;152E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;45E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;154E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;154E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;166E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;170E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;164E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;172E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;166E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;170E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;164E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;174E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;166E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;170E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;164E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;175E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;176E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;177E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;178E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;179E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;180E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;182E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;183E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;53E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;54E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;184E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;184E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;184E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;184E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;166E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;166E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;166E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;185E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;153E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;153E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;186E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;187E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;189E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;51E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;192E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;153E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;193E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;194E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;194E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;189E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;195E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;51E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;196E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;153E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;197E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;182E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;198E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;198E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;182E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;199E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;12;$agrid-colorD;K;6;CP$UIDd;3;200E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;201E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;202E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;153E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;165E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;166E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;166E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;166E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;166E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;166E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;203E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;200E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;153E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;204E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;206E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;63E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;207E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;208E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;209E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;210E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;212E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;213E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;217E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;218E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;209E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;210E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;219E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;220E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;221E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;222E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;184E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;210E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;223E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;224E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;225E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;184E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;226E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;227E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;228E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;17;CPTableHeaderViewK;8;$classesA;S;17;CPTableHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;183E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;229E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;56E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;166E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;231E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;153E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;234E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;204E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;153E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;235E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;153E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;236E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;204E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;153E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;237E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;153E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;238E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;204E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;153E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;87E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;239E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;204E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;159E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;153E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;166E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;164E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;153E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;244E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;68E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;246E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;68E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;68E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;86E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;250E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;204E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;159E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;153E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;166E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;164E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;153E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;244E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;73E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;246E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;73E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;73E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;85E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;251E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;204E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;159E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;153E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;166E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;164E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;153E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;244E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;77E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;246E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;77E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;77E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;252E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;253E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;166E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;204E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;166E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;204E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;166E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;166E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;166E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;204E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;204E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;257E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;43E;E;E;S;8;delegateS;10;emailLabelS;8;jobLabelS;10;mainWindowS;9;nameLabelS;21;ordersArrayControllerS;15;ordersTableViewS;8;tagPopUpS;24;content: arrangedObjectsS;7;contentS;15;arrangedObjectsD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;35;contentValues: arrangedObjects.nameS;13;contentValuesS;20;arrangedObjects.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;29;selectedValue: selection.nameS;13;selectedValueS;14;selection.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.tagS;5;valueS;19;arrangedObjects.tagD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;34;contentValues: arrangedObjects.jobS;19;arrangedObjects.jobD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;26;selectedTag: selection.tagS;11;selectedTagS;13;selection.tagD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;22;CPValidatesImmediatelyD;K;6;CP$UIDd;3;166E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;22;CPValueTransformerNameD;K;6;CP$UIDd;3;258E;E;E;S;29;selectedIndex: selectionIndexS;13;selectedIndexS;14;selectionIndexD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;20;contentArray: peopleS;12;contentArrayS;6;peopleD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;22;CPValidatesImmediatelyD;K;6;CP$UIDd;3;166E;E;E;S;20;value: selection.jobS;13;selection.jobD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;22;value: selection.emailS;15;selection.emailD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;21;value: selection.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.jobD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;28;value: arrangedObjects.emailS;21;arrangedObjects.emailD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;27;value: arrangedObjects.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 278}, {951, 373}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {951, 373}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;E;E;S;6;normalS;22;{{14, 295}, {448, 29}}S;19;{{0, 0}, {448, 29}}d;2;12S;9;textfieldS;19;bezeled+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;162E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;259E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;159E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;204E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;204E;E;d;1;2d;1;4T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;260E;E;S;5;EmailS;22;{{14, 327}, {448, 29}}S;3;JobS;22;{{14, 263}, {448, 29}}S;4;NameS;22;{{-1, -1}, {461, 260}}S;20;{{0, 0}, {461, 260}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;185E;E;E;d;2;20S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;181E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;198E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;198E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;261E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;262E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;3;181E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;263E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;264E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;262E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;63E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;44E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;S;22;{{467, 15}, {15, 228}}S;19;{{0, 0}, {15, 228}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9382716049382716S;19;{{0, 0}, {482, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9938144329896907S;20;{{0, 0}, {461, 243}}S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;169E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;267E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;E;E;F;D;K;10;$classnameS;13;_CPCornerViewK;8;$classesA;S;13;_CPCornerViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;205E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;268E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;269E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;270E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;S;4;named;3;101d;2;40d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;271E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;272E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;175E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;273E;K;6;$afontD;K;6;CP$UIDd;3;275E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;277E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;d;1;3D;K;10;$classnameS;16;CPSortDescriptorK;8;$classesA;S;16;CPSortDescriptorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;22;CPSortDescriptorKeyKeyD;K;6;CP$UIDd;3;207E;K;28;CPSortDescriptorAscendingKeyD;K;6;CP$UIDd;3;166E;K;27;CPSortDescriptorSelectorKeyD;K;6;CP$UIDd;3;278E;E;S;5;emaild;3;150D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;279E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;272E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;171E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;273E;K;6;$afontD;K;6;CP$UIDd;3;280E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;281E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;S;3;jobd;3;106D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;282E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;272E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;173E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;273E;K;6;$afontD;K;6;CP$UIDd;3;283E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;284E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;d;2;92f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;285E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;272E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;286E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;273E;K;6;$afontD;K;6;CP$UIDd;3;287E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;288E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;S;19;{{0, 0}, {461, 23}}S;14;tableHeaderRowS;22;{{496, 23}, {217, 42}}S;19;{{0, 0}, {217, 42}}d;2;33S;53;CPSelectedIndexBinding arrangedObjects.selectionIndexS;22;{{496, 68}, {217, 42}}S;34;CPSelectedTagBinding selection.tagS;23;{{496, 118}, {217, 42}}S;37;CPSelectedValueBinding -selection.nameS;22;{{729, 77}, {191, 24}}S;19;{{0, 0}, {191, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;162E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;258E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;159E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;166E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;204E;E;S;6;Item 1S;17;_popUpItemAction:d;1;1d;7;1048576S;6;Item 2S;6;Item 3S;22;{{729, 32}, {191, 24}}S;23;{{729, 127}, {191, 24}}S;13;AppControllerS;12;CPDictionaryS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;E;E;S;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;56E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;288E;E;S;21;{{0, 243}, {461, 17}}S;19;{{0, 0}, {461, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;63E;E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;289E;D;K;6;CP$UIDd;3;246E;E;E;S;22;{{467, 237}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;291E;E;E;S;12;columnHeaderS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;273E;K;4;nameD;K;6;CP$UIDd;3;292E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;293E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;275E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;294E;E;S;8;compare:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;295E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;273E;K;4;nameD;K;6;CP$UIDd;3;292E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;296E;E;D;K;6;$classD;K;6;CP$UIDd;3;275E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;297E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;273E;K;4;nameD;K;6;CP$UIDd;3;292E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;298E;E;D;K;6;$classD;K;6;CP$UIDd;3;275E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;299E;E;E;S;3;TagD;K;6;$classD;K;6;CP$UIDd;3;273E;K;4;nameD;K;6;CP$UIDd;3;292E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;300E;E;D;K;6;$classD;K;6;CP$UIDd;3;275E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;E;E;f;3;0.5D;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;290E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;301E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;S;4;fontD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;290E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;219E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;219E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;301E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;290E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;223E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;223E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;301E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;290E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;227E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;227E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;301E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;d;2;18E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file +selection.nameS;22;{{729, 77}, {191, 24}}S;19;{{0, 0}, {191, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;162E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;259E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;159E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;166E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;204E;E;S;6;Item 1S;17;_popUpItemAction:d;1;1d;7;1048576S;6;Item 2S;6;Item 3S;22;{{729, 32}, {191, 24}}S;23;{{729, 127}, {191, 24}}S;13;AppControllerS;12;CPDictionaryS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;E;E;S;11;TransformerS;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;56E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;289E;E;S;21;{{0, 243}, {461, 17}}S;19;{{0, 0}, {461, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;63E;E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;246E;E;E;S;22;{{467, 237}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;292E;E;E;S;12;columnHeaderS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;274E;K;4;nameD;K;6;CP$UIDd;3;293E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;294E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;276E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;295E;E;S;8;compare:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;296E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;274E;K;4;nameD;K;6;CP$UIDd;3;293E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;297E;E;D;K;6;$classD;K;6;CP$UIDd;3;276E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;298E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;274E;K;4;nameD;K;6;CP$UIDd;3;293E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;299E;E;D;K;6;$classD;K;6;CP$UIDd;3;276E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;300E;E;E;S;3;TagD;K;6;$classD;K;6;CP$UIDd;3;274E;K;4;nameD;K;6;CP$UIDd;3;293E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;301E;E;D;K;6;$classD;K;6;CP$UIDd;3;276E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;E;E;f;3;0.5D;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;291E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;302E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;S;4;fontD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;291E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;219E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;219E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;302E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;291E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;223E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;223E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;302E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;291E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;227E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;227E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;302E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;d;2;18E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.xib b/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.xib index 472f784d5..625fb7078 100644 --- a/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.xib +++ b/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.xib @@ -905,17 +905,21 @@ contentValues: arrangedObjects.name - + contentValues: arrangedObjects.name contentValues arrangedObjects.name + + NSValueTransformerName + Transformer + 2 - 579 + 618
@@ -928,11 +932,11 @@ selectedIndex: selectionIndex selectedIndex selectionIndex - + 2 - 580 + 619 @@ -1466,27 +1470,13 @@ - 617 + 619 AppController NSObject - - NSWindow - NSPopUpButton - - - - mainWindow - NSWindow - - - tagPopUp - NSPopUpButton - - IBProjectSource ./Classes/AppController.h From dbb88b8a170d9a6caa48a4b115801c491fe92430 Mon Sep 17 00:00:00 2001 From: Martin Carlberg Date: Fri, 6 Jul 2012 20:06:19 +0200 Subject: [PATCH 09/13] Included content and contentValue bindings improvments from cacaodev Fixed a small typo error --- AppKit/CPPopUpButton.j | 142 +++++++++++++++++++++++++++-------------- 1 file changed, 93 insertions(+), 49 deletions(-) diff --git a/AppKit/CPPopUpButton.j b/AppKit/CPPopUpButton.j index 734e17f04..ed0312699 100644 --- a/AppKit/CPPopUpButton.j +++ b/AppKit/CPPopUpButton.j @@ -25,7 +25,6 @@ @import "CPKeyValueBinding.j" @import "CPMenu.j" @import "CPMenuItem.j" -@import var VISIBLE_MARGIN = 7.0; @@ -777,7 +776,10 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); if (aBinding == CPSelectedIndexBinding || aBinding == CPSelectedObjectBinding || aBinding == CPSelectedTagBinding || - aBinding == CPSelectedValueBinding) + aBinding == CPSelectedValueBinding || + aBinding == CPContentBinding || + aBinding == CPContentObjectsBinding || + aBinding == CPContentValuesBinding) { var capitalizedBinding = aBinding.charAt(0).toUpperCase() + aBinding.substr(1); @@ -787,11 +789,6 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); return [super _binderClassForBinding:aBinding]; } -- (CPArray)_contentValues -{ - return [self valueForKeyPath:@"itemArray.title"]; -} - - (id)_valueOrNilIfCPNull:(id)aValue { if (aValue === [CPNull null]) @@ -810,85 +807,132 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); return placeholder; } -- (void)_setContentValues:(CPArray)aValue +@end + +@implementation _CPPopUpButtonContentBinder : CPBinder { - var infoDictionary = [self infoForBinding:CPContentValuesBinding], - options = [infoDictionary objectForKey:CPOptionsKey], - insertNullValue = [options objectForKey:CPInsertsNullPlaceholderBindingOption], - insertNull = [insertNullValue boolValue] ? 1 : 0, - nullPlaceHolderValue = [self _getNullPlaceholderFromOptions:options], - count = [aValue count]; - - if (count + insertNull != [self numberOfItems]) - { - [self removeAllItems]; - - if (insertNull) - [self addItemWithTitle:nullPlaceHolderValue]; - - for (var i = 0; i < count; i++) - [self addItemWithTitle:[self _valueOrNilIfCPNull:[aValue objectAtIndex:i]]]; - } - else - { - if (insertNull) - [[self itemAtIndex:0] setTitle:nullPlaceHolderValue]; - - for (var i = 0; i < count; i++) - [[self itemAtIndex:i + insertNull] setTitle:[self _valueOrNilIfCPNull:[aValue objectAtIndex:i]]]; - } - - [self synchronizeTitleAndSelectedItem]; } -- (CPArray)_content +- (id)transformValue:(id)aValue withOptions:(CPDictionary)options { - return [self valueForKeyPath:@"itemArray.representedObject"]; + CPLogConsole("Value Transformers are not supported yet for CP(Content|ContentObjects|ContentValues)Binding. Ignoring."); + return aValue; +} + +- (void)setValue:(id)aValue forBinding:(CPString)aBinding +{ + [self _setContent:aValue]; +} + +- (void)valueForBinding:(CPString)aBinding +{ + return [self _content]; } - (void)_setContent:(CPArray)aValue { - var infoDictionary = [self infoForBinding:CPContentBinding], - options = [infoDictionary objectForKey:CPOptionsKey], + var options = [_info objectForKey:CPOptionsKey], insertNullValue = [options objectForKey:CPInsertsNullPlaceholderBindingOption], insertNull = [insertNullValue boolValue] ? 1 : 0, count = [aValue count]; - if (count + insertNull != [self numberOfItems]) + if (count + insertNull != [_source numberOfItems]) { - [self removeAllItems]; + [_source removeAllItems]; if (insertNull) { - var item = [[CPMenuItem alloc] initWithTitle:[self _getNullPlaceholderFromOptions:options] action:NULL keyEquivalent:nil]; - [self addItem:item]; + var item = [[CPMenuItem alloc] initWithTitle:[_source _getNullPlaceholderFromOptions:options] action:NULL keyEquivalent:nil]; + [_source addItem:item]; } for (var i = 0; i < count; i++) { var item = [[CPMenuItem alloc] initWithTitle:@"" action:NULL keyEquivalent:nil]; [item setRepresentedObject:[aValue objectAtIndex:i]]; - [self addItem:item]; + [_source addItem:item]; } } else { for (var i = 0; i < count; i++) { - [[self itemAtIndex:i + insertNull] setRepresentedObject:[aValue objectAtIndex:i]]; + [[_source itemAtIndex:i + insertNull] setRepresentedObject:[aValue objectAtIndex:i]]; } } - if (![self infoForBinding:CPContentValuesBinding]) + if (![_source infoForBinding:CPContentValuesBinding]) { if (insertNull) - [[self itemAtIndex:0] setTitle:[self _getNullPlaceholderFromOptions:options]]; + [[_source itemAtIndex:0] setTitle:[_source _getNullPlaceholderFromOptions:options]]; for (var i = 0; i < count; i++) - [[self itemAtIndex:i + insertNull] setTitle:[[aValue objectAtIndex:i] description]]; + [[_source itemAtIndex:i + insertNull] setTitle:[[aValue objectAtIndex:i] description]]; } } +- (CPArray)_content +{ + return [_source valueForKeyPath:@"itemArray.representedObject"]; +} + +@end + +@implementation _CPPopUpButtonContentValuesBinder : CPBinder +{ +} + +- (id)transformValue:(id)aValue withOptions:(CPDictionary)options +{ + CPLogConsole("Value Transformers are not supported yet for CP(Content|ContentObjects|ContentValues)Binding. Ignoring."); + return aValue; +} + +- (void)setValue:(id)aValue forBinding:(CPString)aBinding +{ + [self _setContentValues:aValue]; +} + +- (void)valueForBinding:(CPString)aBinding +{ + return [self _content]; +} + +- (void)_setContentValues:(CPArray)aValue +{ + var options = [_info objectForKey:CPOptionsKey], + insertNullValue = [options objectForKey:CPInsertsNullPlaceholderBindingOption], + insertNull = [insertNullValue boolValue] ? 1 : 0, + nullPlaceHolderValue = [_source _getNullPlaceholderFromOptions:options], + count = [aValue count]; + + if (count + insertNull != [_source numberOfItems]) + { + [_source removeAllItems]; + + if (insertNull) + [_source addItemWithTitle:nullPlaceHolderValue]; + + for (var i = 0; i < count; i++) + [_source addItemWithTitle:[_source _valueOrNilIfCPNull:[aValue objectAtIndex:i]]]; + } + else + { + if (insertNull) + [[_source itemAtIndex:0] setTitle:nullPlaceHolderValue]; + + for (var i = 0; i < count; i++) + [[_source itemAtIndex:i + insertNull] setTitle:[_source _valueOrNilIfCPNull:[aValue objectAtIndex:i]]]; + } + + [_source synchronizeTitleAndSelectedItem]; +} + +- (CPArray)_content +{ + return [_source valueForKeyPath:@"itemArray.title"]; +} + @end var binderForObject = {}, @@ -1053,4 +1097,4 @@ var DEPRECATED_CPPopUpButtonMenuKey = @"CPPopUpButtonMenuKey", return self; } -@end +@end \ No newline at end of file From f5160785106a30d9c7e926d0d314d6fd9c7c24a4 Mon Sep 17 00:00:00 2001 From: cacaodev Date: Fri, 6 Jul 2012 22:32:36 +0200 Subject: [PATCH 10/13] PR #1573 Support value transformers for CPContent and CPContentValues bindings. Made _CPPopUpContentValuesBinder a subclass of CPPopUpContentBinder and reuse setContent:. Fixed a bug in selectedIndex binding set and reverse set when insertsNull options is on. _CPPopUPSelectionBinder : simplified the code for getting the unique selection binder in use. ojunit and manual tests for contentvalues + value transformer. --- AppKit/CPPopUpButton.j | 192 ++++---- .../CPPopUpButtonBindings/AppController.j | 2 +- .../Resources/MainMenu.cib | 11 +- .../Resources/MainMenu.xib | 456 ++++++++---------- 4 files changed, 293 insertions(+), 368 deletions(-) diff --git a/AppKit/CPPopUpButton.j b/AppKit/CPPopUpButton.j index e50ccc4a2..870186443 100644 --- a/AppKit/CPPopUpButton.j +++ b/AppKit/CPPopUpButton.j @@ -20,11 +20,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -@import "CPButton.j" -@import "CPGeometry.j" -@import "CPKeyValueBinding.j" -@import "CPMenu.j" -@import "CPMenuItem.j" +@import +@import +@import +@import +@import var VISIBLE_MARGIN = 7.0; @@ -789,17 +789,23 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); return [super _binderClassForBinding:aBinding]; } -- (id)_valueOrNilIfCPNull:(id)aValue -{ - if (aValue === [CPNull null]) - return nil; +@end - return aValue; +@implementation _CPPopUpButtonContentBinder : CPBinder +{ } -- (id)_getNullPlaceholderFromOptions:(CPDictionary)someOptions +- (CPInteger)_getInsertNullOffset { - var placeholder = [someOptions objectForKey:CPNullPlaceholderBindingOption] || @""; + var options = [_info objectForKey:CPOptionsKey]; + + return [options objectForKey:CPInsertsNullPlaceholderBindingOption] ? 1 : 0; +} + +- (CPString)_getNullPlaceholder +{ + var options = [_info objectForKey:CPOptionsKey], + placeholder = [options objectForKey:CPNullPlaceholderBindingOption] || @""; if (placeholder === [CPNull null]) placeholder = @""; @@ -807,21 +813,16 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); return placeholder; } -@end - -@implementation _CPPopUpButtonContentBinder : CPBinder +- (id)transformValue:(CPArray)contentArray withOptions:(CPDictionary)options { + // Desactivate the full array transformation forced by super because we don't want this. We want individual transformations (see below). + return contentArray; } -- (id)transformValue:(id)aValue withOptions:(CPDictionary)options +- (void)setValue:(CPArray)contentArray forBinding:(CPString)aBinding { - CPLogConsole("Value Transformers are not supported yet for CP(Content|ContentObjects|ContentValues)Binding. Ignoring."); - return aValue; -} - -- (void)setValue:(id)aValue forBinding:(CPString)aBinding -{ - [self _setContent:aValue]; + [self _setContent:contentArray]; + [self _setContentValuesIfNeeded:contentArray]; } - (void)valueForBinding:(CPString)aBinding @@ -831,25 +832,21 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); - (void)_setContent:(CPArray)aValue { - var options = [_info objectForKey:CPOptionsKey], - insertNullValue = [options objectForKey:CPInsertsNullPlaceholderBindingOption], - insertNull = [insertNullValue boolValue] ? 1 : 0, - count = [aValue count]; + var count = [aValue count], + options = [_info objectForKey:CPOptionsKey], + offset = [self _getInsertNullOffset]; - if (count + insertNull != [_source numberOfItems]) + if (count + offset != [_source numberOfItems]) { [_source removeAllItems]; - if (insertNull) - { - var item = [[CPMenuItem alloc] initWithTitle:[_source _getNullPlaceholderFromOptions:options] action:NULL keyEquivalent:nil]; - [_source addItem:item]; - } + if (offset) + [_source addItemWithTitle:[self _getNullPlaceholder]]; for (var i = 0; i < count; i++) { var item = [[CPMenuItem alloc] initWithTitle:@"" action:NULL keyEquivalent:nil]; - [item setRepresentedObject:[aValue objectAtIndex:i]]; + [self _setValue:[aValue objectAtIndex:i] forItem:item withOptions:options]; [_source addItem:item]; } } @@ -857,20 +854,37 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); { for (var i = 0; i < count; i++) { - [[_source itemAtIndex:i + insertNull] setRepresentedObject:[aValue objectAtIndex:i]]; + [self _setValue:[aValue objectAtIndex:i] forItem:[_source itemAtIndex:i + offset] withOptions:options]; } } +} + +- (void)_setContentValuesIfNeeded:(CPArray)values +{ + var offset = [self _getInsertNullOffset]; if (![_source infoForBinding:CPContentValuesBinding]) { - if (insertNull) - [[_source itemAtIndex:0] setTitle:[_source _getNullPlaceholderFromOptions:options]]; + if (offset) + [[_source itemAtIndex:0] setTitle:[self _getNullPlaceholder]]; + var count = [values count]; for (var i = 0; i < count; i++) - [[_source itemAtIndex:i + insertNull] setTitle:[[aValue objectAtIndex:i] description]]; + [[_source itemAtIndex:i + offset] setTitle:[[values objectAtIndex:i] description]]; } } +- (void)_setValue:(id)aValue forItem:(CPMenuItem)aMenuItem withOptions:(CPDictionary)options +{ + var value = [self _transformValue:aValue withOptions:options]; + [aMenuItem setRepresentedObject:value]; +} + +- (id)_transformValue:(id)aValue withOptions:(CPDictionary)options +{ + return [super transformValue:aValue withOptions:options]; +} + - (CPArray)_content { return [_source valueForKeyPath:@"itemArray.representedObject"]; @@ -878,54 +892,22 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); @end -@implementation _CPPopUpButtonContentValuesBinder : CPBinder +@implementation _CPPopUpButtonContentValuesBinder : _CPPopUpButtonContentBinder { } -- (id)transformValue:(id)aValue withOptions:(CPDictionary)options -{ - CPLogConsole("Value Transformers are not supported yet for CP(Content|ContentObjects|ContentValues)Binding. Ignoring."); - return aValue; -} - - (void)setValue:(id)aValue forBinding:(CPString)aBinding { - [self _setContentValues:aValue]; + [super _setContent:aValue]; } -- (void)valueForBinding:(CPString)aBinding +- (void)_setValue:(id)aValue forItem:(CPMenuItem)aMenuItem withOptions:(CPDictionary)options { - return [self _content]; -} + if (aValue === [CPNull null]) + aValue = nil; -- (void)_setContentValues:(CPArray)aValue -{ - var options = [_info objectForKey:CPOptionsKey], - insertNullValue = [options objectForKey:CPInsertsNullPlaceholderBindingOption], - insertNull = [insertNullValue boolValue] ? 1 : 0, - nullPlaceHolderValue = [_source _getNullPlaceholderFromOptions:options], - count = [aValue count]; - - if (count + insertNull != [_source numberOfItems]) - { - [_source removeAllItems]; - - if (insertNull) - [_source addItemWithTitle:nullPlaceHolderValue]; - - for (var i = 0; i < count; i++) - [_source addItemWithTitle:[_source _valueOrNilIfCPNull:[aValue objectAtIndex:i]]]; - } - else - { - if (insertNull) - [[_source itemAtIndex:0] setTitle:nullPlaceHolderValue]; - - for (var i = 0; i < count; i++) - [[_source itemAtIndex:i + insertNull] setTitle:[_source _valueOrNilIfCPNull:[aValue objectAtIndex:i]]]; - } - - [_source synchronizeTitleAndSelectedItem]; + var value = [self _transformValue:aValue withOptions:options]; + [aMenuItem setTitle:value]; } - (CPArray)_content @@ -935,36 +917,29 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); @end -var binderForObject = {}, - selectionBindings = [CPSelectedIndexBinding, CPSelectedObjectBinding, CPSelectedTagBinding, CPSelectedValueBinding]; +var binderForObject = {}; @implementation _CPPopUpButtonSelectionBinder : CPBinder { - CPString _selectionBinding @accessors(property=binding); + CPString _selectionBinding @accessors; +} + +- (id)initWithBinding:(CPString)aBinding name:(CPString)aName to:(id)aDestination keyPath:(CPString)aKeyPath options:(CPDictionary)options from:(id)aSource +{ + self = [super initWithBinding:aBinding name:aName to:aDestination keyPath:aKeyPath options:options from:aSource]; + if (self) + { + binderForObject[[aSource UID]] = self; + _selectionBinding = aName; + } + + return self; } + (void)reverseSetValueForObject:(id)aSource { - var uid = [aSource UID], - binder = binderForObject[uid]; - - if (binder == nil) - { - var count = selectionBindings.length; - while (count--) - { - var binding = selectionBindings[count]; - binder = [self getBinding:binding forObject:aSource]; - if (binder != nil) - { - binderForObject[uid] = binder; - [binder setBinding:binding]; - break; - } - } - } - - [binder reverseSetValueFor:[binder binding]]; + var binder = binderForObject[[aSource UID]]; + [binder reverseSetValueFor:[binder _selectionBinding]]; } - (void)setPlaceholderValue:(id)aValue withMarker:(CPString)aMarker forBinding:(CPString)aBinding @@ -972,6 +947,14 @@ var binderForObject = {}, [self setValue:aValue forBinding:aBinding]; } +- (CPInteger)_getInsertNullOffset +{ + var info = [CPBinder infoForBinding:CPContentBinding forObject:_source]; + var options = [info objectForKey:CPOptionsKey]; + + return [options objectForKey:CPInsertsNullPlaceholderBindingOption] ? 1 : 0; +} + @end @implementation _CPPopUpButtonSelectedIndexBinder : _CPPopUpButtonSelectionBinder @@ -980,12 +963,12 @@ var binderForObject = {}, - (void)setValue:(id)aValue forBinding:(CPString)aBinding { - [_source selectItemAtIndex:aValue]; + [_source selectItemAtIndex:aValue + [self _getInsertNullOffset]]; } - (id)valueForBinding:(CPString)aBinding { - return [_source indexOfSelectedItem]; + return [_source indexOfSelectedItem] - [self _getInsertNullOffset]; } @end @@ -996,7 +979,8 @@ var binderForObject = {}, - (void)setValue:(id)aValue forBinding:(CPString)aBinding { - var index = [_source indexOfItemWithRepresentedObject:aValue]; + var index = [_source indexOfItemWithRepresentedObject:aValue], + offset = [self _getInsertNullOffset]; // If the content binding has the option CPNullPlaceholderBindingOption and the object to select is nil, select the first item (i.e., the placeholder). // Other cases to consider: @@ -1012,7 +996,7 @@ var binderForObject = {}, // 2.2.2 the object to select is nil/CPNull // More cases? Behaviour that depends on array controller settings? - if ([[[[CPBinder infoForBinding:CPContentBinding forObject:_source] objectForKey:CPOptionsKey] objectForKey:CPInsertsNullPlaceholderBindingOption] boolValue] && index === CPNotFound) + if (offset === 1 && index === CPNotFound) index = 0; [_source selectItemAtIndex:index]; diff --git a/Tests/Manual/CPPopUpButtonBindings/AppController.j b/Tests/Manual/CPPopUpButtonBindings/AppController.j index 7eda84695..25b2e8e45 100644 --- a/Tests/Manual/CPPopUpButtonBindings/AppController.j +++ b/Tests/Manual/CPPopUpButtonBindings/AppController.j @@ -7,7 +7,7 @@ */ @import -//@import "CPPopUpButton.j" +@import "CPPopUpButton.j" @implementation AppController : CPObject { diff --git a/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.cib b/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.cib index 7e92460dd..1ccc6430f 100644 --- a/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.cib +++ b/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.cib @@ -1,4 +1,7 @@ -280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;68E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;88E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;89E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;81E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;90E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;47E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;48E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;92E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;94E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;95E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;56E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;96E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;68E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;97E;E;D;K;10;$classnameS;21;CPCibBindingConnectorK;8;$classesA;S;21;CPCibBindingConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;102E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;103E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;104E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;106E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;107E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;108E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;110E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;61E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;111E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;113E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;116E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;104E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;117E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;119E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;120E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;121E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;122E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;98E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;99E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;103E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;104E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;127E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;81E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;129E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;130E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;131E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;132E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;48E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;133E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;134E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;47E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;137E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;139E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;141E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;117E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;142E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;59E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;143E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;144E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;58E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;146E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;147E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;88E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;42E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;148E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;149E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;150E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;151E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;152E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;45E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;154E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;154E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;166E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;170E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;164E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;172E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;166E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;170E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;164E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;174E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;161E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;166E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;166E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;170E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;164E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;175E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;176E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;177E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;178E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;179E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;180E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;182E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;183E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;53E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;54E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;184E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;184E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;184E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;184E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;166E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;166E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;166E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;185E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;153E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;153E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;186E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;187E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;189E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;191E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;51E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;192E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;153E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;193E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;194E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;194E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;189E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;190E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;195E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;51E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;196E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;153E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;197E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;55E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;182E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;198E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;198E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;182E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;170E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;199E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;12;$agrid-colorD;K;6;CP$UIDd;3;200E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;201E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;202E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;153E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;165E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;166E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;166E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;166E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;166E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;166E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;203E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;200E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;153E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;204E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;206E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;63E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;207E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;208E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;209E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;210E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;212E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;213E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;217E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;218E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;209E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;210E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;219E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;220E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;221E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;222E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;184E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;210E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;223E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;224E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;225E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;184E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;226E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;227E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;228E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;214E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;204E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;166E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;17;CPTableHeaderViewK;8;$classesA;S;17;CPTableHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;62E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;183E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;229E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;183E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;56E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;166E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;231E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;153E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;234E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;204E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;153E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;235E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;153E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;236E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;204E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;153E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;237E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;6;$afontD;K;6;CP$UIDd;3;163E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;153E;K;11;$aalignmentD;K;6;CP$UIDd;3;165E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;166E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;238E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;204E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;204E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;153E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;165E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;87E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;239E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;204E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;159E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;153E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;166E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;164E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;153E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;244E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;68E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;246E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;68E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;68E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;86E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;250E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;204E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;159E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;153E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;166E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;164E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;153E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;244E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;73E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;246E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;73E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;73E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;86E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;85E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;251E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;240E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;6;$afontD;K;6;CP$UIDd;3;243E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;153E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;165E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;204E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;159E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;153E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;166E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;164E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;153E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;244E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;77E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;246E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;248E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;77E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;77E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;245E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;85E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;252E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;82E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;253E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;166E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;204E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;166E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;204E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;166E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;166E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;166E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;204E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;204E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;84E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;254E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;257E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;43E;E;E;S;8;delegateS;10;emailLabelS;8;jobLabelS;10;mainWindowS;9;nameLabelS;21;ordersArrayControllerS;15;ordersTableViewS;8;tagPopUpS;24;content: arrangedObjectsS;7;contentS;15;arrangedObjectsD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;35;contentValues: arrangedObjects.nameS;13;contentValuesS;20;arrangedObjects.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;29;selectedValue: selection.nameS;13;selectedValueS;14;selection.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.tagS;5;valueS;19;arrangedObjects.tagD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;34;contentValues: arrangedObjects.jobS;19;arrangedObjects.jobD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;26;selectedTag: selection.tagS;11;selectedTagS;13;selection.tagD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;22;CPValidatesImmediatelyD;K;6;CP$UIDd;3;166E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;22;CPValueTransformerNameD;K;6;CP$UIDd;3;258E;E;E;S;29;selectedIndex: selectionIndexS;13;selectedIndexS;14;selectionIndexD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;20;contentArray: peopleS;12;contentArrayS;6;peopleD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;22;CPValidatesImmediatelyD;K;6;CP$UIDd;3;166E;E;E;S;20;value: selection.jobS;13;selection.jobD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;22;value: selection.emailS;15;selection.emailD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;21;value: selection.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.jobD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;28;value: arrangedObjects.emailS;21;arrangedObjects.emailD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;27;value: arrangedObjects.nameD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 278}, {951, 373}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {951, 373}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;E;E;S;6;normalS;22;{{14, 295}, {448, 29}}S;19;{{0, 0}, {448, 29}}d;2;12S;9;textfieldS;19;bezeled+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;162E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;259E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;159E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;204E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;204E;E;d;1;2d;1;4T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;260E;E;S;5;EmailS;22;{{14, 327}, {448, 29}}S;3;JobS;22;{{14, 263}, {448, 29}}S;4;NameS;22;{{-1, -1}, {461, 260}}S;20;{{0, 0}, {461, 260}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;185E;E;E;d;2;20S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;181E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;198E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;198E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;261E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;262E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;3;181E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;263E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;264E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;262E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;63E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;44E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;S;22;{{467, 15}, {15, 228}}S;19;{{0, 0}, {15, 228}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9382716049382716S;19;{{0, 0}, {482, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9938144329896907S;20;{{0, 0}, {461, 243}}S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;169E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;267E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;E;E;F;D;K;10;$classnameS;13;_CPCornerViewK;8;$classesA;S;13;_CPCornerViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;205E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;153E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;268E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;269E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;188E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;270E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;S;4;named;3;101d;2;40d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;271E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;272E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;175E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;273E;K;6;$afontD;K;6;CP$UIDd;3;275E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;277E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;d;1;3D;K;10;$classnameS;16;CPSortDescriptorK;8;$classesA;S;16;CPSortDescriptorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;22;CPSortDescriptorKeyKeyD;K;6;CP$UIDd;3;207E;K;28;CPSortDescriptorAscendingKeyD;K;6;CP$UIDd;3;166E;K;27;CPSortDescriptorSelectorKeyD;K;6;CP$UIDd;3;278E;E;S;5;emaild;3;150D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;279E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;272E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;171E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;273E;K;6;$afontD;K;6;CP$UIDd;3;280E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;281E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;S;3;jobd;3;106D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;282E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;272E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;173E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;273E;K;6;$afontD;K;6;CP$UIDd;3;283E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;284E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;d;2;92f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;211E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;285E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;272E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;153E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;286E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;160E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;273E;K;6;$afontD;K;6;CP$UIDd;3;287E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;165E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;164E;K;11;$aalignmentD;K;6;CP$UIDd;3;153E;K;15;$acontent-insetD;K;6;CP$UIDd;3;288E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;167E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;168E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;165E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;153E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;S;19;{{0, 0}, {461, 23}}S;14;tableHeaderRowS;22;{{496, 23}, {217, 42}}S;19;{{0, 0}, {217, 42}}d;2;33S;53;CPSelectedIndexBinding -arrangedObjects.selectionIndexS;22;{{496, 68}, {217, 42}}S;34;CPSelectedTagBinding -selection.tagS;23;{{496, 118}, {217, 42}}S;37;CPSelectedValueBinding -selection.nameS;22;{{729, 77}, {191, 24}}S;19;{{0, 0}, {191, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;162E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;259E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;159E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;166E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;204E;E;S;6;Item 1S;17;_popUpItemAction:d;1;1d;7;1048576S;6;Item 2S;6;Item 3S;22;{{729, 32}, {191, 24}}S;23;{{729, 127}, {191, 24}}S;13;AppControllerS;12;CPDictionaryS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;E;E;S;11;TransformerS;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;56E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;169E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;289E;E;S;21;{{0, 243}, {461, 17}}S;19;{{0, 0}, {461, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;63E;E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;290E;D;K;6;CP$UIDd;3;246E;E;E;S;22;{{467, 237}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;292E;E;E;S;12;columnHeaderS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;274E;K;4;nameD;K;6;CP$UIDd;3;293E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;294E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;276E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;295E;E;S;8;compare:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;296E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;274E;K;4;nameD;K;6;CP$UIDd;3;293E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;297E;E;D;K;6;$classD;K;6;CP$UIDd;3;276E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;298E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;274E;K;4;nameD;K;6;CP$UIDd;3;293E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;299E;E;D;K;6;$classD;K;6;CP$UIDd;3;276E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;300E;E;E;S;3;TagD;K;6;$classD;K;6;CP$UIDd;3;274E;K;4;nameD;K;6;CP$UIDd;3;293E;K;12;defaultValueD;K;6;CP$UIDd;3;163E;K;6;valuesD;K;6;CP$UIDd;3;301E;E;D;K;6;$classD;K;6;CP$UIDd;3;276E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;246E;E;E;f;3;0.5D;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;291E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;212E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;212E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;302E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;S;4;fontD;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;291E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;219E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;219E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;302E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;291E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;223E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;223E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;302E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;291E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;227E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;266E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;227E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;302E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;3;101E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;243E;K;6;normalD;K;6;CP$UIDd;3;163E;E;E;d;2;18E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;68E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;83E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;84E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;76E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;50E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;87E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;45E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;88E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;90E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;58E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;72E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;92E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;70E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;71E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;94E;E;D;K;10;$classnameS;21;CPCibBindingConnectorK;8;$classesA;S;21;CPCibBindingConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;95E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;96E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;97E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;99E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;101E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;102E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;103E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;104E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;105E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;106E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;107E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;63E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;108E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;110E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;111E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;72E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;112E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;113E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;114E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;72E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;116E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;101E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;117E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;95E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;96E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;97E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;100E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;101E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;102E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;68E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;121E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;122E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;123E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;78E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;76E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;127E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;50E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;129E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;130E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;132E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;133E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;51E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;135E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;106E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;62E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;117E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;61E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;139E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;140E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;26E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;60E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;78E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;142E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;109E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;102E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;143E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;83E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;44E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;144E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;145E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;146E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;147E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;148E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;47E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;46E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;150E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;150E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;153E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;154E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;47E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;159E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;160E;K;11;$aalignmentD;K;6;CP$UIDd;3;161E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;162E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;163E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;166E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;160E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;161E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;167E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;168E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;154E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;47E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;159E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;160E;K;11;$aalignmentD;K;6;CP$UIDd;3;161E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;162E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;163E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;166E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;160E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;161E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;169E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;170E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;154E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;47E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;159E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;160E;K;11;$aalignmentD;K;6;CP$UIDd;3;161E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;162E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;163E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;166E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;160E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;161E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;171E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;172E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;173E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;174E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;47E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;175E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;178E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;179E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;55E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;56E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;180E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;180E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;180E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;180E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;162E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;162E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;162E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;181E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;149E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;149E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;182E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;183E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;184E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;186E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;187E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;149E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;53E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;188E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;149E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;189E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;190E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;191E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;184E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;185E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;186E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;192E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;149E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;53E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;193E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;149E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;194E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;57E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;178E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;195E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;195E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;178E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;166E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;196E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;K;12;$agrid-colorD;K;6;CP$UIDd;3;197E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;198E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;199E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;149E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;161E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;162E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;162E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;162E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;162E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;162E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;200E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;197E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;149E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;201E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;203E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;65E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;59E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;204E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;205E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;206E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;207E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;209E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;210E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;211E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;201E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;162E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;3;213E;E;D;K;6;$classD;K;6;CP$UIDd;2;59E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;214E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;215E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;206E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;207E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;216E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;217E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;211E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;201E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;162E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;59E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;218E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;219E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;180E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;207E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;220E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;221E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;211E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;201E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;162E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;59E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;222E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;180E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;223E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;224E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;225E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;211E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;201E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;162E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;17;CPTableHeaderViewK;8;$classesA;S;17;CPTableHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;64E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;179E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;226E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;226E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;179E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;227E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;58E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;228E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;47E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;K;6;$afontD;K;6;CP$UIDd;3;159E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;149E;K;11;$aalignmentD;K;6;CP$UIDd;3;161E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;162E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;231E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;201E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;201E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;201E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;149E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;161E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;82E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;232E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;233E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;47E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;235E;K;6;$afontD;K;6;CP$UIDd;3;236E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;161E;K;11;$aalignmentD;K;6;CP$UIDd;3;149E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;237E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;201E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;155E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;149E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;162E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;160E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;149E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;238E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;239E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;47E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;16;$aimage-positionD;K;6;CP$UIDd;3;243E;K;6;$afontD;K;6;CP$UIDd;3;236E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;149E;K;11;$aalignmentD;K;6;CP$UIDd;3;160E;K;7;$aimageD;K;6;CP$UIDd;3;245E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;243E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;246E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;201E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;247E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;149E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;162E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;243E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;149E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;248E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;239E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;47E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;240E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;241E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;242E;K;16;$aimage-positionD;K;6;CP$UIDd;3;243E;K;6;$afontD;K;6;CP$UIDd;3;236E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;149E;K;11;$aalignmentD;K;6;CP$UIDd;3;160E;K;7;$aimageD;K;6;CP$UIDd;3;249E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;243E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;246E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;201E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;247E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;149E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;162E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;243E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;149E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;81E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;250E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;233E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;47E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;235E;K;6;$afontD;K;6;CP$UIDd;3;236E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;161E;K;11;$aalignmentD;K;6;CP$UIDd;3;149E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;237E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;201E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;155E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;149E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;162E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;160E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;149E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;67E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;2;80E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;251E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;233E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;47E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;235E;K;6;$afontD;K;6;CP$UIDd;3;236E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;161E;K;11;$aalignmentD;K;6;CP$UIDd;3;149E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;237E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;201E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;155E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;149E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;162E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;160E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;149E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;252E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;47E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;K;6;$afontD;K;6;CP$UIDd;3;159E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;149E;K;11;$aalignmentD;K;6;CP$UIDd;3;161E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;162E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;253E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;201E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;201E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;201E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;149E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;161E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;254E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;47E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;K;6;$afontD;K;6;CP$UIDd;3;159E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;149E;K;11;$aalignmentD;K;6;CP$UIDd;3;161E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;162E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;255E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;201E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;201E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;201E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;149E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;161E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;256E;E;D;K;10;$classnameS;17;CPArrayControllerK;8;$classesA;S;17;CPArrayControllerS;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;77E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;257E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;162E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;201E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;162E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;201E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;162E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;162E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;162E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;201E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;201E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;258E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;258E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;79E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;258E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;261E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;45E;E;E;S;8;delegateS;10;emailLabelS;8;jobLabelS;10;mainWindowS;9;nameLabelS;21;ordersArrayControllerS;15;ordersTableViewS;8;tagPopUpS;4;add:S;7;remove:S;24;content: arrangedObjectsS;7;contentS;15;arrangedObjectsD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;K;24;CPInsertsNullPlaceholderD;K;6;CP$UIDd;3;162E;E;E;S;35;contentValues: arrangedObjects.nameS;13;contentValuesS;20;arrangedObjects.nameD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;K;24;CPInsertsNullPlaceholderD;K;6;CP$UIDd;3;162E;E;E;S;29;selectedValue: selection.nameS;13;selectedValueS;14;selection.nameD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.tagS;5;valueS;19;arrangedObjects.tagD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;E;E;S;26;selectedTag: selection.tagS;11;selectedTagS;13;selection.tagD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;K;22;CPValidatesImmediatelyD;K;6;CP$UIDd;3;162E;E;E;S;34;contentValues: arrangedObjects.jobS;19;arrangedObjects.jobD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;K;22;CPValueTransformerNameD;K;6;CP$UIDd;3;262E;E;E;S;29;selectedIndex: selectionIndexS;13;selectedIndexS;14;selectionIndexD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;E;E;S;20;contentArray: peopleS;12;contentArrayS;6;peopleD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;K;22;CPValidatesImmediatelyD;K;6;CP$UIDd;3;162E;E;E;S;20;value: selection.jobS;13;selection.jobD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;E;E;S;22;value: selection.emailS;15;selection.emailD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;E;E;S;21;value: selection.nameD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;E;E;S;26;value: arrangedObjects.jobD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;E;E;S;28;value: arrangedObjects.emailS;21;arrangedObjects.emailD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;E;E;S;27;value: arrangedObjects.nameD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowS;25;{{335, 278}, {1074, 373}}d;1;7S;6;Windowd;1;0S;21;{{0, 0}, {1074, 373}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;E;E;S;6;normalS;22;{{14, 295}, {448, 29}}S;19;{{0, 0}, {448, 29}}d;2;12S;9;textfieldS;19;bezeled+placeholderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;158E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;263E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;155E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;201E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;201E;E;d;1;2d;1;4T;S;0;d;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;165E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;264E;E;S;5;EmailS;22;{{14, 327}, {448, 29}}S;3;JobS;22;{{14, 263}, {448, 29}}S;4;NameS;22;{{-1, -1}, {461, 206}}S;20;{{0, 0}, {461, 206}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;181E;E;E;d;2;20S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;177E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;195E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;195E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;265E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;184E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;266E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;3;177E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;267E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;268E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;269E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;184E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;266E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;65E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;2;46E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;270E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;E;S;23;{{467, -39}, {15, 228}}S;19;{{0, 0}, {15, 228}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9382716049382716S;21;{{0, -54}, {482, 15}}S;19;{{0, 0}, {482, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9938144329896907S;20;{{0, 0}, {461, 189}}S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;165E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;271E;E;d;2;23S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;E;E;F;D;K;10;$classnameS;13;_CPCornerViewK;8;$classesA;S;13;_CPCornerViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;202E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;272E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;273E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;184E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;274E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;E;S;4;named;3;101d;2;40d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;208E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;270E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;275E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;276E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;149E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;171E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;270E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;277E;K;6;$afontD;K;6;CP$UIDd;3;279E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;161E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;160E;K;11;$aalignmentD;K;6;CP$UIDd;3;149E;K;15;$acontent-insetD;K;6;CP$UIDd;3;281E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;163E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;161E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;149E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;163E;E;d;1;3D;K;10;$classnameS;16;CPSortDescriptorK;8;$classesA;S;16;CPSortDescriptorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;212E;K;22;CPSortDescriptorKeyKeyD;K;6;CP$UIDd;3;204E;K;28;CPSortDescriptorAscendingKeyD;K;6;CP$UIDd;3;162E;K;27;CPSortDescriptorSelectorKeyD;K;6;CP$UIDd;3;282E;E;S;5;emaild;3;150D;K;6;$classD;K;6;CP$UIDd;3;208E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;270E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;283E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;276E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;149E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;167E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;270E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;277E;K;6;$afontD;K;6;CP$UIDd;3;284E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;161E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;160E;K;11;$aalignmentD;K;6;CP$UIDd;3;149E;K;15;$acontent-insetD;K;6;CP$UIDd;3;285E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;163E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;161E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;149E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;163E;E;S;3;jobd;3;106D;K;6;$classD;K;6;CP$UIDd;3;208E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;270E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;286E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;276E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;149E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;169E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;270E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;277E;K;6;$afontD;K;6;CP$UIDd;3;287E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;161E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;160E;K;11;$aalignmentD;K;6;CP$UIDd;3;149E;K;15;$acontent-insetD;K;6;CP$UIDd;3;288E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;163E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;161E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;149E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;163E;E;d;2;92f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;208E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;270E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;289E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;276E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;149E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;290E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;270E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;156E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;277E;K;6;$afontD;K;6;CP$UIDd;3;291E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;161E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;160E;K;11;$aalignmentD;K;6;CP$UIDd;3;149E;K;15;$acontent-insetD;K;6;CP$UIDd;3;292E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;163E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;164E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;161E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;149E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;163E;E;S;19;{{0, 0}, {461, 23}}S;14;tableHeaderRowS;22;{{551, 23}, {285, 51}}S;19;{{0, 0}, {285, 51}}d;2;33S;110;Binding: CPSelectedIndexBinding +KeyPath: arrangedObjects.selectionIndex +ContentValues Transformer: TransformerS;22;{{852, 32}, {191, 24}}S;19;{{0, 0}, {191, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;158E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;263E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;155E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;201E;E;d;2;-1S;22;{{423, 204}, {35, 24}}S;18;{{0, 0}, {35, 24}}d;2;36S;6;buttonS;17;selected+borderedd;1;1D;K;10;$classnameS;20;_CPCibCustomResourceK;8;$classesA;S;20;_CPCibCustomResourceS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;244E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;293E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;294E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;295E;E;S;15;Gradient Buttond;2;14S;22;{{389, 204}, {35, 24}}D;K;6;$classD;K;6;CP$UIDd;3;244E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;293E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;296E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;297E;E;S;23;{{852, 107}, {191, 24}}S;23;{{852, 184}, {191, 24}}S;22;{{551, 93}, {285, 51}}S;70;Binding: CPSelectedTagBinding +KeyPath: selection.tag +Transformer: NoneS;23;{{551, 161}, {285, 51}}S;73;Binding: CPSelectedValueBinding +KeyPath: selection.name +Transformer: NoneS;13;AppControllerS;12;CPDictionaryS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;TransformerS;17;Arial, sans-serifD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;243E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;58E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;165E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;298E;E;S;21;{{0, 189}, {461, 17}}S;19;{{0, 0}, {461, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;65E;E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;299E;D;K;6;CP$UIDd;3;299E;D;K;6;CP$UIDd;3;299E;D;K;6;CP$UIDd;3;243E;E;E;S;22;{{467, 183}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;301E;E;E;S;12;columnHeaderS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;278E;K;4;nameD;K;6;CP$UIDd;3;302E;K;12;defaultValueD;K;6;CP$UIDd;3;159E;K;6;valuesD;K;6;CP$UIDd;3;303E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;280E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;304E;E;S;8;compare:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;305E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;278E;K;4;nameD;K;6;CP$UIDd;3;302E;K;12;defaultValueD;K;6;CP$UIDd;3;159E;K;6;valuesD;K;6;CP$UIDd;3;306E;E;D;K;6;$classD;K;6;CP$UIDd;3;280E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;304E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;307E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;278E;K;4;nameD;K;6;CP$UIDd;3;302E;K;12;defaultValueD;K;6;CP$UIDd;3;159E;K;6;valuesD;K;6;CP$UIDd;3;308E;E;D;K;6;$classD;K;6;CP$UIDd;3;280E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;304E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;309E;E;E;S;3;TagD;K;6;$classD;K;6;CP$UIDd;3;278E;K;4;nameD;K;6;CP$UIDd;3;302E;K;12;defaultValueD;K;6;CP$UIDd;3;159E;K;6;valuesD;K;6;CP$UIDd;3;310E;E;D;K;6;$classD;K;6;CP$UIDd;3;280E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;304E;E;S;7;CPImageS;13;CPAddTemplateD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;311E;E;E;S;16;CPRemoveTemplateD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;312E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;243E;E;E;f;3;0.5D;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;300E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;209E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;270E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;209E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;313E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;E;S;4;fontD;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;236E;K;6;normalD;K;6;CP$UIDd;3;159E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;300E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;216E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;270E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;216E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;313E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;236E;K;6;normalD;K;6;CP$UIDd;3;159E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;300E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;220E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;270E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;220E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;313E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;236E;K;6;normalD;K;6;CP$UIDd;3;159E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;300E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;224E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;270E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;224E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;313E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;236E;K;6;normalD;K;6;CP$UIDd;3;159E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;280E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;3;280E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;314E;E;d;2;18S;22;{"width":0,"height":0}E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.xib b/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.xib index 625fb7078..24b533bab 100644 --- a/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.xib +++ b/Tests/Manual/CPPopUpButtonBindings/Resources/MainMenu.xib @@ -12,9 +12,10 @@ NSArrayController + NSButton + NSButtonCell NSCustomObject NSMenu - NSMenuItem NSPopUpButton NSPopUpButtonCell NSScrollView @@ -47,7 +48,7 @@ 7 2 - {{335, 377}, {951, 373}} + {{335, 377}, {1074, 373}} 1946157056 Window NSWindow @@ -68,7 +69,7 @@ 256 - {461, 243} + {461, 189} @@ -268,7 +269,7 @@ 1 - {{0, 17}, {461, 243}} + {{0, 17}, {461, 189}} @@ -315,7 +316,7 @@ - {{-1, 114}, {461, 260}} + {{-1, 168}, {461, 206}} @@ -400,10 +401,10 @@ 265 - {{728, 315}, {197, 26}} + {{851, 315}, {197, 26}} - + YES -2076049856 @@ -416,54 +417,14 @@ 400 75 - - - Item 1 - - 1048576 - 2147483647 - 1 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - _popUpItemAction: - - + YES OtherViews - - - - - Item 2 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Item 3 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - + + -1 1 YES YES @@ -473,10 +434,10 @@ 265 - {{728, 270}, {197, 26}} + {{851, 240}, {197, 26}} - + _NS:9 YES @@ -491,48 +452,14 @@ 400 75 - - - Item 1 - - 1048576 - 2147483647 - 1 - - - _popUpItemAction: - - + YES OtherViews - - - - - Item 2 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Item 3 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - + + -1 1 YES YES @@ -542,7 +469,7 @@ 265 - {{728, 220}, {197, 26}} + {{851, 163}, {197, 26}} @@ -560,48 +487,14 @@ 400 75 - - - Item 1 - - 1048576 - 2147483647 - 1 - - - _popUpItemAction: - - + YES OtherViews - - - - - Item 2 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Item 3 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - + + -1 1 YES YES @@ -611,7 +504,7 @@ 265 - {{496, 308}, {217, 42}} + {{551, 299}, {285, 51}} @@ -620,7 +513,8 @@ 67108864 272629760 - Q1BTZWxlY3RlZEluZGV4QmluZGluZwphcnJhbmdlZE9iamVjdHMuc2VsZWN0aW9uSW5kZXg + QmluZGluZzogQ1BTZWxlY3RlZEluZGV4QmluZGluZwpLZXlQYXRoOiBhcnJhbmdlZE9iamVjdHMuc2Vs +ZWN0aW9uSW5kZXgKQ29udGVudFZhbHVlcyBUcmFuc2Zvcm1lcjogVHJhbnNmb3JtZXI _NS:1549 @@ -633,48 +527,106 @@ - + + + 268 + {{425, 145}, {35, 23}} + + + + _NS:22 + YES + + -2080374784 + 134217728 + Gradient Button + + _NS:22 + + -2033958912 + 162 + + NSImage + NSAddTemplate + + + + 400 + 75 + + + + + 268 + {{391, 145}, {35, 23}} + + + + _NS:22 + YES + + -2080374784 + 134217728 + Gradient Button + + _NS:22 + + -2033958912 + 162 + + NSImage + NSRemoveTemplate + + + + 400 + 75 + + + 265 - {{496, 263}, {217, 42}} + {{551, 229}, {285, 51}} _NS:1549 YES - + 67108864 272629760 - Q1BTZWxlY3RlZFRhZ0JpbmRpbmcKc2VsZWN0aW9uLnRhZw + QmluZGluZzogQ1BTZWxlY3RlZFRhZ0JpbmRpbmcKS2V5UGF0aDogc2VsZWN0aW9uLnRhZwpUcmFuc2Zv +cm1lcjogTm9uZQ _NS:1549 - + - + 265 - {{496, 213}, {217, 42}} + {{551, 161}, {285, 51}} _NS:1549 YES - + 67108864 272629760 - Q1BTZWxlY3RlZFZhbHVlQmluZGluZwpzZWxlY3Rpb24ubmFtZQ + QmluZGluZzogQ1BTZWxlY3RlZFZhbHVlQmluZGluZwpLZXlQYXRoOiBzZWxlY3Rpb24ubmFtZQpUcmFu +c2Zvcm1lcjogTm9uZQ _NS:1549 - + - {951, 373} + {1074, 373} @@ -884,6 +836,22 @@ 578 + + + add: + + + + 624 + + + + remove: + + + + 625 + content: arrangedObjects @@ -938,38 +906,21 @@ 619 - - - content: arrangedObjects - - - - - - content: arrangedObjects - content - arrangedObjects - 2 - - - 590 - contentValues: arrangedObjects.job - + contentValues: arrangedObjects.job contentValues arrangedObjects.job - 2 - 592 + 630 @@ -986,11 +937,10 @@ NSValidatesImmediately - 2 - 617 + 631 @@ -1013,33 +963,41 @@ content: arrangedObjects - + content: arrangedObjects content arrangedObjects + + NSInsertsNullPlaceholder + + 2 - 606 + 632 contentValues: arrangedObjects.name - + contentValues: arrangedObjects.name contentValues arrangedObjects.name - + + NSInsertsNullPlaceholder + + + 2 - 608 + 633 @@ -1052,11 +1010,11 @@ selectedValue: selection.name selectedValue selection.name - + 2 - 610 + 634 @@ -1102,11 +1060,13 @@ - - - + + + + + @@ -1254,28 +1214,9 @@ 530 - - - - - + - - 531 - - - - - 532 - - - - - 533 - - - 584 @@ -1295,28 +1236,9 @@ 586 - - - - - + - - 587 - - - - - 588 - - - - - 589 - - - 595 @@ -1349,28 +1271,9 @@ 602 - - - - - + - - 603 - - - - - 604 - - - - - 605 - - - 611 @@ -1385,30 +1288,56 @@ - 613 - + 620 + - + - 614 - - + 621 + + - 615 - + 622 + - + - 616 - - + 623 + + + + + 626 + + + + + + + + 627 + + + + + 628 + + + + + + + + 629 + + @@ -1442,41 +1371,50 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - 619 + 634 AppController NSObject + + NSWindow + NSPopUpButton + + + + mainWindow + NSWindow + + + tagPopUp + NSPopUpButton + + IBProjectSource ./Classes/AppController.h @@ -1489,8 +1427,8 @@ YES 3 - {11, 11} - {10, 3} + {8, 8} + {8, 8} From 2184c7ca4daa684beadb63ad147f274e6ecac213 Mon Sep 17 00:00:00 2001 From: Martin Carlberg Date: Mon, 23 Jul 2012 12:12:55 +0200 Subject: [PATCH 11/13] Fixed code format issues --- AppKit/CPPopUpButton.j | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/AppKit/CPPopUpButton.j b/AppKit/CPPopUpButton.j index f840c2360..98f837d4c 100644 --- a/AppKit/CPPopUpButton.j +++ b/AppKit/CPPopUpButton.j @@ -878,6 +878,7 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); [[_source itemAtIndex:0] setTitle:[self _getNullPlaceholder]]; var count = [values count]; + for (var i = 0; i < count; i++) [[_source itemAtIndex:i + offset] setTitle:[[values objectAtIndex:i] description]]; } @@ -936,6 +937,7 @@ var binderForObject = {}; - (id)initWithBinding:(CPString)aBinding name:(CPString)aName to:(id)aDestination keyPath:(CPString)aKeyPath options:(CPDictionary)options from:(id)aSource { self = [super initWithBinding:aBinding name:aName to:aDestination keyPath:aKeyPath options:options from:aSource]; + if (self) { binderForObject[[aSource UID]] = self; @@ -958,8 +960,7 @@ var binderForObject = {}; - (CPInteger)_getInsertNullOffset { - var info = [CPBinder infoForBinding:CPContentBinding forObject:_source]; - var options = [info objectForKey:CPOptionsKey]; + var options = [[CPBinder infoForBinding:CPContentBinding forObject:_source] objectForKey:CPOptionsKey]; return [options objectForKey:CPInsertsNullPlaceholderBindingOption] ? 1 : 0; } From a688a3de79279936e5a7c8203f4c8c21d7d0eafe Mon Sep 17 00:00:00 2001 From: Martin Carlberg Date: Mon, 23 Jul 2012 12:14:53 +0200 Subject: [PATCH 12/13] Added test case for selectedIndex binding with CPInsertsNullPlaceholderBindingOption --- Tests/AppKit/CPPopUpButtonTest.j | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/Tests/AppKit/CPPopUpButtonTest.j b/Tests/AppKit/CPPopUpButtonTest.j index 1e87a7616..b31366a42 100644 --- a/Tests/AppKit/CPPopUpButtonTest.j +++ b/Tests/AppKit/CPPopUpButtonTest.j @@ -408,7 +408,7 @@ malte = [CPDictionary dictionaryWithJSObject:{@"name": @"Malte"}], johan = [CPDictionary dictionaryWithJSObject:{@"name": @"Johan"}], menuObjects = [martin, malte, johan]; - + [arrayController setContent:menuObjects]; [button bind:CPContentBinding toObject:arrayController withKeyPath:@"arrangedObjects" options:nil]; @@ -419,6 +419,35 @@ [self assert:@"Transformed-Malte" equals:[[[self button] itemAtIndex:1] title]]; } +- (void)testSelectedIndexBindingWithInsertsNullOption +{ + var arrayController = [[CPArrayController alloc] init], + testObject = [CPMutableDictionary dictionary], + martin = @"Martin", + malte = @"Malte", + johan = @"Johan", + menuObjects = [martin, malte, johan], + insertsNullPlaceholderOption = [CPDictionary dictionaryWithObjects:[YES, @"Null Placeholder"] forKeys:[CPInsertsNullPlaceholderBindingOption, CPNullPlaceholderBindingOption]]; + + [arrayController setContent:menuObjects]; + [button bind:CPContentBinding toObject:arrayController withKeyPath:@"arrangedObjects" options:insertsNullPlaceholderOption]; + [button bind:CPSelectedIndexBinding toObject:testObject withKeyPath:@"index" options:nil]; + + [[self button] selectItemWithTitle:@"Martin"]; + [[self button] sendAction:@selector(actionTest:) to:self]; // This has to be done to trigger the reverse set of the binding + [self assert:0 equals:[testObject objectForKey:@"index"]]; + [[self button] selectItemWithTitle:@"Malte"]; + [[self button] sendAction:@selector(actionTest:) to:self]; + [self assert:1 equals:[testObject objectForKey:@"index"]]; + [[self button] selectItemWithTitle:@"Johan"]; + [[self button] sendAction:@selector(actionTest:) to:self]; + [self assert:2 equals:[testObject objectForKey:@"index"]]; + + [[self button] selectItemWithTitle:@"Null Placeholder"]; + [[self button] sendAction:@selector(actionTest:) to:self]; + [self assert:-1 equals:[testObject objectForKey:@"index"]]; +} + - (void)actionTest:(id)sender { } From 5456bad23d013266df5dc65e5905a588df7aee8f Mon Sep 17 00:00:00 2001 From: cacaodev Date: Mon, 23 Jul 2012 14:59:48 +0200 Subject: [PATCH 13/13] Remove unwanted import in AppController test app --- Tests/Manual/CPPopUpButtonBindings/AppController.j | 1 - 1 file changed, 1 deletion(-) diff --git a/Tests/Manual/CPPopUpButtonBindings/AppController.j b/Tests/Manual/CPPopUpButtonBindings/AppController.j index 25b2e8e45..f90914de8 100644 --- a/Tests/Manual/CPPopUpButtonBindings/AppController.j +++ b/Tests/Manual/CPPopUpButtonBindings/AppController.j @@ -7,7 +7,6 @@ */ @import -@import "CPPopUpButton.j" @implementation AppController : CPObject {