ࡱ> n-;(!PNG  IHDRio,=iPLTE ###+++333;;;CCCKKKSSS[[[ccckkksss{{{W!tRNS!IDATx]bȮeキM{m%ٝ$.9"Aԃo2^ֿd׺^۾a+2^e':߼Wow[RWoŋddG^u]9 W繎c[d8aHRfeU ^q~ez\jFRaE }҅Ed?QֶE\BjȨ.L2^\𒜱Ȓ($l+$ܿ~ܮz$-J2bz?fvM)kg^B9iu]?<Ɓ~u]E2G%c=wa٤C7Xƫ7k B$21!Ey^V 3gbMգ'yy,`. nW'qV+u[mNg*JBK55BRoږzُҒ"-1"lsMaG%%w_5oך:CTQZ4oƫ7 4PO!gE$d_yۑ̠'c 5Sx@XoGWokx2UͶXEFBܖih<#ͱ#Se;~\H6Iýcߵ8Gbj9Z,#liYRpmF$߰x-NįDYKD{"uJ(xnm ׺܂ ._#jƫ7UFVg⋻aWXLy1lji]+/8nl $ssټ0 Fez_Hl#u[^#~ ȱme۶zEVu&az_( h$pMLǼ !h1;I{/$au[obXN\K/I{eha6O(E$p'rZ/P3jN-(T%Q%w4庾Qc[qlY]ۋ,k?],tN&uFƉ"X7ͦ8PdQ;%I'( (N޽.n!zXyߞYMYx%~{&h|3񻕚VTK&βm =Q/W3KVu0&<=h皕Xz fz|i{tst̋rύں <i5^* 'L x6.U>,݅JCgv?XBGsɬL5$g7%)ْ}}ZPH@+Cܴ"0;<" 7cm6p2 ]`Z$kU?8fz˂@8sǠVzdѭa.++麄Wij +jύOT9Ҽ [#13Y  ㅻ3gᝉ3K/n"p?4ϫo.ѲA]22^,d` &~yOj=Gdn>t ]S4%NOn[үwY镦m6iQ􆣿9:NDY}dg2wșhpG;-9 t?dʪҒ~>B$iߒnjc渹ezH)^[>]'H47{Y)liQֲ; |n#5uy69!Vm,?ީn/3v ﷖L5I9^3.iX=)n((4,+g:|E Ȏxi&^3N3ifjUƫ7ɵ":e4>Cl85LӴW. ޔ ]Η̥?mlȺcW !brM0^mXâo[|yI=ccI]͊kWx>ЂR>&3N#uYmMY6/ɃfrۋtHz$͂؆㗬z^ ʒIUd͕*;;>_e;,Icmq`t#?LmDb4i`OD6&oX,jB~;HgnVOaT-Uk]2MIjY"2 ` #˰[+4'!K L;n0 #få?QH{k;0-/75̢Ѥmnmg^[$>Hhd9$iKgKRH4>,>𒾽 e52)i'.ĢH r4m/.7j"FIEu64 gY) n8yi{S4r &BZ\'a"\C]Ox~V}'X'LUPcQV5mEI~AQ$b im?m vzVv K,DNnC(o+"Wq j%1RsGdVIhϑ/PsS4g0a٨〹 ;X2  Bƒ4wjDDa&<ɮr3:pwr:x~VvQ{N 0bon\pP|P˲t-4v]a Y.NX NoMuKbj|1=x ;Ue /.%lͤ$׾uBuJCrKLtxJ0&To]7H`B俞HNz>mSgO#l2NvϞ jLuM#E◗2#$9c6=I:>k7)cqwi5m u^scv$Ԑ.x«uh4)yE-O'05^_-}218 βexl1nzW"ٶD!X ֝T)ev -' Ws`_hMu,]YwQ:weq9B#`Q3^_.55(̹f-qϵ´"=D_Y{K ,ue۠ tLVRCd'̈́j,()(oʤ絮KQҟ`㫤SnD:[j(cwީGKIqssw{ (Y9 x/o+^bpT1`CQ)TWoEY,'.s\ Ws((&ž 7H>FYV餖(`9IfB1h8t _M6@j#E^'Ń!f]mA|vg,xs-S_/ZOf<.׫cCyX;l.7 KсvHYOA_^ nS:ٰU%׹E9/4v3~ۡGL$eOjƫ7aP~O EVg,Vz.ի+ F<'L}Jڧ. vBQ]3 ;,'= >D91Ljzo,5'Xp*T8T2tւ')Î5pHP!svAM2:Y1)hV%zyo_ #^)wl~yR <.Bh& DηA^)X*4!|o]4N{ϼJe}T6C)8=R$i8Q]J B8vu{SQaosÎy'bA@ ťO@3[S0XHE釔vɣ}8q!e.Ůa9Lh;]j&rc8fe R)ˑ_6M^hwگZ ?iS'681JQ,%Gi{24j|]M5cXr)!ۧVh`` m'pNY0+[y&ܶ6J2i$ɒ Xi;MĽ_dkQ3(PXӌJ%,8Fl/tYΫ@ul!KݔƔ'wKORT8]xhÖֺs?t$;*gvCFZqn\]dl2_sz%jƫ7pX\Z/ 2Ow~шQ0&ar.t7S; &I5~UI]Ƴhjvn[mQCs뜮I&'.`tCxPF2(-;VEu]G^pMtcJNOoyI6vfFC]2mߵ,z.'a9O b)`U^ |J.Uް= l5[xNKoTMzINz;Ml?*0šc!T(vymI%Q ġt(l)4l@'ٔE;3`p_0??$ yOol" ,zcuxN d`9Ǝrciȑ`ftob.7,!jQ%ס>>D6lNSn`'krR!7u_PSTt'ug״t}r9x΋.diNN vG5} O{73%3vCV3L;=Gj@zu0M1Cc%yr;ۚ[Y4w\UC&..0k3`8&AR +HZ\$ !`A~ |EtЋک6ME(A)0KQ_sȅ<;jy ڰ3#Mv:q%͢4*_ƫ7W J3l AeF‡tj"z*'+r~4C٩ɲ|@>WF7 Icdݳ`.v0n.y UYnZO +_mNsOK=cYB^r%D4oG} n͓?"SnSk%ӋezX|&D;I-(7'>6*i[wwo2Ӫ66~).ԣiteHNs&s੧$ O`7 inLo#;88=᤻&Ŷ*,zxF(࢓I&HXذpfy>lC&.r'_wh_`$K5E!v֙B6כL)\q=뼼ZIJ-<.?PZq$]Ix,^Diy}Z΃=p oEu߈9`;Q[gZ5gmZx֌WoIg,q¢yN B!s#BͶuȞqL,wں*"Pcaj!cYD O?vsfPM;5^W${^9RZtQ?XELchB-IYR2B:QG f-4YIc>#(/}R]aF€rW !ptRot~[&a]B˻*xnVc&zk*&6qJ2zB*s#yص3lceڵ^~@E2G#%Y2YQ%#m5 eWeU{cG's(N Hr[lÁHt =%e+ Wsayi@/'M~\byEܛ2i nntuDnG_YsN ~9ec8g!btn~(Bо&p\.CZ6kWp@5츿4d;u[ LҨPo(qxU+%]o}ko/j0L,2Iu!*KSbRcutü,XyqiGZyL(T+]Pi2P|GCF$#-؟ eniz`v|N9-n1ۏkg2qv@H8p87yCzi9jS]ʭt^҆qxٙ(CAr" c3~&%x&p=75aPfJl}AuuN'lnht kՠʹB*w@="L$RP g[ƫNrF4(w[dEͱ0t|x3+Cż)XGn:6F9RU [SBj7]O݂l<1i_s0ضit,$npٜ1A϶M }|6jB2З)&ZHE6|89nض-O5-Ŵ>ö&HH7U*t?GnYa~q;Obwy{?!L#02^vf "GWS@zż_H?5MOXz-hhn{βGAȊCO󻳱lPh[!:cye| gc“O[<%NR:ynL?.cJe-aTSJ)SKYtP)@nWvsi( 3ĜOuvW$i6@-GsUg|yBw8OBy Zկ&G3/~ʃ$+\;+PhX/ϸ"W2> MV4HQ 9],h#}⪽VW$2`Va/N[8 " &Y ۳/>ϟblط`h*M =jCNI^0 H&_?%hm3Z~yL%y\>cNTM:O'S.&ɝh"8N j/hҊ1۞mЃ;Ӽ7ut~#EmF&b)drܨbSgI[Ծ0}%(N̝|5Z^ș9qF9QcܺY(-|eK.̤*eH%yڒKrxsW rɽ[O'.)fy#zlaCKPj{xsոZW*OЅ#Xa@>Z2~ `. s4PRS[ ڦ)P9nXY2[ OݴtBG ɐB)5h*LqT Yu}ۤ~\V;C z4pyBQtE״爹VrDI4 h3Wj=׫'ƂFn3 F+mj8Q9cS1##I0+D [KR&h (2l/J02?7iepyxt"e &|֥붩aA{mlp2 1}Jr)(`ck[ܣ^>-tvq kHAs[]ڂPXuIj"Owo٪N2f7z:*d촻6JFλm砬j&a ,O?5[ nd{kc`șPi)ryRG*hZa{?v& -wF`YZDY I~YV3L W16IOG^O͝mW! ~{=td`36JC (ݍ)Ar#.= lMؘ 湐t~\.KpЙ$oћf?y239^ynsVl}0^ a췼 4ln,\뮎8A cIKzХQ1}uk3 A{nUCEKsx$Drļ4-7rPjhseGI*Hv<`uuMQ='-YI3% ]47e)I!!f[`u(O{- !X3Iهi^A|Zn}ڵ/ 2'C\Ə5q6'!$t9W $0$isEN?F8\,G{IgvmFh,JÐ3;jd]MzheΙ\; ItT)p'B9\XVOZmI{+ufI+!xyNWcbF IGKcgk@:WZ ryr1Lr$M5,7[8Gz@a(o2NJ:W.gו`8ٴ02zCQ#iUC.@ȱLcQcV '?|d`?fؙVdv!ј1ϨB @V|{=U'QޟGae]F?ޞ+r{iq4haB7PXwhXBjP80Ke'P |Dt9NP1ZF ]ŚDmlfO%NU543Hڔ=53O_ =N#4`6TӦ޻Ϸ0VDfvBW0.hГyQa.9a]~+; 9:"nz̪0~LsYP0Qڍ(,||zIpdWEU*ow Z |q*oixGXCk M8ItIne YyktyqII{r6؁͹!CUb~h c`53ѥx֪5MݚENb?]:mVpaͲ0\nИDNĮWV1vHg X_rǓ$L,S<ǎc\%MQΈ5_X[dfԉ w!qE"靏ǧOq^[~ͨQ,lh@O\̺޿nԞ[cՃ&QZ =$I$Jp>ݳx֋j?8{3<5/.z9TH9Oz\jwHu?p8;aedDME sF$/|@έCb_q5WȇAr|5nQ\ykД(O䀒&غԱݼݶ03?pa$g8F߼ +dn߽8NJ;h%pm/.sGxE2s&r~FE>S|@&BދsK4r5$T*`diloG gU}w:O\6 ry&٬Ԝ˟^ƷAۅ?(1mACvձWs@upSWVmhqrb+ߧ!"/wcU|O&T_SSЗS5}}) /`y(ק X BoP2 \ -b7qכGXn;#3Rdl#i 橆6`\Bu(XGq5oEu1Yg&I;'ǔp~#b 9s. p\Ȭ`w/3`vG=H h@r4ow.Vŏ7 m!s+T|ch4敫4y0FI(2 ][%&q% \Qs\J ٺvk*?woV".8Sn0}FOaLu,p?67\$m]%rWPhA= N?ViãSQ7͏YIhOyٵ i;KI6&OMsY>8rs[ѿvi (18<5 (-k(ZE +CFeo JS\.AJZJˊpnl7.,)Ht5 J I[:ȂGb8GY Ѵmvhu}]Cmë6d&=w_6e/fIv8( J@2Hf;aJ.txt:|H;6u*79<+2 YW l{br"tP}{?S,(Ms!w!Oh+#)pқdy3[MžﺶOp*wҔ.$(rVd 5-S>vi>$Aݱ"Аy?} Ե$6lϒ/m<)(S mѣ gpEF Xݒ9]CO=\T5Rs O{YA.ХpR'AȅUSeqx B|c=!l~A# Q=a̞ NqfYt=n3Q)z|p8/\lL]e|ԁQxx7},7/gt*plxbI{&$(kK&s=!_-mWun_Yٜ@aϺ-^QрpVfI ),A4QCkMCM I%*i?FugpE54zT\>bLx7ޝ"hP;q14t%H7DfE) 7?&\U!,X]c,"fped* r1@6ΊBuEV@d^=-=b H0QEq[BޠGUh>+YOb1mcd㼨K S4Z`3@زހ.mhB^% 5FX|$p^cMiX*&uZ񥓱f~񽇟Kl1@7m8-6R,]J :O_%(mvf^t%fII *%!W3@sx5E?fR聤DabymQ lU&yx_)0C'.e~jК>] m" P0 iwF MxUnvU֥gu*qm J9OU]G'+CVV4-{bWM!';czijbfwWMcOSxi9iuژ0J"fv\)p>єM}':L R)`\Hqz'!'S֍ySU$S3ЌҺq*9Lf5GOݴ4䪹q7;bo\0co!{]`i .yJQȯwȊdF&4 :?Xу4^C^ٙBWU>ЁB8tU6mJu^UQdyrrgSaԵɣ$a4iun*Ȑ@3-ێ&?kѝ[N$bGcRu]F05 6sU*IY y@dU ;~/SG 򮏰ݧ6˓5|0\.<(^ێteYG "56%G*k@q"Rtc}}!ke 1TJ2ؖ\V*hA1rs<$\r\/ #HJw`̃"oZ$1aL<௔H5rYl1`T/WN uc06CHM)2OHmGp{PčFD@g(ZVbEPݛh %UTt ԮrxlbJ;:ar-"svGn2  σݎB͔`R0t!kSk9ֲ[xB&W&`Lp䥭NDmӲlW(6:@F]0, ׳ߡm ƝTeq̮=4ZLy&1kۦ%U9Hqe|㱧1I=ŦyzU|LuKDԢƶ21xY|&=4@'̏U$Mx 4a^:;]ۯsS48a!C|wG2:Zָ=떇MƴYa"ߢY$F6< \eo]CyNdiw;l6jwh 4K で29YL/( }"#`@ldX䇏 ʛHMt'H9PVZa@AY ؠK. ܹ{6]4y}3@9]3S#eNwm*ZGecR~EEqncaS>LjI5wf Cbl[e|ߡ19[ǶZkߵMgIz 8-So.@}t.JRA ڑ@wj0/ܞ ־"PzIٝy>Y.I! l)F t=/ކq.KP 5@oێ h jҴ{A:) Y'a2x)@ 6&@=7v8沪mw5Znӹ)##%:ƸP̑-o,(^i瑹I9#+G5ۦ ilqHY\tkb菎D@"i#Zg7bgnTOR`gs0]~C?'MWI@vLVHrDW46%"2 )ƣ AOʭ« 6pxLo$B_Ý`$J& },>KM L-ٹDwd3;R5k v~Ȕw9*0uM{Sլyjwx*(L񍫮Cyx0aOwb|hBO\Kp`S?ua塕 g>Iש.59z)|¸9c*4_:ߴ~>`Ⱥ-|~UDP, :RLRn0ݗhvŪ.$,"`$|J7WȚ]F>%[(ɣK%\ FwչBi`pLԳOcCPmδvFd,*k\f.7N0$tBjRS, "uc q+4d/ft -29  SR pxP I侥/fZ̀V \Vzxx'3Tx* A9%CCNItqmr"(F.C~Ys%չ@t&-ρ8}.x(eֆ{-#s} ݖ%o8u6rȂƒ\yBw7bNy̦xTH=di^edOf&x,`v䯅F~<(}8;.]U96>#6+Kf{EYi6h dwJ:Ar5u/B@2;@I1h$y72#^_D$ 1$F jggz|4#TK赽)țvnJ(؃c?h/ճ ՕÇmG:q_x( Is 6ISmlnc ia%Vd$'u+dM7L]n9,%9VZAG @Oڎ 9l8F=kG$,ِG.)(CޚRjd(Ŝ$h-swTA5Ja;m.bֈ*2N|֛$f3 g1BYuΡ0.m2 OYgﳣRp^a)$}q̣BG]g'w_}@RrahtJЁV2O6p,k 83.Y# w:QЖBxq8*eC~"9OCwDyKv݄d3SCOja~r"&oN_ (ȅ 5W˩ PxX ?>zۺ?$[RyT.Kbsg6 WWRvv, 33k1@n E QjcQ#&4XLH5Ud BT:sf@eYʃ߿0rWU(,&R$\MkcGmzgn_~Dg?QU{&:ɀ]%lj:w>wavۨTm\L>TL[Ţ}E:3<3""OR4y WnS5 < AH,xpҨpk<^'(dU` P p,ut麎 3iy}x?/?"FhWU. \!"e .J{F,h=Hd.Zo3>O:flZ; CE'}6{VEFz{=t>xA@+bl;nPKru;j Q) )5IHe'/ ϲȋ@)2fĺ@<b_~AO==dX*h|w> :)?WNtp7}n6z)=&آ."F${I~WHXאꮓ,O<+Qk:[ϹS=Ec /)0YyR$L: =7);jmlmVgYi'xK@kGt&Mnd7+#6lQ i~XG]ēA謠Y>cce|ݡҭ6x o%x(.sK[:(왩Ouf_Xˏna[}GAu _y@{r}ʔ)fQtw+-Q>i2!Z+a;?-0⠸n 29wuBsC Im =[-4bS%M8; ժi:^des?fUgT<k +(J|rBV{8ewrϫJuFYO=нN_%#S-D"U>"=[XfJ (؏m(Ao1\%_m@^@b8 `(̵0XŖE>}52xO\ OuO2Iyf+7pv~Be#SNr90\Z5 c# 3_!˶oچʖeJ ?:*OcL*(00}>ucqr"OS/<۹JY cD#>ֱ <^Rt.:_%&~|P7e}LIcSxb-Ʊ1ARIki!CH[xd(%i2 vR ދFI& 3fYtPB6$.C"tqJ74-'4TS$H0[#&Xdt%K/2:|PPY! 0pd($3p鈜2+P̭Íb# LI[^yQV% P̺48[WIa4!=,:PEF) > X6o:ۤ4;0WpM,/ F@UegE99>Β 8S5uGreUFDZHcz$Ԉ R&L)=PF |袵`U aϦ8ݨܪ?6PxN"n~%(Gkk9PcSϙWYQ[HM0jnQ-Vn1+=|.I]V-QH~YOWoڍq MK [T d.;sp}RC''--gb)ѝCkiB ib:=XI$ }iI9/*_~Ͳ-sUM6G"I i %v 9 ;8ꝨKRZw`8y=EI EZ~m|mĂSU-K7gz11"=M]M)\A;u>?IZ5}/EB&? Wre9܄Lmlp7ďH_z4M ޹h qOW"!NX mT yE%PV)g ^cȶ$g;$ibyWzM[-(`$w/h:ـOW/OwiKGͧS}"[|k AKm\3KL1u?"($ X 4zH Ƽ,z׬`=I(}: ݼx ]6z_aR=| Oܶ%@?-+&8v5|BcJ[mS{N4;J̴P[ = {sMz@gIM1rO3I i '62/ȁ@XXGnSϯJ& p޳3 44ReNGT!.oi1kڀEy>Yh<65_O2-;1?톈J&E9z_DP`Rݿ{xGscrb9jNWQ Z0FPBS]%G=̖wY3*..A8 B^Xi?ME Eּ͍= ,&| 鵷G)__RYN=$`lz ?5`ms$sNt;y>wW0ԺQIm G :"n tcħn%s1_CDhГ@R/"ocl^PW&u 46FatSB ?Rh_x=/CHtX}a>9sOn8!ijd lpyI,}ӥ=tRNMW|_7> "D >+JBP}B$h+v@A-$6"aLF.;Qs8C#gc^%d#'0ʚJaX؋OYV{zI8hdT !U\r~{榵 Tb1bq?0ﵱ{IJ *ůYk5Êϱs=c;>!05xlS9shqεJ@O%[#.㥁FoH{:MO%0u36E^2B̳`vZ]ЦvȀY}vt/Hfe|ݡsPLS]De"Oq|G0h)^K(%< ]7L~Y KU5Q T=iN#h~H]lS㨔5y<'6m8+eFÑ0l,OuB >"-4[&-ӈ-E<]p[qaEsĘVjl2sIOۯcjXMM7o #iӵ~ZHVyu(|a}< T7+7n!$%]Ȗ2Mti#C]\jKʳVh\%]Rh A>?hϣ05-m5REQSWa&$ϼn(5< V#7]-]ZY&L) +TAvD&<=WKeG[u}/BsuWyUsg*3u:NI9nX L!!{Htn|/AYh#݉S! ,#}z,ŜsN)/ hM=7ˢ(D#lˆ9&K۱ʺ4˾c V=U5jjҢi(mndcL$J5COiCGdP۸R֟& ˭ˮmYq#`۱NwnE_*?imBcrl 6UTbBìl.iϴ =QzZuYD/GmGB+PGP]|V2TF0yeyqy[%YI.Mjiq5S]qT ͵|seyI}On []o)@%x"40;; ?벴i4_ EQ[%lܶۥn{v}t .{KmL뫂b=" p1{"XАFQR2~~!ɒ'fi =$Q:m2Ð6K.|Mx1g<9bJ>v ^^T+'eKU \?O w e|H|P_Ε/6KơVz)6ϵ-b1IδM;p^aHBE.=X. LZGea\); .)UӤ(<ņZii Kc_Lr6 :Oq)K2(alIur׹鷙qa3XB~CGmK{٪YTLY}S#e y]bXtZ$# yj^0"Z|]=1I*`26Nxr~μ(_=F zl2}PV9-eJ7Qj v~KؑTQ}אSXg|D~"Nn+H֍?L18Խ6Im[+#3bNizg2&g^uDӨyԎgqYgdiSq5)#%;tQǪ鼽HtiVa^aʣ0l\4cz>E᪄O]|NFChaCu"߽wTwp6Yǣ0oǶ,=M7Cg#ʟ)+Bo r5j"aͮ !Γ((qCmA$dO]͗I<يk8miGN* DRM`q5=Ec>XT}h[m8, 뱊y|Aн4tFmgl߿r! YXR{E#z e.STE(8&ow*Y3Qjb,#T!$2M (^ HDCFJin!ьH"$~(A6+(rӸJwSWT҆Ԏeq.}Pl6Ƌ>Zi *3uT/u>O!d͜'+$~_/*2CM(VP R|Y_^( ,l IV´y^7e2/^2t, 2Qց3@Cwq~"/+#ܹ1]珹oUo )A~`~&%;g3O.Sq~%:*ļزӛt#PJiI|q:̴tbb ߪ(#lkǩGB51UIRI_eG]ז&Bm/n] G@aGځ2Zi2bgg~Ieue|@\1T|Z,~ap$B9}m@Y94h tLE4jA`oU-sUݧ,YeUq,G2 Ԉ:녥ݜ׏:&Xd.R0,/qvp!ejCr1 157"&d_@m\fi /n^:8.#*hLiv?C;ǀ˗]LT>_%KC D#;zo# ~&M {b.ĬofRR~i3n,~i%S_ 7pxvAX^:f+Ƈ3"L8Mdun֥v` vC@2dO`)\uKfEf_M=}Ox3wL;~0mo.䎇º#bL(Bf|8h=;5А:f>p9 -<4FмR$7,~I^Xm,hdKwǑjݙe+bj||Csե #W_ԋ,M jO[ϲi˷´e|CM`/R7nOK{'+6; sں|ćlBcއʽy~EQ=N3-?}'j1uSetEq1)'||SPn]驼 `)E  U*$*ߍiDy& SPa a̲uK6 S$o^llZK\x:Oų:24O$JF(/ʒ4 KgKKݾ>|u/(m3-A%=(xXQB|(Ш7 8fzyK{Lu(cR;qy/}/P6e݃ ]Q./S،mt}q½4NSː}cr,|a;EkYybM3ZS C- }Uض ô U9 ACVFI7uUg85)c˱ݤ[pIGnČ]HNqZk2ɺEgșO_-q#Y_gb cByt9A(A Goy JYw>*vOPnQ%0>sMsmk/Vд=t4Jf82 =/n$L,ͳ&뮈!y=el,[Ks]e\XRM>eMUR'H{v˧Og"%XVf@Og!qj'eScU~ga4 *? ߰lu}pYSMszǮ[ {BnQ,ym@7~'.6ԺɄ +vZLvphRxX'~@>Bq8zM'y,CGFM~A2]f@dr56K4 !BB^jš ~=硦G#~y@R\U0!qWGO=OQx2>sycy(l8_KT(Qu2%l@< rك8M>_1 ;B67M ì nUg}ݨ ⤦.ssadmV8uSMa=*"䎩s 1D 5ƅuiS!4!se4mwې7mf7#|d21v![M cAs&º[Gatg,Mn(`+/m'Ɠ$ .ɋȡDy mx'GS 1HdN]9LU@h[F'5^Pmt6[JS!=a]f./|ڐZf[!3ۘ8԰-kZbvH*C~um!%U]O* ɡɳâ,ðA`ൖ*j qi?)L=W&#+ʶ;(R5=2ꮌ h >i4 ܻU䫔Wũ 1.`;KEl>_kN4K[(\q9( y;|Ӑu'$ËŤ3f >mA8q9uBnn⠠ 3[]qYi35s2"k2@Qױ=Lt|y4<`zddEv5pPrPlgQDIUpv]nASdFwؘn=|ׇ&k",G혏O[eAٕ!1ɻ**eY>XnqH{6eidCG\[m~? x'ymB]msa.65RC #>ɇI@w;E8vMxi}pgT%|jGH/b2qF~m]0F+ZBbC&:]-- /mz`iUb Ɠ4vp:GFtfi-:> v'TK^=}Ai҂5zQ^3~iPQz=WŅL]Maw=[G },}G]Ly)~Y>  UYu0ҿ0aRdgL'YN{B'̱ǠYUUQ8_+s. wm)fq{Ps[v?U2KszlD=bimFb A6ZsY9v?ayQюs9Qt`iqOPȃ V7cΕs,FgLeV-sG6di*RO<@lu/u7gꕳ'zxpQeJmY+K;JA_U8~.ː~!Jf Z^}bq:S64 ݯ.݄0'2>s5={/Lm{Ģ<(v UzKMl[NMq>\e-#ӧT_*c< ]>C6Z/(6+vgŜsXwfR>XQ˼viX0 kySV<¸ס,{s)|a,+X./!r_ݵ~B\~Ӥ6'#aEF˼N[ ZB 耷pl8V fѷ.o,S,mvy/CQjjtmsxig[DǢFWۢ o_qDFA+ͬV5^Fە="ڦbEmor lR>}UŠoWⴵ/>;euba*ttk3L*6k"ˏ;AV}s.JZ{c{S&JxE+ \en"Հ|#"cpVTi\K~;O'Û)4w c 㷓SKb=* ~ihKז.+una7jqV/1Z1q4~2轤gPLrě}\Y,3Yۘk.m-J+gnSt&c|1|J)bMcbd.>lgf$6yH?G| V_eϝEQ}ah{wϻrtRT'>E\8̚Pk6X1d ʏ-jJ>@\} )ʺ t٫<(Zi;}j[>[zhӦe: byE(rEEU1Xth-h ƺhCpdDnim'_g s$3mjC*r$+'A_T-KrN'jBٴVݿvh l/\0!>4W?OT*De=éM0ɨ W_[(^dҮ,tߵLIZ7>s|S'qZt+q:=@j sJx(.fZ8Ŷ)ț&ؔy=LS?~^"<%#ue:?h3du]R:+e֏8pp-Kyu%ܕf晬ht= tf_^Ý B#Ee* ji"Gƕ j ۄĸ(q]\ 8 NRAq?ôk9nGyPS2`1ǸfN\~CDQ$'5R&@A8LYi08"Dʏc]M;0yi:uY5l8v+8 TuӂmB6&D~)v06_k2Q䄐1x6 /?-3â04t^G,Ii[S8Ǣ f޴ ~&ku6^~a{kVbZ-Xp,m=cTlއ8pBi|8hɍ.5 U=ku\7L 9Yce(I$ٓ-%kX%q'MbҾ0V[h0xq*31gjEQ5mE"Ey}Eu6-4IMQZr;T㯖z-]:4YUڑw&ishM* ]yHn@E萝tO[:kt kDP~ fXm4i>U䲥-s47i$i,-6:.:p= 0PI7BK(,:K, XVZEu#Ll>D}pλh g6, W󉋴wjJ vtN2hqLV9aMQe1Ӆmd%^m,GmܚEq ni\bsP#RE v<E>|Qm sҧ/Se]e%}YUIYM[5^,yCe%w d]X(k3`C78CM(8(us>T:Pk×R?­64i%&5Vǟc, vOhȽy<ҁ%(>,7%!ek:Ge*"^p3c[0PSsNFxn"dž,-ET C dR]5TcV8k !xjY"-YLQNo8Fɿ8)dؠrhLGA(#=6(W/bT1~3Eat `z `.U#q`iC?FZxPAؐ}߅,}%4xB>Mmy,H^kƲPVyZYu^ݍ(j,#+!4358oc!]vÔ  ".H*_aAGƂtKu,`^<Ci$()\4\pK טȲ똢Q8'w^_?.Cǡ -X h.r<1LP _+a6}4팸݌Ju> PЦ9d%A Ey %uW-tq|-[s[pL([P%qA΢ͫhD"+>;:M"n C eo^ڡhG~Keb jA.A' iw$~P:T?oQfEUW9[Gr)V&7|1(o6bj.! İ-ⴱ:ªN2 "/MAGAYWl<.Jc]R2 tɡ *V+7*i%IF,a~1:#yqLVMu}[;˭Zd-A5 25!JRͷ 2>u `,Eˇ8+8鄘a9`̾y٬?d l*L~y6V (㠋H+z)\. .jUQ:*2_50l ?K_E?4EqI>(yO˱.-!xKuꗯS S6sQVŖαG }qn#_oM 7THFB9KCIiF>d lZ9c zGky98X` x\Xh=t߬Lؓ'{ێU7TpyX7?0ECɎC9Z ,E+Q䢼1~_/"כ*L85J7\J PS2cRVq JM]j+-Yjl;Jo`(#X^6G"ʦ NeƠZz,Y6P>zό<%,(n,[<ȟ!I*Vb߸ϰ]_%Q󾫈MywaP^?MSܘH3K9-MW,:ykRv\e~5(1N kryYH`]ŵDsKm, R_ x0ŴN艡DvLT0wmb:ԻE uV p % אnc! NEU[\oQ<谞.]DpN_eHOuTJx (o-mQ9[d-m)wRVoޢj^5ن4}z!ap2.ƣ*K=/r ie#0f潸T3lt(FlӧbUgEE{5rc8u!Y9d{BۡlJ^X5LOY5õd;PGhCXW\~ԑrخqy|`)Q[vnjv!*n@Lb"ʊ;7bT)뉱fUjm N6PӔԁiFB a"=j8uحlu!͕oq'~X@ļSw "_$Q>hPsĹ$UX$*W=Hde7/~(Qq9F]lyV=_hI fM}f.m5^~|;uN>O5an~bc lzʄm>觉ʡ4u)Z\gY[@1-#B&{ɮV VN FAbJX9!An$p\w+ 5~X) n[י\4D rɧq%1IyXa+W }\'Ȋ,|ұK64\F\0gmɾz6M`]3l9l%Itط-̬]< ;{,}ںYRjdl u+yxO}07W0)ِ<:QS\g-,7TX,m]R#hǧ D pv3#_ -C?L)c ȳas{BD($vFHMdfዤ,6ZR83\ PyěaA4C\mC@qfQ+{[P"Wx*Hz[3:$c4VĵW(=ZV[g[(·BJn$ &k$es T$kY^Ŵ%ו r.oo0d rH,cGLG4=]xئ@i hln:쥣^ Jg1(9w J#vut~eF+?n.4e?.y#PD>IUg\lQ kqM !V[Xp+tujiˌ1 7L}G=znʝF4Mlʸ%X7uiQϢgղ6əu9Aoc+<0/'p {n $~*]QCeű9PT7q.(JyoJulpYË}-,6C"(UV2Pt$m+^eɽUAL}Vv;2s4iVmnv"o#~~-!m=Ldl% ]K^47j^s{ *v̠"[h-Y*϶C xDK*ߩSn58JrkXϐ\#_!gniI-G59@~I Z{nRLznXҐ:`/sH??,]+,j ^S;U@M&-ES$E0<4g}659YAtY4tۂo^D.&8=]Q N<#ي"x N{!e|Pfm=l|nP=ݰٶϝ|"''E,Ivcw(R|rQK_B{ 3'x_0"n.{zYfΧ7, XYջ)^N´dle׽nI{  uLӼ̀b Ҥ&c5)`HP!_|'-]%ۀt/PRCm't! 5q5xP./1@(M0%9e/M!#e)aZd~kH|)bJ1G5}zu @[O>X.!TXQ%ۭD-;{P]gc_jO]qc -`_U@;GIt&&P'֎|u}`h G4,/ZaL Msb; (4Gq(m^YaR@ 9s-"bF ж]TTy.-s M|>>0P!kIFr41ӘU/~u|캣0-e_O4$Z,44(KWRwWPhX.tl /󵳦NU׍,e ^)xy]Eɮ(y. ^x,nqzxŌ2U+2tvAd9Au;yboaw'¼elދ=LjQ6?uQǏ DASF*SnP9U}߽>7 I@=<aN ]ur"6#>/Dg_*2>x,Pp2G`38ɘm)e3}=3L$^3 hRu h; Jodii 18%Ɂ+42z1C]M,^QM]na[ i3Ed ZcنPc+6`^Ͳ$gud&t! qՑ}x!W4N8? bM>W]EQ1-ވY3Ԣ/p&ZFe6YT;N !8ydqA҄&H(#B![g%#{wxwSHC1c#7Ćo .ΜQ Yu|1(1;gZc[TrV,h$0Vٟ]'$2h ^0ӱ٤X3v|zNl AyۥK]3Q;o?кtôbI&uO:u2fe~2z]Z]#E BXWsу<*wyJ/PXD5rV*&l~iZ~^gSmPG\i[Eݸ5SrJ'/W1ʻSOѐI˹&qbS #R3onZ!Ԥ;lx[.fW-ȍ*~Mh# S+84XB'NC+pir٧dl z U/XM$A`v*FEqb[e|`s|{3%;1 |q056&2-E11`<&)1 5Ŋ![85gе}G# 2}@!վ04$ze/`O%1Y.*f3`cKUȗ <ԉ;הa2Ʀ%B("5:7[NN@SY>*Ƀ-]WiR.|@-Ocvjk+`C/@&䋞Nm*c+HǶ(M.om\+(/nѿZy.2 x2C tZ%XixeUN߁!z@$\cͨXqEYei^qﲔ'ǖUm˲z Lm[YƀNGQNM`o_2>w(L$yu 艤xڴeY,7D7Mkq(ϻ2 ,.yuEFzsZ N$gԌ17E3w|PGr k(L"6ݤ\!67m?L鑈W4>嵴aŴmrAfs.BcLlEQ*&JƻW+/YaiOhcf㭣BrHeuJ >$65. k](ؓGal(SحƂϣҍJ|Dz0&'Si46wrפlbHd_cL~gQ N+Ea$&FhIлYI F0 \!⪉lӠY󠁉5٪%]&yz h(,I>v}/@<6Oש E n%I5/,8 EEm2dVx<3jRz$57p Ohg!õeQ鰡r~x;01.Q/A7>Ș;W&SuxiOВiKʺbJ,-Cif)O[h+ؕYJ\qI<3w;o:b6[C)dlܤ>մWi4څEv%:iL+o7"ƽNU%{zQ!C*RyѷQC+σudh`|I\x)22vnʎfF݀l7>ʼ yӲc2mX.x9KYQ(+)MH|CH-KxN¶kL߁u ӷ.H@^3SaNr)a1_k2>xuŸ\F΄DfB9Q,И VEG&Q`%`4 IX\#Xc1C$堰%M"@,”A18mlp}LUh{gj7mi{fǭAYA&*OW.VErl٘iw3Yю:~d<تn̶00G."oc?v7;L+ȇTMߢJ<OTfC72 oR&r 1,'řuX#bIB_8IAI!asf7afajRp,`^aY("cA4'f55{jGg8P;ӏ2\\ʰ'n~Z{r*U{Z}Pheݕbn\ jeQeǍR.gBm̩%ا@AOLqvf"U7QI\f0BS@i{rO|>dfm [v}R!1_Y1Yg Rc1lAacr}'c)o4>{d{~`DӶL}"7uYr}~ƦԚ'h(23ϰgʽg K)۱c{FQ1]n<.E ڴI>KS}WL06nHț<"յ& 'c8#sN2D$?`ti&=5*Im'í`RΖ/jJ4ҥuo $0W˅w,D mE!v/m7.'b7L. \$C-e87O1lABǻyS^g!rYYK&VtP ˴g5 qoH] DL3iEPfm qeWB%Bjo#i/Ѿi30ߖ>=9*"sN @9/>Ȏ 0ڐKY׏m"'ZYoPmCۨvˮ^A)OaѶKoŧkv1RĸPg_1gPְ /[q3,(_K<*( limEeNR@9hvֻUVV2\E٦։c6f%."dcK)썍m< g_,d֝KHsl3:p bb/ѫ̤vOۓ {@A;Btg/GҲ3U n ]LoY%{5& WN2W*|]9glH\@ޕolEغ-ި*1'%,('tL)<%anr."1mˉ`OdgCKR|2xxe??rKQrkynLD`(ʹYQ£9UKU`QDWomvr؄ M=-W?x0fT&V1W~qC3m;D1&0\-y5:vݤs8Asu CdT|e{)J0 R_n <{1 R@f3?_~=/ކsݞ,N_‹KC<^[-sO Ȋw&Kt(  bv;\)TP_m*i~1HV:q..MͶ|NIݙ @FM=[-m#M=JAX](mk:"'\hjRm3va5}ݤwČ"*#p2fo:)Zـ M.3ȟ){mYюObW\#6":cFx|<~E* )7)kk(yu^"ܳfHt9MChrmHEdPO".ăb#9!Cڇc2dÔ[0)߈iZP៬HӮ^Hfbv\xPd1ʛg]1'9Ա4-' " 8NnF7 zDaxj$u$\&%B+^)CjB2ya/Bp y(XM:)I gF69'RX+:1slJeXee5 9q}PTXBl,P =С,ץ4 ^[~"<[j{O|U_DžVucqSdE {=9'6>%0gxHh0EpR)xnaf1f6eG͍ւ+Y7swqxr[7yסamÎ5}?-\Gvk@)/?z}UBr7MigC$F} tM{?|ުDvtihNT=.OI23 :51ĴQ"nNL9,U`*ao5 rfEf$#gɲm"c,-ױYmsDf[(xwDoJ?!7l'T S<$L䖖L-)%kωahOu![_}@wj&mD)+O~WYgWkTZaF1ZhS-CC1txr Š k$:m>]e3,#JeU{ӹ2>uq$^Agʑ?$Bfx5 ?? Ys eS#!m7ֆi9k;G̝&MQeXa ԰ 13w<j}Κ yZ=^O ;׭Oc` sId ,xX66i;`['eez00uͣWstv͕)@k(r=${I!K {fiN}Er?Uy\/>| je. EՖmv>ɺS@fhsT^%^72=Dܓ.4 9ƧwgelPO9Q\JﭾTqq^|)0#ЩvvM7Y3&C1vM` t̰هAn& M;r&nPE_i}J4!3VR/S9=]UpZ!qo[lqz8>(Od SH#pg!BAvû!^Lj[䁅3[=7: wZ[@y4JH"L?0UW,_-\nqEZrȯhۯ[ۚR*.ma2:M XjA\ (k*V´NK>Zaj]U2ЭbA'6Y tl0e`bP΢1ŭGfsms'Ͷsq,}M~ 橫軩q+z|y?rmS/@,j} -X~}4bp/E+TpGPvRIPIռ3Ȕ:;}Vη0692:UjE}(p~lŴS[c?MaN̏BIVЖa_<ٷ@}Ц`-kU -r=sdvZ}YG؀U/ .ulGi{V! m:'_Q}2?#\wX"vh/ %qэ:yϹ6 2~NBnl<_ urb)|ٞz 8JQVm-ޤ/CǠTNXBH?T3b`Mp\r}: ΁~GYYScFywOjUlb2M|/~)>x}F2>~D JMm12/+]ce~<?s7Z=wfJ|x>deFg#!:ut[S)>:`WkBWUuf]CGy К=e|qNszh`߲׋2jߜ=Ap[sp&O+"} U'`.sNQy7jFǫG rQdk̂aT(K.@b=__w ?! %Wc︊ٚ|<ڞl$?kw 3]L I[)N<1vZTktCWOƘ:׿L!˚]B7E?:e㍮Ѿvj_$1֊w˵Ӄ[eSx;V¢|u#?SX;hJónbw\ճn7NLUkaCfK20燖=i2~{cVP-t-ܟf-NjM5#T$cva4dRxps ϘBN JHK|QӞ)/ l[TB8>g?u`&+49ְ=4$ ƌ h0 nHf8IZAyJXڂߪ&cT ;1ρmU߰T ejy$[I 'u, _ }@Xm("qz _՜[ @&"!9ϘcOP?f\gKZ\P& MaFpuָ>?Ys.족Y }2ʥn1o"w(dzG̓l&F_ɝ'n#>a3;4Ң1Sn2zhбt`nKg3JxV+V.G u@-=1rv߱e(C!t djWДKH'($IeϘʏi#D /\nOaHe]9}Lm q~2~Ь+|Nm/IBg?QMe℩(,RHԻϒrm!3] ޅkȟ1J3'yrI#8'iOQ(JJ~Mߗsݒo__rR3Uig` v:mǍ`G>t4=,_@$Eˀȧ+DLs1%'1tA§}l Kgʹ0%_J3q O|(qgWt"G9CwL*E嵣W&-3:`tК\_nsC淊+ʾ<8FWL#fqn©c9!9Wj:L.MsS_gkl)z4?TrױmO\\;$p@[3Ua\d#%U@oW_4xoe,el3vN0OBq27m\jx" bV'k;svWDU/vc fh`Q~v1C2p=94LHϛ/ti*gbYfa>/̊Fm?m'砱a2q⡽#1 1~Ε^Q6j?vd,d%DiSDm m<<>w93ƿ6QdQV5-uY&M 3|cʄZ 5¨ON#%Ƚ' J~i?vd6>e'mO0 <+T@'Lea(v-(̘s˄A6>D˖1a|1CPdFVj7S{ΖoY)BBР5{rIWmUgZ)d64{?,gBHx,y׶*kȂYB߮n> #[scpY[Eyc˲[U_-LeǠyY7]'|[OHZEZ (q|eoÃ^n4_t Jh.<9R8> L)JDDQ'iEYּʲE= }W& 4΅.4SFx Q% & Fpĝ\O%[zxMX%4qcƮSbO[~۰H}{ԠMC^m_]=hg EaEEaAր8Bs\aADqȏQ*Jtt?,a>zٰׄEi/?Nn΃Ӭq1-?@8UT̶J'EcC c?Q-EZzWidHz\~?iBn@G"GeUyѾ UN"*sGsᨽyΖISreC6-?0%|{.mn}% mI Dn@_#%.T̟M}E7%$g'Ʀ^0-&d(~ *)m.޵nv\'zRӼt V~{̏w΍]gKC M bP#3Ttq(/"K]WPm^̔ E6El, D{"D)Ml~Y"2iG ۏӒGM}3hZ%aLbw,eQ|_x? qrP)nƀ1-둛c׏b%jPYhf6χ*augHƮq8lϋ(vBȨo%8SvKY|25JpKq#ApX % S9M{St[GtdhL!_-MR*k: {2; PEI67b$$-3Z^Zu|oUf(HǓW4qhz&vrg|j3;u+ɱ4?PZW&PѸ15#>Yë(R/ Їi<ϕ}5HhSGbT F,van)uEh_~N( elB&H*a| jbne]m(kM]V9p@kY45^|'6Lg N7+51miU]W`]|?J/GO:ڬ*|dJN&3'yc*6.=P/V%< xIkpN}hB@RO]Xpo<+4lۯnD/u)/l$G‘~zFk5 cA(AE r΂)>);QRʔQ%.j`Ox0nwد-4&h.NJ]RPڸTs$j4È%R('In}` ARMv-]ުf0ƈ Ow@ѧel:c[{s4f˼Z`OJ.l/XJ':Y3R)&m^52Ѭس)H ߔzx^C >]f6Wi5}wJJNm6O#Ď_ r8OA84?~xA*i9c62?"jP*7  cH t?7 -z}&h!J1:`GS I.EA1@.w街\$/9d9Qqrn[̙)js'GnAB坙b~osYQ5)y}fCAaǏ\)s%Ѹ\aj>)%|-Cl䩴StmEa2b묔_(ЙgTulS&Q'90l=Qt&v4oZ3(LN8ID(BB;<J|Vu#]|Ũ&zFi8#;YsIsv%BLrS$e!ff"+;Hn(Rj,a)bt\PތfZ.(8l/eV,d4ꥴ_GW >,@O򓪓է*+}sT)arIĄ P&`;gDYFXuKs7ѩ_3~l]oS_d^5Fj~O]Tf8֘.kEƔL`ɳӌ<7M2P` ̺ Qƴ8es%S״krG֫ЁM=ʈi#udx&xaܗ9/d!PR䡳lnAK]vƇ:ՇLq;-63rozS)e_R0i&,=fª<` F!5 [{9$um]$Ūh>Mַ \>lhH]UuR'r׎/)v:C]¬V\F2;Nា47+1au 'yR8HIU}W EU`cCb7Mvg(_Nh!*tNߎ^v]Dɱ!RYV~$'[ p!2Lv[䌌&@k jU;{ }DZ_qSjb;*T]m>gO~I rn څB9Ɗ#<$:U+K+pߜGnw+BsQifYG@=PB)kD XM]faVv[f !MAD?Ď/H9:B>k>`䐊u%.1-?, GHHY^jÀ6Ta/^]},y"#,wR/mZ$^!T|$ )'bK e* gqRx `SQǞJ(<H2SU3Y#ϐyxb~Mvl,.$ =G"0gX68)?ZC a|X -jm*ͳ]Mgz#zMdIb}w7O2aaŌ/Y{M W ,;Ѕ _G-o-踠 0l.̦.)y!L콀FٿR1SM:aڎ>;f8 d%߼WY&%lynZq1,{/`SH3W+f L}t'IoC){oٚ^C?pRص]d7wé>ހʾRJN{/hY,NX]pGщ"0f#LR)WWPh#QMmQs;ڛ`/_px O0|[ Whi)m5j49lOoFr=LV%ʸG!t&S4Z? u0~̷%4R7]x}=3gh"^!O4gRM+y&n#^SV'v40y9&e 0UEǘć:|V -w|Y>فr#\fҿ3_nb,&i("1;٧|)st5& L>+naUƓ?Mb Jg9v)3ߖhsݰrΏ0.L1R ؏7txAu ,'fnX>6Bۤj;NL5,MeI;w \5n寪n,&^qj.qװgżnߦ{>s'SX:C9dܓG3x'U jhBL콀 [Ϊ5KS3I_ۄw ϩ|Uff3du~q2;sm|ZǮ̼`M8{lldkr[ /ձFu1{~uMlNTxxUby|S{,k> @j!{ !1q9Xs¢.|(o=y]Jaf\:-d~]ᐤx;@̨{qeSPb6{/஡`qo[w]X\19o' .7Pn}jc.ixZ mu 5kO)*JU/py`eXi<5ȝ 5(}G1eMh$v<'Kd%\xX8oP3Z)j4t悬y>&^㢥2k*F~@ Gލě1C7n9XAcӆ4 r~bGɞ M0߂uݱtaFr^M~DOh&sy6Xs"\ Oq/O3nϘt,Iɮq2@9twyNi0^+CAN9kv226>6o.A u)D-oڭÀȝ_Cqv_ZhfClGޞ#4ԑ #bg_|.kb+, Wg 2N* M]fܞ/c[nE洸G(@s x桌3CzPvǡYHL]۶籒iԷ=١%jCJ<6..n,W7vO7h͐u\1|j[Q{>./.Գ@ +ơY9%|ԃa26m8aS΃aS,tj1Nqh1Su.I`Ze:u%Wzؗ +'u%ob.<]8,IF jR5^0 #,1yj)j ưT>>nr"TnU|uvvq]ai4-XK3e#}[:*9j(X^=@JfnL/j&^36u Tpüuo_B =^ sC!o%6#!؄ͽde:^C]vHw0{J?V{/`jPiJ"}(;;jtcBI׻SW3OiѠ/})!aժ EʮJЗ4LfkAdyNmE!8M7G2CVəή&E+hXI/?4yY}DuX91]Lr~3y'-ןD1MMa,/)~ItiA?%-is9\,<ǖy*$ʫT ;E#VxonYQV e O\Bdm]y'qү@>&M콀cԵګlPlv\qOL;"h+$|̃Ok11,'6Uw&^z{†SeIL(daL $򲪛E?LWf_aTΕږ( >30dcω%v9S.v 7փ04fUVy&qa8p9Ie9Z{f>I(dCK6il}Ҟi.,- !x}Ɲ*,}IIoagBbꪒukb|EGrO,1 ;:*,Ί<󚉽}6ϲ $jn*֑vp5ҁKeuU:; f[e0]T fQ Js. r(y32՝h%Xa0yL~u NXyQ,_\Envjbce-apaϑ6G9'c?C_+} (eYQuJeX{/' (mSWٹyYU]7-IfL콀l Fr(Gދ&^#&^#&^#&^#&^#&^#&^#&^#&^#s>IENDB`<,(H/ 0|DTimes New Roman(0(:A 0 DTahomaew Roman(0(:A 0  DStarSymboloman(0(:A 0 0DArialmboloman(0(:A 0 @DCourieroloman(0(:A 0 1 D .  @n?" dd@  @@`` 8&y%        !"#$%,b$-;(! 0AA@8 g4IdId@:A 0Rppp@ <4l$ 0fg4;d;d@:A 0(p@ ppʚ;ʚ;<4ddddlT# 0X90___PPT10 ___PPT9n:gr4 PNG  IHDR +tsRGB PLTEfffm cmPPJCmp0712 7tRNS@fIDATWc`  SP1H $XLIENDB`/ 0m" Guide to C ` (WMultifile projects Getting it running Data types Typecasting Memory management Pointers,0`E0gXMultifile Projects`Give your project a structure Modularized design Reuse whole modules vs. copy of code The longer a file gets the less readable it is Static variables accessible only within module`hello.h: The Module Declaration ` #ifndef __HELLO_H__ #define __HELLO_H__ /************Defines and Typedefs*****************************************/ #undef EXTERN #ifdef __HELLO_IMPL__ #define EXTERN #else #define EXTERN extern #endif /************Function Prototypes******************************************/ /*********************************************************************** * Title: Prints some hello world messages * --------------------------------------------------------------------- * Purpose: Greets the whole world. * Input: void * Output: void ***********************************************************************/ EXTERN void hello(); #endif /* __HELLO_H__ */*I8 @@ "hello.c: The Module Implementation#`##define __HELLO_IMPL__ /************System include***********************************************/ #include /************Private include**********************************************/ #include "hello.h" /************Defines and Typedefs*****************************************/ /* #defines and typedefs should have their names in all caps. * Global variables begin with g. Global constants with k. Local * variables should be in all lower case. When initializing * structures and arrays, line everything up in neat columns. */ #define MESSAGE "hello world!" /**************Implementation***********************************************/ void hello() { printf("%s\n", MESSAGE); } *I8_ @@  main.c: The Main Function` /************Private include**********************************************/ #include "hello.h" /**************Implementation***********************************************/ int main(int argc, char* argv[]) { hello(); // exit with exit code 0 return 0; }I8  Makefile: Compile the project`TARGET=hello SOURCES= hello.c \ main.c CC = gcc CFLAGS = -g -Wall -UHAVE_CONFIG_H -D_GNU_SOURCE $(TARGET): $(SOURCES) $(CC) $(CFLAGS) -o $@ $^ debug: $(TARGET) gdb $(TARGET) clean: rm -f $(TARGET) rm -f *.o rm -f *~*I8 @@  Console Output`c[sempi@sempi hello]$ make clean rm -f hello rm -f *.o rm -f *~ [sempi@sempi hello]$ ls CVS/ hello.c hello.h main.c Makefile [sempi@sempi hello]$ make gcc -g -Wall -UHAVE_CONFIG_H -D_GNU_SOURCE -o hello hello.c main.c [sempi@sempi hello]$ ls CVS/ hello* hello.c hello.h main.c Makefile [sempi@sempi hello]$ ./hello hello world! [sempi@sempi hello]dI8d   Date Types ` Basic data types (char, int, float, double) Qualifliers (short, long) long int counter; See and Arrays int matrix[1000]; access: matrix[0] ... matrix[999] ,`e%e"e,      Advanced Data Types`pStructures (example from 'The C Programming Language') struct point { int x; int y; } ... struct point pt; struct point maxpt = { 320, 200 }; printf( %d,%d , pt.x, pt.y); D7`87 Advanced Data Types (...)`Example from 'The C Programming Language' /* makepoint: make a point from x and y components */ struct point makepoint(int x, int y) { struct point temp; temp.x = x; temp.y = y; return temp; } B*`I8Ie*  Memory Management`Allocate memory Deallocate what you have allocated DON'T rely on the cleanup at program termination Malloc void *malloc(size_t n) Calloc (for arrays) void *calloc(size_t n, size_t size) Free void free(void *ptr)`Te$e T  $  Typecasting ` Use with care a good source for bugs in your code if you can avoid casts, AVOID IT! Example int *ip ip = (int *) calloc(n, sizeof(int)); free(ip); // free the alocated memoryV`FUeFU   Pointers ` GUse with care a good source of bugs sometimes you can't avoid it Example ('The C Programming Language') int x = 1; y = 2; z[10]; int ip; /* ip is a pointer to int */ ip = &x; /* ip now points to x */ y = *ip; /* y is now 1 */ *ip = 0; /* x is now 0 */ ip = &z[0]; /* ip now points to z[0] */ `3'83'!      %                           Strings`String constant  This is a string Example char *str; str =  Hello, world\n A string constant is always terminated with \0. str from above points to some place in the memory, where you find: Hello, world\n\0`e"e0T"  0CStrings`Array vs. pointers char astr[] =  Hello ; char *pstr =  Hello ; Array refers always to the same storage (content may change). The pointer is initilized to point to a location, where you find the string constant, but the pointer may be modified to point elsewhere.B`-e-Tools`Yvalgrind memory allocation/deallocation check finds memory leaks lint (splint) code checkP `8  8  Bookshelf ` B. Kernighan and D. Ritchie; The C Programming Language, 2nd Edition: 1988 This book doesn't teach you programming, but it teachs you C! The Internet You learn the most by looking at other people's code (you benefit from good and bad examples).bK`> _:!> _ /  ! " # $%&P ` ̙33` ` ff3333f` 333MMM` f` f` 3?" d3fd$3f%-,  ?" Pg% d %" @% `% v?" dd   " @ `@p?" dld  @@``Ph1" dd 1d0d0d0d`p , d  " d@@ d``dph1" dd 1d0d0d0dh1" dd 1d0d0d0d rj (  X"  0Gfff ^"  6GCfff ?X"  0Gfff ^"  6GCfff ?X"  0Gfff ^"  6GCfff ?  0dEf_ж_ж ` 1(.8 `6 @ @ @  0f_ж_ж  K: CS-343 Operating Systems*.8 ` f6 @ @ @   Hf /_ f W#Click to edit the title text format$ $   B f  / f Click to edit the outline text format Second Outline Level Third Outline Level Fourth Outline Level Fifth Outline Level Sixth Outline Level Seventh Outline Level Eighth Outline Level Ninth Outline Level&g B   s *޽h ? ̙33___PPT92P2p22 Default Design A90 (   X"  0GCfff A8     `"   0Gfff  `"   0Gfff  X"  0GCfff AX"  0GCfff AF  S A(\ :@)i%   0f_ж_ж  K: CS-343 Operating Systems*.8 ` f6 @ @ @  0Df_ж_ж 3E Fabin E. Bustamante, Fall 2003< .0 ` f' f6 @ @ @B  s *޽h ? ̙33* 0  F(  ^  S  ?  f  0 u f 0 <  c $޽h ? ̙3380___PPT10.{a -K0 ld@(     N_ж_ж    f J6 @ @ @   N@o_ж_ж     f L8 ` `  ` B  s *޽h ? ̙33 -K0 f^P(     N/_ж_ж  0`   J6 @ @ @   Nh_ж_ж   0 f F2 >~> ~ >~B  s *޽h ? ̙33 -K0 f^`(     Nݿ_ж_ж  0`   J6 @ @ @   N0_ж_ж   0v f F2 >~> ~ >~B  s *޽h ? ̙33 -K0 f^p(     N_ж_ж  0`   J6 @ @ @   Nk_ж_ж   0 f F2 >~> ~ >~B  s *޽h ? ̙33 -K0 f^ (      N<>_ж_ж  s0~  f J6 @ @ @   Nܤ_ж_ж   0;  F2 >~> ~ >~B  s *޽h ? ̙33 -K0 f^$(  $ $  NŎ_ж_ж  0`   J6 @ @ @ $  NW_ж_ж   0  F2 >~> ~ >~B $ s *޽h ? ̙33 -K0 f^((  ( (  N쐎_ж_ж  0`   J6 @ @ @ (  N_ж_ж   0D  F2 >~> ~ >~B ( s *޽h ? ̙33 -K0 f^,(  , ,  N<_ж_ж  s0~   J6 @ @ @ ,  N_ж_ж   0;  F2 >~> ~ >~B , s *޽h ? ̙33 -K0 f^0(  0 0  N̯_ж_ж  s0~   J6 @ @ @ 0  N _ж_ж   0  F2 >~> ~ >~B 0 s *޽h ? ̙33  -K0 f^4(  4 4  Nd_ж_ж  s0~   J6 @ @ @ 4  Nd%_ж_ж   0;  F2 >~> ~ >~B 4 s *޽h ? ̙33  -K0 f^8(  8 8  N  0`   J6 @ @ @ 8  N   0  F2 >~> ~ >~B 8 s *޽h ? ̙33  -K0 f^<(  < <  NDɇ  0`   J6 @ @ @ <  N,ч   0  F2 >~> ~ >~B < s *޽h ? ̙33  -K0 f^@(  @ @  N  0`   J6 @ @ @ @  NT   0  F2 >~> ~ >~B @ s *޽h ? ̙33  -K0 f^D(  D D  N0c  0`   J6 @ @ @ D  Nk   0  F2 >~> ~ >~B D s *޽h ? ̙33 -K0 f^ H(  H H  N  0`   J6 @ @ @ H  Nh   0  F2 >~> ~ >~B H s *޽h ? ̙33 -K0 f^0L(  L L  N4t  0`   J6 @ @ @ L  NĖ   0  F2 >~> ~ >~B L s *޽h ? ̙33 -K0 f^@P(  P P  N  0`   J6 @ @ @ P  ND   0  F2 >~> ~ >~B P s *޽h ? ̙33 0 PT&(  T^ T S  ?pp    T S  u   " B T s *޽h ? ̙33 0 `X&(  X^ X S  ?   D X S *D  @  D " B X s *޽h ? ̙33 0 p\&(  \^ \ S  ?   D \ S 3D  @  D " B \ s *޽h ? ̙33 0 `&(  `^ ` S  ?   D ` S D9D  @  D " B ` s *޽h ? ̙33 0 d&(  d^ d S  ?   D d S >D  @  D " B d s *޽h ? ̙33 0 h&(  h^ h S  ?   D h S l&D  @  D " B h s *޽h ? ̙33 0 l&(  l^ l S  ?   D l S @"D  @  D " B l s *޽h ? ̙33 0 p&(  p^ p S  ?    p S D  @   " B p s *޽h ? ̙33 0 t&(  t^ t S  ?    t S D  @   " B t s *޽h ? ̙33  0 x&(  x^ x S  ?    x S D  @   " B x s *޽h ? ̙33  0 |&(  |^ | S  ?    | S `D  @   " B | s *޽h ? ̙33  0 &(  ^  S  ?     S 8D  @   " B  s *޽h ? ̙33  0 &(  ^  S  ?     S tD  @  D " B  s *޽h ? ̙33  0  &(  ^  S  ?   D  S  D  @  D " B  s *޽h ? ̙33 0 0&(  ^  S  ?   D  S HD  @  D " B  s *޽h ? ̙33 0 @&(  ^  S  ?   D  S ND  @  D " B  s *޽h ? ̙33 0 P&(  ^  S  ?   D  S ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvxyz{|}~Root EntrydO)PicturesCurrent UserSummaryInformation(PowerPoint Document(w_DocumentSummaryInformation8