[comp.os.minix] comp43s.zip patches

cechew@bruce.cs.monash.OZ.AU (Earl Chew) (03/29/91)

Here is a set of semi-useless patches for compress 4.3 as recently announced on
simtel-20 (I got the file from the sq-usq directory on the oz shadow).

comp43s.zip incorporates the patches for Minix.

The patches here allow compress to work properly with estdio (there was some
suspicious code which fclose(stdin) then freopen(stdin)). I've also added some
virtual array code which is  v e r y  s l o w  and is probably only useful if
you're truly desperate. Perhaps someone can come up with a better way. I've
added flags to the makefile to compile it the standard way (ie remove old file
on completion, quiet operation).

Earl

-------------------------------------------------------------------------------
table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 patches.tar.Z
M'YV-+EX &$BPH,&#"!,J7,BPH4.$,"+>F @"0,2+,"IBC*B1(0P:$VG4J"'#z
MQHT:(&#$B&C#1L4:#V/*G$FS)H Z<^B$D4-0SILW=&PF] E4*,2+,6)HC)@Ty
MH]&G4*-*G2HTX)@W;>"$@9/&Q1BO9*B*%7NQI4N+&Y=B5'N1AHP9-91^G%@Rx
MQ@P;-#*JE %C!HV.8P,+/HA3)\^!1(-.33RXL>/'D!^KF SB:M:M7<?X23"Ew
MCAL037:"B'$C)0X=$77,4!HC1XX8"EK(KHQ5*U>OG,/0 2WZK6D=)(&C;/U:v
MP>3CR).K,$ZYQ@P6-I0BCSW;.0L<&67+5@ "A(KNX,.+%__&# @Z:,K0SBJGu
MS)PY:=Y\#N.&# @R92S#:?\^_F>?=="1AAONN3!>>,MUI]R"##;HX(,0.@@$t
M$BJ\P!T("JP P@AIF%%?&>99,<0334 A11%33'$AAVZ,P48=^(' 0TYDQ.<"s
M&CY<N.* +L*HG@CZ\3?'C2* \,)W5[FATX!SG)<>"/SM5IZ3ZO'X8HQFI,&&r
M>OBYN)-N_C59888;EE%?AV22>20(5*"11I-9;@G"FW.V>&49]HF1QWIPV-&&q
M5^>] <(99I8AAV[JH:>>'6G(04<=8; !PDZ'[GD5?BZ0Z1T((I)H(HI3@'"'p
MEI**P26( ^(YIWGHT4FGHI6%,4<9F6KHG84:<F@>"E8D(045503!1 IDZHI?o
MB".6>&**Q1Z;*I]"@F!'D.[-T2RJ!-Z77VW1VM$EM]5>FV6VO?X:+!,C$E$$n
MFU)4442Q9; QJ[C/E@NLL.FN"P.\9YI1K&?'@C %%$PD0<474!B!!;W9#ESPm
MP0ECD=*_'YKGL,%?($$%P^I=?+#&$^=J9HW^=G=A3F".4:>49I@Q*QT[G*R3l
M@"JS(=\9*]?YQ56>[;;#@=VMN:4;9Z 'PI0#PA'@K<Q%V#0(-]APG0S>'7?Ak
MIDX 588.W24Q:1L@X#0@SF& 8/,=AO*&QZ7JF?&&'*/9T((8:>S&=I,#'BT'j
M?G#3\<;5WZU11AEP4 D"&K*B<5X88L@)GQ[J;?F>D_2!@-<:()A)AQQI% BXi
MA2& ,*(34U ! A)!3('$X7-LT04(/8"PQ]4IX6&7$4:P<.":,<@P=]VTX3>'h
M[B>5</088]2A58M[CAD>#'B4-,1SNW]GU^]VOR&\[M@9_P;RRM,W1O,6/H\'g
M#4'$0(3NX_%. _;!N\=]#=Z#O_SX3&L'0@XUL+"24MII >! D#4Z;*UK7PL;f
M?(@V*;.] 6UP"\W:M->VM\4-?G>KD][X%J@!"HYPAD/<'!2GD\:IYW&1JQ;Ee
M/G.YS"F)<YX#SYA"AS*:B>X)I#,=ZE3'.M?!3G:T@][M<E>]T?B.;MG;'M3Hd
M=[SDW8]\08R>#:;'/O'P;@88I.#P0-"])H:/>4PS'_K45\7PN"^+2L0!$[_Gc
M1/%!,4*3>9H:6?":JL6Q.WV(67=&X*QL(2%Q*$1!&\* !S&D  0H0$/K!$E(b
M0X*@!4U(@A.$8+ I=(%8)@O=Z$H' DE2(5\@:,,8?!B[V9D/!K@C8ONL=T3@a
M9=!YX!%B*LL(GBNBT3UAC"4>9C#+(L;@?4B,GY@LI+^5T,!_*WFD=BZ4QQ7Uz
M43U_'&$@!UG(0R9RD=1T)"0E24DJ6!*3&*+AS-*@LDV:SI.@%"4I@7C*7J[2y
MB+<<9A1CX$XK6@^+P7QE^73)2]S1,FC6 Z8KM<@T."[G.$;$@?]JD ,[)NA x
M7$.!1.&PN4.V('8H*(_+RD"'%*1 =T]8PB&Y0+ON@%,!XDQ991 '-R,$00K>w
MF8,9\/!#)U2!"4R  A6D@((QL/20,0L='[%UPCJT+ UXZ"D%#QD>F>)A"VSKv
M DK#255=(=)C"%,8L4+7G1J2\X;J H%+8:H".,QT"S)X72EMBE.=\C1?'R7@u
M37.Z4Q3 M9E"C=>\N H"KY;S"6$=JW?,2M/8L96N;P5L$5*@QS+U2T>9W%"'t
MKDHPC&ELJ^#Q*UC7)5@5H($.:%6K[ [K5KLJ]J.DK>M=@UHF>95AJET=YU\#s
M^U+O?+:F<RTM7!L[@I&AR621'=!N(F6S,7RAA))CY 3QHSL1*C(-D -GUYSPr
M2<6&DI!L:VQW=K@ZYZ*PL:;,K&P[25U0OH$-9* FVWX( ^WV=;S</1IZO0M=q
M]<2NO3KBZV03"<CZ@L '\B4#?:/+3LGN"JN7+2EXS-">,GR!4F'(@VG5Q8+/p
M;B$&7= =#!BKX.XP>' /ED.E)ER$"H,6!AE."8>+"1(6\*6A >PP""(ZT8H^o
M$J,:?9E'02I2$)!T/"<5ZG[M=2ZX3E6S5FA"3&>*6YRRMK>N/?)X?2J:SCJUn
MR8CMZ4]!\.1G]M6H64HJVYB:V;-&=:J]?:R0=T5D?)T6S5Z6 A'F &:D*A4_m
M*4@ "NS0GC"0 05.9<&=R_!1*LO!HW F*@BN( 4Z'U7,2]6S'>[ .0,">J:"l
M'C,+#(WHO$99J'&><YTAC6<].SK,@^[TAKS,Z%/;><RF'G6JP9EFDD&VJD/Vk
MU;W0]6:^(EG)966R8>?Z9+V^=LV4?5A6L8#9V*H4E)TE;&A_N(?4)E9=<;4Vj
MB5. U];N5;S/MFZTA2W7MJKVM,5^[!Y]6S(,1=:JO-)UD7L-;ALFV;:[&;:3i
MT6QL-.\7P51H]GO#35NR6CBMU-8V7%F@\--V&\K?=K8-H5U;S^:[W%G>+;_5h
M[%A;AVZJ4E:I<"?%AN(>EW')52\%F]O?Z-(.G=95.7[<&]\!EP&\Q<JUN=R,g
M;4VM"I&W#8&^AR4M%[UA5HGL:,QL]7,4$!8$0L?X(:=E,Z03EL-,W^^5HW[8f
MJ1L=Z4[%.GCV:W.HWY=83._.;6-GAS? P4PH$,%G1: [%$XI7QH6>W?V*W/Ue
M1'W#0$P[")[.=K?#702$I7M?ZWMWQ>I.!C6P@=[+7%AI&=X-<7>JXNUN'D,_d
M/O*3[X//V_,H.7P&!2$5.\1?V]3QPCRLYTTO=BG(7O=J-KZQ+_M]&PO;II<=c
MP+EON7KXP(?#"1]V9R\PO $N7?%\V,$0EC#>+8SAO+LW/,\/\8BG?^(4;SAFb
M!GU:#&SPG/$W=#KC";XT_;M[VHD^LN'A^^QC!'ST]OV0X5U^92&F51E[N,':a
M%V$DQ@+25GT)Q6% \W\@%GT#*&THICN]@P,K-ALR8!<NUAK*M!WI-U_'UW[Az
M\7Y4%7^[TG?_%6 D2'S7M5SVE7SY]V_[MVS--Q[9QX!X5X I%H$(F( S*&("y
M6(-G]8 '"'YP)'XW( /^HT8.M2+LYG\@L(,CYGF!!@*0)WF\QU?CL5_@05S?x
M$X 2YGE]A6DIN%X:$@.?)WD[<F O&#$QF( HJ(7&18..-W@_F&+*)8:C<4@Ow
M((40* ,2R(3AT88EMX5P2&%R^%0&6(>T-X9XJ(<'J(11EH#B 8@F-X@E5HBZv
M@X@QHHAE2&M+:(7B@7]^"!ZQ1X(>"(G@409X4#=?4$,U12)%T 37EX"D5P>Fu
MAP).X(I-,($M((4R8(0R0 ,SD($"M&[JIH, R(!0"(93F(-3E0#RIX)FEQ(@t
M8 (FT'N0B +=X89<J&4[47=@2()CN(EGF&P8HX:AV!V2*(@\*'UQZ(!T"(YWs
M:"2,B(/G" +I^(;K.("%>&'O.'_JH8CR:(2-N&Z/:(KH6'S:2(FZ0UB7"(\Qr
M$%?+J(0<!S0>!43(A@)898ZADP#8=XSYZ(.&>(-\R&$;V9$+^)&.YXY[*('%q
M]FD@P)$+YI';EY+*"'KIYG$O:9+0EX_)B >;&(M ,XK^6'OUB(JJR(J&A8M p
M>2"S6(NWV 2OR&'AAU"MT3]\D1'3H3^0]QPE\1<Q9I#9&(CX.).$^%DLMWZ0o
MDW<2:6N0"(JYXH+*EF : I,*N)-D66+4YWUB1Y=-*),]Z'@6!H3?!R]1-I<Zn
MN8W<9WW\PI9@J7[/!3E$"9:9DXITL(HSTXI0"8OUV)28]Y11*81.@U!\X8LPm
M4!I928$MX6)%*(Q,Z)@H]$,V%XL@&!Z<B4BIMW0=]UL@ ((KTG09V7]321D5l
M> ,NUHM)J)4XX(LYX)7+=""P- +@X67[@2JD1FB()&U116LN9&NYTG1MQFL]k
MUYW=$6K3B6ICADA\5@9^YG28EFHL %=HMR'1J6B,5IZOME3H26EU4P;LZ9/Nj
M"9_%DCF%*9_CJ6AR9I_5:4T(.FL!6J#CHA[UV1[FB9].)Z'WB6?Q"9U+"%SNi
M9B3?T295X@9UDP:1 EUC<S2L\B3(A4MC4#FF<A_RH1YQ4 ?D)#AP,RI&TP9Eh
MT 8O@P*'-";!^1V0EP.JB956,QZ\N4?;J9MG&##) @5Y<2%KLJ*5L26BX39Pg
MTSC?@SG4,CFP-*5N@C=P8D%^MA4"8@?JP1\<-7AJJB0:A*9R !_R 0(TX (9f
MH09OD*;QHIZSDDMK0@1J< 1UQU%XLQO*,RGU 24<18MNT"0[Y2Z! BTJ1!_Ve
MX5),, 7KXC<@X 9 (:E>"CHYXR)?H*5C@#D^*AX7$EZT609G\"8&!#<VPT Cd
M=R@PHR/Z,P.KP0)PX1)?*1Y)*I]+V)TZMVM&)I[:\J @<* ^82K\-4)YMF=]c
M]F=FV:QH\%$ :JRL)@7[\0;,ZES/.FF5QI_3ZJWO>5H9"AX  R)UHHHK:BW8b
MJF@#PJXHYQZG2E*"MP<^YG/AP2@B2@=)=Y:/26@_8Z\'XB9G@ ;K%3M^@ (+a
M^WJ+E1$\P .(A$1-$CN29##=- 4>-;#Z"AX$@@=T\'P_A *DN@8[ RZ3\P-Bz
MY2NE8P0GLBY<LXP<*WBBUYW]]J[(JJS<*JZ)\ZS;VJT]>ZX.^BP1NK/4ZK/+y
MRK/.>JX;VJ'&HJY/&J4 M3@F5*7J"3=8"@(EZZGR-+6M(J9-2*9D8*9I@*:*x
M^C)LZAZ:\Z:&(J>?4:=WFJ>*:J5]^J7? :B"VE>$.B>&6CB4JJBEUZCL JF:w
MVJ5-\K>6BJF1RJG9PQXJ-$,#9T,C)ZI;>ZKAD:H*UAZMFA-I$ZLX,ZNZP7M!v
M"@*K882K89I6<ZLYH%!YP:O-*1Z3RP)^I@84&XN:ZZII4W.)8[NLBKMPX[#Qu
M@YOP]IW3: *<(F\\MU@=FV0G<@1)4#I%( 53(+Q-&QZZ.T)F@%:1UP6\-QZDt
MJ#9LHUP4*Y5#B% SP(>Z.@/G=Z0)Z%S9.P:B)5'8J#(F #TW<$@1"S6'Y 65s
M@;\2.[NUJV"S>8J4:9FZ\4,AQ5HBB$C:V*Z86 8 BT(5Z:&3>927&2G1NB=Hr
M"[E PYFQ&*^5Z< Y:$;?,5F,"P)ZT*)2@K5:\JJY)((H\"9?P :N6KQ0E\*Zq
M\05FP 9G@']3^P1O]QEO$"!*LQMQHAZP!#3[]6&7EU$>$@8ZJCN,9C!%\ 5&p
MD 1,4,54D 504(DT,L0=A7Q25V &:925B90$] 14\ 1=[ 1%0 1+.1X>S(2Bo
MIS\T0!HL (PHT:M X[Y0%;\251G3:+_^J[\@P+]C4,@ 7#=S()L*9L8&?'$)n
M;(U-U\#S.@</','U59'XNB:0S(H8K)YDH,%K"KG#B[Q,8,.A\YU&MI&H^*J?m
MT79I8!_3@K*83))4E0"U[+COX:,WB2:>N*J!J\#@,<![UZ\G9T*W'(MK8L*=l
MBL,KW(0MG#9)/'9F$,-S,,,U3(TWK,(ZS,,^3,% ;"9'0\1+<\0O?"!+W!Y-k
M7!YN ,40O&A20,56C,5:S,5>3 =D ,:'U -#YY8YF85BF<S)!0.**9F??)E)j
MN<9M_,9Q+!YS#(FB-[IPH5!W$8RGN8LB<4PT8 /9\;I 4\2&QDBM:ESIX6>&i
ML@4HQEB#%R C/4@E_04GS3?\.,('(M(L)5&<)KZ,;(]:6UPF:[@;RX0=@@)Fh
M8"@^(0> IL_\G +X2L$^E1^8 SQSJCER $6&*= FY\ &K6(/'1X)?<"Q,\54g
M4 31*P5?#1X1G8 37;Z4<1=$.@,W\!<93:>I"1)4P\>BV#)H6XH*ME\]]4.$f
M0@<C79'^# )%\ 1& - )8,G*C )=/9B0&-87=]0B]C9+72-N<$@J>R)!H"Y2e
M %-<,\F0N-8?V#00\C0SD)RZB@/K>T<)6,U7N"O.]5^Q8W-KV,>)<V/&AY8Wd
M1\D+K-.TAU$.FP(_J[35>DA15P4VA:E$ (K!K,Z[XFH)&HW<>&@J@X(H4-P+c
M>IY15YXJ"(J2N2;.A1]LH!-STB1T)@:;$P9C8$#VP6!8T=N*4]7NK3C[2:O^b
M@:+U^!VPXC:!."H,5-M4.BL[X5,.Y'8&TDE\$B!5(B4MPGI@^1WIT1Z1VAYMa
M\ 9F"SSR#3:P8C,*3AT:C1UYC .EH=?C(=NP2]N[[0.W+7RY7;"[?5'T_5W z
M;<V(-&@C6]PZ"[1+&XW,707.#=U@N5]R1MVI9MV<EMW%M]WE=5K*2IU)_MT2y
M&MYD;(KDG3CFC=YTLM[M_=ZJTN'T?32?H9X(GM]@,J?ET=^& ^!G<Z($/J]Zx
M>^"* ^)PL.!>HQ\.SK=D/@82;I 4;BB)(B@8KN$/WI?S_>$_<>>H_2"JS3]Yw
MW!=)*)E*S.(C9-OTO>5A<$BU3>/E'2\ZD=8([5ICO@(857:[^.GGO>FBGH"Rv
M,BN.0JTR4N.;3,R4CN/"'2/$_>38=MQ'V\^Q$^1#?N.WWAUG !2"0B!WD%W$u
MSM:BXB9R FBRYMT8M>3VV.3<;:'53>4@$MZM;LP)"-X)&[QT+.)TF@//40,Jt
MP9K%ON) U^(O/D*:SNDS'N]HH.FM7L:D7MNF_NZ^_4B9#NJL7H] \^J&XJ^Us
M+;&X;>O%#MCC[N35A6T]CMR&'>S-_<8"U^[A<>R:JNS,'MT2_>Q:HAXH<.33r
MCI]1=]TIP.2(Q.-$T-TH'SOBOE3?7H\SK^OD+M&-[B!/DQ=$>L>H"]NW;O"Qq
MOEXNOK+22P4N:]8V+9E$[Z_KQ0.QXY!-7^2[$O53[X]$KO%L:K3>.K)P]?%<p
MG[83BF=@?UHW_]L@#Y9(?I[5_E-CD._2C4A&?SAI<+#GJ:ICKW9WC[")&#O,o
MOO?AL0(K$,#ZH^[$&1=[#-*4_O0Z?O17G/1+OUARGXWO<? Z+O5AF(AW6/E-n
MA_6;;_:SL_8&6;0^7JUGCVUBS_41*N5NCTAPE?8,?^NM=O)F__8[L?*>']QUm
M;[!^+_H$;XJ^+X: 3T&[?R"$'\"C2P-WG,<=?9S5H;XL4 ,BP>[B(=(45*'=l
MSC:Z,[ZQB/WX85=9_%('[>Y&C=28_<4!XE&=C"3I4:I\7M64R31SZ=@%7?Y k
M0]D_1-9F'=H/;=K%;.<UB)Z'%_(814 _X8X'"8@W@(UH!%+3'0/B9/6,N9$'j
M#$@V V,0T U(0#>5@VK-9/E314 (5($CD,[P""4K:GK" GX!,%:"(B#/4!)Di
MII9\AY_#J?I*&.!79T">K#W]EY2F0!#H%4[@"/"NP,5EF$E^N2$Y! 14@2& h
M.F"*'!@D<V -;($<(%KV /2("!H&#ZB$+-@7N"!QJATPP QDP1@@!FO'#"B#g
M]@L-XH&6T6VFBBRS#^"//W&_\?5R>-VZ"'QJK7=Q+K@Q<@)8=Y@=AX_\3#_Lf
M8/U"F@*,#PU0GSU G?$"Z0 %5($8D!$.,0[(6]@-!5,7(I $JCC1XXGL'[V*e
M;+@,AJ5 ][ "EP: <8&3,(S9D[UC'FK@'+B!8T,')B >F,9\(! 4@I2LW^S d
M H;&2!M$6U2FIPB:P,BB6<R)$F2"M>4)R@HI2 5A1^^Q@EHPLFE!,@0&J<<5c
M_()74 V2P2QX!K/@#5"#;)"UA!P;\@9;&F'+?G.0D34?X(4'N\/MVH,YPP\"b
MD='E' R:<W )"- = D,WT%AX4^@8.1_K'(8_MD%1#DT=C'CK0@40Q,W16-;$a
M$5A3L"(@Q@]$!S:2QM+X6T6,S^4-A4A!"F*FD"'):A\BDD>U6,C<ET$>U4)Wz
M6)#:A (25TFL:O6A!92'%G#$,H7^(#_/@?S &,:WUOQAY/HJ /&5A:^%:!##y
M _#BB/BA(#;$[_ 0=T-$?&434<Q9Q.&2J#(B\-B(1/$C*HB02 11 $D\)'.*x
MSJ#$]Z 2X09+=(E@L<S%Q)E8$P4@@W@:-8#$Q4644-=L  [(B75$KQD!)A $w
M2* 9J ,E9T7I#A=QM5:4[9DR+,4[^ W!X0:&SL\ &FMB"FR.$R4&P$S:T%25v
M44O8A\5(SJJ99ADYU&0Q#HT?T@2" !988TL@BSD!X36LSH4-8V5OANDPKR+@u
MO*"7]*)>Q8AVT$)?Z!87!%QT;="!(^1#\,"7UEH"\(FLD($-- ?VO196P[*#t
M*0!B2:QLH@Y9P(;!0]]!_X4R/T/*=@,'$V:,JGNM0F>V&Z"9WI!FYXV:[1,8s
M)L-H6$Y09=#LF_4PV?'#@E@YHP,9$9VIN.#&Q(*8$WMG44R>T;,KEL6^P!;Kr
M8G6'J:T_,=9UKMQDXX4*+8TQM"+@QN#89MJ'#ZV.S08; .EN@%THA,01/)J>q
MQG(<CV!R1 &>$),U1X8%\>"*=$Q!X\LZ<C(*IAW90 ;36]X15)VRG9/*N-DJp
M0V6M[$"\,D,1R][ +),6WX*7+3.0$]V\Q;90DKYLX^"D7SC,K-&O(F$T\)FIo
ML/,8)UR8BBMJ[7&;&:\0$!]WV'Q\:FMBG DQ<V;$1EX)-'_]$>ZX,W@FQ>99n
M6:MG!?) YK-]MB /6X.<'5DM+&VU2P;9\)\IHH6W:$)6R%8' )%4;U0.3R,Zm
M*!0;X!OJV@W(59?RQ#&^O1.9S)_1BQT!463YR+\8&.>5>)M[.B[JA,H&X]3(l
M1&-;CH02%#XT6I@OA,!G^W\B\3'*0 (B'UJ 44(9;FJ];,)'F1PBI5^ #GEAk
MTD&B[Y#A&)=\("?$)0^H1$4A!T9%GT(;H:0P&!^S=15$C/)PBI=LP5T!]="Bj
MW( ?^@Z18@X(BJ@&_]## <.6B --N8$3("7@E!SP#(:#,WZ&RM@R#(56C&V@i
MJM+1/=JC^5HDVM-VLT;O/4@+IAMB!Q4( D(@B]E*"RF9&J6O,G=S3:&<A,6Gh
M@99E*)$/R$Y$M:B2(RV/!K6TENH!6[8!;1DOR>7;N)<4A6I)#G%)+NG#N20Yg
MZG*E2#7*L1O@Y0TT$_3R:-A+? DK]*76LHQRX%\"C>\XVP9FC"B8+@_F8:C1f
M%] $Y1;B:H9R89ZQF>$P(:;$O)47LDKJO-&%%XR0#8B+RK)IQC!,%QK?P!H8e
M&J<2:+3-M]D98X<,T)5K@D]6+5CQFJ9$T72;Y(Q?6K8W&=Q0@-&,'7U&+!E.d
MP.D&=,?<A)O ;HPI3"$)(<4:FP@I:^P)4!)<:) LYFD#&ISP0.C++9 &")]Hc
M:7LT[\8]O&SG^E*GHQP/(DW:S11#,[*6W,IY+WQ2Z2B8.P#M2)YL2 .8;L,Pb
MH=@Y.M- BE%_NE-M6K:DEMF:FH,4#[20_YTU7"DV+Z;^. G$:2)PS&&$*H'Ga
MT7N<9B)N'@CP^1E4@-W$F]]!;\H)ONE?_*:*8IQ'LU_"C?V(ZQ8G8_PAB;.Xz
MV$\SX3@)B6@,GY'S3[I*JVE<L*97"T6T$#5FSLV9UCQG  2=-ZYXFLX?8O(>y
M3:J9?1-QUR'$%!#ERI[ $F *)G8ZFK61&'$?=KN=R+/J\4XWB0)^9_",<=V!x
M>#).TGD\%63RA)/H3ZFE4,:6(@OE =6:D6S_V<G^A]:8D,5L:Z&),K0$L\DAw
MTR:N"P&D<M69$/$9'L;=JAP<2\GQ32$94?QB!#<#??<'@TI-ZX118E^56WWBv
M 77>OB\S.UG*4DI[/^05HJEVZ"DI".$38\,//TW.X)9'Z4_6LW* <#9,!")Uu
M W" Z^J8P0V* D8INB6H*'BPHJ_L^631RQ?KMJCF6R]?E&#^T3&#05N?!^UGt
ML.]@;C_C=^-JGP5]?2/4T+S1,SK<;. <):4"<]#<T</61ZW3'L5UM91M:KUYs
MZ-:^@TF8E'<1^NVB&P#IL , V90>*Y(VF!]"1X=A,1-YT2X@AB\3($>W!8;"r
M3024H'U"0TD+S]]ETZ'Z;$!XE,Y6!#[;69LQ(, 7ZD,BV \5P/?<I8%TF!)3q
M%E!(#RGW3*11=$4YTNX 24&6))4Q6C3R<-&)F$F?YB9-G='-DUXH,AI*>QTKp
MG3FEM-'8/H::2MVHC(&CL:.:-E-<QS9FZ6WK>WF/"5D%6W8CP$)D.*D)H2RTo
M!+; $=#"6G"I&,$Y^(:Y4(2B0^LJ#7OA%YT%&(!2>VI-* P[H2?\!,4@%1B#n
M3SVJ2#6I2@;*8+ANQ&;H#)\A-, -TO ;5IL.2 JCP37 !OW15-% ;M@-4E4*m
M!2,8<!HBSU5E#5J56$X'A/(:Z @^3%VSH:WF $W9,6<@C,(E)VPZ>9FZL> $l
MGU_U#A?"KO[5P3KV'HI@[23]BD3)"V%$0."9, H@D#6R2E;)VNZ6@X8XK**Ck
M" P!2%0$=H*D& +IX0[H#N4QM@P(:(A7- 4.O VJ:!_\C'T@7J;(L(X'O 6)j
MB(!\B!3V00D8B"-@,W#7@!B,M*@]N"G5ZB@B51.8 [:U28P?K04\4EQ@U7A0i
MX$4TB4'B!O8$4*AP6V16Z"D[<"/>(SK+6E'4;-0PY_1<Q0,1B!2U-5*HAR!@h
M(*: 3ZD#@R2JP0V,] ;T +>:4YN5N*I"C7=0>FG<($ZD@2ZRKR:EKB*)$T@"g
M$J.(5 $115.L0&DP.MDB:P4!PP \.<ES\C)/R@I$+Q @ MH :A4!B099Y00Yf
MX%/@1IW #W@@Q#Z+$4MBT8!9'! H5L5F"R*P%ZE QAH-P6A-Z <P4;5P5'WCe
M'*WJG4D* XM@N5;_Q ,]8+D^IPY1,4# $C!K"8,O'@%GHFB>;!&(LGUQ-$RMd
M'2L@>FS=^+%W;T"@5R(K,0Q7+O& YL$@K8E!LB=>5'MX)O'-)WBX)Q$:! <Zc
MFRS"HU&HBC%13.RB_S@)UH_ F@<R"QF_PX)%*ISBP<:J"@(W)NQ.J+"FX\(Jb
MF@R[83OLAY6QZH'&,@$;6TEP+%2K#3Q63OA8O1%FA2QHN%AEUI8=V22+#W6Da
MER%>)/$,-5DKBV6G[![Q,K1V+V99I?!I+T.7%;5?EM0&V3&+:KG6F;6$:I99z
M1ABMI:?@+$4T''465<@)/.L>]*Q] %+^E30 V&"* (<*LM*P4D (/ '%11*Qy
M))=- U[6:+R-4DML#VRJ59+'ME\DV^O29ILM48FSB8[.A@$[ZR:I+7QXLV?6x
MRS@!$Z'&G@"F%1A)X CHR9RQ)@CM,VD27VM2- G5*EPNHZ 8.?1SO'V'K 4Kw
M:I.8*QOPX0R8VJ6Y3]#L.QD9*.K4NMN50A\(1=?"$,5D(ARA8-2KO&V]B%[Bv
MEMRVBW6Q*\]MN@6SPW;(%ELS^YR0+21:L\O6S>*)>_ML846TO;/F(<\"7$F+u
MK :N%"BX!W<*)-R%6PX;;K%]N$Z"3LB*P6,DE83%M3Q',N."I37!<9^$QY6St
M#23DCESG5'*-[JY$N5."T%(9HH%+8(E:M1JB*0=(C1E 5I7ECK 3/D)&O+<\s
M\'9N1(YX-QTB8)#9@^OX\ !F&9+!D':J !B+BGR4[E !G.-#))6XH@)&K KSr
MO#%E<XP!."!A2.^(;1&Z ?66WLW1(EAOE/0TWX9%](BG^?0<K[]!O$]SQ(X-q
MWYM7<N,>8;(!XQ9IW2/@!(3%X=V]ZF%&W#TAZWNUDN#559*N5SW?.Z%XZ0#Cp
MI14XX@CJ7N[+ WIO^!4RP#?Z"E^BX7LYE*YHLLHWX39?)K!]$Z_T%;F1PO?2o
M0QQ AN+B6XTCAR]J#,+MV9N&5L-(0PHCEO2FII5S/$3 ^$X<XWCQR)"1F_R%n
MAI"U 4,$&@&MJP6H+++2P!P8!,0%&;"6T 3FL[Q3!?-^!LW+>4?OYPV]*%;Vm
MFM[8ZWI5K^VMP:;G].+@VMMZ6U+NM1+VU_SF"/0+?67$^CT#Q+<"WYKWFWS'l
MK?QUOL<W_1KAZ9M_PZ_U';S9]W75WZ>Y>!MO^(6\4KC\4E(ZD(3'K_T]PNW7k
M:2%?=15_F2][?0&#A-]N"9.J5%&J2MVI:0&FMM2-$!%^T6I("2"AIOX2G9H2j
MDL*EW*EU.!$;!*!Z& " 42VJ0U412^))3(D5 D*)P]*V##Q5?!E6J2I9!0XRi
MX*K^!>*P56<#)JZ);< -X(&ORAO@QDPMJZ>!(Y#BOQM'V&KZ4I;0R;4^$B(@h
M+)C $]BLDR4/##&X,0?R .<"&S@!E[BA4\4D#(B?2;F#1'%J)UW< HA &YZ_g
M80MKR0H7MJW\7']@('.J;'@&1 L'QL 1' *Z]@A,@1Y0C0EM-69N1;8:.P%,f
M. )!3G=0;%)V'5^(@B$$>L"%(+A'H <8KJFB.96 0":IZ[(VB T7D) OPVWXe
M&]V!DCB!'O "<((<> %TPUQR*!*  @!R"N :'+D@@Y,$@#P>B:#@R!X9!(3Dd
M=*RQ5#+J$0)*X)!P9'Z,64@R&M!18*,'Y(6U@)*O[A$X*<<,990<'7 A2'+Ac
MZ,E/X">[9(D\DMG 9^#(3/D%(&6E#)4E20JHR"W"EA5EI[R4K;)4[L@^62:Cb
M@*@,S8[@CGW(7*.K,DFNQ9#3,DE% VM9S\&'MLR6X;+^B&LXP/KE8C)@'ZIQa
M+_[%/T<8TZ*^8HP-"#*>%8=+&M<)SO6,IT0TUI_3F"_OXFLL++)Q$]K&::,;z
M5XL3%8[#!H,=/.8XLOCB(2 L6#([)@*Y5LKV@.Q !,!MSBT"JWFJH.-\?)K=y
M,1& QQ)#'M-C$CB3?W%ISL>8!<T\@1Y@+4+'<(;(Z=0T[^,DT(__L4\^R$J2x
M(,-DZ#R=WH,+",F'1"YW!>S,)S##=48]V;DV^(GO_ 3 B42FR!89(P^(6S.5w
M/[)+%LE%N23+1)><DE<R<'[/,%DLTV0T8Y-Q,NS8R1>!/H?E6].,B0M1[@Y&v
M64 G9;',E+?R4Q[+7KD]=V4G<)4]PT!&T%RY*E/HKUR?(?2&+LN1Y2QO9_#Lu
MEI7DC8C+)!4[E^CJ/"3@\L<)'=J9/+MGM?RB^<1X5M%UN3O?!I6A'\:S.<:Yt
MXQ8V[PM-8IK;<;%]QRM7-X? $>B21_-O[HL::RV/@.%<G--I#T#.^!A*^^/Ns
MP(^W- @ R-192$AG@]Q4N7.,-M.@]C:@Z:QPH\'SA3C/%7D.7.2,S)[!\H(&r
MR2\Y)L=GE3&?);1]AM)BN2"/U*RPD,<Q':[$9($EK%0][!3X,$ME"M$!)=!4q
MH#?7*,)>$ E*P2(@:J7*B(5J45@,D7A3B^I1[5,12D!8 >OV#+R &#V.$\"Xp
MM ]A50:4!KZ &F: #JA 6;4X<%6%/)=;]:MNQ5)H5L. JWH#= !(R-6P872-o
M'X5"&N@:^W)&;BK#050$+2!TU'$Y#VE 1\&!T%*%7I(9^#K\*8622*TS,V+8n
M$PN0U'1F\,L9^4Z:8N0RB5,1/2*Q?9( $L#;^:;F&D!^4 2= .98GV76<\WZm
M0>O=(*U_&[7.U@[&*2+L;9U6NG4":!G2%0TTS_4WKJ=;N6:R='(:U9!U'<Y6l
MH;MF17,J7NM'>FVO<VB^AF<YJ%[/,66]G%R,<'S6":!:$PY^%$?5M5%Q 3GAk
M"[0!F4TB$T" 0-C_D4[*;#C TJ96%8 #I35R;.-),19G16M-5-*Z0W2.S8BPj
M7VZ]WB\AX(,0;4#XDNKUMZXZX3J<;K:>[8QVA6>@86Y@#9QL'561UH04V%&&i
MKD[D1S<)2^IUO;[7S!-CLVVR7=1"P(SJ'!W%W+6&8T(<6-/HX@L*I0(Y:]A6h
M(CE4 E@3"U8L>F.9 A@!%Z-2)F1./;C/1.$>Z "<" ,C[]H2$V\-KB?V#2W;g
MB.1L#PBU/2?9]D@NV?BZ=>_KW63N^ )QJD!Y;9E<II#M!N:VG*C;L#MOG^O9f
MK;(Q)"WNK]:C95\E95FOAS;-SJ@VVPS@[,JTL[O"JA;/?V(,D&K!<(<?M?=Fe
MU./G?(W50"P22())D-1) 5?]!4V]O5%JIT8,H1H2?^KV3;_KMU0X$A/"H#2(d
M6?>DED6HN#?A <#H[]1F5TD $$ !(R \L^GLS0+L )UR 3/ /N0 &/ "5,(+c
MB %YN2^@AF'-$?;99WC;=$L]\*_*:AP(JPGG>@?ED=HR=-JCLW=WX ')0\2Lb
M+3CEME(NHW 4D$)21)_X 6!B:PD_X4"<TJ5P?DI[]$1WX!J=50Y\UM :Q OKa
M#V_B4'QI/O$I,(S]G.ZPK<E#1RF)--<XTZD84 /Y83<, 0K"-:*X@GCB[2&$z
M;T9! 07J0./X*K9UD R(!=<FZ,1ZH1-B0%:HBCFU7L;N/LOBFD-5R) G;BK.y
MA@9)XWQ*/3"N F'&)=,0;^20_*!,UDE.R;M#$] >@#'3NH<QP#DHRGY[K)0\x
ME#_R,;[%F414M""(HSZ@;9P!*V[XHT"O.YRZI@&EP0:XN&5>ED_<<)VHOY4Dw
M6?2)JN5R@% PU]V 0II$NNH;?8]@P^VK)L7M:I*H$0NP4?552.[$,2LU#^*2v
M/)1K<_V1!++"EM#BXV1.%1!<LLVW^2._YE#\D>N'T"TJ@NV*%A(W@BU[B"8Au
MH@%%"P<4$^Z)HVW!81]&[1%GR]Q*#32XN1S0=717*.C\]8FC\R;^R'_6-Y\#t
M97RAH_ G7@40<]S-UG! 3CB77<[#UBUZ !NTJL*M$+-Q+Z?Y1+?F$GVPGG/$s
M.J+2)6-U HZUG,OT $+",>L0T*R<U;.*CM": 6%=-+?AC>*5Z_!U-!'S^0 _r
MZD@=J>=O"Z$ S'#P#:=OP/<Z=?6KSW8"$@Z_4YW#=E40V]1;H[ @%@I@38 Hq
M:1'4<_BD(.IT0BLXBA$5H^R#<!$49<,-P%=3 3>FA%9PN08B"1#SP<&CN(-_p
M0QR[(5[N<K-AU17Y7$\;4V(./.;!$P9<;GICMG3@51F(<<XS_;KAZ)LI:E&4o
M=5A.U(4')Y_E?H,/MH@^8]%';40\['+ LMOUQAY#QH3-)1=0H"^B"!'<.YKZn
MJXWM1P!%) $ML"[&CP*P[8KF%N'V=2%1/(/<514C9+5:$S]P'1_W=T@";L .m
ME*C6BM9%+]-0 -[W[02,$5L'WINT !OAA4 F1#, !W: W7;N7[JQGZB1?2$Tl
MK[XV[W9[3<!T'95R=WC6RJ&AI%JP]I=KW*>OJA@YI556U!?X'AG;9]35#64Ck
M;^QP6#)R<@Q'@>_U>DT8@7VK'BBNV:WK?&U-H<B!%GU^U#[I[R(7N:.!U;HXj
MSL 6L +#W9(0^.\ !5A[B7^YM+-&.(H\<.)3//>*[RS>Q=,)&>]]<PGM["P!i
M'L*OB18OS'>">F(:?8!3:";@_FV;0/-Z7F5->@UL$* %[  <T!U5_@V@]Q8<h
M*Z+:=7_MBZ)&1,&[SI_2P+-" 2">0+AU&(A(S+P\0O&RG0,K+S O+>YZ#,LSg
MDD;,KP$R?^=!@/& \[D]2M/YMM,R[GR]+NZ-RK^O^3#6Y_]\BM_M<][+I*?Uf
M9.590!I@ 1U%SU1Y.- #K'QCO_-8ONUT>HT"ZJ5%M!H#$L7*?Q10WU&(Q: _e
M]7OFRE_Z3"^_5'T+\ $ZP<1O^M>1\MP\2;';W4%E&4[O,'7,0!@ C/XJUJ]Zd
M,R\C\Q6P1Z<F0*)X1VMBZWU @$\!6V#3JP! K]MY^R7Y]?4:!&3[MG-)F/RSc
M %?[*=9;>DS_K#9]I[?SS)[*BWI"?\WB/;HW(*A>V0L:9M_JS7VVN/?Y0=W/b
M^C.O[&]]KA_W<(#78Q1?KP">O;"?]M+"V"/[5$^T]_U'>4C./MRCTUI/M&\]a
MCZ?QN_Z'/"06 .[YTC22]L0>/75\:X_@L;VVY_9R_I*D@)(O[K-\N0_KW\$*z
M;/:A7BFNBXBBY;;\+[:(:#XDOGSD9<,$=XTI@'NC MJ.?^0PY9#J'!W^!/6-y
M)"T#85%2\]H!B7_>HN3J6?K QNG#'<T[6A-]B%_T&5!W1OW2S?2K_I'D5W6#x
M5P";LG_<%SV'T?I<WU\Q?;JOZ%=&VN<P:/:WKPF=C\,Y>\_7Y7R<]M )0D$@w
M:)6JJ'#JP8@#8<W&RM.#94?\;N %]'(AL=^D=29OYT:C4R@+4'&L4@49^(BNv
M_=7V;U#1U:4PD$C3F8&KKXD@4'+(>N'G^<LVAQXN"V?L=0(;,!!C';__K8CHu
M6#>W:N^79X*!N'*SOL/3>NB%;\P62ZD'QK%:AZ]?MQ":)>J;[$5H!G:V[M#7t
MQ&+D(+68H7F[?ZUR[_ L9H07Z:[-WN-6:"SB7\3@016<,Y :IXH9%P*IC3O[s
M_P8:"WE__M?, 8H8W6'^OS_*;BS\_X?H?U@Z>$RV"! !'";_5\Z+,_XOQ)ZQr
M^MGY_9DLDYV#S!@*.&M/0 IP&-&#\].I?8SK9> .V'ZA?M8K!?!_$D+_O>TWq
MS@1QGX2RL_U"_:Q7"LONV3MY: ?^3T+HO[?]-BIJ?Z2X Q&F2=0FR5TMHNB>p
MT%2P8F1NB:1IV2>\EJ!%+.K8]ZEM=08.A8<S%![VG45SU&\AF+[8QSSZ6G>0o
M@2VB48@%^M=1$!Z]SW?-;1X6O(5(\__=39&!1H;C!8:!SQSWC4_$*#<U)AI\n
MRX#PZ!T*E%T7YN"'"V$G.9.(J(^)\&[/O -Y%_+^;4<1UYVP)^[Z>J?;^X3Im
M6WDA_QV6O^%?M@S>3:4!_'\BC5KAB!UT("L<,1\50.=*\[&7F,TS-0'=(0*&l
M 'TX89>'L0=9G/%=+4@)F -<P TH'O /_Z<;1[$#_-*H77FZEQA5P"$Y++KCk
M"R0!'"($B,AUI!WV$K-YIB:@.T3 $* /)\PS",[,K-X9R'>U("5@#G !-Z!Xj
MP#_\WQ6Q_H<\YN\!:!B/>6CZ1#N SI5KIV!BO<='\#_D,7\/7I'B-P7,A_2;i
M@@S,@8HG=6B'O<1LGJD)Z X1, 3HPPES0X@BOV<X9IZU2L#$5>\,I%UQ 3>@h
M>,!_8['RMYZ\_Q#RWEBL_*W7US_DO5\(*^_Q$?QKBAUDH)%=""M_ZQW\Q=$Hg
M_M^"K,W=,R=F'>>)]0:_L5]ESA/K#7YC5VF7Y&>4SA4@/JV\P6_L-+05#7?Wf
M8N4]?E"G\<:S4X*@VF3E8X;HP?FB VPWD.5O^".,@:#].EPL(0K[@)/?QIZ@e
M$YQ)56BJ_]9@++MJ/2_ /TP-'D/A83WWEQ$#LV)&K:TC!G$%Q8O2S)?//OSMd
M4L4&]L1D411YP+*WA[]MX23'=%WF>0#U6XBU#[:5/=CW#E8>PD?XG+_SSWK/c
M'Q/AY6M/_5A_Z\E[#GH^L=[CMWS_WV"4?<P0/3B?RAL*0='*=_Y9KQ3 /TPUb
M(0O]T_]VJ6(#>T(_64 49BB.SLH0%(K"LB]_P[]LC7P80/T6(NIC_4J_J8@%a
MT[?R$#["Y_R=?]9[_IA(\__=3?'#\[XFQGA6B%%* N(*"LCA$YA&>$GSJL)Sz
M::T*Z!Z$_(<""NAU%$)<00$Y?$(N2?/_/5BB <^P!H3\=^BL".Z]INU(!3E\y
M@H]/C/SRPL" 7W3C(_QWT *&0E (3O7XV[L#3NY1_%+#U!W&<\TX=F/9,U;_x
MD&R4,J"VK?RM)^\:A@GH#DQ5!); %\!4 :>QC,**E;K-OIIW($3#FGR&763Ew
M;[V##V/?P<I[? 1OX[K#"HUVH[!) !C H_?>:]J.HXSGFJUK][)?WFO:+D&Cv
M< YD9S3@&3 '1D$AQ^60C,)&1COVC-4_)&9 /UD:?CD8T8!G6 ,02'=8^5M/u
MWFW:*&P2-.Z]INUV>B*7)V:S\K>>O".:?66R/5,3T!TBH A\TW4E($K4 L$9t
M)6#BJG<&<L2X@!M0/%;^UH/_F"%Z</Z7]@F3NX$L?\._;,G\94;VP/])D/G's
MKI\B.SG35+!"SUOVR7(5F\3'UQW#W^V6@;\-<,F\HGK&<_SZ*P"\?^R[?J7?r
M5+KC#A +IF_E(7R$S_D[_ZSW_#&1YO^[F^*'YWWV5W<4RS1&SAV \!'^.UR!q
M<*5!MM49B!9C(KRD^?\^7!N[D,_QPERNMP&ZGDO2_'\/EBQ%HPCY'%_D#Q?+p
MQ? ;)4?^]AC:V'^(IS\#*&!LMW>6HE%^R%W?%%;>XR/XUY3S'SUOQ_\GTLH;o
M_,:^!>ZZPD]CPUU\[A<K[_&#.HV_ZPI?Q3S/C5(&U+:5O_7DG04T_/"  CS7n
MU-'S?-[*&_S&O@7N^NO815;^UCOXP&WR$42=]_@(_C7E_$?/VUE PP\/F*H(m
M+($O@*D"3BPR _K)TI@ *^_Q$3Q482D:)<58>8^/X%&([H#YD%YW6/E;3]YMl
MV@#;*&5 ;5OY6T_>64##[PXHP'--'3W/YS_#+K+RM][!!VZ3OQ6MO,='\*\Ik
MYS]ZWLX"&GYWP%1%8 E\ 4P5<-S+AUE/)L#*>WP$#U58BD9),5;>XR-X%*([j
M8#ZDUQU6_M:3=YNVQ$RVE;_UY!W1C =[B=D\4Q/0'2*@"'S3KC>Y3U0)F+CJi
MG8$<,2[@!A2/E;_UX+^==@<K;_ ;^Q:XZZ*%'UX(*^_Q@SJ-O^NBY0XTEMIDh
M JR\QT?P6^"N;PHK[_$1_&O*^8_>V\<,T1/X&_OKV$56_M8[^,!M\A%$G??Xg
M"/XUY?Q'S]M90,,/#YBJ""R!+X"I DXL,@/ZR=*8 "OO\1$\5&$I&B7%6'F/f
MC^!1B.Z ^9!>=UCY6T_>;=H VRAE0&U;^5M/WEE P^\.*,!S31T]S^<_PRZRe
M\K?>P0=ND[\5K;S'1_"O*><_>M[. AI^=\!416 )? %,%7#<RX=93R; RGM\d
M! ]56(I&23%6WN,C>!2B.V#^;K??]MM^VV_[;;_MM_VVW_;;?MMO^VV_[;?]c
"E@E5b
 a
end
-------------------------------------------------------------------------------
-- 
Earl Chew, Dept of Computer Science, Monash University, Australia 3168
EMAIL: cechew@bruce.cs.monash.edu.au PHONE: 03 5655778 FAX: 03 5655146
----------------------------------------------------------------------