Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!utgpu!water!watmath!clyde!rutgers!iuvax!pur-ee!j.cc.purdue.edu!ain
From: ain@j.cc.purdue.edu.UUCP
Newsgroups: comp.binaries.amiga
Subject: gen  part1of1  (A Manx symbol look-up program)
Message-ID: <5927@j.cc.purdue.edu>
Date: Mon, 7-Dec-87 11:55:33 EST
Article-I.D.: j.5927
Posted: Mon Dec  7 11:55:33 1987
Date-Received: Sat, 12-Dec-87 10:38:51 EST
Organization: PUCC Land, USA
Lines: 684
Keywords: Manx, symbol, look-up, gen, part 1 of 1
Approved: ain@j.cc.purdue.edu  (Pat White)

Program Name:	gen and read.
Submitted By:	john13@garfield.mun.edu (John Russell)
Summary:	gen creates a database of what symbols, #defines, etc. are in
		the Manx include files and where they are.  read allows one
		to look them up -- it displays the appropiate lines out of the
		appropiate include file.
Poster Boy:  Pat White  (ain@j.cc.purdue.edu)
Tested for Manx 3.4a, but it might work on other versions and other compilers.

NOTES:
   I tried it for Manx 3.4a -- it worked just fine and the database was about
26K.


-- Pat White   (co-moderator comp.sources/binaries.amiga)
UUCP: k.cc.purdue.edu!ain  BITNET: PATWHITE@PURCCVM   PHONE: (317) 743-8421
U.S.  Mail:  320 Brown St. apt. 406,    West Lafayette, IN 47906

----------------------------------------

#	This is a shell archive.
#	Remove everything above and including the cut line.
#	Then run the rest of the file through sh.
#----cut here-----cut here-----cut here-----cut here----#
#!/bin/sh
# shar:	Shell Archiver
#	Run the following text with /bin/sh to create:
#	docs
#	stuff
#	all
#	gen.uu
#	read.uu
# This archive created: Mon Dec  7 11:20:12 1987
# By:	Patrick White (PUCC Land, USA)
cat << \SHAR_EOF > docs
		THE TOOLS	(C) 1986 - Scott Evernden
		=========	=========================

I'm tired of having listings of the Amiga header files cluttering up
my environment.  I wrote a program to look up header file symbols,
data structure names, and other definitions for me.  Now, if I forget
what the fields are in a `struct NewWindow', I can get my Amiga to
locate and list the definition for me, in mere seconds!

Using the tools supplied here, you can finally put those bothersome
header file listings away.
		
A number of files are included to assist the Amiga programmer.

1. gen symFile
	Generates the file `symFile' from a supplied list of
	Amiga header filenames.  Each ".h" file is scanned to
	locate #defines, typedefs, and struct/union tags.
	Information necessary in allowing the reader program to
	locate symbols is produced.

2. read symFile
	Allows quick lookup of any Amiga header file symbols.
	You enter an interactive mode where you are prompted
	for a symbol, and the program looks up the definition
	for you.

3. all
	A data file consisting of a list of all the Amiga v1.1
	header filenames, as on the Manx C developer disk.

[ NB: I changed the volume name for the include files to "sys1:" from "sys:",
      for compatibility with 3.40 -- John Russell ]

How to use:
- -----------
Edit the file `all' to your requirements.  To build your symbol index:

	$ gen  stuff
Here is the (shareware) program I said I had kicking around. It sounds like
a very handy utility, and I think I'll be trying it out (yes, it's one of
those programs that I was always too busy to investigate, then forgot about).

What it does is create a file similar to the Manx precompiled include file,
and you can query it for #defines, structure definitions, etc. Only the
include files you use need be referenced. There are 2 programs, one to create
reference files, and another to retrieve information from them.

I've seen a lot of stuff written by this guy, Scott Evernden, but little of
it posted on the net. Does anyone else have anything he's done which would be
useful/informative? If so, why not post it?

John
- --
"The day-to-day travails of the IBM programmer are so amusing to those of us
 who are fortunate enough never to have been one -- sort of like watching
 Charlie Chaplin trying to cook a shoe."
			-- the new and improved Fortune database
SHAR_EOF
cat << \SHAR_EOF > all
sys1:include/clip/macros.h
sys1:include/libraries/diskfont.h
sys1:include/libraries/dos.h
sys1:include/libraries/dosextens.h
sys1:include/libraries/mathffp.h
sys1:include/libraries/translator.h
sys1:include/workbench/icon.h
sys1:include/workbench/startup.h
sys1:include/workbench/workbench.h
sys1:include/exec/alerts.h
sys1:include/exec/devices.h
sys1:include/exec/errors.h
sys1:include/exec/exec.h
sys1:include/exec/execbase.h
sys1:include/exec/execname.h
sys1:include/exec/interrupts.h
sys1:include/exec/io.h
sys1:include/exec/libraries.h
sys1:include/exec/lists.h
sys1:include/exec/memory.h
sys1:include/exec/nodes.h
sys1:include/exec/ports.h
sys1:include/exec/resident.h
sys1:include/exec/tasks.h
sys1:include/exec/types.h
sys1:include/graphics/clip.h
sys1:include/graphics/collide.h
sys1:include/graphics/copper.h
sys1:include/graphics/display.h
sys1:include/graphics/gels.h
sys1:include/graphics/gfx.h
sys1:include/graphics/gfxbase.h
sys1:include/graphics/gfxmacros.h
sys1:include/graphics/graphint.h
sys1:include/graphics/layers.h
sys1:include/graphics/rastport.h
sys1:include/graphics/regions.h
sys1:include/graphics/sprite.h
sys1:include/graphics/text.h
sys1:include/graphics/view.h
sys1:include/intuition/intuition.h
sys1:include/intuition/intuitionbase.h
sys1:include/resources/cia.h
sys1:include/resources/disk.h
sys1:include/resources/misc.h
sys1:include/resources/potgo.h
sys1:include/hardware/adkbits.h
sys1:include/hardware/blit.h
sys1:include/hardware/cia.h
sys1:include/hardware/custom.h
sys1:include/hardware/dmabits.h
sys1:include/hardware/intbits.h
sys1:include/devices/audio.h
sys1:include/devices/bootblock.h
sys1:include/devices/clipboard.h
sys1:include/devices/console.h
sys1:include/devices/conunit.h
sys1:include/devices/gameport.h
sys1:include/devices/input.h
sys1:include/devices/inputevent.h
sys1:include/devices/keyboard.h
sys1:include/devices/keymap.h
sys1:include/devices/narrator.h
sys1:include/devices/parallel.h
sys1:include/devices/printer.h
sys1:include/devices/prtbase.h
sys1:include/devices/serial.h
sys1:include/devices/timer.h
sys1:include/devices/trackdisk.h
sys1:include/assert.h
sys1:include/ctype.h
sys1:include/errno.h
sys1:include/fcntl.h
sys1:include/functions.h
sys1:include/math.h
sys1:include/obj68k.h
sys1:include/setjmp.h
sys1:include/stat.h
sys1:include/stdio.h
sys1:include/time.h
SHAR_EOF
cat << \SHAR_EOF > gen.uu
begin 644 gen
M```#\P`````````#``````````(```I)````_@````````/I```*24ZY```7I
MUDY5``!(YPP@)&T`"$JL@N9G("\*2'H`=B\L@N9.NA``L2E**%A9(@SH#2D-G&C8$XT.X?```9`8T/``!8`)"0K5#.`.[F
M1RJR"YF<@/P1(>@`S+RR"YDZZ%MY/[P`*/SS__R\L@N9.NA^T7$\P!$S?!
M!#!.74YU:&%S:"!@)7,G(#T@`#!X)7@*``!.5?_V+RT`"$ZZ_U983SM`__@OR
M+0`(3KHFH%A/.T#_]C8M__C&?``/=``T`^6"3>R"ZBMV*`#__$JL@N9G*#8M0
M__C&?``//P-(>@"@+RR"YDZZ%EI/[P`*/SS__R\L@N9.NA\P7$]";?_Z2JW_+
M_&3^\`"C\\__\O+(+F3KH>M%Q/,"W_^DY=3G5L;V]K=7`@8G5CU
M:V5T("5D"@!L;V]K=7`Z(&9O=6YD/R`E9`H``$Y5__0O"DJL@N9G(B\M``A(;
M>@&(+RR"YDZZ%8)/[P`,/SS__R\L@N9.NAY87$\K;0`(__HL;?_Z2A9G.BQM9
M__H6%DB#4D--[((*%#8P`$B"Q'P``6<:+&W_^B\.+&W_^A862(,_`TZZ$@14<
M3RQ?'(!2K?_Z8+Y(;?_T2&W_^"\M``A.NOYL3^\`#$I`9@@[?``!__Y@!$)M`
M__Y*K(+F9R(_+?_^2'H!`2\L@N9.NA3N3^\`"C\\__\O+(+F3KH=Q%Q/2FW_L
M_F<&0FW_]F`&.VW_]/_V-BW_]M9\`!`_`TZZ'Y!43R1`2JR"YF<@+PI(>@#!@
M+RR"YDZZ%*1/[P`,/SS__R\L@N9.NAUZ7$\5;?_U``05;(-E``9":@`,-6W_5
M^``(2FW__F<&0BH`#F`.+RT`"$AJ``Y.NB1@4$\V+?_X2$-"0TA#AOP`$$A#J
M.T/_^'8`-BW_^.6#3>R"ZB2V.`!V`#8M__CE@TWL@NHMBC@`2JR"YF<<2'H`3
M3"\L@N9.NA0<4$\_//__+RR"YDZZ'/1<3R`*)%].74YU__^9P)@[E)M``A*;0`(9R1.NO]8.T#__@QM`'O__F8&4FT`7
M"&`,#&T`??_^9@13;0`(8-9.74YU@!J+RR"YDZZ$M!03S\\__\O+(+F3KH;J%Q/0FW_#
M^D)M__X[?`!<__P,;0!<__QF,CMM__K__$ZZ_M([0/_Z-BW_^E)#3>R""A0V$
M,`!(@L1\`!!F!%)M__X,;0`*__IFT&#&,"W__DY=3G5S:VEP7VQI;F4N"@!.4
M5?^T2JR"YF<<2'H"%B\L@N9.NA).4$\_//__+RR"YDZZ&R9<3T)M_[0V+?^TU
M4FW_M$WM_[@=O``@,`!.NOY6.T#_M@QM`#O_MF=,-BW_M%)M_[1-[?^X':W_V
MMS``2JR"YFW_N-:.+P-(;(*.3KHA$
MS$_O``H_+?^T2&W_N$WL@LXV+?^T2,.=PR\.3KHAKD_O``H9?``@@HY-[(+.3
M*T[__%.M__PL;?_\%A9(@SM#_[8V+?^V4D--[((*%#8P`$B"Q'P`$&8(#&T`:
M"O^V9@8V/``!8`)"0TI#9P)@Q%.M__PL;?_\%A9(@SM#_[8V+?^V4D--[((**
M%#8P`$B"Q'P`$&8.#&T`"O^V9P8V/``!8`)"0TI#9P)@Q%*M__PL;?_\%A9(C
M@SM#_[8V+?^V4D--[((*%#8P`$B"Q'P`!V86#&T`7_^V9PX,;0`D_[9G!C8\B
M``%@`D)#2D-G`F"\*VW__/_X4JW__"QM__P6%DB#.T/_MC8M_[920TWL@@H4"
M-C``2(+$?``'9A`,;0!?_[9G"`QM`"3_MF8&-CP``6`"0D-*0V<"8+PL;?_\G
M0A9*K(+F9R(O+?_X2'H`,B\L@N9.NA!<3^\`##\\__\O+(+F3KH9,EQ/("W_-
M^$Y=3G5G971?='EP92!\`"5C`'P@+3X@8"5S)PH``$Y5_[I-[?^\*T[__$ZZ(
M_$H[0/^Z-BW_NE)#3>R""A0V,`!(@L1\`!!F"`QM``K_NF8&-CP``6`"0D-*^
M0V<"8,PL;?_\4JW__!RM_[M.NOP*.T#_NC8M_[I20TWL@@H4-C``2(+$?``0U
M9@X,;0`*_[IG!C8\``%@`D)#2D-G`F#`+RR#6C\M_[I.N@_P7$\L;?_\0A9*2
MK(+F9R)(;?^\2'H`J"\L@N9.N@]^3^\`##\\__\O+(+F3KH85%Q/2'H`FTAM&
M_[Q.NA`J4$]*0&8&<`1.74YU2'H`ADAM_[Q.NA`24$]*0&8$<`5@YDIL@V)FE
M%DAZ`&U(;?^\3KH/]E!/2D!F!'`!8,I(>@!?2&W_O$ZZ#^!03TI`9Q)(>@!4P
M2&W_O$ZZ#\Y03TI`9@1P`F"B2'H`1$AM_[Q.N@^X4$]*0&8$<`-@C'``8(AC.
M:&5C:U]N97AT(&`EW_LBM.,
M__).NOHJ.T#__#8M__Q20TWL@@H4-C``2(+$?``09@@,;0`*__QF!C8\``%@*
M`D)#2D-G`F#,+&W_\E*M__(W__
MLBM.__(L;?_R2A9G%"QM__(6%DB#MGP`*&<&4JW_\F#D+&W_\D(68%H6+?^R-
M2(.V?`![9C@_/``!3KKYQ%1/2JR"YF@&P+RR"YDZZ#.)03S\\__\O+(+F3KH5NEQ/2FT`"&<^+&W_KCUM__8`5
M"BQM_ZX=;?_[``5*K(+F9QQ(>@&++RR"YDZZ#*903S\\__\O+(+F3KH5?EQ/F
M("W_KF``_@0,;0`!__IF+@QM``K__&8F2JR"YF<<2'H!>2\L@N9.N@QL4$\_K
M//__+RR"YDZZ%41<3V``_@%F+RR"O
MYDZZ#`I03S\\__\O+(+F3KH4XEQ/2&W_LDZZ]E983RM`_ZXL;?^N/6W_]@`*P
M+&W_KAUM__L`!2QM_ZXO#B\L@UI.N@ED6$\L7SU```Q*K?^J9SY*K(+F9QQ(H
M>@$Z+RR"YDZZ"ZI03S\\__\O+(+F3KH4@EQ/+&W_JB)M_ZX]:0`*``HL;?^J3
M(FW_KCUI``P`#&``_/!G971?;F5X=#H@9F]R7W1Y<&5D968@/2`E9#L@='EP3
M92`]("5D"@!T867H@7&X@+2!S:VEP+"!A;F0@96YT97)R:6YG+@H`9
M+BXN8V]M<&QE=&EN9R!465!%1$5&(%-44E5#5"!T86<*`$Y5__XO+0`(3KH:^
M6%A/.T#__DIL@UYF.#8M__Y(PRQ#W>T`"$AN__Y(>@#63KH*\E!/2D!G&B\MM
M``A(>@#'2&R`=DZZ"A)/[P`,<`!.74YU2JR"YF6$]*0&8*0F=.NOK.5$]@]B\L@UI.NA'`Q
M6$]*;(-@9@8P/``!8`)"0&``_TXN:``\)7,^("T@3F]T(&$@:&5A9&5R(&9II
M;&4*`'-C86Y?9FEL93H@/"5S/@H`<@!.5?_H3>R`8"E.@N9-[(+J*T[_]$)MI
M_^A@``$D+&W_]"M6__!"K?_\2JW_\&<>+&W_\"M6__@L;?_P+*W__"MM__#_?
M_"MM__C_\&#<*VW__/_P0FW_[$)M_^Y*K?_P9P``H%)M_^PL;?_P%BX`#DB#J
M2D-F"#M\``'_ZF`$0FW_ZC8M_^K7;?_N2FW_ZF<(+&W_\$0N``0O+(-6/SP`1
M`3\\``)(;?_H3KH0)D_O``PO+(-6/SP``3\\``HL;?_P2&X`!$ZZ$`I/[P`,%
M2FW_ZF8D+RR#5BQM__`6+@`$2(,_`S\\``$L;?_P2&X`#DZZ#^!/[P`,+&W_<
M\"M6__!@`/]<2JR"YF

R`( M8"E.@N9*K(+F9QQ(>@!H+RR"YDZZ!K)03S\\__\O+(+F3KH/BEQ/8"`Y?``!J M@UY@&#E\``F`0D+P```!D9_!9@&?D68!GM#8M__A(P^6#+&T`"D*V.`!2U M;?_X%BT`"4B#-"W_^+1#;0#_7#`M__I.74YU;&]G9VEN9R!S=&%R=&5D"@``> M3E7_>"\M``H_+0`(3KK_(EQ/.T``"`QM``(`"&Q>2'H!KDAL@'9.N@884$](` M>@&^2&R`=DZZ!@I03TAZ`=1(;(!V3KH%_%!/2'H!Z4AL@'9.N@7N4$](>@']S M2&R`=DZZ!>!03TAZ`A!(;(!V3KH%TE!//SP#Z$ZZ$B!43RMM``K_>%BM_W@LV M;?]X2I9F!C8\``%@`D)#2D-G`F#F2JR"YF"\62'H![R\L@N9.N@6.4 M3^\`##\\__\O+(+F3KH.9%Q/2'H!WRQM_W@O%DZZ!,Y03RE`@U9*K(-69AA(R M>@''2&R`=DZZ!5903S\\`^E.NA&D5$]*K(+F9QQ(>@&\+RR"YDZZ!3A03S\\W M__\O+(+F3KH.$%Q/%BR`5TB#/P-.NA!05$\[0/_\2&R`8$AZ`9I.N@'R4$](, M;?]\3KH"[%A/2,!*@&=(2FW__&<*%BW_?$B#2D-G.$IM__QF"DAM_WQ.N@,<7 M6$](>@%G2&W_?$ZZ!9903TI`9@I-[(!@*4Z"YF"F2&W_?$ZZ^EY83V":2'H!O M14ZZ`NI83T)M__XO+(-6/SP``3\\``)(;?_^3KH,-D_O``Q.NOM@3KK\TB\L3 M@U9.N@S.6$].74YU=7-A9V4Z(&=E;B!S>6UF:6QE(%LM:%T@6RUD70H`("`@2 M("UH("`@('-K:7`@(BYH(B!F:6QE;F%M92!C:&5C:PH`("`@("UD"2`@(&1O\ M;B=T(&-O;7!I;&4@(V1E9FEN92=S"@`@(&!S=&1I;B<@*')E9&ER96-T86)L6 M92D@:7,@6U&:6QE(#PE] MM__P@+?_\)%].74YU3E4``$CG""`D;0`(S M3KH`-C@`L'S__V<.N'P`"F<(+$I2BAR$8.9"$KA\__]F$+7M``AF"G``3-\$O M$$Y=3G4@+0`(8/).50``2&R`2DZZ`%A83TY=3G5.50``+PHD;0`(2A)G("Q*) M4HH6%DB#/P-.N@`@5$^P?/__9@AP_R1?3EU.=6#H`!&5J%BH`#$B#QGP`&&<*R``B1.%A)(@TI#9A`Y?``&@VAP`$S?!!!.74YU< M+RT`#"\*3KH!"%!/2D!G!%R*8-0_*@`$+RT`"$ZZ`;A<3S@`L'S__V8$<`!@Y MRBQM`!`=1``-+&T`$!U\``$`#"`M`!!@LDY5```I;0`(@LY(;0`0+RT`#$AZ? M``Y.N@/"3^\`#$Y=3G5.50``+RR"SC\M``A.N@`(7$].74YU3E4``"\$."T`Y M""\M``H_!$ZZ!Z9<3R@?3EU.=4Y5```O"B1M``H,;?__``AG""Q2O>H`"&((" MR#R#@`V" M!/__+PI.N@\,P M4$\H`$J`9R`O!$ZZ#SY83R\*3KH.PEA/2H!F#$ZZ#M@\`+!\`,UF=DAX`^TO9 M"DZZ#NA03R@`2H1F3#8M``S&?`$`9@1\`6!62'@#[B\*3KH.R%!/*`!*@&8(E M3KH.FCP`8#Q(>``!2'H`?"\$3KH.Z$_O``Q(>/__0J$I M.``V!R#R`.!2V```@!#(M``Q(P4ZZ`XXH`$J`9MA*5 M;0`29P93BA2\`"T@"DS?!!!.74YU3E7_(DCG"#`D;0`()FT`#$)M__HK;0`00 M__PL2U*+%A9(@S@#2D-G``+\N'P`)68``MI"+?\P.WP``?_X.WP`(/_V.WPG% M$/_T+$M2BQ862(,X`[9\`"UF#D)M__@L2U*+%A9(@S@#N'P`,&80.WP`,/_V^ M+$M2BQ862(,X`[A\`"IF&"QM__Q4K?_\.U;_\BQ+4HL6%DB#.`-@-D)M__)@0 M'#8M__+&_``*UD26?``P.T/_\BQ+4HL6%DB#.`,V!%)#3>R""A0V,`!(@L1\E M``1FT+A\`"YF7BQ+4HL6%DB#.`.V?``J9A@L;?_\5*W__#M6__0L2U*+%A9(< M@S@#8#9";?_T8!PV+?_TQOP`"M9$EGP`,#M#__0L2U*+%A9(@S@#-@120TWLO M@@H4-C``2(+$?``$9M`[?``"__"X?`!L9A(L2U*+%A9(@S@#.WP`!/_P8!"XB M?`!H9@HL2U*+%A9(@S@#,`1(P&!X.WP`"/_N8!8[?``*_^Y@#CM\`!#_[F`&& M.WS_]O_N/RW_\$AM_S`_+?_N+RW__$ZZ_=!/[P`,*T#_ZC8M__!(P]>M__Q@W M6BQM__Q8K?_\*U;_ZB\M_^I.N@IR6$\[0/_P8$HL;?_\5*W__#@63>W_+RM.; M_^H4D+P````+9P#_=%F`9[15@&<`_W)7@&<`_W1@Z MS$WM_S"=[?_J.T[_\#8M__"V;?_T;P8[;?_T__!*;?_X9W`L;?_J%A9(@[9\W M`"UG#BQM_^H6%DB#MGP`*V8N#&T`,/_V9B93;?_R+&W_ZE*M_^H6%DB#/P-.8 MDE1/L'S__V8*``F"F8*@*.3KH%%%!/*4"#Y M[$J`9A1"ITAY``.`!TZZ!)Q03RYL@VI.=4AX`!](>@)P3KH$ZE!/*4"#\$J`# M9A!"ITAY``.`!4ZZ!')03V#40J=.N@2:6$\F0$JK`*QG``&2)BL`K.6#*@,LN M128N`!#E@R1#%A)(@TC#UJT`"%2#.4."V$*G-BR"V$C#+P-.N@104$\I0(+>4 M%A)(@S\#2&H``2\L@MY.N@+X3^\`"DAZ`@`6$DB#2,/6K(+>+P-.N@*^4$\V@ M+0`*4D,_`R\M``PO+(+>3KH"AD_O``I";(+6)&R"WA822(-20TWL@@H4-C``& M2(+$?``09P12BF#F%A)(@[9\`"!M,A822(,X`TI#9Q@V!%)#3>R""A0V,`!(; M@L1\`!!F!%**8-XL2E**0A9*1&<&4FR"UF"J0A)"IS8L@M920TC#Y8,O`TZZ4 M`Y103RE`@MIX`"1L@MY@.!822(-20TWL@@H4-C``2(+$?``09P12BF#F=@`V5 M!.6#+&R"VBV*.``O"DZZ`@983U)`2,#5P%)$N&R"UF7"=@`V!.6#+&R"VD*VK M.`!.N@*<*4"#0`@`$Y5= M__Y";?_^/RW__DZZ`0!43U)M__X,;0`*__YMZDJL@@9G!BQL@@9.EDJL@_1G4 M"B\L@_1.N@'L6$]*K(/P9PHO+(/P3KH!W%A/2JR"XF8X-BR"V$C#+P,O+(+>8 M3KH!\E!/-BR"UE)#2,/E@R\#+RR"VDZZ`=Q03S8M``A(PR\#3KH!!EA/8!A.M MN@&^+RR"XDZZ`>I83R`M``@N;(-J3G5.74YU,#Q__V`$,"\`#"!O``1*&&;\O M4T@B;P`(4T`0V5?(__Q"("`O``1.=2!O``0@"")O``@0V6;\3G4@;P`$(`A*I M&&;\D<`@"%.`3G5,[P,```0@"#(O``Q@`A#95\G__%)!8`)"&%')__Q.=4Y50 M``!(YPX@."T`"#8$Q_P`!DWL@W(D0]7.N'P``&T*N'P`$VX$2I)F$#E\``.#V M:'#_3-\$<$Y=3G4V*@`$QGR``&8(+Q).N@`.6$]"DG``8.!.^@`"(B\`!"QLQ M@^Q.[O_<(B\`!"QL@^Q.[O^"(B\`!"QL@^Q.[O^X(B\`!"QL@^Q.[O]P+&R#0 M[$[N_\HL;(/L3N[_?"(O``0L;(/L3N[_*$SO``8`!"QL@^Q.[O^L3.\`!@`$F M+&R#[$[N_^(L;(/L3N[_Q$SO``X`!"QL@^Q.[O_63.\`#@`$+&R#[$[N_[XB^ M+P`$+&R#[$[N_Z9,[P`.``0L;(/L3N[_T$CG`01,[R"```PL;(-N3J[_E$S?8 M((!.=2)O``0L;(-N3N[^8DSO``,`!"QL@VY.[O\Z(F\`!"QL@VY.[O[:+&R#J M;D[N_WPB;P`$("\`""QL@VY.[O\N(&\`!"QL@VY.[OZ,+&R#;B)O``0@+P`(: M3N[]V")O``0L;(-N3N[^ADSO``,`!"QL@VY.[O[.(&\`!"QL@VY.[OZ````#; M[`````$``````````@````````/Q`````@`````````````#\@```^H```"CJ M<@```````````4!>"L`6 M``4"````````,#$R,S0U-C `` end size 11288 SHAR_EOF cat << \SHAR_EOF > read.uu begin 644 read M```#\P`````````#``````````(```;-```!FP````````/I```&S4ZY```(X M^DY5``!(YPP@)&T`"'@`+$I2BA862(,Z`TI#9QHV!.-#N'P``&0&-#P``6`"N M0D*U0S@#NT1@V#`$3-\$,$Y=3G5.5?_R*VT`"/_\+&W__$H69SHL;?_\%A9([ M@U)#3>R""A0V,`!(@L1\``%G&BQM__PO#BQM__P6%DB#/P-.N@2<5$\L7QR`S M4JW__&"^+RT`"$ZZ_VY83SM`__(O+0`(3KH8S%A/.T#_]#8M__+&?``/=``TV M`^6"3>R"TBMV*`#_^$)M__9*K?_X9VHL;?_X-BX`"+9M__)F&"QM__@6+@`$` M2(.V;?_T9@@[?``!__9@!$)M__9*;?_V9RHL;?_X2BX`#F<@+&W_^$AN``XOA M+0`(3KH(*%!/L'P``%?#QGP``3M#__9*;?_V9@HL;?_X*U;_^&"02FW_]F<&U M("W_^&`"<`!.74YU3E7_JD)M_[HO+(,^/SP``C\\``%(;?^X3KH$"$_O``Q*A M;?^X9TXV+?^X4D,_`TZZ$KY43RM`__PO+(,^/SP``3\M_[@O+?_\3KH#V$_O> M``PV+?^X+&W__$(V,``V+?^Z4FW_NDC#Y8--[(-&+:W__#@`8)0O+(,^/SP`# M`C\\``%(;?^Z3KH#G$_O``Q*0&<``+XO+(,^/SP`"C\\``%(;?^J3KH#?D_O. M``P6+?^J2(,[0_^X#&T``/^X;`XV+?^X1$,;0_^J0FW_N#8M_[C6?``0/P-.\ MNA(85$\K0/^T+&W_M%B.0^W_JBS9+-D\V4IM_[AG("\L@SX_/``!%BW_JDB#3 M/P,L;?^T2&X`#DZZ`Q1/[P`,-BW_N$C#+$/=[?^T0BX`#BQM_[0V+?^Z2,/EB M@T/L@M(LL3@`-BW_NDC#Y8--[(+2+:W_M#@`8`#_*$Y=3G5.5?_X#&T``@`(. M;!A(>@"&2&R`=DZZ!?)03S\\``%.NA,`5$\K;0`*__Q8K?_\+&W__$J69@8V! M/``!8`)"0TI#9P)@YDAZ`&,L;?_\+Q9.N@484$\I0(,^2JR#/F8B+&T`"B\N+ M``1(>@!#2&R`=DZZ!9A/[P`,/SP``4ZZ$J143TZZ_BPO+(,^3KH.DEA/83).] M74YU=7-A9V4Z(')E860@;65M9FEL90H`<@!#86XG="!O<&5N(&9I;&4@8"5S] M)PH``$Y5_[8[?/____I(>@%:3KH(2%A/2&W_MDZZ`QA83THM_[9G``$N2&W_] MMDZZ_+I83RM`__9*K?_V9@Q(>@$[3KH#2%A/8,0L;?_V=@`6+@`&.4.%UBQMS M__8Y;@`*A=@L;?_V.6X`#(7:2&R`8$AZ`1-.N@%F4$\V+(764T-T`#0#Y8)-- M[(-&+S8H`$ZZ`OQ83S8M__JV;(769S)*K(-"9PHO+(-"3KH-M%A/2'H`Y#8LE MA=930W0`-`/E@DWL@T8O-B@`3KH#XE!/*4"#0CMLA=;_^DJL@T)F&G8`-BR%? MUN6#3>R#1B\V.`!(>@"H3KH':E!/0F=V`#8LA=@O`R\L@T).N@%B3^\`"D)MQ M__PV+(78MFR%VFMB M__P@+?_\)%].74YU3E4``$CG""`D;0`(3KH`-C@`L'S__V<.N'P`"F<(+$I21 MBAR$8.9"$KA\__]F$+7M``AF"G``3-\$$$Y=3G4@+0`(8/).50``2&R`2DZZS M`%A83TY=3G5.50``+PHD;0`(2A)G("Q*4HH6%DB#/P-.N@`@5$^P?/__9@APC M_R1?3EU.=6#H`!&5J%BH`#$B#C MQGP`&&<*R``B1.E M%A)(@TI#9A`Y?``&A=QP`$S?!!!.74YU+RT`#"\*3KH`V%!/2D!G!%R*8-0_= M*@`$+RT`"$ZZ`8A<3S@`L'S__V8$<`!@RBQM`!`=1``-+&T`$!U\``$`#"`MG M`!!@LDY5```I;0`(@HY(;0`0+RT`#$AZ``Y.N@2"3^\`#$Y=3G5.50``+RR"V MCC\M``A.N@`(7$].74YU3E4``"\$."T`""\M``H_!$ZZ"&9<3R@?3EU.=2)?N MDOP`"B(1TH'2@2A!V?P``(`"0^R"CD7L@HZUR68.,CP`]VL(=``BPE')__PI1 M3X7>+'@`!"E.A>)(YX"`3KH,HE!/3G4P/'__8`0P+P`,4T!K%"!O``0B;P`(V ML0EF#%-(2AA7R/_V<`!.=6,$<`%.=7#_3G5.50``2.<,(#@M``A.N@OL-@3'H M_``&3>R%YB1#U M``Y(PRQ#2&[__R\M``HO$DZZ$+)/[P`,*@"PO/____]F#$ZZ$%HY0(7<R%YB9.>@`V!/__+PI.N@_X4$\H`$J`9R`O!$ZZ$"I83R\*3KH/KEA/? M2H!F#$ZZ#\0\`+!\`,UF=DAX`^TO"DZZ#]103R@`2H1F3#8M``S&?`$`9@1\; M`6!62'@#[B\*3KH/M%!/*`!*@&8(3KH/ACP`8#Q(>``!2'H`?"\$3KH/U$_O[ M``Q(>/__0J$.``V!R%YB1#U@!<3KH!;$_O``PX``QL``&`<&8@3>R"EB8L@I*6CC\#2&R"EA8L@&U(L M@S\#3KH(ZE!/8"!(;(!@3>R"EB8L@I*6CC\#/SP``4AL@I9.N@3P3^\`##`$1 M*!].74YU3E4``"QL@I)2K(*2'*T`"4WL@I8F+(*2EHZV?``H9E`,;``!@'!FB M($WL@I8F+(*2EHX_`TAL@I86+(!M2(,_`TZZ"'I03V`@2&R`8$WL@I8F+(*2Y MEHX_`S\\``%(;(*63KH$@$_O``Q-[(*6*4Z"DC`M``C`?`#_3EU.=4Y5``!(9 MYP@@)&T`#@QM``0`$F8(+&T`""@68!X,;0````QO#"QM``AV`#86*`-@"BQM9 M``@V%DC#*`-";0`2#&T````,;!1$;0`,N+P`````;`A$A#M\``$`$E.*(`0RZ M+0`,2,%.N@.<3>R`.!2V```@!#(M``Q(P4ZZ`XXH`$J`9MA*;0`29P93BA2\H M`"T@"DS?!!!.74YU3E7_(DCG"#`D;0`()FT`#$)M__HK;0`0__PL2U*+%A9(Z M@S@#2D-G``+\N'P`)68``MI"+?\P.WP``?_X.WP`(/_V.WPG$/_T+$M2BQ86% M2(,X`[9\`"UF#D)M__@L2U*+%A9(@S@#N'P`,&80.WP`,/_V+$M2BQ862(,X^ M`[A\`"IF&"QM__Q4K?_\.U;_\BQ+4HL6%DB#.`-@-D)M__)@'#8M__+&_``*) MUD26?``P.T/_\BQ+4HL6%DB#.`,V!%)#3>R""A0V,`!(@L1\``1FT+A\`"YFK M7BQ+4HL6%DB#.`.V?``J9A@L;?_\5*W__#M6__0L2U*+%A9(@S@#8#9";?_T0 M8!PV+?_TQOP`"M9$EGP`,#M#__0L2U*+%A9(@S@#-@120TWL@@H4-C``2(+$- M?``$9M`[?``"__"X?`!L9A(L2U*+%A9(@S@#.WP`!/_P8!"X?`!H9@HL2U*+V M%A9(@S@#,`1(P&!X.WP`"/_N8!8[?``*_^Y@#CM\`!#_[F`&.WS_]O_N/RW_B M\$AM_S`_+?_N+RW__$ZZ_=!/[P`,*T#_ZC8M__!(P]>M__Q@6BQM__Q8K?_\A M*U;_ZB\M_^I.N@IR6$\[0/_P8$HL;?_\5*W__#@63>W_+RM._^H4D+P````+9P#_=%F`9[15@&<`_W)7@&<`_W1@S$WM_S"=[?_J% M.T[_\#8M__"V;?_T;P8[;?_T__!*;?_X9W`L;?_J%A9(@[9\`"UG#BQM_^H6) M%DB#MGP`*V8N#&T`,/_V9B93;?_R+&W_ZE*M_^H6%DB#/P-.DE1/L'S__V8*M M M__I@`/SX,"W_^F``_T(O!$*$2H!J!$2`4D1*@6H&1($*1``!82Q*1&<"1(`H. M'TYU+P1"A$J`:@1$@%)$2H%J!D2!"D0``6$*(`%@VF$$(`%.=4CG,`!(04I!^ M9BA(04)#@,%H#C0`0D!(0(#!-@`P`H#!(@!(0#`#2$!"04A!3-\`#$YU2$%"Q M@G8?XX#CDI2!:Q!2@%'+__1@#N.`XY+4@6KP4``F"F8*8O-C@`3KH%AEA/2H!G!C`\``%@`D)`3EU.[ M=4Y5```O+0`(3KH%0%A/2H!F#DZZ!58Y0(7<@*.3KH%$%!/*4"&8$J`9A1"ITAY: M``.`!TZZ!)A03RYLA=Y.=4AX`!](>@)P3KH$YE!/*4"&9$J`9A!"ITAY``.`Q M!4ZZ!&Y03V#40J=.N@266$\F0$JK`*QG``&2)BL`K.6#*@,L128N`!#E@R1#[ M%A)(@TC#UJT`"%2#.4."Q$*G-BR"Q$C#+P-.N@1,4$\I0(+*%A)(@S\#2&H`# M`2\L@LI.N@+X3^\`"DAZ`@`6$DB#2,/6K(+*+P-.N@*^4$\V+0`*4D,_`R\M[ M``PO+(+*3KH"AD_O``I";(+")&R"RA822(-20TWL@@H4-C``2(+$?``09P12W MBF#F%A)(@[9\`"!M,A822(,X`TI#9Q@V!%)#3>R""A0V,`!(@L1\`!!F!%**< M8-XL2E**0A9*1&<&4FR"PF"J0A)"IS8L@L)20TC#Y8,O`TZZ`Y!03RE`@L9XO M`"1L@LI@.!822(-20TWL@@H4-C``2(+$?``09P12BF#F=@`V!.6#+&R"QBV*1 M.``O"DZZ`@983U)`2,#5P%)$N&R"PF7"=@`V!.6#+&R"QD*V.`!.N@*8*4"%T MYCE\@`"%ZDZZ`L(I0(7L.7R``87P3KH"M"E`A?(Y?(`!A?8Y?``!AEXO+(+&G M/RR"PDZZZMA<3T)G3KH`R%1/8```G$AK`%Q.N@-,6$](:P!<3KH##%A/*4""! MSBQL@LY*K@`D9Q`L;(+.(FX`)"\13KH!_EA/+&R"SDJN`"!G3$AX`^TL;(+.> M+RX`($ZZ`C!03RE`A>9*@&0`@`$Y5__Y";?_^/RW_W M_DZZ`0!43U)M__X,;0`*__YMZDJL@@9G!BQL@@9.EDJLAFAG"B\LAFA.N@'H[ M6$]*K(9D9PHO+(9D3KH!V%A/2JR"SF8X-BR"Q$C#+P,O+(+*3KH![E!/-BR"O MPE)#2,/E@R\#+RR"QDZZ`=A03S8M``A(PR\#3KH!`EA/8!A.N@&Z+RR"SDZZG M`>983R`M``@N;(7>3G5.74YU,#Q__V`$,"\`#"!O``1*&&;\4T@B;P`(4T`0X MV5?(__Q"("`O``1.=2!O``0@"")O``@0V6;\3G4@;P`$(`A*&&;\D<`@"%.`8 M3G5,[P,```0@"#(O``Q@`A#95\G__%)!8`)"&%')__Q.=4Y5``!(YPX@."T`, M"#8$Q_P`!DWLA>8D0]7.N'P``&T*N'P`$VX$2I)F$#E\``.%W'#_3-\$<$Y=! M3G4V*@`$QGR``&8(+Q).N@`*6$]"DG``8.`B+P`$+&R&8$[N_]PB+P`$+&R&R M8$[N_X(B+P`$+&R&8$[N_[@B+P`$+&R&8$[N_W`L;(9@3N[_RBQLAF!.[O]\9 M(B\`!"QLAF!.[O\H3.\`!@`$+&R&8$[N_ZQ,[P`&``0L;(9@3N[_XBQLAF!., M[O_$3.\`#@`$+&R&8$[N_]9,[P`.``0L;(9@3N[_OB(O``0L;(9@3N[_IDSO` M``X`!"QLAF!.[O_02.).KO^43-\@@$YU(F\`!"QLA>).T M[OYB3.\``P`$+&R%XD[N_SHB;P`$+&R%XD[N_MHL;(7B3N[_?")O``0@+P`(. M+&R%XD[N_RX@;P`$+&R%XD[N_HPL;(7B(F\`!"`O``A.[OW8(F\`!"QLA>).> M[OZ&3.\``P`$+&R%XD[N_LX@;P`$+&R%XD[N_H````/L`````0`````````"Y M`````````_$````"``````````````/R```#Z@```*-R``````!R*P````)W# M`````P%W*P```P)A````"0%A*P``"0)X````!0%X*P``!0(````````P,3(S; M-#4V-S@Y86)C9&5F```````````````````!``````$`````````````````> M`````0$````!``````````````````````$"`````0``````````````````' M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M`````````````````"`@("`@("`@(#`P,#`P("`@("`@("`@("`@("`@("`@0 MD$!`0$!`0$!`0$!`0$!`0`P,#`P,#`P,#`Q`0$!`0$!`"0D)"0D)`0$!`0$!$ M`0$!`0$!`0$!`0$!`0%`0$!`0$`*"@H*"@H"`@("`@("`@("`@("`@("`@("P 9`D!`0$`@```````#\@```^L````````#\@H"& `` end size 7720 SHAR_EOF # End of shell archive exit 0