Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!sun!imagen!atari!daisy!atari-sources-request From: atari-sources-request@daisy.UUCP Newsgroups: comp.binaries.atari.st Subject: v01i007: mwc:low:uue;arc PEARLE - a raytracing animation program, Part03/04 Message-ID: <564@daisy.UUCP> Date: Wed, 21-Oct-87 07:00:50 EDT Article-I.D.: daisy.564 Posted: Wed Oct 21 07:00:50 1987 Date-Received: Sat, 24-Oct-87 06:33:51 EDT Sender: turner@daisy.UUCP Lines: 560 Approved: daisy!turner Submitted by: Allen King comp.binaries.atari.st: Volume 1, Issue 7 Archive-name: pearle1/Part03 +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ [Editor's Note] I haven't had the free time on my ST (sad to say) to spend the many hours needed to test this so i am going to have to take the author's word that it works, I have tested the display program and it works. here's the checksums: bytes = 31299( 31799) cksm = 1051 pearle1.uaa bytes = 31302( 31802) cksm = 1153 pearle1.uab bytes = 31302( 31802) cksm = 3064 pearle1.uac bytes = 6821( 6934) cksm = 130 pearle1.uad +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ Jim, The following will be posted to comp.binary.atari.st when I figure out how. (see recent posting to info-atari16) But till then here's an early copy. This is an excerpt from the .doc file, but I put it here so you won't have to de-uue&ark to read. Tell me if it is too long: Allen King aking bfly-vax.bbn.com ucbvax PEARLE.PRG PEARLE.PRG renders 3-dimensional scenes in a world of reflective and refractive spheres, using ray tracing techniques. Movies formed from sequences of frames can be generated, showing reflective balls linked and bouncing in a gravitational field. They resemble a string of bouncing pearles -- hence the name. The amount of computation required to produce one ray traced image on an ST is enormous -- it is measured in hours. To display animated movies, images must be precomputed in (overnight) batch runs. PEARLE provides the ability generate sequences of images on disk in Degas PI1 format, for later replay by BLASTRAM.TTP (also included). The ray tracing heart of PEARLE was taken from net.sources, documented Fredrich Knauss of University of California, San Diego. I've ported it to the ST, added animation, (primitive) color, and the various other features you see here. I place PEARLE in the public domain, for non-comercial use only. PEARLE.PRG runs only on a color ST in low resolution. 1 Meg is required if resolutions greater than one ray per pixel or replaying movies from RAM is desired. Operation with only 512K will produced slightly aliased pictures (one ray per pixel) which can be displayed staticaly, slowly from floppy, or from hard disk (if you have a disk blaster program). The rest of this document contains sections entitled Getting Started, Configuration File Format, and Checkpointing. The sources are available upon request. With enough interest I could post them. table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin part c pearle1.uac M4 )DH ,*4 )SP%LUT09B4 9R )OD(4G\ 8G )LD 9N4 9S (H4 )L0 8Ix M )MD 9ST 9A0 =C@ 9E, ?J[@9UT 9B4 9R )OD(4G 6DL<&DL<&DL<&DL<&DL<&EX>6DL<&DL<&D*P%LT>&DL<&DLu M<&F\Q08@<&DL<&DL<&DL<&F\)0<@<&EX60)DP%MG *7QELH =R4 9S, <@t MX 5S )TT)=F( =E4 9Z4 8@, =C( =E4 9ND *\54=K5 )SX )R, =CD.A?s M\ 9PX 9V< =K )C\ 9UP 9DX 8G0 <@\ 9P4 9<= =IX 9D\ 9W !;, -=r ML 4Q8,%#\ 9L\ 9R, <@( 5E$ =UD 9R4 9DX )\, 5E0 =,(@=E8 9E( =Eq MX 9C4 9S )TT)=,\ 9WP =24 9S\ 9L4 =TD 9OP$5AX 9D )24 9S0 =Ap M( =TX )=L 5OL 9AD =\D 9GX 9O( =E )W$ 9RX 9IX 9GT 4 8 1IP 9Eo M (E, <@T 9I, =SD 9N< 8A !!4 13\ )R, =R, 9@'09D0 9R@ (I )En M( =R\ 9R !!4 13\ )M4 9N4 =?( 9A( 65-,P5L+@! 1^0 C'!I.\ 9T )AP 9L )BD =T4 9S )OD(5PD 9Cl M0 =U( =E )W( =I0 =T4 9N$ (@H !#@ 9E, 9K )DD 9SL 8@@ 9A, <@k M, ,RL 0@8 9R4 9EX *\M04QT 5;8 9IP 9E )R4 9A0 8@4 9R( =O( \ KK\ \;P B\P P8$ XN, $40 LDa MP T1H"_.Y@#F4 F4H "X< >J "8Y 03,4!$\, K7H Y, @2X 8V$ VW< $Rz M< K%P HO8 @WT LL8 V_0 DHL K,< \ KK\ \;P B\y MP P8$ XN, $40 LDP T1H"_.Y@#F4 F4H "X< >J< !?D 9N0 =O4 =T "Ax MH!$"\@5H\ 9L0 8:$0H:X=E? =T, =O4 =T "AH!&- 5?< =OP 9DH!&Aw MH!';\05X\ 9L0 8:$0H:X0A2\ 5Y\ 9L0 8:$0H:X0A4\ 5S0 =E$*\5$0H:v MX0A6\ 5XT 9IAH!&3( I@S09?< =B\ 9X$ H:,0FF\ 5W\ 9RL 9?D 9Nn M$ H:,0FH\ 5C\ 9N0 =R\ 9L$ H:,0F^\ 5IX 9T\ 5O4 =T$ H:,0G&\ 5Pm M@ =Y\ 5A( =R$ H:,0G4\ 5W\ 9RL 9?\ 9U$ H:,0G<\ 5H0 9E, =KD!.Al MH!&4X 1?P 9E8 =E@$@ $ H:00E0\ 5W0 9E, =KD!.AH!&4( 5?@ =D4 9Sk ML 8Y$0H:00E4\ 5Y0 9E, =KD!.AH!&48 5?D 9N0 =I@.BAH!&4@ 5?@ 9Wj M\ 9RL 8Y$0H:40E8\ 5P0 =SD :('@H:40E:\ 5R 7Q"@D$$ H:80E:\ 5Pi M 5S0!$$$ H:80E>\ 5R 5S0!$$$ H:80E@\ 5W< =O( =KD!.AH!&6( 9?h M@ =W\ 9RL 8Y$0H:80ED\ 5Y< =O( =KD!.AH!&68 9?@ 5-D 1.H!&AH!&6g M@ 9?D 5-D 1.H!&AH!&6H 9?@ 5-$ 18H!&AH!&6P 9?X 9O( 8400"AH!&6f MX 9?D 5-$ 18H!&AH!&6 =?< 5IL 1IX 9D "AH!&6( =?( =0, = BP< e M$ H:80ET\ 5XD =ZH =XD!.AH!&68 =?, 8480"AH!&6H =@S09O( 9A@$BAd MH!&6( E?D 9N0 =?D :7$0H:80FP\ 5P\ 5M4 9N4 < $ H:80G0\ 5A0 9?c M, 8:$0H:80G4\ 5C\ 9N0 =R@$BAH!&6@ U?\ 5F0 9SH!&AH!%H\05?4 9Xb MD 9TD!.B0!$$H M?\ 5B( =E$ 9K "AH!'_\045,09PT 9R8 >AH!%3\05?a M( 9A, =ED!.AH!&+P.E?, =O8 ?&"P"B0!$$P I?, 9RD =S0 =AP :B0!$$z MX 9?, 9T( =L\ 5CX :DH!%]0 Y?( 9RL 8400"B0!$$H =?4!%"0 1/, 4 y M( H400"6\ 5BP 9K8 9IP 9L( H400#$\ 5IX 9D4 9XD!.B0!$$ Y?, =Tx M( =C@ 9R "B0!$$ Y?4!%PX 9AT 9E0 H:\0=/\ 4500=N$ 9M4 :DH!$*w M]045P09N$ 9M4 :DH!$9^045@0=E\ ;&2PH:\0=C\ 5W\ 1N4 9W, 5I( H4v M00#Z\ 5T( =#P 9U0 < 0 H:\0=D\ 5C, 1OX 9FD 9G0 H: 0B&\ 5O4 =Tu MX 9AT 9E0 H: 0B8 -9R$ 9VD 9TD >DH!& X E?, 5T4 ;Q6A&DH!& ( I?t M8 9R0!$%0 H: 0BD\ 5F( =AT 9E, < 0 H: 0BF\ 5D4 9B4 =D2PH: 0BHs M\ 5M$ 9IBH!$OX 1?( =E8 9KH!&BH!$Q A? =RD 9N0 =Vj M "BH!$S M?8 9IX 9D\ 8Y(0H:,0/D\ 5FD 9N0 8:(0H:00.<\ 5FD 9Ni M0 9SD!.BH!$U( 5?, =H$ 9D\ 9W "BH!$U8 ]?0 9O0 <400"BH!$W A?h M, =C$ 9M4 =L0 >BH!$W ]?T 9V0!&KK1$XP 9?, =V0!&KK1$XH"]?$ 9Vg M0!&KK1$X@ ]?T 9T0!&KK1$Y 9?8 =E, :(5!&BH!$]P ]?8 =E@ =Z@$@ f M( H:X0-R\ 5M0 =?8 =E, 8 ( H:L0-Z\ 5U =D$ 9T4 8 ( H:L0/F\ 5We MD 9N0 9?, =E( H:X0/$\ 5WD 9N0 9@70:BH!'R]P5WD 9N0 9?0 9E( H:d M\0-8\ 5WD 9N0 9?, 9L( H:\0-R\ 5WD 9N0 9?\ 9P( H:\0.,\ 5WD 9Nc M0 9?, 9R( H:\0/&\ 5R, =R, 9@'0:BH!&Z\P5R, =R, 9?P 9O( H: 00Tb M\ 5M4 9N4 =?( 9A( H: 01. -9R$ 9F\ 5M\ :BH!% =@+0=A8 9?@ 9Aa M( H: 022 -9R$ 9F\ 5S@ :BH!% 0 U@+0=A8 9@+0>BH!%!8 )?8 9O( =Mz M\ 5AP :BH!%!@ =?, 9RD =S\ 5I8 :BH!%!H E?$ 9P =L\ 5IX :BH!%"y M0 !?$ 9P =L\ 5E@ >BH!%"8 9LT 9U@$B00 "BH!&P#M9S@ BH!%#H =?8 =Q\ 5C\ 9L\ :BH!%#( Q?8 =?\ 9PX 9V< >Bt MH!%$ )?8 =?@ 9I0 9E\ 6BH!%$ I?8 =@30=E@ =T( H:003*\ 5V\ 5Cs MP 9S8 =W( H:400V\ 5V\ 5B$ 9RD!.BH!%% 9?0 =R$ ;Q6A&BH!'2^ 5?r M =C\ 5R4 9A( H:(<9?\ 5P, 9?< =RD :BH!%%( ]?, =W\ 4400"BH!%&q MX )?4 =L0 9I8 =R "DH!%S\@5UP 9DD 9VD!.BH!'0\@5?, =AP 9L\ 9Cp M( H:802Z\ 5?$ 9T\ ;&"P"BH!%&@ Y?\ 5S0 =R, 9M >BH!$=^045$09To M$ 9B "DH!&D^@600 !A0 =A( :BH!%"\@5S0 =RP 9EBH!%-X =?4!%C@ 9IX 9Ih M( H:(9U?\ 5C@ 9K, 8Y(0H:(4Y?< =RD 9T4 8Y(0H:X01P\ 5S( 9RL 8:g M(0H:@3Y?4!%P( =T, =H( H:475?4!%P( =TP 9D( H: 75?4!%P( =TD 9Nf M( H:D79?T 9AP 9L\ 9C\ 6BH!%1P !?\ 5E( =RT 9AP :BH!%L\P5?$ 9Fe M( =E4 9B0 H:@0AJ\ 5?$ 9FP 9I, =T0 H:P3=?T 9AP 9L\ 9C "BH!$Md M]05F( =E4 8:(0H:89]?( =E$ 9LP 9O, :BH!%3@ I?D 9S$ 9T0 ?X(0H:c M(51?D 9S0 9E8 8 E?, 9L\ 9S4 8Y(0H:0:!?8 9Cv MP 9O, =E "BH!$7^@5?, 9L4 9AX 9U( H:,:)?4 9XD 9TH!&BH!'K^P5?u M, 9R4 9A0 < ( H:\07(\ 5C( =E$ 9TD!.BH!%@X =?, 9R4 9A0 =((PH:t M@;1?, 9R4 9A0 =B "BH!%@X I?4!%M$ 9I(! "BH!%Tf M =F =M4 =L0 H\ 5S$ =Rd M0 <:(0H:40>H8 9P0 9I8 <:(0H:40?0\ 5F =DD 9VD!.BH!%U UF =Cc MT ;Q6A&BH!%U ]?8 9P, 9M$*\ ( H:40?P\ 5F =A0 9DD!.BH!%V )!Pb M$ 9D0 8:(0H:80<.\ 5F =T\ 9F8 9P( H:800 &08 *r M8 &8 $4 D'H *8 &0 $*8 "04 ,8 "08 ,8 5H0 &8 28 * D$q M8 990 :@ &X $&8 ,D%$*8 #GX@ *H .0 $,@ 2P 990"0@ #HA$X,p M8 "00 #G @D$,,\88 $8 "00 (<"Z[.B\,8 5,D%$& E[:0 N( $00 $2m M( $*( $4( $20"06H $:8 $:@ ,0H $*( (*( (*0 $.0 $.@ $6H 88 $*l M@ $6H F@ $<0 $*H.XB<$ 8P $4H #J+@)B8 $F\"<8L&N-8P(0H DX "[k MA@#G%"AP$'!@00<8%%!("$(!!A(Dh M&#B 1$"! 0H6'%#0B% ! XLF(&RD:!$"QXT:.#B$8$$"!@D0+%)00(*F10<.g M((C0H( G1A$3!UCDR5,B)*$&- 2UB&!I4HL&&'C0,-4#"PA'+8* &% Q(Pf M,8C P$&"! 4<,'#EP.$K60X:+ B$*U=!P;,26!B $-6 [\;!6)P(-"& 1(0e M)/!4(&$FCL2+83)X?%9!8@HZU'@P8%[;5? ;P249R!Q!@C$0('EX6>11?WQQQ=^#7)@ 0+!a M[?6;@1(RN-]P)DB@@@0T6,"#!RX%P( 4(K#E 0>0 "C%@BD%@ 8]Q%@B@C[z MT2@% A;L)P(0,F!@PGX4\$6 :_NQ98$+Q/U%@ 2*, (.;X:X@(,-#"@!ARv MX*&"!RRQ! (Q&!DA AP6B""&!@S88 H-*&"D!@@D:$ 5!4H(\1"2QQI(++&Ru MVB #"18HZ L5#@80@"Y.)!H #@J$YH$'&8G 6< 0!." 0P8(-#6EAEA(3t M9Q2P6B:%9!(E9A$Q\48!B\"5 TB\;+ UO]% "0&P'"S @% <@ '-\>'P,TVs M!.#'S0X !H(<&5ASPO"PM:N'&3# BH4! T#9LUA#HD4+*80# &_CICV:%>O&"" 1W C)(.3=o MNEK'BA47/5 2%W\"5)FBI*n ME:A]^)BQNC7KF;!IIDX=LC/GVU6=TK5[U08 W\ !B#ZZ0[CQJA]"*NZ+X"YCm MLC]L2O]A T;UZX:?8[\.V&[5PH*[7]6I4S=O[U8A06#N'+%9\. )@X7!@+[]l M^O+%.\__8T;__P8P$." #)C7'7(AY44>3B<]]Y]_$$+XX \PP02?6$ !]5U-k M-*TT&X$$&J7499#H\=QS&Z7P#R2@( ,()7N,8H2,00# 2C\R+) C! "X \8Sj MGSP#2$-S_(,)-QAP0P $__B@3CCNQ!!0',P( @1XK7$*,H,O\4U9#h M#?W3$20&*+I1HXLV"@D(@(!0S!:Z$)(I" A\(@,PQP C ! U/.+)R]8\@( g M'1SRC3\B /(#"&+X,\XF'> R1A.P*"J)$=_ PT )_=PQCS(OB8E" "DXQ[]2$8_v M@F$39WRC&$ @QA?J@(A[\$,1=U 4 5)Q@'_LPPJ*&E+Q_M"W?0 @ #T QC_\u MX;B (*"'=P@(6!3'C&=X#0"'^,,I H&'0!R"!+50U#:4H"A1Y >_^B",?KQt M#V" 8!]>Z$$F_H&!@.#C"!_81R !\((_0"-LQR-;\D#0PDR\@1^;X,<#!A"%s M=^R##J8XPS_"\ J;>0(*BE*!&115C3W^PPS,.L >(9&0 .Q"3-RH(P &<(#6r MX>,!@^ $,W[QCS',@)=A*%4U/.&+> "C 0KXQP,D4(\/3%$ _QA% .CH. 'Xq MHQX=P ?*)$" $"R@&?H(@#Z$ (Q8T.<%#'B!"O'%0@!@8QWUL 0\)!$$-)C@p M'YRX #^$ @N'(,??AB%H@J0!6?JPQ2*ZH0S%"6&&"AJ#H%P'B/\4,<#1+0?o M\/"!1=^Q!T5! &L=P< W>M&/<_"#!P5(PBO^(0\2W*$-%% '/_2Q@ HX2P5.)MI !E4QX - &*#$( 6W@&&?HQ@'\,8@9;X@,S%!6 3 QBBJ/\QS/P0$$8',*C 'C',-[!i MBW< 8@# & F=8,<'!!CB!'KX 1\F&8XM_(,7'AA$. !GNLXQV7 -.$)#7@ JKH@U4:*NTA-g MH((<[RC'!,CQBPQPX!N^,,,XO)8"3/P '];0Y#^< 8>>G XSC /L]@"\(T(<%\&&O 5G$/QX1-@ @@!O/V(<]X(* 4GSCe M'/30 @=6!(!!=.,7;X#LU_[A@'S< Q\608 ;:/&/(;QA (";KR:F.K85]@L*d MP+"'P8+Q#T28H*1W4-L_S'$"?[ 5&\QU!B_]X=!_>.T?^-#KB@8@@# P!,1c MO8@5 =!'2! @# 8(0B$VLB0OH.,/2'E (#XP"@CX 9<:J,0/NE$,-3C3%(&^b M1Q9:UT 8_*(8UP,' 4 A"\(8!N]V$('?+(/,) $->N;2$(L(U[R&,?T_@'a M,J; CG_<@!6*D@ '/O"!=HQCKCQ0% 88^ \$_.$>L+C',^[Q#U\ &1!"?B(Bz MDG: >P0 '@\ ! 3 \(]0? 0^!@ (5C@AY\]' #B^,,/_A"V"&1A _UPARF]D ,O*4&,3SAC#3M0E /$X+5X=$)1#)C6/N;AS'^H$QH,_X2B_"" w M # I_YX(CX$@( #T&, ^ # ,SX BC=\X0'/>$ ^UP:'@;(P#?>D0]Xv M>( #2J#B.&KAS$ XQOL\,,-4$;?>BSC$1\(P!!&U8YS]&$#?1A $ ;A 1+ u M @NG#[K9 V"V9&QC'?>PP75%<8)]_* +D#84(.+Q#B\JZ@_O&MA4 K' +^, /:U@#B/ #S* ,070Sk M.,8!<"!U!> '^Q /*MS (_7!I^$ #!P!IZ(!I/0$!+Z!.%X=Q,] /CP@*C7@&4X +\% "JU8+i MGN!R61,0I_ "^' -H' -S@0$ 0 *(\F,P $N\ *GG!Q C '\C 'S< (T(((h M/K!C=T!H/*9E"/ _%9'"S '^/ +/6D[?E0 <6=V3V1- 1$VQP<$0(!8/ Jg M/[ /7F,&?- '@K )+!@0"W !-C6#,O ,SU /$P$"?= 'Q[ ) ( #)1 (-2 )f MVL '?X ) 1 (^& %[H #ZH #3_ /$%"2),DOH X? #WS ,^P4 #[ #C\ /e M<+!//%!7_S ,EW8#]\ .$+ -P?! 'V94,#& +81 V() /V_ "!+ JQ(<" T ,.SJ>8P@ ^S +y MCO 'N""& ( %^W (][!AWW +_/ ,(U!$O_ +VO(-XL<- # $ST"( X !C Qx M;R9; / (*OH/6<1Q 7$#X #Q5.FK;BD?_"4Q>,+!E \"<$ S<$,&X8!,^!Hw M:,('-/@.^Y,' ] 3V* '[M ,(P >HH ]Q )SW .QW (1_ /(# F("I/@H(v M@/ *O] -3A *HN)^CU!C&]8IWI-%#_ '?W"24ZHHO)2.u M&G83?[!?4) < '+0BK8O@'W^ U@!<0$Y.8-[%$r M^U0\,N !XR ,^\5* Q (A+EA# $UQH!1,9*! .9Q 0-Q$&.. )WW 3 % #q M]] +WZ $$!"G"N -E9 +]8 /Q*!L/Y /': //: /I(@0*C 26LV!% ,[: /p M^B (;S$ 'D 'F+:4BFD.>R .PVD !D #3%_0# /] /OS OQ!SP! [X /o MB8D$ - K-X$#/(( <$ .<&MJ(RD @ZF8MX0/C\0CI@8!&, "5F81"? .'_ 'n MK8@!9. /_7 "&^ #?U $_=<&NC X"( , / %K7 #_O '_! !,W8 H&"Z1:0\m M'K +/L /P0 (/9%=\]!6 3$2ZA8.U#"##' N9L=*:RB23RF&<08!1\&:1LI_l M5N8G, !4,!J=0D CN".H3N]&\8# ' $!]!C0 , "V '"0!K#I$#3K /^6 $k MJXH,A- -YC8#_V ,<_,%W; (_F""0/ /C7 ,G $I"ZE((#MT"O10 (?! 0j M]_ -Z? .S;&6_$ $WV"(IH8$!@ -U4< R"J\3PD$Q3L 3\E*_&=J#/"89<%*i M?]D<)X!8H6MI#X98(@ 0)X!8H6MI@7[X _ /0(!X?]+P,PA@ )YY_]@)>! !h M0+=6[NS] X8 @#%OM_X=^)?DGZT# E".A 0"%(!.Z[Q= P:! <%OTWY\ !Ig MP!\TOUX , ' " . ^CQ)! @("E!D )* YP"I/8$,)0!$ 0@%@*R"&)!/f M0# (/[UA/>OH-$/0$" ^ /@1T-@9V#Q 70 4 !N._;8 W:@D8!.C^30^V=,e MZIU_B?Z%*/C'QX%DAQ(=4@LB[*=VXZ:%]5%72K!W='O^ ?9/:\\?2("\" M d M&( 0 #C@&PK$P% 057N"X'K@T] _S #X /34)H #[0JX)/AO +BVO ' 8P )c MP =@#AH"NL&(Q7-P!O9]NY .WH,:AWI=4H;GWS&MG?JM*DB9W(-MCP#(F5_Sb M^/$.+X@0!8 ?^ 3R#S\##/7+@CP5 $P,0#0% '5 ;!;3]A!8L _X 0 /a M#"7 4S_$T]0 M Q3'O$* 4=@0-! 8 &"" CPVP#-44\4,8(I!X%CWS0?Dz MP'. @'L8THE_GP"S%1FW+//#R+0]8][SSP0)F>8 .#+'^7DPXN) ^PSSPO\y MX'" ,@#4$T ,VED%2&=:;0A 1QU!0H !5P(07 $P+-64 -\(4&)/ 7PB#!A"x M#(6= #UP,Q0> "0"Q#VA+ 3I ( ,8]10S_3PBS=2D?J'+O!T,0@Q)V:RA#F_w MP'_X\,LT#OW*&"T%K$'//0A ?0QP# ) >/%$/;UP\ <+_P#RP307?\"9D! ]\H"U#^CR03="t M_@!/ >@H@("C3_D%1#RN$8#!D$,!XEM/X(H[@+9^_=%43QU!Q&U/_?SS%"0%s MA 4%&.B 4N('\)#PP C['+ ;#/GT\ >=>)R[SB=TZ'/ , / #8=CQSP0P+_r MR/.!-6]KS%)8OWSSSBO@2/6,+S_\D>@/P#P #P403$"8J3@@P@\>R * 0@ Hq MZ!D>I%:=&&@!3@00R\\%W/./MG_T0]M33QD%@[DA]!/>%OX,,% __OAA]((!p M -*')?JL,0 PW/[CSQ2?7&#&AB]P?',),$(F\,<1_MCSG'?@o MH #*"8 \P(^&__@P$#0!2/7 E3V%9]3/.YL(P!E#X0#$$;<<@DE?0[WSC\XYn M<&(,CTX?=_@!.$3X@P'IXQ/XB$X@[J4/?L"N9C\ P=*>X)W=/&4A"\%! "[ CR?Xl MXP/^")$!X+$ ISR@'L\A$0",\(]+;.0X%;,*!U P#FKX"2T"@$(#H* MNRAEk M$ "X 3@(X(]V-& ?X%#?.[9Q#U\ P 00,(ZWO&.6SS@'02IQP_TL<<2LB01j M\#A'/.3A@$%8*R1[Z,=0(/ '18#"',8QF9]VLYLO]$,J A$( "9W+JL4L2<'i M2"(T+'6=$@'@#ZVQR@3 P8Y%6L4 &"C@"E 41HX (44?$\ ?^!&(?.P& 0.Hh MQSCNP0L"', 0-"!']+QBD&\ P+_0,$/SO&# (0$(("'=[3B'3R@:@$(4(!0[H@G!K&):O1A*7X\a M"*J4Z\E4>Y+/\!ED(ZT!0:1< (11"@=:$ @H/TT A!GLBBT. $0^_I /!@+Cz M#?L Q@G> 8X+ . <]T#'*OKZTVWTX@1U^("+_J&*?RQF,9 ( =V\X8\?A(4'y M@/C##X;QA8)P2P$ @"]K P$&(G @@@]B3F#_L9MZ6B5"JSU7$".TD(&L ?-DD.M\+"s MAQT,H!H J(@&@! $0)3!3Q&:F7,/\(I/Y-9NW_A'#Y[1@'?( P;8&< OU,,!r MO@! %CFXAC^2 (AIZ+,>_TA'M@T-B :L8Q[7D Z$2U1Q*/;6L[o MO*-\ACY>40YP!& W&RV /Q;2;D0$@!1HV4I\J0HTJPQY "F"Q '8MZC=4> 'n MW;$*. !Q@2DDX 5-8<0_@A"(&?A!GXT^Z'%^^0_/]>09Q<$'LB$; (C\00[Xm MB% $_O 'GALLI.>A*6/[0C$ (8@0'Xi M$&(V.( 00,! '&SR@E0&6V/0< $(@ ;H\ 3@(";[ 00\ NI=P\M<@)[@ T.h M\ ^582:_$ R/ 0 8H &[\ AD4 X<\ "G\ ]7\ ]/8(+<1A"_,%QAD2C+X _'g MH$@!\ ]X1!!L(20GP 4"\ L?0 _C8!>Re M PR7,! =L0IO8 6[P $+,!*>TU[M%5[P$D3\\ =A00$!L W\D K[@ /Z)"0(d M\ _A0")P -5<0A+H3,[>'D\2#,O8BD+(&^ML !:4 _ 0 +J!@A;L"=5M3]0c M*!)M 7J P!;X4%._@ !0 (;JH157 !U P[G0!I-L0[_X >ST &#b M4$+/\ _)F(Q\" !^"(@ D ,'P -Z8 SQ\'7_,$II12+6 0$0P &B53:1IRU a M.!2D)7[Q \$D ]%w MHPX"$!Z$L _QT ]J$ "@P'IJ40*#$ CSP K\X 6' Q_< U8!@@K0(-/! K\v M$19?,2$L@P _OL 7?t M$ "C(#<#$&S!%EZ/( VG$ [PT *'T(CE\ ]G46?;\$0$T9S-^1K_5"*1\ \3s MV'$%(2(9]GGZ9"GG@ \?4 ( $ .YR)HQ%0+7T Z/, ^H( $-q M^@^=\ \ )P:^XPOP"01_H*$2,A4!@$Y*!$W=$44S.8,", .,A2M8YW?(YXYp M8 [(\ '6@@]TX7GJ!P"B. +/L0[?0 (F]0WWH)4*#U8 O/o MP"YR@$HEE(NY&%ZO4 ^?$ _0H "?D&&HE%F# 'SPHPB '">\%J;=DI*U'$$n M$18E.CM?JJ)#4C0S. 3:@0^\< #W @]^P " $(ZA!%\O GQ(\ N'\ O/ 3Ym M:2GNT#W[Y $( '7, _WT @PD &K2(&8ZIOD\ [DX&&?,(QMP0>!H$]_@$=2l M,4I"\J%&(0#\D4IZV7%L6CE6X18I"@"BTB;541V 9\ "$+\0 X ?$8*,]k M\13528\LADC 0#' X0)# P _( @ =6T1R&\EJ2X1W_D%D1NY@E@V5#f MD0,1H \K8 CEX ,S" DH$ B?JE1@\*63\ _)P ]L, #MT!9X! /S WSX"1;e M=T'+ZCO T!0$B:_I=RKT>#,#P $ 4"+ZM)W;QZHSJ"+ T /\914-0%43T!"Yd M. D <(*:XSG'.3.)R[=^ZYPS&18F:FIY\KNB!ASX8#5#\@_BH$0]<0/Pb MF;DHHE7WL UW\ %12+9>1H'KFU[My M4'=^( &!H!'!UA&IA[WX( $', \Y/!*TL;X S!,&0+P^0QL.H%U(@E2 @ -.x M8 _8 P5@JQ#$0R_( ): :(?= _^JA9#PR&F51"A1 !(]P[?P 7O\ $_1K:!w M\ 7\,'R@X&77\ 7OX ,H$ H!(,A#D71!v M/!6'.FI6L[Q1-@ 8, SD, R/H@!FH!9&D0A(V1,<8D&[H<5+X<$#D2(,( $_u M< V/P [/X -GC *"\ HXU@M0$ AV,Y7'8P2WX,-3X>LA9\5_[=@!+;7E!7&45m M(2B3L8N@U!;RL& U)0@/L <-,!&^PPS]P #H8-HHV8^O4'%RO0[Z, _\0 F=l MTP\'NKZGY \AT1$G>(+Z\ \0 0DIL _](+N$j MH+M!U(\+H4ME] _C 2@-Z8ZAD #=S(/-R&C#Y+QQQ $$ _0RCP( +L"V?i M?)U@7%,6)"AMD0E*(2B/H ]S, X!4 YQ< XS&(5%@VWJ'0[]4 [^X FL6B4,h MQ \\LDM;@@Q 0 ,>#-C_5$+7.0"45,A C#YG5CX^>-P+=@Q[\@((@&0\\JE+g M430"H$C<0@#C$ _B P P<%\C-@!X) 8"\ X=NPGRJS_J30XES@^;D.*O<$+Yf M 4%\ VP\P[CD $=8 '!W!92H3$E!+_^"C([SA-GAA8_LP!\T)!>$ \4I Be M8EKDYB<$, _CX NT _)4 COT ]Td M^0[Y$#FD3J'@, 0?, [VK=."#8< $ _^NMA7(A5800"/D@#+K1T'@ #8H&Z6c M@&$$0!8!=)Z@%M00 GDO#]@ )C<)L7L)OH/ :@\[3CABY YB($[Zz M\ _Y, ]3U=XUM1L'$$3^X#DVT;%5R.X X.Y#X< =<4%BL11.&Q8-W0<-T9 -y M@0T?0 +@X)\E(D2Q$W&. P IT!9L$ $0!@"X8 GGP"JI< 9NEHM1*NV34 P!x MP@XZ($[]L ;^< <"0 DE'_+/0?*>L*' $ :_$ ;BV1,YOL#M _/C(BA.6W3/w M@4<8@ '.]0'L8+[ , ^M"/ "GZ0)+W,9A@0"@ <'D '=M0490 '_X '<&E,Kv M@ EG< CSD-6'L%&?>@*"_@]0?UKD]B![< Z,P #TL &;^N=[/N[*!3A487XP+WX@ #$SP<-\ @GT #Sr MP @WH!8P( L-T CS$ SR$ P0$6Q%FQ:IMU$&(?[HG1L1\2"JC]R@Y/Z'RQ-+q MYP\"$ <@*RHA(MN5EP1\CH KXL H*.0@DK?X \2P &2P '(@)E[, 3W @P"$X#WB\ -?$ Y"$ )?\,d M\ Z?D SM+0\F, #W !&+*2BW6B*F)(1#I.4, "4X-!:<0"LR[H!\ C\, ;^ /^4-Z1NQ*'WA,Ew M^$\:LR$'p M8)[^*@" H$BG=$I& 0*$\ T9YA80$ 3O0,X%$0"TZ^6D0@S_L -,R[0[TGZ?o M\ ?&L1.(6DJIBYG4\>O#H%S <)A6P2W^"@D($$H;($&G" D)@ _@P '@L '@n M@ $0, 1[PPY39>7@ $$ \<("20H !CE"R!LI,@\ #?,!+ 8&0X\ /'"$:Rm M!0P_]$-/D2!U4%/[TQ1!$##Z P@)( )T >8:@BB A=H& *!@)P<"5F;,8 l M4&4$80[_8 X'.!)0HS&__LLCX$_6<;A6\2$(D"+.=0-)! D(X ]Z Z-$ X-k M$ X- ('L+_?,"$C01.'"P)" @D*8!-1 !C8!4$( AM@]1\JCW8 [UD [Wj M4"($0 -@L R;P!N!P #$: <+XM#\$ [TD _\D \$D $AM@[=&0"($ 3I?PN1i M92),4"(/, L/L'@S0Q"I=PZ911##\ _#H'I$V^J'Z<'#O1M-OA1V(10TU'^0h M@ #^0 'P, ;Q@ CQP# ?8#*? )D?('AQX1*3'"&:'%7!X M!X"Y]G5X?T#<]g MT<92_@4T!%K&_SYWP!O , L_\ ,[\ . $PPY\ ,_T ,_8%Z T(_^ ?_ <(f MQ"D'T L'T L:R)W,@C\R&EA_,#/$L.K^I$_B/Q0BGZM6T5XE] T L(<(X ^(e MD ]UL+SX,%4_L /A< Z>H"M' XS,RS[Q@!0?"VP\ 80L!,QA '?4 [', [?d M< X)( #V4 #PD _P$ !/T0MAP >>L! ++;YOT#?W&P.?\ R=\ R?\ SPT@][c MX,'\( A!D%E!X M!@*'M>4K'\ ?'8)D-X0\/X _ "@!9-@S,"1 /X _ "@!9b M-@P##O#[QP\ 'P #OP;\ \ I &__D7\ ^ ?I 3]*MKCEZ"'07__\N%L".$?NE^G_H%CN>!>NWT/_@4"(. =z MGV\5 02X\6R?Q0& /QZ]X\6P2!@/ $ \8DL$!P&?QU36]/@/V!OT1( ,.RMy MP0!,"1HLR)"A0X8[*5I,X _(OUO^/0!L]/W"-R EA+F0)A"P@T"0x M@ 6, 1@&]>_#OY4 3N!;]B\I(& ;ORA^4. @'H!V/7CA[? KSC?=N7$!"B/K\$<)4A +#((B@@3 $, Q_0R ,t M!LWSC(X.$6 1 3]D]0=LL$GUCP#C[<64D7>A]P].*D*B@"'_Q/ /&@T- HKs M4%P#S2' !/ ?4PBTI*( % A0)@!'C_[\$ R #!PT[-O!/!( %SE\X^V#PDLR"_H_-#)A,^* P@#n M@#A@$$)2.33! 8\@D 0"=@#PP5P/UG-5F=_\L\Y5!MWCSR-7@2 )%(]P0]Lm M0 3PR3\_S//#:5IU\X\O 4 !"+ # TG1Y $ ( (*XU1 D!E@&@,0/>7! " J$8#=6h M*7WQSQ> ? $ &/] \\\3=L$!P"O_T$03!L0R+10 20# +/ZQIZQ\XQOGV%E#g M;A.)?6@'!!Z S0?",4'8)41V?Y$3IR*B$@"TIQ_4*E-2X@&( 0B"$UX@#@! f M00,NY,,'QX#!'W"$!0"D9$Q\L,T EE*U ( #+PD!! * ](X2 1AB $)ITe MB:E!X1_W^$<[_I$. &C@'U;I%CUH11#>-&L .$E6 ( P@!]D) *NL8_N-*0d M OQ 'LUJ%@(P\)\#G,..5"LCSOY!)X;@J4D- 6)[UC4 ?. E &!$"!P(\ A.c M( 0?[?*! HQ!"1QX S26Z$F#< #% C!L(( -420*>'C,,@]D,$&C,8CJE)b MX"JIR\BR_J&>]@!B6$DQS7\>=,N2S4%4JU15XQYBD'=P0V=RP@!?SC& <^#Ha M(<_X1S3[^+^4 ,!'!9F+'@D)AT-&B!]@P <(#!$"/8"@(.9 !07RL0\ G .3z M4KFE0<[@#0: 8!/@^$!*+H*7AV3-AG>!@"#U81IPS#)R6.E34MZPJCZ!XQ_Ey M^,<&^L0;?GP!(DI14,G,(:>\I6A#SD JIx MU).R\I! _,,/@3C -?CQ#7P$HB 9$H4!BA" HG)(w M L#3(V@ 4 (,%8:N*/:/Y'/3=[""CZ% XI_D,"%+W9L\# C_8$HT$ R$%.v MLC(+0#"C0@89 "[X@:Z&,. !P(#'# 2[R@C5$(1P["WV[QLH\)_0&("/A'R:I8IBC-994E)$A'S84Ns M8AK@ ?" 1P+X83?[581ECT"L-?F'D%]YAWMRF@, U#N!?S "28((0'R1=+W r M(L,2@! ;Z@ !@(XA4U@:)B5?=2#0[ ?;[0SRDLI@ P(\T@-AM!EH#H0E'q M4QVA^@<(!(P_:UZE(!Z3"+&,1=F]]O4O"DE=EN# AT< @F<2JPA4XR%>@_C@p M20#P0<70VQ"*W ] -$]I!DC"5!H57X0,&1C P,,O4/$_ !C +> D'?D\0=M(2E?_[ '1*_I%DX9Y$]!n MJ4L\RP6 8Z",,?C@AT(""0 /K!8<\O3@>OSA#"/]UB#M$2E%\D9I(?78@P 8m MPFG(45L B&4NF)0!$F;Q"!#HZQ<- (("V/./4U(@CORX&2:YIY@A!*!IWH&#l M-/^A"]4YI"(7(. _&'"S?\B#- ]I7$88LL>( *%/^?A!M _PUM,PA!]9R0ILk M8K>SN^S#']B$S6Y-8QH=JRA3'I0(II-4$+XX*0#>"$ X%N,._0Z@&N > !X j M,8L)4.,'\/" QR #00 ^ <_[( !_,&/Q11IFP^!QR4 @(D#'>B* OL"P_BD(@^9Q&$ T(4'!0+1'/ '&!WK(SO+"P V?0@I %##h MOK1&2/\9TX.>!2&+_-,B!;"F.0ZPFP/L0R'G( ('2$&/'?"C5^^[ 3!H BJ!g M_N5#@&S+HU"J(9P_"T3/< I<#]&H8C]2>=XH^ %6$#P@75G!!Z$!6T+Ra M?2,D)-K#$*'W(/Z0%&/"#@# .\$64T! !3KP#X-P#( 0#Q(R $Y .H;Q H#Pz M"7_ ,F/U$%8%&PLP#!+@!Q70"S'E'=L58RJ2 0 P>YBC%YC#*?^18+1$>*$2y M18$D)X?T