From 0e68729d7f1943fe12009a58eeae03aa36138251 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Wed, 29 Aug 2012 16:41:43 +0100 Subject: [PATCH 01/63] Fixed: dragged table view columns ignored custom column header views. --- AppKit/CPTableView.j | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 8d8361921..02d25297e 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -2881,13 +2881,8 @@ Your delegate can implement this method to avoid subclassing the tableview to ad row = [_exposedRows indexGreaterThanIndex:row]; } - // Add the column header view - var headerFrame = [headerView frame]; - headerFrame.origin = _CGPointMakeZero(); - - var columnHeaderView = [[_CPTableColumnHeaderView alloc] initWithFrame:headerFrame]; - [columnHeaderView setStringValue:[headerView stringValue]]; - [columnHeaderView setThemeState:[headerView themeState]]; + // Add a copy of the header view. + var columnHeaderView = [CPKeyedUnarchiver unarchiveObjectWithData:[CPKeyedArchiver archivedDataWithRootObject:headerView]]; [dragView addSubview:columnHeaderView]; [dragView setBackgroundColor:[CPColor whiteColor]]; From 2355b7a38b8c4c5c768cb523a54c2b2833104c45 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Fri, 31 Aug 2012 13:56:14 +0100 Subject: [PATCH 02/63] Fixes #1666: since 5763ebd extremely slow double clicks would be accepted. `CPEvent timestamp` is now in seconds so the double click delay has to be adjusted. Also slightly increased double click interval to account for lower precision. --- AppKit/Platform/DOM/CPPlatformWindow+DOM.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j index bdab72a10..5e2e74b00 100644 --- a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j +++ b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j @@ -1601,7 +1601,7 @@ var _CPEventFromNativeMouseEvent = function(aNativeEvent, anEventType, aPoint, m }; var CLICK_SPACE_DELTA = 5.0, - CLICK_TIME_DELTA = (typeof document != "undefined" && document.addEventListener) ? 350.0 : 1000.0; + CLICK_TIME_DELTA = (typeof document != "undefined" && document.addEventListener) ? 0.55 : 1.0; var CPDOMEventGetClickCount = function(aComparisonEvent, aTimestamp, aLocation) { From 31d5ddb20ad96d43d3e86e562fafcfe66368467b Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Fri, 31 Aug 2012 22:08:25 +0100 Subject: [PATCH 03/63] Improve `CPStepper` graphics. * Disabled `CPStepper` looked larger than the regular stepper due to the outline becoming white. * Wrong pixels at bottom corners. --- .../stepper-bezel-big-disabled-down-center.png | Bin 170 -> 229 bytes .../stepper-bezel-big-disabled-down-left.png | Bin 138 -> 174 bytes .../stepper-bezel-big-disabled-down-right.png | Bin 135 -> 169 bytes .../stepper-bezel-big-disabled-up-center.png | Bin 178 -> 235 bytes .../stepper-bezel-big-disabled-up-left.png | Bin 138 -> 169 bytes .../stepper-bezel-big-disabled-up-right.png | Bin 145 -> 170 bytes .../Resources/stepper-bezel-big-down-center.png | Bin 183 -> 252 bytes .../Resources/stepper-bezel-big-down-left.png | Bin 108 -> 167 bytes .../Resources/stepper-bezel-big-down-right.png | Bin 109 -> 169 bytes ...tepper-bezel-big-highlighted-down-center.png | Bin 192 -> 247 bytes .../stepper-bezel-big-highlighted-down-left.png | Bin 114 -> 174 bytes ...stepper-bezel-big-highlighted-down-right.png | Bin 112 -> 172 bytes .../stepper-bezel-big-highlighted-up-center.png | Bin 190 -> 244 bytes .../stepper-bezel-big-highlighted-up-left.png | Bin 118 -> 181 bytes .../stepper-bezel-big-highlighted-up-right.png | Bin 120 -> 184 bytes .../Resources/stepper-bezel-big-up-center.png | Bin 190 -> 247 bytes .../Resources/stepper-bezel-big-up-left.png | Bin 115 -> 180 bytes .../Resources/stepper-bezel-big-up-right.png | Bin 116 -> 180 bytes 18 files changed, 0 insertions(+), 0 deletions(-) diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-down-center.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-down-center.png index 9f6eb024fd9654ba1bc3082c0c05f7d57d02b597..f77a72971bef4a66648c4977867ee18f17189962 100644 GIT binary patch delta 212 zcmV;_04x8h0p$UZ8Gi-<006nSH`xFH02y>eSaefwW^{L9a%BKPWN%_+AW3auXJt}l zVPtu6$z?nM004(cL_t(|+MH1_3Irhx92dpf+RFCu3zojx_t;q2SSotw7R#M32id?7 zCd?2rVWpG-V)0rl$fhv{-Lwuu2#7IWTx$*Q{g39Do4(t9y^7HeDx3uakMG|$%P+i8$ODQ4Zjsx1P7h_zEnT?^Q&3XXfy$7vF z1F&9eZFSCCOHG^gh+69w0`=b=5A=nPd#650BL3fzvm`h4t`dh*CkRY`00000NkvXX Hu0mjfY6U-Q diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-down-left.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-down-left.png index d26b98bc073a4ebbe5b6394a4e39cb0dd71e3924..7a3460d1eb702e4a6bdc043efc46946278b57068 100644 GIT binary patch delta 146 zcmV;D0B!$@0j>d%B!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0000` zNkl-C{Q2{L5M}{#7=Qo%%>V)*4#WTd|G^w4kPHJ9fR({yaC0#9pqTdW z&!0aZK>{Go$J@7WPy74#?Px# delta 109 zcmV-z0FwW%0g3^TBxX@bL_t&tTVuI+>C%5WIXMOpVEOm&Kf}+TKOvm||Nk?9FgDIV zoH9glfcV3|zyAc7n3xz?SXtRtefs=4jfaPufkj?Uw)(-tM{F-&zVZP8zMMi@e8!z6 P00000NkvXXu0mjf^h`2E diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-down-right.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-down-right.png index 9a6a3b92d7854b49cc912bc11bcae182afcd3b27..8699666f171f31e253d72b2fbfe835f122304ebf 100644 GIT binary patch delta 141 zcmV;80CN9_0jU9yB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0000> zNklyEK0fS69vETOo&W#< M07*qoM6N<$g8Qp0oB#j- diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-up-center.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-up-center.png index 84dccac61000ce906e00b8d76fde4090f65e270e..4be4e4e23f2c0ffb96d8d8e12c7e64e3f6e8a310 100644 GIT binary patch delta 218 zcmV<0044vj0qX&f8Gi-<00469eSaefwW^{L9a%BKPWN%_+AW3auXJt}l zVPtu6$z?nM0050iL_t(|+PqM)4Fe$zJU<``7RdfvFak9a4Fk|qKm#HHDN>%e2u)71 zPR717HUW6x5Y$>5$D&&6pG2h;Ry4){5wW6c7We4A!&FMGaq7j_DtNgv4VTWgw+boGAUuIhz_%h$(z>yF0 z8zoxu?#;Ka-q^ODw|qc zXU?4~3+C?JwX3zI<=4-jjGhY8%dHYD{x&g!7&Z+rrS9$BeMEtwCvMt@$@hdKfv#Zi MboFyt=akR{05q~m*8l(j diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-up-left.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-disabled-up-left.png index 5905f74f0de89925117deb93d71df1025bb75abe..c89d0dd356ea9413956dc86f633a627b1e999206 100644 GIT binary patch delta 141 zcmV;80CN9|0jU9yB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0000> zNklVKx$N^yikSGgC&;S4b v88A3Z3`hXCG7LS8xb@t=eH+XH2rvK_*(0ZqzWxmW0000(I7cp1Kb|Nb9{-vc?~Obiep0K`lz|NsAo w@);OWI51^kfLj?(J!r~q-@Xm!00bBSLw6*mfK$h700000Ne4wvM6N<$g1@jh4*&oF delta 116 zcmV-)0E_>s0g(ZaByCtpL_t&tTaC&w4nRN@MbSIS6sERZo3IJX!gMH96JJ68(~!_9 zPjbST^8}$gkE02;?<%EWW^LFulMwT~tkLBFNU9^^0a3ce3+^v`+HW{<7fWNY?c4-#^MVb$53&T)cRZfsv7s;s5{t4Ep-|45g)| zC~6qbpFfY`r>3SRum%vQudm0ji3wyAGG=08Vh9WjWZ>c9VOaJSXh|h?c29-XA%{9_@aUZn@Kc@Cq^L7BUKYX afB^t3^jiIhc0C^e0000U7LbxGag8Vm&QB{TPb^Aha7@WhN>%X8O-xS>N=;0uEIgTN z161Vc>EaktaVseyA%Ua*@2{`*0%?pzGvfDF9c5rr;JduP{{M#J8HJ|=4kj`^inp)- z_vhRH|MdpXul@V`dwVmBgrghtMqYtz1{Mj1I!pbDEBQqjx`3uKc)I$ztaD0e0stN? BIVu1E delta 89 zcmZ3^m@`2#n1z9Xfw%npLm*}B>Eal|5uKdKQNOpTv9Y!Brzmqr(yw+O!^Iyq1jf|Y s*Cakq+*n(guzaod={?1rYxY(%_8u1Yxilpr6R4fR)78&qol`;+0NP6m0H=NjY5)KL8FWQhbW?9;ba!ELWdK2BZ(?O2No`?gWm08f zWO;GPWjp`?082?kK~#9!VtD=f^?wj%U|03-M>5!uwocGLg>002ovPDHLk FV1i>xKSuxn delta 90 zcmZ3Eal|5uIH5cYdRzNz+qNW&wlEf0zS(G(^H2Exyiw u_*{J5ex3VvviEX7cd0Ho^y=%MVupJGV*b^2g=>KN89ZJ6T-G@yGywq0%_9o{ diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-down-center.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-down-center.png index 591a0e4f102ef8115096209e4738a6d078b4da97..af6cd7a192c055593c465e7adf628b21abae3e50 100644 GIT binary patch delta 219 zcmV<103`pw0rvrrB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0001) zNkl(rh|^-z&y|3 zoWmH?dHb8s?>nrupk|+ndW2|VjDN2D7l?hejzS*+1^^z7 Vhl(CYvi|@8002ovPDHLkV1kyVUdR9d delta 164 zcmV;V09*g}0l)!}B!7oVL_t(2k)4n+4h0ba1z*%ofn@I@F5nbu&f-{Fg<7pp;D_pG zSF*9iWb(2*2}lTGoI+AcIE9Qca0=t_wnl<+)$)G|4$bDYd-&zKvRIh%qj2qa9CA{wdO0n^S(3yPLk0 SwXYQb0000U7LbxGag8Vm&QB{TPb^Aha7@WhN>%X8O-xS>N=;0uEIgTN z15^~?>EaktaVse$A%SCm(bH303TF>69XZ1I<>h3Q~1RBoZ>FVdQ I&MBb@0P)K^?*IS* delta 95 zcmZ3-STsR0l7)eRfw%npLm*}8>Eal|5uKdKv42xjV`FRMPetaAq+k3C|21l+aj-sJ zc*;>@-G2N18$NEhvCn4fU7LbxGag8Vm&QB{TPb^Aha7@WhN>%X8O-xS>N=;0uEIgTN z161Va>EaktaVu#@(bH4)0%-{e9O;!mJ}5Ga7;OIY|G)gP#H63!-^+*b8L#3AtWr2t z_y6Bt-V;BMetLaEal|5uLpA)BHw9^`@ta%mN0R|F8%8==`6cktV_4 xE#vXwy7;>NI`(#RZ{~jPQeA%N)z?4840qm&6}-~gQ2;c8!PC{xWt~$(697I1B+>u? diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-up-center.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-up-center.png index 3e66486b6730ecc8ee0154e15c15bae970041267..66b7333982954fa2073d691a73f032466c56941d 100644 GIT binary patch delta 216 zcmV;}04M*x0rUZoB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0001% zNklQT$HfEPF{eQ7d$Ap%Rrur;@NsvB{!Qe96mX-WVhA5dd!- z9uh)mr>57}gkw{!_1x6j{&&4k2-#{^PnxTg0x9LdoqqKf=TXvH!#Ou_r!Pq{Mp$dX zIUm^hk~BAzQeceXzVCsZ&v%G1=5G>02vACYJm-vgEz8Kg_YdtUrF3li2rvLV*{wMH S7Frnq0000h+6BL3w;6?G3NvqvDN~YzfEHdIOn#nn_`S8rEFg{wbqbQ zg4TMQ@=w$ELkIyTqsQ>@~ diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-up-left.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-up-left.png index 5962a2299e3a287c466cd07a2611f7083e13d531..c122be142856ca480735cdab7f231cda51d6c61e 100644 GIT binary patch delta 163 zcmXTh$~Zx?o{fQlAxG)Tc_1ZO;u=vBoS#-wo>-L1;Fyx1l&avFo0y&&l$w}QS$Hzl z2B;|9)5S5Q;#N{hLP7#dlB$9ja}wLst=ZT8>VAB9=q{$w6UVZhwD& zztYjmL1x+i|No5-SoHk=_qVxt#>CVa6H)^#Ev6bS){w3K{!VrVvp@nvT7ZVc9ghx1 PpdAdJu6{1-oD!Mke(P25uGA&@Q~tavCnZ0PuWk0 zGqSOXu`T=0qtNwHenwK;hZzbs60J%nctmU1moS{($9F!wto;PgAO=rYKbLh*2~7Yg CS0SGO diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-up-right.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-highlighted-up-right.png index 5adfec42cf6eb7a8859a1a42a5cd4ccb7c608f9f..140392021e23fb1d06c830f5cd05da1178eeac33 100644 GIT binary patch delta 166 zcmV;X09pTdxB-wEe+B>m0Bj=E&j0`b8FWQhbW?9;ba!ELWdK2BZ(?O2No`?gWm08f zWO;GPWjp`?09r{zK~#9!VrF1qumoauApXGc@ZrNxYuB!w4CE*=y?*_gS4Bl79>|em z`Sa%w0}%59IczNd|Nm!z0w$J!|Ng-^jL0&~$TCc*99#yVAaIyj-o1MVmjMVc030?f U6Ol-tlmGw#07*qoM6N<$f-`SIZvX%Q delta 101 zcmdnNSTR8|o`r#d;h46J3y`w+ba4#fh)zy4NUu2gVZzgU(>`lA{f@ZTz2a!WnzWy1 zKSV!Z=RRG}rjU^IlYNndqD>kHzt)MCMJ!&1oA)q(W|+(>;>Ug6y9sC%gQu&X%Q~lo FCIGviCUXD) diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-up-center.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-up-center.png index b022dfe9f45579cd483b2d9dc83c100c84ef344d..95ba0cfb7927d5b45b1a2eed3ca452f10c770b3b 100644 GIT binary patch delta 219 zcmV<103`pu0rvrrB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0001) zNkluY5HjuE&YP~M)(WN6$W*ib6x#P4&bg6)fH002ovPDHLkV1kw+U_t-@ delta 162 zcmV;T0A2t00loo{B!7iTL_t(2Qm0Bj=E&j0`b8FWQhbW?9;ba!ELWdK2BZ(?O2No`?gWm08f zWO;GPWjp`?09HvvK~#9!Vq{=oU<6_%AQl5+29@2rcTfKO`SV8*$L7tOH=o|Ud-tCS z$YJ~c|3B~FzkeB6fE*?u2c!bbVf^>+ADqLC%wZyfgKEIp9J6P^9Do1=04RztBE%5* QL;wH)07*qoM6N<$f(ubXL;wH) delta 96 zcmdnOSUf>8iiLrJ;h46J3y`w%ba4#fkWEfZNSTl>ke(QDBQ{0o;336qiO=y3PuWk` zH}2=r;qmz|DbXPE*xukM&%zlW0t{5s8>JYep7Gz;%@h#>n!@1e>gTe~DWM4f&^{lk diff --git a/AppKit/Themes/Aristo/Resources/stepper-bezel-big-up-right.png b/AppKit/Themes/Aristo/Resources/stepper-bezel-big-up-right.png index d9630e755ef980d0eabff788492f4a440b626763..a30db38ace9a207ac58ebeb81444b21c00e6601b 100644 GIT binary patch delta 162 zcmV;T0A2rdv;mMAe+B>m0Bj=E&j0`b8FWQhbW?9;ba!ELWdK2BZ(?O2No`?gWm08f zWO;GPWjp`?09HvvK~#9!VrF1qumoauApXGc`Sa&byLa!N4CE*=ynFZV|C={&J^?v4 zEPwz01=0+>K+MMS|NnmmC}3jw_wOH!!-&jbM&>Y)!C_`O9DDXGTm~S(0168&A3Z`W QcmMzZ07*qoM6N<$f~eI(nE(I) delta 97 zcmdnOSTaE}nuURZ;h46J3y`w*ba4#fh)zy3NKZ)papJ?jukTLsbn(3Zx4-gy;_*+@ z8yz38bDyqfQ%Feq$-YQJQN*|<>5#MG<~gjN8RC`-cO85^tsH0!gQu&X%Q~loCIB_q BCcgjx From 4e6b9978ce3c609442a28797b1971eb9bd826f5b Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Fri, 31 Aug 2012 22:09:11 +0100 Subject: [PATCH 04/63] Adjust size in `NSStepper` to `CPStepper`. --- Tools/nib2cib/NSStepper.j | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Tools/nib2cib/NSStepper.j b/Tools/nib2cib/NSStepper.j index a17a52938..c5b3746ae 100644 --- a/Tools/nib2cib/NSStepper.j +++ b/Tools/nib2cib/NSStepper.j @@ -38,6 +38,11 @@ _valueWraps = [cell valueWraps]; _autorepeat = [cell autorepeat]; _objectValue = [cell objectValue]; + + // Convert Cocoa normal size to Cappuccino normal size. + _frame.origin.y += 2; + _frame.size.height -= 2; + _bounds.size.height -= 2; } return self; From 3dacb4a5ef8f6e0c432245f0249190b4f9a65fe8 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Fri, 31 Aug 2012 22:31:40 +0100 Subject: [PATCH 05/63] Fix nib2cib alignment of`CPColorWell`, `CPComboBox`, `CPPopUpButton` and `CPSegmentedControl`. --- Tools/nib2cib/NSColorWell.j | 3 +++ Tools/nib2cib/NSComboBox.j | 3 +++ Tools/nib2cib/NSPopUpButton.j | 4 ++-- Tools/nib2cib/NSSegmentedControl.j | 2 ++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Tools/nib2cib/NSColorWell.j b/Tools/nib2cib/NSColorWell.j index dbb0a0042..9630f0301 100644 --- a/Tools/nib2cib/NSColorWell.j +++ b/Tools/nib2cib/NSColorWell.j @@ -45,6 +45,9 @@ CPLog.debug("NSColorWell: adjusting height from %d to %d", frameSize.height, 24.0); frameSize.height = 24.0; [self setFrameSize:frameSize]; + + // Adjust for differences between Cocoa and Cappuccino widget framing. + _frame.origin.x -= 3; } } diff --git a/Tools/nib2cib/NSComboBox.j b/Tools/nib2cib/NSComboBox.j index 16ed5ba49..ee405c663 100644 --- a/Tools/nib2cib/NSComboBox.j +++ b/Tools/nib2cib/NSComboBox.j @@ -48,6 +48,9 @@ size = [self frameSize]; [self setFrameSize:CGSizeMake(size.width, MIN(size.height, maxSize.height))]; + + // Adjust for differences between Cocoa and Cappuccino widget framing. + _frame.origin.x += 1; } return self; diff --git a/Tools/nib2cib/NSPopUpButton.j b/Tools/nib2cib/NSPopUpButton.j index 83166acf5..b7ec829d2 100644 --- a/Tools/nib2cib/NSPopUpButton.j +++ b/Tools/nib2cib/NSPopUpButton.j @@ -36,10 +36,10 @@ _menu = [cell menu]; // adjust the frame - _frame.origin.x -= 3; + _frame.origin.x -= 4; _frame.origin.y -= 4; _frame.size.width += 6; - _bounds.size.width += 6; + _bounds.size.width += 7; [self setPullsDown:[cell pullsDown]]; _preferredEdge = [cell preferredEdge]; diff --git a/Tools/nib2cib/NSSegmentedControl.j b/Tools/nib2cib/NSSegmentedControl.j index da94613d4..e696bb236 100644 --- a/Tools/nib2cib/NSSegmentedControl.j +++ b/Tools/nib2cib/NSSegmentedControl.j @@ -57,6 +57,8 @@ [self tileWithChangedSegment:i]; } + // Adjust for differences between Cocoa and Cappuccino widget framing. + frame.origin.x += 4; frame.size.width = originalWidth; [self setFrame:frame]; } From d0fa16b96b740c6e654b9cd5e06d3ca80a42bc6d Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Fri, 31 Aug 2012 23:19:24 +0100 Subject: [PATCH 06/63] Fix `NSPopUpButton` in previous commit. --- Tools/nib2cib/NSPopUpButton.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tools/nib2cib/NSPopUpButton.j b/Tools/nib2cib/NSPopUpButton.j index b7ec829d2..ece79a2f9 100644 --- a/Tools/nib2cib/NSPopUpButton.j +++ b/Tools/nib2cib/NSPopUpButton.j @@ -38,7 +38,7 @@ // adjust the frame _frame.origin.x -= 4; _frame.origin.y -= 4; - _frame.size.width += 6; + _frame.size.width += 7; _bounds.size.width += 7; [self setPullsDown:[cell pullsDown]]; From 63bad1dae0c314c5080d7f94959c03504bf8f0fc Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 2 Sep 2012 17:28:34 +0100 Subject: [PATCH 07/63] Setting _data just once is enough. --- Foundation/CPKeyedArchiver.j | 2 -- 1 file changed, 2 deletions(-) diff --git a/Foundation/CPKeyedArchiver.j b/Foundation/CPKeyedArchiver.j index 83dbc52ee..0dd5b1659 100644 --- a/Foundation/CPKeyedArchiver.j +++ b/Foundation/CPKeyedArchiver.j @@ -176,8 +176,6 @@ var _CPKeyedArchiverStringClass = Nil, _replacementObjects = [CPDictionary dictionary]; - _data = data; - _plistObject = [CPDictionary dictionary]; _plistObjects = [CPArray arrayWithObject:_CPKeyedArchiverNullString]; } From ee1c5478b19771452c2cdfe0e9f0f2e0585bd91a Mon Sep 17 00:00:00 2001 From: Ilya Kulakov Date: Mon, 3 Sep 2012 03:41:14 +0700 Subject: [PATCH 08/63] Fix frame of CPScrollView is calculated incorrectly. --- AppKit/CPScrollView.j | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AppKit/CPScrollView.j b/AppKit/CPScrollView.j index 42bfddf86..15af71088 100644 --- a/AppKit/CPScrollView.j +++ b/AppKit/CPScrollView.j @@ -172,10 +172,10 @@ var CPScrollerStyleGlobal = CPScrollerStyleOverlay, scrollerWidth = [CPScroller scrollerWidth]; if (hFlag) - frameSize.height -= scrollerWidth; + frameSize.height += scrollerWidth; if (vFlag) - frameSize.width -= scrollerWidth; + frameSize.width += scrollerWidth; return frameSize; } From b5776445ec195bbf9b56f00fe84def6ef14e2930 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 2 Sep 2012 23:08:14 +0100 Subject: [PATCH 09/63] Significantly optimise `CPToolbar` validation. Avoid sending notifications about toolbar items' enabled state needlessly. Tiling is expensive, but even if the toolbar item ignores redundant `setEnabled:` calls, the cost of notifications alone can really add up when there are many toolbar items. --- AppKit/CPToolbar.j | 4 ++++ AppKit/CPToolbarItem.j | 38 ++++++++++++++++++++++++++++++++------ 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/AppKit/CPToolbar.j b/AppKit/CPToolbar.j index 0b1afce9b..8c2a717e2 100644 --- a/AppKit/CPToolbar.j +++ b/AppKit/CPToolbar.j @@ -1174,6 +1174,10 @@ var LABEL_MARGIN = 2.0; - (void)setEnabled:(BOOL)shouldBeEnabled { + // Tiling is very expensive so try to avoid it. The CPToolbarItem should already be careful to not notifying about its enabled state needlessly. + if ([self isEnabled] === shouldBeEnabled) + return; + [super setEnabled:shouldBeEnabled]; if (shouldBeEnabled) diff --git a/AppKit/CPToolbarItem.j b/AppKit/CPToolbarItem.j index 47be03820..6c6478a0f 100644 --- a/AppKit/CPToolbarItem.j +++ b/AppKit/CPToolbarItem.j @@ -275,6 +275,9 @@ CPToolbarPrintItemIdentifier = @"CPToolbarPrintItem"; */ - (void)setEnabled:(BOOL)shouldBeEnabled { + if (_isEnabled === shouldBeEnabled) + return; + if ([_view respondsToSelector:@selector(setEnabled:)]) [_view setEnabled:shouldBeEnabled]; @@ -457,26 +460,49 @@ CPToolbarItemVisibilityPriorityUser if (_view) { if ([target respondsToSelector:@selector(validateToolbarItem:)]) - [self setEnabled:[target validateToolbarItem:self]]; + { + var shouldBeEnabled = [target validateToolbarItem:self]; + if (_isEnabled !== shouldBeEnabled) + [self setEnabled:shouldBeEnabled]; + } return; } if (!action) - return [self setEnabled:NO]; + { + if (_isEnabled) + return [self setEnabled:NO]; + return; + } if (target && ![target respondsToSelector:action]) - return [self setEnabled:NO]; + { + if (_isEnabled) + return [self setEnabled:NO]; + return; + } target = [CPApp targetForAction:action to:target from:self]; if (!target) - return [self setEnabled:NO]; + { + if (_isEnabled) + return [self setEnabled:NO]; + return; + } if ([target respondsToSelector:@selector(validateToolbarItem:)]) - [self setEnabled:[target validateToolbarItem:self]]; + { + var shouldBeEnabled = [target validateToolbarItem:self]; + if (_isEnabled !== shouldBeEnabled) + [self setEnabled:shouldBeEnabled]; + } else - [self setEnabled:YES]; + { + if (!_isEnabled) + [self setEnabled:YES]; + } } - (BOOL)autovalidates From 7264692a0a8cb5887a9946b45ebcd93f6e1f5178 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 2 Sep 2012 23:33:56 +0100 Subject: [PATCH 10/63] Optimise `CPSegmentedButton setEnabled:forSegment:`. Don't relayout the segmented button if the enabled state of a segment is not changed. --- AppKit/CPSegmentedControl.j | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/AppKit/CPSegmentedControl.j b/AppKit/CPSegmentedControl.j index 4a28f091f..0399cf050 100644 --- a/AppKit/CPSegmentedControl.j +++ b/AppKit/CPSegmentedControl.j @@ -366,11 +366,14 @@ CPSegmentSwitchTrackingMomentary = 2; @param aSegment the segment to enable/disable @throws CPRangeException if \c aSegment is out of bounds */ -- (void)setEnabled:(BOOL)isEnabled forSegment:(unsigned)aSegment +- (void)setEnabled:(BOOL)shouldBeEnabled forSegment:(unsigned)aSegment { - [_segments[aSegment] setEnabled:isEnabled]; + if ([_segments[aSegment] enabled] === shouldBeEnabled) + return; - if (isEnabled) + [_segments[aSegment] setEnabled:shouldBeEnabled]; + + if (shouldBeEnabled) _themeStates[aSegment] &= ~CPThemeStateDisabled; else _themeStates[aSegment] |= CPThemeStateDisabled; From bf3a152946d2661b91e45109c67efbe16a0a9643 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 3 Sep 2012 20:20:05 +0100 Subject: [PATCH 11/63] Whitespace. --- Tests/Foundation/CPDataTest.j | 9 ++++----- Tests/Manual/CPImageViewbindingsTest/AppController.j | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Tests/Foundation/CPDataTest.j b/Tests/Foundation/CPDataTest.j index f63baaad8..7a97a1850 100644 --- a/Tests/Foundation/CPDataTest.j +++ b/Tests/Foundation/CPDataTest.j @@ -71,10 +71,10 @@ var rawString = "cappuccino", bytes = [99, 97, 112, 112, 117, 99, 99, 105, 110, 111], base64 = "Y2FwcHVjY2lubw=="; - + var data = [CPData dataWithBase64:base64]; [self assert:rawString equals:[data rawString]]; - + data = [CPData dataWithBase64:base64]; [self assert:bytes equals:[data bytes]]; @@ -84,17 +84,16 @@ data = [CPData dataWithRawString:rawString]; [self assert:rawString equals:[data rawString]]; - + data = [CPData dataWithRawString:rawString]; [self assert:bytes equals:[data bytes]]; data = [CPData dataWithRawString:rawString]; [self assert:base64 equals:[data base64]]; - data = [CPData dataWithBytes:bytes]; [self assert:rawString equals:[data rawString]]; - + data = [CPData dataWithBytes:bytes]; [self assert:bytes equals:[data bytes]]; diff --git a/Tests/Manual/CPImageViewbindingsTest/AppController.j b/Tests/Manual/CPImageViewbindingsTest/AppController.j index 1779ffc44..8e0ccb094 100644 --- a/Tests/Manual/CPImageViewbindingsTest/AppController.j +++ b/Tests/Manual/CPImageViewbindingsTest/AppController.j @@ -34,7 +34,7 @@ var data = [[CPData alloc] initWithRawString:dataString], theRows = [CPPropertyListSerialization propertyListFromData:data format:CPPropertyListXMLFormat_v1_0]; -// Add a CPImage to the model to test CPValueBinding. + // Add a CPImage to the model to test CPValueBinding. var path = [[CPBundle mainBundle] pathForResource:@"value.jpg"], image = [[CPImage alloc] initWithContentsOfFile:path], dict = [CPDictionary dictionaryWithObject:image forKey:@"image"]; From 48e797a80da47e50f1038befb16f5d1e75c14274 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 3 Sep 2012 20:20:23 +0100 Subject: [PATCH 12/63] Minor hit test optimisation. --- AppKit/CPView.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPView.j b/AppKit/CPView.j index 7160f092d..b11599d32 100644 --- a/AppKit/CPView.j +++ b/AppKit/CPView.j @@ -1508,7 +1508,7 @@ var CPCurrentToolTip, */ - (CPView)hitTest:(CPPoint)aPoint { - if (_isHidden || !_hitTests || !CPRectContainsPoint(_frame, aPoint)) + if (_isHidden || !_hitTests || !_CGRectContainsPoint(_frame, aPoint)) return nil; var view = nil, From 04f650dde76e41d4589437c3568de037b2fbb9af Mon Sep 17 00:00:00 2001 From: Blair Duncan Date: Mon, 3 Sep 2012 23:47:11 -0400 Subject: [PATCH 13/63] Windows selection compatibility. Fix for issue 1390 --- AppKit/CPCollectionView.j | 6 +++--- AppKit/CPTableView.j | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/AppKit/CPCollectionView.j b/AppKit/CPCollectionView.j index f49631587..813b4573d 100644 --- a/AppKit/CPCollectionView.j +++ b/AppKit/CPCollectionView.j @@ -28,7 +28,7 @@ @import "CPView.j" @import "CPCollectionViewItem.j" - +@import "CPCompatibility.j" /*! @ingroup appkit @@ -647,9 +647,9 @@ if (index >= 0 && index < _items.length) { - if (_allowsMultipleSelection && ([anEvent modifierFlags] & CPCommandKeyMask || [anEvent modifierFlags] & CPShiftKeyMask)) + if (_allowsMultipleSelection && ([anEvent modifierFlags] & CPPlatformActionKeyMask || [anEvent modifierFlags] & CPShiftKeyMask)) { - if ([anEvent modifierFlags] & CPCommandKeyMask) + if ([anEvent modifierFlags] & CPPlatformActionKeyMask) { var indexes = [_selectionIndexes copy]; diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 02d25297e..482feca58 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -29,6 +29,7 @@ @import "CPTableColumn.j" @import "_CPCornerView.j" @import "CPScroller.j" +@import "CPCompatibility.j" CPTableViewColumnDidMoveNotification = @"CPTableViewColumnDidMoveNotification"; @@ -2644,7 +2645,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad if (_allowsColumnSelection) { [self _noteSelectionIsChanging]; - if (modifierFlags & CPCommandKeyMask) + if (modifierFlags & CPPlatformActionKeyMask) { if ([self isColumnSelected:clickedColumn]) [self deselectColumn:clickedColumn]; From e4a6d8520c4472456e3959aae770a2af62024f36 Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Mon, 10 Sep 2012 13:49:40 -0700 Subject: [PATCH 14/63] CPOutlineView notify for items expanded after having reloaded them --- AppKit/CPOutlineView.j | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/AppKit/CPOutlineView.j b/AppKit/CPOutlineView.j index ffddcfab1..1e7def33f 100644 --- a/AppKit/CPOutlineView.j +++ b/AppKit/CPOutlineView.j @@ -376,9 +376,8 @@ var CPOutlineViewCoalesceSelectionNotificationStateOff = 0, var previousRowCount = [self numberOfRows]; itemInfo.isExpanded = YES; - // XXX Shouldn't the items reload before the notification is sent? - [self _noteItemDidExpand:anItem]; [self reloadItem:anItem reloadChildren:YES]; + [self _noteItemDidExpand:anItem]; // Shift selection indexes below so that the same items remain selected. var rowCountDelta = [self numberOfRows] - previousRowCount; From 0a189906cdd85f266d800312c5382816f704209e Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Mon, 10 Sep 2012 15:17:45 -0700 Subject: [PATCH 15/63] notify delegate that item did collapse after reloading them --- AppKit/CPOutlineView.j | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/AppKit/CPOutlineView.j b/AppKit/CPOutlineView.j index 1e7def33f..2fdfff156 100644 --- a/AppKit/CPOutlineView.j +++ b/AppKit/CPOutlineView.j @@ -468,9 +468,8 @@ var CPOutlineViewCoalesceSelectionNotificationStateOff = 0, } itemInfo.isExpanded = NO; - // XXX Shouldn't the items reload before the notification is sent? - [self _noteItemDidCollapse:anItem]; [self reloadItem:anItem reloadChildren:YES]; + [self _noteItemDidCollapse:anItem]; // Send selection notifications only after the items have loaded so that // the new selection is consistent with the actual rows for any observers. From 2f428fa389bd42a7f180d2eb52c84c80f568e52e Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Mon, 10 Sep 2012 15:19:32 -0700 Subject: [PATCH 16/63] test item visibility when expanding/collapsing items --- Tests/AppKit/CPOutlineViewTest.j | 58 ++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/Tests/AppKit/CPOutlineViewTest.j b/Tests/AppKit/CPOutlineViewTest.j index af61c64a8..eac2c4f34 100644 --- a/Tests/AppKit/CPOutlineViewTest.j +++ b/Tests/AppKit/CPOutlineViewTest.j @@ -161,6 +161,17 @@ [self assert:2 equals:[[outlineView selectedRowIndexes] count] message:"selections should remain"]; } + +- (void)testExpandCollapseItemVisibility +{ + var delegate = [TestExpandCollapseVisibilityDelegate new]; + [delegate setTester:self]; + [outlineView setDelegate:delegate]; + + [outlineView collapseItem:".1"]; + [outlineView expandItem:".1"]; +} + /*! Test that the outline view archives properly. */ @@ -270,3 +281,50 @@ } @end + +@implementation TestExpandCollapseVisibilityDelegate : CPObject +{ + id tester @accessors; +} + +- (void)outlineViewItemWillCollapse:(CPNotification)aNotification +{ + var anOutlineView = [aNotification object], + visibleRows = [anOutlineView rowsInRect:[anOutlineView visibleRect]]; + + [tester assertTrue:[anOutlineView isItemExpanded:".1"]]; + [tester assert:0 equals:visibleRows.location]; + [tester assert:8 equals:visibleRows.length]; +} + +- (void)outlineViewItemDidCollapse:(CPNotification)aNotification +{ + var anOutlineView = [aNotification object], + visibleRows = [anOutlineView rowsInRect:[anOutlineView visibleRect]]; + + [tester assertFalse:[anOutlineView isItemExpanded:".1"]]; + [tester assert:0 equals:visibleRows.location]; + [tester assert:4 equals:visibleRows.length]; +} + +- (void)outlineViewItemWillExpand:(CPNotification)aNotification +{ + var anOutlineView = [aNotification object], + visibleRows = [anOutlineView rowsInRect:[anOutlineView visibleRect]]; + + [tester assertFalse:[anOutlineView isItemExpanded:".1"]]; + [tester assert:0 equals:visibleRows.location]; + [tester assert:4 equals:visibleRows.length]; +} + +- (void)outlineViewItemDidExpand:(CPNotification)aNotification +{ + var anOutlineView = [aNotification object], + visibleRows = [anOutlineView rowsInRect:[anOutlineView visibleRect]]; + + [tester assertTrue:[anOutlineView isItemExpanded:".1"]]; + [tester assert:0 equals:visibleRows.location]; + [tester assert:8 equals:visibleRows.length]; +} + +@end From 2e7afc3ca176cf2b461a983fa3d22b99628dc9a0 Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Thu, 13 Sep 2012 14:09:02 -0700 Subject: [PATCH 17/63] when managin the project, create a file containing includes of all projects files --- Tools/XcodeCapp/pbxprojModifier.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Tools/XcodeCapp/pbxprojModifier.py b/Tools/XcodeCapp/pbxprojModifier.py index b81ebb29d..f06ae96a0 100755 --- a/Tools/XcodeCapp/pbxprojModifier.py +++ b/Tools/XcodeCapp/pbxprojModifier.py @@ -8,6 +8,14 @@ def add_file(project, shadowGroup, sourceGroup, shadowPath, sourcePath, projectB project.add_file(sourcePath, parent=sourceGroup) project.save() +def update_general_include(projectBaseURL): + f = open("%s/%s/xcc_general_include.h" % (projectBaseURL, XCODESUPPORTFOLDER), "w") + for file in os.listdir("%s/%s" % (projectBaseURL, XCODESUPPORTFOLDER)): + if file.endswith(".m"): + f.write("#include \"%s\"\n" % file) + f.close() + + def remove_file(project, shadowGroup, sourceGroup, shadowPath, sourcePath, projectBaseURL): project.remove_file("%s/%s" % (XCODESUPPORTFOLDER, os.path.basename(shadowPath)), parent=shadowGroup) project.remove_file(os.path.relpath(sourcePath, projectBaseURL), parent=sourceGroup) @@ -38,6 +46,7 @@ if __name__ == '__main__': elif action == "remove" and len(files) == 1: remove_file(project, shadowGroup, sourceGroup, shadowFilePath, sourceFilePath, projectBaseURL) + update_general_include(projectBaseURL) From c30a6fb843907384a3ab6dc21c16509a80ab4335 Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Thu, 13 Sep 2012 14:09:30 -0700 Subject: [PATCH 18/63] import the general include file to allow XCode to understand custom class inheritance --- Tools/XcodeCapp/parser.j | 1 + 1 file changed, 1 insertion(+) diff --git a/Tools/XcodeCapp/parser.j b/Tools/XcodeCapp/parser.j index f765fb598..ba35a1336 100644 --- a/Tools/XcodeCapp/parser.j +++ b/Tools/XcodeCapp/parser.j @@ -107,6 +107,7 @@ function main(args) ObjectiveCSource += "#import \n" + "#import \n" + + "#import \"xcc_general_include.h\"\n" + "\n@interface " + class_getName(aClass) + (superClassName === "Nil" ? "" : (" : " + NSCompatibleClassName(superClassName))) + "\n\n" + From df28a4696e0028757c6dcda429409b9e48908fd3 Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Thu, 13 Sep 2012 19:06:00 -0700 Subject: [PATCH 19/63] parser.j now generate both header and implementation files --- Tools/XcodeCapp/parser.j | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/Tools/XcodeCapp/parser.j b/Tools/XcodeCapp/parser.j index ba35a1336..5a808cbe5 100644 --- a/Tools/XcodeCapp/parser.j +++ b/Tools/XcodeCapp/parser.j @@ -26,7 +26,8 @@ var FILE = require("file"); function main(args) { var fileURL = new CFURL(args[1]), - outputURL = new CFURL(args[2]), + outputHeaderURL = new CFURL(args[2]), + outputSourceURL = new CFURL(args[3]), source = FILE.read(fileURL, { charset: "UTF-8" }), flags = ObjectiveJ.Preprocessor.Flags.IncludeDebugSymbols | ObjectiveJ.Preprocessor.Flags.IncludeTypeSignatures, @@ -65,7 +66,8 @@ function main(args) eval(source); - var ObjectiveCSource = ""; + var ObjectiveCSource = "", + ObjectiveCHeader = ""; classes.forEach(function(aClass) { @@ -104,7 +106,7 @@ function main(args) var className = class_getName(aClass), superClassName = superClasses[className]; - ObjectiveCSource += + ObjectiveCHeader += "#import \n" + "#import \n" + "#import \"xcc_general_include.h\"\n" + @@ -114,13 +116,19 @@ function main(args) outlets.join("\n") + "\n" + actions.join("\n") + - "\n@end\n\n"+ + "\n@end\n"; + + ObjectiveCSource += + "#import \"" + outputHeaderURL.absoluteString().replace(/\\/g,'/').replace( /.*\//, '' ) + "\"" + "\n@implementation " + class_getName(aClass) + "\n@end\n"; }); if (ObjectiveCSource.length) - FILE.write(outputURL, ObjectiveCSource, { charset:"UTF-8" }); + FILE.write(outputSourceURL, ObjectiveCSource, { charset:"UTF-8" }); + + if (ObjectiveCHeader.length) + FILE.write(outputHeaderURL, ObjectiveCHeader, { charset:"UTF-8" }); } function NSCompatibleClassName(aClassName, asPointer) @@ -487,4 +495,4 @@ var NSClasses = { "NSWindowController" : YES, "NSWorkspace" : YES, "NSPopover": YES - }; \ No newline at end of file + }; From ad5b9b658ebc39380efe5d632de0d91ffe976997 Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Thu, 13 Sep 2012 19:06:34 -0700 Subject: [PATCH 20/63] take care of the .h and .m --- Tools/XcodeCapp/pbxprojModifier.py | 74 +++++++++++++++--------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/Tools/XcodeCapp/pbxprojModifier.py b/Tools/XcodeCapp/pbxprojModifier.py index f06ae96a0..434210bbd 100755 --- a/Tools/XcodeCapp/pbxprojModifier.py +++ b/Tools/XcodeCapp/pbxprojModifier.py @@ -3,58 +3,58 @@ from mod_pbxproj import XcodeProject XCODESUPPORTFOLDER = ".XcodeSupport" -def add_file(project, shadowGroup, sourceGroup, shadowPath, sourcePath, projectBaseURL): - project.add_file(shadowPath, parent=shadowGroup) - project.add_file(sourcePath, parent=sourceGroup) - project.save() +def update_general_include(project, projectBaseURL): + xcc_general_include_file = "%s/%s/xcc_general_include.h" % (projectBaseURL, XCODESUPPORTFOLDER) + content = "" -def update_general_include(projectBaseURL): - f = open("%s/%s/xcc_general_include.h" % (projectBaseURL, XCODESUPPORTFOLDER), "w") for file in os.listdir("%s/%s" % (projectBaseURL, XCODESUPPORTFOLDER)): - if file.endswith(".m"): - f.write("#include \"%s\"\n" % file) + if file.endswith(".h"): + content += "#include \"%s\"\n" % file + + f = open(xcc_general_include_file, "w") + f.write(content) f.close() + if len(project.get_files_by_os_path("%s/%s" % (XCODESUPPORTFOLDER, os.path.basename(xcc_general_include_file)))) == 0: + project.add_file(xcc_general_include_file, parent=shadowGroup) -def remove_file(project, shadowGroup, sourceGroup, shadowPath, sourcePath, projectBaseURL): - project.remove_file("%s/%s" % (XCODESUPPORTFOLDER, os.path.basename(shadowPath)), parent=shadowGroup) + +def add_file(project, shadowGroup, sourceGroup, shadowHeaderPath, shadowImplementationFilePath, sourcePath, projectBaseURL): + project.add_file(shadowHeaderPath, parent=shadowGroup) + project.add_file(shadowImplementationFilePath, parent=shadowGroup) + project.add_file(sourcePath, parent=sourceGroup) + +def remove_file(project, shadowGroup, sourceGroup, shadowHeaderPath, shadowImplementationFilePath, sourcePath, projectBaseURL): + project.remove_file("%s/%s" % (XCODESUPPORTFOLDER, os.path.basename(shadowHeaderPath)), parent=shadowGroup) + project.remove_file("%s/%s" % (XCODESUPPORTFOLDER, os.path.basename(shadowImplementationFilePath)), parent=shadowGroup) project.remove_file(os.path.relpath(sourcePath, projectBaseURL), parent=sourceGroup) - project.save() if __name__ == '__main__': - action = sys.argv[1] - PBXProjectFilePath = sys.argv[2] - shadowFilePath = sys.argv[3] - sourceFilePath = sys.argv[4] - projectBaseURL = sys.argv[5] - + action = sys.argv[1] + PBXProjectFilePath = sys.argv[2] + shadowHeaderFilePath = sys.argv[3] + shadowImplementationFilePath = sys.argv[4] + sourceFilePath = sys.argv[5] + projectBaseURL = sys.argv[6] + project = XcodeProject.Load(PBXProjectFilePath) - + shadowGroup = project.get_or_create_group('Classes') sourceGroup = project.get_or_create_group('Sources') - - if "main.m" in shadowFilePath: + + if "main.j" in sourceFilePath: sys.exit(0) - - files = project.get_files_by_os_path("%s/%s" % (XCODESUPPORTFOLDER, os.path.basename(shadowFilePath))) + + files = project.get_files_by_os_path("%s/%s" % (XCODESUPPORTFOLDER, os.path.basename(shadowHeaderFilePath))) if action == "add" and len(files) == 0: - add_file(project, shadowGroup, sourceGroup, shadowFilePath, sourceFilePath, projectBaseURL) + update_general_include(project, projectBaseURL) + add_file(project, shadowGroup, sourceGroup, shadowHeaderFilePath, shadowImplementationFilePath, sourceFilePath, projectBaseURL) + project.save() elif action == "remove" and len(files) == 1: - remove_file(project, shadowGroup, sourceGroup, shadowFilePath, sourceFilePath, projectBaseURL) - - update_general_include(projectBaseURL) - - - - - - - - - - - \ No newline at end of file + update_general_include(project, projectBaseURL) + remove_file(project, shadowGroup, sourceGroup, shadowHeaderFilePath, shadowImplementationFilePath, sourceFilePath, projectBaseURL) + project.save() From a7b40a5cddbe300cf941d3ad251c42e2ddd70c0d Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Thu, 13 Sep 2012 19:07:46 -0700 Subject: [PATCH 21/63] XcodeCapp now uses both .m and .h shadow files in addition of the general include .h. Seems to fix most of the problems + refactoring --- Tools/XcodeCapp/TNXCodeCapp.h | 4 +- Tools/XcodeCapp/TNXCodeCapp.m | 544 ++++++++++-------- .../XcodeCapp.xcodeproj/project.pbxproj | 19 + 3 files changed, 311 insertions(+), 256 deletions(-) diff --git a/Tools/XcodeCapp/TNXCodeCapp.h b/Tools/XcodeCapp/TNXCodeCapp.h index b43cfa130..2097b6dc8 100644 --- a/Tools/XcodeCapp/TNXCodeCapp.h +++ b/Tools/XcodeCapp/TNXCodeCapp.h @@ -73,7 +73,9 @@ extern NSString * const XCCListeningStartNotification; - (BOOL)isXIBFile:(NSString *)path; - (BOOL)isXCCIgnoreFile:(NSString *)path; - (BOOL)prepareXCodeSupportProject; -- (NSURL*)shadowURLForSourceURL:(NSURL*)aSourceURL; +- (NSURL*)shadowHeaderURLForSourceURL:(NSURL*)aSourceURL; +- (void)cleanUpShadowsRelatedToSourceURL:(NSURL*)aSourceURL; +- (NSURL*)shadowImplementationURLForSourceURL:(NSURL*)aSourceURL; - (NSURL*)sourceURLForShadowName:(NSString *)aString; - (void)handleFileModification:(NSString*)fullPath notify:(BOOL)shouldNotify; - (void)handleFileRemoval:(NSString*)fullPath; diff --git a/Tools/XcodeCapp/TNXCodeCapp.m b/Tools/XcodeCapp/TNXCodeCapp.m index a77736932..422ad9a42 100644 --- a/Tools/XcodeCapp/TNXCodeCapp.m +++ b/Tools/XcodeCapp/TNXCodeCapp.m @@ -39,8 +39,8 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification @synthesize supportFileLevelAPI; @synthesize isUsingFileLevelAPI; -#pragma mark - -#pragma mark Initialization + +#pragma mark - Initialization /*! Initialize the AppController @@ -48,7 +48,7 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification - (id)init { self = [super init]; - + if (self) { errorList = [NSMutableArray arrayWithCapacity:10]; @@ -57,7 +57,7 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification parserPath = [[NSBundle mainBundle] pathForResource:@"parser" ofType:@"j"]; lastEventId = [[NSUserDefaults standardUserDefaults] objectForKey:@"lastEventId"]; appStartedTimestamp = [NSDate date]; - + [self setIsListening:NO]; [self setIsUsingFileLevelAPI:NO]; @@ -65,11 +65,11 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification SInt32 versionMinor = 0; Gestalt(gestaltSystemVersionMajor, &versionMajor); Gestalt(gestaltSystemVersionMinor, &versionMinor); - + [self setSupportFileLevelAPI:versionMajor >= 10 && versionMinor >= 7]; // Uncomment to simulate 10.6 mode // [self setSupportFileLevelAPI:NO]; - + [self configure]; if([fm fileExistsAtPath:[@"~/.bash_profile" stringByExpandingTildeInPath]]) @@ -91,21 +91,21 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification profilePath = @""; } } - + return self; } - (void)start -{ +{ if (![[NSUserDefaults standardUserDefaults] boolForKey:@"XCCReopenLastProject"]) return; NSString *lastOpenedPath = [[NSUserDefaults standardUserDefaults] objectForKey:@"LastOpenedPath"]; - + if (lastOpenedPath) { if ([fm fileExistsAtPath:lastOpenedPath]) - { + { [self listenProjectAtPath:[NSString stringWithFormat:@"%@/", lastOpenedPath]]; } else @@ -115,6 +115,135 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification } } + +#pragma mark - Project Management + +/*! + Check if .XcodeSupport needs to be initialized. + If not needed, check that all J files are mirrored. If no, + then launch conversion for missing mirrored h files + @return YES or NO + */ +- (BOOL)prepareXCodeSupportProject +{ + XCodeSupportProjectName = [NSString stringWithFormat:@"%@.xcodeproj/", currentProjectName]; + XCodeTemplatePBXPath = [[NSBundle mainBundle] pathForResource:@"project.pbxproj" ofType:@"sample"]; + XCodeSupportProject = [NSURL URLWithString:XCodeSupportProjectName relativeToURL:currentProjectURL]; + XCodeSupportProjectSources = [NSURL URLWithString:@".XcodeSupport/" relativeToURL:currentProjectURL]; + XCodeSupportPBXPath = [NSString stringWithFormat:@"%@/project.pbxproj", [XCodeSupportProject path]]; + PBXModifierScriptPath = [[NSBundle mainBundle] pathForResource:@"pbxprojModifier" ofType:@"py"]; + + + //[fm removeItemAtURL:XCodeSupportProjectSources error:nil]; + //[fm removeItemAtURL:XCodeSupportProject error:nil]; + + // create the template project if it doesn't exist + if (![fm fileExistsAtPath:[XCodeSupportProjectSources path]]) + { + NSLog(@"prepareXCodeSupportProject: Xcode support folder created at: %@", [XCodeSupportProject path]); + [fm createDirectoryAtPath:[XCodeSupportProject path] withIntermediateDirectories:YES attributes:nil error:nil]; + + DLog(@"prepareXCodeSupportProject: Copying project.pbxproj from %@ to %@", XCodeTemplatePBXPath, [XCodeSupportProject path]); + [fm copyItemAtPath:XCodeTemplatePBXPath toPath:XCodeSupportPBXPath error:nil]; + + DLog(@"prepareXCodeSupportProject: Reading the content of the project.pbxproj"); + NSMutableString *PBXContent = [NSMutableString stringWithContentsOfFile:XCodeSupportPBXPath encoding:NSUTF8StringEncoding error:nil]; + + [PBXContent writeToFile:XCodeSupportPBXPath atomically:YES encoding:NSUTF8StringEncoding error:nil]; + DLog(@"prepareXCodeSupportProject: PBX file adapted to the project"); + + [self createXcodeSupportProjectSourcesDirIfNecessary]; + return NO; + } + + [self createXcodeSupportProjectSourcesDirIfNecessary]; + return YES; +} + +/*! + Create the .XcodeSupport/Sources folder if necessary. + */ +- (void)createXcodeSupportProjectSourcesDirIfNecessary +{ + if ([fm fileExistsAtPath:[XCodeSupportProjectSources path]]) + return; + + DLog(@"createXcodeSupportProjectSourcesDirIfNecessary: Creating source folder %@", [XCodeSupportProjectSources path]); + [fm createDirectoryAtPath:[XCodeSupportProjectSources path] withIntermediateDirectories:YES attributes:nil error:nil]; +} + +/*! + Initialize the creation of the .XcodeSupport project. This + Operation is threaded + @param arguments Thread arguments (not used) + @param shouldNotify is YES, XCCDidPopulateProjectNotification will be send + */ +- (void)populateXCodeProject:(NSNumber *)shouldNotify +{ + if ([shouldNotify boolValue]) + [delegate performSelector:@selector(growlWithTitle:message:) withObject:@"Loading project" withObject:[currentProjectURL path]]; + + NSArray *subdpaths = [fm subpathsAtPath:[currentProjectURL path]]; + + for (NSString *p in subdpaths) + { + NSString *filePath = [NSString stringWithFormat:@"%@/%@", [currentProjectURL path], p]; + + BOOL isDir = NO; + [fm fileExistsAtPath:filePath isDirectory:&isDir]; + + if (isDir || ![self isObjJFile:filePath] || [self isPathMatchingIgnoredPaths:filePath]) + continue; + + NSURL *eventualShadow = [self shadowHeaderURLForSourceURL:[NSURL fileURLWithPath:filePath]]; + + if (![fm fileExistsAtPath:[eventualShadow path]]) + { + DLog(@"populateXCodeProject: Computing missing shadow file for %@", filePath); + [self handleFileModification:filePath notify:NO]; + } + } + + if ([shouldNotify boolValue]) + { + NSDictionary *info = [NSDictionary dictionaryWithObjectsAndKeys:currentProjectURL, @"URL", nil]; + [[NSNotificationCenter defaultCenter] postNotificationName:XCCDidPopulateProjectNotification object:self userInfo:info]; + } +} + +/*! + Start all needed processes for listening to a given path + @param path The folder path to listen to + */ +- (void)listenProjectAtPath:(NSString *)path +{ + NSMutableString *tempName = [NSMutableString stringWithString:[path lastPathComponent]]; + + currentProjectURL = [NSURL fileURLWithPath:path]; + + [tempName replaceOccurrencesOfString:@" " + withString:@"_" + options:NSCaseInsensitiveSearch + range:NSMakeRange(0, [tempName length])]; + currentProjectName = [NSString stringWithString:tempName]; + + [self computeIgnoredPaths]; + + BOOL isProjectReady = [self prepareXCodeSupportProject]; + + [NSThread detachNewThreadSelector:@selector(populateXCodeProject:) toTarget:self withObject:[NSNumber numberWithBool:!isProjectReady]]; + + [self initializeEventStreamWithPath:[currentProjectURL path]]; + + NSDictionary *info = [NSDictionary dictionaryWithObjectsAndKeys:path, @"path", [NSNumber numberWithInt:(isProjectReady) ? 1 : 0], @"ready", nil]; + [[NSNotificationCenter defaultCenter] postNotificationName:XCCListeningStartNotification object:self userInfo:info]; + + [[NSUserDefaults standardUserDefaults] setObject:[currentProjectURL path] forKey:@"LastOpenedPath"]; +} + + +#pragma mark - Event Stream + /*! Initializes the FSEvent stream @param aPath the path of the folder to listen @@ -123,18 +252,18 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification { if ([self isListening]) return; - + [self stopEventStream]; - + NSMutableArray *pathsToWatch = [NSMutableArray arrayWithObject:aPath]; void *appPointer = (void *)self; FSEventStreamContext context = {0, appPointer, NULL, NULL, NULL}; CFTimeInterval latency = 2.0; FSEventStreamCreateFlags flags = 0; - + if (supportsFileBasedListening) { - DLog(@"Initializing the FSEventStream at file level (clean)"); + DLog(@"initializeEventStreamWithPath: Initializing the FSEventStream at file level (clean)"); flags = kFSEventStreamCreateFlagUseCFTypes | kFSEventStreamCreateFlagNoDefer | kFSEventStreamCreateFlagFileEvents; } else @@ -142,10 +271,10 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification NSLog(@"Initializing the FSEventStream at folder level (dirty)"); flags = kFSEventStreamCreateFlagUseCFTypes; } - + // add symlinked directories NSArray *fileList = [fm contentsOfDirectoryAtPath:aPath error:nil]; - + for (NSString *node in fileList) { NSDictionary *attributes = [fm attributesOfItemAtPath:aPath error:nil]; @@ -160,19 +289,15 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification } } } - + stream = FSEventStreamCreate(NULL, &fsevents_callback, &context, (CFArrayRef) pathsToWatch, [lastEventId unsignedLongLongValue], latency, flags); - + FSEventStreamScheduleWithRunLoop(stream, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode); FSEventStreamStart(stream); [self setIsListening:YES]; } - -#pragma mark - -#pragma mark Utilities - /*! Stop listening the FSEvent stream if active */ @@ -210,7 +335,7 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification { if (![self supportFileLevelAPI]) { - DLog(@"System doesn't support file level API"); + DLog(@"configure: System doesn't support file level API"); [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:2] forKey:@"XCCAPIMode"]; } @@ -229,7 +354,7 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification if (supportsFileBasedListening) { - DLog(@"using 10.7+ mode listening (clean)"); + DLog(@"configure: using 10.7+ mode listening (clean)"); [self setCurrentAPIMode:@"File level (Lion)"]; [self setIsUsingFileLevelAPI:YES]; @@ -237,7 +362,7 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification } else { - DLog(@"using 10.6 mode listening (dirty)"); + DLog(@"configure: using 10.6 mode listening (dirty)"); reactToInodeModification = NO; [self setCurrentAPIMode:@"Folder level (Snow Leopard)"]; [self setIsUsingFileLevelAPI:NO]; @@ -273,6 +398,9 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification [[NSUserDefaults standardUserDefaults] synchronize]; } + +#pragma mark - Shell Helpers + /*! Run a NSTask with the given arguments @param arguments NSArray containing the NSTask arguments @@ -284,22 +412,25 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification NSData *stdOut; NSString *response; NSNumber *status; - + task = [[NSTask alloc] init]; - + [task setLaunchPath: @"/bin/bash"]; [task setArguments: arguments]; [task setStandardOutput:[NSPipe pipe]]; [task launch]; [task waitUntilExit]; - + stdOut = [[[task standardOutput] fileHandleForReading] availableData]; response = [[NSString alloc] initWithData:stdOut encoding:NSUTF8StringEncoding]; status = [NSNumber numberWithInt:[task terminationStatus]]; - + return [NSArray arrayWithObjects:status, response, nil]; } + +#pragma mark - Event Handlers + /*! Handle a file modification. If it's a .J or XIB or NIB, it will perform the according conversion. If it's .xcodecapp-ignore, it will @@ -315,7 +446,7 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification if ([self isPathMatchingIgnoredPaths:fullPath] || ![fm fileExistsAtPath:fullPath]) return; - DLog(@"Parsing modified file: %@", fullPath); + DLog(@"handleFileModification:notify: Parsing modified file: %@", fullPath); NSArray *arguments = nil; NSArray *PBXArguments = nil; @@ -324,16 +455,19 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification NSString *response = nil; NSNumber *status = [NSNumber numberWithInt:0]; NSString *splitPath = [fullPath substringFromIndex:[[currentProjectURL path] length] + 1]; - NSString *shadowPath = [[self shadowURLForSourceURL:[NSURL URLWithString:[fullPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]] path]; - - DLog(@"Shadow path: %@", shadowPath); - + NSURL *encodedURL = [NSURL URLWithString:[fullPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; + NSURL *shadowHeaderURL = [self shadowHeaderURLForSourceURL:encodedURL]; + NSURL *shadowImplementationURL = [self shadowImplementationURLForSourceURL:encodedURL]; + + DLog(@"handleFileModification:notify: Shadow header path: %@", shadowHeaderURL); + DLog(@"handleFileModification:notify: Shadow implementation path: %@", shadowImplementationURL); + [[NSNotificationCenter defaultCenter] postNotificationName:XCCConversionStartNotification object:self]; if ([self isXIBFile:fullPath]) { arguments = [NSArray arrayWithObjects: @"-c", - [NSString stringWithFormat:@"(%@; nib2cib '%@';) 2>&1", profilePath, fullPath],@"",nil]; + [NSString stringWithFormat:@"(%@; nib2cib '%@';) 2>&1", profilePath, fullPath],@"",nil]; successTitle = @"XIB converted"; successMsg = splitPath; @@ -341,19 +475,20 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification else if ([self isObjJFile:fullPath]) { arguments = [NSArray arrayWithObjects: @"-c", - [NSString stringWithFormat:@"(%@; objj '%@' '%@' '%@';) 2>&1", - profilePath, - parserPath, - fullPath, - shadowPath], - @"",nil]; + [NSString stringWithFormat:@"(%@; objj '%@' '%@' '%@' '%@';) 2>&1", + profilePath, + parserPath, + fullPath, + [shadowHeaderURL path], + [shadowImplementationURL path]],nil]; PBXArguments = [NSArray arrayWithObjects: @"-c", - [NSString stringWithFormat:@"(%@; python %@ add '%@' '%@' '%@' '%@') 2>&1", + [NSString stringWithFormat:@"(%@; python %@ add '%@' '%@' '%@' '%@' '%@') 2>&1", profilePath, PBXModifierScriptPath, XCodeSupportPBXPath, - shadowPath, + [shadowHeaderURL path], + [shadowImplementationURL path], fullPath, [currentProjectURL path]],nil]; @@ -371,22 +506,22 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification // Run the task and get the response if needed if (arguments) { - DLog(@"Running conversion task..."); + DLog(@"handleFileModification:notify: Running conversion task..."); NSArray *statusInfo = [self runTask:arguments]; - + status = [statusInfo objectAtIndex:0]; response = [statusInfo objectAtIndex:1]; - - DLog(@"Conversion task result/response: %@/%@", status, response); + + DLog(@"handleFileModification:notify: Conversion task result/response: %@/%@", status, response); } if (PBXArguments) { - DLog(@"Running update PBX task..."); + DLog(@"handleFileModification:notify: Running update PBX task..."); NSArray *statusInfo = [self runTask:PBXArguments]; status = [statusInfo objectAtIndex:0]; response = [statusInfo objectAtIndex:1]; - DLog(@"Update PBX Task result/response: %@/%@", status, response); + DLog(@"handleFileModification:notify: Update PBX Task result/response: %@/%@", status, response); } if ([status intValue] == 0 && shouldNotify) @@ -397,12 +532,12 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification { if (response) [errorList addObject:response]; - + [delegate performSelector:@selector(growlWithTitle:message:) withObject:@"Error processing file" withObject:splitPath]; } [[NSNotificationCenter defaultCenter] postNotificationName:XCCConversionStopNotification object:self]; - DLog(@"Processed: %@", fullPath); + DLog(@"handleFileModification:notify: Processed: %@", fullPath); } /*! @@ -416,37 +551,18 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification { if ([self isPathMatchingIgnoredPaths:fullPath] || [fm fileExistsAtPath:fullPath]) return; - + + NSString *encodedPath = [fullPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; + if ([self isObjJFile:fullPath]) - { - NSString *shadowPath = [[self shadowURLForSourceURL:[NSURL URLWithString:[fullPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]] path]; - - DLog(@"Removing shadow file: %@", shadowPath); - [fm removeItemAtPath:shadowPath error:nil]; - - DLog(@"Removing PBX reference task..."); - -#if DEBUG - NSArray *PBXArguments = [NSArray arrayWithObjects: @"-c", - [NSString stringWithFormat:@"(%@; python %@ remove '%@' '%@' '%@' '%@') 2>&1", - profilePath, - PBXModifierScriptPath, - XCodeSupportPBXPath, - shadowPath, - fullPath, - [currentProjectURL path]],nil]; - NSArray *statusInfo = [self runTask:PBXArguments]; - NSNumber *status = [statusInfo objectAtIndex:0]; - NSString *response = [statusInfo objectAtIndex:1]; -#endif - DLog(@"PBX Reference removal status/response: %@/%@", status, response); - } + [self cleanUpShadowsRelatedToSourceURL:[NSURL URLWithString:encodedPath]]; else if ([self isXCCIgnoreFile:fullPath]) - { [self computeIgnoredPaths]; - } } + +#pragma mark - Source Files Management + /*! Check if given full path is Objective-J file @param path the path to check @@ -480,111 +596,20 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification } -/*! - Check if .XcodeSupport needs to be initialized. - If not needed, check that all J files are mirrored. If no, - then launch conversion for missing mirrored h files - @return YES or NO - */ -- (BOOL)prepareXCodeSupportProject -{ - XCodeSupportProjectName = [NSString stringWithFormat:@"%@.xcodeproj/", currentProjectName]; - XCodeTemplatePBXPath = [[NSBundle mainBundle] pathForResource:@"project.pbxproj" ofType:@"sample"]; - XCodeSupportProject = [NSURL URLWithString:XCodeSupportProjectName relativeToURL:currentProjectURL]; - XCodeSupportProjectSources = [NSURL URLWithString:@".XcodeSupport/" relativeToURL:currentProjectURL]; - XCodeSupportPBXPath = [NSString stringWithFormat:@"%@/project.pbxproj", [XCodeSupportProject path]]; - PBXModifierScriptPath = [[NSBundle mainBundle] pathForResource:@"pbxprojModifier" ofType:@"py"]; - - - //[fm removeItemAtURL:XCodeSupportProjectSources error:nil]; - //[fm removeItemAtURL:XCodeSupportProject error:nil]; - - // create the template project if it doesn't exist - if (![fm fileExistsAtPath:[XCodeSupportProjectSources path]]) - { - NSLog(@"Xcode support folder created at: %@", [XCodeSupportProject path]); - [fm createDirectoryAtPath:[XCodeSupportProject path] withIntermediateDirectories:YES attributes:nil error:nil]; - - DLog(@"Copying project.pbxproj from %@ to %@", XCodeTemplatePBXPath, [XCodeSupportProject path]); - [fm copyItemAtPath:XCodeTemplatePBXPath toPath:XCodeSupportPBXPath error:nil]; - - DLog(@"Reading the content of the project.pbxproj"); - NSMutableString *PBXContent = [NSMutableString stringWithContentsOfFile:XCodeSupportPBXPath encoding:NSUTF8StringEncoding error:nil]; - - [PBXContent writeToFile:XCodeSupportPBXPath atomically:YES encoding:NSUTF8StringEncoding error:nil]; - DLog(@"PBX file adapted to the project"); - - [self createXcodeSupportProjectSourcesDirIfNecessary]; - return NO; - } - - [self createXcodeSupportProjectSourcesDirIfNecessary]; - return YES; -} +#pragma mark - Shadow Files Management /*! - Create the .XcodeSupport/Sources folder if necessary. - */ -- (void)createXcodeSupportProjectSourcesDirIfNecessary -{ - if ([fm fileExistsAtPath:[XCodeSupportProjectSources path]]) - return; - - DLog(@"Creating source folder %@", [XCodeSupportProjectSources path]); - [fm createDirectoryAtPath:[XCodeSupportProjectSources path] withIntermediateDirectories:YES attributes:nil error:nil]; -} - -/*! - Initialize the creation of the .XcodeSupport project. This - Operation is threaded - @param arguments Thread arguments (not used) - @param shouldNotify is YES, XCCDidPopulateProjectNotification will be send - */ -- (void)populateXCodeProject:(NSNumber *)shouldNotify -{ - if ([shouldNotify boolValue]) - [delegate performSelector:@selector(growlWithTitle:message:) withObject:@"Loading project" withObject:[currentProjectURL path]]; - - NSArray *subdpaths = [fm subpathsAtPath:[currentProjectURL path]]; - - for (NSString *p in subdpaths) - { - NSString *filePath = [NSString stringWithFormat:@"%@/%@", [currentProjectURL path], p]; - - BOOL isDir = NO; - [fm fileExistsAtPath:filePath isDirectory:&isDir]; - - if (isDir || ![self isObjJFile:filePath] || [self isPathMatchingIgnoredPaths:filePath]) - continue; - - NSURL *eventualShadow = [self shadowURLForSourceURL:[NSURL fileURLWithPath:filePath]]; - - if (![fm fileExistsAtPath:[eventualShadow path]]) - { - DLog(@"Computing missing shadow file for %@", filePath); - [self handleFileModification:filePath notify:NO]; - } - } - - if ([shouldNotify boolValue]) - { - NSDictionary *info = [NSDictionary dictionaryWithObjectsAndKeys:currentProjectURL, @"URL", nil]; - [[NSNotificationCenter defaultCenter] postNotificationName:XCCDidPopulateProjectNotification object:self userInfo:info]; - } -} - -/*! - Compute the mirorred (shadow) name for a given path + Compute the mirorred (shadow) header file name for a given path @param aSourceURL the origin path - @return NSURL representing the shadow path + @return NSURL representing the shadow URL for the header file */ -- (NSURL *)shadowURLForSourceURL:(NSURL*)aSourceURL +- (NSURL *)shadowHeaderURLForSourceURL:(NSURL*)aSourceURL { if (!aSourceURL) - [NSException raise:NSInvalidArgumentException format:@"shadowURLForSourceURL: aSource URL must not be null"]; + [NSException raise:NSInvalidArgumentException format:@"shadowHeaderURLForSourceURL: aSource URL must not be null"]; NSMutableString *flattenedPath = [NSMutableString stringWithString:[aSourceURL path]]; - + // Replace "_" with a substring that is unlikely to be in a filename [flattenedPath replaceOccurrencesOfString:@"_" withString:@"≤‹°∞°›≥" @@ -596,12 +621,33 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification options:0 range:NSMakeRange(0, [flattenedPath length])]; - DLog(@"Flattened path: %@", flattenedPath); - NSString *basename = [NSString stringWithFormat:@"%@.m", [[flattenedPath stringByDeletingPathExtension] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; - + DLog(@"shadowHeaderURLForSourceURL: Flattened path: %@", flattenedPath); + NSString *basename = [NSString stringWithFormat:@"%@.h", [[flattenedPath stringByDeletingPathExtension] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; + return [NSURL URLWithString:basename relativeToURL:XCodeSupportProjectSources]; } +/*! + Compute the mirorred (shadow) implementation file name for a given path + @param aSourceURL the origin path + @return NSURL representing the shadow URL for the implementation file + */ +- (NSURL *)shadowImplementationURLForSourceURL:(NSURL*)aSourceURL +{ + if (!aSourceURL) + [NSException raise:NSInvalidArgumentException format:@"shadowImplementationURLForSourceURL: aSource URL must not be null"]; + + NSURL *shadowHeaderURL = [self shadowHeaderURLForSourceURL:aSourceURL]; + NSURL *shadowImplPath = [[shadowHeaderURL URLByDeletingPathExtension] URLByAppendingPathExtension:@"m"]; + + return shadowImplPath; +} + +/*! + Compute the Cappuccino source file that is related to the given shadow header file URL + @param aString the origin path + @return NSURL representing the URL for the related Cappuccino source file + */ - (NSURL *)sourceURLForShadowName:(NSString *)aString { NSMutableString * unshadowedPath = [NSMutableString stringWithString:aString]; @@ -612,11 +658,11 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification range:NSMakeRange(0, [unshadowedPath length])]; [unshadowedPath replaceOccurrencesOfString:@"≤‹°∞°›≥" - withString:@"_" - options:0 - range:NSMakeRange(0, [unshadowedPath length])]; + withString:@"_" + options:0 + range:NSMakeRange(0, [unshadowedPath length])]; - [unshadowedPath replaceOccurrencesOfString:@".m" + [unshadowedPath replaceOccurrencesOfString:@".h" withString:@".j" options:0 range:NSMakeRange(0, [unshadowedPath length])]; @@ -624,6 +670,64 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification return [NSURL fileURLWithPath:[NSString stringWithString:unshadowedPath]]; } +/*! + Clean up any shadow files and PBX entries related to given the Cappuccino source file URL + @param anURL the Cappuccino source file URL + */ +- (void)cleanUpShadowsRelatedToSourceURL:(NSURL *)anURL +{ + NSURL *shadowHeaderURL = [self shadowHeaderURLForSourceURL:anURL]; + NSURL *shadowImplementationURL = [self shadowImplementationURLForSourceURL:anURL]; + + DLog(@"cleanUpShadowsRelatedToSourceURL: Removing shadow header file: %@", shadowHeaderURL); + [fm removeItemAtURL:shadowHeaderURL error:nil]; + + DLog(@"cleanUpShadowsRelatedToSourceURL: Removing shadow implementation file: %@", shadowImplementationURL); + [fm removeItemAtURL:shadowImplementationURL error:nil]; + + DLog(@"cleanUpShadowsRelatedToSourceURL:Removing PBX reference task..."); + NSArray *PBXArguments = [NSArray arrayWithObjects: @"-c", + [NSString stringWithFormat:@"(%@; python %@ remove '%@' '%@' '%@' '%@' '%@') 2>&1", + profilePath, + PBXModifierScriptPath, + XCodeSupportPBXPath, + [shadowHeaderURL path], + [shadowImplementationURL path], + [anURL path], + [currentProjectURL path]],nil]; + + NSArray *statusInfo = [self runTask:PBXArguments]; + NSNumber *status = [statusInfo objectAtIndex:0]; + NSString *response = [statusInfo objectAtIndex:1]; + DLog(@"cleanUpShadowsRelatedToSourceURL: PBX Reference removal status/response: %@/%@", status, response); +} + +/*! + Clean the support folder according to files present in given path + */ +- (void)tidyShadowedFiles +{ + NSArray *subpaths = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[XCodeSupportProjectSources path] error:NULL]; + + for (NSString *subpath in subpaths) + { + if ([subpath pathExtension] != @".h" || [subpath lastPathComponent] == @"xcc_general_include.h") + continue; + + NSURL *unshadowed = [self sourceURLForShadowName:subpath]; + + if (![fm fileExistsAtPath:[unshadowed path]]) + { + [self cleanUpShadowsRelatedToSourceURL:unshadowed]; + + if (![self supportFileLevelAPI] && [self respondsToSelector:@selector(updateLastModificationDate:forPath:)]) + [self performSelector:@selector(updateLastModificationDate:forPath:) withObject:nil withObject:unshadowed]; + } + } +} + + +#pragma mark - XCC Ignore management /*! Compute the ignored paths according to any existing @@ -645,7 +749,7 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification [ignoredFilePaths addObject:pattern]; } } - + [ignoredFilePaths addObject:@"*/.git/*"]; [ignoredFilePaths addObject:@"*/.svn/*"]; [ignoredFilePaths addObject:@"*/.hg/*"]; @@ -656,7 +760,7 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification [ignoredFilePaths addObject:@"*main.j"]; [ignoredFilePaths addObject:@"*.xcodeproj/*"]; [ignoredFilePaths addObject:@"*.DS_Store"]; - + NSLog(@"Ignoring file paths: %@", ignoredFilePaths); } @@ -706,76 +810,6 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification return NO; } -/*! - Start all needed processes for listening to a given path - @param path The folder path to listen to - */ -- (void)listenProjectAtPath:(NSString *)path -{ - NSMutableString *tempName = [NSMutableString stringWithString:[path lastPathComponent]]; - - currentProjectURL = [NSURL fileURLWithPath:path]; - - [tempName replaceOccurrencesOfString:@" " - withString:@"_" - options:NSCaseInsensitiveSearch - range:NSMakeRange(0, [tempName length])]; - currentProjectName = [NSString stringWithString:tempName]; - - [self computeIgnoredPaths]; - - BOOL isProjectReady = [self prepareXCodeSupportProject]; - - [NSThread detachNewThreadSelector:@selector(populateXCodeProject:) toTarget:self withObject:[NSNumber numberWithBool:!isProjectReady]]; - - [self initializeEventStreamWithPath:[currentProjectURL path]]; - - NSDictionary *info = [NSDictionary dictionaryWithObjectsAndKeys:path, @"path", [NSNumber numberWithInt:(isProjectReady) ? 1 : 0], @"ready", nil]; - [[NSNotificationCenter defaultCenter] postNotificationName:XCCListeningStartNotification object:self userInfo:info]; - - [[NSUserDefaults standardUserDefaults] setObject:[currentProjectURL path] forKey:@"LastOpenedPath"]; -} - -/*! - Clean the support folder according to files present in given path - */ -- (void)tidyShadowedFiles -{ - NSArray *subpaths = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[XCodeSupportProjectSources path] error:NULL]; - - for (NSString *subpath in subpaths) - { - NSString *unshadowed = [[self sourceURLForShadowName:subpath] path]; - NSString *shadowFullPath = [NSString stringWithFormat:@"%@/%@", [XCodeSupportProjectSources path], subpath]; - - if (![fm fileExistsAtPath:unshadowed]) - { - DLog(@"cleaning shadow file: %@", subpath); - [fm removeItemAtPath:shadowFullPath error:nil]; - -#if DEBUG - NSArray *PBXArguments = [NSArray arrayWithObjects: @"-c", - [NSString stringWithFormat:@"(%@; python %@ remove '%@' '%@' '%@' '%@') 2>&1", - profilePath, - PBXModifierScriptPath, - XCodeSupportPBXPath, - shadowFullPath, - unshadowed, - [currentProjectURL path]],nil]; - - DLog(@"Cleaning PBX reference task..."); - NSArray *statusInfo = [self runTask:PBXArguments]; - NSNumber *status = [statusInfo objectAtIndex:0]; - NSString *response = [statusInfo objectAtIndex:1]; -#endif - DLog(@"PBX Reference cleaning status/response: %@/%@", status, response); - - if (![self supportFileLevelAPI] && [self respondsToSelector:@selector(updateLastModificationDate:forPath:)]) - [self performSelector:@selector(updateLastModificationDate:forPath:) withObject:nil withObject:unshadowed]; - } - } -} - @end @@ -786,7 +820,7 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification if (!pathModificationDates) { pathModificationDates = [[[NSUserDefaults standardUserDefaults] dictionaryForKey:@"pathModificationDates"] mutableCopy]; - + if (!pathModificationDates) pathModificationDates = [NSMutableDictionary new]; } @@ -804,7 +838,7 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification if (!pathModificationDates) { pathModificationDates = [[[NSUserDefaults standardUserDefaults] dictionaryForKey:@"pathModificationDates"] mutableCopy]; - + if (!pathModificationDates) pathModificationDates = [NSMutableDictionary new]; } diff --git a/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj b/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj index 94becb428..13d898cad 100644 --- a/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj +++ b/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj @@ -194,6 +194,7 @@ isa = PBXNativeTarget; buildConfigurationList = 027D99A313696A7000D3DB13 /* Build configuration list for PBXNativeTarget "XcodeCapp" */; buildPhases = ( + 024699001602C04A00F0AE43 /* ShellScript */, 027D999A13696A7000D3DB13 /* Resources */, 027D999D13696A7000D3DB13 /* Sources */, 02998CF81369C383006C73DB /* CopyFiles */, @@ -255,6 +256,24 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 024699001602C04A00F0AE43 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/*.m", + "$(SRCROOT)/*.h", + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /usr/bin/perl; + shellScript = "#!/usr/bin/perl\n\nwhile (<>) {\n s/\\s+$//;\n print \"$_\\n\";\n}"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 027D999D13696A7000D3DB13 /* Sources */ = { isa = PBXSourcesBuildPhase; From 4acda0c447b53c7457c0a284569b806b16aeb891 Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Fri, 14 Sep 2012 14:33:13 -0700 Subject: [PATCH 22/63] fix and update css for documentation when using doxygen 1.8 --- Tools/Documentation/doxygen.css | 49 ++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/Tools/Documentation/doxygen.css b/Tools/Documentation/doxygen.css index a7eb4334c..3a4678440 100644 --- a/Tools/Documentation/doxygen.css +++ b/Tools/Documentation/doxygen.css @@ -188,9 +188,24 @@ dl.el { margin-left: -1cm; } -.fragment { - font-family: Courier, monospace, fixed; - font-size: 105%; +.fragment .line { + font-family: Consolas, Courier, monospace, fixed; + white-space: pre-wrap; /* css-3 */ + white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + word-wrap: break-word; /* Internet Explorer 5.5+ */ + font-size: 11px; + margin-bottom: 3px; +} + +.fragment .lineno { + color: #d4d4d4; + margin-right: 10px; +} + +.fragment .lineno a { + color: #d4d4d4; } pre.fragment { @@ -443,7 +458,7 @@ table.memberdecls { } .memItemLeft, .memItemRight, .memTemplParams { - border-top: 1px solid #ccc; + border-top: 1px solid #f3f3f3; } .memItemLeft, .memTemplItemLeft { @@ -813,7 +828,7 @@ table.fieldtable { float:left; padding-left:10px; padding-right: 15px; - background-image:url('bc_s.png'); + padding-top: 0px; background-repeat:no-repeat; background-position:right; color:#374E7C; @@ -1079,7 +1094,7 @@ dl.citelist dd { /* ADDITIONS */ .tabs, .tabs2, .tabs3 { background: -moz-linear-gradient(-90deg, #fff, #eee); - background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee)); + background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee)); border-bottom: 1px solid #ccc; width: 100%; z-index: 101; @@ -1150,7 +1165,7 @@ dl.citelist dd { .tablist li.current a { background: -moz-linear-gradient(-90deg, #eee, #fff); - background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#fff)); + background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#fff)); color: #444; text-shadow: 0px 1px 1px #f2f2f2; } @@ -1283,3 +1298,23 @@ dl.citelist dd { #nav-tree-contents { margin: 6px 0px 0px 0px; } + +.memSeparator { + display: none; +} + +.inherit_header td { + padding-top: 30px; + padding-bottom: 10px; + font: 13px normal "Lucida Grande", Helvetica, Arial, Geneva, sans-serif; + font-size: 14px; +} + +#nav-sync { +right: 5px; +} +#nav-sync img { + width: 16px; +} + +} \ No newline at end of file From d4b0e2a1241f59557ada01ca5870b8c3e58c8da0 Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Sat, 15 Sep 2012 12:17:43 -0700 Subject: [PATCH 23/63] fix some paths using non unicode chars causing xcc_general_include.h import problems --- Tools/XcodeCapp/TNXCodeCapp.m | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Tools/XcodeCapp/TNXCodeCapp.m b/Tools/XcodeCapp/TNXCodeCapp.m index 422ad9a42..1e35e29cc 100644 --- a/Tools/XcodeCapp/TNXCodeCapp.m +++ b/Tools/XcodeCapp/TNXCodeCapp.m @@ -19,6 +19,7 @@ #import "TNXCodeCapp.h" #include "macros.h" +NSString * const XCCUnderscoreReplacement = @"DoNotPutThisStringInFileNameOrWorldWillDie"; NSString * const XCCDidPopulateProjectNotification = @"XCCDidPopulateProjectNotification"; NSString * const XCCConversionStartNotification = @"XCCConversionStartNotification"; NSString * const XCCConversionStopNotification = @"XCCConversionStopNotification"; @@ -612,7 +613,7 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification // Replace "_" with a substring that is unlikely to be in a filename [flattenedPath replaceOccurrencesOfString:@"_" - withString:@"≤‹°∞°›≥" + withString:XCCUnderscoreReplacement options:0 range:NSMakeRange(0, [flattenedPath length])]; @@ -657,7 +658,7 @@ NSString * const XCCListeningStartNotification = @"XCCListeningStartNotification options:0 range:NSMakeRange(0, [unshadowedPath length])]; - [unshadowedPath replaceOccurrencesOfString:@"≤‹°∞°›≥" + [unshadowedPath replaceOccurrencesOfString:XCCUnderscoreReplacement withString:@"_" options:0 range:NSMakeRange(0, [unshadowedPath length])]; From 117d946ed3aa1a7497a3a40ba7fbadac4f425dc2 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 17 Sep 2012 18:54:25 +0100 Subject: [PATCH 24/63] Contributing guidelines. These will be shown in GitHub: https://github.com/blog/1184-contributing-guidelines. --- CONTRIBUTING.md | 447 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 447 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..7154f08b6 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,447 @@ +Contributing +------------ + +As an open source project, your contributions are important to the future of Cappuccino. Whether you're looking to write code, add new documentation, or just report a bug, you'll be helping everyone who uses Cappuccino in the future. + +## Reporting Bugs + +We use [GitHub to track issues](https://github.com/cappuccino/cappuccino/issues). You might be interested in our [issue life cycle](http://www.cappuccino-project.org/community/contribute/the-issue-lifecycle/) which explains the process of how an issue is taken from new to resolved. + +## Patches + +To contribute a patch or a fix, fork Cappuccino and then clone your fork and make the changes to a branch of your fork: + + git clone https://github.com//cappuccino.git + git checkout -b descriptive-branch-name master + + # Check that the unit tests work. + jake test + + # Make changes. Make sure you follow the coding style guidelines and write unit tests. + + # Check that everything is still working, then commit. + jake test + git commit + + git push origin descriptive-branch-name + +Now you can go to GitHub and [make a pull request](https://help.github.com/articles/using-pull-requests). + +Some things are difficult to unit test in a way that's worthwhile. For instance a change to the mouse interaction of a `CPButton`. In this case a manual test is fine instead. Find the closest related manual test in `Tests/Manual` and add whatever it takes to easily reproduce the patched behavior, ideally with some labels describing how someone running the manual test should exercise it. + +## Cappuccino Coding Style Guidelines + +### Indentation + +Use spaces, not tabs. Tabs should only appear in files that require them for semantic meaning, like Makefiles (which there are currently none of). The indent size is 4 spaces. + +#### Right: + + function main() + { + return 0; + } + +#### Wrong: + + function main() + { + return 0; + } + +A case label should be indented once from its switch statement. The case statement is indented out from the longest label. + +#### Right: + + switch (condition) + { + case fooCondition: + case barCondition: i++; + break; + + default: i--; + } + +#### Wrong: + + switch (condition) { + case fooCondition: + case barCondition: + i++; + break; + default: + i--; + } + +### Spacing + +Do not place spaces around unary operators. + + +#### Right: + + i++ + +#### Wrong: + + i ++ + +Do place spaces around binary and ternary operators. + +#### Right: + + y = m * x + b; + f(a, b); + c = a | b; + return condition ? 1 : 0; + +#### Wrong: + + y=m*x+b; + f(a,b); + c = a|b; + return condition ? 1:0; + +Place spaces between control statements and their parentheses. + +#### Right: + + if (condition) + doIt(); + +#### Wrong: + + if(condition) + doIt(); + +Do not place spaces between a function and its parentheses, or between a parenthesis and its content. + +#### Right: + + f(a, b); + +#### Wrong: + + f (a, b); + f( a, b ); + +Do not place spaces between the return type of an Objective-J method and the selector name. DO place spaces between the method type and the method return type. + +#### Right: + + - (void)method; + +#### Wrong: + + - (void) method; + -(void)method; + +Do not place spaces between Objective-J selectors and arguments. + +#### Right: + + [myNumber addNumber:5] + +#### Wrong: + + [myNumber addNumber: 5] + +### Line breaking + +Each statement should get its own line. + +#### Right: + + var x, + y; + x++; + y++; + if (condition) + doIt(); + +#### Wrong: + + var x, y; + x++; y++; + if (condition) doIt(); + +### Braces + +Every brace gets its own line, very simple to remember: + +#### Right: + + int main() + { + //... + } + + if (condition) + { + //... + } + else if (condition) + { + //... + } + + @implementation MyObject : CPObject + { + } + + @end + +#### Wrong: + + int main() { + ... + } + + if (condition) { + ... + } else if (condition) { + ... + } + + @implementation MyObject : CPObject {} + @end + +### Null, false and 0 + +In JavaScript, the null object value should be written as null. In Objective-J, it should be written as `nil` when the variable refers to an object, and `Nil` when it refers to a `Class`. Objective-J `BOOL` values should be written as `YES` and `NO`. + +Tests for `true/false`, `null/non-null`, and zero/non-zero should all be done without equality comparisons, except for cases when a value could be both 0 or `null` (or another "falsey" value). In this case, the comparison should be preceded by a comment explaining the distinction. + +#### Right: + + if (condition) + doIt(); + + if (!ptr) + return; + + if (!count) + return; + + // object is an ID number, so 0 is OK, but null is not. + if (object === null) + return; + +#### Wrong: + + if (condition == true) + doIt(); + + if (ptr == NULL) + return; + + if (count == 0) + return; + + if (object == null) + return; + +In Objective-J, instance variables are initialized to `nil` automatically. Don't add explicit initializations to `nil` or `NO` in an init method. + +### Names + +Use CamelCase. Capitalize the first letter of a class. Lower-case the first letter of a variable or function name. Fully capitalize acronyms. + +#### Right: + + @implementation Data : //... + @implementation HTMLDocument : //... + +#### Wrong: + + @implementation data : //... + @implementation HtmlDocument : //... + +Multiple var declarations should be collapsed with commas. + +#### Right: + + var index = 0, + count = 5; + +#### Wrong: + + var index = 0; + var count = 5; + +Variable declarations should be created as needed, rather than up front ("hoisted"). + +#### Right: + + - (BOOL)doSomething:(id)aFoo + { + var importantVariable = [aFoo message]; + if (!importantVariable) + return; + + var index = [aFoo count]; + while (index--) + { + var innerVariable = [aFoo objectAtIndex:index]; + //do something; + } + } + +#### Wrong: + + - (BOOL)doSomething:(id)aFoo + { + var importantVariable = [aFoo message], + index = [aFoo count], + innerVariable; + + if (!importantVariable) + return; + + while (index--) + { + innerVariable = [aFoo objectAtIndex:index]; + //do something; + } + } + +Use full words, except in the rare case where an abbreviation would be more canonical and easier to understand. + +#### Right: + + var characterSize, + length, + tabIndex; // more canonical + +#### Wrong: + + var charSize, + len, + tabulationIndex; // bizarre + +Prefix Objective-J instance variables with `_`, but only when writing code for the Cappuccino frameworks. User level (application) code should not prefix variables with `_`. This prevents conflicts between the two scopes. + +#### Right: + + @implementation CPString + { + unsigned _length; + } + @end + +#### Wrong: + + @implementation CPString + { + unsigned length; + } + @end + +Precede boolean values with words like "is" and "did". + +#### Right: + + var isValid; + var didSendData; + - (BOOL)isEditable; + - (BOOL)didReceiveResponse; + +#### Wrong: + + var valid; + var sentData; + - (BOOL)editable; + - (BOOL)receivedResponse; + +Precede setters with the word "set". Use bare words for getters. Setter and getter names should match the names of the variables being set/gotten. + +#### Right: + + - (void)setCount:(unsigned)aCount; // sets _count + - (unsigned)count; // returns _count + +#### Wrong: + + - (unsigned)getCount; + +Use descriptive verbs in function names, and place desired types in comments. + +#### Right: + + function convertToASCII(/*String*/ aString) + +#### Wrong: + + function toASCII(str) + +Use descriptive parameter names that are not abbreviated. + +#### Right: + + - (void)convertString:(CPString)aString toFormat:(Format)aFormat; + - (void)appendSubviews:(CPArray)subviews inOrder:(BOOL)shouldBeInOrder; + +#### Wrong: + + - (void)convertString:(CPString)str toFormat:(Format)f; + - (void)appendSubviews:(CPArray)s inOrder:(BOOL)flag; + +Use descriptive parameter types, despite not being fully supported in JavaScript. At some point we will be adding optional static typing, and even until then this serves as a much better indicator of what the method expects. Of course, if the method can truly take any input or return any output, it is perfectly acceptable to use `id`, `CPObject`, or `var`. + +#### Right: + + - (char)characterAtIndex:(unsigned)anIndex; + - (void)insertObject:(id)anObject; + +#### Wrong: + + - (String)characterAtIndex:(var)index; + +Objective-J method names should follow the Cocoa naming guidelines — they should read like a phrase and each piece of the selector should start with a lowercase letter and use intercaps. + +Enum members should user InterCaps with an initial capital letter. + +`#defined` constants should use all uppercase names with words separated by underscores. + +Macros that expand to function calls or other non-constant computation: these should be named like functions, and should have parentheses at the end, even if they take no arguments (with the exception of some special macros like ASSERT). + +#### Right: + + #define StopButtonTitle() \ + CPLocalizedString(@"Stop", @"Stop button title") + +#### Wrong: + + #define STOP_BUTTON_TITLE \ + CPLocalizedString(@"Stop", @"Stop button title") + + #define StopButtontitle \ + CPLocalizedString(@"Stop", @"Stop button title") + +### import Statements + +Include external frameworks first. + +Include Foundation classes before AppKit classes. + +Include files in alphabetical order. + +Use local imports whenever possible. + +#### Right: + + // (Within AppKit) + import + import + + import "CPTabViewItem.j" + import "CPTabView.j" + +#### Wrong: + + // (Within AppKit) + import "CPTabView.j" + import + + import + import From c8a37b4f998096d7e2b69aba5bd68785f353dfd9 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 17 Sep 2012 19:46:36 +0100 Subject: [PATCH 25/63] Improve readability. --- CONTRIBUTING.md | 138 +++++++++++++++++++++++++++++------------------- 1 file changed, 84 insertions(+), 54 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7154f08b6..1e5b43e5b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -35,23 +35,25 @@ Some things are difficult to unit test in a way that's worthwhile. For instance Use spaces, not tabs. Tabs should only appear in files that require them for semantic meaning, like Makefiles (which there are currently none of). The indent size is 4 spaces. -#### Right: +##### Right: function main() { return 0; } -#### Wrong: +##### Wrong: function main() { return 0; } +--- + A case label should be indented once from its switch statement. The case statement is indented out from the longest label. -#### Right: +##### Right: switch (condition) { @@ -62,7 +64,7 @@ A case label should be indented once from its switch statement. The case stateme default: i--; } -#### Wrong: +##### Wrong: switch (condition) { case fooCondition: @@ -77,72 +79,81 @@ A case label should be indented once from its switch statement. The case stateme Do not place spaces around unary operators. - -#### Right: +##### Right: i++ -#### Wrong: +##### Wrong: i ++ +--- + Do place spaces around binary and ternary operators. -#### Right: +##### Right: y = m * x + b; f(a, b); c = a | b; return condition ? 1 : 0; -#### Wrong: +##### Wrong: y=m*x+b; f(a,b); c = a|b; return condition ? 1:0; +--- + Place spaces between control statements and their parentheses. -#### Right: +##### Right: if (condition) doIt(); -#### Wrong: +##### Wrong: if(condition) doIt(); +--- + Do not place spaces between a function and its parentheses, or between a parenthesis and its content. -#### Right: +##### Right: f(a, b); -#### Wrong: +##### Wrong: f (a, b); f( a, b ); +--- + Do not place spaces between the return type of an Objective-J method and the selector name. DO place spaces between the method type and the method return type. -#### Right: +##### Right: - (void)method; -#### Wrong: +##### Wrong: - (void) method; -(void)method; +--- + Do not place spaces between Objective-J selectors and arguments. -#### Right: +##### Right: [myNumber addNumber:5] -#### Wrong: +##### Wrong: [myNumber addNumber: 5] @@ -150,7 +161,7 @@ Do not place spaces between Objective-J selectors and arguments. Each statement should get its own line. -#### Right: +##### Right: var x, y; @@ -159,7 +170,7 @@ Each statement should get its own line. if (condition) doIt(); -#### Wrong: +##### Wrong: var x, y; x++; y++; @@ -169,7 +180,7 @@ Each statement should get its own line. Every brace gets its own line, very simple to remember: -#### Right: +##### Right: int main() { @@ -191,7 +202,7 @@ Every brace gets its own line, very simple to remember: @end -#### Wrong: +##### Wrong: int main() { ... @@ -212,7 +223,7 @@ In JavaScript, the null object value should be written as null. In Objective-J, Tests for `true/false`, `null/non-null`, and zero/non-zero should all be done without equality comparisons, except for cases when a value could be both 0 or `null` (or another "falsey" value). In this case, the comparison should be preceded by a comment explaining the distinction. -#### Right: +##### Right: if (condition) doIt(); @@ -227,7 +238,7 @@ Tests for `true/false`, `null/non-null`, and zero/non-zero should all be done wi if (object === null) return; -#### Wrong: +##### Wrong: if (condition == true) doIt(); @@ -241,37 +252,43 @@ Tests for `true/false`, `null/non-null`, and zero/non-zero should all be done wi if (object == null) return; +--- + In Objective-J, instance variables are initialized to `nil` automatically. Don't add explicit initializations to `nil` or `NO` in an init method. ### Names Use CamelCase. Capitalize the first letter of a class. Lower-case the first letter of a variable or function name. Fully capitalize acronyms. -#### Right: +##### Right: @implementation Data : //... @implementation HTMLDocument : //... -#### Wrong: +##### Wrong: @implementation data : //... @implementation HtmlDocument : //... +--- + Multiple var declarations should be collapsed with commas. -#### Right: +##### Right: var index = 0, count = 5; -#### Wrong: +##### Wrong: var index = 0; var count = 5; +--- + Variable declarations should be created as needed, rather than up front ("hoisted"). -#### Right: +##### Right: - (BOOL)doSomething:(id)aFoo { @@ -287,7 +304,7 @@ Variable declarations should be created as needed, rather than up front ("hoiste } } -#### Wrong: +##### Wrong: - (BOOL)doSomething:(id)aFoo { @@ -305,23 +322,27 @@ Variable declarations should be created as needed, rather than up front ("hoiste } } +--- + Use full words, except in the rare case where an abbreviation would be more canonical and easier to understand. -#### Right: +##### Right: var characterSize, length, tabIndex; // more canonical -#### Wrong: +##### Wrong: var charSize, len, tabulationIndex; // bizarre +--- + Prefix Objective-J instance variables with `_`, but only when writing code for the Cappuccino frameworks. User level (application) code should not prefix variables with `_`. This prevents conflicts between the two scopes. -#### Right: +##### Right: @implementation CPString { @@ -329,7 +350,7 @@ Prefix Objective-J instance variables with `_`, but only when writing code for t } @end -#### Wrong: +##### Wrong: @implementation CPString { @@ -337,66 +358,78 @@ Prefix Objective-J instance variables with `_`, but only when writing code for t } @end +--- + Precede boolean values with words like "is" and "did". -#### Right: +##### Right: var isValid; var didSendData; - (BOOL)isEditable; - (BOOL)didReceiveResponse; -#### Wrong: +##### Wrong: var valid; var sentData; - (BOOL)editable; - (BOOL)receivedResponse; +--- + Precede setters with the word "set". Use bare words for getters. Setter and getter names should match the names of the variables being set/gotten. -#### Right: +##### Right: - (void)setCount:(unsigned)aCount; // sets _count - (unsigned)count; // returns _count -#### Wrong: +##### Wrong: - (unsigned)getCount; +--- + Use descriptive verbs in function names, and place desired types in comments. -#### Right: +##### Right: function convertToASCII(/*String*/ aString) -#### Wrong: +##### Wrong: function toASCII(str) +--- + Use descriptive parameter names that are not abbreviated. -#### Right: +##### Right: - (void)convertString:(CPString)aString toFormat:(Format)aFormat; - (void)appendSubviews:(CPArray)subviews inOrder:(BOOL)shouldBeInOrder; -#### Wrong: +##### Wrong: - (void)convertString:(CPString)str toFormat:(Format)f; - (void)appendSubviews:(CPArray)s inOrder:(BOOL)flag; +--- + Use descriptive parameter types, despite not being fully supported in JavaScript. At some point we will be adding optional static typing, and even until then this serves as a much better indicator of what the method expects. Of course, if the method can truly take any input or return any output, it is perfectly acceptable to use `id`, `CPObject`, or `var`. -#### Right: +##### Right: - (char)characterAtIndex:(unsigned)anIndex; - (void)insertObject:(id)anObject; -#### Wrong: +##### Wrong: - (String)characterAtIndex:(var)index; +--- + Objective-J method names should follow the Cocoa naming guidelines — they should read like a phrase and each piece of the selector should start with a lowercase letter and use intercaps. Enum members should user InterCaps with an initial capital letter. @@ -405,12 +438,12 @@ Enum members should user InterCaps with an initial capital letter. Macros that expand to function calls or other non-constant computation: these should be named like functions, and should have parentheses at the end, even if they take no arguments (with the exception of some special macros like ASSERT). -#### Right: +##### Right: #define StopButtonTitle() \ CPLocalizedString(@"Stop", @"Stop button title") -#### Wrong: +##### Wrong: #define STOP_BUTTON_TITLE \ CPLocalizedString(@"Stop", @"Stop button title") @@ -420,15 +453,12 @@ Macros that expand to function calls or other non-constant computation: these sh ### import Statements -Include external frameworks first. +1. Include external frameworks first. +2. Include Foundation classes before AppKit classes. +3. Include files in alphabetical order. +4. Use local imports whenever possible. -Include Foundation classes before AppKit classes. - -Include files in alphabetical order. - -Use local imports whenever possible. - -#### Right: +##### Right: // (Within AppKit) import @@ -437,7 +467,7 @@ Use local imports whenever possible. import "CPTabViewItem.j" import "CPTabView.j" -#### Wrong: +##### Wrong: // (Within AppKit) import "CPTabView.j" From eb2bb24c193ac2822b2f7a64737b8d4c4dd87f54 Mon Sep 17 00:00:00 2001 From: Johan Stille Date: Mon, 24 Sep 2012 12:08:31 +0200 Subject: [PATCH 26/63] Added support for CPNumberFormatterPercentStyle in CPNumberFormatter. --- Foundation/CPNumberFormatter.j | 11 +++++++++++ Tests/Foundation/CPNumberFormatterTest.j | 17 +++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/Foundation/CPNumberFormatter.j b/Foundation/CPNumberFormatter.j index 1fafb8969..e83f1647c 100644 --- a/Foundation/CPNumberFormatter.j +++ b/Foundation/CPNumberFormatter.j @@ -90,6 +90,11 @@ CPNumberFormatterRoundHalfUp = CPRoundPlain; - (CPString)stringFromNumber:(CPNumber)number { + if (_numberStyle == CPNumberFormatterPercentStyle) + { + number *= 100.0; + } + var dcmn = [number isKindOfClass:CPDecimalNumber] ? number : [[CPDecimalNumber alloc] _initWithJSNumber:number]; // TODO Add locale support. @@ -97,6 +102,7 @@ CPNumberFormatterRoundHalfUp = CPRoundPlain; { case CPNumberFormatterCurrencyStyle: case CPNumberFormatterDecimalStyle: + case CPNumberFormatterPercentStyle: UPDATE_NUMBER_HANDLER_IF_NECESSARY(); dcmn = [dcmn decimalNumberByRoundingAccordingToBehavior:_numberHandler]; @@ -133,6 +139,11 @@ CPNumberFormatterRoundHalfUp = CPRoundPlain; else string = _currencyCode + string; } + + if (_numberStyle == CPNumberFormatterPercentStyle) + { + string += "%"; + } return string; default: diff --git a/Tests/Foundation/CPNumberFormatterTest.j b/Tests/Foundation/CPNumberFormatterTest.j index 13775a26e..3b6a6cc3c 100644 --- a/Tests/Foundation/CPNumberFormatterTest.j +++ b/Tests/Foundation/CPNumberFormatterTest.j @@ -143,6 +143,23 @@ [self assert:@"SEK0.02" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"0.015"]]]; } +- (void)testPercentStyle +{ + var numberFormatter = [CPNumberFormatter new]; + [numberFormatter setNumberStyle:CPNumberFormatterPercentStyle]; + + [self assert:@"1%" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"0.01"]]]; + [self assert:@"100%" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1.0"]]]; + [self assert:@"150%" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1.5"]]]; + + [numberFormatter setMinimumFractionDigits:1]; + [numberFormatter setMaximumFractionDigits:1]; + + [self assert:@"1.0%" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"0.01"]]]; + [self assert:@"100.2%" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1.002"]]]; + [self assert:@"150.7%" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1.507"]]]; +} + - (void)testSetGeneratesDecimalNumbers_ { var numberFormatter = [CPNumberFormatter new]; From 632fba9dd50215c3ce1c254840708285beea6bf5 Mon Sep 17 00:00:00 2001 From: Johan Stille Date: Mon, 24 Sep 2012 13:17:24 +0200 Subject: [PATCH 27/63] Null check when laying out columns in CPTableView. --- AppKit/CPTableView.j | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 482feca58..d74d937f7 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -3376,12 +3376,14 @@ Your delegate can implement this method to avoid subclassing the tableview to ad rowIndex = 0, rowsCount = rowArray.length; - for (; rowIndex < rowsCount; ++rowIndex) - { - var row = rowArray[rowIndex], - dataView = dataViewsForTableColumn[row]; - - [dataView setFrame:[self frameOfDataViewAtColumn:column row:row]]; + if (dataViewsForTableColumn) { + for (; rowIndex < rowsCount; ++rowIndex) + { + var row = rowArray[rowIndex], + dataView = dataViewsForTableColumn[row]; + + [dataView setFrame:[self frameOfDataViewAtColumn:column row:row]]; + } } } } From 02a885eb0910e908c5347fb1bee6c5656738897f Mon Sep 17 00:00:00 2001 From: Johan Stille Date: Mon, 24 Sep 2012 14:22:39 +0200 Subject: [PATCH 28/63] Added test for initially hidden table column fix. --- Tests/AppKit/CPTableViewTest.j | 35 ++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/Tests/AppKit/CPTableViewTest.j b/Tests/AppKit/CPTableViewTest.j index a65de663f..eb03f1955 100644 --- a/Tests/AppKit/CPTableViewTest.j +++ b/Tests/AppKit/CPTableViewTest.j @@ -267,6 +267,41 @@ [contentBindingTable reloadData]; } +- (void)testInitiallyHiddenColumns +{ + var table = [[CPTableView alloc] initWithFrame:CGRectMake(0, 0, 400, 400)], + tableColumn1 = [[CPTableColumn alloc] initWithIdentifier:@"A"], + tableColumn2 = [[CPTableColumn alloc] initWithIdentifier:@"B"], + delegate = [ContentBindingTableDelegate new]; + + [delegate setTester:self]; + [table setDelegate:delegate]; + + [delegate setTableEntries:[[@"A1", @"B1"], [@"A2", @"B2"], [@"A3", @"B3"]]]; + [table bind:@"content" toObject:delegate withKeyPath:@"tableEntries" options:nil]; + + [[theWindow contentView] addSubview:table]; + + [tableColumn1 setHidden:YES]; + + [tableColumn1 setWidth:50.0]; + [tableColumn2 setWidth:100.0]; + + [table addTableColumn:tableColumn1]; + [table addTableColumn:tableColumn2]; + + [table reloadData]; + + [[CPRunLoop currentRunLoop] limitDateForMode:CPDefaultRunLoopMode]; + + [self assertTrue:[table bounds].size.width > 100 && [table bounds].size.width < 200]; + + [tableColumn1 setHidden:NO]; + [tableColumn1 setWidth:100.0]; + + [self assertTrue:[table bounds].size.width >= 200]; +} + @end @implementation FirstResponderConfigurableTableView : CPTableView From 59ad8499dff1924be22dfe5d5019c65421ae7b69 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 24 Sep 2012 17:05:35 +0100 Subject: [PATCH 29/63] Refs #1676. Whitespace. --- AppKit/CPTableView.j | 2 +- Foundation/CPNumberFormatter.j | 4 ++-- Tests/AppKit/CPTableViewTest.j | 20 ++++++++++---------- Tests/Foundation/CPNumberFormatterTest.j | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index d74d937f7..d76bf0497 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -3381,7 +3381,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad { var row = rowArray[rowIndex], dataView = dataViewsForTableColumn[row]; - + [dataView setFrame:[self frameOfDataViewAtColumn:column row:row]]; } } diff --git a/Foundation/CPNumberFormatter.j b/Foundation/CPNumberFormatter.j index e83f1647c..ec6a5b177 100644 --- a/Foundation/CPNumberFormatter.j +++ b/Foundation/CPNumberFormatter.j @@ -94,7 +94,7 @@ CPNumberFormatterRoundHalfUp = CPRoundPlain; { number *= 100.0; } - + var dcmn = [number isKindOfClass:CPDecimalNumber] ? number : [[CPDecimalNumber alloc] _initWithJSNumber:number]; // TODO Add locale support. @@ -139,7 +139,7 @@ CPNumberFormatterRoundHalfUp = CPRoundPlain; else string = _currencyCode + string; } - + if (_numberStyle == CPNumberFormatterPercentStyle) { string += "%"; diff --git a/Tests/AppKit/CPTableViewTest.j b/Tests/AppKit/CPTableViewTest.j index eb03f1955..e5cc03661 100644 --- a/Tests/AppKit/CPTableViewTest.j +++ b/Tests/AppKit/CPTableViewTest.j @@ -273,32 +273,32 @@ tableColumn1 = [[CPTableColumn alloc] initWithIdentifier:@"A"], tableColumn2 = [[CPTableColumn alloc] initWithIdentifier:@"B"], delegate = [ContentBindingTableDelegate new]; - + [delegate setTester:self]; [table setDelegate:delegate]; [delegate setTableEntries:[[@"A1", @"B1"], [@"A2", @"B2"], [@"A3", @"B3"]]]; [table bind:@"content" toObject:delegate withKeyPath:@"tableEntries" options:nil]; - + [[theWindow contentView] addSubview:table]; - + [tableColumn1 setHidden:YES]; - + [tableColumn1 setWidth:50.0]; [tableColumn2 setWidth:100.0]; - + [table addTableColumn:tableColumn1]; [table addTableColumn:tableColumn2]; - + [table reloadData]; - + [[CPRunLoop currentRunLoop] limitDateForMode:CPDefaultRunLoopMode]; - + [self assertTrue:[table bounds].size.width > 100 && [table bounds].size.width < 200]; - + [tableColumn1 setHidden:NO]; [tableColumn1 setWidth:100.0]; - + [self assertTrue:[table bounds].size.width >= 200]; } diff --git a/Tests/Foundation/CPNumberFormatterTest.j b/Tests/Foundation/CPNumberFormatterTest.j index 3b6a6cc3c..63380122a 100644 --- a/Tests/Foundation/CPNumberFormatterTest.j +++ b/Tests/Foundation/CPNumberFormatterTest.j @@ -151,7 +151,7 @@ [self assert:@"1%" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"0.01"]]]; [self assert:@"100%" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1.0"]]]; [self assert:@"150%" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1.5"]]]; - + [numberFormatter setMinimumFractionDigits:1]; [numberFormatter setMaximumFractionDigits:1]; From 8a5923527f50da061ffa213a6f8794ab68ec16e7 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 24 Sep 2012 17:14:37 +0100 Subject: [PATCH 30/63] Mention our trailing whitespace policy. --- CONTRIBUTING.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1e5b43e5b..b78b2f6c5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,6 +31,9 @@ Some things are difficult to unit test in a way that's worthwhile. For instance ## Cappuccino Coding Style Guidelines +### Trailing whitespace +Leave no trailing spaces or tabs at the end of a line (`trailing whitespace`), even if the line is empty and in an otherwise indented block. + ### Indentation Use spaces, not tabs. Tabs should only appear in files that require them for semantic meaning, like Makefiles (which there are currently none of). The indent size is 4 spaces. From a337bc28f9a2eebc0a34effb839d6cda5e1a35f6 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Wed, 26 Sep 2012 12:30:02 +0100 Subject: [PATCH 31/63] Reduce number of divs used by typical apps. Without this optimisation nil or 0x0 sized image slices in three part and nine part images result in useless empty divs. Eliminating these divs should improve performance and reduce memory usage. Although exact memory usage is hard to measure, in a large app the number of divs on screen went from 1012 to 984, a reduction of about 2.7%. --- AppKit/CPView.j | 281 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 222 insertions(+), 59 deletions(-) diff --git a/AppKit/CPView.j b/AppKit/CPView.j index b11599d32..570a5e965 100644 --- a/AppKit/CPView.j +++ b/AppKit/CPView.j @@ -987,32 +987,90 @@ var CPCurrentToolTip, } else { - var images = [[_backgroundColor patternImage] imageSlices]; + var images = [[_backgroundColor patternImage] imageSlices], + partIndex = 0; if (_backgroundType === BackgroundVerticalThreePartImage) { + var top = _DOMImageSizes[0] ? _DOMImageSizes[0].height : 0, + bottom = _DOMImageSizes[2] ? _DOMImageSizes[2].height : 0; + // Make sure to repeat the top and bottom pieces horizontally if they're not the exact width needed. - CPDOMDisplayServerSetStyleSize(_DOMImageParts[0], size.width, _DOMImageSizes[0].height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[1], size.width, size.height - _DOMImageSizes[0].height - _DOMImageSizes[2].height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[2], size.width, _DOMImageSizes[2].height); + if (top) + { + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], size.width, top); + partIndex++; + } + if (_DOMImageSizes[1]) + { + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], size.width, size.height - top - bottom); + partIndex++; + } + if (bottom) + { + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], size.width, bottom); + } } else if (_backgroundType === BackgroundHorizontalThreePartImage) { + var left = _DOMImageSizes[0] ? _DOMImageSizes[0].width : 0, + right = _DOMImageSizes[2] ? _DOMImageSizes[2].width : 0; + // Make sure to repeat the left and right pieces vertically if they're not the exact height needed. - CPDOMDisplayServerSetStyleSize(_DOMImageParts[0], _DOMImageSizes[0].width, size.height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[1], size.width - _DOMImageSizes[0].width - _DOMImageSizes[2].width, size.height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[2], _DOMImageSizes[2].width, size.height); + if (left) + { + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], left, size.height); + partIndex++; + } + if (_DOMImageSizes[1]) + { + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], size.width - left - right, size.height); + partIndex++; + } + if (right) + { + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], right, size.height); + } } else if (_backgroundType === BackgroundNinePartImage) { - var width = size.width - _DOMImageSizes[0].width - _DOMImageSizes[2].width, - height = size.height - _DOMImageSizes[0].height - _DOMImageSizes[6].height; + var left = _DOMImageSizes[0] ? _DOMImageSizes[0].width : 0, + right = _DOMImageSizes[2] ? _DOMImageSizes[2].width : 0, + top = _DOMImageSizes[0] ? _DOMImageSizes[0].height : 0, + bottom = _DOMImageSizes[6] ? _DOMImageSizes[6].height : 0, + width = size.width - left - right, + height = size.height - top - bottom; - CPDOMDisplayServerSetStyleSize(_DOMImageParts[1], width, _DOMImageSizes[0].height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[3], _DOMImageSizes[3].width, height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[4], width, height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[5], _DOMImageSizes[5].width, height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[7], width, _DOMImageSizes[7].height); + if (_DOMImageSizes[0]) + partIndex++; + if (_DOMImageSizes[1]) + { + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], width, top); + partIndex++; + } + if (_DOMImageSizes[2]) + partIndex++; + if (_DOMImageSizes[3]) + { + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], _DOMImageSizes[3].width, height); + partIndex++; + } + if (_DOMImageSizes[4]) + { + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], width, height); + partIndex++; + } + if (_DOMImageSizes[5]) + { + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], _DOMImageSizes[5].width, height); + partIndex++; + } + if (_DOMImageSizes[6]) + partIndex++; + if (_DOMImageSizes[7]) + { + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], width, _DOMImageSizes[7].height); + } } } } @@ -1584,17 +1642,18 @@ var CPCurrentToolTip, colorHasAlpha = colorExists && [_backgroundColor alphaComponent] < 1.0, supportsRGBA = CPFeatureIsCompatible(CPCSSRGBAFeature), colorNeedsDOMElement = colorHasAlpha && !supportsRGBA, - amount = 0; + amount = 0, + slices; if ([patternImage isThreePartImage]) { _backgroundType = [patternImage isVertical] ? BackgroundVerticalThreePartImage : BackgroundHorizontalThreePartImage; - amount = 3 - _DOMImageParts.length; + amount = 3; } else if ([patternImage isNinePartImage]) { _backgroundType = BackgroundNinePartImage; - amount = 9 - _DOMImageParts.length; + amount = 9; } else { @@ -1602,6 +1661,34 @@ var CPCurrentToolTip, amount = (colorNeedsDOMElement ? 1 : 0) - _DOMImageParts.length; } + // Prepare multipart image data and reduce number of required DOM parts by number of empty slices in the multipart image to save needless DOM elements. + if (_backgroundType === BackgroundVerticalThreePartImage || _backgroundType === BackgroundHorizontalThreePartImage || _backgroundType === BackgroundNinePartImage) + { + slices = [patternImage imageSlices]; + + // We won't need more divs than there are slices. + amount = MIN(amount, slices.length); + + for (var i = 0, count = slices.length; i < count; i++) + { + var image = slices[i], + size = [image size]; + + if (!size || (size.width == 0 && size.height == 0)) + size = nil; + + _DOMImageSizes[i] = size; + + // If there's a nil slice or a slice with no size, it won't need a div. + if (!size) + amount--; + } + + // Now that we know how many divs we really need, compare that to number we actually have. + amount -= _DOMImageParts.length; + } + + // Make sure the number of divs we have match our needs. if (amount > 0) { while (amount--) @@ -1643,70 +1730,148 @@ var CPCurrentToolTip, } else { - var slices = [patternImage imageSlices], - count = MIN(_DOMImageParts.length, slices.length), - frameSize = _frame.size; + var frameSize = _frame.size, + partIndex = 0; - while (count--) + for (var i = 0; i < slices.length; i++) { - var image = slices[count], - size = _DOMImageSizes[count] = image ? [image size] : _CGSizeMakeZero(); + var size = _DOMImageSizes[i]; - CPDOMDisplayServerSetStyleSize(_DOMImageParts[count], size.width, size.height); + if (!size) + continue; - _DOMImageParts[count].style.background = image ? "url(\"" + [image filename] + "\")" : ""; + var image = slices[i]; + + // // If image was nil, size should have been nil too. + // assert(image != nil); + + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], size.width, size.height); + + _DOMImageParts[partIndex].style.background = "url(\"" + [image filename] + "\")"; if (!supportsRGBA) { if (CPFeatureIsCompatible(CPOpacityRequiresFilterFeature)) - try { _DOMImageParts[count].style.removeAttribute("filter") } catch (anException) { } + try { _DOMImageParts[partIndex].style.removeAttribute("filter") } catch (anException) { } else - _DOMImageParts[count].style.opacity = 1.0; + _DOMImageParts[partIndex].style.opacity = 1.0; } + + partIndex++; } if (_backgroundType == BackgroundNinePartImage) { - var width = frameSize.width - _DOMImageSizes[0].width - _DOMImageSizes[2].width, - height = frameSize.height - _DOMImageSizes[0].height - _DOMImageSizes[6].height; + var left = _DOMImageSizes[0] ? _DOMImageSizes[0].width : 0, + right = _DOMImageSizes[2] ? _DOMImageSizes[2].width : 0, + top = _DOMImageSizes[0] ? _DOMImageSizes[0].height : 0, + bottom = _DOMImageSizes[6] ? _DOMImageSizes[6].height : 0, + width = frameSize.width - left - right, + height = frameSize.height - top - bottom; - CPDOMDisplayServerSetStyleSize(_DOMImageParts[1], width, _DOMImageSizes[0].height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[3], _DOMImageSizes[3].width, height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[4], width, height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[5], _DOMImageSizes[5].width, height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[7], width, _DOMImageSizes[7].height); + partIndex = 0; - CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[0], NULL, 0.0, 0.0); - CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[1], NULL, _DOMImageSizes[0].width, 0.0); - CPDOMDisplayServerSetStyleRightTop(_DOMImageParts[2], NULL, 0.0, 0.0); - CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[3], NULL, 0.0, _DOMImageSizes[1].height); - CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[4], NULL, _DOMImageSizes[0].width, _DOMImageSizes[0].height); - CPDOMDisplayServerSetStyleRightTop(_DOMImageParts[5], NULL, 0.0, _DOMImageSizes[1].height); - CPDOMDisplayServerSetStyleLeftBottom(_DOMImageParts[6], NULL, 0.0, 0.0); - CPDOMDisplayServerSetStyleLeftBottom(_DOMImageParts[7], NULL, _DOMImageSizes[6].width, 0.0); - CPDOMDisplayServerSetStyleRightBottom(_DOMImageParts[8], NULL, 0.0, 0.0); + if (_DOMImageSizes[0]) + { + CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[partIndex], NULL, 0.0, 0.0); + partIndex++; + } + if (_DOMImageSizes[1]) + { + CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[partIndex], NULL, left, 0.0); + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], width, _DOMImageSizes[1].height); + partIndex++; + } + if (_DOMImageSizes[2]) + { + CPDOMDisplayServerSetStyleRightTop(_DOMImageParts[partIndex], NULL, 0.0, 0.0); + partIndex++; + } + if (_DOMImageSizes[3]) + { + CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[partIndex], NULL, 0.0, top); + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], _DOMImageSizes[3].width, height); + partIndex++; + } + if (_DOMImageSizes[4]) + { + CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[partIndex], NULL, left, top); + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], width, height); + partIndex++; + } + if (_DOMImageSizes[5]) + { + CPDOMDisplayServerSetStyleRightTop(_DOMImageParts[partIndex], NULL, 0.0, top); + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], _DOMImageSizes[5].width, height); + partIndex++; + } + if (_DOMImageSizes[6]) + { + CPDOMDisplayServerSetStyleLeftBottom(_DOMImageParts[partIndex], NULL, 0.0, 0.0); + partIndex++; + } + if (_DOMImageSizes[7]) + { + CPDOMDisplayServerSetStyleLeftBottom(_DOMImageParts[partIndex], NULL, left, 0.0); + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], width, _DOMImageSizes[7].height); + partIndex++; + } + if (_DOMImageSizes[8]) + { + CPDOMDisplayServerSetStyleRightBottom(_DOMImageParts[partIndex], NULL, 0.0, 0.0); + } } else if (_backgroundType == BackgroundVerticalThreePartImage) { - // Make sure to repeat the top and bottom pieces horizontally if they're not the exact width needed. - CPDOMDisplayServerSetStyleSize(_DOMImageParts[0], frameSize.width, _DOMImageSizes[0].height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[1], frameSize.width, frameSize.height - _DOMImageSizes[0].height - _DOMImageSizes[2].height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[2], frameSize.width, _DOMImageSizes[2].height); + var top = _DOMImageSizes[0] ? _DOMImageSizes[0].height : 0, + bottom = _DOMImageSizes[2] ? _DOMImageSizes[2].height : 0; - CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[0], NULL, 0.0, 0.0); - CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[1], NULL, 0.0, _DOMImageSizes[0].height); - CPDOMDisplayServerSetStyleLeftBottom(_DOMImageParts[2], NULL, 0.0, 0.0); + partIndex = 0; + + // Make sure to repeat the top and bottom pieces horizontally if they're not the exact width needed. + if (top) + { + CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[partIndex], NULL, 0.0, 0.0); + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], frameSize.width, top); + partIndex++; + } + if (_DOMImageSizes[1]) + { + CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[partIndex], NULL, 0.0, top); + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], frameSize.width, frameSize.height - top - bottom); + partIndex++; + } + if (bottom) + { + CPDOMDisplayServerSetStyleLeftBottom(_DOMImageParts[partIndex], NULL, 0.0, 0.0); + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], frameSize.width, bottom); + } } else if (_backgroundType == BackgroundHorizontalThreePartImage) { - // Make sure to repeat the left and right pieces vertically if they're not the exact height needed. - CPDOMDisplayServerSetStyleSize(_DOMImageParts[0], _DOMImageSizes[0].width, frameSize.height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[1], frameSize.width - _DOMImageSizes[0].width - _DOMImageSizes[2].width, frameSize.height); - CPDOMDisplayServerSetStyleSize(_DOMImageParts[2], _DOMImageSizes[2].width, frameSize.height); + var left = _DOMImageSizes[0] ? _DOMImageSizes[0].width : 0, + right = _DOMImageSizes[2] ? _DOMImageSizes[2].width : 0; - CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[0], NULL, 0.0, 0.0); - CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[1], NULL, _DOMImageSizes[0].width, 0.0); - CPDOMDisplayServerSetStyleRightTop(_DOMImageParts[2], NULL, 0.0, 0.0); + partIndex = 0; + + // Make sure to repeat the left and right pieces vertically if they're not the exact height needed. + if (left) + { + CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[partIndex], NULL, 0.0, 0.0); + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], left, frameSize.height); + partIndex++; + } + if (_DOMImageSizes[1]) + { + CPDOMDisplayServerSetStyleLeftTop(_DOMImageParts[partIndex], NULL, left, 0.0); + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], frameSize.width - left - right, frameSize.height); + partIndex++; + } + if (right) + { + CPDOMDisplayServerSetStyleRightTop(_DOMImageParts[partIndex], NULL, 0.0, 0.0); + CPDOMDisplayServerSetStyleSize(_DOMImageParts[partIndex], right, frameSize.height); + } } } #endif @@ -3143,5 +3308,3 @@ var _CPViewGetTransform = function(/*CPView*/ fromView, /*CPView */ toView) return transform; }; - - From 90d52a8bb48c1fc0d511e823592a1aff21bd3c25 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Fri, 28 Sep 2012 14:55:33 -0400 Subject: [PATCH 32/63] Don't show environment vars when building --- Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj b/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj index 13d898cad..7e0c5e38e 100644 --- a/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj +++ b/Tools/XcodeCapp/XcodeCapp.xcodeproj/project.pbxproj @@ -271,6 +271,7 @@ runOnlyForDeploymentPostprocessing = 0; shellPath = /usr/bin/perl; shellScript = "#!/usr/bin/perl\n\nwhile (<>) {\n s/\\s+$//;\n print \"$_\\n\";\n}"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ From 8ff2a32b47451dc80607110337bde7c8985538a5 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Fri, 28 Sep 2012 16:20:55 -0400 Subject: [PATCH 33/63] Fix tag reading from IB Both controls and cells can have tags in IB, but Cappuccino has no cells. If the control has a tag, that takes precedence. Tag reading was moved to NSControl from NSView, since NSView does not have a tag in Cocoa. --- AppKit/CPView.j | 1 + Tools/nib2cib/NSButton.j | 2 -- Tools/nib2cib/NSControl.j | 5 +++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/AppKit/CPView.j b/AppKit/CPView.j index 570a5e965..2382f5efb 100644 --- a/AppKit/CPView.j +++ b/AppKit/CPView.j @@ -3072,6 +3072,7 @@ var CPViewAutoresizingMaskKey = @"CPViewAutoresizingMask", [self _setupToolTipHandlers]; _toolTip = [aCoder decodeObjectForKey:CPViewToolTipKey]; + if (_toolTip) [self _installToolTipEventHandlers]; diff --git a/Tools/nib2cib/NSButton.j b/Tools/nib2cib/NSButton.j index 59437de96..f5597344c 100644 --- a/Tools/nib2cib/NSButton.j +++ b/Tools/nib2cib/NSButton.j @@ -269,8 +269,6 @@ var NSButtonIsBorderedMask = 0x00800000, _highlightsBy = [cell highlightsBy]; _showsStateBy = [cell showsStateBy]; - [self setTag:[cell tag]]; - return self; } diff --git a/Tools/nib2cib/NSControl.j b/Tools/nib2cib/NSControl.j index a2ee25a75..5db1eeff3 100644 --- a/Tools/nib2cib/NSControl.j +++ b/Tools/nib2cib/NSControl.j @@ -56,6 +56,11 @@ [self setLineBreakMode:[cell lineBreakMode]]; [self setFormatter:[cell formatter]]; + + // In IB, both cells and controls can have tags. + // If the control has a tag, that takes precedence. + if ([aCoder containsValueForKey:@"NSTag"]) + [self setTag:[aCoder decodeIntForKey:@"NSTag"]]; } return self; From 95246d73c1872971d95b3261a802096a1864a862 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Fri, 28 Sep 2012 17:44:56 -0400 Subject: [PATCH 34/63] Fixed xib to work correctly with smaller screens --- .../CPButtonTest/Resources/MainMenu.cib | 2 +- .../CPButtonTest/Resources/MainMenu.xib | 4432 +++++++++-------- 2 files changed, 2253 insertions(+), 2181 deletions(-) diff --git a/Tests/Manual/CPButtonTest/Resources/MainMenu.cib b/Tests/Manual/CPButtonTest/Resources/MainMenu.cib index eb6637c5a..30a056d36 100644 --- a/Tests/Manual/CPButtonTest/Resources/MainMenu.cib +++ b/Tests/Manual/CPButtonTest/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;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;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;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;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;1;0E;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;67E;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;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;1;0E;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;2;78E;D;K;6;CP$UIDd;2;79E;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;2;85E;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;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;94E;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;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;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;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;79E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;11E;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;85E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;11E;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;91E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;57E;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;109E;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;110E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;111E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;69E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;72E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;70E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;76E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;116E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;89E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;92E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;105E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;106E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;121E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;73E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;122E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;86E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;87E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;127E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;129E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;130E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;132E;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;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;97E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;109E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;141E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;142E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;143E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;53E;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;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;145E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;145E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;146E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;149E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;150E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;158E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;108E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;163E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;156E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;169E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;170E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;172E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;174E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;172E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;175E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;176E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;177E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;178E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;179E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;10;$classnameS;16;_CPCibCustomViewK;8;$classesA;S;16;_CPCibCustomViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;180E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;181E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;182E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;183E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;185E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;186E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;188E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;190E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;191E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;192E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;195E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;196E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;197E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;198E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;157E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;199E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;200E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;201E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;202E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;203E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;204E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;205E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;206E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;207E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;209E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;210E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;211E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;79E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;212E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;212E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;213E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;215E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;216E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;217E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;218E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;219E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;220E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;221E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;222E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;223E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;224E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;225E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;172E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;226E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;172E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;227E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;210E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;228E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;229E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;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;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;233E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;234E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;235E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;236E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;237E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;238E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;239E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;240E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;210E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;241E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;242E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;242E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;243E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;245E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;7;$aimageD;K;6;CP$UIDd;3;247E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;248E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;249E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;250E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;251E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;252E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;144E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;172E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;253E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;254E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;144E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;172E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;255E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;155E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;257E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;155E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;258E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;259E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;257E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;260E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;261E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;257E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;262E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;263E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;257E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;264E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;265E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;257E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;156E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;267E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;257E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;268E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;269E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;257E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;270E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;271E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;272E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;257E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;273E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;274E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;275E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;251E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;276E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;144E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;172E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;277E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;254E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;144E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;172E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;278E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;155E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;279E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;270E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;271E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;272E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;279E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;280E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;274E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;279E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;156E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;267E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;279E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;281E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;269E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;279E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;262E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;263E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;279E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;282E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;265E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;279E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;155E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;258E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;259E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;279E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;283E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;261E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;284E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;285E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;286E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;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;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;289E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;290E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;285E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;286E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;291E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;292E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;90E;E;E;S;8;delegateS;6;buttonS;8;checkboxS;10;clickCountS;11;imageButtonS;19;imageDisabledButtonS;21;momentaryChangeButtonS;12;monkeyButtonS;14;monkeyCheckboxS;19;monkeyCheckboxLabelS;11;monkeyLabelS;13;multiCheckboxS;12;positionMenuS;12;pushInButtonS;15;pushOnOffButtonD;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;126E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;293E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;254E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;294E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;295E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;155E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;296E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;297E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;298E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;300E;E;S;6;radio1D;K;6;$classD;K;6;CP$UIDd;3;126E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;301E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;254E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;294E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;155E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;302E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;297E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;298E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;300E;E;S;6;radio2S;9;theWindowS;12;toggleButtonS;17;setImagePosition:S;11;countClick:S;20;switchSelectedRadio:S;12;monkeyClick:S;29;setMonkeyButtonHighlightedBy:S;28;setMonkeyButtonShowsStateBy:S;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{100, 67}, {380, 253}}d;1;7S;19;CPButton Image Testd;1;0S;20;{{0, 0}, {380, 253}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;67E;E;E;d;2;18S;6;normalS;22;{{40, 212}, {101, 17}}S;19;{{0, 0}, {101, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;304E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;d;1;2d;1;4T;S;15;Image Position:d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;305E;E;S;23;{{141, 211}, {201, 24}}S;19;{{0, 0}, {201, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;304E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;157E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;0;d;2;12S;8;No ImageS;17;_popUpItemAction:d;1;1d;7;1048576S;10;Image OnlyS;4;LeftS;5;RightS;5;BelowS;5;AboveS;8;OverlapsS;22;{{20, 20}, {340, 174}}S;20;{{0, 0}, {340, 174}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;69E;E;E;S;9;BezelViewS;20;{{22, 15}, {96, 24}}S;18;{{0, 0}, {96, 24}}S;6;Buttond;2;14S;22;{{141, 15}, {176, 24}}S;19;{{0, 0}, {176, 24}}S;17;Button With ImageS;20;{{29, 65}, {85, 40}}S;18;{{0, 0}, {85, 40}}S;9;check-boxS;8;selectedS;8;CheckboxS;22;{{163, 65}, {152, 40}}S;19;{{0, 0}, {152, 40}}S;19;Multistate CheckboxS;22;{{31, 120}, {168, 40}}S;19;{{0, 0}, {168, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;E;E;S;23;{{198, 128}, {119, 24}}S;19;{{0, 0}, {119, 24}}S;14;Set radio 2 OnS;22;{{141, 45}, {176, 24}}S;17;disabled+borderedS;19;Disabled With ImageS;13;AppControllerS;23;{{100, 354}, {318, 85}}d;2;15S;22;Continuous Button TestS;19;{{0, 0}, {318, 85}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;21;{{18, 18}, {120, 24}}S;19;{{0, 0}, {120, 24}}S;13;Normal ButtonS;22;{{150, 18}, {146, 24}}S;19;{{0, 0}, {146, 24}}d;5;65540S;17;Continuous ButtonS;21;{{17, 48}, {107, 17}}S;19;{{0, 0}, {107, 17}}S;16;Recorded clicks:S;22;{{126, 48}, {175, 17}}S;19;{{0, 0}, {175, 17}}S;1;0S;23;{{502, 67}, {271, 156}}S;25;CPButton Button Type TestS;20;{{0, 0}, {271, 156}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;21;{{29, 18}, {208, 24}}S;19;{{0, 0}, {208, 24}}S;26;Momentary Push In (Normal)S;21;{{29, 50}, {208, 24}}S;18;Push On / Push OffS;21;{{29, 82}, {208, 24}}S;6;ToggleS;22;{{29, 114}, {208, 24}}S;16;Momentary ChangeS;24;{{502, 265}, {480, 210}}S;18;Monkey Button TestS;20;{{0, 0}, {480, 210}}D;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;2;94E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;E;E;S;22;{{151, 38}, {174, 24}}S;19;{{0, 0}, {174, 24}}D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;246E;K;4;nameD;K;6;CP$UIDd;3;306E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;6;valuesD;K;6;CP$UIDd;3;308E;E;S;13;Monkey ButtonS;15;Alternate TitleS;22;{{17, 80}, {222, 114}}S;20;{{0, 0}, {222, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;257E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;310E;E;S;13;Highlights ByS;6;{0, 0}D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;318E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;320E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;S;20;{{16, 8}, {137, 18}}S;19;{{0, 0}, {137, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;16;CPPushInCellMaskS;21;{{16, 28}, {152, 18}}S;19;{{0, 0}, {152, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;18;CPContentsCellMaskS;21;{{16, 48}, {172, 18}}S;19;{{0, 0}, {172, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;20;CPChangeGrayCellMaskd;1;8S;21;{{16, 68}, {218, 18}}S;19;{{0, 0}, {218, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;26;CPChangeBackgroundCellMaskS;23;{{241, 80}, {222, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;279E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;312E;E;S;14;Shows State ByD;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;318E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;99E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;22;{{332, 41}, {131, 17}}S;19;{{0, 0}, {131, 17}}S;5;LabelS;22;{{151, 10}, {138, 32}}S;19;{{0, 0}, {138, 32}}S;15;Monkey CheckboxS;22;{{289, 10}, {131, 17}}S;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;18;{{0, 0}, {82, 40}}S;5;radioS;17;selected+borderedS;7;Radio 1f;3;0.5f;4;0.05D;K;10;$classnameS;12;CPRadioGroupK;8;$classesA;S;12;CPRadioGroupS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;299E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;313E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;127E;E;S;19;{{86, 0}, {82, 40}}S;7;Radio 2S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;172E;E;E;S;5;imageD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;307E;K;10;CP.objectsD;K;11;highlightedD;K;6;CP$UIDd;3;316E;K;6;normalD;K;6;CP$UIDd;3;317E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;321E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;E;E;d;2;11D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;321E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;323E;E;f;18;0.6862745098039216D;K;10;$classnameS;20;_CPCibCustomResourceK;8;$classesA;S;20;_CPCibCustomResourceS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;315E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;324E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;325E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;315E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;324E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;327E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;328E;E;S;20;{{1, 15}, {220, 98}}S;19;{{0, 0}, {220, 98}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;f;4;0.42D;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;102E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;100E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;E;E;S;7;CPImageS;16;CPRemoveTemplateD;K;6;$classD;K;6;CP$UIDd;3;307E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;330E;E;E;S;13;CPAddTemplateD;K;6;$classD;K;6;CP$UIDd;3;307E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;331E;E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;329E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;332E;E;D;K;6;$classD;K;6;CP$UIDd;3;329E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;332E;E;S;22;{"width":0,"height":0}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;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;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;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;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;1;0E;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;67E;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;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;1;0E;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;2;78E;D;K;6;CP$UIDd;2;79E;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;2;85E;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;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;94E;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;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;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;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;79E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;11E;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;85E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;11E;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;91E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;57E;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;109E;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;110E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;111E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;69E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;72E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;70E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;76E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;116E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;89E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;92E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;105E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;106E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;121E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;73E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;122E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;86E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;87E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;127E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;129E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;130E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;132E;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;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;97E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;109E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;141E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;142E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;143E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;53E;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;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;145E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;145E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;146E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;149E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;150E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;158E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;108E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;163E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;156E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;169E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;170E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;172E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;174E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;172E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;175E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;176E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;177E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;178E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;179E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;10;$classnameS;16;_CPCibCustomViewK;8;$classesA;S;16;_CPCibCustomViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;180E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;181E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;182E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;183E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;185E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;186E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;188E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;190E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;191E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;192E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;195E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;196E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;197E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;198E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;157E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;199E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;200E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;201E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;202E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;203E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;204E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;205E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;206E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;207E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;209E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;210E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;211E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;79E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;212E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;212E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;213E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;215E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;216E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;217E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;218E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;219E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;220E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;221E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;222E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;223E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;224E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;225E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;172E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;226E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;172E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;227E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;210E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;228E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;229E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;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;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;233E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;234E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;235E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;236E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;237E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;238E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;239E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;240E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;142E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;241E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;242E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;242E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;243E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;245E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;7;$aimageD;K;6;CP$UIDd;3;247E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;248E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;249E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;250E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;251E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;252E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;144E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;172E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;253E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;254E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;144E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;172E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;255E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;155E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;257E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;155E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;258E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;259E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;257E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;260E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;261E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;257E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;262E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;263E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;257E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;264E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;265E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;257E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;156E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;267E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;257E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;268E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;269E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;257E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;270E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;271E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;272E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;257E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;273E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;274E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;275E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;251E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;276E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;144E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;172E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;277E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;254E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;144E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;172E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;278E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;155E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;279E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;270E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;271E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;272E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;279E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;280E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;274E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;279E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;156E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;267E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;279E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;281E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;269E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;279E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;262E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;263E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;279E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;282E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;265E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;279E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;155E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;258E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;259E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;279E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;283E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;261E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;284E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;285E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;286E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;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;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;289E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;290E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;285E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;286E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;291E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;292E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;90E;E;E;S;8;delegateS;6;buttonS;8;checkboxS;10;clickCountS;11;imageButtonS;19;imageDisabledButtonS;21;momentaryChangeButtonS;12;monkeyButtonS;14;monkeyCheckboxS;19;monkeyCheckboxLabelS;11;monkeyLabelS;13;multiCheckboxS;12;positionMenuS;12;pushInButtonS;15;pushOnOffButtonD;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;126E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;293E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;254E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;294E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;295E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;155E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;296E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;297E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;298E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;300E;E;S;6;radio1D;K;6;$classD;K;6;CP$UIDd;3;126E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;301E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;254E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;294E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;155E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;302E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;297E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;298E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;300E;E;S;6;radio2S;9;theWindowS;12;toggleButtonS;17;setImagePosition:S;11;countClick:S;20;switchSelectedRadio:S;12;monkeyClick:S;29;setMonkeyButtonHighlightedBy:S;28;setMonkeyButtonShowsStateBy:S;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{100, 84}, {380, 253}}d;1;7S;19;CPButton Image Testd;1;0S;20;{{0, 0}, {380, 253}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;67E;E;E;d;2;18S;6;normalS;21;{{40, 213}, {95, 17}}S;18;{{0, 0}, {95, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;304E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;d;1;2d;1;4T;S;15;Image Position:d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;305E;E;S;23;{{140, 211}, {202, 24}}S;19;{{0, 0}, {202, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;304E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;157E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;0;d;2;12S;8;No ImageS;17;_popUpItemAction:d;1;1d;7;1048576S;10;Image OnlyS;4;LeftS;5;RightS;5;BelowS;5;AboveS;8;OverlapsS;22;{{20, 20}, {340, 174}}S;20;{{0, 0}, {340, 174}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;69E;E;E;S;9;BezelViewS;20;{{22, 15}, {96, 24}}S;18;{{0, 0}, {96, 24}}S;6;Buttond;2;14S;22;{{141, 15}, {176, 24}}S;19;{{0, 0}, {176, 24}}S;17;Button With ImageS;20;{{29, 65}, {85, 40}}S;18;{{0, 0}, {85, 40}}S;9;check-boxS;8;selectedS;8;CheckboxS;22;{{163, 65}, {152, 40}}S;19;{{0, 0}, {152, 40}}S;19;Multistate CheckboxS;22;{{31, 120}, {168, 40}}S;19;{{0, 0}, {168, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;E;E;S;23;{{198, 128}, {119, 24}}S;19;{{0, 0}, {119, 24}}S;14;Set radio 2 OnS;22;{{141, 45}, {176, 24}}S;17;disabled+borderedS;19;Disabled With ImageS;13;AppControllerS;23;{{100, 393}, {318, 85}}d;2;15S;22;Continuous Button TestS;19;{{0, 0}, {318, 85}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;21;{{18, 18}, {120, 24}}S;19;{{0, 0}, {120, 24}}S;13;Normal ButtonS;22;{{150, 18}, {146, 24}}S;19;{{0, 0}, {146, 24}}d;5;65540S;17;Continuous ButtonS;21;{{17, 49}, {101, 17}}S;19;{{0, 0}, {101, 17}}S;16;Recorded clicks:S;22;{{126, 49}, {169, 17}}S;19;{{0, 0}, {169, 17}}S;1;0S;23;{{500, 83}, {271, 156}}S;25;CPButton Button Type TestS;20;{{0, 0}, {271, 156}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;21;{{29, 18}, {208, 24}}S;19;{{0, 0}, {208, 24}}S;26;Momentary Push In (Normal)S;21;{{29, 50}, {208, 24}}S;18;Push On / Push OffS;21;{{29, 82}, {208, 24}}S;6;ToggleS;22;{{29, 114}, {208, 24}}S;16;Momentary ChangeS;24;{{500, 273}, {480, 225}}S;18;Monkey Button TestS;20;{{0, 0}, {480, 225}}D;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;2;94E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;E;E;S;22;{{151, 53}, {174, 24}}S;19;{{0, 0}, {174, 24}}D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;246E;K;4;nameD;K;6;CP$UIDd;3;306E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;6;valuesD;K;6;CP$UIDd;3;308E;E;S;13;Monkey ButtonS;15;Alternate TitleS;22;{{17, 95}, {222, 114}}S;20;{{0, 0}, {222, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;257E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;310E;E;S;13;Highlights ByS;6;{0, 0}D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;318E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;320E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;S;20;{{16, 8}, {137, 18}}S;19;{{0, 0}, {137, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;16;CPPushInCellMaskS;21;{{16, 28}, {152, 18}}S;19;{{0, 0}, {152, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;18;CPContentsCellMaskS;21;{{16, 48}, {172, 18}}S;19;{{0, 0}, {172, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;20;CPChangeGrayCellMaskd;1;8S;21;{{16, 68}, {218, 18}}S;19;{{0, 0}, {218, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;26;CPChangeBackgroundCellMaskS;23;{{241, 95}, {222, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;279E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;312E;E;S;14;Shows State ByD;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;318E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;99E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;22;{{332, 57}, {125, 17}}S;19;{{0, 0}, {125, 17}}S;5;LabelS;22;{{151, 12}, {138, 32}}S;19;{{0, 0}, {138, 32}}S;15;Monkey CheckboxS;22;{{307, 20}, {125, 17}}S;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;18;{{0, 0}, {82, 40}}S;5;radioS;17;selected+borderedS;7;Radio 1f;3;0.5f;4;0.05D;K;10;$classnameS;12;CPRadioGroupK;8;$classesA;S;12;CPRadioGroupS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;299E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;313E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;127E;E;S;19;{{86, 0}, {82, 40}}S;7;Radio 2S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;172E;E;E;S;5;imageD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;307E;K;10;CP.objectsD;K;11;highlightedD;K;6;CP$UIDd;3;316E;K;6;normalD;K;6;CP$UIDd;3;317E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;321E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;E;E;d;2;11D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;321E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;323E;E;f;18;0.6862745098039216D;K;10;$classnameS;20;_CPCibCustomResourceK;8;$classesA;S;20;_CPCibCustomResourceS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;315E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;324E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;325E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;315E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;324E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;327E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;328E;E;S;20;{{1, 15}, {220, 98}}S;19;{{0, 0}, {220, 98}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;f;4;0.42D;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;102E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;100E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;E;E;S;7;CPImageS;16;CPRemoveTemplateD;K;6;$classD;K;6;CP$UIDd;3;307E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;330E;E;E;S;13;CPAddTemplateD;K;6;$classD;K;6;CP$UIDd;3;307E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;331E;E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;329E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;332E;E;D;K;6;$classD;K;6;CP$UIDd;3;329E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;332E;E;S;22;{"width":0,"height":0}E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPButtonTest/Resources/MainMenu.xib b/Tests/Manual/CPButtonTest/Resources/MainMenu.xib index 646fa37c3..1d1f55536 100644 --- a/Tests/Manual/CPButtonTest/Resources/MainMenu.xib +++ b/Tests/Manual/CPButtonTest/Resources/MainMenu.xib @@ -1,313 +1,333 @@ - - 1060 - 11E53 - 851 - 1138.47 - 569.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 851 - - - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - NSApplication - - - FirstResponder - - - NSApplication - - - 7 - 2 - {{100, 1098}, {380, 253}} - 1954021376 - CPButton Image Test - NSWindow - - - {1.7976931348623157e+308, 1.7976931348623157e+308} - - - 274 - - - - 268 - {{40, 24}, {101, 17}} - - - YES - - 68288064 - 272630784 - Image Position: - - LucidaGrande - 13 - 1040 - - - - 6 - System - controlColor - - 3 - MC42NjY2NjY2NjY3AA - - - - 6 - System - controlTextColor - - 3 - MAA - - - - - - - 268 - {{140, 16}, {207, 26}} - - YES - - -2076049856 - 2048 - - - 109199615 - 129 - - - 400 - 75 - - - No Image - - 1048576 - 2147483647 - 1 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - _popUpItemAction: - - - YES - - OtherViews - - - - - Image Only - - 1048576 - 2147483647 - - - _popUpItemAction: - 1 - - - - - Left - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Right - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Below - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Above - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Overlaps - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - - 1 - YES - YES - 2 - - - - - 268 - - - - 268 - {{143, 103}, {176, 25}} - - - YES - - 604110336 - 134217728 - Disabled With Image - - - -2034482945 - 163 - - - 200 - 25 - - - - - 268 - {{194, 16}, {131, 32}} - - - _NS:687 - YES - - 67239424 - 134217728 - Set radio 2 On - - _NS:687 - - -2038284033 - 129 - - - 200 - 25 - - - - - 268 - {{31, 14}, {168, 40}} - - - YES - 1 - 2 - - - -2080244224 - 0 - Radio 1 - - - 1 - 1211912703 - 0 - - NSRadioButton - - - - 200 - 25 - - - 67239424 - 0 - Radio 2 - - - 1211912703 - 0 - - 400 - 75 - - - {82, 40} - {4, 2} - 1151868928 - NSActionCell - - 67239424 - 0 - Radio - - 1211912703 - 0 - - 549453824 - {18, 18} - - - - - - TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA + + 1080 + 12C54 + 2840 + 1187.34 + 625.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2840 + + + NSBox + NSButton + NSButtonCell + NSCustomObject + NSCustomView + NSMatrix + NSMenu + NSMenuItem + NSPopUpButton + NSPopUpButtonCell + NSTextField + NSTextFieldCell + NSView + NSWindowTemplate + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + NSApplication + + + FirstResponder + + + NSApplication + + + 7 + 2 + {{100, 541}, {380, 253}} + 1954021376 + CPButton Image Test + NSWindow + + + + + 274 + + + + 268 + {{40, 24}, {101, 17}} + + + + YES + + 68157504 + 272630784 + Image Position: + + LucidaGrande + 13 + 1044 + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + NO + + + + 268 + {{140, 16}, {207, 26}} + + + + YES + + -2076180416 + 2048 + + + 109199360 + 129 + + + 400 + 75 + + + No Image + + 1048576 + 2147483647 + 1 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + _popUpItemAction: + + + YES + + OtherViews + + + + + Image Only + + 1048576 + 2147483647 + + + _popUpItemAction: + 1 + + + + + Left + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Right + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Below + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Above + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Overlaps + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 1 + YES + YES + 2 + + NO + + + + 268 + + + + 268 + {{143, 103}, {176, 25}} + + + + YES + + 603979776 + 134217728 + Disabled With Image + + + -2034483200 + 163 + + + 200 + 25 + + NO + + + + 268 + {{194, 16}, {131, 32}} + + + + _NS:687 + YES + + 67108864 + 134217728 + Set radio 2 On + + _NS:687 + + -2038284288 + 129 + + + 200 + 25 + + NO + + + + 268 + {{31, 14}, {168, 40}} + + + + YES + NO + 1 + 2 + + + -2080374784 + 0 + Radio 1 + + + 1 + 1211912448 + 0 + + NSRadioButton + + + + 200 + 25 + + + 67108864 + 0 + Radio 2 + + + 1211912448 + 0 + + 400 + 75 + + + {82, 40} + {4, 2} + 1151868928 + NSActionCell + + 67108864 + 0 + Radio + + 1211912448 + 0 + + 549453824 + {18, 18} + + + + + + TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ 29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 @@ -332,1876 +352,1928 @@ AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - - - - - - 3 - MCAwAA - - - - 400 - 75 - - - - - 3 - MQA - - - - - - 268 - {{163, 69}, {152, 40}} - - - YES - - -2080244224 - 16777216 - Multistate Checkbox - - - 1211912703 - 2 - - NSImage - NSSwitch - - - NSSwitch - - - - 200 - 25 - - - - - 268 - {{29, 69}, {85, 40}} - - - YES - - -2080244224 - 134217728 - Checkbox - - - 1211912703 - 2 - - - - - 200 - 25 - - - - - 268 - {{143, 133}, {176, 25}} - - - YES - - 67239424 - 134217728 - Button With Image - - - -2034482945 - 163 - - - 200 - 25 - - - - - 268 - {{24, 133}, {96, 25}} - - - YES - - 67239424 - 134217728 - Button - - - -2038284033 - 163 - - - 200 - 25 - - - - {{20, 59}, {340, 174}} - - - BezelView - - - {380, 253} - - - - {{0, 0}, {2560, 1418}} - {1.7976931348623157e+308, 1.7976931348623157e+308} - YES - - - AppController - - - 15 - 2 - {{100, 979}, {318, 85}} - 611844096 - Continuous Button Test - NSWindow - - - {1.7976931348623157e+308, 1.7976931348623157e+308} - - - 256 - - - - 268 - {{14, 37}, {132, 32}} - - - YES - - 67239424 - 134217728 - Normal Button - - - -2038284033 - 129 - - - 200 - 25 - - - - - 268 - {{146, 37}, {158, 32}} - - - YES - - 67763712 - 134217728 - Continuous Button - - - -2038284033 - 129 - - - 200 - 25 - - - - - 268 - {{17, 20}, {107, 17}} - - - YES - - 68288064 - 272630784 - Recorded clicks: - - - - - - - - - 268 - {{126, 20}, {175, 17}} - - YES - - 68288064 - 71304192 - 0 - - - - - - - - {318, 85} - - - - {{0, 0}, {2560, 1418}} - {1.7976931348623157e+308, 1.7976931348623157e+308} - YES - - - 15 - 2 - {{502, 1195}, {271, 156}} - 611845120 - CPButton Button Type Test - NSWindow - - - {1.7976931348623157e+308, 1.7976931348623157e+308} - - - 256 - - - - 268 - {{25, 108}, {220, 32}} - - - _NS:9 - YES - - 67239424 - 134217728 - Momentary Push In (Normal) - - _NS:9 - - -2038284033 - 129 - - - 200 - 25 - - - - - 268 - {{25, 76}, {220, 32}} - - - _NS:9 - YES - - 67239424 - 134217728 - Push On / Push Off - - _NS:9 - - -2038284033 - 129 - - - 200 - 25 - - - - - 268 - {{25, 44}, {220, 32}} - - - _NS:9 - YES - - 67239424 - 134217728 - Toggle - - _NS:9 - - -2038284033 - 129 - - - 200 - 25 - - - - - 268 - {{25, 12}, {220, 32}} - - _NS:9 - YES - - 67239424 - 134217728 - Momentary Change - - _NS:9 - - -2038284033 - 129 - - - 200 - 25 - - - - {271, 156} - - - _NS:20 - - {{0, 0}, {2560, 1418}} - {1.7976931348623157e+308, 1.7976931348623157e+308} - YES - - - 15 - 2 - {{502, 943}, {480, 210}} - 611845120 - Monkey Button Test - NSWindow - - - {1.7976931348623157e+308, 1.7976931348623157e+308} - - - 256 - - - - 268 - {{147, 142}, {186, 32}} - - - _NS:9 - YES - - 67239424 - 134217728 - Monkey Button - - _NS:9 - - -2034482945 - 129 - - NSImage - NSAddTemplate - - - NSImage - NSRemoveTemplate - - Alternate Title - - 200 - 25 - - - - - 12 - - - - 274 - - - - 268 - {{16, 72}, {137, 18}} - - - _NS:9 - 2 - YES - - 67239424 - 131072 - CPPushInCellMask - - LucidaGrande - 11 - 3088 - - _NS:9 - - 1211912703 - 2 - - - - - 200 - 25 - - - - - 268 - {{16, 52}, {152, 18}} - - - _NS:9 - 1 - YES - - 67239424 - 131072 - CPContentsCellMask - - _NS:9 - - 1211912703 - 2 - - - - - 200 - 25 - - - - - 268 - {{16, 32}, {172, 18}} - - - _NS:9 - 4 - YES - - 67239424 - 131072 - CPChangeGrayCellMask - - _NS:9 - - 1211912703 - 2 - - - - - 200 - 25 - - - - - 268 - {{16, 12}, {218, 18}} - - - _NS:9 - 8 - YES - - 67239424 - 131072 - CPChangeBackgroundCellMask - - _NS:9 - - 1211912703 - 2 - - - - - 200 - 25 - - - - {{1, 1}, {220, 98}} - - - _NS:11 - - - {{17, 16}, {222, 114}} - - - _NS:9 - {0, 0} - - 67239424 - 0 - Highlights By - - - 6 - System - textBackgroundColor - - - - 3 - MCAwLjgwMDAwMDAxMTkAA - - - - 1 - 0 - 2 - NO - - - - 12 - - - - 274 - - - - 268 - {{16, 72}, {137, 18}} - - - _NS:9 - 2 - YES - - 67239424 - 131072 - CPPushInCellMask - - _NS:9 - - 1211912703 - 2 - - - - - 200 - 25 - - - - - 268 - {{16, 52}, {152, 18}} - - - _NS:9 - 1 - YES - - 67239424 - 131072 - CPContentsCellMask - - _NS:9 - - 1211912703 - 2 - - - - - 200 - 25 - - - - - 268 - {{16, 32}, {172, 18}} - - - _NS:9 - 4 - YES - - 67239424 - 131072 - CPChangeGrayCellMask - - _NS:9 - - 1211912703 - 2 - - - - - 200 - 25 - - - - - 268 - {{16, 12}, {218, 18}} - - _NS:9 - 8 - YES - - 67239424 - 131072 - CPChangeBackgroundCellMask - - _NS:9 - - 1211912703 - 2 - - - - - 200 - 25 - - - - {{1, 1}, {220, 98}} - - - _NS:11 - - - {{241, 16}, {222, 114}} - - - _NS:9 - {0, 0} - - 67239424 - 0 - Shows State By - - - - 3 - MCAwLjgwMDAwMDAxMTkAA - - - - 1 - 0 - 2 - NO - - - - 268 - {{332, 152}, {131, 17}} - - - _NS:1505 - YES - - 68288064 - 272630784 - Label - - _NS:1505 - - - - - - - - 268 - {{151, 168}, {138, 32}} - - - _NS:9 - YES - - -2080244224 - 0 - Monkey Checkbox - - _NS:9 - - 1211912703 - 2 - - - - - 200 - 25 - - - - - 268 - {{289, 183}, {131, 17}} - - - _NS:1505 - YES - - 68288064 - 272630784 - Label - - _NS:1505 - - - - - - - {480, 210} - - - _NS:20 - - {{0, 0}, {2560, 1418}} - {1.7976931348623157e+308, 1.7976931348623157e+308} - YES - - - - - - - delegate - - - - 451 - - - - theWindow - - - - 1090 - - - - button - - - - 1174 - - - - imageButton - - - - 1175 - - - - checkbox - - - - 1176 - - - - multiCheckbox - - - - 1177 - - - - radio1 - - - - 1178 - - - - radio2 - - - - 1179 - - - - setImagePosition: - - - - 1180 - - - - positionMenu - - - - 1181 - - - - clickCount - - - - 1193 - - - - countClick: - - - - 1194 - - - - countClick: - - - - 1195 - - - - switchSelectedRadio: - - - - 1206 - - - - imageDisabledButton - - - - 1209 - - - - pushOnOffButton - - - - 1220 - - - - pushInButton - - - - 1221 - - - - toggleButton - - - - 1222 - - - - momentaryChangeButton - - - - 1223 - - - - setMonkeyButtonHighlightedBy: - - - - 1247 - - - - setMonkeyButtonHighlightedBy: - - - - 1248 - - - - setMonkeyButtonHighlightedBy: - - - - 1249 - - - - setMonkeyButtonHighlightedBy: - - - - 1250 - - - - setMonkeyButtonShowsStateBy: - - - - 1251 - - - - setMonkeyButtonShowsStateBy: - - - - 1252 - - - - setMonkeyButtonShowsStateBy: - - - - 1253 - - - - setMonkeyButtonShowsStateBy: - - - - 1254 - - - - monkeyButton - - - - 1255 - - - - monkeyLabel - - - - 1258 - - - - monkeyClick: - - - - 1259 - - - - monkeyClick: - - - - 1267 - - - - monkeyCheckboxLabel - - - - 1268 - - - - monkeyCheckbox - - - - 1269 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 371 - - - - - - - - 372 - - - - - - - - - - 450 - - - - - 1148 - - - - - - - - 1149 - - - - - 1150 - - - - - - - - 1151 - - - - - - - - 1152 - - - - - - - - - - - - - - 1153 - - - - - 1154 - - - - - 1155 - - - - - 1163 - - - - - 1164 - - - - - 1165 - - - - - 1166 - - - - - 1182 - - - - - - - - - - - - - - 1130 - - - - - - - - 1131 - - - - - 1132 - - - - - - - - 1133 - - - - - 1134 - - - - - - - - 1135 - - - - - 1140 - - - - - - - - 1141 - - - - - 1142 - - - - - - - - - - 1146 - - - - - 1145 - - - - - 1143 - - - - - 1183 - - - - - - - - 1184 - - - - - - - - - - - 1185 - - - - - - - - 1186 - - - - - 1187 - - - - - - - - 1188 - - - - - 1189 - - - - - - - - 1190 - - - - - 1191 - - - - - - - - 1192 - - - - - 1196 - - - - - - - - 1197 - - - - - 1207 - - - - - - - - 1208 - - - - - 1210 - - - - - - - - 1211 - - - - - - - - - - - 1212 - - - - - - - - 1213 - - - - - 1214 - - - - - - - - 1215 - - - - - 1216 - - - - - - - - 1217 - - - - - 1218 - - - - - - - - 1219 - - - - - 1224 - - - - - - Window - Monkey Button Test - - - 1225 - - - - - - - - - - - - - 1226 - - - - - - - - 1227 - - - - - 1228 - - - - - - - - - - - 1230 - - - - - - - - 1231 - - - - - 1232 - - - - - - - - 1233 - - - - - 1234 - - - - - - - - 1235 - - - - - 1236 - - - - - - - - 1237 - - - - - 1238 - - - - - - - - - - - 1239 - - - - - - - - 1240 - - - - - - - - 1241 - - - - - - - - 1242 - - - - - - - - 1243 - - - - - 1244 - - - - - 1245 - - - - - 1246 - - - - - 1256 - - - - - - - - 1257 - - - - - 1260 - - - - - - - - 1261 - - - - - 1262 - - - - - - - - 1263 - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - {{100, 979}, {318, 85}} - - - com.apple.InterfaceBuilder.CocoaPlugin - {{100, 979}, {318, 85}} - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - {{502, 1195}, {271, 156}} - com.apple.InterfaceBuilder.CocoaPlugin - {{502, 1195}, {271, 156}} - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - {{502, 943}, {480, 210}} - com.apple.InterfaceBuilder.CocoaPlugin - {{502, 943}, {480, 210}} - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - {{100, 1098}, {380, 253}} - - - com.apple.InterfaceBuilder.CocoaPlugin - {{100, 1098}, {380, 253}} - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - 1269 - - - - - AppController - NSObject - - id - id - id - id - id - id - - - - countClick: - id - - - monkeyClick: - id - - - radioGroupClicked: - id - - - setMonkeyButtonHighlightedBy: - id - - - setMonkeyButtonShowsStateBy: - id - - - switchSelectedRadio: - id - - - - NSButton - CPCheckBox - NSTextField - NSButton - NSButton - NSButton - NSButton - CPCheckBox - NSTextField - NSTextField - CPCheckBox - NSPopUpButton - NSButton - NSButton - CPRadio - CPRadio - NSButton - - - - button - NSButton - - - checkbox - CPCheckBox - - - clickCount - NSTextField - - - imageButton - NSButton - - - imageDisabledButton - NSButton - - - momentaryChangeButton - NSButton - - - monkeyButton - NSButton - - - monkeyCheckbox - CPCheckBox - - - monkeyCheckboxLabel - NSTextField - - - monkeyLabel - NSTextField - - - multiCheckbox - CPCheckBox - - - positionMenu - NSPopUpButton - - - pushInButton - NSButton - - - pushOnOffButton - NSButton - - - radio1 - CPRadio - - - radio2 - CPRadio - - - toggleButton - NSButton - - - - IBProjectSource - ./Classes/AppController.h - - - - BezelView - NSView - - IBProjectSource - ./Classes/BezelView.h - - - - - 0 - IBCocoaFramework - YES - - 3 - - {8, 8} - {11, 11} - {10, 3} - {8, 8} - {15, 15} - - + + + + + + 3 + MCAwAA + + + + 400 + 75 + + + + + 3 + MQA + + + + + + 268 + {{163, 69}, {152, 40}} + + + + YES + + -2080374784 + 16777216 + Multistate Checkbox + + + 1211912448 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + NO + + + + 268 + {{29, 69}, {85, 40}} + + + + YES + + -2080374784 + 134217728 + Checkbox + + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{143, 133}, {176, 25}} + + + + YES + + 67108864 + 134217728 + Button With Image + + + -2034483200 + 163 + + + 200 + 25 + + NO + + + + 268 + {{24, 133}, {96, 25}} + + + + YES + + 67108864 + 134217728 + Button + + + -2038284288 + 163 + + + 200 + 25 + + NO + + + {{20, 59}, {340, 174}} + + + + BezelView + + + {380, 253} + + + + + {{0, 0}, {1440, 878}} + {10000000000000, 10000000000000} + YES + + + AppController + + + 15 + 2 + {{100, 400}, {318, 85}} + 611844096 + Continuous Button Test + NSWindow + + + + + 256 + + + + 268 + {{14, 37}, {132, 32}} + + + + YES + + 67108864 + 134217728 + Normal Button + + + -2038284288 + 129 + + + 200 + 25 + + NO + + + + 268 + {{146, 37}, {158, 32}} + + + + YES + + 67633152 + 134217728 + Continuous Button + + + -2038284288 + 129 + + + 200 + 25 + + NO + + + + 268 + {{17, 20}, {107, 17}} + + + + YES + + 68157504 + 272630784 + Recorded clicks: + + + + + + NO + + + + 268 + {{126, 20}, {175, 17}} + + + + YES + + 68157504 + 71304192 + 0 + + + + + + NO + + + {318, 85} + + + + + {{0, 0}, {1440, 878}} + {10000000000000, 10000000000000} + YES + + + 15 + 2 + {{500, 639}, {271, 156}} + 611845120 + CPButton Button Type Test + NSWindow + + + + + 256 + + + + 268 + {{25, 108}, {220, 32}} + + + + _NS:9 + YES + + 67108864 + 134217728 + Momentary Push In (Normal) + + _NS:9 + + -2038284288 + 129 + + + 200 + 25 + + NO + + + + 268 + {{25, 76}, {220, 32}} + + + + _NS:9 + YES + + 67108864 + 134217728 + Push On / Push Off + + _NS:9 + + -2038284288 + 129 + + + 200 + 25 + + NO + + + + 268 + {{25, 44}, {220, 32}} + + + + _NS:9 + YES + + 67108864 + 134217728 + Toggle + + _NS:9 + + -2038284288 + 129 + + + 200 + 25 + + NO + + + + 268 + {{25, 12}, {220, 32}} + + + + _NS:9 + YES + + 67108864 + 134217728 + Momentary Change + + _NS:9 + + -2038284288 + 129 + + + 200 + 25 + + NO + + + {271, 156} + + + + _NS:20 + + {{0, 0}, {1440, 878}} + {10000000000000, 10000000000000} + YES + + + 7 + 2 + {{500, 380}, {480, 225}} + 611845120 + Monkey Button Test + NSWindow + + + + + 256 + + + + 268 + {{147, 142}, {186, 32}} + + + + _NS:9 + YES + + 67108864 + 134217728 + Monkey Button + + _NS:9 + + -2034483200 + 129 + + NSImage + NSAddTemplate + + + NSImage + NSRemoveTemplate + + Alternate Title + + 200 + 25 + + NO + + + + 12 + + + + 274 + + + + 268 + {{16, 72}, {137, 18}} + + + + _NS:9 + 2 + YES + + 67108864 + 131072 + CPPushInCellMask + + LucidaGrande + 11 + 3100 + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{16, 52}, {152, 18}} + + + + _NS:9 + 1 + YES + + 67108864 + 131072 + CPContentsCellMask + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{16, 32}, {172, 18}} + + + + _NS:9 + 4 + YES + + 67108864 + 131072 + CPChangeGrayCellMask + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{16, 12}, {218, 18}} + + + + _NS:9 + 8 + YES + + 67108864 + 131072 + CPChangeBackgroundCellMask + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + {{1, 1}, {220, 98}} + + + + _NS:11 + + + {{17, 16}, {222, 114}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Highlights By + + + 6 + System + textBackgroundColor + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + + 1 + 0 + 2 + NO + + + + 12 + + + + 274 + + + + 268 + {{16, 72}, {137, 18}} + + + + _NS:9 + 2 + YES + + 67108864 + 131072 + CPPushInCellMask + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{16, 52}, {152, 18}} + + + + _NS:9 + 1 + YES + + 67108864 + 131072 + CPContentsCellMask + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{16, 32}, {172, 18}} + + + + _NS:9 + 4 + YES + + 67108864 + 131072 + CPChangeGrayCellMask + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{16, 12}, {218, 18}} + + + + _NS:9 + 8 + YES + + 67108864 + 131072 + CPChangeBackgroundCellMask + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + {{1, 1}, {220, 98}} + + + + _NS:11 + + + {{241, 16}, {222, 114}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Shows State By + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + + 1 + 0 + 2 + NO + + + + 268 + {{332, 152}, {131, 17}} + + + + _NS:1505 + YES + + 68157504 + 272630784 + Label + + _NS:1505 + + + + + NO + + + + 268 + {{151, 181}, {138, 32}} + + + + _NS:9 + YES + + -2080374784 + 0 + Monkey Checkbox + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{307, 189}, {131, 17}} + + + + _NS:1505 + YES + + 68157504 + 272630784 + Label + + _NS:1505 + + + + + NO + + + {480, 225} + + + + _NS:20 + + {{0, 0}, {1440, 878}} + {10000000000000, 10000000000000} + YES + + + + + + + delegate + + + + 451 + + + + theWindow + + + + 1090 + + + + button + + + + 1174 + + + + imageButton + + + + 1175 + + + + checkbox + + + + 1176 + + + + multiCheckbox + + + + 1177 + + + + radio1 + + + + 1178 + + + + radio2 + + + + 1179 + + + + setImagePosition: + + + + 1180 + + + + positionMenu + + + + 1181 + + + + clickCount + + + + 1193 + + + + countClick: + + + + 1194 + + + + countClick: + + + + 1195 + + + + switchSelectedRadio: + + + + 1206 + + + + imageDisabledButton + + + + 1209 + + + + pushOnOffButton + + + + 1220 + + + + pushInButton + + + + 1221 + + + + toggleButton + + + + 1222 + + + + momentaryChangeButton + + + + 1223 + + + + setMonkeyButtonHighlightedBy: + + + + 1247 + + + + setMonkeyButtonHighlightedBy: + + + + 1248 + + + + setMonkeyButtonHighlightedBy: + + + + 1249 + + + + setMonkeyButtonHighlightedBy: + + + + 1250 + + + + setMonkeyButtonShowsStateBy: + + + + 1251 + + + + setMonkeyButtonShowsStateBy: + + + + 1252 + + + + setMonkeyButtonShowsStateBy: + + + + 1253 + + + + setMonkeyButtonShowsStateBy: + + + + 1254 + + + + monkeyButton + + + + 1255 + + + + monkeyLabel + + + + 1258 + + + + monkeyClick: + + + + 1259 + + + + monkeyClick: + + + + 1267 + + + + monkeyCheckboxLabel + + + + 1268 + + + + monkeyCheckbox + + + + 1269 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 371 + + + + + + + + 372 + + + + + + + + + + 450 + + + + + 1148 + + + + + + + + 1149 + + + + + 1150 + + + + + + + + 1151 + + + + + + + + 1152 + + + + + + + + + + + + + + 1153 + + + + + 1154 + + + + + 1155 + + + + + 1163 + + + + + 1164 + + + + + 1165 + + + + + 1166 + + + + + 1182 + + + + + + + + + + + + + + 1130 + + + + + + + + 1131 + + + + + 1132 + + + + + + + + 1133 + + + + + 1134 + + + + + + + + 1135 + + + + + 1140 + + + + + + + + 1141 + + + + + 1142 + + + + + + + + + + 1146 + + + + + 1145 + + + + + 1143 + + + + + 1183 + + + + + + + + 1184 + + + + + + + + + + + 1185 + + + + + + + + 1186 + + + + + 1187 + + + + + + + + 1188 + + + + + 1189 + + + + + + + + 1190 + + + + + 1191 + + + + + + + + 1192 + + + + + 1196 + + + + + + + + 1197 + + + + + 1207 + + + + + + + + 1208 + + + + + 1210 + + + + + + + + 1211 + + + + + + + + + + + 1212 + + + + + + + + 1213 + + + + + 1214 + + + + + + + + 1215 + + + + + 1216 + + + + + + + + 1217 + + + + + 1218 + + + + + + + + 1219 + + + + + 1224 + + + + + + Window - Monkey Button Test + + + 1225 + + + + + + + + + + + + + 1226 + + + + + + + + 1227 + + + + + 1228 + + + + + + + + + + + 1230 + + + + + + + + 1231 + + + + + 1232 + + + + + + + + 1233 + + + + + 1234 + + + + + + + + 1235 + + + + + 1236 + + + + + + + + 1237 + + + + + 1238 + + + + + + + + + + + 1239 + + + + + + + + 1240 + + + + + + + + 1241 + + + + + + + + 1242 + + + + + + + + 1243 + + + + + 1244 + + + + + 1245 + + + + + 1246 + + + + + 1256 + + + + + + + + 1257 + + + + + 1260 + + + + + + + + 1261 + + + + + 1262 + + + + + + + + 1263 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + {{100, 979}, {318, 85}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{502, 1195}, {271, 156}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{502, 943}, {480, 210}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + {{100, 1098}, {380, 253}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 1269 + + + + + AppController + NSObject + + id + id + id + id + id + id + + + + countClick: + id + + + monkeyClick: + id + + + radioGroupClicked: + id + + + setMonkeyButtonHighlightedBy: + id + + + setMonkeyButtonShowsStateBy: + id + + + switchSelectedRadio: + id + + + + NSButton + CPCheckBox + NSTextField + NSButton + NSButton + NSButton + NSButton + CPCheckBox + NSTextField + NSTextField + CPCheckBox + NSPopUpButton + NSButton + NSButton + CPRadio + CPRadio + NSButton + + + + button + NSButton + + + checkbox + CPCheckBox + + + clickCount + NSTextField + + + imageButton + NSButton + + + imageDisabledButton + NSButton + + + momentaryChangeButton + NSButton + + + monkeyButton + NSButton + + + monkeyCheckbox + CPCheckBox + + + monkeyCheckboxLabel + NSTextField + + + monkeyLabel + NSTextField + + + multiCheckbox + CPCheckBox + + + positionMenu + NSPopUpButton + + + pushInButton + NSButton + + + pushOnOffButton + NSButton + + + radio1 + CPRadio + + + radio2 + CPRadio + + + toggleButton + NSButton + + + + IBProjectSource + ./Classes/AppController.h + + + + BezelView + NSView + + IBProjectSource + ./Classes/BezelView.h + + + + + 0 + IBCocoaFramework + YES + 3 + + {8, 8} + {11, 11} + {10, 3} + {8, 8} + {15, 15} + + From 3ccaa4de50fd56056e59fb8901a80dbee2035dbc Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Fri, 28 Sep 2012 18:04:31 -0400 Subject: [PATCH 35/63] Button types can be set in IB, no need for code --- Tests/Manual/CPButtonTest/AppController.j | 5 ---- .../CPButtonTest/Resources/MainMenu.cib | 2 +- .../CPButtonTest/Resources/MainMenu.xib | 29 +++---------------- 3 files changed, 5 insertions(+), 31 deletions(-) diff --git a/Tests/Manual/CPButtonTest/AppController.j b/Tests/Manual/CPButtonTest/AppController.j index bbbdb388e..0574dd8cb 100644 --- a/Tests/Manual/CPButtonTest/AppController.j +++ b/Tests/Manual/CPButtonTest/AppController.j @@ -69,11 +69,6 @@ CPLogRegister(CPLogConsole); [[radio1 radioGroup] setAction:@selector(radioGroupClicked:)]; [multiCheckbox setState:CPMixedState]; - [pushInButton setButtonType:CPMomentaryLightButton]; - [pushOnOffButton setButtonType:CPPushOnPushOffButton]; - [toggleButton setButtonType:CPToggleButton]; - [momentaryChangeButton setButtonType:CPMomentaryChangeButton]; - [pushInButton setAlternateTitle:@"Should Not See Me"]; [toggleButton setAlternateTitle:@"Alternate Title For Toggle"]; [momentaryChangeButton setAlternateTitle:@"Changed!"]; diff --git a/Tests/Manual/CPButtonTest/Resources/MainMenu.cib b/Tests/Manual/CPButtonTest/Resources/MainMenu.cib index 30a056d36..55614f064 100644 --- a/Tests/Manual/CPButtonTest/Resources/MainMenu.cib +++ b/Tests/Manual/CPButtonTest/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;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;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;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;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;1;0E;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;67E;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;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;1;0E;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;2;78E;D;K;6;CP$UIDd;2;79E;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;2;85E;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;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;94E;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;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;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;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;79E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;11E;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;85E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;11E;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;91E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;57E;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;109E;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;110E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;111E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;69E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;72E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;70E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;76E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;116E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;89E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;92E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;105E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;106E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;121E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;73E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;122E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;86E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;87E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;127E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;129E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;130E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;132E;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;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;97E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;109E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;141E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;142E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;143E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;53E;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;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;145E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;145E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;146E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;149E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;150E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;158E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;108E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;163E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;156E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;169E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;170E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;172E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;174E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;172E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;175E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;176E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;177E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;178E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;179E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;10;$classnameS;16;_CPCibCustomViewK;8;$classesA;S;16;_CPCibCustomViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;180E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;181E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;182E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;183E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;185E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;186E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;188E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;190E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;191E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;192E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;195E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;196E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;197E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;198E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;157E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;199E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;200E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;201E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;202E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;203E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;204E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;205E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;206E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;207E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;209E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;210E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;211E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;79E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;212E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;212E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;213E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;215E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;216E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;217E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;218E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;219E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;220E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;221E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;222E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;223E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;224E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;225E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;172E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;226E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;172E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;227E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;210E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;228E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;229E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;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;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;233E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;234E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;235E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;236E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;237E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;238E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;239E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;240E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;142E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;241E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;242E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;242E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;243E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;244E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;245E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;7;$aimageD;K;6;CP$UIDd;3;247E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;248E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;249E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;250E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;251E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;252E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;144E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;172E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;253E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;254E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;144E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;172E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;255E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;155E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;257E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;155E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;258E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;259E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;257E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;260E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;261E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;257E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;262E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;263E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;257E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;264E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;265E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;257E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;156E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;267E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;257E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;268E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;269E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;257E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;270E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;271E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;272E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;257E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;273E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;274E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;275E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;251E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;276E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;144E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;172E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;277E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;254E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;144E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;172E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;278E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;155E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;256E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;279E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;270E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;271E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;272E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;279E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;280E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;274E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;279E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;156E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;267E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;279E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;281E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;269E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;279E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;262E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;263E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;279E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;282E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;265E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;279E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;155E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;258E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;259E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;279E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;283E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;261E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;284E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;285E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;286E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;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;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;289E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;290E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;285E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;286E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;291E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;292E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;90E;E;E;S;8;delegateS;6;buttonS;8;checkboxS;10;clickCountS;11;imageButtonS;19;imageDisabledButtonS;21;momentaryChangeButtonS;12;monkeyButtonS;14;monkeyCheckboxS;19;monkeyCheckboxLabelS;11;monkeyLabelS;13;multiCheckboxS;12;positionMenuS;12;pushInButtonS;15;pushOnOffButtonD;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;126E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;293E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;254E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;294E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;295E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;155E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;296E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;297E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;298E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;300E;E;S;6;radio1D;K;6;$classD;K;6;CP$UIDd;3;126E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;301E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;254E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;294E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;155E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;302E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;297E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;298E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;300E;E;S;6;radio2S;9;theWindowS;12;toggleButtonS;17;setImagePosition:S;11;countClick:S;20;switchSelectedRadio:S;12;monkeyClick:S;29;setMonkeyButtonHighlightedBy:S;28;setMonkeyButtonShowsStateBy:S;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{100, 84}, {380, 253}}d;1;7S;19;CPButton Image Testd;1;0S;20;{{0, 0}, {380, 253}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;67E;E;E;d;2;18S;6;normalS;21;{{40, 213}, {95, 17}}S;18;{{0, 0}, {95, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;304E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;d;1;2d;1;4T;S;15;Image Position:d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;305E;E;S;23;{{140, 211}, {202, 24}}S;19;{{0, 0}, {202, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;304E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;157E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;0;d;2;12S;8;No ImageS;17;_popUpItemAction:d;1;1d;7;1048576S;10;Image OnlyS;4;LeftS;5;RightS;5;BelowS;5;AboveS;8;OverlapsS;22;{{20, 20}, {340, 174}}S;20;{{0, 0}, {340, 174}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;69E;E;E;S;9;BezelViewS;20;{{22, 15}, {96, 24}}S;18;{{0, 0}, {96, 24}}S;6;Buttond;2;14S;22;{{141, 15}, {176, 24}}S;19;{{0, 0}, {176, 24}}S;17;Button With ImageS;20;{{29, 65}, {85, 40}}S;18;{{0, 0}, {85, 40}}S;9;check-boxS;8;selectedS;8;CheckboxS;22;{{163, 65}, {152, 40}}S;19;{{0, 0}, {152, 40}}S;19;Multistate CheckboxS;22;{{31, 120}, {168, 40}}S;19;{{0, 0}, {168, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;E;E;S;23;{{198, 128}, {119, 24}}S;19;{{0, 0}, {119, 24}}S;14;Set radio 2 OnS;22;{{141, 45}, {176, 24}}S;17;disabled+borderedS;19;Disabled With ImageS;13;AppControllerS;23;{{100, 393}, {318, 85}}d;2;15S;22;Continuous Button TestS;19;{{0, 0}, {318, 85}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;21;{{18, 18}, {120, 24}}S;19;{{0, 0}, {120, 24}}S;13;Normal ButtonS;22;{{150, 18}, {146, 24}}S;19;{{0, 0}, {146, 24}}d;5;65540S;17;Continuous ButtonS;21;{{17, 49}, {101, 17}}S;19;{{0, 0}, {101, 17}}S;16;Recorded clicks:S;22;{{126, 49}, {169, 17}}S;19;{{0, 0}, {169, 17}}S;1;0S;23;{{500, 83}, {271, 156}}S;25;CPButton Button Type TestS;20;{{0, 0}, {271, 156}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;21;{{29, 18}, {208, 24}}S;19;{{0, 0}, {208, 24}}S;26;Momentary Push In (Normal)S;21;{{29, 50}, {208, 24}}S;18;Push On / Push OffS;21;{{29, 82}, {208, 24}}S;6;ToggleS;22;{{29, 114}, {208, 24}}S;16;Momentary ChangeS;24;{{500, 273}, {480, 225}}S;18;Monkey Button TestS;20;{{0, 0}, {480, 225}}D;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;2;94E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;E;E;S;22;{{151, 53}, {174, 24}}S;19;{{0, 0}, {174, 24}}D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;246E;K;4;nameD;K;6;CP$UIDd;3;306E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;6;valuesD;K;6;CP$UIDd;3;308E;E;S;13;Monkey ButtonS;15;Alternate TitleS;22;{{17, 95}, {222, 114}}S;20;{{0, 0}, {222, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;257E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;309E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;310E;E;S;13;Highlights ByS;6;{0, 0}D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;318E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;320E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;S;20;{{16, 8}, {137, 18}}S;19;{{0, 0}, {137, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;16;CPPushInCellMaskS;21;{{16, 28}, {152, 18}}S;19;{{0, 0}, {152, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;18;CPContentsCellMaskS;21;{{16, 48}, {172, 18}}S;19;{{0, 0}, {172, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;20;CPChangeGrayCellMaskd;1;8S;21;{{16, 68}, {218, 18}}S;19;{{0, 0}, {218, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;26;CPChangeBackgroundCellMaskS;23;{{241, 95}, {222, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;279E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;312E;E;S;14;Shows State ByD;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;318E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;319E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;322E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;99E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;303E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;311E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;22;{{332, 57}, {125, 17}}S;19;{{0, 0}, {125, 17}}S;5;LabelS;22;{{151, 12}, {138, 32}}S;19;{{0, 0}, {138, 32}}S;15;Monkey CheckboxS;22;{{307, 20}, {125, 17}}S;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;18;{{0, 0}, {82, 40}}S;5;radioS;17;selected+borderedS;7;Radio 1f;3;0.5f;4;0.05D;K;10;$classnameS;12;CPRadioGroupK;8;$classesA;S;12;CPRadioGroupS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;299E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;313E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;127E;E;S;19;{{86, 0}, {82, 40}}S;7;Radio 2S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;314E;D;K;6;CP$UIDd;3;172E;E;E;S;5;imageD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;307E;K;10;CP.objectsD;K;11;highlightedD;K;6;CP$UIDd;3;316E;K;6;normalD;K;6;CP$UIDd;3;317E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;321E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;E;E;d;2;11D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;321E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;323E;E;f;18;0.6862745098039216D;K;10;$classnameS;20;_CPCibCustomResourceK;8;$classesA;S;20;_CPCibCustomResourceS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;315E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;324E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;325E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;326E;E;D;K;6;$classD;K;6;CP$UIDd;3;315E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;324E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;327E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;328E;E;S;20;{{1, 15}, {220, 98}}S;19;{{0, 0}, {220, 98}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;f;4;0.42D;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;102E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;100E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;E;E;S;7;CPImageS;16;CPRemoveTemplateD;K;6;$classD;K;6;CP$UIDd;3;307E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;330E;E;E;S;13;CPAddTemplateD;K;6;$classD;K;6;CP$UIDd;3;307E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;331E;E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;329E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;332E;E;D;K;6;$classD;K;6;CP$UIDd;3;329E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;332E;E;S;22;{"width":0,"height":0}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;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;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;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;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;1;0E;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;67E;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;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;1;0E;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;2;78E;D;K;6;CP$UIDd;2;79E;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;2;85E;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;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;94E;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;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;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;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;79E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;11E;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;85E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;11E;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;91E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;57E;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;109E;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;110E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;111E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;69E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;72E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;70E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;76E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;116E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;89E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;92E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;105E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;106E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;121E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;73E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;122E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;86E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;87E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;127E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;129E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;130E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;132E;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;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;97E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;109E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;141E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;142E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;143E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;53E;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;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;145E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;145E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;146E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;149E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;150E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;158E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;108E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;163E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;156E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;169E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;170E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;172E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;174E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;172E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;175E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;176E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;177E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;178E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;179E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;10;$classnameS;16;_CPCibCustomViewK;8;$classesA;S;16;_CPCibCustomViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;180E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;181E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;182E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;183E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;185E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;186E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;188E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;190E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;191E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;192E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;195E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;196E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;197E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;198E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;157E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;199E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;200E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;201E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;202E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;203E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;204E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;205E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;206E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;207E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;209E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;210E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;211E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;79E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;212E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;212E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;213E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;215E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;216E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;217E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;218E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;219E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;220E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;221E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;222E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;223E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;224E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;225E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;172E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;226E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;172E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;227E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;210E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;228E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;229E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;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;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;233E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;234E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;235E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;169E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;236E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;237E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;238E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;239E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;240E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;241E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;142E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;242E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;243E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;243E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;244E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;245E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;246E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;7;$aimageD;K;6;CP$UIDd;3;248E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;249E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;250E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;251E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;252E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;253E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;144E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;172E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;254E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;255E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;144E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;172E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;256E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;155E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;258E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;155E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;259E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;260E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;258E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;261E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;262E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;258E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;263E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;264E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;258E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;265E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;266E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;258E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;156E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;267E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;268E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;258E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;269E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;270E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;258E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;271E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;272E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;273E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;258E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;274E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;275E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;276E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;252E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;277E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;144E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;172E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;278E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;255E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;144E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;172E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;279E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;155E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;280E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;271E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;272E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;273E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;280E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;281E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;275E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;280E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;156E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;267E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;268E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;280E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;282E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;270E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;280E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;263E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;264E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;280E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;283E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;266E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;280E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;155E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;259E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;260E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;280E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;284E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;262E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;285E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;286E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;287E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;288E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;289E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;290E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;291E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;286E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;287E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;292E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;293E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;90E;E;E;S;8;delegateS;6;buttonS;8;checkboxS;10;clickCountS;11;imageButtonS;19;imageDisabledButtonS;21;momentaryChangeButtonS;12;monkeyButtonS;14;monkeyCheckboxS;19;monkeyCheckboxLabelS;11;monkeyLabelS;13;multiCheckboxS;12;positionMenuS;12;pushInButtonS;15;pushOnOffButtonD;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;126E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;294E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;294E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;255E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;295E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;296E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;155E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;297E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;298E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;299E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;301E;E;S;6;radio1D;K;6;$classD;K;6;CP$UIDd;3;126E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;302E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;294E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;255E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;295E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;155E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;303E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;298E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;299E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;301E;E;S;6;radio2S;9;theWindowS;12;toggleButtonS;17;setImagePosition:S;11;countClick:S;20;switchSelectedRadio:S;12;monkeyClick:S;29;setMonkeyButtonHighlightedBy:S;28;setMonkeyButtonShowsStateBy:S;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{100, 84}, {380, 253}}d;1;7S;19;CPButton Image Testd;1;0S;20;{{0, 0}, {380, 253}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;67E;E;E;d;2;18S;6;normalS;21;{{40, 213}, {95, 17}}S;18;{{0, 0}, {95, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;305E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;d;1;2d;1;4T;S;15;Image Position:d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;306E;E;S;23;{{140, 211}, {202, 24}}S;19;{{0, 0}, {202, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;305E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;157E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;0;d;2;12S;8;No ImageS;17;_popUpItemAction:d;1;1d;7;1048576S;10;Image OnlyS;4;LeftS;5;RightS;5;BelowS;5;AboveS;8;OverlapsS;22;{{20, 20}, {340, 174}}S;20;{{0, 0}, {340, 174}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;69E;E;E;S;9;BezelViewS;20;{{22, 15}, {96, 24}}S;18;{{0, 0}, {96, 24}}S;6;Buttond;2;14S;22;{{141, 15}, {176, 24}}S;19;{{0, 0}, {176, 24}}S;17;Button With ImageS;20;{{29, 65}, {85, 40}}S;18;{{0, 0}, {85, 40}}S;9;check-boxS;8;selectedS;8;CheckboxS;22;{{163, 65}, {152, 40}}S;19;{{0, 0}, {152, 40}}S;19;Multistate CheckboxS;22;{{31, 120}, {168, 40}}S;19;{{0, 0}, {168, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;E;E;S;23;{{198, 128}, {119, 24}}S;19;{{0, 0}, {119, 24}}S;14;Set radio 2 OnS;22;{{141, 45}, {176, 24}}S;17;disabled+borderedS;19;Disabled With ImageS;13;AppControllerS;23;{{100, 393}, {318, 85}}d;2;15S;22;Continuous Button TestS;19;{{0, 0}, {318, 85}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;21;{{18, 18}, {120, 24}}S;19;{{0, 0}, {120, 24}}S;13;Normal ButtonS;22;{{150, 18}, {146, 24}}S;19;{{0, 0}, {146, 24}}d;5;65540S;17;Continuous ButtonS;21;{{17, 49}, {101, 17}}S;19;{{0, 0}, {101, 17}}S;16;Recorded clicks:S;22;{{126, 49}, {169, 17}}S;19;{{0, 0}, {169, 17}}S;1;0S;23;{{500, 83}, {271, 156}}S;25;CPButton Button Type TestS;20;{{0, 0}, {271, 156}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;21;{{29, 18}, {208, 24}}S;19;{{0, 0}, {208, 24}}S;26;Momentary Push In (Normal)S;21;{{29, 50}, {208, 24}}S;18;Push On / Push OffS;21;{{29, 82}, {208, 24}}S;6;Toggled;1;3S;22;{{29, 114}, {208, 24}}S;16;Momentary ChangeS;24;{{500, 273}, {480, 225}}S;18;Monkey Button TestS;20;{{0, 0}, {480, 225}}D;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;2;94E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;E;E;S;22;{{151, 53}, {174, 24}}S;19;{{0, 0}, {174, 24}}D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;247E;K;4;nameD;K;6;CP$UIDd;3;307E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;6;valuesD;K;6;CP$UIDd;3;309E;E;S;13;Monkey ButtonS;15;Alternate TitleS;22;{{17, 95}, {222, 114}}S;20;{{0, 0}, {222, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;258E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;310E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;311E;E;S;13;Highlights ByS;6;{0, 0}D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;319E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;320E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;321E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;S;20;{{16, 8}, {137, 18}}S;19;{{0, 0}, {137, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;16;CPPushInCellMaskS;21;{{16, 28}, {152, 18}}S;19;{{0, 0}, {152, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;18;CPContentsCellMaskS;21;{{16, 48}, {172, 18}}S;19;{{0, 0}, {172, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;20;CPChangeGrayCellMaskd;1;8S;21;{{16, 68}, {218, 18}}S;19;{{0, 0}, {218, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;26;CPChangeBackgroundCellMaskS;23;{{241, 95}, {222, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;280E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;313E;E;S;14;Shows State ByD;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;319E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;320E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;323E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;99E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;22;{{332, 57}, {125, 17}}S;19;{{0, 0}, {125, 17}}S;5;LabelS;22;{{151, 12}, {138, 32}}S;19;{{0, 0}, {138, 32}}S;15;Monkey CheckboxS;22;{{307, 20}, {125, 17}}S;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;18;{{0, 0}, {82, 40}}S;5;radioS;17;selected+borderedS;7;Radio 1f;3;0.5f;4;0.05D;K;10;$classnameS;12;CPRadioGroupK;8;$classesA;S;12;CPRadioGroupS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;300E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;314E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;127E;E;S;19;{{86, 0}, {82, 40}}S;7;Radio 2S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;172E;E;E;S;5;imageD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;308E;K;10;CP.objectsD;K;11;highlightedD;K;6;CP$UIDd;3;317E;K;6;normalD;K;6;CP$UIDd;3;318E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;322E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;E;E;d;2;11D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;322E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;324E;E;f;18;0.6862745098039216D;K;10;$classnameS;20;_CPCibCustomResourceK;8;$classesA;S;20;_CPCibCustomResourceS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;316E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;325E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;326E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;327E;E;D;K;6;$classD;K;6;CP$UIDd;3;316E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;325E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;328E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;329E;E;S;20;{{1, 15}, {220, 98}}S;19;{{0, 0}, {220, 98}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;f;4;0.42D;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;102E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;100E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;E;E;S;7;CPImageS;16;CPRemoveTemplateD;K;6;$classD;K;6;CP$UIDd;3;308E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;331E;E;E;S;13;CPAddTemplateD;K;6;$classD;K;6;CP$UIDd;3;308E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;332E;E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;333E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;333E;E;S;22;{"width":0,"height":0}E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPButtonTest/Resources/MainMenu.xib b/Tests/Manual/CPButtonTest/Resources/MainMenu.xib index 1d1f55536..b4a535972 100644 --- a/Tests/Manual/CPButtonTest/Resources/MainMenu.xib +++ b/Tests/Manual/CPButtonTest/Resources/MainMenu.xib @@ -578,7 +578,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{126, 20}, {175, 17}} - YES 68157504 @@ -655,7 +654,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA _NS:9 - -2038284288 + -1232977920 129 @@ -680,7 +679,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA _NS:9 - -2038284288 + -930988032 129 @@ -695,7 +694,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{25, 12}, {220, 32}} - _NS:9 YES @@ -705,7 +703,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA _NS:9 - -2038284288 + 142753792 129 @@ -735,7 +733,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - + 256 @@ -743,7 +741,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{147, 142}, {186, 32}} - _NS:9 YES @@ -784,7 +781,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 72}, {137, 18}} - _NS:9 2 @@ -816,7 +812,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 52}, {152, 18}} - _NS:9 1 @@ -844,7 +839,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 32}, {172, 18}} - _NS:9 4 @@ -872,7 +866,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 12}, {218, 18}} - _NS:9 8 @@ -898,14 +891,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {220, 98}} - _NS:11 {{17, 16}, {222, 114}} - _NS:9 {0, 0} @@ -944,7 +935,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 72}, {137, 18}} - _NS:9 2 @@ -972,7 +962,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 52}, {152, 18}} - _NS:9 1 @@ -1000,7 +989,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 32}, {172, 18}} - _NS:9 4 @@ -1028,8 +1016,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 12}, {218, 18}} - - _NS:9 8 YES @@ -1054,14 +1040,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {220, 98}} - _NS:11 {{241, 16}, {222, 114}} - _NS:9 {0, 0} @@ -1087,7 +1071,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{332, 152}, {131, 17}} - _NS:1505 YES @@ -1108,7 +1091,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{151, 181}, {138, 32}} - _NS:9 YES @@ -1135,7 +1117,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{307, 189}, {131, 17}} - _NS:1505 YES @@ -1153,8 +1134,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {480, 225} - - _NS:20 From ce167cf92ddc7b2510619298fc456617ab02be7d Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Tue, 2 Oct 2012 08:41:57 -0400 Subject: [PATCH 36/63] Removed unused variable --- AppKit/CPMenu/CPMenu.j | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/AppKit/CPMenu/CPMenu.j b/AppKit/CPMenu/CPMenu.j index bdf617a8f..2d4bf62fe 100644 --- a/AppKit/CPMenu/CPMenu.j +++ b/AppKit/CPMenu/CPMenu.j @@ -976,8 +976,7 @@ var _CPMenuBarVisible = NO, for (; index < count; ++index) { - var item = _items[index], - modifierMask = [item keyEquivalentModifierMask]; + var item = _items[index]; if ([anEvent _triggersKeyEquivalent:[item keyEquivalent] withModifierMask:[item keyEquivalentModifierMask]]) { From 3fd8d3e5be2ccd2a8faf5b2a48ae7e3fdc82976c Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Tue, 2 Oct 2012 17:20:39 -0400 Subject: [PATCH 37/63] Implemented CPTableView -clickedColumn --- AppKit/CPTableView.j | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index d76bf0497..63dd07483 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -222,6 +222,7 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; SEL _doubleAction; CPInteger _clickedRow; + CPInteger _clickedColumn; unsigned _columnAutoResizingStyle; int _lastTrackedRowIndex; @@ -324,7 +325,7 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; */ - (void)_init { - _lastSelectedRow = -1; + _lastSelectedRow = _clickedColumn = _clickedRow = -1; _selectedColumnIndexes = [CPIndexSet indexSet]; _selectedRowIndexes = [CPIndexSet indexSet]; @@ -542,8 +543,12 @@ NOT YET IMPLEMENTED } /* - * - clickedColumn + Returns the index of the the column the user clicked to trigger an action, or -1 if no column was clicked. */ +- (CPInteger)clickedColumn +{ + return _clickedColumn; +} /*! Returns the index of the the row the user clicked to trigger an action, or -1 if no row was clicked. @@ -3376,7 +3381,8 @@ Your delegate can implement this method to avoid subclassing the tableview to ad rowIndex = 0, rowsCount = rowArray.length; - if (dataViewsForTableColumn) { + if (dataViewsForTableColumn) + { for (; rowIndex < rowsCount; ++rowIndex) { var row = rowArray[rowIndex], @@ -4190,7 +4196,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad _isSelectingSession = NO; var CLICK_TIME_DELTA = 1000, - columnIndex, + columnIndex = -1, column, rowIndex, shouldEdit = YES; @@ -4198,6 +4204,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad if (_implementedDataSourceMethods & CPTableViewDataSource_tableView_writeRowsWithIndexes_toPasteboard_) { rowIndex = [self rowAtPoint:aPoint]; + if (rowIndex !== -1) { if ([_draggedRowIndexes count] > 0) @@ -4219,12 +4226,15 @@ Your delegate can implement this method to avoid subclassing the tableview to ad || [self infoForBinding:@"content"])) { columnIndex = [self columnAtPoint:lastPoint]; + if (columnIndex !== -1) { column = _tableColumns[columnIndex]; + if ([column isEditable]) { rowIndex = [self rowAtPoint:aPoint]; + if (rowIndex !== -1) { if (_implementedDelegateMethods & CPTableViewDelegate_tableView_shouldEditTableColumn_row_) @@ -4244,6 +4254,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad if ([[CPApp currentEvent] clickCount] === 2 && _doubleAction) { _clickedRow = [self rowAtPoint:aPoint]; + _clickedColumn = [self columnAtPoint:lastPoint]; [self sendAction:_doubleAction to:_target]; } } From 1edcc511d6abfb0f87d45f550d62d1ca5518513b Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Fri, 5 Oct 2012 17:58:54 -0700 Subject: [PATCH 38/63] Allow custom action for search button If there is no menu, and search button has a target/action, then send the action. --- AppKit/CPSearchField.j | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/AppKit/CPSearchField.j b/AppKit/CPSearchField.j index 173fbfd7b..c9f6ba148 100644 --- a/AppKit/CPSearchField.j +++ b/AppKit/CPSearchField.j @@ -501,7 +501,12 @@ var RECENT_SEARCH_PREFIX = @" "; if (_CGRectContainsPoint([self searchButtonRectForBounds:[self bounds]], point)) { if (_searchMenuTemplate == nil) - [self _sendAction:self]; + { + if ([_searchButton target] && [_searchButton action]) + [_searchButton mouseDown:anEvent]; + else + [self _sendAction:self]; + } else [self _showMenu]; } From c2da96e31168f9de1f06d9875aa7171051b4eea2 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Mon, 8 Oct 2012 17:30:28 -0400 Subject: [PATCH 39/63] CPWebView should be converted to WebView* in the shadow header --- Tools/XcodeCapp/parser.j | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Tools/XcodeCapp/parser.j b/Tools/XcodeCapp/parser.j index 5a808cbe5..2b8a5208b 100644 --- a/Tools/XcodeCapp/parser.j +++ b/Tools/XcodeCapp/parser.j @@ -136,10 +136,10 @@ function NSCompatibleClassName(aClassName, asPointer) if (aClassName === "var" || aClassName === "id") return "id"; - var suffix = aClassName.substr(0, 2), + var prefix = aClassName.substr(0, 2), asterisk = asPointer ? "*" : ""; - if (suffix !== "CP") + if (prefix !== "CP") return aClassName + asterisk; var NSClassName = "NS" + aClassName.substr(2); @@ -147,9 +147,16 @@ function NSCompatibleClassName(aClassName, asPointer) if (NSClasses[NSClassName]) return NSClassName + asterisk; + if (ReplacementClasses[aClassName]) + return ReplacementClasses[aClassName] + asterisk; + return aClassName + asterisk; } +var ReplacementClasses = { + "CPWebView": "WebView" +}; + var NSClasses = { "NSAffineTransform" : YES, "NSAppleEventDescriptor" : YES, From 7bf46cb40b1a9fe5a30b0e725426d799a7d10e80 Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Wed, 10 Oct 2012 12:24:36 -0700 Subject: [PATCH 40/63] Add support for disabling sudo action you can set CAPP_NOSUDO=1 in your environment to disable any sudo action. This means that if a command failed as current user, jake will not try to run it with sudo,and will simply return the error code --- common.jake | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/common.jake b/common.jake index 720f7d923..9eded1280 100644 --- a/common.jake +++ b/common.jake @@ -466,8 +466,18 @@ global.sudo = function(/*Array or String*/ command) // First try without sudo command = normalizeCommand(command); - if (OS.system(command + " >/dev/null 2>&1")) + var returnCode = OS.system(command + " >/dev/null 2>&1") + + if (returnCode) + { + // if this is set, then disable the use of sudo. + // This is very usefull for CI scripts and stuff like that + if (SYSTEM.env["CAPP_NOSUDO"] == 1) + return returnCode; + return OS.system("sudo -p '\nEnter your admin password: ' " + command); + } + return 0; }; From 905d23d1597a3779408df96f29f7616a711f2821 Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Wed, 10 Oct 2012 15:33:53 -0700 Subject: [PATCH 41/63] small graphical fix in CPPredicateEditor --- AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j | 10 +++++----- AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j | 11 ++++++++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j b/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j index f0128dbcd..61f22edcd 100644 --- a/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j +++ b/AppKit/CPRuleEditor/_CPRuleEditorViewSlice.j @@ -45,7 +45,7 @@ { var context = [[CPGraphicsContext currentContext] graphicsPort], bounds = [self bounds], - maxX = CGRectGetWidth(bounds) - 2, + maxX = CGRectGetWidth(bounds), maxY = CGRectGetHeight(bounds); // Draw background @@ -63,7 +63,7 @@ // Draw Top Border CGContextBeginPath(context); - CGContextMoveToPoint(context, 1, 0); + CGContextMoveToPoint(context, 0, 0); CGContextAddLineToPoint(context, maxX, 0); CGContextClosePath(context); CGContextSetStrokeColor(context, [_ruleEditor _sliceTopBorderColor]); @@ -71,8 +71,8 @@ // Draw Bottom Border CGContextBeginPath(context); - CGContextMoveToPoint(context, 1, maxY - 0.5); - CGContextAddLineToPoint(context, maxX, maxY - 0.5); + CGContextMoveToPoint(context, 0, maxY); + CGContextAddLineToPoint(context, maxX, maxY); CGContextClosePath(context); var bottomColor = (_rowIndex == [_ruleEditor _lastRow]) ? [_ruleEditor _sliceLastBottomBorderColor] : [_ruleEditor _sliceBottomBorderColor]; CGContextSetStrokeColor(context, bottomColor); @@ -106,4 +106,4 @@ return [CPString stringWithFormat:@"<%@ %p index:%d indentation:%d>",[self className],self,[self rowIndex],[self indentation]]; } -@end \ No newline at end of file +@end diff --git a/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j b/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j index 58f0fe5ce..127785b67 100644 --- a/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j +++ b/AppKit/CPRuleEditor/_CPRuleEditorViewSliceRow.j @@ -121,7 +121,7 @@ var CONTROL_HEIGHT = 16., return [CPMenuItem separatorItem]; } -- (_CPRuleEditorTextField)_createStaticTextFieldWithStringValue:(CPString )text +- (_CPRuleEditorTextField)_createStaticTextFieldWithStringValue:(CPString)text { var textField = [[_CPRuleEditorTextField alloc] initWithFrame:CPMakeRect(0, 0, 200, CONTROL_HEIGHT)], refont = [_ruleEditor font], @@ -352,6 +352,15 @@ var CONTROL_HEIGHT = 16., optionFrame = _ruleOptionFrames[i]; optionFrame.origin.y = (rowHeight - CGRectGetHeight(optionFrame)) / 2 - 2; + + // small positioning fix + if ([ruleOptionView isKindOfClass:CPTextField]) + { + optionFrame.origin.y += 2; + [_ruleOptionViews[i] setValue:CGInsetMake(7, 7, 7, 8) forThemeAttribute:@"content-inset"]; + } + + if (widthChanged) { optionFrame.origin.x = optionViewOriginX; From c37783c8951edf18b4ee6a521b59d4df5bfe97a1 Mon Sep 17 00:00:00 2001 From: Aparajita Fishman Date: Thu, 11 Oct 2012 12:34:55 -0400 Subject: [PATCH 42/63] Fixed table column header styling - Attributes set in IB are now obeyed. - Added accessor methods to programmatically style _CPTableColumnHeaderView. Since we don't have an NSCell and _CPImageAndTextView is supposed to be private, it's better to have the styling methods in _CPTableColumnHeaderView. --- AppKit/CPTableHeaderView.j | 66 +++++++- AppKit/Themes/Aristo/ThemeDescriptors.j | 1 + .../TableCibTest/Resources/MainMenu.cib | 2 +- .../TableCibTest/Resources/MainMenu.xib | 154 ++++++++++-------- Tools/nib2cib/NSTableColumn.j | 3 +- 5 files changed, 153 insertions(+), 73 deletions(-) diff --git a/AppKit/CPTableHeaderView.j b/AppKit/CPTableHeaderView.j index 2420a9a5f..9051de645 100644 --- a/AppKit/CPTableHeaderView.j +++ b/AppKit/CPTableHeaderView.j @@ -39,8 +39,8 @@ + (id)themeAttributes { - return [CPDictionary dictionaryWithObjects:[[CPNull null], [CPNull null], CGInsetMakeZero(), [CPNull null], [CPNull null], [CPNull null], CGSizeMakeZero()] - forKeys:[@"background-color", @"text-alignment", @"text-inset", @"text-color", @"font", @"text-shadow-color", @"text-shadow-offset"]]; + return [CPDictionary dictionaryWithObjects:[[CPNull null], CPLeftTextAlignment, CPLineBreakByTruncatingTail, CGInsetMakeZero(), [CPNull null], [CPNull null], [CPNull null], CGSizeMakeZero()] + forKeys:[@"background-color", @"text-alignment", @"line-break-mode", @"text-inset", @"text-color", @"font", @"text-shadow-color", @"text-shadow-offset"]]; } - (void)initWithFrame:(CGRect)frame @@ -78,6 +78,7 @@ [_textField setTextShadowColor:[self currentValueForThemeAttribute:@"text-shadow-color"]]; [_textField setTextShadowOffset:[self currentValueForThemeAttribute:@"text-shadow-offset"]]; [_textField setAlignment:[self currentValueForThemeAttribute:@"text-alignment"]]; + [_textField setLineBreakMode:[self currentValueForThemeAttribute:@"line-break-mode"]]; } - (void)setStringValue:(CPString)string @@ -102,7 +103,52 @@ - (void)setFont:(CPFont)aFont { - [self setValue:aFont forThemeAttribute:"font"]; + [self setValue:aFont forThemeAttribute:@"font"]; +} + +- (CPFont)font +{ + return [self currentValueForThemeAttribute:@"font"] +} + +- (void)setAlignment:(CPTextAlignment)alignment +{ + [self setValue:alignment forThemeAttribute:@"text-alignment"]; +} + +- (CPTextAlignment)alignment +{ + return [self currentValueForThemeAttribute:@"text-alignment"] +} + +- (void)setLineBreakMode:(CPLineBreakMode)mode +{ + [self setValue:mode forThemeAttribute:@"line-break-mode"]; +} + +- (CPLineBreakMode)lineBreakMode +{ + return [self currentValueForThemeAttribute:@"line-break-mode"] +} + +- (void)setTextColor:(CPColor)aColor +{ + [self setValue:aColor forThemeAttribute:@"text-color"]; +} + +- (CPColor)textColor +{ + return [self currentValueForThemeAttribute:@"text-color"] +} + +- (void)setTextShadowColor:(CPColor)aColor +{ + [self setValue:aColor forThemeAttribute:@"text-shadow-color"]; +} + +- (CPColor)textShadowColor +{ + return [self currentValueForThemeAttribute:@"text-shadow-color"] } - (void)_setIndicatorImage:(CPImage)anImage @@ -122,6 +168,10 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringValueKey", _CPTableColumnHeaderViewFontKey = @"_CPTableColumnHeaderViewFontKey", + _CPTableColumnHeaderViewTextColorKey = @"_CPTableColumnHeaderViewTextColorKey", + _CPTableColumnHeaderViewTextShadowColorKey = @"_CPTableColumnHeaderViewTextShadowColorKey", + _CPTableColumnHeaderViewAlignmentKey = @"_CPTableColumnHeaderViewAlignmentKey", + _CPTableColumnHeaderViewLineBreakModeKey = @"_CPTableColumnHeaderViewLineBreakModeKey", _CPTableColumnHeaderViewImageKey = @"_CPTableColumnHeaderViewImageKey"; @implementation _CPTableColumnHeaderView (CPCoding) @@ -134,6 +184,10 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal [self _setIndicatorImage:[aCoder decodeObjectForKey:_CPTableColumnHeaderViewImageKey]]; [self setStringValue:[aCoder decodeObjectForKey:_CPTableColumnHeaderViewStringValueKey]]; [self setFont:[aCoder decodeObjectForKey:_CPTableColumnHeaderViewFontKey]]; + [self setTextColor:[aCoder decodeObjectForKey:_CPTableColumnHeaderViewTextColorKey]]; + [self setTextShadowColor:[aCoder decodeObjectForKey:_CPTableColumnHeaderViewTextShadowColorKey]]; + [self setAlignment:[aCoder decodeIntForKey:_CPTableColumnHeaderViewAlignmentKey]]; + [self setLineBreakMode:[aCoder decodeIntForKey:_CPTableColumnHeaderViewLineBreakModeKey]]; } return self; @@ -145,7 +199,11 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal [aCoder encodeObject:[_textField text] forKey:_CPTableColumnHeaderViewStringValueKey]; [aCoder encodeObject:[_textField image] forKey:_CPTableColumnHeaderViewImageKey]; - [aCoder encodeObject:[_textField font] forKey:_CPTableColumnHeaderViewFontKey]; + [aCoder encodeObject:[self font] forKey:_CPTableColumnHeaderViewFontKey]; + [aCoder encodeObject:[self textColor] forKey:_CPTableColumnHeaderViewTextColorKey]; + [aCoder encodeObject:[self textShadowColor] forKey:_CPTableColumnHeaderViewTextShadowColorKey]; + [aCoder encodeInt:[self alignment] forKey:_CPTableColumnHeaderViewAlignmentKey]; + [aCoder encodeInt:[self lineBreakMode] forKey:_CPTableColumnHeaderViewLineBreakModeKey]; } @end diff --git a/AppKit/Themes/Aristo/ThemeDescriptors.j b/AppKit/Themes/Aristo/ThemeDescriptors.j index d5f368fbc..ab6038066 100755 --- a/AppKit/Themes/Aristo/ThemeDescriptors.j +++ b/AppKit/Themes/Aristo/ThemeDescriptors.j @@ -1678,6 +1678,7 @@ var themedButtonValues = nil, [@"text-shadow-color", [CPColor whiteColor]], [@"text-shadow-offset", CGSizeMake(0.0, 1.0)], [@"text-alignment", CPLeftTextAlignment], + [@"line-break-mode", CPLineBreakByTruncatingTail], [@"background-color", pressed, CPThemeStateHighlighted], [@"background-color", highlighted, CPThemeStateSelected], diff --git a/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.cib b/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.cib index 1acb56f51..02eee7113 100644 --- a/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.cib +++ b/Tests/Manual/TableTest/TableCibTest/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;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;18E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;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;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;24E;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;2;39E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;40E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;41E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;20E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;29E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;39E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;44E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;45E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;46E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;47E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;48E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;22E;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;21E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;50E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;51E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;52E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;54E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;55E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;56E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;22E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;57E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;58E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;60E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;61E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;26E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;27E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;62E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;62E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;62E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;62E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;63E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;63E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;63E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;64E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;65E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;49E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;66E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;67E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;68E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;70E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;71E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;49E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;24E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;72E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;73E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;49E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;74E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;75E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;76E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;68E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;70E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;49E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;24E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;78E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;73E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;49E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;79E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;60E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;80E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;80E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;60E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;82E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;83E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;K;12;$agrid-colorD;K;6;CP$UIDd;2;84E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;73E;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;2;85E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;2;86E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;49E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;73E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;87E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;63E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;63E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;63E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;63E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;2;88E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;2;84E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;89E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;63E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;2;91E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;37E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;2;92E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;2;93E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;94E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;95E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;2;97E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;2;99E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;89E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;87E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;63E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;100E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;101E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;94E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;95E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;102E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;103E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;89E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;87E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;63E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;104E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;105E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;62E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;106E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;107E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;109E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;89E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;87E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;63E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;110E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;62E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;111E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;112E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;114E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;89E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;87E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;63E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;115E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;62E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;111E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;116E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;118E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;89E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;87E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;63E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;17;CPTableHeaderViewK;8;$classesA;S;17;CPTableHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;61E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;119E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;119E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;61E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;120E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;29E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;63E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;121E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;E;E;S;8;delegateS;9;theWindowS;10;dataSourceS;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 428}, {686, 348}}d;1;7S;6;Windowd;1;0S;21;{{7, 11}, {686, 348}}S;20;{{0, 0}, {686, 348}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;24E;E;E;S;6;normalS;22;{{20, 20}, {646, 308}}S;20;{{0, 0}, {646, 308}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;64E;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;2;59E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;122E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;80E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;123E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;68E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;82E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;29E;E;D;K;6;$classD;K;6;CP$UIDd;2;59E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;124E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;125E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;68E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;82E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;37E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;E;d;1;2S;22;{{502, 16}, {15, 275}}S;19;{{0, 0}, {15, 275}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:d;1;4f;18;0.9482758620689655S;19;{{1, 1}, {516, 15}}S;19;{{0, 0}, {516, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9938271604938271S;20;{{0, 0}, {644, 290}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;128E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;81E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;129E;E;d;2;43S;6;{3, 2}F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;33E;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;E;E;d;1;3D;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;2;90E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;130E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;131E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;E;S;1;1d;3;101d;2;40d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;96E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;134E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;49E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;135E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;137E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;138E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;139E;K;6;$afontD;K;6;CP$UIDd;3;141E;K;12;$atext-colorD;K;6;CP$UIDd;3;142E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;73E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;65E;K;11;$aalignmentD;K;6;CP$UIDd;2;49E;K;15;$acontent-insetD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;145E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;146E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;73E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;49E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;145E;E;S;1;2d;3;154D;K;6;$classD;K;6;CP$UIDd;2;96E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;134E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;49E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;148E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;98E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;138E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;139E;K;6;$afontD;K;6;CP$UIDd;3;149E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;73E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;65E;K;11;$aalignmentD;K;6;CP$UIDd;2;49E;K;15;$acontent-insetD;K;6;CP$UIDd;3;150E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;145E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;146E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;73E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;49E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;145E;E;S;5;iconsd;3;188f;21;3.028234663852886e+53D;K;6;$classD;K;6;CP$UIDd;2;96E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;134E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;49E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;152E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;137E;E;D;K;10;$classnameS;11;CPImageViewK;8;$classesA;S;11;CPImageViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;108E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;49E;K;11;$aalignmentD;K;6;CP$UIDd;2;49E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;73E;K;23;CPImageViewHasShadowKeyD;K;6;CP$UIDd;1;0E;K;28;CPImageViewImageAlignmentKeyD;K;6;CP$UIDd;2;49E;E;d;2;81f;22;3.4028234663852885e+54D;K;6;$classD;K;6;CP$UIDd;2;96E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;134E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;65E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;154E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;137E;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;113E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;65E;K;16;$aimage-positionD;K;6;CP$UIDd;2;65E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;65E;K;11;$aalignmentD;K;6;CP$UIDd;2;65E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;73E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;156E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;87E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;1;0E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;65E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;49E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;157E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;158E;E;d;3;105D;K;6;$classD;K;6;CP$UIDd;2;96E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;159E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;134E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;49E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;160E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;137E;E;D;K;10;$classnameS;16;CPLevelIndicatorK;8;$classesA;S;16;CPLevelIndicatorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;117E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;K;11;$aalignmentD;K;6;CP$UIDd;2;49E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;73E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;2;65E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;2;49E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;2;89E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;2;89E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;2;89E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;2;49E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;2;49E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;2;87E;E;S;19;{{0, 0}, {644, 23}}S;14;tableHeaderRowS;13;AppControllerS;20;{{1, 1}, {644, 290}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;29E;E;E;S;21;{{1, 291}, {644, 17}}S;19;{{0, 0}, {644, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;E;E;D;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;157E;D;K;6;CP$UIDd;3;157E;D;K;6;CP$UIDd;3;161E;E;E;S;22;{{502, 285}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;163E;E;E;S;12;columnHeaderS;8;Column 1D;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;136E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;164E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;165E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;87E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;87E;E;S;9;textfieldS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;140E;K;4;nameD;K;6;CP$UIDd;3;166E;K;12;defaultValueD;K;6;CP$UIDd;3;137E;K;6;valuesD;K;6;CP$UIDd;3;168E;E;D;K;6;$classD;K;6;CP$UIDd;2;81E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;169E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;143E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;170E;E;S;0;d;4;3072D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;171E;E;E;S;3;TwoD;K;6;$classD;K;6;CP$UIDd;3;140E;K;4;nameD;K;6;CP$UIDd;3;166E;K;12;defaultValueD;K;6;CP$UIDd;3;137E;K;6;valuesD;K;6;CP$UIDd;3;172E;E;D;K;6;$classD;K;6;CP$UIDd;3;143E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;170E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;173E;E;E;S;9;ImageViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;174E;E;E;S;8;CheckboxS;9;check-boxS;5;Checkf;3;0.5f;4;0.05D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;175E;E;E;S;15;Level Indicatord;1;1D;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;162E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;97E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;97E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;E;S;17;Arial, sans-serifd;2;12S;4;fontD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;167E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;177E;K;6;normalD;K;6;CP$UIDd;3;137E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;161E;D;K;6;CP$UIDd;3;161E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;162E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;102E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;102E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;3;167E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;178E;K;6;normalD;K;6;CP$UIDd;3;179E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;162E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;107E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;107E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;3;162E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;112E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;112E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;3;162E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;116E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;127E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;127E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;116E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;176E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;53E;E;d;2;18D;K;6;$classD;K;6;CP$UIDd;3;136E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;164E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;165E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;63E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;87E;E;D;K;6;$classD;K;6;CP$UIDd;3;136E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;164E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;180E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;63E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;87E;E;D;K;6;$classD;K;6;CP$UIDd;3;136E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;164E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;180E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;87E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;87E;E;d;2;20E;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;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;18E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;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;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;24E;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;2;39E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;40E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;41E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;38E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;20E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;42E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;29E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;38E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;43E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;39E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;19E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;44E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;45E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;46E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;47E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;48E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;22E;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;21E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;50E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;50E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;51E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;22E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;53E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;54E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;55E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;22E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;56E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;57E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;2;59E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;2;60E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;26E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;27E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;2;61E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;2;61E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;2;61E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;2;61E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;2;62E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;2;62E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;2;62E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;2;63E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;2;64E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;2;49E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;65E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;66E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;49E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;24E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;71E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;49E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;73E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;74E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;75E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;76E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;49E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;24E;K;18;CPControlActionKeyD;K;6;CP$UIDd;2;77E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;2;49E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;2;78E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;28E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;59E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;79E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;79E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;59E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;82E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;12;$agrid-colorD;K;6;CP$UIDd;2;83E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;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;2;84E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;2;85E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;2;49E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;2;72E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;2;86E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;2;62E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;2;62E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;2;62E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;2;62E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;2;87E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;2;83E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;2;88E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;2;62E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;2;90E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;2;37E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;2;91E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;2;92E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;93E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;94E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;2;96E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;2;98E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;88E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;86E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;62E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;2;99E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;100E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;93E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;2;94E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;101E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;102E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;88E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;86E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;62E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;3;103E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;104E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;61E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;105E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;106E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;108E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;88E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;86E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;62E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;109E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;61E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;110E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;111E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;113E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;88E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;86E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;62E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;30E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;114E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;2;61E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;110E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;115E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;117E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;2;88E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;2;86E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;2;62E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;17;CPTableHeaderViewK;8;$classesA;S;17;CPTableHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;60E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;118E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;118E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;60E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;119E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;29;CPTableHeaderViewTableViewKeyD;K;6;CP$UIDd;2;29E;K;33;CPTableHeaderViewDrawsColumnLinesD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;120E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;E;E;S;8;delegateS;9;theWindowS;10;dataSourceS;32;{10000000000000, 10000000000000}S;8;CPWindowS;24;{{335, 128}, {686, 348}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {686, 348}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;24E;E;E;S;6;normalS;22;{{20, 20}, {646, 308}}S;20;{{0, 0}, {646, 308}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;63E;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;2;58E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;121E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;79E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;122E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;29E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;123E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;124E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;125E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;2;81E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;37E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;d;1;2S;22;{{502, 16}, {15, 275}}S;19;{{0, 0}, {15, 275}}d;1;8d;11;-2147483648S;8;scrollerS;17;disabled+verticalS;27;_verticalScrollerDidScroll:d;1;4f;18;0.9482758620689655S;19;{{1, 2}, {644, 15}}S;19;{{0, 0}, {644, 15}}S;8;disabledS;29;_horizontalScrollerDidScroll:f;18;0.9415204678362573S;20;{{0, 0}, {644, 290}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;127E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;2;80E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;128E;E;d;2;43S;6;{3, 2}F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;33E;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;E;E;d;1;3D;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;2;89E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;49E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;129E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;130E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;131E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;S;1;1d;3;101d;2;40d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;132E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;135E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;49E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;136E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;135E;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;2;49E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;72E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;97E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;137E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;138E;K;6;$afontD;K;6;CP$UIDd;3;140E;K;12;$atext-colorD;K;6;CP$UIDd;3;141E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;72E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;64E;K;11;$aalignmentD;K;6;CP$UIDd;2;49E;K;15;$acontent-insetD;K;6;CP$UIDd;3;143E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;145E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;72E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;49E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;144E;E;S;1;2d;3;154D;K;6;$classD;K;6;CP$UIDd;2;95E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;147E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;148E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;149E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;147E;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;148E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;72E;E;D;K;6;$classD;K;6;CP$UIDd;2;97E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;137E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;138E;K;6;$afontD;K;6;CP$UIDd;3;150E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;72E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;64E;K;11;$aalignmentD;K;6;CP$UIDd;3;148E;K;15;$acontent-insetD;K;6;CP$UIDd;3;151E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;145E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;72E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;148E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;144E;E;S;5;iconsd;3;188f;21;3.028234663852886e+53D;K;6;$classD;K;6;CP$UIDd;2;95E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;153E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;64E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;154E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;153E;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;2;64E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;72E;E;D;K;10;$classnameS;11;CPImageViewK;8;$classesA;S;11;CPImageViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;49E;K;11;$aalignmentD;K;6;CP$UIDd;2;49E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;K;23;CPImageViewHasShadowKeyD;K;6;CP$UIDd;1;0E;K;28;CPImageViewImageAlignmentKeyD;K;6;CP$UIDd;2;49E;E;f;9;94.078125f;22;3.4028234663852885e+54D;K;6;$classD;K;6;CP$UIDd;2;95E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;155E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;135E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;49E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;156E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;135E;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;2;49E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;72E;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;112E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;157E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;64E;K;16;$aimage-positionD;K;6;CP$UIDd;2;64E;K;20;$avertical-alignmentD;K;6;CP$UIDd;2;64E;K;11;$aalignmentD;K;6;CP$UIDd;2;64E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;158E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;144E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;86E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;148E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;148E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;62E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;64E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;49E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;159E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;160E;E;d;2;92D;K;6;$classD;K;6;CP$UIDd;2;95E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;161E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;133E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;6;$afontD;K;6;CP$UIDd;3;135E;K;16;$atext-alignmentD;K;6;CP$UIDd;2;49E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;162E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;135E;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;2;49E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;2;72E;E;D;K;10;$classnameS;16;CPLevelIndicatorK;8;$classesA;S;16;CPLevelIndicatorS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;116E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;K;11;$aalignmentD;K;6;CP$UIDd;2;49E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;72E;K;24;CPLevelIndicatorStyleKeyD;K;6;CP$UIDd;2;64E;K;27;CPLevelIndicatorMinValueKeyD;K;6;CP$UIDd;2;49E;K;27;CPLevelIndicatorMaxValueKeyD;K;6;CP$UIDd;2;88E;K;31;CPLevelIndicatorWarningValueKeyD;K;6;CP$UIDd;2;88E;K;32;CPLevelIndicatorCriticalValueKeyD;K;6;CP$UIDd;2;88E;K;35;CPLevelIndicatorTickMarkPositionKeyD;K;6;CP$UIDd;2;49E;K;36;CPLevelIndicatorNumberOfTickMarksKeyD;K;6;CP$UIDd;2;49E;K;41;CPLevelIndicatorNumberOfMajorTickMarksKeyD;K;6;CP$UIDd;1;0E;K;29;CPLevelIndicatorIsEditableKeyD;K;6;CP$UIDd;2;86E;E;S;19;{{0, 0}, {644, 23}}S;14;tableHeaderRowS;13;AppControllerS;20;{{1, 1}, {644, 290}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;29E;E;E;S;21;{{1, 291}, {644, 17}}S;19;{{0, 0}, {644, 17}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;37E;E;E;S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;148E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;163E;D;K;6;CP$UIDd;3;148E;E;E;S;20;{{502, 0}, {16, 23}}S;18;{{0, 0}, {16, 23}}S;10;cornerviewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;165E;E;E;S;12;columnHeaderD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;166E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;167E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;S;8;Column 1S;9;textfieldS;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;139E;K;4;nameD;K;6;CP$UIDd;3;168E;K;12;defaultValueD;K;6;CP$UIDd;3;169E;K;6;valuesD;K;6;CP$UIDd;3;171E;E;D;K;6;$classD;K;6;CP$UIDd;2;80E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;172E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;142E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;173E;E;S;0;d;4;3072D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;174E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;166E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;175E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;62E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;d;1;1S;3;TwoD;K;6;$classD;K;6;CP$UIDd;3;139E;K;4;nameD;K;6;CP$UIDd;3;168E;K;12;defaultValueD;K;6;CP$UIDd;3;169E;K;6;valuesD;K;6;CP$UIDd;3;176E;E;D;K;6;$classD;K;6;CP$UIDd;3;142E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;177E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;178E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;167E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;S;5;ImageD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;179E;E;E;S;20;Checkbox really longS;9;check-boxS;5;Checkf;3;0.5f;4;0.05D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;180E;E;E;S;15;Level Indicatorf;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;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;96E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;96E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;S;13;Lucida Granded;2;11S;4;fontD;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;183E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;62E;E;D;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;170E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;184E;K;6;normalD;K;6;CP$UIDd;3;185E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;148E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}D;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;101E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;101E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;d;2;20D;K;6;$classD;K;6;CP$UIDd;3;170E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;186E;K;6;normalD;K;6;CP$UIDd;3;187E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;106E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;106E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;S;7;GeorgiaD;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;111E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;111E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;D;K;6;$classD;K;6;CP$UIDd;3;164E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;115E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;126E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;126E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;115E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;181E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;52E;E;d;2;18S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;188E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;189E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;62E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;182E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;189E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;62E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;190E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;175E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;62E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;D;K;6;$classD;K;6;CP$UIDd;3;134E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;190E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;175E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;86E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;86E;E;S;17;Arial, sans-serifd;2;12S;15;Times New RomanE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.xib b/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.xib index 79c702e87..5afc744ff 100644 --- a/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.xib +++ b/Tests/Manual/TableTest/TableCibTest/Resources/MainMenu.xib @@ -2,39 +2,36 @@ 1050 - 10J3210 - 1306 - 1038.35 - 461.00 + 12C60 + 2843 + 1187.34 + 625.00 com.apple.InterfaceBuilder.CocoaPlugin - 1306 + 2843 YES - NSScroller - NSTableHeaderView - NSScrollView - NSTextFieldCell NSButtonCell - NSImageCell - NSTableView NSCustomObject + NSImageCell + NSLevelIndicatorCell + NSScrollView + NSScroller + NSTableColumn + NSTableHeaderView + NSTableView + NSTextFieldCell NSView NSWindowTemplate - NSLevelIndicatorCell - NSTableColumn YES com.apple.InterfaceBuilder.CocoaPlugin - YES - - YES - - + PluginDependencyRecalculationVersion + YES @@ -55,6 +52,7 @@ Window NSWindow + 256 @@ -78,21 +76,21 @@ YES + NO + YES 256 {644, 17} - + - - + + -2147483392 {{502, 0}, {16, 17}} - - @@ -103,13 +101,13 @@ 10 3.0282346638528862e+53 - 75628096 - 2048 - ImageView - - LucidaGrande + 75497536 + 134219776 + Image + + Georgia 11 - 3100 + 16 6 @@ -131,13 +129,8 @@ - 67239424 + 134217728 33554432 - - LucidaGrande - 13 - 1044 - 0 0 0 @@ -154,10 +147,14 @@ 40 1000 - 75628096 + 75497536 2048 Column 1 - + + LucidaGrande + 11 + 3100 + 3 MC4zMzMzMzI5ODU2AA @@ -165,10 +162,14 @@ - 337772096 + 337641536 2048 Text Cell - + + LucidaGrande + 13 + 1044 + 6 @@ -195,19 +196,23 @@ 40 1000 - 75628096 - 2048 + 75497536 + 67110912 Two - + + LucidaGrande-Bold + 20 + 16 + - 337772096 - 2048 + 337641536 + 67110912 Text Cell - LucidaGrande + TimesNewRomanPSMT 20 16 @@ -226,24 +231,24 @@ - 81 + 94.078125 10 3.4028234663852885e+54 - 75628096 + 75497536 2048 - Checkbox + Checkbox really long - 67239424 + 67108864 134217728 Check - 1211912703 + 1211912448 2 NSImage @@ -263,11 +268,11 @@ - 105 + 92 10 3.4028234663852885e+54 - 75628096 + 75497536 2048 Level Indicator @@ -275,7 +280,7 @@ - -2080244224 + -2080374784 0 @@ -313,6 +318,7 @@ 0 YES 0 + 1 {{1, 17}, {644, 290}} @@ -330,6 +336,7 @@ + NO _doScroller: 0.94827586206896552 @@ -337,14 +344,15 @@ -2147483392 - {{1, 292}, {516, 15}} + {{1, 291}, {644, 16}} + NO 1 _doScroller: - 0.99382716049382713 + 0.94152046783625731 @@ -361,28 +369,30 @@ 4 - {{20, 20}, {646, 308}} - 562 + 133682 - QSAAAEEgAABCNAAAQjQAAA + 0.25 + 4 + 1 - {{7, 11}, {686, 348}} + {686, 348} - {{0, 0}, {1920, 1178}} - {1e+13, 1e+13} + {{0, 0}, {1440, 878}} + {10000000000000, 10000000000000} + YES AppController @@ -421,7 +431,9 @@ YES 0 - + + YES + @@ -582,13 +594,14 @@ YES YES + -1.IBPluginDependency + -2.IBPluginDependency -3.IBPluginDependency - 371.IBEditorWindowLastContentRect 371.IBPluginDependency 371.IBWindowTemplateEditedContentRect 371.NSWindowTemplate.visibleAtLaunch - 371.editorWindowContentRectSynchronizationRect 372.IBPluginDependency + 450.IBPluginDependency 489.IBPluginDependency 490.IBPluginDependency 491.IBPluginDependency @@ -598,18 +611,25 @@ 495.IBPluginDependency 496.IBPluginDependency 497.IBPluginDependency + 501.IBPluginDependency 503.IBPluginDependency + 504.IBPluginDependency + 506.IBPluginDependency 508.IBPluginDependency 510.IBPluginDependency - + YES com.apple.InterfaceBuilder.CocoaPlugin - {{370, 244}, {558, 348}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin {{370, 244}, {558, 348}} - {{33, 99}, {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 diff --git a/Tools/nib2cib/NSTableColumn.j b/Tools/nib2cib/NSTableColumn.j index 10ef6dcea..4ed159db6 100644 --- a/Tools/nib2cib/NSTableColumn.j +++ b/Tools/nib2cib/NSTableColumn.j @@ -90,7 +90,8 @@ headerView = [[_CPTableColumnHeaderView alloc] initWithFrame:CPRectMakeZero()]; [headerView setStringValue:[headerCell objectValue]]; - [headerView setValue:[dataViewCell alignment] forThemeAttribute:@"text-alignment"]; + [headerView setFont:[headerCell font]]; + [headerView setAlignment:[headerCell alignment]]; [self setHeaderView:headerView]; From a70bc7d9532b52a0c8ac596332e60f40e1c244b2 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 14 Oct 2012 18:27:25 +0100 Subject: [PATCH 43/63] "Creates Sort Descriptors" `CPTableColumn` value binding option. With this option an array controller driven table view can be sorted by clicking the table column headers without manually setting up sort descriptor prototypes. If `CPCreatesSortDescriptorBindingOption` is enabled on a table column value binding, sort descriptors will be created automatically. The default value for this option is YES. --- AppKit/CPTableColumn.j | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/AppKit/CPTableColumn.j b/AppKit/CPTableColumn.j index b0349993d..6a1765cad 100644 --- a/AppKit/CPTableColumn.j +++ b/AppKit/CPTableColumn.j @@ -494,7 +494,13 @@ CPTableColumnUserResizingMask = 1 << 1; */ - (CPSortDescriptor)sortDescriptorPrototype { - return _sortDescriptorPrototype; + if (_sortDescriptorPrototype) + return _sortDescriptorPrototype; + + var binderClass = [[self class] _binderClassForBinding:CPValueBinding], + binding = [binderClass getBinding:CPValueBinding forObject:self]; + + return [binding _defaultSortDescriptorPrototype]; } /*! @@ -570,6 +576,30 @@ CPTableColumnUserResizingMask = 1 << 1; [tableView reloadDataForRowIndexes:rowIndexes columnIndexes:columnIndexes]; } +- (CPSortDescriptor)_defaultSortDescriptorPrototype +{ + if (![self createsSortDescriptor]) + return nil; + + var keyPath = [_info objectForKey:CPObservedKeyPathKey], + dotIndex = keyPath.lastIndexOf("."); + + if (dotIndex === CPNotFound) + return nil; + + var firstPart = keyPath.substring(0, dotIndex), + key = keyPath.substring(dotIndex + 1); + + return [CPSortDescriptor sortDescriptorWithKey:key ascending:YES]; +} + +- (BOOL)createsSortDescriptor +{ + var options = [_info objectForKey:CPOptionsKey], + optionValue = [options objectForKey:CPCreatesSortDescriptorBindingOption]; + return optionValue === nil ? YES : [optionValue boolValue]; +} + @end @implementation CPTableColumn (Bindings) From da91ab98798c8463802095d544896bde7b0e8731 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 14 Oct 2012 19:31:53 +0100 Subject: [PATCH 44/63] Fixed: implicitly set `selectionIndexes`. `CPTableView`'s `selectionIndexes` binding shouldn't be set automatically unless the content binding was also set automatically (through a table column binding). Assume that manual content binding implies a desire to manually bind selection indexes (and sort descriptors) as well. --- AppKit/CPTableView.j | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 63dd07483..041b79a48 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -4794,10 +4794,14 @@ Your delegate can implement this method to avoid subclassing the tableview to ad _contentBindingExpicitelySet = NO; } - if ([[self infoForBinding:@"selectionIndexes"] objectForKey:CPObservedObjectKey] !== destination) - [self bind:@"selectionIndexes" toObject:destination withKeyPath:@"selectionIndexes" options:nil]; + // If the content binding was set manually assume the user is taking manual control of establishing bindings. + if (!_contentBindingExpicitelySet) + { + if ([[self infoForBinding:@"selectionIndexes"] objectForKey:CPObservedObjectKey] !== destination) + [self bind:@"selectionIndexes" toObject:destination withKeyPath:@"selectionIndexes" options:nil]; - //[self bind:@"sortDescriptors" toObject:destination withKeyPath:@"sortDescriptors" options:nil]; + //[self bind:@"sortDescriptors" toObject:destination withKeyPath:@"sortDescriptors" options:nil]; + } } - (void)bind:(CPString)aBinding toObject:(id)anObject withKeyPath:(CPString)aKeyPath options:(CPDictionary)options From b629b882b4388d6a49a3c4d0fa366af5d005e444 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 14 Oct 2012 19:32:47 +0100 Subject: [PATCH 45/63] Clean up and fix ArrayController1 test. Use `CPValueBinding` instead of `@"value"` in case someone reads this as an example. --- Tests/Manual/ArrayController1/AppController.j | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/Tests/Manual/ArrayController1/AppController.j b/Tests/Manual/ArrayController1/AppController.j index 85759d8fb..8619a17a4 100644 --- a/Tests/Manual/ArrayController1/AppController.j +++ b/Tests/Manual/ArrayController1/AppController.j @@ -26,11 +26,9 @@ CPLogRegister(CPLogConsole); - (void)awakeFromCib { - var contentView = [theWindow contentView]; + var contentView = [theWindow contentView], + notWrongItem = [Item new]; - //create our non ui objects - - var notWrongItem = [Item new]; [notWrongItem setRightOrWrong:"also right"]; itemsArray = [[Item new], notWrongItem]; @@ -104,8 +102,7 @@ CPLogRegister(CPLogConsole); { // bind array controller to self's itemsArray - [arrayController bind:@"contentArray" toObject:self - withKeyPath:@"itemsArray" options:nil]; + [arrayController bind:@"contentArray" toObject:self withKeyPath:@"itemsArray" options:nil]; // bind the total field -- no options on this one [totalCountField bind:CPValueBinding toObject:arrayController @@ -113,13 +110,14 @@ CPLogRegister(CPLogConsole); var bindingOptions = [CPDictionary dictionary]; //[bindingOptions setObject:@"No Name" forKey:@"NSNullPlaceholder"]; - [selectedNameField bind: @"value" toObject:arrayController - withKeyPath:@"selection.name" options:bindingOptions]; + [selectedNameField bind:CPValueBinding toObject:arrayController + withKeyPath:@"selection.name" options:bindingOptions]; // binding for "name" column var tableColumn = [tableView tableColumnWithIdentifier:@"name"], - bindingOptions = [CPDictionary dictionary]; - [tableColumn bind:@"value" toObject: arrayController + bindingOptions = [CPDictionary dictionary]; + + [tableColumn bind:CPValueBinding toObject:arrayController withKeyPath:@"arrangedObjects.name" options:bindingOptions]; @@ -129,13 +127,13 @@ CPLogRegister(CPLogConsole); //[bindingOptions removeObjectForKey:@"NSNullPlaceholder"]; //[bindingOptions setObject:YES // forKey:CPValidatesImmediatelyBindingOption]; - [selectedPriceField bind:@"value" toObject: arrayController + [selectedPriceField bind:CPValueBinding toObject: arrayController withKeyPath:@"selection.price" options:bindingOptions]; // binding for "price" column tableColumn = [tableView tableColumnWithIdentifier:@"price"]; bindingOptions = [CPDictionary dictionary]; - [tableColumn bind:@"value" toObject: arrayController + [tableColumn bind:CPValueBinding toObject:arrayController withKeyPath:@"arrangedObjects.price" options:bindingOptions]; tableColumn = [tableView tableColumnWithIdentifier:@"all right"]; @@ -215,4 +213,4 @@ CPLogRegister(CPLogConsole); return aValue == "wrong" ? "right" : aValue; } -@end \ No newline at end of file +@end From c2f9b91fe21dfeecdc184df5cf76be360ff94543 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 14 Oct 2012 19:39:39 +0100 Subject: [PATCH 46/63] Implicit sort descriptor binding support. Sort descriptor bindings are now automatically established when a table view has a column value binding (normally to an array controller). --- AppKit/CPTableView.j | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 041b79a48..49a08a7d3 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -4800,7 +4800,8 @@ Your delegate can implement this method to avoid subclassing the tableview to ad if ([[self infoForBinding:@"selectionIndexes"] objectForKey:CPObservedObjectKey] !== destination) [self bind:@"selectionIndexes" toObject:destination withKeyPath:@"selectionIndexes" options:nil]; - //[self bind:@"sortDescriptors" toObject:destination withKeyPath:@"sortDescriptors" options:nil]; + if ([[self infoForBinding:@"sortDescriptors"] objectForKey:CPObservedObjectKey] !== destination) + [self bind:@"sortDescriptors" toObject:destination withKeyPath:@"sortDescriptors" options:nil]; } } From 084e0a315f48a1ac6e42e7e368cb1945a2c15aa5 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 14 Oct 2012 20:18:48 +0100 Subject: [PATCH 47/63] Clean up. Put `_CPCibWindowTemplate` coding support in its own category to match most Cappuccino classes. --- AppKit/Cib/_CPCibWindowTemplate.j | 134 +++++++++++++++--------------- 1 file changed, 69 insertions(+), 65 deletions(-) diff --git a/AppKit/Cib/_CPCibWindowTemplate.j b/AppKit/Cib/_CPCibWindowTemplate.j index 9ea2b4096..2f6a44fbf 100644 --- a/AppKit/Cib/_CPCibWindowTemplate.j +++ b/AppKit/Cib/_CPCibWindowTemplate.j @@ -5,20 +5,6 @@ @import "CPWindow.j" -var _CPCibWindowTemplateMinSizeKey = @"_CPCibWindowTemplateMinSizeKey", - _CPCibWindowTemplateMaxSizeKey = @"_CPCibWindowTemplateMaxSizeKey", - - _CPCibWindowTemplateViewClassKey = @"_CPCibWindowTemplateViewClassKey", - _CPCibWindowTemplateWindowClassKey = @"_CPCibWindowTemplateWindowClassKey", - - _CPCibWindowTemplateWindowRectKey = @"_CPCibWindowTemplateWindowRectKey", - _CPCibWindowTemplateWindowStyleMaskKey = @"_CPCibWindowTempatStyleMaskKey", - _CPCibWindowTemplateWindowTitleKey = @"_CPCibWindowTemplateWindowTitleKey", - _CPCibWindowTemplateWindowViewKey = @"_CPCibWindowTemplateWindowViewKey", - - _CPCibWindowTemplateWindowAutorecalculatesKeyViewLoop = @"_CPCibWindowTemplateWindowAutorecalculatesKeyViewLoop", - _CPCibWindowTemplateWindowIsFullPlatformWindowKey = @"_CPCibWindowTemplateWindowIsFullPlatformWindowKey"; - @implementation _CPCibWindowTemplate : CPObject { CGSize _minSize; @@ -57,6 +43,74 @@ var _CPCibWindowTemplateMinSizeKey = @"_CPCibWindowTemp return self; } +- (CPString)customClassName +{ + return _windowClass; +} + +- (void)setCustomClassName:(CPString)aClassName +{ + _windowClass = aClassName; +} + +- (CPString)windowClass +{ + return _windowClass; +} + +- (id)_cibInstantiate +{ + var windowClass = CPClassFromString([self windowClass]), + theWindow = [[windowClass alloc] initWithContentRect:_windowRect styleMask:_windowStyleMask]; + +/* if (!windowClass) + [NSException raise:NSInvalidArgumentException format:@"Unable to locate NSWindow class %@, using NSWindow",_windowClass]; + class=[NSWindow class];*/ + + if (_minSize) + [theWindow setMinSize:_minSize]; + if (_maxSize) + [theWindow setMaxSize:_maxSize]; + + //[result setHidesOnDeactivate:(_wtFlags&0x80000000)?YES:NO]; + [theWindow setTitle:_windowTitle]; + + // FIXME: we can't autoresize yet... + [_windowView setAutoresizesSubviews:NO]; + + [theWindow setContentView:_windowView]; + + [_windowView setAutoresizesSubviews:YES]; + + if ([_viewClass isKindOfClass:[CPToolbar class]]) + { + [theWindow setToolbar:_viewClass]; + } + + [theWindow setAutorecalculatesKeyViewLoop:_windowAutorecalculatesKeyViewLoop]; + [theWindow setFullBridge:_windowIsFullPlatformWindow]; + + return theWindow; +} + +@end + +var _CPCibWindowTemplateMinSizeKey = @"_CPCibWindowTemplateMinSizeKey", + _CPCibWindowTemplateMaxSizeKey = @"_CPCibWindowTemplateMaxSizeKey", + + _CPCibWindowTemplateViewClassKey = @"_CPCibWindowTemplateViewClassKey", + _CPCibWindowTemplateWindowClassKey = @"_CPCibWindowTemplateWindowClassKey", + + _CPCibWindowTemplateWindowRectKey = @"_CPCibWindowTemplateWindowRectKey", + _CPCibWindowTemplateWindowStyleMaskKey = @"_CPCibWindowTempatStyleMaskKey", + _CPCibWindowTemplateWindowTitleKey = @"_CPCibWindowTemplateWindowTitleKey", + _CPCibWindowTemplateWindowViewKey = @"_CPCibWindowTemplateWindowViewKey", + + _CPCibWindowTemplateWindowAutorecalculatesKeyViewLoop = @"_CPCibWindowTemplateWindowAutorecalculatesKeyViewLoop", + _CPCibWindowTemplateWindowIsFullPlatformWindowKey = @"_CPCibWindowTemplateWindowIsFullPlatformWindowKey"; + +@implementation _CPCibWindowTemplate (Coding) + - (id)initWithCoder:(CPCoder)aCoder { self = [super init]; @@ -107,55 +161,5 @@ var _CPCibWindowTemplateMinSizeKey = @"_CPCibWindowTemp [aCoder encodeObject:_windowIsFullPlatformWindow forKey:_CPCibWindowTemplateWindowIsFullPlatformWindowKey]; } -- (CPString)customClassName -{ - return _windowClass; -} - - -- (void)setCustomClassName:(CPString)aClassName -{ - _windowClass = aClassName; -} - -- (CPString)windowClass -{ - return _windowClass; -} - -- (id)_cibInstantiate -{ - var windowClass = CPClassFromString([self windowClass]), - theWindow = [[windowClass alloc] initWithContentRect:_windowRect styleMask:_windowStyleMask]; - -/* if (!windowClass) - [NSException raise:NSInvalidArgumentException format:@"Unable to locate NSWindow class %@, using NSWindow",_windowClass]; - class=[NSWindow class];*/ - - if (_minSize) - [theWindow setMinSize:_minSize]; - if (_maxSize) - [theWindow setMaxSize:_maxSize]; - - //[result setHidesOnDeactivate:(_wtFlags&0x80000000)?YES:NO]; - [theWindow setTitle:_windowTitle]; - - // FIXME: we can't autoresize yet... - [_windowView setAutoresizesSubviews:NO]; - - [theWindow setContentView:_windowView]; - - [_windowView setAutoresizesSubviews:YES]; - - if ([_viewClass isKindOfClass:[CPToolbar class]]) - { - [theWindow setToolbar:_viewClass]; - } - - [theWindow setAutorecalculatesKeyViewLoop:_windowAutorecalculatesKeyViewLoop]; - [theWindow setFullBridge:_windowIsFullPlatformWindow]; - - return theWindow; -} - @end + From adb6404a0fd9e7625b4c55603f4102983cd76b88 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 15 Oct 2012 00:20:22 +0100 Subject: [PATCH 48/63] Support Cib/Interface Builder window positioning masks. Without this feature windows could easily end up being placed outside of the screen/browser when loaded in Cappuccino due to e.g. the window position being 100 px from the bottom of a 1418 px tall screen but the browser only being 800 px. This commit adds support for all "initial position" window masks in Interface Builder except "centre". Position can be specified in current screen space coordinates and then adjusted proportionally to the browser size, or adjusted while preserving a left or right margin and a top or bottom margin. --- AppKit/CPWindow/CPWindow.j | 46 ++++++++++++++++++ AppKit/Cib/_CPCibWindowTemplate.j | 20 +++++++- .../CPButtonTest/Resources/MainMenu.cib | 2 +- .../CPButtonTest/Resources/MainMenu.xib | 47 ++++++++++++++----- Tools/nib2cib/NSWindowTemplate.j | 23 +++++---- 5 files changed, 115 insertions(+), 23 deletions(-) diff --git a/AppKit/CPWindow/CPWindow.j b/AppKit/CPWindow/CPWindow.j index 7e46c28e0..9fa4ffd69 100644 --- a/AppKit/CPWindow/CPWindow.j +++ b/AppKit/CPWindow/CPWindow.j @@ -287,6 +287,9 @@ var CPWindowActionMessageKeys = [ unsigned _shadowStyle; BOOL _showsResizeIndicator; + int _positioningMask; + CGRect _positioningScreenRect; + BOOL _isDocumentEdited; BOOL _isDocumentSaving; @@ -535,6 +538,49 @@ CPTexturedBackgroundWindowMask // set up a default key view loop. if (_keyViewLoopIsDirty && ![self autorecalculatesKeyViewLoop]) [self recalculateKeyViewLoop]; + + // At this time we know the final screen (or browser) size and can apply the positioning mask, if any, from the nib. + if (_positioningScreenRect) + { + var actualScreenRect = [CPPlatform isBrowser] ? [_platformWindow contentBounds] : [[self screen] visibleFrame], + frame = [self frame], + origin = frame.origin; + + if (actualScreenRect) + { + if ((_positioningMask & CPWindowPositionFlexibleLeft) && (_positioningMask & CPWindowPositionFlexibleRight)) + { + // Proportional Horizontal. + origin.x *= (actualScreenRect.size.width / _positioningScreenRect.size.width); + } + else if (_positioningMask & CPWindowPositionFlexibleLeft) + { + // Fixed from Right + origin.x += actualScreenRect.size.width - _positioningScreenRect.size.width; + } + else if (_positioningMask & CPWindowPositionFlexibleRight) + { + // Fixed from Left + } + + if ((_positioningMask & CPWindowPositionFlexibleTop) && (_positioningMask & CPWindowPositionFlexibleBottom)) + { + // Proportional Vertical. + origin.y *= (actualScreenRect.size.height / _positioningScreenRect.size.height); + } + else if (_positioningMask & CPWindowPositionFlexibleTop) + { + // Fixed from Bottom + origin.y += actualScreenRect.size.height - _positioningScreenRect.size.height; + } + else if (_positioningMask & CPWindowPositionFlexibleBottom) + { + // Fixed from Top + } + + [self setFrameOrigin:origin]; + } + } } - (void)_setWindowView:(CPView)aWindowView diff --git a/AppKit/Cib/_CPCibWindowTemplate.j b/AppKit/Cib/_CPCibWindowTemplate.j index 2f6a44fbf..408324b91 100644 --- a/AppKit/Cib/_CPCibWindowTemplate.j +++ b/AppKit/Cib/_CPCibWindowTemplate.j @@ -4,15 +4,20 @@ @import "CGGeometry.j" @import "CPWindow.j" +CPWindowPositionFlexibleRight = 1 << 19; +CPWindowPositionFlexibleLeft = 1 << 20; +CPWindowPositionFlexibleBottom = 1 << 21; +CPWindowPositionFlexibleTop = 1 << 22; + @implementation _CPCibWindowTemplate : CPObject { CGSize _minSize; CGSize _maxSize; - //CGSize _screenRect; + CGRect _screenRect; id _viewClass; - //unsigned _wtFlags; + unsigned _wtFlags; CPString _windowClass; CGRect _windowRect; unsigned _windowStyleMask; @@ -38,6 +43,8 @@ _windowView = [[CPView alloc] initWithFrame:CGRectMake(0.0, 0.0, 400.0, 200.0)]; _windowIsFullPlatformWindow = NO; + + _wtFlags = CPPositionProportionalHorizontal | CPPositionProportionalVertical; } return self; @@ -90,6 +97,9 @@ [theWindow setAutorecalculatesKeyViewLoop:_windowAutorecalculatesKeyViewLoop]; [theWindow setFullBridge:_windowIsFullPlatformWindow]; + theWindow._positioningMask = _wtFlags; + theWindow._positioningScreenRect = _screenRect; + return theWindow; } @@ -99,9 +109,11 @@ var _CPCibWindowTemplateMinSizeKey = @"_CPCibWindowTemp _CPCibWindowTemplateMaxSizeKey = @"_CPCibWindowTemplateMaxSizeKey", _CPCibWindowTemplateViewClassKey = @"_CPCibWindowTemplateViewClassKey", + _CPCibWindowTemplateWTFlagsKey = @"_CPCibWindowTemplateWTFlagsKey", _CPCibWindowTemplateWindowClassKey = @"_CPCibWindowTemplateWindowClassKey", _CPCibWindowTemplateWindowRectKey = @"_CPCibWindowTemplateWindowRectKey", + _CPCibWindowTemplateScreenRectKey = @"_CPCibWindowTemplateScreenRectKey", _CPCibWindowTemplateWindowStyleMaskKey = @"_CPCibWindowTempatStyleMaskKey", _CPCibWindowTemplateWindowTitleKey = @"_CPCibWindowTemplateWindowTitleKey", _CPCibWindowTemplateWindowViewKey = @"_CPCibWindowTemplateWindowViewKey", @@ -125,7 +137,9 @@ var _CPCibWindowTemplateMinSizeKey = @"_CPCibWindowTemp _viewClass = [aCoder decodeObjectForKey:_CPCibWindowTemplateViewClassKey]; _windowClass = [aCoder decodeObjectForKey:_CPCibWindowTemplateWindowClassKey]; + _wtFlags = [aCoder decodeIntForKey:_CPCibWindowTemplateWTFlagsKey]; _windowRect = [aCoder decodeRectForKey:_CPCibWindowTemplateWindowRectKey]; + _screenRect = [aCoder decodeRectForKey:_CPCibWindowTemplateScreenRectKey]; _windowStyleMask = [aCoder decodeIntForKey:_CPCibWindowTemplateWindowStyleMaskKey]; _windowTitle = [aCoder decodeObjectForKey:_CPCibWindowTemplateWindowTitleKey]; @@ -148,7 +162,9 @@ var _CPCibWindowTemplateMinSizeKey = @"_CPCibWindowTemp [aCoder encodeObject:_viewClass forKey:_CPCibWindowTemplateViewClassKey]; [aCoder encodeObject:_windowClass forKey:_CPCibWindowTemplateWindowClassKey]; + [aCoder encodeInt:_wtFlags forKey:_CPCibWindowTemplateWTFlagsKey]; [aCoder encodeRect:_windowRect forKey:_CPCibWindowTemplateWindowRectKey]; + [aCoder encodeRect:_screenRect forKey:_CPCibWindowTemplateScreenRectKey]; [aCoder encodeInt:_windowStyleMask forKey:_CPCibWindowTemplateWindowStyleMaskKey]; [aCoder encodeObject:_windowTitle forKey:_CPCibWindowTemplateWindowTitleKey]; diff --git a/Tests/Manual/CPButtonTest/Resources/MainMenu.cib b/Tests/Manual/CPButtonTest/Resources/MainMenu.cib index 55614f064..314417d74 100644 --- a/Tests/Manual/CPButtonTest/Resources/MainMenu.cib +++ b/Tests/Manual/CPButtonTest/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;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;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;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;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;1;0E;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;67E;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;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;1;0E;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;2;78E;D;K;6;CP$UIDd;2;79E;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;2;85E;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;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;94E;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;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;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;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;79E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;11E;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;85E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;11E;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;91E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;57E;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;109E;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;110E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;111E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;69E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;72E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;70E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;76E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;116E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;89E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;92E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;105E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;106E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;121E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;73E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;122E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;86E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;87E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;127E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;129E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;130E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;132E;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;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;97E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;109E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;141E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;142E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;143E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;53E;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;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;145E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;145E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;146E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;149E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;150E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;158E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;108E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;163E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;164E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;165E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;156E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;169E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;170E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;172E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;174E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;172E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;175E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;176E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;177E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;178E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;179E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;171E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;173E;E;D;K;10;$classnameS;16;_CPCibCustomViewK;8;$classesA;S;16;_CPCibCustomViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;180E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;181E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;182E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;183E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;184E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;185E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;186E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;188E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;190E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;191E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;192E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;195E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;196E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;197E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;198E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;157E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;199E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;200E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;201E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;202E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;203E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;204E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;205E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;189E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;206E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;207E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;208E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;209E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;210E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;211E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;79E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;212E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;212E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;213E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;214E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;215E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;216E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;217E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;218E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;219E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;220E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;221E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;222E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;223E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;224E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;225E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;172E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;226E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;172E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;227E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;210E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;228E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;229E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;229E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;230E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;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;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;233E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;234E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;235E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;169E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;236E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;237E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;238E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;239E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;232E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;240E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;241E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;142E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;242E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;243E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;243E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;244E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;245E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;246E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;167E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;155E;K;7;$aimageD;K;6;CP$UIDd;3;248E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;249E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;250E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;144E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;251E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;252E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;253E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;144E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;172E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;254E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;255E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;144E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;172E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;256E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;155E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;258E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;155E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;259E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;260E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;258E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;261E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;262E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;258E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;263E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;264E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;258E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;265E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;266E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;258E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;156E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;267E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;268E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;258E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;269E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;270E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;258E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;271E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;272E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;273E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;258E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;274E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;275E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;276E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;252E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;277E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;144E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;144E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;172E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;278E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;255E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;144E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;172E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;279E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;155E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;257E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;280E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;271E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;272E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;273E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;280E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;281E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;275E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;280E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;156E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;267E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;268E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;280E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;282E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;270E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;280E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;263E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;264E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;280E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;283E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;266E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;280E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;155E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;259E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;260E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;280E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;284E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;262E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;285E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;286E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;287E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;288E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;289E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;193E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;194E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;290E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;168E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;291E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;286E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;151E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;152E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;156E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;287E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;159E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;160E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;160E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;162E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;155E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;156E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;292E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;293E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;90E;E;E;S;8;delegateS;6;buttonS;8;checkboxS;10;clickCountS;11;imageButtonS;19;imageDisabledButtonS;21;momentaryChangeButtonS;12;monkeyButtonS;14;monkeyCheckboxS;19;monkeyCheckboxLabelS;11;monkeyLabelS;13;multiCheckboxS;12;positionMenuS;12;pushInButtonS;15;pushOnOffButtonD;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;126E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;294E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;294E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;255E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;295E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;296E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;155E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;297E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;298E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;299E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;301E;E;S;6;radio1D;K;6;$classD;K;6;CP$UIDd;3;126E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;302E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;294E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;255E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;295E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;166E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;155E;K;16;$aimage-positionD;K;6;CP$UIDd;3;155E;K;6;$afontD;K;6;CP$UIDd;3;154E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;144E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;155E;K;11;$aalignmentD;K;6;CP$UIDd;3;144E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;144E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;156E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;303E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;160E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;172E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;172E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;157E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;155E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;144E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;298E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;299E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;301E;E;S;6;radio2S;9;theWindowS;12;toggleButtonS;17;setImagePosition:S;11;countClick:S;20;switchSelectedRadio:S;12;monkeyClick:S;29;setMonkeyButtonHighlightedBy:S;28;setMonkeyButtonShowsStateBy:S;32;{10000000000000, 10000000000000}S;8;CPWindowS;23;{{100, 84}, {380, 253}}d;1;7S;19;CPButton Image Testd;1;0S;20;{{0, 0}, {380, 253}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;67E;E;E;d;2;18S;6;normalS;21;{{40, 213}, {95, 17}}S;18;{{0, 0}, {95, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;305E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;d;1;2d;1;4T;S;15;Image Position:d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;306E;E;S;23;{{140, 211}, {202, 24}}S;19;{{0, 0}, {202, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;305E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;157E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;0;d;2;12S;8;No ImageS;17;_popUpItemAction:d;1;1d;7;1048576S;10;Image OnlyS;4;LeftS;5;RightS;5;BelowS;5;AboveS;8;OverlapsS;22;{{20, 20}, {340, 174}}S;20;{{0, 0}, {340, 174}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;69E;E;E;S;9;BezelViewS;20;{{22, 15}, {96, 24}}S;18;{{0, 0}, {96, 24}}S;6;Buttond;2;14S;22;{{141, 15}, {176, 24}}S;19;{{0, 0}, {176, 24}}S;17;Button With ImageS;20;{{29, 65}, {85, 40}}S;18;{{0, 0}, {85, 40}}S;9;check-boxS;8;selectedS;8;CheckboxS;22;{{163, 65}, {152, 40}}S;19;{{0, 0}, {152, 40}}S;19;Multistate CheckboxS;22;{{31, 120}, {168, 40}}S;19;{{0, 0}, {168, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;E;E;S;23;{{198, 128}, {119, 24}}S;19;{{0, 0}, {119, 24}}S;14;Set radio 2 OnS;22;{{141, 45}, {176, 24}}S;17;disabled+borderedS;19;Disabled With ImageS;13;AppControllerS;23;{{100, 393}, {318, 85}}d;2;15S;22;Continuous Button TestS;19;{{0, 0}, {318, 85}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;21;{{18, 18}, {120, 24}}S;19;{{0, 0}, {120, 24}}S;13;Normal ButtonS;22;{{150, 18}, {146, 24}}S;19;{{0, 0}, {146, 24}}d;5;65540S;17;Continuous ButtonS;21;{{17, 49}, {101, 17}}S;19;{{0, 0}, {101, 17}}S;16;Recorded clicks:S;22;{{126, 49}, {169, 17}}S;19;{{0, 0}, {169, 17}}S;1;0S;23;{{500, 83}, {271, 156}}S;25;CPButton Button Type TestS;20;{{0, 0}, {271, 156}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;21;{{29, 18}, {208, 24}}S;19;{{0, 0}, {208, 24}}S;26;Momentary Push In (Normal)S;21;{{29, 50}, {208, 24}}S;18;Push On / Push OffS;21;{{29, 82}, {208, 24}}S;6;Toggled;1;3S;22;{{29, 114}, {208, 24}}S;16;Momentary ChangeS;24;{{500, 273}, {480, 225}}S;18;Monkey Button TestS;20;{{0, 0}, {480, 225}}D;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;2;94E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;E;E;S;22;{{151, 53}, {174, 24}}S;19;{{0, 0}, {174, 24}}D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;247E;K;4;nameD;K;6;CP$UIDd;3;307E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;6;valuesD;K;6;CP$UIDd;3;309E;E;S;13;Monkey ButtonS;15;Alternate TitleS;22;{{17, 95}, {222, 114}}S;20;{{0, 0}, {222, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;258E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;310E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;311E;E;S;13;Highlights ByS;6;{0, 0}D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;319E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;320E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;321E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;S;20;{{16, 8}, {137, 18}}S;19;{{0, 0}, {137, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;16;CPPushInCellMaskS;21;{{16, 28}, {152, 18}}S;19;{{0, 0}, {152, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;18;CPContentsCellMaskS;21;{{16, 48}, {172, 18}}S;19;{{0, 0}, {172, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;20;CPChangeGrayCellMaskd;1;8S;21;{{16, 68}, {218, 18}}S;19;{{0, 0}, {218, 18}}D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;26;CPChangeBackgroundCellMaskS;23;{{241, 95}, {222, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;280E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;313E;E;S;14;Shows State ByD;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;144E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;319E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;320E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;323E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;99E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;147E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;D;K;6;$classD;K;6;CP$UIDd;3;153E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;304E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;312E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;160E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;157E;E;S;22;{{332, 57}, {125, 17}}S;19;{{0, 0}, {125, 17}}S;5;LabelS;22;{{151, 12}, {138, 32}}S;19;{{0, 0}, {138, 32}}S;15;Monkey CheckboxS;22;{{307, 20}, {125, 17}}S;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;18;{{0, 0}, {82, 40}}S;5;radioS;17;selected+borderedS;7;Radio 1f;3;0.5f;4;0.05D;K;10;$classnameS;12;CPRadioGroupK;8;$classesA;S;12;CPRadioGroupS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;300E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;314E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;127E;E;S;19;{{86, 0}, {82, 40}}S;7;Radio 2S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;315E;D;K;6;CP$UIDd;3;172E;E;E;S;5;imageD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;308E;K;10;CP.objectsD;K;11;highlightedD;K;6;CP$UIDd;3;317E;K;6;normalD;K;6;CP$UIDd;3;318E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;322E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;E;E;d;2;11D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;322E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;324E;E;f;18;0.6862745098039216D;K;10;$classnameS;20;_CPCibCustomResourceK;8;$classesA;S;20;_CPCibCustomResourceS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;316E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;325E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;326E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;327E;E;D;K;6;$classD;K;6;CP$UIDd;3;316E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;325E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;328E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;329E;E;S;20;{{1, 15}, {220, 98}}S;19;{{0, 0}, {220, 98}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;f;4;0.42D;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;102E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;100E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;E;E;S;7;CPImageS;16;CPRemoveTemplateD;K;6;$classD;K;6;CP$UIDd;3;308E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;331E;E;E;S;13;CPAddTemplateD;K;6;$classD;K;6;CP$UIDd;3;308E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;332E;E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;333E;E;D;K;6;$classD;K;6;CP$UIDd;3;330E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;333E;E;S;22;{"width":0,"height":0}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;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;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;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;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;1;0E;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;67E;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;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;1;0E;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;2;78E;D;K;6;CP$UIDd;2;79E;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;2;85E;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;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;94E;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;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;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;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;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;79E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;11E;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;85E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;11E;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;91E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;2;57E;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;109E;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;110E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;111E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;69E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;112E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;72E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;83E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;70E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;76E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;116E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;89E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;92E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;105E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;106E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;121E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;73E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;122E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;57E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;86E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;124E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;87E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;127E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;128E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;129E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;130E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;51E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;131E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;88E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;132E;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;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;81E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;75E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;135E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;92E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;96E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;97E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;100E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;102E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;103E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;105E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;77E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;109E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;141E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;142E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;143E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;144E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;145E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;53E;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;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;147E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;147E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;148E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;149E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;151E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;152E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;6;$afontD;K;6;CP$UIDd;3;156E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;157E;K;11;$aalignmentD;K;6;CP$UIDd;3;158E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;159E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;160E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;157E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;158E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;108E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;165E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;166E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;167E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;158E;K;11;$aalignmentD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;171E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;146E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;172E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;173E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;174E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;176E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;173E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;174E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;177E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;173E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;178E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;173E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;179E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;173E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;180E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;173E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;181E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;57E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;173E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;108E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;175E;E;D;K;10;$classnameS;16;_CPCibCustomViewK;8;$classesA;S;16;_CPCibCustomViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;182E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;183E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;184E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;185E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;186E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;187E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;188E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;189E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;146E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;190E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;191E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;192E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;189E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;146E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;193E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;194E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;195E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;196E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;156E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;174E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;197E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;198E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;199E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;195E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;196E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;156E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;174E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;200E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;159E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;201E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;202E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;203E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;204E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;205E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;206E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;189E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;146E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;67E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;207E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;191E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;67E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;208E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;209E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;189E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;146E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;210E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;211E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;212E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;143E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;213E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;214E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;79E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;215E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;215E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;216E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;217E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;218E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;219E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;189E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;146E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;220E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;221E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;222E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;223E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;189E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;146E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;224E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;225E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;6;$afontD;K;6;CP$UIDd;3;156E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;157E;K;11;$aalignmentD;K;6;CP$UIDd;3;158E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;159E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;226E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;157E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;158E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;79E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;227E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;228E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;79E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;6;$afontD;K;6;CP$UIDd;3;156E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;157E;K;11;$aalignmentD;K;6;CP$UIDd;3;174E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;159E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;229E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;157E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;174E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;230E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;231E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;143E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;213E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;232E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;85E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;233E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;233E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;234E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;235E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;236E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;237E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;189E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;146E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;238E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;236E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;239E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;189E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;171E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;240E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;236E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;241E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;242E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;85E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;243E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;236E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;85E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;244E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;146E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;50E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;139E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;140E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;230E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;245E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;143E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;144E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;246E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;91E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;247E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;247E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;248E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;E;D;K;6;$classD;K;6;CP$UIDd;2;68E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;249E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;250E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;112E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;169E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;157E;K;7;$aimageD;K;6;CP$UIDd;3;252E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;253E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;254E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;189E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;146E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;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;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;255E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;256E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;257E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;146E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;174E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;258E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;259E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;146E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;174E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;260E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;157E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;261E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;262E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;157E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;263E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;264E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;262E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;195E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;265E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;266E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;262E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;174E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;267E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;268E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;262E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;195E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;269E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;270E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;262E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;158E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;271E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;272E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;262E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;195E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;273E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;274E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;262E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;275E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;276E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;277E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;262E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;195E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;278E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;279E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;280E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;256E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;281E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;25;CPViewAutoresizesSubviewsD;K;6;CP$UIDd;3;146E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;12;CPBoxTypeKeyD;K;6;CP$UIDd;3;146E;K;18;CPBoxBorderTypeKeyD;K;6;CP$UIDd;3;174E;K;19;CPBoxBorderColorKeyD;K;6;CP$UIDd;3;282E;K;17;CPBoxFillColorKeyD;K;6;CP$UIDd;3;259E;K;20;CPBoxCornerRadiusKeyD;K;6;CP$UIDd;3;146E;K;19;CPBoxBorderWidthKeyD;K;6;CP$UIDd;3;174E;K;10;CPBoxTitleD;K;6;CP$UIDd;3;283E;K;18;CPBoxTitlePositionD;K;6;CP$UIDd;3;157E;K;14;CPBoxTitleViewD;K;6;CP$UIDd;1;0E;K;21;CPBoxContentMarginKeyD;K;6;CP$UIDd;3;261E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;284E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;275E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;276E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;277E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;284E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;195E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;285E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;279E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;284E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;158E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;271E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;272E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;284E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;195E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;286E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;274E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;284E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;174E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;267E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;268E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;284E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;195E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;287E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;270E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;284E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;157E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;263E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;264E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;284E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;195E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;288E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;266E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;289E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;290E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;6;$afontD;K;6;CP$UIDd;3;156E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;157E;K;11;$aalignmentD;K;6;CP$UIDd;3;158E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;159E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;291E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;157E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;158E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;71E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;292E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;195E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;196E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;156E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;11;$aalignmentD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;174E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;294E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;170E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;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;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;91E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;295E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;290E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;91E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;153E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;154E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;K;6;$afontD;K;6;CP$UIDd;3;156E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;157E;K;11;$aalignmentD;K;6;CP$UIDd;3;158E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;159E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;291E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;161E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;162E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;162E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;164E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;157E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;158E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;107E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;296E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;297E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;90E;E;E;S;8;delegateS;6;buttonS;8;checkboxS;10;clickCountS;11;imageButtonS;19;imageDisabledButtonS;21;momentaryChangeButtonS;12;monkeyButtonS;14;monkeyCheckboxS;19;monkeyCheckboxLabelS;11;monkeyLabelS;13;multiCheckboxS;12;positionMenuS;12;pushInButtonS;15;pushOnOffButtonD;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;126E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;174E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;298E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;149E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;259E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;300E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;157E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;156E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;157E;K;11;$aalignmentD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;174E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;301E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;302E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;303E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;305E;E;S;6;radio1D;K;6;$classD;K;6;CP$UIDd;3;126E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;74E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;306E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;74E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;149E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;259E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;299E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;168E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;157E;K;16;$aimage-positionD;K;6;CP$UIDd;3;157E;K;6;$afontD;K;6;CP$UIDd;3;156E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;146E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;157E;K;11;$aalignmentD;K;6;CP$UIDd;3;146E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;146E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;158E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;307E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;162E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;174E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;174E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;159E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;157E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;146E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;302E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;303E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;305E;E;S;6;radio2S;9;theWindowS;12;toggleButtonS;17;setImagePosition:S;11;countClick:S;20;switchSelectedRadio:S;12;monkeyClick:S;29;setMonkeyButtonHighlightedBy:S;28;setMonkeyButtonShowsStateBy:S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1954021376S;24;{{200, 665}, {380, 253}}S;22;{{0, 0}, {2560, 1418}}d;1;7S;19;CPButton Image Testd;1;0S;20;{{0, 0}, {380, 253}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;67E;E;E;d;2;18S;6;normalS;21;{{40, 213}, {95, 17}}S;18;{{0, 0}, {95, 17}}d;2;36S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;308E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;309E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;159E;E;d;1;2d;1;4T;S;15;Image Position:d;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;163E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;310E;E;S;23;{{140, 211}, {202, 24}}S;19;{{0, 0}, {202, 24}}S;12;popup-buttonS;8;borderedD;K;6;$classD;K;6;CP$UIDd;3;155E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;308E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;309E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;159E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;159E;E;S;0;d;2;12S;8;No ImageS;17;_popUpItemAction:d;1;1d;7;1048576S;10;Image OnlyS;4;LeftS;5;RightS;5;BelowS;5;AboveS;8;OverlapsS;22;{{20, 20}, {340, 174}}S;20;{{0, 0}, {340, 174}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;69E;E;E;S;9;BezelViewS;20;{{22, 15}, {96, 24}}S;18;{{0, 0}, {96, 24}}S;6;Buttond;2;14S;22;{{141, 15}, {176, 24}}S;19;{{0, 0}, {176, 24}}S;17;Button With ImageS;20;{{29, 65}, {85, 40}}S;18;{{0, 0}, {85, 40}}S;9;check-boxS;8;selectedS;8;CheckboxS;22;{{163, 65}, {152, 40}}S;19;{{0, 0}, {152, 40}}S;19;Multistate CheckboxS;22;{{31, 120}, {168, 40}}S;19;{{0, 0}, {168, 40}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;E;E;S;23;{{198, 128}, {119, 24}}S;19;{{0, 0}, {119, 24}}S;14;Set radio 2 OnS;22;{{141, 45}, {176, 24}}S;17;disabled+borderedS;19;Disabled With ImageS;13;AppControllerd;9;611844096S;23;{{200, 333}, {318, 85}}d;2;15S;22;Continuous Button TestS;19;{{0, 0}, {318, 85}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;21;{{18, 18}, {120, 24}}S;19;{{0, 0}, {120, 24}}S;13;Normal ButtonS;22;{{150, 18}, {146, 24}}S;19;{{0, 0}, {146, 24}}d;5;65540S;17;Continuous ButtonS;21;{{17, 49}, {101, 17}}S;19;{{0, 0}, {101, 17}}S;16;Recorded clicks:S;22;{{126, 49}, {169, 17}}S;19;{{0, 0}, {169, 17}}S;1;0d;9;611845120S;25;{{1000, 262}, {271, 156}}S;25;CPButton Button Type TestS;20;{{0, 0}, {271, 156}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;21;{{29, 18}, {208, 24}}S;19;{{0, 0}, {208, 24}}S;26;Momentary Push In (Normal)S;21;{{29, 50}, {208, 24}}S;18;Push On / Push OffS;21;{{29, 82}, {208, 24}}S;6;Toggled;1;3S;22;{{29, 114}, {208, 24}}S;16;Momentary ChangeS;25;{{1000, 698}, {480, 220}}S;18;Monkey Button TestS;20;{{0, 0}, {480, 220}}D;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;2;94E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;E;E;S;22;{{151, 48}, {174, 24}}S;19;{{0, 0}, {174, 24}}D;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;251E;K;4;nameD;K;6;CP$UIDd;3;311E;K;12;defaultValueD;K;6;CP$UIDd;1;0E;K;6;valuesD;K;6;CP$UIDd;3;313E;E;S;13;Monkey ButtonS;15;Alternate TitleS;22;{{17, 90}, {222, 114}}S;20;{{0, 0}, {222, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;262E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;163E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;3;163E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;315E;E;S;13;Highlights ByS;6;{0, 0}D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;94E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;323E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;324E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;325E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;94E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;149E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;E;S;20;{{16, 8}, {137, 18}}S;19;{{0, 0}, {137, 18}}D;K;6;$classD;K;6;CP$UIDd;3;155E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;308E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;316E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;159E;E;S;16;CPPushInCellMaskS;21;{{16, 28}, {152, 18}}S;19;{{0, 0}, {152, 18}}D;K;6;$classD;K;6;CP$UIDd;3;155E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;308E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;316E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;159E;E;S;18;CPContentsCellMaskS;21;{{16, 48}, {172, 18}}S;19;{{0, 0}, {172, 18}}D;K;6;$classD;K;6;CP$UIDd;3;155E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;308E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;316E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;159E;E;S;20;CPChangeGrayCellMaskd;1;8S;21;{{16, 68}, {218, 18}}S;19;{{0, 0}, {218, 18}}D;K;6;$classD;K;6;CP$UIDd;3;155E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;308E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;316E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;159E;E;S;26;CPChangeBackgroundCellMaskS;23;{{241, 90}, {222, 114}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;284E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;163E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;317E;E;S;14;Shows State ByD;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;146E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;323E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;324E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;327E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;99E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;149E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;150E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;308E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;316E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;308E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;316E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;308E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;316E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;3;155E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;308E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;316E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;162E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;159E;E;S;22;{{332, 52}, {125, 17}}S;19;{{0, 0}, {125, 17}}S;5;LabelS;21;{{151, 7}, {138, 32}}S;19;{{0, 0}, {138, 32}}S;15;Monkey CheckboxS;22;{{307, 15}, {125, 17}}S;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;S;18;{{0, 0}, {82, 40}}S;5;radioS;17;selected+borderedS;7;Radio 1f;3;0.5f;4;0.05D;K;10;$classnameS;12;CPRadioGroupK;8;$classesA;S;12;CPRadioGroupS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;304E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;318E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;127E;E;S;19;{{86, 0}, {82, 40}}S;7;Radio 2S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;319E;D;K;6;CP$UIDd;3;319E;D;K;6;CP$UIDd;3;319E;D;K;6;CP$UIDd;3;174E;E;E;S;5;imageD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;312E;K;10;CP.objectsD;K;11;highlightedD;K;6;CP$UIDd;3;321E;K;6;normalD;K;6;CP$UIDd;3;322E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;326E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;146E;E;E;d;2;11D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;326E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;328E;E;f;18;0.6862745098039216D;K;10;$classnameS;20;_CPCibCustomResourceK;8;$classesA;S;20;_CPCibCustomResourceS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;320E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;329E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;330E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;331E;E;D;K;6;$classD;K;6;CP$UIDd;3;320E;K;32;_CPCibCustomResourceClassNameKeyD;K;6;CP$UIDd;3;329E;K;35;_CPCibCustomResourceResourceNameKeyD;K;6;CP$UIDd;3;332E;K;33;_CPCibCustomResourcePropertiesKeyD;K;6;CP$UIDd;3;333E;E;S;20;{{1, 15}, {220, 98}}S;19;{{0, 0}, {220, 98}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;E;E;f;4;0.42D;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;102E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;100E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;129E;E;E;S;7;CPImageS;16;CPRemoveTemplateD;K;6;$classD;K;6;CP$UIDd;3;312E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;335E;E;E;S;13;CPAddTemplateD;K;6;$classD;K;6;CP$UIDd;3;312E;K;10;CP.objectsD;K;4;sizeD;K;6;CP$UIDd;3;336E;E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;334E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;337E;E;D;K;6;$classD;K;6;CP$UIDd;3;334E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;337E;E;S;22;{"width":0,"height":0}E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPButtonTest/Resources/MainMenu.xib b/Tests/Manual/CPButtonTest/Resources/MainMenu.xib index b4a535972..791ef1c35 100644 --- a/Tests/Manual/CPButtonTest/Resources/MainMenu.xib +++ b/Tests/Manual/CPButtonTest/Resources/MainMenu.xib @@ -46,7 +46,7 @@ 7 2 - {{100, 541}, {380, 253}} + {{200, 500}, {380, 253}} 1954021376 CPButton Image Test NSWindow @@ -487,7 +487,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - {{0, 0}, {1440, 878}} + {{0, 0}, {2560, 1418}} {10000000000000, 10000000000000} YES @@ -497,7 +497,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 15 2 - {{100, 400}, {318, 85}} + {{200, 1000}, {318, 85}} 611844096 Continuous Button Test NSWindow @@ -578,6 +578,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{126, 20}, {175, 17}} + YES 68157504 @@ -596,14 +597,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - {{0, 0}, {1440, 878}} + {{0, 0}, {2560, 1418}} {10000000000000, 10000000000000} YES 15 2 - {{500, 639}, {271, 156}} + {{1000, 1000}, {271, 156}} 611845120 CPButton Button Type Test NSWindow @@ -694,6 +695,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{25, 12}, {220, 32}} + _NS:9 YES @@ -719,21 +721,21 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA _NS:20 - {{0, 0}, {1440, 878}} + {{0, 0}, {2560, 1418}} {10000000000000, 10000000000000} YES 7 2 - {{500, 380}, {480, 225}} + {{1000, 500}, {480, 220}} 611845120 Monkey Button Test NSWindow - + 256 @@ -741,6 +743,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{147, 142}, {186, 32}} + _NS:9 YES @@ -781,6 +784,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 72}, {137, 18}} + _NS:9 2 @@ -812,6 +816,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 52}, {152, 18}} + _NS:9 1 @@ -839,6 +844,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 32}, {172, 18}} + _NS:9 4 @@ -866,6 +872,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 12}, {218, 18}} + _NS:9 8 @@ -891,12 +898,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {220, 98}} + _NS:11 {{17, 16}, {222, 114}} + _NS:9 {0, 0} @@ -935,6 +944,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 72}, {137, 18}} + _NS:9 2 @@ -962,6 +972,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 52}, {152, 18}} + _NS:9 1 @@ -989,6 +1000,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 32}, {172, 18}} + _NS:9 4 @@ -1016,6 +1028,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 12}, {218, 18}} + + _NS:9 8 YES @@ -1040,12 +1054,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {220, 98}} + _NS:11 {{241, 16}, {222, 114}} + _NS:9 {0, 0} @@ -1071,6 +1087,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{332, 152}, {131, 17}} + _NS:1505 YES @@ -1091,6 +1108,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{151, 181}, {138, 32}} + _NS:9 YES @@ -1117,6 +1135,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{307, 189}, {131, 17}} + _NS:1505 YES @@ -1133,11 +1152,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA NO - {480, 225} + {480, 220} + + _NS:20 - {{0, 0}, {1440, 878}} + {{0, 0}, {2560, 1418}} {10000000000000, 10000000000000} YES @@ -2044,6 +2065,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin {{502, 1195}, {271, 156}} @@ -2056,6 +2079,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin {{502, 943}, {480, 210}} @@ -2098,7 +2123,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - 1269 + 1271 diff --git a/Tools/nib2cib/NSWindowTemplate.j b/Tools/nib2cib/NSWindowTemplate.j index 5e79cd353..7f8df2686 100644 --- a/Tools/nib2cib/NSWindowTemplate.j +++ b/Tools/nib2cib/NSWindowTemplate.j @@ -23,15 +23,20 @@ @import -var NSBorderlessWindowMask = 0x00, - NSTitledWindowMask = 0x01, - NSClosableWindowMask = 0x02, - NSMiniaturizableWindowMask = 0x04, - NSResizableWindowMask = 0x08, - NSUtilityWindowMask = 0x10, - NSDocModalWindowMask = 0x40, - NSTexturedBackgroundWindowMask = 0x100, - NSHUDBackgroundWindowMask = 0x2000, +var NSBorderlessWindowMask = 0x00, + NSTitledWindowMask = 0x01, + NSClosableWindowMask = 0x02, + NSMiniaturizableWindowMask = 0x04, + NSResizableWindowMask = 0x08, + NSUtilityWindowMask = 0x10, + NSDocModalWindowMask = 0x40, + NSTexturedBackgroundWindowMask = 0x100, + NSHUDBackgroundWindowMask = 0x2000, + + NSPositionFlexibleRight = 1 << 19, + NSPositionFlexibleLeft = 1 << 20, + NSPositionFlexibleBottom = 1 << 21, + NSPositionFlexibleTop = 1 << 22, NSAutorecalculatesKeyViewLoopWTFlag = 0x800; From 7c56ea47dd1ef418b2aaac0b1de0a574795c3ceb Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 15 Oct 2012 01:00:29 +0100 Subject: [PATCH 49/63] Skeleton `CPColor colorUsingColorSpaceName:`. The method does nothing but is provided for API compatibility with `NSColor`. --- AppKit/CPColor.j | 8 ++++++++ AppKit/CPGraphics.j | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/AppKit/CPColor.j b/AppKit/CPColor.j index 4446e92b3..8a0ed9e02 100644 --- a/AppKit/CPColor.j +++ b/AppKit/CPColor.j @@ -611,6 +611,14 @@ function CPColorWithImages() return [[[self class] alloc] _initWithRGBA:components]; } +/*! + Returns the receiver. This method is a placeholder that does nothing but may be implemented in the future. +*/ +- (CPColor)colorUsingColorSpaceName:(id)aColorSpaceName +{ + return self; +} + /*! Returns an array with the HSB values for this color. The index values are ordered as: diff --git a/AppKit/CPGraphics.j b/AppKit/CPGraphics.j index 494b70afe..cbf51c440 100644 --- a/AppKit/CPGraphics.j +++ b/AppKit/CPGraphics.j @@ -23,6 +23,16 @@ @import "CPColor.j" @import "CPGraphicsContext.j" +CPCalibratedWhiteColorSpace = @"CalibratedWhiteColorSpace"; +CPCalibratedBlackColorSpace = @"CalibratedBlackColorSpace"; +CPCalibratedRGBColorSpace = @"CalibratedRGBColorSpace"; +CPDeviceWhiteColorSpace = @"DeviceWhiteColorSpace"; +CPDeviceBlackColorSpace = @"DeviceBlackColorSpace"; +CPDeviceRGBColorSpace = @"DeviceRGBColorSpace"; +CPDeviceCMYKColorSpace = @"DeviceCMYKColorSpace"; +CPNamedColorSpace = @"NamedColorSpace"; +CPPatternColorSpace = @"PatternColorSpace"; +CPCustomColorSpace = @"CustomColorSpace"; function CPDrawTiledRects( /* CGRect */ boundsRect, From e530831b817f1a819fc37ad68e03fdd4f05fefaf Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 15 Oct 2012 01:09:21 +0100 Subject: [PATCH 50/63] `+ CPFont systemFontSizeForControlSize:`. --- AppKit/CPFont.j | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/AppKit/CPFont.j b/AppKit/CPFont.j index 329a12111..6b63f6933 100644 --- a/AppKit/CPFont.j +++ b/AppKit/CPFont.j @@ -174,6 +174,21 @@ following: return _CPFontSystemFontSize; } ++ (float)systemFontSizeForControlSize:(CPControlSize)aSize +{ + // TODO These sizes should be themable or made less arbitrary in some other way. + switch (aSize) + { + case CPSmallControlSize: + return _CPFontSystemFontSize - 1; + case CPMiniControlSize: + return _CPFontSystemFontSize - 2; + case CPRegularControlSize: + default: + return _CPFontSystemFontSize; + } +} + /*! Sets the default system font size. */ From fd138cfae79996ee8af723bfd5d6917d166480fd Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 15 Oct 2012 01:10:08 +0100 Subject: [PATCH 51/63] `- CPBox setTitleFont` support. --- AppKit/CPBox.j | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/AppKit/CPBox.j b/AppKit/CPBox.j index 8151b33d6..ee4b63a3f 100644 --- a/AppKit/CPBox.j +++ b/AppKit/CPBox.j @@ -322,6 +322,16 @@ CPBelowBottom = 6; [self _manageTitlePositioning]; } +- (CPFont)titleFont +{ + return [_titleView font]; +} + +- (void)setTitleFont:(CPFont)aFont +{ + [_titleView setFont:aFont]; +} + - (void)_manageTitlePositioning { if (_titlePosition == CPNoTitle) From ca4e034a3be51a0f52b3971036c130bc5edeba9c Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 15 Oct 2012 02:47:37 +0100 Subject: [PATCH 52/63] `CPBezierPath appendBezierPathWithArcFromPoint:toPoint:radius:` and `CGPathAddArcToPoint`. --- AppKit/CPBezierPath.j | 5 +++++ AppKit/CoreGraphics/CGContextCanvas.j | 2 +- AppKit/CoreGraphics/CGContextVML.j | 4 ++-- AppKit/CoreGraphics/CGPath.j | 17 +++++++++++++++++ 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/AppKit/CPBezierPath.j b/AppKit/CPBezierPath.j index 908c5ca2a..de90822c4 100644 --- a/AppKit/CPBezierPath.j +++ b/AppKit/CPBezierPath.j @@ -272,6 +272,11 @@ var DefaultLineWidth = 1.0; CGPathAddPath(_path, nil, CGPathWithRoundedRectangleInRect(rect, xRadius, yRadius, YES, YES, YES, YES)); } +- (void)appendBezierPathWithArcFromPoint:(CGPoint)fromPoint toPoint:(CGPoint)toPoint radius:(float)radius +{ + CGPathAddArcToPoint(_path, null, fromPoint.x, fromPoint.y, toPoint.x, toPoint.y, radius); +} + /*! Append the contents of a CPBezierPath object. */ diff --git a/AppKit/CoreGraphics/CGContextCanvas.j b/AppKit/CoreGraphics/CGContextCanvas.j index 5660c9cc3..65deeb0cc 100644 --- a/AppKit/CoreGraphics/CGContextCanvas.j +++ b/AppKit/CoreGraphics/CGContextCanvas.j @@ -129,7 +129,7 @@ function CGContextAddPath(aContext, aPath) break; case kCGPathElementAddArc: _CGContextAddArcCanvas(aContext, element.x, element.y, element.radius, element.startAngle, element.endAngle, element.clockwise); break; - case kCGPathElementAddArcTo: //_CGContextAddArcToPointCanvas(aContext, element.cp1x, element.cp1.y, element.cp2.x, element.cp2y, element.radius); + case kCGPathElementAddArcToPoint: _CGContextAddArcToPointCanvas(aContext, element.p1x, element.p1y, element.p2x, element.p2y, element.radius); break; } } diff --git a/AppKit/CoreGraphics/CGContextVML.j b/AppKit/CoreGraphics/CGContextVML.j index e3b09caf9..66d17d89f 100644 --- a/AppKit/CoreGraphics/CGContextVML.j +++ b/AppKit/CoreGraphics/CGContextVML.j @@ -215,7 +215,7 @@ function CGContextDrawPath(aContext, aMode) COORD(start.x), ',', COORD(start.y), " ", COORD(end.x), ',', COORD(end.y)); break; - case kCGPathElementAddArcTo: break; + case kCGPathElementAddArcToPoint: break; } // TODO: Following is broken for curves due to @@ -332,4 +332,4 @@ function CGContextDrawLinearGradient(aContext, aGradient, aStartPoint, anEndPoin // aContext.buffer += vml.join(""); // else // aContext.DOMElement.innerHTML = vml.join(""); -} \ No newline at end of file +} diff --git a/AppKit/CoreGraphics/CGPath.j b/AppKit/CoreGraphics/CGPath.j index bc0fe4c2f..6d6a77301 100644 --- a/AppKit/CoreGraphics/CGPath.j +++ b/AppKit/CoreGraphics/CGPath.j @@ -118,6 +118,17 @@ function CGPathAddArc(aPath, aTransform, x, y, aRadius, aStartAngle, anEndAngle, function CGPathAddArcToPoint(aPath, aTransform, x1, y1, x2, y2, aRadius) { + var p1 = _CGPointMake(x1, y1), + p2 = _CGPointMake(x2, y2); + + if (aTransform) + { + p1 = _CGPointApplyAffineTransform(p1, aTransform); + p2 = _CGPointApplyAffineTransform(p2, aTransform); + } + + aPath.current = p2; + aPath.elements[aPath.count++] = { type:kCGPathElementAddArcToPoint, p1x:p1.x, p1y:p1.y, p2x:p2.x, p2y:p2.y, radius:aRadius }; } function CGPathAddCurveToPoint(aPath, aTransform, cp1x, cp1y, cp2x, cp2y, x, y) @@ -186,6 +197,12 @@ function CGPathAddPath(aPath, aTransform, anotherPath) element.endAngle, element.isClockwise); break; + case kCGPathElementAddArcToPoint: CGPathAddArcToPoint(aPath, aTransform, + element.p1x, element.p1y, + element.p2x, element.p2y, + element.radius); + break; + case kCGPathElementAddQuadCurveToPoint: CGPathAddQuadCurveToPoint(aPath, aTransform, element.cpx, element.cpy, element.x, element.y); From 9c2cb393c2f208bdeaebf3f86018a4101f71d100 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 15 Oct 2012 02:49:11 +0100 Subject: [PATCH 53/63] `CGContextIsPathEmpty` for non-canvas based platforms. Unfortunately there doesn't seem to be a way to get the current path from a canvas context so this function only works in VML mode for now. --- AppKit/CoreGraphics/CGContext.j | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/AppKit/CoreGraphics/CGContext.j b/AppKit/CoreGraphics/CGContext.j index a67d7b200..883ef2241 100644 --- a/AppKit/CoreGraphics/CGContext.j +++ b/AppKit/CoreGraphics/CGContext.j @@ -321,6 +321,16 @@ function CGContextClosePath(aContext) CGPathCloseSubpath(aContext.path); } +/*! + Return YES if the current path in the given context is empty. + @param aContext the CGContext to examine + @return BOOL +*/ +function CGContextIsPathEmpty(aContext) +{ + return (!aContext.path || CGPathIsEmpty(aContext.path)); +} + /*! Moves the current location of aContext to the given x and y coordinates @param aContext the CGContext to move From 8819fd5fd71f6c2a510557ec0ccda22f19db9c4c Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 15 Oct 2012 02:55:04 +0100 Subject: [PATCH 54/63] Improve `nib2cib` support for `NSMatrix` based radio groups. Without this fix, a matrix with a target-action pair would crash when the cib was loaded due to the matrix having been replaced with a `CPView` (which cannot take a target-action pair). Now if the matrix is for radio buttons, the action connection for the matrix is made to the `CPRadioGroup` instead and works as expected when radio selections are made. --- Tools/nib2cib/NSMatrix.j | 1 + 1 file changed, 1 insertion(+) diff --git a/Tools/nib2cib/NSMatrix.j b/Tools/nib2cib/NSMatrix.j index 4f061a52e..f3d09cdd0 100644 --- a/Tools/nib2cib/NSMatrix.j +++ b/Tools/nib2cib/NSMatrix.j @@ -82,6 +82,7 @@ var NSMatrixRadioModeMask = 0x40000000, [self setBackgroundColor:backgroundColor]; self.isa = [CPView class]; + NIB_CONNECTION_EQUIVALENCY_TABLE[[self UID]] = radioGroup; } else { From eba3e95b81edf128a4af455aee34fbde61376188 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 15 Oct 2012 11:10:23 +0100 Subject: [PATCH 55/63] `CPBezierPath controlPointBounds` and `CGPathGetBoundingBox`. --- AppKit/CPBezierPath.j | 13 +++++ AppKit/CoreGraphics/CGPath.j | 102 +++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) diff --git a/AppKit/CPBezierPath.j b/AppKit/CPBezierPath.j index de90822c4..213a61e96 100644 --- a/AppKit/CPBezierPath.j +++ b/AppKit/CPBezierPath.j @@ -165,6 +165,19 @@ var DefaultLineWidth = 1.0; CGPathAddCurveToPoint(_path, nil, controlPoint1.x, controlPoint1.y, controlPoint2.x, controlPoint2.y, endPoint.x, endPoint.y); } +- (CGRect)bounds +{ + // TODO: this should return this. The controlPointBounds is not a tight fit. + // return CGPathGetPathBoundingBox(_path); + + return [self controlPointBounds]; +} + +- (CGRect)controlPointBounds +{ + return CGPathGetBoundingBox(_path); +} + /*! Create a line segment between the first and last points in the subpath, closing it. */ diff --git a/AppKit/CoreGraphics/CGPath.j b/AppKit/CoreGraphics/CGPath.j index 6d6a77301..9db475c66 100644 --- a/AppKit/CoreGraphics/CGPath.j +++ b/AppKit/CoreGraphics/CGPath.j @@ -406,6 +406,108 @@ function CGPathIsEmpty(aPath) return !aPath || aPath.count == 0; } +/*! + Calculate the smallest rectangle to contain both the path of the receiver and all control points. +*/ +function CGPathGetBoundingBox(aPath) +{ + if (!aPath || !aPath.count) + return _CGRectMakeZero(); + + var ox = 0, + oy = 0, + rx = 0, + ry = 0, + movePoint = nil; + + function addPoint(x, y) + { + ox = MIN(ox, x); + oy = MIN(oy, y); + rx = MAX(rx, x); + ry = MAX(ry, y); + } + + for (var i = 0, count = aPath.count; i < count; ++i) + { + var element = aPath.elements[i]; + + // Just enclose all the control points. The curves must be inside of the control points. + // This won't work for CGPathGetPathBoundingBox. + switch (element.type) + { + case kCGPathElementAddLineToPoint: + if (movePoint) + { + addPoint(movePoint.x, movePoint.y); + movePoint = nil; + } + + addPoint(element.x, element.y); + break; + + case kCGPathElementAddCurveToPoint: + if (movePoint) + { + addPoint(movePoint.x, movePoint.y); + movePoint = nil; + } + + addPoint(element.cp1x, element.cp1y); + addPoint(element.cp2x, element.cp2y); + addPoint(element.x, element.y); + break; + + case kCGPathElementAddArc: + if (movePoint) + { + addPoint(movePoint.x, movePoint.y); + movePoint = nil; + } + + addPoint(element.x, element.y); + break; + + case kCGPathElementAddArcToPoint: + if (movePoint) + { + addPoint(movePoint.x, movePoint.y); + movePoint = nil; + } + + addPoint(element.p1x, element.p1y); + addPoint(element.p2x, element.p2y); + break; + + case kCGPathElementAddQuadCurveToPoint: + if (movePoint) + { + addPoint(movePoint.x, movePoint.y); + movePoint = nil; + } + + addPoint(element.cpx, element.cpy); + addPoint(element.x, element.y); + break; + + case kCGPathElementMoveToPoint: + movePoint = _CGPointMake(element.x, element.y); + break; + + case kCGPathElementCloseSubpath: + if (movePoint) + { + addPoint(movePoint.x, movePoint.y); + movePoint = nil; + } + + break; + } + } + + return _CGRectMake(ox, oy, rx - ox, ry - oy); +} + /*! @} */ From 23adbd4407f01dae50e2d16f7812f172e986f2fe Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Thu, 18 Oct 2012 13:12:12 -0700 Subject: [PATCH 56/63] Improve tooltips API and avoid some sticky tooltips --- AppKit/CPView.j | 55 +--------------------- AppKit/Platform/DOM/CPPlatformWindow+DOM.j | 6 ++- AppKit/_CPToolTip.j | 45 +++++++++++++++++- 3 files changed, 51 insertions(+), 55 deletions(-) diff --git a/AppKit/CPView.j b/AppKit/CPView.j index 2382f5efb..cd2637470 100644 --- a/AppKit/CPView.j +++ b/AppKit/CPView.j @@ -98,9 +98,6 @@ var CPViewFlags = { }, CPViewHasCustomDrawRect = 1 << 0, CPViewHasCustomLayoutSubviews = 1 << 1; -var CPCurrentToolTip, - CPCurrentToolTipTimer, - CPToolTipDelay = 1.0; /*! @ingroup appkit @@ -246,8 +243,8 @@ var CPCurrentToolTip, - (void)_setupToolTipHandlers { _toolTipInstalled = NO; - _toolTipFunctionIn = function(e) { [self _fireToolTip]; } - _toolTipFunctionOut = function(e) { [self _invalidateToolTip]; }; + _toolTipFunctionIn = function(e) { [_CPToolTip scheduleToolTipForView:self]; } + _toolTipFunctionOut = function(e) { [_CPToolTip invalidateCurrentToolTipIfNeeded]; }; } + (CPSet)keyPathsForValuesAffectingFrame @@ -398,54 +395,6 @@ var CPCurrentToolTip, _toolTipInstalled = NO; } -/*! @ignore - Starts the tooltip timer. -*/ -- (void)_fireToolTip -{ - if (CPCurrentToolTipTimer) - { - [CPCurrentToolTipTimer invalidate]; - - if (CPCurrentToolTip) - [CPCurrentToolTip close]; - - CPCurrentToolTip = nil; - } - - if (_toolTip) - CPCurrentToolTipTimer = [CPTimer scheduledTimerWithTimeInterval:CPToolTipDelay target:self selector:@selector(_showToolTip:) userInfo:nil repeats:NO]; -} - -/*! @ignore - Stop the tooltip timer if any -*/ -- (void)_invalidateToolTip -{ - if (CPCurrentToolTipTimer) - { - [CPCurrentToolTipTimer invalidate]; - CPCurrentToolTipTimer = nil; - } - - if (CPCurrentToolTip) - { - [CPCurrentToolTip close]; - CPCurrentToolTip = nil; - } -} - -/*! @ignore - Actually shows the tooltip if any -*/ -- (void)_showToolTip:(CPTimer)aTimer -{ - if (CPCurrentToolTip) - [CPCurrentToolTip close]; - - CPCurrentToolTip = [_CPToolTip toolTipWithString:_toolTip]; -} - /*! Returns the container view of the receiver @return the receiver's containing view diff --git a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j index 5e2e74b00..1f7ebb803 100644 --- a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j +++ b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j @@ -113,13 +113,13 @@ @import "CPEvent.j" @import "CPText.j" @import "CPCompatibility.j" - @import "CPDOMWindowLayer.j" @import "CPPlatform.j" @import "CPPlatformWindow.j" @import "CPPlatformWindow+DOMKeys.j" +@import "_CPToolTip.j" // List of all open native windows var PlatformWindows = [CPSet set]; @@ -1242,6 +1242,10 @@ var resizeTimer = nil; else if (type === "mousedown") { + // If we receive a click event, then we invalidate any scheduled + // or visible tooltips + [_CPToolTip invalidateCurrentToolTipIfNeeded]; + var button = aDOMEvent.button; _mouseDownIsRightClick = button == 2 || (CPBrowserIsOperatingSystem(CPMacOperatingSystem) && button == 0 && modifierFlags & CPControlKeyMask); diff --git a/AppKit/_CPToolTip.j b/AppKit/_CPToolTip.j index db37f34e3..c67bf4b4c 100644 --- a/AppKit/_CPToolTip.j +++ b/AppKit/_CPToolTip.j @@ -27,7 +27,10 @@ _CPToolTipWindowMask = 1 << 27; var _CPToolTipHeight = 24.0, - _CPToolTipFontSize = 11.0; + _CPToolTipFontSize = 11.0, + _CPToolTipDelay = 1.0, + _CPToolTipCurrentToolTip, + _CPToolTipCurrentToolTipTimer; /*! @ingroup appkit This is a basic tooltip that behaves mostly like Cocoa ones. @@ -41,6 +44,46 @@ var _CPToolTipHeight = 24.0, #pragma mark - #pragma mark Class Methods +/*! @ignore + Invalidate any scheduled tooltips, or hide any visible one +*/ ++ (void)invalidateCurrentToolTipIfNeeded +{ + if (_CPToolTipCurrentToolTipTimer) + { + [_CPToolTipCurrentToolTipTimer invalidate]; + _CPToolTipCurrentToolTipTimer = nil; + } + + if (_CPToolTipCurrentToolTip) + { + [_CPToolTipCurrentToolTip close]; + _CPToolTipCurrentToolTip = nil; + } +} + +/*! @ignore + Schedule a tooltip for the given view + @param aView the view that might display the tooltip +*/ ++ (void)scheduleToolTipForView:(CPView)aView +{ + if (![aView toolTip] || ![[aView toolTip] length]) + return; + + [_CPToolTip invalidateCurrentToolTipIfNeeded]; + + var callbackFunction = function() { + [_CPToolTip invalidateCurrentToolTipIfNeeded]; + _CPToolTipCurrentToolTip = [_CPToolTip toolTipWithString:[aView toolTip]]; + }; + + _CPToolTipCurrentToolTipTimer = [CPTimer scheduledTimerWithTimeInterval:_CPToolTipDelay + callback:callbackFunction + repeats:NO]; +} + + /*! Returns an initialized _CPToolTip with the given text and attach it to given view. @param aString the content of the tooltip */ From a973be256639dfa20a33850f0474aeba550de85e Mon Sep 17 00:00:00 2001 From: Antoine Mercadal Date: Thu, 18 Oct 2012 15:26:15 -0700 Subject: [PATCH 57/63] fix bad import --- AppKit/Platform/DOM/CPPlatformWindow+DOM.j | 2 -- 1 file changed, 2 deletions(-) diff --git a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j index 1f7ebb803..77494eb2c 100644 --- a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j +++ b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j @@ -119,8 +119,6 @@ @import "CPPlatformWindow.j" @import "CPPlatformWindow+DOMKeys.j" -@import "_CPToolTip.j" - // List of all open native windows var PlatformWindows = [CPSet set]; From 391701fdc7af7c699bcb2fe9af8aafa8ded72be5 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 22 Oct 2012 15:02:28 +0100 Subject: [PATCH 58/63] `- CPBezierPath addClip` and `setClip`. This enables e.g. a `CPGradient` to be drawn clipped by an arbitrary bezier path. --- AppKit/CPBezierPath.j | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/AppKit/CPBezierPath.j b/AppKit/CPBezierPath.j index 213a61e96..c6633ce97 100644 --- a/AppKit/CPBezierPath.j +++ b/AppKit/CPBezierPath.j @@ -306,4 +306,21 @@ var DefaultLineWidth = 1.0; _path = CGPathCreateMutable(); } +- (void)addClip +{ + var ctx = [[CPGraphicsContext currentContext] graphicsPort]; + + CGContextAddPath(ctx, _path); + CGContextClip(ctx); +} + +- (void)setClip +{ + var ctx = [[CPGraphicsContext currentContext] graphicsPort]; + + CGContextBeginPath(ctx); + CGContextAddPath(ctx, _path); + CGContextClip(ctx); +} + @end From 4bedd52e162fe3a4ff51df1d65211757cb2e7f3f Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 22 Oct 2012 15:03:32 +0100 Subject: [PATCH 59/63] `CPGraphicsContext saveGraphicsState` and `restoreGraphicsState`. --- AppKit/CPGraphicsContext.j | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/AppKit/CPGraphicsContext.j b/AppKit/CPGraphicsContext.j index 741cca2d0..1299fdf0b 100644 --- a/AppKit/CPGraphicsContext.j +++ b/AppKit/CPGraphicsContext.j @@ -25,7 +25,8 @@ @import "CGContext.j" -var CPGraphicsContextCurrent = nil; +var CPGraphicsContextCurrent = nil, + CPGraphicsContextThreadStack = nil; /*! @ingroup appkit @@ -52,6 +53,28 @@ var CPGraphicsContextCurrent = nil; CPGraphicsContextCurrent = aGraphicsContext; } ++ (void)saveGraphicsState +{ + if (!CPGraphicsContextCurrent) + return; + + if (!CPGraphicsContextThreadStack) + CPGraphicsContextThreadStack = [CPMutableArray array]; + + [CPGraphicsContextThreadStack addObject:CPGraphicsContextCurrent]; + [CPGraphicsContextCurrent saveGraphicsState]; +} + ++ (void)restoreGraphicsState +{ + var lastContext = [CPGraphicsContextThreadStack lastObject]; + if (lastContext) + { + [lastContext restoreGraphicsState]; + [CPGraphicsContextThreadStack removeLastObject]; + } +} + /*! Creates a graphics context with a provided port. @param aContext the context to initialize with @@ -99,4 +122,14 @@ var CPGraphicsContextCurrent = nil; return YES; } +- (void)saveGraphicsState +{ + CGContextSaveGState(_graphicsPort); +} + +- (void)restoreGraphicsState +{ + CGContextRestoreGState(_graphicsPort); +} + @end From 0f5d459ed8c0c1df7d9669c6112b6840bae3e50f Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Tue, 23 Oct 2012 11:21:42 +0100 Subject: [PATCH 60/63] Fixed: collection view crash on unepexted drag events. --- AppKit/CPCollectionView.j | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/AppKit/CPCollectionView.j b/AppKit/CPCollectionView.j index 813b4573d..e1c934f4c 100644 --- a/AppKit/CPCollectionView.j +++ b/AppKit/CPCollectionView.j @@ -690,6 +690,10 @@ - (void)mouseDragged:(CPEvent)anEvent { + // Don't crash if we never registered the intial click. + if (!_mouseDownEvent) + return; + var locationInWindow = [anEvent locationInWindow], mouseDownLocationInWindow = [_mouseDownEvent locationInWindow]; From 90d27133b0024915b1b0f6b298dd12e80ff68824 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Tue, 23 Oct 2012 11:22:24 +0100 Subject: [PATCH 61/63] Fixed: relative URLs were deemed to fail the SOP test by web views. --- AppKit/CPWebView.j | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/AppKit/CPWebView.j b/AppKit/CPWebView.j index 020f695ac..57717d744 100644 --- a/AppKit/CPWebView.j +++ b/AppKit/CPWebView.j @@ -1032,6 +1032,11 @@ CPWebViewAppKitScrollMaxPollCount = 3; var documentURL = [CPURL URLWithString:window.location.href]; if ([documentURL isFileURL] && CPFeatureIsCompatible(CPSOPDisabledFromFileURLs)) return YES; + + // Relative URLs always pass the SOP. + if (![self scheme] && ![self host] && ![self port]) + return YES; + return ([documentURL scheme] == [self scheme] && [documentURL host] == [self host] && [documentURL port] == [self port]); } From fb155dec581299a68b2d2f157c4c633ddaf97d48 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Tue, 23 Oct 2012 11:44:21 +0100 Subject: [PATCH 62/63] Allow non-string tooltips. Technically the tooltip should be a `CPString` but if a date or a number is passed this will now work without a crash. --- AppKit/CPView.j | 3 +++ 1 file changed, 3 insertions(+) diff --git a/AppKit/CPView.j b/AppKit/CPView.j index cd2637470..a1b1d42ba 100644 --- a/AppKit/CPView.j +++ b/AppKit/CPView.j @@ -333,6 +333,9 @@ var CPViewFlags = { }, if (_toolTip == aToolTip) return; + if (aToolTip && ![aToolTip isKindOfClass:CPString]) + aToolTip = [aToolTip description]; + _toolTip = aToolTip; if (_toolTip) From 7de4fe7afad4bb552e61ca1270fabf475b0aa1dc Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Tue, 23 Oct 2012 15:24:10 +0100 Subject: [PATCH 63/63] Fixed: automatic table view sort descriptors didn't work for deeper bindings. If a table view column showed for example `arrangedObjects.user.name`, it would try to sort arranged objects by `name` instead of `user.name`. --- AppKit/CPTableColumn.j | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AppKit/CPTableColumn.j b/AppKit/CPTableColumn.j index 6a1765cad..335da30eb 100644 --- a/AppKit/CPTableColumn.j +++ b/AppKit/CPTableColumn.j @@ -582,7 +582,7 @@ CPTableColumnUserResizingMask = 1 << 1; return nil; var keyPath = [_info objectForKey:CPObservedKeyPathKey], - dotIndex = keyPath.lastIndexOf("."); + dotIndex = keyPath.indexOf("."); if (dotIndex === CPNotFound) return nil;