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!!!: ---