diff --git a/.gitignore b/.gitignore index 9d53e1758..11a5e1abf 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ xcuserdata/ Tests/Manual/**/*.xcodeproj *.sublime-project *.sublime-workspace +*.tm_properties diff --git a/AppKit/CPAlert.j b/AppKit/CPAlert.j index cbd40cfe6..2dec01211 100644 --- a/AppKit/CPAlert.j +++ b/AppKit/CPAlert.j @@ -44,6 +44,7 @@ var CPAlertDelegate_alertShowHelp_ = 1 << 0, CPAlertDelegate_alertDidEnd_returnCode_ = 1 << 1; +@typedef CPAlertStyle /* @global @group CPAlertStyle @@ -70,6 +71,54 @@ var bottomHeight = 71; @end + +@implementation _CPAlertThemeView : CPView + ++ (CPString)defaultThemeClass +{ + return @"alert"; +} + ++ (CPDictionary)themeAttributes +{ + return @{ + @"size": CGSizeMake(400.0, 110.0), + @"content-inset": CGInsetMake(15, 15, 15, 50), + @"informative-offset": 6, + @"button-offset": 10, + @"message-text-alignment": CPJustifiedTextAlignment, + @"message-text-color": [CPColor blackColor], + @"message-text-font": [CPFont boldSystemFontOfSize:13.0], + @"message-text-shadow-color": [CPNull null], + @"message-text-shadow-offset": CGSizeMakeZero(), + @"informative-text-alignment": CPJustifiedTextAlignment, + @"informative-text-color": [CPColor blackColor], + @"informative-text-font": [CPFont systemFontOfSize:12.0], + @"informative-text-shadow-color": [CPNull null], + @"informative-text-shadow-offset": CGSizeMakeZero(), + @"image-offset": CGPointMake(15, 12), + @"information-image": [CPNull null], + @"warning-image": [CPNull null], + @"error-image": [CPNull null], + @"help-image": [CPNull null], + @"help-image-left-offset": 15, + @"help-image-pressed": [CPNull null], + @"suppression-button-y-offset": 0.0, + @"suppression-button-x-offset": 0.0, + @"default-elements-margin": 3.0, + @"suppression-button-text-color": [CPColor blackColor], + @"suppression-button-text-font": [CPFont systemFontOfSize:12.0], + @"suppression-button-text-shadow-color": [CPNull null], + @"suppression-button-text-shadow-offset": 0.0, + @"modal-window-button-margin-y": 0.0, + @"modal-window-button-margin-x": 0.0, + @"standard-window-button-margin-y": 0.0, + @"standard-window-button-margin-x": 0.0, + }; +} + +@end + /*! @ingroup appkit @@ -813,51 +862,3 @@ var bottomHeight = 71; } @end - - -@implementation _CPAlertThemeView : CPView - -+ (CPString)defaultThemeClass -{ - return @"alert"; -} - -+ (CPDictionary)themeAttributes -{ - return @{ - @"size": CGSizeMake(400.0, 110.0), - @"content-inset": CGInsetMake(15, 15, 15, 50), - @"informative-offset": 6, - @"button-offset": 10, - @"message-text-alignment": CPJustifiedTextAlignment, - @"message-text-color": [CPColor blackColor], - @"message-text-font": [CPFont boldSystemFontOfSize:13.0], - @"message-text-shadow-color": [CPNull null], - @"message-text-shadow-offset": CGSizeMakeZero(), - @"informative-text-alignment": CPJustifiedTextAlignment, - @"informative-text-color": [CPColor blackColor], - @"informative-text-font": [CPFont systemFontOfSize:12.0], - @"informative-text-shadow-color": [CPNull null], - @"informative-text-shadow-offset": CGSizeMakeZero(), - @"image-offset": CGPointMake(15, 12), - @"information-image": [CPNull null], - @"warning-image": [CPNull null], - @"error-image": [CPNull null], - @"help-image": [CPNull null], - @"help-image-left-offset": 15, - @"help-image-pressed": [CPNull null], - @"suppression-button-y-offset": 0.0, - @"suppression-button-x-offset": 0.0, - @"default-elements-margin": 3.0, - @"suppression-button-text-color": [CPColor blackColor], - @"suppression-button-text-font": [CPFont systemFontOfSize:12.0], - @"suppression-button-text-shadow-color": [CPNull null], - @"suppression-button-text-shadow-offset": 0.0, - @"modal-window-button-margin-y": 0.0, - @"modal-window-button-margin-x": 0.0, - @"standard-window-button-margin-y": 0.0, - @"standard-window-button-margin-x": 0.0, - }; -} - -@end diff --git a/AppKit/CPAnimation.j b/AppKit/CPAnimation.j index 903cf3c2e..bef308b74 100644 --- a/AppKit/CPAnimation.j +++ b/AppKit/CPAnimation.j @@ -42,25 +42,10 @@ var CPAnimationDelegate_animationShouldStart_ = 1 << 1, CPAnimationDelegate_animationDidEnd_ = 1 << 3, CPAnimationDelegate_animationDidStop_ = 1 << 4; -/* - @global - @group CPAnimationCurve -*/ +@typedef CPAnimationCurve CPAnimationEaseInOut = 0; -/* - @global - @group CPAnimationCurve -*/ CPAnimationEaseIn = 1; -/* - @global - @group CPAnimationCurve -*/ CPAnimationEaseOut = 2; -/* - @global - @group CPAnimationCurve -*/ CPAnimationLinear = 3; ACTUAL_FRAME_RATE = 0; diff --git a/AppKit/CPApplication.j b/AppKit/CPApplication.j index f26e3b648..27f0e3367 100644 --- a/AppKit/CPApplication.j +++ b/AppKit/CPApplication.j @@ -37,6 +37,8 @@ @import "CPWindowController.j" @import "_CPPopoverWindow.j" +@typedef CPModalSession + var CPMainCibFile = @"CPMainCibFile", CPMainCibFileHumanFriendly = @"Main cib file base name", CPEventModifierFlags = 0; @@ -448,7 +450,7 @@ var CPMainCibFile = @"CPMainCibFile", [CPPlatform activateIgnoringOtherApps:shouldIgnoreOtherApps]; _isActive = YES; - [self _willResignActive]; + [self _didBecomeActive]; } - (void)deactivate @@ -986,7 +988,9 @@ var CPMainCibFile = @"CPMainCibFile", return; } - [aSheet._windowView _enableSheet:YES inWindow:aWindow]; + if (![aWindow attachedSheet]) + [aSheet._windowView _enableSheet:YES inWindow:aWindow]; + [aWindow _attachSheet:aSheet modalDelegate:aModalDelegate didEndSelector:didEndSelector contextInfo:contextInfo]; } @@ -1173,7 +1177,7 @@ var CPMainCibFile = @"CPMainCibFile", [[self keyWindow] orderFront:self]; else if ([self mainWindow]) [[self mainWindow] makeKeyAndOrderFront:self]; - else + else if ([self mainMenu]) [[self mainMenu]._menuWindow makeKeyWindow]; //FIXME this may not actually work _previousKeyWindow = nil; diff --git a/AppKit/CPArrayController.j b/AppKit/CPArrayController.j index 0b25334d9..67e2f681e 100644 --- a/AppKit/CPArrayController.j +++ b/AppKit/CPArrayController.j @@ -23,7 +23,7 @@ */ @import - +@import @import "CPObjectController.j" @import "CPKeyValueBinding.j" diff --git a/AppKit/CPBox.j b/AppKit/CPBox.j index dc10564ff..29d0b3a08 100644 --- a/AppKit/CPBox.j +++ b/AppKit/CPBox.j @@ -24,6 +24,7 @@ @import "CPView.j" // CPBoxType +@typedef CPBoxType CPBoxPrimary = 0; CPBoxSecondary = 1; CPBoxSeparator = 2; @@ -31,12 +32,14 @@ CPBoxOldStyle = 3; CPBoxCustom = 4; // CPBorderType +@typedef CPBorderType CPNoBorder = 0; CPLineBorder = 1; CPBezelBorder = 2; CPGrooveBorder = 3; // CPTitlePosition +@typedef CPTitlePosition CPNoTitle = 0; CPAboveTop = 1; CPAtTop = 2; diff --git a/AppKit/CPButton.j b/AppKit/CPButton.j index 8365d76c7..26c17edaa 100644 --- a/AppKit/CPButton.j +++ b/AppKit/CPButton.j @@ -29,8 +29,7 @@ @import "CPWindow_Constants.j" /* @group CPBezelStyle */ - - // IB style +@typedef CPBezelStyle CPRoundedBezelStyle = 1; // Push CPRegularSquareBezelStyle = 2; // Bevel CPThickSquareBezelStyle = 3; @@ -49,6 +48,7 @@ CPHUDBezelStyle = -1; /* @group CPButtonType */ +@typedef CPButtonType CPMomentaryLightButton = 0; CPPushOnPushOffButton = 1; CPToggleButton = 2; diff --git a/AppKit/CPButtonBar.j b/AppKit/CPButtonBar.j index 4dd9db247..47f869597 100644 --- a/AppKit/CPButtonBar.j +++ b/AppKit/CPButtonBar.j @@ -28,6 +28,8 @@ @global CPPopUpButtonStatePullsDown @global CPKeyValueChangeOldKey @global CPKeyValueChangeNewKey +@global CPKeyValueObservingOptionNew +@global CPKeyValueObservingOptionOld @implementation CPButtonBar : CPView { @@ -131,13 +133,17 @@ - (void)setButtons:(CPArray)buttons { for (var i = [_buttons count] - 1; i >= 0; i--) + { + [_buttons[i] removeFromSuperview]; [_buttons[i] removeObserver:self forKeyPath:@"hidden"]; + } + _buttons = [CPArray arrayWithArray:buttons]; for (var i = [_buttons count] - 1; i >= 0; i--) { - [_buttons[i] addObserver:self forKeyPath:@"hidden" options:nil context:nil]; + [_buttons[i] addObserver:self forKeyPath:@"hidden" options:CPKeyValueObservingOptionNew | CPKeyValueObservingOptionOld context:nil]; [_buttons[i] setBordered:YES]; } @@ -228,10 +234,11 @@ { var button = buttonsNotHidden[count]; - [button removeFromSuperview]; - if ([button isHidden]) + { + [button removeFromSuperview]; [buttonsNotHidden removeObject:button]; + } } var currentButtonOffset = _resizeControlIsLeftAligned ? CGRectGetMaxX([self bounds]) + 1 : -1, diff --git a/AppKit/CPCheckBox.j b/AppKit/CPCheckBox.j index 4e41e52e6..ab674775b 100644 --- a/AppKit/CPCheckBox.j +++ b/AppKit/CPCheckBox.j @@ -111,6 +111,30 @@ CPCheckBoxImageOffset = 4.0; return startedTracking; } + +#pragma mark - +#pragma mark Override methods from CPButton + +- (CGSize)_minimumFrameSize +{ + var size = [super _minimumFrameSize], + contentView = [self ephemeralSubviewNamed:@"content-view"]; + + if (!contentView && [[self title] length]) + { + var minSize = [self currentValueForThemeAttribute:@"min-size"], + maxSize = [self currentValueForThemeAttribute:@"max-size"]; + + // Here we always add the min size to the control which is the size of the view of the checkBox + size.width += minSize.width + CPCheckBoxImageOffset; + + if (maxSize.width >= 0.0) + size.width = MIN(size.width, maxSize.width); + } + + return size; +} + @end @implementation _CPCheckBoxValueBinder : CPBinder diff --git a/AppKit/CPClipView.j b/AppKit/CPClipView.j index 7cc52d2bc..93f8aacd6 100644 --- a/AppKit/CPClipView.j +++ b/AppKit/CPClipView.j @@ -46,49 +46,12 @@ return; if (_documentView) - { - var defaultCenter = [CPNotificationCenter defaultCenter]; - - [defaultCenter - removeObserver:self - name:CPViewFrameDidChangeNotification - object:_documentView]; - - [defaultCenter - removeObserver:self - name:CPViewBoundsDidChangeNotification - object:_documentView]; - [_documentView removeFromSuperview]; - } _documentView = aView; if (_documentView) - { [self addSubview:_documentView]; - [self _observeDocumentView]; - } -} - -- (void)_observeDocumentView -{ - var defaultCenter = [CPNotificationCenter defaultCenter]; - - [_documentView setPostsFrameChangedNotifications:YES]; - [_documentView setPostsBoundsChangedNotifications:YES]; - - [defaultCenter - addObserver:self - selector:@selector(viewFrameChanged:) - name:CPViewFrameDidChangeNotification - object:_documentView]; - - [defaultCenter - addObserver:self - selector:@selector(viewBoundsChanged:) - name:CPViewBoundsDidChangeNotification - object:_documentView]; } /*! @@ -249,7 +212,6 @@ var CPClipViewDocumentViewKey = @"CPScrollViewDocumentView"; // Don't call setDocumentView: here. It calls addSubview:, but it's A) not necessary since the // view hierarchy is fully encoded and B) dangerous if the subview is not fully decoded. _documentView = [aCoder decodeObjectForKey:CPClipViewDocumentViewKey]; - [self _observeDocumentView]; } return self; diff --git a/AppKit/CPCollectionView.j b/AppKit/CPCollectionView.j index 40b1ffa03..943c05a30 100644 --- a/AppKit/CPCollectionView.j +++ b/AppKit/CPCollectionView.j @@ -32,6 +32,7 @@ @import "CPPasteboard.j" @import "CPView.j" +@class _CPCollectionViewDropIndicator var CPCollectionViewDelegate_collectionView_acceptDrop_index_dropOperation_ = 1 << 0, CPCollectionViewDelegate_collectionView_canDragItemsAtIndexes_withEvent_ = 1 << 1, @@ -608,7 +609,7 @@ var HORIZONTAL_MARGIN = 2; height = MAX(height, numberOfRows * (_minItemSize.height + _verticalMargin)); - var itemSizeHeight = FLOOR(height / numberOfRows); + var itemSizeHeight = FLOOR(height / numberOfRows) - _verticalMargin; if (maxItemSizeHeight > 0) itemSizeHeight = MIN(itemSizeHeight, maxItemSizeHeight); diff --git a/AppKit/CPColorPanel.j b/AppKit/CPColorPanel.j index af6bf3e1d..7d847a30f 100644 --- a/AppKit/CPColorPanel.j +++ b/AppKit/CPColorPanel.j @@ -27,6 +27,9 @@ @import "CPView.j" @class CPSlider +@class _CPColorPanelToolbar +@class _CPColorPanelSwatches +@class _CPColorPanelPreview @global CPApp diff --git a/AppKit/CPColorPicker.j b/AppKit/CPColorPicker.j index 14aed7793..ea3afcd88 100644 --- a/AppKit/CPColorPicker.j +++ b/AppKit/CPColorPicker.j @@ -25,6 +25,8 @@ @import "CPView.j" @class CPSlider +@class CPColorPanel +@class __CPColorWheel @global CPColorPickerViewWidth @global CPColorPickerViewHeight diff --git a/AppKit/CPColorWell.j b/AppKit/CPColorWell.j index 8d8132f3a..15fa5343b 100644 --- a/AppKit/CPColorWell.j +++ b/AppKit/CPColorWell.j @@ -86,14 +86,12 @@ var _CPColorWellDidBecomeExclusiveNotification = @"_CPColorWellDidBecomeExclusiv _active = NO; _color = [CPColor whiteColor]; [self setBordered:YES]; - - [self _registerForNotifications]; } return self; } -- (void)_registerForNotifications +- (void)_registerNotifications { var defaultCenter = [CPNotificationCenter defaultCenter]; @@ -110,6 +108,22 @@ var _CPColorWellDidBecomeExclusiveNotification = @"_CPColorWellDidBecomeExclusiv object:[CPColorPanel sharedColorPanel]]; } +- (void)_removeNotifications +{ + var defaultCenter = [CPNotificationCenter defaultCenter]; + + [defaultCenter + removeObserver:self + name:_CPColorWellDidBecomeExclusiveNotification + object:nil]; + + [defaultCenter + removeObserver:self + name:CPWindowWillCloseNotification + object:[CPColorPanel sharedColorPanel]]; + +} + /*! Sets whether the color well is bordered. */ @@ -312,6 +326,28 @@ var _CPColorWellDidBecomeExclusiveNotification = @"_CPColorWellDidBecomeExclusiv [contentBorderView setBackgroundColor:[self currentValueForThemeAttribute:@"content-border-color"]]; } + +#pragma mark - +#pragma mark Observers method + +- (void)_addObservers +{ + if (_isObserving) + return; + + [super _addObservers]; + [self _registerNotifications]; +} + +- (void)_removeObservers +{ + if (!_isObserving) + return; + + [super _removeObservers]; + [self _removeNotifications]; +} + @end @implementation CPColorWellValueBinder : CPBinder @@ -363,8 +399,6 @@ var CPColorWellColorKey = "CPColorWellColorKey", _active = NO; _color = [aCoder decodeObjectForKey:CPColorWellColorKey]; [self setBordered:[aCoder decodeBoolForKey:CPColorWellBorderedKey]]; - - [self _registerForNotifications]; } return self; diff --git a/AppKit/CPComboBox.j b/AppKit/CPComboBox.j index 6b783b426..f6d094eb1 100644 --- a/AppKit/CPComboBox.j +++ b/AppKit/CPComboBox.j @@ -53,6 +53,11 @@ CPComboBoxWillPopUpNotification = @"CPComboBoxWillPopUpNotification"; CPComboBoxStateButtonBordered = CPThemeState("button-bordered"); +var CPComboBoxDelegate_comboBoxSelectionIsChanging_ = 1 << 0, + CPComboBoxDelegate_comboBoxSelectionDidChange_ = 1 << 1, + CPComboBoxDelegate_comboBoxWillPopUp_ = 1 << 2, + CPComboBoxDelegate_comboBoxWillDismiss_ = 1 << 3; + var CPComboBoxTextSubview = @"text", CPComboBoxButtonSubview = @"button", CPComboBoxDefaultNumberOfVisibleItems = 5, @@ -61,17 +66,20 @@ var CPComboBoxTextSubview = @"text", @implementation CPComboBox : CPTextField { - CPArray _items; - _CPPopUpList _listDelegate; - CPComboBoxDataSource _dataSource; - BOOL _usesDataSource; - BOOL _completes; - BOOL _canComplete; - int _numberOfVisibleItems; - BOOL _forceSelection; - BOOL _hasVerticalScroller; - CPString _selectedStringValue; - BOOL _popUpButtonCausedResign; + BOOL _canComplete; + BOOL _completes; + BOOL _forceSelection; + BOOL _hasVerticalScroller; + BOOL _popUpButtonCausedResign; + BOOL _usesDataSource; + CGSize _intercellSpacing; + CPArray _items; + id _dataSource; + CPInteger _implementedDelegateComboBoxMethods; + CPString _selectedStringValue; + float _itemHeight; + int _numberOfVisibleItems; + _CPPopUpList _listDelegate; } + (CPString)defaultThemeClass @@ -140,7 +148,9 @@ var CPComboBoxTextSubview = @"text", return; _hasVerticalScroller = flag; - [[_listDelegate scrollView] setHasVerticalScroller:flag]; + + if (_listDelegate) + [[_listDelegate scrollView] setHasVerticalScroller:_hasVerticalScroller]; } - (CGSize)intercellSpacing @@ -150,7 +160,13 @@ var CPComboBoxTextSubview = @"text", - (void)setIntercellSpacing:(CGSize)aSize { - [[_listDelegate tableView] setIntercellSpacing:aSize]; + if (_intercellSpacing && CGSizeEqualToSize(aSize, _intercellSpacing)) + return; + + _intercellSpacing = aSize; + + if (_listDelegate) + [[_listDelegate tableView] setIntercellSpacing:_intercellSpacing]; } - (BOOL)isButtonBordered @@ -173,10 +189,18 @@ var CPComboBoxTextSubview = @"text", - (void)setItemHeight:(float)itemHeight { - [[_listDelegate tableView] setRowHeight:itemHeight]; + if (itemHeight === _itemHeight) + return; - // FIXME: This shouldn't be necessary, but CPTableView does not tile after setRowHeight - [[_listDelegate tableView] reloadData]; + _itemHeight = itemHeight; + + if (_listDelegate) + { + [[_listDelegate tableView] setRowHeight:_itemHeight]; + + // FIXME: This shouldn't be necessary, but CPTableView does not tile after setRowHeight + [[_listDelegate tableView] reloadData]; + } } - (int)numberOfVisibleItems @@ -210,41 +234,21 @@ var CPComboBoxTextSubview = @"text", if (aDelegate === delegate) return; - var defaultCenter = [CPNotificationCenter defaultCenter]; - - if (delegate) - { - [defaultCenter removeObserver:delegate name:CPComboBoxSelectionIsChangingNotification object:self]; - [defaultCenter removeObserver:delegate name:CPComboBoxSelectionDidChangeNotification object:self]; - [defaultCenter removeObserver:delegate name:CPComboBoxWillDismissNotification object:self]; - [defaultCenter removeObserver:delegate name:CPComboBoxWillPopUpNotification object:self]; - } + _implementedDelegateComboBoxMethods = 0; if (aDelegate) { if ([aDelegate respondsToSelector:@selector(comboBoxSelectionIsChanging:)]) - [defaultCenter addObserver:delegate - selector:@selector(comboBoxSelectionIsChanging:) - name:CPComboBoxSelectionIsChangingNotification - object:self]; + _implementedDelegateComboBoxMethods |= CPComboBoxDelegate_comboBoxSelectionIsChanging_; if ([aDelegate respondsToSelector:@selector(comboBoxSelectionDidChange:)]) - [defaultCenter addObserver:delegate - selector:@selector(comboBoxSelectionDidChange:) - name:CPComboBoxSelectionDidChangeNotification - object:self]; + _implementedDelegateComboBoxMethods |= CPComboBoxDelegate_comboBoxSelectionDidChange_; if ([aDelegate respondsToSelector:@selector(comboBoxWillPopUp:)]) - [defaultCenter addObserver:delegate - selector:@selector(comboBoxWillPopUp:) - name:CPComboBoxWillPopUpNotification - object:self]; + _implementedDelegateComboBoxMethods |= CPComboBoxDelegate_comboBoxWillPopUp_; if ([aDelegate respondsToSelector:@selector(comboBoxWillDismiss:)]) - [defaultCenter addObserver:delegate - selector:@selector(comboBoxWillDissmis:) - name:CPComboBoxWillDismissNotification - object:self]; + _implementedDelegateComboBoxMethods |= CPComboBoxDelegate_comboBoxWillDismiss_; } [super setDelegate:aDelegate]; @@ -394,49 +398,57 @@ var CPComboBoxTextSubview = @"text", if (_listDelegate === aDelegate) return; - var defaultCenter = [CPNotificationCenter defaultCenter]; - - if (_listDelegate) - { - [defaultCenter removeObserver:self name:_CPPopUpListWillPopUpNotification object:_listDelegate]; - [defaultCenter removeObserver:self name:_CPPopUpListWillDismissNotification object:_listDelegate]; - [defaultCenter removeObserver:self name:_CPPopUpListDidDismissNotification object:_listDelegate]; - [defaultCenter removeObserver:self name:_CPPopUpListItemWasClickedNotification object:_listDelegate]; - - var oldTableView = [_listDelegate tableView]; - - if (oldTableView) - { - [defaultCenter removeObserver:self name:CPTableViewSelectionIsChangingNotification object:oldTableView]; - [defaultCenter removeObserver:self name:CPTableViewSelectionDidChangeNotification object:oldTableView]; - } - } + [self _removeObserversForListDelegate:_listDelegate]; _listDelegate = aDelegate; + // We only add the observers if the CPComboBox is displayed + if ([self window]) + [self _addObserversForListDelegate:_listDelegate] + + // Apply our text style to the list + [_listDelegate setFont:[self font]]; + [_listDelegate setAlignment:[self alignment]]; + + [[_listDelegate scrollView] setHasVerticalScroller:_hasVerticalScroller]; + + if (_intercellSpacing) + [[_listDelegate tableView] setIntercellSpacing:_intercellSpacing]; + + if (_itemHeight) + [[_listDelegate tableView] setRowHeight:_itemHeight]; +} + +- (void)_addObserversForListDelegate:(_CPPopUpList)aDelegate +{ + if (!aDelegate) + return; + + var defaultCenter = [CPNotificationCenter defaultCenter]; + [defaultCenter addObserver:self selector:@selector(comboBoxWillPopUp:) name:_CPPopUpListWillPopUpNotification - object:_listDelegate]; + object:aDelegate]; [defaultCenter addObserver:self selector:@selector(comboBoxWillDismiss:) name:_CPPopUpListWillDismissNotification - object:_listDelegate]; + object:aDelegate]; [defaultCenter addObserver:self selector:@selector(listDidDismiss:) name:_CPPopUpListDidDismissNotification - object:_listDelegate]; + object:aDelegate]; [defaultCenter addObserver:self selector:@selector(itemWasClicked:) name:_CPPopUpListItemWasClickedNotification - object:_listDelegate]; + object:aDelegate]; - [[_listDelegate scrollView] setHasVerticalScroller:_hasVerticalScroller]; + [[aDelegate scrollView] setHasVerticalScroller:_hasVerticalScroller]; - var tableView = [_listDelegate tableView]; + var tableView = [aDelegate tableView]; [defaultCenter addObserver:self selector:@selector(comboBoxSelectionIsChanging:) @@ -447,10 +459,27 @@ var CPComboBoxTextSubview = @"text", selector:@selector(comboBoxSelectionDidChange:) name:CPTableViewSelectionDidChangeNotification object:tableView]; +} - // Apply our text style to the list - [_listDelegate setFont:[self font]]; - [_listDelegate setAlignment:[self alignment]]; +- (void)_removeObserversForListDelegate:(_CPPopUpList)aDelegate +{ + if (!aDelegate) + return; + + var defaultCenter = [CPNotificationCenter defaultCenter]; + + [defaultCenter removeObserver:self name:_CPPopUpListWillPopUpNotification object:aDelegate]; + [defaultCenter removeObserver:self name:_CPPopUpListWillDismissNotification object:aDelegate]; + [defaultCenter removeObserver:self name:_CPPopUpListDidDismissNotification object:aDelegate]; + [defaultCenter removeObserver:self name:_CPPopUpListItemWasClickedNotification object:aDelegate]; + + var oldTableView = [aDelegate tableView]; + + if (oldTableView) + { + [defaultCenter removeObserver:self name:CPTableViewSelectionIsChangingNotification object:oldTableView]; + [defaultCenter removeObserver:self name:CPTableViewSelectionDidChangeNotification object:oldTableView]; + } } - (int)indexOfItemWithObjectValue:(id)anObject @@ -495,8 +524,6 @@ var CPComboBoxTextSubview = @"text", if (!_listDelegate) [self setListDelegate:[[_CPPopUpList alloc] initWithDataSource:self]]; - [self _selectMatchingItem]; - // Note the offset here is 1 less than the focus ring width because the outer edge // of the focus ring is very transparent and it looks better if the list is closer. if (CPComboBoxFocusRingWidth < 0) @@ -507,6 +534,7 @@ var CPComboBoxTextSubview = @"text", } [_listDelegate popUpRelativeToRect:[self _borderFrame] view:self offset:CPComboBoxFocusRingWidth - 1]; + [self _selectMatchingItem]; } /*! @ignore */ @@ -842,13 +870,17 @@ var CPComboBoxTextSubview = @"text", - (void)setFont:(CPFont)aFont { [super setFont:aFont]; - [_listDelegate setFont:aFont]; + + if (_listDelegate) + [_listDelegate setFont:aFont]; } - (void)setAlignment:(CPTextAlignment)alignment { [super setAlignment:alignment]; - [_listDelegate setAlignment:alignment]; + + if (_listDelegate) + [_listDelegate setAlignment:alignment]; } #pragma mark Pop Up Button Layout @@ -973,6 +1005,28 @@ var CPComboBoxTextSubview = @"text", } } + +#pragma mark - +#pragma mark Observers method + +- (void)_addObservers +{ + if (_isObserving) + return; + + [super _addObservers]; + [self _addObserversForListDelegate:_listDelegate]; +} + +- (void)_removeObservers +{ + if (!_isObserving) + return; + + [super _removeObservers]; + [self _removeObserversForListDelegate:_listDelegate]; +} + @end @implementation CPComboBox (CPComboBoxDelegate) @@ -980,24 +1034,36 @@ var CPComboBoxTextSubview = @"text", /*! @ignore */ - (void)comboBoxSelectionIsChanging:(CPNotification)aNotification { + if (_implementedDelegateComboBoxMethods & CPComboBoxDelegate_comboBoxSelectionIsChanging_) + [_delegate comboBoxSelectionIsChanging:[[CPNotification alloc] initWithName:CPComboBoxSelectionIsChangingNotification object:self userInfo:nil]]; + [[CPNotificationCenter defaultCenter] postNotificationName:CPComboBoxSelectionIsChangingNotification object:self]; } /*! @ignore */ - (void)comboBoxSelectionDidChange:(CPNotification)aNotification { + if (_implementedDelegateComboBoxMethods & CPComboBoxDelegate_comboBoxSelectionDidChange_) + [_delegate comboBoxSelectionDidChange:[[CPNotification alloc] initWithName:CPComboBoxSelectionDidChangeNotification object:self userInfo:nil]]; + [[CPNotificationCenter defaultCenter] postNotificationName:CPComboBoxSelectionDidChangeNotification object:self]; } /*! @ignore */ - (void)comboBoxWillPopUp:(CPNotification)aNotification { + if (_implementedDelegateComboBoxMethods & CPComboBoxDelegate_comboBoxWillPopUp_) + [_delegate comboBoxWillPopUp:[[CPNotification alloc] initWithName:CPComboBoxWillPopUpNotification object:self userInfo:nil]]; + [[CPNotificationCenter defaultCenter] postNotificationName:CPComboBoxWillPopUpNotification object:self]; } /*! @ignore */ - (void)comboBoxWillDismiss:(CPNotification)aNotification { + if (_implementedDelegateComboBoxMethods & CPComboBoxDelegate_comboBoxWillDismiss_) + [_delegate comboBoxWillDismiss:[[CPNotification alloc] initWithName:CPComboBoxWillDismissNotification object:self userInfo:nil]]; + [[CPNotificationCenter defaultCenter] postNotificationName:CPComboBoxWillDismissNotification object:self]; } diff --git a/AppKit/CPCompatibility.j b/AppKit/CPCompatibility.j index c471c1408..623249cd2 100644 --- a/AppKit/CPCompatibility.j +++ b/AppKit/CPCompatibility.j @@ -78,6 +78,8 @@ CPInputOnInputEventFeature = 30; CPFileAPIFeature = 31; +CPAltEnterTextAreaFeature = 32; + /* @@ -100,6 +102,7 @@ var USER_AGENT = "", // default these features to true PLATFORM_FEATURES[CPInputTypeCanBeChangedFeature] = YES; PLATFORM_FEATURES[CPInputSetFontOutsideOfDOM] = YES; +PLATFORM_FEATURES[CPAltEnterTextAreaFeature] = YES; if (typeof window !== "undefined" && typeof window.navigator !== "undefined") USER_AGENT = window.navigator.userAgent; @@ -208,6 +211,7 @@ else if (USER_AGENT.indexOf("Gecko") !== -1) // Must follow KHTML check. // Some day this might be fixed and should be version prefixed. No known fixed version yet. PLATFORM_FEATURES[CPInput1PxLeftPadding] = YES; + PLATFORM_FEATURES[CPAltEnterTextAreaFeature] = NO; // This was supposed to be added in Firefox 22, but when testing with the latest beta as of 2013-06-14 // it does not seem to work. It seems to exhibit the CPJavaScriptPasteRequiresEditableTarget problem, // and in addition doesn't seem to work with our native copy code either. diff --git a/AppKit/CPControl.j b/AppKit/CPControl.j index c2b1083ce..cb7be84e3 100644 --- a/AppKit/CPControl.j +++ b/AppKit/CPControl.j @@ -42,16 +42,19 @@ @end +@typedef CPTextAlignment CPLeftTextAlignment = 0; CPRightTextAlignment = 1; CPCenterTextAlignment = 2; CPJustifiedTextAlignment = 3; CPNaturalTextAlignment = 4; +@typedef CPControlSize CPRegularControlSize = 0; CPSmallControlSize = 1; CPMiniControlSize = 2; +@typedef CPLineBreakMode CPLineBreakByWordWrapping = 0; CPLineBreakByCharWrapping = 1; CPLineBreakByClipping = 2; @@ -59,11 +62,13 @@ CPLineBreakByTruncatingHead = 3; CPLineBreakByTruncatingTail = 4; CPLineBreakByTruncatingMiddle = 5; +@typedef CPVerticalTextAlignment CPTopVerticalTextAlignment = 1; CPCenterVerticalTextAlignment = 2; CPBottomVerticalTextAlignment = 3; // Deprecated for use with images, use the CPImageScale constants +@typedef CPImageScaling CPScaleProportionally = 0; CPScaleToFit = 1; CPScaleNone = 2; @@ -73,6 +78,7 @@ CPImageScaleAxesIndependently = 1; CPImageScaleNone = 2; CPImageScaleProportionallyUpOrDown = 3; +@typedef CPCellImagePosition CPNoImage = 0; CPImageOnly = 1; CPImageLeft = 2; @@ -260,10 +266,20 @@ var CPControlBlackColor = [CPColor blackColor]; maxSize = [self currentValueForThemeAttribute:@"max-size"]; if (minSize.width > 0) + { frameSize.width = MAX(minSize.width, frameSize.width); + if (maxSize.width > 0) + frameSize.width = MIN(maxSize.width, frameSize.width); + } + if (minSize.height > 0) - frameSize.height = minSize.height; + { + frameSize.height = MAX(minSize.height, frameSize.height); + + if (maxSize.height > 0) + frameSize.height = MIN(maxSize.height, frameSize.height); + } [self setFrameSize:frameSize]; } diff --git a/AppKit/CPCursor.j b/AppKit/CPCursor.j index c6c96acdc..6e0b36cff 100755 --- a/AppKit/CPCursor.j +++ b/AppKit/CPCursor.j @@ -22,6 +22,7 @@ Cursor support by browser: */ @import +@import "CPImage.j" @global CPApp diff --git a/AppKit/CPDatePicker/CPDatePicker.j b/AppKit/CPDatePicker/CPDatePicker.j index 0fec343d4..80b7c9efe 100644 --- a/AppKit/CPDatePicker/CPDatePicker.j +++ b/AppKit/CPDatePicker/CPDatePicker.j @@ -75,6 +75,7 @@ CPEraDatePickerElementFlag = 0x0100; CPInteger _datePickerStyle @accessors(property=datePickerStyle); CPInteger _timeInterval @accessors(property=timeInterval); + BOOL _invokedByUserEvent; _CPDatePickerTextField _datePickerTextfield; _CPDatePickerCalendar _datePickerCalendar; unsigned _implementedCDatePickerDelegateMethods; @@ -312,6 +313,7 @@ CPEraDatePickerElementFlag = 0x0100; if (aDateValue == nil) return; + _invokedByUserEvent = NO; [self _setDateValue:aDateValue timeInterval:_timeInterval]; } @@ -359,7 +361,8 @@ CPEraDatePickerElementFlag = 0x0100; _timeInterval = (_datePickerMode == CPSingleDateMode)? 0 : aTimeInterval; [self didChangeValueForKey:@"timeInterval"]; - [self sendAction:[self action] to:[self target]]; + if (_invokedByUserEvent) + [self sendAction:[self action] to:[self target]]; if (_datePickerStyle == CPTextFieldAndStepperDatePickerStyle || _datePickerStyle == CPTextFieldDatePickerStyle) [_datePickerTextfield setDateValue:_dateValue]; diff --git a/AppKit/CPDatePicker/_CPDatePickerCalendar.j b/AppKit/CPDatePicker/_CPDatePickerCalendar.j index a3bf3535f..c4ecb3866 100644 --- a/AppKit/CPDatePicker/_CPDatePickerCalendar.j +++ b/AppKit/CPDatePicker/_CPDatePickerCalendar.j @@ -29,6 +29,9 @@ @import @class CPDatePicker +@class _CPDatePickerMonthView +@class _CPDatePickerHeaderView +@class _CPDatePickerBox @global CPApp @global CPSingleDateMode @@ -63,7 +66,7 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su" _CPDatePickerMonthView _monthView; _CPDatePickerHeaderView _headerView; _CPDatePickerClock _datePickerClock; - CPBox _box; + _CPDatePickerBox _box; CPDatePicker _datePicker; CPInteger _startSelectionIndex; CPInteger _currentSelectionIndex; @@ -97,7 +100,7 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su" sizeCalendar = [_datePicker valueForThemeAttribute:@"size-calendar"], sizeClock = [_datePicker valueForThemeAttribute:@"size-clock"]; - _box = [[_DatePickerBox alloc] initWithFrame:CGRectMake(0, 0, sizeCalendar.width, sizeHeader.height + sizeCalendar.height)]; + _box = [[_CPDatePickerBox alloc] initWithFrame:CGRectMake(0, 0, sizeCalendar.width, sizeHeader.height + sizeCalendar.height)]; [_box setDatePicker:_datePicker]; _headerView = [[_CPDatePickerHeaderView alloc] initWithFrame:CGRectMake(0, 0, sizeHeader.width, sizeHeader.height) datePicker:_datePicker delegate:self]; @@ -734,7 +737,7 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su" [dayTile setDate:[currentDate copy]]; [dayTile setStringValue:currentDate.getDate()]; - [dayTile setDisabled:![self isEnabled] || currentDate.getMonth() !== currentMonth.getMonth()]; + [dayTile setDisabled:![self isEnabled] || currentDate.getMonth() !== currentMonth.getMonth() || currentDate < [_datePicker minDate] || currentDate > [_datePicker maxDate]]; [dayTile setHighlighted:isPresentMonth && currentDate.getDate() == now.getDate()]; } @@ -896,6 +899,8 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su" _indexDayTile = -1; _eventDragged = nil + _datePicker._invokedByUserEvent = YES; + // Check if we have to change or not the month of the component if ([dayTile date].getMonth() == _date.getMonth()) { @@ -948,6 +953,8 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su" else [_delegate _displayNextMonth]; } + + _datePicker._invokedByUserEvent = NO; } /*! Mouse dragged event @@ -965,6 +972,8 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su" _indexDayTile = [self indexOfTileForEvent:anEvent]; _eventDragged = anEvent; + _datePicker._invokedByUserEvent = YES; + if ([_datePicker datePickerMode] == CPSingleDateMode) { // Check if we have to change or not the month of the component @@ -1006,6 +1015,8 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su" [_datePicker _setDateValue:[self _hoursMinutesSecondsFromDatePickerForDate:_clickDate] timeInterval:[dateTile timeIntervalSinceDate:dateValueAtMidnight]]; } } + + _datePicker._invokedByUserEvent = NO; } - (void)mouseUp:(CPEvent)anEvent @@ -1258,7 +1269,7 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su" @end -@implementation _DatePickerBox : CPView +@implementation _CPDatePickerBox : CPView { CPDatePicker _datePicker @accessors(property=datePicker); } diff --git a/AppKit/CPDatePicker/_CPDatePickerClock.j b/AppKit/CPDatePicker/_CPDatePickerClock.j index 2a8866dfa..2c3a76f56 100644 --- a/AppKit/CPDatePicker/_CPDatePickerClock.j +++ b/AppKit/CPDatePicker/_CPDatePickerClock.j @@ -25,7 +25,6 @@ @import "CPImageView.j" @import "CALayer.j" - @class _CPCibCustomResource @class CPDatePicker diff --git a/AppKit/CPDatePicker/_CPDatePickerTextField.j b/AppKit/CPDatePicker/_CPDatePickerTextField.j index 37780ef43..2f9b42b41 100644 --- a/AppKit/CPDatePicker/_CPDatePickerTextField.j +++ b/AppKit/CPDatePicker/_CPDatePickerTextField.j @@ -31,6 +31,10 @@ @import @class CPDatePicker +@class _CPDatePickerElementTextField +@class _CPDatePickerElementView +@class _CPDatePickerMonthView +@class _CPDatePickerHeaderView @global CPSingleDateMode @global CPRangeDateMode @@ -92,8 +96,6 @@ var CPZeroKeyCode = 48, [_stepper setAction:@selector(_clickStepper:)]; [self addSubview:_stepper]; - [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(_datePickerElementTextFieldBecomeFirstResponder:) name:CPDatePickerElementTextFieldBecomeFirstResponder object:self]; - [self setNeedsLayout]; [self setNeedsDisplay:YES]; } @@ -336,10 +338,11 @@ var CPZeroKeyCode = 48, if ([anEvent keyCode] == CPReturnKeyCode) { [_currentTextField _endEditing]; - return YES; + + return [super performKeyEquivalent:anEvent]; } - return NO; + return [super performKeyEquivalent:anEvent]; } /*! KeyDown event @@ -365,7 +368,6 @@ var CPZeroKeyCode = 48, [_currentTextField setValueForKeyEvent:anEvent]; } - #pragma mark - #pragma mark Layout methods @@ -414,6 +416,30 @@ var CPZeroKeyCode = 48, [_datePickerElementView setNeedsLayout]; } + +#pragma mark - +#pragma mark Override observers + +- (void)_removeObservers +{ + if (!_isObserving) + return; + + [super _removeObservers]; + + [[CPNotificationCenter defaultCenter] removeObserver:self name:CPDatePickerElementTextFieldBecomeFirstResponder object:self]; +} + +- (void)_addObservers +{ + if (_isObserving) + return; + + [super _addObservers]; + + [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(_datePickerElementTextFieldBecomeFirstResponder:) name:CPDatePickerElementTextFieldBecomeFirstResponder object:self]; +} + @end @@ -524,8 +550,6 @@ var CPZeroKeyCode = 48, [self addSubview: _textFieldSeparatorThree]; [self addSubview: _textFieldSeparatorFour]; - [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(_datePickerElementTextFieldAMPMChangedNotification:) name:CPDatePickerElementTextFieldAMPMChangedNotification object:_textFieldPMAM]; - [self setNeedsLayout]; } @@ -533,12 +557,91 @@ var CPZeroKeyCode = 48, #pragma mark - #pragma mark Responder methods +/*! @ignore */ - (BOOL)acceptsFirstResponder { - return NO; + // This is needed to accept to be firstResponder when nothing is selected. + // This element needs to be first responder when the CPDatePicker is in the CPTableView + // When clicking on a row of a CPTableView where there isn't a date element, the CPTableView will ask this element to know if it can becomes or not a firstResponder. + return [_datePicker isEnabled] && ![self superview]._currentTextField; } +#pragma mark - +#pragma mark Override observers + +- (void)_removeObservers +{ + if (!_isObserving) + return; + + [super _removeObservers]; + + [[CPNotificationCenter defaultCenter] removeObserver:self name:CPDatePickerElementTextFieldAMPMChangedNotification object:_textFieldPMAM]; +} + +- (void)_addObservers +{ + if (_isObserving) + return; + + [super _addObservers]; + + [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(_datePickerElementTextFieldAMPMChangedNotification:) name:CPDatePickerElementTextFieldAMPMChangedNotification object:_textFieldPMAM]; +} + +#pragma mark - +#pragma mark Mouse event + +- (BOOL)continueTracking:(CGPoint)lastPoint at:(CGPoint)aPoint +{ + [self _selectTextFieldForPoint:aPoint]; + return YES; +} + +- (BOOL)startTrackingAt:(CGPoint)aPoint +{ + [self _selectTextFieldForPoint:aPoint]; + return YES; +} + +- (void)_selectTextFieldForPoint:(CGPoint)aPoint +{ + var textField = [self _textFieldForPoint:aPoint], + superview = [self superview]; + + if (!textField || [superview._currentTextField] == textField) + return; + + [[CPNotificationCenter defaultCenter] postNotificationName:CPDatePickerElementTextFieldBecomeFirstResponder object:superview userInfo:[CPDictionary dictionaryWithObject:textField forKey:@"textField"]]; +} + +- (_CPDatePickerElementTextField)_textFieldForPoint:(CGPoint)aPoint +{ + if (![_textFieldDay isHidden] && CGRectContainsPoint([_textFieldDay frame], aPoint)) + return _textFieldDay; + + if (![_textFieldMonth isHidden] && CGRectContainsPoint([_textFieldMonth frame], aPoint)) + return _textFieldMonth; + + if (![_textFieldYear isHidden] && CGRectContainsPoint([_textFieldYear frame], aPoint)) + return _textFieldYear; + + if (![_textFieldHour isHidden] && CGRectContainsPoint([_textFieldHour frame], aPoint)) + return _textFieldHour; + + if (![_textFieldMinute isHidden] && CGRectContainsPoint([_textFieldMinute frame], aPoint)) + return _textFieldMinute; + + if (![_textFieldSecond isHidden] && CGRectContainsPoint([_textFieldSecond frame], aPoint)) + return _textFieldSecond; + + if (![_textFieldPMAM isHidden] && CGRectContainsPoint([_textFieldPMAM frame], aPoint)) + return _textFieldPMAM; + + return nil; +} + #pragma mark - #pragma mark Setter Getter methods @@ -679,7 +782,9 @@ var CPZeroKeyCode = 48, dateValue.setHours(dateValue.getHours() - 12); } - [_datePicker setDateValue:dateValue]; + _datePicker._invokedByUserEvent = YES; + [_datePicker _setDateValue:dateValue timeInterval:[_datePicker timeInterval]]; + _datePicker._invokedByUserEvent = NO; } @@ -1282,6 +1387,12 @@ var CPMonthDateType = 0, return self; } +/*! @ignore */ +- (BOOL)acceptsFirstResponder +{ + return [_datePicker isEnabled]; +} + /*! Set the dateType of the textField */ - (void)setDateType:(int)aDateType @@ -1636,7 +1747,9 @@ var CPMonthDateType = 0, newDateValue.setSeconds(newDateValue.getSeconds() + secondsFromGMT - secondsFromGMTTimeZone); } - [_datePicker setDateValue:newDateValue]; + _datePicker._invokedByUserEvent = YES; + [_datePicker _setDateValue:newDateValue timeInterval:[_datePicker timeInterval]]; + _datePicker._invokedByUserEvent = NO; } @@ -1663,6 +1776,7 @@ var CPMonthDateType = 0, - (void)makeSelectable { [self setThemeState:CPThemeStateSelected]; + [_datePicker setThemeState:CPThemeStateEditing]; } /*! Unsert the theme CPThemeStateSelected @@ -1671,6 +1785,7 @@ var CPMonthDateType = 0, { _firstEvent = YES; [self unsetThemeState:CPThemeStateSelected]; + [_datePicker unsetThemeState:CPThemeStateEditing]; } @@ -1734,4 +1849,9 @@ var CPMonthDateType = 0, return frameSize; } +- (CGRect)bezelRectForBounds:(CGRect)bounds +{ + return CGRectMakeCopy(bounds); +} + @end diff --git a/AppKit/CPDragServer_Constants.j b/AppKit/CPDragServer_Constants.j index 38ade5c31..7a347d3d4 100644 --- a/AppKit/CPDragServer_Constants.j +++ b/AppKit/CPDragServer_Constants.j @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@typedef CPDragOperation CPDragOperationNone = 0; CPDragOperationCopy = 1 << 1; CPDragOperationLink = 1 << 1; diff --git a/AppKit/CPEvent.j b/AppKit/CPEvent.j index 8dbd7b720..a1699aa34 100644 --- a/AppKit/CPEvent.j +++ b/AppKit/CPEvent.j @@ -31,9 +31,15 @@ @import "CPText.j" @class CPTextField +@class CPWindow +@class CPGraphicsContext @global CPApp +@typedef DOMEvent +@typedef CPEventType + + var _CPEventPeriodicEventPeriod = 0, _CPEventPeriodicEventTimer = nil, _CPEventUpperCaseRegex = new RegExp("[A-Z]"), diff --git a/AppKit/CPImageView.j b/AppKit/CPImageView.j index 5f92e0fe9..6c041fdea 100644 --- a/AppKit/CPImageView.j +++ b/AppKit/CPImageView.j @@ -29,6 +29,7 @@ @global CPImagesPboardType @global appkit_tag_dom_elements +@typedef CPImageAlignment CPImageAlignCenter = 0; CPImageAlignTop = 1; CPImageAlignTopLeft = 2; @@ -178,6 +179,7 @@ var CPImageViewEmptyPlaceholderImage = nil; - (void)imageDidLoad:(CPNotification)aNotification { + [[CPNotificationCenter defaultCenter] removeObserver:self name:CPImageDidLoadNotification object:[self objectValue]]; [self hideOrDisplayContents]; [self setNeedsLayout]; diff --git a/AppKit/CPKeyValueBinding.j b/AppKit/CPKeyValueBinding.j index 06ce850b7..662280d16 100644 --- a/AppKit/CPKeyValueBinding.j +++ b/AppKit/CPKeyValueBinding.j @@ -35,6 +35,7 @@ var exposedBindingsMap = @{}, bindingsMap = @{}; +@typedef CPBindingOperationKind var CPBindingOperationAnd = 0, CPBindingOperationOr = 1; @@ -70,6 +71,20 @@ var CPBindingOperationAnd = 0, return [[bindingsMap objectForKey:[anObject UID]] objectForKey:aBinding]; } ++ (void)_reverseSetValueFromExclusiveBinderForObject:(id)anObject +{ + var bindersByBindingName = [bindingsMap objectForKey:[anObject UID]]; + + [bindersByBindingName enumerateKeysAndObjectsUsingBlock:function(binding, binder, stop) + { + if ([binder isKindOfClass:[self class]]) + { + [binder reverseSetValueFor:binding]; + stop(YES); + } + }]; +} + + (CPDictionary)infoForBinding:(CPString)aBinding forObject:(id)anObject { var theBinding = [self getBinding:aBinding forObject:anObject]; @@ -116,7 +131,7 @@ var CPBindingOperationAnd = 0, count = allKeys.length; while (count--) - [anObject unbind:[bindings objectForKey:allKeys[count]]]; + [anObject unbind:allKeys[count]]; [bindingsMap removeObjectForKey:[anObject UID]]; } @@ -142,7 +157,7 @@ var CPBindingOperationAnd = 0, [self _updatePlaceholdersWithOptions:options forBinding:aName]; - [aDestination addObserver:self forKeyPath:aKeyPath options:CPKeyValueObservingOptionNew context:aBinding]; + [aDestination addObserver:self forKeyPath:aKeyPath options:0 context:aBinding]; var bindings = [bindingsMap objectForKey:[_source UID]]; @@ -159,6 +174,24 @@ var CPBindingOperationAnd = 0, return self; } ++ (BOOL)isBindingAllowed:(CPString)aBinding forObject:(id)anObject +{ + if ([[anObject class] isBindingExclusive:aBinding]) + { + var bindingsForObject = [bindingsMap objectForKey:[anObject UID]], + allBindings = [bindingsForObject allKeys], + count = [allBindings count]; + + while(count--) + { + if ([[anObject class] isBindingExclusive:allBindings[count]]) + return NO; + } + } + + return YES; +} + - (void)raiseIfNotApplicable:(id)aValue forKeyPath:(CPString)keyPath options:(CPDictionary)options { if (aValue === CPNotApplicableMarker && [options objectForKey:CPRaisesForNotApplicableKeysBindingOption]) @@ -387,6 +420,11 @@ var CPBindingOperationAnd = 0, return [CPBinder class]; } ++ (BOOL)isBindingExclusive:(CPString)aBinding +{ + return NO; +} + - (CPArray)exposedBindings { var exposedBindings = [], @@ -415,6 +453,11 @@ var CPBindingOperationAnd = 0, if (!anObject || !aKeyPath) return CPLog.error("Invalid object or path on " + self + " for " + aBinding); + if (![CPBinder isBindingAllowed:aBinding forObject:self]) + { + CPLog.warn([self description] + " : cannot bind " + aBinding + " because another binding with the same functionality is already in use."); + return; + } //if (![[self exposedBindings] containsObject:aBinding]) // CPLog.warn("No binding exposed on " + self + " for " + aBinding); diff --git a/AppKit/CPLevelIndicator.j b/AppKit/CPLevelIndicator.j index 07ce720c3..c4e6422ee 100644 --- a/AppKit/CPLevelIndicator.j +++ b/AppKit/CPLevelIndicator.j @@ -25,11 +25,13 @@ @global CPApp +@typedef CPTickMarkPosition CPTickMarkBelow = 0; CPTickMarkAbove = 1; CPTickMarkLeft = CPTickMarkAbove; CPTickMarkRight = CPTickMarkBelow; +@typedef CPLevelIndicatorStyle CPRelevancyLevelIndicatorStyle = 0; CPContinuousCapacityLevelIndicatorStyle = 1; CPDiscreteCapacityLevelIndicatorStyle = 2; diff --git a/AppKit/CPMenu/_CPMenuBarWindow.j b/AppKit/CPMenu/_CPMenuBarWindow.j index 2c6c2bcaa..db9077b06 100644 --- a/AppKit/CPMenu/_CPMenuBarWindow.j +++ b/AppKit/CPMenu/_CPMenuBarWindow.j @@ -24,6 +24,7 @@ @import "_CPMenuManager.j" @class _CPMenuView +@class CPMenu @global CPMenuDidAddItemNotification @global CPMenuDidChangeItemNotification diff --git a/AppKit/CPMenu/_CPMenuWindow.j b/AppKit/CPMenu/_CPMenuWindow.j index ddf53a7dd..681ee5af6 100644 --- a/AppKit/CPMenu/_CPMenuWindow.j +++ b/AppKit/CPMenu/_CPMenuWindow.j @@ -25,6 +25,8 @@ @import "CPWindow.j" @import "_CPMenuManager.j" +@class _CPMenuView + var _CPMenuWindowPool = [], _CPMenuWindowPoolCapacity = 5, @@ -410,7 +412,7 @@ _CPMenuWindowAttachedMenuBackgroundStyle = 2; { // Don't return indexes of items that aren't visible. if (!CGRectContainsPoint([_menuClipView bounds], [_menuClipView convertPoint:aPoint fromView:nil])) - return NO; + return CPNotFound; return [_menuView itemIndexAtPoint:[_menuView convertPoint:aPoint fromView:nil]]; } diff --git a/AppKit/CPMenuItem/_CPMenuItemMenuBarView.j b/AppKit/CPMenuItem/_CPMenuItemMenuBarView.j index 265b78867..e6b209f7b 100644 --- a/AppKit/CPMenuItem/_CPMenuItemMenuBarView.j +++ b/AppKit/CPMenuItem/_CPMenuItemMenuBarView.j @@ -25,6 +25,7 @@ @class _CPMenuBarWindow @class _CPMenuView +@class CPMenuItem @implementation _CPMenuItemMenuBarView : CPView { diff --git a/AppKit/CPMenuItem/_CPMenuItemStandardView.j b/AppKit/CPMenuItem/_CPMenuItemStandardView.j index 2fc534b24..f7112befb 100644 --- a/AppKit/CPMenuItem/_CPMenuItemStandardView.j +++ b/AppKit/CPMenuItem/_CPMenuItemStandardView.j @@ -24,6 +24,9 @@ @import "CPImageView.j" @import "_CPImageAndTextView.j" +@class CPMenuItem + + @implementation _CPMenuItemStandardView : CPView { CPMenuItem _menuItem @accessors(property=menuItem); diff --git a/AppKit/CPMenuItem/_CPMenuItemView.j b/AppKit/CPMenuItem/_CPMenuItemView.j index 7156db2ed..8d6b8b2cf 100644 --- a/AppKit/CPMenuItem/_CPMenuItemView.j +++ b/AppKit/CPMenuItem/_CPMenuItemView.j @@ -26,6 +26,7 @@ @import "_CPMenuItemStandardView.j" @import "_CPMenuItemMenuBarView.j" +@class CPMenuItem @global CPApp /* diff --git a/AppKit/CPPasteboard.j b/AppKit/CPPasteboard.j index e93d1ddfa..5372a5bef 100644 --- a/AppKit/CPPasteboard.j +++ b/AppKit/CPPasteboard.j @@ -26,6 +26,9 @@ @import @import +@class CPWebScriptObject + +@typedef DataTransfer CPGeneralPboard = @"CPGeneralPboard"; CPFontPboard = @"CPFontPboard"; @@ -66,7 +69,7 @@ var CPPasteboards = nil, unsigned _changeCount; CPString _stateUID; - WebScriptObject _nativePasteboard; + CPWebScriptObject _nativePasteboard; } /* diff --git a/AppKit/CPPopUpButton.j b/AppKit/CPPopUpButton.j index ba54efd32..09aecb6fe 100644 --- a/AppKit/CPPopUpButton.j +++ b/AppKit/CPPopUpButton.j @@ -771,13 +771,6 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); [[self selectedItem] setState:CPOffState]; } -- (void)_reverseSetBinding -{ - [_CPPopUpButtonSelectionBinder reverseSetValueForObject:self]; - - [super _reverseSetBinding]; -} - @end @implementation CPPopUpButton (BindingSupport) @@ -800,6 +793,20 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); return [super _binderClassForBinding:aBinding]; } ++ (BOOL)isBindingExclusive:(CPString)aBinding +{ + return (aBinding == CPSelectedIndexBinding || + aBinding == CPSelectedTagBinding || + aBinding == CPSelectedValueBinding); +} + +- (void)_reverseSetBinding +{ + [_CPPopUpButtonSelectionBinder _reverseSetValueFromExclusiveBinderForObject:self]; + + [super _reverseSetBinding]; +} + @end @implementation _CPPopUpButtonContentBinder : CPBinder @@ -929,30 +936,8 @@ CPPopUpButtonStatePullsDown = CPThemeState("pulls-down"); @end -var binderForObject = {}; - @implementation _CPPopUpButtonSelectionBinder : CPBinder { - 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 binder = binderForObject[[aSource UID]]; - [binder reverseSetValueFor:[binder _selectionBinding]]; } - (void)setPlaceholderValue:(id)aValue withMarker:(CPString)aMarker forBinding:(CPString)aBinding diff --git a/AppKit/CPPopover.j b/AppKit/CPPopover.j index 1f1edfb87..38ef4dd23 100644 --- a/AppKit/CPPopover.j +++ b/AppKit/CPPopover.j @@ -28,6 +28,7 @@ @import "CPImageView.j" @import "CPResponder.j" @import "CPView.j" +@import "CPViewController.j" @import "_CPPopoverWindow.j" @protocol CPPopoverDelegate @@ -310,9 +311,8 @@ Set the behavior of the CPPopover. It can be: if ([_popoverWindow isClosing]) return; - if (_implementedDelegateMethods & CPPopoverDelegate_popover_shouldClose_) - if (![_delegate popoverShouldClose:self]) - return; + if (![self _popoverShouldClose]) + return; [self _close]; } @@ -346,6 +346,15 @@ Set the behavior of the CPPopover. It can be: [_delegate popoverDidShow:self]; } +/*! @ignore */ +- (BOOL)_popoverShouldClose +{ + if (_implementedDelegateMethods & CPPopoverDelegate_popover_shouldClose_) + return [_delegate popoverShouldClose:self]; + + return YES; +} + /*! @ignore */ - (void)_popoverWillClose { diff --git a/AppKit/CPProgressIndicator.j b/AppKit/CPProgressIndicator.j index e0ea06ab4..3732c229b 100644 --- a/AppKit/CPProgressIndicator.j +++ b/AppKit/CPProgressIndicator.j @@ -26,6 +26,7 @@ @import "CPWindow_Constants.j" +@typedef CPProgressIndicatorStyle /* @global @group CPProgressIndicatorStyle diff --git a/AppKit/CPRadio.j b/AppKit/CPRadio.j index 446578c7c..bb845aef3 100644 --- a/AppKit/CPRadio.j +++ b/AppKit/CPRadio.j @@ -25,6 +25,8 @@ @import "CPButton.j" +@class CPRadioGroup + @global CPApp @@ -356,7 +358,7 @@ var CPRadioRadioGroupKey = @"CPRadioRadioGroupKey"; [_selectedRadio setState:CPOffState]; _selectedRadio = aRadio; - [_CPRadioGroupSelectionBinder reverseSetValueForObject:self]; + [_CPRadioGroupSelectionBinder _reverseSetValueFromExclusiveBinderForObject:self]; } @end @@ -407,32 +409,17 @@ var CPRadioGroupRadiosKey = @"CPRadioGroupRadiosKey", return [super _binderClassForBinding:aBinding]; } -@end ++ (BOOL)isBindingExclusive:(CPString)aBinding +{ + return (aBinding == CPSelectedIndexBinding || + aBinding == CPSelectedTagBinding || + aBinding == CPSelectedValueBinding); +} -var binderForObject = {}; +@end @implementation _CPRadioGroupSelectionBinder : CPBinder { - 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 binder = binderForObject[[aSource UID]]; - [binder reverseSetValueFor:[binder _selectionBinding]]; } - (void)setPlaceholderValue:(id)aValue withMarker:(CPString)aMarker forBinding:(CPString)aBinding diff --git a/AppKit/CPResponder.j b/AppKit/CPResponder.j index 08e3db3ac..eddf8b628 100644 --- a/AppKit/CPResponder.j +++ b/AppKit/CPResponder.j @@ -26,6 +26,7 @@ @import "CPEvent.j" @class CPKeyBinding +@class CPMenu CPDeleteKeyCode = 8; CPTabKeyCode = 9; diff --git a/AppKit/CPRuleEditor/CPRuleEditor.j b/AppKit/CPRuleEditor/CPRuleEditor.j index a02b8efe7..404c5546e 100644 --- a/AppKit/CPRuleEditor/CPRuleEditor.j +++ b/AppKit/CPRuleEditor/CPRuleEditor.j @@ -2207,7 +2207,7 @@ TODO: implement indexOfDropLine = FLOOR(y / _sliceHeight), numberOfRows = [self numberOfRows]; - if (indexOfDropLine < 0 || indexOfDropLine > numberOfRows || (indexOfDropLine >= [_draggingRows firstIndex] && indexOfDropLine <= [_draggingRows lastIndex] + 1)) + if (indexOfDropLine <= 0 || indexOfDropLine > numberOfRows || (indexOfDropLine >= [_draggingRows firstIndex] && indexOfDropLine <= [_draggingRows lastIndex] + 1)) { if (_subviewIndexOfDropLine !== CPNotFound && indexOfDropLine !== _subviewIndexOfDropLine) [self _clearDropLine]; diff --git a/AppKit/CPRuleEditor/CPRuleEditor_Constants.j b/AppKit/CPRuleEditor/CPRuleEditor_Constants.j index d68b6f48a..0870aedeb 100644 --- a/AppKit/CPRuleEditor/CPRuleEditor_Constants.j +++ b/AppKit/CPRuleEditor/CPRuleEditor_Constants.j @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ + CPRuleEditorPredicateLeftExpression = "CPRuleEditorPredicateLeftExpression"; CPRuleEditorPredicateRightExpression = "CPRuleEditorPredicateRightExpression"; CPRuleEditorPredicateComparisonModifier = "CPRuleEditorPredicateComparisonModifier"; @@ -36,5 +37,6 @@ CPRuleEditorNestingModeList = 1; // Allows a single list, with no nes CPRuleEditorNestingModeCompound = 2; // Unlimited nesting and compound rows; this is the default CPRuleEditorNestingModeSimple = 3; // One compound row at the top with subrows beneath it, and no further nesting allowed +@typedef CPRuleEditorRowType CPRuleEditorRowTypeSimple = 0; CPRuleEditorRowTypeCompound = 1; diff --git a/AppKit/CPRuleEditor/_CPPredicateEditorTree.j b/AppKit/CPRuleEditor/_CPPredicateEditorTree.j index f0d47086f..8cb807a84 100644 --- a/AppKit/CPRuleEditor/_CPPredicateEditorTree.j +++ b/AppKit/CPRuleEditor/_CPPredicateEditorTree.j @@ -20,6 +20,8 @@ @import @import +@class CPPredicateEditorRowTemplate + @implementation _CPPredicateEditorTree : CPObject { CPPredicateEditorRowTemplate template @accessors; diff --git a/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j b/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j index 39a6a1d47..2cec0efae 100644 --- a/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j +++ b/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j @@ -19,6 +19,8 @@ @import "CPView.j" +@class CPRuleEditor + @implementation _CPRuleEditorViewSlice : CPView { CPRuleEditor _ruleEditor; diff --git a/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j b/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j index 45c260d25..80509dd16 100644 --- a/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j +++ b/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j @@ -65,8 +65,6 @@ [self addSubview:_subtractButton]; [self setAutoresizingMask:CPViewWidthSizable]; - - [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(_textDidChange:) name:CPControlTextDidChangeNotification object:nil]; } - (CPButton)_createRowButton @@ -124,8 +122,8 @@ { var title = [[itemsArray objectAtIndex:index] title], font = [_ruleEditor font], - width = [title sizeWithFont:font].width + 20, - rect = CGRectMake(0, 0, (width - width % 40) + 80, [_ruleEditor rowHeight]), + width = [title sizeWithFont:font].width + 35, // 35 for right arrows + margins + rect = CGRectMake(0, 0, width, [_ruleEditor rowHeight]), popup = [[CPPopUpButton alloc] initWithFrame:rect]; [popup setValue:font forThemeAttribute:@"font"]; @@ -317,8 +315,14 @@ { [ruleView setControlSize:CPSmallControlSize]; + var minSize = [ruleView currentValueForThemeAttribute:@"min-size"], + frame = [ruleView frame]; + + // Force controls to their minimum size + frame.size.height = minSize.height; + [ruleView setFrame:frame]; + [_ruleOptionViews addObject:ruleView]; - var frame = [ruleView frame]; [_ruleOptionInitialViewFrames addObject:frame]; [_ruleOptionFrames addObject:frame]; @@ -491,6 +495,26 @@ [self layoutSubviews]; } +- (void)_addObservers +{ + if (_isObserving) + return; + + [super _addObservers]; + + [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(_textDidChange:) name:CPControlTextDidChangeNotification object:nil]; +} + +- (void)_removeObservers +{ + if (!_isObserving) + return; + + [super _removeObservers]; + + [[CPNotificationCenter defaultCenter] removeObserver:self name:CPControlTextDidChangeNotification object:nil]; +} + - (void)drawRect:(CGRect)rect { [super drawRect:rect]; @@ -516,4 +540,4 @@ [self _sendRuleAction:nil]; } -@end \ No newline at end of file +@end diff --git a/AppKit/CPScrollView.j b/AppKit/CPScrollView.j index c93543315..aef8453a9 100644 --- a/AppKit/CPScrollView.j +++ b/AppKit/CPScrollView.j @@ -264,11 +264,6 @@ var CPScrollerStyleGlobal = CPScrollerStyleOverlay, _delegate = nil; _scrollTimer = nil; _implementedDelegateMethods = 0; - - [[CPNotificationCenter defaultCenter] addObserver:self - selector:@selector(_didReceiveDefaultStyleChange:) - name:CPScrollerStyleGlobalChangeNotification - object:nil]; } return self; @@ -1270,6 +1265,37 @@ Notifies the delegate when the scroll view has finished scrolling. #pragma mark - #pragma mark Overrides + +- (void)_removeObservers +{ + if (!_isObserving) + return; + + [[CPNotificationCenter defaultCenter] removeObserver:self + name:CPScrollerStyleGlobalChangeNotification + object:nil]; + + [super _removeObservers]; +} + +- (void)_addObservers +{ + if (_isObserving) + return; + + //Make sure to have the last global style for the scroller + [self _didReceiveDefaultStyleChange:nil]; + + [[CPNotificationCenter defaultCenter] addObserver:self + selector:@selector(_didReceiveDefaultStyleChange:) + name:CPScrollerStyleGlobalChangeNotification + object:nil]; + + [super _addObservers]; +} + + + - (void)drawRect:(CGRect)aRect { [super drawRect:aRect]; diff --git a/AppKit/CPScroller.j b/AppKit/CPScroller.j index efb3f5b2e..f293b34dd 100644 --- a/AppKit/CPScroller.j +++ b/AppKit/CPScroller.j @@ -33,6 +33,7 @@ @global CPApp // CPScroller Constants +@typedef CPScrollerPart CPScrollerNoPart = 0; CPScrollerDecrementPage = 1; CPScrollerKnob = 2; @@ -44,6 +45,7 @@ CPScrollerKnobSlot = 6; CPScrollerIncrementArrow = 0; CPScrollerDecrementArrow = 1; +@typedef CPUsableScrollerParts CPNoScrollerParts = 0; CPOnlyScrollerArrows = 1; CPAllScrollerParts = 2; diff --git a/AppKit/CPSearchField.j b/AppKit/CPSearchField.j index d7346f9ed..c26e79140 100644 --- a/AppKit/CPSearchField.j +++ b/AppKit/CPSearchField.j @@ -119,16 +119,28 @@ var RECENT_SEARCH_PREFIX = @" "; _canResignFirstResponder = YES; } -- (void)viewWillMoveToSuperview:(CPView)aView + +#pragma mark - +#pragma mark Override observers + +- (void)_removeObservers { - [super viewWillMoveToSuperview:aView]; + if (!_isObserving) + return; + + [super _removeObservers]; - // First we remove any observer that may have been in place to avoid memory leakage. [[CPNotificationCenter defaultCenter] removeObserver:self name:CPControlTextDidChangeNotification object:self]; +} - // Register the observe here if we need to. - if (aView) - [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(_searchFieldTextDidChange:) name:CPControlTextDidChangeNotification object:self]; +- (void)_addObservers +{ + if (_isObserving) + return; + + [super _addObservers]; + + [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(_searchFieldTextDidChange:) name:CPControlTextDidChangeNotification object:self]; } // Managing Buttons diff --git a/AppKit/CPSegmentedControl.j b/AppKit/CPSegmentedControl.j index 53bb09394..2b9654047 100644 --- a/AppKit/CPSegmentedControl.j +++ b/AppKit/CPSegmentedControl.j @@ -25,9 +25,11 @@ @import "CPControl.j" @import "CPWindow_Constants.j" @import "_CPImageAndTextView.j" +@import "CPMenu.j" @global CPApp +@typedef CPSegmentSwitchTracking CPSegmentSwitchTrackingSelectOne = 0; CPSegmentSwitchTrackingSelectAny = 1; CPSegmentSwitchTrackingMomentary = 2; @@ -70,23 +72,9 @@ CPSegmentSwitchTrackingMomentary = 2; @"center-segment-bezel-color": [CPNull null], @"divider-bezel-color": [CPNull null], @"divider-thickness": 1.0, - @"default-height": 24.0, }; } -+ (Class)_binderClassForBinding:(CPString)aBinding -{ - if ([self _isSelectionBinding:aBinding]) - return [_CPSegmentedControlBinder class]; - - return [super _binderClassForBinding:aBinding]; -} - -+ (BOOL)_isSelectionBinding:(CPString)aBinding -{ - return (aBinding === CPSelectedIndexBinding || aBinding === CPSelectedLabelBinding || aBinding === CPSelectedTagBinding); -} - - (id)initWithFrame:(CGRect)aRect { _segments = []; @@ -104,17 +92,14 @@ CPSegmentSwitchTrackingMomentary = 2; return self; } -- (void)bind:(CPString)aBinding toObject:(id)anObject withKeyPath:(CPString)aKeyPath options:(CPDictionary)options +/*! + Sets the control's size. + @param aControlSize the control's size +*/ +- (void)setControlSize:(CPControlSize)aControlSize { - if ([[self class] _isSelectionBinding:aBinding] && _trackingMode !== CPSegmentSwitchTrackingSelectOne) - CPLog.warn("Binding " + aBinding + " needs CPSegmentSwitchTrackingSelectOne tracking mode"); - else - [super bind:aBinding toObject:anObject withKeyPath:aKeyPath options:options]; -} - -- (void)_reverseSetBinding -{ - [_CPSegmentedControlBinder reverseSetValueForObject:self]; + [super setControlSize:aControlSize]; + [self _sizeToControlSize]; } /*! @@ -512,7 +497,7 @@ CPSegmentSwitchTrackingMomentary = 2; - (CGRect)rectForEphemeralSubviewNamed:(CPString)aName { - var height = [self currentValueForThemeAttribute:@"default-height"], + var height = [self currentValueForThemeAttribute:@"min-size"].height, contentInset = [self currentValueForThemeAttribute:@"content-inset"], bezelInset = [self currentValueForThemeAttribute:@"bezel-inset"], bounds = [self bounds]; @@ -577,10 +562,17 @@ CPSegmentSwitchTrackingMomentary = 2; return; var themeState = _themeStates[0], - isDisabled = [self hasThemeState:CPThemeStateDisabled]; + isDisabled = [self hasThemeState:CPThemeStateDisabled], + isControlSizeSmall = [self hasThemeState:CPThemeStateControlSizeSmall], + isControlSizeMini = [self hasThemeState:CPThemeStateControlSizeMini]; themeState = isDisabled ? themeState.and(CPThemeStateDisabled) : themeState; + if (isControlSizeSmall) + themeState = themeState.and(CPThemeStateControlSizeSmall); + else if (isControlSizeMini) + themeState = themeState.and(CPThemeStateControlSizeMini); + var leftCapColor = [self valueForThemeAttribute:@"left-segment-bezel-color" inState:themeState], @@ -594,6 +586,11 @@ CPSegmentSwitchTrackingMomentary = 2; themeState = isDisabled ? themeState.and(CPThemeStateDisabled) : themeState; + if (isControlSizeSmall) + themeState = themeState.and(CPThemeStateControlSizeSmall); + else if (isControlSizeMini) + themeState = themeState.and(CPThemeStateControlSizeMini); + var rightCapColor = [self valueForThemeAttribute:@"right-segment-bezel-color" inState:themeState], @@ -609,6 +606,11 @@ CPSegmentSwitchTrackingMomentary = 2; themeState = isDisabled ? themeState.and(CPThemeStateDisabled) : themeState; + if (isControlSizeSmall) + themeState = themeState.and(CPThemeStateControlSizeSmall); + else if (isControlSizeMini) + themeState = themeState.and(CPThemeStateControlSizeMini); + var bezelColor = [self valueForThemeAttribute:@"center-segment-bezel-color" inState:themeState], @@ -618,7 +620,6 @@ CPSegmentSwitchTrackingMomentary = 2; [bezelView setBackgroundColor:bezelColor]; - // layout image/title views var segment = _segments[i], contentView = [self layoutEphemeralSubviewNamed:@"segment-content-" + i @@ -651,6 +652,11 @@ CPSegmentSwitchTrackingMomentary = 2; borderState = isDisabled ? borderState.and(CPThemeStateDisabled) : borderState; + if (isControlSizeSmall) + borderState = borderState.and(CPThemeStateControlSizeSmall); + else if (isControlSizeMini) + borderState = borderState.and(CPThemeStateControlSizeMini); + var borderColor = [self valueForThemeAttribute:@"divider-bezel-color" inState:borderState], @@ -707,7 +713,6 @@ CPSegmentSwitchTrackingMomentary = 2; // Update control size var frame = [self frame]; - [self setFrameSize:CGSizeMake(CGRectGetWidth(frame) + delta, CGRectGetHeight(frame))]; // Update segment width @@ -743,7 +748,7 @@ CPSegmentSwitchTrackingMomentary = 2; - (CGRect)bezelFrameForSegment:(unsigned)aSegment { - var height = [self currentValueForThemeAttribute:@"default-height"], + var height = [self currentValueForThemeAttribute:@"min-size"].height, bezelInset = [self currentValueForThemeAttribute:@"bezel-inset"], width = [self widthForSegment:aSegment], left = [self _leftOffsetForSegment:aSegment]; @@ -753,7 +758,7 @@ CPSegmentSwitchTrackingMomentary = 2; - (CGRect)contentFrameForSegment:(unsigned)aSegment { - var height = [self currentValueForThemeAttribute:@"default-height"], + var height = [self currentValueForThemeAttribute:@"min-size"].height, contentInset = [self currentValueForThemeAttribute:@"content-inset"], width = [self widthForSegment:aSegment], left = [self _leftOffsetForSegment:aSegment]; @@ -915,8 +920,7 @@ var CPSegmentedControlSegmentsKey = "CPSegmentedControlSegmentsKey", else _trackingMode = CPSegmentSwitchTrackingSelectOne; - // HACK - + // Here we update the themeStates array for each segments to know if there are selected or not for (var i = 0; i < _segments.length; i++) _themeStates[i] = [_segments[i] selected] ? CPThemeStateSelected : CPThemeStateNormal; @@ -924,12 +928,32 @@ var CPSegmentedControlSegmentsKey = "CPSegmentedControlSegmentsKey", for (var i = 0; i < _segments.length; i++) [self tileWithChangedSegment:i]; - var difference = MAX(originalWidth - [self frame].size.width, 0.0), - remainingWidth = FLOOR(difference / _segments.length); + var thickness = [self currentValueForThemeAttribute:@"divider-thickness"], + dividerExtraSpace = ([_segments count] - 1) * thickness, + difference = MAX(originalWidth - [self frame].size.width - dividerExtraSpace, 0.0), + remainingWidth = FLOOR(difference / _segments.length), + widthOfAllSegments = 0; for (var i = 0; i < _segments.length; i++) + { [self setWidth:[_segments[i] width] + remainingWidth forSegment:i]; + widthOfAllSegments += [_segments[i] width]; + } + // Here we handle the leftovers pixel, and we will add one pixel to each segment cell till we have the same size as the originalSize. + // This is needed to have a perfect/same alignment between our application and xCode. + var leftOversPixel = originalWidth - (widthOfAllSegments + dividerExtraSpace); + + // Make sure we don't make an out of range + if (leftOversPixel < _segments.length - 1) + { + for (var i = 0; i < leftOversPixel; i++) + { + [self setWidth:[_segments[i] width] + 1 forSegment:i]; + } + } + + [self setFrameSize:CGSizeMake(originalWidth, [self frame].size.height)]; [self tileWithChangedSegment:0]; } @@ -948,31 +972,48 @@ var CPSegmentedControlSegmentsKey = "CPSegmentedControlSegmentsKey", @end -var CPSegmentedControlBindersMap = {}, - CPSegmentedControlNoSelectionPlaceholder = "CPSegmentedControlNoSelectionPlaceholder"; +@implementation CPSegmentedControl (BindingSupport) + ++ (Class)_binderClassForBinding:(CPString)aBinding +{ + if ([self _isSelectionBinding:aBinding]) + return [_CPSegmentedControlBinder class]; + + return [super _binderClassForBinding:aBinding]; +} + ++ (BOOL)_isSelectionBinding:(CPString)aBinding +{ + return (aBinding === CPSelectedIndexBinding || aBinding === CPSelectedLabelBinding || aBinding === CPSelectedTagBinding); +} + ++ (BOOL)isBindingExclusive:(CPString)aBinding +{ + return [self _isSelectionBinding:aBinding]; +} + +- (void)bind:(CPString)aBinding toObject:(id)anObject withKeyPath:(CPString)aKeyPath options:(CPDictionary)options +{ + if ([[self class] _isSelectionBinding:aBinding] && _trackingMode !== CPSegmentSwitchTrackingSelectOne) + { + CPLog.warn("Binding " + aBinding + " needs CPSegmentSwitchTrackingSelectOne tracking mode"); + return; + } + + [super bind:aBinding toObject:anObject withKeyPath:aKeyPath options:options]; +} + +- (void)_reverseSetBinding +{ + [_CPSegmentedControlBinder _reverseSetValueFromExclusiveBinderForObject:self]; +} + +@end + +var CPSegmentedControlNoSelectionPlaceholder = "CPSegmentedControlNoSelectionPlaceholder"; @implementation _CPSegmentedControlBinder : CPBinder { - CPString _selectionBinding @accessors(readonly, getter=selectionBinding); -} - -+ (void)reverseSetValueForObject:(id)aSource -{ - var binder = CPSegmentedControlBindersMap[[aSource UID]]; - [binder reverseSetValueFor:[binder selectionBinding]]; -} - -- (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) - { - CPSegmentedControlBindersMap[[aSource UID]] = self; - _selectionBinding = aName; - } - - return self; } - (void)_updatePlaceholdersWithOptions:(CPDictionary)options diff --git a/AppKit/CPShadow.j b/AppKit/CPShadow.j index 2246dbf58..06656f2c6 100644 --- a/AppKit/CPShadow.j +++ b/AppKit/CPShadow.j @@ -22,6 +22,9 @@ @import +@import "CGGeometry.j" +@import "CPColor.j" +@import "CPGraphicsContext.j" /*! @deprecated @@ -31,9 +34,9 @@ */ @implementation CPShadow : CPObject { - CGSize _offset @accessors(property=shadowOffset); + CGSize _offset @accessors(property=shadowOffset); float _blurRadius @accessors(property=shadowBlurRadius); - CPColor _color @accessors(property=shadowColor); + CPColor _color @accessors(property=shadowColor); } /*! diff --git a/AppKit/CPShadowView.j b/AppKit/CPShadowView.j index 5fcc5c26c..c6c223705 100644 --- a/AppKit/CPShadowView.j +++ b/AppKit/CPShadowView.j @@ -26,7 +26,7 @@ @import "CPImage.j" @import "CPView.j" - +@typedef CPShadowWeight CPLightShadow = 0; CPHeavyShadow = 1; diff --git a/AppKit/CPSound.j b/AppKit/CPSound.j index bf25bda98..218b141f7 100644 --- a/AppKit/CPSound.j +++ b/AppKit/CPSound.j @@ -23,6 +23,7 @@ @import @import +@typedef HTMLAudioElement @protocol CPSoundDelegate diff --git a/AppKit/CPStepper.j b/AppKit/CPStepper.j index 928180f62..3436d062f 100644 --- a/AppKit/CPStepper.j +++ b/AppKit/CPStepper.j @@ -25,7 +25,6 @@ @import "CPTextField.j" - /*! CPStepper is an implementation of Cocoa NSStepper. @@ -53,9 +52,9 @@ @param maxValue the maximal acceptable value of the stepper @return Initialized CPStepper */ -+ (CPStepper)stepperWithInitialValue:(float)aValue minValue:(float)aMinValue maxValue:(float)aMaxValue ++ (id)stepperWithInitialValue:(float)aValue minValue:(float)aMinValue maxValue:(float)aMaxValue { - var stepper = [[CPStepper alloc] initWithFrame:CGRectMakeZero()]; + var stepper = [[self alloc] initWithFrame:CGRectMakeZero()]; [stepper setDoubleValue:aValue]; [stepper setMinValue:aMinValue]; @@ -75,14 +74,14 @@ @return Initialized CPStepper */ -+ (CPStepper)stepper ++ (id)stepper { return [CPStepper stepperWithInitialValue:0.0 minValue:0.0 maxValue:59.0]; } + (Class)_binderClassForBinding:(CPString)aBinding { - if (aBinding == CPValueBinding || aBinding == CPMinValueBinding || aBinding == CPMaxValueBinding) + if (aBinding === CPValueBinding || aBinding === CPMinValueBinding || aBinding === CPMaxValueBinding) return [_CPStepperValueBinder class]; return [super _binderClassForBinding:aBinding]; @@ -90,7 +89,7 @@ - (CPString)_replacementKeyPathForBinding:(CPString)aBinding { - if (aBinding == CPValueBinding) + if (aBinding === CPValueBinding) return @"doubleValue"; return [super _replacementKeyPathForBinding:aBinding]; @@ -240,7 +239,7 @@ if (![self isEnabled]) return; - if (aSender == _buttonUp) + if (aSender === _buttonUp) [self setDoubleValue:([self doubleValue] + _increment)]; else [self setDoubleValue:([self doubleValue] - _increment)]; @@ -293,7 +292,7 @@ - (void)_updatePlaceholdersWithOptions:(CPDictionary)options forBinding:(CPString)aBinding { - var placeholder = (aBinding == CPMaxValueBinding) ? [_source maxValue] : [_source minValue]; + var placeholder = (aBinding === CPMaxValueBinding) ? [_source maxValue] : [_source minValue]; [super _updatePlaceholdersWithOptions:options]; diff --git a/AppKit/CPTabView.j b/AppKit/CPTabView.j index 0e3ac7030..ec145d802 100644 --- a/AppKit/CPTabView.j +++ b/AppKit/CPTabView.j @@ -25,6 +25,7 @@ @import "CPTabViewItem.j" @import "CPView.j" +@typedef CPTabViewType CPTopTabsBezelBorder = 0; //CPLeftTabsBezelBorder = 1; CPBottomTabsBezelBorder = 2; @@ -94,7 +95,7 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, _tabs = [[CPSegmentedControl alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; [_tabs setHitTests:NO]; - var height = [_tabs valueForThemeAttribute:@"default-height"]; + var height = [_tabs valueForThemeAttribute:@"min-size"].height; [_tabs setFrameSize:CGSizeMake(0, height)]; _box = [[CPBox alloc] initWithFrame:[self bounds]]; diff --git a/AppKit/CPTabViewItem.j b/AppKit/CPTabViewItem.j index 6c073b1d0..671d5bc78 100644 --- a/AppKit/CPTabViewItem.j +++ b/AppKit/CPTabViewItem.j @@ -23,7 +23,7 @@ @import @import "CPView.j" - +@class CPTabView /* The tab is currently selected. diff --git a/AppKit/CPTableColumn.j b/AppKit/CPTableColumn.j index a9ab441a2..fe7418ce1 100644 --- a/AppKit/CPTableColumn.j +++ b/AppKit/CPTableColumn.j @@ -28,9 +28,8 @@ @import "CPTextField.j" -@global CPTableViewColumnDidResizeNotification - @class _CPTableColumnHeaderView +@class CPTableView CPTableColumnNoResizing = 0; CPTableColumnAutoresizingMask = 1 << 0; @@ -185,7 +184,7 @@ CPTableColumnUserResizingMask = 1 << 1; [tableView tile]; if (!_disableResizingPosting) - [self _postDidResizeNotificationWithOldWidth:oldWidth]; + [[self tableView] _didResizeTableColumn:self oldWidth:oldWidth]; } } @@ -538,19 +537,6 @@ CPTableColumnUserResizingMask = 1 << 1; return _headerToolTip; } -/*! - @ignore -*/ -- (void)_postDidResizeNotificationWithOldWidth:(float)oldWidth -{ - [[self tableView] _didResizeTableColumn:self]; - - [[CPNotificationCenter defaultCenter] - postNotificationName:CPTableViewColumnDidResizeNotification - object:[self tableView] - userInfo:@{ @"CPTableColumn": self, @"CPOldWidth": oldWidth }]; -} - @end @implementation CPTableColumnValueBinder : CPBinder diff --git a/AppKit/CPTableHeaderView.j b/AppKit/CPTableHeaderView.j index 4bcccc3ae..a20f50561 100644 --- a/AppKit/CPTableHeaderView.j +++ b/AppKit/CPTableHeaderView.j @@ -762,7 +762,7 @@ var CPTableHeaderViewResizeZone = 3.0, var tableColumn = [[_tableView tableColumns] objectAtIndex:aColumnIndex]; if ([tableColumn width] != _columnOldWidth) - [tableColumn _postDidResizeNotificationWithOldWidth:_columnOldWidth]; + [_tableView _didResizeTableColumn:tableColumn oldWidth:_columnOldWidth]; [tableColumn setDisableResizingPosting:NO]; [_tableView setDisableAutomaticResizing:NO]; diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 0d16a5ba7..d63951d82 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -43,6 +43,7 @@ @class _CPTableColumnHeaderView @class CPClipView @class CPButton +@class _CPDropOperationDrawingView @global CPApp @@ -81,10 +82,12 @@ var CPTableViewDelegate_selectionShouldChangeInTableView_ CPTableViewDelegate_tableView_typeSelectStringForTableColumn_row_ = 1 << 17, CPTableViewDelegate_tableView_willDisplayView_forTableColumn_row_ = 1 << 18, CPTableViewDelegate_tableView_willRemoveView_forTableColumn_row_ = 1 << 19, - CPTableViewDelegate_tableViewSelectionDidChange_ = 1 << 20, - CPTableViewDelegate_tableViewSelectionIsChanging_ = 1 << 21, - CPTableViewDelegate_tableViewMenuForTableColumn_row_ = 1 << 22, - CPTableViewDelegate_tableView_shouldReorderColumn_toColumn_ = 1 << 23; + CPTableViewDelegate_tableViewColumnDidMove_ = 1 << 20, + CPTableViewDelegate_tableViewColumnDidResize_ = 1 << 21, + CPTableViewDelegate_tableViewSelectionDidChange_ = 1 << 22, + CPTableViewDelegate_tableViewSelectionIsChanging_ = 1 << 23, + CPTableViewDelegate_tableViewMenuForTableColumn_row_ = 1 << 24, + CPTableViewDelegate_tableView_shouldReorderColumn_toColumn_ = 1 << 25; //CPTableViewDraggingDestinationFeedbackStyles CPTableViewDraggingDestinationFeedbackStyleNone = -1; @@ -171,7 +174,7 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; @implementation _CPTableDrawView : CPView { - CPTableView _tableView; + id _tableView; } - (id)initWithTableView:(CPTableView)aTableView @@ -325,6 +328,8 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; Function _BlockDeselectView; Function _BlockSelectView; + + CPView _observedClipView; } /*! @@ -999,7 +1004,7 @@ NOT YET IMPLEMENTED */ -- (void)unfocusedSelectionGradientColors +- (CPColor)unfocusedSelectionGradientColors { if (!_unfocusedSourceListSelectionColor) { @@ -1213,6 +1218,9 @@ NOT YET IMPLEMENTED [[CPNotificationCenter defaultCenter] postNotificationName:CPTableViewColumnDidMoveNotification object:self userInfo:@{ @"CPOldColumn": fromIndex, @"CPNewColumn": toIndex }]; + + if (_implementedDelegateMethods & CPTableViewDelegate_tableViewColumnDidMove_) + [_delegate tableViewColumnDidMove:[[CPNotification alloc] initWithName:CPTableViewColumnDidMoveNotification object:self userInfo:@{ @"CPOldColumn": fromIndex, @"CPNewColumn": toIndex }]]; } /*! @@ -1291,9 +1299,17 @@ NOT YET IMPLEMENTED /*! @ignore */ -- (void)_didResizeTableColumn:(CPTableColumn)theColumn +- (void)_didResizeTableColumn:(CPTableColumn)theColumn oldWidth:(int)oldWidth { [self _autosave]; + + [[CPNotificationCenter defaultCenter] + postNotificationName:CPTableViewColumnDidResizeNotification + object:self + userInfo:@{ @"CPTableColumn": theColumn, @"CPOldWidth": oldWidth }]; + + if (_implementedDelegateMethods & CPTableViewDelegate_tableViewColumnDidResize_) + [_delegate tableViewColumnDidResize:[[CPNotification alloc] initWithName:CPTableViewColumnDidResizeNotification object:self userInfo:@{ @"CPTableColumn": theColumn, @"CPOldWidth": oldWidth }]]; } //Selecting Columns and Rows @@ -2795,35 +2811,6 @@ Your delegate can implement this method to avoid subclassing the tableview to ad if (_delegate === aDelegate) return; - var defaultCenter = [CPNotificationCenter defaultCenter]; - - if (_delegate) - { - if ([_delegate respondsToSelector:@selector(tableViewColumnDidMove:)]) - [defaultCenter - removeObserver:_delegate - name:CPTableViewColumnDidMoveNotification - object:self]; - - if ([_delegate respondsToSelector:@selector(tableViewColumnDidResize:)]) - [defaultCenter - removeObserver:_delegate - name:CPTableViewColumnDidResizeNotification - object:self]; - - if ([_delegate respondsToSelector:@selector(tableViewSelectionDidChange:)]) - [defaultCenter - removeObserver:_delegate - name:CPTableViewSelectionDidChangeNotification - object:self]; - - if ([_delegate respondsToSelector:@selector(tableViewSelectionIsChanging:)]) - [defaultCenter - removeObserver:_delegate - name:CPTableViewSelectionIsChangingNotification - object:self]; - } - _delegate = aDelegate; _implementedDelegateMethods = 0; @@ -2898,32 +2885,16 @@ Your delegate can implement this method to avoid subclassing the tableview to ad _implementedDelegateMethods |= CPTableViewDelegate_tableView_shouldReorderColumn_toColumn_; if ([_delegate respondsToSelector:@selector(tableViewColumnDidMove:)]) - [defaultCenter - addObserver:_delegate - selector:@selector(tableViewColumnDidMove:) - name:CPTableViewColumnDidMoveNotification - object:self]; + _implementedDelegateMethods |= CPTableViewDelegate_tableViewColumnDidMove_; if ([_delegate respondsToSelector:@selector(tableViewColumnDidResize:)]) - [defaultCenter - addObserver:_delegate - selector:@selector(tableViewColumnDidResize:) - name:CPTableViewColumnDidResizeNotification - object:self]; + _implementedDelegateMethods |= CPTableViewDelegate_tableViewColumnDidResize_; if ([_delegate respondsToSelector:@selector(tableViewSelectionDidChange:)]) - [defaultCenter - addObserver:_delegate - selector:@selector(tableViewSelectionDidChange:) - name:CPTableViewSelectionDidChangeNotification - object:self]; + _implementedDelegateMethods |= CPTableViewDelegate_tableViewSelectionDidChange_; if ([_delegate respondsToSelector:@selector(tableViewSelectionIsChanging:)]) - [defaultCenter - addObserver:_delegate - selector:@selector(tableViewSelectionIsChanging:) - name:CPTableViewSelectionIsChangingNotification - object:self]; + _implementedDelegateMethods |= CPTableViewDelegate_tableViewSelectionIsChanging_; } /*! @@ -3875,6 +3846,9 @@ Your delegate can implement this method to avoid subclassing the tableview to ad // FIXME: yuck! var identifier = [aDataView identifier]; + if ([aDataView hasThemeState:CPThemeStateSelectedDataView]) + [aDataView unsetThemeState:CPThemeStateSelectedDataView]; + if (!_cachedDataViews[identifier]) _cachedDataViews[identifier] = [aDataView]; else @@ -4376,39 +4350,15 @@ Your delegate can implement this method to avoid subclassing the tableview to ad */ - (void)viewWillMoveToSuperview:(CPView)aView { - var superview = [self superview], - defaultCenter = [CPNotificationCenter defaultCenter]; - - if (superview) - { - [defaultCenter - removeObserver:self - name:CPViewFrameDidChangeNotification - object:superview]; - - [defaultCenter - removeObserver:self - name:CPViewBoundsDidChangeNotification - object:superview]; - } - if ([aView isKindOfClass:[CPClipView class]]) + _observedClipView = aView; + else { - [aView setPostsFrameChangedNotifications:YES]; - [aView setPostsBoundsChangedNotifications:YES]; - - [defaultCenter - addObserver:self - selector:@selector(superviewFrameChanged:) - name:CPViewFrameDidChangeNotification - object:aView]; - - [defaultCenter - addObserver:self - selector:@selector(superviewBoundsChanged:) - name:CPViewBoundsDidChangeNotification - object:aView]; + [self _stopObservingClipView]; + _observedClipView = nil; } + + [super viewWillMoveToSuperview:aView]; } /*! @@ -4979,6 +4929,9 @@ Your delegate can implement this method to avoid subclassing the tableview to ad postNotificationName:CPTableViewSelectionIsChangingNotification object:self userInfo:nil]; + + if (_implementedDelegateMethods & CPTableViewDelegate_tableViewSelectionIsChanging_) + [_delegate tableViewSelectionIsChanging:[[CPNotification alloc] initWithName:CPTableViewSelectionIsChangingNotification object:self userInfo:nil]]; } /*! @@ -4990,6 +4943,9 @@ Your delegate can implement this method to avoid subclassing the tableview to ad postNotificationName:CPTableViewSelectionDidChangeNotification object:self userInfo:nil]; + + if (_implementedDelegateMethods & CPTableViewDelegate_tableViewSelectionDidChange_) + [_delegate tableViewSelectionDidChange:[[CPNotification alloc] initWithName:CPTableViewSelectionDidChangeNotification object:self userInfo:nil]]; } /*! @@ -5062,9 +5018,78 @@ Your delegate can implement this method to avoid subclassing the tableview to ad return aView; } -- (void)_startObservingFirstResponder +- (void)_removeObservers { - [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(_firstResponderDidChange:) name:_CPWindowDidChangeFirstResponderNotification object:[self window]]; + if (!_isObserving) + return; + + [self _stopObservingClipView]; + [super _removeObservers]; +} + +- (void)_addObservers +{ + if (_isObserving) + return; + + [self _startObservingClipView]; + [super _addObservers]; +} + +/*! + Called when the receiver is about to be moved to a new window. + @param aWindow the window to which the receiver will be moved. +*/ +- (void)viewWillMoveToWindow:(CPWindow)aWindow +{ + [super viewWillMoveToWindow:aWindow]; + + [self _stopObservingFirstResponder]; + + if (aWindow) + [self _startObservingFirstResponderForWindow:aWindow]; +} + +- (void)_startObservingClipView +{ + if (!_observedClipView) + return; + + var defaultCenter = [CPNotificationCenter defaultCenter]; + + [_observedClipView setPostsFrameChangedNotifications:YES]; + [_observedClipView setPostsBoundsChangedNotifications:YES]; + + [defaultCenter addObserver:self + selector:@selector(superviewFrameChanged:) + name:CPViewFrameDidChangeNotification + object:_observedClipView]; + + [defaultCenter addObserver:self + selector:@selector(superviewBoundsChanged:) + name:CPViewBoundsDidChangeNotification + object:_observedClipView]; +} + +- (void)_stopObservingClipView +{ + if (!_observedClipView) + return; + + var defaultCenter = [CPNotificationCenter defaultCenter]; + + [defaultCenter removeObserver:self + name:CPViewFrameDidChangeNotification + object:_observedClipView]; + + [defaultCenter removeObserver:self + name:CPViewBoundsDidChangeNotification + object:_observedClipView]; +} + +- (void)_startObservingFirstResponderForWindow:(CPWindow)aWindow +{ + [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(_firstResponderDidChange:) name:_CPWindowDidChangeFirstResponderNotification object:aWindow]; } - (void)_stopObservingFirstResponder @@ -6058,6 +6083,11 @@ var CPTableViewDataSourceKey = @"CPTableViewDataSourceKey", { [super encodeWithCoder:aCoder]; + // We do this in order to avoid encoding the _tableDrawView, which + // should just automatically be created programmatically as needed. + if (_tableDrawView) + [_tableDrawView removeFromSuperview]; + [aCoder encodeObject:_dataSource forKey:CPTableViewDataSourceKey]; [aCoder encodeObject:_delegate forKey:CPTableViewDelegateKey]; diff --git a/AppKit/CPTextField.j b/AppKit/CPTextField.j index 134d65816..0d8576a45 100644 --- a/AppKit/CPTextField.j +++ b/AppKit/CPTextField.j @@ -31,24 +31,32 @@ @global CPApp @global CPStringPboardType +@global CPCursor @protocol CPTextFieldDelegate @end +var CPTextFieldDelegate_control_didFailToFormatString_errorDescription_ = 1 << 1, + CPTextFieldDelegate_controlTextDidBeginEditing_ = 1 << 2, + CPTextFieldDelegate_controlTextDidChange_ = 1 << 3, + CPTextFieldDelegate_controlTextDidEndEditing_ = 1 << 4, + CPTextFieldDelegate_controlTextDidFocus_ = 1 << 5, + CPTextFieldDelegate_controlTextDidBlur_ = 1 << 6; -var CPTextFieldDelegate_control_didFailToFormatString_errorDescription_ = 1 << 1; +@typedef CPTextFieldBezelStyle CPTextFieldSquareBezel = 0; /*! A textfield bezel with squared corners. */ CPTextFieldRoundedBezel = 1; /*! A textfield bezel with rounded corners. */ CPTextFieldDidFocusNotification = @"CPTextFieldDidFocusNotification"; CPTextFieldDidBlurNotification = @"CPTextFieldDidBlurNotification"; -var CPTextFieldDOMInputElement = nil, - CPTextFieldDOMPasswordInputElement = nil, +var CPTextFieldDOMCurrentElement = nil, + CPTextFieldDOMTextAreaElement = nil, CPTextFieldDOMStandardInputElement = nil, + CPTextFieldDOMPasswordInputElement = nil, CPTextFieldInputOwner = nil, CPTextFieldTextDidChangeValue = nil, CPTextFieldInputResigning = NO, @@ -141,6 +149,9 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); // NS-style Display Properties CPTextFieldBezelStyle _bezelStyle; BOOL _isBordered; + BOOL _usesSingleLineMode; + BOOL _wraps; + BOOL _scrolls; } + (Class)_binderClassForBinding:(CPString)aBinding @@ -239,101 +250,112 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); [self _sizeToControlSize]; } -#pragma mark - +#pragma mark - #if PLATFORM(DOM) - (DOMElement)_inputElement { - if (!CPTextFieldDOMInputElement) + if (!CPTextFieldDOMTextAreaElement) { - CPTextFieldDOMInputElement = document.createElement("input"); - CPTextFieldDOMInputElement.style.position = "absolute"; - CPTextFieldDOMInputElement.style.border = "0px"; - CPTextFieldDOMInputElement.style.padding = "0px"; - CPTextFieldDOMInputElement.style.margin = "0px"; - CPTextFieldDOMInputElement.style.whiteSpace = "pre"; - CPTextFieldDOMInputElement.style.background = "transparent"; - CPTextFieldDOMInputElement.style.outline = "none"; + CPTextFieldDOMTextAreaElement = document.createElement("textarea"); + CPTextFieldDOMTextAreaElement.style.position = "absolute"; + CPTextFieldDOMTextAreaElement.style.border = "0px"; + CPTextFieldDOMTextAreaElement.style.padding = "0px"; + CPTextFieldDOMTextAreaElement.style.margin = "0px"; + CPTextFieldDOMTextAreaElement.style.background = "transparent"; + CPTextFieldDOMTextAreaElement.style.outline = "none"; + CPTextFieldDOMTextAreaElement.style.resize = "none"; + CPTextFieldDOMTextAreaElement.style.overflow = "hidden"; + CPTextFieldDOMTextAreaElement.spellcheck = NO; + } + if (!CPTextFieldDOMStandardInputElement) + { + CPTextFieldDOMStandardInputElement = document.createElement("input"); + CPTextFieldDOMStandardInputElement.style.position = "absolute"; + CPTextFieldDOMStandardInputElement.style.border = "0px"; + CPTextFieldDOMStandardInputElement.style.padding = "0px"; + CPTextFieldDOMStandardInputElement.style.margin = "0px"; + CPTextFieldDOMStandardInputElement.style.whiteSpace = "pre"; + CPTextFieldDOMStandardInputElement.style.background = "transparent"; + CPTextFieldDOMStandardInputElement.style.outline = "none"; + CPTextFieldDOMStandardInputElement.spellcheck = NO; + } + + if (!CPTextFieldDOMPasswordInputElement) + { + CPTextFieldDOMPasswordInputElement = document.createElement("input"); + CPTextFieldDOMPasswordInputElement.style.position = "absolute"; + CPTextFieldDOMPasswordInputElement.style.border = "0px"; + CPTextFieldDOMPasswordInputElement.style.padding = "0px"; + CPTextFieldDOMPasswordInputElement.style.margin = "0px"; + CPTextFieldDOMPasswordInputElement.style.whiteSpace = "pre"; + CPTextFieldDOMPasswordInputElement.style.background = "transparent"; + CPTextFieldDOMPasswordInputElement.style.outline = "none"; + CPTextFieldDOMPasswordInputElement.type = "password"; + CPTextFieldDOMPasswordInputElement.spellcheck = NO; + } + + if (!CPTextFieldBlurHandler) + { CPTextFieldBlurHandler = function(anEvent) { return CPTextFieldBlurFunction( anEvent, CPTextFieldInputOwner, CPTextFieldInputOwner ? CPTextFieldInputOwner._DOMElement : nil, - CPTextFieldDOMInputElement, + CPTextFieldDOMCurrentElement, CPTextFieldInputResigning, @ref(CPTextFieldInputDidBlur)); }; + } - if (CPFeatureIsCompatible(CPInputOnInputEventFeature)) + if (!CPTextFieldInputFunction) + { + if (!CPFeatureIsCompatible(CPInputOnInputEventFeature)) + return; + + CPTextFieldInputFunction = function(anEvent) { - CPTextFieldInputFunction = function(anEvent) - { - if (!CPTextFieldInputOwner) - return; + if (!CPTextFieldInputOwner) + return; - var cappEvent = [CPEvent keyEventWithType:CPKeyUp - location:CGPointMakeZero() - modifierFlags:0 - timestamp:[CPEvent currentTimestamp] - windowNumber:[[CPApp keyWindow] windowNumber] - context:nil - characters:nil - charactersIgnoringModifiers:nil - isARepeat:NO - keyCode:nil]; + var cappEvent = [CPEvent keyEventWithType:CPKeyUp + location:CGPointMakeZero() + modifierFlags:0 + timestamp:[CPEvent currentTimestamp] + windowNumber:[[CPApp keyWindow] windowNumber] + context:nil + characters:nil + charactersIgnoringModifiers:nil + isARepeat:NO + keyCode:nil]; - [CPTextFieldInputOwner keyUp:cappEvent]; + [CPTextFieldInputOwner keyUp:cappEvent]; - [[CPRunLoop currentRunLoop] limitDateForMode:CPDefaultRunLoopMode]; - } - - CPTextFieldDOMInputElement.oninput = CPTextFieldInputFunction; + [[CPRunLoop currentRunLoop] limitDateForMode:CPDefaultRunLoopMode]; } - // FIXME make this not onblur - CPTextFieldDOMInputElement.onblur = CPTextFieldBlurHandler; + CPTextFieldDOMPasswordInputElement.oninput = CPTextFieldInputFunction; + CPTextFieldDOMPasswordInputElement.onblur = CPTextFieldBlurHandler; - CPTextFieldDOMStandardInputElement = CPTextFieldDOMInputElement; + CPTextFieldDOMStandardInputElement.oninput = CPTextFieldInputFunction; + CPTextFieldDOMPasswordInputElement.onblur = CPTextFieldBlurHandler; + + CPTextFieldDOMTextAreaElement.oninput = CPTextFieldInputFunction; + CPTextFieldDOMTextAreaElement.onblur = CPTextFieldBlurHandler; } - if (CPFeatureIsCompatible(CPInputTypeCanBeChangedFeature)) - { - if ([self isSecure]) - CPTextFieldDOMInputElement.type = "password"; - else - CPTextFieldDOMInputElement.type = "text"; - - return CPTextFieldDOMInputElement; - } if ([self isSecure]) - { - if (!CPTextFieldDOMPasswordInputElement) - { - CPTextFieldDOMPasswordInputElement = document.createElement("input"); - CPTextFieldDOMPasswordInputElement.style.position = "absolute"; - CPTextFieldDOMPasswordInputElement.style.border = "0px"; - CPTextFieldDOMPasswordInputElement.style.padding = "0px"; - CPTextFieldDOMPasswordInputElement.style.margin = "0px"; - CPTextFieldDOMPasswordInputElement.style.whiteSpace = "pre"; - CPTextFieldDOMPasswordInputElement.style.background = "transparent"; - CPTextFieldDOMPasswordInputElement.style.outline = "none"; - CPTextFieldDOMPasswordInputElement.type = "password"; - - CPTextFieldDOMPasswordInputElement.onblur = CPTextFieldBlurHandler; - } - - CPTextFieldDOMInputElement = CPTextFieldDOMPasswordInputElement; - } + CPTextFieldDOMCurrentElement = CPTextFieldDOMPasswordInputElement; + else if (_usesSingleLineMode) + CPTextFieldDOMCurrentElement = CPTextFieldDOMStandardInputElement; else - { - CPTextFieldDOMInputElement = CPTextFieldDOMStandardInputElement; - } + CPTextFieldDOMCurrentElement = CPTextFieldDOMTextAreaElement; - return CPTextFieldDOMInputElement; + return CPTextFieldDOMCurrentElement; } #endif @@ -552,6 +574,24 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); return _textFieldBackgroundColor; } +/*! @ignore */ +- (void)_setUsesSingleLineMode:(BOOL)aFlag +{ + _usesSingleLineMode = aFlag; +} + +/*! @ignore */ +- (void)_setWraps:(BOOL)aFlag +{ + _wraps = aFlag; +} + +/*! @ignore */ +- (void)_setScrolls:(BOOL)aFlag +{ + _scrolls = aFlag; +} + /*! @ignore */ - (BOOL)acceptsFirstResponder { @@ -607,28 +647,10 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); [self _setCSSStyleForInputElement]; - var element = [self _inputElement], - font = [self currentValueForThemeAttribute:@"font"], - contentRect = [self contentRectForBounds:[self bounds]], - left = CGRectGetMinX(contentRect); - + var element = [self _inputElement]; element.value = _stringValue; - - // If the browser has a built in left padding, compensate for it. We need the input text to be exactly on top of the original text. - if (CPFeatureIsCompatible(CPInput1PxLeftPadding)) - left -= 1; - - element.style.left = left + "px"; - element.style.width = CGRectGetWidth(contentRect) + "px"; - element.style.verticalAlign = "top"; - element.style.cursor = "auto"; - _DOMElement.appendChild(element); - // The font change above doesn't work for some browsers if the element isn't already appendChild'ed. - if (!CPFeatureIsCompatible(CPInputSetFontOutsideOfDOM)) - element.style.font = [font cssString]; - CPTextFieldInputIsActive = YES; if (document.attachEvent) @@ -672,37 +694,18 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); */ - (void)_setCSSStyleForInputElement { - #if PLATFORM(DOM) - var element = [self _inputElement], - font = [self currentValueForThemeAttribute:@"font"], - lineHeight = [font defaultLineHeightForFont], - contentRect = [self contentRectForBounds:[self bounds]], - verticalAlign = [self currentValueForThemeAttribute:"vertical-alignment"]; - if ([self hasThemeState:CPTextFieldStatePlaceholder]) - element.style.color = [[self valueForThemeAttribute:@"text-color" inState:CPTextFieldStatePlaceholder] cssString]; - else - element.style.color = [[self valueForThemeAttribute:@"text-color" inState:CPThemeStateEditing] cssString]; + var element = [self _inputElement], + font = [self currentValueForThemeAttribute:@"font"], + lineHeight = [font defaultLineHeightForFont], + contentRect = [self contentRectForBounds:[self bounds]], + verticalAlign = [self currentValueForThemeAttribute:"vertical-alignment"], + left = CGRectGetMinX(contentRect); - if (CPFeatureIsCompatible(CPInputSetFontOutsideOfDOM)) - element.style.font = [font cssString]; - - element.style.zIndex = 1000; - - switch ([self alignment]) - { - case CPCenterTextAlignment: - element.style.textAlign = "center"; - break; - - case CPRightTextAlignment: - element.style.textAlign = "right"; - break; - - default: - element.style.textAlign = "left"; - } + // If the browser has a built in left padding, compensate for it. We need the input text to be exactly on top of the original text. + if (CPFeatureIsCompatible(CPInput1PxLeftPadding)) + left -= 1; switch (verticalAlign) { @@ -723,12 +726,41 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); break; } - element.style.top = topPoint; - element.style.height = ROUND(lineHeight) + "px"; - element.style.lineHeight = ROUND(lineHeight) + "px"; + if ([self hasThemeState:CPTextFieldStatePlaceholder]) + element.style.color = [[self valueForThemeAttribute:@"text-color" inState:CPTextFieldStatePlaceholder] cssString]; + else + element.style.color = [[self valueForThemeAttribute:@"text-color" inState:CPThemeStateEditing] cssString]; + + switch ([self alignment]) + { + case CPCenterTextAlignment: + element.style.textAlign = "center"; + break; + + case CPRightTextAlignment: + element.style.textAlign = "right"; + break; + + default: + element.style.textAlign = "left"; + } + + var isTextArea = element.nodeName.toUpperCase() == "TEXTAREA"; + + element.style.zIndex = 1000; + element.style.top = topPoint; + element.style.lineHeight = ROUND(lineHeight) + "px"; + element.style.height = isTextArea ? CGRectGetHeight(contentRect) + "px" : ROUND(lineHeight) + "px";; + element.style.width = CGRectGetWidth(contentRect) + "px"; + element.style.left = left + "px"; + element.style.verticalAlign = "top"; + element.style.cursor = "auto"; + element.style.font = [font cssString]; + + if (isTextArea) + element.style.whiteSpace = _wraps ? "pre" : "nowrap"; #endif - } /*! @ignore */ @@ -834,6 +866,26 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); } } +- (void)_removeObservers +{ + if (!_isObserving) + return; + + [super _removeObservers]; + [self _setObserveWindowKeyNotifications:NO]; +} + +- (void)_addObservers +{ + if (_isObserving) + return; + + [super _addObservers]; + + if ([[self window] firstResponder] === self) + [self _setObserveWindowKeyNotifications:YES]; +} + - (void)_windowDidResignKey:(CPNotification)aNotification { if (![[self window] isKeyWindow]) @@ -902,6 +954,12 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); [self textDidChange:[CPNotification notificationWithName:CPControlTextDidChangeNotification object:self userInfo:nil]]; } +- (void)mouseMoved:(CPEvent)anEvent +{ + [super mouseMoved:anEvent]; + [self _updateCursorForEvent:anEvent]; +} + - (void)mouseDown:(CPEvent)anEvent { // Don't track! (ever?) @@ -1072,7 +1130,11 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); range = [self selectedRange], element = [self _inputElement]; - element.value = [element.value stringByReplacingCharactersInRange:[self selectedRange] withString:aCharacter]; + // we don't need to do this in case of textarea + // or we will end up with 2 carriage returns + if (aCharacter != CPNewlineCharacter || element.nodeName.toUpperCase() != "TEXTAREA" || !CPFeatureIsCompatible(CPAltEnterTextAreaFeature)) + element.value = [element.value stringByReplacingCharactersInRange:[self selectedRange] withString:aCharacter]; + [self _setStringValue:element.value]; // NOTE: _stringValue is now the current input element value @@ -1090,6 +1152,9 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); if ([note object] != self) return; + if (_implementedDelegateMethods & CPTextFieldDelegate_controlTextDidBlur_) + [_delegate controlTextDidBlur:note]; + [[CPNotificationCenter defaultCenter] postNotification:note]; } @@ -1099,6 +1164,9 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); if ([note object] != self) return; + if (_implementedDelegateMethods & CPTextFieldDelegate_controlTextDidFocus_) + [_delegate controlTextDidFocus:note]; + [[CPNotificationCenter defaultCenter] postNotification:note]; } @@ -1109,9 +1177,57 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); [self _continuouslyReverseSetBinding]; + if (_implementedDelegateMethods & CPTextFieldDelegate_controlTextDidChange_) + [_delegate controlTextDidChange:note]; + [super textDidChange:note]; } +- (void)textDidBeginEditing:(CPNotification)note +{ + //this looks to prevent false propagation of notifications for other objects + if ([note object] != self) + return; + + if (_implementedDelegateMethods & CPTextFieldDelegate_controlTextDidBeginEditing_) + [_delegate controlTextDidBeginEditing:[[CPNotification alloc] initWithName:CPControlTextDidBeginEditingNotification object:self userInfo:@{"CPFieldEditor": [note object]}]] + + [super textDidBeginEditing:note]; +} + +- (void)textDidEndEditing:(CPNotification)note +{ + //this looks to prevent false propagation of notifications for other objects + if ([note object] != self) + return; + + [super textDidEndEditing:note]; + + if (_implementedDelegateMethods & CPTextFieldDelegate_controlTextDidEndEditing_) + [_delegate controlTextDidEndEditing:note]; +} + +- (void)_updateCursorForEvent:(CPEvent)anEvent +{ + var frame = CGRectMakeCopy([self frame]), + contentInset = [self currentValueForThemeAttribute:@"content-inset"]; + + frame = [[self superview] convertRectToBase:CGRectInsetByInset(frame, contentInset)]; + + if ([self isEnabled] && ([self isSelectable] || [self isEditable]) && CGRectContainsPoint(frame, [anEvent locationInWindow])) + { +#if PLATFORM(DOM) + self._DOMElement.style.cursor = "text"; +#endif + } + else + { +#if PLATFORM(DOM) + self._DOMElement.style.cursor = "default"; +#endif + } +} + /*! Returns the string in the text field. */ @@ -1635,17 +1751,8 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); - (void)setDelegate:(id )aDelegate { - var defaultCenter = [CPNotificationCenter defaultCenter]; - - //unsubscribe the existing delegate if it exists - if (_delegate) - { - [defaultCenter removeObserver:_delegate name:CPControlTextDidBeginEditingNotification object:self]; - [defaultCenter removeObserver:_delegate name:CPControlTextDidChangeNotification object:self]; - [defaultCenter removeObserver:_delegate name:CPControlTextDidEndEditingNotification object:self]; - [defaultCenter removeObserver:_delegate name:CPTextFieldDidFocusNotification object:self]; - [defaultCenter removeObserver:_delegate name:CPTextFieldDidBlurNotification object:self]; - } + if (_delegate === aDelegate) + return; _delegate = aDelegate; _implementedDelegateMethods = 0; @@ -1654,40 +1761,19 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder"); _implementedDelegateMethods |= CPTextFieldDelegate_control_didFailToFormatString_errorDescription_ if ([_delegate respondsToSelector:@selector(controlTextDidBeginEditing:)]) - [defaultCenter - addObserver:_delegate - selector:@selector(controlTextDidBeginEditing:) - name:CPControlTextDidBeginEditingNotification - object:self]; + _implementedDelegateMethods |= CPTextFieldDelegate_controlTextDidBeginEditing_; if ([_delegate respondsToSelector:@selector(controlTextDidChange:)]) - [defaultCenter - addObserver:_delegate - selector:@selector(controlTextDidChange:) - name:CPControlTextDidChangeNotification - object:self]; - + _implementedDelegateMethods |= CPTextFieldDelegate_controlTextDidChange_; if ([_delegate respondsToSelector:@selector(controlTextDidEndEditing:)]) - [defaultCenter - addObserver:_delegate - selector:@selector(controlTextDidEndEditing:) - name:CPControlTextDidEndEditingNotification - object:self]; + _implementedDelegateMethods |= CPTextFieldDelegate_controlTextDidEndEditing_; if ([_delegate respondsToSelector:@selector(controlTextDidFocus:)]) - [defaultCenter - addObserver:_delegate - selector:@selector(controlTextDidFocus:) - name:CPTextFieldDidFocusNotification - object:self]; + _implementedDelegateMethods |= CPTextFieldDelegate_controlTextDidFocus_; if ([_delegate respondsToSelector:@selector(controlTextDidBlur:)]) - [defaultCenter - addObserver:_delegate - selector:@selector(controlTextDidBlur:) - name:CPTextFieldDidBlurNotification - object:self]; + _implementedDelegateMethods |= CPTextFieldDelegate_controlTextDidBlur_; } - (id)delegate @@ -1896,7 +1982,11 @@ var CPTextFieldIsEditableKey = "CPTextFieldIsEditableKey", CPTextFieldLineBreakModeKey = "CPTextFieldLineBreakModeKey", CPTextFieldAlignmentKey = "CPTextFieldAlignmentKey", CPTextFieldBackgroundColorKey = "CPTextFieldBackgroundColorKey", - CPTextFieldPlaceholderStringKey = "CPTextFieldPlaceholderStringKey"; + CPTextFieldPlaceholderStringKey = "CPTextFieldPlaceholderStringKey", + CPTextFieldUsesSingleLineMode = "CPTextFieldUsesSingleLineMode", + CPTextFieldWraps = "CPTextFieldWraps", + CPTextFieldScrolls = "CPTextFieldScrolls"; + @implementation CPTextField (CPCoding) @@ -1922,6 +2012,10 @@ var CPTextFieldIsEditableKey = "CPTextFieldIsEditableKey", [self setAlignment:[aCoder decodeIntForKey:CPTextFieldAlignmentKey]]; [self setPlaceholderString:[aCoder decodeObjectForKey:CPTextFieldPlaceholderStringKey]]; + + [self _setUsesSingleLineMode:[aCoder decodeBoolForKey:CPTextFieldUsesSingleLineMode]]; + [self _setWraps:[aCoder decodeBoolForKey:CPTextFieldWraps]]; + [self _setScrolls:[aCoder decodeBoolForKey:CPTextFieldScrolls]]; } return self; @@ -1946,6 +2040,10 @@ var CPTextFieldIsEditableKey = "CPTextFieldIsEditableKey", [aCoder encodeInt:[self alignment] forKey:CPTextFieldAlignmentKey]; [aCoder encodeObject:_placeholderString forKey:CPTextFieldPlaceholderStringKey]; + + [aCoder encodeBool:_usesSingleLineMode forKey:CPTextFieldUsesSingleLineMode]; + [aCoder encodeBool:_wraps forKey:CPTextFieldWraps]; + [aCoder encodeBool:_scrolls forKey:CPTextFieldScrolls]; } @end @@ -1976,6 +2074,23 @@ var CPTextFieldIsEditableKey = "CPTextFieldIsEditableKey", [_source setObjectValue:aValue]; } +- (void)reverseSetValueFor:(CPString)aBinding +{ + var destination = [_info objectForKey:CPObservedObjectKey], + keyPath = [_info objectForKey:CPObservedKeyPathKey], + options = [_info objectForKey:CPOptionsKey], + newValue = [self valueForBinding:aBinding], + value = [destination valueForKeyPath:keyPath]; + + if (CPIsControllerMarker(value) && newValue === nil) return; + + newValue = [self reverseTransformValue:newValue withOptions:options]; + + [self suppressSpecificNotificationFromObject:destination keyPath:keyPath]; + [destination setValue:newValue forKeyPath:keyPath]; + [self unsuppressSpecificNotificationFromObject:destination keyPath:keyPath]; +} + @end @implementation _CPTextFieldPatternValueBinder : CPValueWithPatternBinding diff --git a/AppKit/CPTheme.j b/AppKit/CPTheme.j index f87c3a2a2..426c462ca 100644 --- a/AppKit/CPTheme.j +++ b/AppKit/CPTheme.j @@ -26,6 +26,7 @@ @import @class CPView +@class _CPThemeAttribute var CPThemesByName = { }, CPThemeDefaultTheme = nil, diff --git a/AppKit/CPTokenField.j b/AppKit/CPTokenField.j index cc4b96765..705435aae 100644 --- a/AppKit/CPTokenField.j +++ b/AppKit/CPTokenField.j @@ -33,6 +33,9 @@ @import "CPTextField.j" @import "CPWindow_Constants.j" +@class _CPTokenFieldTokenCloseButton +@class _CPTokenFieldTokenDisclosureButton + @global CPApp @global CPTextFieldDidFocusNotification @global CPTextFieldDidBlurNotification diff --git a/AppKit/CPToolbar.j b/AppKit/CPToolbar.j index 3cc711518..49c78924e 100644 --- a/AppKit/CPToolbar.j +++ b/AppKit/CPToolbar.j @@ -37,6 +37,8 @@ var CPToolbarDelegate_toolbar_itemForItemIdentifier_willBeInsertedIntoToolbar_ CPToolbarDelegate_toolbarSelectableItemIdentifiers_ = 1 << 4, CPToolbarDelegate_toolbarWillAddItem_ = 1 << 5; + +@typedef CPToolbarDisplayMode /* @global @group CPToolbarDisplayMode @@ -58,7 +60,7 @@ CPToolbarDisplayModeIconOnly = 2; */ CPToolbarDisplayModeLabelOnly = 3; - +@typedef CPToolbarSizeMode CPToolbarSizeModeDefault = 0; CPToolbarSizeModeRegular = 1; CPToolbarSizeModeSmall = 2; diff --git a/AppKit/CPView.j b/AppKit/CPView.j index 3ceb92f6e..18d09d25e 100644 --- a/AppKit/CPView.j +++ b/AppKit/CPView.j @@ -40,9 +40,12 @@ @class CPMenu @class CPClipView @class CPScrollView +@class CALayer @global appkit_tag_dom_elements +@typedef _CPViewFullScreenModeState + #if PLATFORM(DOM) if (typeof(appkit_tag_dom_elements) !== "undefined" && appkit_tag_dom_elements) @@ -172,6 +175,7 @@ var CPViewFlags = { }, BOOL _postsBoundsChangedNotifications; BOOL _inhibitFrameAndBoundsChangedNotifications; BOOL _inLiveResize; + BOOL _isSuperviewAClipView; #if PLATFORM(DOM) DOMElement _DOMElement; @@ -228,6 +232,8 @@ var CPViewFlags = { }, Function _toolTipFunctionIn; Function _toolTipFunctionOut; BOOL _toolTipInstalled; + + BOOL _isObserving; } /* @@ -508,8 +514,12 @@ var CPViewFlags = { }, [CPException raise:CPInvalidArgumentException reason:"can't insert a subview in duplicate (probably partially decoded)"]; #endif + // Notify the subview that it will be moving. + [aSubview viewWillMoveToSuperview:self]; + // We will have to adjust the z-index of all views starting at this index. - var count = _subviews.length; + var count = _subviews.length, + lastWindow; // Dirty the key view loop, in case the window wants to auto recalculate it [[self window] _dirtyKeyViewLoop]; @@ -537,14 +547,12 @@ var CPViewFlags = { }, } else { + var superview = aSubview._superview; + + lastWindow = [superview window]; + // Remove the view from its previous superview. - [aSubview removeFromSuperview]; - - // Set the subview's window to our own. - [aSubview _setWindow:_window]; - - // Notify the subview that it will be moving. - [aSubview viewWillMoveToSuperview:self]; + [aSubview _removeFromSuperview]; // Set ourselves as the superview. aSubview._superview = self; @@ -577,6 +585,15 @@ var CPViewFlags = { }, if (![aSubview isHidden] && [self isHiddenOrHasHiddenAncestor]) [aSubview _notifyViewDidHide]; + [aSubview viewDidMoveToSuperview]; + + // Set the subview's window to our own. + if (_window) + [aSubview _setWindow:_window]; + + if (!_window && lastWindow) + [aSubview _setWindow:nil]; + // This method might be called before we are fully unarchived, in which case the theme state isn't set up yet // and none of the below matters anyhow. if (_themeState) @@ -592,8 +609,6 @@ var CPViewFlags = { }, [aSubview _notifyWindowDidResignKey]; } - [aSubview viewDidMoveToSuperview]; - [self didAddSubview:aSubview]; } @@ -610,6 +625,18 @@ var CPViewFlags = { }, Does nothing if there's no container view. */ - (void)removeFromSuperview +{ + var superview = _superview; + + [self viewWillMoveToSuperview:nil]; + [self _removeFromSuperview]; + [self viewDidMoveToSuperview]; + + if (superview) + [self _setWindow:nil]; +} + +- (void)_removeFromSuperview { if (!_superview) return; @@ -634,8 +661,6 @@ var CPViewFlags = { }, [self _notifyViewDidResignFirstResponder]; _superview = nil; - - [self _setWindow:nil]; } /*! @@ -645,14 +670,14 @@ var CPViewFlags = { }, */ - (void)replaceSubview:(CPView)aSubview with:(CPView)aView { - if (aSubview._superview !== self) + if (aSubview._superview !== self || aSubview === aView) return; var index = [_subviews indexOfObjectIdenticalTo:aSubview]; - [aSubview removeFromSuperview]; - [self _insertSubview:aView atIndex:index]; + + [aSubview removeFromSuperview]; } - (void)setSubviews:(CPArray)newSubviews @@ -727,13 +752,10 @@ var CPViewFlags = { }, /* @ignore */ - (void)_setWindow:(CPWindow)aWindow { - if (_window === aWindow) - return; - [[self window] _dirtyKeyViewLoop]; // Clear out first responder if we're the first responder and leaving. - if ([_window firstResponder] === self) + if ([_window firstResponder] === self && _window != aWindow) [_window makeFirstResponder:nil]; // Notify the view and its subviews @@ -803,6 +825,12 @@ var CPViewFlags = { }, */ - (void)viewWillMoveToSuperview:(CPView)aView { + _isSuperviewAClipView = [aView isKindOfClass:[CPClipView class]]; + + [self _removeObservers]; + + if (aView) + [self _addObservers]; } /*! @@ -821,6 +849,32 @@ var CPViewFlags = { }, { } +- (void)_removeObservers +{ + if (!_isObserving) + return; + + var count = [_subviews count]; + + while (count--) + [_subviews[count] _removeObservers]; + + _isObserving = NO; +} + +- (void)_addObservers +{ + if (_isObserving) + return; + + var count = [_subviews count]; + + while (count--) + [_subviews[count] _addObservers]; + + _isObserving = YES; +} + /*! Returns the menu item containing the receiver or one of its ancestor views. @return a menu item, or \c nil if the view or one of its ancestors wasn't found @@ -904,6 +958,9 @@ var CPViewFlags = { }, if (_postsFrameChangedNotifications) [CachedNotificationCenter postNotificationName:CPViewFrameDidChangeNotification object:self]; + + if (_isSuperviewAClipView) + [[self superview] viewFrameChanged:[[CPNotification alloc] initWithName:CPViewFrameDidChangeNotification object:self userInfo:nil]]; } /*! @@ -966,6 +1023,9 @@ var CPViewFlags = { }, if (_postsFrameChangedNotifications && !_inhibitFrameAndBoundsChangedNotifications) [CachedNotificationCenter postNotificationName:CPViewFrameDidChangeNotification object:self]; + if (_isSuperviewAClipView && !_inhibitFrameAndBoundsChangedNotifications) + [[self superview] viewFrameChanged:[[CPNotification alloc] initWithName:CPViewFrameDidChangeNotification object:self userInfo:nil]]; + #if PLATFORM(DOM) var transform = _superview ? _superview._boundsTransform : NULL; @@ -1035,7 +1095,7 @@ var CPViewFlags = { }, // Make sure to repeat the top and bottom pieces horizontally if they're not the exact width needed. if (top) { - CPDomDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], frameSize.width + "px", top + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], frameSize.width + "px", top + "px"); CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], size.width, top); partIndex++; } @@ -1043,13 +1103,13 @@ var CPViewFlags = { }, { var height = frameSize.height - top - bottom; - CPDomDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], frameSize.width + "px", height + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], frameSize.width + "px", height + "px"); CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], size.width, size.height - top - bottom); partIndex++; } if (bottom) { - CPDomDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], frameSize.width + "px", bottom + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], frameSize.width + "px", bottom + "px"); CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], size.width, bottom); } } @@ -1061,7 +1121,7 @@ var CPViewFlags = { }, // Make sure to repeat the left and right pieces vertically if they're not the exact height needed. if (left) { - CPDomDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], left + "px", frameSize.height + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], left + "px", frameSize.height + "px"); CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], left, size.height); partIndex++; } @@ -1069,13 +1129,13 @@ var CPViewFlags = { }, { var width = (frameSize.width - left - right); - CPDomDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], width + "px", frameSize.height + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], width + "px", frameSize.height + "px"); CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], size.width - left - right, size.height); partIndex++; } if (right) { - CPDomDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], right + "px", frameSize.height + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], right + "px", frameSize.height + "px"); CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], right, size.height); } } @@ -1125,6 +1185,9 @@ var CPViewFlags = { }, if (_postsFrameChangedNotifications && !_inhibitFrameAndBoundsChangedNotifications) [CachedNotificationCenter postNotificationName:CPViewFrameDidChangeNotification object:self]; + + if (_isSuperviewAClipView && !_inhibitFrameAndBoundsChangedNotifications) + [[self superview] viewFrameChanged:[[CPNotification alloc] initWithName:CPViewFrameDidChangeNotification object:self userInfo:nil]]; } /*! @@ -1159,6 +1222,9 @@ var CPViewFlags = { }, if (_postsBoundsChangedNotifications) [CachedNotificationCenter postNotificationName:CPViewBoundsDidChangeNotification object:self]; + + if (_isSuperviewAClipView) + [[self superview] viewBoundsChanged:[[CPNotification alloc] initWithName:CPViewBoundsDidChangeNotification object:self userInfo:nil]]; } /*! @@ -1221,6 +1287,9 @@ var CPViewFlags = { }, if (_postsBoundsChangedNotifications && !_inhibitFrameAndBoundsChangedNotifications) [CachedNotificationCenter postNotificationName:CPViewBoundsDidChangeNotification object:self]; + + if (_isSuperviewAClipView && !_inhibitFrameAndBoundsChangedNotifications) + [[self superview] viewBoundsChanged:[[CPNotification alloc] initWithName:CPViewBoundsDidChangeNotification object:self userInfo:nil]]; } /*! @@ -1259,6 +1328,9 @@ var CPViewFlags = { }, if (_postsBoundsChangedNotifications && !_inhibitFrameAndBoundsChangedNotifications) [CachedNotificationCenter postNotificationName:CPViewBoundsDidChangeNotification object:self]; + + if (_isSuperviewAClipView && !_inhibitFrameAndBoundsChangedNotifications) + [[self superview] viewBoundsChanged:[[CPNotification alloc] initWithName:CPViewBoundsDidChangeNotification object:self userInfo:nil]]; } @@ -1817,7 +1889,7 @@ var CPViewFlags = { }, _DOMImageParts[0].style.background = [_backgroundColor cssString]; if (patternImage) - CPDomDisplayServerSetStyleBackgroundSize(_DOMImageParts[0], [patternImage size].width + "px", [patternImage size].height + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMImageParts[0], [patternImage size].width + "px", [patternImage size].height + "px"); if (CPFeatureIsCompatible(CPOpacityRequiresFilterFeature)) _DOMImageParts[0].style.filter = "alpha(opacity=" + [_backgroundColor alphaComponent] * 100 + ")"; @@ -1831,7 +1903,7 @@ var CPViewFlags = { }, _DOMElement.style.background = colorCSS; if (patternImage) - CPDomDisplayServerSetStyleBackgroundSize(_DOMElement, [patternImage size].width + "px", [patternImage size].height + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMElement, [patternImage size].width + "px", [patternImage size].height + "px"); } else { @@ -1936,7 +2008,7 @@ var CPViewFlags = { }, // Make sure to repeat the top and bottom pieces horizontally if they're not the exact width needed. if (top) { - CPDomDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], frameSize.width + "px", top + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], frameSize.width + "px", top + "px"); CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[partIndex], NULL, 0.0, 0.0); CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], frameSize.width, top); partIndex++; @@ -1946,14 +2018,14 @@ var CPViewFlags = { }, var height = frameSize.height - top - bottom; //_DOMImageParts[partIndex].style.backgroundSize = frameSize.width + "px " + height + "px"; - CPDomDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], frameSize.width + "px", height + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], frameSize.width + "px", height + "px"); CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[partIndex], NULL, 0.0, top); CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], frameSize.width, height); partIndex++; } if (bottom) { - CPDomDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], frameSize.width + "px", bottom + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], frameSize.width + "px", bottom + "px"); CPDOMDisplayServerSetStyleLeftBottom(_DOMImageParts[partIndex], NULL, 0.0, 0.0); CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], frameSize.width, bottom); } @@ -1968,7 +2040,7 @@ var CPViewFlags = { }, // Make sure to repeat the left and right pieces vertically if they're not the exact height needed. if (left) { - CPDomDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], left + "px", frameSize.height + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], left + "px", frameSize.height + "px"); CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[partIndex], NULL, 0.0, 0.0); CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], left, frameSize.height); partIndex++; @@ -1977,14 +2049,14 @@ var CPViewFlags = { }, { var width = (frameSize.width - left - right); - CPDomDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], width + "px", frameSize.height + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], width + "px", frameSize.height + "px"); CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[partIndex], NULL, left, 0.0); CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], width, frameSize.height); partIndex++; } if (right) { - CPDomDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], right + "px", frameSize.height + "px"); + CPDOMDisplayServerSetStyleBackgroundSize(_DOMImageParts[partIndex], right + "px", frameSize.height + "px"); CPDOMDisplayServerSetStyleRightTop(_DOMImageParts[partIndex], NULL, 0.0, 0.0); CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], right, frameSize.height); } @@ -2964,10 +3036,10 @@ setBoundsOrigin: - (BOOL)unsetThemeState:(ThemeState)aState { - if (aState && aState.isa && [aState isKindOfClass:CPArray]) + if (aState && aState.isa && [aState isKindOfClass:CPArray]) aState = CPThemeState.apply(null, aState); - var oldThemeState = _themeState + var oldThemeState = _themeState; _themeState = _themeState.without(aState); if (oldThemeState === _themeState) diff --git a/AppKit/CPViewController.j b/AppKit/CPViewController.j index 2ea3a05de..0c9bec99e 100644 --- a/AppKit/CPViewController.j +++ b/AppKit/CPViewController.j @@ -210,6 +210,7 @@ var CPViewControllerCachedCibs; [cibOwner viewControllerDidLoadCib:self]; _isLoading = NO; + _isLazy = NO; [self _viewDidLoad]; } else if (_isLazy) diff --git a/AppKit/CPWebView.j b/AppKit/CPWebView.j index 98cc59caa..a382122d0 100644 --- a/AppKit/CPWebView.j +++ b/AppKit/CPWebView.j @@ -23,6 +23,9 @@ @import "CPView.j" @import "CPScrollView.j" +@class CPWebScriptObject + +@typedef Window // FIXME: implement these where possible: /* @@ -93,7 +96,7 @@ CPWebViewAppKitScrollMaxPollCount = 3; CPScrollView _scrollView; CPView _frameView; - IFrame _iframe; + DOMElement _iframe; CPString _mainFrameURL; CPArray _backwardStack; CPArray _forwardStack; diff --git a/AppKit/CPWindow/CPWindow.j b/AppKit/CPWindow/CPWindow.j index 0e074ccb1..160a03ee4 100644 --- a/AppKit/CPWindow/CPWindow.j +++ b/AppKit/CPWindow/CPWindow.j @@ -50,9 +50,15 @@ @class CPMenu @class CPProgressIndicator +@class CPToolbar +@class CPWindowController +@class _CPWindowFrameAnimation @global CPApp +@typedef _CPWindowFullPlatformWindowSession + + @protocol CPWindowDelegate @optional @@ -901,16 +907,21 @@ CPTexturedBackgroundWindowMask - (void)_orderFront { + #if PLATFORM(DOM) // -dw- if a sheet is clicked, the parent window should come up too if (_isSheet) [_parentView orderFront:self]; - if (!_isVisible) - [self _setFrame:_frame display:YES animate:NO constrainWidth:YES constrainHeight:YES]; + // Save the boolean since it will be updated in the method order:window:relativeTo: + var wasVisible = _isVisible; [_platformWindow orderFront:self]; [_platformWindow order:CPWindowAbove window:self relativeTo:nil]; + + // setFrame is set after ordering the window as this method can send some notifications + if (!wasVisible) + [self _setFrame:_frame display:YES animate:NO constrainWidth:YES constrainHeight:YES]; #endif if (!CPApp._keyWindow) @@ -931,6 +942,23 @@ CPTexturedBackgroundWindowMask { } +/* + Called when the window is displayed in the DOM +*/ +- (void)_windowWillBeAddedToTheDOM +{ + [[self contentView] _addObservers]; +} + +/* + Called when the window is removed in the DOM +*/ +- (void)_windowWillBeRemovedFromTheDOM +{ + [[self contentView] _removeObservers]; +} + + /* Makes the receiver the last window in the screen ordering. @param aSender the object that requested this @@ -977,6 +1005,7 @@ CPTexturedBackgroundWindowMask [_platformWindow order:CPWindowOut window:self relativeTo:nil]; #endif + [self makeFirstResponder:nil]; [self _updateMainAndKeyWindows]; } @@ -1841,6 +1870,12 @@ CPTexturedBackgroundWindowMask if (_leftMouseDownView !== _firstResponder && [_leftMouseDownView acceptsFirstResponder]) [self makeFirstResponder:_leftMouseDownView]; + var keyWindow = [CPApp keyWindow]; + + // This is only when we move from a platform to another one + if ([keyWindow platformWindow] != [self platformWindow]) + [self makeKeyAndOrderFront:self]; + [CPApp activateIgnoringOtherApps:YES]; var theWindow = [anEvent window], @@ -2472,7 +2507,7 @@ CPTexturedBackgroundWindowMask if (currentWindow === self || currentWindow === menuWindow) continue; - if ([currentWindow isVisible] && [currentWindow canBecomeKeyWindow]) + if ([currentWindow isVisible] && [currentWindow canBecomeKeyWindow] && [currentWindow platformWindow] == [keyWindow platformWindow]) { [currentWindow makeKeyWindow]; break; @@ -2674,6 +2709,23 @@ CPTexturedBackgroundWindowMask [attachedSheet setFrame:sheetFrame display:YES animate:NO]; } +- (void)_previousSheetIsClosedNotification:(CPNotification)aNotification +{ + [[CPNotificationCenter defaultCenter] removeObserver:self name:CPWindowDidEndSheetNotification object:self]; + + var sheet = _sheetContext[@"nextSheet"], + modalDelegate =_sheetContext[@"nextModalDelegate"], + endSelector = _sheetContext[@"nextEndSelector"], + contextInfo = _sheetContext[@"nextContextInfo"]; + + // Needed, because when the notification CPWindowDidEndSheetNotification is sent, the sheetContext is not up to date... + setTimeout(function() + { + [sheet._windowView _enableSheet:YES inWindow:self]; + [self _attachSheet:sheet modalDelegate:modalDelegate didEndSelector:endSelector contextInfo:contextInfo]; + }, 0) +} + /* Starting point for sheet session, called from CPApplication beginSheet: */ @@ -2682,9 +2734,24 @@ CPTexturedBackgroundWindowMask { if (_sheetContext) { - [CPException raise:CPInternalInconsistencyException - reason:@"The target window of beginSheet: already has a sheet, did you forget orderOut: ?"]; - return; + // Here we wait till the current sheet is closed + if (_sheetContext[@"isClosing"]) + { + // Here we save the next sheet to open + _sheetContext[@"nextSheet"] = aSheet; + _sheetContext[@"nextModalDelegate"] = aModalDelegate; + _sheetContext[@"nextEndSelector"] = didEndSelector; + _sheetContext[@"nextContextInfo"] = contextInfo; + + [[CPNotificationCenter defaultCenter] addObserver:self selector:@selector(_previousSheetIsClosedNotification:) name:CPWindowDidEndSheetNotification object:self]; + return; + } + else + { + [CPException raise:CPInternalInconsistencyException + reason:@"The target window of beginSheet: already has a sheet, did you forget orderOut: ?"]; + return; + } } _sheetContext = { @@ -2736,7 +2803,12 @@ CPTexturedBackgroundWindowMask */ - (void)_detachSheetWindow { + if (_sheetContext["isClosing"]) + return; + _sheetContext["isAttached"] = NO; + _sheetContext["isClosing"] = YES; + _sheetContext["opened"] = NO; // A timer seems to be necessary for the animation to work correctly. // It would be ideal to block here and spin the event loop, until attach is complete. @@ -2869,12 +2941,6 @@ CPTexturedBackgroundWindowMask return; } - if (_sheetContext["isClosing"]) - return; - - _sheetContext["opened"] = NO; - _sheetContext["isClosing"] = YES; - // The parent window can be orderedOut to disable the sheet animate out, as in Cocoa if ([self isVisible]) { diff --git a/AppKit/CPWindow/CPWindow_Constants.j b/AppKit/CPWindow/CPWindow_Constants.j index a9a2c3327..0caf4de78 100644 --- a/AppKit/CPWindow/CPWindow_Constants.j +++ b/AppKit/CPWindow/CPWindow_Constants.j @@ -81,6 +81,7 @@ CPWindowMinYMargin = 8; CPWindowHeightSizable = 16; CPWindowMaxYMargin = 32; +@typedef CPWindowLevel CPBackgroundWindowLevel = -1; /* Default level for windows @@ -143,6 +144,7 @@ CPDraggingWindowLevel = 500; */ CPScreenSaverWindowLevel = 1000; +@typedef CPWindowOrderingMode /* The receiver is placed directly in front of the window specified. @global diff --git a/AppKit/CPWindowController.j b/AppKit/CPWindowController.j index 8fa7b527d..2cfa3669c 100644 --- a/AppKit/CPWindowController.j +++ b/AppKit/CPWindowController.j @@ -25,6 +25,7 @@ @import "CPCib.j" @import "CPResponder.j" +@import "CPViewController.j" @import "CPWindow.j" @class CPDocument diff --git a/AppKit/CoreGraphics/CGAffineTransform.j b/AppKit/CoreGraphics/CGAffineTransform.j index b73f26f07..0cfb36bcf 100644 --- a/AppKit/CoreGraphics/CGAffineTransform.j +++ b/AppKit/CoreGraphics/CGAffineTransform.j @@ -22,6 +22,8 @@ @import "CGGeometry.j" +@typedef CGAffineTransform + function CGAffineTransformMake(a, b, c, d, tx, ty) { diff --git a/AppKit/CoreGraphics/CGColorSpace.j b/AppKit/CoreGraphics/CGColorSpace.j index 9502a0703..e5d7673e8 100644 --- a/AppKit/CoreGraphics/CGColorSpace.j +++ b/AppKit/CoreGraphics/CGColorSpace.j @@ -20,6 +20,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +@typedef CGColorSpace + kCGColorSpaceModelUnknown = -1; kCGColorSpaceModelMonochrome = 0; kCGColorSpaceModelRGB = 1; diff --git a/AppKit/CoreGraphics/CGContext.j b/AppKit/CoreGraphics/CGContext.j index c0b43eabd..ed518129a 100644 --- a/AppKit/CoreGraphics/CGContext.j +++ b/AppKit/CoreGraphics/CGContext.j @@ -25,6 +25,7 @@ @import "CGGeometry.j" @import "CGPath.j" +@typedef CGContext kCGLineCapButt = 0; kCGLineCapRound = 1; @@ -737,7 +738,7 @@ else if (CPFeatureIsCompatible(CPVMLFeature)) else { // I have declared these functions here to make it compile without warnings with the new compiler under rhino. - CGContextClearRect = CGContextDrawLinearGradient = CGContextClip = CGContextClipToRect = function() {throw new Error("function is not declared in this environment")} + CGContextClearRect = CGContextDrawLinearGradient = CGContextClip = CGContextClipToRect = CGContextDrawImage = function() {throw new Error("function is not declared in this environment")} } /*! @endcond diff --git a/AppKit/CoreGraphics/CGGradient.j b/AppKit/CoreGraphics/CGGradient.j index 3681c086e..aea212219 100644 --- a/AppKit/CoreGraphics/CGGradient.j +++ b/AppKit/CoreGraphics/CGGradient.j @@ -23,6 +23,7 @@ @import "CGColor.j" @import "CGColorSpace.j" +@typedef CGGradient kCGGradientDrawsBeforeStartLocation = 1 << 0; kCGGradientDrawsAfterEndLocation = 1 << 1; diff --git a/AppKit/CoreGraphics/CGPath.j b/AppKit/CoreGraphics/CGPath.j index 45c5d9062..b7cea5164 100644 --- a/AppKit/CoreGraphics/CGPath.j +++ b/AppKit/CoreGraphics/CGPath.j @@ -23,6 +23,7 @@ @import "CGAffineTransform.j" @import "CGGeometry.j" +@typedef CGPath kCGPathElementMoveToPoint = 0; kCGPathElementAddLineToPoint = 1; @@ -629,4 +630,4 @@ function CGPathContainsPoint(aPath, aTransform, point, eoFill) /*! @} -*/ \ No newline at end of file +*/ diff --git a/AppKit/Platform/CPPlatformWindow.j b/AppKit/Platform/CPPlatformWindow.j index 628293117..3e2ff2817 100644 --- a/AppKit/Platform/CPPlatformWindow.j +++ b/AppKit/Platform/CPPlatformWindow.j @@ -27,9 +27,12 @@ @class CPMenu @class CPPlatformPasteboard +@class CPWindow @global CPApp +@typedef DOMWindow + var PrimaryPlatformWindow = NULL; @implementation CPPlatformWindow : CPObject diff --git a/AppKit/Platform/DOM/CPDOMDisplayServer.h b/AppKit/Platform/DOM/CPDOMDisplayServer.h index 614d10ecf..0ec941984 100644 --- a/AppKit/Platform/DOM/CPDOMDisplayServer.h +++ b/AppKit/Platform/DOM/CPDOMDisplayServer.h @@ -80,7 +80,7 @@ aDOMElement.style.bottom = ROUND(____p.y) + "px"; aDOMElement.width = MAX(0.0, ROUND(aWidth));\ aDOMElement.height = MAX(0.0, ROUND(aHeight)); -#define CPDomDisplayServerSetStyleBackgroundSize(aDOMElement, aWidth, aHeight)\ +#define CPDOMDisplayServerSetStyleBackgroundSize(aDOMElement, aWidth, aHeight)\ aDOMElement.style.backgroundSize = aWidth + ' ' + aHeight; #define CPDOMDisplayServerAppendChild(aParentElement, aChildElement) aParentElement.appendChild(aChildElement) @@ -129,7 +129,7 @@ aDOMElement.style.bottom = ROUND(____p.y) + "px"; CPDOMDisplayServerInstructions[__index + 2] = aWidth;\ CPDOMDisplayServerInstructions[__index + 3] = aHeight; -#define CPDomDisplayServerSetStyleBackgroundSize(aDOMElement, aWidth, aHeight)\ +#define CPDOMDisplayServerSetStyleBackgroundSize(aDOMElement, aWidth, aHeight)\ aDOMElement.style.backgroundSize = aWidth + ' ' + aHeight; #define CPDOMDisplayServerAppendChild(aParentElement, aChildElement)\ diff --git a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j index b0610b5f2..80a04feae 100644 --- a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j +++ b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j @@ -1143,7 +1143,7 @@ var PreventScroll = true; _mouseDownIsRightClick = button == 2 || (CPBrowserIsOperatingSystem(CPMacOperatingSystem) && button == 0 && modifierFlags & CPControlKeyMask); - if (sourceElement.tagName === "INPUT" && sourceElement != _DOMFocusElement) + if ((sourceElement.tagName === "INPUT" || sourceElement.tagName === "TEXTAREA") && sourceElement != _DOMFocusElement) { if ([CPPlatform supportsDragAndDrop]) { @@ -1280,7 +1280,7 @@ var PreventScroll = true; insertionIndex = _windowLevels[middle] > aLevel ? middle : middle + 1 [_windowLevels insertObject:aLevel atIndex:insertionIndex]; - layer._DOMElement.style.zIndex = aLevel; + layer._DOMElement.style.zIndex = aLevel + 1; // adding one avoids negative zIndices. These have been causing issues in Chrome _DOMBodyElement.appendChild(layer._DOMElement); } @@ -1299,7 +1299,10 @@ var PreventScroll = true; // When ordering out, ignore otherWindow, simply remove aWindow from its level. // If layer is nil, this will be a no-op. if (orderingMode === CPWindowOut) + { + [aWindow _windowWillBeRemovedFromTheDOM]; return [layer removeWindow:aWindow]; + } /* If aWindow is a child of otherWindow and is not yet visible, @@ -1345,6 +1348,8 @@ var PreventScroll = true; if (otherWindow) insertionIndex = orderingMode === CPWindowAbove ? otherWindow._index + 1 : otherWindow._index; + [aWindow _windowWillBeAddedToTheDOM]; + // Place the window at the appropriate index. [layer insertWindow:aWindow atIndex:insertionIndex]; @@ -1395,6 +1400,9 @@ var PreventScroll = true; var index = ordering === CPWindowAbove ? parent._index + 1 : parent._index; + if (!childWasVisible) + [child _windowWillBeAddedToTheDOM]; + [aLayer insertWindow:child atIndex:index]; if (!childWasVisible) diff --git a/AppKit/Themes/Aristo/ThemeDescriptors.j b/AppKit/Themes/Aristo/ThemeDescriptors.j index c99f23bd1..4bac4681a 100755 --- a/AppKit/Themes/Aristo/ThemeDescriptors.j +++ b/AppKit/Themes/Aristo/ThemeDescriptors.j @@ -1258,6 +1258,19 @@ var themedButtonValues = nil, ["textfield-bezel-square-disabled-8.png", 6.0, 6.0] ]), + bezelFocusedColor = PatternColor( + [ + ["textfield-bezel-square-focused-0.png", 6.0, 6.0], + ["textfield-bezel-square-focused-1.png", 1.0, 6.0], + ["textfield-bezel-square-focused-2.png", 6.0, 6.0], + ["textfield-bezel-square-focused-3.png", 6.0, 1.0], + ["textfield-bezel-square-focused-4.png", 1.0, 1.0], + ["textfield-bezel-square-focused-5.png", 6.0, 1.0], + ["textfield-bezel-square-focused-6.png", 6.0, 6.0], + ["textfield-bezel-square-focused-7.png", 1.0, 6.0], + ["textfield-bezel-square-focused-8.png", 6.0, 6.0] + ]), + bezelColorDatePickerTextField = PatternColor( [ [@"datepicker-date-segment-0.png", 4.0, 18.0], @@ -1268,6 +1281,7 @@ var themedButtonValues = nil, themeValues = [ [@"bezel-color", bezelColor, CPThemeStateBezeled], + [@"bezel-color", bezelFocusedColor, [CPThemeStateBezeled, CPThemeStateEditing]], [@"bezel-color", bezelDisabledColor, [CPThemeStateBezeled, CPThemeStateDisabled]], [@"font", [CPFont boldSystemFontOfSize:13.0]], @@ -1275,8 +1289,10 @@ var themedButtonValues = nil, [@"content-inset", CGInsetMake(6.0, 0.0, 0.0, 3.0), CPThemeStateNormal], [@"content-inset", CGInsetMake(6.0, 0.0, 0.0, 5.0), CPThemeStateBezeled], + [@"content-inset", CGInsetMake(6.0, 0.0, 0.0, 5.0), [CPThemeStateBezeled, CPThemeStateEditing]], [@"bezel-inset", CGInsetMake(0.0, -3.0, 0.0, -3.0), CPThemeStateBezeled], + [@"bezel-inset", CGInsetMake(0.0, -3.0, 0.0, -3.0), [CPThemeStateBezeled, CPThemeStateEditing]], [@"datepicker-textfield-bezel-color", [CPColor clearColor], CPThemeStateNormal], [@"datepicker-textfield-bezel-color", bezelColorDatePickerTextField, CPThemeStateSelected], @@ -1301,10 +1317,12 @@ var themedButtonValues = nil, // CPThemeStateControlSizeSmall [@"content-inset", CGInsetMake(5.0, 0.0, 0.0, 5.0), [CPThemeStateControlSizeSmall, CPThemeStateNormal]], [@"content-inset", CGInsetMake(5.0, 0.0, 0.0, 5.0), [CPThemeStateControlSizeSmall, CPThemeStateBezeled]], + [@"content-inset", CGInsetMake(5.0, 0.0, 0.0, 5.0), [CPThemeStateControlSizeSmall, CPThemeStateEditing, CPThemeStateBezeled]], [@"min-size-datepicker-textfield", CGSizeMake(6.0, 16.0), CPThemeStateControlSizeSmall], [@"date-hour-margin", 5.0, CPThemeStateControlSizeSmall], [@"stepper-margin", 3.0, CPThemeStateControlSizeSmall], + [@"stepper-margin", 3.0, [CPThemeStateControlSizeSmall, CPThemeStateEditing]], [@"min-size", CGSizeMake(0, 26.0), CPThemeStateControlSizeSmall], [@"max-size", CGSizeMake(-1.0, 26.0), CPThemeStateControlSizeSmall], @@ -1313,10 +1331,12 @@ var themedButtonValues = nil, // CPThemeStateControlSizeMini [@"content-inset", CGInsetMake(4.0, 0.0, 0.0, 4.0), [CPThemeStateControlSizeMini, CPThemeStateNormal]], [@"content-inset", CGInsetMake(4.0, 0.0, 0.0, 4.0), [CPThemeStateControlSizeMini, CPThemeStateBezeled]], + [@"content-inset", CGInsetMake(4.0, 0.0, 0.0, 4.0), [CPThemeStateControlSizeMini, CPThemeStateEditing, CPThemeStateBezeled]], [@"min-size-datepicker-textfield", CGSizeMake(6.0, 12.0), CPThemeStateControlSizeMini], [@"date-hour-margin", 2.0, CPThemeStateControlSizeMini], [@"stepper-margin", 2.0, CPThemeStateControlSizeMini], + [@"stepper-margin", 2.0, [CPThemeStateControlSizeMini, CPThemeStateEditing]], [@"min-size", CGSizeMake(0, 22.0), CPThemeStateControlSizeMini], [@"max-size", CGSizeMake(-1.0, 22.0), CPThemeStateControlSizeMini], @@ -1820,8 +1840,8 @@ var themedButtonValues = nil, // The right border inset has to make room for the focus ring and popup button [@"content-inset", CGInsetMake(8.0, 27.0, 7.0, 8.0), [CPThemeStateBezeled, CPComboBoxStateButtonBordered]], - [@"content-inset", CGInsetMake(8.0, 24.0, 7.0, 8.0), CPThemeStateBezeled], - [@"content-inset", CGInsetMake(8.0, 24.0, 7.0, 8.0), [CPThemeStateBezeled, CPThemeStateEditing]], + [@"content-inset", CGInsetMake(8.0, 27.0, 7.0, 8.0), CPThemeStateBezeled], + [@"content-inset", CGInsetMake(8.0, 27.0, 7.0, 8.0), [CPThemeStateBezeled, CPThemeStateEditing]], [@"popup-button-size", CGSizeMake(21.0, 23.0), [CPThemeStateBezeled, CPComboBoxStateButtonBordered]], [@"popup-button-size", CGSizeMake(17.0, 23.0), CPThemeStateBezeled], @@ -2089,6 +2109,52 @@ var themedButtonValues = nil, pushedHighlightedLeftBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-left.png", 4.0, 24.0), pushedHighlightedRightBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-right.png", 4.0, 24.0); + var smallCenterBezelColor = PatternColor("segmented-control-bezel-center.png", 1.0, 20.0), + smallDividerBezelColor = PatternColor("segmented-control-bezel-divider.png", 1.0, 20.0), + smallCenterHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-center.png", 1.0, 20.0), + smallDividerHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-divider.png", 1.0, 20.0), + smallLeftHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-left.png", 4.0, 20.0), + smallRightHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-right.png", 4.0, 20.0), + smallInactiveCenterBezelColor = PatternColor("segmented-control-bezel-disabled-center.png", 1.0, 20.0), + smallInactiveDividerBezelColor = PatternColor("segmented-control-bezel-disabled-divider.png", 1.0, 20.0), + smallInactiveLeftBezelColor = PatternColor("segmented-control-bezel-disabled-left.png", 4.0, 20.0), + smallInactiveRightBezelColor = PatternColor("segmented-control-bezel-disabled-right.png", 4.0, 20.0), + smallInactiveHighlightedCenterBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-center.png", 1.0, 20.0), + smallInactiveHighlightedDividerBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-divider.png", 1.0, 20.0), + smallInactiveHighlightedLeftBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-left.png", 4.0, 20.0), + smallInactiveHighlightedRightBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-right.png", 4.0, 20.0), + smallLeftBezelColor = PatternColor("segmented-control-bezel-left.png", 4.0, 20.0), + smallRightBezelColor = PatternColor("segmented-control-bezel-right.png", 4.0, 20.0), + smallPushedCenterBezelColor = PatternColor("segmented-control-bezel-pushed-center.png", 1.0, 20.0), + smallPushedLeftBezelColor = PatternColor("segmented-control-bezel-pushed-left.png", 4.0, 20.0), + smallPushedRightBezelColor = PatternColor("segmented-control-bezel-pushed-right.png", 4.0, 20.0), + smallPushedHighlightedCenterBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-center.png", 1.0, 20.0), + smallPushedHighlightedLeftBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-left.png", 4.0, 20.0), + smallPushedHighlightedRightBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-right.png", 4.0, 20.0); + + var miniCenterBezelColor = PatternColor("segmented-control-bezel-center.png", 1.0, 15.0), + miniDividerBezelColor = PatternColor("segmented-control-bezel-divider.png", 1.0, 15.0), + miniCenterHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-center.png", 1.0, 15.0), + miniDividerHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-divider.png", 1.0, 15.0), + miniLeftHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-left.png", 4.0, 15.0), + miniRightHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-right.png", 4.0, 15.0), + miniInactiveCenterBezelColor = PatternColor("segmented-control-bezel-disabled-center.png", 1.0, 15.0), + miniInactiveDividerBezelColor = PatternColor("segmented-control-bezel-disabled-divider.png", 1.0, 15.0), + miniInactiveLeftBezelColor = PatternColor("segmented-control-bezel-disabled-left.png", 4.0, 15.0), + miniInactiveRightBezelColor = PatternColor("segmented-control-bezel-disabled-right.png", 4.0, 15.0), + miniInactiveHighlightedCenterBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-center.png", 1.0, 15.0), + miniInactiveHighlightedDividerBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-divider.png", 1.0, 15.0), + miniInactiveHighlightedLeftBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-left.png", 4.0, 15.0), + miniInactiveHighlightedRightBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-right.png", 4.0, 15.0), + miniLeftBezelColor = PatternColor("segmented-control-bezel-left.png", 4.0, 15.0), + miniRightBezelColor = PatternColor("segmented-control-bezel-right.png", 4.0, 15.0), + miniPushedCenterBezelColor = PatternColor("segmented-control-bezel-pushed-center.png", 1.0, 15.0), + miniPushedLeftBezelColor = PatternColor("segmented-control-bezel-pushed-left.png", 4.0, 15.0), + miniPushedRightBezelColor = PatternColor("segmented-control-bezel-pushed-right.png", 4.0, 15.0), + miniPushedHighlightedCenterBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-center.png", 1.0, 15.0), + miniPushedHighlightedLeftBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-left.png", 4.0, 15.0), + miniPushedHighlightedRightBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-right.png", 4.0, 15.0); + themedSegmentedControlValues = [ [@"center-segment-bezel-color", centerBezelColor, CPThemeStateNormal], @@ -2117,9 +2183,75 @@ var themedButtonValues = nil, [@"right-segment-bezel-color", pushedRightBezelColor, CPThemeStateHighlighted], [@"right-segment-bezel-color", pushedHighlightedRightBezelColor, [CPThemeStateHighlighted, CPThemeStateSelected]], + + [@"center-segment-bezel-color", smallCenterBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateNormal]], + [@"center-segment-bezel-color", smallInactiveCenterBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateDisabled]], + [@"center-segment-bezel-color", smallInactiveHighlightedCenterBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected, CPThemeStateDisabled]], + [@"center-segment-bezel-color", smallCenterHighlightedBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected]], + [@"center-segment-bezel-color", smallPushedCenterBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateHighlighted]], + [@"center-segment-bezel-color", smallPushedHighlightedCenterBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateHighlighted, CPThemeStateSelected]], + + [@"divider-bezel-color", smallDividerBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateNormal]], + [@"divider-bezel-color", smallInactiveDividerBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateDisabled]], + [@"divider-bezel-color", smallInactiveHighlightedDividerBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected, CPThemeStateDisabled]], + [@"divider-bezel-color", smallDividerHighlightedBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected]], + + [@"left-segment-bezel-color", smallLeftBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateNormal]], + [@"left-segment-bezel-color", smallInactiveLeftBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateDisabled]], + [@"left-segment-bezel-color", smallInactiveHighlightedLeftBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected, CPThemeStateDisabled]], + [@"left-segment-bezel-color", smallLeftHighlightedBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected]], + [@"left-segment-bezel-color", smallPushedLeftBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateHighlighted]], + [@"left-segment-bezel-color", smallPushedHighlightedLeftBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateHighlighted, CPThemeStateSelected]], + + [@"right-segment-bezel-color", smallRightBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateNormal]], + [@"right-segment-bezel-color", smallInactiveRightBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateDisabled]], + [@"right-segment-bezel-color", smallInactiveHighlightedRightBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected, CPThemeStateDisabled]], + [@"right-segment-bezel-color", smallRightHighlightedBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected]], + [@"right-segment-bezel-color", smallPushedRightBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateHighlighted]], + [@"right-segment-bezel-color", smallPushedHighlightedRightBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateHighlighted, CPThemeStateSelected]], + + + [@"center-segment-bezel-color", miniCenterBezelColor, [CPThemeStateControlSizeMini, CPThemeStateNormal]], + [@"center-segment-bezel-color", miniInactiveCenterBezelColor, [CPThemeStateControlSizeMini, CPThemeStateDisabled]], + [@"center-segment-bezel-color", miniInactiveHighlightedCenterBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected, CPThemeStateDisabled]], + [@"center-segment-bezel-color", miniCenterHighlightedBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected]], + [@"center-segment-bezel-color", miniPushedCenterBezelColor, [CPThemeStateControlSizeMini, CPThemeStateHighlighted]], + [@"center-segment-bezel-color", miniPushedHighlightedCenterBezelColor, [CPThemeStateControlSizeMini, CPThemeStateHighlighted, CPThemeStateSelected]], + + [@"divider-bezel-color", miniDividerBezelColor, [CPThemeStateControlSizeMini, CPThemeStateNormal]], + [@"divider-bezel-color", miniInactiveDividerBezelColor, [CPThemeStateControlSizeMini, CPThemeStateDisabled]], + [@"divider-bezel-color", miniInactiveHighlightedDividerBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected, CPThemeStateDisabled]], + [@"divider-bezel-color", miniDividerHighlightedBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected]], + + [@"left-segment-bezel-color", miniLeftBezelColor, [CPThemeStateControlSizeMini, CPThemeStateNormal]], + [@"left-segment-bezel-color", miniInactiveLeftBezelColor, [CPThemeStateControlSizeMini, CPThemeStateDisabled]], + [@"left-segment-bezel-color", miniInactiveHighlightedLeftBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected, CPThemeStateDisabled]], + [@"left-segment-bezel-color", miniLeftHighlightedBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected]], + [@"left-segment-bezel-color", miniPushedLeftBezelColor, [CPThemeStateControlSizeMini, CPThemeStateHighlighted]], + [@"left-segment-bezel-color", miniPushedHighlightedLeftBezelColor, [CPThemeStateControlSizeMini, CPThemeStateHighlighted, CPThemeStateSelected]], + + [@"right-segment-bezel-color", miniRightBezelColor, [CPThemeStateControlSizeMini, CPThemeStateNormal]], + [@"right-segment-bezel-color", miniInactiveRightBezelColor, [CPThemeStateControlSizeMini, CPThemeStateDisabled]], + [@"right-segment-bezel-color", miniInactiveHighlightedRightBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected, CPThemeStateDisabled]], + [@"right-segment-bezel-color", miniRightHighlightedBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected]], + [@"right-segment-bezel-color", miniPushedRightBezelColor, [CPThemeStateControlSizeMini, CPThemeStateHighlighted]], + [@"right-segment-bezel-color", miniPushedHighlightedRightBezelColor, [CPThemeStateControlSizeMini, CPThemeStateHighlighted, CPThemeStateSelected]], + [@"content-inset", CGInsetMake(0.0, 4.0, 0.0, 4.0), CPThemeStateNormal], [@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateNormal], + [@"min-size", CGSizeMake(-1.0, 24.0)], + [@"max-size", CGSizeMake(-1.0, 24.0)], + [@"nib2cib-adjustment-frame", CGRectMake(1.0, 1.0, -3.0, 0.0)], + + [@"min-size", CGSizeMake(-1.0, 20.0), CPThemeStateControlSizeSmall], + [@"max-size", CGSizeMake(-1.0, 20.0), CPThemeStateControlSizeSmall], + [@"nib2cib-adjustment-frame", CGRectMake(2.0, 0.0, -4.0, 0.0), CPThemeStateControlSizeSmall], + + [@"min-size", CGSizeMake(-1.0, 15.0), CPThemeStateControlSizeMini], + [@"max-size", CGSizeMake(-1.0, 15.0), CPThemeStateControlSizeMini], + [@"nib2cib-adjustment-frame", CGRectMake(1.0, 0.0, -2.0, 0.0), CPThemeStateControlSizeMini], + [@"font", [CPFont boldSystemFontOfSize:CPFontCurrentSystemSize]], [@"text-color", [CPColor colorWithCalibratedWhite:79.0 / 255.0 alpha:1.0]], [@"text-color", [CPColor colorWithCalibratedWhite:0.6 alpha:1.0], CPThemeStateDisabled], @@ -2128,8 +2260,7 @@ var themedButtonValues = nil, [@"text-shadow-offset", CGSizeMake(0.0, 1.0)], [@"line-break-mode", CPLineBreakByTruncatingTail], - [@"divider-thickness", 1.0], - [@"default-height", 25.0] + [@"divider-thickness", 1.0] ]; [self registerThemeValues:themedSegmentedControlValues forView:segmentedControl]; diff --git a/AppKit/Themes/Aristo2/Resources/rule-editor-button-add-highlighted-image.png b/AppKit/Themes/Aristo2/Resources/rule-editor-button-add-highlighted-image.png new file mode 100644 index 000000000..92d3953cd Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/rule-editor-button-add-highlighted-image.png differ diff --git a/AppKit/Themes/Aristo2/Resources/rule-editor-button-add-image.png b/AppKit/Themes/Aristo2/Resources/rule-editor-button-add-image.png index c223c965b..c9b7592cf 100644 Binary files a/AppKit/Themes/Aristo2/Resources/rule-editor-button-add-image.png and b/AppKit/Themes/Aristo2/Resources/rule-editor-button-add-image.png differ diff --git a/AppKit/Themes/Aristo2/Resources/rule-editor-button-remove-highlighted-image.png b/AppKit/Themes/Aristo2/Resources/rule-editor-button-remove-highlighted-image.png new file mode 100644 index 000000000..ac6d5cdc9 Binary files /dev/null and b/AppKit/Themes/Aristo2/Resources/rule-editor-button-remove-highlighted-image.png differ diff --git a/AppKit/Themes/Aristo2/Resources/rule-editor-button-remove-image.png b/AppKit/Themes/Aristo2/Resources/rule-editor-button-remove-image.png index f99f803e3..0c2bce290 100644 Binary files a/AppKit/Themes/Aristo2/Resources/rule-editor-button-remove-image.png and b/AppKit/Themes/Aristo2/Resources/rule-editor-button-remove-image.png differ diff --git a/AppKit/Themes/Aristo2/ThemeDescriptors.j b/AppKit/Themes/Aristo2/ThemeDescriptors.j index 1603331f3..5fea39d42 100644 --- a/AppKit/Themes/Aristo2/ThemeDescriptors.j +++ b/AppKit/Themes/Aristo2/ThemeDescriptors.j @@ -374,7 +374,7 @@ var themedButtonValues = nil, [@"font", [CPFont boldSystemFontOfSize:11.0]], [@"min-size", CGSizeMake(32.0, 20.0), CPThemeStateControlSizeSmall], - [@"max-size", CGSizeMake(1.0, 20.0), CPThemeStateControlSizeSmall], + [@"max-size", CGSizeMake(-1.0, 20.0), CPThemeStateControlSizeSmall], [@"nib2cib-adjustment-frame", CGRectMake(3.0, 4.0, -6.0, 0.0), CPThemeStateControlSizeSmall], // CPThemeStateControlSizeMini @@ -386,7 +386,7 @@ var themedButtonValues = nil, [@"min-size", CGSizeMake(32.0, 16.0), CPThemeStateControlSizeMini], [@"max-size", CGSizeMake(-1.0, 16.0), CPThemeStateControlSizeMini], - [@"nib2cib-adjustment-frame", CGRectMake(1.0, 10.0, -3.0, 0.0), CPThemeStateControlSizeMini] + [@"nib2cib-adjustment-frame", CGRectMake(1.0, 10.0, -3.0, 0.0), CPThemeStateControlSizeMini] ]; [self registerThemeValues:themeValues forView:button]; @@ -824,6 +824,14 @@ var themedButtonValues = nil, height: 4.0 }), + bezelFocusedColor = PatternColor( + "textfield-bezel-square-focused{position}.png", + { + positions: "#", + width: 9.0, + height: 9.0 + }), + bezelColorDatePickerTextField = PatternColor( [ [@"datepicker-date-segment-0.png", 4.0, 18.0], @@ -835,14 +843,17 @@ var themedButtonValues = nil, [ [@"bezel-color", bezelColor["@"], CPThemeStateBezeled], [@"bezel-color", bezelColor["disabled"], [CPThemeStateBezeled, CPThemeStateDisabled]], + [@"bezel-color", bezelFocusedColor, [CPThemeStateBezeled, CPThemeStateEditing]], [@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize]], [@"text-color", [CPColor colorWithWhite:0.2 alpha:0.5], CPThemeStateDisabled], [@"content-inset", CGInsetMake(6.0, 0.0, 0.0, 3.0), CPThemeStateNormal], [@"content-inset", CGInsetMake(3.0, 0.0, 0.0, 3.0), CPThemeStateBezeled], + [@"content-inset", CGInsetMake(6.0, 0.0, 0.0, 6.0), [CPThemeStateNormal, CPThemeStateBezeled, CPThemeStateEditing]], [@"bezel-inset", CGInsetMake(3.0, 0.0, 3.0, 0.0), CPThemeStateBezeled], + [@"bezel-inset", CGInsetMake(0.0, 0, 0.0, -3.0), [CPThemeStateNormal, CPThemeStateBezeled, CPThemeStateEditing]], [@"datepicker-textfield-bezel-color", [CPColor clearColor], CPThemeStateNormal], [@"datepicker-textfield-bezel-color", bezelColorDatePickerTextField, CPThemeStateSelected], @@ -859,6 +870,7 @@ var themedButtonValues = nil, [@"min-size-datepicker-textfield", CGSizeMake(6.0, 18.0)], [@"date-hour-margin", 7.0], [@"stepper-margin", 5.0], + [@"stepper-margin", 2.0, CPThemeStateEditing], [@"min-size", CGSizeMake(0, 29.0)], [@"max-size", CGSizeMake(-1.0, 29.0)], @@ -867,10 +879,12 @@ var themedButtonValues = nil, // CPThemeStateControlSizeSmall [@"content-inset", CGInsetMake(5.0, 0.0, 0.0, 3.0), [CPThemeStateControlSizeSmall, CPThemeStateNormal]], [@"content-inset", CGInsetMake(2.0, 0.0, 0.0, 3.0), [CPThemeStateControlSizeSmall, CPThemeStateBezeled]], + [@"content-inset", CGInsetMake(5.0, 0.0, 0.0, 6.0), [CPThemeStateControlSizeSmall, CPThemeStateBezeled, CPThemeStateEditing]], [@"min-size-datepicker-textfield", CGSizeMake(6.0, 16.0), CPThemeStateControlSizeSmall], [@"date-hour-margin", 5.0, CPThemeStateControlSizeSmall], [@"stepper-margin", 3.0, CPThemeStateControlSizeSmall], + [@"stepper-margin", 0.0, [CPThemeStateControlSizeSmall, CPThemeStateEditing]], [@"min-size", CGSizeMake(0, 26.0), CPThemeStateControlSizeSmall], [@"max-size", CGSizeMake(-1.0, 26.0), CPThemeStateControlSizeSmall], @@ -879,10 +893,12 @@ var themedButtonValues = nil, // CPThemeStateControlSizeMini [@"content-inset", CGInsetMake(3.0, 0.0, 0.0, 3.0), [CPThemeStateControlSizeMini, CPThemeStateNormal]], [@"content-inset", CGInsetMake(1.0, 0.0, 0.0, 3.0), [CPThemeStateControlSizeMini, CPThemeStateBezeled]], + [@"content-inset", CGInsetMake(4.0, 0.0, 0.0, 6.0), [CPThemeStateControlSizeMini, CPThemeStateBezeled, CPThemeStateEditing]], [@"min-size-datepicker-textfield", CGSizeMake(6.0, 12.0), CPThemeStateControlSizeMini], [@"date-hour-margin", 2.0, CPThemeStateControlSizeMini], [@"stepper-margin", 2.0, CPThemeStateControlSizeMini], + [@"stepper-margin", -1.0, [CPThemeStateControlSizeMini, CPThemeStateEditing]], [@"min-size", CGSizeMake(0, 22.0), CPThemeStateControlSizeMini], [@"max-size", CGSizeMake(-1.0, 22.0), CPThemeStateControlSizeMini], @@ -1312,9 +1328,9 @@ var themedButtonValues = nil, [@"bezel-inset", CGInsetMake(3.0, 5.0, 3.0, 4.0), [CPThemeStateBezeled, CPThemeStateDisabled]], // The right border inset has to make room for the focus ring and popup button - [@"content-inset", CGInsetMake(9.0, 26.0, 7.0, 10.0), [CPThemeStateBezeled, CPComboBoxStateButtonBordered]], - [@"content-inset", CGInsetMake(9.0, 26.0, 7.0, 10.0), CPThemeStateBezeled], - [@"content-inset", CGInsetMake(9.0, 24.0, 7.0, 10.0), [CPThemeStateBezeled, CPThemeStateEditing]], + [@"content-inset", CGInsetMake(9.0, 30.0, 7.0, 10.0), [CPThemeStateBezeled, CPComboBoxStateButtonBordered]], + [@"content-inset", CGInsetMake(9.0, 30.0, 7.0, 10.0), CPThemeStateBezeled], + [@"content-inset", CGInsetMake(9.0, 28.0, 7.0, 10.0), [CPThemeStateBezeled, CPThemeStateEditing]], [@"popup-button-size", CGSizeMake(21.0, 23.0), [CPThemeStateBezeled, CPComboBoxStateButtonBordered]], [@"popup-button-size", CGSizeMake(17.0, 23.0), CPThemeStateBezeled], @@ -1587,6 +1603,52 @@ var themedButtonValues = nil, pushedHighlightedLeftBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-left.png", 4.0, 25.0), pushedHighlightedRightBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-right.png", 4.0, 25.0); + var smallCenterBezelColor = PatternColor("segmented-control-bezel-center.png", 1.0, 20.0), + smallDividerBezelColor = PatternColor("segmented-control-bezel-divider.png", 1.0, 20.0), + smallCenterHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-center.png", 1.0, 20.0), + smallDividerHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-divider.png", 1.0, 20.0), + smallLeftHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-left.png", 4.0, 20.0), + smallRightHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-right.png", 4.0, 20.0), + smallInactiveCenterBezelColor = PatternColor("segmented-control-bezel-disabled-center.png", 1.0, 20.0), + smallInactiveDividerBezelColor = PatternColor("segmented-control-bezel-disabled-divider.png", 1.0, 20.0), + smallInactiveLeftBezelColor = PatternColor("segmented-control-bezel-disabled-left.png", 4.0, 20.0), + smallInactiveRightBezelColor = PatternColor("segmented-control-bezel-disabled-right.png", 4.0, 20.0), + smallInactiveHighlightedCenterBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-center.png", 1.0, 20.0), + smallInactiveHighlightedDividerBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-divider.png", 1.0, 20.0), + smallInactiveHighlightedLeftBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-left.png", 4.0, 20.0), + smallInactiveHighlightedRightBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-right.png", 4.0, 20.0), + smallLeftBezelColor = PatternColor("segmented-control-bezel-left.png", 4.0, 20.0), + smallRightBezelColor = PatternColor("segmented-control-bezel-right.png", 4.0, 20.0), + smallPushedCenterBezelColor = PatternColor("segmented-control-bezel-pushed-center.png", 1.0, 20.0), + smallPushedLeftBezelColor = PatternColor("segmented-control-bezel-pushed-left.png", 4.0, 20.0), + smallPushedRightBezelColor = PatternColor("segmented-control-bezel-pushed-right.png", 4.0, 20.0), + smallPushedHighlightedCenterBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-center.png", 1.0, 20.0), + smallPushedHighlightedLeftBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-left.png", 4.0, 20.0), + smallPushedHighlightedRightBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-right.png", 4.0, 20.0); + + var miniCenterBezelColor = PatternColor("segmented-control-bezel-center.png", 1.0, 15.0), + miniDividerBezelColor = PatternColor("segmented-control-bezel-divider.png", 1.0, 15.0), + miniCenterHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-center.png", 1.0, 15.0), + miniDividerHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-divider.png", 1.0, 15.0), + miniLeftHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-left.png", 4.0, 15.0), + miniRightHighlightedBezelColor = PatternColor("segmented-control-bezel-highlighted-right.png", 4.0, 15.0), + miniInactiveCenterBezelColor = PatternColor("segmented-control-bezel-disabled-center.png", 1.0, 15.0), + miniInactiveDividerBezelColor = PatternColor("segmented-control-bezel-disabled-divider.png", 1.0, 15.0), + miniInactiveLeftBezelColor = PatternColor("segmented-control-bezel-disabled-left.png", 4.0, 15.0), + miniInactiveRightBezelColor = PatternColor("segmented-control-bezel-disabled-right.png", 4.0, 15.0), + miniInactiveHighlightedCenterBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-center.png", 1.0, 15.0), + miniInactiveHighlightedDividerBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-divider.png", 1.0, 15.0), + miniInactiveHighlightedLeftBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-left.png", 4.0, 15.0), + miniInactiveHighlightedRightBezelColor = PatternColor("segmented-control-bezel-highlighted-disabled-right.png", 4.0, 15.0), + miniLeftBezelColor = PatternColor("segmented-control-bezel-left.png", 4.0, 15.0), + miniRightBezelColor = PatternColor("segmented-control-bezel-right.png", 4.0, 15.0), + miniPushedCenterBezelColor = PatternColor("segmented-control-bezel-pushed-center.png", 1.0, 15.0), + miniPushedLeftBezelColor = PatternColor("segmented-control-bezel-pushed-left.png", 4.0, 15.0), + miniPushedRightBezelColor = PatternColor("segmented-control-bezel-pushed-right.png", 4.0, 15.0), + miniPushedHighlightedCenterBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-center.png", 1.0, 15.0), + miniPushedHighlightedLeftBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-left.png", 4.0, 15.0), + miniPushedHighlightedRightBezelColor = PatternColor("segmented-control-bezel-pushed-highlighted-right.png", 4.0, 15.0); + themedSegmentedControlValues = [ [@"center-segment-bezel-color", centerBezelColor, CPThemeStateNormal], @@ -1615,8 +1677,74 @@ var themedButtonValues = nil, [@"right-segment-bezel-color", pushedRightBezelColor, CPThemeStateHighlighted], [@"right-segment-bezel-color", pushedHighlightedRightBezelColor, [CPThemeStateHighlighted, CPThemeStateSelected]], - [@"content-inset", CGInsetMake(0.0, 4.0, 0.0, 4.0), CPThemeStateNormal], - [@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateNormal], + + [@"center-segment-bezel-color", smallCenterBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateNormal]], + [@"center-segment-bezel-color", smallInactiveCenterBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateDisabled]], + [@"center-segment-bezel-color", smallInactiveHighlightedCenterBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected, CPThemeStateDisabled]], + [@"center-segment-bezel-color", smallCenterHighlightedBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected]], + [@"center-segment-bezel-color", smallPushedCenterBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateHighlighted]], + [@"center-segment-bezel-color", smallPushedHighlightedCenterBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateHighlighted, CPThemeStateSelected]], + + [@"divider-bezel-color", smallDividerBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateNormal]], + [@"divider-bezel-color", smallInactiveDividerBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateDisabled]], + [@"divider-bezel-color", smallInactiveHighlightedDividerBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected, CPThemeStateDisabled]], + [@"divider-bezel-color", smallDividerHighlightedBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected]], + + [@"left-segment-bezel-color", smallLeftBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateNormal]], + [@"left-segment-bezel-color", smallInactiveLeftBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateDisabled]], + [@"left-segment-bezel-color", smallInactiveHighlightedLeftBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected, CPThemeStateDisabled]], + [@"left-segment-bezel-color", smallLeftHighlightedBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected]], + [@"left-segment-bezel-color", smallPushedLeftBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateHighlighted]], + [@"left-segment-bezel-color", smallPushedHighlightedLeftBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateHighlighted, CPThemeStateSelected]], + + [@"right-segment-bezel-color", smallRightBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateNormal]], + [@"right-segment-bezel-color", smallInactiveRightBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateDisabled]], + [@"right-segment-bezel-color", smallInactiveHighlightedRightBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected, CPThemeStateDisabled]], + [@"right-segment-bezel-color", smallRightHighlightedBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateSelected]], + [@"right-segment-bezel-color", smallPushedRightBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateHighlighted]], + [@"right-segment-bezel-color", smallPushedHighlightedRightBezelColor, [CPThemeStateControlSizeSmall, CPThemeStateHighlighted, CPThemeStateSelected]], + + + [@"center-segment-bezel-color", miniCenterBezelColor, [CPThemeStateControlSizeMini, CPThemeStateNormal]], + [@"center-segment-bezel-color", miniInactiveCenterBezelColor, [CPThemeStateControlSizeMini, CPThemeStateDisabled]], + [@"center-segment-bezel-color", miniInactiveHighlightedCenterBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected, CPThemeStateDisabled]], + [@"center-segment-bezel-color", miniCenterHighlightedBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected]], + [@"center-segment-bezel-color", miniPushedCenterBezelColor, [CPThemeStateControlSizeMini, CPThemeStateHighlighted]], + [@"center-segment-bezel-color", miniPushedHighlightedCenterBezelColor, [CPThemeStateControlSizeMini, CPThemeStateHighlighted, CPThemeStateSelected]], + + [@"divider-bezel-color", miniDividerBezelColor, [CPThemeStateControlSizeMini, CPThemeStateNormal]], + [@"divider-bezel-color", miniInactiveDividerBezelColor, [CPThemeStateControlSizeMini, CPThemeStateDisabled]], + [@"divider-bezel-color", miniInactiveHighlightedDividerBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected, CPThemeStateDisabled]], + [@"divider-bezel-color", miniDividerHighlightedBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected]], + + [@"left-segment-bezel-color", miniLeftBezelColor, [CPThemeStateControlSizeMini, CPThemeStateNormal]], + [@"left-segment-bezel-color", miniInactiveLeftBezelColor, [CPThemeStateControlSizeMini, CPThemeStateDisabled]], + [@"left-segment-bezel-color", miniInactiveHighlightedLeftBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected, CPThemeStateDisabled]], + [@"left-segment-bezel-color", miniLeftHighlightedBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected]], + [@"left-segment-bezel-color", miniPushedLeftBezelColor, [CPThemeStateControlSizeMini, CPThemeStateHighlighted]], + [@"left-segment-bezel-color", miniPushedHighlightedLeftBezelColor, [CPThemeStateControlSizeMini, CPThemeStateHighlighted, CPThemeStateSelected]], + + [@"right-segment-bezel-color", miniRightBezelColor, [CPThemeStateControlSizeMini, CPThemeStateNormal]], + [@"right-segment-bezel-color", miniInactiveRightBezelColor, [CPThemeStateControlSizeMini, CPThemeStateDisabled]], + [@"right-segment-bezel-color", miniInactiveHighlightedRightBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected, CPThemeStateDisabled]], + [@"right-segment-bezel-color", miniRightHighlightedBezelColor, [CPThemeStateControlSizeMini, CPThemeStateSelected]], + [@"right-segment-bezel-color", miniPushedRightBezelColor, [CPThemeStateControlSizeMini, CPThemeStateHighlighted]], + [@"right-segment-bezel-color", miniPushedHighlightedRightBezelColor, [CPThemeStateControlSizeMini, CPThemeStateHighlighted, CPThemeStateSelected]], + + [@"content-inset", CGInsetMake(0.0, 4.0, 0.0, 4.0), CPThemeStateNormal], + [@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateNormal], + + [@"min-size", CGSizeMake(-1.0, 25.0)], + [@"max-size", CGSizeMake(-1.0, 25.0)], + [@"nib2cib-adjustment-frame", CGRectMake(2.0, 2.0, -4.0, 1.0)], + + [@"min-size", CGSizeMake(-1.0, 20.0), CPThemeStateControlSizeSmall], + [@"max-size", CGSizeMake(-1.0, 20.0), CPThemeStateControlSizeSmall], + [@"nib2cib-adjustment-frame", CGRectMake(2.0, 0.0, -5.0, 0.0), CPThemeStateControlSizeSmall], + + [@"min-size", CGSizeMake(-1.0, 15.0), CPThemeStateControlSizeMini], + [@"max-size", CGSizeMake(-1.0, 15.0), CPThemeStateControlSizeMini], + [@"nib2cib-adjustment-frame", CGRectMake(1.0, 0.0, -2.0, 0.0), CPThemeStateControlSizeMini], [@"font", [CPFont boldSystemFontOfSize:12.0]], [@"text-color", regularTextColor], @@ -1635,8 +1763,7 @@ var themedButtonValues = nil, [@"text-shadow-offset", CGSizeMake(0.0, 0.0), [CPThemeStateSelected, CPThemeStateDisabled]], [@"line-break-mode", CPLineBreakByTruncatingTail], - [@"divider-thickness", 1.0], - [@"default-height", 25.0] + [@"divider-thickness", 1.0] ]; [self registerThemeValues:themedSegmentedControlValues forView:segmentedControl]; @@ -2152,6 +2279,8 @@ var themedButtonValues = nil, sliceLastBottomBorderColor = [CPColor colorWithWhite:0.6 alpha:1.0], buttonAddImage = PatternImage(@"rule-editor-button-add-image.png", 20.0, 20.0), buttonRemoveImage = PatternImage(@"rule-editor-button-remove-image.png", 20.0, 20.0), + buttonAddHighlightedImage = PatternImage(@"rule-editor-button-add-highlighted-image.png", 20.0, 20.0), + buttonRemoveHighlightedImage = PatternImage(@"rule-editor-button-remove-highlighted-image.png", 20.0, 20.0), fontColor = [CPColor colorWithWhite:150 / 255 alpha:1], ruleEditorThemedValues = @@ -2165,9 +2294,9 @@ var themedButtonValues = nil, [@"font", [CPFont systemFontOfSize:10.0]], [@"font-color", fontColor], [@"add-image", buttonAddImage, CPThemeStateNormal], - [@"add-image", buttonAddImage, CPThemeStateHighlighted], + [@"add-image", buttonAddHighlightedImage, CPThemeStateHighlighted], [@"remove-image", buttonRemoveImage, CPThemeStateNormal], - [@"remove-image", buttonRemoveImage, CPThemeStateHighlighted], + [@"remove-image", buttonRemoveHighlightedImage, CPThemeStateHighlighted], [@"vertical-alignment", CPCenterVerticalTextAlignment], ]; diff --git a/AppKit/Themes/BlendKit/BKShowcaseController.j b/AppKit/Themes/BlendKit/BKShowcaseController.j index 99e0d0b05..5a57393fd 100644 --- a/AppKit/Themes/BlendKit/BKShowcaseController.j +++ b/AppKit/Themes/BlendKit/BKShowcaseController.j @@ -137,22 +137,27 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId [theWindow setFullPlatformWindow:YES]; [theWindow makeKeyAndOrderFront:self]; + + [_themesCollectionView addObserver:self forKeyPath:@"selectionIndexes" options:CPKeyValueObservingOptionNew | CPKeyValueObservingOptionInitial context:nil]; } -- (void)collectionViewDidChangeSelection:(CPCollectionView)aCollectionView +- (void)observeValueForKeyPath:(CPString)keyPath ofObject:(id)object change:(CPDictionary)change context:(void)context { - var themeDescriptorClass = _themeDescriptorClasses[[[aCollectionView selectionIndexes] firstIndex]], - itemSize = [themeDescriptorClass itemSize]; + if (object == _themesCollectionView && keyPath == @"selectionIndexes") + { + var themeDescriptorClass = _themeDescriptorClasses[[[object selectionIndexes] firstIndex]], + itemSize = [themeDescriptorClass itemSize]; - // Make room for label and apply a minimum size. - itemSize.width = MAX(100.0, itemSize.width + 20.0); - itemSize.height = MAX(100.0, itemSize.height + 30.0); + // Make room for label and apply a minimum size. + itemSize.width = MAX(100.0, itemSize.width + 20.0); + itemSize.height = MAX(100.0, itemSize.height + 30.0); - [_themedObjectsCollectionView setMinItemSize:itemSize]; - [_themedObjectsCollectionView setMaxItemSize:itemSize]; + [_themedObjectsCollectionView setMinItemSize:itemSize]; + [_themedObjectsCollectionView setMaxItemSize:itemSize]; - [_themedObjectsCollectionView setContent:[themeDescriptorClass themedShowcaseObjectTemplates]]; - [BKShowcaseCell setBackgroundColor:[themeDescriptorClass showcaseBackgroundColor]]; + [_themedObjectsCollectionView setContent:[themeDescriptorClass themedShowcaseObjectTemplates]]; + [BKShowcaseCell setBackgroundColor:[themeDescriptorClass showcaseBackgroundColor]]; + } } - (BOOL)hasLearnMoreURL diff --git a/AppKit/_CPImageAndTextView.j b/AppKit/_CPImageAndTextView.j index 63b9d60b6..1a02755f5 100644 --- a/AppKit/_CPImageAndTextView.j +++ b/AppKit/_CPImageAndTextView.j @@ -71,7 +71,7 @@ var _CPimageAndTextViewFrameSizeChangedFlag = 1 << 0, #if PLATFORM(DOM) DOMElement _DOMImageElement; - DOMELement _DOMTextElement; + DOMElement _DOMTextElement; DOMElement _DOMTextShadowElement; #endif } diff --git a/AppKit/_CPPopUpList.j b/AppKit/_CPPopUpList.j index f69f68f0a..6ee4e1ff0 100644 --- a/AppKit/_CPPopUpList.j +++ b/AppKit/_CPPopUpList.j @@ -65,6 +65,126 @@ var ListMinimumItems = 3; var ListColumnIdentifier = @"1"; +@implementation _CPPopUpPanel : CPPanel + +- (id)initWithContentRect:(CGRect)aContentRect styleMask:(unsigned)aStyleMask +{ + if (self = [super initWithContentRect:aContentRect styleMask:aStyleMask]) + _constrainsToUsableScreen = NO; + + [self _trapNextMouseDown]; + + return self; +} + +/*! + Returns \c YES if the receiver is able to receive input events + even when a modal session is active. +*/ +- (BOOL)worksWhenModal +{ + return YES; +} + +- (void)sendEvent:(CPEvent)anEvent +{ + var type = [anEvent type]; + + if (type === CPLeftMouseDown || type === CPRightMouseDown) + [[self delegate] setListWasClicked:YES]; + + return [super sendEvent:anEvent]; +} + +- (void)_mouseWasClicked:(CPEvent)anEvent +{ + // This is needed, when the user close the list with the key enter + if (![self isVisible]) + { + [CPApp sendEvent:anEvent]; + return; + } + + var mouseWindow = [anEvent window], + rect = CGRectInsetByInset([[[self delegate] dataSource] bounds], [[[self delegate] dataSource] currentValueForThemeAttribute:@"content-inset"]), + point = [[[self delegate] dataSource] convertPoint:[anEvent locationInWindow] fromView:nil]; + + // If we click somewhere else than the comboBox or the panel we close the panel + if (mouseWindow != self && !CGRectContainsPoint(rect, point)) + { + [[self delegate] close]; + } + else + { + // If we click on the panel, the app will know what to do + if (mouseWindow == self) + [CPApp sendEvent:anEvent]; + + // If we click on the comboBox field, we will trap the next mouse down + if (CGRectContainsPoint(rect, point)) + [self _trapNextMouseDown]; + } + +} + +- (void)_trapNextMouseDown +{ + // Dequeue the event and mouseWasClicked will do what it needs to do + [CPApp setTarget:self selector:@selector(_mouseWasClicked:) forNextEventMatchingMask:CPLeftMouseDownMask untilDate:nil inMode:CPDefaultRunLoopMode dequeue:YES]; +} + +@end + +@implementation _CPPopUpTableView : CPTableView +{ + BOOL _acceptFirstResponder; +} + +- (id)initWithFrame:(CGRect)aFrame +{ + if (self = [super initWithFrame:aFrame]) + { + // We want the autocomplete to remain first responder until we are clicked. + _acceptFirstResponder = NO; + } + + return self; +} + +- (void)trackMouse:(CPEvent)anEvent +{ + if (![self isEnabled]) + return; + + [[self delegate] setItemWasClicked:YES]; + + // CPTableView will not track the click if it is not first responder + _acceptFirstResponder = YES; + [[self window] makeFirstResponder:self]; + [super trackMouse:anEvent]; +} + +- (void)stopTracking:(CGPoint)lastPoint at:(CGPoint)aPoint mouseIsUp:(BOOL)mouseIsUp +{ + _acceptFirstResponder = NO; + [super stopTracking:lastPoint at:aPoint mouseIsUp:mouseIsUp]; +} + +- (BOOL)acceptsFirstResponder +{ + return _acceptFirstResponder; +} + +/*! + Return the column used for the list. +*/ +- (CPTableColumn)listColumn +{ + return _tableColumns[0]; +} + +@end + /*! This class is a controller for a panel that can pop up and display a scrollable list of items in a CPTableView. It is used by CPComboBox to display the list of choices. @@ -216,6 +336,11 @@ var ListColumnIdentifier = @"1"; if ([_panel isVisible]) return; + [self listWillPopUp]; + + [_panel _trapNextMouseDown]; + [[aView window] addChildWindow:_panel ordered:CPWindowAbove]; + var rowRect = [_tableView rectOfRow:[self numberOfRowsInTableView:_tableView] - 1], frame = CGRectMake(0, 0, MAX(_listWidth, CGRectGetWidth(aRect)), CGRectGetMaxY(rowRect)); @@ -226,10 +351,6 @@ var ListColumnIdentifier = @"1"; [_scrollView setFrameSize:CGSizeMakeCopy(frame.size)]; [_tableView setEnabled:[_dataSource numberOfItemsInList:self] > 0]; [self scrollItemAtIndexToTop:[_tableView selectedRow]]; - - [self listWillPopUp]; - - [_panel orderFront:nil]; } #pragma mark Setting Display Attributes @@ -800,110 +921,3 @@ var _CPPopUpListDataSourceKey = @"_CPPopUpListDataSourceKey", } @end - -@implementation _CPPopUpTableView : CPTableView -{ - BOOL _acceptFirstResponder; -} - -- (id)initWithFrame:(CGRect)aFrame -{ - if (self = [super initWithFrame:aFrame]) - { - // We want the autocomplete to remain first responder until we are clicked. - _acceptFirstResponder = NO; - } - - return self; -} - -- (void)trackMouse:(CPEvent)anEvent -{ - if (![self isEnabled]) - return; - - [[self delegate] setItemWasClicked:YES]; - - // CPTableView will not track the click if it is not first responder - _acceptFirstResponder = YES; - [[self window] makeFirstResponder:self]; - [super trackMouse:anEvent]; -} - -- (void)stopTracking:(CGPoint)lastPoint at:(CGPoint)aPoint mouseIsUp:(BOOL)mouseIsUp -{ - _acceptFirstResponder = NO; - [super stopTracking:lastPoint at:aPoint mouseIsUp:mouseIsUp]; -} - -- (BOOL)acceptsFirstResponder -{ - return _acceptFirstResponder; -} - -/*! - Return the column used for the list. -*/ -- (CPTableColumn)listColumn -{ - return _tableColumns[0]; -} - -@end - -@implementation _CPPopUpPanel : CPPanel - -- (id)initWithContentRect:(CGRect)aContentRect styleMask:(unsigned)aStyleMask -{ - if (self = [super initWithContentRect:aContentRect styleMask:aStyleMask]) - _constrainsToUsableScreen = NO; - - [self _trapNextMouseDown]; - - return self; -} - -/*! - Returns \c YES if the receiver is able to receive input events - even when a modal session is active. -*/ -- (BOOL)worksWhenModal -{ - return YES; -} - -- (void)sendEvent:(CPEvent)anEvent -{ - var type = [anEvent type]; - - if (type === CPLeftMouseDown || type === CPRightMouseDown) - [[self delegate] setListWasClicked:YES]; - - return [super sendEvent:anEvent]; -} - -- (void)orderFront:(id)sender -{ - [self _trapNextMouseDown]; - [super orderFront:sender]; -} - -- (void)_mouseWasClicked:(CPEvent)anEvent -{ - var mouseWindow = [anEvent window], - rect = [[[self delegate] dataSource] bounds], - point = [[[self delegate] dataSource] convertPoint:[anEvent locationInWindow] fromView:nil]; - - if (mouseWindow != self && !CGRectContainsPoint(rect, point)) - [[self delegate] close]; - else - [self _trapNextMouseDown]; -} - -- (void)_trapNextMouseDown -{ - // Don't dequeue the event so clicks in controls will work - [CPApp setTarget:self selector:@selector(_mouseWasClicked:) forNextEventMatchingMask:CPLeftMouseDownMask untilDate:nil inMode:CPDefaultRunLoopMode dequeue:NO]; -} - -@end diff --git a/AppKit/_CPPopoverWindow.j b/AppKit/_CPPopoverWindow.j index 46c754ae2..27d160e17 100644 --- a/AppKit/_CPPopoverWindow.j +++ b/AppKit/_CPPopoverWindow.j @@ -64,6 +64,7 @@ var _CPPopoverWindow_shouldClose_ = 1 << 4, BOOL _isObservingFrame; BOOL _shouldPerformAnimation; CPInteger _implementedDelegateMethods; + CGRect _targetRect; CPWindow _targetWindow; JSObject _orderOutTransitionFunction; JSObject _transitionCompleteFunction; @@ -206,8 +207,7 @@ var _CPPopoverWindow_shouldClose_ = 1 << 4, if (![_targetView window]) return; - var point = [self computeOriginFromRect:[_targetView bounds] ofView:_targetView preferredEdge:[_windowView preferredEdge]]; - + var point = [self computeOriginFromRect:_targetRect ofView:_targetView preferredEdge:[_windowView preferredEdge]]; [self setFrameOrigin:point]; } } @@ -362,7 +362,6 @@ var _CPPopoverWindow_shouldClose_ = 1 << 4, [self setFrameOrigin:point]; [_windowView showCursor]; [_windowView setNeedsDisplay:YES]; - [self makeKeyAndOrderFront:nil]; if (positioningView !== _targetView) { @@ -371,6 +370,9 @@ var _CPPopoverWindow_shouldClose_ = 1 << 4, _targetView = positioningView; } + _targetRect = aRect; + [self makeKeyAndOrderFront:nil]; + /* If _targetView's window is not a full platform window, add us as a child, because when we close we are detached from @@ -417,7 +419,7 @@ var _CPPopoverWindow_shouldClose_ = 1 << 4, if ([self isVisible]) { - var point = [self computeOriginFromRect:[_targetView bounds] ofView:_targetView preferredEdge:[_windowView preferredEdge]]; + var point = [self computeOriginFromRect:_targetRect ofView:_targetView preferredEdge:[_windowView preferredEdge]]; [self setFrameOrigin:point]; } } @@ -581,10 +583,12 @@ var _CPPopoverWindow_shouldClose_ = 1 << 4, - (void)_orderFront { - if (![self isVisible]) - [self _addFrameObserver]; + var wasVisible = [self isVisible]; [super _orderFront]; + + if (!wasVisible) + [self _addFrameObserver]; } - (void)_parentDidOrderInChild @@ -720,17 +724,16 @@ var _CPPopoverWindow_shouldClose_ = 1 << 4, break; } - [_delegate close]; + [_delegate performClose:self]; break; case CPPopoverBehaviorTransient: - [_delegate close]; - break; - - case CPPopoverBehaviorApplicationDefined: - [self _trapNextMouseDown]; + [_delegate performClose:self]; break; } + + if ([self isVisible]) + [self _trapNextMouseDown]; } } diff --git a/AppKit/_CPToolbarItem.j b/AppKit/_CPToolbarItem.j index 5d5600b47..387805535 100644 --- a/AppKit/_CPToolbarItem.j +++ b/AppKit/_CPToolbarItem.j @@ -26,6 +26,7 @@ @import "CPImage.j" @import "CPView.j" +@class CPToolbar @global CPApp CPToolbarItemVisibilityPriorityStandard = 0; diff --git a/Foundation/CPCoder.j b/Foundation/CPCoder.j index d02d918e0..0bdc7b89a 100644 --- a/Foundation/CPCoder.j +++ b/Foundation/CPCoder.j @@ -53,7 +53,7 @@ @param aType the structure or object type @param anObject the object to be encoded */ -- (void)encodeValueOfObjCType:(CPString)aType at:(id)anObject +- (void)encodeValueOfObjJType:(CPString)aType at:(id)anObject { _CPRaiseInvalidAbstractInvocation(self, _cmd); } diff --git a/Foundation/CPDate.j b/Foundation/CPDate.j index 736ca9ff2..574873ef6 100644 --- a/Foundation/CPDate.j +++ b/Foundation/CPDate.j @@ -74,24 +74,36 @@ var CPDateReferenceDate = new Date(Date.UTC(2001, 0, 1, 0, 0, 0, 0)); - (id)initWithTimeIntervalSinceNow:(CPTimeInterval)seconds { + if (!_isNumberType(seconds)) + CPLog.warn(@"The parameter of the method initWithTimeIntervalSinceNow: should be an integer or a float"); + self = new Date((new Date()).getTime() + seconds * 1000); return self; } - (id)initWithTimeIntervalSince1970:(CPTimeInterval)seconds { + if (!_isNumberType(seconds)) + CPLog.warn(@"The parameter of the method initWithTimeIntervalSince1970: should be an integer or a float"); + self = new Date(seconds * 1000); return self; } - (id)initWithTimeIntervalSinceReferenceDate:(CPTimeInterval)seconds { + if (!_isNumberType(seconds)) + CPLog.warn(@"The parameter of the method initWithTimeIntervalSinceReferenceDate: should be an integer or a float"); + self = [self initWithTimeInterval:seconds sinceDate:CPDateReferenceDate]; return self; } - (id)initWithTimeInterval:(CPTimeInterval)seconds sinceDate:(CPDate)refDate { + if (!_isNumberType(seconds)) + CPLog.warn(@"The parameter of the method initWithTimeInterval:sinceDate: should be an integer or a float"); + self = new Date(refDate.getTime() + seconds * 1000); return self; } @@ -275,3 +287,11 @@ Date.parseISO8601 = function (date) }; Date.prototype.isa = CPDate; + +function _isNumberType(value) +{ + if (typeof value === 'number') + return YES; + else + return NO; +} \ No newline at end of file diff --git a/Foundation/CPDateFormatter.j b/Foundation/CPDateFormatter.j index 9f1badc65..59a48019d 100644 --- a/Foundation/CPDateFormatter.j +++ b/Foundation/CPDateFormatter.j @@ -28,16 +28,19 @@ @import "CPLocale.j" @class CPNull +@class CPDictionary @global CPLocaleLanguageCode @global CPLocaleCountryCode +@typedef CPDateFormatterStyle CPDateFormatterNoStyle = 0; CPDateFormatterShortStyle = 1; CPDateFormatterMediumStyle = 2; CPDateFormatterLongStyle = 3; CPDateFormatterFullStyle = 4; +@typedef CPDateFormatterBehavior CPDateFormatterBehaviorDefault = 0; CPDateFormatterBehavior10_0 = 1000; CPDateFormatterBehavior10_4 = 1040; diff --git a/Foundation/CPDecimal.j b/Foundation/CPDecimal.j index 15d2f817d..72fbe89cc 100644 --- a/Foundation/CPDecimal.j +++ b/Foundation/CPDecimal.j @@ -52,6 +52,8 @@ @import "CPArray.j" @import "CPNumber.j" +@typedef CPDecimal + // Decimal size limits CPDecimalMaxDigits = 38; CPDecimalMaxExponent = 127; @@ -68,6 +70,7 @@ CPCalculationUnderflow = 3; CPCalculationDivideByZero = 4; //CPRoundingMode Enum +@typedef CPRoundingMode CPRoundPlain = 1; CPRoundDown = 2; CPRoundUp = 3; diff --git a/Foundation/CPDictionary.j b/Foundation/CPDictionary.j index b95792f78..9c673be0c 100755 --- a/Foundation/CPDictionary.j +++ b/Foundation/CPDictionary.j @@ -31,38 +31,6 @@ var CPDictionaryShowNilDeprecationMessage = YES, CPDictionaryMaxDescriptionRecursion = 10; -/* @ignore */ -@implementation _CPDictionaryValueEnumerator : CPEnumerator -{ - CPEnumerator _keyEnumerator; - CPDictionary _dictionary; -} - -- (id)initWithDictionary:(CPDictionary)aDictionary -{ - self = [super init]; - - if (self) - { - _keyEnumerator = [aDictionary keyEnumerator]; - _dictionary = aDictionary; - } - - return self; -} - -- (id)nextObject -{ - var key = [_keyEnumerator nextObject]; - - if (key === nil) - return nil; - - return [_dictionary objectForKey:key]; -} - -@end - /*! @class CPDictionary @ingroup foundation @@ -801,6 +769,40 @@ var CPDictionaryShowNilDeprecationMessage = YES, @end + +/* @ignore */ +@implementation _CPDictionaryValueEnumerator : CPEnumerator +{ + CPEnumerator _keyEnumerator; + CPDictionary _dictionary; +} + +- (id)initWithDictionary:(CPDictionary)aDictionary +{ + self = [super init]; + + if (self) + { + _keyEnumerator = [aDictionary keyEnumerator]; + _dictionary = aDictionary; + } + + return self; +} + +- (id)nextObject +{ + var key = [_keyEnumerator nextObject]; + + if (key === nil) + return nil; + + return [_dictionary objectForKey:key]; +} + +@end + + /*! @class CPMutableDictionary @ingroup compatibility diff --git a/Foundation/CPError.j b/Foundation/CPError.j index 4acafe2ce..edc270514 100644 --- a/Foundation/CPError.j +++ b/Foundation/CPError.j @@ -24,31 +24,52 @@ @import "CPObject.j" @import "CPString.j" -CPCappuccinoErrorDomain = CPCocoaErrorDomain = @"CPCappuccinoErrorDomain"; -// CPPOSIXErrorDomain = @"CPPOSIXErrorDomain"; -// CPOSStatusErrorDomain = @"CPOSStatusErrorDomain"; +CPCappuccinoErrorDomain = kCFErrorDomainCappuccino; +CPCocoaErrorDomain = kCFErrorDomainCappuccino; // compat -CPUnderlyingErrorKey = @"CPUnderlyingErrorKey"; +CPUnderlyingErrorKey = kCFErrorUnderlyingErrorKey; -CPLocalizedDescriptionKey = @"CPLocalizedDescriptionKey"; -CPLocalizedFailureReasonErrorKey = @"CPLocalizedFailureReasonErrorKey"; -CPLocalizedRecoverySuggestionErrorKey = @"CPLocalizedRecoverySuggestionErrorKey"; +CPLocalizedDescriptionKey = kCFErrorLocalizedDescriptionKey; +CPLocalizedFailureReasonErrorKey = kCFErrorLocalizedFailureReasonKey; +CPLocalizedRecoverySuggestionErrorKey = kCFErrorLocalizedRecoverySuggestionKey; CPLocalizedRecoveryOptionsErrorKey = @"CPLocalizedRecoveryOptionsErrorKey"; CPRecoveryAttempterErrorKey = @"CPRecoveryAttempterErrorKey"; CPHelpAnchorErrorKey = @"CPHelpAnchorErrorKey"; CPStringEncodingErrorKey = @"CPStringEncodingErrorKey"; -CPURLErrorKey = @"CPURLErrorKey"; -CPFilePathErrorKey = @"CPFilePathErrorKey"; +CPURLErrorKey = kCFErrorURLKey; +CPFilePathErrorKey = kCFErrorFilePathKey; +/*! + @class CPError + @ingroup foundation + @brief Used for encapsulating, presenting, and recovery from errors. + CPError is toll-free bridged with CFError() methods. + + An example of initializing a CPError: +
+
+var userInfo = @{CPLocalizedDescriptionKey: @"A localized error description",
+                 CPLocalizedFailureReasonErrorKey: @"A localized failure reason",
+                 CPUnderlyingErrorKey: @"An underlying error message"},
+
+    err = [CPError errorWithDomain:CPCappuccinoErrorDomain code:-10 userInfo:userInfo];
+
+ */ @implementation CPError : CPObject { - CPInteger _code @accessors(property=code, readonly); - CPString _domain @accessors(property=domain, readonly); - CPDictionary _userInfo @accessors(property=userInfo, readonly); } ++ (id)alloc +{ + var obj = new CFError(); + obj.isa = [self class]; + + return obj; +} + + + (id)errorWithDomain:(CPString)aDomain code:(CPInteger)aCode userInfo:(CPDictionary)aDict { return [[CPError alloc] initWithDomain:aDomain code:aCode userInfo:aDict]; @@ -56,44 +77,94 @@ CPFilePathErrorKey = @"CPFilePathErrorKey"; - (id)initWithDomain:(CPString)aDomain code:(CPInteger)aCode userInfo:(CPDictionary)aDict { - if (self = [super init]) - { - _domain = aDomain; - _code = aCode; - _userInfo = aDict; - } - - return self; + var result = new CFError(aDomain, aCode, aDict); + result.isa = [self class]; + return result; } +- (CPInteger)code +{ + return self.code(); +} + +- (CPString)userInfo +{ + return self.userInfo(); +} + +- (CPString)domain +{ + return self.domain(); +} + +/*! + By default this method returns the object in the user info dictionary for the key + CPLocalizedDescriptionKey. If the user info dictionary doesn’t contain a value for + CPLocalizedDescriptionKey, a default string is constructed from the domain and code. + */ - (CPString)localizedDescription { - return [_userInfo objectForKey:CPLocalizedDescriptionKey]; + return self.description(); } - (CPString)localizedFailureReason { - return [_userInfo objectForKey:CPLocalizedFailureReasonErrorKey]; + return self.failureReason(); } - (CPArray)localizedRecoveryOptions { - return [_userInfo objectForKey:CPLocalizedRecoveryOptionsErrorKey]; + var userInfo = self.userInfo(), + recoveryOptions = userInfo.valueForKey(CPLocalizedRecoveryOptionsErrorKey); + + return recoveryOptions; } - (CPString)localizedRecoverySuggestion { - return [_userInfo objectForKey:CPLocalizedRecoverySuggestionErrorKey]; + return self.recoverySuggestion(); } - (id)recoveryAttempter { - return [_userInfo objectForKey:CPRecoveryAttempterErrorKey]; + var userInfo = self.userInfo(), + recoveryAttempter = userInfo.valueForKey(CPRecoveryAttempterErrorKey); + + return recoveryAttempter; } - (CPString)description { - return [CPString stringWithFormat:@"Error Domain=%@ Code=%d UserInfo=%p %@", _domain, _code, _userInfo, [self localizedDescription]]; + return [CPString stringWithFormat:@"Error Domain=%@ Code=%d \"%@\" UserInfo=%@", self.domain(), self.code(), self.description(), self.userInfo()]; } @end + +var CPErrorCodeKey = @"CPErrorCodeKey", + CPErrorDomainKey = @"CPErrorDomainKey", + CPErrorUserInfoKey = @"CPErrorUserInfoKey"; + +@implementation CPError (CPCoding) + +- (id)initWithCoder:(CPCoder)aCoder +{ + var code = [aCoder decodeIntForKey:CPErrorCodeKey], + domain = [aCoder decodeObjectForKey:CPErrorDomainKey], + userInfo = [aCoder decodeObjectForKey:CPErrorUserInfoKey]; + + return [self initWithDomain:domain + code:code + userInfo:userInfo]; +} + +- (void)encodeWithCoder:(CPCoder)aCoder +{ + [aCoder encodeObject:self.domain() forKey:CPErrorDomainKey]; + [aCoder encodeObject:self.code() forKey:CPErrorCodeKey]; + [aCoder encodeObject:self.userInfo() forKey:CPErrorUserInfoKey]; +} + +@end + +CFError.prototype.isa = CPError; + diff --git a/Foundation/CPGeometry.j b/Foundation/CPGeometry.j index 93a3a2b05..f8ef04a4c 100644 --- a/Foundation/CPGeometry.j +++ b/Foundation/CPGeometry.j @@ -22,6 +22,7 @@ @import "_CGGeometry.j" +@typedef CPRectEdge CPMinXEdge = 0; CPMinYEdge = 1; CPMaxXEdge = 2; diff --git a/Foundation/CPInvocation.j b/Foundation/CPInvocation.j index a07b48952..ca881d33a 100644 --- a/Foundation/CPInvocation.j +++ b/Foundation/CPInvocation.j @@ -21,6 +21,7 @@ */ @import "CPObject.j" +@import "CPArray.j" /*! @class CPInvocation diff --git a/Foundation/CPJSONPConnection.j b/Foundation/CPJSONPConnection.j index 0330cb223..374395784 100644 --- a/Foundation/CPJSONPConnection.j +++ b/Foundation/CPJSONPConnection.j @@ -23,6 +23,7 @@ @import "CPException.j" @import "CPObject.j" @import "CPRunLoop.j" +@import "CPURLRequest.j" CPJSONPConnectionCallbacks = {}; diff --git a/Foundation/CPKeyValueObserving.j b/Foundation/CPKeyValueObserving.j index 5dc1257a0..53f110b32 100644 --- a/Foundation/CPKeyValueObserving.j +++ b/Foundation/CPKeyValueObserving.j @@ -327,6 +327,7 @@ var kvoNewAndOld = CPKeyValueObservingOptionNew | CPKeyValueObservingOpti Class _nativeClass; CPDictionary _changesForKey; CPDictionary _nestingForKey; + CPDictionary _minOptionsForKey; Object _observersForKey; int _observersForKeyLength; CPSet _replacedKeys; @@ -354,6 +355,7 @@ var kvoNewAndOld = CPKeyValueObservingOptionNew | CPKeyValueObservingOpti _observersForKey = {}; _changesForKey = {}; _nestingForKey = {}; + _minOptionsForKey = {}; _observersForKeyLength = 0; [self _replaceClass]; @@ -767,12 +769,20 @@ var kvoNewAndOld = CPKeyValueObservingOptionNew | CPKeyValueObservingOpti if (options & CPKeyValueObservingOptionInitial) { - var newValue = [_targetObject valueForKeyPath:aPath]; + var changes; - if (newValue === nil || newValue === undefined) - newValue = [CPNull null]; + if (options & CPKeyValueObservingOptionNew) + { + var newValue = [_targetObject valueForKeyPath:aPath]; + + if (newValue == nil) + newValue = [CPNull null]; + + changes = @{ CPKeyValueChangeKindKey: CPKeyValueChangeSetting, CPKeyValueChangeNewKey: newValue }; + } else { + changes = @{ CPKeyValueChangeKindKey: CPKeyValueChangeSetting }; + } - var changes = @{ CPKeyValueChangeNewKey: newValue }; [anObserver observeValueForKeyPath:aPath ofObject:_targetObject change:changes context:aContext]; } } @@ -819,7 +829,9 @@ var kvoNewAndOld = CPKeyValueObservingOptionNew | CPKeyValueObservingOpti - (void)_sendNotificationsForKey:(CPString)aKey changeOptions:(CPDictionary)changeOptions isBefore:(BOOL)isBefore { - var changes = _changesForKey[aKey]; + var changes = _changesForKey[aKey], + observers = [_observersForKey[aKey] allValues], + observersMinimumOptions = 0; if (isBefore) { @@ -838,61 +850,78 @@ var kvoNewAndOld = CPKeyValueObservingOptionNew | CPKeyValueObservingOpti _nestingForKey[aKey] = 1; + // Get the combined minimum of the ...Old and ...New options for all observers + var count = observers ? observers.length : 0; + + while (count--) + { + var observerInfo = observers[count]; + + observersMinimumOptions |= observerInfo.options & kvoNewAndOld; + } + + _minOptionsForKey[aKey] = observersMinimumOptions; changes = changeOptions; - var indexes = [changes objectForKey:CPKeyValueChangeIndexesKey], - setMutationKind = changes[_CPKeyValueChangeSetMutationKindKey]; - - if (setMutationKind) + if (observersMinimumOptions & CPKeyValueObservingOptionOld) { - var setMutationObjects = [changes[_CPKeyValueChangeSetMutationObjectsKey] copy], - setExistingObjects = [[_targetObject valueForKey: aKey] copy]; + var indexes = [changes objectForKey:CPKeyValueChangeIndexesKey], + setMutationKind = changes[_CPKeyValueChangeSetMutationKindKey]; - if (setMutationKind == CPKeyValueMinusSetMutation) + if (setMutationKind) { - [setExistingObjects intersectSet: setMutationObjects]; - [changes setValue:setExistingObjects forKey:CPKeyValueChangeOldKey]; + var setMutationObjects = [changes[_CPKeyValueChangeSetMutationObjectsKey] copy], + setExistingObjects = [[_targetObject valueForKey: aKey] copy]; + + if (setMutationKind == CPKeyValueMinusSetMutation) + { + [setExistingObjects intersectSet: setMutationObjects]; + [changes setValue:setExistingObjects forKey:CPKeyValueChangeOldKey]; + } + else if (setMutationKind === CPKeyValueIntersectSetMutation || setMutationKind === CPKeyValueSetSetMutation) + { + [setExistingObjects minusSet: setMutationObjects]; + [changes setValue:setExistingObjects forKey:CPKeyValueChangeOldKey]; + } + + //for unordered to-many relationships (CPSet) even new values can only be calculated before!!! + if (setMutationKind === CPKeyValueUnionSetMutation || setMutationKind === CPKeyValueSetSetMutation) + { + [setMutationObjects minusSet: setExistingObjects]; + //hide new value (for CPKeyValueObservingOptionPrior messages) + //as long as "didChangeValue..." is not yet called! + changes[_CPKeyValueChangeSetMutationNewValueKey] = setMutationObjects; + } } - else if (setMutationKind === CPKeyValueIntersectSetMutation || setMutationKind === CPKeyValueSetSetMutation) + else if (indexes) { - [setExistingObjects minusSet: setMutationObjects]; - [changes setValue:setExistingObjects forKey:CPKeyValueChangeOldKey]; + var type = [changes objectForKey:CPKeyValueChangeKindKey]; + + // for ordered to-many relationships, oldvalue is only sensible for replace and remove + if (type === CPKeyValueChangeReplacement || type === CPKeyValueChangeRemoval) + { + //FIXME: do we need to go through and replace "" with CPNull? + var newValues = [[_targetObject mutableArrayValueForKeyPath:aKey] objectsAtIndexes:indexes]; + [changes setValue:newValues forKey:CPKeyValueChangeOldKey]; + } + } + else + { + var oldValue = [_targetObject valueForKey:aKey]; + + if (oldValue === nil || oldValue === undefined) + oldValue = [CPNull null]; + + [changes setObject:oldValue forKey:CPKeyValueChangeOldKey]; } - //for unordered to-many relationships (CPSet) even new values can only be calculated before!!! - if (setMutationKind === CPKeyValueUnionSetMutation || setMutationKind === CPKeyValueSetSetMutation) - { - [setMutationObjects minusSet: setExistingObjects]; - //hide new value (for CPKeyValueObservingOptionPrior messages) - //as long as "didChangeValue..." is not yet called! - changes[_CPKeyValueChangeSetMutationNewValueKey] = setMutationObjects; - } - } - else if (indexes) - { - var type = [changes objectForKey:CPKeyValueChangeKindKey]; - - // for ordered to-many relationships, oldvalue is only sensible for replace and remove - if (type === CPKeyValueChangeReplacement || type === CPKeyValueChangeRemoval) - { - //FIXME: do we need to go through and replace "" with CPNull? - var newValues = [[_targetObject mutableArrayValueForKeyPath:aKey] objectsAtIndexes:indexes]; - [changes setValue:newValues forKey:CPKeyValueChangeOldKey]; - } - } - else - { - var oldValue = [_targetObject valueForKey:aKey]; - - if (oldValue === nil || oldValue === undefined) - oldValue = [CPNull null]; - - [changes setObject:oldValue forKey:CPKeyValueChangeOldKey]; } [changes setObject:1 forKey:CPKeyValueChangeNotificationIsPriorKey]; - _changesForKey[aKey] = changes; + + // Clear ...New option as it should never be sent for a ...Prior option + observersMinimumOptions &= ~CPKeyValueObservingOptionNew; } else { @@ -927,55 +956,97 @@ var kvoNewAndOld = CPKeyValueObservingOptionNew | CPKeyValueObservingOpti [changes removeObjectForKey:CPKeyValueChangeNotificationIsPriorKey]; - var indexes = [changes objectForKey:CPKeyValueChangeIndexesKey], - setMutationKind = changes[_CPKeyValueChangeSetMutationKindKey]; + observersMinimumOptions = _minOptionsForKey[aKey]; - if (setMutationKind) + if (observersMinimumOptions & CPKeyValueObservingOptionNew) { - //old and new values for unordered to-many relationships can only be calculated before - //set recalculated hidden new value as soon as "didChangeValue..." is called! - var newValue = changes[_CPKeyValueChangeSetMutationNewValueKey]; - [changes setValue:newValue forKey:CPKeyValueChangeNewKey]; + var indexes = [changes objectForKey:CPKeyValueChangeIndexesKey], + setMutationKind = changes[_CPKeyValueChangeSetMutationKindKey]; - //delete hidden values - delete changes[_CPKeyValueChangeSetMutationNewValueKey]; - delete changes[_CPKeyValueChangeSetMutationObjectsKey]; - delete changes[_CPKeyValueChangeSetMutationKindKey]; - } - else if (indexes) - { - var type = [changes objectForKey:CPKeyValueChangeKindKey]; - - // for ordered to-many relationships, newvalue is only sensible for replace and insert - if (type == CPKeyValueChangeReplacement || type == CPKeyValueChangeInsertion) + if (setMutationKind) { - //FIXME: do we need to go through and replace "" with CPNull? - var newValues = [[_targetObject mutableArrayValueForKeyPath:aKey] objectsAtIndexes:indexes]; - [changes setValue:newValues forKey:CPKeyValueChangeNewKey]; + //old and new values for unordered to-many relationships can only be calculated before + //set recalculated hidden new value as soon as "didChangeValue..." is called! + var newValue = changes[_CPKeyValueChangeSetMutationNewValueKey]; + [changes setValue:newValue forKey:CPKeyValueChangeNewKey]; + + //delete hidden values + delete changes[_CPKeyValueChangeSetMutationNewValueKey]; + delete changes[_CPKeyValueChangeSetMutationObjectsKey]; + delete changes[_CPKeyValueChangeSetMutationKindKey]; + } + else if (indexes) + { + var type = [changes objectForKey:CPKeyValueChangeKindKey]; + + // for ordered to-many relationships, newvalue is only sensible for replace and insert + if (type == CPKeyValueChangeReplacement || type == CPKeyValueChangeInsertion) + { + //FIXME: do we need to go through and replace "" with CPNull? + var newValues = [[_targetObject mutableArrayValueForKeyPath:aKey] objectsAtIndexes:indexes]; + [changes setValue:newValues forKey:CPKeyValueChangeNewKey]; + } + } + else + { + var newValue = [_targetObject valueForKey:aKey]; + + if (newValue === nil || newValue === undefined) + newValue = [CPNull null]; + + [changes setObject:newValue forKey:CPKeyValueChangeNewKey]; + } + } + + delete _minOptionsForKey[aKey]; + delete _changesForKey[aKey]; + } + + var count = observers ? observers.length : 0, + changesCache = {}; + + while (count--) + { + var observerInfo = observers[count], + options = observerInfo.options, + onlyNewAndOldOptions = options & kvoNewAndOld, + observerChanges = nil; + + if (isBefore) + { + // Only send 'observeValueForKeyPath:' for '...Prior' option when handling 'willChangeValue...' + if (options & CPKeyValueObservingOptionPrior) + { + observerChanges = changes; + // The new values are not yet created in the change dictionary so remove ...New option to get a working cache below + onlyNewAndOldOptions &= ~CPKeyValueObservingOptionNew; } } else { - var newValue = [_targetObject valueForKey:aKey]; - - if (newValue === nil || newValue === undefined) - newValue = [CPNull null]; - - [changes setObject:newValue forKey:CPKeyValueChangeNewKey]; + observerChanges = changes; } - delete _changesForKey[aKey]; - } - - var observers = [_observersForKey[aKey] allValues], - count = observers ? observers.length : 0; - - while (count--) - { - var observerInfo = observers[count]; - - if (!isBefore || (observerInfo.options & CPKeyValueObservingOptionPrior)) - [observerInfo.observer observeValueForKeyPath:aKey ofObject:_targetObject change:changes context:observerInfo.context]; + if (observerChanges) + { + // Don't change the 'change' dictionary when the observer wants the minimum options. + // The ...New option is remved above for the ...Prior case + if (onlyNewAndOldOptions !== observersMinimumOptions) + { + // Use a subset of the 'change' dictionary. First try to find it in the cache + observerChanges = changesCache[onlyNewAndOldOptions]; + if (!observerChanges) + { + // Not in the cache. Build a new dictionary and store it in the cache + changesCache[onlyNewAndOldOptions] = observerChanges = [changes mutableCopy]; + if (!(onlyNewAndOldOptions & CPKeyValueObservingOptionOld)) + [observerChanges removeObjectForKey:CPKeyValueChangeOldKey]; + if (!(onlyNewAndOldOptions & CPKeyValueObservingOptionNew)) + [observerChanges removeObjectForKey:CPKeyValueChangeNewKey]; + } + } + [observerInfo.observer observeValueForKeyPath:aKey ofObject:_targetObject change:observerChanges context:observerInfo.context]; + } } var dependentKeysMap = _nativeClass[DependentKeysKey]; @@ -1226,13 +1297,21 @@ var kvoNewAndOld = CPKeyValueObservingOptionNew | CPKeyValueObservingOpti { if (aKeyPath === _firstPart) { - var oldValue = [_value valueForKeyPath:_secondPart], - newValue = [_object valueForKeyPath:_firstPart + "." + _secondPart], - pathChanges = @{ - CPKeyValueChangeNewKey: newValue ? newValue : [CPNull null], - CPKeyValueChangeOldKey: oldValue ? oldValue : [CPNull null], - CPKeyValueChangeKindKey: CPKeyValueChangeSetting, - }; + var pathChanges = [CPMutableDictionary dictionaryWithObject:CPKeyValueChangeSetting forKey:CPKeyValueChangeKindKey]; + + if (_options & CPKeyValueObservingOptionOld) + { + var oldValue = [_value valueForKeyPath:_secondPart]; + + [pathChanges setObject:oldValue != null ? oldValue : [CPNull null] forKey:CPKeyValueChangeOldKey]; + } + + if (_options & CPKeyValueObservingOptionNew) + { + var newValue = [_object valueForKeyPath:_firstPart + "." + _secondPart]; + + [pathChanges setObject:newValue != null ? newValue : [CPNull null] forKey:CPKeyValueChangeNewKey]; + } [_observer observeValueForKeyPath:_firstPart + "." + _secondPart ofObject:_object change:pathChanges context:_context]; diff --git a/Foundation/CPNotification.j b/Foundation/CPNotification.j index 5b9e8d51b..4ba936ea2 100644 --- a/Foundation/CPNotification.j +++ b/Foundation/CPNotification.j @@ -22,6 +22,7 @@ @import "CPException.j" @import "CPObject.j" +@import "CPDictionary.j" /*! @class CPNotification diff --git a/Foundation/CPNotificationCenter.j b/Foundation/CPNotificationCenter.j index 99ab18183..f06c22b0a 100644 --- a/Foundation/CPNotificationCenter.j +++ b/Foundation/CPNotificationCenter.j @@ -27,6 +27,8 @@ @import "CPNull.j" @import "CPSet.j" +@class _CPNotificationRegistry + var CPNotificationDefaultCenter = nil; /*! @@ -68,7 +70,8 @@ var CPNotificationDefaultCenter = nil; _namedRegistries = @{}; _unnamedRegistry = [[_CPNotificationRegistry alloc] init]; } - return self; + + return self; } /*! @@ -81,9 +84,36 @@ var CPNotificationDefaultCenter = nil; */ - (void)addObserver:(id)anObserver selector:(SEL)aSelector name:(CPString)aNotificationName object:(id)anObject { - var registry, + var registry = [self _registryForNotificationName:aNotificationName], observer = [[_CPNotificationObserver alloc] initWithObserver:anObserver selector:aSelector]; + [registry addObserver:observer object:anObject]; +} + +/*! + Adds an entry to the receiver’s dispatch table with a block, and optional criteria: notification name and sender. + @param aNotificationName the name of the notification the observer wants to watch + @param anObject the object in the notification the observer wants to watch + @param queue is ignored for the moment + @param block the block to be executed when the notification is received. +*/ +- (id )addObserverForName:(CPString)aNotificationName object:(id)anObject queue:(id)queue usingBlock:(Function)block +{ + var registry = [self _registryForNotificationName:aNotificationName], + observer = [[_CPNotificationObserver alloc] initWithBlock:block]; + + [registry addObserver:observer object:anObject]; + + return observer; +} + +/*! + @ignore +*/ +- (_CPNotificationRegistry)_registryForNotificationName:(CPString)aNotificationName +{ + var registry; + if (aNotificationName == nil) registry = _unnamedRegistry; else if (!(registry = [_namedRegistries objectForKey:aNotificationName])) @@ -92,7 +122,7 @@ var CPNotificationDefaultCenter = nil; [_namedRegistries setObject:registry forKey:aNotificationName]; } - [registry addObserver:observer object:anObject]; + return registry; } /*! @@ -233,7 +263,8 @@ var _CPNotificationCenterPostNotification = function(/* CPNotificationCenter */ observersEnumerator = [observers objectEnumerator]; while ((observer = [observersEnumerator nextObject]) !== nil) - if ([observer observer] == anObserver) + if ([observer observer] == anObserver || + ([observer block] && [anObserver respondsToSelector:@selector(block)] && [observer block] == [anObserver block])) [observers removeObject:observer]; if (![observers count]) @@ -248,7 +279,8 @@ var _CPNotificationCenterPostNotification = function(/* CPNotificationCenter */ observersEnumerator = [observers objectEnumerator]; while ((observer = [observersEnumerator nextObject]) !== nil) - if ([observer observer] == anObserver) + if ([observer observer] == anObserver || + ([observer block] && [anObserver respondsToSelector:@selector(block)] && [observer block] == [anObserver block])) [observers removeObject:observer]; if (![observers count]) @@ -312,8 +344,9 @@ var _CPNotificationCenterPostNotification = function(/* CPNotificationCenter */ /* @ignore */ @implementation _CPNotificationObserver : CPObject { - id _observer; - SEL _selector; + id _observer; + Function _block; + SEL _selector; } - (id)initWithObserver:(id)anObserver selector:(SEL)aSelector @@ -327,13 +360,34 @@ var _CPNotificationCenterPostNotification = function(/* CPNotificationCenter */ return self; } +- (id)initWithBlock:(Function)aBlock +{ + if (self) + { + _block = aBlock; + } + + return self; +} + - (id)observer { return _observer; } +- (id)block +{ + return _block; +} + - (void)postNotification:(CPNotification)aNotification { + if (_block) + { + _block(aNotification); + return; + } + [_observer performSelector:_selector withObject:aNotification]; } diff --git a/Foundation/CPNumberFormatter.j b/Foundation/CPNumberFormatter.j index f59dca490..52737fc1c 100644 --- a/Foundation/CPNumberFormatter.j +++ b/Foundation/CPNumberFormatter.j @@ -24,7 +24,7 @@ @import "CPFormatter.j" @import "CPDecimalNumber.j" - +@typedef CPNumberFormatterStyle CPNumberFormatterNoStyle = 0; CPNumberFormatterDecimalStyle = 1; CPNumberFormatterCurrencyStyle = 2; @@ -32,6 +32,7 @@ CPNumberFormatterPercentStyle = 3; CPNumberFormatterScientificStyle = 4; CPNumberFormatterSpellOutStyle = 5; +@typedef CPNumberFormatterRoundingMode CPNumberFormatterRoundCeiling = CPRoundUp; CPNumberFormatterRoundFloor = CPRoundDown; CPNumberFormatterRoundDown = CPRoundDown; diff --git a/Foundation/CPObject.j b/Foundation/CPObject.j index 912aafa09..f5aea7aa6 100644 --- a/Foundation/CPObject.j +++ b/Foundation/CPObject.j @@ -62,6 +62,8 @@ CPLog(@"Got some class: %@", inst); @todo document KVC usage. */ +@import "_CPTypeDefinitions.j" + @class CPString @class CPException @@ -104,7 +106,7 @@ CPLog(@"Got some class: %@", inst); @implementation CPObject { - Class isa; + id isa; } + (void)load diff --git a/Foundation/CPOperation.j b/Foundation/CPOperation.j index 4fbdd5612..b0b8a6154 100644 --- a/Foundation/CPOperation.j +++ b/Foundation/CPOperation.j @@ -117,10 +117,11 @@ CPOperationQueuePriorityVeryHigh = 8; [self willChangeValueForKey:@"isExecuting"]; _executing = NO; [self didChangeValueForKey:@"isExecuting"]; - [self willChangeValueForKey:@"isFinished"]; - _finished = YES; - [self didChangeValueForKey:@"isFinished"]; } + + [self willChangeValueForKey:@"isFinished"]; + _finished = YES; + [self didChangeValueForKey:@"isFinished"]; } /*! diff --git a/Foundation/CPOperationQueue.j b/Foundation/CPOperationQueue.j index 1e018df15..de9322ce6 100644 --- a/Foundation/CPOperationQueue.j +++ b/Foundation/CPOperationQueue.j @@ -70,7 +70,7 @@ var cpOperationMainQueue = nil; for (; i < count; i++) { var op = [_operations objectAtIndex:i]; - if ([op isReady] && ![op isCancelled] && ![op isFinished] && ![op isExecuting]) + if ([op isReady] && ![op isFinished] && ![op isExecuting]) { [op start]; } @@ -260,7 +260,7 @@ var cpOperationMainQueue = nil; for (; i < count; i++) { var op = [ops objectAtIndex:i]; - if ([op isReady] && ![op isCancelled] && ![op isFinished] && ![op isExecuting]) + if ([op isReady] && ![op isFinished] && ![op isExecuting]) { [op start]; } diff --git a/Foundation/CPPredicate/CPComparisonPredicate.j b/Foundation/CPPredicate/CPComparisonPredicate.j index f2cfb3172..338a4e7f3 100644 --- a/Foundation/CPPredicate/CPComparisonPredicate.j +++ b/Foundation/CPPredicate/CPComparisonPredicate.j @@ -32,8 +32,8 @@ @import "_CPPredicate.j" -var CPComparisonPredicateModifier, - CPPredicateOperatorType; +@typedef CPComparisonPredicateModifier +@typedef CPPredicateOperatorType /*! @ingroup foundation diff --git a/Foundation/CPPredicate/CPCompoundPredicate.j b/Foundation/CPPredicate/CPCompoundPredicate.j index e36ceb0d0..a38f3b065 100644 --- a/Foundation/CPPredicate/CPCompoundPredicate.j +++ b/Foundation/CPPredicate/CPCompoundPredicate.j @@ -26,7 +26,7 @@ @import "CPArray.j" @import "_CPPredicate.j" -var CPCompoundPredicateType; +@typedef CPCompoundPredicateType /*! @class CPCompoundPredicate diff --git a/Foundation/CPRange.j b/Foundation/CPRange.j index c9f9c7c2a..58dd550bc 100755 --- a/Foundation/CPRange.j +++ b/Foundation/CPRange.j @@ -25,6 +25,8 @@ @{ */ +@typedef CPRange + /*! Makes a CPRange. @param location the location for new range diff --git a/Foundation/CPString.j b/Foundation/CPString.j index d9992ed8f..69e9caf8a 100644 --- a/Foundation/CPString.j +++ b/Foundation/CPString.j @@ -345,6 +345,7 @@ var CPStringUIDs = new CFMutableDictionary(), specified mask which can be a combination of:
     CPCaseInsensitiveSearch
+    CPDiacriticInsensitiveSearch
     CPLiteralSearch
     CPBackwardsSearch
     CPAnchoredSearch
@@ -366,6 +367,7 @@ var CPStringUIDs = new CFMutableDictionary(),
     options specified in the specified mask which can be a combination of:
     
     CPCaseInsensitiveSearch
+    CPDiacriticInsensitiveSearch
     CPLiteralSearch
     CPBackwardsSearch
     CPAnchoredSearch
@@ -393,6 +395,11 @@ var CPStringUIDs = new CFMutableDictionary(),
         string = string.toLowerCase();
         aString = aString.toLowerCase();
     }
+    if (aMask & CPDiacriticInsensitiveSearch)
+    {
+        string = string.stripDiacritics();
+        aString = aString.stripDiacritics();
+    }
 
     if (aMask & CPBackwardsSearch)
     {
@@ -682,6 +689,14 @@ var CPStringNull = [CPNull null];
     return self.toUpperCase();
 }
 
+/*!
+    Returns a copy of the string stripped of diacritical marks.
+*/
+- (CPString)stripDiacritics
+{
+    return self.stripDiacritics();
+}
+
 /*!
     Returns the text as a floating point value.
 */
@@ -948,9 +963,9 @@ var CPStringNull = [CPNull null];
 
 @end
 
-
-var diacritics = [[192,198],[224,230],[231,231],[232,235],[236,239],[242,246],[249,252]], // Basic Latin ; Latin-1 Supplement.
-    normalized = [65,97,99,101,105,111,117];
+var diacritics = [[192,198],[200,203],[204,207],[210,214],[217,220],[224,230],
+                 [231,231],[232,235],[236,239],[242,246],[249,252]], // Basic Latin ; Latin-1 Supplement.
+    normalized = [65,69,73,79,85,97,99,101,105,111,117];
 
 String.prototype.stripDiacritics = function()
 {
diff --git a/Foundation/CPTimeZone.j b/Foundation/CPTimeZone.j
index 3d294c25f..4b4ba6c1b 100644
--- a/Foundation/CPTimeZone.j
+++ b/Foundation/CPTimeZone.j
@@ -24,6 +24,8 @@
 @import "CPDate.j"
 @import "CPLocale.j"
 
+@class CPData
+
 CPTimeZoneNameStyleStandard = 0;
 CPTimeZoneNameStyleShortStandard = 1;
 CPTimeZoneNameStyleDaylightSaving = 2;
diff --git a/Foundation/CPURLConnection.j b/Foundation/CPURLConnection.j
index 420ce8402..5a4f09f26 100644
--- a/Foundation/CPURLConnection.j
+++ b/Foundation/CPURLConnection.j
@@ -26,6 +26,8 @@
 @import "CPURLRequest.j"
 @import "CPURLResponse.j"
 
+@typedef HTTPRequest
+
 var CPURLConnectionDelegate = nil;
 
 /*!
@@ -74,13 +76,12 @@ var CPURLConnectionDelegate = nil;
 */
 @implementation CPURLConnection : CPObject
 {
-    CPURLRequest    _request;
+    CPURLRequest    _originalRequest        @accessors(readonly, getter=originalRequest);
+    CPURLRequest    _request                @accessors(readonly, getter=currentRequest);
     id              _delegate;
     BOOL            _isCanceled;
     BOOL            _isLocalFileConnection;
 
-    BOOL            _withCredentials    @accessors(property=withCredentials);
-
     HTTPRequest     _HTTPRequest;
 }
 
@@ -97,25 +98,12 @@ var CPURLConnectionDelegate = nil;
     @return the data at the URL or \c nil if there was an error
 */
 + (CPData)sendSynchronousRequest:(CPURLRequest)aRequest returningResponse:(/*{*/CPURLResponse/*}*/)aURLResponse
-{
-    var cfHTTPRequest = new CFHTTPRequest();
-
-    return [CPURLConnection _sendSynchronousRequest:aRequest returningResponse:aURLResponse withCFHTTPRequest:cfHTTPRequest];
-}
-
-+ (CPData)sendSynchronousRequest:(CPURLRequest)aRequest returningResponse:(/*{*/CPURLResponse/*}*/)aURLResponse withCredentials:(BOOL)withCredentials
-{
-    var cfHTTPRequest = new CFHTTPRequest();
-
-    cfHTTPRequest.setWithCredentials(withCredentials);
-
-    return [CPURLConnection _sendSynchronousRequest:aRequest returningResponse:aURLResponse withCFHTTPRequest:cfHTTPRequest];
-}
-
-+ (CPData)_sendSynchronousRequest:(CPURLRequest)aRequest returningResponse:(/*{*/CPURLResponse/*}*/)aURLResponse withCFHTTPRequest:(CFHTTPRequest)aCFHTTPRequest
 {
     try
     {
+        var aCFHTTPRequest = new CFHTTPRequest();
+        aCFHTTPRequest.setWithCredentials([aRequest withCredentials]);
+
         aCFHTTPRequest.open([aRequest HTTPMethod], [[aRequest URL] absoluteString], NO);
 
         var fields = [aRequest allHTTPHeaderFields],
@@ -150,17 +138,6 @@ var CPURLConnectionDelegate = nil;
     return [[self alloc] initWithRequest:aRequest delegate:aDelegate];
 }
 
-//overloaded method that allows user to set _withCredentials
-+ (CPURLConnection)connectionWithRequest:(CPURLRequest)aRequest delegate:(id)aDelegate withCredentials:(BOOL)withCredentials
-{
-    var connection = [[self alloc] initWithRequest:aRequest delegate:aDelegate startImmediately:NO];
-
-    [connection setWithCredentials:withCredentials];
-    [connection start];
-
-    return connection;
-}
-
 /*
     Default class initializer. Use one of the class methods instead.
     @param aRequest contains the URL to contact
@@ -175,9 +152,9 @@ var CPURLConnectionDelegate = nil;
     if (self)
     {
         _request = aRequest;
+        _originalRequest = [aRequest copy];
         _delegate = aDelegate;
         _isCanceled = NO;
-        _withCredentials = NO;
 
         var URL = [_request URL],
             scheme = [URL scheme];
@@ -189,6 +166,7 @@ var CPURLConnectionDelegate = nil;
                                      (window.location.protocol === "file:" || window.location.protocol === "app:"));
 
         _HTTPRequest = new CFHTTPRequest();
+        _HTTPRequest.setWithCredentials([aRequest withCredentials]);
 
         if (shouldStartImmediately)
             [self start];
@@ -217,8 +195,6 @@ var CPURLConnectionDelegate = nil;
 {
     _isCanceled = NO;
 
-    _HTTPRequest.setWithCredentials(_withCredentials);
-
     try
     {
         _HTTPRequest.open([_request HTTPMethod], [[_request URL] absoluteString], YES);
diff --git a/Foundation/CPURLError.j b/Foundation/CPURLError.j
new file mode 100644
index 000000000..77d901256
--- /dev/null
+++ b/Foundation/CPURLError.j
@@ -0,0 +1,39 @@
+
+/*
+ *  The CPURL Error Domain
+ */
+CPURLErrorDomain =                      @"CPURLErrorDomain";
+
+/*
+ *  CPURL UserInfo Error Keys
+ */
+CPURLErrorFailingURLErrorKey =          @"CPErrorFailingURLKey";
+CPURLErrorFailingURLStringErrorKey =    @"CPURLErrorFailingURLStringKey";
+
+/*
+ *  CPURL Error Codes
+ */
+CPURLErrorUnknown =                     -1;
+CPURLErrorCancelled =                   kCFURLErrorCancelled;
+CPURLErrorBadURL =                      kCFURLErrorBadURL;
+CPURLErrorTimedOut =                    kCFURLErrorTimedOut;
+CPURLErrorUnsupportedURL =              kCFURLErrorUnsupportedURL;
+CPURLErrorCannotFindHost =              kCFURLErrorCannotFindHost;
+CPURLErrorCannotConnectToHost =         kCFURLErrorCannotConnectToHost;
+CPURLErrorNetworkConnectionLost =       kCFURLErrorNetworkConnectionLost;
+CPURLErrorDNSLookupFailed =             kCFURLErrorDNSLookupFailed;
+CPURLErrorHTTPTooManyRedirects =        kCFURLErrorHTTPTooManyRedirects;
+CPURLErrorResourceUnavailable =         kCFURLErrorResourceUnavailable;
+CPURLErrorNotConnectedToInternet =      kCFURLErrorNotConnectedToInternet;
+CPURLErrorRedirectToNonExistentLocation =   kCFURLErrorRedirectToNonExistentLocation;
+CPURLErrorBadServerResponse =           kCFURLErrorBadServerResponse;
+CPURLErrorUserCancelledAuthentication = kCFURLErrorUserCancelledAuthentication;
+CPURLErrorUserAuthenticationRequired =  kCFURLErrorUserAuthenticationRequired;
+CPURLErrorZeroByteResource =            kCFURLErrorZeroByteResource;
+CPURLErrorCannotDecodeRawData =         kCFURLErrorCannotDecodeRawData;
+CPURLErrorCannotDecodeContentData =     kCFURLErrorCannotDecodeContentData;
+CPURLErrorCannotParseResponse =         kCFURLErrorCannotParseResponse;
+CPURLErrorFileDoesNotExist =            kCFURLErrorFileDoesNotExist;
+CPURLErrorFileIsDirectory =             kCFURLErrorFileIsDirectory;
+CPURLErrorNoPermissionsToReadFile =     kCFURLErrorNoPermissionsToReadFile;
+CPURLErrorDataLengthExceedsMaximum =    kCFURLErrorDataLengthExceedsMaximum;
\ No newline at end of file
diff --git a/Foundation/CPURLRequest.j b/Foundation/CPURLRequest.j
index 703c81bcc..8d6a39e3b 100644
--- a/Foundation/CPURLRequest.j
+++ b/Foundation/CPURLRequest.j
@@ -35,12 +35,14 @@
 */
 @implementation CPURLRequest : CPObject
 {
-    CPURL       _URL;
+    CPURL           _URL                @accessors(property=URL);
 
     // FIXME: this should be CPData
-    CPString        _HTTPBody;
-    CPString        _HTTPMethod;
-    CPDictionary    _HTTPHeaderFields;
+    CPString        _HTTPBody           @accessors(property=HTTPBody);
+    CPString        _HTTPMethod         @accessors(property=HTTPMethod);
+    BOOL            _withCredentials    @accessors(property=withCredentials);
+
+    CPDictionary    _HTTPHeaderFields   @accessors(readonly, getter=allHTTPHeaderFields);
 }
 
 /*!
@@ -78,6 +80,7 @@
         _HTTPBody = @"";
         _HTTPMethod = @"GET";
         _HTTPHeaderFields = @{};
+        _withCredentials = NO;
 
         [self setValue:"Thu, 01 Jan 1970 00:00:00 GMT" forHTTPHeaderField:"If-Modified-Since"];
         [self setValue:"no-cache" forHTTPHeaderField:"Cache-Control"];
@@ -87,14 +90,6 @@
     return self;
 }
 
-/*!
-    Returns the request URL
-*/
-- (CPURL)URL
-{
-    return _URL;
-}
-
 /*!
     Sets the URL for this request.
     @param aURL the new URL
@@ -105,48 +100,6 @@
     _URL = new CFURL(aURL);
 }
 
-/*!
-    Sets the HTTP body for this request
-    @param anHTTPBody the new HTTP body
-*/
-- (void)setHTTPBody:(CPString)anHTTPBody
-{
-    _HTTPBody = anHTTPBody;
-}
-
-/*!
-    Returns the request's http body.
-*/
-- (CPString)HTTPBody
-{
-    return _HTTPBody;
-}
-
-/*!
-    Sets the request's http method.
-    @param anHTPPMethod the new http method
-*/
-- (void)setHTTPMethod:(CPString)anHTTPMethod
-{
-    _HTTPMethod = anHTTPMethod;
-}
-
-/*!
-    Returns the request's http method
-*/
-- (CPString)HTTPMethod
-{
-    return _HTTPMethod;
-}
-
-/*!
-    Returns a dictionary of the http header fields
-*/
-- (CPDictionary)allHTTPHeaderFields
-{
-    return _HTTPHeaderFields;
-}
-
 /*!
     Returns the value for the specified header field.
     @param aField the header field to obtain a value for
@@ -167,3 +120,23 @@
 }
 
 @end
+
+/*
+    Implements the CPCopying Protocol for a CPURLRequest to provide deep copying for CPURLRequests
+*/
+@implementation CPURLRequest (CPCopying)
+{
+}
+
+- (id)copy
+{
+    var request = [[CPURLRequest alloc] initWithURL:[self URL]];
+    [request setHTTPBody:[self HTTPBody]];
+    [request setHTTPMethod:[self HTTPMethod]];
+    [request setWithCredentials:[self withCredentials]];
+    request._HTTPHeaderFields = [self allHTTPHeaderFields];
+
+    return request;
+}
+
+@end
diff --git a/Foundation/CPUndoManager.j b/Foundation/CPUndoManager.j
index af2111170..d4ad4914e 100644
--- a/Foundation/CPUndoManager.j
+++ b/Foundation/CPUndoManager.j
@@ -50,7 +50,7 @@ var _CPUndoGroupingPool         = [],
 /* @ignore */
 @implementation _CPUndoGrouping : CPObject
 {
-    _CPUndoGrouping _parent;
+    id              _parent;
     CPMutableArray  _invocations;
     CPString        _actionName;
 }
diff --git a/Foundation/CPUserSessionManager.j b/Foundation/CPUserSessionManager.j
index b1cbd23cb..523a65e19 100644
--- a/Foundation/CPUserSessionManager.j
+++ b/Foundation/CPUserSessionManager.j
@@ -24,6 +24,7 @@
 @import "CPObject.j"
 @import "CPString.j"
 
+@typedef CPUserSessionStatus
 CPUserSessionUndeterminedStatus = 0;
 CPUserSessionLoggedInStatus     = 1;
 CPUserSessionLoggedOutStatus    = 2;
diff --git a/Foundation/Foundation.j b/Foundation/Foundation.j
index ab9d5fdb2..3fa485412 100755
--- a/Foundation/Foundation.j
+++ b/Foundation/Foundation.j
@@ -73,6 +73,7 @@
 @import "CPUndoManager.j"
 @import "CPURL.j"
 @import "CPURLConnection.j"
+@import "CPURLError.j"
 @import "CPURLRequest.j"
 @import "CPURLResponse.j"
 @import "CPUserDefaults.j"
diff --git a/Foundation/_CGGeometry.j b/Foundation/_CGGeometry.j
index 4861ce8fd..d0482aa71 100644
--- a/Foundation/_CGGeometry.j
+++ b/Foundation/_CGGeometry.j
@@ -26,6 +26,12 @@ CGGeometry is not a part of Foundation. The reason _CGGeometry.j exists, and is
 
 */
 
+@typedef CGPoint
+@typedef CGSize
+@typedef CGRect
+@typedef CGInset
+
+
 function CGPointMake(x, y)
 {
     return { x:x, y:y };
diff --git a/Foundation/_CPTypeDefinitions.j b/Foundation/_CPTypeDefinitions.j
new file mode 100644
index 000000000..7aa874fe1
--- /dev/null
+++ b/Foundation/_CPTypeDefinitions.j
@@ -0,0 +1,30 @@
+/*
+ * _CPTypeDefintions.j
+ * Foundation
+ *
+ * Created by Antoine Mercadal.
+ * Copyright 2014, Antoine Mercadal.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+@typedef Class
+@typedef CPInteger
+@typedef CPUInteger
+@typedef DOMElement
+@typedef JSObject
+@typedef CPMethodSignature
+@typedef CPPropertyListFormat
+@typedef CPTimeInterval
diff --git a/Jakefile b/Jakefile
index d88f8aa73..56a4e30aa 100644
--- a/Jakefile
+++ b/Jakefile
@@ -111,6 +111,15 @@ task ("documentation-no-frame", function()
     generateDocs(true);
 });
 
+task ("docset", function()
+{
+    generateDocs(true);
+    var documentationDir = FILE.canonical(FILE.join("Tools", "Documentation")),
+        docsetShell = FILE.join(documentationDir, "support", "docset.sh");
+
+    OS.system([docsetShell, documentationDir]);
+});
+
 function generateDocs(/* boolean */ noFrame)
 {
     // try to find a doxygen executable in the PATH;
diff --git a/Objective-J/CFError.js b/Objective-J/CFError.js
new file mode 100644
index 000000000..615bbade8
--- /dev/null
+++ b/Objective-J/CFError.js
@@ -0,0 +1,164 @@
+/*
+ * CFError.js
+ * Objective-J
+ *
+ * Created by Andrew Hankinson.
+ * Copyright 2014, Andrew Hankinson.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+GLOBAL(kCFErrorLocalizedDescriptionKey) = "CPLocalizedDescription";
+GLOBAL(kCFErrorLocalizedFailureReasonKey) = "CPLocalizedFailureReason";
+GLOBAL(kCFErrorLocalizedRecoverySuggestionKey) = "CPLocalizedRecoverySuggestion";
+GLOBAL(kCFErrorDescriptionKey) = "CPDescription";
+GLOBAL(kCFErrorUnderlyingErrorKey) = "CPUnderlyingError";
+
+GLOBAL(kCFErrorURLKey) = "CPURL";
+GLOBAL(kCFErrorFilePathKey) = "CPFilePath";
+
+// GLOBAL(kCFErrorDomainPOSIX) = "";
+// GLOBAL(kCFErrorDomainOSStatus) = "";
+// GLOBAL(kCFErrorDomainMach) = "";
+GLOBAL(kCFErrorDomainCappuccino) = "CPCappuccinoErrorDomain";
+GLOBAL(kCFErrorDomainCocoa) = kCFErrorDomainCappuccino;
+
+
+GLOBAL(CFError) = function(/* CFString */ domain, /* int */ code, /* CFDictionary */ userInfo)
+{
+    this._domain = domain || NULL;
+    this._code = code || 0;
+    this._userInfo = userInfo || new CFDictionary();
+    this._UID = objj_generateObjectUID();
+};
+
+CFError.prototype.domain = function()
+{
+    return this._domain;
+};
+
+DISPLAY_NAME(CFError.prototype.domain);
+
+CFError.prototype.code = function()
+{
+    return this._code;
+};
+
+DISPLAY_NAME(CFError.prototype.code);
+
+/*
+    This follows the same logic to generate a description as the "real" CFError.
+*/
+CFError.prototype.description = function()
+{
+    var localizedDesc = this._userInfo.valueForKey(kCFErrorLocalizedDescriptionKey);
+    if (localizedDesc)
+        return localizedDesc;
+
+    var reason = this._userInfo.valueForKey(kCFErrorLocalizedFailureReasonKey);
+    if (reason)
+    {
+        var operationFailedStr = "The operation couldn\u2019t be completed. " + reason;
+        return operationFailedStr;
+    }
+
+    // @TODO Add the bundle localized domain handler.
+    var result = "",
+        desc = this._userInfo.valueForKey(kCFErrorDescriptionKey);
+    if (desc)
+    {
+        // we have a description key.
+        var result = "The operation couldn\u2019t be completed. (error " + this._code + " - " + desc + ")";
+    }
+    else
+    {
+        // just use error and code;
+        var result = "The operation couldn\u2019t be completed. (error " + this._code + ")";
+    }
+
+    return result;
+};
+
+DISPLAY_NAME(CFError.prototype.description);
+
+CFError.prototype.failureReason = function()
+{
+    return this._userInfo.valueForKey(kCFErrorLocalizedFailureReasonKey);
+};
+
+DISPLAY_NAME(CFError.prototype.failureReason);
+
+CFError.prototype.recoverySuggestion = function()
+{
+    return this._userInfo.valueForKey(kCFErrorLocalizedRecoverySuggestionKey);
+};
+
+DISPLAY_NAME(CFError.prototype.recoverySuggestion);
+
+CFError.prototype.userInfo = function ()
+{
+    return this._userInfo;
+};
+
+DISPLAY_NAME(CFError.prototype.userInfo);
+
+/*
+    CFError Bridge Functions
+    The "Create" and "Copy" in the function names do not have any meaning
+    in Cappuccino; they are bridged here for compatibility reasons only.
+*/
+GLOBAL(CFErrorCreate) = function(/* String */ domain, /*int */ code, /* CFDictionary */ userInfo)
+{
+    return new CFError(domain, code, userInfo);
+};
+
+GLOBAL(CFErrorCreateWithUserInfoKeysAndValues) = function(/* String */ domain, /* int */ code, /* array */ userInfoKeys, /* array */ userInfoValues, /* int */ numUserInfoValues)
+{
+    var userInfo = new CFMutableDictionary();
+    while (numUserInfoValues--)
+        userInfo.setValueForKey(userInfoKeys[numUserInfoValues], userInfoValues[numUserInfoValues]);
+
+    return new CFError(domain, code, userInfo);
+};
+
+GLOBAL(CFErrorGetCode) = function(/* CFError */ err)
+{
+    return err.code();
+};
+
+GLOBAL(CFErrorGetDomain) = function(/* CFError */ err)
+{
+    return err.domain();
+};
+
+GLOBAL(CFErrorCopyDescription) = function(/* CFError */ err)
+{
+    return err.description();
+};
+
+GLOBAL(CFErrorCopyUserInfo) = function(/* CFError */ err)
+{
+    return err.userInfo();
+};
+
+GLOBAL(CFErrorCopyFailureReason) = function(/* CFError */ err)
+{
+    return err.failureReason();
+};
+
+GLOBAL(CFErrorCopyRecoverySuggestion) = function(/* CFError */err)
+{
+    return err.recoverySuggestion();
+};
diff --git a/Objective-J/CFHTTPRequest.js b/Objective-J/CFHTTPRequest.js
index 6186dc80f..37bdf61e8 100644
--- a/Objective-J/CFHTTPRequest.js
+++ b/Objective-J/CFHTTPRequest.js
@@ -103,6 +103,9 @@ GLOBAL(CFHTTPRequest) = function()
     this._eventDispatcher = new EventDispatcher(this);
     this._nativeRequest = new NativeRequest();
 
+    // by default, all requests will assume that credentials should not be sent.
+    this._nativeRequest.withCredentials = false;
+
     var self = this;
     this._stateChangeHandler = function()
     {
@@ -279,7 +282,7 @@ CFHTTPRequest.prototype.setWithCredentials = function(/*Boolean*/ willSendWithCr
     this._nativeRequest.withCredentials = willSendWithCredentials;
 };
 
-CFHTTPRequest.prototype.getWithCredentials = function() 
+CFHTTPRequest.prototype.withCredentials = function() 
 {
     return this._nativeRequest.withCredentials;
 };
diff --git a/Objective-J/CFNetworkErrors.js b/Objective-J/CFNetworkErrors.js
new file mode 100644
index 000000000..9473579b9
--- /dev/null
+++ b/Objective-J/CFNetworkErrors.js
@@ -0,0 +1,25 @@
+GLOBAL(kCFURLErrorUnknown)    = -998;
+GLOBAL(kCFURLErrorCancelled)  = -999;
+GLOBAL(kCFURLErrorBadURL)     = -1000;
+GLOBAL(kCFURLErrorTimedOut)   = -1001;
+GLOBAL(kCFURLErrorUnsupportedURL)  = -1002;
+GLOBAL(kCFURLErrorCannotFindHost)  = -1003;
+GLOBAL(kCFURLErrorCannotConnectToHost)     = -1004;
+GLOBAL(kCFURLErrorNetworkConnectionLost)   = -1005;
+GLOBAL(kCFURLErrorDNSLookupFailed)         = -1006;
+GLOBAL(kCFURLErrorHTTPTooManyRedirects)    = -1007;
+GLOBAL(kCFURLErrorResourceUnavailable)     = -1008;
+GLOBAL(kCFURLErrorNotConnectedToInternet)  = -1009;
+GLOBAL(kCFURLErrorRedirectToNonExistentLocation)  = -1010;
+GLOBAL(kCFURLErrorBadServerResponse)              = -1011;
+GLOBAL(kCFURLErrorUserCancelledAuthentication)    = -1012;
+GLOBAL(kCFURLErrorUserAuthenticationRequired)     = -1013;
+GLOBAL(kCFURLErrorZeroByteResource)         = -1014;
+GLOBAL(kCFURLErrorCannotDecodeRawData)      = -1015;
+GLOBAL(kCFURLErrorCannotDecodeContentData)  = -1016;
+GLOBAL(kCFURLErrorCannotParseResponse)      = -1017;
+GLOBAL(kCFURLErrorRequestBodyStreamExhausted)  = -1021;
+GLOBAL(kCFURLErrorFileDoesNotExist)            = -1100;
+GLOBAL(kCFURLErrorFileIsDirectory)             = -1101;
+GLOBAL(kCFURLErrorNoPermissionsToReadFile)     = -1102;
+GLOBAL(kCFURLErrorDataLengthExceedsMaximum)    = -1103;
\ No newline at end of file
diff --git a/Objective-J/CommonJS/lib/objective-j.js b/Objective-J/CommonJS/lib/objective-j.js
index cf5504a3f..9dbf5ebd9 100644
--- a/Objective-J/CommonJS/lib/objective-j.js
+++ b/Objective-J/CommonJS/lib/objective-j.js
@@ -68,6 +68,8 @@ with (window)
 // runs the objj repl or file provided in args
 exports.run = function(args)
 {
+    var multipleFiles = false;
+
     if (args)
     {
         // we expect args to be in the format:
@@ -79,27 +81,82 @@ exports.run = function(args)
         // copy the args since we're going to modify them
         var argv = args.slice(1);
 
-        if (argv[0] === "--version")
+        if (argv[0] === "--version" || argv[0] === "-v")
         {
             print(exports.fullVersionString());
             return;
         }
 
-        while (argv.length && argv[0].indexOf('-I') === 0)
-            OBJJ_INCLUDE_PATHS.unshift.apply(OBJJ_INCLUDE_PATHS, argv.shift().substr(2).split(':'));
+        if (argv[0] === "--help" || argv[0] === "-h")
+        {
+            print("Usage (objj): " + args[0] + " [options] [--] files...");
+            print("  -v, --version                  print the current version of objj");
+            print("  -I, --objj-include-paths       include a specific framework paths")
+            print("  -h, --help                     print this help");
+            print("  -m, --multifiles               launch objj on several files")
+            return;
+        }
+
+        while (argv.length && argv[0].indexOf('-') === 0)
+        {
+            switch (argv[0])
+            {
+                case "-I":
+                    argv.shift();
+                    OBJJ_INCLUDE_PATHS.unshift.apply(OBJJ_INCLUDE_PATHS, argv.shift().split(":"));
+                    break;
+
+                case "-m":
+                    argv.shift();
+                    multipleFiles = true;
+                    break
+            }
+        }
     }
 
     if (argv && argv.length > 0)
     {
-        var arg0 = argv.shift();
-        var mainFilePath = FILE.canonical(arg0);
+        var endCommand = false;
 
-        exports.make_narwhal_factory(mainFilePath)(require, { }, module, system, print);
+        while (argv.length > 0)
+        {
+            var arg0 = argv.shift();
+            var mainFilePath = FILE.canonical(arg0);
 
-        if (typeof main === "function")
-            main([arg0].concat(argv));
+            if (multipleFiles)
+            {
+                // This is needed to process every files passed in args
+                // Otherwise it would stop when an error is raised or we would like to objj the other given files
+                try
+                {
+                    exports.make_narwhal_factory(mainFilePath)(require, { }, module, system, print);
+                }
+                catch(e)
+                {
+                    print("\n" + e);
+                }
+            }
+            else
+            {
+                exports.make_narwhal_factory(mainFilePath)(require, { }, module, system, print);
+            }
 
-        require("browser/timeout").serviceTimeouts();
+            if (typeof main === "function")
+            {
+                main([arg0].concat(argv));
+                endCommand = true;
+            }
+
+            require("browser/timeout").serviceTimeouts();
+
+            if (!multipleFiles || endCommand)
+                break;
+
+            ObjectiveJ.Executable.resetCachedFileExecutableSearchers();
+            ObjectiveJ.StaticResource.resetRootResources();
+            ObjectiveJ.FileExecutable.resetFileExecutables();
+            objj_resetRegisterClasses();
+        }
     }
     else
     {
diff --git a/Objective-J/CommonJS/lib/objective-j/jake/bundletask.js b/Objective-J/CommonJS/lib/objective-j/jake/bundletask.js
index a31c5d781..e71b9129f 100644
--- a/Objective-J/CommonJS/lib/objective-j/jake/bundletask.js
+++ b/Objective-J/CommonJS/lib/objective-j/jake/bundletask.js
@@ -35,7 +35,12 @@ function BundleTask(aName, anApplication)
 {
     Task.apply(this, arguments);
 
-    this.setEnvironments([environment.Browser, environment.CommonJS]);
+    var ignoreCommonJS = system.env["CAPP_IGNORE_COMMONJS_ENV"];
+
+    if (ignoreCommonJS && ignoreCommonJS.toLowerCase() == "no" || ignoreCommonJS == "1")
+        this.setEnvironments([environment.Browser]);
+    else
+        this.setEnvironments([environment.Browser, environment.CommonJS]);
 
     this._author = null;
     this._email = null;
diff --git a/Objective-J/Includes.js b/Objective-J/Includes.js
index a4373e3a0..43adc2de2 100644
--- a/Objective-J/Includes.js
+++ b/Objective-J/Includes.js
@@ -38,6 +38,8 @@
 #include "CFHTTPRequest.js"
 #include "CFPropertyList.js"
 #include "CFDictionary.js"
+#include "CFError.js"
+#include "CFNetworkErrors.js"
 #include "CFData.js"
 #include "CFURL.js"
 #include "MarkedStream.js"
diff --git a/Objective-J/ObjJAcornCompiler.js b/Objective-J/ObjJAcornCompiler.js
index e1cf72b07..0e9d16f98 100644
--- a/Objective-J/ObjJAcornCompiler.js
+++ b/Objective-J/ObjJAcornCompiler.js
@@ -353,6 +353,11 @@ ProtocolDef.prototype.getClassMethod = function(name) {
     return null;
 }
 
+var TypeDef = function(name)
+{
+    this.name = name;
+}
+
 // methodDef = {"types": types, "name": selector}
 var MethodDef = function(name, types)
 {
@@ -369,7 +374,7 @@ var wordPrefixOperators = exports.acorn.makePredicate("delete in instanceof new
 var isLogicalBinary = exports.acorn.makePredicate("LogicalExpression BinaryExpression");
 var isInInstanceof = exports.acorn.makePredicate("in instanceof");
 
-var ObjJAcornCompiler = function(/*String*/ aString, /*CFURL*/ aURL, /*unsigned*/ flags, /*unsigned*/ pass, /* Dictionary */ classDefs, /* Dictionary */ protocolDefs)
+var ObjJAcornCompiler = function(/*String*/ aString, /*CFURL*/ aURL, /*unsigned*/ flags, /*unsigned*/ pass, /* Dictionary */ classDefs, /* Dictionary */ protocolDefs, /* Dictionary */ typeDefs)
 {
     this.source = aString;
     this.URL = new CFURL(aURL);
@@ -383,7 +388,7 @@ var ObjJAcornCompiler = function(/*String*/ aString, /*CFURL*/ aURL, /*unsigned*
         this.tokens = exports.acorn.parse(aString);
     }
     catch (e) {
-        if (e.lineStart)
+        if (e.lineStart != null)
         {
             var message = this.prettifyMessage(e, "ERROR");
 #ifdef BROWSER
@@ -399,6 +404,7 @@ var ObjJAcornCompiler = function(/*String*/ aString, /*CFURL*/ aURL, /*unsigned*
     this.flags = flags | ObjJAcornCompiler.Flags.IncludeDebugSymbols;
     this.classDefs = classDefs ? classDefs : Object.create(null);
     this.protocolDefs = protocolDefs ? protocolDefs : Object.create(null);
+    this.typeDefs = typeDefs ? typeDefs : Object.create(null);
     this.lastPos = 0;
     if (currentCompilerFlags & ObjJAcornCompiler.Flags.Generate)
         this.generate = true;
@@ -415,9 +421,9 @@ exports.ObjJAcornCompiler.compileToExecutable = function(/*String*/ aString, /*C
     return new ObjJAcornCompiler(aString, aURL, flags, 2).executable();
 }
 
-exports.ObjJAcornCompiler.compileToIMBuffer = function(/*String*/ aString, /*CFURL*/ aURL, /*unsigned*/ flags, classDefs, protocolDefs)
+exports.ObjJAcornCompiler.compileToIMBuffer = function(/*String*/ aString, /*CFURL*/ aURL, /*unsigned*/ flags, classDefs, protocolDefs, typeDefs)
 {
-    return new ObjJAcornCompiler(aString, aURL, flags, 2, classDefs, protocolDefs).IMBuffer();
+    return new ObjJAcornCompiler(aString, aURL, flags, 2, classDefs, protocolDefs, typeDefs).IMBuffer();
 }
 
 exports.ObjJAcornCompiler.compileFileDependencies = function(/*String*/ aString, /*CFURL*/ aURL, /*unsigned*/ flags)
@@ -581,6 +587,31 @@ ObjJAcornCompiler.prototype.getProtocolDef = function(/* String */ aProtocolName
 //  protocolDef = {"name": protocolName, "protocols": Object.create(null), "required": Object.create(null), "optional": Object.create(null)};
 }
 
+ObjJAcornCompiler.prototype.getTypeDef = function(/* String */ aTypeDefName)
+{
+    if (!aTypeDefName)
+        return null;
+
+    var t = this.typeDefs[aTypeDefName];
+
+    if (t)
+        return t;
+
+    if (typeof objj_getTypeDef === 'function')
+    {
+        var aTypeDef = objj_getTypeDef(aTypeDefName);
+        if (aTypeDef)
+        {
+            var typeDefName = typeDef_getName(aTypeDef)
+            t = new TypeDef(typeDefName);
+            this.typeDefs[typeDefName] = t;
+            return t;
+        }
+    }
+
+    return null;
+}
+
 ObjJAcornCompiler.methodDefsFromMethodList = function(/* Array */ methodList)
 {
     var methodSize = methodList.length,
@@ -1643,6 +1674,9 @@ ClassDeclarationStatement: function(node, st, c) {
     compiler.cmBuffer = new StringBuffer();
     compiler.classBodyBuffer = new StringBuffer();      // TODO: Check if this is needed
 
+    if (compiler.getTypeDef(className))
+        throw compiler.error_message(className + " is already declared as a type", node.classname);
+
     if (!generate) saveJSBuffer.concat(compiler.source.substring(compiler.lastPos, node.start));
 
     // First we declare the class
@@ -1715,12 +1749,19 @@ ClassDeclarationStatement: function(node, st, c) {
         {
             var ivarDecl = node.ivardeclarations[i],
                 ivarType = ivarDecl.ivartype ? ivarDecl.ivartype.name : null,
+                ivarTypeIsClass = ivarDecl.ivartype ? ivarDecl.ivartype.typeisclass : false,
                 ivarName = ivarDecl.id.name,
                 ivar = {"type": ivarType, "name": ivarName},
                 accessors = ivarDecl.accessors;
 
             if (ivars[ivarName])
-                throw compiler.error_message("Instance variable '" + ivarName + "'is already declared for class " + className, ivarDecl.id);
+                throw compiler.error_message("Instance variable '" + ivarName + "' is already declared for class " + className, ivarDecl.id);
+
+            var isTypeDefined = !ivarTypeIsClass || typeof global[ivarType] !== "undefined" || typeof window[ivarType] !== "undefined"
+                                || compiler.getClassDef(ivarType) || compiler.getTypeDef(ivarType) || ivarType == classDef.name;
+
+            if (!isTypeDefined)
+                compiler.addWarning(createMessage("Unknown type '" + ivarType + "' for ivar '" + ivarName + "'", ivarDecl.id, compiler.source));
 
             if (firstIvarDeclaration)
             {
@@ -1778,7 +1819,8 @@ ClassDeclarationStatement: function(node, st, c) {
         var getterSetterBuffer = new StringBuffer();
 
         // Add the class declaration to compile accessors correctly
-        getterSetterBuffer.concat(compiler.source.substring(node.start, node.endOfIvars));
+        // Remove all protocols from class declaration
+        getterSetterBuffer.concat(compiler.source.substring(node.start, node.endOfIvars).replace(/<.*>/g, ""));
         getterSetterBuffer.concat("\n");
 
         for (var i = 0; i < node.ivardeclarations.length; ++i)
@@ -1823,7 +1865,7 @@ ClassDeclarationStatement: function(node, st, c) {
 
         // Remove all @accessors or we will get a recursive loop in infinity
         var b = getterSetterBuffer.toString().replace(/@accessors(\(.*\))?/g, "");
-        var imBuffer = ObjJAcornCompiler.compileToIMBuffer(b, "Accessors", compiler.flags, compiler.classDefs, compiler.protocolDefs);
+        var imBuffer = ObjJAcornCompiler.compileToIMBuffer(b, "Accessors", compiler.flags, compiler.classDefs, compiler.protocolDefs, compiler.typeDefs);
 
         // Add the accessors methods first to instance method buffer.
         // This will allow manually added set and get methods to override the compiler generated
@@ -1893,8 +1935,15 @@ ClassDeclarationStatement: function(node, st, c) {
         // Lookup the protocolDefs for the protocols
         var protocolDefs = [];
 
-        for (var i = 0, size = protocols.length; i < size; i++)
-            protocolDefs.push(compiler.getProtocolDef(protocols[i].name));
+        for (var i = 0, size = protocols.length; i < size; i++) {
+            var protocol = protocols[i],
+                protocolDef = compiler.getProtocolDef(protocol.name);
+
+            if (!protocolDef)
+                throw compiler.error_message("Cannot find protocol declaration for '" + protocol.name + "'", protocol);
+
+            protocolDefs.push(protocolDef);
+        }
 
         var unimplementedMethods = classDef.listOfNotImplementedMethodsForProtocols(protocolDefs);
 
@@ -2332,9 +2381,9 @@ Reference: function(node, st, c) {
         buffer.concat(" "); // Add an extra space if it looks something like this: "return()". No space between return and expression.
     }
     buffer.concat("function(__input) { if (arguments.length) return ");
-    buffer.concat(node.element.name);
+    c(node.element, st, "Expression");
     buffer.concat(" = __input; return ");
-    buffer.concat(node.element.name);
+    c(node.element, st, "Expression");
     buffer.concat("; }");
     if (!generate) compiler.lastPos = node.end;
 },
@@ -2363,6 +2412,10 @@ ClassStatement: function(node, st, c) {
         compiler.jsBuffer.concat("//");
     }
     var className = node.id.name;
+
+    if (compiler.getTypeDef(className))
+        throw compiler.error_message(className + " is already declared as a type", node.id);
+
     if (!compiler.getClassDef(className)) {
         classDef = new ClassDef(false, className);
         compiler.classDefs[className] = classDef;
@@ -2385,5 +2438,42 @@ PreprocessStatement: function(node, st, c) {
       compiler.lastPos = node.start;
       compiler.jsBuffer.concat("//");
     }
+},
+TypeDefStatement: function(node, st, c) {
+
+    var compiler = st.compiler,
+        generate = compiler.generate,
+        buffer = compiler.jsBuffer,
+        typeDefName = node.typedefname.name,
+        typeDef = compiler.getTypeDef(typeDefName),
+        typeDefScope = new Scope(st);
+
+    if (typeDef)
+        throw compiler.error_message("Duplicate type definition " + typeDefName, node.typedefname);
+
+    if (compiler.getClassDef(typeDefName))
+        throw compiler.error_message(typeDefName + " is already declared as class", node.typedefname);
+
+    compiler.imBuffer = new StringBuffer();
+    compiler.cmBuffer = new StringBuffer();
+
+    if (!generate)
+        buffer.concat(compiler.source.substring(compiler.lastPos, node.start));
+
+    buffer.concat("{var the_typedef = objj_allocateTypeDef(\"" + typeDefName + "\");");
+
+    typeDef = new TypeDef(typeDefName);
+    compiler.typeDefs[typeDefName] = typeDef;
+    typeDefScope.typeDef = typeDef;
+
+    buffer.concat("\nobjj_registerTypeDef(the_typedef);\n");
+
+    buffer.concat("}");
+
+    compiler.jsBuffer = buffer;
+
+    // Skip the "@end"
+    if (!generate)
+        compiler.lastPos = node.end;
 }
 });
diff --git a/Objective-J/OldBrowserCompatibility.js b/Objective-J/OldBrowserCompatibility.js
index 0086388ff..cd3d30517 100644
--- a/Objective-J/OldBrowserCompatibility.js
+++ b/Objective-J/OldBrowserCompatibility.js
@@ -37,7 +37,7 @@ if (!Object.create)
 // This is for IE8 support. It doesn't have the Object.keys function.
 if (!Object.keys)
 {
-    Object.keys = (function ()
+    Object.keys = (function()
     {
         var hasOwnProperty = Object.prototype.hasOwnProperty,
             hasDontEnumBug = !({toString: null}).propertyIsEnumerable('toString'),
diff --git a/Objective-J/Runtime.js b/Objective-J/Runtime.js
index 75a43bf78..e352cf3e1 100644
--- a/Objective-J/Runtime.js
+++ b/Objective-J/Runtime.js
@@ -100,6 +100,11 @@ GLOBAL(objj_object) = function()
     this._UID   = -1;
 }
 
+GLOBAL(objj_typeDef) = function(/*String*/ aName)
+{
+    this.name = aName;
+}
+
 // Working with Classes
 
 GLOBAL(class_getName) = function(/*Class*/ aClass)
@@ -440,6 +445,26 @@ GLOBAL(protocol_addProtocol) = function(/*Protocol*/ proto, /*Protocol*/ additio
     (proto.protocol_list || (proto.protocol_list = [])).push(addition);
 }
 
+
+var REGISTERED_TYPEDEFS = Object.create(null);
+
+GLOBAL(objj_allocateTypeDef) = function(/*String*/ aName)
+{
+    var typeDef = new objj_typeDef(aName);
+
+    return typeDef;
+}
+
+GLOBAL(objj_registerTypeDef) = function(/*TypeDef*/ typeDef)
+{
+    REGISTERED_TYPEDEFS[typeDef.name] = typeDef;
+}
+
+GLOBAL(typeDef_getName) = function(/*TypeDef*/ typeDef)
+{
+    return typeDef.name;
+}
+
 var _class_initialize = function(/*Class*/ aClass)
 {
     var meta = GETMETA(aClass);
@@ -619,6 +644,7 @@ GLOBAL(objj_resetRegisterClasses) = function()
 
     REGISTERED_CLASSES = Object.create(null);
     REGISTERED_PROTOCOLS = Object.create(null);
+    REGISTERED_TYPEDEFS = Object.create(null);
 
     resetBundle();
 }
@@ -751,6 +777,13 @@ GLOBAL(objj_getProtocol) = function(/*String*/ aName)
     return REGISTERED_PROTOCOLS[aName];
 }
 
+// Working with typeDef
+
+GLOBAL(objj_getTypeDef) = function(/*String*/ aName)
+{
+    return REGISTERED_TYPEDEFS[aName];
+}
+
 // Working with Instance Variables
 
 GLOBAL(ivar_getName) = function(anIvar)
diff --git a/Objective-J/acorn.js b/Objective-J/acorn.js
index f12994057..594111ee0 100644
--- a/Objective-J/acorn.js
+++ b/Objective-J/acorn.js
@@ -375,12 +375,15 @@ if (typeof exports != "undefined" && !exports.acorn) {
   var _ref = {keyword: "ref"}, _deref = {keyword: "deref"};
   var _protocol = {keyword: "protocol"}, _optional = {keyword: "optional"}, _required = {keyword: "required"};
   var _interface = {keyword: "interface"};
+  var _typedef = {keyword: "typedef"};
 
   // Objective-J keywords
 
   var _filename = {keyword: "filename"}, _unsigned = {keyword: "unsigned", okAsIdent: true}, _signed = {keyword: "signed", okAsIdent: true};
   var _byte = {keyword: "byte", okAsIdent: true}, _char = {keyword: "char", okAsIdent: true}, _short = {keyword: "short", okAsIdent: true};
   var _int = {keyword: "int", okAsIdent: true}, _long = {keyword: "long", okAsIdent: true}, _id = {keyword: "id", okAsIdent: true};
+  var _boolean = {keyword: "BOOL", okAsIdent: true}, _SEL = {keyword: "SEL", okAsIdent: true}, _float = {keyword: "float", okAsIdent: true};
+  var _double = {keyword: "double", okAsIdent: true};
   var _preprocess = {keyword: "#"};
 
   // Preprocessor keywords
@@ -415,14 +418,15 @@ if (typeof exports != "undefined" && !exports.acorn) {
   // Map Objective-J keyword names to token types.
 
   var keywordTypesObjJ = {"IBAction": _action, "IBOutlet": _outlet, "unsigned": _unsigned, "signed": _signed, "byte": _byte, "char": _char,
-                          "short": _short, "int": _int, "long": _long, "id": _id };
+                          "short": _short, "int": _int, "long": _long, "id": _id, "float": _float, "BOOL": _boolean, "SEL": _SEL,
+                          "double": _double};
 
   // Map Objective-J "@" keyword names to token types.
 
   var objJAtKeywordTypes = {"implementation": _implementation, "outlet": _outlet, "accessors": _accessors, "end": _end,
                             "import": _import, "action": _action, "selector": _selector, "class": _class, "global": _global,
                             "ref": _ref, "deref": _deref, "protocol": _protocol, "optional": _optional, "required": _required,
-                            "interface": _interface};
+                            "interface": _interface, "typedef": _typedef};
 
   // Map Preprocessor keyword names to token types.
 
@@ -547,7 +551,7 @@ if (typeof exports != "undefined" && !exports.acorn) {
 
   // The Objective-J keywords.
 
-  var isKeywordObjJ = makePredicate("IBAction IBOutlet byte char short int long unsigned signed id");
+  var isKeywordObjJ = makePredicate("IBAction IBOutlet byte char short int long float unsigned signed id BOOL SEL double");
 
   // The preprocessor keywords.
 
@@ -662,6 +666,7 @@ var preprocessTokens = [_preIf, _preIfdef, _preIfndef, _preElse, _preElseIf, _pr
         }
       }
     }
+
     tokVal = val;
     lastTokCommentsAfter = tokCommentsAfter;
     lastTokSpacesAfter = tokSpacesAfter;
@@ -2277,6 +2282,15 @@ var preIfLevel = 0;
       }
       break;
 
+      // This is a Objective-J statement
+    case _typedef:
+      if (options.objj) {
+        next();
+        node.typedefname = parseIdent(true);
+        return finishNode(node, "TypeDefStatement");
+      }
+      break;
+
     }
 
       // The indentation is one step to the right here to make sure it
@@ -2317,6 +2331,7 @@ var preIfLevel = 0;
       if (outlet)
         decl.outlet = outlet;
       decl.ivartype = type;
+      // print("keyword: " + type.name + " is class " + type.typeisclass)
       decl.id = parseIdent();
       if (strict && isStrictBadIdWord(decl.id.name))
         raise(decl.id.start, "Binding " + decl.id.name + " in strict mode");
@@ -3021,6 +3036,7 @@ var preIfLevel = 0;
       node.typeisclass = true;
       next();
     } else {
+      node.typeisclass = false;
       node.name = tokType.keyword;
       // Do nothing more if it is 'void'
       if (!eat(_void)) {
@@ -3043,32 +3059,36 @@ var preIfLevel = 0;
         } else {
           // Now check if it is some basic type or an approved combination of basic types
           var nextKeyWord;
-          if (eat(_signed) || eat(_unsigned))
-            nextKeyWord = tokType.keyword || true;
-          if (eat(_char) || eat(_byte) || eat(_short)) {
-            if (nextKeyWord)
-              node.name += " " + nextKeyWord;
-            nextKeyWord = tokType.keyword || true;
-          } else {
-            if (eat(_int)) {
-              if (nextKeyWord)
-                node.name += " " + nextKeyWord;
-              nextKeyWord = tokType.keyword || true;
-            }
-            if (eat(_long)) {
-              if (nextKeyWord)
-                node.name += " " + nextKeyWord;
-              nextKeyWord = tokType.keyword || true;
-              if (eat(_long)) {
-                node.name += " " + nextKeyWord;
-              }
-            }
-          }
-          if (!nextKeyWord) {
-            // It must be a class name if it was not a basic type. // FIXME: This is not true
-            node.name = (!options.forbidReserved && tokType.keyword) || unexpected();
-            node.typeisclass = true;
-            next();
+          if (eat(_float) || eat(_boolean) || eat(_SEL) || eat(_double))
+              nextKeyWord = tokType.keyword;
+          else {
+             if (eat(_signed) || eat(_unsigned))
+               nextKeyWord = tokType.keyword || true;
+             if (eat(_char) || eat(_byte) || eat(_short)) {
+               if (nextKeyWord)
+                 node.name += " " + nextKeyWord;
+               nextKeyWord = tokType.keyword || true;
+             } else {
+               if (eat(_int)) {
+                 if (nextKeyWord)
+                   node.name += " " + nextKeyWord;
+                 nextKeyWord = tokType.keyword || true;
+               }
+               if (eat(_long)) {
+                 if (nextKeyWord)
+                   node.name += " " + nextKeyWord;
+                 nextKeyWord = tokType.keyword || true;
+                 if (eat(_long)) {
+                   node.name += " " + nextKeyWord;
+                 }
+               }
+             }
+             if (!nextKeyWord) {
+               // It must be a class name if it was not a basic type. // FIXME: This is not true
+               node.name = (!options.forbidReserved && tokType.keyword) || unexpected();
+               node.typeisclass = true;
+               next();
+             }
           }
         }
       }
diff --git a/Objective-J/acornwalk.js b/Objective-J/acornwalk.js
index 87753e3f4..8d5666529 100644
--- a/Objective-J/acornwalk.js
+++ b/Objective-J/acornwalk.js
@@ -221,6 +221,8 @@ if (!exports.acorn) {
     }
   }
 
+  exports.TypeDefStatement = ignore;
+
   exports.MethodDeclarationStatement = function(node, st, c) {
     var body = node.body;
     if (body)
diff --git a/Objective-J/json2.js b/Objective-J/json2.js
index 8ba599eed..0252d58bf 100644
--- a/Objective-J/json2.js
+++ b/Objective-J/json2.js
@@ -161,7 +161,7 @@
 if (!this.JSON) {
     JSON = {};
 }
-(function () {
+(function() {
 
     function f(n) {
         // Format integers to have at least two digits.
diff --git a/README.markdown b/README.markdown
index b5a13beaa..ed87b834d 100644
--- a/README.markdown
+++ b/README.markdown
@@ -33,7 +33,7 @@ Getting Started
 ---------------
 To get started, download and install the current release version of Cappuccino:
 
-    $ curl https://raw.github.com/cappuccino/cappuccino/v0.9.7/bootstrap.sh >/tmp/cappuccino_bootstrap.sh && bash /tmp/cappuccino_bootstrap.sh
+    $ curl https://raw.githubusercontent.com/cappuccino/cappuccino/v0.9.7-1/bootstrap.sh >/tmp/cappuccino_bootstrap.sh && bash /tmp/cappuccino_bootstrap.sh
 
 If you'd just like to get started using Cappuccino for your web apps, you are done.
 
diff --git a/Tests/AppKit/CPArrayControllerTest.j b/Tests/AppKit/CPArrayControllerTest.j
index 5e7f8f982..35b8e3388 100644
--- a/Tests/AppKit/CPArrayControllerTest.j
+++ b/Tests/AppKit/CPArrayControllerTest.j
@@ -3,6 +3,9 @@
 @import 
 @import 
 
+@class Department
+@class Employee
+
 @implementation CPArrayControllerTest : OJTestCase
 {
     CPArrayController   _arrayController @accessors(property=arrayController);
@@ -10,6 +13,9 @@
 
     CPArray             observations;
     int                 aCount @accessors;
+
+    CPArray             nameValues @accessors;
+    CPArray             depValues @accessors;
 }
 
 - (CPArray)makeTestArray
@@ -19,6 +25,22 @@
         [Employee employeeWithName:@"Tom" department:[Department departmentWithName:@"CommonJS"]]];
 }
 
+- (CPArray)makeTestArrayMany
+{
+    var a = [[Employee employeeWithName:@"Francisco" department:[Department departmentWithName:@"Cappuccino"]],
+        [Employee employeeWithName:@"Ross" department:[Department departmentWithName:@"Cappuccino"]],
+        [Employee employeeWithName:@"Tom" department:[Department departmentWithName:@"CommonJS"]]];
+
+    var i = 10000;
+
+    while (i--)
+    {
+        [a addObject:[Employee employeeWithName:@"Martin" + i department:[Department departmentWithName:@"Magic Lightning"]]];
+    }
+
+    return a;
+}
+
 - (void)initControllerWithSimpleArray
 {
     // Copy the array to allow the original to be reused.
@@ -1054,6 +1076,54 @@
     [self assert:[1, 2, 3] equals:[arrayController1 arrangedObjects] message:"normal selection"];
 }
 
+/*!
+    Test that bindings are not generation any change dictionary with Old or New values as a observer
+*/
+- (void)testCreationOfOldAndNeChangeDictionaryinObserverProtocol
+{
+    [self initControllerWithContentBinding];
+
+    var arrayController = [self arrayController];
+
+    [self bind:@"nameValues" toObject:arrayController withKeyPath:@"arrangedObjects.name" options:nil];
+
+    countGetName = 0;
+
+    [self setItemsArray:[]];
+    [self assert:0 equals:countGetName];
+
+    countGetName = 0;
+
+    [self setItemsArray:[self makeTestArray]];
+    [self assert:3 equals:countGetName message:@"3 items in array and one '.name' bindings should make 3 accesses to the name property not " + countGetName + " times"];
+}
+
+/*!
+    Test the speed of set an big array when the old was an empty.
+    Also test the speed when an empty array is set and the old is an big
+*/
+- (void)testPerformance
+{
+    [self initControllerWithContentBinding];
+
+    var arrayController = [self arrayController];
+    [self bind:@"nameValues" toObject:arrayController withKeyPath:@"arrangedObjects.name" options:nil];
+    [self bind:@"depValues" toObject:arrayController withKeyPath:@"arrangedObjects.department" options:nil];
+
+    [self setItemsArray:[]];
+    var bigArray = [self makeTestArrayMany];
+
+    var d = new Date();
+    [self setItemsArray:bigArray];
+    var dd = new Date();
+    [self setItemsArray:[]];
+    var ddd = new Date();
+
+    CPLog.warn("\n" + [self className] + " Performance tests");
+    CPLog.warn("EmptyArray -> BigArray (" + [bigArray count] + "): " + (dd - d) + "ms.");
+    CPLog.warn("BigArray (" + [bigArray count] + ") -> EmptyArray: " + (ddd - dd) + "ms.");
+}
+
 - (void)observeValueForKeyPath:keyPath
     ofObject:anActivity
     change:change
@@ -1099,8 +1169,20 @@
     [_contentArray replaceObjectAtIndex:index withObject:anObject];
 }
 
+- (void)setItemsArray:(CPArray)newValue
+{
+    [self setValue:newValue forKey:@"contentArray"];
+}
+
+- (CPArray)itemsArray
+{
+    return [self valueForKey:@"contentArray"];
+}
+
 @end
 
+var countGetName;
+
 @implementation Employee : CPObject
 {
     CPString            _name @accessors(property=name);
@@ -1128,6 +1210,12 @@
     return [CPString stringWithFormat:@"", [self name]];
 }
 
+- (CPString)name
+{
+    countGetName++;
+    return _name;
+}
+
 @end
 
 @implementation Department : CPObject
diff --git a/Tests/AppKit/CPBrowserTest.j b/Tests/AppKit/CPBrowserTest.j
index 420dfb279..bc29049bb 100644
--- a/Tests/AppKit/CPBrowserTest.j
+++ b/Tests/AppKit/CPBrowserTest.j
@@ -1,5 +1,8 @@
 @import 
 
+@class CPBrowserDelegate
+
+
 @implementation CPBrowserTest : OJTestCase
 {
     CPBrowser   browser;
diff --git a/Tests/AppKit/CPComboBoxTest.j b/Tests/AppKit/CPComboBoxTest.j
new file mode 100644
index 000000000..3d12ed91c
--- /dev/null
+++ b/Tests/AppKit/CPComboBoxTest.j
@@ -0,0 +1,78 @@
+@import 
+@import 
+@import 
+
+@import "CPNotificationCenterHelper.j"
+
+[CPApplication sharedApplication];
+
+@implementation CPComboBoxTest : OJTestCase
+{
+    CPComboBox comboBox;
+    BOOL       wasClicked
+}
+
+- (void)setUp
+{
+    comboBox = [[CPComboBox alloc] initWithFrame:CGRectMake(0, 0, 200, 30)];
+}
+
+- (void)testCanCreate
+{
+    [self assertTrue:!!comboBox];
+}
+
+- (void)testPublicAccessors
+{
+    [comboBox setHasVerticalScroller:YES];
+    [comboBox setIntercellSpacing:CGSizeMakeZero()];
+    [comboBox setButtonBordered:YES];
+    [comboBox setItemHeight:30];
+    [comboBox setNumberOfVisibleItems:10];
+}
+
+- (void)testPerformClick
+{
+    [comboBox setTarget:self];
+    [comboBox setAction:@selector(clickMe:)];
+    [comboBox performClick:nil];
+    [self assertTrue:wasClicked];
+}
+
+- (void)clickMe:(id)sender
+{
+    wasClicked = YES;
+}
+
+- (void)testNotificationsRegistered
+{
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:comboBox] equals:[] message:@"Notications registered for the CPComboBox in the notification center are wrong"];
+    [comboBox setListDelegate:[[_CPPopUpList alloc] initWithDataSource:comboBox]];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:comboBox] equals:[] message:@"Notications registered for the CPComboBox in the notification center are wrong"];
+
+    var theWindow = [[CPWindow alloc] initWithContentRect:CGRectMake(0.0, 0.0, 1024.0, 768.0)
+                                        styleMask:CPWindowNotSizable];
+
+    [[theWindow contentView] addSubview:comboBox];
+
+    var expectedNotifications = [@"_CPPopUpListWillPopUpNotification", @"_CPPopUpListWillDismissNotification", @"_CPPopUpListDidDismissNotification", @"_CPPopUpListItemWasClickedNotification", @"CPTableViewSelectionIsChangingNotification", @"CPTableViewSelectionDidChangeNotification"].sort();
+
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:comboBox] equals:expectedNotifications message:@"Notications registered for the CPComboBox in the notification center are wrong"];
+
+    [comboBox removeFromSuperview];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:comboBox] equals:[] message:@"Notications registered for the CPComboBox in the notification center are wrong"];
+
+    [[theWindow contentView] addSubview:comboBox];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:comboBox] equals:expectedNotifications message:@"Notications registered for the CPComboBox in the notification center are wrong"];
+
+    [[theWindow contentView] addSubview:comboBox];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:comboBox] equals:expectedNotifications message:@"Notications registered for the CPComboBox in the notification center are wrong"];
+
+    [comboBox setListDelegate:nil];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:comboBox] equals:[] message:@"Notications registered for the CPComboBox in the notification center are wrong"];
+
+    [comboBox setListDelegate:[[_CPPopUpList alloc] initWithDataSource:comboBox]];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:comboBox] equals:expectedNotifications message:@"Notications registered for the CPComboBox in the notification center are wrong"];
+}
+
+@end
\ No newline at end of file
diff --git a/Tests/AppKit/CPKeyValueBindingSimpleBindingsTest.j b/Tests/AppKit/CPKeyValueBindingSimpleBindingsTest.j
index d9c0e06d1..d1bb9af84 100644
--- a/Tests/AppKit/CPKeyValueBindingSimpleBindingsTest.j
+++ b/Tests/AppKit/CPKeyValueBindingSimpleBindingsTest.j
@@ -1,6 +1,8 @@
 
 @import 
 
+@class Track
+
 /*!
     Bindings tests exercising the functionality seen in the Cocoa example "SimpleBindingsAdoption".
 */
diff --git a/Tests/AppKit/CPKeyValueBindingTest.j b/Tests/AppKit/CPKeyValueBindingTest.j
index 9812e81e6..8412e18a9 100644
--- a/Tests/AppKit/CPKeyValueBindingTest.j
+++ b/Tests/AppKit/CPKeyValueBindingTest.j
@@ -342,6 +342,24 @@
     [self assert:@"brie" equals:[control2 objectValue] message:@"control2 objectValue is wrong"];
 }
 
+- (void)testExclusiveBindings
+{
+    var segmented = [[CPSegmentedControl alloc] initWithFrame:CGRectMakeZero()];
+    [segmented setSegmentCount:3];
+
+    var model = [BindingTester testerWithCheese:2];
+
+    [segmented bind:CPSelectedIndexBinding toObject:model withKeyPath:@"cheese" options:nil];
+
+    // Try to bind another binding (mutually exclusive) to the same value.
+    [segmented bind:CPSelectedTagBinding toObject:model withKeyPath:@"cheese" options:nil];
+
+    [self assertNotNull:[segmented infoForBinding:CPSelectedIndexBinding]];
+
+    // Check that the source is not binded with the CPSelectedTagBinding
+    [self assertNull:[segmented infoForBinding:CPSelectedTagBinding]];
+}
+
 @end
 
 @implementation TextField : CPTextField
diff --git a/Tests/AppKit/CPMenuValidatedUserInterfaceItemTest.j b/Tests/AppKit/CPMenuValidatedUserInterfaceItemTest.j
index e60c456db..5757c368d 100644
--- a/Tests/AppKit/CPMenuValidatedUserInterfaceItemTest.j
+++ b/Tests/AppKit/CPMenuValidatedUserInterfaceItemTest.j
@@ -1,5 +1,7 @@
 var CPMenuValidatedUserInterfaceItemTestValidatedItems = [];
 
+@class MenuTarget
+
 @implementation CPMenuValidatedUserInterfaceItemTest : OJTestCase
 {
     CPMenu                          _menu @accessors(property=menu);
@@ -83,4 +85,4 @@ var CPMenuValidatedUserInterfaceItemTestValidatedItems = [];
 
 }
 
-@end
\ No newline at end of file
+@end
diff --git a/Tests/AppKit/CPNotificationCenterHelper.j b/Tests/AppKit/CPNotificationCenterHelper.j
new file mode 100644
index 000000000..69aaed26c
--- /dev/null
+++ b/Tests/AppKit/CPNotificationCenterHelper.j
@@ -0,0 +1,39 @@
+@import 
+
+@implementation CPNotificationCenterHelper : CPObject
+{
+}
+
++ (void)registeredNotificationsForObserver:(id)anObserver
+{
+    var defaultCenter = [CPNotificationCenter defaultCenter],
+        names = [defaultCenter._namedRegistries keyEnumerator],
+        notifications = [],
+        name;
+
+    while ((name = [names nextObject]) !== nil)
+    {
+        var notificationRegistry = [defaultCenter._namedRegistries objectForKey:name],
+            objectObservers = notificationRegistry._objectObservers,
+            keys = [objectObservers keyEnumerator],
+            key;
+
+        // Iterate through every set of observers
+        while ((key = [keys nextObject]) !== nil)
+        {
+            var observers = [objectObservers objectForKey:key],
+                observer = nil,
+                observersEnumerator = [observers objectEnumerator];
+
+            while ((observer = [observersEnumerator nextObject]) !== nil)
+            {
+                if ([observer observer] == anObserver)
+                    [notifications addObject:name];
+            }
+        }
+    }
+
+    return notifications.sort();
+}
+
+@end
diff --git a/Tests/AppKit/CPOutlineViewTest.j b/Tests/AppKit/CPOutlineViewTest.j
index 65219ea41..129c6965b 100644
--- a/Tests/AppKit/CPOutlineViewTest.j
+++ b/Tests/AppKit/CPOutlineViewTest.j
@@ -1,5 +1,8 @@
 @import 
 
+@class TestOutlineDataSource
+
+
 @implementation CPOutlineViewTest : OJTestCase
 {
     CPOutlineView   outlineView;
diff --git a/Tests/AppKit/CPScrollViewTest.j b/Tests/AppKit/CPScrollViewTest.j
index d95839438..379cea865 100644
--- a/Tests/AppKit/CPScrollViewTest.j
+++ b/Tests/AppKit/CPScrollViewTest.j
@@ -1,5 +1,9 @@
 @import 
 
+@import "CPNotificationCenterHelper.j"
+
+[CPApplication sharedApplication];
+
 @implementation CPScrollViewTest : OJTestCase
 {
 }
@@ -256,6 +260,24 @@
     [self assertPoint:CGPointMake(0, 0) equals:visibleRect.origin message:@"VisibleRect origin not at top left corner again"];
 }
 
+-(void)testNotificationsRegistered
+{
+    var scrollView = [[CPScrollView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)],
+        theWindow = [[CPWindow alloc] initWithContentRect:CGRectMake(0.0, 0.0, 1024.0, 768.0)
+                                                styleMask:CPWindowNotSizable];
+
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:scrollView] equals:[] message:@"Notications registered for the scrollView in the notification center are wrong"];
+
+    [[theWindow contentView] addSubview:scrollView];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:scrollView] equals:[@"CPScrollerStyleGlobalChangeNotification"] message:@"Notications registered for the scrollView in the notification center are wrong"];
+
+    [[theWindow contentView] addSubview:scrollView];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:scrollView] equals:[@"CPScrollerStyleGlobalChangeNotification"] message:@"Notications registered for the scrollView in the notification center are wrong"];
+
+    [scrollView removeFromSuperview];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:scrollView] equals:[] message:@"Notications registered for the scrollView in the notification center are wrong"];
+}
+
 - (void)assertPoint:(CGPoint)expected equals:(CGPoint)actual message:(CPString)message
 {
     [self assert:expected.x equals:actual.x message:@"X: " + message];
diff --git a/Tests/AppKit/CPTableViewTest.j b/Tests/AppKit/CPTableViewTest.j
index e20cc5690..880dbcd99 100644
--- a/Tests/AppKit/CPTableViewTest.j
+++ b/Tests/AppKit/CPTableViewTest.j
@@ -1,5 +1,7 @@
 @import 
 
+@import "CPNotificationCenterHelper.j"
+
 [CPApplication sharedApplication];
 
 @implementation CPTableViewTest : OJTestCase
@@ -406,6 +408,36 @@
     }];
 }
 
+-(void)testNotificationsRegistered
+{
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:tableView] equals:[@"_CPWindowDidChangeFirstResponderNotification"] message:@"Notications registered for the tableView in the notification center are wrong"];
+
+    [tableView removeFromSuperview];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:tableView] equals:[] message:@"Notications registered for the tableView in the notification center are wrong"];
+
+    [[theWindow contentView] addSubview:tableView];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:tableView] equals:[@"_CPWindowDidChangeFirstResponderNotification"] message:@"Notications registered for the tableView in the notification center are wrong"];
+
+    [[theWindow contentView] addSubview:tableView];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:tableView] equals:[@"_CPWindowDidChangeFirstResponderNotification"] message:@"Notications registered for the tableView in the notification center are wrong"];
+
+
+    var scrollView = [[CPScrollView alloc] initWithFrame:CGRectMake(0, 0, 100.0, 100.0)],
+        expectedNotifications = [@"_CPWindowDidChangeFirstResponderNotification", @"CPViewFrameDidChangeNotification", @"CPViewBoundsDidChangeNotification"].sort();
+
+    [scrollView setDocumentView:tableView];
+
+    [[theWindow contentView] addSubview:scrollView];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:tableView] equals:expectedNotifications message:@"Notications registered for the tableView in the notification center are wrong"];
+
+    [[theWindow contentView] addSubview:scrollView];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:tableView] equals:expectedNotifications message:@"Notications registered for the tableView in the notification center are wrong"];
+
+    [scrollView removeFromSuperview];
+    [self assert:[CPNotificationCenterHelper registeredNotificationsForObserver:tableView] equals:[] message:@"Notications registered for the tableView in the notification center are wrong"];
+
+}
+
 @end
 
 @implementation FirstResponderConfigurableTableView : CPTableView
diff --git a/Tests/AppKit/CPTokenFieldTest.j b/Tests/AppKit/CPTokenFieldTest.j
index 6c8320eeb..cd65113ad 100644
--- a/Tests/AppKit/CPTokenFieldTest.j
+++ b/Tests/AppKit/CPTokenFieldTest.j
@@ -1,5 +1,7 @@
 @import 
 
+@class TestDelegateTokenField
+
 [CPApplication sharedApplication];
 
 @implementation CPTokenFieldTest : OJTestCase
diff --git a/Tests/AppKit/CPViewTest.j b/Tests/AppKit/CPViewTest.j
index 509664c4b..3d1430492 100644
--- a/Tests/AppKit/CPViewTest.j
+++ b/Tests/AppKit/CPViewTest.j
@@ -4,14 +4,33 @@
 
 [CPApplication sharedApplication]
 
+var methodCalled;
+
 @implementation CPViewTest : OJTestCase
 {
     CPView view;
+    CPView view1;
+    CPView view2;
+    CPView view3;
+
+    CPWindow window;
 }
 
 - (void)setUp
 {
+    window = [[CPWindow alloc] initWithContentRect:CGRectMake(0.0, 0.0, 1000.0, 1000.0) styleMask:CPWindowNotSizable];
+
     view = [[CPView alloc] initWithFrame:CGRectMakeZero()];
+    view1 = [[CPResponderView alloc] initWithFrame:CGRectMakeZero()];
+    view2 = [[CPResponderView alloc] initWithFrame:CGRectMakeZero()];
+    view3 = [[CPResponderView alloc] initWithFrame:CGRectMakeZero()];
+
+    [view1 setIdentifier:@"view1"];
+    [view2 setIdentifier:@"view2"];
+    [view3 setIdentifier:@"view3"];
+
+    methodCalled = [];
+
     [super setUp];
 }
 
@@ -446,10 +465,213 @@
     [self assertFalse:[subview hasThemeState:CPThemeStateFirstResponder]];
 }
 
+- (void)testWhenAddedSubviewMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1", "viewWillMoveToWindow_view1", "viewDidMoveToWindow_view1"];
+
+    [[window contentView] addSubview:view1];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenAddedSubviewWithoutWindowMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view2", @"viewDidMoveToSuperview_view2"];
+
+    [view1 addSubview:view2];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenAddedSubviewTwiceMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1", "viewWillMoveToWindow_view1", "viewDidMoveToWindow_view1", @"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1", "viewWillMoveToWindow_view1", "viewDidMoveToWindow_view1"];
+
+    [[window contentView] addSubview:view1];
+    [[window contentView] addSubview:view1];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenRemovedSubviewMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1"];
+
+    [view1 removeFromSuperview];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenAddedSubviewThenRemovedSubviewMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1", "viewWillMoveToWindow_view1", "viewDidMoveToWindow_view1"];
+
+    [[window contentView] addSubview:view1];
+
+    methodCalled = [];
+    [view1 removeFromSuperview];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenAddedSubviewThenRemovedSubviewWithoutWindowMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1"];
+
+    [view1 addSubview:view2];
+
+    methodCalled = [];
+    [view1 removeFromSuperview];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenAddedTwoSubviewsMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view2", @"viewDidMoveToSuperview_view2",@"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1", "viewWillMoveToWindow_view1", "viewWillMoveToWindow_view2", "viewDidMoveToWindow_view2",  "viewDidMoveToWindow_view1"];
+
+    [view1 addSubview:view2];
+    [[window contentView] addSubview:view1];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenAddedTwoSubviewsThenRemovedMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1", "viewWillMoveToWindow_view1", "viewWillMoveToWindow_view2", "viewDidMoveToWindow_view2",  "viewDidMoveToWindow_view1"];
+
+    [view1 addSubview:view2];
+    [[window contentView] addSubview:view1];
+
+    methodCalled = [];
+    [view1 removeFromSuperview];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenAddedTwoSubviewsThenAddedTheViewToAnotherViewWithoutWindowMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1", @"viewWillMoveToWindow_view1", @"viewDidMoveToWindow_view1", @"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1", @"viewWillMoveToWindow_view1", @"viewDidMoveToWindow_view1"];
+
+    [[window contentView] addSubview:view1];
+    [view2 addSubview:view1];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenAddedOneSubviewsWithSetSubviewsMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1", "viewWillMoveToWindow_view1", "viewDidMoveToWindow_view1"];
+
+    [[window contentView] setSubviews:[view1]];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenAddedTwoSubviewsWithSetSubviewsMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1", "viewWillMoveToWindow_view1", "viewDidMoveToWindow_view1", @"viewWillMoveToSuperview_view2", @"viewDidMoveToSuperview_view2", "viewWillMoveToWindow_view2", "viewDidMoveToWindow_view2"];
+
+    [[window contentView] setSubviews:[view1, view2]];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenAddedTwoSubviewsThenSetSubviewsWithOneViewMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view2", @"viewDidMoveToSuperview_view2", "viewWillMoveToWindow_view2", "viewDidMoveToWindow_view2"];
+
+    [[window contentView] setSubviews:[view1, view2]];
+
+    methodCalled = [];
+
+    [[window contentView] setSubviews:[view1]];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenAddedTwoSubviewsThenSetSubviewsWithTwoViewsMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view2", @"viewDidMoveToSuperview_view2", "viewWillMoveToWindow_view2", "viewDidMoveToWindow_view2", @"viewWillMoveToSuperview_view3", @"viewDidMoveToSuperview_view3", "viewWillMoveToWindow_view3", "viewDidMoveToWindow_view3"];
+
+    [[window contentView] setSubviews:[view1, view2]];
+
+    methodCalled = [];
+
+    [[window contentView] setSubviews:[view1, view3]];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenReplacedViewWithSameViewMethodCalled
+{
+    var expectedRestult = [];
+
+    [[window contentView] addSubview:view1];
+
+    methodCalled = [];
+
+    [[window contentView] replaceSubview:view1 with:view1];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenReplacedViewWithOtherViewMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view2", @"viewDidMoveToSuperview_view2", "viewWillMoveToWindow_view2", "viewDidMoveToWindow_view2", @"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1", "viewWillMoveToWindow_view1", "viewDidMoveToWindow_view1"];
+
+    [[window contentView] addSubview:view1];
+
+    methodCalled = [];
+
+    [[window contentView] replaceSubview:view1 with:view2];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
+- (void)testWhenReplacedViewWithOtherAddedViewMethodCalled
+{
+    var expectedRestult = [@"viewWillMoveToSuperview_view2", @"viewDidMoveToSuperview_view2", "viewWillMoveToWindow_view2", "viewDidMoveToWindow_view2", @"viewWillMoveToSuperview_view1", @"viewDidMoveToSuperview_view1", "viewWillMoveToWindow_view1", "viewDidMoveToWindow_view1"];
+
+    [[window contentView] addSubview:view1];
+    [[window contentView] addSubview:view2];
+
+    methodCalled = [];
+
+    [[window contentView] replaceSubview:view1 with:view2];
+
+    [self assert:expectedRestult equals:methodCalled];
+}
+
 @end
 
+
 @implementation CPResponderView : CPView
 
+- (void)viewDidMoveToSuperview
+{
+    var string = @"viewDidMoveToSuperview_" + [self identifier];
+    [methodCalled addObject:string];
+}
+
+- (void)viewDidMoveToWindow
+{
+    var string = @"viewDidMoveToWindow_" + [self identifier];
+    [methodCalled addObject:string];
+}
+
+- (void)viewWillMoveToSuperview:(CPView)newSuperview
+{
+    var string = @"viewWillMoveToSuperview_" + [self identifier];
+    [methodCalled addObject:string];
+}
+
+- (void)viewWillMoveToWindow:(CPWindow)newWindow
+{
+    var string = @"viewWillMoveToWindow_" + [self identifier];
+    [methodCalled addObject:string];
+}
+
 - (BOOL)acceptsFirstResponder
 {
     return YES;
diff --git a/Tests/AppKit/CPWindowTest.j b/Tests/AppKit/CPWindowTest.j
index 2244a28d9..cf51e8cba 100644
--- a/Tests/AppKit/CPWindowTest.j
+++ b/Tests/AppKit/CPWindowTest.j
@@ -128,4 +128,12 @@
     [self assertTrue:[[[self window] representedURL] class] === [CPURL class]];
 }
 
+- (void)testOrderingMethod
+{
+    [_window orderFront:self];
+    [_window orderBack:self];
+    [_window orderFront:self];
+    [_window orderOut:self];
+}
+
 @end
diff --git a/Tests/Foundation/CPErrorTest.j b/Tests/Foundation/CPErrorTest.j
new file mode 100644
index 000000000..7e482a3a2
--- /dev/null
+++ b/Tests/Foundation/CPErrorTest.j
@@ -0,0 +1,43 @@
+@import 
+@import 
+
+@implementation CPErrorTest : OJTestCase
+{
+}
+
+- (void)testInstanceInstantiation
+{
+    var err = [[CPError alloc] initWithDomain:CPCappuccinoErrorDomain
+                                         code:-10
+                                     userInfo:nil];
+    [self assertNotNull:err];
+}
+
+- (void)testClassInstantiation
+{
+    var err = [CPError errorWithDomain:CPCappuccinoErrorDomain
+                                  code:-10
+                              userInfo:nil];
+    [self assertNotNull:err];
+}
+
+- (void)testUserInfoDict
+{
+    var userInfo = @{
+        CPLocalizedDescriptionKey: @"A localized error description",
+        CPUnderlyingErrorKey: @"An underlying error",
+        CPLocalizedFailureReasonErrorKey: @"A localized error reason",
+        CPLocalizedRecoverySuggestionErrorKey: @"The world is about to explode. You can choose to ignore this.",
+        CPLocalizedRecoveryOptionsErrorKey: ["Cry", "Ignore"]
+    },
+        err = [CPError errorWithDomain:CPCappuccinoErrorDomain
+                                  code:-10
+                              userInfo:userInfo];
+
+    [self assertNotNull:[err userInfo]];
+    [self assert:[err localizedDescription] equals:@"A localized error description"];
+    [self assert:[err localizedRecoveryOptions] equals:["Cry", "Ignore"]];
+    [self assertNull:[err recoveryAttempter]];
+}
+
+@end
\ No newline at end of file
diff --git a/Tests/Foundation/CPKVCArrayTest.j b/Tests/Foundation/CPKVCArrayTest.j
index 12e5edd52..6948d4177 100644
--- a/Tests/Foundation/CPKVCArrayTest.j
+++ b/Tests/Foundation/CPKVCArrayTest.j
@@ -1,5 +1,8 @@
 var COUNTER;
 
+@class TestObject
+@class ImplementedTestObject
+
 @implementation CPKVCArrayTest : OJTestCase
 {
     TestObject              _object @accessors(property=object);
diff --git a/Tests/Foundation/CPKVOTest.j b/Tests/Foundation/CPKVOTest.j
index 0a4bccba5..631e2ac80 100644
--- a/Tests/Foundation/CPKVOTest.j
+++ b/Tests/Foundation/CPKVOTest.j
@@ -1,6 +1,9 @@
 @import 
 @import 
 
+@class CarTester
+@class ToManyTester
+
 @implementation CPKVOTest : OJTestCase
 {
     BOOL        _sawInitialObservation;
@@ -29,7 +32,7 @@
 {
     bob = [[PersonTester alloc] init];
 
-    [bob addObserver:self forKeyPath:@"name" options:nil context:@"testAddObserver"];
+    [bob addObserver:self forKeyPath:@"name" options:CPKeyValueObservingOptionNew | CPKeyValueObservingOptionOld context:@"testAddObserver"];
 
     [bob setValue:@"bob" forKey:@"name"];
 
@@ -42,7 +45,7 @@
 {
     bob = [[PersonTester alloc] init];
 
-    [bob addObserver:self forKeyPath:@"name" options:nil context:@"testUnobservedKey"];
+    [bob addObserver:self forKeyPath:@"name" options:0 context:@"testUnobservedKey"];
 
     [bob setValue:@"555" forKey:@"phoneNumber"];
 
@@ -54,8 +57,8 @@
 {
     bob = [[PersonTester alloc] init];
 
-    [bob addObserver:self forKeyPath:@"name" options:nil context:@"testAddTwoObservers"];
-    [bob addObserver:[CPObject new] forKeyPath:@"name" options:nil context:@"testAddTwoObservers"];
+    [bob addObserver:self forKeyPath:@"name" options:CPKeyValueObservingOptionNew | CPKeyValueObservingOptionOld context:@"testAddTwoObservers"];
+    [bob addObserver:[CPObject new] forKeyPath:@"name" options:CPKeyValueObservingOptionNew | CPKeyValueObservingOptionOld context:@"testAddTwoObservers"];
 
     [bob setValue:@"bob" forKey:@"name"];
 
@@ -68,7 +71,7 @@
 {
     bob = [[PersonTester alloc] init];
 
-    [bob addObserver:self forKeyPath:@"phoneNumber" options:nil context:@"testDirectIVarObservation"];
+    [bob addObserver:self forKeyPath:@"phoneNumber" options:CPKeyValueObservingOptionNew | CPKeyValueObservingOptionOld context:@"testDirectIVarObservation"];
 
     [bob setValue:@"555" forKey:@"phoneNumber"];
 
@@ -81,8 +84,8 @@
 {
     bob = [[PersonTester alloc] init];
 
-    [bob addObserver:self forKeyPath:@"name" options:nil context:@"testRemoveObserver"];
-    [bob addObserver:[CPString new] forKeyPath:@"name" options:nil context:@"testRemoveObserver"];
+    [bob addObserver:self forKeyPath:@"name" options:0 context:@"testRemoveObserver"];
+    [bob addObserver:[CPString new] forKeyPath:@"name" options:0 context:@"testRemoveObserver"];
 
     [bob removeObserver:self forKeyPath:@"name"];
 
@@ -96,8 +99,8 @@
     bob = [[PersonTester alloc] init];
     obj = [CPString new];
 
-    [bob addObserver:self forKeyPath:@"name" options:nil context:@"testRemoveOtherObserver"];
-    [bob addObserver:obj forKeyPath:@"name" options:nil context:@"testRemoveOtherObserver"];
+    [bob addObserver:self forKeyPath:@"name" options:CPKeyValueObservingOptionNew | CPKeyValueObservingOptionOld context:@"testRemoveOtherObserver"];
+    [bob addObserver:obj forKeyPath:@"name" options:CPKeyValueObservingOptionNew | CPKeyValueObservingOptionOld context:@"testRemoveOtherObserver"];
 
     [bob removeObserver:obj forKeyPath:@"name"];
 
@@ -113,8 +116,8 @@
     obj = [CPArray new];
     obj2 = [CPString new];
 
-    [bob addObserver:obj forKeyPath:@"name" options:nil context:@"testRemoveAllObservers"];
-    [bob addObserver:obj2 forKeyPath:@"name" options:nil context:@"testRemoveAllObservers"];
+    [bob addObserver:obj forKeyPath:@"name" options:0 context:@"testRemoveAllObservers"];
+    [bob addObserver:obj2 forKeyPath:@"name" options:0 context:@"testRemoveAllObservers"];
 
     [bob removeObserver:obj forKeyPath:@"name"];
     [bob removeObserver:obj2 forKeyPath:@"name"];
@@ -133,7 +136,7 @@
 
     [dict addObserver:self
            forKeyPath:@"dictionaryKey"
-             options:nil
+             options:CPKeyValueObservingOptionNew | CPKeyValueObservingOptionOld
              context:@"testDictionary"];
 
     [dict setObject:@"Jo Bob Ray" forKey:@"dictionaryKey"];
@@ -147,7 +150,20 @@
 
     bob = [[PersonTester alloc] init];
 
-    [bob addObserver:self forKeyPath:@"name" options:CPKeyValueObservingOptionPrior context:@"testPriorObservationOption"];
+    [bob addObserver:self forKeyPath:@"name" options:CPKeyValueObservingOptionPrior | CPKeyValueObservingOptionNew | CPKeyValueObservingOptionOld context:@"testPriorObservationOption"];
+
+    [bob setValue:@"bob" forKey:@"name"];
+
+    [self assertTrue:_sawPriorObservation message:@"asked for CPKeyValueObservingOptionPrior but did not recieve corresponding notification"];
+}
+
+- (void)testPriorObservationOptionNoOld
+{
+    _sawPriorObservation = NO;
+
+    bob = [[PersonTester alloc] init];
+
+    [bob addObserver:self forKeyPath:@"name" options:CPKeyValueObservingOptionPrior | CPKeyValueObservingOptionNew context:@"testPriorObservationOptionNoOld"];
 
     [bob setValue:@"bob" forKey:@"name"];
 
@@ -162,7 +178,23 @@
 
     bob.name = "paul";
 
-    [bob addObserver:self forKeyPath:@"name" options:CPKeyValueObservingOptionInitial context:@"testInitialObservationOption"];
+    [bob addObserver:self forKeyPath:@"name" options:CPKeyValueObservingOptionInitial | CPKeyValueObservingOptionNew context:@"testInitialObservationOption"];
+    [bob removeObserver:self forKeyPath:@"name"];
+
+    [bob setValue:@"bob" forKey:@"name"];
+
+    [self assertTrue:_sawInitialObservation message:@"asked for CPKeyValueObservingOptionInitial but did not recieve corresponding notification"];
+}
+
+- (void)testInitialObservationOptionNoNew
+{
+    _sawInitialObservation = NO;
+
+    bob = [[PersonTester alloc] init];
+
+    bob.name = "paul";
+
+    [bob addObserver:self forKeyPath:@"name" options:CPKeyValueObservingOptionInitial context:@"testInitialObservationOptionNoNew"];
     [bob removeObserver:self forKeyPath:@"name"];
 
     [bob setValue:@"bob" forKey:@"name"];
@@ -178,8 +210,8 @@
 
     bob.name = "paul";
 
-    [bob addObserver:self forKeyPath:@"bobName" options:0 context:@"testDependentKeyObservation"];
-    [bob addObserver:self forKeyPath:@"twiceRemoved" options:0 context:@"testDependentKeyObservation2"];
+    [bob addObserver:self forKeyPath:@"bobName" options:CPKeyValueObservingOptionOld context:@"testDependentKeyObservation"];
+    [bob addObserver:self forKeyPath:@"twiceRemoved" options:CPKeyValueObservingOptionOld context:@"testDependentKeyObservation2"];
 
     [bob setValue:@"bob" forKey:@"name"];
 
@@ -194,7 +226,7 @@
 
     [cs101 setTeacher:bob];
 
-    [cs101 addObserver:self forKeyPath:@"teacher.name" options:0 context:@"testMultipartKey"];
+    [cs101 addObserver:self forKeyPath:@"teacher.name" options:CPKeyValueObservingOptionNew context:@"testMultipartKey"];
 
     [bob setName:@"bob"];
 
@@ -209,7 +241,7 @@
 
     [bob setValue:focus forKey:@"car"];
 
-    [bob addObserver:self forKeyPath:@"self.car.thisCar.model" options:0 context:@"testMultiPartKeysWhereValuesEvaluateToSelf"];
+    [bob addObserver:self forKeyPath:@"self.car.thisCar.model" options:CPKeyValueObservingOptionNew context:@"testMultiPartKeysWhereValuesEvaluateToSelf"];
 
     [focus setValue:@"ford focus" forKey:@"model"];
 
@@ -225,7 +257,7 @@
     [cs101 setTeacher:bob];
     [bob setValue:focus forKey:@"car"];
 
-    [cs101 addObserver:self forKeyPath:@"teacher.car.model" options:0 context:@"testThreePartKey"];
+    [cs101 addObserver:self forKeyPath:@"teacher.car.model" options:CPKeyValueObservingOptionNew context:@"testThreePartKey"];
 
     [focus setValue:@"ford focus" forKey:@"model"];
     [self assertTrue: _sawObservation message:@"Never recieved an observation"];
@@ -240,7 +272,7 @@
     [cs101 setTeacher:bob];
     [focus setValue:@"2000" forKey:@"year"];
 
-    [cs101 addObserver:self forKeyPath:@"teacher.car.year" options:0 context:@"testThreePartKeyPart2"];
+    [cs101 addObserver:self forKeyPath:@"teacher.car.year" options:CPKeyValueObservingOptionNew context:@"testThreePartKeyPart2"];
 
     [bob setValue:focus forKey:@"car"];
 
@@ -290,7 +322,7 @@
     [a setValue:[E new] forKeyPath:@"b.c.d.e"];
     [a setValue:[F new] forKeyPath:@"b.c.d.e.f"];
 
-    [a addObserver:self forKeyPath:@"b.c.d.e.f" options:0 context:@"testCrazyKeyPathChanges"];
+    [a addObserver:self forKeyPath:@"b.c.d.e.f" options:CPKeyValueObservingOptionNew context:@"testCrazyKeyPathChanges"];
 
     var newD = [D new];
 
@@ -311,7 +343,7 @@
     [a setValue:[E new] forKeyPath:@"b.c.d.e"];
     [a setValue:[F new] forKeyPath:@"b.c.d.e.f"];
 
-    [a addObserver:self forKeyPath:@"b.c.d.e.f" options:0 context:@"testCrazyKeyPathChanges2"];
+    [a addObserver:self forKeyPath:@"b.c.d.e.f" options:CPKeyValueObservingOptionNew context:@"testCrazyKeyPathChanges2"];
 
     [a setValue:nil forKeyPath:@"b.c"];
 
@@ -328,7 +360,7 @@
     [a setValue:[E new] forKeyPath:@"b.c.d.e"];
     [a setValue:[F new] forKeyPath:@"b.c.d.e.f"];
 
-    [a addObserver:self forKeyPath:@"b.c.d.e.f" options:0 context:@"testCrazyKeyPathChanges3"];
+    [a addObserver:self forKeyPath:@"b.c.d.e.f" options:CPKeyValueObservingOptionNew context:@"testCrazyKeyPathChanges3"];
 
     [a setValue:7 forKeyPath:@"b.c.d.e.f"];
 
@@ -341,7 +373,7 @@
 
     [tester setValue:[1, 2, 3, 4] forKey:@"managedObjects"];
 
-    [tester addObserver:self forKeyPath:@"managedObjects" options:0 context:@"testInsertIntoToManyProperty"];
+    [tester addObserver:self forKeyPath:@"managedObjects" options:CPKeyValueObservingOptionNew context:@"testInsertIntoToManyProperty"];
 
     [tester insertObject:5 inManagedObjectsAtIndex:4];
 
@@ -354,7 +386,7 @@
 
     [tester setValue:[1, 2, 3, 4] forKey:@"managedObjects"];
 
-    [tester addObserver:self forKeyPath:@"managedObjects" options:0 context:@"testRemoveFromToManyProperty"];
+    [tester addObserver:self forKeyPath:@"managedObjects" options:CPKeyValueObservingOptionOld context:@"testRemoveFromToManyProperty"];
 
     [tester removeObjectFromManagedObjectsAtIndex:0];
 
@@ -367,7 +399,7 @@
 
     tester.tester = [ToManyTester new];
     [tester.tester setValue:[1, 2, 3, 4] forKey:@"managedObjects"];
-    [tester addObserver:self forKeyPath:@"tester.managedObjects" options:0 context:@"testInsertIntoToManyPropertyIndirectly"];
+    [tester addObserver:self forKeyPath:@"tester.managedObjects" options:CPKeyValueObservingOptionNew context:@"testInsertIntoToManyPropertyIndirectly"];
 
     [tester.tester insertObject:5 inManagedObjectsAtIndex:4];
 
@@ -381,7 +413,7 @@
     tester.tester = [ToManyTester new];
 
     [tester.tester setValue:[1, 2, 3, 4] forKey:@"subviews"];
-    [tester addObserver:self forKeyPath:@"tester.subviews" options:0 context:@"testInsertIntoArrayPropertyIndirectly"];
+    [tester addObserver:self forKeyPath:@"tester.subviews" options:CPKeyValueObservingOptionNew context:@"testInsertIntoArrayPropertyIndirectly"];
 
     [tester.tester insertSubview:5 atIndex:4];
 
@@ -395,7 +427,7 @@
     tester.tester = [ToManyTester new];
 
     [tester.tester setValue:[1, 2, 3, 4] forKey:@"subviews"];
-    [tester addObserver:self forKeyPath:@"tester.subviews" options:0 context:@"testChangeTopLevelObject"];
+    [tester addObserver:self forKeyPath:@"tester.subviews" options:CPKeyValueObservingOptionNew | CPKeyValueObservingOptionOld context:@"testChangeTopLevelObject"];
 
     var newTesterTester = [ToManyTester new];
     [newTesterTester setValue:[5, 6, 7, 8] forKey:@"subviews"];
@@ -554,7 +586,24 @@
             if (!_sawPriorObservation)
             {
                 [self assertTrue:prior message:@"Have not been sent the prior notification, but it should have been sent"];
-                [self assertTrue:oldValue == [CPNull null] message:@"Shoudl be no initial value"];
+                [self assertTrue:oldValue == [CPNull null] message:@"Should be no initial value"];
+                [self assertFalse:newValue message:@"Should be no object for the new value key on the prior notification"];
+                _sawPriorObservation = YES;
+            }
+            else
+            {
+                [self assertFalse:prior message:@"there should be no value for the notification is prior key, that notification was already sent"];
+                [self assertTrue:newValue == "set_bob" message:@"newValue should be: set_bob was: " + newValue];
+            }
+            break;
+
+        case "testPriorObservationOptionNoOld":
+            var prior = [changes objectForKey:CPKeyValueChangeNotificationIsPriorKey];
+
+            if (!_sawPriorObservation)
+            {
+                [self assertTrue:prior message:@"Have not been sent the prior notification, but it should have been sent"];
+                [self assertTrue:oldValue == nil message:@"Should be no old value"];
                 [self assertFalse:newValue message:@"Should be no object for the new value key on the prior notification"];
                 _sawPriorObservation = YES;
             }
@@ -568,8 +617,20 @@
         case "testInitialObservationOption":
             if (!_sawInitialObservation)
             {
-                [self assertTrue:newValue == "paul" message:@"Expected old value to be: paul was: " + oldValue];
-                [self assertFalse:oldValue message:@"Should be no value for new change key on initial observation"];
+                [self assertTrue:newValue == "paul" message:@"Expected new value to be: paul was: " + newValue];
+                [self assertTrue:oldValue == nil message:@"Should be no value for old change key on initial observation"];
+                _sawInitialObservation = YES;
+            }
+            else
+                [self assertFalse:YES message:@"Should never have received this notification"];
+
+            break;
+
+        case "testInitialObservationOptionNoNew":
+            if (!_sawInitialObservation)
+            {
+                [self assertTrue:newValue == nil message:@"New value should not be included"];
+                [self assertTrue:oldValue == nil message:@"Should be no value for old change key on initial observation"];
                 _sawInitialObservation = YES;
             }
             else
diff --git a/Tests/Foundation/CPKeyValueCodingTest.j b/Tests/Foundation/CPKeyValueCodingTest.j
index ac57d9f02..ccf560401 100644
--- a/Tests/Foundation/CPKeyValueCodingTest.j
+++ b/Tests/Foundation/CPKeyValueCodingTest.j
@@ -22,6 +22,9 @@
 
 @import 
 
+@class Department2
+@class Employee2
+
 var accessIVARS = YES;
 
 @implementation KVCTestClass : CPObject
diff --git a/Tests/Foundation/CPKeyValueObservingTest.j b/Tests/Foundation/CPKeyValueObservingTest.j
index 82a0e4a7e..9726a7f05 100644
--- a/Tests/Foundation/CPKeyValueObservingTest.j
+++ b/Tests/Foundation/CPKeyValueObservingTest.j
@@ -2,6 +2,7 @@
 @import 
 @import 
 
+var _getCheeseCounter;
 
 @implementation CPKeyValueObservingTest : OJTestCase
 {
@@ -9,6 +10,12 @@
     id              _lastObject;
     CPDictionary    _lastChange;
     id              _lastContext;
+
+    CPString        _secondLastKeyPath;
+    id              _secondLastObject;
+    CPDictionary    _secondLastChange;
+    id              _secondLastContext;
+
 }
 
 - (Class)objectWithMethods:(CPString)aMethodName, ...
@@ -26,9 +33,10 @@
     return [theClass new];
 }
 
-- (void)setup
+- (void)setUp
 {
-    _lastKeyPath = _lastObject = _lastChange = _lastContext = nil;
+    _lastKeyPath = _lastObject = _lastChange = _lastContext = _secondLastKeyPath = _secondLastObject = _secondLastChange = _secondLastContext = nil;
+    _getCheeseCounter = 0;
 }
 
 - (void)testInitialObserving
@@ -38,18 +46,210 @@
 
     [self assert:@"cheese" equals:_lastKeyPath];
     [self assert:tester equals:_lastObject];
-    [self assert:[CPDictionary dictionaryWithObject:@"CHEESE!" forKey:CPKeyValueChangeNewKey] equals:_lastChange];
+    [self assert:@{CPKeyValueChangeNewKey: @"CHEESE!", CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:_lastChange];
     [self assert:nil equals:_lastContext];
 }
 
+- (void)testInitialObservingNoNew
+{
+    var tester = [ObservingTester testerWithCheese:@"CHEESE!"];
+    [tester addObserver:self forKeyPath:@"cheese" options:CPKeyValueObservingOptionInitial context:nil];
+
+    [self assert:@"cheese" equals:_lastKeyPath];
+    [self assert:tester equals:_lastObject];
+    [self assert:@{CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:_lastChange];
+    [self assert:nil equals:_lastContext];
+}
+
+- (void)testSettingObservingPrior
+{
+    var tester = [ObservingTester testerWithCheese:@"CHEESE!"];
+    [tester addObserver:self forKeyPath:@"cheese" options:CPKeyValueObservingOptionPrior context:nil];
+
+    [tester setValue:@"NEW CHEESE!" forKey:@"cheese"];
+
+    [self assert:@"cheese" equals:_secondLastKeyPath];
+    [self assert:tester equals:_secondLastObject];
+    [self assert:@{CPKeyValueChangeKindKey: CPKeyValueChangeSetting, CPKeyValueChangeNotificationIsPriorKey: 1} equals:_secondLastChange];
+    [self assert:nil equals:_secondLastContext];
+
+    [self assert:@"cheese" equals:_lastKeyPath];
+    [self assert:tester equals:_lastObject];
+    [self assert:@{CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:_lastChange];
+    [self assert:nil equals:_lastContext];
+    [self assert:0 equals:_getCheeseCounter message:@"Get method should never be called"];
+}
+
+- (void)testSettingObservingPriorPlusMoreObservers
+{
+    var tester = [ObservingTester testerWithCheese:@"CHEESE!"];
+    [tester addObserver:self forKeyPath:@"cheese" options:CPKeyValueObservingOptionPrior context:nil];
+
+    var observerWithOld = [[AnotherObserver alloc] init];
+    [tester addObserver:observerWithOld forKeyPath:@"cheese" options:CPKeyValueObservingOptionPrior | CPKeyValueObservingOptionOld context:nil];
+
+    var observerWithNew = [[AnotherObserver alloc] init];
+    [tester addObserver:observerWithNew forKeyPath:@"cheese" options:CPKeyValueObservingOptionPrior | CPKeyValueObservingOptionNew context:nil];
+
+    var observerWithNewAndOld = [[AnotherObserver alloc] init];
+    [tester addObserver:observerWithNewAndOld forKeyPath:@"cheese" options:CPKeyValueObservingOptionPrior | CPKeyValueObservingOptionOld | CPKeyValueObservingOptionNew context:nil];
+
+    [tester setValue:@"NEW CHEESE!" forKey:@"cheese"];
+
+    [self assert:@"cheese" equals:_secondLastKeyPath];
+    [self assert:tester equals:_secondLastObject];
+    [self assert:@{CPKeyValueChangeKindKey: CPKeyValueChangeSetting, CPKeyValueChangeNotificationIsPriorKey: 1} equals:_secondLastChange];
+    [self assert:nil equals:_secondLastContext];
+
+    [self assert:@"cheese" equals:_lastKeyPath];
+    [self assert:tester equals:_lastObject];
+    [self assert:@{CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:_lastChange];
+    [self assert:nil equals:_lastContext];
+
+    [self assert:@"cheese" equals:observerWithOld._secondLastKeyPath];
+    [self assert:tester equals:observerWithOld._secondLastObject];
+    [self assert:@{CPKeyValueChangeOldKey: @"CHEESE!", CPKeyValueChangeKindKey: CPKeyValueChangeSetting, CPKeyValueChangeNotificationIsPriorKey: 1} equals:observerWithOld._secondLastChange];
+    [self assert:nil equals:observerWithOld._secondLastContext];
+
+    [self assert:@"cheese" equals:observerWithOld._lastKeyPath];
+    [self assert:tester equals:observerWithOld._lastObject];
+    [self assert:@{CPKeyValueChangeOldKey: @"CHEESE!", CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:observerWithOld._lastChange];
+    [self assert:nil equals:observerWithOld._lastContext];
+
+    [self assert:@"cheese" equals:observerWithNew._secondLastKeyPath];
+    [self assert:tester equals:observerWithNew._secondLastObject];
+    [self assert:@{CPKeyValueChangeKindKey: CPKeyValueChangeSetting, CPKeyValueChangeNotificationIsPriorKey: 1} equals:observerWithNew._secondLastChange];
+    [self assert:nil equals:observerWithNew._secondLastContext];
+
+    [self assert:@"cheese" equals:observerWithNew._lastKeyPath];
+    [self assert:tester equals:observerWithNew._lastObject];
+    [self assert:@{CPKeyValueChangeNewKey: @"NEW CHEESE!", CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:observerWithNew._lastChange];
+    [self assert:nil equals:observerWithNew._lastContext];
+
+    [self assert:@"cheese" equals:observerWithNewAndOld._secondLastKeyPath];
+    [self assert:tester equals:observerWithNewAndOld._secondLastObject];
+    [self assert:@{CPKeyValueChangeOldKey: @"CHEESE!", CPKeyValueChangeKindKey: CPKeyValueChangeSetting, CPKeyValueChangeNotificationIsPriorKey: 1} equals:observerWithNewAndOld._secondLastChange];
+    [self assert:nil equals:observerWithNewAndOld._secondLastContext];
+
+    [self assert:@"cheese" equals:observerWithNewAndOld._lastKeyPath];
+    [self assert:tester equals:observerWithNewAndOld._lastObject];
+    [self assert:@{CPKeyValueChangeNewKey: @"NEW CHEESE!", CPKeyValueChangeOldKey: @"CHEESE!", CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:observerWithNewAndOld._lastChange];
+    [self assert:nil equals:observerWithNewAndOld._lastContext];
+
+    [self assert:2 equals:_getCheeseCounter message:@"Get method should only be called twice, not " + _getCheeseCounter + " times"];
+}
+
+- (void)testSettingObserving
+{
+    var tester = [ObservingTester testerWithCheese:@"CHEESE!"];
+    [tester addObserver:self forKeyPath:@"cheese" options:0 context:nil];
+
+    [tester setValue:@"NEW CHEESE!" forKey:@"cheese"];
+    [self assert:@"cheese" equals:_lastKeyPath];
+    [self assert:tester equals:_lastObject];
+    [self assert:@{CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:_lastChange];
+    [self assert:nil equals:_lastContext];
+    [self assert:0 equals:_getCheeseCounter message:@"Get method should never be called"];
+}
+
+- (void)testSettingObservingNewPlusAnotherObserverWithNoNew
+{
+    var tester = [ObservingTester testerWithCheese:@"CHEESE!"];
+    [tester addObserver:self forKeyPath:@"cheese" options:CPKeyValueObservingOptionNew context:nil];
+
+    var anotherObserver = [[AnotherObserver alloc] init];
+    [tester addObserver:anotherObserver forKeyPath:@"cheese" options:0 context:nil];
+
+    [tester setValue:@"NEW CHEESE!" forKey:@"cheese"];
+
+    [self assert:@"cheese" equals:_lastKeyPath];
+    [self assert:tester equals:_lastObject];
+    [self assert:@{CPKeyValueChangeNewKey: @"NEW CHEESE!", CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:_lastChange];
+    [self assert:nil equals:_lastContext];
+
+    [self assert:@"cheese" equals:anotherObserver._lastKeyPath];
+    [self assert:tester equals:anotherObserver._lastObject];
+    [self assert:@{CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:anotherObserver._lastChange];
+    [self assert:nil equals:anotherObserver._lastContext];
+
+    [self assert:1 equals:_getCheeseCounter message:@"Get method should only be called once, not " + _getCheeseCounter + " times"];
+}
+
+- (void)testSettingObservingOldPlusAnotherObserverWithNoOld
+{
+    var tester = [ObservingTester testerWithCheese:@"CHEESE!"];
+    [tester addObserver:self forKeyPath:@"cheese" options:CPKeyValueObservingOptionOld context:nil];
+
+    var anotherObserver = [[AnotherObserver alloc] init];
+    [tester addObserver:anotherObserver forKeyPath:@"cheese" options:0 context:nil];
+
+    [tester setValue:@"NEW CHEESE!" forKey:@"cheese"];
+
+    [self assert:@"cheese" equals:_lastKeyPath];
+    [self assert:tester equals:_lastObject];
+    [self assert:@{CPKeyValueChangeOldKey: @"CHEESE!", CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:_lastChange];
+    [self assert:nil equals:_lastContext];
+
+    [self assert:@"cheese" equals:anotherObserver._lastKeyPath];
+    [self assert:tester equals:anotherObserver._lastObject];
+    [self assert:@{CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:anotherObserver._lastChange];
+    [self assert:nil equals:anotherObserver._lastContext];
+
+    [self assert:1 equals:_getCheeseCounter message:@"Get method should only be called once, not " + _getCheeseCounter + " times"];
+}
+
+- (void)testSettingObservingNewAndOldPlusMoreObserversWithOnlyNewOrOld
+{
+    var tester = [ObservingTester testerWithCheese:@"CHEESE!"];
+    [tester addObserver:self forKeyPath:@"cheese" options:CPKeyValueObservingOptionNew | CPKeyValueObservingOptionOld context:nil];
+
+    var anotherObserver = [[AnotherObserver alloc] init];
+    [tester addObserver:anotherObserver forKeyPath:@"cheese" options:CPKeyValueObservingOptionOld context:nil];
+
+    var yetAnotherObserver = [[AnotherObserver alloc] init];
+    [tester addObserver:yetAnotherObserver forKeyPath:@"cheese" options:CPKeyValueObservingOptionNew context:nil];
+
+    var noNewOrOldObserver = [[AnotherObserver alloc] init];
+    [tester addObserver:noNewOrOldObserver forKeyPath:@"cheese" options:0 context:nil];
+
+    [tester setValue:@"NEW CHEESE!" forKey:@"cheese"];
+
+    [self assert:@"cheese" equals:_lastKeyPath];
+    [self assert:tester equals:_lastObject];
+    [self assert:@{CPKeyValueChangeNewKey: @"NEW CHEESE!", CPKeyValueChangeOldKey: @"CHEESE!", CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:_lastChange];
+    [self assert:nil equals:_lastContext];
+
+    [self assert:@"cheese" equals:anotherObserver._lastKeyPath];
+    [self assert:tester equals:anotherObserver._lastObject];
+    [self assert:@{CPKeyValueChangeOldKey: @"CHEESE!", CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:anotherObserver._lastChange];
+    [self assert:nil equals:anotherObserver._lastContext];
+
+    [self assert:@"cheese" equals:yetAnotherObserver._lastKeyPath];
+    [self assert:tester equals:yetAnotherObserver._lastObject];
+    [self assert:@{CPKeyValueChangeNewKey: @"NEW CHEESE!", CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:yetAnotherObserver._lastChange];
+    [self assert:nil equals:yetAnotherObserver._lastContext];
+
+    [self assert:@"cheese" equals:noNewOrOldObserver._lastKeyPath];
+    [self assert:tester equals:noNewOrOldObserver._lastObject];
+    [self assert:@{CPKeyValueChangeKindKey: CPKeyValueChangeSetting} equals:noNewOrOldObserver._lastChange];
+    [self assert:nil equals:noNewOrOldObserver._lastContext];
+
+    [self assert:2 equals:_getCheeseCounter message:@"Get method should only be called twice even with many observers, not " + _getCheeseCounter + " times"];
+}
+
 - (void)observeValueForKeyPath:(CPString)aKeyPath
                       ofObject:(id)anObject
                         change:(CPDictionary)aChange
                        context:(id)aContext
 {
+    _secondLastKeyPath = _lastKeyPath;
+    _secondLastObject  = _lastObject;
+    _secondLastChange  = _lastChange;
+    _secondLastContext = _lastContext;
+
     _lastKeyPath = aKeyPath;
     _lastObject  = anObject;
-    _lastChange  = aChange;
+    _lastChange  = [aChange copy];
     _lastContext = aContext;
 }
 
@@ -244,6 +444,7 @@
 
 - (id)cheese
 {
+    _getCheeseCounter++;
     return cheese;
 }
 
@@ -280,3 +481,34 @@
 }
 
 @end
+
+@implementation AnotherObserver : CPObject
+{
+    CPString        _lastKeyPath;
+    id              _lastObject;
+    CPDictionary    _lastChange;
+    id              _lastContext;
+
+    CPString        _secondLastKeyPath;
+    id              _secondLastObject;
+    CPDictionary    _secondLastChange;
+    id              _secondLastContext;
+}
+
+- (void)observeValueForKeyPath:(CPString)aKeyPath
+                      ofObject:(id)anObject
+                        change:(CPDictionary)aChange
+                       context:(id)aContext
+{
+    _secondLastKeyPath = _lastKeyPath;
+    _secondLastObject  = _lastObject;
+    _secondLastChange  = _lastChange;
+    _secondLastContext = _lastContext;
+
+    _lastKeyPath = aKeyPath;
+    _lastObject  = anObject;
+    _lastChange  = [aChange copy];
+    _lastContext = aContext;
+}
+
+@end
diff --git a/Tests/Foundation/CPNotificationCenterTest.j b/Tests/Foundation/CPNotificationCenterTest.j
index b1f3b8bf5..47aab1e0f 100644
--- a/Tests/Foundation/CPNotificationCenterTest.j
+++ b/Tests/Foundation/CPNotificationCenterTest.j
@@ -52,6 +52,51 @@ var TestNotification = @"TestNotification";
     [self assert:8 equals:notificationCount message:@"observer should not be notified"];
 }
 
+- (void)testNotifyWithBlocks
+{
+    var center = [CPNotificationCenter defaultCenter];
+
+    notificationCount = 0;
+
+    var notificationBlock = function(notification){
+        notificationCount += 1;
+    };
+
+    var observer2 = [center addObserverForName:TestNotification object:2 queue:nil usingBlock:notificationBlock],
+        observer25 = [center addObserverForName:TestNotification object:25 queue:nil usingBlock:notificationBlock];
+
+    [center postNotificationName:TestNotification object:self];
+    [self assert:0 equals:notificationCount message:@"observer should only be notified for object '2'"];
+
+    [center postNotificationName:TestNotification object:2];
+    [self assert:1 equals:notificationCount message:@"observer should be notified for object '2'"];
+
+    var observerNil = [center addObserverForName:TestNotification object:nil queue:nil usingBlock:notificationBlock];
+
+    [center postNotificationName:TestNotification object:2];
+    [self assert:3 equals:notificationCount message:@"observer should be notified for object '2' and for any object"];
+
+    [center removeObserver:observer2 name:TestNotification object:2];
+    [center postNotificationName:TestNotification object:2];
+    [self assert:4 equals:notificationCount message:@"observer should be notified only for any object"];
+
+    // At this point we have TestNofication:nil observer and a TestNotification:25 observer.
+    observer2 = [center addObserverForName:nil object:2 queue:nil usingBlock:notificationBlock];
+
+    [center postNotificationName:TestNotification object:2];
+    [self assert:6 equals:notificationCount message:@"observer should be notified for TestNofication and for object '2' (TestNotification)"];
+    [center postNotificationName:@"RandomNotification" object:2];
+    [self assert:7 equals:notificationCount message:@"observer should be notified for object '2' (RandomNotification)"];
+
+    [center removeObserver:observer2];
+    [center removeObserver:observer25];
+    [center removeObserver:observerNil];
+    [center postNotificationName:TestNotification object:nil];
+    [center postNotificationName:TestNotification object:2];
+    [center postNotificationName:TestNotification object:25];
+    [self assert:7 equals:notificationCount message:@"observer should not be notified"];
+}
+
 - (void)testAddObserversDuringNotification
 {
     var center = [CPNotificationCenter defaultCenter];
diff --git a/Tests/Foundation/CPOperationQueueTest.j b/Tests/Foundation/CPOperationQueueTest.j
index 0cc5de666..5005a1ae7 100644
--- a/Tests/Foundation/CPOperationQueueTest.j
+++ b/Tests/Foundation/CPOperationQueueTest.j
@@ -16,6 +16,33 @@ globalResults = [];
 
 @end
 
+@implementation TestCancelOperation : CPOperation
+{
+    BOOL _started @accessors(getter=didStart);
+    BOOL _mained @accessors(getter=didMain);
+}
+
+- (id)init
+{
+    self = [super init];
+    _started = NO;
+    _mained = NO;
+    return self;
+}
+
+- (void)main
+{
+    _mained = YES;
+}
+
+- (void)start
+{
+    [super start];
+    _started = YES;
+}
+
+@end
+
 @implementation TestObserver : CPObject
 {
     CPArray changedKeyPaths @accessors;
@@ -167,4 +194,27 @@ globalResults = [];
     [self assert:@"name" equals:[[obs changedKeyPaths] objectAtIndex:4]];
 }
 
+- (void)testCancelledOperationDoesStart
+{
+    var op = [[TestCancelOperation alloc] init],
+        queue = [[CPOperationQueue alloc] init];
+
+    [self assertFalse:[op isCancelled]];
+    [self assertFalse:[op isFinished]];
+    [self assertFalse:[op didMain]];
+    [self assertFalse:[op didStart]];
+
+    [op cancel];
+
+    [self assertTrue:[op isCancelled]];
+    [self assertFalse:[op isFinished]];
+
+    [queue addOperations:[op] waitUntilFinished:YES];
+
+    [self assertFalse:[op didMain]];
+    [self assertTrue:[op didStart]];
+    [self assertTrue:[op isCancelled]];
+    [self assertTrue:[op isFinished]];
+}
+
 @end
\ No newline at end of file
diff --git a/Tests/Foundation/CPOperationTest.j b/Tests/Foundation/CPOperationTest.j
index 1c1beef56..ea424ef56 100644
--- a/Tests/Foundation/CPOperationTest.j
+++ b/Tests/Foundation/CPOperationTest.j
@@ -180,4 +180,21 @@
     [self assert:@"isCancelled" equals:[[obs changedKeyPaths] objectAtIndex:9]];
 }
 
+- (void)testCancelledOperationIsFinished
+{
+    var results = @[],
+        funcOp = [CPFunctionOperation functionOperationWithFunction:function() {[results addObject:"funcOp"];}];
+
+    [funcOp cancel];
+    [self assertTrue:[funcOp isCancelled]];
+    [self assertFalse:[funcOp isFinished]];
+
+    [funcOp start];
+
+    [self assertTrue:[funcOp isCancelled]];
+    [self assertTrue:[funcOp isFinished]];
+
+    [self assertTrue:([results count] == 0)];
+}
+
 @end
diff --git a/Tests/Foundation/CPStringTest.j b/Tests/Foundation/CPStringTest.j
index 3bc97c334..f3e4c9454 100644
--- a/Tests/Foundation/CPStringTest.j
+++ b/Tests/Foundation/CPStringTest.j
@@ -572,4 +572,11 @@
     [self assertThrows:function () { [@"Objective-J" compare:[CPNull null]] }];
 }
 
+- (void)testStripDiacritics
+{
+    [self assert:[@"áa ée íi óo úu" stripDiacritics]  equals:@"aa ee ii oo uu"];
+    [self assert:[@"ÁA ÉE ÍI ÓO ÚU" stripDiacritics]  equals:@"AA EE II OO UU"];
+    [self assert:[@"Å Ã Ê í ö û" stripDiacritics]  equals:@"A A E i o u"];
+}
+
 @end
diff --git a/Tests/Foundation/CPURLConnectionTest.j b/Tests/Foundation/CPURLConnectionTest.j
index 91df094d3..8d176c9e7 100644
--- a/Tests/Foundation/CPURLConnectionTest.j
+++ b/Tests/Foundation/CPURLConnectionTest.j
@@ -1,3 +1,4 @@
+@import 
 
 @implementation CPURLConnectionTest : OJTestCase
 {
@@ -36,10 +37,40 @@
     [self assertNull:data];
 }
 
-- (void)testRequestWithCredentials
+- (void)testClassMethodConnectionWithCredentials
 {
-    var connection = [CPURLConnection connectionWithRequest:[CPURLRequest requestWithURL:@"Tests/Foundation/CPURLConnectionTest.j"] delegate:self withCredentials:YES];
-    [self assertTrue:[connection withCredentials]];
+    var req = [CPURLRequest requestWithURL:[CPURL URLWithString:@"Tests/Foundation/CPURLConnectionTest.j"]];
+    [req setWithCredentials:YES];
+    var data = [CPURLConnection sendSynchronousRequest:req returningResponse:nil];
+
+    [self assertNotNull:data];
+}
+
+- (void)testInstanceMethodConnectionWithCredentials
+{
+    var req = [CPURLRequest requestWithURL:[CPURL URLWithString:@"Tests/Foundation/CPURLConnectionTest.j"]];
+    [req setWithCredentials:YES];
+
+    var conn = [[CPURLConnection alloc] initWithRequest:req delegate:nil startImmediately:NO];
+
+    [self assertTrue:conn._HTTPRequest.withCredentials];
+
+    [req setWithCredentials:NO];
+    [self assertTrue:conn._HTTPRequest.withCredentials];
+}
+
+- (void)testRequestGetters
+{
+    var req = [CPURLRequest requestWithURL:[CPURL URLWithString:@"Tests/Foundation/CPURLConnectionTest.j"]],
+        conn = [[CPURLConnection alloc] initWithRequest:req delegate:nil startImmediately:NO];
+    
+    var originalRequest = [conn originalRequest],
+        currentRequest = [conn currentRequest];
+
+    [self assert:originalRequest._UID notEqual:currentRequest._UID];
+
+    [[conn currentRequest] setWithCredentials:YES];
+    [self assert:[originalRequest withCredentials] notEqual:[currentRequest withCredentials]];
 }
 
 @end
diff --git a/Tests/Foundation/CPURLRequestTest.j b/Tests/Foundation/CPURLRequestTest.j
new file mode 100644
index 000000000..2c9cbdb72
--- /dev/null
+++ b/Tests/Foundation/CPURLRequestTest.j
@@ -0,0 +1,30 @@
+@import 
+
+
+var exampleURL = "http://www.cappuccino-project.org";
+
+@implementation CPURLRequestTest : OJTestCase
+{
+}
+
+- (void)testClassMethods
+{
+    var url = [CPURL URLWithString:exampleURL],
+        req = [CPURLRequest requestWithURL:url];
+
+    [self assert:[req HTTPMethod] equals:@"GET"];
+    [self assert:[req URL] equals:url];
+}
+
+- (void)testWithCredentials
+{
+    var url = [CPURL URLWithString:exampleURL],
+        req = [CPURLRequest requestWithURL:url];
+
+    [self assertFalse:[req withCredentials]];
+
+    [req setWithCredentials:YES];
+    [self assertTrue:[req withCredentials]];
+}
+
+@end
\ No newline at end of file
diff --git a/Tests/Manual/AttachedSheet2/SheetWindowController.j b/Tests/Manual/AttachedSheet2/SheetWindowController.j
index 096beec68..41866b38f 100644
--- a/Tests/Manual/AttachedSheet2/SheetWindowController.j
+++ b/Tests/Manual/AttachedSheet2/SheetWindowController.j
@@ -399,9 +399,6 @@
 
     _returnCode = 77;
     [CPApp endSheet:[self window] returnCode:_returnCode];
-
-    if (orderOutAfter)
-        [[self window] orderOut:nil];
 }
 
 //
@@ -519,7 +516,15 @@
     // test sheet chaining. it should be possible to start another sheet from didEndSheet,
     // but only if we orderOut: the sheet before we called endSheet: This is how cocoa works too.
     if (returnCode == 77)
+    {
+        var orderOutAfter = [_orderOutAfterCheckbox state];
+
+        if (orderOutAfter)
+            [[self window] orderOut:self];
+
         [self runSheetForWindow:parentWindow];
+    }
+
         //[self runAlertSheet:parentWindow];
 }
 
diff --git a/Tests/Manual/CPSegmentedControlBindings/AppController.j b/Tests/Manual/CPSegmentedControlBindings/AppController.j
index f4f69cd19..712d7b33b 100644
--- a/Tests/Manual/CPSegmentedControlBindings/AppController.j
+++ b/Tests/Manual/CPSegmentedControlBindings/AppController.j
@@ -6,6 +6,8 @@
  * Copyright 2012, Your Company All rights reserved.
  */
 
+CPLogRegister(CPLogConsole)
+
 @import 
 
 @implementation AppController : CPObject
@@ -30,10 +32,10 @@
 
 - (id)newObject
 {
-    var randIndex = FLOOR(RAND()*3),
-        randLabel = ["un", "deux", "trois", nil][FLOOR(RAND()*4)],
-        randTag = FLOOR(RAND()*3);
-        
+    var randIndex = FLOOR(RAND() * 3),
+        randLabel = ["Label1", "Label2", "Label3", nil][FLOOR(RAND() * 4)],
+        randTag = FLOOR(RAND() * 3);
+
     return [CPDictionary dictionaryWithObjectsAndKeys:randIndex, @"index", randLabel, @"label", randTag, @"tag"];
 }
 
diff --git a/Tests/Manual/CPSegmentedControlBindings/Resources/MainMenu.cib b/Tests/Manual/CPSegmentedControlBindings/Resources/MainMenu.cib
index 7aa5cbadc..0a9e52e2e 100644
--- a/Tests/Manual/CPSegmentedControlBindings/Resources/MainMenu.cib
+++ b/Tests/Manual/CPSegmentedControlBindings/Resources/MainMenu.cib
@@ -1 +1 @@
-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;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;23E;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;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;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;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;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;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;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;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;91E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;232E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;251E;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;93E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;3;252E;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;3;253E;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;91E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;249E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;254E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;249E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;216E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;255E;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;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;162E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;261E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;161E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;262E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;155E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;263E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;154E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;264E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;157E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;265E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;117E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;266E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;164E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;267E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;160E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;268E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;104E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;269E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;106E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;91E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;270E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;114E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;271E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;273E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;126E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;121E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;124E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;120E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;125E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;140E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;122E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;282E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;135E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;286E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;99E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;287E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;168E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;288E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;169E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;290E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;293E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;207E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;208E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;209E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;210E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;297E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;212E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;298E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;213E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;299E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;214E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;300E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;177E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;302E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;203E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;204E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;304E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;195E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;305E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;306E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;197E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;307E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;308E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;199E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;190E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;310E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;191E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;192E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;312E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;313E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;186E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;187E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;316E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;235E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;317E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;248E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;318E;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;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;242E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;319E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;320E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;321E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;323E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;241E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;324E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;320E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;325E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;240E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;327E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;320E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;328E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;246E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;330E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;331E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;321E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;332E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;244E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;333E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;334E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;325E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;335E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;228E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;336E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;320E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;337E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;338E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;227E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;339E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;320E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;340E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;226E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;342E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;320E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;343E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;344E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;220E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;345E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;346E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;328E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;347E;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;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;348E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;349E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;350E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;351E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;96E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;351E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;354E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;359E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;361E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;362E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;363E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;102E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;363E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;364E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;365E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;366E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;368E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;369E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;370E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;371E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;372E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;373E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;374E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;112E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;374E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;375E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;376E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;377E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;368E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;378E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;379E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;116E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;379E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;380E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;381E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;116E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;382E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;383E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;119E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;383E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;384E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;386E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;387E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;388E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;389E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;390E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;392E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;394E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;395E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;396E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;397E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;398E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;399E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;130E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;399E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;400E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;401E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;402E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;403E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;398E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;404E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;405E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;406E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;407E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;408E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;409E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;410E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;411E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;412E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;413E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;414E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;415E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;137E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;415E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;416E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;417E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;419E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;420E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;421E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;422E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;143E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;423E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;424E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;425E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;143E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;426E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;143E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;147E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;427E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;428E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;429E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;413E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;414E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;410E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;411E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;431E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;402E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;403E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;398E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;152E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;432E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;433E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;435E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;437E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;398E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;439E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;440E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;441E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;442E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;443E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;444E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;159E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;444E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;445E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;446E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;447E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;448E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;449E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;398E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;450E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;451E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;452E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;453E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;167E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;453E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;454E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;167E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;456E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;378E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;457E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;167E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;458E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;459E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;460E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;173E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;460E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;461E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;462E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;463E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;456E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;464E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;410E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;465E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;413E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;467E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;468E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;469E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;470E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;402E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;471E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;472E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;473E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;474E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;475E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;183E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;475E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;476E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;478E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;479E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;480E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;481E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;189E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;481E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;482E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;478E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;483E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;484E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;194E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;484E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;485E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;486E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;487E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;488E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;489E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;490E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;491E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;492E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;395E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;378E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;493E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;378E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;206E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;494E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;496E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;497E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;498E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;499E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;500E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;501E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;502E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;504E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;395E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;505E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;506E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;505E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;507E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;508E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;509E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;510E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;511E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;407E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;351E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;218E;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;3;217E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;513E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;513E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;E;D;K;10;$classnameS;18;CPSegmentedControlK;8;$classesA;S;18;CPSegmentedControlS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;516E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;517E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;519E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;410E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;521E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;522E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;413E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;413E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;512E;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;3;221E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;523E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;524E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;525E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;526E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;528E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;529E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;3;233E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;3;230E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;530E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;530E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;530E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;530E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;356E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;356E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;356E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;531E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;410E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;512E;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;3;223E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;528E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;532E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;532E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;528E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;534E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;535E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;12;$agrid-colorD;K;6;CP$UIDd;3;536E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;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;537E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;538E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;512E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;473E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;356E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;356E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;356E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;356E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;358E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;539E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;536E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;512E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;356E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;541E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;3;232E;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;3;225E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;542E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;543E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;544E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;546E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;547E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;402E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;358E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;356E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;225E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;548E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;543E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;544E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;549E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;550E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;402E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;358E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;356E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;225E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;551E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;530E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;552E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;553E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;554E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;402E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;358E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;356E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;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;3;229E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;222E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;555E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;556E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;222E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;557E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;558E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;559E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;560E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;512E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;222E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;561E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;512E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;3;358E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;562E;K;18;CPScrollerStyleKeyD;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;3;231E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;529E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;563E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;563E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;529E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;564E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;3;224E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;356E;E;D;K;6;$classD;K;6;CP$UIDd;3;229E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;222E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;565E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;566E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;222E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;557E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;558E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;559E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;560E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;512E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;222E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;567E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;512E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;3;356E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;568E;K;18;CPScrollerStyleKeyD;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;3;234E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;569E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;570E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;571E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;572E;K;11;$aalignmentD;K;6;CP$UIDd;3;410E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;521E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;512E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;471E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;357E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;358E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;573E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;512E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;356E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;410E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;512E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;3;236E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;574E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;575E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;576E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;577E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;578E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;579E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;580E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;581E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;576E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;577E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;582E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;579E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;583E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;584E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;576E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;577E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;585E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;579E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;586E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;587E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;576E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;577E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;588E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;579E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;589E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;587E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;576E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;577E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;588E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;579E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;590E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;587E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;576E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;577E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;588E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;579E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;591E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;592E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;576E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;593E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;594E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;579E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;595E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;517E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;519E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;410E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;521E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;596E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;413E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;413E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;597E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;592E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;576E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;593E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;598E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;579E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;599E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;517E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;519E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;410E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;521E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;600E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;413E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;413E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;601E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;592E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;576E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;593E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;602E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;579E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;234E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;603E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;604E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;518E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;571E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;572E;K;11;$aalignmentD;K;6;CP$UIDd;3;410E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;521E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;512E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;474E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;357E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;358E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;573E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;512E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;356E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;410E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;512E;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;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;605E;E;D;K;10;$classnameS;18;_CPCibClassSwapperK;8;$classesA;S;18;_CPCibClassSwapperS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;250E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;606E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;356E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;356E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;356E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;356E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;356E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;356E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;356E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;358E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;358E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;3;607E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;3;608E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;216E;E;E;S;8;delegateS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;4;add:S;7;remove:S;20;value: selection.tagS;5;valueS;13;selection.tagD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;K;17;CPNullPlaceholderD;K;6;CP$UIDd;3;609E;E;E;S;22;value: selection.labelS;15;selection.labelD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;K;17;CPNullPlaceholderD;K;6;CP$UIDd;3;609E;E;E;S;22;value: selection.indexS;15;selection.indexD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;K;17;CPNullPlaceholderD;K;6;CP$UIDd;3;609E;E;E;S;26;selectedTag: selection.tagS;11;selectedTagD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;E;E;S;30;selectedLabel: selection.labelS;13;selectedLabelD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;K;17;CPNullPlaceholderD;K;6;CP$UIDd;3;610E;E;E;S;26;value: arrangedObjects.tagS;19;arrangedObjects.tagD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;E;E;S;28;value: arrangedObjects.labelS;21;arrangedObjects.labelD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;E;E;S;28;value: arrangedObjects.indexS;21;arrangedObjects.indexD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;E;E;S;30;selectedIndex: selection.indexS;13;selectedIndexD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;E;E;S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;3;115E;E;E;S;6;WindowS;14;submenuAction:d;7;1048576S;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;E;E;T;S;0;F;S;18;Bring All to FrontS;4;ZoomS;8;MinimizeS;1;mS;14;NewApplicationS;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;106E;E;E;S;20;About NewApplicationS;19;Hide NewApplicationS;1;hS;8;Show AllS;19;Quit NewApplicationS;1;qS;12;Preferences…S;1;,S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Hide Othersd;7;1572864S;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;117E;E;E;S;19;NewApplication HelpS;1;?S;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;142E;E;E;S;6;DeleteS;10;Select AllS;1;aS;4;UndoS;1;zS;3;CutS;1;xS;5;PasteS;1;vS;4;CopyS;1;cS;4;RedoS;1;Zd;7;1179648S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;132E;E;E;S;13;Find Previousd;1;3S;1;GS;17;Jump to SelectionS;1;jS;22;Use Selection for Findd;1;7S;1;eS;9;Find Nextd;1;2S;1;gS;5;Find…d;1;1S;1;fS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;141E;E;E;S;27;Check Spelling While TypingS;14;Check SpellingS;1;;S;14;Show Spelling…S;1;:S;27;Check Grammar With SpellingS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;144E;E;E;S;13;Stop SpeakingS;14;Start SpeakingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;155E;E;E;S;4;SaveS;1;sS;8;Save As…S;1;SS;6;Print…S;1;pS;5;Open…S;1;oS;3;NewS;1;nS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;160E;E;E;S;10;Clear MenuS;13;Page Setup...S;1;PS;5;CloseS;1;wS;15;Revert to SavedS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;E;E;S;12;Show ToolbarS;1;tS;18;Customize Toolbar…S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;205E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;E;E;S;10;Show FontsS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;E;E;S;7;Use AllS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy StyleS;11;Paste StyleS;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 278}, {626, 360}}S;22;{{0, 0}, {1680, 1028}}d;1;0S;20;{{0, 0}, {626, 360}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;242E;D;K;6;CP$UIDd;3;248E;E;E;S;6;normalS;21;{{35, 18}, {146, 25}}S;19;{{0, 0}, {146, 25}}d;2;36S;17;segmented-controlD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;520E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;611E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;612E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;356E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;614E;D;K;6;CP$UIDd;3;615E;D;K;6;CP$UIDd;3;616E;E;E;S;23;{{35, 163}, {413, 151}}S;20;{{0, 0}, {413, 151}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;528E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;529E;D;K;6;CP$UIDd;3;541E;D;K;6;CP$UIDd;3;531E;E;E;S;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;527E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;222E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;617E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;532E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;618E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;222E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;557E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;619E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;20;CPReuseIdentifierKeyD;K;6;CP$UIDd;3;620E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;527E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;222E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;621E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;622E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;623E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;222E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;557E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;619E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;20;CPReuseIdentifierKeyD;K;6;CP$UIDd;3;624E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;232E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;3;217E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;222E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;625E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;625E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;222E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;E;S;20;{{0, 0}, {411, 133}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;533E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;626E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;533E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;627E;E;d;2;25S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;227E;D;K;6;CP$UIDd;3;228E;E;E;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;540E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;222E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;628E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;629E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;222E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;557E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;630E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;20;CPReuseIdentifierKeyD;K;6;CP$UIDd;3;631E;E;d;3;116d;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;545E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;625E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;625E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;632E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;633E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;512E;K;12;$atext-colorD;K;6;CP$UIDd;3;634E;K;6;$afontD;K;6;CP$UIDd;3;635E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;636E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;635E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;3;634E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;3;512E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;473E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;637E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;638E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;576E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;639E;K;11;$aalignmentD;K;6;CP$UIDd;3;512E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;473E;K;6;$afontD;K;6;CP$UIDd;3;641E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;642E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;643E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;619E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;473E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;512E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;d;3;111D;K;6;$classD;K;6;CP$UIDd;3;545E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;625E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;625E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;644E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;633E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;512E;K;12;$atext-colorD;K;6;CP$UIDd;3;634E;K;6;$afontD;K;6;CP$UIDd;3;635E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;645E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;635E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;3;634E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;3;512E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;473E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;637E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;638E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;576E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;639E;K;11;$aalignmentD;K;6;CP$UIDd;3;512E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;473E;K;6;$afontD;K;6;CP$UIDd;3;646E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;642E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;643E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;619E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;473E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;512E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;d;3;136f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;545E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;625E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;625E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;647E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;633E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;512E;K;12;$atext-colorD;K;6;CP$UIDd;3;634E;K;6;$afontD;K;6;CP$UIDd;3;635E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;648E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;635E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;3;634E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;3;512E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;473E;E;D;K;6;$classD;K;6;CP$UIDd;3;236E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;637E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;638E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;576E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;639E;K;11;$aalignmentD;K;6;CP$UIDd;3;512E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;473E;K;6;$afontD;K;6;CP$UIDd;3;649E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;642E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;643E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;619E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;473E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;512E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;19;{{1, 1}, {411, 15}}S;19;{{0, 0}, {411, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9903614457831326S;19;{{0, 0}, {411, 25}}S;14;tableHeaderRowS;22;{{224, 32}, {15, 102}}S;19;{{0, 0}, {15, 102}}S;27;_verticalScrollerDidScroll:f;18;0.8872180451127819S;21;{{35, 317}, {39, 25}}S;18;{{0, 0}, {39, 25}}S;6;buttonS;8;borderedd;2;14S;22;{{466, 171}, {38, 17}}S;18;{{0, 0}, {38, 17}}S;9;textfieldD;K;6;$classD;K;6;CP$UIDd;3;520E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;611E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;612E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;356E;E;S;6;index:D;K;6;$classD;K;6;CP$UIDd;3;533E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;650E;E;S;22;{{471, 196}, {33, 17}}S;18;{{0, 0}, {33, 17}}S;6;label:S;22;{{481, 221}, {23, 17}}S;18;{{0, 0}, {23, 17}}S;4;tag:S;23;{{506, 171}, {100, 17}}S;19;{{0, 0}, {100, 17}}S;5;LabelS;23;{{506, 196}, {100, 17}}S;23;{{506, 221}, {100, 17}}S;22;{{193, 23}, {413, 17}}S;19;{{0, 0}, {413, 17}}D;K;6;$classD;K;6;CP$UIDd;3;520E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;651E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;652E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;358E;E;S;56;CPSelectedIndexBinding CPArrayController selection.indexS;21;{{35, 65}, {146, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;653E;D;K;6;CP$UIDd;3;654E;D;K;6;CP$UIDd;3;655E;E;E;S;22;{{193, 70}, {413, 17}}S;56;CPSelectedLabelBinding CPArrayController selection.labelS;22;{{35, 115}, {146, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;656E;D;K;6;CP$UIDd;3;657E;D;K;6;CP$UIDd;3;658E;E;E;S;23;{{193, 120}, {413, 17}}S;52;CPSelectedTagBinding CPArrayController selection.tagS;21;{{79, 317}, {36, 25}}S;18;{{0, 0}, {36, 25}}S;13;AppControllerS;19;CPMutableDictionaryS;15;ArrayControllerS;17;CPArrayControllerS;4;NULLS;5;troisS;28;_CPFontSystemFacePlaceholderd;2;-1D;K;10;$classnameS;14;_CPSegmentItemK;8;$classesA;S;14;_CPSegmentItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;613E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;659E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;358E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;512E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;613E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;660E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;356E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;413E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;613E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;610E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;358E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;410E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;S;20;{{1, 1}, {411, 133}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;224E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;533E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;661E;E;S;6;_NS:11S;21;{{1, 134}, {411, 17}}S;19;{{0, 0}, {411, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;232E;E;E;S;6;_NS:15S;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;413E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;413E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;662E;D;K;6;CP$UIDd;3;662E;D;K;6;CP$UIDd;3;662E;D;K;6;CP$UIDd;3;413E;E;E;S;22;{{224, 128}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewS;6;_NS:19D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;664E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;3;533E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;665E;E;D;K;6;$classD;K;6;CP$UIDd;3;520E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;611E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;666E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;356E;E;S;5;indexS;17;{{3, 0}, {-6, 0}}S;17;{{0, 0}, {-6, 0}}S;8;editableD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;640E;K;4;nameD;K;6;CP$UIDd;3;667E;K;12;defaultValueD;K;6;CP$UIDd;3;577E;K;6;valuesD;K;6;CP$UIDd;3;668E;E;S;9;Text Celld;4;3072D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;669E;E;E;S;5;labelD;K;6;$classD;K;6;CP$UIDd;3;640E;K;4;nameD;K;6;CP$UIDd;3;667E;K;12;defaultValueD;K;6;CP$UIDd;3;577E;K;6;valuesD;K;6;CP$UIDd;3;670E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;671E;E;E;S;3;tagD;K;6;$classD;K;6;CP$UIDd;3;640E;K;4;nameD;K;6;CP$UIDd;3;667E;K;12;defaultValueD;K;6;CP$UIDd;3;577E;K;6;valuesD;K;6;CP$UIDd;3;672E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;673E;D;K;6;CP$UIDd;3;673E;D;K;6;CP$UIDd;3;673E;D;K;6;CP$UIDd;3;413E;E;E;S;7;Courierd;2;12D;K;6;$classD;K;6;CP$UIDd;3;613E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;659E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;358E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;512E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;613E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;660E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;356E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;413E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;613E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;610E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;358E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;410E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;613E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;659E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;358E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;512E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;613E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;660E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;356E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;413E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;613E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;610E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;358E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;410E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;S;2;unS;4;deuxD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;413E;E;E;f;3;0.8D;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;663E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;546E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;625E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;625E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;546E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;674E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;3;358E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;675E;D;K;6;CP$UIDd;3;675E;D;K;6;CP$UIDd;3;675E;D;K;6;CP$UIDd;3;413E;E;E;d;2;11S;4;fontD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;676E;K;6;normalD;K;6;CP$UIDd;3;677E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;663E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;549E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;625E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;625E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;549E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;674E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;3;358E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;E;D;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;676E;K;6;normalD;K;6;CP$UIDd;3;677E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;663E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;553E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;625E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;625E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;553E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;674E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;3;358E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;E;D;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;676E;K;6;normalD;K;6;CP$UIDd;3;677E;E;E;f;18;0.6862745098039216d;2;18f;18;0.5019607843137255D;K;6;$classD;K;6;CP$UIDd;3;520E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;678E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;652E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;356E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;358E;E;D;K;6;$classD;K;6;CP$UIDd;3;520E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;611E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;652E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;356E;E;S;17;Arial, sans-serifE;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;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;23E;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;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;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;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;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;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;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;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;91E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;230E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;249E;D;K;6;CP$UIDd;3;251E;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;93E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;3;206E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;216E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;222E;D;K;6;CP$UIDd;3;226E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;220E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;241E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;243E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;218E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;3;252E;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;3;253E;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;91E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;249E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;254E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;249E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;216E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;255E;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;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;258E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;259E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;162E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;260E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;261E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;161E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;262E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;155E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;263E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;154E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;264E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;157E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;265E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;117E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;266E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;164E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;267E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;160E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;268E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;104E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;269E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;106E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;91E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;270E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;114E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;271E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;273E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;145E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;274E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;126E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;121E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;124E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;278E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;120E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;125E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;280E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;140E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;281E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;122E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;282E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;135E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;283E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;285E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;286E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;99E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;287E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;168E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;288E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;169E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;289E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;141E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;290E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;293E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;207E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;208E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;209E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;210E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;297E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;212E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;298E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;213E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;299E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;214E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;300E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;177E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;301E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;302E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;203E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;303E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;204E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;304E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;195E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;305E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;196E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;306E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;197E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;307E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;308E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;199E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;190E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;310E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;191E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;192E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;312E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;184E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;313E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;186E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;315E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;187E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;316E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;233E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;317E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;241E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;318E;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;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;240E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;319E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;320E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;321E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;323E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;239E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;324E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;320E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;325E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;238E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;327E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;320E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;328E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;329E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;248E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;330E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;331E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;321E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;332E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;246E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;333E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;334E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;325E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;335E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;226E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;336E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;320E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;337E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;338E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;225E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;339E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;320E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;340E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;341E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;224E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;342E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;320E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;343E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;344E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;243E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;251E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;345E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;346E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;328E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;347E;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;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;348E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;349E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;350E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;351E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;96E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;96E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;351E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;354E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;359E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;361E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;96E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;362E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;363E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;102E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;102E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;363E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;364E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;365E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;366E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;367E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;368E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;369E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;370E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;371E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;372E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;373E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;374E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;112E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;112E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;374E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;375E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;376E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;377E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;368E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;378E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;379E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;116E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;116E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;379E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;380E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;381E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;116E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;382E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;383E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;119E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;119E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;383E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;384E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;385E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;386E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;387E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;388E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;389E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;390E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;391E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;392E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;394E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;395E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;396E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;397E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;398E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;399E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;130E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;130E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;399E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;400E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;401E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;402E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;403E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;398E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;404E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;405E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;406E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;407E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;408E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;409E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;410E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;411E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;412E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;413E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;130E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;414E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;415E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;137E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;137E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;415E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;416E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;417E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;418E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;419E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;420E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;421E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;422E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;137E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;423E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;143E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;143E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;423E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;424E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;425E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;143E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;426E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;143E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;427E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;147E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;147E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;427E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;428E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;429E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;413E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;414E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;410E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;411E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;431E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;402E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;147E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;403E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;398E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;432E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;152E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;152E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;432E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;433E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;435E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;436E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;437E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;398E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;438E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;439E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;440E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;441E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;442E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;443E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;444E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;159E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;159E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;444E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;445E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;446E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;447E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;159E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;448E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;449E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;398E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;450E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;451E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;452E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;453E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;167E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;167E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;453E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;454E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;167E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;456E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;378E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;457E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;167E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;171E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;458E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;459E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;460E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;173E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;173E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;460E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;461E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;462E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;463E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;456E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;464E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;410E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;465E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;466E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;413E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;467E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;468E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;469E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;470E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;402E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;471E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;472E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;473E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;474E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;475E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;183E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;183E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;475E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;476E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;478E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;479E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;480E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;481E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;189E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;189E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;481E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;482E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;478E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;483E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;189E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;484E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;194E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;194E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;484E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;485E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;477E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;486E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;487E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;488E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;489E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;490E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;491E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;492E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;395E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;378E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;493E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;173E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;378E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;494E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;206E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;352E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;206E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;92E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;494E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;495E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;496E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;497E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;498E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;499E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;500E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;501E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;502E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;353E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;356E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;358E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;503E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;504E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;395E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;505E;E;D;K;6;$classD;K;6;CP$UIDd;2;94E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;506E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;206E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;393E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;505E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;215E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;507E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;508E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;509E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;510E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;511E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;407E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;351E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;218E;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;3;217E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;513E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;513E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;514E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;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;3;219E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;517E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;518E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;519E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;521E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;523E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;3;524E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;3;231E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;3;228E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;525E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;525E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;525E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;525E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;356E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;356E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;356E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;526E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;410E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;512E;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;3;221E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;523E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;527E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;527E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;523E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;529E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;530E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;12;$agrid-colorD;K;6;CP$UIDd;3;531E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;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;532E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;533E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;512E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;473E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;356E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;356E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;356E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;356E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;358E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;534E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;531E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;512E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;356E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;3;536E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;3;230E;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;3;223E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;537E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;538E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;539E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;541E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;542E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;402E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;358E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;356E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;223E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;543E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;538E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;539E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;544E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;545E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;402E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;358E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;356E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;223E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;546E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;525E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;547E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;548E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;549E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;402E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;358E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;356E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;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;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;220E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;550E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;551E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;220E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;552E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;553E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;554E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;555E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;512E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;220E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;556E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;512E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;3;358E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;557E;K;18;CPScrollerStyleKeyD;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;3;229E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;524E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;558E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;558E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;524E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;559E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;3;222E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;3;356E;E;D;K;6;$classD;K;6;CP$UIDd;3;227E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;220E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;560E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;561E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;220E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;552E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;553E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;554E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;555E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;512E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;3;220E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;562E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;512E;K;23;CPScrollerIsVerticalKeyD;K;6;CP$UIDd;3;356E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;563E;K;18;CPScrollerStyleKeyD;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;3;232E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;564E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;565E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;566E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;567E;K;11;$aalignmentD;K;6;CP$UIDd;3;410E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;512E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;471E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;357E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;358E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;570E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;512E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;356E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;410E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;512E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;3;234E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;571E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;572E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;573E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;574E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;575E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;234E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;576E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;577E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;573E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;578E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;575E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;234E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;579E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;580E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;573E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;581E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;575E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;234E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;582E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;573E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;584E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;575E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;234E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;585E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;573E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;584E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;575E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;234E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;586E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;583E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;573E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;584E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;575E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;232E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;587E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;588E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;566E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;567E;K;11;$aalignmentD;K;6;CP$UIDd;3;410E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;512E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;474E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;357E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;358E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;570E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;512E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;356E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;410E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;512E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;18;CPSegmentedControlK;8;$classesA;S;18;CPSegmentedControlS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;242E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;589E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;590E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;591E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;410E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;592E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;413E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;413E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;234E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;593E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;594E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;573E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;595E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;596E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;575E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;234E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;597E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;594E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;573E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;595E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;598E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;575E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;242E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;599E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;600E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;591E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;410E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;601E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;413E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;413E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;234E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;602E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;603E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;573E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;473E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;595E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;356E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;604E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;358E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;575E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;410E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;473E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;242E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;218E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;605E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;606E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;218E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;520E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;591E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;11;$aalignmentD;K;6;CP$UIDd;3;410E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;410E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;473E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;607E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;413E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;413E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;608E;E;D;K;10;$classnameS;18;_CPCibClassSwapperK;8;$classesA;S;18;_CPCibClassSwapperS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;250E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;609E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;356E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;356E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;356E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;356E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;356E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;356E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;356E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;358E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;358E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;3;610E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;3;611E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;216E;E;E;S;8;delegateS;9;theWindowS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;14;runPageLayout:S;6;print:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;5;hide:S;10;terminate:S;22;hideOtherApplications:S;22;unhideAllApplications:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;10;alignLeft:S;12;alignCenter:S;15;alignJustified:S;11;alignRight:S;12;toggleRuler:S;10;copyRuler:S;11;pasteRuler:S;10;underline:S;21;orderFrontColorPanel:S;9;copyFont:S;10;pasteFont:S;9;unscript:S;12;superscript:S;10;subscript:S;14;raiseBaseline:S;14;lowerBaseline:S;21;useStandardLigatures:S;17;turnOffLigatures:S;16;useAllLigatures:S;19;useStandardKerning:S;15;turnOffKerning:S;15;tightenKerning:S;14;loosenKerning:S;4;add:S;7;remove:S;20;value: selection.tagS;5;valueS;13;selection.tagD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;K;17;CPNullPlaceholderD;K;6;CP$UIDd;3;612E;E;E;S;22;value: selection.labelS;15;selection.labelD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;K;17;CPNullPlaceholderD;K;6;CP$UIDd;3;612E;E;E;S;22;value: selection.indexS;15;selection.indexD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;K;17;CPNullPlaceholderD;K;6;CP$UIDd;3;612E;E;E;S;26;selectedTag: selection.tagS;11;selectedTagD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;E;E;S;30;selectedLabel: selection.labelS;13;selectedLabelD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;K;17;CPNullPlaceholderD;K;6;CP$UIDd;3;613E;E;E;S;26;value: arrangedObjects.tagS;19;arrangedObjects.tagD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;E;E;S;28;value: arrangedObjects.labelS;21;arrangedObjects.labelD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;E;E;S;28;value: arrangedObjects.indexS;21;arrangedObjects.indexD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;E;E;S;30;selectedIndex: selection.indexS;13;selectedIndexD;K;6;$classD;K;6;CP$UIDd;3;322E;K;10;CP.objectsD;E;E;S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;3;115E;E;E;S;6;WindowS;14;submenuAction:d;7;1048576S;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;E;E;T;S;0;F;S;18;Bring All to FrontS;4;ZoomS;8;MinimizeS;1;mS;14;NewApplicationS;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;106E;E;E;S;20;About NewApplicationS;19;Hide NewApplicationS;1;hS;8;Show AllS;19;Quit NewApplicationS;1;qS;12;Preferences…S;1;,S;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Hide Othersd;7;1572864S;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;117E;E;E;S;19;NewApplication HelpS;1;?S;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;142E;E;E;S;6;DeleteS;10;Select AllS;1;aS;4;UndoS;1;zS;3;CutS;1;xS;5;PasteS;1;vS;4;CopyS;1;cS;4;RedoS;1;Zd;7;1179648S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;132E;E;E;S;13;Find Previousd;1;3S;1;GS;17;Jump to SelectionS;1;jS;22;Use Selection for Findd;1;7S;1;eS;9;Find Nextd;1;2S;1;gS;5;Find…d;1;1S;1;fS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;141E;E;E;S;27;Check Spelling While TypingS;14;Check SpellingS;1;;S;14;Show Spelling…S;1;:S;27;Check Grammar With SpellingS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;144E;E;E;S;13;Stop SpeakingS;14;Start SpeakingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;155E;E;E;S;4;SaveS;1;sS;8;Save As…S;1;SS;6;Print…S;1;pS;5;Open…S;1;oS;3;NewS;1;nS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;160E;E;E;S;10;Clear MenuS;13;Page Setup...S;1;PS;5;CloseS;1;wS;15;Revert to SavedS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;E;E;S;12;Show ToolbarS;1;tS;18;Customize Toolbar…S;6;FormatD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;205E;E;E;S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;E;E;S;10;Show FontsS;4;BoldS;1;bS;6;ItalicS;1;iS;9;UnderlineS;1;uS;6;BiggerS;1;+S;7;Smallerd;1;4S;1;-S;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;E;E;S;11;Use DefaultS;8;Use NoneS;7;TightenS;6;LoosenS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;E;E;S;7;Use AllS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;E;E;S;11;SuperscriptS;9;SubscriptS;5;RaiseS;5;LowerS;11;Show ColorsS;1;CS;10;Copy StyleS;11;Paste StyleS;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;207E;D;K;6;CP$UIDd;3;208E;D;K;6;CP$UIDd;3;209E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;211E;D;K;6;CP$UIDd;3;212E;D;K;6;CP$UIDd;3;213E;D;K;6;CP$UIDd;3;214E;E;E;S;10;Align LeftS;1;{S;6;CenterS;1;|S;7;JustifyS;11;Align RightS;1;}S;10;Show RulerS;10;Copy Rulerd;7;1310720S;11;Paste RulerS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 277}, {695, 361}}S;22;{{0, 0}, {1680, 1028}}d;1;0S;20;{{0, 0}, {695, 361}}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;220E;D;K;6;CP$UIDd;3;233E;D;K;6;CP$UIDd;3;246E;D;K;6;CP$UIDd;3;248E;D;K;6;CP$UIDd;3;244E;D;K;6;CP$UIDd;3;245E;D;K;6;CP$UIDd;3;247E;D;K;6;CP$UIDd;3;235E;D;K;6;CP$UIDd;3;236E;D;K;6;CP$UIDd;3;237E;D;K;6;CP$UIDd;3;238E;D;K;6;CP$UIDd;3;239E;D;K;6;CP$UIDd;3;240E;D;K;6;CP$UIDd;3;241E;E;E;S;6;normalS;6;{1, 1}S;23;{{35, 163}, {413, 151}}S;20;{{0, 0}, {413, 151}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;523E;D;K;6;CP$UIDd;3;231E;D;K;6;CP$UIDd;3;228E;D;K;6;CP$UIDd;3;524E;D;K;6;CP$UIDd;3;526E;E;E;d;2;36S;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;522E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;220E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;614E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;527E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;615E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;220E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;616E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;617E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;20;CPReuseIdentifierKeyD;K;6;CP$UIDd;3;618E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;3;522E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;220E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;619E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;620E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;621E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;220E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;525E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;617E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;20;CPReuseIdentifierKeyD;K;6;CP$UIDd;3;622E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;3;230E;E;d;2;10D;K;6;$classD;K;6;CP$UIDd;3;217E;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;623E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;623E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;220E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;E;S;20;{{0, 0}, {411, 133}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;528E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;624E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;528E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;625E;E;d;2;25S;6;{3, 2}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;225E;D;K;6;CP$UIDd;3;226E;E;E;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;535E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;512E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;626E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;627E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;628E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;20;CPReuseIdentifierKeyD;K;6;CP$UIDd;3;629E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;E;d;3;116d;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;540E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;623E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;623E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;630E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;631E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;632E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;633E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;632E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;1;0E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;3;512E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;473E;E;D;K;6;$classD;K;6;CP$UIDd;3;234E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;634E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;635E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;573E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;636E;K;11;$aalignmentD;K;6;CP$UIDd;3;512E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;473E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;637E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;638E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;617E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;473E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;512E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;d;3;111D;K;6;$classD;K;6;CP$UIDd;3;540E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;623E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;623E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;639E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;631E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;632E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;640E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;632E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;1;0E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;3;512E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;473E;E;D;K;6;$classD;K;6;CP$UIDd;3;234E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;634E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;635E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;573E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;636E;K;11;$aalignmentD;K;6;CP$UIDd;3;512E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;473E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;637E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;638E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;617E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;473E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;512E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;d;3;136f;22;3.4028234663852886e+38D;K;6;$classD;K;6;CP$UIDd;3;540E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;623E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;623E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;641E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;631E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;632E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;642E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;632E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;1;0E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;3;512E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;473E;E;D;K;6;$classD;K;6;CP$UIDd;3;234E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;634E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;635E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;573E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;636E;K;11;$aalignmentD;K;6;CP$UIDd;3;512E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;473E;K;6;$afontD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;637E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;638E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;356E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;356E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;358E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;617E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;473E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;512E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;19;{{1, 1}, {411, 15}}S;19;{{0, 0}, {411, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9903614457831326S;19;{{0, 0}, {411, 25}}S;14;tableHeaderRowS;22;{{224, 32}, {15, 102}}S;19;{{0, 0}, {15, 102}}S;27;_verticalScrollerDidScroll:f;18;0.8872180451127819S;21;{{35, 317}, {39, 25}}S;18;{{0, 0}, {39, 25}}S;6;buttonS;8;borderedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;568E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;643E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;644E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;358E;E;d;2;14S;22;{{466, 171}, {38, 17}}S;18;{{0, 0}, {38, 17}}S;9;textfieldS;6;index:D;K;6;$classD;K;6;CP$UIDd;3;528E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;645E;E;S;22;{{471, 196}, {33, 17}}S;18;{{0, 0}, {33, 17}}S;6;label:S;22;{{481, 221}, {23, 17}}S;18;{{0, 0}, {23, 17}}S;4;tag:S;23;{{506, 171}, {100, 17}}S;19;{{0, 0}, {100, 17}}S;5;LabelS;23;{{506, 196}, {100, 17}}S;23;{{506, 221}, {100, 17}}S;21;{{79, 317}, {36, 25}}S;18;{{0, 0}, {36, 25}}S;21;{{35, 18}, {209, 25}}S;19;{{0, 0}, {209, 25}}S;17;segmented-controlD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;647E;D;K;6;CP$UIDd;3;648E;D;K;6;CP$UIDd;3;649E;E;E;S;22;{{249, 22}, {413, 17}}S;19;{{0, 0}, {413, 17}}D;K;6;$classD;K;6;CP$UIDd;3;568E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;650E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;651E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;358E;E;S;56;CPSelectedIndexBinding CPArrayController selection.indexS;22;{{249, 69}, {413, 17}}S;56;CPSelectedLabelBinding CPArrayController selection.labelS;21;{{35, 65}, {194, 25}}S;19;{{0, 0}, {194, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;652E;D;K;6;CP$UIDd;3;653E;D;K;6;CP$UIDd;3;654E;E;E;S;23;{{249, 119}, {380, 17}}S;19;{{0, 0}, {380, 17}}S;52;CPSelectedTagBinding CPArrayController selection.tagS;22;{{35, 115}, {173, 25}}S;19;{{0, 0}, {173, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;655E;D;K;6;CP$UIDd;3;656E;D;K;6;CP$UIDd;3;657E;E;E;S;13;AppControllerS;19;CPMutableDictionaryS;15;ArrayControllerS;17;CPArrayControllerS;4;NULLS;5;troisS;20;{{1, 1}, {411, 133}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;222E;E;E;d;2;18D;K;6;$classD;K;6;CP$UIDd;3;528E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;658E;E;S;6;_NS:11S;21;{{1, 134}, {411, 17}}S;19;{{0, 0}, {411, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;230E;E;E;S;6;_NS:15S;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;413E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;413E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;659E;D;K;6;CP$UIDd;3;659E;D;K;6;CP$UIDd;3;659E;D;K;6;CP$UIDd;3;413E;E;E;S;20;{{224, 0}, {14, 25}}S;18;{{0, 0}, {14, 25}}S;10;cornerviewS;6;_NS:19D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;661E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;3;568E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;643E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;662E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;358E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;358E;E;S;5;indexS;17;{{3, 0}, {-6, 0}}S;17;{{0, 0}, {-6, 0}}S;22;editable+tableDataViewS;9;Text Celld;4;3072D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;663E;E;E;S;5;labelD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;664E;E;E;S;3;tagS;17;.Lucida Grande UId;2;13D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;413E;E;E;D;K;10;$classnameS;14;_CPSegmentItemK;8;$classesA;S;14;_CPSegmentItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;646E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;666E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;358E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;512E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;646E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;667E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;356E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;413E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;646E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;668E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;358E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;410E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;S;7;Courierd;2;12D;K;6;$classD;K;6;CP$UIDd;3;646E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;669E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;358E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;512E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;646E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;670E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;356E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;413E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;646E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;671E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;358E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;410E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;646E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;672E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;358E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;512E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;646E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;673E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;356E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;413E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;512E;E;D;K;6;$classD;K;6;CP$UIDd;3;646E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;674E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;358E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;356E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;410E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;675E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;413E;D;K;6;CP$UIDd;3;413E;E;E;f;3;0.8D;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;660E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;541E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;623E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;623E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;541E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;616E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;3;358E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;E;d;2;11D;K;6;$classD;K;6;CP$UIDd;3;660E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;544E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;623E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;623E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;544E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;616E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;3;358E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;E;D;K;6;$classD;K;6;CP$UIDd;3;660E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;548E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;623E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;623E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;548E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;616E;K;17;CPViewHitTestsKeyD;K;6;CP$UIDd;3;358E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;515E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;516E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;516E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;358E;E;f;18;0.6862745098039216S;7;Index:0S;7;Index:1S;7;Index:2S;6;Label1S;6;Label2S;6;Label3S;5;Tag:0S;5;Tag:1S;5;Tag:2d;2;55E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E;
\ No newline at end of file
diff --git a/Tests/Manual/CPSegmentedControlBindings/Resources/MainMenu.xib b/Tests/Manual/CPSegmentedControlBindings/Resources/MainMenu.xib
index 554ab4afd..7881fb0bd 100644
--- a/Tests/Manual/CPSegmentedControlBindings/Resources/MainMenu.xib
+++ b/Tests/Manual/CPSegmentedControlBindings/Resources/MainMenu.xib
@@ -1,17 +1,16 @@
 
-
+
 	
 		1050
-		11G63
-		2844
-		1138.51
-		569.00
+		13E28
+		6206.8
+		1265.21
+		698.00
 		
 			com.apple.InterfaceBuilder.CocoaPlugin
-			2844
+			6206.8
 		
-		
-			YES
+		
 			NSArrayController
 			NSButton
 			NSButtonCell
@@ -29,17 +28,15 @@
 			NSTextFieldCell
 			NSView
 			NSWindowTemplate
-		
-		
-			YES
+		
+		
 			com.apple.InterfaceBuilder.CocoaPlugin
-		
+		
 		
 			PluginDependencyRecalculationVersion
 			
 		
-		
-			YES
+		
 			
 				NSApplication
 			
@@ -51,8 +48,7 @@
 			
 			
 				AMainMenu
-				
-					YES
+				
 					
 						
 						NewApplication
@@ -68,10 +64,10 @@
 							NSMenuMixedState
 						
 						submenuAction:
+						
 						
 							NewApplication
-							
-								YES
+							
 								
 									
 									About NewApplication
@@ -120,11 +116,10 @@
 									
 									
 									submenuAction:
+									
 									
 										Services
-										
-											YES
-										
+										
 										_NSServicesMenu
 									
 								
@@ -186,7 +181,7 @@
 									
 									
 								
-							
+							
 							_NSAppleMenu
 						
 					
@@ -199,10 +194,10 @@
 						
 						
 						submenuAction:
+						
 						
 							File
-							
-								YES
+							
 								
 									
 									New
@@ -230,10 +225,10 @@
 									
 									
 									submenuAction:
+									
 									
 										Open Recent
-										
-											YES
+										
 											
 												
 												Clear Menu
@@ -243,7 +238,7 @@
 												
 												
 											
-										
+										
 										_NSRecentDocumentsMenu
 									
 								
@@ -323,7 +318,7 @@
 									
 									
 								
-							
+							
 						
 					
 					
@@ -335,10 +330,10 @@
 						
 						
 						submenuAction:
+						
 						
 							Edit
-							
-								YES
+							
 								
 									
 									Undo
@@ -433,10 +428,10 @@
 									
 									
 									submenuAction:
+									
 									
 										Find
-										
-											YES
+										
 											
 												
 												Find…
@@ -486,7 +481,7 @@
 												
 												
 											
-										
+										
 									
 								
 								
@@ -498,10 +493,10 @@
 									
 									
 									submenuAction:
+									
 									
 										Spelling and Grammar
-										
-											YES
+										
 											
 												
 												Show Spelling…
@@ -538,7 +533,7 @@
 												
 												
 											
-										
+										
 									
 								
 								
@@ -550,10 +545,10 @@
 									
 									
 									submenuAction:
+									
 									
 										Substitutions
-										
-											YES
+										
 											
 												
 												Smart Copy/Paste
@@ -584,7 +579,7 @@
 												
 												3
 											
-										
+										
 									
 								
 								
@@ -596,10 +591,10 @@
 									
 									
 									submenuAction:
+									
 									
 										Speech
-										
-											YES
+										
 											
 												
 												Start Speaking
@@ -618,10 +613,10 @@
 												
 												
 											
-										
+										
 									
 								
-							
+							
 						
 					
 					
@@ -632,10 +627,10 @@
 						
 						
 						submenuAction:
+						
 						
 							Format
-							
-								YES
+							
 								
 									
 									Font
@@ -644,10 +639,10 @@
 									
 									
 									submenuAction:
+									
 									
 										Font
-										
-											YES
+										
 											
 												
 												Show Fonts
@@ -734,10 +729,10 @@
 												
 												
 												submenuAction:
+												
 												
 													Kern
-													
-														YES
+													
 														
 															
 															Use Default
@@ -770,7 +765,7 @@
 															
 															
 														
-													
+													
 												
 											
 											
@@ -781,10 +776,10 @@
 												
 												
 												submenuAction:
+												
 												
 													Ligature
-													
-														YES
+													
 														
 															
 															Use Default
@@ -809,7 +804,7 @@
 															
 															
 														
-													
+													
 												
 											
 											
@@ -820,10 +815,10 @@
 												
 												
 												submenuAction:
+												
 												
 													Baseline
-													
-														YES
+													
 														
 															
 															Use Default
@@ -864,7 +859,7 @@
 															
 															
 														
-													
+													
 												
 											
 											
@@ -914,7 +909,7 @@
 												
 												
 											
-										
+										
 										_NSFontMenu
 									
 								
@@ -926,10 +921,10 @@
 									
 									
 									submenuAction:
+									
 									
 										Text
-										
-											YES
+										
 											
 												
 												Align Left
@@ -1001,10 +996,10 @@
 												
 												
 											
-										
+										
 									
 								
-							
+							
 						
 					
 					
@@ -1016,10 +1011,10 @@
 						
 						
 						submenuAction:
+						
 						
 							View
-							
-								YES
+							
 								
 									
 									Show Toolbar
@@ -1038,7 +1033,7 @@
 									
 									
 								
-							
+							
 						
 					
 					
@@ -1050,10 +1045,10 @@
 						
 						
 						submenuAction:
+						
 						
 							Window
-							
-								YES
+							
 								
 									
 									Minimize
@@ -1092,7 +1087,7 @@
 									
 									
 								
-							
+							
 							_NSWindowsMenu
 						
 					
@@ -1105,10 +1100,10 @@
 						
 						
 						submenuAction:
+						
 						
 							Help
-							
-								YES
+							
 								
 									
 									NewApplication Help
@@ -1118,16 +1113,16 @@
 									
 									
 								
-							
+							
 						
 					
-				
+				
 				_NSMainMenu
 			
 			
 				7
 				2
-				{{335, 390}, {626, 360}}
+				{{335, 390}, {695, 361}}
 				1946157056
 				Window
 				NSWindow
@@ -1136,59 +1131,56 @@
 				
 					
 					256
-					
-						YES
+					
 						
 							
 							268
-							{{33, 317}, {146, 24}}
+							{{33, 318}, {209, 24}}
 							
 							
 							
 							_NS:9
 							YES
 							
-								67108864
+								75497472
 								0
 								
-									LucidaGrande
+									YES
 									13
 									1044
 								
 								_NS:9
 								
-								
-									YES
+								
 									
-										un
+										Index:0
 										3
 									
 									
-										deux
+										Index:1
 										1
 										YES
 										3
 									
 									
-										trois
+										Index:2
 										2
 										3
 									
-								
+								
 								1
 								1
 							
+							NO
 						
 						
 							
 							268
-							
-								YES
+							
 								
 									
-									2304
-									
-										YES
+									2322
+									
 										
 											
 											256
@@ -1198,27 +1190,26 @@
 											
 											_NS:13
 											YES
+											NO
+											YES
 											
 												
 												256
 												{411, 17}
 												
 												
-												
+												
 												_NS:16
 												
 											
-											
-												
+											
+												
 												-2147483392
 												{{224, 0}, {16, 17}}
-												
-												
 												
 												_NS:19
 											
-											
-												YES
+											
 												
 													116
 													40
@@ -1228,7 +1219,7 @@
 														2048
 														index
 														
-															LucidaGrande
+															YES
 															11
 															3100
 														
@@ -1304,7 +1295,7 @@
 													10
 													3.4028234663852886e+38
 													
-														75628096
+														75497536
 														2048
 														tag
 														
@@ -1320,7 +1311,7 @@
 														
 													
 													
-														337772096
+														337641536
 														2048
 														Text Cell
 														
@@ -1333,7 +1324,7 @@
 													YES
 													
 												
-											
+											
 											3
 											2
 											
@@ -1357,7 +1348,7 @@
 											0
 											1
 										
-									
+									
 									{{1, 17}, {411, 133}}
 									
 									
@@ -1375,6 +1366,7 @@
 									
 									
 									_NS:58
+									NO
 									
 									_doScroller:
 									0.88721804511278191
@@ -1387,6 +1379,7 @@
 									
 									
 									_NS:60
+									NO
 									1
 									
 									_doScroller:
@@ -1394,11 +1387,10 @@
 								
 								
 									
-									2304
-									
-										YES
+									2338
+									
 										
-									
+									
 									{{1, 0}, {411, 17}}
 									
 									
@@ -1408,9 +1400,8 @@
 									
 									4
 								
-								
-							
-							{{35, 46}, {413, 151}}
+							
+							{{35, 47}, {413, 151}}
 							
 							
 							
@@ -1420,13 +1411,15 @@
 							
 							
 							
-							
 							QSAAAEEgAABBmAAAQZgAAA
+							0.25
+							4
+							1
 						
 						
 							
 							268
-							{{29, 12}, {51, 32}}
+							{{29, 13}, {51, 32}}
 							
 							
 							
@@ -1446,85 +1439,87 @@
 								200
 								25
 							
+							NO
 						
 						
 							
 							268
-							{{33, 270}, {146, 24}}
+							{{33, 271}, {194, 24}}
 							
 							
 							
 							_NS:9
 							YES
 							
-								67108864
+								75497472
 								0
 								
 								_NS:9
 								
-								
-									YES
+								
 									
-										un
+										Label1
 										3
 									
 									
-										deux
+										Label2
 										1
 										YES
 										3
 									
 									
-										trois
+										Label3
 										2
 										3
 									
-								
+								
 								1
 								1
 							
+							NO
 						
 						
 							
 							268
-							{{33, 220}, {146, 24}}
+							{{33, 221}, {173, 24}}
 							
 							
 							
 							_NS:9
 							YES
 							
-								67108864
-								0
+								76546112
+								1024
 								
 								_NS:9
 								
-								
-									YES
+								
 									
-										un
+										Tag:0
 										3
 									
 									
-										deux
+										Tag:1
 										1
 										YES
 										3
 									
 									
-										trois
+										55
+										Tag:2
 										2
 										3
 									
-								
+								
 								1
 								1
 							
+							NO
 						
 						
 							
 							268
-							{{190, 320}, {419, 17}}
+							{{246, 322}, {419, 17}}
 							
 							
 							
@@ -1549,11 +1544,13 @@
 								
 								
 							
+							NO
+							1
 						
 						
 							
 							268
-							{{190, 273}, {419, 17}}
+							{{246, 275}, {419, 17}}
 							
 							
 							
@@ -1569,11 +1566,13 @@
 								
 								
 							
+							NO
+							1
 						
 						
 							
 							268
-							{{190, 223}, {419, 17}}
+							{{246, 225}, {386, 17}}
 							
 							
 							
@@ -1589,11 +1588,13 @@
 								
 								
 							
+							NO
+							1
 						
 						
 							
 							268
-							{{463, 172}, {44, 17}}
+							{{463, 173}, {44, 17}}
 							
 							
 							
@@ -1609,11 +1610,13 @@
 								
 								
 							
+							NO
+							1
 						
 						
 							
 							268
-							{{468, 147}, {39, 17}}
+							{{468, 148}, {39, 17}}
 							
 							
 							
@@ -1629,11 +1632,13 @@
 								
 								
 							
+							NO
+							1
 						
 						
 							
 							268
-							{{478, 122}, {29, 17}}
+							{{478, 123}, {29, 17}}
 							
 							
 							
@@ -1649,11 +1654,13 @@
 								
 								
 							
+							NO
+							1
 						
 						
 							
 							268
-							{{503, 172}, {106, 17}}
+							{{503, 173}, {106, 17}}
 							
 							
 							
@@ -1669,11 +1676,13 @@
 								
 								
 							
+							NO
+							1
 						
 						
 							
 							268
-							{{503, 147}, {106, 17}}
+							{{503, 148}, {106, 17}}
 							
 							
 							
@@ -1689,11 +1698,13 @@
 								
 								
 							
+							NO
+							1
 						
 						
 							
 							268
-							{{503, 122}, {106, 17}}
+							{{503, 123}, {106, 17}}
 							
 							
 							
@@ -1709,11 +1720,13 @@
 								
 								
 							
+							NO
+							1
 						
 						
 							
 							268
-							{{73, 12}, {48, 32}}
+							{{73, 13}, {48, 32}}
 							
 							
 							
@@ -1733,9 +1746,10 @@
 								200
 								25
 							
+							NO
 						
-					
-					{626, 360}
+					
+					{695, 361}
 					
 					
 					
@@ -1748,12 +1762,11 @@
 				AppController
 			
 			
-				
-					YES
+				
 					index
 					label
 					tag
-				
+				
 				YES
 				YES
 				
@@ -1763,10 +1776,9 @@
 				YES
 				YES
 			
-		
+		
 		
-			
-				YES
+			
 				
 					
 						terminate:
@@ -2447,15 +2459,12 @@
 					
 					558
 				
-			
+			
 			
-				
-					YES
+				
 					
 						0
-						
-							YES
-						
+						
 						
 						
 					
@@ -2464,24 +2473,38 @@
 						
 						
 						File's Owner
+						
+							
+							
+							
+						
 					
 					
 						-1
 						
 						
 						First Responder
+						
+							
+							
+							
+						
 					
 					
 						-3
 						
 						
 						Application
+						
+							
+							
+							
+						
 					
 					
 						29
 						
-						
-							YES
+						
 							
 							
 							
@@ -2489,60 +2512,84 @@
 							
 							
 							
-						
+						
 						
 						MainMenu
+						
+							
+							
+							
+						
 					
 					
 						19
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						56
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						103
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						217
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						83
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						81
 						
-						
-							YES
+						
 							
 							
 							
@@ -2554,87 +2601,154 @@
 							
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						75
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						80
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						78
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						72
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						82
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						124
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						77
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						73
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						79
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						112
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						74
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						125
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						126
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						205
 						
-						
-							YES
+						
 							
 							
 							
@@ -2648,156 +2762,270 @@
 							
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						202
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						198
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						207
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						214
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						199
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						203
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						197
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						206
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						215
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						218
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						216
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						200
 						
-						
-							YES
+						
 							
 							
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						219
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						201
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						204
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						220
 						
-						
-							YES
+						
 							
 							
 							
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						213
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						210
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						221
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						208
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						209
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						106
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						111
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						57
 						
-						
-							YES
+						
 							
 							
 							
@@ -2809,218 +3037,372 @@
 							
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						58
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						134
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						150
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						136
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						144
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						129
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						143
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						236
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						131
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						149
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						145
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						130
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						24
 						
-						
-							YES
+						
 							
 							
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						92
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						5
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						239
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						23
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						295
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						296
 						
-						
-							YES
+						
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						297
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						298
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						211
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						212
 						
-						
-							YES
+						
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						195
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						196
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						346
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						348
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						349
 						
-						
-							YES
+						
 							
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						350
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						351
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						354
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						371
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						372
 						
-						
-							YES
-							
+						
 							
 							
 							
@@ -3029,57 +3411,136 @@
 							
 							
 							
-							
-							
-							
-							
-							
 							
-						
+							
+							
+							
+							
+							
+							
+						
 						
+						
+							
+							
+								
+									
+										
+									
+									
+										
+											1
+											{0, 0}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{695, 361}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+								ibDesignableContentView.ibShadowedSubviews
+								
+									
+									
+									
+									
+									
+									
+									
+									
+									
+									
+									
+									
+									
+									
+									
+								
+							
+						
 					
 					
 						375
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						376
 						
-						
-							YES
+						
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						377
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						378
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						379
 						
-						
-							YES
+						
 							
 							
 							
@@ -3088,54 +3549,98 @@
 							
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						380
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						381
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						382
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						383
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						384
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						385
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						386
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						387
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						388
 						
-						
-							YES
+						
 							
 							
 							
@@ -3152,899 +3657,1744 @@
 							
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						389
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						390
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						391
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						392
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						393
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						394
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						395
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						396
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						397
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						398
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						399
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						400
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						401
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						402
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						403
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						404
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						405
 						
-						
-							YES
+						
 							
 							
 							
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						406
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						407
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						408
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						409
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						410
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						411
 						
-						
-							YES
+						
 							
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						412
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						413
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						414
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						415
 						
-						
-							YES
+						
 							
 							
 							
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						416
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						417
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						418
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						419
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						450
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						491
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{33, 318}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{209, 24}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						492
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						503
 						
-						
-							YES
+						
 							
 							
 							
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{35, 47}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{413, 151}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						504
 						
-						
-							YES
+						
 							
 							
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{0, 0}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{411, 133}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						505
 						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{1, 135}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{411, 15}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						506
 						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{0, 0}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{411, 17}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						507
 						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{224, 17}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{15, 102}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						508
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						509
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						510
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						511
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						512
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+							
+						
 					
 					
 						513
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						514
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{29, 13}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{51, 32}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						515
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						516
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						524
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{33, 271}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{194, 24}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						525
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						527
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{33, 221}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{173, 24}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						528
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						530
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{246, 322}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{419, 17}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						531
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						532
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{246, 275}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{419, 17}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						533
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						534
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{246, 225}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{386, 17}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						535
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						536
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{463, 173}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{44, 17}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						537
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						538
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{468, 148}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{39, 17}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						539
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						540
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{478, 123}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{29, 17}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						541
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						542
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{503, 173}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{106, 17}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						543
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						544
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{503, 148}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{106, 17}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						545
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						546
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{503, 123}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{106, 17}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						547
 						
 						
+						
+							
+							
+							
+						
 					
 					
 						562
 						
-						
-							YES
+						
 							
-						
+						
 						
+						
+							
+							
+								
+									
+									
+										
+											1
+											{73, 13}
+										
+									
+								
+								
+									
+									
+										
+											2
+											{48, 32}
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+								
+									
+									
+										
+									
+								
+							
+							
+						
 					
 					
 						563
 						
 						
+						
+							
+							
+							
+						
 					
-				
-			
-			
-				YES
-				
-					YES
-					-1.IBPluginDependency
-					-2.IBPluginDependency
-					-3.IBPluginDependency
-					103.IBPluginDependency
-					106.IBPluginDependency
-					111.IBPluginDependency
-					112.IBPluginDependency
-					124.IBPluginDependency
-					125.IBPluginDependency
-					126.IBPluginDependency
-					129.IBPluginDependency
-					130.IBPluginDependency
-					131.IBPluginDependency
-					134.IBPluginDependency
-					136.IBPluginDependency
-					143.IBPluginDependency
-					144.IBPluginDependency
-					145.IBPluginDependency
-					149.IBPluginDependency
-					150.IBPluginDependency
-					19.IBPluginDependency
-					195.IBPluginDependency
-					196.IBPluginDependency
-					197.IBPluginDependency
-					198.IBPluginDependency
-					199.IBPluginDependency
-					200.IBPluginDependency
-					201.IBPluginDependency
-					202.IBPluginDependency
-					203.IBPluginDependency
-					204.IBPluginDependency
-					205.IBPluginDependency
-					206.IBPluginDependency
-					207.IBPluginDependency
-					208.IBPluginDependency
-					209.IBPluginDependency
-					210.IBPluginDependency
-					211.IBPluginDependency
-					212.IBPluginDependency
-					213.IBPluginDependency
-					214.IBPluginDependency
-					215.IBPluginDependency
-					216.IBPluginDependency
-					217.IBPluginDependency
-					218.IBPluginDependency
-					219.IBPluginDependency
-					220.IBPluginDependency
-					221.IBPluginDependency
-					23.IBPluginDependency
-					236.IBPluginDependency
-					239.IBPluginDependency
-					24.IBPluginDependency
-					29.IBPluginDependency
-					295.IBPluginDependency
-					296.IBPluginDependency
-					297.IBPluginDependency
-					298.IBPluginDependency
-					346.IBPluginDependency
-					348.IBPluginDependency
-					349.IBPluginDependency
-					350.IBPluginDependency
-					351.IBPluginDependency
-					354.IBPluginDependency
-					371.IBPluginDependency
-					371.IBWindowTemplateEditedContentRect
-					371.NSWindowTemplate.visibleAtLaunch
-					372.IBPluginDependency
-					375.IBPluginDependency
-					376.IBPluginDependency
-					377.IBPluginDependency
-					378.IBPluginDependency
-					379.IBPluginDependency
-					380.IBPluginDependency
-					381.IBPluginDependency
-					382.IBPluginDependency
-					383.IBPluginDependency
-					384.IBPluginDependency
-					385.IBPluginDependency
-					386.IBPluginDependency
-					387.IBPluginDependency
-					388.IBPluginDependency
-					389.IBPluginDependency
-					390.IBPluginDependency
-					391.IBPluginDependency
-					392.IBPluginDependency
-					393.IBPluginDependency
-					394.IBPluginDependency
-					395.IBPluginDependency
-					396.IBPluginDependency
-					397.IBPluginDependency
-					398.IBPluginDependency
-					399.IBPluginDependency
-					400.IBPluginDependency
-					401.IBPluginDependency
-					402.IBPluginDependency
-					403.IBPluginDependency
-					404.IBPluginDependency
-					405.IBPluginDependency
-					406.IBPluginDependency
-					407.IBPluginDependency
-					408.IBPluginDependency
-					409.IBPluginDependency
-					410.IBPluginDependency
-					411.IBPluginDependency
-					412.IBPluginDependency
-					413.IBPluginDependency
-					414.IBPluginDependency
-					415.IBPluginDependency
-					416.IBPluginDependency
-					417.IBPluginDependency
-					418.IBPluginDependency
-					419.IBPluginDependency
-					450.IBPluginDependency
-					491.IBPluginDependency
-					492.IBNSSegmentedControlInspectorSelectedSegmentMetadataKey
-					492.IBPluginDependency
-					5.IBPluginDependency
-					503.IBPluginDependency
-					504.IBPluginDependency
-					505.IBPluginDependency
-					506.IBPluginDependency
-					507.IBPluginDependency
-					508.IBPluginDependency
-					509.IBPluginDependency
-					510.IBPluginDependency
-					511.IBPluginDependency
-					512.IBPluginDependency
-					513.IBPluginDependency
-					514.IBPluginDependency
-					515.IBPluginDependency
-					516.CustomClassName
-					516.IBPluginDependency
-					524.IBPluginDependency
-					525.IBNSSegmentedControlInspectorSelectedSegmentMetadataKey
-					525.IBPluginDependency
-					527.IBPluginDependency
-					528.IBNSSegmentedControlInspectorSelectedSegmentMetadataKey
-					528.IBPluginDependency
-					530.IBPluginDependency
-					531.IBPluginDependency
-					532.IBPluginDependency
-					533.IBPluginDependency
-					534.IBPluginDependency
-					535.IBPluginDependency
-					536.IBPluginDependency
-					537.IBPluginDependency
-					538.IBPluginDependency
-					539.IBPluginDependency
-					540.IBPluginDependency
-					541.IBPluginDependency
-					542.IBPluginDependency
-					543.IBPluginDependency
-					544.IBPluginDependency
-					545.IBPluginDependency
-					546.IBPluginDependency
-					547.IBPluginDependency
-					56.IBPluginDependency
-					562.IBPluginDependency
-					563.IBPluginDependency
-					57.IBPluginDependency
-					58.IBPluginDependency
-					72.IBPluginDependency
-					73.IBPluginDependency
-					74.IBPluginDependency
-					75.IBPluginDependency
-					77.IBPluginDependency
-					78.IBPluginDependency
-					79.IBPluginDependency
-					80.IBPluginDependency
-					81.IBPluginDependency
-					82.IBPluginDependency
-					83.IBPluginDependency
-					92.IBPluginDependency
-				
-				
-					YES
-					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
-					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
-					{{303, 221}, {480, 360}}
-					
-					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
-					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
-					ArrayController
-					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
-				
-			
-			
-				YES
-				
-				
+				
 			
+			
+				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
+				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
+				{447.5, 416.5}
+				com.apple.InterfaceBuilder.CocoaPlugin
+				{{303, 221}, {480, 360}}
+				
+				
+				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
+				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
+				ArrayController
+				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
+			
+			
 			
-			
-				YES
-				
-				
-			
+			
 			
 			567
 		
 		
-			
-				YES
+			
 				
 					AppController
 					NSObject
-					
+					
 						IBProjectSource
-						./Classes/AppController.h
+						../.XcodeSupport/AppController.h
 					
 				
 				
 					ArrayController
 					NSArrayController
-					
-						IBProjectSource
-						./Classes/ArrayController.h
-					
+					
 				
-			
+			
 		
 		0
 		IBCocoaFramework
+		NO
 		
 			com.apple.InterfaceBuilder.CocoaPlugin.macosx
 			
 		
 		
 			com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3
-			
+			
 		
 		YES
 		3
-		
-			YES
-			
-				YES
-				NSMenuCheckmark
-				NSMenuMixedState
-			
-			
-				YES
-				{11, 11}
-				{10, 3}
-			
-		
+		
+			{11, 11}
+			{10, 3}
+		
 	
 
diff --git a/Tests/Manual/CPTextField/AppController.j b/Tests/Manual/CPTextField/AppController.j
index 52cbb591b..389cf3c8e 100644
--- a/Tests/Manual/CPTextField/AppController.j
+++ b/Tests/Manual/CPTextField/AppController.j
@@ -50,8 +50,13 @@
     [shadowLabel setFrame:CGRectMake(15, CGRectGetMaxY([textField frame]) + 10, 300, 18)];
     [championOfLightLabel setFrame:CGRectMake(15, CGRectGetMaxY([shadowLabel frame]) + 2, 300, 18)];
 
+    var selectableLabel = [CPTextField labelWithTitle:@"This text should be selectable and you should see the selectable cursor."];
+    [selectableLabel setSelectable:YES];
+    [selectableLabel setFrame:CGRectMake(15, CGRectGetMaxY([championOfLightLabel frame]) + 8, 600, 18)];
+
     [contentView addSubview:shadowLabel];
     [contentView addSubview:championOfLightLabel];
+    [contentView addSubview:selectableLabel];
 
     var jumpLabel = [CPTextField labelWithTitle:@"The text of these text fields should not move ('jump') when a field becomes the first responder. Labels on the right should replicate the input."];
 
diff --git a/Tests/Manual/CPTextFieldMultiline/AppController.j b/Tests/Manual/CPTextFieldMultiline/AppController.j
new file mode 100644
index 000000000..db6ef8162
--- /dev/null
+++ b/Tests/Manual/CPTextFieldMultiline/AppController.j
@@ -0,0 +1,46 @@
+/*
+ * AppController.j
+ * CPTextFielMultine
+ *
+ * Created by You on November 12, 2014.
+ * Copyright 2014, Your Company All rights reserved.
+ */
+
+@import 
+@import 
+
+
+@implementation AppController : CPObject
+{
+    @outlet CPTextField field1;
+    @outlet CPTextField field2;
+    @outlet CPTextField field3;
+    @outlet CPWindow    theWindow;
+}
+
+- (void)applicationDidFinishLaunching:(CPNotification)aNotification
+{
+    var s = [field1 frameSize];
+    s.height = 83;
+    [field1 setFrameSize:s]
+
+    var s = [field2 frameSize];
+    s.height = 83;
+    [field2 setFrameSize:s]
+
+    var s = [field3 frameSize];
+    s.height = 83;
+    [field3 setFrameSize:s]
+}
+
+- (void)awakeFromCib
+{
+    [theWindow setFullPlatformWindow:YES];
+}
+
+- (IBAction)actionSent:(id)aSender
+{
+    CPLog.debug("action sent from " + aSender);
+}
+
+@end
diff --git a/Tests/Manual/CPTextFieldMultiline/Info.plist b/Tests/Manual/CPTextFieldMultiline/Info.plist
new file mode 100644
index 000000000..4e6a94074
--- /dev/null
+++ b/Tests/Manual/CPTextFieldMultiline/Info.plist
@@ -0,0 +1,14 @@
+
+
+
+
+	Main cib file base name
+	MainMenu.cib
+	CPBundleName
+	CPTextFieldMultiline
+    CPBundleVersion
+    1.0
+    CPHumanReadableCopyright
+    Copyright © 2014, Your Company All rights reserved.
+
+
diff --git a/Tests/Manual/CPTextFieldMultiline/Jakefile b/Tests/Manual/CPTextFieldMultiline/Jakefile
new file mode 100644
index 000000000..6d39494ac
--- /dev/null
+++ b/Tests/Manual/CPTextFieldMultiline/Jakefile
@@ -0,0 +1,184 @@
+/*
+ * Jakefile
+ * CPTextFielMultine
+ *
+ * Created by You on November 12, 2014.
+ * Copyright 2014, 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"),
+    projectName = "CPTextFielMultine";
+
+app (projectName, function(task)
+{
+    ENV["OBJJ_INCLUDE_PATHS"] = "Frameworks";
+
+    if (configuration === "Debug")
+        ENV["OBJJ_INCLUDE_PATHS"] = FILE.join(ENV["OBJJ_INCLUDE_PATHS"], configuration);
+
+    task.setBuildIntermediatesPath(FILE.join("Build", "CPTextFielMultine.build", configuration));
+    task.setBuildPath(FILE.join("Build", configuration));
+
+    task.setProductName("CPTextFielMultine");
+    task.setIdentifier("com.yourcompany.CPTextFielMultine");
+    task.setVersion("1.0");
+    task.setAuthor("Your Company");
+    task.setEmail("feedback @nospam@ yourcompany.com");
+    task.setSummary("CPTextFielMultine");
+    task.setSources(new FileList("**/*.j").exclude(FILE.join("Build", "**")).exclude(FILE.join("Frameworks", "Source", "**")));
+    task.setResources(new FileList("Resources/**"));
+    task.setIndexFilePath("index.html");
+    task.setInfoPlistPath("Info.plist");
+
+    if (configuration === "Debug")
+        task.setCompilerFlags("-DDEBUG -g");
+    else
+        task.setCompilerFlags("-O");
+});
+
+task ("default", [projectName], function()
+{
+    printResults(configuration);
+});
+
+task ("build", ["default"], function()
+{
+    updateApplicationSize();
+});
+
+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", projectName, "index.html")]);
+});
+
+task ("run-release", ["release"], function()
+{
+    OS.system(["open", FILE.join("Build", "Release", projectName, "index.html")]);
+});
+
+task ("deploy", ["release"], function()
+{
+    FILE.mkdirs(FILE.join("Build", "Deployment", projectName));
+    OS.system(["press", "-f", FILE.join("Build", "Release", projectName), FILE.join("Build", "Deployment", projectName)]);
+    printResults("Deployment")
+});
+
+task ("desktop", ["release"], function()
+{
+    FILE.mkdirs(FILE.join("Build", "Desktop", projectName));
+    require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", projectName), FILE.join("Build", "Desktop", projectName, "CPTextFielMultine.app"));
+    printResults("Desktop")
+});
+
+task ("run-desktop", ["desktop"], function()
+{
+    OS.system([FILE.join("Build", "Desktop", projectName, "CPTextFielMultine.app", "Contents", "MacOS", "NativeHost"), "-i"]);
+});
+
+function printResults(configuration)
+{
+    print("----------------------------");
+    print(configuration+" app built at path: "+FILE.join("Build", configuration, projectName));
+    print("----------------------------");
+}
+
+function updateApplicationSize()
+{
+    print("Calculating application file sizes...");
+
+    var contents = FILE.read(FILE.join("Build", ENV["CONFIGURATION"], projectName, "Info.plist"), { charset:"UTF-8" }),
+        format = CFPropertyList.sniffedFormatOfString(contents),
+        plist = CFPropertyList.propertyListFromString(contents),
+        totalBytes = {executable:0, data:0, mhtml:0};
+
+    // Get the size of all framework executables and sprite data
+    var frameworksDir = "Frameworks";
+
+    if (ENV["CONFIGURATION"] === "Debug")
+        frameworksDir = FILE.join(frameworksDir, "Debug");
+
+    var frameworks = FILE.list(frameworksDir);
+
+    frameworks.forEach(function(framework)
+    {
+        if (framework !== "Source")
+            addBundleFileSizes(FILE.join(frameworksDir, framework), totalBytes);
+    });
+
+    // Read in the default theme name, and attempt to get its size
+    var themeName = plist.valueForKey("CPDefaultTheme") || "Aristo2",
+        themePath = nil;
+
+    if (themeName === "Aristo" || themeName === "Aristo2")
+        themePath = FILE.join(frameworksDir, "AppKit", "Resources", themeName + ".blend");
+    else
+        themePath = FILE.join("Frameworks", "Resources", themeName + ".blend");
+
+    if (FILE.isDirectory(themePath))
+        addBundleFileSizes(themePath, totalBytes);
+
+    // Add sizes for the app
+    addBundleFileSizes(FILE.join("Build", ENV["CONFIGURATION"], projectName), totalBytes);
+
+    print("Executables: " + totalBytes.executable + ", sprite data: " + totalBytes.data + ", total: " + (totalBytes.executable + totalBytes.data));
+
+    var dict = new CFMutableDictionary();
+
+    dict.setValueForKey("executable", totalBytes.executable);
+    dict.setValueForKey("data", totalBytes.data);
+    dict.setValueForKey("mhtml", totalBytes.mhtml);
+
+    plist.setValueForKey("CPApplicationSize", dict);
+
+    FILE.write(FILE.join("Build", ENV["CONFIGURATION"], projectName, "Info.plist"), CFPropertyList.stringFromPropertyList(plist, format), { charset:"UTF-8" });
+}
+
+function addBundleFileSizes(bundlePath, totalBytes)
+{
+    var bundleName = FILE.basename(bundlePath),
+        environment = bundleName === "Foundation" ? "Objj" : "Browser",
+        bundlePath = FILE.join(bundlePath, environment + ".environment");
+
+    if (FILE.isDirectory(bundlePath))
+    {
+        var filename = bundleName + ".sj",
+            filePath = new FILE.Path(FILE.join(bundlePath, filename));
+
+        if (filePath.exists())
+            totalBytes.executable += filePath.size();
+
+        filePath = new FILE.Path(FILE.join(bundlePath, "dataURLs.txt"));
+
+        if (filePath.exists())
+            totalBytes.data += filePath.size();
+
+        filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLData.txt"));
+
+        if (filePath.exists())
+            totalBytes.mhtml += filePath.size();
+
+        filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLPaths.txt"));
+
+        if (filePath.exists())
+            totalBytes.mhtml += filePath.size();
+    }
+}
diff --git a/Tests/Manual/CPTextFieldMultiline/Resources/MainMenu.cib b/Tests/Manual/CPTextFieldMultiline/Resources/MainMenu.cib
new file mode 100644
index 000000000..9affdf898
--- /dev/null
+++ b/Tests/Manual/CPTextFieldMultiline/Resources/MainMenu.cib
@@ -0,0 +1,3 @@
+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;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;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;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;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;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;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;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;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;77E;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;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;82E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;201E;D;K;6;CP$UIDd;3;202E;D;K;6;CP$UIDd;3;203E;D;K;6;CP$UIDd;3;204E;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;84E;D;K;6;CP$UIDd;2;86E;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;87E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;3;205E;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;3;206E;E;D;K;10;$classnameS;31;CPCibRuntimeAttributesConnectorK;8;$classesA;S;31;CPCibRuntimeAttributesConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;159E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;159E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;207E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;194E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;194E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;209E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;210E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;188E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;188E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;211E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;212E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;166E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;166E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;213E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;214E;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;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;198E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;158E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;189E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;217E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;193E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;218E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;168E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;219E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;182E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;220E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;174E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;221E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;198E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;152E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;200E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;158E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;223E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;201E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;193E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;223E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;202E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;189E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;223E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;203E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;163E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;223E;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;204E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;168E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;223E;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;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;89E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;91E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;225E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;94E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;226E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;139E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;144E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;228E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;137E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;229E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;138E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;140E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;231E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;232E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;146E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;233E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;143E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;234E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;82E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;235E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;128E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;236E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;129E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;237E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;110E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;238E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;239E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;108E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;240E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;123E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;241E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;104E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;242E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;109E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;243E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;124E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;106E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;245E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;119E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;246E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;116E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;247E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;112E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;248E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;122E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;249E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;90E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;250E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;251E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;252E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;125E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;253E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;132E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;254E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;133E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;255E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;134E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;158E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;198E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;168E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;198E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;163E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;198E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;193E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;198E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;189E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;198E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;182E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;198E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;174E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;198E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;198E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;185E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;198E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;257E;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;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;169E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;204E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;258E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;259E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;260E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;262E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;166E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;203E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;258E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;259E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;260E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;263E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;188E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;202E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;258E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;259E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;260E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;264E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;194E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;201E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;258E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;259E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;260E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;265E;E;D;K;6;$classD;K;6;CP$UIDd;2;76E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;159E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;200E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;258E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;259E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;260E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;266E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;205E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;267E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;268E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;269E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;270E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;87E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;271E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;87E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;270E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;273E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;274E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;275E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;276E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;277E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;278E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;279E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;280E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;281E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;282E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;93E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;271E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;93E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;282E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;283E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;284E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;285E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;286E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;287E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;288E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;289E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;275E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;276E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;277E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;275E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;276E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;277E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;93E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;290E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;100E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;271E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;100E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;290E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;291E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;292E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;100E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;293E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;294E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;103E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;271E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;103E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;294E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;295E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;296E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;297E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;298E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;299E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;300E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;275E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;276E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;277E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;301E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;302E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;303E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;304E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;305E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;306E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;275E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;276E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;277E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;308E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;310E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;114E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;271E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;114E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;310E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;312E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;313E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;314E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;315E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;316E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;317E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;318E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;319E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;320E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;321E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;322E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;323E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;324E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;114E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;325E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;326E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;121E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;271E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;121E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;326E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;327E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;328E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;121E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;329E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;121E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;330E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;121E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;332E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;333E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;121E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;334E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;127E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;271E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;127E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;334E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;335E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;336E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;337E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;127E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;338E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;131E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;271E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;131E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;103E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;338E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;339E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;340E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;324E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;325E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;341E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;321E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;322E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;342E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;313E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;131E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;314E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;343E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;136E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;271E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;136E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;343E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;344E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;345E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;346E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;347E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;348E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;349E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;350E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;351E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;352E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;353E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;142E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;271E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;142E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;353E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;354E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;355E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;356E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;142E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;358E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;275E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;276E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;277E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;359E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;360E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;148E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;271E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;148E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;84E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;6;$classD;K;6;CP$UIDd;2;83E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;360E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;361E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;362E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;148E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;363E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;364E;E;D;K;6;$classD;K;6;CP$UIDd;2;85E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;365E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;148E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;272E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;151E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;366E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;367E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;368E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;369E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;370E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;318E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;270E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;3;154E;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;3;153E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;372E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;372E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;373E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;374E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;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;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;376E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;377E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;384E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;387E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;388E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;389E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;371E;K;12;$atext-colorD;K;6;CP$UIDd;3;391E;K;6;$afontD;K;6;CP$UIDd;3;392E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;393E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;324E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;371E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;275E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;275E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;394E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;395E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;396E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;276E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;275E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;397E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;398E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;399E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;400E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;402E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;377E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;403E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;404E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;405E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;406E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;10;$classnameS;17;CPSecureTextFieldK;8;$classesA;S;17;CPSecureTextFieldS;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;162E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;407E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;408E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;396E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;276E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;275E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;397E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;409E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;275E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;410E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;411E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;389E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;371E;K;12;$atext-colorD;K;6;CP$UIDd;3;412E;K;6;$afontD;K;6;CP$UIDd;3;392E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;413E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;324E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;371E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;275E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;275E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;414E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;377E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;403E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;415E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;416E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;417E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;418E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;419E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;420E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;408E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;396E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;276E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;275E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;397E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;409E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;421E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;416E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;422E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;377E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;403E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;423E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;411E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;389E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;371E;K;12;$atext-colorD;K;6;CP$UIDd;3;424E;K;6;$afontD;K;6;CP$UIDd;3;392E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;425E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;324E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;371E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;275E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;275E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;426E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;427E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;428E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;10;$classnameS;10;CPComboBoxK;8;$classesA;S;10;CPComboBoxS;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;173E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;429E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;430E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;431E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;432E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;276E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;275E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;397E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;K;18;CPComboBoxItemsKeyD;K;6;CP$UIDd;3;433E;K;17;CPComboBoxListKeyD;K;6;CP$UIDd;1;0E;K;21;CPComboBoxDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPComboBoxDataSourceKeyD;K;6;CP$UIDd;1;0E;K;27;CPComboBoxUsesDataSourceKeyD;K;6;CP$UIDd;3;277E;K;22;CPComboBoxCompletesKeyD;K;6;CP$UIDd;3;277E;K;33;CPComboBoxNumberOfVisibleItemsKeyD;K;6;CP$UIDd;3;434E;K;32;CPComboBoxHasVerticalScrollerKeyD;K;6;CP$UIDd;3;275E;K;27;CPComboBoxButtonBorderedKeyD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;435E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;411E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;389E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;371E;K;12;$atext-colorD;K;6;CP$UIDd;3;436E;K;6;$afontD;K;6;CP$UIDd;3;392E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;425E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;324E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;371E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;275E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;275E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;437E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;427E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;438E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;439E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;411E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;389E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;371E;K;12;$atext-colorD;K;6;CP$UIDd;3;440E;K;6;$afontD;K;6;CP$UIDd;3;392E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;413E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;324E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;371E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;275E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;275E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;277E;E;D;K;10;$classnameS;13;CPSearchFieldK;8;$classesA;S;13;CPSearchFieldS;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;178E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;441E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;416E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;442E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;443E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;276E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;275E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;397E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;275E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;K;27;CPSendsWholeSearchStringKeyD;K;6;CP$UIDd;3;277E;K;33;CPSendsSearchStringImmediatelyKeyD;K;6;CP$UIDd;3;275E;K;19;CPMaximumRecentsKeyD;K;6;CP$UIDd;3;444E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;445E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;446E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;447E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;10;$classnameS;12;CPTokenFieldK;8;$classesA;S;12;CPTokenFieldS;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;181E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;448E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;408E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;449E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;450E;K;11;$aalignmentD;K;6;CP$UIDd;3;371E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;371E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;451E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;275E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;397E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;371E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;371E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;409E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;275E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;277E;K;37;CPTokenFieldTokenizingCharacterSetKeyD;K;6;CP$UIDd;1;0E;K;27;CPTokenFieldCompletionDelayD;K;6;CP$UIDd;1;0E;K;25;CPTokenFieldButtonTypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;452E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;411E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;389E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;371E;K;12;$atext-colorD;K;6;CP$UIDd;3;453E;K;6;$afontD;K;6;CP$UIDd;3;392E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;413E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;324E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;371E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;275E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;275E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;277E;E;D;K;10;$classnameS;12;CPDatePickerK;8;$classesA;S;12;CPDatePickerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;184E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;454E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;455E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;456E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;457E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;458E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;460E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;13;CPIntervalKeyD;K;6;CP$UIDd;3;371E;K;19;CPDatePickerModeKeyD;K;6;CP$UIDd;3;371E;K;20;CPDatePickerStyleKeyD;K;6;CP$UIDd;3;371E;K;23;CPDatePickerElementsKeyD;K;6;CP$UIDd;3;461E;K;12;CPMinDateKeyD;K;6;CP$UIDd;3;462E;K;12;CPMaxDateKeyD;K;6;CP$UIDd;3;463E;K;14;CPDateValueKeyD;K;6;CP$UIDd;3;460E;K;13;CPTextFontKeyD;K;6;CP$UIDd;1;0E;K;11;CPLocaleKeyD;K;6;CP$UIDd;1;0E;K;20;CPBackgroundColorKeyD;K;6;CP$UIDd;3;456E;K;20;CPDrawsBackgroundKeyD;K;6;CP$UIDd;3;275E;K;13;CPBorderedKeyD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;464E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;465E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;466E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;467E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;411E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;389E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;371E;K;12;$atext-colorD;K;6;CP$UIDd;3;468E;K;6;$afontD;K;6;CP$UIDd;3;392E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;413E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;324E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;371E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;275E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;275E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;469E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;400E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;371E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;371E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;275E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;470E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;395E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;396E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;371E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;276E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;275E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;397E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;371E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;398E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;275E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;471E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;377E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;472E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;473E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;388E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;389E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;371E;K;12;$atext-colorD;K;6;CP$UIDd;3;474E;K;6;$afontD;K;6;CP$UIDd;3;392E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;475E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;324E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;371E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;275E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;275E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;476E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;377E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;403E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;477E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;395E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;396E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;276E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;275E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;275E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;397E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;409E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;275E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;478E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;400E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;401E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;479E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;405E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;480E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;481E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;388E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;389E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;371E;K;12;$atext-colorD;K;6;CP$UIDd;3;482E;K;6;$afontD;K;6;CP$UIDd;3;392E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;483E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;324E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;371E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;275E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;275E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;154E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;371E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;484E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;377E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;154E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;378E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;379E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;380E;K;11;$aalignmentD;K;6;CP$UIDd;3;381E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;321E;K;6;$afontD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;375E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;375E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;277E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;275E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;403E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;381E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;371E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;277E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;277E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;386E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;321E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;381E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;3;277E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;3;277E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;3;275E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;485E;E;D;K;10;$classnameS;18;CPObjectControllerK;8;$classesA;S;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;199E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;486E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;275E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;3;199E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;486E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;275E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;3;199E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;486E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;275E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;3;199E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;486E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;275E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;277E;E;D;K;6;$classD;K;6;CP$UIDd;3;199E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;486E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;275E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;277E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;152E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;487E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;488E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;487E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;489E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;487E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;490E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;487E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;491E;E;E;S;8;delegateS;6;field1S;6;field2S;6;field3S;6;field5S;6;field6S;6;field7S;9;theWindowS;7;contentS;15;arrangeInFront:S;19;performMiniaturize:S;29;orderFrontStandardAboutPanel:S;13;openDocument:S;13;performClose:S;13;saveDocument:S;15;saveDocumentAs:S;12;newDocument:S;9;showHelp:S;22;revertDocumentToSaved:S;21;clearRecentDocuments:S;10;terminate:S;13;stopSpeaking:S;14;startSpeaking:S;5;copy:S;10;selectAll:S;4;cut:S;14;checkSpelling:S;7;delete:S;6;paste:S;15;showGuessPanel:S;5;undo:S;23;performFindPanelAction:S;29;centerSelectionInVisibleArea:S;5;redo:S;30;toggleContinuousSpellChecking:S;12;performZoom:S;19;toggleToolbarShown:S;31;runToolbarCustomizationPalette:S;22;toggleGrammarChecking:S;24;toggleSmartInsertDelete:S;33;toggleAutomaticQuoteSubstitution:S;29;toggleAutomaticLinkDetection:S;11;actionSent:S;28;value: selection.stringValueS;5;valueS;21;selection.stringValueD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;E;E;S;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;99E;E;E;S;6;WindowS;14;submenuAction:d;7;1048576S;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;E;E;T;S;0;F;S;18;Bring All to FrontS;4;ZoomS;8;MinimizeS;1;mS;14;NewApplicationS;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;95E;E;E;S;20;About NewApplicationS;19;Quit NewApplicationS;1;qS;12;Preferences…S;1;,S;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;101E;E;E;S;19;NewApplication HelpS;1;?S;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;126E;E;E;S;6;DeleteS;10;Select AllS;1;aS;4;UndoS;1;zS;3;CutS;1;xS;5;PasteS;1;vS;4;CopyS;1;cS;4;RedoS;1;Zd;7;1179648S;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;116E;E;E;S;13;Find Previousd;1;3S;1;GS;17;Jump to SelectionS;1;jS;22;Use Selection for Findd;1;7S;1;eS;9;Find Nextd;1;2S;1;gS;5;Find…d;1;1S;1;fS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;125E;E;E;S;27;Check Spelling While TypingS;14;Check SpellingS;1;;S;14;Show Spelling…S;1;:S;27;Check Grammar With SpellingS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;128E;E;E;S;13;Stop SpeakingS;14;Start SpeakingS;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;E;E;S;16;Smart Copy/PasteS;12;Smart QuotesS;11;Smart LinksS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;146E;E;E;S;4;SaveS;1;sS;8;Save As…S;1;SS;5;Open…S;1;oS;3;NewS;1;nS;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;143E;E;E;S;10;Clear MenuS;5;CloseS;1;wS;15;Revert to SavedS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;E;E;S;12;Show ToolbarS;1;td;7;1572864S;18;Customize Toolbar…S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, -73}, {865, 560}}S;21;{{0, 0}, {1440, 877}}d;1;0S;20;{{0, 0}, {865, 560}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;164E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;194E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;E;E;S;6;normalS;6;{1, 1}S;21;{{20, 20}, {268, 17}}S;19;{{0, 0}, {268, 17}}d;2;36S;9;textfieldS;18;controlSizeRegulard;1;4D;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;382E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;492E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;493E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;277E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;277E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;277E;E;S;19;Scrolls, multi lineD;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;494E;E;S;21;{{21, 45}, {268, 49}}S;19;{{0, 0}, {268, 49}}S;16;controlSizeSmallD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;390E;K;4;nameD;K;6;CP$UIDd;3;495E;K;12;defaultValueD;K;6;CP$UIDd;3;496E;K;6;valuesD;K;6;CP$UIDd;3;497E;E;D;K;6;$classD;K;6;CP$UIDd;3;382E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;492E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;498E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;277E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;277E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;277E;E;S;124;Add a new line with alt+enter, if the line is bigger than the width of the field, it should continue, scrolling to the rightS;21;{{16, 99}, {276, 83}}S;19;{{0, 0}, {276, 83}}S;47;bezeled+controlSizeRegular+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;499E;E;S;20;line 1
+line 2
+line 3S;22;{{20, 215}, {268, 83}}S;19;{{0, 0}, {268, 83}}S;5;LabelS;22;{{21, 193}, {268, 17}}S;20;String value bindingS;22;{{20, 320}, {269, 17}}S;19;{{0, 0}, {269, 17}}S;17;Secure text fieldS;22;{{16, 363}, {276, 22}}S;19;{{0, 0}, {276, 22}}S;6;Line 1S;22;{{20, 344}, {268, 14}}S;19;{{0, 0}, {268, 14}}D;K;6;$classD;K;6;CP$UIDd;3;390E;K;4;nameD;K;6;CP$UIDd;3;495E;K;12;defaultValueD;K;6;CP$UIDd;3;496E;K;6;valuesD;K;6;CP$UIDd;3;500E;E;S;40;You should not be able to alt+enter hereS;22;{{21, 396}, {268, 17}}S;22;{{20, 421}, {268, 22}}S;19;{{0, 0}, {268, 22}}S;23;{{298, 320}, {114, 17}}S;19;{{0, 0}, {114, 17}}S;19;Standard text fieldS;23;{{293, 363}, {276, 22}}S;23;{{298, 421}, {268, 22}}S;23;{{298, 396}, {268, 17}}S;23;{{298, 345}, {268, 14}}D;K;6;$classD;K;6;CP$UIDd;3;390E;K;4;nameD;K;6;CP$UIDd;3;495E;K;12;defaultValueD;K;6;CP$UIDd;3;496E;K;6;valuesD;K;6;CP$UIDd;3;501E;E;S;36;You should be able to alt+enter hereS;22;{{572, 320}, {73, 17}}S;18;{{0, 0}, {73, 17}}S;9;Combo boxS;23;{{568, 364}, {276, 26}}S;19;{{0, 0}, {276, 26}}S;8;comboboxS;63;bezeled+button-bordered+controlSizeRegular+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;502E;D;K;6;CP$UIDd;3;503E;D;K;6;CP$UIDd;3;504E;E;E;d;1;5S;23;{{572, 345}, {268, 14}}D;K;6;$classD;K;6;CP$UIDd;3;390E;K;4;nameD;K;6;CP$UIDd;3;495E;K;12;defaultValueD;K;6;CP$UIDd;3;496E;K;6;valuesD;K;6;CP$UIDd;3;505E;E;S;21;{{21, 471}, {73, 17}}S;12;Search fieldS;22;{{21, 496}, {268, 14}}D;K;6;$classD;K;6;CP$UIDd;3;390E;K;4;nameD;K;6;CP$UIDd;3;495E;K;12;defaultValueD;K;6;CP$UIDd;3;496E;K;6;valuesD;K;6;CP$UIDd;3;506E;E;S;22;{{20, 518}, {268, 22}}S;11;searchfieldS;55;bezeled+controlSizeRegular+editable+placeholder+roundedd;3;254S;22;{{296, 471}, {67, 17}}S;18;{{0, 0}, {67, 17}}S;11;Token fieldS;23;{{292, 514}, {276, 22}}S;10;tokenfieldS;35;bezeled+controlSizeRegular+editableD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;23;{{296, 496}, {268, 14}}D;K;6;$classD;K;6;CP$UIDd;3;390E;K;4;nameD;K;6;CP$UIDd;3;495E;K;12;defaultValueD;K;6;CP$UIDd;3;496E;K;6;valuesD;K;6;CP$UIDd;3;507E;E;S;23;{{572, 514}, {267, 29}}S;19;{{0, 0}, {267, 29}}D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;508E;E;S;10;datePickerS;35;bezeled+bordered+controlSizeRegularD;K;10;$classnameS;6;CPDateK;8;$classesA;S;6;CPDateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;459E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;371E;E;d;3;224D;K;6;$classD;K;6;CP$UIDd;3;459E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;509E;E;D;K;6;$classD;K;6;CP$UIDd;3;459E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;510E;E;S;22;{{572, 471}, {71, 17}}S;18;{{0, 0}, {71, 17}}S;11;Date pickerS;23;{{572, 496}, {268, 14}}D;K;6;$classD;K;6;CP$UIDd;3;390E;K;4;nameD;K;6;CP$UIDd;3;495E;K;12;defaultValueD;K;6;CP$UIDd;3;496E;K;6;valuesD;K;6;CP$UIDd;3;511E;E;S;23;{{298, 215}, {268, 83}}S;22;{{294, 99}, {276, 83}}S;22;{{298, 20}, {268, 17}}S;17;Wraps, multi lineS;22;{{299, 45}, {268, 49}}D;K;6;$classD;K;6;CP$UIDd;3;390E;K;4;nameD;K;6;CP$UIDd;3;495E;K;12;defaultValueD;K;6;CP$UIDd;3;496E;K;6;valuesD;K;6;CP$UIDd;3;512E;E;S;109;Can add a new line with alt+enter, if the line is bigger than the screen, it should automatically wrap aroundS;23;{{298, 193}, {268, 17}}S;22;{{572, 99}, {276, 83}}S;23;{{576, 215}, {268, 83}}S;22;{{576, 20}, {269, 17}}S;20;Scrolls, single lineS;22;{{577, 45}, {268, 49}}D;K;6;$classD;K;6;CP$UIDd;3;390E;K;4;nameD;K;6;CP$UIDd;3;495E;K;12;defaultValueD;K;6;CP$UIDd;3;496E;K;6;valuesD;K;6;CP$UIDd;3;513E;E;S;116;Cannot add a new line, if the line is bigger than the width of the field, it should continue, scrolling to the rightS;23;{{576, 193}, {268, 17}}S;13;AppControllerS;19;CPMutableDictionaryS;15;backgroundColorD;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;514E;E;D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;515E;E;D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;516E;E;D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;517E;E;S;29;.Helvetica Neue DeskInterfaced;2;13D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;518E;D;K;6;CP$UIDd;3;518E;D;K;6;CP$UIDd;3;518E;D;K;6;CP$UIDd;3;324E;E;E;S;10;text-colorD;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;519E;E;D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;K;11;placeholderD;K;6;CP$UIDd;3;496E;K;6;normalD;K;6;CP$UIDd;3;520E;E;E;d;2;11D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;324E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;K;11;placeholderD;K;6;CP$UIDd;3;496E;K;6;normalD;K;6;CP$UIDd;3;521E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;K;11;placeholderD;K;6;CP$UIDd;3;496E;K;6;normalD;K;6;CP$UIDd;3;522E;E;E;S;6;Item 1S;6;Item 2S;6;Item 3D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;K;11;placeholderD;K;6;CP$UIDd;3;496E;K;6;normalD;K;6;CP$UIDd;3;523E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;K;11;placeholderD;K;6;CP$UIDd;3;496E;K;6;normalD;K;6;CP$UIDd;3;524E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;K;11;placeholderD;K;6;CP$UIDd;3;496E;K;6;normalD;K;6;CP$UIDd;3;525E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;324E;D;K;6;CP$UIDd;3;324E;E;E;d;15;-62135510400000d;14;64092297600000D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;K;11;placeholderD;K;6;CP$UIDd;3;496E;K;6;normalD;K;6;CP$UIDd;3;526E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;K;11;placeholderD;K;6;CP$UIDd;3;496E;K;6;normalD;K;6;CP$UIDd;3;527E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;261E;K;10;CP.objectsD;K;11;placeholderD;K;6;CP$UIDd;3;496E;K;6;normalD;K;6;CP$UIDd;3;528E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;529E;D;K;6;CP$UIDd;3;529E;D;K;6;CP$UIDd;3;529E;D;K;6;CP$UIDd;3;324E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;529E;D;K;6;CP$UIDd;3;529E;D;K;6;CP$UIDd;3;529E;D;K;6;CP$UIDd;3;324E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;529E;D;K;6;CP$UIDd;3;529E;D;K;6;CP$UIDd;3;529E;D;K;6;CP$UIDd;3;324E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;529E;D;K;6;CP$UIDd;3;529E;D;K;6;CP$UIDd;3;529E;D;K;6;CP$UIDd;3;324E;E;E;f;18;0.6862745098039216D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;371E;D;K;6;CP$UIDd;3;371E;D;K;6;CP$UIDd;3;371E;D;K;6;CP$UIDd;3;324E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;530E;E;D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;531E;E;D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;532E;E;D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;533E;E;D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;534E;E;D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;535E;E;D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;536E;E;D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;537E;E;D;K;6;$classD;K;6;CP$UIDd;3;385E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;538E;E;f;12;0.8509804606D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;324E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;324E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;324E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;324E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;324E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;324E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;324E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;324E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;539E;D;K;6;CP$UIDd;3;324E;E;E;f;12;0.2027027011E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E;
\ No newline at end of file
diff --git a/Tests/Manual/CPTextFieldMultiline/Resources/MainMenu.xib b/Tests/Manual/CPTextFieldMultiline/Resources/MainMenu.xib
new file mode 100644
index 000000000..66031528e
--- /dev/null
+++ b/Tests/Manual/CPTextFieldMultiline/Resources/MainMenu.xib
@@ -0,0 +1,3604 @@
+
+
+	
+		1050
+		14B23
+		6250
+		1343.16
+		755.00
+		
+			com.apple.InterfaceBuilder.CocoaPlugin
+			6250
+		
+		
+			NSComboBox
+			NSComboBoxCell
+			NSCustomObject
+			NSDatePicker
+			NSDatePickerCell
+			NSMenu
+			NSMenuItem
+			NSObjectController
+			NSSearchField
+			NSSearchFieldCell
+			NSSecureTextField
+			NSSecureTextFieldCell
+			NSTextField
+			NSTextFieldCell
+			NSTokenField
+			NSTokenFieldCell
+			NSView
+			NSWindowTemplate
+		
+		
+			com.apple.InterfaceBuilder.CocoaPlugin
+		
+		
+			PluginDependencyRecalculationVersion
+			
+		
+		
+			
+				NSApplication
+			
+			
+				FirstResponder
+			
+			
+				NSApplication
+			
+			
+				AMainMenu
+				
+					
+						
+						NewApplication
+						
+						1048576
+						2147483647
+						
+							NSImage
+							NSMenuCheckmark
+						
+						
+							NSImage
+							NSMenuMixedState
+						
+						submenuAction:
+						
+						
+							NewApplication
+							
+								
+									
+									About NewApplication
+									
+									2147483647
+									
+									
+								
+								
+									
+									YES
+									YES
+									
+									
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Preferences…
+									,
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									YES
+									YES
+									
+									
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Quit NewApplication
+									q
+									1048576
+									2147483647
+									
+									
+								
+							
+							_NSAppleMenu
+						
+					
+					
+						
+						File
+						
+						1048576
+						2147483647
+						
+						
+						submenuAction:
+						
+						
+							File
+							
+								
+									
+									New
+									n
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Open…
+									o
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Open Recent
+									
+									1048576
+									2147483647
+									
+									
+									submenuAction:
+									
+									
+										Open Recent
+										
+											
+												
+												Clear Menu
+												
+												1048576
+												2147483647
+												
+												
+											
+										
+										_NSRecentDocumentsMenu
+									
+								
+								
+									
+									YES
+									YES
+									
+									
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Close
+									w
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Save
+									s
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Save As…
+									S
+									1179648
+									2147483647
+									
+									
+								
+								
+									
+									Revert to Saved
+									
+									2147483647
+									
+									
+								
+							
+						
+					
+					
+						
+						Edit
+						
+						1048576
+						2147483647
+						
+						
+						submenuAction:
+						
+						
+							Edit
+							
+								
+									
+									Undo
+									z
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Redo
+									Z
+									1179648
+									2147483647
+									
+									
+								
+								
+									
+									YES
+									YES
+									
+									
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Cut
+									x
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Copy
+									c
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Paste
+									v
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Delete
+									
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Select All
+									a
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									YES
+									YES
+									
+									
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Find
+									
+									1048576
+									2147483647
+									
+									
+									submenuAction:
+									
+									
+										Find
+										
+											
+												
+												Find…
+												f
+												1048576
+												2147483647
+												
+												
+												1
+											
+											
+												
+												Find Next
+												g
+												1048576
+												2147483647
+												
+												
+												2
+											
+											
+												
+												Find Previous
+												G
+												1179648
+												2147483647
+												
+												
+												3
+											
+											
+												
+												Use Selection for Find
+												e
+												1048576
+												2147483647
+												
+												
+												7
+											
+											
+												
+												Jump to Selection
+												j
+												1048576
+												2147483647
+												
+												
+											
+										
+									
+								
+								
+									
+									Spelling and Grammar
+									
+									1048576
+									2147483647
+									
+									
+									submenuAction:
+									
+									
+										Spelling and Grammar
+										
+											
+												
+												Show Spelling…
+												:
+												1048576
+												2147483647
+												
+												
+											
+											
+												
+												Check Spelling
+												;
+												1048576
+												2147483647
+												
+												
+											
+											
+												
+												Check Spelling While Typing
+												
+												1048576
+												2147483647
+												
+												
+											
+											
+												
+												Check Grammar With Spelling
+												
+												1048576
+												2147483647
+												
+												
+											
+										
+									
+								
+								
+									
+									Substitutions
+									
+									1048576
+									2147483647
+									
+									
+									submenuAction:
+									
+									
+										Substitutions
+										
+											
+												
+												Smart Copy/Paste
+												f
+												1048576
+												2147483647
+												
+												
+												1
+											
+											
+												
+												Smart Quotes
+												g
+												1048576
+												2147483647
+												
+												
+												2
+											
+											
+												
+												Smart Links
+												G
+												1179648
+												2147483647
+												
+												
+												3
+											
+										
+									
+								
+								
+									
+									Speech
+									
+									1048576
+									2147483647
+									
+									
+									submenuAction:
+									
+									
+										Speech
+										
+											
+												
+												Start Speaking
+												
+												1048576
+												2147483647
+												
+												
+											
+											
+												
+												Stop Speaking
+												
+												1048576
+												2147483647
+												
+												
+											
+										
+									
+								
+							
+						
+					
+					
+						
+						View
+						
+						1048576
+						2147483647
+						
+						
+						submenuAction:
+						
+						
+							View
+							
+								
+									
+									Show Toolbar
+									t
+									1572864
+									2147483647
+									
+									
+								
+								
+									
+									Customize Toolbar…
+									
+									1048576
+									2147483647
+									
+									
+								
+							
+						
+					
+					
+						
+						Window
+						
+						1048576
+						2147483647
+						
+						
+						submenuAction:
+						
+						
+							Window
+							
+								
+									
+									Minimize
+									m
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Zoom
+									
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									YES
+									YES
+									
+									
+									1048576
+									2147483647
+									
+									
+								
+								
+									
+									Bring All to Front
+									
+									1048576
+									2147483647
+									
+									
+								
+							
+							_NSWindowsMenu
+						
+					
+					
+						
+						Help
+						
+						1048576
+						2147483647
+						
+						
+						submenuAction:
+						
+						
+							Help
+							
+								
+									
+									NewApplication Help
+									?
+									1048576
+									2147483647
+									
+									
+								
+							
+						
+					
+				
+				_NSMainMenu
+			
+			
+				7
+				2
+				{{335, 390}, {865, 560}}
+				1946157056
+				Window
+				NSWindow
+				
+				
+				
+					
+					256
+					
+						
+							
+							268
+							{{20, 375}, {268, 83}}
+							
+							
+							
+							_NS:9
+							YES
+							
+								-1804599231
+								272630784
+								
+								
+									YES
+									13
+									1044
+								
+								bGluZSAxCmxpbmUgMgpsaW5lIDM
+								_NS:9
+								
+								YES
+								
+									6
+									System
+									textBackgroundColor
+									
+										3
+										MQA
+									
+								
+								
+									6
+									System
+									textColor
+									
+										3
+										MAA
+									
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{18, 262}, {272, 83}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								Label
+								
+								_NS:526
+								
+								
+									6
+									System
+									controlColor
+									
+										3
+										MC42NjY2NjY2NjY3AA
+									
+								
+								
+									6
+									System
+									labelColor
+									
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{296, 262}, {272, 83}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								67108864
+								272629760
+								Label
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							YES
+							1
+						
+						
+							
+							268
+							{{18, 117}, {272, 22}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								Label
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{296, 117}, {272, 22}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								Label
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{18, 523}, {272, 17}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								Scrolls, multi line
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{297, 172}, {268, 22}}
+							
+							
+							
+							_NS:9
+							YES
+							
+								-1804599231
+								272630784
+								
+								
+								Line 1
+								_NS:9
+								
+								YES
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{20, 172}, {268, 22}}
+							
+							
+							
+							_NS:9
+							YES
+							
+								342884416
+								272630848
+								
+								
+								Line 1
+								_NS:9
+								
+								YES
+								
+								
+								
+									NSAllRomanInputSourcesLocaleIdentifier
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{298, 375}, {268, 83}}
+							
+							
+							
+							_NS:9
+							YES
+							
+								-1805647871
+								272629760
+								
+								
+								bGluZSAxCmxpbmUgMgpsaW5lIDM
+								_NS:9
+								
+								YES
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{296, 523}, {272, 17}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								Wraps, multi line
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{18, 223}, {273, 17}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								Secure text field
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{296, 223}, {118, 17}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								Standard text field
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{19, 72}, {77, 17}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								Search field
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							
+								NSStringPboardType
+							
+							{{296, 21}, {268, 22}}
+							
+							
+							
+							_NS:9
+							YES
+							
+								341835776
+								0
+								
+								Line 1
+								_NS:9
+								
+								YES
+								
+								
+									6
+									System
+									controlTextColor
+									
+								
+								
+								0.0
+								0
+							
+							NO
+							1
+							2
+						
+						
+							
+							268
+							{{294, 72}, {71, 17}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								Token field
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{570, 223}, {77, 17}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								Combo box
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{572, 170}, {271, 26}}
+							
+							
+							
+							_NS:9
+							YES
+							
+								342884417
+								272630784
+								
+								
+								_NS:9
+								
+								YES
+								
+								
+								5
+								YES
+								
+									Item 1
+									Item 2
+									Item 3
+								
+								
+								
+									
+									274
+									{13, 63}
+									
+									
+									_NS:29
+									YES
+									NO
+									YES
+									tableViewAction:
+									
+									
+										
+											0
+											10
+											10
+											3.4028234663852886e+38
+											
+												67108928
+												2048
+												
+												
+													YES
+													11
+													3100
+												
+												
+													6
+													System
+													headerColor
+													
+												
+												
+													6
+													System
+													headerTextColor
+													
+												
+											
+											
+												337641536
+												268437504
+												Item 3
+												
+												
+												
+													6
+													System
+													controlBackgroundColor
+													
+												
+												
+											
+											3
+											YES
+											
+										
+									
+									3
+									2
+									
+									
+										6
+										System
+										gridColor
+										
+											3
+											MC41AA
+										
+									
+									19
+									tableViewAction:
+									-765427712
+									
+									
+									
+									1
+									-1
+									0
+									YES
+									0
+									1
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{20, 20}, {268, 22}}
+							
+							
+							
+							YES
+							_NS:9
+							YES
+							
+								342884416
+								268436544
+								
+								
+								_NS:9
+								
+								YES
+								1
+								
+								
+								
+									0
+									0
+									search
+									
+									_searchFieldSearch:
+									
+									138690560
+									0
+									
+									400
+									75
+								
+								
+									0
+									0
+									clear
+									
+										
+											cancel
+											
+										
+									
+									
+									_searchFieldCancel:
+									
+									138690560
+									0
+									
+									400
+									75
+								
+								255
+								BgAAAA
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{572, 21}, {270, 27}}
+							
+							
+							_NS:9
+							YES
+							
+								71303168
+								0
+								
+									-595929600
+									
+										US/Pacific
+										
+											VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAC5AAAABAAAABCepkign7sVkKCGKqChmveQ
+y4kaoNIj9HDSYSYQ1v50INiArZDa/tGg28CQENzes6DdqayQ3r6VoN+JjpDgnneg4WlwkOJ+WaDjSVKQ
+5F47oOUpNJDmR1gg5xJREOgnOiDo8jMQ6gccIOrSFRDr5v4g7LH3EO3G4CDukdkQ76/8oPBxuxDxj96g
+8n/BkPNvwKD0X6OQ9U+ioPY/hZD3L4Sg+CiiEPkPZqD6CIQQ+viDIPvoZhD82GUg/chIEP64RyD/qCoQ
+AJgpIAGIDBACeAsgA3EokARhJ6AFUQqQBkEJoAcw7JAHjUOgCRDOkAmtvyAK8LCQC+CvoAzZzRANwJGg
+DrmvEA+priAQmZEQEYmQIBJ5cxATaXIgFFlVEBVJVCAWOTcQFyk2IBgiU5AZCRggGgI1kBryNKAb4heQ
+HNIWoB3B+ZAesfigH6HbkCB2KyAhgb2QIlYNICNq2hAkNe8gJUq8ECYV0SAnKp4QJ/7toCkKgBAp3s+g
+KupiECu+saAs036QLZ6ToC6zYJAvfnWgMJNCkDFnkiAycySQM0d0IDRTBpA1J1YgNjLokDcHOCA4HAUQ
+OOcaIDn75xA6xvwgO9vJEDywGKA9u6sQPo/6oD+bjRBAb9ygQYSpkEJPvqBDZIuQRC+goEVEbZBF89Mg
+Ry2KEEfTtSBJDWwQSbOXIErtThBLnLOgTNZqkE18laBOtkyQT1x3oFCWLpBRPFmgUnYQkFMcO6BUVfKQ
+VPwdoFY11JBW5TogWB7xEFjFHCBZ/tMQWqT+IFvetRBchOAgXb6XEF5kwiBfnnkQYE3eoGGHlZBiLcCg
+Y2d3kGQNoqBlR1mQZe2EoGcnO5BnzWagaQcdkGmtSKBq5v+Qa5ZlIGzQHBBtdkcgbq/+EG9WKSBwj+AQ
+cTYLIHJvwhBzFe0gdE+kEHT/CaB2OMCQdt7roHgYopB4vs2gefiEkHqer6B72GaQfH6RoH24SJB+XnOg
+f5gqkAABAAECAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA
+AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA
+AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA
+AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA
+										
+									
+									%Y-%m-%d %H:%M:%S %z
+								
+								
+								_NS:9
+								
+								0.0
+								224
+								
+								
+							
+							NO
+						
+						
+							
+							268
+							{{570, 72}, {75, 17}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								Date picker
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{19, 466}, {272, 49}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								67108864
+								272760832
+								Add a new line with alt+enter, if the line is bigger than the width of the field, it should continue, scrolling to the right
+								
+								_NS:526
+								
+								
+								
+									1
+									MC4yMDI3MDI3MDExIDAuMjAyNzAyNzAxMSAwLjIwMjcwMjcwMTEAA
+								
+							
+							NO
+							YES
+							1
+						
+						
+							
+							268
+							{{297, 466}, {272, 49}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								67108864
+								272760832
+								Can add a new line with alt+enter, if the line is bigger than the screen, it should automatically wrap around
+								
+								_NS:526
+								
+								
+								
+									1
+									MC4yMDI3MDI3MDExIDAuMjAyNzAyNzAxMSAwLjIwMjcwMjcwMTEAA
+								
+							
+							NO
+							YES
+							268
+							1
+						
+						
+							
+							268
+							{{19, 350}, {272, 17}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								String value binding
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{296, 350}, {272, 17}}
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								String value binding
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{18, 202}, {272, 14}}
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								67108864
+								272760832
+								You should not be able to alt+enter here
+								
+								_NS:526
+								
+								
+								
+									1
+									MC4yMDI3MDI3MDExIDAuMjAyNzAyNzAxMSAwLjIwMjcwMjcwMTEAA
+								
+							
+							NO
+							YES
+							268
+							1
+						
+						
+							
+							268
+							{{19, 147}, {272, 17}}
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								String value binding
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{296, 147}, {272, 17}}
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								String value binding
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{296, 201}, {272, 14}}
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								67108864
+								272760832
+								You should be able to alt+enter here
+								
+								_NS:526
+								
+								
+								
+									1
+									MC4yMDI3MDI3MDExIDAuMjAyNzAyNzAxMSAwLjIwMjcwMjcwMTEAA
+								
+							
+							NO
+							YES
+							268
+							1
+						
+						
+							
+							268
+							{{570, 201}, {272, 14}}
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								67108864
+								272760832
+								You should be able to alt+enter here
+								
+								_NS:526
+								
+								
+								
+									1
+									MC4yMDI3MDI3MDExIDAuMjAyNzAyNzAxMSAwLjIwMjcwMjcwMTEAA
+								
+							
+							NO
+							YES
+							268
+							1
+						
+						
+							
+							268
+							{{19, 50}, {272, 14}}
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								67108864
+								272760832
+								You should not be able to alt+enter here
+								
+								_NS:526
+								
+								
+								
+									1
+									MC4yMDI3MDI3MDExIDAuMjAyNzAyNzAxMSAwLjIwMjcwMjcwMTEAA
+								
+							
+							NO
+							YES
+							268
+							1
+						
+						
+							
+							268
+							{{294, 50}, {272, 14}}
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								67108864
+								272760832
+								You should not be able to alt+enter here
+								
+								_NS:526
+								
+								
+								
+									1
+									MC4yMDI3MDI3MDExIDAuMjAyNzAyNzAxMSAwLjIwMjcwMjcwMTEAA
+								
+							
+							NO
+							YES
+							268
+							1
+						
+						
+							
+							268
+							{{570, 50}, {272, 14}}
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								67108864
+								272760832
+								You should not be able to alt+enter here
+								
+								_NS:526
+								
+								
+								
+									1
+									MC4yMDI3MDI3MDExIDAuMjAyNzAyNzAxMSAwLjIwMjcwMjcwMTEAA
+								
+							
+							NO
+							YES
+							268
+							1
+						
+						
+							
+							268
+							{{576, 375}, {268, 83}}
+							
+							
+							
+							_NS:9
+							YES
+							
+								-1804599231
+								272630848
+								
+								
+								Line 1
+								_NS:9
+								
+								YES
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{574, 262}, {272, 83}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								Label
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{574, 523}, {273, 17}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								Scrolls, single line
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+						
+							
+							268
+							{{575, 466}, {272, 49}}
+							
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								67108864
+								272760832
+								Cannot add a new line, if the line is bigger than the width of the field, it should continue, scrolling to the right
+								
+								_NS:526
+								
+								
+								
+									1
+									MC4yMDI3MDI3MDExIDAuMjAyNzAyNzAxMSAwLjIwMjcwMjcwMTEAA
+								
+							
+							NO
+							YES
+							268
+							1
+						
+						
+							
+							268
+							{{574, 350}, {272, 17}}
+							
+							
+							_NS:526
+							{251, 750}
+							YES
+							
+								68157504
+								272630784
+								String value binding
+								
+								_NS:526
+								
+								
+								
+							
+							NO
+							1
+						
+					
+					{865, 560}
+					
+					
+				
+				{{0, 0}, {1440, 877}}
+				{10000000000000, 10000000000000}
+				YES
+			
+			
+				AppController
+			
+			
+				YES
+				
+			
+			
+				YES
+				
+			
+			
+				YES
+				
+			
+			
+				YES
+				
+			
+			
+				YES
+				
+			
+		
+		
+			
+				
+					
+						terminate:
+						
+						
+					
+					449
+				
+				
+					
+						orderFrontStandardAboutPanel:
+						
+						
+					
+					142
+				
+				
+					
+						delegate
+						
+						
+					
+					451
+				
+				
+					
+						performMiniaturize:
+						
+						
+					
+					37
+				
+				
+					
+						arrangeInFront:
+						
+						
+					
+					39
+				
+				
+					
+						clearRecentDocuments:
+						
+						
+					
+					127
+				
+				
+					
+						performClose:
+						
+						
+					
+					193
+				
+				
+					
+						toggleContinuousSpellChecking:
+						
+						
+					
+					222
+				
+				
+					
+						undo:
+						
+						
+					
+					223
+				
+				
+					
+						copy:
+						
+						
+					
+					224
+				
+				
+					
+						checkSpelling:
+						
+						
+					
+					225
+				
+				
+					
+						paste:
+						
+						
+					
+					226
+				
+				
+					
+						stopSpeaking:
+						
+						
+					
+					227
+				
+				
+					
+						cut:
+						
+						
+					
+					228
+				
+				
+					
+						showGuessPanel:
+						
+						
+					
+					230
+				
+				
+					
+						redo:
+						
+						
+					
+					231
+				
+				
+					
+						selectAll:
+						
+						
+					
+					232
+				
+				
+					
+						startSpeaking:
+						
+						
+					
+					233
+				
+				
+					
+						delete:
+						
+						
+					
+					235
+				
+				
+					
+						performZoom:
+						
+						
+					
+					240
+				
+				
+					
+						performFindPanelAction:
+						
+						
+					
+					241
+				
+				
+					
+						centerSelectionInVisibleArea:
+						
+						
+					
+					245
+				
+				
+					
+						toggleGrammarChecking:
+						
+						
+					
+					347
+				
+				
+					
+						toggleSmartInsertDelete:
+						
+						
+					
+					355
+				
+				
+					
+						toggleAutomaticQuoteSubstitution:
+						
+						
+					
+					356
+				
+				
+					
+						toggleAutomaticLinkDetection:
+						
+						
+					
+					357
+				
+				
+					
+						showHelp:
+						
+						
+					
+					360
+				
+				
+					
+						saveDocument:
+						
+						
+					
+					362
+				
+				
+					
+						saveDocumentAs:
+						
+						
+					
+					363
+				
+				
+					
+						revertDocumentToSaved:
+						
+						
+					
+					364
+				
+				
+					
+						runToolbarCustomizationPalette:
+						
+						
+					
+					365
+				
+				
+					
+						toggleToolbarShown:
+						
+						
+					
+					366
+				
+				
+					
+						newDocument:
+						
+						
+					
+					373
+				
+				
+					
+						openDocument:
+						
+						
+					
+					374
+				
+				
+					
+						theWindow
+						
+						
+					
+					459
+				
+				
+					
+						actionSent:
+						
+						
+					
+					598
+				
+				
+					
+						actionSent:
+						
+						
+					
+					599
+				
+				
+					
+						field5
+						
+						
+					
+					584
+				
+				
+					
+						actionSent:
+						
+						
+					
+					602
+				
+				
+					
+						actionSent:
+						
+						
+					
+					601
+				
+				
+					
+						actionSent:
+						
+						
+					
+					600
+				
+				
+					
+						actionSent:
+						
+						
+					
+					603
+				
+				
+					
+						field6
+						
+						
+					
+					585
+				
+				
+					
+						field7
+						
+						
+					
+					586
+				
+				
+					
+						actionSent:
+						
+						
+					
+					604
+				
+				
+					
+						actionSent:
+						
+						
+					
+					605
+				
+				
+					
+						actionSent:
+						
+						
+					
+					606
+				
+				
+					
+						field1
+						
+						
+					
+					643
+				
+				
+					
+						field2
+						
+						
+					
+					644
+				
+				
+					
+						field3
+						
+						
+					
+					645
+				
+				
+					
+						value: selection.stringValue
+						
+						
+						
+							
+							
+							value: selection.stringValue
+							value
+							selection.stringValue
+							2
+						
+					
+					488
+				
+				
+					
+						content
+						
+						
+					
+					483
+				
+				
+					
+						value: selection.stringValue
+						
+						
+						
+							
+							
+							value: selection.stringValue
+							value
+							selection.stringValue
+							2
+						
+					
+					542
+				
+				
+					
+						value: selection.stringValue
+						
+						
+						
+							
+							
+							value: selection.stringValue
+							value
+							selection.stringValue
+							2
+						
+					
+					545
+				
+				
+					
+						content
+						
+						
+					
+					538
+				
+				
+					
+						content
+						
+						
+					
+					539
+				
+				
+					
+						value: selection.stringValue
+						
+						
+						
+							
+							
+							value: selection.stringValue
+							value
+							selection.stringValue
+							2
+						
+					
+					556
+				
+				
+					
+						content
+						
+						
+					
+					553
+				
+				
+					
+						value: selection.stringValue
+						
+						
+						
+							
+							
+							value: selection.stringValue
+							value
+							selection.stringValue
+							2
+						
+					
+					569
+				
+				
+					
+						content
+						
+						
+					
+					564
+				
+			
+			
+				
+					
+						0
+						
+						
+						
+					
+					
+						-2
+						
+						
+						File's Owner
+					
+					
+						-1
+						
+						
+						First Responder
+					
+					
+						-3
+						
+						
+						Application
+					
+					
+						29
+						
+						
+							
+							
+							
+							
+							
+							
+						
+						
+						MainMenu
+					
+					
+						19
+						
+						
+							
+						
+						
+					
+					
+						56
+						
+						
+							
+						
+						
+					
+					
+						103
+						
+						
+							
+						
+						
+					
+					
+						217
+						
+						
+							
+						
+						
+					
+					
+						83
+						
+						
+							
+						
+						
+					
+					
+						81
+						
+						
+							
+							
+							
+							
+							
+							
+							
+							
+						
+						
+					
+					
+						75
+						
+						
+					
+					
+						80
+						
+						
+					
+					
+						72
+						
+						
+					
+					
+						82
+						
+						
+					
+					
+						124
+						
+						
+							
+						
+						
+					
+					
+						73
+						
+						
+					
+					
+						79
+						
+						
+					
+					
+						112
+						
+						
+					
+					
+						125
+						
+						
+							
+						
+						
+					
+					
+						126
+						
+						
+					
+					
+						205
+						
+						
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+						
+						
+					
+					
+						202
+						
+						
+					
+					
+						198
+						
+						
+					
+					
+						207
+						
+						
+					
+					
+						214
+						
+						
+					
+					
+						199
+						
+						
+					
+					
+						203
+						
+						
+					
+					
+						197
+						
+						
+					
+					
+						206
+						
+						
+					
+					
+						215
+						
+						
+					
+					
+						218
+						
+						
+							
+						
+						
+					
+					
+						216
+						
+						
+							
+						
+						
+					
+					
+						200
+						
+						
+							
+							
+							
+							
+						
+						
+					
+					
+						219
+						
+						
+					
+					
+						201
+						
+						
+					
+					
+						204
+						
+						
+					
+					
+						220
+						
+						
+							
+							
+							
+							
+							
+						
+						
+					
+					
+						213
+						
+						
+					
+					
+						210
+						
+						
+					
+					
+						221
+						
+						
+					
+					
+						208
+						
+						
+					
+					
+						209
+						
+						
+					
+					
+						106
+						
+						
+							
+						
+						
+					
+					
+						111
+						
+						
+					
+					
+						57
+						
+						
+							
+							
+							
+							
+							
+						
+						
+					
+					
+						58
+						
+						
+					
+					
+						136
+						
+						
+					
+					
+						129
+						
+						
+					
+					
+						143
+						
+						
+					
+					
+						236
+						
+						
+					
+					
+						24
+						
+						
+							
+							
+							
+							
+						
+						
+					
+					
+						92
+						
+						
+					
+					
+						5
+						
+						
+					
+					
+						239
+						
+						
+					
+					
+						23
+						
+						
+					
+					
+						295
+						
+						
+							
+						
+						
+					
+					
+						296
+						
+						
+							
+							
+						
+						
+					
+					
+						297
+						
+						
+					
+					
+						298
+						
+						
+					
+					
+						211
+						
+						
+							
+						
+						
+					
+					
+						212
+						
+						
+							
+							
+						
+						
+					
+					
+						195
+						
+						
+					
+					
+						196
+						
+						
+					
+					
+						346
+						
+						
+					
+					
+						348
+						
+						
+							
+						
+						
+					
+					
+						349
+						
+						
+							
+							
+							
+						
+						
+					
+					
+						350
+						
+						
+					
+					
+						351
+						
+						
+					
+					
+						354
+						
+						
+					
+					
+						371
+						
+						
+							
+						
+						
+					
+					
+						372
+						
+						
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+							
+						
+						
+					
+					
+						450
+						
+						
+					
+					
+						480
+						
+						
+						1
+					
+					
+						533
+						
+						
+						2
+					
+					
+						535
+						
+						
+						3
+					
+					
+						551
+						
+						
+						4
+					
+					
+						562
+						
+						
+						5
+					
+					
+						460
+						
+						
+							
+						
+						
+					
+					
+						461
+						
+						
+					
+					
+						517
+						
+						
+							
+						
+						
+					
+					
+						518
+						
+						
+					
+					
+						474
+						
+						
+							
+						
+						
+					
+					
+						475
+						
+						
+					
+					
+						527
+						
+						
+							
+						
+						
+					
+					
+						528
+						
+						
+					
+					
+						530
+						
+						
+							
+						
+						
+					
+					
+						531
+						
+						
+					
+					
+						548
+						
+						
+							
+						
+						
+					
+					
+						549
+						
+						
+					
+					
+						559
+						
+						
+							
+						
+						
+					
+					
+						560
+						
+						
+					
+					
+						519
+						
+						
+							
+						
+						
+					
+					
+						520
+						
+						
+					
+					
+						521
+						
+						
+							
+						
+						
+					
+					
+						522
+						
+						
+					
+					
+						462
+						
+						
+							
+						
+						
+					
+					
+						463
+						
+						
+					
+					
+						472
+						
+						
+							
+						
+						
+					
+					
+						473
+						
+						
+					
+					
+						523
+						
+						
+							
+						
+						
+					
+					
+						526
+						
+						
+					
+					
+						524
+						
+						
+							
+						
+						
+					
+					
+						525
+						
+						
+					
+					
+						546
+						
+						
+							
+						
+						
+					
+					
+						547
+						
+						
+					
+					
+						557
+						
+						
+							
+						
+						
+					
+					
+						558
+						
+						
+					
+					
+						589
+						
+						
+							
+						
+						
+					
+					
+						590
+						
+						
+					
+					
+						570
+						
+						
+							
+						
+						
+					
+					
+						571
+						
+						
+					
+					
+						572
+						
+						
+							
+						
+						
+					
+					
+						573
+						
+						
+					
+					
+						575
+						
+						
+							
+						
+						
+					
+					
+						576
+						
+						
+					
+					
+						578
+						
+						
+							
+						
+						
+					
+					
+						579
+						
+						
+					
+					
+						587
+						
+						
+							
+						
+						
+					
+					
+						588
+						
+						
+					
+					
+						591
+						
+						
+							
+						
+						
+					
+					
+						592
+						
+						
+					
+					
+						593
+						
+						
+							
+						
+						
+					
+					
+						594
+						
+						
+					
+					
+						615
+						
+						
+							
+						
+						
+					
+					
+						616
+						
+						
+					
+					
+						617
+						
+						
+							
+						
+						
+					
+					
+						618
+						
+						
+					
+					
+						619
+						
+						
+							
+						
+						
+					
+					
+						620
+						
+						
+					
+					
+						621
+						
+						
+							
+						
+						
+					
+					
+						622
+						
+						
+					
+					
+						623
+						
+						
+							
+						
+						
+					
+					
+						624
+						
+						
+					
+					
+						625
+						
+						
+							
+						
+						
+					
+					
+						626
+						
+						
+					
+					
+						627
+						
+						
+							
+						
+						
+					
+					
+						628
+						
+						
+					
+					
+						629
+						
+						
+							
+						
+						
+					
+					
+						630
+						
+						
+					
+					
+						631
+						
+						
+							
+						
+						
+					
+					
+						632
+						
+						
+					
+					
+						633
+						
+						
+							
+						
+						
+					
+					
+						634
+						
+						
+					
+					
+						635
+						
+						
+							
+						
+						
+					
+					
+						636
+						
+						
+					
+					
+						637
+						
+						
+							
+						
+						
+					
+					
+						638
+						
+						
+					
+					
+						639
+						
+						
+							
+						
+						
+					
+					
+						640
+						
+						
+					
+					
+						641
+						
+						
+							
+						
+						
+					
+					
+						642
+						
+						
+					
+				
+			
+			
+				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
+				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
+				{357.5, 439}
+				com.apple.InterfaceBuilder.CocoaPlugin
+				{{303, 221}, {480, 360}}
+				
+				
+				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
+				
+					IBUserDefinedRuntimeAttributesPlaceholderName
+					
+						IBUserDefinedRuntimeAttributesPlaceholderName
+						
+						
+							
+								com.apple.InterfaceBuilder.userDefinedRuntimeAttributeType.color
+								backgroundColor
+								
+									2
+									MC44NTA5ODA0NjA2IDAuODUwOTgwNDYwNiAwLjg1MDk4MDQ2MDYAA
+								
+							
+						
+					
+				
+				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
+				
+					IBUserDefinedRuntimeAttributesPlaceholderName
+					
+						IBUserDefinedRuntimeAttributesPlaceholderName
+						
+						
+							
+								com.apple.InterfaceBuilder.userDefinedRuntimeAttributeType.color
+								backgroundColor
+								
+									2
+									MC44NTA5ODA0NjA2IDAuODUwOTgwNDYwNiAwLjg1MDk4MDQ2MDYAA
+								
+							
+						
+					
+				
+				com.apple.InterfaceBuilder.CocoaPlugin
+				com.apple.InterfaceBuilder.CocoaPlugin
+				
+					IBUserDefinedRuntimeAttributesPlaceholderName
+					
+						IBUserDefinedRuntimeAttributesPlaceholderName
+						
+						
+							
+								com.apple.InterfaceBuilder.userDefinedRuntimeAttributeType.color
+								backgroundColor
+								
+									2
+									MC44NTA5ODA0NjA2IDAuODUwOTgwNDYwNiAwLjg1MDk4MDQ2MDYAA
+								
+							
+						
+					
+				
+				
+				com.apple.InterfaceBuilder.CocoaPlugin
+				com.apple.InterfaceBuilder.CocoaPlugin
+				com.apple.InterfaceBuilder.CocoaPlugin
+				com.apple.InterfaceBuilder.CocoaPlugin
+				com.apple.InterfaceBuilder.CocoaPlugin
+				com.apple.InterfaceBuilder.CocoaPlugin
+				
+					IBUserDefinedRuntimeAttributesPlaceholderName
+					
+						IBUserDefinedRuntimeAttributesPlaceholderName
+						
+						
+							
+								com.apple.InterfaceBuilder.userDefinedRuntimeAttributeType.color
+								backgroundColor
+								
+									2
+									MC44NTA5ODA0NjA2IDAuODUwOTgwNDYwNiAwLjg1MDk4MDQ2MDYAA
+								
+							
+						
+					
+				
+				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
+				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
+			
+			
+			
+			
+			
+			645
+		
+		
+		0
+		IBCocoaFramework
+		NO
+		
+			com.apple.InterfaceBuilder.CocoaPlugin.macosx
+			
+		
+		
+			com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3
+			
+		
+		YES
+		3
+		
+			{12, 12}
+			{10, 2}
+		
+	
+
diff --git a/Tests/Manual/CPTextFieldMultiline/index-debug.html b/Tests/Manual/CPTextFieldMultiline/index-debug.html
new file mode 100644
index 000000000..7a4693877
--- /dev/null
+++ b/Tests/Manual/CPTextFieldMultiline/index-debug.html
@@ -0,0 +1,191 @@
+
+
+
+    
+        
+
+        
+        
+
+        
+
+        
+        
+
+        
+        
+
+        CPTextFielMultine
+
+        
+        
+
+        
+
+        
+
+        
+
+        
+    
+
+    
+        
+
+
+ +
+
+ +
+ + diff --git a/Tests/Manual/CPTextFieldMultiline/index.html b/Tests/Manual/CPTextFieldMultiline/index.html new file mode 100644 index 000000000..cb15b05a5 --- /dev/null +++ b/Tests/Manual/CPTextFieldMultiline/index.html @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + CPTextFielMultine + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + diff --git a/Tests/Manual/CPTextFieldMultiline/main.j b/Tests/Manual/CPTextFieldMultiline/main.j new file mode 100644 index 000000000..48db81b12 --- /dev/null +++ b/Tests/Manual/CPTextFieldMultiline/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * CPTextFielMultine + * + * Created by You on November 12, 2014. + * Copyright 2014, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} diff --git a/Tests/Manual/CompilationTests/README.md b/Tests/Manual/CompilationTests/README.md new file mode 100644 index 000000000..c852088b8 --- /dev/null +++ b/Tests/Manual/CompilationTests/README.md @@ -0,0 +1,46 @@ +## Run tests + +./run.py + + +## Create a test case + +create a `.j` file in `TestCases` folder: + +-First line MUST be: + + // Expected output: [OBJJ_STATUS_CODE] + + +Then after that add a block comment that contains: + + /* + START_EXPECTED + [CONSOLE_OUTPUT_OF_OBJJ] + END_EXPECTED + */ + + +Be sure to replace the file path by the token `[__PATH__]` After that, add the code you want to test. + +If your test doesn't expect any output, don't put any `START_EXPECTED` and `END_EXPECTED` + + +For instance: + + /* + START_EXPECTED + Error on line 10771 of file [unknown] + SyntaxError: + @typedef MyType + ^ + ERROR line 2 in file:[__PATH__]: Duplicate type definition MyType + END_EXPECTED + */ + @import + + @implementation MyCall : CPObject + { + CPString property1; + } + @end diff --git a/Tests/Manual/CompilationTests/TestCases/1.j b/Tests/Manual/CompilationTests/TestCases/1.j new file mode 100644 index 000000000..b2585522e --- /dev/null +++ b/Tests/Manual/CompilationTests/TestCases/1.j @@ -0,0 +1,13 @@ +// Expected output: 0 + +/* +*/ + + +@import + +@implementation MyCall : CPObject +{ + CPString property1; +} +@end diff --git a/Tests/Manual/CompilationTests/TestCases/10.j b/Tests/Manual/CompilationTests/TestCases/10.j new file mode 100644 index 000000000..c614eeb4d --- /dev/null +++ b/Tests/Manual/CompilationTests/TestCases/10.j @@ -0,0 +1,18 @@ +// Expected output: 256 + +/* + +START_EXPECTED +Error on line 10778 of file [unknown] +SyntaxError: +@typedef mytype + ^ +ERROR line 4 in file:[__PATH__]: mytype is already declared as class +END_EXPECTED +*/ + +@import + +@class mytype +@typedef mytype + diff --git a/Tests/Manual/CompilationTests/TestCases/2.j b/Tests/Manual/CompilationTests/TestCases/2.j new file mode 100644 index 000000000..af2c92cf1 --- /dev/null +++ b/Tests/Manual/CompilationTests/TestCases/2.j @@ -0,0 +1,20 @@ +// Expected output: 0 + +/* + +START_EXPECTED + MyType property1; + ^ +WARNING line 5 in file:[__PATH__]: Unknown type 'MyType' for ivar 'property1' +END_EXPECTED +*/ + + +@import + +@implementation MyCall : CPObject +{ + MyType property1; +} + +@end diff --git a/Tests/Manual/CompilationTests/TestCases/3.j b/Tests/Manual/CompilationTests/TestCases/3.j new file mode 100644 index 000000000..e00d77593 --- /dev/null +++ b/Tests/Manual/CompilationTests/TestCases/3.j @@ -0,0 +1,15 @@ +// Expected output: 0 + +/* +*/ + +@import + +@typedef MyType + +@implementation MyCall : CPObject +{ + MyType property1; +} + +@end diff --git a/Tests/Manual/CompilationTests/TestCases/4.j b/Tests/Manual/CompilationTests/TestCases/4.j new file mode 100644 index 000000000..889ab3036 --- /dev/null +++ b/Tests/Manual/CompilationTests/TestCases/4.j @@ -0,0 +1,15 @@ +// Expected output: 0 + +/* +*/ + +@import + +@class MyType + +@implementation MyCall : CPObject +{ + MyType property1; +} + +@end diff --git a/Tests/Manual/CompilationTests/TestCases/5.j b/Tests/Manual/CompilationTests/TestCases/5.j new file mode 100644 index 000000000..bcbf216ab --- /dev/null +++ b/Tests/Manual/CompilationTests/TestCases/5.j @@ -0,0 +1,22 @@ +// Expected output: 0 + +/* + +START_EXPECTED + MyType property1; + ^ +WARNING line 7 in file:[__PATH__]: Unknown type 'MyType' for ivar 'property1' +END_EXPECTED + +*/ + +@import + +@global MyType + +@implementation MyCall : CPObject +{ + MyType property1; +} + +@end diff --git a/Tests/Manual/CompilationTests/TestCases/6.j b/Tests/Manual/CompilationTests/TestCases/6.j new file mode 100644 index 000000000..37a7f86bf --- /dev/null +++ b/Tests/Manual/CompilationTests/TestCases/6.j @@ -0,0 +1,16 @@ +// Expected output: 256 + +/* + +START_EXPECTED +Error on line 10775 of file [unknown] +SyntaxError: +@typedef MyType + ^ +ERROR line 2 in file:[__PATH__]: Duplicate type definition MyType +END_EXPECTED + +*/ + +@typedef MyType +@typedef MyType diff --git a/Tests/Manual/CompilationTests/TestCases/7.j b/Tests/Manual/CompilationTests/TestCases/7.j new file mode 100644 index 000000000..cdff5aeda --- /dev/null +++ b/Tests/Manual/CompilationTests/TestCases/7.j @@ -0,0 +1,20 @@ +// Expected output: 256 + +/* + +START_EXPECTED +Error on line 10001 of file [unknown] +SyntaxError: +@implementation MyType : CPObject + ^ +ERROR line 5 in file:[__PATH__]: MyType is already declared as type +END_EXPECTED + +*/ + +@import + +@typedef MyType + +@implementation MyType : CPObject +@end diff --git a/Tests/Manual/CompilationTests/TestCases/8.j b/Tests/Manual/CompilationTests/TestCases/8.j new file mode 100644 index 000000000..393371331 --- /dev/null +++ b/Tests/Manual/CompilationTests/TestCases/8.j @@ -0,0 +1,20 @@ +// Expected output: 256 + +/* + +START_EXPECTED +Error on line 10778 of file [unknown] +SyntaxError: +@typedef MyType + ^ +ERROR line 6 in file:[__PATH__]: MyType is already declared as class +END_EXPECTED + +*/ + +@import + +@implementation MyType : CPObject +@end + +@typedef MyType diff --git a/Tests/Manual/CompilationTests/TestCases/9.j b/Tests/Manual/CompilationTests/TestCases/9.j new file mode 100644 index 000000000..0fd6c0678 --- /dev/null +++ b/Tests/Manual/CompilationTests/TestCases/9.j @@ -0,0 +1,22 @@ +// Expected output: 256 + +/* + +START_EXPECTED +Error on line 10014 of file [unknown] +SyntaxError: +@implementation MyType : CPObject + ^ +ERROR line 6 in file:[__PATH__]: Duplicate class MyType +END_EXPECTED + +*/ + +@import + +@implementation MyType : CPObject +@end + +@implementation MyType : CPObject +@end + diff --git a/Tests/Manual/CompilationTests/run.py b/Tests/Manual/CompilationTests/run.py new file mode 100755 index 000000000..e21eebaa3 --- /dev/null +++ b/Tests/Manual/CompilationTests/run.py @@ -0,0 +1,82 @@ +#!/usr/bin/env python + +import os +import commands +import re + +PATH = os.path.abspath(os.path.join(os.path.dirname(__file__))) + + +def get_tests_cases(): + ret = [] + for filename in os.listdir("TestCases"): + ret.append("TestCases/%s" % filename) + return ret + # return ["TestCases/2.j"] + +def get_expected_output(test_case): + f = open(test_case) + content = f.readlines(); + f.close() + + status = int(content[0].replace("// Expected output: ", "")) + + recording = False + output = [] + + for line in content: + if "END_EXPECTED" in line: + recording = False + break; + + if "START_EXPECTED" in line: + recording = True + continue + + if recording: + output.append(line) + + output = "".join(output); + output = output.replace("[__PATH__]", "%s/%s" % (PATH, test_case)) + output = cleanup_output(output) + + return (status, output) + + +def get_actual_output(test_case): + status, output = commands.getstatusoutput("objj %s" % test_case) + output = cleanup_output(output) + return (status, output) + + +def cleanup_output(output): + if not output: + return "" + output = output.replace(" ", "") + output = output.replace("\n", "") + output = output.replace("[0m", "") + return re.sub('[^\s!-~]', '', output) + + +if __name__ == "__main__": + + for test in get_tests_cases(): + + expected_status, expected_output = get_expected_output(test) + actual_status, actual_output = get_actual_output(test) + + print "########################################" + print "Testing %s" % test + errored = False + if expected_status != actual_status: + errored = True + print " Error in %s: Status code is different: expected %d, actual %d" % (test, expected_status, actual_status) + + if expected_output != actual_output: + errored = True + print " Error in %s. Outputs are different" % test + print " EXPECTED: %s" % expected_output + print " ACTUAL: %s" % actual_output + + if not errored: + print " OK" diff --git a/Tests/Manual/CrossOriginTest/AppController.j b/Tests/Manual/CrossOriginTest/AppController.j new file mode 100644 index 000000000..2d3781175 --- /dev/null +++ b/Tests/Manual/CrossOriginTest/AppController.j @@ -0,0 +1,78 @@ +/* + * AppController.j + * CrossOriginTest + * + * Created by You on December 5, 2014. + * Copyright 2014, Your Company All rights reserved. + */ + +@import +@import + +var corsServer = "http://localhost:8001"; + +@implementation AppController : CPObject +{ + @outlet CPWindow theWindow; + @outlet CPButton theButton; + @outlet CPButton setsWithCredentials; +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ +} + +- (void)awakeFromCib +{ + // This is called when the cib is done loading. + // You can implement this method on any object instantiated from a Cib. + // It's a useful hook for setting up current UI values, and other things. + + // In this case, we want the window from Cib to become our full browser window + [theWindow setFullPlatformWindow:YES]; +} + +-(void)connection:(CPURLConnection)connection didReceiveResponse:(CPHTTPURLResponse)response +{ + console.log("Response received"); +} + +-(void)connection:(CPURLConnection)connection didReceiveData:(CPString)data +{ + var wc = ([[connection originalRequest] withCredentials]) ? "YES" : "NO" + console.log("CPURLConnection was sent with credentials? " + wc + " Response: " + data); +} + +- (@action)stateOfWithCredentials:(id)aSender +{ + console.log([setsWithCredentials state]); +} + +- (@action)testCappuccinoRequest:(id)aSender +{ + var req = [CPURLRequest requestWithURL:[CPURL URLWithString:corsServer + @"/resp.json"]]; + [req setValue:@"no-cache" forHTTPHeaderField:@"Pragma"]; + [req setValue:@"no-store, no-cache, must-revalidate, post-check=0, pre-check=0" forHTTPHeaderField:@"Cache-Control"]; + [req setWithCredentials:[setsWithCredentials state]]; + [[CPURLConnection alloc] initWithRequest:req delegate:self startImmediately:YES]; +} + +- (@action)testNativeRequest:(id)aSender +{ + var wc = ([setsWithCredentials state]) ? true : false; + var req = new XMLHttpRequest(); + function reqListener () + { + console.log("Native XHR was sent with credentials? " + wc + " Response: " + this.responseText); + } + + req.onload = reqListener; + req.withCredentials = wc; + req.open("GET", corsServer + "/resp.json", true); + req.setRequestHeader("Pragma", "no-cache"); + req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); + + req.send(); +} + +@end diff --git a/Tests/Manual/CrossOriginTest/Info.plist b/Tests/Manual/CrossOriginTest/Info.plist new file mode 100644 index 000000000..2074fa146 --- /dev/null +++ b/Tests/Manual/CrossOriginTest/Info.plist @@ -0,0 +1,14 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + CrossOriginTest + CPBundleVersion + 1.0 + CPHumanReadableCopyright + Copyright © 2014, Your Company All rights reserved. + + diff --git a/Tests/Manual/CrossOriginTest/Jakefile b/Tests/Manual/CrossOriginTest/Jakefile new file mode 100644 index 000000000..6a448e9b0 --- /dev/null +++ b/Tests/Manual/CrossOriginTest/Jakefile @@ -0,0 +1,184 @@ +/* + * Jakefile + * CrossOriginTest + * + * Created by You on December 9, 2014. + * Copyright 2014, 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"), + projectName = "CrossOriginTest"; + +app (projectName, function(task) +{ + ENV["OBJJ_INCLUDE_PATHS"] = "Frameworks"; + + if (configuration === "Debug") + ENV["OBJJ_INCLUDE_PATHS"] = FILE.join(ENV["OBJJ_INCLUDE_PATHS"], configuration); + + task.setBuildIntermediatesPath(FILE.join("Build", "CrossOriginTest.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("CrossOriginTest"); + task.setIdentifier("com.yourcompany.CrossOriginTest"); + task.setVersion("1.0"); + task.setAuthor("Your Company"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("CrossOriginTest"); + task.setSources(new FileList("**/*.j").exclude(FILE.join("Build", "**")).exclude(FILE.join("Frameworks", "Source", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O"); +}); + +task ("default", [projectName], function() +{ + printResults(configuration); +}); + +task ("build", ["default"], function() +{ + updateApplicationSize(); +}); + +task ("debug", function() +{ + configuration = ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + configuration = ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", projectName, "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", projectName, "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", projectName)); + OS.system(["press", "-f", FILE.join("Build", "Release", projectName), FILE.join("Build", "Deployment", projectName)]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", projectName)); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", projectName), FILE.join("Build", "Desktop", projectName, "CrossOriginTest.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", projectName, "CrossOriginTest.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, projectName)); + print("----------------------------"); +} + +function updateApplicationSize() +{ + print("Calculating application file sizes..."); + + var contents = FILE.read(FILE.join("Build", configuration, projectName, "Info.plist"), { charset:"UTF-8" }), + format = CFPropertyList.sniffedFormatOfString(contents), + plist = CFPropertyList.propertyListFromString(contents), + totalBytes = {executable:0, data:0, mhtml:0}; + + // Get the size of all framework executables and sprite data + var frameworksDir = "Frameworks"; + + if (configuration === "Debug") + frameworksDir = FILE.join(frameworksDir, "Debug"); + + var frameworks = FILE.list(frameworksDir); + + frameworks.forEach(function(framework) + { + if (framework !== "Source") + addBundleFileSizes(FILE.join(frameworksDir, framework), totalBytes); + }); + + // Read in the default theme name, and attempt to get its size + var themeName = plist.valueForKey("CPDefaultTheme") || "Aristo2", + themePath = nil; + + if (themeName === "Aristo" || themeName === "Aristo2") + themePath = FILE.join(frameworksDir, "AppKit", "Resources", themeName + ".blend"); + else + themePath = FILE.join("Frameworks", "Resources", themeName + ".blend"); + + if (FILE.isDirectory(themePath)) + addBundleFileSizes(themePath, totalBytes); + + // Add sizes for the app + addBundleFileSizes(FILE.join("Build", configuration, projectName), totalBytes); + + print("Executables: " + totalBytes.executable + ", sprite data: " + totalBytes.data + ", total: " + (totalBytes.executable + totalBytes.data)); + + var dict = new CFMutableDictionary(); + + dict.setValueForKey("executable", totalBytes.executable); + dict.setValueForKey("data", totalBytes.data); + dict.setValueForKey("mhtml", totalBytes.mhtml); + + plist.setValueForKey("CPApplicationSize", dict); + + FILE.write(FILE.join("Build", configuration, projectName, "Info.plist"), CFPropertyList.stringFromPropertyList(plist, format), { charset:"UTF-8" }); +} + +function addBundleFileSizes(bundlePath, totalBytes) +{ + var bundleName = FILE.basename(bundlePath), + environment = bundleName === "Foundation" ? "Objj" : "Browser", + bundlePath = FILE.join(bundlePath, environment + ".environment"); + + if (FILE.isDirectory(bundlePath)) + { + var filename = bundleName + ".sj", + filePath = new FILE.Path(FILE.join(bundlePath, filename)); + + if (filePath.exists()) + totalBytes.executable += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "dataURLs.txt")); + + if (filePath.exists()) + totalBytes.data += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLData.txt")); + + if (filePath.exists()) + totalBytes.mhtml += filePath.size(); + + filePath = new FILE.Path(FILE.join(bundlePath, "MHTMLPaths.txt")); + + if (filePath.exists()) + totalBytes.mhtml += filePath.size(); + } +} diff --git a/Tests/Manual/CrossOriginTest/README.md b/Tests/Manual/CrossOriginTest/README.md new file mode 100644 index 000000000..6c50ecada --- /dev/null +++ b/Tests/Manual/CrossOriginTest/README.md @@ -0,0 +1,45 @@ +This test checks the withCredentials CORS functionality with Cappuccino. + +Running the test: + +You will need to start two HTTP Servers; one on localhost:8000, and one on localhost:8001. + +The first: + +`$> python -m SimpleHTTPServer` // starts it on 8000 + +In another terminal window: + +`$> python cors-server.py` // starts another on 8001 + +Visit http://localhost:8000 in your web browser. There are two buttons and a checkbox. + +One button will issue a native XMLHTTPRequest. The other will issue a CPURLConnection request. The checkbox will control whether the withCredentials option is set on both types of requests. + +With the checkbox checked, you should press either of the buttons. In the terminal with the 'cors-server.py' script running you will see output that should match the following: + +``` +INFO:root:CORS: With Credentials +127.0.0.1 - - [05/Dec/2014 18:44:48] "GET /resp.json HTTP/1.1" 200 - +``` + +If you uncheck the checkbox, you should see the following: + +``` +INFO:root:CORS: No Credentials +127.0.0.1 - - [05/Dec/2014 18:44:56] "GET /resp.json HTTP/1.1" 200 - +``` + +This error message is controlled by the presence of the 'Cookies' header. + +NOTE: The cors-server.py will set a cookie for you (mycookie=cappuccino!), but only after the first request. If you don't have a cookie set for localhost, the server message will show 'No Credentials' on the first request since the Cookie header is not set. Subsequent requests will behave correctly. + +The browser console will also provide some status information about the request and response. + +# A note about IE** + +As best I can tell, IE behaves differently than all other browsers. I have tested this in Chrome and Firefox on Mac & Windows, Safari on Mac, IE11 on Windows. In this test, unchecking the 'With Credentials' will tell the browser to not send a cookie to the server if the server and client are not on the same host. However, in IE, it will pass the cookie along if the server and host are on the same top domain, but not necessarily the same host. The corollary of this is that if the two servers are on different domains, the `withCredentials` setting in IE does absolutely nothing. + +To get it to work, you must instruct your users to adjust their cookie privacy settings and allow third-party cookies. This seemed to work for me, but dynamically adjusting the `withCredentials` parameter did nothing with this on -- IE always sent the cookies if it was configured to do so. + +* What, you expected IE to actually work like the rest of the world? \ No newline at end of file diff --git a/Tests/Manual/CrossOriginTest/Resources/MainMenu.xib b/Tests/Manual/CrossOriginTest/Resources/MainMenu.xib new file mode 100644 index 000000000..a9914bcd6 --- /dev/null +++ b/Tests/Manual/CrossOriginTest/Resources/MainMenu.xib @@ -0,0 +1,1759 @@ + + + + 1050 + 14B25 + 6250 + 1343.16 + 755.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 6250 + + + NSButton + NSButtonCell + NSCustomObject + NSMenu + NSMenuItem + NSView + NSWindowTemplate + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + + + NewApplication + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + + NewApplication + + + + About NewApplication + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit NewApplication + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + + File + + + + New + n + 1048576 + 2147483647 + + + + + + Open… + o + 1048576 + 2147483647 + + + + + + Open Recent + + 1048576 + 2147483647 + + + submenuAction: + + + Open Recent + + + + Clear Menu + + 1048576 + 2147483647 + + + + + _NSRecentDocumentsMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Save + s + 1048576 + 2147483647 + + + + + + Save As… + S + 1179648 + 2147483647 + + + + + + Revert to Saved + + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + + Edit + + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + + Find + + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + Find Next + g + 1048576 + 2147483647 + + + 2 + + + + Find Previous + G + 1179648 + 2147483647 + + + 3 + + + + Use Selection for Find + e + 1048576 + 2147483647 + + + 7 + + + + Jump to Selection + j + 1048576 + 2147483647 + + + + + + + + + Spelling and Grammar + + 1048576 + 2147483647 + + + submenuAction: + + + Spelling and Grammar + + + + Show Spelling… + : + 1048576 + 2147483647 + + + + + + Check Spelling + ; + 1048576 + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + + Substitutions + + + + Smart Copy/Paste + f + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + g + 1048576 + 2147483647 + + + 2 + + + + Smart Links + G + 1179648 + 2147483647 + + + 3 + + + + + + + Speech + + 1048576 + 2147483647 + + + submenuAction: + + + Speech + + + + Start Speaking + + 1048576 + 2147483647 + + + + + + Stop Speaking + + 1048576 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + + View + + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + + Window + + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 1048576 + 2147483647 + + + submenuAction: + + + Help + + + + NewApplication Help + ? + 1048576 + 2147483647 + + + + + + + + _NSMainMenu + + + 7 + 2 + {{335, 390}, {480, 360}} + 1946157056 + Window + NSWindow + + + + + 256 + + + + 268 + {{142, 196}, {197, 32}} + + + + _NS:9 + YES + + 67108864 + 134217728 + Native XMLHTTPRequest + + YES + 13 + 1044 + + _NS:9 + + -2038284288 + 129 + + + 200 + 25 + + NO + + + + 268 + {{133, 163}, {215, 32}} + + + _NS:9 + YES + + 67108864 + 134217728 + Cappuccino CPURLRequest + + _NS:9 + + -2038284288 + 129 + + + 200 + 25 + + NO + + + + 268 + {{178, 272}, {124, 18}} + + + + _NS:9 + YES + + -2080374784 + 268435456 + With Credentials + + _NS:9 + + 1211912448 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + NO + + + {480, 360} + + + + + {{0, 0}, {1920, 1177}} + {10000000000000, 10000000000000} + YES + + + AppController + + + + + + + terminate: + + + + 449 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + delegate + + + + 451 + + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + clearRecentDocuments: + + + + 127 + + + + performClose: + + + + 193 + + + + toggleContinuousSpellChecking: + + + + 222 + + + + undo: + + + + 223 + + + + copy: + + + + 224 + + + + checkSpelling: + + + + 225 + + + + paste: + + + + 226 + + + + stopSpeaking: + + + + 227 + + + + cut: + + + + 228 + + + + showGuessPanel: + + + + 230 + + + + redo: + + + + 231 + + + + selectAll: + + + + 232 + + + + startSpeaking: + + + + 233 + + + + delete: + + + + 235 + + + + performZoom: + + + + 240 + + + + performFindPanelAction: + + + + 241 + + + + centerSelectionInVisibleArea: + + + + 245 + + + + toggleGrammarChecking: + + + + 347 + + + + toggleSmartInsertDelete: + + + + 355 + + + + toggleAutomaticQuoteSubstitution: + + + + 356 + + + + toggleAutomaticLinkDetection: + + + + 357 + + + + showHelp: + + + + 360 + + + + saveDocument: + + + + 362 + + + + saveDocumentAs: + + + + 363 + + + + revertDocumentToSaved: + + + + 364 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + newDocument: + + + + 373 + + + + openDocument: + + + + 374 + + + + theButton + + + + 462 + + + + theWindow + + + + 463 + + + + setsWithCredentials + + + + 471 + + + + stateOfWithCredentials: + + + + 472 + + + + testNativeRequest: + + + + 473 + + + + testCappuccinoRequest: + + + + 474 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + + + + + + + + + MainMenu + + + 19 + + + + + + + + 56 + + + + + + + + 103 + + + + + + + + 217 + + + + + + + + 83 + + + + + + + + 81 + + + + + + + + + + + + + + + 75 + + + + + 80 + + + + + 72 + + + + + 82 + + + + + 124 + + + + + + + + 73 + + + + + 79 + + + + + 112 + + + + + 125 + + + + + + + + 126 + + + + + 205 + + + + + + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 214 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 218 + + + + + + + + 216 + + + + + + + + 200 + + + + + + + + + + + 219 + + + + + 201 + + + + + 204 + + + + + 220 + + + + + + + + + + + + 213 + + + + + 210 + + + + + 221 + + + + + 208 + + + + + 209 + + + + + 106 + + + + + + + + 111 + + + + + 57 + + + + + + + + + + + + 58 + + + + + 136 + + + + + 129 + + + + + 143 + + + + + 236 + + + + + 24 + + + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + + + + + + 296 + + + + + + + + + 297 + + + + + 298 + + + + + 211 + + + + + + + + 212 + + + + + + + + + 195 + + + + + 196 + + + + + 346 + + + + + 348 + + + + + + + + 349 + + + + + + + + + + 350 + + + + + 351 + + + + + 354 + + + + + 371 + + + + + + + + 372 + + + + + + + + + + 450 + + + + + 460 + + + + + + + + 461 + + + + + 465 + + + + + + + + 466 + + + + + 468 + + + + + + + + 469 + + + + + + + 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 + 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 + {{303, 221}, {480, 360}} + + + 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 + + + + + + 474 + + + + + AppController + NSObject + + id + id + id + + + + stateOfWithCredentials: + id + + + testCappuccinoRequest: + id + + + testNativeRequest: + id + + + + NSButton + NSButton + NSWindow + + + + setsWithCredentials + NSButton + + + theButton + NSButton + + + theWindow + NSWindow + + + + IBProjectSource + ../.XcodeSupport/AppController.h + + + + + 0 + IBCocoaFramework + NO + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + 3 + + {12, 12} + {10, 2} + {15, 15} + + + diff --git a/Tests/Manual/CrossOriginTest/cors-server.py b/Tests/Manual/CrossOriginTest/cors-server.py new file mode 100644 index 000000000..937f2188a --- /dev/null +++ b/Tests/Manual/CrossOriginTest/cors-server.py @@ -0,0 +1,44 @@ +import SimpleHTTPServer +import SocketServer +import logging +import cgi + +logging.basicConfig(level=logging.INFO) +PORT = 8001 + +class ServerHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): + + def end_headers (self): + self.send_header('Set-Cookie', 'mycookie=cappuccino!') + self.send_header('Access-Control-Allow-Origin', 'http://142.157.142.237:8000') + self.send_header('Access-Control-Allow-Methods', 'GET, OPTIONS') + self.send_header("Access-Control-Allow-Headers", "X-Requested-With, If-Modified-Since, Cache-Control, Pragma") + self.send_header('Access-Control-Allow-Credentials', 'true') + SimpleHTTPServer.SimpleHTTPRequestHandler.end_headers(self) + + def do_OPTIONS(self): + logging.info("OPTIONS Request") + self.send_response(204, "No Content") + self.send_header('Access-Control-Allow-Origin', 'http://142.157.142.237:8000') + self.send_header('Access-Control-Allow-Methods', 'GET, OPTIONS') + self.send_header("Access-Control-Allow-Headers", "X-Requested-With, If-Modified-Since, Cache-Control, Pragma") + self.send_header('Access-Control-Allow-Credentials', 'true') + self.send_header("Access-Control-Max-Age", 10) + self.send_header("content-length", 0) + + def do_GET(self): + try: + self.headers['Cookie'] + logging.info("CORS: With Credentials") + logging.info(self.headers['Cookie']) + except KeyError, e: + logging.info("CORS: No Credentials") + SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self) + +Handler = ServerHandler + +SocketServer.TCPServer.allow_reuse_address = True +httpd = SocketServer.TCPServer(("0.0.0.0", PORT), Handler) + +print "serving at port", PORT +httpd.serve_forever() \ No newline at end of file diff --git a/Tests/Manual/CrossOriginTest/index-debug.html b/Tests/Manual/CrossOriginTest/index-debug.html new file mode 100644 index 000000000..59a519b3d --- /dev/null +++ b/Tests/Manual/CrossOriginTest/index-debug.html @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + TestIEWithCredentials + + + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + diff --git a/Tests/Manual/CrossOriginTest/index.html b/Tests/Manual/CrossOriginTest/index.html new file mode 100644 index 000000000..b38196c63 --- /dev/null +++ b/Tests/Manual/CrossOriginTest/index.html @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + CrossOriginTest + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + diff --git a/Tests/Manual/CrossOriginTest/main.j b/Tests/Manual/CrossOriginTest/main.j new file mode 100644 index 000000000..fb705f3f3 --- /dev/null +++ b/Tests/Manual/CrossOriginTest/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * CrossOriginTest + * + * Created by You on December 9, 2014. + * Copyright 2014, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} diff --git a/Tests/Manual/CrossOriginTest/resp.json b/Tests/Manual/CrossOriginTest/resp.json new file mode 100644 index 000000000..5d76ff1e6 --- /dev/null +++ b/Tests/Manual/CrossOriginTest/resp.json @@ -0,0 +1 @@ +{"response": "ok"} \ No newline at end of file diff --git a/Tests/Manual/Nib2CibAlignment/Resources/MainMenu.cib b/Tests/Manual/Nib2CibAlignment/Resources/MainMenu.cib index d31525dae..a24e88827 100644 --- a/Tests/Manual/Nib2CibAlignment/Resources/MainMenu.cib +++ b/Tests/Manual/Nib2CibAlignment/Resources/MainMenu.cib @@ -1 +1 @@ -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;22E;D;K;6;CP$UIDd;2;23E;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;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;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;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;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;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;67E;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;69E;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;1;0E;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;1;0E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;179E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;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;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;3;183E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;129E;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;3;187E;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;3;188E;E;D;K;10;$classnameS;31;CPCibRuntimeAttributesConnectorK;8;$classesA;S;31;CPCibRuntimeAttributesConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;152E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;189E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;151E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;151E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;191E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;192E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;149E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;149E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;193E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;150E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;150E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;195E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;196E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;147E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;147E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;197E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;198E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;148E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;148E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;199E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;200E;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;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;179E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;201E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;179E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;26E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;202E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;187E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;203E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;204E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;205E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;206E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;207E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;208E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;209E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;28E;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;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;211E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;211E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;212E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;E;D;K;10;$classnameS;5;CPBoxK;8;$classesA;S;5;CPBoxS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;221E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;225E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;226E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;227E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;228E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;229E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;230E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;231E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;232E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;233E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;234E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;235E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;236E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;237E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;238E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;239E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;240E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;241E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;242E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;243E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;244E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;245E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;246E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;247E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;248E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;249E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;250E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;248E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;251E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;252E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;248E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;253E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;254E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;248E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;255E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;256E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;248E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;257E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;258E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;248E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;259E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;260E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;248E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;261E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;262E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;248E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;263E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;264E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;248E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;265E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;248E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;267E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;268E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;248E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;269E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;272E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;273E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;274E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;272E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;275E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;276E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;272E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;277E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;278E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;272E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;279E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;280E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;272E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;281E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;282E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;272E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;283E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;284E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;285E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;286E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;287E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;285E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;288E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;289E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;285E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;290E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;291E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;285E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;292E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;293E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;285E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;294E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;295E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;271E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;285E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;210E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;$aborder-widthD;K;6;CP$UIDd;3;210E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;210E;K;16;$acontent-marginD;K;6;CP$UIDd;3;296E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;222E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;223E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;224E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;210E;K;14;CPBoxTitleViewD;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;297E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;301E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;7;$aimageD;K;6;CP$UIDd;3;305E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;308E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;312E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;313E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;314E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;7;$aimageD;K;6;CP$UIDd;3;316E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;317E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;318E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;322E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;323E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;324E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;325E;K;7;$aimageD;K;6;CP$UIDd;3;326E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;327E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;328E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;329E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;7;$aimageD;K;6;CP$UIDd;3;330E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;308E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;331E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;313E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;332E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;7;$aimageD;K;6;CP$UIDd;3;333E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;317E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;334E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;335E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;336E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;337E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;329E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;7;$aimageD;K;6;CP$UIDd;3;338E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;308E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;339E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;313E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;332E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;7;$aimageD;K;6;CP$UIDd;3;340E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;317E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;341E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;342E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;343E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;344E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;345E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;329E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;7;$aimageD;K;6;CP$UIDd;3;346E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;308E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;347E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;313E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;332E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;7;$aimageD;K;6;CP$UIDd;3;348E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;317E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;349E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;350E;K;7;$aimageD;K;6;CP$UIDd;3;351E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;352E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;353E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;354E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;329E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;355E;K;7;$aimageD;K;6;CP$UIDd;3;356E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;308E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;353E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;357E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;313E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;332E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;7;$aimageD;K;6;CP$UIDd;3;358E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;317E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;353E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;359E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;361E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;362E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;363E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;364E;K;7;$aimageD;K;6;CP$UIDd;3;365E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;366E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;367E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;368E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;369E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;370E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;371E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;323E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;372E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;325E;K;7;$aimageD;K;6;CP$UIDd;3;373E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;327E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;374E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;375E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;336E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;376E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;377E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;344E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;378E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;379E;K;7;$aimageD;K;6;CP$UIDd;3;380E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;352E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;353E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;381E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;382E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;362E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;383E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;384E;K;7;$aimageD;K;6;CP$UIDd;3;385E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;366E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;386E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;388E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;389E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;369E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;390E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;391E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;392E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;323E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;393E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;391E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;325E;K;7;$aimageD;K;6;CP$UIDd;3;394E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;327E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;395E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;391E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;396E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;336E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;397E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;342E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;391E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;398E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;344E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;399E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;391E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;400E;K;7;$aimageD;K;6;CP$UIDd;3;401E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;352E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;353E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;402E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;388E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;403E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;362E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;404E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;388E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;405E;K;7;$aimageD;K;6;CP$UIDd;3;406E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;366E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;407E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;409E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;369E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;410E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;411E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;323E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;412E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;325E;K;7;$aimageD;K;6;CP$UIDd;3;413E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;327E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;414E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;415E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;336E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;416E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;417E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;344E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;418E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;320E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;419E;K;7;$aimageD;K;6;CP$UIDd;3;420E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;352E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;353E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;421E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;422E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;362E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;423E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;424E;K;7;$aimageD;K;6;CP$UIDd;3;425E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;366E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;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;3;107E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;181E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;426E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;427E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;306E;K;6;$afontD;K;6;CP$UIDd;3;428E;K;7;$aimageD;K;6;CP$UIDd;3;429E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;353E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;108E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;307E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;433E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;108E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;108E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;181E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;182E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;435E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;427E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;388E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;306E;K;6;$afontD;K;6;CP$UIDd;3;428E;K;7;$aimageD;K;6;CP$UIDd;3;436E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;353E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;113E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;307E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;433E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;113E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;113E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;182E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;183E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;437E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;427E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;301E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;306E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;7;$aimageD;K;6;CP$UIDd;3;438E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;353E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;117E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;307E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;433E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;117E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;117E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;183E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;184E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;439E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;440E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;427E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;441E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;306E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;7;$aimageD;K;6;CP$UIDd;3;442E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;353E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;121E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;307E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;184E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;433E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;121E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;184E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;121E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;184E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;185E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;443E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;313E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;427E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;314E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;306E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;7;$aimageD;K;6;CP$UIDd;3;444E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;353E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;125E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;307E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;185E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;433E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;125E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;185E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;125E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;185E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;186E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;445E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;446E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;427E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;447E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;306E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;7;$aimageD;K;6;CP$UIDd;3;448E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;353E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;430E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;129E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;307E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;186E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;433E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;129E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;186E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;434E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;129E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;431E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;186E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;432E;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;3;133E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;449E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;450E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;451E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;452E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;453E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;311E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;133E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;456E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;450E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;451E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;457E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;309E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;311E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;133E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;458E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;459E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;451E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;460E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;309E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;311E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;133E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;461E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;462E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;451E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;463E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;309E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;311E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;133E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;464E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;465E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;451E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;466E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;309E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;311E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;133E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;467E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;468E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;451E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;469E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;309E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;311E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPComboBoxK;8;$classesA;S;10;CPComboBoxS;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;140E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;470E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;471E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;472E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;473E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;309E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;311E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;18;CPComboBoxItemsKeyD;K;6;CP$UIDd;3;474E;K;17;CPComboBoxListKeyD;K;6;CP$UIDd;1;0E;K;21;CPComboBoxDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPComboBoxDataSourceKeyD;K;6;CP$UIDd;1;0E;K;27;CPComboBoxUsesDataSourceKeyD;K;6;CP$UIDd;3;215E;K;22;CPComboBoxCompletesKeyD;K;6;CP$UIDd;3;215E;K;33;CPComboBoxNumberOfVisibleItemsKeyD;K;6;CP$UIDd;3;475E;K;32;CPComboBoxHasVerticalScrollerKeyD;K;6;CP$UIDd;3;311E;K;27;CPComboBoxButtonBorderedKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;3;140E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;476E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;477E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;472E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;478E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;309E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;311E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;18;CPComboBoxItemsKeyD;K;6;CP$UIDd;3;479E;K;17;CPComboBoxListKeyD;K;6;CP$UIDd;1;0E;K;21;CPComboBoxDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPComboBoxDataSourceKeyD;K;6;CP$UIDd;1;0E;K;27;CPComboBoxUsesDataSourceKeyD;K;6;CP$UIDd;3;215E;K;22;CPComboBoxCompletesKeyD;K;6;CP$UIDd;3;215E;K;33;CPComboBoxNumberOfVisibleItemsKeyD;K;6;CP$UIDd;3;475E;K;32;CPComboBoxHasVerticalScrollerKeyD;K;6;CP$UIDd;3;311E;K;27;CPComboBoxButtonBorderedKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;3;140E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;480E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;481E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;472E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;478E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;309E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;311E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;18;CPComboBoxItemsKeyD;K;6;CP$UIDd;3;482E;K;17;CPComboBoxListKeyD;K;6;CP$UIDd;1;0E;K;21;CPComboBoxDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPComboBoxDataSourceKeyD;K;6;CP$UIDd;1;0E;K;27;CPComboBoxUsesDataSourceKeyD;K;6;CP$UIDd;3;215E;K;22;CPComboBoxCompletesKeyD;K;6;CP$UIDd;3;215E;K;33;CPComboBoxNumberOfVisibleItemsKeyD;K;6;CP$UIDd;3;475E;K;32;CPComboBoxHasVerticalScrollerKeyD;K;6;CP$UIDd;3;311E;K;27;CPComboBoxButtonBorderedKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;3;140E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;483E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;484E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;472E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;485E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;309E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;311E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;18;CPComboBoxItemsKeyD;K;6;CP$UIDd;3;486E;K;17;CPComboBoxListKeyD;K;6;CP$UIDd;1;0E;K;21;CPComboBoxDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPComboBoxDataSourceKeyD;K;6;CP$UIDd;1;0E;K;27;CPComboBoxUsesDataSourceKeyD;K;6;CP$UIDd;3;215E;K;22;CPComboBoxCompletesKeyD;K;6;CP$UIDd;3;215E;K;33;CPComboBoxNumberOfVisibleItemsKeyD;K;6;CP$UIDd;3;475E;K;32;CPComboBoxHasVerticalScrollerKeyD;K;6;CP$UIDd;3;311E;K;27;CPComboBoxButtonBorderedKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;3;140E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;487E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;488E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;472E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;485E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;309E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;311E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;18;CPComboBoxItemsKeyD;K;6;CP$UIDd;3;489E;K;17;CPComboBoxListKeyD;K;6;CP$UIDd;1;0E;K;21;CPComboBoxDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPComboBoxDataSourceKeyD;K;6;CP$UIDd;1;0E;K;27;CPComboBoxUsesDataSourceKeyD;K;6;CP$UIDd;3;215E;K;22;CPComboBoxCompletesKeyD;K;6;CP$UIDd;3;215E;K;33;CPComboBoxNumberOfVisibleItemsKeyD;K;6;CP$UIDd;3;475E;K;32;CPComboBoxHasVerticalScrollerKeyD;K;6;CP$UIDd;3;311E;K;27;CPComboBoxButtonBorderedKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;3;140E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;490E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;471E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;472E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;473E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;309E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;311E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;18;CPComboBoxItemsKeyD;K;6;CP$UIDd;3;491E;K;17;CPComboBoxListKeyD;K;6;CP$UIDd;1;0E;K;21;CPComboBoxDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPComboBoxDataSourceKeyD;K;6;CP$UIDd;1;0E;K;27;CPComboBoxUsesDataSourceKeyD;K;6;CP$UIDd;3;215E;K;22;CPComboBoxCompletesKeyD;K;6;CP$UIDd;3;215E;K;33;CPComboBoxNumberOfVisibleItemsKeyD;K;6;CP$UIDd;3;475E;K;32;CPComboBoxHasVerticalScrollerKeyD;K;6;CP$UIDd;3;311E;K;27;CPComboBoxButtonBorderedKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;3;133E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;492E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;493E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;451E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;495E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;215E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;215E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;215E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;455E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;133E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;496E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;497E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;451E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;495E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;215E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;215E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;215E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;499E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;133E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;500E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;501E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;451E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;495E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;215E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;215E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;215E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;499E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;133E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;502E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;503E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;451E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;495E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;215E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;215E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;215E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;499E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;133E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;505E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;451E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;495E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;215E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;215E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;215E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;499E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;133E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;507E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;493E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;451E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;222E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;311E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;495E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;215E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;215E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;215E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;499E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;222E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;306E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;12;CPDatePickerK;8;$classesA;S;12;CPDatePickerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;508E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;509E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;510E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;511E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;514E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;13;CPIntervalKeyD;K;6;CP$UIDd;3;210E;K;19;CPDatePickerModeKeyD;K;6;CP$UIDd;3;210E;K;20;CPDatePickerStyleKeyD;K;6;CP$UIDd;3;210E;K;23;CPDatePickerElementsKeyD;K;6;CP$UIDd;3;515E;K;12;CPMinDateKeyD;K;6;CP$UIDd;3;516E;K;12;CPMaxDateKeyD;K;6;CP$UIDd;3;517E;K;14;CPDateValueKeyD;K;6;CP$UIDd;3;514E;K;13;CPTextFontKeyD;K;6;CP$UIDd;1;0E;K;11;CPLocaleKeyD;K;6;CP$UIDd;1;0E;K;20;CPBackgroundColorKeyD;K;6;CP$UIDd;3;510E;K;20;CPDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;13;CPBorderedKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;518E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;519E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;510E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;511E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;520E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;521E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;13;CPIntervalKeyD;K;6;CP$UIDd;3;210E;K;19;CPDatePickerModeKeyD;K;6;CP$UIDd;3;210E;K;20;CPDatePickerStyleKeyD;K;6;CP$UIDd;3;210E;K;23;CPDatePickerElementsKeyD;K;6;CP$UIDd;3;515E;K;12;CPMinDateKeyD;K;6;CP$UIDd;3;522E;K;12;CPMaxDateKeyD;K;6;CP$UIDd;3;523E;K;14;CPDateValueKeyD;K;6;CP$UIDd;3;521E;K;13;CPTextFontKeyD;K;6;CP$UIDd;1;0E;K;11;CPLocaleKeyD;K;6;CP$UIDd;1;0E;K;20;CPBackgroundColorKeyD;K;6;CP$UIDd;3;510E;K;20;CPDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;13;CPBorderedKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;524E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;525E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;510E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;511E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;520E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;526E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;13;CPIntervalKeyD;K;6;CP$UIDd;3;210E;K;19;CPDatePickerModeKeyD;K;6;CP$UIDd;3;210E;K;20;CPDatePickerStyleKeyD;K;6;CP$UIDd;3;210E;K;23;CPDatePickerElementsKeyD;K;6;CP$UIDd;3;515E;K;12;CPMinDateKeyD;K;6;CP$UIDd;3;527E;K;12;CPMaxDateKeyD;K;6;CP$UIDd;3;528E;K;14;CPDateValueKeyD;K;6;CP$UIDd;3;526E;K;13;CPTextFontKeyD;K;6;CP$UIDd;1;0E;K;11;CPLocaleKeyD;K;6;CP$UIDd;1;0E;K;20;CPBackgroundColorKeyD;K;6;CP$UIDd;3;510E;K;20;CPDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;13;CPBorderedKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;529E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;530E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;510E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;511E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;531E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;532E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;13;CPIntervalKeyD;K;6;CP$UIDd;3;210E;K;19;CPDatePickerModeKeyD;K;6;CP$UIDd;3;210E;K;20;CPDatePickerStyleKeyD;K;6;CP$UIDd;3;210E;K;23;CPDatePickerElementsKeyD;K;6;CP$UIDd;3;515E;K;12;CPMinDateKeyD;K;6;CP$UIDd;3;533E;K;12;CPMaxDateKeyD;K;6;CP$UIDd;3;534E;K;14;CPDateValueKeyD;K;6;CP$UIDd;3;532E;K;13;CPTextFontKeyD;K;6;CP$UIDd;1;0E;K;11;CPLocaleKeyD;K;6;CP$UIDd;1;0E;K;20;CPBackgroundColorKeyD;K;6;CP$UIDd;3;510E;K;20;CPDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;13;CPBorderedKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;535E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;536E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;510E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;511E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;531E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;537E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;13;CPIntervalKeyD;K;6;CP$UIDd;3;210E;K;19;CPDatePickerModeKeyD;K;6;CP$UIDd;3;210E;K;20;CPDatePickerStyleKeyD;K;6;CP$UIDd;3;210E;K;23;CPDatePickerElementsKeyD;K;6;CP$UIDd;3;515E;K;12;CPMinDateKeyD;K;6;CP$UIDd;3;538E;K;12;CPMaxDateKeyD;K;6;CP$UIDd;3;539E;K;14;CPDateValueKeyD;K;6;CP$UIDd;3;537E;K;13;CPTextFontKeyD;K;6;CP$UIDd;1;0E;K;11;CPLocaleKeyD;K;6;CP$UIDd;1;0E;K;20;CPBackgroundColorKeyD;K;6;CP$UIDd;3;510E;K;20;CPDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;13;CPBorderedKeyD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;540E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;509E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;408E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;510E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;511E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;512E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;541E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;13;CPIntervalKeyD;K;6;CP$UIDd;3;210E;K;19;CPDatePickerModeKeyD;K;6;CP$UIDd;3;210E;K;20;CPDatePickerStyleKeyD;K;6;CP$UIDd;3;210E;K;23;CPDatePickerElementsKeyD;K;6;CP$UIDd;3;515E;K;12;CPMinDateKeyD;K;6;CP$UIDd;3;542E;K;12;CPMaxDateKeyD;K;6;CP$UIDd;3;543E;K;14;CPDateValueKeyD;K;6;CP$UIDd;3;541E;K;13;CPTextFontKeyD;K;6;CP$UIDd;1;0E;K;11;CPLocaleKeyD;K;6;CP$UIDd;1;0E;K;20;CPBackgroundColorKeyD;K;6;CP$UIDd;3;510E;K;20;CPDrawsBackgroundKeyD;K;6;CP$UIDd;3;311E;K;13;CPBorderedKeyD;K;6;CP$UIDd;3;311E;E;D;K;10;$classnameS;9;CPStepperK;8;$classesA;S;9;CPStepperS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;160E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;544E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;545E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;546E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;307E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;548E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;3;160E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;549E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;545E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;546E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;307E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;548E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;311E;E;D;K;6;$classD;K;6;CP$UIDd;3;160E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;550E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;545E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;546E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;547E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;307E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;548E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;311E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;551E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;552E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;553E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;554E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;555E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;556E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;552E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;553E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;557E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;555E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;558E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;559E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;553E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;560E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;555E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;561E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;559E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;553E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;562E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;555E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;563E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;564E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;553E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;565E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;555E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;566E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;564E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;387E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;553E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;567E;K;11;$aalignmentD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;555E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;65E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;568E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;300E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;360E;K;11;$aalignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;7;$aimageD;K;6;CP$UIDd;3;569E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;369E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;310E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;210E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;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;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;570E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;571E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;572E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;573E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;574E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;575E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;576E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;574E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;577E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;E;D;K;10;$classnameS;7;CPRadioK;8;$classesA;S;7;CPRadioS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;175E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;578E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;465E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;579E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;580E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;582E;E;D;K;6;$classD;K;6;CP$UIDd;3;175E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;583E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;584E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;579E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;308E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;585E;E;D;K;6;$classD;K;6;CP$UIDd;3;175E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;586E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;587E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;353E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;579E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;504E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;317E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;309E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;588E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;589E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;180E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;590E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;591E;E;D;K;6;$classD;K;6;CP$UIDd;3;180E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;590E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;592E;E;D;K;6;$classD;K;6;CP$UIDd;3;180E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;590E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;593E;E;D;K;6;$classD;K;6;CP$UIDd;3;180E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;590E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;594E;E;D;K;6;$classD;K;6;CP$UIDd;3;180E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;590E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;595E;E;D;K;6;$classD;K;6;CP$UIDd;3;180E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;590E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;596E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;26E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;597E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;598E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;597E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;599E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;597E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;600E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;597E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;601E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;597E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;602E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;597E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;603E;E;E;S;8;delegateS;9;theWindowS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1879048192S;26;{{335, -332}, {1137, 970}}S;22;{{0, 0}, {1680, 1028}}d;1;7S;6;Windowd;1;0S;21;{{0, 0}, {1137, 970}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;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;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;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;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;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;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;168E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;E;E;S;6;normalS;6;{1, 1}F;S;20;{{0, 18}, {1137, 5}}S;19;{{0, 0}, {1137, 5}}d;2;34S;3;boxD;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;d;1;2d;1;3S;3;BoxS;20;{{0, 58}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;20;{{0, 99}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 139}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 177}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 215}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 255}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 296}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 331}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 372}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 403}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 438}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 530}, {1137, 5}}d;2;10D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 570}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 611}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 651}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 689}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 727}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 767}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 808}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 847}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 887}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{0, 927}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;19;{{18, 0}, {5, 970}}S;18;{{0, 0}, {5, 970}}d;2;20D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;20;{{247, 0}, {5, 970}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;20;{{266, 0}, {5, 970}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;20;{{359, 0}, {5, 970}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;20;{{476, 0}, {5, 970}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;20;{{386, 0}, {5, 970}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;20;{{625, 0}, {5, 970}}d;2;17D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;20;{{724, 0}, {5, 970}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;20;{{749, 0}, {5, 970}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;20;{{854, 0}, {5, 970}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;20;{{882, 0}, {5, 970}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;21;{{1111, 0}, {5, 970}}D;K;6;$classD;K;6;CP$UIDd;3;220E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;604E;E;S;22;{{268, 298}, {94, 24}}S;18;{{0, 0}, {94, 24}}d;2;36S;6;buttonS;25;bordered+controlSizeSmallD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;606E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;609E;E;d;1;4d;1;1S;5;SmallS;0;d;2;14T;S;22;{{388, 298}, {91, 24}}S;18;{{0, 0}, {91, 24}}S;24;bordered+controlSizeMiniD;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;408E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;610E;E;S;4;MiniS;22;{{20, 101}, {230, 24}}S;19;{{0, 0}, {230, 24}}S;36;bordered+controlSizeRegular+selectedD;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;611E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;23;CPSmallSquareBezelStyleS;22;{{20, 141}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;353E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;325E;E;S;21;CPRoundRectBezelStyleS;22;{{268, 141}, {94, 24}}S;34;bordered+controlSizeSmall+selectedD;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;609E;E;S;22;{{388, 141}, {91, 24}}S;33;bordered+controlSizeMini+selectedD;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;610E;E;S;21;{{20, 60}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;27;CPTexturedRoundedBezelStyleS;21;{{268, 60}, {94, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;609E;E;S;21;{{388, 60}, {91, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;610E;E;S;21;{{21, 20}, {228, 24}}S;19;{{0, 0}, {228, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;26;CPTexturedSquareBezelStyleS;21;{{268, 20}, {94, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;609E;E;S;21;{{388, 20}, {91, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;610E;E;S;22;{{20, 179}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;353E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;311E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;325E;E;S;20;CPRecessedBezelStyled;2;12S;22;{{268, 179}, {94, 24}}D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;353E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;311E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;325E;E;S;22;{{388, 179}, {91, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;610E;E;S;22;{{20, 217}, {230, 24}}S;27;bordered+controlSizeRegularD;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;28;CPShadowlessSquareBezelStyleS;22;{{20, 257}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;613E;E;S;25;CPRegularSquareBezelStyleS;22;{{20, 810}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;19;CPRoundedBezelStyleS;22;{{20, 613}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;22;{{20, 653}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;325E;E;S;22;{{20, 572}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;22;{{20, 532}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;22;{{20, 691}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;353E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;311E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;325E;E;S;22;{{20, 729}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;22;{{20, 769}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;613E;E;S;23;{{884, 298}, {230, 24}}d;2;33S;36;bordered+controlSizeRegular+disabledD;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;23;{{884, 101}, {230, 24}}S;45;bordered+controlSizeRegular+disabled+selectedD;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;23;{{884, 141}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;325E;E;S;22;{{884, 60}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;22;{{885, 20}, {228, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;23;{{884, 179}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;353E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;311E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;325E;E;S;23;{{884, 217}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;23;{{884, 257}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;613E;E;S;23;{{884, 810}, {230, 24}}d;1;9D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;23;{{884, 613}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;23;{{884, 653}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;325E;E;S;23;{{884, 572}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;23;{{884, 532}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;23;{{884, 691}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;353E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;311E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;325E;E;S;23;{{884, 729}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;23;{{884, 769}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;613E;E;S;22;{{20, 440}, {230, 24}}S;12;popup-buttonD;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;611E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;6;Item 1S;17;_popUpItemAction:d;7;1048576S;6;Item 2S;6;Item 3S;23;{{884, 440}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;22;{{268, 440}, {94, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;609E;E;S;23;{{751, 440}, {106, 24}}S;19;{{0, 0}, {106, 24}}S;34;bordered+controlSizeSmall+disabledD;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;609E;E;S;22;{{388, 440}, {91, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;610E;E;S;23;{{627, 440}, {100, 24}}S;19;{{0, 0}, {100, 24}}S;33;bordered+controlSizeMini+disabledD;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;610E;E;S;22;{{17, 330}, {236, 22}}S;19;{{0, 0}, {236, 22}}S;9;textfieldS;35;bezeled+controlSizeRegular+editableS;6;TargetD;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;454E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;614E;E;S;23;{{881, 330}, {236, 22}}S;56;bezeled+controlSizeRegular+disabled+editable+placeholderS;23;{{265, 330}, {100, 26}}S;19;{{0, 0}, {100, 26}}S;45;bezeled+controlSizeSmall+editable+placeholderS;23;{{748, 330}, {112, 26}}S;19;{{0, 0}, {112, 26}}S;54;bezeled+controlSizeSmall+disabled+editable+placeholderS;22;{{385, 330}, {97, 23}}S;18;{{0, 0}, {97, 23}}S;44;bezeled+controlSizeMini+editable+placeholderS;23;{{624, 330}, {106, 23}}S;19;{{0, 0}, {106, 23}}S;53;bezeled+controlSizeMini+disabled+editable+placeholderS;22;{{17, 846}, {236, 26}}S;19;{{0, 0}, {236, 26}}S;8;comboboxS;63;bezeled+button-bordered+controlSizeRegular+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;615E;D;K;6;CP$UIDd;3;615E;D;K;6;CP$UIDd;3;615E;E;E;d;1;5S;22;{{266, 846}, {98, 22}}S;18;{{0, 0}, {98, 22}}S;61;bezeled+button-bordered+controlSizeSmall+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;615E;D;K;6;CP$UIDd;3;615E;D;K;6;CP$UIDd;3;615E;E;E;S;23;{{749, 846}, {110, 22}}S;19;{{0, 0}, {110, 22}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;615E;D;K;6;CP$UIDd;3;615E;D;K;6;CP$UIDd;3;615E;E;E;S;22;{{386, 847}, {95, 19}}S;18;{{0, 0}, {95, 19}}S;60;bezeled+button-bordered+controlSizeMini+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;615E;D;K;6;CP$UIDd;3;615E;D;K;6;CP$UIDd;3;615E;E;E;S;23;{{625, 847}, {104, 19}}S;19;{{0, 0}, {104, 19}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;615E;D;K;6;CP$UIDd;3;615E;D;K;6;CP$UIDd;3;615E;E;E;S;23;{{881, 846}, {236, 26}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;615E;D;K;6;CP$UIDd;3;615E;D;K;6;CP$UIDd;3;615E;E;E;S;22;{{20, 889}, {230, 17}}S;19;{{0, 0}, {230, 17}}S;18;controlSizeRegularS;5;LabelS;22;{{268, 889}, {94, 14}}S;18;{{0, 0}, {94, 14}}S;16;controlSizeSmallD;K;6;$classD;K;6;CP$UIDd;3;454E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;616E;E;S;23;{{751, 889}, {106, 14}}S;19;{{0, 0}, {106, 14}}S;22;{{388, 889}, {91, 11}}S;18;{{0, 0}, {91, 11}}S;15;controlSizeMiniS;23;{{627, 889}, {100, 11}}S;19;{{0, 0}, {100, 11}}S;23;{{884, 889}, {230, 17}}S;22;{{20, 926}, {230, 29}}S;19;{{0, 0}, {230, 29}}D;K;6;$classD;K;6;CP$UIDd;3;454E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;617E;E;S;10;datePickerS;35;bezeled+bordered+controlSizeRegularD;K;10;$classnameS;6;CPDateK;8;$classesA;S;6;CPDateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;210E;E;d;3;224D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;618E;E;D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;619E;E;S;22;{{269, 926}, {94, 29}}S;18;{{0, 0}, {94, 29}}S;33;bezeled+bordered+controlSizeSmallD;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;210E;E;D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;618E;E;D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;619E;E;S;23;{{752, 925}, {106, 29}}S;19;{{0, 0}, {106, 29}}D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;210E;E;D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;618E;E;D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;619E;E;S;22;{{388, 926}, {91, 29}}S;18;{{0, 0}, {91, 29}}S;32;bezeled+bordered+controlSizeMiniD;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;210E;E;D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;618E;E;D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;619E;E;S;23;{{627, 926}, {100, 29}}S;19;{{0, 0}, {100, 29}}D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;210E;E;D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;618E;E;D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;619E;E;S;23;{{884, 926}, {230, 29}}D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;210E;E;D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;618E;E;D;K;6;$classD;K;6;CP$UIDd;3;513E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;619E;E;S;19;{{20, 374}, {0, 0}}S;16;{{0, 0}, {0, 0}}S;7;stepperd;5;65540d;3;100S;20;{{269, 374}, {0, 0}}S;20;{{389, 375}, {0, 0}}S;21;{{21, 403}, {61, 18}}S;18;{{0, 0}, {61, 18}}S;9;check-boxS;27;controlSizeRegular+selectedS;5;CheckS;22;{{884, 403}, {61, 18}}S;36;controlSizeRegular+disabled+selectedS;22;{{269, 402}, {77, 20}}S;18;{{0, 0}, {77, 20}}S;25;controlSizeSmall+selectedS;22;{{752, 402}, {77, 20}}S;34;controlSizeSmall+disabled+selectedS;23;{{389, 400}, {112, 22}}S;19;{{0, 0}, {112, 22}}S;24;controlSizeMini+selectedS;23;{{628, 400}, {112, 22}}S;33;controlSizeMini+disabled+selectedS;22;{{20, 298}, {230, 24}}D;K;6;$classD;K;6;CP$UIDd;3;304E;K;4;nameD;K;6;CP$UIDd;3;607E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;608E;K;5;valueD;K;6;CP$UIDd;3;612E;E;S;22;{{268, 613}, {94, 40}}S;18;{{0, 0}, {94, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;620E;D;K;6;CP$UIDd;3;621E;E;E;S;22;{{388, 613}, {91, 40}}S;18;{{0, 0}, {91, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;622E;D;K;6;CP$UIDd;3;623E;E;E;S;22;{{388, 653}, {91, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;624E;D;K;6;CP$UIDd;3;625E;E;E;S;22;{{267, 529}, {97, 23}}S;5;radioS;7;RegularD;K;10;$classnameS;12;CPRadioGroupK;8;$classesA;S;12;CPRadioGroupS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;581E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;626E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;1;0E;E;S;22;{{388, 527}, {94, 25}}S;18;{{0, 0}, {94, 25}}D;K;6;$classD;K;6;CP$UIDd;3;581E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;627E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;1;0E;E;S;22;{{388, 565}, {96, 29}}S;18;{{0, 0}, {96, 29}}D;K;6;$classD;K;6;CP$UIDd;3;581E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;628E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;1;0E;E;S;13;AppControllerS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;E;E;S;15;backgroundColorD;K;6;$classD;K;6;CP$UIDd;3;454E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;629E;E;D;K;6;$classD;K;6;CP$UIDd;3;454E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;630E;E;D;K;6;$classD;K;6;CP$UIDd;3;454E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;631E;E;D;K;6;$classD;K;6;CP$UIDd;3;454E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;632E;E;D;K;6;$classD;K;6;CP$UIDd;3;454E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;633E;E;D;K;6;$classD;K;6;CP$UIDd;3;454E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;634E;E;S;22;{"width":0,"height":0}S;17;.Lucida Grande UId;2;11S;5;imageS;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;606E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;408E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;d;2;13D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;611E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;3;302E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;605E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;248E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;215E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;307E;E;E;S;4;ItemD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;635E;D;K;6;CP$UIDd;3;635E;D;K;6;CP$UIDd;3;635E;D;K;6;CP$UIDd;3;307E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;307E;D;K;6;CP$UIDd;3;307E;E;E;d;15;-62135510400000d;14;64092297600000D;K;6;$classD;K;6;CP$UIDd;3;175E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;172E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;307E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;636E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;636E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;172E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;637E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;638E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;579E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;639E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;222E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;640E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;641E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;642E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;643E;E;D;K;6;$classD;K;6;CP$UIDd;3;175E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;172E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;644E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;636E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;172E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;637E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;638E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;579E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;645E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;321E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;222E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;210E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;640E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;641E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;642E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;643E;E;D;K;6;$classD;K;6;CP$UIDd;3;175E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;173E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;307E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;646E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;646E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;173E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;637E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;638E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;579E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;647E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;222E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;640E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;641E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;642E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;648E;E;D;K;6;$classD;K;6;CP$UIDd;3;175E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;173E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;649E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;646E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;173E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;637E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;638E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;579E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;650E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;303E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;222E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;307E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;640E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;641E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;642E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;648E;E;D;K;6;$classD;K;6;CP$UIDd;3;175E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;174E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;307E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;646E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;646E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;174E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;637E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;638E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;579E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;651E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;222E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;307E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;640E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;641E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;642E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;652E;E;D;K;6;$classD;K;6;CP$UIDd;3;175E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;174E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;210E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;649E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;646E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;174E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;637E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;638E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;579E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;653E;K;11;$aalignmentD;K;6;CP$UIDd;3;210E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;210E;K;6;$afontD;K;6;CP$UIDd;3;315E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;222E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;214E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;214E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;215E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;210E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;306E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;222E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;640E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;215E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;307E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;307E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;311E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;222E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;210E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;641E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;642E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;652E;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;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;3;654E;D;K;6;CP$UIDd;3;655E;D;K;6;CP$UIDd;3;656E;D;K;6;CP$UIDd;3;657E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;654E;D;K;6;CP$UIDd;3;655E;D;K;6;CP$UIDd;3;656E;D;K;6;CP$UIDd;3;657E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;654E;D;K;6;CP$UIDd;3;655E;D;K;6;CP$UIDd;3;656E;D;K;6;CP$UIDd;3;657E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;654E;D;K;6;CP$UIDd;3;655E;D;K;6;CP$UIDd;3;656E;D;K;6;CP$UIDd;3;657E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;654E;D;K;6;CP$UIDd;3;655E;D;K;6;CP$UIDd;3;656E;D;K;6;CP$UIDd;3;657E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;654E;D;K;6;CP$UIDd;3;655E;D;K;6;CP$UIDd;3;656E;D;K;6;CP$UIDd;3;657E;E;E;f;18;0.6862745098039216S;18;{{0, 0}, {94, 19}}d;2;18D;K;6;$classD;K;6;CP$UIDd;3;454E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;658E;E;S;46;bordered+controlSizeRegular+roundRect+selectedS;5;Radiof;3;0.5f;4;0.05D;K;6;$classD;K;6;CP$UIDd;3;581E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;659E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;620E;E;S;19;{{0, 21}, {94, 19}}S;37;bordered+controlSizeRegular+roundRectS;18;{{0, 0}, {91, 19}}S;44;bordered+controlSizeSmall+roundRect+selectedD;K;6;$classD;K;6;CP$UIDd;3;581E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;660E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;622E;E;S;19;{{0, 21}, {91, 19}}S;35;bordered+controlSizeSmall+roundRectS;43;bordered+controlSizeMini+roundRect+selectedD;K;6;$classD;K;6;CP$UIDd;3;581E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;661E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;624E;E;S;34;bordered+controlSizeMini+roundRectf;12;0.1843137294f;12;0.6745098233f;12;0.3843137622f;4;0.71D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;210E;D;K;6;CP$UIDd;3;210E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;620E;D;K;6;CP$UIDd;3;621E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;622E;D;K;6;CP$UIDd;3;623E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;624E;D;K;6;CP$UIDd;3;625E;E;E;E;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;22E;D;K;6;CP$UIDd;2;23E;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;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;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;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;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;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;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;1;0E;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;1;0E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;D;K;6;CP$UIDd;3;193E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;200E;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;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;3;195E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;3;196E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;3;197E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;3;198E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;3;199E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;3;200E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;133E;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;3;201E;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;3;202E;E;D;K;10;$classnameS;31;CPCibRuntimeAttributesConnectorK;8;$classesA;S;31;CPCibRuntimeAttributesConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;156E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;156E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;203E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;204E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;155E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;155E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;205E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;206E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;153E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;153E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;207E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;154E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;154E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;209E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;210E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;151E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;151E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;211E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;212E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;152E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;1;0E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;1;0E;K;40;CPCibRuntimeAttributesConnectorObjectKeyD;K;6;CP$UIDd;3;152E;K;42;CPCibRuntimeAttributesConnectorKeyPathsKeyD;K;6;CP$UIDd;3;213E;K;40;CPCibRuntimeAttributesConnectorValuesKeyD;K;6;CP$UIDd;3;214E;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;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;193E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;193E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;26E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;216E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;201E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;217E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;218E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;219E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;220E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;221E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;222E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;223E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;28E;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;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;225E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;226E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;227E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;E;D;K;10;$classnameS;5;CPBoxK;8;$classesA;S;5;CPBoxS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;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;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;236E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;241E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;242E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;243E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;245E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;246E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;247E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;248E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;249E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;250E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;251E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;252E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;253E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;254E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;255E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;256E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;257E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;258E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;259E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;260E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;233E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;261E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;262E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;263E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;264E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;265E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;263E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;266E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;267E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;263E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;268E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;269E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;263E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;270E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;271E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;263E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;272E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;273E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;263E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;274E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;275E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;263E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;276E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;277E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;263E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;278E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;279E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;263E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;280E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;281E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;263E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;282E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;283E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;263E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;284E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;285E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;263E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;286E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;287E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;288E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;289E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;290E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;291E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;292E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;294E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;295E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;292E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;296E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;297E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;292E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;298E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;299E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;288E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;289E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;300E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;301E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;288E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;289E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;302E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;303E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;288E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;289E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;304E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;305E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;288E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;289E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;306E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;307E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;288E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;289E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;308E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;309E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;288E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;310E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;311E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;312E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;288E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;310E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;313E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;314E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;288E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;310E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;315E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;316E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;288E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;310E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;317E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;318E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;310E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;320E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;321E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;288E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;310E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;322E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;323E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;324E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;327E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;7;$aimageD;K;6;CP$UIDd;3;331E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;334E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;338E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;339E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;340E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;7;$aimageD;K;6;CP$UIDd;3;342E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;343E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;344E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;348E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;349E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;350E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;351E;K;7;$aimageD;K;6;CP$UIDd;3;352E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;353E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;354E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;324E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;355E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;7;$aimageD;K;6;CP$UIDd;3;356E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;334E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;357E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;339E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;358E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;7;$aimageD;K;6;CP$UIDd;3;359E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;343E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;360E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;361E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;362E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;363E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;324E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;355E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;7;$aimageD;K;6;CP$UIDd;3;364E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;334E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;365E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;339E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;358E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;7;$aimageD;K;6;CP$UIDd;3;366E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;343E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;367E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;368E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;369E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;370E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;371E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;324E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;355E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;7;$aimageD;K;6;CP$UIDd;3;372E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;334E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;373E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;339E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;358E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;7;$aimageD;K;6;CP$UIDd;3;374E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;343E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;375E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;376E;K;7;$aimageD;K;6;CP$UIDd;3;377E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;378E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;293E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;379E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;324E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;355E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;380E;K;7;$aimageD;K;6;CP$UIDd;3;381E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;334E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;293E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;382E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;339E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;358E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;7;$aimageD;K;6;CP$UIDd;3;383E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;343E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;293E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;384E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;386E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;387E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;388E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;389E;K;7;$aimageD;K;6;CP$UIDd;3;390E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;391E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;392E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;393E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;394E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;395E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;396E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;349E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;397E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;351E;K;7;$aimageD;K;6;CP$UIDd;3;398E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;353E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;399E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;400E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;362E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;401E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;402E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;370E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;403E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;404E;K;7;$aimageD;K;6;CP$UIDd;3;405E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;378E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;293E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;406E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;407E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;387E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;408E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;409E;K;7;$aimageD;K;6;CP$UIDd;3;410E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;391E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;411E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;413E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;414E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;394E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;415E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;416E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;417E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;349E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;418E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;416E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;351E;K;7;$aimageD;K;6;CP$UIDd;3;419E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;353E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;420E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;416E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;421E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;362E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;422E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;368E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;416E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;423E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;370E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;424E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;416E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;425E;K;7;$aimageD;K;6;CP$UIDd;3;426E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;378E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;293E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;427E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;413E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;428E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;387E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;429E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;413E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;430E;K;7;$aimageD;K;6;CP$UIDd;3;431E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;391E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;432E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;434E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;394E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;435E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;436E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;349E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;437E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;351E;K;7;$aimageD;K;6;CP$UIDd;3;438E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;353E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;439E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;440E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;362E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;441E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;442E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;370E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;443E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;346E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;444E;K;7;$aimageD;K;6;CP$UIDd;3;445E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;378E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;293E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;446E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;447E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;387E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;448E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;449E;K;7;$aimageD;K;6;CP$UIDd;3;450E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;391E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;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;3;111E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;195E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;451E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;452E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;332E;K;6;$afontD;K;6;CP$UIDd;3;453E;K;7;$aimageD;K;6;CP$UIDd;3;454E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;293E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;112E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;333E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;112E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;459E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;112E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;195E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;111E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;196E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;460E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;452E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;413E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;332E;K;6;$afontD;K;6;CP$UIDd;3;453E;K;7;$aimageD;K;6;CP$UIDd;3;461E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;293E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;117E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;333E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;196E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;117E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;196E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;459E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;117E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;196E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;111E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;197E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;462E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;324E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;452E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;327E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;332E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;7;$aimageD;K;6;CP$UIDd;3;463E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;293E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;121E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;333E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;197E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;121E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;197E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;459E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;121E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;197E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;111E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;198E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;464E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;465E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;452E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;466E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;332E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;7;$aimageD;K;6;CP$UIDd;3;467E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;293E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;125E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;333E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;125E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;459E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;125E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;198E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;111E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;199E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;468E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;339E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;452E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;340E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;332E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;7;$aimageD;K;6;CP$UIDd;3;469E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;293E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;129E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;333E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;199E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;129E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;199E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;459E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;129E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;199E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;111E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;200E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;470E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;471E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;452E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;472E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;332E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;7;$aimageD;K;6;CP$UIDd;3;473E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;293E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;455E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;133E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;333E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;200E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;458E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;133E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;200E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;E;D;K;6;$classD;K;6;CP$UIDd;3;113E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;459E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;3;133E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;456E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;200E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;457E;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;3;137E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;474E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;475E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;476E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;477E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;478E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;337E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;480E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;481E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;475E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;476E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;482E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;335E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;337E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;480E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;483E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;484E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;476E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;485E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;335E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;337E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;480E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;486E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;487E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;476E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;488E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;335E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;337E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;480E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;489E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;490E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;476E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;491E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;335E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;337E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;480E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;492E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;493E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;476E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;494E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;335E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;337E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;480E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPComboBoxK;8;$classesA;S;10;CPComboBoxS;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;144E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;495E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;496E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;497E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;335E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;337E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;480E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;18;CPComboBoxItemsKeyD;K;6;CP$UIDd;3;499E;K;17;CPComboBoxListKeyD;K;6;CP$UIDd;1;0E;K;21;CPComboBoxDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPComboBoxDataSourceKeyD;K;6;CP$UIDd;1;0E;K;27;CPComboBoxUsesDataSourceKeyD;K;6;CP$UIDd;3;230E;K;22;CPComboBoxCompletesKeyD;K;6;CP$UIDd;3;230E;K;33;CPComboBoxNumberOfVisibleItemsKeyD;K;6;CP$UIDd;3;500E;K;32;CPComboBoxHasVerticalScrollerKeyD;K;6;CP$UIDd;3;337E;K;27;CPComboBoxButtonBorderedKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;144E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;501E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;502E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;497E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;503E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;335E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;337E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;480E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;18;CPComboBoxItemsKeyD;K;6;CP$UIDd;3;504E;K;17;CPComboBoxListKeyD;K;6;CP$UIDd;1;0E;K;21;CPComboBoxDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPComboBoxDataSourceKeyD;K;6;CP$UIDd;1;0E;K;27;CPComboBoxUsesDataSourceKeyD;K;6;CP$UIDd;3;230E;K;22;CPComboBoxCompletesKeyD;K;6;CP$UIDd;3;230E;K;33;CPComboBoxNumberOfVisibleItemsKeyD;K;6;CP$UIDd;3;500E;K;32;CPComboBoxHasVerticalScrollerKeyD;K;6;CP$UIDd;3;337E;K;27;CPComboBoxButtonBorderedKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;144E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;505E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;506E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;497E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;503E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;335E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;337E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;480E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;18;CPComboBoxItemsKeyD;K;6;CP$UIDd;3;507E;K;17;CPComboBoxListKeyD;K;6;CP$UIDd;1;0E;K;21;CPComboBoxDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPComboBoxDataSourceKeyD;K;6;CP$UIDd;1;0E;K;27;CPComboBoxUsesDataSourceKeyD;K;6;CP$UIDd;3;230E;K;22;CPComboBoxCompletesKeyD;K;6;CP$UIDd;3;230E;K;33;CPComboBoxNumberOfVisibleItemsKeyD;K;6;CP$UIDd;3;500E;K;32;CPComboBoxHasVerticalScrollerKeyD;K;6;CP$UIDd;3;337E;K;27;CPComboBoxButtonBorderedKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;144E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;508E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;509E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;497E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;510E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;335E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;337E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;480E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;18;CPComboBoxItemsKeyD;K;6;CP$UIDd;3;511E;K;17;CPComboBoxListKeyD;K;6;CP$UIDd;1;0E;K;21;CPComboBoxDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPComboBoxDataSourceKeyD;K;6;CP$UIDd;1;0E;K;27;CPComboBoxUsesDataSourceKeyD;K;6;CP$UIDd;3;230E;K;22;CPComboBoxCompletesKeyD;K;6;CP$UIDd;3;230E;K;33;CPComboBoxNumberOfVisibleItemsKeyD;K;6;CP$UIDd;3;500E;K;32;CPComboBoxHasVerticalScrollerKeyD;K;6;CP$UIDd;3;337E;K;27;CPComboBoxButtonBorderedKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;144E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;512E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;513E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;497E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;510E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;335E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;337E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;480E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;18;CPComboBoxItemsKeyD;K;6;CP$UIDd;3;514E;K;17;CPComboBoxListKeyD;K;6;CP$UIDd;1;0E;K;21;CPComboBoxDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPComboBoxDataSourceKeyD;K;6;CP$UIDd;1;0E;K;27;CPComboBoxUsesDataSourceKeyD;K;6;CP$UIDd;3;230E;K;22;CPComboBoxCompletesKeyD;K;6;CP$UIDd;3;230E;K;33;CPComboBoxNumberOfVisibleItemsKeyD;K;6;CP$UIDd;3;500E;K;32;CPComboBoxHasVerticalScrollerKeyD;K;6;CP$UIDd;3;337E;K;27;CPComboBoxButtonBorderedKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;144E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;515E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;496E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;497E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;498E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;335E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;337E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;480E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;18;CPComboBoxItemsKeyD;K;6;CP$UIDd;3;516E;K;17;CPComboBoxListKeyD;K;6;CP$UIDd;1;0E;K;21;CPComboBoxDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPComboBoxDataSourceKeyD;K;6;CP$UIDd;1;0E;K;27;CPComboBoxUsesDataSourceKeyD;K;6;CP$UIDd;3;230E;K;22;CPComboBoxCompletesKeyD;K;6;CP$UIDd;3;230E;K;33;CPComboBoxNumberOfVisibleItemsKeyD;K;6;CP$UIDd;3;500E;K;32;CPComboBoxHasVerticalScrollerKeyD;K;6;CP$UIDd;3;337E;K;27;CPComboBoxButtonBorderedKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;517E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;518E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;476E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;519E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;520E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;230E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;230E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;230E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;480E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;521E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;522E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;476E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;523E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;520E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;230E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;230E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;230E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;524E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;525E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;526E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;476E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;523E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;520E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;230E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;230E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;230E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;524E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;527E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;528E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;476E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;529E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;520E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;230E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;230E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;230E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;524E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;530E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;531E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;476E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;529E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;520E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;230E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;230E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;230E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;524E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;3;137E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;532E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;518E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;476E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;519E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;237E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;337E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;520E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;230E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;230E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;230E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;524E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;237E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;332E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;12;CPDatePickerK;8;$classesA;S;12;CPDatePickerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;157E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;533E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;534E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;535E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;536E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;537E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;539E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;13;CPIntervalKeyD;K;6;CP$UIDd;3;224E;K;19;CPDatePickerModeKeyD;K;6;CP$UIDd;3;224E;K;20;CPDatePickerStyleKeyD;K;6;CP$UIDd;3;224E;K;23;CPDatePickerElementsKeyD;K;6;CP$UIDd;3;540E;K;12;CPMinDateKeyD;K;6;CP$UIDd;3;541E;K;12;CPMaxDateKeyD;K;6;CP$UIDd;3;542E;K;14;CPDateValueKeyD;K;6;CP$UIDd;3;539E;K;13;CPTextFontKeyD;K;6;CP$UIDd;1;0E;K;11;CPLocaleKeyD;K;6;CP$UIDd;1;0E;K;20;CPBackgroundColorKeyD;K;6;CP$UIDd;3;535E;K;20;CPDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;13;CPBorderedKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;157E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;543E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;544E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;535E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;536E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;545E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;546E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;13;CPIntervalKeyD;K;6;CP$UIDd;3;224E;K;19;CPDatePickerModeKeyD;K;6;CP$UIDd;3;224E;K;20;CPDatePickerStyleKeyD;K;6;CP$UIDd;3;224E;K;23;CPDatePickerElementsKeyD;K;6;CP$UIDd;3;540E;K;12;CPMinDateKeyD;K;6;CP$UIDd;3;547E;K;12;CPMaxDateKeyD;K;6;CP$UIDd;3;548E;K;14;CPDateValueKeyD;K;6;CP$UIDd;3;546E;K;13;CPTextFontKeyD;K;6;CP$UIDd;1;0E;K;11;CPLocaleKeyD;K;6;CP$UIDd;1;0E;K;20;CPBackgroundColorKeyD;K;6;CP$UIDd;3;535E;K;20;CPDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;13;CPBorderedKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;157E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;549E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;550E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;535E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;536E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;545E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;551E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;13;CPIntervalKeyD;K;6;CP$UIDd;3;224E;K;19;CPDatePickerModeKeyD;K;6;CP$UIDd;3;224E;K;20;CPDatePickerStyleKeyD;K;6;CP$UIDd;3;224E;K;23;CPDatePickerElementsKeyD;K;6;CP$UIDd;3;540E;K;12;CPMinDateKeyD;K;6;CP$UIDd;3;552E;K;12;CPMaxDateKeyD;K;6;CP$UIDd;3;553E;K;14;CPDateValueKeyD;K;6;CP$UIDd;3;551E;K;13;CPTextFontKeyD;K;6;CP$UIDd;1;0E;K;11;CPLocaleKeyD;K;6;CP$UIDd;1;0E;K;20;CPBackgroundColorKeyD;K;6;CP$UIDd;3;535E;K;20;CPDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;13;CPBorderedKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;157E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;554E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;555E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;535E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;536E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;556E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;557E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;13;CPIntervalKeyD;K;6;CP$UIDd;3;224E;K;19;CPDatePickerModeKeyD;K;6;CP$UIDd;3;224E;K;20;CPDatePickerStyleKeyD;K;6;CP$UIDd;3;224E;K;23;CPDatePickerElementsKeyD;K;6;CP$UIDd;3;540E;K;12;CPMinDateKeyD;K;6;CP$UIDd;3;558E;K;12;CPMaxDateKeyD;K;6;CP$UIDd;3;559E;K;14;CPDateValueKeyD;K;6;CP$UIDd;3;557E;K;13;CPTextFontKeyD;K;6;CP$UIDd;1;0E;K;11;CPLocaleKeyD;K;6;CP$UIDd;1;0E;K;20;CPBackgroundColorKeyD;K;6;CP$UIDd;3;535E;K;20;CPDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;13;CPBorderedKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;157E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;560E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;561E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;535E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;536E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;556E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;562E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;13;CPIntervalKeyD;K;6;CP$UIDd;3;224E;K;19;CPDatePickerModeKeyD;K;6;CP$UIDd;3;224E;K;20;CPDatePickerStyleKeyD;K;6;CP$UIDd;3;224E;K;23;CPDatePickerElementsKeyD;K;6;CP$UIDd;3;540E;K;12;CPMinDateKeyD;K;6;CP$UIDd;3;563E;K;12;CPMaxDateKeyD;K;6;CP$UIDd;3;564E;K;14;CPDateValueKeyD;K;6;CP$UIDd;3;562E;K;13;CPTextFontKeyD;K;6;CP$UIDd;1;0E;K;11;CPLocaleKeyD;K;6;CP$UIDd;1;0E;K;20;CPBackgroundColorKeyD;K;6;CP$UIDd;3;535E;K;20;CPDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;13;CPBorderedKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;157E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;565E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;534E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;535E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;536E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;537E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;566E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;13;CPIntervalKeyD;K;6;CP$UIDd;3;224E;K;19;CPDatePickerModeKeyD;K;6;CP$UIDd;3;224E;K;20;CPDatePickerStyleKeyD;K;6;CP$UIDd;3;224E;K;23;CPDatePickerElementsKeyD;K;6;CP$UIDd;3;540E;K;12;CPMinDateKeyD;K;6;CP$UIDd;3;567E;K;12;CPMaxDateKeyD;K;6;CP$UIDd;3;568E;K;14;CPDateValueKeyD;K;6;CP$UIDd;3;566E;K;13;CPTextFontKeyD;K;6;CP$UIDd;1;0E;K;11;CPLocaleKeyD;K;6;CP$UIDd;1;0E;K;20;CPBackgroundColorKeyD;K;6;CP$UIDd;3;535E;K;20;CPDrawsBackgroundKeyD;K;6;CP$UIDd;3;337E;K;13;CPBorderedKeyD;K;6;CP$UIDd;3;337E;E;D;K;10;$classnameS;9;CPStepperK;8;$classesA;S;9;CPStepperS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;569E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;570E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;571E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;519E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;572E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;333E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;573E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;574E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;570E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;571E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;523E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;572E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;333E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;573E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;575E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;570E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;571E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;529E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;572E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;333E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;573E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;337E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;168E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;576E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;577E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;578E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;579E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;580E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;3;168E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;581E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;577E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;578E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;582E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;580E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;3;168E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;583E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;584E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;578E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;585E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;580E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;3;168E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;586E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;584E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;578E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;587E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;580E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;3;168E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;588E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;589E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;578E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;590E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;580E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;3;168E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;591E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;589E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;412E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;578E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;592E;K;11;$aalignmentD;K;6;CP$UIDd;3;332E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;580E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;593E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;345E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;325E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;326E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;385E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;7;$aimageD;K;6;CP$UIDd;3;594E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;394E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;336E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;224E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;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;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;595E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;596E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;597E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;598E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;599E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;600E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;2;27E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;601E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;599E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;602E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;E;D;K;10;$classnameS;7;CPRadioK;8;$classesA;S;7;CPRadioS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;179E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;603E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;604E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;605E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;519E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;606E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;608E;E;D;K;6;$classD;K;6;CP$UIDd;3;179E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;609E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;324E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;605E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;523E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;334E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;610E;E;D;K;6;$classD;K;6;CP$UIDd;3;179E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;611E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;612E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;605E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;529E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;343E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;335E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;613E;E;D;K;10;$classnameS;18;CPSegmentedControlK;8;$classesA;S;18;CPSegmentedControlS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;183E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;614E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;615E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;616E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;519E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;617E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;333E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;333E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;183E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;618E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;619E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;616E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;523E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;620E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;333E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;333E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;183E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;621E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;622E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;293E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;616E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;529E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;623E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;333E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;333E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;183E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;624E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;615E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;616E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;625E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;626E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;333E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;333E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;183E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;627E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;619E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;616E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;628E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;629E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;333E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;333E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;183E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;630E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;622E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;616E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;631E;K;11;$aalignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;29;CPSegmentedControlSegmentsKeyD;K;6;CP$UIDd;3;632E;K;29;CPSegmentedControlSelectedKeyD;K;6;CP$UIDd;3;333E;K;33;CPSegmentedControlSegmentStyleKeyD;K;6;CP$UIDd;3;333E;K;33;CPSegmentedControlTrackingModeKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;633E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;292E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;634E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;635E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;292E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;636E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;637E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;292E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;433E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;228E;K;14;$aborder-widthD;K;6;CP$UIDd;3;224E;K;15;$acorner-radiusD;K;6;CP$UIDd;3;224E;K;16;$acontent-marginD;K;6;CP$UIDd;3;638E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;237E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;238E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;239E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;224E;K;14;CPBoxTitleViewD;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;639E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;194E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;640E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;641E;E;D;K;6;$classD;K;6;CP$UIDd;3;194E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;640E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;642E;E;D;K;6;$classD;K;6;CP$UIDd;3;194E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;640E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;643E;E;D;K;6;$classD;K;6;CP$UIDd;3;194E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;640E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;644E;E;D;K;6;$classD;K;6;CP$UIDd;3;194E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;640E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;645E;E;D;K;6;$classD;K;6;CP$UIDd;3;194E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;640E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;646E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;26E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;647E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;648E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;647E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;649E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;647E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;650E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;647E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;651E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;647E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;652E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;647E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;653E;E;E;S;8;delegateS;9;theWindowS;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1879048192S;27;{{335, -411}, {1137, 1049}}S;22;{{0, 0}, {1680, 1028}}d;1;7S;6;Windowd;1;0S;22;{{0, 1}, {1137, 1049}}S;22;{{0, 0}, {1137, 1049}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;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;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;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;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;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;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;158E;D;K;6;CP$UIDd;3;159E;D;K;6;CP$UIDd;3;160E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;162E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;165E;D;K;6;CP$UIDd;3;166E;D;K;6;CP$UIDd;3;167E;D;K;6;CP$UIDd;3;169E;D;K;6;CP$UIDd;3;170E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;173E;D;K;6;CP$UIDd;3;174E;D;K;6;CP$UIDd;3;175E;D;K;6;CP$UIDd;3;176E;D;K;6;CP$UIDd;3;177E;D;K;6;CP$UIDd;3;178E;D;K;6;CP$UIDd;3;180E;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;3;182E;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;D;K;6;CP$UIDd;3;186E;D;K;6;CP$UIDd;3;187E;D;K;6;CP$UIDd;3;188E;D;K;6;CP$UIDd;3;189E;D;K;6;CP$UIDd;3;190E;D;K;6;CP$UIDd;3;191E;D;K;6;CP$UIDd;3;192E;E;E;S;6;normalS;6;{1, 1}F;S;20;{{0, 18}, {1137, 5}}S;19;{{0, 0}, {1137, 5}}d;2;34S;3;boxD;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;d;1;2d;1;3S;3;BoxS;20;{{0, 58}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;20;{{0, 99}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 139}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 177}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 215}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 255}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 296}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 331}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 372}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 403}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 438}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 530}, {1137, 5}}d;2;10D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 570}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 611}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 651}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 689}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 727}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 767}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 808}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 847}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 887}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 927}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{0, 969}, {1137, 5}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;20;{{18, 0}, {5, 1049}}S;19;{{0, 0}, {5, 1049}}d;2;20D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;20;{{93, 971}, {5, 88}}S;17;{{0, 0}, {5, 88}}d;2;12D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{329, 971}, {5, 88}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{438, 971}, {5, 88}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{247, 0}, {5, 1049}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{266, 0}, {5, 1049}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{359, 0}, {5, 1049}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{476, 0}, {5, 1049}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{386, 0}, {5, 1049}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{625, 0}, {5, 1049}}d;2;17D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{724, 0}, {5, 1049}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{749, 0}, {5, 1049}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{854, 0}, {5, 1049}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{882, 0}, {5, 1055}}S;19;{{0, 0}, {5, 1055}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;22;{{1111, 0}, {5, 1049}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;22;{{268, 298}, {94, 25}}S;18;{{0, 0}, {94, 25}}d;2;36S;6;buttonS;25;bordered+controlSizeSmallD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;656E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;659E;E;d;1;4d;1;1S;5;SmallS;0;d;2;14T;S;22;{{388, 298}, {91, 25}}S;18;{{0, 0}, {91, 25}}S;24;bordered+controlSizeMiniD;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;433E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;660E;E;S;4;MiniS;22;{{20, 101}, {230, 25}}S;19;{{0, 0}, {230, 25}}S;36;bordered+controlSizeRegular+selectedD;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;661E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;23;CPSmallSquareBezelStyleS;22;{{20, 141}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;293E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;351E;E;S;21;CPRoundRectBezelStyleS;22;{{268, 141}, {94, 25}}S;34;bordered+controlSizeSmall+selectedD;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;659E;E;S;22;{{388, 141}, {91, 25}}S;33;bordered+controlSizeMini+selectedD;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;660E;E;S;21;{{20, 60}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;27;CPTexturedRoundedBezelStyleS;21;{{268, 60}, {94, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;659E;E;S;21;{{388, 60}, {91, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;660E;E;S;21;{{21, 20}, {228, 25}}S;19;{{0, 0}, {228, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;26;CPTexturedSquareBezelStyleS;21;{{268, 20}, {94, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;659E;E;S;21;{{388, 20}, {91, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;660E;E;S;22;{{20, 179}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;293E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;337E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;351E;E;S;20;CPRecessedBezelStyleS;22;{{268, 179}, {94, 25}}D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;293E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;337E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;351E;E;S;22;{{388, 179}, {91, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;660E;E;S;22;{{20, 217}, {230, 25}}S;27;bordered+controlSizeRegularD;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;28;CPShadowlessSquareBezelStyleS;22;{{20, 257}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;263E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;663E;E;S;25;CPRegularSquareBezelStyleS;22;{{20, 810}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;19;CPRoundedBezelStyleS;22;{{20, 613}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;22;{{20, 653}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;351E;E;S;22;{{20, 572}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;22;{{20, 532}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;22;{{20, 691}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;293E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;337E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;351E;E;S;22;{{20, 729}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;22;{{20, 769}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;263E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;663E;E;S;23;{{884, 298}, {230, 25}}d;2;33S;36;bordered+controlSizeRegular+disabledD;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;23;{{884, 101}, {230, 25}}S;45;bordered+controlSizeRegular+disabled+selectedD;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;23;{{884, 141}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;351E;E;S;22;{{884, 60}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;22;{{885, 20}, {228, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;23;{{884, 179}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;293E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;337E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;351E;E;S;23;{{884, 217}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;23;{{884, 257}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;263E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;663E;E;S;23;{{884, 810}, {230, 25}}d;1;9D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;23;{{884, 613}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;23;{{884, 653}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;351E;E;S;23;{{884, 572}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;23;{{884, 532}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;23;{{884, 691}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;293E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;337E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;351E;E;S;23;{{884, 729}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;23;{{884, 769}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;263E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;663E;E;S;22;{{20, 440}, {230, 25}}S;12;popup-buttonD;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;661E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;6;Item 1S;17;_popUpItemAction:d;7;1048576S;6;Item 2S;6;Item 3S;23;{{884, 440}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;22;{{268, 440}, {94, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;659E;E;S;23;{{751, 440}, {106, 25}}S;19;{{0, 0}, {106, 25}}S;34;bordered+controlSizeSmall+disabledD;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;659E;E;S;22;{{388, 440}, {91, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;660E;E;S;23;{{627, 440}, {100, 25}}S;19;{{0, 0}, {100, 25}}S;33;bordered+controlSizeMini+disabledD;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;660E;E;S;22;{{16, 330}, {238, 22}}S;19;{{0, 0}, {238, 22}}S;9;textfieldS;35;bezeled+controlSizeRegular+editableS;6;TargetD;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;479E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;664E;E;S;23;{{880, 330}, {238, 22}}S;56;bezeled+controlSizeRegular+disabled+editable+placeholderS;23;{{265, 330}, {101, 26}}S;19;{{0, 0}, {101, 26}}S;45;bezeled+controlSizeSmall+editable+placeholderS;23;{{748, 330}, {113, 26}}S;19;{{0, 0}, {113, 26}}S;54;bezeled+controlSizeSmall+disabled+editable+placeholderS;22;{{384, 330}, {99, 23}}S;18;{{0, 0}, {99, 23}}S;44;bezeled+controlSizeMini+editable+placeholderS;23;{{623, 330}, {108, 23}}S;19;{{0, 0}, {108, 23}}S;53;bezeled+controlSizeMini+disabled+editable+placeholderS;22;{{16, 846}, {238, 26}}S;19;{{0, 0}, {238, 26}}S;8;comboboxS;63;bezeled+button-bordered+controlSizeRegular+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;E;E;d;1;5S;23;{{264, 846}, {102, 22}}S;19;{{0, 0}, {102, 22}}S;61;bezeled+button-bordered+controlSizeSmall+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;E;E;S;23;{{747, 846}, {114, 22}}S;19;{{0, 0}, {114, 22}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;E;E;S;22;{{384, 846}, {99, 19}}S;18;{{0, 0}, {99, 19}}S;60;bezeled+button-bordered+controlSizeMini+editable+placeholderD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;E;E;S;23;{{623, 846}, {108, 19}}S;19;{{0, 0}, {108, 19}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;E;E;S;23;{{880, 846}, {238, 26}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;D;K;6;CP$UIDd;3;665E;E;E;S;22;{{20, 889}, {230, 17}}S;19;{{0, 0}, {230, 17}}S;18;controlSizeRegularS;5;LabelS;22;{{268, 889}, {94, 14}}S;18;{{0, 0}, {94, 14}}S;16;controlSizeSmallD;K;6;$classD;K;6;CP$UIDd;3;479E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;666E;E;S;23;{{751, 889}, {106, 14}}S;19;{{0, 0}, {106, 14}}S;22;{{388, 889}, {91, 11}}S;18;{{0, 0}, {91, 11}}S;15;controlSizeMiniS;23;{{627, 889}, {100, 11}}S;19;{{0, 0}, {100, 11}}S;23;{{884, 889}, {230, 17}}S;22;{{20, 926}, {230, 29}}S;19;{{0, 0}, {230, 29}}D;K;6;$classD;K;6;CP$UIDd;3;479E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;667E;E;S;10;datePickerS;35;bezeled+bordered+controlSizeRegularD;K;10;$classnameS;6;CPDateK;8;$classesA;S;6;CPDateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;224E;E;d;3;224D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;668E;E;D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;669E;E;S;22;{{268, 926}, {93, 29}}S;18;{{0, 0}, {93, 29}}S;33;bezeled+bordered+controlSizeSmallD;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;668E;E;D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;669E;E;S;23;{{751, 925}, {105, 29}}S;19;{{0, 0}, {105, 29}}D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;668E;E;D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;669E;E;S;22;{{388, 926}, {91, 29}}S;18;{{0, 0}, {91, 29}}S;32;bezeled+bordered+controlSizeMiniD;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;668E;E;D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;669E;E;S;23;{{627, 926}, {100, 29}}S;19;{{0, 0}, {100, 29}}D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;668E;E;D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;669E;E;S;23;{{884, 926}, {230, 29}}D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;668E;E;D;K;6;$classD;K;6;CP$UIDd;3;538E;K;13;CPDateTimeKeyD;K;6;CP$UIDd;3;669E;E;S;19;{{20, 374}, {0, 0}}S;16;{{0, 0}, {0, 0}}S;7;stepperd;5;65540d;3;100S;20;{{269, 374}, {0, 0}}S;20;{{389, 375}, {0, 0}}S;21;{{17, 402}, {71, 21}}S;18;{{0, 0}, {71, 21}}S;9;check-boxS;27;controlSizeRegular+selectedS;5;CheckS;22;{{880, 402}, {71, 21}}S;36;controlSizeRegular+disabled+selectedS;22;{{266, 402}, {62, 21}}S;18;{{0, 0}, {62, 21}}S;25;controlSizeSmall+selectedS;22;{{749, 402}, {62, 21}}S;34;controlSizeSmall+disabled+selectedS;22;{{386, 400}, {97, 22}}S;18;{{0, 0}, {97, 22}}S;24;controlSizeMini+selectedS;22;{{625, 400}, {97, 22}}S;33;controlSizeMini+disabled+selectedS;22;{{20, 298}, {230, 25}}D;K;6;$classD;K;6;CP$UIDd;3;330E;K;4;nameD;K;6;CP$UIDd;3;657E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;5;stateD;K;6;CP$UIDd;3;658E;K;5;valueD;K;6;CP$UIDd;3;662E;E;S;22;{{268, 613}, {94, 40}}S;18;{{0, 0}, {94, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;670E;D;K;6;CP$UIDd;3;671E;E;E;S;22;{{388, 613}, {91, 40}}S;18;{{0, 0}, {91, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;672E;D;K;6;CP$UIDd;3;673E;E;E;S;22;{{388, 653}, {91, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;674E;D;K;6;CP$UIDd;3;675E;E;E;S;22;{{267, 529}, {97, 23}}S;18;{{0, 0}, {97, 23}}S;5;radioS;7;RegularD;K;10;$classnameS;12;CPRadioGroupK;8;$classesA;S;12;CPRadioGroupS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;607E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;676E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;1;0E;E;S;22;{{386, 527}, {94, 25}}D;K;6;$classD;K;6;CP$UIDd;3;607E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;677E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;1;0E;E;S;22;{{386, 565}, {96, 29}}S;18;{{0, 0}, {96, 29}}D;K;6;$classD;K;6;CP$UIDd;3;607E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;678E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;1;0E;E;S;21;{{21, 971}, {76, 25}}S;18;{{0, 0}, {76, 25}}S;17;segmented-controlD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;680E;D;K;6;CP$UIDd;3;681E;E;E;S;22;{{268, 971}, {63, 20}}S;18;{{0, 0}, {63, 20}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;682E;D;K;6;CP$UIDd;3;683E;E;E;S;22;{{388, 971}, {53, 15}}S;18;{{0, 0}, {53, 15}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;684E;D;K;6;CP$UIDd;3;685E;E;E;S;22;{{884, 971}, {76, 25}}S;27;controlSizeRegular+disabledD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;686E;D;K;6;CP$UIDd;3;687E;E;E;S;22;{{751, 971}, {63, 20}}S;25;controlSizeSmall+disabledD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;688E;D;K;6;CP$UIDd;3;689E;E;E;S;22;{{627, 971}, {53, 15}}S;24;controlSizeMini+disabledD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;690E;D;K;6;CP$UIDd;3;691E;E;E;S;21;{{677, 971}, {5, 88}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{812, 971}, {5, 88}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;21;{{957, 971}, {5, 88}}D;K;6;$classD;K;6;CP$UIDd;3;235E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;654E;E;S;13;AppControllerS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;E;E;S;15;backgroundColorD;K;6;$classD;K;6;CP$UIDd;3;479E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;692E;E;D;K;6;$classD;K;6;CP$UIDd;3;479E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;693E;E;D;K;6;$classD;K;6;CP$UIDd;3;479E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;694E;E;D;K;6;$classD;K;6;CP$UIDd;3;479E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;695E;E;D;K;6;$classD;K;6;CP$UIDd;3;479E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;696E;E;D;K;6;$classD;K;6;CP$UIDd;3;479E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;697E;E;S;22;{"width":0,"height":0}S;29;.Helvetica Neue DeskInterfaced;2;11S;5;imageS;11;highlightedD;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;656E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;433E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;d;2;13D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;661E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;3;328E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;655E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;263E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;230E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;333E;E;E;S;4;ItemD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;698E;D;K;6;CP$UIDd;3;698E;D;K;6;CP$UIDd;3;698E;D;K;6;CP$UIDd;3;333E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;333E;D;K;6;CP$UIDd;3;333E;E;E;d;15;-62135510400000d;14;64092297600000D;K;6;$classD;K;6;CP$UIDd;3;179E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;176E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;333E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;699E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;699E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;176E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;700E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;701E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;605E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;702E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;237E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;703E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;704E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;705E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;706E;E;D;K;6;$classD;K;6;CP$UIDd;3;179E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;176E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;707E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;699E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;176E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;700E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;701E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;605E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;708E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;347E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;237E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;224E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;703E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;704E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;705E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;706E;E;D;K;6;$classD;K;6;CP$UIDd;3;179E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;177E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;333E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;709E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;709E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;177E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;700E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;701E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;605E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;710E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;237E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;703E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;704E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;705E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;711E;E;D;K;6;$classD;K;6;CP$UIDd;3;179E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;177E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;712E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;709E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;177E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;700E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;701E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;605E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;713E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;329E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;237E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;333E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;703E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;704E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;705E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;711E;E;D;K;6;$classD;K;6;CP$UIDd;3;179E;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;333E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;714E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;714E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;178E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;700E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;701E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;605E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;715E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;237E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;333E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;703E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;704E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;705E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;716E;E;D;K;6;$classD;K;6;CP$UIDd;3;179E;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;224E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;717E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;714E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;178E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;700E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;701E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;605E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;718E;K;11;$aalignmentD;K;6;CP$UIDd;3;224E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;237E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;224E;K;6;$afontD;K;6;CP$UIDd;3;341E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;237E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;3;229E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;3;230E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;224E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;332E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;3;237E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;703E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;230E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;333E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;333E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;337E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;237E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;224E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;704E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;705E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;716E;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;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;14;_CPSegmentItemK;8;$classesA;S;14;_CPSegmentItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;679E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;719E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;230E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;337E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;224E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;679E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;720E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;337E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;337E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;333E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;679E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;719E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;230E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;337E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;224E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;679E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;720E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;337E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;337E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;333E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;679E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;719E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;230E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;337E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;224E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;679E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;720E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;337E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;337E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;333E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;679E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;719E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;230E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;337E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;224E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;679E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;720E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;337E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;337E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;333E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;679E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;719E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;230E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;230E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;224E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;679E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;720E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;337E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;337E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;333E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;679E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;719E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;230E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;230E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;224E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;3;679E;K;21;CPSegmentItemImageKeyD;K;6;CP$UIDd;1;0E;K;21;CPSegmentItemLabelKeyD;K;6;CP$UIDd;3;720E;K;20;CPSegmentItemMenuKeyD;K;6;CP$UIDd;1;0E;K;24;CPSegmentItemSelectedKeyD;K;6;CP$UIDd;3;337E;K;23;CPSegmentItemEnabledKeyD;K;6;CP$UIDd;3;337E;K;19;CPSegmentItemTagKeyD;K;6;CP$UIDd;3;333E;K;21;CPSegmentItemWidthKeyD;K;6;CP$UIDd;3;224E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;721E;D;K;6;CP$UIDd;3;722E;D;K;6;CP$UIDd;3;723E;D;K;6;CP$UIDd;3;724E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;721E;D;K;6;CP$UIDd;3;722E;D;K;6;CP$UIDd;3;723E;D;K;6;CP$UIDd;3;724E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;721E;D;K;6;CP$UIDd;3;722E;D;K;6;CP$UIDd;3;723E;D;K;6;CP$UIDd;3;724E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;721E;D;K;6;CP$UIDd;3;722E;D;K;6;CP$UIDd;3;723E;D;K;6;CP$UIDd;3;724E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;721E;D;K;6;CP$UIDd;3;722E;D;K;6;CP$UIDd;3;723E;D;K;6;CP$UIDd;3;724E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;721E;D;K;6;CP$UIDd;3;722E;D;K;6;CP$UIDd;3;723E;D;K;6;CP$UIDd;3;724E;E;E;f;18;0.6862745098039216S;18;{{0, 0}, {58, 18}}d;2;18D;K;6;$classD;K;6;CP$UIDd;3;479E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;725E;E;S;46;bordered+controlSizeRegular+roundRect+selectedS;5;Radiof;3;0.5f;4;0.05D;K;6;$classD;K;6;CP$UIDd;3;607E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;726E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;670E;E;S;19;{{0, 20}, {58, 18}}S;37;bordered+controlSizeRegular+roundRectS;18;{{0, 0}, {53, 18}}S;44;bordered+controlSizeSmall+roundRect+selectedD;K;6;$classD;K;6;CP$UIDd;3;607E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;727E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;672E;E;S;19;{{0, 20}, {53, 18}}S;35;bordered+controlSizeSmall+roundRectS;18;{{0, 0}, {48, 18}}S;43;bordered+controlSizeMini+roundRect+selectedD;K;6;$classD;K;6;CP$UIDd;3;607E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;728E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;674E;E;S;19;{{0, 20}, {48, 18}}S;34;bordered+controlSizeMini+roundRectS;1;TS;4;Testf;12;0.1843137294f;12;0.6745098233f;12;0.3843137622f;4;0.71D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;224E;D;K;6;CP$UIDd;3;224E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;670E;D;K;6;CP$UIDd;3;671E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;672E;D;K;6;CP$UIDd;3;673E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;674E;D;K;6;CP$UIDd;3;675E;E;E;E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/Nib2CibAlignment/Resources/MainMenu.xib b/Tests/Manual/Nib2CibAlignment/Resources/MainMenu.xib index e76d33bf0..3405858be 100644 --- a/Tests/Manual/Nib2CibAlignment/Resources/MainMenu.xib +++ b/Tests/Manual/Nib2CibAlignment/Resources/MainMenu.xib @@ -1,8 +1,8 @@ - + - + @@ -11,263 +11,291 @@ - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + + + + + + + + + + + + + + + - - + + - - + + - - - - - - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + @@ -610,7 +638,7 @@ - + @@ -625,7 +653,7 @@ - + @@ -640,7 +668,7 @@ - + @@ -655,7 +683,7 @@ - + @@ -670,7 +698,7 @@ - + @@ -685,7 +713,7 @@ - + @@ -694,7 +722,7 @@ - + @@ -703,7 +731,7 @@ - + @@ -712,7 +740,7 @@ - + @@ -721,7 +749,7 @@ - + @@ -730,7 +758,7 @@ - + @@ -739,7 +767,7 @@ - + @@ -753,7 +781,7 @@ - + @@ -767,7 +795,7 @@ - + @@ -781,7 +809,7 @@ - + @@ -795,7 +823,7 @@ - + @@ -809,7 +837,7 @@ - + @@ -823,7 +851,7 @@ - + @@ -837,7 +865,7 @@ - + @@ -851,7 +879,7 @@ - + @@ -865,7 +893,7 @@ - + @@ -879,7 +907,7 @@ - + @@ -893,7 +921,7 @@ - + @@ -907,220 +935,100 @@ - + - - - -VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAC5AAAABAAAABCepkign7sVkKCGKqChmveQ -y4kaoNIj9HDSYSYQ1v50INiArZDa/tGg28CQENzes6DdqayQ3r6VoN+JjpDgnneg4WlwkOJ+WaDjSVKQ -5F47oOUpNJDmR1gg5xJREOgnOiDo8jMQ6gccIOrSFRDr5v4g7LH3EO3G4CDukdkQ76/8oPBxuxDxj96g -8n/BkPNvwKD0X6OQ9U+ioPY/hZD3L4Sg+CiiEPkPZqD6CIQQ+viDIPvoZhD82GUg/chIEP64RyD/qCoQ -AJgpIAGIDBACeAsgA3EokARhJ6AFUQqQBkEJoAcw7JAHjUOgCRDOkAmtvyAK8LCQC+CvoAzZzRANwJGg -DrmvEA+priAQmZEQEYmQIBJ5cxATaXIgFFlVEBVJVCAWOTcQFyk2IBgiU5AZCRggGgI1kBryNKAb4heQ -HNIWoB3B+ZAesfigH6HbkCB2KyAhgb2QIlYNICNq2hAkNe8gJUq8ECYV0SAnKp4QJ/7toCkKgBAp3s+g -KupiECu+saAs036QLZ6ToC6zYJAvfnWgMJNCkDFnkiAycySQM0d0IDRTBpA1J1YgNjLokDcHOCA4HAUQ -OOcaIDn75xA6xvwgO9vJEDywGKA9u6sQPo/6oD+bjRBAb9ygQYSpkEJPvqBDZIuQRC+goEVEbZBF89Mg -Ry2KEEfTtSBJDWwQSbOXIErtThBLnLOgTNZqkE18laBOtkyQT1x3oFCWLpBRPFmgUnYQkFMcO6BUVfKQ -VPwdoFY11JBW5TogWB7xEFjFHCBZ/tMQWqT+IFvetRBchOAgXb6XEF5kwiBfnnkQYE3eoGGHlZBiLcCg -Y2d3kGQNoqBlR1mQZe2EoGcnO5BnzWagaQcdkGmtSKBq5v+Qa5ZlIGzQHBBtdkcgbq/+EG9WKSBwj+AQ -cTYLIHJvwhBzFe0gdE+kEHT/CaB2OMCQdt7roHgYopB4vs2gefiEkHqer6B72GaQfH6RoH24SJB+XnOg -f5gqkAABAAECAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA - - + + - + - - - -VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAC5AAAABAAAABCepkign7sVkKCGKqChmveQ -y4kaoNIj9HDSYSYQ1v50INiArZDa/tGg28CQENzes6DdqayQ3r6VoN+JjpDgnneg4WlwkOJ+WaDjSVKQ -5F47oOUpNJDmR1gg5xJREOgnOiDo8jMQ6gccIOrSFRDr5v4g7LH3EO3G4CDukdkQ76/8oPBxuxDxj96g -8n/BkPNvwKD0X6OQ9U+ioPY/hZD3L4Sg+CiiEPkPZqD6CIQQ+viDIPvoZhD82GUg/chIEP64RyD/qCoQ -AJgpIAGIDBACeAsgA3EokARhJ6AFUQqQBkEJoAcw7JAHjUOgCRDOkAmtvyAK8LCQC+CvoAzZzRANwJGg -DrmvEA+priAQmZEQEYmQIBJ5cxATaXIgFFlVEBVJVCAWOTcQFyk2IBgiU5AZCRggGgI1kBryNKAb4heQ -HNIWoB3B+ZAesfigH6HbkCB2KyAhgb2QIlYNICNq2hAkNe8gJUq8ECYV0SAnKp4QJ/7toCkKgBAp3s+g -KupiECu+saAs036QLZ6ToC6zYJAvfnWgMJNCkDFnkiAycySQM0d0IDRTBpA1J1YgNjLokDcHOCA4HAUQ -OOcaIDn75xA6xvwgO9vJEDywGKA9u6sQPo/6oD+bjRBAb9ygQYSpkEJPvqBDZIuQRC+goEVEbZBF89Mg -Ry2KEEfTtSBJDWwQSbOXIErtThBLnLOgTNZqkE18laBOtkyQT1x3oFCWLpBRPFmgUnYQkFMcO6BUVfKQ -VPwdoFY11JBW5TogWB7xEFjFHCBZ/tMQWqT+IFvetRBchOAgXb6XEF5kwiBfnnkQYE3eoGGHlZBiLcCg -Y2d3kGQNoqBlR1mQZe2EoGcnO5BnzWagaQcdkGmtSKBq5v+Qa5ZlIGzQHBBtdkcgbq/+EG9WKSBwj+AQ -cTYLIHJvwhBzFe0gdE+kEHT/CaB2OMCQdt7roHgYopB4vs2gefiEkHqer6B72GaQfH6RoH24SJB+XnOg -f5gqkAABAAECAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA - - + + - + - - - -VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAC5AAAABAAAABCepkign7sVkKCGKqChmveQ -y4kaoNIj9HDSYSYQ1v50INiArZDa/tGg28CQENzes6DdqayQ3r6VoN+JjpDgnneg4WlwkOJ+WaDjSVKQ -5F47oOUpNJDmR1gg5xJREOgnOiDo8jMQ6gccIOrSFRDr5v4g7LH3EO3G4CDukdkQ76/8oPBxuxDxj96g -8n/BkPNvwKD0X6OQ9U+ioPY/hZD3L4Sg+CiiEPkPZqD6CIQQ+viDIPvoZhD82GUg/chIEP64RyD/qCoQ -AJgpIAGIDBACeAsgA3EokARhJ6AFUQqQBkEJoAcw7JAHjUOgCRDOkAmtvyAK8LCQC+CvoAzZzRANwJGg -DrmvEA+priAQmZEQEYmQIBJ5cxATaXIgFFlVEBVJVCAWOTcQFyk2IBgiU5AZCRggGgI1kBryNKAb4heQ -HNIWoB3B+ZAesfigH6HbkCB2KyAhgb2QIlYNICNq2hAkNe8gJUq8ECYV0SAnKp4QJ/7toCkKgBAp3s+g -KupiECu+saAs036QLZ6ToC6zYJAvfnWgMJNCkDFnkiAycySQM0d0IDRTBpA1J1YgNjLokDcHOCA4HAUQ -OOcaIDn75xA6xvwgO9vJEDywGKA9u6sQPo/6oD+bjRBAb9ygQYSpkEJPvqBDZIuQRC+goEVEbZBF89Mg -Ry2KEEfTtSBJDWwQSbOXIErtThBLnLOgTNZqkE18laBOtkyQT1x3oFCWLpBRPFmgUnYQkFMcO6BUVfKQ -VPwdoFY11JBW5TogWB7xEFjFHCBZ/tMQWqT+IFvetRBchOAgXb6XEF5kwiBfnnkQYE3eoGGHlZBiLcCg -Y2d3kGQNoqBlR1mQZe2EoGcnO5BnzWagaQcdkGmtSKBq5v+Qa5ZlIGzQHBBtdkcgbq/+EG9WKSBwj+AQ -cTYLIHJvwhBzFe0gdE+kEHT/CaB2OMCQdt7roHgYopB4vs2gefiEkHqer6B72GaQfH6RoH24SJB+XnOg -f5gqkAABAAECAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA - - + + - + - - - -VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAC5AAAABAAAABCepkign7sVkKCGKqChmveQ -y4kaoNIj9HDSYSYQ1v50INiArZDa/tGg28CQENzes6DdqayQ3r6VoN+JjpDgnneg4WlwkOJ+WaDjSVKQ -5F47oOUpNJDmR1gg5xJREOgnOiDo8jMQ6gccIOrSFRDr5v4g7LH3EO3G4CDukdkQ76/8oPBxuxDxj96g -8n/BkPNvwKD0X6OQ9U+ioPY/hZD3L4Sg+CiiEPkPZqD6CIQQ+viDIPvoZhD82GUg/chIEP64RyD/qCoQ -AJgpIAGIDBACeAsgA3EokARhJ6AFUQqQBkEJoAcw7JAHjUOgCRDOkAmtvyAK8LCQC+CvoAzZzRANwJGg -DrmvEA+priAQmZEQEYmQIBJ5cxATaXIgFFlVEBVJVCAWOTcQFyk2IBgiU5AZCRggGgI1kBryNKAb4heQ -HNIWoB3B+ZAesfigH6HbkCB2KyAhgb2QIlYNICNq2hAkNe8gJUq8ECYV0SAnKp4QJ/7toCkKgBAp3s+g -KupiECu+saAs036QLZ6ToC6zYJAvfnWgMJNCkDFnkiAycySQM0d0IDRTBpA1J1YgNjLokDcHOCA4HAUQ -OOcaIDn75xA6xvwgO9vJEDywGKA9u6sQPo/6oD+bjRBAb9ygQYSpkEJPvqBDZIuQRC+goEVEbZBF89Mg -Ry2KEEfTtSBJDWwQSbOXIErtThBLnLOgTNZqkE18laBOtkyQT1x3oFCWLpBRPFmgUnYQkFMcO6BUVfKQ -VPwdoFY11JBW5TogWB7xEFjFHCBZ/tMQWqT+IFvetRBchOAgXb6XEF5kwiBfnnkQYE3eoGGHlZBiLcCg -Y2d3kGQNoqBlR1mQZe2EoGcnO5BnzWagaQcdkGmtSKBq5v+Qa5ZlIGzQHBBtdkcgbq/+EG9WKSBwj+AQ -cTYLIHJvwhBzFe0gdE+kEHT/CaB2OMCQdt7roHgYopB4vs2gefiEkHqer6B72GaQfH6RoH24SJB+XnOg -f5gqkAABAAECAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA - - + + - + - - - -VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAC5AAAABAAAABCepkign7sVkKCGKqChmveQ -y4kaoNIj9HDSYSYQ1v50INiArZDa/tGg28CQENzes6DdqayQ3r6VoN+JjpDgnneg4WlwkOJ+WaDjSVKQ -5F47oOUpNJDmR1gg5xJREOgnOiDo8jMQ6gccIOrSFRDr5v4g7LH3EO3G4CDukdkQ76/8oPBxuxDxj96g -8n/BkPNvwKD0X6OQ9U+ioPY/hZD3L4Sg+CiiEPkPZqD6CIQQ+viDIPvoZhD82GUg/chIEP64RyD/qCoQ -AJgpIAGIDBACeAsgA3EokARhJ6AFUQqQBkEJoAcw7JAHjUOgCRDOkAmtvyAK8LCQC+CvoAzZzRANwJGg -DrmvEA+priAQmZEQEYmQIBJ5cxATaXIgFFlVEBVJVCAWOTcQFyk2IBgiU5AZCRggGgI1kBryNKAb4heQ -HNIWoB3B+ZAesfigH6HbkCB2KyAhgb2QIlYNICNq2hAkNe8gJUq8ECYV0SAnKp4QJ/7toCkKgBAp3s+g -KupiECu+saAs036QLZ6ToC6zYJAvfnWgMJNCkDFnkiAycySQM0d0IDRTBpA1J1YgNjLokDcHOCA4HAUQ -OOcaIDn75xA6xvwgO9vJEDywGKA9u6sQPo/6oD+bjRBAb9ygQYSpkEJPvqBDZIuQRC+goEVEbZBF89Mg -Ry2KEEfTtSBJDWwQSbOXIErtThBLnLOgTNZqkE18laBOtkyQT1x3oFCWLpBRPFmgUnYQkFMcO6BUVfKQ -VPwdoFY11JBW5TogWB7xEFjFHCBZ/tMQWqT+IFvetRBchOAgXb6XEF5kwiBfnnkQYE3eoGGHlZBiLcCg -Y2d3kGQNoqBlR1mQZe2EoGcnO5BnzWagaQcdkGmtSKBq5v+Qa5ZlIGzQHBBtdkcgbq/+EG9WKSBwj+AQ -cTYLIHJvwhBzFe0gdE+kEHT/CaB2OMCQdt7roHgYopB4vs2gefiEkHqer6B72GaQfH6RoH24SJB+XnOg -f5gqkAABAAECAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA - - + + - + - - - -VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAC5AAAABAAAABCepkign7sVkKCGKqChmveQ -y4kaoNIj9HDSYSYQ1v50INiArZDa/tGg28CQENzes6DdqayQ3r6VoN+JjpDgnneg4WlwkOJ+WaDjSVKQ -5F47oOUpNJDmR1gg5xJREOgnOiDo8jMQ6gccIOrSFRDr5v4g7LH3EO3G4CDukdkQ76/8oPBxuxDxj96g -8n/BkPNvwKD0X6OQ9U+ioPY/hZD3L4Sg+CiiEPkPZqD6CIQQ+viDIPvoZhD82GUg/chIEP64RyD/qCoQ -AJgpIAGIDBACeAsgA3EokARhJ6AFUQqQBkEJoAcw7JAHjUOgCRDOkAmtvyAK8LCQC+CvoAzZzRANwJGg -DrmvEA+priAQmZEQEYmQIBJ5cxATaXIgFFlVEBVJVCAWOTcQFyk2IBgiU5AZCRggGgI1kBryNKAb4heQ -HNIWoB3B+ZAesfigH6HbkCB2KyAhgb2QIlYNICNq2hAkNe8gJUq8ECYV0SAnKp4QJ/7toCkKgBAp3s+g -KupiECu+saAs036QLZ6ToC6zYJAvfnWgMJNCkDFnkiAycySQM0d0IDRTBpA1J1YgNjLokDcHOCA4HAUQ -OOcaIDn75xA6xvwgO9vJEDywGKA9u6sQPo/6oD+bjRBAb9ygQYSpkEJPvqBDZIuQRC+goEVEbZBF89Mg -Ry2KEEfTtSBJDWwQSbOXIErtThBLnLOgTNZqkE18laBOtkyQT1x3oFCWLpBRPFmgUnYQkFMcO6BUVfKQ -VPwdoFY11JBW5TogWB7xEFjFHCBZ/tMQWqT+IFvetRBchOAgXb6XEF5kwiBfnnkQYE3eoGGHlZBiLcCg -Y2d3kGQNoqBlR1mQZe2EoGcnO5BnzWagaQcdkGmtSKBq5v+Qa5ZlIGzQHBBtdkcgbq/+EG9WKSBwj+AQ -cTYLIHJvwhBzFe0gdE+kEHT/CaB2OMCQdt7roHgYopB4vs2gefiEkHqer6B72GaQfH6RoH24SJB+XnOg -f5gqkAABAAECAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA -AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA - - + + - + - + - + - + - + @@ -1199,10 +1107,10 @@ AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA - + - + @@ -1222,10 +1130,10 @@ AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA - + - + @@ -1245,7 +1153,7 @@ AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/Objective-J/CFErrorTest.j b/Tests/Objective-J/CFErrorTest.j new file mode 100644 index 000000000..cea9ba69a --- /dev/null +++ b/Tests/Objective-J/CFErrorTest.j @@ -0,0 +1,60 @@ +@import + + +@implementation CFErrorTest : OJTestCase + +- (void)testCreate +{ + var err = new CFError(); + [self assertNotNull:err]; +} + +- (void)testCreateWithParams +{ + var err = new CFError(kCFErrorDomainCappuccino, -1000, nil); + [self assertNotNull:err]; + [self assert:-1000 equals:err.code()]; +} + +- (void)testCreateGlobal +{ + var err = CFErrorCreate(kCFErrorDomainCappuccino, -1000, nil); + [self assertNotNull:err]; + + [self assert:kCFErrorDomainCappuccino equals:err.domain()]; + [self assert:-1000 equals:err.code()]; + [self assert:@"CPCappuccinoErrorDomain" equals:CFErrorGetDomain(err)]; +} + +- (void)testCreateWithUserInfoKeysAndValues +{ + var err = CFErrorCreateWithUserInfoKeysAndValues(kCFErrorDomainCappuccino, -1000, [kCFErrorLocalizedDescriptionKey, kCFErrorDescriptionKey], [@"A localized description", @"An error description"], 2); + [self assertNotNull:err]; + + var info = err.userInfo(); + [self assert:2 equals:info.count()]; +} + +- (void)testDescriptionCaseOne +{ + // Description case 1: Localized Key set + var err = CFErrorCreateWithUserInfoKeysAndValues(kCFErrorDomainCappuccino, -1000, [kCFErrorLocalizedDescriptionKey], [@"A localized Description Key"], 1); + [self assert:@"A localized Description Key" equals:err.description()]; + [self assert:@"A localized Description Key" equals:CFErrorCopyDescription(err)]; +} + +- (void)testDescriptionCaseTwo +{ + // Case 2: Reason set; description generated + var err = CFErrorCreateWithUserInfoKeysAndValues(kCFErrorDomainCappuccino, -1000, [kCFErrorLocalizedFailureReasonKey], [@"A localized reason"], 1); + [self assert:@"The operation couldn\u2019t be completed. A localized reason" equals:err.description()]; +} + +- (void)testDescriptionCaseThree +{ + // Case 3: Final fall-back. + var err = CFErrorCreateWithUserInfoKeysAndValues(kCFErrorDomainCappuccino, -1000, [kCFErrorDescriptionKey], [@"A description key"], 1); + [self assert:@"The operation couldn\u2019t be completed. (error -1000 - A description key)" equals:err.description()]; +} + +@end \ No newline at end of file diff --git a/Tests/Objective-J/CFHTTPRequestTest.j b/Tests/Objective-J/CFHTTPRequestTest.j index f6afe5a58..c10edba85 100644 --- a/Tests/Objective-J/CFHTTPRequestTest.j +++ b/Tests/Objective-J/CFHTTPRequestTest.j @@ -7,10 +7,10 @@ - (void)testSetWithCredentials { var cfHTTPRequest = new CFHTTPRequest(); - [self assertFalse:cfHTTPRequest.getWithCredentials()]; + [self assertFalse:cfHTTPRequest.withCredentials()]; cfHTTPRequest.setWithCredentials(YES); - [self assertTrue:cfHTTPRequest.getWithCredentials()]; + [self assertTrue:cfHTTPRequest.withCredentials()]; } @end diff --git a/Tests/Objective-J/Preprocessor/OutputTests/Class/accessors.j b/Tests/Objective-J/Preprocessor/OutputTests/Class/accessors.j index fe7fcc5de..820cad2f6 100644 --- a/Tests/Objective-J/Preprocessor/OutputTests/Class/accessors.j +++ b/Tests/Objective-J/Preprocessor/OutputTests/Class/accessors.j @@ -1,10 +1,10 @@ -@implementation Class +@implementation TestClass { } @end -@implementation Class (Accessors) +@implementation TestClass (Accessors) { Type ivar @accessors; } diff --git a/Tests/Objective-J/Preprocessor/OutputTests/Class/accessors.js b/Tests/Objective-J/Preprocessor/OutputTests/Class/accessors.js index 9db2e1754..ae78cbb53 100644 --- a/Tests/Objective-J/Preprocessor/OutputTests/Class/accessors.js +++ b/Tests/Objective-J/Preprocessor/OutputTests/Class/accessors.js @@ -1,13 +1,14 @@ -var the_class=objj_allocateClassPair(Nil,"Class"),meta_class=the_class.isa; +var the_class=objj_allocateClassPair(Nil,"TestClass"),meta_class=the_class.isa; objj_registerClassPair(the_class); -var the_class=objj_getClass("Class"); +var the_class=objj_getClass("TestClass"); if(!the_class){ -throw new SyntaxError("*** Could not find definition for class \"Class\""); +throw new SyntaxError("*** Could not find definition for class \"TestClass\""); } var meta_class=the_class.isa; class_addIvars(the_class,[new objj_ivar("ivar")]); -class_addMethods(the_class,[new objj_method(sel_getUid("ivar"),function $Class__ivar(_1,_2){ +class_addMethods(the_class,[new objj_method(sel_getUid("ivar"),function $TestClass__ivar(_1,_2){ return _1.ivar; -},["Type"]),new objj_method(sel_getUid("setIvar:"),function $Class__setIvar_(_3,_4,_5){ +},["Type"]),new objj_method(sel_getUid("setIvar:"),function $TestClass__setIvar_(_3,_4,_5){ _3.ivar=_5; -},["void","Type"])]); \ No newline at end of file +},["void","Type"])]); + diff --git a/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-multiple-ivars.j b/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-multiple-ivars.j index 50d1fa504..603bc25e5 100644 --- a/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-multiple-ivars.j +++ b/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-multiple-ivars.j @@ -1,5 +1,5 @@ -@implementation Class +@implementation TestClass { Type ivar; CPArray array; diff --git a/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-multiple-ivars.js b/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-multiple-ivars.js index 7eba069a9..8cf16dc3b 100644 --- a/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-multiple-ivars.js +++ b/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-multiple-ivars.js @@ -1,5 +1,4 @@ - -var the_class = objj_allocateClassPair(Nil, "Class"), +var the_class = objj_allocateClassPair(Nil, "TestClass"), meta_class = the_class.isa; class_addIvars(the_class,[new objj_ivar("ivar"), new objj_ivar("array"), new objj_ivar("string"), new objj_ivar("integer")]); diff --git a/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-one-ivar.j b/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-one-ivar.j index 14fc4dd73..3aebab79d 100644 --- a/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-one-ivar.j +++ b/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-one-ivar.j @@ -1,5 +1,4 @@ - -@implementation Class +@implementation TestClass { Type ivar; } diff --git a/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-one-ivar.js b/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-one-ivar.js index 4c6f93642..165c23dc8 100644 --- a/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-one-ivar.js +++ b/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class-one-ivar.js @@ -1,5 +1,5 @@ -var the_class = objj_allocateClassPair(Nil, "Class"), +var the_class = objj_allocateClassPair(Nil, "TestClass"), meta_class = the_class.isa; class_addIvars(the_class,[new objj_ivar("ivar")]); diff --git a/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class.j b/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class.j index f0e079126..6f4f77d3d 100644 --- a/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class.j +++ b/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class.j @@ -1,5 +1,5 @@ -@implementation Class +@implementation TestClass { } @end diff --git a/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class.js b/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class.js index c266954fc..75528fb97 100644 --- a/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class.js +++ b/Tests/Objective-J/Preprocessor/OutputTests/Class/root-class.js @@ -1,5 +1,5 @@ -var the_class = objj_allocateClassPair(Nil, "Class"), +var the_class = objj_allocateClassPair(Nil, "TestClass"), meta_class = the_class.isa; objj_registerClassPair(the_class); diff --git a/Tests/Objective-J/Preprocessor/OutputTests/Misc/ref-self.j b/Tests/Objective-J/Preprocessor/OutputTests/Misc/ref-self.j new file mode 100644 index 000000000..d94fa2450 --- /dev/null +++ b/Tests/Objective-J/Preprocessor/OutputTests/Misc/ref-self.j @@ -0,0 +1,11 @@ +@implementation TC +{ + id _control; +} + +- (id)a +{ + @ref(_control); +} + +@end diff --git a/Tests/Objective-J/Preprocessor/OutputTests/Misc/ref-self.js b/Tests/Objective-J/Preprocessor/OutputTests/Misc/ref-self.js new file mode 100644 index 000000000..778d931d6 --- /dev/null +++ b/Tests/Objective-J/Preprocessor/OutputTests/Misc/ref-self.js @@ -0,0 +1,9 @@ +{var the_class = objj_allocateClassPair(Nil, "TC"), +meta_class = the_class.isa;class_addIvars(the_class, [new objj_ivar("_control")]);objj_registerClassPair(the_class); +class_addMethods(the_class, [new objj_method(sel_getUid("a"), function $TC__a(self, _cmd) +{ + function(__input) { if (arguments.length) return self._control = __input; return self._control; }; +} + +,["id"])]); +} diff --git a/Tests/Objective-J/Preprocessor/OutputTests/OutputTest.j b/Tests/Objective-J/Preprocessor/OutputTests/OutputTest.j index a94c74f3b..fcd96ba3c 100644 --- a/Tests/Objective-J/Preprocessor/OutputTests/OutputTest.j +++ b/Tests/Objective-J/Preprocessor/OutputTests/OutputTest.j @@ -22,6 +22,7 @@ var FILENAMES = [ "Misc/regex-simple-char-classes", "Misc/empty-loops", "Misc/empty-statements", + "Misc/ref-self", ]; @implementation OutputTest : OJTestCase diff --git a/Tests/Tools/ToolsTest.j b/Tests/Tools/ToolsTest.j index b3e16e59e..000a05aa8 100644 --- a/Tests/Tools/ToolsTest.j +++ b/Tests/Tools/ToolsTest.j @@ -29,6 +29,15 @@ function cleanup() { status = OS.system(["flatten", "-f", "ToolsTestApp", "FlattenTestApp"].map(OS.enquote).join(" ") + " > /dev/null"); [self assert:0 equals:status message:"flatten failed"]; + + status = OS.system(["objj", "ToolsTestApp/AppController.j"]); + [self assert:0 equals:status message:"objj failed"]; + + status = OS.system(["objj", "-m", "ToolsTestApp/AppController.j", "ToolsTestApp/AppController.j"]); + [self assert:0 equals:status message:"objj failed with several files"]; + + status = OS.system(["objj", "-I", "ToolsTestApp/Frameworks", "ToolsTestApp/AppController.j"]); + [self assert:0 equals:status message:"objj failed with options -I"]; } - (void)tearDown diff --git a/Tools/Documentation/Cappuccino.doxygen b/Tools/Documentation/Cappuccino.doxygen index 5cd23fc26..c2abad4e4 100644 --- a/Tools/Documentation/Cappuccino.doxygen +++ b/Tools/Documentation/Cappuccino.doxygen @@ -1,92 +1,122 @@ -# Doxyfile 1.7.1 +# Doxyfile 1.8.7 # This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project +# doxygen (www.doxygen.org) for a project. # -# All text after a hash (#) is considered a comment and will be ignored +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. # The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. +# that follow. The default is UTF-8 which is also the encoding used for all text +# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +# for the list of possible encodings. +# The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. PROJECT_NAME = " API" -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. PROJECT_NUMBER = 0.9.7-1 -PROJECT_LOGO = ./Tools/Documentation/logo.png +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is included in +# the documentation. The maximum height of the logo should not exceed 55 pixels +# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo +# to the output directory. + +PROJECT_LOGO = ./Tools/Documentation/logo.png + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# entered, it will be relative to the location where doxygen was started. If +# left blank the current directory will be used. OUTPUT_DIRECTORY = Documentation -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub- +# directories (in 2 levels) under the output directory of each output format and +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. CREATE_SUBDIRS = NO +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. OUTPUT_LANGUAGE = English -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. +# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. BRIEF_MEMBER_DESC = YES -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. +# The default value is: YES. REPEAT_BRIEF = YES -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. ABBREVIATE_BRIEF = "The $name class" \ "The $name widget" \ @@ -101,8 +131,9 @@ ABBREVIATE_BRIEF = "The $name class" \ the # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief +# doxygen will generate a detailed section even if there is only a brief # description. +# The default value is: NO. ALWAYS_DETAILED_SEC = NO @@ -110,153 +141,207 @@ ALWAYS_DETAILED_SEC = NO # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. +# The default value is: NO. INLINE_INHERITED_MEMB = NO -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. +# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. FULL_PATH_NAMES = YES -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. STRIP_FROM_PATH = -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. STRIP_FROM_INC_PATH = -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. SHORT_NAMES = NO -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. JAVADOC_AUTOBRIEF = NO -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. QT_AUTOBRIEF = NO -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. MULTILINE_CPP_IS_BRIEF = NO -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. INHERIT_DOCS = YES -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a +# new page for each member. If set to NO, the documentation of a member will be +# part of the file/class/namespace that contains it. +# The default value is: NO. SEPARATE_MEMBER_PAGES = NO -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. TAB_SIZE = 8 -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. +# This tag can be used to specify a number of aliases that act as commands in +# the documentation. An alias has the form: +# name=value +# For example adding +# "sideeffect=@par Side Effects:\n" +# will allow you to put the command \sideeffect (or @sideeffect) in the +# documentation, which will result in a user-defined paragraph with heading +# "Side Effects:". You can put \n's in the value part of an alias to insert +# newlines. ALIASES = -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. OPTIMIZE_OUTPUT_FOR_C = NO -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +# Fortran. In the later case the parser tries to guess whether the code is fixed +# or free formatted code, this is the default for Fortran type files), VHDL. For +# instance to make doxygen treat .inc files as Fortran files (default is PHP), +# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# +# Note For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. EXTENSION_MAPPING = j=Objective-C +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by by putting a % sign in front of the word +# or globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. +# The default value is: NO. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. +# The default value is: NO. CPP_CLI_SUPPORT = NO -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. SIP_SUPPORT = NO -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. IDL_PROPERTY_SUPPORT = NO @@ -264,351 +349,441 @@ IDL_PROPERTY_SUPPORT = NO # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. +# The default value is: NO. DISTRIBUTE_GROUP_DOC = NO -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. SUBGROUPING = YES -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. TYPEDEF_HIDES_STRUCT = NO -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. -SYMBOL_CACHE_SIZE = 0 +LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. EXTRACT_ALL = YES -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will +# be included in the documentation. +# The default value is: NO. EXTRACT_PRIVATE = YES -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. +# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file will be +# included in the documentation. +# The default value is: NO. EXTRACT_STATIC = YES -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. EXTRACT_LOCAL_CLASSES = YES -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. +# This flag is only useful for Objective-C code. When set to YES local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO only methods in the interface are +# included. +# The default value is: NO. EXTRACT_LOCAL_METHODS = YES # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. EXTRACT_ANON_NSPACES = NO -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. HIDE_UNDOC_MEMBERS = NO -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO these classes will be included in the various overviews. This option has +# no effect if EXTRACT_ALL is enabled. +# The default value is: NO. HIDE_UNDOC_CLASSES = NO -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO these declarations will be +# included in the documentation. +# The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. HIDE_IN_BODY_DOCS = NO -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. +# The default value is: system dependent. CASE_SENSE_NAMES = NO -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES the +# scope will be hidden. +# The default value is: NO. HIDE_SCOPE_NAMES = NO -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. SHOW_INCLUDE_FILES = YES -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. FORCE_LOCAL_INCLUDES = NO -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. INLINE_INFO = YES -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO the members will appear in declaration order. +# The default value is: YES. SORT_MEMBER_DOCS = YES -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. SORT_BRIEF_DOCS = YES -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. SORT_MEMBERS_CTORS_1ST = NO -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. SORT_GROUP_NAMES = YES -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. SORT_BY_SCOPE_NAME = NO -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the +# todo list. This list is created by putting \todo commands in the +# documentation. +# The default value is: YES. GENERATE_TODOLIST = NO -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. +# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the +# test list. This list is created by putting \test commands in the +# documentation. +# The default value is: YES. GENERATE_TESTLIST = NO -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. +# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. GENERATE_BUGLIST = NO -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. +# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. GENERATE_DEPRECATEDLIST= YES -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if ... \endif and \cond +# ... \endcond blocks. ENABLED_SECTIONS = -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. MAX_INITIALIZER_LINES = 30 -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES the list +# will mention the files that were used to generate the documentation. +# The default value is: YES. SHOW_USED_FILES = YES -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. SHOW_FILES = YES -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. The create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. LAYOUT_FILE = +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. Do not use file names with spaces, bibtex cannot handle them. See +# also \cite for info how to create references. + +CITE_BIB_FILES = + #--------------------------------------------------------------------------- -# configuration options related to warning and progress messages +# Configuration options related to warning and progress messages #--------------------------------------------------------------------------- -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. +# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. WARNINGS = YES -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. +# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. WARN_IF_UNDOCUMENTED = NO -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. WARN_IF_DOC_ERROR = NO -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO doxygen will only warn about wrong or incomplete parameter +# documentation, but not about the absence of documentation. +# The default value is: NO. WARN_NO_PARAMDOC = NO -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). WARN_LOGFILE = debug.txt #--------------------------------------------------------------------------- -# configuration options related to the input files +# Configuration options related to the input files #--------------------------------------------------------------------------- -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. +# Note: If this tag is empty the current directory is searched. INPUT = AppKit.doc \ Foundation.doc # This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# possible encodings. +# The default value is: UTF-8. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank the +# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii, +# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, +# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, +# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, +# *.qsf, *.as and *.js. FILE_PATTERNS = *.c \ *.cc \ @@ -643,29 +818,34 @@ FILE_PATTERNS = *.c \ *.vhdl \ *.j -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. RECURSIVE = YES -# The EXCLUDE tag can be used to specify files and/or directories that should +# The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. EXCLUDE = -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded # from the input. +# The default value is: NO. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* EXCLUDE_PATTERNS = _* @@ -674,683 +854,1077 @@ EXCLUDE_PATTERNS = _* # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* EXCLUDE_SYMBOLS = _* -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). EXAMPLE_PATH = ./Tools/Documentation/README.html \ ./LICENSE # If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. EXAMPLE_PATTERNS = * # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. EXAMPLE_RECURSIVE = NO -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. +# by executing (via popen()) the command: +# +# +# +# where is the value of the INPUT_FILTER tag, and is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). +# INPUT_FILTER ) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. FILTER_SOURCE_FILES = NO +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + #--------------------------------------------------------------------------- -# configuration options related to source browsing +# Configuration options related to source browsing #--------------------------------------------------------------------------- -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. SOURCE_BROWSER = YES -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. INLINE_SOURCES = NO -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. STRIP_CODE_COMMENTS = YES -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# function all documented functions referencing it will be listed. +# The default value is: NO. REFERENCED_BY_RELATION = NO -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. REFERENCES_RELATION = NO -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentation. +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES, then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. REFERENCES_LINK_SOURCE = YES -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see http://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. USE_HTAGS = NO -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index +# Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. ALPHABETICAL_INDEX = YES -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. COLS_IN_ALPHA_INDEX = 5 -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = #--------------------------------------------------------------------------- -# configuration options related to the HTML output +# Configuration options related to the HTML output #--------------------------------------------------------------------------- -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. +# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output +# The default value is: YES. GENERATE_HTML = YES -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_OUTPUT = html -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_FILE_EXTENSION = .html -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a # standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_HEADER = -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_FOOTER = -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. -#HTML_STYLESHEET = doxygen.css +HTML_STYLESHEET = -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the stylesheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. +# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user- +# defined cascading style sheet that is included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefor more robust against future updates. +# Doxygen will copy the style sheet file to the output directory. For an example +# see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the stylesheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_HUE = 220 -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_SAT = 98 -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. +# page will contain the date and time when the page was generated. Setting this +# to NO can help when comparing the output of multiple runs. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_TIMESTAMP = YES -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_DYNAMIC_SECTIONS = YES -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: http://developer.apple.com/tools/xcode/), introduced with +# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. -GENERATE_DOCSET = NO +GENERATE_DOCSET = YES -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_FEEDNAME = "Doxygen generated docs" -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. -DOCSET_BUNDLE_ID = org.doxygen.Project +DOCSET_BUNDLE_ID = org.cappuccino-project.cappuccino -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify # the documentation publisher. This should be a reverse domain-name style # string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. -DOCSET_PUBLISHER_ID = org.doxygen.Publisher +DOCSET_PUBLISHER_ID = org.cappuccino-project -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. -DOCSET_PUBLISHER_NAME = Publisher +DOCSET_PUBLISHER_NAME = "Cappuccino Project" -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_HTMLHELP = NO -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be # written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_FILE = -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler ( hhc.exe). If non-empty +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. HHC_LOCATION = -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). +# The GENERATE_CHI flag controls if a separate .chi index file is generated ( +# YES) or that it should be included in the master .chm file ( NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. GENERATE_CHI = NO -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_INDEX_ENCODING = -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. +# The BINARY_TOC flag controls whether a binary table of contents is generated ( +# YES) or a normal table of contents ( NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. BINARY_TOC = NO -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_QHP = NO -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. QCH_FILE = -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. QHP_NAMESPACE = org.doxygen.Project -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +# folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. QHP_VIRTUAL_FOLDER = doc -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# -# Qt Help Project / Custom Filters. +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_ECLIPSEHELP = NO -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. ECLIPSE_DOC_ID = org.doxygen.Project -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 +DISABLE_INDEX = YES # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = YES -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. -USE_INLINE_TREES = NO +ENUM_VALUES_PER_LINE = 4 -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. TREEVIEW_WIDTH = 250 -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. EXT_LINKS_IN_WINDOW = NO -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_FONTSIZE = 10 # Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_TRANSPARENT = YES -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using prerendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from http://www.mathjax.org before deployment. +# The default value is: http://cdn.mathjax.org/mathjax/latest. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use + S +# (what the is depends on the OS and browser, but it is typically +# , /
+ + Check Compilation Issues + + 2147483647 + + + + Check Project Code Style @@ -254,7 +262,7 @@ YUBhcGFyYWppdGEuY29tCiAgICAKICAgIEFsZXhhbmRyZSBXaWxoZWxtCiAgICBhbGV4YW5kcmUud2ls aGVsbWZyQGdtYWlsLmNvbQoKT3JpZ2luYWwgQ29jb2EgdmVyc2lvbiBkZXZlbG9wZWQgYnk6CiAgICBB bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ - .LucidaGrandeUI + YES 11 3100 @@ -353,15 +361,15 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ - {{0, 0}, {1440, 878}} + {{0, 0}, {1440, 877}} {10000000000000, 10000000000000} NO
- 15 + 143 2 - {{1826, 825}, {550, 237}} - 1618478080 + {{890, 663}, {550, 237}} + 1613759488 Reporting NSPanel @@ -466,6 +474,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 4 + YES @@ -475,6 +484,8 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ NO + _doScroller: + 1 _doScroller: @@ -487,6 +498,8 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ NO + _doScroller: + _doScroller: @@ -518,7 +531,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 134217728 Clear - .LucidaGrandeUI + YES 12 787 @@ -589,17 +602,17 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ
- {{1440, -180}, {1920, 1058}} + {{0, 0}, {1440, 877}} {315, 99} {10000000000000, 10000000000000} - errorPanel + YES
3 2 - {{1964, 505}, {369, 415}} - 1618478080 + {{534, 231}, {389, 528}} + 1613235200 Preferences NSWindow @@ -619,7 +632,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 268 - {{16, 81}, {271, 18}} + {{16, 136}, {271, 18}} @@ -629,7 +642,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 0 Load the most recent project on launch - .LucidaGrandeUI + YES 13 1044 @@ -653,10 +666,10 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 268 - {{16, 51}, {241, 18}} + {{16, 106}, {241, 18}} - + YES -2080374784 @@ -675,10 +688,60 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ NO + + + 268 + {{16, 76}, {260, 18}} + + + + YES + + -2080374784 + 0 + Errors & Warnings panel always on top + + + 1211912448 + 2 + + + + + 400 + 75 + + NO + + + + 268 + {{16, 45}, {330, 18}} + + + + YES + + -2080374784 + 0 + Active xCodeCapp when opening the Errors panel + + + 1211912448 + 2 + + + + + 400 + 75 + + NO + 268 - {{16, 109}, {298, 18}} + {{16, 164}, {298, 18}} @@ -703,7 +766,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 268 - {{15, 20}, {106, 17}} + {{16, 17}, {106, 17}} @@ -723,7 +786,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 268 - {{124, 14}, {56, 26}} + {{125, 11}, {56, 26}} @@ -732,7 +795,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ -2076180416 2048 - .LucidaGrandeUI + YES 13 1301 @@ -798,13 +861,13 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ NO - {{1, 1}, {330, 139}} + {{1, 1}, {353, 194}} - {{17, 245}, {332, 155}} + {{17, 303}, {355, 210}} @@ -813,15 +876,13 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 67108864 134217728 Projects - - LucidaGrande - 11 - 16 - + - - 3 - MCAwLjgAA + + 6 + System + labelColor + @@ -841,7 +902,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 268 - {{146, 12}, {171, 18}} + {{149, 12}, {171, 18}} @@ -866,7 +927,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 268 - {{16, 39}, {126, 17}} + {{16, 40}, {126, 17}} @@ -886,7 +947,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 268 - {{146, 38}, {171, 18}} + {{149, 37}, {171, 18}} @@ -908,14 +969,64 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ NO + + + 268 + {{16, 93}, {192, 18}} + + + + YES + + -2080374784 + 0 + Look for compilation issues + + + 1211912448 + 2 + + + + + 400 + 75 + + NO + + + + 268 + {{16, 67}, {301, 18}} + + + + YES + + -2080374784 + 0 + Use include path from the index-debug file + + + 1211912448 + 2 + + + + + 400 + 75 + + NO + - {{1, 1}, {330, 66}} + {{1, 1}, {353, 124}} - + - {{17, 159}, {332, 82}} + {{17, 159}, {355, 140}} @@ -924,12 +1035,9 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 67108864 134217728 File processing - + - - 3 - MCAwLjgAA - + 1 @@ -1016,14 +1124,14 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 1 - {{1, 1}, {333, 65}} + {{1, 1}, {353, 65}} _NS:11 - {{17, 74}, {335, 81}} + {{17, 74}, {355, 81}} @@ -1035,10 +1143,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ Code style - - 3 - MCAwLjgwMDAwMDAxMTkAA - +
1 @@ -1080,13 +1185,13 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ NO
- {{1, 1}, {333, 38}} + {{1, 1}, {353, 38}}
- {{17, 16}, {335, 54}} + {{17, 16}, {355, 54}} @@ -1095,12 +1200,9 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 67108864 134217728 Update - + - - 3 - MCAwLjgAA - + 1 @@ -1109,12 +1211,12 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ NO - {369, 415} + {389, 528} - {{1440, -180}, {1920, 1058}} + {{0, 0}, {1440, 877}} {10000000000000, 10000000000000} xcc-prefs YES @@ -1155,7 +1257,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ - {{0, 0}, {1440, 878}} + {{0, 0}, {1440, 877}} {10000000000000, 10000000000000} YES @@ -1186,7 +1288,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ - + 256 @@ -1194,6 +1296,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 268 {{18, 22}, {251, 17}} + _NS:397 {251, 750} @@ -1216,6 +1319,8 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 268 {{269, 13}, {74, 32}} + + _NS:9 YES @@ -1239,6 +1344,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 268 {{20, 45}, {317, 20}} + _NS:9 {250, 250} @@ -1247,10 +1353,12 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ {357, 84} + + _NS:21 - {{0, 0}, {1440, 878}} + {{0, 0}, {1440, 877}} {10000000000000, 10000000000000} updatingCappuccinoPanel YES @@ -1258,7 +1366,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ NO - + delegate @@ -1507,6 +1615,38 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 30N-ga-LBo + + + save: + + + + kBr-PF-Ng7 + + + + save: + + + + HyN-S0-KXD + + + + save: + + + + A92-fj-Uci + + + + save: + + + + 0Il-yd-iuZ + openXcodeProject: @@ -1531,14 +1671,6 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 774 - - - checkProjectWithCappLint: - - - - cNV-We-Why - clearErrors: @@ -1619,6 +1751,22 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ HJ3-bt-3EP + + + checkProjectWithCappLint: + + + + bwf-Gu-ART + + + + checkProjectWithObjj: + + + + oPW-bl-Ydt + values.XCCReopenLastProject @@ -1965,6 +2113,46 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ dP2-Fc-one + + + value: values.XCCPanelActiveAppWhenOpening + + + + + + value: values.XCCPanelActiveAppWhenOpening + value + values.XCCPanelActiveAppWhenOpening + + NSValidatesImmediately + + + 2 + + + kgU-89-aRS + + + + value: values.XCCPanelStyleUtility + + + + + + value: values.XCCPanelStyleUtility + value + values.XCCPanelStyleUtility + + NSValidatesImmediately + + + 2 + + + uUW-Ro-3aA + value: values.updateCappuccinoWithLastVersionOfMasterBranch @@ -2021,6 +2209,22 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ uwx-aq-p86 + + + enabled: projectPath.length + + + + + + enabled: projectPath.length + enabled + projectPath.length + 2 + + + a7g-oH-Wxj + value: values.XCCAutoOpenShowNotificationErrors @@ -2061,6 +2265,46 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ aof-Pn-nzf + + + value: values.kDefaultXCCUseDebugFrameworkWithObjj + + + + + + value: values.kDefaultXCCUseDebugFrameworkWithObjj + value + values.kDefaultXCCUseDebugFrameworkWithObjj + + NSValidatesImmediately + + + 2 + + + 8Eb-cw-Tsj + + + + value: values.XCCShouldProcessObjj + + + + + + value: values.XCCShouldProcessObjj + value + values.XCCShouldProcessObjj + + NSValidatesImmediately + + + 2 + + + 4tf-7Y-tid + @@ -2115,6 +2359,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ + @@ -2364,6 +2609,8 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ + + @@ -2466,9 +2713,11 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 848 - + + + @@ -2699,6 +2948,63 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ + + wDc-Ir-hmE + + + + + + + + beY-m1-Aia + + + + + wGK-ie-cgv + + + + + + + + fJB-o4-AhU + + + + + SNH-t4-Ay7 + + + + + GDP-7Q-0W5 + + + + + + + + QpC-n8-rmF + + + + + CQP-MN-ubd + + + + + + + + GLQ-ZT-xXR + + + @@ -2730,6 +3036,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ com.apple.InterfaceBuilder.CocoaPlugin + {182, 582.5} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -2740,14 +3047,17 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ + {345, 214.5} com.apple.InterfaceBuilder.CocoaPlugin - - + + + {-173.5, 372} com.apple.InterfaceBuilder.CocoaPlugin + {650, 268} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -2757,6 +3067,7 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin @@ -2906,9 +3217,11 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin @@ -2924,8 +3237,34 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + If this is checked, xCodeCapp will be the main application of the system when the errors & warnings panel is about to open + + + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + If this is checked, the error panel will be a floating panel. + + + + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + ToolTip @@ -2958,12 +3297,20 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ 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 + ToolTip @@ -2986,6 +3333,30 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + When an error or warning occurs, automatically open the Errors & Warnings panel + + + + com.apple.InterfaceBuilder.CocoaPlugin + + + + ToolTip + + ToolTip + + When an error or warning occurs, automatically open the Errors & Warnings panel + + + + com.apple.InterfaceBuilder.CocoaPlugin + + @@ -3002,9 +3373,6 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ id id id - id - id - id @@ -3023,18 +3391,6 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ openHelp: id - - openPreferences: - id - - - showInFinder: - id - - - updateCappuccino: - id - NSPanel @@ -3092,7 +3448,53 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ IBProjectSource - ./Classes/AppController.h + ../XcodeCapp/AppController.h + + + + AppController + + id + id + id + id + id + id + id + + + + createProject: + id + + + loadProject: + id + + + openAbout: + id + + + openHelp: + id + + + openPreferences: + id + + + showInFinder: + id + + + updateCappuccino: + id + + + + IBProjectSource + ../XcodeCapp/AppController.m @@ -3168,7 +3570,373 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ IBProjectSource - ./Classes/XcodeCapp.h + ../XcodeCapp/XcodeCapp.h + + + + XcodeCapp + + id + id + id + id + id + id + id + + + + checkProjectWithCappLint: + id + + + checkProjectWithObjj: + id + + + clearErrors: + id + + + openErrorInEditor: + id + + + openErrorsPanel: + id + + + openXcodeProject: + id + + + synchronizeProject: + id + + + + IBProjectSource + ../XcodeCapp/XcodeCapp.m + + + + + + NSActionCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSActionCell.h + + + + NSApplication + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSApplication.h + + + + NSArrayController + NSObjectController + + IBFrameworkSource + AppKit.framework/Headers/NSArrayController.h + + + + NSBox + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSBox.h + + + + NSButton + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSButton.h + + + + NSButtonCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSButtonCell.h + + + + NSCell + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSCell.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSController + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSController.h + + + + NSFontManager + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontManager.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSImageCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSImageCell.h + + + + NSImageView + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSImageView.h + + + + NSManagedObjectContext + NSObject + + IBFrameworkSource + CoreData.framework/Headers/NSManagedObjectContext.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSMenuItem + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItem.h + + + + NSMenuItemCell + NSButtonCell + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItemCell.h + + + + NSObjectController + NSController + + IBFrameworkSource + AppKit.framework/Headers/NSObjectController.h + + + + NSPanel + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSPanel.h + + + + NSPopUpButton + NSButton + + IBFrameworkSource + AppKit.framework/Headers/NSPopUpButton.h + + + + NSPopUpButtonCell + NSMenuItemCell + + IBFrameworkSource + AppKit.framework/Headers/NSPopUpButtonCell.h + + + + NSProgressIndicator + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSProgressIndicator.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSScrollView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSScrollView.h + + + + NSScroller + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSScroller.h + + + + NSTableColumn + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableColumn.h + + + + NSTableView + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTableView.h + + + + NSTextField + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTextField.h + + + + NSTextFieldCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSTextFieldCell.h + + + + NSUserDefaultsController + NSController + + IBFrameworkSource + AppKit.framework/Headers/NSUserDefaultsController.h + + + + NSView + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSView.h + + + + NSWindow + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSWindow.h + + + + PDFView + NSView + + id + id + id + id + id + id + id + id + id + id + + + + goBack: + id + + + goForward: + id + + + goToFirstPage: + id + + + goToLastPage: + id + + + goToNextPage: + id + + + goToPreviousPage: + id + + + selectAll: + id + + + takeBackgroundColorFrom: + id + + + zoomIn: + id + + + zoomOut: + id + + + + IBFrameworkSource + Quartz.framework/Frameworks/PDFKit.framework/Headers/PDFView.h @@ -3180,10 +3948,6 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ com.apple.InterfaceBuilder.CocoaPlugin.macosx - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 @@ -3191,8 +3955,8 @@ bnRvaW5lIE1lcmNhZGFsCiAgICBhbnRvaW5lLm1lcmNhZGFsQGdtYWlsLmNvbQ YES 3 - {11, 11} - {10, 3} + {12, 12} + {10, 2} {15, 15} {128, 128} diff --git a/Tools/capp/Resources/Templates/Application/Jakefile b/Tools/capp/Resources/Templates/Application/Jakefile index 6207c9b34..08a8c0c8b 100644 --- a/Tools/capp/Resources/Templates/Application/Jakefile +++ b/Tools/capp/Resources/Templates/Application/Jakefile @@ -55,13 +55,13 @@ task ("build", ["default"], function() task ("debug", function() { - ENV["CONFIGURATION"] = "Debug"; + configuration = ENV["CONFIGURATION"] = "Debug"; JAKE.subjake(["."], "build", ENV); }); task ("release", function() { - ENV["CONFIGURATION"] = "Release"; + configuration = ENV["CONFIGURATION"] = "Release"; JAKE.subjake(["."], "build", ENV); }); @@ -105,7 +105,7 @@ function updateApplicationSize() { print("Calculating application file sizes..."); - var contents = FILE.read(FILE.join("Build", ENV["CONFIGURATION"], projectName, "Info.plist"), { charset:"UTF-8" }), + var contents = FILE.read(FILE.join("Build", configuration, projectName, "Info.plist"), { charset:"UTF-8" }), format = CFPropertyList.sniffedFormatOfString(contents), plist = CFPropertyList.propertyListFromString(contents), totalBytes = {executable:0, data:0, mhtml:0}; @@ -113,7 +113,7 @@ function updateApplicationSize() // Get the size of all framework executables and sprite data var frameworksDir = "Frameworks"; - if (ENV["CONFIGURATION"] === "Debug") + if (configuration === "Debug") frameworksDir = FILE.join(frameworksDir, "Debug"); var frameworks = FILE.list(frameworksDir); @@ -137,7 +137,7 @@ function updateApplicationSize() addBundleFileSizes(themePath, totalBytes); // Add sizes for the app - addBundleFileSizes(FILE.join("Build", ENV["CONFIGURATION"], projectName), totalBytes); + addBundleFileSizes(FILE.join("Build", configuration, projectName), totalBytes); print("Executables: " + totalBytes.executable + ", sprite data: " + totalBytes.data + ", total: " + (totalBytes.executable + totalBytes.data)); @@ -149,7 +149,7 @@ function updateApplicationSize() plist.setValueForKey("CPApplicationSize", dict); - FILE.write(FILE.join("Build", ENV["CONFIGURATION"], projectName, "Info.plist"), CFPropertyList.stringFromPropertyList(plist, format), { charset:"UTF-8" }); + FILE.write(FILE.join("Build", configuration, projectName, "Info.plist"), CFPropertyList.stringFromPropertyList(plist, format), { charset:"UTF-8" }); } function addBundleFileSizes(bundlePath, totalBytes) diff --git a/Tools/capp/Resources/Templates/Application/index-debug.html b/Tools/capp/Resources/Templates/Application/index-debug.html index 525fedab5..d862fd07e 100644 --- a/Tools/capp/Resources/Templates/Application/index-debug.html +++ b/Tools/capp/Resources/Templates/Application/index-debug.html @@ -102,7 +102,7 @@ width: 100%; /* Put it at the bottom of the stack so it doesn't interfere with UI */ - z-index: -1000; + z-index: 0; } #cappuccino-body .container { diff --git a/Tools/capp/Resources/Templates/Application/index.html b/Tools/capp/Resources/Templates/Application/index.html index 9dec4e8db..414301b1e 100644 --- a/Tools/capp/Resources/Templates/Application/index.html +++ b/Tools/capp/Resources/Templates/Application/index.html @@ -72,7 +72,7 @@ width: 100%; /* Put it at the bottom of the stack so it doesn't interfere with UI */ - z-index: -1000; + z-index: 0; } #cappuccino-body .container { diff --git a/Tools/capp/Resources/Templates/NibApplication/Jakefile b/Tools/capp/Resources/Templates/NibApplication/Jakefile index 6207c9b34..08a8c0c8b 100644 --- a/Tools/capp/Resources/Templates/NibApplication/Jakefile +++ b/Tools/capp/Resources/Templates/NibApplication/Jakefile @@ -55,13 +55,13 @@ task ("build", ["default"], function() task ("debug", function() { - ENV["CONFIGURATION"] = "Debug"; + configuration = ENV["CONFIGURATION"] = "Debug"; JAKE.subjake(["."], "build", ENV); }); task ("release", function() { - ENV["CONFIGURATION"] = "Release"; + configuration = ENV["CONFIGURATION"] = "Release"; JAKE.subjake(["."], "build", ENV); }); @@ -105,7 +105,7 @@ function updateApplicationSize() { print("Calculating application file sizes..."); - var contents = FILE.read(FILE.join("Build", ENV["CONFIGURATION"], projectName, "Info.plist"), { charset:"UTF-8" }), + var contents = FILE.read(FILE.join("Build", configuration, projectName, "Info.plist"), { charset:"UTF-8" }), format = CFPropertyList.sniffedFormatOfString(contents), plist = CFPropertyList.propertyListFromString(contents), totalBytes = {executable:0, data:0, mhtml:0}; @@ -113,7 +113,7 @@ function updateApplicationSize() // Get the size of all framework executables and sprite data var frameworksDir = "Frameworks"; - if (ENV["CONFIGURATION"] === "Debug") + if (configuration === "Debug") frameworksDir = FILE.join(frameworksDir, "Debug"); var frameworks = FILE.list(frameworksDir); @@ -137,7 +137,7 @@ function updateApplicationSize() addBundleFileSizes(themePath, totalBytes); // Add sizes for the app - addBundleFileSizes(FILE.join("Build", ENV["CONFIGURATION"], projectName), totalBytes); + addBundleFileSizes(FILE.join("Build", configuration, projectName), totalBytes); print("Executables: " + totalBytes.executable + ", sprite data: " + totalBytes.data + ", total: " + (totalBytes.executable + totalBytes.data)); @@ -149,7 +149,7 @@ function updateApplicationSize() plist.setValueForKey("CPApplicationSize", dict); - FILE.write(FILE.join("Build", ENV["CONFIGURATION"], projectName, "Info.plist"), CFPropertyList.stringFromPropertyList(plist, format), { charset:"UTF-8" }); + FILE.write(FILE.join("Build", configuration, projectName, "Info.plist"), CFPropertyList.stringFromPropertyList(plist, format), { charset:"UTF-8" }); } function addBundleFileSizes(bundlePath, totalBytes) diff --git a/Tools/capp/Resources/Templates/NibApplication/index-debug.html b/Tools/capp/Resources/Templates/NibApplication/index-debug.html index 525fedab5..d862fd07e 100644 --- a/Tools/capp/Resources/Templates/NibApplication/index-debug.html +++ b/Tools/capp/Resources/Templates/NibApplication/index-debug.html @@ -102,7 +102,7 @@ width: 100%; /* Put it at the bottom of the stack so it doesn't interfere with UI */ - z-index: -1000; + z-index: 0; } #cappuccino-body .container { diff --git a/Tools/capp/Resources/Templates/NibApplication/index.html b/Tools/capp/Resources/Templates/NibApplication/index.html index 9dec4e8db..414301b1e 100644 --- a/Tools/capp/Resources/Templates/NibApplication/index.html +++ b/Tools/capp/Resources/Templates/NibApplication/index.html @@ -72,7 +72,7 @@ width: 100%; /* Put it at the bottom of the stack so it doesn't interfere with UI */ - z-index: -1000; + z-index: 0; } #cappuccino-body .container { diff --git a/Tools/nib2cib/NSCell.j b/Tools/nib2cib/NSCell.j index 01307538a..8be4737b8 100644 --- a/Tools/nib2cib/NSCell.j +++ b/Tools/nib2cib/NSCell.j @@ -51,6 +51,7 @@ int _lineBreakMode @accessors(readonly, getter=lineBreakMode); CPFormatter _formatter @accessors(readonly, getter=formatter); int _tag @accessors(readonly, getter=tag); + BOOL _usesSingleLineMode @accessors(readonly, getter=usesSingleLineMode); } - (id)initWithCoder:(CPCoder)aCoder @@ -62,22 +63,23 @@ var flags = [aCoder decodeIntForKey:@"NSCellFlags"], flags2 = [aCoder decodeIntForKey:@"NSCellFlags2"]; - _state = (flags & 0x80000000) ? CPOnState : CPOffState; - _isHighlighted = (flags & 0x40000000) ? YES : NO; - _isEnabled = (flags & 0x20000000) ? NO : YES; - _isEditable = (flags & 0x10000000) ? YES : NO; - _isBordered = (flags & 0x00800000) ? YES : NO; - _isBezeled = (flags & 0x00400000) ? YES : NO; - _isSelectable = (flags & 0x00200000) ? YES : NO; - _isScrollable = (flags & 0x00100000) ? YES : NO; - _isContinuous = (flags & 0x00080100) ? YES : NO; - _scrolls = (flags & 0x00100000) && (flags & 0x00000040); - _wraps = (flags & 0x00100000 === 0) && (flags & 0x00000040 === 0); - _truncates = !(flags & 0x00100000) && (flags & 0x00000040); - _alignment = (flags2 & 0x1c000000) >> 26; - _lineBreakMode = (flags2 & 0x0E00) >> 9; - _controlSize = (flags2 & 0xE0000) >> 17; - _sendsActionOnEndEditing = (flags2 & 0x00400000) ? YES : NO; + _state = (flags & 0x80000000) ? CPOnState : CPOffState; + _isHighlighted = (flags & 0x40000000) ? YES : NO; + _isEnabled = (flags & 0x20000000) ? NO : YES; + _isEditable = (flags & 0x10000000) ? YES : NO; + _isBordered = (flags & 0x00800000) ? YES : NO; + _isBezeled = (flags & 0x00400000) ? YES : NO; + _isSelectable = (flags & 0x00200000) ? YES : NO; + _isScrollable = (flags & 0x00100000) ? YES : NO; + _isContinuous = (flags & 0x00080100) ? YES : NO; + _scrolls = (flags & 0x00100000) && (flags & 0x00000040) ? YES : NO; + _wraps = !(flags & 0x00100000) && !(flags & 0x00000040) ? YES : NO; + _truncates = (flags & 0x00100000) && !(flags & 0x00000040) ? YES : NO; + _alignment = (flags2 & 0x1c000000) >> 26; + _lineBreakMode = (flags2 & 0x0E00) >> 9; + _controlSize = (flags2 & 0xE0000) >> 17; + _sendsActionOnEndEditing = (flags2 & 0x00400000) ? YES : NO; + _usesSingleLineMode = (flags2 & 0xF4240) ? YES : NO; _tag = [aCoder decodeIntForKey:@"NSTag"]; diff --git a/Tools/nib2cib/NSDatePicker.j b/Tools/nib2cib/NSDatePicker.j index d3af0690c..a90983ec5 100644 --- a/Tools/nib2cib/NSDatePicker.j +++ b/Tools/nib2cib/NSDatePicker.j @@ -180,7 +180,7 @@ var NSDatePickerDefaultSize = 22, CPDateFormatter _formatter @accessors(getter=formatter); CPInteger _datePickerMode @accessors(getter=datePickerMode); CPInteger _datePickerElements @accessors(getter=datePickerElements); - CPinteger _datePickerType @accessors(getter=datePickerType); + CPInteger _datePickerType @accessors(getter=datePickerType); double _timeInterval @accessors(getter=timeInterval); CPColor _textColor @accessors(getter=textColor); CPColor _backgroundColor @accessors(getter=backgroundColor); diff --git a/Tools/nib2cib/NSImageView.j b/Tools/nib2cib/NSImageView.j index 909089fdf..02fd50f52 100644 --- a/Tools/nib2cib/NSImageView.j +++ b/Tools/nib2cib/NSImageView.j @@ -67,7 +67,7 @@ @end // NSImageCell - +@typedef NSImageAlignment NSImageAlignCenter = 0; NSImageAlignTop = 1; NSImageAlignTopLeft = 2; @@ -78,12 +78,13 @@ NSImageAlignBottomLeft = 6; NSImageAlignBottomRight = 7; NSImageAlignRight = 8; - +@typedef NSImageScaling NSImageScaleProportionallyDown = 0; NSImageScaleAxesIndependently = 1; NSImageScaleNone = 2; NSImageScaleProportionallyUpOrDown = 3; +@typedef NSImageFrameStyle NSImageFrameNone = 0; NSImageFramePhoto = 1; NSImageFrameGrayBezel = 2; diff --git a/Tools/nib2cib/NSSecureTextField.j b/Tools/nib2cib/NSSecureTextField.j index f114a6e79..008c61976 100644 --- a/Tools/nib2cib/NSSecureTextField.j +++ b/Tools/nib2cib/NSSecureTextField.j @@ -37,6 +37,7 @@ { var cell = [aCoder decodeObjectForKey:@"NSCell"]; [self NS_initWithCell:cell]; + [self _adjustNib2CibSize]; } return self; diff --git a/Tools/nib2cib/NSSegmentedControl.j b/Tools/nib2cib/NSSegmentedControl.j index 95ca6902c..0136ca3b3 100644 --- a/Tools/nib2cib/NSSegmentedControl.j +++ b/Tools/nib2cib/NSSegmentedControl.j @@ -41,14 +41,6 @@ { [super NS_initWithCell:cell]; - var frame = [self frame], - originalWidth = frame.size.width; - - frame.size.width = 0; - frame.origin.x = MAX(frame.origin.x - 4.0, 0.0); - - [self setFrame:frame]; - _segments = [cell segments]; _selectedSegment = [cell selectedSegment]; _segmentStyle = [cell segmentStyle]; @@ -57,23 +49,13 @@ [self setValue:CPCenterTextAlignment forThemeAttribute:@"alignment"]; // HACK - for (var i = 0; i < _segments.length; i++) { _themeStates[i] = _segments[i].selected ? CPThemeStateSelected : CPThemeStateNormal; - [self tileWithChangedSegment:i]; } - // Adjust for differences between Cocoa and Cappuccino widget framing. - frame.origin.x += 6; - - if ([[Nib2Cib defaultTheme] name] == @"Aristo2") - frame.size.height += 1; - - frame.size.width = originalWidth; [self setEnabled:[cell isEnabled]]; - [self setFrame:frame]; } @end @@ -90,6 +72,7 @@ { var cell = [aCoder decodeObjectForKey:@"NSCell"]; [self NS_initWithCell:cell]; + [self _adjustNib2CibSize]; } return self; diff --git a/Tools/nib2cib/NSTextField.j b/Tools/nib2cib/NSTextField.j index 711fb8f7e..cb0fa306b 100644 --- a/Tools/nib2cib/NSTextField.j +++ b/Tools/nib2cib/NSTextField.j @@ -54,6 +54,10 @@ [self setPlaceholderString:[cell placeholderString]]; + [self _setUsesSingleLineMode:[cell usesSingleLineMode]]; + [self _setWraps:[cell wraps]]; + [self _setScrolls:[cell scrolls]]; + var textColor = [cell textColor], defaultColor = [self currentValueForThemeAttribute:@"text-color"]; diff --git a/narwhal.local.conf b/narwhal.local.conf index 482c677c4..5df81b251 100644 --- a/narwhal.local.conf +++ b/narwhal.local.conf @@ -1,5 +1,14 @@ -if [ -z "$NARWHAL_ENGINE" ] && [ -d "$NARWHAL_HOME/packages/narwhal-jsc" ]; then - export NARWHAL_ENGINE=jsc +if [ -z "$NARWHAL_ENGINE" ] && [ `uname` == "Darwin" ]; then + # We should check "narwhal-jsc.conf" and the corresponding executable to determine whether JSC can be "$NARWHAL_ENGINE". + if [ -f "$NARWHAL_HOME/packages/narwhal-jsc/narwhal-jsc.conf" ]; then + source "$NARWHAL_HOME/packages/narwhal-jsc/narwhal-jsc.conf" + fi + if [ -z "$NARWHAL_JSC_MODE" ]; then + NARWHAL_JSC_MODE="jscore" + fi + if [ -f "$NARWHAL_HOME/packages/narwhal-jsc/bin/narwhal-$NARWHAL_JSC_MODE" ]; then + export NARWHAL_ENGINE=jsc + fi fi if [ "$NARWHAL_ENGINE" == jsc ] && [ `ulimit -n` -lt 1024 ]; then