[comp.sources.atari.st] v04i018: popen -- popen

koreth@panarthea.ebay.sun.com (Steven Grimm) (10/27/90)

Submitted-by: rosenkra@convex1.convex.com (William Rosencranz)
Posting-number: Volume 4, Issue 18
Archive-name: popen

popen(3) for TOS (rosenkra 14 Oct 90)
-------------------------------------

This is an implementation of popen(3) and pclose(3) for TOS. It does not
rely on MiNT or other multi-tasking systems. It uses temporary files (and
is thus limited to maximum number of open pipes as open files).

It is farily robust and has worked for me for the things I use it for.
Only source is posted here.

The source can be run standalone, with a main program (included). Just
define STANDALONE in config.h and compile. Run with no args. If you do this,
you might as well set debugging on by setting global _pipdebugging to 1 (by
#define DEBUG and #define DEBUG_ON in config.h).

To install, compile (after #undef STANDALONE and turning debug off) with:

	cc -c popen.c

and add to your library. You can #define DEBUG but #undef DEBUG_ON to
compile with debugging in the code but not turned on. The caller can then
declare extern int _pipdebugging and set it to 1 to turn it on at run time.

Note that popen and pclose use system(3) to invoke the command. I have
included my own system(3) here, though it is renamed _xsystem in the source.
This system follows the PATH to find an executable, so you can do:

	system ("grep whatever");

and it will search PATH for grep.ttp, grep.tos, and grep.prg. It does not
handle Bourne shell commands, however. If you do not have a decent system(3),
pull it out from the source, compile, and add to your library. Note that
_xsystem (which should in this case be renamed system) calls a lower level
routine _system, which actually does the Pexec. As far as I recall, _xsystem
only calls getenv(3) and access(2), and probably string stuff. Nothing fancy.
It should be pretty portable between compilers.

There is also a system call included called _psystem which attempts to do
the command via gulam. I have not tried this (successfully), however. It
should be possible, though. The code is setup to use _xsystem. If you want
to play with gulam invoking the command, #define SYSTEM to be _psystem.
I have not been able to get this to work properly. Maybe someone can explain
it to me. It runs, but then the prompt flakes out, oscillating rapidly between
the prompt and the emacs "Mark Set" string, effectively locking up the system
and requiring a soft (or hard) reboot.

If you have an environment variable TMP set, popen puts the tmp files
in that directory. Otherwise it uses the current directory.

There is a manpage included. Also included is output from executing the
standalone code with full debugging (file "out"). Note that the manpage
only is setup to make the standalone executable, not any library additions.
You can do that pretty easily, though.

Finally, before compiling the standalone executable, look at the main
program for the commands I execute for the read and write popens. They
are specific to my config and may need changing for yours.

Enjoy...


-Bill Rosenkranz
rosenkra%c1yankee@convex.com


MANIFEST

Name          Length    Stowage    SF   Size now  Date       Time    CRC
============  ========  ========  ====  ========  =========  ======  ====
CONFIG.H          1011  Crunched   33%       682  14 Oct 90   5:33p  6a6f
MAKEFILE          1905  Crunched   44%      1083  14 Oct 90   5:21p  5804
OUT               4070  Crunched   54%      1897  14 Oct 90   4:10p  4f90
POPEN.3           2915  Crunched   42%      1697  14 Oct 90   4:16p  d7f2
POPEN.C          24996  Crunched   54%     11645  14 Oct 90   5:28p  414c
POPEN.MAN         2894  Crunched   42%      1698  14 Oct 90   4:17p  4213
README            3003  Crunched   40%      1804  14 Oct 90   5:27p  3876
        ====  ========            ====  ========
Total      7     40794             50%     20506

table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 popensrc.arc
M&@A#3TY&24<N2     #_J@(  $X5*8QO:O,#   ,+U0T4 !"18(Q;]R827/&z
M!1H0+4 @5,BPCIPR(."\@5/&#8H9*086?#%PX @R91:ZP4BDB) J1Q) (A 0y
M!$HS(.B\ 3'D21,H29@4 6'FC1R;9<34.7,FC9LS(TW>=,K2)<PO3YS('%#Sx
M9LZ=="RZ 9$0J5*F3L^P^+I3!4D%)U-2!3&%2A G1((PR5ID:]>47T$X'<.Fw
M#LJ<9>;0 =$FC%,08LJP>7,G*MPZ;KPB"6*E"%8G1; DH>)7!5*<.D'4F8,Qv
M81D\:>B@2!&8\!O6EF46J+F03>*U:7#F>5,'!)HP=EJOA"V;MENI<E?2S5*Wu
M2),$";[@F9-'<9DV"6JBH1S8J9TW:S"&D=B&# @V<Y\KT%WS"QSNWMNH9CT't
MQ)DZ;(31QEK:X4?'=X+U)Q]]IK4Q5QB9210&&VST9R""89AQX%%PA$''0PM"s
MLIMI:5A81AARC(%&&62X ((;;QRH PC#%3<&A"!<Y(: &(4X(@@%=G>@?JE=r
MJ!^$[H5!AGNQ!>9C334>!9\8<J"8AXM-WDAA?U\8Z:)\(P3G54LO'6&28&:,q
M:=41GPWD%!W9P9$&'"B=U=13(/0 0@P[8%<3:XNE%D-@=2[UWAM:LI&'92. p
M(!EK;KH!IWUS%HH6GGK"L,.9'9$1G$F=?JJ 26("5M==>>T%VD !B630A&SDo
MA$:)-KV16((@S)%&&P!ZB)$(%4(4*Q_^700'8Q"*(-A88UBDXV*>RN$BC >Zn
MFL"''@IF''(8M;$H96-AE@8>+<"7WGO](=1&8Q$FRB*ZQ:UX4:X[U0C"'6E0m
M:"T<<KPA1AAB*/IB&>^FIB*$9V#T88DN0#* JV\U.I5T4A01!!%#-$%$ L#.l
M45RY(IPY,4972#%:QAN+,(8.7' AAE,MGV$LLFZ$#%>H9@P$&@A-04M%1DE,k
M10    #_.P0  $X5IXH$6'$'   ,(T"T";.FC)DT;,J ,/-&#@@X;^"4<0,"j
MA9,G5(KH /'&#9L\"QN"F$,GC!LR8=AT5%@&3YDQ=4J*20C")!F!)N&$.5,Fi
M!*0!*1HH&"$T($HZ939"(C"E#L4G8^B B$%CJ@T=-&#HF&%C:HX<,(J"L%-&h
MSIPT'3?&<!%VJ- I189029"@!X@9;ZL(@2N7;@^A5()(.5)D;MV'$2>ZH$,'g
MCM F09Q "4+8+V*);ER00,&72HK-4_1V#JI@2! JDRL?AHC9Q9@P=!Y'GB)Ef
MB&76B@>Z$2IXB)$D3(K<3IPYC)PQ;Y$(_AU\-7$7<]#($5JE2A'FPIVWKE.Ge
MC% D18(0*2)EBN4Q'0^><8'F;6WSAS>#%T]^2HK+BI$KP B^O&4Y981!1AL*d
M#530031M!ID3M UQWQLQ"45$$E-0@9UY=FW&7WWW@?8>:4\(H01\=N&6V1M"c
M^<8$920*Q0011JQX!(D@M#"'BTGLY9=L3DPHQ7DZ<*&;D":!%I=G0DE1A62"b
M-;&C DI>5(5A=OD 86P*""46&6D &!5:;LSAPD]%"<6EEW2 .8<.0M$%Q$MHa
MO $"'7E(!(((!BJ4$ALBS"FG&'4@)-5F@0U6&&ENPBDGG7;B29!":819$AM\z
M^@D"H(*^$"E)>X) J&"$(:E HF/$.6>="CE:T)QED-0G'8NV.B@*A8:*: )Oy
MEKHHJG?F"<(8"9GTJIP MO$&61R)H<9+=-PX*JZ*GMJHK\"^(88890T+0K''x
M*F3MLE'-4=-)GM(*ZJ%M0JNKM*GZ:MP8VOHZ!X3'Z7D<&FD@NUEOV-V:JZF,w
MMOOH2&@8%^_ \]91+\'&+8200J I)T6_Z?Z[Z[0#<U?&P:MJ[ 9Z9)1QTZ>&v
M>E9N==<!5P1I6@Z%4Z1S&L<3'6,.4*8">^I %\FVMLSSH3IK**)]Z6XVA(/Eu
MOA@CB_>U(.?/)@L]8H<H,)$CT5EF'9!N.O%441US*(0I&W2T +,+NKD&V[9Ut
M))1"S3=SO5-2"2@866HK^XS"@GBG$#0*IJ%&6=[/3B13N8'W72[?@[.L@-&Gs
M]?WW@@TZWG) L+)-41HTD^F6 DB1I'/=YI9\*]141SF9%$VDON034UKN<N:;r
M3LH&")S#_7GM.2? .Z5?Z-;R[VP$;]+D=S>>[AAP+)X\850OZ&,*7-C-)/05q
M1WM11AMU]!%.;G2MT!UAB$N\R+I?SA$=:)0EIN=$*0!L@&ZP^:P<;90;XM0@p
ME&46XI%37M:J=:VRZ&Q^)DD7_LI5JT,Y[WJ$$\J[[+<S%/3F/F$H%[]41K4)o
M5>A"_HH6&5:"DS5$Z@P:K W%LJ8Q"I(.94X8PA/&0[4&BHI4IAJA&PI$D!.>n
MS#HK%$ITC./"B FF@Q2RD,KL P(?&'%B',S>NG3(0Q.Z 85/#*+60! RS(3Lm
M8VEHE>[B9R(7O$%G91S#K]*3AO6T1P$:"$]55 !&24Q%     /]I!P  3A56l
M@9!/Y@\   QMPJ1QHP/$F#!LV(" \P9.&3<HV,RI Z(%&Q8@1,@1D:*! H8.k
M"1I\TR:@&S(]^$BD:)$/1CIY'*:4XQ+$P#1T>L#P"/)A03=AVI0!$3#AFS$@j
MY)2ALU GI $V9,2((8-G0Y\@@ I->48'%SIMX'#Y\@5.&H=D7<!XRL=JR()*i
MPY I."7+%"I%FD2<6%&ACZY?PXXM>[9,VK4#.BKX@F=.GCETRK0I""4(%20Ih
M7;  +&8@BS%>.[MA4<;KG#=ZWHAYXX:+Z,]>V:01PT5RF#%S8'.1+4;WTC&Zg
MV1Q%Z-HSZ-W#+QZ7@YNTUS-!R^2>6WPT:-UM[@ _/L=A0MUFRI#13:8,]#EMf
M%S=^''GRPJ=;0,#HDCD]8\>0)1>$ Q]$#/I\<#:0?>OEYQY_ \0G X#'B48@e
M?NWMU]\, );&Q6FIK=::@Q[=QYY^[R4( @T,QC9;;0'A]N"'!_970XF[S;:Bd
M@1**: .,O\T888CQW0"C< >Q49V.("(8'PX_)D=DBR+F "-SZ'58X(Y&QC!?c
M2A9")U24ZD%8)'Q3 4@=AUVR6.,65)6XY)DQ4)C2<=F-L2:/,9#XIFG>L3%Gb
ME2_>R45X9,RI51DIK;3G'"" D-*<,#DDGY1>NG?;&-(ABH(+NTWD AUTP($1a
M#(IY2",(DU8*PJ69UN$"''*<\6FH4X)8ZAR68KK2IF_D)A^LD18TJZ4"MG8Kz
MIY[NZE$+D!1@$U-EX)$&9(@B6P"D9H+P1:2G'N&5$$DXP0434U3A A540-$7y
M"']Y!9989)F%UA=J/15JKR.5%,9)!8' A[9<<.LMN.*2"X5]]-(A$!L%)<N'x
M1>@"MNY@[AH&+V($5VMP&@JQ@94,,W3HKEQS@6"&4P/48(0000R!T1@DF822w
M2GRUA-&@*?%+11-0# 9%$E 4<1A;&-V!1A@Y[;38QV2$7!2022W5%&)1M5G5v
MT6>!O!_)4<\P-6%P6+U0"SY\00<97XR,F,DH#^%QU4GO![;89+-L[TF%QJSGu
MVEVW_7788W]!\[Y>W9PS63OW_/, ]B$=,AQO]RTTT3KA[37C?)/M1K-%0X* t
MY'J+_089;\@&&=92:>T65G&%;/93:*?L44 #%12D0CU!U.! 7)RA%!Q$W8N1s
M"'=P=+I(<KOLIVBY[]Z[&S4U2B@?=]1T4TXQ#/]3=+T;A9123,%!>@PU3%W[r
M]5L%J*Y@[19V& PQI#<^"'?(@5-I(E_EQJD.H\^UQ&JQ'ZKB!5E=R4Z&LI6Uq
M[%XONUUK=%<&WIFD)G^S&<YTQC.?38Q]-7D<]3BG-(0PC7M/>TK4;K U (80p
M*E(A(0?=5KFRD0QM*%OAWN#VA>(A\'BX8Z #[Y4XMBVN<9:+3LT"-T'"57!]o
M[9,AY6BHP1Y4CVIY^V$++X>'S*%0:C+T'.A$9\41BL]^!8G?_ +X0@(&X74"n
M$0EDPB 'IJ1N(&=82&%<\!2>G.4+J2L('=Y@,(7@X(GNPF,9Y%(0,LCA#L@Zm
M0*)@(!\00.(!C'S"&)A2)__(0 <SF $(Q!"&-=@1#H(D9$4.F<A%-A(2#) !l
M#&Y  Q!(DI*MC($-=  #&X"@#'*0PQP^&<J0M8"4D%!D(QF)RAC@@)6NG*1_k
M8AD#'=0 ![U;0QG,@+$R\#*/HT1D,$U)S 5P[ 8QR$$R8>F?6<*@!@NQGPO&j
M<,U!^A*8PF0D,5.)@Z>,<YG+Q&0K:^<"D[13E+_49CQ/N8 8W."9T'PE/F5)i
MRQND,R0N>,,_WWD'/"#+ -QTI#=AD(.HW+.2#%WE0Q^RJ4Y-M" !+>4P-4J5h
MCJ)3H2"E 2UC,%(WS, %;&3G1^Z(S91N<Z6/C*0R03I+*X% #W7\R!B$,P?Zg
M";!U:E,J4^E7'HU%YFI0*YWXEIHK^@U*9$H9"@JR.A49* 8.7&UJ02 CASHHf
MTPQA/159M:88V(D$K5,]52!3EX*F,<5H=EVKP=H(/_G1 8YR= @=!\"3M#JUe
MC$*(H52[6I!FE6$,=;@J".IRE[R<2H'):^#R0, #"0[N"X6S8/]B<%;'DF\Hd
M<"V#6,D:OM9.5;!M?6M<QRK"%)J56J.JS&4RLYG0&,>XH[$0AE3#FNH$YT2Vc
M:<YQ>.,;.FPG-LEQ[G23HQLH.2=WT9D.<F&#'>WHICME^,YQ $4>\X2!2Z*Bb
M4G^NQ <7[*D__^$*<N\KH@7AD'G E:^(W,0'Y:*&N1L:4("_)"([\6&ZT$T1a
M?&/%I/CTZ<$F$@-_XW,C/^5HP14&@8_\!"3BD"F^##Y2DH*T81 XR4]0VK"5z
M*O2<\,HXOWP8DX++-*HJ^1?#,B8PG+0C8P=S)T\ROO!ZQ2,H(6*X.J&%PZ$2y
MQ97=,2HF0^D8CW?TJ\\B-\HE+1:HCI6L9=W26="J2+) 7)!KL>A40]A6M[APx
M!"D4 0KC*M=H2TO$TZ86B?.JE@WQE2@^Q+E?<Z[SG?,\L X5[& )*P ?3$):w
MTU+0<!=,XF(>C3$0:$PD,J#!L>"9453*H)X#^&@L93J#?:K3GPH([$(<J]<[v
MBI$.?06AT4!WN<5ZQ",:"%!/4$5.+C,      /^A!@  3A4<@O+78PL   Q.u
M@C0I @)$ P4)X+R!4\8-"Q!PQK!Y,Z<,B!8)%I:1$X9.FC=N0("$F(;A'(,*t
M#D[)XN0)E"E)IA0\F&!$&C<2ZY"QR&,.'3(?7:#Q09.FD21,"*I0R# DBC%Os
MVK0)XX;,0SIY&*:@.09-&#D@5$"52M5J6*P,=Q1%&'%B11 H?,HI$Z;-5H1'r
MDX:52[>-VI0*B!29,D1*$BA4DCQQ,A,A%(TAQ\SM6.9DF(0E+8HI0^=.F88@q
MZ*"Q."8,&S8WST"4\V9,9<M50X\&,79J;)ITWH#87+ ,GC)CZM I0\8%"$@$p
MJ(Q. .+KF3IM&M(YF1LBY.9S$[ZY.5P.==UNZIS&O;'-3<ID0,A-?1*J&SIAo
M;J8&,7<.PS$>[91ADZ=YP3FCG590;645E!M-O@$G7!G,%=A<2" D\<(3!;7Qn
MQDX/@5!&&J)M5) (<H@ @AEO@#494&ZH5B(((MPA(HERT'2''!RF9AP(REEDm
MAVEU6#07'77(X09Q(*0Q1P)AJ$?'9&T4I!!W'LK6$7.E0;@93754E%YHNLW(l
MH475=:AD65^E=Q,<PHED1@)B$AC;BB>.R%H;-'%XDD]DRI'>&\*A2<>-!]$4k
MA)),BM04<0F(T1]3H#51Q114[&81;6X1N5M_$$E$41DN,#<H20S1!!FB,!;Dj
MI4<I@D#&&Y6!X,8;=&CX6W##@5#'>VFP(1N#?-559'N5DB$CAVAD6NF-06#&i
MD*$-$0EC B>FEB$:;WBFGQP9&IE @K02)^-H(7&8@)',#EE<8S0) 5P863)Xh
MG1FYMOJ510#.:U:2:%D$HHANIE>EI+9JV=Q)-%%5I!M^CIAK=P\5B&]6^KJ(g
M)&PB]9DFO&QT!RA@+5$Q6&,)/!'2JVZTT(9X'L$WQQKSS9&'3V6T<1(*:;C f
M*8Y/3)$""\K*.U>1;<#!1LS2$1D&P0@-%W2)7V&*<:L'&S@;4'/A5V)_]@&7e
M!KQ$*KJKAF[8D09K;D3W'DT[TAB&&$/CV 04(LDQ;DAM!CG7>ZJ.#5QN<N2Qd
M\4%Y?8Q2 B10\3877WP!1V:)NX ') .P&;-"'/6M\-!'HO#X +\F  /D7(*0c
M ^1W'50$%@)!D11S-"&QD47:&NQ;74+32^T=\]T>>D6QU@&'?R?V_."65.]=b
MYW05TY%P=9>=:M'B#/V-D$TXL:$33SX!]8901"'$E5=@0:["B5^,T49Z/;#(a
MQDDML"'"7PET]=5Q ZAP:OGG@Y"^"&/HP(48-^'"&>8"!^TTY7UK2<!4;@*7z
MNR1@#S39%AZZ$Y+ '8< 2[D."E( /PE2\&!T2(BFWK)!^$4P<,R!Q &64I(Oy
MG&@'"7B!"@C5EQ'!B2XH4HT*7G!"I!0AA2N$WA=.!4,9TM!7I3K5?'880?G)x
M+5%U,,,68@ #&="@"T6<H1BB: 8/E2I.3/0>0F*H@@B&A7[721+T+/)%'-H(w
M!*/YF6= H(8LQ6I5#U+?'$3@ C/.$')BLN"/@F0N$,SQ7QT*2?#,,*<^CC$Lv
M/!SCUN"" B'&J0<&! T*R&<^L^PK!2G07_I0@$(5A-()56 "$QSX0)I S@QPu
MH-%[UA27GVP$6RR"BGC(D(!7Q>HZ<5JC"#CHR@'XAD-PB0$QQ]B'!)+1CVALt
MBG_6:$.P*#%%QHFC1>:(QR2)8(!E@ ,?H0G(V0B2,X0DTB$-EDA#TJA6N7%Ds
M I@3QGE.$@65;.&I])=)I]RODP]IT3!#V8-1EO*4J5QE!"&(D%?&DCNTS-XMr
M ZI+-O#2E^5RYY= 589AP@]RQXP5"I39P6:*<9XR).< ;L(F-)!K(@MYR!SCq
MQ,BHM-1'..0H7-9'FZC8A@RL/"/D"N2\T(FIJ-1$ 3A_UZ\4&,>78/(*'51Zp
MU'<^+S.J8M5),#J9T_3'*W"0YJT\HJLYMF535)T--=E &3D8QS2Z$DU'X!B&o
ML#;D)-K\U=?H$+3+E4&EI:KJ1M>8@#-PYB08&]JY/!,_/EFT.>O3#<:ZHU+4n
M#.DDFX'1-M\YG^H(\50/F>0<[T"5X13'CY&<YQU<VK:1LI*A"7BE89&'@BV:m
MX2%4E,$,'F))'"XSMBLU URZ^ ;AYA,.+O2M Y$CALFLX:,#@*4LZ4#+S[XSl
MH"78XT-L^]M7FL%Z (*+=3GTVP28- $13.DC_SB $4;UJB8QSFI!<\A*[2H!k
M2,U,:&.52)6NJE5VDHV-((?:")Z5A+T- U [>&"+''>([_QM!$,*%QC\UJ0Jj
M*0)!@L"$*5!H<"1J"@IFL+,1N7?$)789S-J 8I0 &@A03U!%3BY#      #_i
M?2T  $X5G8M,0:1A   ,(]*X&<.F#IDR($2,>>/&3)HS+M"(:*" X@L5%$&Hh
M2 #G#9PR;EB @$/PS1R$9NH,I).&X1P09M[( 4'ER100*(*P&9.'(0@:+F+0g
M@,DFC!V9+B -2)$1HP*-"0(.+'@0!(\Y=,BTC.BC:=,$1I(P*:*QXT<W.,>@f
M"3-3Q<(V;<*X(2-2+5N-=/)\9/ITHT Z(TN>Q!EVK$:L<LJ$:<-7X]<@=-BFe
MH6D3A)TR<N:T1"LF#P@A:=BP 2'%),@U<N3JP2G'M!O484J,B9%'[IHR98 Ld
M=',9CXNWC3<*!?%D#. 8.7+ </$YS$DR( 2.9 O89Y,I+8A4OIQY,P@Q=0"Cc
M46PGM.>U8VY#CRGG:\V;*!;"R2/G(1K 80"+>4.'SILV(+QA!DRAE9&""U[Ub
ME0 =: AT!@AVN7%&&= )1)!!9>B0(%0M@!"7:&^, <(<<(0Q!DHR@>#&8F6\a
M)!UB=1@'PA<U:0<"&VE@E=9_<<TU(AWU2?@5"".B\48=;$ G!D)A@#A&?A1^z
MY]F3HF$67 (=)H;C:S?FJ%\9[*&46!D.>EA&&S)YAH(98ZK(HDC^O7%EAV&0y
M =U!)[H!V!QY8'4F"C.D &&3HZ'P!1Q\^@D@>R"<@>1BT;UD1E&WY0&GD76<x
M@<:<$/(($F ,(G2'D6P@Q&"9<D%7YYUE@'?&&64>20<<X7W5H7PMU?$29JW-w
MI%89Z:'JXT)5)0:C<74$>8:M'LJ$4(JESO$2%#8E@<4+03@Q11+,SH%IDM\Av
MU)$<D8E1*@C^-:OC%%1TV@8<!6:&TT&7L>%1E'>DP2 (.O'$$*>$)F0OE2)8u
M)ED8YK8H4DHK;3:'2&70,09S6%$'0K[[JG109@LEAM,7P;U $45275C555D=t
M9 97)%M(%4(HDX&C&%PEH-1%,*7XX< 02ZR1R J4_+)56&GU!LL5)7W15U"8s
MI%G"()C(DDL!HB772/>Z$:5#I38%] @J"X00$46,1441"20  \EA:PU"$5@4r
M,4059Z<=P\A!IV&&ROPR,4063SA!<G1FS 6F96^D0<;@(+2-T%&*I_W7X"!Iq
M90;)E>N-MT5.034>&W"D-%I<8[0V1U(#>,TVF&+?Z)S$:\F!PAPI)(#"["ELp
M@5BI;N#>0@Q=U(YS43K:-9-T8?RH[,^K.^0V',3#SA;N"9AP.^VZ \F[[\ +o
MK\)(0*+[1G2 J0 TWDLKR(1 ZG6IHX#H-BCA2^F2,7Y^@=D[&$MME(&ZZ@HXn
M%F!H] 3M4&0/% &+6- & D@<0 5?R,H7S+"#M.'," 6Z&),\=@>9K"%6:$%!m
MNLP@& ,Q3P$),%X"&OC ")+A"ROJ7P5QY@06!6A H4+7NPAT+A&.3R5;6H.@l
MS)= %;(0@A)\2X_(,,/O#8%'J1(?",J !V"%!R%$1.%?TN;"+XPJ/TT$P176k
M JKQV0\G<),;W<B2(K*9K0A#!%H"!#BC&CVA@0- X@NUA@<ZA-$)5-P3D&)$j
MAV0A1#I!C!*.=)3%/NQ@<PI('U3.8"\Q-&D. *P82T1$1P+:"!($0.(;[+=(i
MP/0 !#!@0ACA$+YT58Q<-^S2:Q3II1.BKW,;89AQ' ; @.SM<$@(@A6*\(7 h
MP2T)5*"()M,@HBU^H82'2L-'7H*"%(1Q"*6Z6AW@ !.5[-(G*&#"$X80!";$g
M$7-ST5P ([/)Z.@I =$LD9UP8DT+?F]54O3/&4N)$W&2TYPG+ P#':@"LX"$f
MGH]4P!8Y4D*$4F2A4\@"NXK0!(3:,WXY*M*1P'6&\2$R#6+@9!D^DAHZE($-e
MGLDB)"_2 DAX((L7@2>\Y$D&F^41:"QU:1:7V4P]S6BF^%Q37: X%Y'$L PBd
M^2(=^")0/*J @A0QGE.5F*J$2E4I*CAJ0K>HU(0B4&FX3  ^D\<UA(C # 63c
M@TK<4*8<4M5'"B$J&0KFD[(FY*@%2U>HOL)/^$G-85)<4N,8PB10C6>*<V%.b
M#O_JDXR2"%AZ2T.4!/(5I3(G,864 UI^5S68A"$TAA0)# @7H#4@J"]?R2&0a
M<'.C-[QA#2_!T6TP2LTPF,&D,YE#C$XDK31<9E"BH9V&4*L@@>@K#4W200(<z
MDAG 4(D-RCW);J#S7.6>2@[4)91R(S8QI7P%E%^)X"C?4$IXZI.\7C+O>,LKy
M7E)Z:4A\2!L(^  "^=+7OB" +WXA40 G5($)3%@A??GK7P +N(']_2\3]'M@x
M2!C "PU^<(2]P.#Y-M  \;6P@S,\8 Q7N,-<:"D!N!#A$(.2Q!HV@(E'_&$$w
M?P&41.*PBV$\WP87X,4$B/&03#P 'Q0XP"#@L0_X$ ,=T5?&+VC!D(L,F",?v
M.,E+-O)\OSN "_,!QTZV,'WGB^4::SG&7>8#E:W,1SKPH04O./"6^5#F,Z?Yu
MR_-M,YK'[$ 1JQF/=OZR4D3\70) 6,OX%;."0"EC$R< Q?0U-!?Z+&/^XCC&t
M-G[TE =-@ P+F0\R\%&6Z0ME3&MZTE A] HW'.8[<YG0H-Z(4HC423N.&L-Rs
M?O.18QSK[Q: A7F>]9[!.^@#:/F[ODYT2P\-; W?F,:"#K6O+ST#[/ZZUU8.r
M<[$W7&MHUYG7CE'0J YZ!X1T5(HG88M:<C:3J[U!#&H %F"DD\-2)A4AK\3/q
M ,];RJ]$L8-R6$. DG6Q,'C&DNFY UO(\# 0;#-^IAH3<]J+7ATU2>!]PMI?p
MZ/>&U!YV/_WY3RQ5.R:1Z*H.A/),NU]7-2;9B4+,(8G^1!6:T; )-Q9OT;/0o
MK>Z"SV%\'&=M&W3U)1!HB7T4$HD:>.[.00VFVX-M5F(L?K48!&@F,L#:64X'n
MP 2VNH!WQ"H<$MJR7PZ(;$*HPA$2J+>/S?0@KH*5A/B2@*^FS0QP"!(=!C2[m
MK/"*!0E4B@CBN2H=P*0')8 !#MB AZ'")54]X$,)YL 'H[(H\8MO_,7("'@Rl
M<,$-(L ["I5B!L,OT?']2RH9K9G /J#3<GA+0/I6^#VE3&A/_T%(_] D!\\Pk
MZE0O.7>Z9<3NPR82.J7\'PI/R!$0G++N:I61)^^H D'M+$0X08%*-',&K9%!j
M4)K10QG@AWQ"UA'K*2"]%NG.S1X<_^HV:CX(?LSVK_J2;V 7>P(34'9#G;U5i
MF5+[&=C>]KP/ .YR1W=%<W=Y1P![!U1VXG?/)R+PLWS*XWUF\%FE0@8N<'DBh
M('YI8WI!DSF7@T()@%G)$D*_@X$:V'7P5P1A-W;C9W;2A';YYR#M-W\ ^!<"g
M:'=R( <B<8#2U'<>0BC0AUDC 7B"1W@6*!(H8"]K-Q(D>'KJE$"KIQ%XQ#6Cf
MT7L(82ZV\1(8@P8(AU'SHT$J@AO0D2X:,SY%@5O"QWIR! =*UD4#XD"G!%4He
MI(8^T$5O!1VG5(<)Q1%K*$%'U4 $<$I:E4!RV$5*Y8>GU%6"N(=[%$B&."/Td
MYB5YR'#\Y&"GM'5X\WZ'$W\J2']T%T\N^"HPF$!NMUQQ1X,X,8 WF(-\EX!!c
M&'B#AP=%B!-(N']*F(>D&("G:(,XF!"K2 9^-X@29 9"^(JQ>(0,08O ^$)Fb
M@(&W:(IUMS&[J(,T]8N*^$QR!7F,%XO):(V'-Q?,.(-Z4H/0J(H(Z(LC48U'a
MA8U\H(WHR"+?6(KAF(OCR(OE2(US*$%*57GL>(\OI%3OB(O/>'?TN(.LN(UEz
M-HQ$B'E&.(N"8I"!](_.B(K1V(M^)XE>@I"PJ)"R>(R"8I%8L80;F$X=^($1y
M$X(X 0/B5X))PSDM]5(XM1$&Y08V!5,JT))9U%0%E34[THUT@2Y\<55YA(=1x
M%3M.Y4<'Q#E?H9/),U,HXBMRE1!U2%<XI!=F10<%@P(SD2)W<"!? 82L-!.Nw
MM%J0DB)N@"2C\96DQ2M(474HI$() !YF8 9;( ,U8 -=D(=&1%"!V):Q,VH/v
MQ$KODH<"Y9=/E8<\Y4YT0']L94JHQ'5)@XE?AX+RMX+VUX+X!XIK)XHR"(]Su
M)X\"*0(QZ7=UJ(YP0I6DZ4[ZHH\*Z7]U""<B85Q+E8<:. (<F'I/V'H# )O(t
MA2/:QQQUE0;-A5A 8BDC$C$&QTW/16XEAP?Z,GG,A 8)!(5*01"*X08O<7 Ys
MQ)0N@A9/,ABZ@AF-HS@JPA_Y8QK,82&)T3]Z$IVX>9AV<#!0 YOG.2"$Q9QTr
M4$V#U2+C"1A4Y"5"1W3@\2[LB4<+H1*X%34^PAZO%S7[$1[D<UIH:(+ )$S$q
M9$Q8@$QD1W<A )LQZ('U%P+UV9R& DW:&7[^!X*:%7TX*2CL9XLG=1+^!YLKp
ML *RB3EL *-:M)@SFE"T*9(@<!'!-$S%Y 3'1 4JE32JYQ2LAT=Q,5O)8U+Oo
M(A-L87L%HECCX3%L4841<Z 05W#@85@9E5'.XS\#.IWCD1Z(90?*205-  7An
MF1C&D280<Z,(\9T0<@<4Z(5VJEMCP%N:<1EE.@!EV09+(B]LHG&CE2ZEHQ@Fm
MQ4/Z"3\YQ!X LG?Q5 9?\ 4N  -ZUS,3PYYR5'\H )CEUR@1 Q)JB@(BP*90l
M<(&"8GYI093JQWZ:Z:%TAP)]>$H+B!,Q8 /A9WS')U7JAY+SYWYZ<X(I&*.=k
M>']I%XJ;-P!N!TK@V)D!F8H)$9INTC\]Z"2>52"6AWD8J!2S69O-BJ(AA (Kj
MNGX*QHRS6:R9*)F;R(DL" >?J'_\]ZS_QYGB^)G6VH>YZI48680%:(Q)>%3Ji
MRH0C.4?XBA-'I8J5>JDN$'@S,%>ON9@C6*,H]*)E,*N24ZNWFJT#DXMRP#LXh
M(:J"L@(@L*N]ZJKQ :N"(JP>2*Q>!P*:B*SQ.J_,:E//2@#1FJ_4"II9XW?\g
MZH,B$H'<:H'?.@#A*I(G6I(I>COGVJ+SMZXQ.[.T6K.72:_#ZG\[ZYD]NZ\Vf
MU*_&"0?_NIJ;1P "2XL$:XM)BWI5>X2O(U6A2@?OTJJG= )<P 4GP'9*02( e
MN; )L7B7RI0."[$2"S[O,K'Z4K'SA['^Q[?.Z+<BL'AW&[C29*F82KB99[APd
M@+ATH+@H)+7&.IGP6IGR>K4W.XI;.ZW1Z+7]HXZQF+:E9["VJ:32.0"C\IQ1c
M\TTAE!AU\G074Q\FE0(_X*E6AS'CA@(JL%0:VYT(<0)R< +#94_S5[N\FZ<Gb
M 1@'5X=2Q)3DDWOA02MEI$/<5%80NJ1*$2IH0456U*CZ8J4'I9,Y!)J56S#Da
M.[U9E#:.&X\H )>=][<OX0.+E[FM>:T&XIB0*;/N.G_UYXFFFYDOJ[4)J[HYz
M:*W5ZW<1-5%-@ *+EP*QR+\%&Y)LJ\!T=\%G4U'[6P=Q*2A\0%^W,R!OJ).Vy
M^B8)(0>LZJN$L4 :P:+I6J\2&IG'VJP+K*POZ, X6X"I*Y&:9S,%X+-GX7<5x
M# (D3%&^JY-$RP9&FX?@*KOCRK3E^K3IJK:0)+T>6+OX9%?IXI%T0#$68BH-w
MXB(O4;TBP5AHD2^B8;]X)%CU<U*E6G0J9YZDU8O?\1]B4'!(MQN:L3%V?+YMv
MC*!3=(,I$D7DBJX =I[5X08H%<B$ZB(#LH")_'\2>#K>-<;W.[J +%3N\GD$u
M+!)N5 1G8Z(/W*PDM'(XL8P\RJX^++I*\:$,O*Q$#$I Q#X*ZXX\RKC-^LM<t
M$L/](WX]RK8V%<E.B\.Q^L51&\9)VLEEAW0+BGN>M8MEP!UY<"H2,A*M84GFs
MXAGXUCZO5;[4R\5;B!B* 2")$7<RIR=M=5BR KZQ5(?V^S6VC, _O+%6R\O[r
ME[6P',%(7*T_ZW.*88["Z(H)F;EG*RBT/,T@K$YIX\SF"LT2+7ZIQ[P@< )Wq
M +WSMWKF:[O ZS_[R<;X@W3VXP8GP)]5- 97A*#?+#\/D@?&::"A,1*5:\TOp
M44+0<7,@T!-U  )-4 7L4I[[,S[9?%@'H1F) 1W&@B1T$ +VV\G,]3YGL85Ro
M.[Y5&LKRE44'3+4 3;HV2\3]5]  >=!,#!)^=P<G[7<QL=4:3#NO*\P4O<P6n
M/;IK8GPY0]>0>P<UK+)>#& \G#=3F\! G*R6*=!ZZZQ&;-"Z.,$)#=?ZDB$!m
MLM55?,7^M[86K1087=CF!,8KZ8$D3<;SU)QZ=5AHK,8#P<9ABH4G'<>Z>S$Ml
MU\EX/#[J*]/LBQ9]?!+J/,I!3)#08<H#[+=I-#>M?-@V%<NF,<O*W,]DG<L:k
MNLM#/-!E:\SZALP%;*,X:E/:'<S)/,Q*BZ2@S<[/;!C1;-BDG7K5+,IX%,DYj
MY,Z+L<\][,^B2\I"C)G8G3;V>L23C=!-_+N7+==C"]$,"1,?K-<'&]H:K>".i
MF4 J$P94';WO'=9XI)9R<(81BMBA^Z[#7;J.3=#-+=GSV-9NX'<37N&_>XSHh
M0I6<[8&>W>#HG='JK</L';L*H)*W9),OR5 K-Y,OZ>,/Y5._C1!KPE0XC%5Pg
M^%5(J2 -96Y;S92799RC57:O-:># 82_PY9S-$C*9T=.M;G32U#R; =XV9=Of
MB<)R29=VF>9LD39'-9=U>9=D]TY?GA^Z$N$>WJ[_'.)GW=^H:^+Z6D(&[M 9e
MB> <">$ZSN"S&Z@"QP;ZUF[^V5JO52:W=U@= Z>"Q+L ,D(*E]*!RB#X@\82d
MIR<4MX71P],?P1Q(IS51<N92]'.O,>J^5TO;AA8WUS_@_" 9=1"E8E)YFM6@c
MD@;8FE%70T4GPDJ;$:ADD"SUC!"T;EJ6SDV5@X7C,<?2KACCMNIK IP.YR10b
M<GV!RI2B]]QE=NITD.H_-I]>&.6BP>H*HT&!ZBT;!1UK\5NFWA%_(47M3KPHa
MQ"BAZM=HO ,C8?"R7HDB,:H.V4<=*L88GLOTL\@Y1%A25$(_ -8=7M;;Z,)Oz
MR-Q["R1C,!_BC53GR(\PA-?F/0!S8+Q:&*K5Z(_^9Z\>O<IG$[V@M'HPAIM(y
M9_-D4;WR#LJI4[8G--:*;3,$ .@-W-^@]*P% .#CF'<& )J&WCAZ;%*_>.!)x
M[& 178L%..,%J/,YAILO!V\E<B)1(^["KIP"Y.H92_3M^2U2?5+ 3.DZ0NQ6w
M#?=R!$KU5WZGA,;>0R#!25BH0WR.]H@Z0HDGWT5EAL4$0,Q*?.;HR(B5./E]v
M5,N)_<]\S]@B?MUZ2P!.#_4$N'E3?^1 :T-ECQ.(SL%D:S,&T/4&J?)*+/JIu
M*/54OW)^1T>IK\%#B >LGWE2#_O?2@!@7[:['_OC;<1M$JH<7;9B7[L-%:E?t
M/?1(;_A)3W?./1A);L-%\ 1&\/DP^^%Y5P"ZO-]82_KAS=W*#/G\E?ZP6]$Cs
MR5^:I"M^W?U&X/B@Z^>X_/AT2EHH$ +6S=\@8 (F8'"6#,SJ;Q6HI+<%,/\Or
M<4KV/\QT6H 8Z__N[XY6@4IZ6P#S_Q*G9/_DS<R@Q/X%,/\O<4HPX)A([\SSq
M3SN.:5,>G=QKA/,$\/P\CQ#)O48$WJC:.7D'!=0%F&W5WYXYC9QR=88[O_<$p
MD+_2RK\YN'A6$<!;7P#;.,#(W]U]?LN;N/D![?D%&/J$7OND?_NFX7>[?446o
M+%$EK/IVW?H.YL'XK\5(__QDWR8D8B),HO9;DR)M3^]PCT?VCB1S'T2J7DMXn
M7X#6W_<V#/A)*OCOHS6%?[^'OUZUI/@-;Y1ER_X%(/DHG^Z5C_*-?]_3??T!m
M[?D%&/J$7OND?_NF<?K8NONK#["D#_OMF/R;]_2$7OND?_NFD?M@#AB[O_H l
M2_K"C_]:C/3'WX[);_S+#P?-C_3/CYN[/=-N]911U%!E58 G=!$A@%5IMODXk
M$<4F[,'@/_[9C^03W>>WO(G\5?Z-[?E2[_XJ3YMT.O[NK_*.OGD%,/\O<4KVj
MC_\%B+'^G_U(OHS<[_W@?]_33?[5;?XWZV#NK_*T2:?C[_XJ[^B;5P#S_Q*Gi
M9/_X?]_3S?^#4?Z-?=T@8 (F8'"6#,SJ;Q6HI+<%,/\O<4KV/\QT6H 8Z__Nh
M[XY6@4IZ6P#S_Q*G9/_DS<R@Q/X%,/\O<4HPX)A([\SS3SN.:5,KS@9T@/,$g
M\/RXJ>$*.S[TS1@%:/W.;/]'JX$9J.-.2+NXJ>$*.S[TS1@ 3Y*9%4+VGY*0f
MQ)(Z]>//M'*5.@=I0Y-$OD[YP4R(.2,D6KG4Q!=.'DEAA4W5>9Q18U@(43G,e
M 0)#0"A1TAE;&*+BD2JELHME9Q02B#"E(GRV=+%]A!EHL45'[E!(BGY9ET>6d
M^)C2??1*/^(H-.AK'>![1Z*5.P=^]RF8@3HQG@#%OUPI,O!_C_A^=/ CX=<-c
MK[P>>.0C6XT3C:3.C)()Q>.E#4GWS2[90@3E9$RW9'&Q'37HTB* $7=O< :Ib
M\>GC _3W=M)!GX.:L7-L$!E:<R1S@%(B<%I0X0;\(2H;M.V(P4QKGRZ[^C%.a
M$';?'_0]R)P[UP:G94MY,Q480C19L15HT!5) Y0J4+W/U 9V2!I%$ 1$, 1-z
M0 05E*00T@85(BUU$"7I O3<FT5 J0*630?/U 9V*$92@$Q#T 1$4$%)"B%My
M4"'24@=1DBZ6W:C<>Z1Q(1THP!9G, 9Q+ =G8 =\L45L<09C8%5$B55L<09Vx
ML 5VK@!N%TB8@19-!4HY2=<8&$B8@19;=.0.A:2#>40S]075&T;TO2@I4KUEw
M<K^#>40SY47 &T;TO2A:";QE<K]N"9=;$ ,P( ,T<)=)^AUL#IZ, O3WNU"8v
M]07S/P=AQ"A'#B%GJF]'ZH2TBYM**>_*6;T.PAQ7*BH(,70Z<D97(P(W*@(0u
M6KLYU%3DBB\(\21H@;X*W;N'V@802GRT'XUQ(1"B&3 Q6=<BP04B( =<<(&Qt
M6+W/U ;7EX>@.E-? /25",/5^TQMT),B0,,I>WRB_?#-J+]L7:#@X@;DJ9- s
MSY0QGC;]"1@H$ ,@^>C#AYM**>_*:=DL(2',<:6B@A!GE#PB< ;Q+ (06KLYr
MU%3DBB\(\21H@;X$WJC^ :'$1_O1&!<"(9H!$Y-U+1)<( )WP 47&(N630?/q
MU ;7EX>@.E->!+Q^'9,X8=ET\$QMT),B(-@I>WRB_?#-J+]L7:#@X@;DJ9.6p
MW:A,&>-ITY^ @0(Q )*//GRXV7L992\>\6X*W;N'^NF'!?3<>X0_+5>"DBJ0o
M?M+Y=%B6W:C<BP)G$,^GG"H'DM+Q@S\Y9-DF5>Z5FY\OX0;DR;NB<1YA  =;n
MK=.C@71'OH7<6X:8 :%D'.^D+AYA  =3!P)7>D@3;RH[9%>9+BHG+>^DNNZ!m
M*H4H!_#-J+]L'1<"D?N1 4O56R94KA17')<%X2U<*P<8>+L]% ,/OURO1TUPl
M*1(Q  ,R, ,++TU?4+W,6']FL'WD)TU?4+VN;%-BP+MK8(NTO[K2] 5/', Bk
M 9?U%)<%X2U<*P<0J;\SY47 FX,!+!)P64_+-2FZ\O(SY47 "Y*//GRX&?V'j
MI9VNGNWO+LLY9-F-:N[D@W!H83\M$JCZ,O$.<H;$AUE?,/\O48D-%:K2] 75i
MBX&T'XUQ(1"_V%"A*DU?4+V" H0ET*V9BUE?,/^TXYC-J+]L'1<"D?N1 4N6h
MS1+A3.5*<<5Q61#>PK5R@(&8]07S_Q*5V%"A*DU>!+P82/O1&!<"\8L-%:K2g
MY$7 *RA 6 +=FKF8]07S3SM\3HKA04TBT-+^HQ27%XL2V?P)T)^ @0(HF5 \f
M7MHLJ5,_?BB) J5I0Y-$_I@N@R%681)B(! 4B 9=\9B. \5(4#9,  5I<SO e
M&JQX  ,T8 8V8$Y).B)] J4&4Q\(<RYB[3@@< 1?T 1!< 1), 1I P-X  ,Qd
M, ,U8%,XPP13< 6QY"A% 2!Q 2LB(M:. P)'\ 5,T 1!< 1), 1J@P<T( ,Pc
M$ ,S4 ,!EJ3=%.^.4A0 $A>P(B)'VN^'DBA0FA9M0'! \I-$B55CT 8$!R1>b
M=4L6%]M1,R)] J7 -1JW.V[?^1*.4A2?KMLQ/=-N]92455QN@,^(X2!6FE&Aa
M.M5Q4<Z" BN7<9TOT23(=1(%5R(,PJFG94LH-(OX:Q26*BU;EZ3*.07;!)ZSz
M8Q11(BUP<$XH9._D@K]H\ 5Q 2MC$$;V#DMQ 2LB<K^SB+]H\ 5L$!>P,@9Ay
M-(L]""LB<K]Y^4!T< 9?64%)^B-2.B'*Z1^.\@6&7P X4W9$K= A=S'WWB6Sx
ME2[YCD5[7P XTYSUH2ET<"D'10=G@);VCB1*PB2&7P XP^]Z I[I CFJ\AW-w
M"3]OP!T?)!I95%_\A3,^D=0ZT +GE*.):3MN<09PD +5M$J)HR?@J:B$XBA%v
MT0;X"4KWRU\X<TGCLQN1(1 4YRA?(!)?2B3WRU\X\Z14&2GA&9>8\2E')$>0u
M4U.VHP*4! <I4$VKE#AZ I[I\GI;TLW(50=E@)_WNU!C< 9P\ 68%4:1?*@ t
M,@9GP$U'>M]DK?0CCD*#OM8!?H") J6BV08$!R2NJY%CT 8$!R0@Z>A(>IMXs
MM*#><E)GF3AZ IXH\"+;!)YH<A AP';$-P=&8:G2,JI3L$W@B0*IA(%T< 9Hr
M"4JGI )3@ 1EPP10D(=3L$W@.3M&8:G2 @?1G?FBJ_0CCD*#OM8!?H") J5^q
M1P=G\)5:OY%)2 =G\)4@Z>A(>IL$>J;Z%A>P(B*#6JAG2'S>\@5Q 2LBHA2Gp
MI +78R2PU'PB= 9HV2$X$'Z&B09?P 9Q 2LBXM<J<#NSF,,B= 9HV2$Q@)(8o
MZ"U?P 9Q 2LB8@*G! -X  ,P8 0.IDH9>HIH\ 5Q 2LB$@*G= 1?T 1!< 1)n
M, 3S15_>\@5L$!>P(B(A<$I'\ 5,T 1!< 1), 0=:O3_K-^-[?DDSGF$WK.'m
MDBA0^M:M$<YQ 2LB\IX%@1"!1P-X  *(#K!EZRU?$!>P,@8BX2U?P 9Q 2MCl
ML.#B>M'H[;D)P.,H=)MXY 9O< <].%N1ZDU38YT ?Q$AH!0I= :CJ@*WT^_(k
MFP+5)"AT< 9?:4TT&0)*D0"4-*HJ<#N04]S-5TV"(D)G@)8=PJO6=+]C< :Cj
MB@+]CKPI4$V"0@=G\)5Y2$FCB@*04]S-5TV"(D)G@)8=PJL&+-U'K_0CCD*#i
MOM8!?H") J6B>09BB^@B04EBB^@ VZQ=/P9GL+D;F824! <@Z>A(>IL$&C".h
M4A0 DH6GG"IG2'QC< 9P\ 5 >'QN<09PD +QT08$!R3-;_1_SOF!_O#-J+]Lg
M?2B) J6B>09P\ 68I9H"? 9P\ 68!9*.CJ2W&=_L7(B.4A0 HA7%W9_.Q1!:f
M,34A(<XM4@=Q4<YL1WS./ 9G  =?@%DI"4D]KE,__@5XD"A0FC8T2>1)<YA e
M"4&L-!Y]M 5=X-=[( (NT!]PD'DBX )Q=P:9)P(NX!]SD'FIY$A).D4Q/=-Vd
M%4AH<:3]_@5XD"A0"K(_2918A1A>E4"!A!G<292@I *O9ZH.=;%]A!G<292@c
MI ("<1!XX% 7VT>8P9U$"4HJ$"0'@0<.=;%]A!EHX4R) J4.A:17M0 %I11Tb
M_N9%I.:LA 9;$ ,P( ,T8.=\&><IU 9D0.=O7D1J/N<Q( ,X8.=\&><+(H%;a
M$ ,R@ -VCD*) 2M^XBM$61:1$1IYF!BPXB>^0I1EP4IHD(>) 2M^XBM$619Sz
MD(>) 2M^XBM$619S$ -YF!BPXB?'\TYID(>) 2M^<CSOI 9YN%!Y\1%^#0-Yy
M^.C#AYO:UQK[MB=GWY2=0O+P4R(, O#+E2(H,!FG! ,+STI:6(D,8O"3P0,Gx
M"P,R0 ,&GP8SRG\%Q4IH,*-^;;<P< *.>>&UNZ ELB^'"B"F"IP,H9YT /!\w
M#0>LI(6G]'JFBA,B  5!0 5(,-B_RK*H]/ DF5DA% ,R< ,@Z82TBYOR(7+Cv
M<R0SP;^8 ?!?+@<CKR:LA 8+STJ;@OGB3YG6S=\/WXSZR]9?@ >) J5^!P5!u
M0 5(X+H:R4J;8K&.CD*W&84M5W2+)0=G8 <M(%L;E!J> 3_\KB>8D>KS#20.t
M@DG#=[\"/QFG! ,+_Q*5R" +/P=.5XD,8O %-0<(/P<S^O"C6U OX:HGP (Gs
M,%_T55 OX:HGL ,G,%_T55 OX:HG\-$@GT>(XM=V"P,G@,4#  =*L05IT 5^r
MC2@Q@,4#@"A.5XDO8;(Q@/GBO]@![?DS']EK'>![AP>) J6_J!1;4 (R0 9=q
MX+JMSU]IL/!*L05I$#Q8C+1:;%-IL*,4G0 :R!%*L05IT 5^O;)W$:Q\?N&Up
MNZ#:VX>'"B "@<^(X2  _^5R,/)JXK>(@8$"CRA^K55E,0<(/P<S^O"C6U Oo
MX:HG\-'S15\%]1*N:K=T< +S15\%]1*N:K<N/5_T55 OX:IV^[P@GT>(XM=Vn
M"P,G@,4#P$H2Z-<SBBA8/ !BP+MK0-H)H)(77KLG<4@#TIQM8!_XP0;5>QY&m
M@1)F.1W[$D4N$$@ SQ$O<4HF,.>[<U#J#P(=0@-V_IC2??1*/^(H-.AK'>![l
MAP>) J6GW[J*EXT:^?YO1^@]^P5XD"A0^HLO87R*EXT:B2@@Z>B4B;R(8L,Gk
MX (GD$ F8 (X$0*(,08[%*H%)P(NT!]P<('S15\A@!ACL$.A6G BX )Q=P87j
M.%_T%0*(,08[%*H%)P(NX!]S<(%@;0(FX$X'@0<E+Q)VB[>NG-807]*,&$4Ei
MLB^P<AENP!QGU)Q7ZC\:3WP+0I5^'0,&+-U'K]^-[?DDSGF$WK-?@ >) J5^h
MEQ<? 0(ET*V9FQ=[0=J.[H&(,?)J,@9MT)/OC[\BCS_QT08]63 7:(N(\22 g
M$1]MT).L)('-?]'H_06) J5IT0;7!Y()@+'^C[R(8L,GX (GD$ F8 (X$0*(f
M,08[%*H%)P(NT!]P<('S15\A@!ACL$.A6G BX )Q=P87.%_T%0*(,08[%*H%e
M)P(NX!]S<(%@;0(F  (;:CAX4/(B8;=XZ\II#?$ES8A1Y 1W5"+[ BN7X0;Vd
M[8%Y\1%^+0,6FP 8Z_\%]1(A4+<N< (@8 (FX$X'@0<E+Q)VB[>NG-807]).c
M<$>,^*73L2^P<AEN8-\>F!<?X=<S8+%&_^><'^@/WXSZR]9?@ >) J5^EQ<?b
M 0(ET*V9FQ=[8;&.CJ2W2:!Y0)WQTQJ9HH7<KH4ELB^?4GL OUPI@@*3<4HPa
M@/!*L05I<)?1,:,/?^$E#1ZA 1U'9=\>*/!JX-<P8/"'$BI]M 5J<)<@H 8Sz
M"O*Y27=Y\1$@$ *G%"@S7X"(,?)J,@9MT)-PH!1;D ;!X_B(\22 $1]MT),By
M<+<7Z/B(\22 $1]MT)/O;U,::%/L3P"(,?)J,@9MT)/O;U/UEQ<? 0(A<$HRx
M\/F(\22 $1]MT).'$BI]M 5J$#P&+-U'3]T![?DS']EK'>![AP>) J5^9R)^w
MJOH%AY( NWD%, 9M<'U8C+1:;%/U9R)^FA9MT),H:<,N6\1]?LN;N/D![?D%v
M&/J$WK,M=6O-V9]8\1(M50 QCO3%C_2(\22 $1]MT),%<X&.CQA/ ACQT08]u
MR4H2V/Q&K_G7']">7X"A3^@]^P5XD"A06I&) J6J;]>M[V!CT ;7A_]:C/3.t
M_ 6) J5IT0;7=[0:F($ZGGK.' ,R< ,I"4DLJ5,__@6) J5"SI(Z=3YY,Q48s
M8A7&095((S088A4F(08"08%HT!6/Z3B2'&!JLV!!XSA&'0180 5!(!9V(P,Wr
M@#?]_@6) J5IT0;DK@! Z19MP$1'"59?L=M7]!+)4X=5GEG6><I1U)^"I.>Yq
M-Q._(P,WD):.W![%A1;:W!KA(3:GE6U0$1FW\1+)@QC" AW@ZR+KIB?W0VX p
M @6[;7"&TURI,@?#E6U0 4^) J4XH1 Z<+=B(!!W._(N$'</4E9.5U8R<($)o
ME6U0L21OT2(;LA$)  6[?9(Y. 8Z<+=B(!!W._(N$'=GD+DB@ =EY71E)0.9n
MFTKBEVU0L6T>@P>1$C52TJB[$1G&%<[M!A)GL"^0JNE/&1D[_>VE$@.H<R61m
M:I;3L2^KC1#:>]1)+5BP<AEN<%K9!A7/-2V[+1*[ Q(B@1@C3YPY0B(F@N3&l
M094]6#IR<EJV=+%]A!EHL46[<U#5E(>!A!G<292@I *(,?)JTOPI1)2@E$)Rk
MM04Q( ,XT 4LD*0@0"H$=\I1U(?WVT (L" 22.=OGJ0@0"H$=\I1%!D[?;^)j
M 2M^XBM$619YF!BPXB?'XU.@Q#MYN%"8Q><77KMBP+OZEKU/^1?CH[U1I+V1i
M$1H0FFTE'6]2TBGS42;:>Z@ (A#XC!@.<H;$)_"CBH<:,09M !TF8 (@L*'2h
M<O9([A9M<'T&7U SZM=NT09D,*/\EX<%Y==V"P,GX)@77KMN\ 9W,"(?Q$U6g
M^!K;Z4[XC!AMQ=3&R19G4'!E)Q=Y<(;$=[L]Y!9M !TF8 *10B(F@N1NT0;7f
MQW]CT 9DL*.//GRX^2MH&AD[S3MGP"!G2'R@*K*GM#L'%1]M<'V"X@.GU 1!e
M@ 54$ 1BT:%&_\_ZW=B>3^*<1^@]^P6) J5^%QD['2>M%<X:?'T 6[8H\!>"d
MPCL++JX7C=Z_(P,W4$])*CYD>(PA0'PJ>>&U>[WH(H$W A)GL"_20>Q2TJCHc
MVRDD'QFA<8;$%QFAL04PT 5^O;)L(2B\8Y@B3_(H8 *1$1I; #QUT0;7A_GBb
M3YG6S=\/WXSZR]9?D"A0*IIRY7?S%7FQ6(<0J;]L_06) J5^%QFAX7?\I7C9a
MJ)$F$!FAL07=8XNT/Y&) J5^%QD[S3M^5P+="M%_(2B1$1I;  /!8[&.CJ2Wz
MB4=GI"\A "$- BX"<:7ZXKTS8:K R1#JF<9@37Q >'Q_(2A0L-LGZ7FI B<2y
M:(3 BN.CG7K.C%DI>8D<^*,JP"[90@3E9$Q'&E.6]!Q\;#$^L>OP)B!T(' >x
MPRC7D1V5T1G#E6U0@0)#("A/-!_UH2G'D0,X@ ,B@1S*(;,MT0:*DU%3 "]:w
M(QHYPAPZ,1KUH2GKKM G(0>7D:<;LA%20"%>4A]?ZAU19*<O<B1R@/91) 8"v
M,:7DU@8OD:4C@1EMH"_"_A5Q]P;E<1!A2$9;B#!O\%OR01_V 1ANP!_,Q"0^u
MHLTEDAIGD!IPH(59^A7/#CW,-.Y%%S!\JH62^A)11.KXX0:>83\RK9[LM!F:t
M!Q5UPATLH1GA'!>XM9L%%T7\<:4]B%N[^<8G->[@%B/0J2!:@1@@%1[>$45Vs
M:B)KX 9O< <3."'Q@S_S+2!T(' <Y!Q67R_WLC@*TADRVQ)MH#@9-07PHC6Br
MD2.G!154@ 1)<!-3X/U4< 5!( 5DD00W 052\ 16D 1D0P0@  9@$ 0WD013q
M< (GP"].0 1BA$Q(\ 1TPR].D 5O@P50( 5%, 4W\012\!5)T*9,D 1%0 1Bp
M% 12( 790@5)4 13(!))X 1#P 150 1)X 1'(!)7@$Q(\ 1T P),D 1-@$Q!o
M0 5)$#@B005(0!9)T*9,D 1%0 1?<05!( 52D"U4D 1%<!/>;]1%( 5#$$Q.n
M0 5)( 1B@4Q9P"].0 0@$!940*13<!-&\ 12P"\@  5!( 54D 1SPP1!( 4@m
M  55( 74,@5%<%K9!A6:\=JT-9YW$"YL$5OZ0@?G8BQGDC"OG4_V7!]JUR1Ql
M[".:\=H6EU%:$G$^T0:>\09WH.N%%)>O.5@N#1AKX 9O< >DI<WR01_VL6YOk
MK!BBD0=).2!VNMK/4A]JUR11$QY&LN$@8"3=QAUU$=7-N6T>LZA:L6XO\>S^j
M$\HG!!H(4$]014XN34%.    _Z(&  !.%2R"$T)."P  #"ZH( $!Y0F4(DY i
MS  A0@1#APU!/''")(F3(@T4N)@RT$F0)A@5P'D#IXP;%B#@C&'S9DX9$"U h
MD"PC)PR=-&_<R-0))TW).1DW#IR2Q8G!*4FF!'5C)N.(-&Y6UB'SDL<<.F1Pg
MND#C(V-&(TF8% &A8F1)G2C&O&G3)HP;,BCIY"F9(N,8-&'DD%7+UBU<LG)+f
M[O J<F7+ERBNRBD3IDU=!6#%DE7,N,U@C6;2!.4(@DB1*4.D)(%")<G$H$D(e
MSG1C=['-,G- A$GI\Z68,G3NE#$)@@Z:EV/"L&$#]4Q*.6_&P([MM_=O$'S;d
MONW]!L1M$&7PE!E3ATX9,BXR4GF>]TR=-B;IQ*;S!G7*U1GSOAP)U;N<]=7=c
MU!G>FV8;J*^1 8)BQ<6FEAMTA %5<1DM-D=)8]QD1QELY"';@+_Q%UUS[&&Gb
M'7?>R3:=6R D\<(3(+3Q!E4HE9&&;S0Q)(=#9KPA1X.,9>6&<38R= >-/=XAa
MQXO%A:? >"_9(5P=+RU&1QURN/$="&DP-R =KK7Q7GTQ^F83="1>5X=+ G8Hz
MY(LO=0AC1E?YE9> 4,'1G4QF. ?<6M()V*-K IJ!G)8OQM;F6V_*U)V<=!CIy
M A109!3$E5G*=-:48N3AGEDF9=1$%5-081UP+)%IG:4:)2%%2H:Y!(*1C_94x
MDJ0F35FC7F?>M",(9+P!&PANO$&'A]MU]U(="*;!AIV05D:E@:%^E]$=+Z*!w
MVJDJ-;NJH[2]NIJL>^98'$IHO*';A'*@5"6P($YYQV\ZO;@LK%*"%Q2C&0FQv
M71ACOK0:")FQL:M\&,KWUVR!O23"C-#AV5QP.HDI:AC,M>L&HAGU:Q]*S1$\u
ME\$_RA:QH70@RJ^Q]BG*F5%4?);1$SKUZD8+;>QW4X)SK%'<@'E<548;L:&0t
MA@MEN  "%4],D0)*KOZ[&)5MP.$O>@A."7%&WC5M8UX6]KLK5,AFM5B$-EKXs
MX'9I9$:IA3!BYX8=:2#G!M2_*CED&&+XZQX5332J0(]<I\V='(LAB&O;V[$Gr
M1QXF#Q29RAHQE1$)>$/!!1=??)%TY2[@ <D "50]4DV'C^QOSYH/\"X,FU,'q
M0@Z;/^9"9IL-5 06'T$A5D9(T/32N21FUYC3+\T1+K2W#J^Z2[_6 <>%?&;[p
M4G->%TZE>B!3K$"'L]4Z7VV*/KA44PH\%14;4U5U559O;-65 G;AI=?F*O#Yo
MQ1AM"-@#0VS$U@(;(EQV5UX@@%^MYE<_$-Q/!&/0P>3$ )7)G6$QR\.4&_I'n
MF+9P#06/V4-&$I =^^AD<0$D0%GVA<'+<! /'J02@A)0K<. H(2$2<#B$A# m
M Y3%)U_@TPX2\ (5)*LQ_.I6&'1D'!6\8(,SK.$-X?"%6NVPAS_4TJQ 4*N;l
M&7&#_Y-# A(@ACJ880LQ@($,:-"%)_JPBV8P0XRFV+PKLD\!/%3!!LD2P 'Lk
M:S9)"Z)>^%0D$/QF:;H!@1K&]*M<B0A_<Q"!D6CHP\VE#81.@E*\J @<$L%(j
M)\WSTUH6298CPK%L+T2!JW*8(P.^YRPOE!_]_G(P$:0@!0:\'PI J )8.J$*i
M3&#"8Q*@03@FP QP&!*"ZI08K-"D7 Q1RWX$U*M?[:MY2>/"!%-@PA.Z"P4Qh
MH.8&^Q##'LZQD79$)1YKHT<J#LE69Q#:'U\22$/.1@0/+ ,<%/G-.CXR+&.)g
M9)3454F=7-*<:*(.)]V8 %"B0)0XK)4I)?C" :X2)2+XT2MC^4):VA*7NMQ@f
M+[<(3&'2@9CG.R9$E<D&9OH*7@ -432G6<WL7#.;)N3F&^-8S\WU#0WG8@E)e
M4!+(3/X)6= D)PKRE["^O&67=-Q<<[2GNK0Q-8\HB.?R-G14H34S37BA0TT'd
MX-1S;N]5N=I5,T'@FN%8""]P0"6Q;G*L0+;0)5M-6Q[9\!HY"$TXQ_+2K]!Zc
MEMBL\UUIHT/31%>&K4ZQJP'-XQEP$YM^^0L\E$S8,F63O^I8C"9;)8Z48G.;b
M6;'SG#?KT"AK9:XZ!?(.;O&.O.#8R0VNRUB(R:9&-_C+Q5(/!6A$21AE, .Da
MX9!/VO2E0=7X!F*.$KB[W)P87+.&:G:T/L9-Z#DA6H(Y2%,$*$%C<#EJ!O()z
M[X6C/>=V9;I!;[(6G*G"ZE=A([1U\2:0Z4764VMCKE]=<JMAC4V@G%.DS7W3y
MDRR,+T*9"%P3OA4QX7U1<#?HTE^A  ;!E>GK-*,1SHA@"D482Q"8,(4GB*!Bx
MJT'!#([&K_2*F,1SR%G53AR4V64$&@A214%$344 04X   #_# <  $X59HMVw
M.+L+   ,<-[ *>,&Q8P4(,R\D0."RI,I(%#(>3.'X!HY84#$J 'BR1@Z('+ v
M2-% 00M()4J6I((FS1P0+D&$<0.S#1PV9=H0I!.&3IHW--^8 1%P8,&#,MV0u
M(3J&#<4R!A$J9.APB@L024"2>5/FI9LW=$K**<,F#PB@()JD<4+E+$.P:,HPt
M;%.'C<\6/.>L2>/F#(@Y>>;0R3GG:E80=2J^'&QS81@Y9LVDP?D2Q4PR)6/2s
M09,8!)LT;=(,7DKG#8@V8?" KM,&A!O68N2>'2J0(-$T U^&>5F;IF3**5RHr
M5' XIIG'D\U.%),8Y&40:':#N+-P39FE4T^72;@0Q.;MF_F>>9D$<468(*<*q
M5_#$3=F_;^K(&;,]9D#!UZ'++;-^95SX\M$'PA@S@1 ;"'+409-@EX7AE!MEp
ML#"=:&C(=%H8?!$UT1D8M88"7TW50<9UP8&@1',EC2@9A"!,04403A 1!!-/o
M.%$$3#2- 91D9[A0X7,ZVC09?R!(H>"$F[EFVF/C&394'O&!L)5W+<W!0DE0n
MUG%:&F>@X=Q+=Y#%QE]E:%4&<V><(=Y9-(EA5D5T^-07"&<X)8:#('P!!VXCm
MHJGFG*5I%)&;)8V@(E_;$5&$$%4<D=12AI:Q8J*+-OI%C3@.N".7/@8W'!6Fl
M\<4@&VQ(&.2>.$44AAF#,32"@BJV^&*,,]9XXW-TR.?&FGW6X9=09B!T!X4Zk
M#)? &&. T$*R11'DPAC#/1<&&:29EB5#GXF!$61791$E@31%.BD(BC+J*',@j
MO:J4I.16>L2E3GCW1DFG#HEDA;VFN6:&WVDZHH%U@/052+G* >%20%W%TG8$i
MDBH;N%02E&(933VV71EXM$H37R#IR>>9OO[IUW-PHB>OH($6O#%(:/6$X)$^h
MZ=2? DZ !5YT(#5+TW-P-/64>=L!AE\;49W,EQUO6!>QIFV@II1AT(5A1QF9g
MN1'BB$NU8=8;=RP8&&-%QS66A)O%UZ7),8WE1A@Z+?4%'D(SEFF_<\0W'W_^f
MQ11W3MR1RO5B_T$1!!5(G+SB4@5B3'' 88B!DX1U@Y#E@ 5N5:P")26PMX<Be
M<%@&'-/A7,;4<HB0P@[1*F7RL*22^=@8%0I..'<,>0Z'"W'"(:'MN%,DX7.\d
MPR%'CUAIQ9578)44G5*I"F$WBW/$U7J03I-A)71<CRZ7DY)'.>7 44]MX8CTc
MN0'2YE%=J0 <=8TIVED!)S11:W3;39^I;PCY^*,R47ORM9Y)@[8>DX>KU&PPb
M5.I)2=ZVN8C<H26P^PL:XL.&I?"K2I0[SX'4QK;\; XA#6.#;CR3/6QICPUBa
MB8^<MO.%S4GH@6F(8!@^4@<'O6<K75D:%!0WAJL$X27'88ATRC.6$$J(@5_+z
M24F \IX0ON0,92*('8HF+61U90XHD$$*?J<ZX;WA3HY[$QWDL";!U,$,9C @y
M7-9T'*L5L"2'B1X%EW(@X96)#F8)B!QXXKCMQ(8.8;)-O7 BA\)\2FSUT8T(x
ME_27)+8FA#BZ6GY"F!\]-1"&,HQ33N! A\689BLEZ1?UGF.'-&3D#'5A&]2Bw
M(S[PC3$-^0E/9>90!RO.80YF:%\>MHB],)'.,&%1@!SK0L?MW&<. MQ?V7R%v
M!H7]1T?_TEN9Z@"Z0"6&A7!S)/<F=X>9!#-0-PF#68:5)%2R@6TX0MI> /7,u
M_%5/0N)"5(NRX*(B-.%D![*D-N$8ONV +S:V:5RJ @5%@F$P4-21PQHT5!LYt
ME.4J31#G@>JF$Z P+'%X""=?,D,PT\BL>"]SP_70%3&:],N+-DG/.:W#FX!)s
MB")CF,PYY>07C.R)#._Y8R#=$,K_H)23_.M73F;X$A%$5*$M*I,(_O+*ODA(r
M4F:@F$^F]AZGC&&=?J'FTC97DN>,)0YU2 ,9YY21NK$J(MV)CAS(@)"QB.$-q
M8)E9$IX4)59N)W%N*.5$W* 3\X' #L@1Z':HT 0HD(D.$M(940(&./#8)"%#p
MFD/5$J@5L4IU(07LR'?D,*SSO.^:C1V0?-16V2*6AEN'W ],1N@T.(0!BI%Do
M@XBNX\-%QG:V%FPI'=B7GOF!@(<!6]-W2L(@I3C(HO[:#CDKE,O6Y4MD$?G-n
M=D2@0M.I$8&;<5F_6OM:JBF B6:19JZJZ=$P*(UN/#'N@RZ&A\7Q<7_@FXE9m
MLK4MLTR+#*+YB4C7XRTM06Q*V<W96.)DEC+L)CEDFR S9V8$OM@P#Q**S508l
MEC]4"?<_Q27#<5D$W/=&B(1)DXE!MX.:C:YO0QVBW=)&J13R_+:]8PC8=K+3k
MK[%,BW]W(","=5:8AL0E#UT=RU\&$E/))"M06M.4&WC$/]28!4*37!YTLW,Mj
M0V). 45P@QK>4$!(#& X)6F!$&1:I*>XX2(ST4,**W)FC)1@##'(PTRL4P8@i
+Z"BO&'M6_DH"&@!(h
 g
end