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: $ genstuff 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(&`E W_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"@!T86 '0@9F]R('1Y<&5D968@8V]M<&QE=&EO;CL@9&]N* M92X*`"-D969I;F4@4UE-0D],7&X@+2!N;R!S:VEP+"!A;F0@9&]N92X*`"-D0 M969I;F4@4UE-0D],("XN(%QN("T@ 7H@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] M M__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`&&<*],WP003EU.=0(J`/L`#$JJ% M``AF""\*3KH*^EA//RH`$"\J``@6*@`-2(,_`TZZ`YA03S@`L'P``&X22D1FP M!'8(8`)V$( 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`"&((" M\D7TY=3G53DBQ2'*T`"3`M``A@[")?DOP`"B(1TH'2@2A!V?P``(`"0^R"I MCD7L@HZUR68.,CP`6FL(=``BPE')__PI3X-J+'@`!"E.@VY(YX"`3KH+LE!/Q M3G4P/'__8`0P+P`,4T!K%"!O``0B;P`(L0EF#%-(2AA7R/_V<`!.=6,$<`%.0 M=7#_3G5.50``2.<,(#@M``A.N@K\-@3'_``&3>R# R# @`V" M!\``9*LS@`9PY21;I\`!1M['P(8```M#8M``S&?`(`9S)(>/__+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!\``8L0]W+/6T`#``$-BT`#,9\"`!G$$AX``%"IR\$3KH.8D_O``PP, M!6#```!.50``2.<,(#@M``A.N@DZ-@3'_``&3>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*],WPP03EU.=6`6/RW_]DZ25$^P?/__9@1P_V#D4FW_^C8MO M__)3;?_RMFW_\&[<0FW_[F`@+&W_ZE*M_^H6%DB#/P-.DE1/L'S__V8$]@C ML%)M_^XL;?_J2A9G"C8M_^ZV;?_T; ``F"F8*],WP003EU.=4HJ``QG7A8J``Q(@\9\``1G##\\T M__\O"F%<7$\X`!8J``U(@S\#3KH'IE1/B$`6*@`,2(/&?``"9PHO*@`(3KH"( M.%A/%BH`#$B#QGP`(&<4+RH`$DZZ`IA83R\J`!).N@(86$]"DD*J``1"J@`(S M0BH`##`$8().5?_^2.<(("1M``A-^O\X*4Z"`A8J``Q(@\9\`!!G"G#_3-\$/ M$$Y=3G46*@`,2(/&?``$9S`F$I:J``@X`S\$+RH`"!8J``U(@S\#3KH"3E!/B ML$1G$``J`!``#$*20JH`!'#_8+P,;?__``QF$`(J`/L`#$*20JH`!'``8*1*N MJ@`(9@@O"DZZ`)I83PQJ``$`$&8J&VT`#?__/SP``4AM__\6*@`-2(,_`TZZ= M`?!03[!\``%FH#`M``Q@`/]F)*H`"#8J`!!(P]:J``@E0P`$`"H`!``,+%)2` MDA`M``T<@$B`P'P`_V``_SI.50``+PI-[(!*)$Y**@`,9QC5_````!9-[(("( MM @*.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%VF MB 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`&&<*],WP003EU.=0(J`/L`#$JJ``AF""\*3KH+NEA//RH`$"\J``@6A M*@`-2(,_`TZZ`VA03S@`L'P``&X22D1F!'8(8`)V$( 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<]@6 MR$*G0J R%YB9.>@`V!\``9*LS@`9PY21;I\`!1M['P(8```- MM#8M``S&?`(`9S)(>/__+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!\``8L0]W+/6T`#``$-BT`#,9\8 M"`!G$$AX``%"IR\$3KH/3D_O``PP!6#```!.50``2.<,(#@M``A.N@HJ-@3'( M_``&3>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],WPP03EU.=6`6/RW_]DZ25$^P?/__9@1P_V#D4FW_^C8M__)3;?_RMFW_D M\&[<0FW_[F`@+&W_ZE*M_^H6%DB#/P-.DE1/L'S__V8$]@L%)M_^XL;?_J] M2A9G"C8M_^ZV;?_T; 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*],WP003EU.=4HJ``QG7A8J``Q(@\9\``1G##\\__\O"F%<7$\X; M`!8J``U(@S\#3KH'IE1/B$`6*@`,2(/&?``"9PHO*@`(3KH".%A/%BH`#$B#G MQGP`(&<4+RH`$DZZ`IA83R\J`!).N@(86$]"DD*J``1"J@`(0BH`##`$8().9 M5?_^2.<(("1M``A-^O\X*4Z"`A8J``Q(@\9\`!!G"G#_3-\$$$Y=3G46*@`,] M2(/&?``$9S`F$I:J``@X`S\$+RH`"!8J``U(@S\#3KH"3E!/L$1G$``J`!``] M#$*20JH`!'#_8+P,;?__``QF$`(J`/L`#$*20JH`!'``8*1*J@`(9@@O"DZZJ M`)I83PQJ``$`$&8J&VT`#?__/SP``4AM__\6*@`-2(,_`TZZ`?!03[!\``%F? MH#`M``Q@`/]F)*H`"#8J`!!(P]:J``@E0P`$`"H`!``,+%)2DA`M``T<@$B`= MP'P`_V``_SI.50``+PI-[(!*)$Y**@`,9QC5_````!9-[(("M 8O-C@`3KH%AEA/2H!G!C`\``%@`D)`3EU.[ M=4Y5```O+0`(3KH%0%A/2H!F#DZZ!58Y0(7<].74YU<`!@^$Y5``!(YPP@. M."T`"$ZZ`'0V!,?\``9-[(7F)$/5SKA\``!M"KA\`!-N!$J29A`Y?``#A=QP9 M_TS?!#!.74YU-BH`!,9\``-F"CE\``:%W'#_8.1V`#8M``XO`R\M``HO$DZZ\ M!41/[P`,*@"PO/____]F#$ZZ!-(Y0(7<]@N"`%8+1.5?_\2'@0`$*G3KH%S MI%!/*T#__,"\```0`&8&<`!.74YU2FR&7F8&("W__P2'@`!$AZ`!Q.N@2\' M+P!.N@3F3^\`##\\``%.N@`*5$]@SEY#"@!.50``2JR"`F<&+&R"`DZ6/RT`K M"$ZZ`L)43TY=3G5.5?_\2.<.,$AX`!](>@*.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