standish@mentor.cc.purdue.edu (Jeffrey L Standish) (09/22/90)
Does anyone out there have a uudecode program that they could mail me or post here? I can download uucoded programs to my PC, but still need a program to uudecode them. My old copies of such a program were on my _old_ hard drive. Needless to say, it died and took everything with it. Now I need a new copy. Even one of the BASIC versions will suffice. Any help will be appreciated.
mike@mdd.UUCP (Michael Sorensen) (09/23/90)
standish@mentor.cc.purdue.edu (Jeffrey L Standish) writes: >Does anyone out there have a uudecode program that they could mail me >or post here? >I can download uucoded programs to my PC, but still need a program to >uudecode them. My old copies of such a program were on my _old_ hard >drive. Needless to say, it died and took everything with it. >Now I need a new copy. Even one of the BASIC versions will suffice. >Any help will be appreciated. Here is a complete startkit, and sources to uud and uue. Here is the startkit. The uud.c on line 1139 and uue.c on line 1713. ----------------------------------------------------------------------- UuKit.Txt version 90.08.23 by Jim Dunn, jdunn@dsac.dla.mil ----------------------------------------------------------------------- This is a text file of less than 64K in size used to introduce you to the principle of unix file transfer over plain text mail gateways. The following files are contained in this file, but in plain text format. DEZIP v2.0, ARCE v4.0, LOOZ v2.1a, UUDECODE v4.02 In the unix world, binary file transfer can be done using a program called "ftp". But this can be a cumbersome process, and can take a lot of time. So computer enthusiasts have taken advantage of the complex network for mail transfer, and translate or ENCODE binary files into plain ascii text for mailing. However, the unix mail gateways will only accept text without ANY control codes or extended ASCII characters. Thus the process of UUENCODING was born. There are many others: XXENCODING, ATOB encoding, R95 encoding, etc. Basically, someone takes a group of files, packs or arcs or zips them together to make an archive. Then UUENCODES them and then chops them up and then mails them to you. You would then use UUDECODE to string them back together and create a copy of the archive identical to the sender's, (we hope). At this point, you just use the appropriate un-packer, un-arcer, or un-zipper, to "UnSmoosh" your files back to their normal size. I just love that word... The only real burden is having to mail all these little separate parts and receiving them with the correct filename. UUENCODE and UUDECODE do most of this for you, but you will still have to hand mail each part. (some unix mail gateways have an upper limit of 64K for each piece of mail, although some are 100K, if your mail must pass thru a gateway with a 64K limit, it will be rejected and returned to you) :) The following text will contain various sources that will need to be edited out of this file into their own file. Each source with begin and end with the following construct: ---CUT HERE---FILE: sample.txt rem a little text file called... rem SAMPLE.TXT, you guessed it! Note that this file should be 3 rem lines long, no more, no less. ---CUT HERE---EOF: sample.txt You should copy the above three lines that are between the two ---CUT HERE--- lines, and call the file SAMPLE.TXT, OK? NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! First you will have to create a UUDECODE.COM file, use it to DECODE the AUTODUMP.EXE self-extracting automatic archive dump program, and then you will need to DELETE the UUDECODE.COM!!! DO NOT KEEP UUDECODE.COM FILE ONCE YOU HAVE AUTODUMP.EXE!!! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! ---CUT HERE---FILE: UUDECODE.DBG E100 EB 54 90 49 6E 70 75 74 20 66 69 6C 65 20 65 72 E110 72 6F 72 2E 0D 0A 4F 75 74 70 75 74 20 66 69 6C E120 65 20 65 72 72 6F 72 2E 0D 0A 73 74 61 72 74 20 E130 6E 6F 74 20 66 6F 75 6E 64 2E 0D 0A 45 6E 64 20 E140 6E 6F 74 20 66 6F 75 6E 64 2E 0D 0A 00 00 00 00 E150 64 03 64 03 14 03 E8 BE 01 E8 2D 01 BF 14 03 E8 E160 AA 00 AD 3D 62 65 75 F4 AD 3D 67 69 75 EE AD 3D E170 6E 20 75 E8 BF 14 03 AC 3A C4 76 FB AC 3A C4 75 E180 FB AC 3A C4 76 FB 3A C4 74 04 AA AC EB F8 BA 14 E190 03 33 C9 88 0D B4 3C CD 21 73 03 E9 E3 00 A3 4E E1A0 01 BF 14 03 E8 65 00 AC 0A C0 74 48 BB 20 20 2A E1B0 C3 0A C0 74 3F 32 E4 8B E8 B9 04 06 AC 8A E0 AC E1C0 8A D0 2B C3 D0 E4 D0 E4 D2 E8 0A C4 AA 4D 74 D4 E1D0 8A E2 AC 8A D0 2B C3 D2 E4 D0 E8 D0 E8 0A C4 AA E1E0 4D 74 C1 8A E2 AC 2B C3 8A CD D2 E4 0A C4 AA 4D E1F0 75 C7 EB B0 E8 15 00 AD 3D 65 6E 75 05 AC 3C 64 E200 74 03 E8 B0 00 E8 61 00 B4 4C CD 21 8B 36 50 01 E210 89 3E 54 01 BD 50 00 BF C4 02 33 C0 AB B9 27 00 E220 B8 20 20 F3 AB BF C4 02 3B 36 52 01 72 06 E8 38 E230 00 E8 55 00 AC 3C 60 75 04 B0 20 EB 08 3C 0D 74 E240 1B 3C 0A 74 18 AA 4D 75 DF 3B 36 52 01 72 03 E8 E250 37 00 AC 3C 0A 75 F2 BF 14 03 EB B4 46 89 36 50 E260 01 8B 3E 54 01 BE C4 02 C3 BA 14 03 8B CA 87 0E E270 54 01 2B CA 76 0A 8B 1E 4E 01 B4 40 CD 21 72 01 E280 C3 BA 16 01 B9 14 00 EB 24 BA 64 03 B9 64 05 F7 E290 D1 8B 1E 4C 01 B4 3F CD 21 72 0C 0B C0 74 08 8B E2A0 F2 03 C6 A3 52 01 C3 BA 03 01 B9 13 00 50 E8 0A E2B0 00 58 E9 53 FF BA 3C 01 B9 10 00 BB 02 00 B4 40 E2C0 CD 21 C3 90 54 68 69 73 20 50 72 6F 67 72 61 6D E2D0 20 52 65 71 75 69 72 65 73 20 44 4F 53 20 56 65 E2E0 72 73 69 6F 6E 20 32 2E 30 20 6F 72 20 68 69 67 E2F0 68 65 72 2E 0D 0A 24 0D 0A 49 6E 70 75 74 20 70 E300 61 74 68 2F 66 69 6C 65 3A 20 20 4E 6F 20 61 63 E310 74 69 6F 6E 0D 0A 24 B4 30 CD 21 3C 02 73 0C BA E320 C4 02 B4 09 CD 21 B8 01 4C CD 21 BE 80 00 BF 84 E330 03 FC AC 0A C0 74 15 B4 20 AC 3A C4 76 FB 3A C4 E340 76 04 AA AC EB F8 81 FF 84 03 77 1C BA F7 02 B9 E350 14 00 BB 02 00 B4 40 CD 21 8B D7 B9 50 00 33 DB E360 B4 3F CD 21 03 F8 4F 4F BA 84 03 3B FA 77 05 BA E370 0B 03 EB AE B8 00 3D 88 05 CD 21 72 04 A3 4C 01 E380 C3 E9 23 FF DA Rcx 284 Nuudecode.com W Q ---CUT HERE---EOF: UUDECODE.DBG ---CUT HERE---FILE: UUDECODE.BAS 100 REM - BASIC PROGRAM TO CREATE UUDECODE.COM (a fast uudecoder) 110 CLS:PRINT "Creating UUDECODE.COM, please wait..." 115 OPEN "UUDECODE.COM" AS #1 LEN = 1 120 FIELD #1, 1 AS A$: CHECKSUM#=0 130 FOR I = 1 TO 47 140 LINESUM#=0: LOCATE 2,3: PRINT "Countdown: " 47 - I ; 150 FOR J = 1 TO 16: READ BYTE$: CHECKSUM#=CHECKSUM#+VAL("&H"+BYTE$) 160 LINESUM#=LINESUM#+VAL("&H"+BYTE$) 170 IF (BYTE < 256) THEN LSET A$=CHR$(VAL("&H"+BYTE$)): PUT #1 180 NEXT J 190 READ LINETOT$: LINECHECK# = VAL("&H"+LINETOT$) 200 IF LINECHECK# = LINESUM# THEN GOTO 220 210 LOCATE 4,2: PRINT "Error in line #" ; 260 + 10 * I: GOTO 260 220 NEXT I 230 CLOSE: READ FILETOT$ : FILECHECK# = VAL(FILETOT$) 240 IF CHECKSUM# <> FILECHECK# THEN GOTO 260 250 PRINT: PRINT "UUDECODE.COM created successfully": SYSTEM 260 PRINT: PRINT "UUDECODE.COM is not valid!": END 270 DATA EB,54,90,49,6E,70,75,74,20,66,69,6C,65,20,65,72, 696 280 DATA 72,6F,72,2E, D, A,4F,75,74,70,75,74,20,66,69,6C, 584 290 DATA 65,20,65,72,72,6F,72,2E, D, A,73,74,61,72,74,20, 542 300 DATA 6E,6F,74,20,66,6F,75,6E,64,2E, D, A,45,6E,64,20, 509 310 DATA 6E,6F,74,20,66,6F,75,6E,64,2E, D, A, 0, 0, 0, 0, 3D2 320 DATA 62, 3,62, 3,12, 3,E8,BC, 1,E8,2D, 1,BF,12, 3,E8, 556 330 DATA AA, 0,AD,3D,62,65,75,F4,AD,3D,67,69,75,EE,AD,3D, 7CB 340 DATA 6E,20,75,E8,BF,12, 3,AC,3A,C4,76,FB,AC,3A,C4,75, 7F9 350 DATA FB,AC,3A,C4,76,FB,3A,C4,74, 4,AA,AC,EB,F8,BA,12, 991 360 DATA 3,33,C9,88, D,B4,3C,CD,21,73, 3,E9,E3, 0,A3,4E, 6A5 370 DATA 1,BF,12, 3,E8,65, 0,AC, A,C0,74,48,BB,20,20,2A, 579 380 DATA C3, A,C0,74,3F,32,E4,8B,E8,B9, 4, 6,AC,8A,E0,AC, 84E 390 DATA 8A,D0,2B,C3,D0,E4,D0,E4,D2,E8, A,C4,AA,4D,74,D4, A77 400 DATA 8A,E2,AC,8A,D0,2B,C3,D2,E4,D0,E8,D0,E8, A,C4,AA, AFE 410 DATA 4D,74,C1,8A,E2,AC,2B,C3,8A,CD,D2,E4, A,C4,AA,4D, 95A 420 DATA 75,C7,EB,B0,E8,15, 0,AD,3D,65,6E,75, 5,AC,3C,64, 757 430 DATA 74, 3,E8,AE, 0,E8,61, 0,B4,4C,CD,21,8B,36,50, 1, 656 440 DATA 89,3E,54, 1,BD,50, 0,BF,C2, 2,33,C0,AB,B9,27, 0, 62A 450 DATA B8,20,20,F3,AB,BF,C2, 2,3B,36,52, 1,72, 6,E8,38, 675 460 DATA 0,E8,55, 0,AC,3C,60,75, 4,B0,20,EB, 8,3C, D,74, 57E 470 DATA 1B,3C, A,74,18,AA,4D,75,DF,3B,36,52, 1,72, 3,E8, 559 480 DATA 37, 0,AC,3C, A,75,F2,BF,12, 3,EB,B4,46,89,36,50, 658 490 DATA 1,8B,3E,54, 1,BE,C2, 2,C3,BA,12, 3,8B,CA,87, E, 61D 500 DATA 54, 1,2B,CA,76, A,8B,1E,4E, 1,B4,40,CD,21,72, 1, 517 510 DATA C3,BA,16, 1,B9,14, 0,EB,22,BA,62, 3,B9,9E,FA,8B, 769 520 DATA 1E,4C, 1,B4,3F,CD,21,72, C, B,C0,74, 8,8B,F2, 3, 591 530 DATA C6,A3,52, 1,C3,BA, 3, 1,B9,13, 0,50,E8, A, 0,58, 5A3 540 DATA E9,55,FF,BA,3C, 1,B9,10, 0,BB, 2, 0,B4,40,CD,21, 69C 550 DATA C3,90,54,68,69,73,20,50,72,6F,67,72,61,6D,20,52, 655 560 DATA 65,71,75,69,72,65,73,20,44,4F,53,20,56,65,72,73, 5C4 570 DATA 69,6F,6E,20,32,2E,30,20,6F,72,20,68,69,67,68,65, 51C 580 DATA 72,2E, D, A,24, D, A,49,6E,70,75,74,20,70,61,74, 467 590 DATA 68,2F,66,69,6C,65,3A,20,20,4E,6F,20,61,63,74,69, 52F 600 DATA 6F,6E, D, A,24,B4,30,CD,21,3C, 2,73, C,BA,C2, 2, 525 610 DATA B4, 9,CD,21,B8, 1,4C,CD,21,E8,36, 0,73,23,BA,F5, 701 620 DATA 2,B9,14, 0,BB, 2, 0,B4,40,CD,21,BF,7F, 0,C6, 5, 577 630 DATA 50,8B,D7,B4, A,CD,21,E8,18, 0,73, 5,BA, 9, 3,EB, 687 640 DATA CF,BA,84, 3,B8, 0,3D,CD,21,72, 4,A3,4C, 1,C3,E9, 705 650 DATA 43,FF,BE,80, 0,BF,84, 3,FC,AC, A,C0,74, F,B4,20, 78F 660 DATA AC,3A,C4,76,FB,3A,C4,76, 6,AA,AC,EB,F8,F9,C3,C6, A50 670 DATA 5, 0,F8,C3,55,55,44,45,43,4F,44,45,20,76,31,2E, 503 680 DATA 39, 0,4F,72,69,67,69,6E,61,6C,6C,79,20,62,79,20, 56E 690 DATA 54,68,65,6F,64,6F,72,65,20,41,2E,20,4B,61,6C,64, 565 700 DATA 69,73, 0,54,68,6F,72,6F,75,67,68,6C,79,20,72,65, 608 710 DATA 68,61,63,6B,65,64,20,62,79,20,44,61,76,69,64,20, 583 720 DATA 50,20,4B,69,72,73,63,68,62,61,75,6D,2C,20,54,6F, 588 730 DATA 61,64,20,48,61,6C,6C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266 740 DATA 76583 ---CUT HERE---EOF: UUDECODE.BAS ---CUT HERE---FILE: AUTODUMP.UUE section 1 of uuencode 4.02 of file AUTODUMP.EXE by R.E.M. begin 644 AUTODUMP.EXE MZV!^"2`D3$AA<F,G<R!31E@@,2XQ,U,@*&,I(%EO<VAI+"`Q.3@Y#0H*)`$$ M#!@P3W9E<G=R:71E("1;62].72`D365M;W)Y)%=R:71E)$AE861E<B1#4D,@ M17)R;W(-"B3\O``!NP8!Z%<"C,@N`P8"`8[8CL`%5@(N.P8"`'8&NT(!Z5\! MOR@3,]*+PKD(`-'H<P,U`:#B]ZO^PG7MOBL!OR@1N`$`NB``+CHD=07^P$;1 MZHO*B*4``:KB^?[$@/Q`?.:,#BHEQP8H)>\%Z>\`,NU1ORPEK:LJ)*3B^UD? MB38H)74TNT(EB],"7_^`UP"+!Z-2)2O[B3Y8);\N)8$]+6QU%8M%`H;$+3!H MB^@]`0!W!H!]!"UT!KM/`>G%`+@!`($^024!(70[Q@<@B\LKRD%3B]BT0,TA M6\8'`+@`0\TA<A>[,`'H=P'HI0!T#*$S)8L6-27H$P'K7K$@M#S-(7,"ZW:C M4"4SP*-4)0OM=`7HQP+K`^@4`8`N624(?`;_#B@EZ_/HX`"+%CTEBPX[)8L> M4"6#^P%T&K@!5\TAZ+<`@#Y8)0)U":%4)3L&4B5U(>L%Z#L`=16[7P'H`@$> MQ38H)8H,"LET`^D#_Q^X`$S-(>B+`+M6`>L/Z'L`Z(``NTD!Z-H`NUD!Z-0` MN`%,S2&[.P'HR0"T",TA)-\\670$/$YU\KL#`2Z(!^BR`#Q9P[HH%8O/BQY0 M);1`S2%RNBO!=`6#^P%UL5:+\N,9H50E,@1&BM@R_XK$,N31XS.'*!/B[:-4 M)>@>`%Z#/E`E`705M`*R+NL-BQY0);0^ZP6Z0B6T0<TAPS/`F;XH)8,$$/], M`@,$@](`B\B#X0^)#"O!"\*Q!-/(`40"PS/_NS<E*3^#7P(`N0`0=0R+!PO` M=!T[P7,"B\A1OR@5Q38H)?.D!A]?Z%G_B\?HK?_KS\,>4%(.'XO3M`G-(5I8 M'\-6,_:+_HN<0@RM.]UR"$#1Z(F=0@RK._5RZS/V5JT#!(D%B]]+2SL'<OI# M0U!7_>L,BT7^BXU`#(F-0@RK._MW\/Q?CP>/AT(,K:\[_7+-,_:+O$(,B;7H M!#O]<P2)M>H$K3OU<NM>PX,.Y`0`>0/HCO\^B[+H!(O^BP6OKW4NN?__\Z^# M[P2+G$(,B;_H!#O=<P2)O^H$AYU"#(FWZ`0[W7,$B;?J!(F<0@R+]_\$B[3H M!`OV=<##5;WF!(LV)A&+%E8EB@Y9)3+MXR71[M'B@]8`T>:+M$(,23OU<NR) M%E8EB`Y9)2OU5NA\_UC1Z%W#Z`L`BO#H!@"*T+$0Z\T&Q!XH)2:*!_\&*"4R MY`?#48L65B6`/EDE"'\2Z.'_L0@J#EDET^`+T(`&624(68O"T^*)%E8E*`Y9 M);K__]/J]](CPL.Y"`#HQ?^&Q(OPBI0H$K8`L0;3XE**C"@1Z*__"\;3P"4_ M`%H#PL.^-R6M"P1U`^FF`+@!`+DZ`5$S__.KN.8$,])9OT(,N\X)JT!`B1=# M0T)"XO4S]K]T`KDY`8FU0@R)O.@$K0,$B;SH!*NMXNTSP*-6):/,"4B)!;`@ MN3P`O^PD\ZHS_[W_#U?HY_X*Y'4'7[D!`%'K&5#H9/]97XOW*_!.(_6!Z?T` M48J$*!5&(_6(A2@51SO]=@51Z$#]62/]XN=9NS<E*0^<@U\"`%B?(N">?[3H M)OW#'FLM;&@Q+9L3``!='0``@IUN%"``"$%20T4N15A%=7L5V64QKJH8X<QD MJ`(X&Q8J`)@`?'#M[1!;VN5S66L;!ZR[;6U.8EBONRTS-.1-/Z_KYZSE4%O# MMU)F200`_WM]\M-Z.&`X#1;GN2DG]Y"+W_[`F.`T2-"E;4`_HVUSVX'\,B#W M[P@^#$[;_P5[L(]9MX\_:BP&K1LP,J_DH_#.X94!#X.'J+:9UF9$?:2]GNJ6 MG.W)RSQJHF1B/O<P;,Z=C)0B0"),Q#%A6(DMEN!+D>/F][M=4ZZ?&V`9?T\2 M@H5#_06>50IF]PB>M_".2$&E7O2_Z:S([WZ/I0IZ]=80?X#FFG@*#J0O*^6` M("H/QZ#VD/PD*Y_P`0.Z\#UBZC![_O_]_QT*+_Q'^KGE$(Z%<#6ZZA-O82V< M17_*N167T_5IRVQWUKOPO=3U<G4OO9AOH@:-GBBE_S*U8+_LVP^KF172JDL" MMY>B/C9\O;EE,=&U0)R6E'"N0Y@@`9+`>NK.TG(6,NQFF8D6`[:#1MXPV<E0 M,O#_B.2^OTD%T>X-]NEYWD4H:CED^OA-7$Y0>SM512)U]R!OQ41$EZ;0>7J' M!*;#/TZ*5^!^U%DY8(DRKL=SX_*W_V^3>=Q#VTPEI`;`C<:7_]A#[F$S.3!+ M6SD12ZUW!#&4#RVS4K(N!S2[NM.(%ND4?\P?.#^KLP&T,[K"":$?YECF="E7 M$UFL@%V$X+E;&$X'06#_MG?BNEO68"QU0NO'M8Q9HOSP\2E3=23!7Y>)5]SZ M39(8!W,Y<W4XP;09TN5L\P.J:M4I<CU?1*'(`.'V%7MV!W]@SL<PL31@H!`I M@9;L7QSD;2@\:$+%0,@E:7GD.Y%T$[^PPEXP,"(\N<%`1Z;UW:-[;>G\P:!@ M*_D;P$.-_K12M'2]*O,#,3V*>(XF;J1B>*5R@D':OY-M,2\U="]^659B-M:3 MD;KE&[7./,8KEA,V`/L8>^0UE'$8,7_=$=0>6KO,@MCO$A1]"('*RZJDY,X9 M:GNZ?DIH-A/XL:8O5G$2OZM:[]7IFET:V"B2WD#RA;@EJ8E_&T+SCE.,JSL? MY/I^X,FN&+-F47JV@`-Y/V$_%W,AUR8AY.8AV\X^]ED'U4F",1>M[R`PK_5$ M4`N@P1MAR.QVH'LTQ8M`A$)$H[A_663Z/01)G#06IE4YY$LO?<C8!`9\=VBV MYR?F"CIB=S*,?'?VPE1UQ_I'&HB_\YIS(?#IZ1>!YH.]]+`%\5;OMEDYUPJC M8'K^2W]M`Y"Z[Z[D?95[T[9GW9G33;W_-JI`=G4]0JD328D/DJUTW?\%..U# MWX'9NLDE!AW/?I>N2_M5NJP\K]1\.Y'OKI_I!9BT<#%1;_K=)NI^Y\%,:8O" M";!A45+)P"TGO:#W1B[QL_:-ZLK'#TCBW%;S$;?_\*'=/_KGET3?S[R#=#$' M]_YYL?6!%6\'A^&SU,$AP\>D4.MEWK6]S<]]I#J>BSTG9!D_URFW7SG0V^II M354M/BB%W\*@BX<;3JBU2U2-7D(.C]T71,8IV*M7C`3/E[F'D`Q&1&V?QY9_ M)K)B<::LH54U"[7:T,TAM=G7#_]7$5U_G0HU01+?\EKI[R0C3K11&9\>]'E% M6=1<G>62SGL/PW_N*$2U<17!UF4Y!"H(=NF1"`P3^!6#L-"F?7CE\`>71*_) M=[W/A)`_A=KWS*$/BGT$L'VSRAO>/-><Y>=!5(&#YQ/UJQ0]+3YW)&N,A9.V MS?Z=0\+_L2@R4LXS;&XL"+@JHGKE9B\;GY09W'WK5+J8]:`?6TDIUHW:`T>S M:"=.#UL*L[U6VP>G==93_%F>"/48J7Q@Q%&0XVRW1I7CNEJEF(+,(*6%U58N MJSK>S",2_9_J.9*5PS?C*_46F*S$:M%D,,RA,$J-P!T@O8_!R0<</T_%VKOR MTI>VSW*?@F.Q(?7U.=&SO0#;#O8;6^-W4/H5/J5G;0-XA?FQ+;YZ!K*U*J0_ M'QGSO@QGG<0;N`P(Z;)VZS"?.EPGPRI$X),]HH2C4O7B86G]Y;IJ6YT>U4BY M%O;*9ZDQZ1'*.?_"D1[PS]9+1KK5OYSS0VL%8;H2D,1-WXDJN<.G!-C`03[< M(L-R0UBF<'3,H0D.\JW$<'J.*&[DO'112AGES2W(':?W#4N.6)^8`S]6A=_L MS*+T7&*6P`BD`]?D>UJ>`)<4'`B.UB7$#DG'-71'Q;N[>''A\I0@M/SM]79& M_)S'14MX'-CG>[R7V5Z\=;@->N/)P_6V8M'TRUVV#2/_,5R:FGZ`C/?.FGU6 MB#8]L<>B'>_LJP'W;<YD[_'J#]:/(X[@PV`6J\-3#XYF#DWFO@1U>JW_M2MH M)M)%(!N`M5AI4$WNSP:T:T'"AP>OA!:Q,6D<2+$X+EK=V%L[-,:J\EB>%%.N MRU_<PL?]LQ%)/U&ENBC'ZT>D([]T3!_^W3*E.VWQL^Q$51N%WC89CN?&MH<- MY:K8I@L5F>[\)L67R2>J-2;FQC^,7KS)(7A=RDSR.#6RC+AL+KAN>@@;K94. M>OH)]O">>I^Q;Z0_$']"KWI6DNGL@'L>N2@&N\%TXNL$E^M_/+\C`60;42:` M]HEO+92/&.SK+5?=0/0C^_A&2TF,'\**N\\Z^PK7,AGJ7)#2(ST(2GX.(*8# MW*L%R0_:"F).K+A`<5EB.,WXF%[QGMG.2IZ17<9ZHL^Y-/YRR*2^4O:IPIS? M=43,>S2F"O1N.04&[1)YZ.`#9QV:(QYYZ3@T@!KELNSL#Z-VB2.'N8Y`J>SY M>"GLV0GN(L999N2-)[PN2GH?_18X7?+XLBMP!H%!<T<"JI]J<9@/5495^X`6 MLW3]>E5XED<RAT6KCN6GGCFLA)\7<;B)U]F_0^-'++0E*G/](A,#U"M`*AY+ M&#Q?O(J\1OF?]`5T6X%LW8GM*=_$3[#:`YN>=N=.9%U=R>`:`$(KB)#-#J&K M3)=BW\=]('],V3PH`%-FJ31O=NGSC6)?WE['8U#.L77_UK7$;^@TQ'<OSB/P M#Q,,X!^](%?_U+K@,N1\F<:=!ZTXB:/G3\6>>?SG1PBAU#!<X5#IV8)VH$7$ M%Z-5*B<)W;^1K4MG6<76CJ\-=^CIV;XCJ)D=[5%([TZ9\SB*FLV_MO'`,SHY M`=D)!EE1>U[`PY/N?$`7`M(P<A'^6"[S4.=P,V9F#-*M@S60@FIJ0ZVDJ1<! MAM\1`E5?K_%ROO0'P!`Y,L7""X1.ELO>W\;PO<+&QJ.N!:V&/1HV4'32L*_H M5>#TO$BH=9<PM(CJ])/;S3Q%[?HMH7O?,'MIY,16(J%ZO;KH!/4U/'A'+,+/ M1=4ZC=_/S7K?7Y66;?M]9H?(T43G8SFD>>4)OW+`>WVV3+.MJ=]V<$8^Q<BD M;UNDB_NB*1O(I'.;J*5[-\7BYP8K[^7[%KPCA(>0-N5'#_=>Q=)`!3Z*0'7= MT@TL509BJ_(N*I_E8JAUQ%7+W5%7R9UBKEJ[^DA5RXJQHQ<H:?$3B;:8<WMI MA-<^:7"$%];<DXST8`S&\B]Q2/<*"48M3'\D+?]5A(7QD20O\O(<H1F%6N): M!-L__ZJ`N!(A%UV;\G3%IG0^5A)[X"FD]OXD]S#NOF163W>4F/MM1`%,];57 M5$SGIQQKWY_:NE#;^/:2$X!)-/VQXQ-&/?U+Y&0N'J\"I@*;$(51(^F;OCF2 M!ML!/\&11GG>?`_P/?';@\T;YSW^R\@(0'K,9!HVIYO,:4=]Z%/X<YNBQGHC M#ZX1]1NK8[98^_59TQX/P&S)/UW9Z]A8C:K_F/3QDX\G<^2!RS(;WC<(830@ M1<086QI^N17;NEPHN$D)9)\6FXZ9D<FH/GJY&9B;E7T2&=K[9E+4/)O@</Z& MA>BY=&5'S#12>[@?*X6"_ATU/CRNZ[>:[51>C)[TF"QFCS[TCJ,C5`XY%LV0 MF9YAAW;&.3`S9V_"9C<N$KG70\Y[P`VIHZ89AE'4Q0C^J8<`WT!FB,[\\E6, M!<<7CJ[\@Y3=9]@M3?7B8ALDWMINYUGZ13&]-L_<7+P5/E1G%Z;SF-<0%<_U M_/_O]\B$'Q;3X;^'1_!IM&4:`=@J2WM>)6"6;WBCM;/4X6V6U88HR\_)S:U1 MN"HXPJ7\C<P&&T1K<08II.]P$]DWX--,UG1V0O#K24.2QVF.-=AG&CV/R^(+ MI!^21-B%X'0K,\QB[\WLA9<"C`,+Q_$3T_CX6V](!ZNUW^)MH&CRU_WAW23" MC2@H*+7<@A8=+.=5+<K\68X3#00!!<8`9<*$31NZS\AL?H;@KS/$JSWK1SFN M!IX%\I`!HEGFO!]J_3NVK\W%0"/QU1^>6GX&JF7?C83:2A_B*_U_X1\,<]^J MAK-F\3X5U'K^Q=LRY?&G/L%'^O";U7]-U/TTYQL6"]\IQ_]>"K/"'"G56WGY M&#.9^9`KK75*,'*#:[Q^^9K[&%%X2E>>UVS^\?EB=Y<?U*/[]'RBRCTER>!; MN9?OL<-M\+_/;U^'D5>$]X<1'$,:V-WJ4L;)Z'.4A\.-+;9?)/'LT_W<+TJX M!N[GJD$YZN[//AJ?6I&&YR\J1U:,!BF97DE)/IM3C7OW`.,J;:ZBQ]NXFVMV MW=,5^?BVA!`:@*N4793L^^6>0H[IH-B\*,^"=V)'@:DM/B_"OI)*:#FA8=#? M560/*UQZ0="?*(AJ_S"(H<<V\U_2DD+B@,O=!-%1^\C938JZ/8VFKG[\*J"^ M>?KYJZX4BJ?^XZ&ATY7BS8]9,,XCWC[>?H4?BDRCUXKZ1>77OYB90S9'O@V- M.X$4Y/IETOM/?T-7PZ?7DEEOOZ^<U0`3%-\09X0(7;80F^T%!$+M1PUO8*Q] MX=4\NHR&?='#T8OER<I3XSSR#/#6;&?.PIT=BWU+4PJ:Z27$)M]S\+"B_2_[ MTN<4.8%D><^-[R&EQ8/G2C\W;2W+,"*$SAN&6K;>$/?K=TO=UJ&$ST4VHS@" M\&URHXY#0Y13[+FTO\<:BZ+0WDDC)?>9PZ[*T!%KYM]0K<#D:0;9<0]-PTI3 MY.NQ6YQ]M_YOLD_BZ2B'=ISAVDG,$GZ_OE+_#D[E+@^_"EC#XGPY^+CP[W<= MEN*6AS=O=CN9U),4NT-IIZ3%#J*EKVK,-O^E<\R67]+O(I_;JC.M,;((Q5K, M9O3P78K5=$U[J!DK.PQ_;>-U[ST3QE+)WNQB37K%7Z(8_JZ#6I@!<5UN-[F, MN0$2VJ.;MB:ZS)/AHWJ](1.@-TKH2UG>TGS#>E);NVE7<,@LP>XKRI$`C;M` MW;YNA[)\JN_U/M?FL.<AUS1I>@QAH\CTM_G[QJ,I*S,7^?H3C`Q*[)_`SYO+ M'+6'_O9(XW#W(7^$4_$%-ETC@;``=`C/D]#M(4!:SEWQO[9S9<>LMP-A\B>A M*VUOI*B0C/#M\T$0<U=F8A2^^-D2&<C_PMK^?2A23[6[@-?^.K[$M\T\&P?= M?">+:A-Y:6K"(*^#S$+3864B\J^J:%U_FL)-/*CBAC?-WFM[WT<$-)#\GVGB M)(.2<4C137`#-W6C!I1O(A+!#GS#\I"4EH(+\8#Y)3TC\C$2HVJ.IHUK?>`O MI_DH:&G38,Z$D\^;,4W25*,E%R\G!213#[2[--G<WJS?3FGAZ0LLI;=O>)!, M99^[D93!B')*N&E;3WJ8N3LZO!C,]NF1IND!<()PU.#-V'+GG?)886M;65#B M\=-"ILOF_YMXHDXKN$$#)50=9[:9@I%!CX=-O]0#YM!M/]Z2?VJ$8H>^+OFH MA254/#KK^L5YK-KMWAZ]@P`S,GS]<:*0NG'5_L1Y2.4ZIHVSDEZPA42\YA*K M*>0>\L@RY8#MF"VFK]?JEO,B.-7L5></O=G2Q_->R7OL\C\[6=;<$FR5C_IE MOA#OV/,'[#5IQ(Q5^"75MUV"?R0:/8S;?;7[31T27LH\:5Q0LF<P"+<LA(L$ MS-8BL,_!^?0PS8]J[C^KRES`L$R[JBO2L/H!7R*)E+L;F8WF:V.:9+N<&37O MO]_`.9:QKM&<*V32]4>H]G=U.EJQ^`!R7>A3[SZB1A)[^83&X'JLY#1>5G\N M0=I2U5=A/Y_*%T%B:5S:41$)Q;FM$AFM0&+>?(-U[5362"&9,7'>5M>@(>/6 MLP/@>S0`UN!T?$R'\EEQ#7`)!"K-0,2S@R@"HHHM."'O[5W]=@TJ$3DUCW%) M_JB8Q,KM&04%,02A%,/KW,'CP+,,84_J;9>,F/,;UA'^-11M*S!'4L?SA=49 MTH\LG4LZN[MQO#G.=0R5(DZ(GS06O,>Z!$,F9_]T!S"YOP@]K*\+E/IP?U)G MT:Y)K(OZ7!/6XUO9'!=TL9CZ@L)9_MQ?-Y*4*90CY"57W%0I@(7VT5.)^1N: MXQBGQCE[G'X=4TB1W,6Y6#;&+#X$[(K_CY,BDWCDNR&RF3M5T9""3G8.N_<9 M_;2=N'?LH[F68K@\%\_!$.1!.4;[ALMZ&Q0D]?F`"]?P%CG^+L0Z<!0%$#=O MB+P2"0//5:/@-Z^`QQ\2!/4^O7E37Q!QBO$Y]W_9YW'/UBI_(I*",.131C'S M^T8I<*Q$@#@";WU__4X,_$W4>G4G\.ZF!JP3<$(06H`M!W5[(+M&X!)BD9!; M2#;G,*!Q%!F+U=$=<=['D)9A(Y]Y(XCI=G/F`ZHR"ICYQ0-NJWAZ`173Y#XY MB)!BQ;O]6:][:U/G&UUWT\A?6#G(BI.T5>9UJ3PYE!B)[+UCMN+1+R=]W(J0 MD\=\*W[[/MJ'8N:&I-"4)\^:Z"X[]_30W"#R$_BL"F)U21F$7'B2HY#U'5%" M3D/!S@E!7I5*B!ISR;,?JRUL:#$MU#(``'!1``#XJ*\4(``)1$5:25`N15A% M[W[L^;^8W:XSNX7BP.UD+V\&\E9VERO01@#U%=EFVM0'P)X#XM8!]B@!W]`# MOJ0']*@'^8@/_2`81(!AL@&*541R9B.8#E3`?LF`_BX#`W`=$X#H7`8^X#)' M`92X#,W`9PX#2G`:>X#5(`:]`#F<`.=00^3QS&9^`'NT`^.@'S$`_0@'2H!T MB`8J@'`4`X,@&1(!ER`<S0#JZ`>%0#I"'^<QZ0=`/6H!\M`/H(!G$`VY`-J0 M#)4`\`@'>4)\B2*7+(!YM`.W0#W*`>^0#ZZ`:<X#4/`:UX#@G`<)X#AW`<UX M#$>`\+P'@.-]*=<;\!H/@-(\!J7@.(<!O_`=DX#M?`>YXC<KH8]3P'M^`S'@ M/5\!U;@-FX#5O#90Z#'@N`YUP&$X#M7`=[X#5/`<0X;-DIG*JX#B?`>SP'*X M#,.$R!*YS&^`R7@.A<!N7@.!<!Q/A<*2_1?@,RX#J7`;EX#&O`<7X#7/#876 M,8K/`<.X#->`X_P&#\!S[@,9\!Z/`>3P&I>%R?<XPHN`^S0&3D!]=Y,Y**`R MM`=B0'OD!U=`?U0'L$!D*`RE`</1/HQU/]`=!0'SD![`@,QH#X5`9T0'W:`X M(@,L0'!$!WZ`_*C._CR,X![B`:S@&N(![>`9Y!<&:8%P#]\!\OQL86.DEQC. M/.`9#@'_H!YF`>Y0#;X+L*DGKP#V,`_,@&Y0#+X!Z&`9'`/\P#T*`>I@&#H3 MO2P]_>0#,X!JS?-_@&%H#E;J)B_BH/LL7<`R:`:O`/G(!Z*`?!0#[6`:O`,E M0#48!G<`QC"]2[N??`-1@&/X!]*`?1@'T(!DD`QC`,*0#.,`S5`/EH!E>`>A MP#^6'>;YDD<`\7`-'@'X4`Q7`/9@&YH!N2`>R0#68![!`/B0#Y\`V*`>\AVL M9-K<Q`/)0#8T`^'`/Q0#TF`;/@V!@01X$`SV`;-`-\@&>P#:$`R^`:9`/_@' MOX!]*`:U`/1(!M+@.0\!V3@.T\!Q#`=.P')&`Q#@,78#OC)N[KP!8F`V=@.+ M8#;6`XRP&UN`[3PV9Q:H/`<I8#M[`;&X#2\!T?`;X8#NW`:=@-C<!U;`:%@, MIP'48#/^K^!O),SJ>`XNP'$<!L[`;58#,<!R+@-H\/EM>EA54P&I<!C.`U2C M!]D,X#L3`Z^CH@9G,!M[`YRCUZ!1P&O6`XAP'`8#D/`;X8##,-D#MD/5P(*% M@.@7P)3`53[AQ8#9N=4M^,38/?<7)]""M#/CZN[*N;*FK7@S0;M@D*F)F*J6 MT>V,:590TDY;YK4$1C3*7I1)\YO?_+Q&Z&I,OG(WP<YHBP58E6JI&&"[/!S8 MYPEI:&W_(<D=SM46,WW>I8T%N\#C(R,]]#AFC/*^.8DC9$[T`\$R4'RYXZ;` MXAS_#OFFGP<,07^*,4`[%\#@!<.!3X/4VH!]2&>X5$-;C^1J(\3`988:.="0 M`\0>Z><(*!&W&V5%_`@4]`?MSE["2?N3N'02#78!L&W^S!+7^N/8"V;G=^U` M2@O[U<P%'_J/M)C'IMF'_S!O%_/JUO='RM88)^GN*:_=F\94Y)2/\23)&^Q4 MHIO"KK0IND-JS!++5TRI=Z6J:Y3:>7AIX_T)J5;2$KR<"2:_-_UVDR%^EZ9\ M"?&9C][+S+D\U0"%4)_KX3`'0G2^YG*PL#OOA*+&W5_S<%GA=D+)'?8.;'%G MZ@23-DF-N*\U>%F8ZX66'JBSR=867XW29X?A(-UW=""RX5B+->LBP2U!ZX06 M)<X$W@NPWB0Y,;V*>Q/1"IL,`Y3=]B=.8'(/Q$@(.DBK^S'`V;8X'</#.^XW MFFV"GBU,C00_T`HVI_FMO<97'TL8)H!4^-G7ZW:Y,<`67$!E8L+`[?.D=['] M9EA7.Q,%%!C9VJ%E.BWXO:OIB?I\[&1DA#9XCH[7$=$J9&=5H1!\/Q%BQO#4 MB+U-0$5@&AV($QCIP^#BK)ARRR_KMJ#^W45L&AWQKH"<Y"WV%A;)/=&;P[3+ MC?)N+DQ/PCME,MQMI43L6!AKO-]*<?'X<OUXUMJ:BJ&^8*.QW$7MUH>`]--" MG6?E@T/P%`W"B:.]7>A0E;LV>1GJ`:KP5*3R--#'_L^@S_"`;(D)>O^;(9@E M721-67+/`LF+0`>4Q,)G2VVC6$1&6Y0PL1PQQ_V:C=`^AP+]D4)6[YIW\R`< M.PWH$XX97)0V8R_O9UNA7_GW]#>^71Y#(F$Q4[(U^#^?^6EDN""?Z,]IU:[\ MFTY^C\-K]51TS)X=JA1%\)E7BB:1>,X2RD(L!-5M;.=D3D=[5%4/9D8-6*X: M_OKIE%I$V:M$Y_?GJ@JH4GRCE!Q"'1K:MPI+A$/));N8TEP0U\N(6EDW57OG MK:Y3T5_T+]^!"NZQ=O/F,_I][]"F8^W;6*MO\6A`JY[2J7@P1,>9>=G*L-Q] M)/M:+@AUY#!.;Y[C0X;`Z8;N'$O[[+[#%S*E]K_+[.$GZ37^I?J_Q>A1!WL? MG+@E1X1&4ZD76=:JYVV<VG`D@#JZMU7N>OIO6+CT,X;76=.)W^;7$KZO_9^+ MI^0L!$HLYU*6-S]G+77QK\V)U;V=A>UP2:DW:9[UR3*U5*FM5AFV,-P<J^5T M-'6)J?E\>Q,\W9O3&.-MEC!TE#$V%&X/]%%@93OB!IX[H:%E2(2^L]KVS,_" ML??/$ZNI!2OJU9HYC^M#+7>:Q;RQ)`]6>C@7;.*7]95F5)UCF?2#V4DWQVN_ MIKNR]C`#Z<`,_,0%PM]\3OFOD6J(95531K@3ORDSV!++SZ.I0];,/'/Y/5R3 M-<JA67?J7TL>KRD9>HN7L[-E)FKG@4(DSXR1,\-LF<V5<_6/#L^AK`+[0&?= M)<S6!X.N?3BP/&B)Y(MYTM7Y>,27RI(D:34P-.JQX?>6H_6,2=\"HILF]Q:- MV#[BT<>?]-16;&,K>]+@;F:!&W2L.S=W"B@>J1U5O'.CQE>URXK`F6@&LP45 MWU]3K1NS25T,IL=>O+';426/.8R/RAU*_W/T^(`8IWC_M5/N(X%+687YQ[[$ ME7LQY@5TS$AV(%7#NFT]5&GU%"O26D6MLXR[TF=Z&S!\-I`9O`:KGG%=$&U_ MXF>O1G<*EW[U(VL(0^"K:D:VDC?<;@Q/&VAC.[*KO#U\DCU4\RVZ[CB36+IZ MVM+Z&.Z1ME(,[EAT&FLCJ,&WO"I9$8EFA&G`NM8/`9I2L9K(*DI-@<N'MJ=E M0H44<+_B84F)5?8PB3-$O<OMX'WH)2_0&7YJC="EPW<A3W[?):UF/CFSI$1- MHJM%H%2PX`DE4RZS<%:*#N\]#0Q^(A<U\ST;3V1[(=?B^#Y%JL)^A"JE+/D- M,COY!"D'@33+*/4*&S)I;@(7Y75K<K<,[#MPS?#,4'EJ9DL(K(K19E`ATE>. M@9YA:3N;<;QI*KL229T0.Y*.*P6G_1L5\8ZZ+&/#1X=3+B?#G)=+/LC!"[Q< M[AIR3`$O2B`"V9^F1?-@+1KBU>8BV3<6A&!N^<6R1?DBY_$M*`1XKA`W=."0 MR(8%YDU5<]F0J5>A.]+Z;1FMU)6,U5/KH8-K'CP!2O@"RVKD5)=N+;^TED]$ M[*>N898I@!J+&T>VSSP.-'A6;/"\JMKF0<&:=&X$T?CDW5;!LT?CWJ:5[=GK MM1;JD=8NW&."HFW`N!7^_/K10%TH[C3\1VF<Y+S-_.ROFFD>9RN=G,LC.:VY M["-L?J>H9IMB6V#T5QK<%(R[@@>LH0S?!UMVQHH;'6!06KH+^7[.N,J.'E!7 MFG?NJ$HKK3%IY;7F3[L?]OK%TH$Q0<JQ,ZA&Z:F"T9VX(.@673B+-=M!G%73 MVVX4=5MYZ/&Y7[[R%B1BQ75,2O*VO_#L3AK%2*\F4LOX/1AA"S`YDS<X/:A?_X'679\KKL]0 M0?Q,;3,H-J76%$"(#O=`7LHX^G#]>=R!(GE2+>MO+P^&N]G4QZ>G<F:'K!/M MLV,MO>CA-9Q(_'JZQ+#PB'M@G,A7P=I/JZ3)ONZT'FYDWKR=?\57!^IZI9X' M>OLM'X3[!KZ[LDM?G>8=R(K659KC+K)TC@[VA[PJ^2MS\!V.+MNYJ8(8#X+; M<_1=AQ>PG3PP@(N"9^+_@.S"4J>![8-BZ\BE9<B.)1<-6[N$`K?8O,$I1R-2 M@7$UW_2'<RO3]<'@G9'?8J2<UI^_)39JY3>)!&,:K*`G94-BODT!XO^\5K/J M76S*+NL<!M]CM#R.OVQ1(P5^>>D+HMUS,F]Y#+<(BC2]:]RA]FQ_Q,L*JWD] M^AK2S)WFUD)QY9*V3TM-PHB$8U)'SH+4L2+5KC_Y:VML-TY&F-WR-UAY-#@` M)CD`O,K=)S^,-J6!>C"C!/!FI?FQ"RPA-Y:&$/>IZY"8>JFZ/RXSAWRYPZ?S M$#VOE'),E%^9QL6]?B^J4SZ'\&&W'Z_]X]GX"JHJ=Y#5\/K;QX^^B(8UC$0& M5PVEJ*V[',^V!T"2P-P:^=L"L+'*Z^.08#7A1+Y>_<\=?KTF).Z3[_M,$!5X M.^R^%/^D]A^QC$76&EISBOT9=#QV&QGTF)9Q<M1;T/`*`D8\KJE+8UMC8N#" MKC!?,85I3">28"HG8(H6-&9"==/G!>'3:3[^#ZY=7P9)IJ[H'%VJN!K1@ZZN MRO1P-%GG+>M`1BID/)O<49EGW]!B];Z7;8YZ93==1N"NN=A6;>?<BISRO8&` M2CQ^^C[T5;MWF+)#YN_8.K<N_N3XM"JAZH^"DQ0JWP.T^:B,*K!>\/NLXRIG MJ\3)J0M1VS@("[#<`=-O;*)-7-+>Z&Q61VI6F6SG!;\,C7T[L5FUG#,_+6N5 MZ^*38VM[*T%7Z8T'F=&)OF\)-9T)Y3W6]KA66BT_`MR52&^LGW/)PL]_O/Q_ M0\`&+!(A8IIA[M[/]^^[$S8)%N<(A]'5R_F,9GC_8B5&F_AXU+JLDSRJ(@?[ MQQA.1?^#D:<R/US4#5`+"9J]7\K88^$B5@+-OCS=R%Q;QNV4<MVRL(?D60G_ M6LH3\=CS:V<J>VL#?IG4)09"O6'VPRY0'#13)]^M=HU"\(RBR%;5D51[:,T@ M7/N:,F1]TW116_P2]=Z1E?FK#8KOES\Z<*5(ASD=4:>DF\QA(#7'E3C\M(', MYDP+:K#QP&__LM>50*B^RR?8%LTW*.KLOR;6%!DQ78(<@^!_=X'T_NN4)Q`' MA;P/^?ZH21T`>M/@]T2D[F:P!]V?!]!RV;8;W9LPTAG@=!O[C'K,%T3!@\(' M:0#2_&",MG>YSJM'#DY%,H:I6W7.GI2/I:N:\P[Z+A$&9=;7.&.BED\D5_85 MK@'OY.V:"6VRR_6&-#ER590H4WNH(,RZ;Y[,S%X,J0D0^[<\D:`-4!ICY_+% M=?8W]@"#'>5^M9F^H&0:V!YYP\Y%5!__%3!-149-5P)KR?6E9'M@;V6/4!,* M11:NDY`OL,?'GJ2<33M*Y\@_C2N][^=$!_E:]W'NDL]#%T$T@1%PYB=^Z)J1 M]CB>3T&[V-\.P>%9)M.!1P4'8K#X)6^G#YR"MM9@#S^.L>H6,?(6RXNZ==TH ME2DP9SN;!WJ?B370R8O<YW:U'7WB5V'G-$\>.]:7"0I#A'Y<$]#U1K/3$>DY MA?EX+AW6>#0+ODX2^R?'^G).LPG%?LA"3.3D^+%$>+7_38]<JO91NIVRCD%" M37V*_%AJS^R%A\<K,%24^S!4E-_`K*7_0$V)\L(4T]K*MKA*:%!%*#[K>L57 M?#N.SN+SYSZPC]&#>;FB.I.$C?>8"^*_^OY3QUZ5V!_Z[[^Z,H]^9]O>YCNX MANA9P3*_@+1E'O]Z*UK9<ZITS&00(BF".\4@_7]W(K4Y'/I!#L8\OU\2?:-6 MNWJ$LI:E+ORP<9[BI^7$#>GCB<N[AM!O!X"6@.;C]G,2\*ZPXPQR'NU(*B2) MUA5>UTQ7)CFZ0@]JB\NW(+=\^K(&GAF7P+73=:OV;SYN&J[BX:J_;K6Z@IZH M-AE$#'1N+2T@F'482S06\+IAA:JXOU9RV*!]0F8-T?H$$/V?@:C(:K!*H8?\ M!<"X40(,H=[!83*\%MVL""+$.I%C<"ZX^@^#^@L'E=X#\HJ-*TP`IUZ1Z[2N M?:M<2V,!:#]XXYGV^D44T4\"G_[396T2O+`2(^R6+T>Y6^:%RVX<3M<A0*RR M5T`LK?E[0,SJ_H[<+METJ*6IE3-W0[%;WA:F4#;8^[XIJG60;;ML2*[G^5PH ML#W+U0=KZN510W&:@,X?WT1-67)[7W3LH:ME9SB;S;,VLC#OL9\=+?\.=NEX M2#HSJ4YI)8]%4UC$KB4:D4":V'?@S!VM;&AW9SX0<;.$'T\$2Y8W$7(.4A0X M@X.E"?H/B.;?V/JBX*%<,95[;?3&+XP*%D4J]G!6=T49)1#ZWH=UWJHZY/BJ M9<A^P,=!YKF\Z4WM3Y,1O<=TB36K[8_UQP2HGTHG^MO9%_9Y"<9%QRC.?H5? MA!>-!:QMO_U=D+6LTG&'VY+"9W*K9;D?-^QDVYX4FX$V6;^<M;=B__*Z>1GY M)U&-H7N0X=VRX?RY.+JJ^];\%,$%`6Q!IS<QZXB0+-,O\G8FD`)MQKPEWT"V MQ-[C3<$5!0EH3`SZ199H#Z^>S^J@@=!I1DDB=P0L+YO"7D<L_JW@")Z?[QY[ M.H)D$O6H&PY"^+6L_5?QYYX?GW_^,GFMV@)6CV@/QUH$`F"+0'N%M9:`>7X3 M/H+0,XJ\B?'["Z59?O;U_N8?2L:EZ&8RFTH+)M+F]0R^A\$,%L0\%XB8:(6Z MQ#2['@9I`TS%E_+*"XU*-!U3+,!N@4L0(]*`H!2XVM_\;`T!#33N]%F:K<G+ MH098!&SQ1C1&OE=84WW9[7S_59]&#U?=O(KWX[89U]L+6?2STI.?.8,VQSD) MU^7D`Y'GVGMLP6;[*DV$<@[3P`K<R%Y.D%Z-0+T!))ITOJ$9G%M0W0.N?%`K M=P>V9.H^=_QO)%72H(F`?4E=K_@>8#P<C>[P")EVH/ZG12[U:ZN@\KJ[@SNJ MGHP0%]5,D=+XE>*N5U.';]3K*J=QU5H[ZW#A[[D-D?:8K-,XC&*0YYT5X_UO M]_*4#3,R=0`7,"YS$24SW9I*,#Q]6[[1<_[XSA$#A_?=[0X^P)"_O/Z(P03= M`WT&_QG+C'HF[10`(&&QZ*D^^U)A+$%V1F;T8D"&V,[@YA%L?QIJ(WEY0OW9 MHTX'3[#8,;1^[1_0[$-_1S#CT7_8Z_HQAIO-AB%,S5R&7YR./08JSKM(Q8*, MR:YP0NT?`/WV(+K0H4UYM6!R91:9+B1238SN\!19HORIEM1Q(#Q]CO1-B20- M[(N*^"\MU"&?*9)>N/(\JY'53(%\60=_JY.40/<\)]9ED_G1X"73`M*M]/V] MM"^/C#)BK^.PBL>;EY[?MTPG__F>S.]+>5&5ORA$K7M;#<-&5?]Z(.Q8Z1AT M\"-YGFZ(JN2/8?7KI?=.$(G'?#:YI$-E)EPFU@,OOAC4GXO'&2")WPJCPS[! MZ2U9!5!]G<,W.IY(PUO@];&/U78#>HF<KWF0$@RD^:=0]L)IAP8GC3#O*C35 MA-/KW'FFO_\?/M`C$K*?\<I],X6AF7?*A3XG2+TR^9F6ZY.2>98YW(TLA+2A MR1:=M)(X,&NJ-5=+F"0T'HMA`$"4QY_!P9S3_E_]16QY7XPG@`*-4M6B_W[L M`GADMW8MU%,[ETI&!(A$DKVQ:D\F1%$C+GQZ2-CT628605%>RQ]EA-I5T#AY M9%Z4#=A.6I\0B<YJ6'CHB[FC^I6GST>#]6_K`**DOHH79)?`V]%AV2=.S\EW M&M,TDWG'2<>WVJ#_1HM:H33M-2#77Y$Z?J"_/U%=C9G5F>U2N)G0GI]=0(1< MC#S>\&H2K:O-3BRN0U\&=6.6@DS!W>I\./FJ-)\Y84N45LPO_KOCT^D3:;L: M^O8ARCGH$U0T@SJYY-5"YTC:]F3QINU#7YP;-W<@@?3W37I["15N@J]P-ZBN M<:;I$$\IVGYXX"&;)*)%46;:XOHP34D$U@U"H?2:F`.CDW"WN%L9/=]?EI5# MI6\4%$)>2H%G0^#SYC[FTF&.EK6L`F*?2]GSXA+1&#+[R*2&HF`1_K'5]?<[ MJPW0->?%ON"9G/B$X+]EWDR>PL2+B^#%=&[RL.SL!VRQ)-MLN?'D&^*6=(G] M8SKF1;^%QPL?2G:8=T^4!WUJ#RW?J-"&@VU#[+%3_Q=+$!\YR'%)_W$2$ZZ) MZA+'EHSC7O'A.QN0YX.3]O=-M\.WXOU+M.H3-_6?%H/(KPPD2BLQ_5W,'Q;E M9_AL+%,FMHG&TY2JW12@&;?%5RC=^N1?N+1F&#-]@@^@G@G->LR(FBQ^Z@"H MB`;Q&0&ZKB1[$A8EA8F=`C:V8&=315D`'D/U1?>DV\U,0H(=NV&M]E]9(X#N MWO7*L9?QT2D.!8&H+PL0$H4.8"PN.58W)01AGTY6-6DCHHNM)$%^;4=(Y2>3 MJV[(/SN]#VELC2%\'7P$0Z`>$I%FB#T$B,H8:OY<AT7&K5UA<%X[,X3M?+$) MN#4[@*Z&GK-4"DF`'(4'V:,U?]M`Q4O_^SA*&9/A3#?'[@I?2[04B="Y<7F/ MBG`T-^VR&PS]TC[I&4(G_O_=XXB-*N[W]_H'7V3):6E!Q<@R4>[$4\`^?![$ MDB%(G-`IG1G^9@T6A41?A4R$'PVM?)B]!CC$@EKXB0D*,%&&8]]+>/@'YS>% M6#HJX:#,"3K_FL"<0:P`^O/Z$%'FYH\@B!2K?MJM-T7D8*>;.LZ.+ES>T-^P M%Z@P&0\P`NBQWQ@;]*E\:&[/<+:>_*5<).3GO"0;`SW9'O+E'O\P'OZ+R!8/ M=D&9CUM@@/O_0T%YZ';'J#O\8.<07Q'XP]F-RFT`58+.%="9##?)=J"EK/`F MD'(QYPK@V.?A1]',UNF-$=CGY#@<<HV2=^RFF31QZE)SS(0&/2)A^;'J@[(( MKPR8A<G44DN?!^C0L'YM'^A4W=1136@'P?:&'2[#U?M-4>A4V'E_P"YSZ]AA MP"X-B_0M.\(F_S8F<7B)@3Z'.K8FM$6R[C*+*/:((B[P*ERO"/Y_6BU-GJ;/ M_$GE7]9T"Y7/<\SEF\+OTSIP>_^N90JE2[]V"OL/:/+GA$.!-22#Q6[?C7WA MAJQK^(07)N6&)#))'G8-,-M'F.+BJ-Z#I"+D?=`SWN>,LZ&2$L(^78BZ0E^[ M.-X)_/E4M(K?Q01F:B/"QJ=NO'AAWE*[=\8/BCIJ%HQMI6++)*,2H1XJ'S5% MRM-P4;X,V',&F6QT[`X1X`R"?TS#!]><)Y2\CPAGP2"SU*]?!`OJK]!:Q>8< M7WWZ*X`(,QFYCE>5?V>NFE_C@,DI5SR"M6,4LKB)W*K=]\&TWYR49<7L%GF< MI@E*XGV&O?G]V4Y$K)GS\WV:/V8I7<(B^K^MDW;=EQ[!!B(Q4F3VGE0\-9?@ MP"2MS_,$?F"]=A.+@^C8=@(&UC<O9YU/9N>")(*TM]II'EB9Z?JE]XTAY?QG M[P,'\$5X43D>^8OB2./G#@\Z(-]U=!B%Q4J^[.I&%;7'U"HH1\IH?1'P\4UY M$3#;@IO=ZW\`E$YY?3A:%GS!03V?3D+D'L1IWGC<@IJ,^,VF8$`;>F;QBB6W M3;'P0=IK30GW0V3\=IQ5<'D0!(BJG[O<RA09%UHQ'_I6<D4$2J&>QHY_'`]: M]=C'9?$"CH[@GIX)MC1BENWH<>8@9?8%[]SE/2]B!3-W_A/HW[:\>286?Q8F MF;WM=,W3BZI([2T/]>IM/GTG;C@<-27(:-G:SRI@G,XSIA9STU-F@Y&Z6C=2 M',CG;FCYL0NCZQ//#"&E3*6WXZNVTK.7$.70^Z-D<TN"X+$^A#]#C&";YS]G MW&YKOYN<5FU<)<`4*UN-_]!<FXB\BQKD%Y(,.OQ)J)$0]_9<A(@3E*G62F-$ MP)T5-D;QQ_1@\A=XLP+Y!<O"DEPUBB<I.J=R9".52-D$1]ILOYD8Z[5&SK&D MJ9`/6:7R-HRKS/OB3OIBY$_&\K"A5]H1WJQ#H86#P+XLE,&?)3Y_D[;VX'R4 M!'R)=N[@#C3=L$B,B\!0"\/@F#.^\U+49HPRRXL77DSE)&[<;=`HK:_X!*0I MH*5`.R%(_=8<#__']_[HB(HP]&M7[;DR>$#JZ%GN7R_;QV@OFH':^?QOJ*<* MP;OI<('HY6]!?;BE[(JT#*[EMSW&5V8'#[X)\MBC@YPL)Z.IB;.?KMR]N]T5 M^P>777ZW5^I(3?X.LDSR-RRV.A3KH;$X]L$[X%68A;9?^"\`C7W`&#YT!UDA M78N]`<*UVE3CM<&6J-HW]772,G+7TW*V.KWF;WT6SI0WG/Y[X#6*U:%!.BG, M!^JQLD6^F^NZXX7#LW7IH[0&WUJ1X+PK@)VY;^6LFW<F,CIK(%-T7!JFP]^5 MO_)<'=:K0TM@D7W6"`OTPP<MDK2Z+4V&YRE/JRE.\=.?RB*_&ZN+W$VW-0/V M>ZJN%?3U$&V#LT-/X8M?FR>(9J+36HRF3L/KBLGTO+T;,V'A`C+8">RW&X'& MN5_(#<[-^E)U'B*$*'V!`MYPM%?H[M3?*,*Z5O(IT8BQ=[=_UN<[D5\NH/'< M6,!F;I^B07X7<5?YTX(6[EOFEEUHVG]=VI[#BN(075N0OQ<UF1JNDCK&8YNS MJ]8[O#[SOIEKZP#=IH:G7N_923?F_LNCGH^6&AS(:`NN9D-055E1,$2,WVF% MGT)CCU`7;">*MR6`;50#H>:0QM":7BAI>M)Q-2>7W86)&AMS=J-+9T\TY3%% M'!J15_T*MV3X:NU]M4S';CV%Q8="1KMN/FUKUBV.@%ZY]^-P75#.I+_YD][N M\I?.XU=0>UK%=JQ^_54I09>0F0E&F"0'[MP._ZMITA\PA+7K$:K=;2V#:U'^ M=,W2D@I=UO+(%.^D8.K1T`KG_-X_0"\N/AZE,>[N(6LFKFZ$POV>J0-+5BDO M=95,2[?^Q+1G:R]K#@>3@=DU6*G]UN0>O>K"1/,0O]=G26(,]>.-]:1YQT>C M?&8@$V,2-QACSB/@LXEA,_#V&C$%Z&Q'KGFJJI9O[(AY62\YA"6WL9R:S[6> M*U%CMMN*WZ?*.UE21Z!?/XP]+_X3BA+=%(,IE:EQZN_$9[YGMA?[<-VFW?_R MX?BTZZYR+AM[6--_^?*+5!.IEU-T>D\5>0X_CJU^7H5<>".)Q#N2J.//95]\ M9B&5L*CG":TG,X7Y?CX0^GB/#)-*WG2A>W90T\#(=&+VF=#?L0=!`(.X>,#, MW*=>G9!S)<7C/CF*%VQ_'R5&N8-VXO')B\W_"!$0P<#Y.IV^*()E[W/2)H_N MZ^[:P8/LU":.A-;7D4\6LAI&]B+5&]W\QI];X@*2U>=O.W2W=[`\K:.NX*O( M=S.[7&>TKX_2G@(L#_G6$QJJOFWFM]U,N/_HFH@B"&=S`>#@:MMDY(9V/SQ> M.:9`*,<^K\`_2X<8WU)YTKRTB(FP[R>5EZ;F00N=!Y_*Y@6ZT@)NH6<U^`I% M+D;"1"&Y/,(81Y<-0IK&YY]3E\/P<`N_;LO9C>-7.1O^(H.9Q]N/XMO+%GTO M(!]N?3G=BNE-Q^$5YFQ#KHTE(Z.(GZ*^K<&G!HKWM5LQZ<0$709H5JWV1#Z; M"C`=6.<>N`M3OQKO=[JK;.G^$Q1S.FZ;ZC>[@+`=!;NYIV`XX[\.]L]8":?0 MRH8(CORCLJ9Z&N9-OI@6:?JH)Z3`GQ3K][,K]2U3,Q#<@X33.]1![4WC+Z]= M&7GCP1_>B_2_5E]9I!PI#P-J.S4-I0W#R8J>.BCR/O4ZX=_![AN:_4;^X$+6 M[AL.A)N$]<-!NV;98<MRY6U227!'`P0MEKMR'&&B6R&[5UE?!G@MW.N.Y?Z^ M<]!C>8P^ST#<QX!OB]BIU\&Q(K061$6#\/K2C0XOAWZDLWC)51897[U*MW-5 M%&+DX;]S4RW[EFYB\T4]N>?,0!7HRA#\4K!+B'`%MG*]%UD;)B5?-)3KWX+S M%1$@F_U2JBLSC>JI!FTLSK*:!Q:VPSV^T[0M@'R!NK"(FN.,@0C9_D(_>_H# M)"E`\K$,7>9KH0")KT$EY]XE%>RB(I\#95GOI.>L%E<*A0?PD)&BXJ&^(D?6 M2]:'*SP9X<]U^.'[CS(VN9$Z/)<#NGLQ0X$R.MC'0SUL9WVI@^+</[ME"<B\ MCYX"XO>=!IRV3<.&U_P+8,4.4>@W.))4(Z89N!NX)XO$8GSE]"9Y$@L^X>[E MUE91Q;#"YGF<_KKI/.S"[(O8$VDS_$2ZQ*XRGI=_%#N]CM"\Z9_M\?9D?K-[ MFKI!/&AB:GOH#!4*:?6X4O6X<P?^4!VF,0K;+GP"4_59^@.C3+>C^9N5$#]. MT_JNKG+E>0.`YBLV5Z:UFB]\$VRZI%[0>81A._JU_*ST?PGX2EN5TL.?<\>R MO5/"FC+5'NR`"6"]!HS5@L3/1=#%<(`O>CBZL>.6+$>^KDG+::4BFC\EA$GC M++#(?7^AAU.(_]0E1G/J7O2Y^]H(^OAR07.3V`088_MR7V-8MYL]8U3*1%N_ M=YU?&&\PQC`;7U(<R,4S]!./J),WRG]=UMK<T>Y'3`Q`;F9E7N.`;7AF5+NG MYF>+=VR_-N/R_!OH=\L5[E8]0+XJO-#BA0H)-#(F1[M]_C#H@65(]P3F%T/B MM6%J6.35)E(BZHYJ\+ONF?5T_\110!O-=G()V2)^I+1>+O+/>JK1C&W3DD__ M&9M4ZLRN?KOJ"#VM<R0?++AJ284@'T_++\:H)O+EM?I+939W?X49CH'Y\=^Y M/Z(?E=F6?C=H^QB!_%6X@V/QA?M_F6'_&9;WM@A-T/9[YK@8C?@D^+_6D"RP ME)F94F?WJ*)!A/UB60%DH+C)11F6]1?N$)_<E9DD@VEMM*_M[_KL"U@&(#OT MEM8^-'Q@UY=_4)N?YMR0*[%9-8R@`\P,)Y/XGF\)BX531Y>7LER(@E9,:+." M-._=(BTY3_75$AWLA-R!1DC<N=S``#ZM&I)-]R7[7A>>=Z"R50R$<KC%E^/% M&RCODV'<*:G>Q1FPJ:^P_<IN`HXK7E^W-%Z^9"A_-YUY4%.'?E(G."`N^/PR M[EE^6"FT?'3_)J&2FM@19D@N]`R@$9#NO_,'>3[_12]5ZC3CA3GL#<EPKL</ M#=?,PE2D8:"9A%'B?Z=LTI79X5]N:/6IN6!HNI'#6HL:?#M!=Q(!\ZL*CY\1 M]D?>B"'U;ZW:X4(.^`=O\>$\+$(^?7O0FQ?0N<A9EX\^+0NW55V]6](Q'<#8 MQK6&^&529A67!\CFCQY3'2Q8RP6U=4&&B>A0E?)KLT43]JT](;U1P46(3C5D M9,]"OI`0N_/@@*6[1IS?#PR0]I7LM2XD-DTFQ'GP"W]$QRM<0^EH9GX268HS M-`/UG7WI.IW+*YD&$L,T;65QJL%)F#>NS%H\))P:M\^@Q!&VGXBJ,<EU*QQX M)G$*'O-:R.Z73TW=C4"VX;UD=Q(&R+2P$O*]>/&[:TK'1\/JDPP'ANKCU/\$ M$5'$-EX<4W:KZ\].Q>U[O/.('%3.28'!,VZ-C%R<$#^LG8.>0DF)A4N!OV\U M@-YJK-+4]<B8G9XZK6%C>K[[MPN>'2JYN],K^?"5CXME%76B<+J);(#N[YF` MV]UV"E#H^AM`=(Z"9CO1$K>4V-LY8&V&%J<+66YT`XDE\0:CAL[V'^(HN?MC MDQ9\QA.WG?2ZW<8Z9&P@N!'3SV:EEC]<MEW)*+4M=:D"NK*#4!Z\-"OM2EN9 MF\C:/HKYF^KE;5AX%UV%@5',@<VS/<#/G.:Z*FHG;C@&:QZRBS-[#XH.$90I M+0^5K_N?[EQ/XN^CA)U!MWZVZ.NKT-CQ96+$PC\I+%Q(N6HD<@&*@/-"FD_+ M<`6WG[]KU`4C_@=VO?`<_?00C/:_<O=KKG,:P=0=DADQR\L-^%/8G>-M34P+ M,!^?TU/K.Q`9TZ3456[:_R^*=_NS5:B-AZ$/],%YTA9O1!'P)N)FJ:)M,934 MB<><%0BX)=_RK^:"G!>>J?Z8]2UV!@57FUW("VJ7T@)DA\@47S_I8/Y#ON@G M7%)M]\*@E8\4G+6USSP%SS)P@+GK2VS.T`M2RA>JH2LP87J[8(#KUAAL7!ZU MQQ=829O5+-LL5YV;KLZ71X>+X_7>:Y?=?*L6$IFROSPCUMK_A?,+-J/Y;IUN MZ6F566!I[78'ESD-/QK)OIZ:Z<_L"GL3+>OOB!BD)^HGR@'1'V*$5ODN#Z8K M4TR;:$FRH\6&!SZ3QXO@V"/F-\SQLS;O%M%\K8G?EZOX?3[T<"1@^\/(L*)# M\W/+:&1)W&YOSD,FL<U8&7P]W6,RJ\']9AAQ4ZG'<G@^3*+K5J>,N;=06&1M M0#AA=O:<U'^Q;0<??3N9(?^F@JT_08/YXX(7(S58F*BLM'J^G\^3K&(O*SO> M/L(#E'ERUF60#1X(3C#:Z$Z@MP^JYTKO/D)QY"<EYH+RC@8Q<XGYVJ()V_YZ MNF_E10S\N2[P1"%H1Q'N%L\*;@#J#_*6R^\$OS0@'Q]1;"7-.U5>4J&"@2H= M[VLTB^*?VOOZ_(BB(?7X#R?OHD!T%GOHD1KE!\IM'O=WL"O6#"=+]54."]S- M<UFGT)VQM:B?UA6G\!MT9SFI<.EY8_XK>U`/&X-MGO4S>[AC(=^7@H[7F&WO M,ZC^XI4?A]@_?4/^?<`+Q$_@Q!_QI:)IX.]N3NK1K>>D^.YO2@6OB65(2":\ M#3C:/78[KG3[/T4<G&P\QO\'OY\0_FNZ3[&\K^"Q:&R(OE]_H*,_L_&+XH=F M;9B&W:G&('F(D'^USYZ0'CU3MOT,&!7<)Y79#G=?HA&+[`-'^:K'FD^WXNOZ MMK23&TM4^NZE"4T]A?CG]YGF++Y*P7S=F9WV2:5\WUNZ^"V1%[B^%+!N8.4A M'6_H?'(]_WD@9W,L57Z@&`;,C=A;>O-;F#5>JFFN.:-V`?!@RAROPW;>;&1D M&/YKI%.VOST>?/LG!I)1LTX%^!P;C0/#P]ZW[DOMQ*Q>?VZ1:$#^%_2M./`< MCZD&'V'_@>>%@Z[Q"Z?G7[\9M%CM:1@^&*<(CW'ZK:TWS[VY/.4R.T:!L\NX M:CF'_$NJU"76P\<Q8&B75.YIR^T\&?EN!).-UM2ZK:U**K$<0YP\&%@-\_A, M`C)^':H4"V,,586.>O)5MMAP*V]:Z`#$Q@YOLP0E'VW]1'>?TTA>JI_#1^ZH M0TID55\'E=*L#RE=6YSZT0S'\J(F(Z-@J]/,AFC7X"%:5:[`Z'7E!$>5++C3 M2I80O1D:\I9#98,BE1GS)W%:I#6-6E`8*2@:A[YK"KF0R=7;QF1DOY/+N*/= MGC_@X\6$7?;QGW]I329LV9]>\1WZ.=LX?5^"ALVB)I_/;O8V(J-2JW6+M#4^ MBV?O'>`U-@H.W(/]/(G^@!]Z>3=;5-2`@\Z[I(VA\B<<)-M`=%2]133Y8OO= M\:PP^6?G7J):D"^PW3`.,]S,O;9H@S@.5KF4<2M5&($<E7`B;UKAU2&O,F+K M9+VB1[>`#_^-ST*O14NZ]'=$S8NRM<V?B]`U.V#5!C!IRWQPHA!)9W]2$M-: M:SN\QS,B"U?I-'4J0$5.Y(:X-K9408;PR-24.,6A%C:HC3-LX(BJ#!KZ6:^. M89EWRZKF)F&39?CZ66:^B=?$_=>HS62%.V'.FK6F_$X?LEVTC$L&\?U$RE!% M0T:[P7J5&V#*BX<?J,D_UVKL_:>?LT/".ZC&NAD&!9JP%B?/[E@GZ])6P^(: M>IH=RP/+\W,%AJ.WZ=+;U!MU)%*,P+28I8[G]#P9D.!F'L#)DV$`0=>*1HI6 MLM><<W307)LK1KN;_%$6``&!ZW$-8%97S5HQ<RZ3I>6;8DW6]ZC$-B,EB</1 MEG(O4L7KGN#DA/OOG_AYK8?]>TMOE&SKSVXYK^O`O#*=`JU<G[[]FI,;4%#1 M/XYTS>+];M*!/'JTUXN<J++TNXL\]B)?Q3V@,_8`EXM6:X4NN]"O`QF\+W@Q M/4"]<6;>0$#)/*-YG1$WP=ST>5^WQN<ACFM@99K(YJ#1*)`_\@YQ,LZ3V,F@ M%HVFX#ZTR(ACTW'C;#!X31[[@F>^TF616'C$08/BP[R\M8SY,"3##(.X=K): M03J7\-E?H1C6C-*8W:ZI]9O#]#<S/B.Z^-E6KA9AZT??;'7>8DE1>WUZX>2N M#'(:NPZ98UE,N##;2T;_M[*->J$RS]1?"`S9G!6Z,\%ME+6$/W&V\)Z,\PM] MS<>G3NUECXHWW@QA9/5EN#GWK5<N`NZ5Q!S1XCGES2%+UO;6Z94G4D.+;5(+ MFFOG@R[>VRHO';^#Q^Z[-\OW8]=I)HYR:+,Q*W[>\PG!@/]7*O>-YRAC0$K! MR_<3C9QIH^([P,;"FWY6.+4G]B%*97&532D%_`!BN(;QWWFU&,I1[$1[Y!@, MS[>UW&Q8F>SWC?P=@PQ_>.HC[/@79@POL.4S;GINN)KR@*^%B5Y)!:Z8%:_= MF%#URJ,6V,Z9*^>76L:>P!XLY:MM8S>X67"/6ZVN06U?0;R3>R:-SMU0MW-> MS>].]LPLQV%EYU7$,3&;]HL(2\<OC372-@"WUA?L6EQUZ/T8#V5CP\"6%;7> MLCO7'^YCAQ6-A^'M>[U%,4\SLA/<_K:_ODP$?`K=AMZ_A6*7G8\B5A(H1VXB M\%V!'M+2O:GM=G%2,%5C0O$:G[/N*TBZVE3JM:NP/7C-L+_:YW]K2?^__)OP M<!LQ7&/WC+ES_3Q@4]`PKQI6_P%4H>_0ZWUAS4Y0ZKH*#==H1=.WLT,Y#N;2 M-)'XJH3*UUZ3'8#UVC;>"ZT5_NF)?NQMI71&>>:T;H/5\]@U*5S_10BI5]-4 M7!*3P:_.?S/K6.>7O;F.A`+!93:M3[-,K[:9?*?.\!_3F#NV\?I@'L^R):A; MW)PP5L&>NP:]1C;S'8$!PMFL`E;78]WW<HV+/R&]YJMV.G^;+?*.+]X&%N9C M#0N6O)#0VR9=WU@G)786\:F0%-PX#5'9B'M3`U:QL]>`XSH6]3QP3,Z.2:`I M.A"\I9+G"S/8SW;?<D[O0A0A0:!!/AJH&B+>C;[P-WR(S]`%!AZ*/Z&_[V@\ M<Y2:]F$Q5)?GI3;A5=-W6\PP:U7,M4%(1:HEH2^.NE:S>?(+HIC[R4Y;B%$= M&T!RZA&&%-DB%U.936+1?NF?/V-=$%<&#N_R9[EJ#U`I%+ZA\#."9Z%G?EQH M_D,#/W%Y:QQ`9GZ?D:I)\E_.W+4-*OQA:Z<]@CM;O2#^E:IQN;TUCO[M9=[* M!'L0/\]JF8UBE>7H*X)M\J^ERKZ:H@&KY_?9NHE!*,/DSS'-Y3?M4(_U9%L5 MUK5*M\B;$([:;5(9ZSY^4GTUX;2QP/N%%?-MNW",),];[\3I)-5=+6UN:TXW M$!L=$X!<`1IB'K@M;&@Q+4\8``#&)0``_'+Z%"``"$Q/3UHN15A%IFGL^92Q MN?QF9P-9>ZV0B[D*R09>CP!KHP!X5</G/]]JMF#2'*55`E(!VE(!Z&<!YJ<' ML>3JDGS@/W9Z4D+-RDTZ64G+3R>4S@/L@"%`$$`1``R`(`!"`+5LZ-/Z^Z%= M%!,@;R4ZT7@,<SSJMPPU5B]\48MVZO[OME8..<M38\!6;--RJ9:NJ''L@-X9 M'S*:Y.@;-SSJ6%BRU*UVZ=-OY^WMTC76&W,&/5/#/#AY\/;D>,`?L9JKO=70 M@B.CR'O\)]"M0AJ]>"L%;6E*`P+J\<+9'[(#AX`PFESN)2SO=\6`51E-0-[P MJ05]R#V]=R$8A.60)=G/^D?'$SAF#!D"P/'!K32`2X@/\NZF%G_SYKK'S;U/ M/Z&VI4VR^ZD7UX?56A\J-Y%N:FH._@9WR&'"X^YE?HZG`#3:KQO]FXLWB?H\ M->K[N*V$+6Z^WSR?&+G:G]_MBA[>\6NPZY.."'?*"V[DS.X9W``T"7/%@0"8 MD/V,=,[GI,O7H9/2>9_GSR^T-44AQ6<)7)\?W09/EI\[Y#YO)B/1I>1Z@]+G MXUJ.%6K;;J1?P6/Q;8D6EZWQZG+1,T>5!P=D&)_G8<'E'GC[DL4R"G<)3?TF MY9^M:4^5S/,")8,%YAA<.^SC@J+?==?W!6%Q./!AQ`G:/]8+^YOPEG-/$S2, MTB_&\=?3>"P2>3LH-2T.)H18&/54>RJUT'V.CD`MFY_V^_]0D(;40GZB*%'; MS8*$H1YQ&BD^64WS;+G3K=^*^X5`S>9?I33\;F5((YJP)L3<RF(KK'[6"5\( M2AEI,5Q8Q.*8M!MO&79&VY>>1(L?"]\A]>NY3"<V>`\M9&5=X3T8-51F?`?' M.^V^VS/["T1_II>_M/[>_!V+O@+FK-R'`RM^BB\*:?$)PIOO!`6WDAKD$?S5 MV,[L'53`&13<H/@5LI.5%O",*2P2R\.G3[!L`<%U1YW)CQ(.2^Y5H,`_?O;^ MWDU@V-_KW(;GQ#,??XY[-$Q]E'+&'0VEB\YUA'@3U:KOI^XZK,@-9=<%#@YN M-6&`9S2T8PVO;>CM0>K/]<<W.[[L4[L7T2.^FU[$;XUS^8GUT0QVK^''-LN' MVG+[,23*695H-;&TQS;)@0VQTV\!90SZB<67.:O>(*VV'"))$AR[F<0BX,NL MR\%X"B5\S)0"^30",)D2VQL\7DK"^MC3%]?2JP^>+>\;H<NH%_DOSHJ#T=00 MLAQ*>`44A@Y-)EOO_A.=J^Y!@(AK+BR)/^;<_%=/)G"A$*P[//0N-G4/EEP; M$&0C_J(<!]`[<R39).&Q9Z..8Q(XJ8VQ-R<IYE/B%B4]>0_6?^(?<(8;IH\Z MG!56J#*R]<+[W]""KQ-.4S27#Y3[2<,FEGRZ=KPB46N^>27FXB&=.D=:Z;6^ MN;X#&<GAIUDR:'YBZY=G]Q"<W\-,CFS.3_#QP.Y:N^LDX+%ZZHAVQORH(I]+ MLZ\1Q_&QQYVY%`0&X52G')LPJ<]P/_]V!COOVV><&)F"F:/\5:3WY/%5Y@N* MBD_QV%CQ2U7%5>!PU/:H@YT?EP4"]+J3=BUT,GOA7/_LB]:J#DL_]*<&Y;?L MSNLPF2X8(^4;5W'^K<U1WVGKYB]TUN`&L68%Y`W0U[?%\PR#DN3>?G:Y*YZL MG/#K&;/\]L76]6RY/N(:H?*+6CN.%D!;&\0R+K(QM]T_5GWX\EA1)L<TYM%R MO^(N*#*6W,K<7F#?FEPI?KB:ZY8/E-C(>XQ);M]V%]S4UJ=V*.&_(U,<N0?T MG)^^[T#W"GZ6KY=P8#;>6$H#"/>B3].S(B+(?(X\#ZTD5HUFF)ZR!J59WE>C MB%).:K3"!\')*<N^#5Q)0E<T#`%DZ6Q##+.E'"^@W<R@&@ZM"I*Y8G+XR(0J M&VKZ*0>85HK+&D-`,']UTEZB"OG7X2H^P6D&E2V$H7Q35T1+7$]UX_YM/K]K M?0S(&LC+Q]H+,;KZE$;2UDO]=^!8`,=Y0.%5LFM*!($7-RZ(OH@`#]Z'D%:E MP5$4GW^V%=3=A7N^0CD3+MU/55ZM"R.^V-^M:<5;E)I_)]OE48,T/AOFOWB1 M!&4A'%K3;17MHGD80H=SG!`ZW>)\=Z:AE_7XNOM]QI[E0%?9_@ML]P=-`(B^ MP<QMF_RS[IY$LS*#J)T'H]'_TL?/1\E>3<J@*CEP$*8.@?Y,8Y:=S16AC'HC M>05L[<'B8(Q_+MXY5D9_!:9"?GO])S\[B$2`O-C&Q"?`3.A><C3="W,I]5^/ MP*^IN3($*0_8B7N#(-1!:_W#U5B\IF7M\^(UT`BAIIYQ]`#'$SRVN/`8%#R' M#&*Q1X)!(ME%_R[!7Q[YK1F"4\./_MZZ0NND$4ES_G.=EXTT=LG>(+Q*4OM% MU&',Y#I6,J4M^R\%OP&J6`<B++D?N(EGY7U+4?$$WT+T<@NH&7#LRUA&Y-A; M5U/3.8,R/SPL`.RJN\@PDRI<8%IM4,Y/L4JH)M"+`14Z,3>I7@'5$`HG[C:( M6C4LZ@U(+XS<:-07SFW(GE;RRX)%*.;H2QGG@1.LQG[<*=^2T5'HO&T"7:`+ M>JG"^@U&>6PZS.D#R%;U-8F@'$1BHHRMMH-?IVK1T*L@=SDA]L8:BFN!_#@S M*RM?-QH3%KG2E?%M?O3UU_+_J6@02IBN<OW]$K][`T&GN#;1Z\C(&]GB&R!T M_BE^?<(^K$$QTD=C+8:_=2]T8GN=P=K250(9@1/B\05?G9$@C8?D56\Q-P5: M4>@_H1_#M:?(:*.[YD?8D6Y7032%E?UG+AO.%Q^T(3I\)PE)-DW9RY3\?T8G M#,/>CR)%H!NT+JZ`;M2^&YH[&I+)P>T*T'Z_L7E]KU_DHEJY"/W&G6=#!AD$ M`S)%1-.1W%041/H/FILBM8W/!\CG5BD"FSF]-($T67Z12`YC?XL7TWV\#FA" M:6I!67#:TVTRJ#0T10G\ZK48%#_0WLJJ5Y9@<Z=.AN-(-7A-!J[0W=]0;WI! MNH:\609--'`5IG4AGL9$^L$XLK'RG5U"GO,!;DR4H3TZRBN-`;;4U`C5%9:] MSL\U"(MPSWA+^#,&8/Z'OMV*W=M?AY,26#7:E2^K+`!X332X'""T%Z:3M1>J MM@\&`,$IA'<L24D0*J[($LAK"S(EJ@+5]TR**T-02,:`881JT$.%)A'<_STQ M_,LQ*"'EE\_H(\RG5ATO9L`)T?`T39([Q/<JX_LDO.>FI6#Z&%JI-FC9A'ZA M[W]Z-GH*&M",;^W*2UVCH'7MT/7HJW?>':3XEOQ0M$>0O/^7_-8/QZ]=``%O M'F@K9+1"/,L]QR/,,?(_!ZQ[7&6("\B^DK"S=]EF7$'IH0:U6#+X028FM`2V M"UH###PP\O]X[.<T9=#APLR(4YD=]PVPCNL:C@@KAO)0OS-9*4U_X.*W?[,= MU@.QH1?X:42GQ#AO>(<=HAN!#JWO(?%OB':NI#X?>0\)\0_H5.?N./UO,Q!& M%D\\;FL=#N5JA*.7CMU4\_A!7QJI\K5??\SW,8>'-I\EZU'<I\NL?VO.MK(A M`[_$*7[61V/0(_K=PCV==Y$_-_Z[&.X6>VF!%N[>#C$7!#^(=O8_F.VX9?'[ MX4[R1"E3ND_=,1D(1#A\!W2-LG'@#X9Q`QIKB:;PRQ0A;\0TB5==/P0:=J02 M6"F$[Y!WF_)!VW^B;_9S3E+Z$4E7LBMU:<50&)US<<NI^/X#,[P;7ET-'??. M!T!%@1!!>H54'ET[#`F,P)ZQ>[0AOZ`;W^*WVY7O]<%I'$29[RT^R_"W=?0# MR!<L134\A/\BDDP=_O%C8#TY@?2,![8]`]7:Q@*K&!KX@J^U,&D@_D&!_\5` M&`_T?\'X&HJBL*NRXP*^$K!W/1\UZ0D_PN=7`.V+;@#X'\<4>8`W[`'<C[TX ML2]8N!2I&G=1D[N?*VN6^M0MRPLZ)(K=M:S:ZUR#[525MWB!(]EJTQ;!D,%S M.W#GHHY+C,2P^1O[EDOW[[D-MS0<R'BZP+/A/S@KO*SI>A@P:C=PAO,N%;I< M=\I/[*=8!N*;\SLR.;UF9:6*D9WRPV!,GKL;]!9")3-^EAO+W`^\,;GD1.(\ ME:^PC;P1^U`_54`T\3;F'3:1YP,Z*E&3,L2-ZJ=)RX93:>C+A$K<JFG>A#+C M&>&4V,PRW&*#(%['OW"NOV2<35YQ$L65.!2`O$'?S/!(3*[7:&%:)`4D20K2 MYMP'V:-G`8#JR0EDT.(&W8:C_Y*GQ6$952F;0IJ<I:&1E9HCUGSV_TTT_]U7 M)@8*-?[/RPD8640^$UIW6"G1"?Y2$[\3-[+G1_]<F>*$9-SV#C2\Q`9-QS`% MM[HGSR6",[W!3C+#-*]A@G_R'.[Y*LE;#FA52"6;#MUZ<^22VL-\6U_8U79K MUU6GX*4S]""C7?C81=I8*VT:\DU.**95K>D[#CO=J$CUR0->T32#P-9]S("T M&!-J>O!H$]LK$@]:C!!V9?+V<E]&LJV=&'VV8",N(2;GCO/,]?A53Y2O4WU; MS&6J'6,T\P4/_ZB$G>%BM_R-5.L_/M*$Y;1#+9^]Q";P^J>3R(R8F%Y/%E*M MH&=550!3TP12[*4KHAKV;XTBPPE;>IM!=['M$FNDS^)["]D@?:[1-)6S*M-$ MK:B:Z[K#K/6^;M6$!A&_(B+Z!>BN.V=]C2OR?=\*^`?*(8^LB1(O7F>+4N1B M;56&KG*K_+@R^4#!;9QXD53[N<A7@P!7]/6WB]KPC[H*\>KK:&D%B^HI(TR) ML(A3M)"3KK21C%Y4=]A_6#O0I7S$VH0`*0"@;ETU6TX'/4PS..F;J&Z,A/+Y MZ`R41UL\6[00IYF()[R?Y-_S9'=(\>YS*P$L"L()I>3S.IGV6I'WQZ(=QA3K M))JF,F=P1S..)Y17:;)MR("2XM.,^/-'."@;HG@EJ$HSHYM267)(F<L6PK23 M22^;LG&)>4*KW"'$:\<6W7D44S5ZU>_C[KW$/]]FTKG]M?3[?2/3`(H?LJUN M/Z%J^6N,3I&235B)=E2XE\*.'MX\L@`A61!O*<;BYJP&%U3]*3^@_$HR%Z?W M)0K+Q]?;=];:?#%Y\.'H2KGH-\?H:1G(<D]*'WZA8F5]]=[3GWMWB4YRO24H MSI8<-PEO?Z3%^37C%F'BD3\CVF#YG.,[-H&0`<_$+"DR#8W`.4><N:8=;?:+ M+\BVWY;ABJP"D"#);U@?E&7>\S-<!XX`L<`-+7IIW/N(S%O&8[>9ECO,RGRC M,)\ROIMD6XS+EPEB^6>6(E_&J)?6F$O[39Y-*DWIY)N-9[=<WYXNC[FWR"6+ MT^C7'>LJ/AT+?#$+\IM4/_:,B&S'QFIH/%$."037H*8;9`.7_+BG+)`:;Z[4 MU\A0%)Q`_POLDV=F>C><<T-)BT44!6290U*>/VC8_DOHV2+)O:R;Y*TR46PK M[NKW^'N>BR/F#%-KO^`'X%ISQ?TLR;\)$5,^(5A.%,36LA!@)O$&8NS`RKQ! ME,1\2KP5!;2\%T+_$.`JJ+5%-[CQJA"PN%_R[FU*_X<X=*PL8?T'(Z'_`+OK M]MN0HV/)@6\!W'@/LCT-S1WO.69*3AX2_U3QZU]OUO_UQCX?=^`5R;5X1"X_ MYTR/$"8:/VPF0LN&ECHCT_+UYD"?^1[US[X$-#$\W5D5YZ!U:R#:@*('CM,K M&&A?AI9^EW=+6T:5P0B>,Y+!<#,I_Q'7_2KM<V)%401,=1L\+8@C;?Y\[5?7 MXVP;9[';!_#EW#0;?_EW[HY*"2^>MAB$>GX(*LP$+9!L;;EZX%UQ`>1"V?G/ MGO(!=Q%U'"6:\1+&LG4(X4\EJMK<![\!T_%E$^^>E:>O_*6*`>+@>Z(7X\%_ M?!J461_,GW)-&79ZSBU=/P%*/@:O-.=;J7NQBUG^M]/([A&;;;5QRGP#W*SC M�?04J]@4.$HP7$9#*#+OX,SH`;'$(U%"$]?F8#B:_$!O5"/2G$%?R"_A.6 ME?X@H!ZC0:X&<*;^PA54&':D/8""_#-!NO@_U3+&$\;^_3.-F1X[_8/BR6JN M0&&LN`+>X55_LGF].K/8W1`Z4ZXG;DO1=&WO&U#FV1(MU@5_[^;;T=S^1I7: M\*$!U@"AM32._Z7!M>/&*Q.,Z%4MP7T*YS?@!MT";6PLQWVM3[A"G@8_;.>" M>!K:^F(K\#.K0K(SW_JF@G+O[^?FQ@1M4Z^`]71RM5\*[!#Z@!4);3G,69<= M>B*ZS7KEL#5<DB"V>C3+=UK/HVQ3<12U7:K'5_W^WL4Z'7Y&FMY^!,'S/@1X M7EX$G[E+._@#+Q@82^02%F8SC:S\TICIB`K#!?Z2%3)!WR&W3"=>+4[9(`)< M`*N`-@`.4`"8`.2@#[I]!>UG6YNYN;.5G8@\/@;WS7<,Z2"5Z98.0E-;5L>" M^B8A]%H"YS2;7GK)='S-O6V5VU@*THIPYM>I4+<1OFRCT:VSN[C\%^0W_)O; M&;XC)S$A,%P-`G&CKW,XB0TB":1INJ\!L5L))VX=VJ`6+,72+]5.VW"4"^[2 MK^W'_O7?@[_)MNF:F6+*R;]]%B$)W4HIX/X2E[+[/YEO@LOX$J].]NUDY.Y= M-4IG>==O_@23'/'WJQF_%,6[WK7]/M!M=&"04N5J1,!L$8-=^H\C"'%E106X M*`>Q,WF#=<5#^32=,ZH.(BLI=O1<NK`IGO>W2&:YF`-T.DB(\ZLZFN#?"!C> M*G]UB\,<$+G/,0*OX]F^LPSCM!'IJLA$5P'_X.W=J=(WD951>ZKITI&'5.IU M3%A]*XHPO!E'9G/I+4=;<37"%%>>#".*"BARDM:375Q1TNHA[A2*.A26,!)N M7(_2OJTA]IC-+-R(FUV.:=49ONMR;GJ=46(]R550T*Z$IU1,],/+>R(Z<I,K M(P4K27YG;4WQ'YT@=ZA%(<4'(@(TY'R"?3R1D$1MN:]\(V8EJ=P3>)5,2U2Y MC1D.=,^!CW&Q][?NV22`'HT]H5+TL("F<G(?.DWP'21FY,#WY_.W7MB5I+:^ MV4@&HRD<2511[`&3#V)7V0DAGC++"8[QA(,=1B/,JPT+2EH<Y^=V?SF]$W+& M!J<<\7VN8+W)"3R*E.3NICUT4)EFMA"DLO7-SR$S]Y?2>>10?',6F9CD799T MMZ9CN_@>;8^P\'`#'':6,NWP8$8`X\K!JW@QF(GQGA!Y2:Y[3_@O0@I>PK@\ MK7J-B^=AU[23?1!?&_D>^MHAG/'?NWS:B>T!T,FZ7.!Q(PW9#_V';[^O#9Y5 M):EM2[.2TCU.RF\`JY/)$8]SR0_D'J_7=33%CLC-9%C@+4/!F*E)PD5-2U_8 MPI\!L8$"(T3`3<'N[PQ(0>>)38"Y;0.?K;^<7D?TFTIOONO[,4+E9JK/Z8'0 MJYCH[E1_I1C*7=)A_0B^S'#`B[S5MM`U"PC0%X)TX'N5.T\:/C_@>F5Q\?^P MQO%T)>Q#&@'PC"!-3]8I1'$JVQH);Y#\[NP71:T+8K3-#38.I5LLY61*+#H& M%C")T1.D:,G-(]E'/QJ8A(#O$./2*-/BSAG#'#=7M%?[OBU0C!E2>!.N8%"N M4>"R-[A"5HGOM#\]_?W!"<PI?M1!W;4F([ZO,*6?TXRRX)/K6T#QS5/1/TRF M2TYCTN0H)X%O5L.^=(T#&_A<5K*-:NX`%AXHI/VOE:M+'S>0@KG$XB1HA^P/ M_`'*6AB@5?)=$0,.>\N$8'O.5B"+^_GP3_P!F:'FYY.NGZ%ON??.2@:&]8XG M+<!>YM$N]@]-=VVF@D3.;VQE$JK^EV;:_/[UFO0WQY_%>`\8UIA;PE3BJXJR MU;H`_?H@3V@;Y@J>$/&P)E=^V:R&.X)9FN@L4&QIB;I+$YI\[[DYF\P_LM`A M[]$[5\2^;+>6X)<A[._+@DJ3=0VK)]N1^>#!FF=[LPMZE),:Q@P20_BK>FGF M>\AT*A1;DD0=J#J#Q:;[Q@I-E.2_2:'0.)\='B=B[:)/^G>6?21+OHK"V/[$ M-,W$1?E3'.K=S^KKN?U8MQG%HUPNZ`KF6A*Z.?X/]\,.!%Y*[3KC+9P,(?3H M>])*=6]]X%(WS4G1D3W0]9;X<%!=4T%OQA]8`PQL&?%B(PV]7'T/-_UE^"GC MY]Z/U"U)?E>HB*>*TEX/+VQY<=09?B*#QW*&C,=LZ>H+[H+N1"&[!IWV&3#> M=>SJW-(T'CF1YN5\<S=_OY\9#8GH'PP3_,SP?,<]XVN0O5GS;X'&]P"?0',; MJCEW?D!/DM@Y.MX46\PBFZ'4@ETC?09#W'+*)E5+'2!X?\NT&<8X-A(1OD^Y M)=S,WDU"TF3R9#3_D/D-Z`N=5`D,TJTF^'^,"4#@HZ7(EI7?/Y_\2C&,I<&0 M!Z<JLKEPJWX;/*;Z(EMK]`V0RS]K&`'+P.`[@BW/?7$P)[]EN!+M\]IC#@46 M!)M?L';\BA(L(CLM;&@Q+:PR``#@4P``W:J8%"``#%551$5#3T1%+D5811;X M[/F;,;ML8587VP#+*WMX#9FSG+E?YW]=FHMI3Y1@#'JX!N<X%YBI2FFJ@/5R M@,;E`9!0`RZ@!F<0&D1`:E$!KD0WLL=*76B`^W$!^"(#_$@'_7`=^X#+W`=H M</S&/A#1N`^(X#YS@/NN`_:X#KW`?_<!DK@.*<!FC@.6N`X6X#H!`=%(#M1` M<4(#KY(-?D$3BD!A!`8:0'"2"_#D43WD!OP@.&D%L,DB>P@-J(#`2`QA`;00 M6X<F(P@@/"D#[/*".](#Y9`^J0".)EA'[D![C+D)D!]H@/OD!M9`=#(#_)"] M/_"(C(#DY`;"(+/-U@?@&AX!I^`?]@'5,`RM@NBEKNLRWW#'`-QX!^N`:M@' M;L`YA@&AL`X9@^E9?;GR_Y%7>Z7X!W3`,@X!W/`-@8!HK`-JX!W+`,@X!OC` M.V8!U'"\I7LQ_`-[X!MV`8!@''X!QV`<KP#J&`=5P#:N`8HP##L`Q)@&:L`W M[@&>\/TX?XO\`W9@&\>`\?@.D\!MO`9LX#V_`<]P'N^`]UP&\>`P/@-*<;V' M!5.W@.[X#O.`YX@/VD!\6@/GD!W"`SU`9I0&34!S5`>A0'[B`QL@/BY"D.@/ MB&*JDZ`Y]`8>@,D(/X_?,F1`9O0'\4!_@@/@(#RB`]#0&6(#*T!XU`>,0&*( M#O$!DM`=H@/5H_HK[,Y5`8F0&"H#OZ`[V@/`0'0(#^!`8N@LJ&U)-`?R(#,R M`YM`=H@,6(#RZ`S.@,JH#NT!AB`RZB_X;A7N@/KD!]0@.F0'WR`_D@/_4!V= M`8=0'R4!]X@,J(#N:`R"C<JRT<I`>4(#@D!YA`?XH#_%`=D0'A$!Y:]YC+/7 MAH#P:`_L@/+D!RJ`Y1`9)`<2@/NH##0J9[B@/J(#Z<`VI`/*X!@4%_IG57[A M2JXP@,!0'L8!^/`-DP#*X!Z"#8X\I<<`\V`9'`-O0#!D`WR`?Q`-T@'ZL`W- M`/SH!N9`/JP#ZD-WI^*NV@&&P#],`W%`,9@&GP#=\`S*`>.@&1P#$H5\+<)7 M<`V-`-X@&^H!X^`9G`-LX3L5;1'^P'&L!OS@..\!MW`;48#H\!R+`9_@,LP& M\<!Q_%Y'#VPO`;Q8#J_`<VX#?3`=_P'?,!EV`SC`;\8#9/`<78#-<!MO`;:P M&+8#(,!MK`;EP&IX#5\!BN`V[@.\Y/U&']A>`RC`:3@.YX#D>`[W@.$8#@^` MWI@-3<!N7@.[X#I3&<ZH7/'@.4X#!L!RK`ZE*.A_`8#@-T8#>O`8)@.\8#6< M!NN`WO@.$X#MN`[9@.XX#K<!UC3%[+Y;\!@>`SK`<[X#DF`X7`:#@.NX#.<! MN+`8K@.#8#J<!G^`W'@-O<?K^+\Q\!NW`8!@NS*$B5N`W3P&M8#/V`U?@.,< M!H#`<Q@-LL1P<+YF\!IL.<O^`SE@=$>#NMX#9\!V/`;7@.`X#@&`S;`<]@.0 M\+Y\4-ZCAM:!N*GPT!$O(@634SM?@.J7N'^]E-P`O$2PN^K!"==;Y>@KMS*0 MQEA:U"DS8^[T>73@BT8&2K'#0PPDN*""9X%/_`>(@5:F$Q6=G/RIN@#G'0U[ MRJZX'[N,[U`X68%XU(1QC*PD(U&`;")L@N<-7^51UP'QYQ$8J0KR\18(!6'K M:-&@_.E\9'U-AG8_4P8N(RK]!SAYS^9.CZVC,]<EY8GZL"MND_^QF>O\<_:; M'SKGB.-.U:W=_>>""^NA[XWO]BO/+C+?DK8.\=J0GO>T\?/AVKY<<)FII[8W M?'7YKW;=\Q@?;^845#.$,,5P.1Y&J?YTA2[*3@(A!`Q,]NP.'Q8W];M_`)T' M="`(4,*.C/Q@F;NO<O]#7DZ/D(33*R9#Z?C,/OULCQ$$*X3UF-([2XN01=UP M?Z'4!<8KP3+1W-O<XD_$#L8;NVYTL2]`EW81/:6I8.V1A1`W;+OA`G4MY7^O M+Z#:72O<BS'--[)[#/JE'.&>9%HN1:/ZJT)&W!XBZ)7TC'RUEYS10%ST2U-4 MM=!-J$EI+5(D</4R%F@E3S0F%!.:*_1Z=>0I;6["7A:I3[223?*NXR`Q;M>@ M.(/.<I"O@_YX\S;/8$`6G>-Z5A*>B^O\],.9(0]CC$H9<)M-_71AXLDG'5L1 M:Q_<1NTFO"9'+\__JI0^Q5(^VZY.JO-/#5I*'1D5VX+[BZ.M2<3E$MUTB$H5 M!Y9K(,@_>)^QYI\.%:C^`,XJ^Q@'%I:FC>,4-TV$4I0$\:MH"8O\!@MQ>2:W M$[T/1/?_">6GG<1`SX8?!F<&9M[>;E2CKM0U[M^W>!]W]2935N'65;ZY.*M] MUWS/:0$8:P;JA"#?T16CH\B\(>AW_+0O9"BR,`E^?2%S5'BPMC39X^0<;MD' MHE?:&9NBD=.DX/!.Q4L3M_4L3:0+AL@9.G'(T9B."%?`UG9V+:D2#<3\'`-P M24F=E68N(>Y4"(8D-(KNZ+JY>GEM_J,]>2]@$K.`=7I(H\"?>8(/$&AAW3`U MF3$>$C`)/E4-G>,0T!//>[7*[^)*S^`(#G0CWTA>]H5TO`7__R>4&>?_YXV" MW-EA5QUF&<D'??L<=B`!A_M)_P%+UB]M#N:.,D;.Y32F=./&^!RAKZMF]_#> M,B&'`B.Y$5[P-J&WSRE34'WC9\-IGJ@XDI`M%)1SN4@X[]L,MYF_L'E^SF9J M-_3OT(>Q9PC!,PF!^F4@SN9UDT>E+J<TQSQX1_2H>?%(67NKT_/"-+^"R`+) M-A^6/UJ*P3WH.)&K"*('_2Z>D0D($.P!,#1SP+N(H\2QON92II/:<4K]A#%J MQ4O'`BFF?J__AP(]OU[H?+($-7+E$+Z1FXC=V[U=P89A,D(Q7K\.IDX]'::2 M@`/G&FK%RUQ85/8'!C<)!#9?I!F53`Q-V)\]1A[Q!]X*0OCY+VJ9!,,9HL`/ MQ2W$.E7OP8YW%2E!T%V:'.+A%72-VXB;'`@-L^$G@:30?QNNKJ)H_4MWG9&H M@,8-^-$1Z%8YBPGQ8$5HI3`EI]3=-DSPOKP54"=/=I'E3!_%NUOZJ`[_A<(/ M>FT/4#KT4,7O)8YT2VYK2F*R\F&HN73Q_CMLM"&>%$$*0(#G-C@#"HSS_Z3J M7!*@$:J_MS8V6A_N8YRI&8\HAEL`L7#0HV:YMKIOSK'*(F"JQ]RI!^Z/3NZ^ M`VY=^,FU+#&O?P!]_J(-+F,<+"=M"R"PAB8P[K*YUK!LI9M%BFN3E>38ACOJ MABJQ&C&OXW2A.PF>X@W/@E[;`%2R>YZY$F.#$">,1=WN(AH@*%TE3-;U)SS6 M=?!_=^0<G(S7:/H+PHTU^F)#>:BB-K&#:ID-O@'=@WV]%W1MDI?6P5^'(LH_ M8O8WNJ2X;$4+YP6FY",5W`(R18RF8J_$W4O<."?</(T.T.8`J=OW1T[*TUS7 M\&'ES2*+_3!P^-)-*G"+)G*F8:I3<Q-\,'0)J]=MXO>'1*"XLP$;4N?&_\E= M2[.+9OYE*^79+<UZSX3:XR7O`&K\0!UW9']79%C99OGQJ-Z?J^<Q;&ND&WK3 MU!LOB:5)HT*#8O2;K&N._E%EV876E0*IH,[%)U?=0(U,!U=/$:2F]5!H()+/ M:);_TIUOY/"J@&\EL9ZC='"U`I+O;!VS>WA9]I>/YBMO:VF_3*"9J2GY#K,P M,+<@CV),376/_QX='7!^JU[V)0E2@<]!;D826HYK%Z;&\HJN##':QO'J]&-T M6M-8#`.XWO*8Q\^'AG+DI:%!'G)]TGE?SW#*RX\N\DFO&01J"B)KS47!_U$[ MD)@O4XX>=-05G[A6HG\?$]1^\[@W]"C01;W[CU>G*,;JR6CS3:'7Q,=I_C2L M&LJX'8B]DX>-!=;6/UX<ONI$*2+]F5">RIB,8L;C<)W,$+!B0,+7>U<X6_FQ M>(MF[H@Y[/?:^]ZOI-'_WA;?S!JH]7D<DCW,(PC](DJ99(_:XFVAH>">2G88 MWKQ5`*+1=>?B>OF_G$T\AV.JZ9<=+S<C>NS$7[Q,,SQ^][..@Q^[D&=(SSB* MULS>Q((DNV]5#WC'G/'TJ\J9>6$D?+DG.(@$92!U=XYOQTIJ1<!YSG<$/^ES MEQ)"!V-O0M&%.E^3RF3?#,?/""-VFA]#?Z!/77((Z+JNWMVUMD?=($PHO@AI M:)O<N%FGDVCMOG=$]_$'X'4NM[U#K6^O0;G[*S#I6FB++9E*X2.KM--2B,O' MV32&>LZH)Z?L-H67]`\0G:1A:-EDE,@J]\W"J:(H+136K]\I%AJJCE_1*_BR MP4@8.ZIR*Y@^[AEF8>5]7RZK.8><=)0M-5#^HIVJW8J_HU-B,4QJ,O932A$( MNUP,[R,J9V*MX/G1-E0F</$]?85M_BR(:;!G=_,)T*/X0RC6W)YLWI;=QO>) MW[(5Z?X,T0W'MPDT7":;30'!"DVZ:G!WD6Q*C=BM+&K+%"6=TI624(-5][CS M%K;MW8SKJ\=AV=57\49X]X7L>V/IT>LI$>P@ZCVV<./>F![<ZKIX=0:0==A5 MEQI3$`*D[3BIKF1"#<H0N`H/"MQ0S1\S4>RU&S3PXN[HE=$^FK48[C[&/0]/ M&/(,PR+?2-,^/37$OE5#//DGBKAH5!WHM;T\J/\Z%%(ZC/@3\Z/D^E3^(5Z; M8_/=USF[/AP'_8/M5]FJPB!.PB?Q4TA/I_5#)SP*^W6-)TJ]:N?\OKYQP4_4 M+>WCRP.KH'8BUJE/\VL+MJBYK;'T^=Y7GM>Q^V:M?/,]B+GZ'L&!UOO#JDN- M]'4FRG;3%T+GH>,@NK;/;;W5=]O/'U4_2=EN[]M$6T>$V+&FMZQH%6[[%66G MS]M6J=5&_OK>1?1IIV"-/]Q)B!K\'L@+(:?)?9NOL]D-3\>D([,"YNG#I8P[ M#I.:>!=K<<R0<3G/H2SURX7P0!X41_6$^QCH7%EDJ2W?E(5^-QRAE\:MO.VO MW&%9-XT%T6O[O:)@.SP#"WF]1==-%WMOX&VQ2NS[_8PL<CL]B<&%T.)N_'8, MK0X1MRY9<!:^3*-=W"">JKK#H3:TR]AEBI4&5GGAO[[=E\-X;#G,L+/2LDQ\ MV6#]KV[8;M;HW[QDH3_A>9.L0?L7FXEV-VVO)T7*U8*(@82J/I8*@&A;Y*EQ ML'E*1RL3?JFB4SO!$2,U%[<!L".Z:HL"'M0%CNFJ-(:E,_46])8;DPX$`"04 MB+0!ABV%U(J8CH$O@9,D,L3"SU]8%%\";BDS6-_&_!YV((9*^VCU(Q;[:9=' MWW]BG1[YZ16+_KA9->U_U"808B-E#/#D@=_OCM+`X!8:I9BQ!+-WUC?.+R`+ M0*B\11))*W@+'RV/WR$;F<VV3-/H^^'H/1?,P>.L]3>_.M5#4P?=JO.3@XQ\ M'9)@ZQY-`D5KP*1+)%?'M6W^.R<!,T%SD?MZV[+NJ%[YOMZ>F"H2S_)%R87D MK0/F7>#6^8]TO!+^8^?E%M92<,>Y^LTV`:TVN$K<\T\Q@1[T8![NL!XSSN$@ MP@!W48$G>\6&A.1'PE&"N"O<T4YZ;0^_VA`CDVZB<_]#=*V@4KP.[Z@D/]8O MZ&2A*X!(-1E[\7%)(E/$3*>HW:3G3S+'K6]8)>K(=N*H>OTX.J8O1U%Z]T`3 MQ'."-[3WR^F46Q&4M')N(A/Y@/PE,.)T"D_I<5[E!>%&+`=!4PXG_:CG,@W_ M*_@>G<WBR%:@Z"RHFXYP-A-/6F#;JP[GZ!S8Q=%+=H*/(4P[9.&;?&1:NW!% M^>M7CS([]4D-0F/73YRNX<JR6F/;+ZX+L8AZK:UQ%Z^[`W7>&'C17G:\Y##V MZ,D/B16@-EA41\547<[%ZI:<8*<+%1-FBP'.M'E8BB>PR:*&E-(46;$_IK1= MWQSIO^1GW29;>-%PQ"PP]Z:M\2;N^IG1YSOXQ!$@[G6EE^QG,P>Q7,%M<?S: M,DZ#!L_CCHB`ZA`05)];!Q(\8?@1>=!ICF/O.<L4&\/Z3L^J(8Z-#CI_6MM` M]P,TOA#1G$)NR;5C((7#Q#?<[MDH%,&8MTDM)8H/\ZQ3_*(N&Q?XG1RLKIA. MJ&`[K*:J\*F=N<2",Z9"S!4//\FC->]RB%DE/POI\G8JNX`YKZ[-N%:D(K6T M9)EMDBN_0%@]=]-G8/PO5PX\XDET-0"[Y"*L41W#>I:]A^VIA.PA.2%\.8:5 M8H/A$_!WT31_(FSSK1-)_DO\.9H4349$XCW1.VFE1,BB9N$6B;6/*?G/RZCS M&`JX<R_%/TL<9R^SFR^[,BAD9+S6G*<[&?$[DPF]0N$GDY1R(\V&X_,-Q^\# M3J`<+QF"ZAW9`^=V3`1I[..Y$+C+F/NF+5YE]#CUY3'G,L8-HQ*.+4#RYR>" M0:L1Y?B\ZB7#$CC1$X4V+#94M.*O95[;02.]@Y#N6."]WD<J@B']87Y03=U5 MU#MJZ6S39TQ6NVZDAYM_95*90G>KJW>@W6.<**.WK_\#_QW_M[\3GTG%&A\2 MNZ&*3T=BUN>^8'4U1E+3=)J+`2:_DH<T,0YH9(\50DBQ?R?*>Y)+K#TSGTI, MRYCRY9<PDI#LN!$DA,U)F@;U_5S]E*.5`YH@+3K9$.Y_S-G2G@-OW3?&UG.1 MMWB>#:+]\#:DL(@@=C)<>+"S>:Z*_S$+D)9NHF28&9,//RA0MB^8;K%(O9%" MU!6!TPW/RNUDVL\:!VPT%D6?QLK^.N=[<1$/;`/$,QP*#]$+ZCM8J+Z*8[^R MTS,IO_PU0FNCH)M6JW`YO.OLG'B![698-@8HB))57@7"O#^E64N4G9KW//)) ME/O@S^?[S].3OU+A<_6&O*TF1*"MZAH/Y8HFU=MX5O[,VN"U9#WM^!&4>3Y^ M3*)L/@<BRS+)D?<TZ&(.;,15;!NMZ_K-=VF%3W/H5RF42RQB6\_WVV,+E;&8 MG->Q!=\7=//+JG?8K(+#M5_&9CF7I)?$44/JVK@CR0AFN3K^L,<8FUQ=DD^8 M+A7_P7H0PNLKX%__F+]23'K9SJ\/5^^6)95ZW%,,-=&=P8N%9/,]6X0&ZJK! M_92?;77\K#@Z-;7JO$R8@33=.&$U'$QBO9<UVK2N/T;&$!S/=MUW/KQ&KLI_ MA6.".=6`)+2$T[1/>="\A,[CD>=Q>K!@A73@V@IP\%;\L.)!>L)'VVN]YR\/ MXA?X8`:6(/-ZLY0Y:N2TL<-GH&50'G&0\;)3G0QZ6VTA'\_;4Z5$O2*T7BPM MT?^7&GWZIDD)Y[D)[UOMGR=/2/P>1)4%.V[972)C9K?&SRDK[)^8059*;Z^% M<IV`4.5.IH.M'`E"T.#4OZ+38I1ZV_.]B,#M8I!FOSGHN>K"Y5EK^?`@_:6Q M]"BDN>),=B00MSY_2E[CW9-35V@)G8(OROF^L1,Q</[(XJC2WS?<VW%I1'=] M;^Y6>E;#!/PT\HF#.UUWGG*_2K,Z+XF<TBO.U<V2:RY]G[YR^G+\MFZ82POA M1J87@\T)?P'ZWAWC;_#%>-TZETG#=LW`PT58TN@>JF-WXXU.Q4Z?^[9KGHN$ MW8-D1]ZO<)K+^1D2V6_M2`I1@1UT)U'3EPE0H/'@EF^"GI$QI&9(JK6T;!PV M5^.O?X:(VL>;8XB5)]B^FK8+F9:>1+$=-^U]Z^Q-]9CR-1=RNP9WFZ22"?.0 MPG^F:/TVG*X'$"2HG3^7`RKEVXM;TROVPMQO<L4XKC_:_)R%L1/$:K&S;H>> MY=,#%C+(^G(IY=5A7EZ#43N'C#^X>+WR0TRK#'MJ6_6)\"`8H_$@0M[=1 M"2;9FX,DA_`4V[>5,)A;ZK_;[JJMS].\>T__M'OF*\/JZDQ29.\%)4!I&\$K MV_[RO)O].X?'^J!\KZI0]]FT'*2M*#N_U61`H62@OI/B79U`P1_/+@5('HD" ML2^:%9^N.A*>&[1NXM<>J<?P7WZ^8EY\?^_XNJY+&7!KW>[[@4U3EQ&<#+(3 M,*"_E8;))0K2V&U>2GTUY)X3G89Z6XQRNP*A,LPJ&9A8JA7H)?`R_F.(1!L[ M])@Z>5<4V&A3(Z-V?^,1]QC"04;0604`>]:#]`&EXYUU-5FVX1%A"5>C=BN` M>V?IZUQ*R\()3\T?>IPO.VEQVN=#NN;V@#%_>#`,[%I5NSR^OX50+Z4^R8>' MG-@OE*$AS0>=\9JH;I1>X=4[)@P[OE:EH>.HHSD9]R$YM&?TTP'3-,#P&]4( M)H(80Z#]-T<Z<@Y_F'I=/;S00P?.>Z5F>3/(MG*?XM,0V@E:E+=!.W:D,_I] M[(%+''W<JU2ATPTR:#WV)?NF&J#^1;5W-@2A:"F$Z_VP%:E?+]2CP)DQHZ[] MP'#Y3A$.CB7&!QBH(P%6\H#VH?L2I`(YHNM"2BDZHA8]<L%,#+()U?/-)9C/ M8JPQ1GVT+]*\^\XF"">[>QD`.*S,+C87F#I&[.'M:?%O0+PX?_;<UDHC(#?, M<7W7@H<M-%"82-VFV'DNI0>-9Q+#&2I^V,XL\RK"D5__0D04.39<EP?3BKFO MD5@RKB&0"[$*Y-U%=,;V<'CVCYW\$+>1-<:K&L8W=^BZ>%X7-S$"[\*6Y/Q. MB];NI>UI&I3,8XI:5,)D'+X<*2$B]Z;*L9LPTYI2:`-5<C9IJYY7=MK1NT]R MO,REPD1,B^&=#S\+Q'G<H3H>V90A:"H![V/Z,T?*0-CNHZFM-0R2H_4AE^7@ MMYU[\P4(D1('*#L<@#)#L&PD`Q(SKU0+/2<(GNRE7J_B5IR^\N[U;!,_O5%: M^5]D,/6X9?`H+5JR+<.?\YC9(]AT/F25\)^L6G(>^ZA"'@"/%Q5?$">;-D_K M7Q:-S<T<@W\$[[Q!'")9X,VPDNQI_@\PC)AS-;J6ET0T1:4-.8@M(:)17F^_ M@$:OL/55#;!<IAEQQ=SR_/)PR,?_'+\5(V/-%Z*CP0@+.N6^UX+",3SX69.3 M5X(@=?5_`4)SJT\/^X0$R0VN$0PW.E9,-DY(0-[?E%>N6HE1EO*&P[Q`AN>= M"WWAF'36^Z04.5:/(B!3M(C<'Z\0Z[A4?5PLMI01<<5[\S-)4;/%=1_///P. M]F9=.GYWZ_0`5EZR&I]G8`%]T-&^M@8'Y^QL["S7',NV),B:K+>I+7';EO>; MQDBA"T@8R"0#\#$`X#:J06\#4>6I/O@P\BD,SCXEYNBLA`A:4",'($F>0<\T M!'MH"70\I*)]R5M/<F`7<[=H`[#MQ5*RIU=*,3YN^.ZCFAG3<4W&FA-M^V^P M3$P+":%VWNZN4#L/1X+K#`6P)E4LQ6$OA/I&AK"'G_?4\"&!OFLY?L@I!V80 M",]$.4%APYW[#[3D^G"MWR49LU2_U><_X"I\W;EU=,.G2=?6?>53S^$(XEE" M1\"!8[?^7_5A-@AW*?L0::#-R=B'S70_*J%:^`9PX>[)EZ7"Y*.9@`A$9A/) MZ;."]SYCE$+JR?M64/[@Y&C[I0`UG4LG/K7VIV:<QW$S;S#/;G_/%\_%\(G0 M]3)Z6E<?P7":YG=W^,1)S%N7")IA5+B=DPUH94CGRYG;2G<NEM]Z:%+@1B5" M.K\>%Z=M/ICI<(T`/Z#=""O>HF=$2@\@B^RAH>TQ:<GE22FXYQPASFMT[<V_ MG3NPD1+WM-WR#6)[!#K?8^2%SH.&[(@]+[^PT?M^^P'IL7R.@P(N:@7PBV]^ M[TYWYU8^52:FGL4,HV$N,]8='F[-7SYXY]J?1M+7=_=F_8Z,Z_N#QLOV`%P( M%,5VH_:%.\][79*>EW)(<.6?P?YSS!?>PDH3X-=8PZWX[XS/O]JXY]"WQM.X M'?9.+!A;AZ*3CR\R_7]ZV`0.7[D_J6RYZ.I)D#O/DY?LH][&F"XH;*U;E(D? MLOO=>$_8/%$:DZ\==^'-N0^\<_"`E;VCN=O&1;OS#R2U0"ZX&XX^!^`:6'T8 MT,O/DU2PI^")T$WZ%0D^L3\/`0>P#ZR;5):C<!G[-+=25#YQU!W6U5X,=`RA MD$+UWPI2Y="^P*+R0P]9<`.&$C+H2[PA.R<[D?.KP9-E"[TP"S?4Q&]0<7X] MKQ!+;])?`5YR&]'ZH-PNX-H_B;$%'./PW*KQ/AOP*N#G1Z3QBJ5_V_>*\SGR M9;W#\H5#Z,L7D7GXO*$:W.>M"25M;,L^JPT:U#?@X-/Q\!$_?#-E.<S/S-HM M)'_,>J3CS.VL`Y:$GH?UL5$?@>H>[-SDW*$4/3K?\[7'GD4L[17=(>/G*:-M M])EN$S2_M+3OZ_(<%@#%Q`\^\@370!S]'+_IN?7&E0-"9@G1)==1,+BT*.@; M[MZ--Z*$E-`W3`0=[^2"+\[D^:%MC[<>\7Y[S+FNM[><"/.WBL(A]9$*P6X6 M_]!:+C>2RAX6OK^)R,:Z^^>4_VY9-TQ.DQPMT9C][9X].U*B=$,ZT;C[V<SX M%]#&,J6,OP3">4>C>X8Q("RRLE@++M_WQ#*KY@VS/<ZHI9N/8:]:24,^'94J M>N*OJ!J_A\:G6'%=C\K_WB\$VJE=Z]NY=5+SPFN?<!V27KVDJR]SBXN4E8"P MX/M*'^V;O,4%W;G4\"`R>"VL[@O6S>C]IAO*C7LOA.&_<C!AWMRJ0T+W1/$S MM0-7;AOOWP7([T$QOUX8W/7A>"67_NZWX3A;]='[X7&!QG;CH.Y4'.ST'0Y` M<50=%^@[)$#OK0<[70=S+KO[JYY!/C]1Z_*3S\K86O]O()8H\W[X^]-=R;:A MU-;_#-?"=CMW;ZZG`?9GSU+>TI=LA\.B6A7R`L);3+9SK8E,#-!5RN=+T=)L M\^N,$L87*NVMQST.:_X)Y2=YA`:$L7*(!X&ME.XSQ&<)+N(3%,$/BB\29^.3 MJ]1TEH&^YYJ\?TAAHA@60.,.M845YC7,.!0B_XI,LAPM"([M05F"O@>EI.VP MF+Z$Z.B@UZ>)E'G,4?J\;K'CBFCP`QD5]D(T3,7@6P$>X7%H,;QQH#X1=9X# M*S8N"0M\/^AVM]!T5GU/1K\!0>XF3B<DR_"=^>-`Y[3R<[2YUNZKA,%<%(BH MQB*N.35:W:(R'6%#+UJ9NTW4?V99D,M6C?`%V"-1OA_WJBD@LI./,N\@6'XZ MH@D\F]D2E]P`@WV\T2NK'B)=#%$I_!Y_ADI7<:`E-^.F:1!GU0],U"ZHZ2>D M%1V'B?-%$$-XM-0HC]P4#'HF_O[RO@:IY:339<W`3RJ`<&:F%"&L5Z2J_\#P M,\(GFT,NM+'L`82<S,:R'/([6I#O	#D$LID(A%CVUW@B@W)DP'Z9X-6/O MYZIKTW(Q1&1HX-0TV>*DN,#+A-_;J#>3IG$)*@[`5E>PN^IW0!;207KNAX,^ MW'EB^LZ@7.WR"8_1W^M_0MWY6;5-RWCT/!HR%D'@E0O^L\-[M/:MSBN%<:SB MS7K_1H84,8=`03H01D[6QJ9@@G32+RZC37Z8J0'XG,)WW5E2"##E,S3S6[>? M[HRJ`-HJ550UA_VUJK#D&'&'\KO.3/M>C52=ROK85,-LU&K49V_L#7BOCQ:5 M`/J^GEDSUL+IQU0]F"%KK/O5+RJEGX/#,S_KB;-NMQ9T&_4!LL&5TL3S!ISX MH5Q7[[^ZM;_>COIVJ(7+FAV!27=[ZGP=G;I%!YQ=A:(?53MM9"^=F:O;^#2? MUAQ/L<3D();5)[[O-R<VX!3Z1A[,E7J/!6]E:0!-&G^2^#Q[-#OA9KE"/PZ+ MQ?=R44IHJ9'9:7SB/0I'9I<MGR[>IC#AWX@D)-+H74"-3&Q-?\!N7N_]#[J! M+N27K2Y&?038&'D=P)IDVAC6V#T,(QO],&0W$4;Q:`AD/U<IOS27G*U\<_?W MB.H,_,L1G+O)SK^[W3W\@JGCQ(%.3ZZV"Z3WE:+N89?"]/OV9BJI20V-^VA- MFK"9Q.;ME<\,^,6RJ^%JI&'T?`^VS/5:3[5]Z&;:W-3SO_83+0/(+]QC:;SF M`ZX'(<3V)^R.!]Y!?D4?]0#H.9K[T&D!],H4F%+T`W,+G=VTW=#?^@W$5C0Y MH[*M<_JF^.`W8`TH96;_=F\OPK.EO[&!_:UG9ZV+M)7GU_N\\N^Y]4-^KQ]@ M(BAOL@NSN(MWTW*^2UMKE)DWP6K-`O1![V'3`=")/GU8MFYP[UZ=K,,-)ASY M*JFUU%1WQV@N?E`+Z!9$\S!C;9WS?MM4[HR%'Z,KDQ!9AB=#OHX[51^6T[K# M!46B\E>F28QYBN8<9*AZ$YO)$W;-Z]\3(Y*4HZ)AWIA1.;_*>7N9'_>PF_._ MD[1*V^_=12M(-_Q>'@'X[A/H]28!B:>/>UIEW(0'F[1+.ZDT;=`IFLRQ2%?H M)`*`?-[<A-VWP-:/[JOVZ(H%@`F:J2OZ<_M,2^ZTF%#8OPHK?/*[V\<+!^>] MWL'[J]20_Z#48>*7IBI/N^)7CS2KW=R`KGV4]Q..#GO'I8`ZIC8[+_.)"QL" MN\NPAYZ3Q7_MM5B$P;:;-H;RE/Z?ND5YYQW59*\'C/";F.$H_C7R*KG^6Z(0 M#\(G9A.?$&21:(8,(=/T4RHA`QD7"Q\T7?8/Z;D08S7A;GS'A!IMB_7@BU4] M*?A'BS;VO9.:`R%Z-8P#BJ4G!UJ[</`2BSJ(ID=TR^9"S>X.(EP:CFOM9[B$ MTM_U'")[$LO,9("APV=8XQCEKSDN7H;%9=C#%!\J!C<_V>]\D@"C/5@GMD=U MKB.57D3*9R=F$3/W-1SR>*UYG`"W0M0&TG'MJS=NS]$=^`@RY+=:"KS.O/M3 M(#="'5*3K)$4`8?>&?/4VN#I_1@=Y/L&Y2O=7'BQUJP.7_6BIJ17J5W2-&[V M9=C?V4@N93-7,L`7P6!N]47@:"LV="/3`;0^806VDW!!*^-(U:21T,+6'@XB MS@BG!VUB[KJ@&/EE.:G;.W#L!&BGC`LH^6&@48:!QR9D-3GP??F#2W^2+^GA M\8Y[O?$0GBO3OV2&Z#[%-O<Z/S2X,-+RWE)."VXV4#$<)R;JD<-QV-&\W<>6 ME\J]&%6:$-UJ^9).Z0L#/-<FHTF^M;[BCHQXZ`4`G/IR"P?Z%OUW`Y:$3645 MW?D7#N^09`>/E0QZ(@'V/K3K\CPOB`Y!=H/\`\WYZ-0A!G4CM"FJ\+ORDU#3 MKTP?>J)3ZWO@Q)O,1?@3I*#A36!3)=-\P?JY0?)<'7TA0I*5O9@^<CK4DF?] M*CCKV(@50O[?\UOPG^K6A")Z^;*X=.'U/]F7>G^K92NOQ>5_$7D+6SC:*7C2 M(,8[7UW>!Q.AIZ/\:H%(-7HGRSAD&[[`ER4WY/T]6JV?QPKZ*P2XKHLN[10! M"UO!MI,L6Q;`D1VC!-FJ%XUQ\X_]6,C_6CI.Q=M\#ZU>`MFJC,;5J\KD6)'G MA-Q[K*RXZS20YX!HSOF%7BP\KJ;5)KX=;C=/&T4ZQA1?B<A6&K&I@`6+/C3Q MV<7\VF"U'E*0[GO0]_#]8.'+/Q$7]#&(/!([-=UU1@V;8S2R78)-251,DW=. MUL/-=[`[A;K,#_V8%QA%O4ANUW9P5/4:ULV!05/@68A-;/\J'F,Q6B.CI@Q= M%-T@".3PH]MZ.P_MTFX17H:I>APLMW40O.::06#[&D--U;FS6K]1DN8UR;D# M2`SXX6U=+F5KD3-HF9PKLLBHGY=.MX]-)_VM0?G%<L/LTDXE4U:__35WI9BN MU(68V(\)6G)8A=UD!_V\%5ZH/L*_E]%2U^J;D2JJCJ@85L6%+&]9KCSG*Y'6 MB<V?5WQWR'7W&K(I6^/L?+]:QFW2Z4$XRQB]X,WEC_<$%S`NP!_S7,V#`'$K MJ1IC+W5/0;E4.98E:];4UKO[<8KJ"W>@ZT":G83!.GMVD+$DJWF5;I.VO89% MV/3]PT)-OWB''A4UO.<8L>R))RL41E.:M5I^2:G7<CV+8J>'@]K(U0:U?D[U M_#37R_SQ>.HL+!>A00T&*59QUUR&O*H1ZKX36I#DLTN/IPS76J'\!BB:RT6L MB>;>R4.VEWH)U6!L0O$8PZKS+!7&W18X:BCI)XGCU3%[EO#Z[+#!@._LLWX' M6469*N<HUI#=10RL.FC33>*)R6_CEI+V!XRRC:@1'+,3;@RT/5*T6E&SML5) MB7#Z<E8!V86UQ%W\OJ.4BU.)\9!QV!ERH5C&(<1WF&?<^'6E61(7?R!81`6V MR!TZE1&MY4HX%2VW2\=&.(,^I8NHG"+^BZ]B?-A?/WG5S0$,]D,*]]X\.?EA M*;E-2:]^JO\K$^-_.T/61A@SS]'Z`S,]#C)QM._W9N,/6$]&D`(I-Z:-=OJ# M-0PABS>_^I(1[)'<CMJFSQ,49?F&?OJ8,/%?A`]2BY_1/NB^AI>ZFI4C$ZS% M/[4^)7Y\@>QX!F!,*PQLIP!V1T\C/,+<RI)2FZ?/H!R=2M.1U75+2[6E*+ZP M%Z`47':(K-<W<KB%D:&/^['K!RE*51:929Y)&V!W[U*3&ES75S/@@N&XLTR^ MVSFFH-);I$B#&/EQ*@$\]@\2@4[_W*7),DHAD7_FL'@N*P^O>B>NC\G^9'-R MLG=J`AJ`4S3<>5\_JL\^_9T%^AQ:B@7J*N/]@K@7LX>Z"SXL.O<*T7F/.9[W M[<9+G/D3;S+6HET,T7O?R#IHYPA3SKTL.O]ZE9]!'_D\6#\DR>CV&+Q0JU#7 MP?IGJ&J[?4P!990&M+),'\0I4A]R/ADW_ECO*C8IW2V6E13].L"Y([T^"`Y, MRBBY)FTKY4DR0GVL0AC1&ON1$09<<I#@KY*Q:$5OEY,!"J@6:Q?OB%AWQ\_H M,`VXD0^3VG==S>_2QH1+/)100(SILDD!?*($#$'/^X6#\Q6/VM"3+M]Z[_1; ML2,%[.0;$4U/<M)9<]>!AZ2V.D;Z=]*'%51\(5_*[CPA:_RR:@49J5.@HQ0_ MFX'?ADN,^ZRT.OY52Q_/SNO0;]U*H/X8=WUGKP3`;$(%],<B#8O`;;)A[^</ MC?;&(N@F"];\[)6LZW+DG%*SY08.#29"5)G-R;)(,)@:#^50E.&F2GSJ$HH$ M!KT2M@OE,@ED+97@*G-.F(SA64"MJ8"$=M`\!^B+$G:)N*`?XUGK3Y-K)KQ2 MJYY<@9V\@=Q.`P=V?1)UE[,,5BOVP!)3G8^K4*470D_[^;E@F(R9EEA4P8ZB M?DW8_L9I_3QF@1RIE[3]D28R%")ZL4\<EA%5'45L#J%,KR4_W8K\8;VS!B'! M!WB,T#O8;:N.:?9*9X:MBL8%=1ZD@-D"[_3D*7/(>7+?+*1@V:I<XGU$SA&G ML+C0'@^E2#^+R&\8D$V9C\A:H:'%-6?CYGJQXW8S*.A\&WAH;H`*'2>*5;T' M#I!WQ]`[F'`%HW'BN/K'*I/,SN9*71#_X^LL*SF2;OVRDK$Y<A8Y/]`,Q`?^ M:7]TXICK*).-/;W@*W$!?B09SS6;7B&D$+R6'="AYT^W8SSC_$Y5^]E)D$7] MR5HA\'+4"U`?%P3SH_PUA75V(JE>;LFB[2G\`CJHZPVBF-*(URJ0^;[!`-"Z M,Z1XCQ4[\,TW@X2T(G(9A5(L7W74>R=$"@;GM/)?[MW/]US^75OP7G/_:WM5 M#U`G&&BW8OQ`#O&>Z]]L]W^.E\==`7P?.F97#SL=\^\G!+&P5[L$>+=V4],\ M[?,ABDAYHIPFW\%(N*4$ND=H6H=Q[SMK?'V`U5"U\`=/-UT_UHT9M`74'>[^ M:A3H;^S+VT"@>:H[@+9/V03/GN?7_N""67\98&)+9$M3<:>L76R2M%W,4@U9 MZEV\AKZ#1.\-Z@.NY'9YD^Z7:)4*0"VHGODA%@5W7PC3BC2BO=[RXP1>7C3A M.E]<7L)Q/?47%;%8C&3+)B/16@['RBM?!5TYER&@&9RJ!5<X''I/7OA+(O5] MO;V]Z$Q*P'1'EK$4`LLDTWIJ$\JC1+G+*S>T[<)5_Y>.C<?'AYX?H:@^M#@2 MSU;ON+WNX]6Q^G-;@9$JB\2'6H^FHNB3T<)2^G$N:K+\$BP./=_$M[<YUB^1 M"1`IN[S_MXNH+Y[+/D.*CDM/,*\X`&`]EV:I$2Y'!`5N?+:T@VHJY]J'7M&T MZ?MLG"6/K>':/[?:50HQU$-T_RZ[/TV91CSD&A59O[^'MJJ3J"TSL>Y+.W)? M?7ZH/Q7%#+!J6>O];TP7"@GC#@F^3^OVG\+7H=6MT0M2.[X$M";[<(6C*8/$ M7JNE^<D`-J%EL)<U;[E9\_+Z!*DWR4_A%[%U&K[KV)?(@;JJ``6[Z]WT8`8D M1KO_5D#:`;&:F'@G^GB@Z(H<0:<"L#-"/'M?W,B?A"=?>=^JSDP3S9U\U,%\ M?W+__U1&$=G2J[3_N7U"B`&FR]-BN4?]!1#^'W#]J0_M]3(@QWH_E:(4/'/1 M?,9N!O+]8WDWI0+)M!"/L(92<;9ZYXW5+^HAOU7W4OP;U.*W\D\^S>Z[4R6. MX0V1%YR;Z"@O[C#B^A/+=3L+,&]Z'CWL'X]^:F9H7VG>IX,&Z+DR!KC/INC] M(3ULQJ^Q^1`B3X5:;S3=._@\6CA"4B9CO#+G0T1Y?N;3TU-->E997Q7I;BR, MT<2ZQ$1>6N9>H>Q16LBV\T+\&[D@;!WFV2U#^^6>=I^4AM8\`U,>D[\;D_Z# MC<AS_[!VK^7+C_7&O,I%/ENCA8.*4NBTF9+\=?9`;;"0/P@]59JIA2L7O0SH MM.];]ZTK3LW@G9K!BWTZ[T2USG<ML$+OUL'>OCT\:^/OQ&';D?K_E+,JKF56 M@$XLJJCF]$9?^DBSH_HTO:JHE^N1@.7-FT]]6D,`Y3P"7"U6(W<)'%_-<K?? MMLB0C=M:?6M810+.T<Y->2K;;HRUMTSR7ZOK!E]2^^,0VC06P;PO54_AJ_=4 M(;TR*J_(]#>K"P92;;:^]$+KI51$<_L7EKP3#'U:_,,K5JU]*4M?0*H\JV70 M&E6PA=\#NY2R02P!JU&?<G=UYD<OT&4`>K*!P'ORL*.9!\-=L$%DD]Z^6HR) M_IV>TS`E=Z'H<\Z7K4:?,39]<QXIO,$&?OJ%&?_61$U^&!8+.UJ-6,"N9.&N M"O=G0\X@8F"@[AJO+.3Y?#\'/4FD9T,U<$`WIHE1-&:Y?H>_6$_^]GGFA33Z M)O5F/O$R*C_3[JI:D"`ANN`<W/_5[_3H?[UN,B)6JC$"/ZK@1-\5P\)#; M<7>:I+QY1[3NQ%+/;_H]KX7'H[K_E(GU`>T#F)N&H)\!J`R*]<*]3[TA@[@" MJI]OM37%N9B9DP)+X@UEBI(14]O.*@VUE39NKT:-B4B,5\-WS40*_.CW@QX& MA^'0>CPDNX6:I/9)S'37K^?\#`;U(K]#R:[7&2&2#99@+#4[9Q3LNYRZP;9Y M&U!2^?=&RQ?W)USG&ME0QGC3N_H2(T+=K/#.'<<;\B=O%"W&OBRQBH5HQ5HO M]._*:WSB6KW&BQ.XG[.E(RT"V<5+H,)QWDZ<>KHB&I6@L#/\Z;JX-34?@@_L M2'#G#"OIVB[9MIQ\#<U%I.HBY4O'27SH*T&V'?W4E'I4>A-'I6[5M*P1#&#+ M+D&5A#NEPVXG.%2]F*Y_Y&899R0_\&MP`HBXX`"A+\OS2'.$F^EN'&3<Y=V* MN_)/B3]6$G7T3_>SGX'6-O&5(=[&*+F4*2[KS<!JFLO9'GOA`7&@KO;3(@H_ -&]C[#QI:9%BI`!KD`!KD ` end ---CUT HERE---EOF: AUTODUMP.UUE File creation process: 1. Create UUDECODE.COM using DEBUG, by typing the following: DEBUG < UUDECODE.DBG or Create UUDECODE.COM using BASICA/GWBASIC/PBASIC, etc. 2. Create AUTODUMP.EXE using UUDECODE.COM, by typing the following: UUDECODE AUTODUMP.UUE 3. Delete all files EXCEPT AUTODUMP.EXE, by typing the following: DEL UU*.* DEL AUTO*.UUE 4. Create new set of utility files, by typing the following: AUTODUMP.EXE 5. You're FINISHED!!! Help is available by running each program without any command line arguments. ----------------------------------------------------------------------- Jim Dunn, 614-238-9713, jdunn@dsac.dla.mil, :) Here is uud.c /* * Uud -- decode a uuencoded file back to binary form. * * From the Berkeley original, modified by MSD, RDR, JPHD & WLS. * The Atari GEMDOS version compiled with MWC 2.x. * The MSDOS version with TurboC. * The Unix version with cc. * this version is made: 25 Nov 1988. */ /* * Be sure to have the proper symbol at this point. (GEMDOS, MSDOS, UNIX...) */ /* #ifndef GEMDOS #define GEMDOS 1 #endif */ #ifndef UNIX #define UNIX 1 #endif /* #ifndef MSDOS #define MSDOS 1 #endif */ #ifdef GEMDOS #define SYSNAME "gemdos" #define SMALL 1 #endif #ifdef MSDOS #define SYSNAME "msdos" #define SMALL 1 #endif #ifdef UNIX #define SYSNAME "unix" #endif #include <stdio.h> #ifdef GEMDOS #include <osbind.h> #define Error(n) { Bconin(2); exit(n); } #define WRITE "wb" #else #define Error(n) exit(n) #define WRITE "w" #endif #define loop while (1) extern FILE *fopen(); extern char *strcpy(); extern char *strcat(); char *getnword(); #define MAXCHAR 256 #define LINELEN 256 #define FILELEN 64 #define NORMLEN 60 /* allows for 80 encoded chars per line */ #define SEQMAX 'z' #define SEQMIN 'a' char seqc; int first, secnd, check, numl; FILE *in, *out; char *pos; char ifname[FILELEN], ofname[FILELEN]; char *source = NULL, *target = NULL; char blank, part = '\0'; int partn, lens; int debug = 0, nochk = 0, onedone = 0; int chtbl[MAXCHAR], cdlen[NORMLEN + 3]; main(argc, argv) int argc; char *argv[]; { int mode; register int i, j; char *curarg; char dest[FILELEN], buf[LINELEN]; if (argc < 2) { format("Almost foolproof uudecode v3.4 (%s) 25-Nov-88\n", SYSNAME); format("\n"); format("Usage: uud [-n] [-d] [-s dir] [-t dir] input-file\n"); format("\n"); format("Option: -n -> No line sequence check\n"); format("Option: -d -> Debug/verbose mode\n"); format("Option: -s + Source directory for all input files\n"); format(" (MUST be terminated by directory separator)\n"); format("Option: -t + Target directory for all output files\n"); format(" (MUST be terminated by directory separator)\n"); format("If input-file is - then stdin is used as input-file\n"); Error(1); } curarg = argv[1]; while (curarg[0] == '-') { if (((curarg[1] == 'd') || (curarg[1] == 'D')) && (curarg[2] == '\0')) { debug = 1; } else if (((curarg[1] == 'n') || (curarg[1] == 'N')) && (curarg[2] == '\0')) { nochk = 1; } else if (((curarg[1] == 't') || (curarg[1] == 'T')) && (curarg[2] == '\0')) { argv++; argc--; if (argc < 2) { format("uud: Missing target directory.\n"); Error(15); } target = argv[1]; if (debug) format("Target dir = %s\n",target); } else if (((curarg[1] == 's') || (curarg[1] == 'S')) && (curarg[2] == '\0')) { argv++; argc--; if (argc < 2) { format("uud: Missing source directory.\n"); Error(15); } source = argv[1]; if (debug) format("Source dir = %s\n",source); } else if (curarg[1] != '\0') { format("uud: Unknown option <%s>\n", curarg); Error(15); } else break; argv++; argc--; if (argc < 2) { format("uud: Missing file name.\n"); Error(15); } curarg = argv[1]; } if ((curarg[0] == '-') && (curarg[1] == '\0')) { in = stdin; strcpy(ifname, "<stdin>"); } else { if (source != NULL) { strcpy(ifname, source); strcat(ifname, curarg); } else strcpy(ifname, curarg); if ((in = fopen(ifname, "r")) == NULL) { format("uud: Can't open %s\n", ifname); Error(2); } numl = 0; } /* * Set up the default translation table. */ for (i = 0; i < ' '; i++) chtbl[i] = -1; for (i = ' ', j = 0; i < ' ' + 64; i++, j++) chtbl[i] = j; for (i = ' ' + 64; i < MAXCHAR; i++) chtbl[i] = -1; chtbl['`'] = chtbl[' ']; /* common mutation */ chtbl['~'] = chtbl['^']; /* an other common mutation */ blank = ' '; /* * set up the line length table, to avoid computing lotsa * and / ... */ cdlen[0] = 1; for (i = 1, j = 5; i <= NORMLEN; i += 3, j += 4) cdlen[i] = (cdlen[i + 1] = (cdlen[i + 2] = j)); /* * search for header or translation table line. */ loop { /* master loop for multiple decodes in one file */ partn = 'a'; loop { if (fgets(buf, sizeof buf, in) == NULL) { if (onedone) { if (debug) format("End of file.\n"); exit(0); } else { format("uud: No begin line.\n"); Error(3); } } numl++; if (strncmp(buf, "table", 5) == 0) { gettable(); continue; } if (strncmp(buf, "begin", 5) == 0) { break; } } lens = strlen(buf); if (lens) buf[--lens] = '\0'; #ifdef SMALL if ((pos = getnword(buf, 3))) { strcpy(dest, pos); } else #else if(sscanf(buf,"begin%o%s", &mode, dest) != 2) #endif { format("uud: Missing filename in begin line.\n"); Error(10); } if (target != NULL) { strcpy(ofname, target); strcat(ofname, dest); } else strcpy(ofname, dest); if((out = fopen(ofname, WRITE)) == NULL) { format("uud: Cannot open output file: %s\n", ofname); Error(4); } if (debug) format("Begin uudecoding: %s\n", ofname); seqc = SEQMAX; check = nochk ? 0 : 1; first = 1; secnd = 0; decode(); fclose(out); #ifdef UNIX chmod(ofname, mode); #endif onedone = 1; if (debug) format("End uudecoding: %s\n", ofname); } /* master loop for multiple decodes in one file */ } /* * Bring back a pointer to the start of the nth word. */ char *getnword(str, n) register char *str; register int n; { while((*str == '\t') || (*str == ' ')) str++; if (! *str) return NULL; while(--n) { while ((*str != '\t') && (*str != ' ') && (*str)) str++; if (! *str) return NULL; while((*str == '\t') || (*str == ' ')) str++; if (! *str) return NULL; } return str; } /* * Install the table in memory for later use. */ gettable() { char buf[LINELEN]; register int c, n = 0; register char *cpt; for (c = 0; c <= MAXCHAR; c++) chtbl[c] = -1; again: if (fgets(buf, sizeof buf, in) == NULL) { format("uud: EOF while in translation table.\n"); Error(5); } numl++; if (strncmp(buf, "begin", 5) == 0) { format("uud: Incomplete translation table.\n"); Error(6); } cpt = buf + strlen(buf) - 1; *cpt = ' '; while (*(cpt) == ' ') { *cpt = 0; cpt--; } cpt = buf; while (c = *cpt) { if (chtbl[c] != -1) { format("uud: Duplicate char in translation table.\n"); Error(7); } if (n == 0) blank = c; chtbl[c] = n++; if (n >= 64) return; cpt++; } goto again; } /* * copy from in to out, decoding as you go along. */ decode() { char buf[LINELEN], outl[LINELEN]; register char *bp, *ut; register int *trtbl = chtbl; register int n, c, rlen; register unsigned int len; loop { if (fgets(buf, sizeof buf, in) == NULL) { format("uud: EOF before end.\n"); fclose(out); Error(8); } numl++; len = strlen(buf); if (len) buf[--len] = '\0'; /* * Is it an unprotected empty line before the end line ? */ if (len == 0) continue; /* * Get the binary line length. */ n = trtbl[*buf]; if (n >= 0) goto decod; /* * end of uuencoded file ? */ if (strncmp(buf, "end", 3) == 0) return; /* * end of current file ? : get next one. */ if (strncmp(buf, "include", 7) == 0) { getfile(buf); continue; } format("uud: Bad prefix line %d in file: %s\n",numl, ifname); if (debug) format("Bad line =%s\n",buf); Error(11); /* * Sequence checking ? */ decod: rlen = cdlen[n]; /* * Is it the empty line before the end line ? */ if (n == 0) continue; /* * Pad with blanks. */ for (bp = &buf[c = len]; c < rlen; c++, bp++) *bp = blank; /* * Verify if asked for. */ if (debug) { for (len = 0, bp = buf; len < rlen; len++) { if (trtbl[*bp] < 0) { format( "Non uuencoded char <%c>, line %d in file: %s\n", *bp, numl, ifname); format("Bad line =%s\n",buf); Error(16); } bp++; } } /* * All this just to check for uuencodes that append a 'z' to each line.... */ if (secnd && check) { secnd = 0; if (buf[rlen] == SEQMAX) { check = 0; if (debug) format("Sequence check turned off (2).\n"); } else if (debug) format("Sequence check on (2).\n"); } else if (first && check) { first = 0; secnd = 1; if (buf[rlen] != SEQMAX) { check = 0; if (debug) format("No sequence check (1).\n"); } else if (debug) format("Sequence check on (1).\n"); } /* * There we check. */ if (check) { if (buf[rlen] != seqc) { format("uud: Wrong sequence line %d in %s\n", numl, ifname); if (debug) format( "Sequence char is <%c> instead of <%c>.\n", buf[rlen], seqc); Error(18); } seqc--; if (seqc < SEQMIN) seqc = SEQMAX; } /* * output a group of 3 bytes (4 input characters). * the input chars are pointed to by p, they are to * be output to file f.n is used to tell us not to * output all of them at the end of the file. */ ut = outl; len = n; bp = &buf[1]; while (n > 0) { *(ut++) = trtbl[*bp] << 2 | trtbl[bp[1]] >> 4; n--; if (n) { *(ut++) = (trtbl[bp[1]] << 4) | (trtbl[bp[2]] >> 2); n--; } if (n) { *(ut++) = trtbl[bp[2]] << 6 | trtbl[bp[3]]; n--; } bp += 4; } if ((n = fwrite(outl, 1, len, out)) <= 0) { format("uud: Error on writing decoded file.\n"); Error(18); } } } /* * Find the next needed file, if existing, otherwise try further * on next file. */ getfile(buf) register char *buf; { if ((pos = getnword(buf, 2)) == NULL) { format("uud: Missing include file name.\n"); Error(17); } else if (source != NULL) { strcpy(ifname, source); strcat(ifname, pos); } else strcpy(ifname, pos); #ifdef GEMDOS if (Fattrib(ifname, 0, 0) < 0) #else if (access(ifname, 04)) #endif { if (debug) { format("Cant find: %s\n", ifname); format("Continuing to read same file.\n"); } } else { if (freopen(ifname, "r", in) == in) { numl = 0; if (debug) format("Reading next section from: %s\n", ifname); } else { format("uud: Freopen abort: %s\n", ifname); Error(9); } } loop { if (fgets(buf, LINELEN, in) == NULL) { format("uud: No begin line after include: %s\n", ifname); Error(12); } numl++; if (strncmp(buf, "table", 5) == 0) { gettable(); continue; } if (strncmp(buf, "begin", 5) == 0) break; } lens = strlen(buf); if (lens) buf[--lens] = '\0'; /* * Check the part suffix. */ if ((pos = getnword(buf, 3)) == NULL ) { format("uud: Missing part name, in included file: %s\n", ifname); Error(13); } else { part = *pos; partn++; if (partn > 'z') partn = 'a'; if (part != partn) { format("uud: Part suffix mismatch: <%c> instead of <%c>.\n", part, partn); Error(14); } if (debug) format("Reading part %c\n", *pos); } } /* * Printf style formatting. (Borrowed from MicroEmacs by Dave Conroy.) * A lot smaller than the full fledged printf. */ /* VARARGS1 */ format(fp, args) char *fp; { doprnt(fp, (char *)&args); } doprnt(fp, ap) register char *fp; register char *ap; { register int c, k; register char *s; while ((c = *fp++) != '\0') { if (c != '%') outc(c); else { c = *fp++; switch (c) { case 'd': puti(*(int *)ap, 10); ap += sizeof(int); break; case 's': s = *(char **)ap; while ((k = *s++) != '\0') outc(k); ap += sizeof(char *); break; case 'c': outc(*(int *)ap); ap += sizeof(int); break; default: outc(c); } } } } /* * Put integer, in radix "r". */ puti(i, r) register unsigned int i; register unsigned int r; { register unsigned int q, s; if ((q = i / r) != 0) puti(q, r); s = i % r; if (s <= 9) outc(s + '0'); else outc(s - 10 + 'A'); } outc(c) register char c; { #ifdef GEMDOS if (c == '\n') Bconout(2, '\r'); Bconout(2, c); #else putchar(c); #endif } And here is uue.c /* * * Uue -- encode a file so that it's printable ascii, short lines * * Slightly modified from a version posted to net.sources a while back, * and suitable for compilation on the IBM PC * * modified for Lattice C on the ST - 11.05.85 by MSD * modified for ALCYON on the ST - 10-24-86 by RDR * modified a little more for MWC... 02/09/87 by JPHD * (An optional first argument of the form: -nnumber (e.g. -500), will * produce a serie of files that long, linked by the include statement, * such files are automatically uudecoded by the companion program.) * More mods, - ... 05/06/87 by jphd * Mods for TOPS 20, and more. 08/06/87 by jphd * (remove freopen and rindex...change filename generation...) * (A lot more to do about I/O speed, avoiding completely the stdio.h...) * */ #include <stdio.h> #include <ctype.h> #define USAGE /* ENC is the basic 1 character encoding function to make a char printing */ #define ENC(c) (((c) & 077) + ' ') extern FILE *fopen(); FILE *fp, *outp; char ofname[80]; int lenofname; int stdo = 0; #ifdef ST #define READ "rb" #else #define READ "r" #endif int part = 'a', chap = 'a'; #define SEQMAX 'z' #define SEQMIN 'a' char seqc = SEQMAX; int split = 0; fileln = 32000; main(argc, argv) int argc; char *argv[]; { char *fname; if (argc < 2) { fprintf(stderr, "Almost foolproof uuencode v3.1 06 Aug 1987\n"); fprintf(stderr, "Usage: uue [-n] inputfile [-]\n"); exit(2); } if (argv[1][0] == '-') { fileln = -atoi(argv[1]); if (fileln <= 0) { fprintf(stderr, "Wrong file length arg.\n"); exit(); } split = 1; argv++; argc--; } if ((fp=fopen(argv[1], READ))==NULL) { /* binary input !!! */ fprintf(stderr,"Cannot open %s\n",argv[1]); exit(1); } strcpy(ofname, argv[1]); fname = ofname; do { if (*fname == '.') *fname = '\0'; } while (*fname++); /* 8 char prefix + .uue -> 12 chars MAX */ lenofname = strlen(ofname); if (lenofname > 8) ofname[8] = '\0'; strcat(ofname,".uue"); lenofname = strlen(ofname); if (!split && (argc > 2) && (argv[2][0] == '-')) { stdo = 1; outp = stdout; } else { makename(); if((outp = fopen(ofname, "w")) == NULL) { fprintf(stderr,"Cannot open %s\n", ofname); exit(1); } } maketable(); fprintf(outp,"begin %o %s\n", 0644, argv[1]); encode(); fprintf(outp,"end\n"); fclose(outp); exit(0); } /* create ASCII table so a mailer can screw it up and the decode * program can restore the error. */ maketable() { register int i, j; fputs("table\n", outp); for(i = ' ', j = 0; i < '`' ; j++) { if (j == 32) putc('\n', outp); fputc(i++, outp); } putc('\n', outp); } /* * Generate the names needed for single and multiple part encoding. */ makename() { if (split) { ofname[lenofname - 1] = part; ofname[lenofname - 2] = chap; } } /* * copy from in to out, encoding as you go along. */ encode() { char buf[80]; register int i, n; register int lines; lines = 6; for (;;) { n = fr(buf, 45); putc(ENC(n), outp); for (i = 0; i < n; i += 3) outdec(&buf[i]); putc(seqc, outp); seqc--; if (seqc < SEQMIN) seqc = SEQMAX; putc('\n', outp); ++lines; if (split && (lines > fileln)) { part++; if (part > 'z') { part = 'a'; if (chap == 'z') chap = 'a'; /* loop ... */ else chap++; } makename(); fprintf(outp,"include %s\n",ofname); fclose(outp); if((outp = fopen(ofname, "w")) == NULL) { fprintf(stderr,"Cannot open %s\n",ofname); exit(1); } maketable(); fprintf(outp,"begin part %c %s\n",part,ofname); lines = 6; } if (n <= 0) break; } } /* * output one group of 3 bytes, pointed at by p, on file f. */ outdec(p) register char *p; { register int c1, c2, c3, c4; c1 = *p >> 2; c2 = (*p << 4) & 060 | (p[1] >> 4) & 017; c3 = (p[1] << 2) & 074 | (p[2] >> 6) & 03; c4 = p[2] & 077; putc(ENC(c1), outp); putc(ENC(c2), outp); putc(ENC(c3), outp); putc(ENC(c4), outp); } /* fr: like read but stdio */ int fr(buf, cnt) register char *buf; register int cnt; { register int c, i; for (i = 0; i < cnt; i++) { c = fgetc(fp); if (feof(fp)) return(i); buf[i] = c; } return (cnt); } Have fun. -- ================================================================================ uucp: uunet!sunic!mdd!mike email: mike@mdd.mdd.se voice: +46 8 7926390 fax: +46 8 7923300 Smail: M. Sorensen MDD Datadistributoren AB Box 4071 182 04 Enebyberg SWEDEN