[comp.sys.atari.st] CT - Copy with Timestamp

jafischer@tiger.UUCP (10/22/87)

[]
      First off, this is no major, change-the-way-you-use-your-ST-
forever-type program.  It's a replacement for the 'cp' command of your
favourite command shell.  I call it 'ct,' for 'copy with timestamp.'  The
destination files will end up with the same timestamp as the source files.
[ NB: The only time I don't do this is when you're just copying one file to
another, since this may be construed as creating a new file.  (I couldn't
really decide on this, but left it that way.  It can be changed easily
enough in the source.)]

      This has been discussed here before, some time ago.  My view, concisely:
I'm forever reorganizing my disks by copying files to and fro; having
the GEM desktop screw up the timestamps (this is definitely one thing
MS DOS does right) can get quite frustrating.  I want to know the date
that the file was last _modified_, not just copied from here to there.
More importantly, though (and the main reason I wrote ct), I do all of my
(meagre) developing on a RAMdisk, and I want the timestamps maintained
when I copy the source code to the RAMdisk.  Otherwise, Make gets utterly
confused.

      I also intended to write add a 'backup' capability, which would take two
directories as its arguments, and copy only those files which either
(a) didn't exist in the destination directory, or (b) had a timestamp
more recent than the corresponding file in the destination directory.
Never got around to it, and I haven't really done any development since
school started.  Feel free to modify this code (like, no copyrights).

      Finally, one interesting note: I use Cconws() exclusively.  To
see just how much good it was doing me, I did a
#define Cconws printf
at the beginning.  After stripping the symbols, the executable with printf
was about 8 1/2 K, and the size with Cconws is only 3 1/2K.  With a small
program like this, I'd say it's definitely worthwhile to avoid printf
and the like.

      BTW, I don't exactly remember -- does Gulam update the timestamp
in this manner?  I munged my copy.

-- Not really necesary to cut here, since uudecode will ignore the above --

table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 ct.arc
M&@A#5"Y#  $         *Q0  %4/L D=C <I   ,+U0T:*  A H00ZCH2) @z
M" @S:=B4:3'F#9P\:=R< 0%'SILS<L*T 4$'31@Z(-J$R4AGI9LY)-.TF3BGy
M91LX,-^X(8FFS,""*AB2*5,SX\DT.A]&+(-B3@H7/PU&/1BD"A4D3Z0L5*+Sx
MI,F=1M+,&=-3#@L00>J<J5,31(P<.&Y,G0JBRI0@1XHL'(.2!T2),7R \+M4w
MAH^I"=[(2<!W\-\R@4&X@#1@,)DT<LKP59SG,$&IGP\Z>4)%;P(J:,1R] A2v
M9,HP:XB"</,&Q$DZ96ZBI%,[\YPW;.R4L>TF#X@[$<F,"2.'S!P7($!D>5,'u
M<8(V;%&R'9X&I1F/(\. F-.3#1N>)SF6D6-&<1N8)8<C9Z.<.1D09?# "?,2t
MJ1OK_-VWWQQSR!:&>3P-YUL=;-"1T4:/S2:2;!DE"$)%;:CDQGUL9%0&"];-s
M40=9ML'7$PA":!;;3'FLAU +4Y3'QEF*6=C$%4. (,)[:+@@0G2H^10:0SJQr
M8=Q\]377PAH9D='"&V:T4-*#)J;'''=NX"9'1V7@=M^5.OH(X(9ABCED B@Dq
M <)08IQ4!H<Z;10@""8U!T(++1Q7AGEGA2$&==ZE(5Q*&=6!&TQX OBGH3R)p
M=988C*J9V8%&-NK&&NBAU,8;;9WQQAOW34'%>#+.81T<Z[4GQTA(+F=G?OOUo
MI]-9OUD8!AF7.9@4E!>".AQOIZ;J7J/PA3$'IG=01Q\(8@PGWAW&>HF?&:K2n
M\=1<H4%R!+9 U04%$4&4!D(23ACQA [<&@3"%&7 00=T;YWU5ESHGIEG$+B^m
M>>=.%NGJQEFJ@G ";2!DI*I*_KIP0G13\(;3:BP]" *4UL4GX4PYF6'A8S 9l
MFZ!Q8%8$1QIO0A6:=??F>U\+=DSLKG\ UWB"<'*D848>"D>7A,86#U64&T<Ek
M]9AU^8E%1\=D3IG3RTFI5J!$?+UYEL7;R7%<1.<U6V)L9%AG\\9+D:KL?5J_j
M0?,=-=.!FQLF _7"3W 3]-,(&8W!1AU##5;396^X@(9G"M#MAMUX#\<#7WF@i
MZC?@@A.>-P^<BM'DXG$K4/D(0T'DQG!9%#$%0S',G;F'((S&$ R55TY'XF^6h
MH7%-<HR(TAX_)5!'?V=L?A]+"118T89SZ%###K7?/D<:N>O+>QN%'JJ##<03g
M9#ONNA><90)H4"='\,,73[WRUY,11A["1Z_ ],<GO_OUFV:)A@XTF(\^\M7Sf
MWB)S.MQ@?A\@@$M%$DT00A6,8+Z?K Y5F1L/'6+7&-I)CRS,88AOUB,<,FQ!e
M!C'H@OP@N)@$W*9FD,*-_/P'0 $:(0'B<]!,-E@GAK"!4VG0PX?H))88EH&%d
M$4R &8 VDRW$@ 8:_ G_B$"%()BP@')+H@+RHZ6=<# !*H#=<NB @A2<)8H+c
M',-%JF@^)JYG)W9X0QK(D( JS"$,9V!*"I"H !(&<( Z--@;S$=$(\(1BF1Hb
MB?F>"$5(F<%\QJ.?OEZHD03X\7@R-!_OXKB]ELCA##M(0$! $)9&VN:1=9A)a
MED" @C"804LN\Y=3H*."MQ&$CW(\"\ULEH=(3A(*K G)2,S !C0^QR"F5, Bz
MR1))21YD"'4*0]2L-JG[?.<-(XE-'OYD'U+FDH\JZ$CN)L3&1<[A,6<APV-Vy
M  +*3'(*VAO#<$RP)J($2B)T"I!$;EG*U"DQ*C]1248Z^<@Q].F1=DA![3)Sx
M!J.YB'?,.<,8Y,=/?UKMB2I004#M8#X'GJ^@-?GG]5YH$3;63IH\'$X/+GD&w
M.VP!!D%\YV<@@8"OT5.@@P&!#%(  H=V$P%E/&,:N1@5DO)ODE\CV'YD"9-Vv
MBM1RT@M([=15R9KH  1I1 E_C(,A#7&(=/WR#TQ04 87G,$%9Q$!RT1P+>GAu
MLG9R!,%&8R"_5=Y,K""  1L38-*%^K +'^V"6#=Z@A:<@*4.90A$&AE0M,I@t
MK3JL$0HH"@>TDI6C'LW@%@BK01"L8 6$Q6OM*#,'Y-"!1"=-+%P9*UGI08( s
MRRF0P-QP@GJ=#Q(%".M&U3K9 HAA4FN0WV=#.YR9E;:U9C7.6&7K6MC*E@"9r
M"P.#Z&#:!*#6C&A4HVP'<-.#5+8[)/+I^1+0W(?42+K4!0%.-8;=/16H=HRLq
M25]WZ\[S"=6K5#'/&Z;XJQ/5\I'F9%8=J.4B.'#J>&*0"'0XJ2;%(,\HYC'.p
M=KJ&7AOA" 0>,13IV* 2]8ZABH]B%(,IM=XJ'D<G)T!)9NPKA]WT9*C.M>'$o
M-/:=,@QG)IN20Q[Z!!,RO$$V3:#P@U/0U?-]57HF1<$A1;S1&#L8!2V( 1-8n
M2DX_U" &,ACR7-,Z9/!FA@YUD,-.UN,1.:  !2(8 G]HHU0'NXDXQD$Q9T(@m
M@K/ 8,AKK)PAYXM6%'#0("GP\0L?O&,9IOFGM3NOC0]B!/>D)PC%-4@"A"#,l
M-=2AL#H93HU2/!R.D:0VXO&9@X#FKS5A1C.\47';$G#C@I#4I$F8 Q$PD]DMk
M!'0,0>X"C6L*TZ)1,2SKE,&HK7SJ>W:4QA8=*0+TW$TH4M+/*!&":7L=E"%8j
MQ#B)5@HZ>4.<-\1'#OM-PDZ4=B%CS=#%I-4.'%+87B%Y&HH)4&$97L!M!8H$i
M#K2JFWR<E9D+36K2<M+1YN[P(VPBV"OKJ2FX2\(?VS"KT(?>;YI.,)*B($@\h
MDM/.AC0S1GWY"5"9X@ASK-4V8N?RI=[ECL9..H8EST"?(X6 JU$ ZS+(H.2Eg
MSJ"M/2H#59^E<U.XLZ<1D'%6QS2Y-"5('\I;7I;\I.0G7TI3PGEM<Y[%;IQRf
M72W/ /*9O_FS423Z%25MOI<^$>D%HB4:&\IJB((RD.H# 2'/D  Y5.1V=,CUe
MS'D-"5\_ 573/A''*MYV[.;XFF';:)_A/O0HB]/,-$XI#)K.$%"+FM2_\7L9d
M5NW9 3PYRE.60Y7[;O89_D@UD;[T9C3-5?DEH.:-?[R4\2-YQ6!9R]EV61EVc
M4N;Q$%WF>19(@7=F(:W:X4=138I)8-*LU8\'56.P&<G(,+6>[&2O;2&+B@IFb
M!A!;2-)&J72$#E1,XQ2M)K<<U^O><)8XU&$]1^K)LYU?(RX_&L'MJJ4X"_8Na
M$.>2K1O/+0A,0,XK:S/OO^:[I '/4A^L-O!YE0!&@'5,<7\2(7,,<0>I@4XHz
M$ .==5H#, 2_<P=S@&52D'["U&AATWF3%8$36(&2AH"4(8$Z08%8]@.<E 5$y
M\0).\ 8O$ 3FP5(<J$3&-0 DLE%#L#G!YP8Y!X$DZ 8F* )<( =<  ,S, -+x
M,(- !8$F=8-TE04+PP=\<"%HL&0GD =W-5D$\%IE !O+U815V -TY011.(5.w
M.%I9Z%D$('H[P5J-!X96& 1E2(56& 9WU5):*'^K]5M<Z(4=6%U?@UW9-4D*v
M&#;8!8C<E4NLEF,&J%&4- ;O5H!&EU:!QP.4B(>Z)H $V!2/@8!EUR601WJ3u
MEV7\D6&JQWK99$X(B(B=IF9ZQFD'07L6HU5N@'M,LQ.[-QO.QBPFMA-S 'S"t
M)S4)LA,=P1(38RC.]QLS(7:D0QMB\2NU$1OM8B%58QO0$AN;UFGPQTER]( ,s
M\8-!:&P7(3%*^(T?2'GBY(G@6($_PFSEF #KB (AZ'GQ*(1$6(NKJ%T'$8B*r
MJ$0OQ7:^UH)W@'ZW\A#@82&)5WG*YBQD@C;= 8W/%U^/07=0='$DY6*8Z&D0q
M8';4L4EZ5TR<N!019@:(-$-^)'/=! $FQ9%H)W@/F)*:^$(%$I('6'60  $Qp
MF73RV(G+-7)49GHB<($%^9-6(S0;2"NOYXD[%W(9EY&<=I,F900.B1L[*9((o
M=G99,I(L98DLF27>^%D#*)-,@7<UJ85AJ9.-*(($X).E9V4B< 5I,QQ$.3''n
M=Y3E5!.X9G,OQ8K2]5*#>!!-V9<V=1P+.!PHT)4H(8;R19(V!'LTV(1BJ75,m
MYY0Y.9-DN7CRLY3G<Y8SF99KQ89IM3_Z2$F%@7(L)5T\]U,E-P>R1FJUAEB$l
MYW4210<>5$\$50;]%%$'U4()M5!<]T MA$(9=4$P %*WF9N@A%"2=AER<)P&k
M93VT25AK!4U4L!)LT(.I>3[+B1EHY5:GEFIL]%(!,UB?4E@;A7R.!$EB5YXIj
M]9V']5B1E9$I^8JP" )!HA26M%,3 DK,!G0E5S F,AP)N7X1DE&;!HO@I2[Wi
M*0-DHI\S 4HH8#$8 @<=PE[WD6@LI1H]8T[1YQ\)>A#,B6F<X5@ZP@4_L@)@h
M@TX9)7$=-F((270+^:$78YAIX )5=18ZY14UQA#JD@0VZ@)']34#JH'HI!ICg
MH -<H ?,809<T!YOT"96,R?01VD>*CWU&:*;9QRJ009(FBQRL ;%YWL6XSLZf
M(2#,L9\N BQ62E2E*70LU2P8(AM<R@5>N@9-^BE0NE]'L(O=\0,?*J/W.0-Ve
MXJ!=XB+IXP;!6"4>)J P&B'D,38R:GY:0X#$-Q[JIB?'P1^[41NM(086(F[Dd
M]F7B=1,R>DPCT1V\J"K#@74/<J#:N(TH$ +^*71NQ5@@TGA2=!)-D46Z*D5;c
M1 89E8I[@QE65*(F:D5:6)T146J<A:R--QH J&;>)'L0J"Y">1\6(V[$<1_Eb
M-JJ(QC,G,J0+N6F4\:HO900I)!-,80*:TQZT8F^#)S]^R9ECR9.^A!9D0H#La
MYTS9R1#TJ2YP^9 (:1.%Q6P;VA83&1WH>A0S86%%8AP%DANFLJ8'P6QURGPIz
MRAT]M7>K]R8J<!8A\6SHL1,J,("12 8JX*I4 1-WL"<S\JFI,:AG^J N8@<'y
M\GT :B$685_'@QLNJH G(:.JT2$1M3ZU%RY!( 5J(BKCX@2E(05.$ 1,, 4Lx
M\"-SDG$*N!XSE 0RVBP=4@;"L5]$@&$HD0?4@51=$A.9<:$:<P;,T29IQ(RQw
M02Q^2K'O1QF-B%8<RX/ .B'R(H(#L+#BA@+LFDIK8F\.N%ST6I5E::5\:9$(v
M4%T!@YK2 YINJ #5M9JM:66GV8]+V'-9\A-$N:LUHQ$Q0"L+]" K53L(!3L/u
M<KH&X;H:\5<_D5?QB%$3@H#UB*1T4([Q*+MGD+BU\[NI.[MK=*^T![PR((9Gt
M5GRJ,1_G81*#0C"N8P:8Y@+858]#R 7X^)F@.'ID)42C.;J=FYT_\6;4JJS7s
M:08,P@89%9NX^9P(Q;[FD5&_^5#QJYM4&$%1U(5FAP9J%UA6TQ3^>X,/T;X9r
MM0*P(Q$\2+_NF[O<5"#,02*"X< K2G_@U;\37(4A0%=<P 4GP$UX(L'_2W@)q
M$,"@J<'_:X4?O# H2,)DL0(Q  )'!<, +)J3I+X61KF?JT1A-$8_@5PSU72Vp
M>XXB(,1EP+N^>XZX.Q.Z:\0@L 4MX 9V(%>$ 1B"<<4FYP/;ZP9<T+M/7((5o
MV,28.;Q0+,54;,6/(1B341D\@*69UAE=S+U?S 4_,<5'U8+6<S!!LQ,:6AM:n
M4XQ94C)S3 <L<U07Z'WQ58UFE093Y!\@8,<$D;4[,:5]O)#X@0=&\QQ=K(2Um
M,W+"JW.CB<0[[+F5PVNQ>'B<F[,(ASP(!B@>LE\P>!ZHZF)$47S4<09H<!;/l
M:Q(HT1TPL:(R0:$D\QQTD00:]KTO89]24 5%@+' S*)H:C689VF9D:45=Q#Wk
M>0(Y,R?<G#-P[%\&TFY?008200;[U8+)/ 91=CS"822XK!:[/"X$1Q>>%!)Cj
M%&T_>A;?S 4ND#/0JXLHH377_!&(*D/H3!=!P+(NR\\@G+,%G3LV=!\1FAHPi
M81+8"LC#4<[G7"+^]HL,=R#55B"WVBW',SC#D1=-0 1/, 5K\F)SD'H1?="Uh
M]= 'DFP>DWG7',?93)I $V"\K#$/*S!AH ,+XS3 "!'"J":P,B>HRFPG4-0/g
MW4D@H-(L[=+8@9?9G$L^1Q"A-FLHL$.YR[J\*=8K5+NU(UX.TG%/A!LWX4<^f
M5)PAU</F1:WU.07 *-):5B#! V+.AP)!D (>A*0@E@!78'P1^3.7',XJ5MC5e
M3 8U,R@-ER7!:!8%L\^V0=CH]7XF%0)2=!.$:]9E\%99A:3'.G_D)!8' @<Fd
M$=;#"5+1:J6B?4%RM8=.ILS2X3F9V:^OJ"XH( 2"7=2%?=B^IP;981F1708^c
M$*0P =+!I]3W85G9PRBS:*+NIV8F-=L99(5&C=H@$ *SW7+>K=ILP-IAX-H3b
M$E>,-UV@"7-J%WM_/02"G8W%%F69L4F,33YA(@+7C6,;Y]E9!-JBG54^$MO3a
M101)M1\E@=XS 7B>U]ZZ73N/R]MV[=M$,-_TG0 [M7HHD=]')0+_S-_HE0"Cz
M41I'54N@-"MBPR#WP='>!HOA9M'6XV_7W,Z"TFC&DAHJ'C @[@+^[.,A7M(Py
MWB5C0-^<_=^?#0<,;GDA;N ,@>!=HN!H$*&Y 0=^M (RX.#@U=EN;>7S1=N$x
M1QFC2XIN8'XM,;<;ODF\XA&[F-_E2!G@U>5P#5)H!>5T -EV8&$H&M4A'.=5w
M#M?;35=&'<!0A (Z+.?SE0)!QE*V;:6^F@=+CKIFIZN(;@8 D\ KY8D0/@69v
M.9K\6%Z^]-=%(-B2O&<)( 6?TN&:%\<NRLZ2Q^%KDMQ&#E9('N!*/N#&RE7>u
MJ$.O7=O]DU1XKN=$W>>R/9R!+C"##E[A[>LGT,*>-]LSX.N7>]M0-GKN+>&>t
MGH@4[GQ%0":\XMQI(-*T9<SHY7Q3<*FTL3DN.J9Y?1[C;AMP0*$K-AXFAK$1s
M4B&*7!0ZX7R/O>HC:J#]3=>A7F!A0296W=(+DT<(-U_6"VT!CT(MT69U9$)Pr
M9@3 WA+8&505?A!C*QL'.VF+[>\JELE&4[=[=N2<9 1XUTB1GE9X$ .#]]VKq
MU616"IJCL5:]G<KL9QM\40>4 C+6+*(J9O*PB/*Q*H\1WP*"\4%I$$+CY/(Pp
MO]X2A-LW#^J;CL.I#-;E2Q :"$-4+E144         !'"0  50_ ";_[? T o
M  Q@-   H,#*0 %( $ :0$BA Q5O !  T08 AFCM ' @49&%$$ BD"B1< :*n
M"$4FE)#(HD2#&7XG1Y[AP6 #@"!FV-4$(,6,N9U'S(#;:<6,MIT]S"A0,N&,m
M@1'+!C*P(R03B 0G4ZYL^3*F!#/R3  P(Z/J51'\I&(JDA$0!0U(! F1 0* l
M'!!OSUB@%> ,OBE*1"C+JX"O&7Q"5/S[!\9<51$)IN63JFE$,,HNDJQ((O%%k
M@Q'(!BJ \P+!"P"2 )$+-"7(CP"3FKU(X%G(F1\\ "AQ$L1;6@9*!IEQ@5MBj
M<0%.<@U$H,D'H.3+T?W@ T! =2%7H -@[EP[ G18GG!RICV "-\$?P#P3J8Xi
M$]Y.K/RCA^0:"& ^7&Q7X8;@B&H#-4   T=4QX8!VAE  !P!3 !,@ @(D4. h
M(% D$0,0 -""&4; (< ,#P+0@ !\!& A = 8HP0$9^AP8HH00( $( P  8 ;g
M9SA0(P!VG %!@@2  8&$$(*! (,.4BB%$6 0PR"( 0H QS^GP8&$>KQQ\80 f
M0/3SSP@A-J" &1* 0!U!= AQBG8%X!$>&*1-*.)H5ZX7A)9@!B@!# =, 002e
MP)2#" A 1"/;C\H!8( 7X2D!Q!D8>/;# =H1H(>66":* !E4/ &&"@0",( 9d
M'C"HW@LM;(>J1-H)P 043V2Z'!E@2 (D$_8!XX073M01WS_\O'" ;2_H=V0/c
M6 8!*Y0B>L &",5NER"C3SAZ!@ !J/-";@1! D"T"("!K3E*R-D "-<"8 NQb
M^C$ ![)V+ANF!14!X,D/YEH AP_)AK>M:*W D4"R6D;K[L!V%LRM KL(3/ 3a
M<""0;*?,-A#IPLLXG/ 3#.0!0!8!8G &$!T#X+&((MM0LA,AGZ% R?VA;(8!z
M0@ A;@!,E!Q$RPR4'$;(9@#PCQY$B@@"NP"XRT.R\@9H 1L<X!M@J?S:Z6^[y
M_Q+TC+@ V%,NA&<(D;4"VVB<Y1/@FGTGV@N3HW;![;[-MFCIR/V"N1+<': "x
M4C<+QP_)HL> ?GJ+F/<!?3>@+Q"!_P;+(63@D#C5_<::[[Z5&YSU NLEVB:Lw
MLF['Z1.^)"KF&88HT1^+#DR.N=66._TZ;V\"X \QX(X="IMXP.K"![OV^BL*v
M]<& G['\$<2GGX *2JBA*$#!@[D"+ \$+$9$!  RML%@0/.#%GHHF\3X^RVWu
M"U3P @-(N/$/#MX) >MIWE$P?^?+V8\V -Z#__SXB7(5>I8"!#.0P3:3RUH#t
M- "'*S0N/>:B'.Q,!8#VO>]=3'M"Q?05 /4DS@(*9* #[33 #\XN".%9DKC^s
M418@X,IXP?.50;YEK@4A[&R;NX#=C+7#I-D-?0R\X=H8%,-?X:-X $B>:1K@r
M'2F$!U#0: 0*@)"+9HSA910  !?.0( I, (,\F! %KDP,Q P0 J  (, S/C"q
M]?!*A@/97 ?L5L,?#F0!):!C@&SXL,W]0&X49$^GBCC#S14#!/U! !+0@"WOp
MJ !6CC*#"1"YG1C-" :%2@L %E /2P*"2Z(Z P,H&2$45.=F;B E TRI VQ)o
MDI1*,*4 S, !4GH2D]'0)"<]"<I188L'FT,&N!P)R0)* &E'.D(&;T:!S2ECn
MF)IZ9+4*R =B<8L!H("#,N-5+3EATPP.V%PS>!<>.&1@8D\P " 4,H P)"EIm
MGH"##M[)@$]DC0&>(%]X""4$%"R&E(NLSCWSJ2G]G0::RQ'""M6P.7D@=#_%l
M)(LYT:E.=H;!EH @I3PC8",3)1(.7.!H=4C93U&! 0>D06>>1.0 .$#@5#QTk
M0@:5  @NU@P,% #!R1K@  B8L@(S B6+U$'$-XH@(@@ 040F@@ E8. E4T $j
M!++QDEX=52)*K60&O 4!,Q# J6:PQXP 956D9I6I4ZUJ'<XJ@J8^E1\@0("Wi
M6 ,$X<W0.W[X@;&\8XA!OC$^ R'D0/2Z'3@PH7*$!):P"'ND(E3.!P!@ P3Xh
M!"CZ)4H!-'B3"!BKG00 H5,]L!$"VM Z8TVJLY@(#Y]^E]A@(<ZT^E& '(SPg
MFK-!-I(HX&RB/ M:T;;! HPEK )0J]K8@L$!E 6&9463V2>P]J_R.:)] )&?f
M[?#)"B2SD0#$P(%R( &7FBP("*#@!&A\"@Y0 (,)X! $,(@ #D, @P>4< 32e
MJN!D4YE"?9O:@<-,R4A*J(!?( !40. *!,^![C^DB^#J-K6^#\&O'?3;!O[Zd
MES%+$3 ^8!!;#1AXNHEE,'6-==WL5D<,2/ N>$4CAO&6][Y2L0.!9P2+(X@Rc
MP%Z%0S?4*X5&@($=(&B MQ(UE= QIU/']4-\G>&']BK##^DU!ARV<> $VW4@b
M2G#%=B0+ F,1 1#,4H ;_CN1O;YQ( D(&@ 2H 8TQTP!8B&("$3C 8488 AAa
M<(,;WD '$(2!#6QXPQC"0(<R^-D->:!(&=KP!CGD(00  $$:YN!G$) A#7(Hz
MPQCHT.@\Z ?/;CA!G]\ AS*DDB=E@ ,;PC &0YLA#6PP- !^  (49*$,<WB!y
M$][P@B  .@5U:< &E@  4(M:J:4^]1!(G8<TX*@N(.!TL!6 ZC"0 01ED(,<x
M&JW45+XZUG6Y@AS24&AL:YO;;_ VK&7-!0#H( %S D 5YA"&,Y3AW9'>0@O<w
M8(<N@( 'WRY##'SP[X#+P =B@C<(],UO?P-\W01WP4+^?>E,;[K3"%>  A*Pv
M;Q?M6M)N,$.CVT#H-*1;TI26MA@,#8=QNZ'09'!!PEM@!Q=)H0QQJ .N^UR'u
M.60;!';(=AI>/6@ZF#R5=T"#J2V]<V>7_.0!QS8>)DV'.<B<VCIHMWY<\.D\t
M[[G/= C#&E@>ADR_7*EF ,&V^6QI3&N:TX[6XD"  (D$0 $2!:"[!+P% D@\s
M0*X*Z/L! @ )#?3=  (H?-\)8*.%,$ /0QB"LGX "0S8&0$*(0 31" # R 7r
M 0Y P,LXP  $&$ "*! ] RR  -$[@ (04  '%(  $3#  0[ @ (<H $+&"#Vq
M"XF] BB   G07@,:<( !3H\ "CA  @:@/>Y]SP(/O$SC%H# [ZW_>Q$XP 0Bp
ML($#($$ "4#  1;@@?&MCWO3LW[YOG> QHW@+ 40X?4PL  %4,"!@\L> 3  o
F 02 =P$0 !DR>!00 -0& ^QD!=0&"0I@>0L! ]8!  T!"1$ &@"!n
 m
end
--
				- Jonathan A. Fischer
				jafischer@lion.waterloo.edu
...{ihnp4,allegra,decvax,utzoo,utcsri}!watmath!watdragon!watlion!jafischer