python3-executing-1.2.0-1.oe24090>    f ;G|`u` b _dRe:mOv8Iuа\Hh<%f9_MM/MjVZ@cL,́(Mƨ""JK%7O`^z4XȯԱ˜[kO."[VKޝ4G|lW8OX^%8p=g=2?2d # jPThlp 0 d   % %4%&&&'0''('((P8(X9(\:(F(G(H),I)X)Y)\)]*@^,b-d.e.f.l.t.u/Hv/w0Lx0y1z1d1t1x1~11Cpython3-executing1.2.01.oe2409Get the currently executing AST node of a frame, and other information [![Build Status](https://github.com/alexmojaki/executing/workflows/Tests/badge.svg?branch=master)](https://github.com/alexmojaki/executing/actions) [![Coverage Status](https://coveralls.io/repos/github/alexmojaki/executing/badge.svg?branch=master)](https://coveralls.io/github/alexmojaki/executing?branch=master) [![Supports Python versions 2.7 and 3.5+, including PyPy](https://img.shields.io/pypi/pyversions/executing.svg)](https://pypi.python.org/pypi/executing) This mini-package lets you get information about what a frame is currently doing, particularly the AST node being executed. * [Usage](#usage) * [Getting the AST node](#getting-the-ast-node) * [Getting the source code of the node](#getting-the-source-code-of-the-node) * [Getting the `__qualname__` of the current function](#getting-the-__qualname__-of-the-current-function) * [The Source class](#the-source-class) * [Installation](#installation) * [How does it work?](#how-does-it-work) * [Is it reliable?](#is-it-reliable) * [Which nodes can it identify?](#which-nodes-can-it-identify) * [Libraries that use this](#libraries-that-use-this) ```python import executing node = executing.Source.executing(frame).node ``` Then `node` will be an AST node (from the `ast` standard library module) or None if the node couldn't be identified (which may happen often and should always be checked). `node` will always be the same instance for multiple calls with frames at the same point of execution. If you have a traceback object, pass it directly to `Source.executing()` rather than the `tb_frame` attribute to get the correct node. For this you will need to separately install the [`asttokens`](https://github.com/gristlabs/asttokens) library, then obtain an `ASTTokens` object: ```python executing.Source.executing(frame).source.asttokens() ``` or: ```python executing.Source.for_frame(frame).asttokens() ``` or use one of the convenience methods: ```python executing.Source.executing(frame).text() executing.Source.executing(frame).text_range() ``` ```python executing.Source.executing(frame).code_qualname() ``` or: ```python executing.Source.for_frame(frame).code_qualname(frame.f_code) ``` Everything goes through the `Source` class. Only one instance of the class is created for each filename. Subclassing it to add more attributes on creation or methods is recommended. The classmethods such as `executing` will respect this. See the source code and docstrings for more detail. pip install executing If you don't like that you can just copy the file `executing.py`, there are no dependencies (but of course you won't get updates). Suppose the frame is executing this line: ```python self.foo(bar.x) ``` and in particular it's currently obtaining the attribute `self.foo`. Looking at the bytecode, specifically `frame.f_code.co_code[frame.f_lasti]`, we can tell that it's loading an attribute, but it's not obvious which one. We can narrow down the statement being executed using `frame.f_lineno` and find the two `ast.Attribute` nodes representing `self.foo` and `bar.x`. How do we find out which one it is, without recreating the entire compiler in Python? The trick is to modify the AST slightly for each candidate expression and observe the changes in the bytecode instructions. We change the AST to this: ```python (self.foo ** 'longuniqueconstant')(bar.x) ``` and compile it, and the bytecode will be almost the same but there will be two new instructions: LOAD_CONST 'longuniqueconstant' BINARY_POWER and just before that will be a `LOAD_ATTR` instruction corresponding to `self.foo`. Seeing that it's in the same position as the original instruction lets us know we've found our match. Yes - if it identifies a node, you can trust that it's identified the correct one. The tests are very thorough - in addition to unit tests which check various situations directly, there are property tests against a large number of files (see the filenames printed in [this build](https://travis-ci.org/alexmojaki/executing/jobs/557970457)) with real code. Specifically, for each file, the tests: 1. Identify as many nodes as possible from all the bytecode instructions in the file, and assert that they are all distinct 2. Find all the nodes that should be identifiable, and assert that they were indeed identified somewhere In other words, it shows that there is a one-to-one mapping between the nodes and the instructions that can be handled. This leaves very little room for a bug to creep in. Furthermore, `executing` checks that the instructions compiled from the modified AST exactly match the original code save for a few small known exceptions. This accounts for all the quirks and optimisations in the interpreter. Currently it works in almost all cases for the following `ast` nodes: - `Call`, e.g. `self.foo(bar)` - `Attribute`, e.g. `point.x` - `Subscript`, e.g. `lst[1]` - `BinOp`, e.g. `x + y` (doesn't include `and` and `or`) - `UnaryOp`, e.g. `-n` (includes `not` but only works sometimes) - `Compare` e.g. `a < b` (not for chains such as `0 < p < 1`) The plan is to extend to more operations in the future. - **[`stack_data`](https://github.com/alexmojaki/stack_data)**: Extracts data from stack frames and tracebacks, particularly to display more useful tracebacks than the default. Also uses another related library of mine: **[`pure_eval`](https://github.com/alexmojaki/pure_eval)**. - **[`futurecoder`](https://futurecoder.io/)**: Highlights the executing node in tracebacks using `executing` via `stack_data`, and provides debugging with `snoop`. - **[`snoop`](https://github.com/alexmojaki/snoop)**: A feature-rich and convenient debugging library. Uses `executing` to show the operation which caused an exception and to allow the `pp` function to display the source of its arguments. - **[`heartrate`](https://github.com/alexmojaki/heartrate)**: A simple real time visualisation of the execution of a Python program. Uses `executing` to highlight currently executing operations, particularly in each frame of the stack trace. - **[`sorcery`](https://github.com/alexmojaki/sorcery)**: Dark magic delights in Python. Uses `executing` to let special callables called spells know where they're being called from. - **[`IPython`](https://github.com/ipython/ipython/pull/12150)**: Highlights the executing node in tracebacks using `executing` via [`stack_data`](https://github.com/alexmojaki/stack_data). - **[`icecream`](https://github.com/gruns/icecream)**: 🍦 Sweet and creamy print debugging. Uses `executing` to identify where `ic` is called and print its arguments. - **[`friendly_traceback`](https://github.com/friendly-traceback/friendly-traceback)**: Uses `stack_data` and `executing` to pinpoint the cause of errors and provide helpful explanations. - **[`python-devtools`](https://github.com/samuelcolvin/python-devtools)**: Uses `executing` for print debugging similar to `icecream`. - **[`sentry_sdk`](https://github.com/getsentry/sentry-python)**: Add the integration `sentry_sdk.integrations.executingExecutingIntegration()` to show the function `__qualname__` in each frame in sentry events. - **[`varname`](https://github.com/pwwang/python-varname)**: Dark magics about variable names in python. Uses `executing` to find where its various magical functions like `varname` and `nameof` are called from.f dc-64g.compass-ciMIThttp://openeuler.orgUnspecifiedhttps://github.com/alexmojaki/executinglinuxnoarch{!o }}``8MLAA큤fff f f f f _6Zf f cLVffffffffffcLVcLVc]/JcLVf bc9d01b857ab1f7759c1097e4bf32b494df42c2342a983a5c96321430b47513133167642e819421a8726a36a1dd125ead02534746083f59ff8f409a65363da8bf725c4ab24a4df6cd366ae0e77c745b0bbe63c3d3cbe58204b22da887e0aab24e1bdb2d376ed588191c1143c7f7efd164f28384dff4d9d99409d1ea01826ef0e01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bd4a14031597453d3228ab10b398cef9cba18cdc185f0f5d032e770328f0a09186fd46d7f736d4aa734fca6a4e8bfe5be76dd28f0341948a6da9f9770542c7f9831efd2e4a58d69f6085252b9c9b840eb6c833e5e205853710390720c67f1cd4ebf281d24696788a2ac49fd2f56f4e1686be69c058666ea4feeeb983556084c8bbf281d24696788a2ac49fd2f56f4e1686be69c058666ea4feeeb983556084c8b145e5bb7484360d3b44e5693447afcd1f66d58f0bdcba8a13b176090c4e4a52b145e5bb7484360d3b44e5693447afcd1f66d58f0bdcba8a13b176090c4e4a52bed0227d0220ca10f2d4d243ed9d3dbb4bca475de3f3244eab4d857d3016796385224cf1eecf0a8ce7fe90ce8253bfb7365ce6e46af4c9c1a76fb7f64b352c79d3a9384d19cb7306e37e306982a0c5db879333a92e931207dbff03def8ebb68bcf3a7e1ead8c8df1ac03fc1ea5143caed0ec20e9b1b9f9cf270be255a74bbadd67a502592fc05c633f62836c0e206bfa07de7583ce09981d6160b0ac05ffd76827a502592fc05c633f62836c0e206bfa07de7583ce09981d6160b0ac05ffd76829dfe4fe633e74a38e8ffc616961e403b22d91c5fe13722690efd0e1b65c5620ca860e842d612e694a28ff237820f6ff97b751d4e6195a9a78c5b6b92951302e2337b3dad13958d59a1b4bf147164e9f5c8a91ad56815df819264ac0364c07d4fe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e466e563231b93c2724a8b23e7d46f8b6bb32ea7cff8302cefb8a4c1369f5d3erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-executing-1.2.0-1.oe2409.src.rpmpython-executingpython3-executingpython3.11dist(executing)python3dist(executing)@     python(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.113.0.4-14.6.0-14.0.4-14.0-15.2-14.18.2d,@Python_Bot - 1.2.0-1- Package Spec generateddc-64g.compass-ci 1726656522 1.2.0-1.oe24091.21.20-metadata_list-compact_tlv-python3-executing-1.2.0-1.oe2409.noarch0-metadata_list-compact-python3-executing-1.2.0-1.oe2409.noarchexecutingexecuting-1.2.0-py3.11.egg-infoPKG-INFOSOURCES.txtdependency_links.txtnot-zip-saferequires.txttop_level.txt__init__.py__init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_exceptions.cpython-311.opt-1.pyc_exceptions.cpython-311.pyc_position_node_finder.cpython-311.opt-1.pyc_position_node_finder.cpython-311.pycexecuting.cpython-311.opt-1.pycexecuting.cpython-311.pycversion.cpython-311.opt-1.pycversion.cpython-311.pyc_exceptions.py_position_node_finder.pyexecuting.pypy.typedversion.py/etc/ima/digest_lists.tlv//etc/ima/digest_lists//usr/lib/python3.11/site-packages//usr/lib/python3.11/site-packages/executing-1.2.0-py3.11.egg-info//usr/lib/python3.11/site-packages/executing//usr/lib/python3.11/site-packages/executing/__pycache__/-O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protectioncpioxz2noarch-openEuler-linux-gnudirectoryUnicode text, UTF-8 text, with very long lines (465)ASCII textPython script, ASCII text executableemptyASCII text, with no line terminators PPRRRRRRRRRRRRRRRRJlS–8utf-8ba7cf0533b64a209e6f4752b3c339bda3fb678db6d374b57c714374e46a6489a6f437db0f1e31db4325d841dfc39919be54b0c0fdebc9b559f5f049fef7d42f1?07zXZ !#,{] b2u Q{LY\/8Iy6b=v..!] UWsu[xۙ3EX'αQ6p8_u}&C 9 Tzm{W_bfU!ya~n|Y "0i \U6n9I/e3{ pɒ(͔Q^Us eX †/!>dnSWx"[avMh~,w+3^)fLoј/︧.ƶ2IJt*5 O;V(KgbWp貟VpG脕_4T+hbޭ\2]oz`Ŝ282F0fAN.F=lw>_]SI|hJݾ~vKOڃc@TD rz~Sg[]{(C5$>:R x-XxWQ|GndXO \ 56vqwYή1_!PPYM1tȪkUm,PZbY+J(JkcTE NWt7tZ*ӁeZ%aOEY~C, "dV[GkGGRxGGGy4/s6%Vbţ[t!e+iY(WCsD-/[s|ux}wՕ{Ѫj-٦/%M7{Օ+;ie@a9f"\8C xYn d|ײ;E9 ;~o7ro\q/ʋbлY?e ɰs1Tkobw A 3lJ8a /'0TBHM?iGZG/RM>K>c~5hqwɬf X ݋d1j/FeՄ'7|1o }OwCi r^5/dXZ^#'ugĄ<ѥHZeI};[x`:eD`XZ$QJ}C>5"M(R1T MęC:q/]dh4 2"+\};j g#1i:}nRmco*3n29y3>ClP!B^}9&}&LpeqB-[DW;. fVk0̦"IѲ୫h<Il yQo?}n 75S.B UB? V= (-7].8a0 Ľ_?i>!8^V$G} CzѶLuԯqɂƐQ+D.$7Bp{q$C θ4Fvc_E7+~P .*854}hɇT-Ӝ[Dt߂*7(6ƮAĕ 7qҐPG_}uoywӋ1l ,7$gX *I,Hvu T-5+'r'YzqD{tnlΊ )Z|D8iV@WNC4rYڜ`?C;:ߝf-&10T.H}MoQ0. HyC SlxR%=Ȕ~鶒MK$h@3^{wn oȍ>МuJ "zu!p s1t.EUR¼r^0N!76+}6 8Cz>{v(Ҷ^#'pd>򏗂1r~C+&H+q=clM49ש].#[UA(-꣌^VF)%HL6ٓ5{·GFNA+/Aϵ}1D)}g9DR q~j?YDlQ^p#wy:/üwO; 6S2L3o"F=5!por DlJ3@Cy4@^Yqs|9= R6=}XCbqHv &qNLM/#(8+JN?T"^agfj-6:QשMNWۂƶv+K{Ex_5ۄ˿Zq>!{vCl&KEf@yD֚vpZڲm؏_;ArUV4.=:3d7>'mFy)lܠ+z4O 1 YݨMrͦM8uk2ۃߺ>+~@8l`ͅR 0.;lGİ2;)> DoLBƚnIbKݞM͕g2cEw[TUHWXbZT5PMÙF9sчT 1m dԒ)(-Նʚniu_~S&{A ^x$N|7F3aL:#е*4"!2ܷJ MIWV: J]T.k3 S# 6Je<*ZljWle2$BJB wyHe?JOW4(FD;fi[8cSXY-a Bȼ|'$ 0C"PϽ% Bu)仨\JƆG;ܮ{M"=UD ! Qc* N=ys`Y_1F TsnFXX7eKi|ã1?&V/5(ҠғrzR+JrkS&T;V`gں,p(I/VB{+]^cypciQ$X'D 77Ş4=Q'?aH՜k{jaj~?ΥV CFbueODޡvkx1kagFHbOL]UIYI~A iAӳ~7½.zdfa|j-V~$1LqMנN{?rky~"{eQ4M[{ (WJ<. i+UzMAn9vU!4kY 1XDMŲ f ckNƆ zH*$=n Z t0>N_6KMw!N<žgM: dʴϔ}Di3ܡP-KM5;G{T ճ{hk5K{* J`&]QGnSdAv߾2Y3v9DZ@ V{/Q}!WA]uS}*dVi;A~6KB,Rꤡ12&  n{o7y좀"W}6p> Wû-}NG6W؁p6gs/#5PPVRXN g0ЖjA@V/wx[F(]oh(>!m1G4`:.Š**k+Qru{VfCz*kJa&hE')Ѝw 3s3GfH6S{A^ô"Qـ;*2#|Ee"֎%<*AcJ:nq2H$Vv1[xF j`B,lnv½5S9)cV8Ϳ#{/YR 2oذ?`VʳBьq2L^%-/*舺BKhƉH[

C'ntR"@ZjQDߌv/_HN.gs$;F5x@SfxP[gf,Sp``z(y~m}a-c;ZIK" {NP9>kPEa'JaTjfMy2(#NצNDjv~1n8zO稟`7АdV ) gVXq)Ùe d9a ιθ>\|AuZ9 N(t?&A|^OdNBZʯlrX 9{\tWAo2ZQ;` @kTضv{|*tT۷n/sGC..ԘkRN~PdU ~Nxòqk>}&,>%`kѬ##9$蜹(|N6aZbϬEQIR"D\ ;829D. -FEqymiV)$p f:E"УB PѤ򭄃}_VzKRBܪ%8ƴ6 7z~q-)npj8&@I6!5{TM$p?)qG wRۭ\6ة#^Nw\ؠ#O|Dr5hZyA[ @qQIq``)Qq(9l*sc#|Vbʁ./3{r:^+}`Zcӏ'~Sh ዌguj,2~ ɁE~%b{?) m h *P$J5nU4%LbNļQFBȧs{@')iHOrм17w) sq poƇKvj&},5.GZ|5M^:}pb iS{SmőQ2߲q\PbnYz^ !TUv9 "#J+Wćk Re/ac߶8ՔDMsTpQT(l˪*_Y49kVHdXp53 =(UmGYy0ޗgy!;HfPXgQG]mE劐P\dЈt4Zc366VNw%g?*sΏzsv1a49޻vϥIPGgomk` W5#8ЅN@в*EģB9YK[v ˇ\s>Vbg9'}7ꋬ&%Y22 fd)\,vaaaĴ&ɂF]8Z`mV񛰟-&1x_ RfӴΝޔ-ԉ ;`4uZQHG;' V*tiOd%~uwZ/jI 'M4Ӷ}fZoߏaOo=|:YkbB;b24Ic43fWM9@:%H+zhE"̚\VB\f-捑iưf 8a6|1JUNs^/ .HG7 V ~۷V wHјbYp $`^=q>WI;$c|?ȵ[h͍|]z~?-Kn[dH${ǼgW7)m7C:S@ׁu~9Q$dhm4:5XO-2<$ތzRߤ;u~r/t? S+H)|qqɝmϫuj Nxÿ9r$ aXT}KgV>h ?:rsG=Hb2LhGf4"#/m<&U@g9ˬ*mg8e5wҥ]D kw4p re$PBl!ic^"|4aDo Jr>Yo16ٯwpe>p!šiKV RI&ǙFcGVud kk$%F fk{!q棓_zm%Y~^-]ޏe7<rOZl<iYIh?sxEar: vt\(%W^4eRrQ#%yΞ3#T1W*m,gVǂ CZ1`!d$ިtB lQ?L\ir)u ȼŒ=D8~}܌X$g8+wjSGxXir P.:gc:plvJA`@t zŜolĞPı^taA-H#ٱH XvduL˴TWjNܟF$sd,:mLfWF;G!r o;Gzb GقLW-YYe"`xG')!ɑd=&~ޖGÿIJ%O_*7㰮/(=ܞg g &f._㠁d$(G{( E"ȷ&+Qvz^FQk֞_gHEO`UyAlMG#qmPnOPUi g7/F))%3 #m`1}CcH FFRsk{5%{\kE1bΰDx 8.縏]mUIl2Zh:FA(޷^gB{gN)Bt+έAKCt&q&`4Tt]Xz0RVw&80fjJ Zp&=r\0sZ^+wCm ɚ o5 nEYm\ 2Pg !8RӬ nxҶ'JC>H 4!4_0MSN,ݕKuz3 dJnK߀p.{0 38զ vܹ}-s6әABAg/aIBC8ZU\6;~F1b;o GUW/زlTP~6+UݣK+&Ig[=ajyw:0 Hhkox0ˁߔ,؝C/ʼnc%зŪdl?CpYL?`e&MxӳhA=/k. w; _xl;4/\Θ WL>nzS*-b2—@XN ۅHrA+`J޴8ݐ+eX!F(޲vy9^mO+eȥoBFsux6e_9XALr02NQ4P_M h)cX̔ۜԮx0_H21>Y!XI$O>*vIO4(,Ur]7wP&qy.f;l@l_ڽt9" "S >V1Jdz񿢧# ;xGV٘6O.Т2uoJCUGxŌ T$[wk G/.rW2L4qn#yI%aaL/$Х1A@T֥̈́)ǻ*6eFD+B-#pyOv\l&̄vX7%P߭XQdmeXd;m4 N2tvF. :GX;̹S/Ve M?4Q&D p8Hx.YdQPb*} X&ED9nj"wʂ;!ls4u wٛ[hDu( j,Etk xL_=ߦ6"`NWKgDyJa{7q۲ X)8W8,m^ү]wM"'gψpUWjojDQk8r]h{how5rhVM;,Y=~C[l}+̌7. jsWDtk{KP$AkJds]e8o56EӠ)?"ބqAVˮM4]:+h[μ/8K~6`9UWv%'[)K J"ekM:_Q|JR& w<>c&Sg)աʺ@TPVpi>>skNVC Ff h $~hep-ل+yE(t-䒚h!1K( Vy$CM~tds|vG#b(pA). ׷NobP(&4[3բn4n[BE ^D<^P9s&\/U3A5d}Ҋg fv6jD62-UfP+8ͦ +Y26EwB; Ӏ- FC_FgղVzj9<{:}0.M+6Æ鰕clGJWum7ye9(1c dd̅78mu| |&dCv0EyZmV" bf!&&+TRm)*(9~P.1yߔl0qPџ=}qjPh[3M@y ^JvhIWDܒ-e{ݗAODNV4g S.>;A% \+s.cbH2|-,÷,-}`"~\[`m^vm _zG"皶,ml\(IMY|lJ_POn "L}"QkAN+AY7({I"r,ȯrjq?VC?;ogROitOPk^Ń#!m9 s#_ y5]V-xMU"XgI^3 '=`/LHGtwO4oD@n2v >Ux4 ˹1Te Y@&?gm`;CP6a[C6\P6@22d[$7w C*T9q]:>1seO`!R]z жJQJp"DO{KAt񉁇UGCD 's\Ό\ -tpR帀k܊ʄz. maa=#sSK}]}eVHY|p\A畒$_)eo֌"8{hM"p'H`0<~bDTQo3ٹ]R򈭕s^4%0][t={s.qrOHBK,>dyt}ShrMeNk4k|+{tuttx̔gh=\ N1:G?dClWIV^;Kv+xFωxOnQ|ЉoD4I60M^ xU Lc^ǭe>&*yiUDDVOZ0=*( Hl4(n )pxVگM,.$#7iURQ#M;(iͤ oΑ’PzyT-M׾̄oN%a*K{iH3TcǀƉ*A4Fc]Vc$Rcĝ|/; H؁yYA6t qVm_$,}x84Lc4ri]bJ2}}Nmb<}(H4ՔCQc$wPcYvG6fxPs*%~T*H*FӜNZN*fl+0U[>_fA ,JܔPm\^rx:%o&ZT+a|X<9Pvd%GJf*F{_zRXѡ0Q M(t J>wtcHΥ:A>{ʹAX``jPgFR#&hiٔfsq?-?SJavݨ,[S[{\~.MK=܉ЪkЫ;2=t~Ki9mndBZt'}yXpVHrp_s 1;s^yV4a-i U\!hkF愿>CS③5L*k}9!%aЬw6t8NTk%&`irvW[$A~8N%B}m2aqډ4`J$V>9ie2\CK Rq_@ N`: faT/X5.Ӣ-zwꙍ^!cʚ}=>mU/%{XG읔(.ޜm;{AFZ`Ra%*AqOa,#G/7EuUitW_&O fMF]JJƼDQ+H0e:o429.@#a%`VLZ`V]ߪ5D]TAʙ 3ҬAU%Y[#bOaܿӻ 0k " cOіk MS#r`e(n;}N1|2L jIpX^xDHBQzW中5۷p}:ߑ4ҊK\5eU/74;I xƈ=7%MT,ܵҁ5:,@I"p2.lá>,,ߩZ& 5/^Bu:Ae^ cul Ka(}%ҭТֶE>TS{NivJ)K;2:x$)@`/d #Qs9H($hrحx蘅㺉,O8 5x I>]ٍ^t}AtD6n+:*;)}Df#LD㐨2B=YJ?psGYjE7fK. I[ ~6mtQ&㋒ x+t)*\rTQ`G)pb_X 1Y샴lu hX.c=vG5#$\[? !g?31e^#&yy2K= & +fzlk7j=U?C[(n ژ쫝B(g Bɱ|V5xD_Us`׮5~ .u<%dwsL_˕>65_؉T#pt^GT%_%;7>49@wR77J6RNW/P"2(jȉ[#vkBй;#̕0A5 ޽r=H|hpA4W8YnGы&QK,Z@cG o3%E\<<^S$CJW`rpvQ9و~COQr}~4#O'󬒏vUK ([)lVjnV]5,oD޾a_s73ISJ9/Բd]<4)#R6Z(7JO[_$RA@߶]?(,^ұ?pRXl6EكUA So1ORiL cn6*0aV3{X[v=pAu zHUUujc3!TvG؇Vm@47x]SW^q9"s*Mj%@oGA x?+kM!QnsZdR5bkHvqyĕ]uomh"ߗfµWer࿝,׹z6!PBa&Z<-a u wf2|%!`_Dl01 $Zƒ,ݭ_S6e." {JIJ9'$Y4% {0MEwT'X%CϢ ȐI}L@{^ طKa2s0ko}uH?G 6bY`޺OJRx+zJ#Pp0HaH+ ٫5A3MD鮄r.T5_D UuE`v]6%Z6JيʗH^E::6cb]x+Q%,2K9Im̓, Jߊ;ӵU.#kYv8/ғE '3|>郹BAXڛz<}o`Po'⬻xK6/ۡ7#K8jmzJm@0%I>Y>Ka].ʫCI)4BP/E[q9Տ%ؐ=M9Z2(ysrU)![1 %<v|M^8;N* 4xj{[uԆZt./:zjڴ^1<pɏi{4Z?jq3Ӫ/uvsApUA'ЋˆDF:P-( 3_tJ2V?U^*'ٵ%* dpQ_Bu%ڝpV@ ߸c'dpg !$ CM5 E xG24ђr,4pT&6.F"su|vy |U4H-|PE'Dzi|ۮb% GxZASKT(U[\0g%Ջ0p!)V0: 3[t)2}J-4VAhVzh6NÔu'ń_SYn X\i-Ss5oIGd\~w^EjAറlM0 ^xW[כk%fU:@gB z@[}A޻5vՎ}:dUTϕGلUIgph*(L5 g] w_3lߺ7 Lx3םVXRQ-l sV$OΎhZX NRʿ~.d։Gg&fQؒvve"Ҭٜn`>w"eAkSSvP'N[NQ_3 ւO6dVu=`FX\V: GhT_Aw]λڶʈS}K5ɆL{Κʠ3Xs{`'{"s7g|µrn /|rHV-0,(/WsI+e^9]'iPD O 3boIeÁΘ`]}烻FTRsN Cbj_>x,3y.LCX -cUY+W¡\߄ m!;nusؤRR,#MOiq%1ϱ<`čۺBHK&o[b)QPvpIRtPW^= wZqI8^~>A;s"[_mErqBO(Z WQ{y7?:\(SYLEBSиsBVWFȎ8}%:Y'+')%Czx°DžO*X ^ 6᫃PA-i$8H ޮ-cYua !3 `ˉn mw\Ɍxw' qQ$UvJM$q3Yar&֢oW-?H@3lu=#63ocPy7ɂ3JY/'#Br{9*/FE og0]2_oZPSz_9uؠ@w誤WGdHZ,В{՚bFZJʴG@U1((f2Oō ԫЦHa֒BA 92qL;󁳐ZL)rFGBO[s h،؝NsS15/lQNyy1)fv97jR&1#*P!C­ul 9k2l5h]jjš +&=C"lHeVHݪo!Q+d R nR-uɧʑֳŅm/SnDL`6Âi$}͗qXQ!(Ƈ5+KD^ `J {zץˮxk,bJ[QҌ3nVE(!? (}kB3 3bqp/ʐ&qf(4 94/sqS49Y( ]Fk<5ȎQ@h JOqH`F[C |53E'= -og# DB4e$Ut5%ȸnyW%WFNˠK;.\$.cؾw!n M魨g"}~l×25T=`-N*fRCz/TFmpGTcTzi8iGUrA受]M~ )hx3f uƃe̔ϛշbmIP[UN-v6%d˒MXOǘrA`9'ITSìΛzt5&D߅B R<ҬHZ@.\gʰ1scHO.f7fNx;5}Vj*.~Uq $wλP:V@_Z.VXOk-o#24vbuKS>"Fӹr?A2ZX"qzX~Y8&M <Ե]M?N{tl1{1-ڻ' /L-<*%0Pi*Tg6N1#mWƷQfGt\Y*HrU6Su ?r#Ayhgw$3M3AT3pw+v0K4,;WY=sYbO1ptTAp44Sz3`b"?4ɭXfy\'iPRC;_mb =Q3]`;pwfte͐I*tXo9=pQH ^.xtj: Vc Hp] DžKM]nvC]$U3aMSMk{8yW4ⲵ R$͆}QR/ TbZm02:X^==sJYֺet[A|G܍z8klj0IyPt)X']w\"啍tZ^;j(dnJH  P>SJ"LrwH54o?4xUf}|NpQb;sqW/s Czf{$RJA'*ݕad{ߜz ; iNn=$߭P,'Hbr!OJ%IJ`0 >]8(?(GK›nޣQ5 `locM6+/t[\ Ć_NOg鑹jCG iK\ny,Y` ![+@Pyqw;Ah /9mWfS@|Jim]ƂM(.(Sg0X2'zlK/4h/i܂i vGaad\Jg*@P;QZ͠MizV· 3JБq.̢Ms)Ռ㛛aYCaMW up؇2pY @~Rb+j 53W.|am8\Ouﬡ)5~M.ȁ8$;qiÖXJ.'8H=y=rEgjvu>@ c^Yi)u=/T'h5ys =0WD83h$U2_TPL}W3o=Uhs"zd!V"}g51ֿBp0Չ_$+9ەwB?Y'D!t3<9 /i-rp`{6ט=,4?TmҔf`Tg;cm @.#mr*jf/)uI[ &.lڴ[pd8gw!&fgl@'Wȱbk*+=,1^AC>8Px*ϯ0[Sy5c@ )z WG> 2s—*rnz&l5k\ @%IFL&ğˑb e$/8XA8@ QI83bf 2&P|Wk:?<ucWoGZ|YOQAʽ[U^pcTˎUR!"ۊg)9堾>Mz;&L49,TN;Om,)y|)v[aӨ)Aו=mDJT|7lviZ"}rKߨNԼ.(d|%+zsG4]\[W+cz'C!kTb9dz8B!Jdcgv'hлHCu75w,՘6;ث 0(Չ%C}6P6ʱ]RK 7֑94&~ =N'2aE=L&4|5cFȃvfiTgf ۙvu VXۆoH&b )5r ?Xz)bJqIպ]GhKHhi [֫_jJ),C7P+ Ή ЩRn+xhfC Sߌt5fXfrLSi3KͨӴ$Ea;*ZVÝ]#3@vd9hHmǼyHv^N۬Y4o#ccx*G !{"<4%`}1XqOM:>|KÍ`zM(Liua欀PM$/M*C6Fj$5)S/D/Fuj 篒Ztܬ1=SD-1_d: ieh V\!3e[=NlhC%#VEi)Ѕ ߝ (p'[ xJ:m}/{ vl; f/zTNԒ7($b /EtDͬ beo1] e?$@&C1Y8=6uspRNڳPz,raWq@jHOբ8 P"{>ۉH:'e*F$"[0GqYɞ|Qӭh*1vƅ23sHo"TM7cL CG@WD0*+OmDZ .>va+*ִ`W=1ʵ%2*u2: lEd D7X\cCkgư@XVFxA@p ^;{}ܛˋ!-Sc( \VMK$dmH-w) ""/B$5Pj6+ڤ2ZYhkv)op`kc_nR!`" /i|iBT:bWs~jA(^|/HΞv?p'AR"fSpdȃLdņE2l*.ːG[翅u4vYB;2P|"f`_ N"+[yr,˿7>"6OF'1}2 #kgJ e`KhҏJ8ݢb0pt`$i.nB|H4EWߖ ~Zf4Q.J .NǔJـ%?;CL!8nkA;;*P w\qT|( s#^&ew6LdSюtE5C>/abO9]C"?G)^a Id #\rߊy(յX>E^7SᘆmDV$ёr8%Z0ifWze+)8\:Rn_P7ab['~sAY8Upb7j&MJ>r0IWV6:Fbs-/:CG=ئeɂz׼(Y~} &V@R##]//̑([mc8-Dv硄c v| r"D+YIR͆F*\XuPF^Q0v_b#9Ns+P- D9 ֺuKj&֨pA ϼ/GScuVgyhVI8Q}C眴6@b~yޫ;XLP`wXQ|ahs?QrJRZջ,:tEw)wyrc7}ΤvΌTtǗEӷ=Mm>Ei]v&%)%D ^h? H=3+x6cOiqgeىua;~EH4#D%ЪydZƊh8é EБ]%GteW8qOCMzloTwEm 4fH/xDCB±1ւ4عQh ,i.x^(> f#..smNU^]״l̉UId-~H"byxH[yOaPCmRr<2gШv&a_?R}@P۬Ey)hn3Jx{sλ Tyv}cePX s}+WqM#%rFԨK3H O6Uέc n톴' S<\Iև%ziV^5ĭfb@lswU?Ƶ]V#BR*jQbv&FkЩ*N듐@^O;G&k @ *9cFl=KYFVJ#?FۢB*;&v?D04uw.P Z=EŽ4~t2β=gW̻Ͼ"ēX۪6sJKBG+b#oN$O_$ǖux^AZe zc JYֺY6R;K1Om7Yp*l(˷3/SR#}Zt`0m~d]~ Ӓ] GtU/ߍׯ*zTv뜤Ζ9ߓ.c[bL84=)p0}} *L*㞟3$KH!FBDnf{{ /UĬ%կlftq6!&So"8H6p9hH'Byou_Ρu^d0𼣮ЕʥM RP4>^n6!RIRit%\zhe?;^T+pNkj *;8~@ v" d?ZXkp6eS7_Б zr5>V,  wW\; Fx3ZuK<8ww*6zbOS^Yw\=mk>/<&!:h#sգUm|MغkpeEg'p@~  _ze8T(朞¤V]Mbtb C1\Ϧ㺮4NZrBf3G;}2A*ЏHl wzYtc\`}\ yE eHv}Lv0 ] Wu߀d!W9}NG'nF b_2E3Sړaz/G/Ko߿EG`(.΂uR*Fh]?D3BKy5]W5ԴѣiB#|h_,@x&>~|̠[9|j֖F7l9d2mkZܮ)+9<͝;tfwI{Xc!+a`!$9BlNRsm2_oISVSw)7djrkoc08ncyZ4hO'9d%㊆scujMQus?gRC.|,l0 ',{gɕq@Vd;@ ^OZrWlp/vA𥛵m5 _yy֭0!|26ƈ%B/’W&j4gw~)Z&σq?*?5l(DA\s֥ӊW$Z^LWQnu=ۜ?H怚6b=Z zeھL|'GjB]tۏ.ڇ4ƈ$o3n6?to:^+1GAgfҞHa ؤRU+;dwnA 5k mbm()ǷYY0 \}@*VöK^mxeywCAG5SHKqg^̚:ÿ[^O^Y+ymX y, y"ʟ}dI"sT3sLe!O_|tSQg ۷f1H-[rـY~~Jn,{g3Сnq(&8ɥǀ9aBExR/dg`"3Yt۔$ V;7Lz̔N/Vz8WHܶ z[ZpN`;@-Ϋ…/e4 ܙ+-Us$Bs,.e&KQz-Sq~#,*B-hbWzGh򚆷O ѤϋΞuЪ/ٿ'^4(fa^z5֚ʍ&Snс=r[W{vtjr'|gk* =.oasLأvU. ՙU῱si7&(Z$EN쿱 o$"l9S_[eaH3kU~R7nk=햏IE+rb杩U*GM[,kdkڑΥ6\yMhoXԯdD$@fR{!!삵<8A=.]@zJF/d,rl792K^^VoA[$ [RvR%r{Y5i;<,`eJjUզTxA<+ F`CAbghͯnyĬS\VE;2[< 6z׻zk2-n 4SK~>eg",SXvJvo% <)&dT-Y;qXq֬j(ƋX}9sVn* ūصEn2{b\^#roTZuյ7"*J9a3[0v]E-yB!$?`wNnFILM[_Z/En KxRɘ(qHw)B;eت (xFq$dlr0BnHũ%EMO\e`&>y+$RQ2fNk,_ifǽC^zvsmRiutD]%;us`8¼Ȩ߭N'5Sb(:3=Эv^.cvyzo <%CC{_ư#\F%MeϭR;#2aNU{Y0+]w} @39OJ_[$sIH3^iju^@ܣiLmtws$6 ~;f7uԉo'mX krKǁR%K6l`t+1 Xx i*LCl] )?':j .ObkBJ 60i0%"V_׋5zt*E!8N"K8S/X  C!FEa(uǜf[azh {8Fz`b 3hUK3Ŋ C`3f#1xtO.PoL>p=YtlUPzzB,i7~fK֮T.bxьۘiRl^V,S0JNH7J olbP*%7ǎJvpMe:m <˯^~yBg@1zOVR (2fyVը )<&2v e2+,m(qCH,NW}l  (¹ %D ^h?1K6j]QE,j;wm@0LF/J:SqGAlޮC]$ UUeƉFQ2]`!r@So^Xe#zl6\nEcTMsSA+ryTM:+L`{:ow2z 0t i;_ 0csg#; z{n˗n]O8g4gƮtxH*oU' HpQǨSxqaW՚6}A椤ܨ̤p9[gZԤ!8-T 0Eu48fͱa#e8+~+yX 71pG#KX?2TKeENŝV/}J?@X2FM AŸ $> L5>6-;>1Qz&g4v㶁nN3yWCF@Ch]ĶI'uR "gɟkjƊed!5۔A[Pz_|~R[ | )w-8|X_YZ[!t}[e, WRO幈,/b^K++ߞ:@ZHk\cVML8x3x6ђ|ad$ =b`lyУ᥻<$ 7Sٷ$r*&y;kć8)4nKc\F@]. \Mm|a`-. &ás\'֣dkR@8Aְ"My Af0zK袀 "'71ED?'kֆ_oAK1ڂ5*u}_J _NeV dq}:=yk>GPFsruWA Hb Hc^gEM׾@;",/Y3|Yy# spgf6,vѭZ-5OGдk*U FKBwZv-Y XDuMҲ>Y~LSNL,e1m+ IIL3 `xn!"ϼXo: lԚQQxlwfu}"宭q\:ΓykBox`.xLWI"$-ҭʪ^z.ϡZ}\j#ˌ{m EPw&K5&\A$/UMa0nxM{  Cb.CkY8Z9'bnIIr3nJӺ:Pf G[څWv n>}K;xUi+%0E؟e3J &\I7CA! Z}GpX,Ma2?Z<:}{ yݑrO u\b܆!{Ơ[V륫>B)$M20.d(Zc8b{dH]czU3A ~f-<Xq37JWG;gu՚4D m&XAJc z|],uzVRZO~_W2@;_E mKWH槣3[ku:yqT#\0p #IF,Y.$AXe ,%^*Leed>iWR^ceˉR`~t1P"'ϳ4f]Du3`|dy d@^ ܂ĿEy(&xHID,ض}fc qh}oϳ}رEUjk`mŧBlqzb^:erĬצgڬZ1E+b T^.:CY{GٽRO<˘Peat@o+r&!DtwC.N̖8žzKWf[GA $,|~3'u=[s{-] jݐP0{9~`Fq;~HF[ ^$iaZ1)]jHCU=Sh񊑶,|j3~ܘ]1|Ht1ײ EhXBaզ"Y̴vz*ťLOHGt\.49O&ڊM$'H( L]0E!{btO^pOt"yďk{n{ش^`n |}f1u Cc1HV:`Q3@g;bT%4ۘ'[=Ǩ^U땫-fq-f؇ݻMa {)γbʇP UH8ʬ5'hZF ৿cCcziQQw,!,&ѐFr INo/t<:4Ai(OjW8f/.k.A vMx)๢=< ?a5]b9(gz٥ӵģq!XpH1HqsJ/f2] IM(7؍&@?WL](1xz\iUZ8=ڤ+ R5D$wڦu0F9jpTK7[ z誌nQS``qGQֹ ;>R$'sjg[Z\{ Hݫ`@7ͧdIʴX/NbdJk>wURs Ǟ (ԏmTtUmBqDT[v_t<87@"n:m]<ƽ;!v"4z.9t)pby ~n%#!xlH+c2 ʠGl 9(nC(7S1]h8ei5]{Iׯo:Y[u:* %cͪLj[ѝ5atu_$_YS{3Гsdw`zvզqF5gQk;!KJU֖ws)]A ?:Gxpz6)M v:IM-4. 㖼ӱ1* OvI T׺^'Kɭޞ]hdhVkI1 `fω=L) BFjBXi;jy+9:БWQa>[z"jy 立+i]L2͕ ]xPYvI۠>|#뜁vܑ"3xC (C@ Q?]<}JHkBDuk5?AD)C`N N1DP2'B=42PoJS< k0e9ߪ!f_4VڊN:Я2*:?FGJc  ݺ<-N3zVB&T\>GtZAL_5Y\Ş$1D hJ5zdz˟6hG[ݔ@@%#<H~v0xuKt{:,/l?6⸿q.܆^>ƩMP(k&\9B98a& D4y<:<ִ1ɪE{tunCH[=A*rkj15;gycXOdީY6rϐVhB 3Cp+c<Zx(MrA9{srZQuh TdHz|l3TI'ҌJ[{V8Zɀ3y3ygz'Lꑫm/y.o>s&y|&YRbO 0E@1[t<:ng#S:J_aU;tϠaD$R%hqnE|OD-+?.D B+036:B\)BR<'<\tz?ddVFWn4ټKP|_c?b kk3[B\~fd>F˹tBc)^vLaa#Yr\yn4Sպ>}'҅qTv [;jp]8\9bx) ri0e {XObSkd m5|gi\1gC D5_ ҆+<Ьd6wեVܸ &Dܝ#~Ƞ9&U}NN`5Ib'u9B>hY^loD Z@-;]rhtReno/_}|a7FOmp o#KXOJN-6tqIN̢VZie䚀)NMHEF_e!R̮h+[hhqX&A 4[~V Y0G-vHQ v[uө ujNYbI3AH،GRvМp+PRajěP{IV̤p\ʸX"@o`_o=?$˿J½E"L_fL>@L*quYȮG5 EJ TVH( hxuݶzA ZÁ VPQb~~'X-3[fRO0ga:2_U]t74fG3m~fH^+S"~1jgAq') pIzxrJ) Tʇgzr!.o;.Dpח50ï̀ӘxUuf)2۬<||E1ʛsh7t2}to|-0gV3!Àogc""dMQv^ώ#9(N h_]@Eg"5641[ӯ8`vne-1@<}Gt*c?&ic+8_#aWԀ /nr[e=q6TW0? 6.Nƭ C(EO F?(:G*=Imw3oNtf𞙣9<]BݵڂzuX(١˒ fĎ nEt8%E*]66Hr6q- I޾FuFQmadƭ]DUk2`tò'&qoxe+a+Pvmk)v<}ub۩\&i0FذUo9|@[j{F41UKJEdifJk!Ԫ$^nJks2Ko bFHa#ko-*ckRxҠ]kt¦mƔFƺU4,®=V}7+k6]ͣCB=tcyrm%<k, R~'{tO/+ԅ!7gm\WwA8oDD5Uq:O> ݂+†/J]{8Ch6RKu^T) H6U$C9QwCgm "YE;I)|5IjB~IAlqic/|w_=,YF_BB>;=Ř)"h[ċeNܥX`S%(8S @r& K~Ts[iHu.G{*t 2"@% } 38R_PXO|=€o@gV"a1#_3j*[ +N\G)!l֘S&kB0da"N'… r-M ~qL_棷$P>]"خV$,a6AY\4P-xm#7:wa'_wy-4Vfn ֮]cAJ3 Dp&~%H1bBۛ#0|Or ,(^L^k{͉{~(ϝkpM]`map?ǎZ[rёCj97`KEԯcOpKTK^Y6:Ѽh?Ax 8J9r]NSXF$44 jΈ`#r5eOBӧsz^Ks/?kq^*՗F\agb/%B=J5NB/$Tl"ǥy%Y6v}?]$Dʯo0v5N+6PiYsU8Yq>OD1Ql(@+,Ѧ)!Pd09N*N+~P wIR0Ywsy_0}yE >qP΅=$ghh6=OZ wpp 6e9`\Lp A 1p@Y<[qD'#% CNҡ r'G,M\K3C!T\-{ #t!Wj;oeLȠ@Ey1C-u*bZ~\y/T6H_)Q:%3bKC8+Ъ8|С~))ȷLb?߄9 G߼Aڙ /rrd`-ױŒ쟨H. Ǭ_?Q]UYY lEX[Ĺͪ`?稚0y_QW'*^Z6:ge刾e |I8LhKeK3^]BjWw(QBUv,vBVlRkۭx 4GJ%]i'SVA"(Z[N(_S i2ӮZE,@-j؀tNQGWB9wdP鵦{ܕ܍J~:\eia[æs"_+ĀeȍSg)&FRjn?֐%f+Y$ڡn 8Qiq́ Y)*ߏ= 85p8ezdOڜ|u\q(>Ϻ#`Pb#\3K_Z=lƖ9ZXw!vTx}`+}t4;bŃk]3 jp-l~BE!!,&#:?ސsH_ʽ.ЭȤVfmsrabS5n63՘[gJG79TtZ`2ѦO}%sX&^w ,'ވ)XzILTjZNbHy2Sf?a0C=$]1w]~u_ g=xC8~{C5C_Ҥ xþA`AEĽ[Azgd,O? 'Ђ>Gϐ 00bɘr\OFCDÌ0ąiw^F-鍆Wl4:^=Mi#vA-# %p\r&-IƩB5X2V'Lq0`^:ihAp\&2w4Ϙڑ9ݠY~l˹r!W&0 f-0hWj\Tq牸3LtH0FQQ֟uZ"d9D jB ʖuQhZ Zr<l| Zxo¼?T#&y}6 ރ@M7SkRYSpELN80Mj ĀWںܰjG#K WĦ7φ֓iӻTeD~QJp\w>0'YX3ث=cQ[b(x"?^(c!^xR:&.Upy?${<7$rZk؃rSW{ 8E^#Fy;%/tIDU淽unP`|ꘛKN\/F%_Tr=Ig?v6ֲJ!LBWp0jд/#=w)ٵ}rߺnE8$+"Hk|BQlC7{W6/}JF1?r*5۞cڞ[5X5r X*lAIS_rOD&#,83"&Rl?c_ʣ#C`ѯ-u TAIJb87 W;JHYɪ}Ov|WUA8|-Xc49S1<λU#RWR%%cDCKh-+uȽ& ɴqt>߹zTh"2]`jrkXcJ)X˞_W5kQVFɦME,$v2E*}emx/9X4 Ѥ\|" a1\MM6=4V(@zK Q13_ *qEj풄eOв=pBDc\lHc9 CC ƹ~3pϡTYI?}A f{I]LoU<_:8 DkaiV-T]F~Z ebYI1.$AJW`nI_QamnDj_x]qWfىNѳ׸f)1a)Hn1e!RS~>~QIF1a0Q;e[mct99Y{+snO3h۔.ʢ9}AEf/FP,IvI?ey&A_Yq EJ.e/c[@?iߐzJN&yMLDwNEi{hSst Ü@U*ʌJ+ ~ctșDx&wJu4(cY5eyڏ,YB&b'shX|Ej@ȍF=^yJ^jS o+,qpRxd%_ wu.ýR`-uAVY(|h\( iSL$ gTΎK:s3C> Vt$ q"{u!F1bDxqSUj]OQ_Iqz"Mzqsp}g&ځ3fg;З$wXTL\'a6'MbZS,Wu@Aaϼi=Qsceᰤ{f}F7PY$P~tU3<GP3vUER0 ,NG(쬔Qm첱)j(r"oK6nR)B^ d&l _ ; }syؽ^)`i Jg&@7n q0R(RnK=&C[UPhмlEξDD!yPz|Iz#lX<R߭<}\ϚYd3_>X C#kmr ̠?Ůռ`NQpVHB>vTӆb\M?T[3_RE_M hTg;*_z`-oa6-0X3u9۲:cuۋ0`Ts(' _KQd!1GIKi{/Ewu]_w8T←j;T-x3:@HL-z)ĮNufMGR'lHmO5.e;l@cU:7V Ayt@6-aĠo~PW!쏔8$I"٘ Zy%_<fun\i.`N, B=<F~4+-DmZ.+tuKu9kN®;RI!Uq #r(S1ӎEGNP6F|x MdQz-⩂D-l@5aG :tGl!SK]i<)c쌇jG0]"Ue:K8,* =oeѥ~NoS +P8p!v8N>dI&=g# .#]s'Gְ1&ak?T bQg"d ^dkA[@8Baul(l!ob$S5܇LG\:?6tV#Gpu'/2 _K/'̟a! Dփ$J ڛ(@&7B'@I{厥\I6uB{r~wiP0rz1SZI˨̕qHc8}|1/(eQA}M˨֏1mT@|(gK89[,c7=u*Eabѡ`ӂֻ/hI0%dcE '87\w $t*B3C:jX~ȁ>gh[V@盤s.)F /py2d+_jLHgcLrhE"'n3kTcˌ sn ]~qPJ Alދ)Fq }ak $[. zzZkxX4'f8wLڪ{T(8Gb/g(!ND˰v5:Zx5TɓH2CkYtiy!IU0GFEL]n= /Οg+7C$廀kNI6x́eD6PQL{MQ iعGC-T!ZQ1,?(qϜ,x2%%=Sso(HDQ?@Q (`Ҋ!>K=e;6wQ3^LqKlX?1֊Y;_{k4h<K%LY-($/N,BV iUl@c錯xu{y]:{sњ<hkX5#vR؍`\=_8\T,Phv/"qgITif,55yq=IKՒMssUtԈMq Sʹ{ cRI8: F{G$*2{Ҽz*=F;3_݂T8~;@ԵIz¨]XB95g%ĥ0dW8x'ثEĈ7}XA w5~XNpJwC!"ڀ2h36as zhi9;nkkǔf BAy$6+M_{kosRmr֭e1WE_i|խ&AO[h yi,X.J;vIpd:^RD!cj^\ 5 F šЏlD`;Yߑ\&dm|4*Pމa8jx/8><Eg1W~ v`|MT7@(`a!jѹ18GZ9:"*՞ç7p?*_8 ֍^p) ioE//ܕ-]6c~X`z k4}`M?i~fvH.oiZ(d 'x᱑Mm9-4L;hX56Acl _tq:oaO6Um|.W~q/˞ӥDu\WӏO:̢X3mU✿f<玭viq!V/ATaD s0^ :M> 4_0p>Dq" x`]㏌qGV2)L4GIE>J~\yFI(Z޵.g|]5/5$H\Wl1;;x*jM fCzܛЁ7ϋ^T0_g<6 ^Oט/}D!o)&v*oSa*C6>{WɈ+;ɸZQM" yselz%ʦ2xb<°%Q;4:jwFiYkA%PQE=d )-i"j-L#D-e%nհ in2yG{rQmLeF ^O#YdƽE-(MAs.fvONZXPddxsFIgȖ4'# FVIFEb0vf7W/ͽ]̚AhwAgA#~'x.{0%3 %1@vPvhgX7 )0c<= }0޽,{3 {}T{/qBOE@v;M  %3_-=ystdz ߐ`m dO!9A:hPCr60Mqw f LCT9)V6Qj=+hSG􀋓lc2\A[l`4ZE>z>K_z?Z)da^zDo>:BB\̺Ax~5mBu"~JR7=K8*A Ϝ&7}6smx]{hO;U4YD!5swڗ[ ;8"3055 8YfP i”xOb ]1;:'jߔ 5G7Qrǟ |*]Bl*?"=އ",5y ># c#X X./M:M`o*OT &pty G*{+;}