#!/usr/bin/env python # encoding: utf-8 # Thomas Nagy, 2005-2008 """ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """ import os, sys if sys.hexversion<0x203000f: raise "Waf requires Python >= 2.3" if 'PSYCOWAF' in os.environ: try:import psyco;psyco.full() except:pass VERSION="1.4.9" REVISION="9c6acfdf44c0fc6a0f12572dc64bbde1" INSTALL=sys.platform=='win32' and 'c:/temp' or '/usr/local' C1='#*' C2='#)' cwd = os.getcwd() join = os.path.join def err(m): print '\033[91mError: %s\033[0m' % m sys.exit(1) def unpack_wafdir(dir): f = open(sys.argv[0],'rb') c = "corrupted waf (%d)" while 1: line = f.readline() if not line: err("run waf-light from a folder containing wafadmin") if line == '#==>\n': txt = f.readline() if not txt: err(c % 1) if f.readline()!='#<==\n': err(c % 2) break if not txt: err(c % 3) txt = txt[1:-1].replace(C1, '\n').replace(C2, '\r') import shutil, tarfile try: shutil.rmtree(dir) except OSError: pass try: os.makedirs(join(dir, 'wafadmin', 'Tools')) except OSError: err("Cannot unpack waf lib into %s\nMove waf into a writeable directory" % dir) os.chdir(dir) tmp = 't.tbz2' t = open(tmp,'wb') t.write(txt) t.close() t = tarfile.open(tmp) for x in t: t.extract(x) t.close() os.chmod(join('wafadmin','Tools'), 0755) os.unlink(tmp) os.chdir(cwd) def test(dir): try: os.stat(join(dir, 'wafadmin')); return os.path.abspath(dir) except OSError: pass def find_lib(): name = sys.argv[0] base = os.path.dirname(os.path.abspath(name)) #devs use $WAFDIR w=test(os.environ.get('WAFDIR', '')) if w: return w #waf-light if name.endswith('waf-light'): w = test(base) if w: return w err("waf-light requires wafadmin -> export WAFDIR=/folder") dir = "/lib/waf-%s-%s/" % (VERSION, REVISION) for i in [INSTALL,'/usr','/usr/local','/opt']: w = test(i+dir) if w: return w #waf-local s = '.waf-%s-%s' if sys.platform == 'win32': s = s[1:] dir = join(base, s % (VERSION, REVISION)) w = test(dir) if w: return w #unpack unpack_wafdir(dir) return dir wafdir = find_lib() w = join(wafdir, 'wafadmin') t = join(w, 'Tools') sys.path = [w, t] + sys.path import Scripting Scripting.prepare(t, cwd, VERSION, wafdir) #==> #BZh91AY&SYbk{P,a.=`>zfV̦(ت"tlѪS[>T.(ww'z:5`۸5m+L#* gt#)(_;h$}P*}oWv"RUw6b㻴y:t S܃|W 8fu׊\&>pwh{}aC As 'rdqPT^ڀt4Jzx^ݹiȱkSmT]+۽}ngkZu-|ӟ\v[=Tsۭv_=>s:#)4@M #FMOSCSib F@@P䞦~ڃG4= M$B @F@jOFjmOh5M=FhMM#))D#I?T~<ѓ@4z#)$L22ML2=F꟠0Cz'4$H #) zd*e=5OQzmOQ4_j\OLVmN}P$FA"PS@2O{(wz1bb UnЉOZoT"+PEBhlVeQVoDwT9#*c >)mJTm$" '#*A~¡ $QU""E3(bR)L1,`(К ɑ4AS&1a&%)X@Ͷ$SbcZEіJY%JH1"6VA&%ELL0AcL"IMlS-&Ph)P#*#*FSQ1H-Le K+&2@l٥KAj ! &IejiM3#aIcQfd@D,lbeId3R JD"ҘM2bhdFIFʆŦF,d2!(M ,HY*h,b h)Bj)4 &1`$hb&LcI%Q4m,IdFF$А3YRZB"QZJ-cT&ى*J6B-&Qj-1QmDPUJţ@-R6C)%biH6(!65ZK2 3!)DH ɤc4m H* Lm5ĉ&DZMc-Z4I&fJX2i[I4&Ml$#ifؙV%&Em*)j-FFMT[QYS!E3(Qh&B*lZٵ4XҚMHRj1lLk$m,h14Y$1&#)BE%RQ!,ōDe(5#a&Jb$4Lʂ̂P6Tha#*,PJ4d4E%lRj"-FƱJTԕ&& IH)6+"2IdbMD3H&61QV&ƱQJjl&RBIAh ,(5 Y3 P3X6*444m%)IB2"kdJZ"ZٲRcbQR5(aM2QkQLj"ئfFhiEfSJ-FbfiC)6dH0QEF ՙ,&fRĶ56ڊ2Mm5L1DY5̅3$I6LTRQDLM-&-&LU)DZHci#,UAYضȈ%-JTSZ6"HƬ?;Ĥ(|z3ޟ3*#4prD?||mo|3,.X1ޚщl:a?B* [wtQhbT_/]cq6U6Hi#* Ԣ z$ۆEƌ^l/k??LJg6$?8bsJįU(/O*ןh9Hp aJ#o{W0+T9ew*sI_eAjz6")mR䷊by_M5"`K(v=f\O$ԛps#]۔ck=B?N?ݼAU>"NF$= ,SK{@]{,6&N'`S*3tibc'V1;ɶpTg^syܩ8IԢ-߼iᙓ=,qO#)R{f$H{PDѾ9gA=|`~o'm7s^J $FxQ*6\T]|up>e3&yq?W !g[¤$Ibp+J6юFiDo('./ %HvP,?Y]ơz,;66w'Kx҅\R[FB4:(wLv#n=,ԵziO}Ж)[B8gnRX^5ۚBN$׳٘/~-,}3Ai}ݴb*&=>`A(6F0q4=e3Z@LVԌk=_ʔeAvTȵ!4Kpmu`zPۊ_U|sgcvI4Пטv`BA8D7_R' un|9f#gP54 I~Nm%OOf*}M4aꐾ1L{uvgW@H>(%sˏ )b]KwW&W]yޥ~~=F׬\H9=mzLE ܴJܦͧMv2Mt>{&ӄ)2oY}hLJTf=sJtӵH>n46=і1`R#)a"0nKNFhE@qBz:.E2!FgZ޵TӮl6淑uݜcOy`v蠌#)M偵(ދ2. XUvrzfd%ウ„$#@tgt#=vnd,,Ӷ";SO{{($;$CοCr-q;w)e]S:l1p`HM*]Q)oZ;aDq :vrQ`c3m䋈WwK;(s%}Ol\hivRU?vF_bJY{{;='>֔Ҫc',#Pٜ{4pxV;'_P@uӶPG:qDdhA̕A>'fsQ?o֤4bJsh]fS} _4#*d#ȇDٱC:[EHY}:)Fi$5~'T4kҒ@ZBT;kP7QTdʋ2Bd˪j_21n4ޠ)q*(R&a}hUC}-ߏ5zPm#);k73big,jK'[: IЀnP6`OV4juGk%úcEDx%ϵwϲu:Xvvn|.h}' ^795bKEH{#)GPAڈF]QoVIunlCY_=<-\05Yִi::YN @IB!K瓪w{e`6&.GYtS2O<4 ^kPs֡^tJ '5D۳a( Nj{S}HVE:ųl.j5ӎ<5 1Kp# BY(\ǒ{Aĉ.L\7PEC+ZSNndRՙyam81,Q+$If,gYl_#*妡#*(F,̖Oǀc/Pۍa^k6oFNL?3DЏ㭋f3vDq!hk&@_g^:݇^Utoaڈ]}@?7t~I0!橰6)>_qχA+=NqDk;e"'|aS>#* I$?:1G]#*0mjq.{?9i9P!GÊOYAymg~ @ɔ&,@E`,!b-H)҂#*z\$N{N4T#*;5ƬTzEv(v^Hˡu0 нoJ?JGwI:?Oxdb (J6zكmu'ˡ!䢤N#*\΍z30Nrt`>KҁHYMl][XeKbf4E#*Ȥ.sz&gZPFd 0;h ^_M "T'LHE 8Yc%k0\#*1{eU*Iw5F(k lӕFƄ~xt0#6~JZ!tBvJ6`=>mJ9`4}U<0[3~7~[l}̆ M͢`G] =(}LGD3Ax]nqQK=| #*J*D֮{(40F_HO/տP\aC>:Sv#)#Sh)Q,ЄCX3S`'g2rEn%2iZPPtx*P8wz{%&N#+*#)}o(24_kҪ<H#ztN #*.Its#)ZWS4y#**ꍤ,ZB-fCב],9D,6*h KYd0UY%ItLCNK#*;Umds(Y9ssPSfΫ9@1W!ǭ6Th+,:kFpX%w/]Sx⭀7*.G>3`$"+GvK}mSMӴuvH0d$faZ) D I&qϜX''rP7ۆV[Nr{UXy:FÍG U8A>D6xe=Љ@aȌ;XZDMD#)J?Gެ+Ja#)wRj g-J/yMNN͆3,2+*ڋ  Roԧ9LL4ZpU}o^ILBu x"Ѡgi yj%C9,SKp9TIY9Qdfn# wV"O)9#*ARłP/zq B3Yݜ:ej!`s_o+KuT䛤ivw}|4X'~:ƺ pƱ><ה8py;ĴdB (j:(=Qu!Z=6 n=hxt4M&\X,4j34wK;583j#[,FRz]껰)h+"2*1(* -i[i!*)ԃ`u]. !&VKuF pμZpb_H  cH)0ww!(D@˰Ksy,#8fsm9t4ޤX@'Cn7&hU.6\LΙ#)Ɂ))pێLtq^y=;sFU< |cόf;;Ӝ|8q pTٴ9w"TBiDLFq>h<*ο~Uf4GOG:e)~w官8:ʏcOcӓBGBy~ DǗGz0BEQ ڃXȬbJaTB LXx ֪(+ 6?G%宓nLkŧO(skX/Y*#*w8D)E~tccetvhvycO]>&W]&!U}о=h/4[<WMt;jL]^f/E5XV$TpU!hr*`~.՜z|=cTHQEISZDrOx0<Cz'!ҵ毦'<+\ 98Mcu9M|匣Y\?;)(6^#)ٔ2ÍtZōˇw#*jV ?U:y/I-ޔŐ~|-K9Y[2 4DrfHV7Qs3VLB)XQ,FX0VuH&yho)d"Z/gGAfSl;n{8vE '\'r:)Нt*8 bI$6$D0߸ݍ6@KۻRTD[?\1r8Z,,?!=p9eX_~@~/'=! r?G!!o°0#*1*%$=.X,}yx+Eֿ RTa!ֽZ>π{g!JC<7l*X>B#*Y֦xBT( !GIpIP?ءAG>W4#*1ae[ޏm#*v9gNJ*41^W=Ypnooޠmoy\գvK\TetP޵WbSBW^֣EFMm 4Y!#)LC#)LYAaHo]#)bTlebxvB)Ka䌰27C)g))MCszхbC3V&00)Jnscd50̒L\ף<VZv>>j)@( **xZFOg_4O쐗O8I_~>ū?jD5E#*?ҨTTgk֧UOi ٵ(d4άʽ?OzU`e+V8(l-8Sdn2. E?yx}1~GP Q"#)`&ӛ siIkԁEVRjMKA?7Z2{݋I,zD:/(rq4Ö^r2;]`ovgYL!$R#*E_uZ EIX3b%bq%͜Jyp:r)OSRy9/~ܷ#|xX9oHd|yف{d&B Z* 2H>#*O/X$Aʫzxkl2,6mBMg896BzDjuCMq@0ǶHVA<b;!<(֧u.WPk#*;~Ϭo8mAiM N*'?߶CH"EH$24We4{%cj%(\Ϧ;a.v~p0!]oћC*r$"+u#*+CUsI jշGb u#*騳ޟ㽒-"vt ̉Z(%(=vL\qݛL2#*T'%C?˩.OKǫPk}egWϲ@KP7j8|ӏ0L+/ri?TN{V5;SQ>s汗[qcꄍ+nHqPM6d,%Zp|w2K<.NKhQB&~_H:ح\bkG AUn;R^#*jU$A7g|a'|m2[x~WNyGD)ڧ.}Q|,dN2bG;)oi!%mC= 'ͷk{sJyl*a#dD(T=^Y u^WN (eb(0O ox ZvrZ8bEo:܌Z_,Ez![bf\k\f?(ֱңoܼ˶{1۷$js1'_dn:vx&ӣE',`b֙ue9L4'ЈZA"#*0:mviCT& [3mS׭P#*d vݪj++z !K0fd d]uWM UpQM4N#*nI@ÓC5Z`f^uIR%,x꓌4搕sYk''^.#QvT$BZ.PXa"ޙD^TGzmRP{KQtF誧zVO6kpgY]:q7=}0J'7]#)a?Yb3Q[-}BPZOO3>zs/|9/>xmPxhl9tFN ;}4`\h?T*[J bb2d_!#)+iGauA#*pml!aSqϧlD#)'+DT7DGuGTw^Zadގ:swD4[0v^/,(c:(b#*Ѳ(Em;n~ڱS.P!^ߤ;Ҁ#*&,EOD|Ep{݊\6m#*KNQmZNfy>?ZWQidsxsW\LWra5oQ8\jĵȆas,b#**j羽㿓>$*Wls#)C`vKl8Tg&x c.slɇ;@s(*_XAEѠ]%#*ҎG8k\Ճ\T*YqQÓ閙oCpm\q][9| 5f3E#)(l}j#*~t4~]JchTtVhlUtڅ+FK`7K&0gtl#*,$daz6AW_-P)lu+UBTBXb/@:P7Mr+1ܭ{(| ^S /mџ tlpòڍ$ۊxwڜύ\0ߣvM[Q国lXKAp㄀s}g9*喡nƇ *lgi[`/FauK@PwHte:PL%n ߆0FT\b.3V殽W{y e=`64_o_#&9ugcٷYsh݄"U#*ѫs`G/:ݖQ.WKIVhA*v?r߄©T0˽\:.QL*h|0\R44ZƚwҔ0eoiV<*_hĜ4?Fp4{.UVês3T7mr[C [bNЯodGhveƈietd3btykWjcҌ@E?LtjkCp!0O(!!D8Bu!ܙUN]/M')Z^c+P4` AnPQn26uzk/CV X"+8}9(s]>Q9/&`"]y?Z1IcvZY.u3NJ)1L뎻v-ztbE%Aʋ&F3WcՖEk#)fyGòLZ0;LB?w{v7tsR5ձE%9_'*HhYIρD3m̒Iˆ^!ҬFܭq<^0DJܬQ~AJ"5dPQax2\.alיed:]pݖe,(.6]Y: i3VWyR 5{urT:0e\iz׆Ē$@BD,#(HaA;.#*$0qJ.#)R)n5#)Pr`W(](Sr]"4#*%O*_޾vG=vvm0ǺV|2?Ow*VHv%"/ X馫dbPbZ[PЍ4A6Iet5Pnk)ŚKOn _ +}zո~JpjjD4o?"-kѶdM=d&IA*&_sBci|Ђ&@e@b1@:Td$|澚|*]YVAyp_]E߁?|Zur1X1r(8XTHtZrrC`RD5f%3O#)?p#*So9u<7:ǰj@!AYٲ28*_޽N/7pzqL{][9EX&B̬Aׅ@gȿ|.Ap|OiY C&.04""hA@!>ellXG4(v͠7qn3 O];΃]Nv1#)zdcyQ)bq|]pnET%ǐ~7.r'w05#)6l+I˻G_zMQkCz_|;C.x1Pzt'n_n9r'WNT_>꧂xѳQs|$hq L]vkolgdn$s:2ѡDy8u_bS8 5mR'ٱϷ[OTvq81n-9ǎ*V5GHzp >NQdKį颱ۻ g@pgn.[:s.[bهKz8/>ٔp;p fP1=D#)zߎ( ,M,|$.l썚%lΣ *=QD7eB͠S f? 6p_ωp>LuS7wo²o| \iߡ5a:' W%}[jȅP5Lv(3ѓ`yqq@Y3HkGP5|/e(K0xS<܉L;y7W_"y{^Х@!7ƫ=9X}Tğ5lhzSIx5UtFh9qU__lB1*mt`CrʦwǥQ/KEqn4i E*I2YX>P\e5 hDpXWq;#Ͷ䘑Bt{ @5xCsVa.S:ËT!1܂ !B2WS۲ImkVS-dilF=yEAu(GZs g@IUGI_C2([ ʈGN&#)C鍤 7) AzҀT#)E&@$۲nnܝv"+Oooŝ[ҙaU(~KӎU6nC$, vD%+e \/zv bv#)(L=~^CftkT꾤ܳږA)> ~[?YLNCͦ3.H#)m&v#-zæ%~egbjs) 4q7WOGQ;$W A`ީzq\IȄV{yU ߕf Ar!0!` ȯ'!v7d2T!ښuWCОZ7aE|/TLa+,jB5azMI}SwtAv2qգk^wYӓjD.w5dFDa C[9c|(b(&3)Y۳aOu]&S wLHBTpsBC*3|kS;Wobw۔ΫPZ oyyؓ(s %N%XUP3oo~bsX{kbg^ƒ#))) dav<7biHKрR:LF`رƆ 8زVaED8~YRz}MnVÕ7>nYhCӋ#)c-B,#ϋ* Ie41`IћmsjA9 eJ`k:˲]{8#);Y#*ĞptEtngUKEthL@* 4˰zi/c[lCe#*О9d !I &NF^Ie(#M-se9WQ ђq/sDBxx6[fen\WY; %|1,G_+hZMLQ#)kSDKYAҫ-#)_8=y" ȄAQ'*(&nrzv*C-f#*zm[]@Au T.b$V#*?#*߽ʽXv*#*'趻,;ʯg߽=*?}X#*g;Y$*ΝwkO;;_1K(Ͼ?D@#* 'WHx*5s87""]g%Օia `|h a햺0@¤WuD* S1@?'{u&bGR#*Xg7m\konBO=rb`*+ą'sv^uyV3Q6KO"/̾TAd\"nOyq*#PO_\ֹLn)&&f;' Dt7^5)x>CsMTR*Qgy'G:;Ğ&=p"PisIyMe@%8O~ǻ1s9Yux\@( ՙ~Ֆ@#*օSAkGBx!)UjVl7ՅPY@B!z|(4oЉPGҒsʽPI(.TrJ_7}ܐ^5:߽" o'm>LJ;T@*ѫ#*Z#PoT9R-n0asZ恹quT3ͫA?w=Nh1O[r"^C4 \aࣺ/f"XJ|+\smx}D9XB1/yt(öCuw HBXAs*\ tVDE.CBv-/$TAړHv9ų0$͊c3aPH/nn.]ku-su$!R@Bՠj#Bƿ0v.e[ţ%E:vș7]2PWA}dUS7[m aO zΥ5Y&Wj)e EB\6X4DZ bVC= IUs?*aOڞ`wO#Q|8@'3 OR(keQ0JSoe]ov5]cJ}ei4D3Ԣ81IMy$#*# ?PKRz,uN#)Tf9.\-N|R"K̞n;s)u\?=tJ3]r+Dɵm8+W:JQ#*g1fXIu !P+vг[Bڍh?ivyq+I·?B0sM%CJϚҩ) UsjU384F#-GYwoY_Gq+$OeDF:;6#*Cnc-EK x&9v}!;"FI0jz.u8)v$s**o5tMGbs쮎X^oKk~`5}`3Rˋ&,yx޺|@$|;i]tsS&@C2hXbѧ)ZJ=F6,IJщc&* g`y\:ö Dq_ʬ}8K7io5&h;r?'+lf'(&HI+cܧᔾqAHs7wcGJ/e/)g J%0ʧfETY#){ț=7߅]҃l7&+"TGI*y9]ߑ~Tf-cOc/A묱ҵ鶒NFU3~SvA֏R1>]s ':S֖3?Aƫ˦wj>G_wY#Z#,y՜'w7ˢb`esG]!X3S?:>RE䶱PT@AQۤh#*}@1DȲj.]ZUՇi?K4὿g#)[pCx?ogcEJ ߯ή@_Q-8(#!-Aӯ>G1D4 pC !ukWy\jb?O$p:.1FވK{OrE8GD^:B4i'nƻ}?晁-TdrB׆9_KMb@a\NXCp/W8gsJ C*P(x½BE7*'dnJi7ADt{m#*"apgS Eu *ܚ_!N؇HFow!L{#);sQ/&@|QVYe#)Ϯ%uy#) '(b6.q (G~Sfn@_ Bf>֫/EcTdY "/ժnjv> -Y@~"v O6y:4T+;&hg[b4cCf(D3Lu{ip2χlA:Z[tL0UK{ž4]^X]LnN)A@FV4rM6˸ZK.7 (=Xa:dڀ|==%3ɭP5!l&%3)LW^5(^y˨CN37>Gen:QrB#*6!".Rix=QNI>=UOow_t`ߞD*gCc,ܶAmŮ-"TBTgJa9}^j)d$v #*#*ȁJo,!WmMH=Q,#)qe4aYI34ً凃_MGvknb蝺DaUFQ>gF] xHV#(L8=/óL8|=tWSY$t&:`*ND#*&Mí!&G0eC97D6j*:UNi hG]r4@.]KkJa9A6Gl"2vC#*͆3ߪR̖rV۬xx}T˕SCV_]am51kĦB`z@ڶR"Vpӷ3GC.:@\¦LUa=\*)p][#)GG! Wp{8hҼAW>Lϥ]O0! ntR>;*{Om4K`Yj7j'L$j#*Q&B/7껞/[;S,\1IJhs~[=݌@ Lw$z#) ="-And[ɤxp|":rGD#-#)5┾7-·Pnf\Dy&>f#*mv#)Ve&@HH=Dmm$ͶX\ƭu=+^wS;t3/=Y3Hp|% L{."1"Ҕ8x^I@ĹYDJ5uݳL&6=H?VHnviMX8/Xp|y D#) 3$+5CE1^i_;\.趐P6h|6gL(7ɵA:3r$}}GHy;Tm0gpDt.N~HV3y!حW#IMA#*,xgg"6Q}+X'GC?SQyv0C7r?|JdL~; W_?-0.R6. IwoxR3'=L۩Lh[6~O>?BayA4 e ~m\:>wW6ЇHxc@6uv@],iw36I0,C5#*s䚂!O`p5/܆[C#)ev҈;]N-Sw!YN!*QQF~#*t_Hhj~$=X3*i|CMHC ¶!4Jӈ\}+ LLrɜq p'C_O:Yz|pd3Je D V-A}糨go;j #*C) a= Rzy\ Iv058]/Yc8(HDj] ӈ8e_$пTCӢ)Gι:vO/k3r IĂTB#*s(Lr.2LWMx/%:q s23.@A_SUlKf)hK) tg@ZNUSoW&N;+ޝ&ɹ2 3 P`[z}/1=vC%y}9i$y\Q7QTP#ӷwBX{?CzӮ;M'xkOӵS;c'"lVh'Ǩzџ1YnLfQ6hgY^ dQRHQR}c4Ow? )׳:;#]`*/Q#?nk*$)Oc3.uŖKZFY8m'f%)w~7[KVƎnvQ]hUIZ74jhOtnl,=\I%&~'vZ-O =dٽ_ =אDJ" Bh]_Cf2QG;#)gЅQN:/يyiq;#)tq.\qߟq]mal>N+WWB}A/p{Ei4@ 'PzR=[)CÄ110BAQ5$Ish{.mP&~<@C>;nj h~{oÕg|'bXf88#*` lZ`珴!ПYD5S,ahomٙvgy JyJZ"TB u`fzK15S!*L<*OkFBq2ID'!څwU,U`Pg#)1k,PҚBE~ zLҌ={py~:tŹNu~dW%:a':g|0 #*e]虥OxjG٬;GغwMӾF #R,6:i!w60jëY~n# FJ" ,azM!}]PwZE&"4&P)` `DI^]ٕ߇]p#*i 4:F~ -|ߵ//U&ݖ ٚ*Q@Q/T <Ti&QkK&:'VmȌ }vgw̯?3a<OXz<-F=0ƆƉ燿h<ZT-6!xBF+,34O7'Wċz}@q G7hx13#;ϴ@["r,@*D^#*/ӭCަ's̞akQ-`9Iv:2@CQ,>ߊF0H~!顲?=>6 D A$coMgO4}."Aaa![&AGuCm &CwT!SetqjD )4%\U4`~z_t6В?lN#*=h~O㿼7[(R#*W #)@sJDfN}89@JSohveL׮ʮĊѝ#*D/0gb@(4ϏOަס^ZvaɊAӱ’3H{|:$x]5*MiMHzG7! 17RUrxMNZ$oAizS/9lD:TIY@~v>p(C&:Gs(s` 7!dO08?D#*?x@9b*DOJ$~?+'F, F7?yGx #*}O[ަև1}'0|b>c^N`Q\qMs M\jeW#$Y AJb7`%l6䪼kv3UhJPrE͔4B+[wbGTԲD#)RR#c)3hZ5mᲹ~DL8(zYAB'60"Xjs6X68t5]st&g:q2LݛZ Ofb$z3zhh LE׭揃}IFQ((,R?|(DbDa d_Efw?*evlAD sh#)dBbI* m2BBa\r# نOMWҗ6!qzMDX+]]%}4M66{IELێgV}Գm7˙[#]N$1y#*wP"瞬:]`uBx>@sud{Sz:~}#*yrʌB@siT a.&],bUn=}6CE?.#)`"}~];; gmA&tt̞iapsw#)Iǖ5J [Yٰr㢸y_t0˶bJX{.ХBWW;, u粪 ę6K=mbzL?5 7fxSz JIdh*֭ާ T* *L"`l5~y#)KXdsRe|#)H,MKIVd2NYsZe 3PNm+'U )2}6eM#*$fi|\lv60S!S[tԒՇ6s.lMҨ((ZBv:N5tN[ycyu~FoA}.0L6)E=I @54T@)#z " KMXV13~HYA"B@#)v?,Wo! zm/zZ&GXC42B=Ҍ>PH4& =Fw9HJF f`=aIߙ6xsp4da&#)&#)FhjTZC=ЏQK2N@#)kdmAf"UḦ́hJFXkѲ^ do @h(#*c8";@:(ww[#)Bj:CZVׇ' '?U% (́E2kP.xJA;V!8G0:O/6/Dp#*muHAlf#*BId14x#)#)DQ֨]/EkQh$XEQ]$j؛!=WnL̕_#;lA:I$RxO0!8\4ϝDž9#*! Нt4QhE85]p)`_l#UQC"siIKJhSps33NϱxueKR:Kۙ(>)z>s˿S(d=Xk8##)F #*3*B:YH 0±1\*E3?(S:_,O Tx$ȶQh?4d$d@Hz<#g G}]xcӝv])1)f66qA)9]&ڟw/S?ϴ1Ob(DburaA!`wi;,o&~RϽ|I45jjMMzgNE ,/ѯ֢Ebz ;CT#*У]q::v"G@#ixg[RA_?]բ'Dmf$yu v*k45$Bv:T'}B[ròVF))A,d38jZvbÈhS$#)S'cГE#*>H?]' y?b\6ZOFt"#*b!?[0c?/ڊ@6Cx\@Q$P($ @p}<8!8 PⅤ`U(- 80zMʇ=?-YS1qOcL3#*mfkI#*(*3@܈R8 $ f6$8|`lu\r<-CE2"PތY$Mq*8_O :vֻ]ed<,`Y:%.R%eزвBhXZ^BrD:G@pT@++'COjvQ)K2Ґ3bl5gNݏ$P#)hsx~0x~)zH$€:OD󏍝oEC8hso{e7QZ#)7̭Nc?J' \H%1hfr^ >+fE$ƪTE5k};f&f0GBBx#)\[~ZJ9" ~=H5c6--MfEF]!A E؏YOP`hKodTI/z+*ۥH~cdBCL%2#*Re4hHe2<@u0`$7د6KqcC J-_(D=^'+`HdS2LjpF$#pS*qIJlH1I89V$+g=j(=r[t'M0̠ w{g9]|1^li@BL#*`B!]B .菿߿׹00}(- |Q8ӣ#*/} O~1S\m>8&IRB7GX/ҶJ.= >.qdCyâ;*Q~tl0wlGh)ْF*GP9OPh"i0SzT?PWӘ+ǦRW9r$w}Uƴf"uSRDf}U{#)1*S4֝;ʽNb+~(2߅;0UcEKczp0!~zw}!:`z:Nj`TӜSUprJ>NVB,ghNR=n:Å*LFRtxPn'?v#)Xw5y[wnC}Z.qUy M)Gs{G 3Lc3FYǜz62}h7,a5;ݶ$I!зӳpf6CBPVJi`sTհqMdű#)w~IAB>~!%5lkF%fY2dU-v|cz!34p=;T:/^u):305sYB9&gon2a(b@RW1!#*S.\A3*0aPDӂ*uRMs:".5ex!ZNcZ쭨7Dtd@G*-O_'*" qQĘ] 12iA a}etaؿ,Qq'Ãܢv>' 8d6b)\xlc&Xgj7ra i$J3c,+lY&2xs-!u7M'+6#b$PL|{JMcY/Vˮz0ԎV2>|oR Fg].dw.0{I:c> rN:T?SZJھ@97 w2&QZPܧf Hx=,IJP@hm0b&ȃ9mx3%8ޅ@b5lPose!ז~w6ڽrsvC#*v #⩠ D cC:qJ gHE*@]0țJ+} 5#* ˤ}8ѱ-I׹Ju<X։f#)5$'pNl3fhGWrJƽS |5:cf,gSd7x#*M&NN{BPȤ#)yp(RX N4H2bRRD#*/d)!X` 4$0q\ƒ#*\0E>j3#)[? yצ:O:=Yeyu@ H#)5Öe3M q!6v)%NaoWI-6wkb6ڱljc]QHBt^.ZܟH #JQKȽ3'&B{׮dY7DC=Ay""@ъKH{ŤJSYB4edlԲ`f,"1Fc_bTjmLDL#YHzvc#),t׫83>>0nRC daS.W.P(mgcIFa( D7@>GHkwWo lVN֩Q_FŽiuKyvwivm_א:h[D=zG# Y_/nrb&NΠ!;$H-DCEOGvχ}r.:z >tr1wYTh9,!' +vr,ӊF#)Fq)$\JQ\|u0?ot3 `HV3P4\ς<Ĥ$awP5{p޼i5WsYOQWGsxxtł?#*{wD3a^NzO^zi*k*fdkVWyHl2 zSQ"17Nägϫó,ԁimJDQcD${H!7`cFUpl뚧*#*9,ߎFǘm\~[Ͼϊ~fV" %֚A$3+qOi4DI4V]Y-wDu˨ԎXa4㡭#)0bS15H(ٚ!&8PBK7tNsw#* ktE|̛ĐYpq97ӣy:ÌMg9^ rI8h)0s8.:>u31$&-rN#)Khq0$!+XGyֹ3dTQm#wf 6q)BZxݳl\yi#*]k^R3i4 z%g\Wc_;f 5-!Q鎄t6O(DEH6DJ_(Xjl65-c,>w/M&#*K#*I2) )[+svq;8F}u&Ymn)si=; '$scZwv{ɨuݷ!M8M[-kǁys͊ 12ڞ Lu$p Z*H֠Ma#*!6jp&b4hMlNt:^"xXm͝!g4hIl#*r_y"1t02#)QHK,̩.uiޤ[o$Ejч4+!#*"ebTƺ]O:`#SDd|*rN-A.`H̆])$Sqb;i*\b-td@\G%XH{Yf`NaۤyZA:83./Pꄴ.=`gh_<#)7XvͲD]H2DN. 9VR q9D,虑%qMīrEԻJ.^ tVpf&!n!Eba#)L MRw!Bjr]#Ւ^#) ֟cf&HwNQKǎ+4#)CQ{nLFz75) &炻[m3;ԝ8Ȗ&F]qŜd1Ii\5Cz+5g 8+m#)%Zu/Wjk6,v[6`$&n8^[2>S♩h;-1#*DޘmFbSa*^l@,dP+#)#;A:}燎ur1پTɣfv"ǵ44=a4 /jh8TkILDpYLRw6xiU5q\qhY4j5mI=txqh?, c  S;r;ɉ44Hzh&Eӳcf2oyB "y#8%rSSgsugBk5:|t0NtOr.\k][r{U2&," Q́ {S#)VWG zBOuNh0;H6R~WV,F\BQ #)xgdHDpORTd;hXAF d}retس?4ys9O(-BOwe&,ՠ|*%XiʫD߂Hҡ9v:1Y$2d{#*U`ZiŢlE6L{c*|4x0mv@Ȃ{ j$Y#)1fv~߲!fDo kDa.D#*9iVĥ:f AS?VWP 7(HqJAx@эu_{3+3|I< p#*êSW]\qww5t=T$Mز'g#)ospE0턒!"qs8g@v6j ώ,1|4իzm$XmGt݂?,"#*QĬ4+4- .2#*iYB'кxa$KS\a1?k0`LA ~fr\¤!:+0#)pPPxC#)SO\!9bk=ɼGP ߹wϳƾfsaYfgAajtU7LNЮI"n&tc),Ez㭝~g~R|Oss-S#) #)pPaZP9"BL)PC\'[ (DŃDACb3ӽ!Yq7t-4{|N09lJhہ?"S8Dfzj&S9;e<3hZZ,1 /rJQDLԄ|6t陖#)&y#|w-3.RY#)oY14LBXpaMy7?7Wvxx犪ma y'HZOaMlM2Ҧk{.ϋ>]ں#*MjHn-b SV\(ER3q̣` E"2 Y[W ua^bM&ón+#*NB<|#*#)8=4u[}PDQ0PҚ.Z,V#}=vJVJAtز%b%!un$4W#F&!n\ F!FIfH~#*[:tڗ_6z'MUUVն9 0y*$DOX*W/l )6-R[k-WM#*M {|n(b^{"x.j7A4&;v^3I*BB1aCNnp]+ B!$G0LIq=w5/5y_/(]BX2Arl4rZHD* PVVC&#*;d0;#)ߏeOPQv^}T#*U6Bn;zj̕F?.G /ѹ#)UN"jr@E#*OM)ajHC6?qۀ^Qb6m?YU0D#)k2]JӲxT"D0?mlbddZB8TқcvL.a~7$[uZLi)0M5-QEl՚Rf$lC$M&i`+n#)=jEdA_gK`ޞ" PCgMa(qzswLT֬1:j&NɑA8yWOyh"~-:$ח'4ҳw|b}Q8k6*8:ڶҡsvqnؽ&[Q9kr9r3/[{r|HM%%aiLi[4FHU#*"&ٖm~n'xbb"hqA*Z"B>ңN'* :CChr%m ץSECY_y+Ù5Z/ksXuАX$` #)Hh6"CGzښC9 CPp6<βs-`@8^s 7GDu;UpkMO`"!Jm>C|P"fU'~;27_0&ЄdHn׋f,uRK);Uv?])TmdDoľ̎Yƕf;,f3&4{&ĆlXS#)2ڙMj\?d^8+M˸e{%"dHFE RST4\ÚN4bG`ORsRia͐ &{/ ; @K H))a@ti{х!qKII"hIǤ<'$wbP|j+xE'Ly#hGlaxBUQɰL\ UBD=&P0#<jf!}B qH_#)}s'I^ %]>} .^*5q,z|01ls166`"x|t9:u珩Js )4u#*P<-/>paW#*9==8>v2 Nl#)-*QhLt68{:ᷩi"B#)<{lk;Z2-Q< nl]|eJ/#)z_M9AIkJl!$e#*gFVYߊs/U&#)ch}g7-4b0/C_-,!bD`PV~̆h>#)mߝ҉&L̦4o'| d1CxCDHDK,JUJ2іEKXO9txlMӆ"ŢOУtbFsvZ[)Ibak/-,k5뾗ESA(>:I v ~ hfKB@R#qm"#CH.D(8A#p>QHy( x}3\/v1Pdy'W>'a$xvxn}t?)3[xnwD;psRЉDb3YE6S03E5w,931XjW fb{(a)#*HF ^rq#)~n b]=9)rl偯*O݇h6+fQO_Pg)u)uY2蚦ޱ\gG Y7gD ôvvI\2Coꨛj3J^=ڱ! M1T.<_#*0"45.bp,@fjfuRF$giS=g~P:#)3fWC? #*$%D7"/ej^P?+~yY6"뗹[hԦ֪*e5JJU8z3(ER' ;Cg;b-:xR)@L 5?-N0;K+㽲F좵<6|gK|Hv̧v]` (z?!@Ǒ=jhU(T0Gp"fFWK!7`FWUvr\B8K+G*m ZP.-+ab4135X3-05{;@ m.gUva{+REi_ q,ZuFB&ʼn`>v@KCJzshش,8iQ3|{3`m&T_q+׮7*Cs&~Sfm(sƵ-û4]"s!# Ȳ#(T!;n= scXtX:;;,r3d,h#hÆ.QtrCǙL=ֻYsdle/C\k4%Õgco8yPte=YFLhdzc[$wv-Ήk3M{eG#*\\yxl8vN64p#)/oUWs*~*]xۉٔ)ڞވ|D ,}*XHU4 Xbe(0*c !IdU %ŋ&IBQmpXe )K2x#)adaV |X +O̝n K-V5UBUDoҿT>!=\O³!! VSd*0r3rzB6Z9d`Mc9uߞ~V2Z°µZ)wUn UC򂿧Yʊ[T_N{BK# G+lq?8c H]~Ff ]|.iǩS]u^EìMWk l>t< PF!ɦ߸Wn o/ر14 7* #)_n ,ҋ{zв9h]!i#*;f'?E#)tT#)&%ID0jMdQV1ZLdP&v|9#)*,'' O5'@(D)#)~o4MAATD@Hx|񪇧ܱR 81EX=/;ڠ?yҷJp#%,𺰐["䝬ZCCI(FE\Q?=|rᛖhѮp5Q դڏgx'AF;PP|wG\ϛWA>O3WE(6#*sܦO'_=#i%Q˨* 8)-1tOJ;(Ou39e`Xos-Bf3{ &RhtzzGG41BLfNԏuY3b/ lg_y?F8MNр^ٸ0k8_uuPF~^ݳ Z gH,&Ӎ"8a&_AYo9ɟ1Kc q(s )j+cdb$Yo|_؞8nϞ̯~u@~t^@ `t PvTUO7cJ2*qG5w#)_)4(ubcDXlu1u32Ph{thb)}U$w|ol.47^zU(|mD\ALLَM` ťM&KiY`AD$F ~S{ʐD#*[7Hє@Q#):"&Yb$I%i4ϧ|Q!!xeL>w ROXy٘q{`wc˻~Y {PF7^7Ǭ/}=t٭w'nl\|]4ɕi#nPSY"rKiCaJQ1JAmFtYv/\2 1XTI2dV;ΊPVe#* -#)|PNOC#*ߠdJE#VN3 z;I TZ+ʫ܈nJG;QlS4at f2`k-İF!6.npM!tYn! s $J2@Ȋ ]ZС"#gv%]Ī%tLNK "lu9N\5lF nhgvHu {zJL&5&̂əLѭ/SWPgJݎ᚛&;vcUk4 2XK&4ᒎܚkYx3*0!/WY/enCd*Jä5ւH0FkFDX1gLIܕ1l̗UJza5P೽Wxqb! l|:"h̙!e!)g`rY16BBhh#)fAr8-6Md4#)0`$ 7%- DԐ:O LLLJU-Ir#*hҨC0fr , !/mz3W|[=>hhYIrޚ8h;\8|J4$%) zQ̰5Tc+ \.#@eMSjMn˻qlTa#5!?C '͹f!0É6ytbUDQo.P$|;&}qT+49m֋(faw2\IjkVه#9V&}o^KPO0DyN:˭,c?(38NtCve r ;U3:<"% +N{SDuQu3s |tn˾4\QȲSN J /hJT_x%"tI"M#"%F֦.VD讖sJ#*exl7N OlFAzTK\Ӓϖ={x߈m-Y Kj5 ꄛ- ֛3sUO.055$|I#0-ceueFsbvsQĶhWW`#*qá`7(]N j)9Bo͙n:15#)da22J,&>/A-Хkch4փCAS m'Ldph Ycx)1#*KvL} gݕI'ܬ#8e\LB|I5$$n47Չ6,&#)Ӫ\+ iPP#*@,P$-+snt׭,9Ču1U5h"C2IWhӔsAKr qܴ3/Eg1zߎtorzAJ%rDS gPuv32+mL))Ak,GDAKC&wf*vnefq#*[`ÀILiL/;M:h48㌌;d/~;SEiRGf# P*eˇ k5]i4TSauLی̿"='R2:e:ޥLFSzٽaɅ{6`:trtn\,״!;L׿w<'S9G':>hxBS3ºp[y3+K$>p mMώvUmXHES?$oy]VX=Ꮼ"Gڮ ̒nͩkX0#*2=FbpnU}ɣxe6 $%H.ѥ\`,A*%DuC($##)i9/L|:y4pB0SȰ0PS1A:_+P1b$<gWAUQ KWEcó3PyxJ(!!]~hs!  MHs2O{}x#ICTQJ ,A֌'FkZe#*^Εbo%7jbX@V#*ԛs؊w(ڊˈ&pI0]YBV=wB//Su!w#"y5]kr䲀Az|#)]'_S1SL3 ;<ӓy|òq33l,5ܡaM4C;ht4@ru76<[PaѺmilz#&ZCc):$!}6}L#O^!HB^ֶ ; ]LE]*G݀09&.k$!ip[OCTi()P~pG>4e~]Yjm.v"Oi8$7i0 {H)4 5^?WPLiaZHə,%"Aq#)vs$뉲ɶD⅂))m8Aژ6Mv%ٙ;ۍۭd)Cd$|?#*7P42L;52ѵFh&)/.)W#*PGK#EKᒚA Fpu;hx(L{2EE-%FjnevkuD-;1̙g(!hÁnw5޻ H0aИaeI'K*)LBR#)j)CLCl=xE.KI̒ 0gRR@S[hv /1#"C0b jꄈ-xc8jIO#);gqc9da"ܼt0BhgibSz4"4:UXi;wM.af]go<Bn\X/TfiLϮ\j8_M2H!(NGÅ?DxLB0(\{Ô?m7Ni4qX 8BtQγ'*ܠKJD=)=`c6kfذp)/ T}5[aQ<2>6bD8Ob9޶7Z\ƞ\<`"k^}D~(m1IbϏs]08#)/B"\OX"^i-CC[Jv8&SabcxS/Fuqa(y68bd7;gnAٳK#*@^߇:ݔكuX#H+]4$7S;Izᯎviwp63IapՖ#)bjL0&i2ύw8.)6Tss ܯPcf5*J V4E.sQ#)eDC8:yWsEoør H1Z#dCDȤ$bíSRw830epsh.C\,"CP@լG͚v0 Gh^AE#*vIÃ63rL҂pnc`KC$GNc0/iCOIe=@_xE,g&2@~t P;P]Hy@]3C{CS{pk}EW"@,w=̽ #)㶓 @PF#)yl)mZ*rZ<*eqRTQ];jsdyhxX1#)JX*)km_˨`Q<e?<mntz s?d @cyۦ%˄aۧ%)۩c"ܬt<4ZhL$E#)41m#)Ԝad sK IE$$&ٖʄ°%85tdZQE4 F2[B-t ]aX^+`ѕ =]:#0Ch` 7d!na2Xކ`|f{#)y#)Thu=D!j!ub0ǀȩؚs x!0&#)6 DWCPcy!XqPB Ȣ ̀UJFEdD1Ȉ= aĀ4 r'@"=3˸0#*<^'>H VӠ/>*F*#bo .cx}K|S<51FR"6$md#)l!T1bbwcOi9ͨLDGX!ޗ }Kӊ9"cl>O&Id[R_?Ir8sf,y(ev[>d1u_^jeZY KHP$#s_X^fR3m4~H ],cL+Ţ2͔ZM*PAb`s;WM)a^ϏjY޷#)hkj5ؕv ^=H*X] yUF-Ka{9J?D]纈?!)XN1$"1TT(v2@0늱 vOa(x Hi{ȁ!p$`_OT(PZ{}5DB#)Jd"-6&HrFME:&TutѨA  #)~< dR ܁%lT1,6}pBڝIjI$"D$D $`52!RiTS SZ؇|#)io7aiV)'wx ?e`Bk8 aFD,i1 }p#*wݛ+ ԭL"+q޸C&(l{a Dh ba10,ɒD0Djb[amhzvJBi)SIkM֓i*@!+r^ h1aZfF3<'`ّQɑUv(X{; ۼs*$I'!5t)5Փ|e`lC峏@nVAD+(ʭGsH.fɟ'$|~Fi"Cn#)A$7hJ)vjN<`\Mk\S\-3#QaPǮ2>`hx<ԑ~11 2c*pB6mAEIVxp׆m%cB/~:C,ZwqQ\wOtR.i/#)}Ö}\ZƇ(k816M|ȟ'I럯S(/R}>Ď_*#)#*X4\ 8ʩZ v{~OO?m_/mD~$?SLD/c_GZF/ u ca;?dB!v[~7GplG;h-F@J/3V#&9mmHnfdM^6jse Z_Uأe18~==FL.v56ɿ?^KV؜$׉LF)q*< \ *2F,9ڙN,J1d7^}vu)Z uĈ_D$ 51!,Κu``b[OVUjRS2lmk'wΓEB%"$|/#XEYeWlmlbL1IcĄ E/0`uW>ΐ+ĸzl 4m#*|?u.4Tb!q¿}0_og>Ns)]iY!I"23ÿWoG^@`%@DyzǞuU2(12y#*PdKYDjѫ-#*Oz}KKRo{T]B@!1 #<==