[comp.binaries.ibm.pc] v01i187: idd, lets you write device drivers with Turbo C

w8sdz@WSMR-SIMTEL20.ARMY.MIL (Keith Petersen) (03/04/89)

Posting-number: Volume 01, Issue 187
Originally-from: ccicpg!quad1.quad.com!few@uunet.UU.NET (Frank Whaley)
Submitted-by: Keith Petersen <w8sdz@WSMR-SIMTEL20.ARMY.MIL>
Archive-name: idd/idd.uue

[
This package lets you write device drivers for MS-DOS using Turbo C.
It supplies a driver header that you link with your Turbo C drive, as
well as assembly language stubs for each of the I/O routines (e.g.
initialize, media check, input, output, verify, etc.).  At runtime,
control first goes to the driver header, which sends control to one of
the assembly language stubs, which calls your Turbo C function for that
particular driver function.

A simple character device driver is included as an example.

C and assembly source is here.  There are no ready-to-run binaries.
You will need Turbo C 1.5 or greater as well as MASM (probably 5.x)
to use this package.

I read the source code with interest.  It is clean and easy to follow.
I did not actually try to write a driver.

Checksums obtained with the 4.3BSD "sum" or System V "sum -r" command.

checksum     size (bytes)  file (between BEGIN--cut and END--cut lines)
   53696        23734      this uuencoded posting

checksum     size (bytes)  file
   52453        17206      idd.arc

-- R.D.
]

BEGIN--cut here--cut here
begin 644 idd.arc
M&@AA7W)E861M90#O=M0`9@0``$T2.W:>2%X'```,#12`@"0AB9LY=,*P81-&
M#)LR((B4L9-F#$0B<M+8*2-G#H@T;D`,"1@0!!4T:3R2>3.F3ILR;NA\]`B2
M#DPR9<B`H/,&!,XY8S**@1@&Q$LZ:-[H-/-&#H@Z<T">`;&Q8YHW;DK&<%$#
M!(JF(,[(*1/&IIP4(-Z8`2&D*4,W9$YXI%)'CIB>0T",>=,&3IJ'3GGZG%B&
MS1LX)4481*B0H<.+$RM>S%AUC@@03)TVF=*"R),I+D@*7)QP8<.'$2-;C$B9
MH\<P8_6.+9L3A)@\F--TE'DG(QVI.]&4*0F2C,8T9.HH]-G:J9DZ;L;\QNI1
M\%`0<^K`@=/4)AD6P6&"8`-R#7"D9>8,%_@\^O2#(.ZD01H>A`B,&CF"0$(6
MIQP1+H``0A`@P"''&SS1D0<<$`D7AG^YH99220:^01%..H%4GQE_080$$5*X
M$,04300(@A,(0H1463O=T1,9914U7QEM>(0">HD%00<=0M5ATV5AP&6?$V&\
M]`)T\UW&86%DS(%6&U#)=!V'"]6FH7Q($>=&9FV4=55(<S`X1AH<CK%33WF\
M41=S^3DU5&8JHN01E1#)MU!)8<RA7AN/%7@@@W*PD4=H"I1T$D1D-`>"@Q#2
M"4*>V;U4G7`@E(%'2C9%!Y%:&[ZQT!ORN7%&2>U)]Z6-"-4AQFNQ57BAE2&A
M%Y$425A11(A,)"'$>&F((0=LN-&9`@LEW8'2&&@4R!&7]=D!VU50I06HE]0-
M!I10L-9'6F.GK9<:1:OA5YE>:(0!AUEIK26K9U.`($499G`$TVI-!*D<&SJ(
M-M`"!LV'`EJ03-!$3FF$,81P8ZSQ;TF0+"!$'7^1(0040OP[T`-)O#$$'6P8
MM+!`#1L$AX\6$P27R"2GP#"_;HQ,QQ0)T0%5R0R@3(<1;$"%QL?[/N&CRR5'
MX#,=5G!$9AX\-SPTS&7-#+`#0^.L<]+\:LSQT"4_()$=3S#H!M5;#V&8>EF_
MV\;`QH7Q<4D$SE$D'*@A"UL8TNF'$[B(*IK21]'EC"'?P>T-!]UKA'%&&<0*
M9&Q%R09%EDVO#88W"&X469L(33SA!(`"'CQWW1VE];./9P8^1TEW2Q;?7VP\
MNAU93F&EK1!-0)%7&UBQA,:!+V'G.$PFPEP'&;AQBB-['8*0N1-/N)#7'$G5
MP89.8VVTG*PX)?271\;+^5%?#[T4$[5N$&HHI8Z"6.NM+B#AIX7(I?<HY2X-
M%?M:4,$K_6`<NC'?J9AI"NH(8QB_B.I;JA.7:TSTK@>=AU)[P<GJ%O(^,9P&
M-RLI">YBDQD0I*D.P0D2"&9CG`,B96\K:8GXZ&`^@42A#NEY#_><LI<VK)![
ML?+>X!)F.(AT"3?7,<Y8ZJ83GN2K4`HPPJ_<L`807*%<#\E#0*8`DZLX96N%
M.<P*05`$48&D#!P)R`L?]"L>R6X*>4`(C3QBD+W(@3MES$E`XG4'(,1!.638
MRAT?Y((:!J0.T"D#'4(PAC&-`0YG",$>\Q@".@8$&@AD<FEV97(N97%U`-0`
MJ`0``$T2!7;F]/H'```,.UI`.L*G@8(="88\<3*%2A`G5*:`0%(D")$B4D`8
M2<*D2`)(!@H>3)#`S!LY()*XF4,G#!LV8<2P*0."2!D[:<;0)"(GC9TR*)FD
M$2,GC)P\'P>(##A09`(76)@D:6C08((=5A%**1.G3AF6$\N$(0,TJT$I2!),
MH2.GSABK3,JX24!$2`(4/U)8K>(F#1VZ=O'J59"P#1G`=_-:71N&3ITY=*\D
M'DRR;@(<->O``2'8*N+.A(NX(1.$C!RZ1":?32N:S)2JA+'&3A"$#MNA=>C0
M-)*F#!LR((3XG6-6P1`T1L.,T2W')DZ="8I$J7(9!J0!2`Q.T0SG))TY29X,
MH<(D^O0$-*QC-^CDC9LD0IH8.=FFL7GJ,M1G5["US9N?,<W41!EDI!'&?0G`
M@`,,,.PW1!URR"$7'4.P\<88:R"H'@X.0BBA&W0X445YTE&G'@W[,3::460\
MD1L<N6EXG0PIMK2B'&2H!.-?)29X70S[%7>56BTY-@<(5YP$G'#?%4>$>V60
MU",,,3"X7Q$1GB3E>0M>MY\0CR&E87X-PG955M%EB=)6CLGA!@A#O$$6<;$9
M=$5/ND$AQQNZ+:>A07RMX<8;=[C!EU\(QF"0<SF5T1X=6XV%5(\R`.J&H(2Z
M$6<;]8V&X`P&C2''&%CN>5J/-!@DQ%AQN7$&'6@@6(-V992Q1JE:]FB#I9@6
M.F"!!_9X`ZW+G?3H?'5XVB,.[+T!11AP`+4E=3G8B6<91H11!QL\GE?E66*1
MD>VVW5(7@Z(*'"$74"YEFP8;$$;98PR5*B`D0E.4<48;$[YPQ)Z:@4"6&6GT
M14<:[M%YI@)0_/N&9@DX#/$75!2!!14L@``%%6&\:Q#%%E.AEK[\@AA<'KII
M7(=,.8%P@D(7G6!5$'/,40>_"4VA0\,`P_%QQ1='-]IK#'/\[LC[3J@RRV.X
M#',1,A?=,1M"N[:HQ'!$W',"7Q`1A$,9?R'$%%-D3(31;'SLM4-(ETR'QLDM
MS4;+)ZP=1-2TU7QSE$3H3`36:G\=1-5$BTUVVTI#L?+<39\P]A11&SX%X8NB
MC;C)0J!,D^),N_QXU&=/3;F]=<[6A')[*BS;$'/HFT`300PAQ1,?$;###B"(
MH6_!((PA)TVM)PWBSR%?3H=513A!1!.PM3;$Y+#+3CLDMN,N%W"^DP5"\&X3
M'W1K1$>G//.D$Q'\Z['/7OOMN>_^)AF-A;$]R1,&SG:^PA\?VOC-C]8W^M);
MG_5&([#XS2]_]AL<^)#'/])5X7S14Q_UV*>[,_`N607SRP&[IP#)&8^!R^L?
M&:H`O?1-KWH@N%X!6[+!^G7P<:,37PA)9X1DC0&`ZKL#&MZ0%/:9P88'<T\*
M0704JW".<5PS@0[?\#$E[C`!>KI0`IP@%CF`D'P&:8T1<$B[)?80=S]TPW(0
M]J8RX,$O3?1B:Z!P1=@DH0W=D<-?(MC%)UZ'?6F`HW=6*#^_E*$-"?Q@:/#`
MEKE\P8EOT$'F=!/(!>YOAK2B`Q),P\4$^+$-++"#2[Q"$O:U[FV:A!=->+>5
MKGSE;4@(5UD(TX0G6(%KI9RD'%Q@@DMF<I-E:"/IGB(5JB@`&@AD<FEV97(N
M:`!U`-0`@P4``$T2!G;K5U0*```,+U0T4`!"10(R<M+8*2/'!1H0+7PD(%+&
M3IHQ94`02;A0#@@D9<*080C"2!HV9086?#&PI8*`*@U.H1.&3ITY(*Z\D4,&
MA)`T=.;$9*E@Q$@S:=R425!$CIR="6#@P0$#TH"!1LL@59I`R,T\4?'`B`$#
M!M:C29<2><-5:EFJ+@?")&BP21DR:<)H+#-G3$(X=';ZS$,GX\^@0\]J39N`
MRITW4]*,)),@AN*M2XND.8.&SI0R8P++22#C,F,I9=J\L1-&#,H$-.*^%$B7
MJ5/!J&W*<0-BR)N10ND2S8HYP96$A:$\+1PZJFFN5=RL<?/FCIOH0"L_5UOQ
M8ADG;^B@%@FV=%&TT*53M^Z[39LP;BC/V)[`[YBF3T?'/K^8JQ"13)3AQAET
MH)%`#?1]5L8:^$%E`WW135>=&W;A%48"-R0(FFC@T6'$&W7$EP`.]($'11AP
M,)1``CG0=QQ091@11AULT%&96?P5-QX9,M)H8PR6Y<C8$0(R%`8;,IY4AQQ+
MQ6">2W,5E``<<Y11!QEO@$!''BD&M])`6Z9X%`@ASK&94CV-@488HPF1!15%
M[``FEW=I1:8;9IZ!)@A)V7C%$U(0(:<"8=9I!@AVO"$9"&:PF8`*1/P9Z*!0
MTB8E'&R&T489A7DT!QURU!':DGPE1BB=8WX::F@#);!'JV["F4"``Q:XPXH!
M@0`":G'4P1<='X4TDD<HU6J@"D1U]681"6!'QZT)Y`J"L[W]MI15R,*Z;`+M
MO1??K=)V"U]/OHVT8K8*&`<H$0G,5---T$KKKDUS)(!MLK$RRV25<BQ$QA8X
M=`&N"KH2\<04N_+%D+\@!,'DA8\FVT>KO/KZ*:6GBFFGJJ+2T>JKZ5;\:P))
MN`$4KP/K*O*GP8JD8L3:RGJ=R4'%2S`(;M31AA@DO7%HB$#5"W.ZD:[+5'Q!
MD(%0RB`4$5]29S2L]+Y"HSN1I.P*`<5_3H61!].`>1283UN#P*8<7I\K<:LE
M`W6B'&W,@7&AJ8+:\<<4E]'KR!7FA7*T-Z\,+$@NCS:TLK+V'09%?3&M^%Y]
M_26:VC$SF]N2;I1;!M.7[U:MN?>V.G&ZBK\=]]RH;FPWJ^F"G(#@76W]-^`J
MZVWQX,*^;'6^"2C.^!B.WY47Y'ZE`1A4AQ<=:&-HXVD&0TQ3T?P<SWN4-$)\
M59VL\EEO345K*($-JI99:BV$EN`O=?CHL6O-YNDNT:WZJAZWGO?>GY+LQA-U
MB*<WY[;[5<N&1;ET\<YW?`$>[4#PN-])#GE6XQ[SX$,]Z"U0>A2LGM2P-P?M
MM0IKW`*1&YZ%JYL)@3!E>,%G0B,8WX3(1H<#H;OD0,(%SI`.4`/!"D4#`B?H
MC&>CL1K[2L8_.IA.;O%+W:$XQCI7W>]V"8A/R>#0O[])2W`#U!V^ME6@,IRP
M,$S[8D9V5)*GM&$O%L'(^EHE13=0T8CO0Z("YJ2Q):ZN?DX,60#S-Z^;6#%P
M>\1=X0J8`/;U<0Y'1%T=0<!$/+H.=D9@PTW0\,?:X4^0!%QCNB(YR40F<9&-
MQ%NZ0"A&1#)DASL9%.*8M4)3RB$(;&##&\;@+%6"$#7\\A<JY2#'52;`"$&@
M@@M':$NC2>$-X2%"&N3@-%"E@2_%7-XN7<F$-YSA(D=2Y0&%M[@$1I-=K80"
M0X!)!56RSWR*-!0C[RA*7PH!F710@L[@L(49"*QR"7""ILH`L'L:<&M=@2<Z
M/VBT<#($@V-8PS<30#@R#/-9!%T>$B0SDLR)$*+I.B<\=XDQN5C*(&7`0Z?<
M<"0OH2ND(TW8)5^G-R0LK82Z&L.2F#1"E=XNBT$DRD!0RA#><*]I2)L:"A(E
MF1383%=,T@V>@(J7`6V0:D.K5$R8X@0B@,!G($"(0ACB$%,!&@AM86ME;&EB
M+F)A=```4P$``$T2!G:IZ>$"```,;<+,:0/B!9473;"\2.+"!8@Y<L9P$5,G
M#1LR8N"(80%1(D6+&#7N:*`@X,""!Q,N;/@P(A<R9>R,8?-F3AF.+F'*I&ES
M9$F!!`TB5,C08<>7,=_`*>,&IT2=2IGZ-!DT)5&61YF2"4.&C!RG7+1R]3H5
M*,JA*XVZ3.,F#1VP;-V6/2E49=&6$MG"J?/VJ%Z^<ZNBO>O7S5XZ9MC4@6N8
M;^(Z@<_:Q;JV,9TY=,(P/HPY3.2Z5]7F?3.&#ANV<$F;9OO9:EJ\7-*HILDW
M=6G:=%H/IBRQ31DR:<*,07/SJ&_@PHGKGBR:BQO@EL$^_YN;)%7)H6&_<:QX
M#AJPVQ%W1[,\^]'PA\'S/5S^]7F^G>DL?G\YL_SVA%V&MU-&3AHSZM'!GW]F
MX,<;%W*4T<9QP8&5X(*_!>?3:6*``(17:0SH`AMNK$$23&S`IH(+;XBA!DD:
M`FUO;F\N87)C`&%T```J#P``31)J>-6V*@\``!H"85]R96%D;64`K314`"T`
M``!-$EEX>:(M````56YP86-K('1H:7,@87)C:&EV92!I;B!T:&4@+EQM;VYO
M(&1I<F5C=&]R>0T*&@AM86ME;6]N;RYB870`?0```$T2U'62AJ`````,;<+,
M:0/B!9473;"\2.+"!8@V:,C(80%1XHX&"NB,&0.B!4.'+3BV>>/FC8LQ&-FD
M<;/F840Y*T:6I$CR#<V2"(-`8=&0B\0T=LK(>>'D"1&,9,JP>5C3Q1LQ:I`J
M=2G1*52,9?"4D2%F)=.2+K*6^6IR3IXY4I?*-"D6(QH(;6AD<BYA<VT`8F%T
M`.\'``!-$M1UJ4*!$P``#`F@!#E2)($-&"Q`Q)@AHX$"*DFH,"F(A(B4!#)D
MM)A2!DX+'#@2$"EC)\V8,B"(R$ECIXP<$$C*A"'C,@&D`7P<3JDBA(K$!$/>
MP,FS\@P:.B!0C$FA,`=($"",R`GC9@V((BY`7$$3ADV9/#8)Y%3@<$<+2$?&
M[K"90*U(DB91JF3I$@23-&*FR@$+R8#;MR5/IES9\F7,F34A%7`+J6W9LVD=
M/D;KMDB<.F'HE)EC$X%:R&,=)DCB9`B3*D0*6DQBI8@4%T6B5)&L8`J=-5/2
MZ$D0NPI&&#1"WMP!@LV;,5U!S*$39HS5.;K+T`XXL,CDR`K60I'SYLS4-B`X
MGFE3Q@T=FP<^4YX^9$Z9,].+X*$CQTV"+TG<I*&CPXE,.2PD<%\399"11AA#
MH%&&<_W]%^`70M21!AMD"`&%$`V&(8=H\M%G'WYO#$$'&_EE"*"`^+D!1QW\
M^:=A@/>Y049^*[;X'X?SU7<?C2S:EED=<YCX((]T&,$&D&@(>=\3+-9H(HX>
M+LFB%2ZE848>2G[!)!T^T@%DEEL:B>23"O"6XX=)A#CBEDK>-Y(=3\!17IM?
MO#F$<>Z1:6:47TA11AL$&A@&F:(](<41"<!`6T47;7=<`D9H2)M9ZV4'6%PP
MR423'.BIAYUH1!"10`LQV#0`<2WX`((;9<P'`DV!25<F$5<`Q=548V@FQYMQ
M@5JK;5-I=@98":"J*JR8+A?L>WGX.IIY+LE1!QSG%0M"JJ_")5@:T,HA+;6@
M"I&`"$T\X00(BHDP*6AE`?4&3>&]1YYY(%BAX8%B>,597YZ&IH`42%#+::@)
MH/!#"J8:"X*?EVV&U&&;.C3''$68MY=(M1J,\'`@E$=?'N%-(3$<%7^,<<$'
M)]RQQ2!/`<5T`A%TG5N\"@9L9LQVVFYCE3E!A119@*`#;U/H(`06UZK*<!T.
M9XH8IXHQYIBE16`1D=`)+-TTQ'6-(50:!8)`QQL+EQ$'$F1`+5:["73%!@AR
MO)?&<B[-`0(<<;LG1TMDV+38SE-3^FEM].$\K`[3E6M%`E>\(0<9($!!'PA#
M%`VPP"P<;>T<8;0$M]E,+P>"@D_?39]HBC/N..22OU2Y#I=/O@((,K!0A,AD
ME0E%%5,@8418Q*&P0@Q,<>XY'0J"<(?C%(JV>^]$JRR\#"DXSSL2(DTA_0HS
M5*_[]0E,D<3V-'@?$/A$C,^Q\#68_SSV0V"QO0WN@Z_Y^BO<X#WJ3RPN?N98
MX-_BCF8[W"4@=428`@!5ED`=B"]I96N8Z+BVH=P=L'\)(.`3S&`&]R`%"D?@
MSK1T``4JA&%"`@0*$UA``]'T[B($-$T*X\>"RHDF"`2+80#+E+K;`3!Q&$P?
M"S;8P3(@A0@A?,,(^V0VM,F!.+?30?H@R#`GBL8T1!`-%@P%%"34$`DS7.$6
MQ-<%T4BA"%"XH!6F("Z.>6TH$0S=PS3E$M$X[PEIO-^IDK("^GUN.8Z354#P
M"!3YX:]]=TQC^LCG/D**;WO=2V3VMD<]2=YN>\1+Y.\@08#@K0`&YCLC%6!6
MG9FUJV8HR8^NOG4>?@&N9S\+VM"HD@?D<>L,-O'+*]M5M:O-D@UOB]L9YJ8K
MN^%M,R[AF]^DUB_:J#):T^(/S-"G/?P13SF=0PGR4+(\.33O>]"[)/XJ"4[L
M!<&0>Q1>),N9071ZLGS6@U[\MH=(=A+!G7RD7SRQ]TC\Z6^?(E%?.E>`@_I!
MST+;R\'^>(C!UTVL9'MAP12TM[ELKNQC(9MAT>9`,I9)-(W6H@KD7`;$Q9US
MB!ST8.22.,(2GI`-FS,B")3XD@0F9*()L5!"1!J>ES%T<:9AH0N1<)&3RO"G
MA:RA`7$H*J/N4(WM1&D1C\A2..B@"7GPD7-2:--SIM"'7D4J3L,*59?]$*DZ
M/=IT=B`:XB`'F#.MPTO,4`<WY"H-;W!#6U,8A!4R\6QI`\'L9"`@XO05!#V@
MW!O:T`:>!H4F0V5"`OK*@AA<40A72.'_B*A2)(K0JD:HZQA,*(8;$NQ_9!U"
M7R7;N,=%;G)C3$(9+<C6,KE5*"`30W.LHK4)TK&"Q1+-1+0GQ-AQREI1G"*V
M')>&8;HA.1QMCJPTFP2I=K:J.OBK$XG3P`<N5ZY)F189<$8&IKRQ667"HA:Y
M.`0OMC>,+(CM;+.&1C6R467GC>/6?EO2\"G0H11C66'_.+:XS;0HW(*NESBH
M62@H50<<A2AZ)8E0_!64P(&4Y"+]V<@T]G.@^M0=(>])SPX7DI$4QJ<Z37Q.
M2II8G`/-I(@56<V!@M*,11AE[AC%&QGYE$,RLJ$%8V:=[+#+4D3(3!CB-1Z/
MZ<S(E0*5>^`SY#KDRR3WJ6+::!-:NY(V`4P(@QC*\+;6DL%9G)4I"#^;W?SL
M!\TI53-VOQ"H`R5H06N`\U17RF8(28A"%A*"GE6Z9B5:%40B(I%>9U6K-']P
MSD0:M)S[+*-(,SH!CN:SH=NLHAXQQTMSD/2C^TPD,<T!#:+6]!*W5*-4%WK5
M4ZK2E5P]YRUU"4BT[G.8CG3J7&\:T6MBD:^7^*8XE6?8A[83G@1)*TS'>=2_
M]A.@"G2@^,@H@=.IPI1IH]VTB41<,JB!#5(RK:2DS%KY?8,9].O;ITV'".*R
M#6YT0VXXF!MAUJ*I<ICCG(2\H3!F,,X=[,:ML470B@K`JE;7`&8QDUEUC[,V
M&7@7'R>(BL<<4S=,+.*"($RA"0X!&@AM;VYO+F,`;0!B870`&P8``$T2U743
MQT`+```,+U0T4`!"18(V;]R\&8-&SILV94"0*6,GS9B(9.2DL5-&SL""+P8.
M')'&S1@V=2:"$)%Q8T<7:$2(5#!BHIF291)824-F2IDS"6#@$0(#TH$$`4&`
M"$,F(X@W9D`@5,C0(400%2>^`2$E2),$*D+2M(DS01`Z=.0$Q0/C!@P8"9"J
M4)JUS-8P:#6*J4,G8ILP<];$#3N2K)N<0MB$<2,8Q=FT(%:`.#$YA5RE84"(
M4<PX`20"A!4,G$,'KT400K)0*9+`X1T6<9."&%-'CIPR;NB`<`W"39TV8CIZ
M'A`Z[I@W;';$GCN[]NW<LY'_=M/[=W"U8,6.+DWG])4G4HB`,!-&3L&=9((T
ME:-<=@L?S6WCUDTFS1PXBO/,1E,^S)B^:H4V4T"0@/"106PL%`8;N[W!%TYS
M#'8@)!]HIT!`!R8P1QETH)`"".]IR"$(WX4WQX%BD6;:&%B]P1,(&W;(5$8L
M@,`&;C7:L6`*`R50HGCD!3@C>SV61$=<-N*V0X\_(JEC<CWNT>,=:*1Q(P@H
MW.A&"RWPJ,!@0ZX@60]8+;CDEWW,-!"&!!ET'!QY>`BB#PF\J=^/)[:9(G>G
MV>$B&='!B<(<<HQ1(QFDU:BEESZ"!V1Y8!$ZQIF-AC<>I"H@2@>E1B*I):52
M?DFEE1%EB1N7C(*EJ9@@D*F"I&)2FJ9HM+)94)ULS"%GB">541X(=*`1T1QC
MW(8;BMNMV.*+)^G*:*@B=HB>3V?4*$-1`]28V&)KI-`><[W^&NRPQ9:!FU("
M?LD;F<<Q2"8,RD$R@&RWQ8BN6#KQI)Y39*+PXZ7FJ9#"M#_)JN:%`K69P!3%
M(L=&%7#L2B>Q#K'!(,7F4E<'''>4ARBR"JC8'8M^OLAPQ0]'_&R/=J)`\!F1
M@1"##3#4^'*-,>1PK;>72?4&1R!L?.],T;K,$[4QSX`##36#@$/3VS+&<\_A
MFJ<8:3;B-#2M^::W'HAD/DWINB#(0(/!M*Z9\*U,X&2$N61(G``<'9GQAAQM
M9'U8"V;`#;+(??X)0MN'O5U&W"M_B=Z^YJT0-KQ%1H6"F+S!9W:J)SL,L8=H
M#[BV05#P)?<=&O6U7W__=03L5A@?JV>R(R\+:.@=CL%H:JO5"6J/*BR^'JO]
M/M;X;-X2G8;D8K8+`GPWY)`JM'4BURH(D'^9`.%E&(XXI0G,VOW!!!JH,!QU
M;'::0P\>%B%8$U;H>89)N)%&AQ^&6-+\:2R8AAX8:<211Z]30,D`%;_Y>2A*
M+,L5YXB&`A04D`Y0*$\;YE"0%)A`"F6(`Q(RDH+W%,$-7N,7"#X80CDL\$L8
MU&!&7#`%[M2!@F0B0D+*T+E:?2X!3^`+^>@WIP20;GX1$4,>^I(GD`QD@"#(
M(1UV>,`O02M^2HP@WB*D@C2\`0[?4HJ#S`,'%^5&.-GI$>Z*`#"PE":+<P*6
M'!8SA[Z99TAA_%*3ZI06-`K1=,>I0VX&@Z\Q&N=,1;KB]!SHABA*D(("NV`&
M-TBD+Y5FD&,$6`6M"(?W4&&-;FAC1RCU'_.0B9+O&8*#<@-(457I2BCH)*IZ
ME`#HS>$.\V,(EECDJM*(B5'R@I:\Q@"8B)R`"W*@C`YZ]!G?.:4%[$(.&A$"
M-#A`QHA?^HSRWD6ISXCA-F%80RF'P\L-388+;A`F,0F`/>V=T#,$N*:OM$FT
M7?;RFV(09S0)<+Q9(@>7!=!E`=K%I6H6P)ARZ"<Q"^`]:V*3G5QSIS=_20=Y
MHI,,;Q@H[5!`F1,4;YZC0J7R3`""&UP4G>K,YC85ZDLNF,&ATE3@1PVZSI$.
MP"9AJ`,;=#/,>4[4=M5,YT&K.0#O?8]K*60D"UT(0Q#(\#`U5%N&E&B%CAPO
M3O6CDX.6R!<0P#)86*E;&O(`,B0RU:EF@"H"OZ1$)O),-E3"RVP6`X(S;(5T
M"8'9#WZPM9^^3V%*;"%>7BBWV]"A-M29Z@YA1-2N"BZO1&UB*WL4U!7J]:]%
M/2H->[:@CN6!@M@D@WZ@:5<;+I4O1D#)'-`@-S.(%@U/T2%?#/LB)8;VA:1-
M7`(:*X>A[C6R,T1C9<-PV?&<]G!UG=5=;U4$)X@'*CY3B`O&`#(:`!H"<W)C
M+F%R8P``870``(0?``!-$H1X9CZ$'P``&@)A7W)E861M90#/-%0`+````$T2
M3'@VTRP```!5;G!A8VL@=&AI<R!A<F-H:79E(&EN('1H92`N7'-R8R!D:7)E
M8W1O<GD-"AH(8G5I;&1B<&(N87-M`#0!``!-$JMU@D82`@``#`F@!#E2)($-
M&"Q`Q)@AHX$"*DFH,"DHI$X:-F2$0!&20(:,%E/*P&F!`T<"(G7:M,D#HN+%
MC!M1I$B0@(_#*56$4)&88,@;.'GDI#F#A@X(%$-2*,Q1$@0((W+"N%D#HH@+
M$%?0A&%3)D\"2`1L*G"XHP6D(V)W?*U)]F09.VG&E`%!1*B=,G)`,$DC)JH<
MKY`,I*6)4B5+EQ@U"I'YM<!@2&P5E#TKUF&")$Z&,*E"I"`1*4FL%)'BHDB4
M*@XM)VD#YXT<.@FDE(F#A(R<U`IZSBES!K>1.F[&)$`,4PCN!"'IU):#G$X8
M.G7FL."!HH@<.:Y!K*#[QLW<[56FNGESQXU/E5+)I/!Q7$H1*KB+N"%C9+C%
MQ!N/RR<S9(I^)T1\1<`.(+QA1DOW%>="&'.TX1`:"&1E=F-L;W-E+F%S;0`N
M`0``31*L=0H'$@(```P)H`0Y4B2!#1@L0,28(:.!`BI)J#`I2*2,G2%LWLPI
MDT"&C!93RL!I@0-'`B)UVK3)`Z+BQ8P;4:1(D("/PRE5A%"1F&#(&SAYY*0Y
M@X8."!1#4BC,41($""-RPKA9`Z*("Q!7T(1A4R9/`D@$;"IPN*,%I"-B=WRM
M2?:DQ31CRK04:J>,'!!,THB)*L<K)`-I::)4R=(E1HUE9'XM$!@26P5ESXIU
MF"")DR%,JA"A*"6)E2)27!2)4L4AY21MX+R10R>!E#)QD)"18UI!SXUG:ANI
MXV:,VY>(:R<(24>VG.%TPM"I,X<%#Q1%Y,A9#6)%RS=NY%JO,M7-FSMN?*J4
M2B:%#^%2BE"I7<0-&2._#V\4WI[,D"GTG1#Y2F`'B#=FM&21?&6X$,8<;3@$
M&@AD979O<&5N+F%S;0``*`$``$T2K'6R,0\"```,":`$.5(D@0T8+$#$F"&C
M@0(J2:@P*4BDC)TG<,JX22!#1HLI9>"TP($C`9$Z;=KD`5'Q8D8W*%(D@$2`
MC\,I5810D9A@R!LX>>2D.8.&#@@40U(HS$$2!`@C<L*X60.BB`L05]"$85,F
MS\R:#AWN:`'IB$T%.V8F.)NV99HQ95@*M5-&#@@F:<1$E>,5D@&V"4RB5,G2
M(D:-,6?^%:N6+5FS814D2.)D"),J1"A*26*EB!071:)4B3RY#9PW<N@DD%(F
M#A(R<D@/F5/F3&0C==R,,6GX)6F0=%[+23"%3A@Z=>:PX(&BB!PYJ$&L8/G&
M3=SI5::Z>7/'C<^44LFD\$%:2A$JD8NX(6.$MTN-I-63&3(EOA,B7W>`>&.F
M\'LW+H0Q1QL.`1H(96YD861D<BYA<VT``-H!``!-$JUU*@G;`P``#`F@!#E2
M)($-&"Q`Q)@AHX$"*DFH,"E8Q`V9(&3(R$D@0T:+*67@M,"!(X&4,G3JR'$#
MHB*9-&[.@,"HL<R<.0D@#>#C<$H5(50D)ACR!DX>.6G.H*$#`L60%`ISD`0!
MPHB<,&[6M'0!X@J:,&S*Y,E)@*<"ASM:0#IB=D?.!&T3$"EC)\V8,B"((+53
M1@X()FG$7)4S%I*!N"91JF19QB),F6$RRK&)$U*!N)#@HE7+UJ'#!$F<#&%2
MA4A!(E*26"DBQ461*%4\*TB[-N[)E"M;.HXY4S+EG(?1OHT[)8N3)U"F))F2
M\P!B(E>>2"&B^Z)D%"G<6L:L>;;<(E.&I(8"\8F3YHBIH$DS!X29.F[&T$GS
MAN5DW&[:TT&#5V,:OG*<T%YC+_$664TW)10&3HB!,%D<=:0Q&1D@B)$'"/OA
ME80;:3#U7GSSU0?"&&"QX4)..PF7F6U%4%&%%$XP!PD"Z?%7W6.](3C'B=NI
MV!UMG9VEP%!SE'&&;$;`-T8"+M$DAVP)-/&$%0D$@04+3YAA1I%,$7&$'&_4
M`8<.1%`11AIL)+"#>S!12"`(!SXYI)14$G$E$5-`*46+LKED!),6.0FE2T/D
M*2233A!!UIIOF%&=DRXLV(9#&@AH9'(N87-M`&%S;0``&`@``$T2KG7YY+<3
M```,":`$.5(D@0T8+$#$F"&C@0(J2:@P*8B$B)0$,F2TF%(&3@L<.!(0*6,G
MS9@R((C(26.GC!P02,J$(>,R`:0!?!Q.J2*$BL0$0][`R;/R#!HZ(%",2:$P
M!T@0((S(">-F#8@B+D!<01.&39D\-@GD5.!P1PM(1\;NL)E`K4B2)E&J9.D2
M!),T8J;*`0O)@-NW)4^F7-GR9<R9-2$5<`NI;=FS:1T^1NNV2)PZ8>B4F6,3
M@5K(8QTF2.)D"),J1`I:3&*EB!071:)4D:Q@"ITU4]+H21"["D88-$+>W`&"
MS9LQ74',H1-FC-4YNLO0#CBPR.3("M9"D?/FS-0V(#B>:5/&#1V;!SY3GCYD
M3IDSTXO@H2/'38(O2=RDH:/#B4PY+"1P7Q-ED)%&&$.@489S_?T7X!="U)$&
M&V0(`840#88AAVCRT6<??F\,00<;^64(H(#XN0%''?SYIV&`][E!1GXKMO@?
MA_/5=Q^-+-J661USF/@@CW08P0:0:`AYWQ,LUF@BCAXNR:(5+J5A1AY*?L$D
M'3[2`6266QJ)Y),*\);CATF$..*62MXWDAU/P%%>FU^\.81Q[I%I9I1?2%%&
M&P0:&`:9HCTAQ1$)P$!;11=M=UP"1FA(FUGK90=87##)1),<Z*F'G6A$$)%`
M"S'8-`!Q+?@`@AMES`<"38%)5R815R1`AX)!T$&?J<3E\48=(+0!)%+E:?92
M9O3AQ2)*9J11!H6@UFK;5)J=`58"J*H**Z;+4?M>'M&.9IY+<M0!QWG8@I#J
MJW`)EL:X<I1[+JA"V*J@$V&0QRL(O@(K['(@U`@"#B",P94<<X"@H!RR7N=6
M4#2%]QYYYH%@A88'BN$59WUY&IH"4B!Q+J>A)H#"#RGLNZZ?EVV&U&&;.C3'
M'$68MY=(M9Z<\G`@%+M7>%/(#$?-](%%J\DH[^MS'N%!,9U`!#E<UJ6"39O9
MMYU.W5AE3E`A118@Z,#;%#H(@86ZJK)<A\N9(L:I8HPY9FD16$04=@)JLPUS
M76,(Y2P9(-#Q!@@L(T'&VV)-G4!7;(#`\!EI+.=2PG`P[)X<+9%ATV):RTWI
MI[71=[6U.DS7Q!-6)'#%&W(`#@5](`Q!=L@CLV!VNG.$T9+C9;0,L()N!TR?
M:*>GOGKK(+S^DNPZT`[["B#(P$(109-5)A153(&$$6$1A\(*,3"5^^ZWHG0'
MZ]!>GST28^_[O0PIB(:]]B)-X?X*,\2O/OU3)'$_#?H+R/I$XC^>?:\&`9P?
M^X:`A?O9(($#O)T!5W`#_1$/=0GHG^VP<,'4F6UZU4M`\>JWP7T1@6S]0QOA
M>K<V@.UM0]83(08_^`0SF,$]2('"$;AC+AU`@0IAF%`'@<($%M!`--J[R`=-
M,T0&LD!VH@E"R9;(P3*-D'H;-!T&B9`$%M3PAF5`"A%V^"LXZ*!/O3.<'(A#
M/1UP486%.YQH3$,$T6#!4$!!PA.1T,0B;J%_71"-%(H`!1E:80KUXEG?AK)"
MW[U,4RX1C?R>4$@)GBHI*W@@[Y;#.ED%A))`:>`$$3C)0G+Q?PD$9?_NE[]2
MUN]^\',E]>X7OE)R#Q($\-X*8!#`05+A:=61FJ7>A*G\&$M>Y^E8Y[CF-;")
MC2IYN-6[SF`3ORQS:G2SVS/9T+C'1<Y8E+.<2S*WN;AYC#;&))>Y^/.T`9Z0
MEN+3'4K*!X+SR2%]`J3?+"<8R_VQ+PBBO.3W6NG/!%A2EP"4WP`9>#]2%I0(
M`=7E`Q7*OP(*E((0I-\I)XB#C++/0O?+@06MB$'FS8QH>V'!%.R'.WGVS&9,
M6VD3R3:'H<%4I85,%U4`-P6GQ7"$`/6B#7&8/#+V\(=!9`/NP@B"7[WDA`E9
M:4(LE)"=-JV/1D0B$BX25":2-'5.A&*9I"BJKE;1D`;%@E#!*$:CFK$)>?"1
M<X8(58`.$8MV_6H&I\""O**UIUG4*U7--IT=B(8XR.%F4^OP$C/4P0UCH$,:
MWN"&PPXQ"$5$8QS4"`+HR4!`Q,$L"'H0NS>TH0U6A9@GM<>$!&"6!3&8HQ"N
M,$0-?I&H8^2A&8WPV#$`40Q1+)D&_3H$S+;V>*Z#W1^3$,@8&K9,B!4*T\30
M'*ODS860A"&V1#,1^W&1!<[C5+K:^,9UL2X-D'-#<FK:G(;IU;9#96INRWC&
M.*XQ)2A,@@J=FA1SD>%J9&#*(L%5)CK:$8]#T&."L;K<YN*-D(9$Y+X&W,@6
M/M)M6DR=5$U*,YB"=I."8UA3B_*N]7K)AK6%PA-I:M.B/0V4(.4H4RP78D]"
M`90;O6@%7;G*"4[T>CB.*"8=^LE",G2""05R)84\T%06$J"P='+[)EA+);]R
M@KP49!%^:3U&\49&/N60C,0JOV!F!S13(T)FPB"Q\10K:V>N%*C<`Y\80J$.
M&C/)?>Q+&]Y"]K<)8$(8Q/`LK;".#.&Z+5-UJ-LSYF<_B8YO#MUZQD`=*$$+
M6D.DV5K41D-(0A2RD!`V351&TQ=$(B)196=5*T5/VM-$(O6B*?T%&<6:U0EP
M=:=/3:0N`4G6K^:UBE@DICF@`=B[[J&6FL0B9)M:V5NBTDJNY&Q:;\G7<ZBV
MI\-T)&-KF]=J8L.6OJWL-\6I/.0V8YU(<J<WN"?=]?V3I<,0'QF=<#I5H#-M
M-*M&D=1+!C6P04K,E92DI8O";S!#A?66W>D0H5ZVP8UN!@Z'@J<L7?Q=3G43
M\H;"F,$X=TC8NP372#4Z!*YR74.@!_TLU1VZWF3(7GR<("HO\RSA,+&("X(P
MA28X!!H(:6YI="YA<VT`<VT``&P!``!-$JYU&\E>`@``#`F@!#E2)($-&"Q`
MQ)@AHX$"*DFH,"F8Q$T:.@EDR&@QI0R<%CAP)"!2ITV;/"`J7D21(@$D`GP<
M3JDBA(K$!$/>P,DC)\T9-'1`H!B20F&.D"!`&)$3QLT:$$5<@+B")@R;,GE<
MPG3H<$<+2$=B*MCA,H%8LD3*V$DSI@P((CWME)$#@DD:,4SE9(5DX&R"D25/
MIK1(AZ7+OEW+GOT:EJN"!$F<#&%2A4A!(E*26"DBQ461*%4<0VX#YXT<C%+*
MQ$%"1H[H(7/*G'%LI(Z;,9`)B]X!(G;0,F[(@`A#IG69.7,<)FCRQ$J"*Z:%
M0Z%#]TOJU:T]!P_2FL43,V9\OSTBYTT=.#J(4`F3AHURYLZARY%.'81UU:SE
M:"?#G>X*$#*P0,04N_561E!$O.&&6V)<I%Q'=.27P!1TA$%''7,(J&`9HDE1
M!!6.%1&<$;DYJ(!R(I(Q!($G/E:$$T1HQ=L;9@QVD0MAS-&&0QH(:6YP=70N
M87-M`&T``"0!``!-$J]U5?<#`@``#`F@!#E2)($-&"Q`Q)@AHX$"*DFH,"F8
MQ`V<.G02R)#18DH9."UPX$A`I$Z;-GE`5+Q(!T6*!)`(\'$XI8H0*A(3#'D#
M)X^<-&?0T`&!8D@*A3E$@@!A1$X8-VM`%'$!X@J:,&S*Y($ITZ'#'2T@'9FI
M8`?,!&3-$BEC)\V8,B"(_+131@X()FG$.)6S%9*!M`E(FD2ITB)&ES#_?CV;
M-NQ8KPH2)'$RA$D5(@6)2$EBI8@4%T6B5($LN0V<-W(R2BD3!PD9.:2'S"ES
M!K*1.F[&2#9,A[1'.J[E))A")PR=.G-8\$!11(X<U"!6Q'WC!J[T*E#=O+GC
M9N?)IV12^"`MI0@5R$7<D#&RFR7I]&2&3'GOA`C7'2#>F"G,TD68.6TX!!H(
M:6YP=71F;'4N87-M`#H!``!-$J]UY=X>`@``#`F@!#E2)($-&"Q`Q)@AHX$"
M*DFH,"F8Q`V<.G2,L*DS!TT"&3):3"D#IP4.'`F(U&G3)@^(BA<S;NR((D6"
M!'P<3JDBA(K$!$/>P,DC)\T9-'1`H!B20F&.DR!`&)$3QLT:$$5<@+B")@R;
M,GD20"*04X'#'2T@'2F[0RS.LRG+V$DSI@P((D7ME)$#@DD:,53EA(5D@.U-
ME2Q=PL2HD2.:FF(+&(;T5@%:M64=)DCB9`B3*D0*$I&2Q$H1*2Z*1*GB4'.2
M-G#>R*&30$J9.$C(R&FM`.B<,F=X&ZGC9LQFBXQGHN&=8"2=W'*:TPE#AR,+
M'BB*R)$C&\2*NV_<V/U>Q:J;-W?<!&59E4P*'\RE%*'"NX@;,D:.QVS<D;E]
M,D-,X9\31(A%P`X@O&'&2\C)Y)@+8<S1AD,:"&EN<'5T<W1A+F%S;0`Z`0``
M31*P=9FH(0(```P)H`0Y4B2!#1@L0,28(:.!`BI)J#`IF,0-G#ITIM`)0Z?.
MG`0R9+284@9."QPX$A"ITZ9-'A`5+V;<V'$.BA0)$O!Q.*6*$"H2$PQY`R>/
MG#1GT-`!@6)("H4Y4((`841.&#=K0!1Q`>(*FC!LRN1)`(G`3@4.=[2`=.3L
M#K(ZTZHL8R?-F#(@B!RU4T8.""9IQ%B5,Q:2`;<Y5[9\&1.C1HX>;Y(M@!A2
M7`5JV9YUF"")DR%,JA`I2$1*$BM%I+@H$J6*0\Y)VL!Y(X=.`BEEXB`A(^>U
M`J%SRISQ;:2.FS&=+3JFZ=%W`I)T=LMYSGP."QXHBLB10QO$BKQOW.#]7@6K
MFS=WW`QM>95,"A_.I12AXKN(&S)&DLM\7-.Y?3)#3.&?$T201<`.(+QA!DS*
MS12&"V',T89#&@AI;V-T;&EN+F%S;0``+0$``$T2L'6DVP\"```,":`$.5(D
M@0T8+$#$F"&C@0(J2:@P*9CDS1`Z;)*X22!#1HLI9>"TP($C`9$Z;=KD`5'Q
M8D8W*%(D@$2`C\,I5810D9A@R!LX>>2D.8.&#@@40U(HS$$2!`@C<L*X60.B
MB`L05]"$85,FS\R:#AWN:`'IB$T%.V8F.)N62!D[:<:4`4%$J)TR<D`P22,F
MJAROD`RP36`2I4J6%C%JC#E3L%BU;,F:#:L@01(G0YA4(5*0B)0D5HI(<5$D
M2A7*EMO`>2.'3@(I9>(@(2,']9`Y9<Y0-E+'S1C+B5^B!DEGMIP$4^B$H5-G
M#@L>*(K(D<,:Q`JZ;]S,O5YEJILW=]SX3"F53`H?J*44H4*YB!LR1H"[U(C:
M/9DA4^H[(?)U!X@W9B`VGQLNA#%'&PX!&@AI;V-T;&]U="YA<VT`,P$``$T2
ML'7K*1("```,":`$.5(D@0T8+$#$F"&C@0(J2:@P*9CDS1`Z;)[4H9-`AHP6
M4\K`:8$#1P(B==JTR0.BXL6,&U&D2)"`C\,I5810D9A@R!LX>>2D.8.&#@@4
M0U(HS%$2!`@C<L*X60.BB`L05]"$85,F3P)(!&PJ<+BC!:0C8G=\K4GV9!D[
M:<:4`4%$J)TR<D`P22,FJAROD`RDI8E2)4N7&#72D?FUP&!(;!64/2O688(D
M3H8PJ4*D(!$I2:P4D>*B2)0J#BTG:0/GC1R.4LK$04)&3FH%/>>4.7/;2!TW
M8RY;3+SQ=H*0=&C+.4XG#)TZ<UCP0%%$CAS7(%;0?>-FKO8J4]V\N>/&ITJI
M9%+X,"ZE")7;1=R0,2+\I6+C\<D,F8+?"9&O!.P`PAMFM#0<3'2X$,8<;3@$
M&@AM961I86-H92YA<VT`/`$``$T2L76PL1X"```,":`$.5(D@0T8+$#$F"&C
M@0(J2:@P*=BD#)DT88:@*3-F30(9,EI,*0.G!0X<"8C4:=,F#XB*%S-N[(@B
M18($?!Q.J2*$BL0$0][`R2,GS1DT=$"@&))"88Z3($`8D1/&S1H015R`N((F
M#)LR>1)`(I!3@<,=+2`=*;M#+,ZS*<O823.F#`@B1>V4D0."21HQ5.6$A62`
M[4V5+%W"Q*B1XYJ:8@L8AO16`5JU91TF2.)D"),J1`H2D9+$2A$I+HI$J>)0
M<Y(V<-[(H9-`2IDX2,C(::T`Z)PR9W@;J>-F3(+%,AWS3C"23FXYS.F$H5-G
M#@L>*(K(D2,;Q(J[;]S8_5[%JILW=]P$95F53`H?RZ44H<*[B!LR1HY;9#QS
MS7+[9`PQQ7].$"$6`3N`\(89+^V77$<NA#%'&PX!&@AN9&EN<'5T+F%S;0``
M*P$``$T2L76L)0\"```,":`$.5(D@0T8+$#$F"&C@0(J2:@P*>B&3!(W<.K0
M22!#1HLI9>"TP($C`9$Z;=KD`5'Q8D8Z*%(D@$2`C\,I5810D9A@R!LX>>2D
M.8.&#@@40U(HS$$2!`@C<L*X60.BB`L05]"$85,FS\R:#AWN:`'IB$T%.V8F
M.)N62!D[:<:4`4%$J)TR<D`P22,FJAROD`RP36`2I4J6%C%JC#E3L%BU;,F:
M#:L@01(G0YA4(5*0B)0D5HI(<5$D2A7*EMO`>2-GHY0R<9"0D8-ZR)PR9R@;
MJ>-F3(*6BNF@!DE'MIP$4^B$H5-G#@L>*(K(D<,:Q`JZ;]S,O5YEJILW=]SX
M3"F53`H?J*44H4*Y2$4COQ._1.V>S)`I])T0^;H#Q!LSB+FDD0MAS-&&0QH(
M;W5T9FQU<V@N87-M`#,!``!-$K%UP!42`@``#`F@!#E2)($-&"Q`Q)@AHX$"
M*DFH,"GXI`X=(VSJS$&30(:,%E/*P&F!`T<"(G7:M,D#HN+%C!M1I$B0@(_#
M*56$4)&88,@;.'GDI#F#A@X(%$-2*,Q1$@0((W+"N%D#HH@+$%?0A&%3)D\"
M2`1L*G"XHP6D(V)W?*U)]F09.VG&E`%!1*B=,G)`,$DC)JH<KY`,I*6)4B5+
MEQ@UHI'YM<!@2&P5E#TKUF&")$Z&,*E"I"`1*4FL%)'BHDB4*@XM)VD#YXT<
M.@FDE(F#A(R<U`IZSBES!K>1.F[&)$`,$PWN!"'IU):#G$X8.AI9\$!11(X<
MUR!6T'WC9J[V*E/=O+GCQJ=*J612^#@NI0@5W$7<D#$RW&+BC<?CDQDR);\3
M(E\1L`,(;YC1DGW%N1#&'&TX!!H(;W5T<'5T+F%S;0!M`"D!``!-$K)UKUX)
M`@``#`F@!#E2)($-&"Q`Q)@AHX$"*DFH,"GXI`X=.!83R)#18DH9."UPX$A`
MI$Z;-GE`5+QH$46*!)`(\'$XI8H0*A(3#'D#)X^<-&?0T`&!8D@*A3E$@@!A
M1$X8-VM`%'$!X@J:,&S*Y($ITZ'#'2T@'9FI8`?,!&3-$BEC)\V8,B"(_+13
M1@X()FG$.)6S%9*!M`E(FD2ITB)&.BYA_OUZ-FW8L5X5)$CB9`B3*D0*$I&2
MQ$H1*2Z*1*D2>7(;.&_DT$D@I4P<)&3DE!XRI\R9R$;JN!F38.7ATA[IP):3
M8`J=,'3JS&'!`T41.7)2@U@1]XT;N-2K0'7SYHZ;G2>?DDGAH[24(E0B%W%#
MQDAOPQ9+KR<S9(I\)T2X[@#QQDQAEG2X$,8<;3@$&@AO=71S=&%T=2YA<VT`
M,P$``$T2LG4Q1Q<"```,":`$.5(D@0T8+$#$F"&C@0(J2:@P*?BD#ITI=,+0
MJ3,G@0P9+::4@=,"!XX$1.JT:9,'1,6+&3?.09$B00(^#J=4$4)%8H(A;^#D
MD9/F#!HZ(%",2:$PATD0((S(">-F#8@B+D!<01.&39D\"2`1P*G`X8X6D(Z0
MW1'VIEF49>RD&5,&!!&B=LK(`<$DC9BI<L!",K#69LJ5+5]BU,B19M@"A2&Y
M57`V+5F'"9(X&<*D"I&"1*0DL5)$BHLB4:HXQ)RD#9PW<N@DD%(F#A(R<E8K
M^#FGS!G=1NJX&9-`<4R.NA.(I'-;CO+C<UCP0%%$CAS8(%;8?>.FKO8J5=V\
MN>,&Z$JJ9%+X2"ZE"!7=1=R0,5+<XF*9R>.3&3(EOQ,B81&P`PAOF.&2?<>Y
M$,8<;3@$&@AO=71V97)I9BYA<VT`,`$``$T2LW4\.Q8"```,":`$.5(D@0T8
M+$#$F"&C@0(J2:@P*?BD#ATK9>2D,9,G@0P9+::4@=,"!XX$1.JT:9,'1,6+
M&3?F09$B00(^#J=4$4)%8H(A;^#DT7@&#1T0*(:D4)C#)`@01N2$<;,&1!$7
M(*Z@"<.F3$=(!'`J<+BC!:0C8G<D@'23+,HR=M*,*0."B$8[&4$P22-&JIRO
M!M+:3+FRY4N,&LW07%M`,-NT9M$Z=)@@B9,A3*H0*4A$2A(K1:2X*!*ERF0%
ME=O`>2.'3@(I9>(@(2/G],\Y9<Z<-E+'S9@$AV-RM"V2SFPY":;0"4.GSAP6
M/%`4D2.'-8@5==^XH8N]"E4W;^ZX`;IR*ID4/FQ+*4+E=!$W9(P`MXA8INWW
M9(9,N>^$R%H".X#PAADNT2><"V',T89#&@AR96UM961I82YA<VT`*0$``$T2
MLW4(TPD"```,":`$.5(D@0T8+$#$F"&C@0(J2:@P*2BE3)LF9<BD"9-`AHP6
M4\K`:8$#1P(B==JTR0.BXL6,&U&D2)"`C\,I5810D9A@R!LX>>2D.8.&#@@4
M0U(HS%$2!`@C<L*X60.BB`L05]"$85,F3P)(!&PJ<+BC!:0C8G=\K4GV9!D[
M:<:4`4%$J)TR<D`P22,FJAROD`RDI8E2)4N7&#6&D?FUP&!(;!64/2O688(D
M3H8PJ4*D(!$I2:P4D>*B2)0J#BTG:0/GC1PZ"2K&04)&3FH%/>>4.7/;2!TW
M8V);3+SQ=H*0=&C+.4XG#)TZ<U@0>>.F#,T=(,+,F9-RKAR+;^R$$</5N)0B
M5&X7<4/&B/"7BHVO)S-DBGPG1+X2P/[&3,OA,(7A@G9M.`0:`!H`<`(S0`:*
MP`<G0`2XX`X`$`_&P`1A8`F")HN'5HL^@C=A0`="`G4`(%E^(P&\>%@7$(R<
M-HR?]EDK<8R=D`)T(`S0$"8G$`@,D`$M8`J4$`C3(``'X`@$0`3J0`MI,`D'
M0`3%L`@9<`/.$`21(`)!(``^X`"G0`41(`1%(`:"$`)O``[D$`F38`X,H`$Z
M``)0P`A)$`HP<`A)``$@P`C(D``-T@!]X@)`P`5!,`&&T`29P`,)@&'`D`K`
M$`Z.8`$UX0@UT0T18`^FD`644`;L0`H9,`4&0``1(`IVH`S($`#!0`*-@`FI
M(`?`(`0R``O68`;*4`DM\`5B0`TQ8P;8(`"%$`*Y4`5P8`,MD`6'D`"2@`,9
M(`RDH`"1(`A$0`HD$`M20`2*L`@B$`6J@`/$P`FD$!UR@`XD4!-28`(.(`'\
M9`4K@`\Y`),9T`TT:9,'$P=,X`BZ,`&(0`ISL`6.(`_CX&3Z<8C8`"#8,""F
MT(A5\(@&@`Y*H`IAA@256`'=@(DQ(`7<(`YBD`G)$(JC6(IA@(JJ^`:8$`ZN
M>`RQ6&B#&8`^8@=E(`=I8`9_!`.3-0MUP`,[8`&2N5F,5)E==XP=L`)E`$PQ
M,`F?&9JC69JGF9JKV9JO&9NS69OF@)NZR9N^"9S"29S&B9S1@`<&T``=``$H
M8`BD``68,`PD@``08`3D0`AQ,`L&0`01<`$@X`J@D`##8`I,<`3=!0?@)5[D
M95YW0'=T,`DLH`PR8`?2P`AJ(@B(8`0[D`%!P'E&H`J<\`H&(`W:P`2Y(`OE
ML`2,H`'-``U<L`7^M`VT8`;1$!,'E$`+U$`/%$$35$$7E$'*0`8%8&8S)4(D
M9$(HI$+T\`P\A3E`)5280`"',`9R0`LM(`G.P`8YD`"48SG.P`$6P`-0P&$A
M5`.(4`%U\`VX$`J+T`L*4`4W\`;N@`L!H`MRH`*90`$^P`9+D`)"4`YT$`$W
M0`:,``"W@`A88`KM<`\D@J\H@@Q:(``]]W,9X`+1<`*<X']XA`!R4`9MH&B,
MIC>*J8N-*:D(@#*7JG4/6(PK@0(GN0DF4`;(0`H)D(&JQ5JN!5NR15NVA5NB
MH%N\Y5O`!0!V1UQY=UQ\IUQ_YUPP*%V%5UV(AUW==(/>M:T[Z*T^R%[N=7GQ
MI7GTU7GW]21)R%_^!6"&\(0&AF`*QF`.!F$21F$6AF$IH&$<YF$@)F(D9F(H
MQ@%CJ`+&\&(Q-F,U=F,YMF,])@9`)F1$9F1(IF1,9A]8``%Y,`[#T@PL(@PQ
M.0ERX`H<L`AOP`Z$$`'#4`VX4)94X`9IN9:(``^7H`B-$)=S69=WZ0L2``S^
0T)?+$`XP4`CA(`AV,)@```VX
`
end
END--cut here--cut here