From: M_P_McLaughlin%CAASD1@MWMGATE1.mitre.org Subject: Submission of "Ultra" Random-Number Library Date: Tue, 8 Feb 1994 12:18:30 -0600 --========================_13778016==_ Content-Type: text/plain; charset="us-ascii" This is an implementation of the "Ultra" pseudo-random number generator. Included are source code written in C/Assembly, a header file and a demo. The code REQUIRES a Macintosh (or other computer with a *Motorola* chip set, version 68020/68881 or higher). --========================_13778016==_ Content-Type: application/mac-binhex40; name="Ultra.sit" Content-Disposition: attachment; filename="Ultra.sit" (This file must be converted with BinHex 4.0) :#99XG(*K,R0TG!!"T!!c!Q3"#3%!!!!QB`!!!!!'Me0*9#%!!3!!*Q0b6'&e![m !!!!@rrmJ)!99E(4bB3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3UF!!!'N!$- #C!%*!!!!"3!!!!!!!!!!!!!!!!!!!)B!!!%Jrrrrr`%!TdN[@UPlX3!!!!!!!!" I'!!!!!!!!#AG!!!!!!!!!!!!!&iL!!d18N9"4#"045"'59*69#%!!!!!!!!!!!! !!!!!!!!!!%bBJ!!!!!!!!!!!!!!!!!!!!!!@!!!$Z`!!!"B!0!"!9%9B9(4dH(3 "!+G*8HfTHl$U!!!!!!!!"'X!!!!!!!!#a3!!TbJ!!!!!!!"XB`T19r)V33B`@FQ %2X%RGG!!6im``JM$Nc8**C3FY@c01X+1M!!bi2@8F)#m#-$AXC@J(m&!!(8GSB5 5B`5C()!mJ,j(9TAbY,DkC%I5QL#8m53-UEV4A$-1JV+'l*T#a30keF'*!6@Hfp) 1R6#PVFQdGB(i$4Yf)PLA%MdBUGZ55a+1bG[@58DpNQRR9!L-ISCQjlRhA"GkRj! !S)T&h'#Y0+-rJURNfU,+UMT',qFrAKq@maHF,S48*PKIdBPeC$&0A+pZfS#2R3S 9-Xi@&PYB,Fj)9USKcb'K,6XIplc+4T24q9@@C@0#JdTY81%dlIHA['E(4[*Y[pr V,B6cBU1951Jql@E*8rSMDQ%5'YrFM"-Dj26%1jTTiAfNC(P!iZQ!a2dE%Rk3!&" ZM0"G50id@J'1CfF,85LY!K$B@Th5q'4kQP$6T(4a04PHC#0-%J&`A)0-C6BG)$l L%cl)h@%cNSj&3#YPcSXpX&(Q2jV4PpAL+a9Yk%K%3LQ+5"KfF+8b`ZdTm0p`U29 1Q`'L!4j!***38YZGMd4dr+G9VhZ8Ie*le%FFbE"Nlf1jNU8@3!$34Dq81&JMSrY rkr1SLP6'3LmISPJ$5h"p-!jT96M8H8ZmLfT!*2e,2&M$H'4dhQUFh6K4IqED0U6 @EAVIf`"Ka)LbPH!'d(b8!`ZrE8ZqXUdZiEC!UJ385JS0M(bVJ`HEmbeF&T!!XDN 13"k(SJVF&)aM`-A'UbhV5*S(S!NTP2'!"$E#a!$2[iYTR)l32$Ilk,2SA`mG3"1 3!(&%&T!!JafT2(lA$U*T2B)l8(HX%FNBj9Qcm%FHCF$fGe$b3XP+X+CRI-P(JF' d-[hHiQ'eR02-ZLE&j`[pQNk[qlhVbmNPMV5[&*SK(VIbND2fIZC%NmPi0%'[&80 CG()pQTj5PNf(eeHA'FlQ`i93qTEUTTEk@kf#i`MFr`d0"e9XG(*K,QJJ4NP58e3 K!!!!!!!!!!!!!!!!!!!!!!#aN!#!!!!!!!!!!!!!!!!!!!!!!)B!!!I9!!!!&J! !!!"849K85d&)6!%!TbeTJkG*2$X!!!&F!!!(jJ!!!)%!!!-T("jN3!!!!!!!!,h 3%3!)(-ac#'+JNb2rcN(P$[b-ZlUP5d&mD4iRV)N)'@`I+ZY)jL-PHRlS'Rqr0D, fdc2M0Rc4mh3(I%&,J&TPNRXRCcNc1##RJ`"j)%p12fFNK4mkrbVJp(`PFP4d&1T S*#Q8d-V4T+3fb5'(qf)Q+f8'rHh%"f+H-jSE6Xql[38!#NiTH6a""M!PM!c@Lq$ lm(dq18U1ND-GS4HKj*JA16SJM$"##5@8!+`Hm*S!j!$b9JB`@#mMD'9(d(r!0HL N(Q'[l1b-S)!4Y&$#!!MqJ!qVcpB1A!UV@A--M3CFM,Q"-E)%0Bbi3+!aNi$'S,5 F#BK91P'5KU"'"4Kf@N(3f[%22KkFR4kI[YZ'E,amraD$!$iT"bHAjaF3-b&bM6I (NYYD(BBi8KV"'5j[mmeYJ!0K9!McNUV*2H!b!+PNiakeJLN6$Jd3ZP"M%*1)I%f UH4[H("jp1$[-9*1mB+@mZIB"C@*J1#pCaI)jQq+jC6VM85JJ!,bcU#8iDILYa!5 %@Y!b%m,+J2d+1&@m0#HA[&p'l!@!Y`JVKHr)bGKb*H([1d2V[#-q41[dYR*!%"5 Q9HEk8DG0YQeYEIN,Fp9S4peqGp$TG3IKBY5rpM&jSNF9IIFEXi4b1N3jNbC4ld& `Tph[$8,rYj+j*ZkY4#jK2fQ$"Da'dlSA'E8(BG4q&MK`hjRNjGlH(f$rN9F+r'A K"VM#MB4L*G"*[R5m4U3kc,JG`eGSlc@'h%,+k-iE`bTr([M6&Em4H3&$CqPXaF) PrK4Q&lG5RbJhT"k4ij19IZp8SIm,p$UrpDm9E"aiPV$a8#UGe[+&e)AjJ-jcbNJ @L6UPG5CU+6)C'TXd)F&TXrk8"lbEU)@@c"B[iC!!YRa(SX+8kB$AX*XTH'(JKP0 C3bSe3ULC$pkSZ1@qX#9JV(Ba(@i%4Yq*9P1H82rJ%T6fjFiUS1kLCVih"6685)c %aF3$JjmG5KT4aG-N4U8JA6T%E8,!ffDB0DR%6352QIA5'C`SD4(H-Le8B(MU"#e 5VF!l&PXaEm+k2UA1@1Tb@AdL8iVLKC4LFSC%dlp"X$-9,%c0@qD2GP4eV[h(p62 d'KF!RjTb-89[U5qie"L&Q*1,[M&Q0@5C(R+Mdqj5el0)(X#ap8!c9M-CN!"CC*+ #%BZji*C4!!bEqMciF1Aef8G4Sl&+CcQaY%I4)0N*rDdmh96%dU5V3A40jVe+F-4 PF3R2q6e#cG$IMDehel[[8Gl545bh"e(`(`!!!!d0#e9XG(*K4'9YEbjM8e3K!!! !!!!!!!!!!!!!!!!!!!##aB!!!!!!!!!!!!!!!!!!!!!$Z`!!$Tm!!!!@!'J!!&4 &@&4,38K-!3#R55p$TdP+e`!!!9`!!!f`!!!"!3!!"9PI%eSP!!!!!!!!H@)4!!J Fc(-)BU"qCDMFl[,8I(GXGmBiL+@aj5T$E-,6d$*fP11ZlRp(hQlT8T!!4*V"I5N Hap*%K!bf$j9eT1K,1kch@b0U2j1YN!$0DjHS9F,6FU4kDZI@VjE!q5,*Ei!RY86 G+K$E0hrY3ZfL"D(fCE@R*lp4lZ%ZekLTZ$(N`5hlHdM1j&YdIQR6X4FGhDCFlPT 0aaeaI*Xc4UIQ6(J6U[I&q4T#,+T*Y9V3Yl#MFM29'AeM(HCVrDDkV0cSj+ba&b9 R168FN!$63B!mN!!RTjmcNX+,cVm+1$eIL4`9(B8k'NN+*E4b0#QT6A,)iEkBb8U C3Ar(qdV-FdCc`qPj5eJ!!!!,6[(Nm33C`(aPK(EVGALfTYADFpHZb,-"BC*MedP SFM*K*f%%B29F(i"U!,F5J)c+VL1-S"qa3(9e$6)*j8BMh!&K&aPc-Z!%!C`mAmQ Y#R6fVDp'[aE1LJGbDYSCdHhE4!pI5jZT8T)E5aT@1R2+k*,-d$r`FP5SJ4Af6C[ SCq(8XBbM4iA"&cfLCdCT4pSiUNUCYfPe2Bj[+*d995jTTh3jY0[MHqrH+(2qT1& GYXH0+)V@9qQ"dHk@Sk'a)qR)'9VSZ,%UDDJ+qB1hQCYU8-M)'5H+IP`B2BUHL6) 6aEkCTjdADAVBMarY2AP)dHT`CLVAMf-%i)!aQk)`FmBhXbD6H@8P`CV3X1UNP5@ M68J8!kNFcD@B*16`UNj&(&QKFc29XP`'CD"Fb@lb#RjSm#BN"iPj$$m*20#`8$0 +1j3K-59rQ+UL30ELb+QT,"Pd+5A0aa*q,#YQ!'*PEFUlG&+l-9NcCpX"pUf5$U` 5HP5!5j-GR%3Fd"1[eZ8d`EQe-R2JA-kPE3%1K`'5H8N$L863#1%Q%8FcDBHXK#K 8"6b))@+"P0ZT+04[5,l480r6*#"[&HKa$+3Qaam6fU-4'Z(5##K8PMaZEakCml& bBJ),BJ"He%-ZG)9RC'!2kDLdb$*C5#XFN[98C(YlQD+GJkIh3YXF'jA6,eSq9p0 C)3rJTpQ+IiqMZKjbUFfd(dHq(a3q)1*4G*4-8!F4Tk+TGMYpYC0f`Uq[eYCD"2e S3V[8J@"31B,+%96k4hL24hLqYKZbpJU@dQDVcqAe@!UN#B)(3KAP6d`S1UqPbH( D'NbpVFd(@lXR[SBc#c[$TUqXT%%V4Gj)cJ`F(3DR9Xb4k%UMGpMNKHj,r9)h@M$ UqB0Nmma$jj!!eZVqU-ZbFpKDllBCpa@@d-Z,q+-KG)jDUI!2TD@Pi-Ede6P#5e` 52cTNqhMH1QG`G,JHf+a4TpeM92m&BXQ(iFbjB6rPiQeG()[j`hc)9VTQM5pF8`! A@LRYSHJbSj&YQ$TTPhTm4%2H3p&8#Tf8DM39bm**J+NSAk5E'#1KHP!m%6UIKEP J6M)h!IR*6VVCR`6`3AR#k9PUK+lUA6A9XSQfQLfk#@$FA!X,[R+LFUjF0SE4S)V AQ(fGZrbTjS&'D`DbVH#()@jdd@eHC'!aKI`R,jhq,Ffeq)GdpdckpMr5'epFFa9 [AL[IqDlFZeEZIF(e@ARcQqIYDq'Ylm,9YI,f0f8da!IK(lrRif-4I#f45UZ2`Pm Vj2J[iI-#Z4612eRqfKrj*mpeIh$,,`[h9-iArr,K+B&VUlaAQLH6iGVdHI9FHT! !VfHQH@Vi[3R-6&kDlcE3IKMMBG4MkG#0PI`ZVA66GVTG51bM")m5lpM2XRIU[#P )@#[Hi(jdVekC(`E-jA,Ej1Qff#4AeNl(f93S(ABmRh$iJX-iih#rHX8hLa445lX EGhUE@p[p1R6mVSYhfeZE[6XEhE52L`q2FGbQU$46A&Eik&1S5AhZ@Yk"Q0qa`"d &dF+5R@(b!5lZ&i&2BmmrFA0rSmR,Z`4-K!QUmADPU$"+UdCbma61fFFZY-)8j5Q j#l-cUC[KkV@idc55aY`R+FMZDB8c4Tqc$),hVA)+ZI&hVqMLeJ(0"DA`M2JGh6I mcA'F6fcY5dlIFbGXF!G[T6Jq29M9aQYF&k`1j(6@cX8*Uq%FB'5ckCIdDPe*qh) UT`0T%rrj1ICiq2*%kT%E*m-CdJ$II155`@G@'!a`IKK(bcfHRS&G[+,d2GI2N!" X8%!Aj[mbZZ$bChlU(r2NQmK!C"-5)e5A"lYNL3+iBYQpC,N`M$l`,IJr!!!!$3d 49@adFQ&%C@e[,QpeG#j[FQF!!!!!!!!!!!!!!!!!!'8YJ!!!!!!!!!!!!!!!!!! !!!I9!!!3Q3!!!"B!D!#!9%9B9$mr2cm"!+G*5VfR58a$!!!"A!!!!G3!!!#e!!! !e3X[*A%!!!!!!!"!)"%!#"c-F`KL!#"A9UlqkCa)AjV(-@K*28-G%pTeFP+@3%Z !3Yh5T5#*0)2lH*EdFC'U8jU)N!$"pU'bMT68*Yj[MDMp6,C#0YFXbd&A9Zld5%C %C[V5i2h@3cV&GBTQh2B!ZHGf1AMq`,l(9"paa#G0QfmdijjmXGD-1L#RJ`"j)%p 12fFNK@rprPAm6Vi515Sk#R8dNK4+D19S8P+Ej*!!`hdaNj8bTAiRAm'BjicQKY2 ce,)!!&&!dlLKNVa8'U@!"Je58P-DJG68aUT8T4)S8aUQT$CS!*30'U@U'MI-ZDq T9(aq6D0T$"US0!h922YZ`iENEEZ"8!K535Vaf!5TbK5J*+FUND0hZP--,dcSp)@ j)!EZ$1a$!(%K8#Y9#q6+j-B09)dDUe-*Fl0"S`BDYE+"VhjUUY$M$JD"'b&h0T! !bjX,!5$Y9*6mDd@YiPmhP"VqG8fGmlUCNK1UTU6NA#@TfMJeph8l"bK$DbN0Fd+ E$A*N+VPCE!a8+CTFLiTkA9r9I9cdY33!!!!0$3T9E(4bB8aTBLjMEh9d,QpbC`! !!!!!!!!!!!!!!!!!Sm5!!!!!!!!!!!!!!!!!!!!!$Tm!!#Ac!!!!&J!!!)"849K 85d&)6!%!TcFFPkG+h`8!!!'Q!!!pL3!!!-%!!"3T*h+,KJ!!!!!!!+!m%3!)(!` k",(&`HamcXZqkBBEETKiF`'Y(h2HRf6VIj+R@lS8T&1NRbq&H"ac%a%bf$j8eT' L,qf`hQq0U2e-YN+1Qp-[q[j%kj'j$h-FQL4-BpliLl`kreN"*r`,XJ-8m%!*J') (`3A3XqBi!+rCq++S&(0p0mlf"B*Gc5L#'8D%2$RpR*%8VKHeEUReJ(Daq4b&1KU A'1VHcG(bNd)*V4aHQ03Q1D6E&emjCbKqXY%UJ1ar8Xac4UX#XYm$&J!!!!e19r* iJJ`!lT&Eb&Uh2PX(6BVfLh65EES3QYcSJ"Z8,fa(m$h!qV,$jlAJ"r4b'b2SK36 T3&IIpef6I@6KNAf%jr,N&m,*l6Mj6@iKNi8XC#A,bNkmRU-Hh2[ARm,[i[MmG&I 9,cZYpKSqrc$-mmiR3DV`RkqHqi-JbZ*dmZ"jR-9*(2SUQ-j#2G94jQG"(+PiT,+ *9KGKP[KUPZTm'$F62aV'8br+ThfGU,'1G1*MZQSfP3a,-9Xhie%6(jYqNLNrj4k GcS1(hCC54jP+p,rN3D)"JEHjhHkf(faZEfph9"e,p(@@k@40$5E"6+8kDhRHU4l T4%F$c'Xf2DqfRfMZqfAY44+2@ZUCMT1a"TC*kSr$`&H!4qh(cDXiHD16e+[KGk" R@BXJR"(A0!X'jYh6-%k#S5r2J()8A'*LN!"Gbf0X'JqekPpr@6Y)@ZTj-*Mi1P3 [m'P`l1IM54K%-ZMjdIRT)9C1CLhcr8bpl2@fj0[@4RF$6m0d!X!9pM!6"XIDMaV UQefPZYe1ZfXAaZq`1I@$m%XeR8d(iDqQ3CES&J#f!ek%fNqemJG[S[JUe%-!6mS 4Dm)Eif15!M+&1CG"0-CV-(fLr5'S#Ull!c#Uj[dJ$hrpB4A!dPcq&#K*63M9UCl kbCY8JEH,(iFD'4U3!'&A%)LV*!$a)f!%AF,6k)hD9ir1Rcp41VS-NMLL*UPqRUP d%ZIK%%)"'I'(3AMYcH)NmrZKKVMXTUQHpN2JldIMh!FpZ&bHkU(+BJ`FjJ1Yp&X pb%AHXQ$+UEq1Vc5Bhr!`3dGT$UEDRB)`Zfi!L@),`@HNVp3Xp+P))fM@+)m'A#I &JPQH41#GKb&Kl'F+ciGaEX!KV1183&cjf@#LBU$*q8%d#(2`J%`Ha@%BAf(1Pe5 kH$S,3M!hRTRp1%d88d61U+B2Y%i2[lii1Mdm),GVDI"E(BrUCZde+[h!lY%dHkL KRZPS5%*a$4%),*&(k8`2JP'JKpMM1#C@I#p!iK0'V%0D-ThLq9'8k6'eKXqka61 [p[3$'FaV8U%If%9QL@i1r$3M'5",A%@QRqSaj*Pla5#N%i9QmiNkD$F11Sf$EQ1 hhGMY0*kqD10rrYh&rch1IVPlHR*dmZ`,TICJ3NKL,'HK&b#62$*1jN"2ZEDkMR2 38kH3!1DK9kZ%"Q6GRqM"'e!5(*Ba)1X-I+9e)R1#!I30qmQ!0*r03Y$'Ued&fF4 SlJ`D$Id49#p5aj5",m*$1H*JQ53D5")'X"6A`[8T+$`%#)HA3$r9HJS@3HKU346 &Jcc1-A3#JG0T!lY$5D"1%--%cQaX4"p#8[#`Vk%S$6AeVlPqUUN3i`Jm(rK3J*P 1S#T6(ri+9"JRrP#FAmY6aSqm&rGcS%0TH#rU824EE6@+YB6$N8AiN!$'8he&*Pc k58!0*e%p[S3S!P*+,Yc-#,iP"S8Ff%'8CNNZ#d&'"YL2FJ'KZK+Lcj)B3%kp9)m ,+b[k#dQ`k!NT"!)INd&8ie'EREDD"Q&)!-(`N!#UEq3FVMBDqXQ3!+Ejk'J3U$U %Z'HXDhG0#I(e@kK9+LM(Sj&!3Hbj#'NjMBGjU$dq%aNk$[T8)I(-rK4r',KDURl R"*KGDJ9rLJmBr5+'5Yi4'a,&Q9L4eTTh(T-C34L)IDA8J88TeQmXpLBhD!(9"12 lQT+5pl(r)!1lS'XYjIdr5TcM"T9L')cJZZ'q)3&+19'R)04JK*-ieB-i'N,Qi%l fX5Fc##A6"0Tr$Q%IHPfC9e2V,6($eFY1mI)KATD2JA*RdlkYUDkmVTjZ&%plV8k e,GjZ9e2&6TF[Fr2d`mZYDQC[ZBi$U+BkVFhUD4i>[11QB@lbl,Gj[BXR`i,#I f1UhYkQ%jX[Y`X@-%2EB[0pUYMI+KIMZ,h5i2mE"mH3B93iL4C1EeqRDVA6iqe95 #m[Rk3laH(C!!!6c`q,[V21bMUCp0@T-RRQF8@Rh2M4rF-rBE)SSmb+4*%(eI-FD )S%Q`,H)8X8kY*SD6XR-aKPp*Gr!%hK5H"A*&p9!A6mp1[qYY[@TFR,hF-arS,"[ `@AVB-Apf14C%&[fkk#GAQ('GbD$'a6#ImMP-9-,RpbjQ@B)(l``d)-`8+B*1GJK FVfYG,m(aM+Z@R@480pVX0GbR(RDhRlCf["*'H@1`&#iNb%8#`EXN2,Hl39RH1UJ jG`4Fqr#96D4*SkbC@,2X[+Q3!+IBee'$Jd0r20E$jY1J(dIq!1EPmd6KN!!!*$k GeUh8`jYCKQNbM*p5pIcLl*bK$($0!MqNJ6@Qk-2FVQ%"IK(mffpe%X2qKEPK@%& C!`PiDa#*N`5'$F$FJJC5bi5lPU@K(X'Q@kI[k2-"k@)SS9l1P#I,J43-'BJ28b4 #8,-a$GSd$l-!L5R0icTRPT)LFkNVK[+j%EJCM4`SL`8+J%4B(Y`Ve(S%!eUAi%C FA!b6L[@-DYC"S*ZXmappZ2H'kMamf'PiY6ZlkJ6ae(lSTf*T6b@Y95FQV6A*(,h dRBEDM5)I$KG$GPeqJ8LelrIT+!(bC4bf9+IH@fZSpHjQFhfl[GBbm5d45TFk)e$ !Pb*BC8!f&bVPKf2NV0PN5YMT4N-i6&KUmC!!kXATb6-D9UBDM(ETYbdA((Z[*JK IAA+!*!9qFjj-fdMDTP"#AHmb$Uc0,KJP4,b)N!"cLbhQq$#1CbB-(f3jeVT@+A) "RAc"*Elhr(4DqaikF(bi@cLYPh[)RfUeR3VqpLXhBk0EhqfX)D1#GX`RG(SFmIb VE`krVYe&NXAh'%"(4(T,F)#N)mJ`jHaLcbe,q6ZJNl16ZcdNB'BdA)QK!!+GAi& (F+`FdMUZeAIEDrI,XI)#Q"adc'lIiJ'6Y1SpXM@1Z)mA"hZRZc@NE'DPMp"AD(5 k"4UGhJdDh9r3-([FFFQ%m3j'pHrmK"4pIF@Za8"CGIIJi0[jSQ100,R`&(BHTaA %ia6m+'XTh,@5+CrB8,f"AN%FbZd49"Bq`2#pY%HhPU#F1RGBFbc[EMjXEci%RS+ Jdp%EVD@DPQ6SE4B8l@hG8,5hT#KjaF%AaaH93KaqGIT(fM%!+BP@iFD&K6AM%)B L&#mC3H8N&A4XZpYChhCmZiEVfe(Vpi#5XA%)"K$0S3V"90"lKhqP4@*d!i0N!QB @@E+VZ-Qa,NYZU)[[fSe1GqZ9Z!'DbY,+BV54GN9TK`C4bTBi)+%9'-3BrMfQl$d rDTh9V,)*RIV`(2!N`BL"h)d#&jaIb'8Tq`1d-a*MmNZ6MC`)`&Jql3NT$3AhpSr *`EYE0r1C&9MaJVTpc4'9h1$9kIQC%q0r1$XYdb#kS8r)FeH3!0[!h2(He4DN-iR HJRBMT)D'Gha-dM@lRI@YpHhH*TKGI#),B4X4+m+I3S-''*[U"Y-#e`&B*"q'Xe8 'iPCr6p[e*@f*4j8#V!JJVY9(3dA(-lIhccbVS,VPfB*Q)J1I15Cj%NK@Kl,"NSY "mX%UP"(5e+Hi)e*M2`J,GMHDM%T3XaJ%$+54IXrA3f3HS2(#J)&9"6H&86Xa#5, a`UK%[284#4GQQAdE@qG`rYZYM`@2q!,V'#&1&B1G"Q`6[RQe4%YKaQC#2Xc!PDT FHj'9$`(&&)C"6*%dI&lRb,KBKQ"Kb+XKfmFDE(FJZh"e(3)*m1F34fcd&$`L&NC @6#eR,VQ3!"2c#(XJcM&j$4S'1Q%q6S%fC5"*48bii(+"Tk)3heVU5J#)BJT94V, qR#fccdU&je+dQ3XFI@-P9lfIY8P'@jX!$*cMrDK9cUeK#$hclXN"Cl6I2RhDPTr Ba4d0Y+IM1"3qrGYLXhdSTqH8dm#NXT&P4Z-""$$M&p"DF1D[KFF-`M[S(J5" 6kqE&fSjRPGikeErTUN@U'QdMIq2qIFJrHNqh+!Yk*D1h(+&Y&)$H8SSdRC21cml Kdi`R)kAp0lCf4'ec)ZJ56X-ILifP$hikT"(+%X4KBd6#0"0LZ1pZ&fD224AdRpJ 1NUhBPR#QA+)!b49%AFXKP'H+#SU"528U@R4[l!C+#$rDM@DRp"Y&9f@%S%k%eiI 'S8)e5))q1cepa"+hTYBQFR2PPE9A5#J[PE"5h[9IP2I&FH%a#Fh*i6-JBm82+j2 N$KEe@$9,K$L*5QN(@Bdjk'#+hdrV"dKNV+Kq9(01Y'i0CSLPU%p*`JS!VCI1cHq e[VH531XAJ[eAVGpB6D(ePMkV'E5qGk2eC1DIaIkN2XdE5'+Q2N4EqR+'cDDH"k& `h,Ae2H3$!iaP*FfI`CQrKAI2@(9G,-a@`&chdIVcDZ5MC3e82Nd$Ur+--D`I-1X KNdGGh,3YTcPf1iN"Q2MpD5je3IBCTdK#%"5B8!$"NLQY'QK-CmF9!qBf4!!b$`# m'FTF$IMrYcQ4F'VK'k6hBp82p$@Y$PBkN!!a&LP9+EFd&-E*9q2RULR`h,--Z3r F)+"ZGHYEpXj1ZBiYQ#&9Ii&UIh*(6A8fLDN4cMhC&Ld4+%DqIbkHTRK"T@IXDlA 6p'r0#2ZJjbE!Xa32C-,qmaGiJ-M4IYplGQK"0cLaI9)h4Q-0&ULMQZVr2eKIV'r E[V@Raemp1c%[jUX@B$J2*Km2MVjC!R(fpHQjHcc(dFS`qmC&hp-S)0hDBK4*-lF h&9Z,m&[FXLQjJ1eZJc1M9fi(3RG@JrcFlY4aSV'`*03!@@`8*%Mk2YQT3JdS!(m bbR-RE+Mr0mq-bE$-q1XAaib4+`N--lGDfH#AXISIl$*HrX8Y5ij--[fA"5EcC2! +#J0FmQ(eJ[mPhckd4MVrhKT"@i&eKFUe&[f$@UR"TT`R98%k1@QcfR-5&e%BJ"l 6'$V"1JjX+"YVa6`iCd6Vp,6`YLB%reK6!9C9hd%+-f9jN@5`048%l)@0,)-S5jB 4fJ"X'q*DJ"+erS*c+T9`2Hf+SG5,AKI`%DEhp4iL@2@,E0JXm%$ALKQLJB$'ASR KT36)jZGJM4XjDBhC*K@f!!%KLm51Hj!!RrF0,cjbFQepJp39$#IZ'U04'ZZU)LE G*[2SYJ8MG4S+mDIfbe)qb[4NS4q,fXZR)XZ5f+XDLLccXX#2TD*9!f@A*DfNlrm A8@lfZPZEf`hqpER4a4AH8kUlT"6f@Mh!U)r&),IdcebTF2U*+a[rCQ"qS!QQVhU JLC1GcXC2XV2bJ%VE2kP1TlYY1i6dJl"&R'5[Ap@+eK)VE!J6&UGX6&N*TeaBYQD abK4mM@Gd@1-dc$jZGF!)iZK(L,ielXc)lBf6VmjY-Bj,Z-XTLjUFAC3hGHJT[*V d`NY`Fk!V*dj-q@+T!i"q&8-"FP&T22cf[2Ab*Ndii&%M!VXbSFrSD2+MR(Bh0U` #52@-Y`iN2()GGDXP2%dP@QC)AUB6[&A$ibY)+B`+Z$TGS3-I'3TJ*'mZ##qV9"H 6LRlkbSF5Di(c*jU[4U!alkZ`dHL1kXKG&CH6QZ5r@4BF*H#addbaLG3'Pr[)amJ [RP55La4(Ce#%UTKJqK$)*FY,4ZC-%5PY#`&)ehPH+4jJ%CP`0C(l6A,&UEUj0!V 'TMZ&"9K3d&'-Fh+Q3NN6%%&P9(Bp`bi'3A4P)5mFYGQcQG1SV'h+Y4p)TebRHRk arqXLpS&M!'+,P,1SCTNUKR-`[0l(fhr")'$M!P0`E-Cq"6"l1#($9ID,@f))JI, 8RNc!A3C8)34SRRdcYi0iAXbJ4fkJ&`*QD4426D)M'1,d#dlm0I-C-f`j#FMl4qC kdB*TZ-L!5flPLEKpSjPf[EN3X,CKmr"Pj')2FM!!4fZLAPmdMYGZJVjbfQB2J6V dCVPU89rlX#UQrqqUKE6ah-qIqcU(Q"#"-VJSJ1D1kqcJ#K3UHK!!(2h+8EPQ*jI b*ReGh"d8dNZMKdHrT-L,%82FNN'*6ijh'EmMK4TdDH`Y1kmfjRN1&bIq[P)VQ,P 'cIq8D2kcZ!$HVkDTf4B&'F*B9Lc+&ST86XchrfMT,8T'+idUZF8YVi@YVBjiiCh 8L`ciFN'Q`3qihXLVFBL5T&lREQqidhTL'Q8C00d5&1qVbK)N2D%(Y@mJBS8Ej5i ma`PlbA!+IL$5Z(bCqQ#)(28L,R,0Kd'@-45ff@r#rp6eq!#,P*EN-*hGY!+ElNA fi@86fjfb+i@d(3fCkf+A"4p+kh`9T$!kE"XNU!*JV#aL$`+DBbiCY-UYDBJLMHB PCMD0S`-UUP`mX(KpFb,XZeIF&Ji*RYM93a$fJ#bmbD*bq$0hpkbS49DckE[d!18 mFeT8NL-jeNUUm"SL6h$DaF'VKC-%VaJX)(3JFH1)6KcR&$Q(lVUJ2@$KY34hi-M j2HB,aVp9Tj)U1PEa8RAKaV3CEqrH1%6,icH`!GYP9S3cTB+B-3!IlXk8KfADjV! --ajSiZ+)8mAhe3MB!"9J!i6qJ%fKedFik30*CM#5-cJhpf'Yq')JQi3-0FV62e" LFkKAcU[bPKC2H`VllC!!mR58*EqFSC3*L''5CR&%daaI-rHaV&rhDX9CYD9H'&G I++2F#ABh)MpB$r4S@E,eDLk@RL[ce55'1[e4mYq[CPJ##l#m)b$if3"V1I"'i'q %bUc$I''"-G#GcU43P)G`V!a+JmCVHYFDl(2G"M9F'TA"a`UhXRrh1e@pkTTADb) YS(0D[r02%BjM-USB)hjM3BR8Jp3+mBT,"epmFBF@'4G6J%Z(RplKJLUIei2(lCh J8@pV*lKrhbcQ3%*VXFfK-ZEeiejhjr@6pXlVCY1-Q4q#8[FH+cRra(R9`klkcH- PJ%qHU-k'B2'R-BmHUFk@'C1(!'+qkfm@arSiSN+XARcMTL#3!+UhhfkE@+1YrNl PS@ce$[qApmq#9jMX"JXjUPb(5p@l,Ga5hGMSEDlC2c'P6-E)P0C'&Da9RkT"@jL $#qJ2d0`SAKPrbrRN@T&-&*!!ip5Aj@&4!F2hCVP@*BV-jri2!!!K)399E(4bB3! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'N!$-#C!%*!!!!!3!!%*N!!!! !!!!!&J!!!)B!!!%Jrrrrr`%!TdN[@UPlX3!!!!!!!!"I'!!!!!!!!#9Y!!!!!!! !!!!!!-''$li!!!: