[comp.compression] LZRW1/KH Turbo Pascal

GHGAEA8@cc1.kuleuven.ac.be (05/07/91)

This is a Turbo Pascal implementation of LZRW1/KH.  You should
strip this header before uudecoding the file.  It's a zoo file
containing the source for a simple compression program.
--------------------- strip here -----------------------------
table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 200 compress.zoo
M6D]/(#(N,# @07)C:&EV92X:  #<I\3]*@   -;___\"  $        !W*?$M
M_0(!M!(  '$   "F%O,"JY2P,P  0Q(   $           !#3TU04D534RY0M
M05, "@!_LB<             0"DC*   ]R080;"@P8,($RI<R+#AB 1]&B@0M
M2#"!Q8L8+U:,.''@0Q @"8(,:1#$09(C19H<,3(E2Y4B83[<*)'B1Y0M5[YDM
MN;+G3ITY9?8<6I%FQXHN@\HL2/+D4)PZ>48M^I"CS01)74H5RI3I4Y4HA:[TM
M"+$F6:TQ2W+=NC.MTK \J98]^C"C7;)6R1;!0D5*D29%F&0!823(%"H@@C@AM
M J*(X<%4GH"HLKB(E,.*&0]YT@2*WRE3DCQQDIC)D2=2DE!I@M=LQ;L9C=ITM
M2+NV[89SK\+&*)ML$C<@P@ O$T8.FS1EY(" \V8.G31NSH!(<L).F>!LY! GM
MDV>Y]CEEW- I0R8X"!LX8."!8;%WQ3!SP+<1PR8Y"#EOZCQW<YW.&Q!IM %'M
M?6V$1P<(;\#Q7!MIZ$$>"$QH(<45,8 PQAL"?C='&F^XX4)K="5 G746HM%<M
M>"#0@0:*;H11((024OC"$DB 8,8;RJF8QAP(*AA@@^1I5)5K#X7!QADXID%'M
M&RRD^!\9.^YW1AT[H@'@@6;@UT:**R(H1QIG0&<D@ORY !(5*X)XU1AH"'=&M
M&3R.(1P(8EQW8QUNE <=E]>U$08> =:Q97W1J6@CCN;Y20>;+*A)UAUHI,$FM
M@#S&8 . P*EX79)AML@&=DA^N6238N@'0@PX8,IG>T.&F.""0);781EF@H#FM
MCI2"X,8;!X9!)Y@ENED&J:;R9YT<FM87GZ,5*6GAG-"-H1U\_75Y889P;M@AM
MG=W%\ (.M0:QJZ8Y1AH=J[GY5EU_7S[H'PAD_(?KNWZN42VN<.!WAAPN@D#<M
M'-WY)V2Z%>%)1G+."4=&N&RHF-\95B8!0ILDSH'A=6OL>D=]9+R)H!D@#-&DM
MQ$;>$48><S#[D!G0Z7D@E&:P/$8=#3L)@L$(TZ$P"!87.*N_;( W,;[Z\MO&M
M'!^Z]U 1<\!1QAAI&,E&=VF K&EW!SN=)YE\@C %$J@A-D024@Q1A6H@"/'$M
M$TPXY@2Z>554AAU&UA'&<]N^ ?(0(.A@*YP'\L''W\Z!(#CA!]Z1!AN?=C@UM
MG=?!360"9>#QM'X/FD'SXU4C#H+)//9511%=LRQ'X2IJUU^ <(+@PNLJ)T#%M
M&V^L <*+84"Z>'__L3RE=E<BJ%^31CI<!\3!@U?&T2#$0>5XL;=(1QW\?JJQM
MZZ\WMNOQ5NK-Y8Y-UD?'"3PJS_/%%KYQ,/9)MZK;;I*'. 6.<N31Y*X@'%>XM
M]TXG6)_-*A*.[73$HP5=YW5F2L*!VC0'-YR #K%CD[#*LR$WC*%/W6$#? [$M
M'.= YPP?BHW[R+*;)5#O0$@(0WC"$SOXQ6\VMXFA#&DS%XEXY@E'D$(06#,$M
M#.4K6QQR Q&6]P840 <.P\L/'9!(AQ3L0"(2V8P3#I, (=0A9LEIPI^F *0$M
M]  $,Y#!#=#S1 58Q(I8E(,6\6"1+Z+1#%G<(I!:$(,R6L0(3 C"$;[00S@@M
MAPQ>! $)C  #.R8 CWKDHP\U%$@2P, (990(%;( A2)4\8IPE,-O#L;&+\+@M
M=6^,(Q[L&$HY<-%!@?RD"TJYQE.6@9283$X0Y,"O/ 0R"%+0X6"V4,I-5JX+M
M('B"$=*6!2H4 99IA (=Y-!&$'BAE+.LI1U3. <T4"$,]"E#,W&I2Q!L094TM
M@$$.:@!,84['"<8\@F4BJ0 C4&8(5!#-VXY0!CIH<5%HL @*$C _ZEW0(GXKM
MI3+E8$B,8.$B 8VE)O-4N8):! 16P&4"J)E/@(* HM?,ID.Q$E$I\+.+%A5"M
M,8\ID8Q 5*)0: Y"TZ907[(Q!0D(Z-K:II@R=G2B\$&#%>JFS9B"X JH(4(9M
MA5"$(R3!"26EZ$[94(?KZ."+* AG#6@P Q6@X*HHZ*<<+NB%+6 !F%]C @AHM
MD (08 $U7LO/5LO052RL( 9=*&M8QUK6LTHAK?YDJU=7((.X>@T)=R5K8A8CM
MR$<: 9(EI:<][S:IIQ(F"$R8 DG-F(1AHH"B6U J3X') Q^ @(YEI0(2BH!4M
M,U:QJ$<MJ452RB/'8E:S3"U#%PKJRKYYLJ!70$(2V@:"J]:6!Z?"05DSTUNMM
M<G6OK@3F%XVK5]:N(+DI*"L1GJ!:BQQU"%D%DA.K6]GB @D$/OCB#$([VM)BM
M1+'W;"Q4L= "UH( N.',@0VV:UK2"C6I.<UL3I?:5& Z%@L2L2\[)>).)\!3M
MG@GH(;;B$\0$[).Y+!BB<WPJT&5NE)]JO: K*:S0#<,TH6ETI4TE2M&,^ VCM
MV*R/'9=0!OL)04DL4+"?\F11H$KAOF;<,$8".E([8H$%66"!%EC VAVS-(TNM
M'2IJS6L$M+*X.XZ%@:TD$]\:@&"Z%\WOD_W[13K:4<)TZ"H,N$R8/.Y1P3^,M
MCX]M"X)"EG0PCIV!';7 YCJ6],4'BK(=9;PS/9<TM[LE'0JP\%Z\KM65PR4LM
M"@;#@^5FN R(OC)U34M4HYK7NI;%,WA/50/RDK:ZI[4TJ!, YJYJ@<RZ10&?M
M\T3?C)1Z"UIX*YF9\ 158VC&9&@U1NCLV"QL5--^-NU%KKMH%L@@!: 6,'<MM
MBU[&HB&KCV;!CRG* E<2N3G1!;5H21OJU K[(D]F\U79RUJY(D&L@EV!=QW4M
M@O%>^-590'424/!D76,$WK)F,ZWIW6)[#]O Q3[VA8G]8T1?>-7E<:RMVX#KM
MOXHU!F55=PQ&;=]D1]:2E?:V7>!-9N:V=;:C%A' L^!OZP(<"R5/\*W[_$6$M
M._Q4%%],08F-9UTK6P$Y<;EC73Y7%%BJ!34O8TY>?6HVIQKA]!TZX$R=;\?NM
M&^EV[.ZB-\W<2&_[TAF_= *:\ 0K% ':>15S%R*\]"W M=J/-GAU7SUF-B/RM
MS GZ8T'AO-PJ# &[5=>N:F^N\@5K"SB]#K#,H=C.=\9S-*1^VB*!V"$'8SBOM
M9)\PB#,YT OG'9633XZ'.1QB((W8HS\.<I%7VDN&CK*D"#>RC7%<11A;>PFDM
M[[%$LEY2J7O\F\HM<R+[^$=DF_;JAT0KW4\U91!XI@A$ /NAM2MI4+_Z^,DGM
M><<?W=5X[_WBW=9Z H;OYF\3.LX.U3E4;P_7EPOWN=3?0E\="NPO6LJA@.;MM
MH M]^3)(=](9H?VW,=U;37O2T]IW$?H'&^)77.GW5>:7 N@7=GL%5Q=V1L[BM
M6.\7<B:'73]V;!3(=QDA=0O7<,1% ND! S!05O]'@< W@+#!<6QV>U_U@!4XM
M:"GW;]A%<A28 !6W?Q81&)*5?37X40XB;BR8;Q_X2 HH RZ8 .[5:RW@6P<(M
M5N=&5RN@?,?E5N7W-8$574?89'>U!&PF99'A-=\U73V8>,Y1?2NP!&3V?,UQM
MAB"'@S(X:,86@R\89*[T5KX'&QJ($07(<T]H9SA(!$6 7347<T1077PW1->2M
M9G_'9ED@>#@61:-!16B6! <C'E6#',SD-[3F!)9&!<V$5: 85"AP DQP N8FM
M5N<GBB>@!:9XBB"0BC<VBE+0B@FX JIX!;0X5\+%3C<U!65C!% 088<!C!9EM
M!(%F1[XX!&@DC%2 1A;%34&P2ZID*3.0 VUG3B)E3$+7$LEH;41P&!OF-ZNWM
MC2-!!0*B>D%%CB!!B09RB<EA49O8B5'G!M;V!/JA8YHX&O)(> /(@5" 2SNTM
M&92!&)T% L<V6(QQ5?^H0TT@D.CT7IXU7L%T5RBPD#MT&%+@<V55D"?0 D30M
MB@ H$3G!@SB7$RV1 %>0&L;$!$Z@CB:9$RFI&H'A!*-8!5.@1Z3C-YO1&9\QM
M!=[DD9S%7(2Q.Y[% V VE/7A Z;HDB\Y$C&YDC1Y DV) FAR'1[9(W@#'+@BM
M)T(#'FZP(<]!(B&0 DLIDDUIDD\YDTQYED@ 651@EDUY<SDA=1;9D$\PD"#PM
M11A8DB,A.^5%DA<!DRHYDZ/8%UEP5$=0?#MY?* ! B= 9 #9!!BID2P@E5_XM
MF'4YF<=6F2Y0EM]F&*%Q!#29C, (F0PYF1!G;SD!FDD@FBCPC510FIG9%RAPM
M;*K9$I]1!%205;\8C!!74'-I6:(A!7!",P=2D"-H*^6E6B,)F _5E!:1EBP)M
MG&>)DH/)DJ-HC+R%F9&)FBE0F2#@!$^ &$U&&8P1 IXYDLTIF#(YG7#YDH'9M
M$FW)!&\I;&?9&(-GG[A9!&GYFL/HF[<Y$E(WG,59,\@9DOK9ERB(%=4Y!+0FM
M6;PY!, 8H/ IG2U97??)GE"9G8'FF*9YD;2YF5(ID$S &.*)&$053)7D!,@'M
M NA)H1EJH=29H2 QG_49GW&9GS3:E$) :T.P!/T)FZ4YB97X'"R3'-66!%I0M
M!,*$ O%X5%3PG>8(!TFWHR8I=5,*D5ZCI$QJ!$ZJCU :7<KY:7QII0JZ9.]IM
MIB:98 _Z=:0)!56JIC3JH$\ H4(*IVLIIR9I&8;Q=7<:IWIZEC*:IH&*EM<9M
ME98A!6CUE(A9?-QYFB'ZG5+YHGE:J" QJ&5JJ3EAHX0:J'(9J-WX71)H S. M
M S10J1GZ&[45;(5JCW2PJK>%H2T1?X(6JC_H?J1JJO<GJV<J:IE:J%7DHTO@M
M%T&0?&]:;66#1KC' M1HJL@Z!&KWJYJZC@"GJD#RK-$ZK2_9GR= K(SA-X]IM
MK0X"GC^EDL9$&N#* JYJ;2,0 ^[6J=,*F[ :,HO'8!V" L5*!!F9C,HZ9M^9M
MKQE)!,[1KW&%K=J%JH7:HT_PHT'ZG\QH;:&QI$VZ>E(J(("JK=2*7>MZK5-ZM
ML1C+K=[:-QXJKL,BE>6J&N<JLH^YL>/:KN\JK=.*I0*BI1';I2A L0CZG'I*M
MDO>ILS3*IG7JIKWIL5;JLR9)IW;ZG[J&L3G!ITD;FW@*KR!AM&:*J<#*H$UIM
MH:.8J(NJDHUZF1\JF9$*GI0JM98:G8=J2$PKGVYIME1[EI^ZMFDCK T+M<Q(M
ML _+L1:+L(%*;"P[+%/Z7%PZL4&%A69;J"#K&-\ZLO1XK2;[E"F;KG_+ BY+M
MM#%K65E:D/+*?%?'G('*L]6)M3^+M$(KH5$+LS\KND?;IOX)M4LKMXVA0T\[M
MH:CZMCMJM9^KNAI*F"? M7?%J)SHJ&&KF9+JHND)NVC;GA=J6K![46V+NB!@M
MNR^9A_<9MW**NWJJM2>@G:0S!78W!$4P!>[$!((1,IS!F))UGL>KIZ0;H;1[M
MN&?9OG_JMC=8O=BG?SUKG<I;F%)PF,'[A8"XF#WIH;.9D2(JO 6, N/%F>LKM
MIZSIFL>:P+;)MTWYP#1YI\-+F^-EN32:F[MYK+\)OTTYH*A1H,?I6<G9N=#;M
ML_BKK?H+E11\O8?*H=N9P09<O"=*&'=)6&6[PH&*O6O+J3Z\H]:KIGY1MZ49M
MPD/\DB1,G'-@G%J:PLNYQ&O:PM,*M!#ZIAQLJ4#,M-K+O03<G1I<O"1JHN.9M
M-J3S!"O:HCW<O%V,L4*,L45LI@K[H][JOL'(CI9XI'*0I!+KI4^*3A5+I3%\M
MI9@[LP59LTT:R%&*H,!JQ9J*Q:7[OE1LIO*KM(5LID[KIY@LPC*LO)ELI=KKM
MNR#@K8UJ!(K:!&$,J3=,M@WLQ6GKR6H:Q]HZQU8ZH$7JCLI1D$3:CGSLR)\+M
MR6?;OEH<RCMZR:YKS#2ZR:U+R6X<RY4LRC.\O1WZJ"#:RE*9!#Z9PT%@OCP9M
MONE+&!W:QK#[QMI*R]-JRSNZN3\XJJ5ZJK(\EXW;SK$:S2/QMUTXHY>J6_+'M
MSM>!J^^\JPDZM<+\R,)ZQ\=JJ\.BR%Y*L2S0L<J<JH<,!S0[N U=N#FKNT5;M
MT">IT=!)S$,;T=(;,JS[IVH+N\QLTF[KT31JSCLZTJ.<2VAERL&+RIRQRM=<M
MF\5+SG*;O##LN7*+SO#)TGNJHRY<Q\.JN'C\K'BKT ^]M_%\R]4ZSX K((+[M
MQS>+T1%]GXE;K"K+ B1+KI!+6E\]N96[U6<ILQ2=R&5C=5,\TBR,IM +UR<)M
MTJ:[Q?E[G\A,R72MIRG=R7--U%P-S5<[V/O;NS)]5S2=F#:MRM8LMMALO'B=M
MNYC:UW(JU&LJV"VASIKJSVR&B/7Z=_A*!/H:H03[KZ0=L -[1;CWG0H]V7J*M
MU$@<C+")M_[\U(0<U3OJM_>HM[EMSRT]F+*HN%\=UH]KKF0MN;W=LNX*VW*JM
MUEKJSQG]R'*=UT5KU\Z<NWI=TH!MV6KZU\F\THA+V-HMJ--,RL";F&";P L\M
MJ:^,L3ZMED =Q,]KW42<GS@ZO4:=O>3-WX<-QMY[=^$[ON4;P.?;DVS\WE:*M
MW:=;J'L-I_2[&([H A*A 0$!W*?$_0(                             M
=                                    _(, M
 M
end
size 4844