# Copyright (C) 2017 Khem Raj # Released under the MIT license (see COPYING.MIT for the terms) DESCRIPTION = "The LLVM Compiler Infrastructure" HOMEPAGE = "http://llvm.org" LICENSE = "NCSA" SECTION = "devel" LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=e825e017edc35cfd58e26116e5251771" DEPENDS = "libffi libxml2 zlib ninja-native llvm-native" RDEPENDS_${PN}_append_class-target = " ncurses-terminfo" inherit perlnative pythonnative cmake pkgconfig PROVIDES += "llvm${PV}" LLVM_RELEASE = "${PV}" LLVM_DIR = "llvm${LLVM_RELEASE}" SRCREV = "5136df4d089a086b70d452160ad5451861269498" PV = "6.0" BRANCH = "release_60" PATCH_VERSION = "1" SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};protocol=http \ file://0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \ file://0002-llvm-allow-env-override-of-exe-path.patch \ " UPSTREAM_CHECK_COMMITS = "1" S = "${WORKDIR}/git" LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" def get_llvm_arch(bb, d, arch_var): import re a = d.getVar(arch_var) if re.match('(i.86|athlon|x86.64)$', a): return 'X86' elif re.match('arm$', a): return 'ARM' elif re.match('armeb$', a): return 'ARM' elif re.match('aarch64$', a): return 'AArch64' elif re.match('aarch64_be$', a): return 'AArch64' elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips' elif re.match('p(pc|owerpc)(|64)', a): return 'PowerPC' else: raise bb.parse.SkipRecipe("Cannot map '%s' to a supported LLVM architecture" % a) def get_llvm_host_arch(bb, d): return get_llvm_arch(bb, d, 'HOST_ARCH') # # Default to build all OE-Core supported target arches (user overridable). # LLVM_TARGETS ?= "AMDGPU;${@get_llvm_host_arch(bb, d)}" ARM_INSTRUCTION_SET_armv5 = "arm" ARM_INSTRUCTION_SET_armv4t = "arm" EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF \ -DLLVM_ENABLE_PIC=ON \ -DLLVM_BINDINGS_LIST='' \ -DLLVM_LINK_LLVM_DYLIB=ON \ -DLLVM_ENABLE_FFI=ON \ -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \ -DLLVM_OPTIMIZED_TABLEGEN=ON \ -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS}' \ -G Ninja" EXTRA_OECMAKE_append_class-target = "\ -DCMAKE_CROSSCOMPILING:BOOL=ON \ -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen${PV} \ -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \ " EXTRA_OECMAKE_append_class-nativesdk = "\ -DCMAKE_CROSSCOMPILING:BOOL=ON \ -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen${PV} \ -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \ " do_configure_prepend() { # Fix paths in llvm-config sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp sed -ri "s#lib/${LLVM_DIR}#${baselib}/${LLVM_DIR}#g" ${S}/tools/llvm-config/llvm-config.cpp } do_compile() { ninja -v ${PARALLEL_MAKE} } do_compile_class-native() { ninja -v ${PARALLEL_MAKE} llvm-config llvm-tblgen } do_install() { DESTDIR=${LLVM_INSTALL_DIR} ninja -v install install -D -m 0755 ${B}/bin/llvm-config ${D}${libdir}/${LLVM_DIR}/llvm-config install -d ${D}${bindir}/${LLVM_DIR} cp -r ${LLVM_INSTALL_DIR}${bindir}/* ${D}${bindir}/${LLVM_DIR}/ install -d ${D}${includedir}/${LLVM_DIR} cp -r ${LLVM_INSTALL_DIR}${includedir}/* ${D}${includedir}/${LLVM_DIR}/ install -d ${D}${libdir}/${LLVM_DIR} # The LLVM sources have "/lib" embedded and so we cannot completely rely on the ${libdir} variable if [ -d ${LLVM_INSTALL_DIR}${libdir}/ ]; then cp -r ${LLVM_INSTALL_DIR}${libdir}/* ${D}${libdir}/${LLVM_DIR}/ elif [ -d ${LLVM_INSTALL_DIR}${prefix}/lib ]; then cp -r ${LLVM_INSTALL_DIR}${prefix}/lib/* ${D}${libdir}/${LLVM_DIR}/ elif [ -d ${LLVM_INSTALL_DIR}${prefix}/lib64 ]; then cp -r ${LLVM_INSTALL_DIR}${prefix}/lib64/* ${D}${libdir}/${LLVM_DIR}/ fi # Remove unnecessary cmake files rm -rf ${D}${libdir}/${LLVM_DIR}/cmake ln -s ${LLVM_DIR}/libLLVM-${PV}${SOLIBSDEV} ${D}${libdir}/libLLVM-${PV}${SOLIBSDEV} # We'll have to delete the libLLVM.so due to multiple reasons... rm -rf ${D}${libdir}/${LLVM_DIR}/libLLVM.so rm -rf ${D}${libdir}/${LLVM_DIR}/libLTO.so } do_install_class-native() { install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV} install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV} install -D -m 0755 ${B}/lib/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so } PACKAGES += "${PN}-bugpointpasses ${PN}-llvmhello" ALLOW_EMPTY_${PN} = "1" ALLOW_EMPTY_${PN}-staticdev = "1" FILES_${PN} = "" FILES_${PN}-staticdev = "" FILES_${PN}-dbg = " \ ${bindir}/${LLVM_DIR}/.debug \ ${libdir}/${LLVM_DIR}/.debug/BugpointPasses.so \ ${libdir}/${LLVM_DIR}/.debug/LLVMHello.so \ ${libdir}/${LLVM_DIR}/.debug/libLTO.so* \ ${libdir}/${LLVM_DIR}/.debug/llvm-config \ /usr/src/debug \ " FILES_${PN}-dev = " \ ${bindir}/${LLVM_DIR} \ ${includedir}/${LLVM_DIR} \ ${libdir}/${LLVM_DIR}/llvm-config \ " RRECOMMENDS_${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello" FILES_${PN}-bugpointpasses = "\ ${libdir}/${LLVM_DIR}/BugpointPasses.so \ " FILES_${PN} += "\ ${libdir}/${LLVM_DIR}/libLTO.so.* \ " FILES_${PN}-llvmhello = "\ ${libdir}/${LLVM_DIR}/LLVMHello.so \ " PACKAGES_DYNAMIC = "^libllvm${LLVM_RELEASE}-.*$" NOAUTOPACKAGEDEBUG = "1" INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE}.${PATCH_VERSION} += "dev-so" INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE} += "dev-so" INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm += "dev-so" python llvm_populate_packages() { libdir = bb.data.expand('${libdir}', d) libllvm_libdir = bb.data.expand('${libdir}/${LLVM_DIR}', d) split_dbg_packages = do_split_packages(d, libllvm_libdir+'/.debug', '^lib(.*)\.so$', 'libllvm${LLVM_RELEASE}-%s-dbg', 'Split debug package for %s', allow_dirs=True) split_packages = do_split_packages(d, libdir, '^lib(.*)\.so$', 'libllvm${LLVM_RELEASE}-%s', 'Split package for %s', allow_dirs=True, allow_links=True, recursive=True) split_staticdev_packages = do_split_packages(d, libllvm_libdir, '^lib(.*)\.a$', 'libllvm${LLVM_RELEASE}-%s-staticdev', 'Split staticdev package for %s', allow_dirs=True) if split_packages: pn = d.getVar('PN') d.appendVar('RDEPENDS_' + pn, ' '+' '.join(split_packages)) d.appendVar('RDEPENDS_' + pn + '-dbg', ' '+' '.join(split_dbg_packages)) d.appendVar('RDEPENDS_' + pn + '-staticdev', ' '+' '.join(split_staticdev_packages)) } PACKAGESPLITFUNCS_prepend = "llvm_populate_packages " BBCLASSEXTEND = "native nativesdk" o/,@J%g?fmQ\eG8F5B" _/,cPt6arcj;j)j޻YmCAMq[a,ehBrV8faCfE 6\=+'`+>xً<1U>[ !Rʚ[YNS?)!dGԥ=r/:7N1we%Ķp':9~ڃ4Sje1KO)<}R&[b0 wT8++gu7\p/&Qon~w2mX͖'ԶS ;1R;ɷ"Q?yC5("M0Q⫎eB{Nzi^&+m\2p\U) 17Exx ΠС)jpS$|8ԟYS7S,iVdDag[Zu$@O)E]^4E*xt@ I,Q?Y$[!ǫoN1GToAŒn aG -5<şִsQ"dUw-۟i20Sޘrǿ=nO#9hXBapimS:2ekT-lsnaώi30S! >s o;Gv(Ξ W-յěs3szB%/DAm,5|/ΝbcDc[TnOX<۾b;"p䭓Kvfl~R(`O($oL:<KEwO2V2g|"[ B&-I/Tdr\qf ϣhFc-Gڇ#ǜx+isTih呌GEx_IW>H8qj/%gsNGWk^)5h^2AIs7."Z%#BF:B(ZۏPSZm{\b>߿5ƅ N<\:_#4I?sI%{"];*'͑K ~:~.3rOns{x0~_ưCR2F^T.`3TIϽ~i.vm-# $7#Bc݊j|z+>S Tqn-YuΥ$ٜFg{ s#qTv $ 9wXCp,=;8?wpγc9IhyO膅N{v\W?iM3ԐGVz3}ė|7zdpt ߺlF-u$5#+zvQ*0WG9d]YǓzѴ{|:҉:s,b<4+=ϳ8[e+gN}J Iǫkv L׾r|oz̳A̘nHE ?g7KLmَٟNMO ެfݠW.~cF{ ,Q%_s^U^ǯ =NI-eH];ԣP(iPYbP+Ga.~!\M ifI||#m$5z Vk,'vʉ <B$Pܡ[I=u~LU4"[#$ȅ -bG-q؝ Q,5{%Lcc*ci_1X )&%oXPa&6GQ㋟zJ#U']Z`8(pٔ@Ǩf\GUъADwkj`eJYףsgwL#2>7iIF05h*"EW$" A$R.=TR]gņ/.B.{<-e+Fs+}EWf.ϟA/N[bPw1Bfq4|녥S\94CI(ҨA޾IZF}Iv<&%WP?.mv`VU_cڳf㉌brU|d*GGھ K0 %f~n,JV\B>IЖ kߟꙵB3ߘA`U},^'ڑ߄[CG;<~ehC+G3t(w6=:G)m$AiwզeYtTY-Wc tX98A)xгy*㴣*P&l{նѐHP$1x3$bc߾GKB7>zѸq*{lyW,tsY\Ԣ6؆juw\[iup2p g F7U>=e_3[cwL>kf- k1QQO؊IEih($I500Brkj"u&ϲ]"<4C=\=GXL׽y]1N ݼNdw&G*8]<׹Jz;q<[5Jd\c;|;ϟi 'X;cR87"jRݜ59y|:D][Ok&y Ϫk ,Pg )s-s3 0Tlh(}A 0d#m@wN$̘Ŭ29?6  OA|9\~4삓眼wwUrl~w5NO쫽]çlN!2ApEҥmY)p&-VMwOlJ.!ѡŦoV<* \CcF:C)Ӳb%"Z. f2"E(u0ʤyfBDچ!߻\?ۇ%k*橙9gJ9ƸZIɷ;܎x~bht ~zKGׇ&+3*Q12|樂Rv4/Xz:O "źE;pD+TtKƣ.-Wh%Lӕ{ʧS%Fw?k^[l0N*hudիibU A ^׻/.Ovl qY?vM{R6Y8SLY̓Ot W\NAʢQIC1e%g>Ò%(Tc6k{"`ڍd"mCkhXV:֯N!Pv!i,/Dro6Ru:fbS~mOSg{fՌЪ{18ܰgt-WFҖn%ePС)\}0H82UߢIC_/&3e|;'J&yrC/5..AVtJyS:{xQ"S79IEXϮL:Ѧ 5CdT[vEAHR礱 Jֿ#~}ؘCM8] =BCdjr9PK^C|h0|!H]҅k[طg˶E8b#,K+!zbmFĢji"(wq$;"^ߎ$joS5tzQM+uj~|O:Oxyꉪӌ;W x|w?pFRsA y}py;Us̯:흔*$)}OSUڮF5}YcK[ߌ_}AsoKXO\niRӉmi?7l-ϕUM}9VsSwtD*\r8h1?.;w}7ޯm~m|iy/c;٧TMg(HL$٘D4KwYEE2*~tZ7|؅QUV4~\Š-I] oeJ. ( JFp4?4TÚ7gR(ʺ}']dY;$Gj)iey? zΏGۊ(t0" Qy$?j|xfZ'Fl^l= *Qt!5'M{!?}̇{{t^]ih '6_Y\ D{SOg,wvgw0My˨STĐ}n=9$DIQ S/u6V e]SdrɀS1&*/|UeVEV2*6s 2)dDXRK;U~B/pEmZ,Re;x#G'4O4 {]<d~"(r}dj6ɳ:.s2Wh$h*2+ϐ8%6feI.~<ÍLʏixi+ ǁ,qLLoL}Sɉ fi tîz`ۊjM4UT7ĜȠ,[}9{e69MYQUP=]1ڪ*qEwYeAZX'L殴.1A8Ţ Kaͤ@U̶ iPi|- 1CƮ鉋кvӛ,18cUn沰r ;0̂IP HzpaiEg윟>rO545*D=ҙp|=bHf8x5=dͪrH:2{>밭&OT+k .xV@+;<$Қ69`;XOBu>Lj-+ ;Dd#+H H@OT^X0:AȰ50$ ?"IpM{:hh{СPM@s=NW&?ٲI28;I!IUpiV Y o[VXHB7KT >Y6 ccp12,05" n3yR5|^BV+09x=_fd;t1'9VYch ~o%(HwvB$ޤd/#ҝ9CBЭ:{T9Mpufޣ]_װEffE1k+.y^ߍϷƝgl~vv,ogg8XE qތMc&߯n&2*Ud֒Ǚ h\r-IK8MÍ),|:.43]=>r$%?@( bR"V$_a JЀQIQ4 2 1bA;D;t[nZIתTۧ]y@z#xNAGڢa8ݣgG`Ob6%s=;9Yi(Oݚ^(q>iĀ VWK!b,|L.D*ވМTaYuAՃI2 ).'oV4%UQ#i"e]x WcJPqD8,QeN>WW&H[7{gh3I #q2:³zAYǝXח&cXU`K2J#2,̨1&*Qyͤ~  %IH!h̲hQ !c8X儨93b8;Mv}$-zj+͢5T؊15tWz~㾈o4ƢὔlCГPd 441k7UX;0&'$!:\S3:pC` #P(٭S'꘳g`/bj amoʯ$hK9K%\-AZ쇽8RΡh3&'4p)H;%tGHh. :U/bC(UaՐ뾼nd!q=&MY#\3f;xȜ+ 54 t_KI ~7#ߟD2 f) 3? /T?y1@m^0_/.rF\/vA"8g3H.O-M8"OLpNWn5-XGJĊw ReåjoC M4~x+dG| &s*dხ (8y=k"ƼSSh?v=;yw"?Z*3ư'HeO5KP2bWWƍ2,I ;=% y YVt*S3b"""Sj>鱱,qqBBm82yKSm/E y KFFwv~ dm6*9|{@=ǯ F.LqFx7ty\] KW.:ɗ4+ b=˜.<%S?OW IgSJ,N$7+e7؜$a2$Gनx]QQ׌H?wuUns,Ѷe=7mA\w*JKڧWFG3HBּ$Ibn={baB0h$bV4*)O&˳מe*Q@SRW`[&e֮DˆqG3\qǻ<75*VVjj q+n{Y࿊5=e4zYf֡eV4rRN\U2 7??iKa"G嗽}|m9>T,ﻢ9EyLxZoU7.oXjxEY}YǍ֚FsjтK[MeF EѲo;F8OTIGETU-!]h,hWB!|;k=h#Ξrruq}UV}4*oyS]zѧ J?rN\pM4iRcIpkWC mqv;\5eZ쫽] {K0ZmZ>}6V3.pՄ_Sx{ؘ\a99$AQHYp헃{g*ϻ{:sɏ(M(`42NIfXW)KFן'|&.e1K+n _] I$ .{f4}"ɠv. @D%x`2mK: 1(F([~$ e~ DFa(N#c932MX(p5h7҃ 2Y5G\!.aW3`aϔ8أ2 P=q Qe&x+vyzhy-$*4!EFeZ&McRdtqH% &^h,Y&\, -aݐ|9^X4fu'Z,rvy}j jÔVtf僈]0'oYIW{%ctiXͤ|KJ,>XC8/UGY?A5k[Q{,y-1NW+e"(H^ .l߉]^ G{e.$ _-P>ۂdIxl>𯃶g&*N]JfHC{Ǽ1#<{as/-.?%Ɂrj*k&i.P+DC+_ZFvb;Rf̣'٬ ;"cr hRFE\bFW & 4 qLF(բ2_v)ʈjٱC٪u&9se_Ueml(eҫઋ &ffnoERBY+l/1jF^MOcq5;i`yC7j 9Ԑƴό_MgIʙn{3r}i۔5vBªqzsU.k" aWL$u$&P5xrCi=m=V Hv>g}<,57d`&M{Ҟ6W^Pn4yx)w8ylg1Fw_%֘öTq8<^ A44Z!ļM"`eS-dKܒBn2* 'wӧOjl4(b+j ᄈomzIcR#}@ it U' ע:r #Q}ތ^۰<[|%W+-.ri[ќm/ӌan^MOOiFā#CՏU'>.Q[|⻮~jh(,U:܂&+ӫ]q1 <@Ͷ'8FB} ӿ9<-"hNUdCjgMuf:qS`(&΃TBm(;L1iD'ȀAq:~ r!Г$Ŵ~a4|ْZ[^-02ög\Cy&mh[6 -A_Ȉx}|x2^W ӏV+ő}x4k5q{צYz -rsƾz?ݜ|ƑMe-=<:m7g& 4վ2!79S|*vzs}ޡp]wt4nZ*zQO#!&fiMv +q<@aG( rCߑv_N&/8W촟+[g?Ayx9f"-gn@"u}X 7Y;K?VOgx?98|m!$dwKPjKbyu/"AٜH;hN4?}ic^2xл}K-ffbe2n(F1 +7-x[v+#仅G ر&$ޠϜҀ]GU.QGEpCg}5p'LqR0澺X7}5~.~ӗ;ӵ^gx RN)]poekӾvNO&G.<pc>K:k͆:Ό{K8ioMZ{M]V6dClk 9XyvgYMO|#px< V=)h.;m^8BLo0vJ%/<#՞S"Oc=&񱼑:z|m, ͏f0.7Q]f$쾺(h56 Pi!5O&(xurd- j9TW"1+%1!y׎uLv#ywWo꙳=7铜D|f:2H:ۻM [:}m#>v2|w`QL%%YD'Kɚ-~^=_M1l S^˯ x9(7)KY_@_oټMeC_=+a!4$ r뮼q>IEkKu'n.+|>3/%:Jy"qɃ>z !qNq<cde]Urʟ==99*!TAw%˺m MCvryccҳ,#Ǽe9hAvy0A~oL۪V5_9= D~RlsLа0'jIY61zcD<r9?7kݻo݃i9rF^<5śFH{A'y!6Q!]y~)"g"-~#C}/Ϣ lcڇ rPE(Jr'&q]Y౗ 7-C#λMV) Cq縺CVwOg}Egl_Y&kY q9) WVh4oi}z.0J/)C4al&imuTynUjl ^;KKs`Um5j9\NPnڹl&vӳYR;9CݳIlDfDׅ}P KzSچ:vO?ssL?ZLŕ2ng[H$W7iv#$&FKIZ@Hdeu>Gt'QO+Ycꭾ243삢; sUm8v6f,ÞieOQ|h%]=MF|[' }]Y1~wdfȽHU0dzvw8l:i!˦flE؝IҺL8qw^.08&r}YV$S:0Zlnx9^OGh"wK#:įt*g&ި3T D+Jp$] tZCHVcG+v[ WKy2o,l1" rLigvy.ny1p+DJNY{Q6 m[^I=vCd`n8@(Vxil׻ ω]:H_ATokoNf+BOY݉5B EUؔKzqHI03,ћ 9ϸS^ uۓbd9 NPŰ|.eԴъѻZ֬2*4nt[ℭa=4uBs5#Yj)}is}*e_ɰLN2-LI{K ~W~C}R I.L:Ԭ)<|v x+/11f,g?qWv<"9˛+ѱa`fэ{x1cTФnS j|8xFZLƑZiq&nKZ`+:,4-/{#%izvXp:4l4Sny,LbEMGg!.5d2R֩謮rzt0b冼 ;sۃ*a*zaGS=y$24R!}!՜rߋL As<.O 9 zw|hrDnXj3sȰdAi0׬SH;boΝ}>3͝zBk \[TCg1><)^ò kP_aVI^P4{T&s⌆ǀ#czp5ʭ8O6/nlLy<\2%YБ֝>N&z$0k0IMGѤ4YAE@7V|w[k_3dx x.x69y#}Wɒ}w] PTjg٪P{ +6uSEx ಜOӚ.pz3 8EF Ϫxm-Gy a= }KlY@~Lϳ~#g&΂5]nsE1k<$-[qcr kVrwm]W{ mq l>1/O.f>ð⻗ƓL5Vwy]6lDiZ";L&@EAIÞrm>1AqE!&t88Yr#k>fM}Dm*k71ph$*xlrn0aC_; r$8'%C#?zd91dW78pl2Qҩ)w>cf $ P?_HmHU]Q 4jvCѧdgnmt5oz"SŁqe+pU*w^JL;ܭ$^aZzaw|;t敁Sr~p<q&&iXuhb)Gtt`~}tN˷][|pq@GHßvgUxQud N!4i}(a[4AZ[/]VqNWؓl< ֻ<<;NEW+Bpf(74s,=tӷe EB,;zyT ~c4[Lws`'h3V{֍O)dnϵRfLwCƏ\47=EV#>!c 3v1M_xrH=jĩwlK#dq|9Q\zQ v#rQp/$`1S&nw0M"{%I/T)~:~Z QLPau} OYza~A0y7_Q=*h%GQrl`a2R/Q8CǷ0_q1Ƹ0_Lk\K!X){XY ѹB*GiNhf0 *-E'nwgV:mb`/=ziU vc3% ,_J^b-P2Ҩݪ癙\M7ku3Pm]pO4œ;xW|ȩj<L^tP}BŚ+nݹ=6Vs<5wbN]J嶭Li6¼8S%+ <%ob]MF:mz쨁o3#-զǿJE#A?v`.1ӅO>~#ƑI"2GrrA^_:;2qǞ9N'M$SӶHŧ?ǍE>_Nj￈Zay%26Ԏ9r2j LIX$p501f@hCqb{+"y}2cyY$=Ǎ [PsYf.S0 | gxWҬi P.;҄`NT '/?c.2,Ic*[3!ǰ{gӫ\߭g2QL>2C_G](J'c<~I_w"ܢt'7&2ׯ&Q#>/ƾHWDŽ#}w5,'tJM |/YxcY#1>)wwiR!6gPg5#A]%%m""h眖WqxQ M3+)e4-NoS2"AC-j>LX"|:B484ïmL!qHTTf ]:{vHIljq!784`fMَ82q3ꄂ~ JNs``oR=^]01 p$]J3ƉnØڝa}„!wO-`tn;;{kY7ojX 84LfbPI3$&3),Ԧ1eOZ5FW2cXubήf6鎶ffc(!Hmit2䭸Q?C&ٝ_b B&ی|ς+|)@y[x1)nJYgm&@aH{Lo>[Vϒ|$~CB4Nn\$ӔZwrV1"DTF}EP%V>_N|2rˀ_CՔ DFjMv0^q d 8LMrɥf{iv[ΆɘԤLxHZ2s/z&ovZó\0QcLyv{:RS,J\15|V#_OرߜT\E?O#?Fs& LJ'VMfG봽JBI "t BhBPO%]Z7Gb֑}#Oڂ,A%W&6]˧(ċ) WҨ;ίV+=-^RCt'ciFz~gs){"Sd%zIͲQilB< GJ [G.]y o|y޾}{tDsmd^yPb_ˌU#O-/G4*;=V&ʍh¦И q5[/d /ƾISB˳2BoD Klf*F#Y4Ѭ&Ww7#TLJbN#L&8VMm)Nu^mhPS{>TG?M5IJo/C]VveASMg\3̹-*1Hog $ݒfJ;""sK2+̾ fEğߓD9G&s￉w(Lu u 5B'ߴG R%YfF:] C^huЊSn fRiumr. N7NwǙ?ZGr,bc28'7z! w3D V;IEBbHO4c7[x;ӷVqa\ +L O^ +aQyg{n,&!#- 1!N[y*SB2ztkA<%vic T96y@rzv]fp>QeFVLXqJ뢶굠l-nRx/(8Ɂظ/ᨸݝڥEڮ\^'ۍS(F8:XX鼰ƚu]yK6WVeu* YSAR*|6e9FߘE0$~-Ɨ̤ xVj+%i#s0ƍwAaif9ST ؁[aWxݱA"0nn~dPkª^*#AM"0((-(k[%:[["-4{5pH@ڋQw~&B<\P!3 2MXʠ_[ Q:}Q}xTR-|)HOlӄa=!t׬m87MBݚ^Ɲ33\.!S@IBd )@QxfR2ycgߤ:*2Ct|:ݺ.8ɢd8kDtփC‰asM.\@s *bU6KFzh X3@C?"0IK:L뮙XDLibzS5j94F8v]-+#YY $W X@X%Ls] ܫSmsnE8e,廦<[Q.?U1|=GgL9PABbZq#Zűǧm5Bؽ*%"?01&nƝSfthz9lV6}$S >P6h+4·v"Xx(a~MJי_s΅p(xf:qB#+'YrҲxB,1a$ i1v9gmޓ}M|tWBaD90іu֘G DMe7dzOfר&D"W͎p#/1a7:gl%dEJCm⌕x9?c8}&#ipL,Ez-RSN<-\qkFӜzk}&M&k}'Jq'ce'Ӊg2[CeXǻ1R<&Q)PP#R*\Z8;tJ*R,׾y/׮^V_SfҌÀY'7 V۬sfgbWzanyGJ!Reg +2-JwDV8EIMt~2$ s YI&o]*wvv}$lLb`CּH@YDl4UgzD}T9:%vQ |O)XNIǸF&cZf x}^mwrU4{e˘MjX3±64y4o֙_a127/|GɦM3>d!vw|C;I,M}Q_ZT(/o/b<#R,gwS|Dユѱ;8qc9w̨h<6OU{K>a?͐ZϷ?]y^^l?VߩD](OM2"M 3"G)/T ®SόFj7SSckO뵠+F0iOGMV^[R[UGv]\<5׻4)тk0iDU/>%w0;/HMٞN ́ᕅpI>3ӄk?#*,C{ch4n9md1]4c r"5!Fr)kXF5\xeu9Pۻ@M 1\}c>"j)rit0B>!M[urnYhU"r򼬾;Gտ*:vb3ĥpnj꤬4g Dn=5aºi=?WO.Gɥg\9XOG5(0U\E 5Ў9fG5'TaS(gpG2#ת.yymLڟdXUxHu[<;3Va1I;[A v/\w&=x -g|H(5Ge kClW u^g_;Ӕl;Dp3KqhM塏~mpCG{|Rs)cD,ͼP9 ƍ?e󶹋{·JRp+J\rfj=g8y 42*3ވN\5[\gEE5OB{zm:=Ij]nmL #=**iMlEx+ƜW=KBI~e3eOw)Ǽ{n$86|ub]U-iE|2nM]ԅ YWnER.$+ha3Hl [9[N*Ur|a~\lee&L%G%[_q#&rWX92Ct犷0[<4t4C& 3ƍ ~?57rIw ΕYBs;usRj1?|P@o."Ik?Gm[sϣ3Q'}w4w-fV> e=o$h ] FLӖk,p$Ce{_I=O7%3SeW䅾*ˣv,8B-D3*)U$8g:Ƹ;~ZԶC8U=W詳I\(&H vd3:o%{zRΜg tGЬ\ÐzbT澖N˲,RodwЙ19Eoߜ%ߚl~J<6{—c1u-mP'kiݮA{*e\QR=]YJv"z$B[-z*ք.|"_WsM92=sDM9xp*eH24AэNH:z0s e(UO]t-ygc5PaBBj+ފ̧u|[J bךN2v$\OqqDXxϛm$B*3Qqv" eAEL6G6 M' ҭ$E(]-+ 9UԊx9e;9vF_/'dDY hӑ9Kj{]٧~[~j(ےeĤ"0nXsMylU;#}Bw 2ȑ%)r;{I!;ð !/y=cN,oj&Vvﵱć 7ٺk׃\91o+UE.7t߶ʴ o7/4X r>ߣO •ivL)FQ튵ި^mYCLcblcqk4EO\>=u G 89ˉ3JsMN>=ͷK{὞_ߪ5>Aڮhػy O!#]:fd־ǿ]k<zlzwوN-5_[{RC=EFJZ`cl}pS_; x4["nP6<ڻiq-LȮ }xFۀyպu ;ubf {&dǶq[adNp2e ֻ뢲=N}.s/*0]0!bINbu(aFpra|;"LZnEv]HNcojlqZhY虞zLHխTMзݯyVp~8نP[5p8f|B ',0Mx^qZ';Qߢȫ^ ?7>/JQl':o ~Bz%ުgn}x׳|ZDx.ȫ䦪&"zn$iRNkʥcɬ]m'e W|_ǣt;c5i(ɢǝg ֓|IE%gA41ZXV/Z)>鞠8Mijop#E+^mL,iΛ>&MOyoTEx1Jo: u_FКi&F]na64lmmJHA[oS]C_ 2" fz` Yƺ9-BJqoF|oc1IP,e ¨`$hm_xJYluP'G7=6rliUd\N* Τ2Nûrp!%e35x6W?7wwb%9nbwq29v? ̢n;ߤF$.5\4Z/+'2>}!qNj,@9P.<'|{b{_j|y*6p&G>\L!~˥2rr>jpHI ~t5h=4e9Ku=톝#Sď.O>^<^s{MMm!E5I=D]S/-4T9چV$dt+镥jBPX*@q,i/hֵK/y f4u|>oGS[qo>K|[%ߧS~YWo_.!%נ;kɏ8"ctͻE2hQy!XE 3P@C])4eˉS#.c;~5+|;(8٣ rd}t'w.cgLzbj";rk9Vce=to1ɳ!~W ^p,X`=UKЫܡQb BiL輿(wɨDG}د&ߪϿ̼m"b0j~1ХYMxgNJ̷'sRIYD$LمEYy0?3>Y-GلP4'PÍJ-6~UMok*\!S8dq̦Ƽ$$jūVZ2W:ؒb-B̙GaQd !y]e񓻑kb I1aT𤮍+Ʌeio.&P8i<LJ*e#q 8>vj]1f m<;wb]:VλB zt]EpCUj}S'cYѴ dw>{HOPۇH-_ U.Ųu3Oҕ}n,g P/.Sv7"ȳMSf|sLYF/\dpHPS ;o4#~#BqƲnh_olUrt}w=OZ FpG) >O|a]V1rFGqG3dl$Mtw]M0X0 ?~}B,muЖ_- &1Iw:MmQ='KCPsX=iQydSalTe/ ֪(XP11+5%!f}{utڜWvXjaUB4˦MG*xD[x7^ P*4f|9޴H1# @4=-əCxj' $~sθ'~ 4| ᰣ/K73i3Ӎ䶪Uw<(l88gc1[GqiDR Y[f< j'/˞w 2Sƴ W4KfY઺ڋ/0LZt-ڍF z jvVJSvHQ.ڡ"9TK&h& 8hC-!Սֽ <0Akn(FbYu;:՝ =8.jimhjlP vfux듙`޾eqQ۹O3gзoR'%5yv\ 0I7i)5 6BL*_$[3EiE$;wFvqݴފEuJR߶pɰcc<ݒ$FqHe7*͸2BB!{rEV`Hzr< Ilfbd〵q–\(Sw7=6dIJh̩cKtU[YcH6㶱"u݇_y"<ξϔDhW!3VP Z{T+!|Ѣi _c!cK*<")d0 pՆj$r3h96T[,W8C)2  &FE?9sgrq4K‚(Cpݷ>_`11/12g6:~$#{ŶA> h}(s g~P"/ep[g]myՁ5E 6KF;7<-=Z,MvdH@rdGD׮Hy|٫qT\tcСߵYQ#sedSIQrɩTIg uxt=Ulg 0.4'L'>ݽ=ݶR9a)c'sK'BCxb @e)]`Hb?;CHQ,w:woI$O[;P6Qz"b3>GK7Fe|D o[9CAt#уJCWB[-a6SN>yz*c oDS&Ѳ88 @OcV۠JZ丫0upy'*6)7=:8h[<Z;O7:{vYEWAtxVE٩]Ekw,DV˒%+_Z kL/ooewQ֥W41)tr3 &qLϭ-DONof5Âmu+Go͆}!1#;WC e75{a8آL[ 5%JkѠQ"pş3XYf "[1k (%Ezi]/IgўpExL'KX"! 4eEbL3FNi p ("JJ bcr"s  2)V=8]KCh8%N$%qw O >:ߋL$%ȚLRO)= Fb'2I$U)>ܜN.3x3o hjR#?I`{|Zd"ޣ /;p=nMgU=q^qN/"`V9Oi|R>A_4lx6B2\'u^cT땘+OEu0OyٜG-ޔ!>L wdIyODG?ƃFugdq)P;|7XU'(e͡6KQXF.[_+~9pu 9:6y Dz9~%go˳B*,(ZTPr6F#pNۯӾHdv0 fjыlwʹ>*i;W8.LbҚO81b &o=wlie%1rWOᒣQ\wQRV֝lz4l|;K;6.j`I#+pUBMlrRiowdnN:rg[]'%p}-jjr0ݗ%ajA"]t+h@H\v"`ݷ}-(*El:MI({]~g^F5sv\|cUT b = *DM@ddfe &HK{1c:[m<נR*GKWl> 7 鐥\ ng#UV`0hS8e7ЫQEUGGTb8TgܕuJxh.+GuVDm: JSW΋Bia .Jj4a\mmWq~v4m*4|X[ 4,)h,Yc=Y@額=dx Y Bb**cI8Nw<=Pz&I"Zj9-/}ABE5J#Pag65[eHȉ`! dDt=qjkn"rh-6_1K |ٱ*5um 6C7S z>Jȫ7z=u7Le"xBrNsÄxgrOs7wR'1ۭxȿ  N2t){z>vw:o<.b<0L⇮Iꭥ^f1YifG3@CuˉGSLeI͕Ꮐ"i>/t7u i Os}hY2D$((Ѹꥸ.f&'rJ"Fݯ<):/O;W%^Iֲ(̐>%k<#ifMn ژ<kpL{dF[nuݶQ5fi|pq, ;"q|Jl?5p+fX49"#kЫN[ jSn{.G[dqN_X|ښ9 Vܦ_y修oFDӅ!Coeouf/rP1^%.mΜv0fjk6IGV1NiF㟟ۏKqod\VQrxϟMS/ cie#2GO1=,G".eE g]j7wG1?pd~  v9U0xսQ8뫳tVFVPȒFŤ{|{#]̚H+&tH¯#>;u049LDAO$ ȇ$pE D`4wڍ!;5:V~xvu/'0׍`'9An'e8M#a\[%F(㇘*WJbȳj_}uy&5ء۱S"Q{y]\zq8лsVO$'DuZyS:x~pc]:Y?O/⹿/Ei5^Q=*"r]s|o YZ͝vhF;?/o!޺L= cN+AM $XvYD˳)8xws(὜bώ5E)<_}bVc0̡݆ymwX#&^9txFPM raK ;o&uyg܏\}9yZ2`,{|uqLՒcɂdBL9d3^b~%UDjr`H:+;Y|l.F}xh{!v#5ȶ¾9)X{7Yl ssEK";4(;zfȜ!q D7}!:~s ۟غ;s>=!&E;̕i=w9ګ'wmqH|("~5s{j̜l*Ĩf&E-KJMK92Ӻ'X_ t)A)~-XgUI_Oճ۞=AZ}>E>ЪŦW}/~rUr 2M R\ R5hFIz 7B,2r Ϲqs^=(Ou;~~',1^t,ȮK*^p 1(M8"|뷌sg]eys-R|5T̅PcL"/謭C=$֖Wx~n߻y}8c[s׿`[~߈SuݞZ2@@IX&wXykpLn<Ƌ|{^,_߿]?:ƥ9 R'Zw7G;}SQdsGOmw![r0q`NƾLJoFssǙ>#d,t[2BlO{'>vvo?5MgN^Ȕa^ʖ}~5δ#v vNvb7eu&<+oN̦L*PƩ& L7Wny!y|hؠd @s:ძqsC#/ᄄ%'=g]LF=_K+1ZJf[,HޭYP@L;H e[2ʖboN?_뜽&w?լF?f>8%׎:x|ń i/-0:6 ʋ놄TO(W1̺ieވIdROͻUHI#Q/+r:5t^bpF9H!k_Qrv9]uЭykRn9 >V?hie\;yҝV?$pCeGx),B-#֤b^Yf;М"_&vq4 )~2Uƨ$hH_eWym+*]2OE?NxPm"ospiOXC+t2-Zt JI q˅7 k~oLO|f2 詤k4J#|/Ҫu"}qS2>dY<ŠW~.SCV)O1^ߣa=u$:|5#<OQmIJ-ZWz7'wd7tQlVQI(-|/EHDd)]Y`dAY˜5-d!7I ۯ׳TkXDY*nji2_S / 2\H|Z <={1zZ%&:KΙx ɹmGݗIKNWdrlx6Ty`;ųѾ !:!̝dY-sDu6r7<-ie faS3G& !T`yr`AY =n6Ht;y\h8wwk*\צ1o20FEػQ{ MLi(n) VLA$ 4:Z&5)+՛18v)Ƿ-BYrB*.8]Phn4BɌvG#:*kDb;rKprK}~RZix&NtaHٚ6廦*m`oK5?33!FC=>ߜfCg!W'Jp $ 2Ly4*5Ƅ%tM$w<+ri8' H!צ ?ϧ -׮2鄽q]DlZkGb18g7N(pbWNsmzY] O8˟8qǍfh.9]nhOvl-YUn#ó*N*?^YZ#~z]>>HCc#_yȎ#^,$ߝL­=U^uGV6pٯvN6ICF+|#|](/HǪ:YzZ_JN |u ղh^ڈT{7ӻwm1[)8E5h{60ؐWE?]{k3]M{ϣk/z(́Jy[ |t9uKчoxSU-eMk^Z9课%pZqqo'4H%ӆ,j 1|vi1< ۷MvS#$OZ\~ yJ}}!r4C >ǀ>$7 O毉%nr*_';?X晠`؁&̼^EpL.x&Gᡀ*זǖMCfoU޿0{N߰w=VV9NrN5v/ S׶_%"(ogZJv{G.Ƥqص[y旓2\{J1/j5m䵝 Ϫ@ZӝHTAMT9}U`".> n?/wo2w:57/,J3"#9\y*7nLhU.<2Ry,Ї88 fo /vlqϸ.b7 _G*e4;IKg1OB [iwfA+oYVD}mmZ==2|URTף:Rթ5ɩ 9鹞;@T|`3>{ r;/4Vf ;.: 4՝k.s=5{yW;Cwu@o Ӽ׮.qtX~}Jd/sTu?7wJ/!?۷*akVg׷ݖS%qNdw~,{DI"L 0@ Q)`(*"(b&J"ab%MBD`Bp=2oq#幾~ ?{sJӼ+A͔9>Xb~!Ff0#RA7 Wh-nuKLBQ6X0T!@dJ1*d)!BdQkM.A2YX<J34 A"-`NFq 2ABR% JR: .SBgM`ƥP2S!`Rߟ *IU'sH@]!ɨ& I&n"XPk1z_ԩpa4, eނ _w>,4U锐c{֢E>cg'to[ǞLJUDN)]Ur%1yr Vp{Ƕ\O{:?%?'˳\LAUg{x`rף}4amҭM,;cVDNk 5/;\!0>h;EqFLj!9Rzk|DvI"mq+cg jfuFUos.\4lpL;>;nkꡢYs{=z-M =[z_x7HsK"fam+<˺T1Z{#>#'gNHCfq8x%3-ۿqo6*E%!aIDsk|Sgi/Ћ:> FPBk8EjJfX&9Z 7}?YSw#vGӧ!B}(]eT췶/̫VU.t;-qo}suJ<PsyLʨC/GГv;:a JSgyH=<~^0ccF[MY}.m>?g7Ȏ} z/5uS}.N'ue}։w;_-^e[w<8lgS=3q櫽?];ZD+*scJEO\W.|m$WH'GeY]\e 6Jun\ geU:%[~.*bLD_)~?{lJ#cnPkRQvG>+Jpq=<9*;eNGYϋY[\&܉RpAar?n}|R=߷ª*5*aMUI½⥫49r;vA1|=gON]S/a<7R "ark?^jyo!e!57{C^|Ztzxjk,Zɡgz /l]GD!$$I7gwY.#RxwdrC&C3MF?0 q R]`g "[q(FNE}D[{]O"(}y`=hx~|AENg}~mHS!=XT~2P C 4D EC[|4ttڵM谆=)Mc @*CҾyYITgosYRsG%|Y|xzDhT}|+726׶@*:7UkUc}h־<iz ""9[xqh^ڮKzGZ=ܮH~YUZ(XRLM4$͠Ȼ6rxW~2*J0w_?oRju7 i |E?w2z& 4 @  SU7 A#ѺxHk]\6d 5۩mF= JnZ`JҷK`*LA l*#Jݧ,5EI%Y' "H"i*"$ݨ YX먂AOdO+LAlߊrP!JA6mU^UfdmjN&PTANIC#dʃ1蓕fffXfUUTa2 o0(8+G#!l#}-`UenSJS0TSt$*ʖ v58L-VHxεDA+OC]ʸ[q`V"Z04zoy̙49ζe"i!Ƃ[ -)(Q 11e];SrNPy.ス?0%VA'@MHn?]1"5MH$HRSJRR`&s)ERt0 C;3nPoAΦXXSTmU i@G1 )t{bj+E)|wjsL&Ն?;g2NNfs>& M<ݹxvB.%0f4LZfbxm)BnyI(#QdFJiۼGF1WHqQIڷ +;˜'GzM񹡎4-1Ȗ69C3} 6rCV 5e%"m -s 7j|ͥx3W)_zr'Spb Nu1CHC`Q1Q.rILa@ 2F)a@#MDN2 (tCv-jC z6m1UѶ{& )"+_1jTq,CEOsɞ[*#dV\h!FL9OŎ,n1|HѭP=exR6-Z=z=⚂`$i*p ^HCiPYBl\+P "B03!4!!7"О1GpE#3:mddNN1'D q# ȇNlB1D@$OJSϡR30f`]^G@d`F/oNG:i#otGK)$"ygQ|n+Kj I*&<<5N{8FQd:L\1[1OzkXt<7'b{,M3- (4(iwp"cM1'fuFʕ3 39ik#hFfg03p9+2 a=:Q);{+V0?sn4Co}8T*b(-m 9oQLQ 8btHʂaCG=4KYݵI14D̄0ֆsĜA:Gl# DC oR{ >8Yvxqs"b*"! $D(R(ć ztp: qYn6Դ?>6 ʨ7C2up+ct}C*R+u 5[PЀ)1)Z: 9 ÞV,)yΏ2g2$R;Yɳ1d!Ulե ۷={Y2wZRâP F>3҆|Oމ3Xmjrd6 z NYZ^#?AO$*|!O7  cEjgo>Am#QyܓG?ee/"v&h)N'rgc yeG Eq`hPSEDfwTYL VK]eh:*d1Y91)s Ĭ$ըcTIs Rv NN# :G-.PZh D  .؍tvn.G 2@nR#j \ N>Q7 I*%swa/,țܩCcrM]SWU߮xCu~=tLIDGL^8(z; Q;kM:exǔqs壁rF/Wcal~㵛WȎom' JJO(Jzis8lhup;MyDlF}Æ%J.~ޱ}3wʈ&yipaZcIx7kLvK\9"&OU׏]? z%݋:iiW^rI&{%$E34|fkomWA3XuF;Џ5nD_YXX zG+eO+Oݪ'mY>wz.燀|Wv_19z|0Fg!|'1 ]{y3!2ag?%u 3$M՟ͲE7a6k_)C-m>OLDy8F~'܍2s|w_}!F=s$w=_~=/܇wqo@$ s`{~Q]dG-^WU<=PA+g8q:=G[ءH.);J>oI$@."?[@m(]S+lAzM9FKL y0,.kljQvi'MPxfOFʺ{lozˈ~+.O;`A4GRUKBmhvXv1R<8D]4(gEL3O>q?|s7GK7 )uugDmD7\\\/1GU۾Uo*D@)qUouH!3>ؾ*-ÐɪDzF4OP6u.48 sʘϘ ]u@wY_~n{6lj oI'-l[ӻUZ7t9ꓚRqVI&9֬@Uk)_ ]|X/>.ͩ@:>1v3# -yu)Ў#uF&."[^`iW BEw04m|XpfSÁ,v=GC|$xOr7\ǭ֜ޮBލBeܫjoo]#za+Zt`d+?nTobm~ѣ0L 8+9/L9G> ]ܲTj¨`o+/XU6dv=Uai&f;k`mw* $ޟƺSD'>9fJ][%çuK oMa3q3hC(hh&MqRRnQDWimf c&(2Da9{ X0#wM&.ID"8 a"  Fa H# -:=;q<|>S[Nd_,Iq:4IOH14A0C*_XL?asadLR qc$8& WQF5S#LIɬc#Fb$I8AEU&ɤMØ ġf98bMpL,*(·h0)M;B@L ŘdW c\S Biɠ( T5Y֔8єj)JHb9)A(H[X7& @Ct ZqCdKStEP5?NHo-FX?8z)v`P0C!!IvgL\6sF%r_^^“U177j%!& )!3NrPcCˆ3 CѼLy,(ZAfޘ'WkoYLрf)/K9h02X'0?͚MDZ8 M m}D4LV5x&g G{e9N>p$gl~ x:yS{ b#~e4GlMMnT*.jB>]&%V 16<}ڻo1 h(Ѷ 3?d?mc{Jm,$ɩRf34~~vM~O9d(~f |hm5c٢,vn#pgsyQ?EF52&.^%#ZȩyT Wg 1Ҵe4Dɮu d rx9x$`;6ŸIX.ib)!"PH>6婰ͦT{>-8IAX)0bb)#HL:`dǩpuI40uhInGAY&1ad#3dL*sIAJDF5(dˎYeq8Ի1pcf2j1i# 9$:Bِ&ޢ;,@8xn"tΛ;RCm`Z4ɐ3hHJKxi&b`pݭ$8cw^tj̈QӲIxgw-bZ2aXGݓ$f0Z8b}"uW|iI vPn}~˿Z}-S50JJz!8d􃙩*O<hT=+N4j m Wj=z'bAGt(8#NICN{<GrYO"&ǔGtUF!3Ri ܓd@tz}ۃR8)(vܡЃGw NA;6D^ M:iy×:-b !Ci^e}{5 .vGNӦ%t^+v&2 ߤ,'h݈8W #.Dz >mfS-Nպ2;, qs a7g֩8)UAnVA=Oh`?,ϣl_㿵Ǔϣ1n||\+9"?FA[!h;0{KG]S_)Nl7{8?:<ZDp2 [J# ZKzosyr{ "!mLfBXQ"iY 0rō ƩaCӧB͵CxAXN! h`s?t15Fdc3D[rçaK-jN%Cn7azTP΀i4>bJdxt'|js@7rg 6;["binoss@XO,li}eXxeP s ϵiVǣl*(_>LSvmj$40;5 eA؇wBd@TeLF\ ;1hʜKҿ ag0fbL(IwFx8BQ[qӪy>̍YUBfxwX?>1LlORkn6Eݽ`J1N?df_ k Zsy!M:NT8m&;$PM4~)?Ҽi ɘo&7ᱚ8!tbćTZ3I#+S lHbs8k>zXlﯥ9x<,GmQ08K1ӰH?47lLe"A PsF[&/sM&_6X4.i"mLD Sv>M'vIv/LxoE …á U&_^>/x 44.AHlDڴv i|d]A@/'OW*K]#| b3poiYFx+ mR\$ױ0N~g( ƍn>I h|%?h0 ?ęaݰ\y;c|&cN5u8%}0"Z:#AJ^%O%û\2cPDݿ^HoԶ̓=6 Cu.;AAR_3>v(eѢ{Tt` 8H`'҅¬#C!0ف GAiFMiju$<< @hBx~?>7Q;Ui/H~.aR&= H~HB#T޳n nŲMz)ʸd[^?I'SWNFN;5cqY>5N(;:ijmyvW~,>$xƽrh\\QZJxQvqNץ\*m9U#}F'q}""EEOx\g>c!6zy9gou5g36"c2Wף*⧳zlmy#n.Z컮Yz;8:WjSnDn)m_2,q#oq;w8٫ywV8kg[sZgr.(Ɨ*3/wp]W9:>rk.(u\E]U=ଜ*xꅱj>ʁڔfQ_Siv~,CÓ8§+(3^)X׽qK^rga%Z֧w)Tюtwd::֊zLŶy!S9ϭ5T|P^Kq$:gywy0vmP*I ƪG"` rlfp#}4':tkTCF&"x;a˟S+_)Bˆy5Pw%کCZj1M鯗e|Xa=ף7k/!}ks%:H/U vǙz1rzs_?_kWf4e^؂bi3d t]a]+!ei&@ ?, > %eŹnhԔ+'曜Y>&8i~We4!)g6L~Zo8ц~.5W%2FA S˻XOdC$<Gm|`ޑyS3>~inD,A(\ܫd8]$+TͶA8jrG]37ܘnOonLj@saQ y|gw` y8gUZܩ7񓴾:×m}޴B}[_/zSԸzB\ydQK/,'Ӟs*K`7x"dGsֱ|FO0BP[Uх/ӶprPQfmKj8&َqӒ7j~kC5\KЅ?8$MԤ7nI:wJVwHp_\㝩5fQ%;Jw線5Suc (Ws٪5BUʪc)Qsl; Z R{K-̆8i =eGxEbhʃӣ /^kyzOߞ$xj=W/)6G1G5䪮Ǫ"NZprG5NC:ZxHܓ-;K54fN B씧v=/eZBK,VWHx c7+5-޽dy8קT꤬\?|NOW)/º&ߟ0<߉6ϩ]>]SD,$:`uB<9%m^y WAAT5Oge-YhSDN#9b -Mhqܕa=aa1f8<1&shG{Xw- N5R Y$w?u̻EDSe凖n"Θe m=M>?G7Kl嬴ׯS9mXm}ò:TtN5gRn Țg4~O5iYwʉ@A( #* u|><ȪoNV(wT{:QZ+ =ɩCn5}ń@ēzy]Ҫ_녆xl2blyS̡ޞ)Ki"gY{j駛˸l(vH%yzG0 5[hIHds=ww7g\JiD͵7u{g6UIV&$/{1fkw?Ť,s? UqGS3 :=qڽ}<;sS =_lnE %FRzvOEKi#h­_k̞ ,<}_ IiGU(~Ĝd_8ɍ83Y^.cs{DێyMpmۥ UF 0n/xtc^W?(I8m~GXہXbH,%eCôg~1b<pdxCR~D7՜s 𵏶'krv]1T`k[/CL/‘M2a7ڤܭڤז@FZ B2UqD/ynkNsѶYC W?[ۮȺtIMyVؚvk.6]\)8?l8|TKCP5bRKy\Ճ&d",qFQLKL:*ٖbQ+v&)CtRĊTns2̆{LZ5WW7R,X1vIR][x)MVJ2^ (Q2C^HӶ8}یRsb#:MV{8փg6jH$8T^\QOi{j6ZykNޛ1T~C vDp7Q[܍7.CFh1I'2xu-#a$BG~i~;.úH8V5>nڇ/@]j5Or(g'v*ءqo*J<4.Ϸƚ~O^|Þݿ{<F+5xӟ_ T^w䟳zD,sy~T`w(~L:`XBJJ~Fs\k*w?N~.sΧY!V|dT`y<@ز>IG>胓7n+h/ ;?CuzF:wZG 'Vi}B-MdS= Dr-%S_B.Dhj k'mBmJ_V;FUgud3/Y e]+rn 2<,֡E'=>c?M<=axNGY5ۛ7NBdRj\)y@ln6'/6̱W}/ţ ==Ǥ14j+~̅{rJ)ێ쌑 ٪our֣ӻ?,!dP#=?1m}1I@F'jC^zimƇ.@!Vڼ|ş[bcfvb2G2!Izȍq&IuGp0_4ڡMl>5I3g\BgѷjZttlgj(Y;N j+μe"p&*LfڳlUphMXUY똢@ED[*y c_txzf'+vai;Eb_]^wn7IA7|) )G)0@_7?DHt+Tt€{T&6rA'mtꏥ-{$i}nXc\I%fdP>W& -0ɮ=_?4WW|a}C՟]";x?g3i]_Ϲۼ =޾xpK\W6k/t[$/Gf﮸mpnw//uLQgjO\1]ҥ\Z[z;gʕ~)ڏDaY#OxsOx 0Po-ԉv-hBB0i %|@g'/ٍ?w[3U_ JMԎR>rПrns;> :t!wL<`Ü,q N1D3AR'X:ll-aL5OFNT+v>VcN3Q,ŏGfPǩzLbMGgO;PH)9GR5ŝ"m!ja0)Rlh~) P;*RL'>| s6c#' bSfY4!ǣ ;i *`rwn*La#MALQJb+6n4>m՘*VjG[+Q Œ!s4xrQ'YMVh:JJX<*4;6`dwaɮ4,kF^2pL A#jONFN"8< ʷNYfӗ$