|
#!/usr/bin/env python
|
|
# encoding: utf-8
|
|
# Thomas Nagy, 2005-2009
|
|
|
|
"""
|
|
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 ImportError("Waf requires Python >= 2.3")
|
|
|
|
if 'PSYCOWAF' in os.environ:
|
|
try:import psyco;psyco.full()
|
|
except:pass
|
|
|
|
VERSION="1.5.9"
|
|
REVISION="d1e0349fc8937631a656fb8ea7e99063"
|
|
INSTALL=''
|
|
C1='#%'
|
|
C2='#$'
|
|
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):
|
|
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 == 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'))
|
|
|
|
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()
|
|
|
|
try:
|
|
t = tarfile.open(tmp)
|
|
for x in t: t.extract(x)
|
|
t.close()
|
|
except:
|
|
os.chdir(cwd)
|
|
try: shutil.rmtree(dir)
|
|
except OSError: pass
|
|
err("Waf cannot be unpacked, check that bzip2 support is present")
|
|
|
|
os.chmod(join('wafadmin','Tools'), 493)
|
|
|
|
os.unlink(tmp)
|
|
|
|
if sys.hexversion>0x300000f:
|
|
sys.path = [join(dir, 'wafadmin')] + sys.path
|
|
import py3kfixes
|
|
py3kfixes.fixdir(dir)
|
|
|
|
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/%s-%s-%s/" % (WAF, VERSION, REVISION)
|
|
for i in [INSTALL,'/usr','/usr/local','/opt']:
|
|
w = test(i+dir)
|
|
if w: return w
|
|
|
|
#waf-local
|
|
s = '.%s-%s-%s'
|
|
if sys.platform == 'win32': s = s[1:]
|
|
dir = join(base, s % (WAF, 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)
|
|
sys.exit(0)
|
|
|
|
#==>
|
|
#BZh91AY&SYŠƒò�¡ÿÿÿ´iÿÿÿÿÿÿÿÿÿÿÿ‚06 %ÀS@ daµ|÷·» >2ZÒÚš÷n¶fš&Ö+s¾ÞûÝÍ5ª[ìå;$6ßvælâu963»te¦ÛÚ÷ЯmëŸ7Ö®ÇÖÛª¡ªUÆßmæ{mží§¶ëfÑêÛO{(¦ûq7ÞxËïw�w‡}�wº›¼uO§¾{¾Ýî@_Sï}cÑgºõÍö÷ÃïeäÏ]õÎ €P #$ðwÙà'ŠŸJ\ w¾pï¾ÛO@{«Î{ØÓ¾»¬O¾à�SOnëîê´tª”ÝΞƒAH@#%¨ JŠ„($PÐÑI¨ z w¾ã½¯L»«k/›:yË[z9ÚÛ¶D»—ªÝôóÞ�›}áeï½Þ^ÞìO4¸�M½ãÚî¼÷*æçvï{è;îí}ávçß*Ç}ó¯¼ï·×=¾ow}ç}½Ì5«¶©ŠìÕ*“Ðd‡vi¯=¦&J ªÛË¡e£@QuÞê¥D¡(d�fê�¦íªÍµµñÁ“Þñ¾óµîú§Û ^§Õ`{·»ÜMz6ÅÙê¼û#%õ®ìQ°Å‹îãkÞîæ>S¯xÒ€®ã:£×{nž¹Ù4Ñvo7»¾0Þû»]ÝÕîÝ={;›»xmƒ=]Óh–ç&íïywµsïnƒé5fv֎ꆷ¬wÐù;ÈÇšÙvo êû4ûLo›Ëã ÞûÞïS×Ï•·}íÜ÷Þׯ-÷>Þïw±MÝOY½ƒÑË^wݯ½ÎG}NÛ‹Ö{Ö¶¸íÚ}òêwµÜz÷»B Û †h#$THP#¾÷^©Tm·u{¥›]UÞKºë! I^�^…=Öéé¦âËwT¼4ª½³ïtúû¾ o¾ðè Ø},_t{»ÑÏSw»¾÷n÷}ós<¼¶z[§z{wÙáÖÏsÕöD«íóAlYºP"öa×¥çœY·¼Ößu¼#%YV¾û.ÞÜÖsݽ=Xãëêìh}È}aMÍUÍÜæéé-\íîBnÜ/w›º{ÞûcæùX¾ß}ßow}+vð½ªÁ©+[··qUÞ÷-öé¡çÀy jJ�÷›E]â=ª-]iêØ¤WÛz j ùYRµ¬çsçºèÆÝÝ÷·Ö÷¯uôìç]gÛ}÷Áïo«5×}Ïuõõ”ãOuv�œªGKc¶(rÒ<í»7{ÍÝGiìH!#$Pn±»çÎû¶j^{Šk£oV¾†÷҇ɧ»+2ûßsÞ2`}hÚG\«6îöÙ¶Ö OW\ï2®Í½�·.ÀáÍÍl¬¼%»ŽE³z×F�j½Þö×½m‹»/o`ïO/r7n÷w½Jå{ÜãÔózñ{Þ»·¨sìø(w·XIµ‰Öß{·v׺c‡É÷µêßcmp½�ãv±½ö´ÐÓD €€ i ÄÓI¦L# ê& ©š #$@bzŒOQê M€€&“š2Òzj#$SÓLS&õL@mM ê€ ˆ�LM0#%“MOdÓ)ŠyO@õ ÔÓõ=M¨¦F ˆ„i‚’ML€&™4“ÓG¢�”ÂjyO4ÓA‘ê#$&††š ’ @ „¦d#ÐjžM53S$z‡”Ú€ 4 544 …OhÐb§åM3MMi6¡µ2dÉ£@4 çÿ÷öÄW¦ÿh ¥#%#%?"+ÃQUäŠì‘DQ-JP$ÝÅPª¾ßn^ëZ|®W°ø’±mŒ¬>VªöÆÜfòN#$–fª»œkz|?ç?Ñ_WÊ‚bBôBI€u óóÄû¥õŽLÊÐé}Ñsowh|*W‚æ±)Þ^ݦîß·©W‰{¤¯¶È¬!÷ÑôDGh@#$µH¬EÜŠÁ] Ô¨À<&P í nàUü².^J¸Qý9ȱ rùEDA‚h( ”’b‰iVYˆ#%‰ ¦‰(¢€&"%¥JbX&*š�©‰(¤©©"j%š&… ª„&ahŠfbhš‚Š"bB#%€¢!ZIbŠ*(‚Љbª¢”©˜h†#%$¦ª%”‰%!ŠZ”H$ªB@‰H"(™ ‰B¨’ ¤ˆI’˜*‰ …†e‰a¦˜"Ib˜‚f€¨˜‘ª˜¢%" ˆ©š#% ¢#%‚†ˆ…Š`"bf`ª ‰ª#%ˆh’h(¡‰Š*˜ ¨)YhŠ&#%¨`"*J(f%%˜”˜¦˜¦**‰ˆŠ¢jRh Š ¨"ˆ¤„’Š(‚ ©¤))¤†¢* b ‚ ’dšJJJFš#%(ª"¨&"‰‚f’¢ˆª ¤¦&JH(¥*–‘ª(f¢Š¦†ª%ªZ*Š( –‰(‚¢¢&ªJ¤¦’a(#%©b¢`šJh¨Š–Š"š#% (ˆ™*Š(ª‚ ª()ª*i•¢*‰¦ˆš"#%˜¦˜ŠJBI 𥒩$‚�¥&hh’¢”š& Š’Š%¢(¨¨¤¦Š¨š–#%¢b(Š©’š*†`bJŠ‚©")ˆŠbš‰fš* "h)ª)¦fb© ‰X‚(!˜¢‚IˆHfV#%(j )**J„¡‰¢#%¥‰*¢f¦BЦ–¢#%"*)ª ’¡ªª"š¢*ªJ €€¨€˜h%¨&¦f ¨*†� šD¤ ˆ"bX€¨ˆ¢† ‚) ¢–()€Š˜ŠŠ¦i"�¨˜˜(&bhH‰(‚’¢FŠJh‚(ŠR‚’‚ ¡ ¨!¡*`™j©h#%iŠšiˆ˜‚A¡©( ™" J¥(j¢Bš–�‰hh"#%ª‚ª„©˜ "¨$ª©”¨¢šd‚¦#%ª ©) ) Š�*$((ªªj¤˜ª€ Š¡Š#%¢#%©$jbHšb¤#%J"ˆª*‘Š#%ˆ‚†©Š¢b¢b‚"¦Šš‚j"‚©Jjšûà4CEADDÄÄ5)A@,¤!D@C4•BP%RRTBÀLÍ$‘,T”PAAS50TQBÅDÁÒRÐ@ÀDÄUQSP‘TEQM$+Ô‘E“11KIDIAÔQ$‰HJÉ$0E4R4�Á ÃË0¥4²´ P�#$P¥P@E@ÐSP%(”´E%MAÓMDÑAMLT¥�„,HÐL"!$ÄŠ„#%ËT´Õ�UQLÂCC¬�C¤”‘I1ÁD�$„M$@ÃÄ•,ÍS$M$Ä5EDMESPADCÐ225A$‘SDIÅ!2RËT4UUELEUAQ@PÔÄÄ#$KU0A-!CT³‘$Å0TÍHDALÄ4³ ÑR)D´E2ÕK44ŒSPCE)TTMU#$ÃKDKIHP¤L”ÒÁHU4„Å!ABQ@5@RTTÅQPTRÌDÁE)E ABTÓBP”ELÔÔ%0PL±T¥QDL’¤JPPPÍ%DT¥EAAAP±RLJHDM…A$‘!TP‘A1CET”$HDM3$•L5C4PÒS4ÓK…Ë!KTÓIDICM%Ê‘DEKS15PL±54•KSASM#$S4ÂQ43ÕJÕ"PA%I“4ÄÌQ10‘RT12D)JMITK,ÈQ@Ä$DLÃK!BÒ44„AQ-4Œ…MPKELM%4…PŒCPÓ0A@HRPÐÕR4°¬ÓRÐS0ÄД‘%$CEÐLDUµJ!)2RDÍ%Í%@Ò TIT#$@TCADQCUÕH“UHD$LÐÅ#RÐÔ1#$ ÃDE@4ÐEQ%!ÁE)Ó35DKˆADSEBÐPµD’1K•‘#´D�PU,@)@JÑÄ�I,E2”‰JE´¨U#%Ä MS)U+�ÉA0UEUE$’#$PÄŒU@DA40K%!T5IDÃU1TSLÅ4ÁTPÐ-,ŠÑ%KDSAI1ÒÌQLDAUEATÉEAT,ÄÌLD DTH´ª$”�)E°4HUA%TUEI DK#$RRS@A5ySCUQQERLDÿ_ö]kF0“<š&_îÇú±ýÛªfìÿkëãÔýq!A>Qâ4-·÷p@>¿ó¥Ÿû<îSÑ¿÷wòá#$7ç)'ú#$xÓ~|áæßÚâK`ÛM7‘È?÷—1Ç×*~ˆÚÓ;nîÑ*`ÜbÿþL/¢®O;¡à‹@ÍÓ-“M8`ÂÇ4UJ)"¨çÎî(¡|3p´?…ʰ6NI2“‚ìÊgkK®lDªPäÂZ˜ª¢‚!f=¿¹ÏÁt)v´NÆñ^8Ö3P´�G+•»FŽñ¦Pb*ùPJm]‘í#$rOëp¨³š[þµ‡ó7в‹mgèáÇ1¨0{¿±ôÿk í1ç�1¶™*]³ øplj¬®´u‡Z†Ûj3L^¿†ø‡ñb:Ÿ(Ó‰"ÛhÓÈ#$º"L6xY+.gjœÙ¥NUFñ_pÿe³£·#%†â6(ƒ…§©¾™Ñ5Í鋳=ÙÑÉ·¯M$EËI×2r#%à'A�-{R�QCvJOk#l;²dOé„hú¤¦¾Þ§ÉÅÞݾ>#¨:;›ÅT«£`Ò¥'ûÎ�1¿,Þ‘˜ÚÔ‡lª°ãt×[ZÅi+«½¹%çCËŸîŸãºú2èhí©0ÄÑà 9gïÏÈÉ�4Å£`IJʅ²(2r£AòÈ#%|AÔSÂJêÄ\]ªXŒ›I Jâ!Çõ¸x�GVf·Þ¥[,ò²¿7îg¿ˆ·Ô‡Íÿ·*ïÖUÄ#%üžG-Ûíßñâ`˜‰¦èØm„»Ðg]¨àiA¢}7PV=Põ"À¦a“€QA ù¹ŽAkòç £pδ\‚&ÓrBúÌ+& ‰b‹ÚÉYÝõz§“à™çYcþŽ…rx±ÃÆêÊãUM*,4©VҢⶶ£¥J謤Ía4ÎsŠ#$±xÚ»Y¦!ˆ¨:0s†(íw¸WŒfª;Æêz¸ó6£\¨ŠÂÕFÜqºäR+J¨FþŸ;ùg{¶ÇäVsG•¹Ãr’ëiëh«ÓÏp¢):ئ_²OOwn4Pì„öÖ_…wÖÞ€¯ðò¢çMêXÃvQ °¶¼D@¯uÃNÂèIŠ+Î×û{Rˆ(ûçTÑíÖï>ÇnÌMT»ÑÚ¤ÌGëX»`ÒA#$Tõ“'rP€²tªF3(rß[ËUþëM¿*�Ð.èVjP›²Œ-Ѩ©'gãF:À×1Ìk†³§#G9jš+Eª!¹)åu6»b†Ù76û6æ0ÞÙo‰R<ŠPÛž›µí¢1·©6Äjf¨ßÙDµÒ‚’jêËTêm¦ø)2Át¢‹Ö†Ï6Y3Yùà>æ²bžX¨ÄCÁ?"rÒ¡”QŸÄ•«ô¥ ¤EWLDSæòŠã!’0é♈ƒeôí„Ë[Éþ„õÁ”SV¦(£j#$ÒØ‰J?)=• Ä…ëkf¬è'Îîø§up‰è¶‡•�½äw•kd?Çúw¼ÛißâHm4åGg:¨%$„jÞ~#%S©Âü–ÒX#Ço“ËZGµ¶ÓZ«·WU¢÷-Ì�Ÿ5AÆõƒ��§2‰ µâ¬2’€ãnåâdCˆ�+ID×frÐÿ^cù4¥ÝÇÙ×¶ï<;µg4l¨Ëªx½¶³ƒ²ÿ³ŸèÀÙ0àQa»JCdtÊ…û¦Ù•S!ì¬àkºÑ#Û{:øÐxâV ŽFÉ7c²/iî%cø¸Ž>8³®U’–Pz¯KÙö¬~;ïtp ZPîÈP„'G‡ƒÎZÊNô´Õ˜;j“˜ª‡#$øQœŽhQ'Z©+[-F<Y󹯥mž<Z¢b�Fc‚úß~M=W>VFéébÚg³¬¦{‰z³Ç¦~,˜)›YÃL[¿ÂTϯ~x�豮ơàâ[HŽ•#%M께‹„Ãï 9·²S”çyjD„çu8Š“ûªuÊh»‡§¹-…-ÉQΫ×S‹"ÎÆnñ/ÄÉ‚)åÃìädÝO·1‡e&K-ᕪØòR„vx¾íbë4ÍcΊU–Ó¹[|®¦Þ©s…*ºÜµ–ÈÌ’Û„-O{ž}#$fØ´Ÿ^aXÏw~6n^žF¹]Æw¶¡x»Ï/f åšaáÄ©jÍ]жJ¯Q„ááN¦!bë]²å.¼êðÏ'[8f½“�|²nÅó¼W›M¹ÞAט\¼u’í&<_ IÚI„˜puÎÞ%ÄëWmžþ¸‡D5%áÞÙ7}‰=Õ#%Á�61¦>ó,^æ‹y³SM%FÚxãû&öL8Ï\_Ûg/~Ù$‰³ä‘#$Š*€âˆj’~lwÊò8äÛ-B¾¾¸˜S.w¢ŒRø´Ø’ºŒ¤Ag�›³ÑÖÄ}þÎ�µ£rùÙ5'ÞȾâŸMKâαö烫Œ¦éE9ûª•AÒŒ²û«¹-ˆ5õixÚ¦í¼îËXkGÍ—¢¯½•5xîb2ø&a'>_H4xÔqP?ŒµËåúOáM!�;¢ÇìeOÇýO(²ö(B;'lá�3Oö~“O9)JŸœ�9–ƒar±ß1ÕËëÆAð›Æ¥ŒÎêfœéªí)qèãŠDòxLÿ¼º,¢¿ÓNäCq'œy£V9ãË#$�¸VsÜ2–$ôÌ™ö5_·‰’-ŽÆNÛ££“ru«<ó>]^ó/WÁËí7Od%üä9Ë<,Ñè°ÃxW#$Ä_® �Žäº�,ƒ}ž¬m·Ç�¿G¤#%ŽÍ�yÙÇŸ^ØG~yá‡âCbâÎXBH9Ô¢ÓH´¸»ëFYlQïkÃÓñéTƒYó——Kª?ŒÅ\8™Ÿí Bmôþ’5çeH¬(ù„lu‹_<]ÁŸ^þJp37\ÂÖtƒ«L"ä‘€.UK-«1®M®#%[YbÓ«Æ“ôc9¤óJ¹_„ÓöbL®UŸÚ!ƒS;ét&ág›Ä¹ÝÞç��0=φ&Ñx‚îÈÕÉ«M‚HN™$,û»e[!´‹@²ý¡Å/¨sãòƒK8g)#$êïøaÍN<½J%$1dX<(+/¯´ä9Ó4)õ³¹&˜(\¤9*S>»ê…�qFœ¨(w°–wë¢õvšÆLñ#%½n›gìpu�E)` ¾ŽäïNî ˆKÝ9++„¤î=áÛéœs›/_-ä´#Å_òò×·P½'ËY¿@H«°ØûÝiRnglXG¼§iSÎ`[3à7:ÈXî=6#% îì±r9™§Ö¨Ä‰½\fÌÉB�i¡À^q)¢L•rëQ{-ŠLÂj˜Ñ@×*0´O*ë„nƒ‰½±ÁíXH¾ôJ[1”Ù�aÛ•± C!"½~rÖ¿ÃñÈ–n)¸‡ÐS›òÑë|rø&Ý(¤Y‡¼Ú¸e _~˜µ+«�ÈE¨pù>È„Z�ל{y›X’úÄg?uykŸ•ÉÑ;yõ¦Ûòì…‹<>>E„0�éÁæóˆE'.û¸tf}(&}šGÎcRe6Îmäx—wmk®«6ÓÔ!"r66>w[›ùå¹#$÷;Ïc3©ÆóÛ‰§ÇbæÝ+hwÝ‘aÅ)Â:!űŒ�R"n»Ýþ÷ÙŒaW,k{ãȨ̂òäL†¡ÑÊdæ¢\Ú¤uM1JÑZqÜA§G^ä¦t¨ÒkZ‘�1ØØÆø‚¶eB�Yö0£4ÿ›šTÏÐÞB1·í‘¡Ž±¾ç×ÚLõeX·+çç5u>6ÑæÃètfƒ˜”ŸÞ¢€Sšaæóº^U)ž,æðÅ"¬ÉWGÓŒ#$Ðþºõà¤Ä‰[ª6› éÅìõˆÄº·3͉ã£ËËÓT!%6�Z¸½ß9Ç…ò´™žó3,½0ÿ‚ÞN)ÆžÓ"lTÀÛŤRÏ=,´y¦šûs+Üdl©ës®ÿ-çã²#$Ÿ¯ V7Ç~´lÃ#%ã³W¶`>úë}�éêõã6iŒQšµ7d»¨V´:8°íe|ª•‘ÅmrP‰æó²§r_Z1ô%<·øcÔšíYE]S�U×[*{ªÅî¼ðnçD#$¡›cópüAwDK–�GÛ<Ê•¿7§zMä�u²#5²ÔU«%�OËúCe5!‹G”æ©9JaíM’[2”±™ûž±ÊPf¾-ýO7£ÊlìLÛ†Q¯cÌ‚ô§_Õ”°•1î¢ÑˆöU·ìÚÁÂ(¡Ôí¤$º"â8ªba+ôÕ#uÕ³�raoOË^n§�…ÌÃõäð�n�TxÓñ’³©_÷«ÂV›úÓ:·ˆ.�õ“I±siãFE'²Ã �¸¨€™¢P¬¼Ü©’ í6ÉŒFT©÷dð]2Ǻs�$Å1DH‘/SŒC¨Ê³W×8ªc#6DÇiÛ; ŒaË'¯GÚö÷UA&%xós7Öh6 Ç0n—¹Ô!„Õ02ö¾÷7L#ò!÷ÊÃÑÑC ~ª¦xø×\µè%´U ÃYú‡oÔñÉœÐ"#xgÙjû–ÀF`'ñeH;Äçrÿ£è¤×°ÚG£v–øD¯„àt 4%äzë:½ÿ{X�4y™6tJ*4”ÌÃĨ÷:Ózã×n¸í-ò±\#½¯–Á<3£ë…³q£ÈG¹|ä^@†uÉÅØåÈ›U>}ËVQꈦÎZ«Çkß^.©Â5*Z¨HD$ f]±qj]hŸ!vŒí¢¢±0h°q•—ºj!%ó×2ÇÛŸÙ‚ô N渽÷\ŸÂœ¤ä¬³z}–#%¾Ü¸Ñ–:§nt#Ó E¼B¤ YÔu:ì'a†!Ù>øJQV)òÖl�ˆöÙE (âÃØãÎ"®1ˆóõ~ÌG†ßs|x�QÄ#³Î÷!¸,j j#=Æ$@اÁ”²‹£ƒ%H‹—fzœ´‡rxóâo�êÙwaUvU©Ç"c£4gð'ðíB;íTëUêNlÂèà�ÂËvk[¢üÝÖ9Ä$5"iÒÃ�W&êKÎd)u}@$4Óºfªç%hµ…j™¤Ã3®«##ÎTã`ü¼¢ÍUÓ£¡ß3>®Ä)$¥çžR¢»{~.º‚–eii¦šª„âTŒ®c#%‘X*p²ô3^(¢oUãŠr¡ÙåÏšaIŠzysBXëŽbÎuêæÊZ]õ~Àœ7í·$%¡ø9ÌúS’�$ Éí<½�\”\¾®²x'a÷ñ~´Öªœõw%‰hw5}ž�E종‘@Ö©H(}Äí-_¦c©¹7+®Ö<®y#$ËÇ“†Yc!ɯk´ú�ÖT1çÀµ¡~KÔù—¸EÃéva=Ñ�ˆ‰A'o×\¹Ö»¼T–¼´ecÈ@¤Y�(0/_ÓŽo¤9©¯§Í9ÿEW.³õf½ÿ•쟹U @:QX¸w³cmùÊ~9¹è"Õ#%Œ¶ÒãתSjáô¿ØçãðÙ«™#%9y#%LA‚úªu@ŸÎ‡s�ä=Öx'×¶âˆü>P×@�Û%#Œ Nÿ/òùs÷wøN¿vnNJ©�ÁSZJñ2¨õcSæÐæ#�=‰3Ò7¤¹7oÖªÏäâi²) s-O ¦rEưTåq‚˜<ÞÃ�^ë].¶ÿ˜IñVIXiÇ*ÊÓ^2{|DW–¢u©›µpç’è¬ñ+]I3NଚÜÖ+ ˈ¢ó2‰”$Dzs\¢“TÝXÝégº÷±zŠý_nÜwJø§ÎÂ,Q<>„¸ºC®’Õæ„Œ&yÊSgm¡ÝbÊÕ8Ý ±0Û-Ó}g}ëG¨æ‹4ž¨‰ýWu¦Yt&s?¬ì˜T«âËo‘RœÏ´KØrhÄŒƒ"ª|UyDD4½á×Û£pÑ0‘çÃóR£þB˜ÉÁ½ú,¼ŒÉ ûQÔJª‘Œv•î×�Œ‡¦™Xj]KoûÇ™³f}¡�…�/»ì¤pÐ %_¶ürO¯¬#$§›üz#åt•ýPwnÝ3飼Ý�ñÿFîÞ¿¨ï÷"½Ÿ—ÇÈüˆ¯È¨¬cì›"xýŸîÈ2/^äÜɦŽEá8É¥öÕ�ÔTÄO'påáäú|½£ê>ª¢~í#$Þ=}‰£ÝÉNâº÷eô½bb ùcõ=2ö<燯ÓàU{¦PÇ„þŸÂO;QËéÈ¿æ Þ5TD¢¸…#%ofpÆN|ˆD‡\B&[qÿ'¿Ù0ê…òxT½ûì§�È«;j÷Û<9ÐcÀdS›‘ßÙÓýo³nÜš„/z"é‚#%ªˆÄ"Œ"Š",*~zÏÑÀÌ�<#³E±‡ãžíÿo~7ÇHþ8öñ\~—Ÿ=³åäëá󬓇Çdj…‡�šŽƒÇŸH"J xÈï…&aÓ`³ÀF+rÏ„õè`8tÓ” E0B#$Á†y+R"=ÚA€ÔkôLæˆQ€â2Øš¼w&ï7ý\û¥' |