'=========================================================================== ' Subject: QB RAYCASTER W/TEXTURE MAPPING Date: 04-30-97 (20:15) ' Author: Andrew L. Ayers Code: QB, QBasic, PDS ' Origin: andrewa@indirect.com Packet: GRAPHICS.ABC '=========================================================================== DEFINT A-Z:DIM SHARED K,S,B&,Z&:V1 'Created by PostIt! 7.2 SUB V1:OPEN "O",1,"RAYCAST2.ZIP",4^6:Z&=25374:?STRING$(50,177); U"%up()%9%%%d-%K(AfGks<%il47%%mZ%%%1%%%%wf&(hfx%yWSgRfxf*rxBS3Z+x U"rC>ux\-F*r7iG.N.SaQD.mE^$WL U"$BNGPh/$tlNcrV9No4w:dmw0tNW8t=mx9]BiD(:X20OiB9:q[kHPgG6c.]V\TOq U"%:BC&UGA5lG_Eq:E9Ap-2O-U'j^2%Sv:%MdE/rCHG-'8F0HaeMr+vYa_tm^;Q\N U"Kf#%/B$KA(8TQnVBui6V^rjMhCQx_u^5],8)D9qNB'0Fl+>&0PW)qLtU(-JHC]pWI4&,Tt U"R=;Tv<;tk-:>e.:0RPc5VQqSo%MvV#R9HCoMGiMP>l#[KX&>b#_4CeYex%TbHfZ U";Xc^.;D2ZGc^afRvIaCC/Qd']qlD.(0SWFC*u7y*eM_HqYsBZ,0))olCRBsjaN- U"t17xYL)enDc:)jhOS7ua*eQSc$>K'8Z0Q/4C0;Jtr6&v:LSdd5#oXQ[uv#0NIEL U"^KG.JTXyo4_K1p?ekcUu-?pPlTX_L U"=>1tcI+KR_'gG\k.\E%iE?epqVW]NvK6b:li\O2uf U"i(3)b^]lY1i39,^Cc'xqhrV'K6)ET7r94.JxS#IV.,xP>yj4:(]Wwm_E?(L2>cB U"4\gIZSJh:)#/pFzSe4n>DG1v'Z8XKkQI#Rs/_BiU16%Q\VqFXdW,VGDi5c$qaii U"m3Lk$u3&Clxf-pu8mhh\DNH>NFLM)u$:iHQ=/BdFCy=ZTfsPs)B09bcca*Y_pMu U"qIr8h#[#7gEWQ;VZ1)*gGekHf]+:)OM]ZgAsnQ*2Vncm%4*m%^KLM/ktccfOhTm U":.1a5-lsJv+'M4*xKR38Ev+6R9\lVh>c?sZZf/.Jg_eVuDvU*lhHYZTc\6\nkUK U"+ajkf9<7MHX88%an8Yj$J1rjq&R.bZ&qtanL\Tj^\iO&E1c)7l)QrRecQ)5kU;J U"xasSN\OO7T0VWy=1e8jzB4P_9*.X-CgY]^K9_'*TGPI4U6H/)D?[(4AmOF3%>T; U"0).&*oD/(^oNxq-tMa5vC)N1XqHg0=EnO1PWBo9&G=4\n9S+MLm=->-$VM==nkHR;o_I0f-m'R$ANJ6; U"^hE[Tn;HRI:#,:tH+teVs?UwFVkN1QEZ7YUZ4TR/EA*c.ud)ONC\5^rfEe4*gqb$>qDaJDMPem7Vkgv\FBVg?I&njd#4XNE7hB0*g4ac$Q.A U">K]*^,#+G?\cfe]H3(6Y%Y]pK_L[S4OME60M#M)t-s:,.:QA)WUS3rD8xzz-0Zy U"B'_xWqth/a$]+8X0ubYofnl];sg&SGKRd%*)SIHAAp?4.m1kk4*t7pT]1hxMv[S U"e$_NdM4TZitOXSwSAZ\b\&ZbU.PqsVaF7gfje3K<2T7f5'Fxi1rIoH-AL2?*g U"%+g-:wkM)TWXU_F]-WI:A\*q)o+hN[*gbBSc:?X(qzuoE3&4DIT^+BHx&&UV%PU(_*U^A8]Po*F:tGY U"s(Z=Z5'[?Ef*LYIiqxVCuiv4pih-X2ttd;\^=;)B$;YQR'?sG6ICbu22r:MMt,- U"S%LLt-*oZtMhc(X?V_ew0A;2+N;azAT'34c[l,2l;I4=a^K9I>U?&b^=x?q(=Ze U"LZ6m0,'d=1oAs?2]uuo&Ya+Q:ePR-dMugG]EVY1VP\g5L7CTQcbpxn.-Ab,&*T_ U"n7ZUq:hYy*3F>mcc()[/B_yQP[Z&=ULHw23D/t(VkA6L/6WUNXicpjS??/.4sE% U"G>M[mZPJJ'[#.T;Xq\jVO:?Nmu[VD<$Kk'iAyG_DNfIgA]DlQu5L8,m0$HFKBMcO+fD#a7T1v*EQP[Pr[S.ESD]m_iy3piH)#8/[n6]UWI9g U"_%GAngOeQ=&o)XFdA1vb2($T+>MA$1k=#F,t[D:s(e3dum:W09T^PGi?<:&Ni3r U"Nc);fp7/Km$E#H$nj^m-W#Se^5Y/LpuWI6i(72nx,1Dq3$t8JuQ16s)f?5&'#Q6 U"oa.cN[.ga.M3zh2[U(E.Mg:fX9#H.21-#B-D7)ws[cg&M/YlcJwuK%3G\6YT7TL U"ltwUSR#GTG+I:yx]/RUQ*KHkUGW&Rl#oZNBt]?;_19ZL$8$n:S8WgLhjdD]Nq8- U"it#px[77X3F1HeZ3K>qX[M7b.J*?+7\Rb/BI6=o_q=d]0?rE&TElG$n U"K$?;7)KYd1DFZLXM^['rXBM2LYtf6,8%V\Lj(dO*hfPs8xfLeH.W\AF3BegvJib U"rNP;Tf^Dt)93-EaPiOegsY7n4a*mu.D)Dm)YK=zV]82%KZjPbC7,keLVtOQqmOV U"BaZc?YBJDoGC0Y\]-=+:u\pB5[pV'bv^:>W[OB/p.Yu5.g89Ggt;an\j=I)BK=/ U"Z:/'B'TP)n&3Bukp&.[-QT;L#0Zti(25/a8QSHdMuwejsKzN)9xFx]DTnN8z6MF U"uFcKdYuVMfGC=GU[e#Q)AOXF2<_vBp\cCU6hi1ir:nkoyXh#JN&,27dl-zoBH_H+$uMFuWa/D1gIhGqdSt(8JsSX8B8d57Wjo(X U"sK4eLiX6#3l]4A=lD4c-=\Aq%/#S6>8rboz?]JxNfdwfI4Z8FlKTwzBqet%2i83 U"&BYiDSc>_BvnMp#xoZ+?n5/jo()6+T>6I9rz7BKNEGBS5;g+I090daMe-m(x8Gl U"[-+OJmyVt63.cX$T:neDI>#Y)VBF.kr=a9QpU,Eb:BR:cHRh8$3rMpFBeQ1]tfe U"eRm+P0%9]#-]jFk'+psb,tBrR.AjFr=WmBWy[1\Hnf/e-(')\EQ.:7J0dawdZgx U"=u2CSqu\%0]gbm\2r3bS(3En20sxYT3MqDKGgxJaC6QDDP]hr[;[1EeT>Y0*M;s U"D',h,nShe_/eb]OoZR3k.37DieVhEowXafRas U"R-c:_/MK^RjI=aqp>(#B0,J\r(yMXxt^O3(i)?EYx2ofdJIkYGHaS2j?19B\Q9V U"Pa(_smA]R6-[+xjK.s7^U$F_[]Ey,coOz'2hwCC1F1HH8U#T'hKwP U"J^UNS4?VY4w;jS1Z/sDLMpTIc[1V\]t2I+1v#3dQEPfF/o6>E?QnUQ%N>9#^y2q U"91R'QAVvTM#VD/ci$q+CD\<5re2*mFhB]+0MYrb:MTc#Q^1vWIwJ^r_46JZ51M* U"3&Z-z;:ssK4F;OJUK6?<4N_&s\:o2c#]Vcz4oN4zR$m-yujdc:Qw1';rhk.Jqhe U"K15H2_jbx_DP*;G5Y.9e&4iuXMiB&lkp2 U"xR(gGX($YpynCfpoz%C;FYKS>2,upNow1^bnpY-<[8YPnb_^u&Y\mAbtE[2P=u- U"MbVGOG.X,hPo*\Uf[UteNmZ?WFfEw6woV=;(KX1Yy+'up;C/=oc=K5MNk9C;ABe U".iyaj7Z_-.unT%TP$29(uU_i(Wnw25>d9rpCaSPua8HpOXHodGPXGCU#L]QR=*; U"kK#Z;7/0AaR[fwNP3itFfksVVr#cq5Tam^9P+'ncrrW>YHw=pAVXfnpVO#\s#=j U"eOq?Ov8VltS_R=c[d?#X8wr5-:GW<1ljFfx$^q%Dup(%)9%%% U"%-%=)KIG=VP;L1%%%%K%&%%,%%%%r%fuSi%fyX)('2hU%U[+W,G2q:,o95gCGXM U"/8WeM=3lAPr.U&1H&g?h1&B1BvBEV'z(VS(x(xo?X#**X3.%;P'%U0S'.<,XE7% U"y=A[&eG_Re6)1_BgS1:-+QA[j<=i&AfE%%up()%9%%%I-%vi7aFaJ4-vsk[%%%Y U"%%%0%%%%yj&'yzw%jSif=ye64LqcHm^K-wvUL7L*UPES)k2P#A,->oo,6Y_y([d U"hR.L7kqLw\3AW#t+r3:\jGZQ&E;a<*;Xh]o'O-]0H--V]g.1m:>u(#*,V)1p[Z8 U"xwb_69>5yLu#&JIY?lb<2kpaPnh*WYc/IjcFvS#-0vhvEnKdnuh$xlu7(mLJvp2 U"^Th2>2D$GaE>FuJu)3ZJXVv:PX7da2>G^>0+Bguxwhxxx'snOWCeOtzmL+QPOuT U"f;4gtn5&/\bK)JCIE:PKu-;;&%l63P.4SHd2$MYJ)#0r,Vcc('peE#u<-SNiD,o U"K'3*U2iYlsZ5tmxmbP$k]3,uvgBfsp4CPal[(nnEl*\m-[1c, U"?1pah+-fTQ\NQ)7e0M*\RuGY>?1iSii:Rnmp;u>ihMN\?;'r0(WI++t1j5%JR,: U"IJ=bM'NYA7).bfD?DefT?PU3/w,x92jIAtnE6n=1bA,zd.>/*%2u^^m=q/Ys5NK U"RJ:t1XvJBZ%C6s3Ojq1z)oN+5IOP3DYZ0aA''56tm8aTK8rAQD+FBLs+WK>hPI* U"Yz#\.bcqtoD+N]-Cu_Dwm0&fl8Ib>3tfD\J.oZn+YJ[iG?pbLmhs:Z^oX\='t^x U"Z/L$:P4o>sgIfLX?vF,.R8$27.V8p1Kpin-agAaTQ#MjOU-3UdOQxkRkdinmkvj6gLv>[LCHcdG U"Vk;$+/fOh]PGPnYBjdY^#2xg0=RU<3/6k^DW>*grT&l^gH<\k>VF\4h*mmbs=g5 U"St^OBEZZ:f08#N9A^2EM4B9S3+*dg2b[7KF-$j*(GW8h=*VNDFWc1*G*]ZapD%u U"Jz)H7M;dNdP,W#J[,D=fpz0(0Tg^&IvlC:G5R8V3:D+C40>s%tV3.\=ZjU+1)rd U"JPL^kF\&\:(LDS9<)*0G*U*=8K?'d6m^-2V-/inR1*Z\%_l&YtOw0\3*m')i3M0 U"053r$ik^'Mp57D]f>SJRR&=t.qe\9OTI/a?JELpu,8t,_1kHU=56tm8Q7[5e[:=D-1\.On?D,5Co04:g+SX#i.9z8cf0+:M(FpvdmEC$8($WBS.%R9%u U"w]JVCL*c1d1lE2kk/11ddu&HYgj10d1R'0I<#ksWnl/v=t#h2f?,W]U3fh]+d2b U"UhC:?R>N]*G(3jRuCD3/qG9J'_KVy&Fd-s0qhS#UFoFFajUT&lEHm U"miI6Y]/-s*<$l)GK1&#ABC/+3TWXWf[8P%dEw,(%]2'#cc)LUoOGYpIC9$WF$7^>%.VB?9c0#R U"n00E:j-l9DCFd;N=r#1[A-s5Qp)%84OqWr9*1\Sch7&eI*AQr?d/0KU5qMGpbNL U"RN&qB3YkTVL\^&8)_RT+JD1NB+H0HishcVwK0cj$BJ=8NBH&/DO;wW9OX*],HkD U"Fd2bW^5SH/E]p7'QO>1f=D<#&SQgnD[fNf7lCC10E#V)AO<1sMTfb1FI,YLSc52 U"oTtrsxRbQ20_(\rGcB:.vHp5=7CB+/yq.%oGeY:S4fin&l8?_Y:Hq;kP87#lDAd U"eQ<*LQgjmrLBrj5rT_5d/yeq?o[q]1\96NpYwm:JN3Vy)n$HL:t-8\#Y9DOI+\0 U"Q?'50_b)xBxe:q9I0j&c*m=>$(Bi9E=N U"JLQD&)U=e+W9;eXpwYbg5OQnJ?(UQ7% U"lx2+W4_&KRDPDjcsfhHa>&EO%=7,SH5 U"cAYK:MQ:k%ZNpS?t5+f0#*:)Gq^ds0oY'#+y2r2MhYL6OV1q#f8aGAN=D3iurUU U">bbdghhzuM6jJbF0ClgV80U<*1hV7caDd6e,vHd=9xSX$&GMci'L2neZO=j)AP'LoqY U"aFORTcz%V^7-Gx1JN2Bl4k%Mue6uq-BNF.eI+=]3uftV[iGI9ftYgM:ug87&Pu4 U"x9qARoNw/d45Pt/8YyNYTU]j'?kPAe.>,*4wUd01ifYFop6;t7D=A#irj,C^Mf( U"OZ>l7>ml'Ht+VI+V[(^.3?sbzxIkOv8QgN5/F&B7<#7S)jIza^e_7V/P>mi^-Fd U"b-:l$-R4%kC()5Y?vLrRfiV+GVkzIKS4C0ViBvM<;KE?tp&wh:%N5sSD5Gh-=j8$FQXMX+Ei$#C&F-?sJ5e>NIkQ*<:[ U"lbM$Sg0I0gY.t(-1QxE)rgt][%g_Yjjrdweb:Juf]C18K$0J%q5%_S;mR/*J:Hf U"h-=jmK8B1E($\J*:]:_18aW<+efoJh=4xHp-Py#T,\edhX6Sj&>I$iH])dcTw]> U")crC?x-jeIAhb+Gx$kMN[-ZQf06tjTA+U^AfgGB+)0Ri6GL7;O/D:(*1U)Tf[^N U"*Ej((.<+''US;*6ov>3w$^*w?6\*p:73<[CgGR;Y2sLkCW)RH:6HE+fBrwP$Bwh U"E-S$OtY-%XdkF*]uU^iS-_7?hHp5vBffd;vnF.k*mc(BY12di+$/9%gj08$:dC? U"wjJz%Y4kWd>45((g[fc'&Ab%Qw'^Ke$]N)vg2Gf U"-e8C'E?_r$6HORxn5Ucp;[cqx91rS/su%d.S#:qnxLu<2:-urxl U"[-LL8/:qfxt)PvL9SgSxn2[nO(:d,w4$5Pe.NmLOnaSxcix<^WH[qNYAwG[TxLP^thkx$cdP4Yrxbd$ U"=4\x.TmQxnu^x,uqNexxt.;xf#VuJ-Uc^#HBVawdo71ux.WTpHVMSxBEY:G6TXp U"hbf8*Sxspx.%W6Kp$bkwW(>ng+\5Nb)[u:xfDuAvnX]acr%\2w0l2pOL>i]2RhH U"1:R3&+a'+4Bh'+mOI4Z(Xg;fAit7Z?xCAKG'E(k.cINRL0AiNqN>YsoVL04;Ed% U"hcjSjw4RT^ U"H*'m&M-,fg=7ux5r$60<:.kM#)>#ctQ\JbWoPTUe38#+bO%xfZfX*(l+R'Bu/05 U"FiJ7ehNcDUJ>KU&doso+8+lEdET^XfNv%pWRLo'HO'$xpH6omm6D9+H;Cc;4n-1 U"dsTMcKF.%nc[iCL5gg.tTx\cdtI-.rYUXi$xkbN*uxVgJ10uPLYAp'83nu]Jn4s_xh;EnR70RsEZi\*Ydr&4ePk]v/Fxs U"5R;8JJi'sIIX:QVg+$a(KbA9Pu[dy'bpJ-mXlqkf&(qBnng.^- U"eXkIed4Y'?<&272)O32#Ona7CXKmWKXSt)j)_entRHn[]XtS36Q+%PTY?0ixrqj U"MwlVa4bB+Vw#1kB$uHc>hqp^teThERT7$aTjCm\Y?qu(e7TOK;F).csPbYTVP+W U"a\Er0fY\F)*QfT,Zx0Tth3#=(n?Xvc.-3Tsj/x6vT4c78_bJjsatK2=.N23f=cr U"8;j/9FWS1bp(:30HWWMNmNraNvOJur]CA$b<'Tus$.qBPhc2P\EZ(*Yb7+')Dh( U".6TS:P%\$'i$Th5M3;%FU=#wc7Y<]aUsJvO%S*F>a'%Q\UPJx\?&+qTEAA.CK6[ U"sM6uvtPj)T0t=SU^iDf4:'B9QZN0Xx.cenIqadUltG6R\E U"k]FOO)KH'l5oq9ap3#Zu8Qtjnh&m_lG<$6$u[rtjK.9cBAu]uIBtp/>3lanXBU= U"2BMDeWv1FT<*$udT]2bub/uOwP,,8bqEAa_3FjDZZgqvjp\P?k$1fT8^c].:H^J U"0-=evVIc^1w_ad[4g-V-N5r2Il_M_z=(ZVIvjrjb+)'lbgpt:hO$4I22l+?7ug8hhNdEUW\u.TslL-]QWvx&9Ed U"Y4)D,rKPo9=iW^k5,HlTH[h\HDnf0x#[lpYZExPuTo_R^^2.?an6pxpduYp(;sP U"jtpNxVB7KalNF5WqJh+.wDeO9+Ke1:rG(_+%1w8>^w'KZ'i%N6q- U"vQ,.lU*'mP%CszxNv,NYbLrJEZK:H$InY6YI.Www_3>7rk&b-8l^s%^m]= U"_Z2)1XhR3jExK+J8x)IY4LBW?DgKGA&HZpe_.([svkBxLv;ZT5G)a.Ex6J#dV(G U"xjDrn_&?[Bo>F4KaT)'h'rMGE=f\hoXCCSSR7ly$C;tAx's:E:t*xj[RftnuRWZ U"hd?Gt4umo:4llgBBdvpWZVrUMNM+-q8_d<(.29*x^l[G.+1&'Gd=,Uh2.x;r+MuuAnM U"BsNo[s\tHxqHxVrjuWG<>Cy=U&TXhNnsC?(3iwod2;,t4y^J6V(cMe.wt^l,W>6 U"3*n2)I14Z[\Y>;g.YfMV[[D2aSA*su[P'Tqdj>$HL$LN:]QRtWo-8NiNf[5?5;B U"e3GJ)r7+jxA,?p.tW?(M$C?)ooxu9Z;Iux0_f-dn>cZ2P^Zf U"m$1JdOH,#wT[E6;(ToPYU1GRrPhXm;xHjdDb1fwU'nm<;pW/RV[f%6>HU(q0I&Z U"xh2tcc$SVWrOYF7RdBvEnBTj.[lFy((=e U";rs[x4p<'+9ux(du/nO?=m02u7J:0CkUm+UI;?zJXD_gdTox$W/b3v+l*g/CS/4 U"hLci85.P[h+3wQEqzsobODkbDwTOZM]kP6ixU+nY)xHoEExh]:I,w;NflPT\,A1 U"ec%+h(scc.amI\:G6>U68Ffg<_(';iTxqu#YHuBLcZx3Z$xdQ3jM67XM[/cAlix U"C:5.7^vAD5[ZZe+5\(>ElC6r8+cu9u[YWn^=$7j]L>E\BV5X3:Xd:tYNgqh(bbR U"Y'?.uix1M'xeeDfQbiUu>JrxjiwOx[8beo]3JXdeqQ%rr% U"wl8KdxU-&=jmlEx#p%yq86Q('2uxc[*)&7%Buc*dv_*C,xP6U/Y/]]?huhwf1qVKO8(e4NSjH)LL.7F5TZC8Vk U"kh^_t>>H&.owD$nT\Qm>GX8ex8v]Z%^>R'opQtxvtJH95SZRuN9ucYU#-qIFFtj U"Di\Yp4W:%9;)8uxbe)DM4T4rslX0>H_mLowJxxv]s&qd/mtNwMT>x#;rMK(SZeKVoq8>/xtfYFLHK7d]-UaL%wmh)AY+y0wxE]c>lLlMNT&?h;?ImM^ra8c)T^^['?tMd,chxiT;bZ(, U"]G).)tRx%,6rPPm4G[rwnCx;X6C5q[DmarbB3w?$akx7_AdArUiEx8P<\.KwMML U"bBgGfkFjkYZHbYZiX-sxtar8FT/l-&oKFx:N.>HQb>8B6U+hM*f9/nEox*8hJO7 U"^DHsd,rNPONGX2taq$*wdl:TXxxoxbt'prkwmHbJd\4/w1'8^T7bbf9t^ixc^EYS)[C/%x?YZa:u[Hbs/2,gZ,hx(t*T2( U"BuwnPXsuxxrVv>(,[y?M5egZhx3dd)[;o?[NqNCmS?a0[h24PZ]+5ct79x^xF:X^x.:Yr3 U"bc6o-.W$xN3x<.W8Gokl2'raa(:gBcnEExxt U"y.qFc>xOq]u\HZY=x/[2%b)XLbL^0iEd&R-paNVsd<..pgAknDh'hSHU6Z%JlbJn:?r2>xZjd$6'i$>T#h U"tMn5$*Ab<;=N9?u3r>;z%:Hid.30NB6.k$*9B;#SL.^?8jHdM-[m3or1rU2kkdx U"ZmH:Zp*BO6:'\l8^Z6Vmt.u5v5BWkXkNVZIXxu79*wk\Xb%&qk%dcZ2XY6899NO U"wZH>xT*Wd-5%Xs?(nL.ItQi(kCwkhA-2Ow:vP>.p+jiqy&[98(Jinisu6lq& U"0,5[r;7c(u0\]cXuDsbtQRt<8AcKBL<;6ox0YSH=MC_E/KO?qdbeTtT8^7ne(mo U"_r-cnxCmXYiXZeMN-HBLzP.kIi8Ab.romV3K?SWMxYfVrvYb]:Tbp?DjH.JM*Iy U"'w8g*Tsoiy_kknqB$3QN95?wGNuy&gS;WuHuuM[kk9qBq'bNb.fua-7Gl*]6))7 U"qej>BGGSN>lv)Pf^V[H.TlRDkb&joH'>0rT2/pc67EGD(uOXwNufD[.QR9VPI^C U"^9sk$,GOwOr5GLas?PIEI.cf[ID#5X^$FfJJE61(R%DqooDVkdoY#%O=BGK87_a U"notq:Ha-uAw\VR3UVQn8/>IdnN(pfd2HqdT($=NTulnh.9o8=ws5CPk\NxD:BM< U"<<6V6G1N#]?2FqUrJwq$$wGY7-6tZ,,6t5t/t8ZXf=VPE\FJs$8Ys61/tBhn>8= U"qflJG*o?]?X300Vutxs0n>pKM+O2Qxw?FT2RfG8=ZU6 U"rqi2%8^kt*s#300;Kf,gnb\;2)dJ\;PEZ?j'OYcsr8U$bTs=3,. U"33wwMtI1./K/D-RTq<]OO3/Vz\gy>Tjm?>S[u+wZwDMMwX2\][VR18? U"_$uSJS%lCU?YqZWqa2xuMZTTSLqgPG1+0pljDW3G]^_q$7#jB*NIF[qFmCijNjm U"-#nkUcqPsvZbwKZ,Fq;j&<&*4*# U"6:gWY,74ITM%owjaSOoCsFvB9TD'g40PQ&q2SF?0#POu<6m:'d&q,jxX/Y)g+]STJ U"b+u.?>X\YNwcx&Ri%EiwWRhB;HD]wo)0/RK#b1tlIk#=cE\U,43Dz$ U"e\P\E.Xe>nd)(C87&E%&M1XM(vF]geL1sLUH[KX.B\VCN7Dn:vfgrFjJE(%$+J> U"40/j=t4)=>a9aBDs6LjKWB5'8G)#f?v&W%?q_VuAdR:Tpuq06#jzbkMsN;Sn<-: U":EK^-R(s?5gnpXUAZslj5'Od+pMvsOYDE57a7>38(.a1YsH?7;52:y4639VEhZw U"OFjPhxl?PC8QS^JZ*<^1sL;;yOjZPA(b<8[z36u_(w(t;$4<%MRv)[*q1xBn44z U"BG*aQS/=.8D'<\[JckZ:\$57tlh'<^D3P(Sbx9->B*)FEEtVVY=%TBYOeO^XD1G U"dGGf2BeX/MWN861,1HGJg^TnHYp0r=;]uU(/hcvuD/M U"=d#OiX909ucS;a;W,cgBdnY?gM_w2DBvd).0h^au1qr$;*Z3#468?m)'9sd[pC[ U":&V]5F)c02?&U.MZ'/DNf>(JZ,-6N#[#yD+mitVt30:c2=4D?gqGwR7Slvv2I%_ U"O_E4kZ<]g%uII>Zw0&uf0**nl$-9rS2)K?AA)q;AaEY(OQe7(,8*Z/430NlbX\w U"c#l\/#wH;X$Z$$[8J+1YEwe;#O#m0)O3<#lc4ncQpwZs,r.if4Iz2NlcmlULD'l U"uU.%_dH7JbBNO%BpUqO$Z?9Nj9h-xVRqeaMb3Id_A6,s8x:D*yA4myGr=[OaamA U"/s3VS*Uv<9QoxD5Ua$V\%Bm;:kl%?L-n0h58ZCQ[.K.vk0by<\gC^xhoKDDk7Sx U"M>vnm_oQS#bT]E#P:/xAE5dsQSX)6xpH3sD9XV7B;cC_7^Tj6=2(vUHec>4fq2]2><<9rh1u&uw5*.[#(F]$0]jTeF\y:Iv+(s*CgA-H U"ohLp/76fmXH=AWor:f(u304*04#i\$/o-/k;a41'i1]Pm7RCYN4ReJPV\SusV*&Jly(#f7c/erjr]j?\/KT;Ed;u]]M1ViReUoN U"jN6JV6N?rA9MJ5%ENw6rq:1ccXFkrGnwmX%*%8X?sBbV)MIDDF U"erYOim[YL&Vzz#sCiT>^aHEaY)$cHM3%W,321l\#m[<6x8-vh=r_NM(WW%9pUq< U"JJtNwW?Kg6eJ%swmi9_Mcvev1%JeMy?5rg;RirWnxrNt\W\\Vabre%V)F74Cg3'K-DU%[4 U"CitL^N%FPFh=;>;U/2.z-iU2g)J#:\&\$hj40]Ncqti/='VK U"F2Z%id9>O$%(ySGKw1SGgF[Ql+F9Rii4E/srm# U"4:\=1p$6tCHX7wEhp\k(Fcjil]l^6e3^KFvbPXXtsC%^X6>5lqUb,'=IN%[VFt> U"UI5ktWQ0(1U^P-D6*+MV*M)>VDmsHZSB6HsiF:c/LkbIKx9Y+A;)RJ/t2Yi+NTP U"lv'0GlKKU7HXOxXqcFY0dOt8)6ZEtS\K+D>6j&q_2$QU:9rv[bD?GsBqLxxqG>l U"1>,Gkw1BtFM(y8=6uJ?C$*wVwCqxKB;EuF U"qsDQ+n)k45)baj,^NnS=EHJVdcKYk82rO/xw& U"$lJjx3Pp\;rU4QB\NRww.ScQt?oLqpb]oAsa8h.sfsRZaUA U"4$jB\r6,B&Dg>xJy>hgS>WcGn;%hZiJsY2f9hP7IXz>4Xe7#/se]Ya_%X_Au?2$ U"ZX$QKi[T>*5ish_U)qyaT_4<5qo7OA8_r.,cd&F(xH>L=J85S'Ht6fqHdq]M U"#\7bw;3^nMdpj'tviSqL#uKbNAM^3HJ('s0LvOD;j/)YXve+e;ugACdc>UVz.w4 U"ZkG\LkfcRnoFz(FQZ*Kw:U%*[d8Md2I4#36c$U5_/OY,bEIW,>kX41$R;0v6]-vE;pSf>L6Ev/nPK#ga2UF(dPf;96=PY1p3) U"sfd85LhRU(:iykIONaIRnfi%oDU?'^MmqQJX7OiLNJw-ejXu3;*-/6j%vM1Jw.] U"b3'8*\R%eIV(<25FO1l$Dz?G&oghQNDl U"w/c.+6jS>Pc^XfcpiG+dwNI(QN8pd1/U+DM)3<,cg]/^t'Jrb;RK&P-j(.VHPwq U"\yw$Q'B,YD)F;H0,D#%aJmg]m4C8=$sZ8$Oon&4(9JmD4qM^jk:OGQC]p')1Kmc U"y'q\b$WaL[akTjXz:\6=N.C4)JnjGiq-*cWJQF6FSZ]_?Y9ZJ,Kj0]-4.+M\rplXhEPKz:DM%M*$[SOx&_f-(0AZ0

W69eU&0-XE\J;jZIM=nf[u/14drYJW?q[)(=ZSMi U"faP\9O[_Z1B/TRSslX#XrWNmwcU0u,\(laZOtwnw>rRV7UMH.NP0oBGt[S&l8&H U"27U$(2YoM?p29wl>H0]ShAeAur&yk,d)*z5FKR[5J1*>G6kXq[N3E^z?GYgRR[ErFnGbn(25*ciZkg;yC.>j;%? U"QYV\pat#Hg0m6Hm<],Q3CM;ZXtY6keiVPw0\J3'E[o/?-8XPj;G]Y^Wm1kQrJ_? U"s(M9Wp9r'WHqR*SuW_]-[baKO(k^vzYpZRLxVja071db-U5pus/%YvdbYSTj;eE U":EET:8gtF:^=3Ip:N/rvsPX%&GZZdRr-Ieg8G<1#EF:FDHT0WVL#\=_m'F8r9^A U"sjR99?*+khfnY$G-i$qRrbz_P[pB5hq#x/\G(^$Hr(oD-IHS-4BKAy=G+%#tw8-uXy,'PXx+Pibi)dTSk[jR U"k_.DU.tV'8;GnvgJBOdeJ$sywO([._4Zv6W,ZeXR5BNb U"]F.MtYX$>N]xchQRI?3uEcp;$8?3a#+K+fbDMk'/;6)Nj7O.e(rfrn^8rH#lf>Y U"dMhyJI_=X/0R9GT/jvU1$k%8Bb/Rv>^*IMTTkw:k/xi^Zx,uNtexHkrx(wx;Ngx U"#umn/sudF> U"G2u6Fxnqbclx<#oh1qx5Zk6kBud^NY6?xbcd#qruxl U"nds,ixBlnlVjKx)IeuxHkxb(wdDcxxTZNxUDo7ozkdO[YDBnuXqxus7,5U7ZiDW U"_a&2BeG(&Eu.a_0aDU\KOD&fprFIf.p1z/>wSSTcsoPwQH;xMtrt]+&]nRqQN$> U"3cDG8UAo>>vPH:oDlwXvkYfuX97RIOOrun==12]n60wTsgrH%lp U"7dvh[E;8rq.Qs4ny&RSOew.7IX?eI\hv25;jsqdLT+'\kIehmmaoMHtF$]e[]0/ U"coN9xPnkN]x)MIxH8Ng9FYtEFLz-E>M*^Hw\o(eNg,ChVX]V%8:&#q7-1i:j?:HV0f]YH\bhv8S7HcNHcaWQX%l_Wx150L3:fsqnb U"M0P?;da/Nk2?ie6glOwrWv%yH*prFl;xjxZMSS.cA(*G+=-[B^7ihddd^RPaqN; U"9Y,e6$x[#[;ujX$,Tc:iwCc:n;R%%Hj^,+2RZl0qdiOT]+9n7nvu^GfFH#I.&0Z.V]Fg3wiT0,BD3B#_7W'42?iH U"LZTdT&xZZZ&T0:9u_v4u(hd0<;E/wYKalEYF U"&W&KsC9]xn[d=(<_Vv'kpI$3uC;3'c''HRVZOHuVKh8G$nL7xgt[q;YNMvN0qTf U"dSnm-LiL$jXlvh#7(:T*F6Y=cF7_XUGvLOgQhv]OPwn1s7[:i U"f0FY]AA9$7=OhxHfx^v^^H(2l29KTmrJ;d5j9[HvJECvF=ZlcHa]qd(gduYw.Bz U"c4>:E)q8nc$x/ U"H-sr7a$H>y^RhD[GxfVg(sk?CqEE3oNvZc>qqxJfQxnPICwzJfk$=E\z U")NrO+(9tjF2saZL)x.L,l\Ghx#B?P%<=XIH*wQxLgVlu8(NoHJ3l(&fpF\y;L]\ U"bU=WUrhL[>v#]kVS+AfThsiN:[dm=9ZxCP\POAJocn.4XE.pa+gZa*u.?5j2csnx<## U"3ldpA($xqt-Zx3#4MzuDVlx&YxbvAZLuRtx,lpx6huxHWx>n6 U"xdutuxxZ,Hx:KSTn*pXLwxl#8k+t5quxq^Nu:Z]nD.uGirxFIu1noxLw#n98wnr U"D.Gi$rNB(aTYd1WmPoP9x(\,pc U"hxTt;8IPqV'T0ZhR76KHCKAsDP(0G>xZ&q**T*tB#SMnBEHlTx.uV>QX,btPXLO U"?/(&riYnMSrOEcUjNYbrr8]xidbrxX?uofl3([-^03TPd?ifaVaETMvl U"Q2B$dMdhxm8t^0Q\e..s#v_ML&T>:C$?yod'dDgkqanENxP&yFhrPr8rOxHPjGNEX U"dP&_wN#^fDG+]nZ&b8GxudPbVmbtfw]IjZm*/LS&)XEKco*j6a&E_altJjYNY0Z U"*$Wdbp_Ism\P(<>tM+=hux46d_F,UFIB8yB'=l1]/)77VC1.sbPeQx:;?T:A#LWXzO';%*wV7sSQ?_ U"^&RNipMMhjFfd/'Nn><9g8=kVHa8cOvd[[HA''=\xWmetF=D&g'+tuEx$RY(twNbE/08's U")/-/m&v2Dqiv+fW-Mx'wtap;U/%tPn'f\fvpuuSB(#)i+M*pGNYJGPQxSncT^2\ U"bF,9uT+&XKr6XrTQ8xnl9vSOlZfIxxTwttNux1wZuvnn_9tki\J*a-Kq,=jtWpNcVQldwlZq4xMC U",MBD9;&;js9qL7oxlus,9v(4p(Oxol$_]q)42dIgQtNeQVxP6KeFoP5NrAputxl U"vHdsK)a5j7Ouov8bfMGOCqXvwF>56rO^^[61SPhY>cdwTsubusL;IZx+:a)Z__y U">W)t-(HGlSpNJsT*X;?8UW'2NJF1g%N)p U"tNY(g8B<^< U"F;NEY(Webh>HRjDjTt-[]kOV>xL;tRKu,ux]vBe_hL56eT4EqllD U"2da5u6tV.]wpfvEMqj9s-tZ\qZbca:(u4&xVtl&:Bq^Lo$'6h\VTau64XKPdKER U"23[VgT'Rvon_uYtvj&9r6%x\t END SUB SUB V3 U"m,21pkit]S$qrxGhDalh& U"b1E*lduE^(Y#cimVwc-8,6Qx]IUtNv$Osbwm]tdd-2DMD)N?MrB:HnxYkI'_v>\ U"Ohe$sri0(B%M/2\;>ohYl*WVSy/?HV\F.%mjV*?p>;Cjq&:7YKC/tR[X/tRo=#f U"%00s:#E%zP:AOz//-w>;&F6(?C8ec)X,^S)t=#C1;w+bM^%?rl\ZInNLixXUE>ik* U"AZrc'Ai4^%MZOk?E1q?F\AMw7M%8au3gAqKd&631o-&;Hq5tNS2fKf;'j8ow-?\ U"ZjP7hDw2v(iKefUo)T?,sZ>^6p;$*seVT9NOYJCnc0K757r'+In'5;CR4OXedwN U":72$[rfYDAWioP.2F7=^u1Xm&6sr/(:o:+\a0*0TL-JZWV-i+IY*3h_/2SCFkIT U"(dSbiC8tBKa&L22+DQ7ERvq+N/W;s7tIOC>y\p+3,W9VTTx8g[aIOOwWGV.NS1: U"e'Nsad/)J5kooA.G)9pKZaHL[JG[fkMtRqrOEZ^]8kV;+7F6+%<5nHIjJ9,M<#=0Ld7lF3-M[K$sK9p^48BTV_OQJ*Kj6xkFx% U"\E,AsO<5+LJA^fbz2htRml21ARjh'gQkXSLIUT3CE'NiA'qccF:;,iuQ+mnsaHK U"u9PAoOUkB_(/4kI:)*O+#'c_mSMsk_]4/7r$L#&*,(_GbCOtIz$=g8sH'9cYr)8 U"OIwV?7=;EQadZP_LKEje7EWRt&HWLT'Po.3ReGl)Ei0**09g'gugMQs+?X6N))q U"Z\29E4SueoG2QzsFbQMG\kqcEK$J*>TZ'R5E;9Zj;]'x1[dayj8O97oO6f7k*&g2a'+o#6s1$z/8fcA6.ZG,_3EE$Pz8Re9f[.cV%ReM> U"6(M*+.0OTo>sdeK>&7qa4q3ZO;WUp-_7d)SZ&vz*7hceL>17-e:k99rs$jI?J#7 U"]]/K>%yZ8b,[[&jf4_O/3Oj9(5,EVnUC06pu1I$C$8<'/0LeVpI??r*;<5o?Q\> U"JCAZZ7^R(6BN7-/*;f^,F67Z9a*VE\+fH/OZz^gWXB9UyZ U"XMUBvBSNBeET9pe*dh_qAo](^10/;fW+,kkQeJ3DdVqao&7M+,oNM^3yO8KPv*W U"jhFy_y5V:&#[q=JPWa2WQfeU)/XLJI<<(Ank-h]&ov[yEnKv2*u_ns(onf*+._X U"CP1'CA8sEsCo\%ikpHi_f U"/5\fFr[QFl[R#A,Oc[GnOv#*R)4RX?^r+AlH$2Wk<'9i]pa4xe/&*dqOBUHPO^X U"4Jus4d15SsJr,Q\te;I&THE039RS:fHte&g6=TrKCn:1^%?u9BvQdFdo30m;sHF U"SCMG-?Qa/ek\w>P]/+#k?=sT_apV(Cu]:9>IeZpFg'c]koQye8%LRjQw,#p(KA'<:*kG/J-Gi(5>*ObbCAFsAkTva]K>eF>+jk%Kdl=)UquZ. U".Z7ZCSd_KTOc9&8ShEXKR&v/o.l-VhhQ?>YWVRo.#sflG>b*wL-b^QCFEYW;:*D U"c:BO'*SH_F;6EIzUN)EBZ^Q#ug,Os]9ri3/aCd$x5PRve6igxB,Gb&D:1rlfI#pUd%a<=t]O%IeVY#OF:j^1_fby'uq+M#7jk(raU9N3JN1wc=AC64L+b4Q+^85eEuS'OU'[K U"w?.LZxI\cD84g;VY?[j]wKR?pG.dbuZ2,9OMHchi8ZJ71h9YV[;nK#C9E1 U"Cq47N>(ES*WQpN7#eS]+;%]1I\g)U1/[#7G[]w8btM]9/<3Zw76GLos_Z%-/%.= U"Y1GQB3AP9$k,EAn?PtF/v#l%WW3:pS-[&>N[]GMhS2gZnau9Z&P;k$N_eHRVYr: U"O+Ber<3J%+Wo^_:\XOm[aGYY[B:wkon^,G3o(V%S,B1jn^l0d-:oiJpIZcD[YD: U"qdP[wMfr;t&u7R?XtG.;JKEtR^teab,9.mcW4,&8Y6sqo%G?S)*hLJNJBMs<&7# U"\832_//?EJt>(gGZ[P^NNWBRlzb=SB>s'*uoZJY;;]g92K&K:B-Bd4i8MZrttJ-XpDu%p()9 U"%%%%-I%FJf=G_4D&BY-%(%Y9%%%1%%#%yj'%yrfu%VSfxjr.'X>>SC7hMEsuC4B U"DyjK3kA[+'I21^dyOR4#5Oj:T:&of5wt.$X:#pmB'GIh3YaNYlh>* U"_jD$li#J7M]^]^(%.\Gq$fY_B2qC2Dx0S.\Ywpq+K+Qoh&?vC.Got6LCYQSmXB> U"It=092Z1aLXJ*;:t]jI2.?U9]1uU&MrWj$(aCiujMO.lDc8R[?E+P\],L&Hpr11 U"e)JWquPLEbDFZ)-31j]^jG+(;WYY6i_dT.iQBM?O+KlFt.gn6I2G05T[rUQC,'; U"6Z*+SJtcR#L&4]9>1XMX._>x93MaDagRBh'^*I8(Mc]YD.'pt>b$1eL*[(jF(Q2 U"JUt_N7&Iqj8P73IHUMTh+(8m$#QtYZgE\l79VWH1KVFo\rHZq#U+8C4Lc$6x U"qj-$Lq6(K03/=Az*f_7bwL6N/qdi-:r-;K^L)su8^:y_AiBbRo7TB?i31 U"K,R7]Yul4&Rl=fnc4ECQsMwS?WZ$*0:>XrrhhKw>Q$7Yjg\F1TcuxbDns3KiT

D837zO#''s^l^:dDZ=s_AAT+BCtjM\QqXXm6Jb8E/*hGQpE7<_C/k U"txX[,j(JQ.zAz2WNHGWl*Q1gFFCft0j;mjCATEebTMe>GPhpi(D)g;)ZTiNLX9] U"^A[c:u+gOj6bxm1?RNCg5V-ZtGMV$yq8QMLGnY2IjZJ\/_t/8Q/]VKNr.G<4Fdh U"]X>Vr[J7Iy]fv%R-pn6RACi#Xaa=$JeOOJ/_)scZwA[fJVj;EfAn8 U"c&2k>hK^;qq*C;juJnn(q8h(J.rkU*51R2k[#Gb9x>>%0qYC2d-Fne#7RD-UcKBH4P4seR8P.>4a$kXBirBlQ;0Bb3O> U"^A4xGB_\6*UP5y;Fff[j,UQ4AR&D?=#wGIk6h_88&qSiSPnkl:i&L(s'egdoL_q U"Ppm>_c^5xrr2gppz&c<:r]/r%L*6Vr&Q:Z.Ge,sN(i5]^70AAl5'5[h(ANfMf:bV3lBzv:jywg U"TN82S#NR6UH>:j?h=hM0?7VwU?P#-Z0T\?jBP>Nj5hR74r5MHo0&k>[Y=vkuZx/ U"vVD&Ir$9kiiA<46rO$BMiZjJc)w_sTt%Mz>4+%i>RRa*No(Xp8Dkh5vORL_)1cK U"f36fAt6q/$JjuNEO)8o U"9Q+:S8ry=+]G>A9.^(Sx6UG6Uhv'9Ur2yOW30_[kK\3>fN5B&uZ1o5=3H8BNHE^ U"0fhQ*P/X6-'mAIptH&;?gRgqg6Tt]VqcoQ[72Io3:w;:.mMCs[TS5TK)S)_gvd> U"oSqcl*oL^+Z(+X&$>UO1KN&qsSb]xE0g+-1dwL#ki'?ed\g)i?5$HC(r8z2P1fF U"UibUb3phMFHem1\kJp3X8UdEsIi$%xgf9\_(/x U"8SE2o?(MeN.^pPrf,eEXzY^I%O<^9dYfRsr>E[k<=,CL&vIY8rXu_3Sm1m?OED4 U"HCU^jQOAj[iXYVQJhrCz-n%03rBma-UcNi=Gey[p6t>/D33dk&'tbO(ZHq:WU U"(*D'KSXlZ(3^X:B=]Zg^O6g,OqV]5^m)jsSS$&^RqSMF?a4&F.s0>vCs4C1XHbS U"ZZXydWLezpb?d2h9CV9sgY+1N_Yo.,%M^[4wH/=?uYThM#Vb9.FwfW&q+ggqmr8=nJ-o$s? U"&W\r/#k_4>XLZ5y=cWylY%z6p5GxPh*B,Osj^q6*'<$za9 U"NBZdY9ESJEBIp(3V*jN^gwKHC\],b7wYFY<6Xl$EH\)2,z=:^3Xo?(ju\7^gdoQ U"-C[8V$d^1,RzDLDrsx3T49Hmi2peGQGBrTY3ZK7*RT6&5K0xGB$8yc16w//^\Wy U"PvZ/HfcWW+aKrPpW0