From: 3gl21@qlink.queensu.ca Subject: GLoStDialAction.sit - support for live-scrolling scrollbars GLoStDialAction class Copyright © 1997 Gregory Lo. All rights reserved. Description: This class provides support for live-scrolling with a standard scroll-bar control. Notes: Only a handle to the control, the point from which to start tracking, and a pointer to a change-value-procedure is needed. One need only instantiate a GLoStDialAction object, and use and reuse it whenever live thumb-tracking is needed. For example: GLoStDialAction theThumbTracker; : theThumbTracker( myControlRef, thePoint, MyChangeValueProc ); theThumbTracker( anotherControl, anotherPoint, anotherProc ); The GLoStDialAction object is a functor -- an object that behaves like a function. Its operator() has been overloaded to support this. A convenience function, TrackIndicator(), is provided. An example call: TrackIndicator( myControlRef, thePoint, MyChangeValueProc ); The change-value-procedure must be declared as follows: void MyChangeValueProc( ControlRef inCntrl, const SInt32 inValue ); One should test that only the control's indicator is being pressed before invoking the GLoStDialAction object. Hits in other parts of the control can be handled in the normal fashion. (ie. call ::TrackControl() with or without a control action procedure). Change history: 30Oct1997 * Changed to set the control value before calling the change proc * Changed to redraw the control completely after tracking is done 04Nov1997 * Restored the slop rectangle handling * Changed some #ifdef's to #if's * Updated documentation Contacting the Author: email: * gregory-lo@usa.net * 3gl21@qlink.queensu.ca (before May, 1998) License: License is given to freely use this in any of your code: commercial, or otherwise. Send me a postcard or email if you do. Copyright © 1997 Gregory Lo. All rights reserved. (This file must be converted with BinHex 4.0) :%dG-Ee0d4'PKE%&MG'P[ELjcDA3!8dP84&0*9#%!N!3HYJ!!!4jl#e0*9#%!!3! !(VCb6'&e!J#3""B!!#!J$dG-Ee0d4'PKE%&MG'P[EJ#3%#bb!*!$G`$3!HB#(J# 3!`8!N!q'!!!#%2q3"!-!X(e8%E#',TJ!N!C84!#3"Ki`rr$rq!#3"PIP$3d64da [8h4%D@&X3@0dD@pZ,Q0`F!#3$+R-!*!4&J!!#4`!N!-@rj!%9%9B9%0A588"!," kA-H`K8+1!!!#%J!!'B!!!!&0!!!'f@fdPAJ!N!BPLa%!#"`mjK$%8-A4Z%22cTd HcTFlZAGb9R*h0EhG8f9UP4`1U-9a&G*El&fNE5FHP)N4NTk3!#)MR2P5SP%2H## 8e$28ZNIlT$N+!H8meQRmh6PXmkX"5Si#m"3HK[S#1UIG%-K(&+$ih,lFZ#dqU8R Y+QfEe#l,e(5)E98CmY6-NcaKaMd9fZ8V$-d#RIX$E0YZ!#$(mkN+lBDM3G#cFiR #lED[&4[E%QVPD`Reql9d&$'MB*q@'I@hD*P4`9(c-kVhc4qpjCE%fM(2Y0qfCAh 8Yd*d[&EC)#TirCb4&2l"9[(RF,iQP0-c1BE1iRIZd1SSJ*J@f@MH%D5"dfMQ53l q3FQ8G*+CL80T%CDUlkA(BGYTLZ6Lj`5mN5Hr5Q#,%&hDZPqRrrM+lASk#S@ZJ2b "S-1JX,p(UeD1aamcCFj&mLmB,@LdidDl4fZ6!!!-6[(Nm33C!*XG18E`P9k$1X) *AmXMYr,eC,B56ZeNkpGeK"01+-&6r,QQR1,I#%#Z$EL%%V4amTbJ(`(!Aj-Q$9S hQE',2#HFm#1F)!42q%V`&!"S&YhDB[Y9!MpcDmXi2"*$eI'GS18UAd300ii4eKE aVI3[*SVp[[2YYpq`3mN[K,aP4k,"@N(!#*X`b4-ZVlMA!-l+!@G-mlNrMM`qCQG ,MmlHRJ%fFS1TapQcPB'6CqCc(RRqZ"4`0[UaE`r25YVASpZB*ih*38C@F2@k2pL GhNR(R[2er"[ZpB6(2h'q1qff[qm-@KrQR1qQ[R[T5HIk%fIlj(Jd1$PDf0)@NC) L@$YM[lH24`XqqiT(DXdfY%HRrGCAFlSK9p1ip9A*Cf*bke8#2b`2icH@+%IjEP) p)-jFTReMe9r0CV*%X(d@qF%HY3%lY)rY3@[826jX[qQC!c&9IX3l2('P(bXKfEf Dd@3DRZ[([K6ZS-2f6F2ilV4le$NER*b#%[ZXB`rEJfjrG$+`TR(FK9Lj$SJT@,[ 4@'bb&er%XGTHj8%UP`j8%SL%rNU8R,VJrheBQmdP`'*A`[GBc65D4TJfRi9TCE9 0"M%,fa-RZZ#BM3b'U'%JBSYY!qp(mmidMDU#V)LB5iba9DXJ+$&dr5%FK@!,c8r c-1"M`c$m+(fQA25&(bP!!BbH#26H#DDm#%aI5@60hbNYUlEF-",RLTm%hPXRmJ) Zpma-GYq4UJeVac"JiNd$"IeT3#jf'S`QK'Q!Q$bc8,'j35"KPPX0cCm*MIN&h$C U@KS!X&9r)q9MTkZ*Rb!82J2Z+N0012i05'XMmk9@2h$a"8,NNS2'X"ZT9l[Xf[I 8K%33D8-[hAVq([!am19d%dliJZpF+#A#NP#*Q26"a,"5GDqTS5#NQGJk2D!XBNP &j65jb,Tq5Fd0ZmPl,Q&,14JcLeNDA@-(c#*"0C`03!3PeCGm(*!!LT!!KlM@ac" TJ$KJ5V"MIMfiL*!!#6+4++Dp05jlIR3NVRXm02ECecZlC,[r+`3I)h8SaA9KE,2 CFfk!b@)[8L`$(rCCSB'Xa'U!P%1`36#BeQaUl4BB"FKQ%bV%$Q0eLaL@%fNdI1r Jbi1%2dUK*8F-@2a35,X00T+1HiP*K+C*TaH,SEl5MN*bkNDJ$iF+J0NVl"%1*8G 934J`)fXd-L0VUKPYRE@G`+@h0e+%e,m@++F(S$8`,4drFFi$hS(TldFAk$ZfYZ4 J#`Iki"`F5e'kAXN0-M+I3@APjc9[T4$GJUIpIJdFA!j13&R8#9P%AM9B1q"1P,8 f4EP)ACBb1eTD4PQ%Y)+CX8L3!'`99K5Sila1dDEQdm%K4P!$!RGbNfGj@rImr8# jUc6BI+Y"rT-qBraF3E!!BbI"3Pm2`D8,q8U'Q0U4iR,@)*!!8EM-q3R!9ZYqJm9 5h0a#K[kiN@$iU"Bd)hB#[G325LpdBGNh[TSC!''X3-KLCF)!RhPGCLiG5V5(U-V f6!DrE)3$LTidLVBSJI6Q0%cfjc4&ER#jP566N!!RY'CL)4Ac%qB++B%NZ'8*9`a D(-iPZ&akBTT!fH)8bmD(2R,YJ*bdjF[a#+('RQmfZa(S30QD'emf@If5h+F*mJ& R*8kI"Hb)4aFDPkk,G+6pTDUJrlrDI,1N@l-2bdB,bKb''eU@*9Ji)$Y,*%6VDCA 0NT%YbT+bR(@B(#)`rp@8AqZdC6Rcre"E-Aad40ElDMj2Li,jXUYbUCN1(IIjZ3H Amqb!YQErY&Eeb+SUk2@(8&83e,YZl)H#ImUc$R14kV,aLcL@#!L,FL*h!HVl0+( q2N4"%JTb1*iXMa'!m--TR&PQmhM"kGbX1*fE"mjlPBq@!(""40+HL*`EfTX&e3$ ,4IF@XY)jM15NKIJi2b$U3aG8"Fa,Jm3FljFTl&H2VP9`L8H`)q'iP$!Br65&&+i &AGjCrMjIiq$eFL58%p#mD*(%Y#Va8!CKb#-2Yc(8'2SHA"LB'+m8)eNK&V@pC0D p1,E&GV-b,LH%C@8k'eID)C!!8f-ET!IM8`2L4Dh-Ke8e39kHVTd9"RNKF4#BKm5 JmjmM-rNR-Z9`HiRc#`BPYG9LQEe1+bUVSe*fePeCrYL#q5"VZ68cG5119`RRF8P T5EG$KF'3!&V-YXU%'mP#0!3N[j2Jj@%E$JmdJU*T3&X(d['4E@pQ(hD(fd$2PX# (Iq+Bha0KS!%S[5(N#ZLIB[3d[lpFBK!2T62'IhE3KaJiQ8#$T*MDdi`jZBlSMQL !"Re941B4$f0pBXldd63Z6mqT[2V"PCm32&HF364*UN6A3ASJU$$SJ2P4S6+K!ZD D(aSJ29cFalXL*-6r!3!0$4&(6'p6G%4TB@a"Bh4TEfiZD("`!*!-YSB!N"''!!! 4iJ#3!aErN!4849K83eG*43%!X(TEhE#')-%!!!'D!!!B$3!!!48!!!G"(mQa2!# 3"QVG%3!)(03FJKLSjiZ[8pFAhl#4Ve(0ITNeDIrD[Y4)IaKp49*GMD43fdim+"- M*$dK48Bimk9j`!1KT*kKeMhD*k&hY)Mc@+IaGqH`c4i%+"(RY,iPfl&&bQMMQM8 ($alXbb!T%CBC#92K5q%C08NiNN&5D@C0bD0p8J@*TN95DQE39$+B5*PTPTPI2E& ZhF5Uf$1VheLE*E@Lk9QCp3`cqV$![TS$H)6ebj,5'HrLL"2SF%i!Md!&VjmcNX, KMK`9$fR*YmVZFlLF3qMJL`CIP+-Lj(65@P!ccfXaKmlLGqk)l`$)HAJf4ZmTH92 1LKXRGZUR@d!E32iHV9SjQZ32",Xkh"FcGFk9m&1-jXj4XHKS#`#3!`a1mH6a""N !j"Lj,6kfekr"*[ZP2,B*ApRDCC*0hcJpfG84hK&+!&B2H(d!6[%"A"bJ,lk566K "fbDr#IS4!&30qXjMDpmQQdAfNGYNYSr-H!3&H-,aj&B!cl0VhGX6VjS%2Rp[ccX k-CICJC*a,mb8dGdT$r90XV"U-Xh%hjprr[P[a*'PLE%,F@+kSKI(`XfQ`P*+GNj 4&cXE"haK&iC6PBS`PQNU%Q[Q+U*8T(Q5'*Z*XE%L9R2UT+%eFDcd40bSE#UN5$1 T)fNM88af4Y+bQ0$S$1pX&6m2G,c!XLPfa53b)l)TLA*(fcdQ4QRSY'BQEUBUR2) 5D)2fc-V`'SVE,!3#S--Y)mXlT!LKDN+GZBackX#jN!#Lh*+!QCSS+R$Ke6d@2#H Y5)FNaVPf",E&N!$e(HY)K6)c0QLeHA9*3,em!)rXM8UT,B`QT``2-&9T*L"6-L0 iXF&EQ0'h&'CY`EEP+981@X+M8"QX*Nec1-P`JB0m0ZT8IZmFI!-+kAXj5f,D,dH mMAYLYZJA@&h3f*&ecUbdaHQLlcKjcjLFJa,4qS)&')IV0TGimC!!hA$bb,T9RXH U2@mcqj2QI`U4fM"RT4V'aVfAFUVA@NL4@[32kTJI@A!1EMSGl+mQXkR-a)LQFSk -Lp9e!@DG#9dKMT'h*L&E4!+#+m8qJJ$!'KX*+&e!PI'B)6SV50Q3!%q40-Y69Li L3Y*DU)#`-A,6h+3edR1MSKdlJ9K#KY5T'8'S3G,PXFjH[X$F'GfiP8Y#"XLVG'V b'*B49MRcAADY3[Lc&,[,%''I4X3*P+"bT$"T4#J!$K+PjmD&%qrqb"hSHDZ!Mm) !mbS5T$KS'UreLP"UeJ-8LP)3m6jHS)fGb9L-C6Te+!D+ZYL''V5rli+LG"j8ZJS #[rLhbE-#iNUJ,$bTk@Y9J*kD5)hCDB`lk$c[jE0"Q((emMSPZ`AHa,3X2A-mPc! i5`"#N@Iih#+hffQZjQi&!AJVEqii-"cR'A%r'VY18mCr,3`d4ZJFl[hCVml-[$3 +E!*@&JBjD@`56)6S)K-d,-I85X65KG6-5$a4iiM'B"kHi1fcG,RRA4+KbN53!"c Q-p+C`k3NKmPMV%VmHcQ`X`9"0*-UhKH6SVPfB[0PRXUZ*JHP*kS[!+d[*r',jep q"hZZZprP#08dliDb`ZT8,YS#$[qf9BSq85&@Z2#FS#3K*!aA+CHjR"P5,cKE&LD hJ#P#@)K,3XH#c9`8dbcNGPV8(1H58'iE(1DZB[,*Y1[lS%!$#A'ebE5VYeIq%`` UK1MME',PC#D4Tb'Y9&`0rh4qH(Q&HDA$1)p)r'ki5#MY6Rr[2i%lDVcDGAVmam1 $dm("iHfq8r8p4FJUHYcjeE[MrKm1,RTIhqlm+PIK08I-imlqi'ai-6LjXk9-dl8 cIK2"IF(lQh#YT1JdA'I1-d3GN!"S(Y$UXbMffl@Si1P1GZ[r6DUT!)QkYKGjiSS YfpF@k*Ah`mGkM-cL!m*-iYV#UGe3`)kAb"6eTN,ShSP@`,--"Z*&("fH(9ldKXG R4rdhTc@!lc6LfUBbVR$Ik(KhI[i&)LI'@D4Dq3$%ake&8*(1CrjIIHm6,Z+9Z$j hEPkLZPbrPULcrJq2[P8a$ql[a36S(2B#,4-V@TlhCprcJTde,GjHEMNJR-48J[% JU+0RVH,IQ"p4eXqY43AVfA#U-R3lY0LJe5UCqFQZ4lpZ&l'fJUa2H264HrmMQ2A bSYX-#)*Y*2b2KkhVrh8KH(VRF,$dZ+%JdqrZFI9*L@m#Q@NS+$`ZTEGR`)m0aah 5-&!He1iV'CE9ldd'a@Gl1(*AjdB#T5lcaBK$Ad53!,ZkFCARS8+jlhjZE8'c`-N Lb8Ha#[GpIhXM$BTqa*!!m"V`MBLQL$HjAZ+KQ(M`p&5PBANGKa9mT#K1aT!!lAR APfl`YE4IU`MAV&ILqDrEZlPHp#dI$P&Q0[XkiMQ[@flX@@YZ(V@i8qYQFQJb'Gm T$(C#RSSA,I(,5[Y54kAmA%jS`)G4QE#dCi@dqV,VGPhbJHTqq)6dC$80*VLGVER c[E(&c6jbZ,NVe6EXS+MmPV'(aeA`,6Hik11(1J@AXlXmC!ehHHLZXm@kjAfiDF' #EGS8&iY5[Ba$Tq%0rNRKe!9PkPGRHCD`-[&!TA)8d`'14VMV,60YYH*32fki#dG %@UBHfVU()VZEqM%m5b@V'`3Mci'akRN22Uefr#M[PNr2QjA[8,,QD-D*p'%'raG `F(dBj$qU9*-A%rh@RE5A5c'#`GI'a#4eZI-iI8m@4NZ@ISmp@e-2F2#8A'aDb&2 25cFMMpH0D[f(im3@VBZ$jAf&SjKV@DG*i(2hB$6!Ke!3hj3Q+BhV-2fPH8#kAqL k$bPrJp$qrVp5#mh`RM",Z0"SmA"Q#AlaJ6*N8h(5U2GZGlJ0$X3IQJX`h&`V[QN m!)rTmCX+6K9m"YcpL@Rp$bC8eI9!X&CEkpb@,5D[K2"R!!d!"8PMEfi04'PKE%& MG'P[ELjSF(!!N!bVcJ#3%!NF!!!5e`#3!aB!N!4TBfpZ68&$8d!!X)-b2V#$-Mi !!!%H!*!(K3#3"*A0!*!)eC!!%3!)XY&i[ZSi`M)P*@(-qq2-b$$UJmdk4f8N`j( km&#HShd+Ch%HJ"bc)Z22%@lPX,4[r0fjAHhQf3STlAZRf`k"8hLBi[jFi-`STH% 2aT!!@kI4P)%dM2[4&*+95A&%hTQ*C4V&+9P#8#Ca*NfR+6,#Q3r3ES$#RaGN(YE 2hMmq%iA55PN0$3Y5C@&NE@8ZD(4YE(4TEfiZD("`!*!-qd%!N"!4iJ!!'LN!N!- @rj!%9%9B9%e28e-"!,#&he'`KLIF!!!&VJ!!$qm!!!&C!!!&L8&G%q%!N!EfXL0 %$L)U6K'j8%NVU[[CmSq#AYeFLUHj,f@Q&5Fj+GUb2YSp1jCb@$,NlaMbUm[hfbp mi8bLbTr$pEB4m[XhARrp`0$"!QbimFBE"`B'Y[d6rV@Mq-e$J*hir)(V`E$Mj0I A$d$4lSrmHQ"S",H3!,Y68k@B4Xm@cmZqT*eV5ca8NrXLdF$R"MjAI#U9N!#,kQL 4ml21ca6kl4I0r"l4Z#IY5K3a4raNN6cC6T@@,i[``4jd0ZAq0[GDNG[C(A-@eaB G%NT-bL(QMBblhp0%$M#+V8&N-%$3$Dbd81FcML'f2mhG96RAFa19(42Tj5"(H@4 !0NkEemMmdEmECBmS6b['802'PAjZbM(ThfSC!Pe!8a0bR+ZQ,#Rr0XX!L,Z8,PD m1e`9QE!S+4GDbqm@VBH$5"ahPZ,88i)G[8"-Z,QBcR#N'jL[ham4DcZSk'GMPe1 GK@89RcSjr$i!#djAmLY""J"I'H&2MpckdJ%r`Vf9iDQ%VHr4m`M(8jq[i@QGN4( !kJ'[,kIiG'Ai3I'9S"r"309eE$hfpP&ZNJ'A(#I(b*!!N`%RV#26PA!m1EbHCjI jK6ASZ-q'YZLkPiiBAVHGANG8DSE4Xpec`l"F+jmmV4mCKYf[0-XQ[r1[hE+DjE, TpPc(EPiikLUe!KQf[$43NI"#Q55QN3qAXFE)pjRYJI9-Z2C2lPRP`C(q+U*pd4N iJa%Qc[8(PG$9DMZfD!p'PSe*E1RBMM0X@9D[Il&j[aUf1Z[h(hZ@fcfV("mGIFN fZ524FRSAr62(2RI&drc0(3bKV@6#eRbJBrGGHl3H[qaC&N5r8P)bZmGE+8hcI0" h4H'B,q1EFCK4jBi!dq!ec68)h@1Yfh#C!F-Gk6pf@-2aTpFRH`1mhJfrFhU,B8G rfRYS+1@1Ar9qYXmUYC0+Xk-@UcLBcP,aPBHRaq,idD2[a%9-8a@[K+2USK@'3Qp )4%`*a8[bk`846%&Zc$d-C[Gd"jY&L4F(#bDU!BT1H82E'A5qrq&ki')Iqq21JL6 R6#aLY3am5N55,4BU6X9%a5)-PP5$$"@'3639Yd%k%e)NUBa!VbrbbGTBaX*68BV (1[b!,Y2B+EecTUp55Mji-SM#&861S$%NN5U4cQJYVkSI&bU)i%qXjZ*f&RJcAJ* 2i&ND5qm'6PA,f!i4HK2&[%!+$j+Q9&Y+K%i0GR[NCc%*%"!4qF!Xpki`JI5881a '%,(PD5"6JJkc-l$X[l2-0241SFDrN!#A9J@lNb@NABS*,b*)i59&Y)4E6"f-cZE MfYV3V8Y#R)0-qPA1&b%eeTlY+#Vpia#$jE*NPa96r,L`$'*H5LXe1(lHUAfprd$ -9jdFfK&00,G$KV%U,PFG$H*6jR!)$-AK2J#a-P+BL3[&$*Kq,b5[Aeq*[3XTRBH d$`"[CP@+54Cj+8#Ye5"r2CR1C#V'0*0,"'dBh#!"mNA3!V"l#2hhmUFa894TUJA &%V)1$Pp,RmN%`JK+N5#KNNJ+(BY&Q+F)qPfqY6K4Pa3&&(QdXD$k8Eh'V4IjJIH E"e8f[UJ4#00@Y!iTiFN`,*,U8e$Gbbh%IJi@XkfEdMh[lf["2%XB9H%6qP%-QJ$ B"'e(h5DEd,e'QbqC6UqCqeJZ,9AJLcrXI122aY%AIU*UE$)-K-+#Uek8RTjJVNq hH[2,"'-(0S8PQDNX"2D%Y6TTG(RCeUH[%qJSF'*Bam69BS'HQF$J-D(b86Q)PNT A$Pkm"b!-N@VG!,%@)*NiJm8#25d4DV,c"3%4PF&Dh[PmAXE6NBVR-K36QFad2Ki %90GCmM'Q'JfG(!9)Ek*5YeJ!`2mU5a("DaYNIS(CK-$KTcUE8bf3!,$!D[9lVph (F+E!m%E%YrNaCRH,1+id6im'AXVhKqejJHm+I`Pk@!M5qDF$-'FJVac%kI1#E4f X4EKSHYICNJH[TZfY#L4Z,'pIKB6L-T%5R`FQZY9[bl'[)Q)$mdMHhNIf&E"cp%e I,IF'X$0#AS-0f!kcNe!YB,k(Hm-8c8NR)Laq$8LLjZYXIK"-I*S8fBD!"cZE`Fe 8XIjkiH1%i3-@,jY6P%U1Zc8elmp+(l-2E(*U&NLh-N4U[%mM!QNZJa"frFH`e3- T19TQ5h4(p[PCK4@PUS%U`LHp@ULHC)QX4j4@QQpR6+2e4X$T0$`jI[)Fe0r8RfF S0%P@pb6LqRk1&BL$)Pd[jDV+&m@(KqbPGZFce8lJ34jp10(GB93Z&R)36h'm3Re 6Z-m44c8IYrMk`+914LYZILZ9mF(3T`CRqTaL$afbbT9-9m6E)%(2+em4MQ1)1El L*DR(pdCXd-5+3)Y!MY9eXrrhUJS)FZl[1jl"jhBHbirfr`-!N!-0#P*PB@4YC5j dH(4XG'P[ELjSF(!!N!c2"3#3%",A!!!H4J#3!aErN!4849K8G(4iG!%!X)BZQ,# ',f)!N!B)8!#3"J1Y!!#f)3#3"VSb#k*J*FJ!*XI*XlA)qS5pR"`rj@6!9N+2F+2 ND!2#P"mC!k`!!H066J(bBJ$Ia9H#4NE3M`#JZUiZZI)MafPNaJNL11'%%b4`2,N 91+#h@epIqHYdBC4Gkf5m)fe9M,2CZHm1`HbD4*rSqFZAhp(V`$XI$R6P9l5fP[, M5)%MKi'Ve@af`9%(diQ,XpQ-j0Xd*KC(e!8rQ)SMaElVI%K8qd$@$,b%UVI@Z"h Y6@T)88c+95T8a80j[YbU30UlK#1m[[@*iq6bRE-(b$C3Y8c*8fTidPVNBqH0Jq2 J@pSh4MFL!TFK&3-T+(f$!"B%#h#5j6L)LL)0AcYH$XVf[%5+QUXq-#&BaecPj-F 81,mJ,h%B*bNQSa,$``0NI[XVke6XpK%+EJ`lX*a03NcXH%!'JJJbl0[YFSVTcM[ p#)Vi0p9fPLFFm[IJ'"4Xa-4'2($iiE0@rZl9[kM0U6fF&jiqF*f4HLq),1M0i6c MmB[3m4j`d-NreT6cH"0'Im*%[Sm'TqZpY3f3!(j%5Y"392G1*i#aA%*rHTNDP@M ,M4Si&K[@h!LF@3d@9R5*3[-G"`Aaq3N+*8+3!1%!)&U[!&`ZMP*JBh@JiDB'@%[ T$1`-1me(@`[+89qkbZKLE#%TMAd)K0GZ)VMBd-VDHf5qk2m(Sa$cYFMD2JSA9$' +1L"LT&kMFIhq@,$j'lbTrV3iTpXX8(VRZ)&KF!"6ejFZREl!Ukaf'iBdC@amEi% 63bH6Q9[cVVLI4!L2N3X[@jEQkl!h)SpPZ@9X#,5P'hbZ49&rV)89r@6!YX&GfS3 k9$p3VbH'Mki"Ra-BbTDS4&&H1apDCDP@XFP&-6HmbT`@!fGR'G'4"$4((M,)6Al l2XQ+'2fT%XX4[a184d'+d#6)qM""GrVXR8jjHZA[+4@C8N%Xe0bQPTQHH*!!A#B F#[-2K6aq%X*I6qqpSK+#f[m1LCHf5LbcUmj$kADCI29DH6I'm1cEYhliR1X(G!" bJePBM0ChX+`aRRBBFjP$'2XlTZKETQp-AA'0hN"SZ$ejM1)TrGa9@'89)Y&pbbi T)9)@,dkJFb4Rh32G--()V6,fl-l%VXcKTI@[qUK@MXFpm)IEdjepmIc94i4iXrV BBdh%IU89c8GBhkM$3JEfpbHcfCA4H(lFFH0CbQq(%BJQmTL`,06*5*6P)IfNh!& 04JIIbd#Z)&p@K'pE$KT0Z*!!*XUpYcF4[AA0@*hJ4ACZ6"T$@`4b`Q5b%D#a+Ll qr4[JI`!!)5%24da[8h4%D@&X3@0dD@pZ!*!9G`$3!HB#(J#3!`%!!"ST!*!(&J# 3!iB!!!)3rj!%!`#`I934X)BZQ!#3"P4%!*!'(F$rm2ri!*!'V@0Y0!!!!3#3!`% !N!JH8!PTC#"238%b-6Ja-$XJ9f9N,#!e)%j[GL!a16Nh)$%64da[8h4%D@&X3@0 dD@pZ,R0TG!)!N!06594%8dP8)3!!8dP84&0*9#%"!2q3"!#3%V#'(9B!!"kf!!! "(N%J@c%c-#ia05ib-M%Z-6%dA5NJBRNJF'pcG#jaG@9PER0e,Q0K)#K668NY1#i f,fPdFcNh-$FT#5"hDA4S)%966943)'PN)%p"36%h-MBh)'C[FL!mE@&MCfPQG(0 !D@jQEbeYB@-ZEh*R2MXJ9f9N,#!e)%j[GL!a16Nh)$%d1M-!!!%!N!-"!*!)(J# 3#4`!([rrq3-: