diff --git a/.gitignore b/.gitignore index aae1fb0..0e6670b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ -/.lock-waf* -/.waf* -/.rsconscache +/.rscons* /build/ /test/tmp/ /coverage/ +/jes diff --git a/Makefile b/Makefile index cdc1d18..35a399a 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ .PHONY: all all: - @rscons + ./rscons build .PHONY: clean clean: - @rscons -c + ./rscons clean diff --git a/Rsconsfile b/Rsconscript similarity index 72% rename from Rsconsfile rename to Rsconscript index c44a5b5..b67e9b6 100644 --- a/Rsconsfile +++ b/Rsconscript @@ -3,5 +3,5 @@ Rscons::Environment.new do |env| "src/**/*.d", "src/**/*.c"] env["D_IMPORT_PATH"] += Dir["src/**/"] - env.Program("#{env.build_root}/jes", "${sources}") + env.Program("jes", "${sources}") end diff --git a/configure b/configure index bafe681..17c3a08 100755 --- a/configure +++ b/configure @@ -5,4 +5,4 @@ if [ ! -e libs/glcxx/src ]; then exit 1 fi -exec ./waf configure "$@" +exec "$(dirname "$0")"/rscons configure "$@" diff --git a/rscons b/rscons new file mode 100755 index 0000000..93da86b --- /dev/null +++ b/rscons @@ -0,0 +1,21 @@ +#!/usr/bin/env ruby +script = File.join(File.dirname(__FILE__), ".rscons-2.0.1-64b37e4eb6b5edaabc2d8658995d4996.rb") +unless File.exists?(script) + if File.read(__FILE__, mode: "rb") =~ /^#==>(.*)/ + require "zlib" + require "base64" + encoded_compressed = $1 + unescaped_compressed = Base64.decode64(encoded_compressed) + inflated = Zlib::Inflate.inflate(unescaped_compressed) + File.open(script, "wb") do |fh| + fh.write(inflated) + end + else + raise "Could not decompress." + end +end +load script +if __FILE__ == $0 + Rscons::Cli.run(ARGV) +end +#==>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 diff --git a/waf b/waf deleted file mode 100755 index 1b9d788..0000000 --- a/waf +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/env python -# encoding: ISO8859-1 -# Thomas Nagy, 2005-2016 -# -""" -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, inspect - -VERSION="1.9.1" -REVISION="f34901f5b68face907b47c9bd9abce84" -GIT="1fa2e6f7e1420e3fc64b29bf7abef531220da538" -INSTALL='' -C1='#.' -C2='#,' -C3='#(' -cwd = os.getcwd() -join = os.path.join - - -WAF='waf' -def b(x): - return x -if sys.hexversion>0x300000f: - WAF='waf3' - def b(x): - return x.encode() - -def err(m): - print(('\033[91mError: %s\033[0m' % m)) - sys.exit(1) - -def unpack_wafdir(dir, src): - f = open(src,'rb') - c = 'corrupt archive (%d)' - while 1: - line = f.readline() - if not line: err('run waf-light from a folder containing waflib') - if line == b('#==>\n'): - txt = f.readline() - if not txt: err(c % 1) - if f.readline() != b('#<==\n'): err(c % 2) - break - if not txt: err(c % 3) - txt = txt[1:-1].replace(b(C1), b('\n')).replace(b(C2), b('\r')).replace(b(C3), b('\x00')) - - import shutil, tarfile - try: shutil.rmtree(dir) - except OSError: pass - try: - for x in ('Tools', 'extras'): - os.makedirs(join(dir, 'waflib', x)) - except OSError: - err("Cannot unpack waf lib into %s\nMove waf in a writable directory" % dir) - - os.chdir(dir) - tmp = 't.bz2' - t = open(tmp,'wb') - try: t.write(txt) - finally: t.close() - - try: - t = tarfile.open(tmp) - except: - try: - os.system('bunzip2 t.bz2') - t = tarfile.open('t') - tmp = 't' - except: - os.chdir(cwd) - try: shutil.rmtree(dir) - except OSError: pass - err("Waf cannot be unpacked, check that bzip2 support is present") - - try: - for x in t: t.extract(x) - finally: - t.close() - - for x in ('Tools', 'extras'): - os.chmod(join('waflib',x), 493) - - if sys.hexversion<0x300000f: - sys.path = [join(dir, 'waflib')] + sys.path - import fixpy2 - fixpy2.fixdir(dir) - - os.remove(tmp) - os.chdir(cwd) - - try: dir = unicode(dir, 'mbcs') - except: pass - try: - from ctypes import windll - windll.kernel32.SetFileAttributesW(dir, 2) - except: - pass - -def test(dir): - try: - os.stat(join(dir, 'waflib')) - return os.path.abspath(dir) - except OSError: - pass - -def find_lib(): - src = os.path.abspath(inspect.getfile(inspect.getmodule(err))) - base, name = os.path.split(src) - - #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 waflib -> export WAFDIR=/folder') - - dirname = '%s-%s-%s' % (WAF, VERSION, REVISION) - for i in (INSTALL,'/usr','/usr/local','/opt'): - w = test(i + '/lib/' + dirname) - if w: return w - - #waf-local - dir = join(base, (sys.platform != 'win32' and '.' or '') + dirname) - w = test(dir) - if w: return w - - #unpack - unpack_wafdir(dir, src) - return dir - -wafdir = find_lib() -sys.path.insert(0, wafdir) - -if __name__ == '__main__': - - from waflib import Scripting - Scripting.waf_entry_point(cwd, VERSION, wafdir) - -#==> -#BZh91AY&SYȼF&#(M #(E(a<{g1#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(}O}՟sI+mP}kjR>/7xXmwt7b;O0hrsȋ`tG훍;D[zfvvoo{w@}<|{){ެ#(#(#(͚#(#(.#,[뀣}m'qm#,#(nݙivoclGA^I0RQQ(4JI@%J#()RD.aJ;7vr{wnrGmկ{#(=vؗv^)s>&7n[o\4#.Y:5I{=ݽ#. N6ʹ$M#(#(z4#,#,Knbwul=ww(Ouv־`N޼9}ط;=io{>}svRps_hw>UY.m:[ˍuNú]S}gi6#(p4Old;!ȧ4C`f/^Nճ7;vqs}m|ov6#,=`{=XU6`U[{n=s>oMzRN=줻d WL#(#(@#(f5kgwOaƎc#=t@ϳܗ1M\艧3˚9|YS$f7"vzkmWئm;;;.kɲ{зOItj/{^vLљcP}l[:G(˴ ŎjԎy{\#,jхU:s4iu{u75u;Vost{MNk7u}UTt#,{`/Aۘǹ] 5F0[7yҀ %;V`#(6y4 惶#({WZow6 :=wv5u vg97mrV"QRuqsgze2LJ^q>}]_{> Ɖ4w#,:tv;=wGS3#,4@@#( #(Faa0L)!OPژz14h#(`hҚ=OSzQ=#(22#(#(#(#(#(A" Ѣi`AOMIOJx=MFaD#(&@#(#(IQ!&6ڞ@4#,#(#,14#(#(#(#(#(#(#("Hd#(Ab &DaO)#S#OP#(@#(#(#(@#(b2'60SSxިڏ&4z@#(@#(#(}wVC[m:-V3>w "QA$P LEQ!D#. ?38}D$+J.ioƮ#,|OqͿb쭿%#.VBiBHk׬ Cncz%fۉO]-Ӷ&۬-q(с۫Œc#QFN"$,*iZcI˲w/wßZnYVG~nMq*W\ssFIjVDDe3zPXpk[,B)hotw}MwP<#.~]é2ˍ[R-H:3פfn{bU,#(׋9g0aOo8CH6Xuv,Cw #(Ϗ^^bw:.FL[$,T_l⨩=df0QAFF:ԃwMpþ+idn[֯ƷHXN2A6e#,`w1Vn-TR90cMu(t/V//+ʌZ{u#_I\wH4Dž?x S6aLZPC`߉Z4m5럎 N_uFlXQ>#,x\JBR#)ɥz|yߢТooMR*c+2Ƃ2K$FG_-"c{1Mo14#O=r>H?W>5sܢa(S~W#,C1cvlZ|KyK=IGː#,í_r.VNCdPJdU^xǞ}T\[C!bE|:"_.n_ST|}ΎE TQ]5|l%Rj‘b'mj}!uR]Py~ϒʣT1=1(=}m:\G +Or#,FnWWnֳA}Ykw4i)#,I1&*{Kg$|DU _H9&J>)WLug"bYRplş-+&| GPe\0a3$Móz()US_lq˥+S-nWzc_iqy^}whv^H4҃מ>92>,TkpkZݑ`+&]iaDURBR:fsV(qiIenVj-*cXΑ!N.;4DtXS^"(wvNuVx4."Zx0)EbSm1M {BɈ"ܒm1axB7ȏK)WE!!ha@cK/tG>S8t2I.\95kc'?:H#.a#,g<غ7\xĸc_js c#,0M0y~C}P*#,2,Rc ,X"b BSޘyy Dg[VX/!R(<5_45OǼ6 $M+onB`{wBR]~=j;;Jdr]ju賹ҙo-;y=/IrSo"!|+CZYsS 2!e~a=wO]|le5R贂=WӝVk\E tJ'eL#gzmku6gGΧž+tϥex׍` rq07uҫǏUIՂg`H&ï x_91X԰ y&[8'%pv*&>g2Ĕ4-$ˮf L^y,h7#Q&<+LO{{&G#,Z_gjaa Dol㭳jK!Y ˋ<0Cx{5,g8LK~?UA(I85WO;ōw9d^ΪwԭwS ZxQ̑Q6UD\X)\ݜߐ5/Lx"TCvϲf[B[:8L$7ZЂ?DVܭ5:V3_?ӟgٳ<ːyʡY:* e4p lW6oK@3riS xFr\P+ fR'JS5ڰ#.fFc1Y$CmlEj5=}/|]73F ?ij[g絕y5hF0}_Bۦ:+r{S,p m#(gT'׃})vKPC C7֎uBnl.Tu$/>9%%4bL09tB 6_#.2%8tL,Q@޻ۈ7#?SQqU?\Kz:Y˧lL~Rc^a,iw/-#E'#4|oґar׋\1(?s*jL <Q9k+LLk]EnI翵#./TeM\'kK4QHEU!-i-x߿J&gCOaRI<""wWEQՐ[~@`P+m˖B#.#.#gl}wG2=(D}qKH1 ^#,#,7Konb+{#eJci|dZ 52<8IjSϒ{i)se ?Rw-?p!;)vWs ᇽz0Mw䢓J) j=X}}ƨoe)S#w`2v7mm `Fڥ#(b员4{x{P|0, ѳW.h̦\|[wl֨:a^};kyig;~pT{ڪ;}03s:=|iΒ[/% t}, m>όZ# 'InI8]<ɽSZC||hhU|:{;p& H̿C!'{e~36[+#,MR0AKM>-sL %` 'X%| >&{WGǶ;eI9ʕ0rCCm¾hϲ^\7Vzq}+h8r@GzDp9Lt#,im!'[9X.Q<7Uz/Mu|L>sߍ, @o03hOqm'gL+-$׵[N =hpaȢ־u>!1G#,)#@*:X9! 36DOoG%ĹL`lmH0@M2qƂxǿ2Fn=\?͌z7}>ɝ%9 ]RHB% F"ƙrDKrS<3 0V`%4 HNl~(Ȯ-CQU{"d)D/MfIpkȔnr`XTK[0qU-nw-e[݄‰$5z.34y:>z;m?G){#I8#.^w}̡Ǚ-QJJ#.;$>aAU6ϣo4_j\>G$A%Aqw!QdHC~X! L{Y'nŹO?Hi@#(OTC_^'<ϞXX Ԫ$h0P=' Ʋ!"@$#(]([@-tzN2jv0ysne#(79^NHE1CTp[݅?Z"f^J2#.A#.&~1[p^(i@wrƤY5YQwz=%60"Y?[K4}G-=Et(HFD(XAEbG_g k0K}4֡Z#<~4p@?E@"&X<@Sh1}@;@`!6}~1X{kLX|'~ߝ0_}&FE9$nY9hpelCwOm5ރԦbeRyBy2#(?{V/ʹcq2Nf2}bt>'8A#.XߗNMv&,#,k0er`E~6" i%E#.=`d\؋Ai+sDn<'F,##,=}x8 <ގ}\ 1m ?ߒ#.j{G8X9v9I7[i9}'ΠJ(3ASE(zO?&#,eP>ܠQ a#,`NO)PzI#(Ě~g:ӨGo1s.[E2@.B#;w&!? Ȉ1(7ܧr冒wܘ^'!ᙢUSMP7Rrg_oVsǍ̢/SZ !u1PVA;MF:#IG%#./x{+j'fȆab?ϭ$p$tGWy(\Tu{k{zN5ؚyb(@;H-) gQe`w]3bZdJH&\oX5ɸCpI |(: Oc9ȫ8`]v0M\HgF#(#(`͇Q־U7\φ*֊a@֙#XTdCA޵DGUg9VÅ?Mcn}ɧ#sJa#X=V\jϥʧ#=9X^Վ$q@R:HTQ:EK2,%Ӳ$+۠DIyCKMń.֫gW<HV0 `vW|yWӆb[o/w{$Fzs׃8R$19.RrM㔏wNk9nJH46FõWGj 3cܽE|QZvhfE$.h1[0buCkdPyl`QI)fp/2uAO7&#%#(׏}Yč>}D2g]4IM d+N-SxpR˳8g'FN/dyY|*8:\8?&4;748k8ZhgN 9ͱVRnil3Eo_govb[±F =80#,V#.\#.tm\PCL1Rnhz6hɒH$F#lR6y"Erֳ˱3I~>ܗ>|'a]#;^N s#⢾՛D(ƿ|=3m^z"RqkۨU6 .ܟϛZlH!8G{wawu4@H1rY#..kn5d5̻BSeMH^2TiWS+DVFƔrAk&#,| %k&܉F4QZ:ߎvTkl(6^cZCICJk&?k߁WHk#.Z|2C#,)2k{`_wSu%#(6ȆjȊ0y!TҚFk$f@JRž{=]H*ʙXPHNm}pV.HH%LGh$[#,[ꦙ$ٷd>v\0L#,*⩇ѻ^~Zupk{# "6,8 8!̒<yx)#(&zh$HJW9k9׀>+g:#.8FxnpG'蟯XT(#>'kAͩ,\Ɉ RĢf&6*|j*D`J)!Q-$xݱ-h!=N+"nV8@*D'w >F, bJ @{BH'a۟_g?IX(hrx=JIC;+90X#.}HH$ýST% tL/lk5&דn!&-* @.ܪ0O`|yk 4]S)"#, Gs#(̭#.6s%NJL?^Ճ録IX|=f:@ieIoNvTpN㊿Vy+x; #.C#.B<_#,AvAU:᥂td %*SN_*}T(DܚoXdQD"j"cBvxbãDД,j\8cd> .MG@r 2Eַs:)Z#]^#.8GW-\uhX^FU ںUIߎC~yDkᮭ +jmn9=-nH~ wP~GQiK*ܣMmd堷iHE1X]~ZkM}+!3*.}L9<Bc*!U/]wɋ (fGKװb+#Qv#,6Ӱ9^qksoϜZd:}'L{GƏϯFNG[Fd(.$p9DGLÜ}:`dCz؂YJ#,E#(8Ưz~5丗mjF g['0{1Lab+;*"&Qi$D:1TPH Ej7蔋Y콀PNbV9b@j%#(Aj2#(!-BI 7Tn]5OV͝pߐuk.0#.E-;HAR̯*Mss PM#(k3.:5j5O㴏]r@z)rcoX>z!gt-ͧHX.T#,*SUWGSz|@WmӾ6ܺ>vb/٫FPݻ<$vT?0Qo UA߳?&&]]Ej),79_=fX漻Mm7tj,ce /' z H?7AGVsrߞrUcznÂb2':[yeѶo{#f>Pږ2Ѻ;4w-g'EQ(G~z1c(yX#,GZ3BuF .s(o"]}Su*@WCS}RU3ǝGr1{BŎx["rX[AEw*yz*9#,꧷}ڵ:IWj<'es'nrTp挆WrhjH>p8V"FoT,3C1͞7\X룒~׍(MWgc]hG#,X@"P BW}cڛվ/6# ղ]QWf"V< ~m2c#,17rAhtq"E3N;Wlj;#,&|Ug+흂q?+e]G'㍞1zo[({iJқ ww[Drgf9j~="_/Mrq9^DrJEl֋arle|ʊ~]y},}jH`(v,oH-Cwvд~֠ m9?t&#g竅TKAn]*PcC=M!@R#(*(TbG`y*r|k}?Wwg6~!â%y[gF\kvyhc|<@QA7oqØwx;-.=(_t>Q[16s GS5yw$1@^=Y(8~~=O)Nw<({'8)dHji!Pz % 7N'w#Ǻ^~v|5q|%Gh vD(☶~eqX$>2Yd#(Bq2$T#.j\F3JIM@(WxsRh@2 I+V^~ #E1ztÇcUrNF3QjTv O\nzϿ$Иp歫hp$A6h!ܚne|ϫ=[@&G6RLg#.>PrJTp+(qkf%{#&rQcֲ7vLkG00✼~:ֱֹ6,8-b#]uҖ d*m#inݿZ* ?OcnUe#,1;#(2AZE5ke⺞y?#,vI _'P"\Qo ibhmE@?FvVx{onHSAP^;4T'Ҝ@gLjSABφnWuua\|[.9<݀(6冪$]ZC'%IOc";|:Jxe( )ㆪ:@hwn_&X|~ʿk+F+nBV3,qz_{ƶ]c[#,mb#,%qzRIb4CcEp(5"m"kMjD0Wd`aqZM&BȚ#.Hh2ʪ!n<ѦRm,NQR+#.&ӭWގ Ŭ#.#.3a qA)q>ZrZ^3 c IX`~zKO3C܁JA$ttFk0hZM d(SIBLAMR:^=gmӕ_]lYR*X|xrVRDvWU~ ?;w4 .I^5Rr7UEHt~-C@p Ɣ#$mjT>KǞbZA+#,#(p(ҫ_ӹ([s[qʹNΧ#{sVXv[^9" {(G3C)||D趯^~Y!F(:{E1?GXB*kY>s3KnBj"إ;dZ!s#.Cvҭ6QL6E%vzkעo=wnЊSLPv40-X+-= qZڌZAXbd8 7No7sR1ܩD܊#.)FL& Kf" ;jl61#,fD3#.ΕE> {'[GQSL+_ xOr6G3ekE4?9>R5J<a1~c}x+hY*U*#,O#. `Ӎ#w==tp SԉevƠ,j*#,sCXcD{1m@w;̓MP!\Xx!j-a:(ۘUZ*9m`[3 "iIFcK0ߖD|ޮOw Hq.ܝY gPOm㯿vΞX81N5F LJCŗ$Hi@n68=k N)oaat$c֘Hy#$m2F&㈄sF,E#Pmk8#,*{(Мk]faƑD3'm0FIJeB,R s!`#.Q#)Ri#.,z#.|2eo`ԋ#bIcdnLr::H:5BJL#(jN#,&wŁxjB[L-2reɚJY}Lqoq+PQRe1:d%ԯ5˿ Nj4B`Z3{zu΂<-兲U&o;ƎQ^.^g2_@ T px8Bw;X:_:٣YoMG#,iv`g )U7d#K&\#]ziclh573#nFWǫUL-Lq&̭9X@gDs36kܼ[x|j`8MLC움S%ټ b|weoȾO4(#,N= :; Ȓ052!Xm޺' kP`Cջ Kp`X 3ˍhvI79yÈƋt*ZLI"c"~TֺcU#.f^-H\M_#,A%?IUC:Dp#.>#.fdE_#,sqy|լgu/+8*fr|.hN*b#<HtQg\9WN;w4| zxSE*{ M/ ޯey4OZNEA{7,XdCs?ЍluZ\lۉZlj(ǜ>E(w8-1.ޙ`ќ5dҽ’M;.geӟtg2a:",U]4nr(wtIL՛sؠ;1}#,*fp}ftPٓLQ9p눟x#.MTE.^usR7"qR ?mYxGi#,㑲s9*Z 8.9pr= 哃Н1_?~`bCZ~Co'Wioؕdx0@Uaזk&}Cxxr_P;R+vك W*ן lv:#,;t䦪fA>EYId|kFdkp^KV]Ҍ#z~|(1#.8 duuzi,8㷱~|g[+;RVb`Am+xD1NKZ C"##(\9X]#,RjB0N#,U8vsnLa҇ps+T#,g\بǍF9ߛD*.78#.K S*-82f*)(~[J/^#.}fF'v_JkcKCdL[5b3Y4vIu~'^I=u^,Gpqa 3C1ӌ=lմėK"E-:ypJ1>f۞50`Tu #,bQ apM! a^a:Bt9'/[W˹v#.ug G5_zda?SՕQc0;qÍ#Y5ε{N^ϧfޘka4;hrxH#Fn3#>LyvY][/hs TGp;왳w.^:*#,D+ʫKW:gp|6zz 8j*YZ\akCCt>MNK5K\F1 OƋhMZji~)VmCTrlEM;Ca:2k&&WQ]u/7K׋${"*!ڷFu]Z8mWz-]ѮQ׏8:mn&OޓW)>!9\vR*PS0A:M==ɵ6xA(8uތs/Q-kEĹ(G6^YrCq.Լc<}я yPٿS#,٦mD|]}ȣV;Nϫ>Ϭ6Y֒}E)}^?#.58+vL~ eŏ ʒ"rTuM1 Z$c#,?zQbɱ^=s޾/Gf9BBd|<^lHǴtTfbA#.4x6X@[uy^ 0&L(RkH`B/&u>* %H戧)|:/ͱf77Msv8hJl'ޢ⢡Ev uC[]a)ɝefU,C =pH3ϖNxD'ם4FO o%/Dshu.SkeҸ_' 1]'|6tgӄ037b>8HDjD$C::Ԕ"4 B- _z=%wаֆv5d|@OCQT FTHJ;w:1ESx8[xՃBlfL#.-%cֲJF`P27鶪IzV4w+F;k,]q( v\hfpEjt2l7D(}MOtuQH‘NX\\%گn\Ӄ$5Si-B !4#,ŎKs8Q85gJc|"/CYo,ӊ؉\t75Ơဠj#.%e]"N Y,s6ۤ8gлu'/;uC9 U4CY@ﺠ-&yj*ΊPTQUrsoB&i;;9,qGs^\CSC#,%~⑃ڧg}3㪚(R|Ɗg ĺTʿODHht;!§,ϔI(M~tRdS#,,-"]=J#,(+Cw+ٯDX@ZV\"(`ݝElŖA)X.UyʁsTQgtGP0۩R·n)cب.D$Kc0é%7X4g*4חq.Qǎ caWϪӯ5śOĉfj$\Uy{;4f^+f*oUܟN';vҊ:N`\$fq.<\^Η!(#(Y{C6B ;a8.D{#,W>;ݽu~GFu'U|4 &\m0J]BP~0vé7PmҬ$EkgK#.`H0&ʊO(VU'KCkJZHTq K>s87} n=&QʩKyv^W 8jqV<90oNj~|iFmOM_OM^,NӞ޼OHccw&7pw\/TS{NHD#.N|w>ɍ;{#XH|ʗv;j릩~ǥN:^;n0.PJ㗣mR}^WwƲ-w!>*O9fS;TzA#$CwZoQb!0m~t.f8|6)Ώ(75n HUDoaE0r_U%0$`mzrbd"b1#.XO)"t>ذ55RDJUo뺰/*'Z! #uObU2CSd^4؆Pq p+?,srE(H\ R^:}#uQzde(/_e<7d#,cB^8&wiKQfͦNn.|'<%a&-29, %0CDD1ѩ+R^;?XݏFҟ^S.#nj[^4?+)1Q n)kkPNԌψ(\T[-a!@aKlu|SqO\Tl~\Ԩ`nܓⲺi[L>rCXߔ`S (lˮ"UPuxe'Tٯc}:xTbq`2!h,ĎW.y#,2]W"s;u:>mmNl>H<Z4I>:МSw̟mvۯh\(>{|-tXNTk!L*[{=ř=rbhYw9**mW\g16q*rs֧7HS_qZ1x(`0:\U/UxPNAmӧXw{Qx:: ׹CƷW8Wq#,GB"Ge5W]@HXZ*9 rWt%6#,ڮtdsye^i:k#03sJXyAq%@ʪB]FS'@˂yD(Pq8a23Y+3L0^xb5߄Oj*(#(X!%tVs<:O+ZPڗ ie::Uzitî y BrhU|Xg:ƨCɱ(ۺNÆ!ڡpt4IpDeasR"{:0(Q9㴒8 xB:urWW.i!#*o}iȢ_^-|uwkJ֍s::}1m6D:u=AtSXtrɋYH#,০_8ښrFbty.Ң)-,O,#Y`#(ARC=,Wm0&u"pvwEo~7g/$*|3{Hf#..&0n9N^.|Eʫբi޴Ům A)YNXi-L;Ǯ,8nQ:Fq<(<7.LpA;69zye8/|vrEtǭ>.7$k3jRR :pt:9}=pc6<2<[T tDPI? tڡ=/#WFP8H5ȄnIrĸ!nTI-(5k)̮/>7|!ykS|YLXБu$:ziHD~PGtsK+#itV>c sB:Zw#.x+L cɌxމ-ĂV#.fMK4k!`\㔠!4.ܮ1~nXa1#.X~՟;vD{mqhNL> L@m[BAFA5NV@GʤET PuR..`]:t #.jo7`#($>5SS"+~W}2O`l) .B#.OFm=>eܴ:iϥ(ÙlԻե;\Zk_mD$rW tl\(ù#(?5O{b%-IS}Ė0lY+#.+({) (TBXn\T$t:q:❄?_EjO|F_{|^@VߓU?oo;}? 픷/N#( #.r?$AF|jTl?l 5T<;I@)0!SX ( z]Y`^6]2_uʇ`I1%ZHMe@P3٘yH>1&q- \˦}:<tsu(d $#(j÷cGYd>F#ʝzh̏L6lGJu*#.SsRoyv4eMNπ^0-"ʮR#dM2Y3,_.Y1枩&hP})# C&.><pn2,R`TRBћSb#,],(ԣ'OF0sYú읓㟲gnRm51#.ow͵S3fuUԑ#gK21Kjo ^9)/r9t ,}Y:7T_Z&0EyMD#:[D,#.,)a``„ MEEG+#((w=~r[^&˜܊hZ6giHR 6 nbf1R 3]"1ւ6o^1:a}iscՀ#., FE'$Qu8R [W˚Q"QIG8%)/aMON mǯ՗ qkյf[ AWVK#.x(4F'#(ĊdSKZny:NES!Zx* y7p*.ՐP.adc>fo5!Knjd.'N 2@68Zgf/A]\R9R}A{W9)iL6yM&Xќ`t"Q57X}O#(FƱ9Hd3Nij aq8Dv{5|㩜->zCo>s/+t^66ihmu~х°<ez,rꆈv3s5bmtf{{gvvH$#(#(lHcV~9@aT469|/rC-75^P@f|`)Vƺ߅2qDLQ C_-w pÉkA*D!K8?x0Q< g<JmwX#YÉ@+i&\CY]X/D{]->Z,74"Z_̊r^)?;{0@RCatpJMVlZVE5P[͗}ؚ^(#(Cz.WMpLE6/]ʅ=Y%4D* l##(pPDv؂C|j1EsИj&QٸѬh aslpMh(/Q fF\}YL i%Uw>WX=O$ΥN=#.OT2 O0'#.JiÕ\`}zcxRwciM˗nWʮbJfGƈh;4 _P0Fezx#(C Nppnϻx)M96Ck$LA`ZF@\@ jo Y^ H0{DpڶK?&;9^'ʼ{:d#,#4}/CQI %NgE0ulC"34ێ4[~g8oApmw1Kϟy%(tGӱ$ƶC3P1ɑ۹"k(s#.TT(4#ʤn̤7~+3*6>O #.x¡#.@Q[ x;-L?6 |7"xKP@J."7@\gja({!}[8YE t-)lpn}\ 06R~锋p)(Ă-# D`)CB]J4X[/(Q;BH a#H! .E)$V (%m$zOnud>UA^#(͌{<&J3ߓ==?#.N.R2b!ar_0{/g?f',ʓ Ӵ Lnj]f0]S؃M:N9#($}h?z^6$dBd)LJXA;gV\ yr*8Ss遗Y:tҬѬ\Y#.=ZlԖpQ⫇UQ})8.6N1JeUe˪Q]oՈpRip8rvu6:$XM'I(RMǮq7aH,Qj_[꯫o1ސ8S5pyh9,'pE_0E("w#,=h:+IK)2I#-銦#.LL6-\젊;Bdwf1,H~\#,7©TA$B,QG0[*HNVNcDҎ;Q+Mzbdڧz6Kv#,e\3*q7={o1}\QHޣ(DpLDL ni=gke+!d+.,ƣK 0 -o>巎`N|cH=djP&-UCYID(`4 Fez MQ@ϖw@Nى]<{qֱ,<70xl,0[sЄx{($(|bƀ*R]K3U҉ JbJ#(ӺjyHSg r![hH{r^>lVϹ7*Dc(ǷT$:6|4JRD@ɑ0,E@:=[ u4Dyjz.d&ya쵠Ǻ`>mt&BdVS{~֫ic]"&Tp($)Ya3EM95aXL> jje,VbX־S65FɊ[NN~'*3j`#.fMj>`;@l^yt*wq)[ؙAl;uU #,!/SRZ5 #.$h#,Q,0 $YŠ5rcfHzRl `=?<0߆rV8pr-Ѓwj[_z1bnQu_)%R P)PGs&δt{zҳs]‡; T۶wQXk)lso}Wt>:##Ŝ%zf0{l*(6ӷ7נ%x#͆v) d\Q辺#.?7k]~ ~+nmۮ{s@f(ՑHA\',Ld*'qXE"u jN20nf1^Y"l#,&C:BP%#,ݷyI0{*09zY=]MPQZ$kSݾ(lG8Лh~6p<4m S.Ӿ#.XxXzE*ʜAUX#,ӧfCu.!yykݬCf1)1Hvj"靀ۗGJЙq_aHt#RDx?#(@QdC:HeC*e^ #SEJh$ i=kI4!HaԜ4mR\d&7=g2ԇ<J 4J@bM|Qz]~[3^5dI ɴU=R)9{FsW̗ċ%uݨh^#. 큷yV>=0#(ëRȮy@IW8 J_-t0XA~^}Vp}g6E hKEС#()#(?W~ɁGJ ?zɲGՐ[ntdb'eJ?Fab}{y@keQK-#(&7ײַ(?J3 HV r#,;DuxFRTw2ŵ<>G2ғ#,OD&(l#(O?%W}Je$Q_Hg0JOZؾzlod6irʿk0yEFoe gy#(/BmyDVnkށ"#Ȩ("}~?(wQk=󜪖ՕjV>QL}Ӕ*^Ŵ¤cGAf'{{141eA80@VR-|tnJkz45QfaU6#(A7Dm;f5ʵ/J#.XB@1 ƵN0m#,#,4JkͷG9e]c#.#.>Mc\EB26z=mOu *$'Ѧ 9,"QaDԓûitkyo~YUR$;=;6?S OS[DHd?ǟOUȵUJ$AXSm!_V~jcc}R #(A#,^{;:5x”!O9bbD@  i;F 8fG5#(s @KӫDSĠh^wre;w#gc|ҷ۔3T#,~rtY0ITBQEnɕ5'Lj%b)L8왺IH0( ;N m]ʉ-K*A+,&|V :d+#EĻPc18݆$Z BF̈́tT7Q04D:ߩf׷O}:Vm%}gr" Ŝ2A:yp9=j}?_̜xrI٧ B_L7x7KUO%| lz뫌e s*IH 81C#.#(ǟjs}`#(#(rd{5v#,OQW]x>@(#"o@#.;|B:J*6@xQU8҉=z#(`c#>λo1Y3:wdO8s.bqYQ^9zO}$atӔc9!0TV ={<|'BzU|`^B2`1o1Q:.QÝ(Ҍۊ`Gf)+#+ڃ9j1ae$GuFt ԘgS&ץN/ncO|Pu#Nm0ƨRW]WwMF9i 6J#.[N2؇+ںUEdcªd9fbn '~gN\ε:4fJb.~q#,7w9o5ņPuΉgKMx $jي-k|#.C+|h+@)@j!K{1ZwNhˀT^#(@+ࡸ9\iek#.4_u-Gl1.?dE{IWXGs99&o=9ERŜOSq3eh38rA1p"mIg̾o*),muGV9n룄P*jzI%7#.b][b!߄}ߕۏJ ?RJ^\EbD#f)%q0hYCϫ˓NG׋ mTb45҃<]U E_F$+IXgc {\4_ q98 _x-eP<|xY#.%;Θz 50T9=.ۋYL*BxUxBHOw:AvbKF"/r|!ٍ&1!$4il> 4|ڼd#h|=lm|J,8ӹ,]৉|;1muܩV@NH39ēh>5)jé9ʡN)(|ua4'#(VҐtig>z1CEOB-SVKN%$MyR+lDZ @6*#.^7|*(a0#.ȀP EId`ah#( 9PnJ5ǧҕдoo.Ie~_!0 z8'ӹl #k28xY n$~ \7T>e?@L=TC>UV;c|Vnccp(u#,TV#,#.'y=B> `+W=cN`cMd5BRCkfI~w='lF'xX"n~\;0/8PsT? =H8|?i[yښ"vn>OK^#8xe0ܮ}?͏&CP[ߞcox|(Q)kR$#.J% ߸X|rtW]ː$*GCK7 OyV9M7f~^#?3b9a2H,[՝H>C]<|ң-{>\+Snr"H#,6rR $>ڼ/,F lV@ ¥ćun*:)X;##(^ @]ġgaJ`BQUM򠒜HR)T_7}0l=f0!"'6Ĩ(vvwߎt~&C!PVBUR#u*>$hsX*k{$H e;b$8D5"5CLA#(za8>kA.ۦ=(hnpn=@ZZ_9w@o|O}ɸϻ{Ҏӱ#.]t}K#,mU8F~6PiboT;ܷ3LY\x)1fe8qb`wbS:+ǍZv)c04UǚT}`{a[{wc &NQBTGMsȳzvi/lhK賓).h{xZ8}#^ϰl 0z#,8zߤ5^aL24Tƕ9FVV3 2U$xARg)#('4:2!˦MVXf}?1w>bÈqSkZ-f#MrZx}CɧIOal @!ZL8Nq"sʭs&7زΥh<`wHW&#.Mֽ+ @*p@x|aEZbR&/ӧs3QYäJ&L%wmNsmz6,4!R#.+ <= xǕ gloY-N)d`(.q(# uNޔZ[<jx3'[Y-xZ\E5>w9D#.B]Jc8*tnj!Ǫ-š3.?ܢ#(π(,ӣLZ`V:wI#,26Iz-ig*a89KI B.z"fӕ2茿syG7pݓבΕIY7XaiwdLA¸J$VkZK0fa'[^\҃j,H-MMC56],lUG!T+84WZ; ˺#_[FUzw9l9 =/Ѻ92aDwG_8L$Cpyy=$@<``bC=Y.,f#_8X&`18#.2PfF[(Ugy js#.)j&hTzV7ަHQ~3c$,8 IЈwӜTIt#v?Bbz~ ޟ9B;CI򂭝1?Ү^.׳JgnYKт!(Mi1 z[?#o0P#`vJ#-|~L9.=hlPtzP#.8|+T^ M xvL/A|7&I0d2;V0`>Yyx4>;*eQb9M@Miѧ-2"mU _{S}Ys+PFT@4[l::Q TP 4G]hI#,(LNU#Ӯa9,`Dkb[pD87dn\ *>+\JtC 4^isAA^QaAਤOBYw%mɹIahkVz!IuV(a:A04Q: f0R@ow@1Fŏ%i_19ێ{cxsƸtQ;WU=#,tF*HKg|m,'n'r{*tltlZH BR@8]u#(*[@]D5Fh}ft =veAMPlDh(\Kg; HF|QXCJ#(@:(s=B-A S ߘ~gfћ=z44oP \6)pEKh;ŀy{Tkyze }C8PgSxՓg @VKaIaa, ڌ'D(2~VG^g(hO͔t~x0h(<[ڈD<*=yiNt>Q/=3pMrݯ.EBC,80/nRfNI#(< p̛0_xZG*6(t#(4(TA,lW!aDʩt5ε|ҨQiDDq@0w^#EbEo$kN9mWhCD(R*jkB6a-qyN0k`v{a9?Bhul, .LH.~42uX4)#,$'QrL ·y?ˊ "Dukz 1O#.9P+7jtT wf/n&>K~oJ9˹n9o'.g>?w]`1ʨ M\2q~vY$IUWd#..\>C67Tȭ^}DG0pmɁ0H1K#,#(vZu໎}@5Z/=SMQF7[6- 4 $ Yaq. iJ0@zd0"D2$sV8M Bw}$d(AL"QzOoW#,'?yC( `wJ暧 * #.A2dj`7#(@<몞 HO#.(} 0ʴXf*OՃǓ;o"Ao}.eVŐ!Ԓ=\L-k{.8h#/93`(L̒@}=RR}tU|mšG-T3='YI,#.AP$L&.A0PpF{8i?St?)?W#(S8GYG4aKFZA|Fw3/ʪCx~W?xS$asmos!Ԧq3N9Cy˓bǦ0d_5Y$dHUwI$%ؕfˊ݃;=f{{CGw8:avOVm9L8;f˺%`Qf~2O@髓;C0>!#(/ ʢ#(6'dG5V'y`eeZ`ddzԬIt9#e2ơ в?ូxi`&w0Qi:Y^9Ֆ3vhGg4J>u^[Q`4QXkx76.`#(#( xy`p۸?r$ 0R` s.;|P(29WWyTȏ>6S`bq7K/I-E@#.`blxkWcLTU0;$xe"ك2ݬBI$ۑ)#.i$ A)#š2S<ęh3w C>fA${%0*+?ݤwNHpQ, {ɹz:=Ak8S!#, O~_'ڜB%<ȕ<*~K VOΕ&1@aAdQDY6k-wpA1q/CI쨊AW\"]ҽfLCFN$fXLֳV2jՔՖZܬd4#.0ŷģ/8|7,hѫH͡gPeBRHAH#.IJS1P3q1O=_Wrz"^Z{חĈf"T׳WHO<̔_vKBEo>}ji7H9Z،X8 BwiW}񢩱6SԃMCi ;-:] D@9#.[(>pd:uv3KUgUWYIMgn󙗉D>Z\6V9>)Z<_%؎>A!iU<E \:PPe}K#,߇.z; |}G`_#+Aagc^\=dq_}[FW#.} ~|EJQb962a-o@p2Y@~?3~}Ms#, `-q7'9A{ h2-Z2 #, ]HF&-fa6nuovS .~zSK #(Bgo[ӨPJ82_%|A(}4AQ/p,bz`~ r|t+OhC ƱB#+?ߣm>>;cq>a#,jŁ'z~;Տpi(pGLGR#(\|]80FǜQ? ĦSX{I PRH,d!;,)uaުM|.sC9>?~{Ðc^H̞P 7C_X#.?Y_X\;2%XƇ?67{v}p_z>%_e]M)f!!C$O`S>H4#.XJ#(DOOR)'uq-}_\:5~*4F+d=gs:6R'bx"Wua,k3}WPյqUcI)E]92$Ȭ$IhC!DJ(~G2=L%V X*+fJ {$O9}>خnhAvyJ#UR!/-!5~Ŀ6SC\OYQō(ÐktjT:^ LMF](#iuwI'tL䁴E莗K}`Q-=KMm2;y"e#.(q P~߸q;AO!XʡEJA(S' naJu}@7u'#(zd%\K9< Tt<=OZ?(S0JP(XL`3%݅QݷlO~=/2$^$&Թ^(QI#(Yڂ;dl#(s2Y طŏkܕ{Ѫ+mAH"8DB#蠙t?F*pD #,K_݀jn^)'C$å>Up#.:wnVӢ:g<ީn}m#(bpsyq15*,<\.[jERB@4(O9UR)\>Di4ǦCG$O@*0La xP!k,HX- #,nJB5Hh3*Z1B<HGB0!J9bQ 8]T2 Sg/&vڏCC"4vumC;HB3˽__Oq<̀ux1+nK#,-ڿ;^KRvۿ{"&?g_C7?o?T+zC2?}0`~$)qy5%A)Uh=́g3;D#.`qlhL¡4NCŽe Lk8z1* 1~q8@\êϏnv.JRd.#.c3t"@: d`1hXi>\9n5#(;Cpp"#,;<%т)e㊝շ`):Po{q D,?*`)4v<bۅI#,y#(+Eaf0B#,p%u;}Pvgv0D 漹gѹ 5i9:#)(G^2'#NҌ(6+s6ę͈ę`]úM4Y^ywj)Й?TG?EQikf&]+}tcemhz| -)>ڒ"9WEp%#.S$ʣqRduW.cӋ'TFD@(WuOU?ƤaT ;ԭ#( nܹ L٨EJt?A43yۍ#3 p #h" 9Ep>Hx;;xy XTKHq#,w_s{u;#,.ҙB=<\$#(T}(:͝"e#,p}т=j2<}#.0l!'ۻ#,b~dw1?ҊPMqշ1kEr7qC!M3>1ȃ|M.BjM{C#,ub#e9g#4#,1}3FHR34F޿`9"2Xȁ" Foɹ˖wiz<,U#В`Ok^7db#(|bdKCzwa98(#(HbߒSp9j#.I#.=`1$R#,::U3U[jA8QWWN|wi7#(#s0lp;ơ)#(.‰n?A"ti†>4sɫaMyPnrnK92g7 nRݿ?#((W> @Lw='D$a[<ǻNr_sB!EC*{淵Vt تmWhl젼"MK 4~e"DwQ#,4Pcd;æ4 _m:@6D #.%}YJ@Cy&W .5gEA)B0n{`.{H2#,ܕ^z^<^  <:\c+F@c䆜FjW#AA1ft̶O)畻ayyu&U&D#.L+hVf3JZE`<50kj١$kf:?hY$DS֨&fލ0"l"!MEJ-#.60Y$z  qR*'+\d #(Cٕz}4GT\Xơ!̒t8Hh t=lu[C?PhRZ,,ӋSaEյH%EqiW0]9B#(esNN3<$&C[sn\/#.-gG\4&(B&?2D=G3 ==M7X.?m*\qH1" f6Z#.Oǃ`}'(ڽn (d% t֪ iwA ~]Y?hcŴyj>`xj] !Ov`u< cp>c~)elji>idpp~v7;8q婨ܘr 7~(=y-Ncx%~)ړa%kv?r&wP=]){W@Xoe.ME~6C–NNY9=s&3#,`T?WyknyO$9Y QSE*ćXA Z(-e531(>[X=77p>ED@dOHQw^ф<*/s<*Yvt\UtwT63ЕCWXrNB=فQSirUe#,v1eY@A}W t Ll 4P#(*HPbOdx87D7G6#,hk|uh#(p&6N#,L#(7>Q|VSOr8Ƣ /{ĵ'?s #.ZbTM9GY/q5GrL1ֈ5vz̎ (|Khiͭ6M0kThsM^N}L{Vr#,)MEJ:lؿo^|#.GW#,b,qh=;UCEqm^F!樁<1M1`c:$&TLr?$Bci?CI:*'0#0Jזgi Fbnj[;u+2IBDZ V]WfLbt7R(BwPf.V[\.3M0U]ӆə9x#,Vmxa-]ƗLKaV@D!MJDHXHg}+XXJݼxQBHH#,rKw:@#,b+e.$4ZHe\ylaGayϷtuFl)#.KoڿgPsOYffd@?6i BB #(ISpp)n!2z*.acU@o6V50FNNܟ(ss4R$`Hg\?:)STgVx Ǝ[040YX!漃٘$dmd&L]f%iM@gsÃw:oA9߇u9޴!(.wB$"#.1!l6;lUcRT5E6uP2T6 B50نDPO_O؅8%#, apst~s1ah{;>xI:8ͩ+Lf*'COAj̋$u_'p&0f0j`,Mb j3Fj @E6`o A8C73#.fXWy]RvK!xr}_^O:hw('A-ȔG2nBwU@POgeI#.tNyt'ɞ?+ʮ #(5@$W) U C&2,QVb*Q A* `t%(3_ ,(?'*U$#,_<gž%+3AhJ#edECBJ(?@Ak{Sy䐁#.-cڃ-|0#,(sX݋6:b"<'gag:$V"cfRE*VCֽ`B%Ky!Iv I*#,NF r6>G;>3h,f'h[^;'[npGiGCWov/@CzuCC3AdVz x^FY˹#.h׻eմ8et`کN|;̪(apA*QKK#,].0bmjrW/4uK Lč@l\L:\ g9:͖ K] ,cF E$FEFg- #,w&][im~Qur\e$#(k@{OC$CCW"'u #,K~32$y60`|BI%Iyotmɤq^l sos`w6(s^!|@#.^؏0Hr3:Fs 'T(`PTeilUF#.OcI݉5(x&M h%yqwnCBhFbjlz#,8#Tl6&đzǎ9fdH@Ҍ[\^/5&U)[O#4xĄL#(SsA I,<#() 5[#.NK4Qz76Kl/ܫșXɚ#,LqaVFQgd9hw#,u#,z̦2ثˏ32e̱fEVfL%X䗁ԿfmpReX 9j88a=ND!(9yQaH/W -M6II"&Kd-yv>Ee GR5(#Pb,%_NikúiUMTX]LҴq0T#,^zNĿ% $QHm֨B>0,=2e#(#(Ttlt-Y,}.faN r ऽ%z~k?Oopou`g"CX!~#F$$;hsvSdB!Q66D6$Mb,L`ӥm,rbGpӯ6'ؤ&QD^g' 3'+U&֋m %mn et0%PO׹ơE2`)08vd u:#(jfR0\M>he @8@}l*Gʛ0/*Z*jT+3`D]ư"A@#M99e\yL(w#(R4Nv>Nz [L[LC'O!@;2-CJ*]T4I}bȬ$3c2'ASV=NbYA2j:-r XٜM7).)39?:0\rc;>#(J`Ծܘ#(HAFbc!99 3b'1=:S_WK[Ӗh v=4uX̡zeB&nv!WE:#p*1~NP{XAR 3hkژ t+.DEPW%O^#.FZR^%~J8rf#CHhb3@=v5f܀seY$-p%A<!铌OQr#(C8QOcÔ&!3F`n^}ёap޾L>2swDsu B>(E! DXθJ#,Ȏdg\f+i4qR#,{-%od (d!0Bł!Bu>dP(o$TP)(,T*#,#(;#r#[9yCSeaoJQh#.*$d#(X8#.HĐc#)=Ҕٹt>>dԶ5JCםH1`@R\eS#(#.KP`>~ɊdVgRx ][n\uڊ HJY AG?Q)DR#(@ c;sW#.㝤pQU&!W$B# KlBC@Oc"$'? rF*X3WE" 6T B #(~@*&S,ԣRBDYb,a_KX-ygP`]1HEgqiXESC]u6DUؿSb1qm9 ʧOdƧC) rev<_VUUz r ?!#ssDU$@$ Gb;Ho{ #(#.""*"1 "F#(0hd]X?J=Pb6 %>f%UF@i*H)#(#sO.vo彑xK)$o{Zܯf˗3#.$w.W5/<9\VWuI>KB! J#.R L$8W #,yyj}EC1BJ#(QaBCv;GzOqVTTW]9]zr:ߤR*Ic +#clk>fSŴTōUEU5[kw4PfF&0pz%@JJGsVk+E}%r0<:+ȫX8yW8&̆Mup$$4{S{M,).6ɂ@Ć=p5u.bL}#,RL( ay} l?pY/p#(UーBK/x_d>_QGۗ5eSyUֵo/: 6 8ѳ%?.ʛ"sYQ|#.! U*}'#eMI/qGIbH'Y "z(E#.q jQuJxZx3P p:*E ir37%lʊoߎ=i_,HS +=@Sc2-h2JIlV56LiT4Цfڥ3I|g|I5 *HddD#.A Š>BūR6ЅL#.bfF4,^o#(+,_*#.ŋ)يgX;f)q5 &JEG7xcņ憒@Ұc>a1&@`TuvlvM8o3U A"ǎp2$ ~i}:=/( T5Le @C-N:#,HwILksdZlY1LVn4I}?c*8(ndE`IrD{EG`p|Ckk>fM4m_z+ϞzrD8טNI?<A;'#.v(EVHaS*Q;I qt"4h(1!5} _h|(:"Km3Wp2é>Kڇgo^]GIn -APˏA(ZXoWx'[nKœ#, PX l'%fp4@d!HTmNèDuPs1@=v#,eS#(vD_͹P[#.>l?,yX(ip<8Vːx, HYNͼ$嗗?]viĆDZ!Lo2\9` gX@ 6x`y01F _YŮkXq[؜[|i#,VF3R=A M].!!t L$qks@3ujQD"0_ UDH!#Z# Jd:dzϏ)8M[ yԗ#.D}1]CX7:0xG3@A/ELD dWjoh&z:=C)C֮J:U#./=[Ra.[U}pj]2Hc(=WNQx\^c<_ј]oih <+X/G=޻ҕ=#(!-gAISYX~8`T#,Bϛ6oxoU0ň?;(Vx\ 8xHB `~v.q%h###3i7Z宠Z._O:w`&xEj>Ⱦnf#,rKA7btȉ`= %ϙvq5^\uoseʅ͉ÐMKpn :x: g#.4rM#.4ƘѠz~q T"nRK*OUb{==O3Њὓ&DBaWjxgֻ>=H"O I-4&a~NA ~Υz8D_!3}Cmc5Ah)(rVTSGjF<}YF{$u}o?^f<ӥKf}哽Pppqd lp׸zeQ c~Zr9@c9`΋+JmKmy)Zm;fښV~o9F!VFh+" jT( IM$]H8.#efû[,)`X"Yۃ0ۢԶ&BkLZѭ؎CģV˩0Ʋ՝_ݸG;|[D( F(6&mB,$9)lJPHPQ@0;]LE$R@9lN #.I1ge`#,2YMīwl9pQ9lGJejđ٦^] C4375@ܟP:b~9N 榜IH*6"D@Q#.AREӑBIZ#(4 QXR=fPHT0@'@KMĶ%G20AȁHA`wb12f)u4anB?*/`.]yQ{AσO͞Z2llr fFAnLM`a{*k݁bӟBŪJ,H1Flj5м*N%٬HŜ;3G q x_S0ƴeS$.}_Gqө~P@[5T'Qth?~4rl1 H 'ps蓳\i%#ٗʉ<#ZF#( ó% >Κ*kCۯ^FC~c#.>#(5#,&(xfb009R!&.a>}B^3gvdu[Ա!!*a23ar0tpآ@zA$Y0اP)ԥj:xxhKPx9`T8'\bTF۷~k//0" eh{*^#.c>G;|OGK#"@f\*X gd#,H2Df8a'03c#,ҤK źBB*UK3LQ#ttvroĪ#.Uױ[#(&%1Uj&;w#(8#,1.2iG^4!IxUbNﱪdU ^:VT nq4Q̊^)|n8yvh=vhɳ>pȕmUȒc`/Ϣ#[ܐ3EMC vSrASF,uֲJ9V#,6)[1j2HEJWm#, >Cy WR3P#*$dB45Z_D5ck*6Bji;Y#.є`V֩P]9,1 rh3Tvl*ݼc0q\Ŀ%"eAڳ9xݐJyRU x;g|d!QnJ.0#,׈g^U6p/E1bHHB J3q-XıuK+(%*H8b=#,M@,;j -!0$&jB &HkBaލM±.qȕ&KC"Xoz1HuDg[gu8Q.Вk&{8UQF5țv9qGX!I LG;~ R.녠@P;?嶆qQ="|!h#P~aVEf%G^d0v9[@pDCF7C<}Nx(!_Z 83v#.7[ܯg-m^˚hIV&-)C/Zwq)?V.}(/&Alct% 3%"cPڙ͕dL#(Ͽ{0"Ͳ}8aЍeV Ҳ1ILXjd[;1O~ܴ/cQy^rTḡ0dUҪ+_#1h3r.,`yEۉo=QIa#,*-#.Ab>q;Mϊp? =}h2FcS]DLF#8-ޗ߫8-,tϏOS$bX[MBEED^Ks}AB.Jkx u'#.8t#Xc;u>xǏQ7̋҂]&P3unϝK4T40^`ߒ]Zp&M]U)|t!9#uj+Bg~B' %t]14O;dmwvCe_B:o ߂~=6:;q}S}ӽ;֒(N­v .xuXK'RC׾ JHr P?/ngS /zb6%#.rی|2L+gR{-*ĪYz#.)ԛ#,w͊Z;]#.na, IЏfz_}4s7]dӱӫ#.B! W#.̝ip>A4~2~6u4'GjG2G0mXisVr1Lj4jޫTo .xs :d"nar6;^ $084jiaeLji@k :䙊Zh4n*941ב`N:8MB̍b?#,0&f3T~n[Ȗ,hfSYdL4T{5+vSޮ~Ş3tfa\;^ 0٣7Dz:$遶f#'D?VdbL%̗ ]VΆ'gm>F7N(dC5SUqڜu%0A =wgF]ЫY4] qdbd}f_N5EKb;Abm)N#.thk#<7]/\j#,N^q2gx2+WYFtgvYqؤgf7!7-5@xm Ď,t"wtcw$rvl6\#C[<&Gn2Ncm#.38#,C\ p)JS#F51#.VTPӺ~fflM qMdsY! 0Ŵ%I)Q(iKZ2DpCkK#,UsMA5'1038|8M,![ tsWt}1iP$$&XŘ\l(II%ˤR70bV噛4uL nf#.cPx.d.#,[6s(˺染Y%MynˁpTV -/qWSS@M8wò7jlvEîkQt#Q`bT&#,Ӷ)e4Hmգ^.ZL :JMޮ 0u5ژMW܇f0%pn!Ze{4Zdzknd«LnnaMI[֛%'u/(tB)[Onvg#.zܸyfSʋzufXH<Օnv¿($:tɦWll-``5I5f6prQhWGH4q:jn2F6 OSecfquNF[5wSXǒd1;!A3Z5,Qds]"h=v#.susg άXYN>O,WQ6Yr咳Q0;3-fjH!d}&NY0+4On9޲0K bMF&Qn3#,a8wtՇ&یQolAt@/ֻp͓Z5#.d.EV0ɑ8Sjt\t9 ˚3VAfR(R׋oFκ-|}|C#.d.Ch`iIZ6#,١u˕cik%H<(*,dGa!ӳ`:d#(qBLkaPȖr3farr"L$5&Bp5o Ľ,]+yTD:#(#(uRo#,YaR$,!Ȥ!#,X!p!HR3AL&aDtg,fxl0A$[3ЁaͣE6vtP6Gdn10H!3Jv0lJ 3]52GG=(v9Ie*K;k4Wݕ6f2fJ?R9$HEP#(LKDMA4)L" _= w+RTDF*s?d4"A$sL%J09¤@p(Mi1$0 .$vZ_`gQr!,#,ΒH6˝j=6R!'(g.moGIq8tWXodgqcZqvԚͥh j`(qrZ^G@řn-Vv!P#(L͡7B\% 8@ƚc3Z5ZMְE#(P#C`@ b#"#,z{ZK=#(6)t8q_AEQvMA?tMaeuwwwk7]ٗ7]*R,TBl38;NOolQDނn@<ӂaG>/=V8j`#{i(3?6h]#.Tmkh Yvjk6;0@F 24#,dʃ7٠k8#,D hǠaS9[5B\n#(xIE %h?+?h:|BKV7S>T}x$ $!Hhڍlc fTXJj6o>)`y>-֧o_☆+:P4Ną'j,Bh@Y,DHa -U 2ڐ1kp9TjzB@xL-a\s6|ɊC'-#(-_j#,W&`ΥqPVքY7,ckJZսi&*]e)d#,0#.#.ᙢ q-#.5OѼp8fEjF2HmO2=fW.zo҆.zLov^BgAϿ|]. ԐZ驽(C@R'rMw#,m<\bYQ&44(8vDb+3|qDχE0cMe`JD#bS#,]q.md@%  #(&g@ ۗ[-<<^uNj)׆#,8$fRꁴըoSa gSR_p5 9>^u,m*#=a7joEbR/Te1`m-,!-KI;4T*vi@o;AxqΜ+14k%4=:/#,x1~`jLZb f;5؇E 60[JѦ& dl8/Pqm!+G+!Dک),9\50Xþ:j5dMN6;e(4!~PHJe,oHBHccvH``8-0aMذc8BIB-̶|thb+@ Iw8,z}6=$/?"M8Qb{(=Gt'(!_TPhys滰L DU=),=B>H`!$1EX¢֍V-ZMZٶQ!y=!錪oGĹs>CzoPD<BEAnrYc]:k4ۑkn҇wEJWiu\91=8[ND+y#,l!Tt:KX]* '.gH#(Y6<#.Q,bQRU4ð4C_Cǎ#(K3ܻ~U8z؆alNQ\rk'ILtpX!B#.E>Ԧ^F+Ίh>[FsZm#,LTUD1hBmjK~;^bd`ZcR50ChFڕ5c0"80mi!͉D6&b2Qm6ƫE#.Hm0\V&qPRoΤՈKӺ.X bۤ6Y#(!|߾3" %l&4DX( ZϺ=#Լkͤș3`ڤɧoFMlxZ", f_Q}V0"C7(p#(M8ŕY~l-@@,`I$c)4n=0PI#.\\i6Mxap6#.uh*Ł@>:ׂRR #.&`F />hs4sqɔ| 3V~%դ8@>0 2[A,oؐ0rLBu0XJA9 gI2#Brn4c1Z#,#,4r :KRC`ThMDVCCp*0fD/L})ӃOtO0]ZX W#.Pe#.Vw0)fIdwMޝ,⇚$,(?**BvB2F;}/PD<ڥŨwew}O/9Ϥ&#(i4 b/ʺ*4M:LQZ*h*;waZG(r=Nh,y:IaHR=$Q4IXW'kZqj#F/u2h7CVl㽆1Ƌ#,"35@N%CQ2A@'.jWE*zKX8gwY\i y8:g@X Qb@Ȅ A5ڻB#,pYp#.#,@k3"4Re~#.ީ3i@#(s! D0#RARFN3{}]Fg.>-8aq]ɓyww jN͂6(TUT6b'`hSJ]I=P-o5$7vp:utZ.t|c #(zts8 {6,IrB̩Z!τY.^RS繓o=^̊[~iѭY-`9ԙ< 05diĕU\,iP릕~u",(ޯWkVA1*FQ"AH^(#(09fSƖ.YHe #(R(a#hj_ s SOK.`1qfCQu#(EA#.&»diϞ{,#,fo8J*ߠ[B;"mTe).0+ QCnSUM@jm4u%cljRhn6Pk /aw f{Az@#(" +۴*#.i)"'Bō<$6We.Lj 6ဩF #(T#(#,UWemQ`) 8#(a&LM_cy>ܷZF=:Y@@̢TG[hO+bÓX)9W-=^#.*lx#.Zg;DC}o˳PAǗĄ# Ђps5S-𦨦^>`:>~S<A֌m\֭tYX@ ER@B#7VV[;Vε^"t-o!mfJXe$#)F~#,A{vZ‡|# ܞ%Ė[#.EEY!^ӷgu&k414yo49K,<IĻA-#,x_#fbj M 5?=@pw0T3#^D*PZsU)-a~jaMa"#,^G0#葫٫+l>{mz<[$uW6ѽ&V,s|pa"0-%RaՕ҅ L%#,дP ePf !V-7s7NnZ-jmo[]+|̩ d00B^*cj+R$Xe9i1Te!b-j!Bj2"ѪKKX-J7L.\`Th[ a#.boU#,",MV7ms[6&ܹj+$Ƽ^cxB!pDFnLAi5i#.o%.Ⱥv#,2F5Jk4gBD$ˢ)8Vtj)†*݊=S#.*kA%0lq31J#,|pL:Z8E-R`蛝,}#>c"E׎y۵kژF'(()Eݧi]e@tngz42s}5 6@ "U((-LFiwQ`4we#vl3yӏױ7ZI D"4FrR(#,1`j%Em,/]&mfmұ]Wv^|]/zݚoKm10ԛU&i緆VEW´UE,8+.Hu4C#,4CX$IП#,9 $=0I6$!2,ai$K'#(G uS=m u0ALg^ bHh"\zwo#.u/_QbURpFwյ"0p(Bl=p 6(r1#,ʺ'T"~#(_(b=` T6p+PlxKJqIER5ZZkkifWQ,Q"$og.!#(voP(Vf)ɸ{J*)rKĥG#(#CDn$MiR?xn1∫!f5Ўx2hcC!cc#,vPA[eH(P1* {{#(Xd$4AMG}\͗ v ƾ"q~k3c@$"Q99I6tu(oCuXgzsC3q]He>(qŕG%]:*?WY;\؇\K39ig+TT4dOP zrly#, T>=#,FZ6FƱ 5IIIdZjcZ21khԳ[kTٍQm$6%YebRmbXX-S)f4ITUE!  $R,EDZN;#,e!5 UNڔAVhյjj6jfm-nJx:ǡտ!#, Dj!hܣ.7u0@#,`rmT&*H|@aO`.{'TK^$+.jw)|#.D/+'8gZ |KD*#,D\%KtExоyrc(xr#(J+db=&T3Al)m~; [ 2Bn>XOI#,z "uӜLj]ވ2ww07Xc;5nI%|#, u>ua?{0!a#,AVI#ġ x?]<=6At~<|OB0462kQйz&ԞKp` t3׍0 QS)۽  0BA)d"%0A%'H OO’G`bcKrR*v!hB@RIj #.t{j!N"LsT˄a FQ$D [(XL:h}j+wr ʞUcڠ14\G" mK CS#(> hӁ<+tiJ~[2k#,_Ss~l ߺHIl2є9Y]F%UPG`,b}Zb3pʼn$L1 ΎV08h$?]êS)]j:HjKm]M&5I[2ѲZJ5Jj~m&W]bܶr-M_atpg>tAXz;mfC6SYdžێ<\|c^(hr0/TcFqqUWM,!e8#(dMrdY."LoP a.wmW0!f@M`~#; ^-c(%c %&g($/'~( 5// MfDl8Tj傔<=Yp`cAI`^B򭕣ϊԱs4İ:aGL{#,fXf]Fߓ`N}|B| C=ZCA 3ŀn=OABJxx`xU]Z]0CU$B~cƍEh-ƒjI^9jRLav:g.w+FBZH"hZ0* M4|;eڙw؟{ Y-8S/x n{}.}Ata6Y灼7CZAa(v'࡜#(~15=*wH#(o7PR;#,]Dm=}T?=v!k5KCG:ckr9wIvA߶jX0Dy2˳mO.@AΥÈ5[(Q)bCxM>:J$ФUFa2zhM0~]C#qIS#$E1T"l"PBpPi )l,j7]WRx(au6mlT+4`24K&sCe0Jh@pzǪ1:5*i5$2HcZh%`}H` lo6!dLrؔA7R cmUJdդ$*M,l °2lD#%BRfXYM!%xʖ*e1@5YJİ1id6fb0Z^on&ܕurܧnƼ ۵EJxȬF `+gRty 9m4#(ȉ-6k*(4#,c+!IL5jlw*"&#,|+,+4=m|ba-`i@Sr0\a6b)?$^^˶Ѷ m^XɭP`#!#Nl̲Z[o8FMĥr 0b"Q#, MF6m$+0%CX`"Z@(—dmh #.s6lI f;jc ߳.q 5b!YY dҁXBbiV fcm?%I)#ւ&C_5p#.t+mL҉A۳{@T)5;f[: p-3m1*/ B >9>Qaf+#._x@>skD#.7a7$AJT@5Q3,ǠUI:ѤZ%F2}&޷M#.=ݡ0*E*b.XRtjzkabۿc#(И (nYCހ ]hpMD[̪lc~B'l{,@!DTZQ!A$3p)P(`FK*X !& Ph(Bb"b& rKE{#( vzC:Omf!Ʀk?lh4Tm>_Z&MznꯥҪgIHdIG#.[R'tǬW=CZ.#,a6wS%,;3gTz˭f6fuj)eYƮ)#.YhzhwٚكPF^ Bۓy]ϙRa4r3\p6*As'2"HhA~sLJt.#,kI>odd9 <Ξٝz&M546j8ta<4ݕLe j-k|8> "#.yAOzB"z~pd dI{P$UQ Cp 6@c "ll*7D\3Ka$"j MТ` ml]bj]5umʻ2ri4lR1Smo[m׌ZMZckoƫ0X|6e^zeL9땅TP" *E#.#.)"0Ը.D؅F*eB 4F@` #}josucV񫩚溨+b FFQm+E2d)&c*mL`jnW]};Hf|~H"UrEX"IF RX_ՏG2F-ÙaQ#,%4}*` Qy Gm֘ߥSM%2_M*k}ͭU]/ۨgSK]J[k2kkMk+ު1UvnTRa?9(Ja@9@01ʁA@$9ѽ)n: .Av Ɛp`z{cɢm =!#.uڞףU\u2|/XAĻ фȋnBwn.?8kXѤBn}RH1ew2M5 i"f ͩIa-2#,W3=y6s+G@h@V8#.u(khs'WYp#.qDŽЦ>X*+da>G<`s]5E47V6+=fδ֡4ogU2vPD2t`,:vnVC7^7Sj'-6‡y|:;%oTO·. %N1Oam[R[}t֭t#,$$ Ic#(#a! JHHXQ|ו:v^ϝH#(  _#.ꓣo0B"$#.*9IHVh ABF3[6[Vkm CB-Z퐊bU^,*]l(%0*;a*#$IfP.GL˴T #@i6jfJQ6UPLDQ ",PP`4TrLV*~ȔE!0pP@rbzh!1ADFYA#('u o#(8Q x¦]Ly7kuFN,.'f1fm۟~[@vs#(U!*0BHJ!h`76CMSD QnZ`c#(#,ƜFLDxymky~t.7#w4]rHE6{:>aTM#.*`b>)E(@bP$#hgakU;4kTT4ǜhqMl@dEh`.JB+eűA?pA]W (;ϘnUPU@: ##{oV:sN[#e2#(NޤDEAJ%R0h aD,#.#(1{ CXܩ@R b(Et?oFW9ݯwF\x.ؔ幗&jJjn%bt4\ۛQ;yv㮻f9й]ݺEroJO&Nk2ƁͶڈUcmRrf.ۻ3Tlm9ŮԶDBEE.@.&{6od1 vg*?gOޅxB@$b%EDXT}7#,<d xuxz򾦾_ f)?%m;NӬdQHc$T1b`(#('TZ?#.`q(JM5bХcĉz}#. )dHAT׳[g%0|zUu#,XCQ_TZ-Ҟv"D{2d#,W-_>UQ"Exi[E(iHHi@0\6Sۿz&IB|UO=aؠT01X%ɰVNȢ[e+YMU/#(1ۯQ4ml-Hi&jmHx#,h#(|b&,%Z ֣+CZ.\0܈843\fuC"Jr\LP$#,#n:w~|$b@g}#(/ڃ,8?86D= _."fdRn78= {u@<0]4ޅ46$cC#(jH:30U#,,D"-ȁ6HM3ʴf+5tUh*; QIL"ǘM^Wy^VXjW6Kr^-S=V $A381i=Ư; C \aB艔$ VI#,k􊁣MQh֠fO.fkWm-זE+2:#,qL#(hRnݹ5 ﲇjI隧#,/ CA$1+ %DiDKN7d׺S#IP'!ʥXHT*#.s%Tկ+2W^rJ6F5RZtbF(Eu='pOaS#."mxd3]#,Ua),M.%_&cF$AMq[$<53B*WHF/٥EX3Udl9UVjbz(.99CT_ ?7x8I~DI>$&aj@Jv۠Tzqpde/擛s UF\EU9̒ECӐh*Ԙ>w΅|#.Kk8s-vi(0SJίzHSA#(1& Ƙ-1*|ܓW!3=cpPbMε(Jzug"`q4gr xǸu>fdȳz:K#,}8.uD2U#(BfLn$ K5֑XiךVAR^NU)%!@6SP@Dy G"z{Ol/cR񺫮ٯV@H*ʩD#(TNp8<{q-cv6'R:Tnh1!<omV106>cx- nRa('@&#,#"%>Yˡ0ub5B>,V*6zt 4>!LFظa$,i1&24D^$gѨ MܡD55M4v!~Xe9a_az}# g>MRq\-pPwtޤ;g}:A(L5(pm@D`IJ"vh#.$2+횬gNIxP tl˧;&`쁹lѴ@ͳ»Dx1e2#,xan5AQUw<kr#.d>#(j" \P4#(`9NO{6aXNʟl!7|RI-dS!G_[eߚUVQ6[nt]@~7H}<γu$޾0ViNpW703pG\v]f_;S{썽ܡ$o7ODir` 0ֈz:Q!+Հ2a9U}')6eJv?*"iӓZOvJ5mSKf֥͋ٻ[!J܇5baݗǬ KU R)PP>߻}gd!IfFl0hJ%I1DJl2lM#.BM&3 _⾽VpqBGC/<9l%˚:߷pTf9Mm1cXs@L"i}ͪ|*Λ}_tTFiԾEvmUDS*#.)sRwf~N %ZF! ᡡЪ1qɻXatFBpMѾV^0N|AfRC DH~heC8$55[_@ɟ;ks\pJRi#(I0\m˫`IwHA0-)[)su{^H!#,4d %+l  bI00ra1C#.{qR5M?{ZFѫκʹWEQ#.*>7 /duˠ(Vbf]!6֜řeWhJ205p$o1q4T(dfNAu%ņ(ަ Ұ#,PMN,ٴW\&1ẘR9xbmXL 2#,  LUSH|Z5#ͬ`6R.MfkLΓt̓#,*5CM*jl[n2{#AQ+ymg( wE=]\D4#(cfѨ (T]1@u4%E1`ѰEPHLaMHZFAr@m PX(ȩ0`#,#DKKxb`Đ#.~·WjFJbT)1X5Ҩnvܹw}֒mE TXbAШ#,R >l+[I_^#(Z(Pn]ez*!>y Crj`!̜Մ@I(#(wBX|RY`0K8HA02OtTrr-VbAIz-ҹ#i8MlmUqKa;%Qjj(f` (Q`oU*nŔL!ԳuuP滲0b0ټo()>Lv_E4ܻ;c\%CoYœB,m\͠,ёC tbŦ/[sOm=4/?\ 2D\L#.NQ(H.dU&4r:ud] 2へ\<~~O͉`1Ȍu܀7'F*${SXb>Ww62Hr$7Ca#,&xQ`Ĉ!kN1rWp;mPQ8v#,lSN⇮#(MCO˖#('WX %SEx9Ʊ1#.eH[!I0RJ3K\:$#(i3ÎqcBcZ) $%5F73o$I9[&te-]_#.Hi=\WmZv&8$`ۺߐx(8;(y{`QD?a `tN $#(*}[ZPZݚZ6wp6wub)#(<,&W(յ۶Jl@MfAB#(nT""vu6lcJ=ABnoh>G(wok \Zkxq@b(^@Z`@`%~\q4n!"dO<#,MaD򱢟bI7y}&CG;$Bq_gu8>ةN)IiFQ4e'TCR8O+t1r'0K9q;q#: )NJ2/ϣH#9v7FItvuXuN#(0-;)P+2gf)#(b<8H t߅[MϾ;U1ST?a8s)3X̪Ԯ\/%=m\d/kIGh#,q㉾x#,F)!fB3=[l=G{+*S/҈{Tz^r1l'xʍwx:pcMx>5H"]߽oHn#J#{JNaҗ[&wL0CJc$v:i7߮Xzs}xġI\nK3lY"u\T6%Ө ۃ{sk0\?/~`NyKeKQ0>2wK~Jzp.!/)xwr/K^D`߉py\3Ujԃ. tL"qRIg<2\,*.g SS!5/̏3#,Όg·w̗6GRtOn#ܙ#.Wx#,'oMJQNYyp.XHSE8-8 \dyfg 9;Z#(ǁae1CŲT45ȶN3{)VPk)e4B`ͥ!`.:R@uӋI7Kh:! H@ګ$L9:+5m׍dSjCOw-Z?]#.ÌO>!Wܲ`}Tӏ1.wKntܗHv@ɶ9F%x0ȣMWi $UFG^Bz¾&pl{MnI'#.#.uO"ϳ7/qmL l>7tα{夃a͛񿦎AJ3=f=[p1'#M'wra:\wjbƪC0dÀlߧCxt QH9fGվ:5bSG5~ͶkQ֊?ծm"aI5`϶\ͶU/.J}Id,˟N04B,*P}Ueç#. Qx7>ܺ5XGCEh#rA"9If2krL22E3-Dj4:_ḳJv|&(cXҎ09fj#.8Ffc)P1@A22+F%qM'yj%3 C x3ЩQrӴשn2f%ro{k|^xrb9׋nF)T2,=q@9LBn#,:6#,Yؠ t#, 4/*2#(@#(Ir#(LLB4R$< ~-!C~ټt|#.9Q>= GiSV P|Ή-nX.5Ny>a)hK >]#,Op}r/oߡY`#,:[z}FFh[!I #.<(wqFp#_aPu߄i1#.]V";x 3_̣ Cg N-SLPPYbۏ%ҼUi1hEedN0pE#,kNI%<羁#.xͯq!"0E:hXtwwۗl_97.&pL x%# U#,y$;K@˝EP}PRf.'qcbkvPj%αk>3:U&3|0>!$^~X_S8`ӄ^CLϵ}bclWwDD]4X`C7eL5ɈV=ǰ7uT<Ż@ ILo2S ĠoYxŧÒ&Χiי#9a ֜&"]"WT$#?/xR#,xnar"R'LhنHU$#(YDSuV /#.Ir7{:`p&# 0e2XvҊ9ԦM댌CzC5-9̰ǥn!0S)b\#,LݤGX;N)1#.Uzery l`Y B$5<א1@DLh6X"7s6BCmeGTtH b`R#")-px4 rQ2p!j".#(b U~_9l}lq"ݠÀLiKq֭VjNťJ[~kk!QX&V[aWB%PΒ.1eA3 %)F+/[$ AqAzZ+2$$`kJA&HR#*IR,,g57x;%uffuiMT0ٵғ7#,eHC,VYxHTVE4#.:1i$3Մ$&ZB#(|U8v7pdh8mRLA0; ߦˌI),#l>Dvl֖DGB]nrˍZG^ueI"YBD r"u!F2=|S7L.7'삃N/•TzQ u$iÎto )2dv%1a. 44B0<+Mx#.[q#,K}7JYCVJo#.aw]@tAC0E1 đT!Q#.jSAJ({ғdII9t#.:dyY`gfe0bHC/|Le+Q[PZب5^m%0 (KGk9-΢:f9D)D=\˃ȥ ^KMfiՋPEnNʽPbmÜ{u&=&C2#,wh*pn - ~"beْZbSiZO [sKθyJhtئ_;b#A.bRf(J'l1(It/]vV#]b5Όzsٗ  hP`E@:<*&`٢n ,*5&qGSvO|5)93.ho}#pn?9 EˏgӲcMs1oPk4 $渫~xY"١Ɣ7&hI @iV &kǩ88M !$ )0QAA@h4r4I8$TV16#,S$Y)#,E32EJ0$J^V6-yu[촪%֌BʃjuA#, F&iHfq)BfIIITSjd"8\ kET#.hj'̈L`*rQlR8LpSmƚu!rE#(nq #.dX\I0i k#(∂'I1lQ@cÜ$  4#(2#.yK#(n9Bd6(xr3S}(CLP5Hә)b:Ha7[A7L3^]b3x3h[6 b}#(LʪU&e.Z(T}C}~uDE&H';F}!T$4#DMܙbdV~jQ+CZZHd˻ccf'?r{~&6 s[p@ b1ܶXKikzgkTޭНp$1}kG#(">1|n1G+={XI6M.<φx d $#,tj,.5(lrȒCtd'~&U;IdF EKEn2D11Q$;wbTxβlvBdxP@VX՚1QQd#(1kMPiSby#.%4`2d 0Q6r"J;]'g,חᢌrK]aWwlW{痽EMbWuLj-FІ1M%)T{PHCi6[>(>d.? [pidVDbd& OaО@@AFA#.Z,YٳjĊ_ QQ4JSM7w&_5_B&l%-m̺r aM[:K~9J5n"YmZ6̋e{UIKMMvPhEAp /T4lz}?O0tĒyMGxyZy6`K \`$xH #("e$){WňU'6PW>97Q%#,C;7XS$j4z#(dLE($@BTm5h)`!&7Ijڍ)5KiZh# \ѶIW`A`>  R  J^ 9w8a3 zØ_BJaRzi6?u gVq-)϶#+|T,9p%JQd\v~<<jC]oq],{޾Z:&̙1*H5cESh߼VDQTOulAjP>('2nF"6 MLANe#(DKn}Q޻ub#(! ^kEBЊ`H)"D0uov?;7Yd/N?bԅ!#('|Aj ƀF2c7OX;B2Sk!F8$ TgiaȢ&B]@>i* )S^\vwexכTY-mQo7u3*Ψf,ywc4M֓eIS#4Bh XH*ú]7- ɵ0m)jLVW^yQl36K^M*"JPAl $1TZ#,3 DF*4mUU#,TRO1 dTb& p#.pQ%J TEP`ƦndB!w*ңXKj3ZF@ ς."+36sbM380)#,©i;x r-ZdbLz45JQӅM0)1~f:鷌A+R3x\Lo_lD!CjIᙍՑwX{eW" w^Of 3gu CHbvji$nmeC|v1DX5"<&#,V"-ԒH@~\)VC& Ρ ѬA֝bh#(E]#(Y'[N% Cd&*"y&yEĢ4RӍ]Xlq}eax>A)_?I(DfM״l!ڊ=Gkē5K8$Ǿb'FdURfYt~i*ZPgNgZ5ko6Š?!$#:27EUӵ8tw@q%*7gUM9D#DFjH R!)ss~O*ԍjأAy0I!#qoSoCsn琀 XE  <|3 }wLADSs^W)#,-X^ #y#G#(w|Z,630"8]#gwvG_5iW?x?t??_??Yevl?xCXЫ#,Ѐ?W*P!?99?j(c7$I#,jmwN֊c"Q[,ƚlp>;Bտ~i\% eK8,Ab鐁2`0)sPܧ#sNJ\,923[3? {R/)L5V#.]#,.i\#,ѨBeTh޶K55*эq,RK-4ƞhiJGj6mդ5,c2,aم70m" K6K#5qX}i"xgC X;:Öpdފ9óeh3I x.Bf,Z"fVHbG2h~Ѓ|5F>eCx-ˤdՏ͑~*Iۗ7b4Cvyԕf X#dq!Baf Y#,d0U|ޓ~#ઢTP.z C 7B$I =Dndf=`H#,fM6 :UF@c#(, eR#((1 {R]d@ȆW{H+{$̂VxyYj'-)AߑnޕzF#.DHDoPE)LjKRdR)ArʐNq = #,ޒc*`"'@D*OfaERDX T#,|ATB{k h5[ט%@ke_u(qg:9# =7#ChBtqB~|O/-%:A(eFOb#.fua@{":RڏRZJqTE3Yw^N gA,M/-/8a ;} bWzX&P.]T0z;Ur/ C|9W@SZC?yIO gs_&F?~_ܑN$2/ -#<== diff --git a/wscript b/wscript deleted file mode 100644 index 8060c17..0000000 --- a/wscript +++ /dev/null @@ -1,66 +0,0 @@ -import platform -import re -import os.path - -APPNAME = "jes" -VERSION = "0.0.1" - -def options(opt): - opt.load("compiler_c compiler_cxx") - -def configure(conf): - conf.load("compiler_c compiler_cxx") - conf.check(header_name = "getopt.h", global_define = False) - conf.check_cfg(package = "freetype2", uselib_store = "FreeType2", args = "--cflags --libs") - if platform.system() == "Linux": - conf.check(header_name = "X11/Xlib.h", global_define = False) - conf.check(lib = 'GL', global_define = False) - elif platform.system() == "Windows": - conf.check(header_name = "windows.h", global_define = False) - conf.check(lib = 'opengl32', global_define = False) - -def build(bld): - defines = ['APPNAME="%s"' % APPNAME] - defines += ['VERSION="%s"' % VERSION] - includes = [p for p in bld.path.ant_glob("src/**", dir = True) if os.path.isdir(p.abspath())] - includes += ["libs/glcxx/include"] - libs = [] - if platform.system() == "Linux": - defines += ["PLATFORM_LINUX"] - defines += ["JTK_X"] - libs += ["dl", "GL", "X11"] - elif platform.system() == "Windows": - defines += ["PLATFORM_WINDOWS"] - defines += ["JTK_WINDOWS"] - libs += ["opengl32"] - defines += ['GLCXX_GL_INCLUDE="gl3w.h"'] - sources = bld.path.ant_glob(["src/**/*.cc", "src/**/*.c", "libs/glcxx/src/glcxx/*"]) - bld(features = "c cprogram cxx cxxprogram", - target = APPNAME, - source = sources, - includes = includes, - defines = defines, - cxxflags = ["-Wall", "-std=gnu++14", "-O2", "-Wno-switch"], - lib = libs, - uselib = ["FreeType2"]) - - test_libs = libs + [] - if platform.system() == "Linux": - test_libs += ["pthread"] - elif platform.system() == "Windows": - pass - import sys - test_sources = bld.path.ant_glob(["src/*/**/*.cc", "src/*/**/*.c", "libs/glcxx/src/glcxx/*"]) - test_sources += bld.path.ant_glob("test/src/**/*.cc") - test_sources += ["libs/googletest/src/gtest-all.cc"] - test_includes = includes + ["libs/googletest/include", "libs/googletest"] - test_defines = defines + ["ENABLE_TESTING"] - bld(features = "cxx cxxprogram", - target = "tests", - source = test_sources, - includes = test_includes, - defines = test_defines, - lib = test_libs, - cxxflags = ["-Wall", "-std=gnu++14", "--coverage", "-Wno-switch", "-include", "iostream"], - linkflags = ["--coverage"], - uselib = ["FreeType2"])