python3-executing-1.2.0-1.oe24090>    f긧 ;G|`u` `9  <hj'$^l v)쫏tvM7l#$ t]zա@ b~7Fcxʩ*#8M:E~&VT gWf'J8\sW_ !'/iWlzp}.dimMxu[c%#/\ES=ÀLUY o.Co%ohPƆD;'scK\M&mqrg/'F\b$s#"Gs#Ɂ|7$84(,80ј84o \7sn Twd:>P[qDV,r;1& w*3417bedb5aafe9dfdfaeabee30251c3aaea11f0379a9a3c1ac10bea7ffbe97b9d6686e77ba20e52f37f7458b6b8e835bff6dcad9 Q VHi,>=2)?2d # jPThlp 0 d   % %4%&&&'0''('((P8(X9(\:(F(G(H),I)X)Y)\)]*@^,b-d.e.f.l.t.u/\v/w0`x0y10z1x11111Cpython3-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큤f긤f긤f긡f긢f긡f긢f긢_6Zf긢f긢cLVf긢f긢f긣f긣f긣f긣f긣f긣f긣f긣cLVcLVc]/JcLVf긟4b4193f5c5fced9c713bb8a70c6f9dd4542f52eaa5a6ab9ab869eb1ca2a501829ee407f318623327d4f9e78ef741bf1d616a768322edd6371aec315a07919be5f725c4ab24a4df6cd366ae0e77c745b0bbe63c3d3cbe58204b22da887e0aab24e1bdb2d376ed588191c1143c7f7efd164f28384dff4d9d99409d1ea01826ef0e01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bd4a14031597453d3228ab10b398cef9cba18cdc185f0f5d032e770328f0a09186fd46d7f736d4aa734fca6a4e8bfe5be76dd28f0341948a6da9f9770542c7f9831efd2e4a58d69f6085252b9c9b840eb6c833e5e205853710390720c67f1cd4ebf281d24696788a2ac49fd2f56f4e1686be69c058666ea4feeeb983556084c8bbf281d24696788a2ac49fd2f56f4e1686be69c058666ea4feeeb983556084c8b145e5bb7484360d3b44e5693447afcd1f66d58f0bdcba8a13b176090c4e4a52b145e5bb7484360d3b44e5693447afcd1f66d58f0bdcba8a13b176090c4e4a52bed0227d0220ca10f2d4d243ed9d3dbb4bca475de3f3244eab4d857d3016796385224cf1eecf0a8ce7fe90ce8253bfb7365ce6e46af4c9c1a76fb7f64b352c79d3a9384d19cb7306e37e306982a0c5db879333a92e931207dbff03def8ebb68bcf3a7e1ead8c8df1ac03fc1ea5143caed0ec20e9b1b9f9cf270be255a74bbadd62cfbab3e0c99f47c006f424b1432056153cfb2850873fa5bab7886453c8151ca2cfbab3e0c99f47c006f424b1432056153cfb2850873fa5bab7886453c8151ca9dfe4fe633e74a38e8ffc616961e403b22d91c5fe13722690efd0e1b65c5620ca860e842d612e694a28ff237820f6ff97b751d4e6195a9a78c5b6b92951302e2337b3dad13958d59a1b4bf147164e9f5c8a91ad56815df819264ac0364c07d4fe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e466e563231b93c2724a8b23e7d46f8b6bb32ea7cff8302cefb8a4c1369f5d3erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-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 1726658719 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 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection cpioxz2noarch-openEuler-linux-gnudirectoryUnicode text, UTF-8 text, with very long lines (465)ASCII textPython script, ASCII text executableemptyASCII text, with no line terminators PPRRRRRRRRRRRRRRRROF Y'~VNutf-812a6d7b20fe672bf3bc33b4c71f56926bd7f7f308d8ed01708b74e1fcc369bd3a3092241798be0eee44dba9777a6eb83fd77e66bfaa78d56abc486c66325ab07?07zXZ !#,{] b2u Q{LY\.弊P홻b*#Sڮ~FC`;ψ` q_2CTb39L?_NLGT D$',[p Wio BU^X 09bJj ^f %DЖS0lJ|}0Mѵ9+'\-wUt$PdgMad]7!19Rjw~un]CܽT n6m3+ &+zIߚ"Ll5ň\|reA9 cwy'?j.v;IILE~lѝ lg pYʗ "`1rZEy*馿=)捨==YpVukviK r"ɇ`jHM׿kƒӃYISL|IL@Ljioyq% :ȝM 0=TX=@nqi RL*۹sJcwO(@vw*PneݎYTz'R? 6vE'Ӂ8űYy-lfUZia_;gyzI:?++FA_]96qϗY1*_'b'etv=x$?Vyeκz0a`KDmL|QXRH7LzvyJ0&r"1 |ss;Sdd\vTm i"s 43BJ:>ۜMfqBG0U w$ "܇ b"`R+ZPU0"QCq͵/'3-vU\QNWgh`[;ْUt8=-$˺ѰnMV] HAlhHRAb[}kQB\Q>Tj` ālnƎ@\<{LCѲtoøs [H۲-~ C{5)6Y-e9̲&o[HYCbVRҢXb>FX*}~%Bj)qg}z~hZ㼼Anw :+/^eet%a^ ,-::$:{a OLv>;p JKɄ1!Gsb[\ʪoS52Z5܋Lڔc}&|_9 !Y`zkfJnXD%<1)v—-wn-E6qJ^5* aLE 8q{~Dn3~0X^gxui 児~ڿ(8vz^w*Z\VG ˒Q*3 SW %K,Ы7+"vZdx/QK,7|t FEmF]1=f`1jc=525Qidް!5WzƜLb#r0u$*U72gcd8$GHܸ}P22gk [_媔*~04E]|;t[me5W)Zb4Hߞ:捱ÛuHpR胻AC(*#HJ;#6%Ģr8FqlqaP*2 ['s[QWdlXI?j1}"ia=r@be:^+mf_L:bA^GbeYci%|,<(jdk|O?ϮWR)XHu+JxDʿTտoCYjO}`C]fƹQR?45uZ^2ntWF"0q{_M tWx՗,jQڸծ _gdQowV i~p3g 'TqAW48<(ndLv*4.ܝV5nv(qk*xe zL:dcƲUK23Xq԰2ŶШ?j6V$ݫ20?#P /K냱Nf͊"wJ_,ό ~'Ƨ4cп 1]OuN~c &5x՜MV$K%Ǥdۤ#r?z΢r  Ѝ?a3Q𢜟HtnfkPT[ŃPHз=阝.Yíb8nfQBetIҲ3κ 5'I ~g{@mu~r97(~FiY Enj7y!- 0A1}Ʈ-F{]9?ӕ-S CzTA>rj%~{VĘ=j8an|`i3p׉ AKIy͋!Mw+ :;A xuy`ƨ`yU- Q!:'& 5 cԖ1j)  B;ixmE.Zz^Abyvg6kU*@kmdPsQ@;nk-`"=#<}ZO$ jTEӞ).rhOJMP9v#5>t\> Jf&L ފK\G7SaVw i8E nHtŕ=1n9Q1TPɚwn3 ~]  郎1!^*E%QI1Fڟ@Oi~-a?F-p(_uJ툻z2H`K2Uh2, }ZxLl ʫLw }>q>z5~'4jS (E@Q##\)>ɡ K$}>cٷрk,]_K3Ij51N ;p+&|G ݂ Y.ȼc+ c23/܍W#ά~OٜH12-Μ _!ϙ-=j[)f 2NT+NͬP4ף[-[BD5`.Ɠ6D3=ߵ]>"^Cg ;-]DKwJCbB(ȁ3 1 {w2$@Fߑ6O1+5@50VcȀV4s2 X+@=?=5ʵv0~+KD~4,R]*Eڤf xJa/' dN6L]?aE›4FLSֆJ@dl9MoI#qVUԷEqr1j)NdH:U^"0A6~e J m] ;xRşzX0R8,Vc.Rܯ=Y5{" bq;A]F @?Ԟhؔd6\b/ ը/͂'HR~ !RxS*ޢv2ZP;C1񾅄6Mtzϣk={&)'j>N,lwL@F09*hMr<礎d{vezf |x⩰ֺ8M*-˺W&h&巿Dok)!5YOJHs$wy wfgu-S FloR [sMh+70k,Ez,-QiU63ֽ#`)$.F-TғK]?xq%ƣ!$K *i hF}$)ްlQfc,k-S[GEꮨWfdٹf *ʝAm wP,s ;d&Ja/aK!{ ^H} U[4l$`>PLq1å2w&- > ."Ş7B![Ө\nTG!<EOe,Oh>o u}!RR=7Qd/IP9d՚`ЌՂnK!T{>D;wuKX|!MD >ni-Jڤ?̞,7i#:jOG7{Ħ#bʹ3uo$5 pҰ̫I2Ӹ5B\ZoOʊ`+_~Č-FI%Y~5ÈK}=$m,4M1JyyO7͏!fe'U4V;4zC3;f?'Q5D4>d0ụ; eP5_zy$'OJuͽNi#\sy>I9jBgJbYe!tОn?TC?$S!lwX4oY|}"#_Ke!C >YsV!' p"+tƕ{XDjPUǁƉ|0ڴ'QevŒJ5زxi,+qFQ;+ +kx9 У ?5pb's|CCt0r b#h%4GfQ/DX|.LOE'Fq~g>YaKgg:]- RS~es zdUWM9ofG9?vKtp_Uk,*ҖPkq̬\R۽ކD<<sFiQՔN2N?O0WtjNq@zhd"81.*+nc!{fm  bXJdwΥ b0@xHDjUNٽ^\EKv5 "LDos:)MRrZ2GjKFZ Kũ!l4E˲|t,} BQCS j;?mYlv؝.DĶlc ;@-@Az9y$8aDH^{F%\N 4dNO@WCSd bv{pxzn-1"-ER軪>Qk~oSqe Ru'Bᰕww:$eC4-=iaۻkynxޫ@yu_^/gYk͟Fa:jnZA ;rc9]'6C73/gw=6 e l +sƄOf/}?=sd0b-;+Vz9p3Ps!* P:Vx '#r{0^\;b :_0~W}_V-Z] ^,[6h6cߑw} Įݤhy bF*{݅=faZiМ6vBESoۺhu>hhT"ѐVT[2" lOk8y%@^ng#AKA@$H݇菖ͭhjUݴe_IyY?wLYx۬|6a̓7H~+VEI&#jvb^Â-GÁiYܰ:#ߊ\W`nQ&*=8Qx1 ȿNK$֗;eawU|ۭ#pV躭:v +fNa3C=fݚ]<*L_=9lADȵMR{k8{w0k ٧۠V} ւd:+av.@ *:c0Ad_斸SmX('j7\p #/| #A6n7nX|K!afYO'z<)_rFN"p<:AWCPv?2zf cFoPBVن,}Zn?$m?w%>W*J۞,%r$,rdTf$5=ْEK鸔ġV c7‹(5tpaDgu7=I)~zѪd,pPl0_9~ĄH~ b [ZӢ7 'n6m':8) -_as4&% 6#Z.4ߖAwTd &"q# y 'ajOaϴ-3:3mp L :j@QPEeuךl|cM_X&!{!(7p _]M¾$}y`,Cl vPotM[=TrgEgۂXBi@e"'݆߮* (taQko{jڞjQZ9dT⏘#oD;7t=+؏iʝ %_j#$SNJOK#q  !yc?$#28*u#2dNwlEhe#/G6zB)A}Qa=rRqS|Zp7 r>n%5Rkȷ`#c)OEt *A)uør x<$ 2R_NzR4ў/쟛F}m5x ަ7l/x0DިGڦ^[ :n4F@E^%Y<qBQͦ CWvzRq/(6\wZݢx&[nX}o4h_nzmנBs#ߋQƚ {kp3J98q|ӫi#Nf [2ezl:i˼_z$@$R&v"9%*6“ Z"NJPvBOҏ8*]{O_ ‚}%mcJ8PPDjan;W]B>r9<07MZ]F$V~}S23f޲bߞ6ǽ4V-&SZ70;iJCQ, >:M{aSwJ2'\ NջrI'LҴjyȵG39I%Wc(si $b~G+-{d*M9dq'Q6U2E_.4 kR̋ {fɃ Zl՟N@4tFIVM i7񼎝-%Vs9tgbJͪ/ ʒ氾@o"\HsQUK B)لSQve^N'w_&hY wh{t—T${b}ḚCXĵZw% BXaP.U~W!؟.iFzvϤ^ 0Z.ր$HW!8aB(=5кS+,K&+¹.}JI$h>K?mD; XjIeY,/K~7?ư&CFDaшL&28ݧn\SP'`gKԗ84@ .wAqǩN$r9BT.`3̭xiB~i$D\Xw8jiHWt(yuO!-#8h96%$" 82%X>bY\wǚ"OPkT wN;FC?/\. =:`2͢{򉭛gvNt홽:ܒ&[ ۰cgL# :K+_'/l7λ6M+TJӝIn&4Va{h&⤝\*)C( c ප3Wl% &G}Y.et"݌:Za -%Ha.SMK%d8`؃8RfwRȆ @!_BJԅjK{-Փ/ pyM \P4"itҴ|\c:79pr6Z৭=CYztU^>g[stt uJk 9r;zk U3?%)k*g^E{5_\U@][rWn3 ,dbB:?']x\%2b9EB74L`xIL7 |F-u[Y<qya&`rovGn'[Ѻ:ÍN H"iC}VpY^X$wکaSNMSG VmY9\5o!ca_ ul\YdWuG"(ƍkNbq?F<)›.80-xE:Yr%mbyH@e7hUw6s5ȶU&Hg6MUeZ tK]^avFHq9,igW#T}&Pe1쫕n,;6tFRW`uLj;S=(HOnZkd^Y{?(Se;V^"Mp91 4)gScѕ2ihU!h4Y>wcgTJnt;Xܫ=Z j~A($1#({zKaATēYq@80oR{{\zXja*uoM R!]`aLG> *r5>Y<64 BȝGQOKZRpO ue sk/ e>Xhrn#yX.$gJa)<.DNg#8y8'=ߣ!t"iZyB`<-*D + #~̹q cNl(PFn9'{{`tDQV.%!ՅW1#jO"FRG*i`qk8ELBF.âD} ۰++y9[N^̣F{0H[@nzq=Z5׹X&΋m5Zr c~՟X 0j&wcx}"pMSNh_qO1Iӝ:JsIoL+oAbCsXS̝WC[e5C"S#AY.x,MX4D2!龍WQ˵|s.-@Nadߋ = U|[кDN"1wؾ+C_F1G c m^0beM :Q.5)Go w珍}]é9^Û[HAP`ЮSMjBZ*Jhiedi49@ }ZzUJm:Kab_\%WƆy(66NFBTAӾl|wÔW4ck6/8Ps"wͦ FY e3 )" O.jʟʃU`oj-L'!79K~ݵ/Pus΃Z TPw#f֮h,kwLAoeBi|+F,k ݑ{3* z!NJHxzɬ! gߑ(ytV78vr"|ЩQTKƇ*DMX\rEmo2C26i/c]{NQť㫞fzz%9yф$C_R(')q):WKƓ%`Ρ1WG8{pt=l>+ypg+ˆ⒨VLn`-Oi nڱ uG@wcDND[k*JCU*E;z]fG{!3@ooF g^8ڮ106앾@~W(Qpf#5urQ0\G#_Š[5H\ @B6!;tmW}in8N(_FlÀvhk|0 llDC=)QJ*}E:=bl*RӖ7bmev3p$>&\P`uV,H_ ^^1n%G%,:!ʺ#^U>jTr.5x3ĺoi9.ԅ_bSZ 3uw2bUvtDSrImVT'~H,5CL|-E h&y c7($h%UsCbVU`򽌿͂.U= cF\-$S ; {خe$k[ OC^r#0TI['R'a9 ~E~n;v3_Ϯ!r*Vȶwt-p^HkAH1J|&o=xb",^R'4cA%T¡q`fUÕlJ_wD! oWy8"̐ B| bV2Lڛ I16bOL۹Z:54^%Om&I$|ݰ6iftT~w_`Ti/k#r=>j{'z 6eR|Y (#Gf_e9tPa@۽$ Gg Ӱ4lpb]6"#/x-668fB,5(EyʇR5;ь"dYI82zcwhZ}' ʚO94e۴1jK:?D > !N`X.w?lX_ ]@wWMk=SAr%; 8]GiDe@vgZ̾=s3?QJt1in6 rwe}Zhśv{ձR3ֆd֪qE#X}IfRV#RwRpWLdyu2A1Pg*`*ܑɩD}{h򥵐B`Wd5$p Hs/%qr繂f$m}-NQ2UK`s?Q9W⾀`_r0~|9 B 38cikL iTϼNvN5kw tD/1XceZqq2ͱYZXj(_+~.u vzJ"^GTupA#rW#$kmk|Y{5UMıy,ܾv`۹,fcNOV vp=~ ,/\ψlXFׇeުb~)UƠ"bv#a1Z/^۾ehpD&Λ&mo,,,v HeFfNw/}Ƹ&QZF faiäV. =Q'g(煪_D˥6;N~L Y- /=~Su Kr$YOqj^\Hw =c~ /}uÀ*)'R +?\J.5J:{zsPl%ciĜ R Qض p-O=BrmܸbϬ ~ڲ:˝na\E,UhY3%xiҍ9L\}>VE.vѯF]h폣Ȱ-_~ڄ]T1hY3;&d+ Q~͜=cMux=F ՟.|jέK,y.|,!bZ w3Ve h1+Gz2;'⟣DjDn?GGoCơ^g'1=T?v॒<](muK8x#U 3žMs^BLꖁ2$Nzs%f[s'KhWDk<\gͺK)2T'8݀Q> pgh1k9>XTz[Rb=)guLJvF8j$kBf1LiI,v(͹kskm.FDh=LjaU:Zvms졠Pܳ. e_CQ3 Io~VrkwX7^":3Mob7TN 6K= w~ \t e-A8LyGje͒&4`w E/Aw%Pa&5q?I$(J4ZA8|-s C|sQWIp a\w֤l{W#؀Ҝ.)fJ3Mι𾨢#'պ1?Ⱦe?B\փ%~"v&g}U0P[ C~Qt-6]Un`Icwysү3w]}vgs>G:e2Fsq/j9!`8it_—}h>w =2Qt㝂ol³s)3fHIE}]F`mEZЭF5fB~S/bȶ~p53v[y2/Y|f\TàU|ɍ]0Ui~*ˁfnf`8G E' >/N׸kEBO04hpD%vr[^zX~{Q8V ۞j##T9\ob 0 ЂkF<36Ӽ V(ŭ=t` _ unTl@/B\fM"N|q])ⵥng4ok 9Z#*)asjtR8MJL -zFRT}ؔ9=M6,/&aTFkvLX $:4.{bL{%\*p e fjX.;+OJ}R8f_uH)!Yɽӫ#lٮ5pb?vЬ]O4*"S9=W 2rs]$q?;J2)ReUAU׶=#+b\Hqoɒ^rx2 V_sF9234oNF}6SI*EԍX#B.!WKW׈%pXǐ^ZIŁ kX(& Wpk?ctcʹLLaf[˃Iq*.C0T&pzzs,A (BVSl7aLcԇڮĄBϰ" 䓚xȦhRRtfHm78#7os=t5H[z]gWbl_ { ]Py".LU`jT6} 2({.B%9BsFDfaZƆ*y mSXh;j9 `w%ꇂXόf2U*puWٱر_.̞o\$8y<eth΋GiLU2Ϝ0Iu㼊UKt|Ug/mXfX Qrx&9ab5>mgEh$G8woV75?D<' $?07Իcd|bCaHSׇ*׋O={ϟhA6id"w ㈦엱"`(ͰҊ:W:b(㗰Sl&l^v5 ?GZo˳I# i+kTcL%r/'X* TupbE8;ӨW / 8:t/de"mLmׂ{т exopЮglSĚ6*mi'Y"l>.,x֦hHc9^4:٫[_tDw "4l 2_Q\{]~Zpk2mf]bLjN`e"v93H4:f_tĻċnT@k$pu(Hmx@Z+P+ 򫯤8tHS?w@[•\PzFQصJ[7u 6.Ys?zo^ RGc2ݵ%,NI@? aIa]}G#^AoBAzlJS P1\RHO>U@j!gB+ In"#erʫzu쒾7й& $CB ;M W6acfꀞ{m'3NhiWy!r:iBa/\>E¼I.%QV.K~:vI,__^ n)N ;Keұ,*"eMVh=be؟(ê{M߇񻬮ИL%GQƸ.,|-hgO+o \9]1rt @ \$>w{ e /~{q6Wmn!rFvc`6C`0p7WvLu5qxONTŮ\O32`%Ӳy:Իi!XMMdQ"1z? ^@ԀMe)ƿK_IVvYmk`@?x=OWio<]w@`?qF_ #Z1E}sl0̗pSa^:c4ΐZZ?Ү:Zb.?Q^xWlE(^+m:]]p)&CqGVt12Kc\ 70'oEEkg㋶ug1ЍGt"J*)*[sκ#{mz) %MB8U]$'2Z&"Rk6f j&?it(u& 4Vvx47A5nY2|fˆ6-粂F)/qWm N,5,;~ an;$6xcYGeɦJWab}NVs_;,d ^I,vImbdT; eXOaIj?UJ'A@ۗ2o*@3 YO)Ov!UTx] K⍿_^6"JXYYuMC+۸zOvV N3q](|(tmm:lS`&P3a^OU hpgYM':'qi!,|b tҬ ?1NDK(ÇDɔN $Qvܡ78BG|1C.fvĴAKnSΡ lCdY1"LBˢQ1 AT=)Xh~M~'4uhMW@v獵& 9M'mO+sD)ӕ_GM/Hh[ :?ulY2DZ3$E_$P@ fgtĄR!Φ ʦMns#3"]`ʂ<iqrH]|jg')x!;VP6Vܣ 1PqLcFqjឆ ٩*f`~G$ݷ2+E)OO1TaFrxbEpZ/pb l9JhsDCG˽RY| /xWmҦ!NČK8}MYb9$;tD2S5[@&blI䇷ﭲW|AQHVW]j+A/yfH}ZwOU.Qݿ:b]$1E*GCu0fX/"H2yYchWŲp<#On'T>lmg*:% `yU4ZĜ8|w>xi'F\{{ ۚUIQ"/HۋzԷwCV&K N^4yS`^K)u!I{&g(Tw-)ヰZ>5)zթE@}Q9fGk/Tl &1gj%'KCE"tB9̥n>dz:Vj c\bj4R `iECd{X$gѻ!qHaF]xϿ±.D\F`Q9&t3s9 pU B{"F-hb:O3`PwQ gW˃XLtpM#ծa>)mtST_zb3k)ʍLWMiArLRl$Yp!wx;Mw9OWBdwׁ} +[BfyaS_f巻2ua͉qxneHRM:W4H3ɰN{ιm|d>v)sCPLRd`h$*keqy8%z\8 6*tRu h-d"w%DxCzD XV): P/Kxw:SDPD<|szLYk#,0wUK aglYfh#TY x |%,k7qWnD{MGOى/sv@.SV&{ w@Pi=U8ٲp:qLף@pɭw͢i2KD-W, eJSpgk{!f.$;7à|Mʱwdf3}͋ħ\fR+8V2a7EKsj#p\OVo!(_톄nx>>JO*)  Ѡ!!M>Tշ{5̻/Q=M)`,LVqL!WNÛ J|AdگqK֜W+eE~-9^8'qx Sc}VTSCi#  F;򩸙pT81d!O0)M2Ց;.t0Kݜ3eQ|r<\ŹZ9u_`lAD:t&Nؤф<r8/LW""5< NCZ CXBX/@޾7 #Eڳ5djC:ڍpei`ͳVya}: !f}NwX2|xA+.jm;A)xSxW LVL SJ+E^6 j hJ\R։z&qξ9bAxDAu&*IHbѩIkrcga l;(M8m= sf)tukc Ed^E@ĩIoR=oN-U\8mV#~d.'H>KTS@1VKG쯍}]_P|KJ#t }~^78\;2H}f&nP!cZsc=![3G,%uHVN3"RmN.f7L")Йnq\z'ÇA׋V{D䕠VWdEOZ/S(8gNgx~6!472TbFEq: +'[A0Lbkؖ,~lt<38cEtgo RNkӔw|t:Rɣ{'\X25r]B+nI.Ab;஥hm I&AyNxݳme؀)ZBđwsɻ_7h1-$2z'iYMNTЅRaM&[#(#Tͥ>޷Ȑ<7 B5i?e fz h47 S= X]tprLĜ"(7|B7,ޏI=]!)1߼=AU:'iUyCÇ>5]&L_I $v3.DW` pWf:c&E$8j>45'%g*eA; <X'M"h#GG+"`,. ׃% =o* ܀`֔3U*↭h񶟥ٙn0UQ5wxYil6(~RMˆ\ĉO{~c%PT&|⯘L10*-/B2W"6UNm* Wxv~;˻bêtx=?ęvN61V~fY&a "W7خR֕֫rg|Cmmb TIn踳V7ykwvC x?/9dW6{8ƽJ"ik]n&@ƹ(A(8sWHT@ӽ Rs/D뱷 +WT)4$ / yK=ѩ+;W0LJQwyQEA4u OkǙ na0;H̭`)?\;yz+3gwEHe*@:^ /"Ff5I)5HRAq2rfNF% ^j <ަO/{++% :=OHߞ>~A%ϩD$!>g=46MQRNгKuy˂&{Tui>Ifɔs[=f;4q2=$~-+>QK+&mS v@Wx]Xݏ>Ot~l#JK8 l䏦o:'XXB3HD  )E5/8#I~?=?zDq@?h#+w^Rj$!3[4V߁ ѿF~=`YI"xja0czTF{Wdy2~@GnnY]=\S+]@th ]Kzdn6/yޞڌPhd~j_ EtM KAv$jBX^c56Z/lOb%S%]Fi!@[CEh 00¸ҝ*8%Gۃ%Sw )j J`)~UE1Ht}[e?<5}iCHl`m*E|x1qTHJD/Xe% R)'bv-x~=^*3/ZPu 6L t{Nл$ۺkkC~aۆ+#fuv/[hq ♀v} 0w;?T'`X݄dxqnʶ{UEK)szٚ$!Q:Sո!k'"ġ24wYsoov,xN$ tw z0o!txM/dg={T!Vgzv^f6y &>4̥ `< \6Qq00LgU5S:qɏCJ!Z(d[dI#w䬐SvqT(`ݘG?:$gkz" "/gz`jghJ,T+VI NPŞ^p5Ή{2XIaTYvJBV`niF>h5rbA.0)8Ț+F K8-!N _"E{4q'O"KB*K6`f.n\1-(8[%(gjTҀ.$bEf+?'K /cG:]IG\l^0t1l,]X|M('")O3ȁ)SN'24k{P"{l[@v-Ef vou}sx.vi$[QwxMUI38ьȪǐZ:=aE5j'-Far)M@Jӈ=@\+i;?7܂2Wq=i~%óX[:NStmҧH~d[M̈́hD/)>fT Mv,߉&t<* $.n "2|0ᜬ4djDEHyI%?b:Dz%,A_7 1&1cJ26bzބCD'x!T<`l~H'V߹njZg@È%>d c= Éb43fe$lQ8+t4[YX/@ǹ¹3 r44taT"xcd%ʩAXkeoDp ٳ:`z+D[D$w)M)}UUKK"ղ ,K; ck1.3CU̽hYOl_*,:(n?ĸ,ݿ|߆?$^(0 #U:K6wNl,Ftk5rcK:_.x dF; L~ V*d5V[ @nr\Xr1iژemZ%d|qpQ6P UZ'j^Y}zŘr]6hľ"I#EzfzdOi.%9ߦGB4oNtݹԋˤZK)"߲cN`p9k)5ê=~R3XjQ*SB^E\!lj$hmc^ [ `2ʑq2SueOfV[E|CId+*Yo)鵶߆#MH,J^lVB39Ӳ(0ֽ(^ G`PN ]d}bv(*@}@{ĝv_%G(@8xwŏ7,>@[LtP_&o2[T"Vȵ, +hE99xBn[I1%B%DN=QB*MpsI$FMS V_ތKHPaO\m.;ǀ_BfB5sRZ S,hox;Hz*EBåX406q~gOgRcӵf$9QL;eS/r&TRep[>m֡W,Rl3KD)}MQC?6ZIa 98c?h\kmmyD^-#$BZ2׷!|&#q3y魑 [饖:)J~I]U +}_"|bcel}OI"n͍!t_:$՗D yɤCqWgV!g}30ب}+!OӔ6psƠP<+MBD? g+% y_ ˾*!'ũ]Hry9>L[=TB0uNlw>pRy=.C`H'޽|22P-1&Cw%Ԃ̺eG~m#'\k@I@ۧ<w7Mbf}J&BU\\U\ջ|V 2Ө^.RJ1DCԤ`2KRiSYԘN$N*a^ \gVH㒲x8BW2 |+BGF&miΙyrqZ@_[GVP~ڬe;E@KX ~ g8ZEO8+Dnf6?P1X+/׫>3 4KPr~0) N <0D0H< [$P;*GA]8s$0@Z@$6}1c~ j7}F>{ƧG}Q^1eWn:S;ƕ`*`0jq<(ؿ](!5އ4*˶ aoiE$5eUp/am:q8?BE]g+mi?7D( *Ӝ@ Z:sNe@G<Vq;GjDd']bȹV=4)&\vA~ebi7ϩlzc$k^$Mx乮AqHSA(K {m%_QDc:4n֔ +Y܎Jy\kK{ t0i/pù!DfaˑRFEnk=L$ V VpE;ޅ6b-ZPM\Eg/.@Ɯ&l;4w`H)v p;;٨({" OK@ߨwcբsH:̻ݪM߱D?谜x ?mcG*-{X |ЄN7ūslŊvk`iq誼oDzIy/^BƝy?cxxNj#Iڼ๪0b荔bDM1\p#uO0'+ڗmhp->xN1ݧ=V)Z5<q1c6 &ќkǿ=Ke21/.m7fcCB<⊏|6LꏰԚ*pP?\DcHSEC+{RV}0nM,r]K{䎴֤}dR* 'x{!Ihg~!Gг}%U䳂I [$_9oTɁ5m]=XֱL:%A+^M"k@Tbdo1.x&88U,< ̾vBGLOĎF\{3>( vH_36dd[TLs{v Hn`]PHkYNŲoVm t?0&j @#fG 7 FL 7Q2-$6i&D͓Ok,UY.e&}-D/) s$_WGBWZ - VH/JwpM͆Z9 <"42~ObIh;gA fݟqd*2a(gMK!k3&&}64#tv 9@՞Ȼ)=Ruf#P)\?P[僫 ~) 㽑Ɉ5Dm({;=బdn~^{'m`tnZ5(qFi똗Hr9Vk*0Ntۻ}ug3!.0O7 5iiТsI FDY;:>(~_L5YQ.$8}my WI 24d 9ni^y.e=+%4^(aFtfZ{27tbum9#ÙG[L_;rpEƍr3eMza WyR̳\hMby[@XzXl.N1tuݴC]U$e=n:/AAc&`L:G>jlKu4d93@y1T3)͑`M'. Qk/. KlxOu|J EFx@dA,Vq70F(Bz6p'^-UUI>bO{L@>l1CE=om\=@ⲘCW/ y`]^|Wf)Z*jSil[~l+! q6g/tlDƇXTЪ@rT0LVCZA#824+ $5)Z7sδIq87J)AMoPeN D|t;/ki0Uh$$s3\Q5й7GXF =N%94fvy}=mfaj& u(<* ZC7zqNmTJmaĹ rUWuxLș<3ߎom:;kTέ&.a*gǔiqc1i՟Q:e/HNǘq$ء ЄRT9Z`{:U{>ΦZ2- &p0 4+$R)ʩǮz^E6 $A LmyPj|B2 ڨQkA6֖~ό>fnAb_<8P"݃>F/tLCMct'dPs˯Q͖YwnIVGjgqÉ?"$wq9|< jUF˨Tr;CʢېIXyh1ELoH')0j98e6; 6{C z0`=!UJh]/7,J%*aWNt2W"22MZJ*ׂ7(OCB^La)r_N# -Bi/Grb@ Iojnğ=5 4ħ6X5&pՍl5/=C^tݺHx?wkA<\)hs-p knCTJcAN&XF).!\`MMzU8leCg\)9͕ :1`X7k&Ia*BL1{ CKcюj'/A Ȳ l<0AORSĖ$BS`wbWbJJ;""3&V`\feQ96p?bi1&N-*' &F4]Bubi64 b6 372q#o*:gfAoSz=l.OװJ);QiNf5H2=~1w Yc!iz91TD(5 O!^ս#|W쥝mwue< y:KD`QОw bP23E\#1CV @v Td Qާ"{"5 m~I @f r4Kd`QJt#ƒDڨ:4$wU٢$=lԀt o lA5tZX,S'R|ԲܳZa6y S^yPl£k^#ybD %i۽/3{r>k5ro0 H||[,CObvuB(l9:H:`:\Njw0`]솪OCƔ*X)e^srB'kif׶! @ybI;uXAz?\:,*:ʥuXC }"8Z|팞jmX7 irW=Iyt[ZQnBfgrz2tyP踪 wY|Mƈ#o)ș :ӃRCE[AeûJ{C';`7T{;]9w4}SRT프l0x{[W"CÄ+[;IbW ༴6L:귆o+UG.`-)Ѳ!p9\|n_ mf9Qb YffSPIHsf%_ prY.q)}.Xe)ox@#VaR0@Zhgy<,k$zކU3}U"!8d?S)OBwmP85e؛:b8(Ve^VJj؛[Id#P٬b83h+$Tz9=,{87g rT+H4-*:օNv*yȫ C^!у1 sdfמ^9yujc@Rq$6$ `+n{ɸgiNT#%Ǿ=ϤWjџoC>zE LY GAlbʗ#Cqdo?{?Tk>e  ~g,Li +qg>Dmvgᇵɦn,dت uA2쐉JQGܠjYv;KjmtګznmtޅcS*] ?Qib\'xtZF^67yq(5b,k2EMbXUE-HfO7+0r*gW9=]f ^2:@hƇCv'7ʠ*~s#agĘ~=I>[A&0B3 aQ\MP?Hl!;0쎩J30+oE3~ ܘf;[ *M+NY#˳[2ht /2L=jhAyB{4"? u#RuU%Ʃ 4xxA/JΙ!@&B(e@gE-"펎hnDSi) ׂH]Q.DDYj.g[@ʆ>3%=qLR>O'Y4wnB>m~^*'4IfZ4Tr+,@1`1VyDn3F̙0}dnʝլ6FZJ=tDa`S7 ,ZR`6\x`yzbix߾|Y̜|ӌM*̹IC:,:*.ӯunK K6ڻt P l iqQW|ĩ40%jr1tJ?{iZ&eFʛ4,ٜ#+NŻ%13e?:d0xԫ,J z.H-ןv†pEk#. QjvyQNR[InWj?iqᙫx7MihGky`K54a]qewJZk| /^6~O1>-XFw$;EXkhD@szq|)N|KpQHxп5;W1+1NGSEŜ F*=fJ[|x:>51WXauu”yE'tw;}vx-lh8%;氾hj hSl7h{6Εgng=b}-Ij;0Kӥ%J53yf?SPpdlxC{JW;EXEj]hL#QY?86q3 ;(Ԍx-A9d=<@)(yDBssy)ZΈ_zaUu~y7̞%^fe3!mQ8x.t| @V8薁tЂxLhkLݾGU%W=5 7{VL 01C_h*M#fV? X_nܪouXoaxw~^Y"(#gTXC EFE#}j2ߺ]} h}JjfiZY<) Q᪪&jp-9*(OfUSSg_E bKٺheiQIӹ^L3 @m} k(P=LafP&p*f4]z57ȉXV˭~oiT%CV؞0' ]C]l%a"bLZ \]qjl1V;N+ `W"bZ1ӽ&kH60)j"gx;'TٴǸ'hr<dVܚt"DniΥy08`49,s{&6.Ż -cQg{]Mc;<O`YJ/efFN!}7Hfz\/B:b(3߷Nfmik/0!g*J1~/ؕ*xC΁WYzkPp .']xNД.WI%ѝ1LYZDp;a&EauڧQB6C4v^1d]8 cYFF'aY!?N `6.(a<;@a繢fb#)%Hoi9 ۡ*NkV,9 NS1gLR9~FY *<2qw !u3nBqf o;:/W.XYbXa|࠳xVMPjqs{J"Mb@4>M]}m*Y|uW ?,y[-ldD6ژƒ)fR9?Rw*V?)X@QlyGEqdh=. &xɿN8JGR~_"6ޣ}zS)@pqcmENWKfr)ȝ3J];%,eGjau3sCR!Вx AW.h6RQRp+7/";/l{:P4R' !U#O49&[o:?i]OCڈP[pEYɵa00SSsѰ-xVJ!xN[j]gWUzpHUWR0~:J ypJU#4Lq@Tv'u3tC0w⮩z% p!vYvh6^rAJXL-gWc:p=z"nIZĚHЃ+g/HjF"Qā735۞+q\fK:ԮX|XKfk{7uDivR.U5бS@6J6F_&vR(pzՓ_N߁`RFHЦ| Kt% t&s!t>𓴴DiϢN?C.-7' ˷LKËo\*} /,Xx*UsNuP?[KzGø$ir [JqRA`Z ,'V` ,ț_YHlٛLn1ȯ׿qW/]2?B!34xtvc6C077۶bq;!>J,~}E 1!{@~?建ڵ':] =P+T]ydk¾*CLHqI&#q@5 n>o͈ʬ{viC[HLQ6݋Lյ>}p]f.8c$sWMT:9n/ya=$ cg뼮YcRZi{ 8Y4cG+*;`ݫu%:6SBܾgMDq5ȋ-OٻR Va[ hUP"/˙Oe,_4(@L 9/>sޟ+h%MRT{^,e%/ʝ:sa*p hewT,jY,~J5&AjUU‰8`*bDN),SRnNB=S W|-UT "e[侢? \;iƒ*r걩5gMu~<=*/y'VkԽxe˻GP,&Luw<|Gݫ 0'UNup ˜1h2ݗć &FtIyټAD`YP=RPC6yHhOo/V9Tߜ$d|̬'=f eT`_ M~cM'c@xWn }Sr)Y8$[ۇmaecs5d:ѓ.&F,Vj䖘7-9eγă8XvwtCU'pz^3c$1/Ps!UE=|$;c0l6.7plC)m#Axb.7[`rn^LI|9 ԁ2%OP,aS.1O̬Gpʾl|v+jT6ݡ;bӜg,ls7E*^~V v74*<3 Wt \ZD 1?Itu#ą]mP[|m/1Ԕk 6dР!{RO^Kaae?[>gE)&{; |J=ryRb]spsBxH0xyk'5:D+J$JXl62ۤ/%hPjK MJ79l=N~GcÊw i:081.ѽIe1V7 LEH Gc6afSx?Pt]8Cv<:q-WuYd;qb%NbEyV,t\Uv||Uk!K"R*P|ѱ:< R: ݰ6mPS׈ےDO}xNi|YT>KVx.$T"`L4Pe q`*uO<Z;vKJĿz kA|mR!_}p4u:㼛 P}*YRyKq isMb3a[yН_,<,m AtD*38zO̷%Ia:º܃&$G*NI3JWD|UɊѬpuk/]=QwcߒTŴw6|u(ɀ!"Rjfcشsϩ[X$u5~X(>1_@>$〕~27rHRAB 2xJC5#@롞P7x䟢A;"1#@gXS˰ʄ`wNAcSi-Qݼ7~?Xxvvo3L"R_ˡe*YW/$%2EyTan  sSTw!) Cќ;$D(3D23U}ɚgfևz2_sH䌁H<5@̋i㎸?۹MARU/K-W`3#Q)!19"|aQҫzf8EZoGqLhzW*axƷ6kI}ymMx(䏠a,@c:O(Jtc8VyEKRpX ϟ<~$ڦlgq;.[ 6Ѭ"X/X(CQ{i\)WxjK JP zNx=yK&+B56*LY-TؖO|3<*ǏK/[b೉qfxe}: Ir]j_hW /yKW;`7+)E nBRMm;CeMQͻbhg!>b9Yx !n +1u7{g ĖK{4˵ 7aAP\3:ˤ!n~D@9ϒlsyQ`{f$_3Dn䉕:w5P{*BfEiDNH.`+T\]+Th2޾W``I;e.A~'ע Q8BO@X$i[i/!ם6Msn*t#(e+3k4c›XvEY[ (飖S@KmZRӨbeQͽPH>$mZ[>!!ę0GD ̥ /ԑ9eYuQ2 BOݦ 4d" 93|ld}V䲛($GX?3dnF% u=ۍm-?.C;JH聦 $*/aD8g^$'FٹD Yf7`tmW\͍aԖIGX dUhͤ0P{sNjzjy7*N&2>1Kڭ!H k Ze\_[T78C-Q:Fǯw(B+8Y+w tU VM+ +U &Kwȩ$H|qA~KŴuC'M2N4w7%ªr[)E<="WG\jĐ }/_< =—ocnɪpc++U|97*,bӇ|)(TkAt[) íwh-`xp7.!zw ט_L4!f zeoi;;MC k<#^!nfLNV™E_tY*g=sJf0-a6[7`Y(D|V[vp1g~Kdn$jp(VnZD5zVr{ =h:䮧ࡩHk X>5G*d^zQ ɿ0~J i췇Y pчS*ðhA l3S\.Ayƚr}xI\ Vio~vnM/NǛiL-i 3l,9^K%}"ߞP4)5G| 0H!?ۘql?W[Y.D2a-]&=U/L6JaBp+#uHF"ӣv QmA2 ;D~"j)p(Q* N >7nh$Qa@3PQ=}QN7an p;ëPA=Fp(dUDžTQܢDۑP k_H0p+)wmr4'I7DLy)2\)CtX?[ .8  K_\@LL&KK/I#[~qŧX;=aH>@iZ(X IB9 36\f0?T 4 83m<7R`J%8ĕ$jMi)?0 3D;Riw˭*[B? p!KQQyZn&7& A3gᅌD6K8Ѓ5A|pKI`05Ek~D.9RC.`}ѸAZ0@k)dzڎ,u<滵z2—$JUO r)%չHdXjigBۻTF(t(V`N^z>O#Dq%?e987Y_960CuX߼i#'B%@U[ng wkմ,*yڃ}OeÁ`sy0_XmyzjW01j58/㙇Xz[T*L89oA3Ԛ짫n{2B( !di:"V5hΟ#X4rVfr^V^a8'#YB T3XeǨo]wōԔ󘉨m9̫NmeKƩ{k!Bޮ<(Cc,Vd8^D=1^$EAh& |3я֒3TZ0by|r 71 J +sIYmKgX5'WkO؍O100"b{T, K_6>9UqVqoZdT z K<Gꚲ& /=yH>A])e1ǧxN?2e7yטXqU^~$1Ɔz̅]|L7x&8fdSAMvGTJ+лIʄIl"]}Gf1&?Q{d,s~uy} 8kν Y0ZU]w^Ijr mZ-FVm1URb.DWb#D;3̛!o'U‘w5P~cГ:53j5qI%]b҂ <{.vdMxɬ{0D]W@,mbN j  9=.qu&T2UPmјC?oXLeź$?btIh7Z+b@LJ!(OTvO)HDFg :Dww1]"oX{DhʘebjGG;2A<Pm\EOL\<=.V)sdU%F#} y$ {YK%wk(Ehtl1$wXop))A;(]&5w31G\В(Q!>I1_S2*cNcO^~4r} :t6[w4b_L#ARKK#k1p#,tc_|=Z&$!bRħq1j1JriC) (sHE2@ &ܧ^LQzưzΣD LMjx%<!w)=3w"=0m`͖1XIXD*u}& QGZ=`ZZSH2s oj!5}<BDp).f{aSxvJ:>ҷ>oE'W\8^w3Uŷj#o^_ZHuphܩh*Rdr^|h4mHLejjć̱L@2Mct=^*tx*RBGJZK+4 m"w6)Q\ոa$Q欩PV͓XfG0pnib۞M{"ѳc/SL C_v:=24Rz]h!;K UDJθVq(i_JtC:j>^Ggs‰PG?㼵4ȃgeκe88׌ƓL!ITQ::M2||HVfXFO iZu_+WV8d<=`C8mʕ63o4mXK[BG췩B ioH)'Vz+&'J_<]O+6-3Se)盘,Zvytͮx-cLr=Z`"ViCeg 1cD b#h!}|t '1k\r_D8>MQ3Sl*L^ɜȫ1.uxLO+Dt{y6ZLHMgέ" yQX&ڻ i׌^ljBNeM'>ߕ-3BMp̷ n95s)u:MqJDNVkH\!O(E2߇Ngf|\3q/'a1~-zѻ|MqD-NiBJz] G8[4$2Cf]"a,7]I{kv[ 1$+5+RaCFB C7f.f!!NېP.~ևhin- 6ESKd/ ~{ǔPM=0HvRA@-0޳-fՊM c,z!F%Yl;ZPX=Ո08OƲj^ʮFd5}o/\>@Cᅍ lK٨;A h8}p[}h޶(e5EzuQF8~0WpXJ5%Vيc ͣwۑ-N*"tĩ.D4|gq}Z*'t'[zcziT3?避Irћ-Ao8}.cSu 4 k 9WոH*E) d@~BFw›u[ g SnJrc k2=2г)nŃp ZoY)2nFkhiMT$ع~s1ONb0SR a%d߸Z`O1~iR.)&5kz,:ќvZc54Q_dƈ^"agaHb2Z/:R*jyq!<׻7Jӳф<tZja6lD rOIF N//7 Zo18hܔ=wצDEf8~9ߋe""8xȟa9n>蹷xBB.EP0jMŮ#%(qTw(]߆ΚE: Eu]kLdlSb@g7- eX.;dC&1L-YW}HZU+.LSejUVBd)c"w D6GvBʖNFb | Y7QBW*첩>`BvN\=l,i@[/VzDiGڤOJ.WE+uYS&`'nɱC$Xȿxn2gd= Hvx5bdOm%9&faNyw icl\ܾ΅,+fiOI uX͑7]li2{fi +%k|;C=z[ʆGH!W|r#ܾ!4Mb(VWSͼS,}kӞD!FW j4:D\XMβaAM%Tքó*UN!p >W8=I[Y[Vӧ/Y?M|9~k} LcI|Kl~v E>4Ys&!i2DTi@xNcp vhBh :ܞr]^Fb@F+Q 2R'ƋoGdXl\v9e3n&y(Q7tcB/۬(ez |qC*QU7 (ۿ(?;^y!w3DD#AnDɒOI-s7}׶G j]5pCqKzPfq]=&FQv;ygۮbWpil+&UX㬫l"8u^(=.r۟_G61`Q AD!:H?~7A:ӏ)@42͆},9=_[@l0ˉLB{b䩊0nMuR D5c(!ڟnt `ȾQI׵e0:u8m>h05ˏQ&zH-m֩戚\+Y&Q~ qGdqLwW9Byel]슽 ݙ6ՠYK(O ?$bQf~ _1a_Q+j;Cէ&שkz5vF U9a#J,rѸb,C' "AyMwwkVĆc%϶ YZ