[comp.sys.atari.st] FATSPEED - program to speed up FAT search

kuebler@incas.UUCP (Uli Kuebler) (06/03/88)

This is a little program I have written some months ago, it is a hack to
gemdos to speed up the search for free clusters on hard disk partitions.

I have menitioned this patch in this newsgroup some weeks ago and many people
were interested in getting a copy. But the old version of FATSPEED failed
installation when the early US roms are used. Now I have rewritten the
installation procedure to make it more rom independent. It now installs
correctly in all rom versions I know of ( 85/11/20, 86/2/6, 87/4/22 ).
It is tested with the 86/2/6 and 87/4/22 roms. It *should* work with the
other versions, too.

FATSPEED does not contain any code from Atari's roms, all needed stuff is
copied out of your roms and modified. Of course there may be programs which
break with this sort of gemdos modification. It is intended as a temporary
fix to the gemdos bug of slow fat searching, and works for my purpose.
If it also does for yours, you're welcome. When Atari's new roms will be out,
there will be no more need for FATSPEED ( unless, my routine is faster than
Atari's :-)

The source is available upon request, but it is not very well documented and
may be compiler dependent. And it does only contain the replacement procedures
and the installation code with some rom address offsets. No description of
rom code. And I am not willing to write a real documentation for it.

Enjoy !
	- Uli -


Uli Kuebler
University of Kaiserslautern
West-Germany
..!uunet!unido!uklirb!kuebler



table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 fatspeed.arc
M&@A&05134$5%1"Y04D< :A,  +,0,E/*\? <   ,8#0  (!!(( !N 9*400 z
MD@,13T"\ 4!@!+*!&Z2!0$$0&BH '$8 PVA-!)^!&L2(2'!FX,,(:P92D 8(y
MS$ )(G@,A " IDT !J1]). BB(B>O'8"^!5,S$"B04AP)$ I*0 !2X65&:C x
MA1!:@;8","+B@3!>_R -\%=4$J(7 5X@$'+FATXE3H)\X]=P  ,0>3!**X(.w
M " (&I  ^@'@A8).SISD&L@ "-V\2C[9!< DKXLD2 (37+$Y05XNC^S^RR:Yv
M+ZH7.@EJ*)U7];_-G8/\RD>RC#B)%$$@B,870("ER,0R$$E2"" G=>#\@^[$u
MRD 8+P @$)%=@1,ANWNS<N(%^HAO&,GE?9$CO7GT #:H;\+>?9WS[IW4CZ^^t
M3O5_^"!QCE\N6(6!%K1-9IP(5#Q2X$ 8")+@0 $PZ*"!ITRX8(,/$L2,AA4Vs
M&(0[ %J$$3HC%$> /!BQ,P-?!& $3X<'N+"9":T9)T2#*+@!8#9\J87!"-1@r
M) \([<4G#RR\"&! !H:T!( $2!K)9 0@9%"(&0-9D.) 3VB!D3U"*+B!/C\Qq
M4:623!(@0@:'< F !E\"\(0G8Z:8UEH8H3D0"1UB( ^(%M89YIAE]CGB/_R8p
M&!^*00Y 2(LO4B0CC3;JA*." >SX" @N, I,4GLR%Y\_/B0EP'X;^),C DQ@o
MX:"9]K#J#VP#<2! C@>( <4C*)P$D@ @4, D A< 4("4$+A R6:[*H@ (#P*n
MJVLVO,5G3Q:,%,LD>= QZRRTKU(+K+5V$#G0&J"DJNQ^[+X:ZZ>QZ0H) &;Zm
M$XV"[*(@&KO>\O*?,N(^J], Y3:H@K4"_(0# UU()B<,+E3@2[YM_+EFJ]#0l
MZ@L@;-P$P@'WY@N-5;JJ  P(]0K0\9B[ %.&+ALOR8N;<,K)0[ #=6!"P&$ k
ML \>!6]&0,*S8G1K; &0@.NPO'+RJ[L%P N* 9<,)  9FW5Z!ETLYRI R4IGj
M][0 $#R]!BF\$K-77Q:X>X#56/_SCS\TT$779B2$/2S9IYJMDUI(/-T&+6V_i
MK5;<225 =]842:#WUV?X;2^^93<V^ !,&,Y/XI%:X.^ZH&#;)Y!V+V/%",P,h
MY 82 ?_G3]$Z+8#TZ "P:WI\^J#^#SI(L.ZZFL8*;,4_^M .  .W_ULZ/W8Gg
M@XOP +@!1>S6 :!\ \V3[GLQM%#O!A78_P./\@X@K8+SVV1[YC;0_\.,&"!4f
MP"0.!O@A@+B5;/8 TCK@APL:$< ?&"" DE%!<1+ @0 V*( Z $  WR"% (*!e
M!.LC7?OZ!#^[E<,9]6.2$(R@/_YM!@( %" !/Y<+!7+%%0'4B04EP+/J 0 %d
M5,!"MXKG@X_L;R?CTDD$;L<+*R#"!8C G>[BEXS?)(E=]T*9RTR&EG\$PP*Pc
MH(3R)$#$@2P 'DI\GMV4X8,U01$ 4GS9J4YFMV#X((O*FT 7EX<!EOVC+\%Pb
M!:,L)X!1 6!/@=!CHR(UJ4<MJE$7B8^+8'0IJ]3H1CGJ5(.$< 7 "&8CRQ.!a
M:#(B@A0 @ +0"(0F!=-)D(0R.UBC$  V$X-(B@ UF6'"-V#PG/+X)WL"\DL&z
M%8F[#:##!TG: #R0<(Q'\*5A3\%!-Z9P!#;H(Y:SK"5U<#D@!O1(.RIPP_)<y
MX ( I&USJSI CBY @E]U\R<$4.84#N%,:-(27+<<2"Z)TDT(>,,5R\NF=K;Ax
MCN4A,!\J. 0T02#-> )@GC[ IP= H$T-O "%TIJ7"_#YEX8^] 7=1 "O?/6Iw
MAH( GPC0@38IP$_M_ 0&% . !9  C'$ 8AO J%A" > !*5SA!>*,J*Q Y4UHv
M'$)E*<4 2UT*4YXB !H4C5D9C#'0@OZ''T9E$@"*DS%O1C4I_AA(524P4>W\u
MH)O,DY:YX/F?&5DE U8@5(/<I8 7.*!N:J''5[63(PF  C4N6(Q.3,,I"W4Ht
M WA0ZR/<E;:W7F)/], H +RCH C@PYQZ!0!?*>37L_9!L.X*0(X8P BR'N]Ss
MMGRJ@ Y  (8NM@=H ( #&,4 ;6(% 2'33@].\EH>9-2T"E!":E'0D@!P@&*,r
MDH$!QA$$) 1#$"3B!Q*"<*\@"  0 [%;-W$+ XY X%Y&& <06/JQB4R)NM;%q
MKG99VDTE'$*; ( !+V@K)P1(QR8!,  ?!, +;2*@O>\=B#V RX\L .&YT?W'p
M.5'A@D/ P !#!41V</L"CG @1PM@Q*]4 (2?V$$)79"3%PZ<X 5KLZT.MF3Uo
M.G.O7[FU"I? E5J(]>$&@T3$UG/"O13G%R7XR!_M/?!/\."N3%UE,PCCE QDn
M)04CU%<[^/W'3ZA0!8'&"1'.X>\Y_VB G_A L0HP((R1(&, P!((.:[R0$10m
MY .+X,,R\"0$8!$$.1%@OD>^KS+R>Y6! L.S=Q/0 TIK7]2J]FY".,)\38L l
MW=Y02HH KC^$2USC(C?/S 6 <Z'[QW^H  "$KJXWQ;M=8.@"$-ZEDGTU?=VQk
MC!<8EU;"E@:" !@<X"=J<$$A.-Q2!6/:OBY^L((B/.$*NP3#;I;"$8I<A4*Hj
MV@SPB'*H_'%I,%CB)RQ0+ *T+)K7=1DU158"F)\B;$+S(K40: ,W7/T3 0P4i
M''@.T#D"8$W[JB!D$( !"Q8;C'8L5@1@I4$+5$J.4(2R!T  $ SV+51@ (.Bh
M $<>75[0@*\"",94Z/*O6A!P?@!7'RQ%*J/*[4X >%:>U?1!1O6I@&LZ )T8g
M6&8SG_D)6;XSM-3TB\BQ^6&3HU,#W&!F.UL>33SS0PB;U$:BXL,-$6=D!(69f
M=WS ,5,&2#M'":" K%Q@)G"PBAL_"*8V(BD%U% R"X^H#L@'0  _3&!A*%'#e
MP*^"@($80$X2 ,9)!B"EKC0B1P] P1+L+8$H/.,?WIBI1B>C%E2(_:#G^  'd
M]-EN;UYB&4(H@A"(\!,X0* #BOF)%!!QD@#\! R<O\I/L!!Z >C!\P-Q0N@'c
M\!,CA)X 5D8&'_ZQCY_8X*^Z>)H&'(%W=,C*.?#%P4\*#@)A94 0<C  +#!Qb
MA63L,;48< (TE% !,SB"!P1@QMR58(3V M\X"%BO<>2D 4I*>S,]<"5J? " a
MGY!!"460DP?$+P Y6<#\&<4[)F3%_I\(@?[XA7H4 0<"H!,^8 CGIQ/IUU?Kz
MEUX'  NSUP^Q)3DWE7\*\@#[-U@ H 3-E"N^$(&QQ0#?!P!R\!,&$'J^!@ Ry
MD"HQDB,6@ 4F  0@L !2<H(G 0+P)R6,\V,'( 09HA-"X$J_@@.'D -$<!4Ix
ML 04D83:,8-U!P/8UWY/(01 D - L#Q"$#(.( 3S!@%<" !8P@ <QW,X  \?w
MAWADMPG-$&C0YFK!P!=4 @0YD78HA0%]-'=R$F\'\(930F'PDW;=U@#M]8&?v
MU ;*  (-("4<,$"*Y7062!G*\"L_(8:L-H+FQG,$Y7-=!5$#D7?:)B4B6!,#u
MX0$_H0&;V(A/IR ,$(F/4&YG*" !0 #ZU&K[=H<'D60_H00#E",10 <(L&\%t
M<!"@Z *M0!$Y,@'"( 09(P!"4(P$H(S+XP/]8X"NU""?R&IT]HPI>(FR! (>s
M!W,@1UJS.',,,$";$035^ AW801UMU[_\ UR0@$^< @,MQD\H'[JF%YB5F>8r
M>&?@B'CL-HO71(E3X@*,<'F*P1@Y @%&8(W5QPX=IXE6H0%\D(J=Z'L7@A)\q
ML!F,M1,-&7;_.%JR^&$^4(L(< #CAXU*!GY\$ .N!@Q& ($ $ )R8G>\2 < p
MD#$\(0 OR0<#H#TJ^1/<4(Z+)5ERX@-*(!H9X QR0@,G>15RP@*5<AP L)3Fo
MJ!/<HR ,V2! J)3.P'VQY5XK"0"6\)3+,A!:  (9@P 0@$\)( 7%B !2D#$.n
ML'8.  L9PP!BH0/0Z  KD#$Q@@ \L&_EZ(PP8 1R\0,5L!E ((2/<)BP@ A2m
MX@ YB15706<Z &TNX BII!:.LSD!H)B,Z9@R&0!2(I:3V"R2E7E:8V>O> [Bl
M:%\C5))LAY(%X'TIR 4]>8N5F(),\)0$("4NH 1T*24F0(P4 0-TF9B+J1.-k
MV5>_HFUA69E:\Y>6,A=T284;<(41H!C;Z4VN&9*P68XCITT,8%O>A )-<&!^j
M5&EFDU,#<0&F\"LG,Q 9  T@  08  WL:15V\Y[CI OFM(%Q@@Q"0 &[J" 2i
M( QCZ'+^.$UC1YXTMSSJ:5XAB %\T0(C0P2 T$TSE39.!Y]@^%B?T@ -VG,Ph
MQR@SY0!8!@.X-G@WX062J#6OJ4OV5:$4("4@4&Y2T"U,H 008 ;X\!,(X $4g
M@ &5H '', 7=P@!*=209=:(O!Z%HR  NJAW1@ Q92ASV*0XJ  4J4 6(*"64f
M\!,>4#$C PV-D O D(<K$#(Q4EH4$ V5@$XJP 0H )@@P !FP TH4 79T Q7e
M.AQ:B@QS6)6_ 0,8   BT !9$ BP$ AR0CQ, EUJ(2= ,*A;:JBQD0'BX *Pd
ML*B;D03IJ*F%RJ6(*@3W8JI;6AP:( *JNH$\-Z4&E4N+9U]9T AL.!!F  -'c
ML*FHZJDH<#T,("50L O,(!9*X*N;>JBO"@**"@#0P @QXQ0J^!,2@ 6+L O+b
M0 :LAJS66G)+8 +DLP!FH Y"4 $K0 44@0*-,(_': !P(( 0(&R$&&Z60(4Ga
MB@-.14T?P  JD%':8!58H0Q5E%6ZH" :8 ;>2J%)LK#HA (%L*L ( K,>JK%z
MX:E*<"]RX@@%DA8$L!E<UE<-,F_<<+  P PHRPN$$%L4P N%$((CR 816P Ny
M0 @BFXX4=K&MVJ4@T @\JZ6N*@(@0 @H0 2!F@)\8*D#P"A)8&\$D ),L$<$x
M$ 6 @ * ( 2L0!%"L&^E9:(W8:\G$6Y_I 66Z$YF*)X'<*O:P4T46@4L0 $Cw
M P6 P N@!B&<< @F< 37P PHH+>&< )P2A$JL @FJ );2P 8D!2 L*?[^J"Uv
MFGB+F%$HP -_L">/-T(.<YC FK%>>CV).&;#IP(4H N'4%4,H LMZW82:P)-u
ML 3LT*YBRJ?D4&3B%V[$,(/[FK94.D]NBP"^D!1J00#HA0!^@  _H0!:< C.t
M@!9JP1:'D",5@ @4AHAR@@$%EB,4 *8R*(B5*(H$46 ,)[T\("O5VP!8 +[<s
M^ V9F*(6EU'M*5W/H2 5X ZN*)Y^D5(*$+__D!TIA0#\FQTN" T#FKWTZP[Gr
M*R4TU 3H) 0<,#+KI 2 8 ;V@(A2VJ^,(@1"H 0@Q08&0 0@)04;3%$>#,++q
M(\+Z"PS]Y  4QRC_J\*J)0-@)0S]I #0$ 30X"/\D'!0%2K\@ "6>08"P*'Pp
M! )#P!T4P09#' @FD!T(X 8.T 8*P#),>Q1@P 5$, BV(+P#$ !F8  @$ !Ro
MT'XZ  < 8 N!T 9/+ /S.L9@P )T( "RD!14R08,( C#  .=4EQ!  880 V"n
M8 V#( N#0 9#B@"$7 8$  B"( F#( Z+( Z*8 ;RH 0300!J0  <2@2!8,G:m
MH09## @C$ RN X,:50<OX,2I3%<*<@$"^BF:50=&+ )$@,0$T,3:L<5]X<5@l
M+,;M!P1FG,@Z\,5MW'XR$,<H$ #(X)__( N$8 9WG,=[O%P! <CCL AEX "$k
M3 ;V  :(/ B*S,B.+ Z3(,F4; ((@ *F40=30 =A, 9K  )/8 =E( =FP 9Oj
M< <-H   , 1AX 9N\ 9T  )IX 9I0 =I$ 9LD 9Z4 8@, ?N#,_[3()UX 8(i
MW09B,01/X 01Q 130 41)! ;4 0*H )J 0)J801!0#[X_ 9K$!T@\,YC4 9Lh
M4,]A0 =O( <H/0 F/0 3W=,HO0"]  (QD ,X@ -!W=,_?=*08 !BD <@4 5Lg
M( =I, 9H  )+4 =E( 8UK=.04 !*S<] #0D(8 7U/ =I\ 9N0-0N  ,Y@-((f
M$-;\3 5HD 9S  )P( =O< 9R$ 9M0-!W'= #3<]4;09I4 9D  (X#0)WD-/Qe
M? <'?=5Y\ 9UH--4\ 13  *$C=9J[0+[3 5RD <%73F+/09JC=!NH-4$[080d
MK=!L<--IO=8NH!;[S,])P-KNS :OC=!J#0)F$ 9I4--DX (@4 1RH-=R8-IDc
MX- ]X(T@L!'.G0(3#0D$L )]$31JX11J,<9J@9-J<0<-80 -8 "441P-0)G+b
M$[L T  60!GT,! -X %)H-ME< 8*[=O![=!M\ ;+[0+\K!8P$ ,R, ,T4 ,Va
M< ,XD -!( 1#0 1%8 0-00@\81P-40!!T! /<!Q"T!"K=4<;[A#_T \ \.&Kz
ME55#T!!W! G"\59P0 $4( $&8 $:P $,@ !?#0$*@  YON,,D.,&H  P#@$4y
M\.,4H !JP0 _[N- K@ &@  &H!8(@ %.K@%.SN1.+B0(4.0&\%95#@%2CN0,x
M,.1O)>1;;@ 0 .-O!>92;@ ,\.5N[N1&:@$&X $0X  <X !(;@!KGN=2+N1*w
M?N0%80 &4+X6  -8@.,8X  ZGN@ZS@#(0 (<@ (TX LRP 9Z(.@(H.A//@ 6v
MP $2H 6"3@$\( (J8(HDX 4:(!4B  -'J@,@8 ,:L.,Z8 (4T.-20 -Z8 4(u
M8 $2X ,J0 9$@ (.  $0P (:8 ,\H  88 $T4.>VP 9>S@(NP #Z( $!  \$t
MT-0  !H(4D5!1$U% $0N4%)' $()  ##$,]1Z%B3#P  # T4)$A@) B5*5"*s
M%"'B HJ4(PEBN,@1,.# (6_@Y)&3Y@P:.B!BY,"! X28/""JL.$X!@V()77*r
MB&%31H[%!$'8L '!T2.=.3S+S*EIIPR9B@J07D%B$$02*B"(/"DR!2D(2 5:q
M))@"IXQ1H'7@@*"#I@R(H6'DM 1AYHT<MG*\@AC#ILX<.C6!IG'#-@U-$'<Xp
MX@61L688.FG>N)EC$05A-VQ0MGU+AF-1H'?2D UIPZ1F$ 6AIK"*52L1,W'-o
MWG&[!JB9,'=KDLY*, T>H6/+@CA2I(G4*2;KG&$!&$V:M6+>M!$#]'!0,FGBn
MCD&LF+ 9$$/&*'Y3AP[Q(6'JX.%.QV(8-V2PPY'CAKR+V5KCPF$39@QNLF:'m
M3G<;W(R9FG-EA)(<Y.V%VTELP8;76XH)A51 13AA11)2/.%$$Q%2@50"5!@'l
MU'IOG"%'&&T QAIFFKF$'T_*@5"4'',DMA@(9!QF% @XU/!"##&\( ,,Q.%@k
M@X\O=';>40+A<,,+-/@H P@H-%'&&6&DX()3(*4!%%ZQI9?99M#Y5U,9;H"$j
M1EID0#?'&@&Z849'=8Q(W6+FH0?"F7*DJ26;E:7QXASO):5 "!QZ"(*6(#CQi
M!%1AF"C'&GN=T<)>+9R71PMCP&86'(>M1<<;N_7V&P@A!$1H: @I1 0(;82!h
MTAEE9,F7=FZR<1Q(7[KT!GYO@2@BB7KQM6(055#Q!%MOL$&&;(,FP%]]]LTQg
MAUMI"$7<'<:MU2I*F=IE5AUNK&?4K6',9!99D6X)ZIEP=.5&H(1.H9Q98;1Kf
M:Z9S L4?E6W@MFU09G@[%JBK/0I8BJ 9E.I"ARY&1Q@Z&05O DE<EP=W@)T'e
MTJ<@"+RBKR.V0=S%== (ZF?.D<S@'7QQM&:@2"7AQ!14!,$$$P8E8>&&5)SLd
M,,0[?4S@KR*?E48;\Z$$1W>'RLKQL,4^T4);R@+XAAD6J6S2&[O2:)E9_-V5c
M5I8@H=9BHW.4I=.54SPL!V)NG %7B\NN^2D<%B':'DC2*=<O>C?&Z(9](-1$b
MX%O]2AL&K$"I66]7:15'9FYFU;W&W1;%14><B\$LT!1[$8ZN7D"]."#=9;B[a
M;)D!+DM<$G>&453#=-6Q;'K3]FM12V6,L08<;^SUT\ NUI2&&2B%D69<TKH(z
M<1K0T9''E14_!O9U^ TU5UF^NQ:&7W.P8-&*B<^QN%DG)/&S3H?)F*!?1IT y
MPN-EI(7B9N<5+L?AK9<AOD!' D%[6/6&,!VG?=5!%!D:1#Q+%6\_#'J+L8!3x
MHX=YCF)9 LK>0  \::7!7,3;B]AT0CD.#BUD8\F,?4:&L<R0$%8@.8]%#,>?w
MXX& 9&.1 TH^=<$@R&J$])G36([FOX0=)"$,HP-'[@.J-]F)//,CH1N\<KOYv
M+4\H0V&,0!#$!JY!*F[S XG6)E@\&+FO@O2R4^[,LI?)M$J(>V%1&P)%,>SIu
MAHQH/!18W+"&]K",.(VZ0UK<$"E68?%\!R,A_2(70%0AD0@6<>%.#H,7I&T,t
M5+2"6TP:!D0$OFM#U<.A(%G',8_I!F0D(@X4F%"$($RA"":;7^SR1*,]F:0^s
M:PB+2<HPF3+0D0B*.4'9Z-,O0Q[*8A@C4WITF2M9UJA5L$H/GM*C)C;QQPQ=r
M;!=*4!""%/PO 2L2&*)2QIV5M<R6(7"*R<HD3!#T\0UWF%]RF":\FOR'(V#,q
ME45V59:W, ]Z9 ))=_RBF6J%KVF.:@VR$,<MQ;SI#''RY 5[-C\[!"\](#)7p
M&S!3EEE!; QU"&(A"50BY54&B[C!8=JXHRQ./DPG%G&DJAI60F(9"UE5>TL<o
M5^269;U%#&7H8CQUL*&(N& K1:""S)[2D(<DP#$VQ*$X03(:@21 !D<- A*(n
MD(2F0L0Q_-'::RPJ&+-,LY9K\IJ? %35@<S@J$9X A.(( 4\0&( 7GWJ#3&Fm
M@I6&E PJZ)CV/J.#%K0U 32 J\(>Z=6;U."H6N,G@ 9J*\0X2% 6"27&8"C+l
M]*U/I-5Y#?S((#\:1I GX&H8QS)*DXU*S@V19$TAFRE3AHGPI30A PM+YM>6k
M*A$E**-2'*_P%"0\H5AU0HEDWQ*>U9X06(1A[ABB-:TE J6+RKN18\J !_O j
M86-H>(/V;-4E\R1G=E9RBATW12"-!J55(IR?G7"8EOP@AH3U9!Y>TA-'NT1Ji
M?(9"9=$JDQ%C-@J^.VGFB@)&0M,:4G&PHEU=;K=/YM(H5M_+[87G, :.?-=]h
M5RLA:\O@6AR>J2A7R@+&_@6Q:8&@BV]8@WG FY]R$BZ OR7>F_#0M"MUJ,9Qg
M(MPX[9#A<OTE+-6)2QQB<I>)]I.-&@05M<ZP%XB!P(=I28,<^R=AV]UHIP%^f
MKL@ ;)8I&N5&VEF6'@,$AVJEQVPETAI) 84E 5*Q.?,$R0Q@P"84SH%3]O%<e
M0)+0!"@\00HU<P)42B4HBLVO1!MD'O 6\\&_3$:^>4!7/K/E$G:YBZ.3DZKVd
M1F<1 ?OXR:QRU5GNNQ.@!N<,P6H:(.UDPS5J6FY:LL@SSY<>!&D&+$/9[?SBc
M\IB]QHDP++N@^J+K4^*U82]'2X,>SJ4;E[&)8QR.2SQU^2::Z$M8NCEK-;]9b
M!M/!12ZUB\U;V@*N7J.D#4H3<R);;1;>^>Y&N@1S&?;94D'F8=;\O<YGPG3/a
M@S9J@2!QS)52,.]=FK">Z5',T\IBD6Q[A2\XUDVZ%[3F#7J+#&P+79GA*< Wz
M)(<,W*(/$=-3+O+$=+$S78_P"HEP0&TH"&Y B1B$$Q3@O:TY:A0.X_*UT$,Ay
MC4!%^5L,B=T&\<:P7=))@XU ;I$GB,$.B;%+9(C#*]7XA=XE)R"QS?QF_M1Vx
M5=B:')8Y<@(-EN$.F5-.<X@MNR*;2] *&,(3H) %*23A"$B BJ*4.H0B;.@$w
M9_>J_#*NP#> 5.G#KK> >O*1&R%H1<T-KQSHF).=4'YXS".*Q$  A9H\VX,)v
M!,JORG2C2[=G<'ZKR1BDOA/M:*1.RS1?A$&$]2J2Q3G)V0SB8;X0Q<LW/:,#u
MP0FDT$HB8.@$F2/Q]X05HECU\_@=&]R9XB:Q#17!#6IX TH8O2&5:!DF,J&)t
M3012!4+^23/*O<X2OC<4&-&G.S6!K4"N(!0ZM. (IF<I%N$"+A "=0 NL6* s
4A+1 !K@&MB('8A "N91^S!(0&@"!r
 q
end