mikew@wyse.wyse.com (Mike Wexler) (09/27/88)
Submitted-by: jef@helios.lbl.gov Posting-number: Volume 1, Issue 54 Archive-name: xphoon/part02 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 2 (of 3)." # Contents: Makefile bigcheapmoon.c cheapmoon.bitmap.Z.uuaa # cheapmoon.c dtime.c patchlevel.h xphoon.c xphoon.man # Wrapped by mikew@wyse on Tue Sep 27 08:19:08 1988 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'Makefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Makefile'\" else echo shar: Extracting \"'Makefile'\" \(2200 characters\) sed "s/^X//" >'Makefile' <<'END_OF_FILE' X# @(#) $Header: Makefile,v 1.8 88/08/15 21:57:41 jef Exp $ (LBL) X# X# Makefile for xphoon X# X# Jef Poskanzer and Craig Leres, August 1988 X# X X#SYSOPT= -fswitch -temp=/usr/helios/tmp XSYSOPT= X XINCLUDES = -I. XCFLAGS= -O ${INCLUDES} ${SYSOPT} X XXLIB= -lX XLIBS= ${XLIB} -lm X XDESTDIR= /usr/new/X10 X XSRCS= xphoon.c phase.c dtime.c cheapmoon.c bigcheapmoon.c XOTHERSRCS= README Makefile xphoon.man XALLBITMAPS= cheapmoon.bitmap bigcheapmoon.bitmap XHEADERS= tws.h XOBJS= xphoon.o phase.o dtime.o X XALL= xphoon xbigphoon X Xxphoon: ${OBJS} cheapmoon.o X ${CC} ${CFLAGS} -o xphoon ${OBJS} cheapmoon.o ${LIBS} X Xxbigphoon: ${OBJS} bigcheapmoon.o X ${CC} ${CFLAGS} -o xbigphoon ${OBJS} bigcheapmoon.o ${LIBS} X Xall: ${ALL} X X# Make the export sharchive. Xshar: xphoon.shar X Xxphoon.shar: xphoon.shar1 xphoon.shar2 xphoon.shar3 xphoon.shar4 X Xxphoon.shar1: ${OTHERSRCS} ${SRCS} ${HEADERS} X shar -v -c -p X ${OTHERSRCS} ${SRCS} ${HEADERS} >xphoon.shar1 X Xcheapmoon.bitmap.Z: cheapmoon.bitmap X compress -c cheapmoon.bitmap >cheapmoon.bitmap.Z X Xcheapmoon.bitmap.Z.uu: cheapmoon.bitmap.Z X uuencode cheapmoon.bitmap.Z cheapmoon.bitmap.Z >cheapmoon.bitmap.Z.uu X Xcheapmoon.bitmap.Z.uuaa: cheapmoon.bitmap.Z.uu X split -550 cheapmoon.bitmap.Z.uu cheapmoon.bitmap.Z.uu X Xxphoon.shar2: cheapmoon.bitmap.Z.uuaa X shar -v -c -p X cheapmoon.bitmap.Z.uuaa >xphoon.shar2 X Xxphoon.shar3: cheapmoon.bitmap.Z.uuab X shar -v -c -p X cheapmoon.bitmap.Z.uuab >xphoon.shar3 X Xxphoon.shar4: cheapmoon.bitmap.Z.uuac X shar -v -c -p X cheapmoon.bitmap.Z.uuac >xphoon.shar4 X X# Unpack the compressed, uuencoded, shared bitmap. Xunshar: X cat cheapmoon.bitmap.Z.uu?? > cheapmoon.bitmap.Z.uu X uudecode cheapmoon.bitmap.Z.uu X uncompress cheapmoon.bitmap.Z X X# Make the export tarchive. Xtar: xphoon.tar.Z X Xxphoon.tar.Z: xphoon.tar X rm -f xphoon.tar.Z X compress xphoon.tar X Xxphoon.tar: ${OTHERSRCS} ${SRCS} ${HEADERS} ${ALLBITMAPS} X tar chf xphoon.tar ${OTHERSRCS} ${SRCS} ${HEADERS} ${ALLBITMAPS} X X# Dependencies. Xxphoon.o: tws.h Xphase.o: tws.h Xdtime.o: tws.h Xbigcheapmoon.o: bigcheapmoon.bitmap Xcheapmoon.o: cheapmoon.bitmap X Xinstall: ${ALL} X for i in ${ALL}; do install -s $$i ${DESTDIR}; done X Xclean: X rm -f ${ALL} *.o core cheapmoon.bitmap.Z.uu* xphoon.shar* xphoon.tar END_OF_FILE if test 2200 -ne `wc -c <'Makefile'`; then echo shar: \"'Makefile'\" unpacked with wrong size! fi # end of 'Makefile' fi if test -f 'bigcheapmoon.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bigcheapmoon.c'\" else echo shar: Extracting \"'bigcheapmoon.c'\" \(353 characters\) sed "s/^X//" >'bigcheapmoon.c' <<'END_OF_FILE' X#ifndef lint Xstatic char rcsid[] = X "@(#) $Header: bigcheapmoon.c,v 1.4 88/06/07 03:34:28 leres Exp $ (LBL)"; X#endif X X#include <bigcheapmoon.bitmap> X Xgetbitmap(w, h, bits, cx, cy, r) X int *w, *h; X short **bits; X int *cx, *cy, *r; X{ X *w = bigcheapmoon_width; X *h = bigcheapmoon_height; X *bits = bigcheapmoon_bits; X *cx = 800; X *cy = 645; X *r = 378; X} END_OF_FILE if test 353 -ne `wc -c <'bigcheapmoon.c'`; then echo shar: \"'bigcheapmoon.c'\" unpacked with wrong size! fi # end of 'bigcheapmoon.c' fi if test -f 'cheapmoon.bitmap.Z.uuaa' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'cheapmoon.bitmap.Z.uuaa'\" else echo shar: Extracting \"'cheapmoon.bitmap.Z.uuaa'\" \(34067 characters\) sed "s/^X//" >'cheapmoon.bitmap.Z.uuaa' <<'END_OF_FILE' Xbegin 644 cheapmoon.bitmap.Z XM'YV0(\B4,9/&31D08]"4"0.GS9LW;K[<24.&#AH0.6S 4!!P8,&#"1<V?!A1 XM89HS:.B P$$#AX(Y=,+023,&Q!PT;^2H#,G0(<0O8M+0F;.E"X@>(/8H $# XMCYFG9E@TA1IU*E2I3@=6=7K5ZE.L5,%VY?K5Z]:P2\V*+4OV[-BP:N.V7>N6 XM+5JF<^7"S<MWK]^W@.U>3=LW<-W#=!/K-8Q5:U3"?\D@7BRX\F2NDA7/A<R8 XM\N6_EC6#?HQWM.C.A4-[3LQ9=>K/J$VO;NTV\^K;KT^'IJT;MFNH8GH+YXU; XM=N[BC(D?7VZ\>?+2L0,'1_X[^M?6-X13]\V=-?3JX+MO]SZ^/'/KI,T[#Z]] XM\W?QY]F/5[X>?OWA[]O?5_^<O_SXW=&'GGX#3B7&;OGY]YE68-WPWUT*$OA@ XM?WT=>)EC$MI'H5\,-B79A" &F"" ! Z4(7DD1ABA@'99>***[N'F8(@OYL:B XMAC0BE]F-->Y'(H\P.N<@5A8B!F2*Y]GVXX@^-B?&@3T.QF2!2#8I99!46GG= XME#E6.>"16N(H(I9=W@=FEFBR=V:9:1K))6Q#DCFFEVS2N*:842(H8YMYNBEG XMG_C]B5R<2PI*YYQA BH7AFK=J6AAA)KA8J-X,7KHHZ8Y:JB9;V+*)Z4>?GKI XM?*5U..JIF7:Z*9^:HLJJJJ[6F5ZL>)(*XX>U%DJKIWKNNNF,++2:J%4FVNKK XML1 B*VJJ_DVWG*6)"KOLJZO*BN*PRO:*[;9?PLJMM=)::^RWN7):;;D;IDD& XMKXA.*ZZ-WKH+9[OODGNMO.Q>"^RY@!XY8UW.VCM;O/52FRVZVN++;[@(PS?# XME0=+6$.@$?_)<+X#6P4EORL2#/"C15(<LGD/%YPP> $KK*O >)"Q[ZX7<QQC XM:MGIV##%WZ9<9QGWFGPSJ*X6JZR)A/V+,<P>'VTNJA\J#3'+4#^M<M1;RFQO XMS!7/3/7/6D_M==597YWT8I%^/>O6GD*)-=I LXVT7B];N?';8>.[MMD]<XWV XMW3[G[32X8]=]LMYXMS;&T;CV&[C;S I^,]^$#_[WXTPV[=_A%B^.=\:.*VYU XMW&-!FVZ7HO<-^>3!:MXWY]B6'+F?Y]& (\^94[>N566OWK7N8B\VQEF@\S[Z XMZ_F>[M7$N"7>U.^24Q8#ZJQO3C?C609_MO2]=]ZQU:$;3#W@W(.O_:7&1UR^ XMCZ7#_CWEX;,_?K2J$[_8CMZ:RFT,>!*6 VK,RT\6[? JCO6@MSO[#'!A\2-@ XMLM;GN?<Q[T3G*UP"VY<Z"D[E@ %\G_>P9[<)I@: V6/@]C1H)P\R,(*F,R%J XMT@=!%0H/;"(DGP='%A^=U>5V!53@!E_HOAC"SX(R!.(/29@_%]8%A!V4B^QX XMB!7E9="'._1?"#DH/N#HL(1"C.(5BT@9)#(Q>E\,XOLPV#BW.7&(VWH@ K,( XMHG7QS8;%,R+J4'@A+;*17GJSW/0"@T._D%&"=VQA(,=%1>!AD2\X\)K0T(BF XM_6VQ@D04) GA"$:$U<Q\<EPCDF102+\-\HE4I.3*.CE"*![2+WHT@QHC2<<X XM"M%^W?KDTDS)Q4@2DBV)#.,L22E&6DK2E[>48A)M.4I=VO$\<SMA)C')GT6F XM"7/%%.9_:+A 7C*R2]0$9-C^J*9E[LV;7DLD)($9S4<&TYSEE.7PT+E+,^" XMG;$D9CL)1ZAL_B=QK:Q=E9XD3?59\YCD+.,_3SG0K=C3GY+231\+.DZ&GE.= XMS9/G.B&*T'XV,*"!\>+UC,F6)>*QB0X%)4=KB=%NDDF44QSI+T,Z3UYI]*+8 XM@R5!5?I0B4:TI!75# NMHJ1O\M2BI61I/'&*LVGU5)M$]0H<\[E'FJ8S6R@= XM:IHNJ4R*%M6I+;5JVX1J4IM^5*LY!&LUL2K5%F'5?L!B:DK+-2F^[/2I33+5 XM&8>95*XX$X9<_2JJVKK61QE-GW45:'6.JE*UTM4,]<RK6.@G5GYZTJN/#:S4 XMR-I5R=Y4L5NEK%XMNU%AYHZDF!4I4'NILK\V=;371"V:AF38*H96L%MYJR\Y XM$RF^=J^PX$RA6">ZG+DR45@RM6AK>_A:WG*VH9J]ZFA]N]GBXC6YE10--X5) XMM-P2;[@P?6%4V<)"[ 85NJ*%9V6=F]/=/E>U,T4O:,$+V[\M-+WB;2Y[I?;9 XM^$:6O,@U(&X-95HK?E>]*YWO907<6?M&5RZNLV]KD ?9S *XILY)9B=;N]TY XM'50S%\9-@B'LK@H'^,$MFVY^#1Q>_U U.H25KS0][."UO#20WK7K>F$CM/Y. XMV+JN?%\JRPKBK#8XK#\>:X]Y3.+VFK? 1QXQ]^I[X"!/%C82WJ^3!ZQ?=$6Y XMO%-&<I:5O.48I[;(QL6OEP%J'6BRC+E</NZ8X9OD-<^X1SL&D9G#3. TBQG' XMZAD@862K,CY3&<SG!33L_#SD0,LRSEI6,Y[W>-="8UG126[QIH*K&1L;&DF6 XMONZB^ZH>2@/6.BQF)AX(K>!-TU7$ALHPD"&]94F?RF6Z;?6J[QQI(*MZMJ8F XMW9./YB F/Y74% Q7J#G=Y5S#!\U,K<'+<("#,,@ *\RF 0W6,NVVE>'*[=FP XMJ*%FV]^(V,V_+)F@[PM>_($-!LY^7E-D ,8O+,I-9 !#G* %1G$ ;T]LI" XM?6T<;0MYW*YF-=3$;6)R%WK.E_91&&B0@TN&(0;2Q@H,:.!LB=. W5BA> U@ XM ):%A\'@XP8WA^LL<KB6>2TG_H^RV0*#>W.\*1-W-R39/?%ZM_OCZV[WL^'- XM\)>3A<$^E?6_FY)ID$KYN%-I6LE]O)=F.Y+G,L Y'C8>!@:C.][0=K?/F9V# XMK>> XAW/P<YG7;!&_Q+1(3=V=AVMW*/1L 84KS8>6-)UB<N@)=!V.20GCG&8 XMMUON,J Y5L) >+E#Y<5N)3/)%XWFD><*V":O#.*KBH<9$!P/,8AWOJ=^[[$S XM._#UQL'=;8[N>@N^*5^G 8-5'_7% GW7K[2+GM4^/Q7_;?)T9GO 1<7ZK1"^ XMZA:'N^EE[G<<^%SK'"?,WWU.@QC<&RMPWSA8R%"#U_\6+[=6+-]P[]KYUG?I XM8S&M#'* =<+\7NKQ%KW$C;_ZEJL;#^UN]_IKWA2(MQSZXV?P^=O>9MJ3MLZ[ XM-U@ UBIAT%9P!W;U5WU6!P,SL'HQT'?P1P/R!W/WMGD2*'_F!W'OA@<>MX'5 XMAX _]T@EEWT)1VM"!WOC(VUS(W9B-WA\!TD?N($NMWF=YW,N=WP/^'XQ-W8? XMR&!BH(!B80/O]6@FB'1DERLD^&9!@FJ1MQ7R)@,S4&^:EW'4)W<Z-W8P$&_, XM5X$6!P-CUW7$QWG2IS_C-W8T4(5@80/DQRO#AH("QTL6DG*V]TG75H+OHFWI XM)W4,=W%8\8 XL'IA,&\S=W/SQWSH=GSQUX4^!W<+AQ5J6'W05P,_^&$2(H=S XMY']?%C[<1X0/PH1#1 /+=G&;)W;"MVXR8 -2QW=R-V_-9WH@Z'*K!W=C%XAK XM"&_I!TD4UVQ-5 ,VH#,V4&J?U'B8D6A"A6W@-U[O\H!L07@MV!0>)W=?]W58 XMD0,0AX7M]DZ$P6P3"'_C9X.)6'\/N'5P%X7P)@.ER(%F4 ,+17B4V'^UAD]3 XM\CLN!HRR)H&R TGWQA)].(6H%W4,%G5A6(9C9V\U\'X7*'?-]WQ-$7?Z5W70 XM2''/1AAD\'M@(0:HF'9>88E695CRN">29V?"DSL>AC7AZ'-5-WZ.>)+0QW - XM67$P)V\;B&X/N'=B]W[V-XL]%WKLZ(Q=MWD_N).C1@8@F(G%!E;(%CB6MHEB XM@6U-%D/:UA) N8<1B1=?UXA-,6_GF'GG*(O_"'%6Z&X(&7,2YX4,QHM_&(E8 XMMY!AH(8P6(#6IWM'B)$G:(=P.71\L7);87S;J'ERQXQE&7AZ*'92UVQD8(8J XM:8KX!DE?=W^VB'?.^(?H!X1-89%C('6%"910(75$^8;&E&+\5Y3CPVQL47VE XMAWK\.'4?J)@U 'S]*(WKEIKUQY(21WX#Z7P^)W;FV(<-V)=A4(NH"8G.2'T3 XMPQF\"'!Q21EMV'UUF7L$PF^'Q1;FR$DV9V\IR9J_^8\$.7@:AW] &6_ R8'N XM9G7&-VWF]W4;2'% N7^VV'KP]H- YYXY9H1VR9E#EDQU"'(P$F\TX"RYN(&% XM)W7JB9H721AE.)AA0 8X!'% *9.S&'6&Z9)3%W4 6G7OUYO%Z8P4Z2$'.IR8 XMJ'ANX9S75VOS&1T@RC4)EHT,]WY=!WH8ZIJ_B4,L&8L,QYW.<I)E&7<9IY?3 XM:([D296H*'42"J2HZ)-"R&!DT(N:^11*.2[=MIQTB6$<9(P=RF9(@I<KN9:# XM!W<>6'VS^(/DB ?^:)G-]G'FYS*_B*% ^8>E&:'I.08XX"R,&)GL>9W5Z9^$ XMIS-NY"U-*H+?D9P#Z$(:>5HD%@:7%WAXIS\%^7[N*7<V, 83.8V2B9IS*HGJ XM"&V$MX$2*G?5IY!XP'"Y:9KL:'X'.'@9.G4_BI:O=VV76"UON7:8LF.>Z7A* XMXVDEMAPJN!7X]JE@.J:.B*!E"9_.N)HU2G@ ])/!01@*^'YJ"((M80,-^9T. XM"J#DMWFH"()%:J06N8Y)^J2R="#'.J5*")KD-'[WZ(SLMGD..97.:)$;* 8R XM<*09UW!2YYYP6@;V2JK6B9[^60.Z6'\2BJ\3VHC(6GV6N9IE>:I3476MJDGR XMZ89IXJ?M**ZHP:7.4I4(6:H_F(Z.F(Y&>J"79*]F $(W0 85&V]DBA=!6F\+ XMAZX;"GTP4)CXBJ[5=Z8<N!"1*82-T;)-683XY6K"B&LR8UI8B9W-B ?D9ZT+ XMP3,22;(X=" W $U/THO09Z:D2GW<.:&/NFZ$!TTR< /?686S*)R0A(I6&YPD XM"WT(RQ4E&I_JPJ<P,B.!2FP!16G(.A;N^IV5>8Z$EY8M8Y:#)P;PZB$CJS/% XM.KBD^B1$<JK(NI\TBY[H^H>:"IL"&K ,UHL7B@<W<'$Z,Y+@>G8 >)R053X% XMV%'Q-G8*NGF:1[,W +C.<J0)!1EZM*'.(H0W $ 45P8X1'T(ZH@6"4"K:9V2 XMV)ND*HBV^)V_EZ>H9P.X.WABZQ7;NA5%9R#*66G:-T,WUA20%T/5!S:DJ'^, XMF*7G>*06B14CJR0.,HG2&ULA.ZQB4*R ZX,'BKQTBJ9PVGQC9[GH%P9E@+K5 XM!Z<&*Q:^Z6-)Z+;9$K?1$67R^Q1K"V,>I(!;P8BSZ)".R*M$9P:[>T%>VQB( XM-2O*>Z!-5("7Y+4W<$DV@%BSNQ"S*P;[F9+HRX$ZVS)N221>2[-(>K)HVD?7 XMMK"LU+FR*DL,@C4_2R6_YWO4V*,\1XT?_+7*ZRQ/HB2 ZS)$(@8C3+Y/D;M/ XM/'U"0WTCNXN02!@6V9T8BXK#6K931[7TVW&8^19H5\'<&KHN!+$][,;FP7J XM*+QH2K-?'+9B,&<WL*T+)1"0A+N7BUA3O*[M&\4%F+B(VQ1">,%XX)X-F;4N XM#)15.*^*BQ?"J<-$=8QS*,?$% -5V41WIX<46:;G>&T9W)Y23"2KN15:[(-5 XM/'V.7+NC*81;H88X.YF\^*T>$F^M:[D ^[??*83C^YC?*;<*+)<-V\8^,L"W XMY+MC80/F6*',R,IZ*P;I";@T:\& /!4#X2P.8K[""DF24<BC]A38VL<?+,GV XM&KB//+/,Z\Z[7)9PQ[+0.GZ_V!I#J,RQX8D6K&EP4R:TNIDJ8Z7P5GB[.*<* XMZX- "!E(NK$:ZXQF$ 8&5<(T:RFKVR)S<Z 4/7CD1\^ R[S+Z\6EJH TN[<, XM9K-Z^(?6I\D;3"",-9?$N'B&$L2'-+H/++F\:,<PW,)GJ,[P5LY-1+(?$RJ+ XM_,@Q/!5D"TGMRQ;EG+NH6*P6?-(_.+N]B$,*J'_;B7KHZ=&#'+(V+-,@J5H= XM6:M5[*0;9<#_$77+N+)$0GVJ*RG8VM%3T=5>/ /+R\A$/7V"<:^APEV2LLTU XM@%A1/,R$AT/7"GWPZ<7$'(G,:J$[*F]B<8Y!1TXV/=-H/=:#.KHPR*75N7E' XMFM>FFE 8&M+8VXLIA\=>JW_>"A:X.Z\NXL5)B[9*@J"K*\K=;*KN3,ST_)W. XM9[S,]G[H/'8CVHDA*M:M<MEL^QNTZL"H"E+'+"D!LYH -,.MJW1X48 2YDR# XMW41M9:^BK17.,A! _<C83+/]JW^ZFW$_F,_9':GH": /J)FX:WC7B]P\?,[( XMJ%IF]YK*]MQ%,\[8>R X1-'+B+O5O=JN3=HM(\7%*AE25[M >;YG<=A,+1!G XM47U0O1#UUK[#ZL%HBG[_RM5(C+T?_9E0U-^@NQ?1NVU4M,]QO!<!>I*6F8X1 XM#K(5R> V?MU^_<BTW%"J*KA0["&L&\4,;N /?-6#9Z],G(ZW3'V^V[\ CA=9 XMG7'?NZY#R5"<C.(\&T9O%ZD32<9]; ;N?4'+2.8/_(,)+HF-L=[!.3> 6[MI XM")0#T5-'&N&M#;NFW;<1C9HMK+R^>;S,"ZW4>+\*NQ8PON(/&R5F9U@JWN+% XMG=G*4<++>.(AOHN2_,1])!DXU,Y?^B$GW7 G-M)4:;C.6)FP7=XEO.?Z2]<< XM*,4,-K@&=0,ES,H]CLTMC&[C2Q@/J*M".:?^M<-_G=D!*.F;9H"16H"YS!42 XMQEJ8[%C!>;E][.J(]=^]3"AP=\B,;.$9R=>JR^EI6%T#WN/*2\8"<=0FS;P@ XMSH%G"'@'BD2B/<!;WF3.W#GSGD&<1"@'*@/@+(0W'N2O#O"T3N85^;4C&^$D XM&^$6_.%1*)$FVZLT $T)[\HS[-W?.=BW[2%[;>94+=K5E\IS1XT<VLO2IS'; XM7+UO>]_+C-EPYM17[A0DBZW:WC*F@M/D[-E$YS)4-;*7Y+J^Q^U3)VV:";A? XM2MXX7,LZKHYG(^'0M[^YB\H=7@, ]-LMN7DA*\D$3=/X76L-!S8S3N;P#KTC XM>]) _R1\N#P4/:$A2\4<7KS>V\54GK;8/.3O7,Q]J[^#AUCS&O-@H6R7) 8S XM(.?;WN=1]^=A, ;JRNPNG5SW;F1AL\9F324?;U# ZA0$OHOE[;0Y+;71/O(M XML]2ES6#-9O>;&KE?JY4:3,DAZWOB2[X8?B^Y7;MGJ_&)S',@2'@HF;!I/+TP XMTC_+3>R*SB:QRA?QB]5%"DGZ2_?)?\NMOJ.^Z;5 V8 9WZE5YWM23Z1M/\E2 XMEQ&ABGT#@?!;G+ ]M;J%N^RVW/.#?<L9:^4K;)JJUQA?K-F?Y/N-SYQ8HN), XM-[$K%\5D#!5]!,_PYI^I++PER. ?W'-&%(<_]::P5:G6U46:3"K,,GDMN0-K XM>M[J\D$N ^CLF"U6-'!7ZV)R*\GNM829I/&B6ZQ9>?+/DY$3,?:Q%H(5<W9! XM[3NIL!86IUA9_TM'C8O\^*X'U)>>!#V[?9'*@G4_""CUWEJMPUX6#("4L.Q' XMU#Z6DF)E<P.?E:SW-YG2EM&H?W]F(^6W_.?4U)R14W@][L[QI]Z5I3*/Q<-C XM4F_[B3%<)&UX$"\J<$D-3#6O1W;\/ 1Y:Q"YK:EIP%5F%=:==)L5)(O6[:@B XM"&]:SMAY;=OJ>?T^XQ3I^)GN<")5;7:EHYY'Z=2=$1-#](PM5<%U-Q N5_]R XM%B['3HDY,E"9\-5X(UF&9W7)KP/5PJ[-S',9MTYY%34?IR2J3@M36(8NRQ&V XM8N<(ZU,G:Q)[JI28BG;V]R#<4@)G\2]8&:]2)80>(%);=VZ)9HV!KO,\1)4, XM\%V]R'1%JJB%?G"<-Q,:>G#ZA#^RD+O07*\"&U$'X#4?*MBWHEN/HSPH$ O" XM#N7FD2C?GK,4!XJ[ *Z5-@2U'[[*72,KR8DV9W/,[!6 4F%PD!.6 <HVV H7 XM-@MDN(Z*\4',E0]SG$%!+.A-$M&L:/76HEL#C'Q:+QYNP7X&-G#7$>0*RJM! XMS#Q(MJ-XVLQ"/VN0Z"B;6$>RT%5A@F63R(M1'V=ACE:36%!];"[I[,)'-A XM"%$#(%KA[RT\S?"F<!9A6(>S* A^/WID2D!(, Q^G^$J(K-[8K>>H)E[8*^/ XMD:VO+,6B_*$74S9]"4$!1+KW@416GQMBTV@_];R%L(&BFOKR@V,1,GC !==' XM'$3A8@OM:_:YL!R0OS#3^XI8](D1.JQW4>]67VS18I"DO[R,&J #/=J,,DW. XMT-\=1'-VH!J55[-Z3\$-=K>GF'D,SP\:.U)L)4HQ5R:)D.*3,(K0+BO8A7;V XMMUI8Y@$]C(VGF;#%]Z=$U&(T=N:!9,V\P\/7L!K44X8-:4[AKP^VRG*C%^%/ XM$XFJX"X/5( 25+(K SC@_4PDSH<97@_(\XO70[1Q.G 6?EQ7Q@%ZCXBXM;Z@ XM0EC46F_<>MDBT?T%9S(W.-VL\%K+R$VAJU#6R])4[8(FM@SHX*Y+(HD$7\MX XM"C5J_2TD7@49<A'YHFZD"C!*/5?F,IJ6J0B(9\&601])\?-J'YA":.8'=P&_ XM1J@%?6,;$Y$!XT"<O-%$YK#:PRM',G OZK5CMO[VC%=$33VE??FD[06^>N#H XM"15!$7-)MZ6$0T98CCQ;D&%UX;%D1G0,W#Z"5M4LZ;BK>=1IF!G*@X]N \E1 XM,4(1SLZ"J5B-L^(#%:S<QX%VFC4SBH.-N-DMVH@[ %0!]%>EL#'1&Y+FSJ < XM "%6 >.;:;!ZDDK:2@6,1.9,*/4K%W:OY"%^4H& 88'9NQ&!X+PD6Z!T!%)& XMSJ^@YYLDPT<47[#,#UX^PH#:H!<Z4VS6;I(E1\NDA@#4D-08=Q)!53<5*19N XM&V?8<X/+1?K$8-6 #*!]LV"+D'O@/_N'*-^%B/Q01E&N:09^M]%2%%.[.*C1 XM3,[(;<8*R9>(9%Y#T8*- 2;6P2*1,UPX?,L#EKDRF1*QU[GK.!-1,NPYR2 T XM9*'#&0MP46O=OHGDBU+@)@L<]!"9_,+;DD>ZBA03C!L,>L5&_<7@N)34047& XM2U)2GW5'Z5:D*UM]B@GTH:-S5*#ZT+UA:)<1#U0F)X98[B1X(U_\4B4NE=)@ XMD1Y8 4(_LLD!@L;AMQ6'S/<9B?NM1E"3'2,>$:1B<W4]<>P(2FQ$Y=I;2@J2 XM"/)@,C@EV>ET7M^[A;ML)4DV[!4'VQLO<PH8+Q+E@ )W*F'>(A$(4HW!V47N XMY)/FH +;9X:2%ZH'R!=7K&08066W3%)DAU?I*'\>KO00+<'TH49@-A4 H.6+ XME@+0S!'(*U:WOM.\67<;9TU5.22XT;A9$Z%UI[!;DH5_R2'34$DD/WI(]="P XM V%]W&.NE%B*TH\<MVT![G*>P N(:.GG&3X(I.&.ID!8=TVM2%;.EH&@GIPY XMFX$,)O-,OWB#^()9#"R2?@_YQ<&KU[0PI_1J77%30 &0!F3P-&%6P'J\\EV: XM2);'/9R8[3R08.-#7)+"]_?N#L24.^T+[[7-4/G-#B:71"P^A\"Q1@^F/Z*: XM=G)1ZHAO!4+<.?,ZF(ML819L^FF^<YB[I)S#ZTX(2CT"/*"%)7L6Z*)ECG+G XMK;V<5\OP)L/YEQ0'M%$J9PG(BH:3Y"E 9V3%NI@XR7ABU9%6$&@M 24'IP0I XMFOXY<9"!#$XFA(D$1=OY<CC9BGQ9.LQ5NX .:M,/L:URA$3[22*KQ$![&1\" XMAPE&5[@M>]/9FV2H$0=&(MG#'8NBIW1J?7(T*;T/=I865W<:H4O,2$VT) >A XMRIW5"V<=Q^6QA8]VT0C6.+%9DTT1ZH7TQ]< 6F$@F5H.9>J5)Q8P-MXC&PN\ XM:']2OX)DY2B;KVHBJ*@VS"L3-DY:VX #H@]1HBV[+Q:P9"9I&FH$#T,Y,@NU XM!Q/?^@IA(4L)<M />=10&DAI?QS(4J+0 0/'7!QXZ2[^9X0)#0/GOZ D\$%6 XMV!*BY30&Q^FL3[#DDH0GY;RG*<IPOM3>NH1B$@^2QXE(L= 6P!.7UG.\W<M= XM)#@Y&@B!:^-$81+'$ED_/Y?_"V05$]&1+\#E,4\B2TMIERH(=3J^4BV_XF(Y XM&\Y*[.VY]+<54M0_VEMMKN2=T66GQ>YDU=EF"$HSE;O("+A\E[BT9B[R!J!& XMR#:9V.7CM"Q*JT,Q)9"8*\#C4*N/5V\:.2L@5:K(W"=]=BQR'")(T5D9>EX& XMQ&)GP6>BJ0Z)?A9;I4!030[@+< "]R047GTL81^K??FNB*C+V&$ZF@&6R5UM XM%/EX)44B6&EJ9R&%LC&'<P>U5G?:AA-I P4[[2D6YN<B[2]="Q#>R-4(HQZH XM1YL!_JFK83":)9Q\EU+%7#_H8UE0 Q@F)056HW5(,0["M0CG[U .IOAA>HKQ XMB5$NYQHLQ8=(D5,4V;FS9N,19>:SY)3DTNA\*"L&&(^G"3LQ2N+>!#[+:)@D XMT%NS6IS2%5:GUD7KRJ&22*-X;(F1JF68GIAA8:H-"2PVC$[ZZ5*=C+[#7?++ XM/4VH/%IY*&-*LV"F48TJ3V4Z[!8+4KR08!5#/<KJDU5YVJ5*89Q5S97#/2HI XMQ=C_JVV2(I_"FZY:O#+B0OQ@NZ^2<D'@^&,N#)AH:LLTM\DX/?*CG,6TY(Y) XM<(X*!A@(\V0/=ZFIEN^HB;>U *<H&IP"2)%H3B&HD[C$QB9>\%H3\=J04Z'F XM(90<!!2,C"@AHBL?2+Z&E&NC>RU4>%8)KHE4K(E<L5N]AGQITLYV\>BIVM*I XMC0T"GLUA=$TU0T.,J-TMYW4T\\.QT!)ZDP%CP ?15UTF/6E>IJNM7E"OT;T1 XMIN_L*;+J19I*L2Y+(DG *JN+[8JS$3":T7>7$+??[]I8V2\R_-"SP5Z%I!IU XMC'EO*,*:(NDR;U@(O%]LTBFP3?-&ZGJ9W>M= :,ZYCV-6JIZ$U#43%:TV^VL XM%2H\=F7*K!8GYJ@-TZFS&JVE_)I9[5+!UH6>5V3[0MRPHTYA#,2 ??,8Q=W4 XM@7[/C<C=PC"'MF)K"&5DV(QPFK,^)C1F%E8[=&=1^1VI/D*LJ.+7$*[!LZ6^ XM##"9XZA*)5Q(/PG:"%,I-F>.VL!SBSIS5K N$O8L96)M 7@8KX*2L?A:7_W@ XMG6H, S)Q(4E,AA'OJP0<B($V$@$E?H=AH8]V Z1XBJP25V!X=+R&0EVDY<SW XM%,YRM&LS0F8-J-[R-Z02;B(=P>%+FTRF[M55*O-SF$BG8(R&48RS]J)K>:#X XM%^@,A+P+Y+'$]JJJ]@RKO""$\'\X6F.R3QU?7;F"M%;'Q;(FN6 [(U9[5]LJ XM["VE!5$9$MCE$XLZ[GR)4E^[:K>A/!60[PJ.TCVUB-@LTM%$9W#JTM8L1Y62 XM))G7\DT[[>A!VH3CSR;GM*BWS\EQ;E @:A<TKI+*:;7M7:5.MUD4#:Z!A H& XM<^ NW%!16^!<Z9Q&L [Z*- K=30S%QFC1AZ2GY ]#QGFU-Y%@[9^;K-V+,ZJ XM*L]L*UMP(]>+N@U(1V1^Q8204M9T@UY6=,?O^DB9E0N4EEA<Q!9Q$A=(4=1@ XM:K1+<K&&Y(7"J9'*LGB@2)W/OP<XJ1CWQ#Z<38^R-A!D-)=<#AAO4_'3F($O XME1C=T;, #.7R+>A))UO=5M-&7(]D ?$2-KU8&<;;"OFYH6*1I,:_&4A?G>^, XMI43N 'X^IHM=K\V<<H&D\K#6+B:VGP#11UQ+JU:*,57'TAIRKG]@O,]I1/Y& XMI?'=)*]RA1@CJ] JF]8E<QNL]%HH[Y"_BC:HL//4!O;)G1C/H(Q7EY4=$U?$ XMO%/S2AVIP9,XV%J87^RNZ/"A<EB;..'Z6-.2>@L%Y5*IQ@N:9 M?<5J: =94 XM-(Y;VG[HR3N9E$$IUI;.VR!*;_*]JB#O))$]27:9PIJSDG9G".A0G!<XZSS> XMX2-EP.L-#K7I1^F";=9<-257N&"BUOLE[1:L&5MF3&)&29KGU ##/@V(9K<% XM*]2W2W12*PE=1A.)!M4SE66=%@X-E%R$*L*>T1S[%*1AX*U[8>UC BB<!U7K XMY)]E=BKW_U29%LM"%V/\?8RYK0ZYLBLVF6Y7 8ZI!9>*)4_(>QGLHP8;E^@6 XMV_K.B%<G-7#QTD/F2'YELKYW*16DT7(0)\V@^MH.6X#.T%";E6<47]+@F1$O XM*2N]; ^-T4,A8C4&Y_B(@T5AO4IJ[9E72RQDJ/J:KHD.PT74GB+J>NH-&5MC XM 8X(3&0F'39,LQ^+4%7%;ZG1\:8*4V$<ZL)J^VGL);MA-L%Y*6U@3?>4Q.4 XMO0*#+@Z.3V.$7<2[0E7@+-,"(4'PVOK88BPTH$5:@0YPSB\*6 -)U"C?2=1? XMT[)J+=W(Y,A84"8,:^C52&6TOR7)*%IY"W-_CQ=5M]!&)-KL/YN78A6BL%2O XM^1D4[D^!NV5S\(BPMP;R; ##V9:4$[#IN![[CB6BYWV4*K6SU<H9>7>Y(]Q9 XM4WW8ZB7#O.M=E]Q0_$F'5A\)TH:'R:+IC'0+Z#.,#D]WZ5_90D:+K+Y&'<6^ XM./HS*Q=&E:NGH<90"%S:CB<BD/5F?8XP#DI!=]"*%K$DD)$*%?G..R>'H6:Z XMO9-+<=L%NGC3%ZV3V(RI7I83#=O7@G:DQ7"4#F?X+#P,]9;]]I>STA<Q]HAX XM8M=75O<M"0UOV)='HJDYF=T0FBT2G#6)M?$M;G80CUIHBTSEC5_]N:HV?9P/ XM#!I[(&7/Z=<7"U[."#.-C&9Y(KDZ!R&$,R!**<$#^2,A02?VDC.H7= C_&0K XM3,N]6KQB"]#[/>CJJ=(N"LA ^:5N?61J$?X-Q0DH=1R5#+0!.(!9MER?.G\S XMRKP5OI<F^TQ$TX(/IVII0XU8-.D S\T[(FB(/7&"LQ&WSHV!L.R^SNV-S4"* XM-LV<K^-P'HZ1$D+$;1^&6TK(! <F%^.H=@]WF<%ZBBN+1A)4C"4(C!9;+V>" XM%VP,%<-G0QW!*:BK$><Q\*BWD/E#_="BN^H<;!KU:)S1+:.FB#>-KLY;"T1- XM1+TZHD&LW8[F:B204XV]R4!?IL%.(@H+MO\E_TH/4J-6M*(C!AJ6(BGBXU;I XM)0MMK2U>N!-G/H6 >R\D3#)QN5#W0U2WM#P1NPZZ6TM&\869++8,<QK09AUZ XM1!AT2CVK*#C7[>?CK/;*$QX(A0?%K/)[#"QT:]-,UK=P/+5DV^2X%#;'CMO XM3&/<PJX4S+:%4(A(\^H5BM5_KH*K-FV%(W-Z4]W9AFJ?RVCT!D#$)9$6:1@H XMK-9,0-8V*:MVV[%@4,]2F=%IW8&RI*!JPHDS&!H=3;^=.)\7;,74EW-C1@2, XM9UQ:V=A%M,D_;N6ZKR!IRQ#;$8Z U"ID&BW/QBD+ZBTV>7^KPQ(RV F(OXY@ XM+%+H[5-BL)1SF@DS6X&;N)JX=(G2J9^=;W7]BP;%;1(X@&Q/E8I.D;Y(<9'N XM!1KB 1]C><8^ ^^#_59&5I"^T&/-TQO8G5XN9GK+Y(IMVUC-$2]8M#Y2^'XF XM$XM?QW!5%=/E!(#U6UR;KNK+_*W32KU?M06<_6?[ACPRN .1Q>*J*6[-76=Q XM?L2].750JN=3QWV1C"F[?J<:QR'U.7*-UIME8;'I5;5FK\3-Q+.WJ#'!T#>= XMF"1"JYK)2"*7J*G6BB0&D0QM]S 3.:<6 Z9?83V:AVU8@5PR, -F47"F@_#U XM25RW<1B+86,/C;42K3@YO(_8B_K<W!/+P09E*B7PDTQF#[W.EPO:35?8/BT4 XM(ZIKH,ER 7]R&4KG%BST6&B"#_(6 CW]%)D,6PL3J;."HKFSA1# EF 4&X?H XM]?VJ:#%;?B>;+O[ ^;6E2M:G>50B1>TBV4/M':8]*LE@:4O4)+CET+JF61_7 XM+]71DKR49I) '3JNYA)O;'#RD.F(L\Z 78IZ*M,#N]G?;PMSQ\+4>B9QZ?T= XM0OB?%>K*UK;(QJ"FMY_X:6.W.^I[-FQ0PHNX.FZA%8X-/(Y*2/-BREB!Q18_ XMF30Q%/ZPL)%(;P),.'H+P9H&:[>5H@ AQ:49?CDCR4*#SI#3O=\?V\<@%MX> XMOL1T62=E-XLOT>C!Q5S>$*H&R8RV=FO#]1"S/W5C4Y6P^#8I'SC,8>TXMP6H XMCW8TR8\_9F6-%3,52%!9W=82..-W2M21%>TB.;F=@C!&IM%R$.M7WV*?N:NZ XMGEMQ=]D2Q>0YV$QHUR+1L-8D,\F^\$Z3QXU44O+KFR%CEP?RI UG-KU;X0'E XM@/,T!Q.;1$/+^UI#4ECN*,*8ZB3\AQNR%2L;*T:;PY4IX5R^T?IR/)T+-\0C XM%]V@\;9]\5_DF3+&Y==>C&H-.>O+13W1R&,M_,P)SZLE/F(U4C&3)(6 %OIC XM$@F*YL/+L=I^D)CI@$Z=8)RZNQS&)LD3@E 0M91AYT1X8PZP>Z98'PNS2D=Q XMQQ9W93@NP.EQ-\SNT%W'S#@Q8-E5GZ4Y6#?6.-RNJ$=UMKG=Y<6<K1AV.!+U XMG/4_?UU=M:@4GE7@86F/U95+A +EUW[BU17"?KOQ=U=4.4ZVBG%7I+;C1;*Z XM6E?T#+)C4'!VK196F$"NLN'(SNAF5S'@W-8Z[/)=G.$276LH!LR.!1=WU+VU XMN@K3X]NLH5T#W*HT4#3LJBW5-GWG'@3_I9=9H+5@?9O.M\(,>-CCA/!X9L%X XMAGHI#3B]Z1!C-N_Y>3QGHNC<HTLM2>YK]TLD]D>L"QU<,P0?RL$<6IQ(+T\T XM:9@B)Q,S&N>V2Q6/J12SO.5,II8[;W*(X8SCVV60OG!>QB9BX*/G90AM]5NQ XM!1E\,VJ>:+ 6X%T;P3@^FUZ'I5T6T$)_SIIL2O$XVSD3\E<$JP<8'96_L( M XMWW8NICFM8&EMV81@?@L.KE=-/X-X<44V9H2#, ":Q"\:5E GVA4N;-!,$.8\ XM_,I%D95VUFMGNVDZN=4=?-%SQC8.I8.M7V63G,C/ZX6$YPDK6I)T$7V/D9-1 XMI]IO\VA:"F:J!'OL1"IK2G=J"0TOQ."^#G4*@.?XY475L*8J07*4S6(#-FBK XMMY/X&ON(BJ7B:R'G?N]MSL#D@C *T6UV/!9@-GN5VZY9SML"^6 .1_R+!#G[ XM.,:VZ--K>?:'**HNET,J6!,T&][7E .G:'N(6=\"(7?I$9'N@$.LMZV^OK=N XMQ#1;K30P2*^IX#HQ4CBK)F>2]8@SCLSY^/F>!CG7&LIH&*0XKDQ_X4ZAH;F& XM%=^2N9'+#UL%VKKVB%.!RP&8?2)VU'GEL8S.ZXFMKWU%"]N6][J]=!1&)8Z: XMKN@1?YJ^+&)%$M-^D^B,@1Z'X,IAI"#(] 4D?P:-R^#/Z)G;UQVU01A(7 = XMQM1IWEHMB3?!+&_IR!!+;3/NTY*SKCXE: .N,=.J3F%-FV'A,'O@L3)EP.Z+ XM8Z!!WAZ?!9G#R48-%&ZQ,+'9/6H$*^XP8->SH?KI0,53_UK/!!M2;SD3LC5. XM]U"DF255X]E44;(EJZ00WFR<L-X/'(;/:23-R>SE(I<9$J:SL?=2P2UV22'3 XM6!(S=_083:5/(LEZAT\!-.;J/=F^TTSZIK[31\+DR-(;:)$B*?]BW?0UGL=9 XM:U-W)#2<@]\,L;59[69VL9V H\@Z;@4_,3P?NI<2D1?JL2+K#GC< +)B=RSW XMT\"C&9ME5'9Q3SB_%L.%NG0$#+<-V!%],D^>)!V=N60U*FVXX[M:R+^)0#[@ XM^ZHSBG%MNX,2"3"7MDN".*]J>*Y\W)0ONBK'2S4@K8O>*),ZQB[Y/B[5K*T> XM5]8C'#0XZ*%*I7<FKQ>2@G'LM2XYOK"Y6#?MC(J-#/#HH-1P[1Z&.WJPT=5A XM,_>L$8'NB%^T%0F2"L&PAB!/O0ZQLU"#O]9F;_,H$Z75WK&K?1K9U?Y,'URN XM;6GQ&ERVT"H1N19K-6.F;<NS]C:1&(#L+2[-(HQT[C*IQ+"YFWNYT/5Z3_@- XMOAZFVPPW9.ZH\XFGR)>4;/ZYS/"K?"^3![N.V4>=KBO8 #8DN/QLQ$9OI4@! XMHP8OPBE2"+^KF2>+H(G!2E7J;T!UY%F62+OH4'/MM+0_7^[QINPB$9C&W/U] XMM+]UO?T@DCMI/9"+1$-JO&1ROA%\9!6M(WQEAN5=[J4CJDU&KGJM5X2VK?#1 XMIK<SY-9P%'3VW08?*N(]1X.6&:Z QCW5M^QLEJ<TD.3-/GCH(I^(3R"5*,1D XM>.=FD#BT%CYK([;Z?<V+OA5:ME >KQKFA8W8"4I<"C2%]RVU,0//E52NZ8) XMPM*<W9MV"7*JRW,9-L5A^T^'%;W8],M8=D[YS K2OL$Q54R76MEXB:7^< 2] XM/K;P+[@R?"._F4.%FY$Z8PZL4,FQ0G:_5=FH"2\>M1*6(UUVV9],<APCIO") XM!$ FYMJU3*%<<R#QP6/U&'/#^V@03LSD%93@%9':GB=[]''BG^NF4YQP;Y= XMMW:M2H+9MX0$B5:7W[:3QA *M(O( O(L$"4<S=-AG56.R(3$<%$^2DSI)<@D XM;$#>2";W<1G-F@57>_14IU2@\IX1"R]%>3>6V4$<FU)DDXUPF%4+).O5$WS9 XMN@$9)4DCX"+5,?D>(!"VE=LX=/=:G?-/S3H@C\UR9MUX1(<Q=H*5:2J3(A:^ XMB0I<%RE%RJE[P%8=E>!%2[)0-]?]P5WA'G=G2/1JYIG T\3\1$06A<>GD4[! XMU0\(\ZAJZ=YL0V'%6[L1_B$U'6$M$C2UMKU)F,MGYV-$?ZB>$4)B96SW$O#@ XMG"QG_-7TH[J-?R!)U'?W.1%$S3:#764KIU!C%S0I-4U:OJ5LO7]]SB:(;>U, XMH$.-D=F13F_1GX<5!#YV%ON6E=F PHY-8<NY"GV;;^#%(1X8@GF66&AY?YJ& XM=QK46^ ?A^0H'4U7#1*1UNTY@<?Q%9+]6,';;%/!E'.74OJ$7+1/YLL^1N2, XM;G'0]Y._M()BX,5V-+P5I</?(U,U>>1>Q6;>3'33UPFG]M5OL)X8MC&9=NF> XMY 7[G3SZ'>9U;2QVLY,N5[6I@0],@&74;"XBGCU$4^%@AX\,X\XX.!X3)W=] XM$19 'SRDS<U]X$&@@MJM@5'%=*>L74P;H YX?\5834N;Y:V$>TW+.F4C@4ZF XM FXB1_F!*].+EL6 ,'^5%W&:22)"EL6UH,%*F%[3A"GA@-N>Q.)4"&-?G;$& XMO%UX AD244_ 4%K1^28Z-#NUGNSA:[ N>$ZD-@U9'_Z+1C<04$" @>87 %UF XMUZ!3B%=5-+"2E*/QH%J]B._RPL!@WZ!BI,0A":C? >@,FGT'X0VH%YQ=YHVC XMAN'];IJ#3";"@0B:5TJ5$DDD>E\[=!&M>-S?:< )/7(EH0:C)( L-0J3UPFI XM-O'68+-JF4,7!'05V, TPJ!/ATX4@QW*,6@/57]X'M86_@4AGP']ME!Q@GDA XM.42X06V<05,7-L4[5U?2<8Y\<_X*?C6U,3O02RI1"3$VI1<W8[4A?7T(#/6F XMI#1GW#MS.O$]&D^"UV2A"J!#4(<8F2!:VP9%6#1[HL&]AN[!?FO7/E@8A$'= XM0S#XUC X@YT"F'U!08\18 AOZ'8]E:!WD+6&YLNLI\&9%CI>8;,M!2]AT[H3 XMVA!9F%OPUE\Q1@.B_^!G=#I6(-!0.LE'JA!K"%+01Z%6=Y@,7@LZVXC6-O4_ XM^XX?2*P #W1.6(C50(8.7$Y4G"%^\&!"R%V\<4H-U:5LP#: &)IS\MQ Q!G: XM)51@.^";"F3<N7AOH*66H#D38MI+%AMN,-L,#!7+6( .GL16Z"%!_(:ID.W9 XM(HL99K:ZX'G_S(L8&FHHLL<[)%,02,)1.U8#?"D\(9[7Q) PS:&EM&\X?!F: XM>5#Z&7$G%Y$%KZE$^A-"4>ZY;\717Z>VA'>9%]QU%J((34R%<P^Y#%*'T0.I XMB' >5X\EC#TY5>+1 P@1=&#@NJ)&)2T%SD3BA!0FQH^'A!^E#/4@Z4?WP25G XM!)-7D'41+-8KB$@-/P&1 1-E%%U6E4*A#^H&A%6T9,YM4.72$W9,U6F#GR'' XMQ*V&$@T>]<"$']W;,D5*E3">3]-U7Z%3==QZ)DP :JL>,I%RI(1"%LNTB1E% XMT!['=.X=6V6#8)@KS!43$:5SFJ%M/V$"-45Y@\::QA !YEVY4]5E='1ZX5'M XM9*'%>.?1T_'.'%ZW8,&GAIE=UZ!>408^:1U&CQ ;C5E&7VDPI65A9V"[E[CQ XM<7"BL>#0!5'57_:G36DFF->FF'?):;)1D$CPL @IQ\ZC)$!*12*M^,[X00Y" XMEW(M651"$<(8.:D\#N!4-B',3\67WP8W@8!;GK>H<Q&)>R'W=G/U>3EBG2@C XMLER'(FXU$)UG1LW%)V M6,R:9&6?/&O18<\4H+DZ*R),A.X@B@Y<I4A2"'GQ XMV!?E/SAT%""@*&I=2-PB/@C8Z8(2&W<7$GI*C0XTEA22!4[048$OW3D/7GH' XMOTE;<^&OI"OJC.V)U>=,* DUFZJV$&! _5C\U"I50YC,?<+MG7XB&8/%#_*, XM'UK09XF19<\1BJ 5%&JE$UOW8TEPRUU4)Q:%:V,AA%8I'G0H5Z1P);8YG9\R XMMCXAA@N6>2*.@3'$W)HGO41W68_(Z#\,BG*B^>?=Q'97U(=7#J57VQ^TX"?! XM6%F1JE@2,5?M60B3J<$\+5YBR+%H"%VCQJ"OQ6 !XZAAW'$TZL^<HLU02Q,> XMD>!ZY3VCD>J0$;9UW%XS.-",@BV21 2&]6HZ8CT%O\V%5P\8%F9A?).)TO<= XMJB]ZW!?8X Q:K!*RX@)5))5BX:AOP&<6XD=GM8F"_=8;IQ.]>4I2/)- Y5A3 XMFO1WQ\486*/?V.!85PP?9VCYD(S4GQ_((4B'W",H(3:J/Z)-N?,ZNC(9EG0$ XMX@V&GM)DF.&=AYX2G&.'[2<;C8$UV24NW<G-)BY9(HV/TW8LG(E%!:CHX\D8 XMU$MK]RT>4QN@EI%V(4^^0=/R;AV0*9H]M.LE/=%CHFA G\KVV60F0E=@A/4 XMAL&P1A5DV[>TX$U!EX'P'26(P*&Z5A?"!S"DG0=JR(,850QVPCQ[@!']1\Y< XM<0M6I];FA&$;U%QG2'0Z"B0A SM$3\S/@L6<Y8$@!"36+=*%\%^R "U@5OD> XM%"@A/7XCC'J3GC""5A42MZZ1&.M3#LEE-)(R(]CH0"I]"N&<."MN=(XD[*)O XM;8>FE>KWL/D@/ \ =]V@.]]:!2,23HA96UCH+*!4N0W%R#?U/'Z2S60'P2LG XMUH13PPF(((+B. _ADJ8C]<(ZLGHX(T5DOMR+A5R(B)(A$?4A.'05W1IM!37! XM%P).@- >:! E*2]CGR.C58QW(4ZF04:(8M$4DT%]1/A=7774:%9P7(($#66( XMQT/K5RPR="C#H_"S]'W)3 ;ERLEYH)TXQ^*$=.Z8--;KI8SZ#4>X=BE1]"2) XMU?.X=$92DE*N6(TT9&O ?11CHXEM,7W==I&4&D6V;#,58G B]B4=E(RJU!Y XM@M>A.C<M1EKUX5-8-K1X=MA90S\ZDM'6TB/E!301)$S5C@U@HH1N]QC]71S6 XMIL/+]11,8P%H* I8G-U# RO6*,A62;,0H#>E6>6CP#"$,0X'L;9X&3=BR(@B XMT#)#I)$"2#I]<R!>Z%8H@$J*6P1'TFE]"@CW'OIY@5^"E7?QB:U22[-8)#H\ XME8W4W:V4$:675AE&<7<@FG((G493BSLCX7@^1A*112S^C06>6\=E^!8Z8/DW XMT<QHOX%QIR+5?IF5!!=^H)&M(7AH=%!+<P,QPU0=/UZ,/>;C#('KG+,V/GJ5 XM?$$@].UT)T]":OC951]Q$CJBL&E5?@O/%3%.@)(95J1#@%W(0K?A1=1.YHRO XMAWE8AMDCY;?!.6MUA.]FX65^Y)](J.8)9%;,'D5280:G56'9$9Z1CF7B%Z]1 XM2Z"3#J6452Y!6-ZS1YD!0TEJ9KC!$\3BVJ#0>06"7H3HT Q%I<-.V1FB524: XM2.9%?%92GGEF7:DU.B'<E:RQ!>]<M=@L82] FWGC*GT'[P69:$!BD@U.RG:Y XMJ"&KDWQ&SAPI!TOV8ZPT$6>(S,1/FI2*5UWB0JX'X:6<"&#N!6>$S:<=@F0Y XMGEFV!,54D=I55-E)B//;(A&E!4!^'@REH*DR\^6=*"7Y!IZ@F?/W_3T:%_P5 XMZY@C5,666)VE)\!4>Y+IW$3)%7WSNJQR_!2JJ#3H>4!C)*DP=GAHSI<"^6V XM,2;RA%CR-1ID9(4,'HGZS38IPZA1C!,3HY+)6J^'(Y,X(F9VY*&W6+9S<J(- XM$ /89/K>P7+@7'I@AT2BOVP>@%/ELH/A9,H@PT*B/'_F 6^FK$$^*.!D]J%( XM1S%-?]$&II)N))6Y)>$>B46T9!EZ=_SD]>;9%8<"(GZV*[5KO4N&Q'3% ,Y< XM!VC>7#QNTWCERCQ50QQ7N-"A!EUD$Z)#,(5-#G6E"F4X,M:Z(XS)C_"@*.%$ XM3(5KE\%E%2)2OR0Z0DL58390M\: !08L)*,4.+8XPI&R=4C:99'*3G/=""^E XMFB3#I6A EF-1%V%Z"GNEJIE$SH:A@P(H&3D3PQ]]>>L!;U<9R$=>+E*$7&%) XM4O)]=@%/2&9:,4G7]B5C5EK-2?'HT<E"IQGRI]@(4?T/(ZB A%\7#U9"Q=Q XMUN$,J%:@5FLB#Z@O7'CU40F(614KZ=N85C&",%'FR]5@N9?<9"1Y6%(QY); XM%Q3./+T&^5??&9O6U9J%%4Q+S9B^YUL=1-\)XI18]6 (G\,C7CF."Z2:V$^M XM%OXD-Z<R7A!*8SX8U+22LAH-.3.*99P7Q4. 69'))2*W.'*0;4Y]Y&XZE\A/ XM:!G%U(,4DWUR5_PQ5ENBMA[:06N(_O D]EFQSJJ8=^F1+@Q\96"!/7D2-OAE XM&87^ []T&7!M:8A@]*!=49,A7R@NG4)V3Q&V=HTZ$:1S /$A6R><&<#O]%0? XMHJR)\.$.A,OS=AD\="F0$V'+!&NM6/.#H926PLDL(IWM5I0,4\;183W9%CLY XM9!1U&93'^6,UE:M5BZ#OC&\<TN0A6[:.N!-;&>Q@F'&E, ES02]/Y]CIU/!. XM@0RDZ6BJG?#!^2*R %1Z'*^5I<0T!TK--NAP=0K-'-3>](F(8#)5)A8P16'4 XM4%MBD0"F=Q4V 5;8!U\HOL%^6V6>Z33-58 4%FARJI7H(WO9Y,!78 [G]CM- XM'M^&*HAA[(Y%$>HRD?TNB$T.1JJ 7!I4V1FK<3@V4K9IB'TN?UO&AA_>@PN/ XMHR=D24K:4J+W+9*&1F0VT0"BAU,E5 7P_" ]A3JV1@9K0E@= B6Z8U=?!ZJX XM694*XT[5]IEBH-Q%^<YTG#86(&;#P3P9(#IH%_X3W27!$+=8EDY"OQ7RC450 XM'-%'#)Z/1&$WN3W*@P8.+I<G'3+C)2R##I)3#PV\\::@<R;G-BCV0(@@'-D$ XMDQ$=NR/'TDE10#-0O2'TH"U,EX;SM\AT+PV+,#WRGI@"I49")#I+(KQ'*@)& XMV]^[<K_Y>W:?/<F!_E@EX%,VEG$&+YY[1DR>@'JCKYGAP)63(?VF7K6>4A\; XMV1AVCY(D2[GD'#7D!^FS#5&6;=D$I6QL8Z[-\7?665(#9.#0ZDVA-(^*DQ'H XM. :A Z<^;7DZT4376GHK8-AV4?7%%M[F W?0:"SN)5+IXVB"4,Y2LB1]C.VD XM<C##H$G+C@T%H,A\CTDV \9@)K*//%C<J'K7IIDH*A X3.ACT;*I4>:8!J1< XMZ9/G3!;#6/*"RYJ>5'1:E:H0FS49+@2N3,^'7YH5KA&-1'4F,)Y(\(!XN)VN XM$T76A69&_EMG(Z;90O_4KG=\D:')*-NI4XQ^LTY' 2)"F.<,^A1GF'QO8WN( XM959/,Y_055M6.VN<A,19/8G/UD2T_! )8X!&US2]%: @069&"6\H0L+3265$ XMOMW8-N+H-KU-F.D.NJ"!VA@81L"=PF..DS+4.MU3%_3XO3L.HEY@/PRDVEXJ XM.88!4;%/)<DK.E0YUODV6@TX(];]AU J,-F<N=E?YE^Q)YIC3@U20 _W Z3 XM +<07R9G2J(6J6NW!AJ,NYC)@!P:"X:F-<J[K8XN4OEV#XUP@:8H*@=R=#RC XM]AD8((P&X%RTI\TR>!9^:6=),?5$O&$4I68!& AZ;*(&VLVL(*'(;%^*.>+3 XME#06:+#"PU6-Q(SW1F3:6]C#I.4/LD9$*/9AT21Z+-J/IWBREAC=P>3G'68" XMW9UTZZTK"5@GU/0A3Q64PE=,7IAGI@YYC69M)6!A(I$BIG/*&*#R)7..##DI XM9[Y"9F8#F;21"= 7UP"/_#7;Q==8[K@% M^A::AUD" F'0@=B%XXI?7'"U9Y XM0E(SEKX=/'VB:R@ M71W&AY$6,:,&6:OF0258;NC5A+62"@,AO_6M$0=7A_> XM-8<A4!7)4P?HK9V@ 5MG;6J;^Q4]^(/^-<58<#=DMJ0\E]5&PJP0N"0R>?3( XM1]HH)K/_=(&<E79SB\*1>-2*Q&:U".V1LP1##(#.8V29,:TKC)5E0FK2+G_+ XM2=3#R4[WJ8_@;Z2#,81O 8ZU6=DA0MD915343K_(RVVE%0F^] Z&G">ED!2I XMN5R2Z74U?1TI3Y0[PR'ICD6D;&1VX3]6W7]));2%.,0S!5S18G@7P?:>EITU XM#N>YW8RA*:DZ:![X4!H:\,F*X@!PY#CTDZJ!C]F@QU/ D<08-NF!4CQ*G3;S XM-Q&" >1>FG=^E\C3R?-WZCAR!5^(ZQ0X+P]31O:H,$"<:7+,8%[J2 9C<.8W XM-@8U]@35AF*/D,5I,C%2IWA'KV4T\^4%Z',&=H',]A<^YE_7:6QJ'E5!4Y)$ XM(Z2B%2 ?Y*AD9@DP&I=IMVA<JH<GE.S$,,C*2/I[=%('4?\#458QR*AK6=H9 XM>7T-N6@J+@\X9@A7#J5NPV&I()W.:K"A)<E73GGYU\LP\-!BGENKM)8:",X0 XM#BEOX63H)90R^"D':IO#07X<6A$ALY5QD4+86O&"2 5*VBEYISH@CI(5FNE% XM4GPP9HY:C5$,&%4W];(H/.S?R<=32(-=6P$XH=8% %DEJ17T1?K6S)/#7#2E XM2BAXAM4KUN1-"C;<&NIH_0B0.HJ,G[/"5.%='HOI<[ ](LR+^94&;9E\7*X* XMF7(4CM.94+ZM<XE.&)"%M"ZPG 4CA)D6<!Y;:E.R5(#>A7=SV0^FPN.Y;V8X XM(J(I622A%</?[3>6LG)^:<$IKHT%+,F'4V.UHQP+V9.]29>63S69I7J>B(-, XM\>W,J(3BT22!('LK6NLYH1)Y I@(N(4%CX7!Z_>QS$%LW"_%Q9F8].32MR'T XMIN*CD:G+1$'_6'CU+T&'HM)YU \I(%0%BHB..)J H.[ @!(3\^(X\6:14J\= XMU6@@&1^<9DK2;K:@-B=9)E1ECA03KA9_47GH9C/)5PQ076"A='UM4S_<!7$V XM3HG,SK 1/&BM/1&^\HU5+0S-C^3"_#D[$<9D;BJ2E56JN7TJG4ZA]SFO+@\3 XMQ_7@<<$2/]\9IC]EJS9IC=%,_EQJY<^Z8#F;((4FZ.2Y,-'2D-93]8G*&"8W XM,U@(B(?<)1>,+D[5377[8'N<ZZAA8#TB >OMU0]:AWJF[E"XZ@6:HH"W&%A; XMDR'C&ICA5=,JO^?.!7C8)YX):[5XU:'JV8)A@A+2VJ:_W$F&2YU6$&V2^RD/ XM63\:9C0J(BKRP&Q5A\]!MDPH8.J5(C.U;(Q6CM7F+5$^''UJQ]4(:EMM(+(T XM=; 1"%A0Q9SY5J7J8 6.Q@'K@L/(>MOJB,@)Y5;3QZ5W<R6A=H47<6*8C.H# XMB=4>Z%_:B?>:OU2E.),*0P%A6'"*S4=A+:2UT*5X2?(2#AT4Y0.BE!X>$R-V XMZ%1?IU)CIFJ<PJ%0LJ#%B!8CA@G5P6_S*>M33[PP&9 >XN$,-5@:-';]/9 ] XMY*5Z3U8ZP(TT\C[]2_@>B5.A\#O,DEW)A8FB "5)0:=JA%LLBZ-]XJS'ZIVE XM_36LI6I:\U(F:_5A*W@O^H@.7.I6A]*.RI3Y,?#]3082H=4H/@P5R0RP)*&D XMRZ!Y";I8"@\(^OG8F2HTT*EF/+JN)M%59?XTB\)9H4&[<A!E@$<89WA4V1RA XMX(9VD&9A#RJ*]FYK%U/UVG1SU^*"Y^1,@/;?%R<U"7)\8G$'BJ0D 4R-N!<@ XMI(M"]\ ^S@W93G6V+AV&5 [9&-0X)D9+ U(9RIWBUU)BRI6._$PN"\YEH.'B XMF4D@T: @5=_3XL49\@MO)E-DI['?9'.)/3A76UO1R-Q'3Y@"%7Z12=C,X'E! XM1++V9NHG*WY#6L8..*I%7(40^&3.ZEKK:=VQ8J5>Q5AX]JT=JD*$H!C@/4VW XM(T#5B)U.F&RM"*')'DF7.T: NFVOT@X[OP6T&PW&:KN5.\0-;+;I"%D0 PDR XMJ<VG*$5;$76,;O%&A2+.DEG[I5ADG5@DO@FND\1"BUAJ1]E+$CF6(_?6:[*C XMEE//Q+_>LQ!@'=7'730475>$$7*;"RE=-Q0-:6'20L2R^H<]IMHB'SF44)]N XMT -Z/TI" (75N!O_$@6J[AQ:X8M/:,W]4@JF]/JN\IFN LIE/*5S^AJ(F1HZ XMJ]F@>.KB.8\[4Q<W >:=GUJT1G[Z:4YAJM@^%9@3H8,T/46U+./CU5IJH)!* XM2+J-Y"T\R'')220R>\:*B=340LX=QD6%A1'KJ]90(8UWS2GI%5.UB$7.RG4L XMUH\J7$.QZ!&OB>BU:OEXD"89!L&]WH)E0,0%5_$MV QMYNPUEFRCLNHT%F!6 XMU\!&<;P?_0N-^0KA/E$,$DJ,=F5&V=-FS1*HF>4]E5-.@(U9.Q63R5!&J*CU XM9C5B*5N-88[U/>K6FJK(P*CJ0Q_YM6U_+>K"8>X4)*E0WAEX%K*/+<9I)U:, XM2V1[HN^HA2U#YS'H,"H3&:VC$.6O;66"YF>5M?2B,57VT1;%(PVQN\*#3J'U XM(4:^E G;P?1W6HD_JFO0U&B0.^QE\#'E-,JC79/=U**X 23Y%R2)KF?NM*%L XM2_Z(QKK.,'[IE#Z'WL1!7@L_-[JNDTZL35H=U!:+68 WM!:W RUSZ2GA=WX@ XMAN,.RG@E(.IH%01)Y VMELE6"@X@'$1/ED:1"<2!C?:#_\'A.$Y@J-OF8\+- XMIF*JJ]NWS9Q02@TTM$M))+(D4L-EP25<ZC=TFC&P=9;RZA9-:JZ<3@>*+HKH XM9ACJ?B)<U:T3R1=(:G)B:N2$/%6!UHXDM$$'QU:/F\BN!ZLHH"3Z(%J1:)^H XMUYHM .!#ZB@F+JW@T/5\HH&[:@L+U9%]F%IZ:]J1B)LJ&,@9(';%I/A"^8AU XM/M;BI-&X!98LQ42V I@S2TX3YJ%8EDD$6I_*EPYD'+F=\I?=(;;SLKAS\@9U XMZ1+QBDW/<E9U.!SO'FE)V?6A;JMC:W+5?4>G"T5>PJW";<SX&JYL\YB:.-T XM-G;."C*.@;@0C9I8C&F"S:2=%GN>4S*3#16? HP0W,T).,:*>%]LT7!$.7.* XMQM$K+G^ZC&]XME&RWPR61<KJKW*HT-?DI@;QEP9$TH8P-*=']T$M4Y@:=57G XM*%)%[+*S%^PG0Q']9\H:!QA.&94\R7',!M_R>_@<]DH3"6S^B"SL:YI%FF?- XMCL<$L3T<NM8OJN_]A!64)+>@3AWZ"RS#YFB2(FN!B#AT1??I<%K<SIU$TQKX XMQ_":D6YJ1\G2;*,G=95;Q8Q3(:U9"?I:'Q&M8U+]L4?)CP@Z-)'#D$.[,-H% XMG&9.XPDM61]/KTB_^2HGCZN3]L!&92RW.?$1#NAKK:(5G#PF4%QKWNXY_%K& XM*>+:8-D0H1A!IE'>)T>*=-:HMF8T8X/='4YG*484,9"5[V1J879=+)C_0GA% XM*HB0(H/'^H?+UQ=4B>H,"62]P$T0HDRN<5/=_GGJRU/WHEF$>L&[ETBIK3MM XME7E6VK/DG^B59#*9NYO#"!N1/H#)&J>1!:2TYARK9=@8V69R)_9@N:98Y6(0 XMO6T#*@<$K2VF$UNH1$$]L?WLJQM:A RTA<ZP2@FH.:IZM0H.KY*A]TFP+#UE XM[4&V[S8YHZ)HT QJ<#ND(\5MD4G_3-2KE2:PKV>>@\F$<LQK+_/\,()S3]_* XM@!5-H]/LU3C!/IEHD* 5::HP5N*VG]51#V@".[#>?=BK(S(M>9_:ZR$:E,R% XMWLHOUJDH@+W)68(V$:,&;J?;T#X7H<:,$"P!1KWM.P.(_9O>38#8B]YX[J7J XM(@Z^.IMD5+NL[BR^!J_&:Z"1&VAD>S(:?C$NCN69OK4'CM5I<-48R]T-NINA XMFH]MTB$TQ&&V2Y45B(!CU"<+6TE:G&:."KMSDG"CR8 56,ET9R<>QLJHBK<4 XM)28;?KD2:NU+V#8)T]:"U5_L;I?8E9=')ID!L-&!2,UU?-?,8^"\%VB5[E8< XMFJ$3:YLU(-F]L4X#=U=IJR(GG*C/^(&#W5MPWRK 6(UBYMK@14*8!864C9SM XM59W4R'22L6Y(T>($MP*"#%EHW:I[WE78#/9)X&/N)/M$5+)>1G=#HDM'6+R1 XMO8$YVF5I4(6V%?W%\7J9X5:@:&2IC*EM*:$WF=U4/E(,G6.[>74AS#;T':Y( XM*K#SIW-VEB[8 GH??FW[[U4XPC!\P1Y!1HW."'A,ZY7:2<)J7? PTPIV@Y@" XM4K^,6%'5GA0%8[Q]P7I[)%"GUDUU\O0,JN7-+NP\4G(:C^#4O<%LS:!_.S+Z XMER.K%.&6=A42YTRU.D)'SH1,5G76!K[<62K"B;VY$V$7)XI8IY3NJFRX4P^I XM?37G^6E5(9UH6RHP1-[YJ;Y,@5'@.X/A\HH)U#AYIF4%Q%QY.\Z=G.XKQQN3 XM-<$5\'*@2:6BPFRY"_1Y>;HNF>O4T"J]!D79$S*Q_>I[BR+4 )7) 6>=A#DF XME%WI5&Z 1K"\I5 J-MB.2^<##:@H5<<1[X1RW5M*A2\EAA72K/ [8)80L;LP XMU^JD7$-_P36%:;."%L99!D+1\"!<;4%EM"6V(C9BG>0,7LJ)^CVBA,XF5>$U XM@\[0D_B>ARGA*1G'SH_V9 E6VYS#A"?#9>8)=A'>YTMD79<M$SHHM4:?1<A$ XMG#)<A;HP_QOX$:C#+4<'4'&21"N@A<!:F.#?'_SL06\RT=TK*9*=.&J?:5=] XMQ3,#2WI9-HJ-6>PDNLH=;;'VN(M H)'E1NH-@K3*PNNW&"8Z?)W60$W!L"D' XMX93N9C2G4&TAB.5]8&P15CLQNBX@,(S]1E+HTY?I+67$4,9]).522'D<8M.; XM I6 F(7@>:6"K&+*@+D%1C*,E7CN3F$R@]5K^8+#4<8@7,5A-6-L<,AN\L)I XM&]7[]-15?G"IJ%LJP;$AZ[=!\7!6U&YZ8A""U4.4@;E&>5M8\G1XI4A^K]]: XMOJ W,UU]50NI7R1<M(@UF1HE:J156-9Q]VC<JEMBLPJL)@GOH*G6D_54).6? XM3,ZHXWD=?M9H+CP$BI2>FB23%5M:4Z!QUPE;5S,R/WS-QK/#SR3*+*YT8&50 XM"H;>I<>EBN2[)%\*Z&P+_,"=ERUF',9"=6<.6+G%\H:8P=DZW;FWN%TS"@2F XMG;/+O@B>GE0HI&&8SRZSB&AV#-=5#Q>9W5(195#RC*17P7A:15O> Q,6A\=K XM$^B;ZJJ]X'KPDJ(+)+*2=RV\>V/FO)GU?D#N&4,Z,\9?,UK-&B$W;E\<N1/& XM!2?Z$#;([QJB+_&BRB5DOA\H[@ '\7Z"4RD%_]268D#726LU;:V@$*)+=J72 XMQ&8I-]VAYQ6D6<Y%<-P%RN9Z&&1_U46TF UPW@R:IV4%I$Y0%L,P4J );(&T XM]WPM+U(E.[6N2=B@^8)5DD1;6.H&F&FR4QT6^:, $/L#WI1;6HRDT.+%USBF XM,B"LX$J^= 0P+\E98C2 \AEE\A*;#](XQ$_4GS3=1CJ(\1.CC@X+DSD\CLPG XM)-7I'_.QFOK4M;FR<O+P)?6/2<?T(\])-=*.J#SW>DE'!4QZ7I50DTU8+#GI XM:JC%)HL7/\PCPC79ZUF6 Z%T%1R^?UU>-:>V%)L&POP4@9)\]17@.)LJF!7/ XM-(=^&'9!)\H6T3J??$&#ZV89HE9:4"(C1R+3G=_J*X8*3EGH>D B<C,4AO?D XM3JWK+16[%2&ZLY!?D*H"2QKNC%;'V5FJX?IB4 Q#T>TGI_I1-!HQ[0MUOF&R XMTY$3M8AX(J#9.S5HB@:(,D9H,3$0Y9O")SU97*!^*<)BHTD3;4$Z'F)])HJZ XMC"J0R&^5^#$$<MJR248B@J.K5+B7$,ITV)[ Y)8:JN=517D@77A"F(70Z0AH XMY=;%>EV:FY;6FCC%'J5&:9-P/&%4@_ W56/@+H=#T3#YH2-;,>E9&U"4_F=9 XM4;^6N^]1G2/SEJG<G5.XE/)<YR=*@<+N?2VA1D-K,BT5F%44[^FK(880!=VZ XM3Y8I.S.:,FYSU**'N5:.%U'9(/8&>_,:5S"P/0SM$Q,TN&&KE^2DY=U9@;IH XM:0'G%IGJ 8EX:Q*H !4#F."<B$NR$NF*!B7.4#LSR[&BK:!@Y5YNR=J7?C>V XM*<=CI7Y'!.:7MN5<0>FQP9<Q.*PYDY2+W=*+ZY@9<;/Y(>T9MPKC'5FCUL6P XM\GGK4=8(YTM+/"N&P#LRY(P2.<_R*@S557%;F4YLY.9V@<TR6L8K3XR)V:?W XM0*54/I&-Q"4M:34ILQ.F9L*<*&C0)I(SKNVY4]Q9H^%-XN44 #T>'8*$3"9K XM,K!HR!\4SQJOMP'H[5-\QL>;&/.,GQVY1&1M-&84K9,1P%HR4.PZ2\(VXR2X XMLQ2^?'HJ=FF[G,1!,Q[SQX9^V*C]L,8JA5S"%,V^M@@/I?(UX@'2$!!/4SIY XM/FBPT'F#C7OQ,;&,3B"1^"!]<,CRB(?;P%F,J<OI'+5WBKA)_5!'%><-R2T8 XM.16MB7,(6\YR6C)=?"FX6!X?1D;D!@/P2:P>*&+,QLQH<F>QBCM83,8N5V6 XM)8',P:%'@]K(>W"6<$A;TA;"XUQRGF&.'G5EX/QWJZ#OP?+!DL[0#',TATIF XM"CA32F(N)> %YJ#= '-T4',T<DFS5X+V%">WBE[E6Y7IBUR18/ ?'U99HK=4 XMAQTSQ>@X*A_#?K[< *P?#+(N=%X<#NL4-IA?T._F2!KQ_V/)>E#[4JNJR)PT XMK%4PQ3."?\Q=@R#^O@S*R_0%(7E+JL_+:);&OF78!M2$5@D:%X;<3\(@RBFE XM0A,)8N'FUL@22[6C(:\D(L$RQY:([#RV>.<RA<P:_:=79>G5?+QFXI&L*@J/ XM.YH)&GO,*F44)6^7W0A+;6-P:*N*<&GJI+KS5@@'+[@G)SZ)R"DX,XBMF7I< XM-:5M7:R[SQL9&0F'"?(WS#(DJC/PH^&LXJSI%8CX0\]QN(38\>E8;GD7WJ5[ XM95;N54F'Q]C!6F[> ^S.,)JF+N5IJ</:PG_U@@TT?$4J\25Y? <.4+VA0!-_ XMVZ7L'$.TG"C8-D;GG*TP(PVASD(@R^21!3.^<8,HAO" CX<G!W)WL#Z F%?6 XM**)/>>PYH_(6S?HE.+.AOCKN(7NL0?Y?R.*FP[\"R\'I,NA/Q-/"[(L;;EEC XM+&<E+$GOQ86FL_O!ICS-97$[5U_)7.5\%^N1S)3I2<WI5&</:1SDRVB_&E66 XM2"?!*=Z9/YU%83Y0<NU4D+HVUFB[MGT"?9:&4M3R2L<=<,>5S^:7FK513 3: XM9N9O8399$+< J4*MJN*CQN.^A@.0AX[:#IW=L#5 ,>LKA 4OU8URVNK(=GB5 XM=WS+&)BHAU"#A]K,<&!2'#56E4U<WSE90%_SX68Z4>TB?M#^LOO%J[0/9UTI XM3PT(3DYJ @?8AU@'Q(8VRYI@^ &^!DGO"T\T0OD]S"'LZE2[/P3K.LH76BY' XM#W'WP\[37O Z*RH$UI*J"0PXI4K5-=+$X3:O#*78DV,WL*=<GD$@#H:I8;LJ XM4T]FOO06'5)RQ-\91 0T*;0V\>YE,+M-X9CS^*,Z,B!+2H-=N=$I$"KJ0/JW XMP>(;VZXN/</9I89#."JGDT5"41)A+33L=Q<ODO40W/4U6J\T=%9@_/+,"R,' XMED^_3;IC+X43EH]$H]L$<!'.'I(L]#;3E'?P2DT$!6LRWE6]P>RES?(CC+A" XMH[DBK.@;*-DRHDP&+&.@.0W&6*2&EJ($M("3IJ\=-,L0-1_(U42B61NC;Q_Q XM#.HF9YV1B)JW;64WC2@7DYT.PT )DJ)+A4J]QKE$,O)MV'5#<97E#H/PJ#G\ XMG<8KL=A%/I+3,(1R>X39 !:NLQ0O2HAL:ME<4*O5?3!D96'RHU$T#+7\E:)2 XM8A BFGY$Z=/+Q\?6&T=M\+)YE P0VG?B%_U]T,L1!L+4.&O@:GEL;YU5;(ZB XM";;3RD&\)-%:JRMO1=;YM#F!KV5V;@?'+W88D89FD]45I0WK8@;QKJ/M<@= XMAQ6$&[.)NL@/$R:<4$!XE\WB10P]I%0_O4">U,85Q\2W]=O :I2[*')-"9TU XM*A8V>6VP(HQ,"WM/K)>J:.;2S+1:W:-R=R(7"$K^&$[:5X]#^18\>!Y7[9(* XM,ZK+EJ:6?%MH"*"5'^^.!(Z1<E0?2(4F7A=B@&DW%S4JX]0\77"6&:\(9F;F XM?P-<N*O&K<U3O!@>GU[,:A%SJPYQU#OX/@HGMX!X/0%4=^J\H"G7BK)HUV,= XM?2TOC-@Q%/TG!Z;>HL;AES'P_^5%B(+K=8:\X$'"N+1Q*PR#9(RPFJHYLY79 XM1$SC]W13R<YO^'J2*)9U4MDT1@9A,7ZX7Y-2='/0C)01G]M?\@,]I2VV$'KC XMJ1PNZ H#/-',*S[WD#I]%*F+\)J[D%*#J"?^%AOV+_TH@-W37GVC8)@6J#Q8 XM<Y=:3+#.":]FJZ0R2[TP@N#MP#&=UW+C4 ,>VTF>4:-!*D'CLTO-8 (EF8?2 XMNZ98N)Y/;Q+ON8H7J0:WQ!A^%%(DBX;*<>02S;0ALT9E0ZI=$"&WMUKM)@VO XM&_Q1WY(# %_5@74:^/;7/88R"T,\KR[>#=QW'M#SD0&:#?.,>%I0 \;Z)<), XM:Q9;RR(J'DR4GJ0C<!!^%8>B1&%3>4PE=#T53M&RK$5T%=[HVT#2!R_#7.U[ XM9S%/51'FQXS$'AY" 1">CI+SU2:96K(4'W?XUP!D+M<@MEWS-591PPF"3#N XMAU\;]+C 00FHF42?5W;PNQN%WWTK-X_,]"F!PQ&MTZJX6]<3W,O.L:L/,B^( XM7M4H+(CLA)GD9\?:$$A&$X _K([]'V!(\2^9B10?V]=L%CS0+6;J9UJ*U;HP XMJA>J8X-/*!UJ;<0T93[%VSFC4+45^= O59GVS.NH&F,8U56'<=3=]=+ ]U7Q XM^\",I& -P:N(0N)#XF-:=8O-E_90FD4^M+NE)7>?\5@VJ(DII.[-!\W9MGPC XM1W9KN3JYP'&1E:;$TY;,)39N,&PK<VC4?>O%P+5MCOH<U+JXX<?\W*G8:!8/ XM)1UXUENT,(+[@H81*C4Z@T/'PC.Q!DR6:7I.S!X(%5#,T,EG!D[QT'A,\X$F XM625C)1_ZJGG<2FK"51ETL Y:/1Q^RYIS*$BF >&INY)8NE+5CY8N_D$]323Q XM;2+^IRW:U-TM7ITFL*8%G.Q'8-$5#K!W2\V"C/A[&"1%L&E1>J*.1# WE;KE XMRE8QVQ+MAPD?UV7R&NQG3G6MZ8@FA7HDP[(=I%'-8FM<64V2::6*-R)^*_Q7 XMP\^(&=H^D+:F3PH+R3)P9,0\@@8]/(WEXOE )+&.Y**8/3D\7P ]TY*NE?3@ XMNC*EV*WTIJ/RVGH/ M4X@E.HMLLGVO=$3+=W[K8ZJI=Z,#R1"R-D<A;!]$ XM=#;P@[?DU4<8]WF%^SW#GUG788/K'_.&22*8\)3)M1B60(F$7:VGC$(K:U#A XM8 AJ1='(%]-\)</?Q6TEC9=6+'/6ZDP"O4TF>.LX:\/0U..Q8-M\BX9WTPPQ XM?, 7<KCXMW5$S&+V4[2!1<L0F13SK"+122"3L'J:!I6CIUQIT1ET:)Q(@=BE XM]C\#);JVDJY"/02&F[7CA7!BDM..C%R$_F0Y)B/BX3333C1U^-:%&^2#IE^: XM<+[?HU224P0S->F;/X+>3!P'=QTDJ? F>LOU-M1,4*OIF<EPS]3\$Q<9-VRD XMQA#5748?&P=T*ELD71P^QRX11JND7 ,Q<WV"UBX8$_-643D6GV"-#-%(X9)0 XM6%Z/:J?Y_I:KL#">CP_4D@!I A<_[&=.5P<>D[=QHYL!Y$?Y@LFSN @%787H XM5,KYQ (8X&YH(G@Q\!'C8_G=]Q&*@.=?[9;;#'%SU+*#;W&HU9GK2K @)*(' XM;X(W*4RRC^M'.%ND71 ,<179&)':&5P=XCDG*_D'$G/9=3FNG1Q&S 5)]B3Z XM;E%[>5&,<J,/&MQ3PUFNZ=;!C*GZX3J,5Y&K6]8SSTI#TL*('D7+/I14[SH* XM:MX)2TR0RR!*P=@^3?HI.5//"N@B]GG.IC,XS-.%L\IRW/HM(HK"W>3&@NU: XMT,AQ1A('<U#OJV/WK8N#83MR,)*XTIII@R>WY9.5*C0'S@WR3*(IH7_XRV6S XMZOA$[@5GG/]SQ<=31]>Q.61Z92Y3)Q$GH< %(CJ5=UC^SMB.;KZ<9S##(6NT XMR[']4K[E7X8O9<6+1<AV$FVW0)FNHI4L(*NLB"X"LS.O5@=4_R5J(3G@.=;J XMEL'.=?<<]\4XJ*E-,]B+='8T@P!3'X:4A3SIJH2-=<^9C\80Q9\[S9';+20B XM#2&2OPQ!*'N#/J5O^K%'@X+.'"_/!>*!H%C"C \"G5_5U.F:GE)O;',?*2WV XMJ&BR+U!=2;,X%1&1,\L(2ANE#1T1YZC_IP%])&&N8+K/JU++<Z)6C5>X@.OY XM>,OFC+<<OHU8XBWY3DD+\RFKB[W.,C]H$\+7N")/*DAJE<A%KHJ1CG ")36[ XM(@%D#7DLKLZ:R02$%H,^$HI)9])^@6*W^9N0[LN9<;E<BKQ@36"KB+,1UK0< XMVP@"IZGLV&&F=Q1!BN25^JK1HO]$TC.!?4^"GL49#*51)AWD[(P ]&6*+3MI XM5W)[9AGQ:DQPV9O_U13U[F4K4#LEL]JF)&]*G@6FX!OB"3D[,!$I'FV#JGZZ XMO%I[QOL+FS.;Z,RX[[IZ=LEWQWV@E<\K2-5=E3AF#3=NJ2\+@/"I64]K93Z7 XM@0LW;<1D9MP2NV1Y*#;TG04>7H\BL(LX61W=U@62?& ?DDLS]"&R?^-TK#Q8 XM'&1TWL#YOD6ZV/B#@&]S#A_FU/E+?34+^KV.B87GG@QX$^O-8\@92^4,FS.9 XM!YQC">=:I=HFU>8!)JD(6#*60"#0C\^ANQ2& I:QO1K*VD:.G;PF'^MR^-++ XMFC*=8$+8W!>VA[/+"I8=M[W=LR%1LE'MW@PN>LL [XD>,K16EM1@ Y.)M**Q XMRYM7L'NI4?;PR0FDSN]2AVTB,Z$B#OBK QG+1/YA3?P$FMC#[(*S#]<0:09Q END_OF_FILE if test 34067 -ne `wc -c <'cheapmoon.bitmap.Z.uuaa'`; then echo shar: \"'cheapmoon.bitmap.Z.uuaa'\" unpacked with wrong size! fi # end of 'cheapmoon.bitmap.Z.uuaa' fi if test -f 'cheapmoon.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'cheapmoon.c'\" else echo shar: Extracting \"'cheapmoon.c'\" \(358 characters\) sed "s/^X//" >'cheapmoon.c' <<'END_OF_FILE' X#ifndef lint Xstatic char rcsid[] = X "@(#) $Header: cheapmoon.c,v 1.3 88/06/07 17:56:02 leres Exp $ (LBL)"; X#endif X X#include <X/Xlib.h> X#include <cheapmoon.bitmap> X Xgetbitmap(w, h, bits, cx, cy, r) X int *w, *h; X short **bits; X int *cx, *cy, *r; X{ X *w = cheapmoon_width; X *h = cheapmoon_height; X *bits = cheapmoon_bits; X *cx = 576; X *cy = 455; X *r = 378; X} END_OF_FILE if test 358 -ne `wc -c <'cheapmoon.c'`; then echo shar: \"'cheapmoon.c'\" unpacked with wrong size! fi # end of 'cheapmoon.c' fi if test -f 'dtime.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'dtime.c'\" else echo shar: Extracting \"'dtime.c'\" \(1855 characters\) sed "s/^X//" >'dtime.c' <<'END_OF_FILE' X/* dtime.c - extracted from the phoon/libtws package X*/ X X X#include "tws.h" X#include <stdio.h> X#include <sys/types.h> X#include <time.h> X#ifdef SYS5 Xextern int daylight; Xextern long timezone; Xextern char *tzname[]; X#else SYS5 X#include <sys/timeb.h> X#endif SYS5 X Xstatic struct zone X { X char *std; X char *dst; X int shift; X } X zones[] = { X "GMT", "BST", 0, X "EST", "EDT", -5, X "CST", "CDT", -6, X "MST", NULL, -7, X "PST", "PDT", -8, X "A", NULL, -1, X "B", NULL, -2, X "C", NULL, -3, X "D", NULL, -4, X "E", NULL, -5, X "F", NULL, -6, X "G", NULL, -7, X "H", NULL, -8, X "I", NULL, -9, X "K", NULL, -10, X "L", NULL, -11, X "M", NULL, -12, X "N", NULL, 1, X#ifndef HUJI X "O", NULL, 2, X#else HUJI X "JST", "JDT", 2, X#endif HUJI X "P", NULL, 3, X "Q", NULL, 4, X "R", NULL, 5, X "S", NULL, 6, X "T", NULL, 7, X "U", NULL, 8, X "V", NULL, 9, X "W", NULL, 10, X "X", NULL, 11, X "Y", NULL, 12, X NULL }; X Xlong time( ); Xstruct tm *localtime( ); X X Xstruct tws * Xdtwstime( ) X { X long clock; X X (void) time( &clock ); X return ( dlocaltime( &clock ) ); X } X X Xstruct tws * Xdlocaltime( clock ) Xlong *clock; X { X register struct tm *tm; X#ifndef SYS5 X struct timeb tb; X#endif not SYS5 X static struct tws tw; X X if ( clock == NULL ) X return ( NULL ); X tw.tw_flags = TW_NULL; X X tm = localtime( clock ); X tw.tw_sec = tm -> tm_sec; X tw.tw_min = tm -> tm_min; X tw.tw_hour = tm -> tm_hour; X tw.tw_mday = tm -> tm_mday; X tw.tw_mon = tm -> tm_mon; X tw.tw_year = tm -> tm_year; X tw.tw_wday = tm -> tm_wday; X tw.tw_yday = tm -> tm_yday; X if ( tm -> tm_isdst ) X tw.tw_flags |= TW_DST; X#ifndef SYS5 X ftime( &tb ); X tw.tw_zone = -tb.timezone; X#else SYS5 X tzset( ); X tw.tw_zone = -(timezone / 60); X#endif SYS5 X tw.tw_flags &= ~TW_SDAY; X tw.tw_flags |= TW_SEXP; X tw.tw_clock = *clock; X X return ( &tw ); X } END_OF_FILE if test 1855 -ne `wc -c <'dtime.c'`; then echo shar: \"'dtime.c'\" unpacked with wrong size! fi # end of 'dtime.c' fi if test -f 'patchlevel.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'patchlevel.h'\" else echo shar: Extracting \"'patchlevel.h'\" \(21 characters\) sed "s/^X//" >'patchlevel.h' <<'END_OF_FILE' X#define PATCHLEVEL 0 END_OF_FILE if test 21 -ne `wc -c <'patchlevel.h'`; then echo shar: \"'patchlevel.h'\" unpacked with wrong size! fi # end of 'patchlevel.h' fi if test -f 'xphoon.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xphoon.c'\" else echo shar: Extracting \"'xphoon.c'\" \(6279 characters\) sed "s/^X//" >'xphoon.c' <<'END_OF_FILE' X#ifndef lint Xstatic char rcsid[] = X "@(#) $Header: xphoon.c,v 1.7 88/08/15 21:34:28 jef Exp $ (LBL)"; X#endif X X#include <X/Xlib.h> X#include <stdio.h> X#include <math.h> X#include "tws.h" X Xchar *argv0; Xint blackflag = 0; Xint demoflag = 0; X Xchar *malloc(); X Xmain(argc, argv) X int argc; X char **argv; X{ X char *display; X int w, h, cx, cy, r; X int size; X short *bits, *xbits; X int delayminutes = 0; X X argv0 = argv[0]; X getbitmap(&w, &h, &bits, &cx, &cy, &r); X Xagain: X if (argc > 1 && strcmp(argv[1], "-b") == 0) { X argv++; X argc--; X blackflag = 1; X goto again; X } X if (argc > 1 && strcmp(argv[1], "-d") == 0) { X argv++; X argc--; X demoflag = 1; X goto again; X } X if (argc > 2 && strcmp(argv[1], "-t") == 0) { X argv++; X argc--; X if (sscanf(argv[1], "%d", &delayminutes) != 1) X goto usage; X argv++; X argc--; X goto again; X } X if (argc > 2 && strcmp(argv[1], "-x") == 0) { X argv++; X argc--; X if (sscanf(argv[1], "%d", &cx) != 1) X goto usage; X argv++; X argc--; X goto again; X } X if (argc > 2 && strcmp(argv[1], "-y") == 0) { X argv++; X argc--; X if (sscanf(argv[1], "%d", &cy) != 1) X goto usage; X argv++; X argc--; X goto again; X } X X display = 0; X if (argc > 1) { X display = argv[1]; X argv++; X argc--; X } X X if (argc > 1) { Xusage: X fprintf(stderr, "usage: %s [-b] [-t minutes] [display]\n", X argv0, XDisplayName(display)); X exit(1); X X } X X if (XOpenDisplay(display) == 0) { X fprintf(stderr, "%s: Can't open display \"%s\"\n", X argv0, XDisplayName(display)); X exit(1); X } X X if (delayminutes <= 0 && ! demoflag) { X hackbits(dtwstime(), w, h, bits, cx, cy, r); X setroot(w, h, bits); X exit(0); X } X X size = BitmapSize(w, h); X xbits = (short *)malloc(size); X for (;;) { X bcopy((char *)bits, (char *)xbits, size); X hackbits(dtwstime(), w, h, xbits, cx, cy, r); X setroot(w, h, xbits); X if ( demoflag ) X sleep(1); /* continuous mode */ X else X sleep(delayminutes * 60); X } X /* NOTREACHED */ X} X X Xsetroot(w, h, bits) X int w, h; X short *bits; X{ X Bitmap bitmap; X Pixmap pixmap; X X bitmap = XStoreBitmap(w, h, bits); X X if (bitmap == 0) { X fprintf(stderr, "%s: Unable to store Bitmap", argv0); X exit(1); X } X X pixmap = XMakePixmap(bitmap, BlackPixel, WhitePixel); X if (pixmap == 0) { X fprintf(stderr, "%s: Unable to store Pixmap", argv0); X exit(1); X } X X XChangeBackground(RootWindow, pixmap); X XClear(RootWindow); X XFreeBitmap(bitmap); X XFreePixmap(pixmap); X XFlush(); X} X X Xshort leftmask[16] = { X 0xffff, 0xfffe, 0xfffc, 0xfff8, 0xfff0, 0xffe0, 0xffc0, 0xff80, X 0xff00, 0xfe00, 0xfc00, 0xf800, 0xf000, 0xe000, 0xc000, 0x8000, X}; Xshort rightmask[16] = { X 0x0000, 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, X 0x00ff, 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, X}; X Xstatic short shade_0_bits[] = { X 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff}; Xstatic short shade_1_bits[] = { X 0xfefe,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff}; Xstatic short shade_2_bits[] = { X 0xfefe,0xffff,0xfbfb,0xffff,0xffff,0xffff,0xffff,0xffff}; Xstatic short shade_3_bits[] = { X 0xfefe,0xffff,0xfbfb,0xffff,0x7f7f,0xffff,0xffff,0xffff}; Xstatic short shade_4_bits[] = { X 0xfefe,0xffff,0xfbfb,0xffff,0x7f7f,0xffff,0xffff,0xefef}; Xstatic short shade_5_bits[] = { X 0xfefe,0xbfbf,0xfbfb,0xffff,0x7f7f,0xffff,0xffff,0xefef}; Xstatic short shade_6_bits[] = { X 0xfefe,0xbfbf,0xfbfb,0xdfdf,0x7f7f,0xffff,0xffff,0xefef}; Xstatic short shade_7_bits[] = { X 0xfefe,0xbfbf,0xfbfb,0xdfdf,0x7f7f,0xffff,0xfefe,0xefef}; Xstatic short shade_8_bits[] = { X 0xfefe,0xbfbf,0xfbfb,0xdfdf,0x7f7f,0xdfdf,0xfefe,0xefef}; Xstatic short shade_9_bits[] = { X 0xfefe,0xbfbf,0xfbfb,0xdfdf,0x7d7d,0xdfdf,0xfefe,0xefef}; Xstatic short shade_10_bits[] = { X 0xfefe,0xbfbf,0xfbfb,0xdfdf,0x7d7d,0xdfdf,0xfafa,0xefef}; Xstatic short shade_11_bits[] = { X 0xfefe,0xbfbf,0xfbfb,0xdfdf,0x7d7d,0xdfdf,0xfafa,0xafaf}; Xstatic short shade_12_bits[] = { X 0xfefe,0xbfbf,0xfafa,0xdfdf,0x7d7d,0xdfdf,0xfafa,0xafaf}; Xstatic short shade_13_bits[] = { X 0xfefe,0xafaf,0xfafa,0xdfdf,0x7d7d,0xdfdf,0xfafa,0xafaf}; Xstatic short shade_14_bits[] = { X 0xfefe,0xafaf,0xfafa,0xdfdf,0x7575,0xdfdf,0xfafa,0xafaf}; Xstatic short shade_15_bits[] = { X 0xfafa,0xafaf,0xfafa,0xdfdf,0x7575,0xdfdf,0xfafa,0xafaf}; X Xshort *shades[16] = { X shade_0_bits, shade_1_bits, shade_2_bits, shade_3_bits, X shade_4_bits, shade_5_bits, shade_6_bits, shade_7_bits, X shade_8_bits, shade_9_bits, shade_10_bits, shade_11_bits, X shade_12_bits, shade_13_bits, shade_14_bits, shade_15_bits }; X X#define PI 3.14159265358979323846 /* Assume not near black hole nor in X Tennessee */ X Xdouble jtime(), phase(); X Xhackbits(t, w, h, bits, cx, cy, r) X struct tws *t; X int w, h; X short *bits; X int cx, cy, r; X{ X double jd, angphase, cphase, aom, cdist, cangdia, csund, csuang; X int i; X register int x, y; X int xleft, xright; X double fxleft, fxright; X double fy; X int wxright, bxright, wxleft, bxleft; X int off; X double cap, ratio; X int shadeindex; X short shade; X static double demoinc = 0.0; X X jd = jtime( t ); X if ( demoflag ) { X /* Jump ahead a day each time through. */ X jd += demoinc; X demoinc += 1.0; X } X X angphase = phase( jd, &cphase, &aom, &cdist, &cangdia, &csund, &csuang); X cap = cos( angphase ); X X /* Hack to figure approximate earthlighting. */ X if ( cphase < 0.1 ) cphase = 0.1; X if ( cphase > 0.9 ) cphase = 0.9; X ratio = (1.0 - cphase) / cphase; /* ratio varies from 9.0 to 0.111 */ X shadeindex = (int) ( ratio / 9.0 * 15.9999 ); X X#ifdef DEBUG Xprintf("angphase %f, cap %f\n", angphase, cap); X#endif X X for (i = 0; i < 2 * r; i++) { X y = cy - r + i; X fy = i - r; X fxright = r * sqrt(1.0 - (fy * fy) / (r * r)); X fxleft = - fxright; X if (angphase >= 0.0 && angphase < PI) X fxright *= cap; X else X fxleft *= cap; X X xright = fxright + cx; X xleft = fxleft + cx; X X wxright = xright / 16; X bxright = xright % 16; X X wxleft = xleft / 16; X bxleft = xleft % 16; X X off = y * ((w + 15) / 16); X X if ( blackflag ) X shade = 0xffff; X else X shade = shades[shadeindex][y % 8]; X if (wxleft == wxright) X bits[wxleft + off] |= X leftmask[bxleft] & shade & rightmask[bxright]; X else { X bits[wxleft + off] |= leftmask[bxleft] & shade; X for (x = wxleft + 1; x < wxright; x++) X bits[x + off] |= shade; X bits[wxright + off] |= rightmask[bxright] & shade; X } X } X X} END_OF_FILE if test 6279 -ne `wc -c <'xphoon.c'`; then echo shar: \"'xphoon.c'\" unpacked with wrong size! fi # end of 'xphoon.c' fi if test -f 'xphoon.man' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xphoon.man'\" else echo shar: Extracting \"'xphoon.man'\" \(1180 characters\) sed "s/^X//" >'xphoon.man' <<'END_OF_FILE' X.TH xphoon 1 "08 August 1988" X.SH NAME Xxphoon \- set the X root window to display the PHase of the mOON X.SH SYNOPSIS X.in +.5i X.ti -.5i Xxphoon \%[ -b ] \%[ -t <interval> ] \%[ <display> ] X.in -.5i X.SH DESCRIPTION X.I Xphoon Xsets the X root window to display a picture of the moon in its current phase, Xincluding the partial lighting of the dark side by reflected earthlight. X.LP XThe X.I -b Xflag defeats the earthlight feature, forcing the dark side to be black. XThe X.I -t Xflag can be used to have X.I xphoon Xkeep running and update the picture every X.I <interval> Xminutes. X(Normally, X.I xphoon Xjust sets the root picture and exits.) X.SH NOTES XThe original motivation for this program was that xsetroot was X.B too slow. XLoading a full-screen bitmap took about 15 seconds. XWe made a trivial program that had fullmoon.bitmap compiled in, and Xit ran in less than a second. X(And incidentally, the executable was smaller than fullmoon.bitmap.) XThen later we came up with the cheapmoons, the phase hacking, and Xfinally the earthlight. X.SH "SEE\ ALSO" X.IR phoon(1), X.IR xsetroot(1) X.SH AUTHORS XJef Poskanzer and Craig Leres. XThe moon-phase computation is from "moontool.c" by John Walker. END_OF_FILE if test 1180 -ne `wc -c <'xphoon.man'`; then echo shar: \"'xphoon.man'\" unpacked with wrong size! fi # end of 'xphoon.man' fi echo shar: End of archive 2 \(of 3\). cp /dev/null ark2isdone MISSING="" for I in 1 2 3 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 3 archives. rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0 -- Mike Wexler(wyse!mikew) Phone: (408)433-1000 x1330