[comp.binaries.mac] THINK C Class for After Dark

jfrancis@umaxc.weeg.uiowa.edu (Jeff Francis) (12/11/90)

[THINK C Class for After Dark]

CAfterDark is a base class that allows you to write graphics modules for
Berkeley Systems' After Dark in terms of an object based abstraction.
The base class CAfterDark provides the default behavior for a graphics
module by simply blanking the screen.  Subclasses can then add or change
this basic behaviour.

This software has been placed in the public domain.  Use it at your own
risk!  The author takes no responsibility for loss or damage resulting
from the use of this code.

Files:

 GlueCode.[ch]		Glues the regular "main" interface to our class
			based interface.  You will need to change
			GlueCode.h so that it creates an instance of
			your own subclass.  See GlueCode.h for more
			information.

 CAfterDark.[ch]	The base class for all graphics modules

 CParticle.[ch]		An example subclass

 CParticle.9		THINK C 4.0.2 project file

 CParticle.9.rsrc	Resources for the CParticle examples

 GraphicsModule_Types.h	NOT PROVIDED but needed.  This files is included
			on your After Dark distribution disk.


Contact Me At:

  Jeff Francis
  CS Student, University of Iowa
  jfrancis@umaxc.weeg.uiowa.edu
  (319) 354-0765

---
(This file must be converted with BinHex 4.0)

:$N0"CR4PFN4KFQXZ8fPd!&0*9#&6593K!!!!!#GA!!!!!$238dP8)3!*!!!R9h*
-BA8"!!!!!!!!!!!#$%0"CR4PFN4KFQXZBd&'4!!P[q)!#J!Pq[3!&J!$Bh00Ef4
eE'8!*C&)!#,i6J!Pq[3$p!%+!#3!!3!!!#@4BP4&@&4,38K-!3#LJ([)SYbqM3!
!!!!!!!BE!!!!!!!!!kX!!*4B!!!!!!!!$-B[9$3!S3,%N!!JCZL8N8-NM*`e)0,
-!4%'K*J`FmU!'--'id3cEq5!)&2'6KNfEq#NFA-'a"NjBH#J56-'4*XhC1U`+60
RB%'3!#)4+K6Cm+%,%##Sc*c)dH2)-QC@mJ4""ie'NQE#k+4MX3bD-(E5[+NMabF
)S"4G`T4*Fq,0R$Y"Y+$kaQ*(0a#VDT`c4NkC-Qk1JTK54dc614Pl%Y`BaJe&-Q3
HNdP$4kbE-'bkIJdEmUM2&`-EM&M*X3j*%#)1*PaBG)d,0#*#"c5Ea!hPN@qQZRP
6GH8C`B30Gd3mG3kDX@`L[c%T4dkDdlhGPUQ+NklCPC66B%kM4f2M2"(Gc+(6H)a
'1`keLpNjXA(NM(6U`+&U0Aafc#$'Ke&SpSdCqQ@N)G*,-FddKPXik95'#jmem-3
8464RN!"3V$QdKJike%BC#P+Fi3B5lX@eAQ0VG1J'#b!Fd338$SA4KK!SME%'&(5
)"%H,EFb43J0l0*!!J&rabH(BEK(+X8-$I65Jj'b,`8ML@@Q``FC%HYP&SSNJh%%
C'PE+5&mG%if)Pfm!jYIAAfkJS#1$L`9h@',j(DH6FX`j"pe50NehA'35!3KH'#R
JjXB*A0h4'&Gd[''@Q(R9ajGIJ)%3NN@"'ZS'SR@48GFFEl5K*jNRCF5Q#U!p@15
%Uc&N)BC1iX@KKb#k3BD)GjAS)BSUXJM6Lc(1@#-)0qkU)imq'K%P'bDL`+L*+!E
ViK`Yq"!('8HJG0'83k584l661LPM#NIq1"eC3lj4j*&*,LR3BN6!G)F4Zek9fd5
lpFB5F)@p@CbFb8PDjh-D4CFRG@5BP5L`#`(9"N@fYE'ICD1@#U'%UJh9'SEYK[&
Z[+pq'+*'bpkDiSSi`[L'M$6DL11`2BSEC,RR)UPN!d`@0!4+'H'Q'fmchBZ8Qm2
"D4abG#jNCm"iHNU``AAjY40'hVN"RUFhbI'RP#I[9dCNBS#RPi$jj4Xd`j%Gc&%
CM4RFmaN6bGF98"Tap-BF[JRQa"08&+%$#(Q-&5I4Jh*&dNi+!ALGH15jBCkNrr9
0PU4LU&(''&bKN!#'#`ZL'&d+%BGQ+X88U[S3KMI2A8E(XFi+FUh-MUbVLbDMr+Z
c1HlB-T!!j)*!C(2ScPccB009-CqQ1p[lfmpLHl3[dIiD$6"pI5UpTh@,I5@VL(A
3NDKMRL)@aKNm43b#Ja1,9('&SqX`4I"`S2kaPALe2V3FA(8rarGPi%VbVV(lUV+
`Y[-4lS5N1h2a$NN!!Ja$3@CdCA*%BA*V,QJm!!#$)!!P[`4MFde[!!%KcJ!P[`3
!3#dL!#@r"!!JN!"m!!$rri!M%M!!1J6f!#!J"!!J9%9B9%Y"5%`"!+#8VUHLh,k
5!!!!!!!!!D%!!!!!!!!"(J!!4*i!!!!!!!$SQ#2)P$'6aNdC%&q3!(`C%X3-R6*
bL)54XkC"Ja%&al#T)a!%McG[i-aaJFE(aB`E1iSi)LF-($4TaXaTmSC-(6CP[Y$
*!kI-5$3L,-kK)kI1'$SJ'$U%+*%L#"dJ#T**)kI-d3Cl'L4i-U@)($NJNVK*3`H
&P$0ZN!#%F8-'*`JaE0DZ1HZ'"BJM6D"-$00'#*XhBpC!)3S#cYifFe,Xd-V9+eL
rFXfL9F[@,9bjG1hLeGZblpr!Jm%DlTaimGDZAd%3DAR(51FbNY1ZEA[`XTZjD$A
R2H`AX'$#SrQ@CS`Dl*!![h0Jdk9-qfhFfjR[lZlF'c6``m021`BaT3bG+R"L-lI
m((GG%(23[*'$Y)h21@(1P0(0Q@rehk+a+fl3C`F#!!Y$8'&bG'PME'8ZZ@Jm!!#
$)!!P[`4MFde[!!%KcJ!P[`3!3#dL!#@r"!!JN!"m!!$rri!M%M!!1J6f!#!J"!!
J8&*25NY"5%`"!+*XC%1LmdR[!!!8GJ!!!!!!!!Z*!!!!!-Zk!!!!!!!!!!!YV`!
!"!J)B!+$J")1#P4658%U-$`q#$RcSN8P!`ppI1Kaj"ma(!E!8)""B!U3!#$YI(&
C-!4+'$PddSaK8mC&,J%%S8KjSQ4*%#4-"J*!36$RcTirJ`BN5Y$)MU*3#9BB))S
0Q5&4+GK"JJB!K)P#6U&L9p'E##HY!LJ$Bd**UflfcS"i`3$9(#4ZrR&$93G*'lK
ipIVYaQm`2l"Lf8&`!8$"'34d8iQ)21+&LhrBl$,jKJ'H%bmJ[N"jiJ5D%bX"0r!
4k+e!a@"-2[!3+&ZJ%ehpf(af8UIS!%318!%B%(!![+M)NbYIcVbjmqI3SdZI6Vf
kpH[BXf[IcVflpqrJ`iXI6lkmqI2SdkYIcljpH(B%%36m"`1!VD)"X!`(35"J%#*
RY#'3!!,r(G%%#%1`%FBFF`3%!3!Uh+,!I2AG9p5$%8i)!(hf3B@KK"4fH#'%)'j
BSBFNDXLKK34pU1+*)fBB)SX1TMJMLM+D+'+,0ZT)SeFpVSKML8,'5#5-21CBC**
(lPLM#JLi"*0-0$(iC*-rZRLMN5mk#D3+r`AiRaaV!!"#!)!30#%)!"K!N!#E45R
!a)2+b3G!#CHJ9X)MQ0`*#42&c9D8$0J")3X1Gr)T4%$5*%S'9(Z#NLJTL3Uh*bZ
*`T)S,BRLNLJ[L3+6+$'*)T-S-iP#NbJeL@+6+$H*JT-S1BQLNbKmHakh*cf*iT-
S2hi'9!)Nr3dVhl!($I[JX"6iLB'I(2M*jV!Nq%R8X#ci@Gq`02L*k,#c$3Z%Rd6
iLF5GNqKcTb5QPK!*VHjUkZkfN!$)%9#D!2J5d%!i*C!!J%$cr52``2q)`Sd[M3!
3V9!9p$0%%%C3!3!$$jY"4aPb%2(5'Lk-39!!SK5#c4-KMecb%`"S!!"1!""!3a0
"$)&%!!Sd%FBB5*34"KNB0qJab!G,BV![3JHY--!!02a`a"0AI((''l[398!#J0,
22(4BMEA@G!"J!Y)0(b&&%&!!B-%4FS3""aSbcG(%'f683G-AG13"4aPc5(h[hJ(
adqqr3K&--#LFJ!2SXb`$%-F66d!a"3!)[2%'((-%382(!$!'XXJNFhjbbLX(j$,
--Y0X-mikmba(JrY@CFXkVX21aZYQKal3iSdrES$NP'0H"VlG"Z3V!2iL,IM!S3`
c`#8!)%j3'U4,M-$T9+40HHEidKS32AmEIhc"mb34$1J-1`a&%&)!`*+8-Fe8NmF
#R5`rjk#c2(V--pGmFmilprcad+%!)!$*&a#PR5ppkhY*qfLLYj80V@K%Hq$4bVF
dL9%X#"E$Q-E)e-$KF1f$9q[DemSR0V+C$@eUBpXBh!BhZC@"ERE$@`26&!"#"33
Hh3[Fpd34[JX3-'Rp1!)6UP#%aKb"$A8S`a$JpVlrHHk*)kZIk&k'2p2Y,hAqDad
EDY'2UR$4LreSRZd!J)-T&)%+93K!!UC3"MT8!3k@Db$3I$')SGAaB)2iBGL'@%3
&($'*5q4C"`8J`)-&d*!!HM3IqY6A%J95U5C6SdV3(LM"K4A3B4#cS0-d',@ZP+&
P)0aD#,d'YL#1V@aRXji+@4LhZGAYERQE'VkB!J$i&+8r""&Bb`L5Z)%JJ!"Y#%-
Dh!##BJEU(r4!!M$D!3KS3!)&3&!#*FlJ!`Di!3!&J&`E'!!(Vf5V"l"SJcCXB!B
9`)!a#&"Q1CV*#"!!!34%)3!XA2%2G,4K*1K8*c[G#B,,X#-5`L'!&2*#Mh-L-jc
DJ%%E,$(3IpM$S2C!U%)"i!pTS1!,ZkN$AF+5#K+%"J9)3)NqF$%%q*!!!J6C31P
Y!-!$*3$K$$+J#eS)S!iX21)(,4JT6[@KLiQm!!"SDB!3FY!'IHK,&8KJ!`"))G0
@%%!A8(K%8`NJ$*YHP$HR3DB3mS+2X2aJ0SN)#a,`),"8m#%d+d##2YKa'`,3i6B
$F--1J+!2B!LK&ITJ4NA@qY@@"DB`"2@,2U#4LNEX&4QT3!))LSS-%%!""N34!"5
!-&Gp%!-'1C8'0)T+M-TDBkrXk#X"IR#C`Ya6%B)PV#0!fpF#r$8`b5`U0JU,@Ae
i!a*&e8CPM9&EDaKJA!USE%*cUSh0kX-BPI8'DfG6!0,q`l383+eX8l(DR)Cf0ZR
-#f#4+9K`d$DRh[JY!#K3@A-X&h,1KDiNZN[GaDkeYZD!49FXm!B+X$DRjR"[D)P
#JBQNSJ2khF&mp@&Hkk)&!rU`+@MYXP0JV"3C9*!!UR9683'i)Z)(!1KV!%"lB$e
%06$q#-Z""4(9"Fr"S2j!#`"d!,!#r--CM3'!!rjK+K%!&3i"k!%3rS%2d+CL%)G
048acbJ`K'a3IB2"#JrF+MCd5il"S#B!JR[#1LHRi(rT`k4N)i9apV*3(%3E$K[#
`8f(X&4Xl0FCHQ4(P+9HC!9I1mNXhC)8ZVj3)BGi3%M+D93#F%h+9"FCK-4`B!+6
##)8@,#j5!B$8TJ)&Y`Q!06#m8J4%Q-p@i2'I%9"C-a1Cd0Spp'ZjLTB(#'!(HG%
(6`8l@eSb!0-maZQqaS@dJ)Kj1VMX6NJ$N!#i[K(NeY,*GAGb`H[K%'4i!!"fG)5
p(6V)SGLjjT@YUF2XlDLJf)NlcV4a$CiH&&XSb5C)0k05YS#`L3)DGJ)PQTIZGE1
Jh3!!!Vbj!'p*`&X@m+B'[1R4lJ$)!pkLLiS!4"83$5dR#2ViKcX)`PCp"%!ESC%
""QL!!9KJi3V*`,)5*T*LH)#!(a'IH-8aJA'0Fp`*(YG(b#N1LkdU!"*"D)-"S('
5i`J!"K!i3mI0r9-#[#!),CX-j&l`"EqHBcE9-N%!N!!J"')-JbMA4N)4N!"4$'S
3JHP#%!)`JJ%03@b'T5,i!'rQdV+I"rfRN!!T1J'3!(#1'!"9&`$Ja0FC%IDappc
X"""kfShZpT@H03"cVhXGb1jcS1FGl86RqpX"`),!Lhh`GcHmhK1rpVB[RJ&RFMa
[P!!)0A"!#B&3!`1)!!JL"'+P)$!pEdLr8JZ3!&leG3#p'K5JHVJEJ29eF)'J"#B
,3)c"!$EZ*QpJF3Ja-!!3`8!#%!JP"#!SRcHb+,i''00mj50Iq8JiJJmDI34("!-
'"mLq$!l!Qk3(3"b)%%FLSLm'I#!I')H3!-%!K!%-&``Jqmi!4[DPFBJb)%!5JL!
'"!"l*J%'j-"fi!!-)2!'id8$%#!$,'B$)1#!#&!!`*!!!S!!!3K!$A3!!3D`8X5
J"(JJ!)k`"P9$"U#3!!)V*3dV43LE-3!(N!!&Pk!%1"!!,A!'!T!!#[r!'f$!#a$
iA$6JJ!C!H'HJ!1l%!&$J"2P`"QHK83E!!K3S",5JJ@#J!$mJ!#[&!66`!9)J"1,
J#'8J$fD!$bc`H03!"K1SJ38!#"LSJ5Z&"D#J!L[P"NLJ"rr!"L6`!C6!#%a(!a%
!"JiJ!LR3-T+!#$)3$$,!$dl!#L)J$&'!$2m!$f!`FB-B%JiJ!a'!"($`)$)J$)Q
SK#,`$BmBL3b!+!+`B@A`DRU`-JJJ+J2J"(Z`-V`""ILJ!&k3!!95a30$-!423!4
AQ!UJ!!)IF!B%i%km!3F2N!!+bH"B2`J%3d!2%!!"dS!0-)!"[2%Gi'B3#+%3!D!
'!,!"'1!!"'!U!F%"!5!'-KC58h!Z!D%(@N!D4433KV!%5H!%j4)3NR!&62!%@"%
3RP#24+!I!D%+[%J%4B36YN!%38!&3"F3fM!&9#!&Ma-3jN!%8P!%J")3mM!&@G!
%%dP43q!%4R!%qk)!8j!!"&S3M`&J!80`N4NC!#*!"%*3"53T%#k!"4cC"2[#BZ"
@&"e`#5bM5pL%"`$3!CEJ$3%6F%9T#HUb)Ip3(,aLP2k3!*3!d!#VBC6L3*81)#T
'U3dV)j328#hi)6$0mJ$CBT6'3*84F"a'D3eU'C@@!'01'4!4i#Y'f5Kc#3!4!#a
'U3aIqC6Bj)e'D3kk"#F&`!9,U3jrL4!#*j35`'`#i*Kf%K!&d!CV%!CS`!Be"!)
!%%03BA*dD@0XC5kj,R*cFQ-J!#@r"'0c6@m!!5(1!#@r"!"!,5)!*Em%!##3!(`
!!2rrJ#-5GJ!k"2B!)#!%!#"bFh*M8P0&4!%!SQcHhk,FX)B!!!)"!!!!!!!!!AN
!!!!!Hdd!!!!!!!!!!*a)!!!%##J`$8'$!6%9m%B`J!*C!3ZB#8K!cjJe!KAS#QK
!'+#!,!)ZS&+Q$C`RF1LNL8%$K`##FZE)'50P5K%L"(2#P%R6*NkG3)2U&&8ZRKH
J!JB1c1P3(NG9!!K3$1K3(dG6#TJ%)81'LX!&,`%8N!#8#Ti5)MpiI&A!844""!H
DI*8388P%9aqrDSLSKD+EKJY%4(36CSc1!!Y84(4%d8THa$)L@JRk-J2"Pb-Z!b#
M13("*NbJK*'MFJbE-L"LZ)!"J`8)-AP!+#PMaJ`))h,#Z"Q6CSi,%#"%NdjM'R9
[%,T"P-%6aZ4T%%1#Q+&64Jk4d@Y!c+NMaR5B1EkT0N3)J$`Q!"r3f5'JKL!(!1d
$6+%L"34"#A1XK'%$B!!!$`$N44!'!)$JL!m$T21I8!1S!d!&""Q3!0-!k`$!!%%
A%M3!1J#BF&p1#``K4aPNT%%(#%bNi8BC#$34"Kkr@C(('bfq'#-HEaa!4"PXd"%
'#&3FF%4ZGTLB"`!##d03BA*dD@0XC5jM,R*cFQ-J!#@r"'0c6@m!!5(1!#@r"!"
!,5)!*Em%!##3!(`!!2rrJ#-5-!!k"2B!)#!%!#"849K85d&)6!%!SQjP+k,c5F%
!!!!!!!!-,!!!!!!!!!Ff!!$D9`!!!!!!!&Z),e3d!+%#a"!SBH63561'64N3DHD
!#1-'4"NmBGV!F@J`L"NkCH335EJ'a*`kBKU'Q62("BJNG#Dk5G-Q$%L*B8$!5EL
`BCQ""F1-NI1'*3JkD"l1'9UQM"ZA"X1`'91(MFddEpcJP21`*KQPEikLX5Rfi8k
&$"fHQ!-8K"NfDFkJL8RQ6CNjENl%G"M'cN1N5TNkK8SPU8bD9l0#a+Yh)KXfBQf
f2F19V*Jk-G2%V,RQVYXhFLD#U$`RDaJa(#pQh&M'"G!A!aZ-511QBCf[)%3Fj*Q
f04S4$4S%E*YNjN+TDI3SE8T')Z$4&1Zf!H'Q6KXa)8'FF4V5*QJ@fX[3F@lBMY3
k$mf!RLbRVqBmESP1IdlC24hiFq"qP3-qHYQ+flR4h8fLc5%H#'qB!C&aD8M9eKK
CND%C9PUj4K"X6da4K"bKlBD@6cVS8*aQ+%KaKKY)4-F4DK5YBD)Ei"h4"%,YY5%
%'fq-X3B8G)4f9NCcT0$!(JdNF)4i)i&%"8ePS'"#Hfk3!$%&FbRX8'544i$3Jdi
*!GQ#$a#kdH-EE&KahPeE(#&&%&BN388@A`caK"0852%%%eeBQ3"5%AdjiR&X$"(
KK&R0JF+2E35j3`*A*X!9(AA)8C%EEf`SKj9p"#HF3!5"F'1,)04K)(P+e3&(5#U
aj"Q,ET68KRKS[%('8@'a@Y*c5h%e'!J[dG%@B"Ae5&&q0RRf('KadICCD'@XP%C
f&#'f8&B@US#KKK`D4'02$SAiDDXPRTKLP#YDeHU,-FlBTBdikXLMMqX'1@54Y#8
PKfCPN!$KVEPVS'!VZPc@U'L48p,aa,eRd)B#$#bdJ1JFAlD4P@DJ3Hb$a-D"aN4
%G'`"3aFZL2&'(9'f*$)GG,c44T9&-ZUSH*&1@LQ(Q'SkA+G%Y(H(6L'T*dHLKp8
dE89L`0IG(,5G84D#E-ak&VF2N39(8B5kd4B+@,#3!%8+i(%eKP48@E@3!"Y+jb6
JcPKVRB*-X`),`KK*kHKF@!BqP)D#J,AeG'mJM#@4#'C)j9"&#CSK`Y)RTcaGJN[
RfY46[#DKS'CpVm4#@fDAXE1"-6&1fi45[6hSd"*&&*k!lB&%"P558rF'(H#*X0#
V`(9U1Qe-[5TQ[Y9HDkQf[)'S3mjKh'&%M8fq1#iCjEB)X)`dCR4MMM[f'$#3!%)
5QB!8CB`48aMFHkpRNF-Pd1Q'+ce%TY2"1e6NK35,&ciG6S,I2H`JS%!E(5PJd3)
0i0'IQ&,3JLcm,i$lkpm+!*Lr""C`J5a,J"(5m*JRQ)F0pCXIH"lfT6L3!1%)1"+
$91BJ+$MNSB0Nq*51@%BqJCL[)%-!@e@+44h0"3aU1U(Dd0jRV5*P38XJD-%49%!
&)Vj!"L"B!3LXN!#(0a!aL5$)`K[dK!8J@J%26U3#&,%`a8D9Ve1YHmlHI,)B"*N
"EiCaR&2qFlS"4Df'Qa-2$mfi)0""*N`5)Kf#!#1(1d6N)@63fG,'b"'bj1f&F-`
KdSEQQKI#*J&hbpm2H3!#'!JT!AY#3jpmm+F'"@Td&$,8`b*B"MBB#!6D5i!@9l!
P$S)T+f-UdjRQX!8L&)%*9!J#&H)dTcVGU3XJH!%)BJ!$',J!"RTb@3)+0Vm-hJq
"!r6I$+$*[`+fB*S0M1B+X#R!DQCKQa'8)!ACB%'T100l'i`A#N(i"K'DXS3Rp)%
(Vk"*N!"%-&0&HP6-A'HTQJARCJ9T`K[mXM4N*5aBBAN1TAi@ZRBPTL,qFCZSM*9
'8k(++UTL5kGX"B*A)89@Y(SEAd+$+m%mj680b0$[2!5e%!d"4`B+&iT8p*!!Ijd
SAG&M&rAHGEe%C5pq"N1B`KKQ56h9+b6idTF1[Y8[Qm+ST`2$C$jK*LPqdU`"q0`
8F4JN&8&&U@S5#C!!'h&LNJ-a$NV5U51J42G9dVAP*(#,6%c%f,k(q2%aVS[*@q#
$R5C'D@NTJ`-GRi-aLXQK,3X&`9dK3lNce+S-IQeE'Y2`&BN`MV!65ePSb"#TT%&
N2'k"LecSd,X'f1%0P!AHKlSP)UjqXUfK4!(deM8pGeP[P20+`&[H3*DDi#&V(3d
$(V*J9$&e0,1J!@jK0CZ&VN9(C@CL!hU5@D6P*KH)VV5Z(#bQhBh0S@-I#pR)5ZB
#K-e&6pVpB5[9H6(NEMGLl[8ZH%%Q-T)e4l`S8pRi9!R%+Qj*[C8mjRlVJXU@S4@
kC`+L&*lE"K5%mm"YL#jkJ"J%)8`""4#@F"R#b88JCMM"*6KZaZ5!K@4+%BM'4'E
,@RE&X'aT`9&5QB0"%'*AKLQ@'UCP%i+!"5YJi3QmT*1Gm*6-$d[h)5pQX)1,c'!
08pM#''lbQF,*4"G$*mB4"M&8[h4MSXMbb$VQX4@b!'3j#IQA9QUCErd,!KQSS-T
[aZ),XU4%,LE6Y`#'Fj@21'FS5P&2I9#X*MQ#!Mb$`!FL0Z`2qF#(i2i@"*5%!3J
BlHJU)PUl@'"C(`!!!JY$8'&bG'PME'8ZD'-m!!#$)!!P[`4MFde[!!%KcJ!P[`3
!3#dL!#@r"!!JN!"m!!$rri!M%M!!1J6f!#!J"!!J9%9B9%Y"5%`"!+*ZC6bLh,k
K!!!!!!!!!Km!!!!!!!!"I!!!@!!!!!!!!!#Rf#2)P$'6aNdC%&q3!(`C!L@-($T
TaV!Tdk$"L))5k`J%)@*)%$0dbXJKiR#0#c3L+XkK)kI1'$SJ'$U%+2'JMTJI3ii
Xf@"2J`4Qf,`*!a2,'aBJXK`&J39T&U4@m#beNQFT&D4(G[cmq@4+%6Pb3#4aNiB
1#LPRh#!*iiE-4""Lf,"GJpB0eLB0jB4T)d6SQ$93@)+!ih$[R"4D%h6p'VE[h,0
TelCp'hGZhEYjprCpmcG`@-*kfaa1["JX##*klaJ*A3Db@VCZ$eCf3cFYjX*mr3)
@$0S`BUjH63m41UGeAFQaiFUPI4R%%Ebi0hIQMA[d6cY[dT!!%8X@BKJf3pkd,CY
'r"`8cc2RjVclFrAIIE4D&%M3S(-T3D`NSC*Pi4-R9%Ma""-**!$$I!-9G"!446"
"44"8q!HJJ!3Q%!1#p4h84""B@)(&%a)'1'#"-Q#S)!JEGTJ&L%2m*f+&-e388),
f"5(%&#MJN3))1B,J!`J`J2!$#(L!F&-,1J)!!JT(E(9P3fpNC5jMD'-m!!#$)!!
P[`4MFde[!!%KcJ!P[`3!3#dL!#@r"!!JN!"m!!$rri!M%M!!1J6f!#!J"!!J9%9
B9%Y"5%`"!++!HikLmdNA!!!!!!!!#)S!!!!!!!!&"`!!N`F!!!!!!!$KXb25Z"R
$TJkC-L"i6#P$T`UF)$4FS2(4)1$!JJF6[RN$Cij%LJeHU'J!3J@))`a"d%'$d%f
B0JMIQ&(*%X5F1Q))KTNcKfBB1M34RLQ)F-bEM(I5X'%$SXkF-Lj!J%JbFf8CNLC
[jQ5cXkFCT3M6H+hMCNfHS'kD2Jd+iU#C-(AB!"@cXbKARL#'"$&$Ti`F)Q(NV('
"p8@$LJ)*'N3SiJM4)8HKSK&a1+!C0fj"6+NLC!L6)&1Q),ki')3)[Acp!KBXNI)
)Y`)4EZlm1A6H[Ahr"Pj6X3cQ0'B1Lm3+JNV00Q%%SNJ"`QM'SAA+p+6cjJa$PR,
BZS8V&`4Z[b"@VfNHCUR!-m4KMN%6aShB0LVIJ'J2iSdB0@A'd(N"NfFBkb!)P0Y
EBd"9Q&30`,(6'1@"m-384FL4(A,+)G%H'@`JT-)Fe-RaAaNXJ#$&'@jBL&Q'))M
"99NMZX&#!`R%'1-FD,`K"e$pcI&KL%Fd!89J,`R"aKYMV!%&(GNTk'%EFk63`"i
`2KKKGRjPe`-)EV`aj3k(*6"F!L9TaP!GF"5(4"*1,*(A#6e""-*3pMASQaeTb2'
''c#j33GKB+TJ@!*5P!&6'f,i&33-bh'C`%)0284$SM$#q'@B9)&`4aNRf)&3H8-
bf"FC0RAi)9SJG$TH'N#4mFBGE["CdTr!JB$#KU)#'-+9-$!(CBa0[+%T%NLN-5Z
(0RkBJU)*)-%%N@X-@fXCam,B4k3*c*%8(H[*QU1a)1`kU8P*Z%G('Z@PS8G4FT6
aNh6cB9R'(IAGPap3&ml(8aSNpS4UI+%@Dee88`AACe$TXYNZ((DU+#LTqkC,4ae
bZ0&6%i*1DH0bPU+44VCLCIb6GkR*!@1BiS&3"Kj`c1Z49%pB*8G56i9S+P[fiDG
I@kZQ9Hp6Q!9)EeSMJbXZZ@bBLp#fr`Ep*i0VKBXUd8EV!'-#Y2U,d*9Z[)[#E*k
"0N@d-FEUV08Jp)#VNc)k$(&D&,GKX4b3!2,UDaR!#PZeKpD"RHbb4Bk00l6)9PQ
fV#LJPP[*+U4`Yl%Yq1!d(5LSf0iD,BDSj%Y0)LY'ZQ'XJDbN)`dma*!!Dr&-aR3
ee6a[Zk1rX4E5QrCX99S(CGJAkM(*UjqVIX,)0%+Y2b9eM)*IL8,KhqNQ@%Q+%rY
h#Sd(AdEN+e*1SZ9!-UPhl3a0[hMHb(jr03J`D-kjjp4q#i+3!*1$S)C63*Q1Hl`
fdjYLp5$!c[[5GDeIrI!*+"lK$+HDh6"2I0$c!I[+3Vh*93i%Pp1HqG5&[J5!,QM
KmG!GM,!NK,b23cEacHPSTM[l5DiXqC11MT,@*rkYK3JDj1",bJ"!!4k2J-SE6q)
3f$JBKQ'$(@`JLki(`HaPEQUESb#b,1LPd)A*1!MC6Pb!mMX3Q-&'pA&C#[eM(Ae
04clVbFpiGPD'U``X9PE*``R5YEikd)%kED!B&k8$X%V0i3dK#S1B'VA&&BDP*cb
M!`DT3m,kl3p'8T3,!-8'1a$ii%T#F#0eh#"(2k+0H")Dh!f6KlMQ25Z"M(+)%+h
RSMlZU)K,1Q+-NYJj48f,LHUVe+8bYDQP%'PGS(,HU'CR+B63k!ea!49CCRB(pJ"
PPTV#)-,+3#GJcS%0Cc&9'FK`b!5)6A`JZ"Aj,SQ%+VM"9(iceZHDL-&!13mK9$K
6QYE8*KUmD8KdBFUFkR5R21e*D6!bCiI+!*'i`8KY%61CK,M8"`!$#NGXG@9$Ef4
P,QJZBc`!!)-J!#@r"'0c6@m!!5(1!#@r"!"!,5)!*Em%!##3!(`!!2rrJ#-5-!!
k"2B!)#!%!#"849K85d&)6!%!SRllhU,F[S-!!!!!!!!!i3!!!!!!!!#a!!",4`!
!!!!!!2Z)"3lPBE+@bk%0UGT")jGBeZYmJ#c*&,bJd*6+J+VBL%dG9,2C#jh8,EG
ej[8UY'2ePpZUR5#Hc$qmr2UEVbLRGQVmhj(C$F(3h#BD[cHGda3HFCIEj6lI%C,
9qEVTdf-pQV1a#48d9VbGA&(ma9jbKYe[Q`E1$b,,l@k-S-f4VEcmqTZb(`0Alm[
1kBS213X[Z0N$bLRGQiJCa#Va3`ra-JfF(NDh4P"Qb0EU!cL&ALK!!!-+8N9"4%e
&,R4iG#jM2!!!Jb!!*Em%Bh00E`!")Fi!*Em%!%!Y)J!P[`3!)*!!I!!!rrq!)a)
`!$S%pJ!J)!3!)&4&@&4,38K-!3#Lh,c8S[0)T`!!!!!!!!56!!!!!!!!!a`!!$L
&!!!!!!!!MU8,6EedZ3+$4,D&IN9*UKGN`QC0*USe0@LkV$F`#Re*9Gb*$*dSP*,
*LQ8f#EcP3+%8@N+95l[EN!$9L@Heb!@baTD+28&6+Y@DF[*@kkY9i@8PeQ+(F,)
Na)arANJ'-YDeV@YDeV@TI%(TFD&MRd(V@CRkj`c[58a9XB''ph#ZN!$BCJA@FEI
9"PkL2kmFm[41`Racqafkl@jbj&i*U$dZ1S@1I3M5idASqeSdCYpf5Xc2hmQQFME
*!-I,8UZXc2ecKRHr%(TFD&MRhkBTJImp*AAr[@AJV0bQ6!%jHLGDcMEkS-[84rA
MV0ZVJMpaZXf'M2#-kNVUq6lSq@l5jXiChjlPSb*A4VIrd6Z90'Ge*32CQF-fEP-
Q!+cmP+@h%JcdYDeV@T*9!pFI5KXI962CZk0qiE2Id)dPGIUjX"QrLL`4mYJ6p3+
X9h#Xj$$M6"jm%@T9G@@5K1NdrRX4TmrdBZ%`B!Yep%lJAHLGrC&Th52RAJJM1[T
LM59e@r8ID5JHj(r[*5NRJacbeV@Y5f-,li2rHEc+YlGAB`[RT+kRdjH'1T&&JLN
D%5ir@ce)D+cZF-lbQCqrS4,MpE2H@lD+l$$',(ZrT$FUD-lVXBAh`Iqm9A'NTLS
&,*maFpD0#,NdFp4pZi9R4KaVVQcKRIbhDlVXBAh`Iqm9I415)Re#2SQLa!-I*5q
)25id,(2mhQ9EfkU9A@CRkj`c[I41YM&R'he3CHSMq[(2+AcCBb$11mhQ9EfkU#0
lIXMpaeGFfF-lbPmf@-JcM[)(G9,#U6YiA[bTca0H3GITM[Zb9p$(5Pmf@-JcM[)
(iERQkX"ja@HHHqLG*AAjXXC"R(AYqb2h(2+@`EI9"Pdq2kmFN!",ZqmrLVUlH!*
EX`'!EBNSB83fCC@2GrhrPU932I3acd(S4cKIrIb'0h#XkJp,MU&MRhm()`Q@3$'
rJmrb8TI"L6C+TrUJ+@YDeV@YDeV@T3Yh[Y6aY()2,jYAD*Ir4+$,!SJQFEJ@kMl
8NBE5hhTY()2#5d@hqI)IG1m@!`fmlpFS+6F'`M"G6DG6QNe#%(Td@$8!!!:
---