ColorEditDialog.st
author Patrik Svestka <patrik.svestka@gmail.com>
Wed, 14 Nov 2018 12:07:51 +0100
branchjv
changeset 3630 5e718e0a754e
parent 3194 86cf12ddc8fd
child 3519 4fbc55af0d28
permissions -rw-r--r--
Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present

- All source *.st files are now Unicode UTF8 without BOM
Files are in two groups (fileOut works this way in Smalltalk/X):
- containing a unicode character have "{ Encoding: utf8 }" at the header
- ASCII only are without the header
cg@1840
     1
"
cg@1840
     2
 COPYRIGHT (c) 1995 by eXept Software AG
cg@1840
     3
              All Rights Reserved
cg@1840
     4
cg@1840
     5
 This software is furnished under a license and may be used
cg@1840
     6
 only in accordance with the terms of that license and with the
cg@1840
     7
 inclusion of the above copyright notice.   This software may not
cg@1840
     8
 be provided or otherwise made available to, or used by, any
cg@1840
     9
 other person.  No title to or ownership of the software is
cg@1840
    10
 hereby transferred.
cg@1840
    11
"
cg@1840
    12
"{ Package: 'stx:libtool2' }"
cg@1840
    13
cg@3179
    14
"{ NameSpace: Smalltalk }"
cg@3179
    15
cg@1840
    16
SimpleDialog subclass:#ColorEditDialog
cg@2224
    17
	instanceVariableNames:'red green blue hue light saturation colorNameHolder
cg@2831
    18
		htmlColorNameHolder colorDefinitionStringHolder previewBox
cg@2831
    19
		brightnessStringHolder'
cg@1840
    20
	classVariableNames:''
cg@1840
    21
	poolDictionaries:''
cg@1840
    22
	category:'Interface-UIPainter'
cg@1840
    23
!
cg@1840
    24
cg@1840
    25
!ColorEditDialog class methodsFor:'documentation'!
cg@1840
    26
cg@1840
    27
copyright
cg@1840
    28
"
cg@1840
    29
 COPYRIGHT (c) 1995 by eXept Software AG
cg@1840
    30
              All Rights Reserved
cg@1840
    31
cg@1840
    32
 This software is furnished under a license and may be used
cg@1840
    33
 only in accordance with the terms of that license and with the
cg@1840
    34
 inclusion of the above copyright notice.   This software may not
cg@1840
    35
 be provided or otherwise made available to, or used by, any
cg@1840
    36
 other person.  No title to or ownership of the software is
cg@1840
    37
 hereby transferred.
cg@1840
    38
"
cg@1840
    39
!
cg@1840
    40
cg@1840
    41
documentation
cg@1840
    42
"
cg@1840
    43
    An edit-dialog for colors.
cg@1840
    44
"
cg@1840
    45
!
cg@1840
    46
cg@1840
    47
examples
cg@1840
    48
"
cg@1840
    49
                                                                                [exBegin]                                      
cg@1840
    50
    |editor color|
cg@1840
    51
cg@1846
    52
    editor := ColorEditDialog new.
cg@1840
    53
    editor color:(Color green).
cg@1840
    54
    editor open.
cg@1840
    55
    editor accepted ifTrue:[
cg@1840
    56
        editor color inspect.
cg@1840
    57
    ]
cg@1840
    58
                                                                                [exEnd]
cg@1840
    59
"
cg@1840
    60
! !
cg@1840
    61
cg@2266
    62
!ColorEditDialog class methodsFor:'help specs'!
cg@2266
    63
cg@2266
    64
flyByHelpSpec
cg@2266
    65
    "This resource specification was automatically generated
cg@2266
    66
     by the UIHelpTool of ST/X."
cg@2266
    67
cg@2266
    68
    "Do not manually edit this!! If it is corrupted,
cg@2266
    69
     the UIHelpTool may not be able to read the specification."
cg@2266
    70
cg@2266
    71
    "
cg@2266
    72
     UIHelpTool openOnClass:ColorEditDialog    
cg@2266
    73
    "
cg@2266
    74
cg@2266
    75
    <resource: #help>
cg@2266
    76
cg@2266
    77
    ^ super flyByHelpSpec addPairsFrom:#(
cg@2266
    78
cg@2266
    79
#pickColor
cg@2266
    80
'Pick a Color from the Screen'
cg@2266
    81
cg@2266
    82
)
cg@2266
    83
!
cg@2266
    84
cg@2266
    85
helpSpec
cg@2266
    86
    "This resource specification was automatically generated
cg@2266
    87
     by the UIHelpTool of ST/X."
cg@2266
    88
cg@2266
    89
    "Do not manually edit this!! If it is corrupted,
cg@2266
    90
     the UIHelpTool may not be able to read the specification."
cg@2266
    91
cg@2266
    92
    "
cg@2266
    93
     UIHelpTool openOnClass:ColorEditDialog    
cg@2266
    94
    "
cg@2266
    95
cg@2266
    96
    <resource: #help>
cg@2266
    97
cg@2266
    98
    ^ super helpSpec addPairsFrom:#(
cg@2266
    99
cg@2831
   100
#brightness
cg@2831
   101
'The Color''s brightness value (0..1)'
cg@2831
   102
cg@2831
   103
#colorDefinitionString
cg@2904
   104
'A Smalltalk expression to construct the color'
cg@2831
   105
cg@2831
   106
#colorName
cg@2831
   107
'The standard colorname (as used in the X-Window System), if known'
cg@2831
   108
cg@2266
   109
#copyToClipboard
cg@2266
   110
'Copy the color to the clipboard'
cg@2266
   111
cg@2266
   112
#hlsMixer
cg@2266
   113
'Mix color from hls (hue-light-saturation) components'
cg@2266
   114
cg@2831
   115
#htmlColorName
cg@2904
   116
'The color as used in an HTML page'
cg@2831
   117
cg@2266
   118
#pasteFromClipboard
cg@2266
   119
'Paste color from the Clipboard'
cg@2266
   120
cg@2266
   121
#rgbMixer
cg@2266
   122
'Mix color from rgb (red-green-blue) components'
cg@2266
   123
cg@2266
   124
)
cg@2904
   125
cg@2904
   126
    "Modified: / 09-08-2012 / 09:35:29 / cg"
cg@2266
   127
! !
cg@2266
   128
cg@2266
   129
!ColorEditDialog class methodsFor:'image specs'!
cg@2266
   130
cg@3175
   131
hueGradientImage
cg@3175
   132
    "This resource specification was automatically generated
cg@3175
   133
     by the ImageEditor of ST/X."
cg@3175
   134
cg@3175
   135
    "Do not manually edit this!! If it is corrupted,
cg@3175
   136
     the ImageEditor may not be able to read the specification."
cg@3175
   137
cg@3175
   138
    "
cg@3175
   139
     self hueGradientImage inspect
cg@3175
   140
     ImageEditor openOnClass:self andSelector:#hueGradientImage
cg@3175
   141
     Icon flushCachedIcons
cg@3175
   142
    "
cg@3175
   143
cg@3175
   144
    <resource: #image>
cg@3175
   145
cg@3175
   146
    ^Icon
cg@3175
   147
        constantNamed:'ColorEditDialog hueGradientImage'
cg@3175
   148
        ifAbsentPut:[(Depth8Image new) width:400; height:50; bits:(ByteArray fromPackedString:'
cg@3175
   149
J%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"N#*Z&#NCA0]6MSV (K1N$C<)ZV%+Z9]GGKT^RT$QH(6MN3,=*DJD!!HR2WKJ2C 8NC%EQ%IRT%IPEKPTE
cg@3175
   150
''I2\''KZ6]AHRD''=(ZG<ZF!!*GV8][!!3^IC0<OTG1<@@AXKE!!X&9.Y&7U5]X>O#8>OLC@0LC@0LCA:NW):^''):^(UCP8VE!!XT<##0<OH:NK2</K2</K2=9^W%9
cg@3175
   151
^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LCZ&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3
cg@3175
   152
+;F/+1 XFA"R$+"8.K!!&''"N^''''@I\@%WVU$TEAPA(:N#"(*J"(X_G1-,[F0UEQUOS6]OR;]K\WM1\R8.K"9>_''9>_''9>''Y46''Y6]M#Z************4-KR4
cg@3175
   153
-KR4-B,+J2,+J2,+J0-LS@-LSD1APTEAPTEAPTFK"8.K"8.K"5YVU")VU(HFA  HMCR_]7^9.;-ST4A@%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JB<S)@?JV%)
cg@3175
   154
Z6.WQ125G$%IDRJM#S,;OZ!!B!!HRD,%22, 8NC 9QTYRT%IRTAR4EAY2\''I26-''PRD!!I?ZF!!?F!!(Z!!5.GV8\7"P<OC5A<_@@@VB1XVI.[&Y-5]WVO#8>O#3@0
cg@3175
   155
LC@0LC@0^#%:^''):^''*EP4NE!!XVEOH8<OC2N#"</K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL
cg@3175
   156
#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HATUJZ&)FM#XVF3,:>1+;DX[V4X*Z&8Y&Y&Y"L#''"M0BP$IVU%Y@PDA@ZN#^3 8"# _G1<[[A,[E1\WY6]''
cg@3175
   157
Y;^7R7M3\7M/K"9/@ HB@ I>@#Z]M)6]''SX6************-KR4-KR4-KP+J2,+J2,+J2,KSD0KSD1LE$EAPTEAPQYA"8.K"8.K"8-VU"(*U%ZBA XHBCP4
cg@3175
   158
''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5MZB /D:PO2%)ZV-+%4\\-Q9IRQD"#X4;N36(P(RD!!KI\,+HNC 8NTUFT%IRT%@T-APV\''I2\-+Y4D!!HR
cg@3175
   159
_6!!(_1(ZF(][!!5.GM8$OC0=P_G0@@E ,VE"[&9&[]WU5#8>O#8<0LC@0LC@0LG(9^''):^''):!!TMC!!XVE!!S2NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.
cg@3175
   160
+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF- XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0LW%82L%)Z+HB@UER&)*Q#X6E!!,;N/,[F1[V5-[Z&)
cg@3175
   161
Y&Y&Y&X#H2L#BP$IBU%YVPDA@PE;^7,8NC 8G1<_F1,[F1\WE6]''Y6^7-;]3\7M3[6=/[0HB@ HB@ H6M#Z]''Y46M************+R4-KR4-KR4J2,+J2,+
cg@3175
   162
J2,+B41LB41LSAYAPTEAPTDVPX.K"8.K"8.KU%X*J%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"N#*Z&#NCA0]6MSV (D9N$I@)ZV%+Z9^WGA8^RT$"
cg@3175
   163
H(6MN3,=*DJD!!HR2WKJ2C 8NC%EQ%IRT%IPEKPTE''I2\''KZ6]AHRD''=(ZG<ZF!!*GV8][!!3^IC0<OTG1<@@AXKE!!X&9.Y&7U5]X>O#8>OLC@0LC@0LCA:NW):
cg@3175
   164
^''):^(UCP8VE!!XT<##0<OH:NK2</K2</K2=9^W%9^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LC
cg@3175
   165
Z&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3+;F/,Q!!-[Q")*[!!&Y&Y&H2N^H7@IBP%YVU$A@PDA(:M;NC"JNA<_G1-,F1,WE1]''Y6]''-;]K\7M3\6<.
cg@3175
   166
K&<B@ HB@''8BM)46''Y6]M#Z************4-KR4-KR4-B,+J2,+J2,+J0-LS@,KB0,VPQXVPQXVE!!ZKHB@ HB@ HB(*J")VU(HFA  HMCR_]7^9.;-ST4A@
cg@3175
   167
%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JB<S)@?JV%)Z6.WQ125G$%IDRJM#S,;OZ!!B!!HRD,%22, 8NC 9QTYRT%IRTAPTEAY2\''I26-+XRD!!I?_7=?F!!(Z!!8^G
cg@3175
   168
!!8\7M0=PTE@@@@@@VE!!XVI.[&9-5]WVO#8>O#3@0LC@0LC@0^''):^''):^''*E!!XVE!!XVEOH8<OC2N#"</K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%
cg@3175
   169
QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HATUJZ&)FM#XVF3,:>1+:<XFA X$)J8.K"8Y)8#'')90
cg@3175
   170
BW@IU5%YEAPT@ZN#(8*J"(*FG1<[[F1,EQTUS4=''S4.7R7E3\WD.K"8._''9>_''9>_)6]M)6]''SX6************-KR4-KR4-KP+J2,+J2,+J2,KSD0KSD1L
cg@3175
   171
E$EAPTEAPQYA"8.K"8.K"8-VU"(*U%ZBA XHBCP4''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7Z"("\''/K0?O2%)ZTQ+Q4\J-[T$IAD"$YD;N36(P(RD
cg@3175
   172
!!KI\,+HNC 8NTUFT%IRT%@T-APV\''I2\-+Y4D!!HR_6!!(_1(ZF(][!!5.GM8$OC0=P_G0@@E ,VE"[&9&[]WU5#8>O#8<0LC@0LC@0LG(9^''):^''):!!TMC!!XVE
cg@3175
   173
!!S2NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF- XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0L
cg@3175
   174
W%82L%)Z+HB@UER&)*Q#X6E!!,;N/,Z>1FF5-FJ&).FY&Y&X#H98#\@$IBU%YVPDA@PF#(7,8NH(8G1<_F60[F1\WE6]''Y6^7-4-3\7M3[28.[0HB@ HB_ H6
cg@3175
   175
''SZ]''Y46M************+R4-KR4-KR4J2,+J2,+J2,+B41LB0,KB1YAE!!YAE!!XVE(, HB@ HB@ J"(*J%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"
cg@3175
   176
N#*Z&#NCA0]6MSV (K1N$C<)ZV%+Z9]GGKT^RT$QH(6MN3,=*DJD!!HR2WKJ2C 8NC%EQ%IRT%IPEKPTE''I2\''KZ6]AHRD''=(ZG<ZF!!*GV8][!!3^IC0<OTG1<
cg@3175
   177
@@AXKE!!X&9.Y&7U5]X>O#8>OLC@0LC@0LCA:NW):^''):^(UCP8VE!!XT<##0<OH:NK2</K2</K2=9^W%9^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:
cg@3175
   178
.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LCZ&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3+;F/,Q!!-[Q")*[!!&Y&Y&H2N^H7@IBP%YVU$A@PDA
cg@3175
   179
(:M;NC"JNA<_G1-,F1,WE1]''Y6]''-;]K\7M3\6<.K&<B@ HB@''8BM)46''Y6]M#Z************4-KR4-KR4-B,+J2,+J2,+J0-LS@-LSD0VPTEAPTEAE$FK
cg@3175
   180
"8.K"8.K"5YVJ")VU(HFA  HMCR_]7^9.;-ST4A@%&9.,KAHRBD!!X#(:&)(3 0\G]*J"I2^</C<?JV%)QF-GQ0*5-RP$DRJQ$S,;OZ!!B!!HRD,%1\, 9 XF@P
cg@3175
   181
TZ^T%IR''KR4EKTYFQ$Y4]GP%IRU?ZF!!(*1*+!!5-[V5.I"P<OC5A<_@A<KB0,KI&Y&Y.H"H"OST6OSS@YFQ$0FQ$YNS$9NS%:^'')CP4MCP8VE#(8<OC2N#"</
cg@3175
   182
K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HAT
cg@3175
   183
UJZ&)FM#XVF3,:>1+;DX[V4X*Z&8Y&Y&Y"L#''"M0BP$IVU%Y@PDA@ZN#^3 8"# _G1<[[A,[E1\WY6]''Y;^7R7M3\7M/K"9/@ HB@ I>@#Z]M)6]''SX6****
cg@3175
   184
********-KR4-KR4-KP+J2,+J2,+J2,KSD0KB0,KE$DVE$DVE!!XV"2@ HB@ HB@*J"(*U%ZBA XHBCP4''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5
cg@3175
   185
MZB S$:P$B%)ZV-+%9\\G!!9IRRH"#X4;N36(P(RD!!KI\,+HNC 8NTUFT%IRT%@T-APV\''I2\-+Y4D!!HR_6!!(_1(ZF(][!!5.GM8$OC0=P_G0@@E ,VE"[&9&[
cg@3175
   186
]WU5#8>O#8<0LC@0LC@0LG(9^''):^''):!!TMC!!XVE!!S2NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF-
cg@3175
   187
 XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0LW%82L%)Z+HB@UER&)*Q#X6E!!,;N/,Z>1FF5-FJ&).FY&Y&X#H98#\@$IBU%YVPDA@PF#(7,8NH(8G1<_
cg@3175
   188
F60[F1\WE6]''Y6^7-4-3\7M3[28.[0HB@ HB_ H6''SZ]''Y46M************+R4-KR4-KR4J2,+J2,+J2,+B41LB0,KB1YAE!!YAE!!XVE(, HB@ HB@ J"(*
cg@3175
   189
J%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"N#*Z&#NCA0]6MSV (K1N$C<)ZV%+Z9]GGKT^RT$QH(6MN3,=*DJD!!HR2WE22C&A XAAQ)9RT%J\-KPT-
cg@3175
   190
Q$YFQ''Q4]BT%IW=(ZF"+F*.GV5-[V8&IC0<OTG1<@G0,KB0,&Y&Y&8"H"H=MSX=MLA$YFS@YFQ$9NS$9NW):^$MCP4MC!!XVN##0<OH:NK2</K2</K2=9^W%9
cg@3175
   191
^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LCZ&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3
cg@3175
   192
+;F/,Q!!-[Q")*[!!&Y&Y&H2N^H7@IBP%YVU$A@PDA(:M;NC"JNA<_G1-,F1,WE1]''Y6]''-;]K\7M3\6<.K&<B@ HB@''8BM)46''Y6]M#Z************4-KR4
cg@3175
   193
-KR4-B,+J2,+J2,+J0-LS@-LSD0VPTEAPTEAE$FK"8.K"8.K"5YVJ")VU(HFA  HMCR_]7^9.;-ST4A@%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JB<S)@?JV%)
cg@3175
   194
Z6.WQ125G$%IDRJM#S,;OZ!!B!!HRD,%22, 8NC 9QTYRT%IRTAR4EAY2\''I26-''PRD!!I?ZF!!?F!!(Z!!5.GV8\7"P<OC5A<_@@@VB1XVI.[&Y-5]WVO#8>O#3@0
cg@3175
   195
LC@0LC@0^#%:^''):^''*EP4NE!!XVEOH8<OC2N#"</K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL
cg@3175
   196
#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HATUJZ&)FM#XVF3,:>1+;DX[V4X*Z&8Y&Y&Y"L#''"M0BP$IVU%Y@PDA@ZN#^3 8"# _G1<[[A,[E1\WY6]''
cg@3175
   197
Y;^7R7M3\7M/K"9/@ HB@ I>@#Z]M)6]''SX6************-KR4-KR4-KP+J2,+J2,+J2,KSD0KB0,KE$DVE$DVE!!XV"2@ HB@ HB@*J"(*U%ZBA XHBCP4
cg@3175
   198
''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5MZB S$:P$B%)ZV-+%9\\G!!9IRRH"#X4;N36(P(RD!!KI\WKHNXFA DEF''%IRT)24-AR5FQ$YF]GQ4IRT%
cg@3175
   199
_6!!(ZJ,Z*8][V5-["X$OC0=P_G0@_B0,KB2Y&Y&["H"H#45M#440FQ$YLA$YFS$9NS$9^''):P4MCP4NE!!X:NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.
cg@3175
   200
+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF- XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0LW%82L%)Z+HB@UER&)*Q#X6E!!,;N/,Z>1FF5-FJ&)
cg@3175
   201
.FY&Y&X#H98#\@$IBU%YVPDA@PF#(7,8NH(8G1<_F60[F1\WE6]''Y6^7-4-3\7M3[28.[0HB@ HB_ H6''SZ]''Y46M************+R4-KR4-KR4J2,+J2,+
cg@3175
   202
J2,+B41LB41LSDEAPTEAPTEAPX.K"8.K"8.KU%YVJ%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"N#*Z&#NCA0]6MSV (D9N$I@)ZV%+Z9^WGA8^RT$"
cg@3175
   203
H(6MN3,=*DJD!!HR2WKJ2C 8NC%EQ%IRT%IPEKPTE''I2\''KZ6]AHRD''=(ZG<ZF!!*GV8][!!3^IC0<OTG1<@@AXKE!!X&9.Y&7U5]X>O#8>OLC@0LC@0LCA:NW):
cg@3175
   204
^''):^(UCP8VE!!XT<##0<OH:NK2</K2</K2=9^W%9^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LC
cg@3175
   205
Z&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3+;F1,V5-[V6)*VY&Y&Y&H2L#H0$IBP%YVU$A@PDA^7-;NC 8NA<_G1,[F1,WE1]''Y6]''-;^7\7M3\6=/
cg@3175
   206
[6<B@ HB@ HBM#X6''Y6]M#Z************4-KR4-KR4-B,+J2,+J2,+J0-LS@-LSD1APTEAPTEAPTFK"8.K"8.K"5YVU")VU(HFA  HMCR_]7^9.;-ST4A@
cg@3175
   207
%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JANS)BPJV%)Z6.W%10^G$%IH"JM#S,;OZ!!B!!HRD,%22, 8NC 9QTYRT%IRTAR4EAY2\''I26-''PRD!!I?ZF!!?F!!(Z!!5.G
cg@3175
   208
V8\7"P<OC5A<_@@@VB1XVI.[&Y-5]WVO#8>O#3@0LC@0LC@0^#%:^''):^''*EP4NE!!XVEOH8<OC2N#"</K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%
cg@3175
   209
QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HATUJZ&)FM#XVF3,:>1+;DX[V4X*Z&8Y&Y&Y"L#''"M0
cg@3175
   210
BP$IVU%Y@PDA@ZN#^3 8"# _G1<[[A,[E1\WY6]''Y;^7R7M3\7M/K"9/@ HB@ I>@#Z]M)6]''SX6************-KR4-KR4-KP+J2,+J2,+J2,KSD0KSD1L
cg@3175
   211
E$EAPTEAPQYA"8.K"8.K"8-VU"(*U%ZBA XHBCP4''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5MZB /D:PO2%)ZV-+%4\\-Q9IRQD"#X4;N36(P(RD
cg@3175
   212
!!KI\,+HNC 8NTUFT%IRT%@T-APV\''I2\-+Y4D!!HR_6!!(_1(ZF(][!!5.GM8$OC0=P_G0@@E ,VE"[&9&[]WU5#8>O#8<0LC@0LC@0LG(9^''):^''):!!TMC!!XVE
cg@3175
   213
!!S2NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF- XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0L
cg@3175
   214
W%82L%)Z+HB@UER&)*Q#X6E!!,;N/,Z>1FF5-FJ&).FY&Y&X#H98#\@$IBU%YVPDA@PF#(7,8NH(8G1<_F60[F1\WE6]''Y6^7-4-3\7M3[28.[0HB@ HB_ H6
cg@3175
   215
''SZ]''Y46M************+R4-KR4-KR4J2,+J2,+J2,+B41LB0,KB1YAE!!YAE!!XVE(, HB@ HB@ J"(*J%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"
cg@3175
   216
N#*Z&#NCA0]6MSV (K1N$C<)ZV%+Z9]GGKT^RT$QH(6MN3,=*DJD!!HR2WKJ2C 8NC%EQ%IRT%IPEKPTE''I2\''KZ6]AHRD''=(ZG<ZF!!*GV8][!!3^IC0<OTG1<
cg@3175
   217
@@AXKE!!X&9.Y&7U5]X>O#8>OLC@0LC@0LCA:NW):^''):^(UCP8VE!!XT<##0<OH:NK2</K2</K2=9^W%9^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:
cg@3175
   218
.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LCZ&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3+;F/,Q!!-[Q")*[!!&Y&Y&H2N^H7@IBP%YVU$A@PDA
cg@3175
   219
(:M;NC"JNA<_G1-,F1,WE1]''Y6]''-;]K\7M3\6<.K&<B@ HB@''8BM)46''Y6]M#Z************4-KR4-KR4-B,+J2,+J2,+J0-LS@,KB0,VPQXVPQXVE!!ZK
cg@3175
   220
HB@ HB@ HB(*J")VU(HFA  HMCR_]7^9.;-ST4A@%&9.,KAHRBD!!X#(:&)(3 0\G]*J"I2^</C<?JV%)QF-GQ0*5-RP$DRJQ$S,;OZ!!B!!HRD,%22, 8NC 9Q
cg@3175
   221
TYRT%IRTAR4EAY2\''I26-''PRD!!I?ZF!!?F!!(Z!!5.GV8\7"P<OC5A<_@@@VB1XVI.[&Y-5]WVO#8>O#3@0LC@0LC@0^#%:^''):^''*EP4NE!!XVEOH8<OC2N#"</
cg@3175
   222
K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HAT
cg@3175
   223
UJZ&)FM#XVF3,:>1,[E-[V5-*Z%&Y&Y&Y"L#H2LIBP$IVU%Y@PDA@W-;^3 8NC _G1<[F1,[E1\WY6]''Y;^7-7M3\7M/[6=/@ HB@ HB@#X6M)6]''SX6****
cg@3175
   224
********-KR4-KR4-KP+J2,+J2,+J2,KSD0KB0,KE$DVE$DVE!!XV"2@ HB@ HB@*J"(*U%ZBA XHBCP4''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5
cg@3175
   225
MZB /D:PO2%)ZV-+%4\\-Q9IRQD"#X4;N36(P(RD!!KI\,+HNC 8NTUFT%IRT%@TEAPV\''I2\-+Z6D!!HR_7=?_1(ZF(^G!!8^GM3\OTEAP@@@@@E!!XVE"[&9.[
cg@3175
   226
]WU5#8>O#8<0LC@0LC@0LG):^''):^''):!!XVE!!XVE!!S2NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF-
cg@3175
   227
 XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0LW%82L%)Z+HB@UER&)*Q#X6E!!,;N/,[F1[V5-[Z&)Y&Y&Y&X#H2L#BP$IBU%YVPDA@PE;^7,8NC 8G1<_
cg@3175
   228
F1,[F1\WE6]''Y6^7-;]3\7M3[6=/[0HB@ HB@ H6M#Z]''Y46M************+R4-KR4-KR4J2,+J2,+J2,+B41LB41LSAYAPTEAPTDVPX.K"8.K"8.KU%X*
cg@3175
   229
J%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"N#*Z&#NCA0]6MSV (K1N$C<)ZV%+Z9]GGKT^RT$QH(6MN3,=*DJD!!HR2WE22C&A XAAQ)9RT%J\-APT-
cg@3175
   230
Q$YFQ''Q4-"T%IW=?_6"+F*.G!!5.GV8$7C5APT@@@@G0,VB0,&Y&[&8"H"H=MSX=MLA$YFS@YFQ$9^#$9NW):^$NE!!TMC!!XVN##0<OH:NK2</K2</K2=9^W%9
cg@3175
   231
^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LCZ&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3
cg@3175
   232
+;F1,V5-[V6)*VY&Y&Y&H2L#H0$IBP%YVU$A@PDA^7-;NC 8NA<_G1,[F1,WE1]''Y6]''-;^7\7M3\6=/[6<B@ HB@ HBM#X6''Y6]M#Z************4-KR4
cg@3175
   233
-KR4-B,+J2,+J2,+J0-LS@-LSD0VPTEAPTEAE$FK"8.K"8.K"5YVJ")VU(HFA  HMCR_]7^9.;-ST4A@%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JB<S)@?JV%)
cg@3175
   234
Z6.WQ125G$%IDRJM#S,;OZ!!B!!HRD,%22, 8NC 9QTYRT%IRTAPTEAY2\''I26-+XRD!!I?_7=?F!!(Z!!8^G!!8\7M0=PTE@@@@@@VE!!XVI.[&9-5]WVO#8>O#3@0
cg@3175
   235
LC@0LC@0^''):^''):^''*E!!XVE!!XVEOH8<OC2N#"</K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL
cg@3175
   236
#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HATUJZ&)FM#XVF3,:>1,[E-[V5-*Z%&Y&Y&Y"L#H2LIBP$IVU%Y@PDA@W-;^3 8NC _G1<[F1,[E1\WY6]''
cg@3175
   237
Y;^7-7M3\7M/[6=/@ HB@ HB@#X6M)6]''SX6************-KR4-KR4-KP+J2,+J2,+J2,KSD0KSD1LE$EAPTEAPQYA"8.K"8.K"8-VU"(*U%ZBA XHBCP4
cg@3175
   238
''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5MZB S$:P$B%)ZV-+%9\\G!!9IRRH"#X4;N36(P(RD!!KI\,+HNC 8NTUFT%IRT%@TEAPV\''I2\-+Z6D!!HR
cg@3175
   239
_7=?_1(ZF(^G!!8^GM3\OTEAP@@@@@E!!XVE"[&9.[]WU5#8>O#8<0LC@0LC@0LG):^''):^''):!!XVE!!XVE!!S2NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.
cg@3175
   240
+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF- XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0LW%82L%)Z+HB@UER&)*Q#X6E!!,;N/,Z>1FF5-FJ&)
cg@3175
   241
.FY&Y&X#H98#\@$IBU%YVPDA@PF#(7,8NH(8G1<_F60[F1\WE6]''Y6^7-4-3\7M3[28.[0HB@ HB_ H6''SZ]''Y46M************+R4-KR4-KR4J2,+J2,+
cg@3175
   242
J2,+B41LB41LSAYAPTEAPTDVPX.K"8.K"8.KU%X*J%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"N#*Z&#NCA0]6MSV (K1N$C<)ZV%+Z9]GGKT^RT$Q
cg@3175
   243
H(6MN3,=*DJD!!HR2WKJ2C 8NC%EQ%IRT%IPEKPTE''I2\''KZ6]AHRD''=(ZG<ZF!!*GV8][!!3^IC0<OTG1<@@AXKE!!X&9.Y&7U5]X>O#8>OLC@0LC@0LCA:NW):
cg@3175
   244
^''):^(UCP8VE!!XT<##0<OH:NK2</K2</K2=9^W%9^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LC
cg@3175
   245
Z&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3+;F1,V5-[V6)*VY&Y&Y&H2L#H0$IBP%YVU$A@PDA^7-;NC 8NA<_G1,[F1,WE1]''Y6]''-;^7\7M3\6=/
cg@3175
   246
[6<B@ HB@ HBM#X6''Y6]M#Z************4-KR4-KR4-B,+J2,+J2,+J0-LS@,KB0,VPQXVPQXVE!!ZKHB@ HB@ HB(*J")VU(HFA  HMCR_]7^9.;-ST4A@
cg@3175
   247
%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JANS)BPJV%)Z6.W%10^G$%IH"JM#S,;OZ!!B!!HRD,%22, 8NC 9QTYRT%IRTAR4EAY2\''I26-''PRD!!I?ZF!!?F!!(Z!!5.G
cg@3175
   248
V8\7"P<OC5A<_@@@VB1XVI.[&Y-5]WVO#8>O#3@0LC@0LC@0^#%:^''):^''*EP4NE!!XVEOH8<OC2N#"</K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%
cg@3175
   249
QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HATUJZ&)FM#XVF3,:>1+:<XFA X$)J8.K"8Y)8#'')90
cg@3175
   250
BW@IU5%YEAPT@ZN#(8*J"(*FG1<[[F1,EQTUS4=''S4.7R7E3\WD.K"8._''9>_''9>_)6]M)6]''SX6************-KR4-KR4-KP+J2,+J2,+J2,KSD0KB0,K
cg@3175
   251
E$DVE$DVE!!XV"2@ HB@ HB@*J"(*U%ZBA XHBCP4''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5MZB /D:PO2%)ZV-+%4\\-Q9IRQD"#X4;N36(P(RD
cg@3175
   252
!!KI\,+HNC 8NTUFT%IRT%@T-APV\''I2\-+Y4D!!HR_6!!(_1(ZF(][!!5.GM8$OC0=P_G0@@E ,VE"[&9&[]WU5#8>O#8<0LC@0LC@0LG(9^''):^''):!!TMC!!XVE
cg@3175
   253
!!S2NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF- XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0L
cg@3175
   254
W%82L%)Z+HB@UER&)*Q#X6E!!,;N/,Z>1FF5-FJ&).FY&Y&X#H98#\@$IBU%YVPDA@PF#(7,8NH(8G1<_F60[F1\WE6]''Y6^7-4-3\7M3[28.[0HB@ HB_ H6
cg@3175
   255
''SZ]''Y46M************+R4-KR4-KR4J2,+J2,+J2,+B41LB0,KB1YAE!!YAE!!XVE(, HB@ HB@ J"(*J%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"
cg@3175
   256
N#*Z&#NCA0]6MSV (K1N$C<)ZV%+Z9]GGKT^RT$QH(6MN3,=*DJD!!HR2WKJ2C 8NC%EQ%IRT%IPEAPTE''I2\''KZ6-!!HRD''=?_7<ZF!!*G!!8^G!!3\7C5APT@@@
cg@3175
   257
@@AXVE!!X&9.[&7U5]X>O#8>OLC@0LC@0LCA:^''):^''):^(VE!!XVE!!XT<##0<OH:NK2</K2</K2=9^W%9^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:
cg@3175
   258
.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LCZ&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3+;F1,V5-[V6)*VY&Y&Y&H2L#H0$IBP%YVU$A@PDA
cg@3175
   259
^7-;NC 8NA<_G1,[F1,WE1]''Y6]''-;^7\7M3\6=/[6<B@ HB@ HBM#X6''Y6]M#Z************4-KR4-KR4-B,+J2,+J2,+J0-LS@-LSD0VPTEAPTEAE$FK
cg@3175
   260
"8.K"8.K"5YVJ")VU(HFA  HMCR_]7^9.;-ST4A@%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JANS)BPJV%)Z6.W%10^G$%IH"JM#S,;OZ!!B!!HRD,%22, 8NC 9Q
cg@3175
   261
TYRT%IRTAR4EAY2\''I26-''PRD!!I?ZF!!?F!!(Z!!5.GV8\7"P<OC5A<_@@@VB1XVI.[&Y-5]WVO#8>O#3@0LC@0LC@0^#%:^''):^''*EP4NE!!XVEOH8<OC2N#"</
cg@3175
   262
K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HAT
cg@3175
   263
UJZ&)FM#XVF3,:>1+:<XFA X$)J8.K"8Y)8#'')90BW@IU5%YEAPT@ZN#(8*J"(*FG1<[[F1,EQTUS4=''S4.7R7E3\WD.K"8._''9>_''9>_)6]M)6]''SX6****
cg@3175
   264
********-KR4-KR4-KP+J2,+J2,+J2,KSD0KSD1LE$EAPTEAPQYA"8.K"8.K"8-VU"(*U%ZBA XHBCP4''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5
cg@3175
   265
MZB /D:PO2%)ZV-+%4\\-Q9IRQD"#X4;N36(P(RD!!KI\,+HNC 8NTUFT%IRT%@T-APV\''I2\-+Y4D!!HR_6!!(_1(ZF(][!!5.GM8$OC0=P_G0@@E ,VE"[&9&[
cg@3175
   266
]WU5#8>O#8<0LC@0LC@0LG(9^''):^''):!!TMC!!XVE!!S2NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF-
cg@3175
   267
 XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0LW%82L%)Z+HB@UER&)*Q#X6E!!,;N/,Z>/FA XFIJR.K"8.FZ^H9:^\@%0BU]YVQPTE@F#(:NJ"(*J!!!!<_
cg@3175
   268
F61,[ATUET=OY4=K-4-1\7E1K"8.K''9>_''9>_'':]''SZ]''Y46M************+R4-KR4-KR4J2,+J2,+J2,+B41LB41LSAYAPTEAPTDVPX.K"8.K"8.KU%X*
cg@3175
   269
J%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"N#*Z&#NCA0]6MSV (K1N$C<)ZV%+Z9]GGKT^RT$QH(6MN3,=*DJD!!HR2WE22C&A XAAQ)9RT%J\-KPT-
cg@3175
   270
Q$YFQ''Q4]BT%IW=(ZF"+F*.GV5-[V8&IC0<OTG1<@G0,KB0,&Y&Y&8"H"H=MSX=MLA$YFS@YFQ$9NS$9NW):^$MCP4MC!!XVN##0<OH:NK2</K2</K2=9^W%9
cg@3175
   271
^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LCZ&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3
cg@3175
   272
+;F/,Q!!-[Q")*[!!&Y&Y&H2N^H7@IBP%YVU$A@PDA(:M;NC"JNA<_G1-,F1,WE1]''Y6]''-;]K\7M3\6<.K&<B@ HB@''8BM)46''Y6]M#Z************4-KR4
cg@3175
   273
-KR4-B,+J2,+J2,+J0-LS@-LSD0VPTEAPTEAE$FK"8.K"8.K"5YVJ")VU(HFA  HMCR_]7^9.;-ST4A@%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JANS)BPJV%)
cg@3175
   274
Z6.W%10^G$%IH"JM#S,;OZ!!B!!HRD,%22, 8NC 9QTYRT%IRTAR4EAY2\''I26-''PRD!!I?ZF!!?F!!(Z!!5.GV8\7"P<OC5A<_@@@VB1XVI.[&Y-5]WVO#8>O#3@0
cg@3175
   275
LC@0LC@0^#%:^''):^''*EP4NE!!XVEOH8<OC2N#"</K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL
cg@3175
   276
#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HATUJZ&)FM#XVF3,:>1+;DX[V4X*Z&8Y&Y&Y"L#''"M0BP$IVU%Y@PDA@ZN#^3 8"# _G1<[[A,[E1\WY6]''
cg@3175
   277
Y;^7R7M3\7M/K"9/@ HB@ I>@#Z]M)6]''SX6************-KR4-KR4-KP+J2,+J2,+J2,KSD0KSD1LE$EAPTEAPQYA"8.K"8.K"8-VU"(*U%ZBA XHBCP4
cg@3175
   278
''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5MZB S$:P$B%)ZV-+%9\\G!!9IRRH"#X4;N36(P(RD!!KI\,+HNC 8NTUFT%IRT%@T-APV\''I2\-+Y4D!!HR
cg@3175
   279
_6!!(_1(ZF(][!!5.GM8$OC0=P_G0@@E ,VE"[&9&[]WU5#8>O#8<0LC@0LC@0LG(9^''):^''):!!TMC!!XVE!!S2NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.
cg@3175
   280
+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF- XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0LW%82L%)Z+HB@UER&)*Q#X6E!!,;N/,Z>1FF5-FJ&)
cg@3175
   281
.FY&Y&X#H98#\@$IBU%YVPDA@PF#(7,8NH(8G1<_F60[F1\WE6]''Y6^7-4-3\7M3[28.[0HB@ HB_ H6''SZ]''Y46M************+R4-KR4-KR4J2,+J2,+
cg@3175
   282
J2,+B41LB41LSDEAPTEAPTEAPX.K"8.K"8.KU%YVJ%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"N#*Z&#NCA0]6MSV (D9N$I@)ZV%+Z9^WGA8^RT$"
cg@3175
   283
H(6MN3,=*DJD!!HR2WKJ2C 8NC%EQ%IRT%IPEAPTE''I2\''KZ6-!!HRD''=?_7<ZF!!*G!!8^G!!3\7C5APT@@@@@AXVE!!X&9.[&7U5]X>O#8>OLC@0LC@0LCA:^''):
cg@3175
   284
^''):^(VE!!XVE!!XT<##0<OH:NK2</K2</K2=9^W%9^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LC
cg@3175
   285
Z&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3+;F/,Q!!-[Q")*[!!&Y&Y&H2N^H7@IBP%YVU$A@PDA(:M;NC"JNA<_G1-,F1,WE1]''Y6]''-;]K\7M3\6<.
cg@3175
   286
K&<B@ HB@''8BM)46''Y6]M#Z************4-KR4-KR4-B,+J2,+J2,+J0-LS@-LSD0VPTEAPTEAE$FK"8.K"8.K"5YVJ")VU(HFA  HMCR_]7^9.;-ST4A@
cg@3175
   287
%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JB<S)@?JV%)Z6.WQ125G$%IDRJM#S,;OZ!!B!!HRD,%22, 8NC 9QTYRT%IRTAR4EAY2\''I26-''PRD!!I?ZF!!?F!!(Z!!5.G
cg@3175
   288
V8\7"P<OC5A<_@@@VB1XVI.[&Y-5]WVO#8>O#3@0LC@0LC@0^#%:^''):^''*EP4NE!!XVEOH8<OC2N#"</K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%
cg@3175
   289
QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HATUJZ&)FM#XVF3,:>1+;DX[V4X*Z&8Y&Y&Y"L#''"M0
cg@3175
   290
BP$IVU%Y@PDA@ZN#^3 8"# _G1<[[A,[E1\WY6]''Y;^7R7M3\7M/K"9/@ HB@ I>@#Z]M)6]''SX6************-KR4-KR4-KP+J2,+J2,+J2,KSD0KSD1L
cg@3175
   291
E$EAPTEAPQYA"8.K"8.K"8-VU"(*U%ZBA XHBCP4''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5MZB S$:P$B%)ZV-+%9\\G!!9IRRH"#X4;N36(P(RD
cg@3175
   292
!!KI\,+HNC 8NTUFT%IRT%@T-APV\''I2\-+Y4D!!HR_6!!(_1(ZF(][!!5.GM8$OC0=P_G0@@E ,VE"[&9&[]WU5#8>O#8<0LC@0LC@0LG(9^''):^''):!!TMC!!XVE
cg@3175
   293
!!S2NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF- XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0L
cg@3175
   294
W%82L%)Z+HB@UER&)*Q#X6E!!,;N/,[F1[V5-[Z&)Y&Y&Y&X#H2L#BP$IBU%YVPDA@PE;^7,8NC 8G1<_F1,[F1\WE6]''Y6^7-;]3\7M3[6=/[0HB@ HB@ H6
cg@3175
   295
M#Z]''Y46M************+R4-KR4-KR4J2,+J2,+J2,+B41LB41LSDEAPTEAPTEAPX.K"8.K"8.KU%YVJ%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"
cg@3175
   296
N#*Z&#NCA0]6MSV (K1N$C<)ZV%+Z9]GGKT^RT$QH(6MN3,=*DJD!!HR2WKJ2C 8NC%EQ%IRT%IPEKPTE''I2\''KZ6]AHRD''=(ZG<ZF!!*GV8][!!3^IC0<OTG1<
cg@3175
   297
@@AXKE!!X&9.Y&7U5]X>O#8>OLC@0LC@0LCA:NW):^''):^(UCP8VE!!XT<##0<OH:NK2</K2</K2=9^W%9^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:
cg@3175
   298
.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LCZ&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3+;F/+1 XFA"R$+"8.K!!&''"N^''''@I\@%WVU$TEAPA
cg@3175
   299
(:N#"(*J"(X_G1-,[F0UEQUOS6]OR;]K\WM1\R8.K"9>_''9>_''9>''Y46''Y6]M#Z************4-KR4-KR4-B,+J2,+J2,+J0-LS@-LSD0VPTEAPTEAE$FK
cg@3175
   300
"8.K"8.K"5YVJ")VU(HFA  HMCR_]7^9.;-ST4A@%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JANS)BPJV%)Z6.W%10^G$%IH"JM#S,;OZ!!B!!HRD,%22, 8NC 9Q
cg@3175
   301
TYRT%IRTAPTEAY2\''I26-+XRD!!I?_7=?F!!(Z!!8^G!!8\7M0=PTE@@@@@@VE!!XVI.[&9-5]WVO#8>O#3@0LC@0LC@0^''):^''):^''*E!!XVE!!XVEOH8<OC2N#"</
cg@3175
   302
K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HAT
cg@3175
   303
UJZ&)FM#XVF3,:>1+;DX[V4X*Z&8Y&Y&Y"L#''"M0BP$IVU%Y@PDA@ZN#^3 8"# _G1<[[A,[E1\WY6]''Y;^7R7M3\7M/K"9/@ HB@ I>@#Z]M)6]''SX6****
cg@3175
   304
********-KR4-KR4-KP+J2,+J2,+J2,KSD0KSD1LPTEAPTEAPTEA"8.K"8.K"8-VU%X*U%ZBA XHBCP4''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5
cg@3175
   305
MZB /D:PO2%)ZV-+%4\\-Q9IRQD"#X4;N36(P(RD!!KI\,+HNC 8NTUFT%IRT%@T-APV\''I2\-+Y4D!!HR_6!!(_1(ZF(][!!5.GM8$OC0=P_G0@@E ,VE"[&9&[
cg@3175
   306
]WU5#8>O#8<0LC@0LC@0LG(9^''):^''):!!TMC!!XVE!!S2NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF-
cg@3175
   307
 XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0LW%82L%)Z+HB@UER&)*Q#X6E!!,;N/,Z>/FA XFIJR.K"8.FZ^H9:^\@%0BU]YVQPTE@F#(:NJ"(*J!!!!<_
cg@3175
   308
F61,[ATUET=OY4=K-4-1\7E1K"8.K''9>_''9>_'':]''SZ]''Y46M************+R4-KR4-KR4J2,+J2,+J2,+B41LB41LSAYAPTEAPTDVPX.K"8.K"8.KU%X*
cg@3175
   309
J%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"N#*Z&#NCA0]6MSV (K1N$C<)ZV%+Z9]GGKT^RT$QH(6MN3,=*DJD!!HR2WKJ2C 8NC%EQ%IRT%IPEAPTE
cg@3175
   310
''I2\''KZ6-!!HRD''=?_7<ZF!!*G!!8^G!!3\7C5APT@@@@@AXVE!!X&9.[&7U5]X>O#8>OLC@0LC@0LCA:^''):^''):^(VE!!XVE!!XT<##0<OH:NK2</K2</K2=9^W%9
cg@3175
   311
^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LCZ&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3
cg@3175
   312
+;F/,Q!!-[Q")*[!!&Y&Y&H2N^H7@IBP%YVU$A@PDA(:M;NC"JNA<_G1-,F1,WE1]''Y6]''-;]K\7M3\6<.K&<B@ HB@''8BM)46''Y6]M#Z************4-KR4
cg@3175
   313
-KR4-B,+J2,+J2,+J0-LS@-LSD0VPTEAPTEAE$FK"8.K"8.K"5YVJ%YVU(HFA  HMCR_]7^9.;-ST4A@%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JB<S)@?JV%)
cg@3175
   314
Z6.WQ125G$%IDRJM#S,;OZ!!B!!HRD,%22, 8NC 9QTYRT%IRTAR4EAY2\''I26-''PRD!!I?ZF!!?F!!(Z!!5.GV8\7"P<OC5A<_@@@VB1XVI.[&Y-5]WVO#8>O#3@0
cg@3175
   315
LC@0LC@0^#%:^''):^''*EP4NE!!XVEOH8<OC2N#"</K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL
cg@3175
   316
#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HATUJZ&)FM#XVF3,:>1,[E-[V5-*Z%&Y&Y&Y"L#H2LIBP$IVU%Y@PDA@W-;^3 8NC _G1<[F1,[E1\WY6]''
cg@3175
   317
Y;^7-7M3\7M/[6=/@ HB@ HB@#X6M)6]''SX6************-KR4-KR4-KP+J2,+J2,+J2,KSD0KSD1LE$EAPTEAPQYA"8.K"8.K"8-VU"(*U%ZBA XHBCP4
cg@3175
   318
''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5MZB /D:PO2%)ZV-+%4\\-Q9IRQD"#X4;N36(P(RD!!KI\WKHNXFA DEF''%IRT)24-AR5FQ$YF]GQ4IRT%
cg@3175
   319
_6!!(ZJ,Z*8][V5-["X$OC0=P_G0@_B0,KB2Y&Y&["H"H#45M#440FQ$YLA$YFS$9NS$9^''):P4MCP4NE!!X:NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.
cg@3175
   320
+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF- XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0LW%82L%)Z+HB@UER&)*Q#X6E!!,;N/,Z>1FF5-FJ&)
cg@3175
   321
.FY&Y&X#H98#\@$IBU%YVPDA@PF#(7,8NH(8G1<_F60[F1\WE6]''Y6^7-4-3\7M3[28.[0HB@ HB_ H6''SZ]''Y46M************+R4-KR4-KR4J2,+J2,+
cg@3175
   322
J2,+B41LB0,KB1YAE!!YAE!!XVE(, HB@ HB@ J"(*J%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"N#*Z&#NCA0]6MSV (K1N$C<)ZV%+Z9]GGKT^RT$Q
cg@3175
   323
H(6MN3,=*DJD!!HR2WKJ2C 8NC%EQ%IRT%IPEKPTE''I2\''KZ6]AHRD''=(ZG<ZF!!*GV8][!!3^IC0<OTG1<@@AXKE!!X&9.Y&7U5]X>O#8>OLC@0LC@0LCA:NW):
cg@3175
   324
^''):^(UCP8VE!!XT<##0<OH:NK2</K2</K2=9^W%9^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LC
cg@3175
   325
Z&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3+;F/,Q!!-[Q")*[!!&Y&Y&H2N^H7@IBP%YVU$A@PDA(:M;NC"JNA<_G1-,F1,WE1]''Y6]''-;]K\7M3\6<.
cg@3175
   326
K&<B@ HB@''8BM)46''Y6]M#Z************4-KR4-KR4-B,+J2,+J2,+J0-LS@-LSD0VPTEAPTEAE$FK"8.K"8.K"5YVJ")VU(HFA  HMCR_]7^9.;-ST4A@
cg@3175
   327
%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JB<S)@?JV%)Z6.WQ125G$%IDRJM#S,;OZ!!B!!HRD,%22, 8NC 9QTYRT%IRTAR4EAY2\''I26-''PRD!!I?ZF!!?F!!(Z!!5.G
cg@3175
   328
V8\7"P<OC5A<_@@@VB1XVI.[&Y-5]WVO#8>O#3@0LC@0LC@0^#%:^''):^''*EP4NE!!XVEOH8<OC2N#"</K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%
cg@3175
   329
QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HATUJZ&)FM#XVF3,:>1+;DX[V4X*Z&8Y&Y&Y"L#''"M0
cg@3175
   330
BP$IVU%Y@PDA@ZN#^3 8"# _G1<[[A,[E1\WY6]''Y;^7R7M3\7M/K"9/@ HB@ I>@#Z]M)6]''SX6************-KR4-KR4-KP+J2,+J2,+J2,KSD0KSD1L
cg@3175
   331
E$EAPTEAPQYA"8.K"8.K"8-VU"(SU%ZBA XHBCP4''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5MZB /D:PO2%)ZV-+%4\\-Q9IRQD"#X4;N36(P(RD
cg@3175
   332
!!KI\,+HNC 8NTUFT%IRT%@T-APV\''I2\-+Y4D!!HR_6!!(_1(ZF(][!!5.GM8$OC0=P_G0@@E ,VE"[&9&[]WU5#8>O#8<0LC@0LC@0LG(9^''):^''):!!TMC!!XVE
cg@3175
   333
!!S2NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF- XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0L
cg@3175
   334
W%82L%)Z+HB@UER&)*Q#X6E!!,;N/,Z>1FF5-FJ&).FY&Y&X#H98#\@$IBU%YVPDA@PF#(7,8NH(8G1<_F60[F1\WE6]''Y6^7-4-3\7M3[28.[0HB@ HB_ H6
cg@3175
   335
''SZ]''Y46M************+R4-KR4-KR4J2,+J2,+J2,+B41LB41LSDEAPTEAPTEAPX.K"8.K"8.KU%YVD5YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"
cg@3175
   336
N#*Z&#NCA0]6(*H''I;2<O3<)ZV%DZ4]GB+V5IBPQH)FQN3,=*DJD!!HR2WE22C&A XAAQ)9RT%J\-KPT-Q$YFQ''Q4]BT%IW=(ZF"+F*.GV5-[V8&IC0<OTG1<
cg@3175
   337
@G0,KB0,&Y&Y&8"H"H=MSX=MLA$YFS@YFQ$9NS$9NW):^$MCP4MC!!XVN##0<OH:NK2</K2</K2=9^W%9^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:
cg@3175
   338
.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LCZ&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3+;F/,Q!!-[Q")*[!!&Y&Y&H2N^H7@IBP%YVU$A@PDA
cg@3175
   339
(:M;NC"JNA<_G1-,F1,WE1]''Y6]''-;]K\7M3\6<.K&<B@ HB@''8BM)46''Y6]M#Z************4-KR4-KR4-B,+J2,+J2,+J0-LS@,KB0,VPQXVPQXVE!!ZK
cg@3175
   340
HB@ HB@ HB(*J!!MVU(HFA  HMCR_]7^9.;-ST4A@%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JB<S)@?JV%)Z6.WQ125G$%IDRJM#S,;OZ!!B!!HRD,%22, 8NC 9Q
cg@3175
   341
TYRT%IRTAR4EAY2\''I26-''PRD!!I?ZF!!?F!!(Z!!5.GV8\7"P<OC5A<_@@@VB1XVI.[&Y-5]WVO#8>O#3@0LC@0LC@0^#%:^''):^''*EP4NE!!XVEOH8<OC2N#"</
cg@3175
   342
K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HAT
cg@3175
   343
UJZ&)FM#XVF3,:>1,[E-[V5-*Z%&Y&Y&Y"L#H2LIBP$IVU%Y@PDA@W-;^3 8NC _G1<[F1,[E1\WY6]''Y;^7-7M3\7M/[6=/@ HB@ HB@#X6M)6]''SX6****
cg@3175
   344
********-KR4-KR4-KP+J2,+J2,+J2,KSD0KSD1LPTEAPTEAPTEA"8.K"8.K"8-VU%X*U%ZBA XHBCP4''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5
cg@3175
   345
MZB /D:PO2%)ZV-+%4\\-Q9IRQD"#X4;N36(P(RD!!KI\,+HNC 8NTUFT%IRT%@T-APV\''I2\-+Y4D!!HR_6!!(_1(ZF(][!!5.GM8$OC0=P_G0@@E ,VE"[&9&[
cg@3175
   346
]WU5#8>O#8<0LC@0LC@0LG(9^''):^''):!!TMC!!XVE!!S2NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF-
cg@3175
   347
 XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0LW%82L%)Z+HB@UER&)*Q#X6E!!,;N/,Z>1FF5-FJ&).FY&Y&X#H98#\@$IBU%YVPDA@PF#(7,8NH(8G1<_
cg@3175
   348
F60[F1\WE6]''Y6^7-4-3\7M3[28.[0HB@ HB_ H6''SZ]''Y46M************+R4-KR4-KR4J2,+J2,+J2,+B41LB41LSAYAPTEAPTDVPX.K"8.K"8.KU%X*
cg@3175
   349
J%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"N#*Z&#NCA0]6MSV (D9N$I@)ZV%+Z9^WGA8^RT$"H(6MN3,=*DJD!!HR2WKJ2C 8NC%EQ%IRT%IPEKPTE
cg@3175
   350
''I2\''KZ6]AHRD''=(ZG<ZF!!*GV8][!!3^IC0<OTG1<@@AXKE!!X&9.Y&7U5]X>O#8>OLC@0LC@0LCA:NW):^''):^(UCP8VE!!XT<##0<OH:NK2</K2</K2=9^W%9
cg@3175
   351
^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LCZ&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3
cg@3175
   352
+;F/,Q!!-[Q")*[!!&Y&Y&H2N^H7@IBP%YVU$A@PDA(:M;NC"JNA<_G1-,F1,WE1]''Y6]''-;]K\7M3\6<.K&<B@ HB@''8BM)46''Y6]M#Z************4-KR4
cg@3175
   353
-KR4-B,+J2,+J2,+J0-LS@-LSD0VPTEAPTEAE$FK"8.K"8.K"5YVJ%YVU(HFA  HMCR_]7^9.;-ST4A@%&9.,KAHRBD!!X#(:&)(3 0\G]#T5(JB<S)@?JV%)
cg@3175
   354
Z6.WQ125G$%IDRJM#S,;OZ!!B!!HRD,%22, 8NC 9QTYRT%IRTAPTEAY2\''I26-+XRD!!I?_7=?F!!(Z!!8^G!!8\7M0=PTE@@@@@@VE!!XVI.[&9-5]WVO#8>O#3@0
cg@3175
   355
LC@0LC@0^''):^''):^''*E!!XVE!!XVEOH8<OC2N#"</K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL
cg@3175
   356
#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HATUJZ&)FM#XVF3,:>1,[E-[V5-*Z%&Y&Y&Y"L#H2LIBP$IVU%Y@PDA@W-;^3 8NC _G1<[F1,[E1\WY6]''
cg@3175
   357
Y;^7-7M3\7M/[6=/@ HB@ HB@#X6M)6]''SX6************-KR4-KR4-KP+J2,+J2,+J2,KSD0KSD1LPTEAPTEAPTEA"8.K"8.K"8-VU%ZBU%ZBA XHBCP4
cg@3175
   358
''7]7.[.;T5M@PIY.[+B0RD !!HVH:N)*ZL8LGA7X5MZB /D:PO2%)ZV-+%4\\-Q9IRQD"#X4;N36(P(RD!!KI\WKHNXFA DEF''%IRT)24EAR5FQ$YF]GR6IRT%
cg@3175
   359
_7=?ZJ,Z*8^GV8]["S\OTEAP@@@@_B1XKB2Y&Y.["H"H#45M#440FQ$YLA$YFS%:NS$9^''):P8VEP4NE!!X:NOC0<#(8/K2</K2</K7%9^W%9^W%9+*:.+*:.
cg@3175
   360
+&U%YVU%YVU%YTUEAIVU$9MRT+*:^G MW55]LSF- XEUUS8>)ZU$#H1JR''I2GQ6X@0M*Z''5=JB &(P0LW%82L%)Z+HB@UER&)*Q#X6E!!,;N/,Z>1FF5-FJ&)
cg@3175
   361
.FY&Y&X#H98#\@$IBU%YVPDA@PF#(7,8NH(8G1<_F60[F1\WE6]''Y6^7-4-3\7M3[28.[0HB@ HB_ H6''SZ]''Y46M************+R4-KR4-KR4J2,+J2,+
cg@3175
   362
J2,+B41LB0,KB1YAE!!YAE!!XVE(, HB@ HB@ J"(*A%YV  XFB@ 4MI=7];&;.5MSPDBV[&:0,D!!HHRE"N#*Z&#NCA0]6MSV (K1N$C<)ZV%+Z9]GGKT^RT$Q
cg@3175
   363
H(6MN3,=*DJD!!HR2WKJ2C 8NC%EQ%IRT%IPEAPTE''I2\''KZ6-!!HRD''=?_7<ZF!!*G!!8^G!!3\7C5APT@@@@@AXVE!!X&9.[&7U5]X>O#8>OLC@0LC@0LCA:^''):
cg@3175
   364
^''):^(VE!!XVE!!XT<##0<OH:NK2</K2</K2=9^W%9^W%9^Z:.+*:.+*9%YVU%YVU%YVUEQPRU%YNST%J:.''!!8CU=]WSD1+XFAUUT>O*V%YH2LR$)2\!!4]&@LC
cg@3175
   365
Z&)=_R (I*DLCE9^L#IZV*2@ EQT)*Z$X6M!!X[N3+;F/,Q!!-[Q")*[!!&Y&Y&H2N^H7@IBP%YVU$A@PDA(:M;NC"JNA<_G1-,F1,WE1]''Y6]''-;]K\7M3\6<.
cg@3175
   366
K&<B@ HB@''8BM)46''Y6]M#Z************4-KR4-KR4-B,+J2,+J2,+J0-LS@-LSD0VPTEAPTEAE$FK"8.K"8.K"5YVJ#QVU(HFA  HMCR_]7^9.;-ST4A@
cg@3175
   367
%&9.,KAHRBD!!X#(:&)(3 0\G]*J"I2^</C<?JV%)QF-GQ0*5-RP$DRJQ$S,;OZ!!B!!HRD,%22, 8NC 9QTYRT%IRTAR4EAY2\''I26-''PRD!!I?ZF!!?F!!(Z!!5.G
cg@3175
   368
V8\7"P<OC5A<_@@@VB1XVI.[&Y-5]WVO#8>O#3@0LC@0LC@0^#%:^''):^''*EP4NE!!XVEOH8<OC2N#"</K2</K2</^W%9^W%9^W&.+*:.+*:.YVU%YVU%YVU%
cg@3175
   369
QTTD%YVS$5IR.+)8^@5_WU41LZ6A UUUO#:%)VRL#D)J\''H]GY C@6)*_W4(JBZ!!C@1^W#H2V%*, HATUJZ&)FM#XVF3,:>1+;DX[V4X*Z&8Y&Y&Y"L#''"M0
cg@3175
   370
BP$IVU%Y@PDA@ZN#^3 8"# _G1<[[A,[E1\WY6]''Y;^7R7M3\7M/K"9/@ HB@ I>@#Z]M)6]''SX6************-KR4-KR4-KP+J2,+J2,+J2,KSD0KB0,K
cg@3175
   371
E$DVE$DVE!!XV"2@ HB@ HB@*J"(b') ; colorMapFromArray:#[108 168 80 124 90 170 164 90 170 92 122 170 92 164 170 144 168 80 164 96 90 168 132 80 164 98 90 116 90 170 164 152 80 164 90 120 92 110 170 92 152 170 156 168 80 112 166 80 152 166 80 164 158 80 132 168 80 164 88 90 124 88 170 144 88 170 164 90 110 144 90 170 100 88 170 92 166 90 124 168 80 140 90 170 168 152 80 92 126 170 168 154 80 136 90 170 164 90 100 164 122 90 168 158 80 112 90 170 164 156 80 132 166 80 92 114 170 164 138 80 92 116 170 168 144 80 164 90 90 164 90 130 104 166 80 144 166 80 160 88 170 92 166 130 92 168 90 92 146 170 92 106 170 164 130 80 164 100 90 168 136 80 164 90 160 116 168 80 132 90 170 92 166 100 164 126 90 168 162 80 92 168 120 168 164 80 92 138 170 164 142 80 164 112 90 164 92 110 164 166 80 92 166 110 164 148 80 92 166 170 140 166 80 164 150 80 164 120 90 168 156 80 92 130 170 152 88 170 164 92 120 92 166 80 168 140 80 148 88 170 112 168 80 152 168 80 92 158 170 164 110 90 92 98 170 92 140 170 164 92 90 120 88 170 104 168 80 120 90 170 92 104 170 120 166 80 160 166 80 92 148 170 92 108 170 92 150 170 156 166 80 92 90 170 164 124 90 92 92 170 92 134 170 92 166 160 108 90 170 148 90 170 128 166 80 168 146 80 92 120 170 168 148 80 140 88 170 100 90 170 164 116 90 160 90 170 116 88 170 156 88 170 92 128 170 156 90 170 136 166 80 96 168 80 164 134 80 164 104 90 92 154 170 92 166 140 92 168 100 128 90 170 108 166 80 92 118 170 164 88 170 128 168 80 92 100 170 92 142 170 164 94 90 168 130 80 164 168 80 92 168 110 136 88 170 120 168 80 96 166 80 116 166 80 132 88 170 164 92 100 92 132 170 168 160 80 92 166 120 92 168 80 168 142 80 164 160 80 104 88 170 92 160 170 148 168 80 92 162 170 164 114 90 168 150 80 92 124 170 100 166 80 164 128 80 100 168 80 140 168 80 164 88 160 112 88 170 164 102 90 168 138 80 92 112 170 164 136 80 128 88 170 92 94 170 92 136 170 92 96 170 148 166 80 168 166 80 104 90 170 164 90 150 124 166 80 92 102 170 92 144 170 92 166 150 96 88 170 164 118 90 96 90 170 160 168 80 92 88 170 164 90 140 164 154 80 136 168 80 152 90 170 108 88 170 164 106 90 92 156 170 164 108 90 164 140 80]; yourself]
cg@3175
   372
!
cg@3175
   373
cg@2266
   374
pickColorIcon
cg@2266
   375
    ^ ToolbarIconLibrary pipette16x16Icon
cg@2266
   376
! !
cg@2266
   377
cg@1840
   378
!ColorEditDialog class methodsFor:'interface specs'!
cg@1840
   379
cg@1840
   380
windowSpec
cg@1840
   381
    "This resource specification was automatically generated
cg@1840
   382
     by the UIPainter of ST/X."
cg@1840
   383
cg@1840
   384
    "Do not manually edit this!! If it is corrupted,
cg@1840
   385
     the UIPainter may not be able to read the specification."
cg@1840
   386
cg@1840
   387
    "
cg@2224
   388
     UIPainter new openOnClass:ColorEditDialog andSelector:#windowSpec
cg@2224
   389
     ColorEditDialog new openInterface:#windowSpec
cg@2224
   390
     ColorEditDialog open
cg@1840
   391
    "
cg@1840
   392
cg@1840
   393
    <resource: #canvas>
cg@1840
   394
cg@1840
   395
    ^ 
cg@3175
   396
    #(FullSpec
cg@3175
   397
       name: windowSpec
cg@3175
   398
       window: 
cg@3175
   399
      (WindowSpec
cg@3175
   400
         label: 'Define Color'
cg@3175
   401
         name: 'Define Color'
cg@3175
   402
         min: (Point 440 360)
cg@3175
   403
         bounds: (Rectangle 0 0 440 360)
cg@3175
   404
       )
cg@3175
   405
       component: 
cg@3175
   406
      (SpecCollection
cg@3175
   407
         collection: (
cg@3175
   408
          (VerticalPanelViewSpec
cg@3175
   409
             name: 'RGBLabelPanel'
cg@3175
   410
             layout: (LayoutFrame 0 0 0 0 90 0 76 0)
cg@3175
   411
             horizontalLayout: fit
cg@3175
   412
             verticalLayout: spreadSpace
cg@3175
   413
             horizontalSpace: 3
cg@3175
   414
             verticalSpace: 3
cg@3175
   415
             component: 
cg@3175
   416
            (SpecCollection
cg@3175
   417
               collection: (
cg@3175
   418
                (LabelSpec
cg@3175
   419
                   label: 'Red:'
cg@3175
   420
                   name: 'RedLabel'
cg@3175
   421
                   translateLabel: true
cg@3175
   422
                   adjust: right
cg@3175
   423
                   useDefaultExtent: true
cg@1840
   424
                 )
cg@3175
   425
                (LabelSpec
cg@3175
   426
                   label: 'Green:'
cg@3175
   427
                   name: 'GreenLabel'
cg@3175
   428
                   translateLabel: true
cg@3175
   429
                   adjust: right
cg@3175
   430
                   useDefaultExtent: true
cg@1840
   431
                 )
cg@3175
   432
                (LabelSpec
cg@3175
   433
                   label: 'Blue:'
cg@3175
   434
                   name: 'BlueLabel'
cg@3175
   435
                   translateLabel: true
cg@3175
   436
                   adjust: right
cg@3175
   437
                   useDefaultExtent: true
cg@2224
   438
                 )
cg@3175
   439
                )
cg@3175
   440
              
cg@3175
   441
             )
cg@3175
   442
           )
cg@3175
   443
          (VerticalPanelViewSpec
cg@3175
   444
             name: 'RGBSliderPanel'
cg@3175
   445
             layout: (LayoutFrame 90 0 0 0 -177 1 76 0)
cg@3175
   446
             horizontalLayout: fit
cg@3175
   447
             verticalLayout: spreadSpace
cg@3175
   448
             horizontalSpace: 3
cg@3175
   449
             verticalSpace: 3
cg@3175
   450
             component: 
cg@3175
   451
            (SpecCollection
cg@3175
   452
               collection: (
cg@3175
   453
                (SliderSpec
cg@3175
   454
                   name: 'RedSlider'
cg@3175
   455
                   tabable: false
cg@3175
   456
                   model: red
cg@3175
   457
                   orientation: horizontal
cg@3175
   458
                   stop: 255
cg@3175
   459
                   step: 1
cg@3175
   460
                   backgroundColor: (Color 100.0 0.0 0.0)
cg@3175
   461
                   extent: (Point 173 16)
cg@1840
   462
                 )
cg@3175
   463
                (SliderSpec
cg@3175
   464
                   name: 'GreenSlider'
cg@3175
   465
                   tabable: false
cg@3175
   466
                   model: green
cg@3175
   467
                   orientation: horizontal
cg@3175
   468
                   stop: 255
cg@3175
   469
                   step: 1
cg@3175
   470
                   backgroundColor: (Color 0.0 100.0 0.0)
cg@3175
   471
                   extent: (Point 173 16)
cg@1840
   472
                 )
cg@3175
   473
                (SliderSpec
cg@3175
   474
                   name: 'BlueSlider'
cg@3175
   475
                   tabable: false
cg@3175
   476
                   model: blue
cg@3175
   477
                   orientation: horizontal
cg@3175
   478
                   stop: 255
cg@3175
   479
                   step: 1
cg@3175
   480
                   backgroundColor: (Color 0.0 0.0 100.0)
cg@3175
   481
                   extent: (Point 173 16)
cg@1840
   482
                 )
cg@3175
   483
                )
cg@3175
   484
              
cg@3175
   485
             )
cg@3175
   486
           )
cg@3175
   487
          (VerticalPanelViewSpec
cg@3175
   488
             name: 'RGBFieldPanel'
cg@3175
   489
             layout: (LayoutFrame -173 1 0 0 -130 1 76 0)
cg@3175
   490
             horizontalLayout: fit
cg@3175
   491
             verticalLayout: spreadSpace
cg@3175
   492
             horizontalSpace: 3
cg@3175
   493
             verticalSpace: 3
cg@3175
   494
             component: 
cg@3175
   495
            (SpecCollection
cg@3175
   496
               collection: (
cg@3175
   497
                (InputFieldSpec
cg@3175
   498
                   name: 'RedField'
cg@3175
   499
                   model: red
cg@3175
   500
                   type: numberInRange
cg@3175
   501
                   numChars: 3
cg@3175
   502
                   minValue: 0
cg@3175
   503
                   maxValue: 255
cg@3175
   504
                   acceptOnPointerLeave: false
cg@3175
   505
                   extent: (Point 41 20)
cg@1840
   506
                 )
cg@3175
   507
                (InputFieldSpec
cg@3175
   508
                   name: 'GreenField'
cg@3175
   509
                   model: green
cg@3175
   510
                   type: numberInRange
cg@3175
   511
                   numChars: 3
cg@3175
   512
                   minValue: 0
cg@3175
   513
                   maxValue: 255
cg@3175
   514
                   acceptOnPointerLeave: false
cg@3175
   515
                   extent: (Point 41 20)
cg@1840
   516
                 )
cg@3175
   517
                (InputFieldSpec
cg@3175
   518
                   name: 'BlueField'
cg@3175
   519
                   model: blue
cg@3175
   520
                   type: numberInRange
cg@3175
   521
                   numChars: 3
cg@3175
   522
                   minValue: 0
cg@3175
   523
                   maxValue: 255
cg@3175
   524
                   acceptOnPointerLeave: false
cg@3175
   525
                   extent: (Point 41 20)
cg@1840
   526
                 )
cg@3175
   527
                )
cg@3175
   528
              
cg@3175
   529
             )
cg@1840
   530
           )
cg@3175
   531
          (VerticalPanelViewSpec
cg@3175
   532
             name: 'RGBFieldPanelHex'
cg@3175
   533
             layout: (LayoutFrame -130 1 0 0 -100 1 76 0)
cg@3175
   534
             horizontalLayout: fit
cg@3175
   535
             verticalLayout: spreadSpace
cg@3175
   536
             horizontalSpace: 3
cg@3175
   537
             verticalSpace: 3
cg@3175
   538
             component: 
cg@3175
   539
            (SpecCollection
cg@3175
   540
               collection: (
cg@3175
   541
                (InputFieldSpec
cg@3175
   542
                   name: 'EntryField4'
cg@3175
   543
                   model: red
cg@3175
   544
                   type: hexIntegerInRange
cg@3175
   545
                   numChars: 3
cg@3175
   546
                   minValue: 0
cg@3175
   547
                   maxValue: 255
cg@3175
   548
                   acceptOnPointerLeave: false
cg@3175
   549
                   extent: (Point 28 20)
cg@3175
   550
                 )
cg@3175
   551
                (InputFieldSpec
cg@3175
   552
                   name: 'EntryField5'
cg@3175
   553
                   model: green
cg@3175
   554
                   type: hexIntegerInRange
cg@3175
   555
                   numChars: 3
cg@3175
   556
                   minValue: 0
cg@3175
   557
                   maxValue: 255
cg@3175
   558
                   acceptOnPointerLeave: false
cg@3175
   559
                   extent: (Point 28 20)
cg@3175
   560
                 )
cg@3175
   561
                (InputFieldSpec
cg@3175
   562
                   name: 'EntryField6'
cg@3175
   563
                   model: blue
cg@3175
   564
                   type: hexIntegerInRange
cg@3175
   565
                   numChars: 3
cg@3175
   566
                   minValue: 0
cg@3175
   567
                   maxValue: 255
cg@3175
   568
                   acceptOnPointerLeave: false
cg@3175
   569
                   extent: (Point 28 20)
cg@3175
   570
                 )
cg@3175
   571
                )
cg@3175
   572
              
cg@3175
   573
             )
cg@3175
   574
           )
cg@3175
   575
          (VerticalPanelViewSpec
cg@3175
   576
             name: 'HLSLabelPanel'
cg@3175
   577
             layout: (LayoutFrame 0 0 86 0 90 0 163 0)
cg@3175
   578
             horizontalLayout: fit
cg@3175
   579
             verticalLayout: spreadSpace
cg@3175
   580
             horizontalSpace: 3
cg@3175
   581
             verticalSpace: 3
cg@3175
   582
             component: 
cg@3175
   583
            (SpecCollection
cg@3175
   584
               collection: (
cg@3175
   585
                (LabelSpec
cg@3175
   586
                   label: 'Hue:'
cg@3175
   587
                   name: 'Label1'
cg@3175
   588
                   translateLabel: true
cg@3175
   589
                   adjust: right
cg@3175
   590
                   useDefaultExtent: true
cg@3175
   591
                 )
cg@3175
   592
                (LabelSpec
cg@3175
   593
                   label: 'Light:'
cg@3175
   594
                   name: 'Label2'
cg@3175
   595
                   translateLabel: true
cg@3175
   596
                   adjust: right
cg@3175
   597
                   useDefaultExtent: true
cg@3175
   598
                 )
cg@3175
   599
                (LabelSpec
cg@3175
   600
                   label: 'Saturation:'
cg@3175
   601
                   name: 'Label3'
cg@3175
   602
                   translateLabel: true
cg@3175
   603
                   adjust: right
cg@3175
   604
                   useDefaultExtent: true
cg@3175
   605
                 )
cg@3175
   606
                )
cg@3175
   607
              
cg@3175
   608
             )
cg@3175
   609
           )
cg@3175
   610
          (VerticalPanelViewSpec
cg@3175
   611
             name: 'HLSSliderPanel'
cg@3175
   612
             layout: (LayoutFrame 90 0 86 0 -177 1 163 0)
cg@3175
   613
             horizontalLayout: fit
cg@3175
   614
             verticalLayout: spreadSpace
cg@3175
   615
             horizontalSpace: 3
cg@3175
   616
             verticalSpace: 3
cg@3175
   617
             component: 
cg@3175
   618
            (SpecCollection
cg@3175
   619
               collection: (
cg@3175
   620
                (SliderSpec
cg@3175
   621
                   name: 'HueSlider'
cg@3175
   622
                   tabable: false
cg@3175
   623
                   model: hue
cg@3175
   624
                   orientation: horizontal
cg@3175
   625
                   stop: 359
cg@3175
   626
                   step: 1
cg@3175
   627
                   keyboardStep: 1
cg@3175
   628
                   extent: (Point 173 16)
cg@3175
   629
                 )
cg@3175
   630
                (SliderSpec
cg@3175
   631
                   name: 'LightSlider'
cg@3175
   632
                   tabable: false
cg@3175
   633
                   model: light
cg@3175
   634
                   orientation: horizontal
cg@3175
   635
                   step: 1
cg@3175
   636
                   backgroundColor: (Color 67.0 67.0 67.0)
cg@3175
   637
                   keyboardStep: 1
cg@3175
   638
                   extent: (Point 173 16)
cg@3175
   639
                 )
cg@3175
   640
                (SliderSpec
cg@3175
   641
                   name: 'SaturationSlider'
cg@3175
   642
                   tabable: false
cg@3175
   643
                   model: saturation
cg@3175
   644
                   orientation: horizontal
cg@3175
   645
                   step: 1
cg@3175
   646
                   backgroundColor: (Color 67.0 67.0 67.0)
cg@3175
   647
                   keyboardStep: 1
cg@3175
   648
                   extent: (Point 173 16)
cg@3175
   649
                 )
cg@3175
   650
                )
cg@3175
   651
              
cg@3175
   652
             )
cg@3175
   653
           )
cg@3175
   654
          (VerticalPanelViewSpec
cg@3175
   655
             name: 'HLSFieldPanel'
cg@3175
   656
             layout: (LayoutFrame -173 1 86 0 -130 1 163 0)
cg@3175
   657
             horizontalLayout: fit
cg@3175
   658
             verticalLayout: spreadSpace
cg@3175
   659
             horizontalSpace: 3
cg@3175
   660
             verticalSpace: 3
cg@3175
   661
             component: 
cg@3175
   662
            (SpecCollection
cg@3175
   663
               collection: (
cg@3175
   664
                (InputFieldSpec
cg@3175
   665
                   name: 'EntryField1'
cg@3175
   666
                   model: hue
cg@3175
   667
                   type: numberInRange
cg@3175
   668
                   numChars: 3
cg@3175
   669
                   minValue: 0
cg@3175
   670
                   maxValue: 359
cg@3175
   671
                   acceptOnPointerLeave: false
cg@3175
   672
                   extent: (Point 41 20)
cg@3175
   673
                 )
cg@3175
   674
                (InputFieldSpec
cg@3175
   675
                   name: 'EntryField2'
cg@3175
   676
                   model: light
cg@3175
   677
                   type: numberInRange
cg@3175
   678
                   numChars: 3
cg@3175
   679
                   minValue: 0
cg@3175
   680
                   maxValue: 100
cg@3175
   681
                   acceptOnPointerLeave: false
cg@3175
   682
                   extent: (Point 41 20)
cg@3175
   683
                 )
cg@3175
   684
                (InputFieldSpec
cg@3175
   685
                   name: 'EntryField3'
cg@3175
   686
                   model: saturation
cg@3175
   687
                   type: numberInRange
cg@3175
   688
                   numChars: 3
cg@3175
   689
                   minValue: 0
cg@3175
   690
                   maxValue: 100
cg@3175
   691
                   acceptOnPointerLeave: false
cg@3175
   692
                   extent: (Point 41 20)
cg@3175
   693
                 )
cg@3175
   694
                )
cg@3175
   695
              
cg@3175
   696
             )
cg@3175
   697
           )
cg@3175
   698
          (ViewSpec
cg@3175
   699
             name: 'PreviewBoxFrame'
cg@3175
   700
             layout: (LayoutFrame -100 1 4 0.0 -3 1.0 -39 1.0)
cg@3175
   701
             level: 1
cg@3175
   702
             component: 
cg@3175
   703
            (SpecCollection
cg@3175
   704
               collection: (
cg@3175
   705
                (LabelSpec
cg@3175
   706
                   label: 'Preview'
cg@3175
   707
                   name: 'PreviewBox'
cg@3175
   708
                   layout: (LayoutFrame 2 0.0 2 0.0 -2 1.0 -2 1.0)
cg@3175
   709
                   level: -1
cg@3175
   710
                   translateLabel: true
cg@3175
   711
                   postBuildCallback: postBuildPreviewBox:
cg@3175
   712
                 )
cg@3175
   713
                )
cg@3175
   714
              
cg@3175
   715
             )
cg@3175
   716
           )
cg@3175
   717
          (LabelSpec
cg@3175
   718
             label: 'Brightness:'
cg@3175
   719
             name: 'Label5'
cg@3175
   720
             layout: (LayoutFrame 0 0 175 0 90 0 197 0)
cg@3175
   721
             activeHelpKey: brightness
cg@3175
   722
             translateLabel: true
cg@3175
   723
             adjust: right
cg@3175
   724
           )
cg@3175
   725
          (InputFieldSpec
cg@3175
   726
             name: 'EntryField8'
cg@3175
   727
             layout: (LayoutFrame 90 0 175 0 -277 1 197 0)
cg@3175
   728
             activeHelpKey: brightness
cg@3175
   729
             model: brightnessStringHolder
cg@3175
   730
             isReadOnly: true
cg@3175
   731
             immediateAccept: false
cg@3175
   732
             acceptOnReturn: true
cg@3175
   733
             acceptOnTab: true
cg@3175
   734
             acceptOnLostFocus: true
cg@3175
   735
             acceptOnPointerLeave: true
cg@3175
   736
           )
cg@3175
   737
          (LabelSpec
cg@3175
   738
             label: 'Color Name:'
cg@3175
   739
             name: 'ColorNameLabel'
cg@3175
   740
             layout: (LayoutFrame 2 0 214 0 135 0 236 0)
cg@3175
   741
             activeHelpKey: colorName
cg@3175
   742
             translateLabel: true
cg@3175
   743
             adjust: right
cg@3175
   744
           )
cg@3175
   745
          (InputFieldSpec
cg@3175
   746
             name: 'ColorNameField'
cg@3175
   747
             layout: (LayoutFrame 135 0 214 0 -122 1 236 0)
cg@3175
   748
             activeHelpKey: colorName
cg@3175
   749
             model: colorNameHolder
cg@3175
   750
             immediateAccept: false
cg@3175
   751
             acceptOnReturn: true
cg@3175
   752
             acceptOnTab: true
cg@3175
   753
             acceptOnLostFocus: true
cg@3175
   754
             acceptOnPointerLeave: true
cg@3175
   755
           )
cg@3175
   756
          (LabelSpec
cg@3175
   757
             label: 'HTML Color Name:'
cg@3175
   758
             name: 'HTMLColorNameLabel'
cg@3175
   759
             layout: (LayoutFrame 2 0 240 0 135 0 262 0)
cg@3175
   760
             activeHelpKey: htmlColorName
cg@3175
   761
             translateLabel: true
cg@3175
   762
             adjust: right
cg@3175
   763
           )
cg@3175
   764
          (InputFieldSpec
cg@3175
   765
             name: 'MLHTColorNameFieldField'
cg@3175
   766
             layout: (LayoutFrame 135 0 240 0 -122 1 262 0)
cg@3175
   767
             activeHelpKey: htmlColorName
cg@3175
   768
             model: htmlColorNameHolder
cg@3175
   769
             immediateAccept: false
cg@3175
   770
             acceptOnReturn: true
cg@3175
   771
             acceptOnTab: true
cg@3175
   772
             acceptOnLostFocus: true
cg@3175
   773
             acceptOnPointerLeave: true
cg@3175
   774
           )
cg@3175
   775
          (LabelSpec
cg@3175
   776
             label: 'Color Definition:'
cg@3175
   777
             name: 'Label4'
cg@3175
   778
             layout: (LayoutFrame 2 0 266 0 135 0 288 0)
cg@3175
   779
             activeHelpKey: colorDefinitionString
cg@3175
   780
             translateLabel: true
cg@3175
   781
             adjust: right
cg@3175
   782
           )
cg@3175
   783
          (InputFieldSpec
cg@3175
   784
             name: 'EntryField7'
cg@3175
   785
             layout: (LayoutFrame 135 0 266 0 -122 1 288 0)
cg@3175
   786
             activeHelpKey: colorDefinitionString
cg@3175
   787
             model: colorDefinitionStringHolder
cg@3175
   788
             isReadOnly: true
cg@3175
   789
             immediateAccept: false
cg@3175
   790
             acceptOnReturn: true
cg@3175
   791
             acceptOnTab: true
cg@3175
   792
             acceptOnLostFocus: true
cg@3175
   793
             acceptOnPointerLeave: true
cg@3175
   794
           )
cg@3175
   795
          (ActionButtonSpec
cg@3175
   796
             label: 'Copy Color'
cg@3175
   797
             name: 'CopyColor'
cg@3194
   798
             layout: (LayoutFrame 12 0 298 0 120 0 320 0)
cg@3175
   799
             activeHelpKey: hlsMixer
cg@3175
   800
             translateLabel: true
cg@3175
   801
             resizeForLabel: true
cg@3175
   802
             tabable: true
cg@3175
   803
             model: copyColor
cg@3175
   804
           )
cg@3175
   805
          (ActionButtonSpec
cg@3175
   806
             label: 'Paste Color'
cg@3175
   807
             name: 'PasteColor'
cg@3194
   808
             layout: (LayoutFrame 122 0 298 0 240 0 320 0)
cg@3175
   809
             translateLabel: true
cg@3175
   810
             resizeForLabel: true
cg@3175
   811
             tabable: true
cg@3175
   812
             model: pasteColor
cg@3175
   813
           )
cg@3175
   814
          (ActionButtonSpec
cg@3175
   815
             label: 'pickColorIcon'
cg@3175
   816
             name: 'Button1'
cg@3175
   817
             layout: (LayoutFrame 285 0 298 0 312 0 325 0)
cg@3175
   818
             activeHelpKey: pickColor
cg@3175
   819
             hasCharacterOrientedLabel: false
cg@3175
   820
             translateLabel: true
cg@3175
   821
             resizeForLabel: true
cg@3175
   822
             tabable: true
cg@3175
   823
             model: pickColor
cg@3175
   824
           )
cg@3175
   825
          (HorizontalPanelViewSpec
cg@3175
   826
             name: 'HorizontalPanel1'
cg@3175
   827
             layout: (LayoutFrame 0 0.0 -32 1 -16 1.0 0 1.0)
cg@3175
   828
             horizontalLayout: okCancelBox
cg@3175
   829
             verticalLayout: centerMax
cg@3175
   830
             horizontalSpace: 3
cg@3175
   831
             verticalSpace: 3
cg@3175
   832
             reverseOrderIfOKAtLeft: true
cg@3175
   833
             component: 
cg@3175
   834
            (SpecCollection
cg@3175
   835
               collection: (
cg@3175
   836
                (ActionButtonSpec
cg@3175
   837
                   label: 'Cancel'
cg@3175
   838
                   name: 'CancelButton'
cg@3175
   839
                   translateLabel: true
cg@3175
   840
                   resizeForLabel: false
cg@3175
   841
                   tabable: true
cg@3175
   842
                   model: cancel
cg@3175
   843
                   useDefaultExtent: true
cg@3175
   844
                 )
cg@3175
   845
                (ActionButtonSpec
cg@3175
   846
                   label: 'OK'
cg@3175
   847
                   name: 'OKButton'
cg@3175
   848
                   translateLabel: true
cg@3175
   849
                   resizeForLabel: false
cg@3175
   850
                   tabable: true
cg@3175
   851
                   model: accept
cg@3175
   852
                   isDefault: true
cg@3175
   853
                   defaultable: true
cg@3175
   854
                   useDefaultExtent: true
cg@3175
   855
                 )
cg@3175
   856
                )
cg@3175
   857
              
cg@3175
   858
             )
cg@3175
   859
             keepSpaceForOSXResizeHandleH: true
cg@3175
   860
           )
cg@3175
   861
          )
cg@3175
   862
        
cg@3175
   863
       )
cg@3175
   864
     )
cg@1840
   865
! !
cg@1840
   866
cg@2347
   867
!ColorEditDialog class methodsFor:'startup'!
cg@2347
   868
cg@2347
   869
openOn:aColor
cg@2347
   870
    ^ self new
cg@2347
   871
        color:aColor;
cg@2347
   872
        open;
cg@2347
   873
        yourself
cg@2347
   874
cg@2347
   875
    "
cg@2347
   876
     self openOn:Color red
cg@2347
   877
    "
cg@2347
   878
! !
cg@2347
   879
cg@1840
   880
!ColorEditDialog methodsFor:'accessing'!
cg@1840
   881
cg@1840
   882
color
sv@2279
   883
    |colorName|
sv@2279
   884
sv@2279
   885
    colorName := self colorName.
sv@2279
   886
    colorName notEmptyOrNil ifTrue:[
cg@2574
   887
        ^ Color name:(colorName asSymbol)
sv@2279
   888
    ].
cg@2326
   889
    ^ Color redByte:(red value) greenByte:(green value) blueByte:(blue value)
cg@1840
   890
!
cg@1840
   891
sv@2279
   892
color:aColor
sv@2279
   893
    aColor isNil ifTrue:[
sv@2279
   894
        ^ self
sv@2279
   895
    ].
sv@2279
   896
sv@2279
   897
    aColor isSymbol ifTrue:[
sv@2279
   898
        self colorNameHolder value:aColor
sv@2279
   899
    ] ifFalse:[
cg@1840
   900
        self red value:aColor redByte.
cg@1840
   901
        self green value:aColor greenByte.
cg@1840
   902
        self blue value:aColor blueByte.
cg@1840
   903
    ]
cg@1840
   904
!
cg@1840
   905
cg@1840
   906
colorName
cg@1840
   907
    ^ colorNameHolder value
cg@2224
   908
!
cg@2224
   909
cg@2574
   910
colorNameOrColor
cg@2574
   911
    |colorName|
cg@2574
   912
cg@2574
   913
    colorName := self colorName.
cg@2574
   914
    colorName notEmptyOrNil ifTrue:[
cg@2574
   915
        "/ ^ Color name:(colorName asSymbol)
cg@2574
   916
        ^ colorName asSymbol
cg@2574
   917
    ].
cg@2574
   918
    ^ Color redByte:(red value) greenByte:(green value) blueByte:(blue value)
cg@2574
   919
!
cg@2574
   920
cg@2224
   921
htmlColorName
cg@2224
   922
    ^ htmlColorNameHolder value
cg@1840
   923
! !
cg@1840
   924
cg@1840
   925
!ColorEditDialog methodsFor:'actions'!
cg@1840
   926
cg@1840
   927
colorChanged
cg@2831
   928
    |clr nm|
cg@1840
   929
cg@2574
   930
    clr := self colorNameOrColor.
sv@2279
   931
    clr isColor ifTrue:[
sv@2279
   932
        "not a symbol"
sv@2279
   933
        self setPreview:clr.
cg@2326
   934
        self htmlColorNameHolder value:(clr htmlPrintString) withoutNotifying:self.
cg@2831
   935
cg@2831
   936
        nm := #(white red green blue black) detect:[:nm | clr = (Color perform:nm)] ifNone:nil.
cg@2831
   937
        nm notNil ifTrue:[
cg@2831
   938
            self colorDefinitionStringHolder value:('Color ',nm).
cg@2831
   939
        ] ifFalse:[
cg@2831
   940
            self colorDefinitionStringHolder value:('Color rgbValue:16r',(clr rgbValue hexPrintString leftPaddedTo:6 with:$0)).
cg@2831
   941
        ].
cg@2831
   942
        self brightnessStringHolder value:((clr brightness asFixedPoint:3) printString).
sv@2279
   943
    ].
cg@2831
   944
cg@2831
   945
    "Modified: / 27-01-2011 / 12:54:04 / cg"
cg@1840
   946
!
cg@1840
   947
cg@2326
   948
colorChangedTo:clr
cg@1840
   949
    "compute rgb and hls (if possible)"
cg@1840
   950
cg@2326
   951
    |h|
cg@1840
   952
sv@2279
   953
    self red   value:clr redByte withoutNotifying:self.
sv@2279
   954
    self green value:clr greenByte withoutNotifying:self.
sv@2279
   955
    self blue  value:clr blueByte withoutNotifying:self.
cg@1840
   956
cg@1840
   957
    h := clr hue.
cg@1840
   958
    h notNil ifTrue:[
sv@2279
   959
        self hue        value:(h rounded) withoutNotifying:self.
cg@1840
   960
    ].
sv@2279
   961
    self light      value:(clr light rounded) withoutNotifying:self.
sv@2279
   962
    self saturation value:(clr saturation rounded) withoutNotifying:self.
cg@1840
   963
cg@1840
   964
    self colorChanged
cg@2831
   965
cg@2831
   966
    "Modified: / 27-01-2011 / 12:48:28 / cg"
cg@1840
   967
!
cg@1840
   968
cg@2326
   969
colorNameChanged
cg@2326
   970
    "compute rgb and hls (if possible)"
cg@2326
   971
cg@2326
   972
    |clr|
cg@2326
   973
cg@3179
   974
    clr := Color name:(self colorName) ifIllegal:nil.
cg@2326
   975
    clr isNil ifTrue:[
cg@2326
   976
        ^ self
cg@2326
   977
    ].
cg@2326
   978
    self colorChangedTo:clr.
cg@2326
   979
!
cg@2326
   980
cg@2224
   981
copyColor
cg@2224
   982
    self window setClipboardObject:self color
cg@2224
   983
!
cg@2224
   984
cg@2224
   985
copyColorName
cg@2224
   986
    self window setClipboardText:self htmlColorName
cg@2224
   987
!
cg@2224
   988
cg@1840
   989
hlsSliderChanged
cg@1840
   990
    "compute rgb"
cg@1840
   991
cg@1840
   992
    Color withRGBFromHue:hue value light:light value saturation:saturation value do:[:r :g :b |
cg@1840
   993
        red    value:(r * 255 / 100) rounded withoutNotifying:self.
cg@1840
   994
        green  value:(g * 255 / 100) rounded withoutNotifying:self.
cg@1840
   995
        blue   value:(b * 255 / 100) rounded withoutNotifying:self.
cg@1840
   996
    ].
cg@1840
   997
    colorNameHolder value:'' withoutNotifying:self.
cg@1840
   998
    self colorChanged
cg@1840
   999
!
cg@1840
  1000
cg@2326
  1001
htmlColorNameChanged
cg@2326
  1002
    "compute rgb and hls (if possible)"
cg@2326
  1003
cg@2326
  1004
    |clr|
cg@2326
  1005
sv@2417
  1006
    htmlColorNameHolder value isEmptyOrNil ifTrue:[
sv@2417
  1007
        ^ self.
sv@2417
  1008
    ].
sv@2417
  1009
cg@2326
  1010
    clr := Color rgbValue:(Integer 
cg@2326
  1011
                                readFrom:(htmlColorNameHolder value copyFrom:2)
cg@2326
  1012
                                radix:16
cg@2326
  1013
                                onError:nil).
cg@2326
  1014
    clr isNil ifTrue:[
cg@2326
  1015
        ^ self
cg@2326
  1016
    ].
cg@2326
  1017
    self colorNameHolder value:'' withoutNotifying:self.
cg@2326
  1018
    self colorChangedTo:clr.
cg@2326
  1019
!
cg@2326
  1020
cg@2224
  1021
pasteColor
cg@2224
  1022
    |copyBufferColor|
cg@2224
  1023
cg@2224
  1024
    copyBufferColor := self window getClipboardObject.
cg@2224
  1025
    copyBufferColor isColor ifFalse:[
cg@2521
  1026
        UserPreferences current beepInEditor ifTrue:[                
cg@2521
  1027
            self window beep.
cg@2521
  1028
        ].
cg@2224
  1029
        ^ self
cg@2224
  1030
    ].
cg@2224
  1031
    self color:copyBufferColor
cg@2224
  1032
!
cg@2224
  1033
cg@2266
  1034
pickColor
cg@2266
  1035
    |color|
cg@2266
  1036
cg@2266
  1037
    color := Color fromUserWithFeedBack:[:clr | self setPreview:clr].
cg@2266
  1038
    color notNil ifTrue:[
cg@2266
  1039
        self color:color.
cg@2266
  1040
    ]
cg@2266
  1041
!
cg@2266
  1042
cg@1840
  1043
rgbSliderChanged
cg@1840
  1044
    "compute hls"
cg@1840
  1045
cg@1840
  1046
    |r g b|
cg@1840
  1047
cg@1840
  1048
    r := self red value.
cg@1840
  1049
    g := self green value.
cg@1840
  1050
    b := self blue value.
cg@1840
  1051
cg@1840
  1052
    Color withHLSFromRed:(r * 100 / 255) green:(g * 100 / 255) blue:(b * 100 / 255) do:[:h :l :s |
cg@1840
  1053
        h isNil ifTrue:[
cg@1840
  1054
            "/ achromatic
cg@1840
  1055
        ] ifFalse:[
cg@1840
  1056
            self hue    value:(h rounded) withoutNotifying:self.
cg@1840
  1057
        ].
cg@1840
  1058
        self light      value:(l rounded) withoutNotifying:self.
cg@1840
  1059
        self saturation value:(s rounded) withoutNotifying:self.
cg@1840
  1060
    ].
cg@1840
  1061
    self colorNameHolder value:'' withoutNotifying:self.
cg@1840
  1062
    self colorChanged
cg@2266
  1063
!
cg@2266
  1064
cg@2266
  1065
setPreview:color
cg@2266
  1066
    previewBox isNil ifTrue:[^ self "called before setup"].
cg@2266
  1067
cg@2266
  1068
    previewBox backgroundColor:color.
sv@2941
  1069
    previewBox foregroundColor:color contrastingBlackOrWhite.
cg@1840
  1070
! !
cg@1840
  1071
cg@1840
  1072
!ColorEditDialog methodsFor:'aspects'!
cg@1840
  1073
cg@1840
  1074
blue
cg@1840
  1075
    blue isNil ifTrue:[
cg@1840
  1076
        blue := 0 asValue.
cg@1840
  1077
        blue addDependent:self.
cg@1840
  1078
    ].
cg@1840
  1079
    ^blue
cg@1840
  1080
!
cg@1840
  1081
cg@2831
  1082
brightnessStringHolder
cg@2831
  1083
    brightnessStringHolder isNil ifTrue:[
cg@2831
  1084
        brightnessStringHolder := 0 asValue.
cg@2831
  1085
        "/ brightness addDependent:self.
cg@2831
  1086
    ].
cg@2831
  1087
    ^ brightnessStringHolder
cg@2831
  1088
cg@2831
  1089
    "Created: / 27-01-2011 / 12:48:00 / cg"
cg@2831
  1090
!
cg@2831
  1091
cg@2831
  1092
colorDefinitionStringHolder
cg@2831
  1093
    colorDefinitionStringHolder isNil ifTrue:[
cg@2831
  1094
        colorDefinitionStringHolder := '' asValue.
cg@2831
  1095
        "/ colorDefinitionStringHolder addDependent:self.
cg@2831
  1096
    ].
cg@2831
  1097
    ^colorDefinitionStringHolder
cg@2831
  1098
cg@2831
  1099
    "Created: / 27-01-2011 / 12:38:12 / cg"
cg@2831
  1100
!
cg@2831
  1101
cg@1840
  1102
colorNameHolder
cg@1840
  1103
    colorNameHolder isNil ifTrue:[
cg@1840
  1104
        colorNameHolder := '' asValue.
cg@1840
  1105
        colorNameHolder addDependent:self.
cg@1840
  1106
    ].
cg@1840
  1107
    ^colorNameHolder
cg@1840
  1108
!
cg@1840
  1109
cg@1840
  1110
green
cg@1840
  1111
    green isNil ifTrue:[
cg@1840
  1112
        green := 0 asValue.
cg@1840
  1113
        green addDependent:self.
cg@1840
  1114
    ].
cg@1840
  1115
    ^green
cg@1840
  1116
!
cg@1840
  1117
cg@2224
  1118
htmlColorNameHolder
cg@2224
  1119
    htmlColorNameHolder isNil ifTrue:[
cg@2224
  1120
        htmlColorNameHolder := '' asValue.
cg@2326
  1121
        htmlColorNameHolder addDependent:self.
cg@2224
  1122
    ].
cg@2224
  1123
    ^htmlColorNameHolder
cg@2224
  1124
!
cg@2224
  1125
cg@1840
  1126
hue
cg@1840
  1127
    hue isNil ifTrue:[
cg@1840
  1128
        hue := 0 asValue.
cg@1840
  1129
        hue addDependent:self.
cg@1840
  1130
    ].
cg@1840
  1131
    ^hue
cg@1840
  1132
!
cg@1840
  1133
cg@1840
  1134
light
cg@1840
  1135
    light isNil ifTrue:[
cg@1840
  1136
        light := 0 asValue.
cg@1840
  1137
        light addDependent:self.
cg@1840
  1138
    ].
cg@1840
  1139
    ^light
cg@1840
  1140
!
cg@1840
  1141
cg@1840
  1142
red
cg@1840
  1143
    red isNil ifTrue:[
cg@1840
  1144
        red := 0 asValue.
cg@1840
  1145
        red addDependent:self.
cg@1840
  1146
    ].
cg@1840
  1147
    ^red
cg@1840
  1148
!
cg@1840
  1149
cg@1840
  1150
saturation
cg@1840
  1151
    saturation isNil ifTrue:[
cg@1840
  1152
        saturation := 0 asValue.
cg@1840
  1153
        saturation addDependent:self.
cg@1840
  1154
    ].
cg@1840
  1155
    ^saturation
cg@1840
  1156
! !
cg@1840
  1157
cg@1840
  1158
!ColorEditDialog methodsFor:'change & update'!
cg@1840
  1159
cg@1840
  1160
update:something with:aParameter from:changedObject
cg@1840
  1161
    (changedObject == red
cg@1840
  1162
    or:[changedObject == green
cg@1840
  1163
    or:[changedObject == blue]]) ifTrue:[
cg@2326
  1164
        self rgbSliderChanged.
cg@2326
  1165
        ^ self
cg@1840
  1166
    ].
cg@1840
  1167
cg@1840
  1168
    (changedObject == hue
cg@1840
  1169
    or:[changedObject == light
cg@1840
  1170
    or:[changedObject == saturation]]) ifTrue:[
cg@2326
  1171
        self hlsSliderChanged.
cg@2326
  1172
        ^ self
cg@1840
  1173
    ].
cg@1840
  1174
cg@1840
  1175
    (changedObject == colorNameHolder) ifTrue:[
cg@2326
  1176
        self colorNameChanged.
cg@2326
  1177
        ^ self
cg@2326
  1178
    ].
cg@2326
  1179
    (changedObject == htmlColorNameHolder) ifTrue:[
cg@2326
  1180
        self htmlColorNameChanged.
cg@2326
  1181
        ^ self
cg@1840
  1182
    ].
cg@1840
  1183
cg@2326
  1184
    super update:something with:aParameter from:changedObject
cg@1840
  1185
! !
cg@1840
  1186
cg@1840
  1187
!ColorEditDialog methodsFor:'startup & release'!
cg@1840
  1188
cg@2266
  1189
postBuildPreviewBox:aView
cg@2266
  1190
    previewBox := aView
cg@2266
  1191
!
cg@2266
  1192
cg@1840
  1193
postBuildWith:aBuilder
cg@1840
  1194
    super postBuildWith:aBuilder.
cg@3175
  1195
    (aBuilder componentAt:'HueSlider') 
cg@3175
  1196
        viewBackground:
cg@3175
  1197
            (ImageBackground new 
cg@3175
  1198
                image:(self class hueGradientImage);
cg@3175
  1199
                align:#fit;
cg@3175
  1200
                yourself).
cg@1840
  1201
    self colorChanged.
cg@1840
  1202
cg@1840
  1203
    "Modified: / 6.9.1998 / 22:55:25 / cg"
cg@1840
  1204
! !
cg@1840
  1205
cg@1840
  1206
!ColorEditDialog class methodsFor:'documentation'!
cg@1840
  1207
cg@1840
  1208
version
cg@1840
  1209
    ^ '$Header$'
cg@2831
  1210
!
cg@2831
  1211
cg@2831
  1212
version_CVS
cg@2831
  1213
    ^ '$Header$'
cg@1840
  1214
! !
cg@3175
  1215