>**ACE**#F~0G Hungry Minds, Inc.ACEii+ F~00 in CodeListings&< Tj]. X 6 inCodeListings\Listing 18-1.doc$7‡Ʋ&[;$SSlD^SF[#7+-SC֘A/D`,#w"̒DB:퓮E14I Z$gwFP;MA}v5l7 ѰGc;Zf꣏]D=¢B%:.l=37v ÄJ(ȝ2[yglJebBؑ(t|U#ђ8-*bo,pLa~fy d3kʻ'Ox*~bN0S+۔M񆮒ܨj /qJ+'.Ei^ 8dK';ePIͩ&ӊhTX5]`N:+\*VTe֟lg^px?6}p:Ps:@j  Df`d+h ~1\吂[P.zfBNiXn fۃ3q}lx mtFru@ăñ2k^9847I|,o8,s21(ʏ*ZZΜƯ7CcqC[@h9aobиm&aZF0z~ߥcyה ̽$!J$EL}cT5?X@^{~QzW n4I-Pc :z3m[K'i1$X(̰)IddfLxɫ88Dz#\o="Oa_~c袤?֥3! _Ggvx(Rq J 7 ㏇(~FW4, bˌBaL4渒HնO <G1&QL̥bjrV O_ sY߁ x| ,=h6P:^At{ TVQk8^94$7(ˁa5`zhX,]bܹ}C(EV:>uhy\~8A\Z 3CrDDTTT VJ4p[qqM 'z<qD#7Ђ(|)ZbEEîqaQĮ—YB&ʖբ6LMJT}Ѹ0olL&g|9=4ps{wW}.+~[i~/yz<% ;@NiE* *H1eŞbX,-yxs>uLj.`3<9k|s?p Lw@;ݎ'90#m&\zI܈IG2!x-dn57<J&dZDV.zԹd[^!p$Us5ћ оLĬIH3.\ڲG˖'¼%>OI?*+1QV`޳|.9-ْ!UNЙSML$B UǪSg| O˵s( N;imNh:Z۔o^~$PjZ< R{. XF inCodeListings\Listing 14-2.doc&Znle\ of\.7x]cuy(ɣK7ӕzʋe\&R'POXK tKiEv\YFY]?45HY 嫖s޵ .$EėKٮ좂J`˩3־Q>a3SLؠSTL"FBcJG%Goc>%GMT9NtC%+Q1DD +"g}!MW"(2@#ղ**DƲ| m-:'6M$]-M7׎2AzyR.DZJNUn#R wGtvE$ )=#" <Н4qUQ%w^23dӱ]܍c}:ŭcTol(<{% Q/GSBH&*32ɸc -G[d|j21X lLBQ%4I*i:iǘh較VRkr4$f(,Baٱt)nfUUMJK鴠C,C R_WyiUWS5ݰ+BaQf;ax0h3" D.BlXh& L$+EeK-+XW,'߭|DjA+)~nCIwzh _"2W7p@_N=2ߦÍԥr⺭]-YmH[Ed9J:lM5u闋mLGst'»F<;:m<l"L0GvXpW +1L CsNHD<Bk8'vu;[~S٬ٗ7$HPe.PEpmH5nD[Oj>` @_fEu=սםu}9;Ԃp`8!qqpтLY:!Cf8ԝuC"(mq-t-+WSxB ɱj[P8ztBb#J=21KdsxK}~a{jMx}=K㵋F<6-4CC+xͯΈ k}N 𚥽A ?H$~IC&ęTo2S)8mHh~\z<ᙕ ` ?Ua5p_vW$AT۰?\.9Q"2_,fޭK/\ 򘤻iW B`~ӭ*3$KòHng8|:UW02~FNB8#f+qz(}/c 811cN ߓbc1h1?/cK O5b=Qs}^y\.{gh<P}. F inCodeListings\Listing 15-2.doc& ;EogkʛH#-N5]RH hMɼ})^hzňW+HUvI#Nu<7znwU/Hb+?.=-є2= a9Oc&v%oD6l~cb{ zhq#g@[n/m6s"}_WsI3{:M{l3GQۜK:kLJێoc(+ǽS/~ _)OY&7g6R2Ǐ_K|+u=AǫM!{5.6!䵥rUXr#%' IN"Inyɳ@[<ٵJ5{D6kkioo09V}F֗0@iۨT*<-ؔl2!Æ1ipk ''9ÍcQ1w؂(9'_*rm:p*њԂyK;6lrYROr)SS{Rؔ&Iuo\obI >Enia2ILRU{F !*'".jENɫ;H+f"aPζPOۛb,^ a ʭ'o){xk[% ]!Gi]K/7Gxq[imWU}հh&gzSD=:ȷ1iEh_KӺ9_vzJ~Z09x}⿅u>%EdVo˶yDuhFO]fl[G<: A:(8y?]u ?\Ƞs@`jANa9(@ ;uByCP 4R/tGD&ZӄCٙdrs4-];:}ԡX|w)BRrXkGbʟl?̤upkfohy?>\wc^>û+]O9X݈h\/cla13c.xWY11ccwA/!sМi~ƿ'c }QZ=ܪ;c1 <DPwx.  inCodeListings\Listing 11-1.doc *='χv?߿t iF튈 qu+&N=)!.R~WR1۵byN$Q.;?0QVgxb":`Zbu{Ll[an |k6Ǫl\ˍF8ER[~C$Kx\G/cFQt}ΓRwܼgdӅ~Cy5ky If"8B$512EߢmΥz+5Sa3%iZُYN(Cڧ72į1Wl OY*5ӠRmOKa0N'Cz| P^țs,Ne] mpw9> 9< zKj:aUKTڠQN!o[SC<* D+nXbj0]tA %h? S3_̍sFC=+՘p`HT);3yǤ OYd ^@;BN:B>? h وĊs7g9^n/#h]x~ֻy7R)z 1Ueuһ2fZS!x_҇\S^\3>K!GQ%ZP A:*U ܠ wC-BkN'8ϫ:d 0`Qa;0 4Ziɫf ?B>Xҡ5Z`atP[;[zaӀ Y ΏWulb /P/C+әp}?dO a|mrK>) I{˝9U:{Ɓ" [S!^-:L-pteo߭x!& + D/88viڡ.P1CvMaj{'aݓ\=Ve I׌wGkKzݤ\3EGF8_Xt1MBMCX冓ZsLB!!NGBB!!ԄVxȼ#vT!k<P{. u] inCodeListings\Listing 14-1.doc/%]Xɻ;m$GoG9>MraO6gܴs1DqGM.rbrsʕhC9rx/ X2PTQj,N+kBӸV:tq-Wj~W\=_+v!rr~7h>p~LȌ#VqC"ìדzN#?b+3lC '7KZ)5`r}%j7C$+]XZStYN'K w8+Nh-U{@89_Xl w㤧F퍸P;Legs7?뜘, ?moFZMn$11ccc11cgc K|<P]. ~ĝ inCodeListings\Listing 17-4.docWޅEMt]Ң<`1 NW^oXحYÿJՠRBWF*5U!y5EFR֣3/ǬJԸ@@q"=8^GOw $I~ػg LlXǹk5?e:[?0Ѡcx ěGoO bP@|)q Rb5Fqm.ÏSؤ)@97+h`nx}AS>Qd>A?}# W%- "odn炆2+;QHI`!RMZfKJޢBLXe|{zJ?l/Dy=Y3-I}kAm6}ߩ҇G뾋3 qۋʤKNonإ$Qo*7*kDǻݍsE| B%t#Js_g!U[HjAL Äg,D&C9X>!C8Ǝ*-aV&DݨiOU*VmjC&Hj{]S(̚#f~`Ю(8-QAb?36>b*HV=7>b+fa: *l;D;TY)IT8TR-!.e Q/ ˣԺa\^Q5T?G ī!o@+=D&#AW{Lc] H0sٔЪ8tpÜl@8Lo@dH8 "ʤ$D<A 1]  ڗSO5zz\RB>z26d֖3`S+feHd1IrW^n (~Y(`U}pi ?`o#ϣ~9 u K%6&JQ͚XS+*4k+?2jd>f́lrG.ybU3<*NهiOw7T_zK?&,ٵ"Y<'q9Ek{4u6(a^O41_֕"fN.wcVbמ=2H\>#Ʌ8e&;簀I:UHCㆍ 2r(e@4 18#B{hF l:` TM 4x?ۡ_)g{AAA AYN AAAAc; 2= Xm<Nb. w) inCodeListings\Listing 22-3.doc(%ehN+n&uCuf<#B}unFOǏ \\ 1zc`tXG=]'n_FW=};qш$L~84 51# 5BA~C94N pvt$x\r4ۆ֣xz<n`r¯Dhjn0# ũj.{ޛ`횿9?Kqbm7#92[ ܏oTiGVg? 443[:g 32x+2 i{790fؓV" $\I>i0- Ϻm \X1C%3J/r 'G=b}yT=229b/-7eIRQQGҘ;יg&;,96z޲fƾ2&dm32 )Y!4z!q9:w~|dgsJOL-4oo|7CP~ X >FP ˫eH=~[*`qnBá.2 <g^Aw3nK*u8imyҗja/fɖiQ}2S*]1w͞,V)X NύNeY̐<@%Q jlc`y?Yd!׆0Uҡky0OUiƬC` @_xA^+r܀4\փ)eâaҰC20\Mst/y8ތA9&!bˆԗV(W,pͪu ![4HkV20C J+paЎ9#Ū+&:ְrPy-ҧ5M=k!>un]49t9]0z^kf,1rE+E 6W zmN\͢dNPE1~Oy0 ``Kd ܃ Y6m=x3i*\m muŬ u_@[̬8Of}pp?OF'5^PJVN}?^"aQA`Wm•^HIT^SpO" )U?a]p}fE{fR@QpfŜ{h )8\8{{JSBeBN'Prg& ]!M7>{oziLΔ]"ٯNvb8MO-Ҳ@_xY1G+cn;cۇƋcNؖarK*RS{RS8)jf=!Y7Ys 5$1 Z@Ġq%.8%Iƭ1U:mn~7ant/7GZ&(6(o@净8s rMmU1ᮡ7Mr!ri>)/ua?htP w@kA !;O-p* 4!45M3vquEnN8u(ҳpJ Uol9`SY> ?6).\TE2Cm*נK%jjg1CS׊Ca7ѵK7:ihW:THnp7?NI7)L6Ryhx@ڽ)p}< ܃MyWe"-:t_2X0 XҪpVTz@ܠ|æ7SU9+T4bNH[fm:}?Z:}y/9;աNf46;4ݯX\}/B0Y&6P_]z4BYNߴTW+X9qXVVU+g}iG|mo_Z8pSB! !r=דo|PBB!vaM_~dZaO~Cx<NQ{. 4 inCodeListings\Listing 13-1.doc F)l.8&> u8jI6)ڛTdIP۞YHនj.?ҍo, 컶|2Oc|? wcKC@<US݂o{C \{nU;f'bXlhUGvKư\+fX0UO_ۍ6s.dYt||J,5ʱ,,R ("F2러 o_?b9՝Tpdwl@\ ◁z(<N].  inCodeListings\Listing 18-2.doc \ (KR)JEg7صm|\=®;i{XlM+ ^J:TgplR+%xPbT y(v8MɲE/fGS]W7yH%I41I %1.4&%"~$la")Lro%:? vkKIiwo?y3}tf2F{cZ>c[6DlI~|_Lct6X|c&nwWO71UjqCXd#|؝;XRǕ![:B-jC_԰|ηp@}tg\4}H-yWwٽ֯:LۃnNYC6 %h;VjSLj=TS!1|S1ќkPT;Wg@%p(8 W'~2)mXêIay09Y)ڎ=C\,qf`uxo%ik4{ol'AO5V5)XZ׬ڪVU1 H^*4EޢU}SwmiJFWWYn91tqӓ:$mUoq6@(ҺHmhP»wϽ|?lS+E3k:7CwC<ӄ`<ʞu~~/<xLz. iW2$ inCodeListings\Listing 12-1.doc iַd =8TyF|22T;~u:2ґ(CaF tdMm*1>=Ju?"_h E&RIL$ߔޕhLԤ77m}/i>pLa&j~jXWSaܘ{)Ka*FO6_͓9^^a}hli\H?K>;U;7d |DfBdܯ|_R# [W7fyCػz(>7~p}۫{ڸ^C;oH<+8+N`X]r7鸙r@;޳gt.F8fA p`mg\> gs] m╿/;O >?ߤ 5 Rg}Нj6vi)ӄggv +Y漳i/ /j4#zqH ۴5  O]}..@ ϸ~[\ J;h%e3.9%&ɨkY.Ƨf?NvWvs썕M§wPs^J<TLx. ; inCodeListings\Listing 10-2.doc.% >qK!kdMJeBsͼ]+ӱbq@pGpޑB DZq9k0X6<ƿ꧟Dq4X]|ߤhe44iLn5`)6υ&$z&$D4wILD>jFE;=u)Fmc:⛴e"#_P7N_}dgETi,?IOog?jvM,Cnkԇ3?4W8 SjYm s*tTbH9(`qQ+"Bdުe (aj\L^IaZ؆!\KuY%@u-D0z v&ρf]VaݳA3{_#_\}ȧg7 njic"3 Z fH5xn!7[y4Mu_gŬF'l4<‰C^@mc_ Dy&qg0^&Jt.Bc7wUx|< ǸvHhKLO\c3;ޥwHX8\s<Lww. ȱ inCodeListings\Listing 10-1.doc/:)A>,+9Gn2,a;ޏ D]Eg~q}ΝyR 㜇4ϵJ OO}&6#1l,mb65=kΟg$;}0ˉ#}Diw~|KXʉ[ȼ3 {:G?Pޯ>0]rbms=GdWo4/Oqo~? y_v7PKRK4!cJC럫×x̠~9)\0M—RAY/m{$sU؉+u eQhA PGhFm/sۃ#*!фj WW C1Op  fW9L>.98?</ K9E %$,9Cm/sff%]R]QB ޛY>k^!袕TUGsi_CӾȖ@ۻ̼7{;23<L5u. aoX inCodeListings\Listing 08-1.doc榌{(^Ď#٣6k J)RfTl>6v+%J(9;v8Nj|Ab_~*ܲž[UGƿ rHLKdV6¦6meCXڰo 6Qoem٫f"{L_x٧ic͔ؤGd_u`/э1s Wl R?9Wz ApQVh\76ƃn6ton?~crď֠WϠӛ黌4jYgp&Io&212ah:`܋v]CɾX5'Yy̕ZڽVļp\a~5 2$od.!5k؝'SܙpS:VݐQt?־Q?2t4MH߂~R,/1NM+f YiDMz:KɾWTqzf>#2GTw񿾞ߨҳxf;WB6_Mo1z/H}}쥅楠hv]:KӨ E1nQ}-ZK_w-pS+|er_~i JÖh/%4O8#/Agu,)]`b0݌}dv?C9ښpmW"uӀj+`8__AG8}LϢPv=Zw.>b  |y`~8i41z+YvN+W屭)u7Fs *82w5𾔫/o9܊({%֞jTK55Js5Aףթ3.=cqxVYOWc~~{/xU 8.ͬ=u@eK_y=y.Xg_ҋ+:uP;6?>Ȭ؀|>4eW3i՞E ר[xׄ{"x@q@4aZir!u鞠~2#=S~N|z_חQkoau\f(Q&ijϟ~ ?r0TIn2$Q_\=iWTVdd$ /]#WTXC\w=s@s|1ϐfD_Z?;1-,/x`ޙ~z :U[[.7qPVC7(ӅP1yWqٮ|+)LY/e?IDmߨBGfJz Q F%?~Y"&SI!dVӇ)Qf _o-&eB,X?C#N)VQf -ɽZZiQd!1a XVZ`'cm O۟\d_i7;a'[]1eiXxpm,D,r5ekw -X Yhk/u|<jptl}=r@ik;V<<PL[. с inCodeListings\Listing 16-1.docHsnSmRW ޾HQCq #IR";"bT>a$N9I; MhGaݗ[xZ$#"z 1H̤MzI1M[//aPK2WI})dkdzOJ|?iodޤKCz|WExKOϾGW¤j$=֥T0^?)O:ۏn{\6솣kj{궊uK-4q^8b4ʬ\Kb$$&mn?WL{Zr_WUu=s6r/nzoTtN½Wr- Sqoa3u 6B~;mbփv ;*?rU] m8nZ“|ہu{6w1j/d}i#%)Uj&k}inyoJUt_a/uF&>5t< f|Î@z V<L\. g inCodeListings\Listing 17-1.doc&U𸍬(|zR,XU@0jyQk>[-AWM)]yr?ݫD`݋T*` HR)L&%Ә$|#jI\s[W>TyB Π X_ES!l˿n` }KɁ `u @&/ "}?._z!=La8ބ?BBs3y1eHP0w/+ܳg~|ˣde\bk^1\{qaΝ_()G͹[Z]Hɉ^2rn}E?5ۀ F:oW<L\. [# inCodeListings\Listing 17-2.doc5%oJlcg.VǑnp'p+X+,q+U+p|p䨑.oOm+]OѨ_*dɘd~$M7M`L` &_`/8N-rr-)W`c~_pyzS yns~|WǑ_^\/KzV+,K/V_Ͽ T>9RP侶/d/Mdּv[hx==mt%+s}}1GbNlaYbCeyLc8d-){DƮtӵZEc|o/ mJٖ}a^Ζ,O_l= 0AebT!z<6M1 5՚ҭ/vr:=Qr(c0-$\?҂c|[ho<L\. QT inCodeListings\Listing 17-3.docY-f(8.̘UQ$Zi}Yq*)5l4R46jN:NaS5͊qJE;̊%5?ppDDc {7SILgDM0߻X_7'R&ݥ铠)SQvN=09??hDZ$oWdJ+P27}s\n?iČ.ߝn t}{}/r&>V1<{->#;3}\|/ȕFF'ed7$PY3"3W("Uu7h`V~UE-OuۺYG/*4b-rz*N"x:@y<𙪢{:n[#KmK1@cA_ɫ *WQ-0a"\sUF2U6Wgȳj`%fYy#Iʐz\l_ K^Ҫul<ܢ?pp?>k}gUQMߒȘCK. '9=@Xc+q4}.4>g_fxE<4L1e. d inCodeListings\Listing 06-1.doc.%XMp,Y+Vpn( 0ֈ[1 lƢY}tsbEC ~8˹''`{%PGCDG8qP#G&(S/sA~;?` Lx@6Kt$ZCi;k=&Ǹ}y̙ڜ<+\D: i%K*wP0FՖnh+wP<U?\)2g aM[f 0b0Vjŵ%_Y.rh/Oy5\:^OiV_X3qmϩcր ^ *65PH}~ʹ ;{uUF4ZMNoTn|T̻?05ֳdKL.V{SHemJ:G W1)ȣڈ:8y1Ì>{fw<Lj. Tq~ inCodeListings\Listing 04-1.docrܮf%085:.(Mv.X5Xcc@g#NtL7` LeQ)cWl-c?v+a=zu'ĤWoI"~$T &}K(|66 jGZnnގq??l8gDӫ1D)=+-zS':ЫC^pQUĔ`z09C%VJEZzիW!BFxa昷a4` k,Fe*XX̄ KȾ<쎀$q `VsR |^}:FwX닭.իTuy!9A H))`U0t|]argUF/Kο+x{ʯ0s+6払JpM)捫_Ln %thzfy0ޖQ͏jFH4!F~fIB]nFmc[I4+5 Oac=TfxQ<L=}. .ӓ inCodeListings\Listing 15-3.doc>ZZ 4Oh̖r~:oi13)֞BEKQM[$;#0پDsWRHM]H;f,AdY<< 1'$E2b龶u&ϓ&$Mz{'E/ZkRӷK;~mb~ubXs.#񏟩NƇ'?ReoO3x!t3ƶ]NL>Vf/UonRش'59Tj;[L'"I.'T~n`"ˉזo3+uOYe}QP7TO`2 Ar-g__PZ({V>rfTCɵE`*s$CGǧ x_%W1\X֋q^,lrm_{| '$_hI+DvX˛{ ɺF=i;\FV%>ӖїњYDq4`%`֬|,}IzɎ.wĖֆ?'M$o۟I2 BW^mB!r {M?e9 Yu*yqm8|=|nB b!& [IbeO0ף+_6x1rPIQ~f@pȕ](u˲2%9y*fh80]<Lc`.  inCodeListings\Listing 20-2.doc& }?&aɸ^aF1W"$e"lBޚEҤzxpBG$ 7\J>JORQjnת][YgBf Evfœm@td2H%s7K'27ȯ\2ҷ0{o'.֢e+?x^ y=|~F^y8̢zVԮ] 36%K$}o~.wnj>I_//%Rs 9]:z R?>hRwB֞_4ǽ /gdw>hR?Cw?hP0{*݅Ac8I'ǎ1HGGwo3")h(5kxRK?ƞybyÅc5N_UHO)e6ze+GR`Հj=AuA =U( e<(8ߨ_b^|!TBuxdxi&6Vf^uez=B3>\YmB"$n_јhlNuL:!_@QkAe ^{<L`. ^ inCodeListings\Listing 20-4.doc.% ;MCGV$rPqˊñ &gs7871nsšúfE.Qaaݫw~wypo10wÈ#Q~'j~G8pQs>.6k+vt&(eI|l0.0P$OXԊPT G'\%Q>&`>֕5ٟciʩVw5lRj!a&^l 䑬 Cd1+fUMNgx(xv~#./WhMw;KwfTĐ&B3I`\cFphNʣ(jL43#Cw(;myZ2_iq/-PҪpWU0Q`@6W~C0U+Ĕ2szP6zj*YV=vaڗjR#W _w$9;K)a{iw츊h7P=&ڳ/5;BkB7he@:i=?1><TL`. Ax inCodeListings\Listing 20-6.doc& 0щ!&aH2WzPu0)2?c震t.ǂiQv$iEp&_M.9rf?9/n~\چi!pPha:H3Ux)!Ǯe_)pPf?GWW@t@`L"oB0Z`@򴩶j лV\[r AN^ѵU|Ծ˯3ɯXŏ"ỈC:G`_L1hr$/.v׸ )-d$80]3w98F02v|9@HWׅu:2 uIxĘM5dWr{ }-( 1د挏ۧEO=I'4 >nwMyE/q;?A[5U_Į*~q?!_\;k\qvQοN+%bֱac1I=y1L~X}l~cH8ꁬWǏOR `uMM"l~o`koh/5%z!< Lb. \ inCodeListings\Listing 22-2.doc.% OEz_8΍a!jaE !n;JFGpñ_s;Vcaq!8kAIſ&Ԃz1ҥ^,IH 1D&1oz&Ȥb"$/ Lh#O 3l/=WQcE?([ !Ɉ>1htԏwRw_TEQop}oDr[|/Mh:EXȵ ( M z*8V ]WY`T;V`;k*H gkm06#$k~-<+PxYQXU=;6PƇI)7epr`k=zU.(bZG7w4oT (vrsߛw{ݶ(W\(7޲xb01_Vv{@;eg_ӳ VX I=oRtc<\Lc. /? inCodeListings\Listing 23-6.doc6% O0,, f-daQVXXdFRVdHr#9cĪ8wst(Ascc!OaF擯_Ԅ8N8@虡Y3 K37of59g3~3n6,_A` hk% /__qzV>"_h7?ϴn߱Kٕ;h||[<˘1t? řkS{{V'a g__x>kki)o^t7ޕ+vC˽C`n8'+`˻EbD`wˣ>cX%D'vS&ha\H6FOeއ6Jח/ %鎾3ihΌf#'+QߧFi}G. J6P#~҈c+qzF%U[Lrb9O*S-rB&MM( ~?ѿoĒԎX-uqn\-1zC;VT96p,&I0py`3T2hR<L&b.  inCodeListings\Listing 22-4.docw% >~w~>&$I(4Τ7IL$&w ӘRGD]t<>ſ#ߋbz7*KJD~I~{~SĤQ.' '!pwrsCn!Np&gcB{t5:c)C% GˢKԚ\C=v٨\-^4xAz!KH@4C3c>>v_g ,vu`W=j1]W/$V;U3 Ze B:??;m1\Am첺,h>6S C֬5+ 7k[\}]])IYq'`KgZv ';זCƬ#?qqCU v eqh0{J6)e=~cI*^?|`X,dc/ǚ_0X,K_ou}*3)Bu<DL8b. \  inCodeListings\Listing 22-6.doc& YA AW^ݺjttZ/Q.fta誸/{97 F&A=4RǛP%{Dl R0 %%6M6acb }&|ܷ+m`~>*:v러4uV>-rX)[x>DS^ x"^Z>ꔍLh{J]G;?~){6b=Kˇ ګHEU`˯"cǒ8se:dyMU ű(u ;y@8KLVcT}`C[=Eq+"YD1 ЇLy~_b2CVSOڢJ ݚʤ`8)zˌj+J.S瘲5mb1[ϳI7ǽܗ/?xpio5<LBc. wo? inCodeListings\Listing 23-1.doc.' 1~&`$`EyV$R(/FHk" 7ɰID)D̢L=*Сj(v&oNM"dܗD8 $$dDMđ/&3.mnBLiVg|1ѤgknKӟ#U[f_΃yQ s#FL| cA/uT2q,ṫlTmBu0PhXCW #pO ]:*xd\F?= 5\t}t8yH}PJ'HJuikOXcȭ+=M5ڛ2U]]~槪EcoQ-+hW2Vgjcx{2oou6171 Ljw7%Y 9&0sPv_FF'1)Mkp_^p]<LMc. ,O inCodeListings\Listing 23-2.doc4 4~[z){ڦ2&0fX2g4&p^ҩ)oNs}O-(]LPW:T&v/$IL70&McX'Z8?R8|I HG wᴄvgK^x=-E[ͺ?{DV hZ`4)ޤt,z_5-VxS>[RrUr#nP̣sLbU_,g1tŃ_a{{0F T_Llt7dݓq5j}a'RaZAIt05?i J;ٽ~5.Gw/9߾o}+UܶXa?a:p)FF ʿ既| YM=s/{@y< Lpc. k inCodeListings\Listing 23-3.doc.% VI]$;sR\S)]>Ǝs7499ӽI夎TXy_r_;^φl];VvaV}aX[xahш8aqދ]dAǕ tu}vy zhLI."fVg&:rsCe'߆jx,DY._b҅a˳9 TvE0X_%+D+Ub_aKNCZUNWrk gOA]Ѩ\XEQݱsJ/D>*xltmNȎPLgT1a4Ojk~4k=2F,AX>sq~ IhIZ5g#Di$DaFLaF/-UK,h#k5ZˉuNjw툷[jz Nvz^OnJE ՝Cߗ8}f.ўzu;pdwϫɋ9Z<Lc. W%T inCodeListings\Listing 23-4.doc.% +VH8_78q~I8b!k!aw08}($5OPC.QB_[ ,b 5hhڢ1G^ғ6H[Vu*atUfUf6f*g UFͪXR#&|YRe=!KCws u: v1";{{^8=:~QQ ,j>_ڼ~>RiԾJ_h:)ijV 55?ya~_ZLZ".`QCVJ.N :7 TB8/ `L'X inCodeListings\License.txtl[w#k@t>0`)'Dv } 6k~!I,;(0A$q;<2*E,5םzõ?DyjXo댟Z?}'勴t=8Fdk}"^[]0&9 T@yct<zaFH_4 rtF{^rS@)<pyG@YyY,m) 3A9bk4t]!?~u2Va<C8!ŚW`5*3SuzSߒY]aI䈈 K+RT>X-kdKB8b ;|>zqڶS++s~{@#(zVtϾʁ&@FE `~,YUBGP['k B\{I\Nؾ6tF fLzkDĘ@(B]1 v 4ˇ/>X )bkS,T fY\@a+ ZybK18[ Z !Xgd &$&ϨS;OE y+n qwdW@oYwª2*P U6y1{ɳF6`쑕bPB~ޮ&-0zPA~+cB!*PS~Y#9Q;}*'LJ=7)>z\tYW@ 0Ԑc"^y샃/zL BCOL3 4Q[5[B"_fw&.eu+BNl@]8&07Uv݂ U[&a@ +~  B@DS83eTQ#.ŷ{*CAQ#\#O=|xWS+2ۯ0.^j|q4a+ȘP+c砂pyA+$<*IM1/V#lJ[9iYѷRHe_Rn $PDī8-?N)E`_ {CAV}R4ܬFi;naMۂIXPťF2`޻C6=@tnFE\UK0ZLsFhi |HIzO8]9LW4NL8Oȹm1t;B%ˮPu}:]0GϚW?_rv"԰FMwBǥ꘷/z-52a\7jGl3Y*V5IwzKRD:*o]x~=Z u`;pg\̰:D jC3[VL#Hkt&E+1GSs9MΪnHM^i;X=߅L'CJ+ gp:Q%Κ[Xx|? CYc6c՞iddmH˶az6.qWG ;eҸ]b`^93xiNIp? kVD2ZMvcAᝮ[t)qk,wM'F2E.r"(CfB ù ukߌ R+AEqnL.7#x7gU ؄Q4&ПҡK0 ÉJEFr7@CyтI T鞚;a|AI~3V?U08,9T?^'.GpB2%aHz>"?} F_a5oMy 13j ζ䅭v:fPD4Ws6i&5SO\&@ ׁ,kA;dw@d?S kG->hh5_~ПNDooSn!!)G߳v#]>CI <^!om8.@:m_WiڒIT$I/H̞Xa~GS? v]=7|{} 3r_X)MbBҴp3/s9ϣa$]^ ȯV}.iJ>ojdH[jy@u-MTyu u"YJE5%Y @$<RUw0 T1 inCodeListings\Listing 27-3.txt"S?Cǁ>>='R081]483x<-d>TzY׍wN(rl(ڠ^m%4KO-mV&e'ڶzѦD9JT<tUw0  inCodeListings\Listing 27-2.txt&יM3nt?}}C?"GQIjfY ,8RGZD듇3E14FO\'[WUY@r<,Uw0  inCodeListings\Listing 26-1.txt47{϶OIZ! ƾ8"4^9;hyez<dUw0 J inCodeListings\Listing 29-1.txt4$/I H+dl}ɐ}&2rD4&#5X-V2I)9Ebu JiŷRGO)g)a? &ݼ O<(Uw0 H"6 inCodeListings\Listing 27-1.txt {%i_"@=t <4qUw0  inCodeListings\Listing 29-3.txtF =5{A %\j8x$Tc<L_%Vw0  inCodeListings\Listing 24-1.txtO?zD%BHlN  p6N@p1Ĭh*YAc8͸<<KUw0 ,:+ inCodeListings\Listing 29-2.txtb8DBbB}w}"8NF++ SRA@ַBLa5LP"**ACE**ԣRp|J:[d?ڎgVoV3lu! ? 5ӧvri ¤{̪<]5;xO:ڡ[a)hE s%ǴXe_CУs}Xཫ([hYIl{kIwWk[fCCi& tLϟzBKӝ@'' {^80)`A- Du l\Q ljaPvx{6YQRך* El9#m-I euo:y"}08*=~'=>_, "8HE: MD? nULͩR%]g lf7#$5&EUQ3MV_ƛi# էHVю-X{jmqv  %1)N#4bdPǐ/_=db8!T$w-sLs 6@6, i1~R [My`;lYT(`8OG j4piGZxIk~ZQ!Q, E,Fϭ(MC ,"ָ̃x=eIk