Path: utzoo!attcan!uunet!husc6!bloom-beacon!gatech!purdue!i.cc.purdue.edu!j.cc.purdue.edu!ain From: ain@j.cc.purdue.edu (Patrick White) Newsgroups: comp.binaries.amiga Subject: Very Tiny Prolog (binaries) Keywords: prolog, tested, 1of1 Message-ID: <7077@j.cc.purdue.edu> Date: 15 May 88 23:00:16 GMT Organization: PUCC Land, USA Lines: 575 Approved: ain@j.cc.purdue.edu (Patrick White) Submitted by: jdm@gryphon.cts.com (John Mesiavech) Summary: a tiny prolog interpreter. Poster Boy: Patrick White (ain@j.cc.purdue.edu) Archive Name: binaries/amiga/volume5/prolog.b.sh.Z tested. NOTES: Converted it from arc to shar. It dosen't do everything CProlog can do, but it works. -- Pat White (co-moderator comp.sources/binaries.amiga) ARPA/UUCP: j.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: # prolog.doc # prolog.uu # This archive created: Fri May 13 14:49:58 1988 # By: Patrick White (PUCC Land, USA) echo shar: extracting prolog.doc '(2792 characters)' cat << \SHAR_EOF > prolog.doc VT-PROLOG - Very Tiny Prolog VT-PROLOG is a simple prolog interpreter provided with full source code to encourage experimentation with PROLOG. Loading a data base 1. You may enter rules and queries directlty from the keyboard. The syntax of both queries and rules is described below. Be sure to terminate all queries, rules and commands with a period. 2. Data bases may be stored as ASCII text files. To read a text file type the command: @ filename . where filename is a legitimate DOS filename, the default extension is 'PRO'. If the filename contains a ':', '.' or a '\' then it must be enclosed in single quotes. For example, the following are legitmate file commands: @ wine . @ 'df0:wine.pro' . @ 'df1:prolog/test/wine' . 3. VTPROLOG will read and compile the text file. Any queries included in the file will be executed just as if they had been typed from the keyboard. 4. Data base files may contain commands to read to other data base files. Terminating VTPROLOG 1. To exit VTPROLOG, type : EXIT . Don't forget the period. VTPROLOG Grammar The following BNF describes the syntax of VTPROLOG rules and queries: sentence ::- rule | query | command rule ::- head '.' | head ':-' tail '.' query ::- '?-' tail '.' command ::- '@' file_name '.' head ::- goal tail ::- goal | goal ',' tail goal ::- constant | variable | structure constant ::- {quoted string} | {token beginning with 'a' .. 'z'} variable ::- {identifier beginning with 'A' .. 'Z' or '_' } structure ::- functor '(' component_list ')' functor ::- {token beginning with 'a' .. 'z'} component_list ::- term | term ',' component_list term ::- goal | list list ::- '[]' | '[' element_list ']' element_list ::- term | term ',' element_list | term | term file_name ::- {legitimate DOS file name, must be surrounded with single quotes if it contains a '.',':' or '\'} Constant, variable or functor names may be up to 80 characters in length. Constants beginning with capital letters or containing imbedded blanks, commas, paraenthesis or periods must be surrounded by single quote marks. Lists begin with '[' and end with ']'. Components separated by commas and may be constants variables, structures or other lists. Good luck with VTPROLOG. We would be very interested in hearing of your experiments, enhancements or even (gasp) bugs that you may find. Please write to us with your comments or questions. Bill and Bev Thompson C/O AI Expert Magazine 650 5th St. Suite 311 San Francisco, CA 94107 SHAR_EOF if test 2792 -ne "`wc -c prolog.doc`" then echo shar: error transmitting prolog.doc '(should have been 2792 characters)' fi echo shar: extracting prolog.uu '(28657 characters)' cat << \SHAR_EOF > prolog.uu begin 600 prolog M```#\P`````````#``````````(```H1```(A@```?X```/I```*$4CG?OY+@ M[P`T)$@D`$GY`````"QX``0I3@!`*4\`3$*L`$B3R4ZN_MHF0"EK`)@`.$JK] M`*QG``!P(`V0K0`$!H````"`*4``!&$``7H@:P"LT``$(FP$5$ZN_F)*K`1<9P@B;`1<3J[^8DJL!&!G"")L!&!.KOYB2JP`4 M6&<((FP`6$ZN_F)*K`!(9R0B+``\9P1.KO_<(BP`4&<$3J[_W"QX``1.KO]\= M(FP`2$ZN_H8@'RYL`$Q,WW]^3G5P9&"`0>L`7$ZN_H!!ZP!<3J[^C$YU0^P`< M7'``3J[]V"E`!%1GVDYU``!(YS`R+'D```18(&\`&")O`!PD;P`@)F\`)"`O# M`"@B+P`L)"\`,"8O`#1.KOZD3-],#$YU3E7__$CG(`!P`"E``!A*K0`(:R0DE M+0`(M*P#P&P:(@+G@4'L!K@B2-/!2I%G"B("YX'1P2`(8`AP"2E``O1P`$S?` M``1.74YU`^L````````````````:>AIB.4`:>BM`3E7_^"\M``A.NO^66$\K5 M0/_X2H!F!'#_8#8@;?_X""@``@`#9P9P`""`8"1"K?_\+R@`!$ZZ)))83TJL* M`!AG!G#_*T#__"!M__A"D"`M__Q.74YU2JP$6&820^P"X'``+'@`!$ZN_=@I3 M0`18*6P`5`*42'@`*$AX`/IP`"\`+P!(;`+,+P!(;`*R+P!.NO[>3^\`($AX5 M`!1.NB'"6$].=2`M__Q.74YU`"+B`$Y5__1(YP`@1>P#)+3\``!G-@@J``(`A M&V8J""H``0`;9R(@*@`$D*H`$"M`__A*@&<2+P`O*@`0+RH`'$ZZ$4)/[P`,Q M)%)@Q"\M``A.NB%B6$],WP0`3EU.=0```"*9($[Y<&%.5?_T(&T`"`@H``$`< M&V<2+PA(>/__3KH5'%!/*T#__&`&<``K0/_\(&T`""`H`!@"@`````Q*@&84* M2J@`%&<.+R@`%"\H`!!.N@FF4$\@;0`(+R@`'$ZZ_IA83RM`__@,K?______& M_&<$2H!G!'#_8`)P`$Y=3G5.50``(&T`"`@H``8`&V/__3KH4I%!/U M0>P#)")M``BSR&8.2&P#1DAX__].NA2*4$\@;0`(4Z@`""`H``A*@&L.(F@`/ M!%*H``1P`!`18`@O"$ZZ$KQ83TY=3G5.5?_X0>P#)"M(__Q*K?_\9QH@;?_\T M2J@`&&<0*VW__/_X(&W__"M0__Q@X$JM__QF+$AX`").N@'H6$\K0/_\2H!F= M!'``8"@@;?_X(*W__'`A<@`@;?_\$,%1R/_\+RW__"\M``PO+0`(80A/[P`,. M3EU.=4Y5_^X@;0`02J@`&&<(+PA.NOZB6$\K;`,@__0K;0`,__`@;?_P$"@`. M`0)``/\,0`!B9PP,0`!A9A)"K?_T8`@K?```@`#_]%*M__`@;?_P#"@`*P`!V M5\!$`$B`2,`@;0`,$A`"00#_&T#_[PQ!`'=G``":#$$```,+SP``($"+RT`"$ZZ!4Y/[P`,*T#_^%*`9@9P`&```/Q*+?_O9P@@/```7 M`(!@`G`"`(```$``*T#__&```*!*+?_O9P1P`F`"<```@```@`!(>``,+P`OX M+0`(3KH$_D_O``PK0/_X4H!F!G``8```K$HM_^]G""`\````@&`"<`$K0/_\. M8%9*+?_O9P1P`F`"<`$`@```@```@````0``@````@!(>``,+P`O+0`(3KH$Y MJD_O``PK0/_X4H!F!'``8%A*+?_O9P@@/````(!@`G`"*T#__&`$<`!@/I'(O M(FT`$"-(`!`C2``4(VW_^``<(VD`$``$(T@`#"-(``A*K?_T9P0@"&`&(#P`% M`(``(BW__(*`(T$`&"`)3EU.=:^Y`"*:>G!A3E4``"\M``AA!EA/3EU.=4Y5T M_^Q(YP,@+BT`"$J';@9P`&```,0,AP````AL`GX((`<@!U:`Y(#E@"X`0>P#3 MN"10*TC_^+3\``!G3B(J``2RAVT^LH=F$B!2(FW_^"*(GZP#O"`*8```@"`J@ M``20APR`````"&T:($H@2M''()(A0``$(FW_^"*(GZP#O"`*8%8K2O_X)%)@5 MK"`'(BP$9"`'T(%3@$ZZ'"PB+`1D3KH=`%"`+``@!B`&5H#D@.6`+``O!DZZ/ M`;Y83RM`__!*@&<4+P8O`$ZZ!CI03R\'80#_,%A/8`)P`$S?!,!.74YU`&%FS M``#>2'@`#"\\3E4``"(M``@,@0```#!M#`R!````.6X$<`%@`G``3EU.=0``N M3E7_]B\M``A.NOIN6$\K0/_V2H!F!'#_8"HO+0`0+RT`#"!M__8O*``$3KH>W ME$_O``PK0/_Z2JP`&&<$6$\K% M0/_\2H!F!'``8!8K;?_\__@@;?_X(*T`""!M__Q8B"`(3EU.=4Y5``!*K0`(8 M9Q!"IV&.6$\@;0`(68@I2`78<`!.74YU3E7_]$CG,`!*K0`,9@HO+0`(8P%V&<(9 M0J=A`/\V6$\O+0`,80#_+%A/*T#_^$J`9S`D+0`,)BW_]+:"8P0K0O_T("W_R M]"(`(&T`"")M__A@`A+84X%D^B\M``AA`/]86$\@+?_X3-\`#$Y=3G5.5?_XU M("T`"`:`````#"]````@+P``<@`L>``$3J[_.BM`__Q*K?_\9@1P`&`T("T`' M"`:`````#"!M__PA0``(+PA(;`7<80`!"%!/2JP#K&8&*6W__`.L(&W__-#\% M``P@"$Y=3G5.5?_\+RT`"&&06$\K0/_\2H!F!C!\__\@"$Y=3G5.5?_X2.``$3J[_+BMM__C_K M_D<@I2`7@*4@%W$Y=3G5.50``2.<`(")M``@@:0`$(FT`#"-(``21R"*($ M)&T`"$J29@(DB4JJ``1G!B!J``0@B25)``1,WP0`3EU.=0``@```@````0``V M@````@!(>``,+P`O+0`(3KH$JD_O<&%.5?_F2.<@`$(M__]"K``8*VP"]/_RN M<`,K0/_V(BW_]K*L`\!L%"`!YX!![`:XT&WP``?__*6W_\@+T+RW_[B\M``A.NAM@4$\K4 M0/_J2BW__V=$("T`#`*`````\$J`9S9*K?_J:S`O+?_J3KH;&%A/2'@#[2\MI M``A.NAJ^4$\K0/_J8!)(>`/M+RT`"$ZZ&JI03RM`_^I*K``89P1P_V`2(&W_& MYB"M__HA;?_J``0@+?_V3-\`!$Y=3G5.50``("T`#"(``H$``(```($```,!L M`H#__W__+P`O`2\M``AA`/X83^\`#$Y=3G4``"-(``A*K7!A3E4``%*L!>A3, MK`-2("P#4DJ`:Q0@;`-*4JP#2B`M``@0@'(`$A!@&"`M``@"@````/](;`-&3 M+P!.N@O24$\B`$Y=3G5.50``0JP%Z$AM``PO+0`(2'K_JDZZ%:Q/[P`,2&P#; M1DAX__].N@NB4$\@+`7H3EU.=0``3E7_^"\M``A.NO3F6$\K0/_\2H!F!'#_/ M8"HO+0`0+RT`#"!M__PO*``$3KH8;$_O``PK0/_X2JP`&&<$(E(F;?_T)HD@*@`$(@#2' MAR=!``0B;?_X(HMP`&!H(FW_]+/(9`B?K`.\P0@%*L!>Q.74YU3E4``$*L!?`I;0`(!>Q(;0`0+RT`#$AZ_\Y.> MNA/@3^\`#"!L!>Q"$"`L!?!.74YU``!.5?_P2.<@`'``*T#__"M`__@K0/_PH M(&T`"!(0#`$`+68,<`$K0/_X*T#_\&`,#`$`*V8&<`$K0/_X<``@;0`((BW_& M^!`P&``O`$ZZ^$183TJ`9RH@+?_\<@I.NA3H(BW_^%*M__AT`"!M``@4,!@`N MT(($@````#`K0/_\8+Q*K?_P9P1$K?_\(&T`#""M__P@+?_X3-\`!$Y=3G5.5 M5?_X(&T`""M(__Q*K0`,:@P0O``M4JW__$2M``PO+0`,+RW__$ZZ`X103R]`4 M```@+?_\D*T`""(O``#2@"`!3EU.=4Y5__)(YP`@0BW_^W`(*T#__%.M__P@$ M+0`,(@`"@0````]![`+XT<$B+?_\&Y`8\^B`*T``#`*`#____RM```Q*K0`,- M9LQ![?_ST>W__")()&T`"!399OQP")"M__Q,WP0`3EU.=4Y5```O+0`,+RT`1 M"&&,4$].74YU``!.5?_P2.<@('`+*T#_\$(M__]3K?_P("T`#"(``H$````'Y M!H$````P)"W_\!N!*/3F@"M```P"@!____\K0``,2JT`#&;,0>W_]-'M__`B& M2"1M``@4V6;\<`N0K?_P3-\$!$Y=3G5.50``+RT`#"\M``AAC%!/3EU.=0``A M3E7_^$*M__P@;0`(T>W__"\M``PO"$ZZ`$A03RM`__A*@&86(&T`""(M__P0W M,!@`2@!G!E*M__Q@SDJM__AF""!M`!!"D&`.(&T`"-'M__PB;0`0(H@@+?_X[ M3EU.=0``3E7_Y$CG,`!P`"M`__PK0/_T<``@;0`,(BW_]!`P&``K0/_L*T#_J M\$J`9P`!V'0`%#`8`2M"_^@,@````#]F!G8`*T/_[`R`````7&8@2H)G'%*MA M__1R`"0M__02,"@`=@`6,"@!*T'_["M#_^@,@````"MG"`R`````*F8,<@`K/ M0/_H*T'_[&`8(BW_Z`R!````*V<(#($````J9@12K?_T(BW_Z`R!````*V8ZT M(&T`""0M__P0,"@`2@!F!G``8``!1DJM_^QF!E*M__Q@&%*M__QP`!`P*``F. M+?_LL(-G!G``8``!(@R!````*V<*#($````J9@``F"MM__S_^$JM_^QF%B!M^ M``@B+?_\$#`8`$H`9R!2K?_\8.IP`"!M``@B+?_\$#`8`+"M_^QF!E*M__Q@T MYB!M``PB+?_T$#`8`4H`9@@@+?_\8```O"(M__RRK?_X;30@;0`(T<$B;0`,Y MT^W_]%*)+PDO"&$`_I)03RM`_^1*@&<,(BW__-*`(`%@``"$4ZW__&#"<`!@F M>$JM_^QG&G``(&T`""(M__P0,!@`)BW_[+"#9P1P`&!82JW_[&9"(&T`""(MT M__P0,!@`2@!F,B!M``PB+?_T$#`8``P``#]F!E*M__1@Z"!M``PB+?_T$#`8, M`$H`9@8@+?_\8!1P`&`04JW_]%*M__Q@`/X0("W__$S?``Q.74YU3E7_\$CG: M`"!P"RM`__!"+?__4ZW_\"`M``QR"DZZ$#0&@0```#`@+?_P&X$(]"`M``QR( M"DZZ$!PK0``,2JT`#&;00>W_]-'M__`B2"1M``@4V6;\<`N0K?_P3-\$`$Y=/ M3G4``$Y5__A(YP$`(&T`#$H89OQ3B)'M``PN""!M``A*&&;\4XB1[0`((`@B) M;0`(T\`K2?_X(BT`$+Z!8P(N`2`'(&T`#&`"$MA3@&3Z(&W_^$(P>``@+0`(E M3-\`@$Y=3G4``$Y5__Q*K0`09S`@;0`(2A!G*")M``Q*$6<@<``0$%*M``AR9 M`!(14JT`#)"!*T#__$J`9B93K0`08,I*K0`09Q@@;0`(2A!G!'`!8`X@;0`,- M2A!G!'#_8`)P`$Y=3G4``$Y5__PK;0`(__P@;?_\2A!G&'``$!`O`$ZZ`!I8' M3R!M__P0@%*M__Q@X"`M``A.74YU```@+P`$#```86T*#```>FX$!```($YUZ M``!.5?_X+RT`"$ZZ[6I83RM`__A*@&8$T`#"M(__(@;0`($!!2K0`(&T#_. M_TH`9P`!4@P``"5F``$,(&T`"!(04JT`"!M!__\"00#_P`(Z M9O1.^P`$`&1@``!P`'A@```<`'!@```6`'-@```"(&W_\BM0_]Q8K?_R8'`@$ M;?_R*U#_X%BM__)![?_L<`/__3KH",E!/("W_: M^DY=3G4``$Y5__A(YR``(&T`"$H89OQ3B)'M``@K2/_X<``@;0`($!!2K0`(A M*T#__$J`9S)3K`-2(BP#4DJ!:Q`@;`-*4JP#2A"`<@`2$�`H````#_2&P#V M1B\`3KH!S%!/(@!@NDAL`T9(>/__3KH!NE!/("W_^$S?``1.74YU``!.5?_V[ M2.<@("1M``@@*@`8(@`"@0``@`!6PD0"2()(PB(``H$````P&T+__TJ!9PI"O MJ@`(<`(O`$AL`QPO*@`<*T#_\$ZZ^M1/[P`,*T#_^&`<<`$O`$AM__\O*@`<7 M*T#_\$ZZ^K9/[P`,*T#_^'#_*T``"&```/P(Z@`!`!M*+?_^9U8B+0`(#('_> M____9TI4J@`,#($````*9B(@:@`$4JH`!!"\``U*J@`,:PPO"DAX__]A`/Y\' M4$]2J@`,(&H`!%*J``0@+0`($(!*J@`,:P`!4'#_*T``""`J``20J@`0*T#_Z M\$J`9P``@@@J``8`&F=>2'@``D*G+RH`'$ZZ[19/[P`,*T#_[$HM__YG0E.MB M_^P@+?_L2H!K-D*G+P`O*@`<3KKL\$_O``Q(>``!2&W__2\J`!Q.NO)D3^\`, M#$JL`!AF#!`M__T,```:9\!.<2\M__`O*@`0+RH`'$ZZ^;I/[P`,*T#_^&`&' M<``K0/_X(BW_^`R!_____V8(".H`!0`;8`RRK?_P9P8(Z@`$`!M*+?_^9PX@B M*@`4(@!$@25!``Q@&`@J``(`&V<(<``E0``,8`@@*@`4)4``#"!J`!`E2``$P M(BT`"`R!_____VP%_"E(!?A*K`7T9@``AD'L`Y`B2$?L!GPFR MV2;9)MDFV3:1)FP`2")K`"1(>``H+RD`!$AL!GQ.NO:43^\`#$'L!GPB""0\W M```#[BQL!%1.KO_B*4`&O"`L!KPI0`;$<@0I00;`*4`&S"E!!LCE@"M`__"35 MR2QX``1.KO[:*T#_]"!M__`B;?_T(V@`"`"D?@!@,BQL!%1.KO_**4`&O"QL@ M!%1.KO_$*4`&Q$'L`Z(B""0\```#[2QL!%1.KO_B*4`&S'X$(`<@!P"```"`N M`8&L!K@@!R`'`(```(`"@:P&P`"L``"``P;(2JP#(&<$<`!@!B`\``"``"X`0 M0JP#0"`'(`<`@`````$I0`,\<`$I0`-B(`<@!P"``````BE``UYP`BE``X0@# M!R`'`(````"`*4`#@$'Z!VXI2``P+RP%^"\L!?1.N@`B4$]"ITZZY0I83TS?2 M#(!.74YU``#_]`R!_____V8$<`!.^0`````$!$Y=3G5.5?_$2.<@('``&WP`I M(/_[<@`K0?_V=/\K0O_R0>W_T!M`__$;0/_\&T#__1M`__X;0/__*T'_Y"M!? M_^@K2/_,(&T`"$H09U00$`)``/]R&%U!:TBP>Q`(9O9.^Q`$`"-@```L`"!@V M```>`"M@```0`"U@```"&WP``?__8!@;?``!__Y@$!M\``'__6`(&WP``?_\J M3G%2K0`(8*0@;0`($A`,`0`P9@H;?``P__M2K0`((&T`"`P0`"IF$B)M``P@$ M45B1*U#_]E*M``A@$$AM__8O"$ZZ[]903]&M``@@;0`($A`,`0`N9C!2K0`(# M(&T`"`P0`"IF$B)M``P@45B1*U#_\E*M``A@$$AM__(O"$ZZ[YI03]&M``@@> M;0`($A`,`0!L9@P;?``!__%2K0`(8`H,`0!H9@12K0`((&T`"!`04JT`"!M`X M__`"0`#_Q`(9O1.^Q`$`&-@``)$`'-@``'\`%A@``&*`'A@Y M``&$`'!@``%L`&]@``$:`'5@``#P`&1@```"2BW_\6<,(FT`#"!16)$@$&`*@ M(FT`#"!16)$@$"M`_^Q*@&H*<@%$K?_L*T'_Z$JM_^AG!'`M8`Q*+?_^9P1P\ M*V`"<"`;0/_0<``0+?_^(BW_Z(*`<``0+?_]@H!*@6<(4JW_S%*M_^0O+?_L! M+RW_S$ZZ\O)03RM`_\A*K?_R:@9P`2M`__(@+?_((BW_\I*`*T'_Q$J!;S(@J M;?_,(DC3P2(`)$A@`A+:4X%D^G``$"W_^R(M_\0@;?_,8`(0P%.!9/H@+?_RW M*T#_R-&M_^1![?_0*TC_S$HM__]G``%<&WP`(/_[8``!4DHM__%G#")M``P@` M45B1(!!@"B)M``P@45B1(!`K0/_L8`#_7DHM__%G#")M``P@45B1(!!@"B)M$ M``P@45B1(!`K0/_L2BW__&<2(&W_S!"\`#!2K?_,<@$K0?_D+P`O+?_,3KKO$ M+%!/*T#_R&``_R0;?``P__M*K?_R:@9P""M`__)*+?_Q9PPB;0`,(%%8D2`0L M8`HB;0`,(%%8D2`0*T#_[$HM__QG'B!M_\P0O``P4JW_S"!M_\P0O`!X4JW_4 MS'("*T'_Y"\`+RW_S$ZZ[D903RM`_\@,+0!8__!F`/ZT2&W_T$ZZ\KI83V``) M_J8B;0`,(%%8D2)0*TG_S++\``!F"$'L`Z@K2/_,(&W_S$H89OQ3B)'M_\PKG M2/_D2JW_\FLN(BW_\K'!;R8K0?_D8"!P`2M`_^0B;0`,(%%8D2`0&T#_T$(M_ M_]%@!G``8```J"(M_^0D+?_VM(%L"'``*T#_]F`$DZW_]DHM__]G0E.M_^0@9 M+?_D2H!K&'``(&W_S!`04JW_S"\`(&T`$$Z06$]@W%.M__8@+?_V2H!K5'``, M$"W_^R\`(&T`$$Z06$]@XE.M__8@+?_V2H!K$G``$"W_^R\`(&T`$$Z06$]@@ MXE.M_^0@+?_D2H!K&'``(&W_S!`04JW_S"\`(&T`$$Z06$]@W"`M``A,WP0$) M3EU.=4Y5__8K;0`0__8@;0`,$!!2K0`,&T#__TH`9W8,```E9C`@;0`,#!``C M)68&4JT`#&`@+RT`"$AM__8O"&$`^TQ/[P`,*T#_^DJ`9P8K0``,8+A*K``TG M9R8(+0`'__]G'G``$"W__R\`(&T`"$Z06$\@;0`,$!!2K0`,&T#__W``$"W_) M_R\`(&T`"$Z06$]@`/]Z3EU.=0``````(G!A2H!J```>1(!*@6H```Q$@6$`_ M`"!$@4YU80``&$2`1(%.=4J!:@``#$2!80``!D2`3G4O`DA!-`%F```B2$!(H M04A"-`!G```&A,$P`DA`-`"$P3`"2$(R`B0?3G4O`W80#$$`@&0```;AF5%#7 M#$$(`&0```;IF5E##$$@`&0```;EF55#2D%K```&XYE30S0`YJA(0D)"YJI(` M0X#!-@`P`C0#2$'$P9""9```"%-#T(%D_G(`,@-(0^>X2$##0"8?)!].=2YY& M````3$ZY```"P"\\````%$ZY```#&"!"(D,D`"8!2$)(0\3!QL#`P=1#2$)", M0M"")@DD"$YU(&\`"")O``1*&6;\4XD2V&;\("\`!$YU(&\`!")O``@2&+(9" M9@A*`6;V<`!.=6X$ M^$CG,0)*K``P9P1.NOZL0JP`&"`M`!!3@"]``!`B+0`()"T`#"8O`!`L;`14; M3J[_OBX`#(?_____9A(L;`143J[_?"E``!AP%BE``O0@+0`0#(`````"9QP,U M@`````%G"DJ`9B(@+0`,8!P@!R`'T*T`#&`2(BT`"'0`=@`L;`143J[_ODYQ+ M3-]`C$Y=3G4``$Y5__Q(YP$`2JP`,&<$3KK^&$*L`!@B+0`()"T`#"QL!%1.: MKO_B+@!*AV86+&P$5$ZN_WPI0``8<`(I0`+T+0`+#`<`(&=2#`<`*6=,#`<`*&=&#`<`8 M+&=`#`<`6VP$0`2(!(P$S?!(!.74YU3E4``$CG`""_[``$90`?SB1MX M``BT_```9@1P`&`&("H`#DYQ3-\$`$Y=3G5.50``2.<`(+_L``1E`!^B)&T`$ M"+3\``!F!'``8!(@*@`"2H!F!B`J``I@!'``3G%,WP0`3EU.=4Y5``!(YP`@\ MO^P`!&4`'VHD;0`(M/P``&8$<`!@)B(J``(,@0````-G#`R!`````F<$4X%F+ M"B!*T/P`"B`(8`1P`$YQ3-\$`$Y=3G5.50``2.<`(+_L``1E`!\>)&T`""`J( M``),WP0`3EU.=4Y5__Q(YP`@O^P`!&4`'OXD;0`(M/P``&<``(H@*@`"#(``. M```$9'SC@$[["`)@'&`$8`).<2\*80#_6EA/+P!(;`!H3KH?+%!/8%A(;`!L* M3KH>]EA/*TK__$JM__QG.B\M__QA`/]Z6$]*@&82+RW__&$`_KQ83R\`8818E M3V`*+RW__&$`_WI83R\M__QA`/[,6$\K0/_\8,!(;`!N3KH>J%A/3-\$`$Y=Q M3G5.5?_\2.<`(+_L``1E`!Y2)&T`#$AX`%I.NAY,6$\O`"M`__QA`!VN6$\@, M;?_\(6T`"``"T/P`"B\*+PA.NAZ.4$\@+?_\3-\$`$Y=3G5.5?_\2.<`(+_L6 M``1E`!X$)&T`"$AX`%I.NAW^6$\O`"M`__QA`!U@6$\@;?_\0J@``B%*``XAP M;0`,``H@"$S?!`!.74YU3E7__$CG`""_[``$90`=OB1M``BT_```9@8@+0`,R M8"PO"F$`_Q83R\M``PO`&'$4$\O`"\O``AA`/]T4$].H M<4S?!`!.74YU3E4``$CG`""_[``$90`=:B1M``BT_```9@1P`&`,+RH`"F'<* M6$]2@$YQ3-\$`$Y=3G6_[``$90`=0$AL`').NAUT6$]A`!Q\+RP%RF$`'"A8, M3V$`',).=;_L``1E`!T:#*P```/H!P$ZR)M__RSR&1`+PI.NARN6$\N; M``R'_____V86(&W__!"\`/]2K?_\<``@;?_\$(!@&"`'(&W__!"`#```"F8$7 M0A!@!E*M__Q@M$S?!(!.74YU3E4``$CG`""_[``$90`<)B1M``@O"F$`^S18E M3R\*3KH<,EA/2H!O``#`2'@``DAL`)@O"DZZ'!9/[P`,2H!F#"\*80`!L%A/W M8```I$AX``)(;`"<+PI.NAOT3^\`#$J`9Q9(>``"2&P`H"\*3KH;WD_O``Q*; M@&8L2'@``B\*+RT`#$ZZ'")/[P`,(&T`#$(H``)(>``"0J``!0J3^\`#$'L!7#1QD(0? M+P9"IR\*80``4D_O``Q,WP3@3EU.=4Y5__A(YP$@O^P`!&4`&KHD;0`(2&W_P M^"\*+RT`#$ZZ&LQ/[P`,+@!*AV\,("W_^"(M``R0@6`$``!0J``G80#^Z%!/2H!K2AE\`"<%R M<'X!+PI(;`"L80#^T%!/OH!N#D'L!7#1QQ"R>`!2AV#B0>P%<-''0A`O"DAXD M`"=A`/ZJ4$\O`$*G+PIA`/[B3^\`#&`.+PI(;`5P3KH9PE!/0A),WP2`3EU.Y M=4Y5``!(YP`@O^P`!&4`&3HD;0`(2&P$:$ZZ&4Q83TJ`;Q`O+0`,2&P$:&$`- M_.A03V`2+PIA`/QN6$\O+0`,+PIAOE!/3-\$`$Y=3G5.50``2.<`(+_L``1EB M`!CN)&T`"$AL!7`O"F&84$\0+`5P#```_V<``*)"+`7$2'@``DAL`*Y(;`5PB M3KH8V$_O``Q*@&862&P%<"\*80#_9E!/+PIA````$2&P`M$AL!7!.NAB"[ M3^\`#$J`9@HO"F$`%LQ83V`4$"P%<`P``/]F`F`8+PIA``7^6$](;`5P+PIA^ M`/[R4$]@`/]63-\$`$Y=3G5.50``2.<`(+_L``1E`!@<)&T`"!E\``$%Q$AL' M`+I.NAA&6$\O"DZZ&&)83TAL`+Q.NA@T6$\O+0`,80#VW%A/2H!G$AE\`"X%A M<'``&4`%<1E`!&A@""\M``QA#EA/80#ZP$S?!`!.74YU3E4``$CG`""_[``$S M90`7LB1M``A(;`"^2&P%<$ZZ%ZY03TJ`9Q@0+`5P#```_V<.2&P%<"\*80#^) M0%!/8-9,WP0`3EU.=4Y5_[!(YP`@O^P`!&4`%VPD;0`($"P%<`P``&%E!@P`8 M`'IC"`P``"=F``"N#```)V8^2&P%<4AX``-A`/C>4$]"IR\`80#Y(E!/0J``#80#X:%!/0J``!80#X#E!/0J4$\O`"\280#X6E!/)(!(" M;`5P+RT`$&$`_,Y03V`.+RT`$$AL`/AA`/W<4$],WP0`3EU.=4Y5``!(YP`@% MO^P`!&4`%>PD;0`(+RT`#"\*82Q03Q`L!7`,```L9AA(;`5P+RT`#&$`_(!0@ M3R\M``PO"F'"4$],WP0`3EU.=4Y5_[!(YP`@O^P`!&4`%:0D;0`($"P%<`P`3 M`$%E%@P``%IB$"\M``PO"F$``2103V```,@,```G9A`O+0`,+PIA``#`4$]@L M``"R2&P%<&$`]3)83TJ`9Q`O+0`,+PIA``$^4$]@``"4$"P%<`P``%MF#B\M' M``PO"F$``7)03V!Z#```865F#```>F)@2&P%<$AM_[!.NA6(4$](;`5P+RT`H M#&$`^\903Q`L!7`,```H9A0O+0`,2&W_L"\*80#^:$_O``Q@-$AM_[!(>``#] M80#V@E!/0J6$\O`&$`[+I83R\`2&P!LDZZ#(Q03TAL`;9.N@Q8F M6$\O"F$`[&183R\M`!`O+0`,+P!A%D_O``Q(;`&X3KH,-EA/3-\$`$Y=3G5.% M50``2.<`(+_L``1E``O@)&T`"+3\``!G``#P+PIA`.RB6$]*@&="#(`````"3 M9R(,@`````-F``#2+PIA`.PX6$\O`$AL`;I.N@P*4$]@``"Z+PIA`.P@6$\OF M+0`0+P!A`/Z$4$]@``"B+PIA`.ND6$\O`&$`[$Q83U.`9A0O+0`0+RT`#"\*) M80#_$D_O``Q@>"\*80#K?%A/+P!A`.PD6$]*@&8:+PIA`.MH6$\O+0`0+RT`I M#"\`85A/[P`,8!HO"F$`ZTY83R\M`!`O+0`,+P!A`/\L3^\`#"\*80#K8%A/7 M2H!G)$AL`;Y.N@L^6$\O"F$`ZTI83R\M`!`O+0`,+P!A`/[\3^\`#$S?!`!.; M74YU3E4``$CG`""_[``$90`*SB1M``BT_```9U8O"F$`ZN)83R\`80#KBEA/] M4X!F%"\M`!`O+0`,+PIA`/Y03^\`#&`N(&T`#!"\``%(;`'`3KH*R%A/+RT`9 M$"\M``PO"F$`_HY/[P`,2&P!PDZZ"JQ83TS?!`!.74YU3E7_]$CG`""_[``$U M90`*5B1M``@O+0`,2&P!Q$AM__1.N@J63^\`#$*M__Q(;?_T2&T`#$AM__PO+ M"F$03^\`$"`M__Q,WP0`3EU.=4Y5_WQ(YP`@O^P`!&4`"@HD;0`(M/P``&<`S M`*`@*@`"#(`````$9```DN.`3OL(`F!`8#9@`F`R($K0_``*+RT`%"\(2&P!N MR$AM_WQ.N@H>3^\`$$AM_WQ(>``"80#K6E!/(&T`#""`8%`@;0`,((I@2"\*Z M80#I\EA/+RT`%"\M`!`O+0`,+P!A`/]V3^\`$"\*80#IJ%A/(&T`$"\0+P!AX M`/\24$\@;0`,+Q`O`&$`ZU903R!M``P@@$S?!`!.74YU3E7_^DCG`2"_[``$I M90`)2"1M`!1*K0`(9A!*K0`,9@H;?``!__]@``#82JT`"&8<+PHO+0`0+RT`3 M""\M``QAP$_O`!`N`"`'8```NB\M``AA`.G86$\,@`````1D``"0XX!.^P@"U M8&9@1&`B3G%(;?__+PI(;0`02&W_^DAM``Q(;0`(80`!%D_O`!A@46$\@;0`4+Q`O\ M`&$`]RQ03R!M`!`@@$J`9AXO+0`<+RT`&"\M`!0O$B!M``PO$&$`_I!/[P`4D M8$@O+0`8(&T`%"\0+P`O$F$`_6Q/[P`0(&T`'!"`8"HO+0`<+RT`&"\M`!1A$ M`/[$3^\`#&`4+RT`'"\M`!@O+0`480#^KD_O``Q,WPP`3EU.=4Y5``!(YP`P: MO^P`!&4`!G0D;0`(+Q)A`.;R6$](;`'0+P!.N@9J4$]*@&84(&T`%!"\``$BG M;0`,)FT`$":18!0O+0`4+RT`$"\M``QA`/Y23^\`#$S?#`!.74YU3E4``$CG] M`""_[``$90`&&"1M``@O$F$`YI983R!M`!0O$"\`80#V+E!/(&T`$""`2H!G1 M)"\M`!@@;0`4+Q`B;0`,+Q$O`&$`_(A/[P`0(&T`'!"`8```HDJM``QF*$ALU M`=1(>``#80#G7E!/+RT`'"\M`!@O+0`4+P`O$F$`_5Y/[P`48'(@;0`,+Q!A" M`.9L6$]7@&+RT`'"\M`!@O+0`4(&T`#"\0+Q)A`/T`3^\`%&`4+RT`L M'"\M`!@O+0`480#]4D_O``Q,WP0`3EU.=4Y5__Q(YP`PO^P`!&4`!1@D;0`(> M(&T`#"\080#EWEA/#(`````$9```^N6`3OL(`F```-I@``"$8```'F````(OV M+0`<+RT`&"\M`!1A`/SV3^\`#&```.`@;0`,+Q!A`.5.6$\@;0`4+Q`O`&$`- M].903R!M`!`@@$J`9B`O+0`<+RT`&"\M`!0O$B!M``PO$&$`_$I/[P`48```4 MG"\M`!@@;0`4+Q`O`"\280#[)$_O`!`@;0`<$(!@?"\280#D\%A/(&T`#"\0X M+T``#&$`Y.!83R\`+R\`#$ZZ!%A03TJ`9A0@;0`<$+P``2)M`!0F;0`8)I%@" M0"\M`!PO+0`8+RT`%&$`_$!/[P`,8"HO+0`<+RT`&"\M`!1A`/PJ3^\`#&`4N M+RT`'"\M`!@O+0`480#\%$_O``Q,WPP`3EU.=4Y5__Q(YP`@O^P`!&4``]HD^ M;0`((&T`#"\080#DH%A/#(`````$9``!&.6`3OL(`F```*)@``"&8```'F``D M``(O+0`<+RT`&"\M`!1A`/NX3^\`#&```/X@;0`,+Q!A`.006$\@;0`4+Q`O] M`&$`\ZA03R!M`!`@@$J`9B`O+0`<+RT`&"\M`!0O$B!M``PO$&$`^PQ/[P`47 M8```NB\M`!@@;0`4+Q`O`"\280#YYD_O`!`@;0`<$(!@``":+RT`'"\M`!@OZ M+0`480#[/$_O``Q@``""+Q)A`.,T6$\@;0`,+Q`O0``(80#C)%A/+RT`&"!M$ M`!0O$"\`+R\`$&$`^91/[P`02@!G3"\280#C+%A/(&T`#"\0+T``"&$`XQQ8( M3R\M`!@@;0`4+Q`O`"\O`!!A`/E@3^\`$"!M`!P0@&`4+RT`'"\M`!@O+0`41 M80#ZN$_O``Q,WP0`3EU.=4Y5_J1(YP`@O^P`!&4``GXD;0`($"P%<`P``"=F% M$DAX``%"ITAL!7!A`.?>3^\`#$AL!7!(;`'880#GBE!/4H!F'DAL!7!(;?ZD2 M3KH"K%!/2&P!VDAM_J1.N@)Z4$]@#DAL!7!(;?ZD3KH"CE!/2&P!X$AM_J1.] MN@(F4$\K0/_\2H!G9$AX`(1(;`1H2&W_>$ZZ`FQ/[P`,0BP$:"\M__QA`.CNT M6$\O+?_\3KH"(EA/2'@`A$AM_WA(;`1H3KH"0$_O``Q(;`5P+PIA`.AX4$\0' M+`5P#```+F<:+PI(;`'B80#I@%!/8`PO"DAL`?!A`.ER4$],WP0`3EU.=4Y5Z M``!(YP`@O^P`!&4``8(D;0`(2&P%<"\*80#H+%!/$"P%<`P``"YG#B\*2&P"$ M`&$`Z3103V`(0J=.N@&B6$],WP0`3EU.=;_L``1E``%"2&P"#DZZ`7983TAL2 M`A!.N@%L6$](;`)23KH!8EA/2&P"@$ZZ`5A83W``&4`%Q1E`!&B1R"E(!<8I< M2`7*3G5.50``2.<`(+_L``1E``#T)&T`"+3\``!G*DH29B84O``!2JH``F80``"&T```AZ@``(?8``"("```AK@``(<8``"(4```AN@``(=@``"'\```B? M#@``(:@``"'>```B"```(=(``"'````AH@````````/R```#Z@```1H`````4 M````````````````````````````````````````````````````````````` M`````````````````````````````````````````````````````````&1O3 M6UBL M;VPN`$UI'!E8W1E9"X`)R'!E8W1E9"X`56YAC M8FQE('1O(&]P96X@`"'!E8W1E9"X`"@!697)Y(%1I;GD@4')O;&]G+ M("T@5F5R