pax_global_header00006660000000000000000000000064141666612240014522gustar00rootroot0000000000000052 comment=bc1d43524f9f0c38ccc5285d1f3fa02c37339372 intake-0.6.5/000077500000000000000000000000001416666122400130055ustar00rootroot00000000000000intake-0.6.5/.ci-coveragerc000066400000000000000000000000451416666122400155160ustar00rootroot00000000000000[run] omit = *tests/*, */_version.py intake-0.6.5/.coveragerc000066400000000000000000000001551416666122400151270ustar00rootroot00000000000000[run] omit = */tests/* */test_*.py *_version.py source = intake [report] show_missing = True intake-0.6.5/.gitattributes000066400000000000000000000000401416666122400156720ustar00rootroot00000000000000intake/_version.py export-subst intake-0.6.5/.github/000077500000000000000000000000001416666122400143455ustar00rootroot00000000000000intake-0.6.5/.github/workflows/000077500000000000000000000000001416666122400164025ustar00rootroot00000000000000intake-0.6.5/.github/workflows/main.yaml000066400000000000000000000015471416666122400202210ustar00rootroot00000000000000name: CI on: push: branches: "*" pull_request: branches: master jobs: test: name: ${{ matrix.CONDA_ENV }}-pytest runs-on: ubuntu-latest strategy: fail-fast: false matrix: CONDA_ENV: [py37, py38, py39, pip] steps: - name: Checkout uses: actions/checkout@v2 - name: Setup Miniconda uses: conda-incubator/setup-miniconda@v2.1.1 with: auto-update-conda: false mamba-version: "*" channels: conda-forge,defaults auto-activate-base: false activate-environment: test_env environment-file: scripts/ci/environment-${{ matrix.CONDA_ENV }}.yml - name: pip-install shell: bash -l {0} run: | pip install . --no-deps - name: Run Tests shell: bash -l {0} run: | pytest -v intake-0.6.5/.github/workflows/pypipublish.yaml000066400000000000000000000012321416666122400216340ustar00rootroot00000000000000name: Upload Python Package on: release: types: [created] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: "3.x" - name: Install dependencies run: | python -m pip install --upgrade pip pip install setuptools setuptools-scm wheel twine - name: Build and publish env: TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} run: | python setup.py sdist bdist_wheel twine upload dist/* intake-0.6.5/.gitignore000066400000000000000000000022561416666122400150020ustar00rootroot00000000000000# Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class # C extensions *.so # Distribution / packaging .Python env/ build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ wheels/ *.egg-info/ .installed.cfg *.egg # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .coverage .coverage.* .cache .pytest_cache nosetests.xml coverage.xml *.cover .hypothesis/ # Translations *.mo *.pot # Django stuff: *.log local_settings.py # Flask stuff: instance/ .webassets-cache # Scrapy stuff: .scrapy # Sphinx documentation docs/_build/ # PyBuilder target/ # Jupyter Notebook .ipynb_checkpoints # pyenv .python-version # celery beat schedule file celerybeat-schedule # SageMath parsed files *.sage.py # dotenv .env # virtualenv .venv venv/ ENV/ # Spyder project settings .spyderproject .spyproject # Rope project settings .ropeproject # mkdocs documentation /site # mypy .mypy_cache/ # jetbrains/pycharm .idea/intake-0.6.5/LICENSE000066400000000000000000000024061416666122400140140ustar00rootroot00000000000000Copyright (c) 2017, Anaconda, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 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. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. intake-0.6.5/MANIFEST.in000066400000000000000000000010251416666122400145410ustar00rootroot00000000000000recursive-include intake *.html recursive-include intake *.csv recursive-include intake *.npy recursive-include intake *.yml recursive-include intake *.yaml recursive-include intake *.zip recursive-include intake *.png recursive-include templates * include versioneer.py include intake/_version.py include requirements.txt include setup.py include LICENSE include intake/cli/sample/* prune **/tests/** prune docs recursive-include intake/source/tests/plugin_searchpath *.py recursive-include intake/catalog/tests/catalog_search * intake-0.6.5/README.md000066400000000000000000000051031416666122400142630ustar00rootroot00000000000000# Intake: A general interface for loading data ![Logo](https://github.com/intake/intake/raw/master/logo-small.png) [![Build Status](https://github.com/intake/intake/workflows/CI/badge.svg)](https://github.com/intake/intake/actions) [![Documentation Status](https://readthedocs.org/projects/intake/badge/?version=latest)](http://intake.readthedocs.io/en/latest/?badge=latest) [![Join the chat at https://gitter.im/ContinuumIO/intake](https://badges.gitter.im/ContinuumIO/intake.svg)](https://gitter.im/ContinuumIO/intake?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Intake is a lightweight set of tools for loading and sharing data in data science projects. Intake helps you: * Load data from a variety of formats (see the [current list of known plugins](http://intake.readthedocs.io/en/latest/plugin-directory.html)) into containers you already know, like Pandas dataframes, Python lists, NumPy arrays, and more. * Convert boilerplate data loading code into reusable Intake plugins * Describe data sets in catalog files for easy reuse and sharing between projects and with others. * Share catalog information (and data sets) over the network with the Intake server Documentation is available at [Read the Docs](http://intake.readthedocs.io/en/latest). Status of intake and related packages is available at [Status Dashboard](https://intake.github.io/status) Weekly news about this repo and other related projects can be found on the [wiki](https://github.com/intake/intake/wiki/Community-News) Install ------- Recommended method using conda: ```bash conda install -c conda-forge intake ``` You can also install using `pip`, in which case you have a choice as to how many of the optional dependencies you install, with the simplest having least requirements ```bash pip install intake ``` and additional sections `[server]`, `[plot]` and `[dataframe]`, or to include everything: ```bash pip install intake[complete] ``` Note that you may well need specific drivers and other plugins, which usually have additional dependencies of their own. Development ----------- * Create development Python environment with the required dependencies, ideally with `conda`. The requirements can be found in the yml files in the `scripts/ci/` directory of this repo. * e.g. `conda env create -f scripts/ci/environment-py38.yml` and then `conda activate test_env` * Install intake using `pip install -e .[complete]` * Use `pytest` to run tests. * Create a fork on github to be able to submit PRs. * We respect, but do not enforce, pep8 standards; all new code should be covered by tests. intake-0.6.5/docs/000077500000000000000000000000001416666122400137355ustar00rootroot00000000000000intake-0.6.5/docs/Makefile000066400000000000000000000011401416666122400153710ustar00rootroot00000000000000# Minimal makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build SPHINXPROJ = intake SOURCEDIR = source BUILDDIR = build # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) .PHONY: help Makefile # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) intake-0.6.5/docs/README.md000066400000000000000000000013331416666122400152140ustar00rootroot00000000000000# Building Documentation An environment with several prerequisites is needed to build the documentation. Create this with: ## First option for environment ```bash conda create -n intake python=3.6 pandas dask python-snappy appdirs -c conda-forge -y conda activate intake ``` Additional pip packages are listed in `./requirements.txt` are required to build the docs: ```bash pip install -r requirements.txt ``` ## Second option for environment A conda environment with pip packages included is in `environment.yml` of the current directory, and you may create it with: ```bash conda env create conda activate intake ``` ## Build docs To make HTML documentation: ```bash make html ``` Outputs to `build/html/index.html` intake-0.6.5/docs/environment.yml000066400000000000000000000004741416666122400170310ustar00rootroot00000000000000name: intake channels: - defaults dependencies: - appdirs - python=3.7 - dask=2.10.1 - numpy - pandas - msgpack-python - msgpack-numpy - requests - tornado - jinja2 - python-snappy - pyyaml - hvplot >=0.5.2 - panel >=0.8.0 - bokeh <2.0.0 - sphinx - sphinx_rtd_theme - numpydoc intake-0.6.5/docs/make.bat000066400000000000000000000014561416666122400153500ustar00rootroot00000000000000@ECHO OFF pushd %~dp0 REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) set SOURCEDIR=source set BUILDDIR=build set SPHINXPROJ=intake if "%1" == "" goto help %SPHINXBUILD% >NUL 2>NUL if errorlevel 9009 ( echo. echo.The 'sphinx-build' command was not found. Make sure you have Sphinx echo.installed, then set the SPHINXBUILD environment variable to point echo.to the full path of the 'sphinx-build' executable. Alternatively you echo.may add the Sphinx directory to PATH. echo. echo.If you don't have Sphinx installed, grab it from echo.http://sphinx-doc.org/ exit /b 1 ) %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% goto end :help %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% :end popd intake-0.6.5/docs/requirements.txt000066400000000000000000000000661416666122400172230ustar00rootroot00000000000000sphinx sphinx_rtd_theme numpydoc msgpack_numpy panel intake-0.6.5/docs/source/000077500000000000000000000000001416666122400152355ustar00rootroot00000000000000intake-0.6.5/docs/source/_static/000077500000000000000000000000001416666122400166635ustar00rootroot00000000000000intake-0.6.5/docs/source/_static/.keep000066400000000000000000000000001416666122400175760ustar00rootroot00000000000000intake-0.6.5/docs/source/_static/css/000077500000000000000000000000001416666122400174535ustar00rootroot00000000000000intake-0.6.5/docs/source/_static/css/custom.css000066400000000000000000000001221416666122400214720ustar00rootroot00000000000000div.prompt { display: none } div.logo-block img { display: none !important } intake-0.6.5/docs/source/_static/images/000077500000000000000000000000001416666122400201305ustar00rootroot00000000000000intake-0.6.5/docs/source/_static/images/YAMLtab.png000066400000000000000000001463361416666122400221040ustar00rootroot00000000000000PNG  IHDRVA IiCCPICC ProfileHWTS[RIhH "HB U@B1!ؑe\"b/bw-/TVł 7)w?_2w z<4 _R K eOKg P/c:@T7U B9$L>RTVmHUx"F2 RR*MRi<,g!M%=2A|Oq0N_d3sĚ\B˥yg9)|8FɢT9ú̝4%qBN,PCREd=jΗs`bw/,bs#$y1Z}f8 1\!hP(Orʦ& ,ȓO(rZ"!wu()U3F-B 1SE"ABId%Hb EbnW<;U7wԌT#LΐE,6,?|wDMb*_tg UExnp?jtA&=FK` `>ƀ8dXe\20AjP 6M` fpyp \@x!!t"V=x H Hd#DB  و#"cYGCij:#P_FI$4 CwM1ՑHMPSԓ;W:::6:~:t:ttvѹfHsqhi VQ-+:@ K{w \]\&˺(zzlzzz{.uS9<95o0 F,6np!0P`XjCưep|fIFшkcTaӨݨxqqq!c%c:0LMsM65\ƙM7[ovҬ{ЀC 5w1O0iyEbqnKee*Ö]V +*#VYlVucmnehnghlSb-6vmmXYv vS}EkOۿuptHuѡᩣ#ױر)iSUgs:K.ȥ+*v]10odXݰn47[[1K7>nD#NHÑcFlŃQqՓ9׳(QQGbxѫ듷̻ѻ'ç熯ob3~P~{;- 7`{ю7~h  be ? l yvfwBsfsaaaa"l"#"z""gF"DEG-ܞ1>cf9MN~#i3v;8Ǎ[w71~ZoՌ{02aVDFoB&NvJV$LLOy"U9~ϧZI)[{'OX=sIJ'9N*tvɇMMٛAH؞ǫfr3k3{3A`K(\!|"iv`.QR-戫/rr6͍ݚ۟+@b(ɕj9hjUZ&UNzZ,ZE'[ I~aPaM)I.phƓ_f33fYϚ?ls9s-9/r޶/q/YQzARyLLVvǀ7,/\vrA ʊ4򧪟d-i_t22ɲ˃o[axÕcW6b*_zg+GUnXC]XjYkvڏբk55jkվ]'Xwy} *6|Y͍*77nz9e_|bb˧m No7߾mP4t호ΰ-nw1wU5{۸~_~&iFSOYْq`́ր mA5-=L=\zHޣңDz=lvWO;~2Sf>r&g=|| }w{E-.v8|9+aWN]^=-Z7oL)Vޭw{w+߫v)ݿ },}L\IS".9gg}eUC3EůL_m}=u[o|7oޖ3}R?<џKy2(fer+4a枧Ds7U#.oa:s6y6Q=)M+,O  x_Y@jo]0[_?5<Bá pHYs%%IR$iTXtXML:com.adobe.xmp 532 742 1 a@IDATxww"M{H^WOHbhD5hl ;( 4DzQz̽{w{w{w[{ow3yg*I 6dU̙#/}:vgU   VlXk2n8s9}䦛nzHӧ8;v,D$@$@$83Cד-[j qXx>(ԉMcƌ ;O|Gڕ֭[!z뭈ی=:Tvȑ駟j8\Z.袈󟵋 A?2^8`w}'ݻww%   $@aa?p+58|kc5lGYԁ0 u'͛'.:tPmwWo BUybg :ṕ ,ⰦGK?K>c y駵9KByC$@$@$@J<#u5ٳ&@CNѮM2%t/&~~:SS4m4ŏn-9TKݺuXܝt饗 HF/-unIHHH W P'y!aM՟<ۣ.ԉI/w,%; ~Hk֬qN DK@uQ(Dyiժs- 4 $㲒jG݉$'lafʹkLyur!Kh0NBh /zhwDO9NHHHH ' $rUlNTΝ+˖-W_}U.rXoZy$VRCўdBC$@$@$@YN<CԔ{W 1\VWܹs?wq`!',5&"}rꩧʱ+7tKD~$_}z?n wܩ+;6;$@$@$@$(̳lˋһwoꫯBst;<8yWk)CGz!XIˤISpWdS$ze`ASOaѡx !   !`Ikn:1NΙ3GUVnp98p`#GQT,Y"XDW a./bD`:R>`n|HHHH#R݃ӈ,;vԟXxb?~ΊӢEI$'s- @l(cs.-X'???2eėuWw?.,_B:B!   ybYn] &p 1UP*"SϞ=˚5kdrˈ#$//O !ҨQn"G$@$@$@YA>57nQP&+܉s@ OyVԘLqGG+8z2<9    (̓,r[l)mڴѓ$!̝0чYps]dӦMz&~M}q1yt߾}2`߿=v$@$@$@$-(̓,`@rЂ7ky< >WvءR^,yIHHH'@aaူ޽{ʖ]Xvm⾦,?Z,I$@$@$@$  xyIHHHH+     4 @a& 9    Hi0l P     4 @a& 9    Hi0l P     4 @a& 9    Hi0l P     4 @a& 9    Hi0l P     4 @a& 9    Hi0l P     4 @a& 9    Hi0l P     4 @a& 9    Hi0l P     4 I6 I$0gYx۝Y @Pl ;~x7n9Ca^Cے @/1'    0OTVI$@$@$@$@+Kb_PP ׯ-[ݻ0ƒ&[~~4h@7o.mڴڵkUIHHH2y kǎ|rq\ZXwI<X݂~ٻwܹSo.]vƍTL@@,X -mDz);VTTlۖUV? vvɐ!CN:/#jՒ ʦM_M6Z7^^Aj߾h"j>$   l'@a8]bvҝ'`:Q*HЍ5BuիJ͛7˨QdԩQ{}˵^+֗NW^y̚5+Rz{NfΜ)gu(ԉMcƌ ;O|G2|mA0F>}[=ztȑ#O?n*pi袋":hq2ӗ_~:ujן @0O8p@B>ܰy,'?ʢԅI;4o}ȣ>*5= z$[8 y&   eI}ԭ[7ɞ5Bu&u4eʔ-.aa)\QMh_CywN:;~D B/L$@$@$@$(̓<Ѱ&OQD݉$;cqvls$#Y9%->Z_ kG4'M<ٕ??   UIye%jI݈Ip)/91q ah0NBh /zIw|ڝ,N>|- ,Ĕ^⪼㉊k'Gm a*J 5iDg-**[,pٳgOԪ>h=1Ƃ (D$@$@$@N<nݺ^ p!9+R^_~EJ\-f…~g*C   M90]t EKzO81tm۶zCs?ch?|N+D N~nIHHH  P<8˧~Zl;;cXG)|BO({^ ^,.]!tg?%Dq9#C!   \'@y=Eݻ|W!9.!_ykѣ^h/p=ˤIBesM08p`(%\uP @<|%!0a ʒ%K! 7| 6l(cƌџ͛7NHPM6vk}|Μ9zX $@$@$@9J<ud|bI/묧vWZhQt١c'bDΝ;KIy.c   Ii-X'???i5#!D՝|رϗ7x#b#De_j 'yB]vYh;$@$@$@$@yuU0EX|c-"SϞ= >} &#$//O !ҨQPGNtsgwHHHH D<"9;ח;vwD@@:Qwu'_b>⎟xx[FrfGCu&   er2,S,m߲eKG ,s]dӦMz&,5 tA}ɀ tZp`A#nݺ B&^. @0O0ѺqFm!nܸt+!3jժF\Y#   t!@aa޽{ w< ڵkK >^aϽHHHH PHв$@$@$@$@D+fh$@$@$@$@YKK6n iKVoqJe_ ~q}m};/ 6J3 T; s j2ᆅxɟu~psy|yoN2yy9t0pK$@$@$B)|2g2gU|*ɱ^~ѧ"dNm)u_[ P/ ]?$@$@$P#()kKM7䧵Y-vTp:yh-l|iT7(T{5ff&#ɅC ud/SYx^\]ك4&   00O!?_i?{m!'rb  GpB&IuX7Ffa- @ P@K(9ǎ=Iڵ:17'?R uN--i% Z|v[]l˧*xlPǒn%=ەL>e½.zP #=84ƌm$ \ack.ٿaHݭS4lذɺA~ϧ>ټ<%'uIrtOZb]|;oydE^iѐ<Ņ%h5Ȓ)R $S4N2#^'rƠm\]a(K? p!sjZzbm<<&  :%߶m[Ip M6My  Kb+|'~IjW8}H>mWP,k텫kmɣkwȍqp]ud!MD" $@Ǥ/*DOCL J~-7T$n5n+둻&| Fo]y??̣y99*ɦ%~ gj-y6.B$@$Ntjah#n[~0TdlʧH0V-<>0q{.~(<9C &~xi%p)C%  t$ X~}W/8& \">H-={+jSPF0#.sIԏ<ˊ Q_2կ-ϑ T@ sEC"-A'&  T'UI3;̽j'ʟb!J3l%~KrXגLM$@$@F 3eaLɳ  _LX&e1_2FFiփHHH (̓ϔ5*Xyf;ߚIHxN:r a{yHHH ~3cJ*?dVy伡,X ܰi`$@$@I<#-} Q~S{-y<.ܓW¸13 @(cl@+ǖg$ϣ{r!eFZŞHTyUU~ V d njgdOR?Sߺ)f@ @(E M|_<ySKf!mȻd)ӬY3i߾kN\G'O;wJӦMc-=w'-X'iٲm6]ٳjʷ~ܭ[7ܹsD˴iB8iܸq8ԩS tiСRnqy;6l.hB:^d^ZvazCtG:M[f @f0OxڵK^xᅘkm޼\wuһw2e߾}Ҷmۤ sm޽EuK`EnKj<;tm_x˓?>Zֈs̜93t/ sc{i=ObHH2@YSm&"ۼed)Ž+W_}歴oT<|Rtj-[Q$w۷oד;Ë _ /=! ~UW`3a4t2NÆ C@ rciժUy2"S'?ynK &  +KZmxTL%Or=DհÇ|ذa0e;b6T?dz[;õ*u}?(駟֙&L  cLtSB>ZBtǵB ֭Ӣ2~xsz衇?QFƱk7Gy&#N$@$O]/ " ߄RZᢋ.VpQ^ &;˒uZާKmejӦ/^h£ sםewiw|QW-0oѐ<Ǝ%  )'Ciٲ`r 7 o#Sn SvPcaϓFiR̲,</"װ믿֭[iXiӦ'\ÍQnTnʪʸo٨?`$@$@$$-"~wސȮ, !" A#I2%Q?^z \F^^ */>@&)Z0(/XՉ>I) ;j,$@$@$PZ+#& C-x*~ G (ΝZŋ/4-IXQYE`7|SpX݌- Tzbޮ9ӃL$@$@$'^1{`y'Ur\ddT8. [}n%/zdĈ6ggٲeҭ[rYP?)" .ePN:ċ7%`7훕-E&m&  t!@a.#QI;ѬY33/\3v‹bǯEᗪ߽..Z SXro[9.EDg&l+ +~'YƂE0Y4F T",qˣEw->Mvt?7Ik_>%/-K,޿ 2k,DRx> ٘1¼{Z˳q|'  @yzCLXw>gyvE8rYV-)-# /]QC`)rK,{S wE/&"MAA| 2?q,F}{!o8q$My+0 @jJM_3VLX8 q| ֝ca,-!6Ɋƍ|R<bOɥ'裏vkʠAq:uj)N ;bٮ]V,Ք0/R_ `q)~9}ePxHH_ILN$#Wi&s'\cm rJ:[:t &>aqĪT䲈Go$XwEŋvgM*r)m/o|kl˫'3r((^%wKH;XHH|YoذAdRBD|rٱctQ^*K ?lX+O)˒]WvK/N7|2nOtxHHN܎#VM;\=P/(ԳK9%=Ww-r!  '8c^Tqz'K-\r9H@3D.~P~XFu7 Z^֐ d3 s *= sTlI ȓdf#Л72c< W%+uȥuQrB-yY TNœ¼򧤂 s(VdF#A9hjOˬêsV2"ٰVdXO|ޏHH()̫[0wn?sLZG2>\r8#uܦ#zY?}eU9&  PSW|Tz-^a^e4/ H>/*UVwyC=W-`Ĕ_d&E.y|؂\8k%  PSWT*ܩvÎ_ޘ{@ǵd@0Tu}2oW 谈sD$@$@$Ps()̫%C; k*_[b%"է2N\'~TljuV$KNAMi%&s @PSWJ0oȯ[ZOГï~l/%GpKZWش3(oM%*ln+(nIHH MPSWQL0w̥|0; ˶0W-%G+~tOvyr ?d L[d]ߺK. g:[v.q  -inM?.}Q]'ؠ 41as&|lYX%u6 ݖrj'ꖓxxtyHH2yf[$J*Z5JBgvk[Ҹ%k #{DTԓ<(wLBXWV}"AٱOdmJ=)ݿM =DW5ٵ'qFs$@$@$(3vd:D;F٤)W.em[ Ojk,cT;ұŻrIwe Gv,Բ]TRu @0O`;2,E"pC%~>>%}lQZY7ɥꘜ9F7kI: &  H $@d$@$@$@$@$PUeAWF'    yXHHHHOSH$@$@$@$@q0 @ P')k$    PǍHHHHH (̓ϔ5 @(F$@$@$@$@$|gIHHHH nq#c    H>OdJ nݺ " 2Zsym۶;v$@$@$@$9J\4S 8t>n:l7 @ bj¬HHHHb @a$f!    T0O5aO$@$@$@$@10 @ P0'    PYHHHHH (SM @ (c,$@$@$@$@$j&IHHHH 1@b    H5 Tf$@$@$@$@$  1 y ~    y HHHHRM<ՄY? @<HB$@$@$@$@&@aj¬HHHHb @a$f!    T0O5aO$@$@$@$@1ĐYH &eŔHHHHż,!    j'@y#r;GkzhxHHH4Z @0OA`HHHHHœ  46HHHH( @0OA`HHHHHœ  46HHHH( @0OAHVv%;w-[ҥKe޽qcf    0O.mrgE]so.^zOYf\IHHHO9kvHHH2-5^ vƌj*]رcC8Q]&M$?uQү_vx;xTto^#   l#@am#?Qr,ZH cQ+I    P'- Knƨ~e߾}2l0ݻt%j>$   H- M[l)'|rԶZ0@?yxHHHH 83y    yHHHHRORQ2L:sʒ TBJ2 T { @%(+$@$@$@$@$P.:($P~L$&% aE+t} r ݿKJHHr'@9/˛dP7oK>3mnGWm]+*%IHH Е%G}Z{]O[~ڲGdep_?$9%n>}`?- ͂$@$@$(sy%V?ڢm)lgx,_د'wl,dtXQf!  uYI`Mpv3qIé wǺ]dωZ)i.U0 O<~f,AiO.&&\`c.9oP`%푂_diVY+}i D<&LDEG h3Adq_jI$Du'ʹԍ .spjicuHj!  '@ad#vi6Du ؖ@IDATAST _f"hPln םOee2ʾ $Hb`x%# {<SrVsq~*4\c*_\z'YW[gen#t4/;ܒ P!&'JnԒFZ\+v۹{,&dnfV+l"\ݝVPc?U,{V$@$@@<F)C ;W/ K5n3VZX{~n ,هIWj/oRB`op_\DŽt\''G8% a;NI'^$+3&η$J^?Z-7ȂdRץId\S~ K^~6rtw gTswCp:,v"2O-y  @NϜv>ɽS6מV,1Yl`p,u) ڟHU?1As'}ɬ ًԿzZY^w-V4L{h'[:ՖTFVxL$@$h1сgSC`6w^t,Zk[6% P|_Vwt{vY'?W8Vuʇ}r =U@+k^%C]g09oȊkKlm}R> -_ٯ{8ے)r}[Z7P[}oOIxr.e  &@a'@% Q" % BٜeD9fRr`V4-ZlN0uD l V^qZB!=D01%Mu*Rvzi/C)CGl TV;J,f{E}wv֐AP}k.'yr !U53ΡO&/Z!{$@$@$P,HLifѝ-q# ɟP )(9g*9Iay @)o|sPyܤB +ɒ%&N)):?l !yr,er ?U?6Ctrk)s-R[qoOCŲjwHHҞ-i?Dl`&-SX5۬C֑r_)jݭ~Unwfm,7Vod^gJC@v) P<}lR6h+3'~rWT.Xͽ5ĥ Gnw=V9UiГBb=,9}B>\^<68 C$@$(3rt&B WU.VYGaXDhM U2[IĀح/ͫSa1fL ]e=~Xܚ\;WqJDSY6r@vFx0 m2"F~- LcÜ,Uچ[Vdڽ-['Zڹ:9ܒ @e T,*Prsv`|"@2M4QYg T(牛O9WFH)Ɵte f^ Rw8~|nE5ڄxi04mqU:9`sTx@Zxtq1BypZK 80/ .۱  "@aCͮfEZ`_JB,S%j1zL: װYQg[r%(6.%&2:z<D3Rr$cK=GaGG<}G^Ka;,x)XN|n^66ϩucr1[  SVf"irn%KrHDU/ojtN'e;[],ŘpWY:IFrO-`k|`\p'feg%M%/;VlfV$avﳪ}T_¹-R>;   \"@aK;f< @"].@9?Qr[-Qrqi,Io' a,\BQU\= NT #Dy/N#"*DbJvX @0Y; E`kpQH܊'Ľn{^ ܡj,LlWEf(7qW)wIaixJK&\]B?"fT!mePrye#_]i*'.ѱu$pM>6C݌O$ߕՑ d3 l]-`I%"Ɠ7zmb0)5_VuRi˸.C: n-z0y[+'YJ"{&ǎ_"XIHHҝyGaXdq TjX%RU[.OkvC#΍ޮ&Eb1pan :AE/?D﫺 ~`Owy*||[9жx n-XIdfj,+zVNǸ50d]$@$@YN z,4GJBϟdoF$l闱+CB.dRs)ppf 9884wL򢼰kŞEmx %YTz(\]6ʱH9^APr:%/ځEQ%7cd=QRmDrS]WU Zsmߌ&Qz-o[ Ճd:i%=λtUI*I_#Jdx .qOucKLvvߧ_Z⾠F㋎:xm2\oQ|:Kfee%Dw8v➸[XÓS[HH2T)̶f&2b[o@~gJI ٲHYKw'ݢV|ذGKxQOi#M,3W w< l" .Ђ`kP+3{gXB9/&Ĕ>V/0IS#HH Е%㇐U(اL!Åz D1|!FE{H^kH؇y(+wuԵ<7bd\[+ D;\*9|]n+e: &˶:aՠv;IHy`MH |Y'Zs +<8?T-v)'^^+z9r1vJCi1nVqW Ok93JZ[b_}j#gK\M1=> ݷoKeK7 )teɩNmgwBWǵ{|P2zjC\#z B"}"[tP"9-ʝ'_KOd^b m=I=yRqHenQzQ7%ǻ~/DmD8.NP4 6QaWV\g[|#uq*-ey-zZ?)h8~?z\_ |8Z':p:kߟd9D{c(W$0 ddxuk+"Ӻs9и)QnV < אhװؑKdr#HAý&*Wg֎6Ouc9}f_V8Va'>2,;2+G'bY!6: @0ρAfI U4KsmB "H+zd/)/0\']r7j^\ȢJ(7VoHIKq%*Iia'Kf?CԄr&a%PG;u+?ya){gE.S/>D$@U!@a^z,KYD Rʵs&m"Z׻z >8ԢG%2SM,Nq m%hy\Qhfp2FzA L>Dةg ./j%m͆ ?˜HH@[N$ɕbg&X(ބnS៉$a,ߖ 9溓;X]h#nTgSc-Z\_n IWUĆNg T<9+3 /QH#@a7"!p@ xoE$!C'I3餫0#`oE/whI{{값fe  _+V|G3ZIKW25yD.ڕLuIw{_ɦewc~nOl! Tl;G$ZteI-_NI#A^ ܯlokdGg}\;;O4_[jrΪ~QY0Ӹɸ*u,S}S*s1D,ZYG0un#g^awJ],tQ٤BWnV6VsEz4.K[Yc^./2c,D$@0Oˑ@5Xcwk+FZFUҌS4[ZJ>y¶t/^,PaM2a[By֫hF˭ sl՛U8DpTO9[ 9#5ڔ (1 !puZ?&[EY~&7E}ި>+T(:@>J J. <6J3rjJbE )1/jMr~w#tflQ>%#M7k@;rs:ܜ?IH9 (_ 7O[n}o[>"Xϰ0"Oˠg'ɈvaEYg^ >+"OuUлNADtF!$y)piv cI\:ó3 o6+T|2%S Énrac"-5mk^da3Bl-jYMJ,!6:kի,k\ח?}(#ez"0I~>C)Y9u%ΗUr1?fr5rvPh 2h:tK0C]50Ewg"pIPEp Ë#1McRN{GyD_ɞ&U/*r5@s&l3'*\'jwHyH 9!-6?'ɂzq\i)]UQ#,cl<&,SU{^aԈ#VE |OniPxW~#Rp+k3w^̷ʪ)*HL0#tIȱS?^Jg; {s 8 d  ,Hv#4Q_UdG:wq=-Z2|bE:bJo%*LܵrX\̂<Ƃ>@NW.Vkuv!6A*!wʂIEy 1n$A~63N)bb~FVK<7iXV][Encu+<K`r=@hGTCZeV䜩,ژ_Zm/QZ8 ,SK %`UжD%[rmGp\ ʽjL?N/B1o>_ŝT. (9}s[ ,%@y,Gw+ŝ5^gjIHFٸ_^'\D\7,5{:Ziۀ9v+q0-/NU0 ]cKeX mW<]()J3x*W˫hr:|h?#QLb9Sd͖jMĉoF[W[|EtN*AhnQhlT 0ju[ *gRWOn*!W,`?b?[j~̜#<{"gɋhE\k) Se%q<&R /`" \tYCȞ'/G{,2gŤ7n;NFCiz_ܪlP8Xإ􊋈X1)v)0 5,N墳9QV+UolW]eL.PFN߫0$z:~D* r?TQg^?$KIoy ti3G<(~)/]2K6zNmjb:Ӛs*k$ʒ.@yz|oWn%ʫ;6jūKT: d!*"X証UnLLݧ^iqX&}w)^1u s-ҲVMX,m%֗W]ŲK ;PZϴüT_p[@F-pe%ql^̸(qYq,xU0+\&2Xb d2 L= \7%P2"\]V3!aB|Xk̗|i.ȏJ`'O_QVv5("ulROv86G?)&/9:^ jlܩ\#p3#0^3.^jnd9ƬtROV /@HȌ7l퍤W| `n P( K1eN#u oCȪI(+tkAz kn^ M:_٩q`rNŽ#H4/%%nH4Rm#`:SU p*-MĊ]dGTE .Y2:KL$jHb$@a#(f#H?phrڪYYLAS9%Gicƞ[Fp!̰n5P7bݥ"pn\֣.H0950sՊKe9_&#dgAႵk:IסX孔[ TyU, @]&82Xգl&FԢ\sf=4.p nQu84쨖t ,+<-x8GBmUDcݧc>OEGRWt^#Mʒ^fTjG7<0Q_} 2"hs1\e/zV'*:Iᇈ1hVMUxȣd璤ԏDg50 Ii+! H  `d%0Knƕ*oWK'{:0}U7:B!*#&T2w5 7TgCHg<:Y6 L{ .X_ZZ+:_ ZҪRadZ<ſ;(H^S+E@y#A녑b?H~ PY*95"ޖryy¼FG=ضLe~x[ŧ/_tJP?*[nZ&;W(ɍ ډ[q?y%0ZqBIș^t}Jg#;9jȾCYEDS5(()@EAB1!}! $$!SU;ݳLLLuwֽ[3թsgL O.z;'M}^=gª R(+`E 8t囉/`D}~3L-ԕE ,I&|ǻi蹖ZXl aܐ tt>ffALH+̦f }7F}*5c_%̛GhƘǤ^n?ڥ`uY` ~end ,$jK͙ހ־=%vS-$@ 0*Kn6BeE?&7Dd߾?2L=3 \{ܑyW-R/I>]!=wFcG(X0*xa5G 1ԥt9G Br6KSG;v~,ux%xX=7{oJ֚}`!(.Lf➇ 1tm,b_NO4?꼲|^QM[^i&iJWeقu^?ݕN{zf*&yz{7*Â'D*\'KM_g45Gk:}{JV@$MNL$PN K ;D&!{aQ2C)(x ZHY43kmH|Cz d֙'c(\vۆz$2b$ (YZJ`ɂpڂ[5'EM? ܋fj5Ls^l',xJӶ%s[w56FdHXR,bF`s,_V$噆(#Sgb~Vfַ|)#NjDg^IsZ~jU4ްrwcf g =MÍO(K7|?M`C`.r K{Qi9pN f룦ߧNf_u5ٿԍ0wnŜR(ښ@T['(*1)& NbGn#b VuX{h{DMuYONowas]({ܧP%ޝVaAX(z{FՐ" ToV4?V4bG|k iY_-սwU[zfLY# cY7=T.f N&ƭgD>Uuu(15>2\NKۤ#+*k|}EY`9: @h1o@Y);_׀i2Vȍu#щz!W'')>lg׊I k2⢏NvmKϋ3VI=4zkLA'|4}O*;*nN?3!vWiާ<_`pF7TI\0ºVkp?PߩqPY99eiE}oAG #{$u>^net:6WwHcFiS~F &>O0|Qrwf9uE}ADdaEc뎒zԔrk:as!ӊrI5] q]&-QutT׎ӗ|3 6G:xrG2>skJSs6F%2@&oVHy~$wSOd,U֢+GGȑމpa l1Ya[.0G%\g[EJĒh'TY=9Q@'GQvJ2-|$-I 4TS]ݚ ZY*4F蓐O^ (({[SSbD9MEOV vכSuy?xWmlQnnmΖ[B(e2 &Y#<ןRTьnKGúemr2PjjŮL7{: LB]Hz6~P kw ;$cL$yBϺ;?/'Y>}#yFMnU`( 8C5k(B?͵0E,­~? zwЉK7L;h(h 4-~QeWu T=fuћ=G h=Ǻ/_hMKd=/G$뙛*?H>jN %Kc탰ѻAynQje宦u ٻ74UjuڇK:kfxdlqUsfs_ChNWXejt7V.;0f&zZk/: =9Θh}HAoM?U,&s2몑q;icc>6L<Σö@#5>0"X8DƁXX٬hI#dW$j᷋/SX-''up93R$eWEH3U?4DoL^Ҕ)G1mWO9/ q+1D *dCZeuBOeokEOjG }|c_ﮱZvϬ A¼Y VGq|kAӺXWHX!!kcg[ h)2_0).rFMi͂ 能Ѱ%s~5 qoo e>EXkbSLk~-YBjj9}1nώٓjIO'ۺ[_ B"" n!G cCx_{eń#YzW`"}9¸ 1Ne!(/5MX wGY-+ƒne [+0omQP -F?2o'¿ ݌$2_1bm4(q}v ˵}.tw_F U_.ww<^ ' XP]3^΁1^F^QSmtzUFY(GA^XHʛyy/{W P6JnnFdcrl6`f1 8\Y3a?ref˿(K?"!6B~\uj=.gD$)M3:l>;+Uٜw"nbZnxXwӱ;=v}`HK¼|Y; g ֥%cav5@F\ǿΈu-Hx EskY315*"?)S_Ց(iD_#r~mbEG:@,3݈VZ[ "s*h,k$Zb XOV d9[1 n[v$H)1Y1Whqc͹ha|Zʻ:(\  1eyPT92Z=Չ"]s+iɣSkȚf̈́΃:8^[,rˇ4I75{Aܡ-X/+;H;=o1"1+gb]oRU˭"̵3-Ǫն<}arr>'5=bb0Z=d|+ #(> 3H塪MDl8: AbR-5rY:W ]`bv#{i5s=7&2oB+NwsU醱1k*IPc~[L! ! ef{ͷ ^%d[h4VWJ%yjc;eF(fdյIpÈ(;_ T,/vD¼I3 ēaWɜ?krc{Mh *>QCt~޻akSs#4 n.W鋵\VsP}h-MܾEhlתSE\t9&gޭX쮓 Kp+TOMW~Ѯ4Y,=%r{ÀO>ګxJ2+DGo;W_VLG=Hʚ@h%t?-[Տ>H/_.;v # >x ~CdM+ṵ?~'W=*/uygԆ[% d"Ĺp:Oe`4e]u9I +n b"a^O? ޑYz#yLH]!+%M{ 'R6l߾]yi(eF+r[+csNQu#U,$@F¼|ĉFPp#F矟>/}KFzl2>|xz;HK`ܳˣAAA!ta<:C`wuȒp|]G {p{NUu'9ۮ9,$@G¼/NO\t9{ QF裏6֯_Oa^W@ T*u=ɶl{*dZMTjeYHoѺ;J}3Y0K/IDzg7kz{W ѹ.\jF9[G!=6}H*y ieBM:AaוN8A::=7D|'hІ: "XQn' x7qkclHh/hsjZk4㶒.LxZr{zŲaI PW~xT2G?зo_{+I pw dH U+@}_bno2#ʭtA͂ɂNBG{ʊpQ nalddϵB+x  0ۈR{R5xXDV+ok9]bW[?V4d>IDAT>Mкաb-ݷ-s @E/H s9G?5[W2v F+5;=xAc,&*IP2P.Ii#?rlջf, K,$@$@0K٭}ꩧ$JBt˕W^)d@! @PO@f9e}&nn( Dͩ}D7 VǪ;>bz.=HWiXg\>w$ 2'@W2{3fXAz^_q] Ռ,$P :I\ Krn&.ͲN-տ-J&%zg[0`FuiJ1y8ul0;7#dX,M @90/[IN=Ԭ-5'L GHlV_2Hp1b'RmEo v>ou/mҩM)ww' etszTt @! PfLZvܹ3cH -eF0YKHRvG.dpDyƟT~[n 92Ua~Oz}c & &z=$4HtR{qUS6mZ)g@y9 HH 8%>k^e(0=[& pVqٶ ~7AݩeՍYs*&m|Fg-C|%?MRaV^d7?,<# @żB&J$ +Tx"98D7d(RV\&JGHA3p w߹@i#vL%|ML:IPwv+iHHp( ǒ5 Ĝm#(\T B;4߻[l%;G>X9Ku7F1(1\}'%!n3O!lRy;!sWd| f;HH /yaN$@@bώn_ f,R/0#/b[.J>,#R*pñAv-\ol YnB\}Ķ T8N'(o;xvֹ:tܞ$9:JGwtɜ,mO`A8SaE9܏(aOXHHb^JŶ 3?;1]esPl /uji]noEăpiHj 4:  R-HE0!P1nmA9jq==N]nK #rbA+V&~._I2툣70w^cI &`3HZ&^Ui'5\!&s^DdiV, ' _9ةZCC qQMQi4'nJ3 oyr"(1/DV81o h:~ _^!IK=h`~J(IWJLf-ܰҕp,Y @XyesG5;bkQ$ ]4Wi_g\EhlVAI /bi8_͞[h~*W?N]-]N>.?\t|"2X D+Kh1 -jX̑9 nqE*X)SGdYo|'/\P3jh]T=&GI9V`"5aK2?.׹>݃2?ܺ^(z_R7֣ع 7LHDU֛?oHG\xLleh6*'2_L%$ 0I{VY1`X>0c5+q=؈W/bE ׇ}҂8\39͟"z? ը$qW/Nj|HV7#Yk DgbmBO爡~L{Ŵ$4*f+X7  .=DUF| 6nYNh,mN`Ifu0=WZY M[%#CYj~ıqHQ/?r `tUT m>x9 qgŵoE9~.[ D>gb=ZkbRmqlЕA!~/y[N`N9g5"NWƦW#Hr+MQ± wU8fI<7 u9'`aݦ.[[+H'QpZ+ $@mM նN˸Fga; nN0quYh>1)Rg3_Ew_?CI4 7[d%1c@Wzp% @ t_13a c4IRep엎:̔,$@$PnJ+ÜcTpGRҕ&9cĥ&d)8-6* '~U0\b\"W] |JVWOsT[!?bW> ?N(e` ќ_HJl5oOC qNǼ,X$ t>Mg W[8|1H &4cY pSP%k@Ȯ{TgxzU*3z:m.. l;A;昧r{H %Y屪pJڸ&{ie[Ka+8g2_.2)!qJ B$P@N!짙^]!W8ˣӫa- qGevʣ+LܣVҌ۪;1N͡]Ϭ#@az+L=}o`k?~e(p3I29L.^-&TߨG2q=d79HPmh.kFFۃ"0oc7 @ܔ:OS͗R dF۝/#[X6ޭf!baM4C$da4ss4~sb: rTf9B|+ 7cYlˍ 鄕 ʥZؒ;QYڎ}EQY*jY (id(ع`~Mb#C݆' b2#|BہX5mɕoRJ3kᡪenNgCX;K?!>oSnZ/Oܐ^ 8j%f 46HHAd2'|:Y㖶>WVo|٠7?=ӿћ\u5u]LQ!3 v{pLh&&jKju%t6HHHچ@Rܺ]@B⟯sj,u)ۦM9*XN ; ָ-ܪ.4q؄66^4.zWIYUA}vN@ ^h1/fHHHXu, kͰo;kej/AvZm!r- uݣ;ܑ%yo>'Ε<ΣSFmy &B$PnN}QVM֒-␺7V b+h:m|,G!"`J{4雖> 2^W :1y! f74.7Jк`c(}d\lo.C6&b9A}Q&jΧ UU[ub=-4J9OuܧpZ=5NoZ),2' pyvnX]c-FKWS]z+6/ 71ޯ߃_?.\"3ROΩ2.Fχ rFkz4nx &S(Eyܡī 'Vڈ$@$@$۫32BflwF#RƐȰb[K6&fe_VQE~g듀?Wjrƚ nENq/jXn$\h1EIHHU 3G;XȮ rE[}~0Z[˵޸],+T-;* A~y%.dš(!X%;|&O r#LIr%%8RiHHʀYgnw];$6%H KxV# ʧfpQ_̣BVdcO{'%'nu)]$t"aͬwYf Pӄ5fܝ"W%'{LKWvO<7h yL]7*s[-w!rʶJcwUW7RٻiS7-|ۊ>{ɽs۪;t{s.U2OSXﴜgoX̗udIW[szu5aBYNh[ o1dWe~@  D71y |of|~[V`j(݌{ *+ UyڗWTL/t4VUf8ޜXq' ϲu%jodTfT~ЕTF$  hqnA%#I͙T #2Zxw YߺKg|hT'R?bLVLmm $_;DOyI$nQ YYF?iX yx>ֻ47 ٲBކ66:ke?X'zFX؈=vsO5{U.(1Y+Sӵ>Q3{[,SH$@$@$PN.5D7o^_NGg"ySuMp[R&Cf,NmPYVXa9G?(*n17>*!lv.W0kE,kT+ʭUɩl J3m76$'Ic?aq)i0_!Txŷl @9KUVWE^_=9]DQr+QTp٘74'{g^2ʴE~ԛ5uD:Qh= _nCycq jGHıW!r{Ifea8uU%Fp7o`!Ρf[պmc4a]b- )R@Q Dn.܊ @ɆoH=J<+ gKQ&VpՀJdGLmnUyf JMVe% 68ݩ"Qx X|6k%[6; ;Zz_kƆKR/69=iWz)k -?yȲ^  &$qoR!Llۡ z/nZi qj%:BZb`Wqu62S?ZKyZ(+uo   f@rܳBNЌ&G:K'=1uԼ+/MoNIp`}kWww rDvӄq[IXyȲc^? 7Ou\mdG#/&Nߚynnqkۚ{LnDxA+̭̣VW.~ CTgv^,҄I}c&m0owR sH*,՚^hNP'g{TrDpRKپwpvAp ٶ?wn%;;2X&T G:j(ܱrwzyǧrD$@$@$PtT7qԉ%щEe9cvRJs6l/䏚#&X}#P?|mVK[ ƲٮmfjFè,iX'$@$PUsz5c9d}}7kN|v5b_9;E}}^~eXF%dWAsVessa{"w@OXCbj]YZ4C$@$@eJ( 30TN9;"}jl_SU/y ]-u_h@GOSp3,\(4kj% J}HH @6[r[=: ȭ'ak}q; J,7vFѨBa^WO$@$@-$p{Li0Y:YG~e`eQiV4KK}Kq->6#O1At-d-+]K`jYpe$@$@$PQIN T^m\6Е˒MՓ|n-Z׿^˲Mp31OMb_u$e3)U徜YNqgƄ-" b~,pxDco1 2]WǪ~#on; õ'\a1p\7ƙ,bܛ(a%ןB7¼D+H|7 PF$@$P"6[ŏSWwTCg oWCnK>Ƣ SVs'rwtrƢmm$@$@$P9=r/H3.<5>RiX2.)SwLk~< XsHHʕ`j ^3*M4qw^]g L¼@Y @eoƅźT 2sVUm6 f$@$@$@$ Y1y1!(ȝ|^F E?ĝZJ ɟ-%IHJ`eLM0[8e_\vŐy Da^> ]Y Iu @3 0\b30   $?MoFM zggg٫X+K|CW[HʉxhD$ 9 x8P'*/1$@W D$@$@$(GN(g?oXQRQΒ "j=I`/3b&Ir-$?DA5ݜ2;57f9[̛:uʹOaӦMҮ];رc$@$@$j~_y/\(e&5 vN)\[:En?Bõel0+ +#Y5}o#xHnLk?WO 2۷9cɓb?Cf.]G-+KϦzq% @A ܝQV<#v!ĶYnSg_ zTA̱I5vn _Ծ) :\+W%':J+wc}u]E9,氜?rmk{p  hi#!ȑӓyGpyZP{ `-}c `5"Zv] J=sE2֭m_s\żGvٲh"yWe dҥ2e駟._c}ݣM|'  -=aڢ#zʭc&FZ~g&a6h⠗eEH`tuWoR;Pv,!glp DOQSǰV JM:һN:Aazj>&Z6lX(6l0O @ wNR -`1*Q3ޫ`>m; XtҩTgq.kE%^ 9>DWx]EiM׮]brg킌Q'kh/,;&Zw  (4>P[븝Xjy>Чd}$b-F vmt#v&b}ϞHB$@$@M * Y@)^u}٥A, PT_7 "۷+HHH LLUF9h.f2*Ov/ɻJ;lsy 28vXA7|SO.H,2o<؇HHʉSwؗ2'@a^uIF%s̑o]kB'.X2zh93N$@$@$@$t8qD#G|ȑr7Ux^    %hT KYϟ/A|[ï<_˭.6vHHH oy-!@az<HHHЕF}$   = H$@$@$@$P (+aG    0$@$@$@$@@¼F}$   = H$@$@$@$P (+aG    0$@$@$@$@@¼F}$   = H$@$@$@$P (+aG    0$@$@$@$@@ Q d[8s"HHHʐ-e8 @ż,-0ghMωHHHHŜ Āy M      s^$@$@$@$@$16HHHH(y @ P`    05@$@$@$@$@1 @aA`HHHHHœ Āy M      s^$@$@$@$@$16HHHH(y @ P`    05@$@$@$@$@1 @aA`HHHHHœ Ā@"m`ʄ8evHHHZ-Ϝg$    :h1+K ÜҚ 7 !@9/      @$@$@$@$@HHHHH (c0l P     0 $@$@$@$@$@akHHHHb@<& 9      @$@$@$@$@HHHHH (c0l P     0 $@$@$@$@$@a^k} ðHZ    r#(eo.em6i߾kB(=zѣG ' #GuhY0/dgHHH@¼P_*?M-f͒tK&z.8kiBa^֓ @(3dI駦rכ:+ qZHHH Of0>pSݻ\r%a>v؜!3(Dogq CyKHHHH0/Ѕ+IX_`A>qZ@_veұc$Ps\*   0/Xl޼Y aU;w&Tb}doS٬0/dGHHHD> 7`\UTsrQGNUd,$@$@$@$@$:xM~ ,w^z5Z3>x`I$F/@$@$@$P[ yp򓟘3xgGC|eȐ!YHHHH*--O>9~X;Tbtwm+欬 6b^. --{ך wvٶm?1h=2~"9B&fw}yvL$@$@$@$P-u4kͺu /44H֮]WDD'xb[*b^*#v Z D>Lk[-[LDXeҥL:thR^w)m'   "@yjxb9#덲2qٲe,Gq=h`B$@$@$@$Py]&-Z zji׮)oQerp$)d@    +K;r7'BO<9}T*e@$@$@$@$@ Ca Ykߺu\~f˳7qHHHH P3g:$ }֬YrWʌ3Ε$@$@$@$@G¼@crtMd„ rǧacǎ2jԨoAO @0/oڴ)]^^@Hşr5:!' P߿7[833VX!K,o7#    }7]ӿrdD \HHH*yƺO>&'{u]WZUV    R%@a^[LmW{L>zw>lk߾}p% @E=IENDB`intake-0.6.5/docs/source/_static/images/code.png000066400000000000000000001141111416666122400215470ustar00rootroot00000000000000PNG  IHDR=f iCCPICC ProfileHTSϽEJMN5FH % bGDǂ:(X "A@)Tq`C]g[Zo96,0 M) qOh"0J,X}w̦5yW A8#f!|l(T6]) EHYnYɉDx <%@Y$D 쇰 iiӌ7&$ٽދ/V--U2.2<_e-%=@ʂEs0O9lgsX^ҹ8Ôd2#X&犽%$%].)EDq?jSxJ"IDtiϔg"{d}+zyKHi0C/L sS}qqVtn&}"=d`lBΜ.3]ROeݑå3lt+ Kp3_ =3чq[,=fR rv;Ql = [(UGF 87 A0``H"@>(;PC(8NFp\-z0FK0ރIpBBVr@( $HIF*ʠJ:]n@=h@aLa ^3`w8IpR >7[p/<'PEBP(3 FšQ"ZTUC5QwP1'4MEfh':FgעG 6z CcL1&&Yǔ`1g1W1{,Kb~Xl2vvv?ۂc'p8* Ʊp|>q%\nOk>8/_' r}#!!$ &4nFDy!љAL&n WoI$ɁJ֓JI'IICOd ٓ,!o'!R(%IN\<|ʘ0e82dedzd^deeȖȞ-;&G3cɭ+;'/7!OO&LsG!Oa*KW#XECEbb Nq%%(lr J4̀ƤvNh5ݕ[{?SqSԫ|VzRmT}V3Q U[v@O~Ch U 9(FFFUFw ]& Ϥ)ljg7o=3a`~~3YYِ9<<׼q v-h_"KK\f7V&VlrkuM֯mLm6llAm[mۉF+6u:3O9dtBÅ܅;8+]..? j\\qܪݞ'wa!8sg׫[;һOOϸ*?_.~ͬao < 4 6AA._$X d -}f:=D{EE,Ys+V-Xx%K-5\2e.,]Z~:, +UŚH`&T$={/9nb(י[}X<9iw(ϕW{&H N92ZOO;'P5ӳӻ|`cƞqQZ 2Cb$$r*"jllAvJ[W>iz{UjVq_SZuu#}@ܐ\ܢw76i仩6_&_߿i---[SpТ6?XP;v؉)ٷu"A,sĦ^^Ҧ}zvR+-(PZa?gu5#ǁJʆ*CCY:㧚jGGm9~lG-\+=x Mufu“䋟;p4t3gg  ㍼ئsZbˑ/(]qx1ԥK-–I[>sn[h[Հׯ\~7oɸxVCm_m=ipvSCWs==xݹvyVȾ%Rセu~ 7[[K?Mhm5EjDZH3kdjgDӺsփ92uiTXtXML:com.adobe.xmp 520 187 5(@IDATx X\Ǖ/nYiFI mH%Xe+/?+<ϧdM&3Ld9~NYٲdŊ,KƶV$ htdIT޺UN[N:t x,TTTxSG#p¼G#G 1)8G#0¼kr^aG#G 1)8G#0¼kr^aG#G 1)8G#0¼kr^aG#G 1)8G#0¼kr^aG#G 1)8G#0¼kr^aG#G 1)8G#0Pި'qqq|R@*ʯ=|G_lBIN-zP!ܨ̢ 0$DblĂKG}JOˬ;(14 ĆP8؜_qWx}hw^N_r8a6> _ 02@-. l X[Gܼl܉~t=?O~;tǏu GR?cmN8x_˝ ] {ض>> v}TIuVb\8ǡuJK$ M2l,+v%hdR^)px>śMNV{a7/"XQ"Nb=c$ H'$$b–YcSc8/& T_f#XIs|5AgOL7maaz:Zp~!",4 i9GҨ=14Z`*. Յs8Bw!)%HS'.Zht5'P1`N\pt,Ew}[/C:-_<4qc:Q<Ϳ"5KH)AnVMPdl|y&qq'$V{3Q;\($Ñxo:><G#pPfL):IbRL!'4'Aé˱Є5}T{D>ڀ\S UWV||!YY9> tӮ4>vpWq&I1JpB̈́_Q#d=<9K&ם(Dw|ysyWm$Dm"6^dB(tJ<&a#hSDԕ+<(&M(0 By3 l_U)H)Zy0h;yiss(,|ewaS Kj퓹(?Do1f!Ƅu:"RT[Ux?ZcPBaoćzӋ^'f{.EN*ӂX\ tyؼ!C#FQuueqnۈS^'ڂQv*&%Q,I{]SJ"rRݞx8؁5닥vA`[{|m57`=됙z ̾"TatbqT`nNWAZ(q^D^IJS*qfuTsG pcpCXʾۖ1"<0$(N@=K%-D'*%)Lt1BtL aH q$';t' q l]aDοRvW!@&^#ЈdB xu,K8KgC-PO*u""c6w5] ~gk#DD"cIbmA}./qj ҪOh;ݹEaRBk2Q2ߎ[=- [\T*_tqvܴ^I[ܵAZcvD&l =ͱH9z:Ѩ Ya"#F۩0($)HWb~f- l[!6W'$'҇&S%H5 Ǖb' 1=Ў c8>8eśO!rdOQ)diqlχHg7ZQQ% E|B,"YPFh sX:2\˕ D*}|EHѠ7[o'~Sٳ/C}L8䮟a7 },)ZRn&#F'3Ik#osOUJ.[X:q uӔ+pيPi[%JXB=<}Q x xF__ZO_ QP ³@$6D{;9 ʵ^HQmhk!Lf.q',%hY1:۝=cna!h5RPVXLPl+vo']9iĔ2~?©%ؘr2VdcN|"uTUhn@nÖF#hlA'ːA߿*􌊽H=nE߰47 c0 ûT2L@1^M[b9 HT4gAD];'p1TT3abHni>=pr{jv =>?<tp Zʏ%vXЦRIkDkQ|( ,kЄ0UB?ƭB̬~dg*AA٘#h^zԌ5s# 'L1fq`#0;& :G} L|plz (Ԥnv`ywr̄>!@TEf^OW͉JjePv\>@]Eq?ڌTf0q- b8 ,$ k*$@(M$|XMdo@htپ]8J[$.IC''vug}9Yo;Aa0:9}R#!C })flSt=Ia3 lLh}oOMc8[@, gHx5 ,&< bž](QL6;~foð}A8V6ϐjyDrҸ~>\ e!.{nsR"_QG7iOH1'~Z24 u|T<#c*u?<9>+2_=&!ݙI!TNKp) <^2|JZF=E+fU (`aS^oʺE0(?!8pnf90& @-j+NN=E~8Dw:qBNGOL ̖A(f0L Gq"F(h0eӑl"jYkŠ;SJ2O!&ףϋLN{k-*(Z'[1QT(ֵv*4ܦgw`$&r*ss2.j -RFN O I+MMOGp87N(ςmE?7XWa) Vl8TIŧ_Xk2Qީ3dU4q V)^XHQWFQK'QBG"#'͔*"+wy 9&ILeZ-ss{V/' ɾ@ikW7iEH9m6= Łcih{]b8WTe!28"Fqa2-h(ºœq==Pe.t4gdm'GW;cqE( v嗛i4y[WИ`JuM!4c;D\,pd,IEݮ 0y9N߽36#p !Y.TC;HT-1tez!S԰|,ky?  q.0d 嶬fk\#G&!t[rr2Z[[i2GDDLphhL4(|ȏA8K)H*uv6̴ `$j  LC1C8Mjo- CR$`%4nzuv14.nfvbC GzM^X_S2h3Y9aq+g䉝+l]ˇy/$-(%,)G0:N=i›?`ب]B,0`PPH3ﳥ?"2W jr{Fbi)ͫWL,>:j+lz4,d)]<գ=-i^w~2|y(F_ zecÐJ0R/߅ؼZ 9OX %4 W^Hx>#"@1䊚:1'_yQ319N9@Ȳ qEpB8m4&7z%'1Z]4XGZ>3b:shr䤙 ~KB@GK33FDw{ڻ'!DNU$ԍ;uN&$DZ͚R"%BFA7q2OI]յ̈́7s~3 JՇZ)_MYmaeF#>V>rE_T1)O@{>cP3)Z1A#|+~FH*+bO{6\q8s@+&”J$j)))WM*]GB ޿_o3㨯QKBw 1ac2)\6>mqd*Iqv'Ys@;;ut4'0`D\l 0 *pf}XES/FlwO InhEB@F Q :18яg3h?8[AbO$W\!)3ddV$F֮́z7 1O!ow"> q>D`x8G#0a& 38:aFt4Yg)\@Yvulo~`u w.}%2 =1_2WS"5+um{[hS瀞lnVW3JܼLs~Mrj5)MN;#&. !q1`ƀ:<{owoߎHׄ(ZI9Xh\jxK@4 hd>`~qEDl_J@I} PJ㝀ߚ pW֤;˝~Ghy٫oZJ` --$ x Hj= At4wP%]2 ?2M$Mg/@:kqZ,~8v4{ wK]N.ƙYfpEU}-*w7ry[8`MY\Mr GAM+gA;9IBt$C$V|uL3{v ^Ao@O!tba0`ړx^TO-{fmqi=ЀV?u*a>3?f5S|n4?M(.jwyՑϏ@!(?,ZMRE3Y4V{S.W}~1hS %4RG >>A踲1>!RCVW"APwb"Ƙoc7:!{ȕ7CWYӟYod[~;0Fjhh{zgڇTf!-:]2P E4m;p[(쮺', 5&Z8{m6Bf`QZdQ02m}fApK3!Iz.X|>B8T v5--ժLU_&dԋRLJQ.'Q9q}@H@e} fIh!'d]H)BYk PH U65*5㰜Lj45ߎ%%]1FN-}/$^]vj0.)MU71^e YZjh^F. @S) \R"^t6,fZ>F1btn f@.i) Eہz D;(ۂ$T/ٝ' z|Az*>.3 ɑu4>.ǔLp0H::+ KT#0t h m k DBik?xu7& 0 (:˯V^Ѓu>F scEˆlQ8襑69^`._φA8##³xԔ]ΦyX0LA8tIb, H& Q p0lЖҳCv$Fpj2b.~Z?ATEhl콃 A|8/xLs 9a*ՕS/9x\?f7 .3qE*tIT㰜o:ϻ1V3]~v/Z'ڠЋӜcHJ(1H`׀6ҕB IQaxe$nw7BϼNwP-9֊&mg4ҋcW1*f>0N{4JҼ2ƕI4Xw*$<wk$GJiSb3uv8T 5Ds<"T1+B,"v}e9t܉܁BٍHR {ǠS@V*2Kj7FfZgjoB1Qȡ.إޜ/2tHdCG#Y즗{5]r5GR'.w҉LCD!Vޣ }4h,L}gE|cҦ/ K\ap~THeA \OJj k$dՐu7̨ NphTϞa(~ 0a^(uhŴ ,ȩ|Dj(3BŤ8$3aʟ F)ZEC4%DWl;ǮNpv\Qvz?/tnu4y6tP'{uoy;Įw5Chw8 gAF G4%!/HĒV6HF̀gG]^OCw5Զf;M[^?-n7bVg&".\PnZ2N"bEW8n)EZ0J+{vc a~8"qy deR&h$]fSHr(z ftAL|Zn wsso[ h })_h8J"=/ I4w΄[*כo:z'yL>Lҋ24ji(`p$H* p94S\;vpi%vj9?T!YSzF$C}piT.~%fKf󲮠'-M3T}XCWWOwÏjZ3m ;mMѨbTy3x~cGhl:) `Y)cW0tBa/Xda"bԧ ~]vu4*?n:NTPdzVejQ{e2п`x4= /E 60&|;+w] ͕Rgn E-qնΤiv.pmqupa 2BF)_4Yó)?4: n#eFޛ$h&ϯ iZ];:.Cv_-`(8S/BpR4GT{Qc>-X3}ó:K4B.w}F1TShFAxVUG`u<].lsŮ37JGjXjw/2F$R>רgm 60ƅ'HZjDGBKIݬF ͇Z 9O0lPCzh sȭ;e4>0ԆfӋ-JCf[Ȫx _V L zEg]3#H!@-dA* Ϯ3}B3Y DRQ+Km>Q_Ru64J6OS* ,(:Zl9% M3pH9.p[xR_/r-n3. ̦=ȘzhC LOe"Bq 0~O` Х9M&ᴴi0 EZz5ͷ/\A [q"gD"q'.c YhzUXrIBjaӡU0 k7x <~\tzA7( ];r`us`KDMim#BevNQRA! z_SiC+Uw#_oJ2/ԍ]Zz뽴qbI@!D0k ,ջ\±ec<6@=y'/AlKwj250ۣpi-4D$V% cu5XǏ5"|S:-/#kDYG=gcb؛eT֛P S^Q@ГEt#|3fgUj?s}\)_zG`bH$FFiZ2M ^=?^lꔘ}z"t4 O*io:nְ8zd8%21ݻa3`K%Iӷ@j=GY, >XcMKu\ O\%1!e>G}gF! jj BE-s!Ъ.2`AL茌O;d }P|p~}[R'|7l\cwOwd>Ipo 7DO œ?;-Ol?:N͊G$c*G@)M^EB] |iO26$G]x@??/&z)8ãT>t]t #S>B^yѸb6S?$h+^C^ުha$6c&^rq p"rmT <y4z6A3>.ӽˮ4~e DiBݩaTИ٘G `82oP&. `o7'`K67 c nV/M@@9H^$CzN\y/7۾OՒ/JK ?i*;#/E@aHIW"xTH$4oGry̠9H;Ѳ ;_$cmZOELF떥whB7ưyYr:6}vK".<\}K@FE-qWb}R8k0O7s{2ISqyM} oŗ|+ y}9G# i<ɬX;3Þ{,gʺgT\x-Xsƚի@-a=#Tyؼ!CQ47ymt~?Zc {#>;؁5% =}k蔈y^8kvt<&{\cS)N*£_A&'NLremH ye=5şĻq=VG} ރ~/Y"-hž'6h(IRAU NǽݑTz[uKA8Z'L{ஞ|0njGGAj9 N]kˑE|p2]aepnmk6kkSbu*,YWӥ[yFtWg{mh[ki3Td,ۂv৯EDL<.]kgn :F1<6&Ck knJBP@NDĘ:= "nիt}شPFΈ:I[ܵAma-lCFq{Unj yd U`R,<J7i#+f A"utګ%kg22G "ǣ:Eߢkr۬jC*hOWYH$ lz&cTc|?aC)M&OPL(Oy+!K/H x x1N ]g$߾9Hd2l EH a{P8'zPw}}w"wp H@ QB"VбUtƒL81+0]ci|rWY>:wqR2]!LK'd/)|ډ߈{plz\ɦ=9 *H-b{%3!)(z51r'GKD3%qE~6ǒ܏4 T1m !`%v!Hs0vJ.ڝ Ky*.).[p/1F*^cʑZ {֧қ.&_YEOI T BF73FUXj!z=i*cHCObD Z'= !WZOexȶE4D8hOO?ƈ> sk$j/}m*K+ S0!p8 ۊis)eLtV_Y!#Ey:oiOcW-ݓ2 Ĥ Gq"YS?*NH.E+֣PN;/t? AA1Nׄ&NO>٤EeteL폐PGz.,dA5PR%*[=#!kQV}KߢP`KEǧl"LKNa4 ^.JYRqJ2TG@7[&'y#C QOƉGae;~g㈄>#Ņ8p+y"]<{[3>_\hB$Mæg3\8@͟g:@n(*#{HkFoG79usɔ&TEUz{_!?HT;$G&p0_O\<Vvt+)F} l<P>>2XoÒ~1IцqCg({阊%c$ v%c97x@2UG߉ ̢c!#t)@=8 ëSgG@ӓ.u Y2JE6Ch!eeMYP@UU7ͭpUoxF́B쟰/䮠i&Aa̔,,@2ksh$HLI/b< y@5N2q -ᵢ1AF@#б2RԾo 7䄶eTrů8T槀0#d(.JifvH3 ?l6-u4tP %X {]jzgނNQg0b2Q9MG|Iv咓]/?֣MM 2I"g, ̶=`zpWq2x;2}ᧂ&y*dބh`5G0Òՠ-vn!&i̐/#"<(Z'l k::[/K[*X^*O=x?~^8kvt<D QwO.-"Ѕ0OQN|Xݞm(gRhKQ !9qT7B8%F|7|7zŏXnDZRld\˽#eʺgT\x-Xsƚի`-aZD#Zz NYۢYeK*3{qq wgb ÎPqh =NÛΧ#$k ^iǵN|k_:$$FzxAKz‚#%#;H@؀ ]2*Bh(%n(+2WI[ܵAm7"M5@ن2  RV6zm^ع u- ECâxvaA %9`<}I p&mCAY~8I#%lU'[Pg`y hf+PI0*[_7D¥[I->$2bj))-4!e1~ݟ3-GXR8Р!𣝴[AI!)@IDATspN/k8}Dқ -յAApРx(tW7 Q{cT"#}h8U4ҍ&tJ؇.F`U$M$5uQ)pЌE͂q#Lה ip8s" a$TZpjG8`0=rVv}ǒpъ\Ltg;/z"|{$v`AvRYYШz 6mY Z Y$!iZ?rAyVK3+~;O\@KEjĆCz#;N(,d! ïuZP#[si$& 5mdJTA/wzMJI@À dIXF6b#Rn)08ZqgɛJ,;>3,֫*p؛b([4"H]?)dDa[9`*I}.2[4}h<.⽗P1}r}FVC>|) iC;83ƀK4T||! ,hF2EG~&t"~4ZQs3n 0ՉQ>2z3}9ԯӬ8}u@u5v(@/z ^~޽<~KC*hv 'ٴUa,~ LOFR{ :tGTNXNS!5cą}W/i\bA\A0)B\]2<&$\爎m *yW8!p`p@)nޭp wԈÀg$p87 I_V & 뀅0-~jkE+h+QT'\Z &w"?HBă?%PJ1SNE0 󖡸$4yUWg"S5PL;2}ci\_ׄ2AsmA2ES#S̄=ʀE|6t0Es2QQqVUP2%<3;R{PG@@`ھ {A~VdގOX~Daՠ8}z,؈ن$dbd/<]2 cl܎'`#cI*v/7Ӣ⯞7¡1rITuz$AJӦa3^`K*%9WTe;~g㈄>#Ņ8panZft?jX}Su绠OIC¢+Fk4V!>- /sVhNOÚRC6$AבaQMxD[02@̈^1Qڸ Է[5\-HBz%At栍ldLڻ7bAy%(֩ ˇfPLdeՠyxG#;D@V7w)[ W:Z󛗡(+E8@_ ze@]jd;`_Ϙ1{ MxpmכbeͫWLT|ňg4~􇞴+B-TbG,2/(:}%xq6<KSCM: &XonGCe.KD\:s<γѥТhqtԒfQ7VX4t̐[g@+S)D#9MeJw D.3Js]9m Vá˒A7.Aњ$hقStW_YEɓ"iIĔ$ $z^FΘ ~#,]}^!˴$͕U]c(㺏>TU^_yO_Y"%BK!E\_~r눗x:^v iq[}- $džVXø^:4%Ctp #_講:8udzr8 gn$+~v܋*fY\љe<G#30l=i(!6#3:HNW׏wQw(rn59?]8ޫ89]3]ޭۉQ(e6p[.GF^e1uタjOj G=@ A?QZe<)} ֜f*O_[ܷ av̛ BrM7B#J(WoݬFPO`} Gt%s/5qj:\J s=*[`hY{!=ov4ƻKC2͕ak;Ryؼ!CG:0hnDՁױsW_._]`e*ܟ.jȃ#x. q畑} #gK ȅayEځ("-+K>yŎ׏Ц}l$~iO:6dr 9Xh;\Uv!O/ͩ!(a)6 fO] ~ `6Td,ۂv৯8-y1l\M&=0fN '+:kSbu_a}ckx4FpoaX0 Co6B >^ y zRǩU鉍Vb* sN&nEr7P`QN· :`WEᠾMHJظjrР!6t4q+ ,/4Fx #zL<ßPf.\A ip`>w_zAKo<\r{IĐpu9N+XDf@F›gda͂p}' ( EH{COG &Xprϰ[a%EKQj-h|bTLm`AR4zeP,BRsҒ 8OX8txDZ 73`h'C <oᙊ$v!}fC, h R$)xq W#*(whF_jVG;C@ b *Vh(0HKAJ ,8HJX+ "=Mvspx7Z{'1W ^aW~쥺?+4c bhI8`w 9|~eaXC>p$aAF D1^M[bW *I#*5XH:~NCEo{ISO?]XM}v<=#A:6 UW&ܤƄ #s-#pn9+E(-i ao!~/ lcF(0'*6+e=\0F)@B,@;2h* tͯv!mhw Ux]+WpI t%?xI2 MIBiP?qjoqd_"YGFH@Ē4!5+CXA^=#%D@6dÆ)AT dނ<#xJwcj2}itomEOJƅRL<݅G#F=cn]Rl{T EB&e;{-/7<.⯞7¡1R? 6nq Ñ$u~L iӰ W|n/x-+^:qXO? Hr6u>"{G|rq7c, lEoGd\ *_#'8(c$?G$(.L EXx<.6g*}څ C~c2ao48]OcgGhu,|qmpld{H@ gɁkQGW@4zv]J(;4]LG## -O\IB'?%C@Z@y)_Grq1 Fv?7p5Z y׽VQ#@ d>PYl m {AYGh/no0} T\ǙG44, &!$@Z-ٖ%YdyJlOcx3~'3L2N^Μy3LI2ߋ(X#[eٲ-2Z@ @4tC#hIU[_}uﭯ.Ӕ#[CcдDJ*-^C詩 p ro1V"QC!TW<Ž{V{A.5<09d(uVsz(NC#݊jl r/y얦+ǝb~*jؘ"=}Z'p (___:zWT\ I YzZ}vfq%@G#|6hV<ޕ[q_]$#,~(vg /G#p; ǓC~rys8G6D!!rFi&44eG>,&ۀl^w=!ZuIusrh x VX'nh p],}Ud4Z@.#8 D:2YC\&  . + q#-b'B"+ H"~LZ }X}Ԏ9~Eǽpn8A *)<-!ìxh@/:#j g;಩P`175&Z00r`CFчaH_Kpk&GX~JXWŦꈐBX, \G`qaqp]q,"O>fe2Հƛ{ErdO'\}H{ ijQqoTp8QAL{GOh{2ʩDžc?1{MJKo811f,<-&ӉsM8p/-qg5XʌmO`}[QLU[.|/~r9|".;1 NV̓^;OЊHwڄ4uȢ5z$mI׉crJ$[iG#0En-Zu$ʯa*<ƈk>&>q9GQv!<Wf`c/qEţ,d/.@ ;΋MD^[Dܙ̂$%aFtJghPv>2(S_~ .G#Aj賌0$6j/ƽO=3/c(<_X V vƧ"^-lE)}Ӏ~ғ:nXBx KjޫngsS4J 蟄٤bu&N h 0hw> `,aIf1fScC/}hJ!Pyo!9ҫδxjɧNMO<60J 5`<Nx>x8M܇\(48da̍1nB Zm>Ce1J/"5sߨ 2vgR#sEr 7)2*WJϑ1 zo=G#0٦_ԙŐ@"ε|'ETa'?'Sᕟ#:ӽ7ӫ8#]8#>r+JAF,8w_o=o=bNSs|b!iM~\sOPK@.3}bvAU/Jt0 (D$6;_Gg `"*6䠯Uv>)%3v[;ZըG =ݎbs)I 聃>ٝ"H5d/JG L y#~3V8=^,ΐ4 7)Y*9pT-jWhNI߉VPbNtTDA&[<-Z7;xyqJrAN[%QϽ!NEx cD0L?n]2ył_G`*3Z?|&JFz!|:BfQcO~xjhoGg`֝UX!S:P#vrO6ddVɡN6 _i- u"^ =d Y <34Jr⅌~:p6(vc[ \{*eH<=+?s@utqHJ R+9$xu p8"ݲjv OoD5 )ڌ}_{ +}~^R_ BG QdYҌDYc}w3wCEzn*VgؽKbGY& ny ݉۱ kGg*u4h˴َ+=H'&"iѧ^Z %߽yĸhnX2N94=u̥ ?pB# }I ^aLR;/ل WP؀/Xd*ghmֱAJI>$oo^@RwߝO'Wݬšaf"qC򞟢Ԡ^u0'/5GG qVGDAbab/`́A6XZCAR"q\_'Le H/Bc4HCJ`kH׉q":_^mbhJl h Qaf V"43'MhҔǖ ]D>3r©ZTg(7L18 [}3jcI$dzkG#0b֮ :gK硪j"nr)aiB3{/$J*7J}U$Crrm.j5 H7||<%4]&u"V>Hňb8T a<їYDI*(Udp0"<RlMi=Sz[9>G# ͝P bՌXjhߩ}u+<?(.̆9h($pG+`p8K1İ4Xݦay{w4AZl9ve\xC' `Mz"m:Dj4TVl`P}ዾYG]rA0~O#rr dIq6}YKF,QK;Fw [WCyubI B߇ZEvŏVyaֲKƧbaՁ5¢M@"W~U>n:Bj !;M^ك\; $èC*P\r5XhQ5)ޝ+7}fūMn@+ŮPkq)A29`疣s`w_5.A؇PޛS8︊Oݭ@8\Zl.܃"꾆L(Kc`O⃁N@^sʨѭDn&At.Y(Ǧ{9' ]J@sEPJϗszZvIn8iBؗn\Cc^FIz2 @#[%ܤ>1=WL>jjL(4n7^S4\FI/ǫ'_DLDU7AQ7CqUUU3=B$DcR}vnaf*8<#6&ShR$ĩaՎ~ {&\E`6AwGDvzK+``ShBW Oq^ f3ҔkP龎iMJaܣ@/ XZ!Q߅r@iy ;Pt:2b==_l2g.| ]O  t(q 6Ɓ@3@ 0F5 ioOC< tk%pQ|+ޣ-9+Jɓ .U\G'Ai 6duPÝM΃!)>VCe!9h[G~K5wV$yv?iw VT]%+yx@7 =Ux+^w7Zxoq1窅mKR%[?$ҧOXyD0oy_zra7p6 g'/w/#u6"w4 zg^@$_rMT"~FD\m bu Y{1Lc]x>]]4P,qkFX(+ɔN.(yQnF  + x@^Q1MЖSDpdKM1Ҋ(Bѣ7G6;b3$AرtlE}E*hDx,LiƒԙːS/UrK4E:r]]vZ#'9 䠑vԎnoS"#%LgcW@/JĖl%&}eJU0Dbɢ`uixxvq[XO ?'8Fpj?>K Ir8bl2 題cO*fBDCR {%qT36nس7#d##& x Vɳ3\͸(H5Q/<אGփ.\! ȑϦ)^Oē eUb63}'?'Sᕟ#:q ΎBER-ɩao"ε|'8 9E@}C8n)jT8 &E+%ZsR9p] +-L‡mdsG_ ߣ|-ധaH6شi1c2q> -6|{ ${ixﺐbu;2كT,1.[Lu I 0Y<`^Yq7#+QsM&LM=t}xr&~/ <_zO/=W ?{Lm} 8 ƈɉXLwr6B'9æ=u Ҁg˲՝At f;^ȁP8TR7 JW)bm0anyZ? IgZPZDXakQdK&p>8~(0CYQ8l(:} ֣f7BeNE.6g19I`PA_ݏ'1DnYXI0IUh"`DžS/|Ɋr~'Y>zʧO;$2or`iTbk:TrXEH5J%eVK wjq:O%Shb8|5Esa08IĈhe[qkM_I]9v2G.pi5$ްBd r'SwfzΩg 0ޅ4LD@2{칛"U%e#?سqVU[F?{ dCG'G$yNGVӅ*Mt.] '-tIf\rJ{Fq 44d*JAqȹ,ɲ h"> OmwiﺥJD_đO) 6:]vWC꡾|Y԰",8% !M{ͥ%@=+97c ElgfȓGf9^DZ'aj+-\C) N'k٨H`j`Yp8<`ɗ ׫{c"~{*(wt9l˔7'Fp0hJvCuW1rd" I71V"5ވ]>}Bzl odt'U>Muߒ3!k-><ŌBBN)9~Gb>MDܼfw; ŕewpR*NxFd,Pl|9uuAsΈYi`Dًw"=3p{㢘Y-iI ئLjB1Y”m1[z$;4cر-XET$ SF V4ˠ=T œuhyl+rϿX(=]m _-&}0=|V`2F;A;4ݖ=k{- É nyjψCCCВ{YEV\.QC/L/!E '챃e"D%{QRx ~Ӯ%GKLiѐYð(i/ eYB"Bۅ^ŻbXCoca)GiBXo;=v行hܟ+io%1.Z~4D t&A ҔK(h \x?4$Au-fG!E⃮^QaMv2Biaz̰ۊ-S^ZhiF͛>!9zM7{dz=]RAI,yZxc )z, y3Tܛ/TGfJ'nvև /(Mgk/p <Ԅ bݪZ> Re2JS<w{#Q0P4̍ۤ_wiIjRfV\SEռ#gG|\\GyVfxԓ3a#yRhG;UgEyݳݟL 8R c @1Bj3lֈ"].My<9zZVBRrZØuRt:0In2eg3Cs8"lm 1uF[Bh͖MNAB爋z!bNzol3͟ZbqMVBreAZjYMT5OS*Dż{5T$2Y. ٚi (~?DL?p\ٚ_>8տ/]D"Rc?RS9Ӕӓ[8BOMms/\{ (\{>e tn2Bg|^}EQG ?iƪJ=l3F IDAToؘۄ78G f\A29hia8$#bNkx75$ 7XGdCMINbAWWF#fXY'l}Oo # 5Q\1ءZN**R6q&`rWau9:DPKKSXU~z]?ß4gQ_D#VW?`͌Y/3Cz|8QTvf`gw҂#1hy(F 3`a<&$vܘq'MbkmB1BrKq{ %*:T\Zime%M4d_1ZG$eNBRcSrp;Q81!i=n޼I#ž4|HᢒmU i=E ^2| $QF{hu*_Xkƾx|ΪL^G#D a!R¸$.i={Zuȉ yGF*Mp x,G#p#SD@] |yšlgF7D*W p8aAs SœAHb:'D*Gr8G`a(p;izY8')D Gin Z1YG#XpdzW]K -]" +D*],/,G#,&Iq1e{PwU!&Ȇ"fs8]'^ \;{Tc +G#pg "clF,X64!W[,=H6f\ĪeriI8pv`ړEhӊmkMѐn,r,WN ꑔ`r11<ZLJ6G bp1(g JЉW'A+Tia܊1zs+8FP%Y'kTGj Et$&ۆ$r0a2 R/]B ݮa +Dt:!֨CAYu*$DJ{:j2r=rH$q3>47:ސ2G#8 DRX:p1$FfOи\P@]ho/D2rb@A0 { 𐏹h , eSЙe 85r0Z߉otb2?yDjb9ႵqV>[G.A S#aX"F\z_‘.M2kl+,#%#9"]\$3 VøZtSt+ȷpAl>G#DN"(PF]Lf!0%%IZg]iUabsfQ$#x]?dq~g HӜ A gtMdA `dB *w,9B$[iu]$ƈ9t迋3*?C+G#18A<MXӧ;sg>*Vq$}t9i5!0 \r6s^ }vL ~zhM'b<kH/T)qЯa|olOA~fPWr(qKarԕ:, :#p"?1DIENDB`intake-0.6.5/docs/source/_static/images/custom_button.png000066400000000000000000000621001416666122400235420ustar00rootroot00000000000000PNG  IHDRz)z IiCCPICC ProfileHWTS[RIhH "HB U@B1!ؑe\"b/bw-/TVł 7)w?_2w z<4 _R K eOKg P/c:@T7U B9$L>RTVmHUx"F2 RR*MRi<,g!M%=2A|Oq0N_d3sĚ\B˥yg9)|8FɢT9ú̝4%qBN,PCREd=jΗs`bw/,bs#$y1Z}f8 1\!hP(Orʦ& ,ȓO(rZ"!wu()U3F-B 1SE"ABId%Hb EbnW<;U7wԌT#LΐE,6,?|wDMb*_tg UExnp?jtA&=FK` `>ƀ8dXe\20AjP 6M` fpyp \@x!!t"V=x H Hd#DB  و#"cYGCij:#P_FI$4 CwM1ՑHMPSԓ;W:::6:~:t:ttvѹfHsqhi VQ-+:@ K{w \]\&˺(zzlzzz{.uS9<95o0 F,6np!0P`XjCưep|fIFшkcTaӨݨxqqq!c%c:0LMsM65\ƙM7[ovҬ{ЀC 5w1O0iyEbqnKee*Ö]V +*#VYlVucmnehnghlSb-6vmmXYv vS}EkOۿuptHuѡᩣ#ױر)iSUgs:K.ȥ+*v]10odXݰn47[[1K7>nD#NHÑcFlŃQqՓ9׳(QQGbxѫ듷̻ѻ'ç熯ob3~P~{;- 7`{ю7~h  be ? l yvfwBsfsaaaa"l"#"z""gF"DEG-ܞ1>cf9MN~#i3v;8Ǎ[w71~ZoՌ{02aVDFoB&NvJV$LLOy"U9~ϧZI)[{'OX=sIJ'9N*tvɇMMٛAH؞ǫfr3k3{3A`K(\!|"iv`.QR-戫/rr6͍ݚ۟+@b(ɕj9hjUZ&UNzZ,ZE'[ I~aPaM)I.phƓ_f33fYϚ?ls9s-9/r޶/q/YQzARyLLVvǀ7,/\vrA ʊ4򧪟d-i_t22ɲ˃o[axÕcW6b*_zg+GUnXC]XjYkvڏբk55jkվ]'Xwy} *6|Y͍*77nz9e_|bb˧m No7߾mP4t호ΰ-nw1wU5{۸~_~&iFSOYْq`́ր mA5-=L=\zHޣңDz=lvWO;~2Sf>r&g=|| }w{E-.v8|9+aWN]^=-Z7oL)Vޭw{w+߫v)ݿ },}L\IS".9gg}eUC3EůL_m}=u[o|7oޖ3}R?<џKy2(fer+4a枧Ds7U#.oa:s6y6Q=)M+,O  x_Y@jo]0[_?5<Bá pHYs%%IR$iTXtXML:com.adobe.xmp 156 890 1 N]n@IDATxĔDXe ŀ L3zg8s:hhsٲerE.vVǝ7n8gԯ*C$ԘjRNeYNSGPamh/E֯} gMҭ[7yRS=#?*zggZùvZ9sJgaLgYG IH@YYYm---x]v1|Jqqqx;چ3ݲ&qݪ=֯_?Yr|[o+#ڃLsʶnkOH[ƼeGmk:x]g HHB?SߛcGJ~WQk Riew5^[),,1sXƏ/ӦMyɪU\uv (&L;i>}zj,#h*e"qJj26,^[&KW/45RPUlWQf۵혭S5ާ%D6{V!KRXMeI7WHa`msRו.o(*db+ZDv%PRVSTVEj@_~nj$@BV+̅ څ^ލeo̵}]Mp;/|hȑm\;!gvaBTf7m$W\q|2yp]x/a _ b;N8A^}UA #v, ȜeڬiH HNf_.)i۱@z'ysm"56^#x#T<6Nwk6> AGP] j&m`BrBcLSK$|1cNS5\/ ,t)3$MߍҮ];i)Z H@Q_Őw}AqA@CdJ`6ʱ- [P/~Q";f6SxJAϝvlG}w 1: YtD~oS{1AO sq 5A6nhov!Cͨ맞zjwyGN:餭Y@$P?F+WSȟ3gHRcA?:eݺuhBmwlmeUn˳⍀S1A]7U{qTI.D}*|A|佡A2Ѝ JZl̙ռXG ly&^0KFfdVWYQ!e%0s#{pz"&mD< #hrm,YD>DǑ~*FY):u+VS!t]^~ecC0DĂzv~=dM7$￿9OivOR J#Aѵk=F]ílʬ8Qf7ZCBJ^hۡ15)/ӓ*.K[*rKVMl_c7zedQ)ܮ;(zK/K;#[]5RZTEfYrdffJUE3TA$К `^"ZjC"' 0`+Du NG9AΓO>9|me &r:pE@(i2j(u1 [!SɻkFkÇb:bĈj'hK756բFlU*rbP4x@usw:8;l?~=oyj\Pٸhe 6:*g(xBWyȭ7gWޟQKs:Fd5fJ-*'p5E`")r%.Q-2]Ex=ӱkRǹSO?HDK.Ƈ XCem^yYh!\0`*DYYYǢ 9,~?|b*5)f\Yj]@uM$0OYeW tAqv>_h%2]z;IR _qE暤51h¹0w[xm;DJVۦⓄ*DeHZsjSj;\LgYd0Eׯ_+:h1W0b)҈?keͪ[U Was.JOUN< @3Ek&cHϺBWz nCA 4 $Y Nc@ЛB4MU[la/]@N(rx#=bSSI+@§$%ϷR?6!jWe>)5@j2\Tr5ԩ↹$}\[W¹sdU}[@>$vHHH ^S}:@|~1ʮEt,tBc¯ N@Mnļq:reJ[wiʑvn !AgmXCF3VP73i.vM؅O_!jMHn" ɝ&n-z9m@t[:l_եhFʒp:iF @mnz3zD Y5yH@G?iuc CM4&M`S,/9v fa"p"kX5EdN(u!3[º@֢Q×F\DΛ%V,Y.E$V< ț,]v&#ΒҒ"ˤ /7q:ϖ (+W5Hg9 4T^ <̱՘R)\A:ׅB%"n _I%E&S2kSeg7uKUEWD:~gSN_ސwOJrvQ%n'tit)W%WңG/)P ~2%KWK|ꚾt\c+.*3UcKsiNX~%'[Hfȇ+xV]i 8 ZVZOJ4dn[Wۄ|U/+^oo`,q cO?6h@AbWi4u.9d:z eǡ QB_l,fUi[=eJU9ywWu٦뜽~B/'~$CvS8L:Ȇ5LOnU^^"E%Rntm L &T暛:G$Pn{e;4W%4)e7H9WӖ^tZ,9]j qOt'ꂧwE?5%*zX;UX[zB}iѤ@)}LkPey7o;H~A'uZ eJs=:O-iꮎZzjRDv @uR%?LN*9YR_aՋtb`:=]綬/yW*x&ܪbuwb9 TC(j 挲]@6?DM6A⧾yXԶg3 f^5aqbXmj4 HЏP*֦)&f+b;C(d\ҥC,Ό)UbcIHHZ{-%7P&NM.2I$ jUYXK221OM>yzi jyedotYwY椱o5g*},.SBZ<%E-|TeaHHHĝY>X$ybS2BcXIӯwYEr=o.:H+E}8kO){ySH ͋*lƮ|:i.JBC2l BtDghum;yxRZ^֬\bwYa*?ݓ!eE2iRRAKR.{Ua YfuZPA ԕ@*,w; E9%UI5pAg2* d92ߥPzu,K,O$}zF ޒ eчS6~+'A[\0åV IVZ%ׇ=JрQX:p Yzlӣ/^cއyd2ۯ~P? ,[LVU1=:W~6G*w\{c#  hBXt3X>ɷ_%?MLJ8{a&ɧ'׬촀[Oš;N;Uׅ,ra\/)tA3 ~]|=+9mSe̜SM@>YxcT&Ni`X4kC=I   HPg2.=@6`iӦB3鐗:NKʒE ӏޓN̓]vUޝZ嘣)9ޏfEH[iڄfMPPQQ YM)s6lv&-CHsx+.G+9+G-~:8K̍ʢ ^C̒9%Mӈ@[($@$@$@$LX;Uku*}o' vCyAnW"K.W^|V͛%v.? C! 0ܼ+& ^Cp ÎcF`^gΩ<Q` :oX9@ū:K~jːT]JRYW&:i>=Ɇ+zA[Fdff']"A]=۫9xE˽I͈#   *‛j|2mYb|6Cœ &ȑk= H -kh( #֯ (}/ztFVɶv:~V:Kv9;E$@$@$` uӞ5,{_J=h~1'\|9gUn@T܅6O5]R6 y_9*u^gbmC~=_*Z%S%Oowca2ٳur3^]:2SNzb (A2tU:u/D$@$@$P@-z*PN?Tڵe̘1hcu&j ?fΛʗ)J;G)pJBݻݸntmq%7# }ன[|..Ex|<)@;צM;/MpjhMe-Ś~AhXjaռ( @XxۧOo,[H Fs0iu/>6U70y睍E:}klcܶe\oMmDŽ`˔)SQ$ey̤oۆ LG @#PZZ*_nҥKO9c?ʮB$xxHHHHx堃2S@8~hl֬Y6/Y$  !@Eq8*$@$@$@$$sOً3$m۶n 2Hq 4x^6W#   pt>@=PyLpK38CkN(kԨQ|Dl $ݻ%\|cH NPыf @] V矒/Z/1c d…`OѺo߾~ɀj=_5a.]*%%%ҫW/߿'|"x `L4Yr&0=κX6i$n7oǘIV{=9ri$ PkO}&  HXPx +J?97ntܹJ9v~uQnuqrUW*k+Gy|U#wwމ,6rQ#Z(lg-WL^,`N%oС{ROW_mkRxa%㎓8fwHHH j"Xz!6uT[M&L޶>OhA`Q{W3ϔO?\oڴiҭ[7s ~[oU]Q*yPl_~e/f[@7H&Ti/$@$@$@o-]tkcǎK#9υpFʎ;(?q =#7xiń_嚰}1DX$#eёE'&@̈́~|l< @k#@#~xn{rwᅲ.,\G}$w_yruX/R{92e.k \7\. Fq_ "`4ݻ@.5 \Tg}V &s HS9ss V Q9arzx<A֏{䫯2ֺ  @Q§}7n@ѳVM޲\믿^O^9@FU*z\=2p^ǖuc2nīcY3Ghv'S>&BCnvV Dno WHAgy&8ȞwGux嗇G>X 4P2 ߻$?묳U !(꫆%#@T_JMM "}6Nqs~iy~mc=$FdieoE YZL"|ř.kp-vEA<(֭3 dOȠ=S]]]*K[&HL$ƄA^^ٳK @0i ,7vm8h 4(9@ݮ ˗/DmRy t-0)3314|Kܭ;B^SHHNY`hAUlh`$R1uuږaN ksgav(i+Y`({F$@$@$cjK5%/\b% V=fp"b-xUPk:f浓sL>,35"P`C3(HKizPlt9<XU)$ $\g 'dc~%ћ"5w}7N! oU5Vs᪉ x%dܧ%m‘^]i6%=kɃ,ܬ)$Z 8熵V7 ԇnUsZ㼼^ ;_,o|0/^zgy༼g+&*zb Qp?Yku׬UiѢEfZj:b'fN^ !8KB,5 EwXNO#h*ITx]   '@E$@IUcIG^ R \Z!R JEOTct5H!N6b#۫NF64V%{voYevXj)Zk,iknRCE/)+;E$@$@$@$Иf/ ʤ߃2yfP UAYiטjkAQHm]^t\ҧȶ]]WvӜf$@$@$@MEME׭zU&N?)Y.Y AQ$=-d-VbiaþaHBkkDY6wnzX xX -%zd`Ol%;uI^Xf&@E~$@$@$@13*VlIAy|;nK{TKF vA.q[twnݢ(SM%ʠ l ," WLj}M즖]dC ?Jπ-   jQAyQf-jڂ\2f7Q`kE.ʌAc"KWWe>D]rpQ[+7{ H^xx<_T>(L -HJ[V%6Lm}kCTˬodcٙ"FUs14MEE$@$@$@%@ExuA_5:MQ痍Uj}u,{+^6 o~4n:`=Vp0u4-*zM˗W'  h*z O>_۩nYսsR[vvQZ9FAy峀eU)@;q٨7 *z|HHH}4q0Dz*vHU 60(K9?%(/}wڇ(⒓Ǹ刽&rim(*z %IHH&CۢpY1(y]EA)))zA)ǶlYh&)7xu *H& GIi̶9(P~.{K܁ buR^- ynuYMꆺ\u&@Eok&,!  TA4 7jmV^J^xk穢w_\r9Ҩ.@{qbU+,\ptG!W?n<HHHPkMtj )vf&-ql#&JPq$G$L N{&d-V $$Is׮c521/M9ci}z΅<|(Bjl%Sr*忱 %!  hTZ{oyro~G p8e!G$u[::ּwwOrͿ2u^W$xDMLzvT|՛o-g; H^Z"[>z! Ou[NSWCeA:'ֈ(c۸zz<' R|Y:Q:8/E:.%:*zѹHHH Pы SvM#'B Ū7PY&(7=rwn=J&PZ.rS~c9_"^Vm$@$@$@B^KvvtA[Tk$@$@$5\ʐ wh\~[e˖RH N yGyNw^ˤ6!PuQ| V֭['/;ɇ="   HMMc992rZMBˎXY+WPc՜U7g4%3򷛽`y@4*g9CŪUvܹ)׮ol`HHHH @͕xR/w/[ߦ fޘtl %sڵRTTd>}8~شZCݲtR ^Ϟ={5;Ou5]ZG%N,&   '(w;A0˜哟F)dOJg-ޢ@"c{T=$En AWȃG"cD[mm9yXڶm[۵yHHHH`3ۦS5/~ QUHiZF3䨿z{BBJS67 =;ɫc;H gH.xMuAL|^̊\ H@!   ;c]%Р&9f4j䉋ɈŲr]PF_T.F,bVlmIpM$@$@$@u'\c)͛$I]r̨Խ'<@' DN< UJrɣYK֓ @ 0sQh:Kf>$PWr&*Tg$GEo @(eFN$B$P=&]NUeo%GEg#$@$@$@$6+x0 6W˱X~Z5כ @3+4̛0 6#5ު5p̋7SLJC%^k~w   %йHnX'iB= @Ruޫzd,_({EcaHHHHN90\*. +HEҽ-37VH Qk+{I$@$@$ \tlIos''W]'"ᑜ,LKZgEdĉ;p ޏ1yd6m9MUc 493fȟ)G}t߫7eJ}.&$#( 3gΔp>}I޽2j(1bD"tE˺udCH;qɳza?2[N?$qrR?9~sΕ;#mGg}:CE2   f!p䨣R)~5a:=`ɚ"/ܐ.Y͂^7 |r,> e]VE;K.oQl=oC$@$@$P7nk&|&<0w}{|X 2ryw7|SnV9?(ٰAf͚UE)4Gxy׍E8Fi^!d֢ĘWO?$O\($@$@$@A:‡zH.袭[Al.k'ޮ5Qaޝ 32Hعsg eܸqRZZjO{,RRR駟jgcۙ5a^ Vz!GytIxª@'VT0z`o?{wUƌ#wioYx9f~*

,_cl(.9v"b~^0B{\6mSO=e _W^yFWw_4fhǷn;t_/&LC5?@:~'嬳Ί,6_40 .+c! @bplFÑ%cSerM^;˿JˎOmPb`LVvi)2gS.Ew@g,=(y~>h?X0X+DZ7oQVq\_bB %f~{mEX(Í @;x!.7+v9.W 9\^y8S;j.p\P4ᦙkC@s )f%DZ?!PSy` ;v~RD@&P](^pӧZ~nz=0.p0`aD.Ď}᪉q/A 7 쳏\n[Ӽ=W27N#7dqB.]j^4S?ίgN䙘{_6gL;&V÷?8aÆ*~pa0`_Æ . @bY`ID)dȝR4DPB6RV?vMDsޞ= ܂sb,QTumck2qcUk׮Ȍ3|H+niPA2C^a :=޽{͆̅3&:_b? 6v*3gδUowv[}d Whl7JE/% a=9U$פ_^!7j xS bPV  ZmRQQ rt'z sly!L =gN[7//nnխ1nH.0 )iy"k E6ʣJqaZDIDATs3=!_|_U~h]/#[j'"~ذܹs#mF-i:RvbEjuC$@$@$@E`nyr[^'<Ct4 ٹql(zCYSvnʈ8wMkB wFS hu1!dYhĢ;_}1vE* `gj $%kiuF,wv+z-OV5{-\l&u=Ym   W\3vzxsW ?olɳX8p`R90lހ3D iFJ4k!! 6 ,]g6YpeM:s"ԦzF< T Y/{86rn #OMk'Uj r݌KET `B1h\^9\@;*N7O$H+GCIHHZE_]Ή纇"Ӟ˔o˩Vk_#W6Ϻ :XldG'X}Ѱ ARl:g(u&P~'6 9}GUcw'P`VguC9r3#]""fd]}) %aXn퀁z!\=#ꫯT 8#tqٽ}㨙i!7F Yfubq1}o=2Ӌ($@$@$@Gϐ;,#L"oGH &7|bE™AV5:% ysE(,ΜvΏH `e:7m39C/փ ؈Uvnh38lVELAdKk69w]t7A S$rgo`ta`/pr AK,*NKcH)[u+uO}xj-qkC#%.LŶI!ċi]q)% scĈ3n ˌ0e_xᅦXA$@$@$,HH5 ,K5D9v2zhrW&ᗋs+eh#(I̍W"aNRn-(d^aߞ{riD1Q7PBtDT(s`5{oANu0ԅiEK/m5;\xU'Pf*@уi]6(N%}uFq(ҊceaE$5#~xjwZdQ3  _6ߝ)?i_j|!BRK/n~kau&  _?ZPZo4 K%T9wjz 'pQG Y &۴\zdˠdAG +ƽԃa@LSAA ѣG]aƑ@BJ sTl4OܖcwF=&΁EN3UF! 祥U. #1 ̝k 5/B@Ѯ09vs3Rљg)O?t=y/-Rd& &Pؗupm| {&H5 @8b̘1Q WtVqס'm\r)irTI:ίWSgZi;p׌E!q"sEk|eoH:CXe)7ny PJ~앩src^y-tF4&AUdP 1}. a4+auر`&P`$i,CI{4WYvL|{uxOIy5xjmi1Mi(Z3f0 Α NCZ+dpѣ9RjSbrOK$@$@$`<%grlL0$D^Nw_sUU!y$P+*dd|pwk΄k1kXN v=XlΕhYF$@$@$`\8mfѢχ#  S9 }o2Lt?+qerNj>YWXwuH%rܾ?甊^ӽ2 ,|kڅdWyd`OXJc{?6')sM_LSP'TaHHHH3M_Ȑ7n^;H7(/~=+O/{'dź="rjK*sZ%ݛ^lXHHHH  —<2y|V K Ux1re;>Y nK@^įfdg䟧ꗊ*z D   HvCkey|;l@ (Jd+W}dսIן&uշ%Ko; $mC0Ay z_\Ƞ^n9t9hc{l${R;~r^Y)(E6Q$qZ(DN    F!}l'Mn>3X/޴ԨXzRr\["zw~FË4 %K?Yn(7(y    $ЧD섥\䫩'LYݧK;d)C Mů)M^*| %#xIAq@V   &anɲ5As`dU@&|%tj[]2L]mT@4qZƿS Kgk6w*fE/==]^TTTHFFXF$@$@$@q@c)V!5%'I1 8oYPQίaN_@G?bXAB{epl%vuMNrϳqIxKzK>]'1'ƬeggE^G @+$cxxqh]v"cLt:' ugh ^7Uz6.齍[z^oŝ0]fֲn=t MqJPN.pGSYlwcVڵk'6lK~~=k    :X Ur)++xonoZe@*}"d7{I@UA}oX\+N1ի/ʐ5orH:tT|>{9D>yG=TQ|ƪףG*{ p   "fYxqaZ1wѢEvZ)((nݺ|^"WD4(}P/hۇj6س3?X*.y.YVDm_W(L~h ʴYlEʎOCvO\+ I[n,\М߯_?iVPHHHHj%i&3g׫W/رct5kiƠAڪ,s*}2oi-YfEmc;th#6ۥffXGēs8u~Xޥm^'0EWh۰jV/[-ƶZccYб͛fsSe-,Sy?X#H_:h4(iX`V2(Ϫ,(JD6e STjE;uUK3sÖ4V=4_5 B˞HHHHF֒J1TO>^٫Aـ'Vb蟪a~ bNYgnQjv^_a"?&OvZnטY͝^NNtAڴi#`'46f#y-   H$#&`N^qqi~)y9,HBƉ_ff&}PkؠM4RV'0i VXʽިU )Z|j!+ ]e]VyTi 擱o*8ouCmׄҹm-v &np g.ftQ+4\Rak<ᡘR/E@ƹ|r3g/o$@$@$@$PHХKp׬ֲWq@˓={&Jsz+zP >ȳG!   C DLx<3JX,%)sYZ,<'"DHm5F#x       #      d"@E/&B$@$@$@$@$@J_     H2T쁲;$@$@$@$@$@$@E $*zI@     wHHHHH${ P;@$@$@$@$@$@IF^=PvHHHHH      $#@E/(C$@$@$@$@$@T @d!     *z|HHHHHH PK =$@$@$@$@$@$d%ewHHHHHH     H2Iv@II]VB`\!   &rHNNIvvvK7))ҁ'GI(ىx#h"[   gPzMLQKF&9sȦML C)bE!   Bv2Y~Zh۶oK%nՙtIENDB`intake-0.6.5/docs/source/_static/images/favicon.ico000066400000000000000000000015021416666122400222470ustar00rootroot00000000000000PNG  IHDR szz IDATX=WADDDD,DD,0! "DD$ [EHNBDBRXX"F QDDBE1ʰnfLqݹ3Nvqט;{{L-V,^d>S*'P836S46ոK`6Y_ɩd)>/V& bU+5.5*@4ƋQVW°%,,^ u\W 7p6.00-ޟð.%87c>#2dz-&wx( .SrIENDB`intake-0.6.5/docs/source/_static/images/grid.png000066400000000000000000000050531416666122400215660ustar00rootroot00000000000000PNG  IHDR5sBIT|d pHYsaa?i9tEXtSoftwarematplotlib version 2.2.3, http://matplotlib.org/#D IDATx۱m@EQ%PMZXfce6{Ds%^ sy -#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@wm;c,"\1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @Z=X=< ~[J K9\='?Tb @ț ĝy{</}m۶hUnCi6Gp1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 F@#b @1 k;c3mn+',5s+cP=1 G oz>'wxO-B ;yG(3\@J5b]Ki^ "z+ME_<.H5?+-ORg&īA 0 82L}}z& d!ph=RU3xM%@>"4U_]@jH CAPyIFߠF|kʹP(yY:Öpb1AtM <8'k p0ā$.zY`.X@X ցjl;O`h p\: WOx0  # @lgEp$I@Ґ $ d. RF-H=3r9G:Cy|@1f:Eh4NC-EUhmBOh 11K8Xea2l>VUbuX# Xևlj8g.pG8/j|'ބ¯~3N0%8 \dB6aPIN8H8 "$}ӘF!!.#n$!'v$ɘL $őxBRii7 E {#d y1||z;iӭL"ͤfN3Csך5`XY-ZebXUS~KS(KvA+{dV{[S}ZYXLk`sǖbk+]o{]wvvO% u;P'/'SegYѹs aɘ17]h.l"LŮͮڌMjٱݼܶuwؽߣ'3sgq6W'oowwOOM_xe~~ /gK@n oh  !+2\(:D= ۑ~* =ϙ9E'W?Ȏhy<*&׌s'L7T4-:1:QS,u":q5Jb@7nMx_&'O8=anDF]oBV$MvHV$LMOy:k&_L3ISҷL nJTeSoLV9?#D_+95|fNLU__-.G-p~IV(ݬY%ŗf;^:IIDɏs99ms-.p{ޖm .Yp"E.v[zoRi-5+]Xm ee|y D} K? /TUTV|\_v{﫾Z}M++%+o ^sk&iZZ[Wܼ^*e͆>Vׄ5]Zv`M!7mDniJZmg~vHvtLyާ~ hw?ҸesO^W3~/z_~ld,oBf77ZZ:M8z_v<\sȊԣG8.=w"Dwی''vjҩѧϝ8s,s?.y]:ׯ۽ۛ.\nhyJWîƽvz7nݜzy_)3xw=½+>tywyңGw~1q'O=}=Ϥyr ً^z북o -gn{g?~x28#c'O?dɆ7 } R)Dx6U:z+Wo,ߎU pHYs%%IR$iTXtXML:com.adobe.xmp 512 2400 1 @IDATxUBB!BMB " *JQH.H& (iDAPCIB=ݽwnr{g3̙n|{Q) ( ( ( ( ( ( ( ( (i;+( ( ( ( ( ( ( ( ( D ( ( ( ( ( ( ( ( (M $) ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@P@0I8WS@P@P@P@P@P@P@P@P@ 3 ( ( ( ( ( ( ( ( 4)`Vp ( ( ( ( ( ( ( ( g@P@P@P@P@P@P@P@P@hR&\MP@P@P@P@P@P@P@P@0π ( ( ( ( ( ( ( ( (ФXM¹ ( ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@PIs5P@P@P@P@P@P@P@P@P,? ( ( ( ( ( ( ( ( (@`5 j ( ( ( ( ( ( ( ( (X~P@P@P@P@P@P@P@P@P@& jP@P@P@P@P@P@P@P@P@ ( ( ( ( ( ( ( ( (M $) ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@P@0I8WS@P@P@P@P@P@P@P@P@ 3 ( ( ( ( ( ( ( ( 4)`Vp ( ( ( ( ( ( ( ( g@P@P@P@P@P@P@P@P@hR&\MP@P@P@P@P@P@P@P@0π ( ( ( ( ( ( ( ( (ФXM¹ ( ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@PIs5P@P@P@P@P@P@P@P@P,? ( ( ( ( ( ( ( ( (@`5 j ( ( ( ( ( ( ( ( (X~P@P@P@P@P@P@P@P@P@& jP@P@P@P@P@P@P@P@P@ ( ( ( ( ( ( ( ( (M $) ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@P@0I8WS@P@P@P@P@P@P@P@P@ 3 ( ( ( ( ( ( ( ( 4)`Vp ( ( ( ( ( ( ( ( g@P@P@P@P@P@P@P@P@hR&\MP@P@P@P@P@P@P@P@0π ( ( ( ( ( ( ( ( (ФXM¹ ( ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@PIs5P@P@P@P@P@P@P@P@P,? ( ( ( ( ( ( ( ( (@`5 j ( ( ( ( ( ( ( ( (@D0cƌ&3=* YۣU@P@P@P@P@#Ч4Ֆv0~p}uY'5bĈЧOxp {-nqXP@z>N>xN{G/炯}kaԨQ#T@UzYu0GqD:uj1C K,D1oN?*{b/׿/| a6*{Ȍ3UW]=3w îzp5^W_}5zŲ\0s1̲̎#{Wwp7XW\\xjҷo߰[暫+6/r=[PdGYx`s9a喫Yי ( toh];;0qb{Wzp ("3( A__# -P Ae})Ak]Ńn{o}X<$7y6l@;- ( ( ( ([ti0v"+H{)Y2bDZk^N-e]O@",ҩmXYP@$pq JuG ;moХP@nߺ;b{_&;ofrif.õ ( ( ( (@;5av ~hO=\G?~Ꭺ\P@Y.裏:~?򑏄w9|ck w6󝡀 (@w] ]n6Mz{Ev6 P@P@P@P@#0Z^')4L;m6󜡀 (7n\U8=g ]tQ{«!>g9 (@mފ6[o ?|{.sL}CYL40~_UkM 2Uy ( ( ( ( tZ.Kds5WiNϟBYs5袋WXape>\y?K/]?О0aBXl2,F ;KbF T,{72.8 /[newyy\xp7|3n{׎.~_ }}; O?t>|x_V,Y׿\pbxQ_~* ƴâ (б慀ae / /x>;qO~6|#7pCNs17"9sN-آn>1yp XS믿~<έڪoxπr-WϧW@輀Y~Tĉo{,~}뭷°aŠ+rߎZw= <8Nu]zZ8f̘7 SL |gpwo*^gu$. 봙f1"qnyj~#w} nz$s5o JGކz*\z饱4_2|~ibȑ1*xEO~򓡽:2s9|Fgb]vߣ҆x9c%]O{(G*\_n =tа6ۄZPP@P@P@PNݦT.ͨ\/+Y+fT.8gT›Q h8\@+c~g^X9c_fTnvΠ xO-ml*VurM}LRtM8rqMpZeFp+Jv[ޤIuoqgW-gr{FvUr+7gp Tv U͜viUӺT (@^?9+~#z3MWUn>} +ͧ+Bxw*35xק>5}٧/ͨX ׇzi |F4OٵX7?w~ݤWz>SygfTڭbQ@P@P@P@5T̎?+ARūa_?33m:.3Bv 2k+-Zk*YgYV MV%+f ; ώB[Wӟt~0oAr0 {`w]̍iy+YVyd 'W@褀['ߖ?6 GA$tm|~g1Rr Kpq'_|PIYr t ,@|6U48.: ?7vСCNyU8x'^x@P*.$(I)ܨos{E[n)o N›m02u,Q9sY6(b\vaEJ71hkW@*]3!('Tٵx"Vt˸@:lذX\dJ6|+m)s[|$ PW+㸜@T~Qz(M!w^9ҵNlpN+K+0zx~n۴ enq.zw˜1c9+nt*]UL(ٮҍk6czT>O~5l䣭;oڜCP@Nx~ 1+PoxKjV%9mJ%],>^zb]~=3^; 4(+ 9䐸Iݔ3>(`<@W/֣>Ovb}kq52m xKIl7{p]L|ol&~pR!6xq]*?>dJz-M/< ٺoI ( ( ( (-%r,LtG=ׯ_YC!CȺSOajkt>7;$Hvrs„ a1}aیsQ+r /|w[ڗl]oԩUlVU3Iޭ*vnL!p,os7.m2o"?S~ `o>s#<_>_u]6[v-vzq,biԡ (@n "#aϹ+ J1o喋AyCdjeZwr[9o|E {7a+{%\0ΓE5X#PNy^G6cQ@/緤O Q~_|Ӣ)s/KjkyX9_>dQʃvaLK< GOwy7v^΃V:묓֭Aa|wLߙxE˫SZC,Y/:Sm 6 .Uwú ( ( ( (ԄB44dȐ"#mMvw}.7l_z饎V|7)P*wTw,f.`=hib`W6f楬ZL.Jm]D}'Ӭ8ġ| X\iZ(v#?xq\(aCP}?c7tW[^2tT馛ƬOn4w״5] yf2, m]u',/dY;P>#;ke$$TsW?YP@fN[o"Ct3Y~/9^~zk߄i +Df]q !ણB^XγKVTfo~S5AP93\E!&: ( ( ( (".] c?L*]pћznb$8d(]v٘5R^/_6+(|m}٧5TK_Rqᰡ:6RQ&KiYj>.!+e nMWXtݐw1PP@Os1?~_Ʈaz 7 .Ms=7`r@SZV+ڭ\ͽr)\sr ΃kHR <+F6qy ( x~3[n| &pNͨJ+5^ɚd.CGiyk 5T<֕ٙ駟~z t*TTu! TIr2nË`12PEP@P@P@P]EsS/ Æ \86mZ "-?AX\8e|=K u8^n>R EY$fB%/,0M̎ab-7UnkjAh[lE|_Ҽ;/>JZW<KwDj!m^3L%<{]wUeh{,uѸ^|) F z.ɰvᇷ,d0![ sP@㼝ZkUd_kXu ' rmх^8͊tT52A&rIZmo*8eHɻMj ˁ)jG7;M/1]iv!1~p.Tp (@K;Zwk_m10.;>9o[ ʻjNo\GΥD]5FK+ ^]s5 ]ˁy0`@ + ( ( ( 4/В,YȅQ.D0 йGR$:0˧U^4Li\4;V]ux\m uY(|9Zܳ:M+b<UG{nʦ ~6EV /jtHFf4ZyGULmL(pcX,缯rw]F*!Oʞ}ٱ[n%]OzZ#<2PP ŨJw6;(sf]1 @"1)߳wf+gtKnTNTwVζ;]j_鎻X`V7) ( ( (s@u_y]xܼ_\"CXb-!Cғ)Щ<¦ujS#F֨ACkpS(Rv iWk9E>AS8-2W?O}*j+?yJWܭHܧčo}[EuSƒ:;{VZvꩧyoNӡyI_;ꨣU L#3KzX6ۄc9&s=.KrP@9YNdG |ϨU)}_9\ OtKȈrYXْo7 w}7( Yʅs)RN@\_ o~6vkù6^_P@O۬;%ɓ'^VtL؍| z;7ӆ\TNrw8 VmhN8.a˟|Yu&uuY7k?! ]mK uV@P@P@P@9`qA D ą7. ?e]6fbEJnX7.i~'Ӵ tE9ndm}3d$A4taRӰ}lO>\H\2.YCχO?=s`VN7\ϻ8<zg?Yxrx.Ӿ슊m*. "Ə_BݱcǖWqZP  / Υr@UJ\{ Tvۥ6C2QԕJ95w>%cȑ#|Wg1~W=`]wͫWs~z<'tR̜8Sju LEP9o!Vi!w Ț]+&uoxSz7l%xk ݹpNhNrV(^l\+ +hI3EP@P@P@P@ ti,+e(bLQd7"7D 2H6ZPuK^ V*'vdzc 67n\EX?䒦g$݈mdܘ=Cr//\lKr "s8R;|ӜyUynǹ@\\'M4<{T'cZNʅ \σڨCضn[ (@&@_6eUڌ guVlwy<Ț`$1r}moQN2Srwmd"0W˙$OU_W{u, (V߬+oߧy؞g-ݢrW~7;DGJ Bo,Kmpeʔ)q֏㐺Nup7 bysӶ* ( ( ( 4'eXBPH\<{#n&O^z0}0pxl p,+m|_aq5X#|+x3uCYű>3 dl^l{G7M\(%sw^a/:(|!.l'ګnsN?C>{nNwcXPfs^@LWP ǁ\/}1'NKaHwtP~7ݼ;Ʒ^a[rJ|( /+d+HuYM2bqS_^=ku?v;XK8^psEՂ|7!0sEB1AkvUVX!ȬKݼzꩱ;?)p( ̜緶~8ᄊ{=v.Pk<,o|.&54#>z ͚򱵷|YFyiC/&+x{ٛ&.&O$Hiehn#fȸ[n"^sp / [|^|ŘG-*dGml4dg'] 6+]<3MVꂁ!4j5>[q][dFRP@P휛Ӌ oV&Vy/B \d2d*a*W9M62g_{ΩSv*u>F3/{sq9˩hf:OPA+o;^@2?s̓ jv_k| ǿjٝN]xm"]P}5d(矏ʸg^[o*- ( ( ( (N`R@XEf+g|E&%.q %nD Cp FmYNB7O'w%xq0+ H+Iwb\=zt -=Y68NnOBRsnuQG 3rVe|+EF\x3 P@P@P@9T[nP9|r[xᅛYuNvaNC4Ce6 ( ( ( (-kҀ E@R)Or,_QDICm6 vb)钐E 6,,66mc>yB'WD VyrpE&`2JA6]6O |LUr[ 2$\Um",Y 駟^_jZ ( ( (s;3A7s\ct3۪ע&ET>㵠g}6vɜ1ZO| ( ( ( (sL`."^b*R袏.zRv((rQ=\ +.ò<)0@1E +sK-";]pL/x "vmh3zwbpYgf%@&4ڢadxUн~Z ( ( ()pEŮ9xʹpMho4fxI'Ň,p ( ( ( ('ХX\"HLQW G`Rdz뭷´ib0K6ċX[mUѽY&O\d")m/ ;AW>w|5f̘|5||EV,ExN%ou1 5>[\T\veaw^zi2jԨEefYP@P@P@P ;>}z8Cm&⊖fj.T@P@P@P@v3g}"\s|<|bv,IYE:w_~1*AEyW䙰}Or૴ ~jU|AW?&MLp,dxZk.(iiAS]܍K?&LmV JlݍoSP@P@P@P>8|__|qx衇] jݿFEY-XP@P@P@P`N,RQ @ [.b(ezc+"E`#<ISzշoߘ1 S&*Vz:E;()٪V^y؎#G2_|O/npmŋpdHv .`E9h#aUzzIGO# ( ( ( (u ( ( ( ( 4,0X,"` D"3P`EANB ȃ ¢~ZmWl1hjĈUWdw}w׿/Ƕ ^7V\qu!J!+V#m8- ( ( ( ( ( ( ( ( (s9Rf)!T<[?xo~;vGp *^y啸 &QEP̷6x;1z)`*e"X@cdžQFW?WO=TÍ7xK/v+C;9FRѓjѱ B( ;ָ( ( ( ( ( ( ( ( (@ X< 0 fbY`E(I{+B#$ Ѝ[y&,kEP}ن2a!/eWPn zc{'zE+/ 3__?tq#7I툍P@P@P@P@P@P@P@P@]+)'SLXd" &iLXSN٭Ī Z(fj$VjR7Wƍ|"ۤ-JA.S櫴tɡ ( ( ( ( ( ( ( ( .ˀ8:X^?'%e"Љn h"AX<AW)(i;7˄E8uSwM噯h] ҎiӦnp})S0tH.^92f}y| ( ( ( ( ( ( ( (G! %R ٢ZjV[*lE&,֥{ &k&fb*Ő2$lvCoQp|C!ુ6lX }! d"W_$ƾCV^y0f̘|5|}a:x? ( ( ( ( ( ( ( ( (ЫZP =<3믏z衘W+mLW_oQ@P@P@P@P@P@P@P@Pw 4 G+죐 B`]{1SjxGb`Ӣ._96mZDֻ趰^|EXƏȦU|WXQ@P@P@P@P@P@P@P@P@^-,J" !C2X,uGr AP&M ^{mʄ5z ٬"pkĈ1z]v67n\^x}aʠrNW - ( ( ( ( ( ( ( ( (0g̒,(S`R b^ʄŲ ZhE!m.wް (dbiѭ W뮻n jUV 3_vm\_|F24UP@P@P@P@P@P@P@P@hY2Q5@.g¢n b9LX'Nl kE ?C&l[lEꫯYf+% ~{xcՇ~H_ 80?veH? ( ( ( ( ( ( ( ( (PXEIXjqYLX~ e>(j5x 6,*b,@IDAT7Q}aW K-TXp<Jc)ȬU|2hc P@P@P@P@P@P@P@P@cfy2a1.b@VD&,ULXIM4)fš:uj "X*eJ] AR^!:_噯vGWy+景v~h_z1TP@P@P@P@P@P@P@P@fK-HV)`E EF+^}%!.TETi?i=WJj 6_WdJ5 ] ( ( ( ( ( ( ( (sl &2[Ԕ6 2*}٘ ( zꩧ_ט " . ֢ O뮻.~1WWdZuUرcz/d +P@P@P@P@P@P@P@P@P`XDIX癰MVIAX)Y{챸.Wl_<@? 2_u]1jԵ!u }|3`-aAW_ ֵ( ( ( ( ( ( ( ( (4+uiHۦO^@Հb@xQRVoV:ujx7g[sg* JΙ6s>%$=x~mW@NߺN-) ( ( ( ( 4#8hRP઎7כycUo>FMP9]vVky~oW@@O>ucV ( ( ( ( 1"w+`ue/OaԠE]4ׯ-0aBc (0S/LV;W^y%KqB -V\qTG =F* x~ ( ( ( ( (AT/z}uxZӼ|YaWl3FW@}2u#]M ><߿͸ (@/A'N =%^PP@. .p3 ~; 7_|͒v)<6}z8wK.$:4l0|vWkF1bL>]/| a3M7K'ߺ\\qd]X[&c9&G>u!tPvmb--22GP@P@P@P@z@rFolgf֭Ֆ|l;vg872)knp,h>"?ixgzW;?>^w8?~{HV`VA \SSk[띣iOF7HlIz駫ѸG?Xܤ|3)^xᅐ?,2q_oqIK'O8(? t?tHB[Ԍ׿+r3p ڽn'?ICYIP@P@P@Pw;QHpSsKf:j]ՈUG-/0jԨz'zay (L sE:w[MPN:{NAE@:WsGl%oF2uvW_~ ( ( ( (@C=UCc% lva嗏͕믵Z;N4dȐN) (I9GwM$]C&:4;<iS)Nm- (=_+UW]5Qxׯp@%t kv'>Q{LJ+2nsd&0a„;>O/ob>裏.槑~aJq._Ǎl7_Xs5kرaذaU'~-㡽,XȠHtY=au {WlGy3<ɠy wdQlL4l~6]bZlGOS|~@ldˆd{3Fr 6[mUԧ>>y} ?W_}h̓Q ~~6:|Vgt+?@y;dP#6AjSO=5~YvRg~vǔ!8'3/}ف@^|󟏖yĉg;&lWnbwC&?0l7s>am gqF >3&pE4{چCP@P@P@P7U270ssO@oRr+.(?3.X'SS]tQ;/yq(=E 1U6J~^}G7{[9 p3B|yW_|EB1Ml/5PZ`N;B ]@]wݵjc ?sW'o~sϸݭ yfA{M~4ѐ  e=\>j| ^xa fZM`p>6Gy?,U8_FYr衇u39xU "OdB YN;/_3RT#g*GqD׿ܓ Lt?<=wd2O5GK,y^ }OPj~_@X lma8ou6O2%~饗r1'H˅MS .V6kVP pn79Y/8GKs /xq 1SO7d ; h6#`դ ^C07Xu yq[lc3]2(zrꫫȤĶ87<0K}`?_eUbk6;WKi!PT=Sr΍g I&A-AnBkZu#3 |\IÖmcV,W{Eƪ-"IWiyys w",{~!,sL X|g" w#GVͯS!Yc7xc{^x&pH[o&Ma#u9'd7Orcpu<ɵ^wzsN- {A_qC9?qG ( ( ( `zE@o+))\"-'^\4IZqWP@^! 2n2^p5`pl^ꝣŶ[lpe/1k#ɀz _nR _BMsn>mô ܬ/n2rFt]֔5: Ōu8|.MFcGRd |_(wMDYF"BvʅdJ7強ܠ$rs=7"SNH"?|d<+_ N2%+pN ("cAy!uS!/aR7J !֮^3PN8!Vo}X T{vtIivCqp l//oߩTL2twD+s 9 KM74Ő 1+_PCJim^rOWG.(Ewdk*>px_0`@]/Mve`T<$n~O<1q6AH<(w.덧lw\O;TcyСCcW|+'J&4$xm!鲒pEZ |fI/>V|GP@P@P@s^ |U ŅVn(_-Ayy&'PS7Ec( .nWd= 7*hH-|OX~cE! Ar(d&s*:׸JWDFWt(@Hݳs 9;Ru]hՐaR>cWYg)wVo;Χ{E(H%2ι* Ƽ*cƌi< sf^,$Sc*ywymWr"(:ُR\̐xA`%9߫Rof gԭ zx{wz7X }3cIV9ȨJ~MAty~zߊ{jCP@P@P@P S߹^7<;Q.0'󧬋|dfi~. SVW?9l (to8p͹@G}lsH~)M})aPJꆆqnWJLUd$!p:!MKTv N7 JȻ&$n&QΫ^q]5 nl#R(o#M,5Ls:F?7aBXdJ%x7[TZV6lX1;_Hc) %)48U[/Js0Tq]^G`f AYluR1u^se]4*v19_d̿LӧOO-p^w}JGGYRǥgYPP@P@P@`w;ݤ-7ESV{OdNFSx*ěM8T@ OrCYL,mzC[ly& yW3y_^5fmiź[7\/e#+fTF8O/VVZ)`Qwڴi `-Yvm'k3sK`„  **Fz]tbrWzłH{ݳj+,ᐩ0y*eT3m^j2ړ4烎JGAIuٵ<]2(ے˘@ȖM@dBK٧=z6a H}c͇:i/t|+A;qX^9|^>l=P@P@P@P@,`V~zCpdH =aCX=l (@"#Lw}w`ypM7Ůbu͵^zLNu^ m.d?L?pȳ*#vdҤIkt3/3S2rL7mi$ Z%e`*7RFUtt.>GtmK ̳4r j<P@P@P@P' Փޭ^V)ˇӾ`sO,N7{mV@>'xb슮ۙPmsL3Rx &]C+7St7X42K.ooK/ {Cn-q(@T!CU#I%ϚeiHp*`4v /[z蒮VpX޴O~׎1"|*-<|\⊂7`b:݊Bv믿>n_VQ*3N׉74(snSP@P@P@z/{#AM)k5':)yYN+ (r?| 67薖 W[m3]y\nKP@P@P@fFugZ YX|()O{Ev2P@h[l~v &]',*UVYhpEuJ7ދg7SyrL_e&.~_G}4\r%nRɨ?Mp (Ѝ肔n)^xa-_t1x=T3ѥ_@KE2pnJe-H]>̃QIcHtYR9CŒ3d!v-f#xWV Fjgs.۷o2J<@;y;3yZVƍ `>xY.K!m?4Bwʩ\}i]?i1#P@P@P@P@f jVD`„ 5s+B#8Qknϙ ( Rw-n?qoon>ílFKDAf;,|{ |KƗ_~7钰Vjnvذw8BƕW^B76/#G,&H+2gsG],7Br'O.^yemo}zI/_b}k?dűÇ^zi8#c"o|\eAO]>sL*ft)S7*sUnWP@P@P@zX==Gp1Ǵ۳>8vء/obs#{ZQ.u (=C rAC~8:oVk\juSkY9ou։#țv7\s~L]!bD8AvZl)y`Āff׮=LIS Mw}{@O8Q}+R\FwL?1'r ݧpA[hrC=4xC>}b6O>9,a뭷.YYӟtQm+rQɑ_!uGL#!N1;fﶫmaw{ШQ|x1esu;s :fY`袋=3~֪5-N"o|޾կY3(q=|b@&UT#_&*@+tI&o,s罕n[P@P@P@zX='cvo=bq t3@=zttWO w}w|ʓ'lyBw`R[.AD0"JE^1\ P1a9 9rͨ1k@ Wgvvv6{gotRgK#TBBMa- aܣP; #G,(ѰaQÍtرyƌn_Nwy9ꨣLR!t\R Ե^BĘ[jh"hV -Rꈕ>\%< oĔz4i &ա?yKJ.W5m'3re3 oG,&LpU열dRT;WBʡ[ϯ6v+qӾ/79jCث2~3M×˷MK[o1Qvu {<]KRFKsC4h= 9k?y}^~euLDv\"?18xȎC Hu5i '_qI&zO> @ @(gRγaeI@*'i /:ZZGM]p͏?g9GmQȋdE5N%@hpl|tQZ²SݺusL tr}]`-Vy~_|ر߭7֭[s9'89% ^J­L0vۙÇ]7S-hI/~1@ի a+9!r*O2mLGg) KFac݋V^ye'~ViR2jFarxu?-b) s_Y:>j(UVX2%ӏVBȻӧO}߯~6rѼOvazk^8_~'d'U%grxR` nl^' @ zK`>z;:Vk^uWU3kdRSa`%%\Ҧ)'9s8 9t 6P`W/m vC1@%%+M:Fu[[㌟o} ;(W\=״M;hR*X1_o(e =UN:؁㯿2SNu7tCWꪺߝsT W9yd!eRn '+ @ @#YicR 6QFgϞ/ @fm)qۜ9Y9H^3sέXqK駟6젃rw9B6a„PQ4IV\7C @ @ @hLpjLgB Z&pɰ{{-iȬ\wu{)[<8c(/]9Yف @ @ @ť@ PcnfϞ]T]v-^JlI8q}NL{7ͣ>:4I@ @ @ @  @@lժ_;v4^{4hkvرFu]Gl!@ @ @ JT,dB 4Dm7n[oe>sӲeKZkp뮻Yveԙ @ @ @@ , @@$RK1*@ @ @ #ФF̀!@ @ @ @ (`ՓXѥK2U @ϷFt* @ @ @PJa @ @ @ @@p* @ @ @ @ $0]@ @@}&PQQaf͚آE Ӵi<\ ?3gfz%'4;3gΜ_|q"dח?n8 -oJ2~_fp4J# @ Z$V-¦+@ 裏u]>SN-M@LI@w}wnꫯ:'9*yu3"{-9jW6m7n\aVO?tӡCO~:lW~ذaz2eJQmCo6|_y啬)mYu.Ҭdo9~BV6ex%2=׎<Ȳ7 @ Pi @I`FJ Zرcrqg5t꥗^2ڵn@ ,0 q ]wѬzUwѺ߽gs1_~y?olSMV2r({}C9f/8]p#y Ƭt*ErX=ȉe˖SNNSeUT粚4 @ Z#V#@ Po?ӹsgөS  {`O4C]wg~8cH9IN5+ַ!6L<90oJ{G]p \dȇ @ R_h6 @ P _}3tPӲ.[ = #V[H)Q֭[B9.@O8|w]+D矟WN9ss=MϞ=Yfʦ xfw9&Md_,X{5pQ @ ` `O- @ ka @,Bf6W+XjРAk5~y+\ʙ{>ɤκ#:N @ zJzzb @E4|~i'^{寰 fr% &?,Ϗ K/f͚ی3+bx 0*K/Yioo7o-*iӦo&7nKôl2+o/0kvLݝ"C裏\}9H0Էbl`s_Q谹s.]AcZjնyC9vqhiV}[z>vm7tEY=_N;b[չ+\) s=g^}UǺwCbѐѻO<4`_1cƸ5>9`)CY9`UW;qw];R咓[lahtNJef2^o^xC.oĈ_~q;8?]K{Yb%r_~5צMwmvA+oex:tuo]ߓ7"ϫxyq=vX׎zֹI O=T=Bk>k&t[=]BmD$ݓUW߭]:<6Ҟk?O'tEATvm7#M  @9* Pryn8 Z>vqb]w >_[p[af^aB>] e]FHVRKq_64_]((_Gھ IRas]~+^|P.Wh~C |.L*']B|nT6Лo9ڞtIwܑڔu(\\_i@_aR~*䬫[ouj]W處7?}u> J?#u?[rKV8CsRy=Wڧ~q5,[fŎ]d*Ӷ*l0;:x. /,{ǻqw,|ViUv5O:d m<_%u뿳:gqqZLc*iq2eJft:O9{:ꝰ:fڲ j:#׻ޕgunu 뮜s9s9ʕkTsgqFuY=/dv=^A @@&3Q$@ P=zr*j.J_8*[NRҰ~a{t"qw_[6,v)%~9Ed"@IDATR:M7en_ Ӽ5)r2m4]tQcST5db.~Wn& Bh}Y{.:5xX'p,-[oe*nfNJ M/B)3I)V+mvawuKiJ*8_*ף> }xk"Ud։H G"j_ ٤Iڑj̤\^FcImE㭊IUEf=ܵYNH}~ᇎiRv ',=<&z狹m>b.՜X!SK LcќÆSRN.}}Fx.O3zW)D&W5c)5mԽKjBBsYܓ͜9X'|G/[nmt{Wjӻ޿j?RϭTwlذa۫ک}ݧtk;묳ʫ|RnO.K**Wp.ss=ZźVʂ"%7)Zp;S~:]#=4UJҞhݣ$u 7n|mmus3Aꌺ,<)I7ޟK]RE*GJz<3 @ FJq1{O>ۏ- _ܨqƊL| /N]0}/bKdu듦&b3,%O2~A_K1D6{ rܷ+rWEf SIaÏEuᇇv.1RRg-]Џ" 4G:΄TNbK1 Xzn؅P.l=:J7u~ ϝ@te3H}YRQRҩw 0KlR*Y!|C[y,[О͏oǒ n1We챂ԻlЏuPCu[:f|.J+V[;L +䟪py,ߟas?RN/yɝ*`%_xa!?y8c_׸Tw7L|=~!(_ѶuBɸJN؉rmm=lPzc}#{[&9X'03L *.1C*T}? ][I9;%VM-ly+: ߸݋.(sύ @ FF @(!ن~rjOjV 6d\/v˩hG֯eRo駟\3qt) #G:e<@sǚ^XNi VGIS7qKVم0-j*ocݮI :uW8[@ RӐI!D&yNy#΋ӏ=SPu1;E,%R&%!yvPOqVHGF82=ߤdq%N$- 1t:R9N!mTSw?5b{vjgFdzw_c5BQi8#!,]:dog:cec_oi:K+iM׮];{(:gla @ x {f@@ Ђb-պBɱHN:R9Pq.( 7Fr"iX|] p~A˗)VaN6pC{!+Rwr Geڴi꓀ А .}Y1vi>+ckՍ¾3ƍ ZiI ױmjL 4go;yؼy|+=A*-WI7ߡCRP R_L!)w@y*dɓ'dVΙtL2%NaLl#'욶z*t;ZV09ZV46r%j^;sM.;-V)tiMoy;vXmjsK9P%Ma2R̪fY C|Lϵ=G.lwnPפ}r@YUP'0 cԗVQor:TM}0@ @hpj瞙C PCVZiԖ;wmwl#WN 6Nt@2m裏v8Қ>Zp_χ~hb1:N%s4RS@!\r9ϓuvqdέZL2 ,BZdrso߾f7zrHV_}\ _{ki&9 9[ +`‰T+Xbb_3iNΫ[;$U9[vYl#ZTDjTk99jy-ءwԴ 癚_L)#Յf1cbᆴUb=JiG\VR KLZ6ЩJa0Ps  @8 fz >HYhr ZD1cѢכo&ξOւuSӔ*TM!voյB\qanr: jJʕ@ZOʧ ;j[j Q',NN]})(X'|K;ȵX_`%bK-XK :LCXr={vV<Ջ痫?w\s!fcǎq,9٭sU4/]?#^ q7t숔K!>5l[jR杀}v̘1Y!)d{&R8 N}6'pSv9*y!@ @ǀC :';1}.}뭷?[n[S>qCT[-HW_S0a5jQP̏Mye @CNĿx7#+\CJ˩jyw/J_Hd+(mS>uԐ߾}r-fB^]Mie/UBMj\MUwbRՓ,V~~Ms8>+3v\ʕIKI/ k+;, y$e]6_ 8gD.ڵk8~(P}=PsiZqH +; rK7.kZd\B-YeϜ93L)3k; $WhHdZ*nS*z뮻"ɏýə>w9sPw&ގŪ^2qHմkQ vOc9,˙)-ĉ/[6v҂_LrkeKY/vʊ6 zAeJF-Ǧ0K~{q'U? ){$UC?2ұBW ;ir$I39ie2OYHm?^lPsswJ4k&7_PȄBϫV{wSwgm =:cK.aXqΪP7oRK~W1m?SpqL֚߳^g̘Ս7ޘQ;;v -HѰ&M!Ov[ׅ~ga.9 䋚4p vڅ]wܹsC6ӧy衇B]?7eh 7`ZnmᝲtC 0 @ @˖-͐!C"90>qDӻwSV /ЕGF >B޼~6m8ŸAȡGNR}Z&G-=#B6,}BSaT&/ICj">YmՌ Jm'<+$裏:F# 1iBc9& 1J7r">묳#G}Ɩ Y|SO=ƭk6]t;.!T*D UDӦ0aIbUݼjܵ;59Ħ~ E|{@(P;[njck9V^wD׬J><[[^zڝ>I'pӓbe7d#>qWT#ZrӻI=JR+9Wj7СT›M7={{N:;U,N}drT;33Ya׵B @@#&`@2 @ܨqZe J>v!]e/S>ZNva+?E֜z:We7yd׌ u, QaC\aÉTX%gUd"-آ.v21o$!Pύ|Nzd;j: UXÂ>Zu_tӮt:rԱˌuJ2ϑu駟^vee7bZ|V::giœrқniF}]+ͬKh߆X*駟|j^YaNX]+Mh3fk'rNlAj_:'[}fizuϬSxq&ޯHܗV,u ǓuoʞU?W7WwN)Y' @ʆ Xt  T@ӦMDfRǿW~Ǭ@Pو s饗gW+-%+3L#F26Ro7HBYޮ [i.2ab޹XFH@(3Z2/y睳F.~:CpOCkc~|8tL {/﷪'s=gn%Xe%.(Ր=3 &M8 0!IDcOcy睗.8E$YjNؕVx=P5e.4aq,>rғ:O+ߛO @ 8'W1Uf5;k+1@#P.ύrg|Y)\tZӦM+AhIm/6/@q3gs\a Shl C @ʌ@l  WRQ(?٦nZ2+wQF)YeK\*W @ |Nj7SN9J6hРP @ @A8O L`]vqƏoIvI'tG}ׯ_QmEգ @ 79XIVڭB+.J*W"@ @@Y,N @!8qbXp<}tZ)U8Ò @ H4k,w5Ķ{.??es! @ @(5_g1B Р &M2۷7n߿/ G{m /\ǘ @`u5?SR8B)b)[nNjVkd  @ Iyޙ5 @gYFP @o8'ά!Z%ЪU+[jt@ @@hR] @ @ @ @ Iy^ @ @ @ @ P pt@ @ @ @ 4L8`5ʬ @ @ @ @ Z V-@ @ @ @ @ @aaNYA 4d}yn;Ӯ]<0''|7|栃2.h8F @ @ @nU7 ӧ9tرN:$ ⥗^j4X2dcߧOkys@nTTTYf[ha6mZ7W@ /~_L}5k4o<fmj^?\1juHe@ @ P8`"M@ .5XAsuV$JNSO m|f-4[vy-\8F @ @Sf@@|z^wuo>kVXZ[nI@KC$ .;6t(YfF6c +-6O:,fV2oi޼y\~jMfPܸq.ݣGӲeːom4/͵]v{gϞs׼+/暦Emigĉf޼yf0:t0/>}+$br ʯi9i$#/ݻYeUr6+> ;矛_,2cǎf-HWP1_~yͻ8]gߊ{gz-]v5m/hX fvmX3e6zAs9nR}Uuz @ @@c#Vc; !0fsA4dswg>n4m( T>}/}f%̪;%3O<ʼ f]v1}] 馛\>#e]QUTɓ'$v3=;GNL7|sofvuWW_bvgTCoVXbyKy(FBc:͵^ʀu]ئ*",b.Bsg/?߈[o=ꫯU_W\qEÛ?(G~9-rҵ,6 hX䘋A5G ~vc 6ؠ1N9C @ G,.@ Pbz NErV?S .r7cǚ}ץް+ orBSl\rl͛orUIj*gJ4oE\ri|ǦK.fE5rSq13:묣]"%>Lֹsg[9sbWPrb򖟃ƫPB^ziWrbvt9\y+?_mIZ+^M6mYg(!=CMsNpۓO>i_i@7R=cM61;cA#c=UvK}$ Yrml9ѣG;eG)JL_:F)yk_xᅓ]fKIQmHPJRCb%{챇\}98{Jڿ+6l9>w/{~hL!:~x룹jRnҦ72;>(+l1]w{ws=KP>u?/{ B\9k¾U{TUjDuNP̪7Xu 2wx֬YK-Tȿ+;6{ )] d{v5Naa,*g*?p:eT Wa #8"NubbX pW\† ڐ:oEuw:.<݆ ut]8.._6:a򾞶Vq1-U"}=PlۼՖuن [a28SZu~~{駇F =}ٴm{o'~&U o狧nmXݬQjd㕜uQ<{PڷY O_:йuǮbBq]w\f0SY\UB~uq! @ @A?. @@ X(~95kTNRJ믝 B[@裏',Sxu"}H5J6rvP#Rx ;HI,eJs=& 8tP7fMԿcR’R{((NwfΜiCChV*/q.)Gwq3pe4!txSEY&u)G\r%NEJdފV\㯳&M=)H_g;vtդ%騣 )ΛCbQ4Ga@ t-.OWf+S&OxnB +U$n#u#L^ut*W~cuu/W^jJRJSYzߙg~k΅q(DLkMRB ,SURlJ Vb 5'2ƽ+c{SN0FsڑاBjBUuru1cFVu3Hћ9k1I M*:/zLja'&}G*GBכk$E1B\}JqJtѨQ\ZחbYҬS6l˶Qfwwjm:?;:b6mGydMνTE9CC&-] ,ܾ oxI..bykiMʤy[G5\6+H"VƊ+jF6xt]wezK+ѳ@uQ[4\a*- 4(JGW [6M+)q%͆s*O沫*9nRJԛ9BU\2։BL +Œڏ/Uu (fC:z:߆箘K16)&ؤ叩~RMeu^f5L&P}3WZW Xs:5LJRӺ~}yqK^6q8w\+`=cZȌBjO߿uٛK{ʈm!۫L&q2 @ @& ew @$+'v9ƪ64]PV Fj2d.*>I#u42@ʔ*OsG*lNϤlb`r衇:5|uKq> Hu#ڶmkU!OID&hRT%\ѥKx7c1ELҢE #54N![ jyױHn{Lm^{.^u@*z~_*H ,Q砃2ƩXsE9(_Hޤ׷o_R ua /s:Q祔 陯s:c3i}1$:kK)_x㍦yŚ6mjT4UR0JIqO4tU5N8!4+ril^3 =r=v$jY)z-;b}Q -r[jGc5:s9NNeDji'__qEMJ @ @ "V$ @(֭[W9l)U+2 @ u~}} Vi"RHk:/aa-*kV14 ɴxTxΪZU1-$Z z4SM2%d~3 }r0pIw|3vZP+`*ɓ'nݺ(`Ma˼#vwz>!z7)])Tͪ!;BNclPzWW^ ]iƅ~qGËMҪZf9qi:l*iYD@DNü"j~dU S8`)tg*8Oa޽,ѻN>J57ځ @ @q7f@JF@J U5JK&GwHm[+*ŪZl]lmð@Ф\i6$nU+1-{k߾OV՘7pÌrR$)[_|}m2dYZhѣGϕȥ䖫<@i;vLmb6\(vw}*3XR{znT>WY?q~37tSPק cs\sPAةEcUء*'֤I2t@[o=)5+];z2UFe;g TOAϞ= ˑ)g}ؗC\N//6ND!ɪzK-irS6v\U=s< @ @H#V @@-]Z֭/~/at"V_B|X-l3m_RqX믿.FM>'Sj#v2󅔧J)rԤ!}Ԯ^q„ ΁ ;P#0I.+il}xSˏ-;* H 妃5}O _"$CIͱ2geq9_m&VRz&l cԩ!_+MY)|b,LbYz-WXc\4@V)l29rKic[m՜!CҒBrn(sJ;]/rSLrwSAq\u*ˏW٘9@ @ !ФB @Y C(|ߌqX9-~)dL)dΤ!Ur.'vRǏۓ-뮮;찼uKqk׮^x!رc{̞=ۼKG|?g_B1cjZ!cbE-s=oj@ 46-/gV[&YNgwx]ZOОAgΜYB6',?|Gy$k|r9rSii|HK*giwӌ3|ᙥz8ѣӪmK,ƞ+$`ayCjWj,=.ɇ @ @U!VUhQ  ;n԰ۇ*}s ڗ3S8]GBЏE>W^yJkuZ"_D"mݖURO?Ѽ{g-"éM&1_+}-?_حwBv.*-~n' Տj1R_{+mX=)('/CS_{v\;Ok+#ze-f_\uw!sUaڴiUPׯ%+"w}ׅUW*P3zkrwjYPz.KA-sRSpre9>vUr:GA @ 8 8; @7pݳgO +=Âga.)' -X4(Ms h׮](}u-ϝ;7,]w/g}Džܴ?C.<;e!B&)ZBK&N蜪%W_}_eU%)CT73fpu vAEhWi|;njl7xcXy8W_h AOթ_|1uRI;_II&5$9k .`{tMwc߯ƍwG4gΜ22w ||{nW?>TBzN |!/!.wʛRdLsQa?g]>bkB1W* M q?ch؏b8_@rw#Ku㭜ܭbұIRLr)+G>m9㊝3 @ @hpjYB P6*&G4B2tjK/͹Ue+%A*;b3`8+l~ZUx"9cySš|t2VeZ~駍l-4Z֭[8,dz;/ 2/TPd5R?I6"ny73T*@ 0dת *)Jwޕ($9jş3gzrR5kVmR@^.g,믝srê쓴/8q=CFR ={;c9;}d߫S&0H&oGyS7o . dp Qן{!vRtĎr{9sɱGNN>sI::S[cƌ1z~BZ}VZH1)6fIJyn_~S:#Bؙgջ΍Q]r4;C; lMƵ.)S87d03<9M'L ){]MSS=%y/ҽ+ẏj.= @ 'Ob,uCv׮+ ryn8㓯V-B'^Ȏ%Z`-k׮'YѢ[oWQZ:Tn_|a>*ꪫ:j8~:—Bi^dy@ P\ T1jbR+тʤZ"5\35e}PH<7tzUfwqS )]D\&NuYat'p8JKE]d@Tɡ*yKO?:g螫W.`swtMI)!ڷ' 6șX&u&&M [2;c_Yf.,B9.+=||wiw>?cH*Zar {9餓*VNr>PRL3PV\UZ=)`ב]ڇ.em{TV{\~8@ @߫au5 @ɛ 5)ŪFzr&R(bLG:u UÕ>cǎFRО@IDAT6U-(0G #O!&|N#VHY/e,2pFU! (%$eA,͑5-/n#N+ߤ߂iǓmjcRIiyL#ÇgQ}JޚTW*CR7n\IU甯ܹ?~SlJ:1i>zs=+WR3}ѬnUh\vs&u=3Ưs%\t 69*KSti=z?:t c)rMTۧ~z^+_26>q:_={tК 7G!(uHm,>RRi4qti: s\ƹ.u)ghM㏛}}ơbL||HbFz7jeTT#Tryn4L @ @@"@t2  @I@&RP0tR OC59QAB@lAUdׯ q @ @ N9 @0`4i ׷!2@@$0gW_=7 @ @ 5@gY#{@@$ЪU+3dȐ'ߣGR @ @h8pj8璙@ @ Pr:P @ @ 4" @ @ @ @ !V!(@ @ @ @ @ X)PȂ @ @ @ @ P D@ @ @ @ @)O#  @U&/ѣG :5\mP @ @ @Fr;c SSL1xy睇V==O  @ @ @p*-OZ @ @@xG_.kXc<;/m&M̖[ni @ @ 'V( @ @vСC]={)!@ Rfmc=mݖ#Fn!ofZhO @ @@n8`f@ *hժ9ӫP @&"W_5ۭ[ͯ;Ϳ_~Y @ @ G!@@ANj>3Wv6͛7Ϫ7m4駟 6 +?O>13g4Z0[eU[p+EƔ)S믿n̙cYfZk޽{g423]t1K/8qygTN;4W_ci}|ѣiٲ\{1sf7/+3w\[oqfuq _Yr%͆nhVZi, @0ay\GyYjoE}5\SiN8#;c̥^Zi @ @ +  @Jwux kf?sȑ#]~2E]`0f +$Ukꫯ6rHjr;LNo(Ov79nqn_KWݻwwyw9]Zc?蠃\^0g}yݾGJ K,ak>Cmu\uXc|̘1õ]weSlYȀ @Yq*-^Z @ @14@ РTTTG ^}@]vY9ɤ$URWKj[^yn9U+7pC/dyy+??SțʬzYWN>=/©cW/|(vcG @ @ @$V)i @"9eI{ԥyO?3<#_UkЁ]vYhCQk믿JWS x饗\jw~\-2YSي+~wFM7Ԉ_e&MdT^&rFMk>ᅴ) !"!@ @ @ P]WC O@H^JS+Rhl7r+cһU'qI'z 3ڷoo>w.KaB(iSiz-礻+ᄏ?s_479cjOci۶j:tDSOzvNcǎ5˒K.d'rcTܵkWpRqݜi.#k %%F9:ϝ;t_rm ->G~wVsʔ -*l|=z MӦMN;O{asyCX]LBƪjKTޤz&K IzTV)djgw!ꗾ&,mT38U4I*WRL3WZ3w?7:urW_l)nRR_Rؒ+ikXǝЎ*M-C k7gljݤ8%z)rJͫ2 wua9JkRZb%\Xf]7뻢: @ @D,@ P C /hQ.sel.LBUț1#*֒hPS8Bo￿O?[ʘFo̐!C¾#F0*;r;rLD 'SZ*q=N*PΡFaaU2V1.ZҴəȑ#Gv/Rc!U(Do8 #3*s>S8A甜XtEQGrN3_|q׫p/g , 1xUWC W)'<9yGgE_f'p+6~錰'xx㍝U6s}Oa\Zȑ;`B'3H7o_Fs]~ׅPXEԵЊ*ܭʨ]st.bӢB2b @ @G8|-r  @ ?ߪU+ϻT$xwm7cLEgΜIYf%2橅B>Z 4t6tkb߾}C't/So}VzGe=:JykBLJ[6lKG-6lÑw{}L J*)i9K,vzS!&GJuԖ|rrS٤?.,o|% 70׹sg1w9wI)R&Jx ˛Ke=ӟL'vRcC*,4B̛JfCObl!@ @ JT,dB ZDRo\!w<îL8Yxuڴiipy -ZU9  TK!*)9y_nZh!s;gΜ*PNSNuUXwP8g XHڨ걽+BylС :ͤR礞ROh2 9 4([ݩ/;NJIx.ۛw*}sL&q*hR=+|RJ[מ[5po۶mhFZR7K:$^bF}} @ @E:_ zJyadiMs x衇dZ$oݺKKD{dM\HxwC'WxUS4ӂmN$\]I%;`Ie?p3c #g . vnӼN{K:+%sC7í,Ğ~JέTj|xdqkf8q C0fvUiUq*{VN>@-N{b޽{I&]A @ 6WFL!@@={k}=bK.$8pt6J5o06'W %eX @ @E!ad e˖B{,X(Tc뉪]v =k]_n?mZWk6&cUao%bFhװat]?#g/S߾}X5??aVTgܸqS1rHL^t^vzYJžC=dN:$IrڴiVhw_5mĈz1 |wyK-MafV_g1@ @ $#P2!@ &g}ּ9tAsP BFM02%(|RgϞ~vBSNF6*_+ &AF5,jC<@9+Y2?OzɖI}Es7ߴ#gu-On2LJ¯>^ :Ԇ*z2)SXOZѶ>: mR ,nqOǕ]NC\2hGfm @ @( H+ݤyM@!dZ]> QXYN @H(h;vؐ VzulQLF7l`+ۭE^|c%lsaQKSQIBr=۽/YȫF_ 2mUVK4e@. l޼ن}TG7n+.2~'|6m2{キU ipW\ion8Lךoik֬1 (o^:׳sUn#&}l|ɀ @ @HNٰ @ ȃN:u28 'آEd/HFR7yN[-+KӦM'uSU^"3Z`Of%3 0@ @ @@ @@\{gAVywp&@Xl ȋ_0~yKf 7~! @ @FV8Q  @ < o?C[޺ukRE@ڵ5U}0@ @ @{@ @@ (D`jrXۘ=3u@ @ @ `"m@ @ #ݻw7$r|W@ @ @ `e!@ @(5jd @ @ 7C@ @ @ @ @@UT$ @ @ @ @!9; @X~_M%~\zj{mʔ)@ @ @ V @@>8Lڵ=>]p”Mc @ @ @`͂ @(J䑯HX@ @ @ P 6@:@ @ @ @ F c3 @(lb^udrJSV-sAVZ*U^tO?͜9Ӧ7on*T+1o<3k,|r#V5j052m۶ڵkŋ͗_~̜9șMlHB?4_};wMznj֬KV~mߚ7,W\d@@нh͚5vGf{Jd@ @ @@`e @ k$ ??3asqmÆ 3>`B9d .b&Gwj:;رcK{=s)$;Q̅^nP[n b-e˖fĉfwY6 DӦMmu٤!@  L2%ݽ~֭L2nP,K(aٻwo3rBg: @ @ / ,^ǛB G$ԩS(裏6쳏of:vh&Md+W'EsZZիW(RiItL8Jy۔n.yoiРAU>s#1'|QB"._|:GyQd%V 9oߞ{cWō<8~V^]܆x!@ @rIV.R 7nٰayẘ+Bѕ tM7l$ڵkXO4l^iyR>. [6ݡCۆ]/ys++]/כ뮻nh{fǎv]}2dfCo֭[g4&1¦@O@wOҿ_o# ovYjU4 @ @(0`CAG @(>#}yٳ)YǬΝ;0*{NДxΝ +UV5׿0YB{\~TRn_<*L$riWO0yr{ڬǵ G@?0Ǖ! @ @$ @ 9]wՎ@ޟeرcW=A嗉;<3e#Vuԉn\fVE]*Oj5<3 &شp;_-[fǩ @ ڴic?{a*ڧ @ @ @%_Wm @8Ş~j)\F:}Fakժeʖ--Jk6Hxb+Z|믿6'OV{*睪|瞋mca%Tرy7'hgӭ[7sQGy @ wyd;^r%FӧO>z<9c*WԞ7o^8ϟ{ZjJ5lܸpF8K/df̘a7>N{ǛzꥫΟ??]~ƍ1.es {&Md~mE'pt/E%k׮]ljO>FA}w^J>ҥKygիW[M65-[aK(;+?=_?Ypٶmvi-=5 :woN:(<ڵkM͚5mxcWGˑ#G <̮ڒ ]vg5jM ޞs ,~:wՇ.]m&ʕ+O<Ϝ93L?öaFs  @ @0/ (,_xJ b?ϴ{'mӦM vOc&k/k?aEd-x9滺-au֥yI8cӂay odĥSNv ºi~J7|Q3.,lc֭a~\"ۄeqE/Iz*l# |ng {[e}׽oCnUI e }I˦bwoѾO:5vw1wmhL6lg+"-Ѕ oVJ/aW~n;]VraA8ʄmnEk߷K4(m]B]W.e4>+ @ @ +v  @%PdI3l0B^A^#W_m{=/W_w}檫!b: #/ JVvl˖-aq l޼y,ѠAp֣<+F7M6# p,!@ hĈF*"PPKAySE9٩j5kf=M76%]q+{)ry--J>L ^y4 ̓-,w=ֳ2ћߛ/T:wl,/:%:_&Nh%j֬Yh +P;z=&:~ᇄzL_`3b/OyK{G_B+gyz[Lru]fẸ|vgϞ=wa @ @HFV22C P(o~~WBz9(Sh$c?at݆tׯ_Y^aYz7$/XF~'K3kb *dYB@WӨQ#E_VT#!̄ 駟VRǎ :̿p{gmqJ -3 OSvU`nS[ꞪPΆnOv7 BLB=$z3DPIdϯ#1Lp3&!<: ,V& JL&|k 7 Z"C+kcY TI&nK@ @ dJd%(@ ! }ŝ*TT ȑ#Mr)l# %Y~ʾT{s,˗/o=Yt-֬Y3̋ 7/qWu'*O庼4EMX_wEk|j+$>x}uX)гʅ^ɍ_ubQjĝ-e?ye̙Gx}P={ @ @ ar6l @Y" Pxыg O#J,itܹa 5xᇇ/{1sڰ>ۗ ݴm6>Ha}o[QMiG S$UV^K]tE֛EϞ=dB&Nso߾ ڷo֓J#Ps=7v 'eڰ>#LpDzٺnk.+^?6OѣG%u]m} Fn{L2ek$ů}jvեK0 И1c 䘀Bƙq3oʕTD2/~T F_D=ُ?v9qDӲeK㋯ZhY`vYyʕ#[*]qc g#S<]AU830à( @ @@!H@%СCt͛Щ[nu] y,4ϰa c}3dȐ0[/!. 7n&$Jܹ/bjcfasS/X[na s;v숭˃aA0_q.mݺ56̿ {9M_a䅲{n >ܬ_,^~f̘nJeT^pg9r.ev}qbӦMñ1-B(gCT @ @@ B@!  YgeG|%I$A0K^{핮Yξ,U@yرc͵^kϟo%*ǸO?݆Ho!nVs嗛zC}VZtYh vZyK!1+;4W^y9s֥ $oUPq'@a# !M7)DY5s ȃ3r../,/SѰŽ ~mWޣ%Ҏ|o]Ɏ|wRiYv,g/qUɃ @ @@@o @Łn?>$`r'p;pER<6_|0=K.\!ᇄ2e7.!_93U^^+ EmsM  @ @2#+3Bl @ $,]zF-[ l| s1a뮻(lX|AhaÆ6l*1Œ3 $4h $o siKc樣 %KH褱WVB(?_iy+jqvzt$L:caJh䇊'KgO6l @ @@(!@ @?#/X5k4˗7]t {v_4n$; s%,Сi׮9#PmT(]_Psyv[oէd{%Q(?Ϸ" -32 _4V˫~6l$Sf͚0{Xq c[۷s1VhJNhrГNDbL@gPc]tܹ|衇LӦMiӦybS}Aºwnӧ-&B:ʫ>Fʬ C @ cg @ Pp HD{?4D'Cu. `&L`ڷozrJLj@/mꫯJ*f@IDATh=e*U Pɓ_vJmk3=Au|Z2e_uW./_I|5 $$*[lt 1苠\t}P~ڵ[n1q).4e\UT1}u?SF>gqA!6?S3xsJu%RNT0SLBø}6B& @ @@$P"-b9r@`vUV @Fagc @ ozPUVY 6|#<#I? XQԡj ew۶m3%JވTwLP^djQF6]s=ɫڵkͬYy֣Uf֯_o/^lϛ ze[Ԗ>2ڮ0 1(4KԦ)`\Yh zb]W\ Mv6md{oSVtKy@ @ dF ￱ͬl @ @ C^铟VzuOnyrmHXlsI1SN1[gU\ٴi&y xayeZpO2$L @ @ P *GC @ իWW^y%g-[4cƌ1jJg @ @@a&0=@ @EUW]ezQhCm޼̞=̟?HuVSn]S~}s!ҥKcuTZ6Sz6W<ج]ԨQA @ @ `"m@ "D@ay+B#+:C;v44iĴi&K[dywm.]Ex  @ @ /X˛A @`h֬ @ @ @H-XIk s[l1YdYrU9蠃LVL*Uٴi5k;wYtkL&ML۶mc/իWTV-]~aw7/6k׮ /f̙TRuaИ>S{eڱlҶ痋-[f͛g-ZdVj;0ӠASd(ؿYpmE\rٳM:u駟n9o|gv\u5Wca+ς ƍ-cͤI?`.SFտ|8jܥK6M6l5lÆ ?uN8rϨntۜ9s͛mpׯ2SBh5pҘ7on9RJ?y^ @ @ @E|t @J@« . s;?a&L`;&+ :䓓{GMϞ=I$#q4]vYvL:t[c1'xò3f̰DmȑVdW>$$袋㣛K/Fsc7'OEvjX'N*S"kƼ ~36}9'x.$C:,si.]9DHg}6mZO 4\wuV\+cz&pG6:tH-.{5W_}$~MLy~M?-ogiF+ں̀²~B370@ @ @ PT w?PTGʸ @@N:"* _>h+n%jرwW_ޜMIzVi)S=bn6?iii'FT|te_y՞{Q8O?yJ,_zWp@XF$$zühB^*ͭk._9Vn+rZJ拯vI|tnӹsg=.Fi}ܪ{NInkynvs"O6 `FuMzbc=nSJtFTywݺuoEwC T'GD7nh @ @@J J F @裏,V(%~̒ף=zٱcM?áhg / )|-Io^*ݥ^jʔ)cwUZ5~;PșSNd1+ln7-[֜zF=3.n)N)dcKv TF^dK޺}I&Ϗ?hөsgX/W '!nfVn۷޽|Oc 4b<׏}"ÇDiW]uX-6ꪙ7|3LG 8fEb]BmG61/Q-+V/r(RhGI<[8*Uy/&@!" !}ȴu?W]}s2W;2 @ @ P( fPvNC A`]w8;0lرcw+Mr,svEdR>}g.o.,ݾ|aB~ĉa[o5LN:)\8@EqRu&/T9qS:\~ٸ5k°v衇+VBsiN&3 ͉ /Nr&nNʳ  ]]O<%d/Bb @ @2#(l @%p)h)>gu WסCSV-#/P-^خJ^{´]t!S(h;a'<@Y*ڬ?3ܼhѢ0=gppOKj_8A+Xm^vp5!ţFa.7߸d/rL,թYq~]qF8뮻5Mj L.C^:uцT%֭9ꨣ9hڎA @ @ JVQ=  |%п#F>`_yxr^6mj>lsyڸqc)3LVK k(YLBޑrcuV{3JlٲTR_MgLl\d&9/_>4in[bf|r+8We˖vΊR1c}TYƍg3wҦ/ɓmkƊ 2&O]CQ>3LBs{sK zi'F#F0vI{5$;},,$4EX e'$La{%"S(ӨYHl'.+DeL˺u۬};sm~ 崿dc˗,*3Qs뮻ΎCb3>Ȩ3c궳 @ @v>Vls a vM7^r%ֳVbY. WF^5Z/ zy6l0{:JL'g%%3ߓGT{aEmǎ.g}<#v_+mKgj2&F:%Aj\T=vEK '/TQF duf5jd% @ Q%d_~@bBd 9۵kg$Ȓ(w6$ip k% @ @ P *!@ s ȫה+W.`:cBbաCP\%EmaV^´/q/ÍABlՙlQGe{1[6>l*(,n* d)-W&"/&^;ȑ#SSO~E+^ze]b i"$P0yYpa:і=hBIr罄Q, /֩S'M*VdϷ׽#d>:]ND)`I)3'. 7`;<{ʫ‡l} 땻\632 L_:"w7ا۶m6'N)W'S_\V*Dɋ_feJmLuqwgaEEC,J}af  @ @  L#/2y'Id̞=׮ 4`0Bn˭_޾v/}%G!g8XzY"=9]إD72 fΜi=F2 jݺuv]G$%PQ?ކXFB$yVm޼نڵ]+gy&{ /M`fFj $pHpU,"s&рKıxbe z+sZu5&'MlCjՎ]#6?@]y;,gΓ\ڵ]=ÙNۧOʨM_)p*Mb l\-oP)yO/gq9}[nqc*s_¾0 ܶT,o +9STo9f @ @(U! @ KcI4R.t룄X+<(t<Ȯ* Gai}̘1x/&e.Nk?dř}lܸ1hIm/a>cǚuf\P/ڇ [^B.*3ԱU-<5OCMt.<(L"8~y%8sm?V^mf)?OLrQ[o޽ Luy1FvXB\xQmյ̉4H_ug}K"[gVʴt\sFޤ5O/+,onи~#=z!mF!,_e$Ԓjɶ<(/fV< 8pٺukQu^BӜ ,2+@\R*_|XO9@bgc[꺕H("9sX/{22 |saDb"._ץ%zY׌LsWM5{WF}~c炢"RE @ @E|t @J@$4OE/%@Gf͚+?GqYbYh? A'/I7/c+/S/%R%Kի 9y݈!!D?z_5kE|O!af$]S[oYlejլuֱwz*\8ĥ^jI) _VLK]`o8֩Sd$jժo /l۶֑a~d_e&M䊆ɣD`ܹsmx,KyH8+[9\yˎƬ ȃ I?%Nyܙ?g:˻2y8qќĤ (hҥa&?/wseF,]c_@~T'PH/i~0VQuʕ+þzY' @ @ !+o* @Ŕ<o~@/%'&oFM4UFeJ˪mgg<#WNl=0lɉE>;*Vhڴic?ąY 6) 䌀.gf$frR'._|5|psgw=܅e_62'e$VU'ݻ: Z~}DXnߩX۟_)|wmcOy1@ @ @@U)# @y:srCa}l1 $Rh<~FDݺuy*[QT lHX<3+*U2Æ ?Rd#GATRQFVЄp@X&)bk޼yO^gϞP}РA /`ڶmk> ˎ=ذ @ @ @h@U' @ BL`]vwK,~Z"[ڕOٲeG8S<3qNk֬q,3!k[2ю֭[ͮj%{:uvN ;v-.93{l{NinKw}9*?? @+beݺu"j=7Z@=ܞ:u6lСCSO=ƕgY dus(.{ڵ}]vnf?ϰbH5<`(A @ ݯ_?{氥Wo76m2M41={,|(=o%K{dJZZZO/(j9C/B3jԨ_lf̘aW^mUns_~ۮ>W^n DQ;~ӰwX0z>&L @&pw+4# oVO{y3Zy}rx`9P fg~~W^Пss% [rrخ*ӧOP|%{tړ/ҭL!oϖTXvT/mh>Μ6Qd;_uYf/2cc  α' @ @D@\gNQ+7~QS+><ɓGҥ3Bٲe1˗/^&իg jٲڵkkd#KxͿoȑ#mZQvmsǚ??!O?m=(s9餓C=dOۗ󟱻߸qUl23\|FX~'~ڦMs-*U%,K/d C^>Zha0kgL/=Ö[ײ}ܞ3:F:g>c#76Gu93Ǧ׭[gMf}]{y׬Y3=z=dɒ~ͦΝk +!/+Q۲e1͊+L2e/TjV h:t*$A~)΂ yպ8sgJ*JNyAnPXxQ8 ]k-sN:֭[gRn F{VjUsG={f鯿eS]3Wof|kC1\rUV(0vi[ϯOd2To֬]ֲw}Kfk\s9s [jeL+VLVs2FmԡCێg(<2}vlFk1*Tگw;.n=7}믧kSYct_=Ms_hc=+T^dfҤI׹ySN1'pBE>`IyMtVϙӦM Ϗ~{z2]g~Yͱ>ywE,|ggMs)eȧR:u4j =P&t>F駟n%_ZSl:fԘ<Չ LL޲WXykM9[5_4=7~x3}tvas1+Wc*2ursOW>3Ϸֺ75l>[D5so1r yZg,O3K4yj<Єʕ3]vY:pQϕg"ݏe޳s ?犚O~/#m $m(ñ4(-;n RK׾wR j=gjiS\:-9d QI@ɰ qUFЎ{,a]Zȷ]c D-i03СCBlqf1S,;Z\%Gly1Ɋ] p /Jgt D:e"xב#eQy,:n=x&i&i<0-xxH  w)Smߊ"6[7i=!}䱜t ef~kmqEC|:3UE,i74OpD:I\;Ov-'s>zϟqdw%e2u-gL+]^zt%v2n^5~&o/8ӯ%x!m-OcuŭG5o:uVdI5Lkڵ^Awʞ2c'5tN/ n隑 y6ѯA_ƭdWLD=֯_nOvܜ/=_?ͳ~k_Pc ^Jo~x87Ϯoܹ{U $\FqEu*m[y(+υ!PڍKs-@r9Ue6?GJnqa5T_, 9U <ȅwpK97*^rR儎m-חhJPg<(?>QQ`Ê{/Kh+ ^cCcL۽{|>ﻳ3{7=OZ!PB\ų8erZ%"(Z8"k- Xas==i( c lQϺNYZxI @C})$@$@$@$@$@$@$Њ ~hm W&Y M^;zUQ.xM\E_h"Мϐk+?p'hѮľ9D&.D43]NRz'ՙo7|vC#mG4iO*bJPos5.z葻zQH[Lrh qs^t竄kF>.-`dm\(D :Ի8p0_XK.at*$l<}"PixsߋTޅND VĹD钯9fn;S=U:W~ ֒K[>d(s1sSf}<:?VMcǕ]GNRp!5Z/6;o,[ԭe$g$\}Z˶*T)O3e#D~ Y}»-*B.k0>u]NHZےǬs.SD8WD#DQJ=V}Ά;IS#I6VՇcSGh. 1gqXֲW3\)0JB&o'      D`ĉXkJ˯L61&jlD 6 El`"/ذRKW^9 /üE/—w5 eP۴|r.N$Xر1#ҥKEDiE/QS O=q:هqB fɗifW/> 4=Nu |> SkLǼsE5F@PR.oFeeEC(k@[obxL'kӻロXIs9/gyƺ ZW "keHfW s/޻"JY4(ي-1V"ޟ̺ds7E!< @ x&Mf5:{w\/&"_jV]$Ir뮻Ǧl\|=t:M7N[Jk*Һp}XC6櫉Z,鵎m+ަ)`a D9Ȇrz%6 V0+ ҷۗ~rbzs0k]k&w s[L*b5N%,̒BV 6)e &V]cY#s. z5fY2l.*xX1)yŴ1˽D={ӼېC،1Su?X1Sb>Yۋ^ӳK_^{molD˺PֽdO<束Qʈ@9S`]*'}v+T[HZK~p1::\/IIi{\RƋbxB=;?gc|?([aCʐX˲.ɰ6(0皯Nן%ҕi*1 ʟI$;~e=]Zz(6 ~;I֌◀m@ѣW\AX{q^xPZoHG]gJje\ۈ aݞԕ78,CYryKkpL\aQܙ|~d_g}^vuWI~ڽO¨HEX&"#G`PHN ް$:ċr7ׂQ3e9 PIvϓ7#;lysW.3eVkHzVtV#T^TυIeQ`ػEqRc-s\=5,~@'WP \E\Xb-2u!X.~|O}R=,s(@m"kg]$@$@$@$@$@$@$@ <>I'd7H^92??^g:Jb/Q_|E,Ym٢yzع^_X0qa[E˻uy1Xt_Q!VhJ[DԊ=%.vL'bJ1R+q8s&E9_WSpv:Xב+q*oF)_!1@w%]tsc E.mwp[q-e'vm7fM X&IHHHHHH #K,-w"ZI$R#nXE%.ʠ#`F Kvǁ!^K:3zހP }~'^/N 1mHzO8YߌcKF, ` .c)y^k?ew^}Պj`3\Q0CVsYYDiNbRZZq^ϳ/-KDڱgͤQQE\[ިiհ٢$03(>w\9g-MqM 3N~! s0_iϛf-sm|sZ|f #wCD'zn*>ޟ1GdNtYF@UDVA$@$@$@$@$@$@E _yò_mJU*_B!E 4Aد27͵,AC Un ~,&Md\/3w׬"pʅ^Fs(Ɖp Gl\r!Z@p8qbMbr_je0iSOͼI@2pmLHE~{_WLJSm4;YOkW,p{ *ND6q^'r w8O SGZb~^lLN+ZNo!#eꫮ`nK0ԛIwi_9lIzE־\O?֪MIdĦ$+]:V!g~3~G|$DT.zM>r R( :4Zgz]uUEAXG ,}5T";:o.ú}9,+SJ aΊs-P Hk#UVYE.r/BVZk0sQDsH-s\Z}H9~xUMx)Z{Z]:_|Hqڢ+Yo^{I<@ JgD0"k-V$ ?K M7T_Mxɺ)x`~Y8%p~Q[|y\Ĭ(/VQb4\{Ŋo**xy&_c5Jڒ/MUV(Yq=`$v3vïdZܟUr++Zi׺1ynj#ѥSN9ǣ. clSgP;}cs,.YwMj[_w !Zc٥2?܂3?9֚N }=;ULN;IsE9"vi'7h`W֪T&.>5ɘY Xu$IUZ,Yn.NlSnGYV[mcRG>e%,31S^z8!gm<1ezEWk)_hUw %1뚵Xm`5Ojy)1?bcR$(8HHrh ,n~f! hayt\l&w06iXel:?6bR/O}Kg1e:c 31.lkϗz# V(ϡx$zc3,ϓUmI}klIY$1^{o+?.q!^bޘE foؾ>Ϣ M(UoSH })$@$@$@$@$@$@$*`*]~>ٍcn.]?wۭ,%ӊ|0֪%v]t{4S':,<(9s; |U)]H>…ĝwi];fvac_ږ~H[qM61 LEYX{Yg u9*#<һU s00a:aYE4y~$QG*x;Gafiz﹮ܥ+_]RHZx*5%Yʎw`"I=sQsU2v b^O͛9p^sdeΪ]$݄1v33:W ƒ`[U)8YҭdDUgYqXԍ6ܣh:LEwk{챮6OSM ڍ;;K.TUzs5 \DѫWk(W2KyWn6c} ><\g7 `pc&Kxp/vtp+m-TSulQN"x. uص9?wꩧQ;(ޙ0C/NF^)9ւNg~F[k+-,VxK[x6}n|k{wؽO]?>'gϞU/"Ʃu=/yk5 X]v{~WgAk}%Cy ?f ?8зoߤe(kO>eyZs\+qp9-yޟ񃆳>uG5C=0T pZmHH ˺.lޑ CF{ [hݬ5\z!  6!9nu-ꫯz=ta  _-l]AzKZf56!z9cٝice.n T e(F@4MsL+ϭ)`)ϼ$NB<})`)߮y=ǵ+fP!nhi($      hM0_MtM;_~^y}$@$.q꿖k:,c &C57UV ~Ɍ5UcE(_=eAXr-ˬz@M ]{sگF=55.Ҕ3(PH:+qwgGb=_jNC XVBHHHHHHH~{u+JP&$,|U7e$/$@$JqpW1 Pj'^%k"e7G`-cmqU~Jr嗯+^X9rVp7~x7_(Kņw(b̴%vs9su"2{=#D4L 8ǵMzaV$@V+ 4@n\`JWĆ \tmFM% zm<]|k.˂$Юk;Tt50_~yE|E<~=O7￿bڒG}T|w>{o bIHHH*Yir| x\/૝B$@$@˺.ƛ$@$@C9W_5w$_~߿Y`^zu a+$@$U@@n /{ҥo’|ӧxJQH3xK/dvj[l13+< mٳg[?ЕCy tfW]uXXt\ar]*5/dСf33 Li5FCF D ˺.Bf$ @ t sNA$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$PQ^ @VfC$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@: t*`uj6D$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$PQ^ @ZbC$@$@$@$@$@$@$@$B/4_}UE駟۷"DOwӣG3TSuKu@"?ut޽ï_v{e~_U3:3oϦ[n3_rmS{`<+hSO=uY6HHHEVvHHHHHHt~c9*6dN+pPx饗:.7ƍ3gqh:(sW>C&Mdx W*r O)*̭I`wv*%!+b9N3?WHF ZjN oG"|93]7pC3dȐ{<ɓ ,``y!IZk-si&eiX<6^zi3<7ިE]d{ok1[ouZ)2mرN֤9䐖gftvi:WUW]唯K n0 ofmWN餓N*OY<$v ,WmkZۭw3@;l~a+ 6@kqX>$@$@$@us)A9muTv1Ǹ~_^K \vA\+H oe"pꩧ }tX[~ߚVXulgO`skEq ׂw\U\nJ^3,$  tn)/HHHHHHHZM=ӧj̚k鬢o^K1~7ooxn*w; ^2X=z0/{S.s袋N82_{֖f^+oQFUW]j*7%r  t*TTC$@$@$@$@$@$@x饗 \A423WTv3 Ѯn6gI0`S.qam +?oTn}+;+Wp<2L3%\C(a-O?5_|Oo4 .0} vi'_owax [ݻwsr~֭osPL[.>-RY5RVd}r=)5JzN f}'> ½s=y17M>|'UJ-s%GqgĈXE!.£UL)Yźaؚ[oUmkUh;-֖{/V">MJىkUeb<(_Oe=%e9*ĺZ³z衇Fa ~-[o=mJZ3?>cmI¼+jԏ '>|X1:k][P0'gwoGꡐ @+3@QHHHHHHHH J V`9 Yț*`"vSY ު ,Oh ~愳_âh9,Xd_q5jV^`+%U 4Vir!fv0:;o{챇 ;,݀=k$yN?t7VPnVl]%O;VGê@yx SLsx&` `W^1vY3 -( kE6l V;e"wX8XeXD3uX)Ion& 5{Xā=裝ƃ:烥"ϯzQKX ޾z+ vY/Xq@ nKlZ`QeQxa L\Oo0w)7V)W ,Ra=\+jD"kc7Dx؂P` Cu؄yop\4, 1`[P 3ȡѸ&X@TXD 2댍Eҭ" q+:x.a1W56D&` *3$n5$UrROS͔-`a\Z?w}WVq"O1-W䞃k7kD[tVp=z*$sp8L*x5,ck-"+H.k.솋7?"pwgus'._E!:\S!0`@*pAG&Ol ~d =E]ܱq"iIGE16=.k7pV"1|;R-V9Ɵb. Ɲj&MRS܁lVQwpc)b-HN 7Ok͹D<;N*o>R&Qn/* p%_nң>qʷVaX|>]/Ɖ5I}ypa%CwX6] ۶ A12nW" nI!pWI5V<z2J|_OZpcQbܼgP\ġ-00U\[t/m'K6Xe0wDmڌ_=G:Ҹ+<+rx/|w1szk2p ޕM@IDAT*RN-x_}^û;5HHڕi+`IHHHHHHZ@ޢ;exl <,ĉ2b&ִ$%٬՛Ʊ6_~ynݺlÐ!C 6\sM2˘VZh~mF~s:.Ӝ6aq}W'730Gb vϵpU*պ3Yߠ0f7)օc6zQ/cmUW5K-YyM^C=ԥ_ve<½VB{Z%Wz=}PZL84Z)2sK(,S '~/qk).d]S(;zd1NRrm%U2PvXn|Bύ~xAvkCG+J5Fs0hK""9>IX0UQ6ܓ4 .$yd-N8hQIp~iVk0 (IG-i}5mhSyXw@XE\5g5)RZ[^R_Æ P E]YX+0Cpd6ni 4vmN 7;!駛w^"E)TSW=U+ΙA[(ՖOP9E&VG,Nw\$xF1p2+re]ѺrӺKtUbmE+!VHi% aXbĽ[V̺Crֳفbh9)'Ku}bzYc҆wO+Aɜ a>2u0:" B"zݖ8 yyQ ״zAzD9=_b]Tk[_CG-S4e*,Z1C{NKbҊg xa]G)W^yM)È$z,C)T1} Z֖HHڙ@v} AaPU?alk-dkK%"G, f+b&T,(0)c.dE1wy+;z ׏&LX0,(1̭!6Jgرe&ߢ.*}Ǣ݇0ip6&YF>0"JL[ (By.]Yo CI26¸^ bV ƍsGw}\ X4j epI_<׊]v,]0i)J>u[1m|5uEG%̭PކŽVJjYkKRj(WKVFո>'-c94iB1P~=L2>^Z}1&:^+0M<]H3L$@$@BOr' @ma#,8QQ5G9=: ʊv33PF.PԀO>Orfi7?Yf,r%Y麱&rAI0(.a7Yy7SD= ,ub^@&lb tP4\}QbX}mF;a߮ sE[o5R蹶"DDw6GjKiMtjGLJ !h[ltVTIjz!믻5 Ϲ(8{B4K%qP g}Ve @1.IiOO=Ƣ戔QDK]E[׾"pUMtϓQ(!|-ڵ+N4J!O?5P@fxX4'Iז~5#׌>Ip&Gkcgy. q7pWB.>%&*2lIл /W1BL:sFƑ tnTWG$@$@$@$@$@$@ ʇHl#䭷ޒ9f5#<ퟎ Xzy%?~|4>Կꫯ䆟. eX}ݍP_CHGYKRX?Y&/(&IO:?H'x"z 8 U0nj*8ꫯV8p#bQ &Inԟ.(yc=V'JPp{GMJb Q&LP)A=߉rH Dk 9*,|@`U&cƌqˢ" 7jQe]n` J:"Ik1Rkr4ADؐ85=tZº;̯;X;X/{,k#N~4EN9G 2&̘EZ~b-kliڒFX>uʚy y֖z[#su׹(lM~wqKhڂǎY<}UK9AE}YbWa1FDo gItldy:Yy%Xq{)flD[X` tr0\=bJd Lz^zꩾ^GX;uTYX[‰Cp@6$um֟YR=ȄMǯZVҲH=}R,첾jq#,+O$[nm$D xB |Zka@bhvr?;'NX/+e;,ADQG^ iq(_ 6˼YA5O?L[$ߤ2Êi>ϰwP]Wް(E~$@$@$LTj&}M$@$@$@$@$@$@-D`f/`J~A\GoÆGm` ƦlP ulv"kCiD[ԛE&RK-i `^ }QR.mw` w,@{P. [3'*!PP5'4`(?l\T ba DZ92gRA5&0E|_~)`3~in(\pgK(j`#YcRP(PR [7x{J lxpk6kIPۜ %zCGa=5q ( Oa#Z|yhe((*a?6GumNi o<Д$K˕W^mf> `n'P1Wc2`H<ߵ@"ݩ(bI*"Ag>|W>ó뮻Xw˜XJPVѣG-U2N; -(zֵQFU bRvmgbhqs.6*^E:'(IS0 ̻cxR)h[҄my3ZUbJV! sE YQ6aEefˊ؍L*C9re,[YU,+7<<X83u,0 i gBݴX eYƧI9N1Iq x;i8XK~X?b"ng6" sXM!  v&04b%\ Y @&.FS^ 7  _cS:msdsN=T  `>3_ܹ; Àk曯S:t]+޽{;Sz2YrpEֳgOWcr:ơp= l|Akf\͸qqg%euFl\aDQK Ey+6c9q:&Oأ<{ac34S,{4_-\}7el 6R{#Wn;5p wg!xp0ᾰO>t!my\9l(ٴۑz渼m%ꫯܜe-Ƹ S5ZeZ2_~C(}. .sFX+nw׸Y*BckYH^2N1Bښ*kK51>qNjegwkkh)+WyUa١k׮kR#tAk]DCx>Z38'X[cpʍ  h'TjrpY5 tBnK?;% @[іw: 6y峣>:ȑ~ %X@/RzL% 'B(ZB K6ir`זlk 6L2R^% $?i!        NGƌ+M_EòŨQ\2P*Iڙնn[ns!┯p}ڝaMOץZ Q dԉ:[+j WguVl-^< L5z^8 L`e\H:3X:c /l]tQr3qn02$Ndi2ܯ*py3\;HHHsV缯*          @׮]}^{O6lc>l! @>{6x`B*/7y}{N$@$@$'OGq.%      h#묳۷q~ڨ* ^|& j, 8W jNG$&u'IoM3o[lazY[-\jsu=\hZ LUObDs[)HHvY7ڥS$@$@AFkHHHHHHHHHڍ@v0K$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@B Xr'                 #@e0 @V HHHHHHHHHHHHHHHHHPn;L$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$**w                 h;Tj[ iZ# K`rU1œV$T_~yWk߬*fvz)s^xRcql&e|5qD^,bf-t}(ꫯvpe7[nŌ;L4t 80,LYwy] o)6,f 74SM5UY}ߛ/#G4/C=dk [\'oXO8fzjsA:0~x/(^dḚa*È?k5</a䬳r.qmn;u?#W^f饗6=O'x\uU?4{6P>|xo6_}/oVZi%ވc=oݭ[7@Yhu5s5Wi<_M7w5~YjS:yS5ݳuY 2Dgan͝jw}<:HHhu]9 4׍2JG%T;$Yrꩧ&e*UHWU*TV×馛J쳏?_W^yeb>)g3J'OetO?-:OJT=hykJq>zr)Gy 39u]]J:>VTKUֳN;%?KkF<ڶJ@% lƥ<0ZuWJU[E6l-庥"Kq]0 6V)ھUeoV밊p %XWQ/]wu_\qU #]*uQ:)5!?xEw/an@%9N0@$@$@$@$@$@$@ $@ X  ^s'@S` 0SM` @po>>^z/VXZuҋn\VY-xJ믗Ysh5geZtO°2%\Rtbosy*SXrE&âI2P%,F4Uq ƴk˿ /\s5*veFa*VX m}%Xk|5s'C'뒮6V JfJVƧ2(IUpi|:|GRu?EIܵ,/KY>lw,-Uu#=fI[L (*B3) KL{wɺ-YŷnpuP,Xn(} gL귮#7ߔk Xú+K=zc7M] X``ʖ0^Xjo1I9.WƑ @#$|~ L9`yGdW730k?/* kPXj],J:91|7_,w#0M7Z7rBeXyꩧ${? IbD}r=p>~ر&bbցB_oHVYL}9r8X|/trSsoN3"e> |Ϟ=},n\?[ ZbYfGǺWaÆUXB23Ul,N"?< 1x&G}F*w9d[7V[!Vr;;ӧX~J%G:c*""!,YQ9k`=$@$@$@$@$@$@$P420} sVݧ J  ^@a2 @;o[í\SYL>\ *$Z4JP2XKy姟~22s߻֒&TiPނR(N 0?G%ɋ/\伞cܭe} cGuK{* t`ĉ]k*!pCpyX qeJVUmG~ {ZP袋SOd dEE9oqZm3xFdBiQZrJfrÇק.{^j6=hO$@$@$@$@$@$@V:Y9ɇNNvoy9$@$P4b6[Q$Y t~5n^߾}{7  "\rI˪z%dH[^IQ-7XfEKDD" TZ/U2,>2NFnO U^\/?ڕe6* g"Q_< bJâ_:P+Ai\ C CWPr >m)+LyM+{adfiy_HoPV4c_O"      VcMr?c/ vHHC`kkG ׷VC v[MO>s1G6W\qy']w国{E^xtgQ(W5X}:-,lgXl|V\?i)(,h%+%u1I#F0'|r,[g)&|t370[R|1P4o.b*cn+.ApLuY^jW4r<|ԨQ^ivQ~Kx~hA}1E;H      hJ hU>|*b/KֿHHQ6yv\0HHq};Wz;'|b?y{ (jNgRm(uj}|N:Ɍ9L |ϣ#,d>Z_lpH/첎Or/i9 EZ0Ix'(P «n0 /4k.Rn(EovT+_ofC{=tc F`wh:E;H      h*`5jV9s* |/wh]& OkXڀ5k֌vorO 8a}8Zm ׻ᄏ9|oY*m)qĄ0,D+}:K[b%bMG 4(&Lp&Vhp}zOErG]i X2fh=EG\}cHIS 6tS3f_դI|8-)RnEumm,5BsGG#?t4v`LRXbnL=8      h l6s3wG5ƗŮ D(p}@  E]7u GmHW-M7t:"1?hР<:bذa3pQ{Yc5\:XRt¢X|wqY}ˊ'XO~{.rӥ\~^@.r*2(>f%%W$ /~eJ9 uu׹AK+|;M8)M;aB[o=#J#Pxw}Mo2Hf-ZvwYY%(p{ǝeYgN=Բ%y  H駟 UɴjIcGs/rV9^rx.2%9%v $@$@$@$@$@$@$P0Z*hg_,%! wk5 d#5k66l5N.os/ h6δ[9O~k*{&)6u!vmmf^y BKOÇ7b} ywuWM}(T<3fWmy䑅C\\r>}RK*b([omnvۙ믿=e15j(^{XõyЗ"HvZk#PK4%&XT@ z!WK5(AII{菎Gg}$ho?ư7ߘq9+ɠI\G_fرnCYíߖ[nV!C`؎=X^tʒGvB omb 7_ úk~^voСx>\Z2,*>-hHHHHHHH!')$@$@$@$@$@$@$@$P 3%Cտ<*-kMds*%X}[zK_uEY.|nIr/c6tSQ߳>[|]U,*Y2f*"zRg:"~)DY*W\dR{{+XLVˉU'|rEk 4Yxo [\_NUx9.F$@$@$@$@$@$@E,MHHHHHHHYfY Qp9 QޝY^ju @Xl  8 v0P]$|TʩqWCv93NE F dhi7WhDKnݾ[?/{,9J?s뭷Ny}ɾxG-ʕ&_j%6<祈M^mehhhŹra:`:pUE[G'QVGq:{xŶ ,(-]|yn'HFo{n?)h&em)W,ͫ(&oo'j,&]~#D W?e}ycK\|z#z8s[bo #>Q+关:+6meքW\qG|z.`=j#|W_ uy|@gu*(8#?OL#Moqyyִ)Xu/?'jO+ʶM @R\sY  @ @[UnW_߲e3Έ5k俼^|b;uE~53<۷o//1CnrP,Fzyܱڋ/>l8 VULk_-dsNر-Y$6l-i3ZrZY)6occcqs>oY:G1o\^:rȩ{"sK.<sQWQI3?ӣq3m  @ @t+> @ @,x≸袋'-2RXR"@ @ 0wS>w) @ u{oK},VXqy5?u@4jnLdo  @ @y M6[|būv:3ݜԷyxGnJ*!@ @ NVj @ @cV^5 . A @ @`> ; @ @ @ @ND@D/s?LwS 4_=.-̿w8C @ @ X?3s=w.YjU|188yE G_PΝ;cEmll,֭[׸JPTn[KUE.Y @ @ @Q 9|[vm,ZhFϻy9Ж}+^x>AeLOND0_=b-z̿۸B o#IDAT@ @ н=5=mf"wV6Gގ0EKF|i}'܉ξ-:̿[ @ @ @:{Gv0<`fm4_f֨͗FIΏr:m4zT|_5Ztf73-w @ @ @tV\۽wޢļ5}9ij-XyzO}9,em,w|Ҿ?=w}. gӓҾi @ @ @}kKr,ڵ]e6s[m}9ϲe۹ڶҾnT*\Luss+Pڗc1) @ @ @@oޖ5j]J-7Uڗc}.Xڭm+˱h~m,mֶXtk?W`{[ҾM @ @ @/ |s5 @ @ @ @ %X]2A @ @ @ @@oF @ @ @ @D@KR7 @ @ @ @hVH @ @ @ @@`u@ @ @ @ @j  @ @ @ @.n @ #'=#D,Z/Ń DTAxq۫j[ɕ&XcgDjwio}SƚէE_o*A @ @ @@ZFbhjr>8{XWԕURjA_E%jsO+XGv8Ν| @ @ @R@kp#@g~+{Wj11>:W'aj筏ޞxchxi\~]vVMR+ʭ-Tr(+ @ @ @ ָ,01>W\rn%-0t#/242/v|3{M7zbz ♑ǣҟUiז86/zk}q6yYb"zWփ*Xy,[y @ @ @Mijm*#@-Xup{GVnnLO ^ccc%~U("TiѪ,`mSCU~Z Zt.I5se: @ @ @hVkNMXuc‹[d-/ou#e?^R<ܳf͙1X(\NOS *i/DS-k"-Z +]"-WʫWnH ŁoJ^D_@cWŝO?+b3sNKF r!47\`Z ˿mۋ{Ql>(9 @ @ @hVˇ@f"p7_?#NjwyW\9y'O`qm5c7|s )K!Xqʩquǟ{?5qکFD?>]wղ~֭|37569% 0*^*T [K^M+c`HMaxW*ҚIK @ @ @@-9!rX1vUrݻw7e@%.TUN޾xsמxbOā]Sc'P=km|0{Ă6ft@BTyիCD:W=e dX _TN @ @ @ @X p 6wѐrW^ݐrN ֦Gozm nЌ4oATy oZ*"R*ųxUJ6U_囊鹼" @ @ @ `_́EbsP"I`phIއ>W[;wݻR'N^qJ,Y4De۶[O㣟XVZ/&};*V*S)fUd+bU҇C\Zx~5'ܵU @ @ @LOgzt@ʿ-X+N==֞{~n},Y_ޮ9suoYixy-?IvN gGûTyE+ᬉlz-a: @ @ @ @}-]()o !oBX?b||4/Ǣ\ls;[Vڗc,Xڭm+˱~NկϥT87}9s[  @ @ @4_@mYpѮ;weCJr,ڹe6s[m}9ϲe۹ڶҾnT*\Luss+Pڗc1) @ @ @@oޖ5Xhc߾}mnnT6(Ǣ[|i(/qZ;m4UEgV|3r7 @ @ @@ `u5CCC?/V}U\lcҺ2_Zg߉5w|iFNG @ @ @ @ ]JngڦEmGc @ @ @ @hǢ^ @ @ @ @f/` y @ @ @ @y. 5' @ @ @ @ 0{y @ @ @ @y.7?/_ʈEWm'1q @ @ @ @@*tz5 @ @ @ @ @slAعc @ @ @ @X@z @ @ @ @:W@sN  @ @ @ @hV@ @ @ @ @tV玝 @ @ @ @ b  @ @ @ @\;-'@ @ @ @ @X- @ @ @ @ йX;vZN @ @ @ @@Z<'@ @ @ @ @s:w촜 @ @ @ @ `xTO @ @ @ @@ `ui9 @ @ @ @-j @ @ @ @ܱr @ @ @ @Z,N>IENDB`intake-0.6.5/docs/source/_static/images/gui_add_local.png000066400000000000000000006441001416666122400234110ustar00rootroot00000000000000PNG  IHDR |X IiCCPICC ProfileHWXS[RIhH RK E*I ĐD.*vuEWE\t-{Y{(ʺX&uͽΜ󟒹S˓JP]%Pt 'Rv|| 2|UB9$LRTVgJx*2 R%VR%T*MRi<,g!-$2A|Oqcg*1_d3sZTB˥yg;)cAɢ5þʝ4$qCN,PCREd=jʗs`b7/,bS#$y1}f8 1\!h]"'j8ke3q6dJSdH]"JJUQ)kC̔&Fm0'vFHPoPǦg"4|pՅ( n>O-B ;yG(3\@J5b]Ki^ "z+ME_<.H5?+-ORg&īA 0 82L}}z& d!ph=RU3xM%@>"4U_]@jH CAPyIFߠF|kʹP(yY:Öpb1AtM <8'k p0ā$.zY`.X@X ցjl;O`h p\: WOx0  # @lgEp$I@Ґ $ d. RF-H=3r9G:Cy|@1f:Eh4NC-EUhmBOh 11K8Xea2l>VUbuX# Xևlj8g.pG8/j|'ބ¯~3N0%8 \dB6aPIN8H8 "$}ӘF!!.#n$!'v$ɘL $őxBRii7 E {#d y1||z;iӭL"ͤfN3Csך5`XY-ZebXUS~KS(KvA+{dV{[S}ZYXLk`sǖbk+]o{]wvvO% u;P'/'SegYѹs aɘ17]h.l"LŮͮڌMjٱݼܶuwؽߣ'3sgq6W'oowwOOM_xe~~ /gK@n oh  !+2\(:D= ۑ~* =ϙ9E'W?Ȏhy<*&׌s'L7T4-:1:QS,u":q5Jb@7nMx_&'O8=anDF]oBV$MvHV$LMOy:k&_L3ISҷL nJTeSoLV9?#D_+95|fNLU__-.G-p~IV(ݬY%ŗf;^:IIDɏs99ms-.p{ޖm .Yp"E.v[zoRi-5+]Xm ee|y D} K? /TUTV|\_v{﫾Z}M++%+o ^sk&iZZ[Wܼ^*e͆>Vׄ5]Zv`M!7mDniJZmg~vHvtLyާ~ hw?ҸesO^W3~/z_~ld,oBf77ZZ:M8z_v<\sȊԣG8.=w"Dwی''vjҩѧϝ8s,s?.y]:ׯ۽ۛ.\nhyJWîƽvz7nݜzy_)3xw=½+>tywyңGw~1q'O=}=Ϥyr ً^z북o -gn{g?~x28#c'O?dɆ7 } R)Dx6U:z+Wo,ߎU pHYs%%IR$iTXtXML:com.adobe.xmp 2428 1268 /iDOTz(zzhͼc@IDATxj) +VD5ѼDc11ؒ&cXc)"*HQ  "(R{e=s٩]vvg~??IE@@@@@@@@@ ^' 5b@@@@@@@@@/@7         P$b5@@@@@@@@@_@@@@@@@@@" U$/        =        "yXM@@@@@@@@@@@@@@@@@@H| j"        x         E"@H^(V@@@@@@@@ {@@@@@@@@(_EB         /         @*D@@@@@@@@|@@@@@@@@@DWP&         @         P$b5@@@@@@@@@_@@@@@@@@@" U$/        =        "yXM@@@@@@@@@@@@@@@@@@H| j"        x         E"@H^(V@@@@@@@@ {@@@@@@@@(_EB         /         @*D@@@@@@@@|@@@@@@@@@DWP&         @         P$b5@@@@@@@@@_@@@@@@@@@" U$/        =        "yXM@@@@@@@@@_Tʭ[οJjr˗/w-r/{̙3O~4민MѵkWwA>}vڥOrpz#        U-@GdxWU՘        TV׏*Vbz@@@@@@@@n_? G@` YթSmFo%X2 U,A     P$~|jzW_uSNu3gtӧOwM6u}qnѣ]vX1cƸ_=^8i;h %K_ioOFk}) C  Q#W^y%#8Nc     @|US_;3_;gwvO>kݺuItUZz^{咯EyiuYd=뮻 '`E{w饗.̭Sv:u*s\F@@`} [,*N;4w뭷Ƴ曝@@@@@b~tKRڵSU(Vvڹu)jժUetjڴinСqՓ曻g}ݻQs~M6iWYf9O_ڈJ9@`+矟ƩפI\ƍs@ȷ| Uբ@@@@ tKW1OM˗E_|{セAֲ민ͦ6׷~n;nfϞzY2O+# @* 0w܌]*.uk8ꨣʬtir @ؿ[UPe    5Y`r ei֊+|kKKTo߾i6h8dV($+m|>wu׹iTE3um;.\=\OwA?i*WE@ )wSlõ_1br-m/s7zx(]va<@@ؿ«:TV@x6M4q5s@@@@'@Gd0+oP>Iضv[ /͛aÆgy&m6lx*)6sL+yעE [ֆp n{-[5Σ>͛竒}G~:tR^N:k|{ݬY|嗯{]y(5o;mϔ)Sŋ]Ν裏vO?jzWrll,Yr-Mvj 'lz@PGT5P}'ۧ~Zj6_y;rH7aӾ <3V|ĉ8cݙn 2x_'a3fRbUD>X$uO{#PfI7bt=o stRt}u}q?׾_h]XzaǢ Vo9MCKr!irk֬ oul`Μ9N:OnѹE@@@@tUd6.A8ܥVuWSR CE/|+\\ޅꀨl5*}]{eځ\_Q筃_:^:Я_Ǝ606?ᢹ Ak)񹪓Q2LVb%e ??ͣ_Qmㅷ;sj_i:_tK_ZnK=+Z*hULU;=B'^K,o |[ws u| :4WCU!5Ӵ2NC@@@@KKWWD7)q={v?P*SO?TݫWNR)?w uu WǪPڼy|H_uuƒ< *m-ٝN"-yp7Cdu1R,4}Hy'Okzˏn6+f,u\wo^LNZfʔ)4 YY|Xd\;JWa2] G CkGrߨӥ-G];j?7a„_[ꤧ틾ԠA[mϊ+lR#FH{^Xs60}e8o׺@*.oW2t}jd^{my.вpW2erVswܑz㮡JQPܚ\'wur[nfR7Zp]FC@@@@~lU[G.Xlr ,p ڵk+ o5mZ\tE)\݀U. mxa9ޱmtͧE. ;6m.:QDSkٲr-]Tm~5_8-3_mڴq|I+EqyDpŋI{or;wzx|tw}D/׬YGyE'y>{! ]?~Nw(EW믿>~r'pӟE(梓c݉BW. (4脻Yt%ɓ^{(XzI&iEWPj=o#ذaC{- @(뢓.f1óExӧ;}- :}[8{qw\<(:?5 S(ǺSPu*S(m(8ja^[â Os|梪cٳfgy>:jmTECn{.]J4@ 2ڗ~еjrgvs/R}2𷵾黑5e֫Wq    @ -- j) |G>e:ҭ4_ (Pb6ۼrm|G!4l6m9u.l4: '5oEUIUtl߾}ᴶ|`zZ O2۰~Nǎ+]T,,(Ok$?=vkKa06n8{K~ߺ xNGWQO<чl:,`[4?#]TYƿm8 e |W.FOřV9tRvuWUԲ񭾇m6~;{Cu'<1i0tfòvͅRD*u}餩N2 m߇$?@F[鎕ٿ>ܞl׿Oe]XJ]t:^yK4|yԵ/*iT;z) 9E'eKBaWs+dJ]i:(pJ."?y&U# DO5dv[8Y|? mMv]\rqt?Uh@ D!?R\X=LՅ ӭ0 (LG.ebL[sri(<6#-#mz}dzsY7A(yUsؽ((.*1( 6NT+',V7r}_OW;Qr.~QӗKG}H(|6~4WUN\l@@@@ M@,ۨJW**Q:)zS 0U͊] `vPΆ㪺fպERO)uO&mTA*_]B+xxiT9$TQʋMߴi:y<0UIE]C=_W-kwLEJ\_z|64qVv?"m:˖0񣫒SQ7i2-a @Mg)S5kdd ?c-TuM7 }u6eӹ(lMp2Ը~{x72]><6){GHR!TL[~o{~*Wr0Ÿ~6ꎱ2맍dNۗwygr>쳌ӯW%ui}Σ磪    @_`mnS:WԕcJ' oTT~?:_u񷺯P UbU?zluynR J]|ũgy&jUMJ'V-V/?\7ޘu2UP65Bwyx^QOi'OV/HVˉWL\_Z[&Z]E}gMoyZYhݨQR:u/Qb:M{E"$ws7'1=:m\MpiloFx&ȏo*lKE_u'ۻロ㿧zʏרjE>>\gMC(9I|ߒq[bd&бɓ'3_ /L*e%+ پn6ncm[+\7#    Py |dVUn:_:^{j+mRT*[Ka]uWݺu}KK*{{ʫwѶjW(/'duyر% y@ڪ(tOVSo~6NYpduaB:A]KG=^ڼ{Lԅc\O%q, *9kF2veq ?I!C߽??sܪh-Z(m>JN;-m<포%:NV/KtTׂ A }شpS7Rj0^s5dO>RU N?x%7U NN';0 @bW>H͞=;\~s=7mRU} |>ԭ~85]me["-]e-⧓G;uwL>} Ҵ;UU    .4:U:`ŋ TpU ;SCMmv>Yae-=V+a/; h˳_VqLaN:%qjQdam\m o:Y]%YE'i ?lU׿uOdWbњBQg>UBcU{ }V+"֋/J׸ |iW"a:"Zp]wܑ6\h|%Z2P;묳ҦU-<}erni3@ woW"'|r~<2] mr-[\7z6x广pUk}oQ-n밦 6nWKUד(@ZuBad7 @@@@(tj|)d/UI@PIK.${~F}OaUjܸqJ[E |u_ iTl6K.;ʓN:)uG+3W#UIWeI5 [N,p[NJ\V1b?lV'u'o "ɃwuW+=։e:]z_K.͸ :>dS ]`Ŋ%Pe}.yʹ9sd6/t2њBa6"/-O])fgrӂ {OV3S[ͳVS    .P/V:ɨ+DuPUtM}5/u1GuuC_ [YJ._a/wֱ[Zl 7 U^|ā%nf{ X:A6um| OtNk>i~{%$McWmHv=A䶫K*16ɮ3-6ڸeݪ274@T+YժXk)9+ҦRődS6N:V4Y gZF8LVrGr=iN4kܰ)nϗujb4@ ^T} L{s޿jz2ڧ*-9M! Ǘ]vYyG@@@@`-e&AOc}]}ثYf0\۷!3}PnRJM30WJǏ/luۥ |id둭JִJgu٢ێdd<ӕfyp qW! W_s>SVyJN~jj^ڕW^Yb[p}ٳmڗ}Bp~}u"7SvTg N__;<N}@ K}UMJTVXMZ)^z9眓N+u*z}}ojmz{Y\luJV (|'wm%é=LG1L0!yE$ue_J_N\ڵK]M>Q5tz*spz/D( j]vQF(Q˯# ׹-2~*=U/zhw:t_΋}t]t<> \Xw9uӧOwz ugz@/v/ )u}kߦ}z.-:*N"}&GatUtQӹL{=-7 4]yG&˴QͯWhѢY{Q6L3~O@r4}!TAuߪ1Wcǎ.p\-CB=Fj۶JyDUw ~nv7TYYdn,:VSHg@@@@lUn- ͫJQR@N*FհE]=v??vX7i$S8Ap9v?FVdO'*OA.]'Pub5i=͛CjZGmK=ήO>@Njib><Ӿ\XKi\TaCTKA*pTJUVKWVw/B9bxԐ!C|(M G_IWF]8T!KU5,ԣmЕ^Re0m*_hC/B_HA?]YKu髣M7>?xu6   TTssL&W%g}B2    _j |g}+t{>׷~W&M.vm7w.wܸq|f̘J_ۊZ_ mg ~(RXKA0-s>nN&.ULMխ/~ 뮻Ν;MUnȑ9Ǐ]44#!   P*"4]x;TdRA@@@@,Pk׺˗^{=þ*t}7>mW JtQ8qcF|(Li:>|U寪^U^= |)բE _̙z)7a_S {iu U6m _hcu=X0h o۶m$        e TiK l)̵j*^x7ydo`z^+XլY3evqG_K*U`oƎ&N蒕lٚ_ey {٭UjժU\K]9ÅA4U+SmnԨQ>c i^[n߮}oAi|Zq ̛7χTN]*׳gO[*YŷB@@@@@@@@P< ЕnU)*t)e.]V\Q0JTQkmUӼl>a/u_PJ_ [YE.n&{Cj޼yQW 3w59{lck֬A6Ga5Uvh{4N:sZ z         @ TkK@ZPF+t͜9)*}Y@aÆ:R p[mSҗJ_&MյTUk~>Zf8ҚBXZ^no4iR>m4`SO>$-ft⻂:thc߭XbQ*})eA/-#իW/V6Xew%oU|*3ϖ[nö˖[         Pj|ie[I]رc}.`FJ_ 6,QKҼ4^XK!llRKջZjz"*{iVkiTMlٲenժUqe/ͫENԅ*WӺRK4@@@@@@@@@^_Zd/2Uʕ+ m֬կ_?_9KJ_OXK].*yYLS~}״iSVرV?TK5֭+{*i=UL¨%u        T@_ZLRqJ_n׮]WRJTyK*UR%-P杩җpb5OVjРAZe/ {g}%*{lүπ|e/gF|^jZl]E@@@@@@@@#VL(ctRGV]aP**sB*uia/[+V0׶nWRe/ ^k֬q5zh7i$7{luTx,YK둬e2ڟOC@@@@@@@@**VT,RB*}%*}*h 2ĩVnJTZh{|0q~kg쥰/]BN6 >͜93ke/-?JdZQ-         TP`V˂Q ~Bh)eԽcJ_:ursC-Qkʕ?]09){X^;С0 {Ye>y%+{5i/*{i}4mUw%!        @Fd ]ƍcioW6m\:u|JJ_'OURo߾B|bf̘+{:B\תU+i|UW@@@@@@@@@ kKۑҗ*t%+})մiSլY3W~}?߯}nܹW_u |m6>V[-[a/=7o<7j(?9s:[O]=֭[izT!L2UJf        {KkҗUTo,URKҗ*onڇ4oGYfnt6tS&q^SNuÇ>3gU +{ 2T!v~eTKoiʲP]_|{ܴi^y^ pae/-Wf/@@@@@@@@@j(/SoW +}-YĭX)tTyNSS쥪_o5j{W}eO>Def͚^za 1$aV+ @@@@@@@@@ .LV@עE}/UR+SnݺJ_ս{wתU8y{GU:u*r̙N4/URL[k>U4hW5#-        d(6YK+W:U1cB_*}w:US5o<^sTK}[zܹz seqƮK.Eս{wʃEU`-UPoUL@@@@@ ^J_ɐU0U㕥|q~J{m9" Qmٕ'꺫sήaÆ"l`|[p귘*cFk{9 PU 7Xo6pBխ[Vvk~VZU5k    P* I}9* +iLU=|˳&Llzs<ռrMkZnyu=oʕuޝWY`<P;w5jԨ%#UoV6 |oKZ2uTׯ_?~~վL.~_[o5} Ѹq%\f̘x~wQGŏ    @yj\K) Smf, 晜op~~cOԍod P}߽c1TW &#z6o f͚/( *0OꫯgE搯ײe 7W~YN3rHg_F"   (PW0BS;'9Mr6=NWce4?敯9sիW|TzM6u'|r6M0͛7/邏NO>)6lذxxiw,XƏG9\vJ@ Jԯ_ٳ-_7_? TQm{M^\= !@ Tg૘o{G&lVX^VzaO[h_gvv-SO=5m=O>_:]--5n82@@@@6@* | a:^UmsWz뀤iv+k>_|봕#p<򈟅8{B'.\vuW e'|n馮nݺ;)+nv [ }jQ-_7_? ~m~m!U)PbڿUiuΫ_ #Ϝ9ofnMun7N)թSo|B@@@@(@ |fNk ը݊%u738s(04b @ ~2ZO_?J*neZE:_Z~l0N!6b߆fm_?OK/-G@@@( _bҪ |=:j-[05c ׻woGS;c]縃|7*㙯$ë|rw} p;ce^>EJ*uӦMsoS{w/dԥzu_2dׯ_?-Vհy?OvVr>;vNg?sx`tznj/<nw?xja[z{?]d: :u1{ilB*_ٚ~XVRԩSݨQ /To߾Nm{﹧zʻϚ5˵jʻpnw.mRh"q;0ٰaCߥ#kǿ޶ Uma*ŋ rjU[o5m>}{眼'm[4(^uUomz'+qoVL£=z?~zm۶5j?+_}^{6)m`@nft]w9uOvZ>PRk׎gjzN<ٯwŻƷ6sWuֹ}

;L-;l^{JJ+(glM6q=Sx*[6Ў:ly/)d7lذP)S{GrJ.袴N8n0aB" }7n=POóGb+dQ]|qL/+v{nQ2T *Fe:YvZ)֭[b՗-[TDm+q]O8WɿΝ;_zJ̯*hj._YWٳ0_U 4nUٲe˖7t&M_P UyPk޼/#u_iԶ$q{sܹ~V\2OVj^&U at|xZ JHW 7~ߦM M[*c#G3\BR{xߨ Ki:tHܦMOv*AfM롊]y3zN[lr0Tu'URFէUUӒa#~l?UiA=@BjeG0eR+ZSHKa2SS{qǕi|壺熾oZHL{=Դ}~    jH:!.0JUFnBAScsl2uay*TP0M¦] }h>]w]tfAP8V40],,<[|p>eoT-T9Vx.ْiӦe .|B/o_7lBZW8naJllla8JUtaWVU믿ޝypYj 6\6d)hUTuU~+?    9 ʉd'm@^u $_skI^u{@C]pX7!e~738?Tw{ʬe#*8-ȢvDNln@b~2Z?SUXQS :jX⡦Ve? 6,Z#T1VZNjߧ@*/P'UEA-uK/MU34ߣ:*/RITX**YxWj 0Ҹqc߽gTYB "@q cuue?H#rmwo,5uOnMglޤMZe_X?S_HoG]<)\h+S.?T=M-YAj=pϨ i];oW&Tyjt iLͺTʪBٰk./TN]W&ڻᄏ\VK])5мZi]yV6𥐓Gư"^+UKvW(*_ %zWVNjtj0WM6o<_KU~|i     ͩƍaK$mnt _M]Mb |NDm˪URt9Y}D@b~2ZԕPjY˶[/u㤮s҉6uc*o՝OT:yU2}cR8L'.03U9sf_~_EU@M'N6uedArU)Oh"9/#)+)'ryJ0Nlٲ dH' |e[v6m|&9[VE_ e%+@|?w͚5o+o]ڵ\.]0uk߭6*W6[̙Sb02Zb0}t֪{{Q[ŋ;_ ZrzJkUʮhK3}ֵBsNUEkРA>m҂F J0Vur.ֵkWҸkw_ x    @Nrby#넸d~KSN~!|I_jޮ7P]>}@ߨGֳ2/, td_E:9s+ۚ5k\Ϟ= We:q9Cf۷0V[va.s=םxi'tm$UPMMa/ 2"Bj&;~H-F PD5%I1ԴQ\'`5>Mab 3_G _~UWKaګDG4lЯ4KSWjaKQ˚3e53]TBeo}=[7xc?(S+bԦSMZ-ٕ? |*w{l|)|emnx≸ aV!].\ _ _av]aV]*"   -@l9FN 7 | :ud4b |-__ae3U5S-u=VMVWNP_a*P~K' |n*ey}JaA@Od }LTn]v(u;UP.T_6N\.]jtou'D#PS_ h x`ίgq_A 3XhQ\5Ns7|s |Y5dTwSrjҺzo,w-[+|/pbE08i$7`pR_TyT*_aM߱.pS!`]r+JՒ-n66U$T=}| W'́J0a^'Jf̘vrZmr)~\Ҭp\bb @ sQ|g/uoPԯ_?m҉1c8UH6SW]i=;,2U6 |ez/}W])vwq(P;vlRe|0WDC9ď/ĴxGɰHU0VDM!ZjQK% Hoq{TJmܹn뭷.mU]~j w[`\+*ھdtw_Mt3\7nTZ+r+,syRZ |饗n]H[o)-׿5Wu+|*~?    9 ʉ捔 _VC`sxg8eƒɓaWFr"9 sJe1_kK]!zZW :q|*[J=N:餬'C,XTsݻwU9oUL |+3HW@jJK].9URVH)lѧOuUvǪ6W`ŪJo߾_.2?Yf^ztǪ9uGga^tE=, _aťg>vEttG,u|i xfu8WUU~_KDsO>dVVZ+s>&㭾k1La.{C_O>tOS3<]m]tÑU{J@@@@T_'dix4ȑ#H'5<<0O?]Ww'Pw?O3 P-oTf |w}Im,UNt[K+,جM6I*F N @OĺWtԪWN9 —*mQ[;T1m۶< >@M |UtX.6~A{*Q"W_NUP/^>ls5zV/}F~~VNj۷뱺{t) BkD%S/uӷvZ?3eʔ8DP*YS + )3Ul+HAY-@i}q Qݺu}N]*2;;NM%& ;VjݺZ{B{2gZdKߟ9QE/]̥؉'lY/hu_}5kWoԨtMTܬB( Ŷj+SVYLg i|ߝw * *S j* թSǯvEtU~+?    9 ʉ捔 _:`:jM'fuZ\rI͂ 4ȏt5W״i7]:J5Y 8k=RXٺTKaz( |)j\sM}nQL{"ae,uV i5,=# 20{:iBQN5uǜ<9h @Ԥ^0%RnBn&s m&m |)Xw|ʹe؃W^y%kآE\Ν 0dW)1 Ke_Z7iŃ߹N1aX/|Q2% `iX? {3x`æP*ek L~gn…?l/{֕ @@@@J0@:!e/=>զ:٬+b<󌿪]?쯾>}[V#<˫-[&M2dn@ sQ|__~eZXDnPN_}u]S@#:`I+Wym褪U8QZԺӺyTLU( _ k;f̘)t^'?U%Mv ]x1 ٺG@M |𩧞14V1|gbrq;Kí;p_fΜTu)ٶb I^KZnd'A Mi=T}K&RA͛k7ߺڵk=XG X" iϟuYT|~*ĭɦ^ 05od3fSu05um v+L3+r_.r_%+FywPw%}ױPMP*WwxyL]I!H!C܈#lWZp\=S\D"[vN*窢aW 뽓Kw+»^wW nݺ=:ʏs+ۤt{キ-    @6c넸pl t.]ģ| kf6h_]Wx`Ӗj''|2/j@>Az*𥦪:Q uf/WenIw}SK'z-ouR'Dj,)f' 1uWu@55<[4[( TkQWE{=R%,jo޼yB-ݻww 6,k)}~mQu%XPM}I O K6М9s| P]H'P,m?WJyy-m<Ԃ |9P;z48_|?jUP*{q@y    @e|UFo6'63`*$DT(J%I -T Q Y[T*ٲ$h*K%EْH3}y̝{ܹ>z=̝99sgvʎ:lWwCwoCbvJً}nN;-[o#JTlesJ2U=otPH/{ ;e,"pqaQpiD~c|J_(99~c,袹+xbk)/ N 铰0Ѥ#m/|c͒ԑ8D9~>bر^{ϱV+H>kͰRsw~KqEC*^#L%s5vGpGpGpGpGh'|5 -xr袋88"uH3FcBE[8 NvG`.!0~.mS/ Xa5g:#0~tƄQO `Ȫ~G7Nw x#8#8#8#8#8@ _@} lK!>PxGpj 0-F[lZkeXDN? ~ݏ#8F _.pGpGpGpGpG`8kOAm)ħ O#8@ h+m~gw_/xȎ?qGY,#8#8#8#8#8t (SٖBy#8#A`Z6k$:#08k ɓ8#8#8#8#8#8Nj`[ فpG`Z/&Gh'|8#8#8#8#8#0Y8kcbRӖB|b2 qG i7JNp86TpGpGpGpGpG`!YTMf-xiGpƇm _㫋#-5s8#8#8#8#8#0NDIX#8S+.(pGp.8#8#8#8#8#LNdp (VG8m8\CV_GpGpGpGpGp'|MG9ʶNjh=BG8o̳8CYW!Gp!pwf^zПgg,̌6.{J.]׿G?ʝ/GpGpGp—W$m)6:#8NzҶ tG ot:B f7XHG@x衇G<lcyhFP{l6x6vm3wy^zӟ^Qv=o챏}lWA ,@G>2:#@;s5l.?y[a_<< dK.dntMW__mՊ:t|qx볳>;{SZ`!zD'g?;۳,UuSwfsXxs}]lsz\5J+e]w݌پ;?Z_WYe =]JXskw,H=_ˈЩp³?>{׻ޕgyarTֳU<}`| :[ָ2/;lv]|}5hIY`E{?1,s<9=˪LQDuqӂԶ,°餓NʳGޖ9<:4Ecɂ }WL˜hh!׿}C~Ȟ_DŽ-6՘:=pտ, wqG_yW bY$FPRYЮ;tG`"0 Уt\guR6SU'?IR 򗿜m#O#8" oxdq}4K^K.Ceܓ"ss1+ z(xdXR+p6?_Y_*PNBLc}ؐ?[$~>h&A9vGg{キcNSXFڼ8@$\i;Pފ\rfmBZEvy0;MgguqM>L:넯~КCnRl"*,rdw,J—%|q3yw(73p HG _Wa[Q}&pID` psWA?yk145U:(Oį|3QrR,e"Ɗ Je%aAbgqQsQڴ%RiRX+t(>8ʑ@/He/X+zs (>OU#HNKH>Wn7HPgM^[꤉׾Pa5|d, ]/֟ _ tuj5JcGO[O+m- CfY=o'|M~ :᫙2/~1wlɱ9HDh6qW&$|1n\y$Nm,X  N_o1Cn6% ~+_< X(NJN,J,$~xJJq\/9kNmm)6I*+A_ea!a1O&Nz\߆N=8@LCAl7ZJ>m Kb̮e# QFD<1B뮻f~x&G|,smD]hEY> i K/'orWGʏ6*/HLXe qV)7 b=G55i U>KЫ*t600&ۑTqG".s'|M~9;k2曳<)y@9眮@kwy睷ˍ~0zӟs:JeD Cq/sMcb.Ff^ͭ/^ $<;ph0oQ]ꄯQ#<ᷥH #`gK, 4Y;d,2DnX? 8kOL"| 3W4";qXUK9a݄B}jviA`F6y Ju/}K3uY'}P"a*cy{^w`IEc8S;/o_Ǡɫ^vuYO엿e7(ZkTyz믿~ndn%:<(bb!vG!G?>o|#\ve+3) \;xW:Wm\ӤϹ4 I'ϣ;0R-ʭZF(.(5fV;2zJ!|1GgpLynS'ZkE,}'r(?w>˲HX` joH ST;yb>m'|3Oo)0mTw|%o[_Mё~eG:2' e14dOUm9o.NHGł6ʖr'n(cp؁qbbV3'I hSRekwω?~ zmf^/"< w}61֙&& OYy5NJ;gP뎔9*|0g?me7|Ƽ,qW#XaL{%|viٷG6}vV㰆3:тpYS`mK,j1+~;ƪ Xãa܇mo{[a7 m4팽S3.ϬYKXXdVAYW稯;<(V7}w=C>DA?ԧ>e*+GaQѮE13lg{#xM˺_Fπ?f[Ì(}V6xgs0kg >7vq;9uo喋 HV! D{8|)]Z'Wo̟\s͔g- h/?5`b^Rg(vʾ~{O|"2pN,*} O)GjRv- cˠ2ƠݦS0wΥpx|g>Jgwc7By#v7JxvD X@@/fCPJ+69W%^t13mGnSsʲ8 yI]in>RG`aߨ%,t*~&}@*~90Iq? ­Ana7aP_ᆅy,BwΦGi",ҦwA Pģ8~' :\^9OA~I'tɸ}'tH892aNd ӞWxA^-./܇ŜN Ft۰ - Ra'UT9bzu{V1l>NgXrp NP Y IwcaQ NP NX)܇RsL᎛ Ia .xI?=, piB~ `r $攄NP45, v+CS?XO`jvO8Q 93ߊ_נˏ8(.gJ'͕L#ǢԹi' /; DN 2q3el[Ϲ@5y(Ŧz@/ 'W(@"(޵qcA2p|GG w\5UAtK=,I!.>,.>:C6|&eutDErFt#r[ve}&iO68r>uO7݆*EzX+d+ܑ2R<0һT\&ϙoP%2pF@,6 SgwkoiرA 9t37A)څ )KPq]) ,5TNp@_U"SN9ҭ^v'j ;@АjL $* 6 }/W ^ߌ3!g:xli|| րI v9aܡw乎І8>xL'({[]ѸjP7,]~Cxm>1gkjK1MHw1 >79ώ d~/cf^}#s?U@- k Hӆ;bw:CHGʵjΣ:K)'E_$e?X=OR@МEݱXe)IO_Fv'K̃n8Ȍ:Wn{c1BnyNY"k'B:X`7r4sF$,ء1S)4XLa#!^Kg¸VY[?&/0ʄ duX\w!a<{EA?E?aY\N˜m x&z衹9^QWdq:U8!޸Ϭ[NkOO=@+iPb<;,%^PUǠc);%xnuz7I=LL~V946A_4,1g0&Jj3e`8kqGs c R)oG2Lն/&=m&-0=,:/c/%^oփح~cq}R'Sro,$#îo Zmm'Xs |whDw\ /?fb;=O~KkK0"ƽD6̪{΄9a>AB|=FkY[x&檄e-33n]aʼ<1$=H8- l^lF& \=Ll,|JdMrb5lY}a) F-SZRaRn=/:Aba Vz]a;sB' $E+(Nv+lv9`ҮaQÿݵ"[.`~}]~eKac% [X dܢv>o./EX# !i` L/.3o 6؊vvmsd+[a"`KvAO]Tv2+y䑅_W+Aie$,;dc-DŽ"/ dwC,؊waF#LmU1|XrJvklዶ:( 7a?;:(V޳C^Nnjv3" wc9;&SB4]Nw0Ϫ,( v+V,|ូgTYJ TEY*NqH uY{[ _ \G qKع"~bviշ94VCgw}ڢAΝ{=ὰ|zץϬ%CXuDmP:moyo8A C2JYk5!aQ1PXj—E~$:,%O{%mԜ!zye{&jͨ٤֕>_\@/BJ=v,|e2XG]s&ʒ2Qqh}[e<] c a'Y3nSwo x.Iq=lvI—K,JJ=g8:qdliʺ=}_{Yxs/ YAJ`v?[6a)lK{=וxoS+lN/)j6݌m&tjnj0;J8WG} sD* t2XpŴ؟vG`Rh(3|,lBċ,]r*Q$Z Vn e>, B _ƕX,6UDanYU#gŽEE_m}O*HTSU8uY /sV$uemr@P<\o\V@%тh]N>z$S ƔAYDWUWOc2*~5"*|Y/R+npf9jiAJAz*\adqkNVhWFuŦ:9/yM}6l¤H/^<ߵ$X1H<(>}W/~PFWۀT`۩3ZðmXvU^jXgccw/="WEDzrE6xsKHeފVĔiT^{G *ˈE }(Mv`W@kPet 2C,n$n>Eޙ!zO<ȷE7ƄѮa%رC<Uؐs'uؾ+M—3SN\;3L\X{g}b#J¨uhR2F*Y>H;A< c3\?bؒ9*EIcY(&^15A_ sUҦo:,%,k~p'2w+s<6_#>'3=弥i5{~:kdNwm)6[W09j5i"|q1y"oA~cKXAv &qgyUWu݆c&s w @NI§,Zoۨ;kdڰsYOdԽR[ưh3PBCyNX WEbRĖ]) %Ru&e;8Bվs~7R<3Gp& 6|ۅ2 DŽ/6d ?D/s-X{,?sAH_ܧf]aڅ^HP)${ `Uu]ضʘŊ%|\d$/6QhR'Qc2,ዴ1FCy$%W6&͟AL8XCnLikaOYB!QcFIWQ\R,Ex(K_sK6+S@PP˾AGg$/şЋ*{"A_17W)*̄(-|5&,+R`*+ r,u _lQ(d:3lD?! *֩e߲;l<ȷb:Hc )K(zT0]Wl ۷ذoիZ\gWK‚fi ؾIi{$T:a7ml8]ߖ?OB*=Bܗ5m8^p[5Η%| !_—[g*k?esUK>EwꚔ&]hIg/m[F &pqo'| )-KbaXc2%7|ԠY| _U<=#YRM 1 Xb%gˊfa |α[ouZJ2o;~hܤY{6$'/ᨻaf:@_ m *%^Kg>21صc.Ǥk'?&~rgwּٝgCNv&.#L3me8uQE+?qxO;K?J>0I!U~f]aBم{T=úVݒ (֬XAd_VR<&_Jev27Yԉ;LNڣI*Vn7L,ዺ#QcRViӃU\ip |ˎ 2HZU"%wV{OYF-m, P:/0M)+BZQ3-M}Ի^/W>vߪ[ţUع {b%B 鴖ҪSJ2(Ɔ?HMVY[R[ r &@J:X_Qep(UE,o.~\?kyZU'/sΣs :e~wz&Ee=H}^GU߱%U,DXlV)SMʕv[c _B,.}lJ.aT\5J 婊4qI\g)YƄ|{YmJ=zv}o;!Y%n.Zb>37mlF04AKdʼSTXu"{Ak-tVQmh\qfW7UQNm)6h`E1BTDd":/ 2B Hb&?6,vgHlz_GA",y8FͰ2-==#b7 &lag&>G<ָ_kNfIOs Go q63xB"_+EХfC:.˚fy_x(vҢo]L-_8@߈`e -{cLvc~c͋vaX|Oy1me Dx[WKm 3;M2FSvBySg66Ec8NVr_v/a —Zs {0y]lq㜷4mǕA]7 _M#:KkK0^F1ӋeseqdA;Nfwe`=JǕEҫ++p †8+0c0{'|99+'sa1t](dԾq~e/&ygK2­ZGE+TzG77ȿ-nb—=rS e)eKRV5:k'9%R~/3U%|W};ʽ2X`اeQXH^~*ՔXK'A8 |a}\%nb-ݖ d(}1*67,YiEn-r*bjW%4n6-b_=x_u]!E~S7&!|uXIdoEy,$mSǎyxVX*eb2'KBկ("o-ֵl!٘#7\3/Hr+c 5`6R.=Qx9[cd/8%;XWABz6YL q*1P=c=:]6%>ۿh6iJ=>ҾANn[_4oUqt﷪~YT}& _4Ȅ)vءɰ}KW`%ӮPl]g\]Yv8(o}3c:dG{ YzIv{ ;l} >}D?1QGUDo02u󋔅b/ˆ;\1h3vŧ QA —%l6[KQedv*+SRZ+_jOo2V37RbU)S~y? Xuc/ "\>G"<csm){ho4YglZ-3pӋ%C`"=6&rظR(zEp㎿9{_—=/ŧA؝8%ͺX܋lT_\S7_Ee]Va/,Ef$OȵkjuEDh#"lc:AHag25 # 9ӟ@^QVU$=KHQZe 2Xʮ}5L|nVU3o˶G zhWFGŤa8}eCleZ)Nql~qv4pCG˾AZ˵V}A*kz X`5MuyF?˞|ԋ og,Ad_Quf~pUbx~I8- m58 KŽ*&9I4gQXm)6Xd/O1ѳ IlA š{k⑞s%Kjő)6.!5}#c )-:n ~kx_ֽ,Eˬ4^.ۑKe;ߚqftަKDZFEo dIm1)aQYn8o]3D @@ԲcK+V9hяtiWyV;ٚʆ84!VQ -tpDŽ/)gxm߆/6ZWnuobF.n_5lLڬbmUrg\Brg.WH] gL,x!K<]/ӡ鯮u8uqE\)fXq4 ܌PjɭZ(Aow繵{eqnH=!ĒKI^(o2l}+2"{icKQlb—Nf4P_~S_zDpӱv|N —r{$-t)EMʄ9%v˒l,a&&|Q?k "}M֙~Q۞"|YָOVU.% O~rF#XkbeGV$ҶZ%vu[[+g:cr)W6=ט{KHYiHYZd%-uGC]SD(T/ Z#~i4GTj޸ú)bgm~!:]uW~Sc-5(ˮkA^^qsMwK^Gph c)[W %bZsߪ30-jX*—],K_Cc~0%-Fteo:#ۂ=V .C@ cEJA/7\ٕ& bAl!]? ҇ϒXsCdiܱoy_ة#~iu-K ŕ4@?l4gcі92o"^ؔX&m-6OM41γ~i'ϰg3],@yN0-غ@x$Q M Jw~]Ǻu K"7KN;OboQՖ pegǧ|?"8 752QEAW /MfWBS֎$>g7|N:6,;NÍ֜옚3bn6l‰;m,A _mnV]K)—pֳik~8a cx Gyq$RҢTܪk}[1`,fIJˮuADL F$ źwR}KX1eɆxs[pe<::.d ,qRuf͕[5&\Z?[+yU^=H%Q|lIm6o4Ui'~;V | x+\D9\ƚCJ%|QTݲOsDiǶ|Je$FJ++`2XVq렸N=!?2n<Ҩ9[v<@um{Wg2,Ì]Z27=E- lLR_!ЀG~b? /|XWLl"L/*`msL#kK8x(,Ɠ_YSVRW:O&xp 3giℯ}'i6mPɄ~se`Z͒;-I+m<3gpn"dF~ٞ.?|8!fQ UUm_(uߗbwoQlxVh _>QKN96LYS¯6m/|WRH,1a#,̧ rWi—|V]9 ibp*ަ _]5ƶu"&|Z%O*z ;3\NW;74)+eeFhю_EVDP񕶛2i۷4]gDz^/T՟LYe$]cKesK,]Ȁ OyI}Wazhqo)uo~Ql*JlžOMX{_^k({ Mś"Tg<1CaAU\!HHlx!%(tX[жZ! ڐdPWʊUw{j]͆=mu Ju&Ndj 86>`yV_`j7ʏTS(!w"XJ[0tC|q]vvE"^fTf9.3H$ZSWz7;lg,ìon} /Y7el&|y>kc4t6 _/~SsUjs/}iWZ%W_=&͋=Ng/#x,JXA+ vBmC,">G)!Vqc _aV6 YTo?.R88$"vQ; cem.?jEA&yc2 $VES?vn)mX,@) !=Gn6Ȟ,o+ be(Rر9 G1ēaNx,[K6(U#Qܖ._ꊅux*^Ϩke)ήؔS1 g,C.*SpfR鬣eyA 7P+Ƒ"t"a·.cWuԦy%c(Rubtoivm~{PW'c)y,1%-k«̠Dy囱V/(SΒoUǺYuƦ ~G;>z[ĴgVe y) W6c9GiZu!i4#ͽbeR="VU2"1ww;*X옉q7P%6JK/z {7un}gLЕ^W&K=Hkh"~ c>oal `IwII_(~l܋_dؾP!a'u?T^{[Mɠ8,;N8!vے+=ز=Xkl1imMauHNV,d9D\vۢo3^q{P!걖 +#{6+UE[$3WeVEvϡ2 H5Wڏm=oApv4qy4TG +2V]ϛJA8 |*d-Xҝ}2Шeaa {S"Q6Z'܇Id%fhF6o wYh2gyTg=Јga? ygBXF]<$epbUW]5[a r)y8a0*\. `"3 le͖[nlNp&=BZ sa/gJ:hיo۷ &Q\~20O>Yg\۞ّG#:3TڴRK-;kv-WXS1 ]aSQڻ t@^u *m֕gZs&ִLj)WOP3/f}ۨE8[?3S|\ǍMK{'|BhoKQF٦sgP=@B8@F-;#L'oLg5᫩=Gpfe`!fmf[v=?s(۬ J"`3 X^|mг^$%Sl|f5w]acH$Xʂe^ݝ#8c!"Ć,W 603s1=3 GYYV_.z!#f7pVЖb _3O03_x򲗽, fkt'#0p%V6pيd _prW#VT Vy g`yk/ H` g)7/+_J.PU32':$wG`!NniW[^(NR$ !eYG[Vvok[Mv gq\)n&F'|5 -ņfVL"b|YcGpb0"mo1pG`:~c:˭T;)$=GpGL#k.pƃ`-#@9: G";cq|b9#8N#Жb _^Gh'|=s[[;8#7Fd.O#8#L6N9x8ó]wݵ4rHg ,@8#8@NJGh'|= i[[:#7DzdQdozӛ&&]GpGpFh`pGþ9roE͏o\}ճeY۱rGp8+?ʲN8@;8a)UpG`x1j=|GpGpGpGpGpAp ?m)65*gp&'|=\ moQGp~ch=GpGpGpGpGp :tl(Eσ#8!0-ƴGp~ 8#8#8#8#8#0.5.'<^WlLxyG0ߘtNXzrGx1g38#8#8#8#8D#.%cvG`~cZ9u8lDX'GpGpGpGpGp'|M$ #8i7%xG2ߘ:#8#8#8#8#0Gp)~銍~s#mߘtNZm:ꨣ/[}ճ 6`Ғ |K_lUW^{Z\E]p Z?w%ߘKyuCK/N+R248#8#8#8#NDIX#8@ oLK:K`[n%{\0[b%zs=f;13dGk%cͶn-#G`.!xKd{oG=Q?ySC=_*B M޼>E/zQv%d꧛rGpGpGpG8kni]Q pGH 0-ƴ3Ig~zW|Nc"5㉚bo̞g牀6ی-Aԅk&~^zO}jN衟t\fw\vGg/z 7d-\׳&~P_A}778#8#8#8#8ᫀo,ذh#8@/ߘt{Er(}*~_?ϳ3<3OV[m-첣OLo|9iя~t{_^;s'>qCYm89lmi|!y.y睗z?{_{o#c-s5,u;3Oa^/?d/|Ar&dgqF'?9=9#8#8#8#8upW栛ITlb,;#05LK1-G0䄯q?|*~_!8I76t A}cᄏB>myV]uՑ?nּ+w @e_ +S°}YgK~/{H?җ4PdVQ\pA񸕯8#8#8#8# Nj$*6fGpfo#|;_/ɭ(=XclE- {o%0T^b%re^_W_ +MuCg^{m=? /~s+?a$>ґ<]q~쑏|dW%mbe/x W^9wygx뮻_<9b)ç=i[<ݤy+lӟ4ӟ\Q27Gq(!Y@?9眓Oval*Bgy9X ? .J'?IC׽u9o/UW]w}҇5;#<8+B=H5y^}ճZ+[xc]o E7?@^J.Pob䝹FFwex`Ҿϭ9W{ʏrDl}m-!>`џ߲u]7Z#8#8#8#8@ ,J83.#8@h;;&?f,p{];䓳6,U@H*ށ7cͶn9Gl Wa{}c+\X]SذcX;ò _.|B3,dN9,(my\XHS#VHG{n(/`i /Pg̏[pN~K.d.2=okbզ7M;G`h( E/Y ?8;ήv=P?,%bioΰH?E[!łu/| GY 3ֱ^d6Ͷ%]Xs CZ[mUB Y=iBh_h#/ KXn dկ~u ٌ?UViin636ha.}rrKr=i1"<?,G &I_}s,r%T?nmK8#8#8#8#%y{ 0;{$_;#i7Lg8կ~2 E{U'Ȣ93 :\sM᷎$/V7޸S7\Tͧ?ߟ NPygEVE}!({tI/wVѰq%\{:AQ['-a2We-Kt,ez.͗?\ǦSL"meVW]0mT7=gXC d-gU]@ hKdbmZ $iǚҶnu];,yIIxNޯ(:@(| 3vjE1M *iG%qks튞.vSێ=VW; Gw`0ů#8#8#8#8#00n+D`vL?qGTh3J ̭pM7)H]ټΛ}̭Epς"U΋kPfAaƲV/A-|?/O?]Ewu׮6l[2Ygm81 D.8餓p<`K5Ї{kXk UXYxᅭ%/yI3,d-r]! _,N<*º K9Xw7|z_ +X\Ky;s#ƺ,|r\~eqf 6-+1a݋}y=le͟ٺ?i1@-_IE~ YaMO+Y4LYy睳<)r_e0 Jy[&,x^{r!_?MF{`j*q'=+XhZy啋4rWF_C0҆++IlgXB>9=MJVeG<{z衹&~/fl3)ԕXHk 2HkJksO,ZS'.B9-rK3`+ȼ?i i _~>}˭bi421l0Pq,UQPgX /?"|WXw~e!e$;#8#8#8#8!00U=j&a'38,C`Z6Ex` yxSf1aЗaBҖ,4N "σxnol~"qKzuq[].J[YZ ;zEHZF )k78"XOֿpte+ŭ@ S]W_ p%7` S/@P),3#0oͿ,BJ]/:*D%XA˲ڕñw^Fl{cRmG luypYW\Q da[K(ரeBO7X) ¦,4˔Gp1 x̗I a2Ψ~ uٶ{,)vی߃f='gu#2v? 7auE4A _σE8=*BVK GpGpGpGpGZs$*6UGpi7L'%.RWXpK*#~uU.2b!J+%^!Uɰ/XRʌH;UoYwu \e*30 &]V.u!+g=h,FKr"20#8#8#8#8###0 /GpE`Zq렀^{ e\QDcE#]zWeaۻ;w[e FRQPD$::_Wq |*oU±^ 98Vw^{Uc-aɬNA/Ώ54>G+wGߕE=K/+Gս=z:UxeFS}sSAw=(wy8{.W,A _;=$*G}$媴K%˿}?Qǖ6i%F8pGpGpGpGh'|5, cfϒ#8i7ƝN|sNczxzU C!+C:蠃8 |q4򩣑^i&|YnUck&'d*7E?V|%$ޤ_\pA|#{ XĦtr5Z#G`LHe_a#dBjʟ,E3HE?eɧ6>śZ cO~2.[B;SO-AvWF`Bo[W"\Sg +8>{^B)aeXG0 O?Ho?e] v- ۺ~—rQ\G8۰!]/Sئ{sU֍s_"bpGpGpGpGh '|5, g bώ#8 i7J',};ߙ,k?D!)u]? ! &]#&cNU m"WRi6tY4&OtE⋻٣^Lv뮻psQG .)s%&^'_+8HR??8S卫 #0o[nY!YrYڣ _'pBm76|s=}WSbDW&#„mV=yYf gen/~"}}Uܓnk:c">nF]!?rܦM޸ _XF{GpGpGpGpG.Ns79V]Gp i7L_(b䴄,=i*F$;&lG1#N*9VѺ%NyfW?ƪN,vZWY7{vm]L‘U6NǂY]L5.7D.+4'Uɣ#0 oKAE+nmG}(BH(2{K"m?j%_wu]kPAvNY_o~g麿袋 1]kZg7q+)2$\{DnʍoV(7bDENw,ʇu_"1?1'q&|_+ӟlpGpGpGpG '| <ًpG`Z IJQ..L/J*eW\Q-TJy:}6xcy+(8eY{@))R /,²7w\ᦌD`aֹљ?BLU&UkuM~wϨ7z*%)7"X.8~M~+$,B}GPܣ|wq:XB,mYgӷ(i"|YK~G;T\?t Za?Ѹ _ ?{wwմ?~[T\ rKBe(u ~)3C"uS(JLiz5r %K)>g8~Z{^yֽ'Z; 42e&(B/^,>h5Xb튫%wt!,^,6&;̞=>]ۙ`9#2r:+PF~&!:f21ҟVZ bwL @[[lcǎU^z ;&JL`7bAc LL4/ֹS6[M 4n8Ϫ'fd K:\R:t &+V uNo^|ͨS&LLv L+1_b hc}~}t ';kMqºB (&OL_8n|%u&Mtb}v_wCts ܲ&3 2DzLzҮ];ۖ@@@@(C1 /6GBFyÕ~f͋Y~|gY*UEjK#pS E6$6kΜ9rQGE>@'xBw_1ٚl&lӠ~۶N f6 ҠDۢE䪫m2ɂd.R9Ĥκ 6L4Y4,+u '`c=֞3dZLXO M1y5X'Ѧ~Y>5|}_tkQu1Ẅ́u\f྆ u1cD9sL1p @@@@Qtw;۾HGr]yÕ~`l8O%LdUנ%x[ eu5pH3rəʫ./W2<     @I U!7_lxp BW W!K @N 0odǰoذAnyg_x8"k׮?fA s&P)@@@@J)*F9OEyÕ~e,h P|gYW4h <.cݿZjlٲ.GݛO@@@@@*.,_ldـ8 @\7\g#("TH|2`wuԑw}W6l藱    (@>F E3^ pZyᓅ ҥKlٲr!H&Mtn?G@@@@_ b#!  I\7\gf@2,apn     _)1^%Ƚ1@2oϢm@Oy,     @ U|Yu%Ȫa@ 2oϴ7@HIy#%&*!    dX r;pe' W WQ      a +>F.  2oO"Y-!     Х|^_d++̶A\`pu7     |ebt4DrRyÕ~KC#!`%@@@@@! _l$d@ ++LL1 @\7"lݺTPAvm Kq;HE`۶mk.[5l?^ʖ-+˗Oq2VqF    _ V&4^ \7\gri dRycҺukKK/Ʌ^/Yg%ԯ__V^o}* @y;eŲe"/t?.]v1cKwJ*eӳgO2dHYq @@@@Grd2MWȴ CH,ʼJ?+S iW捏>H=X˓j駟.ӦM:uW_}iڌo޼y2yd{뮻NU>pП1YK5KFHql^W=+% ;7!    _ Tv~ \7\gbeJ@2-ʼQ`\ zgꫯҥKYf~_ ~pBro^g{\n]ѬZaټ _|eD    _yYW@ 2oϐ /ArVy0_+VQ*T -Z1&+8tJٲemڴi#~P:̙#vիK +~a~TF@@@ AD]b#@ W W85@2!ʼA0Do_Qx֯_/k׶߿u]{bZ:+.I   $@W6f1>+_l#s)@"2o" M@Q lgҤI2{lٱcmV>l?cOK/.\R|bkK.+-/e̘1Ϸz&O,cǎvŊiӦrWQG\"L2E4ϢEdÆ ra.yc=]^O>]qΝҨQ#]v>;fӦM={q 'xs1a|n߾]>Cy?Jʕ+'͛78 Sܹsw}vޡC93L2I/X@-[&_|r?h[N^}UYx5ZlݺW-f?~[zjFz8acSܰa>˗ZjL<<ᅲ{ο|RO>y+r'-[֚Aov_Njǎ*}]1cYٸq4iD9 W/Y{{ 7#Fӧ[G-[5\#/ I]lGq׿g-vw,v}:z\qG    0?l "ʼJ?S1 @4o5*bq"៛o/7A aF ^N:  ?^O嗨&`%b?#&+M, ygwLTv9`mqm{g^vkzM"rJ[wIod`Ämu,LRҶzN;-a[-O?oo>ѣGTDE蚔!   ,@//Wla/{H  @\7\gƖ ,yCh*olVgY[ _!MUM1AI6"Ɏf29c>f=I3iv#%-H[A$_=6]fn` ^+WRxwy_ٝ4f02A=~_J+j6-/ϛ7OtY84Z͚5f {E^5_wq6#f ]&ǿhcuf3\LIbM6Ll^)k}NoD~6SO=<wNZMi7}wt_;wW^yi;LUJ1ҟ+}f}em4kk4} &x敕-:z=H%w~{yfLhȑv_3jyYk^tE6Ýw|D.]l6:}_ujDۭjEV5#5kςIm^/Xj6?}_|EgXiD ڒ?e3_Q kr   d@6Gl^% @\7\gƍ -y"Ysƍi3I+9,>Z0v&&f xo~ wWFJLN_Yj^3i,QhX}!C+ߠvy̲|Piv*u?+Ѧc1AS},gŖYoo"&)YrvmQf)D?My},RMy}l7j{ 6Lk{DL&NId C]<ie Yb1B.2[n& tk'RٹꪫDZ J-RiW$2|;YիgeB WG7xi ~`/%6lJ*$f2r'G՛4i\sfׁf- _W@@@@Vڢ=X(@ 3cǽ@ a%;vh;,{oD.8upyDtӥL+i@,_/C] pӂƍF$dc5,逯Y֯_o{G}TtiMt@}Fo ZjN:ɆJS뫹n;vZN=ͽ҈&KV]qرv_2t@]>0uV׀?*KW7x/;Ovm7,; K% uM/h.{LcL;i׮]|;v 7IT|{Q:رCv}w4QikqC    M|e%@@IDATh㳄ውb|. fW W ) a`^z' 3ftDwE9|pwNlf̒o2s̸D׶mD3ai&^]5Iʕ:fL9ciOAx@~/mڴIj&Mf n]t\ipQG%w*_lhFANZn:a/h>|`C3\`dYfI۶mS]5H/Ѧ֬Yc工q    |>iHӣqY@42o4 D(@ ]Mz?>:I~mi߾-DרQ{q-Ѐ# <ҭZj{V;~'SO_~ԯ_@V-_uI'ɜ9s+VXіi/͔w}/ǣGSvަvի}G|Ox,wS? wyΕڿڵk':m3钆JJ3]40xL4nݺ60PV6nܘ@;V |d콀2yviVg2T;.Q(C@@@JgC N`Æ @*3s _ YN>LG‡6Y:&+aBmcbO%<6{ V~ta|~{a0dZK.ͫjZٵkWԵZ :gϙ HQR90,YJ[dUۙ,[)KVqڵ{'o޻&3X,idL0!ҳgψoM6 '֭[Y߇62mIN>ݿC= ľW UV;c7f=zGw\M8@@@@P ___@ 2oϰ3BrM F0ӓ ; .vUWLdJ֏؎is=k6'U:K6g:!"&L4.̚uJ32f%>`{O>#T:t@)[}ʔ)ҡCTJӦMmf2M|@E'ƍe6KLi5r2{l1ANbmfӬwa KM}[}~f}* 5rwWnU%ǿ勒+L~w\|o(A@@@Kb{?b&B^W Wo O%yc֬Yr 'Xd?]t⋶N4It֭ v {챢AP&+TAuG)^z=s1tx3[?0~^Sl`. YR%N\j/_>: fΜ)'|=ݵkW3fLq;wW^yŖgrA)J?,7tSO=%\sMʗۼyi0'VX!UPAtPoIM<] 2Yd;L,ymdK5K/7HZ}lԨ=4dީ|w\Nq@@@,Z#@.) pep6n @ .f ~^ 6%uI>o 8… <"˖- }>*K&ϟ1ARNٲRxO?tzuB+g?ׯm:3Z~d2|A .hh<ԥ4c 5AU|,4r6]ѳ1⪩W{ܹ3b2P&Y\`.ek~qtIǩSw=`Æ y]~_M.V gf21bDǞ{^K:w\Q   ddѳ((/6q @\7\g#(y{-LƨhPy/^`E۷G40,Gm4h&XIL!fٵ# 4&S,qhY~glOrg]W34֦Mȼylp,b޽{{hߓmnOɚK.,1Y"7(duZNپ}HqҤIQ^DT]d؊kimO9唈i`ǚ5k"&SD˵_&^T{-޽{dlڴɞ_vmdy&VT[=P/}q;6;v;mfYP_W\qE\`k_:.w]O[5w>裏5j8t|}L6t,1:Zkcŝ'    K,h-^ K@ 2oϰ3BrM , ?^tDK:JҥKncy2%;v:Ap Ꙁ/1AJqU91Fq&+n^zEo߾qQwL `>h1l%.צYzu*t钊bpω TLmҼys8َz{\R2w~/X-)ӥ c0]Q;ˍ`;DlٲucIk'L {n_}3ĕ'+Х۶mkOw\{P   d@.E dOD(IW WYcɽ@ӼK9z(@(E+7nמyS\qʔ)q+lZ&P%a?4fzw^F]Iqצx K0AQy5-ԹsFLS}Zf"IY֥#Gx"%&5Cf Kif_R4N5<`@oܸюg^ kJ yiӦɮ]n\N9Cʼe˖ɺuCYtii߾'    @x X'|3 @\7\g"9"#c"J{]ʘ1cʵ/Çǝ۶mTP!@@@@ C}g9@ t3tL@`с/k=͛ۧj׮?>C2e{nҥeOWB. @@@@ D{s3@ 3cL@\`Q癋S`޼y2yd{뮻NUVZx_W^y :4ѧo8p-$+چ#@@@@ |aB%@ 3CM@`ȩa 3W_m5kpd|%@@@p_/0-Oia @ 2oϬ}Qx0@1 NJ֟#    +_/6<++,!  7P@*VT.   D Dغa[yÕ~{ ;a7^uOew^z /"Æ l2|嗶g}f˗//jՒMg!Gy)S&a[-7oL>],Y"˗/ҢE ҥԯ_?i;=1k,EPn?dĈzگ5j~_s5R^<9sȌ3lkVtISھrGKΝ堃Jz5k[o%sΕkw}'5͛a&g}}d?H$bw'瞳4h@.{?h}NCK#j+Uw1c=Ceƍ/n&s]^ߖÇ˪Ulng}⮣֭W_}U/^lVj3ϔ֭[ǵٰawb2m4{سgO]w~xr1Dy۶m_~Y-ZdܹS8{_򂙼Ϣuد^Z~k_n]џSO=bgb3+eС8жѱPBS@@@@ |٫ g8 c3^@XݻѣnAH=Cr7VzJ4)?@u4({{7=s=mVN[oU~{^k#wyD$iOjצϡS{Wjn{;^%oifOiQÆ U˚4i"'NƍesI';U\ve{S4/v`+ ڲeK){ۣܿu:ꨄ0@wJ.BiAdȑRJ ۴i dW^lvy@WF     Q2ņ;bmW WoOG ,FQ4f+k! ,0a\G%̶ƍgk_lpX"*xHe}҆/4YtL3ieofڵh=Yb3}i`T=lS̀ԩc=WGrTz ڵk |mrJ?LfZҌ_.UZ5O+ufϫcnL7Ͳ}+f5{i1|Zn_}J 4LU7 YLa+i9yͪY&Ol39leº4s+b/Ϭ}7Q˛o~lI    P,fC N`Æ @*3s _ ,Fn4詿 W宻ϛJqM s6E֯_UG ʉ:r-~=ox"&;m?MUd*+?uO*rO>d@:fʈz sf9G v&˯9굞}و t믏3NLUTH{Ȏ;칫YӖ`?쥗^GW?MЖNwmMƶ!CLaT}g dOck gQ罃º@1fTɨ1=vg>MWi+&#oa y@@@@ HpM@ \7\gοP !˼QԀ/ ?.\X ] ښ,\ ۚ d~,d:/ to( 04d?VxΜ9~djG󚩞 1o\Lf^~zСC;]駟Fk `d?<ز|e%H^dL[ }ڵM&Nг> JUz    7x,]3J@(ʼJ?8 EE]n%\"J*;&.A8vX_r4ABXꪫsNpIG}TnT>Mx&сY~RnSիWYJ1Nq4 *6M7qDLXgϞv_0a+ :h/2[@`e]&Ç.if+ >?\y_mĈk&gu߸qTVk/}/CO-x?,Sab- :#e#eʔIx`G}gWA?h7̈́h3Hq]vӡ*#+TAg@@@@b X9bab#{Dy@ \7\gv-< @X|Ν;e2}t04\͞=[4n2X |2UVͧEO>c9.+.IfRkݶn*{챇׿ $̶{e I%+Y(㤛tMrj4nX484lٲ>ânAAN=Ty뭷G\rw +{*֭L6-xʚ/^ط:B4t@@@(f4[./6œ@]yÕ~f!e%uAv%^-0}v9=+˫z dI7 (oիC 䳤4pSO=%^{-zwNgmuIE ̙#Zɂ xqvqc *΀/}MLpLe+h:>+VAma󺏎.ٯ_??i`^7wŕW^)C-PWo8pmm6PBS@@@@ f96,X?l "ʼJ?S1 @2o'bi1=a&+|^K,Shg杫SNdS>[>@?S m&_d<~ɴw> T +tRMcO߯cxY/7l~}嗛emY/;}_^-b0x~{.*=ٵ,j_V~?^^r *ڛ    @z$ W7 k3@X{0KFqLO 3|#&WT;,9m{+?MfYCOImݺuuQ.\hC}݂Y4oԩV۰aC,g{;h+l],ajYt^x!j\K{._x|%@@@@0'6??<@ 2oDƔ!d^ LFVdΜ9 :t =geog-,,ŋĞ3fȹ+&&\lAb[MTZ5i?#qnbeD%˗:}uɓO>U<ڵ⋶|kJ*u|Iv}dCv& 8ж1RB2    @ %Fɞ8.Yq'kˊ+RIZ^z~9,(իW^Ui4 ʕ+Kݺu^f8 {.aW̒2hРsd#@@@(qJ|ف}N%z 2oOϕO@`(Y=QWQI{\HK3&c\~b2ŝ#+@@@@*!gb#B@ 2oϰ3BrMydF_~IRRѻkyuY@3Ù'QUZ5;E37fW~`    ! +.FG>!pepizFɌ.9|4mT*4! @@@@@ ||J{|QRpSyÕ~k@ 7JfLǏ/ ,(c3UhB"    @ Tb/ ঀ++t- @ 0o=˗/ۇ8d=p=     _ b#!  I\7\gf@2,apn     _)1^%Ƚ1@2oϢm@Oy,     @ U|Yu%Ȫa@ 2oϴ7@HIy#%&*!    dX r;pe' W WQ      a +>F.  2oO"Y-!     Х|^_d++̶A\`pu7     |ebt4DrRyÕ~KC#!`%@@@@@! _l$d@ ++LL1 @eؾ}lڴ)NtRvr @@@@@-@Wǧz-_l 7FrLyÕ~"ȖycĉҩS;vr%<RJٮS n/@@@@@ m| gnGpep<=E[ [ɓ'Kǎ_=z{.sQ    d_k3ϔ2e$삎s=gߕ/Rt ڵkh۷N8A*UL7N=T9#s;#G޻_~9F@@@@4 F\//6\6 @. 2o\zwxV@ a74jڴiRZ5ܹ <87x#% 5|p.\hboK+~wri>Ğ=zt=u]rw^zI.¸zƕ3ŝ w km?cw}r-Gwy2aLkto[no]V-[yŝ={ ڲeK9ࡇo;Jիg?|?ϯ?iF*#    @J#˗.w@ \7\g.;<+ f^g{* {efZf-[֫3_~?4CAX-YרQ4K|ykV48At޶~zYwY_HD4M;խ[7iڴO6k֬Y6f, nԭ[p;3l6rwDi߀o߾6뗞M4X b:l     92gԝņShtaW WïJ ,F0K>cX\tE~ԋ/(]t1_ڵӧhV0W0VH0JE hn&yO>)zN}D/em Fmƌ}2eJT+'x-ӥ|ͨzt)ۈ#.EإW|'RJl@@@@@ |K ; K3@X`p=#v[ۺudeɖ 6Tק~nZ>`7fz3K;v7|#M޽{c=杊tfQkҤI~%+Pˮ]Ӄ Y&[ü. 6uԨ*|.9#'N:    _;y|$FrPyÕ~+##˼ Zb4n8c>ȖkP^[&Md/Æ +"[>ϖ3+ٵlacj6, 6 Ҭ[6l jղԩ?@e ;8Fj׮5n6m}oʕW^i_?6@@@@Ȭ_vnab0:一++׉GB#y#m6PB%\"my~Ke*'믿Iu<\0YPVl#/H K:ҦMKLUJzԠlA|{r뭷kh`_,k'pqҶm[{s;{X.ri@n[n+A@@@@g/6 @ 2o}xl@ ta7_ɲw]wuOZe˖3S_K3xpBiѢE\^u93my:_& cѣ{eԨQ~`|tM2mڴ=}o6n˖-r˻k|WR^=_]E)@@@@@b (Bab#Ty@ {\7\g)< @X`Ν;tqzիWKx .8k,U9qDI@<)Sgm t\}{sΕ &Z_}OGylfM3钐?ۖ͘1CN:$_     Y2ņ3`tqW WF ,F0ᅲ}'γA=zB3%5 |RR%Tȑ#K/8tGF?\r,vYTk|ꩧk v~>}#<"\Ryy衇l޼YsOѬ^'x=4h?fkV|7RL:     A2ҭņKfeW WώI ,F0K3?u!?ٗtiB ٸqc؃{Go?Ciݺul^:'g}&M4c̙#Z:w,cǎ-_Jؼ[o}zm6?N:j*)_|'di޼yܵU˖-e̘1rz7xcTX\c @@@@@ |݋ w9 [3@X`pURT)nҤIr9c L:t.ѣ{< KT͖-X@4G7ĥ[p)؀/]~R>sdҥҬY3E̠[.H^|E{iȥAV[$>H=بS?TP!ikF b۬XB7n;wCMߙ^x{پ@@@@@d*5,_l"XW Wk /n*U̙33 *mذAjժe]&]vK3j fʶn*5k֔-[#FN:/"Æ m_Z .e}Q?)_|\wuun/]nP nk׶5lS6Ù/.\(-ZիW͌%_KݺunhiР貏w}\z_Ow4K3i`:if+6ӦMiuusZ4$    _%g;勍P#9@_yÕ~ @X`MyW8I3viƨdKj0y.{w٦MYxS)]P=3Q 6{a/ nKֻFs֬YҶm[[z>+b_~}I^mdg0`0Q}ei.蒖l     Pr|}/6BD@|W Wò Pa7jժɛo)guhSOlN'L O?̟??*~Z pǎһwo @۷_~.Ө93dԩO85f8_h.nV> 5di޼y\S͠_ߵ\ ƍkfώftL ϝ;f_?mMt  7|_M5lج짼@IDAT?f@@@@2/@W͝cXpN"++B@X`ƍ-Η_~)˖-8.-cNoV>)]uQRR-[ֶ9r\zv_ݴi_3WݪU=Co?^4XO25jԐz.Ȇ     إab#@MyÕ~p!@" eHU Q`,]R@@@@@ +o=/6rvxp@1W W]@ k2oG?|e5;?ޖ.I8j(     yN. <<; ++ti+ a7\VjJ*W,˗/ڵkR~;     IJJ'FnO#ʼJ?yzd@Xl Jva2rHi֬YӔ!    $ + E"ab@pCyÕ~1~3gΔJc9߾}˖-Nv! 6ƍK˖-lٲ=F@@@@JRF @@yÕ~hE(A     IJJ'b#ǟG *ʼJ? O}@0oǕ"    Memkڡ@2oϴ E(Fh     2-bQ @ 2oϒI `j     2!_ll@ rW W{ @0oP     S|95\,_ldΚ;! ʼJ?@l`ȆQ@@@@@ +ƴX/6 9#ʼJ?sA@ 0o|     ||@3h> @ 0o}w޾}矲nI RmF=@@@@@iu/6g˕@lpepL vӥ~zw"     @W1 f%b#GgB'ʼJ?7R\@ Z͓ɓ'뮻NU]25vXYtTXQnxRn    -@b#. @3_p* dDy#gjSf͢+Q.7n瞲yxRn    -@b#. @3_p* dDy#/@@@@@*)ߗ/6B>@t++ @ g7/@@@@@*)ߗ/6B>@t++ @ g0o3FK9Ceƍ/n&s]^ߖÇ˪U裏[gcm6yeѢEΝ;#֭[.YXTv6l gϞ-ӦM={ڵk{'(sLTYFz-;w]V;iԨ4o\;09Ȏ;dȑ2gYp|Ҷm[֭tQO.חիWў5k޿Fr!%);w,*Uk1c_ /n۹ˤVZޡܾ}|ᇢcm+)W}n}38C6ަݻwD@@@@ +=G: pepUz y㤓Nwy'`h?uN4(v /Z=ߡCTUJԼy䨣0`7ѣ Nԩ ,kMlpG}w}믿K` 6k,hҤL8Q7n,G}T/,Cl[ݺu믿Nl=|gyf:z⩧k֯ӲeKѱaC@@@@ +w>'yv pep\:@`ׁh3}7.jT.byK3g,Yby4/Lf5+S|'üMza'_q$     |+ _l$ apepac@ /KA}vIkF bdذarWe4h`^z%K" &tG m\z6Ӕi+].23e$5k,Q2]Q*ygX3i2o6mC e!c]nRּD_Z硇>+v{Go|ͱUc]Rt6o絣a^\rddVl@k+1    ;P _l$ pepd:@ /K3g͜9ӎy]uUv…ҢE Uti[OY=O,A~`&,]&7 7N3w\}KOkV>}]t_~kZ۶ms3vX?-QWTpVlY{FM:5A_T넎n;wo:S     ūP _l$ pepd:@ /K2?~յkWj*2{yK>ү_?{{} Jif>uY5k_`7|#۷o֬eK7ͰiӦ駟`+6 JfT_׮]l4w0CWΝɖRԀY֯_o?k[h4{XMx}WN>d@@@@=roSz0|RG  W WA v)Be8KL ޽5cҤITV-[^n]n Mۍ=צMDb|-ZH `DfXW%[Qs㏽O|iՓO>)>`T؃͛˒%Kb|i@ڈ#Rr弪p@@@@) xP}@\7\g~ޜGȌ@ /K.Cꬳβ7n@3}i`#E悴7!#g~KxZmsjl[k]+uqǹOYWk~ۉ!`!`!`!`!`L?5Taa0 C`,J=ǢRM C0 )A!Kv>kpS׿u')~퓵]wed0*$kw~Eq?r.Gup CmaCb/X_>}_vᄏD _[/nV|]zoM74sdeY1$99AgokV#+@e C0 C0 C0 C0 C$F* t f ӭƭ!`4C+FWlV0 C-ơh ,y|ĝ})"|ԱLCqk=cd6sgqFx)yѳ뱇/n{nM6'xzGܝw9GW_|q2w̙3 -_׼Ʊ%b3 C0 C0 C0 C0 $P-8,lL7̭!`t]ѳmt7 C`*!0ƛ@ r-W^wjVԛnɱ(Z|6)mVp,H~'`!7MRK9gvawGoFm?)ߗm裏_w]_}fN ]կ֪:1cyC?υmO6}߬EJ#gк}poVr .`ll~7yR}tR>km-Ba̷ka$6NJ1].|П8Π*oqRt1#0ab$/9!`!P]ѳ 0 C`X1|-=#&!ě ?4 _C ĕc"0ٸОhS'|*7~tA&0W_}uS5'd8l=$m/%'xb_j*]K pGfq,vm{s~mo {"$6,vq gmcyɰ6 }ezYz3g,=/pvE9Nꋶ{Awg-U.mLcc{mGyrrص{6m b$Q:+}2-Eo7c)b(:SC C62(0 C]7g -!`$ `$lY DN&oᆁ'#dd}{dxQ|'kF2W,I_=p,8" 1 s%/yIx>b ڴeڌ)6_m,"|$崁WqY`]$|2 (g>6/}i_(ԛyw?[)o'eMH>no1k;&@-HѤ%#|+oC0 C B+FWൟ!`#Bo =͸m&\/jŏQS/o{Eys9ǽ O->`=,m?Fom+-iowlÈl﮸p{vHnxI'O}S!rpn׿6|snm~`u/ ⋫;?d@6Zs5c۬" 󄯁[:Ƙi˴ =h'M{uC2lVy"}_wlkAYInje7GyYC.mLؽ-o Ma 72,}&lE}.\!>ٻ'|eusbth'|'xB3siK-zꩡܼGe/!04R3}>|-C0]7TjVC0]{[_ʷyjK<|OTq|4& }1_}4kB<`?m{bkNL_?e;vT  `HѤb!@W虏1 CLƩ߸;ݏ~#w58?)J>ۛ788#Zb->Ot|HYf<KO-~ٝ~?|uqo|ݻ.'pty_e|5W?sL3ϸ%X-rf3sf/{gfm6w;|__5q_'|uoYdI/]w>E* iyC_ih3/_V]uU׾}-;Sӟ43,nW_Q d}[rkp̜^! \"]y啎:ƒ 'r݋_xL" q;9wx[o=f曯/ۺu>NSdnVwg/ixۤ5\/}i9.u{ë h//۷"gN;SNq#Z*]ucc_;t?g}cny͋\SxDC?{M79<пR⾲b*A8{Ao.As_~ӟ'59V%cЕVZ)Od<4>ﲗ^zix!k<.:Zygi2ҿ^[7al5?>SO1i#OI[9ko9SچK^xa?s:5\Ύ yNƕ3擾ݟg6F;\zhLy^xYc|AGou:9} } $01/ !`t芞P-C0 ID`\ ?}u'~p/K!:~b-~qB<iEtO~xXn^֡*G?#qO2l=Q/?O~l`a{ ?דҗSG m'(S*?Hv'< .OE }qVtޗKA 難=׎=؞tx~&CDW򕞼S8PGZ8N<&+?>Ƞ'<9"TSLEHW5m{~Q%j^2 e=yH_uzr[ k˭d\ ܓ0~!-7>;NxRq[#zi{ObmSA5'.7h''q$Kћ'eR'e1ՁvJI IT:9G6ǟt]7f Vrd2NY.yBn:BɏU~GOԧwc3}O:< \o4觱q/ezٹIC -; Cd|ƺeγ&]XO͋'^Xy6[Х} OXO'E۰ɄK\GA<8+sD~][Cdѓ&׿%6Y;C.6) x17޲RmMa٠rs9X{I^?q[;~ys_Mq=P')Ʒ!)×J&ӗC0 qC+FW5} CKq'; x'kG? %-^?qU<~b5mk_.B'!䈐_ݾE/ _smq_|i/)BVe/"m|%<=px9O:Cs؁:IoRxFqƂ;ބ&G{cTʓ_|SyGA7=1yKثyg x6`CnbtNLIC`\d[F!`J=UE6 Ch q7/N| a,'%Ÿ_,dZx$>'~ ?]uY Qך~Ҽkޔ/?YBGS_fJQy|5xVV=F4o^"x!.8ԥy!'e< +"ˏ/]ݣ_نsVW~!(X=۹$&ꫳ H1 _;eOyIk}t˞r7Q.U<5/eC&3Jb3ij㲄j@樟O݋dxYo #x"Ʉ_$' 'ZOSm7/n[׵m j/M ]3OR^MH dzL;N'ufW~=/ei.@)TwIG#zi:B,+ _ݓ"Z}ڎ`o'-{OLʑ'5OP}=cx&%_PZs?CU͈7߆F$>zGxys'1/Jۂ:c<Fhi҆(~/'˞] s9z|IXtۤl6Cߓ}:Uy OQNI\ד{fN&O8'fzVsm{ƠymmWg<7ec"e>j,rzdͬO(;m[۠g@WhgܕҚ [@C0 "Е~+z2-sC0 zµhA^Ou aV&KmYIX \&ʨ_l(=deak%|zm1zޤ9 Dgp/j3ދXXG ,IR } ,I|,iU_EqO&ѡhbW.'Qa#ºi<;Jѥ ዅsiOyR1%i %VD/372dVEC*ZO'“,"a3yҔIL^6zP;i,1{CI7=(}vU mUA/BR- @@{,-%LPgWm3\S6. V,l({I;&|nцӫMoט"*[, iU)ۨI%cz$>ŠMGv̸P l)6MW46E[$Aܩm)&gq65`싲V[eK9{67&KI"mX)is# %TBkBnty1pyOi[Qf~8Z |ձqZ˶6kWw[`,~Bv5Mב?4`oٹ!I)wt]Y(*3 C<otEɫ90 Cq7X`!IV87>?HzB48+hEugi{I&Qw*~k(0kz@#F q\veXN6`II6#"+ä¶͑x3cW+GL&{u}ޔxII,bH, OZ8{%l[GY)"H|y(qGmx~ԧ&{'aU6.aɋ0XJҶd2_~xRAYKҩ{OVRǃȒM _<2 ;$q!JM0f$M[,DwkRCtBj[wt+:_ԺE@s.}ȠrRSH,A"}MJңj!u_`s"&| "畯I^u/:[@<6LbwI?&m${cĢL$GyaD_z *_5JO>yRgnZѽH' Zf"^ .QDtI,*Mb/ir=|^= wޙa_gku*`4*uYy҄(RՖKYW^xf2_wqG*c{]{5)W ـO<1ÝEX~@𒺉lhI?!a.S4᫪{)T%|*c"Bt"b<ϩ~Q/TBI,}ЁڊWW6#P63WTMe7Kؓ{mcH=yhb⌄Ǫڻ~H^7hTM>v9d4cl-b-R' 7=ҭBr-3m뼷0(>^DRg19}˯պ]361팔VeaG)a!0t芞c[Ѧ!` q74ɰc9+̢ T3rd.+vI<—0dbVqfm$XW ]pUN0%@IDAT;y"_\Ex+YM1R.ϓ4c|ǑUM5B*3"͔9~ 7ܐʮ5A/޵g̴gU\ K+dt-_|#qrcc>҆Z4+6a&!J>t=#籉#&:6Gf{JI}Z<5>*n8mKx61 F*5r9aa"Yr!`CD+FWbUY҆!`~COy.ыE U'DmznKCd[dGыFnV% 6$cTkBE6XKfAiL N73W?zwv&i3yqY7 G~=,]-+QM:-M袋Ju _:eXśRIZuR0Mh7PѣQK}im3zqXW D:6c]$'McGױϺb1DH+%x#4/Ҟ b?%% M5xEcjϔV/6U[D}: hibu::Įړ ϡ;[{Y!!W!ab&|A6L'<]J y"朗~U4qфUƉl{oV%|iRi*"sfٺWЗj[gp۳׏6PK#q6FPl0 C&]7gjh!`-#0MH<,Lo QMaA+Y—TLn2睇rKXLeA?ɛԗ D"7H4H&%o9O%{sŇA/YHUFd]oۧeAϢI^pƱhK'Gs={(JiiwtO#N 0%x08;6.\cKJ-΢I*o=(z&$|-~T֯eDo׾as^3G]i%z.a vrʱ —WFw +G "H8ٍ7(ѳ~~@MhiCb'H ۚRU}tm%&GNfΜY/&DyCjO: x3XnH*YΖA?A#&-j;TQHqm~9H΄//9-VŨ(/=#3S%NMے9 yuYY/d 8Ew.z>3ϔ˵U_m+YvU)D=z4ɳwߝ'2.&T%dTϢG63./NUPl$!|i?.ޞKJ+:Zs:1ф/Ҋj/e#&9M ]rj[o-D҄(qDx-MN9^j!SBԞ!Aj1cFfbo:?<43ΐ _y EHf9xc|)ϟ)}U!|5՝5eiRN XxO:rc_l@R> -2 4Mm|W[ER>7m3"?M晊U#_ YeܥGN oKӛ!1DyL}ȳg$-)l _ < Ӷ5F{t؝h#ࠟwt2Z>{^!:fپg1c lޚ Nsob)3sК49No!R'sLt mzH}26Hu0|I[TЏg -Sc??ką(sCڛ`6G<߼ot6۫&㥍x9_;2$]u~<&|9~-MW^9p,ųе}&ߣuʆԘ 5<ɽ2/ SۛƄ8Ɔ>ҁW_I w47>k㤝4imWH= O:qX* |JZᖖ&gH^6&TC_SF[*ϸ,lTK0 C`t芞C.K0 C$o.NY wˢL' & _`!W}R L_KxצAQC<5i?(DJ_oqA`okLZU[ڰϐ֤ǸA,%mTڃư۩v&eρ`'عTL{My7<6|S^)MbPғ#zƮ/-Qq:ކ]飔D lCAյq_v{+_JEB}jR6"۠>O:c`5 ?kRk8+~]B`!Ѓ0~+_s~!`)otEv0 C`~eܭb[i +fuI/`;!5\!_?}L'a="b-^zi'E^ '_$w/| CPڴ͠wnPϴYf~!;7sPϫc9Jmv'vCnk !{(q(Ӌ^"˻>4܄Kܱ5Ir+{Kh um\ b_XŎz.HfMY oX8O v@g/ LvF|OF{_ /=]b%˜l< Riͤk~{jouixN-Rף\:xW[oյ #`C ma(ֆ!`LotEr!`7o N:C@m{<80 C#9,(= 6`QJbl\Jc^D'9YG>ϻ5fƳSW+X!@ĀZD}NNU%5@L{U%~WÎuQMZ7Ju,oC`hkhv;a[v!`L6]7dןg!F2cƌns ,vgI4 T"PN C#8uuQuZ^HxЇ>T렁W=;CxldwUW|3o1YgJ9|Z ^~͠VkِUfƺSP9<_u~’>᫰z!Ѓz(c6@yի^V\C07[5móEJXa˳w]v0 G![ )_r馛։jq "p%$=Morv[|ǺlGqiru<蠃.f}0vᄏ;C2Uwe_>6'Fך1#|cN!`C_placW0 VJ=[K0 C6o?nr.?[j܊+?1!`q: pYQҗ4%fu8Oez!B !q2.21_yqWiWQWP }{ݼ[J u]!M [5.+\YEX>[o:AR> k@0WjlIڲ1 C` Е~+zNfa0 CX*!`!`!`!`!0%0ה慲Z !`L'otEv!`3osn!`!`!`!`!`L_5}뾰䶰Q4 CJ=#x!`~cD[!`!`!`!`!`{6o[ C@WY,!`@X>!`!`!`!`!`@s)-lLjB!04otEϡU%l!P 7*e C0 C0 C0 C0 C0& #|M]6Vc!`E+FWmmZ!` C0 C0 C0 C0 C0 #|Sm.1Fa!otETh@iQVHC0 C0 C0 C0 C0::We-lLΖ!`S]s +!`]G?x>Ek. ]*~:gyq2T)Ci63i0~衇uYK,w=gy&~=T@:p{JCD6D,iC0F?{@=&&&'ޣL C6F6M6:Zq!`#B+FWQ5Z!`oDo>辜]~}קʅO>m喡8oꫯ>Uq뭷Gy$vW^-}f__/]H#p|ꪫ믿+K_RwM7;?1cyCFZj s=m&ɜ!5=Mޓ+gv{wݓ6s;gkјxu׹5\3wgM74wg}v H8vy9SO9'VZ-sMTO}ʝp StRy`~;lwl\Zkf}v j PIQK{罃't;@0oV; XeU|72MUJؤ\uUnu U?Mꫳo/Ŗ@}s񄻬hp@d~7}Rg%RZH>S.(R~`k- p'MD' <2>̦{"PGvgT>g20C 6+bM̕W^lWJQ؉ZgU5SNV#_Ep(P< C.]7gw[inBO'Lu.=K: _'tR$ЃzhTF*S>dT3m#|iy}K~xEd7y֤`][(3(0::wTkơ޻h-ҴG>ۆTq(ڻnATq\ _޳o-^%"[&E@le _MdFa'ZOg(aݛ uXXC_ݫI6&f0 )@W9e0 #`UƯNhs&WY0_=pCpXeo]5v-sτB+U]ܛl]̯ MW6 ?mx_?\y*AY' QXɳ&+vo'k:g*鶍UUV_& e/0WK'bg]bth r+N˞;NWMs].ƴ&Ekb mf>^՝TMmacR C<]7g0 )WF:Yg-~}QI+f k4- Є&LiUQ#|UA\AYree6-b/Y&X@_YL[v]] &AMW7ҔO_ŊmݏUOSNSh3ӑY͊m,_L ~_߯|+{C0 C @Wخ!`L>o8q?яkW"U=neulI}.?u~2,nvr+{w)'n̙ns~ݶn^zd\\qmVs/ Ǎ_/a>O\pA^ؽ5qJ+Νw58?|A +8o'/~1{ 7!6:_~:׾5O|"\݂ .K.q~aѭw=R?9_v_d0<ԃ_qozo>}uz׻z㦛nrj} Åʝ~:$X-nro ڧ\yC['LzzhGeYƽMorXTw'І}}.zk/n/'/9i2M-wyE::P -y/ދ{s/z{D S|͞?˭}i @{o Ƴg}vx~Sh;yOyI887`PC,[n9| <9YZ>hm<яjy' :!n~<ޭ}*p?qaΈ ȋP>;S1cF?٭*'tq]tӮې65\.RG[71Ouzu5t)L8Oӻ/@_@Z~ۨG_HOp nk"]P0ަB_xu{]Ry5fu{V0&d,C)c=Gp\wu9>̒ VX#1UzUַ06fh;[^{m曇MJ1wlz8 Q7l37lkݙg1vgG1}i*64ܒ^{N{O2{ϵUl\ޤjH~|S c]6s뾷w-pu?ܟs9.MqZxBvB t1\8Jl6rv+[ #!Ї}]0 C(@+FW,n!`L"oLLIhOO*/ˉ06NE"/}iA ͞dޓس? 5[# i8Ob~R0{id|ODDGK[yF&G :&^BPR])f%[ Vr;fIr,ixi[ù'1e}_|?ͳI-YԉƹLIfYl#'x*s: 72<OVfvHn k!}z^gF2:8o"Jzq#^ñO]OGH}&< #=%ODyW_Vuq}y!0 IUcJ6>W˘XOKqe~73܇zhȽm=Y: Wf'уmlaC!`@otE2[C0 #`F+%=1L0 i#ט,,-3%?@LiYw{{d #OggXe՛C9R zAtg ,uAOw}a\_IĔA:|X(u]'z){ Llfvy"L{/O!ObQ6B)L΢GDy=mSIS!"8 "|/zEg c$vEE/ WYc\OmҊ~Vы2:$I W6g@\U%u띅]}=o (MbT;ݤՄ/O^ ; aN|4R~t+#e쳤yQ҇x5I5Kӗ p'|rO\~4GODtC0=6i\_O|Y42/}%|9j%Q )>VyV$6IKꪨj—3De *qikv$y.h;Nyu?-%Cp:SQ{>/4hio yuC0 ]7g cf!0X1|XGd r ыL d12 Ⱙz^|`a-rwޢ—Z]d(۫EO);QbVYLƿǝw5$oKZO&/6=Nbhy8-$26uG 'tR| ^Yp IH*?(oM?$ʶwWXeD(HvLںoiJՄ4XSBa/H u%S ^>'ul\س&6.֡l{o!rzǿ NĄ/RC^;&/4?%yC*ls\$MUkFE:ԽR7c͔,*-E~QSEx^p4y_<~ɛc6C-:_Ht}(DogP}C겨j—ou;'">k_cS! Nef~MމRW4C_𛲱a101 C0ϐŽo0 Хm6.+eA*rd}&dr9ɽk-;N7SgU7Q,czBQGHCnX7|s|W/YD&˒X$LY47 KmII;G]%>H/2U_mneX!Z@ bI %~Q_ޗ&ȺD⋳4bziN^M5#RޢBi $&B;8m62?r3I%V>C<;GJ -z>! 'gxrum.rp?q\>#8Do#݈v$agYb,',J|liJ8VSWUڔQEK]? ;SU,a_Yd0Q֩y>?/ݺ-.ΠCM*۳..*^U*m탥yWt%L޻I> ;!z˱ʳXEz*jxtnQw8^?>gHfnͤFjߔ :S+!`@ d\m[!`t.oÄ$'+u _,"SN&;^ ,kdB*>bY`ոK&S y:WޢK!N+_އmzNtN-4I9]9 }z# X' -E %5u7>k9V> EE҄҄UȢe/Lh̙}A4+奡/i]wlo|da$Ok&a bIm%?9_`+*)m7-/꾷H|}}E!|1_[RBe1DXH=J%LV> ;!eXYm:[$-*/L=vznV*m78}Q.sl;ތ-x&+TS$iv^w?{`61 C0E1b۸אg Хm : V;rc]WWs9'bT%T,<B^Eֶp9ϑ`Wp(/nG/EB_[j(F׳w)=1 _{"}SvxEVo7>jbN᫪ó:FkEwл NW\{v'&|U2}u-h&&"¨g}j+ޔ( yɟzEAR5NYDעBAۋI=<\Wg-o;g=&'i"I6B" q"^-Mqm]uE0t}αYÞ0g&q!&08Wl o^8_˶6k"G,IcQ٢OMR/#DݮjJ:mEo} $ɻQ_}oI/e/E+ ]D޷7mї㯼 ;!±t,$yѷHZROE5Ed-q]؄6*2EI̱ cq]G'lx'E'I.z{em0 C~B1nt*g[:v0 C@Z&z$8z _1@IDAT9+2e YȔ&˘Asd1zQ/+]x>Y$l!䩎&W/`(is;u&oW:B.ip,:h>ҋmE^uС4!%|m3B?Wo1F _E66y$)Q_DXsI<g]62Dirs 66 41mbb^X=0鈝]hej-oƉ>2~+EǪ6./ˎGlUmhHFhO) g=)'u$GbK٭>7U>$b\ɠYg%A[;e2kޢM _z=<0kcHS>}v!u&cm-^ڔ5Eѿ̱-ɋ+޽D ;!`j*K\sM_,:DOP51' MGa&R« Izb,C \, JH[eVʵ(#<24 x=w;_@}! MbLq-"{q~]D<5:/_Uuܲ E5Jzx86&KoQI(U?ы/q.ҭn׽ޛ,/&AlNҖR[IJ=)MEeA~=:}4E@ 4&}z*&Ϛ'-l¡zA?X8E'۩^y$Dfm큡MMO-gM۞Umg Toר\^4֦K82IZu _ulˎGlU>}oф/5K=sd X?k"E]g57^E߲5}VSJAҼ+zb=O4\;!"M _C]fVos϶٧Nu&c!ɗc}W6%|X_r@;- ۢ(+_ē܏c7Dm,T P_=Ũ/p:МOgH[ͧ4kf5t]w VokDw%OF+_Gz뭅4=Nܓ;j8\8~3{enbS"Zj)Ig{pxg{@g ꪫ3W<6ũ^rænP6l=93,֤|u/g9 kItx;}p<1:YxOHrooXvON5G߀p ERϷ'>8 nMEYeIgb饗}:r-YG{c9Š+SνpγI`Zk[feoҧgI2,!EPJC;3 O ':$} c[/Lۓ_qB?05/z׻xDǗw/xƳF,sq!^p?VZ)듷b wꩧ0m.sy"k:ӧǸPIqC]xY{2,k [oeM.x"]֟Je&.?-뮻:(ⷊurwGOѷ6xx&<ٝ,SRyf{yvPœ*+Vw-YY+f?ɿ3QxtM{yNqcNgU9I`+>6cB[ϕq_ܯJ^[w,.Ǻ-_~o|Fm'B[n0}ݳ>G8׺o Ǻ6Om_R_@-٧NP&jݱѷHZe+&ڤ<Þ Zh1f3HOa05K}Mpv7\sSJMS_»Cbe'ܴ0WmWD /&CX܂xO"}IVy>0L C **./DQ@]#wu]˂ "( *Fr$ CL.ަCUUCWՍӏ:꨾?>k } }'y@!>O/9昨~{K%H^y"헍!l4P_0OErU_?k_,_B(/ _v!md_Q`p`M10] hhb?:XjCM3J/t' | kCJ8u e#4^Kx Pl ׃7)) :\6L/UE}S/ik9_]-˦._aFي%^H-w}v)B%ĉvE8Y+٨c)+z}E09>soH),ǗE`8`W3#}}vL,h|ފW{"HT43@S{ޡ/O#'"XuQl#qh??/#xtY85z%>vaN,pem6x_Ź f~x F1^{뗑MoffU{>ŗgjeWe}5A.S,!F}@>_ t\s5^QmۨG{`Œ?hx 5>S<{j|m2AM!NQgshLg=[bX,fh#,TxH[F_ m'en# |=l>.~6mZ5-x߳?W^yeʦq,qx4I { @ @ 4<ٟ Se_D۲Wce3ޏ4*O~pc/ϠNא!}kWd# xF4sJ,\GoF{Qu)q۪@SmvW*Ww(sd_~)i - i2)GSh}{?B}A\Qlk.xNT\m_娽Ӛ5:>e_LEMU)Gg/U,gq.t:>^[Mub]62Mq}ǭ5lľ]7E{ hbTTQ,0U[59W}un4uj5pS:F{ԃh\B}jTu\pF\9.1}Z٠>UkѾ>g_f_ Zhb~}BY wʘVMz^e4k?F@e_h8_x[8 ,6tߺfqb3׸<[o^WFYF2:)7őLX\ܨoׯJqo?eOfuj] @ @M ,z" Fg&/^<~COf.ڥm6*LðW'7)qGldڰ@6MFȯW]\SU %f:DZdS]/ hD/Ejr%W~}1`h3T2}(]Fe{sDc2`8hʞMWlč\v}zg׶,}e//BCrmU|+v (P_Ng z袋,{lFkxx-xkD[|#iX258h{k6l9oտa2[wsђbٷO|ƪ_F9Y|X5ʴ߉-k{,1lTx)ڰ6P6ZgF}14/gb ?^(@Fc?G?K3L"ϋx,|K4=}:PqH[F_?OX"Wq6mkBe/67^7H{׏ltF[c]aYkW1Y @ @`p!?~|c=J?sOi_Y>mXL.^딲/cʩ(z ˚===i1UfM>eL4%cj"Q{/)t{'?.-*bʹ`K|ǘ#QM-uk2ܲg_(DbK]L/\~C:p>s,O=mK6jE[L%5-י1]LUU}f,ӬŴJ;7^+,[/;&O܊K xکc:ɘhٯ]gS:fyϗxm =9hi{@ol$|ט-iiÀSDyGӻNz1uOL!fnX#f3g>߲c^L1gΜ!~$)3O|%^kbʰxO )C RL)V^F?P(L9}v_h~c׎:ee8cj,8W-NFJ5,h^mD;eӟ}q 5pj#d ljO)q8hc#<2m6}׎&"ؔM-˦oLG}tn>͖cQ F*e-c,5=5* 5׸9{^ ,Ibys?(lĥ̦OG#>IX>35X tW7: @ @.W Ĵ1=Tt[Wƴ0f*VvZovʧ]Kâ>l UL D_ߜb /L/zыjWWDJ, UQ4xӛޔ!tUGz @:MՈ @tWwCXlY6m{h ~zc=VtᇧSO=5͙3g}l P)ˊg?GT,V૬-\e*c(g.l';ҼyF|  @:MՈ @t… SAb9Cӌ3F===2W7O<9mXSNmtH=)Fx4iҤ|zkw,]yHty#=YJ[2eHNc/^" _aOG=Mc(&u]g ;%ɋ),XbW  @@ |un۪ @ @ @ @& a : @ @ @ @tW維 @ @ @ @ a_֠C @ @ @ @@ |un۪ @ @ @ @& a : @ @ @ @tW維 @ @ @ @ a_֠C @ @ @ @@ |un۪ @ @ @ @& a : @ @ @ @tWmSkC;3-Z(-Y$6~qƥӧyٳgW$ȃ>x≴b ɭeiƌiܹyi%z:ܝ_5[ @ @ @hW3;W^ye;[lvurj``,W/o*fk]ك @ @ @&/t na6mZ0aB8F^-miҥs_gc=_1KT6uԤ4,[,{s̙iͽPϦl-٢ϧ5v @ @ @hF#{M2%myЫ6S{ڶ7:V=G{M˗/OU)'r-p@uy34rҼ>03U CWRo @ @ @) ՝ZA\pA_wGs?^|ڐWP}E'%HYXdImv^mnQ\Uv4}6`x_콫_]٢;_iٛ @ @ @@c.]+[or"U[`n bkGͧ(_h9_6tӢjn(pw |/m\Je*x7biND @ @ _]WKO5ߤI#Uocbg%`Wb]||3f}٧x .̧45S1jNLۏ]ApeeH-ޥJ_Enr @ @ @54&836l^EPWmx|7|N"C @ @ P%*VZpWjG"ⶍŬ䥊Wm*nЗW%x ]EU9f ٦ wk;tkԭ|0d*; @ @ @XC@k +B|}a"U~ zޏE+q*nW__=j,PEUXsvk;tksCZDy @ @ @$ UjcY.7W(_EЫmc:REz*W4{K+REYٛΒ=_?:͚>%?sZ9u ivCTի{wߛU'[\y:i~{FYl8;l=陛o&NULPr*#@ @ @ $V@}6UUUKppsR{["%5(c9=ٓnt ݕLI3WM41?g4 Y3);"Uvߣ[L~rtw*Tyw=x41=q9fX*ei6O& |8+ @ @ @r|JW_aѽW*RՇq}+B__%mLAV%+V =x4kҴۥɓd'N/NwqGZrEYۧ27eBC_ekL3ޫn4e4.KofIY6U_|E+a1WOdq\8 |M?tQ  @ @ @kZ Pn._k>c Wa%UH-B^"#UXwW滛ұPs;@Ue*U+oKW]~iz֛ݟ#KoYjUƛW]mҮ=7M25̩RvhazN6W>_h 9~6!/u]8ku6u'53pLZ @ @ @@@k ЫpFڰWmЫ6U{ lwkC_-B^m1W[+Se0ɲ34 |(ߦ=^g#,e#&eE=" ٨I7tSK{caiRg΋*4\ •ew_S:al|ūfax҄q^iZ>5َ+VLJM˟4aB;fڡ] @ @ @D3# |-o|#j? WH,EЫЦ(K9I;4:8M2%qe#1~wagCi}KY>UzPvhYFʦt?a|FMU~}o|eӉ,3LL_{Fijwr= @ @ @mj3xU. />sK^"U |*S2YC+K9o+^ܴXMT sϦ[hQ9M7z~Oq:)SW^n4%q„#4FFF&a_+{P7~`:)|e{fMW0l-ݩ\ @ @ @@ ^ |Zgg.Se(K9w銋8iK+Wv̳~/]zҌz\w(K;ۦL~2 |xiYi)E6 ieʴgS|ߕy'fMFɧg#|eផƳ'd˟,d9;n97M+CqTHZuqsYkzZ ňr{Wg1bJo^8OO鿲ViD#@ @ @ y_צMWSD!M(Seꔥt嗤#_4mk!_+V>~|K<شv-CT,˕xć>7iٴasJNg}ˉٌJ_1cL#|}^@ݝ @ @ @Y@UWZJu~2Yk[nO?=W*miŊiܸh͚8aBz'җ_Eizܱk*S{"u7]lƬ/>tܓӤ," |.WLW6FYYl&᫖} @ @ @' qMڜ |5DZYX 2YOY𣏦+i^LK,ɋ=P+`&MItNIet ',%6XuK,n2;_޸0} 2~}E/+XwZY[e'T4[LY՛.{¥bސNSiܯ~;(_SiiޟfݒI#|m#7Lxѳi @ @ @@J e)NU_>`zo+_i}Μ9i̙ rW+u{…SNiqkwg?<=)2XTx>^we7ѺvJ/oߴFeS7%ƥիWWnk.Eii6ۥK|Mz{{=ejKyk.\_>gR:w13ҦIK,(6af[Yۡ@ew~Uyk?2}`ϥ}f#|偯zNOs?43 |}'rO HWNΞN9|ʽvF3W @ @ @K/Z8_3)2X[YvfՓ#-N=hfϝ֛5+qwܙ8/YHgڴi6K> iں뮹:}+> ?n02l+u;L﮽2& |G|>7cT+3| <,ukYdq|Z @ @ @@ %,WEu~2YkQ_q;ii秗f#}mN˯HcޒƏYWv b:_W_NJ-;k?< |e#|: |_{Zwo|Ŕ+We#|MLMx?*5X @ @ @@#EZ.:n?s,EU9Pzzzҙ?Y:C'r]ƛV[.%u":E)WFXzG낫.Kz"6I~}~zb/w̱;gߚ>sֽ_1OH ӫn_##@ @ @ P4T):qvd-Rj>2M:-=c>/;0=#g`m#A,SWI2_'f#|M)O^J~,#i\Vi'|;wϹ%}gdWﳻH:c @ @ @TH@B΢vBkѢE9ټyIk |#(Se*T!H_7)=i̙iyiժUNMxN1;XzG+>G%5S:jפ{'Ӹ/Hy+oiݷ#}< |ņlyY vfubm2C @ @ @@(V WY[J*J7tG>!ӱ&OA,SWeA.CK^YYtzN~'Ҹ^{q}#|_k{kϳON^5/I| Oؗ @ @ @@bm*WZgg.SeJ9Ct^6i}MrH2eJ.i0T2{UԺi._~E4aFZٻ$> M=]Ϧ{jJǬ_94C/+}ٔRo6R؜&?/OFj_ @ @ @ |UZ\n |ζ\ `mQrVN֭Э.[ek!@ @ @WZejWlU PTޟeڡl-< @ @ @URk_jm*SCֻlY;E @ @ @J_Uj6Uu_3W%@Qrvzvz?k @ @ @TI@JƲ |[u~(RNOZgPQ @ @ @* |UXVa |ζ\EU[ۡ[]"C @ @ P%*V*:lX@IDATvJ9;?uk;tk֟CZDy @ @ @$ UjcYZ-:n?sUU)gnmnwv([( @ @ @@Zm,WZggJ*ԭЭ.[ek!@ @ @WZejWlU PTޟeڡl-< @ @ @URk_jm*SCֻlY;E @ @ @J_Uj6Uu_3W%@Qrvzvz?k @ @ @TI@JƲ |[u~(RNOZgPQ @ @ @* |UX֑xƍkc)w"%/mw+2!RSvJ9Ѫ+ECֻu=idg#ss @ @ @ yyh]vI&LHǏ\y^! /Ѕ+WQ"k^Ek骫}>R^qym,p*MC<ʼ/c:U/-:us# @ @ @) 𵦉5y睗x≴vۥS息{M|K_˖-K_}1cFg}w6p´|L6WwXti_L~R/c`p Ӧn:ƥ}OsM/52Sl-٢?_7k9 @ @ @_kX }z7o^܉DyO.]+8uizWc @ @ @ @CSC+Vt^*Pɓ'ٳgWH @ @ @ P6Hcd6 FZ  @ @ @ @ tʕ+Wŋwn+T9suYB%VT @ @ @ @hfA.gApl"@ @ @ @h( ՐsW.Z(Z*ԩS&LǍ׹իW#-[,/ĉӼyƠT.I @ @ @ PU}GNpM8vZ͍7޸ gt  @ @ @ @nꖖ{=6v[W'@ @ @ @TU@૪-7r ɇi&: @ @ @ @Kj c{  @ @ @ @Ujˍ܂F#kaڡɠNG @ @ @.i袚Fjwu @ @ @ @@Ur#,|vh2 @ @ @ @D@KQ!1al] @ @ @ PU-h4B& t @ @ @ @.ꒆ.)hTHv[W'@ @ @ @TU@૪-7r ɇi&: @ @ @ @Kj c{  @ @ @ @Ujˍ܂F#kaڡɠNG @ @ @.i袚Fjwu @ @ @ @@Ur#,|vh2 @ @ @ @D@Kf3F+VH/ROOO3gNz_\\nt7uz+^Ə?5D;iŪ&LHoqb-Ҵic% @ @ @ @@9.-+U3F<@niܲr?OK.$/駟YgQPfҥ]zWpHgN{lz31Sooo˺+VՆTn @ @ @ @ |uY'hfHk䝧Pb$86F,o_no~6ׁ8  @ @ @ @! WfX}P\65}tI'.^8MguVZlY-~u҃AN @ @ @ @]$ EUmfHk䝧P6zhUl׉'zzzMgҬYw_ь*A @ @ @d_] 4jV;L7pC=)on-M6$=M[n-"$5o޼?iʔ)kO:]r%O?=:k3l |q X7=#_cN~{ZhQnۦ9swKUdc,wuW+ӓO>6tӼb*X,Ynt7Sg=Yi-Ώ2=ci 6HobZʉ'-~ygqF* ͘1#/K_q{;#̙3S5Sɓ#rEv+V[*F E+b-ڻv<_gN:|;/[7iҤ!zo]9cӎ;46P~v:"6>_W}'? @ @ @ @X|^X]F3WLXb4Ԋ8B@Gџcя~#o Dž #C4|_G-k>OM׿N_cva1YFw @ @ @ @-j1pN_W<}[ݫVL?3mV'H{ccCb6[?1ؾb",%pGuT~X_W;F_"twb{ٳg_W㗿wb*ƫ:w3EP*W{|}D뮻ni?\lo򓟤_k-GE+bA͏)*>~[ |Նϟ>֜\pA~?FzߜRjtoK. _~㢋.Q}s=SKbZhZbm6b+EH~b1cu @ @ @ @B@k,e|NOL{SNɷxy謳JQ75rX!"u]wMS:Λ7[1;|Smi3o}+?M| d1ٳ,Up :mӔ)S @ @ @ v(e|O|MkCE8,>:|~b_k뮻._oͧo^ׯyߘx-(FÊŨU1UzK wVj[1Why' 'ovmӻ~tP?bXb &ms @ @ @ P6HSWmHoy[Dӟoѹc|d""T{ . E(~a|eOGqD}>OK.$S:a#mf;Xti_imS:|H=P0x Xic/| x|']vu W},nh}m~W|i?m׾"<ꨣ  @ @ @ @@;ڡ\k43h"˿K^M74i(Uic4Xb4 A/T{WΧ΋Q&Ny|X4n*D-ZSLXmՏ鬳ʏur+SzLs׆9䐴kW^yeo~szsoE+N?=5bvy'G>|X#wE6{(_Rfm-~|t{#}  @ @ @ @_*kZqwO_WglHJrKcԭX"W"?"ugk)F7~m0ٸqk^|ta;,M6-x'?IKcGFN|}3Iv[^"3c`U%FI0'O{.7G@."K_\sMҗ_#F`;_7~7ߜonҿGl?gb3fYf}.E1Ez+[l?&lw- @ @ @ @ ||l/Pjva%KmG)F4iR~˗/ϧ.,FPwSOM|3?׿=~ᮍ78}}+#0җ43uꔎ#yŔk&?;.RmYߺVvZkw4}</sٲe}jG[LZ[ƁJ" @ @ @ @, dвکZ:*w)0U9bT>:~۪URbe-HsLzm7<~Aa'pB>di <~6]tE*2Fv(|0FrmtyS`Ny 7SuHWTVD^ɭ~)5_bc>R[?#R W{ 1w䣷/ ԏŋ@=-y @ @ @ @@->kEhUحޚ?s̴V[!)Src4gΜ|6hx<SubĈc1-`"0Vm`CajD.FSQ"7{}rZåK;G|S_VkTE]bĸ,]z{{ߟ6^QԠ @ @ @ @X |u U mv1 @ @ @ @@|uLS"FCsj^ڡO @ @ @Llk%h4 M[7hr @ @ @ @c:)VA9z/ja'@ @ @ @tWg뀵4C[] @ @ @ 1_ӔCМZvh @ @ @ @:S@3uZ  H ڡ.F @ @ @iʡUDhhNK;Z  @ @ @ @) ՙ:`iVn#@ @ @ @tW4*"h44VZ- @ @ @ @vVFҴuvh+ @ @ @ @:F@crh4Sv~ @ @ @ @@g |ufX+AiںA; @ @ @ @# 1M9 ͩ{iV ;? @ @ @ @3:]р4mݠb @ @ @ @꘦ZE꽴C @ @ @ Й_ٮJh@nmv1 @ @ @ @@|uLS"Ehh{ۋ @ @ @ @l} | |U @ @ @ @_n#@ @ @ @ @@6j"@ @ @ @ @Fh @ @ @ @M@m.D @ @ @ @ | @ @ @ @hWۨ] @ @ @ @  @ @ @ @ 6Q @ @ @ @F' 5:?G @ @ @ @ @m_mv! @ @ @ @N@kt~XdIzOZ૳۷mc=_o 7LgNSNM<-#-[,=C7̜93-XJxSڷ]Sڣ^ @ @ @ @:{)t_-a1PLU[iӦpKn-̉NmߪNmzzL @ @ @⣫uw-ܲZ.Y$p n;aaJNj_ۦӧ ݽ۷Q__  @ @ @ @`tU^|t힣[RbqM7m5:w}w>cG-} @ @ @ 0:*}/>v_-… ˓ѽF[iL~GvCٿI=1 @ @ @NJߋsWuKjzW޴nqƵ~ 2-оe u @ @ @F'PGW9Z{ں%5-9e-WEUYr6} @ @ @F'hH9 VVDz9O*J9u @ @ @ 2B <ˮ<4{YZ?}Գ*|Z= @ @ @( +W,L^eu,kYRϪiY @ @ @ @ o.C+4 _ͳ3yAhNձjgJ=RΧe#@ @ @ @2 м2|5ϲ+9^VDz9O*J9u @ @ @ 2B <ˮ<4{YZ?}Գ*|Z= @ @ @( +W,L^eu,kYRϪiY @ @ @ @ o.C+4 _ͳ3 BoOO]*dҸ SohʕGIIUXqm6e-=UgU9\ @ @ @ @@k|Zv]vxAM~;\2mN}:K_L/}ழݔuO,O=/7s{ҜY҄5Ce-P>}RϪs8%@ @ @ @ W;;ZczuO朳uKzy'#{3Gם6_2~wO/{Qi-0C(kRSzVñ/ @ @󀶢FQTDEEņ &Y&F 5F-j(A(`DP""] t);Hz盬3aΝ;u3;2_!     3 ]ņeƨ2Gu[d(W=@ZS@ظ,rL袋VZ}PV\അ֨Q#iРxbGyw{?Hڵc>1#~ӝqlիWe–-[wޑ0k+ͼyd̘1=ӟe[R*G2j(YlmV:,yrȵ^뚛=矗۷駟.WI򉶐 @>|t)J%ܾ\l?k&S?%,.#*PQQM=4_Ր[6/-ys*'nRbDt$ծtl/K|3vOjkQQGK.g-4ǪtAy˗^f5k'.b2dHF.^uUҿ PBF2D$W^yѣYf}PN1GÆ ":uz[<ʕ+e׮]`cE8q4ii B-ZDlڨS,\P:w,>`p*tkj?6DGaҬY\QoYVW_}Un6 ״{n9w]@/Y!;d͚5l|p1B%F5]!         E ߛCJ%D<|Y\lջwob}W*˖S:7z \p>ZUoqJY=3Y4B%"urQ%g.8b'.(\٪U+8p#ۗ_~R&Y&]eC,# 1HP&qCRFLw饗{g }kNs䤓N +Ok66QU2^z-:3k׮ryK.C:> [)]lHHHHHHHHH @.78+帏7:ȏ>O4^JjRE~rb1-j٣˨X`:Mk7Ȋeĭ;eߖ-oz:IR9vk\ى0UVup%|<=c|eUrKoa~ڴiK)Hoec q"/zJ}Q9ݣACbD Ѧ&D 2/#0娣 k^iFz+{x&l 9l@$@$@$@$@$@$@$@$@$@yN Wߛ[bͧ+CŹ!lBW^|Q֎.g]+RUrȡ"?ܩ^{g^K~>U=;wȂadŐqtn}\]uk9ٹ'DzTC:e\9l0BܸqTVJX~JR A6G{!=6Vއ | lFUZD6\Ÿ}YMљAN 2a2$@$@$@$@$@$@$@$@$@$P {sy+(ro¶ۥ3HJ*CUdώ]Ӟq^O뾔 #W~e,߿,a|<}#_~S2?|3WvtM1-Z#F8Ò_WO?T,X 7oN89jaÆRrGG={jҥRn]iڴԪU˷βe_5jDZ7oDj۴il۶%DN2el~+9ce˖-<0 4_uѢEhΜ9g}ԫWWX$ ʷ;2ީE;HzݻkL09"oxSN9%ea֯_/sq"uY*V(gugb01<@g5nw|J;6I9a'3dԩ\@8AfI ;8ȤI3L)^(MYf͔qsq)eV\)Gŋ֭[n˿S3peǎol o A 1XyA+$́O>D֭[}1v܃?eAk sǞ 6ؗVZ嘄J*ν_`-̜9Yk֬q"zmX@?̍N:I߾}RS*U1 |ec `oM`g9_~ ։ddc.:          {slZG#. &?*HcڸrʿOmK?P?T\ھx*Z4Jm_8Jm?Rm;Lm~4gq0!j˼jn7_UlRcXjeb$g.ܵk:蠃ۨ_z%']tqn -k׮{iN=TK*γ)-xJ)oJww8Ji1&kS3K/u)-*rm0O?NW^y[{VXw>Щ?+},lmhAJ=UV]zZ8cH|S˹mi)A9նcia[Owgꝿ&LHCvY܃櫯r"ʔwZ\.2 *.v{qΫ'e?✔@'N7 }hڰ7Zpc[ sncoذaCJݲA~~R!ha+=ז-w )+#,1}]^{ͭ Ni:tp}0s\T"b ֛(~_|6n-w}o9؅q7)sѴ+ @|r9> })ƛQ-8 yEl<\AX`t$7v|D?>Hy}GdkV"2n8DBԯ8R. Wv"DSU 1+(WRD)ZpdJ8G! 7?D&***r)_~mdʗDF(<8 љLoGr X`[&(WI0fh8( _k_7ri G'6A0LY\njc7#, ƴmc62]OkӇ}Mjߺl21Je("|͙3n2ެIg|dLk&{P&^CCA3d ޶%G+W{8|+)—EG$@$@$@$@$@$@$@$@$@$87Qa7 &熰{`ݷjᚯԏKǪ%cCuiG{Q5i@rZ6=~Hf0j1X_S_6 {XsiVm?esgYN#h׮8ԩL-ٳVÆ sQp:Bont䓔k9F6l߾O4ůO>;#T3u]اӸ78*Zl|aL &e[|[ouźKX:㫎IHǒR(_޶uNcbܺ:R[kô+/^3sȭh@b9R}vq<7eoO?>M6]3ڸq[[ƞ}B# M8jp||yxecdk(Lx&*_Ĺ W6bH̬F$@$@$@$@$@$@$@$@$@$87G`.(_ ĵ!i`uكIսNV֭n>oOTovG-awѼf R+_^wqpKg[זd oXVWjWY(|-rE Aot˝zꩾ-޽[b }\#s߽&;j 8s;[dH1~IeEJ|)f^ L ̛ 3xLE/>n-\^ҥKSDzQ J?Jʠ4A;?-f|/"+%R\:/DH36ԱY!!D`ϙ3g7s ֯_曝z^x^uzBt.3'a=][ѾIv1 ӭ 4;aa7_3lAW{ %U o{G%mlED$@$@$@$@$@$@$@$@$@$q}o΍w+_7z׆kkm/4UuH-1P-eSuSs꫿yjӢZZ;{Z^+k4]~J߯2Hu{fժiNW)0ű%ծQZ|3.;M!S ,g̘ 8餓/iΑ_S@$f'b☱cǺnݪȈIp5\ҭzr!]Vu]{eW+M03~љNK6?>G]z f͚ /\|aL4i ?G_ePKc$Jl\dc-@{Uq֏EBXv=<y^ B8suCfE \l؊fOѱKEa7}W[ Mޙ-8^GBHQ֒V+ 3^=(j 2፺_-ƞ a6nfc.fšuIHHHHHHHHH2#̬dt P.)%׆kNս#7QWu35g3UO?zݭ>rz{ԋ]کI~Nkz-Z6| PkMjRY׷83XVjWY(|F4Ni B+#(튨98͛ڷo)moРA)Ux㍽a]b;&Bٲڔ3c-8+;I[IyvqE_8NN>=M[ f'cL}S|o _~iD)v~W i_2C>$Dz3Ɏg8C04fs¬'، w {12p?fM>!sw5M~ռ+xzQAW{ %Yvayaz*BT=!;8 {-4sz.xO$@$@$@$@$@$@$@$@$@$/7UFW}$ǹ!l۶E};c2c9 5r@5|5r@5CaQCWc>Zտ93gLROǪ_V׭=F-8eh$Ne0ˉ4{J*/8ܼy+O&>3<ӭg>+8n!dzCncLB4uTsoGETvؔ.3# *Y^s_mqa'Z gGcB=Skޙd"z7-_\5omߔ%#رіFLݺus۲|=n]L6-Ep2 m欉eG1eclsN) /pS~-; [i, bEcCݫyDDzhI {D \IH `Wla4; )y F䝯e/S7{Pj!{mّqcz5믿äI:/ ^ven]uU̷ˎFbo/\+P5lEÁW          x 9^ p_`"PVN J#TI+y/~&>QV^-EEERfMB#iڴTTa[f?^Ў"j-FI*U 9MrGH 6˖-[D dȐ!)E_xbYhr1HzNH)[EŊFN5-jժ9;v:R?)`?zԭ[W:,PBZ~yy!jQ8v`ʕqؙ:z̜9S֭['kז:uW]u/]{*Ŷ0ds=yт!r'ֵEt:gbw޶2};_tO}|h񗓇uwP](  ZΠˬT{ }Ī7#L)깘8HHHHHHHHHHb!ͱ@(GPU3pCzR9&ծh/~拝dyg(Ie {Q>2ѩުU+G(m>}Ęݷo_kELIOU i)qͣ>:LU:}0HHHHHHHHHH B!4EW!M%cR튆zq+gYLw"([=7yuʔ)N"V}T>n˖-sD`?'6U^}(d|tMһwP-M6UGy$@$@$@$@$@$@$@$@$@$@Q(i- r?ym7h/jW4ԋ[?bÑu#Mӧ\1+ .tlҤ\qt;Ç#ٳ@D$?|Lތ;äN;M:0U}pL           {s0_ |6B4TI+ŭ䋟bg1YA|cL:e̘1rᇛH ,M.Ɵ{9iݺ+@`>QsOp         (w| )_k|Sxm63g6|.ՓU,(tޡ-k^L$@$@$@$@$@$@$@$@$@$@$@$@$@$m<'eY֦p>2MJ*ɱˣ$ u…sDF2nfp5cz6ޓ D N*+&@W1 e@`޼yyfQW.pTP!V_UIܾ}lذ9|RnD;[^7_Q#?y%             ֒xX4^^+|ޘgc}(kÆkԨ!k 3I80!+ |<M0'@n:ٺusT!"*1@3u<@ǪŨ||oHyfHHHHHHHHHHHHHH ~U4+|1$@吀U]K$@$@$@$@$@$@$@$@$@$@$@$@$@$@Ǔ"r\7CW:_Z?Q/F @ xOR%N>|' 'A 9.HHHHHHHHHHHHHHH_ + ૐF @"@WOzCTWꃅY$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@D@ll`x @IDATnc?k}v~:8"K'c/ECjLIQ!BCN~$?F~)NE#dw^Y{ǽuk]Zk=uz\WϒbK6+(̯gNv(ݩ&@ @ @ @ k6eqG1 #Hm+6 @ @ @ @FXn8ke2-]=FzI$nv0VsЛ.o"vW-= @ @ @ @].2a2/e]۰kηP૕pjHkV\v\S*}ӿC) @ @ @ @t@5R@Y)ߥ̮T2 |L5eSveӷQzТ\khSի^W}\ʯ֦쯸F @ @ @ @`Kg슦,JdSʌ0V-R[*#Rfdmܪ.i- |}oROXf*j&/ΊK_q`nX ʵ@C C@ @ @ @ @`e%(V-YZkIHsԮ).Qb3 Վ˺T\nv_%!VY2ʇpyX֗eЫ_z]>_>ʮXQUlU/cn @ @ @ @` jfOjA2H)~>Zki|bKi`F~kG+5m{j<`FE=UYZ:W\4/G8/k=/mZy.* @ @ @ @] *Z \gSj!ZT hry՚G?e+i'YvTOUbQzZҰW`m40_x ;whWޮ6WqQW_^P @ @ @ @#dLʐVW"w"uW4B]zcle][;ѸuQ0qĽ$s׍Imn|_Q.^Ѷ PWqM>.~ }" ]l}k ju~  @ @ @ @ ]@WH%㸨/~.]e+9UfH諩0[f`8oLs7nY|p>Ε3kվ _K\?h?Q?Prr|ϨVWD_q[}ځ_ @ @ @ @+%їuT6#X1W69U4AQB_e۲8m,_QY|mB"t +sqgrK˰`Q(𪵩6kk}9EZ\C @ @ @ @.4LU_jzJq zW5]6-R`ܚE9i|}d[jUb/~q8&S .C]xQrh mYrI4*:X1@WTq-U~^K9鐭Fkt&q @ @ @ @L@^wN{HyWw,&jj}Ղ^{>+q22_SM=#5d V\>ک2U(WoY'sGn4{X״4~ @ @ @ @H 0o`` =h0}ӼsuK֙Yє{2۔zE9MY8,k+5YjfɳyEЫ, _׿O{V[yv zcq!hi͕ys>siUV^;kF)3iַ{1i1 @ @ @ }Y} ױ_?,\3|əZk,_M~hR.b |Mh7$R$}c|q*B^pWk3-.77^ S[#BnA @ @ @X r21Y?Ǿ~V+fK;9+u"U"vC^Q(ZZQWU6 D+oaE(f^E],g+_Q-^//vܾ;#??zf:묳SO=^җ;lxl_css @ @ @ T _㇯Y+?۬+R]yf"S3}E zE}n"v,q[ԕYLg"`WKk |E+!ZЫu5fWZ\Ҏ:kY92K%N{_{  @ @ @Xy)_\]˽|xb"X1fl_W"2} `_+?X@_\lqZr\|%s+f-X۟5E믿>׿NO?t={vl^{V[m՟Gy$u[ouo^3Ϥ/<i}IsI400V_}җߞ}8e/K-JQw-K;쐶n6C;3{i 6HKzի^Hu>? 70m#5KO>d|nO|+?FWi]wy|>͜93N_?Az̝;7q[o5cF}kӪ:9p8 @ @ @ @ :&_WmXαX.v,^ϳ{,_q{1 K/PVd25P~3{~qb"?MmתbJ~sZktgCr!/uG9Y0O~Rld??`R"dvk⧬?cҾܮѠ(sF`-BfO<:t%4E o|s#Ug?864ln>}#N8\~AnKq.6(=/exo17Սoz5  @ @ @ @__ _Ekf*_";F+ʑ;)f[*y@l+O*gϥc= -Mv:Ue)*F |E}b&roG)bw}wtM˪<֞{9$Թ瞛8u*l]1cYl<|,\1Ylկd-oMW^ye wÞ痿eb-rzW߻ZvQWݚt_Ue @ @ @ @`,́z)fek3{8.f,iٽ"%5y׬HX1>r9UU亊"3{Ey=_g*ZGMlI~X1H-.Kӻ|RE8ܪ_6o^򒗌yөXc|__{'b&r{ޘOq>~_O}cg>я~t%,fO,3r| ;/O~2} __dzG]N>:_חM>fm;Si-z=X>cK; | as@ @ @ @A`x૶c9bǙ1W,X!(3~}EŬ`/tA1GTz |9\@W _Wڒ_ItbƧ?targmͳtHw_T54Z+cz%r(?siUVbcY%HXq=W\馛n˱UW]՟ /0z衹*Bd'tRzn!:<բq ^Qp4k֬(}C))+~ܹꫯU{wkg?tq庘me!L @ @ @ @14e~g!m?yj,j/k V[mF_QX`AZs],~7?r'?v_ge]Ҽy򹘹|{/xAze,+{wvǧ3<3_r%lB,V=/I @ @ @ @ULg*2\e+1W,*%1.] PWUsЫ{5f-븸ρ%-]wݕ~KF)fZhQnFki6&q7<(Wgz'Fj-|ρ"5Ze9[wGVe$ߤ6,~.Sx=E?}o]V+BonamN?t'0 s!.(|WUI @ @ @@s1W+_1Wq<+*1sW^ʱMukW+Y68;`W,XUf-Wf {'-~,rEyK^#47]q/M*V Ŭ\cl[>e2ej+t*O @ @ @ @ |fʁ"5~E X,_E* Q⛋Yja(_,_Q:gZ9W, Vvmi뭷tIy9v|Uk>sG |ڍb"kHӼ\_,]nimM7ݔcұ;k^<+/+lE @ @ @ @g*gW:V hdnXaNƩ.4UGȫ{,_r|UI1+q6d!;tl~i̙Cms71W"ۑGrĒ@+~H묳NY.\f͚,  @ @ @ @@ ,3UʽWf?x_ʳ{,_SzgK6UۓO>]w|CI_|q>W]bp>c?ZrF+]{K=yO:ss?v[~}x>:=9O<}E/a]w5IbFq{0WkIψme.fj( @ @ @ @XW}5Zұ#^Y_qx 6`N/9WoXqƌPKdJַgj{._y啹9&5 @ @ @ F́Y/3z,(e6(K<Ҏg[)gVK=Eq-"=SO=5Nk;#/GX]0L>h#V _\1ּy;FD^61o7QG}Җ[n8?ta5ΕoqL^Q))ٳuzߜt-O>9tM͡L  @ @ @ @@| x tC_zz=ƌV;C^lte/ϊK:3~9hѢL]8qw6QX@x^>|mwLӟ!{s_'@ @ @ @Z@kGWH_񢱄 '0{tyXpΜ9 H}k_K~xG YUg:\*\kqIYַ5}mW LhFPZubv믿ZlM+kު9 _qMuis]㧞z*Ϣo|c}3L;2<aˆ~z:=ܓjT_q)b-c.tr @ @ @ _+*ݔ tK+cn-/׼&miWo.X u]9F6/Xztw _jE/zJ_?/ַ>Lpק=c:sxw @ @ @ @_-@v |pzzz/]ve5S?( @ @ @ @IT^ODIGkɊ|v @ @ @ @D |M~&U@kxn+5v;W @ @ @ @cZ, ?Or}kꫯ~ߧk&7Ioyz[ޒ]wOwqGO~׽.i[C=t 6 .UzU1cƐYvu\׿>qi̙ivv`` o/~~ߦ5\3͞=;i뭷vy7|sZxqZuUo?bO~|/C͟??]׿ugl^{V[m!mww~{s|t뭷xֵ^;ǘ3W72 @ @ @ V(Ǹ!|%uQ?a:rਊZk`լYқtWO8nC'_r%u_~yz8WrXq2>SvKCSJ!b|h*##!E?x>nna2!k67L9|I>g?3{!9twя~oa6ۤo17 >"vu | cRA @ @ @L$~b-UUR 70~Ǫh {9$lqtp#8" y ,H[mU*%EP,f+a}6w7裏N_s׾tks'O?=_p|g.sK{l}9C~F]o8QW]-ǹ}dbX+l @ @ @ @@+Z^c{/f=9Ukw3YE{AX0n! ohxoO^?_tA5|dbzuey}(} _|3an|N~\?2O!JnizGr},*&l"`vWfxgҥ^w*j+"4v'uY'Ō_1KYuYN9|>Xp{gK; |UՔ  @ @ @ @V|B=-m)롇Jz泟l:Hx?Ms#"pn\\xCUzj:餓H]v%ŒYf̘Ѹ. ۿ\|'CΏt2nf@ןKX[ֵ;w)=XN1f؊a|P)g-{+^g!+OU_o{r8<s禫:WEkNձny!L @ @ @ @|-/m-oortg9?4{\ar歏|#yF8Q #U/\s\ZV[oM?xz_9U=3 'Qk.L/o4hQ3ovi\"[3r+X2d߱;\^|:3s9fJ;w+gI @ @ @hW bcFVR~y8Nuy-Z( 4fZVૼ8%x<ׯtm[nlV&u*_%/;?-2r1'w뮻c`X̰VN?t'檛o9yF2vE>8 @ @ @hW bwi!0WtG9?Z%/yIcy!, f*\VO"0hݮL+ecF.\]wt>}??r{r0{^Y5~YXR|j+Q^zic/RŞ @ @ @ PwϕHK/5k7Xl1k᧘q,f+F]+˪s=󒉯}kq6bX2Lb,=$͙3''be]Q`׶nzLI'Cd |7f @ @ @ @@ |x!NODl ʵ`}-.~x`Q_ rqpó4!yvuQ |n)b3g^{핻%#꒑W]uU%c[Fk˰[ls|^~_{~CJw\dMO9kW)bO @ @ @tWhWJ-'{yoƒO!f%x?8=Z+fڊb-u'kYmQ~ΝbnᆴrOygKP6FO>d^2a_|qnZbo2 @ @ @ _<:! 5z /Lzh:E]p+ vSl|:3SYb+Q_]^sIҍe#Z>W"cs<@r-yO<٧>K:&ՠS @ @ @ @L@[_GkW޵뮻y?>OYfJ}l,% T2q.e7to= oH-j|1V8N\p|gM"/}Q=S9,￿qp XYۧXV2 |E?<¢hᰯ~w;C^<}e/nfIRŞ @ @ @dNi:GGg?Y-:1n햫b#f裏N_syWk{Ob殑XNv*XFrΜ9׾([t[Oy;Ӊ'瞴V[ iK]oudf,ۥ^"[ @ @ @ 0Y_% hdtzZV7X ?O/,\/Ξ0wx>R___)o0߲㡇J}^򗧝viEi`` ͞=;g^xq[ӽޛV]uմ;7߼q>s m6Kl*{ի^/yߟ>e^>ti;rH{֛ @ @ @ @' 5>?WH@E-?gew}??-~#@ @ @ @tWg״}Z8 =?iz?Ho~E  @ @ @ @`&Tw# 59S[l|=o|q@ @ @ @ 0.jL@ds);mi]vI|pg.'@ @ @ @tWqWWW @ @ @ @8]8  @ @ @ @@{ |xO @ @ @ @@J_a @ @ @ @, 5q  @ @ @ @@g |uM6CE  @ @ @ @! G@}“ @ @ @ @LٻJ| @ @ @ @]+ յC]/&]m @ @ @ @& 567WX@nG @ @ @ Ж_m9,Y@Y1 @ @ @ @tށ,Ձ  @ @ @ @&\@kIu8_O @ @ @ @N+5Mk @ @ @ @ ]ud< @ @ @ @@+Z^c3  @ @ @ @H@ો_E૛G׻ @ @ @ @׊Ji7_S @ @ @ @m" &1- lg  @ @ @ @KB/@ @ @ @ 0_|cw @ @ @ @h#OX|  @ @ @ @DfIO\ s|`z'͜b垔zroQӓb>}_)r9:rޖ]~hzh͸sq 4Fq_+E`3P>?qx/s88{g3+叹M < @ @ @ @/@g|u8yJ @ @ @ @0}&R7 @ @ @ @- 7}^k7%@ @ @ @]@ktgH@્ã @ @ @ @Lהѻ| @ @ @ @* խ#e%eu @ @ @ @$ 5&6Z@G @ @ @ Ў_8*i0 @ @ @ @P@kz'W'g&@ @Eւ@IDAT @ @hߤ|M N  @ @ @ @:L@l>tyM @ @ @ Pj(W#@ @ @ @hW j_cs% @ @ @ @@|uXv|uz9 @ @ @ @ZA(ͦV@kjݝ @ @ @ @=c0gۓfH_rOJEIE1Ǿ/uD9oKQ?z\G= 4f\M\bᯕn(~b8^A_ @ @ @ @>/5}ڛ @ @ @ @. 53m$ FQ @ @ @ @L@kxeVFK[ @ @ @ @n֑: @ @ @ @cZ- jq#@ @ @ @hGv4L@k  @ @ @ @i( 5 _YG3 @ @ @ @LDoR&U @ @ @ @& a6]Wk&@ @ @ @ |U5V@mƃ @ @ @ @P@ૅn5v۹ @ @ @ @{g,Mzx @ @ @ @ | fS+ 5N @ @ @ _1b9_r @ @ @ @`Z|Ma1 @ @ @ @Z d @ @ @ @h{"_ @ @ @ @Y1W/^I3gG'ޢ[c_z\N%}}רZ=n3\ܦQ|\1qQ7X ?O/,\/Ξ0YJ}}}cnSE @ @ @ @@7_1N @ @ @ @`r5z   @ @ @ @@G |uM>cM  @ @ @ @Fƙ6j( @ @ @ @S& 5en2_+- @ @ @ @@ |uv{ |uـz @ @ @ @1 |Ej @ @ @ @W;g& 5D @ @ @ @4މ,Չ  @ @ @ @&Z@kE7)_ªS @ @ @ @+5]G{ @ @ @ @Tm+ նC @ @ @ @Z( Bl\I @ @ @ =_3]&_]=^ @ @ @ @`VJZw'@ @ @ @hO9M @ @ @ 0-0wK |uz @ @ @ @ |P-j[ @ @ @ @W / @ @ @ @,I阫dY/3RWܓRoQ-z{zRQDZ/K=E]_.G'QےkQOMW.nS(W>rk⸨,~'q`.g[}f1)"@ @ @ @  'OI @ @ @ 0f\_OA @ @ @ @:z |M @ @ @ @ |nL |`x @ @ @ @)2z7^Җ @ @ @ @[udl@ @ @ @ @V |Z @ @ @ @Q@G3 F @ @ @ @` |MAWQ @ @ @ @- 5ѢIa) @ @ @ @@ |u؀M#  @ @ @ @_U jۡ` @ @ @ @-j![]@kv$@ @ @ @ˮ~^/G @ @ @ _+ |M @ @ @ @W{Xr&@ @ @ @_b;%:  @ @ @ @o|- @ @ @ @^@ @ @ @ @@ht 2欗z{+QI(u==(/(mI}_5V먧xی?@c+W |9rq\ ?OoqNj`0-o|>R___۔c @ @ @ @ tWg$@ @ @ @\3|M'H@k uC @ @ @ _=|X{S @ @ @ @Fqh0<  @ @ @ @ |MhiK @ @ @ Э_:]^_]6^ @ @ @ @`L_cbsQZ-~ @ @ @ @( Վ♆ | #QA @ @ @ 0 w+ |uyf @ @ @ @hQMפ @ @ @ @:l |Mב @ @ @ @Ur |x0 @ @ @ @ |ۭ. 5v;W @ @ @ @tWeWWW#@ @ @ @XAlj  @ @ @ @C@=S,G@k9@N @ @ @ @L i1̝_?ހ @ @ @ @`_7C Z @ @ @ @m/ CC@w@ @ @ @ @ r4KR:sK}=iT([{ޞTqROQWI󶤾CuS@m՟T1ʕ+Z8.'ŃE}q?07>kY/mJ @ @ @ @|:C@3S @ @ @ @L&W$ 5A!@ @ @ @h_g) @ @ @ @_8F_m4 @ @ @ @`ލWF@ke%@ @ @ @Vn.{/.PC @ @ @ 0&1_w? @ @ @ @vjQL @ @ @ @_p;:q<3 @ @ @ @D |M&E@kRXuJ @ @ @ a_6`q{o @ @ @ @WUCmvh< @ @ @ @@ ZVc+  @ @ @ @G@{ƲD૫ @ @ @ @ Bi6_S @ @ @ @! )#   @ @ @ @״ICo@ @ @ @ 0~_-@v  @ @ @ @j!! ; @ @ @ @ 9%?s9륾ޞ4sF*}{R-ʽE]oOO*8+$y[Rw:)^6m*_\u@[\8y Ϭח?6%X @ @ @ @|! )  @ @ @ @&W _  H @ @ @ @tWGyx3ޔ @ @ @ @`tmi#6 B @ @ @ 0e_SF+# 2Z @ @ @ @tWlW !@ @ @ @ט\jV @ @ @ @@; |xa_HT @ @ @ @LCi8_8j @ @ @ @`&ZT" 5):%@ @ @ @0_u7 @ @ @ @@U@૪ܶ_m;4 @ @ @ @_-v |Ε @ @ @ @# =co" @ @ @ @VP@k4Zww @ @ @ @jqZ @ @ @ @B@kZ s翤W珡7 @ @ @ @   @ @ @ @@ |y @ @7ֶϾ 38p$HAHj+6W, j/4Aiľpb_1jRnBLM|ƴ@'"RbR0tO߳wg99{g=kg=yλo"@ @ @ r4Gi<n]M ]KQ4a)~l_WHhnf+ f\P,-zrusb߃\LJR睇SF|~Fe17@ @ @ @ @|Yj<% @ @ @ @f @ @ @ @[@kݢۈFX5J @ @ @ 2MX_+י7n @ @ @ @yy |5vjt @ @ @ @`_[vs% @ @ @ @@w3W @ @ @ @.( uA(V@kN @ @ @ f̃^# u @ @ @ @4_C# @ @ @ @X]@kuC-lA@k nA @ @ @ xOu@ @ @ @ @ r4Gi<n]M ]KQ4a)~l_WHhnf+ f\P,-zrusb߃\LJR睇SF|~Fe17@ @ @ @ @|Yj<% @ @ @ @f @ @ @ @[@kݢۈFX5J @ @ @ 2MX_+י7n @ @ @ @yy |5vjt @ @ @ @`_[vs% @ @ @ @@w3W @ @ @ @.( uA(V@kN @ @ @ f̃^# u @ @ @ @4_C# @ @ @ @X]@kuC-lA@k nA @ @ @ xOu@ @ @ @ @ r4Gi<n]M ]KQ4a)~l_WHhnf+ f\P,-zrusb߃\LJR睇SF|~Fe17@ @ @ @ @|Yj<% @ @ @ @f @ @ @ @[@kݢۈFX5J @ @ @ 2MX_+י7n @ @ @ @yy |5vjt @ @ @ @`_[vs% @ @ @ @@w3W @ @ @ @.( uA(V@kN @ @ @ f̃^# u @ @ @ @4_C# @ @ @ @X]@kuC-lA@k nA @ @ @ xOu@ @ @ @ @ r4Gi<n]M ]KQ4a)~l_WHhnf+ f\P,-zrusb߃\LJR睇SF|~Fe17@ @ @ @ @|Yj<% @ @ @ @f @ @ @ @[@kݢۈFX5J @ @ @ 2MX_+י7n @ @ @ @yy |5vjt @ @ @ @`_[vs% @ @ @ @@w3W @ @ @ @.( uA(V@kN @ @ @ f̃^# u @ @ @ @4_C# @ @ @ @X]@kuC-lA@k nA @ @ @ xOu@ @ @ @ @ r4Gi<n]M ]KQ4a)~l_WHhnf+ f\P,-zrusb߃\LJR睇SF|~Fe17@ @ @ @ @|Yj<% @ @ @ @f @ @ @ @[@kݢۈFX5J @ @ @ 2MX_+י7n @ @ @ @yy |5vjt @ @ @ @`_[vs% @ @ @ @@w3W @ @ @ @.( uA(V@kN @ @ @ f̃^# u @ @ @ @4_C# @ @ @ @X]@kuC-lA@k nA @ @ @ xOu@ @ @ @ @ r4Gi<n]M ]KQ4a)~l_WHhnf+ f\P,-zrusb߃\LJR睇SF|~Fe17@ @ @ @ @|Yj<% @ @ @ @f @ @ @ @[@kݢۈFX5J @ @ @ 2MX_+י7n @ @ @ @yy |5vjt @ @ @ @`_[vs% @ @ @ @@w3W @ @ @ @.( uA(V@kN @ @ @ f̃^# u @ @ @ @4_C# @ @ @ @X]_^Rpoy;\,i_)G\>Gt3_^iop6+ fynq_~؎O?;e7hTsC t @ @ @ @@ˌtеiS^Wr+%5 |Y0;XG+B`OΦӍ  @ @ @ @8=WKKkIPmFಁ>kt_|* _7 @ @ @ @W2kxm`+;'Z;E`mӽ: |B @ @ @ @'_ _zcNs]9dWy4U<]E_d5 y6W9V;b @ @ @ MꕎRf^_\ 2IvWycK(r+yc] @ @ @ @TO'{+#5O*O,򡴗G*:NΧUxgV?Wjqp66& fynq_y)F+ʓ|$J+Kث|l+8D @ @ @ p:ǽZW+c/'|-r,u,5/gGk=oeW^tѠzt~c<]_:H @ @ @ N޸F9Q"s\{Qai9__.3^yaӽ^U`t5uS 𵵩t# @ @ @ @'zr+]^ӧ| fOW1qڇjz'gn?5|)_xccUT\}ūO=JGKM  @ @ @ @v,pZ~c*+W*xWJ+?uk/*#t|a(^NvVt_cUzWX~cW:^n&M @ @ @ Kは߻U=٫z)_9yUm: |r{r:uV+_UzW"O*'}\OzWOVa @ @ @ @!p<#u%?+ٓ~y |uc-4zEϙM#J ~M5}c|xW'^ @ @ @ @?/OEk^8(OUXqiX啎 v%aI :)_@1O{WC @ @ @ は}S1U=+\*a·\WɧUYz;P8?hO Xŕ% (//iЫ"5I>~!*wtFcCt @ @ @ @zv t웾%C_򪾃yzr@Ӿz6*-Dx+Eu<+^q]<+#s,On_;_?L| @ @ @ @@c"lZaE^*a\'|'}t͇b?O |EܧQu(n-|bE]"bEk#?J}Wݛw_IW @ @ @ @ L[gJ_Ϥ׾t@Jk'|E {Uv^u] |9|mJa,|EC[|b qOW9A:zɯ?O|:V~  @ @ @ @&٘'rۥku/LyY+gj|%TI_QqQO vE覮q û_szEU~:FЫֱlvW<o}y6az_^yo @ @ @ @ V'>էkf~׫O^8̩vœu%U~4xR_%pSWF&*k8-0^zcAƵ80J,B_?wqIݓ^v>z5C~ @ @ @ @lU -_z }KϦ}ruu߿d[{w^u9^qQ`"UaQ~j ە |_x)_oyc^9r'5@ @ @ @ @`C^W=+"U=k1O ӾfOiJ+6QdЫCGLoWWvY`6ʋ^ UyK+'zUa$-u'^ůOow~r˞F @ @ @ ltazFyy[^@əxZW1[+؟Kম_6Y],Xpy[_A\uu+΋rUQ8|˱8#>Ue[:q @ @ @ @@"h+"2'4JT5Q[ZO*63>?ΫXl;W"/q?_nX'BT"pU.G+>oʪ]:*'UArnn¦Uq~ @ @ @ @\X dE+_gՋG]%̕O]s|a<٫{E;իKfZQUU'ŭqو@'_|b?-a\O]xbW9~7`P;'*NOo;s>`K @ @ @ ;:R VUI_uQ%vElV|b9wzM[]ϩV:2_cO0pS]eU֝ 1b' \6 }ťqNi#_Oڬ󪶣>ew +_ @ @ @ @K%]U=y+YEIS'wUٔ:yuЫSb?>UȫʹDUm~6֏#klݨ:{ucչ"'?Y)O/}r @ @ @ @`S3&gE eUA }E%ȡzc\S*D6NƪO݇>N׹Zf:_ZJc}uu+ΛXJQ~W9RG_;s|K @ @ @ YzLISgQ"2˕*g "5誮9ydh {ͷW/8?ݹSV. |Lfyz!"cUH:PE+>)3)5U]9GrM|k6 @ @ @ @fPձI* W\kٔjDUfuPkcqY*FE4_or7ڤn ڮ[ I~\W,xW]]_SW4@nlv~>)΋o֫^|VꬺlK @ @ @ @4:sAK]Wr*wή~xQr7 ׷rΩv7+Q7>h]WoqN*Xu`+N)\E[(ǿO}N'gB @ @ @ @K{ެ>W!xQsW\. z#%z=3̋WU76/ίO1]wV'T0 U~  @ @ @ @֬bpVrZOWy4\دۜVb}%@ @ @ @hy`4Uaxu&fa3ǘvy:6 }=O0}n]R9έ{ ~Yy3Yi+čg+ @ @ @ @8]xe.2 u͞vtu%55>;X6vܢ{̭IzB0WR [ @ @ @ @,u%K}lޚ̺U*cچr QNt}>V/i]}MOu;:[ @ @ @ @8+2_? m~uN]g'lKkI_VNs>Uc!U @ @ @ @lJ`>Ucڪ.uan{ٵs(+V|BO{f[s( @ @ @ @slLK]͞SF6;p3CZ ) @ @ @ @ؘ ͊-pfl#22 @ @ @ @M \EM xg"/$pW$u!O' @ @ @ @l@a@p K @ @ @ @!u'|'R_K @ @ @ @`_4 @ @ @ @, xע= @ @ @ @4V@૱Sc @ @ @ @XZG @ @ @ @ |5vjt @ @ @ @_ @ @ @ @ XN @ @ @ @ @`Q@k @ @ @ @+ ة1 @ @ @ @, |-z#@ @ @ @ @@c;5:F @ @ @ @EE{ @ @ @ @hWcF @ @ @ @ ( a @ @ @ @j @ @ @ @= @ @ @ @ @_vv駟N_WSO=ovD{%0  /Nw_o @ @ @ @@{3WO',c{K^ON!tx׿t|tO>`ӻ @ @ @ @@z6ndx%ϧ}cxEz߼4?>/moP;O=Tz_t_|+hg?>ϤH-ߒx׾6P~SJ=Xzjg:4a}a @ @ @ @:$ աP| {Mh4Z֭[~~?x6/N"tvG>w3=3g^w];;<}裏_ץoo襧˘c]4a}wx @ @ @ @Vջ<=yOzӛ޴Pwѝm֟7%җ4_e?į8AJZ'H??Z͕Cd_KM @ @ @ @K |-Mu+*˿ W~W.ןɟ[_QyU{R׼.Uzl @ @ @ @_} qׁm)Xߝ^??(?t;d"@U.J}c~~*}ӟ.NzOaɟ㏗ۿ^Wzn2W^Ms.H{yW7XvʕS;vJ)RA  @ @ @ *VMW:@?kww]| =c7 o~s %ŵЊp?tڵk-oyˬıW yGϔLKtO~K;#?#я^S}Ho}[ӏ؏hT~.}sK_җ^bի^U.^\\.O;ƊAnWQbMlѨ`]D!X""(آ&ŘX@19..9ޝ;w93~СCSu]){^1NiJ|AzWӠA~W[f1 @ @ @ PjR/_=1cǎM'N/bjah[mU#/uQm[oM&L;$Eq+?{aQqOjNkʔ)iԨQɓ'Ja|VeWwyg|SK>) /"|W8Ə Ͽ oQ\|!-֞Ҙg @ @ @ @*ߚuW &*AEէg)*|E?z뭗VT:sS^rkV%>Ƴu- 6,1cj[3 |]s5顇s%l=/nn|6*Ef2x|ͩX!g&l]wݴJa-/:i*?jQ+G ~mnmcYyθoCF @ @ @W5\"4k<Ȩ[+F?i;.uQG3fNVZi}YmW&M{SOzh{5'u)X=䒶/8oKUFݠ~M7ݔ~{l8dȐ|6l}K_Swߝ}Gr?ȑ#67^u]s(K.xjA1 @ @ @ @_\֜r{y\Aꩧ9Ƽ㏴n.V1O?4x륗^P aw1W_I>?.˧:һロCg>h}W-:sլbָY}UE |-IM)\Qq쪫ZdNQmw駟NQ,ZSg}r6 @ @ @WE0B]Ѷbt14θqr89yԿ{}*LŖ[QI|͟??$ <-)RvX>TX b\7߬mi~7o^z'|fϞf͚TWq}Kk`VQMBu|o9a„t-!_17z @ @ @ @@<|=CkiL?tk|4bĈ|sϥ=z,G r尨:G-믿K{G>՜ה)SҨQ-Vm Ҁj[~yhܺu떫Ɓ?<py8[m6_QlmM7|s+ST;k\aÆiӦ |գ8&@ @ @ @*' U%o G#UjJW0]ES]v㏧ز1ړO>^{|\#m _UlEXOV |s]Din~;tIg>¡;쐫EhjVKK9%q+r-S@Jᰋ.(x{YlXw2 @ @ @ @_]֚|W:ӱT&Mƌ+ON:>pmYޛn)oYϴvN>+>|9/2gEeYqRZbDdV"vS̙3Ӑ!C'6,/i_w3XdxX#GcijK"2 @ @ @ @_]֚|E+\{챴z59>, <8U:ܹsks\ɫ_5o/Զt;RXTja-nkTs_q᭷ޚ] IDAT|1N;&C_/RmK~w5=.{ゥo߾V9%q+{Գg/2-9ǏrњVL> @ @ @ @ |Ut[kK3նvu*Ehq0y*HEx(\PoմioEϦ /0X[n=*nEU57=h J|ޒ1$_|}O:5'_rJ>^Qa,E1bD->_}Ug}o_ | ok!> oOx cEelTΛ7/;[qF_ @ @ @ PQ.|kM{iNKR\EH+Qs`(}E`oOd6j\k…)5nie}7iN?Zs_qmT:S?xW\vy% ,={v>ݻwzks9蠃r*~{k㍾#F5 36|\a-snԿ=>}t 'Ծ5E+ |" @ @ @ @U⪷✗fK/[*{ԣG$KE(lUoӰarqȐ!rV}&*gp )#omQ;vlQpׯd?S>U_; YkVXmvJ s1hw_Usw@֒[2Fp+ųl?9r&٨Q؋{b8qb{9Wޖݖ7 @ @ @ y:ZLvQe+cQi*B^֢WիWԥK_JVv9sf Yna +,V͘1#۳gϴ&W\vO> .LSLI'ONsm0:+߿nka @ @ @ @-j4_o6?Oڵk+.-7s @ @ @ ж_m{K\ z+&O @ @ @:W\ J oU7e @ @ @ : d|~a駟hc{W_=JK.%aVY`…_Ms8E=R߾}b @ @ @ @@ꀋR!:~&P暩wW  @ @ @ @F@,E?̙ϟċI.bKҕW^9oؽ{>d#@ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @** Uх7m @ @ @ @' U53b @ @ @ @**d&dlIENDB`intake-0.6.5/docs/source/_static/images/gui_add_remote.png000066400000000000000000006163151416666122400236210ustar00rootroot00000000000000PNG  IHDR z# IiCCPICC ProfileHWXS[RIhH RK E*I ĐD.*vuEWE\t-{Y{(ʺX&uͽΜ󟒹S˓JP]%Pt 'Rv|| 2|UB9$LRTVgJx*2 R%VR%T*MRi<,g!-$2A|Oqcg*1_d3sZTB˥yg;)cAɢ5þʝ4$qCN,PCREd=jʗs`b7/,bS#$y1}f8 1\!h]"'j8ke3q6dJSdH]"JJUQ)kC̔&Fm0'vFHPoPǦg"4|pՅ( n>O-B ;yG(3\@J5b]Ki^ "z+ME_<.H5?+-ORg&īA 0 82L}}z& d!ph=RU3xM%@>"4U_]@jH CAPyIFߠF|kʹP(yY:Öpb1AtM <8'k p0ā$.zY`.X@X ցjl;O`h p\: WOx0  # @lgEp$I@Ґ $ d. RF-H=3r9G:Cy|@1f:Eh4NC-EUhmBOh 11K8Xea2l>VUbuX# Xևlj8g.pG8/j|'ބ¯~3N0%8 \dB6aPIN8H8 "$}ӘF!!.#n$!'v$ɘL $őxBRii7 E {#d y1||z;iӭL"ͤfN3Csך5`XY-ZebXUS~KS(KvA+{dV{[S}ZYXLk`sǖbk+]o{]wvvO% u;P'/'SegYѹs aɘ17]h.l"LŮͮڌMjٱݼܶuwؽߣ'3sgq6W'oowwOOM_xe~~ /gK@n oh  !+2\(:D= ۑ~* =ϙ9E'W?Ȏhy<*&׌s'L7T4-:1:QS,u":q5Jb@7nMx_&'O8=anDF]oBV$MvHV$LMOy:k&_L3ISҷL nJTeSoLV9?#D_+95|fNLU__-.G-p~IV(ݬY%ŗf;^:IIDɏs99ms-.p{ޖm .Yp"E.v[zoRi-5+]Xm ee|y D} K? /TUTV|\_v{﫾Z}M++%+o ^sk&iZZ[Wܼ^*e͆>Vׄ5]Zv`M!7mDniJZmg~vHvtLyާ~ hw?ҸesO^W3~/z_~ld,oBf77ZZ:M8z_v<\sȊԣG8.=w"Dwی''vjҩѧϝ8s,s?.y]:ׯ۽ۛ.\nhyJWîƽvz7nݜzy_)3xw=½+>tywyңGw~1q'O=}=Ϥyr ً^z북o -gn{g?~x28#c'O?dɆ7 } R)Dx6U:z+Wo,ߎU pHYs%%IR$iTXtXML:com.adobe.xmp 2426 1272 #iDOT|(||&@D@IDATxEV"*HbEŚh^^1Ƙ{lIX0`C,( JD@AbED}w?9;ww޶~\vw~vٝ$5GC@@@@@@@@(Z*׆ C@@@@@@@@A/         @ *C@@@@@@@@z@@@@@@@@@\W@l         @Ћ         Pb@@@@@@@@@^@@@@@@@@@" U/        =        A"<@@@@@@@@@@@@@@@@@@z !        x         E.@Ы_ 6@@@@@@@@ {@@@@@@@@(r^Ey         A/         @ *C@@@@@@@@z@@@@@@@@@\W@l         @Ћ         Pb@@@@@@@@@^@@@@@@@@@" U/        =        A"<@@@@@@@@@@@@@@@@@@z !        x         E.@Ы_ 6@@@@@@@@ {@@@@@@@@(r^Ey         A/         @ *C@@@@@@@@z@@@@@@@@@\W@l         @Ћ         Pb@@@@@@@@@zR)n:*ժU˭X-Zȍ?=n̙N'?PW֦eMԩ;C\]Ϟ=fm=y        TA%-^c9         PQ^? [@@@@@@@@@z(KЫb,@/fWNFa @$ob@@@@@j"@^y7uT7sL7}t״iS׳gO;]ڵkW9zh|!8= /tR7h O{7쟴ky普>@``A5 :M81~{u]A@@@@zTS^};C=naÆVZ圮#UjsKe]M{uz=@`UW]宾R^wk߾}2 Sgݕ!pgNj۝@@@@@l~JRԩS(Vu6̭[QVJ $%MW9)m[n{g]=J4[N[g͚5{\ʥ8@`k%\Suɓ'M6$y@B +8l^-@@@@j@QtղZb[h?~{|7 d)eA-=_YomAk׺wѩ;ٳgnݺu@@r̝;7c *ni]*?R+[ڴ" Phog}U!@Ы*TY&    @MXoA|X&rJ7n{ R+UիWZE6(z$d-丛oO[* wwpBwE'|2m??IV+| I;bڈ#6lc_|~^x!; @׮];m@(o* w:^L&M\FA@@@@z dk *;U7 ;^|E׼ypagy&m{bx*)5sL+yעE V[ֆz/;۰{-[5c=͛竐}~m۶OᆴN:o׍{GܬY|/{v]vyvz>[xСp 駟vد~+ҥKwdPvm~_:m @txBUgq}'nM7Mg9r0a߿iwoq+\nҤIcL2W({۷l2hqݻwwt?N/NO6zh Ū}Iz} 'MC*}j?էO0 [yns ,pzmsٳoMwuWD;[DQp_߹Ǝ۝uYilvc'Noh}6%n@@@@Z :8V-  O?SсT`* ΨFUJφixY4_yJ (,֦ ^յE'KD;>$neb- }$Ge92dH<ɓK^[hQ2m[n&@@@@UEnRPFߢ+-PZUVMH)UAp{v[(+H;` j:U>S?*gFK y/[ÃΥtн:_ƌ0襓6?᪹ Ao,񹪓Qe2Vb% ??-^Quۦ owm7|oS :ϧ;:i.;\a@ A/*s >3.V4襋rDew}7z2nS zeZN8 zOmե^#    P춴 /HE]TPA/ČA/mk=l{Ya-2X;c9܋}'ӖE]J^yq늺JI9ӦMӝ{%Q/8c"KtpX6.Nn[ESVitP^W'a+9GzG} !y6 ^ '>ҾA>(ZB'tIO.\0^^!^U 2b&O$+0jBnQבq**;L=+X heLU:=B']K.Wno z[wsu| 64W-CU5Ӽ*NC@@@@XKKWS5)p={v?JP*SO.T.]WSr'7Η66۫cURm޼yzT7ъTJNvOAÖ6Q'Ö<v}]Rr8 t_'Pi歷; YK]=&]fmkyWm4 YY|Xd\;JW!B] EՉBkGrߨuG]8j?7a„_d틾TӶBҖ[=+WSH1"mʖq7(}el׶@/oϠW2lfdW7tS:yl W׍ZִzB<{(د.q蔺4    *mXt@ʚ->^1^][`[d ڵk+x o5oZ\tE(\ԭU. mxeyޱmr-E. vڹ-5nE'2:u?:ҏN:u긖-[mEo_: uۺukǫ\؊Nt-^8eWNsuQG݃>?NnKr͚5:E'Iy>{! [>8;?]â+ݠA{;S. PNǏu' [(V<<:NfɖxxrSLf_{5׫W/{o@ѣN&MvѕnE'{&aÆ[@ QPE'']ԝbExӧ;}- 8}[8w'|r<(:?5 Qx\rQ[cI)k~(6D(\̶mwnm0}jaQxߧ^sϹ#8E?osQt_;\6 Nݻww˖-h}w% @ؿU^K?{6tS>Ξ{^zxB%UkanaQELYzN F<\>}q袡xQeZ5.dKm{饗:_&m?tW(i~KGqm1(ܞ6~n}EƏ.ꢪggϞp{JZ߉Ț:իgE@@@@h 3 h) |>e*ҭ4^ (HZb6-۲mz-G3k6mC9ua.d<:y %5oEUTlzK uV9uZxrنO>q:=f]좪fQ֠-DaÆ  ?J7^@;v{Ӗo]Uh<\'士iCe6"NA1 zi6زV'ˏ;8UC- @_~q#Ggq*UN%箵=Ea|!mڴPA/} OHj}*`m- ٰl;wvT'O\ik+Gk:Y d6>z0' @X[%7A_.6ue a'u1teqW:ޭiُ<=,6ylC!–\OTi,QG*^,sݞn ~]Ho >    U.Eie*DK=é(ȒaRQ*])UJٟ~tj*j5UR/}ct2(않*/u{$mKr{7l3<PxSQUcс4dlKnuҒ]N%nTWO2+GAxU|~\^T},/U8I֬];yl(6EXtrڸ6}*/; eI'x" jv{G"UNQOZ]7kL-: QrylFZG)gmL P6oV{Q@mgi?Ɲ6<G'-    *bYIQUTTt2CIEWa+ ` Ǖukvm틪ׯR+jDڨbTꫯJ zDWӨRHֹ %>]UiӦu-SHMJKãR ۚ~T}$%/ @ؿvVW釹 z% ^Z!LOgn+~ި}_\e&O?8 zE]O=?moiy4>Ry0@@@@-P6Q)xU+1NEeS:j W)UN S/ X%(Vcm֯[6m+uߔ߿+H=3̿?@Q:jAkC )q[oͺiv*]BKNɓĹ*z}ij=Q7q2HOK׷oߴe$SKV/W U' mt?5jTJգn$J̧y/r[@~F$^x!mZͧpiloFt'Oo*lKy^mOw}7uO=$Q6U/}|]˛ Pvo?rrؿ%יdxl+ɠ͠c'SLI]dܿwmEe]lUJ'%BzkMB؀c۶.     T'tT՝N*UU3Cw}SnQ]&*H-Vx*g zYȫnݺ>n$uRS 7S7E yX^ %O`1cJw]A@U7Q+鞬&m҂^AIx&Om.[׍K,I[kj ׫I5S rH.l:n@'J>;m:포%4NV/JtTׂ ҶA۪}شpSwQj0xlaRaօ9aIw!O[aoٳg]oopzEͪxݷ*HC#XӅPV%/XZWؒo9|>oxN^w_̈́ۨbaS}GJC@@@@X RFWO*Zx?qt~rJjwчT-+ _"em}R*)վ}^8AW]pC=RK:(_la/9z}QVqv6nKG=ߑ#Gz6YK?kAltm{lAS-[ꤷ‡ # dLj]\z=gO~}l[ z=%'$: @ W6խN) sZ])ZS*绪AAugxW˚f%_{)ƏJ״ ziWa:"p[wߝ6\hz%Vxi*վ2q 7+IW^38#m?Wa.6Ղ^˗/O[mt?Ap_pab(wuXvwF+*Iw] :n|;Mh    @r=$dW^{S;SJUN8*{m&)Uβ-D,} z)xmRű-"n'O?Աٳ_ʇTB'[y7C',l:m=ɪTR٭1b`ن٭N`렳=NކCp} s= e:k~ײe2>P3)8GC.r>5^,u'mmΜ9?-K&D0Xi /OKSٖie=@'ڙ)ȭuiyٖYj(- ҃DU[2*Z6˓Wc zi O'WK}#9/wrN0[r'vLNW,A/U*:ǪjJC@@@@X40QXJ'uENU~RoޥuPԍcΝ}K!+>^+W9nT˖-]&\ԕ {Y+]o 0PAlUJ'æ.MNۉb-GT2?d6O<1޼҂^!=brX]]2UyNviA/mM[ڭ*}CC-]*V>c5U .{rgRdSW6M67Y gZG8LVRGr;yN0kڰ)nKU0 @ؿe{UMRE^$305?'X,Li|caKSA/mo"irW_>=#    PtU0N@`B1y]q>լYT}Kڇ;<߅*duՇի^^a%:uv0 *^Po}J]9ڗBiVJuXaYfTl%OdAN*+`35~3^u .?%Dž+*l),"g:P\ǍWbK-ɦ#[<䓫i[UVEQɊeuw+L˺[.+sm@~/S7pCl[rUR0*IOT+[J_wnO={vھM\M'WY'p35=\'>t*` m4(;%K}7hQ=:7i_h~;E.J=p_i!{h_ҟQ4@`7[eb:&~kE鷥XhYmڴXߔJ.mowP~2(˿6K.Ej"    tk>h^yUtpZt21~tO>.~1cɓ}&FtV䓫cӟNPڟ:;vu)OjtvΛ7χӴzn.-C'u{on={:ɫmMѪ@t%k {G.xO>[/8F@@@r +ta.L!    @ԠMRpI'UP~WRU+Wz!M0*jx)@ U)*{֪mWG>UhRU:蠃|MF_IWF]8TKU4,̣+_ULKN U}LM}/~ {:M*U|nȑym~ƍ]15!   P*4]p;gVA@@@@$PAo֭X½knȐ!*r}> *ckC@@@@@@@@`} TzKOVUe,ȥ@UZl[jUR8F(UݻSWRL˲儕MAE+{)de޽myq`G]J*6zhߥٳYشTKCGi߾uZl}X?        @dRHK] /+r͜9)*{Y0aÆQ}unSe^'OմTEo:àj[ _i};w?J^ʤe;Jmi|pM>Uرqr֭뗣F!        @HRSKM&URի">Te*g)VdM|ZUR#F^{4\Q'iҭUjڴ`VX*~Y%/ ͚5˩:jSMA..wEi2ݪ        d֥UǪe]c}>$U9QF:uT… رc}0.]We/ WYK+ZjVɫK.~;=ڮ+W:USL]PZ%:RlٲS%/U$`7Udf3@@@@@@@@@Uz3Uꫯ*yee4*{uWRWokҤIZe>wߨRTh,We/,uwJ^Z`zV]Fiu/cݺu6a֯[         @VK-.Uk̘1"URJ] Ze [ UiY.X^~ [)|j]nn \Z%+VUR˗իWǕ-Z8USWDֵkW_LJ%/@@@@@@@@@< ziÒT>pVTYfW޽},U +{i9ae/uWeA3mO]ӦM]Xɫ]vWXk.S%/4[䥊cٟ[ee˖9u8bRe/U Rae/TKTK +{rZr_֧`ײva*yiUZfS%^xM<͞=iKVv$+yYL@@@@@@@@@ < T(K+58ȥ^^^YtSΝ;h"/ a֍7|Qvm?}J^ yi; i̙3VJ^}֯ cTb         Tz zi3UREde/6m꒕5kׯ_>͝;׽+NAއv[ײe8qsFΙ3oúuԥcݺuٽ{w_IL~J^nd         Q`U*{YEL֮]WĥP*jYe/Ujժeiٚ?tf/vmn7(eN}*yi=V:蠃|`Lj׮ퟃg6> @@@@@@@@ zdGӧ#F^{wJ]aJUڵkTaknvUSK+Vu(QUJ^'Ovo:J^Kջwo>׶C2^        @A*{nҤIqKyW~|֭[@XRS?wK,qӦM+y}gY+yׅ^mA@@@@@@@@*Q^z^*{}׾VXkҥnʕNa+4_^͛7wȥPYT%/Uz뭷ܨQ++y}%*y5kuW SŰvQ0 ]_         ,PtA/=de/ r-Zȍ7WR.2Uܹ \]tqniӲԍ*yM:w 9sLJ^Z*s)l2. f͚W׮]]Xɫ~T> @@@@@@@@ .PA/id_쥮T}Gn=A/uӨٳB_eռTK6mc+D@@@@@@@@)PA/**{nܸqnҤInԩnҥkƵkVڵ]Æ ]v\>}\ݺu}K իW;Mn!kժZjt<@׹sg8mU        JZQZe#G*{X <3@IDAT"`V \-|HKTs֭0TɫI&rj^zqX         jfx^z78eո 5*ziuW0`ԩ~_@@@@@@@@(jW^˗/w3gt#F=Ut+}l 8m֎J^@@@@@@@@@H]Kn*{J]Ǐw&MrSeիWn5QUJ^ݺu+QKa06@@@@@@@@@ TˠZK.5U_S%wܱD%/M`Wa4@@@@@@@@@`} T۠UR%/5uԸB^J^pܹ[֑J^z@@@@@@@@@ @zIe/_fΜFZp[fkժѣ;]^V[m4i}*^tט-p@@@@@@@@(@z ,We &)Sӧou :uD%BX        Y`zYgj*GyW_}}k׮cǎ>լYl6rV+@@@@@@@@@6,^ nu|7t}xn5jծ]}>eA"xM@@@@@@@@@ M` z)5kʕ+}qƮ^zN.Q3G>W_yOs9#@683e˖>8]$ @ lhʓaI     $2J_L/P1lŋ}ȫm@(.ڶm[\ְ@(Po5)#    5F` zճWi` ,4l޼kР}. lڿ^}gkd=M6uرZ=޿;ʃE6lS)*     @l!|+M-lۥWx[=.2eg~[wEn҉СkذaEǼ _.\NO #赁y: P `uݿρ}nݺطϞjժUYf9    5DA0ޗJɐ4]y3-'>[nrZ 4[?[-3\-+ټve|VZz-?Y.]yx@ dܹsn\FZP7^E6`@`xmzIL:ۯgȐ!cut,_ <8} رcݕW^f̘=C㏏s@@@@|j\K) Qme, s_L.7ߠV8_x?پ|j'q-w6CƱ:T*W SF"PUA/=[/Xo7k,!ѥ^Z%T|W^y/M=˳B/_n~x+6w#G>820@@@@ $ wpٙg9y˵mqr\m^&ehc[Vn̙Wj^?iӦ3(St&Lp;6}N!;,΂ ܸq$rlrM8@`'wݺu+VA6|p{k׮E`@ TeЫ:ߪ+so[rzl^=m z͞=w:무(ă={_ݯK.q p-Zj+&b3X    $PAbWNWYϹ+mu R۴;g 앶|׿]59;oE;cСC"t:YpB{0C'z>cp7wuֵQvgyo.PS^}S "ƌ㴿0?ܡ6ѣGz!7|k۝SN9ũzrؾ/ϻtR_]yvp8pk׮]8K>)TuRU5ƓVeʩSQF_|ѩs^駟#24|ɒ%frnw;CnkVh"#i>hٰaCu#kǿ޶"Us=a*ŋ ~wjUm`ӧOw={g}_[v_o{PpRk׎zN2owѻ򮦷j6su׹uֹ2pꩧ8;=v^xar"w[    zec u"\+.O+۲B7*bZ$UWy@jZKzB.hn~_nZ?mF6tvcs9'>PԺvM7T8,'({em7v>Sh*[˶ ώ?ly/)\waeVLСCrIN.N8n 0aB }6d`wQG'|2=OP wT[*+[e z]?]tE%FSeUa;`Z׮]}`2SHP^2+~;;##FzPqMPl4i]LڰV),6W^ye8߯    PBW HP'µd?W T5]+?t~꯰թM֚N\?ԁZkɠe w'׿:upl͜?t5Vմ˖-s 4Wlٳg+?#E{- P] ߨQS' ubNLEݺuKl˝*%NkI|% С?իW*cgޢ՚5k|nݺUAV,[l|M7yd_EAUPU͛?/>RUFI=WV g}Ν;oתU\IJ-+䯊5z=~Ua2Đ P}jRKz"oC>ߞ"><-Pm+a[nqo ^6Bovȑ#m #k<7*lZw۶mnS {i+}Q,A/>~ךYib2)u 'V )PլY3B.l4eF#5UNKVr[ذ/@4]iA0Xv 7?~QWs h=4]8L0RP~x`*PTi-,A/zde՞ԥxi|(po[=_uuva{oV9 i?nB9W).a*tE/.Rz^;&\ӦMp&W}|7nNw+;H %7!wo]p~\=M jM'0eR(ZS8K!2SS7{'izԵ熾oZ8L{={ae@@@@ A<5wdNK8 z:`hPlx;BtT' 25;ZZKgy&*{- P ߨG3ߠUW]W# ^: niƟUXXX5jeUVx ^, kYӉDT, zڴlzjE(?^U^+2c-F'\U[,X+ $}[1 dNTJa^5 ,ȡaK MrnptAPaҪ67],,4J[GqD6eoT-T)SNVh.ْAiӦe/|\ȠB/o_7l:еZW8maJllla(JUtAWVYAA;/j.+U)S{?|N1pMq 4Z2U ]e    @N^9yjH;YkR":M7O']k jú WUE/{z;sCuѣGUjE/P1UhQsFT,oTģPYg*j sYA'UJU;t٪JG;,["T!VZbNjߧ *A/Q'UqE-uuOE/ͫf di|Z/uS:ITH* YxWj䥊(&n$UM%4JN-T/|.~'⠐~wDtn]\8,K WMc՚P)[hK]'|+i=f22UCԒ{oڋ/օvoBu)DaЫ`ԬhJUVʆU֭^ums2k҂^2Q(&OruYѠMz> 3ZX DA?RH.Ye/XEֻ|vUSsQO-2 z/TNjt?f^Yw-    [Wn;'4 r_=)襃:a'A\V^wj#TB7*QHK])y+EBU:WѦ.~,8 *@X0@'mJoil|^ Dx5Se]3gΌU+/KJ 鄣ɦ.,@3e K$cX5%u:D>>Y3y/_w Alnݺd=g*OKAURudg[~gYf0my^k׮ukN[s;v}~ZSتZٰ\ _͙3$aKeXE0`>MQ7a7y/vڵ3R,zj*c7`eB۶Ga9}'*#տl˶pJхR- zU;󝪉u4mb8@}2~a    SWN;P'% N;Twu۷ÏAUSjvew8 @u(~"Ίt,*ȥ|aWT 뤜P̷lnk֬qݺutR /Ї˶zk^njۨ袋iyqa Y&R *( *:iln^HNcF5%I0ԴQ|g_>M!b 1n_' ^~UUK!}ݷDG4lo0IO qAL B3VeSۣ5eJkz/g) z:K[ [ۣn7ne z]|*մiSPZ%WiT*… 0vj܅3ժUݶ[@@@@1:.0襮ԩNSkŊiI?8[@ ߨC"A/=–i 0w.Ó_0~e[¥-3 zap|^ʪAؼz2*Xe ˜Ɲzn~2UQ.SSuPdVd@-< C)A/U"@nYg^UKVZAj $K^u7V,A08SZ'9 ^BM9QQ Z9~ t'[ؽc2襪sᄏEᮻ˩:vx]]j\& z;mytMظ2^a +\v~Ӹ[owm8 S-Bw]ZW8E~@@@@ A<5wdNK؂^:ٚ꠯H]r::(+oղMG PoTPYѠ:j Bd|ENȞtI~1 ]zy-2 zu:ўlTu˰A/UЗM-%e˖dyݾiF5!@Ԕ./bᡇkǹW½-ZW ;^A/~߀1StBNX^U|7}~j\R& \h2'OR*Uf+ ;BZ_j*>mu9Z&|N zi=~On3@@@@J *iHP'…mA/W!٪jA~uSjX c= :/ᅬd3U&LOxdƌi'խ֙gUͺ ב-E+&TcB7*T7.qO{z zѣB$NK{Νs9~ge[ve2uXޠ+X.uOz4@M z3&h#<+̑G駿5\Sb^Us<dH2^ +HpIZl(إnᒿlzjb z?w<6w\vf2^`}r-(Ucbu mgUw{/ɠW}uZy; ּJ} [}īM_u?,R[n m z]}dw-]()ĥmg}|+4~)d׍rO|yA⿷u1EVvЫi@@@@20N'J% z9ҩd4i[:1Ou5w+Ukx^@*(~"OP۩׃>Ir^:Tͪ&ѴiSߪB y+DyN~5L'>Z{T+zBɿoz-T\VUiӦMƮ鹏-PS^zf\=Vv)̥~+TUnAw**L-^]p>,qE5zVA/}Fs1~VBj[ou|_ե߯NAX馛JY2URw|~_yW0DdMA0L@?GgVRw [xaTQIuJ ;[NU`ww9MBM%f :VjժX{z2JgdKߟNr-Q2%_yX? ~{'3`.æ0*ek J~n…E?l/U{֍g    @,@+N(PZgC=_]̺뮋N^a352_m;}t7x`*:tW˳Zl4iBːE+PFE z}i]_N\\:q6 z}n=TqJFtRQMUJVh6h#?dU4QZԶӺsTLU(Ɗ^ y̘1SNz*b&uO(jҋ:+cXJ ciGw[u|׿)͜9өRmV>Nݦk0O?M +vږ<8͛7lq+kkڵv~N:ɩ‘e+Wiw o\oZUM2TK%mlGv{MBuyife]Vӫ5\b.N:FT*/+)(58蠃܈#lWڮpZ[&W(QA<%_wѰIɧε^K]n]衇粒袋vJtݖ-    @v^mjBr2 ^A.uбcx>_vA f  z4mnrg2n@ rQBm^jRٚRW;j}Ut7t޲AV'-uR2N@K\M0;\A/mĨ% /|٪<"@HUmm~PTkɒ%>W ޼y|E"[t6lXlu(}~NCQu#KYOM}I MJ6Ϝ9s|P]E'J}WIyY͵|)4`_UN"Tκg9뻚h1^PSSeubz@@@@<ʣV) scO) ! ,MBd- QD*lYR$[ ![3}y̝{ܹ}z;s9s|χ:*[~]ڐةR\@bgm'G}t{N[o(_1+B5v[aAT<gŽsY^) p,%CX uqG`h)M@+ /pnY8늣ًS$,J4)C.aկ~ud1&u4%Qo~E,t^s`) .7|U{veKqEC*^#L$5vGpGpGpGpG 'z ܖ" Av^tEe:B$?qlV9]X [fe#oGpf7bV:ERDHXO.u]VrKQRXMF!XMbr\s5F&iXNQ^đ.#03p(Gυ#8#8#8#8#8@=UY-E38 E`RF]W]uUAdUV˃u?#'z<~GpGpGpGpGp6pWhOP\m)'O#8@oζ^kfAOϭ\ 8#0n5GpGpGpGpGpD^m=Aq H<#8LJV:&z]veC=TQB^{YqG #8#8#8#8#8d D(Sٖ"y#8#A`R6k$:#08k ɓ8#8#8#8#8#Nj ʙP[𙅚pًmӉ^[;@8ѫ]=6GpGpGpGpGp"D?mcoK>m9#mӉ^}Uw88k`ܣ#8#8#8#8#8"D ,6ܖ"x#8G`RD9ppGpGpGpGpGpلfSiWW;uG`pEV6U“8#P7jNGpGpGpGpGpZC^A=Yp'U/<#08kܚ)wGxa{GpGpGpGpGpq#Dq4-id9C^i[ی@!Gpf)o҂l;#ޛ]zS/ȖZj)#0i\tEك>ؕ^8[k+~;_{'=Iu;GpGpG8kW췥pWY sGpE^Vlyh#8B`RNS(ld#83y7ql(CV^M cͶv)#&?pvwNr9̖\r)S ,/zEO8 o'?yOyS^3<|͗tG`#@;cs5l.#<2%1O}Sy  rs1x#0]pt)i w˘nf!qWfӟ6t";/c",կ.W|_;yի^=OrZ@G?Q^ .`f˷= G`Z"DNjmZVO#8@LJaַZW =0\c5TLVmv}ѭIwܑir--^p5d7xc#[|sD(g$4[nɮ?OZ{ߜ}ٳL Křgg>K/{fna.dvȰ=sV_}J D_ͺ2,-B]Wv=ӞC 1H2GW}'rXٷ/u疷RwRBe䵮TR'Ae436hdRgl\腢-ּUۈ5l9oO|b{[8f>gK rʕH)lf k*d[dwjZD~.tM9߆k]v0Q&s={|%{ޗENid,lv攰aq6_J]A3c=r:6hm {W>nH8aǠq^kM* 'zU3ߵИ$:묌(:kdz DˡmR&ŏ:CPQLɳuG`"0 9ѫ~ Y K(7>:a'ظGMq;,ы0P3V`(\veZke5rujH^(%.>dwD,:%-zTq26춉^>`g V&d<ُ"{^r׼&':y^E?(d65M-6e3獹1sdmVNXbUR}v 0}tD:(B7m)4Ib8N;\f8y{^p x[8 )8k $`#D+@[0խ ר;o8tD` psW1e045:(O/| őRR,e"j d aAb geǑQڴ%2iRT+l(<8Ҏ?w/eD/X'zre '>UDNK@/9Wj7H?HgM^[꤉7Pa%`rE4Q6ӟtaBm\iL j cwѼW|,+>#D_Nj ~_c[:r,CA 7ld\D(^v[6a^yS841cc$pA3BSf8No%-M?a׾61ɱڥʰ 9d~,RDk$u4wN j[ q iWYX||8k|{'z=^.mo'z uGY& NjܛMe|i%z1ff2(#͓F!u]?<L>6"v.B -dpW}P۴bg%Ƿ+u#Gl֢%^VR(~kRmo{[Ow5Y H>KϫD*t6-0&ۑTqG".'zMrvet뭷fK/ts9+P;z~l9r笿aba as.X8rr⋳S Oz{4Bc8u6$#t(uqMxGuuרpRh^w_MtYYmղ[l ,{1R"7,Em%'&z>aЉ}c7,%͜1A + ;v҈u]U0ҽw7X3/\nzSsf6vRvfvYmElԀ g_*^D/F۶oы>‚]߇M̠u:SV!zaaYԺ#eθJ(:̙O|m-2o. k\D/|V(^b^vZ}/Q1FMm8a mN \X[E G~*mo|͋v6Si_hvXogŘ08fqY0~fZǠ3>]GͺB?G}՘g~aAXpk,"!"ZJq>-85}P\> v-O猙g>skZ-2z53<,ضf,E0F>#Y;eoKƏΩX?x,L|D· a$RޣK 9mgkt=oQ@ z':Cy0CwV];#|3ysBQ[}O?R["`o[A76†1~s.ÆO=Q=wSEHxʓ6PQ‹#57WLœ8`|NY/րRe\ɹ*񢋡ym{?Rw;FǝSIM㜷(oM^g7 Jskq8S F-a,t!܆EN nIMPH ;9Ũav:F'mWPvBRXhN ]PuBmTtL>,=c w܄NXdONu׏K!aA(֯#LmUmmP7$,u¤pa1[)A|үc4~G?*]נ*gQVO_~Aa9ŭ}@7S:d`95⏽M;%xiIW tK7plY'(azΕt%.̳G)6۔{P\8G@;;R>imJ[aNq}aq|JpѡiS5 (Ƨ@ *S۲+3o-(M{aƑ{n6$lR)^Z m灹ޥ0yD~(9܄M05`l:\S}KuƎ + .|l^(נLy͟|XJY`H"utw r)nR=;LSNbW}\g WY8-{YD'f`=ӑlecN#(Kݥ^$L #u6L~Qt]{'c ?AQS]Uㄺaɝzf hW=9H]S 0X$mB*>/eolΡP.g}vN %+5/6% oQ8\1o_6DQ K4|/E:PUsYȠ=1F/ ¦{;g7 1h}iP\rIQqwUC3go{ MKjF }" ucMIie:檴3(C#upxB`?7>jIW\7.Tuqழuu^fLEE/v  ]XB`X |VZ|b7E//%a q`Q 1b^a@˿+M;[x5#,(tb׶d%% Āb3Cm~㏝Tarew좱7b N M™Vp)u[z.Y@nIEK=I}I$a$IN]WvICAv쮰B<;;p S.R]baP,LܺJ|ZWإ'؁Pw.#LmU;|rk,z V0y$Xa`qݣX#!)K@1}vч,,e솥,IO®~4k>XeĮo+XfhyXw[ rsNjaM8A?<MYEg/^X֔XBca IA`a̰}Kuv){gaX{a>V$AN`qz0A=gؖ°qYb][5gJ۾]}/WXE3L- &X[zܪ}gF__M rV\is"6l[8e+_J8Rkh\ͭw+z =E./*H6 K~wXEh[l0C-" sXשƹ|}fߪw|Xwu|^N놺Aa>2?Kq(u=(s+kSIO*ag3ʩ':,ai91TP/Lű5v^;KazHyK8∌v&a8-z6ih7ioɿ$Ug1%Yy })"|Cnko:,cv}cn8h;AXò3O#63GvN`-z)-g6)s&ޱcXE_X}7 5'aVp\u&()Hk ~1Zˢ.2;41W%,ki1,psWݽ.6^ٌ!YGh9o!6M^wg:eӨ0qq 0*wgM6ɭe>40h/O kKaJk/^@&ꄆ$E-X]vi c',Rģ811X ‚aHއCvvPl. ouE/U0la+r b֒ KXW֢ac9>,vBG\i 6(ɿ_ߓ2Li~V1lLgXX+v۝. l_׋!j/&=vM]XrG~i_eIŏHS  JΎ@^+ޅEC;#0oTba)maE/ꠐ*܄.쐳cPzώxV:J3Fڽ0+ L ҠkPlv9a~Ց/ƕX*yPun:h#ʨIaǻf,m:i+mY,z:EPů|۱;qx@;C<,Gk~~,ɏZ,^Uml7߯Vredg~^ǮtŁ|+MՙAxJ%LYTbX Gމj ;wiP^> c Cݲ36 aLzʔ+fSx䦄qۯB=c)^V3@*8c>ﵗQs@25y諱. $YWx~swҖ^ )]۱- c)uΙ(KDAyoD wM7zrfϸOye-l,c'n}K&%7j^6o`.Ere+:c+ (ሼ"^{cǑe)NM~eh7H;º+l{0D} G}=`NcE_Ir@Tn\r $=z:b9^km|֢y`9M7MUΝf=EBݦ>>Se5;8RLA- {t#ĭ*˙ Y|.D/SJ#?+\0%/ %rqW7I(ràC;FzL!X9WKHɰ{m;cUa¶D/s]'6䒡frMi~V1lL&Zx : iyX=GAZ"z?ȶ)a/76ĆCT-#86r1XEo)G˱d.ыvUid[g[l3ԷkÆ)Lʎ]KăMwq^i{ K*k:5 ۆ+eW啫[KʡEm?q:.:k7AkЃ,RXG*5!7JP`Ϯ/$>}g^Z<AX.'k_EGՆmzL>&7Gm DxJSv^ʷ* &H] UD/-3.Gү+xCqZ4H9#0h(˷]-X IqLbA2cK+,?2u"3D,ы}j?a%K]KIٰU[7݅ym[YXWEIbE&uR4F)Hc4FR. K{eCR٘i$HU:놭o,%n 5f=>qU*RDU=$2E {PԉpDFN"_YXɭ'Xc[qs;Ϋ1;LXҢ]c\"ťҚR *RŦRL3-M#k/%%cf 7VT#]o^pt?.?NjbEXUt3GT}+c:IYr*ܠȴIc^W _KoYCv̋R]Jmת߰DX; ߡ„`gRgRfl~,rߠ2XJa^-+öσ|+㌁4؟"D[Ku+ʰ} 6^ꌝufy,,6[mրkLWk@B^icv}#o>H;A6϶=ӕm^)l#/3,}Z܆c U|/ZװQ%zY6 S6W^D~pIik-olre2kǦ;ѫiDgHxm)4X e߇U)أLtK=N!VC_3⑥*Π`_e/VR`X'6ttp-#zQNqxVfM%zIiKgOn2_{j6mRU}3!c]:vQ+}LƱnc'wvY{&=9\g8$#fQQGUS~竍_\!?X Z2XWʪY?a%KH.])G6a n-9HHB͊%ztAUqo*ipK@U8:qai#W{ A*P #ߕ%zQw$_vLj*mv :n 6!vWoѱV^F")UAJܮQ8j)rӨ-%ߕZ)%e]U$Xy\P-[Pvs%}ݫ%zAF%z 2Wk#*^*kjCz_*=NS}V㘷4ap:kTNxm)4DSEX}MKi{늎=~7o +qD"Gu(|cκgADB\g±]%zrcwbR[ưh3NngK+^XJ5/腕0.ҲcV0pID~ cb],e!Lu]wu@]բ?qk.ыoU~7WU! Z Iո%W)G>nbsYdw%zٶZ }KuƒOzD;/K@+KebeVw\D/+\GB|Rg}(U֕V…Ⱥ0PxƖCꦱ;Wgx,,=oQQ!=[<ZڲwI@q=3NAn!&@r^IQYR-٤qUiw,e vU =4&~UTiSr֘B16yH pKˮGv%%?żBy"Kj\יa{ʻE0!^xoq8R.]hN:uVn%zK?OLM:[Afv5L;M2Ti&V]l➀xQZ#Uc~g"׼i܇M]ZtLD!ЖBUD/!,BJD"?C q-#(xd fcb{ơguD/rm _J+=23O{Y)/vPpTn&vaS!zqa}Kչn&4pԝP[ưG:h3S&q,iQUR\k=Ю9n&,zb'+-ֵΤqu#488v^Ȳ;D/kyjuo7ֻiΣMHu]1}Nőzf^)Y]~l>QfXŪ_7gyfQj&6(TF5K]D!؏h95u i;O JW)z{}($Zb%ZQXrl'>d4xǘeI`[:~IZe;icG,RM'0Jոy֝HC1I"zߌcPu^vNd& }Kup=vΒ/!T}OJE"zYp6 B|XRg}Uehsr֝کr0V:#<6WFذJKܺ {zgh;Ɯ;x|/DK0- }(w|F(\!ӯo|\pA׷3Ñ屬cx3Xne63&oՒdX9OҎFu7nK[{(^TYV[)ϖ0MoKj Maf磴 V]hN(uצ^|"Rvǩ֊\^ˮE7AYzYgAp&ѹ뛭:6y&q 㸲2{;ѫ)$gX8m)4,Xˈ:~zz,,D?@V2}nw߽ lGY8z5tqWn!zAPg|eqf1 yD/'edu7V1l>ƝNvE7vB]u^XPU R6^([cbEJp#8F`c0{MLǭ0VnJ ?,e }I tYg t zdN^J9 XUu^UߎRL8V؅I#zq0Rr_ ),B5%V+cPC*6^XW}EyۦX˶e$,J_LJM -CyV{ZEd[K@b,P0y6U0 1rwmWWU~H⍉u^v,VN6Yg[FQgDZ/K4Inc)rX+IPd+ʻH3u[ˆu-Ymu6& ~}Dn*X` XeaKE"~}VX#wKG2F;֕Dv/mf^$"C_bJ|-Tc%i/>MqګhCv c)[E5>_$}eUI=}aJxmwr2lXa +=[׹/x8glWVg)[ߌk!Y^uCqֽ^]v}C[i'ȻOEя4Ez uk]l=iD/6A= {"eXaK;w $Ì]j=gNjV[ u'J'mqqDJՆ;pb)I\rgn }-H1Q+[c\ybAag)8,֪g#|LaA[6&zA;2?D+ERD!eT K @16Xs2⌑U.֒a6IB)BeJbbJ KOM=ʏ^G=ʥV_U:ȿA-F?{kNe.weIkKIMJfS_J*s !zGY\Vq+feA$Kሶ]Dأql{μ-%vS퍕&MKeumzdeLSppGWUUmW6gKs7H ĸY{+˜kҦU@ˋ2Ee|: y\ )VyM]mtt$]mlA1HYLXa:H+>jݪg(J+c^6_󞸾=DKٵT] bbOsߪxY{f"zqA/ʈUȸl0lLuͰl?]:ũq6SV/3th7hZ֊u3轵8eOT} 0G"zٓzml>Lы< ӯΠJQԯ2}缅<4ǕaW;'z5 -˖腵)&xi 6(:?Xzo]C8sc @M8ew0һ:dndR5^Yg /_ Qe]:s)`_-wyJ\3 6]W':0ꮪ~c|N&IjYN ry-."]/[8XJQ¤D}KXȳ$6d\Gp& *LPXh+>8&zI);mc6,v9 1ȼrc-S~x2 wqwӁ\ˤ*&n;%w*z)"x6bыtڅq6bs5IZ[GQĕf)IS ef~vwy~[ (ʾWodЃ*Ri1oL,DZWKQX2-#MWk6 Ǧ-&zYkd6JE7K&^i˙: iJ甛ϰ!z9O$g-MIزN_TݤLhSb׺,ebs* doEi/U0oTkEb+["Png=:{VvtkU{1ʯ mU^Q]uѺq36!?udÏs $%ƏĎq{ĬVRpD<5!nK+x G"pu:WMSztMv;";V췁Uw75RX5+7T}{ J 2u2r, Qܯ5>=؂&eq"zٵKH$n5>?3tؾEث~6ZBb6;{w\g[ nQuqt$C}o .{ڶ g_BcыիxnCێN,C\I k^֢wswY5(si SZ\D_&㜷&p}s?&q/+;ѫ)$gX8m)4-ы G?,=vg/ap%wX]0tMctDt"zA%`]?v:ف9d(^8_"k&LxΔ |&#\1L3Ҫ02I 3宰<ȯWe7ⴻi5ag`N:Ț¶*HW(gBx>,+&4& b/Š9&W%X4\I/,Ɋ)k)+] Y|wqG`hߨ†ET۪^SD/ovaɺˈ^7GT](^_T+ $oS 4n P>{4xN8VaSoD/c:kmu^RaY-rL7)deEh_EVP񕶛2i۷4]gDv^D/T՟LIe$]cesK(]H OyI}Wazhqo)uo~Qh*JdžOMX{_e^k({ Mś"Tg<1CaAU\!FHlx!%(tX[жZ!ِdPWjUw{j]͆=mu Ju&Ndj76>`iV^`j7ʏcSS !wXJ[0lC|q]v\vE"^&Tf9.3#ZSWz7;kg,ìon} /X7el&zy>kc4t6^/~SsUtu`"z]0^YzU#0^WvUXr]mrlRqؼX?CcW\klFA ` v7Tm Ha6h{wΚ`o֯^2L.QwOmtR4 w̏"W l'Ҷ=d!sk7fi4XHc"Dߎ#LG70`GaEZoh]Y;sLq {N2E 2!d([vEqsE1"" eU ;6`(ƒxR2L EqkeJ|@۲م/K]hOu,EvWw];Sa4tHEeޕq=U 8u,><[=馛`]8RDbP6X lZVUl ❞X7>2FS_lbJI|ܦ?cwHRFH93[zY"J?y@PP~Qu8§ڴ1񝲾| %Bn[L3-MZo|UR a,e-%>SeMxUu4_ |3֪eJYX3شQ!HqOjLުS>/eʦ{,(-\=a?VLBu_VߊSF N{Z[Ew31NVĦSi酻Cz/׭I4WvdбaG)>~cLpR/a ҧrmӕvaL~8?c-; ů{ ۷<C8d?S2T@gc.#€:Ɋ%4HvmW u 6n{OCJ;=Rw!we$vh6D~檌תHn9X1iTJQ:[-`9Î=MBpq߁`a$dp09̞ԧf+R"$هa3 Y^: l9N,E( k6\s5( d e9s dlW&4YX,tYQ(* $,UVɖ[n.|BgINt ׾ ,2{ֳ-2o#$xsxܣaSZ?c@fIs2 D_jޗ7ɿy֎k˴3O}/? "OZ 6grKdnw7 c<)foךTnC ,w=T7 1(OmズOg|з8\s˙u[|-ä !w0W O)׶{;svGǪf묳Δ4y6m;mݦމ^em)4ʈ^~:uӃD,.#8qDb#8d"d[SN qG`!PF Vmve3 tʠD/V/`)0E]=#EnkR2ņg6O#(!|6 0D,Xr9#P )(NhQxŻq_i0}80s=pdu`U+[g# qovtM X Gpᦃ`)Xu|{˰X]zWm+?g;{38onKDUӇD`cp'z=H[[vGLߘrk*Nj IpGpf#Hyv %, XOHѾN;T?#8!D/ IRh8+ ?tGq8mo8#0 &R'zM8#8"D ,4O#뮥r!3?b-Sdws̑'#HO~V=lݢ~K_Z˟;rfo;Nx=M>X`&o7gg}v,K2Ma9#8#8#8#N5;˽g]"w8#`~cRimV ȍ78;ӻuWω^Ӳx3;U#GpGpGpGpG 'zU3MG,.Ϻ#8I7&%(p5SkX=G`#0M74BГo/e;C'$UVYeE(;pd7)ª0,sq֙oxwuW袋 &O8 YaFv$\y9w&K^\QŌ*s\A7Gq(!W89眓/vql%(B帨_y9y'? k.J?yC7M9o/5\=C҇{'<*B=4y^mղ5\3[pc]o 7?@^.8I;E?E;g뮻n="GpGpGpGp@Xtq \Gp:LJv:wL|L X:$DU[AYqGNyσSO=p(wl:I{ޅ:I@Jk uwSZoۅ{}X&H8ƫxpoڪ6gl喝@3B9׼MWP6wpoo.N5pG` 0)F+\QP疯8 O>;p 3;묳@d*~/crKX<@{_Z@vin+ dg We~UW]5[ntx;#)^z+nR!!Xz3G-ܒz]G\To_N>l6c,w~7;c>QZ•tXp{dԧ0VT.6,Ͱdҗ  l( Y"SN9% Jylє/-D?><瞹 k"XB,~Kz%ԯ}G?#/^ Drzii~oaE" ׿,FX=yOW;e[o5#mֆ eĜ[Z4ۖwa%o3i!lK,\n ,`~ }ߢ袋2,?b)׿/f3@VYQ=mƚ3<3hrvX.uΝvmY 5 l?@NKm.pl&}œ$%o(Pg,؅yԂeIX)G1үPww)mV/|x5ҏPz}(cO.BA87|s׾6GPrw|;{Eߜ'ux+qGpGpGpGp2bg&qzͤ3Gp1 0)F G<ovYV(tY"U a^+ֱ؊a& ?yGA1 =Ȋu/$yձV6xU.;8 Q;XںKw>h'(hgM,z)@E?i'(|[]VN(,k k\ '@(q/QX֢\%@“jay.Dr?󟻬Q%3:Njtʿ_@FYU>}UW=+L' )n'e5;Ұ.fۣ~V9kJڱޤn]?h]@*Ӧ+ 5Eea3x `ӂeJQ }z?sTc2lQ]?')7<~GpGpGpGpp^ae*aTGpmsVʰZY\RnY :?+s9~uYPyq J,( X2EsWvq~H㮻Z\vmsKQ82:묓 G/f'tR̟ccX~o-zXb-Ra 7 .uȂ8EeY ?d ʼn'[QXW\qEa6?K+ݖ[nkb){oniXrE@oPXb,lb& yQ?,=Yʟٺ?Y1՜@-_@FXzV`2;gK/W,a B+Bޖ` ]^{erH/~Ӿ^ XZb%w`v V\q"́ԕзla!a kJۿVh/}It~.~ӷac jy-Cͭ5~Y/c˜~HaDzEZ9wFXc./,T_o,vbv6:qin^DvAA߰IM[P_7M\E;,Hn=r)g[U4z^:8:C{aM8ƺK-T^)#YKpGpGpGpG aaV 0v =#&h3A!YXp `*v:?/ ?e"p{V.$mYJY"/JS8VQIB<(ȋ.k+]Wk*N?⢴An^upoW^%@D:n#edKy GTvX d0EuFZIYwS6H1Yr Ĕ"Z8;:6@DsQGK tYTw8~ڨ؟m/±uS,AD.֢n/K8+ D3%lk06?DHCiRU 6d[Ԕ)&`Ry<.>@82< "LUoNp &p]XÆ2[O_~wX%Xެk+QzX~lVEed^a{GpGpGpGpG@8KH JpGVLJ1tp kV+ hFpT,_r{n,hWXbSOGYK*;qD/7ѭJ8K0LǪ0NBk"z{책?,)3\|ѝ~f}_#7z_A∻~g}vi%zwqEb㨺G,ZVRѷ /rc~~E/zQ*g;<'B1e2(k#H~<^%b㨺\VAR|#{!zY=v<|SDֿGN8#8#8#8#8 DaЛ~BcYsG`~cDw9t8NO LX[<[o* i!ztAEm8RHJo$B*{Gu]1W[op"RuZ=XRVnRD .H'>^T=D,A^S:z[@ܑ#0&o/i0Q!@LOxwg͟KSM]E1Kg?L-ccTOrꩧ +XEVUV/!z/hL{3nW_\q/۰2,ы駟^$gvȟ;b8#8#8#8# Ao  gpG`R҉w78(%8P(s=)onPE+)"ˬأ z꫕Ԯ+Vfvq+OI&zYWٱ(zlH,~Gr'ǡ&E曋,AS+(gwuQ\I=ֱMo1#VO6!.3DUh&^',)(fI6/o TRcxK8JOBAɚ*U6s\Ma/LK/s-("M3"ʼnr] [ihI&zŖruY1Iց|3,{Qo..+`)2uQ \bd( k+3̦~O3?TyoBnLG7*K,)TmnUDN8˶qxmZ[l׾Z)i+`ĶUe~]D2"WU}׾*IЋ5L}Ty7Ju:ϐ9V&oD/Kv,#A#8#8#8#8# 'zBh YZmGp&I7L_(`ܴD,=Ї>UVa-7"1Q@8)qWY>-qJD/s|+7c$7Vtb9ӺBvmMbw:bnqQ pYǣ?zO]I@~.]B% *w^p^o;D"%B'C=qh[iO~b_V -nzoXsZ;`麿袋 q]kuZc7q+)[{nʍoV'ַbDEJw,ʇu^q?9'q&z_+_lpGpGpGpG'z 43uϡ#8m{yᇧ%\eE[>Cq+wVAG"Oo,oŦ,ؼp (E<8S^xEX+ܔ5276:֖:"•Uۼ)ʄj/?)F!Z#5F$W\1ǬO|X {. vQK =묳r}qy"m; 7UD/kvUqs=Sq +>31ы8!GH>}9J _ȶ RB~J&An2 Ͷ .v% n!ΑOEΐTyk1؜zꫯ_V!zy]v) E{0|G="L|U2NVnZdwyg+f+r+A GEe/x=/[hʰw]ʖ\rl.u GI8p]tE[.[c59昣&} 2 U4"$Q2%]ʔH)J%BE4}EQ׳xλ9{^{;g}'bߎc L2y> ŋF*Vg`2v[>&kMF#g϶Ϭ}v&A8∌N ļ tsN }r1gUVb*&@/رclW^bh ~Y0XdM и%&Mu2MV,7NYe:&X,鼪s֡C1YRg&0J9־}{y7N21ٴʂ&`Jrbz /;=1kӟ,Z6  M=1}}U+ 7ҥm9,"w}bVyL7\y:&&`˖L2dI<14]v-!    PmFsh "~z *UH- ՖF @X "6lIlל9s䨣}f G?;ROsn%F     Ы@\S9_h [ӭwf9M ib,U4B7m0KY*P̒r6pVZli( >hr/f FL4HyfUwzWi_70ʕ+m- kذhYX3f3gfXJ@@@@ ˱Tw Lq@ W\7\gGxn r~ɖ5n 0o5^zS| i1]9Sǹy.G]O    ^%=BÁA @\7\g 9-ÿagԿ뮻xP ]V,̙BG@@@@R 蕒'wOF=OFyÕ~f h Po+4Hl[Z5YlYF'     PT*B#KB$ʼJ?4L\@ YoY N:JÆ 2v@@@@@ri2W 6B@yÕ~f+# Y!0.\P.]*e˖C9D4i"Kv=    ^9=/4p@ ^yÕ~ S P%=@@@@@ L&B#_(++, ?@$&X.     P( ŖB#ǘ'DSyÕ~p-@ 0oގ     /@WfB#+@2&ʼJ?36p@ FJN"    dX@ r;pe' W WQ      a +LF 2oO."9!C"    Pe|Yo.ʼJ?]? -2<     ze8SFrA@ \7\gV,< +F$[Z *n2]E wm&vUoe˖ˇjP3    Pz|V?䚀++̵E*ʼ1{liݺe|饗 /̓Β^{Mׯ/Wγ>@py睲xbٲe^xAu7ۿ]ʘ1c;Jٳ 2,Bߌ    @ T\B|/ @++@\7>#9c-S~N?t6mԩSG꫒"}͛''OZj77]ӟD[X4PTzC{B_0 }3"   ! +TRs  3Z#@pe(LDz=3rWWiҥҬYzo ~pBķro^g{\n],Zaټ^zeD    X@.9_9?P !pep!V伀+FaVX!?TPAZhcMWq?e~iF1ءtz͙3Gv%իW oW+    8$@CɮF&M @rW W\3 pe "ﷂ@Qׯڵkۋ_A1_-^E~$A@@@l +F1 ixt. PW WY!  @6oh&M$gϖ;vH۶mϖ?C=X+K/.\R|bkK.+-/e̘1Ϸy&O,cǎvŊiӦrWQG\"L2E4ϢEdÆ ra.mc=]^O>]~qΝҨQ#]v>;fӦM={p 'xs1a|n߾]>Cy?Jʕ+'͛78 us;#GMCrgJ2e^dz_`,[L ew%xy[nꫲxbk^jUNٺukZOh5~xy뭷d?H5콏?x9SqƦP߹aÆg}f˗//jղy)ᅲ{ο|RO>) OȖ-[lk͘7p@{I'E]cǎrGy̘1lܸQ4i"r\pϫs֬Y#FӭA˖-kzzi`.~h#8| ;;s>l=.Dף @@@J~l 6@#ʼJ?cN@ i5jTD?7|_n3Œ=گN:u֏-4:~{ݻ/QMJ$%FLVTY-&m<{s~Q=bskvkJk IzSN9%e?n善]>;6Y"&0a[ ^NKV ㏓K, J٦'Syyn /w;1YqN.X7zw_#ئ}~)x}虰]=%:(Dפ @@@F2zbCJ@$ʼJ?4eUG3Nyf ?ͪܒeҌP&Xʯj FIv4+ g9I4;flMiL@/@mݺU: m5ەef\K;"4c 7،OZQgyٔx޼y˿j֬i4CU+/gխq㎳4f2A>@[nlֶ>?խ[7gMz}͘mڴf^2LXsj}&O?zꩨ.s:֚]J3黣/&ܹ+Hi&*U\3(˜fkUަYX3sN0_3U"?{S͛7f:F#GA˺].cׯY~/b7FG3n%t,:&X*lr=6KTMV EU3K+Zn-,ygRs u^3i6o5*i2uu\Ͳf~Iiρ $)^~`₧Wϛ%[^C zfȈ o<#QezO&,?f2m~6zyeJ:    d2/r=g QyÕ~q a74RӦM- |?DHÆ m-O+FO?tU0 F IժUmfu dʕ Vl$p-,(.c &ݩ0[0Cfzj֬Ya.Sm1ЋܹSJ.__ǵF~˗,n~VZ3t+{`lV؆#F.knɯbdǚQjĉ\uUc… EiW$2z;Yիge> WG襛7xi ~`F/%6lJ*$f2r'G՛4i\sfׁf-UFt |    Y'@W i}"Nڵk'z}<^Fݻ#@4Hjժ{[%'SO=ՖR~}jXaLziI'$s̉.XbE[Y43n}̥=7ί6 V^;z}j4ۼD̜u~;m6Dm}ծ];i1N.) VҌS٪Akdb^uֵqƄ] q8b0Ы czwG%XˍC蕮qC    &>q ,6@#ʼJ?cN@ a0 H&ˏ_z%[hݳmLQ쩄&W_}5aBoc(=Yoo/̳~ C tTUdӊȮ]}uLW9d<:\~ɒ%ib,j~;U+U\vm{x.1<&k1Y"&L3i> Éu}!ML [ҪӧOC%g,:U}fYƤ;<lY=Qu@@@@, W'x0@ 3L@\üdcǎqàK]uU<#cZsϵŚIrt R~&`u! (>6dyent)ă>؞ӧ<#v? :TL>eСC~JӦMm&T}@E'ƍe2Ki5Ar2{l1Mbmf,wa KM}[߂}~f}* 5rV^ݾ&Kߏ;^gJ0{C     ze8Sx`w  @ 2o{Cx"@M0f͒N8& 袋_u襁N[n^c]N7 ~2Y ܯ;rHK^cϥc iݺ|q_DbrtJ*vU|qIV0sL9]ʘ1cU+ܹ+>:(NQ ~a馛%z)k}͛7zqmŊK z[ DY@/Mh,dƒIkQ|ԪUKFCaOƏJ@tK)N     dQv2°DI1>BH++Lpqy@| a0}Rn l i:aZQzӾ-\0~-lٲ`7|3Y"`m- .yO'W\'tYB}f~vmyh=IL.]_ߛr&((h=}σ[pH]23v`]L1AW".l%=-z%Ν;#&mo2ŵ 蒕}ؾ~An:u_}c 6leׄ].ҍjmn&#FĞNx칧Z1]vB@@@@ $ GH@HcqI@4 2o4 E(@X{0"\O8xoр``' 1>-F^dp m?l4IW>sڴi7o 05,һwo{{-t#ퟟ~)YB_r%s"&XDٽ]zP5^돽5۷o_~>N4)55H4KۚZqO;4)@: XfMdshdjcݻwbM6k׮nd؊j?nfǎ}5,+k,p-K%{}FG/φ7f;C#v3Y~xmLs\VquD@@@rAͿ: a^Q VW Wq_ @ e0rNj.זhFAItWSw-~;o"[fcǎQSKUz N}9 0;,0^qK,  }cQ%.;xG4f.5%u)Tg jӥu 1;?'&@on2Id;[psޱ-^8[:kK>aZ? tvF5Av:زeKyw=cҍ O0A=`ݿg+OVK6m֞.d@@@J\f .r= @I2oϒC /yCle?LD1P6kW>nܸ2|~>ᄌk>2eJ 4{ PIͰٟy睤,c_}wqGD3|4oa`=&*UB;wn]/5*ӥ@6gluQ@3y}}e͘e{7xcD%Ֆ*xu-kz޽5 Ίmkf8n~>c-8    9 @F/Ola/{F  @\7\gǘ>!(yC3-ZH~w>{SCm61A:jՒ8@ʕ+0ۉYN̒bd }nRlժURBiѢEL\4+>f*UTz_m5jۘ,*fF;f> ,(+Wu/eʔIVOe{ߊYOLm[J׵S]qs    @qUYx0~< 53k^ p\y     @ eZ\%u@pep @7?FCܞe }s=WxB!     J@T:9|/4rxyt@C@@40o5ԥ4hP^vYƎ[4D@@@@R J'F>ByÕ~bh 4?<塇*^xa@@@@H%@W*>9<<: PW WY!  @7Ҁ%@@@@@ -@W鲻!_hdt @q 2o P8¹ @@@@@ =zC pep _h+'C^yÕ~f "0o82Pt@@@@rd |QP1#-ʼJ?sm@0og, \`ڴik׮uԑC9$;Xl[;Kۋ~!   ^%?_hrX ZW Wځc @ 0o؀d@R➨k׮2f̘r-eqm&*T+@@@@ ze܉;D'@2o ,Ar\y#_@=S7on]vҿOCɔ)S칥Kʖ-[>^ (D@@@JD@aMB#cD@0 2o0-}ArYy#Gg/yɓ:VZq\kS +eСln8p= Ы@tTF@@@*@WZyݽ8_h;v( W WYc=@7M(A <\}նfj֬YASz    @ ᠄K|Q ;ӝ @v 0odt +Ʃ@W*!   n 渥|vbnd++̪A`pxz(*a Ыd;    ҡ ,DȠ++q+@a7^uOew^z_~aÆ?^ZlWG K[>˗ZjIӦM3ΐ#>S J$;EsY]4h \pV>j?t!%*U1cz衲qFyevs9.oeժUOw}>qтuɫ*/~UVc~gJ֭lذ^;1{l6m=ٳԮ];e?OsZСC9rTR%º6md42٦j󂬼:0خ];0#^77A@@@2"@WFݻIXpO#)ʼJ?s-@ e(jf,PvWc6E&L>裄ٕ4Ѹqls Zm֭+VD iP,O0襙4KnZ_i,_]v ұ4Ylf/ ѣm|:ulv'R9pt)l^8р]vـy^+W4{:if% Ҭ]ժUԿ^xhf/oJ:tӬj￿׿K.걺i3f i7߬UW_Y@t\u5k}/ Yf>{,Zn6SONh+^K3+k@7|cuk߾曉nyAV^^    E050q ,6@#ʼJ?cN@ e֭=_|7u]yA)1@wwۚꨑ718Q罃[nůMN7y ,\QeE9xᇣi2TE]'ϛGQ,SQ/wN,7Anquuu<'lcT]ֳ>1N~:_D_ > ({Oٱc=wW0|2痽K5 z2u>x0d 8 JoYliQyLЙM,wPXw _[,]4"fYG8َ ާ JV5m޽yd-La^9    !}caB16䬀++GB&y^|,\@5Y5:fDŽu^@5ނPXiPɒxΜ9~djGLy0o\Lf^~zСC;]駟Fk`d;<زz뚥F^dZ }ڵM湄og}_9!   `F/nlaY$g QyÕ~q a7t}'vK.D,*UsHM$}m=]jpر~ .h.wUW缝ҍ>p ީ}+M- N1l -ZO|v>]R7J;<2[p AfQbj)uyG.yf.1K(.-ةS'1l}.hW^^NCjMʕ+g_޸@*~ .K6k,x:n{rVZu{.=}iī\XwNʗ/].=tiP6uULn&SL_n?&0Ѷ%C+TPTF@@@H^quaByHW W# ^ ,FQ-[&fY(oJ;8$Ժu`ʕ+堃i{{,n0k֬YҶm۸:] 1chT6rHKm)SCQU-Z$fF1c4,[,#UNUJR`oYIjYѯz{3j([>i$1ժU׭[W6Pt&ȕ߭I&bLX^w=nڴIwߨ3Eqҥe>e*]vrQGٟz¾CWG!    Ыf9",_h6d++̂WG@B ,F0j M5Ele ֙:uW>`׬HuG{7MZf͚Qe&o; Zz%wA0Kb~'N|YfPzi & fҬR% p ]ve2|pR)?5N3I\iБ}v76 m#Fu^{59묳ƍZjv_3{3x~myez bl=.hבG)Ϸm)SL ?裔^q4],iDZvډN@P A@@@E@ba̾ @pepT {a7 fJ;wɓ'E4Sp,F\p_4{ll_%XWc' VZ5E? 裏+"nJuۺuv_4hh{i-/'?^ h)'4즛n8 PCqƢ^ke˖u|4SOz^ʕ+NՂvq^eݺuПiӦOYŋVQ'Ct@W    $@W1AfeF< @ 2ol}Ox.@5.1ۮ] ް>.)ǩٞt@( 6 Ȫ^=(o@|A>K:KܼV~?SrڢwyGN88}v_N@mΜ9ҪU+[,0Gwi믿7 ҇iڴY4WQz?nob V=}tLt~Y4 M¼y+J:thz 7mm۶I  Ԟ    i0>!'`aC@ ?3?AH@X>}D? ?fY6lnŝOU/Dr~n޹:uDo{:ǷrG@vETD1ٱ*O?_n2kϯc}bu,]oӿ@:'x=gnM_ofyD[nn?|g}f,_,%L_˳~ qOv`|y?TϏKU=-缾@__i *p{    G@sY@Xpݑ#"ʼJ?s9@ ex `@/ #QYb0b2xEr<ж7bdm/cwl+@/ Ѡ7ϦA9jm'N]^rj_^glv?i&izg;uѾ[ Ji,^yD3gΌ8x8#];U|坏 6,SN̟??uV;k֬?>ĩ6I[ο:jp… {_[0kM:5?j6l%6#lzo}m 򲩙J8k0nP /D˗_~i%@dR#   DV6Ć@Z{|Gs @"W WȘ2@ ihժ̙3'!B^LxQb2E YxS2c 9sĝ-HO z U6-Gy$"MLv,1|Q:y'ʂ]v_|@/1ׂ*j[:d_&lZ1;lٲe<] <餓C t-㬳β&c@2ߠA{ t?>z1Iǎ>zҟ;,i^z0`7 Dh;L8nu_l4o.a`U'aCS^^{Si&,}0IQ2myf{YM3vowuW>LpWϱM5oi߾}ܵtmƍ˜=fTeE5+XMyuMvC"wWs]4-e7π3-@@@@ [@Q 6W W? @ mصkʹdl5jȡ*eʔo|J* ڱ06nIڵ5LPK^&M6lh`͛7Ok/WbD6m*z     RB:0%-( [ӭѧ @ 0o؎?^,XPf,"ЫЄ4D@@@@ ҁ)nFIGpepn>EWy]|̟?>y'{챇D@@@@@ W 1_h$v@ ++LL) @72-@@@@@R J'F>ByÕ~bh 4rI@@@@@B Uhn=< PLJ!NypnB@@@@H^qu| @F\7\gF!$`HJ @@@@@ Ы]%_h0J++ @ 7r{yz@@@@@ lzmDB@ @W WȰM@ 7~y@@@@@@)u/42g͝@lpepN  @60od(      @=cYO@pepY #2ol߾]6m^ti]v\9      +Rʖ/4J 9"ʼJ?s1@ d˼1qDԩSB;vHr kaRlz)C k7     Pz;iv\0[Ȏ)@ 2o8=DrC [ɓ'Kǎˁ^=z{.sQ    d^8LF1Pp @|2o|S@ :o_AYA2"q @@@@@*&lL~m apepaW@z͙3Gv%իW k#    @ C]G/4 b@]@ 2oS@ :o1     @ `߲ $ @V 2oϬ~Yx8@!cǎ/B{okdܸq;ܹs堃VZ_,+WΗnA.]*o%\"UVСCeR~}ԩSy-X`m۶:KԩcG O?tiԨ=Kuٲe"I'W,YD^{5{xWo&SN3gիE:t$4iX?1q{GZ>gV3|\~~ .Q7%;9lbϏ=Zw[l.;K/$^xa\= zg{aNU]{>[b;<0a_][.Lz-[ʼyϞ=kmٲ%WCɍ7W_}%ճWk ۴i#~l@@@@@ z5./4g@rAyÕ~;3".e<=Ni믿.Ϸ4;֚5klٲ^Մ zCrh0 nFH\$˻_i1 K͚5øϒD"ϼ,hکnݺIӦM姟~]fͲ4CYpߥnݺ~`ga+Wξ#N  } 6YnХb`f ӱ`C@@@@ ~c'/4ģ @ 2o|xd@ a7^`E?墋.^|EҥKJLzkNOn[^[Z!YWÔ*U4K3i1o馛O>;Y^/?͛76lշ3f}ʔ)Qx≶Lh|7fM n#F.i@_[J*U8F@@@@4ldXKW W ψ y#Ts=mŷn:olYe 2駟i[?0 ٩n %/ǎk7߈fAӭwcy>3ټjԨgZ|4i$_ Բk׮A첕Ɩk0/pK3M:5.өuv9ĉs     +}N_9,_h8H@pep9 @2oVX!7s;c壏>$jTפIl eذarWu~tz%Lt]J2Y~uަAWe+]ۆ VZ:uVqgh?5Yڵ}``ۦMd}>rWc @@@@2#@WfKXp#9*ʼJ?s5@ ezm۶M*Tgu%[Rz z'믷}O>~'L *ҍi&R63f%5*,in{zꚾ'_4 ' GqmV{o\Ϋ*{-/ܯdH֭[bŊ9v@@@@@ z٫ g8 c3^@X`Wl]]wnIM:>{~mٲE?xywmJիg (     PdL٩S!'ʼJ? @72ov)Kի <ؖ^ZׯW+TWpYYf,R^ω'K婈L2E>l[' 7w\0a̟??W_-O?tTw3j6/43.K޽mٌ3䤓N     +3%,_h8G@pep9 @2o{g};<̣'4S,M^`ׯ**UN}9R.R[CGydT?Cʕ+gb?ϲO=\{=^]|O>#dV\)?&M^s̑VZs;wcv@/nkv뭷J߾}bܶmWNYj/_t_d4osdҥҬY3E̘[.H^|E{iU[$>H=بS?TP!ifkF b۬XB7n;wCMߙ^x{ٽ@@@@@ zeۙ g( 3_'@X`\}rmI*Ud̙rgfvJ6lZjyreI׮]@@[J͚5e˖-#SN/ȰaDy[ltyG}T_|!]w](K%[ڵf 8p`h-'8|p J-AE3%{rIz}Rn]h4h :.wm-W^ ҌcХNbŊʹild-lݺuxG]y.Ɇ     +N1,_h8E'@ĕyÕ~J!C ,F0KX%;idKjy.{w٦MYxS`)]O~=3Q 2{a@/ jKֻFs֬YҶm[[z>+b_~}IA^ym4g0P0Q}ee.ҕl     y2oXt@@/@/U&ouYٞSO=e7ڟ0a<2~-jɿ;vH޽o^^~e3ΐSz>5Ԙ1c2z㏗ٹ:i[Fp?i,Kj1 $mɒ%Ҽy󸦚1+k .@ƍ7ͦ[Ҙ-靟;wͶ|&4kl8 0@nffckذ  ܄#@IDAT  dN@Y;u|ErXyÕ~ģ#˼ ڸq5/eٲerإ '|"K:J*UTveڶ#GK/뵛6mZkJ[j{~'[f3i;]nFR^=%@@@@@=8,_hda  @\7\g @XD^!H0S.ILl     JaB#@W WȰM@ 2oK?|5?ޖ.=8j(      JBHX`,@pepn:D_ ,^҂ժUVZIʕe2|%Zv]R/`@@@@@ N@8 T ,_h0 n2oO7F^"/y#[1v9R5k4e     O ,_hG!YyÕ~y Ka7fΜ)_}ry97۷o1Ѳeモ;vHÆ qҲeK)[sD@@@@@ Ы$gXp."W WK p@@@@@x FB @2o$#dXy#@@@@@ ^)yr$_h @a\7\gaƀ6 /Q\@@@@@z.[FV/++, `(@@@@@$@W`],_h>Ȭ++q7@dd(G@@@@( JB݁{D@ 2o -]ArZy#G@@@@B'@W$ p@\pep;D]y#GC@@@@ ˭XoB#c W W/dFqn&*T!     PMB#GgC_yÕ~qE@0oF-mڵk'ӧOի3{s    dX@ r;pe' W WQ ydɶ뮓jժEW(Lz;V.]*+V[o["    "z$ ,"$pepI)FȰF43<#W_}-Ԡf͚EW(Lz]p2n8s=e%@@@@ Ћw _h$@ ++LL! @7 "+@@@@2-@FL;r?pd& W Wa @ 0oDzFp     +܏/4(DyÕ~dX a7ƌ#_~z衲qFyevs9.oeժUrGw-O±۶m˲h"gΝrGH֭E&,UTT 6k{gϖiӦÞ={JڵSOc9&L֬Y#o̝;W֮]+}4jH7o.v}q^dǎ2rH3g,\P>`i۶tM:v(ӧOի?hϚ5[_F 9Cғ;wJ*ŵ{͘1/?s_\veRV-~n߾]>C1Ҷ_}+W>>g!TDz oSݻ{|"    @ C]G /u@JVyÕ~hrw@O I'$ץO .z4hKb7 `:tTUTO͛7O:(8H߾}=:ϠN:ـ+lڴ}Gqڷo/D^հaøv&MĉqbyGwTYCl[ݺu믿Nl={gyf:z⩧k֯ӲeKѱaC@@@@ +<_O/4Q*!ByÕ~bP azx6׸qF/4Sn,)jɒ%H3oɓeҥ)9J3P 8kf+ YNw4`I4GH3XtARND˒,x㎓>נ0dD^+WLi=lt-ZjZnz~ʔ)ޡ+~V޽ro뮓;իW}{sh2e'|"!4Kک}GB    9+@W}{Y@0 2o0-}ArY ٟ{5\#C C3l0+ 4e/ޥH_iṇf].RYJ4. h{grzNÚ5kZT.z` V?γfz4#q6mj.+j^X@/CY=#r7_n*.mi:7oSh@,. ٪U+<6.zŊp    @ 蕻cFr@ T3TKg@üzi3g஫/\PZhaJ.m˞~i? KE~\4h|!~aIvΝkmi ӧ_K./c Tk۶NwƎ% 􊪜@ʖ-khS&E JzNsN^>;    ^9 ${F) @\7\gǘ>!(y % ǏoA3vuZJL^R<Ϟ{v_,RZپO]q͚5)3V5K[odޚLz45mT>S LsB*U ڵk͈fܹ]^1ґ^_?mKʕ+9@@@@@@%H(/4vB@P 2oP2BrP u%ؠ!uYgٸqxKr3cy2|[Wʔ)cSG[ׄ ]=5sU͚5f>ֻwoy/"{キ?7ްi9sH@/]R3umٲ%فvI&|rR"yG%.^͇?a7?$"n"z̋.Al9tIᄏ-э}}q@n  D"@ D"@ OYi/lhR D4eh]-L&N ^7~i2˸<7?23n`_7.rmfp"=#w^{җ~fĉ-@Zi<)$zM0;օчx`Kxm,$zB/H\ k}ӟDGa:(K]k~v/GJ\r%[vacni8 |G?j>7D"@ D"@ D H{w_+0oKa i-rfyun =` xB3n뭷Nj#?"@ D"@ D"@2 +64+7 D4ehMԙ"0q[oevygsWfS A:ӣ栃jyeI;I&! \p7ܻk1n2K/df̘IѣG~89s#E=[G>i !D"@ D"@ Dd @W@q/lh Vo"@@hʸ=X3 D` " Ʀn@97|/1bs_yc=fp,3D8Ŋ;p饗vG22I3#13ӧOwp$ȫ/f_ l6jԨcs+Q#qc,ꎺ>|x"@ D"@ D"` ^QF4t$D4eh "@@-pܨFFB D"@ D"@ 5!@WM@h1J!DtMѳ؉ D /7"ED"@ D"@ D"(70 nh4Ш2 D4eh],J&M   "@ D"@ D"@@ ѫEЛ pC7˅Z"@zMѳW˙z"@7[3D"@ D"@ DFD.i Aτ D)FSld%DǍX D"@ D"@ D$"0hʸ=^ a DF3ˍZ"@ D"@ D"@*$z Ԓ/nhT  MsUf"гp٢bD"@ D"@ DA^س3 l"@@Sƍ?dyG DF7gD"@ D"@ D""@W;@ Ehʸ=`OD"98nt[L D"@ D"@  ѫ8f"74E13Dhʸ=k+FD Q >&D"@ D"@ D ѫf@Jt(%|"@MѳJ"@@7s"@ D"@ D"@OHO74TXT"4eh=PT"@,7X  D"@ D"@ D ѫJtFU!D4MѳEN ?s9СCK D'|_K,{#dذa! C_7wyu[dϞ=ۼmI`1bD{0XgP?)D m-+~>'D4Wk.3|59+ԝ $zLQ"6D^G)FS~DǍRgQ6tS_,fE?hA3 t;4'coƍ 2,iӦu]o ?!u4FY}衇 6!뭷#ݠNJ߶J+[,?=9r_[~o3'NL^-x~,w}ͩچ?q3y6w9`.zG?QZ &cǺS(^{?i(@RVYe"zw`K,/S{`袋9Zk26y8`/yxzIf͚ef̘TZ}{I=BG!D"M3C GF1f EC9 㳟l]iD6~xoKXh:.:YWrױ1{%\zޒMKnPbrg{?w^ "|I&E|:Yku>~} _p[e?ֽ$csVyu5N87s {_KMLJHØJ_^sL襧~Wik4qLeN?>ot-,)9VEVq򞍺[$n/?U-q[3׭ʏ7YQ! D 74bЍ"@hʸ=p; D/7oGଳ<@S?K6=swruD/ʴF3d/KK$zQdؼ}C}!z?3RО@Zis;rԁ|#]!cM$z K7*{R1_mڈ_?ހO3Ϭ%E8I}syG/1׈^>w(DIF;C#Ȑ^!] D4ehI ]BFg-X2f=tneXc_G7ʱIe~u#2n~W/~tqgE1cOrW^yew1=-Bb}olL[Kc9{8?֢u]=%#p1c8gqk='v WK.z[K48.kСc A߀,+:窨%76|s3dkuo9}Ϲ_}XD/]6"}N_{D/ꫯju:v/c:^:q]v1^x7ޣ>w FLjGI4Ú)"@M7@ D` qc bPחu"A^u{qѢWIѣ{Gib|Ԧ-zAR?OXAa dC@ʪa7:HB2: g ,z#xszJ[錥(׋-)v%Dz=yD]^~:9Gn^EZoo_~D Ҏ\oDŽ.D"@Sƍ虌4"@@"Kƌ3/K3uTc b 6ǘR|ꩧK,aoxb-rx7M/;es饗7lg>czkvO}JJ_)C3gz,fVp_2# ,7/ /_65\T?s54=4is96l?O >f:D9sך?[l1g9_lomzm-r=',7-]yh7W3(#ԙ7F2'N;WY~ä<뮻\=CE=zj.,G+0_}|veq7n\~أwmPFX3h/v|l : ψC:ȳN\ 7`9_7h#;Ç%[{ wdŘG}\s5xicC1뮻n^ڡj*sכoݵ7X0'?i`E}QE/ٳg%H͠_=om.6m_BӲ.OvmOJoARKd7Pqcf/jȑ?K8?c< 7̰aÒ1,a dM\8CXr +* @9s衇^o+zFa-2K>E[Oy`|袋\0OƸ",6V7袷onOSnb-RUκ 0.:n.+0؇U Ch3E.bK}iL["XI/sVЇ %{?Y}nf[o5ˎ:sK6VvaO[•{ArG<y ^sc-ܢ{v|͟0alE9*-Bñ5;ý ,.:X}VuL22؏ &bniUWus!Ls]-UgoDODcRW; uvy}{77G@bnv s9-1瓱 ]߄:x;W(ܷrKgS !0zA+dA`L;2޻h$߸G@/u-+k3-HWWD.>̩)Rx?Eߌ z_$I_.@犅g oe:c @{ hQP@r :"@@ M7g |D @vehvG*:vAͅ}vcO,q͚x,O[TQ^KBj '?,9,1-Nѫ]H[%'E϶gv1:Lg[Z2\[v2jĿ>)=b?D0>K~qڍҶV˺o:,2q XO?%%(#-UʼpG,y=HV}j4#ڿݜelLƚTID4dк> ~-19OҵyDhuXBC?[h7,'1< $߿ϒoq%DSU%fǼ87'}'1<%GqBKWKrb%tFxjj@:mG}dă2s,uF?cdc=\- +5̓іDBIU~WKdiۉ?Mn~{}K`5u<2Ys3OcG?zy^$WQzgbh?2mM-5:/w%lxEYM?]ϖXgH,uшs8y#GV/d_޵l1~>Yqdm[{K|ŸwL6- m:Yx+EJ}=}eϱ~/I,)? ~˘{,ٹ-0^xcbɉc&@loDiG\o׎.D"k4ehVԇ"0Xq7:5"|h|9 E`f1U>2삪 kٜ&\]tE |oI. |e|}A|] freM"n:'/{aa =,'Y9蠃$X_kc-H;[: ~ݤ13Yڒj_DKW|ab &NáLaI  ?K.X-U댶xΆU7,z ea/[pEx`(e;wX2s`ܽ|)4X XƲd?NRAd/WI ,R u8,P鯬y/Ꮌh"+kcN]q-kGq  cXAߨ_,Rݨp^a@,P!'HCv}PZ- eLYyn71 w,Y;jCo`e1s9`L},`+t?ѯZ,9]b2QQ0>6!c;,D,MWoy8aF_ K i TT]WX"eÜ@[%Ku-˜r)5z;ڍD7p؛&<1 v+h#"xZNXRՂ~ Tцq}?!"9u(̑ e IEg Eꌌowt4~.p=w#er|#m`,&(ݿ߀XV_XA*cE,>u1g=q8G %P#}gm.`xG7cm 5o <򈟯7d6ki\1W\>~vikUt`5 =1?Bݵ0ׇa jEu@*3Xi`xr=~ xwwysGw3HiA,ѫms7` !/#P^xKH0pzE&mWP[=Ŝc/ܿoZu]'ڮE8D5XBz N}\^b*_- -_xg:XT@7{Џɻ/LNXC=zAhżdf?s94FѨd#+_{ƙ  DB)FS,U D #+&| ]pv85a=Òosc좟w t>=nLXn̢]ᓾע/F["fXҖϋ=ù2`]"xhG>lx9/‹NJ2eO_j vEou/am࠭-~`h7Ӽ%XG)RUwG_SGuX{TGENnZ{ݏі0[BGl\DH9ZYSOmI}ڤ-1GD`Z~[!j#XZWj??_aD[{7ڢA] 缈֧t_Pט^f <%X{IC(|h `V8EK tΖ,)F\u:o -Ѿ$^躉i+KSaaH[_T!c:D? jN1ƒZs6eEVe+YwPa\EqE^- ɽ`%uYBxiZoxڢ]w1.O%ͷ5$),qgGuߓ6M4o}JvWN;>_}̇j(&bI 0 q_g W臼uP=u!z._azeC @ ]A)FSJ!2Q"@hC)^hMۈ 8!KX+_XM "X,+"zGkG(AO/KqOZ_7{?XL6LtiuZ z/u0wM3[lC-@2 #D_WZ|x& !mAW-W/HgQ2aٸpie&Х RȤؼ?]tn}čSe@qCke^({jM†l_B?$U^l`-$%uG`3K3tf`KHuUtEPıEѫnݡYD=. 0Cl\X J y6cOR?U!ur_HFꐲD/BQ>vC-ꐼczѹ?t2ƈ1:VZo"Rw1VFMA2hRn'๵PyD/%_4nm)ᠱI?"eJ;Yդ*s ۂn^ɇ\>7$II$uP)q㊏'DOOH*DxMo}!zzul\]O.Mu:No-G'BrLe Д ljVbbq`1QҢw,|Q7w{dIkz@6!a}@D[߸;`?X=cn3|6r/"-z^] fȫ#a% >6DئYRpmߺ!| y)Za> 'M@ܒD?z>.`NGMG)EC龤?^'tRT,Gl5~V1ǻڭJ[C$bu5()$+ZC4 B\by6VδqQ`l\#@pNZF~V]|&U'EP2uFpA2D4;1DXqcL/:o?>M0Aq]2GqYRF|8T2,_j^&zd .ǁ|j>i$%jJ[CE^(~F]?}o uHj[_1B&w ^꺂\})L{Zb:#"n$lrOLtcǎ^d d ,l'U%z$m}[묯wG}J&]o0a>*tðIcgu IW"$!7)5Kaz"D"Дq)zv08 DxzeЛj 9lO6,Yłm馛2@NbD/TY]K"D/}T*_JΟS$I u_Ҋi:abؤ7'W_H#'/ T+6$}ʡ3fؗ9l%u w,^ `O̪ WHOOJϺk+&iJ>cs)_|l+ϋY8!~1KvYDDEYC UHQW]27I#.eFh%;1p앹t@iuE*ѫL\: +.TM*r4al2'9A>쑦+$̈}-?#&>]uL&z%Y}[ i -R&xI`e!"D]wUt,s\%EZpxQ_BRR9):(uPwhW9ق^ eK"^JVIý*ѫL'o}!z~LlM2n^icd]g胱Zk̩)D3Cn2=@lhD# DM7g0"D RzaD*,vimV'y6{5Rܰ# oIVp.e3- >ޱ?^&ҰghBy>Jv%N\uֻ>(6jrŘ7^8zg}>_QPEw<z\L&Zl\1 Ҡԙ<[/^t-SvEg~:7u|e]!iWl[kc̹[:}5_{SNu [U2$kxd&zɓ8Cb x#!="TUikH+|qƤ?xXrܤ,^xBy%A$-Ϲ2R{I} ]K H0߈G鹱RkDX(4)$38CGr?IjU8$VUkɠY_4acZ8klc:ȩxwkґu͟9ߒ&,CS@ ѫ%!{aCCYcD"2n4E$D¸B,M ߢ Y2R8EEE<"lV0XB._ uFO"P +"RXIVȿ4OK~%fٳEM^#H~y-5i6a#/&Z^{thIuQUGW;znqU&3IN8<~FX/'++ 6?:.M[Be^:y7VzR8I\c~ljIGޫlܧEWYQMa_2D/$_1)CsL/:yǮܤIz~2λiא`^+&>$qq-^Osc2ϲH\!mF:_m2<Ӥs$,^zL?&6QTu3ح#ePDo:@Uד3gF E,q!z9H ,`P"rY"aϚckH6(zdEM;vlTE!7 {ŏnY2fTik[-YDn;f\z]g)<--RY3}%\- *UgW}xx$륗^jSǫs}3\c|bZ4+(Ia{?iU8ݏjT)%şY_nj1N,I04M/M،g52e3"0 k b $D!Дq)zv- DD bl1 G'<Lc c2 8RQbXGɗ#zOLGǟfB/>"X I[/cSƍ误'_zNˋZYRΜtI>0 E[ 7`#qd1?:=!>a3-f4yHFjW/HE\ސb-XӦM{e#z鍊ClK9! 80e@9'Ӣ2}} "aOrLkfkQkbORؓO>$ct_<@zN4/rh irU$ؙDD+KLj.LK]=T2ƪ.SRכḈ4l>S>a, 8'X7ñY4EEgѣJHNy Ǥ Kݘ|c$xLZӤRt<@DWhU[%C>Br a>5|wdU"-BB&QEyUE[^"襉P;e1k?x*-|1AԖA~2aGVkK!ihݤI]5 %oȓH?Cw]73IdZ2F:e4:+>ʒ9fU` Ew7/ `{k-u͟ØP@@DPC/lht ["@:@Sƍ١bbD"P^7Wذװ q,cAncAMph,bQ XLԦ.j ˂-Y,&c8xlqX!+jі7&2?.x֋GqDlX*!I~5 wy|##LHzB5W)R6A@|hI2q&}_PoPG l,m6ƬUeuX`Eyk # 7qۼuXD/MI# 傾 } .Tlc\#,X.3G@@cHzib(ۘ{ a &e^UuG?$ø7ɭѫHKKY#O3M@N ,a#Ū ([d1K41 a+[iRZg[4 m*,WMA?L%@hhwi(tL"%ئuUI(!D23CRR'/P$;MB\˺hèۚ- Izn,ϸikU뮻cQgqL5[X# Ls_FV;shM 4s_BDviF6=GD kB 5?Hz܉! a,z뭷\ouaAD;GCz`,}?0WooǤL'TuWMbU6|Ԇw(Ycǵ.$,cc(PUB{HY'd @WSJ ~2#D 4ehA DFzeg},d8@ $t4 sG<\X}ӮiD/HR1U 6XꫯN ]YP"z=qis_xEc!Yu'_Ʋ [X6yگcc!:R>N-{EG=Ӯ1WsH mEE)W V(B8 ApNӿU^:}zlca2)MDI}XT$<ף:E e2 ^qQo&YqA4 8M0}; ,)?W3uՄVM8 8fOK޾$)CB\uu p ġ4)?kg#H~2$z "}Hb@]?t+:NG1kNO߇D:{KΜK-D)ZFeEG' 2c?`L!z;4$za79 ײ,^cF㤞TuW!55{h$>~.ӢD/ą|."0P kd  DC4eh*&FK q_x)Y+6 EfL lH| @/8E0/? V x>2EWbτ`; 2Xp RX -Ir"-XGA~ô[@^bVm°KE"MGyd:SF v c*`'I:묖:ېK [u[ p=ZJWZ(s_p:`F?PY҆](8F &aHCzE7J6ӿ:qdؑ?y)G_Q`U#&6͢0/` ٠rEH#V>j(mӯ;!o:Tc,Wݡg:I;v?~|[@^$5 /َq=MvJ\D\U /pđ^/8c 0y$O\G&F=A/Me-q\',o .^c#Kxϡ1|+Ih$xȒc.pM h1R}tL)֤]Poyq%$p |]gUd5!n ,&uϱPocEI~.o|ƬIcƌ~c^<(z^:qN_%?}CA+lj~U{O?.q((OM2C [֘'usod2X YYYaZM(i# `(t^{w D"C)FSaL7"@zmܰ裏eVYeJ+9昣_Z1Cud~دͷ>vq%[{$Yb%̲.kb_@sҋ2aBfrj:On~aWΨwC ɥ7v̜9ӕQ̼Λ+lUOvA9յZ >jnkX"A>W\3+3xWru~5טm֩mIPZ,b\X*3*{f%<`,_`|_X+h މQK/yNu&Na|P{L"e͹?ڥe;Xcgxƒz7A1gBn nk 6l3cd5sWޘS]]g?rsH%WX"{KRqIuͻxW_"g7\|'oذaYǸzjltz'2fX ݻƃ>=Xc 7IJ%ǖ$fl O0#FH .=W_,-~zG^(sgcRdSO=թ8eFLt :m# fI Ms" 8nd9c쑍Σ=lف"^A#t&l{J@1r",R9M f#1Mq}sG\'Lotj>ȫ ̀RkisUtbD"4 UDѫHvTܺ7/]!V꺩&#@W10ʑ DM7g!Dt8nτ śoo 鏣J+ǀDCǎ;b8JO'"KXq`8V/qMrGifN?tw䟨 G^I* FH<"0 khMFM@2"@ A)FS$Ն$D<7--ELუͶzc"@z}rt`̭f/a@cۣ>Ϛ.,='8 Qc=xfND 7^UX;͊+zD^-ՋՋB  ѫ^774MQ3DZhʸ=k)FB .y衇 1.g6#G4+3B Uƚ"@n!tf2/|a%tVss9û 2/YtE1 ob^D!<8zhNF2m4W _Ͱa  O> "08f*abl6jH"HjJIg D4eh T"0`1`!D"@ D"@ D HX&Q?"0hʸ=r]aވ MBFJ"@ D"@ D"@>$z 2.Cnh MsV$f"cp:D"@ D"@ DA^$eIН"@b4eh1F Ǎǜ)"@ D"@ D"@@2$z%c3pCcP?3O(@SƍY"@:ǍH D"@ D"@ D$$zn@/a"P/M7g؈ D,7"pD"@ D"@ D" H Nnh Bd @SƍُEǤ D ) D"@ D"@ D;$z;H('jI2n4E^)WAp~ ={yW:t1bD@qc|MX 2ddhs9Aԏ0~"c9K/:<歷 B -d6i(b>:@նA5 D6;=(DC_r(  DS)d/74^T"4eh\|L"@ฑL?:SOmKGZpͨQ➔olLbV[m5C'0a;vKubȑO )\s5fm 2<}&+y䧿?0~]&<D3ZkU 8m4.2ۻؿ\y啎#-Is_7DVYe"ϞVmk {=0guVˀt,/o ӧD\[= @^{53l0W=`>XtN8k,3c W_ >y qJ{̆n8k>;Aնx ߸1CK)D w}"@ȃ@Sƍs!D#qge?K 3-CqSNͥylIM4œ¹Zr[~(%|_{]K\)> CNΜ9Rd:ϰDL, /mdՙw٧m ?U{}|\rIj|_W_%HT,Η1zUZ,3f-A"Gb,3~-1P::ꨣb0ѭƏϖ,QCl}}E8I sω*~}%Pw4|^I& ޷V[yNY>)bUw[]}WLn1=[նR_+ѻUunht}MhM7gj5&D L8n^p&?3<3u9x<RiХ#[$nwk!ױx@TW^֒os,LW-JgDu^'jOնw )los ѫ9eկrC_fbD#Дq)z6B0DǍ+HzLhoa(}7ZGm?׿ "?O}O٣_MֵO$z3SE_|TXi+Rg)HBM2\|I﫴5СGSO_"z Vt݆{$/} }#R3E.IJtݨ p*뢋.m3E^ sZJghڸCjDm5Vv1GD/h D E)FSllEDǍ+PzLht͚N:-(^m{zZd$A NW:S7ѫ$zA+߬Yrw>G !szJ[錥(W+%g?iǒ;} ES:@D"}\gr?V ǻ˻,"|;X$(R3UlZX ^{["@@ M31݈ Da=.tۯ[b-Vꫯ_lmp]wi b8c7\pկ~efΜiXb я~^feǕW^ά*̘1ԩ.ެJZp0*V[<?ty3 ?H OÎ;L097y Ƹ[nE{W [n:t+;à 3ou|etd)ǘwg뀱qB[ou -Ƞ_/~P`nKO~nlUu>8}Qs5`\eT7|3 YiӦv`mE#,ĉ]:]}|WkY,Bnn>uu_ߌ3mbIOh̤I̯kr<;hsXp\vek?1CaX$E8!;0wbqvW>nܸEJ}#?{4:oυx^awe1p~wo>s_sUxׂX¥9CC/XFPz%;GyĽ;nhIf P*ej?Ts#G`.v$2<{Kq? Оfןcx?\tEc,$N7FB$߰PDkEx@{<+BЇe^'$L[-:4ˌ-L};a^Ok|{sk=r{s'c"s*ޑ<޷,0>0C0KGI>ΛlŢ6z$t D2n4E"@}}v1 m GQq]c賛upƜy~7yұƦݒ*Khm> 皷`qe{j7 ozV;I-̒ҽvC%~KvlcNu̟[?t:9 /X"qﺧ~O+∸N lZ{Nis̸hxYrz3KڊB{/R4l1oA؋/MOIP3KjK D[fs: jٹ]t,p-S_1 eN,ޏ14:ø;)OZϐ|p -jFlI_5D!YpC#  D M3f:"@@?#qF^ƒ,`d\E4<@zSXuZ<__%k$zb~g;8葤mb~A>bzAtR'bXڡW^A:3}: =蠃pZbM V,\8#Id ֪Kqa3u(UUP,ʢ,'tO>nJX,;H,?8e\~ч$\ӈ^H[â^Vs ,)C>8 z3u5^y^RfܱݓzD/lJ}Gy8!e^z3iHx'I2ވOڐf<ҢR,ZnjxmjXn-aFX]tEZg ߐ1 & @N E((E0PG_Z#umEec E53בpLVU~cn&ibKdlw5azoA~ʌzI)skc]Zlq1>wJ:cB- \;ʎOİ,V̅$2c-S_5 "VGS' J?b] sPs3bd=>Rc6(BpCcP33I MѳaDD"P !za>hG2E ۩cm-֏`ۨ!FGt@#z$F|I/?SIRKo6UgV`eb#$ѡOܱz06eiM:{\[["z&F2\Q}D"Eqō */a=+6~D`Eo\Oѫh[u=QwWm,)C>8 z3Q\5Oѫ&($a\ H@cURjn0 .tPI4{vUH?ϸ8eolD[Ghż%I= 9c%\Lt:=$ĒBዎ钎\5CpCfahX 6q`9Co^'IH,sH 71wLЎCPHP{9YrW_Og&qU^D3LnDg\7X1V|1VVӎD2}+A[묯@A0EЪ-z$D/MhAY$Yk@ùG?(uu=f1PUmz#:9x~Ct*rK GRvRE-ZE!Kڸ(D/HqVӦOq@H@rԂ8ėD@aW(LU-5wq .K*D}\C^g}-C>8@|rF9$cDž*giI XMG;Nm 5 4>GR6暱>2Oܺ}E!J*#NOuL"o4Hڸ3E< 1N7vwLF?[5cl|HYWM ȇzZw'&D4 &oUVy ./.p m^9ƪ=ad;AK7ܱp*x%mv^uH8a_#uM7L6$︖]ǁ{l͍q_a"Dt=nʗ(5,m%(UvUW96Ҥ ѫL 䭛p|gL1@3gl^1 mOtۤ|+6D츨~-oh˒"3HGy-86L&z$cǶxDcJ[xD״ B)Kbðs׻#$+3L2X\yg=c#>&?&$q9 7MN_C.X VQg4I飰1cx㎤~ $4i' Nu>N[Ui}^g}-Kޢے\1L"#o.>i@! ϳG?K0 [l.c>yV= _4iY Oڸ(D/#E`Yc.GO,.~^Ck:FfhyTYĈ^u'$mUBvc%V_1SD]+{X}uz_\ki7hW^IUH8|TE<=^} z'xme  D40V腱ׅ[#DM:^*Q%ӧskYW/_n6jBNѫhK~RgPֱ:YہU'U^eL|/1Uh(lj]R/Ҏ2.jljk[!aF0ע3Š$@?ml(dm 4.Uښ%m¯D:FLW}܋{؉Gr Otl3=$%iIqA"u 8zh:D/g} -?W}ѫhI0KUטލ~Bעm\HҮclkru#QN/Jyu9HoUG+?;O?)[ ѫ`b%J 1 Ƌ4O%Ƿ<( D4m|dձ ,+xJMᤅX|) Lz@IDATsq׊zSDxiҙM,_/pz:mQ5` (q1c֑y@ ?d"9]Dž hM~zBE^q%\nfχfxD/}gWO֙^!z«YD><DZH_kqa_2VUEm= VE2KEע}\^~睏Y_8xoD/#A:##| ¼@@E/\vI{NC6.V%z]Ό?ױ؇CSvSލ~iUB:/O}JZH syg~$/G?N8ѷ$xR|toEDVpԩmQbQx :9pu:^o c+&p5I/%YDƖM# hbGyMqQ"yg# ;:&Q)C]ͻv,&Rg$z(_hIiKXt+[gz3D Ki}!.a̋c0OZPe\Ćl$c\2>ӤLE_5$si6c2nWciUik蚶 HJ+75HD±iWDI^{P'q%~-UϚt BK>Q{j=m:/Ī`>N*K*I5|Z-2K9㊣Bs rKToX}~XTƔ9sʔ)-V0S,L<+qHBxǼe/ŦGl"@@c dƊ Ƿ%Dt2u%}Bl6AwY$z7S76VWzNB9M# " _t:^eW?<mɓNc5IRY5Gua3'ӛIᦶ&z%Oߒ*czKD$>i~H_t]G<1m8iGb~w̙1/ Hȧ*~BJęD%+<TtjZb:Drd%J^c!$kR|ZNؿ&K،<9[k>Ny{UixoD/Yo1EYE7??_C, b{Jնٳ}Q+8n즙Yi]Xse&LG~XFfp?⮱G,ɣ+B~Zk]| L/{oG;q-MX—DM>N:+%l;U,#BZ~ޢے%zj Wf7~4Ғ~gG!%ǘ߾%6o VemNvQXc̕y_8JZ#w,qk Cڸ|X ?Ff-tQ'Ya|`ܸq~-Azlq}m?6/*SgtTrcz7 J[-;B"u-WuKVwuRڰ%AE]Ef3gC@|_{-X6lvj%C&SJ%<>MwZG xוwH_aH* `YEǧp"0 +@b\6- Ƿ&Dԋ@Dc%6Єr{T_(k6}>4Q] rXǢ,x!e8|pcx}0 W\qEG<¦Hk9`C rA)cƌEEjFছnU߶l!ZBrp(?]/B^v/*T M @h !!ҳgLNgf7;ߜcC<LJzKJy晪n[1᠃!Qa=x^PQ c/SO,TI +̧ C~3?s!!>8rsnL) Ek{*reEfjz%{NćIMfW\qE8?2 FIzF07MRy(|_͍ `}snNg^+^# vEA'bL4grɓva>|sbQVe C`Dۢs}VUQc7 M4IuZ z!du/}/}ȯP> K0XWPTE|0i{ZԿh{>ՒV7ݘ>8S;f =_4KO_kz=DW <W?g-(cFݲ7x#}Cy}|A/ӟG}V*(E|-=]gLRLYA@S^?zAb~t}}Andڗ3~f? % UFCрkz?mqsG QyK!qRW7BžO|hn/U[&,~FQ:[ !lGת(6ouz)zFXvOJEG^^?鵬rߩL-ThS?ﺩ}z+ئ svz1}&tAl{)oİdJ=7'}Pc[ a͞TR{РW1 g{}]ٿsڧEwv~2c s5QN"7@@@@ qzWS >z6r}'[y/Z;8q{~tZ .G7gr^+t4:[mQ7/=/DݨB=]t̶>5fc3WrK5t\_Sd}s=iAJdb~)ܩfWsT=`]s=:_-agOH4.y{FHLz{(S* JEegu6EjFz .>1K3=yp^ʝmԩ]nF5wIs=/zp]{HvA^5`}r 7j6܅ޥ?f%WY3gRדw汙]P1ۭJ7o޼H߬cpb{|3lӰk"I1Qt> usANΓ#wb^PGyo"OSe3 iGn)bS7"{wG3bԙٞgNX~(v(ghZԍb!S7l};s'V93t9/Ǝ@Ja@@@jU@Hu# tJn(tǍƐHˠ%K<;;֯_iU(%D?!ף&kKqS3n$hHfuu7ڃ_vr_" ^vTM[Ð̀ZWIJ~FuFiwSƤfo缆ʨc!@ObnJ׍ѓ<6CRL,|(sQJ dp7^{FQч:?B655}ףL8;sl]Kcᵓ=aʳ `46ʤnѠ?s8Mٖbgu>{Oō  DQ0Ѝ4d@[)} D/ړGJFB?DQ,FEI7MC:]7nTfn꬜w(Gj3_pc.(i7P+]Yvp#ekq+Z2SL/uu#ɶ?Vf.E& Fl2}~\ Y ?tX=݈t2mDżV?S?mf(G1nv} m}Tr|w~fvrݴsa ~WW?ڮ^ѥ}FalVB_\>S|(u(gp~[ ^{oO(؍r6-{1[~wf>Ív]pJ7v)Dn`FףX@@@@ ATy>~ 4OH~z2Ӄiv;fC{?tCQ,]i}X㧷4G.VBӥid.7|MSi:M-_h5 4([)Ur.=-O2iz@MTEmiz4s=׭Kݺhra(?ŔLnfnOi>>i4UrެSIz;;MWr{}c;S577V9RQFj\Kߟs'ԍ.x_zE{̵{zWzyO)4raSި|z4[tJ5E b-l„ =\=Kq/~>|x._aF̣cFS{Sf$L^~V3.*U8q~wQz=u=)h]`WMSzS1/|s[zRk5CW5k}B?uV+v}k]vMwZKfTֿ>}FޚN?|kݛӃWO~Qk5K!? eNҶ qpUq˖-+z齎wz?wG@@@2dP ?O'ymW_}ud/pS7_ލbtPѷRN:-n$o~S5{~ w4b3d 37Z%rUߟr5vgSa[ d z!^=97{\Rz{B=Zܨ2F|A }&ƷZ9  U!   @lPMY4ڄ?<,/]77͉㤓N{R{H;47??{r]N>daֈ 4)D67M}K_JRZ썺k$7]iwo?ꍞ=*@Ы-q=/1gnChTGcY?lz\J7MZ?c|=1}jo#Pu   5*@ЫFjX@7hhZhJM2dȐ)v4e.W}a*kZ|S]Ůb ~q˴i쓟dtS zŮI(PzŸq(E vi|P/iT =@GW%5A@@@^t'zj߿5wiO}q{E:믷Ç<$A :5Y(GP H+-C(@+B(~~g o#G,|ND^Ӗ@@@:fϞm h9m{x@@[[Bonnnޏկ_衱]L#xiߚ4kҤI-7C'ϷzȏXv{a}%z%KBiZO;^k:n <?g؞.OSm?4+   @ 6F         PeA        TAkSj        U&@Ы         @ 6F         PeA        TAkSj        U&@Ы         @ 6F         PeA        TAkӲhҥ[o٢Elʕ^El6rH7n 6,#/+Vڵk/%nMf8p1ߢK|=_g!      PAbj3fܹsk[om{< R(KR@0 Rj-_E7~=ƍ8@@@@@@\rɰ <pB>j(߿544x0:ZkkZ~W *x^{͖/_g6իM#AlQF)3p嫥ZWjףewa+      *DF #yƌ^Nt=g; WEk]{֬YcI+)f UgN@7|Or/=RRKO؝cQ*1қrE@@@@@@ U[jS+3ĕ7.Qa/wp~d,$_V\i/݄ yUx]wqG0`@Kг_zU꣓_J]_E{vZ=h@@@@@@: 0;Wf+2#`5@sE3|Μ9#s5}t_c/j&q^/:I/֢Z׫s-@@@@@@@`A E?g;cW|e%X#DW^uQ1_{9_=3Er%Rj4Zg!n-By@@@@@@ @+ e A/MW__߭W]ѭ y/O!c=@RI)g.j^P["@@@@@@ JP8qbWfKEP2TаKٳg:}ƢI N$h2VۡV]ƮTХi8 @@@@@@zxUy}+ :WllrݫPW!ХmZ/O!c=@RI)g.j^P["@@@@@@ JP4iR:^!U<]=k aB^! / oDRYVۡVL;ĭE(      @z%z!.d z)% $$:?pW]z] z=p^A|I N$a_C;n}v[P@@@@@@$JB+BA/_#{h!{e|EC+<AD5m6)vz;C8@@@@@@#E'*^k:^Q'* xE׳^7pWx AYfy1F'%8rv=j;jQiA@@@@@HA$R/1vm^QB+W|͜9דW⛻"HJp"lwrM_>hYjC۠~}l~ V_kE7k;qwkk}=W6׷Rݪn:Ժw[uqawj*4ꎭook Z1_1x      z)X d!0W+1zֻ (ĥ%]1zucKn'Xw>Yn6@[CS >m5F hWE+퐻wnO꽾^x׬V* qu:\\WJ@i/nfekwA/mhq׬^mҚ zp%@@@@@@#@+>m zEC^ѼB+Vqa2C^zR؋W1ES%OʹrmM9<ۆ4&N#GZss_7XR-Yޚ7֮[k[n7Ѷfܷ!aC>S}qwy osչVKxջW4YwER&L}~G[Ə^y!v8@@@@@@r}ԍ!}Q4}Ώ!p+^Qf̘gƠc>'Tu-6uƛ6mڞ{ml2@NKKKѸSo-OQɍ rFIēOڞ|vq5Wx$MHJp".\ni_>NMXP(ܔnS^nQA/ۥb^.^ o8u8^T@@@@@@ tnS Aɓ'{|0Vр ! zŪS8Xť_ns&YM b*VoѢEv[ !\'t{\ڡ52Wu@@@@@@FW4ei+BЫѫj^J8X+.`2ϟh컟'?a+WR},پMs?\:,_uc/.Pi8[A̶,Ħ_ojm)þd55}6t17zWc:kl]o7? zM־N#z5ڿ+*ݩ       U!&)A?O6k֬SN8wuW;ò+F^ԭk)%RΖ{;WgmVY13mss_{r۵n4vtU<:_/.Pi8[A^y.]:Cd}5}VFrӚl6nЮ= k>5 g@Ыҝ!      P!^Nm.x?p;묳 :zǹ`IJ9lu6nvǻm5I"\ l/Yf~=To}| ܤݶnSyHJ)hnOvz4r;iȩvZݟ|>XFm/AgcuoFn8y};*uz      DWL"nHJkGe;o1Ç۠A+F^~ٳgu]}g~ߴvکgU8X8NY/~+7:.vCmn>.UgfZ{ͷ7waO??0ont`*\iKũ> ~Di!5vَ?4{a{/[ۇz6bzWw1^ v) zMt}18CC@@@@@@\%&%蕏y~>ﰊ#Uqr{'s)ɍLbќ$%8rٝw\kﰣm:j544>W_}f]F b ^fmhϙcGL>Ў9֧9]#kYYq^Ϟe-[չ݈^'9ž܈^Sm駺>p#zY z;6san0G>5'njG8W{ D@@@@@@ +A5 AUεG۷rKq\`rvAFz֖}VZm+Wv ;#޳SElm96=vg'qb }qmrũ zř>WNz]/,7z`#.-nqiu6jX]w(ѫ#      zC=$UF"U>Zr,"tkåKle.UoFC5yoG|^r-cO\Cq^Sg>kWv z㆜hC{/޹_K4ׅ߶ge^qӡ o'cރW@@@@@@A7PoW z϶֯KHJ9ա~ʫl֬֯_l-Î>֭;|} Ʃޭ-m 'V4uGvZ#׭Uo٠϶[x~t^muAcٓW!s@@@@@@HA4Ro^-t#G œ$蕓E )*I)g:hFz?ۗO;Οo #FZKKMr}#6v^_-S8[ALƮ|*{22u1 e-8 R=} l{7'vFON zX/qjXCQ8@@@@@@""n׆kWڣJDRٝׯ~}]q6)?O쬳δ\׎v bZ=]*{zT!.A5X;oZݣlGjӈ^~}t7_V^?>frǭA E@@@@@@ )R.'A*m_9N|mrCt_[{=F=P;ꨣo߾Cb^m]8ջMYx=f55 u+3b;ڞ}돬mԍ_ ?dtv[-qS7Yl3#O3Ww!      4^Ik W z϶֯KHJ9աj;jgiA@@@@@HA$R/W z϶֯DRYVۡVL;ĭE(      @z%zʇNЫ|~'RjOZg!n-By@@@@@@ @+ e$U>t^峭+'%8rV{vzǭ?qkʃ      ^Ih^(#A*m_9)SC;nv[P@@@@@@$JB+B zWlkI N$ޟjjqϴCZ      $AWZHЫ|g[WNJp")TP["@@@@@@ JPF^C'U>ZrRI)gZmZw3<      I 蕄V2*:AHJ9?jcĈ+@IDAT;j֟iA@@@@@HA$R/W z϶֯DRYVۡVL;ĭE(      @z%zʇNЫ|~'RjOZg!n-By@@@@@@ @+ e$U>t^峭+'%8rV{vzǭ?qkʃ      ^Ih^(#A*m_9)SC;nv[P@@@@@@$JB+B zuuuP2TⰮGmkkK?j]g̘+wQGź|`IJ;$hVۡV]Tؕi8 @@@@@@zv]wCG544X}}qEu]9oRc;B+T;< V9s=#i|>}/{GWaoz_zu_JE+hϯWZ      ^,Xz-[x56|J;… mĈ6nܸXל͓Rj-_E{~Z= @@@@@@6`ZD`ҥ6uTev4]#M>4K/tذaúy9lʕ+k8Fl;qtw PnWjL@@@@@@,@Ы"aT/M6^aD/_4=g-F!È^ !~*$jFinnW)B/k׮Mh^A$*Rj%_Ew=_8 @@@@@@\rɰ <~:8=4YJ̰Ɨ>*5kԢio_0FGk|r_"__~F}StZ dǏ/{9Ky}իW*סa/      = =6Uj'i$L0RNvO`Ĉ6nܸݠW7ǥ_rT >W0'"      `A@|ѢEhT:6* `#GE}dŶb ? )2kTIB)oU[)ԢG3@@@@@@ U"         Udn        #@Ы=E@@@@@@@@* @Ы@@@@@@@@(FW1z        T@W         PAb8@@@@@@@@A s @@@@@@@@@^q.         P^@         @1\@@@@@@@@@*-@@@@@@@@@bzǹ         @zU[         *Fs@@@@@@@@@ 2@@@@@@@@@ U"         Udn        #@Ы=E@@@@@@@@* @Ы@@@@@@@@(FW1z@֭[gW6=\7O>֯_?؛e        <^k3J\˖-UVUiVT6x&@@@@@@@@,]֮][qX477۰abQ         6U.H^Uy^yp؅       zu Xn-Y7n>|'Ve0        ?^kJTCUC        IW' PYEYKKi~N U@ܭ,ښV^h#G,}(       TAiKj@{ϗxEyŊG3ȫq:       TAjoak"f*[hra@@@@@@@NW5)JA$VJޔ+"       PeW"$VHڿl\@@@@@@@ UuMJ$@'IU7       TAjmY>h/-F@@@@@@@zU]R$ IRkM"       *@ЫZ[z%BO"lF˅@@@@@@@:^UפT(I}Z/+_zS       @ ֖^ 蓈f*[!ira@@@@@@@NW5)JA$VJޔ+"       PeW"$VHڿl\@@@@@@@ UuMJ$@'IU7       TAjmY>h/-F@@@@@@@zU]R$ IRkM"       *@ЫZ[ZnM6lС{WகŜ9sl޼y|ח }gz̷[n6`|l2#       @/ H,Yb\rѣJrur?M>2e555<;JYrp =*ȑ#/q輤nTl=(B1+b^x/݉'h|,JZE(       MWhoR}AM6Į|7ްnVZ~{ac4uI'qjcQ!        e U60A۸AhkСv7-__׭_ʆ$Ԗ        z {,P׻ko͝;lر[7Zyѩ~mQlҤI[}>ekjjrLz32k:Cwyv6s̱ z]w6tawyd)!wyg]SOٺu|~>^zfϞm vɶ~mnxbΫj|3m~2}t]1TO6x`j%ӏꏯo 2ve_溺1Z)eL\@@@@@@@)@+품Rjii[o՞~vm_iteڵ_fΜ?WX3jooH2O~vauUAi.kNuWIۗ-[i1®l:wc/r?/<=Ed8PmМ^}u٠Aojl[]tM8VҗP[k^|.+>]W1z       @m .im z)uUW &lW W E?ׯ#ĥcW^6{mvZwm<@yE_lKWA/N=T?"*훮FR)hFA PW_}Mm!k3=,ƍn!<_=m}#sitp>1?XSf@Z;=q֑GՒ,JE@@@@@@@ ^5d1A|._0 PԢ>o>l/{5՟:aFM~ H4:T ]p6zh Owk?߯K{6m[nG VK:-A|衇 70a4>Og̘aW\qEk_iYLiG-S8~zImWhLAAME[RTQTj9餓L.\rIz$=GQ9No2YZ=Y'-E@@@@@@@zvUhxJ)oZ(\?я|'zW)R)z1oyTzGO>>O)Ѣҁף_ ),$TvX(0\RiFO~b#GLi1?{1swk<߬RZA &/77϶zkO[wyߦ;;FO"_SQ*vG^vmשå5M7jzϯ|+aWQd@@@@@@@jJWM5wi+[h^HhJ[sǏGci]ao}[h+۵/uYv!tF 2eߦ>`ScLh]ٖo~7?n]t?,_K>ڥ%,:hJ0 Fۣ ^'U0'"       PsjKWB^?O%93e쩧_~S&zAdʭ }wѢE~(0Z^F :*Ѣ˷moV;#z>}r +0%g_tk>=rgɓ}{;?׿u?ҥKSO5~3/a_555e^?/~arw BЫ@8NC@@@@@@@z`ʅn6_ꋡ)6lEzw#F.>{1B9Osm?Gb;wnm7*xbm… _駟׻e̘1).D^QѠu]glMd z=) :}55e߾}ߕ/襩)׬YFu]]؅W       @.yM zid(4 pxvg~35kwgN܏/~˹LFi9s9?ot_V\iw^c4%)SXSSS8R}TN8icS7vih"[o0F;9~|!0My}zE\uoL#M77i/ z}ߵgy&Lף_я~d+V#=R!@@@@@@@HAUJZhKfi,-OG_~kll4~4\o6d \r%tR/69:Ga-~;{0X5>l?E*i14tQ-sk/Bz9^FZxF҈]eݺuvg… 믿޶j+ zwqvI'O&Mdʃ>h j9蠃)/Wr       @ 6/YA/]t}5m;GzG j)[Zo)hz>د{{衇s{@ϪU;ﴧ~:?7 [zO4S߾}mܹ?fΜFOUsK-(5qD@UtzDO<ٛ)P?(`A-tVFRMz\pi$1,Xl~tFm}k~F;+mРA6|p/XH`T7|?W_r-ϋY!U"       P[jKZ̠Ww.~G)҈]}QӶf;}'vZ?R홏]vm~# ͛7̙c˖-3*U Ӵj^{Ԏ- };v2z}wW_M)SӍf F-d= _H8@@@@@@@J/@Ы\n 6UUHWeR)@@@@@@@"@Ы,\ SEWkR/@@@@@@@J/@Ы\n 6UUHWeR)@@@@@@@"@Ы,\ SEWkR/@@@@@@@J/@Ы\n 6UUHWeR)@@@@@@@"@Ы,\ SEWkR/@@@@@@@J/@Ы\n 6UUHWeR)@@@@@@@"@Ы,\ S1ZE       @lbS BЫ 6NB4!3f A҈&* z%(-       @2z%(5A^h"h~       5$޽=ƈ^kGB,!CЫ,hh^o*        tnz%)?%hxX=u^%DNХALݙf       IS}pj=d51:*ttKOh/ʸ*#.t*UvRo> WQF uu =F 7 G~ s@@@@@@@@jȕH3BB!Z{#!=Z2W> mm*BЫ\fBhSrYa=/}"-98FIW@@@@@@@@ZB&RS7v*嵴aöY~v C p-_zKW@`k}!u8(yhKA/Wp?=Ӻ(Š ݗ.,+        @ T !C)=r;о ǥ,::x8*nst5Q^%2)%?r ZR#o6U]a\aFm /m !5RRv4a{f \@@@@@@@@B(+N>1!B[~[vBK܎W a{RKWF6#W:N/Wф\a{Xf*V+s.??6?3^;=I]3CR{U KPa        @2JdFYDYW[nZ`Wv95Wjt/0s+uh8KDE\zSkW ^zv=!/U+_+]a/=;Ѽ¦ppĆn        LH>02VQB_ڧ_WP,GKX=x F(Ojc*)W. ׭+%5ؕz5 o£afǶT+ucեL:@@@@@@@bJ}KiJwcs:&zv;S#&,ޑM%Y%UF.Rk]BU׳}z GlvmSx=-[B=.R`_"J)ugA@@@@@@@,9Uu}=WǭS9vq A_@^FRxK6B+^mV7ӫ+m5'@@@@@@@@M`}WC} zwR0[ zi/Mר/]ouJ9X@{B]ZR_]ȫ@m#xiįAǴ)Ym5ܺ&3Ͻ=|A@@@@@@@@ i,Z]g=:w?mMv^Q7" uVt/R!!ơ A/a lA/VMۘ xi_nEo  {i0׈ vNM6f7[,        =P#}oj0Wd(|F^z!+lPxZiֹJtܢjT@WK^Hzoe1 {i4/ri[g,dgmI544a/!jM @@@@@@@*!G[[j~f7<ۖC:Fr/@]QR!uF]%֧c겎Fr/ذ/5]cjFmn]S5j. |i tn"赑a7        C {m86tKzѽ:FJ宭+ zLmKOߨHd!`J (iIv}KwiW贍kLMߘ ~3[ܽhSSK#%@@@@@@@@p0FZ~}Ϭk{AT+5ctT+RTDE|JYX t zvu zEm9+5YK|LS8*%~>{V,Z(JKj)mJK 7(riFn,*J(-GÎZA ,"P@g PE@D@D@D@D@D@D@D@D@D@D@D@D@D@D@BY$ ^j,^Q9ֽ ֽ )nmnC_M8z^˅^ثpʢDJ% >-z!maSUXB%J}l\z#Э+jZmcS,yfͫz(EޞR@F ^-Bº/\6^RrH dѫ\"0'*\7J5K^fKBtA^^5ºmNj9^opW$5~ZkFg}vxvmsW?l//[DD`syUXïp-ɓ'}scgĖc?AXxq6mZk:嗿e[S>oswo1禛n o-"la} 3f̨??+} oyy^wK//owۯ28<_z#J?Ox̅wԽYfۮGga=h|{:?uYg?Zp ;Laʔ)Uո*w…i\lYz6l3Έt&0RUn,7.zFx3^0.dѫ3iH`B%K!? ׊zvig66 l<#)9cHlM4Ln'kܹs>l& _Wot9ؐk&>"6!|\ODXz#0[f@BXjV2^2?pqǥRFXQ| {˜9sGҟ~a}%K/ᨣq_xk^o=sPh)H!b"2 /0eX`Ay>w?φ+I(8Wb!u;Nԧ>ZƼ?ڶoEjs RYgO޶/þnmOv*ꫯ>Hq&c=7}a@A+i" 4bD` (f6[ܶ]ע0¢W{. 7orȨ@IDAT;iuf!B $w+5SN g[wwᢋ.J׌IKU[Vg>^ׇw%";rZҮ{/bߵɶj׾itCD?Ú[.8 eή>u >G;+Q5-B'˙'D?pկ~UHsGB/3v2ɪ&)$vݼOBw^mڭ탴EBI7D z}f0-FGӦLn ^XZU,z!PQeF0G1WcI_o5^&ˋ5^X`Ƴ//m<Ɠ/n<#.n<ƽ_Ը뉅O]x-Z(Iɣ&=Z\Q@SE'SO=uD޿ۿ- _qSpmD+=to~{^n}{K6q7rHr)qt+mJ'"a('\ QR kxKADˆe(%xTc[[Ts|L-zH;)f#Z|jI-_6t_~yK.54 /0"! hkh( Βu|V .n^GKQe_EZP|+J/ vE1 ڭ-})jBtKnѢׄ:+" " " " " " " " "P@Fh7p@ӁZ4h?ЀA6E=h?$$3I&^cO-T cdO~~{JB ^A$xzExg2TAЫ?zzMD@D@D@D@D@D@D@D@D`<BI< "rg8{ҮQFq\\Kyp5ׄ{'l=o&O6 [n oҕ:(|뮻nr7O<0|ܹsSw3U V/{׽uaɒ%2ꪔJ3gLiUpx 7hnm#r!ZIjӧH0!naW/<aM7M7tSh1!\ve7MxlB?`tꫯ⋿$7}J >hx_7mݶ$8_~^7τ~LAg͚UV[Kl6 -oyK8)ǃ^nEi @p_!ZLK7y-$wj\czv4{yx og`܀N-?c˭;-9>| [lE>2W|~xo"aM6Ic{̝2`3wh3fm>sS`>0/pǺilnsÞ!k6l^zp|cG? K#|Ox7NeWnf ԏ [Spa3d=Ugd/s muc`XC0bhѪZ>9ﺑw 0Ϡ*[:cy ʺ;zI׼3u2u]??H,ZKucBdsu2YcqaLk!c~:lvi:ujZa-zZAb2#m3mڴJ*< 70_Un\ag1τՓO>7Yʸy=W^ye`^2X= k??㠟wp]|[ult㺱#kR|2ϟ֬h 7!Z'Lcrƌ6]3+<1s9tywcp.o5$o1-޵rݘ׹L<$~Ϥuc$ xiqj?O6&tzq3On58Q|07GksiyH7cG Q^#[;>5F|С:>]XN:)׿dAK/7R+Cr\qL[NWZf|q7 Gi1u(}|O 6JɗxvRIM\aЇ>ԖA)6fL|9\-I<#6}VLqugfm{~燕YGgovVYbF)T!ٳQ\8J>c2=?;PlD`T#?sň|fyQ2w{E]G4kƃ8 W|pμ^D7藷n أoo˻n 7qֽ(H((x^gEe00ӿHwKW3/DA`YM^4v| 'iA?m"?UawYg5V5^|[:`L|L~ɃIE_}?.}k-5 ׍|}DzՔ{M|~uG?Oklk;wln``AsKΚ){qEe.'w64S6 #ܢ+dY|(" " " " " " " " XݮքzoB/!tvB/6|xŗqnq~^aLfM~6msJ@UB/1~6Y3Z68B:K.,s=qg{:BY.݆h+9?n?3gNKsmSP_^=+KGo,1ȯs-6 h|Έ)}`sOo];sQPqP%c}#Tw|,2hǽEƇnU|.Ӷh̊J1NPG:c+P zBh﬷7Gˇ-}wB^i-yc:YF[ylk;mwlz }-[y<^1y~U2Mս-cZfm$&3\t?Tk61Tv{g~ Z,PX`oyPC $m`![9}־G9IfX6n%"Q]%ixԬ^)p&^@o+wXc2mzS5f3\ǒ~1O_/kbY]7znmdlz }eĜ|2?ϊحˋݽ`ݞI>Fl]{|+܁bR7ĬM/[npg~Gu " " " " " " " " "0qzM筞NPqMVXzώxG D$Ѱ^UBkF fc-fa?6@;b3+&,b[0+Q\gσߜ'~CʎلP/a̙,6A˺@n}6]qntlY_ m}foQmM</xaJ겏~zQ}(2޺㞹d~}s煉< Xo,a+G9n.{S7mM/.}> yyk'޽V~]\O}9A^1=_;?n=Umjob Ҵۨͳ"[bo-k\ﮇM;%'lry0#I`"\fc1l\bVr9ʀc.nd?'Ց, _%nAdu[5/:-ry!lFijg.9?.b6&c|o?_Zvbn*#⳱9A1=?8 0ˋ;WwߗЋyfkֽ|;"[VF" c%->߷v:gq'qsm:=rwUz}2nMN\ &ssy=,}gM݋T¢Aj" ;znmdl #oEB/D/~#~N^(ߏqM7=N+'sx$x\=ƛoljRa PM7TkR}Ftl`Z0 V~H~oex6v 7hf6OvwdFc~Ȁ[7[3Yx`>ɞðb\Fe#R{`vtYڭ^džX_>k6[߯;[nLtrduBozֶ: m/ F ƻ9ywJqc@9/O3H?Mg[aQlD-DV9? k[βC{BXl\s6Fhyr lCޗq;1e nbYs#w]ƹAXy>wMX@ۉ-ts9dw[1Bb*ׅ^XA}&*sΞo 5Vu(sIX!& &ֽ~kW~bcA_{z}-ƺgNUfYyfyNֆWoIYZXY[)߱aߴp G6g(%57gc{Kz!΃^9 bƛЫh U6de}|@@CLbi-]VVF{)`b3~3AA*~6˸S ya{^@EUG\3h޽!GT6?-tb@:EӋEpff5 чՋH j;ϭaK .mo,X]7瞲ԍ5ZaRX+)e g4Tmh;ne9N51`k8֥:/VEJ,/ul\7cnpP[4!ۂPӘ>'-`UmM&2}XU ڋ[0g 77Q! ")o˷W הEuǏ?x9Ns=GAl]{AG^ k#函{zݞV|-B^6J@B^) &q7[oMÿJ~1o~dlX{c ~Yn̰Ivno/?s\fX͢2co.F:V X"~Ub6qhz|_,Xбj W,=!דVz &ڎ"k31.wIu%Ku]ůuin,'{qpۛ{vz 2iD89bc;;"LY)w z 26^|yi~իˋ11>HiXD@D@D@D@D@D@D@D@D`$&M16\ _Wʿb z"~#ze?e , B/7.m< "Iu/\U,q]`b,z F5DXU8XF%N u".K]9&:BAĦ7gp1TU]^ϋ֘Lʳ|^$0h?,YR>o6­!z}a"T5WYBą6 , 3:=~Ƣ\]ꮲF6:,.5y" 2{y2+vbNޔQgʯ򓟔>C+QK4蜨z »^ aS#pʸ^4]9u+/xY"glN =PY_ݺOZW6[db :@;\ m5W,cW嚱n^^?oۻT ,-UהKlu6 ~(/."<`lS~j2<<^G}ݾYnmtlx^kEGafU.={zQ;\>koCyܰxk׹61E@D@D@D@D@D@D@D@D@nO]xƽ_xEG]xō'_x%g_^XpiEѣoɲ+xƒ/FQU5χM;ΰkUycz_y`!Q.YB)u"oաߨgQoҤ{ZOٽUN=)+MC4Gl@ч˽;f(»x76 6~җwskY{Ei!G7U+7v+9ov{^$0H?m{W9߶/}K#,Wފm}jbvƪPfT .;J\9q+s0F2u*!l}o1P^7 > r7'Ƙ[tNԽ?i v?n[,fGxci\ l,g[Yie{Wz=2rŶS.ƭ]~ڻtN腈ڃ3dii_Gru{~ Xn+wU{=2Ͱ^k_!j?W1knJ>Z=o޼*R?A#^~mtl.f-MN=ס\U  ~ ɬyzt." " " " " " " " "Ў{z#{cKn:7hRÿ]A>#~lʰ; "*~CCBn46KH7갸a{.l sEmrMQR-6- t1Fi쭱`‡o~e{:aMW4~$"/vN}wxF7c/oܹV]=W* Geu3`:S?A䭕^og:ꨒ//V 7{>tb@Zϋ'wi}_F/i/Ɖl`5k'kE=a̻~./ې9ps! :/~|5x[o,z9w7cڎHC|AaqW,VŸ43gL),!>sZD{E=^B~0.bncNÊ9_tK<=\ ;S(Nlo6QoXTߩH~Q_S0xKe~Rm>A<'>Q\,w]*^w^[wygKX;qL8 蚱g^H]@lW&ew=zۭ탌 ?{{'xs_wq ]R*tzIUEMD@D@D@D@D@D@D@D@D@!߇J )SlÅ|&t+²K7~74$d:w,:F‹F?fx1G&>6F. +#U%% ɟ:ͼ9X^fڇmʂR݆8[@ 6%Aͱ+gcU~D&ֱ"Aiu#Dw>P<;? ?iKݾv(D,\G4K7\ ߏck;'utvMQ)7l\L@݄ATH?i>5ϊtN{ۻ3<Ƶ=ǺN`"b˛_G2^{aZC|3`c 'š֌mSպ_fү~ݱZs|>ڻ;3A B~gַ1ĩR%{|▏Yj[UE^G_nQ^q_κVϞ=ܳeLխ{zdu." " " " " " " " "- %tcDzyKl74z?&o3cUe?+~Z׊Vuſ+~^+"^m}:,U 4(/b<٦mAf[,Q5.91Snf%{KZfы 8#H, Xz\mrrHm>䮻>oY(ɷ97ܸnA Vn6~3Teѣʶlk~Y."Fx 8ldV~lc—O{lb5ex^y>ss0 Xv.SL1Ey@4vs+;*?Z]^L9&t XZB#ߏ>Ų/g9o[:~hv̻&hwRle!W]-z!jS;u+~y0aq;y-{Y?U.AO 2_o0VW+͙3|>pw\PGE/;}5^{mqMRXX;ÂgիZR]]zd?[۹h^. #Ku5ƟI^ߞL. bVNNB/Pk+UC KXD@D@D@D@D@D@D@D@D`BI< "PI` /ӽnJܠq=¾[uE.` lVT K,n((bIQ́W3f&[4kL6s.⸸,DW _a)qxqkN~~* ӦM &YzV(n/u6 zիZZC(u Gm&!p ,]CuY'mo oyK9It_7f#Bw;L<9O>q,=,Js$nN78뭷^mq; p( q,&n'܈.Bܨ QdXcۦXc-H9E}VV4Fy׌-bVWV??Z# B;(.Icu6k˓6o޼h:ujUW-͟( q:a뭷ni۶E7V!Z= Q&-}fC4]w`ʔ)moޅq=q\Xˣ`)MCi}>}z̖AD*m(=Őz5LkzwN&d}ݾ[-]w}̸≠g޾o Q0;a:\hm.ZK#ks]ۆy00X_[oS֖W_=0Aϼdmgi=3k֬<}~{rx0fmߵ:w Q}ƠGķ=!kE:.Z%Ҋyw^L*S'OJiS&0x=?4ifK Jv!Bfk4aY^ebv / B.+0{,BkB5^ zUIE@D@D@D`($0H&n'X 4ZMM/oe]t9Zz 'x]yc=6CQAD@D@D@D@D@D@D@D@D@V$B(.D]Iw(]#F%׊|b++C믿>D !JĚ,Ws5z5y-+ K^f+D^BtXK,W/VD@D@D`4`uӾ/{-nJzͧ"0vmmqW\b9GM/GX(:o/Kݷ;ʶJ+" " " " " " " " " C!0RNw5/bzqkrTu5/ Th-یks\>Sg>k p'dᵯ}mrd^]7 k^F 1=*~w "0 Wwa̙hrˉK.KVwZ;6N\P/e=^ a^_zuޝv)g2eJKA^-pҭ V[^њKDžЫ-z3Ya( <a֬YO>9Uj_KGvXD@D@D@D@D@D@D@D@D@V(BɊWakj ɪWӅ# -~q#ƈFb0äf,Ve8㌰>(80gΜt7K/͛xXF'/NjXz-SlsX )׍׍責Uݢ b] Waͫ)ױKB@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@F@+$^Q,{bB/GW1 dkT 7Rܵ뮻?G}4lk^3τS{z]veawN=pǗeJB/j⸰Uo%NjƆ^'P%’Wb+?Gk^ѺY*D_F 'HqZu )L oJTTWf}:..yҭ}'q-zz͝;7=Ie| zEM2,A9[Čv=zU$3 Uh+G^ϤjOy0mڴXZ{" " " " " " " " " " " " " " " " ȅ^nNy1Zjy!BUUo, }Gy2GSڸ6%jG {G8KtPq[lz_2| >`o}[szzvm]zW*@kv [ney`V s)oZOX1cFy݁ Z&fvyʱ xq$J.sXN^ @.:= ^XJq|5B\u. dTϟvapwtUYgiD^^?phR9;ÆnνkDE5zE1®dŋc~Kus݈5/_(ȅ^,zaͫiūi wkD-.^D&s)k뮻.a[4  Z{)aN oMkGj$B{a"ΛW1H  ׍AUe{zeB/\4E.IDAT5_|!Ƽ"-/k}VuJA E eW)R ,.#ŚT_lB؅#Y.+kMʉwz/%Hu{|Xz ʙPF22a%qW] ^4+A-yE&{a RCD@D@D@D@D@D@D@D@D@D@D@D@D@D@D@&$Ċڌ",c*Y'0]khp߸<G(=%0ӈ+LyWBD`U"P l&3q l,ΛJQWqD`^~EeW$-0 L@5+K`w\U&(ob.ZX*h悑S~xEV' ZMahY *s(Uj q`(,nŃ896 ^$3 ^%HʈVIn+XH2K#-F5" " " " " " " " " " " " " " " "0 Q&v\X\xVTxV P6D$M*{`h LX8 dL}g&"1RW.J|E!V^qaj_Бqubdͫ) iL5#BE(_7ҵҒW_@HVTV4&Gy<zU9aSf"$j&*HHˬ{q WgR kN[x6Ϯ)@" bLCAl f. qt X^Va5,9좓j)J?,f@IDATrQ+g`lW Hj.s?_ߢeߪzhm>?>9=y~z|6/ @ @ @ @/qGky|?zl}uo9yukZCjbGT5/=bk@ky >.q<#lj.ipO @ @ @ @_@Y'qk[}?/}zsg $clհBW {8ڬm/k\_p>z|}}şk|u[6 @ @ @ NkgaOLԵʋ5#b8~Bpz ^%O!؋bcy-뷞%_o*;;xS  @ @ @ @/.pwsO>[u륏}?r?O^/)4:Z{7k5d7ygq{  @ @ @ @gškq]8" ~? ^o'Xǯ|SuyXk*yyo  @ @ @ @]7qdk⮵9Zu>~DNj||v!*pFqF;oG}o9yX?< @ @ @ @!jo'&ں[ۯ @ @ @ @T` 3fbku8^l^o.097ySY;o,:c> @ @ @ @㈵KyK~s5_75^# @ @ @ @ &:?i=43_;׸G׫>ϢqkZ @ @ @ NOc___z%x?=(yfr43 @ @ @ @'O KxGWo4 @ @ @ @Ob®ns׽' Q{}U( @ @ @ @K A~_ח_ qki @ @ @ @@{;P|_zE|? @ @ @RB/uN  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @@T@IDAT @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @ @ @ @@Ы&6"@ @ @ @ @@@ @ @ @ @>WMlD @ @ @ @z @ @ @ @}B؈ @ @ @ @!  @ @ @ @^}7 @ @ @ @B@ @ @ @ @ nb# @ @ @ @+8  @ @ @ @zF @ @ @ @Wp @ @ @ @ ' 껉 @ @ @ @ B0 @ @ @ @ @O@w @ @ @ @ @ ^a @ @kރ#9dH" HeTI U*(UUVbTNhq֢C[v Ѡ!M5ow^ljssy=39^{"@ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q @ @ @ @ @<Az" @ @ @ @d^ @ @ @ @*'*"@ @ @ @ @@& q . s ,oVo~.VXa+W_=; @ @ @ Ahf͚B^x/ 4@ { > *U" @ @ @ PAt9cƌ05\3 :4J! P@\y7 sI2$9G @ @ @TD@Ы"iV[ߍ1" =N:餰hѢ%_'N o/>h|7JOo'.Kssow @ @ @ 7A?~~~L<9|3t0A/<c뭷NaZ+kO+|cmԩau׭]ާg͚&L2eSD @ @ @赀WP/W\E3Ψ/)|s gyfv z=CIeפIB ziK??5jT_֫ς^ }ZW @ @ @ @, 5:sU>OUW]5}i{o2dxB NS= zYfn\|p_ȑ#w 1cFǻ6njaРA^ӛWOד| e.lº9Yorѿ @ @ @ @M! m*FafΜ{si =48qb?Do=y'H|ƍKaxСC]wݕY1?1̛7/la ;Cgq[/G 7w9~]/Ə?x8CӹN:)?XG r-#F{gkr-N{ _K/묳N2_ӹU^{>W:c°ajQ?я:WŪzm1xp '`T<tnI3 7tS<\Փ-&]ĕ=t6WIU.PM!n1χ:*sg 70ZaO+y!^Z\+:N4)3&_ ?:cرK/63Cg񈡴v)mGЫ @ @ @ @B^jvL&<~pGWƕ?G~|WWOJ+/ع-b}+t]g 6wg}B7= zva! d_O>9m?W1;m&ks?[o)N0!}mƝyb-]w]z7ߜt/~󟇳:+_}؋'~kkkK?/:b^,> @ @ @ @Pc zxN+Fqi8~;!&zUm/Bkpĉiթwk+vjopꩧS= zr!'La73fUe]W.T zE܊+~S\mwL?=W%Gw1Pn? @ @ @ @@*=F1M74xٴ.jW{aȐ!{F<qǥ*S=\ښ1^xgwo?vit'ASɓ';b샎dܞra̘1[iK?CM!6ۄ>8m[F>ٳoưa>ռbqU4iR.ܹnuñޱ{O<3Ϧm(0nuq%8c܎7H-7C? @ @ @ @@*=݁ zox)"~UΊ%LAWWsOwl&iEmcUVXa7O]gu†nV\q{b^Hu/ޞV$͡|az -*\sʹzZ\m.wcΝ>AǏO=;~ym~hwx6 @ @ @ AƸ[aZ H wyC=45*g _B:WPjk_K @ @ @V@Ыba2> ,^8l6-2mWǜ9sVA뙊  @ @ @ @Wn @ @ @ @4WL @ @ @ @TL@Ыb 7] @ @ @ @O@Ыzb @ @ @ @*& U. @ @ @ @' |=S1 @ @ @ @XM @ @ @ @j @ @ @ @ zUK @ @ @ @@ z5_TL @ @ @ @@*p%@ @ @ @ @g*&@ @ @ @ @b^k @ @ @ @ |^3 @ @ @ @ P1A5t  @ @ @ @h>A뙊  @ @ @ @Wn @ @ @ @4WL @ @ @ @TL@Ыb 7] @ @ @ @O@Ыzb @ @ @ @*& U. @ @ @ @' |=S1 @ @ @ @XM @ @ @ @j @ @ @ @ zUK @ @ @ @@ z5_TL @ @ @ @@IENDB`intake-0.6.5/docs/source/_static/images/gui_builtin.png000066400000000000000000004027111416666122400231550ustar00rootroot00000000000000PNG  IHDR `W IiCCPICC ProfileHWXS[RIhH RK E*I ĐD.*vuEWE\t-{Y{(ʺX&uͽΜ󟒹S˓JP]%Pt 'Rv|| 2|UB9$LRTVgJx*2 R%VR%T*MRi<,g!-$2A|Oqcg*1_d3sZTB˥yg;)cAɢ5þʝ4$qCN,PCREd=jʗs`b7/,bS#$y1}f8 1\!h]"'j8ke3q6dJSdH]"JJUQ)kC̔&Fm0'vFHPoPǦg"4|pՅ( n>O-B ;yG(3\@J5b]Ki^ "z+ME_<.H5?+-ORg&īA 0 82L}}z& d!ph=RU3xM%@>"4U_]@jH CAPyIFߠF|kʹP(yY:Öpb1AtM <8'k p0ā$.zY`.X@X ցjl;O`h p\: WOx0  # @lgEp$I@Ґ $ d. RF-H=3r9G:Cy|@1f:Eh4NC-EUhmBOh 11K8Xea2l>VUbuX# Xևlj8g.pG8/j|'ބ¯~3N0%8 \dB6aPIN8H8 "$}ӘF!!.#n$!'v$ɘL $őxBRii7 E {#d y1||z;iӭL"ͤfN3Csך5`XY-ZebXUS~KS(KvA+{dV{[S}ZYXLk`sǖbk+]o{]wvvO% u;P'/'SegYѹs aɘ17]h.l"LŮͮڌMjٱݼܶuwؽߣ'3sgq6W'oowwOOM_xe~~ /gK@n oh  !+2\(:D= ۑ~* =ϙ9E'W?Ȏhy<*&׌s'L7T4-:1:QS,u":q5Jb@7nMx_&'O8=anDF]oBV$MvHV$LMOy:k&_L3ISҷL nJTeSoLV9?#D_+95|fNLU__-.G-p~IV(ݬY%ŗf;^:IIDɏs99ms-.p{ޖm .Yp"E.v[zoRi-5+]Xm ee|y D} K? /TUTV|\_v{﫾Z}M++%+o ^sk&iZZ[Wܼ^*e͆>Vׄ5]Zv`M!7mDniJZmg~vHvtLyާ~ hw?ҸesO^W3~/z_~ld,oBf77ZZ:M8z_v<\sȊԣG8.=w"Dwی''vjҩѧϝ8s,s?.y]:ׯ۽ۛ.\nhyJWîƽvz7nݜzy_)3xw=½+>tywyңGw~1q'O=}=Ϥyr ً^z북o -gn{g?~x28#c'O?dɆ7 } R)Dx6U:z+Wo,ߎU pHYs%%IR$iTXtXML:com.adobe.xmp 2400 512 uo|iDOT(@IDATxT:R,H(D&b5j4&cXk^boXQ)"E ( ( H;9{gvvvv=ϳL sg$n         Pa3         ^/@@@@@@@@@HXE1         @         P" @@@@@@@@ k@@@@@@@@(RVp̆        5        )@H8fC@@@@@@@@`@@@@@@@@@ U$!        x         E *@@@@@@@@@X@@@@@@@@@"` l         ,^         @c6@@@@@@@@@@@@@@@@@@HXE1         @         P" @@@@@@@@ k@@@@@@@@(RVp̆        5        )@H8fC@@@@@@@@`@@@@@@@@@ U$!        x         E *@@@@@@@@@X@@@@@@@@@"` l         ,^         @c6@@@@@@@@@@@@@@@@@@HXE1         @         P" @@@@@@@@ k@@@@@@@@(RVp̆        5        )@H8fC@@@@@@@@`@@@@@@@@@ U$!        x         E *@@@@@@@@@X@@@@@@@@@"` l         @ `R)gaÆnѢEn֬Y^rwuߋ-F@@@@@@@@~$Uٗ#        P`/~@ \5n5hРn$[ Pؿջ F@@@@Z"@'Ə&N&O&MZnzb ׽{wרQZ2_7_xof:m @ ̙3 2y~MN8nu-DSә1]t/2{nu.ʲe 7ܐT?|н꫙ۃv;Cvmc8<7{l|r{7nڴinذaqԾ+wg[s5ݥ^]+3fpcƌ,[nnv     @ s[_X .tz{ups:t;]ETHJVkڴs=O~.&q?=xmc=nr P~_|q[שSre@Vթ_=dM̙33+ӏH[`Awv/^YI'noCa>kS~yL۬mWOly,6}zP k{/khZ[*"W Ҧ@`Vg}w?ST߿q-5ʵm6_fιs纟iULɓ';B?tkp }M]kC~=Xdr-ᄏk׮]~MC3f]~_oKeN:@)S(|_[oz;찼'?y:w#8=N@@Xs53ۥ+sq:@,7),_4@4􌆠jz/_|Oj.vn̘1~}w}?h<"+ƎY|~;+&L=]vmg}X^>O,$ߝ>^)j_'n='ͺ>o<*cj?v~wx}iٲԩW' Y+ @ߪVcBI}]uҥcǎK.rSnV:uߜ8qn 8mow#Fp ^36>]?dh}U{>KXS)YC~}o ֯ߦ/J?i$@ bmIR_|-\]xYս׿"28u'믿wAnLw4i<{dѷo_޽nȑ6o\nUW]ꫯ׈5_y裏|__~eۇtA|Xq7 L'6^Wfs    PQiGD_}U*}/5dȐTzT:Тe^Jvȟ 4orF*I=SΔ>t26_ܜ2Z:J-3M>0l'Nd7n\kyf̣+ӟqme=,SYN4Oi)n0 >[o뮻.q7L PF@ 7ܐ3SN͚4}4ug-/\]Oڷ\tEY+Nf-[7ҕ(>Zecw\SOͺ/S!Sue^*^cWTly'VJy9ʙ P9oۗzg3FwW ;?+mҕGN3BYLp)ngݗ!Be=~7fNǜ矟t`,3]YreJӆ=Ԋ+lJ]yו9餓2w&Lp: zm]bt.?ޮkqٳgk:BC@@@W=)l- 9? `)r5פҿb̄V׮]S_R 'CV؟BBia . 렜*XĴߗ_~'W@NA5;Xe~r<t3~,/;J"˵~T/l_<-/ `_e᪹ pWy_=S=X[ KN`:Ruu `j\eۦ /u2UےU6    TTXH:N.JRՠ `闌>) lR<"~Zl{G:|g_jtiI)Uv ?F:Ī[a|,27>>FJ:Tqu03߯VYW@*$޿ٓRVUTUNU ?h{t|Z߮),}o矤m?aO%NZߣ#v]?+vg̣ SLs=Lğl `)p_2.rpDg+jÆ }g~ @@@@%|rSՍQ(EӦM+gr{nݺUyN:9=ztJ}POa1$UHlƌ~Ȟo YLu% `uqaIݰ!pC+d-_KAߺִyw$F*3Ba0q5&?+BQb^{ͺ% @ﯹn+(l˶8}F +G)lHUk#7j AhPύ3&0Bʶ/F[5-Wڞŋ&9id|O*pnMpٺ@`V7{v `)>3[ߏƏM! /0]C\rI9ix3>?}L._@Rhja+6j;3>7*[ `]uU5>Fe-^UaS>C<ߞj4@@@@(y+b *;uy_s9 Ci~ .u`QN8ᄔN.4iB*rKͻk .7¦?}ROT&UO2;|2U믿>%?̙Ov/@*,o;q2 !}ϽK?>Z~ݹ+R[ `鳃ǰu9*dj~]a4^vMᵰJ hjLmu@@@@ TY+L8uUB/BVXR}NALj WVGIi_ @ؿ巬- Ta9w߿!t!2ep=TϷiV3]Q`X 0}V8=:2C} [yk,]<}&~r@@@@JR-td!,UywR*_v6hTڵk?=mڴFTa`*>TZ֡VVu]oRdU,"U@7*~.^!&>w zEXH̷BXZf8O>=aR)U 5=#[n%q~V|<.ᯧWĝ y44A/=WpIM'Wj]W'R Kj$AB.z݌)2O.?A(\[bK+~W̵>2N X&12uI'Y?XIm=v7YG1wTUo[ƕ62_O2v&(/뺶Ah    U/P%,u; !i8T@I')wT.] 0XՠAЂK;߶+{iuY6lj֬YJ}~Pկ4\U DtRe [*z$۟  GxEXqX̖ۦN=T_%e!,=<of]Vv">>I->4ĿfsĒ} @}{kU}iɒ%)زW]ZI'~Ԗ-[5BX4a%xD탓ڿ>hXHK @y>|>tz%]W5y@`V➥IBHKa8^lNKf)Xʬ#WK.s[ˬ;.+DXI `O| eq_vcI C@@@(@O_<UO?M7ߜ:"SIAƍK]WIaUեaq]w]? ~O>VՖt BX%~Z\ybp̼_}UcN@4qf$շ.?駟շHn,[pC5ygs  h_|G?_=Z8|~NM:5k:ͳb ?YߴebXq_q裏R.a?DC۩ʤ67.kGy@*.{,WxݎgkJ:a-[WXw$fPUұKǴ_XOn]׏i    U+Pe,c :أ?*UԞ{tM0O\!,QU]&,|դIjٲ?٨WN+Yu Um[5% R%=Y5bڈ~NS^+ W'wmW<_wNi|}Y}vjr0.]t2=X qYۦ Ap觬 agēdz*Sfʺ_ :MY+S}שl1,\ Mp?qxW^?c!Cdl($ c/]f&LPC u@>Դi2ᏄlK&ܷ^|Yh^WX>Mǂy lQmU ~T4l~OSz*P>l(N? ̂    Pr* `逐~%? MUeO<12 JmV>Ra)V(:Wvga,"W:uJΩ>:N{'!t@Q_BXz~23,s Qӽ g64we!U Ϛ*ru zXqMfOn-ĉyu2Z@VqK}Vu_g'|cq:Nx@r e[wqG_R$TqW4oTBiX^UC uTe]R`꥗^J'5m1,}*vi>!jx!>jz%iZΚW0@}eq P7=#|~a0ܷZY~2XŚ&.d]ӆ T]?~5f̘@ uM~~2mUұQ귾9k#f^/a'ӯtNUZ}+:R?p_KvՇ~JX#_+;lmv?]a#:uaY*3Tt _U ayaί~ruPNj98>nx܋v/#t'Ֆ^{TEk:XꤶѦ-Ra1nh T*=VZp׿ z~H![ox,}ΊO:˵*sM R-M6m] @rߒCX޿Y*6q4G]/VXڎG}op\Ɵ^|Ŭ{Y CuszLQC oRF~}Sӱ} ǟ 6    @iJN j裏| .6mڤ5kU VmF>_BD*Ju݇6mZBXaƍ HꕆeϞ=SPձӴ:a::e?*dMM <#y@lJjz~5dx0OuRAp@BL '-X ╂Mr=zt0qKMGm;䓯fu جY| 5ziY\sMf|1@ ,Y$uWdޗ_*3T<_8*2Uaz_S0a+&F'5}о"[x]a\h!yu2C k~?c `ª + }!)*D l_|Ykg^o喬 PC~7]ǓO>5ߏC𺶥BV-S1s.cĉvT>/5hϘa15vԷҴ:v +(,\@@@@J/-2}RMŤL.=K!$7tP>a,h"\Kt[nKt}qЖKE1]oꜭSY}K2}L\KPu￿KWJWr/S:ZhYgbѥ:~6pC [QS!z?g*^N:ur5M=?s>իy교ϥQ.]a̭zn5L>~nnM6W賉.Bmؾt 9:>qUK2KuEӡzL >t?>s>vرT]a9    T:e(]Zj>2~xBJ:ɗҕvmCv?.ƍ):Ф:Ǯ}OiӉCӁ.]9d`bz"~Θ1Smꗖ]ᄏKw{vN|v[t#K2k+;tG}z]p2:   TW^y|pUVZ>$ VzA_H,|f 6Z{iHm~a՞p ޥpz WSn!c9ƥʺ   WU W%bXU5Ru:sYgAsq!^X*WvU"   ^T/.RJڭRn]v.~9r_[oΝU BLvY,,) s~H:{=0֥s;Sܹkݺ5b0 Ҏ=)X L   @б WLc=[B+ *T߾}*NWR@K˲儕>JWR*VY+ ثW/Gj۶m&H,{Ј:\+W2-G1Uvh{N:eeZ @@@@@@@@j@IXbPH) ŧ A?`5ydLe-ZA ,mnM7uDVrT kܸqNX/G `Y* i}]v{3THְ믿egʬU.]Ѕ ,I&~9ꗭ?_y @@@@@@@@j@IXTRSHT%*`!T +JS ^Zk-?TkTQkذa7(ݯҴ J*_nWR`*XeɦLTK!2)hUЅmP,K5믿?         PJBPan ݧQ&j*^4kQ`lTš9s9r0֜9s e' `) U*_uCQ/^TmK/ h-[ Viڵs| ^VAe˖ ,o         $Toq|T *Di^Uܹ ! {ZjU k~B4$\*a) e+#|իW/V6X{}8uԬWZIT=zd&뒆        uK,X+]S%_|WJX :i(?բE2TJa'-KӅU o!(Tݪ}n7TR+*_-Z(m-X-_iaÆ*aU\ +a)U`JVZfX ˖ŋr>4[d*VW+Wt|ϻqƹiӦ9QaW.O!        @RJM$5+XܹsTR*Ug}*NuڵL%YfQFZ6+:5jO|_! _u7tP7y䜕*uiF0@@@@@@@@@UX`*S _Y+ GT SNo߾nРAe*a-]͟?8|p ٳ}m۶Wnx㍝Uz2UVzh;,tE: C@@@@@@@@ QXZ{JX`5rH_J櫄{g*a:q>e[% &*V W)pէO_AKUTQWq嫷zWR,}NnvNWE.*_%@@@@@@@@z%P,&URBXq%֭[V6m\fr,Y͛OƏٳOm馮]v1c1b}44a&M٫W/_yK~W         @@ԋJXV*ַ~Q\*PY%,UСKiٚO?uSLvŭn5(\e&Ne}*_i=~Vg}|K5jAu        K`DݤIܰao#Te0褪T;vtH5h [T g)` բE:PUWƍs:WM6ͪ|շo_> XW^2l-        j `*a5ʍ;6RpA)Wկ_?_juA+)$W_}fϞ^L嫅 |ۻ֫>Y@@@@@@@@5%JX˖-UJXsq/v A)T*am֩Zj.PTwu#FpǏ>ᐈ@IDAT2ڴiz+kVt-gծKA@@@@@@@@z+X+aYj֬YnѾV)T k׮*Vu͵o>Ҳ4*_M8m8ydWZ*Y)ԥ:Z͛7Sa@@@@@@@@)P#X]\ KK:Uz뭷U O>~-©Vƍ}3f{W>}XP*WoРAN6xc*_|        HԙJX*a7լrUR媾}6>3 LU]XYfT> @@@@@@@@r ԨzT kٲee*aiHXumn]v, 7մiӜXxeկTJW[v0˩         P/j\KBJX}=z;v8q3gboF-Z;5i42\|4ްaÆC[n_~nv]v-=>iZh         @,P#XdyCXhѢL*7o^{mcw߹xRVZeVѸ        HԹ\>JXb gz0URu]uW0`lͨ|?*E@@@@@@@@ #W% ɓ'aÆJXf*a|TJ~ڵkrK7h קOF9*_y"A@@@@@@@@ 'Z)tK/cǺ^{ͩpGӨ5lY=z|Uu?         @ZR+Z K+5Uj֬S嫭ڪL+MUh         @y& U Kĉ3+_^k׮I&~xB*_q@@@@@@@@%PXڈJXvpnnĈN!3g+W:- 8mᆮUV#zŰ^"܏        j]K֘1c܄ ܤI܊+\Ν}jn6UW#        @jeK[T kҥnnƌ^sVrݻww]tA6md4hVN         ,mcX K*}wq}^:n5p5r?^YVL        d DRW\/^V-[tM6u \OW!?&_o{sޙx@ hڵڼjG@ Ե[dX     @1>V8BI/.U]F @86xf^s[OGj@m޿`V    :ҳe9h}_=LShƶmۺ͛a*?@hM6٤y]|[pWZK.d5:A@ o11     @5 T*r m/d94v=W|{cYfbuW*hΝ;-ZTfqJdN@:Avlٲen̙~hT)[,rjG므>GI&Hvk{㶆 ֗Mg;@@@@z'PV KN8.mB/xZV˳yR.]}]?Ynݪ$|*q@4UqZ=IӧNnn5(Mh)ߪ"Ijū8q۷߂xz衵xkjg~;w7 )#Gt^x{뭷ܒ%K2ss=     @,,dShA) +亖/U8_x _Xu ;:[#Ua2f@ܹsp ^>̄Xo5I_7es9'qs_~~5`Z;yZ`k|'8L.WUs/;@@@@:#PVahH 1:],''^٦tnۼ6M!m[Vu]nŊ*_i[zW;Zkj~~_K3b_; s|Gn„ ~wu!<T@U*X͚5s=zm sV~G%Vu3f>LgyƩQWh"7vX7f? *KC=?GmFC{w^g}-[Vz,*.fs}k/^ZBkgXӦMstMOGuݻ{7>l7`knR`    /PVwk`SyBx%Bim\>>UpSO=d￟N3gvm|r_ ָqc{=suBAn4@& T j/оU2}T! 5i϶[N;BUcQ%8$0en/~ _狽__4Qe[ꩧ*҉y.nݚVe j_X N4^9z    P:F}7_kVeM]|Ş#>%U T jnW]K<ܓO>yPWnf׶mZR0nW`7Mf[`V1=uM`n\} `)lӟ?袋x@@@@zd}gU+ `=~xFI: C\"5B{sV'>>eհwcNվSNn뭷v쳏۷o|?jSe`U~_߁o2k?{.2s1eKXsyUXb 7h ױc2 PG `j X,֐FrO>ȵ ?{l{)S{}fufT>C^_|h~zx |ۊva.*T{uzz?"YU)Z&Mr>ݳgOonomzkæ ? GV]w]j ϧ^{[dH2d>;mrCLvpګVe٨Q3g &K.Mj5}\^uc=^Qa=tgqF9̬+y6    P`g} `*&kY܏x:ɾ:oI믎juW:,W:Vx*$Arm 6 jg}^aaUܻ_WנAyovߧj'|S#nZ]W˄d.;wn\sMw;r\P ,_V^rSSͪ`QRB5 Ө2y睗 Ql.`ƌ BfkV|;ݣ>?k$3A hg^+bՠXzuosgyfP.ʷ *6U1ݻ;{\\?VӟrÆ ΚFaIٶjJ7} Jˣ:z"[e_   fX+a߫uxX,4/Kk5j:Sf ί5m;lU~g ,-_Яu`_MFկAUEC ,i͛u/uV6o/Rѣ5@*o's1V-N>7Ο@VӴP #k駟:5nW`P裏ܮ~5 `i_Z_4NP/]>TA&K:kХNN\j(@UDܹs<u h}*[(,u>?SUcPS7M3c 7m4& 6t`}N>>)JjS0*zŹsG[lk日qUP @}ڿ{z/PHWZ޿O:$w7f*PR%%UѾAա]s5SN2 `7Unw;z꓂K~LJioqgj?T&ޯ`~(:,L\[F} h_j\nw'ia槝?jeK/ԩI- `)̗֩_~Ǝ_5%W_ekUi=`UR#ϭ6m}2]T*`3jWyrO8pvY@m5UR(M#GfaS(i.9mN׿Spy\G@@@j y:gX7C'TK:Qa Q\{#qIF['+>sϣ: ҾNk) NNPM) !TFp߯rN ~GϭN*N&5(|PSB\۪+ v%-i jzou"i0ݧo8 "<5욪NY0DZ FU ?u]mvq}_z,bTPK w6V~ާRy-",cdeUJWckڧh?WC6*bM᫝w9QVA踅,=?Ved}GR+`97E#:v1)u 7౪5Y\`۲eK{8R!=rM7e& n(Kh=q+駟F4ݯ :aM)}SLa<5 L4^RW^<aKCgzPB[ӧOF?մ}z=?    @ UGnK5feί*u];ӲVGKԏ<Ȱv"6<  : m'붰[o՟T\"O'UMP%2RtBI1UV-.}nboO>d!0=mW*XR+6/h?)4\|,tRW'5Uhcj5B4@}ٿ)f[ p!- $ e(d!л+caK?~վBZW_[1w80SJ!©n%B?QSe* 궪3]~Cgww*Iq_O.7^,w4gj څAAݧjI,@Ԅ TY `ټ.ðL=3&-YKap}le+j6C<8SAL?*PNAC;NJz62?    P`դgc5:OP, tg_j2Ǫ\aUXY'15N~kاpZ XnUM+N n[G,tL+UPGXE zK' W$na,=e)=nDUDz/s$>+؉MtRyQJMձ?p]s fb! m 5d!PMU-n I}=Olx6}wka+eXu#Q߇r4<TUAʿzRGVR*}Pu1’*+kߧ6j(פI]XRpojI6 h6We'4}es!T-O1cusU SF =Y ÊmzT+w(GaVJJ"UYjmjVQ4\ ѨY%RJ@@@#Yͨ]w:NxNr)zm `逤^ moNk Puyvչ +(jhx!,QՊ4 %zX>YM:}fq07BRUeK׿6Kյd6^J'0rTJ>E'4djXӐj*;(pyb'q.oe^u6C- L/X 3dY Xֽ:@DICں `)JQ&5w\[T… ҏ5j^cVӾ@UBQqL\>孮'MfzU ô>}ǮcǎfRK'U^W>O%bX |)dBl'O9I)X +pVh BjYFQC-,0j >(x>w"^{Kz @@@@#Ode7:OP'z)kܸ:Юj:_զVv]ۣ4@* sz -ZꞪ/[_HKUj֬Y"UmĪ{g?sIMQtB\-[, oJRL۬atH\, !v׻k ` ˤ veFP_@=/7c)ƽs?z2Jb"Uo _zY `n=,QB{VF :*U_*(6eU,YjQSHiRZR53krSX=BϪݲeKWR+S֭[lZ-?46{Mw <`) em.}L+FT!UMA3gpa+TB}. 3rԪ;?    @ UGnFuO AC$Nh&Fv96 jB#@) ̪sEö脞NZO"N@B*`C  `c=.*sNև}IJWTɶS',4h>\RE*Fr~ `i0ܠ?auRt- `5jlY@D~?a5MK@}ٿW_fUܩq̫jqUR/UP }X@KyU|,ZRx*Su͸,Uii, ]Z7,C6|&/J)diaڵg0>nK Rܤ0ԦZ}e8冯bX}4@@@@+d%:OPۉb cU(N XoRݬY\޽̢se(կ^Uš~m!4An!: R6B\;3\dV@Hr<ܿ/z_+tVL+ W˶ QG'tR;b̃?^I `i964_<}SNu͛7p"V҉bwBh'spU8Jaj4X6QæK 3*e j~+?O`Mߗ~ *VgK(U(TUEJYOPhj5%"RVXk) ۯ|V7n~YuU:3R`C iaب&`q XosnS1,TF@@@j앰y:8K ZmK.RM` fu:}#)e-Mr!MjJkřsKچӧgX2 `i^I'~G.[UTL'ig{3;w}?O<;%\Rf{q8QQGPSaÆzf6Epq5)_ҩR%J0ѐs9'`Jurpƹ!iHL7`n Pa4,ȑ#]X 3_^6+(nT.n]vwդ/VxR-WK/uzJ ʼ}@@@#YͨaK1YIxDoX֪UZX P ܿYF#twSh&lTP[XixN]륨>g ARSp/:Xa_[: x)8 EC> ԗ԰g2SA}zoե5va7qD.cRϪ U^2IbUuOi;.I[o5|;{*Y0￿(d> U=2BP+jw"wP4h{gu,7=PhURxJɦM6huݡ~6l4?*ꪫʄL*`iX90k (* ~߸{Ϫ踅4,6p@7|pW*)ӤI?콾jxIU,g>\F86 牯Ww+J=)D'# ~FTJo2<G̜9OV{kӦkРeXz3'Br =[-=^XkQk)c$ lTK2Kzrh    @] UWJnGuN'@uOv:4 G˗;w `X5Pe;p@Ѥm{gCI@ԧ\k6mڴLU{t5uM79 AGM `i|iUwNk[N82' ` T;3˜3f;c2l X YfN`RT}ÆR^C6?7 Tk Cϟ!s5e4a=GӖ20"Njcz?ܹ,s 0%N$ܡVƍ# ` )[^K,mk} 6ȄU*d궾[#aAx»ԉ9yq7Ax A|&ВH;|޿:0GGHf q:B3'AURw]IHHHHHHH (J8uhl#t٢E mɒ%Aн*o*·wߴfd4,< BP5oj\vB` LϞ=#M/#Hq ` ) 3Jpjoo6mXEC {<(!|J52G$Ax#B.BTT fF;M }!H˜R6[\ ^H!.I|W2ŋg z]8m=NlHHHHHHH PUcq.P㛷wy >}Y7뭷[N>26j߾}-C|S H} fNC I !,,.+Bm6_1} "P Ԛi6lXx?7 ,#̍meQ5 ~ DgI&)% HL',0?>wYgrK8!܎*Vx{a;\=s~ZNz\:(ws2p~x$w`9D D"bl=,א fgZ_Oo TX^uƽ@\@#xx@\ 61эG +*Vux7߄]q HH n\Jo8g6l5 )0 Tn7=RJ{rE'x QFTkYUDx@/cP_z 7ʕ;YcVr!Mo/ehve :ƁV +Gqn'Q\r~nMSgTZk5X#|駟w}YmLFŴر|r/W^RVB$@$@$@$@$@$@1+FTR!m# z"y#)vӽSΝ;L2U׮];jC$P2oL6ʹiƍ=c:tPǣ3g4{W"Y%pW-Zd}]ƾq88}k0k7SN8W_mw}fM7U$?3o޼l_aL֭nN;}޽{gu".z9餓9f2;s.s+vifС KH6) u>L> T Ij6!/6Ԁo7o+M /0b /.V  $X5 B )FR,e,,?ь=5WL`U>&%y84b՜9sL˖-7XPD`ekJBC!x !I7/0oexhܸ/[mmݜ |_ /`~'*r^owd襗^2 .4믿nLM&Mt֢}]ũs9̜9Ձ]v4m˯W^yŠ_A_ew4mڴqǒAu]ͪ*_6?Yy啝Z,^Zha/ (@F>fG}L6|0Gu~窸{LB[|{ , ^c51?%[enwf7nSLq>XtA.buZE"O>?N87; q iРAG֦K~L|D|M۶m͉'$ʘBXօEX:餓ꫯvɝ?ikwos13S|ٽ{w:Dց |yG=z{]vYp+-*tI&;>';'|b=SNI{ 06ƍs̛7qXo`Bh͉'wuy^Ս6H˶qȑg+93T7I0'slm4c@IDAT֦UV:r,X <){NYabdb/Xq$_W߾}nwe+Xq[=Vl\~ip0x`_VQ~C_[Qq{ 2g1V9og86g~YD$@$@$@$@$@$PdL}ӛcB$@$P2oi'ܜznb( ѣsgymft/@m삨;e'x}Z7킛o ] ӧ Re$}v^YƎ]\Nvy.9xZW I,H| H /A" @7O>gرѣyy={P(QVC3/Q7_D|>elUK>Vij*\s ܋&W\ J8=-a.mń ,;MYa=[,JJ҇Zq >xwnx$gcc6͛7.̴75IxFS,< #t} { {|Hxw=|^e\)Q<HHHHHH@}{!PM% ^I7S{d)OԳ>цJJ!iؒ9$|M.2y($$V;< })|s\ X/( a5x[_fiŻu ;NwC|C_} !缑]Ex9iȐ!AX7¶cuqB NnO+wt&xs?*9m-]4-+(SE]v^0&[x~ ^db3}:c߆uf$&nE3>M5jܱ}o1x9BlˆX\74:iX$+@T)Xޑِ"nw._pw+ΐn Vv.xP`+ ӎqݬ0_C}??{B=VdVsAONi8Q[E-+Xa<j\_H=`A&ڠi<q$xw~过'ox0`@ V0Nwyy>[1[ʆbOaN}߬P_> @0u_v7@,4D$@$@UF )FvjAB!}dQ ZpPElIXESN9EN1X9^wB3}:%uB,8OK!<K'͛,M$@sވ]!U0au`aA^A&nz#װ~m_w}̒8(TF &5nR1 auk;2SI C'}?` 3 Ζ*!Z̮5r =M>o`; PN@/P<=|C(E"Q)o=<e"B8lI' ֗/wj=IYo\f`A@LZ8R,[~ raXkSg/Dr=uzҗO$@$@$@$@$@$Pg(n5,4D$@$@G )Fv%tкw9#z 6n8_sP3ށXďjMeC1oO81J0A EрMV(r$(@Fy6ěp !(UaHWCj ^OpSNs'6[xhAtI'y͛%9=ϝx9gPF D]၅T|mׂ|-b1g<#sFڗsqmƑHHHHHH*K֫aj`  2oi`E-d`kFrcлwo|.W&ꪫMHx 4h !X&رcCyV("$(@Fy_~F=t K/<]!ܡ&Snݼg^X -SY!bOxt KÄA}ަn!*wu>_X'O}qB@O?E r؊T9jqYAI,6*',|E"B[gz_0AgE +R7ٶ`+]SnrŤ8X "p.W1}D`Eeg!ޑ3(63&R>j%BP`iUVn@BZL ТD $@$@$@$@$@$P(qu5,4d$@$@UK )Fv*,L1eѯ_{A0 (aq@}FYND ~iok U?>k]s?c?4o txL$P,8(3{:v蟑ADRr'-44qD>,&U+L=9[3,(z}Yxy X>!U!C c      %@VmA= ff  HʼZTK/8?۴i:y7x`^H¢E9"cǎuџɓ'[-T-HC_,Xi,PC$@@j6c.M8ygܻg:$l{Hc+C#%-}&ԟx9sf <puj˲-Gkާ] H-Zx˶!XZL ;O1ز y}4Q } *ܷzgn|y糞._3^6N0V6.F$@$@$@$@$@$P[笶d!P- YL%  *"y#N; XXw9=P?eFoy般8QncI/ z'X KKV0aQPcvY4o xL$P,8l6B(s0l&ypA;,E ={fBJ{\2mC\l/IZP"┰2JUŹ`@! g Ds['(*4&C|C}EP'Nj`AdsXif ;W*w EP݆cL!X~ۆxQXo:H[a͛KU9\r<$@$@$@$@$@$@"@Vƫ +& (+qډoE><&L\![ǰC,G9A^}"ꫯR" !cԨQiׇv\dM $@:}I 2 H y#i^y}%Jkρ:qM/jKlq[nӉ.IxgoB V sO?DHQ :DT݃f=}$B a+߄:&턥RlG}aAP#9 Hi=au9uEC_|mxҳ>#NrG]R+‰e\E3 dsSN"8»]X;OǥS<3|6#!*?A/NrG]x&mO/"߷`Bx~Ahb<\[x'rs ļy|Ĺvu @>2o$N2m;e]՗#?C3k,c=y-l֦iӦK`C`]w]馛Uc n삊iܸcøb5kfvi'+k! Jy.*_~=\]s5 Ƅg6~Ьf76miԨQd]vX7c^{moѢEs=u}"c}+x1lQGq?~chΨym77o}}D0vz2V0`vqG7VYE+w6=cYbN~Iz2Z!n W8 ~!qd>33oVX!%Xpjno&MT'  jk} 8O:w2{KIHHHHHHPU_[.4D  I7b'^4]wc C )F<4 oc̙3^{lǎ͵^k5kHHHHHHHX9.[ŅؑA H4IO>fΜ9f62쳏СiԨQO$@I$y#l`Î ꫯnHŋ+#ەVZɅ#竖-[6DHHHHHHH `9 Mp! DIHz$eH3HHHHHHHHHH%@Vjjl@ h`I7bg' ȓcj`AH9N:$3bĈ,Wtc,H$@$@$@$@$@$@$@e"@V@&,4$3' Z!y#)v&徨&VRN M@:ňM5l0s駻~WL˖-G$v}w4\`;0ӬY3w馛x$($@$@$@$@$@$@$@I'@VGL'eLe5$@$@%Hʼ_|y뭷=4n؅xznfm5+x駟* jywfV2_%Kӧ _lv}I&:kQYh9s̙3]XGe]LӦMݾB7﻾nfwtto_\]wլR߾6+tZkŋE6EX@3g:蠃;Ylv3|xMM۶mC+ʷ0|`Nj^u9>max Ob([}c'qp-Fo/=DVps+Ӑ77W!Xx{Er6V^1ϸ`v       (?D)~HH!y#N;o馔}Ss?V<;wN:O>g}ߊ|+Ic7)V_m0Sz*-1guVhh^U~駩<021_}U 6={dgҤI:-m${e˖v֦؇ 'ڱⰔYc}L߾}CoDuQfر.څ-RZ:;+”)Sg)[{챇;)-,5^ཀྵdq 0O`C ]}զ{t=8x{utlX>e.bӯ_sO> O1vVg{o$P7 {}Q3m4g`~窰,bO"DW_=d1<)x#@xC>cǎ/Rr-r蘍?[Qj>,soXgom,Ẋ9#F]&jƌΫ"ڵs6 {+(4;wA;̩W=Gq`zxLCmڴjҝ|L0yw 6m;9xh>xnF>+k?s3b_}F w.xCIkwisrO'|V>qsw6_?Ż;[nw&138y:,xóv[nޫ[x=Lg<8.Vϑ @E bZ"ozsHL )FvjD.oO>~!u 7xV9$xoB~~eøy($xNҞB/woMԋr$ g\5+ <{YnҊB  I{:hepގm&eeMR1[]Tw׬8̗e0Fwq.:Ӟ7Nx9roi&a8fu1uAWAqYL\K?|瓬Ʒo9s=/sk$)+̏gl6TY^ڇEIV3vRl[m>V=+>uaTapS)mm;8%VI+EwE/=Gsnm8fau3lwe8W+E`?nܸrSY]w}#c\!ua{a3I'Uğ/+ T zQb,$@$@6!QiLoD|o:w3VN#A-]d6͛7^-buE BCV^yxA:-YĬ9Oz1'H]6 (k.RwN{Lv @Yx'$+ Okl8]ޘ!^ c> 3#|g+ ʆ9s$ŬŜ1>ֆ~$c(6_w.BqAҟUx,Ë'&+I<`1QFwSx]'Ϭ6$^+N9q:yL$@$@$@$@$@$@$@'P%B0QaM `$@$@yHʼ3 IJц^ |;E]i￿?Ev~o؝l^OYARhv=#9 &uBo.>Vg[yVX7l ch" _$۞]Ҷ~x&Nj(&.x-c"z#缑gߟ𜔟(Xi) >omȵyQ~YQg5ўlHW)VB=i_ 4f0EP%-{q$a_0]Nz X c       XqaJ,  I7S cDD%B>xE+"ވiIca.KŶm .sEDͻ,iG-)5~kV~O>=Nx>^29ֆ. 'I 9oDq3H>Q$C!m>Ɇv cdžlx0WZ,`a.`ù?YS}1glY_$.xB1V cN'mЃ᳔ҥK`]σ{)x+ }~fjQu78,7 0N}abаv$6VC=9       XqҮⶪa4  qک1Q QF9{ _]$I/(.eKjQ@(o{g L |kԩwرܱRl6 Y8!<\r%.<t0믿Vs)I q7\wu%9r_~Q榝1bKZ !GRR%X˖-s./Opý:Ib<1"䝔|ZH!ϵ kQc\o-!^MɓKek `pa(اPE 2 B|;עxb7tc6VC=$@$@$@$@$@$@$@$ "]TBC#y$@$@@R8GEVH.\/>JY$!l,pTTB Bv)J/bX_dIZsXhSZԄ!C)=ԯ] ee ~-Ne>(ձcGswd\ uqQ,/r܈z^q'4`o{5[=30|X<!LO6ҿܭ/u={vG_.; !2;lpxz衇Rv,)XͩPa^JO=+24`VF݆W6VC='       JԫjXhB,4HH @R8GKEtY7ٟ;wnH \۷o_0e`Ee8xqeO=A#a -J p[:iQ?>ڔ/Ҋ DeL#%yPw,[POX¢=DF y#%|ςj`=r-Du1yy*[4_}UhJA̜9sݻvrذa1ce͸&yb(lj>,u 7} ޖ}ٴxTKW",%UKQIrg`>}C$@$@$@$@$@$@$@ Ia!Ah* =qکã1X__<, K$ LX̅hԩi# ^9/BE& Σ?'ON ӇZYY5iyC>s 1 1,k"@0?/^^p"bϮj?:#d=Vu@7 F qcT TSNQ]z^v}ײvnk֞Acw}k'NQH^'xB侀 16[#?weV\ `{K0 8]THRXr/HzX c       XqaJ,  I73aL.Pw/va+[8鑅-D@JGۑq ^JXbX^裏۶mG $ͻ\ XE('joz3X~}5Ӟw,f/la_w;$P'7 Kl.]5(z&BI2:ڈX}́X넰:6'3xEyPlI ʗzP{=`…|M`ADLz!$ܳ }C$@$@$@$@$@$@$@ Ia!Ah* =q9bHXQyA͵p>jaBݐ!C /SK|x1. "D@}[y bEcY{>`QX C ~>EB<Ez#<25k֬`yLuC y#T z ig7LIj,>0a„ [x<³xoc\D`B? XhZyG`B+=32~,A(|0wZy =`ҤI)xUDzݼ{N5|wM/\sx`= U6NIDATPRX}o_uU]/ > 3_G6%R5KR8[       &` S@uv}:' C )FRz-v۹Sv0}9r.+1VcrK[MF/{gYwuͦnV믿nGczeGӸqc.ƚyf͚vɬZ5X2;_1l"M ]lt ixqiҤiժU5TZh{y.ob!FmdvuWV[Y@myX=XaKNVe:t萖z2|ڹl3_|qZ'|X;gXcl 2=zȖ],cECoXO5}\<ҙgi9 kzzVXd)֭[,zed'Ұ-_~q>>'$aܖ+7~gKla;VW_=\CXw+œ9:covF%Oٰ}fV ru_o~])c=?Or跧~6l?ε3esl>r$@$@$@$@$@$@$@$P `UzY- U& Hʼ;5b,[1,hQ-Z(rth"kJ_7(ʌuYlj*B$@5E 2t0zF2r;mAHgqb\"]/7֋>e&Nh#wn̘1ƆHK_6z2BLwAe\ }XOYzɸݺu36DYeU2 @HL6-Ml?ZZd #GE@+柰3DRǏϸ a3mMe\SN5@LKN XIFp5\SN;XBL&$^M߾}fVXa_NvwKcDӧ˩- s̙cZlV(RZ2]d7v5 80/"2C>BLw{/\y啃%\} #N:vڹ{W|e|Tq :~/pHHHHHHHXU44*Ɂm G )FR6d)x>r%,r~EUg޸ T;4;w.5vό7,D$P[q1<$ hΝD&6|sMPeôЁ͛;!Nu]qFxUW] |398ըQ{Qv 6Y!&D0fANB.\hNk;OqkoQuw>`!B(ZT=I=tR'+x2O>_ܻ[)sGJ3.FlHHHHHHH (J85ոf$@$@EHʼ;=X>c E3as衇=F˃bHHbQa^z饢 JJXH&$eި   jh0K JDz$@$P2o$NIp{C-"nN>d2 @$8H#xLXIHHHHHHX=\h(C$@$qY ¥6|ᇎoa.rӧOwgϞfn_0 "ƍ?s1f2`u!M%N:$Ӯ];'w}򀅲vP .=^xfС.#DgݻwLb81/1K..tB"1cq"#mL$@$E y#'$GVeu       &@V}=< A )Fv+B(? F"7+T흨(-CiȑkZ-9tA3<|A<~aC՞*)E_w xlA\?# xXyq:#]uMcV$@$qوp  +2“2!Y9s&I:S1C=<;HwgB+u^zRp .BsWdHnb OSh޻iIR_ǎ׸pM"C+xt! KJ!R a&fgwvQXOT/붞|}숍,C$@$@$@$@$@$@$@%?cLjcA$@$ )8aBghB"H YY'ӴiS\BV!tUXެ\ؾUW]Յ!gӻwb cCZ/t A~0GSԸqc]$@$P08lƕ/7]tkK..jIwz2GȼϗV8kh#tݩɎA^Vsbuʇm`C $O?d-Z!t#e=X0|bѝggBm)D[{.]G< @c9XOM.p!+rKw~wuߏA"W |Dء Wt(Clٲ饗w >H""Vf"n&MH5."!I q& 6"       ,&,$@$@!N kXcƌqu^! *tx™3gt obnZV/ |_h"/?s3p{'IH@9oHaR=`!`T_wa_6S,}ۉ:ςͦJޡC m""qu])xJRfa!6se)/啕:  0Y^,4 $@$ I7 he=kdi#,l!ԏ;3y 9٦M_tQT/p z5 FӰd=< d#缑-J 7w\l òƎPFEHÇg?~Ϗ<ׯ_F=8X SZ5{z!Gtޣ59Q3-:uY!~C[Үl59@z;m@\&?^`=xs֛χ?)TC^¶6\B~!^-=( Il+ EIHHHHHHjX6EZ4HHb&y#N;⋴;IOu=DkJ1uT?6Njܸq~A Tj!|g)Q[}) 馛5& F y#XSU 0z) G"ֆM3CQ d9,6/K],̿a)J9WR/N$O>˕?x`}9 >|{Xے̮cY@)VZ)q~    c`؀gt!@ 2o/_Kه_Uhj0+WAF<^˼y^S3l>l^?XԾy3L:nRR{L=}0YAl-\0#A=o턳ӛ9fJ=,{ݠ . ,6D3fRXjǵۿ[wYݘ0a['X;wt3f7.X{vץ45ZVEgY/䶄:ClX.?7V`;5@@@@ =@Cqh"%}@e(~:ݻ Z5jHDY:GdrAqDqw!Y NFq]vIRjժ%EMsv=r8k N:ҲeK)TP # jT6m1믥W^nvKeϞ=f "NVCnJJ~9ٕA ,:x$o,'~:AC+2qDSYP{9[oZ8A0M7^Ve[E1-Z$=z0NV&1uy 1,[O赵dT[_էbŊf\%)))i8KIh,Nuڶm+N6/q2e8 K׮]Ͷ]ZK/tRqx={e4w۷o`eڵ,h9Am2hР`}βG dJqiq2JժUInܵ'\pAʕ+M1|qͱ9sO? 4s2fI3l,qb%;~9;]st*#   Q.@Vpvo/R4dC(X~gNG%Nfk07ߜs9 vH7l"Z2dQ4G_|Q/_E,'˓رC,;vjժikINN6:s50@lZn[q9b*C իie&)OWA`8K,] X{G55xꩧ)VZ4Hs&8YzPkL_W6H4Kk&W<X,mW?'+V0* M8DN7onU)u|wYfQ+j ^ҥӜ3eq2}7c iݺ)SFN8!NV.qO>Ĵ7lذ4ܺk4:Kn6._;vLcv\de%xE@@@bC,2R4dQ* D_ 3}Hsn*wygNO> 4ohb+]tp%,bY۷LP4fAXǽ#9O=c+-أ?{P`9fʨ,GiWGud̨vdu4`YvVO:yd5jT}TPY}f$ ʏ4 F}Ϭ@@@@ +8[wIa*!_ 3Y0fF%KչD@$\fڴiSv yLv$=0uTwB[q޼y˿e.cƌq۰y_5|?lFhI64n8S_ʖ-랛_%uiFlf~ޓ+=~%4i?V7KxIXt6;fT'>3Y:u$zL3rA4i3[t;Ldvk4ԩS&n׫Wd.{d=AW{6ee2W^m޶4ەfq V4Kӥ#fӿʼur뮟sŋӶ;vɎUpa;.wWv_;mK0"    ML 1">˼~c@@yڵkf?]RJҴiS)Zhu9Al˸]zU4DPI0]vpRHILL4mhPRoցLiG R,}Y.7?Ydh6+h]MǫQFAŲ\iV3 ܻw RYV0!!!W$럚*S?s .i{٩kzo.;:y%FgΜ[4D@@@@ c2#!Y@~7O~2 `X#z@`ҙyІ/sIwt$@@@@ +Kبg_ 3TB; y`ț_n=zt"is&XѢN4 h4][4[ ӧOfVfM.@@@@!@V6b baG@ t~7Ѝ -!Ey#/z?WH;wnؽ{4lP5!'"    @#`΃hI_ 3@eK?3j\@ +捬"xJJ$''NKJ*w     5`EPFxА7?FbM/_kTH    DX=>aFͅ@˼~FŇ@@y# [@@@@@ @@K!G>!+y/ܑg @l 0oxs     @ A#a˼~={VΟ?/ jժl$/^('O4UREB6 !*y#Z/@@@@@`yBw4@˼~v],Yb>5ׯ_٧g̙2tP/"͚5 Y4Dh@@@@@?  ayBLBb@/۷K&Mb-"yü;l@@@@@ +?T}&|8ht(@~'XA @捀.@@@@@ A.!F> ˼Q|\R8 RjUۤER\9w>,'NÇKrrٿi&ڴiSwΝ;e֭rQ)\T\Y6l(mڴ1m3gȾ}d޼yԭ[WjԨaγu_Uv!ǎ:uH֭%11[-ݶ}ݺur!pԫWϽŋ@1o䇋ENJ״Y};     Y %QlT 1Z% P~7O 0`oo HͱaÆɌ3)))&Iz>}dÆ 6]Y|&K.\Pz왮={<31 ѣٳg77o.|T^r_L"#Gt{77nlΫ]w7 /=oJfs+W$..../*Tȴ;p@5kV\F@@@@@(:7Z4Dѐp+ @D eg?5hQFif:x`e˖IΝ_cǺՠA~tM-ڦ8if-͠-zZjڵkr_~իC1ݸ[Uf뮻zĥms4?4<=FA$y#?],Y"m,t. iTvh|BBB~\6@@@@T(؜V}Zƍ'3g4ug}=]:Լ&M.^h M&?-ZTΝ;'oL4 *OT҅7t) &21j(}tpfX\/SN#F ]>2o7n({?~`N ?n^5+11QN<)]tK9@ 9oX[lk׮IŊMpq +vƚ;E@@@CPaCA@_eg?[l)f&NhwS3\|d*Y?#G޽{%..Nڶmc76o,mڴ1o5n;2 OMa!CȌ3L`Yҥm`թS'7LhvWJbŤxn]6@?siŵbW{@@@XP6AC D_p7ސѣG'xB>i׮9*MMfXf8p~ѥ mnfi K.fҡCYr~衇dժUf[KC< - O9odF{_Sl2(~O?_[j%}2ed֌{,'X'B n;vcrYNm6Yhf]v5ٱcGSN]oԨQЀd[qǎl2V0˾[Yn:tH5kfY*/6Aж^֭M6H>ԯkڵYu]|yMIo>|،~NfTƍ%u.Cgta~~%%%IJJ?&fԶtboQozo]̙3&S]^ٞ;k,믿nݺ]߾j[}yKʕ4ǎ39]zY}ܹ=!55]>Zk`+LzP@@@@&JM@IDAT5ƃ+b[uUX{w-ke||m+v(X"6,(] `|yޓ9;sϓ))ILycrt$` 0HHHY7_5׷oߜ1&+.w}xv<~?=ztqҕzh^/y嗽ߔ)Sy[j_|En 7LLc-z>'hK/?Kp}}ضyy@$@$@$@$@$@$@$@$@@;LtMN_tXc&' C +FksҤIfĈNL{;`Fiڷovygswl裏Kc2+֭&l8v9ӧ;'Nt0vX'=XQA:묳\]ke]ƊC! SO=%n;<,iZ~Ve]wݼ C5r?nVn(tM6'pcpy1e>~{馛!        <`ё@ZfM d@Vƍ'L{ケ>8£>+:֌3Gh֨생+ZU=G} ;FBk_  $㆔M,`/U^{M=Ç~I;E&+˒P0I"I XZi',Esi ybi˖tPz,4U`I?oXTk XuҺ+s?xgq&LȳDVo X|{Ŋn b} eze]aڋ$@$@$@$@$@$@$@$@$PT#.A6@$@$PLPti^嬵4\|?iw{1? $! 0K"da~UI:w=s <1 @ƍR3({Z4*O4J|ń6ȗô "YMXbkMnY5ֲ?Dؕ8kŒ1 uXsZ  /׎ !V!s$ ,G,L% Dp.g`vxwk/vLlJB&.%4$@$ 7J7|3B铣F 2y>OvZ߅&wK Җkۥ ?S=Ѕt->E|\BS)tVz9qwv88XEk.҆@,`uJ[ :M?-X=SI)ܒ TCj8ihhhY$ h2n42zyL:믮1 |~BiPSL͜93E]X5j;Q,a'N(bX&$!zSN~sWI>,1ąNOŠ֘1co-(V,>wHH 9nCXX:6zӧǂs` 4 Bq2&U5D,irZG6l0V)CQWK1Ɯ`ŬpOz[mU,HsKX!&QDIHHHHHHH!@V9 LZ&5H$@m@VƍFS[ɿW^O8ʹ}mUJˆ@k}-/aŲSz9"LBB ^[ғflS">8rq[  FŠhVR8'IF ;8$ M{ӒgAdm c9Bi Wc4 I/jVEO}M0k z f̘yRbb; |uqHHHHHHHH `U-FIDC[d2 @[$qIJ|2۞~1I|9,Ë믿3OJ!>|xI|׿ D,YIzv^~e {l4c uI[ H FI$kZɓr% b默"r *eֳ>CӢm0P #l/rXIaӦMq"FKR>VF<: j%$@$@$@$@$@$@$@$ڡ]x5XI$@$@ʸ?oƏo% cIfe1ԩS"w}RB %\2/܄ nbV]>Ǵoއ'|7 .֭uY]إ4K/t^<74چA[̬jfiv>3_Xf54s5W, ϑ @ Ƹۚy}nƊi+5s1G[kYƊr1ƒ;^{oigkv^6;gbfĈfvV\eE$';^zⱢa$l۵kv\uUr`k:pˍga ş~ k\`Ҁw}q _W.Ghvi'+.sϙ[ϝ*3`0hx^K F 7إ 9agw۠ pIjXHK.=bC-m.&H'k ]Bkӝ XhgvCڵYٮZ+fׯ,&       hnmiYjC- @ deJ>] 4z B[+Cypw׬P(/vp 7sN,?7n8N/}igaVXǷò K'|'敥2%X9r{Gi2 ʒI U;+Zw_oXw |oxz?\C/AZGNZ̡IΊ|ZC I $@$@$@$@$@$@$@$@$%@ X 1iқuA$@$ Y7l:sI$@m@Z m% Ա,`[`#1 Xw.&v:2)S$iW!<[8k_XKeZAK/7{|W]j)p4h[^xa3|}#        X!&=NDCgIH s2nd%k0 Qi7Bk'J7֢U/,B:Xvmg>w.\'y;e "Fp' mK.4^( $@$@$@$@$@$@$@$@M j'@Zh:,0 d@Vƍ3̀& 6G -o*rֺ[o%K<.Ҋ~M74o9:?e-֪Q/I~0&/>nXnNk-*sR%nO>@W^N9yGxkm˧4(M'S}s=B#{Ρnbwy r{[zO}ѱ$rV篙&slq'x/M6sXZ]ac,i;vl,zn̙N;mKzVt_}U4ҎGΡ#[ $,K TF -BJ:+,U 4@Z >WxXyWRoXOkI2ӦM3eY:c{/O? ;t^{~`5_GKhxHH u2nd%`fH@Zƍ kv}wgH[_K h^={4_}bSUȄgHHHHHHHHH K(Rm`^2ЂEd$@$@u$q#+c0)  eȺ]vzg~믛qypDP '       < 2_)@Z&SB$@$2nd%-]_LHH<i7ڊ+F}W7^{޽{̻iQմUς `ihO$@$Y7B$@$P@ZƍGy|cǎfv+,_}U駟3g[tŬZCskgH[Cے1b>}ܹ֖Ʋ #@#V @6deJ>V6?YuU͖[n1?_ dҤIwa~{7 ^VD"&"q*E%         :0'\{; 4@Vƍ5hԩSO?dsNөS,3[ECVkЯR^yswf=#LmBY         h :DCk# tʸ|F튀֠_5*`~U@mǍ_,!  ZjDC+Y& V$q5?fҤI?vVV\qEk\0־;3vX+ESL1:u2ݻw7lA4o^~e/o^xႴua3o>}K6pCӿӾ}{k4%Qqƙ'x>,K;cƏo|MB [t2,*wk믻V[1#O{]Zy^pZn եK5\*kfƌ1XG{5~ӧܹO_5/GCfWvlQb2=6^;찃`?1?-2/tm'^zi3\s$>᫯ʼꪫuY;aiӦGyĠ>u uIGY!FV0$@$@$@$@$@$@$@$@$@$@EH0HHHY7?KW<kME|P_/.ljo݇y]VXDa~;SnȐ!XLm'{$ƓH#Fvm珑/ܟ"uYz_t5/:={YU5XçmES-"__~9+Θ1cr,H4.C=pVy\puiEp.OC٤u>8 Nwyza<+>Y1b4O@ 4zH#HHHHHHHHHHregl$@$@ʸ|zSn`z-U}„ ~t$v7"UF+5:A?EG$@$@$@$@$@$@$@$@$@ Pf1"~ke" #qݻ4|]Wd:]"0,In9N!=.>Mٱba.̙3@O;mj}0z>҅+qOwVx.0LO:~)w饗Q XM6$w 7z꩜]:]",tz+?l0-XҖ` ?Ұ&$-m묳aIp,X~7>ȳv.attszOWSsKi$q#B f:         H 0K ˟W' ʸ|NlᏈWtjRqv!q (օ^([-9y$XB0nF3ABK/dG ꫯo7pC ײX=zA\Fi-\E?2|F󚥤b9'&96e4?-1]"1i3c mS8;찃RMFA9o'xVSetø[ -<$        hcl$@$@Mkmƍ@}7s5k-H,Ծ}{3smiLN|xٱӱcGwh'Rw8v BIWȑ#%)ӡC<e9pdy@uQfPV[<+y뭷^o߾梋.ܾ^Bo#,Xј;H%N6uTӹsR9Sܹyr/_6e'w.Lz!wl Q{'R4?Y>3V$BڂeҖֿ|'AVxgfeZy3Vef}vf'wH 9nY:t9C> R r-]Ė{iZѬӖ$        hC(jCYKQ8P =% #q}YtE7D9W]uUCD1[X XZSK//3K[R9$c[CեK3qDg>H,6,Sʽ*[kD B]s9.Ҵ JsA`X "r=zpt8N%! D5ƍ7tyw̪DÇ7:`"|om]w] .&ack%t_K[{geCX X[%ߢu\N’!,ZcAC_KK-ʌ4ā{bY- @Hxa @92nv>ꫜ]/g'sY O9k1 d kW>(-^y>T^;\?9!屓r*gR|9;V O]~>]r%>wiZQY4*8 bpoF !~.~'Na_~%ZkN?4?k?#>pĩG}…چ[kJ cw9vԂ8/*M/gۿ8_*svi޼DV[y?͡׶"ܛoF]p%H?˰MQtpMt$@$@$@$@$@$@$@$@$@&@ Xm&1iқ@$@$Y7OX!9S\‘ /L+a +\c5eRn7_Aw}-9 pf+"p~N\#,`,*ϝj<Ìxw` .;8syr$-hZ/(K/6`Efv?ăǻS k*b9׶NkfVr~0b3 w8cƊeқ}77YAx:H+FʏbqYnּ(zrob8~W\˄jKK4pFǎkd)^{e:woҖclEX|ڵaRG~6h#oV,baT)/,`[zu0CK`+d,{GIYV#e7m;ukվ}{â8XAz`93UAD         h=և1w"/UV^HHvY7OXOsIb |+RrAE:ꨣ|<;퓆5!f27.,Z Xvr_Nԇɺc/+al VΤ.fg4cVϟvi=rڟ ۋ8X)f `EFoE[oaK[9VH]>9}X#hԸQXB_lE.]zKVLM<ٟC*Yx-ҴKz#GtgE[+q.ØfNaПh˙믽ԩS"]C+ͽ롗;>}蟊9T z(oQ%Ck-;<<         L0%30HHF +F#*rplF>TL߅^o\<,+%$5xòu '7N"L(Ң,d-!I>O.A2c\t衇  4ifXhN aôi\٬ܔaHXKoXX~ f̘19IHz bke毗"/uq} ti!%'oR6l垐0ܒ@ 4rH*_Y܃C 9}O9%jXIiy.< ޕ|YT"&*@&%t`V,}"]~>1ǹ}        H' Y/ U&^h^HHjY7OXIUj۷oaÆъq(B" *+q]q.'ׯTH|Kx$=nmc@OZ?wU"VY-]rQwܑWMo>kv[^슳K8~?X,MI߆6*.k *~>k'(i돥X+\ RZXvia'~'auR3fC fg :         t+ӰܥaaHHj&qH&Vc[L1.a; )81|Úb2' bׅƣbNb!c<% @!E/障/MN' (@Vƍȧ|5?~ +@1,YeULNO. e^}Uc'M׮]Mn݌M#ˆk-fE]6?x'n8ac_,a+@vIDۅ^,f6ڵ4̄KrkZ1K/?O}%ak_6hfs5Wx `-\ ʂvlʌyg\wijk64t@k!6X!錵GevqG c  kXKRvZ}XNc-dZjӝ¸ֽ{wݷngELs/#< 0KۥzgE-L<92ֲC+jvVl|{[o ZU]pl5;M;ҏ>oVF$@$@$@$@$@$@$@$@$@%@Vv뮮9ODC] HHZ@VƍE+:uy7 V[D$Mi7j`mp`,%MJX!w'7x`c-rya+C\ rKcsQ>`c-9NK."z 2OtPY :>ÌPk$@$@$@$@$@$@$@$@$}`eR4L4ԥ LHH!2nd% &]իe̽[U\F"&4 j4hXVZW{1vZws= kBXi\rIKQ3" >soQ ZUK`V`1 e@>Cq`txL$@$@$@$@$@$@$@$@&@VnODC ÄHHZ@Vƍ+/G^z*вWHI F!CupUW޽{W]^{o\|,SM.3}qa`j7/O:$w>`mF't~zEI ! XXwWv~3v6WJ% :­Yg'am}ꩧ aḚ<1\1קZkeƎ돹C$@$@$@$@$@$@$@$@$>`NZ%Gihh$@$@Uʸ|VU D$@$Pwi7j` K{_W?fڴiD+,-a?<>,,ر Dž +8袋o?nIX,'.`Vj\qNMpPf3o9̣>[n1{ ZO-2fgw Z}0C!@[gu /@FC$@$@$@$@$@$@$@$@$fPfa06 @# deJ>Yw @24`͜9vmɅݧ A \Kwqy~sAzaCN6I[?_̓>Y=3~@-?s9ǜq:'@+HpXn . ֫8JZ<@x㍦O>yqq~s~Z+Jt}e]f^z饼p=pOb<`Bp-o! ,C-zsHHHHHHHHH }(J_J0*EIH"q#+HH_e>cL/l׮]JrO>tՉfe.rf5D"I&XЬ[nyx  X-,8s%wRdT         ,+ Ԁ<Չ%HH) deJ>$@$B7RX) dXFd k @!q#+l;-%! lฑcIHHHHHHHHHPZSv]N4B H9Ygʫ# !qi%         8'[w9 Ygk!I$@$PHF!!         (MҌ"'YH Yg* DFMHHHHHHHHHXM[DC> 'q#+,N$@$@"qQy         h[(j[Yui8P5:F$ $q#+lFB @ pHa0K$@$@$@$@$@$@$@$@$@$`eEN442A$@m@Vƍ HMF돹'         "@VkOu9ѐ avHH 2nd%)nfHǍjHHHHHHHHHJnbhn1$@$2nd%Q& @!LxHHHHHHHHHH4 J3jhhjf!IHn2nd%u&D$@$P5cd         hZ`5m `E5:t5Ig:v Efo~737ޒ_3f\B -Tp><ѬeHp@IDATMAht$P@ZO$@Y& js̑0$P1 *F6#pm+KE$@-E +FVRtIH*#q2^ <rKCe]L@hs=dMb^MqNpeb%(Zqƙ^ۅ^{U4|[;v3<[n$9:ㄤIۖ_~y Ax!_~,̙3GaX,xvqG3jԨ6?~/.1c'Z.f,vZkVGE(otMU]0nڵY``9^f韥޿ ϛ'<-oV{ܦ@}Y{Ņ~s0J6m2eJ+dw4eyi rt$` 0HHHY7r3 @y܉'Dh [;`:,Wn+$i0|n_Ļ6YV~LXd}Yn( ᠃+x?:tsUWł\A<ÇGB䟲|}{6hmq׷\.qGzκŽPʵt\,">Zy{wFZ!kp@9Ln{gARu\˽+Hzni~]r%9ot-X8DxFw6n=\%}\5#\ٯʘnRlwi'?ޔz>HML0-3b8bh0 IY76HX(  6.̿ ?~|*J(LF(wd~SEV52qo%AV@L%k,Ƥr)GV)B- +VziS((?)hz$ǵk(XXhLvX^3+X :s[#{m?dȐ>N.}=peGk1=m^{ͷ;t$}3}Xc   2nd%%3 @Cphf^kr!.`ݻލZP,s뭷|xGqfvsyi%9cw,J-@}yW\.]%lA{ my'|]^/7| c-`޽{}K&pכ^z^zӧOr`c'?qйsgVgӜsiS8 X J.A2g\N劐ZԩSͻX0Xh' t@Y_8B -䖁YWoZ5;cz~4C5Q+L1x~Mvܹ?X+EQcc=֝ ojPI}=t̘1CgeL%o?s׺rw+b ph U~靽:cIH5 deJ>[.ym  'qYpKzI3}iVz%ӓˉNAFhI'~嗜XzAaE5ZUkZ*͈ ;]r@RLCT wa)Yٿ+tTr`E2-E۪^V1c>DzTO*u}b9{>n@-`'9:Zb  @V,d%gh  "qcʔ)0?/ vγqv-_}fE5pKǾ$wi"eYXa ξ57xy _}fw҅Hsy_}|Uzwy̜9,O{n>]|9/%pT]7t窫j>3|p3묳]v}/j\]w]s'Z՚;Ӽ^xagi_8oH[3}cKKr?1;sF;&Euc]Y曻q_7p5aW:pgy9餓 ו|pºb)WKG.S0/0\wuY0OƸ ,P0V Q\VHb~s~j]w5;C,Ixg \sM,)EX婶Tnk{R B/bg 2b|w< /jE }(q8X}.\seVZi%suY'/Վ:J[E{]~uzz /?x0`;gipoܘ>zh?}ꞟpa؊Ϡ]vq<7|ñG}~A[YujZtdF1A<[cl-¶8>?wK3ʀR~F\XڥΡMO0%şc9]PN- qra<3eO mVB}wt$~oHkxb/t}N;ݥ\}ғrcV>Er-}.i>^K{#p 7?3sx'$v R}&xOhgE˘d 5\,gc = xH /HH*!q#+=Ò *ϾۉW_}U}ڗ9;ᗓ/4$J^:Vtx$Ϗœ+JuyI־lב8v&'}ed}I+Z~XVV\;E6cy9)v=T9+Ji ̂T+_=KMNǢ杻Kg_l箼ʼk8e_~X(Ǖ*]/g Ѥj㢉y4ulNrDSMj`RkXb@ ˹tXY4zX~,,>y㤝YMb|XM[1ɵ<Ȝc9/[+TKּ%n3V0 |Kd۷oxQkޭ< P)r#֊ϼ_l\ ];ALuYg%fXז}'+L=$RWMFmF?)u.7 +ZqT{3$P[+%oJ줴Oc>u:2I}wZ s|z~_$[aQvg\[^rK^e[6/j%nE].7[Zg+Yy ;"zф8#ebſ>=;-uCr[+}[O#Hq mbnܸqEo|\WIWm{^pJx:$) +Y|˘M?"4j}~<+ yLu%@ Xנ,  BHg%@?  H˸q5|=оr6)Y.c`]¾tq/gȾv_z.bbJ8 | ӦMs%8Xg/Hpc;iN!e?H!+"2wD+ K|]r[>/䉁%,֮W^2 Ve%XK(_lXCxv3&`I\K;VX} m{`CKX;S\LWZFŷ, _63p[R'08ʀvv{DBːj ˣڡB;@;:?pGߏq`M Hph rX4*%VfdLG|; )k}1^sX[K1rr,z}_ob,)_X5j]V,Z< ̱N8|F ×?K ٰh\^CJƸFp3XoZBjuZA~_ #~;>e'fp; MG :_KG;O;XENc-3w%<~j+x؆~pĈ&ku]`[i'Vzp?}*_iWm{FUx~:r7i} ϖTFAޤA?&-t|gx+nhx_Z a~N s:h1us1H˗ޙȌ @ʸ|6YaqIH 2nktX9X^/ ܟ cˇCxX\Sξ3.5}k}y'}A+c_XL؝ֲe_.U5S9Xv%2~ r[ԥ}&YA`+jYDDZE{>'T{ Urhwlry˵u#g'd$IBOr:؏ݤ:;bd7pvԳ` Bʋz}ývsVdc\}\> KO<Oq][|Fu\/G) X-w+R*mi rEԍU2+_|qបv3(V`0%?v e6#2Pz8XVU4I_𰚡;A[ y.5龠^cz5X#AMJDA{Yj i+HXEmu +qIC&ʦOEoExacTͽ*[L~.'XcEmyqPj~dƞ(?yXʌ: +Yo?iUzZ-jAw KzYµO_ }q鶋q1r"Vj=x'tZV1dUѾ{=&%Zn{g{ Mn9xc6UC'7qV<So\ WgI [eGD_۠}<+7Le$@$@ʸ|VIHZ@V ~AJ9DRx1[bE/`arB^]XXP˂Hʧ_bG9~ cDNXV|엲:d-6\!8 ,9i?y<{ѪE_Fg#"j 0lkrG^*`a"[SŭGbG)VA H-Gܢ'`!t|b,Lɤ%3IVX ,IK`I:0IXa+K(u=(B'U"wޑWJMqBA"b㢞0ńg xxb-waI_ xB*5e6#5WW aIAn- 8`E=\czț^^0&Xkl_8ib}A@:G޴aOF~Bo#XJKЧinfS^[zg|$-ˎjd|d-s x>RwP$S%BGI[| y „b?ׂ@\{98q8-Ipp(hWV5}ml|ǺVBo.'pN uz=?4o}kM{qZ@}d[$kL2H& @2Yg2i 4@ L6`b/=! EX$Xb:!&3fO͡UXs0PXJAxۥ|T-&/er_*{1gKKy6 YI։JیLR\ $vh|c Wi 3yZ@ ª&x9/MaiJW [Lԡ1aFשt[;4?URvhPwFO գ^̓Zj}I#X^xa4NbL/I_JZXz:.%^U{Sm9㩔 ąT=6`|ЂmEK ]#&w R[l\ObN qAdk3\)RNƚjD!ϱ|Tfy `iSߘR2W/yJl&,ψ7~(z?}srOC>p'6Ɯ]ǏskHQ5, 7 jqNzZXx'xnٺŻɘzVЯj laz=?Kh_lqLG-M>O-K8HH&q#+"HH4n`@^ɋ$9LXbPq'G_Xx1x/`1"fU+zVϞ=L˵?> 0@Ne2rHlJ[H ?BXܰa|(v'IcVdEҬ^CI+s[NzWyT#qw햬:Lڎ5*u8IIaܤ󳤇uŁ- <ɶDΘfC iHH"q#+HH2n.yQex?_@%^ޒ/ <X^lKE tRir"K(Xu'*I=ۂOf"6/O%IhM4c 4@X]~F1xH: 0y$yk`ɓꡥO2ųf)jb_*YJj2Vp U*W%lRlBqbB3c㢞8&d;{ y@ڊUUM.(=\5btĬjV%KqPfcy_=1D Y$V?#A=DWWjO-Juw{IPw ~s`XCzUX^j~J]``G, ?']qjJ8K->y6G;-J1[kkϰX+!Lr%qVV5}\,?zjXzYwI A:/e[l3Zki3o]}k5uWI_mѓ:j`wBqO bNo93w-}}ه[i{?; 1+eŶYmrbpS- *R.,&i'?&C9Щ{ תDUҌz>?s˕uNꢔ P_I .-j*H` K+ڕ`鈟~6c_0b+6wZ, JrK/T'?IkpZXqyTzJXZȈ1-|klc:D&mۤ_ xk’2 4X"a!刘=  E +FVrHH a/(,{&b+}AYjyAT~iVJ/װtDQ,AJjWDFmF$/6Y'pV7N"9?z25VS%&= _#'&6V*ܫCH'1y]ais`9m]O>>HKq"Ev\T= D$a`ݠra9rOlUHظ_n]G^W+4:nbm($-uR0LjkIr2^lIŤ*uն=Yӫvx%9X1Wcz z0B?8zY]bPXH+`G|GHc"y_ʂo-#.bϕnIʗE)!9"?tZj_X];܇c b;$L(,bN'BXt16$9MW%N-}ҨEUM'zJXZ$p*b,6f%XZgp5d^ﯰ~xL @V=(400$@$42nd%MpXP H94C /guSl"Z( GTȪD%U//,z ¾nrC~^Kڵlk`A"/Zf`\/ff„ ?|!/%n~YՓX2 T9N&2s:X0g. bKkԲ_V[ki&wV9ܗ6b.$6Ga2J,E..I,$a[d;}>>E_'x"礯qzʤN=T$/u =.d$,WT-|˻@J`ɻpJ>B`},iL81/Kh\-}K)?ѣTY꧜-yQRg녢gI֗$L([rODrM> X&TN$XN \Zw5x֔kz}bkt?+Kjmlz,Ia4b,ԛ82>^O>/3t$H`5vaHHY7/IHZ@ _%x{a%yA)^jpT &/fAt`<_c"F_RcO82& O@ʢŤ\)Wk }91:m#haWAP^0z"H$W9HO?uTۇ@G-&6V(.HN'D;ଅŒ7n\^ֹO,`R\RB_ZCiviU?vX_N~B+fԗl&A+eT,4sY^_/ #'YF5G\aK,+XHr;b jɻS7|j[y3YSRHדḈk2a0t` 3rZR@YQKI ym\5,Ƴ.^NJʊ6W:1^4ŞIJqZBkڊO@˩Et\6q[˽D+`AB#$7vz̫-:z_ꢔK Y1^ZgN5 a~̡}j˽%j7`:Wk)@AmÇnX_2$=H1ˆr&9yGYqo+/SMW,zW|,%e/gPTxt`!<vz~yIFN0ѐb< @@ +FV! @+HøDhGy$E;^t[>ExQk x_/6%^|E'4d%^ix0՞5./R"?/<&At0KLc_/̋Zkі*pM\sy_lY<=Sr),:MSec=次(gRe\zA6V8Y^~CBjckrG^G},nmT;=IV.l̊Y}G5OD}kט h '66<Q`iK1oX/ЗJ^!EIZ"@hi?!<L>06'q X8B1m"s j;!)eX~U"5︖/u2~z ;i3pҌ66.:a6!}LLBv2 0,` `+JZی70ԟ' U_>UܣxBN1I,'cr-^8r 5t_M{)ė)`!-Xׁ%ZhZ-H<6_9㎎SνV~]wy#,[ƽg<[1 NϕnkQ6+Z1hj*9dFE3%\G?O`LF>m^ MPX ZD_ǝx ?E3gtڱgQF><^ܚq}7~oj8I^bJ1u]9Ix@{1Ot[?{^w\g>)&Mzhzih(:fH@Vƍ) M$@)$qo߾e[=Wozz_^\KOKbN04Y*V9~»Z XDVx9)--&BZf$ŏ-PkTywQ4.^ʋRw}hZ\/\/m,m]KZ\lMty~+, 6V?ɚP-}-}KgmLUN[i3Y`abLʅIJ^R Љ( CxfO'j`kdžr,2&_crO>;uɵٞ~y3L1֋ 6.$g6 '=^_#BDҀ(_j!Hxrqڕ7'U#BZ!N˜=\ :%XCTK„[Cq.bt:{cPUgpwKSO=UY B(`B^kퟑFNOZ"XxE0+G%aml9PƑcᱏf +g\+ei}I~mlj8i'zW(5,{h!:y ʱJXOI c!v/ EVw-l)B)V-32ּ.5Y}ݠq\OՎ3k+5+;xQG ĩۘV_ 5C,B[S^CU^P,^f]w}犼uSL%Li$42>wt}>XИ/{`ϸlieu]'roǖ%b ӛyʳE~Z8K+>f6,o{mfԶ7y]i&4k;Zh~zP~Jߩg-%"&Q~' wM}LvV?:hΑ'/h˪{yee뮕_/\eqzB,;D}eWֻ'VM߯ۆ[huNP[hlH3Z̾v{~:3UjtP{"+k3՛)+hlE^z?"ZY NCC7[o eā (ڼ+{u~qɭ*nWt#G>7}Vw_W?z;"6p.[j#{Lj^nj3tӧO~7bĈl /~8ꫯ{ҶI59uY-f~ay tKVX5\7p5hT/nUWucǎmw:5\@ov ;Pkd3O2wx\gq^h9/L1W7O=gJEYf7z-$c).lWۿ/"8yiVzV5(xՊu3m!/I9qD*:=;8q^}O.ᝢ6eٍ>UNi~);ݨ;nk~_Ug'@V;9>g_1&D;ޙ4{nx\{klo-~. z_ wfA_ zX^w<g[]Y?Eo3ߓ3nܸU׼~ ~Hm,wg5kg =E4o95}F?ѻl0aB^f~OפICǸ"qjsw^fޟgwI'?M7ݴR,:A PM,FY,vkc Cy~[vio="mVOD @%!W[?9,i>H_^B$hXdEڮ iW{L'θhZ r;#{lA1F)fM*%*EMk=>g i,V3 2H =KLWVn[ c^iecqUg!9 #Py,v}@ w8wqgy6G-}Z^j-$ 9 P ͎q}뿕jlvOl%)i<+"|^:;sB\ ۍ7o$.%x[7)/dw!1^"@b^lRF)t8yX[߮mkִ3MT@U2HU{U@#E/A(eX5/ww+}]m,YUoKۋ9 Pt͎qvnoZآeH.w9䮭ݒv|y5yPmk$6_ 7@N>dw)|mɧ/^t{l+#Vɑn8@5[:C"_ V. ḱ Ppe7bg  4>)'YA 1ڢkmͺ5@''хmJ^{m7yV%pWgz|Yg[lBwoSLqݘ1crpe pzw׺VX!VXEm*"XEllAm&BC@`(˼Q;yw Cy㝦3g6mmG2c KW^9q_h f@Yq#>'OwIBy\m»ȑ#E>OyguǏ JT"m &\ksZgTz뭡va7nܸDBB @ @@C`5i#0mL !t@Y捲ɶ!/@hF:rƌ_ݼ&L0\x뭷ܬYBuo>7bĈA@={ȑ#رc{^_7RB -!׹A&0sL7g7\sApp}vڳrN=jԨ":\Ռ| @ `!m nʇ P.e7bgZk! .>N:!|Cr7pÐr3p{gwZk Jǣ>3τ[M4ɭ ѭH{{Co֔8N jO%\2SZ_ݯ~`Ry=V^yew} )#pzEp뭷 70_M@ P 5t@e#Py,v`bHX>;B>O'!.p_җ•nͭ:=}饗¢ _;s`I2}!(曝D Y!vm%\eY:Jʜp%ZG?ͶSU{`/mo݌UW-2sKwl#E@ AV!F6@e"Py,v `(^7$뮻k`'?q{W]\@[X"B`kvQVk;ԏ:Z3{GBlbvi{Sbm:!N?}] @0XZXh(ka7 (˼Q;ӊ @ii"[?js_xᅰ%?Ǯq7M?n6lJlG>P_V?yrK}osGN5zRTkT*wl4KC_QL;k֬b-3\s>'a2,.YTgli{*-.a!o,hŻ;2m8iҤPnXoK[JnnM6R^~Pwy:T=#wvm*i֭^fΜ_}/7{7xt7m)ok1C .6SWj/yKc9&\^uUs}Ex_!HA4 z6|~ cҜ5nܸ$wk87jԨ^މSV;_5YcTgy&zV gp%8 M%3F Bo1/#0/JۨTcqʹ S9>h?1k_Z2Z>hm4Vն_5/eU۝ӕz3!9Pmm>RklVЫE4c=z{uyT/Hsޭ4mayT~'-+"B -[wV+r-McM;Sxw{fҫ!+}cUmYu-p7ZgyFS=Pxg\xX1f-տ٣?M>휯ۿ[dKV;hs+tM zgԧ>5aEmM ŕD @e7bg#̉@'QF2}/ȼtP_xUQkVZ)󋳵{?я2?<.OW]uUf^^iHzq->P*8QG5$mlө-bj{|*7AK}~~I~//j/t&l9+7~^~V{q°8r+]vYnz/|(N&}߹5*/(׿u獊&VBeuPBgȵ]v%ߋ!f{Envƚ&7⣤|.=^D-_/IvkK qE/쳣/TȡR4/0gn~^ 䥶7Wc_Oio$zl 놤Mǫ9kNꖭ9Ӌ/]B`^pQ٪zzQv\őIfm>BwLüX:ԊC9$3B̴^4kUWomeni{;L;ϝx;綹1o}ZwœLh< y٬>UTy:(bN*WfG)C LNpoz @e7bg3 @#\~:L81x/}k9+ϔ)S-yT1""Yf:'Oy__UYE%Dmk6(=aqNyHDow}^~.%,⪾io6Wp5y) ^h.[-X9}; /0X 8' . d-""?d_H-_!E(| XÉjyy7z[Tvvc](]ȤɋiTyNi VdSy‘Bypј Jgc?4(? qzyj,(Om!yQUjΌC/~eW4_NW]'}lwNW1{ǐM y(/5\ [dSgcz}NQ#LJyNy{ѩdfA;[P^j3 f4WplK]}T]EO^^P%Po'AN<nUE9ܢ|8s'GMާw}|hLU+_Nc>w١AϟAc3Ƣc;QsK]Hus P8ETaS M3D@e&Py,v/`; A"X!pZ U *yЌ􂂪O:_W郾a*yYI};/%Y:JG'?IrI ~UBhQ+֫*S߾B/yIey,+H yַU[Ua(yiJ߮~%(dӏ}:xWEؼ.}"^jk٧T3dn=dTeRC;ȶ[,KO_E]^^ܗ8h\6ZߔY/%G˖9n3͇qxmy^|+9DN>^#K:G4=W c67,kdߩ1.ɰ/H ۼ`*%5GKIzlۖU=j,7:zAa-gN%S-Ih.7Q5NvcO>~EO]y9݋ +yVxW^U{5TyR4V^e5eI-~[ˊI_qOq:;ovYj/ku1w}]} S->$k\Ϣhivnyg:NbqolX:z]/O-Vw&줝wPˣEiи]tE]JD@k؂>@M(uYl >!@k7#Ң[ , |CEfB,̩%ke6^@҂I: Zz-6]m{Z Z|xdtJ:X&]^g n,{kZz7%AA"5-ie#dE lPD-#/^,^Dh8Ģ<ќD-Yg'r"y,F,qAlkJo"8DJڊ^hToY2bDEf>+⸄oqЖ}񂵶vZSc\a'GMYBIeoTz\;XfC,SFXPNg||~dgmg=%XIf9';ԩSsbU*鹙{C֋^ܒeLb8m54UF3}.,߸yv9zoCU샄$jws+#6dmgj6.~G^Ć$.fCjenhߞOBYDe9B@ *SkuV! esU PJ`{-fT-d;,-щGDW~#N`,>\ke6^@J{űle]g?['KThvَVnX%8K@[+znɲXٽfͼfی6ITwH -]y3[9I8?>{R]]$8t+m&`k2NJ|vA-Vy#\;,DVZEd @` e(E R`l?4>^~&7{-#]pbm') +>KJ6J`o屉۱syoA)N~IK+Q9[ ֽvGK}-^c`i[=Y#/t%7bQXA  PR].&{@F,FYAu FԩCR Z :(WK82[x(^Xdmf"X`eѭq =(-4.of7?EfwFyni$Š3fd&&}yeOQ`#A x>l6Ig-z6M:5j{Fg?yF]'oAQgr3iDnyDxڑW>)^Ydڞ./[ȋ{_Osn%PG ߽mD[oYL#s[(.i+Y[牫~qdY^es7ߪYiV,vdk`0' Yk 24#bR:-ʚ)n+6sߑ~3$}I;tRUonɫkg"9{ڻƙz[yXҘ1_OtcMw8"q6>/9 HaO)@I e(% @`0oT*^zio-^`mf=fJS9` uL!$^GuT'oAXڢFB'͙Q8"\-;yy 5~x^wߝYuB^m qJLx饗۲۳޼m|՗- syޖD6f~6yĽ뮻&yɣUq۱];,,/Ms`Zyl7qm-kUN>+ k,nu=HĢ8Vz? dliެ-`#A;_IfqxkϏ~IZf;3Wղ 7ܐ`s@疸/^<84*3.!S^Fv|YiqbL~}JfVy䑄ƃ_|*km k?:sa4W4+tJ{`۸֊KEK/V7GT=jOyոelN]]3'ε-b\^ڔV5|oz9l^{HtTK }ʴ:[Oyӗ1ԏ@e"LE[Yh"\ 02o"T @) 0oli;6S y]tiH#`H ,^:d:Xݪ'"u6>ګ H`u:P(L?>Z!^跴`V !w^KX#][e5ٮK.>/8ccz3-n6®On7D'QI^T5;iAcQ%/g [4ye=/&2egqVs2fk껵Ds.kܑ9\q`Itei5F7bcG9-H0Y^O~&˴s=Y~-xu$+JU5خӲPLbSLif斸ztigs+#~_~H\Բ#KX;uV疇gJƥhs 2^H s[YhCh@Y捲$~C@0oV ep [%oŴ $[3{$C,vE?F Y+#oWi/_JE yo3ϵخҋ"Yµx5o2DޤNUny"{fփq&/fGTF JN O^,M-1Ye˛-l:uj%KĤk}z-vԂߵ^kg+PjSy$r?APT+駟)Ho=|:aI۝u*N:hPiBקTㇵjZrf-@%@I 6 eڹ70K-^%NW\c:h\MDkI'zꩉX:*^;c\\NHYJUMblK#/sm* [BZvGP{F`bբD2ifN1cdX8{n7c1O|W7خ&Q jSch8gqj}D[8yicE##&Rd'vZ^hlvt:d=FcVLs@( 2OfaN1Xo9 @(˼Q;aN@>j^.7rHF曯:B>s1/Dpĭ ΋_$s .[{رcZFݽ"[eU܊+M8#rSO= %\-2n5xO7> ~nܸq!=5ӶzSo —ۙX."!QG׷0-p[йy׭:qj{SZ=3fp.[j_,{!lEI;џqoq"[|Ń ~Q^Ҷw h3NcUW]1bCr=sj3I&w"N]}neus5WogQ~K0fyX4?_;U^\QFl* }Ha}q'tRZnM7o7u9{A vn4E~3u3_IhyW_V%N\o҅I}OK,k4jhfSo~w3fLxҜZ[]K(hN_H)j{N\o?A;h^>I8 7Qo d7)(˼Q;_P@e'Q`FXMZ╂B5UD@H#_3 "2 PbO6nJԵ'ޓ(&8M6/ƙEbhmXCc rVC{`bX0Ch@Y捲tBy+X{)K[o&Lps Մo7@Ȼ<\.nWN,x8fs{r_^Da`nE37Hjn܉'j¤ku)Ld>X@@`5i8Daa82u 9e7bgZ @ZXo, !p7:yRXmܚk֙v;UȄ ]~͞|ssw^ q&A7RAzAV/( JH@@2o5-@7~X@"p뭷 70רwٝtInqdxG}kK,FYnk; 4JyQRă @ @ 0>ga7>U e&  tF% @ @ a@0hFBC#@F,FY4!@7˟!@ @ \f@(˼Q;P=@!QP@ @ @"P?cXh{J PFe7bg6CDتi81bD׾5wꩧGy̘1M6-rnEm)- @ @hx lli (˼Q;Hd @M`hYw;رc\3.7! SLq[c5ɓ[b=?o9B?-آ%SN9k)- @ @hx lli (˼Q;Hd @M`hY;;^~q X`+>φ*X#] *b` @ @`(XC +,4 fZ&Py,v$ `(NO;ޮ*f͚:,qM7.Nۈ)Oy<\[ǐ~ڴinUWu묳ir-7Z׿uww/]wun„ >VYe!&MwpJ+ a4j(w&qk/W_}cr=}vݭ|Mkj;p'-U]q7p[hlonFw98-n%s-ds{'nZϹk³er,Lfz^3kQ9s[|j=]tˆ6'?6p̤z./pO^^_0YS[n6ߪKϦNcپ/0hX{Z*)SOu04^]yᲞ[,%|i!@ @"P!@_~@h@Y捲s@@ 0o؋*^Tw! r1ˋoT 7矿=C#I L>1cF rY:/̨KI瞫|CË{^D'KUC9$3Wݽ(.ɓvG?Jl>Óscfǫj^!{2s=$ן~o^e{PŋDq>Td᷀xqR,9B;z[Fq:nuze 2$^BXy~Pº!':jH~pmv+U\cU*lu8=n^ĕsM71.1@ @@ E@@32ofGyVt@g i[l~U5x1ErMy<A%d}qK/} 8}/O$).dAm%TYAd8yQP]I޼qW^q^g`'{yI7/y=|$x?uyaqg# 'b`[6뮻3l$,s&lb;rl޹Ë2Wᄏʛøӧ'i?p.^#G:>l'S~_S mmmgI8yJ{²--7@*W}LA㎳hQeHAek]^dg}@IDATv&QyQ''N TgyےѣGyƝ})處w9[ouWXcyN8iƗRH݋pOzqR~p7tlLH+jOW묿+<ث+xV~9 @ @k("%j,L Pe7bg @`ިTRy;=DY'y!/H'"Ǐ$aT%bL,oLǴtUFg?YgI?<1}[ߪ-G+sbWyKmhѾ *t% iڵoNK &Oܻ꫇w'X]Yݽ!u{ JdmrXr3/9W,̮,pv_Bt0{{~J߮^Izmv~ 6.->X?O$j8/+Hfq:묪(KcT:9m_Z+{'X{6 Xq @ @  -@ae}sqG @4Wh!SsG[[ @nR.kfX[R# գ A+4gd}˿t$+淎`$@Â@n7HIBVZ_*xjfXvlyހ y[}{Idv[9YGmSfA=myJu$SX3O Y %]V=\zYQ5xf Wk XIIى7}^ B\oNKVәDGESN9%׌O1,`em- -/8q= Yw޹*J,ɋWC'X67+h@ @hv Hz}X/ P y)j=^<@%P۔{ 2C(LȤEFm&C^7(G^B,:쳳d^=\Y]4JbXOәyXW]uU>.:6+,5h{,t&u`^h뮻T2eJ/-03{Xaj;K챣JQ+ N;/Y~1`e *ʗ\ j6m&UQbV7$z`mlWN܃ @ tN,q^jXL V!y|-}Al[=裕#<"/0&fܛ={vMS`暡-?-iaXH;MǓO>"aU&qby&lJ'X&j%yVN w$b??-^z)IY e`E]#uz2ᝎYA܌{z|>ӏ1.VA @A`2 L8?  @L0-TGR5B)2os~;47~̬;<7ypo7 *3.va{^w5X#7n\qn뭷qf)#F$i~ib~1=SnK<kmno o?*V\qE+^;$N{qgu9rd\>{{:¥$?۷Uݷm[o=]s[';.O<[`|IKϪ`QF%M7ʜb{=ϭxtw{UŽ˝^zi}S} TӇ3<8i*,UX%|ќ٭!v]xu/q^0|ɤIC=V߶yoHy{ޗ|V}99ϒ<@xAcK8Y"95\q׷N֗Y:묓ܳ']yvyȱ`C=4%6^m2{S'>/Rt.9%Fq@ @2X]\콷 zWo!Oie vC@xq9-Ng-r}ϓ29B($A: o7w'n 1 7BZWx2,γEISe]6h>N %$Pew~N&w2V,O b0IHya`I+;Y=>%m;s-`yAA`o~Fૼk vA'Go{,R%%2[VX!tviDsg$\ щ.ΝzyE -=3$.`/CZL'qѣCX̣ ޫs5od{- 6 vXJ/1׾ ~K B^QH^B $.SP;IFq4ȧ&W.$֒0Io$,Z`I 'Ѣfm~ql6~Z1N @ @=!F @ @*BQ"/ץiU-yOGC\uY:>{L n lA^[_oނPUm[[v!-^[zWM,_dh{ٗuЇ>Tw{GyfK5Ӥm몲ɪkV i_"3^(VUm16U\|͓8^UeS&nOkt¹J+Iz4-{=]^oAdo}/J1n1\ @ t5I @ @^{-*ރLnR~z">7|sfwHtǵsݦ4g2Y|e]{9sf{JZx;*O" L%^~ߞ=Cb[<& v[y۹*X6쵣̚5!r?"vގYx/YCY!\}ՙ!킵eJk6xZUABZB"\{.}{JQySNHXhI)?_eoV^ޣVV T2⣄@ie-+IswdEI=oӚ{o<65VY7^+~q}@ @@؂@ @{̙zꩧܳ>^xaK-lbwL[M>iW\1_|{ ¶f*{ȑMWR[7O81Ei{ZvF |iG/X#oA=mi˾\ЭnرۙhKiӦٳgI&>|IEzύ3&lG: 18-瞰5Aիc\=۸@ @hVɑ @ 4@஻rkFy!#5l1sm;[No `  @ @Ù @ 8dM–P«W^y%\7N:餎-ז_~jd+F2G%@ @  :X @ 8ݾ[Δ)Sܷm7f̘8ܐKVk&Oj$' @ @ØaT @ SN [>naA\rTMn`;ƍW 0 @ @!7) @ @ @ @@Q @ @ @ @ zÙR @ @ @ @ $k*A @ @ @ @!7) @ @ @ @@Q @ @ @ @ zÙR @ @ @ @ $k*A @ @ @ @!7) @ @ @ @@Q @ @ @ @ zùtks{7\R)]l#sƍ&Lo"[6K]DmEo%d4<@ @ @ 0< T-} j*" K/VJL=yK2Nsg43" @ @ @@ *v{C'Nt,wyQõkk~ܣA2!@ @ @zEVHF@eiYVeiٽ*Fõk޳vxg @ @ @GiK5ba%lOTv(oeXv(kގ3\aֻ i6 @ @ @`yzg c]CYzb Zu0\]/ @ @ @ +zE0Z*K;bj(K;T1r0\]^{,8 @ @ @<M[ -axCYx,òCQ|mg_yzm|w.7΍?f[zO*}k;w01s3yw?~{q,=UPv(8*̃ @ @ @(!X%lnh76gYڡ,v6JQv(9K{p/?g7΋Fx˨1'YMXh[`!*b;+R|mpέ6W_ʫwX#zGs$rn>TK?^MZ~)7f4wx/ @ @ @CV"-PN *K;6]_*K;x]ݽwOs ֞;z=Gqo~-$r˹UzVڡWMu#OyFx5UŋFz!\+E,iՒw9^xU3'ݛ܊K/X HP88@ @ @ PzJ߄ n.ein{=}YڡHv~⮻!6XiqOږ[o2+Yw7k\$)k(R;aX={ [J|UaMޮ~6w~n5d ^v(ʂ @ @ @@XP"-PGV粴CY4z,K;N [=׺V=yB~[8}i*(UsFFrSB)J;dkEw"zw 򞰂w3jp5gݑg?oƽ;wݖ.F*~,R;c @ @ @X"Y|aaOv`b*mkbgi;Bbs9WFq3fpQW)bFrz/'lu(k2Ew`==`-GQ-w˫*XSqs T%Əv?mQK#u<@ @ @  J@j!_V{CY{vـCQɗ^njYoIˮmgu^yKOmcSQڡהT~nQRޯ*9/V "3nxX>`-X:}re`SQ @ @ @R` ׏EZn `Jt_uRb w>nw-n6H=g^r5s_pW7]#zͦH~ })< GQx/k#Gٕn朙w)}G{GYc, Zsf[d`-X^UPv(8*̃ @ @ @(!X%ln< 3]r]-K;+[Ο!l? `~MwsmK,^/Y!z Hw>孿G~ skͽp<]y˲ /v{[.hSk.FwEg} @ @ @#|maaVWFf_2+Veiy-pwFϺcs.d5Xo~ӝw徱^:+jz H*7!/nzj7r̼~ݎwu?v7_;Ju^p{(u'7^V;A @ @ @ EV pXVVO7Z/EYڡ(vK~vgb-x 7bD,uƣGr/xԟW}yԑn܂ X+Ei^*RHuw׿;KW.pXoxVx!눋`-x6F+F9 @ @ @zNVϑ"-PJVO7Z/EYڡ(v8c;SF?^{Шy",iƌzOp\{ ~9*^ghCv4J-Nspn 9WwvUJ "&- `H6Bu!Fm0@OXhQAk#b$H4B1!!MɽBLqܓY g~5~fb1tȨ>|-Vv5d 1d%/5`E Ŀ4rRw @ @ @ \@:rDJW-ZYx㏏SN9eR0r3\#Rsǎ[>8 c; nKUo2lXѕ?Wg]߮*rM%rWRZw랇V\jg_\~'cƭ_D{5SCN^shܰxm|5EVon׀o'I:C־o @ @ @T@VL,X7^vi1^OB.9Rg VYC.9TĿ.6M}9ġ!}۶(iV <( _?w.?GЗG+ZҺ{v/7`ѽ( m9;ܸ;y ` ޑ#UΏ1ϋ/hр:́)N)q[р ^ @ @ @ k(u([.6YgM7ݴ1y;va.9^ʕ+k-%֋/89R*{sصޔl4X4߿Tfxlj'ġRj+v۶m{"_{YӧOG͈{Ylڰ!.8fSah׀N]|E|xGƍ}4/ҷ~R_Fֱ^L!0Z܃ @ @ @^^W F7oҥ{]gr!:7o^)q/\0\~O92KXl#::&O9$6=?H\"o'IXuǟx'ΌO=)6l2^!Kiݍ%+'_wn-z;'.? Xcy'`m(Nꊞk/^_Ϊ~SU X͙ XJB @ @ @`JS )=nV^Vr~'xb ÈSȢ "şsej[%wQl46=|two-o-_"f5=5k}8=tqYæKro~҉3N)ZjҿS͡jhk} Xw54ƟyuO-Nk1*&^S4`P🾵:z/|agL083%= nNz @ @ @@өѵP7ˮY2U7"e3yjPL8)Ǝ58Wǻf(fFqƜsccϖǻg>]}!(^YjҺ XwhwVkk~k~Bs/,̝W4`^]_m뽍?ԀU1 @ @ @ hYGHuN/_uz#r!:poo0sג8 &1l؈8l$#g!-?E|0 ),1ul4`-_V4`}2lsۊ XΏs/ܺ*рx ;W7j: b, @ @ @4` SYO X |\'엁:K{K'n-qWCX#S^C=;^w{ssr|;6EC)рq+N\tv{胿miuɥ1qwW羽+'_gL_]?Qрٸ1?sޅ=ߞ5yBрuƬ?Ҁ0 @ @ @@JyP7vھSLiv%\l{KԹ'a}@]:F&N;v…Igk^Һ XrUq{cό}q<kG7֢q8kRрu͙/j|OJ9$ 8 @ @ @,4`e[E{0Zi33C.u6ANcr!:'F֗|C|+cO kb bذa3E۾I9 1u(-'>Uqo!"zSǞ93;K XCyqWRq3& XW>)yןЃ4` dO. @ @ @4`-|)=Δs!:K %Ir!:7XTunN8!N=>|o:-Li;Ʃ?,.m?/nw<+Ν67z.ټWUgcN;-n]gWvEoq֫K9)f X| @ @ @@UlޔPgFWjKdK F\jIu͡.u0J@4 @ @ @@y0Z-rsoΝy.9Rg싽9u{\w_ @ @ @Vhjr`4r!:H*r!:K*C]םƮ]v[ @ @ @@ hLZM>(r0r3xK/9uݥoPh8 @ @ @@uy0:Kٟu'\%\=C]^h59C=  @ @ @Z%U҉ǃ4%\L#%\.4fku]wnwrm_ @ @ @'2mjE6V\rȥJl\rȥ-PupB9  @ @ @I hJ:hS.9Rg֝p-rDkku]w{u$@ @ @hVI'~F(r3T"rҘ9uiUa @ @ @t˴y0[r!:K( s!:rC]]: p @ @ @$-+xZWNKYwµ\rȥN9uv\C;ݓ @ @ @UZ%}<M#\rȥ4R\rȥJcPuvW!E @ @ y:/ӦVhSl%\,=&%\L,˩ku]w'N @ @ i]qκ;C.ug r!:;aOPuqMPwO @ @ @V hjt7;J,ȡ!/ r/e{U @ @ @9 h1 j^rel۶-f̘#Gܗ@www<1|8c^_wsTANlW|u2 @ @ @ G X9VA͏?x_>LvXw0|XvmL81MV/ r/e{U @ @ @9 h1 j޲eK5j>F^=RWel￁i6 @ @ @@rMw2lذ8ý=Mx8c۳8j]m;_vl?'"@ @ @_@VGy$6o7gu&L#FDWWWduxg^;3fLL>=+5q/qt~);|ߞ]|J @ @ :;ߦV뤐ԔĉcڴiMm /79*[t6  @ @ @4`a%+زeK_>W5NS@DƫGQF7yf_E_;mWer> @ @ @ꑳU @ @ @ @ P PMI @ @ @ @@=4`#g$@ @ @ @ @ X @ @ @ @zhGVI @ @ @ @@*@5% @ @ @ @ЀU @ @ @ @ 4`UjJ @ @ @ @!9[% @ @ @ @hՔ @ @ @ @C@V=rJ @ @ @ @*ЀU)  @ @ @ @zl @ @ @ @T TS @ @ @ @ P X*  @ @ @ @@@V$@ @ @ @ @ꑳU @ @ @ @ P PMI @ @ @ @@=4`#g$@ @ @ @ @ X @ @ @ @zhGVI @ @ @ @@*@5% @ @ @ @ЀU @ @ @ @ 4`UjJ @ @ @ @!9[% @ @m$IDAT @ @hՔ @ @ @ @C@V=rJ @ @ @ @*ЀU)  @ @ @ @s @eIENDB`intake-0.6.5/docs/source/_static/images/gui_plot.png000066400000000000000000010241571416666122400224720ustar00rootroot00000000000000PNG  IHDR ~) IiCCPICC ProfileHWXS[RIhH RK E*I ĐD.*vuEWE\t-{Y{(ʺX&uͽΜ󟒹S˓JP]%Pt 'Rv|| 2|UB9$LRTVgJx*2 R%VR%T*MRi<,g!-$2A|Oqcg*1_d3sZTB˥yg;)cAɢ5þʝ4$qCN,PCREd=jʗs`b7/,bS#$y1}f8 1\!h]"'j8ke3q6dJSdH]"JJUQ)kC̔&Fm0'vFHPoPǦg"4|pՅ( n>O-B ;yG(3\@J5b]Ki^ "z+ME_<.H5?+-ORg&īA 0 82L}}z& d!ph=RU3xM%@>"4U_]@jH CAPyIFߠF|kʹP(yY:Öpb1AtM <8'k p0ā$.zY`.X@X ցjl;O`h p\: WOx0  # @lgEp$I@Ґ $ d. RF-H=3r9G:Cy|@1f:Eh4NC-EUhmBOh 11K8Xea2l>VUbuX# Xևlj8g.pG8/j|'ބ¯~3N0%8 \dB6aPIN8H8 "$}ӘF!!.#n$!'v$ɘL $őxBRii7 E {#d y1||z;iӭL"ͤfN3Csך5`XY-ZebXUS~KS(KvA+{dV{[S}ZYXLk`sǖbk+]o{]wvvO% u;P'/'SegYѹs aɘ17]h.l"LŮͮڌMjٱݼܶuwؽߣ'3sgq6W'oowwOOM_xe~~ /gK@n oh  !+2\(:D= ۑ~* =ϙ9E'W?Ȏhy<*&׌s'L7T4-:1:QS,u":q5Jb@7nMx_&'O8=anDF]oBV$MvHV$LMOy:k&_L3ISҷL nJTeSoLV9?#D_+95|fNLU__-.G-p~IV(ݬY%ŗf;^:IIDɏs99ms-.p{ޖm .Yp"E.v[zoRi-5+]Xm ee|y D} K? /TUTV|\_v{﫾Z}M++%+o ^sk&iZZ[Wܼ^*e͆>Vׄ5]Zv`M!7mDniJZmg~vHvtLyާ~ hw?ҸesO^W3~/z_~ld,oBf77ZZ:M8z_v<\sȊԣG8.=w"Dwی''vjҩѧϝ8s,s?.y]:ׯ۽ۛ.\nhyJWîƽvz7nݜzy_)3xw=½+>tywyңGw~1q'O=}=Ϥyr ً^z북o -gn{g?~x28#c'O?dɆ7 } R)Dx6U:z+Wo,ߎU pHYs%%IR$iTXtXML:com.adobe.xmp 2430 1270 pBiDOT{({{nd@IDATx +r)Ϗ~#QF-SѤ:¤::w: {={M6$=2ay!@ @ @ @ T_?M~U%G @ @ @ @@U ¯^J @ @ @ @JE~c? XrW` Js@&oj!@ @ ~8Q_v'OvӧOwSNu͚5s={tmtխ[\kϻ^{-nAt$@X ̟?|;O{7… A_S_pꩧ=sB:Em:<#_#t;s  @ @ P9~඾ >s7h w罂veO6mWэg-u }%EEs۝x≶AꪫW_]Iu=:  Immg pgUvmNH @ @@ _Rld\Ν\40,M6ĭ^ڗSNJU;/=e7p~򓟸C=zm۶ڿh͛7/|a u^.䒂N_'NtmQe@(5Rg&D @ @khjGIB%Ksǻ!ChIe--Sdܺ.ooi̙nmhR*A`֬Y!}%\u]ovqG|iyBJM_u@UT @ @έ5W!, .]_ƍsw_I_rĒW^6`XlBJ -嶛nɝ{YÙB^>9sE]x≬|r *Kr $Ň/׆j+[K_ҍ5*^ ֭@@M @Vm*݃-_rr? vmƎZh|{gn6əMbӧ;{﹖-[7 TZ6l{'V;÷arZ+ϣ>fϞ]>vp쳏W^_3z\p{݌3_a|ϣ:*wu:W^y͛7mN?cO?]Ii~e3|w{nb$[o~8@3Tg֭[g~RoG&L7m}'Py衇:` ^ׯmeL4;w/.X m[݁xtއT_,TzfG@O7 /P:|ֽBNY п+$2wiK:w۷E?սiK˖-sɓ_Fb-|]v߿ߨVwEVrO>6m|iN٥K2U|^@ ߼m}뭷wy?͟}Y*o={E}K ;݋wD=_\cƌzN?gVMl_Ƿh"/F) @ @@"=,)e"_|:uj&zf"!b:ii}E>*~T6r DL66DښA2l9'-_L,E"~W&Oȑ#H&ΛN8oܹq_>Z†fڴi/h>cLK:d~[gYۣYnei$<YY 2}~ϕW_^рkSNɪ/*\䰙U"ͬ<,E"m'|rfРAY"aeD3P8kϦg&TL$DBeuFÙc=6g9ۯ8 @jr/v3uQ>~'P4l$#F/P&?^*7rU]BbgviǢyzF0OYϪ"AVn-&!e~e+WօS=x7m&r-) @ @j %YcUQG1ᗄ3z$تW6kHaxW؞B5M$vWd=@ՃQ % G"g>J gJ˛B_{Hu!s<—^ۮizBm}y . 5 Bn(Aȹ"cVJ2ԗ7~o_~Yu[MFce]v%7m?YP9 #'f4֝o>Qܯ'pa+#J'\W]aZbE/Y]Ӟ< @ @J.2!M J.L2 #R P3 _j[؞d[[QXX۳PS#8һy'R}袋27ӵm~_QPvh_?ew]~_%A!e*Nm7;3kS%1;#3tT+#x>BknWE{p@ZӟcjZY @ @ P[޶Ԁܜ$9MgΜYc%z*s%dvZ_:tȜp ^4n8.@m6U,W,fϞC#}5.4BK&|0 g 砇aJY`ryP%$O%Z@P[o, ,/12v巇1&nKr`KyWl3S@A@\(U{DSD^IjRHWP|T?7a„/n1V ~Z_|̞{N1+̥իgҥvÇgmWsLnSqD}eXV T[ovv֦+)2d5OoƬYsd,IG\ye{ggB=-~$J{{ ;Yo3 yB  @ @W%> cѢE. yAkԨ[h>_8U:uhE. C"cq~;+p[vӲeK \fm6pC l}5ۢcW^=תU+V[șm馾g >K5m۶[pa뮻Ex"3у\7o޼ȾWf͚" ۣm_yGyEr4H] 0 ަ.uћo}O?]$"E"1 ˚W.H8h݉Y4D^nҤImW_uzE?G.\wM6Q7{EL7nlL!@ @$u`/lM_ SNuNS$x}[{u|*Z\V9 \+^֌'S~( SږO#رc:Wm!$R%>;C].2?E.fff+A`)ENݻ <ʠ(+ @rߪ3?E׺uk>^gfwwыK.rs5s( r.rwn6_7㟛D/"o~k $z-{Ӗ"abنׯ^#WT93^/O [HFGlРb @ @ Kd/lIMc>/2J&TKB SuH0fyn[ Zy˯z$FئYf^S~}/Cwh0S%RjѢ\>ne;òRMS?-Ͷ>ѣ]ư\R*H'tQ/({mSִPDy m̘1nʪK g}B5HUN:$/2 j=Kml_.rסg @ꫯ\FWґI޵naC6xxY3 uP/ڟ\ -3[kڥKLGK< X2NP`H Po9V_sa[*:3]Fsgee(}:u3_E6\yN"xKrgz9L"/=O,LDNdY.v\"wuݞS_/0 rC @ @"SHv&ZD–vmQMڬO䚕i>z5՚d =FQG$DL~ dP[dMq~\x2V|!jgу,NloRBTs2DU2ԣBC)VG¯+\ߦ:Edqp&r@k ㎰X<ʇ!Ţ7%d@~&rld*N +eB{վcmzJi>3-)aOg-vGRLKрfV)B䔫,Lr!m# Tx_mY}lrT"QtV+9krUI>\S+T]}#xjzC2%"~V_Y\֝>\ˊY@ @ J@Y%I&z4rD^у:(bCAW $ ?prVof2 6Hfzx9Je,WI`ެz9,9xq^m>SL5< [A2QȈ~%B۾viLn*V"5h4rK=$+D+xZ/ۇK3Qɬ8-m >w+V\!rKH~ǚ[oZʧ{W2ʖ$ ۖ6߳o,$t/P'هG2mMI2E +mVT!¯dPZ CP=Fa\_6 ՜՗_|3٦ŋ_[¯(Tuh{bz @ @@M#P2\(\cFE!34)ލ92Q؉2T.L!@ A@}!(O"GW]֡~N}x2YT& %M )ٿTFl?mz)%ȉI>K@y&A@ п$ɕK3!CKޯ$_V@N&Mӟ߿jߵUM^ziVrJ_|1}i{hZj={MS{+l @ @J&ҠZ+F܎Q<>رVI>4ᗉׯ_ ;AN9})l_)?:V>5E%]r`VG]ZVxis?+=rYge)O>$NKX&X0l=U\-鲥Ɂ> nSB;|_rc/ b /k4!,S@`K.${\Ν^X%gOdח_~Y&Se_NVV äERJm7pCX?dB/qg4Hw 1 *G4>(3s&f ׋.(7bTCmUSe-}))馛 ǙR {= ۨӽXbw4*  @ @@I_mU}RyT CO83oM+tҲX}كA۟$22:tQ??ۣ;jCbMIdNuz!?6ΦR;bĈ2ۓo&$'jKiQEm뮻x^ɓVY K(q`NV )w;f}0am}85O?]f{m%v &p嗗nUH`9q* $J=Ћ$ .+Tc?5/%j%_{ ƏI+oe_ꯒ}ԇi@S"j{s;+Kԭ{xM@s*+a[8ȫ2ٿp1 п94]SN9%ﰴt_ a~&G&ZhQ~oviCy"s)_9ZE"zaI ?=tm ž䮗ު'oJF @ @@m!P/L%7( ^{a2r:cG9mF9kYE~K5o/ &9mf]wՇ<3GydgϞީN"$ch՜ھ@ WYP5m?I*ll:4:j@[m99 E>C|e )xf¯ 0~$#A@nK.-#*{Yg)7x#;:W]4hI\ysKS\u&8M,1~E?g[R}꬈[qd @kпe -)VIbd[6!1u2]䶋/Ц'q[\P|5E%'3K6'zJ @ @@m!P/B+ 6Q _~M7Ի{)r}Lat_]%/їW[ouUVK䤇zT/}ӵyhA.kɇ別0)CZa 9=J2oc=6n^y/sHSLoz؟ujgΡ#َkYy$m/o*w1 T[RU_rd ~WɐFקKdaJ/7Xl-_}1@ @ Oڄ_&nҀ~J${W\E_͛74lЋ$b-XjРA>u_ 4X+^zjg3rR8DMvیB? L"5ՃS=4kƌ>|AMMADh&7/S;#AoZlYnUO1~ώ1*Q/W~_G @ߺٿ陀Uk߾^ oKYcTo'F2)^#rj~n7T,?7=Ԥ3v>B @ @<E~KSt}^P/9?`j=pb?zڧOt;S>zh7qD/*m1܏͗wٮ~h>tɷ/ AR5ٳg{ڨcSTyk/.={q[R>R!暸Fz!/{;mOu]0@ @$%we^Tҋj$@ @ @(KB'aI$$O{/^,]S^!#|IPYI$z՜ku;hIr:8M(wsқQ'aaތKNa:N9aC^j?z:LQniz~뭷 '^YX @ T}=J3СC+UB @ @@ P/z-^;v 2 $oc+7mԇ}GC){n̘1iӦ?0S6,Z^K-9I&8H- ´Ϸ~ q>dF;n騣rr-]f~UdՀr p#F(%7·n, @ @3^L x;ceR @ @!Uj*dꫯ~;bɱk^%F9K#4iaV}WN0sذa~*'b:Ie/KN_ 4$K-[+x SO &y9~I0}@U6/u|qǹ{,1xc# @ @ @ @ %PTvnIԵb xcǎu&MrqI/U}(NL+9wuGv/K:پU_؆B@˦պuK!uBA$H:u9rɍLB5եzqlVo?:FS~R$0{l/3BJ6۸_?rx3y @ @ @ @(Kh+Me]Hcׂ ܲebq2HQwN[nwŒ0LuY=TK+s2/޽oڣvh"(m?A9sL'+WzAhM^:С?Nm>MlV. @ @ @ @ \*aK$іBiԨQޱkN- eBƍ{$ :v:9M8ѻmeohL ̝Kb,K.~p@%&խj)SMc .WN|ȁԯ_ףvm @ @ @ @B"$RKI'9v+tRD9Wr֒+th|HHk_r>|{WKB_+լY3%Ve`e3f8InvӗBD']i3M~? @ @ @ @ Pm/[Perr˒{֪UhJդIe©Ν;q3g3fwl9ʄ_aIզM,]v=jҥK$4SJsZ|yRujKez21P2_ @ @ @ @ Vڑ_;9}9#k-Y ۺMf9}>ܣX (Y>/ L}N_ݻwwӗ/A{9b_rR= G)gm&gaeה@ @ @ @ @2]FӗM𤐈r=zw2/ 2ќ7n\K\Y. $&e7Xrjݺzc.9}idɒ,/-ZȭX"vR]-[tr&ShG9u;8}>  @ @ @ @(ФWi_[lY,R͛{޽{{'-9s_'tR(F_˄gjOÆ ]f\վ}{:}.K5 ׯH&g2SNer KI @ @ @ @@1 LF9I8%1cx/i)\Ub/%'. %g-sJu9ɕKb$2/O:}5j(K2 ɆJgqjժoO߾}ӗ٤I_ڥ} @ @ @ @@eTJe-ׂ 4> %'P0:I&.9vɹKu_V[K.h)nb.9}i9}\kԨQnĉn̙Nm,v$L`} @ @ @ @ (K HK,%:v?,%G.9jxN[]t)5w\7vX fauiN_}_~9e7l07}N_%g2CǨ @ @ @ @ @""RRɱKZ}c>9u 8ײeܧ~C31IxY-bvɵki瞋TWiӦ~pIq@ @ @ @ @ Z~55fإ8m۶^z^xkҤI޵K. z%1}%M松&1}ZnTO>NN_+!@ @ @ @ j V_:4/9v%$J:5k%7o6lꫯf͚^~e'׶nE[;vtZE_6{l7rH7mXzG! ׯݻ{19i'N_puR% @ @ @ @ J` Ԫ4/sJsoKN]yq˜զM/R'3fp:urnHeN_'OvÆ `/v+t:LauǠYG͓ @ @ @ @ T!ҁrOԩSݫ>+XɅ}N\tmw(L. ,Y!+$\B'7|iW zZ;e8Q @ @ @ @ @kر^_l}w^e_rW~W۶mK,Kg)I_>M2%vs:}ׅN_گڬd0@ @ @ @ @HF ti_˗/.\ҥKWs\W-$SRXF9}쭷r#Gt/wZpa͛ݻ{'19Ŵܽ© @ @ @ @ T3'&L5w\7n8%.Ҝt❿յkW׺uX QN_'O!$O%1mڴUOXFvʤz@ @ @ @ @ ')Rk_b-[ɕkڴi>4r9ˇfn휜ի睾fϞ{95k,&&0TarR:9}k @ @ @ @ R/AHszszݫݻr9ɩwޮs^е`Æ s3fխ[7:}5l/'A @ @ @ @k@~N8)tcK]:tp=zpᄏ~)_3gtܾ%gWf͜BD&?k@ @ @ @ @`$P_:+}7n8K/ɓ'P~sխ[5nصoկ_ TN!#WXGa$ԩڴiv8ץK/6AIy%#A @ @ @ @X[jKps1bkɒ%;Z5r-[-mcw}V^bڞմiӸkm, @ @ @ @ @@jK5o޼,/-7Μ̭Ku(Ie._rx]nݼW]ΝqZ @ @ @ @@ $P_kѢEnnKi*Zjzzb ӗG@ @ @ @ @u/qLs^Ǐw/{WVX:(թSǙ6lSK0s Ӽ@ @ @ @ @`-/1^Jrjذo_Ky$ ?ZG @ @ @ @ PSZrӗ9Mx1@IDAT<9v+.]08}ՔKv@ @ @ @ @j*K-ZOF$3g[rkӦѣ0`ի|]ӦM=.C @ @ @ @k@~ `> &I&Som^տ׹sg!@ @ @ @ X'_:4e˖O?͞=۽+nժU[nSN^ּyl+^  @ @ @ @ H`~m%!W^_om۶I&nݺ/~sD @ @ @ @ dX_:2©W\.]E^nkРK%<g4y 93Տ?mժR惤gC(u+j @ @ L`~ DI&LJu&Ѷyy7 M@vFh[0 /n @ @Kτ_J H ;-M9"EQF%-w·{g&' TV[mUaA+VpmmԩSWwV@@"oY @ @ *Jr WB |vinQL E!rK׸qTZW*VB(:b †-_͙3LJM_BNC@"P[E֮߻Î[ǫԩ: @ @ PM, J+RRB@ԶDX։L<?8ujAHeN; <65m3f+ݴiW_}G/3@ @ X_Qʦ!8h4VȼL[p+,ZP'?I*WQ@TK}UR'B PԦFӘ_nƌŢyrVߦ_~MqWs_-rro! F Z-_*VB @ T@_BO/;m2$$6[>[N˷le-O!ue?lujooUۗE¯^xn6*z[!ʔ~_9}N}'^ow&MYk/צM|@Se( 6tlMɏ";,UV60a={t'eɹNگ~ 'Ď賿+JACy8%ܚ?iBXҠŋիg/R q#AISB֚W#}hy-88dD 4%js=\X~SNY裏Dmcu{#ZwEew$RuU1|˶hтA_O?yjSV襷&y龁]tE8-fmuX__}]`vs @ @ Pl^}Uhz;:Sm~w}ꫯ8nݺh~(j(~KoTomi'¯g7{L첋{ꩧ\֭kKna&~  PԖ~fQݚ :"fm^~*b@ @ @j8֦Kf͚屜uY1\_ga0Q}J/mc @&@,9c7 V$r[|Xۻc9"UָrB)$&l1Ka!%RR?/׍8~¯[o՝yUm!j"P 9E)Sоr/Vȸ]#8'' }g>nڴir:txݻwj9c),ѣG;~?-S^aw62Xa{ /*UVwm(||IK,)prʕ+|Ywyn>رcB*|B2-\%P3fxtAN|iܹCtOv)gƍڑ;wm*ᓄں͛w_w!ġO;ة"ag}?vm==3Or~JM T[PP۷z;'?kӦh"M5j6 q=U?3V0 @u@n乔Ę1cڵ ge4tR* -~ŜN2" o\!r "'9(rԐ{-Lk\Mr%i֬Y2r$Q&VZ~޺L >Vʨoܹ?~ ZokʕޕFR8H}Iyb׈3V_. GKw9kPD! zꩾ Հ|˖-c?~wбh)݃ }"& o9F[܉~njaòQr޽.%C}ٶ觡66b[߅.jS{XĥdҾ?I%qʥSN^$5sL fy9x/khm%:%2ۓ n)MIawq;muQ>履~]LsjcZ _W>倵xbK/뢦䴩~˒ܮ{o@t Ls#޺Q_ڼys~V@.Lr2ǯO>I$xNZlu~I׶ԗ=gYy0I ep`_;u]ì׿Z-¯;?/W79>M{qrRCetHin{j+OR%j\,\QTIT=y@ @  *zTIᗄUz}ٲee^2롦E}2eBJ5Pð4h D b&_ q+ڤz|饗@Ul),\NkVk@ ZCTG  zjӠgC]ɍwc2t'p_t}'SR%:ЕR%2B?C) ¼ijҤIeLe_V64II0?t\Y&RhO J.fJbh1![GukןCMXW뽪Hy@ @ >@>Ti/9\r% _ha \۫~. jVgam[!/՛z_Do*i\$@Aߴp \;$RR<'T.(ղ娡*"0OET#6GɁGW;i:6QB7K Pa&;vv's)DXĄZ1_b5 ,~-rڵ$G>ՀCiBiP&h!{da.U¾)& >7 %76Yx^.YFOR(JYU -^,j*I9<~gޑHnFj>Mda+͑KׇB&$ЀJׯG(%VO)y/WFBWyB#+7oI e5չr{T{챇__KL:r͔@II<*?/gU_r].^ut )W.|.rΊʩTұ؋aP~Hgz"Ja(L$gsźN@ @ P!*k\K5Lrֲ=}$҃P=4AnXpp $@Aߴ7Q){_ѣw풋,"`I͛7b~ZBuwyYiZ}]4gr DkOYXd_AK%w ߲Zb _U($9IrsSz]v|>W_|84&8L!(e=$AD3 Xh+zD)j%$kbPkm۶B 2WK9c=˾s/m_L歬K/%խ[7:9uɯKJ9@x29BΥ\$kr 8aQkC۷oӄ_\IK}(TzMK~IhЙ9kJ<7}]u~s0 _'Ty\)~\VZ>5}ŋg}oM¯iӦ(k^~y ¯5PKտ%O$9?iMe6E" +_"s 4cPҀd*;N 6`ps%2MK9o%R_etMs'MQ' ԬB9^ >kHK$+V tZ¯L"jj)$e=(Ghhj+Ҕ O('rSEI7I4ht:6" ~^`^zqrӴpTFF]peBUw;}qL1_@+l(F jb9ӽfmY۾S2¯|Uw8@ @ T¯ Z2j#~MD‚]p IKԥR&d˕'C(¯5Jտyy7}h~VN+#R ¯Pԕ(Y/~;^ Iiܹn-β6_YE>]pS9"R[5+j+rt$>JIW(T8q۷otr b BAÆ jȩ& gV\N]xncK,H @ @#b֛ܥ_ @,$_ǎE!/s [ǿ4 :/+ j+̕?WX lRzg\׮]mvqG?# W@ ZT٩K(TCR5AqPws2g˟k*0sɕ60vO`嬭{{pG&y~fOKo~S.Wg~ig  :Lr){WR]ߒyY*OFV=:luQ̗=kۿo̯Ss5dm9>))s(IlRN?5_a$#f͚zkkv~)ܧ~ZRXaNٺbMW\6lt]w9I)) +1c||/ԩwuו{rg57/]uUl}$T7gu 2Sի݄!39iYI4J@B@a=81|^0$q~H̡ЇaF _X@5ohL#ہJflRbb BW ";L=N5C%с }϶]M{:B(UQhBW2&_rQx:}J0~1IN )s-L 1M TB"z- \/KKǮ>DHI/vKղ~xLɡ-Wpr^LV_jg?Ikz!:_Ÿ:@ @ ~n-GR%r87<*޶oCBk$h@:|¯Cկܩ`m^o3rUNIo%asg Pt7 m 駟*Eex]lHȕLrz sn?i0}o%o$$}7ܕw׫U  @ @@U/S8҄_hKإ۷(t*GZR膆 7r*prEIr+> DךQM{8Gn7I`dI. ?U_jRcQWrTaRT,OLS,"ki2Բyt/bIB^z)+$mc @)Zr;[roB)lIյkX`Z^ٵ]WXC"վB+!D3rM!Rbu9Ioxa{D%9H|M"*%C4hPHѵ/rSHN:9,eZ_R2f_ @ @ 2LjC/i:S8<5JoV׺uk[O5@zI')o<"7 9j)\^7\6R)tzɰU M1D}]sg_! !"k Rovx`T,rVYdQe"]$Wh:oI̕g6b?CBG~Di¤Ac9&eӶ?TrL&K’*PsAJi,fr6lX\_v݇()D,J[J 7K2jeb.~urK^Ņ,=}o;4KmV~<\ޖ|*s" " " " " " " " " " # Wnt<  s?Hu_VWMଳ w}w3,RrW_}u$N;>E?pꩧک lo툀, j7}V.E@D@D@D@D@D@D@D@D@D$ꝛp5!ׄo% } վu駟&~~k|P1Uy! ׼1cZ~)8 }`վUQ7|s8VꪰꪫB'< )OyJp g4J ݘ4a/" " " " " " " " " "0  F7NkC¯9.DʚL1mn#" "КڍtH5]bZ~ut(" ]$ }wmZ[ˈ," "ڍLtDD@D@D@D@D@D@D@D@D@D`vH5;bR J<]Ip%PD@KF+" " " " " " " " " "Q~uM:ٚ4a/" E+FW9_CP{R R- t,a]i7%\u)j7fv(1" " 3L7M }cz뭷@s9Kk{ w^} ^*" " " " " "G@¯>a4a$hB+FWلL@Wڍ^WND*aV< " K?aV*H&'=I ?vuu@Iw]Dˇu]w7tS)cMo|p˿"V[-{A˖- +r֏>?OŻlrA[o $x@Q?/8"H?Gpŗ[nEJU~Ytuec1)z%Еv+TUW];^?@W ?O:Nd{я~f"]cOP'? wqGĬEk ?lIxCM޵^.@okVaIuY'{͸? ]tQ??E[lEY_p駇G<%ϼFebw=|,Οo_k/0b?ӭ`9dzgBڪV0K.)>a 67}ki?Zp kwA\z;:' }$.^gfa ?yͬ۵~! 3KxGydw}+_s5„E|hg]qWUooJgo}[K_5woM7 W^y傤z᠃Zp\[SG?aW^Ș_@? 16Ul@K>׽)v\pA!Po^ lo-@]!~-FڇHLx}SR_܇> 'K^_^,v\G/a*WW8;*ysS!(WQpWއ(hv?j=NܞO}SߣJQdS﬿(.Y~{][lqǾhqIK_-nն4I[\ʰ2ߞunI/}2Q5t(7NL}--־zQX~+ j :9jg>SQvؠ;,Suu^F\2g#Zqyӱ9#g>(3I|Vyױ$9>O۰([K1eq.޳Oʟ߼]ӏ;1(+m*C뮻zni-u=yO\W<g(}+ oy_l&u1QkyrP?n\[&ep teco2'" "Еv+ʭ/f (~O]i7$j^C<Д'6iO0?G~{=D]~5Z&pĂA]O׹;”כD-B,tbB?+;CA/ TQ'2YFLԗ?ն 8=¯4{gYN+kn28 MڂV7*FzCj2LE2̥a~--[ٹg ߾h),|+D6?Q}8I U}tO{ǖOho^_>+yv30un1QujsI?n\ۤokTkBoeMD@:E+FWٕ?K¯hZ`a`&.JJ!WPqq9s\\(*zVX3O7~&!K63˗־_dV87 W\vxV&Eq_д_~0DqɎ"yhy_LJcag|׻ g}v8&6aMҍmiFa,|qM_?L[5FĞ_RT~(Y?U&h1DrK_%=z_]֑9K^P.eˈSژsyB;E~?}ܪPx/򢯸w~}(qw8H6 ~rlgXA8Yi9e\/2x;7NS3^~܄֕ @ tJ:R%N9G]i7$7&1ԍ*̙d2)4hi6}\u}x7pC%&O@¯挧)b&x^p GoR翆G᝟](uLH!OOMMpSebgeJ¯&& nꑺT0)nG]U挀_C%ъq}sp<ժ.#0I_{Gy7ڽ;3huh oxC;΂l9Ã=7 -&qrx]*'}⚲ﭶڪ~@@WڍiWU+ \ +h9DAq|7q)馛__B쀆(Η'ݷhe8lٲ@7 ?C'Ak6,q~- J_X C+Rx_E^9,HD@D`Xl7|K_ w^O}j!ZO~ >Oh*>\ qG.z뭋e/{YXnq:s\E{F;Zk[/D'ooߕ_ Ţ?!?,'>1{9qǯxFŁughymwC*I3pg?[v&guV8vu Kx }ů0Cd+ya/}{66'?-W8Ah_iyrM^QQ,9S~Ӟ }Eo]w┿ǽn쭷,".v}8e(~e^GW>e_@IDATu>:SFInW/7>E1h'!. g^mNQ7o1yL=I6qqԧ_lt_psөwqQW_! &srH8&`C} gv?QU[&.Z z`q6žmG22;e]VdYos_(9:{(m-m;Y^{?0i,yܦ8n+7]m]wU۟W3'wa}' Ps̝|+,~FKvܾk8asR7DŘ(x+z ,١~ى1} _\gz}1 ma_q0sW듑kGEXi2皱26d/Q^~q]U=~Bo|AigxN׾NxVWES6GWG?ZY\7z?}/|xoyp mƼUnGi[,P:LAd&}>WbG}I~з~z.}#:/~+fru|B#h\< _şjFgle}:{(WU 9*.=r|%yEB_I7<:/Ǝxe|;!c 8P0@k]w-x>x9s|W%^7x~ a\$\KrUq~^87ǍҼhʉ]}Au@D@D`Qtݘf:bEF 0;| d@i9}!~meg.(ӿ%LFuq<>qM;_tEAH/ s,,shq;\}+89O}ߧrsЇ4Ł -sbG>R'VZGsd2ETU9>\'GG='ʫ18i]2MqsA<#>8}ְ_u,ʯ晞/D>sup]~d|,?9صQ`,b~ئ,F)3>Aee x'G|p_fe0qB/mZW?S+OXyȞSO\p|mZf0 WUXpK^*+30l`:|--lu>uAsط K#yn8~a725qا5u'4 n?CUnSUⷹ~Ӷ/E_2AK>>/;GQq~#X4jbᰍB2?QOMd:Ğ#ω}v.WfHP=, [?ZceTYw`Ƕ|cwyGۺQ7ږwֶ?V*1K'~Q?Bhm}^riB_8(BRj cLҐn{-J=?쨌g)~(Yd w׎&~Q?U=A-ޤ7 wKbm.bxgicQ)y" " @Wڍi bnҷ,G~beo']j'E $;eu~~}v(4\+arn2> !uG۾NS\ܣxV-}h;ZFk^} `KϱǜCkװݓ Ǐ;/ö-i~Yy$}sefh JC=`ijovMakX7Fٶ hM )S| nc;/2,c64oǚrh΂G-dܛ|rxc&A¯ j2U~J,5]i7N/D⅋t1@P*_ڄ0-uW{ bp^ I&q{o1Qe/0Yla󕋝li_tdM"xKc -D@A`F]z~:[`v(3pu,lF\^ß.&핵;u_7INJƚ!/9_okRE4 <'Ȇ~w%tQG,2 v? "g?Y7ʹw~ ?vr1Vׄ_q2ootZvAVϠ龟f?.q\\§+ h/ 92B, x:y#/Gܣq:&6-n~9~r}h&˰^Vo_4@=C>jڟwD8qօau|([׷}f20Ƥ{ʖ-"ܤ)M[Ke"aBux79&5#u3Iwjƫ,}MyE~$*?V1?HŻz;uo0ַ+2+þ.`\z)G>J/m^?y#<#XʕAG q6q3SVӸ".~Q-9kG_̴}mcЧ}/^!3wU:"}f<ŸSݗ\SYƋgLJv1[&i?n=ƾ_Ӡ8fedXnL3^ Z31=//.~?p㹗v$ gJk#/%3/qvAw `/jLoFE@D`l7ń՗ pOu3h&$:?-}?LF< u~b_EγY1NZ8M ,`Η=2W' L?!I84}`aV-y&q-_s&ἅ/26.? o*,cM_aď7L9s~Is }`_trSQ*~Յ9?N4~Յ98YŢҤݴ_L@XF>aqYO( mjz??Tq->qÖ?ܳUK}wH/˽1 gi~26(vk|=U֨e s=ײTnH+uV`8_6LdE91~SƋϋ"L4{!G"`Z{ge LX:d/_^P%@0Z|__'Ͽm_,3L6crm4o6x |!}p='>amK_`4_,aY򝖙QȷG}2꽜u|#fzIyoSO~o_^ A+VgRޱ:蠲<pǟO_u ڼ6{V(U1\jexx0܉y ;GMH=Me܇Ǎ >/׸Ix01'( XnL3^t1df'`]:)~:++l~"8_ XذMy&ri1D`FUZoETC*- :?20Pz S%onv=m~Kal*"L?*X'wcNZMd1ω WԼ¯*Y,Iˋ}&6)`c䤏N?nL"d[5ݷgxu~裏nLq=r^-?/,D`cm/'VGc9CU{Y BKs`qP&nBEVpYY Xfk9s^gj Xp~[ݐNoj,6b?-l(g,XM&6}Od}2?aE]vYymU{C$9XOnxasdC ,KU켵=ߗ Q[K[+m_^دkӗIYz-mU-RYPޮVX)bmy4?Fm[|XOS5̌G^P :r#N' ){s`? -{7q6n0ο7UX{\Cczjzo/D|a_mU؈ݷA:kkrO}!k/-=~)bQim%3 C䊀&Еvc6*L:|}myŕg@pZn [?! o^hlc,JoD`FUZ~:aTOcf_*/eEeerOt]s59/v:>)1 rު 97D4^\X~!<̹Y~yT,~1c~S.<l3U%lhY< 4~1jL`Y 8݂iK_f {O?P\$q}SϪ]cqi#4~!j./y5G&KILhۿE޺፫̴i[]feU~Jd3D+i5M咹-s_Ov_&b69?.1d0גῬ?Fӓuskc 0AQ|`_WYlp~9TEablX`X8_6T;icD, oI]l>oS(eaMA&s<3OF5~yo{Yfڴ-.3;ea,\|%ZFަ홬?v&{ c 4f4 B 뼐묳x|G?Ö£iy!RK0 [y1uqE(o2xq3, zf8`y*~4n"Ͱ})sƍzYx?ygՋf)XLwg-=k+Vߴ.m4')e΢Տie 1^mפ[/3>Jݨ*&eq xMTȽ}4NՉ hFq~[Yo6y3[bASUO긄_"pga|XRnL3^F;6el <(c&竮:^%b^8b/Ds/°|X<*a_" "Є4ۍ/׫| , !`&gsVuN;U b9l{9/Q'Z-PokKB(|Ut"wM&{rc-9OPU-=l/0ᵝ1 ~0;MP*Q [՗lizAɿ?X'2n}R1Mk5]uKkl&ܸ6~kavm"g>gmD1巾~qǯaL물y+.~15aSKV7e: [fppݷq t2kX{XI6 8a/[:~6턇/?0 [β [}f̮7 1\%>VomW_d鷖ƪYјg}|CKYTڽH۾q>.*KV3 Xœ7 }^Fm[?X0 eϗu,b[;O߮̌gqp1`H %1Q7,Q{zIh#q~y=K6q*ZA3kýI|"g~;ltG㞻v$$= Ƨ#Еvcm_"ls)_4r&:A  7)~_D]&{s~vm2 82f/Z0[/7/"0 iUujMQO/YV2P8n翲}mRK?lfA!ɩ:+^(DY[$u/Ƽj,8[z m~1IUMe^痋ap1缅&70dȠk~SdJVNBµ(UnT_^$;WE3rcI*V >I\aqc8]0/ W9?N.aA{T=߉r$v>9B9G9Qx72ҤmD›Af698ǕLEF+W:;'Yz~ertX`䐟;lײo&|Zc6gO;z07F`i`K"l<3\ss"[U9 tnLbHŽ/cg0ex0@zD,S?XPX S,Q9eޓwY\m\,,\YǂO>㮟}VWg9 1G&cs]/1Fm[,ݶ-Tgۖe:Vuv"23!Zz~yw֩GWyoSO+jVFxƍK$e!{5y23JB8msmK?SܰbqpW~\K7^$I5 s,LpFeAD@ L"_(r Z{{o~3`:/S-AiUmp/R twce[n);ćU <&KZ틀@iUi`Ÿ&Kqg 68E9Ki;5|wh[h%-MHCYrϋBݷɽ~L긄_"pga|XRnL3^T5'Cs/?m/e 4~:+<^ |ij%(_̯3\8MjY8]ytG?yK[:&"І4ۍ%MC`~}VI#s*  ۩g/>3{8b @yL:0i0!o7[ҥg`Lt޷vmI/yvm:aK;csjA,LTq ̹Q'h3# (¹trtYZ6~'-b dGsB9>HnK;CQ\"L6>$l]=E_k)N{kXEa> 73S4[Ǽ|2cs9ǖk}jeN;dQT-}IGeu;7eҗ_ xq"}U>"&K}rq[YߨϪ//?`DgZ_^ ʂ {?HLRp9Ymɕ/4^!m/Hʮo#"L36h?/`$23-3v1W{K~NcQ<|ӓ6Ìo'x-ewE,o9\[z>2Vfyοsxw|E[L^G<=l.mrN=C~ӏH0l=껮}~8$ՏM2f=fec!)q" " %L̵М oD;/3|}^o{:$UVe|6_yg0wyP>X°/7]')MeVS`"oyڶ jy\4hGe8l,({i{d4uʛ-3uo iyo[O-y~| 8h}:s~yR.ʇtmLSp7jj|'}}Xy1[H(}u]Öjbއ@TՄ!܄!3jq>>ȁ6m(1gc NegSG ,'FI;1H>er%]*@0Uav]n m \Q֪Sds/;y`Y#881Ȩj"sU3O݄l&^~Egч<7,ձ}+xv<'eؖb1[WiR!UrM.:401ΤYl{̗A O|h"`BPv&qԅOiC˃kS&HyaR!W=qaۖq_zoτKch[D(d9kz\Ͻw4κߟ5Օ ³Lv 图Vj|[XMޅ-3>mosdqr6j)gVg Nuڼ+ffnBS?Y?4rw~#g.+S%(Kny^D?3P|: n!ro޴'a[·Um_c,>~c,PrF6}gQ}niacM[׿_X~qmplvZ_9MCχV[nmQR\4,߇#u΋rꮥ}=Â1A}6m}g"ǃ>bNc@HŽJlg~B.1ǐ>6=rUsd5ٚxїms֏]Z6rQg#v_syhjmy[`نqsO$/Gౠȉ@,~oV}CD@D@rnt%W\6lPl q0܏&E]Krh&lwUDqb)<뭷^_Pq!8![XqK?Lz(AzP| +Pӎ,6Yl7 \xEN:%N5\3xXn*Ê{!į` E!dɏZk9ww!.sME`aѮmᑏ|y_qHw q`9<я.H4d2N?# 6xt-ѪAXc5\+<'@񬒇Iƚ!lrK:VZiP_}1ьoSg*u}w/|G'J^Q.d Q /bqxի^E{_ QTP<-! PoӮ&,lz~Qݣ((W[5u]?fPxMe;|.CK􉢸)DcI~E[v饗cv:vٲeM00.=EҢ9D.MYE(+hSV[m}x҇٣ jaeMJ2@Fi|٦}VJr-[kSwTA0mK]ڦq.L2*i'3|-;~{_HF\5}vjk^6ť B43R]#" "еvSp;X :pD!U,9 =WE`J5D3u@- Pêa,u__ܗSN9ua'yR'nw,,?OD@q@pyq_^1X0B8z KSO"W<}llptAq1㦒 F"v9hMpt)" "0}]i7Η%^~/w3zֳvs/2m[lQns.J%]J_][Jk*=" K LXa=AYR srY@ *,ÚX%@tJ:uז7aw'|r[;" " !Еvc:4^,~-{_cD@[;ΰe˖_#kH#@Mp}T.D@D`Znt%rHK%#nN; G+KvH3 ,eXhN%Yr+6X'2٬:>q 뭷^g~Yʧ4." Jѕtt$ݘU)" " " " " " " " " "0.~䜅 9ʎL@Wڍs·K4$v!(yX~- ُTB%]i7YJ,ej7WE@D@D@D@D@D@D@D@D@D` H5hQR EHE@Dnt%-JsvC3~ Wv41. GD@]I(5ʥ>BX$Zw&ਁS" "  tJ:E!vcQ+R$jjyRʯF+FW9XW_uUs)2;^{I ÷r˅׿aV[V&E`ZnL"?{aM7 뭷|eN)~혝hcvR"" ] Еv+='wQ_EM?BD"l~5=v@IDAT?qr-%A@^"V\qMb/뮻.l}[A{xK_:`, $:Mp C+FW9 ;K¯*Eh~D3M]-!n|-+¿˿Ln\pe]71<htb" Do~s83rcys׾v[8/x 6lSw'L"?Æy#8"{ٵ^6pQ}k&JE@D@D@D@D@D@D@D@D`  JѕtO, St~Itr8fx^ ;*}Ca=(D|Ɨ~p ;N Δ؇=VmlI~4~[iM.g n=޼u x;mw].=)IU`􇸏C=4tASK#m+Kzavg}VD" " " " " " " " K@k?9hB+4.eRo;v]vʼn^RKCeGU'DO/Z(޷>m~^'?IdʼnJQ*O='w>6DN'_tEŪ>C8C K2G> ~7%-X Kb)6ڨw9,l,mOf|ϟ~R 0v'oO>$o,P}mXgucIk7w=7߼F{Ʃ?яawy_z; JX|ӟ^YщpiH aS?nVE[ꪫib-Qo;i+X<9vI!e;Szp;ԥԙ+b3_K7MѮ,c2}ҚQXi}/j&kVe6i/ne|_,M";XX4FAtg?[X*%K7nEyի^UXqcySYx6ո}{xvw߂Y G1yΛ@{a$ KF(" "]i7No)zXw[?8XZšpX?q8>XXa)[:ꨣzQ`V{{X|p®24}s9,XZ%(p+ǥ.{sX[{ы^w q(+WW(j+KWYgsQV^C5ܣO|yx&>o/,X9S(gQPFIz(^+ljP^:k7e9#0v M:0.S80;@ii9^tGإ}_peXԱ9 b??ջ>(Zv;(KAm(*jl¢DQtU3XmL8 a~ӟdNⲉea7?DZvU 0XajpG}tb2G>й[G"0nTq<Ü7snPa) ~XtM6kNX. >;N,DQTE(z- Ukv@a;,6QZx--6,ZamɜeǞ'g=YŰ(E:h.Uvx KQ+.Gyda͉qYf.ť NKn|o6}p?^}vgm-,\~FR&:mGm\؂,X$.fUBK;g<eq) z(73|,N6>Fа֯E(+7]Ŭ5hi>j" " " " " " " " "ЀD`YXH]i7N/ y~1lL2cږeHoN^,`<7X}[{¯}cenX_z,YwH'?^6>o̹hͫ̋3 Ɣ $"ŧc"0On46I^DdDa_,ku"*nYG&¯o.++GTg/HhpRwE[|8jfY^Sow'Xoba0m_V T%7lYˆ\)틀$|0IZ Еvc􂜪I*|9IE, ֚l[_:NJӴMzw!xKX:J/hC46-~yj9+1DA&=W_m Ca⵲E6;t'c"0n49' 7.ػꪫ GqI.@Z~@aa}z4_~U lKj;-hqxoչQ_E?[k#2ucK;K.X~{P&<4/ ?.?Z3.l{|+qyX.RAxr" " " " " " " " "0NYqƠ:I`'8: R%B+49~y=_$_ܧ>ⲃ:8~PŤMQ^4/nJV,mLL3e/~};)ea~iToϛQtN bi-/ +Ù ]Ur¯.L'B뮻e]D`. Lh KmouTgI߰¯N8a`|i^l_X9+Z{x9~eu4+˃38i,N۲dk+~{[޲ .ӶܰeƸX#8ԙ[˴xggj%qk4(Y#ʊLgAw%&+7|s9A8[->cB&H&o$FH%n?iia{w!]L,ei /e~f6u8_{l*܍'pXŲ^2ciZs¯|#B`lb$̓~R!0v)aE<7|G܂?9r 82^śzc^8|}[[$>s,k,XvXմ?eys*h#b3^ Sf6W_J(5'ﵧF~4qPƵ{Y[720툀$<_:[yJ1t6 (Ld[D h.U Xҝu_"*gv+x_]X̲0s}y~}+_)oci:ꨣz^|bpv&>Fŵ6{Wş_jG9%0v)aD<|V Aؕdd~):#pDu¯wY^H ;t g[R9wm1Yuik#Vv} }#?N2Oubrq[i8gAeJr" " " " " " " " "0n~蜄7sV$Еvcl"$6i/VFR26|衇%|N8[ַU%7 y{^'~y/{rKSN9/8_I0cȯ_ qˀca l*L892r"LhvX{]>X)̹wݥq duG?\ԵǼ+m+B/bYĜݴtVxg"%K[Z n2}}kaz8_Oxg cQMrVIC6=R 뜵>ߣZڪRu9hB@¯&YXAYJ1t6 ~u]dM\P1lB%b _L ;);q/U 1/ "X#P'>puY}KqދØ"7ИoS}q[aa<B ٤-INy+f'3&&c)ˑY!Οq҃(8qX+?iM.?ie}YgKY‹}?7/]g?=D {׻UI_< 27l|>Ue[A(=,>.Ȓ,9l7g>S>,3xi)DO#~|;G0lv׽%.V,-݈Q |xpmfIf>[~^f$̐ZG?*l`}qga&/.m/,X0@G9"Lo,{)u94ɉ@8p[jtJ:=+"lfš7 !NtӕqR=DNBFM6$~?ʉ믿>?8z}A]ve!ZoC qr:⊥k zЃoVXa,D@!N65\`?2Q(oq2Wx?N^\V^y}t*DQT"ĥ,:r˰7 AD`> b/a-ԯ9Ŝa/Olv! cNSO=8_/|a{(\.( oy[b# ߂( _җѢY@NatM+|wx} G}t'BN$X܏*C[nJ?Q(sQHoBm?hSh[iܰep?{0\ʄtGvk߱( QЯx# *7_Ⲹc ߇~x"@yV׊Qpܓ(*},6U0 óZqk4(Y#ʊ]I/ x`8ÊCr 1A|- !li]/okQZ]D@bW I*'ĸc)\h8-LU..oםwy!Z,"B\s^xax_Bd׼&tݘړ*UҮba qT͡B%f+]tҨ >=;R(" sM+FWR^{mYfvybvD@D@B+T`t8o9oЇ\tACpY'cam-:GOD@D@D@D@D@D@D@D`0 3Z>4$o2-"  tJ:9p饗K)mvav -\ E@D@J.w[ZnYK.2" " " " " " " " " "0n~蜄 9ʆL@WڍsJMш vc?}#8Lpg7޸<2 |&vMpL9$Еv+",@' m+8\|aٲea-zԣ/_׎t_]J&8&VJ1t^s5sz--mD4vcP" " " " " " " " " " sK@¯eL" "tݘV:%ZjO+"X$Z,WD@D@D@D@D@D@D@D@D@D`H5 wa0̺$" "Ђ@WڍiS¯H@ ~KD@D@D@D@D@D@D@D@D@D@憀_ss+ǛiM7 MD@D`tݘV:%ZxE@ W~E@D@D@D@D@D@D@D@D@D@< < 51^FNJ1tJu_qWcG=\=~=QD@D@D@D@D@D@D@D@D@D@G@¯TLӚ%VD@D@WڍiS¯W_ow߽ ! WjFD@D@D@D@D@D@D@D@D@D`^H5/wrD@D@@WڍiS¯ _@*ZXB$ZB7[YX@@¯HtӚm ЕvcZr}wN:ۆ'< Q ! }%uY^*VX/"0S?HӬ=e˖W^yۡĈ fJr51>+U:D@D@F#ЕvcZkE@D) #uy'=IŏOav~8#vk .y:p!.(u]e8'|ryߋj{+^>O%9-\}lf:udPD@D@D@D@D@D@D@:F@¯ݰi%wZʏ,J'zk馛 oyXi܄n-x=w&ZMIi^D3ҨHT2THW B E)SWi & "CJS W k=}γ>skk>z)RH\ckӦM/ի +'[ҥK/{JN:.7矺+W#h9묳H\R 6 =P]ZJ p j^3H (}riT_w̜9S:( d麃nMʖ-~glI)RX_s$Z=zt]ؐHHHHHHH"F¯MXP jc<}HH@T֍ 6 RvI߿ U%l^lݓZjɳ>+s'J~|0mZ }usB0Oڶ֭s9:﮻= M4I~{g7o6>`qW׮]eÆ HQ~ ~Io{8q)$1H z(#(l¯{Nwﮁ}ZD7#O#yd͚5}p/UT1CvYڵӂE&mo/ZH-[&k׮bkKƻ7_M6k`^LCD৞z{Ք)SC)ịq1=3u8h\'Kx=gʕZ^xqX~ﬞ{;jc{DY7ްa9e˖q^tERnݸi$뭐[+OH?/pM=\[nśw駟JӦM  rg"2t܈Rii$JOvw%Kp;;*{/\01cǼO-ogދ;[ ﯽ8_~<       ( (* 31؄HH n50̀68[ #62k9uwn$W劯ܶF![vi܅k&~2T|Ba_F56ґa @8 p2 }B-7%~1d@t__|v}\79U WZjYD^h Dƅ ?pq9>͇Dp4`B4͛7kG(7qb).W*T@5 rۂ\+WN3FO?];tA$.ws9'N̈́7F ޹s{ 㻇7A|@s>0 OZ |skAB%oKW_hutz} ό6~.t^kpA 9uT}gV.m~0~=h sHYW>~A;7A?x`/\}뭷lU0c_r_*0ׯ Ʉ_OԅC.skQ)3{ 2g# 6~OyOq8F$@$rQY7gn_0G*?w 8*rnB|ApT+[oMh ^7̓~˜$~˶mLG䆙L+ @a~!DB!M\֤d/Sn' M:/v o tAbD(QBߪ֙n@gPuvZ(ǚ gI$a:+zT[%WAP2w1a^ "57!%HZҎjn9SX3 ~! qw.xn$p&!T&v0dk\1!B9shᒩua!F~b?㪅 yE%Kͦowω B&~LCCJ1@έV&%A澧r_r_(s ›"'!*ûe qpdvɼ 3.HHHHHHH  Lf9 @>ʺ8S~u]vF8/6!9ӆ 箕L B2+8y"4vX R:$RA q7kѢE nEp 5#BCdd܄ qCB/8p1~{';!r(1g˗0N7=pWCHTC +$Pg_ƍpw ;c%MfR:p FZxq\:RԄ_/$?Y`WS@W֭[u8o*/5 fO$?8S="ʫ8w<'       L¯ ~a۷*B-b=.!.jHg܊p aI:y'K׻ロ~ XϞ=.CyGݻO ~"TS~gxG$@$@$@$@$@$@$@_qV3Lac   Dej~?^*3FqcϞ=q{ fz~srk2a _{~*pFЀvlyZ?|(_4xW8`iCUpRqJLIC0 z1t =^~e+!B(>#4m׭[$UaeDGgu9 Ō~ M,pGVu! 裏 <>C1Fjڵk ܄UiI&r=B #!A@y/va;ϩ 7o<p Pn%¯s&|M;C wTCĦ"ʫ83HHHHHHH " fP @Dej~}'rWsĂkĉvk̙vȐ!VT'ؼFD>NY`SM?9RgA4#/N=ζmիWBf D@n?{Ҡ֍ƁoǦM&TGX6m _7õ2HHe˖M3'sE6ljժkF ڤ -[LRt\ &XƩF;  K GS@d i;tPgǎj.6x_1J*k<\HMXC|SQG9~}Z K Ќ\WNr;| OS~gxG$@$@$@$@$@$@$@_qV3Lac   DejdCHN:B4kLylƚ FM͛l8R 6̆GK6!\BE=ϥH"/iBB'Ɗͺz+.#\Cz a 7/<ǒ%K@\0: ̙FI7/ H( ¯Gyĺ=Aq)$ >L8 _p4KDHiQnNCGynNC^A \-QC4c0v~!q>CjDBCt-] NSŊ%pBܤM6iTMp Úm"۳fB0k ^kʩA_萟SfϞ-ZE=~y+>M~e.]1p4^+Gvy^}HHHHHHH 8 xAm;># A/oQA,U^]֭[ p2 .V¥M>uxi`s!JkNW 3KAgOfH$ A:?%\!\ ,t@IDAT$x۷o3\r%"_%E0;N[.8}~C "3w MudY9OҏeZ hΒ/1 "D\šr*B7$|o1p`y%HHHHHHHH  f% ] #A+f7\IՋې @~( /߯1A b%Ϛ6mS'B>ܶ *>ɾ{ "gj+!_ kAʭ5&|,Y% |c{6q'3My_?qԩҾ}{ov{e gs'       @¯0itQGC=)-^zInq~ ϊ1W^ݯ}gS7/<['Sn Dx$yS^tP8%K<@Jw=_pCI /Fm7y'7o^\|%IHHHHHHH00rxCc  ʺ8~HH IeBD9pq7NMq ^bEZd%dqg:BAȅ0+sq:%/a?QgB^+WN-_|M"UVʕ+Y5\ٷn*?~:t%B;Yߵk@0rY2NXB5jTeY"ƍuhU#ރHHHHHHH\~4xn 1no  Hʺ8) D@a~Ehz8T          <&@WjAmGM$@$O *FP+  lwҴiӴo^L6$         + Sՠ6 S>+ dQY7'_m糑 _a1&{u饗+R0`)HHHHHHHHHBO¯OQ 0y:ޕHH nDeG$@$qr;w~N8A:uv{6$         +' Q]np棒 @De݈830%HH nd"          3~hw hGO$@Aʺq= ?\K$@$@$@$@$@$@$@$@$@$~cB7 npnJ8  5Qg'# BDF!l>* D_ ($@$PpDe݈8 Λ'! hIHHHHHHHHHp 4 RQY70Ν;wݻc9&coԯ*bŊrAeovD$@@֍ʞE$@$@$@$@$@$@$@$@$@$= gT(kpPN;H&u# 袋dz.bXsmOK=tŋaÆ*& º2/IHHHHHHHHH  dQZK$@$u# BdiР_\  lDaXL$@$@$@$@$@$@$@$@$@$P PU'77 c[ (|nDa~>1 @x Da/=H ̜9S7:*l2ٴiS\"EH6mG&        +|sq#A @dDeȏqo;ڵke֭Rre]xrG9^~l۶MnvYpNRJٺ8/dqFWBSzqs;vիWK/$=cܸqrqIժUʕ+eҥzFr)HJj 9s䫯~Ij֬iD A$@Q Fp$@ p$ s/'#[n2f̘_UJ,         '@WA(G PN E$@%u#qBuuɷ~0wdʔ)Һuk]vmSO=P˗/"*r饗ܹsqU&Ǐ0N6M:tP#G믿ޖA ־}{Yb3'5SJ*UL=>rwk~]l @$nD I$FN}{Lx ]~b& _ HL *FXnݺvڰu f̘!m۶|Pz![=㏗X,&^x ă܄{2{liժ[dG-^{~t[N ~f͒&Mjxm$dYvx1 @nD J;uu˖-jS#rz)Æ M( 9%       ` P,܍*HBA *FtCL8Q.2b/L̸p}E Rǭ;,~!!o.~Z_# 7`#G 2l!4ya[nEʮ]> /!tij2rZІ޽{ˠAt @TgwHrNGwA^z9-&@WؐHHHHHHH"C¯LUGy7 :AN: nWwfBɓ'?ӊ²~!,πteqΝRtiדO>i~AuC8dYpGyDިTRvZ+v:m~V¯ 6ȪU䠃-[6O>SO=U_±˸!#++RL8w\iѢ[婧҂;T®?ߊP7]/.%JuyB$@Q # _9%~e'{#       0+1q#! @Der>}b.]3ϔ>:eUPY Lڵkv?k֬4)U\+-[V#p@jӦ;sΑw}WBAo^8 9묳JWXz%G4n[E_C@zX?pQnŊ`w!ZFdi2k,Yt,_\?xiذ\~RZdt>}v$Dƍa,˗馛Yp2{l]u|MX-\,kԨ!/WONȸ`\G '{ \c7k{pBfLۦ+7}p w BNxr밋 P 8}l~p Q$/4c~1}#Lv1]7n}+g>szah~ Bտ1%KHđ1HH n5N!*USu5׈rH6=:trnݺs7ԣڐafϞCB+p]ȟ1cROb}ޣG} r'2ưڛS|D(*A=Ə/EM>~F[$@$&A=snC=8P~}]3<#|pv$%J]{?8J,J,"ne 8tPٳ)ʳQlٰ |AQblQҰaC؞m6k.=Kǎ9P:_nA%x}*Uʭ9^5@m} 5iB=vA3tF\ 4˕+zmE:$*(tA.~yW*]y~K䆌Dz H~t)Yf7U`21x|I%!L $mދHHHHHHH3&H =a`  %A J;8t`5n'7 $9ஂFpR_x|8Z T䩧jPOmƽ+d_wu1)BI$2e8" ?谑v6lB;|}prAXK 9 ׍P !9% NMXC%YɴxwusΝ['әPv?n8Nw,=w^M<:L{&'6~M2Jhڝ3r|7HrMީS' w:!5 ;P=M{g"       ':~bJ$=qd! #Au2s6fnn דO>i\-a6Uꫯ^xd'Hc퀁B`M{X.d~ѿn2c1yp;IhSjՄ:uoTH"A u#+ uBJ+JD$+VH>Ua>i*; u*T`pGP:~}WB,&ttR:MӦM8c!)(8zL\:D2gT2PS=^Z;yya%B֬YI nJئzNʖ-g0ewӕ7PSǯO>YThhޑEu#<2./]ߥg#m\iG>9sNSg23y*YNhժ? dE[K lQ/U:_ tIM=m:~)Q?^JS 0Wa!<7W("       W0Da?G  0ʺT!>Xpр4h ʕK:_ f`qGՃ[˲enpӇ눡6*n*Gqԭ[W<@.*DvRJ\;TR% ( Jm~'pOD*pSI'$Jk< =X7cΛ7ON?t}_DZ(sԴiSQ)F Z1%e9=qo2erE뻎_ӧOWnG>(Ra/E\ /*$(Lϟ?_5kSqJV-%:z+a6VX14_N:Y& o Қ5ku{+UYsDҧOJ֭jeB N9I={aÆ&*ԣ,Y2'YHHHHHHHH (G ,g{" J *FTY@_> D@X֍;:)QnQF I=du:/]z饖 h1Ϛ5'u-8Oж_R|ᇶN&pytʕms|BMqA.xѣ<I;s N`Y%|YUϓ23V:~ ^vJ$@$@$@$@$@$@$@ :aHH@T֍23IH'u'bW_}57Bc~¯-[ĔW\;sL@&cFd W/o rs"4iڴiovm۶m9Ϥ |zE]16oǟ~)i~!p~)]7*w/.u¡3fLz(0Q9eY?/ ͽ) HHHHHHHA¯pCF ЁHH| De݈8}!3HH paY7TE+"ܞTܘ?|[ Nwz1ZݻWwkƶq=z֮]G{쉩18XBe lT(K )8N07vظh19sbSc&_DOx@ L[|yLWfʻvjIAXfo{1YBLZ-\0Wy_~}lʔ)1䣭 ֽPm?ŋ{w7Zߛou[TH ;~54y ^z)n^6lؠ˒2c~%#|        8?B1@O ʺq1f @´n4kLϟ ]v2c ]D3ҫWz*(<Ȓ%KD mE2{li߾(1MB7#?1w}#J@%eʔ6!CXDgrŋvmSO;w',%_~E)Y]DmyrwٸqcQa?ED D la˖-EDDZx?.}_ec}(ᗝ(Q\tEP^VwҨQUnVyg| ${+SDQ«lY4R/L8W}:ġɻ;.Ym20{78eA 0N\x6e+6<7Rbأ>۵ki5~X6m%K'ONpV35!k_;ln=߃w=G쒷 : 4yޏHHHHHHH#@/`L'9$@$@a#u#* r<$@$PX mؿvbR!|r 'HѢES%m&*ܡ(TREJ.rJģP9RJ%rI*_J&իW.Y ,C=T+UTQ"+Yz)VZRF )RH2QA\u&8e>YJl"V%+JʕkXVm3Qf0R\9*5J('~}]ߜߠ)A=w(*< etJ@          B3H68E! ʺqzHH p+S}?B˾֭(G2 0HHHHHHHBC¯LE pGC$@a'u#* |s|$@$PXpȟӧORaJ*#z_bLNq*,e#L2qybg@7ݮZjnIHHHHHHHBD¯MF 0B$@'u#* s$@$P8pȟyF(cǦ}/Rԩ#~ IHHHHHHHH"B¯LTGy? 6QgH 3SLE};S;Q6B6$         "2QAAHH nDe~8z (8nD{./_. .ѱcG9C@= xP  ʺq}u~iٳgp Һu n{e޽R^=iڴiJ׮]+su۶m+*TH+@a"u06HHHHHHHHHG¯Y #G y (0nDeblٲE'%Kr r믿WƋp8@z- JiPFnASNI+@a"u06HHHHHHHHHG¯Y #G y (0nDeb_,ӦM_q8Bya¯PNa\7"L6mz)[q1uTرΟ={lR r֬YP`~iF P>Ң&oL7pL<[$hk鱸}F^y뭷t /P^u"AW_}U_*3fxnvl~]t.Lڶmk;OW^y̚5˖'{G|ϛ7O-:Jƍ'g}-J5tP뮻t]㏵ᇼSN9W\!#G=rw'ADox!c"(z݈HHHHHHHHHH <( \j$tp0$@$zQY7'ܪ֭k|[.N5cƌ8o!6v)3{zJS,[27)-ڵkLJS` *-tҤIqe(߿wߍЃ (TL9e}Ş}Y[g@^&cg{饗b,BT[x[YƼ)ACw2Z12dHL t9P*&(Ɋ 8{Dy '.?%ea-߿_7VZr&\|Ai# @F^>rڳy^?}#         (( c @AH$@@T֍ Yvm͸o+ 20|fC=V:ä_*l=B!Cez|d„ ΀lWxb[fN\M*)͛c͉+ܹs &7)5{Ohϛ֮]kȠAlҴp08L2yFP M.?W ^yi=THP]eӦMiڃ6kdH&云 Tx\i>1/W|7 C=fJ$PPB$>sHH@T֍ y'… 5GyDn6)Uů6-*|?E9Vm۶Irl}sD7r!K%!qnGӯ dڴi&[P5K+Wg)Q3aqѳgO6lW-iذ>wsqիuGO';#]w%J!Q6&#mٲE*TB9: o{<%ѣG?v@$@$@$@$@$@$@$@$@$@Q%@WTg.]P78' BK *F*>d̙|̘1I7tpr?B!WBTJǎͭ.r2s=-ܢ/&#J+QB%KBÇ벹sgadm4=٢ ?Oovrf͚r%x駟ʈ#tuΐ9Q!9~Ax־}{l,Nf+BL u#H Q~JiL|&3 @a%@Walnpd,& H@T֍ lj i{z)_עݻk'0.O=P]C+,Z~TZ5%T*wҲeK{#sy2_VA`L{WuG rg4W[ZhЍ+\J&K #)~a¸r1vX[ b]tZR˗T~~u!hҤIBTMԯ_?Q%uRf@LBX%\-5 @F. E$@$@$@$@$@$@$@$@$@a&@Wg'VP78)oM$@@T֍ڵkeҤIZ07kNVܱc/_^g - X(/Wh o2#WecT* a}SW0!YYF]}7IN\p;Cs7h@*V]:#_?A4zGu+\'zJ'K;wbn=^{5AKu D ? g"S¼BZjiJ?p y9~!qڵ)S&#G-Z?0. g@<"kԨϺlٲuƉH@IDAT.]*3fl۳gv3g/믿.VyJkp/`mV ' &oذApJkӦVh \O:$}^og @110 @*n8wSac*^L}?j#7 %FJe)Qm\l{:J| Ub2aG LVL6?%m/)M~Ub<󌭣6}4S tJ [GV\Sa.r6mPg߾}ލ17nl߿B.?˕¶Q±6dl޼9bx78qTnt6$(^7*Ec*|mߒRgc֭3Mk1.K 0c-׿<mJ7ؕ,f&IJ 7{7iL/1 woynposc5cʔ;c\{md[$@$@$@$@$@$@$@$@$@yC@[ua:GH ASeĔ 裏|_w'u PKʭnBXe6Fr0q3< Bn+ל {f!IQ~d5ˍ#r߁G(̵l޽{ۺ;rcp'mY 3 to۾}{ܽpC`ƺp„: j@̃|0N#ͪ _sε?D"+ʸ|%~1̏iWL[l Y,?_M+AƬ${W-o@ݳgϘYo mj ZK;&         !@Wp]òzP &u#ql&_s5o a 븂!XTfiB7ھ!2~L78&~QOsbB]ǯ &{vtwt劖,mޤB :]t<͇8Л~m[: }_6mL~/8G3-\,d”.cƏonw|Gl1@ nd~3ߤ+8qbvł~j{?\G.|~$~y|TP7ˎ-[/wro5kVopR!5[/L[~}':Wy$@$@$@$@$@$@$@$@$@yK¯òY8 2QY7+5j`0NX]|~cdDV:the Wd^7 {mP` wh{_7n41TFOf6!TsGnhGYuh3ֶm4_56c  C ͇~6m4;GW{8Ǘ~ڶq n1/ZjU –v&!Tqpę<@Xnd̮f Um>s%dTc]/oF8ŬR/|溎]BVct 4~Ns|0m]AwrѦ$@$@$@$@$@$@$@$@$@yO¯g;e#8h (n9N8pMSstY&Gqo̸qikp >#R|0sѻW-0SrCB?95hXq{c;w̲OW4lBRچ0 pkL$G'   #u#?Ʃ6D>/BTFQRjUiР+W۷o(WYl( Uԭ[W&n6@mUD)_rᇛG|-\b|RR%9#iV'5˔)#5jԐO>Y8v*T~/R֭['UTxJѢE}%%KRJe.S`J(xJ8€'|cG;%dN:)g)c}y̙3uQ䩧uv`HۤX :(YUQ"P֭.WZiذaB]g*,((Q-ӧ(g,۾[Ҷm[]G SN}n((kj{N*0atEM yNno%Ƶ-O%Eg=]VXb / W_}>Guqح[Nr!r1ܾ3Yhm0wY|y\ # @ P9̓'G<;% 8Qg' E ,놟+ a#I !,!hb"         H_q*t²QIH nDe} 8l (p²nD]գGKfҔ)St>pG          PX%,=HH *FTwc& H ,Fԅ_&aٲeYfre…ٸqAh3xB$@$@$@$@$@$@$@$@$@$- ET8+epS @De݈8p$@$P0 e((/QF /HzG$@$@$@$@$@$@$@$@$@$ S²QN$@Q"u#*s$@$P eݘ3g|7r!Hǎ#~\l|w^^ԬYS7n,Ŋ3q$@$@$@$@$@$@$@$@$@yMRTmi9,JNKRr(a?Q# EX`9eI AUY@$=%35=f{zpӧH UZ UY D$@$ Pq.rӋHH 8nt:$         HM_QW@.pW}$@$P@]ƍY>HH7THHHHHHHHHHC_ZTQ*dHH2nEΎV3# %q# / T*P U UD$@%Pq.rV) U,- ԍVc lHHGeܨ=,X  =BHHHHHHHHHzzz 1& #uL$@U$qBHHHHHHHHHH р?HHZ˸Q9[e  !̆HHHHHHHHHH *~u @2nE2i 'q#?NW_}e&d3TSu*[C$@$@$@$@$@$@$@$@$@ @ůJTCG @ eܨUkF$@DFk{3{͸q/0%$          PD8z6Y h?u5HHH'47|kl :uWg}L=BI% 4W3X\`3  B.F]žaIHGF#QF]wyB j%l Ѕ_Rj5\cvZw̒HHHHHHHHH P },.p d!Pq.rfaϰ$@$@#q-"HHHHHHHHHh\hP, (uLHHphr*~QE @ P5PQъX$@$PQu7"gEb @¸q嗛 &eYƼ+0L2|ݶs9+bVZi%s1ǘg9XW}ꪫO?kr˙UW]`+É&!ޛo{y.b{nkYeUc6cƌ1;cZh!RK}{fM7m['_.<橧2C 1kvmfmf^3qh>pz!7c9K/r-4Lyw}^j^~ecdw4s5t?<#u|]Q 7|m2# qvOIHHHHHHHH^$xHHZ2nEj.! %Pq?ye .l;({m֑}7vU34St'4+bI'd:蠆`]vYK%-)M? qwuJn>hӵG_\pxc77pYdE9S2Jo6Zli)mFapᬳ2{f7:         @@8ѓHH2nEJV2" >$PqC+~-5\PoKZp-I=3.DeZ|o6>6XN;M9e#Qٜs] vPLi,\-fy1A9ĊV2kaFP0(Iyq1K/p`] ` B6lr-\{>^{eOw}ٝ倕I'd|w)8yp CD&Pqt1QV++iR'$@$@$@$@$@$@$@$@$@B_BUXh?HH*M.F]teS8 #U7D ~G^SO=e]vY5;#GF Z&8l8bwiX>җ<_Q䘓1c8k\ E/ 6ۘښk]W_)~@l&sW`n WůľzA}Fс_ xHH>2nE<%% &PqCu]âСC+bҗl-x'>]?c͑GΡX%Vk`rvǏOhUT Voy3X-XK^xY ._1 [6N34.x+ůoYLCbז[ncjRd)ӼN~ꩧ[oe`M,PK2Ygu33&5         h"@ů&$*,p&HHC.F]OSR mU7DS"qXdM~YX.m9kV0cǎua5餓>hi__}dKe90 >aÆ>0 ?;ܹ̞x R'4D[xᅣ/;_|?'Y􅺃l3 S>" @m eܨmHz@ƍ_#G4j3;SZ袋;c;UVY%1>n. ,o:MO8sa9_k50Gvȋ/,uᷯ?,R.Gi~H舴\+/lyPdIy?QH[uU#< [YB-V{Fi@n-         %@ůĒWa#Q@^$ uRKaHH Ta(믛ylf^yg*Tgy7tw}.Al]w o'?q?{osi%w2B -)?_Æ 3 ښ Z> Rk)̎:(s18/XZr%sقs#0w\d묳2{v7O>d'$@$@$@$@$@$@$@$@$@K_[%GH$@$P)u7"g* @¸QT )f RÇwֺfqF[oXκK ,Ka[Ƚ+X믾j- ve5 rguV3 3Dqd.8?3Fm?fw J_˷u盟g/4{9C$j/\࠸6ۘ\мKf=0<j[$L1rrXFO8 ŷW\>SP @FT_Wa_X$@$ 2nE^h, *e(~}f3^{mjIRBd(LytN:$sA5\СCW\._ ͎;=-~ 7`b(Y?~|K/X[z /'~[_N0)[O(­J[`Qa?         XGf9IHeܨ&X U7[o=N;;a۝,xw,Yd/l#( ׾`eKc;-.._{{,ڦaB16'x9cu2N [EBV(Aa[SN9!~'DV`EZB.n qk@-Xzgp)}+4g}yꩧ=΢v;S֐!/uuEfIGհ檫jy:OHHHHHHHHHK^DyHHR2nEJU.! >&ЫƇ~;|7vs=q&j[mKoYtErO:3n8gq G"B.( 2a[BE9XöSM5sϑ @3*~53%Ы \  ˸Q9SKLHH +Y1< @' P񫓴k8jTYH*@.F]@R  K @ PʵEٸE̚HjH.F]a$@$Г8ndP$@$@$@$@$@$@$@$@$@$33UYnAQ.OF$@N.F] @]pܨKMQN         OTzoYj.pD$@$@@]ƍȩHH8nt>&         hI_-g.pg$@$@]ƍșHH\7HHHHHHHHHH%@ůryLj\虪dAHH#2nEΎT3! hIFKD @$@$@$@$@$@$@$@$@$@$ET"*g*e# ˸Q9WÔHǍwHHHHHHHHHB_ugv$@$Psu7"g͛' !qg!         $@ůGqLH@]ƍOme% *Qڡl$@$@$@$@$@$@$@$@$@$@TbG =IHbeܨ1M$@$a7: ّ d"@ůL'08YR (@]ƍYF0   8ngHHHHHHHHHHG_c[딹Q$@$qu7"g+  pb' ?|WfI&1SM5@aj09L6dk ܠA,c7|cbY}㏛=,4?KIGZ$@$Pg2N:f)sQ(; T*[5 IHn2nEκ?% ^%qWk*J`3{͸q&}N6P |ЬZK}wI'C9ĕ3ObǎkVXa+4[oub^O:馛 2$*?o8+:'hҷ-BfYgw?+6Kr_|E{N;-)x6ds뭷X^{Ç7[}?=?j3@jע:6lo\m}'|bj.\1R@\]tQ3L3*Ƚ*D??Kf̘1_6Du{kwܪ6ldMsOқ0aBbiօ x1Ok mTw{-T:e=Kg3Fr1*) 'he,}׍~UWw_1*rK+stM2BS0?zS @ZuYi3 @{ ph/_g|gEjsN)~"~6k~uEm_Tm395d/KC4*~5(dAXnՊP{/HKPfH\W?)ovQ_6}RE5_e=tCi=hh㘃/M`o!^?9?rRʛ ޷rKWvN9ӫsE ԙz3Ff0 "}HHH#Pq.rzxHHK8nt $KVA:j?p,}믿{(W>.Ĥůr݇na9p t-~#]3~̄>$@$@2nExҼB$@$IU7Əon3fc_NX)E|h=1niup#|k9tؗ.M7|cvqG/?/e]f}QUVY?4med~E_1C &/=fp_:#4LO{=_%4|tIū_\feom 3$7} /?|zWZi%s1ZցoO25묳:"{UWm_w#mq=;OX7^{mWE m'0O=2dYs5Ͷn{5?7n=kghhwK/ھhW_m׿Fq.B!v(#,2O'B|m{HC2ȵv[n1믿vjfj~lyPy-ʼKnpG+>v +4E8Vo~Z Vp~GMٮFZ9ܧgЯ/4^x=.̇y7駟=+isr٢oSߕe ΍}j]p8ا~@v}4hP\T7m$A묳k;gyK9_QceQ}W!;va~~ܣ&}]wՔS0o0\|n.'c\x~{fj+[ou[vm}b-o(]w_^qass ԵXIL^,b(o˔͈u=b%L[#XJ/DaCя!KwzjKw٬ bu"YV$68yuz*`/|qV^yegpgbkEt#"[l17?RFp?ni(ȕ?n6 /`|M>\ҽ])-#;:bnJx9ex&X3|}M6q3~3$5̿ }ᇮdgdd… b!Z9XgB? >B_>(- BeMdr.:dX ݿ?Fߝs9c%,\{'uX'ܗ;baк,N8B& R!2v6 KzrXdx<`V,]GX8XM9 K#V]_3ΐcQau.,Fi>C7II1ᾀ {#pͷ +)Ss\=11֣0GC[Ж*%cH?K<}fdLG|Iu>^- X- r2ð f!@_WKy'\1%sX\eC*X lXDZE#Wq+G}X{Ǥ~Bm|xCpOJ|ps] 1 C?d-_YڌXApz#,Wb?#<>J֣(=ښ?ENCz\wr&*mFu+ʘ?KZ8B>m}n:Inʙ1׭Ԕ%,pHH*A.F]DR  k¼~1-Z9ax!FoYR¢ŋ¼[_Q[.O,v~ 8WN?Xb\`͝cMZny`Lc$'/WRz&/!C ^|u<^֞"6\7-?^RadQ8R,fJ/8*n}\XݧX_M)@F1R^hˣMVy%IĹ_ZZ&请(4T_ZGIĞ=(B guYʖxJ@PcCh\ Xh-%>UAILaa=uu"(Yggm3r_|e_PnւlQK;gC6cHQFPٲ_ˍ~B]UQ+_@awqJie>>׭%? EN(~AA[ʅ>Msk*H&i\sתQRnV,?;GK9$ҔQ(XJ8c T+"VDB(J2W+)z"+Ҽ@Pip^(~rulPz?X#5ig}kN_9 Ԛ@93Z#!uYN?  ˸Q9;_̑HH D9 P^fCEq~Ũo* PE9tRzᇣ4[ E|?(Ž/nqEJlz@%a@:`?X)bZ.dm38rvr^Eh[a ^qfWE+JX̐( )$X֒chW–uB;6uMEi>v7$^* fS+ڭt_ ůSO=5(G+O,%kVVRǭ&*~ޔpL3JI\(ʸZH[tWܢ"t\[zcůeliZ[Zиjqn:BCm:E&2J9$G6#0(QМSߐՊ_WdL:\ \8Kg:|`G5p' (T.kH'27,6 7(4qEE[DnV_P r,%zs HܐIHH߫"a7d,ů4| GA[rz\Mz^ܲ$2q>meע_x'e[9[x;QoUmqΏWYEYpo:̘{G$OHH*G.F]\S  SU70!/j~1r<8`*@H /^/,d3갧(~mvQڲI)8˝tE8w%o9G2|\I?B0 ,%2y߾$Y} [l\|ֹGgQ,~@!"B(8+[D'R7~FҊYC,CV`&;VVkZ+N$N[A[+δi%ȓfU[L E]!e# I;ߪuXHrEQϾ yڌpApy19#~eY-OÆ oe+FzT2,cj%|%0i/(܅^rj'}Ku84f{ idQ[W3"WX9s/Eܽ%RD8 +EP6fӊ_P 9~Gw6ksy8IW>NǴ*jqnf5a[oGs?NG.7wh,a.R\Ls P *-p' @eܨ\ C$@}L*^dTxAɢ%m"/F7ZRB>x*/3%>b[>TɉZB/8/`EJO)>q.J6/mE$pn,Z/y$)V V"#$IǏ2-o%]/BUV3EP(0P7n\(VN͕h+jq}Q"Xl{n# Y8!a1Kt YLЊ_Y ('qYʒ]dIbԥΒ~zC|HC#[)XאWů4!reΟφK'uJ Z{iKq"s _^]+/|#qr#:}KF_V VR(6y"}2+k(^*~iJii-Oş>I49^5%)oVuC9]+`%uJKP9S+?tu:!܇C\S kIW֊_P: 9@+򥤋!3ih\8E8QD+O'rǴUK+)}mHŖci_-k ,=$P'TSmuP*,pt̊HH u`u0: @I0n92z1pGa :XfEKH^r[}ݢ*Vy^KEE0#/!{-0$-X(j劶ؗBp^x"_K#<2(^h% PJd]oa+K 9^7zy9/}+Is?nr,=PԎ`"aQAE 9X0Z}\H"Z|R$eXz衑IC(X~W8=h6]G}tW h}Kz:D$%G\r,CKK#AZ)H8{NGG}"YE~v,.K,i3u;0aBbRz_bT<_eY>c -b.I,V6(=(rʋZk (H_nV2f+W^Cںoiu}E\J˚?KyniDh?W%9X0JYoQoKoS6.zvr}g>ciů81xD1ה{X+Q}aU*ť^~qa-~F3IRBV *k rR[4_crH$:Ek@Ie_c1+fN=ԨX@>/p0 )uAE+D kio9:IJ."M h6xcg-رc>R:!㥞EX}Br ڜ}H}P>N' B ٫%%Ǹ׬k~'.駟qY6k/>g y^uUQU/,p`qcgbZ^ů"z+;1WB]hu =b?."" ZԞ0}.aVN+dU?ELU;X>!GKݘrmhxy$Ҷ2+>ҒٖU8;=!ݴ_H=֮ޮ:ETZ-LUX(LHHC2nEU! hA  Z*P^[ي_k[~y-ޡ59', /z.@y 'xx`0K(@YV 6D-feЌ/Onr,#tv>F6^eoِն}#Ϲ'\QZyTkH %h ]Z̅eX /l8 2"+vѧbq(>oieC\CxnТ^G> c 6PRryʎ~Hʇq;d 4$o_ů#/}?\ei'b:ch\,PT!},B2iE 3X>o%s6# lO+EU+ka S)'?UܣwiRC>9U@B "Z~Qr/}.Bt .am-Izop-͸㤹׊7tS2b[k `n>Do{K8EY[esFX s̡ P}W[Q'#Fp}0t,9"ڏO`LF>m^+^[)~! >$B={_ a,/Uyh.u뭷Fmq0 i낡rkE8(?0+oS7uF\y-~!(wᥨțtLRBZPږhbX\~/}w'ŋ^yJo[bZ~`Ypj_(ں׿E\&wJž+XhTyq]IǐW )Q rR.,euzOI?^ж|' H~x7^PqEt8ؐe\?$W;I^isL8ʂc(E gM҆I/2i"i@?m3Eku ZU<\Ƕ|ڥ1syVYczJz;9p"Q?kQF%eDNu?+~Iz_"!kZr2t WgpR~GZΥp/Sh4:'t6C hr-◄mO}/?FX {iƵVE`-Mm&qN2+#2_v"(d㇕ߺN*~柒.̟%iyzzf * $@$@"Pq.rvژ @ U7.UrĂx Xsb Y…, XI"Oh//%< VZ9(lx8oNWbD$e^a/OaE˷`$y/=݇Vh;2 "Z̰zExXtG7YCz!7f̘,>6Z[m[o e-xʨs^kR ?#߁Y]HGi=Ǘ(hˈ˺HEߥ'xy:lbKAi"*IGі`u#`G~%>,cR",#%9(ɂĕ#F4DI㾟1I{|C?&enUDvڲN?A)'V#}@P }Yꈋp Mm 1i\6#F;>3.\==aE~K\C(MzۻDSo=ӳ̷dR\Y!E/L8ئ gCJ_H_PCdqY5cEVG)/ƷмAW@H+sK3פܠ g+m vI0@(Ρ i!kgo?p+99 %=9BU҃򗶞(p=G);"ugq"_^v{BwO%u> mJ|:s6殝vY{>|qfV봸̏:F_C]Q/zH@]ƍ-%& jѺ^9cxtv6fk!HH&U[ZBsYfu֩=(>V\ɠH1L3.r`ZYpX("9n=KPfYޕ JPf 2䚤9vB_Y3, ԉEWu >ܺ)7/(Y qZ8̛N_mG\ Qz$@$-u7"g 4_Æ s_oFf) w,e UŠ("OHHBq_)O~sg8`R[!$].s Rgv=c="e2YeU 昷zV[5X1|m9"V,RoGt{P8X[;(K_Ë$@_ 8RvJHj 6|(r9 zzB*8"tHH?eܨjXJ >_! ZmRڦ$@J kX`ܸ:\nDARǖJ\-;%vae>`1ۇa>(|a;58(VB΃HFa=畱cǺjOj JꫯxOGL[8c[^X%,ˇaZ-CaIHUךk\h3`&O$@=F.F] @m pܨmQp          Tj^H.pdg$@$2nE~nK,; TǍ*e!          P'ߎ8HH˸Q9gX  >LHHHHHHHHHH8*~gؓ)p'" ˸Q9VQLHH p10 @ P8RSHA.F]FR   l$@$@$@$@$@$@$@$@$@$@U&@ů*NeG3k !uM" @OѓB @WTeG< :u G$@u!q.5E9IHHHHHHHHH? P?e (u7"BS  .EfG?I2,MW_?gi1M4QAI&+M OO?u(: *~utG* @ eܨ]NfO$@$-o {>|x yᇛ{ .0;+Ο'KJ\9^z%W^9Rl{?bgXꩧlf\p0x'"tMg |Xc 3zh⋛^]ia~2B;'ʃ2̣>j7uPE_qdM&Ay}_;;'A x`9[oeƏʱK駟eUze\,f{1ꪫ*n5vP^4^i*Njґ@?#  42nE4HH8nqgZ*~ZV1bCucƌI%y*9S@ kȕo"ѭJTo1'=\fm՗x@*F~_%p[xgN>H &t(gsM7E:R {kfn(oT4?`l?c`Kei‡N7˸<[uU~P{q}~> .BYo̰aÜ?KO>`;t c&lbj*Wo)cL UɸsIqr7 Na,DŘF*+wuCZrc!#kBy 2^zp }$1A !͇~hw }Uq,cǺUTmbL0'檧v[n ϟjc-/f͍ǡ͠`޺+mBIOZmW\a?Aj&dPt_+ұF8_z, %CRnI#p{l,9YH{#ʀ;te]ܜF 9y> ;`0&Ο)Wd짅y9 XF{ߕYl^|El;SU:s߷-P <saqNd}n3.^~?~|]9 ֚pg*u1-ט'awY\6#]=pbk.P9?^~BܫYBgEix<=Kkx]g5q}#ɐs"ϋqHmxV  p%ͣBy-  &$  H Pq.r&%  10`_D_J[ }lg9 ŻuxzQ:vr*yEWo>).J裏%/9څ`Zv=6ĵnwr=1EOn u `=Ḱ?<6>,`{$'{w@G-fC2EeoH޳ -]+WTv=2ؗˉc&oRBit vek*lDy79]XƞBd"p/uiLdWa%GIN[g}rK|UM**EU6~tpnt{*DqB'sq*Eb{8 D2VB.lʥuRo"Uċdx:htn0{wpHȋq e]1O/ϽfG2:ʩ~ߨ*AH_a ‡CWFVOyQ^q[ʵˡ&ݯ)O8g}nAyVq1UVofP_zG<ӶĽKBjt*~5ewLB?To= A{5\H:x8i_IG2'kx2.ۚǽϐr| bF%mlpi5dA1\`  B.F]žaIHGF+ M/r<#04/" 2:)[q$'S 9d_],گ|tPNЂ^ S(֢Xڣ*_"I *!Wȑ#|`zA `ԻP] ?XpŋL!x9yiaqm ?_=sskTčE['pv|xrnp ?` /B 0_&)٭Q|EW+ >?#UAK/C*ΕC,Xг[E8D\+աOXT@;9Y@Fe"iE;U]_V帬N}IX9+PX~bBx 8b!H,Li^m*RwGmJ\eI ů,mFUsy’`iw,}ew◤/8 -("/.㬉i'pt W?͸8zX9mn HPT^v8mpυ!'oIsEc#"!(~aWc[H2X(-^Csy#Ͼ0}+4P4mnǜL۴e믿~_oU-h'%(aIɉȌ#+ O?je=JXyD<}ĕ#uIƥ^aZE[|I "jUYg]ZџpsvC%^{UCP酫"-?oHu+i\Y_jz̄|4 ؚM"%`7'NiPzlT3 "0[,%" &dK4ǤeP;Fzl)u6pON( :^F_Jr*Q/q.O%Yů}/C^f{ͣ}pW"3!#=.?KeVq'*8D$FI2但$o5C}dueyn -$88=;%=įf2ǴmȔBHK:O;wr5*clrH]&W%['N> cV;%4Ǣܡ\.tYk7L,:jrP= 4WȁNHH`!_=$5oݮO$@!PT  SO=U3ea9rGuTI^2%߫:Elg뮻.^IɳЪǽ0dŢ䩏XC-p:"NEl\^e(~bxZ/,S,*k~ ڦe (i,K|}"SӜgQ*SvȖvRNӋI_Y5 Ci/8J{Qod-p/euYLU⬡z)i/,jֆX!cRȐt^EڼoV1[,3҂I߷-?ܔV:)"}[ EtU^C|8)o҂!iE(cqhPF"mNeGBퟡ%,=`0' %=7vئE^x?y\:d~Vrz;@Ȉggfw~{N#(~f [o>R8l3<"aWZ Pԙg|&AR.{^ # =ZK)}{>Lf̿ d 83-~{N3letP*H/&\wuѐ}>rS X.s=Wi_my[V{Rea/]g${ }*]DžCg;x≱]rx$>V.ǩ0R/9]{ hWǸpq=Zo@G#[o?z\p׫SЏ_7{J*گ N[T.!jVJ4fkJ<΋>Kב>gn8,?ކCU*x/[4pⷫi-mF=m&{&y*/97~5赐vJ~Sx|${ SxiEw5Fڿ}umʹpŠЏTzQw zpyW'@WuNٳE3 @J:W(K玼'oy!ʇGHf_Tsʗ-kUk&"J_)YP*|`^tY>vn wG_~~zK^R2a=Ni@ N[.9޲' {Ѝz2VSʪ~;hu]z&aNZqϷuZIΫH0J#_~%??묳I5 e()N;uE9/iW2ƛZZSb a/:&SU72y0aW=dyy|Y+0ԲM垆yp8D~~sz$,\U s/{2H) ()7PI |ǧ~zl 7 { _cg>;3ʥ0\ f#8]w[|8W޳lt4%|/6৕ΑY^?\C}MPJk~F߫G:rSdv0~nI+JE6~UOvػ/Wjm3grSa~_:q׋WT~)گt6S3>/fkﻟzd h~J2_y:EuIչm=G|)[2T (-Y,ge~A_H֛ H)7}1_h/›f5 Û~׆zBIS0~Kpu/ zRq駟zpR'D2Fk-{nHP ,_q-_>Fд= 秼›Y~~VeGe65RoWm&/_VJ L: t Of[B%%Zޟ*9/k)UI(rRo49p{ҹH˪.l7grԠ/v%|x-|3~ 5I`e M5ax@F LHKMdG90R) l/9r؍|y[eZqjGltd% u}Q{J `~L[uL5||Y߶X"]AvY}Ao@ 7WZ X_00)\I׭4*)Mjլe_†zK/46M~QӵwMj~i_C(ppjO. \jǣFR=_j-{n7Z+ S'd],RRk›0]l~͝;7u%wBTf#|[9/mX 闩t h伨Ʋ΋*??j^9>E0K7Ӓ|ɛӶ{ZU_69ϫ4_.F)><~i5_r |Ɛe M3z(FrödO41,e6~~kmyu0#8W_6jGltz?_P0ξ5nɔsPxM7%7s[}J~{^2+f~xcV)-޿y,Ir[ g?_Ok_Y~^ԵO sG{rz?erkg־WC5> US.O={\IRcq@tй@tӟEKߊVch@ߚ>ӊ/u4ZbE]o^(@o4K&e_Xƙ Ք2O޻_qNK7|sL20 mp}]o0*p| wOe)r7c=M W[vh dg_22+ R9빆mTԒV\^M0J7Ma0nUJzz'u&SR=_=Ps9'-m/Ӭ/m8<ƆAAS ׭zhh/I77r(MGvsz>im C-_K֕OZ nDkzGҶwy晴Ey*rm/ X2l!xAy{sv~ϰ.__.Maa|Zo:k@,n}fpos W޳la0R^2f% oއ]Z#uVǷ0EkjރTo 65^ŋ$z\嶟_JEΪw~~3s6s-.;$`.@+~ٛ8z {|]0]l\Ю7^w7Z߾}]`r!swcͱ5f:7(U:51W^ 0GrD/=/ö{b-Oיs|~5*>=8p5cĉT]1ѹ@t`z%^{E#-zꍅLהU>} Cs7}x/~H_Kܢk}7/.HM5=yt7~>z$\?/&l=s]8=:L4)z^|I'O~h,os nnhCkuJ.\0W~K1%]xq{<7X>яaFۦf|p׶j{jګ7qQamG t͠LJY~^S:އIG 6,F] W8ԍ*Mt__91駟 )H7u#;j ,H7P)# kϕHgaM~cQu:I_>S c~$ .[sE,as=Di8ձD7u Q@WJr'|l֋snHn7y7Q?JNW#m& 0H'Y.=?x5݌s Ԣ`['}s`ԱUQ}zwQuK~)tj_:輢 2L҂kYuT7K}RG4uZ2=%J8l:fƮR2KV7pկP)Kz=Y%tN|m ( S4aZ^0裏n@+HV+^Aa}u6Sn>O;[O}zڦ޷#c9=?G`__um*>Lz?{^l4Kdz -@@7?ϧ>nH@PFܮsI1 XgD_Y{8{k!iz۫0x/9ϋ~5@6]>W2$nU^Sұ[ы3f?KNR$DB@@@R4<*"OCk.+u}̲K~m'ѿ6U}jHdjOky`xʝ7}u6z10iX5wzRF|ثX~չL傁/G]`awup:-%nZUʹTiH*?y'M>wieq={vrϧu{o?O-{Hxx3M`5=hYC}s{Ix=RnJ4^ ~SyJEh5 f (z?{^ltG>Wc/ WL !iϓC=f}Noqꡞk=^ї=ϋ _im;9o4y=Xe3ㅲ忥* /    @U:_(`uʒ(94U믿^r>_)I>/%&5KJ砸~=}yzJ(Apө]o7/UUUn}jfrCsCյ)Iy>ɲ\r:xYmLPnh}䆘oOUgePn Ԓ)).끣͖])5Rv7dK\vo\iFɤ(zq7^)cVzM&I~T`r=Aꫯ.i?Njraf'nnx _#VX6z!\Dݶ|z?Zyk6㗯d(/{1 n }Pyz L mte[nBtҢp_cg\)qq=դ--ꜩֵf;ngFTǪ/4-gtvsRwqGٲ׳Xvu11NP]wyeIcϧu{u=͖n馒>o%7:&S[ȷgӒ2^FXT_TsKnXDuFޫ:f*%|@0efYU ;ʗL:duNoqjPϵ_sK /S':v%cBZjbZ)wN~=~ױorm9ms>V)D`GH    PY@&hh}^{!aܗJp0.,NLBQ7ďPTHC@ʀ@WWW4t7o05,RIJCYhx5 nVVܹsToHCi(: MPmr_pG;j +aStCjߚj- 2i8A ERiX p}Uee*rQѐT3%׋?M|43PmT ۨv!fzs5[{6^3ʥvs v،M3QLjr)s픛Q/:hB5Tg9\z&mMÃC|z|$7  ׳=ճЂoMLnyBu}vyEã{^ÒjMcUmFNGڿZ<{ZhRϵPZ>E۟q5Yu[xqt\{L:RW}P@@@@ &qْE?JvWXpC=,bp@Y+NvJw%կ~p֗n8HsoQmm&w;:&E *۽}|N *WִT׮i_v_[e{WT.nf:):JNA>JsErr2=os,Y $    @nIP-BC{KK׾[ qǧWnxDsC&E}_77c-YtYX=zp 6qxqBNnhN:N~udw27 sjnxh)l~^s}Ĭ+"P1pA=&J{f$+nXugҡ+vu5^}:INm@@@ C*lX@=h(4 ORŌ94NCNpw}w4 X1 @B@m#i80z-~J(PqP4Ї>d1BG]w}Ch_ڷn3@@@:VzvF˗ې!CYK/\}ն^{Zfs={-qg]v=2@¡|yE6p@6l3ƆZhKs\v˽K`3g͛7tڟicǎۨQ!      ~upW!/RELEbK3f̰gy&lɯV[meK%x @@@@@@ Z]'%KD{FE=u <ԃ);0|rS3/Rm„ m9^Z6A{isl]Kqw[߆ b69.m{ښ5klٲeݼgl6B.      t_\=ICnMts駟,R<뾞h/u:Em/YטkРA&D_aW8m=N;]-|] /؊+ʩ1@@@@@@ު\t͚5+ɓ'Wpc=muҤI6t^jziK֢_KֵOed/_ɠn^7Of?I4z       P_5u & fuNl/hX"E{C{:(R ^v}6bĈ({ܕm9t_ϓŋG7zRL@@@@@@O~3gFC1WUGCM2 RŖi/U 5yK,"MfZ4僻S-e]vxipQ_Æ <@@@@@@Z&@W˨?i뮻rûN7U 8P=9^zvh/_E*AK֮^{mt~8qbt|1v%kѮp|?xd;uv`@@@@@@h_M'.ᄄ[1wMJ]z(J9ۤYݍCQYM^zoI~/蕜I7}7 /mLf͚#hz      *@Wlթ ezQ(̼raQ(Yf^N[UWyz~^Zuuuc=BW(c@@@@@@j 6YSVE3ouyRE)g:|ה)S}%T_aW8ou`/?>9sfTlP{@@@@@@~\N h2kRΚ+`+R΂Uz_;C|TWZWڼh<=Gy$ZP      &@Wm^t䭂RE)g7Rά'ouj=w1_>OUgzr}  _?p1_4      _cN r(PrZVCQٴIƝZ>kvJ RR嫌 0/}ꃽ\>Kz(Z/@@@@@@ݬ#ԀUnQ([f]CQʙu-N0KA^OA]a_/yüS>A@@@@@(_ESZ@[&RE)gM\(Pr TN7)_~*H{_㚠;dac|z#zn"     4E?N [Rμo)J=䵜%W!KWWڊȡlClloe]s_^>kw{ {_~tul\9̵~o4(=t\ݹV?ЅWZӵ61-̢W~Sx(*R"      ӹ/vj@@j(Pr~.OQ!\z="{p?lɼlP.悽o@`F6~ 6f0>o[~O |_w4-FqA[/XjCrmE)˵q]kވzc; RYC3V˗#Z?E(BRPR8^~ b      m'@WUi6;ԩeKQ(̮fSQ!o\r3c3mde6fX8pLi͟?̞m+W-blԯ_yV~A_ao_>S֋V!.Eq\W_~%.1傭J]]oLW-t_ "띔 dЗa      %@W{gf{өfQQ(̨ZrMQ!O\dg˗{鹂|jތ3ѫ1E@@@@@@vj75:5 o[z(J9VY(r*fvocm?AiW5o :R̍Vo?y]^o&MD1S^zi_aWz*svG ԫWvcy]6lv)؛'ւU[PcM1_^)       ՘_ۮw 8S [OE ʂReﶾK7^VZe}J( &DžnV;op6nnI^f~5#K~-v=~ h}ixF7+ܞb{__Gb_\(Z tt7=mV_._g[      (@W'z{{o{ERE)g>k9RR'.\s{ؔ+WkQZu=2͛7~MCWPN 9zh5QJ6맱CۗF<ԗW~Q m9Q[~s_?v# jub{      _ͶC@_ke^Zռ-Rmg;UVX9pvu˖ىx 6@^6y Zzir3d ?Q^UUk_ܵJncw0~{KC)Zc67OTzk}ǯ֛E@@@@@@ ޷C@_e7ڡd RΛ|ֳn$Hv XQ=~}>F@@@@@@%z >mZڡNy[*J=䥜kأgl\ ج[W_~ڼ킯^`F\wK=*O__/.:n]G7kKQ'9cε.k ߮ rC=n< I_@@@@@@hWڵfܯv FP^j.ZzK9.^l߷{[mҥQݖ RL؀e߾yGgmTC26㵼~zE_d}o`]WN/ ?V&zz_7,+R_r~m!_h8      @aHE k{I%6mZ4L}}=SE3/ڬrRիWM_m=1>lؐtٲhd(WE 8^^.w3 ]o_&Orՙ\Y5myl؋9 lӗ%v'7>,ZnkN[lam:~6%\XJ+D_yX{딍       m!@W[Tc;Q /Ю暺g?=~~v 4ޖOJTy3fDqє@@@@@@@vj75! `w{-l^λN?L_n{ޞ^,,-^Ҷ86hcׯ-\=ē6Gl6fH{5l뭶vaw~7s?_=,o_sm_z:n}5ABSǺ\/|F)0=~}رΛ՚V@@@@@@uz Yv um+eٲef[|ǔzfy-rumůf˖--:ht69\sy εۗFF=~) r=~l/7ޔ\s6]Svus]ؗrmq ڂԚg&      '@Wi&{~eʤKU;RE)gZun>\׃6p`lvwe{'?뛖EnASW=4)uݱk^c68~NH3ϲf?)4ծǯvvݒF"      P  TY,j;պuZRQ(,WS]]]vﯷ/}K6GliM;9̶now~w"^"-~fG<Μp_O}4R_?F|TٍOE׽7ܠ]|̆v[Uo`=@@@@@@ &@W*UmZZrt_vۭueKRu׬oѾrWgClͷu-\ȺV-~`=lzG5__f3QWeǯU;jq Zoq_EҐ!6s᧜f?_{p_.{lMW= u@@@@@@(_V^z饈j6jYSQz(J9RI9ʴ(PrTl'Cܹ6lp;f^.2;zʢW_oz1o_?vW0Fc|" ~F_Oؕxʾu ǯ.G~ܖ' NX?c͘1#Z#       UYGѩyܢCQʙͺO}O_._<: 6{C{꡽~Ej/Yjgyƍgoq0KA_~uY-0K}zmܹV[.n       - eҥKm֬YQu{і'MdCm}!j"&,J{ijgYuU,XOe[Yo_}G}4bmԨQ@>"      ^h[o5C>ZOʕ+ ۗgxNi/.֊^v~i(]\/㗶T^@A^>/=c}i a44}y-      /@WvO>iK,U>g l_7 zJÇ &d&F{i2i/qnK{ɺ>xau~2d:_.֔©pwT>=?@@@@@@_:fMߓSpvt̘16~"^j7kt K~K5{:_+/@O_mx@@@@@@ZUCLk7|՛6lX4+r4h/mۭd]?J͋"ڟicǎճ @@@@@@ +GrA@@@@@@@@Z&@W˨         _8          2ZF͆@@@@@@@@@lƑ\@@@@@@@@@ 2j6        d#@W6        LQ!@@@@@@@@@ q$@@@@@@@@@e~ !        #         - el@@@@@@@@Fl@@@@@@@@h_-fC         @6~eH.         @j5B@@@@@@@@ +GrA@@@@@@@@Z&@W˨         _8          2ZF͆@@@@@@@@@lƑ\@@@@@@@@@ 2j6        d#@W6        LQ!@@@@@@@@@ q$@@@@@@@@@e~ !        #         - el@@@@@@@@Fl@@@@@@@@h_-fC         @6~eH.         @j5B@@@@@@@@ +GrA@@@@@@@@Z&@W˨         _8          2ZF͆@@@@@@@@@lƑ\@@@@@@@@@ 2j6        d#@W6        LQ!@@@@@@@@@ q$@@@@@@@@@e~ !        #         - el@@@@@@@@Fl@@@@@@@@h_-fC         @6~eH.  ϷEٲelժUm @R`ֳ!Cȑ#mɗy     @ kl@.s| @6n8Zf@@@@@* UهW@@C}Y7o^Cn6p@ӧO @g J%[rꫦ`KFcǎ-آ0[@@@@@ *@  aЗn? @D@@@@@`  +2{L&LÇ|@w,YbO>dT-ܒa{::     ~ut  xmժU^9 |_뭷㎠      +~ ;E@< ޾j&Mc) @Nf͚eK.5zIP @@@@@Jg@@ ]੧EW:s@ȑ#mm ^!      5l@ y2e 4% %b 9s1coE@@@@ 6 G@ J%wm      Y _/\Q`@W8o ;E@@@@X+@M@X+ | @-7jbY@@@@@Z@@/lQp@W8o ;E@@@@X+@M@X+ | @-7jbY@@@@@Z@@/lQp@W8o ;E@@@@X+@M@X+ | @-7jbY@@@@@Z@@/lQp@W8o ;E@@@@X+@M.+Wڀo߾uJ QyʄWF~높!     @W'rs%\b3f̰G}^~(םvɶ~{>f[ŏ~#{W}~6bĈ իꫯ'|fϞm+V:tS+Җ-[g~ې!CKK@@@@h_ͳmu3+_=%V[m.0eʔ(/?k,8q+S!r-u~]wW@# -~yE0f>C6~l^xx8hzk,oW׿kJ?i=;-oy:Lmf^Zs0v~Q>k&,le#93e]fvZs6D j8c2@@@@@`~Z] /о/TY"ZÇzJ 1멧m6. xfʹvZzK:cvE DW7L4+T*٤I& Lo,sY[Å)wCi"ڢى6l'|r'gy}_i-]VZF7!KyGz2kf_dlYP8S?A}u6%KZwuz6nܸhگ_?ӟRO_ RZfM뷹sFq]z"+BGW!B"   @ u o~?};? je]0"/_Ϙ1#zM(0dO/uwFyϛ7ϴ~rt+{%R=<3QDCz&/[nF/O;4?MU)M+SO=^~8o~6~xr-#kx>1[b)O4Usr4U~W^y=CQPnl+K-w3fe 1w3S~J; {mfĉ=7{l{[no}[#[ ~E=BiG]}զd7g;޴Ky}3ӝzN-jw}>9Ӱ8az#c?oww]QOpW\q) _j GLﻩSFu;}t_(A-־~^=8xG;04hPTjC>:4z:s_S;{'?I4_m~ԨQQτ SӱGz:}EMunZj%4m5IUձn꘠E/ժgEXL*9sL/αN;ڭkއ?Ư|O:8/4nH86=dȐ豆G T7dC:깎{>]=1SsUN¤oK*L& 5,@giӦAe]z?u3G'|2:M+)Rtֵu\zas&MF̒ܦ:Oz2t?ܚ/]+|_2ܥpҒ_C˫)8RGSeụsO͊ӟϸC9$xܬ><ֵrY2ZT\V2 (?h>/##n4tی\0Gż]PUﶞ<5U=\r% )]{k9VM/Y6#'\Ce]]|`ҫW8_Wn)YV_6]ӏ|#%^3:ǸȲ?c__~.Us_FL&9TtMK.rk_Q\Hw.~\VF.T͟_^Xgڱ"6e?eu0o}[O>9>Vcq:-Tܦ> )^sTK%=<:~h*%]eT*ߦ 抗Ѷ\/yk~?UG=.-sCt zqe4-wm!     . T}~٪ HoNBjkg^'zU/Q>p>3 }.SWPH-~;i_ɲ_Cy0FK]y2H'mI=o$+mdb#/~^ncه7WLUnY?~57ͻzݬ/_JS7L&)?WIaҼJJHW2s Yz RЗ\2rMZsz/9O!ey ɞ_ۦ^pD%u4gs[ʜ VSQ7{}z״n pXpį4y\h~%K֛|\)^׸`<@8|yZPuZY7j>鸣R;խu\v=ޮS]hq]~O =^'z_SWo|^K{zO3>x ]xʢ`Jkx/:ZO 4[:K@@@@$:kWB/`Yl`-7U*䡞E2o}>%op袋Y_=ڎzI_rm[mi7"!$KCSГұ/|a2\}EǯdY}~V^|y^żNusZ7yc5e㷧n|8Oۆ_ߗ)lC)*~%ۭG7DhS-_CZPDZ ٶF'jnnJ =~(o7T:S1Lz$Ûe2 nHe]n~y/ys:^}s=R?{w*QDbp 7P|DPpC0"̓ j jQ_D(Q4fNb4Fp󝿿I=g93{?Ott*%_ Ay,3ž׋~li8N;z ZizШ:g<דjN5ɫ%/ٱ:zS渫O0d^*պA$)﷟pĵ|hkj13gøRߐl8f?g y)n*~׵gĶgZeJr|Pi\JWqrn{P+~K^ɳOlwU_җ^5/#׃Vכ`+W@\ r=IYm3Bl:=_{UX|Sޣ#kV[)~s[Gam꯱W iқ\MsnMs}$$L  @ @. kG˦ i|'~=mH4mmA@S_yݮG羷<@NJE8&%Hjݱ`k~4RWi ;ÆXR9fWӸP m A- IH_Gzի ?=mx2qh{eRGI&Qː^96ʭ6ԼL3cu0Vttζc疠>[V JFbX4oQ?e?+=$8^7+Cя~΍f>cmP[vY(CSsL;?~ zӞhdiRO6]?Y~,';stͲ^zb+==N>gYAwC.6IDAT?2/ m4]{brׯ=7ZfJ@~ıQ ʽCUJp}I꺗.?g_|*2 Uj{n5?׺ m|iS3rmY\?~G:j|;;X:˵_zֳ[AX)eP~) @ @~MXQ<ncMۇ 6hUqee^La}ͯta~TLWˤ>p+2Yk g>XeUW_s5eŲOii'Fy:8ś/x v폃~){ [msvi[.iL j{mS~(h_Z_l;yu 9& bUvk^MS?}0G{C['SVK5j3ͱYUޙ{sF^~9珞[_5>dhIkBeNt $2Wj+%д J5m[mr56Ķ$orЇ@𼮞e{;߹ȯ $o<^KFZr_.K J- _ e}6/3aO7wz.k~5{ ʫmr=weY&@ @ |y؛}[d̷Sw&JCScw˳%h蓟q_`"jݦ} ҧU<Ky{v֭i?GeF6_˂uu8ާ>=_ K9Z~-)f2iKq ZgΦҧ!(}Nɬe3tO?eIc=fY~Oi3I~7`N-\ZOPVTnY^e2e\Uu7V??ecov}v,yޣ~- `^5f^SjrIZ)ڶ)+arnSLskB{mj2XJO]S]%ll~p-oy˱ܫչRC`_c׋9+[jXlՏ68zߪ{ڜmg|`m;#W6` w)?v j}R1%@ @ w_{Ԓim8Â-KcY}qH~Ҳ2}J9QdQit_ɷohn7oCLۡ#zUpo =~'kum) H5K9ߟ/upG5 % Zg) Je缯g+&د:_5_>/ޱ$=f߻49 ;7CŪn_[k:f(+_2sY6Mcݦ|i=7ـ\u!%P:қ/}boeloѳgsBz#iS{mc2.!=~U-|ƫrIZkmӔq|Pe~RoQytj_W׼ ="r>x^qAoީXl{{ m+vU}m<)j>we˦s 9n4n}/~gjw"KW8W~5`_/x w}~;TFke$:_16 +K^T%~euϲ~^ ee{n)Qؼulk/~il]:mZu71ol{Qml|*M6ru+AiM#r2g_6~,6@'亙6k J[^Vs{NCw1)_ jw!S_n=%=׹<^~Zh{gjGy}ge7&co꽩~ŭ'>¹c ׉U׋,,+XrƛkK/ gۆ~;<&2t36퇫Hj[}/ӧ7Z'%m2+-{>!h_oW/~sV~5 Z mznmCNoJe^g863e0s״l{gvd*+mc1}ӟ#l<۾>m_Fc6כz\WmXHyX Uf}>+UiҪM~~, 5I]`,o,w_ٜrO۞;exJYnYW垭f]r,?ɶɘr{}XR6+ bl>*ð}_oW?u{^w}ldTԴ075/ ٦~~%_%}o{ʲ=_i LQUN7}QL#ni2\{9.K/=AMv'=v3:[k_ڎ}P}J]&-cb~?vzs;'籽>*籱sJaO^^Z#CUR|`s\_m]~ UY_tESZ!y+ze/E޵횾/W `绶Ns Tom1Y9Ȩ54KX%W5б hQPb!?6sNv5Ou7E}'^YBשjJq4?*^d6pW6ntYJpt|w-]~Ɩo{,k1߹f%h.y;ޱ(ӥ^zܦVZvUM  @ @LEtN"R`@|g->C=1{=\ve?xxC2.wYn l+b=~ٟC^pi0{X>4 *GaL+R{6͒n~{y.S;egx6<0 Xyx?[=yf󍧞j5?fS'9fC7v2:p}C>k>zrϵq{_˥暞i+Mo o~󛇜+g}kqG>r~mHqY\*?WUӣrݘ w[֫G @auNB#/x~΂׍kw=]QS\r0{~=a~e|wR{9'p̆9m- @ @ (_9X^ބQiDY ფS=Ȫ[XVPaL@`+x^Yû}\7tm/_f'6__p'7ix6!+=&@ @ 0m_Ӯ'@gS@8* |ы^4|=PV{׼5ZwVM,Sxӟ>дߞ6u#~x{>hWңhzJO0{WyeOOd!ˇ9y @ @ pH Vl.>xG%y ˘!2<ֽ}UڪT ~=ܷQnxap3lu}P o[MW90efȿvx=K/p;@򔧜U @ @ f-k3Qi?sof &p^{vPw=uWz|0k?yX /|s/|a @ @-_G-!*=G՟vG>2\qe_zGĩ2nax=O|'?y٢'@`Ku#=2_?i?U@;Ng=w~Ne/yo=o="E @ @~9  @8j *Nu @ @L]@ԏ'@^ @\7d @ @84_F+c @ h?j5f  pr\7N @ @ @`~(? Ѐ ັ$ @ @ @ :4Z @GM@Q1K+qrm @ @S5#@  @ ׍= Y @ @M@סʘ8jՀG?z8ӎ_8ǎ~̷<n٦ @ @ @ r$ @'p% 7tЇ>tmo˅,=N? @ @ @% dK9wu]7>#vN_ꫯ<۰- @ @ @ r( @'m+38cx̅,/9p }{ᬳZ @ @ @~|  @#)P=HV&@ ޾ xBm @ @Zm @`WJ>pӝ4M&@Q믿~o~3Q"o @ @ @ um8:W_}\ut͞ @lϞ_#{'@ @ @~-> 0i63:wpf8&mcdž??!=Bp  @ @8~c @(Fkf馛N^4*~p{c | @ @ @ n+9 G]wuÿ/A`{4E ^3         @ p@@@@@@@@@_|@@@@@@@@@8 g"                 q&@+E@@@@@@@@~@@@@@@@@@LW=0        3        ę8{` @@@@@@@@ g@@@@@@@@3_q.         @         g1\@@@@@@@@@@@@@@@@@@ ~c         />         @ p@@@@@@@@@_|@@@@@@@@@8 g"                 q&@+E@@@@@@@@~@@@@@@@@@LW=0        3        ę8{` @@@@@@@@ g@@@@@@@@3_qnb @@@@@_\/y_nX5ꗞO֔1;@i!>@@_e XXbEK0}@ r>^Y^@F,ht  .0`j '\וcZTX5r*j]Mk‘ڱpd+#)M)vR`R   +@+~#O C)@pnG, se_K  ZrePC 8j hqjX3[fU/JWӬt;Ue_0T Fh`VrS2Y"  čyT 4~%g Oro99Y֏KիV j:jD:&Mĕ\  _]ZA:fUf8rSnYK޺zc支;&5zV7U&`*ٲ!%&ָ& Vd%)ɬdJ6_iI^76@@@/ KOY_}21cw}!J5kV&_&V־ךWS0c|+  @~En W7q֘Xik6/WkB_Uh;` q%Wfr Ҳ5*gv/amVHM7_KOS2c[V0T# @@@ A~%ȃf-@+Gp4q-uv=5Tr[[UCN@@oHĎwԨy }-Vu|S^$ijl֫kEe6W-YIl 3y/o5dˬ&8Tc2ǩe XfZ2 Pizkη0/Ɓ   @O e@7~u#=!P-=e&!t77N.GȞz_  m_&bD MUT}J nhYY֢$UsjUejl4/+ل.-)Yy&ee+%_ns͗,g*ńSmV*NK|PVQ9HJ ba   q_}3!@oKdP  @~uϏw#+^MrmmxZu3J_f@p)IH)Ԋ|"GjlQ_sp,jWJ~iH׼&n40cdVkY]rxv+)%sa   PtSIR 1(e -TN}6D@@%@[|hhcJmX+ʟUuW&/-9OiPWfjfu@+J5U ͪʃJ4&wbgjeUZ,'ŖkV m~N?3#^&m8,;;t@@@)@+@~En@( >{ߩ~6)z\ Ozu=S@@~_o;%JU/պE67+r-M`ʌ"d֪b2Y_T5jE`r22GX~iֻ˵N5F/es;Jg~:l@i2@@@! ySzD")G.'}_Jr>O7=  /> rY5UiekoZT[I_*ΚMezgUѪWYv-CjkfzXj1f' 50X)(?-UM[A̪a}Y   ļD 0QZ]͗; {ΝKk`M?Y#QbU1}t)$  3>$PװV+fkE -xSLRM le TIn jTavdjTqUآuuZؠ--1[=n4_Mܢ`[24<'[밁aNJ   1-@+K$_+)Urn:ПBľC)=?wvE^g:P  >7ޅ@hTƥ\VU~fF(- n6T%ʱjUcWBg0-[)vJp/o%@@u-fEfmhhFoF74C_M&$֤$9eR\#؂% ba   DUWTyX+2DRA/r٧?#Xr?yT {4n_jBfQB@.bKNnz6VhCB-JnֺZեVJmT0sJrf 'Jmr`/3v\[עMQ˫Yuf02X ~y@f$ک$[v(դ,UƒM@@@h .}#!_@ cJ >l| #Zhs^Rcc[d?*T  u_]7Č@S܆ r]hc:Ӛ$KWcj wժ kݔ:TFyc_͚Q_kʚ&5Zf:%W u|\9IK2u\   v .6ބ@ YotZ $]̖"f[oeZo>Qi@@,@dp+LzY?[]mVjQSz*s *Piuf(Ȓi*M)fENͣ1<FdW6)pj_yu$2XQzv(J%{@(ӬŁ   @~EK~b Awr17_%(/zT8<   @~uފ+5grL]Ų&3Dmcjsʴx3mUYKOÊ5[>NT1NtWͮT4uҬEu&̗r5fy4[;jA.:wN @@@Lf TE_T 9/\.}O_RyiLݎ}5~  @~u)7Η֘WcF͑eUd9&\8VuU-;g*;ud[j1.oկ-l8cuW{!3s^lK_%fQy*0WR$"   _Q@K"-@+ҢDFi/·;d:Ww΋rqJgH)~%@@N 4"s/(Vn:ɼWHSRP'̌JK5}Yi& zyY;j*_Lˊ&QjZTP YWY+üͼ"   q_'C"/@+tW]3Gx_OJoo܎KĹqOicM֑WP  @~uފ+57/ܴҗm"+)S*}dLVrpiVk cx ~9-jTZiRf7Ř+U0o06+ܗ YzC;   @~Eh/ ]~c}~=%wrߥd)! tZW̼[r}i{\.Ťգ?T+{ }M]:EVβr*\&fRaEU/kUmV ͬ4j20oa0ˤ2l䗷+~u)@@@n 6! }_7 @W~ -z5*Y8TzaZ97m%'t+̇d =T  9_s*bQ'rK2f5-▼//.+Pve?LVDS7KrwjJN&R3_j2kva&s%io^oÁ   @~E nHj j96[-za_YZWgKs5@@:%@SL\@l 8rY񡜕Y=˄֚%▕l^M˶dTCdx~-Ss;55T7hO~6(oXkZ5-ܧ(TUAY)үsN @@@Lf TE_T$?>[0{.@?f۲i`=@@ @O_5Ak6kX_&gYmb_陲L9لJ̪_;* xީSMM^SeWJ8SGjݠR-+-QV^e{m&fLHΔS(gzW2- hь%\^e̢`ͪߨ9cLⲼ8c   .@+ޟ OP+~%f kw;,^(9/\.}Qc~  @:$q#XT-9r\Iɡ/+'{$.I{Y ,R,]%˭WMA)Z լ62r̊M-M]jA/!7  Ĺ8 ?1~%sf mJWkpGQpךd/ - (! lUVi8@\ 8kKWauwVo$JTRH%Kv`-oPG [|WUxXku[_igc|,)CT6۽/   DZWE(*]"#PD_iH)~[/Mk\{,uJ  [ UN W%j_^kG [L᭪}YЗ;d-OV`jݰQe:WJ'SK*Pea)Yq!Sxx23[o+   Q U^:G 2"H/ @w&՛n(^,3Ud_6l_QB@hWW,4"wN.P˼O; FjiY+82emVJ3R%3[>U)gEZ,l(ܼfՂZfv}ꚃ/gvvmV*k΃SlF@@TW>H J555*++Srrro 6(//O^0kڵՀ"c]؇ @O 8$}Ev!gz97!Յa}'@@ վ ĝ@S L5}_ϖRjl4+| WMJҊMh Ue^rkTM&,mҤ:W#WS+`V 3&%')53UwGOԠIԤc   )@+>[FnV;5x`2eJwީ_|qz:D/w߷z+{@zjMkWj9Ur̊^WmjVսL20Qo%/}뚐ۨ5իXGOQMa1VJFrKra*\|,kj@@@.@fq/ ./<b5jռu񪬬-ܢ-.r'Խ,׿ց@ [=\{ѰaÂ^|Shii LV__ѣGoVZZY%Q/5w\O?xTF"/ǁ ;sH|i_h&&:%@@-~mAB/`~6M5+~u&er3>.RW)0oufG2Lj,eޛg+0 ]CzD5&)%I).Ree)9-9W1@@@x OO+c}'tkw nYضK;fꫯ=E.CԵޛ-=P]z饡 I'<7mڴ`s}k-'|ZEEEe]4i$%'XnYQiiiW+A/gQfffٳg/=7H"-J @vjCoN[ֈRp)ڗ} m/ $~̾ _h}m0`@p¶a壏>Zxs렃 h ~E[@ܕE))L׹X)&:#LZ됋d*    *}\Y[ejz{Zf-lYk{LIUJ   @:IފWޫ:Yg?#]uU>|ƌyW:t{ඈr3,_\gqF^{mo7е^TK]֐^hlvC[ teee驧_/oճݦqjy9oG/p;Sp)&Wd蜀r߾߿x}di c1vJw}V@%/i  ( `-f[f9+B-/QӌrIWJ=`'/WvN[ы%t@@@ (zl1˛_xZvm0[[ձ~iu]^ݣLwywVuWa~a߸qN8{n0:5kW&y8ZOn+cǎ l*;h' yoK+`C+4ȹ~o:.Y#o  FW $[]'gz5HM2]䝆)mJ7e_f[G@@@bQW,>S}}Nv7/?!W؉*rKpu.O^{\[ ^OSh5./6?fϞ/8{a\?cƌaz/ޅ 7ks6W(;ۼ-)<3gꡇ V?荛6fY@r9יK[BͥVtHucOnj  #    Ef^p[k믇V׿%/Hûq„ 8qbe>{`um[l }C붑^7]O<\Q[kcɒ% {'l{cN?^~ۼ75^X;ַUd6_m0("1,~~ɯh]{~KK%~%@@/>    (@+ZƼ~z|޽:okب[ {]JMM {uzo6:x`ymmSٶI&    (@+v'?I^X[kNNo?ӡחw*Xۭ@:օ^GUiiiV4hջΝۥm!|֐۶Q~.V) :c[8`:s4mڴW}GqD_~:蠰"} !hsRssO09Tr?Lٿ!~%@@B<    @G\uYgVj[M uy//vo]cƌ U]yԩS\-uu7?Ժu낫yUW뮻.C=iP׌3t]m͵6"2ǥ^/R쳏ӟ~~_n1"|$*"H @ܯ}\Y/_RKY~34RkɚCQ@@L3]@@@@#Ӹ5{Vwyghu7Ӌ/{ 8zƿxaɯAyw҇G:t3@@X    @\ Ƕ^p=w%a䅾Pj[[3WNz?YK.ղe˂AZ^+׏˕[ c͚5ꫯTTTLJBf[{OWohhЂ ӸqBYn{[\Ν;W5551b 9t_Oks @F$Կ8* ސU.}G((!  ,@+>SG@@@XW?<8Y3Si١Y^,ksB*;fa[;W~?)  ,@+>sG@@@WW>;F@a3U j9)9nhWfZCa,Ap},SȾ3N1T uc])!  &@+8Ӎ _q$   @/ (q  Urn2òd_Y'^ddȾlQB@HW=l7Q1P@@@^ Ջ !p?~PK;8RO_}(ƽЌ5P  Hi3x /Oq"  tRW' 覀ة҂CXT}qC}~  @a3ո 7"  ^tVWg@I5H@'euf[Ju]FS@@EWXrW~!o'̾%hDX@@ Oţx|j@@@~8C`;~moA zVSW:Yc kHSG\)!  @+2S;_q0   @/tn@W~uU@.TsRCAd_%ws&v?Ôٗ+m@@>.@?`٨|t;&.4   @bJ,\W?@1-<8MZ<crLp֗KN6քfi| )  }]W_/z+U]Ss%KjܘHȘ@@@@WpZ F𫲪Js" AL_q)b   @ 13_q&fǣN&>)( 97~':zYL  .@+?L?&z:UQYhjnn34ᯉf寱G3? {3@@@(@+t@ZĊ_Hxo{{J+ii/xM)< g:%@@ ŭ@O+Lk-[BMM[y?Єc5zH%٬    "@Wع)] 5/F%yw:ZY~֖Hw|?eML$  *@+A<ӎi ~m(м lJ566vh ;ըÕᵜD@@@'~2@ @@IHuRf쳞2R]{~>ȞvGx[֜g>կSB@>`V\ DkC }B_f-Wj0''[ǎшaC%!   cz!ߎw"wN1x<ޖ9wbBpk>u)-oKВ;UO"l/ߖKڨ  >3@IDAT}MW_{̧/D𫾾^Uժoh̛i]&^!7'GyJJJ k   @O iqv4ނWRK˖"}[+ ud/-+-H!;:Wz_/=!m\'fH)WW/[^{y}! 138W{$KwqS)    Kbi0"@k+04#6%`:I!ۢ/6_-OmceM7 Y/_﫥 ydl=Gz /ļXZ?XV0`T8LV){1@)_18 Ah3hw5~y {@@@zXWs;Gp) a~uq}AC5U4d2!_dSF΍fկP3lgmV+Y(l zf @~qPA &`q`eγ>Ly92h jF@@@ -#9_'Iپb?~NGfUzݔo5аTqq4睰)Yg?!k6*>z("g>Vr1L|yl*լV4L0̬f*`Baű1FF @ *S{H+*5w-[BF 3_ߜ&5BC+J   @~EK~b "NAfkv]N ;dYg<,k}zVSWY{iX66 &x}*+f3>2z7Y1^F @ PF J}兾4!F ~^Vy&5W|B(   b90 : !'@`s%r]=ЕWP=XʒgυZţhh'1h^p?Mn^O߯> '6mb>_fzulW Ʉ%R2S65ѕִ4id|!{t\ [ EH*ռZl3FW/~`5   3 _ϋ"CKfHK}ῥ͔O5am*,1祌89NGoV63a~vܯߖs%篘h;(+>3۞X 8eRot܊@LH3 Xje]nafkֶ̽?N?5$)lɁ %@kxQD𫺦FՒecTR/To[P^ 5_s]C ϜʪPmVʶ!     =[zF b"FIGywf%Ki~ kk8cMCv}Y+t],#.amT.~n'>tS2+q9w@ǜ"'O*FɄ\S" 30b`bضZq&-fmj# @_m0("# ~lԗshe =:\=JÆ @@@@ Z%KtQ5\4@ JBm&SUK$ZSԹOﰷ¯ 8w%c6AOuJpϿ΄gH)~[Nv uҍv8<-*r?}BҶ4Ic5M5c;X@I_1XT t7_x tuUjq2h`z@@@ -^a)-V2a/맏0yE)5+=k*`O Rg0hԦ&w|g@H _ jD"M 6z{Ækt M׬푕Z7kv۶4 }`B_@@@"-@+Ң@~E.Cg>}U،ckL]3G&8fk?:1YwLwMK;6l{p {vw-l8]'>~=Ksm?1+ew}x&RMgXO2vvzXsTVߺQlWe[x^r@h*}"=HQ6պc4_ǏSMw#   I_2zSWosob\lzTSt Q_b]܇~?}VC5eȄ]io#.X}[~Z>-tt׳ٸάd7U op%Ŋ;9 -YnrJ?V-%#|7C@:oŕ@$_J_. U[[hyկWO}F   DOq @+CDW~+_y:yYtkDO}7} ,BRZNx{ ܯߖGSxp6[;Z򡲏6?{MkQZ\$k>/aWJz}1-'._˚|"RXWg[`9 @4~ES>HG ~q"cJr&Nٶ}]   l@-~ć@p[; >?2[m 5ݿ}M}ٞ-*9-kQ+RrF[/_, kvҎߓ}mm TsgKWK[z}dO.m|-Nu}@;#7}h U\2Kw:YYY:n-^2HL@@@ Փ  p >.wl?˼|)dm,9/\.}Bx/;h3FbTW6SX 87.m;HޯP]r_K4[ޖk<[5.lu[~LOߓ[[L,˄6Ϳsrm@_=-@4_r%%%;LIfMhD@@@ B"I7DSW4up?{B/l7G$֩8n3›;Uo롚;E>-%&qw r'>m\s!Ͷ Α} b}|m9Iߗ}],fWAћu]{֒ڿqF~GYgJlG&4ݎm a eu|-g%_(Ͷđ,ُ1&Tmq/kO*+p[z.ٟ M:}o{RJob8&y>nUB@J @W    @ JW0Tۺx޲=z;w֭RRRtz|G ?3=#JMM￯իW|3Xޥ$Mhw2_ښ~2᳉'W0e5o7?4hdsfG37;#e sFk#-YE ~9o˙8"|6n腚զڕUTulF6mxrsset4Yq޽5bp }w:׮]&M8_Pd K~“>zgHP{%ҟoEAȞ4 `iO* ҹeaڗusڞc@R *%#_1@    /@+_a o+8 |=СC%K?~4(R0(u}iݺuzpԛo=ms-^կҜ?m4bXZZywR?{9}-fQ/ׯ_FyьٳꫯzZn?taP,oɆW~gOFjsR '?[˥K6dWYO+Uuvg\Cޑ @)~SAs@@@ Я|7!Sk9s>Pɓ' VZ뮻;4vX5nwZޠ?+Vg[4i\?7s0.G %%%y,تU+ ^X,/w2eWcٺtN8AVp7Skܸqbp3a{kjy? ~` 8gypWj#f!9ezfIOгg/UUy/匹+0c-@J(@P@ ~[!  $}u͛u饗zMੰm[&9rڵk;m˖-w9'w3AիWO!z4a/KMM}}W:ԩS}s(Ѽys`:vJݻ{K_+R_|W+[nM.v'=`H*_d^crg> \>'wIV{>*у@>竧|z0|:t% y % UR)C vbg͝@@@WW⾻R,x{יe4KtMo62Yfo5ջLŭÇ{*0լY3] ,(fY &xո硶@ ,U9}ti:ep nfN&g_&5d]xާ ߻RwR9 $ڥY[猐P^`/l?J vRx!_FZ8-a\V{G @b~a*@WsK@@@ p|VBU#jR З j3Q=zu=o>#o[Z Q.2mڴɫ6f,|{1oW_}Uy uM6MgqLz4MwqC_3gԝw]Eso KSTF+Ң@ 8?.l\!,[ y7;d}m~@(LWa*!   ĻxCŋ5tPoTuI&tixI1S+4={*`:쳽kMT2UflթSGG}t(f:l٢oQYYY;j߾}Z|_aO4I>7V֭յkW[N3fw.&;V\\e[Æ e)M2=#ի~EZ_{ < NC @g<9/#.@@0_Ї     Ea~fiB\Y1Z*sc3mݦ~y{ u릇~XիWvyׯe۷o{  |SQ쩧0'|75j4 jGs~fehd3O_'e@SΕWf]*>>@ 8kr_W~ eyA[@@@@ LO`B[+WԪUev4!n;w4ASqclذAWեKPP-{*-vܹsh9C_~Sl2ݦMhѢg(=O+m*k9 Lp @xgŷr^$'ץ'}! OW>     !@+!^?<U?.n P 9cݥݿ*jsR@ ʫ>    @J7<*y*$`?sy]艭,눋Bmv@J&,@w/'|ArkFjvT=@~ ?     (@+sr+火@:O.;zFO@R8s&ys 12(H P~U3"   OW{\n yWHKݲWi!Tz_UP/ڼe~5[۶mWm{/:#x!^=Pƍ4   P*R{#PB_%4P~Bi̭3~'8w26@ +E9B+Jd?-@J-@R^ ~ݻϫV-Uٿ_s$Zt/Y {NʷcKK͚}6[v3h"   _qeT"*@+ @)Gc]Y h DI g14jV_^O @ _%عs/\e+Vi߾}sUzn/}ڲu8:'5%EM4QըaP?;   DKWd  &C!Gr}wxFu)p6{ ػC苤 [߭T @ U)_+U6o ԫ[[$Z|[cFԩc;J$ɑ={trY>Kqi uPF%-    Pf_eBb'@+v X o,qS_m@b#{/l/-M֕/暈 P~UW!Pjqvzq]o@b+`~wVi+g_gBHp_ >;h( &wisiuށұdcb4A+Vimv[NjѼF@@@b2_Ep p>_ O}o.n Pa?J~5`?=  /@+_!@VY.v2վN<֩]`:vڥׯZ;\]6܄̒l   DKWdR *%# 5KBOa[VkBmv@*Vu9"_j۩ [1b'@"*@+ @\6t Mx7U_%Kմ3dr:oz(圃   @~@0Fůغs7&gO ˊe4-@΢LE:pq \T @ JW8sc]:uTjJ%Kkڌ__uC(e3{<9   @y~W s b(̜ g;6:La!čvq7Hwd~uf#?-@ I#QR'pdd>R?̔Y2l^W%@@@(q 1 cpn@7H8p=@ؾZˤʨ#d5h暈 p1ay[z!.XffvN.:?:ww|ي;n{}^_p   ~@< Ƿœ(+{CX׼$q6; q(MkWHk'W)yo?-@ P"P"14pk{ͦ[4{<^;7))IU޽dڵ[fiɕ֥Z4oVԥC@@@\FWl pV|+gu[(@R=@8We]Ǻ1Yi!$yUL 6';[,՜y 'oslluȄn@[ ۭڥp>XCV~Z q#@+n^A bvjy^+QC7խWWb   @4~ES(@I ~Ta9D^7ó9 G @؟-ۥ9S SqxҪ{ϋk ˺ujSj٢RSR"BD+"    P_%@*ZWE@WKf~u~j P,=Ji6fԑu+vBsC.0f= [e7lܤ\edrC_ԺEKU9%!  #@ #-0(?[_el'45-Y: T=[eBZ?%]_?-@ )77C &LkӖ-2re[l͛)`XVNؙ5e*!   -_ђe\"(@+ @˙pGnum߆!T{eOt+>.̖%kY` @vn@T ~me۶2j -08   Q %XE "XV~v7u<n PO[ V$7Ɔ [_nB`%mڴjd-'\~;kjujܰZgC@@@ Z%˸DP S/"x B( ؏%ݺ:j P5ސ=G+0x冪2O\Wɭ8i\4{:ocU   @~Xjs/"'ଛ%g񃔔c@ 8˾3~7leJ5i!DMWh 0᫼[6^X;C4jƍjmni5Ծmkj9pQtA)Zddg5TzuE+D   @~EH(2pw9Sq#b\ @p6,gҎm~:|EVÎ~Z Q VEBƌw8M /֪kBǺE=-Ѵ7lP_N?Mv[ABd|6o:֧w/uhזWH@@@h 0#_@d*@~q:~: Dk=[eBZ?TY>'~Z  qRDdvꤚ5݀bm߱#4Ú6U2a&-_2_3=]];w*~8kvͭ9h n[T aa,@@@ ʘA *Rq:1'Y#mHMi@ ^i,Y> ~Z  QNC@@@As UH,g֛r޺7 @qβwC99Ov,ըW= e U&6.B@@@`_=% U%A ~UtUxBRO6{ @0OΛ7KW<;-Mwyic ZWɸ@@@@ ~K` '@8!#_GnoLJ'x.~1f@R8_=- UWyT߶"HW8 @@@@ ~ trܥcVZ v1mڲewbY0'lݺU7nTFF233#0bC*ڇēG9/\曒u}nE 'uwJzuNct"/@x#@@@@?_Nb2)S^KW\K.DQXa#G{W!磌_:sN=Ӛ:ujy 4`P_piOq:th<8Nyz]?Kڶ%|uS)5= epfߤ} Ps؂A(RW<D@@@S_qb9I&g "==]wO;4s=vnf͛7PuekbC ի K6|p 80ЅQot{wHJJ /1b7*3 VE _ǵ,Y׿&Yp{ W`fﺿ__9yO3(> @    @ W߿_g}7x޽ Sjմb =sc&֡C"'qEizꩧTV皥#GN0A/w zըQdhf{ԪU+o{Exɲվ}{qVZ;`5lPzTfA+* @DLz7&n8h DXYwFHw֙~ac  U@@@@ /)S3gnVUfKΫkO6۶ugze#̒fyij:K~{ttYZ ``il2͘1CK,QuG{ sӦM2Ըqݡ?[Ѹ[QFܹsu-xmcaΉF+Ң@=]6gxf C@ {dg–o}ݥ!붌T*a@@@@*#@ʼj*R=ګZe*|^0$֬Y3o!1OxAǟ~iM}Fea}]ߵk\ : a'aoJsܣo߾C_җ:v(r˿eddg;H ~EB1 9cu< @  }~ew,Y7eG/ P~UͣVY_U   @ U_onԩRwy8"/~ꩧ\kF{WT4iwGz(T˄L`,6w\r-^o/O6ͫ.;( {9O>zݾϢ_P~B%)o#gϞW_};f5C?|m-@vm=*f*0})z@*Jy9=+-rk}dusC`iu< @e UY,υ   Tn_tK.?-YhN4AO=z(:sp̙^嫮]*YW^yEƍ0+~zg7.i>cMO:R&eh^T{em͛7 fLeqw'xBgu ⋽j_yٺuLLuO>9CbT' Png|oݲz_룁 @͒3=9'KgIv1cFP^C`ΖRkͣ0@ ʘ     m8,8aof={=-[X4+.h]:ýƎƍ.1a,SYf^m:?<W|7p+K,}*e:}fN vא!Ct5߻駟;H(2p͖%V16{ ij@69s'˙bTnUK;] ҭL4w@LDž    (@+˗/ׯkwnRO#og}V:taBU#FVZ8prrrjYX.2mڴI^z:/@U?=cp233C{&5m4q^w𗆱ؽ{WT˿~5k?x=?noԨQjӦx$"D@ gxov~V' "{Ys]ja6;$DžڞR$yQL@@@@'@Q'N 'թSGcƌW,Me,62ջLE.ۭlsꩧB^ RVVvG}TժU1^cǎz晃KL-hۨQ#|LTjٲ_wU2 o4gz^,7yqDž).5sLy%_t1x枿?zL2cWE YZuҺ%Y--ۀ\ @< \.[ }ibgf|\ɜĹ8AL@@@@P_TNS+2=\CjϞ=:sSL?3=#~zzzU2կLe/~ex^X3}T 3|oOJJ7ʿ|SQ쩧hy:䓽רQ#oo?XT7+lGs~feڴ4jb={GA+@?G#_ܢ׽n @%p6/LziO4[ = @bJ,@@@@J)~-^XW4a/S mÆ ?ׯ.]x?F{jѢEZjj׮Ν;{K05~i%.M;wM6jѢEP{?W~V[pMSSɭR;3 U@Y7ܥm{+p_ @ ~%b    A_A >c_qrZ?xsZe UEY7[ΫWI_mIji  @+sD@@@/@+mPWT%_3GP`>Z T1g"7u3䍛+p@8 /!   *@P:/_>MسU3gH{v~cNC@ X+{E~z[-%.@ ~ar     u'_6K 8 >tur/3eDZqaojG@*-{.֯3Ԭ%qBTW    P"y8@|,Sٸ]*iNkqC`n2n($r>T]z_룁 ,ϑ&Ѳ2BPW    Pb8]Eqs *)`?+i㚒?{n sC`^(4tnQCmo}o. aٲ'ZZ<#gRRd]Vi!q&@+^A@@@(1q }cPM,U&5ipC`˨Pw4 )`O&͙ZҿxV~:@x /oy    FWi8 ¨UA/ƥr^Mf].QղO @,{wK\q,눋 Ӂăxx @@@@J+T @-gܪ!vYq+sy}fFm^$gBibwc]Y']#T@@T+κUV ӁT~0!3{^-_RlN;\Vt5lP_23UV-%%a!   @ Ui^%R~U˳EwK%+__a gii|7Hں\Z{+p  @)g { vO~z@  U hͺZ0:ka_R9 ڷ/GkׯׂgO߯2ǒ)YZh͚ft;@@@@ "D[ EK=F[A>Zj6T։MnuˤvjԩCp YuӴG ӃT @TZa/YmwlJMIQZZue6iV-[n պwqYvEf:ڽ {Xjռp 8p׶uK Xq   @ U^81(,{yrQ ެ׿#p{  7qfvW`R6!Tz_UTTZ|,[[zUST^MM7V֭Ԥq#%2/Sk[\o>/բa^Xrrrk[ ̄L,55ūձ};XF@@@ "XDIW`6N6ϻZ>jgC@p#OFskC+h! @й%Q0Ukj֜yڑVU[嫖 4=٦WW̦ԡԯL/4?zڴj靓QKml>ܪ`.+sM:sJJJ2<   @U U>Ϟ0U1( I_;X_ @Og,9c?`m'\Fh  kq@L֮jaj԰/=Z6iij׶t̲s-X]NsjgdcVN͚;O+W~l0uEՍr@@@*+@ʾz<~%bp~AE#}@@ ͋_)em30}~_ @ bͽU.ј;UV2ߵJ_[mׂEz9R=U2Ǿ~):Юw`՚3JfԪ޳ڷ8@@@oD]WԉA< *{Y֮.TV=@H u_Pھ5<_| ["@Bع)Q֭trڶ2ztuojoc+܀\7e^jt+~up^mafM+߿_:o@?UV-xy;%5[ф:oݷГD@@@ "D[W?qWI~1k]VDžC@p|(_l]7Yh  +i@yCe%qtǨcrJvء}9Y=ٚ3oW+%%YmZR#{hƍdބ,ڗ9q?7pfn똣 @@@h*c"P`KUlT%cW#wg  '`XZ:+ ~᫓emY څC@?}X3 Hc s b,`_;dg+W,]{%ajۺ6nڢ~\7]S26\u𻉴ԸaC_999ڴe[U 354jûvVf1~rn   P~Uͳ&}uLJ߼:NYG_룁  .?["y`  =[FFB/BW3Vڷ?M|/r7SFZ @4~ES/ڻo /3$)FZhǼ/Sy^կ7x@'IJ vFK;vvT2[]qW{= ?!   a_e8!˘q%]Vz%C@J%`XZ:+LK>~.%W DQWq ܥK=\F.{؎n~z:sGڽ]qvhGSlf 7yǶm~)V3Yn_ yUڷU_)I    9KFB jFq&`JZ47+ʑڞ룁 L` ϜjײN=(*@+^ B5UF ͙@K-W޽[[Z4okY^a mw[?R9{2C`[+T7el׶4n>{D@@@dJYT 1p~'g_wu< RAV w~ DIW` x_}[7gmٶMڴ y\sݾ3fk`po&(6Wݪa7~jTo2z㥻36@@@b%@+Vr*&GWg@>qxc@*lw3+Uҗm@( ,"P◷%3 gOQ#-&.;.آa_%4Mi/UKMqVZ"v)n`=لbl   RW,e UF8.K{T?ir|!ojG@*3m9Ge}4XY?iɗr|!_"5j)5"IWw/5#/!PFx]E`U.ԣY|fh ~f6mS뇟fynT2վ~ܣMtQܥ#B3;^@@@b @+ <2_D!PO{,!NG@5U@))% N΢O,v^gHE*`I wy v/:T?X9m_f|b/'ya-}ڑ=cj Ld3-_жzq/nplj}^`gnءW`t    c_1vEWYԸ&yzo)|WI ,2a@*$l^$s%;_ u*ƥ@n9܊^+-Fڲ12ӬS urC`TsahJLʼn$Oz\L?V U2,\h}^Un]:Uss-X(JKKӉQY1aI` w'YpHPTzUTTlkz⭵>֣""UhUQ(* -}H»7orow';3  o_tDW=y<_`6ǜ(moRN:@@ ߺ]T`ۄa"%H`57~_.0XsNt?VnQtnhNf >{uV&娬L˿_ jM^ S~:XfM- nݦUkx}oYY^?@@@HdG _ $*?;4힅 # @l@| i[aSg˜!`5soߓRf)+gg2ldwo߸#iپѬѪX9xwHkJV-Z(GX]UڰcWrOv?k ڨq-PVK-N%lV-Z(?r&Zz mB^͛5~f fKȌ ٕV^Of4|G^@@@@ ~[`P: owS];!o1[8U<58G@ _(h_&PR$wL8kЄl@F&iS;,&5HN^e 6kiaVW zK]Vs :5Q ]kWz:o@ ƍM^8``e*-)1K^{c_zٰ׷ 9x,|xiD@@@ZWZ>&_~էɳ$YrZUk  ЀO)-7БQkl oLk܅ܧnZchV2/Uro2Lline= [g-Y L&t:4>嚕ʴu1+m]kuߛlުCΖ ՓW=y<{U֮_oVZWRII 5 8t.Ҭf|eVMZcBc60O6@@@REW @5P+~Uĥp? ?>   zGy8'_'+}u@VK4zbb"a/L̒GsVY 3[Bɮ8Vh]6e]na(Եԭ6?&̄#^#GGsWʶ%!Pgڲe֮[iƍ&Vܜ\kz99^OJm"9Hu2D@@@"] oJ-Mq(ڨH12g  @>{9\c-kߕ q^իi3)soVk Qd?;O]kW׬eW~2 殝'-DOv&d܈i^ 738ڈW@lJʴm6]L9++S46.oö+~}pYk {tOծ-"   _IagP SW uҗ'H/nsu! vl1V<]"`ާ/*SE.*-جF1'貿Ǜ--ͪb*?fuwONk92% LSfH)m0w%EOnɞI'U+6nB^ "mڴYA&ڹ^?/   1&@𫁽zirt`/WG@S9v.~FN#|u.1a3w*UjUe%>yyٴCel3%&t&M͏Y%+iaON+9+4us~W qm_}?m7ab}7­Ps]ի1rzl)s W]LI̖-Jz-gV&Т)wҬfYcg< }|սwk`HmR |)L @@@@F_5 J;`u>dXa%N=u@@AlV6Z~ x'\N3f?eߤf"⪸ [gUb=tτܥO'wj k"6.MjrZ7.*0.AH-+WU}00ٷ6)tW     h@~%Ϟc#~W<̹_ߚ@h/>vQSoR_]ZւOL(g]V,Liu6XӬӬc z;vk_VixԼcmR x L@@@@ j_Qq xsFe G\S̿ @@VifCtk7[е$4ݱuwkɴ\IАvf Id#6t<(&Tp} 5˫sѭ,Vuo1B+t    _ @f*@𫮂ܟL3?|}k̖0Y:@@H6* fև˩pVɬ5lҪeϪ~Rrr,iye/&o1? O[a fl7?YffǦ&|܄Z{[ :MLON9yާ8ꭀesϘ-gyiLW     h@~%Ϟ&~ܗW9 D*oܹY9%;Uvf.fT Ř)m(̵![c\-NhGgRR6m&縫~QדPK+     Pg_u&/@+ƌ 6+r;yx6\ @@pܩf;Mh*pśrܵLAi" Mu=bwЫ1f,BIԿJTS:BzJ 6C!   LW( -=O .52[<!۲Sg@hr8q95諏g ii@~ z XY1 {3}=ҧuT7Uz-X     +IA Kqpϐ\髣 V 8FiV%|u;PAC9ìռW{r?--]u\a?̊^Uݖ+4w)-ruDN{'W" @@@@ Vb%I?Q u5RF 8lnex>yj_˜! uؾAI;KW9-{SV.7s5r: Wh©r߸]ڸ.Ձ u >#`pC@@@0 u UwCzH ÇN뛌sx9(  upN;J7(YfE}ūnPIf/o֮x%|8~f oӾO3\`=S*l_e& tD@@@:X+֌PGM)8t,')pe@@X o+Ǭ|~=73?p R!ǤM+oadqױcB"P;m_~ 5% tD@@@: cF@ss-["q K` _;nUͣus`ϤVw/-gN{Z*Ry!8vԼcmEoQvOG9D~%B1@@@@b-@+֢i_VaS-j=7*++KM6`0 6x{j:m_Snwڵj޼c̳@IDATe})"ꛍso|_@@ Li[5YKm+}TTTy{/m^mEO \WMWl@@@@ 2[zgRhR6usU(hV٧vp„ 8qv5iݺ=X]uU ̶'B=ZSN--((gׅNm/ӧO/ mĈ>CM]?C*q(ٮCm!)p2g  @2ܠܥ7K;vD?\9a~.V ;m|l_%T ]9W^)=!   $NWSfI&i̘1'pnrU'6o_(= o<@f미 X»^9r8 #7dڴi3!222dCk35JK_q@˘ 'F1ק3%9(  plB`|QSiB΀wo;٤@Z L8v?X @ĶD+@* ̞=;:c!   P_QK{JKKuiyOp{AƍkٲezG{l0W/Iǂ UO?]\suwzw]}:3^xAO>g_: l]h4[Ȗ=)p~|<-@@f+yDYY(pٿFu1>#cPC@@@H0 vDU>녚* |=ƍݻڵKvKG{mwءon1c 5ʫO?4۶msqJdg}vk֬񶯴,V]{+7o\cƌQ _PX ''-"ܭ ?F-5 @@RE/A'(0a] KbIW      0hԩV6e[nE'dVXhJ?ZRj*=ᨗ^zis_տ+ު_Ѵ>}bX&Mꫯ* N͑G;3T.Uf~SֵkN^z֑_ynݺyA= Ti N$KrWG@@@𵛥[{E 19%F:A@@@Hp/ֽmYheY6u!T;˗/L0A۷/[L?I|mm>o[wkUzJ6fW*+ryv]v?] [>}t1hȐ!^sk4qDeggnjvfyKp.FgbI7      P瞓 L=\P٪<5vXwˆ l ZXBцl@,++[룏>]w%jYMGAAl0ˮ:裏ܻ޷o_w}֕66l0o7oܸѫuvu3|j%~S\2^N:    @6/W3;4oKmu18#D@@@@H'@ /M_~ۼm Yh+oѷ 㫯M7ήeW9r}e+0]SN^m޼yQ=]+\=K [UΘ1駟V:묳|vNv/+Bs^;ӽoVl|X UG@n>    w{r'Nn)p?ˋ8! E@@@@HD'yK.fqgꫯՌl/𶅴uU<׿VϞ=-m03PIIZ QU<;<[NÇᆱ{gQ~~~eC]ӧOI'$v;ȪjA6h0`_~_{uƍS}cQ  E*86QzJ   @SOpIաDx܊    4_IO/l8e˖?~be3+cٰQYY 4hz5?;ٳu7{_]wu{rYrӵ01%@@@E|Ԅnwu<#UK8nC@@@H'~P했W]ummoQzj_ t.eggիWkȑڼ9%mFF׿k#vE|[mb_w7%]UСCPZU[=g6\iҤjbDz@+ ?Oڸ;X~_fr./~U   pW~) (fUmG.,e6) ڨq    @~% ԃ 5gk ? Tuǚ5k7ߨM6ӧcرC ,բE [0򰫖ٕsw];w:> rrHھk^.xNj_O @@H;qoic.(h    R50  UWc+.*K%%Q`SRvs=%@@@ ^!oD眻x.hh    *RM0 U b*zA;ϏA@@-PZӥ#gg+0])7/\(h@Iia&}L@@@ 'GLGqܩ=ã+p@@H~܇W)FT"H+_i,   @-~HDj7ܠ,z#[~   ɝ27g@+% ^i'&M'Ɍi5wAֹsy}mNGڴy:o_Ê_$   IW`X &})/\&-VFrιG~)!  "`%ee*p"8#MH3PkS>~߯ԑv/G6j`|9{zڠr   @T1u.s oPΖ  ƥ >b|,+ Ϭ"U#=~E*E;G{^=w~kg^M'|,@@@ @+ @e*S.n_y-\𬜼zJ   @ ]f|UW UHOXm߮_C:Ĭ"C˧B@@@ ΘD) Wp4T]9KKQ礦@@@>}tNxrFb~g3_p 4 /i#  D%@+*.#_q }z6(A'McL   P (Ν'm_oHF*~UC5i,@+_SG@@XWT4D yg_FvxNwH}OT@@H#;ߌ/s; *S #  D&@+2'Z!T_I+ع{?˱*pm{S  @Hf\C|u{~)B '@@@YWF@  ~K/=Qr   Ec|ܾ-yMQvn3_{PD*UZZ9Do?ef6G6j`}|9{zzW;@@@b-@+֢@~uxZ_p   L?Ց?W?*~Uz"PU?w+ב^=iwڥLci~Sp   g_q{b!@+ (, rg.s  3+&۾r.zRNף}u_-_N]^^L]]e:裔ߡ}y_)8A@@8=  ņG𥫥?|vNrZ8C@@@I/n ?Y \ԸY3_{P@ TZx/X[ʮU#++St쨃裖-wE𫜂@@@8 30# _Plx}g}߃;#0@@@K}=QיH@  ~ܹS˿_5kשNϙ];W eddE𫜂@@@8 30# _Pl`}*UpIeK @@7~'} sߩ:_>  _x8_Pf @@@+@4xI)6EÇN {9W(}pg   @}(ۡ#b6 ?i&fw6u)8A7A@@FW58\B U~ʛHylY蓥e@@@"R% ?q~ \yW9'_U    K$R nL5ZN8_Z83lS:@@@$b~g|O ~&f_>  _5   5$JW87FC:g!a:    @)84icge*pR}~U8C7A@@FW58\B UB0VJ7(-VAҖ VI2g   @p/;,i׮g_U5@ ~c    f$SW2g>pskrz8C@@; 8'_U]~h( 1y@@@~EE3)@+1~!7׃ 9LS9C@@*wa :NZv0 gt@@@ _($ J HO ϴi3*e8C@@6/WpRiiFim8i_"    5 و$]W_AJOr_7Gs:    ܙ]>՗O!@z J@@@" H;( R< 9C@@K 8z<[2}M28C@@Vjz&??ڶ\D >"  ^W Ju ~7ꛯ39OQ@@@Y`ʕ^#_5[t .oy"  EW] ]unuP6*Β8T'˜!  D,@+b*"6U1Q@@@:"K_Ԭ}_J=5)0m[Q8C@@" -HPk޽i^Vk֮Sa&tlC@@hXiT  ců4}1c\xnQ@@@\WVD ]BdΗW2@@h{)\WXMW6*Okޗ2 p  <{ L=Rfů3(   `~5W̓t~{?סsr Q@@@NWt^F@@@H _ a\ܲR'Kee=.s   P+_b&@@@@$ J `x" Rnp \Դ]~p@@H 3    @~Ŝ؛S7poI#}   @~΍@@@@+@+@D"bJ|xes:(pY+ @@@jMǍ    I D|F R_Jտvry`OWG@@@joǝ     <{FF b_Sիo?Q:J   u U'>nF@@@H$3,F >y|~2vԴm3@@@: 3!    $AWh~E+'}Oq& }u@@@.@    x_7gD 5YzPQNv?G~7.,9N3@@@ #    $XWB᮪zu̵z"|ZwOp\v8C@@Q    @~%NWu: 皻tܧ/?Q8:J   1 3J:B@@@Hb3X񫶂ir_LK6'ܼ#ߗ28C@@r    @~%aϽ ;?"@_@@@ '!   $FWbSz"رC-ZPFFF aoNj}ƠƍvZ5o\1.~US/nN1Keeo>.s   _qaS@@@@8 3p:teiҥzԭ[[. D>t_CM]? ~U0>}tNxUwu!  EW\X@@@@  Ϛ5Kr7h_]wΝ[#wyկ~]/))W\+Vxeucȑ:3BEZ4oɴit{#ؕlh~1zQFilG+/6vzQ˿99G^   _qW@@@@ oJnW/1~3m޼Y>5kVOni /'voYwmiРAڵkƍI&ymqu;wS(3ٕɊճgO=jܸvܩoYS۶msešآC$jѮ#ޑ@@@ -=#   OWlS{Gk& u'ˮ|[oESNM7Tu]{޵s9[^}%Kh̙ZhڴiG۷5jjRud}^7-)o7g]^Z6>~Z4u zL˹y98C@@9    @~ 6o֛]Σ ~/D/BuIO=T FwĪxѣk]v8qHv6@6~xM0 ][X;?3}vY3yqh'xn=/ǽL+I]>C>b_G @@@ K    q 'tv˖-+m#g}֭z{vuEG}-b ]b~_yoB^cʔ)ɓ'+[C.\U ~WAAAhjC֭[e[<-2.\mx{ϛY>'b-|Did6SکRVn3@@@ ;1    AWPө^z%=U>j4vX5mTӦM^嶐3fШQl0O?m\v҈#Vhbk֬V& ]}+}٣w^w)4o\cƌ}x⡚>ݏF}$+`_@@@ 1#    ^WMӪ|Aou.]t:(o%/bפI<#8BW(3gzW^}'0U$O֤I BwmsG; U> ~SO-ooKe3xgƍk8s{\hHS|$*?zSʋ   $NW @@@@ vbg=65k,o8@xٟ~iM8ѫ+~zᇽC7u^{?Sz\{˖-{ڵq/ex[ފaW^^^>}cѐ!C:^ϖ]ƆydMUmY޸  48 ٕ뮻1{lp ^n7yG_xRSk֬Y[[?޹7 o0r]Y,X&?wr.nxCOwÕ!  $ZW@@@@ b}***Ґ!C'N;;2en<77Wr_ٕQq 6/b ܹSK.E]}ղmI&ɮ>fnݺyUVi̙^]߾}edU5}U~mzRa==P<h RS+(pRvpg   I vE@@@:_O>:w{boF[y7SO-ojرm*v5?ڵkj^Z#G͛322Ib>@ a?;8o9&hSZ}v3.{}4iDv5~cY K~ܷg9   _qgTRA5Զ۵f:m0;l7;/:N@Mssk~:oA5jde~   $YW_@_ZZ jŊjٲ+aUwYF|ڴi>}x?ƪ;`-_\-ZmX]^[\Λ7O޽x/Qi&uOVʏ(pыEN@@@+@+@lˆV|6oJUb~v2޴l+(++SOǎ*贏Zl'k    @W*pUeՓV 8C@@HD3Xn_]fڗ }Er4i͛>޵76    _qaSb+@+͝xnQ@@@H3:+/7+|-\XͶ;wߚ*Mk5kT&Um/V]̛],7' CM{@@@!@+ꌉ@KfAuPw@pg   I WHUof rklѢ 6rLq,eUۃ&VZR%;Um_J߭^&ۭ{]=O {B@@@ $@+$'),@+_NSs?):?-s_@@@ J;`[if͞;O6Ubv2۩k3&NcܻpbnSЬO]LlX-@@@ @+t@~Z4h NS`}:J   )!@+%^@ 6e_˖PQqfk-Z;m6Ȉhw+VUh֭^ˮvA} buD#@@@b @+t@,Bȑ4$)   @JJ$]ˆwl&M(l협j2%K5yھH̶={xE@@@:q+ K|Zw3r:௧   2RU0Fl/wf1md1m"  3\Zf}D)   @J J¤ZFsMфzvyy4+sEyرÄhɲeZM`׃Ilu)(PԪ%(   TWL9 kzݸĄΓlw@/e6SB@@HY_)ju+r}jfϝM7{+t=!߅ۅeV_+''GݻvQ}վr@@@FW4ZE I_Ű>{̚ Pgc0wD @@@ X$Nn_i- Vnj߮5~//dЬU腿7Vn]WfMN⸜#   K_Ԥ/$u8@ K>')p2)!  ELTj Z ٽ ֭kҲvYkv[.c_5o,r    U5A  ^p7x+o1|N   @JWDX3UfVjUXlT\nR+ڙ;tPVVVp+͝7ҹޱis!   u UWAG \ r_Kc5紛qI ws@@@ ~an]s\ U\CڷSm^wC;v4EfjȘM@@@yt 7NWrC)!  {eLV^f~-[2CͶ-   {!L~U:W߷HOfp= IzJ   i)@+-_F *7ޙ6xVVc`We }@@@@8 ,"KF r C`W!!+Sr SB@@H[_i8 |3ΟboC:PztWfff}TlXT\~YEЫn߮دwL8   T&@2H1_ ~!%E >dl9 =%@@@ ֯#@qMlVY]jެYk?c5jQF;v߯Tii;L_]j$ '   FQ nVN'F׊6*yҪe57 rz)!  <5 /]sUz[2j[keee؇m`W l-_JLk_vV-[cD4B@@XIu UGzAI7{kN Z)!   _5(PRRע%KdW >;hԦu*p͕з jæMfV@IDAT2/ӯЮ222    CW@L~ŀӮdMZm)pRNP   P~ջW!@YYq6oj~h-f[ǭiV*))VnXuV[;lu@ qh   @~K~:`׼7v,#:lǎ$U   @ U_/@v;ǠфllY ~'mجYS5k {c."   _ @f*2~;MzPZ]7סg|UކZ@@@z/@޿b@@@kި;݁UK+Q#:S_'܈Z@@@ j@/GE@@@z2y+@+w.xO+twYP   ~5W#   BWxk@@@C @@@@BWZ&&~ERi>*p@@@BW0T#   ~=LP+~pg"IȏNWJ㯧   @5    @ JW  [3'}.im//sMᆜ!   h    RRu0* r?xҏdVrszJ   D(@+B(!   zL|ˬ-@9#g@@@BWX4E@@@H_)*U 4WLFJs>ee>VNzJ   D)@+J0#   x Lll_$-ɑ˧t<_O @@@Z    $]W_@fڹMjR ZwSB@@@j m    I T~G 2*ڨ3Jk(pRzJ   AWٻBB: Tl(kZXۮkemmY+"QB'B-$Rf23$9-{a'<@@@@~='Fs ~bB_V}w }5.5@@@| # #P.]׫ݻ_c0@@@j"@&j@- Lk:)}TS^ "M   ~ D@ ~@@@j$@Fl@ B,)D !a<-(v@@@/?A2 ~?u]Tn@@@0Q2Ӏ@hI׈/ VF[~k   YA?"C   4x_ sE wUu 1Yj{ȁoQ#ith     XE_>q(   @ G͍@(J?/`Q Ҩ@@@@ *c"/8@@@ 4~s.빀 k(ʶeHdo(d6F?%^~;k   PWq !!  zl}h0RsR6U?itūҨͱ巳   @~q   @  G GU&eяE4i}lA@@@  @W 8@@@ ~#@~UUQ#.4kF@@hCH!@@@ j}@$..N7n\߱cKtttǗJ^^=S]ucm$66VZn!loٺ*_F-   Ԣj֬Y-S!PSdd}Ք_=XC@@@"_ض?~z?):uߖɓ'qrI' 7 aaaϗ{NKvѣeȑm΂pByꩧD_N__=8}|}w/5y)1oVe|O2!  ԑbbb_ZhQwQə ~Uf@@@~aO?$_{Ԍ3\l*))Cx@n$++wƍ'ݧ_:0 ͳhZ{eذaQ? V}M*_>@@@""a!9K+5   p~5g[iu/ |ou&iz{tM6 7Ȅ 7x\pvyʔ)+iwy >V 4iL6n嗥cǎv~9pLVXX(]v~Ztb,$r"Uf~CtsRWpU    Ecn@@@ :l2K'NYfux 9s$''`nC\v%:,6Ǝk3Vc[N-Z$k֬9co߾ҤIC*+Z>%%ZL+i_7ol2[~jvi ֊_ٲ;k!.zVt>    !p .@9!   ~ wPQVyM믗իW˥^*W_}uvQCRQQQrg>O> bsml6MKQo ˭[Zd_]ڶm,?VG;3;p6{lk3UʵFD'a#LAr}XA@@@ ~Cj]WsB@@@.@kݻwVM i;v؊]ΘM6g}&aaacIxx|ǒU}jH 8PC[ݮ. M:_N^vڕ>]袋dϞ=vJQNد_?; gZ0uҨ@0.   ~ 7JGR@@@DW%0&/ |iKۤI$--~hS:jiS TG^nYa ,޽{/=V"=z999rUW}zaÆ/TJ_eʕXyUVGdž` ~#e+?YߊoM|U*V@@@LW=.V~ 3'A@@@ $fhoNLLLUpB[1,22R>CqBRΉ^>'pL0\3gꟜ,\sԑv_Nl.+   ԊZaޓ$i&MےR݃ROXTҀXxx5w\?#_Vڵk'Ҫc?*rԶ}ʓO>i.[˽;vݦN9~YvBbse|b^D6,[&J5UN?@@@B_AP bk-fz)((o$钖&1~@@@NWuB |M_JLxmQ-YDnv]ջָqzE4ڶm+Z+##ë:-)ST^Y }T}nou)zMZK_d̘1n{;eS+ ~m]*bơW&Ϯ2&V$}4u4pHXcώ   A*@+H PP ~iky*ٞ} #"IZҭKęh   Ԗڒ4ŋ1cuwϤk׮v Dϗ[-KCT.\K5kL8oJ֭݇ u-\PF!쪨]pv:ʦj چ*Ǐ/7ď?(_I&I>7JJƅf "+g٥Ƶ~ {F4@@@ B-yyVi"N:vh'QQ^yU9{klؔew:3vʺ@@@ ;iJKKeҭ[7{_}./]T?W7|9n?S;[o%vԩSERڴrW74LVN[N79dgW_?/o?.9.˴OR9[V-m֍]zm^J<;^   C_q> Z듙_H<8ҩlϗy m2xS_e@@@< RS]𫠠@Fe4@u9e`H~i,mZeE|r>h W0L7ɵ^+{ӥX֯_ooFӼ?m4y:u^zIvv,Zn۷hV]Ks~r%))NKʴ=c2`@`R^E4-kE5V%z)zW~v    AWCx܃vPi߶\U=[ٔWJD@@@֣1݃_o_yaaQon>uw;rvGyp6[ʸqd׮]7p m΂3*wlddh5ϕj_{I٪Yz^'F=F:O8z"   @~5mx% $/G\~ȱ   Ec@)gl2;4UUɑ+VHBBNE&𔙙)6m8ѣlZ,##ClXNllGHنf /E׶,Nߪ {^M47    LW{܎GZ"Y#:{钘O2 #  \W9 8҅^sD/)1"J.pDϏ'    \W^ڰTcůtS2@ů ؈   P jS ી:@wφjD}/i$ΧJV<;^   |ܲz˟X   FԑGv"iCMdiqH:ZN   @ UWP~i={}l&US'EF@@E/zpWUCeodn4A/o}   T)@Jv6PP~-~\=%1!O   /_8? xzivфR    @  gw$kKO_bc ~   Ec%'VVVVKg4   yaP~}ioeSf8c)ߒO   /_8Z UKМ@@@ $~c?fV6emH.94c!   P*y؉@p U   4L_ rWU ǛѢ/   ?~S2,   F(NK=e8<5˒e+dϞ|*~EA@@@ }#_ui@@@BBWyْSeǰ0IJJ>}*;`9sdŊ+^zW#rW'GC-tEd̔iڴ4k,ɉҽkgI6߷޴ee))/舘_^PE@@@'_>q0#@v9    @h _ve[}_{DDD-"vTsnfͪ{[njYz2 lҤNM$%ٳիeUf}RVVfiJz0cYƍw     q}_|    8_zrF媫rV}z%˱>]tj/}ERXX('}ߘ%ͪ i+sZeY$%KNni,\"## /@@@ U{֜  1"   Pj=/J-:hݲj*6m[εfJdzM| orlM7؏ בϤL1+K֮`C\=һJ WKKKmk銕Rz!-[ĉNoJC@@@.~ե>FC_B @@@=5e˵^+Y&Po:%˱^_}G+**kW\\f_)eLU~O8^[ U߾^@@@ j۪N+ג4@@@= ~ho_>\뮣NRPP ?ddd͛%!!Av* 0Xvdxk׮]xbYd;==]9iժQXW\)˗/{J=9cccݻ'-[4ٺu̞=۾3Frssm_;s_سgdffMZiskL0^6nʒMM實T*1!6Jƪ-ݺt0*}c @@@n~խ?gG%@E   *@zno_~}k."W`ʽ:Wii=sK/I.]/;ײLɧK?q;yd( b ӟd rI'يbrA?lr6mV2kӦ&L:վoڴIH[jjG/*F,*.msniĤD7[@@@[_uHGLtB@@@Fgs~Kk׺WNվ4 4 ipL[ES@vi"{-O?n.JKKI&_44_M{r-v=r]O<贎P mKLL]v~Oqbw/Dה_]4kK.;/ @@@: U珀 @z_@@@ "~jz9rG/9x Qii"9wޱ3=ײe#Owg!ovO_qܸqaŜni$###~}!/IA@@@~՝=gFcL   D˿WXyҫ뮻~ȉ'ha#Fڷo/]Ny} vi'UѱguhK.j]1ooe4]t蔕n4ɞ|I;_.~k?^Uz US9C@@@ x~ϳJTW4@@@@g_z3w)v=g #Ͼi&Ty뭷{x{SO=CmLCgچ &w}]鱛7ov矷Eb||WH~첧/v޳1&L 'p‘yτ    @ G P   @M~U/m륗^Q۟'9ĉe֬Yvy̘1rue/>̞=nk7]vo@N4rLt5=T.B)((y[n)DϷkJHO_z/ϷcKIIDDDiφN?}!'HA@@@~!>FS=zT~   x.@z+o_ov`TڱcX:6vX]vy> =ixiӦv=v*:-bE+^}G˱_}<:h KZwڵk4YYYv塇śׂ s 0[ @2&   +@v95 U#6B@ XSb"¥SbT_) ~U ~M6M:$[I&v]x4i]v4nm~ʉ't9*qĂƞ}YIKKs92qBEj>~(k 7/.A/崗_~Y:v_9 @@@: U'p{oa @@ ͓lYK?ԌmTR"UlHI5vlO5f~X\+Fv_?!c;N2Eif;|9Gp VEmС2n8IHH({v 6moQn_E+:=3˫ZQ7l#FA@@@N~)?'G,! @a}&|YNwĄ"$E$X 2(9>- KV/W+WNAtm֭S$jXwG&۷^oFFh0`@A}tJm7|9}_ ~@@@_uIN Q;7z# @ i|fK) k$-%1$D~n&I58L"6D -@+O(]SYM>} ~@@@5_F͉q$ Ԟͻ%[dOk5U; bI&!1 %pX|T W=}UMq )@+8K]ﷷ=j(馛J@+    @fNo|h@ʜ=[_=N"%Jd uwd>[6]/"9hVk.tOĮ<`ey@ USv%7pڵk]($!!`~@@@&@=QA jB@ 3/Y)ݓ<:w4kV{ ض_a)$7.=Xrͫ@Ʈ]d ѳnY]w#3_5ݺu\qkK.ܶ@ *c"   Pjכ!P#_5b @@=2K凵yܿc:ӷE6_;?h`Œ4 }ol34嚶2܄0SBT@ \#&??_}Q)((6m',|fN   @@~/82  LOvV;@ٯ\xl[I X6L0LbM+sdՖ=ާ!y+EN"''KdStlxGV $    PwΞ3#/ ~kL 6𕳫Q"dTvr1%=%ʾaȑVmy#)!uJVvF@#@oP O{F@@hh~X)@R`ymjyMRrk6S7ۯ׷ Piy\ʑlϪ7 ~ZJ-M5$(@ jBW8B@@@' m_{@jC`n6ys:iLe{Uj`&6/shfMdHD9k Jcyr}@jIW-As TA@@@FjAԮl @om{+f%T8PZ&70!mj`ztX95=V;C4k+ @ C|N]gꌞ#   7_~d |p]URVVVn!4 mŲbnYa+5?!-A4BC[ɿ]'|^U^Sr\}bgx`{ng*sL^Tkn 5A-YN"&hGC]_قCWp<@@@_~DZQ1 Gݰc,7![.0a< 96ojK2L8T ? T)Ɲl9hUU֎(g_'Wօ׫r+GV?5S+T;$S #7:!> zظh@@@ * )¨χBЀ26A/ZyT^q{MlXd/BW`gA,ۼ[!˲vU qޱmWe?vz/}o|#_̑yXagFl%hTs /~5   |t} Uߞ׋3a.VҐY^W, O\pS ,*AT r4Tf|N_y!w_T W$)Uej`M5Vn3I z52W]EVnlJQr ilXΎ_Aq~ WNC@@@N~ {ݞt޼yWzGyΎ2yeɢiN:In s|y/tmo׮=ZF,x9.P/|GW%\R~_vEc@ ,(g,~TI4|ѯW_C^-W׍:ݟ1U<v cif|`8^+,}b5sޢҳML^潇yU+!ٻeYn- M:w33mx9>-ItNmZxuiC }:TQʖU]- tOuzYVZy,32f#E%M_U>^Y~Y AgN ݐ<[>%[ +ysuZǚ`&fi޵Rؑ[L˄g2{$ӄ|itC$ f :KD|j?ߦ^d!YexV`i @  'M+?w   0~5]\zjѩ tձN'xBfΜ)vG'qmK\t ;vYg%~ݦ_رc1cت`zuɢEd͚5 {W4zJ\)--CUy6駟7/o@ gffsV%>=ׯMecΞ"`q0e*S5tuVrU?aBo3 {V[(I7UNJ+Sbdt (QLiC`Ǿ[+-\ݫS%Pa 2k͚ݫ3_q~ FA@@@N~)ݜ\T,,,>H5kVpc^z\}Ƙ7oQ7eCSO .;瞓ӧɓmKCV<4[o֭[O?-O{'mp_uUvF9 P^@CRLrMhvNrڱq6J`l,kr+rۚY}S>ĮJR*#G>3ՏXգ[D{"Mc:G+t\[ew}qåk[=KJt7bh:nSn þ]]``C͟u@ KYτ    @ GPPRRbfi/bYx臛ZO>rWJttt&N(/_+{i.m?iӦޮgVr_|!=,YYY^ׁݧ}v tilԩVr_k^NԩtMV\iuA "G>܏uL {wLXQӾL/0SVt@m[WgB`ʒ&T]j5lѼn)i111J:%JW&T2YלmRl*Ub9Yf::&T]+epV얕& LKi"PWWcDv3hB@5y\Yɳi_kpIfjzxNC4O~y*E?@@@WW>\CckJlu޽>Z-L_&M$iiiF:6VӰYE$~rw [`WkClz^D!,J]O1l0gW_(wJVԙ܏tRC'L2*0*qvO;CewɌ[C3%6~󶥶A.1>>JL 1۽m:mݶ"n^KsmŒksvyTKϝ)皪e#zʱ*ufd ͭ2A[@ٺzhyl'K^>3邵e2ϼVaoZSǹrlԛc`|*\S~Z@@@Ν+>Çȑ#%!!A4|K/~kLk֬?vwyG38n$;;[^y;l˖-[nnl/o/\V  I9{Ep 2ags_<.=w !SM;%[TqLזn\on`iJN&ȵ-оo7a/Sa5v fi:O+۶{_ܺ*N7z @vLklu,\W+zk/Ri @} U_/_8@@@ ϡ֮bӦM6ղeK9ʝ?v[Uձt{%%x8 g}OȆ 矷-:!);(궙3gӽ믋дXzzvYϯ=vQ^~e_DtoZL?:z)#F~NثW/ݻoɓ6N2.γ~cds\>uu^K'SIuة)+DJKK+!;w@qq>?o߾gCA!=M@@@ T~ꓯ/ٱc\tE^Gv-((QFZ%K.رc6 Zeee*cMa/ 4ZA˩JiGyDrPJv^mt?V?ө/jv7^^}NH*_5 0EJF)51]CB,[h|b[u=䏧!#TZ-_V=fyd ׉B7SMlDT9okTu8i)M7Wsc:1 y oRm: u-@'j*W?O?~ĸm ŭ[W\a/ϗq~@@@#_u_W-** 5kNUxuh%/kݮug*nUٹdVҊ[fU0Vj۶h 봐SLSI{e-,,޳NUS[7ڥv]xڥt'JaaVGV8;c\k$Xb*2--l%6LrZZoXd9G+9{JH@>ӄFS[~q~_iݢ鏏: V Ϙٶm`X yR1HfMKbL3I2/}OI4Rrbt$FJGC I~dTyR3|NrDb'/M+O4Ib.2iѢEE@@@ %pB.r'Ҳ_Pwu >~;C/^,rj]|gҵkWyxے%%%6L2veInn.=7g͚%'NCҺukT .S6jv 5ܛV@s^nݺ!2S߀|PF9+ p-&e]defy |yNJOR4K0!G?oQe6SL뾑 B>U9{$VZSA o]Q&k]1ahT!@ ]I>]EJVy:lpDjYW~?\ECdΜ9紳:ˁζ`|'E+/&@@@< RLkCY)))jC=$ϷS.jh*--A0'W_>O,]T?7,#GuO?TtƷzKSաC޽40:M[o> 2Uvԩ/#zVLM7dkf7_~'e@@=܄J^?/0y{:5if3MCBso߮Εf*O~Ru4j 't$pT@fJ&Sn,$cnb#6W/"{~W,52UäqyoחǙa潩yob7M¤Yv9,;HSŎ0~U\݃_w<裕'O?mlR}J_{@@@@[_ފ:V߾}?2j-m2j(s9.kJ~鴎ڴʖ_|]4h+k)]אTqq_^Wo _9ӦMƥSN6-->5|VY._c=ftN_V)|N'>F^ |l~nmll4kuic٫jSزP3h3읇-"4du ih*#"qGL57STeś[O,'wM]EC(>P*764aPg:ӐŜu]nn*V>^tI:9&7f;~5kϟåO>rN{}Z k͞=۾_~_2dڵs+m_l޼lJ?pUm$hE3lmΝXʡCJbb:LHجY3eٲezz,N-ԤܷٳDFozlk^Sx1cElC@@@ ~3L:5~]v~;]/g~X4iLt~!nz~3Pkp)^~WYs*zU4գš3䥗^&6}e:Aǎ7u_9 ؾXYA`05i:Uaֱһu k[qwϗo˳e٦M!?u2ꮮsJt7?$*NzWqYSe沭ŊlSf| BK%)&„RL,ńr%7HS5+G m'ck/+5=e,yTk&(IS<>K@LSLequ^\m~_1A:'H/k~U-iK?ᄈ//:/ܛ*_z> LU׎9$xb$sƋ裂e't 9܃_bsiK;SbV6}W_}媨?p@x'E@@@@n~խ?gG#_1 z+SeBKwWynVҐW/J7?of+,󚓱ͧi%MuJae4)mZ==I2gOl[$L m w噊g9&ݼ4]̾2f@{9[@KST Luu 7-XܐW`*Zx;+,g>Ww4ݮ7j$M7qءWدv:m`TD6SƘWlDDvwh}o<:ebSh6]Ev7(sj%JVry4/}U]נǛVbBo&Z =88vrtg}_(_{7Elt?_X:}z4/Q[~䪫f1//VZps dzԎYnبp܃__V-۷ߡCW}ݧu:Hvsv2/_8@@@ ρ@JCò*ꏀxfZF?_k;K-jȱA~,kɅ%4d gtWaɁ S1` {:zX؁ &&3WuQ >-p!h kK\[M2UvM4pv(0ԾǘVj&"*\+фZ47ۣ#$k۸@rv;vow 25anc[DBtH:K-%ikzoB k~|~|G}b N3SCxh U{ꞇGVIWKC]?W_h蔉78*Hu˒%KlO*~YUz/c/ջwor=ilذa.Ѫw ݯ |P@@@DW<.~U>\m*/\CQcuN` [eZ<;%˷f`m:uy%f*G ֧u! iY+ʏf?Z 4җrfnkfz79MP(Nu-&PV=cK>ބZJ6;;y_dދMЛ֥Ull`K_* aWx|֚4t-g:_'OU\^>CIN)i7_{KE6o]C~35m8PE3 鲆 Wx}~&̕a.$3픆O%D8uو P+:-m6 V`ӫ"̿9Hie^v٬7 k*گSUgͺ.ۗY)*um^knJZDJտCD`w(w w"B/<k%0)!vt~U63~z蔆jӦ9~KNΡʟ~i"EEEDkt*z,ʐ!C*:Dx 9sT*;p9V,V`^n$%@@@B_APp]Uݽf*  3?5?k36>%"4?M2A83eQK3-Q Ś;mѡZFwe~YU;VaAkB˄:?5nܹOg_UMu3-^W(6L 4EC@SgZED^9pL/,=*ݮ/R拾4_JN[79.  vEJ{w}hJL0w_,;noܽEfNϘDvjp`7-g]b[;K66w+wµ;d{;ӓT"i ʛxb;m۶_.{:smTy뭷qeԨQVeK/To.::}A?gmUTڹs\y6(挣wAڷo/={AjIkٲevH=N;x6f+~BϠ    @tN@E*Ra23S=5p/ߖrŚ42L $Wd+3xҟ>  @m lp 4UK 4<sBcMݪEHk up\DŽں̐:fJȯ2צ]f]-3LI5i 7nŸ8:u].SjK/Nqҥ3fH&GrƍlO_:Ţ"_WIOOp{1W5b4ܥSIt}@@ j`+M5UU%L=So'FHyO1ӤԧIfl;!-7) ~U]qx7/ o?t믿^FmЕiUeRXX(W]uڼ ~iK_ںt"/b\j_vIKyζ'M$iiivTm5 ~iLN%ϴi4F+P   @ =k΄@~՘\`2L8oM|gq,9PmRvI2Dk4fZ"H&k S:P]kִDG4U=TM2Řw=ݦ۝̴G۴nh#  @"ze ̕C&lg^楁2} uhoii0Ep'*)|L_U Zl)rQl߾]֬Y JiD ?s[JW"""luN:ɲelūLOx*sZݻwA(޳):'$Νkٳqۻ0ra_B): HS4i* E z" \) $RHH!gm瞙L͜3]3m~b<η FJѧ|UΒE# B!pI!@ PM #>u@a$R6aV5ʦU_s`X}@릯4{iW5hjsΉx+eњ3gNr喋2^6+]_SN91 +)!S?~|r!{|ю=lRWo^vy83[u]wE*-2.|]څE  @ @@ Pn7#tY#0gӫw;5,M߸M!뮴bS @)—.&͘B _H_HϚ_NJcAcB@Ё+ư ޱNa"H#GfS6[w+lꪱV[mK l\'xbqJǼJ+gqFWW_}5\sl=?1cFqM7廗XN:5.xg:boqudlY`Zژ8qbtAs6d>bVO "KST[=P\~Y9lmOmpڽ]xᅱ[cEW{& @X_nJ@R9R=7&}y|-5W'@ @`M]ascdzɅ@ƄBRV-d˃,d aJO>+9Ԑ)Sܹsc&M4AK@W8I1f̘,ߊL fZ,믿~c];?hѢM),45e={K_% @^_wZ^C/.?pѓg=Ͻw{M.4j|~Ub-믔M\}  @ʦM\ ӯO-ϘmOd}ZGk| bjݎh "nY&w~#eJ㎋޻~e=bĈ i'Ӕ]~ @ @@L,^/|6^_fkD^7[_ @3-(ff΋w'ϊ̌х1 ? uZS~F2qI'eKD^u2f;6:ȧl;c0)+-eK%e۷oMW @hw_N. 톮P~ oL^x}b,XɛԷGUo5cMu @mRSFng̔Y6 6Wa|ndj 2>7eIOf͚dUVw9wM /:*Vs$\sM<󑦤LI뮻'ܩe9.,.B @eZ& eNju ^֤w·*ݻu _-lhl_Q!@ @3a)Ka}u~-iGMgjrtP~ }w^<'nׯ_q_{jO]&@ @# c݅@ypWSӷW)0^;5~{r4vtH\$@ @7n\o={v<Oĉcܹz&lmY >bG}4z;:J} @ @@ j?[W&*_Rޘ0=:rrIw&9 Zt5}?fghRQ!@ @@r *k @ @e# kٸ+V Aa2~M )LmI@Bf)mzumاk->OE @TJ m(_%> @ @~+(QPA`ҌT!G}X04.=0z[} @ Pi*G#~u{ @ @վN,X'FfbŶ~6(z.\ @TJjO_ @ @c~uh6gϏ۞}7n먘8mN-]Ol: ˕On->WE @Tj1-r( @Xh1T"0ÙqÓoǝnWW3[,s@A+vo# @d:Yz jJ @ @~Uth 2Z"xqĈ7'ƍO9)Xgfԍ^ۭR ߳ @ @ ]] @ @~UYinm ~oSϙ0ۘ0Bʐ׍Ϯ306Xoc'@ @@ ._ @~_߇~@'/#N>'nzcoN|~UKF9@ @U]_.𫦻 @ @@'I:ctn_[tϽ;%WǢE Ş^^RB} @Ԕn/C @TCOPjy ǃ/z'^;+m3,Zѷs @O@YX_מ @:۷ DيG9oA7GM36z&C{_: @ @@vs  @ @6~F?{*U؊Ϙ +> 5zr]ė6]-qԐ~s @մS@WWOE @% V@T/^aǪT`e_O9٧ݣ[6[;Vۣ* @ @@qs  @ @~V{ UMx?39-j>oUġm14VֵZ @M_j}x~ @ :C/zN/U]=ix)k\pf̙ ^ǿj[WA] @eUD:_UeL @*O@W}Ѭy1~:k~L=?>3?fZx΂lҾ13+d}fa9pn{6\9v>$ѯ};'@ @V j%B@WFA @5. ǯZTB1u͉ Z.쟷`QEt>+ĚzЁb́ ?bujzVD4 @հ[@W_OG @! 6SV@g9oAxcb!Е ] ?`fW\ M] ]zǰcb/Wqu] >ujeߕZ>w0[/eNju._?=  @ԦwO]e>zr,ץK,_?]?Yv5w+l}iɗ=K_eɚpQ[Ș5o˜͕ kŬ bO^X)]f4wezOa =Ŋ+tڅ]CS蕭Zm7ŋ;#z0kk葍|T;ٸnY' jZK@WOOC @) 6SW@ xZq]0*zDNJp\i_Ozu/xz4(ZN@>~"A 03ߝ=C}㺾Hvs  @ @6~F?{*P_叡 @ @bO^m0%hѢH_߿{u  @ @vՎ.M\%: @ @q?oN={~:y$ @ ~u.A *=yWZ''o~%^VOJk=SuoDJ[YiҞg^r.-$@ @ Ι:L[FͩiJ[[iҞg^r.-hxYi>y++]ړLKN哷V /+'oeK{izɩiG  @ @D@WK!AeiJ[[iҞg^r.-hxYi>y++]ړLKN哷V /+'oeK{izɩiG  @ @D@WK!AeiJ[[iҞg^r.-hxYi>y++]ړLKN哷V /+'oeK{izɩiG  @ @D@WK!AeiJ[[iҞg^r.-hxYi>y++]ړLKN哷V /+'oeK{izɩiG  @ @D@WK!AeiJ[[iҞg^r.-hxYi>y++]ړLKN哷V /+'oeK{izɩiG  @ @D@WK!AeiJ[[iҞg^r.-hxYi>y++]ړLKN哷V /+'oeK{izɩiG  @ @D@WK!*˘;:dƵЙܻ6:q{3 @ @/#@C}t&.tN`㺂;G,`|*XѴ0Ή @ @*^@Wwz3 ߝwkٌZxrzvݾOn\wl @ @. G nȥ0i-`\Wth\6:[Jz)F @ @ ~UA'i" @ @ @ @J~jX'@ @ @ @ @@ND @ @ @ @ *հN @%d+IDAT @ @ @*U @ @ @ @(Ua @ @ @ @U :I  @ @ @ @ P* T: @ @ @ @@@Wt& @ @ @ @ @T@Wu @ @ @ @T*$MniӦŋ>Ȅ wޱ+6[7]3裏bVk͋ԖG.] Z"^%.c|jXo@{ رcG+7ظnkO:! .> V]u֭[Ca ӧO?0\ܳgf8eʔ޽{>w/Z(&OiwsBT=ujCO㺥 @ @ձVcf͊+C>չg45X#nַ``o۸["=/+RST+[5*.x7[.6plI6F{ĈEOlY]Ed*B:1cK.)^z廲q]Fk|?4nFW򗿜*."2_?9RL^.N=g?ʖo~[;C{ѵk:g̘W]uU/):th>~/w}K#㺴M=\q|&u:$@ @ P*_p q75{8/i*_ײP_sO+}3{Ȑ!{_^Y)L*i1S Kϯ~l s|?cl߮ /0zk>s\M81={4hw˂L~o]r7|3N8۷o̜9}6lSl]RϏz*Zl~JǞviu/P{s9t>:~iݴ㏏=ܳx-Ha =K~/5e\Y'@ @ P*_x׳Py_/㮻^R`TR4jyTw}|L/]v%N9唴;ˮ^x! '4#О2}?O`뮋;|s7*nn@T*)KmqEE>c]>[/T~7?S}q{];믿>[Ovy,1}~OSIc}֍?mhqNc2M4)kqc_u; @ @:@@W Em |_^4>uc_R :#f)qWƃ>믿~ &L`)(,eIJK&\͏??_ΊhD=w#,M1>x,pnL N4>1ǤL1)Lhnmϩƍ;,k:D4e~x:x`qwK:KV ?+ꜛ>Cҩ oq'??Yft^i1IM?YW J%oKi7_ Rץc ~'K @ @,_Z 1䩤 ~ G0)s:Sď~l_fnݲ3<3:Pz)MRJKzY^nqI'NQ 4r!/|!f|7e Mc8/f͊}'?vi0sr ~gij~x& `}bܹ?9FTudI @ @~Uvh] [ ~)STʺ2vm2eȷS@Y >5\32%J/R@YzZ{>c ~](Nӄ5T.HA y&KX[: A1)vvc-)p&4Tu{ s|k;zQviPзolG2<3n4|ꩧvӾ4]ZkU%\oyi,TSc׮]jt.Xi@{aÆ-Ѻo7)jJY'rSc|6MSic)˝]*cǏ~5sc\7Hdg9SiY^;.e*MYISg2vK5($>rK_tH>ol O?=j:OČ7.4awK6Rzɵ{ԩfS) ~8c:3|GKK/Çg!ry4|֭[~4V,Pqhʧꪫb6/iȔ.1o޼sx<^Z<,S7,.ձ + e6 @ @@ >ѢN$ |;1r, /.]dOu]vem+R~G敾}5d)뷾>}zqgfRC ɦ~L4Eg)L'M ٵk׬F;w>cC/:ii|jX/@9u I4:?HS2eJ|6|Kuv(N'R@z*)<痔1&|c|gD)?a"ekϹi >L:qS^~8SrErDn=+rVʦ/MZk73Qu5l @ @<_'Zԉ{:bĈ,CAza`-2bT,Fٳgg2b- e$HYcRX~S^x8Ӳt,e3fL(v$7`V;ʰxtW?F^'-R (NS ToqqԨQ&|@^b=/HӔvŚk_cپ/8Ro^\²{k@|S֯4c*W_}5NuRݼL<9:i߆ns-4Uz2=/w.a\q]_6 @ @Uy}EHQƯ~%z4dĤ]oFCC.(VYe:y8s]1줓Nv)eI1ǏrH֖gYLS 3qli=S)o{8-esLYj>Oiq]F=̙)h e*-)< _(ݝKر;=JϟgqF1+?wM7GѣG|WL9_H;ӗ/Rz>i w tԸ.mWU?𱴎q]a @ @@ >Ѣ6mZ6رclI) &믿|J|~xwcu׍^u*45 2[nZ;g͚of +İaò|2H֎q;3Maꪫ×)m]a}Y̘1#^yXhQvӗ"*sk O}Sߍ׭iq-u  @ @tv7 @ @ @ @Y@W ] @ @ @ @+ cݍ @ @ @ @mfB @ @ @ @ @@ Xow#@ @ @ @ @@~ @ @ @ @ б: @ @ @ @ f_m&t @ @ @ @tv7 @ @ @ @Y@W ] @ @ @ @+ cݍ @ @ @ @mfB @ @ @ @ @@ Xow#@ @ @ @ @@~ @ @ @ @ б: @ @ @ @ f_m&t @ @ @ @tv7 @ @ @ @Y@W ] @ @ @ @+ cݍ @F=\֪>}n֢1">_bS @ @ @@9~C5 @Vg:n!Znh';x .m٦m @ @ @@{ joa'@hŋ~ӧOڹ{qhGsL,\0sQGh} @ @ @PuM @#eJgϞq}E׮]x?8;bؗ8ӗg @ @ @®O P3f̈}٧s=7nvZIN8x׳mQ\y 9 @ @ @v.I P}^xa8 ,Mݘʽ[3dfkf?8N;9rd[n4 d*m,`)B @ @ P{j=1 @@&M}z2~_e„ G6>c+M/r+VB @ @ Щ~up @K#{x,Ͷ_kq!-Z;ᆲnGk6 lqei)"~+ @ @ @%  @4#0mڴoZ={x`3F\pAo߾~+mYx≑>HS=CꫯlAt-n7HE׾'/l? @ @ @'  @4!:묬o\rԋW\qEN/Kil^ ߿~鑂–_~)iz7v JA^< [O`)(L!@ @ @M_ @믿>衇oWUV+qeR]fĦO3p:-?~ũ&ӧOVon-[O?i  @ @ @U  @H1DZ[,Qv)/Q'eJR}{^N#FUW]U dylB.9S⥗^ʶ|XaǬ @ @ @ԖoOK Ќ@ Қ7o^V^z-qFؕr㏏]w5q„ qƈ#i:ǔkW)S׿lr-w^lV1cƌ?]w]!,n'?Iq뭷[!@ @ @=_瞘 @4-aMS0S>6T/{Ρ̵p⾔뗿e <8ۗ7+[|/ݻw c)qgX!@ @ @=_瞘 @ .Ȏqg7R3"qSV%k=#VzO-B ;yG(3\@J5b]Ki^ "z+ME_<.H5?+-ORg&īA 0 82L}}z& d!ph=RU3xM%@>"4U_]@jH CAPyIFߠF|kʹP(yY:Öpb1AtM <8'k p0ā$.zY`.X@X ցjl;O`h p\: WOx0  # @lgEp$I@Ґ $ d. RF-H=3r9G:Cy|@1f:Eh4NC-EUhmBOh 11K8Xea2l>VUbuX# Xևlj8g.pG8/j|'ބ¯~3N0%8 \dB6aPIN8H8 "$}ӘF!!.#n$!'v$ɘL $őxBRii7 E {#d y1||z;iӭL"ͤfN3Csך5`XY-ZebXUS~KS(KvA+{dV{[S}ZYXLk`sǖbk+]o{]wvvO% u;P'/'SegYѹs aɘ17]h.l"LŮͮڌMjٱݼܶuwؽߣ'3sgq6W'oowwOOM_xe~~ /gK@n oh  !+2\(:D= ۑ~* =ϙ9E'W?Ȏhy<*&׌s'L7T4-:1:QS,u":q5Jb@7nMx_&'O8=anDF]oBV$MvHV$LMOy:k&_L3ISҷL nJTeSoLV9?#D_+95|fNLU__-.G-p~IV(ݬY%ŗf;^:IIDɏs99ms-.p{ޖm .Yp"E.v[zoRi-5+]Xm ee|y D} K? /TUTV|\_v{﫾Z}M++%+o ^sk&iZZ[Wܼ^*e͆>Vׄ5]Zv`M!7mDniJZmg~vHvtLyާ~ hw?ҸesO^W3~/z_~ld,oBf77ZZ:M8z_v<\sȊԣG8.=w"Dwی''vjҩѧϝ8s,s?.y]:ׯ۽ۛ.\nhyJWîƽvz7nݜzy_)3xw=½+>tywyңGw~1q'O=}=Ϥyr ً^z북o -gn{g?~x28#c'O?dɆ7 } R)Dx6U:z+Wo,ߎU pHYs%%IR$iTXtXML:com.adobe.xmp 2422 1414 'iDOT(ʙW 5@IDATxO "E`$1n]c74&Q1jc""ͨ`(D, "boCsgw~yN;̙3;L  @ @ @ @ʆv͹! @ @ @ @<]\ @ @ @ @ʌ®2;!4 @ @ @ @.@ @ @ @ @eFaW@ @ @ @ @a @ @ @ @ 2#Ń @ @ @ @ k @ @ @ @@@Uf'@ @ @ @ @@5@ @ @ @ @ *Bs @ @ @ @   @ @ @ @ Pfv 9 @ @ @ @vq @ @ @ @ @(3@ @ @ @ @ @ @ @ @ ]evBh @ @ @ @ ]\ @ @ @ @ʌ®2;!4 @ @ @ @.@ @ @ @ @eFaW@ @ @ @ @a @ @ @ @ 2#Ń @ @ @ @ k @ @ @ @@@Uf'@ @ @ @ @@5@ @ @ @ @ *Bs @ @ @ @   @ @ @ @ Pfv 9 @ @ @ @vq @ @ @ @ @(3@ @ @ @ @ @ @ @ @ ]evBh @ @ @ @ ve2S^=l27|7i$7|p7sLݵhzׯ_~?ۼ~9 ~ .t_^}UVOt# Zu:שys=vax@ @ @ ?]먰?v~^!;{G]vFRFܞ{龗8Uq~Pߖovw"S@X |w.s_~yG'aw:w\i^2@$5I}) WuM79#A @ @@ؕe2[:#׶m۬RoGy߿oo=<0gu?|\;/kfʔ)ށV.n~qѢE^nzw_s=N{0=>b9V{G5kw<~8ka*_x߇_uٗ=裳v L[''Q+O[ҹԩ-UO[^\b_N7ꦛn:蠃F:ꫯܣ>f̘?mڥKvvڵB_kB[7~[x7p?o'|ү O>~Q{ߒ~Dbu/omG/J{s'|rֳӦzs[d}oo @ @, D.EbL?O2ӧOD3QL$QE?2:GFNH׿fԆh@4_WS4(\Mp3D򋉥H4hPsgÖ=DB>Fnh4.c3+ rѣGj f<ȜlL ۾ԹF}@v>PwU e4zߨ꟣t! Y~M< d~8WYo馸3Hя~6Zʟ[NlW^붙H8N+ 7Xv @ @(;z۱SQ(F1a1zI$Ȫ aW6j欳HYxaW؞B&Kk#tR]u%Mk®9|\K+km}4nܸ[=K򶾲9y@H!p5T^ՠ`<~+XUK* /:- e&R[# m;//БW\N3 7O-J⳹sEyمnT؆ahMܠᦒQuH,nIu%#ѹ{Hȯɲ7|UQm7̣H @ @(7SYEOVm.1{ɒ%. x ;AkҤ_f>_8UzhPE. "aq~;+p[vӺuk \N&l_} \}5ۢaנAצM曻Ymƾg >K5m߾]uU.hUԺ Ek/4gth<=vwuWlK$r-[?. AxZUnȐ!6osϯ v_}ow{_"`-h=^L$rE"x}@EN̢x}$rSLm/۷-i$ p{vk޼yֶh)vuW_.׼eشiS[d @)"a#]1ekH>}wz"Auwy;Uрn׊H4墰H0Zf?Cim&\$Ķ~ [lNU:tEqߧ/y'݁pq?.r)5V[5[6~|4j4rtӴgϞnѢE=2>JJ$@̨/}mѵmWe]ܿ8Gbܘe. S/fׯ:ujM{&KBv=?0ڇ%=^\mH."|g=.b5BZxU$B#Gxf"V=CY۟~i{袗EN.r5s}׋Sֺ'ҽ%>5jdB @ @`uaI%a.%~(IS}TN. m$҃L!A嵺m*tj-Lb-ZxNÆ xKՕ?,JUV.rz馛V >K5CM=ܴ&ۺN?#ƍs.r-K.D"G}E!`_MYB]݅ǻw=.-vi.  |V;㼈6bPf.K격)_) TN>sۦ=z< JG.TNb% D{;",[p eͨ/}Cmt@js%l]i׮]]ؗj4rʮW-ipTbl{8B7>Lٺ"A@qпX-ͅmSOuTΝItҥK|Up饗:-{+&m/qHz5ܽd1FQG$DJ~ wdP[hq 4(>l&rƊ=dPk 8zP)|-T, cP(0TjLJbT&*H74[e0Tg],.D&YyU2T-#qVV0Wqֶdl9D+q@@ Db?Q(B}wM>`_B:Mg% i>MŨPi)jB%^Ȳ1>r=1.m bozs <^~PQ$z9vy" sW\qE\&3iK/rN-_PH[$$ܶ'ۛk9z1~ @ @ V4\2>isDoP`- =|u\՛kY"7Lƍ3vEFP?$St Z=6R?Yuh;-CPإ[ƙ(|Re%3fLFѣʩE]dٙB@ZC߻Q8D-;6+)8Cdz嗳LgK:'S+V2ۙn)KjuI|A/l@.gM [-I+Eg!IgÇW(_I L2%?!3xUkk.¬|L=\|/ -Y_oѴ.{6 kkV6!@ @ PԺKz([r+B=p;S3{gf-Q©\.‡s1&2QWÆ Ka!5).}<GǪ֧\]%^pyܸqUH>x6ܓ(կT& '% xJ *_Pږt;3UCxFj>/1aor`Ϲ?HX) @r0u}\=nXZn SNʧR2DqIO?f:®7x# jaRQ'%ǶNk&,}ь\.c!~_ɽ3LN;h@#@V{w={vB~y睗UTv͛KQPSsKz)y)2^Ҿ”_wuLL]wq߽̈́m^,L i;@ @ r#P. f>z0)Qׂ @Vd|sLfСmƋ:eiYbRD^vD];w(GOB)!](1S!t~iꁭh=۱I. ,_*)itDQn6+W5uԬUVJ|71BVʝĎ٦j)c[NMW؞tKIh @ \|[WN =^}O+4%n}AXvKeIXW^yeFBI&e[ad_%1aԽ:o֬ʣm%)Nv1P:3J⪯L&6FL!@po;EvfgN;,H8߷Q ,Y_뛭]&PXy*WԺo-wuXR;OxO`y4]S.'K/U=(>SB6 @ @ʍ@ $j2aܜ4اK3{fm#bܵdeM>4,ռ $4S(&dvi'Fz衙>}xN:ɋnUs2kP;4]U~:gaJ> RN$]&m5jllk=d4tI>Tæ 5k -Zz z{%$f4M?v؜vz3$e@ @  %ï$UeE(=scMnȑ.rp-[i{4 "7$mzp?o߾.($V]$rϯF>l?Eix-mD[.z袇nwkoWM4-XU"kڴk߾BMH㏩CەQ.?tE!9\ǜ>;wvL(?GQM׳gJ˄ZHh"G4Ff͚Y"ooo+ƌȍC1tuEBw:Q5ݪU+= GB5˚'uӧOw:&0.z۠@U'vH{]ԧS98END.rtQBwy1o~#Q{A媚IMHp۩֭[WZt߳c JA˕_>CQ$@(.Amo8cz&~U:uĪRzյ߉@ob\ڮߴl .%,n.\tϢg5|S@ @  Lh /^3/4=5 FVwQF;ƍs'OmiPVؼL1z$#AN.]|~TۥN;w:6Kuhwww;ӧA]%#ћ+kB.[yw>TYHX @ jKVuW'E$F @ @ʟ@Q]2JB% !;uɵb垈J% 9ɥK)=XJ"=[ܥVk۹KmFSOLrSԾgxEd,krKwt zUnd:.9}8dy!*k}zS:LQ(ngz~71[YX @ T]wꨣC=vm7oy @ @ @ @IEv5K+W:0a2e{嗽HK/mW~ ZlCn^PɹTo7n{]ҹ6$4mD]65mN] أG >&ݘ1cLnb.գc75h :&MQ~R$0w\/BJԷV[nݺGmV7VC @ @ @ )EvL\qK(sZh[bE,~F(9b!k뭷V~.'tR؁:wITe[ԥ={P{ԮVZ`駟!"gϞ"j*/XS=ɕKǡQ=;wǩmڧԉg @ @ @ @@aW%PFcǎ[3gteI %.B5mԻI5`[89g]G]'OnYr/}=g(,rd*sגJڵ>;uuIu+>m4/T{؇~%T3.]CiذGk# @ @ @ @ u@Q]B([J0qKVBʹ+t3]slC6^sبQK/VZ("R^ 45-Zx- B-s2.͚5}L4}$`p˜±qhIid  @ @ @ @ (KuK\ lY[PnWrꫯ(JլY3pe¨-ܲs׼yD^ .,ȹT&J­ve9uuݷCQ/_&!BJS_|Tmڴqr9~uL LP@ @ @ @ @ @4?ɩ+͹TV]mwRhƭ5o<˹k>V (X>. LХ}N]={tS/z)_rR= )g*g7aeה@ @ @ @ @ Zviԥy4)dƍ̹K*44箦MVpDTKB.r9wM\%ܸڶmu;lɩK5e˖e9ulɒ%nʕSjݺB/iGKmũKI @ @ @ @@UԪK I:wI\+VĂ)mٲwׯw’VܥzB.J+ܥLX4nصh…N]:u[S믿Ҝ$NaÆީKbrS;4&/D@ @ @ @ T@ Ԩ4. 5~x%7,Sꫯb.%'- %g,sxJu9wUK`$2.O:u5i$˩K1 F*GUpjӦoπS٬Y3_ڥ} @ @ @ @@>%v:Gܵh"0FB*9wɉ+D]xiK[rRs#a}=ڟdʯz;lɩK̩kժUNN]cǎu'OvgvjDbI.#e2M @ @ @ @ Jd.5H", $zRr%w}s䈵:9duڵs݄ e/>ׯ9uIԥv|>iȑ#̙3s:uiSŴR(L+@ @ @ @ @@%vMe( %W,qKaӜ:wZkŊn>tѣZj*v~]ǎ֙˜zةKu%7okN]jq >A @ @ @ @J.R+r9wqkqK9w>sW] Jusה)SD[r;~ɵK`&J:u͘1;uKb-m֩l/1R+VB @ @ @ @5 F]jos]w%Zh]-[t7~gwsq/k뭷-µi&uiܹsݘ1c|W^yŷou(DcÆ ٳgO&/_ĩWE!@ @ @ @ TkLإ֤9wVs_VrڒKY%'vyV>͚5ˇSҥx}G-s:u9rwZt3.Gn]S׾br_?0j@ @ @ @ @&֨K ܵxb7}t7j(K/r TrԩСC]^D_nIl2 ^!:uM<ٽN 5jկ_??!.DP @ @ @ @X.5$sׄ ?$o˜%箁z7{W$RpO>q6mZt0` _Y^~? @ @ @ @@,]:4/»h] .t˗/wWIri]ZrrܒLIa%^{͍3ƽ ީ?ղeK׳gO&GN3֙;W8; @ @ @ @ "(a'e­绉'z.lIܕյkW%ݻm0եr:u8sL'.%-4m׮/z]4iU+j @ @ @ @ JإV&$Zb֌3|Dwr۷ثW/' xs级z;u͙3ǻK5×\TnСNN];vĩ+@ @ @ @ @6KܥsϹ^zɻorV~ܖ[n[-r 8rH7k֬N]=zpSWƍq| @ @ @ @ P2e)ѧ9w}Z1%׭Ν;޽{]v vQٳg;en]r꒳WҩEN!v@ @ @ @ Vإ˹v'Nt?:u[p_{V]ӦM]N\]Æ KqʕNy^z]v{nn}q]vb0mSW/ @ @ @ @ &P.|e]G.9w-[,vגI&u^mroܷ~`ڞռyЭOC @ @ @ @v,Xܥ/ҙsm%̥K]nѣws8-F@XT?M6^(].=@xֶxd  @ @ʁZ#LLx&ڪl{9rj D[ @<HձchL[AVE`d :t8T@ @ @ Jإf®Π_x v a٪U+פIrT[z3M`7vٰו+W?؇:ֶ 6u%Vݿ=@Y֖-X @ @ @Q]I1U.T*[H=a./߶cm?\::S]9(fm6mZR"JJ@E'P,aWذ/͛7χK&BNC@"PWE֮w߹ ϺÎ[ǫի: @ @ PCvp^ ))JR|iZ=YɼZ:UzUWYYjU)_h;+˷b klݻwQ*GUٙ`;  aZ9sFv5k֬8 ZJտRJDo%²Vfԩ_~X~w!UB.4tInذauUnݥ^f̘>쳸w?x@ @ #$2єMC0&iyՙPaVX./|!+4(~BU9®*# j-auT[N @ԥi?7k,o<9ko /w8竹T®%Kn7}VmGvC I/ +!@ @r+/#i}.qTºSOL^kd|VRGXFVW/]muX$zgݫ6`-7BLg?Ϙ1cܧ~$Ps=f~m7eewwڵ˗mJN6]jҸqcV[تRoUiSZgy͝;o:Ӳ\_~o?cbGxDlnС9ו |{}rJwM7-ZoGc=Cb_m5>ӧcO<ԸR*ʊ@] \w׃>˗Y{vBk.kٮgϞY7|; mb?]pnu~C?4A @ @Q]u *[X\Un=xTn(d]\r{}7|bEs駻#Fx8%Zp~BsXҠҥK4h`/B q#A(')R~C}k?C}ߢz4Y}KSN9%i$vFf %p4h{ꩧ"un^ ]tj{$Z3VGy;} MtxW;/lunV'AtNy_UV z@K[KoQ9y̙]vE6-fmmXW]|M`wv @ @ P]댰ֵr/?d]Z. .w{׿\=b4b@eJ6]:R5[Wډ+/~8ӎ;{1׶m:!ۗ 򗿸_0oܭ)aWֱTa6d/v]vY@ @ ®J5&] 4gWU+cW(z'|J+zTO~bۘB(VRo5=?x&\]7p{թS'wGTʲ+-p)BVnFqQ*%rͨicW(ݩZP%oIL/L6͇ޕBu݇߿N|G݌3k:ww_ׯ_rrN8Xƍs='BX$m믿]q+$g}ֻMܕ6lz? /-_e*dg}\r% opgu:u$XJKrw NӒ]tQ8'̧Ƀ$Q8? 4/B/'Ayxuk$P)*ZKb4a7]w~;Z^zY> keqx,LzF!W$n $D:_yۖϽx]~xޏ~#+55j笕+Dbۼys-u[zK/iM"f @ @*@UɺTi.=֛z3\IKf׾} 'Eo~駮QF- GoԆ^-ZT)|pv~ա5`gv~׮];}ɒ%~B-4imrzz\oiGz N_ $k5Ros)Ljǻ~=+:v]h{~UW9%D UߢS:vCN rM!Emx:Aa*ҢE(M0mڴqtݺu P +U0꛷rKԵ>tCaתUvp$ȕŮ'g/խ\54a*4.71rP=HB;>}4`֭[Ǡ b?i$̡cmժSn!!A!` ws鷈ݭEBQ?pM7eU9r,ᓜzKfeIv-i( *x}=V;w$Az(i/oa@trҥA͞=;Y^C\iڦ6Zs kd_֤~D{JrCoX냬-N>d[tvϻxbesjcZ ]W>`tR\]rTeInU{챇wJ ҄]rչoߨ/mٲS?? fb&9Ic|$4R$]b%̒!n6J4LŸ @ @&+:TK)bŊ @o*@\-5oV(z` (\O?݇Ѳ—XIaB 6_xᅾj=0_%ۇc 7ک A-V-UfQor60@ަ$4C=4TGhK'O}D?J6oyN$~V2 $dgi?q<`jyN dJLL@kPT_2 ]ր\Ғ U(2ɑ˪B MdQ1ݛq/PإAU9Wh5tn%Kܺ}qݗ}9ꫯvgqF`,_!(uI8$=kI] ,aC E=&QkcI߫&8Q}*/+(\?مa~ϩ~LlNL6 ;2[BbdfyӰLU]{^ R+.WBhKH+AW+%>GbH$gd ]&A~׆a%{RQ2ڱKofzPxB;w'ӄ] S,Aܥxql]%Qo)$ӽKzz5׸>/)OniAy} ]>:$XB*쩾t)T㩝Pإ!Ԧ 3g_zT*+ @ @@*]XݕH BԠB<̬vAӒze.Ç yW A VS-Ufs,mL4f2aiϜB\SaC뵬R:Se2Eurw0^Zn@,tyo*R(% AP@ 6zغ s]wyP]'!C j^5KRA.RFOM$"&UևBs'Ç -.,5qQߗ+UGؕ.[?dȐ؁K% $K;$d>]Mꪫwc2ws_t}'SR%:ȕR%A.B>C) ¼ijʔ)Lu]V64AI?bĈ\Y&RM kJ.dJbh1!UGukןCM8W뽦Hy@ @ 6@ص6j[0҄]r  7B OK!2|lՠO<(ڶB]ʫ7T!$򒻇ކUIj®TKտio@wHp>?p,N \8e CDNa8v>% E"d91( 6@rGuv9l(Bon*+M 4a>NRK}Ή tcR;UhX'R[ҽ{w"I8~/?؇ 4\IBg C.'r 1PeSK P{Jo; & J~o+mc/s=>[-L~7Pؕt<ݫ698Z>7XcT.rhTX{ Zj>MDa+QKׇ:&}J6l.)%O(LHdeSV-\l]:7Xr{ox]w+vI\ )e]଩K:Ӆ׫Ε! }?pJE/EYR9]J:{ c  B__) U9X׻  @ @R JŲ,FRإ8H&9cz rvi>K]vAڠ@Xzk,r(S8 k5Roڛ(,RįۻnɅEe vI$׎-[Z1?K:묬4(>LIMJ̳]5k&,l%;eT̿/YZrwyw\. x*TJ¤_)ۮcǎ~>+ / `kSB v@q rJI+4P 13I1N(ʵ{DJ ՘+UG%a~eǹꗈ6/&VWإׯUӺt%P uU ςVJKR.>N~-N:4aUru |8p^:Ru])eeΘ͜93m~]1]i";6W ,U^$%W ]79}h?O ݘ1c{(+ @ @@*]XݕH ɤzzZ. Bk~I$@Aajߴe˖99d(i~GC8`y'dKjS&M y֭8 v>mPXm6eǝ< X®]B)ְ)*+WPL2 Cg WlT*$W Y@j9ڋ. eضN8ղB:n)*5|$veqh]u) oR#ʦM&|q?/\ºBaD2(OŒʒDqKk [IZ 2  РVNC*ɹ6!0-vIh/'. %iPbn\b<+S aDVo,6h#{ M ]/<БҊy[B @ T$"uzM0. l@!y.]"|I. f̘:`x=WB1VC-U<\ܤA5 ٠aRTKn6P®|m2tҠAIad{8%Xo՚/˄h5-IЧO)K!~T(~u׹3<ӯ2eJ,+tB 倳^{yqĀv>l;S@~#yD.wFP)RukM B2劥%U*aW(7<ϟPؕOĔn(t3lD1) A$G *i1K/;Km;s*ڵw Oq゙bBVPuP,5pZ{M6D>}ku]a^q @ @H%+˺TKn ̕CҀ;K®\-~2Z<@v&U˫Cg=*uZa6jԨB}vd6СC!hV۪\ aW8:x/NC:V\.HL _$g3B]{=td jU Ϊ 7rE(VX/ǯk^ Ei n)β&]XC>]쳏SH8rv-W{[MuM^KDI?+"N< 0:9{~}1]LǑ#GfPTN.}/YU)hV#>u. @ @@:]\ٵ]<,dW'LM!.s?~nĈ~Y!IlZafK8^(O-IL6M]BUWإ)[4O2e_LumKe>RZ9nܸXua{7_m?ݏ~#NW\] w};#(®:I8$1Iz|?$CZ~=CI%G)9K)͙3u͚]i1] ǩ߬ׄQXUVƍr7vmNmRJ Bn 9~x_>Kt]uUU /v]v/ve]Æ se*p*ԳνR]y@ @ TR+K5vM4)`W+=VLW_sE% $@`]%k/UNNᄔrg;q¤ sRXv-&c=Di);RE3ӦM4Ax&AGFPDkR.'#哨B*EbXSKXnԩ~}>qs Y-m2c\g.eYf={&d-V 袋~L9 B%q;3w\;xOnrvtAG x3z)DIWK]oZRJ $8G}4%џv!F>`%]?D[j$ʕoRb~zL akDnvQlaWC @ d@ؕc_*FRuwo'A}GeO?_?c |AC=oG1XG Z}Kտ\29tKP.#-ZHu yֶ+89}^nB4PlH%AGTF!Gx`U/xK}$Ph0 s9ꫯeL]rZ`K:3џb:vɉCUIΝ;ǡ7tx^%̑`E ^[A&Rx= d-$~ߙ.FmdY}X\Uwt2P (w VWI 5lлDwla)W_ &K- ]R*%#s2S;.9h/TkD]r+7VDI{{N9Et7쏉,!ɶb 'i)L_Zo®Z}͟''H*& U-RŸU  @ @ ®t.R `$]z`M4kPX @[IU?W8=䷤Au=b d뭷]wB18ʐ®'T[5ի_~֕! ;ꢰKIab;PL`O TT,aW "Ygռ'|}Rm$*PyZBwy'vITplVS@p7 mQ(UFԤKn= \Is.9ɉY!rӒ.%4|fbxa6 BaO RVH֠AEzk"R%Ɠ;YeimvXCQ^Ǚ()Ǝ^ɲZ|U&z}zׇI19JF.]ԋIإvijCU=ݬ @ @XMaWBR `$]j\(9_zFaWo1Di 7!:v 4M[Sa׈#ןgOoj0A68͵D*7hӒDk09Wr PV*UW\q)5a̙[o;LWh,. wqGKJѪU+'aWZz7-dZ,a[X"5`?qD$cb Be˖>өnfGLrִiS ͽFHv3(:R6gq'|r8JB}(Wa%P+ԥ.>:aJ:xNW2!1a*waTV[|qڡF/FCa p}0QGCW._BPx&38B $lk&̤ߎ{tN7onrۗ\Xդ߯aB4fUr8\$1O<>M(g/6ڴiS%&ӧObG1\Cu]]a^A׷ K"D]ȕtl߬\BRg鯝B+s뙅/w+)Aڄw l1in wjrgU @ @@]Y8X(F+} SNqvCUHK иqcFmM]M(t\Jvg PNv>ߴ7oV+i`M}DPuAإ6kt]wq%BVI'Jv=XZ4i2vi?IFn!C-G"$xB6@ߨj=!.I%g+f,))<Yݻw]S%?.>\ҥSRuz/%c@ @Ga׺wq0$қܹK/'Z#otm۶UTw\2z{V!r#wU(b 6 gC?ADPi R( X fAEA)/|';f{nyM6rdΛ3lק&|ʶ,޲B%mMŗ{wFy*".΅/DIoVx,qģ Qnb )# U[?.xH~{XfW,B7>7pNXb239/]_Wyɴ /ltyayTÛo~L B _.C<}U!m/~\p74 fed-#v9ڝ$ w3!UiB@! B@! B)"v5EjbWNm8q{l0Hv!WxKkRK-5H5B@,8"vQ|3f/(=iɶ#܍7.L9^ E"6!6|`Ditc{IIDlՄ@"L6.HYf#Ix vW.l0.XqcJ-B@! B@! ayR*bWn'# bMj|OG M7lnu'Ak+Qo}kQ KX<hX*0QGvu"g}RآӚ@!L#`Ͻm:ӅUᄀB@! B@! B`jkjfaCĮ_*C@Į;|RkaK|ꩧ[nym y\r[FZznmx_wYgN8n'a-(DŁƍQ*B@! B@! B`kkhMʀ!bׄ+V !h뎪hZ ~I'<9?[mUmB`6и1R ! B@! B@! ]]ywR "B &5u k6}/]]vYXa "#>6:*B`lhJH! B@! B@! F@@ĮŨ2`5GeB`Z6m@: ! h3B@! B@! B@# b1t2`f"兀"vQY:4B@ qB@! B@! B@! bĠFF2`tB`Zʸ=^B`#qc_! B@! B@!0505ZȀ15U!E@+FWDKI! "@@"dQ! B@! B@!D@%MRE0&B@t]ѳ-B%B@7fU ! ׿s2z\s9uAt O?=r-}j^ [lEߵ?npgrpݭiTB@! B`" b"bˀQ ! @]3 ! ʸJC/ZjɃ3ae-f# ʣ9|c ;Ü &n9Y.a5֘s=w~[G}ךx;op߽HwWF>he -\6. !0.xgL_}?1G{E<.B~ K,&VF@Į)˿+)M! -]7mH#. |Al6aV+O!0 ]71s\vmG)L=so^kXuYI5_Wᦛn*{ԣ%9 W\qEf}]ys 1nưꪫ^0⯾8&wy"7޸l/M9yN8餓4̬edٝv)|".wZHk*0d: ˭ ^93"ΦnZKhr }{߰k'=Ig_~w+rsg~x묳N~}: / 7|КCDz#9t|%/&A y_?;][b1dw!=أ2UVY%@ aĶwUWWh/;q}B@]7dJ㎛\[/.B>zS}lY|#e>zN@u]06G<Hw\a.:<qeW3B`\foDB]Y5=蠃~8sp{N>Vb= W$2ܯlH=)Y>ŭ{/?"٬2hE/򗿜o>.kli[jy'k_Ze"khh7KWE譫i"6ܠEujQ?#6U[z^;\0]1m:OYgw{Sg1ǖ]cc1&>#Y;N墋.=iO+äwɝj8Ƙ"ɮLwLo[M';2}_?}{K}sml\w:p>r`8#ZUuZ[7ƅ{KF C(B+EU)*B`ʸ=T/}7] "v5o A^d}C͕MB. SsTbmփI^C}̇DOsmс?g1)bW7Ib!uQ&M 3*a0[o b-]#6d>E2 ,r.e;iSW6.!v]{e{wڜ7J>] ڸ10/a*lk!ٴߢՖEj_}g^Im6/Mpܓ܉|ު>&Yqww*>OgB1u>C|R' ?:+W{Mq½~Mwl" "U!0te芞S]Ni"vEυmRB@teyC|_.yBkk!t uTbrAc= ,po,+nPϢ-_Jy &:qoĮ-JEj^C&vv "uy]dzM׿}>NĮi*L?O?lxgrr@@ĮgSG|+>2ւq1}"sJ[s.o褘o\sg~[ E1!n&A_ K4O>|O؄g'nIY`.b28h7Nk.]pX]1`l`B@!Еq+zv%JB`ʸ!btIߧnTb}%gYmJ7\/[bKcυ=\\ јT֗nfE$,x\җѺx$;@IDATV]uհk$.세WЃTG=*ׇEuox\sqa3Do !~]w@1˧>stf/| 3qa'|_ zj8묳qu- o}=9' ^ehy.lVŹcNPUgmu?τy*0Gd`|e b w$N>Q\h,O/}~"?|-/!z)q{\X${ׇ>svکN_UgD[0g[},ϭJ'S${nVc9&DoD᪫*S掴iQ^~;s_Ϲ΅wvDM>VQ7 E6E2.x>g}X(0a i9=㋾95)K-Tƞe1scF_I_gg.}N!nfAc$uK7oqxCvLnw[~>Ow䳟lxK_͎w$~<>~ĭz=Q~W76H$dyo=Ï#YDnK2&aχ׶͌clg.*F~Dx?zΙW \P ZA۶n9Y֮:0[zVv<}nSa3fPW\1o+/f]>}w+Fi3ԓq.ga_q?\!z,DEBvx^Veb }4NnY̽S3b^DɳJ?b\9Ca~xmo{[dh6',63O^7Э~qsZma Yk}Eh5cPU'Qoy[w 8sb88oxY_eq[m6}}O\:߷56ڨxgC=yŘ?$(ާ|m23o9mҧ39km0W'>Q^Y] ̛xNѿW=þߡZeg>>2)y/_׋gkC]h޽r sa߹,桼GQyy+^1YyϦ]|rJѧ0>3Jz0~vDa;>;!k pkv(x>xs|W%_WS_Gy6Q$ \6܏ v<Ǿx-@"7{o^4vf pw_/qϽWq=.^}=Jo}[-x1)s =}q>((W,<6<&ǧ=i>۾󶺓 HXˏx1ن{;>i'{]i9G>R Ql4I?^ '9r ?"ͳaiGUӧy>h$w||NZ^HףQr CN@9'g<X^ r᫮T<ӓIz2F3ו/IOG8$5ōwdK 1D1J:ύ-n3~n !L4~AFee2^;neO8ʲ;7䘶hUV=ҿWG &HGZ7±jΙd޾ ;LGD,8y$Y7ދD2N4L紷byBӴ,ov3T-6{A5\17|ΥKFgϏ1Ƥ2Jpo2w}?gXdtRW!(ʸ1I==ȿ0"/uv ,X1Rm'sEiu4v& 8G,⁏1~a0,R`Xz|<޹eKCG! 0Lrܨ+~i׿c^ߟr#vEoM}!ZaP,l:yr2Y(č; [F~Z! ~,/ pqn&"0d.~^{Ջ_p/XHU'>,w>$yGa}I1H_UXhѨJ۷ !g{x]@8k*Ջ]"v-FsT@썼aҿ4* CX[WIX=kϣHYn7i{k0ay?Ofᣎ|Nz聰_^Fi3-n36~AII<;cyJrl уEY7=cN4"vяX~K٭(mwsˇu;ՎֿoK)'UuKb|fٔrqq2\̝3i@xܯw},O~y:8ϧ}@æ}-(4]kar2E_adӏ1nh; |=J7X]! {|hDǷ}hN?`ϕ߮5ۜ%18y![(/8po:S$3-YSB@:]7&'BK8_ ,-ʗ8&f^R/KG~u0#v[aQ^>-MsR{LM_HO +nf$E>],B`Lrܨ=rL !~/,Yq 0h=+w| u_'z#&y_Ėxb=-/!ID$k6 /$/ĭ<ғd/ʶ2}6ڹoXo/C+n3]2͂-_1hz ڊ72PE_rqbw1 ufO2Ya~jl;5NA=z:`͡1}"G~~QчoJ @Կ?A9!}*ʹ[f!vy4m=Ga"7x?DFOd.ۋE}'?o&AjZ!1 #'OKmwkrߏimڌO0FbuʑzB!Pxl(2|AT"vٸHy0# f9cR\Y2xĊIUak>~w!+=v*/ 0H~2wh=u|._60޳+6+þ.`-R~x*d/jQyb򞙎|Lz}80xWCKgS wڶ4ŝ9K٧s|ag.{|t7N}\Įq9iMcTX$M"2[Ş68nAɮ^,aPk!/%2/iv–jK._|1LWx/>m ! A`F^쭿d36-Lbݫ2"y#9C/oU>=ƌom1) 2[[a]|՜&jHtyBz~/3ksu GtϭҹY#1yhGCO"6/odrgSb}@Zf7gla!ʹ!Xp<3HѓpR mA?Pe$*ȑ1apϓ>\DiO~N\{g%a|x 2ۗ7W-a?u.0rի\{#H*Kڬ ?yVS}6'۔Ks=҅cuO.QǖI|y23;m3Qnxr/qOz.T ڳne#>s2K3֤'a~]?!9'{!oLX;־[A)52,ͻ*ٳBhQkà Xw<>l2G&A2-}yܸpa"vEnFMcFU3@WƍIF~xqlro4qo!8?oV]$979[06 E{s 9tM!0IU*~+CT@i|% \Fԡ"S#>l/->m/R{4H/Bvʉ'smTCTwyMz^Y0]UD8.i!c>χYG"D6DfL6,}~M$Hm;찶*{1A4vh}GoIeUs`y&~d.şb˖Lub6.k7G3֤ymQg|z``mX1C; &Ҕ= cQ̨c8ڌ'b 2z[n>0ϲr]tP.in}Cjط0{kZaGm3m"Vԟ7GO&yj3TAҧoO6+ 38a0tEqs^&,o6nx⫟sidCK+)yOt[˛4suk{ކ JMzճl?yV-o|Jgds >rDx?,q?ޒ;ia/->-'IfZfF}ߣGf/b$j4Asye=6wNe4M?A޾̾?OĮ61m\ȥcxn֚,,[[غy:zbר Kx9]{&Nջ'" ':Y]oUưų$[6qn(b׸xz`8R_!ʸ1I==(GDh4M̽{x>4]E^aiXG|X@կ~ #v ^$s%K"7=ꨣ1!5rZLK~'T$}7A2q6o-0ߛVlL=N X߭Z4DŽk= (2,ͻ_zt6,)>C;`.dmHi<~?[ 2nGǍ8]FMJ}! B+$ p6*bJ&|=0ɺbY "vAhkb8?;/BJya1#ǹǻj1(B@ALrܨSc)/pf_JӟeEvȊxCW\ 2l}3hJ"Z(gx,Ls2!l'`r"œL+˓X+W^1MUkzmTIZ|hJbM6D/VVn}'߶$G:2W1 䄹a1gr{umM]<hysxGhJD/3LЮ-~1§GkaalJSbwWi3x bxΫē20x%*d*w]Uo ŧߦLOSyO*.$@LgGIfayVǫ0ŭ#&Z|H_s5o{u3/ǃ:ʿc/XXރ?q~b;hguݦ{rɠ\sNKyB]ˆ`8aUtzHms Wͱ)ӰF990R(cK./OvObV:rK63;7?*AqKH;gjqa áIu4'=7}٪bD\kW$=,ͻ*VnAuaq@X^ngeeܸ2+aqOw*rP:B` L ! 9]7&'Ul=squnA9ͲѰ ^Y?C wv=@X==]WG! fIUHb|>5. Hus_18mSO#^Sra}9QfTC* Mu׿^bn[ܑBoðd5b'-]Nfu.ah\[2B'w u\= ,m+yUyzmh&kL]E:5%vy"{fڌ-n3 wym<❵c})\~ EYІަLաϹ[20^*cxX}0oO;аZzs ۪9<_OdB02=FH8O64\!› uy9=SpNXڻ9ρG(3\ bF?[%g$YX8Roxn~u[FM ߴ/el1?Im#im #ޞdmqң' 3>Jeqa +C6ka㸈]/.} ,":e{G:[e? .91#rAzR-QoI'F*q65܄yON8GVja$7Fakkd1 bW>0NR 3UExaaRb7U}۪<֟W,'QOxaz aJUixp|/m=عԈ0ۄqaǖh3FRXbxsyliu^ڼPHu]+d z!mo9U2lI,B|u ؆L6._'Ako[3%m^ -}~-v~:U-OeOۃgnWfF}߳ $m-'+sAb}tո{F|i3 ;iS"ϸaUkU(CnpQ9H巀K-ˬ꼯Yx;1ųcXgqlM`QLdhѪgo>LsK1ަ Y=cou9mz2Ze\!N̴*^0fW%כ^(D; UEB@,]7&'yco~E%S8o/{bodS/a虦]H/p/P)_ ~b$/)]w]9'?Zxx7Y9m?$vm>qG󝜷21}҅l$/ǫ s{T2WꪫI52{*6[1BjL!{U ِ_ -%vyoc9cV:D2"ml1LNݽ9&3a]="GKzIɳac#uǖ9aJE# 9'a<cRbs.Ftkqaǖh3?Dx cv-#P'v؜j[A bK^EkmX[mчym3>!?MX#2I9O8M?D Vѥ |hkV/1=mujЧϑi4ǎ>Ͻ R?'yl2wk77ײZ$5/-oI*~KW*i3mq*P:Y LS•ǽ! OgxSo-9S.׆ߣhN̨{^Z 6=w4RoHqm7ѿj/t.]6i=\#/0Gtk AcGe\?ObڮsL Fj1Y& ~Ut `c"({c&xB;Rs2].N\Mb; dC9~$g[o]oGIьu^:/BW\qE83q sË }cTnS2M!.z)'$ l7 j?<>OoKެ=Y{XX rDeqmsᤉk{r ܿ/- $Ë#}+:@B>]x|}9Bh&_i}I*>8ڌ-Lh38:ؕDI .?R~ }mƷ9MoEG\ᅑ }N?9w&h+8* =m3lsĘg! x'a/Oy~ڌ/7r$s?O#m\|?Emֲyܫۚ~09 };7mҷ_xyBg|+ U%mRHȣ^\7j< 0b>\̓/ u.Oڂ):&W/?5sG[rm+4 AY6.4k2Eʞk3m:\}x;^wsU.=5i{QGѷ'G 1ަ0,sųomk˿߀ID?mwEl9-g=}eIk[> Lhwz)ok=0s<2Rg6͕-FPcw>tw~>@ڣ{˨2'ǵq4:0:B@,b2nLROXkxcgExBtA^nΣHUUm-eYz^xc! ~QOEǛ9B`LrܨӗE)[x>#vah IUq^E쪋=t`_|XS|xYP$'pB9]Ew>yk:vE=ZJJHosy7譜uG| 4uEuV&RbqYد 5եE~^|{ڈ]oWUn|ߗs9%cUm]F!U8̰c˸یb < 1ՍC2J:?]U\4*ҟgeoCdU},CsO]|aیmc=߯;myMVƻ:iC€iu19 Ҵ Z!BBN0[|So!IJĆT%m]9dVFp缪֪|WWI[†o3i~w.q>hso6=AeNm49:ؒSӁc׹iVzey9Ϸy͵Q2uYdx^{ʠfȺ0LeA7mm a?S|.ZAa;7˓rl?wU>cc: F0WWx}gݧGݏƍq5.$g$i1`*B`ʸ1I=|E]U/% m sIr_֥WwAj46b%K |GҖ _)[dx7B;MW9&9nb05JWbHO?du\5<<џp$_bW}Z,4U!7 Ǹjy>Ɂ11vv|THK(~kB_^'V&mV/tY56\֪QW9NvȾΥ1k,C"2pXߩ3z61<蠃$xnUW]U&k(G3GqNήxMX;/w&:%\8S7F#Reϥo XL꼖S1/̹ $6}5<8 Ϗ7-OnJ@_~a[潆ccG̷bNÒכIχbI4-? uQ9Ojuq_hσ5As66>3Ã>RNÀ6{J!rޖ~BNo1χ !\X*Rw.Hȉm3.!nrIRq1Yg=h/Dɨ;}!.nW1/HLSK̉"y)D"cx] du]ST1]x3Ї>47W1..2͸0_a,* "9D,M,0l])+b x<]1i# +PR$EiVfŻ:d$[/| d{oxBMjxc7kżsSwZQ >lsa7H1>~TB`@2-4W[F>,32R6Ƚ[C.jMC"ĭFU8! @$XH+- 3d1p!˰kB܂(z'/F&^f>qȋ G-*bt 0fzU8! ʸ=xN[#_W_̶I(n%6QG!)6nt (+bW*I* !05Oua_7x< >cYH^?] kO6lSx6/~B A n_̝^J /b\|nI"AfmVxpho 53R>{1c?? bx Wm*BKte]UĮ.ՖtB@!  . C#"%< xbN,GQ#»{eYf  ! @kDj lFc6UB@]7.bK-2lr<_W ! jʸQSSN9%[MS"B@!4dKF"5;6pd{^ŶÚkXB@DDR3C@>8C!  Еq+z[B`BhܘF! B@! B@! jwSW*B`2ntEQBqB`|hJI! B@! B@! # bW{f2 3Y*B`ʸ=筢B@ ƍR`! B@! B@! 'D'` ]9-X2ntEυE*)7RD[! B@! B@! )S)&B2ntE)b$XhXծB ! B@! B@! JV!0.]7g_ ! fZ*B@! B@! B[VQ@IDATխwmewB`ʸ=gqL0]vY8ӋܶfjM(s K,^׆W\qaRB`и1c !8vma 6krU6B@! B@! ]\-&F E!ʸ=Ҕ򗿄n Z >؄SjgRrlɤV>B`Q qca[nP.wKXzV!y[o, +P9yN8餓£+3}%B@! B@!kymeG7B A+FWLڟ{׿B? )$bBքƍ . ?8W]uUX{e6+^#Y!B@! B@!kW~2`P5! B+FWyڮO뗿eI2{+_O\'c׼@D98n| _()w]g]ox}{yo\я~4_.q\ozӛ']\{3oU޿‘GYs6|ʰqc!|g4{pg]yau~~_+².;j/B@! B@!kW~hkB@!0te芞Q&b`mg3]Y* 0K^o(XG;\ }.s=rBҁ!K / Q? f\MӟsA!"-o [{"lmy)'?E>UB@! B@! # bbi4`"*B`Vʸ1I=?K.G>o ?ϊ뭷^a,ƠKMo( #`s la\=_򗢬`KT9 y2'yg'< ~peJ©ضk OyS 5/Gk~pE8ӎvJ3⯿a*tNXLLrhBtk-,S5yMx;Ðo^D*`̇Gtdle믿>lNXH! B@! B`!P"=$B@!  Еqcz-zqXE"TE/zQۮs~{W=MY# IB}a"=R}^H{^_6?vul_L22{ѐY6z?я7tSMUg'Eyp`x#̂|[zq믾Ps1ᕯ|eqo ~K{lNx냆=a!s<+ϰ(υ!/}Kq NK3^z^{wF7M1_*1stM(xnsUW]m0v͉76cVկsm 67-|#9| _(OK|_CZ$a{q W筦LT'B`QM>0n#80< iuYy>`w؋WE=vw}5Gw3YHp f$ǯ:4#qhN2\_ ^SG!}sSְ7Ryso^.|z<@z~3'c&W>9x/4^͹ B@! B@! B)W$w"0 _ߩ΄B`ʸ1I='%']eV=q!-kxZ{^UZk+՟+ edvk၂kH"nu'< qٗF4$=rY דHd\rIqm~U .xCǯH ˅xP4db\%_Ӳ.k!RxcBܶ/ĭ{qk+delj*q c>Q7Kxk_wƝ-آPI8S8Wvaml–d1&y10͸%n'ƭ1w䭢ݠ3SϾ 3_$Bco:Mhqޅ8!~ܪ"[asLM·%vY;XgX@49PqdhK#zbt.B@! B@! # bWcGi4`,UJ! @7ʸ1I==H^E<(q¢am {U:^&%f$@hKXEc'Ajgw#Ɨ՟{bW|;GǪ~%v}KdZO‹TNhi5O,vѼ(/q'|rї3Yvd[*iK{[2'/ӎd6cX&C?7w< pN|2{$?5,vvX2g<I!vq`13i3:+{%(57l൷F%vu|kw.F?721! B@! B@d  U!52nLR&:bmCVSF"|!ocfVEb&;G"cS.̎;XWxeixo|=bCyr',&?E\3C۸4G󲗽[P B`FaH:y@{DdaI:tHuĮw٠( 69g}J=HK+my[w A_Z%m]kN;3σqI׿U,W0m48 1_"B@! B@! " bW[f440fjK!0teܘM7]iFA x Im̸|-~5'B =P|{+u!=.ä.Or¨?wuy.94xE f MaLxeOjirKmЙtr6!a][e0'y{0$vO|kybW:VXDObœ0ni~CEDzwJKwXb 7Pۏ'`EGy1 R0R 6;(nzϥ 9։Ѿܣz[VuB@! B@! yo ! ^2nLR&AĮo1ЌlFD",܅?A靉{~+\ZMyśusꩧmI}O˜Ilx1YnA"ai#7)3mI.2SNɯI;;vdjCy} ]@NC\2[ !0q),o}l 2=uĮc9LI_Ym]>'^'*22~?&92ArmeQ_\{l]#&+ Ac=֫s! B@! B@!0"v F죮 ! @WƍIلp3EXu}_.f@M%~.WU<PZaד0C^:2]2#ǻ M7c2\9O0ȅ[ou_Fk/9/:[Z9uIM1c(A7 os'I=2~Cd!ySU?Ed9ʋ'vgoH-(K1qȈ>,{;s/Oo6Ukӿ[5I>Gڂǧ\Rx2l[ /Ĉ<!nWÎM]$hZUW]U^[hb'uw+҉B@! B@! ElOc!WF+$!巕南T~G_ o`KJ"OeRgG3]؂JBizCVG nDtc3[& TJs 2җ:a~ꗿ- ;6!vُ`6`hG={$vze.B@! B@!  㢘Dą馛 ! ʸ==\rIp K{B4dەh"!'DPXwuz׻VW_1?kf_R]tQ7!K/]o~p{+lFa*MI$hLјVYe*FZEc}Q豦h.pYnB$Z#aTh4""ĭ&ꫯ6dz5LAl"0F$78п$5V[mUbr-C$`ғH 'pBq94H{]v \'K!s9 G兊H qk°T{;2L$Hl- *D2Ty=L*,a"*sN"Q8|;d!z0_GU12FUɰmt(?:$<'s9I1AHI!B$]ODbW%җb ѳZD dhOkZq9 BDVqΜp1*HO}S'B@! B@!  bWf840fnM!y2ntEO gp @`Z%QlnwR V]|ŭ[y RSȊ$L!0F'X~ӟG=Q}@d,[v/QJn3 ѓd䩜{ᵯ}m܎ ѫ^'.@^ ŭ};<=Ro}[vk1z +d6_簰2]ڐVdvkwR=ذ۷yU\EB`ڸ1}ƭB" oBYg6Rd *A,[dS1U˧I>njdUW]u:»D7=NRpN^+!MJSo8:\">@׿Ux5fbӎB@! B@! Bg0 B`2ntE?\xVG[nevmK,1L(B@c(L&qQG|V@ &季B@! B@! B-"vEnFɀ1b !  ]sI ! h) {>~_8zW^ӉB@! B@! B ՅZ2`Lle%2ntEh*B`&иj/~?2˄78<K.d %텀B@! B@! Xص(2`Tc;B@!0+ ! XwuǞOpRSB@! B@! B@! RDJYeX @B@ @WƍI)bא H-%p&B@! B@! B@ĮNU+;)D9! $ʸ1)=EDSB@DR+B@! B@! B@ŀ]( CB@!0teܘ"vMqcjB@"vTu0B@! B@! B@!P],˓2|/V|Un! !ЕqcRzuG [7C?x֚## bWB@! B@! B@ bD`N&2|wi*uteܘ"vZ.?{vکB`hD2EB@! B@! B@" bW+m>U{>ˠB`rteܘ"vD3bE@ĮZ*B@! B@! B`q! b{" @+Ƥf{M7c=[G>hRR buŖl,a !0Uz3j^C4JFe$$B+B !Rd+ޤ"!TDT4'J%:Zg{=}YϽ{5k߳ݫU3ŋK%BōqHHHHHHH PؕOz۠6 @Dejvam H]#gIfԩSH۷o/SNի ׭lq M>… eΝѣG˥^jܹ;6#)Rḟ}ٴL3.훱! ]!VP|/ @f Dej 駟dݺutݺue}Myft+Erld]V~W^F Ay夰qFYh|ײ{nPԩSG妿KJ*r衇ҥK?]vɍ7({cG2eo߾]֬YS9c ? 6.~`?e˖q^z˓˗k߰aC9Y{ ]O?TN>d}ϖiӦafעx#;wL2Ewp7Kr-I Eߚ_ P|d"aUW]%/R]ؐHHHHHHHBJ®NL~ +z>ޗHH n5Ny5x` 7ߔڵk'@0` U!Uɒ%m_|Q bݓZjO?-GqqI~|T; ܶ]z3y~ir=s<ٳ~MEv*~)Gü_~;"A;8FtI e  7g 瞓ݻk`_} G爣F㎓ au]ҦM9C5F2]va68       H$@aW"Bẇ' D *FPLUu} \a\kfaXpB@ӎZb.N(WXQLf c 4χkuV\&$ԇ˗ܵ~z8ع{䢋.) @ PKGGßY&Ѱ' O)^Xw兰kΜ9w^)_:ϸg$@$@$@$@$@$@$@$P0PU01cOa6gQD$@$@ʺ8s#bͿM6io0=O<ˮZիWvӓm9c۷^~eiڴ>:_/ .pj۶m4 uE5jcy^c^ziCWƍuyue/xfңG1N];v[a ,̙3妛nug͚el&OH"E|>ՠZ7r;~'HaWX#^rʺS8B®L=/?2E D]Q<{T60% @n5B'$2".3-w! \N?tyLQ+ *{n\__|y;w"+ױ ج4uLTB1BURL0~\-^ҥ>^|Ep4et*7p I"D 9og}&wSO=Ufr'뙃#Byӊ+wfkC.!$رcu5yҥKK:uꫯr e&ϗ_~CBM{\.Nkb͚5c}r>fӦM l7LO>_V\#z Ls9RjU3,X?dz۵kŊKް?,^XVZgwoLgk׮_] lٲ75kfX5qD0Fb\HO;49|Yl|(QB*U3;޲eNa/RUS7#RܹS7#ްa9e˖qݞwyRnݸRvGuwKl"B⧟~ua.J&( ta%5ImڴE xرC%||n~ԩ&+xQGi|+TX 2k\>!͝;7Kicku%_y"d !9kH 7zK5\cJrPal~B͛7/pM:,oћwK&M  rg""t܈Rii$F裏vw%Kp+)yϛ7/1cǼ/,ogދ:[ 믺8_~<       (H(*Hg j;Ce$@$@! u#qF؅tp gl!wgCTK%.W\ME3H֭fڭ8oa++w]A iG8@旰r$8xi~mG$NE+Lgīk5MɄ]p|rY4a矯]p_8OnLpłpvVZVc-qт`">}}om>D-p#!_^;:~CAd*pX"q|1B r)a "(8n-y w l&0*@Am۴ L= *)5-WpnMnJ\cHD"yE]$F;eʔscxf|s L@ hxI&c>rY䵰 )DQH#Fʸ u8ֹ !C,M\r%]om!+rVᰆ_f[H&2}.BhDp/5J>MqNؕ8sOIHHHHHHHlwc3  ʺ8s+†8D+`1 R8*6aS݄ $Wu7M7ݔ,a6gn'# 977H&M6j). R#V" "B38C0a[IxeMJ&2pפ#Bh0Bcɒ% `Pu \g[n%NrpD`7'A,1_rJ$skn BsBRBPԪU+H A5ӰЙЦ{F0 `hBY"kM"(ԟ9s& X6h$B!3XhAWy]p l}gZ!I!TBhd)?]X .4 neBSk{ !l6%W؅r83&.(q1Q8v1[Fh6*Nf{+/>IHHHHHHH j(ڌx`$@$@ʺ8Sv~vSF7.6;!9S u玕L B&+@8q"4b R:$RA! m7}ƒk nCp1 5"B CDd܀ qCA|+8p1v{';q!r$1g%KN7;pGCT7Á *$Pg_#Gpw :#%&OlR:^{FZ`A\:RԄ].$?AY`US@Wƍum*.4 dO$?7S="ʫ8w<'       @®0|638dvE$@$n5T]avS]}뭷6s8wyV,ˊ_1DS>ct(&8e Ʊ+.8{9^b>~< DOԐ3)piGv}!ԢN&lo߾ ](!!q5K&=Sڝ X G}v@B10 uRI-ھ}lذA?yC Bb"!|$qUǎS)Kg30Gn!fN-tF\@H27cqEEgϞ8*Fp{twa>#;>DF\pA`rT28>:yG{w^ XϞ=.aCyG޽O~"SSvgxG$@$@$@$@$@$@$@Q&@aWg/ ] gp8=)® WVL٨@IDAT_}Cr"_1cjJ=CuW}4yFؕUE{#uhѼW]uKn=ϫ8{ @!@aWL=FPߙ/! _QY7']H]w`.YQ^Za.4e6zq \/_K~ib3<;B,f j׮Fag$s ʹH  unJ&BH6"I؅vA fn4InEFA \I ag28o"y8mXn]]q)& A$fPXOrJo-[Ȅ 8% /m 6a3A$:؅5T$lHbs? /tyn]pi[bEB(_~W5j${oſ3Svϔϸ2       " 8ky8ft1HHH ;QY7vٳG22kpI3TR~)S'ǜ z]S1d78_1B3Yh C߿֬YS_ꠗ+>ܱHHHHHHH  ,f @>ʺ8L 6gW\bzRdISg ?. UT؜̋G}/6>1#8Bg])űL2RjUl21 @` kB! a\ ck!ذaC;V%Re&y5KNMɟ)7͛СCUV D&2drE6"3#)[tAzpKr-9 1^7 LڤoQG>8 {@~&} 7oz뭂(sg-ӦMYZx@!uH>3 %BgvEp~衇ڵk?x^$8hAx&-N^akXuW'u7EQv?x (p3x2!Bx' .ĸ^y#KWTɈN1wfn? yB$@$@$@$@$@$@$@]xry6ې @T֍鷹 o} 6\HH  !hO;4-Tn]ǏK.$b!Jܔ }>|AM:į̽J؅z7tW~®ځqryM(H7= f8j.<Ėgu >9??L_L LICls%'@SO=U3.=O$@$@$@$@$@$@$@]i63,Am|g`HH n5dy5Uk׮JUiuF$@$ "R Dn .N-[&LQnTAn}u]n r8tj%o;t "h[P28myýO>Y:FhHgʼng ~۽]zܹ%8 1cĉn6%H8huj׮X\zrҥ Uڴi#N:) n^=#qLEFfDj` [o:n^Eѣ2s5m_-p&uu2uI2d@dJ7KsZt^ypz xw>_nOv={Kv @A"@aWA w c\f9 !5?;gsBHօ$;0z˗m+TmSHi:$J*:$_V1Wx7͛֡%zф˪uF?0M&˪(!!xլYS-Sϊw>{A       ((*N: D@T֍IaW^_H  +š I®4fAm|T~|. (ln5N _H Pؕ_ }ׯ_/M4I;tC=  |欠6 3c>; $QY7']泐 ]ah s^]tEꫯF9j         +S? j;w% 4Qg GFzܢj۶m2dȐcN:ݞ IHHHHHHHHH]~T q70 IH QY724MHH׍<.IHHHHHHHHHrL®#+ QOG$@&u#*?  pH[ d]޸) @nDeNoF$@$׍hX@$@$@$@$@$@$@$@$@$@$  [q# 1 @xDe݈83 n\7 IHHHHHHHHH ,( LdDp$@$QY70m۶Ɏ;H"rGd 䧟~UTIwߌ͎HHºQPHHHHHHHHHH!@a?,xp @NDe݈8;<2er2 Y}'G΂ aÆYg! @8Py(X @dQX߂v-\P4h7HH QX7y vI#p#4 |QY70N H :nD&GJ$4iӦ޽{n{a%/^X֮]WhѢҦMHHHHHHHH PؕCygn`rZ8( -1]}]YjlܸQT"kז;N9;k֬M6-"~>{Rti['_}̝;W{VbES4k,nm֭b =z3HH c݈H )0Ν;رcѭ[7>|xBo&JJg @p( u$ HLI$@!u#qBuW˺u_L8QZnnfy'!cɒ%Z$͛7E]$feB^5J P8ydرcB=df͚K8n.dd%rEh?g͚%-ZЗ7t<ZvA*Zu9X H%dɒ.OHH \7c$+2[®do$@$@$@$@$@$@$@$(O!770B8) @T֍ 9dӧOܬuEN;493U\uݻwZJarJAGRvUxYr]~i׮]6mȻᆱs\9~;~qK={#!їbkxzNptcǎ{ʏ?( >矯":3?1&r>CLڵk_qe9o۶ 6nܨ6yO6M_^wuӔ 'te!?~|/Oh6pNrݠĉ7uV~`.J=:sje GÈ]MHHHHHHHH o dd"K`10 @*n9NSc=#qզW;Cd|\9l6js֖ kofwT`t5oOHH J\7r饗YzJkz!*zI9U.{'i{v8D0mM k+PL;g*=pG=zt6;ƶo;w}z1%צso]%g׮];($ԇpkpDR;w֌zu³]uUz(p4C9)pDj̿^_QOw%:4nX‰֭`UeŊv#'R^{5-2ed\R#ϸer8n\r4ccW y       [Չu? QY7{pP!b*u@Pbjվ*~嗸6*SCܳ~RuiwL$ˉ}^wL܋} @^u<[n>y琤jwE|~{Ӈ~hMkÆ qUȬ#p:8ʮc+NLL>*vŅ؅{*u\o ).L&Ae8a wzcJd[n6=qMܢq֐wnIu#xnZp`K}Y{%JV+~7 Ç2yq"]JfƳ0K{ZvuleHHHHHHHH F6)²QHH@ʺ8 In+'.>6S^іPRf[ݼvC1rk.]^y]o ]N\-%(f$ @@?AHMX[;9Is̱m^/yFʯZ 3! Gy[߼x~3d\:[n Ũ6\m3fCAo~!Nf<䓦XC_+wq y0$+&2!a%* apOQF ByӃ>(j3_g5 @PFvϜP {Gߦk׮SO~mE#Iɒ%u= t 1kkm9qC1:TzibT.Y6{[,%x ?M6p|XsY.}p&ԤP tKvd{B*O[k0B"zCAP;v,+G.NyG>^9lѢ JX._fޕpJ@#!B^z+H{ү_?]kڴi#BI"|'LLt+:)QFtB}o$p C1I"       <&a,v@\r]x8p+qg3='n~)]'xͺ+#Ŋ6..zh\^ K v~InƝկNX8HHHHHHHH WWƻ@XqxHH Dez*ǏLOH ױK̢f\Ǯ?ܷ &gĺm'ͳǶmfuLT:G%Z|ӛ;18v)am72=\(TEUjոv6tMPn_ 65j>Ng (jSb?^J.ׄy$@$znAq+ƅԝ={r)R DLQ#6 I&P`ٵ aJdrz:v߲e洋wLb܎~iQhRJ-Bɹ瞫UJQ"f>3g4mTؕ-[X>JT$ovœ-xi&a:u`}Mʩc=cp=Ӻؕ*n9Q"@ӧu3}uY52Y]֜={ʰatQJ*K$@$@$@$@$@$@$@$i9r'3 @!u#*, H"O ,mf6 /`˳rJh2 8z)×e[7vCtEYv*3ӧ|dРAE<(B۾ܓ?ɤc:.[̽mU(H;N8e饗<I;s =N`Y%|GYUϓ23V:v ^vJ$@$@$@$@$@$@$@@ƛ@X60B$ nDe|HHA ,ƣ>j$ZW8]6l)v⯿~Mʵpd)]@&7"D8`iɓsr-&7mdq`IaB%0Kl޼y: ňcǎIEP%̳@,]Zn_~Id1KK ^Qsu<ÓCg+yQhMaW^e$@$@$@$@$@$@$@$, e#8@  M *FT׊HH ²nV$,5h1)s9 "?a R!bpڽ{vR!cW^ymW'WaL=zZJvScp.2ⰄoaبPQ*p nĈqC3Q Da(W!$53g0L 0L{PAxdɒnr˔w> -ip$ϝwiQ[j7o^Lf͚ĉcG[4{?~b "/or]0z+?j7n1<w/+2ni*h dGoV%e)JF$@$@$@$@$@$@$@$@(JH@P0w @nDeg  @ihڴ̙3۵k'SNeJ#z r^(э,\P[$3f̐:$y3w-<RRlYoӌ_?# ,nܯD9KI%ofy'܋Ν;˸qtvrVs*`.Raܲ<\p rYv|–-[?? ~o^+a(>?#uJeJ$w(/4j(inIz)K޽ʔP*wK0Oޔ.ŋK%\c{VH"qJ%[ 3%?|ndذaJRrԞIHHHHHHH2L a? q>) D@T֍3oGO$@@ l֬u?R$zj?tЄ 5jv2mG*N:xSVg*ARVX?lDqq *^wSay;!MmׅvʮoC (˴7GʼJׅq³+޸P89 nwЗs|۽M4;ڴi(Y0aB3y8!L(\Lds9?9Bf} ,e0`(Ơ~$@$@$@$@$@$@$@$ytR0g$@$@a%u#* Y J6l ˗/%J*I*UWVm3Qf0R|yƍ*5J'|~]ߜߠ)KCQV'L(cWf @( yo pHHnDe|HHAF8!Q H ]!:vX֭(G2 0HHHHHHH'@aW}Cn`{~8: Qg! JF|>} ORч~ݹ(JdpzSa#nue˖3[l8 tիWwxN$@$@$@$@$@$@$@$(a%70<; @T֍3|3 @$u#FͿkSPؕ6B6$         B6!=n` $@$-QY72h>GK$@׍ۉ'Ӿmݦ(J! ]!70{x Qgf% KFvɒ%2o<\p~ HHHHHHHHHNsß sIH De݈8)_O>)vc=VZnᝓ5j޽[ի'M4IZ-Xj̚5KgmV*VH@׀HHHHHHHHHH ( ,h dp($@$QY72 6Ȟ={TRR|!psN9s7ވ+E8)RDw2x /ȵ^~rI'ԎH0QfJ$@$@$@$@$@$@$@$@$@%@aWx&_F |Λ @d De݈8E0 ?_&O7 p]*nDx8t         (@(*@GF&( (<nDea]A?4aעEdʔ)]v*U~  lB8$@$@$@$@$@$@$@$@$@$QvEtj+H &Qg~%FDaW~=Dؕ(n9 @PY p6oE$@@T֍.ZJ6nܨ]j׮-wr!Ig̝;W઴f)_ԫWO5k~ j֬)e˖Mۭ1tAb ٺu 7o.bŊɉ'b3͛7O>#)Q~Fnd|W_CMJZhѢNرC,Y/6l(%K1Gy\r%z? '7sըQC0>ak_4c^~[n:bŊ׿K,X]xq_f*m߾]̙;^ڵݶ KٵknUVMmۦIdVZUJ.v.^X[xc=V7n,x`B]7cӦM2sL|K& X7†$         ]ĝi IH 4n=Nj-Nֿ/8qn[Ip΂Pț^N:}ҤIOM7WI&\g̘!-[Ԃ+W&} Ar]mڴ%oOh[ҵ^+&L ڽz,n᫯jⶻK~m]sϕ7xCs@H^/\.쳏9Y_.]/mھALqe]&ӧOI~;Ԣ57gsO?y#Gga˲v :Tnv]?S-{d!邏N!۹sg\>..Ry}`?q mQCH ^7c$         ]3HH tn9NMխ[5pZzu`kԩq 7|S \2 ӕ+6$ad^xnc] 4}ێ>)W#T*UU{9ӵdV^=/tTW2LvAdp 42d"WG#2vw .8UA(xy`0,qE]v83¡ ,L{o(F}t~ W߾}u;J*7v< *z{]wuw0ҥK@V @F^"͛nʕ+'3HHHHHHHHHH dbL$P!ba"  TDerW]uUL}?ƍ| g˔P1%eJ$c1%e{ٲe g˔cwO`Qb"+|\(Q-}zݻu=%R)-G@ɖu5b%2)/[~ m:~20 {Th@]|o~)tٞ={bO?-3 / 1N=:b*UD{k̛<>-SށGy$Q}(єmsxd dR;[2ݫXVl9sP}.?bq<@ n+/|3ݷ9{?          `8'PP60$G@$@@T֍ YvmAŸo+1/xf}V:ä]*=B zCdz9|d̘1mWص`[fN\aK*)͉͛+ܹs %7)4{O(ϛVZemҴ008L2yF0 M.?W ^yg=TN]eڵiڃ.kdH&云 TZi>1.W\7 7bTr' @^ʺ8OwsQGɊ+tG㏻JG[o5.J!Q6&#mذA*VB9ɽޫL"۷+7'| 10Y^=StZBNb.0$B裏lF/B]"t$B).3"gǎEAd0J'fr%%JwƔHa$s'Էgs}/󙧄]K/?v@$@$@$@$@$@$@$@$@$@a'@aWg( 1v$@$PhDerC >}Ľ]tO8 RJ\. R E6vPn2ԩ#K.՗A$^dGg}L6M>@ZhЍ+LJ&Ka (q¸[~DŽr1b `wZ:%KT~~u!hܸqBThLԯ_?Qu*Rf@,BLʅ^-5 @F. E$@$@$@$@$@$@$@$@$@a @aWf!Dc(!B̡ @"u#?ƹj*?~DA`Mڵӡn**Tم8 "-$ Jű#r,;vAAJBSTؕ,b~GX@IDAT>hYrv>6VnРTTI_uF6 T( sV8O/5\!'Cf:wzvPz-5 @~~ϏD'w ajN{_~|~r"BXX׵kW)[lB?^Ь~is?RPp f͚ /Nȯ[nH[aѢE2uT϶]viWə3gPb-.|r[ k>7Z@ V{۶muhg{U~+v8iF MHh{ .>/k7J{]J3HHHHHHHHH bL$P B *F~s1066jc^uYboԨ]%']nW]q}0^%J(3y dTHIaS9Qb8|:JW%SO:jS۷NN3pAjMUB[oٲe1^+G7߾vژ ٣cgN 0 ?rJ`(aXBt2֯_Sd1f8*wtc@~acQN1^6o]իW&Yo&ۇdYWldƁq%|qzϖ?kSN^ }LwJ<3tALG%]wݕn& ~טrwKl7k~衇b1e]1̽P^Эs         5gF ,+H *AS]ĔO|~Gu#†*6Lr۰Nv\3LvNuv&n,b&>YAdR]`+( B>RcÈwয়~28 2smw޶N\2 ;wVB>;>w\oilw/\`7c7o^Bf@ndFe~ ggD\1Ϭ R5k,wC,rGY2a+9v6߾}aÆC8/Xk̺7a}pl={fަ_t c"        [v- ȁIHʺ8Pd6J߷/SGu\AF+*a3ִSm|? lr TH'ۧ91nY }L߮cט1c=;ud;rEIQv5oR! m.]{CM-wT\h/M4N^O?a#.dp2TaDup1yF2;>\ʘH Z7 moI7.bA Zje >? d>kr*gzeǖaFB 7M>=vCXl8f^Ʊѭ-r侓f<         +3 L/a(0@ $@$P Der^lc)K,o\ CܹS!:F+\Y[y\';3rBn8B+rmw7]^p_ϵ|8'5 ߅LB(1̳'x3y$r]3|$ 6 J؅5ȌutRvm['/]yӺu0 2 {߭9L[Wm㏶/# @Pؕ9l`| (n9N8hMQstW&Gqoȑ#1ik0 NLW؅2L9k֬Avvk׮qm;ox r›BDQ 云W_pyA ^u;&*͸RؕosooDgѢE~2Аfl4A\ks"$Wȶy渦KĉxA$@$@$@$@$@$@$@$@$7(5,ȁ @!#u#qBd6> oٳ\:ܶӬ\2x}ٯ_ؼyl름ؠv] 1zRv9w`3Ovͮkf#_rCxA@\duegB^`:s0s]u]vÆ KxoL9U~ +/ΝlᶍikݻwNbFxݐ9}&I ^7=+_߬qG]g烩PuόŸbq D Go۶m[}`24p6܇HHHHHHHHH -?1&xqǑ dK *F~Smx_|!_}6ZjҠA)_|R{"/!jՒuڤMy m(*Tc9F>`S􈯃K."O*W,rHҺ9-@*4cٲef͚r'J"Er]dPZkYzTZUG)Ŋ9(N.\(xJ.mLUP\+Y^(a@ %}~fPM?@ǟ)ȏuÏg-ӦMEo'xBځ5#YRnbWwdUE<[n\ daÆ uQDO> loK۶mu%N:N̺]DɪjI; `̘1ҥK}7%9=>־;޶x0?%Kɮ]|w9?u~R>ώB         H]i+ òQ0HHʺq7$BpZt\"ױkr%D[O?xYqصdvm#<Ő+dĈCڜKR֗px<mp ]~}J?IHHHHHHHH'@aW d˰l`H|( (nDe #a$84j(lC$QaY7\aڵkG?nJ ¡f(U>b5YSJu߽Xvm]v͙3G6m."yWn>[2Q~^Iw}\foY0#o%2v;֯_?o:dرrQGzz%4f @F PؕQ,,''  A *FTY8>% @X Wom]@7ސ?_1cK.΃>h%5?@ԃ&87 v!l$D_+WM+Wm_ f,rwu 4>K^q17b1OO+ڶm*U*s_/>n|r9ڛ DHM$3Gx/D$@$@$@$@$@$@$@$@$  e#28P (nDeu @hep]ӽ{w{L22sLi۶eHTڸqTT\ʕW^);w!լY3+++V;w#G;ʎ;^v!!СCcUV7lE]?a"\ࠈaÆEڱXb:oҭ[7}Ɔ ENg~cw+燰kݺura@X#ZӔM a;\ X,Y"yKRToi9, ,,iIdIQ# EXrsYdAvW$gApzKNstϼOPRfI$@$@$@$@$@$@$@$@$ϵ(;0PE$@$K.F] $@$@%q7"HHHHHHHHHS)5ɇ 5(I$@!Pq.rVZ) =M]TjlE$@$@$@$@$@$@$@$@$)TT$ ˸Q9+RH@ƍ.̌;,"w1_~olEyg^yK?L;͕W^iz)7ߘ_,r[ 38 z-x>;p?~{3묳%w\eU̲.cƌ1wu9ryWͻk{nB [̬zMyDKsS[{c駟nvi(K,aP7t$@$@$@$@$@$@$@$@$@C]SשJZT2 @%eܨT A$@$`0nhŮyYjgr` %~œH+tMgqV[mP0u'J4L$ VPy晣k8gn󂅪y6l>0(XSVZq͈#\|J`1)/.^z%Ú!,V5fAoY~k&R}#9u]~38yR6{8XA[c5gӑ]MHA$@$@$@$@$@$@$@$@}G]}WFJ$@$P%u7"gꖲ @?¸!]ﻭvqGsg9svm;kW\sSm/q[o,G֫cȝuYnG\2ذaB!8"8@_hr~,VXbsb)ol 4Q )v!q2?x{;>~7"O>N&n6qeq}:?M*vDHHHHHHHHK\DyHHR2nEJU.! >&PqC` se'4.Swqg)`Ԛkߩ?m yrtG+s2rHgM h{F!7l3sWPL[ik8ꪫ"bWC(M0 z뭁PʣwP/oH}w9:P+B        [T۪ aK$@$PEu7"g2 @?¸!]؂ku\o;WX꒭9~Gq9C9J<`Kq̘1*vA6o/\ްB]pYX` /8K_+>aK&o:g[[xvq[A,E7| O8s-, sti3j'$@$@$@$@$@$@$@$@$@O]_ǙJXL30 @W eܨ]LfN$@$¸!][n⋝l7xc]"fe?x`믛:@ .Rw{g<仼]O=9cV~7E։dBlcwQeSN9oXhO?{G(vA .peG$?L=IAxHHHHHHHHH P+?T*,` @5 eܨլeJE$@G (vWrJBXyZwu];΢~rniWK.5j ߝ'{GJS"\',S<'xAfw >ܝfr?@㏛b%O?!<~o?ɪ.dnf3N:2w5O?s         P+BkHH>2nE<%% &Pqbka.WQEBegAESO5[lE 5묳0Z _L0_mw]cHkW7sۛ}1 I :@l.lyVXa?@N;lN;4] bW ~FgIH2nE:L$@H FQ.(KtIz(2uYnfz"|V[YLRb)+_ߏ,`m֠TXRb /lyd؆rN+Q˧$@$@$@$@$@$@$@$@$@4 b @&UXN#p]LS! h?*E8 s=\wv.lbZgyq]XZuU}tb׊+hF-'%_|Yo_g5 - z!w-:"mJ [a^tE.,oh"„Kc9sGdbrPrö|C8@yamO?!h ]w؅^zqr`A JYORW\a7ǖ) '@Ů"$0YH (@]ƍYZ0!  B8n$@$@$@$@$@$@$@$@$@$@%bWI {%.`JM$@$u7"ggj "q!^'         *vurF* @eܨR@$@$` p`3          *vU*$0*THj@.F]ASD  7Y _L2$9R`h$k5z|kf2L0AZ?x>7hР~(2g>sߚ&vVl>䓦,0~O7tMG61}ґ@+EV: ԙ?x\N]'@ŮWAFҐ @ eܨUoG$@BF4˙ꫯn3sѣGg$@w1P xʡK}wǚߕ6[bGe\rI+0nib^O8),QQywZ)F;Am6O?`׿]3w}׍`T%o1c8X`3SVI:bbZ_r%-j qo~PL]C :+ s熂/@ओN]~^]~]vi؁_?\Vau/w=X \Vmffdo%kw\رcL>.UM Nj$~J\sMT_hGyRkqL/빥_vڀ7sQV 9DW8yF-e$n+ҕVQ[^z75ץgp =HHeܨ yHH8nt6%pgF/yp).Y/~}^~Fm]TsCBCD5$AŮ,aխZjyi| ӴiSpT*b4g?-2[l1?HP:*v En4w޹c>7)zx=>?3J)o>N2F{x]:dLbs=;t$P܊ '3p?я ˸Q9c0ӛHH8nt8 c;Y.3lذ`Nzvj+F*vE뼺3m~ߊc1֒cj0O?:m~ѿW^y`DP߱+#FRCpų>l.ev[w.bV[~q+vQ;fyfuV`I&`~qݗUjϤ9Mm IQo.l-㜌v`k[Z:jn:O-"^sK?w}OꚨUx1ofqq~oV 쳏X*vEys<7d|m'|i۹[om.BWn#/;ǚ9 @/˸Q9{M $@$ 8nB-ֿ e}^& Z*fҢŮI֭#y$WvѨIZjBR믿4?2B4@H]ubW6#="XĤ,c!ЕCUsN;s9:Xϋk.XpU|nItԮzXY>7x#:/'PŮ,}\~ˉI]ꫯFZkU\B @]vfH=~= &Pq.r&$@$@ Pqc̘1殻2#G4品X$ׄv[zE_ƱWi̯k}Dzs1 ;fm1rS;2\zG18_veO~X tN:Zt@2;v/ͬjk.2M6dQxw_2_J=^veNEYļ;/77` ܗ3*w饗6~xeXٹ_W[O? /[n&u6裏;pnUVqp^͠fqO\ЬJf-p~=9ӌ=Y@|е3Y^}m_$2ߣ>`wnƌ! coy I`a 't}ak~6=Pf!}Z;`v7|Iv7߸{~7or)[UBK/믿k}M̒K.K{tZyo&s} JV^ye+1ZY}7ekX ipA{\p0kܻf}`r't"YfeL}W.{v[:76s}>Sc< կ̠A⢺1n,a ZuU]8Xz+ yW5V#Φ,Пy+墋.rs!Xt>" L3MXrK*?[oumԆnhYgD⾳ނ? /KKb"b+Byg_mF{ >p_,%gbjHb|w̅_&ZB~q_Ǹ8餓Xlvfj3:%6ɫV=oyYG< sipOݘ~9{i 9/1wy8DCSM5`-w/28˄SO={^+:C_GJV14|󹹅'疢3ʀovKCODC9v+?^xoSmOr}<'D<#㹻!=)7aC /u wދW? \r{VGC;!SS_K}3&xOlP"eL؅m}Xp8Jgӑs=` D#Z7 Dez'$@$@)eܨ)3 @Teܰ/ݢ ]׿Hž@sqK8 4LC:Ve@[L`/GѐNQn3V;iE>9.BQ٭zVmG*EBU, ߱s:*V SbG-hOV06 3,,u WdLw |/V0Eb.쾳 Tf}qޘs4?|YtAΚ :'xo\*иY7|\s͆ `sU5~gྟ` y"c: 91?B۵ _<81N52.r1  `iP7q1?Юhz<_j$'hɠm .?²4bWӽd>9,J|.bC}9O;X:Qc-3w%<US91+MX%Z1k'l!?8Ȁ=V{ϳqy{90:JM3i+x}%`g&}1y)0shx_[)/ce9,7`<#8|3C  \2nE\H$@$@ʸa _(^`)¾|pvQ/ТpV&mՀ}rQ}Pחx׹!]\?W| "4žtb}i9ᬒVT3a\`qq G ui_ZFq, U%Ypi3#F×*]pn.l9mX5xhk h_INä` א݆%uc=nXP#|}٭reCyCBG7C,a`.EC>QQ. ;rE('B qU@qL'${ZU =;Z|紜8ݸe.&.Y`8u`Bʋz}ývrVy3qnL=B.Ei,OqEetQ,@4mTǵ[Ehe[-VӹGhXJTиzѷfQ맜rJCpOJ|pps] / C?d-]YڌX@pZ#,bWb?#<?ʇ(=ښ?E.?J2ϒeGD_۠s*rfU-L* g  ˸Q9R̔HH@] b5i]Ė ^. m5 )vaC^E`^-.l(Zpʂ-Hʧ_c;K{k^f+kDfUH.eαH&e -`7E<0&`E+)=\!V@XUy[kMQ̛/Y(va\S(+%E]>.J,ljS宦$#rFiF/QBC&rӊ]X`"Kg\Q.\`-e[`Ju`Ȏ]a*e$bϋJcȉm,]eYeKx#ev1| p߅ܡ!jH8?&Cn]~E5EY"-"E+.(Hvሹ FTnȤ|UU0ZbWg>^Ԋ]#`AYʠQj Pl 9=&=/jnYcg]Y8[Ӷ2kQ.2W7m +k,},87 ԍ@93㺕F@$@$uu7"g+ 8U7 /i|~Z<>`b^ᅼ#^a XY faOQr-e,:mMD1F;q.I6#rbK8'e-`#藵_Y,vaAKdԿ}K Iٴ,s?nsϢ8C)pDžKkORqV%N(vanJZ%=.SQ.PXK rRдbWBI ye 6Vi#(Kv'B̙4.J C(G!vzU[l(d}Ⴒ(v%)HcrZ+d1Gӳ%o9.n-#`{V.kݨeXJr J^ӊ]P* . JN7hqe$"ȢإgDбs_&{K1=pW.? eLy)5*=>dҍG;g8'}̦r:=3 6$8+k,J`q^QŮ<}䭏i{U-%2mtMnNø-G:~%]n?nY|]iC# ԁ@93:2"PT3 @W eܨ]LfN$@$ʸ^akI[ȋOMn֖/ 2^J XŖ Urإ~Ћ\B%N4XzJ:O˳@KY=I&,n#\hbKI m!U¢&yE!_҄zh1c"y4[r nqeieK+>a)'A/^DžLEq+.<F%L'F'Jemm Z\pYgEܱ)rIGlPqBb,~)xyeh=P>*v%*s$(K%)$uBNWni'VUŮ*vBme<]z{{I \Bu/Ǥ13X5t$PǦXr$Pp$ urLHHO TaЊSxuꩧ6Y[YiL# 7-ے0q]^âx8"]rWݜpYH-;^9:_£M@aw2U[̪`` mV qJ:|GKH"uJq+Ů=#q`)V( L~Y5vBJD;[j1>Gi%]IG8\GqDPyfe i!K:lҹVJ*N뭷ފʑWaeU.if!UId\ Eb$(m&M;Y]Y矷E`^<]I. iŮ"2tsoz9yCMZY?MI:[j._ Fʅm$M_@\)! =l@U^C^Ẏfȕ93<.E+.G^f{ͪإ$0\ݿ<=Cnp3c-y3 ԕZsm m*% hu U$IHr¸_|Y"/xl"qtPj8UU(\؅2(x\Ů2s]8aiŮ80wG1ה{X+Q}a*ť^jq`-~F3IRBV *k"5 NP证m3'pBTN,N[EBat~ų4HO7uR?r$%ma 覄K 0묳nJzԨQythG }wMROI[" }omN> v>(OzODOzUVcjVFI5N,E`4ݗ Pr<(}*d6Պ83N,bWEN=F\qE }!.:B zg_=jO >N ˰Me+g*^dE"m*]PjJeˣإnu9ZRVqqpxi}b 2a N+v!-z:r ' ]o$c{ fQ삢~.DH3vz+:ܢR~Du:yau {h!- CQÇG}o]quR>HZi/owԊ]_2Ck/|{GeC9Q<mi-#<}\|i{aIl`nZ.q_kWYo'  ԙ\{m m($ huMdIH2¸"v2 :ニxVbZ E~!ku("Anl)0a/~_ꪛbd`(1^t63?M2,(eXG}hі5'B2?c"Yp-_zP\XX9)OZ/xg F9}$Ax,X#o, ɿj]"pJoZ٤h Xڨvz z; RVBZ˹Ѷ $;c>64㎎^+:xCȈ6mq/`-5.?g}nAEgMa21JP2]O/oQCzꩮF6=GD kk+.PD_ǝx+vA>E_~㯷ͥn喨".q#!m0Tn͸hCpM!t2۫VZ5|Ćg(yk]tQIڋKX<QoVQ>{ޑG~j~s) bd-?#N?G mq Px\K%ach[R_ˏ#ч>ƁB^qe28X;ychȼ}" Gݷ =a差Ӭ]1@K"g(sIxަ#bWkdQr @eܨm&&K$@$@U |yE//_XdV/p0!HVNZK_a #dV :C/[(8սXh5Q( mWeQX-IrKom.6yȁ!3qm.E(0vaM^ȍ92P6 ,Ĺ3<ͅG]vZKh]2\-Ztǂw`@vRitye|ha%ڲ̇.cwi ?[9"O )q刴G#MuPҸ_DvC d(ЏI[)vrCǣ:xPz2Ik(:ui妸D9_9A2=p6kG}tSK.kqNġό "vrcMX6=:Jӹޖ.;,8Y4#eƳ@+qHD >"2i.<%<ِR%,-+1Y\{MXQ˃-4@zPT63RF 4i>7(,CiCCjgR9P$sB^*mZV[ \`? qCN+vaeAIO+4wܥJ<|o.QʎC]o}W^?1:S+oIτZ1O:L!Y+J̟j<ϋIƁp&#G~1?яHHHZ˸Q9[g  ڸabK/d좕wysmw܎LB_$L c'~دo[ p/ Z cx034}ٍ}W"ayc,o_E =zy\=ݍ38d .̙cǺz^pDM*n@hksh.r)&vX#*?2dp ce)Z PkOlo>3餓Aq3H񩧞2SO=L_Ja11wY.YE {-vVC3㷌/BW0s~כ 7Љm&E}Ľq*keZydoh'l(3hHci4W]uUߎדּivJm&O0>mv`NN꺛sܗcWTx^fJo 9(Lۭ."s5\-V `y7Yw@ُsIVq=ʼnTy\li1W:\n bd 4e1.-])V\xYsÆ s̭"9U 3ʵ|O0 M7]\ɘ-fimSϧs$@$@8nkx#hz xY/a)i' }+yܜ|y2%pm9XV /?K]Y2ݣ>jvyHYn f]vB9-⬘l& VH+]vL',6Tf*]"/g5v{ĒvbWb" 4bWT?ǥ -fC bWM+]bs]d. &u7[ KE$@#qukX—PfC^!TYWH_d\s͕O'j-#@oRǖvJ\-5%va%:`{a<(ta38(V?΃HN=Tsi-D|lM:ڽHŮ Pke&Tꕚ,\( $! >!Pq.rIa1IH8n]w]K!lU.ӏH*O ke 0OYd馛8$P[w_jf."33Wl'xc=be<^{e&`0@u c=6Vx3dȐȯ'TjP*bWk2 @:TJǩoBqo% ReܨT ! (L~7mY>c3x`3tPg~*̚ @yO~mswFE%wȿ'V c8{fiu.BY":O>yg /Ӻܣx^5j6 4(S@^szXƶ@ KY!_~Z(~f)Ò @ P5aa̎HjN.F]ys$@$38nLU $@$@$@$@$@$@$@$@$@$PkTu/<0gIH eܨVX6 u-J$@$@$@$@$@$@$@$@$@K][J\H@]ƍٷ ' Q 8$@$@$@$@$@$@$@$@$@$ЧէWl.`đ? @@]ƍbL?  y̑HHHHHHHHHH0Yx L.F]\@$@$7ڂ d$@Ůz=80zY> (@]ƍYn05  8n%x$@$@$@$@$@$@$@$@$@$@ebW4{ -.`@%$@$Au7"gY $ฑHHHHHHHHHH:F]C]Qz$@$Pu7"gUr @O>II&L7tM_/g&33NA+{M ;fYgm=}]_f2O>yx_}I'Wr@{1i :x @>>s(: (&ZQ $@$au7"gّ ޻9Sr\aC=+vm]q׿^WK/>/2믿n:L=MO>ga3dȐ0x'SLa\pp +#Flr3H>숇 ] 8JaEJ]0hw)bފ□ժPK/ˋ-ҿkR-晏HY.:N_{Q*uyӟS"]>!ypY8ɯZ3<#XU.k7fmkA/A-Ί]ELO$jR ]ln PuQ Q̌HjO.F]}`HHGpܨ^ERzuEj2x? ѩՀߣ,v˩~z;x˺iY̯I]iڌV)b׿Dؕ'VNJp!b8k:XϋkR0XC?eJRVtۆTT׿B P+R3Y.qBdthPبbE]݋~T\ҵ@m_ޫh_/v3b%@ŮMW$FW3S -u @Q bW$DW^ye8s '4EbWR[9眣UȽV%WbWB=sꫯu6~CLŮ,}\{J>U*vkg?lŽ}Zkeʰ}J6ӏ]E>mn,6 "0bۇ0:p򗿸~#!  2nEΖHH#8nc0wum^5O?}{O̜si6pæx}ig{ռ =cƎkfi&Kw>49tP/Ey衇b?n^fvre[,M7Yzolwtƌ?rHc_w}=Zh0v)z2 weoi , bg ~w|I34~}h]tQzuiq7^t N",.kL9 ~Cu~7pY?o\pA[K.) <}Qs饗!zͬjZj)k&;[(>.ql\[G8w_ݵk#saV[m56]QuzV2,kUVqmH_"3hn;;;v-Hi\̠A״':ȀF?{Z^1֪ rL:Q4-~[cоofk0. c j¯ꪮXKqf2l(?p 6̍-M6Y>tYE!r-g~u~w}q:{iX|c߮FhW]w]3$z :DqIcN/ϽYrNƝcL)XvOc!-^趆VyȠ_; z 1Yyʫ|i?K7+0'8 |% n>#c-kgq5ݟ"j`<1W=] g]||UWk9L5Tnn>mmeYlVnnL}/o.r?ɠ0曛/}7+p0w<KCd㐆[;)*;B߿/G>.o{/^u2`,;\q~{7e|-[pxn&w}'6{;?ia^g-8`i<@?Ho=Vwe=y*7_|=N4Dnh\?,E~<~)6x~\}?1Y[򌋗]vcstO7`ןcx>vic,JnD?~ 5ICHzxWgܯǬJD >;WŜb(~yc\3⣿C61>c:pI(G~ipAё@D_G(xB$@$@]ƍș9 tǍ&*cK=Ve.ұ V+$'_mIܵ?QvXt.y.Ӳ q$UdvF]ĵWI/4Br=R}> "3ⷚOs1v1A!a0CeoH,]OguVϘSُ} 7[%* X`H~} êȞ昶bqy{j3cm*z <[UBd [Ɔ>;T!SCV[4q{ィ0|"M$@$D.F]Lbk$@$@#q”Ԗ~$yɃP~x)m>zX^ip~]ݔR8 M k)q2ۯ7-WQ:('_hP/2x!(YkIvQ.kQ$+C3Έ;-mPDt-?^`bA/*l6^ZM.OgA,|ŮE!e 礓Njh+*;V!Z)v/zֺڒ+r%kxI_S PV.YbW6Sbs+bԙw,jbD>obՊ]zyAq@;+z=nR~Ȗƥ%()JP8#?kI6bX{_h;G1O0ϽvEEU/⼕C+&aL RPFkh0|9,&|韭Ѩmѿ^m|5i3QNLVS~cn&yb< -&eqq(!3>T9GY~Hv)M{wԯږVe0hq+l(;2ur!9i #5["nt,܂D=/Oʘ?䛥% =7քĻX^_#9!/3(za^m>v8k 8 +}4>qG3.&vέEˆgk;Dc|ߥuiیԐ_!wH+^~"2˽Zd.$y[$np_sV3?ǔ(I{,Jҏx/9(9k43B z } R2cؕU_F_T3 I$@˸Q9K&D$@$PǍ(v^حn^7xz?(vmR;Sv kFxAZ 6In]4N/2Z0I ]zARq .pZD*%(f!E_i}pǢA5)UHCP,٭ސw?",eu"VN¢YƂstxXKv =`E/T"L+ŮnGV;j+Ph(He(vei30ȓ?-(H@caUK-[\$-AiA@~ug L3vKPD"[9oMd{.t>9$N?I| L+g%9$ F ݢFwˆnG1u3 n̝ c_IW"n3v(>de:ݦEF(]wuoFˬ?}O4.Z,ܢKإXPqVʚ?:ʍM (ޫzRl%i )J\V`$u'i`,\T_>4\dIE u>JpWFVRvH,$8s'K|$_ܒ_Ycz7 )>fW̅$2IK*j.9E[C?HNejl]cz{MzNZDXԛLj(f=j6ت)噏J?cO-BIRvZQt{p2K%^cV[PxD#m=U:#Պg'}'LqLF//u%C Pn먗8ӒbW>Η!m{/Q>8+vA]׎̟Ef%yC2J\{J"k$^GQ7暡>2Mں<yEQQ GVm3NYSߏqc6[dJ~!إ ӻOfW˚ 1H9.ګVnP'1ϋ_cQPNi5z&rc5]6TƫCCHHH BRn_`$@$PuInM;;Q*v!w衇F/%r(^kXvk$< { ay _JE9!׮^x!$_Ub,^xUb0Ɨpm4Q6@b+GX9w}=yŮ2eliR(D[ 9Hؕ^[>vJH"&Z RVTE+ΚҝV¢o-( ?|E 26(J|$XZ(RH {B;0[pPB@|pFjھ[eDžCV'Zm!󯋌#dHȅPG_ry8VQŮ}[Ӷ2kQ<-ZK߻Kga-eUx/mٻ9:\$ 9wBPePXVOp] W?^x_ocQA"Y9w8 GHH9Iwjk39zfg^#tOOwuj{>*͛A2l<պ\=R~oIK_w~<#qҾ,[!N}@zꌆXq6[siމϷYY({Ͽ/j50(7 mEZͺ; N S}v[aM8  @gT_C_p >F &P[+i-N?n5:5إ?Acү~1.rkhJS# {ZNkNޫRW]_|rҏKo r>+6 Ԡ]Fe5腍iw%I{]O`WVy!eʪoXa/@Ӂ_ BզfM j ['{piS8?o0+ׅ~;+t96_ɹ@*MÿnO[hzJKsg>4 OA^) R Rڤ%>MFa||:>j wR`W_ ө4FGҪ6=M2;/Wr QjzԐ[a,Qd]ҳOphJSO=5K_뇂*Mu* ҩM-AՍ^6U5.<_gY_ h{KYGs=OV ޓQx~Ֆ+=?+=}AzIC9i6YUp?^/}!j4ܳ?fgj>?>Kϑ~RO~pJ Tp߶y2Wzz,L,T &-+{z'5쳐?v/jv%}oTO5o@}ڵ̛uk9ֳ>/X5#(o zp{*WϏL TнB]w}" @~tkZCT# S>op>_]JT]qMq4Qj`Rj 4fO'9v}¿pnt(FХ~rKk`V/'~}yio N.Ѽ' _ KNV@SVyǩ!u=8Ʃ>_gTiu$Zo:w3&v5Rgؕ,osύ'm0Ԉv} ׋j5s_ }h؛V2@ƛzS` ^,tMNa`W]ӓiy mFうipBeҽS5</z} [auyO!# Q|Z=W6†NSqa`Wn|gv*pa8Z5Kz'fUX) (h5_koƅZ{f%_=2gkh=ܴ{/fz]- gU(V{p: fnv.6-i^T?*Ov;ϯWJ]֙;E/.i]Y;qyf|9Ui] ?*QS+/kggğydʕ FSee$@`L@]^Xx ~٨%iZYXYح?/ 8h +𪿰?(zf5WbFtKC=yG54i }#i_0]G@^}ښ?caQZle;UxuT5Z]oô;-^8|z|ݧy  ,a9<:5lh`Wu&/]k֬I L]: v O&UB%%߫]/c)U9M^C/jYa`W25& y35?j"m޶|yӂL>я])O&i2I,^=%}~Px6ɠJa::z0Z0g>*=c7soM%k}ɲ0Kϑ uD)-@EFc _ߚ}~cj,R~V?sAseM3r`~o Ϸ}ٿ9wu|\PHiMN\'t~6,Q_^-V|_egy]5iJSrW*WJ EM'{5яt׏ @ ޠ{DQzK0GH(-\XUTA' np!>aQXԐ")Ш)FZժm¿d jŦ~zjԬe_'!=F8Y84H-'?vV HSu-y >cQ3S#]{o ՆY_g PSlR΄,]-o֙v-X %sCT&|]=/mhW k鷩v h澨dpZM\?jdVإI?>d|3c5YVkֶ ,&iU hS`AlH?2,eEx=P L85vUV5%{0aI՞Uvd\|Zv5rLk}ɲ^vyBY嬹^KNY>?^{mPV>!QմL)/KY/>OiiԲn|)-޿}+}3aGY;q֍|Vy<{Ol`W,}/ڔ{D#~}\>9t U=PsU#Gڏ!螠F5ӽhEZ+-V("`|?Ҵ#KݷVZUFJ pV3q*5F[-(@LYv/$0՚ZYmЧR[ӟV:mm iۇ"߀Wnr9@ygV@f|oy vjJNU&YvA(rJ 𞾎V^^j3a`Y5UN LNaK {wyiɖnxVv56 U@So0CCo&/l?]ijCp=nL|ik V $͢ݟc-ysӼk\\k}ϲFz 0+l/zճFrY^t,Y?@*_Sgq.]ˍ?Z`t,T/{VC1~[ߊ[ߙ3_}|J/,C2+{z'n̳PXY[|zfxGu]gMYW:FRwElO $$x so=+@4iM: Yldh@oY ns?Dɺޑ]!\zֹuuuŧ>)tAm'Oo5{cgha_T~(w?Ǝozy7]}&j+߼k„ =Oy֊ӧGS-^_{t^Z&WZg}ϑ6p=96lDf?kJjРAQA\rzœO>~Eo@$R=pjMXvAx zmo{[:\hy$/z}~gmM7vgM`JtҤ^{-̘1#z]|ih,\o3׋X=%:VcM.\w̚}~K1Mzλkun.}3CVǓZ?۪^x-;sLuTմm8#<2Z ߎ)!}p^wN|P5.?\k}ϲ(+.hWl{KYr]gXGGG"eYߣ& c'pB1z~1d;FDa}rR]=?%Xc~8Od ܐvQGEII^nyD[B}N:D;ڵuiEԙv_ _Pu9{z':f>> ~ӪwIvA6q(L )}JpQcƌ W[nȑ#+~笃/nyD7_vL՛(K?z|[oBp @ W?Q޾,ߊZrVoY^F9q7􋹿@6 }sW-(~դS27n^@ZeԈ#MgS48_ףH?zfU!bmQd R}H6ZY~&j0Tpvs2E{+&=8&5+xOU j\#g8@~ώ8h5Ԏ+6hI3yy.~X Ϲr=]]j '5COqY?~An?|Y42K Hzz0sKVè%j5D?Z6!~6`:熌)kO63@N}~4r [ԙ0KaN2_z}aE t=5|˨(Vy>@D|umwT}F^l]vfeS#]JjYKWԨ B5V)-˿}Qj |~FϷriRV:kn5%touÇE骡L]vYmZm3(:N>8\-Cƛ'8z>г]/bzղG}4OzФ9(՘SM#^U ѤN=o)XKt}[SP8e([˲S=U'@{?G^20K+G t=z/~kf8㏏ 0> S:{O[ @:?6+_C ɩkOe}u$kAw<|@& b{K.z﫪.f,gOIJs}py~ZgUKMT7y)PU@]4ы h̫ϫ tgYT=齴- 9zuCFi}?y+MOԛ3>G Huou=!Fd`WN\'6,=5oh}gإGpRu"TWޅʎ|']( Hkk:㷯d(-]Ug5 9(?5z}0ӂB;}4vFp;-M׃{zZZWg--uI\Ϗ0h'G7~$[Qj4*ꄉf{[rCܗ}+y095E߉|g6mrR+95ǒt=y;Qr_Ϫٕ@zR[=ėa8WrVLg/aF|) )?V`_f8eQg]U ];tDСg!FE]ꓟbW| iSMuq󻮭|s]?\oi[4qm엉.ZP&1!   @5w}'C26Z\PY4ܗmmݢnk]#}EAQL!4ĥk԰ENאTjBßiYSr ,Si! A4t@;~QCjh kPʩ޼hIi,&Ѱ wqGMI֛s# 2zGQiVNa5JMv:aU4UVՙNGpHͲaZ/3[T֮vyg>|x+U1pD *MY_+p(Fh}.yѵE Ɡ4+MY+ghV 4| n8ϭGrӰlᰭ#S9k [ڎ;X=cfo.P1ʻ)&NXS:ir#/~DZ?:D6rwVԙܝdd7Dt(اiwU)i빧[9WٷvWTN{=4ݿ4p ҳx4^cB-?* Pg* +@`Wbl   EWԛ#8j+]k17lI{'zp(_Iꯇ#)bӧO#ֹaN公L/[vn's$GAg:QS8fQ쪿:}?紟z}A^{lz饗6K7Y 'ң;tv:n KsB@@@Gтp O&OvRù?ޯ<NCpzk42U;12@B@u}ip oxC*wvHPq5xmcF/@v 9@@@X/@`UV\iF귱zOm}^Vvm{WI'd7lĉ  5&!ѿ ʣ]y,@6zNcM<@v 9@@@X/0w\Sc=ƌf  EC¬[.Z=|pa^Fn_|Ce|mذaѰk]vm,Xf͚H{a#F'mh"S8aw8p:{ꩧgW=;ix; 5m4PL  #@`W%g        ]"@`W$        #@`W%g        ]"@`W$        #@`W%g        ]"@`W$        #@`W%g        ]"@`W$        #@`W%g        ]"@`W$        #@`WeKd //lWRԒj Çۘ1clҤI6zBSP_Z[|ԗv[V_.ŋOwF}iyX9s:Yҫ"6^e B@@@@@@]I^G?-[,Z2eJȑ#M=p0e'bV\i9瞋;vM6-!%K!/qtK}ɺKù_~W^ƌcrH1p>      d.@`WN;ec;TjW9(@ҡt "՗]6}kJ.ѭp\|0=裻B@@@@@@ 32쎄Ds8EQʡ(,h59E)fnثpWF%6cƌ.s۳qzo޼yQގ9昶"      P4Vb-o6REgPREgj9. 5VY(P|f]>yKWv͜9,+ 引eヹv)+|=w(v      @{ 9fWr(J>/E)aj9w9 ȕ̕n@.qNaP_] XF@@@@@@ ]t]۫ y+CQ:?E)3[zZ>k]v|@s\\僻¹|`׽%L`W}l      ЛvfW<^mҡ7REgm-J9%m+Wv뮩] w""K}0_냹ri]u=D՘#      PY6=N6筰REg7Ϭ'oj9] ܥ\~2[~|W8]~[@@@@@@< ؕ@zUYr(J>bwE) DSr]yk.S0W.W7}0N_suwGRգF@@@@@K^m[ϼo)J95%W WV؋/-UGFcGؑ؆#A ɺ:^^ˡ>kv{ {]~lK+\>խ!V(-\trT\-U?§XQs[gҊ6ne֫¹^wuW]U)y@@@@@@H.*B@6!EQʡ(A4 E)}](       PX [tx6FTREg%Q=Ry솻k㇮fh&OGΐ٢Emն3zs$@IDATmmq#>+oЮOY0+w"zv*=v(q޼\0U6q.KAbA]z Rp])      PLYn-u6 REgP݊Ry皵%=1[;lf{vopъ)֮]k<}םm=^k=)m^y*vw=ts' :+ ZFP`uQPWypK^~Ro\w}7/zZ A-Ǵ}(F胹ZA\>ϵnΜ9 ՘#      PY6=N6筰REg7O}b]m&فo8z@ZͫݩS!Cڃ=d7rmlmQ)/n0+ vQ1箨.LQ=t dÆK>6fav릍҂]۲ψwi./@@@@@@ͩgo~6bq-CQY؊PcƋRy5}kn~p&^P.S&?ȅx :r `b;lʶ)ҋC jEP; Zz9nOWx<Ÿ. A>صġ_N[;}À.vs,@@@@@@n Ks+:o|Rr(J>QEQ!/|h2WZNjjד?zJ+G گֶruaI!R&W`Wɞ]F!C4zr\ؗ⊂ .: r_߿;/ r[\`w߹x]8      - EK j_>(吗|x|?Ǿ6hYvѐ}+VZN};l̘ RS`:s/I&#n[SZc+V]c:zR`4u!.knW'zj9GD@@@@@ zk>nh'nzn/M# C^yN:hu X Z+ko~uڻl7pe]~ 6 Ҏx}r U^u#5*Yl.ըc׷߱$]8      - EK j_>(吗|{qWىǽ6tS[z. _VC K_o}gs7Xrh7UL]?cZrݰnEWJ/)N&o\`jN\PcT`g\bv}vd7#=vf,#      Pt^ ʸRTIK+[E)ťK;Ͼہox-_<*J]6l6n׿f}c3 V:f4/y 3K>mWJ/;&f)6t1U5tMvUVZ% icQ8      m E8TQ*RIg͚?CRk_kG}t{yYYr(J>RGQ!/\v]큇?t5ҖX c *G7M{d=vkڎ3\q&nU gn^!۳8v=vދ+}`2;eSgÖoꪩAmV[of?}g\ XJE]|d{M       P.+!c==܆mNE)]֩υno_5:mg;\ICmU:A&l 2؆n/Zj?vm}7F(va(,ON\v vݰb e"ٳo}/.rv ҨQ6sm϶صt6q=v}]6%c!      ڀ\C矷n8OV?O{6xc7n\{yYYr{>Νk_2)֏|#N;eV։) \[ڛ;6d7.k[VZm=ֿdӦMiw[oǖ}#gءц6>O¹us̉=c9C@@@@@@vUwo/l[n>L%\bޚ8YYwa_u-]v>6 2^\=6l6ix{5ѧlmF{ho?(`pCw=|9W^'NvۂT%      @ju1 v彾Xž|L@j++8Y^nt 'mK/ۊ+m+Nv>zԑgw{~B~ۭ퍇ٶ:nۭ;u$[=? *%;qS;|gt=vE]'m'>ic]`׏P_r=v)WO޴ۖaO]*ǮFk*!      aWOuG*J9:.Ff+lElR5&LlƏw,?aG6\hl-e6n#9h֕t6)9TuSϷvzR`׹ӾzΞ9ݯv):7g^ºvJ-yV"      P\[v-y74Ւh7ԗ+ʢCQV}ƿdY.n>|mT{kwuAw޻dpxӒͺ"C3y * {xv]`7섍Nr]Ǯ?[uι6̳G}Ծ. Ÿfk]b=& ¾      PJ' vuC}iVTr(J>+T__]ا?iw}6馛?~mv_ow6{QoD.E[`] ^ǟdL ӟ/S]?}L5ڗ~&KC1nྲྀ!~      TL vtC}iVTr(J>u7>{gȑl-C|[.O%AW`ٜYykb|Ɏw}|E6]`oN4jMge?<صFCs]m jb      9 +DžӉuCs=M2(P|fR(9N(P|Th܂6fX]`(Ʒ;m۠?϶g?(Kv}l|.ݣߺ.z|d;l]`PmJ5s-Zֿ9sDs1ќ!      @e*;.J9%y+߬Sr(J>k)?/#,svz衦FQۮʡV<v[gc՝6l[SZno{3;ً-{u(FW&r=XMOُoXzd%qCdokz쪵2       ծlj|k=NQʡ(սϢփZݫ吧Z˪(ۅC0*z`sb,JiO@@@@@@< ؕA^z?eY(J9%e](P|va);^-ʪA/ʔ@@@@@@)X@6REg7Ϭ'oj9պH`WlI@@@@@@w+REg/J9%-/WˁU<ZgK      -@`Wo~^Qr(J>;\-?|Qʡ(lyuZv:[RF@@@@@mz}6CQlREg r uْ2      @o {DWg_r(J>[^`>@]xvΖ@@@@@@z[.~g߫ :(P|v8[~CQzj]#u      vv;^mE)ϖXЫ@`W*]%e@@@@@@ ˿j?(J9%.Ζ(P|:|^-ZWj-)#     ]]ξWAtxEQʡ(pqE)j9պG`WlI@@@@@@w+REg/J9%-/WˁU<ZgK      -@`Wo~^Qr(J>;\-?|Qʡ(lyuZv:[RF@@@@@mz}6CQlREg rh$KE5hРXKs-ߜ9s:c}b@@@@@@ؕBSΨv=1Cp Ty//KˠH9(R}o 2]gùko2+:5=էpk. :^nu]G2      ؕ˫ΝkVwF;+V<`#F3gv,RRkַR/R}~֬Y/G#GF] ]>qy|@sS+WocƌC9[)8/@@@@@@2 +3H'^xLb[lEwT駟{&MdSNu//KˠH9(R}UC>f&lv)+ q}PgnK/ ҹA]Z]>-Xf}ݻA@@@@@@ s2'-v˗/yE'A]/Kߛ|m ئbVc=fW.Do]%;׻G+j}ڥnuS|]:k k-+Ksk1G@@@@@@``6-~a[lYtQ=kwjV/&IF/j;vM6-85K'O}is[Kq7[ ˨ۨQwjW]ԥB4&=O2C@@@@@@بg=1,@N|ҤI6uCR_77Kb}K%{:]ҫ,@O]mx@@@@@@JvUa}$^x{嗣!}od#`41c5,X'KkKZnKK壞ph@o 6y(`Y=1!      @}v         @j91@@@@@@@@@ >/F@@@@@@@@Z.@`Wˉ9         P]y5         rZN@@@@@@@@@ϋ@@@@@@@@@ rb        '@`W}^l        \s@@@@@@@@@>bk@@@@@@@@@v          U[#        - @@@@@@@@O@@@@@@@@h]-'         @}v         @j91@@@@@@@@@ >/F@@@@@@@@Z.@`Wˉ9         P]y5         rZN@@@@@@@@@ϋ@@@@@@@@@ rb        '@`W}^l        \s@@@@@@@@@>bk@@@@@@@@@v          U[#        - @@@@@@@@O@@@@@@@@h]-'         @}v         @j91@@@@@@@@@ >/F@@@@@@@@Z.@`Wˉ9         P]y5         rZN@@@@@@@@@ϋ@@@@@@@@@ rb        '@`W}^l        \s@@@@@@@@@>bk@@@@@@@@@v          U[#        - @@@@@@@@O@zH`ѢEd[bYΜSE` lԨQ6~x8q"      ]s@@Ȼ,X@0W !mPfmFW9      vQ@@@' FkF5o6|p4hP% *P*lK/}/_ɓm@@@@@r&@`W  @ .5ܫ @.     @j4A@\ GGy6m;6%s Xl=Azkel/?GC@@@@zR,vN@{Y&b:Fk 6]v@@@@@Z*@`WKyI@ {=z͘1Y& 7o-_赫Ca@@@@@ SE@tG}Ԗ,YBo]%'EF[9     v|@h #}-E@@@@hTF@F)JNh0s@@@@@* @O@GF=Zl     Ш]ʱ t ]S ma      @ U@: Pz@@@@@Qc?@軦(9@-7A@@@@@ @}WaÆۑ@ȱ 9.PF ,!    ](@`WjSOWU3gG뮶N;~;蠃7n\Dk׮/~a?Zʎ;8{[ډ^zX"'lF_м~;{衇Tzu ,_Os=gl]|ŶFo/1rH`Cmm_Lb'pB >]}!t->,4.^z~_XTv}OfO<͚5+zuo-3{h#M74Z+mѢEkQGU̓ tH`ܹ{1Sw:}ߨ;PU@=T˔OJ7-B@@@@y7쳟]x#6l3ඵn0s(o?o<>}ّjc=׵,( Dzk\pAR_(`{pwSƯ[O?{glM6_м8C>] &9C /m|_~e=zto<0ھk_׭\_;Cr)$~B׹fЩ;@i4]tEv6M@1t?}/ 7l *vc=fM'&]@ w 1I=Sm7쬳x'@盎d"    ڀ\CQdY_4+aر5Sm<v=裶VPoЉWPɵѩk}/}Kk-$*EЌ3z&K46ou`W׹ά{{ّ̄ vu {P [td?Orq9źrF]u?s쯏JleYl%#Sdl7>ؕ"+C@@@@ +{§=[ky3˞c5K76pC;C__Ow](VvidjoMoz ROcWmuڜ٪ fu}6RSϻ;]zmV;(@`W9ta,YOQw}/w1` :*ٳgD|pZ [.Gi#FQuOG^Ν;7|TW0aBԳ{!R>~k>^o65B 6X]VLNmTWoM}u-TshkYUk` k}4OעTk]|XjtVxnٮj'No:ϡFcƌ|UO;: Y5'M6s?*m&JC,Zϳ :?^OWSMl5*ZVS>#ʓ?Z5 >;MOri U>0|T׮]ǴMzT׭[}3TӦn=K4 W ~Z`A#kݗwq~i?#Q'Sr~k^K`Wa,#ЭfͲC=4/FjF2\CSwnXk#7?KA\i[+]|w:{{{ᇣ;StMM7tԳ>kW~u5>9Y^s}ٲeˢ{M:[{yڤ_Lv龤;;Y=g}?{%?w\W]titoW^ǎyIyJ76,#    U;&\~}-{?|q%.߽]rA%mV]#hn(G/̛7lqTLWik_+ǿp?wT]r..0:6i|vO;2n!0sUvAS~l?ijrWZο\w骫J}_ZP:r *ѕ#^z%koi }{K4͜ ^,?q]Y5  W [ Ac$\S|lXyWg2-=V^]~z?K|t駧^]z т^yN~}ߓҮabz.*M/+.X+^c^6~=kk{Os}uP=Bŋ$y盲x    @ X ~lղ~A_:tkSUYRaø v=e( ǣUqMeЮzqsZXۇ]Ci0pFK]ux^iIn&qdb3/-~]2\a+mf6q< jؕd|7_iY Z뵫pҺJI[L`WZz:5)@Ov)Ku.LڲoԬ:Z4\>Ss=(HSؠ 5!tU,(;^0R`WXN(/f5z.,;G&@}Q?+ RI OD)RDT"E@"D?"4A^B"!H|Gٳ3;{{s)gμgvfvγ(R|S%m8lRJZgy%l9]/pD8oݚ//xΣV0[6oePyV^MYt꺑w'mp+7. ZgAWNne+e]?yEX^IKVUYnOa\hܯk?S[V8@;iɷj9*%l1S5-Mrt6&yG͓M:5.:-إei 3[ti$@@@@]CqMzjc%]-&0ŕ7 ,˫^`G]ZQ+\Cbt'嫇hYŨI7#Gִ4^ѣk*h[-"n˗E-K+ZQy- 3 PŰ_k_JS:OCU|q+) luh|QkJj ^`W|ܚ]dSv!P@qc];&=byPǹxø.Clj^qkyR9L U޾2L>?Wԉ.E&~6弸9^繭R͞t.zW."+or-ۋx .f\2cly) eQP֘T)m9U|6إtLZc R .>*݈S+ZB`nmq49XGYϔ/nQ:g38/ZsqIr~y']eϥO_ b_]tuh8W_6^#0Ty>EG'y%kʷԥ.iܥ@/kK]ʻZF}V&]mgtoi)>>tQ_{x=~mJj neԶ|eְۨ%qvA]g.El>.{jKI |kwygol:C@@@@]Cmvh{uAkPA6[#gU|RئiX%0eN˶ZvXIaU@>sz@IDAT8j_H3h?UXW򕵖ouEQyr6TUzh_x΂o#U7|kW,h9XZO+vc-{ێk<|hϱsJբftηW[>WG&CJA۾8I>S:Seq}ϣ8Q`O<&8,/U0޳:+u|>8[V/|Ÿq{J`>Q޾ݶ==REF lS Mٺن }+vn?ؕW81a|l+@ЦPG0Fǭe5byւtlr>U/_y<+ƆڿZmw^xܪʠOwUj İ1\U f}T/r.~,O_1q뭷f6إ.%Z۰uJּyiGE;Euhe_)1NǏh`??ƟQw|W^>z|km~/ SX .dNZ @ _׍5tf% 'A]G]FVVYuIjKw1c|_wC/i_w@v>餓IUZwXv}]d߳Y9c0Ԫ%9隩?!N^ݫkvw}{l5.ozM      kȾ ut5T8~hZ|zo)*-xYͧ`#UΖIW2\|*qW|WTW]VYemwijU'!~׭v,=,v+!N*lh-vʯmhyhvn5fͣ@ ?^sTG<=.KN`ίqka}>XCehPR~;fyNA[~ټ yϟZ3q6R]Yh-ZQ|nVLK :g\+*Hz7ʣ䝗6dl8Q.uk/_-۲>SqxtAl`.8_7s)PYWiw7:*;_yS;_}7~fV+]ڹV_yYYm[(Hʶ+^]-T:WtnnZ>TtgmɦE7G@@@@`5Td?mꁳ(q6l$nƦ*?KZXpECzy4}كaoTIneaްl`׊m%_ypaɖaMP>}M&~q`Lܢ }&g<v{Yy8x@yIǗSЀRإmKlPT|v֭t:+/8W*oi7zo.(uN9 vT'啩RZbmfsqkiq^^cvy zuokVYOvj+-w? zIm}0VTL`WQЖ?S4fo4sKFXr-yZk:F(K`yΫ((`Ly+oiUN* tƁ]7T;rZ宧?߾Tڇԥav)6?5_Y:.o!ڽVV{trꚢdߍNbI~&G?^ ʻ]O/NE]z8+"捃.t8o-ɖհmT2ZD;z:ؕW+zh]dcچ;6MݔjmZG/k'gYZ߆=\:^`W|>`xrKU2yN-EX1o z˲a+}FJ]ts@إl~K>*y ҹ*/u:K%FU6+8_^]Syi.U<Ts?W~F]q_^y]r5T tQ{. R\5Θ`-lOq?W>5rB33uus`m;찊|U7J:Y4 jZ|GkuW+*]ЂWy4u~DtAe>56}J[Xؕ8@@@@j51u*#ouU!4~W&ʤ뮻*__(ojټJWOSfla'o\9׫1];zn`Wd|ZiL`Wǟ/k:Һ "r|tfن}{U=GCq-uk#2K-c;s/{ƕO\yN`W^ww dU: :SkyOObUKJE]j]qmWiL4TE[y*U1?|&[I d3k;4Q4GZ%,|)إrQRVvҥ:ZT#0XtZvvh}Num 㸷`ii U93];3*MPq+i[`7ӹ^%5,;Z:\&kʨֿ<݇>Ok}uYkvPZASq{b#    :8r_߯|+ѣGg5>4vت(~H_<.E]q*@ ɓ'gy*o*{UT^:SТ_q[l[mz3Nv],)$8qb#Km8]#GbeøL`W_Vq`NV 47_YiEQ;۠[ Vꪚy,uk#}֟i}Wjʭa8`-.NAR ޴s x^嫤sscu, TFʯJ7_~?C?yhX- ˻8K\M|7[v٤cRxucWg uOgG.-εZ˫ui;5| ֪([Tf>m|xm6[CZF@@@@Xbb(VFO>dEU\y\I 4 um 8B-v͘1f9=7n\E(PKN ]IAq@*CH+(*lmy+8A2Va|7 VV@_Pk;M{Yl9IRA(X'ߍba jAfcN4oCw۾fن~ jKyi KV6?v-"it,6?}{QcV[mU3 .H-t˛N`ʧ T_X/KUt<輠_h^YjtlYf;eڹVk*}YC[M_[|}S?Oux    @gEAA@P}M-Xe5mcQ`fTlHRazȭ`fR8xŗ)|l`׎;賯ZAP޷6c2Qv?#ox-~L)f4o;wSڗut`Zm{oqIIiͼn7:^`6@So_qZnu^W*b-oP] TqWQl5YZإr6:`˪@[}l i,JkYQ_nL+_q틾 Ru=ko)0veI eߺ?m8D    @yʛj*/aoCr2Wut`PZZ-N-;[Wjz_vwy*Rv2-5żlʔ)Yy?aSZ*S}0NJh{55յo$._q5iDc6,ƭY˕Puko~vbV|`/}.t;vlK]e׮q`u<"07pR=h{&8kݣW8ʊ{?[/9~ەPY`.?n$nMJyCH?dv|ɶh6lZm +חS>Nݿ(A}t=iҤ3>jtDߘ1cmz';oj2`    CD`#yXFBP y/'ҿeY&$q #tO>dHZW^9| lI \a„ !ynʓTp%\2 6nTԦeJV_} ]NVnB0s6[jj[_/|4묳j7 Ie@H*كwtߵqA'($A1N=Ԑ裏cD;۠5| I `XiҲ2,64zκӓψ9?4?IZHBZÚkX`뇤/G ITHZHϑ/:eRB{.=i[l +9昣`F7:xR 'W$ -y1ZU\[u7n\H!L?˫Jjޭe.[W^y%=~ARK-ٲ5SofHZJyA>@}y=]nB4nkt}GjOVr믿Cut}~p0\7~3saOn=X~9/.&>{rO0ۇf M=Kﶟ wF;)i0== \ Ip}QZ,H[>XO?tF껌K1<&&-؆;[$ dOԽ @@@@hIXzU(W=rE]ra,}䩊^a4bĈVrā]Cn P iU($]%oQGU g'^f]ɖ*N~+9+3G5k]3B E T 6 $]    @ "@ E;ci%C=R_|+b 5v(3hԥo.`nzcnx/<41 J׊WTZR] K:Wl"3CXcY>>i: : S7Wo n"    @3v5< PhGvvRA߷ >Pv ~w|%<3x;Ҋ*H\>RWU?Cc=[l}.l ͣh     Ye@@YVAv1 @pWrE@@@@ ڃw  ЃTNg@6nǢ     M 43" P~Y }J     vU{@zP l2 І׍6X@@@@@ibF@T=v!}#uo\@@@@@Zj! @ PA߃;MF"    4-@`WT̈ CU*Xc0lذl @*Jx衇Ҝ\sH      ؕX@!qƅ3fÇ9眳ME(+;<>aUW-8#     д]MS1#  Ug}6a -PL @j8qbr-ׁ@@@@@|] =$0usυy'=l* @Yz*L>=,a,8#     д]MS1#  e뎑V^f@.alϑ@@@@@ 9'B@!.`vi3WXa|do1 PF7Eh"    *@`Wr, CN`ĉA(rא۽l вԥ Zhrf,     @v5 l  >ky .`?c0lذ@`+@T*w ӦM jqA]=~`     @? @_@'O3fRB@>}b-X      C@(P믿z-  Us=a'kd @@@@r|Q<@@@@@@@@=zo         vux         {v>g@@@@@@@@@D@@@@@@@@@}#        @ ;!        @ {-F@@@@@@@@. wC@@@@@@@@ 9[        ].@`W         '@`Ws@@@@@@@@\.A@@@@@@@@zOl1        t]](        ]b@@@@@@@@r|Q<@@@@@@@@=zo         vux         {v>g@@@@@@@@@D@@@@@@@@@}#        @ ;!        @ {-F@@@@@@@@. wC@@@@@@@@ 9[        ].@`W         '@`Ws@@@@@@@@\.A@@@@@@@@zOl1        t]](        ]b@@@@@@@@r|Q<@@@@@@@@=zo         vux         {v>g@@@@@@@@@D@@@@@@@@@}#        @ ;!        @ {-F@@@@@@@@. wC@@@@@@@@ 9[        ].@`W         '@`Ws@@@@@@@@\.A@@@@@@@@zOl1        t]](        ]b@@@@@@@@r|Q<@@@@@@@@=zo         vux         {v>ofs1GЇ>4d*J>}z=s5WuY̶ EXtE1D@@@@@@@@@U?>,riF<ȶ}-\{ae >l:뤋_r%amm5Aܰar? ~zyʔ)A\yn lAޤu D@@@@@@@@ES/f=jԨ0f̘Wfn!,eWDsOXwu9{)kwsNBꫯ^8wv칅f$        0;E$zQ[on<]{ v@@@@@@@v }e}SOa #F]oEY$^?;5Peց       tBN(<"[6ʽ]Uv֋        ˞P9v3<3L:5]㗾|jO?tX5Noo}fxGµ^mop-K}mVa-Er_UW]?w}7| _[ne]wtK.$l˿ksɦKÑ#Gf-Z/h &/8/~1UzaܸqUfUV oqx̙3\򗿄oק?}s=wHVZ-{ a$        vu鋢 z®?t_WW\Q#i%/B<:{?vذ./첰{W^y%n/<0zh{[5 wݪqfԨQᗿe^`ף>V_}u[,N6-;U:fwgqFֽꪫf};,vm 6ؠj>Ý}Ufw T!1eʔ;?OyjOVZi~d+]nj/;@@@@@@@@"@``S*gQ`ZRԥ^I-g)k9Y_`VU&2fm+|p 70y<{ vhqm]ԧ>@uWgδU1렃 z^VJZj0iҤ ?묳VseIAOJz(e 7nl֫VJ`We]i3 C@@@@@@@@` 5X Rw4wt65fme Zc=6}{I'&Cu7.Ժ|,x?.ubeo'N 'Y׋_8ꨣזG?_j!X }?cƌ%/y*'?IV⼚-{U{@@@@@@@@`5XTvpa뭷ZRyvZ[VoUپi_ ?>OÇEZIR-anjKRגMZk-_0rl{ղֈ#i68_r2{?^z4L#jm*1So       t]ݾ:\>ص{LY+X{w\dCͮ+[ZVTu=-YgvuךqL寉oFjeu*L0-G z:p1d{aO[ZqO?M¬ص"d YE/4mڴ0ΧUO!>f 7          kNvs9AABeS+]wygXojVeAHQY:Soư馛ڤlx>}_</*ɓ@o=libl&Y@S.u9s}K_ sg} 'NS?OΧU)&        @A:Yz]ZOU`Q`>t{oX{krM7/)uc`ױwߴ|wqGX׻{83JreI_7>,iV;c8sU7.Rooq|9P]e `        0;E=ܴ((j s5Wӫ1cƄ_i|n z粠=#zA-j-Bi묳NkhD3]SN ,uUxA?<(pA`I0D@@@@@@@Nʜ}`^{N:餴å^s='t#뢋. ;CZ_zM: ߍ]*Z뮻‡?ᠠ+%?3<3nfk&K|jLA[yi]v cǎM'a˛-,\LԬ*ʦD])!       @#;6v5*%,ik]&MJ_uUa-L_7?nE9rdկ~US|;7M:^`SO=ZklyN6a„0sg9vu4n!-^Wֻ]wQÇOT? ,P3g5ھVܪfroԍlljve~@@@@@@@*v =vviquz9E<, sz+,i*Zɓ/noCG}4ټz1mڴ0V7kĭ*+-"\s5Vlp~94;.>Ukd3]Jn&ᦛnʯ7͖f4@@@@@@@]Cq٦z]ZC rHn0l߻ロv!H^|[ sOXx7?)7|ayIǵsG8 kuI[n¸q¶nylإɫ:+^\veam߼7@6p UӴ/lx6SO zsgJQfx|tuFu W[mto){nj!        0l{6 R7| 5)렃z饗AAو/;ps"Zj9+ RЖm8㌼Iul)_e#r^OΙR;;?)|_FSv@@@@@@@@]l[\ߍxeI-31"}{嗧-tٴFC5zt;/NGy$e8I&7<8Y6FP`oc=V]uU[46 7Vqϯ~pi՝O뮻ºGi]I]Z*ޏnZv {+ͯV6ܶ,@IDATp};e1         k,3n#9u㏧vÇ 6lXs 3        @/̬@@@@@@@@h^歘@@@@@@@@          ռs"        "@`W0@@@@@@@@@ybN@@@@@@@@@_fV        4/@`WV̉        ]J@@@@@@@@@jފ9@@@@@@@@@~ _Y          м][1g p ߯*K,V_}qA@@@@o=L>*\0Ux   tJNIπ 6fm]k#fX`5/j^xڑɘE]4|CʝHL7 ӷlf~80{wI%gwM(&M[w5/G@дiz<~;-\ssJױYf%=oYgJh9hs  -nhW^ :_i&!@ r?KI&Um:qA@@@:%@`W$g@\W[m ni8蠃_>Koe{oLW'> L*#Lpmm6`IC Xs5C=WlZ(SvUM7I^i}( {awNKxk3g sN8£>Z3a„KW _Wӂ9hKָ8opQG.χ_|f"u\ֻYַ_f6#H(t-Tx\7j}駟SNM_uUM}k_ ^{mXveó>ۧ<{gjq衇6~ZP9_EӽhtLZҟLl++P~2}ɓӷsO:$t"   @_oصn3<G^.J뮻nvy(l= O>7ˠꫯUOL [[Q]w]|~]d\y7ʮ6 YV>kcǎ KZ?1*ۨQ kƏYfUW~^3r#njvţmݶ߷f0v)cIvg? w\;(өS]:F.NX`qe1G-Z]ZW6nܸ*k6 7pCXb%BQ+ą 0|O,5~ߦjEͶ}߬ .uA%VXa'v0@@@:&P!!0BEI`W?.g'uOUoä TkO+2$koΐ/Rٕޤ IèՕ)SO=mg*Yn YKZʎ$k@\.%A2$V+ӿ|~zlW|CqB؝n6l3 s7Sw}'u>rl^޼ݗ^zn^L[Iv$],2,0縲[je/}){U7Iw|ts'׼NZM׼t.T՟nk]I kZVwOSz53 uNןwwc9PReG?OǨ@@@@}1"?袋*I7z Z]%ݙlҙ5KWeN`Ww쳁*E+n R%]SV@t@sw+#{1KWJҝct +8QGcbCk>Ǖ 62e?S/ME O>d%iyvhǕ 62eglP){6__8@O =ӟ4ۧz];qĊ){)    0TiÒ R\x!k6lXf}ܭ~뭷N[~CmL|'xbxwiYf}ж(%]3lzI׋h6?ź_zem}sK&a饗ICx'œskl׿:mR>ؤlU c^;|_Lח<̘1#,rAa- 6[^!i],?6x=zA'- 7ܰj~[K:F5M7 ";=.mUVyy/N'%v^}᷿mxsvu~6̜93J*/e_~yZd*[v[- If!l*ܵyIImZ:i!L_'݊/S3ckI3% ISXs50 _ktz™lBXZy-Hb W^ye?~|C2`zN +Be϶2?äI¢.ve4S<&v)$)h[o5$7_Z-"|_9X&30mڴoJϙ~{;sΉIWl5^Mןҷ`e:jun-o6vti躤-}0bĈ K뺧s%}Vo]O|>򑏤t.P-7pC?az޵inF5?\g7ҟ>3zXuUCUgyjNRT6L_avŬFU5οy]IPRz_h}Xҝ/4_ IcIGuTa{tq<`k^^ҽ7ߜ^ctw?-yǃt=[;:uֽwݐt>;:3\rIP9??CC]F>q#~'cFe]fX!Oz~{:a{e7V:ykla-\7 ˖] )曹a}Nu4}{@~LqҽoͤVq/r?NZ tPI%jϗSyc~Uʕ\KUOjǶ) ^.~iu73t-:OԪ?^)RyA]7ͣL_VNV4GFqJ*o.󌗷I`OgS'$@f/b41> }Vl׆:3/AtJulVI*~sˠsD~.?F-VoZaoC{V.V:uk2^eO~|y-u_cǪy)!K6ͫ>R;8$`)+G];}kݛrCï~yzkukɤu c&aAVn+ y-Nv<*\U҉{N\͌L!   t-v%Oz%%izlfYj])yKZ8y(6tyjaZR+Yj-K-rhʇ~ZPkYJ OJ_}_E8WI]:ZjAG-7U"[-Uܟ'y~I_LÒZZ֝l\<,b",$_T9j H^ ־t]kUF-~+_Hk[ԒZƸ _FkO>95YjBIHk,1+{!s:J+X mK-~ӱ`VH:+x_I~֪W?򔵆 UByT6rrKeZ@L+Sv[:sCR n~}Ϸoc'$AN/J:hYJ߂ .~ ZJ*ltnl\֩YVkR>{Xk6֡ɔ*I@E֢ cUkFydžFE-&3ϚoVi?gMa.+9Y-!).W2}uop 'dulXj(.ZRR]N^gU--+s&Wku תVtKSe9%z-~iZZSʻ'9O)|VԪ_kKꙎ tog{jw&Z+$S9NNjλoZS+;qR+=(ijEjEKFZ~_dy/u}5[Z) Z9st .p@/[vբR|qjeN-F)\jZM2MHڷR;8߲-v%OY6n^ӫbݻ){_k6^m}ҵş'K;:wwIQe/٩5âm|-58|fvPڧv}#,u֢4nܸlO;٪ƫUs1c6)Mm ϛ~]=RJқ_e#r?Nl'N{VX.jJRqW d= %8j-"N3:ں՚?uI$\UWkVlRYY5MotQ GL,ˆV>k:[5[[-tI5jg/cl;mϖmgu1 UԺRmINٲi:2&AE4ߎWmΛRqv~j0%ӟYT~g8i{tiҽx6]8i}I6=Zk\y%H_W_}r$]et~SM׹[K5+ S@\Q=gl Z)SR:y~ֶޢ))99NI l6ݷ$߫<R82-v^EI$*;?mOAZ߽923KYrOy"o}3.]C=Zah$AUy*&ߴ]S[TLF6{/թeЮzfDB@@@J@'d~}e [`WmŁ]~Eqz_+F7i%$/qzoJL^ЙR/ |q?pV%f3w 8u/ReoTYUAEl*VZ^ *)T9fYEQzeTk%S"Lf+|`W^V<\, x[nj?O%-Gլ&i(8xEv,UVz7*>Kqq;7.m.zsSm22i &[dy)i#'ia*o}~x/ }j||E]ZŬPw>.um'Wk^;Nw^`^[.>szQ ,S|^A*m&uýTeo}K v q}lF]'x%vy,ie8wV x4)7N:7iEA6vyVFN'9f|`WzWV<;Fw 4KryYR.ھhwhv+    POz:Cp~mZ+'/Óª}bWΪdM$.dUۤ;إtPx*CHKj.)`;$~ <yEL[yU 貼㖥|V[mkL}!Vtζ-^l7k=\aZ%ݤdS SUAWʜV6K% XRsھ;z|eG]ЉcƮKy*v|qK;#qk6 ept[3*kRϚ2]%+{\ wuo^+Xd%]f5Z>O)ZƷȢ'_uNWP&^(߫=sTjԵ'_wҼ y{h;N4-:a[kvH=j^AeZ){Vڹ*ߎ^xk}ft m65=O)uaeۦ k,8K=h9Wuv6i&]i}'f//:,)َ]!S':]-2kd3R.iwH`W,   ՌWƒZꡕ?NZc@{2Ӂ]ү0nZ2&4o"eJfy6]*uȯ?pVGV=0] wV&FZv=+kvVN+o R.UZZZƫe`;#f߉c*t]p^ v5\&E[ݟɂmۛ*'/)o ¼dFd/L5O`jh/bE:<4㫙H? |^y]&꼫[ol_VijYgU*6ҷ,8a„8(h _+[|Ѓ ʤj읺*s}5؎o},n#fS3A:ʫD\2]mcZ|Eq>p͖}[|?*[=O䭰cvߒ.ص+3fd-,˒754Yw3â@5Wr,/g=ꄻ_`jmgՎ9/fg4SV)-_ ^kCe]*pS-AȻ[pypU>.?޿l);NG֢oMy'~|Qzxg}{Vީ{]>?7ACpc3-F]M+ovqe_{3](O.]ڨMVyk]^ EBu'ZmT[of:y]#5A@@@v"[bw8~ih!ulUGJ.KӦMz ˪3*S6Oƌ_Ik&^SU}VlBUٸ:(o˛-\V%+.lT% (@hs}MUʩR| V9( 3ʤN3VS(KU jRIy{3t𿲟5N]>~;zM6Ɏ ]ƏϒVi9cHب%.#Q \V /_}d_EIAb{1_-}7[>؎z-Y /R=o-?RRe:}~./Cy}Twev{T&wZԂqA[`׺k5r(ZW3L]rhj'h5{N^vc~@@@hEVԆ2 ~״7vq_q`2E+]tn#ͱl`W_U |EFQEc+MC?iҤʏlZZ_Vʮlĭ~XY>lNv]yYcǎ1lBW(eo;.إ [eR')rk&˷|Qs@_ꄻ7.pbǺ*n>]ʿz-G +[ml>r}]~;/:@R;ǩ坢rrʔ)Yʿn@KRNK >XՏA3{VgLj&HG{pu9&l]BVS+牢u5sﭴ-Vv{]# uhove@@@@`}0 %ABzp[d5=.QN哯:uVa- Ӫ0keBu7ugEz=|׳*C_vu]Yp+FmTr_\T~]FLnE`?@}ZQRQ&u3{Gft:KǙ_N8f3YL` h wgۤʷNe?k*O;-vuݛLτ/ϣ>E-6F] f??,g;jحG#uc籸i6M~:[>j5LoC;iN[mUd[칹*MAy/J>k^J ۷͜:}~e:9L}9رvU9l2 y".cQKҩ͛`e5߃ص;feѹ嶯5qĖVyhE3^n9O][KuhO`WY1G@@@VjEm,{dms3= *lں:K݃{+*|:i_~Ts{;إٺ@擺 &d5ە…~nfU`ZdQ+~]z@N<,ׯv ;ltu☱m+rq/ԶEy2:gMl'~ ]ةR+](8ێy)pYRHʅx:4lk+m '>_3]>8J\wu>Տbw߲Gf'$ҙ3gɕ믿>?@;ZAquɷ?voaLlCV b!H֗cLף&~L!r"sI]_MK' [Sԙ];vlƍKłqU!bO 0uNj!C 3u"λ_y%N^3ڬVإIP_Ж>]ϥDIt{\_5.y_a\1Kۭfb`*Gs=0x} iK0aw0a641=tM> PI&b/Djkgv P,P_ː!CW1饗K_Bd 먣EƏ_4d !㒞Wuo2ImW8i][]c޴is:S+y.UyKU29>NeYYإÄ{#,?V{R^08' 6lX#>3Ye+$>JFvMlCCLo9=qN>{=B3s)/ᕌkF1\xRaj[ġwj;+@ @@[vE@M\X.,®߬_V8p`:]6KHn3lkr2Gإz(^!4AoWV~-]/*\[ YX'veMzJ'±YZ 4n_ixR-mwֶ&B^,XKdy 퇥Yk&LU+]g,ZRZ.1j]GBp J]{oI[e&uk-a|j]Y}ѳ1~Jk)J?gJyyC:~H!Aa'ı!=sEp\Թl̍qYˋHV c\ͬ>ʫTרwJl]1.9>^Vn:>=5t3~mkQSUu'N uY-x<>"ƀ0$)MQ(_6z% ㈮tm%\]I`skwkuT{MقSRLT)XW{S$M3Gm碮:,OG9pN,$:,TN. f*WNSYͱכ{Fx=NՅsСC :/Yit-:Bp=ЂP^cO?i.QՁ⼅:oy+Ul߈wJm]1.9_zBbΔ`OaP}ehmy+'ZTSٳWU/أg@VR'*| H=+N#`V̓?g뮻.&/B|hjW?4 Oa} O*'*f$p v9 qY4r?o9;-[%R>C.Hׂ  @ @.} AZH Nw_+ܩHtҥKks^PZw B0Z޽m6[ [n]'*5\ӯ_}>w{ԦL5v7xc[veso ~ǘXz;>ݗnܗ[#QDKy _d;I> <8n'*ק^ߟ,HݻqBwn?͉,kMרkFv8PD$gyMH cmn[o=[b%Ϝ9Ӝ?sJk߾}MjԎ'xœ/iM@';mBX>¨dZ~MU^EN fCםMN`z7XtEmUV68X{8ޥ*F.[$w{u^c>0Z^C{êiU]Hxqn5ְZW;:{\Nu]׿GvI: @ @ȍ®PvLb믿7܅Sxu"mNחF|5טoޅb013fͦfmf/fB3T'PG" 5$rp!.ԩcwi pyKk]sZ#Tkt:޾9sX=Üg^/~N2X >㢲p@ @@v T'Qא!C_pk;YO+7N(+Y %\=K&<+hw G+$1F+>ys=.5B>/_6_}-rIU,:L:JU$L9L\HsahVpV"/YJr TPm]wMZ>@ _m.|sQyykw"#؀ @ @i jSݱC9&NXBYޯk!4hI#6"3f$a8՟f YP4{l/\ La䱀Ա ēcF[wرc}`IZpv=L6)79ٳglޥF͜~6j(_#sΩQKT @ @ @$t;`ݱ;u!y <~J:hLiܹ&mq+ILcc< .">~竑 >(Ԫj&L5Xf6:, xB{F0`@Kw?G?` {VIy@ @ @h] &}Q5k$oF}m9]'ĝ:uM4lΜ9֧O[klM6=zɒ53|7nz~ ZxWmֵkWp M" I PޥGi@ @ @@vA: @ @ @ @ HaW0  @ @ @ @@vA: @ @ @ @ HaW0  @ @ @ @@vA: @ @ @ @ HaW0  @ @ @ @@vA: @ @ @ @ HaW0 裏2wۺv횹/ۼy|Uݻwϣʲ3g͝;Enݺ +" F`&4Ng @ @ @ PCj!|g&WV0amvYrɻꪫOkڴi:Ro{+9m̘1-zmĉ-Q(矯Ȍ={ZkUQY &?_oW^yM<WL\rzꩾK3f̰>}4S  @ @ @ BaW+p̚5VZij-cmO: iG2O9K[TQ]|UjE_ɨmȑL>2GmÆ ]iv[3/@ @ @ @ OI]h'{w_t H6]i2lg={~đvmK<]O-XVѦCN@ @ @ @®Q@q] 8e2N>k 6n-{a}mOF^xb-|{}ٕW KΜ9>onj]v턽d@ @ @ @®JQU@q]N]z;Rw߅;t`; @ @ @ @vUs+o>B d'9sص^뷷n;w>٭[7ϧzʾ{8p.ۇ"5]+7o=sO0}-F IDAT&Qmݬ_~6_yv}SN?3<͖[ni{キ'2ꡇ2yPy__ʎKL4ƭ6d.c_g%GuT}{sȑU^y{ǽ*N;Y[خ^z$S5f:~|ֵj%@ @ @ @5&&I BN12\$߉Jq)܀ ^rqNRTǧ~ZpƒcUΉ NRT&l8WR.wy'ǻ N;餓J{,XPTsObτ l ca]X+'Iʺ0vz(NlY^}Ya=(YEJwX^m;}]LbXe$Ǟz%t8q m{B^X^:.V{Խ:t=8aeQ6ZgE]TpBkr-#É^ NԪ-=XfSNTsb'lEu%ucÆax Z1bD(,ȵpg86ԥkIc  @ @ @C]nzaJ$oV!ɛ<ɓOɫց6#[J+I={z7S×um&XexS.:T<ޤ=w;Q]&Ɯˆ"Ob'SX7y]7xMkR.W'1fm|?iʔ)4ǏA%Z=v m'O_ȣPw!I^{mINϛ$ɋT[oW.yq:jM%IkK\Ii6l0OcH]t ~;xt_z~=wW$K޽tΝ@{R.B>|xr\+'`!_믿9_H]vxa/J6k\ޣ4^k:6?E!u[a1]>gnyylֳ/_i[^zP"4[eeG'{RI)N\sMw'w؋1S=iζK -<@ , X8M'RW_}`&e ~}ZqSv>Vyh5 U==8QPO9`ͩ|`N?C?-<\h q3͉=vvy?Ytƿs9Ttېy~R>_~OB/q3g ҅M˳b<5 @ @ @ -_?udby[B+ #.S$&;-rPy BkW*v͝;E%̨e*WՖ-COb{:],@(+yJ5kVR॓qȶAPV8t;L׉zrB1ʮ8bA/½]OgqF~@ W}ay`J5jTȮz{;{>+I[I~CuM7%9/g嬤]EUvIPЕEB/I&%yqxL/yKJPJ @ @ @ @U[v,k3m9rdrL{]io@L$Tmݒ]v$XAl2f̘Cr˫FB$ғ駟ӢX2f!>3$zK'M$.t^(T;x1K|*\aK<>.$f >7ipLZ8­&)3-9sc-/$V˅NͬVcF8&-JK/k;viL&+2$yX(o&u=(͛7/ 5-q… Ͱ @ @ @ ? A@IDAT |_;7" (Vm=J*Uo[Ttk-Y$hym 7+Vs=A]̙m?~|6ƿѣy}׼̜9s޽;裏weۃcyAܛI&y}^x:O{CS7|?B~19pM6y}ڴi>R]q˼yK^\zӮ goN>HN8o//}o߾v C__ʐ!C{+m&۷o&%v݆ $??.Ќt{;w\1 -#F KJ>}*W^^.v lUVСs9 k/Yn]m M?wW]۽}ML{N.|u/&'/֯_oI}{r',u.W رc6@@@@@@@ 4ln7'˫' x}"i[z>|xsJ}Aj:S]Ům$&K.q6&LK+Eiq]uU^o]fo~mo'|[fz-o}}]MWsssrvnnוR+wZiQFy׶` t\LǦUx㍺Wۊ]&O+Mhͳ7.W+a,       449{c Ut? T@Mk*gUK/ίA+袋m&g?yC[5xiōQkvЪ:?hsΰtzK7]ju6\{׽)0RuA]e*FO LW.N K|Uuh=3UMrJȑ#{1b4*~Վ--Mu.       ,@tZA4iu '.6o߾tb3mw~}o.pa.UUP'??uԗbs֊\5}taرVrǫ.uW=?4篲iŴh43wEEEgשU/AqkqqkC۷~'4U}] ^+Tszae'?q+;5~xolR҂]z{Fk󹬋       D&@+2A)W-I . {`ט1cA7:՟ ׿VkǪ v9By _+ 5d[jwCV{*uT禯4n ukwgVXXаQM_Mxj\c&O;޽{WR= ?]{1_z%Szۆ Vyt fÆ ޹y :>_^ۼy󂶇i`?0tpmڵk-1BG wYvVKꫯ@@@@@@@ 슞e8 /Њ4 Ub D;|9{12ڵkW`ʔ)޸tܹs+y+iI"Vorך]z3f֬Y8쳽CUHVV:k嚿Vb0֭[{W>Yh piM۴jYhkozn x8525=SCw^ztc}tYfW ݱ%4 _3rYթ85Ϸ[v_}OÃڽ{\@u믿}V\yӰimZc+ w3kπi`/\kK?S:UoBj랇{rP{nu 777k4zl}~,YbۅY@@@@@@@h0] F<˽__K.`h%w^* RZ`!+VTyhn0Sӧ{[UC.۫ vө5D}B# v#1nRi. ٸՊO5ׯiӦ=>7^uljvkƍAÝ[?kTxk`puviȴs[ӚjFK;}GǠi        +@a}h/5 UfJMUڶ?8Uܹݫ XuMոsU+h%.t9sx&N9r7f UҐj51/Æt_n7۶m]O>MV*V婮4){B]42a„J;cVSWc-[xZa>`[M]^xg*ncV״"VD*lyA;^mi%>zU+ui+2t HkJ;6 bkr[U.~=ZIp vbN9`^P       @ )/li{M$)) }g'Jo1a1_|$$$Hn3gBr @@@@@@E]xWqMgu 9Y5]I jh6! Ƙ_ReF@@@@@@@9]1wKkkF.f*;v*B^VOyo[K_k裏իWV6lo]̔L)fzQvHD@@@@@@@bZ`WL#<:#M6vJyy;hIjV`WND,եie>1 #ȣ>*:ko#}NT"       !@kϸAW#A+fРAʀmn%77Nם!cǎӾn&뮻 ޽̜9S㭫n}N vU6@@@@@@@bW`W*NUqq 2x`IJJrߖa۶m[o􊑆kZ2?,\~>`߿ԧ5_2۷6lG@@@@@@@ [A@@@@@@@@ 7K@@@@@@@@@ [A@@@@@@@@ 7K@@@@@@@@@ [A@@@@@@@@ 7K@@@@@@@@@ [A@@@@@@@@ 7%]͛Ґ[n-YYYҊk׆Ν;KRRRmXYVV&EEEP8dsN˫OZZo߾zV @HEE$&&Jjjj "      x< C`}˗W:m&ƍ>VVlڴI4͜9S=p'#Gc-YD7҃os1駟VZ\V,\PvUi8m۶[4FC&իWK~~ֳgO4\!˂ $##C8NioݺUKYlyunݺUoND÷sVۗ        /@9O XvmٲE:vz}Cq+/^,;Z9j(y+>`pWU_~2vX9mEc d2`{hc49s䮻Sz'2e~~iPiseƌҷoJ wĉ*O5]TX      4ϼqFҥu`WpgaWz+]նr5tPy$!!kvv4|pS`W@@@@@@@ մ{ vjS1+vitjHk׮U}Q{wʍ7轏h6>s=++˛`>[=zv뭷OB馛=s:uBۤIsα|``999V͛gqr뭷.*@@@@@@hR]Mʿg`i5oO>\qvh4P`WCFgϖ>K.1co-]w]WSKnOFm寲>mׅ_2}t/?ۮS8p >Wxo.        4~i0UZZZP` tV_vs2dץByEYF :HGnwyG,Y"rWW:Ν;婧uGWx mC2p@9S*U {(TEEEgɇ~(˗/!dkկgϞaG˕W^i-^XrssE+͚5NDN?t{@ ӦM9sg`Æ 2h 9ComTϷԭ[79ۨ+v vKbbw;vHV}vi4H?;w=3ϔ}+"+V֏;.ׯ5. [hPSN:5>o˖-: [g&..NFe3qz;bȑAU|t^\h߯xGW>}dʕ[nvycg/>tZ}9;a^_O*YR6ml'ZAh„ z_ۊ]Z_q6o߾v v_?unЊAZƄl͛7:* oj[U1A"[yGSEi {rI'_mJQϫV˼yVhu ÇUiB[S>Z%3L{3h[ny*}ڎ:({2Vj(Ҋ]Z Qm?#vY+~F>cWЄD+gNrkwUpp3&cyՊy4@@@@@@@hnfZEUdъ+&dQif=* 7Pi L(`)ü6`W4f.ԥ&He ޵kl?)Gg_|7CVbf7!&t?1bD+i8kjι%Wώ~>Kk1Ȁz/Ò{&L[p6\ՄfJoxwπn7"zt!ZcWh+N :4EZ>37$Lu2 zӽMg}]7Æ ]fZMobg;        ,P^ |b4:E_~YiFϟ?V*߿1]7xw]:eYal v4S=ҐMS~ٲe^Cŕvש+54i*K tp LEmQ]tngEuZm]MYfU4"Ek`U7^4إKgftޅϥP4wam۶yMJϛOC@@@@@@h<b4Iߓ… EӦSꔅ^vz-Єor}:NըfΜMnZ@9qgscLNNb>nvY*%T]n?j; u74i7too]˳"}S1W\6y&&&Pc4nNSȮ)M*own]SM4n!8_B]bԩ6+p۷h/bئ~U)~_^ϙ~BskvvJONWSkMŨKT:]wGFF]uꩧʛomS1ÄVs4BS1uY~JKK>ڛNQCuDm,iU{^qS^xϊp?xm:;#Z@@@@@@@/CƙΤYtzFL(˫r]wAZ jԩvz5z-Qоobzn֩QCV]K.mN]ZZujT0a7~c^3_Ј* vmWWw2!o6i6djTBKإMՍ,Yli5%YT1}6#w̘M+][]]B?|i.3}8?Wӊn[3c6';>fZJ/ zL!      44ީ8SsЀ^#O=PG/T{&u뭷=E];4ؤ>So?إeov}M jΝax޵XW_}5'Nאk^D@ϐ!Cq;sIhKO3x6vZ8Si&1tf&إ6E)])5ڴi<9S/Q3oϪ_Cӹmu.?p 4(PXX?$        (@qx7[`~.?xOMbV7=oīc*+>oZB=UUR3_z?Þk yVc]+E4HWU֩_M. f/7[_k vMh_u9KPM$a~W4KA5iPKhR{oܸ1Mߜy {uǮZ`W+йmz U?NC@@@@@@h] "~?y*h0`ڴiv: =^h+`ט1c4JFz꠱@>՛6} vtJ o˃SZLܵk55-fa( \[.ȸk.إ}4h"RO>}zPV?K{fÅ&?# {@@@@@@@~ע֪W.ڵkzS?Z$J0cnȐ!(41½6tK5ܺN鸫5di`XZ)6anRi.#ZI0>W<ÿU&LPx:=aUMY]cf?X!ϓ /͍_/zϲǚ>Z?};^U6ƥ!gy>}YUö;>՞A?PիV^ >J߇z }nB?ikCS=zta,li6\i@*ۗu       ]/iJLL'f*D8ptڵVקPVZ%f Fܹr!XCc#K.pѣ0DӘb* IZZuoժU`BEbbm#>s^@ϯW^1&yxҨ3.ygE]3ieҳgψh(fSiӦ??O>~I|||3       @ jZΎĜ@h+. B@@@@@@@v52hG}^Nտ:Nd]-1v@@@@@@@"@ ,:u$7oز$//N-Y`WK{@@@@@@@j.wq4K[rss4 ;vle'Z|;       @s \@bD_2۷uQ1rU\       +@q9         P        4l         @j$         иכ!        5 쪑         @ j\oΆ        (@F":         +@qx=zۚ5kdjdPعs,^v;w޽suڗ@@@@@@@@/@-{3^ǪUgϞ-Ν+SN(;vl~xuG+N        @v߰`WnO>)W\qi…2`zj$hN       4@miɑ{.QR]w~|Uh1bD\ݻwmVڗ        #@q9K `WUo~vm&ƍ+@@@@@@@@H`W7iO?v^zdffݦ+~aϗO &|'駟J֭E+~=R>H̙c{eIžL>}g]_ iӦ}7a4hzrEU;~=w-z!Cs{Xx>#guz꩒h?qDo{_.ݺu/?O߼曲tRoOo腺>g'FRygdj*ܹ#G=z58p`SEIBB=n]1w\{ {s9һwvc=        "vVA^Zz Щjm]vφB}M4I4+m zСCpդ6o,孷 Ͻ1k2`*u׮]e]{6Pr'8p]®뮻nMWq2eo7,_ P`-"&L[f ͛7p5ܧfږ-[fC#UW]A/g}֮]hӰw!_B7z?5`AC        +bN:_ᜅ Z)I+[iӪWZKxUGum-hhUҪVU+iuuPʹA i-ǡ2"cRz9\kڵCٳ{(֥Ko.r)jWJߛXvĴ`ʕ.viɓ's齽 mE0}>>:         b.^3f=Jm]'xn\~}PrFw /Pycǎ6hS+~޾p#Fi!SSS>=WOSPu: tZA:ȭ^|I⪪ .c=V^|Š(WXa8շbNxqci`lԩAA:}F;0]3i        @K `_`עEȑ#'t:x};ą\iӦyտBۺuw, hUd}@V^^B>.ĥ!4]bܰadddTKW`tZLohu !Cv=        v[%إSCiuCh5+ ZkVpւ ~'/]տvm5k+ ^G}T&Md߇ ]:ƍ%==?>sYfw uNxۣvm2nܸp-Ȅ l_FU~ vȦSe+\`67]v׏@@@@@@@@ jw.K㏗?(t Ë/خ3gqA}ZNo?/vYx^6qD_UoUs.Jp̙nSį vE|`N'߷>_<@       4[]4:_4H+ܴx:#~wqzvYls9v^;/7|yv]ǎuAýy夓N v]r%6]biն?:WhWOݩպtbT>7cǎ @@@@@@@@!@Eܦdc4ӧOYrO47[vyǎҪU+)6ku']"7o:hI . itʣ:ʮ{        \56fKrϟ/=zg}v@նv-o67n\DrL04K߾}>w=ҹN81c]v9:udןWڗ        @ ;[j`ҥKe#馛lƵpB9>:ݞT˴]O79{lO~Ra1BtI40u 7 ژ۷Kv5iK]VVV&ݺut?إﳳ%??_w.KII4@@@@@@@@ v-;إ#:CEui`GfO$++Kl6S^^.~G}ZQQ xE#GСCq+*gqL2r7_W}C/4fKZtM yꫯʙg viyꪫO }h        @,슅Xk̆ ]wei={zҤM6{WAN_[լ 2dk֍9R{챠u7s̑#<[}O=Tڵ0כo)?ˡ-k#F{衇l,33ӞCҺuS{`^I'$|kVnFIJJw}Wvaj6}fjjUV̙3=_|y_c   V@IDAT    $]-nEaPR$;cmpV+''N玫~s1U*mWC4.zG}gߢ䪛ZqO v}r'ȷԱcG{e޼yvmhKWjO?N5bvd%        v5 TUw|{]:u$7oÇɓn_?߾;w @@@ TZ@@@Z@}]@ qIQ6]JJ6WYWj]Y_,_ϕsSkKyǗ=*lKCZ &ܕ"mR2OV9!3}/4UҒSOJM'#1QlhA3`@@@!@E&Pg@@@b_.*˗Q R%oW?(- v6*7ߒ q&e*viKq%%J\ Q'v~Ka^)iDŽҤKztJM5/ y@@@hjr,@Հ@@@@݂]:cVڸs(V KrLk1..`*k˪$`u,Of*bK4a,cL(Mx+.SZK4[J͏gHRj$PWbRd]Sr\';Kl(Y 2@@@ 3 AX wC@@@R.E{lT4TJNHջ2uL+EvWHQBVJO0S-JLiJ+ CvȖ8)3 rř\Z+żf'%udP۶rWYOC@@@ ɱ@ Հ@@@@]]RR]Zn"; 5JMr{MI 钖Vn-3gɢx$Jm6)VgI2ʲXl_fjrSLrQl앙!t$Gt ۶fF    MM4CZ   Ģ@]]8G'뷿!yߙtR[IvJwY_V>Io%'CJMծ)Y=.%0]rvҝeKiT$KTej]G`N33     E4F@    Фu vkdK\٘.^n*j)M K\ZR;iW6sebY_MJ!l)۸]/ )tµҿu+ҡܽ ׍u   Y`Wh\]@@@@*(.[WȦs%gRX%Kb]ɝ}A|!AVˮBFt!qeͮR1GVʗ2*3 )(r*5a i,}MK+v{wS+8#   @L !@, 슥ٰג/sΕ˺uիeA'g]vkCTi   4@]EekbYʝ!?JIiM +#t,{˂,]ffI׌'JΒ@ɺZ\$$LŸ׼\&;2IOL^Yrxrrn~^8   bs} 3bVFBm?ӧ˜9sDյ%&&ʀ#!C9#u=!   @]KѮ5c\ٰ`FIK䀝1+eo}T+H%Ok%mS2%)>VJ\濧 LERVT"w˦ZX,ۋm+ĄJ$irhr]d6Y`4žh   DE`WT9 ޸%P}ydԩAոwrH׮]O.]$##CRRR,**;v ς l/Y}*/䤓NUYF@@@ Z vHpo[,%k>m˪Rْ[ wH\rd)ۦ#Z\2S@^f6l~L+QMŮ~̅NLʝŲ.XJAe*{0.1-!^)gIhT K4.     E4F@n6m ;i5>Z9;UaK^ϗZf̘!r94h 6L.bܹs Pc   -E `WII`r lY ˮ-9lJK-R\`[MFOi5X2ql/0RYXn))5ռ KlTi*'i-;KdJI0ռ":@@@V`W {o-f͒2{ U.9S%)))ڧx   {@@ t孑uJ"7*[eRVvd JnJZqdu}:!3KjR'SQ+3"ݥfrbyo.YDʵWyT Rdv)2ckJtS   @}vW@F H4/'Ol]˖-#ի}_R˳?긾ڵ#F5\C/O@@@ DX1E*L+TQ*J̴̩RY-egjIM =۝dd.9!ivj2LY!2yI-T*Yژ[FD@@@Ǯ @c jL;W_}%ӟdvݻwnI f:V͙KKKߗ_~YfΜi.][rYgW5`   V `gIt W9'MrZluťNpݫ} \M &̵0Dfl.ee\JM+5TJ3ͭ@@@: 3;"+B=/윭֮]+_+Tm۶ѣG˅^(III }Æ vgyFtY[׮]eȑrW^ @@@"v͸?4'I\BH>R(x$%)mS 1LEYY ;62?!MQ,;&er]&<'N|0!   P]u@c@)v5zßD>;ȞP+v]}Ւh3hɓ'/ׯgIMM#F7,:uj3sX@@@,iۿK`F lYhc\'2(3S12PסP4PL-2ufBʊ$/gl\N6.4PdSI@JLK {řtWZB1.EŮj`ل   4oϘ1~[K\FjQjr)++)S؀իmKlK!   " vrI`ǏRz w-6S2nS3ƙY?JLԶa:Yh޷6%R}(Y#߾lݖ/I};eq^biTkz>Eyh   S`W=h,]%ټyȥxOJ߾}Mt y婧/Ž"11Q.?~Mtk8-   Ь" vIEI9RTl\d]MBB4Eͫ[I|}$׉QvLΎKʤ(HVFzkٺv-=ˏuZɦx K}['ˑR{F!XD   +@k\84]-펅/͕vɥ^*^{N~[h"z7DԀ~;իW]-   P]*ma,-} [J$.R%TKJ4aj~oHzTD6o˂i%.\Jۧˮ}:ɖdmѡ.EIۤH3%cd=F4:!  [υ#@K Xx7l ]t| 'e]&7t$''w܃mܸQ{1y礸؆=\3f 0`R@@@@.C\L9I7ӤbBSk1.3[3ԋ&ܕZ;I\&ecl+z$Nߨsвr Ia~,57wӗ˦eHKڻ迏tE-;Ig-3i[   0ƕ?{_U}q!†0DQD\@ʼnBPnqVjuԉDAŁ&a,NO>&Էofغɑ|i3ɦ7,oT3@@@RyR )[Tl_+UVeW]kiè$tV)mRܹGTI~Bdu.JBe] YJdiyĥJӺIHiL+ ))@@@|ϩ@jݴi\zKXX#3$PPP ׿LDo+_4i>vF@@*eIJb׺V;Ryho7ZkKb %).UHCRf>   E`[.7 V2U4tiZ0^s5=Cs;y孷 ߋ .@n69묳j?   -FYCRsoAʖ}.UVܷPY­`W IkdL6RX7eK r29+h9zPJ LK_4(8Ȫҕ,ϔǧILh o1\(   @ 2W8BB Voi0tPyꩧ$--?.0B?׀/,No^W\qaz?~n @@X9.)-ʼ#VUR}زF* rDJJ ]V +Ufڴ ogRW)\ERk_(Rjbh-}QQ. NQ.V/k` NReи60ռ 'í!  B`/9' *v5̞̓=[ccc/܃gdJg̘!/l޼Ү];կ~%_=!X  @]VeRܻCV~);6HRy4ߪU!UV(L* CDbMQ%IeNT$bʥZRv#zHnIW}cb. @@@ jAKE-@?ڵkn?\ШQ 1|+矗>lFP}2e7n9;   @ v\VVP{2TZhTdVkwU yB_"ZjXUeJeR^^.III?YƎ u ر<^{M VHLL4ծ0`@Dz@@@ v9_*)2*bWUQZ-ZmJ{b!<'r uYվB]V**eZ!qARVH^Rt  ж!.J$HtRj]Η2    .IA<,@uL_PP >:zr!X&M${qA ??_fΜ)>ڵqI'pue *,   !rKoªUfW(:+Zչ~U(B]|e/$XRkJicU}HWRNa=EKEd68jQB0WՎ1$,Tj] @@@)SȄ $"   5~ByP~&4U$ 3DZU@v   /vRs#M FZQQ!⋲`)//7Gvirwʰa9d u9sh2i$Ґ@@@vy.8    GfA<.@}~̝;WO.999fP3f\wuL-I`&5k,Ѷ̔ɓ'vڵW   f]ne:@@@-@E?>.Z?RYx;&Е,11Q*k/TVVʧ~*3f̐ JII1 1/ؼFFFz+@@@w r&s!  t]- r jv5Q>|X4rJMk~ADEEɨQL0G_X@@QQ|on!{\tE{)::桼G@@h&;   @@  !@ bK"K^^:r䈔W{lUUUb߻!77Wc\ڸqYv[Nm^iJj| 8дs+U|M9s,_mG=\6ǏhlD@@"@ x"U^^.|5w\9|NcccϖѣGˈ#m۶m, @֯_ox͞=[rrrD9rL8Q~j>/G"  @ 8~jw좮@@@$@5=mZ;]K,_2Wnn%**ƌcsi؄(++3NU,Dᦂה)S䬳΢:g@@T`>. @@@'|I@ ֊ tmذqryɅ^(~8ؿ̙3Gf͚%6mr4==]*Kd,   *@+P,   ]Q@ v۷O͛gZ-jE"Pu)HppS"@mK.5ϟ/]z%]tL0AN8z@@@@ HO{A@@pU`usʞ={$99Y&NXѣGGrqǙpKBB\~W+Vn G>? ֭ DGGKZZ ?Ia deeN@c]}]yeRUUe.655U.5tPڻyrF$P\\l|gѭ[7M뤓NW  x]-r   n FLO>) ,0'ӐW\\\'޹s44ȥ_fB/ʙ3gŴR_vfˉ'(nԤ?QK]C+6=CQ.W[M7$ƍ-h^{u]7]999G}$hE{hѣG/bV@~˾?9뮻LXO.ɯ/#//O.\hZ}q;w6 S1@@@*@>9@@@<ʜزe\ri%W 5A,=#svH|ҀV][}wEEErW2ȑ#k׮/_}h NGlliǟ'YrhK n|A*yvi믿6! z|\z~sV %1w4ӿ)))iQaLEKߝw5ȩVGDDyrgg!ٛyE@@^`?".@@@ͩ'pegϞO:^*0myZiʖzdִ9smjƇ~ج.7p1졁ʨQLe}ڛx# v,o?ъN_z%o^F"U'M7hPP+xiK+$ڂW[5jWN;4#   e]^t   ~-@˯W3_4_uSy_6SN .@4T7Hxxb⼿-Z$6l0tV<¨/uaYdCh$m٨ V***L1mmߊV!ӖyjQ+(++3x ٽ{dffJY:tpұ|/~a?SL;F vkEmɨ:ucvv [,_'f^4 C9V+إx@4<\_M^UtL2E:knT]UW]Us czǬN{衇̶_~hmgfqFѰ+tq&X9s8L>CӂQhhpT6~{wy{VL[=jȭo[ {ٜ~&\a=?LߗՎhK+iM.DsҖ:;l]vKy$`ׂ LKκnK. r򼾆^5_˖-3?58\s{!ҟϟ@@p.w2   @K Ւ^+[nE֯__kE V$ڂ]Ε"% ?\];hvxH+I/U&etѣG6yZj۶mf{T7vJ5tW0ұpB3`üVT9rlW{L@>vQq_[i+7—sx^ov\Ҟ¼j.j/ D iNͦSܹsϱNogcR޽{>S i45 c&Htw3V+veŢamoV eرeVhHFfKwg6ljY+#jKCZR[U^^^Al:u$3VVߗVmd   M T1G@@d]t4裏Pot84ԥ nSDCI< ?qpU+F!`xVVDmZIDwud=>kZꆽ{.kItMXj„ rכuua\a}k[UΕ-إգyGE=b9֘:gd9PݻeCi8M-F73F4e{T ߜɓMkƋ. Nw~Aur=uWvSK[؍7J]e ^ jmgxBBBu8 9sԶsto@@&@i^   }wբt̚5u~_Z%TkCYih;τ정] . (5fU`:tPPW]|6sjɮVV$?o塇2m5-vKC\rjދ8posFjY^^^}j{܄jۦj>Vus>W@t}CSڒS[s{؁_Urg'_C/6:ϧ~*#FkW6L͛shAV~ʢ` _)))&xkܹ z0+@@@|/M[JD۶ҷw_u8@@@f jƎ+ږQ&?Rk5]Vr;vkƬ sNfJJJrrHHy__ˮ6V~RkthHKiu7{"eW:3EﻮA,;T>5>Z5w1AnɄ.>|g jt͊Ϻja8mwYgIjj2w;6?9`g^K)sN jEׯUs_#  U+\qu}NiV2y@@@j U k[?Oy뭷$##TLb/vvKfi,ΕW^)W\qE5dԊ2ZѪfxH[-N8w-Ș1c͡^}US-فU@W].pɢx1225雝;w]LqڶM/]ڶ?Y` 'u@mk|6~Εלsvۼ]_,ZSN1-29U^J4mt-ӭ[7>|iyiGw#`^^xK.q^e]ןRJl?c  jPV9`@@hH\Y~lB](35] =-#  xZ`Uiȧ]v[Z3إ+ߋ$ԪU?U k5mN=T6mݢPe2 7:tȄ*4̡/ ~hj?ܴLNC/ ٻZT*--5! mai|Zl}>p=^{5y饗7|SbbbMǼlZJ[2CspiC;8c SN>}̙3ѾnY^^nZh-mmaG}$_|񅔕9Na2v9xX/]zñ|ʒl:8`Fӗ7md۲f͚j֟gq|j'    oX~&پ3,z+YrW=$f @@@j U+ +[e]fBXzݽ{6P[˹VҐg4! pat3]m! V@/..Z4<ev١thu _ü+86뽥@^\A9EKOUs6׺vZQ[SL_f?j{6k hB+33sfb"eݻK02   vySx^4tys+V]weMزeVzG.ݦխɐ!CL(r=8=z p bWvM vioݴzXt5m ka.Pmӝw)+WoQƏ_m͛MKDm[{6ZN0Ü'g=#PVzgMKM}5tA*mШqV9}}۷owLs=n4ׯcǎ&}rϜnjǜcfZIC^~ }]BCCuskeF@^#ƏhWJĤn &k{盪k<묳䢋.]g   @KV#afڵ[JJJ%~}zKn]%$$}و   ;vSZ@eeرCҊXZ4ƴ=cVJKKk̡ tn)ץ߿_mfBg.k׮v ;hkÆ rApnVй5ԥKj64hKzFGGWjoZ-GxuI233RmF]Νk@چj5jƚ-K뛓m =3{lժ\ZVéZU  7]X*uXݾ!ØhKet%:    e΁A).ip񫯾2!Ba5:]2|'AQm:c Կ:4̥O2]4sf@@@vINn;nUk톍b'0^bcb$!>\ A@@@C<˴ rm-ܴG}$vpD֙=ztdzVZ74c3 6LL"'N$e  /`Wm;wɧtl c.pg@@@_:D!`i-믿nZ5~ΛdРA&5vXB^dx{rjqݺuISSS+kƴul`@@h% viȶm%""Vɦ:$d    )]e^@v9_ޮ]L7xC/^W9>|tI|( H OLu JYY9K.2ajSNil  ']66m]:KJ55e#ҬZQY   . ']wp7o! CU 2D'{4L-e5kеo>cBB\zrWOu@@@u ;uH߸I_j;[FZAZɧRRR*ztV]@@@5]q4 5ooզ?oF,Y"}e.)2p@իWzz\ =*oߚ; QFɔ)Sdܸq $E@@@i vɑum>8픓ڻo$Y@@@ n TUU.Ew-]T~Ұ׆ m1*)))ҡCъ_5G\\DGGKLLKppp]y!;v4sjX?G}$o|ᇎdꫯɓ'KNR@@@o͕u6ά]RRZj.p~;qa   @ !7E]YJ^֭kךUVÇkݭ41 KdN[͙@YY r͟?_-Z$?cVM3Ϭ~@@@pG+/?_V]/;E{Irr{mC֬sk.Cx_saՒXᮞV.et   . ymE]T=R[5_ڔOͪ\߾}WkW߾}ekСU*b 5kk= fZ-N8T   8W]ų;D+{sJ=$sh0   \x@K-- {nٺuݻZlm۶c.c2zh7nddd%eywd޼y졭'Md-^+   @3\ vbiXQQٌ~HDW:ur}2f@@@hZ Rv5IieoF,Y"MHj^ZY/#^`ӦMm5е~zfffʄ 䢋.2-?X@@@pI`׺ erХh!V1cL1   T U7 r:tHz-;w|ᇎ_OFי[ T\3gΔK:'11Q.2jqРA,   O`^ɺd DŽ­!!!^lEy8IDD}ͅjPWJdקtHN;@@@hfq }]5͕W_}U^~ejۄƎ+aaa~}\   R w]EEEϧSNn]r?vfOX%\x_sa'}ꠠ6 uB]k{@@@-@txW`WZ%/L>] ̉ f^vN>6a3f.ۣGrWN:٫yE@@𰀻]z wm=k:Ȁ̾Ҿ]u@@@ jmOE+@󏮰P}YyZoQFy8W{gZ-.^ڒsĉ2yd9ӽr-@@@;]Zkͦrѣؕ>PW';@@@wr"s ^ N^z!ٷoYx߿.3U`ٲe&5ol,^x s   %`aYYU 65UjlUk>Rj@@@Znhu|ȳ䮻9s昋ٳ<쳴gq\+L 2yd+%99ٱ/    '`WCw`WC@@@wr"s ^ F?nA֮]k~3o7Tjww}WO.~>""4u'̇   !o:$[\]HNk%u!=t!aV%o    e΁A`8Eyyk뙾J>cy>37j8qy2hРփ"  ,`rWᮠ6"~(5@@@_v@j#GԩSW^1W|.@@@-@TV`oz|M)=vرVb-c̦O.fǎ;ʯk$""ق   |R4;ܵuvi.B]TnP   v#@ 2ŋ+0mO?eތZ]?KRXXh4`/pCu   @ *إ%%A 0v|l@@@v#@v"oK2|pyꩧLƖ{W t[/d2uT1b{N,   -Fą"  ]Qs v'(|rKdӦM+\powmZ.RZZ*_B>ѣGgcw@@@@ (O@@@p.w(2 ]^@)4ȟgmϨ-G关_~lܸ&W_}w.]s4@@@ZW@@@v5$v@OvɃpeh*mExwˁ$>>^nF+%!!gTwٹspk8+   GÅ!  @`9% ]QkVO?hu[LE/ BQ\\t޽\~ll;C:tnE@@./As@@@!@E<&.!ڞw57פI$((-[&3f̐K^^^zɭ*SL.@@@|@@@K`=S`W4/oY/_ngϞ&u:~rZm^Yfƍ5vXYvѣG#G`zO.hŷ~>8UffixJllc=    4U`WS@@@ v@ vlhkr=ȪUwQ.9eРAnm{XVV&K, sݻq޸8,2e 2ı@@@\ "  @{}M15w\򊉉1Wm&m۶m999{nYz\R.]jdG=ϖs9|ۛxE@@@-$   "@+@$/@+qsp˖-U,}3VJIIP=rssH^]5##CN*ǏΝ;W@@@-t#55S3   -N`W{d\0V]7/0˹V]EEEIND\ZkСrꩧJRRR]@@@ r;)"  `]-q кvȎ;ѣզ) nijx   /vBs"  .}2\ PC`W "   @  G !   @<E)@˛ڜ @@@|!@@@@_v@j@@@N`W=Rn@@@].q( M]\    ]P   *@_ ׅ U    prC   .rC@o 6B@@@_:D@@W]d.@ E@@@ pB@@pA` xxS`79   B`/9'   'u!5v-   {   \P@͹@@@@|9@@@U`> !@o@@@@ v#@@@\ " Mm΅   p59'-QQC[z`գ,_ZV^X9 ?T󾪪J***${%r8'Wt}\lHjJGI*9X@@@@-| vyi@@@@o|@CeUrHTTVʟ^ 2!Ə A@@,]<`]p5@@@0v[6oxxHiY٫%88X4i6ټejYj""J4ٽ$ղ@@@hq$ U]^d    w{ nFٶ#KJJJ1I iU+U"r>aұS۷sg@@@Wv* vy    \ vҳ[WUދ   \p@[#@@@DW]iXN9Di6A"ֵaSK[Z+>.N4X%%{|Nn,_Zvm*ye`LjWLDz@@@j ~ @   p59&-QQ ^uk%{oDD[jسV۾#K֬ GrrI2 tNOk   @Cb; 'Ap    1ov0|sOZaC%!>Q_P [ge2GFDPdd    .W9./As@@@𙀷][.RsZq뜳FHHpp +*ʖmAһg9A:@@@O`W}:lCH P]}C3t,   ZjA[BCݲu|)//769e?8] >s    jH `[o%~Z|1ÇSرc @@@h]Ubb6QSV?,m#$$ب @@@vէ6@| [PVNNˠA?P;ά߾}رkѯ_?>$͕5k86\/ddd8ֱ   K`׆M[ X]LȪ!]d_`v> jo۱S֬[/:_#oI @@@ jG&`/,ӦM k245l09ͫ\={<#ga-rǜe@@@_`+3 cFKTTd`UkJ=f`IJL' U((8*qgjdi6@@@%@QL^[.5~xSK:--M;<9SV^]▾`۹sgIOO7!.=F[>0.5nܸc;   ]EEiVYvTTTPj]rVںml۹S 栠 .eJlL!,#   ,]b @vi#FȤIv ^]^cD   ]UUUZwKIѣ io$}z( 1E`ڳw96-{v&8,    ]@@'sK'Λ7TĹ9ܵl2Ȩow!   @ zÏƈOm6(S^^.YV+ŕV;ܼjg1[ZMPɷ*ui.=3А5Ce6o@@@hfq mOb׮]M._lSmW_ɠAD] @@@h-/k֭}4PǾyMJ u;   \x@K viK/j.u)gnn9RiӦyI    /\ v##"L s4{ ]!RfU}Z+,4T:u={HBB|} @@@& j2 TkK/MՊ]ZKǢEdf?@@@@ p\ v2s0fDEE -:,׮]h}vң[Wٸy:|pWZegX\ldZU:Jb    n]e>@CviK]͓{7#<">dddk$9 @@@!`ב\+ԵN y[IO)*ve-v9r$+QQQҭ@Vc    )]e^@vi?\?.&Mrg:mɸfZ2Y@@@kOe嚵&eZ\[㏓iҷX󽽞W@@@!@́xA ѕSȈ#D]^{dh\FvXʬ\H/8@:X/6^@@@._sn@ viEmد_?ӂ1.. W]?eh"_gD@@@:ZXhS[$ڟYa)cFII2_t0]ɵ7ʺ 9Lű   ]|# -D0`4kB]{\9%//\q@@@@hXbV/Zb.I٧u`.hplŪ5һgw9͝@@@prP;]zQ[0j+\&M7tuf͒nʹbԖ @@@<W]-Ƞ84hkֆMQa.!>N)]:KXh[ vI@@@v9a. siK]'N'xŸok9rYF>6mZ@@@ZWf17?ah42m? V+Cv"an"6J&B@@I`  @ p55~x?ϴ3k!wꫯD#>>^j2@@@@ p<0ׁCD+wZmv,$ܥ/y-Z   \x@KNjZ/'|"^j檫>@^r @@@|&`ތɑJqiٍrb@@@!@H@s]~q   A`Wkx#@S]҇kvɢEd @@@Z. W9ݺJTdl۱S:&'KrnȈHٽʺuo^*l¢"ǶTIJL]@@@$@MLxZ)_Mf.)*u9?#裏P    \ v2sN5KJE]mgʠeæ-K۷KFL 7X Ǝ6!~$vlz`գ;.     .IA<,И`WNNLbײu]azz9jѵKInΪGvTV   rEc@/ 4Z|?^o.Oy+y{$##Cm     VW]n&CgN?ƒ@! ]6Q@PꂥnZV[pпP֍"jHU$l=BX9&L&,3;;w9 V/y   Ppy@ނ]w.sΕ6Gv!gϖqƅX<   .@+?   ]`]u@]ZK^w]&L 'Nt(ߵ ZZD@@@ N@@@,@7!v9s}'&/ 0~JĬ[Uy{#f @@@p nw   "@=E(`vi. v2zhy'$11|˖-QFIRRlݺռGcF@@@ v    OMB(`zm^lڴ t]{j4. xM4I&O:     `@@@!/ "VKEI=B尿jʕ+%333     W]~1@@@ 7#@Xݻܹs%===r_Ñ򗿔 رcSUTC@@@rM     [ጎˋ/(999RXX(ҢE իWrF'*`6l }yyyҷo_sVi+Y@@@@ tvν    x㐹Ž;Çg x}'kz$$$r@ pVK,U L:UM&%KT} {@@@@qwK   @= G|]Z.hRRRL L. v͜9S/^,K/IjjӆA[]5EEEjWqq̞=[ƍW9 @@@]z>szt@@@pЅCɨQLW4ХnZn-2awk&(6jHx sOB=@IDAT !@y2~xIJJ[͑    P_K"  8Q`J=iҥ2ese uqfrK7j`_7J;:?@ jae˖kw2G#   @;صfG~m@@@&@˛NOeԩf~4hZJxw.Da\hKƍ]#@vV:ԜdB@@@ @@@.@7(ݛ1c4<ү_?=z߿_('O6'@n)u ّ#G֭!B@@@  81@@@!]!tcǎ_/R7ptфO>qwarwcƌ[nŽ+裏,Y"{{c    0ZF@@A]!xel3a)++;2ZKl){=)))1<ҿSggoV;][k׮ҽ{wILL9s:tȄk/ګ58&x|/) .LYr]EF@@@ (!  P{{~~kf%MUN8Q.*W/G+oK^^V:su|M3o]@U} Xj إdԨQ&rWRRRG    P{djjjO @@@L`WP ĉˇ~(wlV䥗^򹪔x슋+HRsWD4i 4q5@RNENAa7',v sω3 /կzY]q@@@| 3!   0Jnn:P^:]z!wc*jh v%''=^b޽zVۺ ׿H:!#9c oe322L;weѠE]:-ED+x    @ {@@@@#@9D@M]JO<c_^?.v\pҩS `Wqq|עS.{t}}*ƿ+WNKعsg:tn}}e֭b ټyhB:,իW):>L6mjj~,_ \  :^r1f6yol)'ޓ7Nh֎;QFrg@k׮o;y׺VII,[L{9xqӧX=j}Was̑o¶|VKbwt'Oפ    @\F@@9]!waO[t깖-[JǎMu. u1SN!-6ճgO,]'2rH뮻ܛ`VZnh;0`~ڵXwx+4?I͛WXaބ L4$%Kfw1SO^uUl~gy|԰<-o̚547]Za?hoC5=[>_}} lf:=Cރ@-N vrW{_߿, vi45uTyWM7zeĈ6"   v@@@B^`WB @:FÇ{m0==]4hA/ X 5 vn̈́n3ficr뭷nݺW\!_jXC >c4DհaCЍz's1Z֢yذarҪZUfa ..\rO]w5`9C+fi.3S}j0!/!*+ TX.kNڥK3;V4 7dW j`:ݥN{U;wŮ{ 4Hz5\#:Eo4  rR뮓7|>eS N첺GyTrmҀ    O`W   v9:NYg-qqq&Td}]>sέr΋VK5d_4 %fNպ|PtzD?B3fȇ~h{LL!$ uiU- 8rI~f\{hإa XV6=z Fi5# /ԎrҰ/~ 2w=إjK iJW^yŌO5HӟTWj|@՞1ܥaa$2PfW p *|Y+;i*V@ԙ!?]-CkЪgn>TWLiʴ5=q:mgm > jz}gq'&&k#   Bw@@@ hgNVӐlbf\z[8_ &ֽX./wi* Cbbe6~yzvڹ]袋Cͻ4Х˧~jMV.a0w@`⋦BN_>@БuþS Lك]r%$Ӫ` Й.:]O?mU6i5`V贌ЕV~{5U4dMcYU꣧)8 Gٯc]{e7O8qٍ=QycM鴲u]֬Yc σyI   v9!@@@z UNNItITd~zK/ĔfbU:-j lV҇Z:.3gΔΝ;u=裏V?b|嗥}֡^%k: V1g6ժ{=𒆩x {U^mfc%4H՞Nf bu+թS';imKKKʹ:͢4ez`W+lj7]4֧Ovo+R[rssct_-zΝ;%--1zTu viK?m Du- qN>eه   @  [@@@j!@X|CdԨQf,`K``=TJOVul0a9S0\ fF|eȐ!` R:u]g{7ĉVX\K&NeŦVԪnUz}+UUp\Siurgz:묳瞫p;0GZ;:%tZ]{1cX{}ꩧzL]vZ!0( VL6Mx-]T;x v͘1C>CJӠ._TҀ٥^jιOߏ|YwRux.ZM-X. r7T ԱqfzN U7դ@@@&@nn   iT7a"𪫮o] I$V [.=QCWvOChtM^/% 0h"IHHpW=z;eշtE ;REZȾhu/|5tPy衇LK^XEڏ3gR/6j~Ԟ:աV))해W^*edk\hE,kL5^\}RXX({[j)5c_^}U̴o^UKJ[Om[d NUtϟ/Eoh*]JKK׿\RRSSN v4i"ڹsgSm֭wsݺu}0]~gǎ+:-j}8@@@ 8-إ_^[4׳ }>w D@@@`Fĉr׊kZҤGҽ{wVФs~@M]>|g&l!eQ(hKtsa{K7NѠN .=V@>Z~n:Rŋe̙fVߍ]v+5iE' KM]z< VZٳgO3kך[:NP 4:f iM,s-k i믿6miR@,֟7T첇fϞ-\S1    3;;w\/ h%%&JZTiѼT9h}>tx{l(G}Zzbb]XIp=j&g EX:ba.VhL۹袋w5'RQCWQQ}SjIQ .0IZU6n(wy }GC+/YD~i2S1V8yϖzQ:ބ $77׽]Gey鴗@ܬY1vRwBV"V{RA`tD=̥m۶wy,8   > +إUvMȁ"WIFJ\f ix. n:$7n;wɡÇMK` 40- iw}^cv*^-Oig@@@X]{+?3fW\qd3UtZ=}C15LazNLm۶̈́o6lhvmڴ6mݮovUZ2y[իEu駻et1׃, tkjJWzKUV>kΘY!5 HV.j;V ևZLnݺU_:|F S-[f|a*um   &`Vښ]6o~4l@ڴn-O˔֭$_fgHZ{W.=OFz[k v+)9!\4T9stv=ɢX,"a?`툼[)QFd?]gQ5 ui uĈxڞ    $_]Z=o#?7᭄xIo*[/uDv[J[]7j$;&ݺv1A/vq4QQ?2s$6mq⃲j:پc1#U;Yĸ    @8  [˱=Ӳd8p lji h5[nO~{ݟY&L:UMfʒ5Y    p_]vW1Rcb]%W.}(dΝR~\Zbݳڥ}\ccbgH͹U ~i&kvNWu8@@@S'N+Vȳ>+]J7n\=hF-[?w\ݻ9#j7JVE6@@@@g ZזRvfO^ږ5Z}rҵo+ WWŮήW/+K\*4..NF& Uk̔ܩuY@@@U`ar~׷F]a4:u#GʠAq/@Ǐӧ׾@@@@ ࣏!)///iicbcHJHB3#GeͺMi)-{ߗ|if^uG٫e+PKW߳:?@@@E`/zat`}xr=z0nݺIZZ}7 ]Cf yq4   N55oỦ".ĦAٰiWFZ[SeEV+%zys]_6\K~|4KJJoZFv%1QѦW_WH@@@_v*&痔Ȼ+V3EGGVҰN٘*W΂ Us߼<3~)kƑ   Է?>~E[dkvSYyfU{Iwn.e2!. {iKCZ_.hE(״wYfFeeqfٰItJF[Nc@@@: [֭['k׮իW˦MKFF]lC? Xjx65n8eĈx$B@@@ g(111r?vU*[rc"ܲt8-SW)/4@],Vq{ۨQC״}urVwe 퓵rL/WҪ~ûÐ@@@-@+>ΖݻNhEu\va^Zf&>'`Y%tٲe2j(ILL,~{@@@@1~ v*lV:~ĕrE4yZVF$w+v<)|@9 k׉RsNعci٢+'?r+ػϴUJ]cccSҳҠA9   "@=o7~ڬXBN;4i޼yF+Wǎ7jt!@vՌnС&|:i$B^U(stƎKJV   *@W09_H[&n:7W;2{r뭷JBBBs&`viKZDN*ӦM .@>0@@@@ | vw.qUJ4u߯}HZ׶YX^ A~l;6luҴ L6i/ cA@@@-=zTjРC xYFV^-6m2%= _ O؆~]-2ըBVө=ׯV$@^|Eiժs=r9TVڱc]ּ4u!UL vǬ,6&N(v[yyWE@@@F`ߓUҩuE}Sg+^eY*^*vi%_.51ymۤH}\S;6rޞ{#+   Q`1CKʔ)Sn3fL)o*yu|38|G] {s n>Gʏ<۷֭[%333R8@@@;_]3'g%\S/Zر>Gn7;wh/gr +ػWrq;WOҹeou@@@)@+!vqq\s5f;O{=]E 2*Q/^=5cbbqذa/) .cʜ9s~ @@@p5ؕz lIB|c9oҲy պWΆv];~Ttl/wm[AtҨQ#9s$e ] _>Ɔ  8P`oJ}uI<+]T-PUK]ƍVUo]x ?tZءC!R+4cC@@_]{KNKkn]:Kf\Bs߸I8`_iW& fC+?ߴ:\p@ig>@@@`  ïsQy/߿_dԩLiF"K[˒>}w}c=˨Qdٲe2i$|}ѵkWѰH.]1#@jԌl7T5E2   %`WYYٻU+WvKJJN5H*uHviҘ>w)w|'PڶI109,   [`W|=}hfYv^Zmrr̘1C+P`$]7j]u@@@.`vZ]EEŲ`.(} J\KrҺUyostWefA#ii2A   -@+oʖ-[A/ |ie믿.7,`=@ot pW߾}Mt&USC@@@g +إ* @`| vi&O,SLDY|ylz^^4rJ3Z%@@@p.'   ]N|SO^uYr]wIFFF^iŮ+ҽK.N4h N.N_]Z+Tq,cǎ9sJ'   B`W-8@@@ v-|MwPw߭/=5uw"> +إ~333H&L 'N_8yٲefI4+III,@@@@  28C@@p.GߞuN\/VĉǏ_ײj*=7!!فWK{U.B15`t2@:?/{oB    Pp}@@@' rݨǾ^Z~ӃSJ޽f߾}rךc}Q9N].ɓeʔ).}Y|o-?M&gqdeeg#   v99@@@  2S/wQM4sITT^}fJƛoY:Dz|wK{޳M.e͚52tPӭ+WV:uZ   N`W8@@@ vf͚%o9_~W9%cyy 6Ldȑr]wZDP233H&L 'N}t+ w?^O+,   8E`S@@@p.'Tn&)((0=3#Fݜ?̞=l)5łDK{˅^h:?c 4M?#ꫯ)III՟    By@@@? 3h7/>XP񤥥ID+uȞ={]ݟYA*إ3g贪8!ܵ`SK   @dX%SSS#c@@@/D.ܥO>ZQFɝwYq 2إ7n̝;t>]:NS1>rG     B6I@@@  t(^Foq%\"7pw@]}{kĉ2a„bPرcM%G @@@Y`W8]Ɔ   P[] dr֭4i$B%6'`n2e3PfU^^z$&&VVZvٶl2zpB5졮#Fŋ9    n2@@@_vǹ @!}z׶m#ѣ4mTECX-8p 6L=SaM&SN5ea@@@ Y"  x ݇ c=g3_|am~σ6ﹹ,ъ^e&e}WpBǏӧOc@@@"H|96\@@@`  4A|`*,,$ݻ}u=^+i8,;;138w@@@,]u-   w]}؋8F]@h LC^VK۲b"."   >v #A@@D]x7n(ǎ.]H\\\ 0dBS ])N@@@@ -@@@,@w'@}{ u}GKV wl;?t@@@.   @(  WǾϛ7OΝkΞ5kˉ'.hy7$99sJ`Wdi@@@"@)w~   8A`B_O   T+@Z"@@@ ]tk2Tn_M6:K.R߿?A/ +W`Wp   _`W͹"   sv9g2a׍nMJDZ/@    Ao@@@W`W;'ORRRSzz蔌{쩰]֭L4I7o>:   Կ?vKҿoz@@@}]2,8qi+--MyIII157țo)9999sVbA  1W@@@@ U\@@@Yu?7͓sKҩS'}پ}_Gge#W`=i @@@'`eF ]3ziuYK@a Oڴnnb E.7 +   > 0\N>S$Ƨ}QSKϟ?_=6R    (`וn%JvAG:uh^~ٻo\x@IoDz-.+    U0L_lL4ɌfѢEudG/ 4DvnH     l@v4;Tp1YW W `W>   P`WqC{ʘ1cLz!:thݿeϞ=ru7\ ͏@@@@N v:|XGָ1 *|@@@@X۷~lݺUe֬Yu7x޽[('Oz,;@w]   8[`C@@z;j۷o[o1..NƏ/_|>8p@K. &x< ?]%@@@p.gz   P?ݱW}wW^q/%%ń d*x=zTrrrdԩR\\l.W]uV@ 0J    ]ι@@@v=p\+y'ھ鴍kҤIr&@7?F@@=Ç/Cرcu}G}~ɺuuVoڴy%&&QF^=&U7#  8J`ns://,[k멧>9'0 @@C W߿߼W!eݾυrɐj޼hB%##ünZg!=:v)'NڜFѽkW~ٻo\x@Io}Lsc@IDATztA    u UW9D.]*e׮]>p֭\q! ꖗg   @=zβZֻu}|]6lhQZ-^_ZqƢղ4h`^+ovtt]ۺ|QW^yδ&Kjgk]4 fB^^VK?p]__;~}suߗO>[]/C$imSmrS   ']~@ -L   @dh%ٳgOmE?ڰ.5k&IIISj8K+ZgݖgMiUK;րҩ$+;w_ZEmN;4ԩt1`W_+vHzZ[iղeuUא_ΆRZV* 8WRSZ%`@@@OI3 @vZ@@@A f+fz尖~kĘ QҲZ5eme8ZL^pw':ͥECtҗ[jz`צ-[eMRXTl*2иXiۦM"`@@@OI3 @vZ@@@jNZEk&|eiU rդSQEGGVKWբ-Z'''w]^>,"_[n |mٲE6oʚVC*պU*إv { D+hh}f+ԕ(ZvY#  K`$i<   g*OuC=Vg;l޼Ygi8K_p/+ڗnuYҧOCAt]`(s @@@ vEf C]G@@BG@VG{i5UjZ 40ղRRRLX gY-볾[Sj+***tPi rssM/ Hii)ߵa/`Wdi@@@ v] "3h@@@YY9rD>\嫺ҩGUiuNƂ@} 4j*vԠVbA 4A/{K+շo_9ϗVZU>%@@@ A7"@h XaB+#G@]@Q&UW)Z5 gY!Oݒ\@"lԨ4nܸίS1K߭ɂ l۶B+++T|i&4AIݫ 쪬g@@@H w_eݺu'0M6_ 6!@vK  VJڿ׾}*|iH+XKll4lPAwk]->O_KXQpZ9jl3{muC%۷YryUzU {s9qk   "76~< ׯm>OK oڱ @pvכ! (/wuʻnV]U9*JcsҀѠ<@ H׬Y#˗/ {}7{  g)ZK7wyf\=(55±56^ypW5=/eY+٫JN>~iF@@@"[`Wd 衇dŊY`̙3e˓O>il;V`W`}i@eԪڹs" HIIIլY3^}X@$ۤA/+zjw:^o\t). w@@@ ѷ_ZZ*Æ 34_J/6l')(byq;v^xLQ- (YE@-|JMkiի֭[WJJ{֢E whK+i  H7;;V02)O   "@+TTe\zG}T?|sE}2awK2e}2b:  P:Mo1]ݢյ/5U9eX@pV: v9&7@@@  /GM'{=iڴYFU4ܥǽ;e$@+@4 Pn*Zֺkk4ᬶmۺ_ֻNȂ @85"71   ,@gh`ݺu2~x3 JUpWF[PP ]wː!C]#@vf@@v1-UZZZK2ZrϺw*b a"@+Ln$@@@.0~#ǏÇاWb8zhٿ9RG`8\˼*:8|t@9Oն[ǎrLZI˪vJM6S@@ vEg   vyӉ}^Tz7$99YƎ+? 8P&OaZ   9WD@8|5ebqqGSZZa pK\\sو vyva+   @d q{쑛nIʤQF3Ϙ)C&LpTQFvF!Z+@+ +o>sm&[:ռaÆᬌ 󲯷kN<6@A`x   v6? /o`ׇ~h^ׯӧˎ;q? 2}+ ]qU@m҉ھ}{ڦJ)uD nihKZVK[j8@ 7.#  L`WhCKʓO>i*wU7 5oXi޼Cn&N+@˿ (//:5=ZkG:V)0  oTrm   @  [:tHIIIҤI\V@Vj  @'O[ZW}RZZ' 6<%etDo@_]#H@@@"A`W$Z>YfV겖hի'?JLLw bs)@"T lCZ;w hٷ粲)%&&J֭M6&)5\v8@"C`WdgF   P3]5sΝ+:V y?K+;.  #={RYҪ[ li%- l+%%Žnaqf  . i@@@ |vϽi$ѣGWh[n:%}IMM3f0-u,@+4 @i}9??߄5UYfZjժ)lDc@@j+   ,@+n-gɳ>kԩ<#-k),,/B.\(fsӦMe̙q#@vΖ@ÇEEE/ ~[ЖpWmeUֲյmic@@ +'!  E䥗^2M:UzRyefV], x]7  xJWב#G6s堖='hҤ jiu-}ihnmo޼{D[vE@@zg   @}u^sÆ r]w}Ҹqc|ꩧ?7Ǽ ҵkWdz| !- ;&Ǐ7/n ~vgclk;V{ҰaC җ h^=.  ] t@@@!r#Z1`RRR"O>kR#1r3DvnH  =eWW:NAʟ5UKTT4j|Aʟu[||٧=- mi,   :Մ-   +@+r)#pyVMGСC塇:=6 vד@pА=Le_u+LU9@eU;zh5'ZJ+k*&&F4h`{m׭6=,   g   B>~L2Tpbcc=^[O+|rM7ɍ786"vϒ@ЪSV{ua,=СC\V;zn},W^Szn[U4ł  ">3J@@@ 쪙Su *S6lٞWVV&gϖ m3gΔΝ; WZEjXUTT~~i۷oCr*8)hV*W{cۨbȻI  @ {@@@N uIDnChcǎV)u̔W^yE@֟3  ^@U0.a+}UCPhU={ʹ+zz<;@v֟O]shpVЕSISҬY3IJJr7o|Ms I@@]ar#   _v1)~}' 8 hݺu6n(nݺɌ3 {TA6*MCY-[dޢE їVҪcĚ^@@@ 4v}    g_r5T祗^*vQa6m2wHoo1~_tEf}޼yҺukv/9stYz-FOԠסC74S`W"R@ZEEErV@b5mUղt{]Z񦚖U5K+hYS껾*oϱy4  .@wCZ@@@]s/6~^nS9e`?.׿+;p]'N,3VP G)~ZOWn0Oj$;OG@Z? ,evaiҥ)H{Acr5QsMĘ)Dblk-Ė[sT@K[<3zΙ93,w~O8 |PK(U__ߤNV0kyt@K h5@п'7|>1@ TV8s2ZZ@@@  ؕA7#hQ%k|>|};qRwZ+إpV2 xi/`W--U0/Y~ޜVΝc|8ˇدӼm۶#dԩS3FiAٻロט#ؕnaΏ   MnB_kkk?8zꩦJڭ). Iۜ9sLZW`C#FD|!^}U+));^y{ݲ^Gٚ5kܐTzx≦ojF3gվ4amҥ6w\^?~5ʎఱЋ N2Ǝkf]g>\gVZ|:vСZ/^lJO>{2Bd;vt\ףGp͛yW{z1DŽwy,X`X^c`W:T9g ٳІ۷owC:?~wŇ@VpYj8!H`L0awy/x/v&!-@+Z v5ތ#@@@rW`W۔^~?>oaaOkkaÆ~_ڸq6`_ QiK.ą:?[Ca䤶{n]h(kkإ~\@a裏\n6g>@VO؃>hGuUTTs=nX0ٯ~+5G_[ 7\ݫPzXtrLM>\ k])~ iTsN*d`)|kHC @ <_gq=C֥Kї^}@j"|C΀   ;r^ȕҏphFO:dt0`@!I|JU|}ofWI!UcݻO?m B'|]xSX]?As=lof8tgWUww]]x /… gqUg?[NpծT!_t/b袋Re,TK0ʋ$PA/1}+z̘1b1v fs9\VLU/HvTuL%K؝w*vixF>OǽrOCV%K/ڵkkԦJd!< ^j^{Ħk_KR UISgU 5 ]uUv駻s@Jr[@9bw@s?6zŠ nOk]?R,ǚTo >en:@\ ؕ+w2t5TYUc}*$\ ;I@@@ wvνlչ*]vQ5'Sc5U/<!d]O~?}tя~*ᮂ.~ߺ vR(K5UR7 !? ЬY{۬`in=TI!"MZ}n_Qt4DW\ag}? ) wx ?O޲:˾򕯄w.TT .p=#.a~RjSͷuօV>Hmj*߫_.k v)}]0{챈sM~j^j¯iU`Ф vYz^ %:t'o=aFv)'w)Mz 7eYC P MU6t^Oqk:XN1__S s=gwu0:~yxsoٲo7}Y+[~ܪDUxwS?#ciWE75إk囂 5Ud^si(Ex.U*ۺuOhTu056/z9'z;NU}_VJv^s?i~&hUU?2F4 @ 0 LƎ`峖=Ca# C=4^lnH@&{ߐ@@@E`Wuj9 !+!% v B1>P]TpENٳgszUE0U-|*`ZlNVU5Y#G *Wr pFk7ntMPz18d쯾j*Ju?wKiHF5Fsp(S 0;<7}kFC!F7 U1MmZ*]CuXa5̢BX {% v*)p׽{whxQm -\iHmPedW'pVthKDom!Zzv4@<}1Jmb G`vs    j'W7]]w}ѮҥK8C\ p%xW7/z(7cJ6إSu' 8c ד`BJ/|XSN ۃPղ5 [kP?#|FҕW^}t_/2w8aA. ?سgψã] kzו`aiH -^S/Oڸq]m„ q7u:-}M~18ab9uc mM!j]rW]~{h4 ;6+}A_!I?xkLrH&u Ww1p6'{a   @> û+ؕ*?^pHT;y|*`WpxN8yT $R(nڴiB-]ԝKR. x5ĻSHM]o1XK'{L| Wi@5:)|z^D vd^RRbO>d"eI-. 6(p ])Ĩ1e(إ{ڷm;餓r?C|u>إ   (; %׻60>|ܦI0\|LsU*ǚ3Jg97 -)0uԄυ/C= nַ܇d~'fJw;vpc(Ƭ}t@@@ R Kgˇd/&>HLKGy$bC?UR J-`^=Lzn3TAW_uzuH)@ThpTc]_;jᎄRR/?| iӧO)SbztO ugkB}]:Fa[Gᬂ9|un iܞe]P)* j7rc籎U-MU]K0 ʏ~l@hq\R+V{㎋ud]7    #@+weW`_ӇXt-$ݧV ]{p?3֬Yc7\hGj߾-Zȅ|PVr$WgE/.Rw.̚5k}{s5ޑGTIO6x.Q;&4,z/ͯa:U2mfQ>:Ws熿e} 7ؤIܦD~.kOdbT-GCbjHFϾzB;"v///o P+4:}S7Uu{LU͂M!.|TjlK&Nh1M!o}[_ /5Te=̡*)rs )e]f˗/w7mM)USJMcǎ~s܇&L]pwsrk_ռ`SPC ^MUA6^z,c}k\`SBU߂؂SL+п ~~inƍဘaCTb,a/j(}5V@PKpU} nKv߰і£mpպJu(z@>6!Tퟆ   @v[8 v)䢊HGvՆTqK.~s ܇f}M ~حŋ]/}XU|ǟu W/ ~vi.LuM7d=+Vpa6UwɜwϞ=EߴiĈnd keee~u./ pK5TMM baC/s4@xL@#/| +إo UZtm jWiYo){Yu}aC(Ij]m%paC$? @@@t Jn;V+VWQLJҐxxݷBKKK'܎ҳ& j!B` ,:]Y1Y0U^!/1;PUp6t}`?@@=t֬l݆ VWυt)~}Xeo_hBC0ևU[Sk{kڎlV xG\C3<ȆEw"@@@ ؕ1: vXU0t4 I{$sk`W b6w\3gqXcmb] <裶eSO>9T6} =3OӒ>@%y.H~v2XtK^ך LI/?\KC@@HuKW*[ u%Jǎ(4b6?@]h(ƥmkn7AÆCZWgG@@E]xW\SK,qURu2x@zvǕ"@f }]CAF?VX,n۶mM շSKSqqw9UӰ]ظCnމ9@@@bb޽:FC J1π/} L/-G8zaͩ[R+:@i7śT5oӾT#W  xTvYB]\[f}4Ƕ%q֮m[ 6jo25"  v0e1|1:]p䪀>Q%`/R8L۷G̃vOuӇN z|_~]S ۜ@@R%`Wmpպfmz,U:[SSckCڽKَ;ݙ{t=zXne9e     \,<~ʕvwڂ '??> .#s =:R/ NЇ@mWZ@)Mf5X"9p&Ȓ]!T@`Y0 @@H$` uUy +l;6twnڅ*k5ٳ'檴+lV__qر φ hݺv@@@"@)jV@)@VG`Z i޽{[``h,r:7    K`W,!(@+o ]BT@@)ܥIXˉ),֘o֮]U SX]Fez  @R3?mnP+4$aCgyd]rU,ZܵÅ:D0h.Uҹ؅Ȓ9    H`W"!#"@+Cn@haZ"~ ڦD5M8HΝ;[IIk?ֺZ7  d@s]wW jkj>>TMW+>̺6=.\8Tk!C:g;G@@L]y_ pWznZU}`ŠP0? 4bq @@@\ ؕKwkA ؕӷC!U۾} y_~c4ojS/RgϞWK=sl2! @ kZKB=֫g;x^ܥY{ ئIC:69@@@ ovͭB@ ve $/P__o[n͛7iӦMe~m 9ԘaC^~`w Hekm:{o, ͷ U5xаݐ%G#   2ZƙgA-@ل@PZ~]Mk֬WUU%ڗ*+})U^^ Ӻ¤N  @u}mK  t;wE l޽"sqvj=ww4v14dlnGUڵk Q5TQ#O(Vخ[   C`W:T9' ]i@  Uhݺur& k׮}}qѧOWW޽F) @]z3TrǶ㕡aw }K۶mc.e[nvWW[h[m!yk׮-Z!  &@+8׋Y+@+koG@5kD|6lGq^ꗯueee1c% N ].ݻw lMUU_o;Ci@W^WPn0/&>    ۻzkIk}AAA`@@@R!@+h!! O@*WtkٲeJgOW+/U+--u(@@_-S+r1RkW:7~SX عsu..va.n   -%@y@   @34c`T#^k߾}—_~A0USe0 *R|@@@K`Wv/zy,@+o> Y#5kb[j۷) ^sT]v  dls@@@ ҡ9@4J*D@ZXV\QX즆*~ETիzryyu@ ؕ5"  @)@TJ"@@2_@C=+W^ꗮR>+9MC@ Tr…;cw}^!   H`W"!#"@+Cn@@ZY֮]b rC@jԴk׮z_wn.խ[77W+z]qqqRf'@b lݺf̘\|͜93-51 @@@| ؕF`W*: dAxsvk.05)չsgԩSxرcx9^iӦ #'ŋM.UҤy5&Ogu    y+@+oo=&@+E@C@RkӦMyf7.x)8Ċ,:աC+,,tCJ&=}k۶ e=.((p @ y \ p0#N&LpA#<&Md]tq$5*v9@@@s]y@ {veϽ  @ ݻ7nl۶mn8-}'rpbZ y@_ ETWZj3g}G6{l7IzB\ȥCuv Ku   *@+_<׍Y'@+nF@HB@!10 {qs-G?nh߷guuunj̲߷6`lP,Ҳ*iPJJJя6>!p)̵dɒa}kРAIJ@@@@`Wd.rC`WnG@@"= )pA>$oT)NT5|KA/Meeeֽ{!R΃@w(:ĵtҘ!ÇÓq2^Sq   @. Ż5!@N E!  @+(LRKonR4zkݖ-[S,: i:u& ZAu(WXa˖-3 ITO>|cT.`W*59   @ ;H@ ovͭB@@@ T9,RkÆ nZ~Ś kL}Ыk׮. eKKKÏu H o-_܅*++M\+DBKb슥:@@@| ؕwF ؕu#  1R LWZb7o6M 5 ~X=櫆ja ѲS@)-.^xKWW~lС6d1bi(EM:uj ]Γ"  d 1t  -c@@@ ?gi&/Z@XjL4Dy_ZB+i?![V^\ ߿8C\a?v]]јe[__Z hEz;_|\'   @2Qb@ veM    )P`ˇ4.Q,U Ӥ㣗wޝ%:QAA(jb gixJKKsV"d{2bYgx@@@I`W>mZ`WV>:   B >V1Uj۶mxok{ }B%!ؕ4;"  <\"ܸ\    ߆-   '@+9WY*@+KoF@@@v%MŎ   y @+n2!@+7#W   vŷa    @ ʿ{#@ G@@@@ i]IS#   @ʃ%"@nʍU    @|]m؂   s m@@@HZ`WT   &s r>r    _`W|   \1d,qt@@@ ؕ4;"  <\"ܸ\    ߆-   '@+9WY*@+KoF@@@v%MŎ   y @+n2!@+7#W   vŷa    @ ʿ{#@ G@@@@ i]IS#   @ʃ%"@nʍU    @|]m؂   s m@@@HZ`WT   &s r>r    _`W|   \1d,qt@@@ ؕ4;"  <\"ܸ\   HGk5r]W6d +\܄9@@@ 26 @@@H@] u_6nluuu)ymЁlؐA֥$d   H`@ Kveɍ    dT^;zMuϊܷkيܪ p3   D`WJ9  ~]7@@@@uRzWmMv6dVXX ܾc3[~1a|j     ``]|s   D ]㎞l蛒>L}m[j5.@@@ RN @J+gE @mmݻ7TSScv[III&:?@@@-`׊WنMMX1lu2]M@@@F j;#'C"|IugF ZfZMWkڵkm߾}MꢢWYY >Fa#GQFYiiiA   @ ;5Vxi>sֽ`W9@@@ ]( 2&ЅPխ?ЦO/^k ݤ\z_va;w ϓ9y=A/=z+@@9tV Ů]C:Q+^|\   2%@ X*C @eee85m49siֻwoS>}\*8۷ rE*iFRKTlbŊ\ֳgO;v7͵sֽ`W9@@@ ]( 2&ЅVPK.5o޼ 8N:$2e~MB1`={uֈ^Î:(<@@@2Y ٪5kE0SKI f)r0   @2Qb@ veM "! y{衇LU|k۶M8 @ʀ@"PUUe>._B3ΰN;Qwio y)dɒ3CqA/Uԭ[}x  S f~dK*+u 'wv#,EF@@HF`W2Jd t!e|v=s="u衇\ tu=eljb [ ;ػk8fS%/U:㬼|}X  J TS۶rj;bx6dp*O͹@@@px! Y"@+KnlP`ƍC]we+Vp9c^z 2٘^-[B^ӦM9sX}}}ēU@@@9DZ   &@+(׃9+@+gom^\{gZwƍ/UСC^8dEڵ{=5k͜9}ۺuke&Nh6vX+**؇- z{jjj"ٳ'Eߩ;š;w  x`3ru%lM_\Zf[`۷bW9@@@ @lF2E`W BAnŋ9묳\u#F${* ˗^3fpU|XO*URpO!/MZիW]EuE 6I񴬡6ov^뵮:m z=(^ }u ڣGӤaW\ZZ^Ki'F@XT.Xh +۞5֮][kS&4|w;h`+mLX*/ZW{!cFYy}- @@@T J(C$@+M6n߅Ht}K_rC.-wҐss |#GAi.FC]]p+\^~mڴ)ڷo_I}VXXXmۆ>kӦߪsNS`Ls<|kE\A^3MQ@@ ;R{Ԋ%KmQ(sn}zÇY]KؼBez֧w/5"tP@,ew    H]cw@v<ϛkfo^z+((O>.r4iRa_t {)&b5Uio߾vI՛A&_K-[D[ oiƶb+++uf6_5Ks=KgA^o޼-뱖uZePSPPkf6t! d@]=Uv߾zwB?:th0ܥlμ֣{ 4}!B'j߾ G6 ܓ   M 4AZCH}9/}Q[mҥ]xveY>}q (׉Eٚ5kTQHaݻOpZS~{CěTujV! H߇6, SZuZn׮]S*c+ܤ?Z} *__mԨQIc@@HG+*ex*[| i>z<E.l֭kE}y   @:vCs"i ؕTNdU;;W:t swyo=wh90ZDae˖YUU {]V^BU٨۝:u WR,, m)gupM VV\_>֭[r zi(P \  9-ٳז,tS.%6bX(. 5׼B͎<|vJ+s^*@@ ]yqH!?rnf5(|s뭷ڃ>JL]G}t^=hURG{)^*je?}%.lU+Uy*,, σ **0zHC\ϵٝ#2m۶+|giHP PXtׯ5a8qM<1  @TKW3W׆?|定Z[c[ht.aCЗ0@C@@@%v6υ4Cv5C,{M7dӟLA^:,ꪫlȐ!M>/"-%,XB^sq*5ٯ ƍs]wѬ@@2D%]d\zU\XаC_3 + NC@@@5v:ω4A`W8Y pK.[os~}W\aYO @+ *z͞=fΜ&UnԧlҤIv1ǘ*J @@ -pKlֶm[ۻq^   $)@+I(vCZ[`Wk߁yݻwۣ>\pާO]K@\ػw z͘14_jU1cƸB^_@@& FK]zn۲um{twS/@@@H0r@ o۝wimݺq1®J;37݈GشiM6}]77o^hÇz 0 b;@@h`Wrc/@@@ZV`Wzl @v5sϹBAAx≮BQGh6#'}v{a?" 襪^ ~@@ Jl   #@+5WY.@+o`uϞ=-bw+))?8 1A2W>{mn&.u1ɓmرmؑ  @    !@+ @ ?$=xJܴyf!Cؗ%?o:uk @ ڬYC7*k׮nwՎemڴo?V  -)@%y.@@@L ؕw!}XKmJzGmb \3<8 +..m@ ezd1c͜9MϷ}EM }i @Htrn@@@l ؕmw"@ ʭ[!^~e{g^]v/p*gm g@t _TWR7U9r;MƍsR s@@k֬qӧO @@@v]~?[l^x*u6`;S]e>دf @ [EEE8 _Q냭_~C^ }i 2  @@@ vM@ 7ve}{Mj]H6ml„ vI'ٔ)SlСy@ vm~a8a7nܸA׮]M _Fm/+@@   .@+_\?dUK.7|x 7 w\r.u 'XIIIx  d>|C7Κ5Νk;vr M.Tr.չse \9   7a ix]XOԱcGqCR)ȥiԩ~pG s tvau4@r]?9s渐^kA+{ _} 2 䑀<\*   @\]qi؀@~ڋ/ >݇sW\q}-;w{=_n>Pj~(LDk-[6mM>Wd >\sxV@ п x)hѢW=ܗ TK@Hbr*@@@ ؕ FҰlݻmŊWuuo YיOuGڴi vm>ҤO<N]b޽{݇Ϸ I˚m۶#Fءǻؙ9/p 7wߝ"АE]d7|sC & lݺ5"_WxL۷oox`8ЗBa4@l]}   @ jYo '(إ1ctAvw:ZF0frJWw6aZǯZ;0Wug͛7ۏ~#mذ}]W)LC~V\\l?O`/RgӦM!/ _}U7,qg{:>4ii؝`۳gwbm._UWСCMתJO>n7bPIǎ]?ǎsC=+JKK]5&\555;5j)%><L? כ>^l-].\.GT}+EoSN#Lߥ.]HOy7r炸P[*꽠zPСK/O4t! @vS#  det8Pׯ7 ]^?) 8'|ƍg7tX Sl׿nu~__=]?nt }s J29,ThOVVVr^c\Aa\(PD5W@<]d^?S{EhIa`|i!@+7c.]BhZv y+}]>  ֽ{w7gv@H^`WV   rs(]7jEUz饗\5+mp2ZnjKǪ"~/fN83خ] vi%UR+U`%ՓO>]As۩jӧO_~ٺvh+)| e9^zk mL|ɦ b^ص^}|+v}_wqG{nLUO:ӤvUW駟ҹ0_*v~m߾zMmܸ1\G!.U\ 5 >!ҤHCӿ1{oܝϴ;!+vemPK>4rsXn[x2MUBg/뽢*K ѓw} a@M`Wq@@@!] 4 `Wӫ҉g֜`W|5/Uxm6 \u# v:B`Ƣo jU)KhhX<>v5?-{`N O*4] {=cGBAjaPO?tSNܣ>TP֧DT CA,?5 ku md*j}! o ^SEEEYFs9e=ye>@mmm8`> ޷(ě4s0+!UAT5 @ ʴ;B@@@ZS`Wky+C@з}wX(5e谑A7xM0??.(إV[>.eU+,,v)u1hs); @   <p#]*;>Y|g? ح*S6`Б,\R婞={FAtֲe\eU0P ȷX._P gCh?p `c>5tPܲ>xӰ3g4CNjD.}0{vݪ_W6~177R"biZ*jQan䭷j[Q(N9]Pƍg7t;xWsW^pѴiKy5Wی3`o_]r%n~;:]HLףj`ס_ eÆ |ejhO/ULHڸq) LU-}۵kQKC E/0DХ`].ydڽR뭷ʴne\j _xoZ3bpPıcf N3^! V S_2~c qe]_h{4V`Wc@@@ v2V `>?M_|]tE |ud]]?u1z`9sq'p F 6TIA .mK6إ/2WLAR_!][! '$RnoF`)\I'c2AT uroFP@h('mkEmzꖨ+Js=4*hh0UV!N:uj:"kϭat$š9A^:;W@HN`۶mVUU&UU_s?_ZN5VT]:to0]0ZPX *]<    @+"אu>hk(F1sq"=k㎳{מyӇ7}p}LKO2~ 7 o|J4 Ũj,<򈕖ړO><^{5Ӈj vQT Gմ4|OVēD=ҵ5\c h '|Su1} jsGOi9~uvõTv)^ uU)TV^^Z 0 =WK0 հފ+\2^믏Y"@+Kn݌+z/܊P4MlL b|8Ka-Zя>@Vcƾ dLC@@@%v6υ|kС-m7[\E$}#^a.}믻*V W$zM&d]{͚5zawuuMWrC?ГW\\C܇b ^|EEjYbԱ uYZ s+, viwUR([C2",Z@IDATJR>^uUnS0%/O=fT1JMGi[:Z.S]]^U^~l2P Uׯ\_#?C9d5De쿇~v{pi[z/iQU{=԰z)zY_R_ Ht^# 7a    @ {ϕv%B]pرnڦSAQ%҇X_]IC?޾կ!4 bC.ꫯٳg6&$PG?3UO7o ?ꫪ*wy*7|uc=־.o7ydӇ|ӦM nv5j 8Q to>२>?#ҥR)RDXQPPcID{41{Gc ;Q`/! *hHSQ4/R}32;wo>;̙33wA9_W%KV;ڰWDaݶiO@vyn̤IdNTv"͛7ŋ߉3FnluH[: mi[/gyPn@ @'@@@ LWА8 4?|[#F5DSWӲ!3Lt/l}qu4xRg~OE_ڧK9jK yK3-p6("PB9߫9|y뻆mۖ .fZT-_1N   @V]Y(   #]1ln5:啎D#xT+dѐt ԊiM(FԩS'р]t/ Ui@J*vwwRVzg͈XOxPPԲeKi۶t|HcJ.~NR_<=#N/#h: ^Xls:~iA2c ywGU`s=e}52lG[_5*;Y@2d$&b w,{i-g 6Lw@@ 14 @@@BvU;Et.N; ҐNS-6L~;JM2E袋Jq\`WuՂ t:bԩSMKC`I&ҷo_3݀L }u@Y@CԲn5T׭[.א!  DG`Wt;A@@(\`WԀ@(t_|6tPӧJG裏̈Y>Ū7z+RVV&ƍ3)u_vbQk:R,'O6A/Btʕ tZS}L @\Lu֬Y2{lY}tJDV?;wlFYm֬Y@@ nrg    ݌3ڵkO79&ߐNxwJve[G>|SsYY`Wm6a/ zVWZUz-ptA;fh yhH_ qٗNe˖rխ[Lg!.j߾ f Jtcu,   vRa1///_.-Z;5jT2GJ*tv,v7 TG / }ܶmۚF5ճgORs@ wkyƌwiVZ9p!d%@@ #   BtTfL0AƏ//vJթSG  |yWs@"b 6mґ6lؐ< *[ݺusF)ut.@@.RC@@82 n47}{#vA$C 1#y1]c4B*Z@G;wi?Sٶm4 kCզM7q   @D@@@t%7Q_,غuL4I|IZ~afB^{hv?wD`t:Kk^^z2l   U,YE@@0mFX W//,7n4͚5>Z=XiݺuP[@40lR.]Zu{mF0מ{)Y  P"]%2    n 841bW5k֘~a͛'cƌ|PV^mnf͚r衇W>}`|TS@  j7EiڴK0WݥZj0  @g7o @@@J-@\S`Wp=Mf?~{2e.[h!s 6L7ng@ }w5|Gl۶tŴw@8 Sos   ve8 ]6cf/qݺuUT1xr){4 @~k\kܹiw;:!utXA@  kn@@@b**u"E UԈUa;vy}uE45x`Z@ ,^tT. r} ԑ/x4l08  @vi?   Ԥ.@g̘ai|'ܡNͨS4>\4h@ ̛7wޑ.&j׮-7A. s @@&@+j=   "@=EJ(@NѣeΜ9ΪU&C#FHN"t  l~IfΜ)SN5a?zF׬YSze\odʕ+'a@(.   \(T euZ1cȸqdƍκu&zvaRJ-T-[O>1S*괊9[#rҷo_ٳ'溁XG@ ]s   ve $]Ape͚5Cɭ*K,17ӤI9͋iݿ*N@C~3iLhP_~Nk׮RR2l  q @@@v%T`W@;&ڶms:O?4gUN>]ב4iр6nܘ#㏢ϼt{Æ tLW~}ѐva: 㺝~<]8VZeB[>3_} ezf $:uJr1Z  F@@@<D@  !b&N(wqL<)*gq뮩Nc_L45gѩ<5g@ʕni޼hBvqǔ;&1د0ޙʕ+ECJ˗/7\ڪ(_6fCa6f`qƁJuj~ / rT:fEM6.{@   @xvh)   @vߘ+ J,דO>iF?GN;4c;PSf͚Z`l۶-:UaNVH[ 'DtCCMjb c~42U*jժ9SA(fvjH;=nרQCt+-/ fZ~֑4a6^׀V^m\eeeK؟W֭KG?cA@h#w   .(B=/0.@  w}2zhYl)4fFI%̙1cy}2{lIKB;w.]H׮]cǎf&M+}}w&) y jj KGkԨyu}F4e|fx  ]QE@@@/]~IR Pd]EtuO=<[okT\ٌu '~'.J ipK\6̥#q[n&A.}TetO ?t1ڴil.kN:fd0}wtt0ݮWҩ%Y@@p rk   w]q 0bWh& |gf|P֬YcN?4 iӦ{gu䑟tľ}:v@@B-@+G@@@| 3(! U,Y-3~x{w5Rr!rJ~DGb)+L7s̑e\ ͛\ @@b#@+6]͍"  x " @vhf͒1c#<":M. 6Aɐ!CGL7[j;ay%\E?o:wl\Ұ    Pl]~@@@0  SoVXwo~Æ 3ϘoբE 9#LȫCw( nܸLofΜ5uĴnݺ9#riN:j"  iv   @ vŰӹep]`&ʢE vuW:tͫM6~V 4gϖɓ' Nyi&`եgϞҿw}e}5k:YA@@*J`WEs]@@@  b&@ (슴44vX?~9!8@3]cʕcq\Yz̘1C>C>uTZjI>}z%bA@@&@+h=B{@@@*R`WEsm@ ]9`Q4rׯ7'x„6oczd&6Sh\6ĥ 8Rn]'շo_޽=  V`W`!  T @ @>Q( ]V^uy套^+V8=zPPխ[ЏLt҄| ۶msYW4iܹόl    y   % URn./`C:= ,iӦ> zo4{J۶mzґh\:pOѲe˄ NMɂ  DA`Wz{@@@K`_ԃY`W>|rUNҥtQڵk'͚5s^:c j-\P-ZTJ|JDC[^}uռ5jP @@@ *ғ   P@J%"'zjҐ4j,{5k4!MJͥA;Hj̫zRjU3ݧ[lu։~Ţ3]OhC( ׯknRg   I]Vn @@@ O]yq Pj]zQ? y͞=[tKג%KdÆ Em!Lԗ캆X@@@ #  v5XG,@+C"##|٠ Q6nܘUVVfF)ݯڵk'l_[nd@@@o]~R   @vh;J`WE@@@ b4   @]i`؍M`Wz    >@@@0  svXu77   @,vŲ۹i@@@4A@@@v-J}   a ޣ +]nn@@@X es   iva7 4]Aڃ   ~ [@@@,@+̽G@ Vb,    n@@@Jn@ h#jW3wFr @Nv"WP~oIAmJ&JJ$J   @vh1 ۪v`zV?V5QTv7V$Q {ضk%x^%Ha{c%xN%B@@@ |gIN mUPC;lG0=l+(G*+s(G=l<x<'l!   >]3Z$?h'rö*(G~~#UyM#9I#mZ D ~oI[   O`W# @Pƨ0<i47FK#}C<^n@@@* 3A@ |u<lS4BR vao0x^/*kj"   w]ޭ( @d!]ydFxN#ץ!Hwon5r]ytrs   D`WI  `KyM`+<ZZ5 {)~Ux^S@@@ nEI@@@@@@@@@$JE@@@@@@@@@[Q@@@@@@@@(0s@@@@@@@@@.VD@@@@@@@@J"@$\@@@@@@@@.@˻%@@@@@@@@@* 3A@@@@@@@@ nEI@@@@@@@@@$JE@@@@@@@@@[Q@H l۶MV\)u֕jժe\gXfOR^j*LnY\nڴI-;찃WZ?%s i.Z"vZYb4kLj֬>WQ>4\(EoJ*y"^T)   Gs@=#/bږp 9n:;7tN2d9C}v%<eee2x`z饗w }=O֭[ͱ Ⱦ+gy}B_~)r|gʕ+n&rt]514ɻ[x Ѡ]40;rHիe\M`>|\Z={`=zg!JW    P,]Œ^@J,?Q̙wtI~QqiҥKͶsΑA9uZ9\=7.c+Ygs/a+rɒ%r;Ϻnas- xq뮻:f%^b~z:*UW]%SL1g_xr8UPRb|W>_KI\Xz/_nA2GMuW@@@("R5 8ꨣDۤv.S-KzJxEo?Ř1cdĉf/Z2빖7' |G2w\BdeF7oBM(g} ,;rWϳ:K?psa?F-[׋?Lv%^<*S[x={ޭ~3',G} 믿^T`?g SO\W6~u"#>#n;͛UяGa5]"   @! \@"#"x&ꫯfm~)_tA?)Ӊs1ؑGiF҃w*d%qC v5J^uiܸWsڍ7(&M2aC bkQ,K/~ub 9c 7 ݻww,6sZ[SwJ@C>݋N|]:aUy=\p̜9ӌp#Q']t-:   S`W1u@ |2l0iѢ;6UfZ[n_ NyM'\'TFtZE #[3K3 Y >z ryNys[Tk֬ eb| Z7'(괶{k6-:   S`W1u@ L6M.3ܮ*:坎ղeKӧ 2ę^nҥDצk~TnDG-\zxG Y7ߔ뮻y4H6l`FB܋>:.wTZ5XÊZlӦ蔣ɋ>h]_li1?oyNyߌ2ح[7i޼yiSL+|&Qb\W>_KA\ΓN)SoݺՌեKs(   >*@h &ȽޛM6{G~{#U\YRM8}t_j~)w嗧1|JҶ4h`7.2̽hkf>r/elvi4}uEK ;]w%/h"UpK#n:e+~+9ջT@+w}yAS{,X`FR |9jĩTϫNk!ܹs[oʌu_.bgM] @ @@ &u! PA:eK/d~'^{eF}'N4{)^{ǤI&Se˖-r!}7t,ZȌ¥ϱ}5?\ j|D> lڴL{駟rҤIf*F;+>bS S,m# y @ի娣2ͽdƍrWZQ\F2_E\.v=v)++?i4`^V\){u}ҥK媫J;ŝ>7|3nFҥh0,y)"}ݻw7E&g;>l y{Gb:B~fSx:؍7hVs58xgo~󛄪\M`>ٚk6!S`f$N2UTn@ fb.  <8@ fԬY\t>V5s1:\H=N-Zcܹss*_[ J.ES-x|9ltw:b׹kS?N-9鬳ΒyEY+9yYN?oyN,ηnjKQ:u:t >\Vr|dagr}^|-Qpr:ZwR_볩GE۽{>_1@?{ S@@"(@+-!K`ժUܴN뮻&L>]׿}:5XڵeРAS19מtqHe~)Ky[ D-ԥ3壏>Tj[: N5Ϲ>>:y9z/30G:m5P sLSԦK~|~$Ss=6.T5t8Vl\W>_ԟI?7#je]/^w|ev>_@ApT DT`WD;BرvZرIos]K2IZ "[nE^}U3ݣ>*7fj1cƘx@Zlis-oNGQ u)F뭷D K/}YfɅ^h\:ѡjskXGr?:].۰W͗r+W6u^~2m43ׄ RJ\~S szG:7pCVGCwy9sT_"3f̐}Gl0յsLs5J%kz$ S? S 3ݢ[lkft' 6 o|"@@ R"՝  @\ tѩt#H/(tV6mʕ+SO5ݡ/Bc…NEwᇛukyDVrjK!ftE]4U^=3g/ڮ?<>gyfs\tEjժ.:ի;T#0@T?ooFc{챇l۶-{M9#Tԛ`s=ӅR?3\ͤıb ZL<1N:fԮoVk4 |l갰 .A@t" +f 6$(F^{j*a: AH]@Lk.P}ټy\|NKҹsgרQSK+9>R>\y&`+Ywy2` xyNV[>o5P4Ow'plK ꉌB> sGPg{j]5u{k ~ S@@  r 8NtR3ґ 5jO'~* 6:pWrv_ygz+ݗ?n:={ k׮f~ٓs_|,ZȌƐVH/P[O8|ޜ+"PVV&_~J*N;;LK_|ł5@wgIM  @vi? ^PW軐@@@@| +'!  ڮ  B]QE@@@_pԈ M`Wz" @$tE @@@@N@@  l0@a(   NW鬹  ]A ځ  n@@@@  Ua\@(sA@᭨(   _W"  *T@@ vb0    x^" ,@+g2N@@ D%s}#   @ sK\@`A@ 16i    U L05+<@@A's  @Rajk=™    @p S[ @(R; X A01ďMG@@@Cp* m̻8@t"  =0#Ԉ   S ᩠/N@@vH-  ! ܶ=     @TAnA  @vh* _ =@@@@h 5DvE@@ 7]yQ@",TG[C@@@J& UTB  @vSh ^  =@@@@ 1H6E @@2p@b U@@@@@-Lh  P*K" @p B#@@@@TAkO< @.@+O @L*2LU׎iwsO>DΝUf͚ҦMi߾TT)ky 0alݺUZj%={tb@@$@U B  @DvE# @.P`U]◒ah/e F)3g|rʕN{>KZm&իWFy92.;묳oO>Y:Z~uժU2~xω !IDAT>}9gnݺI=o߾RJ' ȸqL pʕҬY3޽GtRe˖ɰa:JFQ ;@@@ A 2-AiGZ +@_OjC@ *T6~"Pa&6mʹ .@ hnIcgƳŋwߕE~f͚2qDg۽pB3w%iGNsyfSO=Uө;u1?:XA@@X2Tk%w^E^;-l# Q @@$#uUD"@X#)~rGde˖ɰaLt!-[ȴi/lƍ)[jPYfs=&/rs"Uzׯ ͝;׌0}5r]k)++3U١uO>]VZ%;v.]H3Vk,X :djդC&'z 4K$eFʥˆ 75j$?Y>:ce֭#r=CҴiӄsݡ?SE9Cz޽+4f}ntgE@@)PS)w*~@@ ث 8?zCQI P sHJ~SeZ~mM={N^Ni&ng]RW_}TZi;{gu[z'L2v]Hz/,DNxwknJ;6h\[ou?Y |r:ٜ9sz]TSY_Nj4hӞW_} NtEq1$:49N:E.ƍsFViu)Ԉwit=;=S#}M4Infs30a/*ѡ44~g50^x1-f G}:2fս{w3㧟~*_Й])zm=ӌV(s1fjJ=hͽtEwvַmLgisOѣq97u̎!ɓ'_:Z̙3K.q| bF(  D]u를VF@ @+=" CbQ_uUO n9uѰ\R-ZO>f-wxK/>P=QG6l<ϷN/پ뮻d]vqSoN7_W1c)s=H֭ӭ贎vD0nv%Qt B]t IQB侮JYܡ-HgSh&T>nS^{Ad'khKO;NtM]ԓSO^z\tU@@a&?r^5z)e;  ]qi@ ;w~G1zD՘ GRz9:bt괆{]K9sQt{ĈtR] xUTɬ/YČA׏1cƘQtl_,})}t0]zeF*Mf Iۑm]uӥo߾A妛n7x֑tDT˔)S~ߘ{4'|RtT˝w)/9S,Hd'tU5Jڴic  #GdUoJu벍 D]`W{C@ f8YuQGn7v$%ƍ;*7EYY]ֽKtڼSO=5aвꫯdٲef >, blҜVZKG0a) k/{(]K:u.V2GaBGz3<#o&,͓s9쳣&{]L͆.ƣ>*%]HO 2:jXÆ zA_7u$}G=PmfL>n'~➞і~l}#  @p7QGP1Ln:>@@ ڳ 1(v s=Ũ3ݵ؏@)t$% h0x wOrA;찃3=gΜ9 Ο?J#6}5<#xr!8A*;#E2vXiڴiStzL׮]M, :ꨣN:6ٺS];}::̙3)GN3tPc/]裏u֙<[f >lwYtTf^q04pfL>O|̰   @B*tm/FU뤺6@@( brO P$?oQta?-#)Lo^tL.3Eϗ hEf:5\cթ5|d 4h@N~z0.R㬳2?4wwݿO4^S^;]v,?@@@ ~ sS)]_kR]'ُ DI`Wz{A@ )q|:dGR)]g̘!\r9IY)tѠ1{l9rN h |M2l>ҤI8Y_?u?~T'N4U]uUңGѫj׮-O?Z6WモaÆKG:cLoZYET|뭷o4tTSpgtM]482]Qn;曥uM>sO>fl@@B'GP):=/Uu]  @TvE'@b*PВȵ\'w'6aАt+W^o=*;su׉DΤS &/QwqߗRt`ˆԒtח'xsΕ?ׯ3ʛI&h#zsOq4ddA@@p |ɤw}U뤻>@@(B/r PTBww}!a( :T-uf[oU^uS /Ϭz+V0/ri%)-4tIFeǒ%Kѡme֬YmEG;vl'v躎2^3-6mڴ6STK~]wtqKr'p,_NZ:"n뺆tqOA4LG߲Z֡ˣ>Lz29Ч#Hbx1  FRZ>u:1@@ {@ *Tur9?9Ǟ;qXjVӍ? L:t0EO(N]x5ט{!W]uUtk׮54֬([oF5#sN #vكvCvOgkˎet]v_{528 Touu}۶m}( [tN:|vo6uk ,9>9s=W͛'5k֔g}6֭>wyɁl  3O]^Z΋u^)G@.@+=H@@G\'sZw}^K9J-#%IQ4LmQZj9#K>$ҥ\mvD6mڈN+ɂ  +K=*I9sdȑ1GutIh@@@B"k)y^h}^k{UouF@&@+j=  !R *ܵ^:F` ?^ƎkyWHϞ=`Z  X @RֽW/^奞2Ū7:l# Q ^@@>\ d;~r9'>W^)SN5 7nԭ[7|7A@@@ x 'y-goKy/e>SQGrŨ3l# Q ~@@IleOJ彖˷F` ⋲pBQ1"X5   @r y)樓%RKk9{BOOQg@(& @D &yBr~2َkYlݹ   D] ^XleZ-uҝg@(* @6*~/g+>/弔ɥ>[w@@@@v흭l.lBwg]zYG@,@+ʽ˽! 2\BJZ{9?[l}e+zl9@@@@ x 'e+mErk99B/V]zYG@,@+ʽ˽! "ABnkx97[l(㥎l~ԑG@@@ ox)yg:6T.1u˥[ztY^@@ jr_ H!BleVlug:c    @T e:'cnbVLOU>>?t! Q >@@)E^#׮TGcXd7ӹC@@@.k)S|YBz2asuUN@@( rro \TBBk#~َۭruxG@@@"5hGLud:f-3t̞^˹)bՓ\/  @TvEg/@B k([*-Lug:6ZNɥ#   QzR.Stwf*:׽֟|^_$6  E]QU @"LT52{-n1?we׳ɖW=ٮq@@ {@ d 'rk֛L3{Iu<վtew#   @Jw<~Bcne!dz뾎{=]  @vEW'@B"PQf;/tm7:uCS~w鮑\m@@@@ *2Mu,>Xz=LDz뾆{=['58 Y`W{# rb3y鎧o&q2աRՓiw@@@@4JU6>K?ݱTSsK㙎kTLuN>?Hm@@ Jԛ  !(F(:xnH.eSu:j_zl}܊#   @[Hr^YCSu{㙎e;} >[.ۻ_d@@0  cf@"".[_O߶?}ۙcʧg~   DI S(1k}~֡unkx9f˸3]]˺uye@@ KON@"(%lmS_sO߶7}۹ceyG@@@.-`sݦyݗ=./˸׳.mϺ]  @X#M@PIENDB`intake-0.6.5/docs/source/_static/images/gui_remove.png000066400000000000000000003666561416666122400230250ustar00rootroot00000000000000PNG  IHDR `W IiCCPICC ProfileHWXS[RIhH RK E*I ĐD.*vuEWE\t-{Y{(ʺX&uͽΜ󟒹S˓JP]%Pt 'Rv|| 2|UB9$LRTVgJx*2 R%VR%T*MRi<,g!-$2A|Oqcg*1_d3sZTB˥yg;)cAɢ5þʝ4$qCN,PCREd=jʗs`b7/,bS#$y1}f8 1\!h]"'j8ke3q6dJSdH]"JJUQ)kC̔&Fm0'vFHPoPǦg"4|pՅ( n>O-B ;yG(3\@J5b]Ki^ "z+ME_<.H5?+-ORg&īA 0 82L}}z& d!ph=RU3xM%@>"4U_]@jH CAPyIFߠF|kʹP(yY:Öpb1AtM <8'k p0ā$.zY`.X@X ցjl;O`h p\: WOx0  # @lgEp$I@Ґ $ d. RF-H=3r9G:Cy|@1f:Eh4NC-EUhmBOh 11K8Xea2l>VUbuX# Xևlj8g.pG8/j|'ބ¯~3N0%8 \dB6aPIN8H8 "$}ӘF!!.#n$!'v$ɘL $őxBRii7 E {#d y1||z;iӭL"ͤfN3Csך5`XY-ZebXUS~KS(KvA+{dV{[S}ZYXLk`sǖbk+]o{]wvvO% u;P'/'SegYѹs aɘ17]h.l"LŮͮڌMjٱݼܶuwؽߣ'3sgq6W'oowwOOM_xe~~ /gK@n oh  !+2\(:D= ۑ~* =ϙ9E'W?Ȏhy<*&׌s'L7T4-:1:QS,u":q5Jb@7nMx_&'O8=anDF]oBV$MvHV$LMOy:k&_L3ISҷL nJTeSoLV9?#D_+95|fNLU__-.G-p~IV(ݬY%ŗf;^:IIDɏs99ms-.p{ޖm .Yp"E.v[zoRi-5+]Xm ee|y D} K? /TUTV|\_v{﫾Z}M++%+o ^sk&iZZ[Wܼ^*e͆>Vׄ5]Zv`M!7mDniJZmg~vHvtLyާ~ hw?ҸesO^W3~/z_~ld,oBf77ZZ:M8z_v<\sȊԣG8.=w"Dwی''vjҩѧϝ8s,s?.y]:ׯ۽ۛ.\nhyJWîƽvz7nݜzy_)3xw=½+>tywyңGw~1q'O=}=Ϥyr ً^z북o -gn{g?~x28#c'O?dɆ7 } R)Dx6U:z+Wo,ߎU pHYs%%IR$iTXtXML:com.adobe.xmp 512 2400 1 @IDATxUBB!BMB " *JQH.H& (iDAPCIB=ݽwnr{g3̙n|{Q) ( ( ( ( ( ( ( ( (i;+( ( ( ( ( ( ( ( ( D ( ( ( ( ( ( ( ( (M $) ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@P@0I8WS@P@P@P@P@P@P@P@P@ 3 ( ( ( ( ( ( ( ( 4)`Vp ( ( ( ( ( ( ( ( g@P@P@P@P@P@P@P@P@hR&\MP@P@P@P@P@P@P@P@0π ( ( ( ( ( ( ( ( (ФXM¹ ( ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@PIs5P@P@P@P@P@P@P@P@P,? ( ( ( ( ( ( ( ( (@`5 j ( ( ( ( ( ( ( ( (X~P@P@P@P@P@P@P@P@P@& jP@P@P@P@P@P@P@P@P@ ( ( ( ( ( ( ( ( (M $) ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@P@0I8WS@P@P@P@P@P@P@P@P@ 3 ( ( ( ( ( ( ( ( 4)`Vp ( ( ( ( ( ( ( ( g@P@P@P@P@P@P@P@P@hR&\MP@P@P@P@P@P@P@P@0π ( ( ( ( ( ( ( ( (ФXM¹ ( ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@PIs5P@P@P@P@P@P@P@P@P,? ( ( ( ( ( ( ( ( (@`5 j ( ( ( ( ( ( ( ( (X~P@P@P@P@P@P@P@P@P@& jP@P@P@P@P@P@P@P@P@ ( ( ( ( ( ( ( ( (M $) ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@P@0I8WS@P@P@P@P@P@P@P@P@ 3 ( ( ( ( ( ( ( ( 4)`Vp ( ( ( ( ( ( ( ( g@P@P@P@P@P@P@P@P@hR&\MP@P@P@P@P@P@P@P@0π ( ( ( ( ( ( ( ( (ФXM¹ ( ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@PIs5P@P@P@P@P@P@P@P@P,? ( ( ( ( ( ( ( ( (@`5 j ( ( ( ( ( ( ( ( (@D0cƌ&3=* YۣU@P@P@P@P@#Ч4Ֆv0~p}uY'5bĈЧOxp {-nqXP@z>N>xN{G/炯}kaԨQ#T@UzYu0GqD:uj1C K,D1oN?*{b/׿/| a6*{Ȍ3UW]=3w îzp5^W_}5zŲ\0s1̲̎#{Wwp7XW\\xjҷo߰[暫+6/r=[PdGYx`s9a喫Yי ( toh];;0qb{Wzp ("3( A__# -P Ae})Ak]Ńn{o}X<$7y6l@;- ( ( ( ([ti0v"+H{)Y2bDZk^N-e]O@",ҩmXYP@$pq JuG ;moХP@nߺ;b{_&;ofrif.õ ( ( ( (@;5av ~hO=\G?~Ꭺ\P@Y.裏:~?򑏄w9|ck w6󝡀 (@w] ]n6Mz{Ev6 P@P@P@P@#0Z^')4L;m6󜡀 (7n\U8=g ]tQ{«!>g9 (@mފ6[o ?|{.sL}CYL40~_UkM 2Uy ( ( ( ( tZ.Kds5WiNϟBYs5袋WXape>\y?K/]?О0aBXl2,F ;KbF T,{72.8 /[newyy\xp7|3n{׎.~_ }}; O?t>|x_V,Y׿\pbxQ_~* ƴâ (б慀ae / /x>;qO~6|#7pCNs17"9sN-آn>1yp XS믿~<έڪoxπr-WϧW@輀Y~Tĉo{,~}뭷°aŠ+rߎZw= <8Nu]zZ8f̘7 SL |gpwo*^gu$. 봙f1"qnyj~#w} nz$s5o JGކz*\z饱4_2|~ibȑ1*xEO~򓡽:2s9|Fgb]vߣ҆x9c%]O{(G*\_n =tа6ۄZPP@P@P@PNݦT.ͨ\/+Y+fT.8gT›Q h8\@+c~g^X9c_fTnvΠ xO-ml*VurM}LRtM8rqMpZeFp+Jv[ޤIuoqgW-gr{FvUr+7gp Tv U͜viUӺT (@^?9+~#z3MWUn>} +ͧ+Bxw*35xק>5}٧/ͨX ׇzi |F4OٵX7?w~ݤWz>SygfTڭbQ@P@P@P@5T̎?+ARūa_?33m:.3Bv 2k+-Zk*YgYV MV%+f ; ώB[Wӟt~0oAr0 {`w]̍iy+YVyd 'W@褀['ߖ?6 GA$tm|~g1Rr Kpq'_|PIYr t ,@|6U48.: ?7vСCNyU8x'^x@P*.$(I)ܨos{E[n)o N›m02u,Q9sY6(b\vaEJ71hkW@*]3!('Tٵx"Vt˸@:lذX\dJ6|+m)s[|$ PW+㸜@T~Qz(M!w^9ҵNlpN+K+0zx~n۴ enq.zw˜1c9+nt*]UL(ٮҍk6czT>O~5l䣭;oڜCP@Nx~ 1+PoxKjV%9mJ%],>^zb]~=3^; 4(+ 9䐸Iݔ3>(`<@W/֣>Ovb}kq52m xKIl7{p]L|ol&~pR!6xq]*?>dJz-M/< ٺoI ( ( ( (-%r,LtG=ׯ_YC!CȺSOajkt>7;$Hvrs„ a1}aیsQ+r /|w[ڗl]oԩUlVU3Iޭ*vnL!p,os7.m2o"?S~ `o>s#<_>_u]6[v-vzq,biԡ (@n "#aϹ+ J1o喋AyCdjeZwr[9o|E {7a+{%\0ΓE5X#PNy^G6cQ@/緤O Q~_|Ӣ)s/KjkyX9_>dQʃvaLK< GOwy7v^΃V:묓֭Aa|wLߙxE˫SZC,Y/:Sm 6 .Uwú ( ( ( (ԄB44dȐ"#mMvw}.7l_z饎V|7)P*wTw,f.`=hib`W6f楬ZL.Jm]D}'Ӭ8ġ| X\iZ(v#?xq\(aCP}?c7tW[^2tT馛ƬOn4w״5] yf2, m]u',/dY;P>#;ke$$TsW?YP@fN[o"Ct3Y~/9^~zk߄i +Df]q !ણB^XγKVTfo~S5AP93\E!&: ( ( ( (".] c?L*]pћznb$8d(]v٘5R^/_6+(|m}٧5TK_Rqᰡ:6RQ&KiYj>.!+e nMWXtݐw1PP@Os1?~_Ʈaz 7 .Ms=7`r@SZV+ڭ\ͽr)\sr ΃kHR <+F6qy ( x~3[n| &pNͨJ+5^ɚd.CGiyk 5T<֕ٙ駟~z t*TTu! TIr2nË`12PEP@P@P@P]EsS/ Æ \86mZ "-?AX\8e|=K u8^n>R EY$fB%/,0M̎ab-7UnkjAh[lE|_Ҽ;/>JZW<KwDj!m^3L%<{]wUeh{,uѸ^|) F z.ɰvᇷ,d0![ sP@㼝ZkUd_kXu ' rmх^8͊tT52A&rIZmo*8eHɻMj ˁ)jG7;M/1]iv!1~p.Tp (@K;Zwk_m10.;>9o[ ʻjNo\GΥD]5FK+ ^]s5 ]ˁy0`@ + ( ( ( 4/В,YȅQ.D0 йGR$:0˧U^4Li\4;V]ux\m uY(|9Zܳ:M+b<UG{nʦ ~6EV /jtHFf4ZyGULmL(pcX,缯rw]F*!Oʞ}ٱ[n%]OzZ#<2PP ŨJw6;(sf]1 @"1)߳wf+gtKnTNTwVζ;]j_鎻X`V7) ( ( (s@u_y]xܼ_\"CXb-!Cғ)Щ<¦ujS#F֨ACkpS(Rv iWk9E>AS8-2W?O}*j+?yJWܭHܧčo}[EuSƒ:;{VZvꩧyoNӡyI_;ꨣU L#3KzX6ۄc9&s=.KrP@9YNdG |ϨU)}_9\ OtKȈrYXْo7 w}7( Yʅs)RN@\_ o~6vkù6^_P@O۬;%ɓ'^VtL؍| z;7ӆ\TNrw8 VmhN8.a˟|Yu&uuY7k?! ]mK uV@P@P@P@9`qA D ą7. ?e]6fbEJnX7.i~'Ӵ tE9ndm}3d$A4taRӰ}lO>\H\2.YCχO?=s`VN7\ϻ8<zg?Yxrx.Ӿ슊m*. "Ə_BݱcǖWqZP  / Υr@UJ\{ Tvۥ6C2QԕJ95w>%cȑ#|Wg1~W=`]wͫWs~z<'tR̜8Sju LEP9o!Vi!w Ț]+&uoxSz7l%xk ݹpNhNrV(^l\+ +hI3EP@P@P@P@ ti,+e(bLQd7"7D 2H6ZPuK^ V*'vdzc 67n\EX?䒦g$݈mdܘ=Cr//\lKr "s8R;|ӜyUynǹ@\\'M4<{T'cZNʅ \σڨCضn[ (@&@_6eUڌ guVlwy<Ț`$1r}moQN2Srwmd"0W˙$OU_W{u, (V߬+oߧy؞g-ݢrW~7;DGJ Bo,Kmpeʔ)q֏㐺Nup7 bysӶ* ( ( ( 4'eXBPH\<{#n&O^z0}0pxl p,+m|_aq5X#|+x3uCYű>3 dl^l{G7M\(%sw^a/:(|!.l'ګnsN?C>{nNwcXPfs^@LWP ǁ\/}1'NKaHwtP~7ݼ;Ʒ^a[rJ|( /+d+HuYM2bqS_^=ku?v;XK8^psEՂ|7!0sEB1AkvUVX!ȬKݼzꩱ;?)p( ̜緶~8ᄊ{=v.Pk<,o|.&54#>z ͚򱵷|YFyiC/&+x{ٛ&.&O$Hiehn#fȸ[n"^sp / [|^|ŘG-*dGml4dg'] 6+]<3MVꂁ!4j5>[q][dFRP@P휛Ӌ oV&Vy/B \d2d*a*W9M62g_{ΩSv*u>F3/{sq9˩hf:OPA+o;^@2?s̓ jv_k| ǿjٝN]xm"]P}5d(矏ʸg^[o*- ( ( ( (N`R@XEf+g|E&%.q %nD Cp FmYNB7O'w%xq0+ H+Iwb\=zt -=Y68NnOBRsnuQG 3rVe|+EF\x3 P@P@P@9T[nP9|r[xᅛYuNvaNC4Ce6 ( ( ( (-kҀ E@R)Or,_QDICm6 vb)钐E 6,,66mc>yB'WD VyrpE&`2JA6]6O |LUr[ 2$\Um",Y 駟^_jZ ( ( (s;3A7s\ct3۪ע&ET>㵠g}6vɜ1ZO| ( ( ( (sL`."^b*R袏.zRv((rQ=\ +.ò<)0@1E +sK-";]pL/x "vmh3zwbpYgf%@&4ڢadxUн~Z ( ( ()pEŮ9xʹpMho4fxI'Ň,p ( ( ( ('ХX\"HLQW G`Rdz뭷´ib0K6ċX[mUѽY&O\d")m/ ;AW>w|5f̘|5||EV,ExN%ou1 5>[\T\veaw^zi2jԨEefYP@P@P@P ;>}z8Cm&⊖fj.T@P@P@P@v3g}"\s|<|bv,IYE:w_~1*AEyW䙰}Or૴ ~jU|AW?&MLp,dxZk.(iiAS]܍K?&LmV JlݍoSP@P@P@P>8|__|qx衇] jݿFEY-XP@P@P@P`N,RQ @ [.b(ezc+"E`#<ISzշoߘ1 S&*Vz:E;()٪V^y؎#G2_|O/npmŋpdHv .`E9h#aUzzIGO# ( ( ( (u ( ( ( ( 4,0X,"` D"3P`EANB ȃ ¢~ZmWl1hjĈUWdw}w׿/Ƕ ^7V\qu!J!+V#m8- ( ( ( ( ( ( ( ( (s9Rf)!T<[?xo~;vGp *^y啸 &QEP̷6x;1z)`*e"X@cdžQFW?WO=TÍ7xK/v+C;9FRѓjѱ B( ;ָ( ( ( ( ( ( ( ( (@ X< 0 fbY`E(I{+B#$ Ѝ[y&,kEP}ن2a!/eWPn zc{'zE+/ 3__?tq#7I툍P@P@P@P@P@P@P@P@]+)'SLXd" &iLXSN٭Ī Z(fj$VjR7Wƍ|"ۤ-JA.S櫴tɡ ( ( ( ( ( ( ( ( .ˀ8:X^?'%e"Љn h"AX<AW)(i;7˄E8uSwM噯h] ҎiӦnp})S0tH.^92f}y| ( ( ( ( ( ( ( (G! %R ٢ZjV[*lE&,֥{ &k&fb*Ő2$lvCoQp|C!ુ6lX }! d"W_$ƾCV^y0f̘|5|}a:x? ( ( ( ( ( ( ( ( (ЫZP =<3믏z衘W+mLW_oQ@P@P@P@P@P@P@P@Pw 4 G+죐 B`]{1SjxGb`Ӣ._96mZDֻ趰^|EXƏȦU|WXQ@P@P@P@P@P@P@P@P@^-,J" !C2X,uGr AP&M ^{mʄ5z ٬"pkĈ1z]v67n\^x}aʠrNW - ( ( ( ( ( ( ( ( (0g̒,(S`R b^ʄŲ ZhE!m.wް (dbiѭ W뮻n jUV 3_vm\_|F24UP@P@P@P@P@P@P@P@hY2Q5@.g¢n b9LX'Nl kE ?C&l[lEꫯYf+% ~{xcՇ~H_ 80?veH? ( ( ( ( ( ( ( ( (PXEIXjqYLX~ e>(j5x 6,*b,@IDAT7Q}aW K-TXp<Jc)ȬU|2hc P@P@P@P@P@P@P@P@cfy2a1.b@VD&,ULXIM4)fš:uj "X*eJ] AR^!:_噯vGWy+景v~h_z1TP@P@P@P@P@P@P@P@fK-HV)`E EF+^}%!.TETi?i=WJj 6_WdJ5 ] ( ( ( ( ( ( ( (sl &2[Ԕ6 2*}٘ ( zꩧ_ט " . ֢ O뮻.~1WWdZuUرcz/d +P@P@P@P@P@P@P@P@P`XDIX癰MVIAX)Y{챸.Wl_<@? 2_u]1jԵ!u }|3`-aAW_ ֵ( ( ( ( ( ( ( ( (4+uiHۦO^@Հb@xQRVoV:ujx7g[sg* JΙ6s>%$=x~mW@NߺN-) ( ( ( ( 4#8hRP઎7כycUo>FMP9]vVky~oW@@O>ucV ( ( ( ( 1"w+`ue/OaԠE]4ׯ-0aBc (0S/LV;W^y%KqB -V\qTG =F* x~ ( ( ( ( (AT/z}uxZӼ|YaWl3FW@}2u#]M ><߿͸ (@/A'N =%^PP@. .p3 ~; 7_|͒v)<6}z8wK.$:4l0|vWkF1bL>]/| a3M7K'ߺ\\qd]X[&c9&G>u!tPvmb--22GP@P@P@P@z@rFolgf֭Ֆ|l;vg872)knp,h>"?ixgzW;?>^w8?~{HV`VA \SSk[띣iOF7HlIz駫ѸG?Xܤ|3)^xᅐ?,2q_oqIK'O8(? t?tHB[Ԍ׿+r3p ڽn'?ICYIP@P@P@Pw;QHpSsKf:j]ՈUG-/0jԨz'zay (L sE:w[MPN:{NAE@:WsGl%oF2uvW_~ ( ( ( (@C=UCc% lva嗏͕믵Z;N4dȐN) (I9GwM$]C&:4;<iS)Nm- (=_+UW]5Qxׯp@%t kv'>Q{LJ+2nsd&0a„;>O/ob>裏.槑~aJq._Ǎl7_Xs5kرaذaU'~-㡽,XȠHtY=au {WlGy3<ɠy wdQlL4l~6]bZlGOS|~@ldˆd{3Fr 6[mUԧ>>y} ?W_}h̓Q ~~6:|Vgt+?@y;dP#6AjSO=5~YvRg~vǔ!8'3/}ف@^|󟏖yĉg;&lWnbwC&?0l7s>am gqF >3&pE4{چCP@P@P@P7U270ssO@oRr+.(?3.X'SS]tQ;/yq(=E 1U6J~^}G7{[9 p3B|yW_|EB1Ml/5PZ`N;B ]@]wݵjc ?sW'o~sϸݭ yfA{M~4ѐ  e=\>j| ^xa fZM`p>6Gy?,U8_FYr衇u39xU "OdB YN;/_3RT#g*GqD׿ܓ Lt?<=wd2O5GK,y^ }OPj~_@X lma8ou6O2%~饗r1'H˅MS .V6kVP pn79Y/8GKs /xq 1SO7d ; h6#`դ ^C07Xu yq[lc3]2(zrꫫȤĶ87<0K}`?_eUbk6;WKi!PT=Sr΍g I&A-AnBkZu#3 |\IÖmcV,W{Eƪ-"IWiyys w",{~!,sL X|g" w#GVͯS!Yc7xc{^x&pH[o&Ma#u9'd7Orcpu<ɵ^wzsN- {A_qC9?qG ( ( ( `zE@o+))\"-'^\4IZqWP@^! 2n2^p5`pl^ꝣŶ[lpe/1k#ɀz _nR _BMsn>mô ܬ/n2rFt]֔5: Ōu8|.MFcGRd |_(wMDYF"BvʅdJ7強ܠ$rs=7"SNH"?|d<+_ N2%+pN ("cAy!uS!/aR7J !֮^3PN8!Vo}X T{vtIivCqp l//oߩTL2twD+s 9 KM74Ő 1+_PCJim^rOWG.(Ewdk*>px_0`@]/Mve`T<$n~O<1q6AH<(w.덧lw\O;TcyСCcW|+'J&4$xm!鲒pEZ |fI/>V|GP@P@P@s^ |U ŅVn(_-Ayy&'PS7Ec( .nWd= 7*hH-|OX~cE! Ar(d&s*:׸JWDFWt(@Hݳs 9;Ru]hՐaR>cWYg)wVo;Χ{E(H%2ι* Ƽ*cƌi< sf^,$Sc*ywymWr"(:ُR\̐xA`%9߫Rof gԭ zx{wz7X }3cIV9ȨJ~MAty~zߊ{jCP@P@P@P S߹^7<;Q.0'󧬋|dfi~. SVW?9l (to8p͹@G}lsH~)M})aPJꆆqnWJLUd$!p:!MKTv N7 JȻ&$n&QΫ^q]5 nl#R(o#M,5Ls:F?7aBXdJ%x7[TZV6lX1;_Hc) %)48U[/Js0Tq]^G`f AYluR1u^se]4*v19_d̿LӧOO-p^w}JGGYRǥgYPP@P@P@`w;ݤ-7ESV{OdNFSx*ěM8T@ OrCYL,mzC[ly& yW3y_^5fmiź[7\/e#+fTF8O/VVZ)`Qwڴi `-Yvm'k3sK`„  **Fz]tbrWzłH{ݳj+,ᐩ0y*eT3m^j2ړ4烎JGAIuٵ<]2(ے˘@ȖM@dBK٧=z6a H}c͇:i/t|+A;qX^9|^>l=P@P@P@P@,`V~zCpdH =aCX=l (@"#Lw}w`ypM7Ůbu͵^zLNu^ m.d?L?pȳ*#vdҤIkt3/3S2rL7mi$ Z%e`*7RFUtt.>GtmK ̳4r j<P@P@P@P' Փޭ^V)ˇӾ`sO,N7{mV@>'xb슮ۙPmsL3Rx &]C+7St7X42K.ooK/ {Cn-q(@T!CU#I%ϚeiHp*`4v /[z蒮VpX޴O~׎1"|*-<|\⊂7`b:݊Bv믿>n_VQ*3N׉74(snSP@P@P@z/{#AM)k5':)yYN+ (r?| 67薖 W[m3]y\nKP@P@P@fFugZ YX|()O{Ev2P@h[l~v &]',*UVYhpEuJ7ދg7SyrL_e&.~_G}4\r%nRɨ?Mp (Ѝ肔n)^xa-_t1x=T3ѥ_@KE2pnJe-H]>̃QIcHtYR9CŒ3d!v-f#xWV Fjgs.۷o2J<@;y;3yZVƍ `>xY.K!m?4Bwʩ\}i]?i1#P@P@P@P@f jVD`„ 5s+B#8Qknϙ ( Rw-n?qoon>ílFKDAf;,|{ |KƗ_~7钰Vjnvذw8BƕW^B76/#G,&H+2gsG],7Br'O.^yemo}zI/_b}k?dűÇ^zi8#c"o|\eAO]>sL*ft)S7*sUnWP@P@P@zX==Gp1Ǵ۳>8vء/obs#{ZQ.u (=C rAC~8:oVk\juSkY9ou։#țv7\s~L]!bD8AvZl)y`Āff׮=LIS Mw}{@O8Q}+R\FwL?1'r ݧpA[hrC=4xC>}b6O>9,a뭷.YYӟtQm+rQɑ_!uGL#!N1;fﶫmaw{ШQ|x1esu;s :fY`袋=3~֪5-N"o|޾կY3(q=|b@&UT#_&*@+tI&o,s罕n[P@P@P@zX='cvo=bq t3@=zttWO w}w|ʓ'lyBw`R[.AD0"JE^1\ P1a9 9rͨ1k@ Wgvvv6{gotRgK#TBBMa- aܣP; #G,(ѰaQÍtرyƌn_Nwy9ꨣLR!t\R Ե^BĘ[jh"hV -Rꈕ>\%< oĔz4i &ա?yKJ.W5m'3re3 oG,&LpU열dRT;WBʡ[ϯ6v+qӾ/79jCث2~3M×˷MK[o1Qvu {<]KRFKsC4h= 9k?y}^~euLDv\"?18xȎC Hu5i '_qI&zO> @ @(gRγaeI@*'i /:ZZGM]p͏?g9GmQȋdE5N%@hpl|tQZ²SݺusL tr}]`-Vy~_|ر߭7֭[s9'89% ^J­L0vۙÇ]7S-hI/~1@ի a+9!r*O2mLGg) KFac݋V^ye'~ViR2jFarxu?-b) s_Y:>j(UVX2%ӏVBȻӧO}߯~6rѼOvazk^8_~'d'U%grxR` nl^' @ zK`>z;:Vk^uWU3kdRSa`%%\Ҧ)'9s8 9t 6P`W/m vC1@%%+M:Fu[[㌟o} ;(W\=״M;hR*X1_o(e =UN:؁㯿2SNu7tCWꪺߝsT W9yd!eRn '+ @ @#YicR 6QFgϞ/ @fm)qۜ9Y9H^3sέXqK駟6젃rw9B6a„PQ4IV\7C @ @ @hLpjLgB Z&pɰ{{-iȬ\wu{)[<8c(/]9Yف @ @ @ť@ PcnfϞ]T]v-^JlI8q}NL{7ͣ>:4I@ @ @ @  @@lժ_;v4^{4hkvرFu]Gl!@ @ @ JT,dB 4Dm7n[oe>sӲeKZkp뮻Yveԙ @ @ @@ , @@$RK1*@ @ @ #ФF̀!@ @ @ @ (`ՓXѥK2U @ϷFt* @ @ @PJa @ @ @ @@p* @ @ @ @ $0]@ @@}&PQQaf͚آE Ӵi<\ ?3gfz%'4;3gΜ_|q"dח?n8 -oJ2~_fp4J# @ Z$V-¦+@ 裏u]>SN-M@LI@w}wnꫯ:'9*yu3"{-9jW6m7n\aVO?tӡCO~:lW~ذaz2eJQmCo6|_y啬)mYu.Ҭdo9~BV6ex%2=׎<Ȳ7 @ Pi @I`FJ Zرcrqg5t꥗^2ڵn@ ,0 q ]wѬzUwѺ߽gs1_~y?olSMV2r({}C9f/8]p#y Ƭt*ErX=ȉe˖SNNSeUT粚4 @ Z#V#@ Po?ӹsgөS  {`O4C]wg~8cH9IN5+ַ!6L<90oJ{G]p \dȇ @ R_h6 @ P _}3tPӲ.[ = #V[H)Q֭[B9.@O8|w]+D矟WN9ss=MϞ=Yfʦ xfw9&Md_,X{5pQ @ ` `O- @ ka @,Bf6W+XjРAk5~y+\ʙ{>ɤκ#:N @ zJzzb @E4|~i'^{寰 fr% &?,Ϗ K/f͚ی3+bx 0*K/Yioo7o-*iӦo&7nKôl2+o/0kvLݝ"C裏\}9H0Էbl`s_Q谹s.]AcZjնyC9vqhiV}[z>vm7tEY=_N;b[չ+\) s=g^}UǺwCbѐѻO<4`_1cƸ5>9`)CY9`UW;qw];R咓[lahtNJef2^o^xC.oĈ_~q;8?]K{Yb%r_~5צMwmvA+oex:tuo]ߓ7"ϫxyq=vX׎zֹI O=T=Bk>k&t[=]BmD$ݓUW߭]:<6Ҟk?O'tEATvm7#M  @9* Pryn8 Z>vqb]w >_[p[af^aB>] e]FHVRKq_64_]((_Gھ IRas]~+^|P.Wh~C |.L*']B|nT6Лo9ڞtIwܑڔu(\\_i@_aR~*䬫[ouj]W處7?}u> J?#u?[rKV8CsRy=Wڧ~q5,[fŎ]d*Ӷ*l0;:x. /,{ǻqw,|ViUv5O:d m<_%u뿳:gqqZLc*iq2eJft:O9{:ꝰ:fڲ j:#׻ޕgunu 뮜s9s9ʕkTsgqFuY=/dv=^A @@&3Q$@ P=zr*j.J_8*[NRҰ~a{t"qw_[6,v)%~9Ed"@IDATR:M7en_ Ӽ5)r2m4]tQcST5db.~Wn& Bh}Y{.:5xX'p,-[oe*nfNJ M/B)3I)V+mvawuKiJ*8_*ף> }xk"Ud։H G"j_ ٤Iڑj̤\^FcImE㭊IUEf=ܵYNH}~ᇎiRv ',=<&z狹m>b.՜X!SK LcќÆSRN.}}Fx.O3zW)D&W5c)5mԽKjBBsYܓ͜9X'|G/[nmt{Wjӻ޿j?RϭTwlذa۫ک}ݧtk;묳ʫ|RnO.K**Wp.ss=ZźVʂ"%7)Zp;S~:]#=4UJҞhݣ$u 7n|mmus3Aꌺ,<)I7ޟK]RE*GJz<3 @ FJq1{O>ۏ- _ܨqƊL| /N]0}/bKdu듦&b3,%O2~A_K1D6{ rܷ+rWEf SIaÏEuᇇv.1RRg-]Џ" 4G:΄TNbK1 Xzn؅P.l=:J7u~ ϝ@te3H}YRQRҩw 0KlR*Y!|C[y,[О͏oǒ n1We챂ԻlЏuPCu[:f|.J+V[;L +䟪py,ߟas?RN/yɝ*`%_xa!?y8c_׸Tw7L|=~!(_ѶuBɸJN؉rmm=lPzc}#{[&9X'03L *.1C*T}? ][I9;%VM-ly+: ߸݋.(sύ @ FF @(!ن~rjOjV 6d\/v˩hG֯eRo駟\3qt) #G:e<@sǚ^XNi VGIS7qKVم0-j*ocݮI :uW8[@ RӐI!D&yNy#΋ӏ=SPu1;E,%R&%!yvPOqVHGF82=ߤdq%N$- 1t:R9N!mTSw?5b{vjgFdzw_c5BQi8#!,]:dog:cec_oi:K+iM׮];{(:gla @ x {f@@ Ђb-պBɱHN:R9Pq.( 7Fr"iX|] p~A˗)VaN6pC{!+Rwr Geڴi꓀ А .}Y1vi>+ckՍ¾3ƍ ZiI ױmjL 4go;yؼy|+=A*-WI7ߡCRP R_L!)w@y*dɓ'dVΙtL2%NaLl#'욶z*t;ZV09ZV46r%j^;sM.;-V)tiMoy;vXmjsK9P%Ma2R̪fY C|Lϵ=G.lwnPפ}r@YUP'0 cԗVQor:TM}0@ @hpj瞙C PCVZiԖ;wmwl#WN 6Nt@2m裏v8Қ>Zp_χ~hb1:N%s4RS@!\r9ϓuvqdέZL2 ,BZdrso߾f7zrHV_}\ _{ki&9 9[ +`‰T+Xbb_3iNΫ[;$U9[vYl#ZTDjTk99jy-ءwԴ 癚_L)#Յf1cbᆴUb=JiG\VR KLZ6ЩJa0Ps  @8 fz >HYhr ZD1cѢכo&ξOւuSӔ*TM!voյB\qanr: jJʕ@ZOʧ ;j[j Q',NN]})(X'|K;ȵX_`%bK-XK :LCXr={vV<Ջ痫?w\s!fcǎq,9٭sU4/]?#^ q7t숔K!>5l[jR杀}v̘1Y!)d{&R8 N}6'pSv9*y!@ @ǀC :';1}.}뭷?[n[S>qCT[-HW_S0a5jQP̏Mye @CNĿx7#+\CJ˩jyw/J_Hd+(mS>uԐ߾}r-fB^]Mie/UBMj\MUwbRՓ,V~~Ms8>+3v\ʕIKI/ k+;, y$e]6_ 8gD.ڵk8~(P}=PsiZqH +; rK7.kZd\B-YeϜ93L)3k; $WhHdZ*nS*z뮻"ɏýə>w9sPw&ގŪ^2qHմkQ vOc9,˙)-ĉ/[6v҂_LrkeKY/vʊ6 zAeJF-Ǧ0K~{q'U? ){$UC?2ұBW ;ir$I39ie2OYHm?^lPsswJ4k&7_PȄBϫV{wSwgm =:cK.aXqΪP7oRK~W1m?SpqL֚߳^g̘Ս7ޘQ;;v -HѰ&M!Ov[ׅ~ga.9 䋚4p vڅ]wܹsC6ӧy衇B]?7eh 7`ZnmᝲtC 0 @ @˖-͐!C"90>qDӻwSV /ЕGF >B޼~6m8ŸAȡGNR}Z&G-=#B6,}BSaT&/ICj">YmՌ Jm'<+$裏:F# 1iBc9& 1J7r">묳#G}Ɩ Y|SO=ƭk6]t;.!T*D UDӦ0aIbUݼjܵ;59Ħ~ E|{@(P;[njck9V^wD׬J><[[^zڝ>I'pӓbe7d#>qWT#ZrӻI=JR+9Wj7СT›M7={{N:;U,N}drT;33Ya׵B @@#&`@2 @ܨqZe J>v!]e/S>ZNva+?E֜z:We7yd׌ u, QaC\aÉTX%gUd"-آ.v21o$!Pύ|Nzd;j: UXÂ>Zu_tӮt:rԱˌuJ2ϑu駟^vee7bZ|V::giœrқniF}]+ͬKh߆X*駟|j^YaNX]+Mh3fk'rNlAj_:'[}fizuϬSxq&ޯHܗV,u ǓuoʞU?W7WwN)Y' @ʆ Xt  T@ӦMDfRǿW~Ǭ@Pو s饗gW+-%+3L#F26Ro7HBYޮ [i.2ab޹XFH@(3Z2/y睳F.~:CpOCkc~|8tL {/﷪'s=gn%Xe%.(Ր=3 &M8 0!IDcOcy睗.8E$YjNؕVx=P5e.4aq,>rғ:O+ߛO @ 8'W1Uf5;k+1@#P.ύrg|Y)\tZӦM+AhIm/6/@q3gs\a Shl C @ʌ@l  WRQ(?٦nZ2+wQF)YeK\*W @ |Nj7SN9J6hРP @ @A8O L`]vqƏoIvI'tG}ׯ_QmEգ @ 79XIVڭB+.J*W"@ @@Y,N @!8qbXp<}tZ)U8Ò @ H4k,w5Ķ{.??es! @ @(5_g1B Р &M2۷7n߿/ G{m /\ǘ @`u5?SR8B)b)[nNjVkd  @ Iyޙ5 @gYFP @o8'ά!Z%ЪU+[jt@ @@hR] @ @ @ @ Iy^ @ @ @ @ P pt@ @ @ @ 4L8`5ʬ @ @ @ @ Z V-@ @ @ @ @ @aaNYA 4d}yn;Ӯ]<0''|7|栃2.h8F @ @ @nU7 ӧ9tرN:$ ⥗^j4X2dcߧOkys@nTTTYf[ha6mZ7W@ /~_L}5k4o<fmj^?\1juHe@ @ P8`"M@ .5XAsuV$JNSO m|f-4[vy-\8F @ @Sf@@|z^wuo>kVXZ[nI@KC$ .;6t(YfF6c +-6O:,fV2oi޼y\~jMfPܸq.ݣGӲeːom4/͵]v{gϞs׼+/暦Emigĉf޼yf0:t0/>}+$br ʯi9i$#/ݻYeUr6+> ;矛_,2cǎf-HWP1_~yͻ8]gߊ{gz-]v5m/hX fvmX3e6zAs9nR}Uuz @ @@c#Vc; !0fsA4dswg>n4m( T>}/}f%̪;%3O<ʼ f]v1}] 馛\>#e]QUTɓ'$v3=;GNL7|sofvuWW_bvgTCoVXbyKy(FBc:͵^ʀu]ئ*",b.Bsg/?߈[o=ꫯU_W\qEÛ?(G~9-rҵ,6 hX䘋A5G ~vc 6ؠ1N9C @ G,.@ Pbz NErV?S .r7cǚ}ץް+ orBSl\rl͛orUIj*gJ4oE\ri|ǦK.fE5rSq13:묣]"%>Lֹsg[9sbWPrb򖟃ƫPB^ziWrbvt9\y+?_mIZ+^M6mYg(!=CMsNpۓO>i_i@7R=cM61;cA#c=UvK}$ Yrml9ѣG;eG)JL_:F)yk_xᅓ]fKIQmHPJRCb%{챇\}98{Jڿ+6l9>w/{~hL!:~x룹jRnҦ72;>(+l1]w{ws=KP>u?/{ B\9k¾U{TUjDuNP̪7Xu 2wx֬YK-Tȿ+;6{ )] d{v5Naa,*g*?p:eT Wa #8"NubbX pW\† ڐ:oEuw:.<݆ ut]8.._6:a򾞶Vq1-U"}=PlۼՖuن [a28SZu~~{駇F =}ٴm{o'~&U o狧nmXݬQjd㕜uQ<{PڷY O_:йuǮbBq]w\f0SY\UB~uq! @ @A?. @@ X(~95kTNRJ믝 B[@裏',Sxu"}H5J6rvP#Rx ;HI,eJs=& 8tP7fMԿcR’R{((NwfΜiCChV*/q.)Gwq3pe4!txSEY&u)G\r%NEJdފV\㯳&M=)H_g;vtդ%騣 )ΛCbQ4Ga@ t-.OWf+S&OxnB +U$n#u#L^ut*W~cuu/W^jJRJSYzߙg~k΅q(DLkMRB ,SURlJ Vb 5'2ƽ+c{SN0FsڑاBjBUuru1cFVu3Hћ9k1I M*:/zLja'&}G*GBכk$E1B\}JqJtѨQ\ZחbYҬS6l˶Qfwwjm:?;:b6mGydMνTE9CC&-] ,ܾ oxI..bykiMʤy[G5\6+H"VƊ+jF6xt]wezK+ѳ@uQ[4\a*- 4(JGW [6M+)q%͆s*O沫*9nRJԛ9BU\2։BL +Œڏ/Uu (fC:z:߆箘K16)&ؤ叩~RMeu^f5L&P}3WZW Xs:5LJRӺ~}yqK^6q8w\+`=cZȌBjO߿uٛK{ʈm!۫L&q2 @ @& ew @$+'v9ƪ64]PV Fj2d.*>I#u42@ʔ*OsG*lNϤlb`r衇:5|uKq> Hu#ڶmkU!OID&hRT%\ѥKx7c1ELҢE #54N![ jyױHn{Lm^{.^u@*z~_*H ,Q砃2ƩXsE9(_Hޤ׷o_R ua /s:Q祔 陯s:c3i}1$:kK)_x㍦yŚ6mjT4UR0JIqO4tU5N8!4+ril^3 =r=v$jY)z-;b}Q -r[jGc5:s9NNeDji'__qEMJ @ @ "V$ @(֭[W9l)U+2 @ u~}} Vi"RHk:/aa-*kV14 ɴxTxΪZU1-$Z z4SM2%d~3 }r0pIw|3vZP+`*ɓ'nݺ(`Ma˼#vwz>!z7)])Tͪ!;BNclPzWW^ ]iƅ~qGËMҪZf9qi:l*iYD@DNü"j~dU S8`)tg*8Oa޽,ѻN>J57ځ @ @q7f@JF@J U5JK&GwHm[+*ŪZl]lmð@Ф\i6$nU+1-{k߾OV՘7pÌrR$)[_|}m2dYZhѣGϕȥ䖫<@i;vLmb6\(vw}*3XR{znT>WY?q~37tSPק cs\sPAةEcUء*'֤I2t@[o=)5+];z2UFe;g TOAϞ= ˑ)g}ؗC\N//6ND!ɪzK-irS6v\U=s< @ @H#V @@-]Z֭/~/at"V_B|X-l3m_RqX믿.FM>'Sj#v2󅔧J)rԤ!}Ԯ^q„ ΁ ;P#0I.+il}xSˏ-;* H 妃5}O _"$CIͱ2geq9_m&VRz&l cԩ!_+MY)|b,LbYz-WXc\4@V)l29rKic[m՜!CҒBrn(sJ;]/rSLrwSAq\u*ˏW٘9@ @ !ФB @Y C(|ߌqX9-~)dL)dΤ!Ur.'vRǏۓ-뮮;찼uKqk׮^x!رc{̞=ۼKG|?g_B1cjZ!cbE-s=oj@ 46-/gV[&YNgwx]ZOОAgΜYB6',?|Gy$k|r9rSii|HK*giwӌ3|ᙥz8ѣӪmK,ƞ+$`ayCjWj,=.ɇ @ @U!VUhQ  ;n԰ۇ*}s ڗ3S8]GBЏE>W^yJkuZ"_D"mݖURO?Ѽ{g-"éM&1_+}-?_حwBv.*-~n' Տj1R_{+mX=)('/CS_{v\;Ok+#ze-f_\uw!sUaڴiUPׯ%+"w}ׅUW*P3zkrwjYPz.KA-sRSpre9>vUr:GA @ 8 8; @7pݳgO +=Âga.)' -X4(Ms h׮](}u-ϝ;7,]w/g}Džܴ?C.<;e!B&)ZBK&N蜪%W_}_eU%)CT73fpu vAEhWi|;njl7xcXy8W_h AOթ_|1uRI;_II&5$9k .`{tMwc߯ƍwG4gΜ22w ||{nW?>TBzN |!/!.wʛRdLsQa?g]>bkB1W* M q?ch؏b8_@rw#Ku㭜ܭbұIRLr)+G>m9㊝3 @ @hpjYB P6*&G4B2tjK/͹Ue+%A*;b3`8+l~ZUx"9cySš|t2VeZ~駍l-4Z֭[8,dz;/ 2/TPd5R?I6"ny73T*@ 0dת *)Jwޕ($9jş3gzrR5kVmR@^.g,믝srê쓴/8q=CFR ={;c9;}d߫S&0H&oGyS7o . dp Qן{!vRtĎr{9sɱGNN>sI::S[cƌ1z~BZ}VZH1)6fIJyn_~S:#Bؙgջ΍Q]r4;C; lMƵ.)S87d03<9M'L ){]MSS=%y/ҽ+ẏj.= @ 'Ob,uCv׮+ ryn8㓯V-B'^Ȏ%Z`-k׮'YѢ[oWQZ:Tn_|a>*ꪫ:j8~:—Bi^dy@ P\ T1jbR+тʤZ"5\35e}PH<7tzUfwqS )]D\&NuYat'p8JKE]d@Tɡ*yKO?:g螫W.`swtMI)!ڷ' 6șX&u&&M [2;c_Yf.,B9.+=||wiw>?cH*Zar {9餓*VNr>PRL3PV\UZ=)`ב]ڇ.em{TV{\~8@ @߫au5 @ɛ 5)ŪFzr&R(bLG:u UÕ>cǎFRО@IDAT6U-(0G #O!&|N#VHY/e,2pFU! (%$eA,͑5-/n#N+ߤ߂iǓmjcRIiyL#ÇgQ}JޚTW*CR7n\IU甯ܹ?~SlJ:1i>zs=+WR3}ѬnUh\vs&u=3Ưs%\t 69*KSti=z?:t c)rMTۧ~z^+_26>q:_={tК 7G!(uHm,>RRi4qti: s\ƹ.u)ghM㏛}}ơbL||HbFz7jeTT#Tryn4L @ @@"@t2  @I@&RP0tR OC59QAB@lAUdׯ q @ @ N9 @0`4i ׷!2@@$0gW_=7 @ @ 5@gY#{@@$ЪU+3dȐ'ߣGR @ @h8pj8璙@ @ Pr:P @ @ 4" @ @ @ @ !V!(@ @ @ @ @ X)PȂ @ @ @ @ P D@ @ @ @ @)O#  @U&/ѣG :5\mP @ @ @Fr;c SSL1xy睇V==O  @ @ @p*-OZ @ @@xG_.kXc<;/m&M̖[ni @ @ 'V( @ @vСC]={)!@ Rfmc=mݖ#Fn!ofZhO @ @@n8`f@ *hժ9ӫP @&"W_5ۭ[ͯ;Ϳ_~Y @ @ G!@@ANj>3Wv6͛7Ϫ7m4駟 6 +?O>13g4Z0[eU[p+EƔ)S믿n̙cYfZk޽{g423]t1K/8qygTN;4W_ci}|ѣiٲ\{1sf7/+3w\[oqfuq _Yr%͆nhVZi, @0ay\GyYjoE}5\SiN8#;c̥^Zi @ @ +  @Jwux kf?sȑ#]~2E]`0f +$Ukꫯ6rHjr;LNo(Ov79nqn_KWݻwwyw9]Zc?蠃\^0g}yݾGJ K,ak>Cmu\uXc|̘1õ]weSlYȀ @Yq*-^Z @ @14@ РTTTG ^}@]vY9ɤ$URWKj[^yn9U+7pC/dyy+??SțʬzYWN>=/©cW/|(vcG @ @ @$V)i @"9eI{ԥyO?3<#_UkЁ]vYhCQk믿JWS x饗\jw~\-2YSي+~wFM7Ԉ_e&MdT^&rFMk>ᅴ) !"!@ @ @ P]WC O@H^JS+Rhl7r+cһU'qI'z 3ڷoo>w.KaB(iSiz-礻+ᄏ?s_479cjOci۶j:tDSOzvNcǎ5˒K.d'rcTܵkWpRqݜi.#k %%F9:ϝ;t_rm ->G~wVsʔ -*l|=z MӦMN;O{asyCX]LBƪjKTޤz&K IzTV)djgw!ꗾ&,mT38U4I*WRL3WZ3w?7:urW_l)nRR_Rؒ+ikXǝЎ*M-C k7gljݤ8%z)rJͫ2 wua9JkRZb%\Xf]7뻢: @ @D,@ P C /hQ.sel.LBUț1#*֒hPS8Bo￿O?[ʘFo̐!C¾#F0*;r;rLD 'SZ*q=N*PΡFaaU2V1.ZҴəȑ#Gv/Rc!U(Do8 #3*s>S8A甜XtEQGrN3_|q׫p/g , 1xUWC W)'<9yGgE_f'p+6~錰'xx㍝U6s}Oa\Zȑ;`B'3H7o_Fs]~ׅPXEԵЊ*ܭʨ]st.bӢB2b @ @G8|-r  @ ?ߪU+ϻT$xwm7cLEgΜIYf%2橅B>Z 4t6tkb߾}C't/So}VzGe=:JykBLJ[6lKG-6lÑw{}L J*)i9K,vzS!&GJuԖ|rrS٤?.,o|% 70׹sg1w9wI)R&Jx ˛Ke=ӟL'vRcC*,4B̛JfCObl!@ @ JT,dB ZDRo\!w<îL8Yxuڴiipy -ZU9  TK!*)9y_nZh!s;gΜ*PNSNuUXwP8g XHڨ걽+BylС :ͤR礞ROh2 9 4([ݩ/;NJIx.ۛw*}sL&q*hR=+|RJ[מ[5po۶mhFZR7K:$^bF}} @ @E:_ zJyadiMs x衇dZ$oݺKKD{dM\HxwC'WxUS4ӂmN$\]I%;`Ie?p3c #g . vnӼN{K:+%sC7í,Ğ~JέTj|xdqkf8q C0fvUiUq*{VN>@-N{b޽{I&]A @ 6WFL!@@={k}=bK.$8pt6J5o06'W %eX @ @E!ad e˖B{,X(Tc뉪]v =k]_n?mZWk6&cUao%bFhװat]?#g/S߾}X5??aVTgܸqS1rHL^t^vzYJžC=dN:$IrڴiVhw_5mĈz1 |wyK-MafV_g1@ @ $#P2!@ &g}ּ9tAsP BFM02%(|RgϞ~vBSNF6*_+ &AF5,jC<@9+Y2?OzɖI}Es7ߴ#gu-On2LJ¯>^ :Ԇ*z2)SXOZѶ>: mR ,nqOǕ]NC\2hGfm @ @( H+ݤyM@!dZ]> QXYN @H(h;vؐ VzulQLF7l`+ۭE^|c%lsaQKSQIBr=۽/YȫF_ 2mUVK4e@. l޼ن}TG7n+.2~'|6m2{キU ipW\ion8Lךoik֬1 (o^:׳sUn#&}l|ɀ @ @HNٰ @ ȃN:u28 'آEd/HFR7yN[-+KӦM'uSU^"3Z`Of%3 0@ @ @@ @@\{gAVywp&@Xl ȋ_0~yKf 7~! @ @FV8Q  @ < o?C[޺ukRE@ڵ5U}0@ @ @{@ @@ (D`jrXۘ=3u@ @ @ `"m@ @ #ݻw7$r|W@ @ @ `e!@ @(5jd @ @ 7C@ @ @ @ @@UT$ @ @ @ @!9; @X~_M%~\zj{mʔ)@ @ @ V @@>8Lڵ=>]p”Mc @ @ @`͂ @(J䑯HX@ @ @ P 6@:@ @ @ @ F c3 @(lb^udrJSV-sAVZ*U^tO?͜9Ӧ7on*T+1o<3k,|r#V5j052m۶ڵkŋ͗_~̜9șMlHB?4_};wMznj֬KV~mߚ7,W\d@@нh͚5vGf{Jd@ @ @@`e @ k$ ??3asqmÆ 3>`B9d .b&Gwj:;رcK{=s)$;Q̅^nP[n b-e˖fĉfwY6 DӦMmu٤!@  L2%ݽ~֭L2nP,K(aٻwo3rBg: @ @ / ,^ǛB G$ԩS(裏6쳏of:vh&Md+W'EsZZիW(RiItL8Jy۔n.yoiРAU>s#1'|QB"._|:GyQd%V 9oߞ{cWō<8~V^]܆x!@ @rIV.R 7nٰayẘ+Bѕ tM7l$ڵkXO4l^iyR>. [6ݡCۆ]/ys++]/כ뮻nh{fǎv]}2dfCo֭[g4&1¦@O@wOҿ_o# ovYjU4 @ @(0`CAG @(>#}yٳ)YǬΝ;0*{NДxΝ +UV5׿0YB{\~TRn_<*L$riWO0yr{ڬǵ G@?0Ǖ! @ @$ @ 9]wՎ@ޟeرcW=A嗉;<3e#Vuԉn\fVE]*Oj5<3 &شp;_-[fǩ @ ڴic?{a*ڧ @ @ @%_Wm @8Ş~j)\F:}Fakժeʖ--Jk6Hxb+Z|믿6'OV{*睪|瞋mca%Tرy7'hgӭ[7sQGy @ wyd;^r%FӧO>z<9c*WԞ7o^8ϟ{ZjJ5lܸpF8K/df̘a7>N{ǛzꥫΟ??]~ƍ1.es {&Md~mE'pt/E%k׮]ljO>FA}w^J>ҥKygիW[M65-[aK(;+?=_?Ypٶmvi-=5 :woN:(<ڵkM͚5mxcWGˑ#G <̮ڒ ]vg5jM ޞs ,~:wՇ.]m&ʕ+O<Ϝ93L?öaFs  @ @0/ (,_xJ b?ϴ{'mӦM vOc&k/k?aEd-x9滺-au֥yI8cӂay odĥSNv ºi~J7|Q3.,lc֭a~\"ۄeqE/Iz*l# |ng {[e}׽oCnUI e }I˦bwoѾO:5vw1wmhL6lg+"-Ѕ oVJ/aW~n;]VraA8ʄmnEk߷K4(m]B]W.e4>+ @ @ +v  @%PdI3l0B^A^#W_m{=/W_w}檫!b: #/ JVvl˖-aq l޼y,ѠAp֣<+F7M6# p,!@ hĈF*"PPKAySE9٩j5kf=M76%]q+{)ry--J>L ^y4 ̓-,w=ֳ2ћߛ/T:wl,/:%:_&Nh%j֬Yh +P;z=&:~ᇄzL_`3b/OyK{G_B+gyz[Lru]fẸ|vgϞ=wa @ @HFV22C P(o~~WBz9(Sh$c?at݆tׯ_Y^aYz7$/XF~'K3kb *dYB@WӨQ#E_VT#!̄ 駟VRǎ :̿p{gmqJ -3 OSvU`nS[ꞪPΆnOv7 BLB=$z3DPIdϯ#1Lp3&!<: ,V& JL&|k 7 Z"C+kcY TI&nK@ @ dJd%(@ ! }ŝ*TT ȑ#Mr)l# %Y~ʾT{s,˗/o=Yt-֬Y3̋ 7/qWu'*O庼4EMX_wEk|j+$>x}uX)гʅ^ɍ_ubQjĝ-e?ye̙Gx}P={ @ @ ar6l @Y" Pxыg O#J,itܹa 5xᇇ/{1sڰ>ۗ ݴm6>Ha}o[QMiG S$UV^K]tE֛EϞ=dB&Nso߾ ڷo֓J#Ps=7v 'eڰ>#LpDzٺnk.+^?6OѣG%u]m} Fn{L2ek$ů}jvեK0 И1c 䘀Bƙq3oʕTD2/~T F_D=ُ?v9qDӲeK㋯ZhY`vYyʕ#[*]qc g#S<]AU830à( @ @@!H@%СCt͛Щ[nu] y,4ϰa c}3dȐ0[/!. 7n&$Jܹ/bjcfasS/X[na s;v숭˃aA0_q.mݺ56̿ {9M_a䅲{n >ܬ_,^~f̘nJeT^pg9r.ev}qbӦMñ1-B(gCT @ @@ B@!  YgeG|%I$A0K^{핮Yξ,U@yرc͵^kϟo%*ǸO?݆Ho!nVs嗛zC}VZtYh vZyK!1+;4W^y9s֥ $oUPq'@a# !M7)DY5s ȃ3r../,/SѰŽ ~mWޣ%Ҏ|o]Ɏ|wRiYv,g/qUɃ @ @@@o @Łn?>$`r'p;pER<6_|0=K.\!ᇄ2e7.!_93U^^+ EmsM  @ @2#+3Bl @ $,]zF-[ l| s1a뮻(lX|AhaÆ6l*1Œ3 $4h $o siKc樣 %KH褱WVB(?_iy+jqvzt$L:caJh䇊'KgO6l @ @@(!@ @?#/X5k4˗7]t {v_4n$; s%,Сi׮9#PmT(]_Psyv[oէd{%Q(?Ϸ" -32 _4V˫~6l$Sf͚0{Xq c[۷s1VhJNhrГNDbL@gPc]tܹ|衇LӦMiӦybS}Aºwnӧ-&B:ʫ>Fʬ C @ cg @ Pp HD{?4D'Cu. `&L`ڷozrJLj@/mꫯJ*f@IDATh=e*U Pɓ_vJmk3=Au|Z2e_uW./_I|5 $$*[lt 1苠\t}P~ڵ[n1q).4e\UT1}u?SF>gqA!6?S3xsJu%RNT0SLBø}6B& @ @@$P"-b9r@`vUV @Fagc @ ozPUVY 6|#<#I? XQԡj ew۶m3%JވTwLP^djQF6]s=ɫڵkͬYy֣Uf֯_o/^lϛ ze[Ԗ>2ڮ0 1(4KԦ)`\Yh zb]W\ Mv6md{oSVtKy@ @ dF ￱ͬl @ @ C^铟VzuOnyrmHXlsI1SN1[gU\ٴi&y xayeZpO2$L @ @ P *GC @ իWW^y%g-[4cƌ1jJg @ @@a&0=@ @EUW]ezQhCm޼̞=̟?HuVSn]S~}s!ҥKcuTZ6Sz6W<ج]ԨQA @ @ `"m@ "D@ay+B#+:C;v44iĴi&K[dywm.]Ex  @ @ /X˛A @`h֬ @ @ @H-XIk s[l1YdYrU9蠃LVL*Uٴi5k;wYtkL&ML۶mc/իWTV-]~aw7/6k׮ /f̙TRuaИ>S{eڱlҶ痋-[f͛g-ZdVj;0ӠASd(ؿYpmE\rٳM:u駟n9o|gv\u5Wca+ς ƍ-cͤI?`.SFտ|8jܥK6M6l5lÆ ?uN8rϨntۜ9s͛mpׯ2SBh5pҘ7on9RJ?y^ @ @ @E|t @J@« . s;?a&L`;&+ :䓓{GMϞ=I$#q4]vYvL:t[c1'xò3f̰DmȑVdW>$$袋㣛K/Fsc7'OEvjX'N*S"kƼ ~36}9'x.$C:,si.]9DHg}6mZO 4\wuV\+cz&pG6:tH-.{5W_}$~MLy~M?-ogiF+ں̀²~B370@ @ @ PT w?PTGʸ @@N:"* _>h+n%jرwW_ޜMIzVi)S=bn6?iii'FT|te_y՞{Q8O?yJ,_zWp@XF$$zühB^*ͭk._9Vn+rZJ拯vI|tnӹsg=.Fi}ܪ{NInkynvs"O6 `FuMzbc=nSJtFTywݺuoEwC T'GD7nh @ @@J J F @裏,V(%~̒ף=zٱcM?áhg / )|-Io^*ݥ^jʔ)cwUZ5~;PșSNd1+ln7-[֜zF=3.n)N)dcKv TF^dK޺}I&Ϗ?hөsgX/W '!nfVn۷޽|Oc 4b<׏}"ÇDiW]uX-6ꪙ7|3LG 8fEb]BmG61/Q-+V/r(RhGI<[8*Uy/&@!" !}ȴu?W]}s2W;2 @ @ P( fPvNC A`]w8;0lرcw+Mr,svEdR>}g.o.,ݾ|aB~ĉa[o5LN:)\8@EqRu&/T9qS:\~ٸ5k°v衇+VBsiN&3 ͉ /Nr&nNʳ  ]]O<%d/Bb @ @2#(l @%p)h)>gu WסCSV-#/P-^خJ^{´]t!S(h;a'<@Y*ڬ?3ܼhѢ0=gppOKj_8A+Xm^vp5!ţFa.7߸d/rL,թYq~]qF8뮻5Mj L.C^:uцT%֭9ꨣ9hڎA @ @ JVQ=  |%п#F>`_yxr^6mj>lsyڸqc)3LVK k(YLBޑrcuV{3JlٲTR_MgLl\d&9/_>4in[bf|r+8We˖vΊR1c}TYƍg3wҦ/ɓmkƊ 2&O]CQ>3LBs{sK zi'F#F0vI{5$;},,$4EX e'$La{%"S(ӨYHl'.+DeL˺u۬};sm~ 崿dc˗,*3Qs뮻ΎCb3>Ȩ3c궳 @ @v>Vls a vM7^r%ֳVbY. WF^5Z/ zy6l0{:JL'g%%3ߓGT{aEmǎ.g}<#v_+mKgj2&F:%Aj\T=vEK '/TQF duf5jd% @ Q%d_~@bBd 9۵kg$Ȓ(w6$ip k% @ @ P *!@ s ȫה+W.`:cBbաCP\%EmaV^´/q/ÍABlՙlQGe{1[6>l*(,n* d)-W&"/&^;ȑ#SSO~E+^ze]b i"$P0yYpa:і=hBIr罄Q, /֩S'M*VdϷ׽#d>:]ND)`I)3'. 7`;<{ʫ‡l} 땻\632 L_:"w7ا۶m6'N)W'S_\V*Dɋ_feJmLuqwgaEEC,J}af  @ @  L#/2y'Id̞=׮ 4`0Bn˭_޾v/}%G!g8XzY"=9]إD72 fΜi=F2 jݺuv]G$%PQ?ކXFB$yVm޼نڵ]+gy&{ /M`fFj $pHpU,"s&рKıxbe z+sZu5&'MlCjՎ]#6?@]y;,gΓ\ڵ]=ÙNۧOʨM_)p*Mb l\-oP)yO/gq9}[nqc*s_¾0 ܶT,o +9STo9f @ @(U! @ KcI4R.t룄X+<(t<Ȯ* Gai}̘1x/&e.Nk?dř}lܸ1hIm/a>cǚuf\P/ڇ [^B.*3ԱU-<5OCMt.<(L"8~y%8sm?V^mf)?OLrQ[o޽ Luy1FvXB\xQmյ̉4H_ug}K"[gVʴt\sFޤ5O/+,onи~#=z!mF!,_e$Ԓjɶ<(/fV< 8pٺukQu^BӜ ,2+@\R*_|XO9@bgc[꺕H("9sX/{22 |saDb"._ץ%zY׌LsWM5{WF}~c炢"RE @ @E|t @J@$4OE/%@Gf͚+?GqYbYh? A'/I7/c+/S/%R%Kի 9y݈!!D?z_5kE|O!af$]S[oYlejլuֱwz*\8ĥ^jI) _VLK]`o8֩Sd$jժo /l۶֑a~d_e&M䊆ɣD`ܹsmx,KyH8+[9\yˎƬ ȃ I?%Nyܙ?g:˻2y8qќĤ (hҥa&?/wseF,]c_@~T'PH/i~0VQuʕ+þzY' @ @ !+o* @Ŕ<o~@/%'&oFM4UFeJ˪mgg<#WNl=0lɉE>;*Vhڴic?ąY 6) 䌀.gf$frR'._|5|psgw=܅e_62'e$VU'ݻ: Z~}DXnߩX۟_)|wmcOy1@ @ @@U)# @y:srCa}l1 $Rh<~FDݺuy*[QT lHX<3+*U2Æ ?Rd#GATRQFVЄp@X&)bk޼yO^gϞP}РA /`ڶmk> ˎ=ذ @ @ @h@U' @ BL`]vwK,~Z"[ڕOٲeG8S<3qNk֬q,3!k[2ю֭[ͮj%{:uvN ;v-.93{l{NinKw}9*?? @+beݺu"j=7Z@=ܞ:u6lСCSO=ƕgY dus(.{ڵ}]vnf?ϰbH5<`(A @ ݯ_?{氥Wo76m2M41={,|(=o%K{dJZZZO/(j9C/B3jԨ_lf̘aW^mUns_~ۮ>W^n DQ;~ӰwX0z>&L @&pw+4# oVO{y3Zy}rx`9P fg~~W^Пss% [rrخ*ӧOP|%{tړ/ҭL!oϖTXvT/mh>Μ6Qd;_uYf/2cc  α' @ @D@\gNQ+7~QS+><ɓGҥ3Bٲe1˗/^&իg jٲڵkkd#KxͿoȑ#mZQvmsǚ??!O?m=(s9餓C=dOۗ󟱻߸qUl23\|FX~'~ڦMs-*U%,K/d C^>Zha0kgL/=Ö[ײ}ܞ3:F:g>c#76Gu93Ǧ׭[gMf}]{y׬Y3=z=dɒ~ͦΝk +!/+Q۲e1͊+L2e/TjV h:t*$A~)΂ yպ8sgJ*JNyAnPXxQ8 ]k-sN:֭[gRn F{VjUsG={f鯿eS]3Wof|kC1\rUV(0vi[ϯOd2To֬]ֲw}Kfk\s9s [jeL+VLVs2FmԡCێg(<2}vlFk1*Tگw;.n=7}믧kSYct_=Ms_hc=+T^dfҤI׹ySN1'pBE>`IyMtVϙӦM Ϗ~{z2]g~Yͱ>ywE,|ggMs)eȧR:u4j =P&t>F駟n%_ZSl:fԘ<Չ LL޲WXykM9[5_4=7~x3}tvas1+Wc*2ursOW>3Ϸֺ75l>[D5so1r yZg,O3K4yj<Єʕ3]vY:pQϕg"ݏe޳s ?犚O~/#m $m(ñ4(-;n RK׾wR j=gjiS\:-9d QI@ɰ qUFЎ{,a]Zȷ]c D-i03СCBlqf1S,;Z\%Gly1Ɋ] p /Jgt D:e"xב#eQy,:n=x&i&i<0-xxH  w)Smߊ"6[7i=!}䱜t ef~kmqEC|:3UE,i74OpD:I\;Ov-'s>zϟqdw%e2u-gL+]^zt%v2n^5~&o/8ӯ%x!m-OcuŭG5o:uVdI5Lkڵ^Awʞ2c'5tN/ n隑 y6ѯA_ƭdWLD=֯_nOvܜ/=_?ͳ~k_Pc ^Jo~x87Ϯoܹ{U $\FqEu*m[y(+υ!PڍKs-@r9Ue6?GJnqa5T_, 9U <ȅwpK97*^rR儎m-חhJPg<(?>QQ`Ê{/Kh+ ^cCcL۽{|>ﻳ3{7=OZ!PB\ų8erZ%"(Z8"k- Xas==i( c lQϺNYZxI @C})$@$@$@$@$@$@$Њ ~hm W&Y M^;zUQ.xM\E_h"Мϐk+?p'hѮľ9D&.D43]NRz'ՙo7|vC#mG4iO*bJPos5.z葻zQH[Lrh qs^t竄kF>.-`dm\(D :Ի8p0_XK.at*$l<}"PixsߋTޅND VĹD钯9fn;S=U:W~ ֒K[>d(s1sSf}<:?VMcǕ]GNRp!5Z/6;o,[ԭe$g$\}Z˶*T)O3e#D~ Y}»-*B.k0>u]NHZےǬs.SD8WD#DQJ=V}Ά;IS#I6VՇcSGh. 1gqXֲW3\)0JB&o'      D`ĉXkJ˯L61&jlD 6 El`"/ذRKW^9 /üE/—w5 eP۴|r.N$Xر1#ҥKEDiE/QS O=q:هqB fɗifW/> 4=Nu |> SkLǼsE5F@PR.oFeeEC(k@[obxL'kӻロXIs9/gyƺ ZW "keHfW s/޻"JY4(ي-1V"ޟ̺ds7E!< @ x&Mf5:{w\/&"_jV]$Ir뮻Ǧl\|=t:M7N[Jk*Һp}XC6櫉Z,鵎m+ަ)`a D9Ȇrz%6 V0+ ҷۗ~rbzs0k]k&w s[L*b5N%,̒BV 6)e &V]cY#s. z5fY2l.*xX1)yŴ1˽D={ӼېC،1Su?X1Sb>Yۋ^ӳK_^{molD˺PֽdO<束Qʈ@9S`]*'}v+T[HZK~p1::\/IIi{\RƋbxB=;?gc|?([aCʐX˲.ɰ6(0皯Nן%ҕi*1 ʟI$;~e=]Zz(6 ~;I֌◀m@ѣW\AX{q^xPZoHG]gJje\ۈ aݞԕ78,CYryKkpL\aQܙ|~d_g}^vuWI~ڽO¨HEX&"#G`PHN ް$:ċr7ׂQ3e9 PIvϓ7#;lysW.3eVkHzVtV#T^TυIeQ`ػEqRc-s\=5,~@'WP \E\Xb-2u!X.~|O}R=,s(@m"kg]$@$@$@$@$@$@$@ <>I'd7H^92??^g:Jb/Q_|E,Ym٢yzع^_X0qa[E˻uy1Xt_Q!VhJ[DԊ=%.vL'bJ1R+q8s&E9_WSpv:Xב+q*oF)_!1@w%]tsc E.mwp[q-e'vm7fM X&IHHHHHH #K,-w"ZI$R#nXE%.ʠ#`F Kvǁ!^K:3zހP }~'^/N 1mHzO8YߌcKF, ` .c)y^k?ew^}Պj`3\Q0CVsYYDiNbRZZq^ϳ/-KDڱgͤQQE\[ިiհ٢$03(>w\9g-MqM 3N~! s0_iϛf-sm|sZ|f #wCD'zn*>ޟ1GdNtYF@UDVA$@$@$@$@$@$@E _yò_mJU*_B!E 4Aد27͵,AC Un ~,&Md\/3w׬"pʅ^Fs(Ɖp Gl\r!Z@p8qbMbr_je0iSOͼI@2pmLHE~{_WLJSm4;YOkW,p{ *ND6q^'r w8O SGZb~^lLN+ZNo!#eꫮ`nK0ԛIwi_9lIzE־\O?֪MIdĦ$+]:V!g~3~G|$DT.zM>r R( :4Zgz]uUEAXG ,}5T";:o.ú}9,+SJ aΊs-P Hk#UVYE.r/BVZk0sQDsH-s\Z}H9~xUMx)Z{Z]:_|Hqڢ+Yo^{I<@ JgD0"k-V$ ?K M7T_Mxɺ)x`~Y8%p~Q[|y\Ĭ(/VQb4\{Ŋo**xy&_c5Jڒ/MUV(Yq=`$v3vïdZܟUr++Zi׺1ynj#ѥSN9ǣ. clSgP;}cs,.YwMj[_w !Zc٥2?܂3?9֚N }=;ULN;IsE9"vi'7h`W֪T&.>5ɘY Xu$IUZ,Yn.NlSnGYV[mcRG>e%,31S^z8!gm<1ezEWk)_hUw %1뚵Xm`5Ojy)1?bcR$(8HHrh ,n~f! hayt\l&w06iXel:?6bR/O}Kg1e:c 31.lkϗz# V(ϡx$zc3,ϓUmI}klIY$1^{o+?.q!^bޘE foؾ>Ϣ M(UoSH })$@$@$@$@$@$@$*`*]~>ٍcn.]?wۭ,%ӊ|0֪%v]t{4S':,<(9s; |U)]H>…ĝwi];fvac_ږ~H[qM61 LEYX{Yg u9*#<һU s00a:aYE4y~$QG*x;Gafiz﹮ܥ+_]RHZx*5%Yʎw`"I=sQsU2v b^O͛9p^sdeΪ]$݄1v33:W ƒ`[U)8YҭdDUgYqXԍ6ܣh:LEwk{챮6OSM ڍ;;K.TUzs5 \DѫWk(W2KyWn6c} ><\g7 `pc&Kxp/vtp+m-TSulQN"x. uص9?wꩧQ;(ޙ0C/NF^)9ւNg~F[k+-,VxK[x6}n|k{wؽO]?>'gϞU/"Ʃu=/yk5 X]v{~WgAk}%Cy ?f ?8зoߤe(kO>eyZs\+qp9-yޟ񃆳>uG5C=0T pZmHH ˺.lޑ CF{ [hݬ5\z!  6!9nu-ꫯz=ta  _-l]AzKZf56!z9cٝice.n T e(F@4MsL+ϭ)`)ϼ$NB<})`)߮y=ǵ+fP!nhi($      hM0_MtM;_~^y}$@$.q꿖k:,c &C57UV ~Ɍ5UcE(_=eAXr-ˬz@M ]{sگF=55.Ҕ3(PH:+qwgGb=_jNC XVBHHHHHHH~{u+JP&$,|U7e$/$@$JqpW1 Pj'^%k"e7G`-cmqU~Jr嗯+^X9rVp7~x7_(Kņw(b̴%vs9su"2{=#D4L 8ǵMzaV$@V+ 4@n\`JWĆ \tmFM% zm<]|k.˂$Юk;Tt50_~yE|E<~=O7￿bڒG}T|w>{o bIHHH*Yir| x\/૝B$@$@˺.ƛ$@$@C9W_5w$_~߿Y`^zu a+$@$U@@n /{ҥo’|ӧxJQH3xK/dvj[l13+< mٳg[?ЕCy tfW]uXXt\ar]*5/dСf33 Li5FCF D ˺.Bf$ @ t sNA$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$PQ^ @VfC$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@: t*`uj6D$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$PQ^ @ZbC$@$@$@$@$@$@$@$B/4_}UE駟۷"DOwӣG3TSuKu@"?ut޽ï_v{e~_U3:3oϦ[n3_rmS{`<+hSO=uY6HHHEVvHHHHHHt~c9*6dN+pPx饗:.7ƍ3gqh:(sW>C&Mdx W*r O)*̭I`wv*%!+b9N3?WHF ZjN oG"|93]7pC3dȐ{<ɓ ,``y!IZk-si&eiX<6^zi3<7ިE]d{ok1[ouZ)2mرN֤9䐖gftvi:WUW]唯K n0 ofmWN餓N*OY<$v ,WmkZۭw3@;l~a+ 6@kqX>$@$@$@us)A9muTv1Ǹ~_^K \vA\+H oe"pꩧ }tX[~ߚVXulgO`skEq ׂw\U\nJ^3,$  tn)/HHHHHHHZM=ӧj̚k鬢o^K1~7ooxn*w; ^2X=z0/{S.s袋N82_{֖f^+oQFUW]j*7%r  t*TTC$@$@$@$@$@$@x饗 \A423WTv3 Ѯn6gI0`S.qam +?oTn}+;+Wp<2L3%\C(a-O?5_|Oo4 .0} vi'_owax [ݻwsr~֭osPL[.>-RY5RVd}r=)5JzN f}'> ½s=y17M>|'UJ-s%GqgĈXE!.£UL)Yźaؚ[oUmkUh;-֖{/V">MJىkUeb<(_Oe=%e9*ĺZ³z衇Fa ~-[o=mJZ3?>cmI¼+jԏ '>|X1:k][P0'gwoGꡐ @+3@QHHHHHHHH J V`9 Yț*`"vSY ު ,Oh ~愳_âh9,Xd_q5jV^`+%U 4Vir!fv0:;o{챇 ;,݀=k$yN?t7VPnVl]%O;VGê@yx SLsx&` `W^1vY3 -( kE6l V;e"wX8XeXD3uX)Ion& 5{Xā=裝ƃ:烥"ϯzQKX ޾z+ vY/Xq@ nKlZ`QeQxa L\Oo0w)7V)W ,Ra=\+jD"kc7Dx؂P` Cu؄yop\4, 1`[P 3ȡѸ&X@TXD 2댍Eҭ" q+:x.a1W56D&` *3$n5$UrROS͔-`a\Z?w}WVq"O1-W䞃k7kD[tVp=z*$sp8L*x5,ck-"+H.k.솋7?"pwgus'._E!:\S!0`@*pAG&Ol ~d =E]ܱq"iIGE16=.k7pV"1|;R-V9Ɵb. Ɲj&MRS܁lVQwpc)b-HN 7Ok͹D<;N*o>R&Qn/* p%_nң>qʷVaX|>]/Ɖ5I}ypa%CwX6] ۶ A12nW" nI!pWI5V<z2J|_OZpcQbܼgP\ġ-00U\[t/m'K6Xe0wDmڌ_=G:Ҹ+<+rx/|w1szk2p ޕM@IDAT*RN-x_}^û;5HHڕi+`IHHHHHHZ@ޢ;exl <,ĉ2b&ִ$%٬՛Ʊ6_~ynݺlÐ!C 6\sM2˘VZh~mF~s:.Ӝ6aq}W'730Gb vϵpU*պ3Yߠ0f7)օc6zQ/cmUW5K-YyM^C=ԥ_ve<½VB{Z%Wz=}PZL84Z)2sK(,S '~/qk).d]S(;zd1NRrm%U2PvXn|Bύ~xAvkCG+J5Fs0hK""9>IX0UQ6ܓ4 .$yd-N8hQIp~iVk0 (IG-i}5mhSyXw@XE\5g5)RZ[^R_Æ P E]YX+0Cpd6ni 4vmN 7;!駛w^"E)TSW=U+ΙA[(ՖOP9E&VG,Nw\$xF1p2+re]ѺrӺKtUbmE+!VHi% aXbĽ[V̺Crֳفbh9)'Ku}bzYc҆wO+Aɜ a>2u0:" B"zݖ8 yyQ ״zAzD9=_b]Tk[_CG-S4e*,Z1C{NKbҊg xa]G)W^yM)È$z,C)T1} Z֖HHڙ@v} AaPU?alk-dkK%"G, f+b&T,(0)c.dE1wy+;z ׏&LX0,(1̭!6Jgرe&ߢ.*}Ǣ݇0ip6&YF>0"JL[ (By.]Yo CI26¸^ bV ƍsGw}\ X4j epI_<׊]v,]0i)J>u[1m|5uEG%̭PކŽVJjYkKRj(WKVFո>'-c94iB1P~=L2>^Z}1&:^+0M<]H3L$@$@BOr' @ma#,8QQ5G9=: ʊv33PF.PԀO>Orfi7?Yf,r%Y麱&rAI0(.a7Yy7SD= ,ub^@&lb tP4\}QbX}mF;a߮ sE[o5R蹶"DDw6GjKiMtjGLJ !h[ltVTIjz!믻5 Ϲ(8{B4K%qP g}Ve @1.IiOO=Ƣ戔QDK]E[׾"pUMtϓQ(!|-ڵ+N4J!O?5P@fxX4'Iז~5#׌>Ip&Gkcgy. q7pWB.>%&*2lIл /W1BL:sFƑ tnTWG$@$@$@$@$@$@ ʇHl#䭷ޒ9f5#<ퟎ Xzy%?~|4>Կꫯ䆟. eX}ݍP_CHGYKRX?Y&/(&IO:?H'x"z 8 U0nj*8ꫯV8p#bQ &Inԟ.(yc=V'JPp{GMJb Q&LP)A=߉rH Dk 9*,|@`U&cƌqˢ" 7jQe]n` J:"Ik1Rkr4ADؐ85=tZº;̯;X;X/{,k#N~4EN9G 2&̘EZ~b-kliڒFX>uʚy y֖z[#su׹(lM~wqKhڂǎY<}UK9AE}YbWa1FDo gItldy:Yy%Xq{)flD[X` tr0\=bJd Lz^zꩾ^GX;uTYX[‰Cp@6$um֟YR=ȄMǯZVҲH=}R,첾jq#,+O$[nm$D xB |Zka@bhvr?;'NX/+e;,ADQG^ iq(_ 6˼YA5O?L[$ߤ2Êi>ϰwP]Wް(E~$@$@$LTj&}M$@$@$@$@$@$@-D`f/`J~A\GoÆGm` ƦlP ulv"kCiD[ԛE&RK-i `^ }QR.mw` w,@{P. [3'*!PP5'4`(?l\T ba DZ92gRA5&0E|_~)`3~in(\pgK(j`#YcRP(PR [7x{J lxpk6kIPۜ %zCGa=5q ( Oa#Z|yhe((*a?6GumNi o<Д$K˕W^mf> `n'P1Wc2`H<ߵ@"ݩ(bI*"Ag>|W>ó뮻Xw˜XJPVѣG-U2N; -(zֵQFU bRvmgbhqs.6*^E:'(IS0 ̻cxR)h[҄my3ZUbJV! sE YQ6aEefˊ؍L*C9re,[YU,+7<<X83u,0 i gBݴX eYƧI9N1Iq x;i8XK~X?b"ng6" sXM!  v&04b%\ Y @&.FS^ 7  _cS:msdsN=T  `>3_ܹ; Àk曯S:t]+޽{;Sz2YrpEֳgOWcr:ơp= l|Akf\͸qqg%euFl\aDQK Ey+6c9q:&Oأ<{ac34S,{4_-\}7el 6R{#Wn;5p wg!xp0ᾰO>t!my\9l(ٴۑz渼m%ꫯܜe-Ƹ S5ZeZ2_~C(}. .sFX+nw׸Y*BckYH^2N1Bښ*kK51>qNjegwkkh)+WyUa١k׮kR#tAk]DCx>Z38'X[cpʍ  h'TjrpY5 tBnK?;% @[іw: 6y峣>:ȑ~ %X@/RzL% 'B(ZB K6ir`זlk 6L2R^% $?i!        NGƌ+M_EòŨQ\2P*Iڙնn[ns!┯p}ڝaMOץZ Q dԉ:[+j WguVl-^< L5z^8 L`e\H:3X:c /l]tQr3qn02$Ndi2ܯ*py3\;HHHsV缯*          @׮]}^{O6lc>l! @>{6x`B*/7y}{N$@$@$'OGq.%      h#묳۷q~ڨ* ^|& j, 8W jNG$&u'IoM3o[lazY[-\jsu=\hZ LUObDs[)HHvY7ڥS$@$@AFkHHHHHHHHHڍ@v0K$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@B Xr'                 #@e0 @V HHHHHHHHHHHHHHHHHPn;L$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$**w                 h;Tj[ iZ# K`rU1œV$T_~yWk߬*fvz)s^xRcql&e|5qD^,bf-t}(ꫯvpe7[nŌ;L4t 80,LYwy] o)6,f 74SM5UY}ߛ/#G4/C=dk [\'oXO8fzjsA:0~x/(^dḚa*È?k5</a䬳r.qmn;u?#W^f饗6=O'x\uU?4{6P>|xo6_}/oVZi%ވc=oݭ[7@Yhu5s5Wi<_M7w5~YjS:yS5ݳuY 2Dgan͝jw}<:HHhu]9 4׍2JG%T;$Yrꩧ&e*UHWU*TV×馛J쳏?_W^yeb>)g3J'OetO?-:OJT=hykJq>zr)Gy 39u]]J:>VTKUֳN;%?KkF<ڶJ@% lƥ<0ZuWJU[E6l-庥"Kq]0 6V)ھUeoV밊p %XWQ/]wu_\qU #]*uQ:)5!?xEw/an@%9N0@$@$@$@$@$@$@ $@ X  ^s'@S` 0SM` @po>>^z/VXZuҋn\VY-xJ믗Ysh5geZtO°2%\Rtbosy*SXrE&âI2P%,F4Uq ƴk˿ /\s5*veFa*VX m}%Xk|5s'C'뒮6V JfJVƧ2(IUpi|:|GRu?EIܵ,/KY>lw,-Uu#=fI[L (*B3) KL{wɺ-YŷnpuP,Xn(} gL귮#7ߔk Xú+K=zc7M] X``ʖ0^Xjo1I9.WƑ @#$|~ L9`yGdW730k?/* kPXj],J:91|7_,w#0M7Z7rBeXyꩧ${? IbD}r=p>~ر&bbցB_oHVYL}9r8X|/trSsoN3"e> |Ϟ=},n\?[ ZbYfGǺWaÆUXB23Ul,N"?< 1x&G}F*w9d[7V[!Vr;;ӧX~J%G:c*""!,YQ9k`=$@$@$@$@$@$@$P420} sVݧ J  ^@a2 @;o[í\SYL>\ *$Z4JP2XKy姟~22s߻֒&TiPނR(N 0?G%ɋ/\伞cܭe} cGuK{* t`ĉ]k*!pCpyX qeJVUmG~ {ZP袋SOd dEE9oqZm3xFdBiQZrJfrÇק.{^j6=hO$@$@$@$@$@$@V:Y9ɇNNvoy9$@$P4b6[Q$Y t~5n^߾}{7  "\rI˪z%dH[^IQ-7XfEKDD" TZ/U2,>2NFnO U^\/?ڕe6* g"Q_< bJâ_:P+Ai\ C CWPr >m)+LyM+{adfiy_HoPV4c_O"      VcMr?c/ vHHC`kkG ׷VC v[MO>s1G6W\qy']w国{E^xtgQ(W5X}:-,lgXl|V\?i)(,h%+%u1I#F0'|r,[g)&|t370[R|1P4o.b*cn+.ApLuY^jW4r<|ԨQ^ivQ~Kx~hA}1E;H      hJ hU>|*b/KֿHHQ6yv\0HHq};Wz;'|b?y{ (jNgRm(uj}|N:Ɍ9L |ϣ#,d>Z_lpH/첎Or/i9 EZ0Ix'(P «n0 /4k.Rn(EovT+_ofC{=tc F`wh:E;H      h*`5jV9s* |/wh]& OkXڀ5k֌vorO 8a}8Zm ׻ᄏ9|oY*m)qĄ0,D+}:K[b%bMG 4(&Lp&Vhp}zOErG]i X2fh=EG\}cHIS 6tS3f_դI|8-)RnEumm,5BsGG#?t4v`LRXbnL=8      h l6s3wG5ƗŮ D(p}@  E]7u GmHW-M7t:"1?hР<:bذa3pQ{Yc5\:XRt¢X|wqY}ˊ'XO~{.rӥ\~^@.r*2(>f%%W$ /~eJ9 uu׹AK+|;M8)M;aB[o=#J#Pxw}Mo2Hf-ZvwYY%(p{ǝeYgN=Բ%y  H駟 UɴjIcGs/rV9^rx.2%9%v $@$@$@$@$@$@$P0Z*hg_,%! wk5 d#5k66l5N.os/ h6δ[9O~k*{&)6u!vmmf^y BKOÇ7b} ywuWM}(T<3fWmy䑅C\\r>}RK*b([omnvۙ믿=e15j(^{XõyЗ"HvZk#PK4%&XT@ z!WK5(AII{菎Gg}$ho?ư7ߘq9+ɠI\G_fرnCYíߖ[nV!C`؎=X^tʒGvB omb 7_ úk~^voСx>\Z2,*>-hHHHHHHH!')$@$@$@$@$@$@$@$P 3%Cտ<*-kMds*%X}[zK_uEY.|nIr/c6tSQ߳>[|]U,*Y2f*"zRg:"~)DY*W\dR{{+XLVˉU'|rEk 4Yxo [\_NUx9.F$@$@$@$@$@$@E,MHHHHHHHYfY Qp9 Qޝu^ju[-!9X6l` &a)5K1JP"SԐL KP ) 6,-aG%[KV{9>]%=\uw|ѳsnŖzVZ )MՑWɫLLL\+ZqցV9y~_Gy2o Zu-X8v~m*Oo{N8?C ϵ};s;HAS R"R0XWQ+h5.9Uqw/_x1V'כ{)H\1o'}Vp^=eք]w'|z.`=ՑWʫ]uU\?_Z(ο҉?sgyn~}/TBtiS[y_NwjO/ʶM @:)PINVl @ @`Vhix'#owE]\rIN*o-؎n˖-_ݨ;oݻ-r 1Z9mrh$oH[νБS{G)B^xaa kKu'>q|K%K_سgOF[fMlݺ5VZfRl߾=fff+,|޲G1ohlڴ)rȩ{"sk<+ی$_︥ @ @`Xr @ @ x꫋'?я>3(?iϖj @ @ ^#s) @ P9o|_*ַ/|wߟ͛Uk^3.⦛nO}Sg  @ @x^@y  @ @g$K?}{/L~{ߋe}+5< Nz(ok׮.cnA @ @@{ @ @` Xxȯm:{n|C:2nzz @ @jtx'@㾻7'%rbk>jל%U4' @[s=VO?t[X*.vV7em߾=ޢ=7|sLNNM4 @ @@% P?TDv뿎?3y3 @ @ @ @iNsi @ @ @ @X@@k  @ @ @ @ p:8O @ @ @ @F2]D7,wGk @ @ @ @A^]᫡?.תXgy @ @ @ -$r @ @ @ @Z `vq @ @ @ @ `-H @ @ @ @j, @ @ @ @Y7,Kxgqȑh4ҡSj166~TU])|,Yߪ^}n3N @ @ @`y`-q^R/wY$m.^9CX_|藛͗Ώy*Pq}nS3N5q @ @ @X%Glܸ1;}/c޽{"633[li_%](|r|sUj|ixjh̿. @ @ @T[@㻤Ar*oyXjՒwr-W=c}AY |Yx .0_=b-z̿۸B @!IDAT @ P]vMϖ"055u|A᫥ȝ9#cһ2_zg?5|iv.a@6(Ǣ-XZme͗n]ˣA/W]Zy}-M @ @ @* 5#v>^kKr,]e6s[ڶҾ~gƲ֪/ǢlկϥA{@i_EgkS: @ @ @ `u߼/kl4EjZ_o94/Ǣ\ls?m+˱~m,mjJr,V*\ǹ Xt6 @ @ @辀VH @ @ @ @@E*2A @ @ @ @@oF @ @ @ @*" U  @ @ @ @/ }s5 @ @ @ @ P n @ @ @ @ } @ @ @ @TA$HwO9Gb8wX="ZD-!07Ww=5ܜ\i9~F4Q7yfiq1_z#7^Cz\Ne9 @ @ @虀VUL>ZGw=?r)t;]GGuKzVbShj[BViFN^5X9 Y53Wͮ7CY)g#HqS jM̖ @ @ @ `xTO:2cȡx՗(VP\ٳ'v?WK6o5+;LV+FFctd$j)MHj̀_:y!U^"X^+`ZTV8 |&@ @ @ mnz&03ۈ~#vm3-Ǐ7lm>H{bsq͵bU/f8@ײVV1ҏy6ϯ;_kOq\.s9׭K|v-4 @ @ @g( up#@Gv='+n{717;:Wj'aÕ_#Cqk˶`YkTX*ER*2OUy(ţO_ta4u' @ @ @/ }s5vHӟtww 0Gu+ǫm+q;rd&ji;::ٹ؜'g? q5ǯ{CDK6Tθx<5Uir+bp 7 @ @ @L`g5@>>68"뙃W 7f(_į33c5/^@PEfSZ0o=LzU7?k)hUҹ&ՐΥr(+ @ @ @ @XW;tI`΋## yy){Cã_/}$.\-u.)V}`q^sc.ũU^VE#UEw.A @ @ @@lAPŽ|#iy}۶m75' 9)rٖK^{mLCRv–oY"VXO߈i7.nSY"VE*jX?7fWfJJR +6m /(Vzf* @ @ @^@cKx衇; >qW~\$@yի뮿!*񶷥&ǷqK^Ubdt,ڳ/Kgquӱe/}I>Zm,@ V3CTiy+ɕ1Ǟ˨?{8jXX{ޟn]ܛbEa~A @ @ @@z>[n%n斏o/K_jy}Æ -;Y=۷'?ɶt[o+-e)_t~tSpc\p1:"%j177Ӈ#2|iĖ-[hm8>Ǿgs}]sÜqX@PP_yFZ-ͥGcvpԏ]oLR@V̥Wڦx<ȫ_Ki-%@ @ @ @XU^Grj UK8}Uڡv>[_j g>s{\bcxx$w yqdj_\r]ݿQl~y]|=/Mocc}3z=WSy+t64||+.?rOCA @ @ @@z='@[n/~m)wӦMm)G!$P+Sks k|?/y0o}UoO?}׿~:&F-)um|Xoys nЌ"oATy oZ*"R*ųxUJ6s _囊s鹼" @ @ @ `_t@`ժUqeudEVI`|bMPEfڴp{Mܵ#ع#?oyx^N+`/tN UTYXb%}>V*k^͉ܹ* @ @ @ -6w @ Ȋ cWċ\k]Wro/xSY\q YSĎ/ˇ_w㓷J*8;ޥ"P +Z)sVJ'*X)dUUۼV<>s˼k) @ @ @`g @`Yj{}슫ȑͯ;JXxgq7, c5%L @ @ @T`@o4E @y"566t-7M!obvv6nϞ;/ Wj,UaT@V XͥyTKat*Q59VOך!LsE"ռx @ @ @z"`7nr @y%7qEb/_wJeVL tu4sјM:ڈq=hw6]=Zl̥W>,U1)!@ @ @ 0XVZ@a]<._ExqM7E^A`AZ፱{1:<3;b~4c1D}HFcY&F3nUEF҂Yukc(n\b7 @ @ @ IN**'0Tn|}\t#qöW \w嵗o$ @ @ @=a@ @ @ @ @  @ @ @ @ c  @ @ @ @\;-'@ @ @ @ @X= @ @ @ @ 0X;vZN @ @ @ @@z<'@ @ @ @ @`pw촜 @ @ @ @ `xTO @ @ @ @ ` i9 @ @ @ @= @ @ @ @ܱr @ @ @ @z, P= @ @ @ @+ 5c֖jFrxҾ?;6m~ Xڗc"e6s[ڶҾU>q}9M @ @ @/ }qllht_o94/Ǣ\ls?m+˱~m,mjJr,V*\ǹ Xt6 @ @ @辀Vɢ]{-FXs6mVm}9ϲeUm[i_EU٪_eKV8YҾ֦t @ @ @y_ָ~]wCeܨlQE?lқQ2_z>|iv.>n @ @ @Aԑks'&&{1!6Pq/y>rP EKF| <ξ-̿[ @ @ @`FZN/8fffbƍ΋jjٗh4bzz:LWW<r/){U ݢ/;+ @ @ @؞Q϶l;wgy3*C+_ RRJt]AmPK}_[tqsr @ @ @` ` u94<G}yEmO{t2;or9T}nS3N5q @ @ @X3D䗃b̗(0_J {!`B] @ @ @-0T @ @ @ @:' 9[% @ @ @ @ Pq @ @ @ @ 9* @ @ @ @ TGY 4~ϲ w_  @ @ @輀V@`~x_4A @ @ @ p-O5q @ @ @ @Z @ @ @ @ p֩& @ @ @ @ @`Q#M, +uYtuYves&@ @ @ @5ѹL @ @ @ @ ؂cg @ @ @ @tX@'@ @ @ @ @X[=#@ @ @ @ @XV< @ @ @ @ @ @ @ @0  @ @ @ @VuV @ @ @ @谀VO @ @ @ @@u;zF @ @ @ @@: x @ @ @ @+ Uݱ3 @ @ @ @:, a` @ @ @ @ P]ꎭ @ @ @ @ a+ @ @ @ @ `Uwl @ @ @ @ `uX @ @ @ @TW4-=!WIENDB`intake-0.6.5/docs/source/_static/images/gui_search.png000066400000000000000000003666301416666122400227650ustar00rootroot00000000000000PNG  IHDR `W IiCCPICC ProfileHWXS[RIhH RK E*I ĐD.*vuEWE\t-{Y{(ʺX&uͽΜ󟒹S˓JP]%Pt 'Rv|| 2|UB9$LRTVgJx*2 R%VR%T*MRi<,g!-$2A|Oqcg*1_d3sZTB˥yg;)cAɢ5þʝ4$qCN,PCREd=jʗs`b7/,bS#$y1}f8 1\!h]"'j8ke3q6dJSdH]"JJUQ)kC̔&Fm0'vFHPoPǦg"4|pՅ( n>O-B ;yG(3\@J5b]Ki^ "z+ME_<.H5?+-ORg&īA 0 82L}}z& d!ph=RU3xM%@>"4U_]@jH CAPyIFߠF|kʹP(yY:Öpb1AtM <8'k p0ā$.zY`.X@X ցjl;O`h p\: WOx0  # @lgEp$I@Ґ $ d. RF-H=3r9G:Cy|@1f:Eh4NC-EUhmBOh 11K8Xea2l>VUbuX# Xևlj8g.pG8/j|'ބ¯~3N0%8 \dB6aPIN8H8 "$}ӘF!!.#n$!'v$ɘL $őxBRii7 E {#d y1||z;iӭL"ͤfN3Csך5`XY-ZebXUS~KS(KvA+{dV{[S}ZYXLk`sǖbk+]o{]wvvO% u;P'/'SegYѹs aɘ17]h.l"LŮͮڌMjٱݼܶuwؽߣ'3sgq6W'oowwOOM_xe~~ /gK@n oh  !+2\(:D= ۑ~* =ϙ9E'W?Ȏhy<*&׌s'L7T4-:1:QS,u":q5Jb@7nMx_&'O8=anDF]oBV$MvHV$LMOy:k&_L3ISҷL nJTeSoLV9?#D_+95|fNLU__-.G-p~IV(ݬY%ŗf;^:IIDɏs99ms-.p{ޖm .Yp"E.v[zoRi-5+]Xm ee|y D} K? /TUTV|\_v{﫾Z}M++%+o ^sk&iZZ[Wܼ^*e͆>Vׄ5]Zv`M!7mDniJZmg~vHvtLyާ~ hw?ҸesO^W3~/z_~ld,oBf77ZZ:M8z_v<\sȊԣG8.=w"Dwی''vjҩѧϝ8s,s?.y]:ׯ۽ۛ.\nhyJWîƽvz7nݜzy_)3xw=½+>tywyңGw~1q'O=}=Ϥyr ً^z북o -gn{g?~x28#c'O?dɆ7 } R)Dx6U:z+Wo,ߎU pHYs%%IR$iTXtXML:com.adobe.xmp 512 2400 1 @IDATxUBB!BMB " *JQH.H& (iDAPCIB=ݽwnr{g3̙n|{Q) ( ( ( ( ( ( ( ( (i;+( ( ( ( ( ( ( ( ( D ( ( ( ( ( ( ( ( (M $) ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@P@0I8WS@P@P@P@P@P@P@P@P@ 3 ( ( ( ( ( ( ( ( 4)`Vp ( ( ( ( ( ( ( ( g@P@P@P@P@P@P@P@P@hR&\MP@P@P@P@P@P@P@P@0π ( ( ( ( ( ( ( ( (ФXM¹ ( ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@PIs5P@P@P@P@P@P@P@P@P,? ( ( ( ( ( ( ( ( (@`5 j ( ( ( ( ( ( ( ( (X~P@P@P@P@P@P@P@P@P@& jP@P@P@P@P@P@P@P@P@ ( ( ( ( ( ( ( ( (M $) ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@P@0I8WS@P@P@P@P@P@P@P@P@ 3 ( ( ( ( ( ( ( ( 4)`Vp ( ( ( ( ( ( ( ( g@P@P@P@P@P@P@P@P@hR&\MP@P@P@P@P@P@P@P@0π ( ( ( ( ( ( ( ( (ФXM¹ ( ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@PIs5P@P@P@P@P@P@P@P@P,? ( ( ( ( ( ( ( ( (@`5 j ( ( ( ( ( ( ( ( (X~P@P@P@P@P@P@P@P@P@& jP@P@P@P@P@P@P@P@P@ ( ( ( ( ( ( ( ( (M $) ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@P@0I8WS@P@P@P@P@P@P@P@P@ 3 ( ( ( ( ( ( ( ( 4)`Vp ( ( ( ( ( ( ( ( g@P@P@P@P@P@P@P@P@hR&\MP@P@P@P@P@P@P@P@0π ( ( ( ( ( ( ( ( (ФXM¹ ( ( ( ( ( ( ( ( (`P@P@P@P@P@P@P@P@PIs5P@P@P@P@P@P@P@P@P,? ( ( ( ( ( ( ( ( (@`5 j ( ( ( ( ( ( ( ( (@D0cƌ&3=* YۣU@P@P@P@P@#Ч4Ֆv0~p}uY'5bĈЧOxp {-nqXP@z>N>xN{G/炯}kaԨQ#T@UzYu0GqD:uj1C K,D1oN?*{b/׿/| a6*{Ȍ3UW]=3w îzp5^W_}5zŲ\0s1̲̎#{Wwp7XW\\xjҷo߰[暫+6/r=[PdGYx`s9a喫Yי ( toh];;0qb{Wzp ("3( A__# -P Ae})Ak]Ńn{o}X<$7y6l@;- ( ( ( ([ti0v"+H{)Y2bDZk^N-e]O@",ҩmXYP@$pq JuG ;moХP@nߺ;b{_&;ofrif.õ ( ( ( (@;5av ~hO=\G?~Ꭺ\P@Y.裏:~?򑏄w9|ck w6󝡀 (@w] ]n6Mz{Ev6 P@P@P@P@#0Z^')4L;m6󜡀 (7n\U8=g ]tQ{«!>g9 (@mފ6[o ?|{.sL}CYL40~_UkM 2Uy ( ( ( ( tZ.Kds5WiNϟBYs5袋WXape>\y?K/]?О0aBXl2,F ;KbF T,{72.8 /[newyy\xp7|3n{׎.~_ }}; O?t>|x_V,Y׿\pbxQ_~* ƴâ (б慀ae / /x>;qO~6|#7pCNs17"9sN-آn>1yp XS믿~<έڪoxπr-WϧW@輀Y~Tĉo{,~}뭷°aŠ+rߎZw= <8Nu]zZ8f̘7 SL |gpwo*^gu$. 봙f1"qnyj~#w} nz$s5o JGކz*\z饱4_2|~ibȑ1*xEO~򓡽:2s9|Fgb]vߣ҆x9c%]O{(G*\_n =tа6ۄZPP@P@P@PNݦT.ͨ\/+Y+fT.8gT›Q h8\@+c~g^X9c_fTnvΠ xO-ml*VurM}LRtM8rqMpZeFp+Jv[ޤIuoqgW-gr{FvUr+7gp Tv U͜viUӺT (@^?9+~#z3MWUn>} +ͧ+Bxw*35xק>5}٧/ͨX ׇzi |F4OٵX7?w~ݤWz>SygfTڭbQ@P@P@P@5T̎?+ARūa_?33m:.3Bv 2k+-Zk*YgYV MV%+f ; ώB[Wӟt~0oAr0 {`w]̍iy+YVyd 'W@褀['ߖ?6 GA$tm|~g1Rr Kpq'_|PIYr t ,@|6U48.: ?7vСCNyU8x'^x@P*.$(I)ܨos{E[n)o N›m02u,Q9sY6(b\vaEJ71hkW@*]3!('Tٵx"Vt˸@:lذX\dJ6|+m)s[|$ PW+㸜@T~Qz(M!w^9ҵNlpN+K+0zx~n۴ enq.zw˜1c9+nt*]UL(ٮҍk6czT>O~5l䣭;oڜCP@Nx~ 1+PoxKjV%9mJ%],>^zb]~=3^; 4(+ 9䐸Iݔ3>(`<@W/֣>Ovb}kq52m xKIl7{p]L|ol&~pR!6xq]*?>dJz-M/< ٺoI ( ( ( (-%r,LtG=ׯ_YC!CȺSOajkt>7;$Hvrs„ a1}aیsQ+r /|w[ڗl]oԩUlVU3Iޭ*vnL!p,os7.m2o"?S~ `o>s#<_>_u]6[v-vzq,biԡ (@n "#aϹ+ J1o喋AyCdjeZwr[9o|E {7a+{%\0ΓE5X#PNy^G6cQ@/緤O Q~_|Ӣ)s/KjkyX9_>dQʃvaLK< GOwy7v^΃V:묓֭Aa|wLߙxE˫SZC,Y/:Sm 6 .Uwú ( ( ( (ԄB44dȐ"#mMvw}.7l_z饎V|7)P*wTw,f.`=hib`W6f楬ZL.Jm]D}'Ӭ8ġ| X\iZ(v#?xq\(aCP}?c7tW[^2tT馛ƬOn4w״5] yf2, m]u',/dY;P>#;ke$$TsW?YP@fN[o"Ct3Y~/9^~zk߄i +Df]q !ણB^XγKVTfo~S5AP93\E!&: ( ( ( (".] c?L*]pћznb$8d(]v٘5R^/_6+(|m}٧5TK_Rqᰡ:6RQ&KiYj>.!+e nMWXtݐw1PP@Os1?~_Ʈaz 7 .Ms=7`r@SZV+ڭ\ͽr)\sr ΃kHR <+F6qy ( x~3[n| &pNͨJ+5^ɚd.CGiyk 5T<֕ٙ駟~z t*TTu! TIr2nË`12PEP@P@P@P]EsS/ Æ \86mZ "-?AX\8e|=K u8^n>R EY$fB%/,0M̎ab-7UnkjAh[lE|_Ҽ;/>JZW<KwDj!m^3L%<{]wUeh{,uѸ^|) F z.ɰvᇷ,d0![ sP@㼝ZkUd_kXu ' rmх^8͊tT52A&rIZmo*8eHɻMj ˁ)jG7;M/1]iv!1~p.Tp (@K;Zwk_m10.;>9o[ ʻjNo\GΥD]5FK+ ^]s5 ]ˁy0`@ + ( ( ( 4/В,YȅQ.D0 йGR$:0˧U^4Li\4;V]ux\m uY(|9Zܳ:M+b<UG{nʦ ~6EV /jtHFf4ZyGULmL(pcX,缯rw]F*!Oʞ}ٱ[n%]OzZ#<2PP ŨJw6;(sf]1 @"1)߳wf+gtKnTNTwVζ;]j_鎻X`V7) ( ( (s@u_y]xܼ_\"CXb-!Cғ)Щ<¦ujS#F֨ACkpS(Rv iWk9E>AS8-2W?O}*j+?yJWܭHܧčo}[EuSƒ:;{VZvꩧyoNӡyI_;ꨣU L#3KzX6ۄc9&s=.KrP@9YNdG |ϨU)}_9\ OtKȈrYXْo7 w}7( Yʅs)RN@\_ o~6vkù6^_P@O۬;%ɓ'^VtL؍| z;7ӆ\TNrw8 VmhN8.a˟|Yu&uuY7k?! ]mK uV@P@P@P@9`qA D ą7. ?e]6fbEJnX7.i~'Ӵ tE9ndm}3d$A4taRӰ}lO>\H\2.YCχO?=s`VN7\ϻ8<zg?Yxrx.Ӿ슊m*. "Ə_BݱcǖWqZP  / Υr@UJ\{ Tvۥ6C2QԕJ95w>%cȑ#|Wg1~W=`]wͫWs~z<'tR̜8Sju LEP9o!Vi!w Ț]+&uoxSz7l%xk ݹpNhNrV(^l\+ +hI3EP@P@P@P@ ti,+e(bLQd7"7D 2H6ZPuK^ V*'vdzc 67n\EX?䒦g$݈mdܘ=Cr//\lKr "s8R;|ӜyUynǹ@\\'M4<{T'cZNʅ \σڨCضn[ (@&@_6eUڌ guVlwy<Ț`$1r}moQN2Srwmd"0W˙$OU_W{u, (V߬+oߧy؞g-ݢrW~7;DGJ Bo,Kmpeʔ)q֏㐺Nup7 bysӶ* ( ( ( 4'eXBPH\<{#n&O^z0}0pxl p,+m|_aq5X#|+x3uCYű>3 dl^l{G7M\(%sw^a/:(|!.l'ګnsN?C>{nNwcXPfs^@LWP ǁ\/}1'NKaHwtP~7ݼ;Ʒ^a[rJ|( /+d+HuYM2bqS_^=ku?v;XK8^psEՂ|7!0sEB1AkvUVX!ȬKݼzꩱ;?)p( ̜緶~8ᄊ{=v.Pk<,o|.&54#>z ͚򱵷|YFyiC/&+x{ٛ&.&O$Hiehn#fȸ[n"^sp / [|^|ŘG-*dGml4dg'] 6+]<3MVꂁ!4j5>[q][dFRP@P휛Ӌ oV&Vy/B \d2d*a*W9M62g_{ΩSv*u>F3/{sq9˩hf:OPA+o;^@2?s̓ jv_k| ǿjٝN]xm"]P}5d(矏ʸg^[o*- ( ( ( (N`R@XEf+g|E&%.q %nD Cp FmYNB7O'w%xq0+ H+Iwb\=zt -=Y68NnOBRsnuQG 3rVe|+EF\x3 P@P@P@9T[nP9|r[xᅛYuNvaNC4Ce6 ( ( ( (-kҀ E@R)Or,_QDICm6 vb)钐E 6,,66mc>yB'WD VyrpE&`2JA6]6O |LUr[ 2$\Um",Y 駟^_jZ ( ( (s;3A7s\ct3۪ע&ET>㵠g}6vɜ1ZO| ( ( ( (sL`."^b*R袏.zRv((rQ=\ +.ò<)0@1E +sK-";]pL/x "vmh3zwbpYgf%@&4ڢadxUн~Z ( ( ()pEŮ9xʹpMho4fxI'Ň,p ( ( ( ('ХX\"HLQW G`Rdz뭷´ib0K6ċX[mUѽY&O\d")m/ ;AW>w|5f̘|5||EV,ExN%ou1 5>[\T\veaw^zi2jԨEefYP@P@P@P ;>}z8Cm&⊖fj.T@P@P@P@v3g}"\s|<|bv,IYE:w_~1*AEyW䙰}Or૴ ~jU|AW?&MLp,dxZk.(iiAS]܍K?&LmV JlݍoSP@P@P@P>8|__|qx衇] jݿFEY-XP@P@P@P`N,RQ @ [.b(ezc+"E`#<ISzշoߘ1 S&*Vz:E;()٪V^y؎#G2_|O/npmŋpdHv .`E9h#aUzzIGO# ( ( ( (u ( ( ( ( 4,0X,"` D"3P`EANB ȃ ¢~ZmWl1hjĈUWdw}w׿/Ƕ ^7V\qu!J!+V#m8- ( ( ( ( ( ( ( ( (s9Rf)!T<[?xo~;vGp *^y啸 &QEP̷6x;1z)`*e"X@cdžQFW?WO=TÍ7xK/v+C;9FRѓjѱ B( ;ָ( ( ( ( ( ( ( ( (@ X< 0 fbY`E(I{+B#$ Ѝ[y&,kEP}ن2a!/eWPn zc{'zE+/ 3__?tq#7I툍P@P@P@P@P@P@P@P@]+)'SLXd" &iLXSN٭Ī Z(fj$VjR7Wƍ|"ۤ-JA.S櫴tɡ ( ( ( ( ( ( ( ( .ˀ8:X^?'%e"Љn h"AX<AW)(i;7˄E8uSwM噯h] ҎiӦnp})S0tH.^92f}y| ( ( ( ( ( ( ( (G! %R ٢ZjV[*lE&,֥{ &k&fb*Ő2$lvCoQp|C!ુ6lX }! d"W_$ƾCV^y0f̘|5|}a:x? ( ( ( ( ( ( ( ( (ЫZP =<3믏z衘W+mLW_oQ@P@P@P@P@P@P@P@Pw 4 G+죐 B`]{1SjxGb`Ӣ._96mZDֻ趰^|EXƏȦU|WXQ@P@P@P@P@P@P@P@P@^-,J" !C2X,uGr AP&M ^{mʄ5z ٬"pkĈ1z]v67n\^x}aʠrNW - ( ( ( ( ( ( ( ( (0g̒,(S`R b^ʄŲ ZhE!m.wް (dbiѭ W뮻n jUV 3_vm\_|F24UP@P@P@P@P@P@P@P@hY2Q5@.g¢n b9LX'Nl kE ?C&l[lEꫯYf+% ~{xcՇ~H_ 80?veH? ( ( ( ( ( ( ( ( (PXEIXjqYLX~ e>(j5x 6,*b,@IDAT7Q}aW K-TXp<Jc)ȬU|2hc P@P@P@P@P@P@P@P@cfy2a1.b@VD&,ULXIM4)fš:uj "X*eJ] AR^!:_噯vGWy+景v~h_z1TP@P@P@P@P@P@P@P@fK-HV)`E EF+^}%!.TETi?i=WJj 6_WdJ5 ] ( ( ( ( ( ( ( (sl &2[Ԕ6 2*}٘ ( zꩧ_ט " . ֢ O뮻.~1WWdZuUرcz/d +P@P@P@P@P@P@P@P@P`XDIX癰MVIAX)Y{챸.Wl_<@? 2_u]1jԵ!u }|3`-aAW_ ֵ( ( ( ( ( ( ( ( (4+uiHۦO^@Հb@xQRVoV:ujx7g[sg* JΙ6s>%$=x~mW@NߺN-) ( ( ( ( 4#8hRP઎7כycUo>FMP9]vVky~oW@@O>ucV ( ( ( ( 1"w+`ue/OaԠE]4ׯ-0aBc (0S/LV;W^y%KqB -V\qTG =F* x~ ( ( ( ( (AT/z}uxZӼ|YaWl3FW@}2u#]M ><߿͸ (@/A'N =%^PP@. .p3 ~; 7_|͒v)<6}z8wK.$:4l0|vWkF1bL>]/| a3M7K'ߺ\\qd]X[&c9&G>u!tPvmb--22GP@P@P@P@z@rFolgf֭Ֆ|l;vg872)knp,h>"?ixgzW;?>^w8?~{HV`VA \SSk[띣iOF7HlIz駫ѸG?Xܤ|3)^xᅐ?,2q_oqIK'O8(? t?tHB[Ԍ׿+r3p ڽn'?ICYIP@P@P@Pw;QHpSsKf:j]ՈUG-/0jԨz'zay (L sE:w[MPN:{NAE@:WsGl%oF2uvW_~ ( ( ( (@C=UCc% lva嗏͕믵Z;N4dȐN) (I9GwM$]C&:4;<iS)Nm- (=_+UW]5Qxׯp@%t kv'>Q{LJ+2nsd&0a„;>O/ob>裏.槑~aJq._Ǎl7_Xs5kرaذaU'~-㡽,XȠHtY=au {WlGy3<ɠy wdQlL4l~6]bZlGOS|~@ldˆd{3Fr 6[mUԧ>>y} ?W_}h̓Q ~~6:|Vgt+?@y;dP#6AjSO=5~YvRg~vǔ!8'3/}ف@^|󟏖yĉg;&lWnbwC&?0l7s>am gqF >3&pE4{چCP@P@P@P7U270ssO@oRr+.(?3.X'SS]tQ;/yq(=E 1U6J~^}G7{[9 p3B|yW_|EB1Ml/5PZ`N;B ]@]wݵjc ?sW'o~sϸݭ yfA{M~4ѐ  e=\>j| ^xa fZM`p>6Gy?,U8_FYr衇u39xU "OdB YN;/_3RT#g*GqD׿ܓ Lt?<=wd2O5GK,y^ }OPj~_@X lma8ou6O2%~饗r1'H˅MS .V6kVP pn79Y/8GKs /xq 1SO7d ; h6#`դ ^C07Xu yq[lc3]2(zrꫫȤĶ87<0K}`?_eUbk6;WKi!PT=Sr΍g I&A-AnBkZu#3 |\IÖmcV,W{Eƪ-"IWiyys w",{~!,sL X|g" w#GVͯS!Yc7xc{^x&pH[o&Ma#u9'd7Orcpu<ɵ^wzsN- {A_qC9?qG ( ( ( `zE@o+))\"-'^\4IZqWP@^! 2n2^p5`pl^ꝣŶ[lpe/1k#ɀz _nR _BMsn>mô ܬ/n2rFt]֔5: Ōu8|.MFcGRd |_(wMDYF"BvʅdJ7強ܠ$rs=7"SNH"?|d<+_ N2%+pN ("cAy!uS!/aR7J !֮^3PN8!Vo}X T{vtIivCqp l//oߩTL2twD+s 9 KM74Ő 1+_PCJim^rOWG.(Ewdk*>px_0`@]/Mve`T<$n~O<1q6AH<(w.덧lw\O;TcyСCcW|+'J&4$xm!鲒pEZ |fI/>V|GP@P@P@s^ |U ŅVn(_-Ayy&'PS7Ec( .nWd= 7*hH-|OX~cE! Ar(d&s*:׸JWDFWt(@Hݳs 9;Ru]hՐaR>cWYg)wVo;Χ{E(H%2ι* Ƽ*cƌi< sf^,$Sc*ywymWr"(:ُR\̐xA`%9߫Rof gԭ zx{wz7X }3cIV9ȨJ~MAty~zߊ{jCP@P@P@P S߹^7<;Q.0'󧬋|dfi~. SVW?9l (to8p͹@G}lsH~)M})aPJꆆqnWJLUd$!p:!MKTv N7 JȻ&$n&QΫ^q]5 nl#R(o#M,5Ls:F?7aBXdJ%x7[TZV6lX1;_Hc) %)48U[/Js0Tq]^G`f AYluR1u^se]4*v19_d̿LӧOO-p^w}JGGYRǥgYPP@P@P@`w;ݤ-7ESV{OdNFSx*ěM8T@ OrCYL,mzC[ly& yW3y_^5fmiź[7\/e#+fTF8O/VVZ)`Qwڴi `-Yvm'k3sK`„  **Fz]tbrWzłH{ݳj+,ᐩ0y*eT3m^j2ړ4烎JGAIuٵ<]2(ے˘@ȖM@dBK٧=z6a H}c͇:i/t|+A;qX^9|^>l=P@P@P@P@,`V~zCpdH =aCX=l (@"#Lw}w`ypM7Ůbu͵^zLNu^ m.d?L?pȳ*#vdҤIkt3/3S2rL7mi$ Z%e`*7RFUtt.>GtmK ̳4r j<P@P@P@P' Փޭ^V)ˇӾ`sO,N7{mV@>'xb슮ۙPmsL3Rx &]C+7St7X42K.ooK/ {Cn-q(@T!CU#I%ϚeiHp*`4v /[z蒮VpX޴O~׎1"|*-<|\⊂7`b:݊Bv믿>n_VQ*3N׉74(snSP@P@P@z/{#AM)k5':)yYN+ (r?| 67薖 W[m3]y\nKP@P@P@fFugZ YX|()O{Ev2P@h[l~v &]',*UVYhpEuJ7ދg7SyrL_e&.~_G}4\r%nRɨ?Mp (Ѝ肔n)^xa-_t1x=T3ѥ_@KE2pnJe-H]>̃QIcHtYR9CŒ3d!v-f#xWV Fjgs.۷o2J<@;y;3yZVƍ `>xY.K!m?4Bwʩ\}i]?i1#P@P@P@P@f jVD`„ 5s+B#8Qknϙ ( Rw-n?qoon>ílFKDAf;,|{ |KƗ_~7钰Vjnvذw8BƕW^B76/#G,&H+2gsG],7Br'O.^yemo}zI/_b}k?dűÇ^zi8#c"o|\eAO]>sL*ft)S7*sUnWP@P@P@zX==Gp1Ǵ۳>8vء/obs#{ZQ.u (=C rAC~8:oVk\juSkY9ou։#țv7\s~L]!bD8AvZl)y`Āff׮=LIS Mw}{@O8Q}+R\FwL?1'r ݧpA[hrC=4xC>}b6O>9,a뭷.YYӟtQm+rQɑ_!uGL#!N1;fﶫmaw{ШQ|x1esu;s :fY`袋=3~֪5-N"o|޾կY3(q=|b@&UT#_&*@+tI&o,s罕n[P@P@P@zX='cvo=bq t3@=zttWO w}w|ʓ'lyBw`R[.AD0"JE^1\ P1a9 9rͨ1k@ Wgvvv6{gotRgK#TBBMa- aܣP; #G,(ѰaQÍtرyƌn_Nwy9ꨣLR!t\R Ե^BĘ[jh"hV -Rꈕ>\%< oĔz4i &ա?yKJ.W5m'3re3 oG,&LpU열dRT;WBʡ[ϯ6v+qӾ/79jCث2~3M×˷MK[o1Qvu {<]KRFKsC4h= 9k?y}^~euLDv\"?18xȎC Hu5i '_qI&zO> @ @(gRγaeI@*'i /:ZZGM]p͏?g9GmQȋdE5N%@hpl|tQZ²SݺusL tr}]`-Vy~_|ر߭7֭[s9'89% ^J­L0vۙÇ]7S-hI/~1@ի a+9!r*O2mLGg) KFac݋V^ye'~ViR2jFarxu?-b) s_Y:>j(UVX2%ӏVBȻӧO}߯~6rѼOvazk^8_~'d'U%grxR` nl^' @ zK`>z;:Vk^uWU3kdRSa`%%\Ҧ)'9s8 9t 6P`W/m vC1@%%+M:Fu[[㌟o} ;(W\=״M;hR*X1_o(e =UN:؁㯿2SNu7tCWꪺߝsT W9yd!eRn '+ @ @#YicR 6QFgϞ/ @fm)qۜ9Y9H^3sέXqK駟6젃rw9B6a„PQ4IV\7C @ @ @hLpjLgB Z&pɰ{{-iȬ\wu{)[<8c(/]9Yف @ @ @ť@ PcnfϞ]T]v-^JlI8q}NL{7ͣ>:4I@ @ @ @  @@lժ_;v4^{4hkvرFu]Gl!@ @ @ JT,dB 4Dm7n[oe>sӲeKZkp뮻Yveԙ @ @ @@ , @@$RK1*@ @ @ #ФF̀!@ @ @ @ (`ՓXѥK2U @ϷFt* @ @ @PJa @ @ @ @@p* @ @ @ @ $0]@ @@}&PQQaf͚آE Ӵi<\ ?3gfz%'4;3gΜ_|q"dח?n8 -oJ2~_fp4J# @ Z$V-¦+@ 裏u]>SN-M@LI@w}wnꫯ:'9*yu3"{-9jW6m7n\aVO?tӡCO~:lW~ذaz2eJQmCo6|_y啬)mYu.Ҭdo9~BV6ex%2=׎<Ȳ7 @ Pi @I`FJ Zرcrqg5t꥗^2ڵn@ ,0 q ]wѬzUwѺ߽gs1_~y?olSMV2r({}C9f/8]p#y Ƭt*ErX=ȉe˖SNNSeUT粚4 @ Z#V#@ Po?ӹsgөS  {`O4C]wg~8cH9IN5+ַ!6L<90oJ{G]p \dȇ @ R_h6 @ P _}3tPӲ.[ = #V[H)Q֭[B9.@O8|w]+D矟WN9ss=MϞ=Yfʦ xfw9&Md_,X{5pQ @ ` `O- @ ka @,Bf6W+XjРAk5~y+\ʙ{>ɤκ#:N @ zJzzb @E4|~i'^{寰 fr% &?,Ϗ K/f͚ی3+bx 0*K/Yioo7o-*iӦo&7nKôl2+o/0kvLݝ"C裏\}9H0Էbl`s_Q谹s.]AcZjնyC9vqhiV}[z>vm7tEY=_N;b[չ+\) s=g^}UǺwCbѐѻO<4`_1cƸ5>9`)CY9`UW;qw];R咓[lahtNJef2^o^xC.oĈ_~q;8?]K{Yb%r_~5צMwmvA+oex:tuo]ߓ7"ϫxyq=vX׎zֹI O=T=Bk>k&t[=]BmD$ݓUW߭]:<6Ҟk?O'tEATvm7#M  @9* Pryn8 Z>vqb]w >_[p[af^aB>] e]FHVRKq_64_]((_Gھ IRas]~+^|P.Wh~C |.L*']B|nT6Лo9ڞtIwܑڔu(\\_i@_aR~*䬫[ouj]W處7?}u> J?#u?[rKV8CsRy=Wڧ~q5,[fŎ]d*Ӷ*l0;:x. /,{ǻqw,|ViUv5O:d m<_%u뿳:gqqZLc*iq2eJft:O9{:ꝰ:fڲ j:#׻ޕgunu 뮜s9s9ʕkTsgqFuY=/dv=^A @@&3Q$@ P=zr*j.J_8*[NRҰ~a{t"qw_[6,v)%~9Ed"@IDATR:M7en_ Ӽ5)r2m4]tQcST5db.~Wn& Bh}Y{.:5xX'p,-[oe*nfNJ M/B)3I)V+mvawuKiJ*8_*ף> }xk"Ud։H G"j_ ٤Iڑj̤\^FcImE㭊IUEf=ܵYNH}~ᇎiRv ',=<&z狹m>b.՜X!SK LcќÆSRN.}}Fx.O3zW)D&W5c)5mԽKjBBsYܓ͜9X'|G/[nmt{Wjӻ޿j?RϭTwlذa۫ک}ݧtk;묳ʫ|RnO.K**Wp.ss=ZźVʂ"%7)Zp;S~:]#=4UJҞhݣ$u 7n|mmus3Aꌺ,<)I7ޟK]RE*GJz<3 @ FJq1{O>ۏ- _ܨqƊL| /N]0}/bKdu듦&b3,%O2~A_K1D6{ rܷ+rWEf SIaÏEuᇇv.1RRg-]Џ" 4G:΄TNbK1 Xzn؅P.l=:J7u~ ϝ@te3H}YRQRҩw 0KlR*Y!|C[y,[О͏oǒ n1We챂ԻlЏuPCu[:f|.J+V[;L +䟪py,ߟas?RN/yɝ*`%_xa!?y8c_׸Tw7L|=~!(_ѶuBɸJN؉rmm=lPzc}#{[&9X'03L *.1C*T}? ][I9;%VM-ly+: ߸݋.(sύ @ FF @(!ن~rjOjV 6d\/v˩hG֯eRo駟\3qt) #G:e<@sǚ^XNi VGIS7qKVم0-j*ocݮI :uW8[@ RӐI!D&yNy#΋ӏ=SPu1;E,%R&%!yvPOqVHGF82=ߤdq%N$- 1t:R9N!mTSw?5b{vjgFdzw_c5BQi8#!,]:dog:cec_oi:K+iM׮];{(:gla @ x {f@@ Ђb-պBɱHN:R9Pq.( 7Fr"iX|] p~A˗)VaN6pC{!+Rwr Geڴi꓀ А .}Y1vi>+ckՍ¾3ƍ ZiI ױmjL 4go;yؼy|+=A*-WI7ߡCRP R_L!)w@y*dɓ'dVΙtL2%NaLl#'욶z*t;ZV09ZV46r%j^;sM.;-V)tiMoy;vXmjsK9P%Ma2R̪fY C|Lϵ=G.lwnPפ}r@YUP'0 cԗVQor:TM}0@ @hpj瞙C PCVZiԖ;wmwl#WN 6Nt@2m裏v8Қ>Zp_χ~hb1:N%s4RS@!\r9ϓuvqdέZL2 ,BZdrso߾f7zrHV_}\ _{ki&9 9[ +`‰T+Xbb_3iNΫ[;$U9[vYl#ZTDjTk99jy-ءwԴ 癚_L)#Յf1cbᆴUb=JiG\VR KLZ6ЩJa0Ps  @8 fz >HYhr ZD1cѢכo&ξOւuSӔ*TM!voյB\qanr: jJʕ@ZOʧ ;j[j Q',NN]})(X'|K;ȵX_`%bK-XK :LCXr={vV<Ջ痫?w\s!fcǎq,9٭sU4/]?#^ q7t숔K!>5l[jR杀}v̘1Y!)d{&R8 N}6'pSv9*y!@ @ǀC :';1}.}뭷?[n[S>qCT[-HW_S0a5jQP̏Mye @CNĿx7#+\CJ˩jyw/J_Hd+(mS>uԐ߾}r-fB^]Mie/UBMj\MUwbRՓ,V~~Ms8>+3v\ʕIKI/ k+;, y$e]6_ 8gD.ڵk8~(P}=PsiZqH +; rK7.kZd\B-YeϜ93L)3k; $WhHdZ*nS*z뮻"ɏýə>w9sPw&ގŪ^2qHմkQ vOc9,˙)-ĉ/[6v҂_LrkeKY/vʊ6 zAeJF-Ǧ0K~{q'U? ){$UC?2ұBW ;ir$I39ie2OYHm?^lPsswJ4k&7_PȄBϫV{wSwgm =:cK.aXqΪP7oRK~W1m?SpqL֚߳^g̘Ս7ޘQ;;v -HѰ&M!Ov[ׅ~ga.9 䋚4p vڅ]wܹsC6ӧy衇B]?7eh 7`ZnmᝲtC 0 @ @˖-͐!C"90>qDӻwSV /ЕGF >B޼~6m8ŸAȡGNR}Z&G-=#B6,}BSaT&/ICj">YmՌ Jm'<+$裏:F# 1iBc9& 1J7r">묳#G}Ɩ Y|SO=ƭk6]t;.!T*D UDӦ0aIbUݼjܵ;59Ħ~ E|{@(P;[njck9V^wD׬J><[[^zڝ>I'pӓbe7d#>qWT#ZrӻI=JR+9Wj7СT›M7={{N:;U,N}drT;33Ya׵B @@#&`@2 @ܨqZe J>v!]e/S>ZNva+?E֜z:We7yd׌ u, QaC\aÉTX%gUd"-آ.v21o$!Pύ|Nzd;j: UXÂ>Zu_tӮt:rԱˌuJ2ϑu駟^vee7bZ|V::giœrқniF}]+ͬKh߆X*駟|j^YaNX]+Mh3fk'rNlAj_:'[}fizuϬSxq&ޯHܗV,u ǓuoʞU?W7WwN)Y' @ʆ Xt  T@ӦMDfRǿW~Ǭ@Pو s饗gW+-%+3L#F26Ro7HBYޮ [i.2ab޹XFH@(3Z2/y睳F.~:CpOCkc~|8tL {/﷪'s=gn%Xe%.(Ր=3 &M8 0!IDcOcy睗.8E$YjNؕVx=P5e.4aq,>rғ:O+ߛO @ 8'W1Uf5;k+1@#P.ύrg|Y)\tZӦM+AhIm/6/@q3gs\a Shl C @ʌ@l  WRQ(?٦nZ2+wQF)YeK\*W @ |Nj7SN9J6hРP @ @A8O L`]vqƏoIvI'tG}ׯ_QmEգ @ 79XIVڭB+.J*W"@ @@Y,N @!8qbXp<}tZ)U8Ò @ H4k,w5Ķ{.??es! @ @(5_g1B Р &M2۷7n߿/ G{m /\ǘ @`u5?SR8B)b)[nNjVkd  @ Iyޙ5 @gYFP @o8'ά!Z%ЪU+[jt@ @@hR] @ @ @ @ Iy^ @ @ @ @ P pt@ @ @ @ 4L8`5ʬ @ @ @ @ Z V-@ @ @ @ @ @aaNYA 4d}yn;Ӯ]<0''|7|栃2.h8F @ @ @nU7 ӧ9tرN:$ ⥗^j4X2dcߧOkys@nTTTYf[ha6mZ7W@ /~_L}5k4o<fmj^?\1juHe@ @ P8`"M@ .5XAsuV$JNSO m|f-4[vy-\8F @ @Sf@@|z^wuo>kVXZ[nI@KC$ .;6t(YfF6c +-6O:,fV2oi޼y\~jMfPܸq.ݣGӲeːom4/͵]v{gϞs׼+/暦Emigĉf޼yf0:t0/>}+$br ʯi9i$#/ݻYeUr6+> ;矛_,2cǎf-HWP1_~yͻ8]gߊ{gz-]v5m/hX fvmX3e6zAs9nR}Uuz @ @@c#Vc; !0fsA4dswg>n4m( T>}/}f%̪;%3O<ʼ f]v1}] 馛\>#e]QUTɓ'$v3=;GNL7|sofvuWW_bvgTCoVXbyKy(FBc:͵^ʀu]ئ*",b.Bsg/?߈[o=ꫯU_W\qEÛ?(G~9-rҵ,6 hX䘋A5G ~vc 6ؠ1N9C @ G,.@ Pbz NErV?S .r7cǚ}ץް+ orBSl\rl͛orUIj*gJ4oE\ri|ǦK.fE5rSq13:묣]"%>Lֹsg[9sbWPrb򖟃ƫPB^ziWrbvt9\y+?_mIZ+^M6mYg(!=CMsNpۓO>i_i@7R=cM61;cA#c=UvK}$ Yrml9ѣG;eG)JL_:F)yk_xᅓ]fKIQmHPJRCb%{챇\}98{Jڿ+6l9>w/{~hL!:~x룹jRnҦ72;>(+l1]w{ws=KP>u?/{ B\9k¾U{TUjDuNP̪7Xu 2wx֬YK-Tȿ+;6{ )] d{v5Naa,*g*?p:eT Wa #8"NubbX pW\† ڐ:oEuw:.<݆ ut]8.._6:a򾞶Vq1-U"}=PlۼՖuن [a28SZu~~{駇F =}ٴm{o'~&U o狧nmXݬQjd㕜uQ<{PڷY O_:йuǮbBq]w\f0SY\UB~uq! @ @A?. @@ X(~95kTNRJ믝 B[@裏',Sxu"}H5J6rvP#Rx ;HI,eJs=& 8tP7fMԿcR’R{((NwfΜiCChV*/q.)Gwq3pe4!txSEY&u)G\r%NEJdފV\㯳&M=)H_g;vtդ%騣 )ΛCbQ4Ga@ t-.OWf+S&OxnB +U$n#u#L^ut*W~cuu/W^jJRJSYzߙg~k΅q(DLkMRB ,SURlJ Vb 5'2ƽ+c{SN0FsڑاBjBUuru1cFVu3Hћ9k1I M*:/zLja'&}G*GBכk$E1B\}JqJtѨQ\ZחbYҬS6l˶Qfwwjm:?;:b6mGydMνTE9CC&-] ,ܾ oxI..bykiMʤy[G5\6+H"VƊ+jF6xt]wezK+ѳ@uQ[4\a*- 4(JGW [6M+)q%͆s*O沫*9nRJԛ9BU\2։BL +Œڏ/Uu (fC:z:߆箘K16)&ؤ叩~RMeu^f5L&P}3WZW Xs:5LJRӺ~}yqK^6q8w\+`=cZȌBjO߿uٛK{ʈm!۫L&q2 @ @& ew @$+'v9ƪ64]PV Fj2d.*>I#u42@ʔ*OsG*lNϤlb`r衇:5|uKq> Hu#ڶmkU!OID&hRT%\ѥKx7c1ELҢE #54N![ jyױHn{Lm^{.^u@*z~_*H ,Q砃2ƩXsE9(_Hޤ׷o_R ua /s:Q祔 陯s:c3i}1$:kK)_x㍦yŚ6mjT4UR0JIqO4tU5N8!4+ril^3 =r=v$jY)z-;b}Q -r[jGc5:s9NNeDji'__qEMJ @ @ "V$ @(֭[W9l)U+2 @ u~}} Vi"RHk:/aa-*kV14 ɴxTxΪZU1-$Z z4SM2%d~3 }r0pIw|3vZP+`*ɓ'nݺ(`Ma˼#vwz>!z7)])Tͪ!;BNclPzWW^ ]iƅ~qGËMҪZf9qi:l*iYD@DNü"j~dU S8`)tg*8Oa޽,ѻN>J57ځ @ @q7f@JF@J U5JK&GwHm[+*ŪZl]lmð@Ф\i6$nU+1-{k߾OV՘7pÌrR$)[_|}m2dYZhѣGϕȥ䖫<@i;vLmb6\(vw}*3XR{znT>WY?q~37tSPק cs\sPAةEcUء*'֤I2t@[o=)5+];z2UFe;g TOAϞ= ˑ)g}ؗC\N//6ND!ɪzK-irS6v\U=s< @ @H#V @@-]Z֭/~/at"V_B|X-l3m_RqX믿.FM>'Sj#v2󅔧J)rԤ!}Ԯ^q„ ΁ ;P#0I.+il}xSˏ-;* H 妃5}O _"$CIͱ2geq9_m&VRz&l cԩ!_+MY)|b,LbYz-WXc\4@V)l29rKic[m՜!CҒBrn(sJ;]/rSLrwSAq\u*ˏW٘9@ @ !ФB @Y C(|ߌqX9-~)dL)dΤ!Ur.'vRǏۓ-뮮;찼uKqk׮^x!رc{̞=ۼKG|?g_B1cjZ!cbE-s=oj@ 46-/gV[&YNgwx]ZOОAgΜYB6',?|Gy$k|r9rSii|HK*giwӌ3|ᙥz8ѣӪmK,ƞ+$`ayCjWj,=.ɇ @ @U!VUhQ  ;n԰ۇ*}s ڗ3S8]GBЏE>W^yJkuZ"_D"mݖURO?Ѽ{g-"éM&1_+}-?_حwBv.*-~n' Տj1R_{+mX=)('/CS_{v\;Ok+#ze-f_\uw!sUaڴiUPׯ%+"w}ׅUW*P3zkrwjYPz.KA-sRSpre9>vUr:GA @ 8 8; @7pݳgO +=Âga.)' -X4(Ms h׮](}u-ϝ;7,]w/g}Džܴ?C.<;e!B&)ZBK&N蜪%W_}_eU%)CT73fpu vAEhWi|;njl7xcXy8W_h AOթ_|1uRI;_II&5$9k .`{tMwc߯ƍwG4gΜ22w ||{nW?>TBzN |!/!.wʛRdLsQa?g]>bkB1W* M q?ch؏b8_@rw#Ku㭜ܭbұIRLr)+G>m9㊝3 @ @hpjYB P6*&G4B2tjK/͹Ue+%A*;b3`8+l~ZUx"9cySš|t2VeZ~駍l-4Z֭[8,dz;/ 2/TPd5R?I6"ny73T*@ 0dת *)Jwޕ($9jş3gzrR5kVmR@^.g,믝srê쓴/8q=CFR ={;c9;}d߫S&0H&oGyS7o . dp Qן{!vRtĎr{9sɱGNN>sI::S[cƌ1z~BZ}VZH1)6fIJyn_~S:#Bؙgջ΍Q]r4;C; lMƵ.)S87d03<9M'L ){]MSS=%y/ҽ+ẏj.= @ 'Ob,uCv׮+ ryn8㓯V-B'^Ȏ%Z`-k׮'YѢ[oWQZ:Tn_|a>*ꪫ:j8~:—Bi^dy@ P\ T1jbR+тʤZ"5\35e}PH<7tzUfwqS )]D\&NuYat'p8JKE]d@Tɡ*yKO?:g螫W.`swtMI)!ڷ' 6șX&u&&M [2;c_Yf.,B9.+=||wiw>?cH*Zar {9餓*VNr>PRL3PV\UZ=)`ב]ڇ.em{TV{\~8@ @߫au5 @ɛ 5)ŪFzr&R(bLG:u UÕ>cǎFRО@IDAT6U-(0G #O!&|N#VHY/e,2pFU! (%$eA,͑5-/n#N+ߤ߂iǓmjcRIiyL#ÇgQ}JޚTW*CR7n\IU甯ܹ?~SlJ:1i>zs=+WR3}ѬnUh\vs&u=3Ưs%\t 69*KSti=z?:t c)rMTۧ~z^+_26>q:_={tК 7G!(uHm,>RRi4qti: s\ƹ.u)ghM㏛}}ơbL||HbFz7jeTT#Tryn4L @ @@"@t2  @I@&RP0tR OC59QAB@lAUdׯ q @ @ N9 @0`4i ׷!2@@$0gW_=7 @ @ 5@gY#{@@$ЪU+3dȐ'ߣGR @ @h8pj8璙@ @ Pr:P @ @ 4" @ @ @ @ !V!(@ @ @ @ @ X)PȂ @ @ @ @ P D@ @ @ @ @)O#  @U&/ѣG :5\mP @ @ @Fr;c SSL1xy睇V==O  @ @ @p*-OZ @ @@xG_.kXc<;/m&M̖[ni @ @ 'V( @ @vСC]={)!@ Rfmc=mݖ#Fn!ofZhO @ @@n8`f@ *hժ9ӫP @&"W_5ۭ[ͯ;Ϳ_~Y @ @ G!@@ANj>3Wv6͛7Ϫ7m4駟 6 +?O>13g4Z0[eU[p+EƔ)S믿n̙cYfZk޽{g423]t1K/8qygTN;4W_ci}|ѣiٲ\{1sf7/+3w\[oqfuq _Yr%͆nhVZi, @0ay\GyYjoE}5\SiN8#;c̥^Zi @ @ +  @Jwux kf?sȑ#]~2E]`0f +$Ukꫯ6rHjr;LNo(Ov79nqn_KWݻwwyw9]Zc?蠃\^0g}yݾGJ K,ak>Cmu\uXc|̘1õ]weSlYȀ @Yq*-^Z @ @14@ РTTTG ^}@]vY9ɤ$URWKj[^yn9U+7pC/dyy+??SțʬzYWN>=/©cW/|(vcG @ @ @$V)i @"9eI{ԥyO?3<#_UkЁ]vYhCQk믿JWS x饗\jw~\-2YSي+~wFM7Ԉ_e&MdT^&rFMk>ᅴ) !"!@ @ @ P]WC O@H^JS+Rhl7r+cһU'qI'z 3ڷoo>w.KaB(iSiz-礻+ᄏ?s_479cjOci۶j:tDSOzvNcǎ5˒K.d'rcTܵkWpRqݜi.#k %%F9:ϝ;t_rm ->G~wVsʔ -*l|=z MӦMN;O{asyCX]LBƪjKTޤz&K IzTV)djgw!ꗾ&,mT38U4I*WRL3WZ3w?7:urW_l)nRR_Rؒ+ikXǝЎ*M-C k7gljݤ8%z)rJͫ2 wua9JkRZb%\Xf]7뻢: @ @D,@ P C /hQ.sel.LBUț1#*֒hPS8Bo￿O?[ʘFo̐!C¾#F0*;r;rLD 'SZ*q=N*PΡFaaU2V1.ZҴəȑ#Gv/Rc!U(Do8 #3*s>S8A甜XtEQGrN3_|q׫p/g , 1xUWC W)'<9yGgE_f'p+6~錰'xx㍝U6s}Oa\Zȑ;`B'3H7o_Fs]~ׅPXEԵЊ*ܭʨ]st.bӢB2b @ @G8|-r  @ ?ߪU+ϻT$xwm7cLEgΜIYf%2橅B>Z 4t6tkb߾}C't/So}VzGe=:JykBLJ[6lKG-6lÑw{}L J*)i9K,vzS!&GJuԖ|rrS٤?.,o|% 70׹sg1w9wI)R&Jx ˛Ke=ӟL'vRcC*,4B̛JfCObl!@ @ JT,dB ZDRo\!w<îL8Yxuڴiipy -ZU9  TK!*)9y_nZh!s;gΜ*PNSNuUXwP8g XHڨ걽+BylС :ͤR礞ROh2 9 4([ݩ/;NJIx.ۛw*}sL&q*hR=+|RJ[מ[5po۶mhFZR7K:$^bF}} @ @E:_ zJyadiMs x衇dZ$oݺKKD{dM\HxwC'WxUS4ӂmN$\]I%;`Ie?p3c #g . vnӼN{K:+%sC7í,Ğ~JέTj|xdqkf8q C0fvUiUq*{VN>@-N{b޽{I&]A @ 6WFL!@@={k}=bK.$8pt6J5o06'W %eX @ @E!ad e˖B{,X(Tc뉪]v =k]_n?mZWk6&cUao%bFhװat]?#g/S߾}X5??aVTgܸqS1rHL^t^vzYJžC=dN:$IrڴiVhw_5mĈz1 |wyK-MafV_g1@ @ $#P2!@ &g}ּ9tAsP BFM02%(|RgϞ~vBSNF6*_+ &AF5,jC<@9+Y2?OzɖI}Es7ߴ#gu-On2LJ¯>^ :Ԇ*z2)SXOZѶ>: mR ,nqOǕ]NC\2hGfm @ @( H+ݤyM@!dZ]> QXYN @H(h;vؐ VzulQLF7l`+ۭE^|c%lsaQKSQIBr=۽/YȫF_ 2mUVK4e@. l޼ن}TG7n+.2~'|6m2{キU ipW\ion8Lךoik֬1 (o^:׳sUn#&}l|ɀ @ @HNٰ @ ȃN:u28 'آEd/HFR7yN[-+KӦM'uSU^"3Z`Of%3 0@ @ @@ @@\{gAVywp&@Xl ȋ_0~yKf 7~! @ @FV8Q  @ < o?C[޺ukRE@ڵ5U}0@ @ @{@ @@ (D`jrXۘ=3u@ @ @ `"m@ @ #ݻw7$r|W@ @ @ `e!@ @(5jd @ @ 7C@ @ @ @ @@UT$ @ @ @ @!9; @X~_M%~\zj{mʔ)@ @ @ V @@>8Lڵ=>]p”Mc @ @ @`͂ @(J䑯HX@ @ @ P 6@:@ @ @ @ F c3 @(lb^udrJSV-sAVZ*U^tO?͜9Ӧ7on*T+1o<3k,|r#V5j052m۶ڵkŋ͗_~̜9șMlHB?4_};wMznj֬KV~mߚ7,W\d@@нh͚5vGf{Jd@ @ @@`e @ k$ ??3asqmÆ 3>`B9d .b&Gwj:;رcK{=s)$;Q̅^nP[n b-e˖fĉfwY6 DӦMmu٤!@  L2%ݽ~֭L2nP,K(aٻwo3rBg: @ @ / ,^ǛB G$ԩS(裏6쳏of:vh&Md+W'EsZZիW(RiItL8Jy۔n.yoiРAU>s#1'|QB"._|:GyQd%V 9oߞ{cWō<8~V^]܆x!@ @rIV.R 7nٰayẘ+Bѕ tM7l$ڵkXO4l^iyR>. [6ݡCۆ]/ys++]/כ뮻nh{fǎv]}2dfCo֭[g4&1¦@O@wOҿ_o# ovYjU4 @ @(0`CAG @(>#}yٳ)YǬΝ;0*{NДxΝ +UV5׿0YB{\~TRn_<*L$riWO0yr{ڬǵ G@?0Ǖ! @ @$ @ 9]wՎ@ޟeرcW=A嗉;<3e#Vuԉn\fVE]*Oj5<3 &شp;_-[fǩ @ ڴic?{a*ڧ @ @ @%_Wm @8Ş~j)\F:}Fakժeʖ--Jk6Hxb+Z|믿6'OV{*睪|瞋mca%Tرy7'hgӭ[7sQGy @ wyd;^r%FӧO>z<9c*WԞ7o^8ϟ{ZjJ5lܸpF8K/df̘a7>N{ǛzꥫΟ??]~ƍ1.es {&Md~mE'pt/E%k׮]ljO>FA}w^J>ҥKygիW[M65-[aK(;+?=_?Ypٶmvi-=5 :woN:(<ڵkM͚5mxcWGˑ#G <̮ڒ ]vg5jM ޞs ,~:wՇ.]m&ʕ+O<Ϝ93L?öaFs  @ @0/ (,_xJ b?ϴ{'mӦM vOc&k/k?aEd-x9滺-au֥yI8cӂay odĥSNv ºi~J7|Q3.,lc֭a~\"ۄeqE/Iz*l# |ng {[e}׽oCnUI e }I˦bwoѾO:5vw1wmhL6lg+"-Ѕ oVJ/aW~n;]VraA8ʄmnEk߷K4(m]B]W.e4>+ @ @ +v  @%PdI3l0B^A^#W_m{=/W_w}檫!b: #/ JVvl˖-aq l޼y,ѠAp֣<+F7M6# p,!@ hĈF*"PPKAySE9٩j5kf=M76%]q+{)ry--J>L ^y4 ̓-,w=ֳ2ћߛ/T:wl,/:%:_&Nh%j֬Yh +P;z=&:~ᇄzL_`3b/OyK{G_B+gyz[Lru]fẸ|vgϞ=wa @ @HFV22C P(o~~WBz9(Sh$c?at݆tׯ_Y^aYz7$/XF~'K3kb *dYB@WӨQ#E_VT#!̄ 駟VRǎ :̿p{gmqJ -3 OSvU`nS[ꞪPΆnOv7 BLB=$z3DPIdϯ#1Lp3&!<: ,V& JL&|k 7 Z"C+kcY TI&nK@ @ dJd%(@ ! }ŝ*TT ȑ#Mr)l# %Y~ʾT{s,˗/o=Yt-֬Y3̋ 7/qWu'*O庼4EMX_wEk|j+$>x}uX)гʅ^ɍ_ubQjĝ-e?ye̙Gx}P={ @ @ ar6l @Y" Pxыg O#J,itܹa 5xᇇ/{1sڰ>ۗ ݴm6>Ha}o[QMiG S$UV^K]tE֛EϞ=dB&Nso߾ ڷo֓J#Ps=7v 'eڰ>#LpDzٺnk.+^?6OѣG%u]m} Fn{L2ek$ů}jvեK0 И1c 䘀Bƙq3oʕTD2/~T F_D=ُ?v9qDӲeK㋯ZhY`vYyʕ#[*]qc g#S<]AU830à( @ @@!H@%СCt͛Щ[nu] y,4ϰa c}3dȐ0[/!. 7n&$Jܹ/bjcfasS/X[na s;v숭˃aA0_q.mݺ56̿ {9M_a䅲{n >ܬ_,^~f̘nJeT^pg9r.ev}qbӦMñ1-B(gCT @ @@ B@!  YgeG|%I$A0K^{핮Yξ,U@yرc͵^kϟo%*ǸO?݆Ho!nVs嗛zC}VZtYh vZyK!1+;4W^y9s֥ $oUPq'@a# !M7)DY5s ȃ3r../,/SѰŽ ~mWޣ%Ҏ|o]Ɏ|wRiYv,g/qUɃ @ @@@o @Łn?>$`r'p;pER<6_|0=K.\!ᇄ2e7.!_93U^^+ EmsM  @ @2#+3Bl @ $,]zF-[ l| s1a뮻(lX|AhaÆ6l*1Œ3 $4h $o siKc樣 %KH褱WVB(?_iy+jqvzt$L:caJh䇊'KgO6l @ @@(!@ @?#/X5k4˗7]t {v_4n$; s%,Сi׮9#PmT(]_Psyv[oէd{%Q(?Ϸ" -32 _4V˫~6l$Sf͚0{Xq c[۷s1VhJNhrГNDbL@gPc]tܹ|衇LӦMiӦybS}Aºwnӧ-&B:ʫ>Fʬ C @ cg @ Pp HD{?4D'Cu. `&L`ڷozrJLj@/mꫯJ*f@IDATh=e*U Pɓ_vJmk3=Au|Z2e_uW./_I|5 $$*[lt 1苠\t}P~ڵ[n1q).4e\UT1}u?SF>gqA!6?S3xsJu%RNT0SLBø}6B& @ @@$P"-b9r@`vUV @Fagc @ ozPUVY 6|#<#I? XQԡj ew۶m3%JވTwLP^djQF6]s=ɫڵkͬYy֣Uf֯_o/^lϛ ze[Ԗ>2ڮ0 1(4KԦ)`\Yh zb]W\ Mv6md{oSVtKy@ @ dF ￱ͬl @ @ C^铟VzuOnyrmHXlsI1SN1[gU\ٴi&y xayeZpO2$L @ @ P *GC @ իWW^y%g-[4cƌ1jJg @ @@a&0=@ @EUW]ezQhCm޼̞=̟?HuVSn]S~}s!ҥKcuTZ6Sz6W<ج]ԨQA @ @ `"m@ "D@ay+B#+:C;v44iĴi&K[dywm.]Ex  @ @ /X˛A @`h֬ @ @ @H-XIk s[l1YdYrU9蠃LVL*Uٴi5k;wYtkL&ML۶mc/իWTV-]~aw7/6k׮ /f̙TRuaИ>S{eڱlҶ痋-[f͛g-ZdVj;0ӠASd(ؿYpmE\rٳM:u駟n9o|gv\u5Wca+ς ƍ-cͤI?`.SFտ|8jܥK6M6l5lÆ ?uN8rϨntۜ9s͛mpׯ2SBh5pҘ7on9RJ?y^ @ @ @E|t @J@« . s;?a&L`;&+ :䓓{GMϞ=I$#q4]vYvL:t[c1'xò3f̰DmȑVdW>$$袋㣛K/Fsc7'OEvjX'N*S"kƼ ~36}9'x.$C:,si.]9DHg}6mZO 4\wuV\+cz&pG6:tH-.{5W_}$~MLy~M?-ogiF+ں̀²~B370@ @ @ PT w?PTGʸ @@N:"* _>h+n%jرwW_ޜMIzVi)S=bn6?iii'FT|te_y՞{Q8O?yJ,_zWp@XF$$zühB^*ͭk._9Vn+rZJ拯vI|tnӹsg=.Fi}ܪ{NInkynvs"O6 `FuMzbc=nSJtFTywݺuoEwC T'GD7nh @ @@J J F @裏,V(%~̒ף=zٱcM?áhg / )|-Io^*ݥ^jʔ)cwUZ5~;PșSNd1+ln7-[֜zF=3.n)N)dcKv TF^dK޺}I&Ϗ?hөsgX/W '!nfVn۷޽|Oc 4b<׏}"ÇDiW]uX-6ꪙ7|3LG 8fEb]BmG61/Q-+V/r(RhGI<[8*Uy/&@!" !}ȴu?W]}s2W;2 @ @ P( fPvNC A`]w8;0lرcw+Mr,svEdR>}g.o.,ݾ|aB~ĉa[o5LN:)\8@EqRu&/T9qS:\~ٸ5k°v衇+VBsiN&3 ͉ /Nr&nNʳ  ]]O<%d/Bb @ @2#(l @%p)h)>gu WסCSV-#/P-^خJ^{´]t!S(h;a'<@Y*ڬ?3ܼhѢ0=gppOKj_8A+Xm^vp5!ţFa.7߸d/rL,թYq~]qF8뮻5Mj L.C^:uцT%֭9ꨣ9hڎA @ @ JVQ=  |%п#F>`_yxr^6mj>lsyڸqc)3LVK k(YLBޑrcuV{3JlٲTR_MgLl\d&9/_>4in[bf|r+8We˖vΊR1c}TYƍg3wҦ/ɓmkƊ 2&O]CQ>3LBs{sK zi'F#F0vI{5$;},,$4EX e'$La{%"S(ӨYHl'.+DeL˺u۬};sm~ 崿dc˗,*3Qs뮻ΎCb3>Ȩ3c궳 @ @v>Vls a vM7^r%ֳVbY. WF^5Z/ zy6l0{:JL'g%%3ߓGT{aEmǎ.g}<#v_+mKgj2&F:%Aj\T=vEK '/TQF duf5jd% @ Q%d_~@bBd 9۵kg$Ȓ(w6$ip k% @ @ P *!@ s ȫה+W.`:cBbաCP\%EmaV^´/q/ÍABlՙlQGe{1[6>l*(,n* d)-W&"/&^;ȑ#SSO~E+^ze]b i"$P0yYpa:і=hBIr罄Q, /֩S'M*VdϷ׽#d>:]ND)`I)3'. 7`;<{ʫ‡l} 땻\632 L_:"w7ا۶m6'N)W'S_\V*Dɋ_feJmLuqwgaEEC,J}af  @ @  L#/2y'Id̞=׮ 4`0Bn˭_޾v/}%G!g8XzY"=9]إD72 fΜi=F2 jݺuv]G$%PQ?ކXFB$yVm޼نڵ]+gy&{ /M`fFj $pHpU,"s&рKıxbe z+sZu5&'MlCjՎ]#6?@]y;,gΓ\ڵ]=ÙNۧOʨM_)p*Mb l\-oP)yO/gq9}[nqc*s_¾0 ܶT,o +9STo9f @ @(U! @ KcI4R.t룄X+<(t<Ȯ* Gai}̘1x/&e.Nk?dř}lܸ1hIm/a>cǚuf\P/ڇ [^B.*3ԱU-<5OCMt.<(L"8~y%8sm?V^mf)?OLrQ[o޽ Luy1FvXB\xQmյ̉4H_ug}K"[gVʴt\sFޤ5O/+,onи~#=z!mF!,_e$Ԓjɶ<(/fV< 8pٺukQu^BӜ ,2+@\R*_|XO9@bgc[꺕H("9sX/{22 |saDb"._ץ%zY׌LsWM5{WF}~c炢"RE @ @E|t @J@$4OE/%@Gf͚+?GqYbYh? A'/I7/c+/S/%R%Kի 9y݈!!D?z_5kE|O!af$]S[oYlejլuֱwz*\8ĥ^jI) _VLK]`o8֩Sd$jժo /l۶֑a~d_e&M䊆ɣD`ܹsmx,KyH8+[9\yˎƬ ȃ I?%Nyܙ?g:˻2y8qќĤ (hҥa&?/wseF,]c_@~T'PH/i~0VQuʕ+þzY' @ @ !+o* @Ŕ<o~@/%'&oFM4UFeJ˪mgg<#WNl=0lɉE>;*Vhڴic?ąY 6) 䌀.gf$frR'._|5|psgw=܅e_62'e$VU'ݻ: Z~}DXnߩX۟_)|wmcOy1@ @ @@U)# @y:srCa}l1 $Rh<~FDݺuy*[QT lHX<3+*U2Æ ?Rd#GATRQFVЄp@X&)bk޼yO^gϞP}РA /`ڶmk> ˎ=ذ @ @ @h@U' @ BL`]vwK,~Z"[ڕOٲeG8S<3qNk֬q,3!k[2ю֭[ͮj%{:uvN ;v-.93{l{NinKw}9*?? @+beݺu"j=7Z@=ܞ:u6lСCSO=ƕgY dus(.{ڵ}]vnf?ϰbH5<`(A @ ݯ_?{氥Wo76m2M41={,|(=o%K{dJZZZO/(j9C/B3jԨ_lf̘aW^mUns_~ۮ>W^n DQ;~ӰwX0z>&L @&pw+4# oVO{y3Zy}rx`9P fg~~W^Пss% [rrخ*ӧOP|%{tړ/ҭL!oϖTXvT/mh>Μ6Qd;_uYf/2cc  α' @ @D@\gNQ+7~QS+><ɓGҥ3Bٲe1˗/^&իg jٲڵkkd#KxͿoȑ#mZQvmsǚ??!O?m=(s9餓C=dOۗ󟱻߸qUl23\|FX~'~ڦMs-*U%,K/d C^>Zha0kgL/=Ö[ײ}ܞ3:F:g>c#76Gu93Ǧ׭[gMf}]{y׬Y3=z=dɒ~ͦΝk +!/+Q۲e1͊+L2e/TjV h:t*$A~)΂ yպ8sgJ*JNyAnPXxQ8 ]k-sN:֭[gRn F{VjUsG={f鯿eS]3Wof|kC1\rUV(0vi[ϯOd2To֬]ֲw}Kfk\s9s [jeL+VLVs2FmԡCێg(<2}vlFk1*Tگw;.n=7}믧kSYct_=Ms_hc=+T^dfҤI׹ySN1'pBE>`IyMtVϙӦM Ϗ~{z2]g~Yͱ>ywE,|ggMs)eȧR:u4j =P&t>F駟n%_ZSl:fԘ<Չ LL޲WXykM9[5_4=7~x3}tvas1+Wc*2ursOW>3Ϸֺ75l>[D5so1r yZg,O3K4yj<Єʕ3]vY:pQϕg"ݏe޳s ?犚O~/#m $m(ñ4(-;n RK׾wR j=gjiS\:-9d QI@ɰ qUFЎ{,a]Zȷ]c D-i03СCBlqf1S,;Z\%Gly1Ɋ] p /Jgt D:e"xב#eQy,:n=x&i&i<0-xxH  w)Smߊ"6[7i=!}䱜t ef~kmqEC|:3UE,i74OpD:I\;Ov-'s>zϟqdw%e2u-gL+]^zt%v2n^5~&o/8ӯ%x!m-OcuŭG5o:uVdI5Lkڵ^Awʞ2c'5tN/ n隑 y6ѯA_ƭdWLD=֯_nOvܜ/=_?ͳ~k_Pc ^Jo~x87Ϯoܹ{U $\FqEu*m[y(+υ!PڍKs-@r9Ue6?GJnqa5T_, 9U <ȅwpK97*^rR儎m-חhJPg<(?>QQ`Ê{/Kh+ ^cCcL۽{|>ﻳ3{7=OZ!PB\ų8erZ%"(Z8"k- Xas==i( c lQϺNYZxI @C})$@$@$@$@$@$@$Њ ~hm W&Y M^;zUQ.xM\E_h"Мϐk+?p'hѮľ9D&.D43]NRz'ՙo7|vC#mG4iO*bJPos5.z葻zQH[Lrh qs^t竄kF>.-`dm\(D :Ի8p0_XK.at*$l<}"PixsߋTޅND VĹD钯9fn;S=U:W~ ֒K[>d(s1sSf}<:?VMcǕ]GNRp!5Z/6;o,[ԭe$g$\}Z˶*T)O3e#D~ Y}»-*B.k0>u]NHZےǬs.SD8WD#DQJ=V}Ά;IS#I6VՇcSGh. 1gqXֲW3\)0JB&o'      D`ĉXkJ˯L61&jlD 6 El`"/ذRKW^9 /üE/—w5 eP۴|r.N$Xر1#ҥKEDiE/QS O=q:هqB fɗifW/> 4=Nu |> SkLǼsE5F@PR.oFeeEC(k@[obxL'kӻロXIs9/gyƺ ZW "keHfW s/޻"JY4(ي-1V"ޟ̺ds7E!< @ x&Mf5:{w\/&"_jV]$Ir뮻Ǧl\|=t:M7N[Jk*Һp}XC6櫉Z,鵎m+ަ)`a D9Ȇrz%6 V0+ ҷۗ~rbzs0k]k&w s[L*b5N%,̒BV 6)e &V]cY#s. z5fY2l.*xX1)yŴ1˽D={ӼېC،1Su?X1Sb>Yۋ^ӳK_^{molD˺PֽdO<束Qʈ@9S`]*'}v+T[HZK~p1::\/IIi{\RƋbxB=;?gc|?([aCʐX˲.ɰ6(0皯Nן%ҕi*1 ʟI$;~e=]Zz(6 ~;I֌◀m@ѣW\AX{q^xPZoHG]gJje\ۈ aݞԕ78,CYryKkpL\aQܙ|~d_g}^vuWI~ڽO¨HEX&"#G`PHN ް$:ċr7ׂQ3e9 PIvϓ7#;lysW.3eVkHzVtV#T^TυIeQ`ػEqRc-s\=5,~@'WP \E\Xb-2u!X.~|O}R=,s(@m"kg]$@$@$@$@$@$@$@ <>I'd7H^92??^g:Jb/Q_|E,Ym٢yzع^_X0qa[E˻uy1Xt_Q!VhJ[DԊ=%.vL'bJ1R+q8s&E9_WSpv:Xב+q*oF)_!1@w%]tsc E.mwp[q-e'vm7fM X&IHHHHHH #K,-w"ZI$R#nXE%.ʠ#`F Kvǁ!^K:3zހP }~'^/N 1mHzO8YߌcKF, ` .c)y^k?ew^}Պj`3\Q0CVsYYDiNbRZZq^ϳ/-KDڱgͤQQE\[ިiհ٢$03(>w\9g-MqM 3N~! s0_iϛf-sm|sZ|f #wCD'zn*>ޟ1GdNtYF@UDVA$@$@$@$@$@$@E _yò_mJU*_B!E 4Aد27͵,AC Un ~,&Md\/3w׬"pʅ^Fs(Ɖp Gl\r!Z@p8qbMbr_je0iSOͼI@2pmLHE~{_WLJSm4;YOkW,p{ *ND6q^'r w8O SGZb~^lLN+ZNo!#eꫮ`nK0ԛIwi_9lIzE־\O?֪MIdĦ$+]:V!g~3~G|$DT.zM>r R( :4Zgz]uUEAXG ,}5T";:o.ú}9,+SJ aΊs-P Hk#UVYE.r/BVZk0sQDsH-s\Z}H9~xUMx)Z{Z]:_|Hqڢ+Yo^{I<@ JgD0"k-V$ ?K M7T_Mxɺ)x`~Y8%p~Q[|y\Ĭ(/VQb4\{Ŋo**xy&_c5Jڒ/MUV(Yq=`$v3vïdZܟUr++Zi׺1ynj#ѥSN9ǣ. clSgP;}cs,.YwMj[_w !Zc٥2?܂3?9֚N }=;ULN;IsE9"vi'7h`W֪T&.>5ɘY Xu$IUZ,Yn.NlSnGYV[mcRG>e%,31S^z8!gm<1ezEWk)_hUw %1뚵Xm`5Ojy)1?bcR$(8HHrh ,n~f! hayt\l&w06iXel:?6bR/O}Kg1e:c 31.lkϗz# V(ϡx$zc3,ϓUmI}klIY$1^{o+?.q!^bޘE foؾ>Ϣ M(UoSH })$@$@$@$@$@$@$*`*]~>ٍcn.]?wۭ,%ӊ|0֪%v]t{4S':,<(9s; |U)]H>…ĝwi];fvac_ږ~H[qM61 LEYX{Yg u9*#<һU s00a:aYE4y~$QG*x;Gafiz﹮ܥ+_]RHZx*5%Yʎw`"I=sQsU2v b^O͛9p^sdeΪ]$݄1v33:W ƒ`[U)8YҭdDUgYqXԍ6ܣh:LEwk{챮6OSM ڍ;;K.TUzs5 \DѫWk(W2KyWn6c} ><\g7 `pc&Kxp/vtp+m-TSulQN"x. uص9?wꩧQ;(ޙ0C/NF^)9ւNg~F[k+-,VxK[x6}n|k{wؽO]?>'gϞU/"Ʃu=/yk5 X]v{~WgAk}%Cy ?f ?8зoߤe(kO>eyZs\+qp9-yޟ񃆳>uG5C=0T pZmHH ˺.lޑ CF{ [hݬ5\z!  6!9nu-ꫯz=ta  _-l]AzKZf56!z9cٝice.n T e(F@4MsL+ϭ)`)ϼ$NB<})`)߮y=ǵ+fP!nhi($      hM0_MtM;_~^y}$@$.q꿖k:,c &C57UV ~Ɍ5UcE(_=eAXr-ˬz@M ]{sگF=55.Ҕ3(PH:+qwgGb=_jNC XVBHHHHHHH~{u+JP&$,|U7e$/$@$JqpW1 Pj'^%k"e7G`-cmqU~Jr嗯+^X9rVp7~x7_(Kņw(b̴%vs9su"2{=#D4L 8ǵMzaV$@V+ 4@n\`JWĆ \tmFM% zm<]|k.˂$Юk;Tt50_~yE|E<~=O7￿bڒG}T|w>{o bIHHH*Yir| x\/૝B$@$@˺.ƛ$@$@C9W_5w$_~߿Y`^zu a+$@$U@@n /{ҥo’|ӧxJQH3xK/dvj[l13+< mٳg[?ЕCy tfW]uXXt\ar]*5/dСf33 Li5FCF D ˺.Bf$ @ t sNA$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$PQ^ @VfC$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@: t*`uj6D$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$PQ^ @ZbC$@$@$@$@$@$@$@$B/4_}UE駟۷"DOwӣG3TSuKu@"?ut޽ï_v{e~_U3:3oϦ[n3_rmS{`<+hSO=uY6HHHEVvHHHHHHt~c9*6dN+pPx饗:.7ƍ3gqh:(sW>C&Mdx W*r O)*̭I`wv*%!+b9N3?WHF ZjN oG"|93]7pC3dȐ{<ɓ ,``y!IZk-si&eiX<6^zi3<7ިE]d{ok1[ouZ)2mرN֤9䐖gftvi:WUW]唯K n0 ofmWN餓N*OY<$v ,WmkZۭw3@;l~a+ 6@kqX>$@$@$@us)A9muTv1Ǹ~_^K \vA\+H oe"pꩧ }tX[~ߚVXulgO`skEq ׂw\U\nJ^3,$  tn)/HHHHHHHZM=ӧj̚k鬢o^K1~7ooxn*w; ^2X=z0/{S.s袋N82_{֖f^+oQFUW]j*7%r  t*TTC$@$@$@$@$@$@x饗 \A423WTv3 Ѯn6gI0`S.qam +?oTn}+;+Wp<2L3%\C(a-O?5_|Oo4 .0} vi'_owax [ݻwsr~֭osPL[.>-RY5RVd}r=)5JzN f}'> ½s=y17M>|'UJ-s%GqgĈXE!.£UL)Yźaؚ[oUmkUh;-֖{/V">MJىkUeb<(_Oe=%e9*ĺZ³z衇Fa ~-[o=mJZ3?>cmI¼+jԏ '>|X1:k][P0'gwoGꡐ @+3@QHHHHHHHH J V`9 Yț*`"vSY ު ,Oh ~愳_âh9,Xd_q5jV^`+%U 4Vir!fv0:;o{챇 ;,݀=k$yN?t7VPnVl]%O;VGê@yx SLsx&` `W^1vY3 -( kE6l V;e"wX8XeXD3uX)Ion& 5{Xā=裝ƃ:烥"ϯzQKX ޾z+ vY/Xq@ nKlZ`QeQxa L\Oo0w)7V)W ,Ra=\+jD"kc7Dx؂P` Cu؄yop\4, 1`[P 3ȡѸ&X@TXD 2댍Eҭ" q+:x.a1W56D&` *3$n5$UrROS͔-`a\Z?w}WVq"O1-W䞃k7kD[tVp=z*$sp8L*x5,ck-"+H.k.솋7?"pwgus'._E!:\S!0`@*pAG&Ol ~d =E]ܱq"iIGE16=.k7pV"1|;R-V9Ɵb. Ɲj&MRS܁lVQwpc)b-HN 7Ok͹D<;N*o>R&Qn/* p%_nң>qʷVaX|>]/Ɖ5I}ypa%CwX6] ۶ A12nW" nI!pWI5V<z2J|_OZpcQbܼgP\ġ-00U\[t/m'K6Xe0wDmڌ_=G:Ҹ+<+rx/|w1szk2p ޕM@IDAT*RN-x_}^û;5HHڕi+`IHHHHHHZ@ޢ;exl <,ĉ2b&ִ$%٬՛Ʊ6_~ynݺlÐ!C 6\sM2˘VZh~mF~s:.Ӝ6aq}W'730Gb vϵpU*պ3Yߠ0f7)օc6zQ/cmUW5K-YyM^C=ԥ_ve<½VB{Z%Wz=}PZL84Z)2sK(,S '~/qk).d]S(;zd1NRrm%U2PvXn|Bύ~xAvkCG+J5Fs0hK""9>IX0UQ6ܓ4 .$yd-N8hQIp~iVk0 (IG-i}5mhSyXw@XE\5g5)RZ[^R_Æ P E]YX+0Cpd6ni 4vmN 7;!駛w^"E)TSW=U+ΙA[(ՖOP9E&VG,Nw\$xF1p2+re]ѺrӺKtUbmE+!VHi% aXbĽ[V̺Crֳفbh9)'Ku}bzYc҆wO+Aɜ a>2u0:" B"zݖ8 yyQ ״zAzD9=_b]Tk[_CG-S4e*,Z1C{NKbҊg xa]G)W^yM)È$z,C)T1} Z֖HHڙ@v} AaPU?alk-dkK%"G, f+b&T,(0)c.dE1wy+;z ׏&LX0,(1̭!6Jgرe&ߢ.*}Ǣ݇0ip6&YF>0"JL[ (By.]Yo CI26¸^ bV ƍsGw}\ X4j epI_<׊]v,]0i)J>u[1m|5uEG%̭PކŽVJjYkKRj(WKVFո>'-c94iB1P~=L2>^Z}1&:^+0M<]H3L$@$@BOr' @ma#,8QQ5G9=: ʊv33PF.PԀO>Orfi7?Yf,r%Y麱&rAI0(.a7Yy7SD= ,ub^@&lb tP4\}QbX}mF;a߮ sE[o5R蹶"DDw6GjKiMtjGLJ !h[ltVTIjz!믻5 Ϲ(8{B4K%qP g}Ve @1.IiOO=Ƣ戔QDK]E[׾"pUMtϓQ(!|-ڵ+N4J!O?5P@fxX4'Iז~5#׌>Ip&Gkcgy. q7pWB.>%&*2lIл /W1BL:sFƑ tnTWG$@$@$@$@$@$@ ʇHl#䭷ޒ9f5#<ퟎ Xzy%?~|4>Կꫯ䆟. eX}ݍP_CHGYKRX?Y&/(&IO:?H'x"z 8 U0nj*8ꫯV8p#bQ &Inԟ.(yc=V'JPp{GMJb Q&LP)A=߉rH Dk 9*,|@`U&cƌqˢ" 7jQe]n` J:"Ik1Rkr4ADؐ85=tZº;̯;X;X/{,k#N~4EN9G 2&̘EZ~b-kliڒFX>uʚy y֖z[#su׹(lM~wqKhڂǎY<}UK9AE}YbWa1FDo gItldy:Yy%Xq{)flD[X` tr0\=bJd Lz^zꩾ^GX;uTYX[‰Cp@6$um֟YR=ȄMǯZVҲH=}R,첾jq#,+O$[nm$D xB |Zka@bhvr?;'NX/+e;,ADQG^ iq(_ 6˼YA5O?L[$ߤ2Êi>ϰwP]Wް(E~$@$@$LTj&}M$@$@$@$@$@$@-D`f/`J~A\GoÆGm` ƦlP ulv"kCiD[ԛE&RK-i `^ }QR.mw` w,@{P. [3'*!PP5'4`(?l\T ba DZ92gRA5&0E|_~)`3~in(\pgK(j`#YcRP(PR [7x{J lxpk6kIPۜ %zCGa=5q ( Oa#Z|yhe((*a?6GumNi o<Д$K˕W^mf> `n'P1Wc2`H<ߵ@"ݩ(bI*"Ag>|W>ó뮻Xw˜XJPVѣG-U2N; -(zֵQFU bRvmgbhqs.6*^E:'(IS0 ̻cxR)h[҄my3ZUbJV! sE YQ6aEefˊ؍L*C9re,[YU,+7<<X83u,0 i gBݴX eYƧI9N1Iq x;i8XK~X?b"ng6" sXM!  v&04b%\ Y @&.FS^ 7  _cS:msdsN=T  `>3_ܹ; Àk曯S:t]+޽{;Sz2YrpEֳgOWcr:ơp= l|Akf\͸qqg%euFl\aDQK Ey+6c9q:&Oأ<{ac34S,{4_-\}7el 6R{#Wn;5p wg!xp0ᾰO>t!my\9l(ٴۑz渼m%ꫯܜe-Ƹ S5ZeZ2_~C(}. .sFX+nw׸Y*BckYH^2N1Bښ*kK51>qNjegwkkh)+WyUa١k׮kR#tAk]DCx>Z38'X[cpʍ  h'TjrpY5 tBnK?;% @[іw: 6y峣>:ȑ~ %X@/RzL% 'B(ZB K6ir`זlk 6L2R^% $?i!        NGƌ+M_EòŨQ\2P*Iڙնn[ns!┯p}ڝaMOץZ Q dԉ:[+j WguVl-^< L5z^8 L`e\H:3X:c /l]tQr3qn02$Ndi2ܯ*py3\;HHHsV缯*          @׮]}^{O6lc>l! @>{6x`B*/7y}{N$@$@$'OGq.%      h#묳۷q~ڨ* ^|& j, 8W jNG$&u'IoM3o[lazY[-\jsu=\hZ LUObDs[)HHvY7ڥS$@$@AFkHHHHHHHHHڍ@v0K$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@B Xr'                 #@e0 @V HHHHHHHHHHHHHHHHHPn;L$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$**w                 h;Tj[ iZ# K`rU1œV$T_~yWk߬*fvz)s^xRcql&e|5qD^,bf-t}(ꫯvpe7[nŌ;L4t 80,LYwy] o)6,f 74SM5UY}ߛ/#G4/C=dk [\'oXO8fzjsA:0~x/(^dḚa*È?k5</a䬳r.qmn;u?#W^f饗6=O'x\uU?4{6P>|xo6_}/oVZi%ވc=oݭ[7@Yhu5s5Wi<_M7w5~YjS:yS5ݳuY 2Dgan͝jw}<:HHhu]9 4׍2JG%T;$Yrꩧ&e*UHWU*TV×馛J쳏?_W^yeb>)g3J'OetO?-:OJT=hykJq>zr)Gy 39u]]J:>VTKUֳN;%?KkF<ڶJ@% lƥ<0ZuWJU[E6l-庥"Kq]0 6V)ھUeoV밊p %XWQ/]wu_\qU #]*uQ:)5!?xEw/an@%9N0@$@$@$@$@$@$@ $@ X  ^s'@S` 0SM` @po>>^z/VXZuҋn\VY-xJ믗Ysh5geZtO°2%\Rtbosy*SXrE&âI2P%,F4Uq ƴk˿ /\s5*veFa*VX m}%Xk|5s'C'뒮6V JfJVƧ2(IUpi|:|GRu?EIܵ,/KY>lw,-Uu#=fI[L (*B3) KL{wɺ-YŷnpuP,Xn(} gL귮#7ߔk Xú+K=zc7M] X``ʖ0^Xjo1I9.WƑ @#$|~ L9`yGdW730k?/* kPXj],J:91|7_,w#0M7Z7rBeXyꩧ${? IbD}r=p>~ر&bbցB_oHVYL}9r8X|/trSsoN3"e> |Ϟ=},n\?[ ZbYfGǺWaÆUXB23Ul,N"?< 1x&G}F*w9d[7V[!Vr;;ӧX~J%G:c*""!,YQ9k`=$@$@$@$@$@$@$P420} sVݧ J  ^@a2 @;o[í\SYL>\ *$Z4JP2XKy姟~22s߻֒&TiPނR(N 0?G%ɋ/\伞cܭe} cGuK{* t`ĉ]k*!pCpyX qeJVUmG~ {ZP袋SOd dEE9oqZm3xFdBiQZrJfrÇק.{^j6=hO$@$@$@$@$@$@V:Y9ɇNNvoy9$@$P4b6[Q$Y t~5n^߾}{7  "\rI˪z%dH[^IQ-7XfEKDD" TZ/U2,>2NFnO U^\/?ڕe6* g"Q_< bJâ_:P+Ai\ C CWPr >m)+LyM+{adfiy_HoPV4c_O"      VcMr?c/ vHHC`kkG ׷VC v[MO>s1G6W\qy']w国{E^xtgQ(W5X}:-,lgXl|V\?i)(,h%+%u1I#F0'|r,[g)&|t370[R|1P4o.b*cn+.ApLuY^jW4r<|ԨQ^ivQ~Kx~hA}1E;H      hJ hU>|*b/KֿHHQ6yv\0HHq};Wz;'|b?y{ (jNgRm(uj}|N:Ɍ9L |ϣ#,d>Z_lpH/첎Or/i9 EZ0Ix'(P «n0 /4k.Rn(EovT+_ofC{=tc F`wh:E;H      h*`5jV9s* |/wh]& OkXڀ5k֌vorO 8a}8Zm ׻ᄏ9|oY*m)qĄ0,D+}:K[b%bMG 4(&Lp&Vhp}zOErG]i X2fh=EG\}cHIS 6tS3f_դI|8-)RnEumm,5BsGG#?t4v`LRXbnL=8      h l6s3wG5ƗŮ D(p}@  E]7u GmHW-M7t:"1?hР<:bذa3pQ{Yc5\:XRt¢X|wqY}ˊ'XO~{.rӥ\~^@.r*2(>f%%W$ /~eJ9 uu׹AK+|;M8)M;aB[o=#J#Pxw}Mo2Hf-ZvwYY%(p{ǝeYgN=Բ%y  H駟 UɴjIcGs/rV9^rx.2%9%v $@$@$@$@$@$@$P0Z*hg_,%! wk5 d#5k66l5N.os/ h6δ[9O~k*{&)6u!vmmf^y BKOÇ7b} ywuWM}(T<3fWmy䑅C\\r>}RK*b([omnvۙ믿=e15j(^{XõyЗ"HvZk#PK4%&XT@ z!WK5(AII{菎Gg}$ho?ư7ߘq9+ɠI\G_fرnCYíߖ[nV!C`؎=X^tʒGvB omb 7_ úk~^voСx>\Z2,*>-hHHHHHHH!')$@$@$@$@$@$@$@$P 3%Cտ<*-kMds*%X}[zK_uEY.|nIr/c6tSQ߳>[|]U,*Y2f*"zRg:"~)DY*W\dR{{+XLVˉU'|rEk 4Yxo [\_NUx9.F$@$@$@$@$@$@E,MHHHHHHHYfY Qp9 Q޽Yx<6ر),1pU $n٨!mv ,DmDiii+ j6 )ٴ(mM%$8I|=9fl >9|$<~{O O~bKre&CE+V].Ε[8݃yFeή<MAHt曋m -[V[zuIy='!B ˚ R"R0XWQ+e:h,f]~SD WŽ۰<_Onv<ϟZo` QGsy;Ǽ%\[ZO["/m۶Ebb5^{)?{ ,0O8jt䕯k_~.Ϟ/Vg҉S?sgynv}U\tiS[y_Nfw5jO'ʶM @Z)PIVVl @ @Vhixg"owgy7ny^~_m޼9u-{سgO_w F#Xiy˹W:vjO>dرy{+TB-3̉-d^xaݻZ*l+VXh3:rZY)oSSSqes>oY#osnxx86l9ny=9vWFvy+5#G]r%]NVԕ|mFwTs/wB~ @ 0_J @ ~8O}Sqm-|Q;[U @ @Z'xէd @ @@ |ߌ_w;֮]{y5~'>?ռ[MoZt7xc|]$@ @ @%,#@ @,J oO|">u]Wl3,?\lk Ny(o{ScnA @ @@s @ @` ,[DȯfzU[QRi+ʕҦW @f -mVlEsŚ5krkfU]S(sM7x״MC @ @K@]!@@ TO^N)P_Io @ @ @8i;M @ @ @ @s`2 @ @ @ @N' u:  @ @ @ @ 0]&@xQyߝ]!P=m @ @ @V @rj[idMs @ @ @Ss @ @ @ @8K @ @ @ @9$r @ @ @ @ `5vq @ @ @ @s yDtPQbҾδb~m,H @ @ @ @ @X7W# @ @ @ @}"0'  Z{Lw팉! 4(f\ NtSZj`0jSqzc9|hyZV^; Wyqu @ @ @ &6A:+pe˖LsWctt4 7~=vJ~䊸fc y`[՗jϵʫbtw @ @ @tF@3j%@6 GLO畯[I yE&&}/Du؜c G/~-x(*)\Vzvcc6j'j3)ֻJַ,V+`قt @ @ @h@[kScD:4Ƿr{ 䑩ScjH^p+ht [ m0ӿ6)PU͡t-W:ޤҹOe2 @ @ @tV@j'@6 Y3Sē;chd-/ou#eb`p8;bc|i@XUő_zϵJ[VEX,V*Wye߹ @ @ @aG@ ׿<+>O~[;Άל$@H7o|_\uU1b4&NI[eZly= R_@/bUr+Ub{e_$bÆ8berA @ @ @@:?ZG}4rW|E[ zuuǃ>__X=r6niѫ@ ij{_/~]{m;8y,^wpc]kR/!J3.[/$~_F#9VêĚ"F>t۞|- s @ @ @:. !Ѐ|qM75|}oqnx}ݺu ;۷o;)[K/mJY ל7xSqD}v /KɫJ䑣_W'ؼys Ƨ on%nݷԷ1)UJUU\:v,'DdZ++Lzm UB^ @ @ @- lQT R射ci ߿X hF1J L] /_M`}wE8֭?;cǎcщܳcS{Mۿ==^|qFFg+j QURV3\e`69W,58Xc)|R9 @ @ @N `uzO@lwuWSݰaCSQH7 Tڔš???Ó1qhW_?5O_Ů_=Wak|[ߋ;i"[hz@Uނ0hWsZ*J`UVqoZP\.c@ @ @ @Zg @`IT*{]]\|qd<޴/y\uՕ&, |9XU_*U$a+Xc V[UrA @ @ @@:>@,000xbrp}s'ȇㆷU*JWRЪ:3ʯc96ǎ+K}ί㿏{ӵc)KNLzdzZ}&; @ @ @zK X5^ZK!|ǹw_ 77xc䕱D /\{Ã1U3&FǢ:6C\"chNŚJ fURpk0֬+qΊ@ @ @ @@+Zl;J%v[WuNZ*04<o&s{Wkߴ)?kxI @ @ @:,`   @ @ @ @];-'@ @ @ @ @X @ @ @ @ лX;vZN @ @ @ @@:<'@ @ @ @ @wzw촜 @ @ @ @ `uxTO @ @ @ @@ `i9 @ @ @ @ @ @ @ @ݱr @ @ @ @:, P= @ @ @ @+ ջc @ @ @ @tX@z @ @ @ @zW@wǮ-T*EyZ*l}9wm,/ǢE6mkJr,U4hts(˱hmmJ'@ @ @ ~we###E&''}KQ}9粍eڶҾngƲ~m[i_EQ>q}9M @ @ @/ ~q||h׾}}KQ}9粍eڶҾngƲ~m[i_EQ>q}9M @ @ @/ ~qڵE6syG9߲KgF|{kξ-[  @ @ @zU@WG;y'J応A<~/!sXs/Ηf;j3oN @ @ @k}3?#<ׯ:+FGGR4%_VV2+_\2ao̗YCM0_=-z̿۸B @ @ пX;͛c׮]2<4oU/ʎ/D{/zu4UEW7?'w @ @ @Vo_KZ@/LsСCq+Z8'Wvt7_N'ӼK,BI4_=^-̿8C @ @ X?ƋX䗃|̗(0_J ;!`uB] @ @ @[`w @ @ @ @hVlL @ @ @ @@ ` @ @ @ @j  @ @ @ @s> @@j~6֧qs @ @ @ @)h$^ @ @ @ TlATFZ?  @ @ @ @hVIH @ @ @ @RZ*# @ @ @ @4]`%*@"n]]],wI\  @ @ @ 0J- { @ @ @ @ lAh @ @ @ @ @`X @ @ @ @ @ @ @ @,R@kp#@ @ @ @ @9@ @ @ @ @E `-c @ @ @ @2 @ @ @ @ HEy @ @ @ @X @ @ @ @) H8 @ @ @ @ @@ @ @ @ @ @" 1 @ @ @ @` @ @ @ @X"O-B ;yG(3\@J5b]Ki^ "z+ME_<.H5?+-ORg&īA 0 82L}}z& d!ph=RU3xM%@>"4U_]@jH CAPyIFߠF|kʹP(yY:Öpb1AtM <8'k p0ā$.zY`.X@X ցjl;O`h p\: WOx0  # @lgEp$I@Ґ $ d. RF-H=3r9G:Cy|@1f:Eh4NC-EUhmBOh 11K8Xea2l>VUbuX# Xևlj8g.pG8/j|'ބ¯~3N0%8 \dB6aPIN8H8 "$}ӘF!!.#n$!'v$ɘL $őxBRii7 E {#d y1||z;iӭL"ͤfN3Csך5`XY-ZebXUS~KS(KvA+{dV{[S}ZYXLk`sǖbk+]o{]wvvO% u;P'/'SegYѹs aɘ17]h.l"LŮͮڌMjٱݼܶuwؽߣ'3sgq6W'oowwOOM_xe~~ /gK@n oh  !+2\(:D= ۑ~* =ϙ9E'W?Ȏhy<*&׌s'L7T4-:1:QS,u":q5Jb@7nMx_&'O8=anDF]oBV$MvHV$LMOy:k&_L3ISҷL nJTeSoLV9?#D_+95|fNLU__-.G-p~IV(ݬY%ŗf;^:IIDɏs99ms-.p{ޖm .Yp"E.v[zoRi-5+]Xm ee|y D} K? /TUTV|\_v{﫾Z}M++%+o ^sk&iZZ[Wܼ^*e͆>Vׄ5]Zv`M!7mDniJZmg~vHvtLyާ~ hw?ҸesO^W3~/z_~ld,oBf77ZZ:M8z_v<\sȊԣG8.=w"Dwی''vjҩѧϝ8s,s?.y]:ׯ۽ۛ.\nhyJWîƽvz7nݜzy_)3xw=½+>tywyңGw~1q'O=}=Ϥyr ً^z북o -gn{g?~x28#c'O?dɆ7 } R)Dx6U:z+Wo,ߎU pHYs%%IR$iTXtXML:com.adobe.xmp 2426 508 BZSZiDOT(օ$@IDATxRl4鈨 ŊEM4Fc/cL=$j,X1D *(E,EP4qOݻ-{<ݝ]vvg~??IE@@@@@@@@@V'a@@@@@@@@@/@Ћ7         Pb@@@@@@@@@^@@@@@@@@@" U/        =        A"<@@@@@@@@@@@@@@@@@@z !        x         E.@Ы_ 6@@@@@@@@ {@@@@@@@@(r^Ey         A/         @ *C@@@@@@@@z@@@@@@@@@\W@l         @Ћ         Pb@@@@@@@@@^@@@@@@@@@" U/        =        A"<@@@@@@@@@@@@@@@@@@z !        x         E.@Ы_ 6@@@@@@@@ {@@@@@@@@(r^Ey         A/         @ *C@@@@@@@@z@@@@@@@@@\W@l         @Ћ         Pb@@@@@@@@@^@@@@@@@@@" U/        =        A"<@@@@@@@@@@@@@@@@@@z !        EJRnݺuUU[d;w{=O4O~ XemZFشΝ;< 8miۓ'         @e Q2"UYo1         A@@@@@@@@J׏-r@XWvuqm@J`VI,@@@@&~|jzW_u'OvӧOwSNuM4q{vm޽]v5y[cǎuofx!lwÆ wy}Ik}C @6(oYC=^~9ynws@@@@ SM z-^؝uYe]?ZlsTKWիW.Zu6gO;ӝx[@ Pw]vK}v zu]}N OoSuW駟/ovFC@@@@ +.JRsNUt"Xխ6|sn:?GZ*-T2e2dH\头%oV駟vz*mҼǷj*m 5m4sMH+@ S+t\pAONս&M6tӼaB@ -⬯zU(C@@@EUSSjɒ%nܹ^psfP,,+km =vZ;ugU6sLףGΖqz^Y Pw}7c *ni]*>R+[ڴ" Phog}U!@Ы*TY&    @MXoA|X&tR0a{ R+UӧOZE6(z$d-믿O[* ww8gwy{,m>?IV+| I;bڨQ6lc7|~{.; @׮];m@(o* wo6^Lƍ]FA@@@@z dc *駟:U7 vmy׬Yp?tPSO Oܖ[nS5Ot~7ozk2t ȑ#AO<-[[ooÞ{Zh4?5kBmw?{:uN]7~p3f^/_;.;_<8=_͛7ui9O:W{WdMcg[nnSS(k׮v@JPG'TO}'W_}6lofѣG'm}N!K/^yx p[Xw^{5_ | <~_'a;vRbU@>X$uC^{C=T~g}rvkꫯ}x]|w@ oo߿$&Jk׮=:rŊns'OM6~Yv4hPߨޮY=nڴioiNK.%9l0u߼m}M7tA3<w~5y}l ztF}}?~?~зo_wi{eڭm-\ަ-    @Q DNJETTa_:uj*:LEo [)0 /˟ 4oT $RSڔ!:t$q `g֧-1LEԾ[b1clTt9#F4iRkys΍ѝwi;A he˖i%;:9s{*:6>:`im6 i3@>/Oóc/z뭴ISN9%my~}e]6_TA3mzULF,kQ,m':묳҆EAb<umim6֙N؝(]Y޽{}`t"8uf+g @ؿem_7R{7js9'Pmw-$1`FRj]6_ED]\vik߯c4a .(K=i˰cQ+m7/&y! ȥ=дm=իWņ:6o˶;Q>2mn&@@@@UEnRPFߢ+-PZUVMH)UAp{v[(K.I;` j:U-Z'A^hiv5ߠWT$erxй6^ ۸qߖtކv?1\5@2\{%>Wu0LVJ ҾeTv+\ݷ5.Vyt.ZjU׿OW裼[M'i9Ҏ'=+Wz-_N\    @^|^po&uRBt3e c n8r/K[w^*y >ܯ+r* 'vgO2OwgF?UŠ,^8aht`8mQiNQ[%Ay]UAt~xUZnbK xI⋬jP 5ktqe<;gΜxy zeV3p˴4a__hnOUJaYf/_^t]=hEE%D'JvϠaKvaK P.YMLA)k^ (ִzM{IԝFr~,ۮ`Bu5UXKڼ6[@,,N~f{@}.%pX K.D#ote֣.8qbJ/}br[uE~mjiieu[iխҥK)F6^Xe8VѾ2\k[i `V7{ug+{lm뮻.m|y8Fr )ԕ CYp\$+u^xᅸ 䱁\]7j [ӲQݾd`N{-آS[N h    Oa*k{x .tQ@w ڵk+x o5oZ\tE(\ԭU. mxeyޱmr-y. vڹ-m.:NQב~\tթSǵhm6..BfϞmn z)Əsϴeo[uIiwI'PfaP̂^/ ,:EdІs Pe\TӍ=ڟL ?3Ur /Ĥ>wn.e[}iݺuXw/z;OxBR>Wkkăeҥ :yUJ\^9ZR4e&mՓ߇䶾?@*G[nNJr/9 z׿vQ+SK?SNY+ˈK/)nM~acLV(lzJci];0Ug;w;M B2]> _8@@@@r(T- @O+S ZOEAvmPJٴ*V4NUSUJ~W֟uDaTTyɯ[#vh[ۻԅK/*g=4r+ܦ9E'csL](u{{صr*uzRY.? z拮@c|ᝨIڴf[o gGa.¢+%G'SQExA(@NJ=)u]U?/T]0jp:ݏB~Q]#fj ̴m>'n۞c3:Nw<8mc@ We݋ib BiDiJb%~#g^q|<>UE-U8YndK~Big?KsQ5881m<@@@@@XT BNr2>x`*՟x \Q8ȥUgl=[[n[mm_Tm,U~^QW $FR˗/O zDWӨRHֹ %>]U)Su-SHMJKãR ۚ~T}$%/ @ؿvVW釹 z% ^Z!LOgn+~ި}_e&iѢE__A-;GU3>"     U&~1 {E]6tpᩨ~J'u@M*ԩou_a*~ukۦxRL]r%z*hU=J'T-趾_pĈ%txY7-SUeSS+tWh?u6>y8WE:m^'F18N zildjjbv9眓6U d'^6vcƌIzԍD4_ls оV!ݨT{sϥMY.C9ÓJNDɒM-)O+zGn'$5Zަ?+0}y@.PNR:y|=-}%t^K]}թAeܿwmEE]lUJ_~9. [}݆m:eT۶MvVmG@@@@: ,襓:Ht"TWܯ{رQ]&*H-Vx*g zYȫnݺ>n$uRS 5\S7E yX^ %O`qJw]A@U7Q+鞬&m҂^AIx&Om.[׍qڲGyDUc^O%ׯi,*߹kE2veq ?߽ . sܪf͝;7m>JO?=m:포%4NVoJtT￟ Væ۟R؆k g`؟uatg/gtR:A'i `V:~ij̙~-ܿwyi2v8^- RPt!Tmɋt1d@믏G'O>(S]wWc36Xe}ѭ@@@@(VըӁJ͛OD*] '2dHja/U +iWyف@[ c yo>?xUW*t} [K%{^|ПAp;v? [Qw%'MVRߴu[!55&+h=gkiּ:ˆB9"ӶZ^bn}S_zւ^O>dj*j/:NC.?gUMu} m%þVW ?j~Pc8^YW^yeJ^x!umzXV,Zmeb" -=HTU7{%^oS<}=֡trzQ7?|7-t %qktR2kۜ|4@@@@UJ^ trQW^ 0 []JP5>h_K8vŇ^#\B^p{Uk׮-Z?mBM:+EWx>:a*jɃN M]6d^Ó/Z*dĈ+YU%9mr{ly=C{'*d c="ӂ^H=G[UB [@UUr}jZF.Y]i? #ɦmLm,oK߳ϴp3Uv}`ִaSƗva4@ ^Tm3ׅIg&aky_NvXwhyUJ–^dEv/<|zG@@@@,ea&Nb>#K|ȫiӦ\mڴᨳ:wa YݻwazꭗWXɫN:~{ J7nRWPՁR$Vkƌ;$U0b <%YvS g LM }>s|Oqa [e K)ș+@% &XRK4}E=jVUUln=GbY{F]l3Ӳnᆸ\8@-[keLMjҔQNzj]UW]Ubp{ ̙3mڗj>}EB::񩠳U Wh{ذa9p~#][zث*ozU] _reN/=ܴ}vr_ T+ܗ'{CXTh˺^nWdKn[WjXx\@p9m.Nln3~1'&@@@@(:h`ڴH[lr@UrQɍ9E/\rK,qtQ$]z\>}\sQ~.:@[|^kTqaڶ(ocrEttCuQU/]сX /yiMQ5lеjE]S([oa۫uK/]DrQU59oծ];fQٳg {!E+ULsokԨQ?cAByW։I2mg@۩U͛7/uQ?9L ~O@rM }!TAU*1W]v.`L-CB=FjݺJeDUw m~n7TEY?n,:VSLg@@@@@,x[ p}>@ꫯ2?:Q+sQnwǍ&MC0Q5 :'\Etԩ߾KAT'TOs֬Y>msvi:{]vI^=okV}+W\o#>v}I4   S@])] ta @@@@@lЕK 9rUʬp]U^B= z)ռys^~mO'襀+ yRU>>#<9 8п[ns:F"        MR^ZIXUK!+W:usϻ^{ͽ[>kz6mFoN;+|)P^ܸq+⒕lZ^ ٞx8B^vk6ll޽ hNԩSݘ1c|MLӲyl6yy6h MOfa/USפ uտT*UgV#       oJz YJe\ ,p+VP (Y}uW iY)he/URw={ۡv5k,KIƎ뻔9sSիWvyh9۷SN 7G@@@@@@@@ҠL i CUb_~eZp*yuw8dȐx9uvsm#@@@@@@@@@f TIK D)@*rUXK]WXJ +{m馾G-*{BبQoWҴ d*y5iWR0+ef̘TLa5)Ц UR@nl{A@@@@@@@@2TYKR* zcU.U Kձ֬YCR^5j+`YPs%*{͙3Ǎ?WSkyUpRe˖iuCۣZtS0Uo.(-Z8URE2d2P?         @* zi*k-_ܩW^VJW|E,uۺƍU/| ^+ErUR^ZGXɫgϞ.+`}Ye[oVKQ<֣Gx9ll!        TyKatNPƍ+rYe/Ujذa^P^ ee뷰Wֵf]TKJ^K,Ia .t+W+yiY͛7w<U{"J^ҧ!        @y ҆%+{)lg}VX4oӦM}e}JYVr^ZQade/-˂fڞ&MWv|ٳ]J^ )hVn]_KTyL۩JdF%/@@@@@@@@@" zi#3URPJƏ+{Z_\fM\K+UR-T1KTZv^ aJ^?YɫAiSp駟v:W_բE =5vi2m@@@@@@@@GA/mOVkN.5TK€TXK/URE.U2^.]ꗣ)X鵬.J^fV^Ts&Mr3gtFƒJ^(ӭi4@@@@@@@@@ziRJM!(5=+r'|R*nb*huҥDesWnWZQvm?}J^ yi;)Sȑ#ӳVJ^ck֬Y\kvrm۶uf!/ƕd%ƍZ%/ma.*y         Q`5*{"}E.u瘫WjժSZiV^URO>"zBM+y[f9ۯ_?2         ^^LT+YKade&MdeM.[}gwuSkm!;-Z!/5k3f۰n:?uXn]uWSE0_뤒W%Y        dXA/mU^V+Sek*q)ԥZVKZlCYZ݌3|:ur[ldM4 qY%ɓ'#G_-rVKQ5}`Lj׮ퟃg6> @@@@@@@@ zd_SQF7xwJ]aJUڵkTakȐ!nUSK%Ku(QUJ^&Mr:J^Kշo_>׶C2^        @A*{=W^^ h}w>eTK mjƲ0\_ݔ)SJ^/Zɫ.j,         PEToU^wK.u [)2Uj֬SE.͢*y{ƌ^}U_/,QɫiӦgϞR**iU o @@@@@@@@d z%+{Ykܹn„ p)앩W.]|e/U֭l@nUkɾKӧ;UҲTK1ݶlϯ 4W kРO%J~'8@@@@@@@@*PA/mmW+Vp5m4բUӧjqsUN_k֬Yg}]_-LUԝnULU4ߐ!C*ymۖJ^YF@@@@@@@@@(ڠt^n^~eo\*{W߾}]Ν}kN]@9͘1#k%ݻW%|        \^To-QK]1&+{*W]^^Q3g:T˪y*%+y5iĩ__-V        5R^zUU裏܄ +&Oϟf\voծ]5lеkխ[4\r4c}L@IDATVZe˖[nnnw]t06iZh         @EKU=z{ג%K[ f5h5o܇4N;n:L7n/'U         6A/ml^KǫVrV˪qij mY/Ujݺ޽5h ׹sg*y@ſ         P*%l.\OF+{{FeV/WjѢի2dӧkӦ'@@@@@@@@(j[^ҥp /^y;UZrQhZj9գG*`o@@@@@@@@(@ zɨRS%;U~KT4 vFC@@@@@@@@֗@ z ,[e/U^'O+{)䕬~.]un䵾ފ@@@@@@@@ T렗T^q…nn̘1Na9sիW-[^z8m֮q'Ew2 G@@@@@@@@B TrU8q{ԩSݪU\|kРAsT*;!        @6u^+Vp_|5k{ݚ5k\]N|iӦ1Fm䬢W<;         @l0A/Yu;;jժkԨ]}˂^E          @3S+իWKPoիҟ ٶK5{\e(ZuաCװaÊ,y@60o͙3w[*bFk{t@h*+> (v?]ݺu_ooem=o-OժUr@@@@j@^a )/?!%MixgZNr}io6ZfrZV˳yV-ngiӭX½{~nݺ*  @ ɪw}?]FDom!$PA/TVS|xأǻK/M6-[,~vw;A@@@@ RhBTvBY nq27w|/iډkj@j'|qU #U#@`TUKO: ~9V͘1_Htc W_u "hSq,PA noʳg8;ᅩ, D@@@(EApa8Ió.\vYNrrmm:{.cצg<>ؖU۷~ۭZ׳>lmҤ;S ĉݬYN>x?[hSmС\w}7a?Ɂ6|\3ؠI]=jF뇷*9ٳ޽{Q?8~UN{&l.]^6zaO[i^3gtv-N;-m; w7 ܠA\㭷m馅 ց     TjЫ:XUUs.Jn6Y{-#AWMo[mӟ.ұ    E @Ы^b܄BX_A'|2[]eMzehyjwkӦM<; @M(~"N^?JK,q{пN;Uc^@@M z_7e[o9u#.u8ׯ_N6@]׫zy\,v}nUꩧN9rJOq9t~3wAͧ&qر͞=?+vNpUV^z=~mߐ!C\vYJܿIɦꕭ7=*SN<ٍ3=NN>dٖ{'3fm<@.͝;=~?=z6lw?񯷭Hw}w{Xe :}0o<쳏;]ZzUsi۠ ԩS3<%?yozYW_֮]뗧۲OVر?ŋs=&Lkݺ? F%ge˖Zΰa}m{6!S*yҝw 5k@IY֮];^=kVUN:y7UVfz*n:Z>NSh*[˶ ώ>ly/)\7tЌP)S{衇rIN.ⴰN8n 8qb }6t`wa{,=OP wT[*K.[e z]?ٝwy%FSeUa;`Z}`2SHP^2/_V~CyzhrvxԨQYJ?iʔmƍзIb6%æK/ }X @@@@J*A D֕ z}_]ueuy`^hZWfj6[k:YtRPj%^Zz_ܹu7w?܏亪ZMW.X5h_+gΜ/O? @u(~"FN$ԉM;1 u- .tLۗ8d~:t'zX^e L[Zz`ѣG_Q"\>hݪe-;&M䫽(֬Y3|G*h?窓ת{W|Zw}o׊+\IJ-+䯊5z=~Ua2Đ P}jRKz"oGC>7ߜ"92-Pm+anpo ^6BwW=z }dM#FXMn۶mVZ}P:*ihִЕ~?q6g 279"66߬ i?/-*]_괍ZRGa/5SB^w/%ZS5+TL29[a16mSh~? 3مM(xiɪuZ뽭jZ*Y<~xz-[OvAKUMwu״i:(׻wazTaKռ^FTL=' zu]JwzG4_d%^226^ U ; -׾4~eq    ]Wv=P'…tT]~؁Esu`@:ڑGՁR[n2襮Mtkmٷ~{|8 ֡ 7щ|I6,xTB7*QTH5C.kCVPִoP=N$~dxi2LQyDS@'trӺTuWd>pJ'st.빼.F\$¦ZbɦZN~&S7N@M z)0d(0 _XSVtI-~'AUXRg(Z W4M2K4^Uu?o~??jN0 )Q o6̀Cb*%@ړT/ SQwm竮..m :'[8mcS(G 9%lYՅ^WkP}^7tkҤ0xToNw+[nI %7!wk֝s9~\=M jM'0eR(ZS8K!2SS7{ǗizԵ熾oZ8L{={ae@@@@ A<5wdNK8 z:`hPlx;BtT' 25;ZZKܧz**{- P ߨG3ߠe]W# ^: nnڟUXXX3feUV{'^, kYӉDT, zڴlzjy(?^U^~+2c-F'\U[}_QX~'36ʎa&SWuZT i_`A=^T(lܵsׇ'蕶 ߄ VA/՟da9U:C-T) |+ܦ*hɦJ'ppBsɖ zM2%c|B~~*Ч߿aS92i3Ve'ef CQ z 6̝uYVpYJ s ؅k.SѪ*7@@@@r SsGZ;Wɠױ뮻:rW]>j^;PWHxP*zsݙg[^z٨R+zل B*u7Jfa&6 @u(~"Ί?SUTQS˂ :WڡVU(? :4["T!VZbNjߧ *A/Q'UqE-uuOE/ͫf diG}tZ/uS:ITH* YxWj䥊(馛n$UM%4JN-T/|.~G㠐~wD{un]\8,  WMc՚P)[hK]W_}+i=f22UCԒsO?օvoBu)DaЫ`ԬhJUVʆU֭^ums2c=҂^2Q(&OruYѠMz> 3ZX DA?RH.Ye/XEֻ|vUSsQO-2 z/TNjft?f^Yw-    [Wn;'4 r_=)襃:a'A\V\wj#TB7*QHK])y+EBU:WѦ.~,8 *@X0@'mJoil|^ Dx5Se]ӧOUK/KJ 鄣ɦ.,@3e K$cX5%uW:D>>Y3y.\w Alnժd=g*OKAURudg[.^5mf-okڵvi~SN~Vk [U+V᫷~$aKeXE0`ԩ>MQ7a7ysڵ3R,zj*c7`eB۶Ga9}'*#5p@l˶pJхR- zU;쳝u4mbO}2~a    SWN;P'% ;P>r۷=P)襫j 2\֦M^;vAp|^w;餓6O:N>d?L1 xDB^`PT%S'͓Mv͐[e[¥-3 zap|^ʪAؼz2*Xe ˜Ɲx^ p$N&ja@M z__r^>*PZ* zTLUdX%Y]9b zҪ> OjʱRH*S;A/Uu], wvmNձm۶ mx4ƒɓaWFr"y rFePۙoK]ZZWtZjǣ*ZJ=CN>'A}W֭©}ZE*zUfK55kVZԵSU+l4B{_WU:|cUO}d@+]bU$uۧO*3u%//{ƌgϞz2ݱ*Anyش_|lWXag?}]N>K]m`2^EZݪYUհ|Uׯ_*7ÒA/n?CCr.I?pb2껖.SҶ^>m?F9?k>묳ܰaM:u"+;UY    @F^Yh'IUFF+*n HO>'ɮ@M zUsX+:~A{*zQӪ5\NUP͛9Ѹ=V̠>8\UNRH}N!b6mX] }ݺQE!!=뮻D%SE/uǷf !aTȚXaLߏT9e¤}שDu:vR(;c8rJ (t+zղeKddδɠ?{~= ^KN:)xf^*vkڴ$ިQ#[hTܬ"( :vx*i|0[+d+|/*)p𠂡2/<[:ufF\w    SWN;P'%tTu՚Nj/Ҹ;U78pF8])VA)S'ŵln j@!q.v*襐uB\>`t,гN$]{i'm[oՏ1c6V[šdKoB+-裏3-gРAN]XMa2U`\h3gNQ#ۦ gU*u     ) DW$ꪫ⫸W?S*vͧ#FWN: >iz!5g][h5nܘ!s5V j;oҺRT5 t}Sdz}p'{-9k;Mגad7^W2,P-y;Hp5kV֠ڵk]ڵwS#ʖ.]/A4>l*ߴ odKzM2ƎT LMrYaʺ|W+W ]nw3]Iu,e+JU^}WRQk0x`7j([||+V#8J{P'5=uɩvW]E4rRvwisWzpzjr׭[>wGi;㧵*~p    ]Wv=P'… zeWK$t)d xdtG14hh+z=̝99s*$E5="Ĝ> 4GUB^nȉX?yD*: Mr-U9"t#F;qD+k(n 7?wGpGpGpG`5jO v);c[.E+ޭ I)$/v~~r滧8luɏ"QñXSavtA#q&8啲8 R>PGp&6ai+"z- 疥ތco8* 88%O¢Db>.2V^9KcRGSz뭗G?ZXB^{?: "PNXA>^nP`lͦX%AgW\qW=8D"0^Y`hGpGpGpGpGppP\m)d%\Q#Db(!{=CFk@5^8 NvG`6!0~.mSD/ KX]Ij{lyM񇎀#0zGs6?\0oA ? OSJ\;e򬛺n)뮻rXts}]&z뭗]xᅳz\5Kon)I}wsPouVӥ5o1o1΂|܃ g6<;}yV6-W]uUNHEӇwygZguj*#vmw?\#֜5 PW32ZeUzUk;NJfRRhΥSN9%y[8;XgK rʕH)lf k*d[dwjZD~.z9߆k]v0Q&믿~v痽uϿ/e|g? >M@em6cޜ6L08=v+_J+v?o{G=U mpa!y AbC\g<4K{½VD*tfDc9眓%q>W'zMLx9տ Sv"1NyF1&p$`D5hd),@@=l`ri7OD/@iXIe ,~зrWdk}=֩!yjH<я~Qꔔ%2;R({ذ&z={)XAkg?"z^yKƒ(74շtW7̑^X9Yb%QA ZΈ|w oUywԙg?f:9vSxnrgz^^ @-8/| \R@R|}v_֠bcCc<;ߡ-edpirmܦaGMbnl7yܘ[xqQa=S^pcVdQ6bo蓟dA|Ka>y1h*?<3k aYǯ4 ݴ'ыSXȎ;XrE/K!<3mP$o D)YmoT6^2jlXV|:Gbpt"J H6 =ʋD)(O(yы~,qGBFiӢNzIQͯ.H;[+Gp- _PBcG͕%Xg?[TO|9aK, \&$"%Ї "5ymo&G˛By睷 FٮcaODO}S:D Ns1ѣ'r-'va^!rsLV :ѫ2/9wlȱ )Hh6ް醾qW&$z1n\yMmT,X N_8n-Cn6% _< X$jN(*,C=4?RR)rP5k:;'z׉-8^e4ѫ,,>>5>=鉀/ajA:#,oc'z5[M֦2OZx3K?QO~rّGQ&~xk#bϟ-Bߏ'zM^(vg[ԕ:ڑ Fk D/+V u{lUp﷿m5C)]QŧCb,^?I $UwW:RiHU8Vay~ف9;k2۳Z*Bya={^6stQ{s_GI}S0tR`,OL9{L ~Ux|^z+_ʩ'>`vwWs:  p:[:&qW:kTNxm)4RD{7҈&,Ԭb-6U`| )`6Fl0ľ1|`ђfΘEXhb bٕ;LiD*^|sM[r,×|.=w)tM93H; aN;N3,ߟ|袋qrsj=-?{vw]n`#+8>uYg9qG@IDATMի8O jqYشo(AH';& VyH_CDE[GCZ&^|mceۻ+o]΀9餓[.˴c*Wa~9_B"w_tE};5}Sc#L 7!=KPP}_hZo|(7v]wu /}K)7駟]py[O<e%VM7װsɮ엿e7k(V_}TyQy뮻n1fdn:< bb!vGG os+2{󟟱k) \9hy~9]09SyctXfbEZ?X@1v%cf1 CWvcC|0_Q0D/_ m DkX$PN?1߅^nYgQY [c![mU8 Yz8*~vy{g~BEUs NCq5-~= fqQl[o 3 h~`FZIì2hķ%G|Mc,c^:Nr>V|"[0n)[v^ѿѶ3ZmR^ ӷ(qO׀YU{I<ۡ;+.ߧ?<9L->Ƨ-KSŷ-ʠwNa9a'ʞ({)\L^@z< I׏y((B+lb}aNuh0fmk@)2\j\xЎS^G|CμkN)$&q[&q3wk8])@ dN_u!\ĩ&/ z_Cǘ ?܄|׆a ܅;Hޅ";p;{=C ?q&С'"޷-% fK L:JShh;ar]'z_wⶸpq:^n"f' O&(JS]Rygby[ưh;aqHɶ+(Z;A!Td),4'юC.(:A^6L*:aqpKwq;nBJ','݇If'LƺGP% rWGp& *liҶ6(wS:AaRXZװ 䭔}OY a>WINر[?|kPBBp笳*~+~]/?⠰> O)pW2N0eSLދ߃4+@:PĥJw8o=JPޒpZ_٣VmJHSX(.^yxƍEQ)sTY%z-L'釸>`8>%@4{ )xwn} i )юmٕԷ=0i{=m7t6a}LrpGʄ6Jy\JRmpY6/kPXςr,Au,pP:iQq:~U;oxO;Jzڝ@)[h1C^u>3,ڀX?"_{3DHz6u1RzkR/X&qޑ:B&?@1ouE㮪qBݰw=W cĜAxqt,X6!ߗ2LķZ6P^(s=7Nv'zIT ۷(QgFrO(Ɗqޥ d"s(ת9,i dО~aDҽ3TY۴N(.(;^`w衙귽M%5O#Êʾ^~PVz]42ESsUڙpei|K:kI~!i{ͤlQx :apWۺEP\"آM ;a[ ήa ,]v!a0]WF> +Xb->JLآT؁0Yyq8(]0^ٕ-<}v I؉vLk[Dt˒b@әʶn| N02q;v]a1'&Lg+ggvY쭿Tb, X~$ܢVFl`$ $P$d'zXD+!B{ˎF I vWX!ʝ)a }).0r&n]i%>vX+ ғGcw(?;Gp& 6*\؝l X> 5 VRm aa +Is2vO`aH'aW?} BٵNXCF,{п2b׷3V{<,Z[{9i`'5VA{ê"X>eG:VŘOdдc!x)w,j \Xa'mlX Ou+7)@֐O1a%EV@ZeuU_$|],zQ_cT峗E/[kAs!̱Eg0ufؾ:cwEkC=ܳ`K~UBkz\Zi'8E=YlPa,z-Kۚtm{򮾗vD+ȊЎX떌NW,XqHi]nվ3vSx¦9+v뭷-Ʋ/Q%54IP="nXW$nx%UsU; cb,"-XA~6waxE]9 T \?x>o;wo;:> DuC] ﰌD{EO{CT8߹5ޤ'03[H}ϰ4ĜI˜z*a| q&s@;?%JJ=%GuTF;0}KVlU_3sȒ,X̎x![b}7ILY鿱ԏ 1h}i aY̙'q}#s ;'39X?W,עe,؋pVo0m8v:zw  mO?eQ_^zn4Q^v}+^Rw/lƐX#M㜷G&p;{iM8ShkzvY xKزZyS Zܧ0 zεE/_ uBCŢV. p´sowαGp)WQVs,gAtaA 0]K;(C] ]h7 ʢ*VH1k k%|,]]+^kыGyR;#.Ҵz߯q\\4 ?h6m3, ;NITW‚mEz dUX9 VGX)vtITZ E^ovgGX ¢G7c6[0آmuPHn`v1uPtgG +xW%#V^ EZs vHNi5(60aU%WNY=y;(Z^Udש]?iUX#@F=+ AP$̇6*sEE*CӮw ,z8l*FӰ\RyEzWp|C/7xL.頀˝HPJ,<(bo@zoeԤ]q3u4zǕ,vc"(WyZݝ8d=ί-]ml t"qvGdRx߫'<; yT*ElugLFa7RaA m͑$X.LXB7Ǿ^ *6}+`i/`^{;Y]9(-M8)#D!`n^Bn֗&y% f5%.a-u]O*vʏ7?-1p{=8=W& ϾD/kMnlc Q/KSxjö~j=uL&QNmt6"U );/b[ыZvm.*ԙdM#WΕ~<^!߸K-GNo.Y,8&zC W]%}uklĺMc@C "E>0뒥.B~J%lXŪ­v¼l-W,V,ѫ"$q}p":?a^1J#)!l4h $A*u7ebwI[z Y73Njja)CY[Yb\=(D8"#'w/E^V q BOJUe&Fiˮ1a_RiM]ocKbӍE)W&ԙa&䵗ؒ±IHh@+U.Vl8KV}zJ'W _nu* :֙A#*O͕1ܤ,BnPPQduOW_M+/%䷬!~;E.x%6koX"sN]PaBzED3kZӳcy)@ 3UJ{WA^ oPd,N]/aAUq@ShOH_"-pĥZeceؾņ}D^u:3|Zb6Kk}|OZOs5&?߫5 z`ױ 7h} ng۞JD6~RlIn1ʅ۪qܗ]-k؍(,?{UYF)Zi/"\? G?Vפ4銵EKƖ?{}~os2 5{cӿ43$ H,ы2Bê@QCguXz!R gwXdbد]xIJ +?[VL0pX g,oz;XR:(8<~3&Pش'7y G=o 6ijiQpU)愈^?>.M|u^ ҕ>&X7I1;=v3YvqG`h(c)X)?F ~uXQR_TiaFBD+eլ0뒥S$̮˔#qUU7햜xL\@f: J4ilLf*sxE8#䴑=yb(};/;&m6;XE 7`X/#zUy X%RnQ(bGi˒ʈUyCӔ.*U:3hdwNKrsYU8Zeg^,!Vɸ^"ҐNk*j =Z*AS;>uUyXPNT;uqeJXe]bo!Wx]%R#&됖#f<k#XB>@is=|!֚Uʋ8y%Tw[[r*Ze/xXv侩yo%QI]8]~ ㈔@^P:b0}K*.] s<]*lKy3ufiyqS.6? (?j{XR^}]ޛXhNvc;o*[[Q+q[}q0 Q]5*d'<ܶ|\"A"eyI&47 E7 |KRC8":1gVݳ "\!.Xde~ˈ^ lxܳ MX_.XKRHBc1n~c|NXv'3]Ydɥ^D/,zQNXYJTjiY +qL`8$"fQU e1.R_L;vm=JW HUlwK99*FP,\oؾjJU*̺idaeb®]ThJdUf@`Mᔹn+]e2U: )<}u^% cd +W7^*ȡ)^VQ.w,+RjџX_ŷ*?F-u^KjܒW Zr_U7 Cs19,z;Xl[d^Suf:c'^"𝗉%iX%22+;._ #!3ֿISW*JjRB dD(<]ic!uX+l<^巊(~og-mYjen|yTvA ̃ۏvu CФl踪4;*r`Ks*e\nkLryVvH=D^D.Y ?6e vT3bU鯛>\G( {c?M*I#zYإ.pGP4i:B4؝'Uzϫq὾eb-z1ߒH܋e(Q]9VuD2{cL$0{-bCqjDK#)ަыFTKjڼYNU V$\o~UD/;'}ouf:KS;gɗTg}٧pW"q,aj!X3ֿɪ2WŊzNT 9+^X m#lM[k%%n]|=[v3tcN<>Z%} †>D;K> ͷY{Ӌ.p[ȁXV1qv <ř~R 72QvpdjIq,윧j|iUG :sEj%-J}D/[g,V}댭gK&]@%]O|Ѧ0Q+îo4Um':uVnkSD/o)k;VokEt/eWKF zٍ,3 Voۿ6iJ=&Ҿ1Nn[_4oUqt﷪~YT}&^H)vءɰ}KW`%ӮPl]g\]Yv8(o}3c:dF{ YzIv{ ;l} >}D?1QGuUԲ΢M;#0n7i2mژKXlZ.nbNRsDI QUV(,1ؠb #Zc(S3FVXK$ )s{ )0,>6*?z _zN*2Z=T ˒b6|se2:ILºޕ)'U^D/'7+M})֪)2ա~6ò9Ft-ٸOY s ;So ҡƣeߠkZ+͠┵>=FS}v,:<ieO:Eu 2iD/:3LB8*G9SʤydW%^F30,.[֦YbD[`I5w HϹ%5IhI„Kꐍ>I LԔ{]kr7x~M7uD/D^nYf"le>o|o;~^wy)[s 4:tɟ_ 6SaV:$-f:%,& K`;hw}'Zv{hl^`*E -.b"#v#[ؐq]G$70AaXxb% X۰XxF+ǘ"ʍLC5V(Ms /6vm)WtꥈP cjI5 KWƻe>j-Ɩ شD/kSi"zD[K9mw9Sc!Vrw?D/;I䬅XI:?[RB sJZ%XLL~^ED<3-3=Eqj]leKRl(%zXѭUa(eĈ*Vy]GuE*Y8T 9 ?r5&hޒ4R~?;EXIKPה-Q:ʮ୲Ջ|hñ_u6M5Նڱ7fDg[nȃgWݕXKa JZ֬@W\SݒV6*e2XȱX+Dqt﷪ Lc Že.! P0Pac) ks?ˎ`7*qvgo1Em|oes7n."q?kA7IZ _iD/TM\o;;)q1&+I$zYeeٚ֠ϡ_-L c kq~>sBĽ#ς=VÜEߋ.C@cIBA/7\م% aAl!]Q? ы҇ϒXsbC$iܱoy_ȩE}S}Rzhc䖸QB;A\w{oxa2XOa㷸>#~gt-K ŕ4@>l4gcі92o"^xX&m-6OM,1γ~Ji'ϰg3], @yN0-غ@x$A +M Jw~]ǚu K"7KJ;OboAՖ pTegǧ|?"8 752QEAW D/MfW:S֎=g7|N:6,;NÍ֜옚3bn6t‰;m,A^mnV]K)hֳik~8a cx Giq$dRҢTܪk}[1`,fɘJˮuADL $ źw2}KXb1exS[peы<::.$ ,aRuf͕[5&ZZ?[yU^Q=$Q|l|Im6o4Ui'~;V z x+TD9y\ƚCJ%zQTݲOsDYǶtJe$I++`2XVq렸M=!?2n<Ҩ9[v<@um{Wg2,Ì]Z"7X=i@[ ֘襆9BH%~ AZDD(\HUۢ\FpbPXr'$+~)t"t)L$N=/#zFf|Ϥʼn^N,.~?{quV1l>L%6K%wZQWR;hf$jro DI*-J=\~RdpIC~ Rmf{MPم%>/#zS%v?ߣ z~QT]R}aviSa/;mZS_m҈^=E'dXbFOYO7:{D/)@r9XMUMjmDL¯BJU"zArJgg%&ȝvn0݈^ӧ4WmG8~{J[lCWnʤ:ot zRSUJ82%-w-[-Du-#*<}D'S6Q<\}ǽ˧/}uE|+5>uD6a)U~)yU]%(4ohP Wqs!%ㅔxaŎoBjqgc$&fCb*A^)e W޹/u5e2(֙8>;wsߪ%tY"z,*?MeL-W#`)od iwq٩ыxYo([Suf^ k O]U,l! +}v@`ߔͳoe "t&zYR*MUؾ1qwlee6=nJ㜷ap}r㸦qeFtזB{ScFI\!vkh5\˿5o!*E<?Ձewe@Wxeq=WCz_ݕVauWαIabp)]q믿&c)6<݄S+"p 9kںe;[~?{P3G=o Kш,2?V̊\łH:잷QFHUGXnXb {hc!v[9;#0hߨ€6ckb we<1+X)[;6,R BlUvm7d{ňD02U)ؔRWKI0i'<ŭej)'Ju@ng/uŢ:B<ngԵ2iglJ_U$wN3!)~xWF4T)`tQڲ< n[o-bvEbH9FXQxwC`i[aW{+wz"d`+{ZO~9)&oqBQ"K l]eы8Z|*eCr zC=EM :jƼw1m1m۷4Ygl;k6= VKa+^ 00̞ggK/t6|Y'~8 &6~c#aA0 ,,dAѓjGJb-V0ςr&i,,dAEl*yo*K0Ph_OÄ13lUV~t@IDATɂE" }M ga"=Uҗ4{ғG }I8"3}lŚB 6(<(q`{`5+jWi+f|=dkRYu5)b.H/Sx'gazys8}Ky`=y(\kO}jmq2&Uп7s2l&O{tnyHPY +aSz>Weͺ}L_k`BĚ|3I34; 8c`uo\Wyaqqi)wW2y[ 2lN  e#81Nz8#0x1TSDpGiՆlmiB d2(ы0,X ̃c=xEAψ{[DLkuM!`* zuw#@4p^n7Wڸ[r% CrGpGpGpG8kW4HOGpLJ1)L<ڧ_Gy$o[+>ߟo;ow'< yB>dzhDvmE!򗿼?w&oiw:'>1kƛ }xDzE>ɛ-ٹ瞛.LtqxX#8#8#8#8'zrkWh8#&ߘth[r6<̮xǴs״,O#x e8Omfl .xoۜg>3{sy']/N8!;c_] [^Y?//}Koex;pGpGpGpGp2'zy%H" $,pGI7&%%0BN)# \?yvgijg?#KL*ӱ8Ssʓlnګh7vyOH㇔J+qwqٶn;RCe] . :g~;#;ꨣX\mJݎ8(o{W2,ooYg=Y~e3O-pGpGpGpGB^UwQ1ó8G`RII8 \D!'zTC>VL~cM6ɰ<%Z-/| o kWi&za%/yI~|2 i!+3Y&կ *% 7|uޝwޙ-袹7~3E_~ zEe뮻n[a#8#8#8#8 D@ALGL8LA`RqʾerK׿50[uU^ <S2y˕įx+g_}޲.[(5m iXpn)뮻pW2z1\sGW_G?ww&^\QŌk&\A7Gq(!W8?y睗Oval%(B帨gy9;? k.J?iC79o/u]=҇;<*B=4y^y啳W_=[`b]e()QRwy4E`F/(IڙmD/)a}{_vm<}!>ʙz(Gdw裏f#[{9#8#8#8#`b#0 8#A`R~,`c_ @% $J7 ">z{~酛[xfI$.7 HJRt]wԟb=},7@1^ų@(~ۼl喝lu<'g-WWRY׽u]mW{{s饗v呤_ԅ^h?],.wc˧#o*{n7|N MÃ@z(/cҟ?t#mu0P{j:pՖ4nYjGhڔ@--{k0[E?ڶδ8`I>;cM:|7" pGpGpGpG`!ŠT'#8I7L'֨^E+s6`9, _?>n%\I {GO~c,qaeMbâa KV/˻xXE.:ӲqaM"XKD{&e-WBg}3?"nJ;.ⅻ@>)V_\@FX$|_a$Xvü2,aˊ~{G)2 a/ ~K_*'?9ͷ"+i-ZKfBشXj:I+BBEy%dX~RS ae믿~ ٌ?+UViif66pG.}r_@Ik(f?\0L'?K~DQԕ:+o)Ybi ˒ Sb_=-R4`s\k`v -Pmmݖg>c{.7IvmK\cGpGpGpGpG&٭tܹ^3pG` LJf:O]@,J,(ݻ8aDDHHaEa׹ u,zx?ExmFE n>v~uPwx;+"`` G^u cKb-z8 e|+.#< =yY"^;$:x ă<8rU.?餓da%ZW H #+ Kun 3=}]{ d>w`*?8Ianfk8#8#8#8#[ +n.S;קʟ8#LW&h3+Bբ̭pM6)\s̑~uYPyq J,( X2EsWvgq~H㮻Z\fmrKQ82Zk G/frJ̟ccX~o-zXb-Ra 7 ,uUʂ8E^ ?d '[QXW]uUa69S+ݖ]vkb)sOniXrE@oPXb,̬zb& yQ/,=Οٺ?Y1՜@-_@FXzV`2;gK-W,a B/|ޖ` ]^{erH#,~Ӿ^ XZb%w`v i%d a UXSEϰ"E;E/| zp񛾕6KP3O^7vXn˲|[LC #u=E/̹3ҿjuyG+vGܕE=sK/N(Gս=b2UxcdES/yKRAw= w8z.W,A^;G=*G}䪴K˿}?Ɩ6i%E8rpGpGpGpG'z ;3nϚ#8N'ʽ;qzR`rbc=V<[gu* i!ztAEm8RHJo$B*{Gύ7ޘ1Wop"RuZ>hRVnRD.H'>^T=D,A^S:z[@ܑ#0&o/i0Q!@LOxwYg͟KSM]E1K:Ó邰-sSag%_[7BV f6d+oAYy"t4}~ ӺqNXtqGpGpGpGpE^"8COG ڳ8@`R҉#)I&*޿/n,AxJvu"O`~ġ}o^G?}[)oa ?H)kY~;om0]\rI=NQanZk;&n1E|kMQX\3RHEеZ@p:x?8N{D/kOM;#8#8#8#8!D`Bc9tG`r~tB^r/u=:=Д˺0Y(sهvX2NW_}u.`2*!HDCh䭸ؔ%!vZ֋/ޜp 2fVƆY^RGdZXxw0rVPW5ߑG9=Dp܈d`ꪫx54 ACa7bsNNo/W8:OߢCס_`C0>C~&&z'd3ɇo6U D2=Va@[ȯUX7MX"6yp$cTX-9^‘u{]>@2O?s\{q C:D/<.E``G JIŠHj|Tn8#8#8#8#!^1G P^uUGpG HgPfW^yedE2,Jb-3#i/dݢA4JP2u+J!CzkȐ^4\!ʘS)JTn$"2ts>=yy߽穳kgݞoRWLV ٸqlRڴi#fImKX,%Փ}Gj֬NYl21KOI d]wMY'ouڵkK-CRRvL}`Ŵ4icfͤJ*%އ ŋ>Fvq媂%:vl!z/\5%>&̛7޳]ۙ 9urFI&žCuf2INS3??b*&@/ѣGbxbh ~Y0XdM Ф%ӦMݩ˒6}f{V?!fYd K^wd޽,Xig&0J9l֭4B7 b$p͟?_:v~0wRF%Ld \Ji0ٳm; foӀ. -Z$]tIM#TtG% rmܸqzঁ6f9XiԨQ8t_tbϙUb2+B5L&Nh Mn61ŤjժaUd N ˤIDuCQ܉'(zO&S ȍXAimA7bĈ1y 5QjԨEI۟,Wl`lg*@WLs0ɢ&fOAlfԉu D F x߰M5o~ra(C@@@@Tzx*G pK+tkYNS>_jK#pSf@1KYR֯_'F[1Jt rh,f FL4H2ݼ@e 5G{}mpfwޯY=5Zj}_rkQu9kܸ|q\XfҠ͛Eu{饗ɗ_~YrQ*B@@@pL@/&[h_hAU+,<[dz]]~0TA=pK[n0jfe;`*8WX^6H .@@@@ Ы"&_h80I + We( @Q (_~ 6Lƌcoh2t¸9"k֬_f=rH1(@@@@z)ޓ|Qsϝ#pem@r/{#o{ruԩ#K.-ek    U@ h{(Љ@< pey&E(REAoGհaC;w4o/c@@@@pI@/fͥ@p8 @4.\P,Y"UVvIVds=    ^E=o/4Rp@ Y+L@"xoT:D@@@@H%@W*"/ "}@7\g) 'y[@@@@@ʊF1wR+ @7%     @ʽiA1 Pn7\gMBH+{#-'@@@@@Y@rwr|L1N@ 7\g4fQ @@@@@^Q/4"4 p@+t`" P7bI@@@@@(_h7WC\p8]? P(7 e&@@@@@0*y]FI(hWnpHF,V^]*W2CExl"۶m7UolUVjժEjR`0    PzUD|U?ƅ+ WYlDUƼysΖG38Dҿ/3HӦMeժU%֧d'0g2d,^X6ow2qDӧ\;ӟz-'Op*Udׯ=:>h   D\@OPE ϕ/4*ʇ" pe!T+7|Stb2 :e֬YҰaCO+ܮ`>}ޥ^*u)ksП1Y ۢ襁{$շo_y2qY_    @U\B|. @+ W @E &ƌ#_|},Y"oE=V\8YpkVu&=nԨhl^F/2#@@@ +ܥK]B' @ "7\gDa E/{#@?Pk^o߾@o&UV:C^Ge۶mRn]i֬Yrw\.@e@@@@!+_h BH-{Õq  @y 䧂@[uI lC9-^"r%I?    Pz,\B#N YpeYLM@ gڴi2o<ٺuvarI'ɯ*]t>kۊ+O,5j9眓TX'ɓmifL>]qѾwqGiݺ\pұcdƌ~-Z$ׯ_ti;;&`͚5_t]Zhaw^6Ck6k,{ܯ_??ǫpGJNÜ|oٳ壏>O?T~{i۶s 'H&M2o-sw޽{w9J*)}]Yt|Ǣ>Y /kO?-/k׶;w~jF'|R^xYjlڴIիg}˱kCB}ƍ'˗/ժUL:t+y+U$W\qE6~,wF%7o5cȑ#QGk=M6qeܹs套^?+6lVZIvO~^W^y>wz&L /u98蠃Ҹqc`Ff;7?K0Ϩ>cg' 2@@@@ ?!$`8@D+Ĝ: {3h gL4ɯaÆ M.r8؟wqMJ$^{LV\Y-vl]/{ojGmHe]b&P>q3Ʈb>muo7W/젬 @@@(D2zbKiE͞eS .f<}f {e[5nڴz6fҌ\&Z 4Uffm{S}L'ޤkƬmƍ6aJZS0Ѷ˖-޸.>s:ך]J3鳣ۭ*&ٳ<Hi&ZjΑ\=eNi*o,qz>Nj. [b?ڟZd=λvi?9m3zk-/gi3yy5mLfgf ۮ:;/z.tW^mtLگyc9|Ga"6%˪gⲫ>9F@@@ V׸ D\/ @\yo2|#d& @L2%n&?g"*W\#sY{~6v&&[T]~'i i`.o\o4Xf"YSѣ~e`G,ӌdfRG6K }&nf9>--\~{3HqҊ믏+7Kŝ mf n;3i]Wc|f2/190Ac~x& .x*t__%>w},ڇ3zifȘ o1"L]L`\6d+)W>~e2>    . [@TQ EW3s̘@b{C3.n 7C4ofTmt㏷YM\R6"-n&`Hj׮m4f ~Uɞ{g 2Kfs9GqƉfwf fLOo6䴍7.m߿kzY|W(afOMVIjJh5C &fuJl8a9lfꪫ*&Ic{z)\&;]t\pBi߾}&͒TDF 4\ƍmQgtS:xif~`F/%ׯv)X%t?GWoڴi6C_U@.W~1>@@@@ Ы477/4rs' P7\gy@(Y ]GvnflҥgΜY"૯*.g2\}Kd{겆^`bhXbGIʺu=x~]w..mS~}{xꩧ~S뫹n=vZ#:ͽ&+V]ɸT2nr,c3 TJ_M{9X׿Jʕ|6szԥ5`W\aLvhrIDAT;ڵkz36p:a^>d֭[evMÂN$+_C    Pz,Fn.@${Õqi@QxohˀSvLS‰kc硤ML [ʪ/wZXuufYƔlY߾}qw@@@@ W'd(ɣ@ 7\gTq!&F0 =z$M.vEjzr-MeH3Km/^ڵP&}Jm ft9N3zRmڴ箸 1bcNJ g̘!ݻwϴnfJY*ML2E4,rfvɼy7 eNEu+mF/6~v~G?[N ^UR@YVX8uֵϪ M$WRnw\h(A@@@ C@˜ǜ߅vp@C@p8 @7xW#~ڞݻL<9Uդ={OJIW~ǥ'@@@@ (;C(,Qۡ+@< pey.GP .f~ћ 6u=o7… <駟bK. }ǿ?*K mNGe%ヤruB%{?֭Kk%L_'2}믿Կ>7MPPR-z಑df⒓&*fEv9F]v3զK.z6&[R5Ju=f2N&XR`.Y]Lk~Kt̙3곞h~z.?K7.Ll'Lx:sOtc~DžB@@@@[ȃ@m% @\yo2oR5ͪs,3Yb7e2B}hK.ğ{>ukڴiM^O `* Ҷ&VR;o{14Nrt>V^3ٜbZ2hYg3b7n׬Y3Y3ݻɰVK֭[c k@Y\6XZKYVu][EΏ>/φ΅7g;C#q3Y~xmLsz_Vq^?|"    ҍ_ؒDI(A+ Wyf\ @ Da-] -lFAIzURSanugbl =zĝOw\/]=%&8)',&(\z%-7a^?KtF5Ava<蠃dܹҞurtcbS),_|3&[n%҇3fH:_Rf2* [iΜ9),c]vY7xcL3|4s=g`5&*]Ӭν1w s6mJy z̰.l'^}Xp)`{6ͤ5tP`;Svla;^{]RR32aޏ mvާ>+qXӸ2] k}ek0]wӼ{^{+鼤2}O>1]^;LpVb3X3yu3L\r,A   ̿>% D\O% Qp88nj (F(74#ѢE_~SF f˖-btD3Fׯ/{l݇YNrvb\(${챇4o<]$tlʕRzui߾}ssJټ*UшQ7[m[^ۚԣ%C,hqbҶչ{_~f͚ҨQ#iҤTR%m[=i _|!f?1bmZJl[L,[L4[-Lru~bܔ6m؟\ǥ7!    +G(@fn (W` np\@@@@@ Ы&4W@8\yo2xjK@ 7?GYnO̲Yw{)ȨQnOC@@@@@ ^t_hs @7\gS@@<jĻԥ5k({)?xi     +N "|nB+b h y@x| >ʇj0 P7\g9NBH#Ƴ>+˖-vA 4Nƍg?p9蠃h'|b-_WVMׯ/[N8A:t UT m ,_|Q{=d}K^iӦ)W^yEx ʯ*&Lիgݿiܸqھ2=9|y饗lK.Dt3gڱnrKϞ=e˖)\z o˚5k/-ZH۶meN:S~7>|b1{>Zt\<5_Yfr۾_Q;Qv%u;Sҥ'Olw 6#<"+WO>.8{l?~\Ҏiذa뮻&k׮~Z/^lj׮mOΝ;'Y~;1o<5k=ׯ4h;e?O M4@h͉n Թرcho]SugG}tN w.=ԪU+|ƍm0Wttm^WGv˧7ʅ    "@W0w|#FS+,ΧF'FY4f .k! (:uTofWLDSL5h϶Y>ø!  ^YJD5f+^ջwo)[o zN%fҀ}ڦL7lfwR/)ݘGs楁SڏDm۶}g6p Zb?S? hΫn}/ Yf1{,Zn6SONe}i'xvϿ}Qnݺ?vi $D@@@(Hxwc @L\yo2L̩ 7i쟰&WRCM&cWL KҹsmM@Slݺuqu `^&p'fNLyq4׿7Y2^&)ާYooܒh xNfƸ3N~:_ve1D_ ޛ ({Mۺu=w0|2=~_}ULxktG=Ldh;<=z_O7lxV&[Z\=ti2ŝu7b~zfYTKdЋeT;=x&+Uռ{{K@[Òs@@@@e1\@h\yo2΢}q@ bQyo5K< JY&Vh[q̯c    ML,_ubۦ PK 89rd>3=a޼lcqͼ@/cg@Ʈ\6̯3|*^f9D_hh&_d 5kMо3-lO2    @:@IDATłbj{DbAWa{%{bDEEϼfΞ={wsٝwfg<7-`cc6dv!@2nl@@sHʸѣG3b +Zke_veNu>~fȐ!f%H`C:t0Gv<쳦o߾ص^kYge."{WSO=j+"d1l0ӳgϬk4wv3g#~ߚZSy,~ۿѵty<@駟6L81i?nufƌcovӽ{wkW\qu;'|'̢.j7|cc/;&6;85uTөS'pvM~lo Ӹk33gδl}&.qGbl,W-'}F *MZha/w1ǘ뮻K8p=gUV%Ob@ @ !"xAЫqئ:פLh"C#i7bg5 @ 2nT*zLΝ3Xfm".]dy\·~۬n^zd^mvYi &L`$oq63{wFW^y\r%;ȈH\']4H8Ul裏̠Ḁ^)S4Nv3|p=nK0+UVY̞= %R~g$*6zfڴiKzm=6ØȹsVX!H%93jԨ0^f-̪KBA @ *Y] M!!iE P2n◸j?~ӧy7F$:ꨣ2=C&i׮]C=Ԝs9Y|׌3LǎT;zIzcǎ}5טc=V6u].s/yR%pGGy\Vy?%'J#yZ9tM6͸qL׮]'|bڶmkKept= \⢟FR^o4i=Wme˖=\^W)ܕnMnf}q+QՁ1 @ @*zUce #K &i6[  >I7 |[qK7:{ͣ>j_y1:蠃¨ۗB.UaK iӦ^/r-2;T+VL֭ r 36AJ 駟nV_}u/1묳ثB/Yd{Skw7?/0.lWL J6Y毾j*`vz%20 @ TB*l2Qk\) Z%q#-vj;\F )㆖ q {gr'r|$`Qzy{RJ($ZqPn@wzIo6>X1;´of_FtdWb,]~ذaJP\yܽ([z|嘳5zڴ;?z|>'@ @ 48ْk $eB#@H˸;PN@I'qc"Xj0[٩AB'ȈzK 62s;r k=?Ow|aP+4Kbe(G,];vlxSNq9sBWS%!ϨKO lM4 gaݺuvdKuA\A"9W `90yr2w܆{/xB!"MCnᆜt}o.yB @ !Ыy'IH<(  K -FZYA@2$eS E#%oN#oK{gxL8<4I, U ,޹%<>: _~!h:餓}]+6xy6rb ~hnKSZfJM2%C w7f2:Db:.Odc5q}VS%C$rr{VP%!ڴir=zweI&5|wgΜ0f̘ˆ`S0q8jɶ-}E5K7|6,٠jq\,UjYb2 n֌z5k=럫+)!@ @J!BNd^M6$#@@i31q 4nlV_{qcHƜvi M ,#.p̫jaM0a_bLֱhDW gu袋l@0eڴi=W\qEޱLy,bO>d3hР8{fȑ6*znFlr#b&fmfe|fΉ~{佮cǎ~ @ @HW3OHr` H˸;WX@> 0n4Okio싿f7Fȉ @ @@B Jh4YLh4w p}@"q#-v@`h3fy˾x޽"^e#D@ @ @ z%b,&4> tH˸;UX @v 0nnMf&Md ֭[@X@ @ =^u0υX@'q#-vS&FSz @ @ B|tu\@2n2S @0n4T @ @ *]mȄFm/ Pmi7bg @<q,@ @ @hkseB#UH 4)iI+A@N9p @ @BfK2ZF@!q#-v&f@}`ܨ @ @FWj$!0 @)!q#-v1@`ܨ* @ @REWeBXs%@@ -FZ쬅6A ƍZE@ @ @v jIШ*N2 P2nΚo0@Jʸ?sfQ_hL≀ @ @ d@zivjeBAb :!q#-vIOVƍcǚnݺ^`YtEc%5Eִc=\s5I5 @ @ TB# keB6jR@H>i35@{w}c+-B={aÆŖH@ @ @HW-jT+U@A Pi$ & PI'dl "j% @ @ TB*ljuB@H i3)@iz_5+Yc5꽙R~@ @ @ .:Q B@2nɓ@iz5f7 @ @ $@iFjuBri@5M -FZB @RƍѣGw},27wqyK/d]w]V[;,E-E5uT|?pӦMk\wuf޼ycǎ[nY/<3vmgvj:t`ˣ?fֲ*kG 6NY.bʔ)fܸqvc1?~y̌3Fmd{)9?[oǷzkۆ_-ҖlkL˖-cMP 6̶Yf-پ}{ mv3;찃Yr%sv}w馛Ǣ7|={v߾}ه @ @BFZ Y&eBXR@@ -FZ쬇6C!@R |AӶm[s!Cd[{ꪫ8  ~ꫯBa6lc~h!@ @ F ЫBIШ@=H˸;PF@i q Z $ͤI!yǚ9sYdE\Ϧz=Sfxh 74&r !$K//h0& }i׮lWCC3MFzf7_~w=֓<4J(ls=E]Զ'%\bj|鸂] xOT@ @ @ j|ƩBR&4R !!iE HI7|D^/?l׿#GC9$/ϦzGH{=n)A.W0-ZQ L^\8_nw dNc+ufƌSҥnkϑf־}ms5+Bxos1}% @ @@@4SwLhCSi7bg6# @ q2nBVZe:-b -TB_SN6iƝw9ny\bINUҍO?fmYYTP%%JJhO= .uY%v"AٳUmv0nn2,n}/먣 H@&!w}gXb @ @@@ո|S{R&4R !iΚŅ XI7|W.o]'|4hek 6 'צzS`l*/u￷"ol'i>ꪫBBL @ @*&ЫbAR&4j. P{2nk!@: $e^YhxfȐ!6~ƌcǎYi\DS e|IE>ǎ.Q13쳏P^z%s]wI2>СC3܎g7/yҏW]uի0ai6 @ @ !Ыi8*IH8  P2n:mF@$e^}Y~XṾɝ [KCY7|9#lCoyF~,6.a12^}N#iӦ^zm`67x\͛gZjpmȋ׎;hwliM6ڶmk>CӲeKO@ @ @  jiDR&4!#ie DI7|<=~gmIKJ'dF?쳦K.$qL׮]~ܵ|MzQ׋/hj+{4Gu~ْ,w+ \8묳L>}n?ϟ :t`On[l]>eӹs笼vfnͬ6i!:@ @ @Q j4)'I i>Z  |I7|QTiѢE{1ݗ m1M߾}ٸ_~H [ȨKLJ;SNj:u+78O&nlTڅ^*ĝwiZ~;v4qB/ - ۗʦj Z@ @ 4=^M<WLʄF*`a$  @@MH"'j۶y衇L׮]=ꫯޛBwu:t4iRxXoW^R.v͌5.({sO3~xw8Sn6̠low.壠sX|f͚e^{5ۥr pΜ9_7 -b-̒K.Y~GL",bϽGa_rrM>nڬjF޼2q$9;-J+UW]hF @ @ >WgMbqR&4\*&q#-vV\!d@U!q#NU& S@ @ @zsؤLh}E@JeH)v̄ P2n]uI'8h@ysa̘16^Zzp @ @ CW Iʄu@ q#-vֱ@Hʸv[Zm۶f2.6m4iR؈{=` @ @ d@蕅Hʄ@ q#-vֱ@HʸQ+Bot)0q @ @ @`2?؂ $H˸;\@$ex|`ZnmU?`LkO?,Xfu1mYdERW&  @ @ z5\3))@ H˸;iT ɨ @ @ O-!X 2n && @ @ %+/=ȄF=% Pi:@>ƍ3%G@ @ @(BLhtR8@U'q#-vV"Q6N @ @ F"Ы=[&4^@i eHM[{\ r`Ex@ @ @hz ɄF * !$@Zƍؙ@uMqC @ @H^dĄF2+ @ZƍؙzN@NqkA @ @H^骯& &Cͅ i& P7_? /lZj| @ @@zUOeBkA>i5D Pƍr59yGMǎ͌3\  @ @@@r9&4RS @ 2nd*V@Ff8q{m'lڶmJ5zh3uTK:J%!@ @ ЋVK X,DB@i7bgDC@`~ך;FJԩSͰTB:qf2krI@ @ @h90  K -FZ쌅L$ 49ƍLze @ @ &G&1L@ !q#-v&Z1@`lze @ @ &ЫzLh0@BeH V̀ P0nvmf֬YOȑ# /lo?#um? oټff 60m9C;k}QӱcG3c 4_O>J+ 7.=y%\2<]k„ ajy߿0myfWv~0>Q>,袶*{i~g2+ĽGnO@ @ @ .I(^B@H˸;6: 8I7vi';2>%.3$ڒ($:CR{mT-\xhĉf- m\r%O>FQPԭ[7+([z3ܹs:noXK¯5\3KkUsכ>.kظozNCC_Ie ̅qֳJBƅk.cu).YF?G]R)?l+6Ӿ<# fm쮄ZZwײ9XKi.2G+0v袋gMkiK T mHoe14V[meO y"a @ @KW}ޒ'aB# DH˸;U@ $apB/yzlmHnO @ @@@U?u]RI0Q$ f%q#-v6kerq@ $apB=zÇ[pyE V^ye*ٳg>HॠFa7w\#1Q4+zW%\b>kE-[P6 .:ӕ9KAK/4NΝ͔)S~9B/ n&[vK_e]6_A @ @0h0k Hi7bg"+ !$Nu[ѐA^vjkO>#^{|ͤIlZZli{&뮻B]\ծ];+/_YW^fv믿6,c=<`_4qB/-I)O]|Mikv;[L6-n*Ku'СCK(y)s}駦M6~R!@ @ d@蕅H„5@!q#-v@mH¸Qkw7?JF3[͡ t@ڷooB/ Yd.GynG^yG){9ꫯ:c$KgyZlˍDwKxfȐ!6 B/ @ @@ IШW@ eHil @ $aܨT%UW]e筷26Jzw}f}҉ZE<^+/Ҿ[1wz}g,y3DV廆Җk 74SN5^eeg4"<^Q:C @ @qzQ!^@(@&‹18-vS@@H¸QkС5l0ӳgϲ|#kyǭ:o^\s9myy睳_tE欳βQ׶nky{_eoZO\ڏ ^{5ӹsg_~s[P($ҙrM+ /lss.]g}6+N Ǐـ @ @BJ &1 4+iY+C@H FB?tm۶fTXHoC^ϟoV]uU/&L0ZFQA;cn9S3RIZkbkw-}ʢB/yZqm8Z;c($K_s5N:ݒ:)۵ks1\pAϣW_mN80fmf&N@ @ ^S%4 %Lb@hVi7bgV& @ƍJ^*DRnD  dq-fΜ9Fn9J<|!>E`ZPi7h#ӺukM6fe OLB.׿ek/^0v]НzE^p 0?gNzI@ !b\sMoO<<z=|6N@jȐ!\r%O>$,W޽9r=z)n2GydG/;v֭[&!X9sfA 3ⷽVZ,"!R7֭[C)c?_b-VzcV_m͛u +BV|4^g65} P@Z9@ ܸڲeK⋧(@蕘H!Lh$>@ eHIo P/7ꥦ)gvuW裏;3fz:!AO>1tŅ'xlq"K.1gq-:t[I&7ܦ7}-8qw3lAXiӦM+lVmCmmkiӦM4 14ꫯ#_`pSN1̗ǺvjƍWc'l om1O?tVs6gq6l3ߴ `zm}Q|޽ʺ'?GSC]w]rE%f{-cP@ҿ3ϴk .ij^z /Ж;4u<@Ss^6 ^E]2 D K /oւk5A  9s1 -1p׆i W]uUmȑ1)2ouaN:)` |իWcu/ ?j3m۶ m/dk1/0Yf=eilt,@9ӝw֗\MJqLzdž!C4ݶƨ@D8=[m>]9Qlٛ_ucz vEO>7c4@ `8LhQ!rH˸;sq&FjԩS5qlS ܤ%571cƄmBrF 3[oB UۑhMiRZׅBBkmb^Q ?f\\Ы+#_͹Ga_6G$z{MKЫZ[COhz_o_^zisW|BCJyKxjsMܘ4믿;K7Olr&d$ !q#-vF @Dqs gsqٸ@e:uq9vjFlR 2wqGs..[t_lOEeƔ3SLYgݩӧO7ZnQ!vm3|9l{GIV)xl=k;hVZ-U/A} ^n2f\Lq<JG}dlXL-K@ٿB 5+]>ӏ/fc?}snWr4R#cx]2Z[KΞ~6#|ց+]Jk4G{?蠃@e͛hnL8s7r{TΝCҤJ֦#/כ5W P 2nZh@-`ܨZLjW5i&//HR={YiQGe ^<ꫯn9#~1by猶zkN;}sG0agmamJTRf2 ,0۷7k%[r%э>̞Kge˖.vOȑ# /lo?K_n0[ni?s6G6mX!v.]֯ ?y<̈vqG[~+m3#_|L3/b?O{f饗κlu$*Tc~m3vX{'XlYJ8?r^cML~{#/2 y}_g]vw7&R(>=~SO5?馛a׺w{yhZuUcꪫK7uP+˪ohG/{2vvlV?[V?\!xoqϵnZnT;8YGvygv4N6WՃceG S_(\p欳Ί&;@E خ>⡇ʺS1/4r-YH4OָBr-5V(ql`|f}֭{L[.j/Ӹ馛g յ7`%^ퟣ6f{ H/<|^R$^2E,-W0aP{jK,YGmb 3LJ}&C9o+}DK߾}Cz0`ҳ8}7vL &N8>?^8UA]w=-2v̓7~9[m\.^tL1n| ~d5Q?gh[9>?W{KʠSQ߂%m?Q .6odk}/&XEz6}J=A㱞XO=FQ9+zڵ}Խo/KGz1QߑP(S~ږGQk{Ə˵]JWn{p뭷߿>2 gjw@TT}M@߳wsyR>yxvo47]whOt#ч嵘PLƶ@<`ϹCۮL3ZV@({=ʹ\1]myuF?Uѐ\"[*aQC T//IvslED;8#3I 2˜yxwmW?>3[5|Y"0SN9%]kn&M{xᗯжJm+"BqÉ{I<C ʏjݘ(;gQs4ùsLqb0H}iYŨ~m];'?m۲QW&i<{;0i˕M^|OQ,_D뗮;2S7~p\V&;&eqA@_o<s_y5*m+_^,G]=GC 2~q-ٝ'/Tbpg[o3Ϗ8' q=7Mof}?țU>C",bs+^dL׳Ʃ=)N=0ۇ9[:w)m)";*5KLWߡTo.h|*Jֳ~)bڦ)=CȃtÇ|?՗AaTc3w{=36F o[=N,SzSA^t=٠{]jWn{8!gKߙbl)>zNwcg),ҩ}Aԋy5}[-Oflh<'@ uR!G&'_7y  E -FZ,8 N )~]/Mc4,"|o j_cL KqLm /{CS"=[f:(iN1Lڅ߇K}GU`@a 3*cC^ k}L iPw3_?.bt@@L,g (n'\Sqm7׹Պ`4gW@.l {•W.e95e$gq!H pD#htR]>#;iRaa9 yjL1oVֶߏ=gi)a9EՍ'}F”A2>N;?H8g@0vGsy*8*58+oVz_| ߣQ[>*_yj<c,mI׆(]" ٝ+/Ά@hkb\ҌO::?pdU ~T|/KSaȝg;Nkʬ1]Ŝ}͛ah sکs9[ "\]<ʬ:~W Dq}gJh^vSe DH{ jyҵϿf sG/< .mWbÓʩܹ@4qmQihСCC%m}Og\ޫ^]0x}尖t^ngP ?|m&?nk̕-nB;H&Z20_pWt̽H ^b _HFoN!'&,7y<9˖R^0w)T.-}\Y~xAg>kTԔ|;B/M8#KgrJ^ (21rBb?ldcW+~gs2XԲƥR^ն]񠐐%aqџj4HXs$ s4KϫD|RJ_mf}U#+*xHQ[T#;/e15l|n.*oHF}ݣ|Һ>AO/~BgoS$vRs*H>|W֏\㖳WQ}QftJ20frGrO}ORIL)rJ> gKtOPPCPV0t/%T:(C5^q .W#kYpO][P/O󳟧]?Xb"P'Tc! bB@h|i7bgW b$qФ&`rU"nE_F=Lŝ$O'ś~|E駟ФvKL\qq򘢗Ob\//5N/=X0<nR\o<{XOA,uyU:aRjq!*WD^ƻv7֧Η2MO̽+I(/Ip$?nR]_\{g$K[O7!r @Nuͷ9O/H3X&6;ƟF{"#}lRY~_B+2֎B\/Oq!dB/ݛZ,f+$KVb=IBml+vbи7.O.cǵytB5OJ(͸1F(G%qϜ~^_UHܞ|>;g%yjMd/y ͂"c @]\8s<7\:'Pƅ`y~\%)E-̎ J+vuQH%+w<;=S6./8RJ猋T}ʓoj } {=Kq5E[)czǹkŶjJ^z'znu߳U:7߫Uߣ\j=?|վ->i%P'䴖sHFNc9@N -FZl @4nh"½s/L>O-eft8sb' @wS/d<`y PG:W=+4 + ηI\ rیSKx q:G|.XG/9Mp9ǴT$Wu˭5{)B B.AW5'oPsy==4K)i A"d2U*R^Ku|EM_r}ϸ|W.I.ʵ=?Q͵ e -ݨB9&ٞ&Mv+]܄&)J]#M<\> 4IlsЧ&]u|zh3gY:+c\ 44ڃ?U>.iٕ+.MSf̘˔^L- {I\{!wM.Eg}f]nZ>/΃ Vc}yD^e{PЫZ;[ݳI>! 7.7{ݳlPڊ;TW9mqQzOT_UP8ڟfWSǪK|.vE3.Yjs}obK - ry뮻{Z~p}B-N'_;-{-EճgЮRj>?%|q1V{qYTTIzՈ={ѱZB/߃uv׆z 1qW2W'3.?WTUNgO)։wc7tLhg1ZϲGc߮LM@ T 9=@R&4b#G -FZL\c :%qR%`K3SH\[q܋\^~W佫bfoߤE'Eթ^XGEV*?iJSg)믿VY4OŕT`uh.@pmNyqvLJI /g-K!ʆO7;AL264PLP Kw;v0_-OVnb/v?/_J.W_TsXuޓcKc4L3rM:;t̕W)GmƟ+wx > B9Bj>e]m9v9_vO L| >|3>A%  y$^ӵxDJ{.IB5Kޒ.W^.a\i~>}ɸCsi Ow6%z9Kj=?;!d\;h[&4\J$q#-v H0n :4|KpiM"h"+Ma'Jz*s/5-7}7$&R'{rwyWYKQWK Jی^yy7;_~^nUbhҔ.rW]{gkTxzȗouͻ9˖'|2lG2/h9-såM4슛}..(R&ygyfhG{¥T_/O=T\ǹZ|$B(&}Zvg$*(t \z'=剣Pm#.ߏux)zcK>3H!!Kv믻OJTĬڐ'O5|ꠔPJ}˯O̚5+oVB\ ry,GU1g(NJgB[J l~=숊}W޽cMt;dBfPɽk„ !ݻ2-kz~vS CWg}u׋]v&D*..;6gUq}3;/g1?B\B1_w7Y];zDӧOXiUJ(˕ ,gOzsA/_>ZO=g&+Mk/538#4&/Vކʝ,5W(Tfʰ0߻HtB[\8+,.='|dZ1]>'j=>(B:+*E2{キ~IϟÌ~hN2Aﮞ-!r` \ߧ<~TNUĉrJH'zIzr&[Ke//nuUW]r$e$*9]sԨQaQ]HsKZ ;s zUb#nv]g)Bj5؉UN%Ҷ?uJ&fgϞ'>/iYBӔ*(vvTf")EyDžr^~~9e\Yƣ5^i=9OYI.B/{%S9'(_mGˏ9wٜkʴt̫-BB/_ghE5ϧmyOm?.}%~À>(}TZH]э9EO_%T&yGu]P_DiM3ZNb=:q+WGY,8 x|z)=k?T_~X3^PP$Lh4B@ZƍHD P"$L5a_J"c=B_/Ԫ-MBPMAcq&n-5 4)kď+mB/^؊*e^|e?RM qO,%8@^_fZi=o蚺&K/8E&{nlz9+UN@S襼/'xzwSUh0QzM`ښ('+&NH}q'ycsr-#EF}8² q# [ "36BD3B3ިci^ymG\}k)x>A{ge3a9ǎc.ugB2k dl\af,|_ߊsieBA +B=oL-n=qE(Q;6mq""_C ĵYgKQu.~#s^ af](ۮŝau8 %iw\?Imu]3(X[qFڭ-?O}F C@N.o /o"O=\F mnm۟@:u ʼ+hA6z|q$B kB/؇hwԍ7U@>rg K8oCpMa.Kg)EWWĎYQC]K|Nv=mv˰6t[й"߃8Iae2h@UPUjehq @Ui7bgW   8#jݺE (n|Ʊ({}>^9Ŝ7 V\XIً3z!  QÖ[f0{/ƃꫯB륗^ +7u8W6҃n|/˲el1;^kX)OgfG4;aB$e 3LSE,]lK<-t&8 ^ ssPQbB/7(ݶ! QDQŹ1ŕd{)ԙ> P7AXFfaCht*w'z!€KS?-3kuऑ?2{KZ7VQmz"wy8pp(e]' ZXx\ qm:zuJN h,G$@$$Ui7bg $Pv_by){1e[ @vw1QfdZ/t1Pa N'l`/_&A~F$=ob 7~o3 L– Q|l܂iR̒-^rN<[#VE7~HK؀6lƬ6Ae3a)4|ɽfCxa ءB(.S}ܯ26 7qmwy ܀I:Szw]y. x @?꣠30F: #>hĝ0(C|i1tI?w~kǒYv_-$ ^p-fsmE4|1Q(ͯm6+]j(ƟvCV`lPY ;ÖövZA qIk_lzйbE;P_E9 ڌGu7G8O?W&KR?Qfu0QQN̡Ό.8]g8'¶;k].L,ÒEi[Q@DciƳ@#~v0a/MZ .n y!|e!oQGoE&KsYk6Z} W <W/>Q?Cf= 7<簰CCV, hs ,rҍYkf38:EaWX?̹B/y l ^[<_[7Ҏ#C^n2qf_^tyoP8萟 u&l<+39ͮ x]+fgo>0RoF:#_z7tӺA$@$@anT0 :2a۷oK02x`/^}فW=r]p-DW\QV]uUї}wAzY&D_ԋ+__65y 6m':/:P'/믿 80߼ ]̡n2|ܿH"*iV2,iK< 82pG]z?n84i 2$/Z% Bԏ=9Rt#6cS:*]>1sQǩ˫Tc:0Lܟ(g_/PV_}u߿Cv ڇ5XkFclAgIȼŽvN3T6 + pC>ǎ+:K貎rWǛc<]eU>E6ٌ2O}eEiip6Y^R?ˎ@Xڋotg?ǻ }PP nF}wQtIVAЏNF"Mc $ y`Q&e[ܼ܂+{/K8{ s2 0hQNuF/QΓ z_=k<޳lg"WaX;"1Y?A_63&{qz2zku\8yl][ (@UڍYl04  nd%G$@$@$@$@$@$@$@$@$@$@ @W3v@LdHHnTf" !v#O ^-G^9Q|$@$PUi7bgYv @`0k,yz2x`3fLr`…2o}tJҘ @DYׯ+Ϙ1W}UVYzKϟ<,#Fe]N94NC d1M$^ki HN`?FG$@$AF>#s'?I뮻z^x|_]6pNIg}VfΜl+I&ȑ#{>w|V iT:]Sf>'>eqljytJym57W2.#^~HHH U3 s^C$@$|l7ϸQ kן y-yBԾ{>`"OEsMgҷkt(tkΓO>_sC@>o|1W.= k`~-\wu~:u "PFe_ ~FW~dž^{yע.+@\Ev~~OR{%YH.ݱ,DtKO& JQ;Wh1 t&WNBJB_Wv .yu<(Q3$ BD )ˍ_!jTf(rw~\Lh7d%^Um0Kn!|qoUW]שlu?϶ʤ> Qu@=fJSezL=|3~ v+oiЫD\{ƅݬsP^ņV^ɫZfd$@$PyUi7bg @$@BF2BI>iRsέNW~ Uv׿jTvPն_IB$e1|X+Og7PMadؾesY0 )]z[Ыg̢mRKR G?ZR3i.QF0Q!(K._n$wӅ>-]s T] t+> ٌ~ PUz0Hs)JRfz!JWZɮmT?~~`MƽyR',Ƹ^1Qt̩uܲ===5CHW:9I*^Yayw{CYқi/ǟx]J2ӍBj7& ! xGߛniq   0Ui7bgc# h="\׭]E{=Ys5e=uїҧO9ꨣD.Hȋ/(+lr衇ʪN8Q{9%䮻'x_]sayi馛<[ƌ#duY'2^xK>(Wz-0a T/M~{iӧx|sڪNj.Vw'_׼c>5J`m&:(ozw]?fwvi6AkDg~ÇE)I'ke]w;SN_;~^}'^z ȑ#eUV-Rvq|DyS4i}:r_|k^F>  |FX]^T#+w??2wnǎ+_׃Cg]D, SaÆs ktfYwK!Cސ7x[+ePoyQG$È#8B=\5IYfo??o񆬴Jޥ*O<1^$-3_җOg 7ܰWX͚5e;찃W:+һ_E^ݎǴQAJ jnC9D=3Zk%쳏Wmv 6`m:t}iw'dm ;v뭷zu~: C{G˙gzWd֓_M<ٽGB.|&(?qwhkURn0>ڤ({] ,]C[r6}v-ⵡ`Kym!#maq "g}VA]> Ae[lE;CŽ3e}^BLq}ճ:6l љeĈ^u 堃6aYNz.;S}_~a޽c-?k?яC嶥a~"U\l-l?EHSe-yʫ[?" h?y7iܴ?|-{ d8<zA;'O9UxւSKbmQg]<ϪY~iv^ۋQEf^=ۃmPPkP7N0(gc>di?xP nàez}<=:|*HSP_=qIʌwEx~̧>)D :4M/C=ainܫiBgf)x=K^z%<{N9OѧvcY]3C61ut8QV2OS?ܓO>߷l)az¶ :;dJ`xvZ0^ayA 5E^qiwC ЃҲv 'DnjX)Y^wu>ǍEf]0ym lSae%1-F.<lЗɱc9&mWjM9?+^_*0n?Ht3ː6^꒖"f\mQ9wFo~?[[00T\vpL_|7}~v\IEb(]XKR?aX*mS{Z5#E4]6=^{M~Z6mjUTY?px68@ƬKf{mҌISe-yʫJ~^Iotgs SQoׅbǺ:;٩s]-t1cO~`g;Ϗ+bf9ٸ6=-HOvQT뜊B!N=꿙3g ;~^vZ*@ϩЫWTY2䀕!0htf Yi,+mц]ϋ˔Gϰt'?36v.neI%yW xt# B(hbA  Ui7bgf& h1,rX>xq 8q^&y  [|ek׽/};1_tvOdvD٬_wz(ԯxpNsA/ ?;3=P8s %!կ~ǃc9%p:.,~s xV <`Y(g/WguDXF)/(k{8#L<9ʦEyo >S#~+l/j(KVؽmˮKs᥹P VqU؅46rY'fB4esWR噛uG- 0@jz+r?j(K D,;5 dK?lKD>Dp:CLgmK붮-ǽx G6=`{K.˫;PFoP6 &, N :PFF/3Ղ9 .]S?l~@~ŽeGtfe:luV\78 EU :>{p8:Jg zm4X~ׯpe+PVkP&w8쏪_f:m]?G:ݾ3aSRg‹ZXY{򊾉>uR3ynA = 0oΦvC<o0ܾ6d{mޫ:3o'E{Xsplә ǽ~0]Pg@qSq9[,WBsgcg;D}t!пK꒖.n{aBmz0i<}!;Kb~WW"gE>^q?1E?/Zznp1E=uFm{>H1]zzg>8D @anT2 "v9B/ K]ڮ.tIFx ,B/]֡.s9K՝~VaA}'ѥNx IA?pHG+p*!rU0K2\1ѡN0D@9s6`bb)]ZR su^В03åufFήEr T/8^كbs5^i5̢ѥ-zoQF#E|ba!JSfl \]fOڭ+P ÂXp_Eջ 0 ,Q/ /f s~fV;Pw}n 9w]B+쒺cIgaҥú \s؉'snCX itǶy5 8$za׮GKX0@t7lGpfpP\HXXI`(81} 3eFOVs˴qW_]׿0*W6̧'%W˞ll+ O|uy는1&3q׶H;lDչuO\4*,/ /f*+v QZAY1W~`BLfS-D]VV 80Ж/jl;n>aؾ. y:8kiӦMW@&XXxQtO2c#> xujQOXm{5O_,m,ʫ+:=胚_583K8K׹DϋnIpwÞqKü}f ^]FxHH%Pv*vlO$@$>l7#K]|՘D%;(ALO@VڰڎrYVA Drfw`)˝A-lplu_b0NK;fC :{r  v:^xi+ r  X=&6r%J sx+ЫHaCҁ ./$0 ly5w7lʵ܍ oy'y^iˌ{/S?^+!(T%mnY;?ͫ yx$qIg ˭]ʹf¾`4wԚnkfs!EY} ?Q"A 7e\HXXIg A&̴:W8~ny$۸ x"#lm+:S{ pO15/"!-Įvq>#J[mHZދ,YA:8%(U.?͈2sE\{ 5Q Y#)}Ͱ:2Inyn kM(9?ovZxh-QM~j,nlfS aB/7ްmz;ꉠiբBE-˸ هnՌE/6/wɍ$q {&vm5]6zeLŠ*:  #m}wmϱ}kw0~ *oͤ澐nSom 9 s'tr^*]zj $XW]u7l$ '=s_$Ztܙi뚵SOרzxRG)K0k}.lM0I2jw/I%X҉A8W{]l`.fk+n½֥-3ezEv{za;8P~zh?mD=a 7kRg,v\aaF ?8swuW]AH׿agt>+Ͻp޸B\ c PN!FbeO >K$,3[(j&v ׹1:p3ܔ)Sz-mb YXDžVO4Zœ_و8f3B9kمPÀG]qnXy^i87nOZދ,yY[\{".E;SZa,{+؆yUWY?frmJ͏ 7sKXxV/ĵඇl%!Z cT7jҔ,liz8׮ziQOݶMs*m1-ʫ{?Wl]2ϋfGm^'| GwktP蕍[B Y^rt<&HH qu[3j *oD澐ˮ. a._.p .D nb2r0G\;l0ʖvNjS5iv!rGG}ЙQ&,f s7– FUfGҁUry˝%(N^sFec(ze)36sF/,e^|^BYzyp@t1uop(]t~μ/_#~FXX҈{uX6At ¤0qG] ny5 l ĵeٵ0L Թ%,-3rY#aa%6an_1%0;K#^nǹKaEt.ܑSh'n$"uko^W:΍"kVG^-Qb>0rۏ?#<|oP~6Ap߼*m?aɳ4agT6οbݭ. Hs\Z}.= ]tXئ)3 *rkxz+K}饗A{|LG$@$@qV@腶[s @yT}k&5T*}!7m4;zU5W_xR׹3v) 8, MO;qC:ҍ _wo[[؀3fAk|0g& Dz MY|Elxn&~ q :ͶOm=X?–Yu^i vX浕򴋮Dٶcnk'!}1 .sg@=t+j1ӌ]pbW蕥Mړ^ָB\"7ZFv[`ߎG/Kĵ6 ۢmFaEI$j Wb5{ 8'.o?zGqy:cΘ>,\ޙ_ɢ+0^,^k^k׻,u"kG^2`۸63c)>7| B@8{"lޛe8(nn]!c-a[Ez̙WvsΞmzw_QQBe}*YZ„^E',_M{ YE-S\y zA\m~u#Qsx^l>/s熚.+~Xgr?4P#@W0bˈpK$@$Ff;A{lIr[JHHj[3s߰}!/ :{yJ# G|Ec׊:^ṁΌ#E9,a׻/M]@uKA̮Y xB ^x ` йBx}wP/\~W [7N$ LؼQ,n P΅Gx0-=^b @w@mj[r @s tJ J2 a/z)M+^^͛7/6pۧ t `" _t&qE %/ I쌻5;W^0wma׻ V!hTpEX؍ll|km ,&XuÀWLz<0uX(OϟŬSI]2 0׹Y 9ܿ "ΠsP.ez=~'xbX˿YB/DֱHR7i ;Ts`RpPzEOA /.ysYxVq-!6mu{8jGs_|1ltGO1])42 H/| u!?B7EmNwF.3]λ!(>l`%,-b0ҘdoKY8׿Y^]QԬAEdY8uieY`dUV~暢/_~owѩ}A30a5 3Ϭ~F2tP茶]bNEnFG7޸׵cǎO{R"}9*:nҼ+z|tQA6.>uM7.QQz2`:/nK0uuWv*|~;Gu0Wikb 2e@eӑ؎@'әDE~fAA>쳱=:D@V_}%oTQ1¿)s*qO>z o{T8(:T((pl׆@P /2hРcy̗%QA d 7ͲB ?yE* FErWzuPT+}W!oH َΘ&hp[Թ{o<}uwB."ݲlXuUgm5j<8W80qD=ž ǽ/zN}uǖ[nG@gz5Xco6{!>}x!`z8@.2 G{%mzk0ʦ -*a`cow'KoI7xCVZi%5v 8Cpnf>A:x>X.b"T@!=,cumђЯ} OQ3"yϨPw7 ti0,|A}geT@緧v*mQ.o?;%s钰k]wM7;V2i?op/PwHu'K'-EW?l{KtIYuxnq%z dv#ʇ~4Rg t)3 ('h~ހ.k?@\ ̡7v7Q(}pl\0-QЖ] ?D4&sE9~nR?w}W2:pAV]n gv^~޵aB aeڢ7yXޫulE:P \E:NgXv~Ee؁Tp.e}n.z! ]]*ث|tC؆B`?Gyd] @܎UgJxF4z٦{f Ol-Y˫+L#E=/fzhQrȐ!^tCݍ`;/ c: ^kƌr^0K -3:ig0nF=:Ku97OQτŇc:yk_:3$oih%` \S{g+|?aK5.nwna[' mz0d mZ^.heF?+wae;xL?<"`# @[) t+Hՙz@IrE=:C$" e̙3#Kr?r95{)mB:wP&ZY`BE^Gf@/u&+lܨCu/]@}5`ab80DKLK?`HPf!t(_*,Q޽:LMaqy_oGq-Ҹȸ2\Ыx\WԽ2, J:ӓuUW]UC:E@ Lgʪa0X:{Y-oYR>T̾F[^ Va lQf$u"` ,(cvE04FB;&r٠4|s^?1^}pC}aaX{-ޠo=aNg":G/o`6 ]q]p 4MYgB?nZm `aNgEˈDvI]dmdסYzW{'txQנl䊨O%hC:Sދ.:lm5|ÒDXKaN_h{5b ,ePV%f뀁\lX֩2=XfGIdZ"CyKL!t K|òt:-e>Q`F;,yU&׬24b95,{T;k](gh[:#믿 8QE.e#tQ+~'긻t O ,C6KoF[}\gvŒkX }!r؇a7wV۟%>3RƍI&jY,3 hTَ>ѣlK7σ~ , 6ܥAI*.[hׇ~ɤciQ[K4V\:iLG[ fa4'I2k$}*?v'˽jq`Jܣϰj+h'p ;tgˌ"xfC=koDp0IDATVWYfKҡ~>RlӍWy0.YBaTXpG}VqfcKBg$@$@$@$@$@$@$@M 6(܄hCO`pNSN99fХD י]dvIrW4^B_W3Jg3L>Ex)YjVG$@$9(ꜼdJHHHHHHHЋE;w 2Ř]᪫-ܲ׹22el&r9ѣ# wi2ofPeRU֜]e$@Ws6@1з~3vG/?= t :'/       %N*2lذ%g!p xK,Z;}zތuǏM6D &];sL( n뭷Ne#nnM^}U>lZք Kґ t :/O"                 #@We(C$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$y(KVkJ<h>}d2l03f :(X^},/iwZy):X_M>ayiOayiZR4oWEM_2NHHHHHHHHHHHHPEˏϞ=[y¤I(jqy`O?ź:СC[lAX^*jvvxU+/E뫢 _:ZHHHHHHHHHHHH PUσN\G>ri^{[Ʊ zdy XU*/ pUh{W0JG$@$@$@$@$@$@$@$@$@$@$@$e( OܩSʼyy%%Vu6ɠAd+>Cdy)fƠX^2RoU*/Eg뫢_zZA$@$@$@$@$@$@$@$@$@$@$@$@K P赔>j5dMO>#PfayiTɂ**hE$@$@$@$@$@$@$@$@$@$@$@$@$^KYp!#x6tS(w[M*P;[*P;[[[(>C#BtkQZ|Xʂ{$@$@$@$@$@$@$@$@$@$@$@$@$^IIuu-GW%bg9ryVT%bgr!wk>tkQZ|Xʂ{$@$@$@$@$@$@$@$@$@$@$@$@$^IIuu-GW%bg9ryVT%bgr!wk>tkQZ|Xʂ{$@$@$@$@$@$@$@$@$@$@$@$@$^IIuu-GW%bg9ryVT%bgr!wk>tkQZ|Xʂ{$@$@$@$@$@$@$@$@$@$@$@$@$^IIuu-GW%bg9ryVT%bgr!wk>tkQZ|Xʂ{$@$@$@$@$@$@$@$@$@$@$@$@$^IIuu-GW%bg9ryVT%bgr!wk>tkQZ|Xʂ{$@$@$@$@$@$@$@$@$@$@$@$@$^IIuu-GW%bg9ryVT%bgr!wk>tkQZ|Xʂ{$@$@$@$@$@$@$@$@$@$@$@$@$^IIuu-GW%bg9ryVT%jgMfE2}y2E2b Yn2~ҷHW|h62{Ѣy5=Z-.\ZP_ZMzzjr;s_5nꫮ,iX%weʇy$@$@$@$@$@$@$@$@$@$@$@$@$G`]ۯJ>TdkbJ>ι?_{Wyyoƫ2_ SqW_F+>Aƌ& b2C+2Å^QjZ,pkk1 鯗տ p`͛;W[kUПBż/ t :+? KM KTJ>T T&W%fο(>=UF#7I, 8H'KZ$3gΔ_zI//_OZsM>_^eˇT=eJB뙗ސAHUmTW_˄^Bm4aG^o+Γ BAo]|(D$@$@$@$@$@$@$@$@$@$@$@$@(9[P|YQ|( ^?lʲ[Ȳ-\P~9y'ƛl.CTKANU] ˔nOʛ2x["0{[u{gzy-eF[rGqV(E$@$@$@$@$@$@$@$@$@$@$@$@-$@W aW)2 W[ѶV%bgSe/-7vr1m>3* ISy8hjΒsɽ'nIY 2+yi,f[3)ݾkҍKgfZRWǀ~}tƮ>r_fȩ{Uʰe,;nWY|0ܒ @ PUj}0{Jfr!m?ڪCU̟#*P;,Ko~@n2h ]qx"F_^~r]wov +^Bc]Y!Ħ*S=:.ط__M. uqK e;-'\9DQ*o|v(jJa$@$@$@$@$@$@$@$@$@$@$@$@$~z?JiA³l<?p *P;۞M6*P;\yղn.뭻̛?_zzL͘1Cn2n5eիܿʒTt/\Hy K7뇵@1ƥ3ˉPzoOb JzB +r Z] ^-]h4^Yɥ %}*P;z%y޿{*#G 6ԾޜoysA_ 62^P|h52Cz=2jY2gbwt %]N5@g뤫tF/U,X$+BeǏA襢2CQ<             PK`)rsP^K5W%b{!/?޲TtAɷK|/ʫ[)ϗ%Z LҍO<^yyK** n [ J0ܢ"-utEwΔ^tJ:?eʔegEHHHHHHHHHHHHHPe$# zeiStByi*^|(w>y}!C s5a]uTҭ.y儷g&} C>>Y2Ogre]b~[NVvҍ_+;m5BV*G$@$@$@$@$@$@$@$@$@$@$@$@-"@W@W-2 geGWVruByIJ>gQnZodVK>wOޞ3ސSO;U  )K>UsOqoO}ɨe8+r☓d uT!5K^t* vjm\d'            !@Wde )@x֔Q蕕\zP^ҧ|>eYZ'S|RfϞej ɔs~q|l ȣU0$,B/)S!z٩rߗ;Y)=勣F/--b:{W { `FK>1BBK #            Ы1SʰekK|TgS|h%2gaM["sέwfzOe9a3_7/ygWjCc=B.yzM1׊:׹]YBV(E$@$@$@$@$@$@$@$@$@$@$@$@-$@W aW)2 q{뭷d.o?ǰӲ +Cϕ`UvN:U>BUt eKoH">++.Ѹ*ȢEd޼ _.L0A&L$LyBf|ۇgvB8)lb[t{Bu眿,z ?H~ΏE&U^;+V88yw[2^/B赞 ˔(wHHHHHHHHHHHH @W;0Nlͼy+CUɇy}GQH98c:S]ΚL#rյȬe cW~;ޗL}I?{5BԙƚVYymewed~[|h 2B{>.? rܿJѫ3z?r?|YgzGg#=*ZÏo&]/L}xFs_Avv ZS ^-G^4^YɥW2gyW',Ǫ*CTlQFW|0fes Na2g\\؈L8A_/Myk 6Q~kdwSX?Kje͇fC+S!ɿ{B!帵*^K6x9 ~K7~tB Q~Tg^.G HHHHHHHHHHHHABvP@eϊB>Q|(YU3,k5}U 8X>j:ړ>*}F/L# z0:L~w4{3zaF+{}f #            Ы.4^Yɥ %}*P;rxErM7OXtCG,ݸ};O>C8POtzB#~PßnRN^˫g R2CA8            pPR]ʢ{UɇμlEUɇؙ$ I',_{ӟL;[2p$ANʇ4˔*к?!H#}nS^=qir͋"B|qd2z)HHHHHHHHHHHHBBT,@x^誒UTcU3ijr gewA%޶:-,S@޿?"y<2Qo,͖/|yäG3"=キxF-WTꖄdwk>tk]|hkD$@$@$@$@$@$@$@$@$@$@$@$9(Ꜽ,4%-gU3sFTcU*vV$3٭Э\P$ HHHHHHHHHHHH Pٛ=qήHUɇYdޔ1CU,ciSCȲSDẊ"(2             n#@Wxr6!&_V|Mή_|m&ЭЭnrqJi\Μ6 @`]Au:4LMzϭ}}ec^mmҮWE @ @ @\@knhA.}txx(tuTF}K#E(/֦y)WE @ @ @\@knhA9Ftzzq%^__`0H0m>["RskӼ ҢRA @ @ @`. 5p 0WZ :]jwyy~PfmK3RU楔d7iۼҢi @ @ @^-̮zqf?O+50/3ؿ%ֻ:/ݝJ[ɧ @ @ @Z%czWq<99I*(0LWz{{ޮZ8]\\捫%yWʼҢg~w* @ @ @&^M:V3I~V`0HpߡisTyyin6Kr*-zo# @ @ @ J@kחqFczK +U<::ޮ[| +͢6/zo3 @ @ @9^9zj  @ @ @ @   @ @ @ @rr @ @ @ @ @ @@+Y  @ @ @ @z%@ @ @ @ @@W @ @ @ @SK @ @ @ @Ad- @ @ @ @ # 蕣 @ @ @ @^Z @ @ @ @ @ G@+GO- @ @ @ @ @ @ @ @ @@WZ @ @ @ @z kA @ @ @ @A= @ @ @ @ @ւ @ @ @ @9^9zj  @ @ @ @   @ @ @ @rr @ @ @ @ @ @@+Y  @ @ @ @z%@ @ @ @ @@W @ @ @ @SK @ @ @ @Ad- @ @ @ @ # 蕣 @ @ @ @^Z @ @ @ @ @ G@+GO- @ @ @ @ @ @ @ @ @@WZ @ @ @ @z kA @ @ @ @,vӏIENDB`intake-0.6.5/docs/source/_static/images/gui_search_inputs.png000066400000000000000000004614451416666122400243670ustar00rootroot00000000000000PNG  IHDR tbm IiCCPICC ProfileHWXS[RIhH RK E*I ĐD.*vuEWE\t-{Y{(ʺX&uͽΜ󟒹S˓JP]%Pt 'Rv|| 2|UB9$LRTVgJx*2 R%VR%T*MRi<,g!-$2A|Oqcg*1_d3sZTB˥yg;)cAɢ5þʝ4$qCN,PCREd=jʗs`b7/,bS#$y1}f8 1\!h]"'j8ke3q6dJSdH]"JJUQ)kC̔&Fm0'vFHPoPǦg"4|pՅ( n>O-B ;yG(3\@J5b]Ki^ "z+ME_<.H5?+-ORg&īA 0 82L}}z& d!ph=RU3xM%@>"4U_]@jH CAPyIFߠF|kʹP(yY:Öpb1AtM <8'k p0ā$.zY`.X@X ցjl;O`h p\: WOx0  # @lgEp$I@Ґ $ d. RF-H=3r9G:Cy|@1f:Eh4NC-EUhmBOh 11K8Xea2l>VUbuX# Xևlj8g.pG8/j|'ބ¯~3N0%8 \dB6aPIN8H8 "$}ӘF!!.#n$!'v$ɘL $őxBRii7 E {#d y1||z;iӭL"ͤfN3Csך5`XY-ZebXUS~KS(KvA+{dV{[S}ZYXLk`sǖbk+]o{]wvvO% u;P'/'SegYѹs aɘ17]h.l"LŮͮڌMjٱݼܶuwؽߣ'3sgq6W'oowwOOM_xe~~ /gK@n oh  !+2\(:D= ۑ~* =ϙ9E'W?Ȏhy<*&׌s'L7T4-:1:QS,u":q5Jb@7nMx_&'O8=anDF]oBV$MvHV$LMOy:k&_L3ISҷL nJTeSoLV9?#D_+95|fNLU__-.G-p~IV(ݬY%ŗf;^:IIDɏs99ms-.p{ޖm .Yp"E.v[zoRi-5+]Xm ee|y D} K? /TUTV|\_v{﫾Z}M++%+o ^sk&iZZ[Wܼ^*e͆>Vׄ5]Zv`M!7mDniJZmg~vHvtLyާ~ hw?ҸesO^W3~/z_~ld,oBf77ZZ:M8z_v<\sȊԣG8.=w"Dwی''vjҩѧϝ8s,s?.y]:ׯ۽ۛ.\nhyJWîƽvz7nݜzy_)3xw=½+>tywyңGw~1q'O=}=Ϥyr ً^z북o -gn{g?~x28#c'O?dɆ7 } R)Dx6U:z+Wo,ߎU pHYs%%IR$iTXtXML:com.adobe.xmp 2420 610 IiDOT1(114\o@IDATxT'ҋATł]%QChDMƒ]W@, M(JED(ŲN{ve/9s<ܝ3yHEɐ @ @ @ @ @`~  @ @ @ @ KA7 @ @ @ @ "!H.Հ @ @ @ @ { @ @ @ @@@U$j@ @ @ @ @@=@ @ @ @ @H * A5 @ @ @ @   @ @ @ @ P$tɅ @ @ @ @tq@ @ @ @ @(BP @ @ @ @ @ @ @ @ @  ]Er! @ @ @ @ ] @ @ @ @"T @ @ @ @.@ @ @ @ @EBAW\@ @ @ @ @A @ @ @ @ "!H.Հ @ @ @ @ { @ @ @ @@@U$j@ @ @ @ @@=@ @ @ @ @H * A5 @ @ @ @   @ @ @ @ P$tɅ @ @ @ @tq@ @ @ @ @(BP @ @ @ @ @ @ @ @ @  ]Er! @ @ @ @ ] @ @ @ @"T @ @ @ @.@ @ @ @ @EBAW\@ @ @ @ @A @ @ @ @ "!H.Հ @ @ @ @ { @ @ @ @@@U$j@ @ @ @ @@=@ @ @ @ @H * A5 @ @ @ @ T AW*2?Z5j0˖-3s1oyɓeԲ>M*O*C6{ٳl< @ @ @ @ \ H,] !@ @ @ @ *#+@+" @ @ @ @ P0 ,B6 k֬1j2mtV  :ڷR8@ @ @`C#+.zwɓͤILƍMϞ=vmg?]t15k 믿n{ク|y @`'`s-6?4_|=ikj ~ߙkBEmi'sUW/2^w饗VZ˹|w;w駟/4ȼ;qgvux:ϤR)/gUV<71ӦM3C Oov3(}/mkufƌfԨQq1;w6{  @ @B"*ꫯ9c~H:;}YӲe $ѕ*WSw}Mx-*{/v0SO=-2 O?d4 zW{vt5m۶-7/ @_co6fIK,I.q"?;^;U^{SoG5uJ~r-m!xC%gy+*s4~[i-Z۷Q=I @ @&]u EDzCFN[fmf~Gg5&< R &Į%XzGey8v)I&Ma u]g.ONn]cƌ1lI Pho&^!=1 m3s̴Prl(ϩe @(4ڷB_?CUyg}v׫:c)buwBU{=!@ @@u$]wR Fiz衂֣zеF"l7@(˖nfsRd =; pgy&-afu]@UYr@!n͆vծ 2hԥo:8!y$tY P4hߊRTiE/^@-Z0jժ1 ..QFAru9CK/W2gqFMХ>'wI}8rgWGE]@ @]u WCמ{A >S#?mvfĈiӦj;vj… [l畓D^'O6zO>1͚53[mĩ u4x`ۑ|ꩧ+V_{m7oW'|̘1ú}g[o 55B>wʔ)ֹeʕv<F3n83o<Ӯ];p ^0ڮ{L!6x4`gqGIN:7U O@vr%y8L_~$׿{&vСfԨQ}S?g~xcomFߧO{˚;vuu+kve[ֽ{wsAفJ f|_݆T[,`I >Y-Zd dA9wyy~YQ U,> 64m۶jVH;(  3ڷ·o9_ r~#~G~kڴicڷoo:(U=c$r餓N2-[Ǐݶmw}fذaFB.=HQ^z1ΥW^yŶnY{i?g p:+ԟw =N\4i}>г-vi'Lx W_+2}쳈.tuY:kN{Amеy~޽{3<̚5 >e5rܹ]NttMewy#ыus+H}ܹo[mjssKQ^\г'Tv֭`~_g5) @ @@KEΨT!i?SQ`[nIES@F4Li}E>h#R/b*mꪫ1B䔙GmK hڶN;-u9礭.{* I mwsh0}L$JE kצN<Č3 ֍[nt.6}ϯm#'T䔕Vn9h#QZыPH."U:OkU;3Nv嗧׵45k֤__>cSWvtvz]ܖ~Bfmͫ?A[ FB~IBXb>_]?~*eͯտB @ @(nI4ۏtIs뭷,cXU!رcKIWXA_\&+:q,Znu(ҥKmv $|sM7Y~agut4ܖi9z4MTKLe)Qsߕ 4֗70< $|qg}6ڭʬRVހK?[;A9oϟj@eYk2rO g $},RM t |rjUo F&Jjw-J:F.rO!'ʈC =mJ,B%s϶MЕm?͉st.gWKU @ @ P(MNnZ "T/%WB e* TW>Խ(dGZgސlzgR/T&E 졢PQ)9K7B&L?#立.(wX&қa 6WRǰ*9-f_;cR tR'A@fQؚ2mk_4UAmŋ3$txYm\Jqyt%U-si!a;EpV^NɅ"z;wf @Bh']utm?)P^%:/"V=$wWT}g 5#޷3r*<Kz![8t]zeK,1ADm ʸm"7l~ mW2dHZ%ߗ_~پS}j$@ @ %^]Vr_G"MMVI{91׹s*wj۶mSN"#GTɯۦNWf̘aC\B4pR0TA~ jOSY( $,yu@y裏l#F_"3'R؆ $N ? )Ǵ͸q\B@._3-Kx쾗]qzF %$ &5XR~mU$䢫B/5jTJ {Ug)^{Énҕg *s  .ּJ }] $ۿ?kpvrt]y)v߲ ^s5q:}ĥCO@oCa~+I䳕*+J:O̤FckjIzw_v H @ @KZS& kɒ%& cf͚eϟo,S^=SfM l>}kԨaTus皨sDq~W/>X3n]4kDM6f-0 64Q=_QG-3j2͛77lon|~jDᢷ?M$̊+2o:e+NQuh; x-x9K$2M44Dr4n ?ަDv][{9SGi"q`-hp=^Ll"QY{DF̢Ax}$2cǎus+'Nhz4=z4j(m[ԁof=Ewt?֯_-2  D.& 5yU$O4;Oɶmx|~kE$2W\qE-t(\VOj\ۡ:D&`v ͶnNU[mU.>s+b?p "˚ڵ}^s+Us99vv9phڽ{w `<ʠ(=+ @rhߪ}sWFmEܢiѢm0c g1"7)F5Mǎ:m@om]Z"w>D/7NN+"ѓuTsk5\rb< mcƌ1uWemff"gnӳgϴuYk"A}Q3pxYtJz΋6ѣ0ֽះ~ofŊq^gy]X\i} YϥH gx h9钞ܽu:NUFm > 琶#  @ @@$,*Hӑ-aÆYy}S%7{ai /KEH\;tE4|ј֡ѾGE"3Xѭ[7oR=T'WOMU?M/;TiFu ԱX9JNV뚢ۉBZe;蘡H5sL{Е?R6ÇҦaGPai瘉\KN0a|Wx+_Չ@((8ղ\߮>)Yϧy}]]ro믿V5mc=矣s{X`Az?Wǧ~:$@ڷ,ץ}^r[J%,YYCJfsRCRʧC\?äͮ呋^31r,IXEo޶N_,X+PC*$ BJ`PI߹+E^ij3kjͿ{6k]%?iuPKRHư,;F:F)yչԏ< ;ڷ*/rsz) zKa!R>]UC#M~av.I6oX7Itt\A(E.7n\Ii}jDS>)Eui=+;=JAmpROmc.)Ig>aZ_פy *G[R*rNj җA(sb5)B<9F&A.B2Ǩ̊yr1P0$ztmӋ]II}~]I\UTХ:NjK_/7)$ @ @@]:o iX%R SG}xRDTvժUN5/є>uFUTpsMv6tSvQofK?v JkNV ? ~?3V-ɅýE,q'|uulB.~iP]ti\~(EХÎv1IJ;5\ciu ;\I#{3tcJP0]t M.eg @z?y _|j?%}eSS>WvӅ*ۗºXsM}{9IsjeGg[7 *N/ Ѿ,o9vYNp)I$AULJХyI>0 Ci֬YV,M?7/"  @ @8 \ХPuF+ tCۧ~]X+lk3|4WAW芥p~iuyd%XK!? ·yKB79\vn;PWiY K {A%)_\̙^NIw#Pġs7| t+#`_K('/~C9nV{쯿>[⏞ *ȵ_ʭOcǎ-쐯Jq P*h ӾO?MM6-w}.I/mW_^hk~CtDg=I}Az-re뗓4_U.5˪jA׋/WAfKvz0|NuuqA@ @  IbyR ʹ3H}ފ~;ciY"B\;wI$j۶mj=H|) *$DL?pJ!A/6QW*c=fg/2Y+P:ߡCBW?IT3v?qBAսo?~|ZWY!BBS,\O.8A /Pf[h@ \~e[wm7뜩p48+V# Tb55/Kr _wu) |T80t *9 hL"+sT/]BQ_}%Xj+ # ;7*D駟;LaՉU0ܳp_~rQo}zlԨQ) $0 ??ʦt/'|Jou]9t]i$rTwi. @ @@]s.7iovP+Lީv!N8~$S&l {]~GU杠K3Ib[lEjw"O;qٳS! AUxB wE)8T|*cȐ!vNw}l.C4@eu띠?Od7kD~ȑ @ 3˗8lSYrp>HT&LLy3KULeuN,}E>9$2/wB(%oe_۸|o ]"咒\.__mUwAעEs 9\攧]:[o-:A&]véKamm csL&@ @ (K!ߙJz PrӧOj7n\z{SJ] رcG+꒘9uQWx|To(ԩSyKNݩSZQsӂ]i`@hӱ4짛o9DU'V9rD CMO<ĸz +۟?}C ReU^.;hCr Bw\{e]z 1rݼ)P?1,VrS^?I.o*70 ڷdQW7] $^md.y<39=w_i,o#-\0mQXx-PОoA׈#1%M$,џ e @ @`rA-iQ!4w\++I&uZZ["(M9^uŊԩ^D]3WZl}U~ʥv-rLy5`uN2ņ1cS,~:kdz:*)*l9yu-RujU%$vRZdI#R:r2廰Kä);ɖTWʹyM%,3gNN0K/T&Kezql` +R7pCj9Gi+ i/HqeJ {Ka}AWGtْ'Vu%^VGPՀgҀٷrKVƪ?l }KuUEqg˥g$a\$sK3]׿5䢞C4c iy/3g?sw_H(蒫—k> ~5?~uwzO |1{.\CU=cI}jwT7NХ;yy c0@ @ P<~D;UT+>D(ܠHdlL̲eˌGy&r?2Qgѣ:;M^L$3Q=uͬ\W1qDTHh1kDC5KWe|M3o-ک Ӑ@ @%J߶<9}بQ>9cFoǭU mnY˾c @ @ALN\%Mr|kCdoR7W/9dȑHqJJ)_VS\2کKuFSOo>Z9CtAVt&aWbѺ/^{H&+b8юAnryMސyuz|E!1*0QMn&w;#m)b0[iX @ *˩2Ir@ SE]d,X`i#}E @ @ P= D%KZ| $=sҼިT}ڷ'Çr}p4.'r^'r. 'q;r;m!$1gΜig 71υ7{챇i׮iܸ1^"دfС9D#G!sځL @ z2i}+ox5y'1s~2B @ @ $PAڵkͲeĉ?nwߥ t%.Y<̎;h;$`jŊFɩkv*|:uI\71ԩ;sI#AX͚5W~9p}3Frrocj\:Gu:_۲z->>餓SO={7tӬ@ @@qf.Ҭ3׳>[aY+F@ @ @Dwɒ;ժUӍ1Œ;L:Պ$vpI&6`;%D]N87xÌ=ڄN]*ϯC.W̉9sh"vR.] 6&٤ḬaìLa,CP￿=Ooz)?z1cuIN!E%ڵԩ۪Rk@ @@A̴iӌB-?H;wl= @ @ LХ9Qrr[>9-%=I#zmխ[7b%rN]~:;uIL3@vCQ6m s*RB_݆T\֬Ycj*Gb4p*m۶PMt"u@ @ @ @ T_t Kc)^{55yd#1Qrr[w# ve9eN]*GN]cƌXrZz-GeZΖx;v?cg.,lT'L`jr /jΙ}6Trj׮mQՑm @ @ @ @MJ]B'ᓒZJ.aK.VÖBʩw\S&lbC3\%ǯ!C'Z8JW+M3WƍXsr\N6e#1pM-̥P;S (2'T. @ @ @ @(IU.U|A[Ö U(w+]]֊_NX 4VNաC2N]g6Ç_w-X '.'r.$jٲe3WΝm=TkFn`)tsbl޼3ƜWÆ ˘(9!] @ @ @ @ P "$+W9s%9u9++vY+`֭iԨQSŋmE QlN]\9!;su\:^:ꫯPSNMsR9 )']l6ߩK"LN]NT%ܷZha:u;jəKu\˖-Ksؒ%K̪Ubg.rSE9u:|8s>  @ @ @ @H"PPA*:uITԵh"B)ۤIջwo|%'-ߩKN] (QWԥ3Sn]Ӹqc;si:j\3g4I\IPVvm%19r\N @ @ @ @(KIr JN]ÇN]rRĵkN]W1KYLKNXΩK)%-9~$As3WzҜ$ @_6r/8s5og]v\g l9d.L!@ @ @ @ zt8N]Q!CX |. %-9mLߩ˕#Am9:dʯnQK\Z眹֬Yck1cƘiӦQЙKpLSI @ @ @ @BMХH|%asҲ% qꒃ: #G;q3g1burW^mYfM?əKb.o!'L`l&OљK$c|A]@ @ @ @ @*R]K>I%-`I~1ɩm۶wfe[xb"qСF¬[qXӦMcgvlF뜘9s꫱3 5jd뜹Tp".E@ @ @ @ @ ztV5|p밥0ٜ<ةUVVZVPSرc˖Zp:|ɥK_N:s֙K^iO-y睍/03VB @ @ @ @9( A%ЩKЩq&tjҤ[-wŊfѢEfw5tu͊v[ӼyX̥m3f0Æ y?[Pk6:fݭ3t|g:@ @ @ @ @FХ%9u9$ %SZliW*[y?33e6}f77o#s?~}{VVpK+$R`믿@IDAT67&L꫌\첋t\Y  @ @ @ @ T@Q T$κfN] ,0˗/7UI6mj%#ʙK]}6lyw3_|QƙI&{K`m"'0sn\? @ @ @ @*Hh]:Щ ̙cFi%QWSWǎS:wlZh T/ʙk6ɓT$Ӵe˖vӯ_?U^=g qd @ @ @ @2(jAj:uI`h6Duerի v9uժU:s͘1ü֙kK] è¥ `̵[̕vb @ @ @ @ .^ХKrz;'ZLN]rݻСj}FlLљK.w[.\O @ @ @ @NZtIN]}].P նm[ӣGӷo_+RxE Mf$#s3Bgƍj ?y*@ @ @ @ $j#5w\3rH3zh3~x`R￷"5k6mژwԮ] B7Z(9֨QôltxcǎVmJE @ @ @ @ /JХ.ϩkСV%e˖nZ`իW4k̊M_?Kۓ5js"P @ @ @ @ v.U:S׼yҜzj㜺P8˹rɡkM75]t\3:t @ @ @ @ @tK&%Kɓ'!CX.UtN]n?M%R駟sWM=̀L^L֭ \ @ @ @ @ .IrD\o=z7nSתUlxEC?X!WVL L͚5O?d\NU @ @ @ @@ RХ3˟j~͚5fVհaCSN#>J8sY Y/4+W<;68j3Վ=m޼HW瓤}WC }J @ @ B`](%^ Q5o<+u PXumօ=hF'@`$P۷ rpJ @ @J-Ut_f͚e͔C*6mjիg]2O>$ Jfm*UVʆ4ֶM6ĴoVoE  о儉L @ @ PMT+QeK嚯}aT5 %Zd[m%;Xȗ\Y;tPӿ¹ @ < |I3r痝4_r}r]]>˶uyr)GeWV|YzJw.]o&lRзfB)WS6lo o>ܹsرcm۴l2[vA(8v.]u5]v-U䀅l*R0o6*̗,3fMG}t/9R[UӲeѣͨQlO9_Y'Q[uރwntΧg=3 6\2)8ڷ3[{w7xc|R]{A %6mQt]w38#Xٳy.bӯ_?ӬY3V[gBԃc@ @ TU"R剬r͗s.ʫ:Uw102r.AW\a}Q?e9sf͚,X`vi'.Z,].ʹVZn4hK(č@T倷 j[ۺ\LmT.eDGk׶ v}wRTZ(Kbm#4?켞/<@;ywZ/bDb^hBƍ`&@V.1$1Zqm+Vr-v^uE?p{Na9ry1{(|ڵk} X֬Y3.b;v_|aڷooIWCz7?s}?zu:\p5̺aY,C @ R$zιs!]pTFЕ,C(8ľ[ oW}AW!]c8A4$A=_Er nJ}DY3/o+Yšl]w?F{}v܈:,#HtLO7tBͿ;eD7-\0noynjQR2$0&/qSι+P))Ή|K&Gmyx}{$ΐ*^ѳsJt~}-5^xaQQ(VVJ4'ݳޟҥ02I (_3VlwC qRl5jEАn?=餓ʄ5(=Lz @ @JR8BxtZoMp%unUVe@o~7N:2.\<?:h6t|5Pe\NZlidM!իgnuTo-/ҾEߵkW݁?@ xgXͯ3njcl6M\9F)Sg}jժe"䒢޹s=Ӷ~ ԖBSDn!o֩c0Ԇ% 24`^4Їrli׮]aOEu Ubj!񁎥#<d!%M0)ό3̴i&'5j9u k]r{ˬYة8BN/r׸KqN>d;۸qAǍgRݵ]r-?(aԾw׉E] MH̝wޙvW <8M$'9 m{Kz9ݢ.Awɺ :ԭ6leIB(zX%Jt쭷:mL:OJPD %CߤtEeڦ::gԸ2|A֩;L iV*-LaC1ѿ/sg1*j% N8{m[0oҤm˵3󓜣C^++tSm%cJt?><ί?I|rJN;dv}w?m$N/cܹt "_:j<9<1;g BA:Kr3cW\=)_ @ @T *+yrx`JLUH\o͚K Sxs96v+7t)gV.NuQN_%w .+<4N:50@ PUJi;Bo@裏&VKbc }]?t~u@ @J;}7hyVd\#FڵkyquI픒rZ )RohzX<\:]T\NkQlh͗'RCsGJ)Tl6UХ\#Ѣ(k%0tGuuJrqV䶧MNI"qt/0Bn_⯤.$^~sNqA@ @J;Bx{}<P5>W'A:8;tX֭= + @U(}#(S=˖B2k\]I# ?jE] ~@d%8 ¤>N$ז²| a%v~r4 I%W.9 H̢f%[)/7 AfΑǮHLqeE8g )J@oJIb5Il|%Kmte:vVE⤤XtI#'+]-\8ꫯVVХj֬v\ m%VR[ZٹTi$U}|Ak+o}m4iqtu7oiӦ]LtIH%+^ْzJJtI@&\Ӳ%&O1K>]KkdV,ThI%_ХwuV_`zKɿvr9=|0@ @ 'oN/h많{ud*Po?+U'AWAW7р @U(} \P~%ANr;4 &]K.Roխ[7H8(䔒[4hw| $T9+)lPxPet)DB jQ6Af\* #t=7opb7(83(!ҾIl^pQv|D Jr_4]jvaW;_U.}eD=rRtrt)&9w2yEe]U/tI##K8׭pKnk sYΣJ>rnذ]$Cոqcg]k0ԥ]$\s\y59s]IɇK*4}gb.G rpUpkv (?O?ĪsGn+@ @ Pt PrxKHPFT)U'AB6Nk*KJ|2C$P*1+dEaj4@A0}HMT N8t!cjE]rxgy7;qmN~(xhFS<5F+5/A{);3K\HGa5ڣG9Ks>seT>}0GۧJT7|2"rW) {B)s&+\E dsqte/e)$tr~r 1tEnwH%7M kժSOZIe]z̹nm9O;v4zNv7A/r&M}KTNursn~ZA'  @ :]~sv W\2MK .?I 9s昞={'x".:`rކV %uܹd dNBI \ wYgLy1@Je<] \KbA[5k͙ܚԅ*]>7 ]hM~ 9|p*Kz=s)]垳NW]u[o}U$Rf12 7ZkoA~ @ @(qJ( 9 ~ʅ}]k׮aT(@)(i!7,:xN3IN U域I7(áKup e(1CRγ ) 2kY86 5F@)(M!M.UJOb qINm]ӕBjꒄU?~]i^fOA~9c9ou=>NҌs6s^ve[,*.1騣.?Td\hF~7l_m!\N.)st9X%+J/YM] $4[6 кl.?1cݴ]9IS eXKug}l{28yr [X8ۜ1߂|if @ (]%zs=Bx. R]Wo|*|[}z98v] %P*]BoiuV'truԀ;쐘;k֬8܏f]fKB.VԡK.BI~]~'ns-)?| 4)A9k9=YՂT*e?|#n 1}|.* *s=f!PrJ}w]RXC= $o4LT~}p vW*w͛gw$Q0`yOAڍc=-'$N֩SǮkݺu<KQb M7TFХ0zzǥq"!^Z |o~#]&JaCU￿CD@k6wiQI(;LKevVZXI'A9롇Bxms%o[mSyL1{l_[piҤhleiF.GJzPJ%9i{1 {QnHX> @rt|*@ @JR9B x'i(U?Aͳ:˨#[4ۍ>J ;j*N>nϧKnn^+|—(u`MJ:W^ynʔ'i?ARƥP۴ib4`:Xu]F!Bї~KkCaWG~2?g$_.(,҅^XfxԨQSNW. $XpIs̱8 n.rqa$p۟)J@o0+ӵVصPеxbBgJ(;Gy)w%'wy 6}k-J"QJI._SժUnYWA/ IХsxo喱(t3W;߉t=6R9Q-S rҥV$VL.WΝ$ cMU!ToA @ R#ԮxϷPޡKE AE5kV(E\WE[ "( 39 bDDEΫgz'ߞ陯~{ro΁ lsuX"۱]tf&l6 ߞ-UХ7f f/6(rS_$@UL6" ko ` w Hh޼4i}%A5B&ƇW_@T rr !qar)S Br ~>8gjfZk4;B!BwXҁPދ`F,ݔ+ $ bN;-TJ^DQ2x9 V02ݜNUĭӧOwVt:7h#' ̋~{f{>E--` ֳ 7xiM*肛&M::wl.7ŋŅbX׮]3@tWzww: kA0"5ľpkwG߯fW#,]r%n]uC5j(#0",y]HD[RCX/ aꫯ5 ĚOH yiC|{q&BT]EB<{'//;t?Z,B~kC$@$@$@$@$@$@$@$P(יsqnxkWFٺWMi-| FXyӦM7hKt{wZ3JAW^ T!4kŵn 2D7=z2(XApH:pA +pEEOF>lDj7a+%KЅ>hvX`=T,hKЅvb/p!,AHF7v1@= bX裏 7Sup7tbm֦YfU4c\8LTNh'a`AxIj9@WpɃ.O>q8NBf74`%=X;ͧ|%,X}a-¹Ozɘm . jwn287۹Fi޽D {כ^[bN:) -ۧOg . 6ozl\\9àAܗ w  h! /\4xN$Py[3s}C7tSUXglíw`Q5Y DKv)񰰀 6Ll_2/vD<3]"D\QN^p{K3.J;#t]w b W#B0M js fAk4HC8j]hSIHHHHHHHHHEdW콍{;8@l6\* ŷst5[.Wa ߬|Sq$@$7nxB,<Θ1@[uM\WXW`a⬭ʻ׋)=Xa 8,jBܨQR,H"/sfj b:[gcw.Mk4h$p݉< ӬY3'an6pðb#\ߪ`          l(k"nxrT$@K޿=׷ p$@I[m+GE$@$@$@$@$@$@$@$@$@Jz< B{13i$wߙ}y~0m۶uU{ヲ}-[w}Qy‚ǰҨQr32O=[ϰέf62ӟ#+ XF9s+q {Gw[nm?u[o5oM˖-kwyYhr33Qw}:s;wdǏ7SLq^{e:udXc*_  <؝r!fv QsVlߥns6mzꪫs~QGI#p .rK7o&Lp>XuduZE"O?` dwtcFq a_W֦KLtItMMv '$3 `M p'UVY%,6_>hĉ >x֭Ys5#@G}d}Qϭ;ݳ&k"+-* qƹ;>'pg}f=+Wo@IDATON{ 07Gv̚5q\o`+ѱcCw}]_r%>^NprY#Æ st x<7n9S3T7I&slmfvpwW_gy}F6~&{YyuwyN$@$@$@$@$@$@He Hv35  ȇ@R֍8i웙 Zq)Q0hPVDr4ٳ}{맼cY1[Fgbš;к"Gb 9d Rxe\̙Y ?R^z1| V,wR2O>yUU wzƻX\Zxϧ=\veip1p@_VQyC_[rdu=?+?>Q}x+f }Iz>ǰ3ⳏg) C_ =e @5Hʺg?SNqc7\M.g@[ݝĝqn~;tٝ_v Ve7|}\7oJ :ݻ\eč}AuVcF]mz즈8X 1K,q.`AѼa h/ (@F=Y:t`f4b0 ]ӧOw%#U-XByXnB mMIFcƌ1vx9Eh [ Q{H6w&ygHKV}`-FżRK6`@:(,{o', O+ɰ ` ,tAꮻrq4 QXR /T'͛77pϝtw:)Zu5+`U Fw}y/ZQ3Va%N/=b.rŸ\,;aY=Κ-bK"J$~}~ 9gJ;7,&J3^ޱ1pYgM6$]5ikoX+K0 ]xaƌGZq6)( &’x0 @AQLouHK )FKZ?ϻIRvnޤo#?~¬M4kj`]}ߺEo&oKarw e7|-O t Vk׮> n2m#tм‚n$@C u#Uퟋ¢àA|A ]X7Fc7uq #[1Oz%k%xGŋe'Xr kare`fȐ!)+^e+%Ѕ61v+=oҟÇu/x伯 黶bUo Ҭ>A[0/$XJYφ̗|~] ]aCVG&-.xQ`+ҏ i׸ǥJݬǧ!Pɗ_~-s+KۊZE\h ]2bC0_x wu\_H-taA N'`7Ӯy~`5L 3F=SE`bV,z[W?6+`I<'      r1SHF )F#j si]&6&@Ӱ).)r'K?otFI.ȷꫯ17W2>/4o 4 B u#pe+?xK aOX{)k-ŗi ƽ<ַo6%uP[qtY+:Mj6Dbauwe!A=ш~6grAx-TBХ18^ u 9hAܙ}(_vp_hyi{&בr?ERZTy/e9"lA'\ ֗/wj-IYkaftA ZwB.[~ |O} i֒g/Dr=uZI<'      PЕT K#' Hʺg?uK:ݺuכKAh@+9#I =?{ltA+i3R~`? ).\ F,l+NADVrZkl%O6AW/IYptZKAEyC9s8uyl]J֌cg|V𷜴#İcF @ B07հq[oxF$@$PnO-0  aNՊ)Si~뭷꠭`U\l` ̒'] 691裏6Mu1LЅZ&O?t:ySЕ$@%s݈u]矙O=ThaÆy]G-z2*|Z6]QM3HHHHHH" P P    Hʺg?HF G[Dqg8 󍄜Mdg Q%ӄj,\dIXSJ$@s݈0$,@%ԠK K`y\?AAח_~\F 2pNwӔ*!rG]Ywy1E2KKGY];!,TK{ʰw~>g_?:l&y>3ҾYGƑ $]ɜz]  L )FԂ l.6|p7Gzz#O?~W&ꪫ|dCd2`D]4 y8jԨi޴$@Es݈e]柅Q71(ꫨf5.wB'y>cB`ڵӃy]kAW|*+D ak0#k+߾1nŵnKk~L2/QG2~H>/wɏJs0 gϞ *肻;iRֈ*(KnZ4Z+.{_~vtiT#m(Ű\|vK}5 @}>QVEѝgA  $e݈Z`TK{59p(am# @ؔOئԗ1Jp뭷.\V-D0Ap }ɋ?<.\hQB  \7 ڰAAgCSvD>馛|#G,jtJYX8曰,ba+,=a**: ,Bd;i/w]O]t_sɊ#4+`~b ?b-iC?cy-ިF ]@IVp*y.-Z߿J;mT(PY Iȑ.# @!(*V歆:! @b $e݈zs=jE[ s˨-L0oj7^.[OldT%"JP1cҥO[ySk b ĹnDQ?SuCtAt%/w…0kPcǎńjtѰi/blB3gzW\qE1\-P/*=@OPu74S ںe6AW^{ͷ aA[+HHHHHHr+:O:HE )Fb]ؔ056/yLN=>=LQ -NƊcͨ L8'(=zO0̛7/mCkذaijt @ \77L8EV ޠ?T%.X[E`1:w}nMu@B5,bw"GM+,š/RF=\ߧ:-.-^*p|Enr|z%:yтtiI( 5g.K?,e??nJPiRХ]CNɓӚXV?ÂGyė`ݐMUBQwX }ly5  P$4հq!^ T5qS t lhӦM|t o)l#h71/ܧAP\0j(?>1H?qԢ/ x]7uΜ9>M.fW P\7T^zn AX_ Ԡ iqA8 ׷pg3!k/Frǧƍs/X(c=GX3k AN?ti6li~@.ɏa 4#}A[N;C90>'!Bw}VcfBl~Cp%-Y$yKBP~Al!NAW~|lJpF%s= `'سgOG<yW/GX["L?/l5u2xVJ!ujr,{~ªާ]`L2/Zx˱!]Z~*!b,e\m  1DntiZoovwϲe:A\Fg]lTg&M6oal\F$@$@$@$@$@$@ ?ndTe'HH !nO-0*VЅO!q]wE?plc6 "G$@l962Fo0ѩ7OE$?x6%?ˢySk b Ĺnd#m<Îa.l7".J_{m)mJ !kMk $h]@4+@VqARW)}$9_*Θ1C05Ҙb}{((G:;G/VVϩjtAԧE;e^"Qur9џtAxU: Zt=3#kWĹ]>sͥ)3@NyN$@$@$@$@$@$P(誏y.zղqQXHH VIY7'/!gS9e9      h?vH u]CI$@$@@R֍S}wLV\0vcU'GfڴiZ1-[4[li֬YdRkc7.Zke6h|McݵAdՍݠ1M4yc7lLvmg7nxB$@&Pݤ6{㹺j l/ݢYgul`6xcӨQȺƻx\kƬߢEzd*c!c}+1뮻Qz3fBcmSgvڦnjz^aokyXvmݺ[ 9ZXɬCvKfV֊zg {Nh*^_ 1o ḧ́y[n|se?ιeV\qŒda       xd%PY;D  Hʺ~ɴ<7^z߼7҃N.&+<bg  Z'u$ lm 7k [Fc2_|p$@$@$@$@$@$@$P'(誓.vܸ(ˑ @}Hʺ~] (O~g}YI*yEsUW떫,D$@I"u#IlW 0K# ${,pulV~0?ٳ{7uh@$@$@$@$@$@$@$P(9.iܸ(  @Hʺ~s1Ε֔)S SO:lkf;:kŔe HIbRЕb_I &Mdڴi: 'OvnnxXn˓9ZHHHHHHH tCp㢎'C' "$eHJ?a3o:_HH IY7QPUs@Njcf;t`ZӼy @=Q1 @PU9h&vH@R֍j&! :'uoHHHHHHHHHb&@AW7.6c/ T@R֍IH !# @(芃rE']' Hʺ~V` $ @!PE$@$@$@$@$@$@$@$@$@$`(j0Q17.jc9  @R֍3yvfΜi&Ltᇛ[9W_}<3QFSN1"2Hp\7 g$@$@$@$@$@$@$@$@$@$@xvuQu1$ @R֍l-X,Zȉ6dn-{r4! /`{j$UW^1;s u#JK:h+iܸqud/H,[.>ҷ_ެiqO$@$@$@$@$@$@$' ⤝q@2 $IgRn?fĈhd& *9lj@R֍I&6m8{i߾}Ή3j(fYf $@?~ݻ6m}%C5;vו>OC{)Kw`ASO5.bqE7Ƃ$@$@$@$@$@$@$@$PatUxl\T;GH@R֍3)M5 Oe;w6oqR0O-dP0 Hʺ!k۶mtzf̘1f 74s -EK~8묳ZRg-,T P}yE @`]w5\#6͛7wmUj bjHHHHHHH^ PU3縓qpHH $e݈7#&M8V/|.bj+r4mԥu/Y~ a…fnqܹfu1Z2GqYqu֢}3oL8Ѽ曎s}9ؿ[P~-0{キs0/IĹnµAom+<]>7>xOCg}\}G !(.ڲe+g\M0; T@fj ? $@$@$qoN7?cPZqԩSn9}]jUWPVDXqPZ+IY7R>]ejy晴\y晡7xW矧oȼV/Z(>J{dܸq>A~ҥKS]tIkSoڱbYs9cݹa6iӜ)SwަO>`j뭷vV9yaaF,H"<k*l2Q%’!5¢ ޡC7)o6tƌ㮭5P7hOX!w5sqkCvaΪ.u>egc c?Y*+@Ѽf̙^|G}Խ;km` mi&I U=yꩧRX/]wu]Vm?JpaI3c=/4zQFn}Ԇ ;,{5 m]Z\Yq7O.ڵ{> k98b`OwNm ,A?`bx_ouL#, 38`\ q$@$@$@$@$@$@$@$Hkb$Ibʾ @-Hʺg?$5}nV`&8XB~r!.NnkҬX,;i\LYKoR$|O"31+\v0|ie2QGVF..+r-SV۴.$ӬMzff >k,_st]wtpѡ1&EaÆpYчo즳O.,Sw/|Q|r|V:s6IV£xfoȐ!}X`P9K9 )Z~e+|ڞ3ge`1*X)X6ÎV(ZVq:] "#u5Qd=Z7}we+Cfw,GQNG`>EZ 7w̋:.>t;Rq" @ BOC4j&ztOB$@$P nOm9 ֒`4t`EbB-ݴ6lBkk/+Ofk$b-zapBk(+.s2tz1,,8 k.-pI&eZ-$,[Y3Xe BOX' w9,t-^YkjҪU+iѯ/؝EXӰ.Ί%B6` U۞w}m`7sXy7Ypu7i\Z= _n,K}slAVFb\J~صkփ"kpvGܧX0Gwy;E,"쯿N.'V[859?.C#= AVaQ s+`>^ bKp>ܿ*,X}Xɳ4ki>ï'x5 $@i~o7PY= @$e݈ruJٺV P>>h /iB>㣬+$.Yz'RVZH?NJ|}NzAFݥ۷Yw^V17o4mOnKuiG}?L,"G/XUc z#纑g<𜔟( ]i)B >o`R~YhZhKLօG+ c ‚tV DQexX0,h̥䱢 ֍~ǵiY)+4Jf]":x*.[яNN0@bAmȋy5ϰ0ijρq'"J'Ow-t>XQh>k:MiߊRKށp0B57K $Po\7ؾsaF0׸]`+@"%e<Ү N::D<+e 9VBЕ"[[̫^q [Ȼ,)J[Kk|EvOBleҒ&xM&d ]x.Q  Iǂe$6AWC=}5 $]I 6.*4t6K$@$PqS mDDD%B>XFM0ŦikI%+tAȆ |[1J z3;ۦ]AcMԸ'OOXf>Ƚ jѺj $P\78$(Auq!07`]~!c-Ǻ@;´ր0AXZ,ta-`צ?mg}>裏2$jחF!A,5ʜ(s`Y̓CH-;w )X, ?w_ V ZXe%fh7H;Z iADЅc'aҰv$6AWC=8       H 0Kc5l\TplHH@IY7DY&iÇw3ҫW/WMoR-`ien#[]'N㕼F 65ol8'ihBKC!_1XO mO;> t~|ظ\?'|rXYG u# u]?QaÆB-I}ܹ~3S&p$nd 6!86K Q.X 5k&Bal…]AנA|Dd.Bl.L6He#L ""!n .RV>(A3IZ(]5ҥ.`Jy0ht=ڷ׽{`szĈ>SZ$aC)=ԯ] ee| 2'|С뮻2AN u#e]Q7,A (qlz gf1nuq ,X^[\-F߰k^cPhڵ{y|l"|+5.42f aNz~͒8…b5B]u9*<3~~lZB )l}3[u2_] 9 $]I 6.*0l6I$@$P$q3M.A6e# |̙3+ ާO'x§ 2 ]zZo6{5AUE`WHHrHʺg?z&믿!~adya1 M81Ͳ6k,XU'/ʂxgin E_BJ-pX;Cͻ.іeyOMbH`W:tSiO;>|hמ~G d̃1ê[9;Aqs݈z%%=|SM.]_;vbx7Ț7[wRu"[{&n]Z$ ~m2ƎNjb[+/,K}W!8ac#`ݕu.[r*:s<(\ ( P?_(' ?IHHHHHHH )(JLUհqQY  "$e݈mr 0:ugnd,QQVvdni֭ ]v)X@м˵QM_ɒD~mM-ˏq•N]1q*B>\'$P'\7 K/^5(&A\手6dȐkl6yE؀A~饗ŊƦ!cY KA?1cЛui ]ay ӛ_;ԴiӂC5 8׍lPVX|&|E"0A;AD1:aBEE D7a BU`]!ns.Ԣ0m_l[K^{5Fߣנ-wu?@IDATXΠX+ c[W]Da;ԉ~Xxʃ={n駟QCe!`,r>C)ģcNqƥ`?t69ٳ]^77{5m 0/^p߂9yYꪫ"^A 3|602g0qx >K 4KB8G       0%`!wutF &u#)lyӪU+e7\\ɑvX!!ӲeK[f͚E/%>0vϬZf6J74⊱crk4i籛f֬Yyf37itbhƊ{gYgt7(7ݠMopˊ+hva4TZh{3n+0vXf7;S|H6 T˺ggP&'h+2۷Og-";.-.E߾}E]駟6V<⬠NKv1`ӽ{lY\t+Bȇq[ 2tx~E38X1uhu{kzVL*+,jEeuZsyˬ|Ac0:`- B9Xr`x1l𞓍1;UcfUVIk +3p嗛;/gSVgΠQSMYyC\p!DWaemWX/\ifn&d„ f}uJ}j$@$@$@$@$@$@$@$$t%i*jٸ$ @n$z n(m !N7o^TrxZh5O!z뭷ƚkLEf! "PM? :@d-7,QBelj߿^Fdc+=\^ +_} z";?ݻze.狈[0>Z\3m۶ɥ<|%l#0ߛӧ~-Ynkң~?6#~mZk˴j*sTyƓ @i@-x饗̈#:,YcAW.]7\P?vj PU:f&       PU/̍ڟcHI )F8p9sW^y+ϑ?4R8o 7lk 2ĜtI8e  Hq` $]< *˟ @1(*ZEM6J$@e u#~+j76z˹ ^vew.G+pDUkYE5i|裏6'Ovɰվ}4A;X{w^P67x^A(E <ع[nޢׄ ̾+]0ߌXܹs׍p9rHspw  Ds݈I (QUYlHHHHHHH!@AW1 7.h9T (qXA\BЅߟ6CumV8'RJPş'/6lV DS￿0.$@tטEX={i֬oS 5e]w?a%m۶3Gv=c:v.sd @8׍?6mc0,Z-DE>q믿s{ļaeK/gyL>ݼf뭷v.;8'ʍ*x% &]v5?;\}˺}u0[}A4oܗ'}sU +k9:aܹn4i3f;at"w??m\pX)l)Q?Cng͚eϟz)>cxw\d \so}9n!0ҥB> rE%B`^        "&2@$_~9  ȇ@R֍89`}Es?J(F؍2g…>UL+t}7i\OV?:u:CR3 m6}DQ. EN`7}&̧KsQ̗,Ylu3H48 n Q+3g+2,Kʺy<⋡eÔFa/e%H(eEgZ z--CCVpСC#HK&V`#+a_֩G}_Kr|'|5VlOc}}9"Ȳ'pBFfIѴʙJ{c^RVV "ZM+/XDZNAJg厊h/Qm#DB*Rtt\~Ԃ+a        BC4j&ztB$@$PMnOmenJ:k9m1 n_\ ’\+X:=nܸ`! ]<jK[W]uaeb=PoGVXaDgX.>[n<  sF7` KK`]sMJ$OvװC?ck:x&E?aM8%vAe,G-tł @y,c"P-D+, $@R֍8DY ЅXJ>!fn̖厁v~`!ߠ-t'X>`#K.',O}tt9eLv@$@Q\7R-t9-0H[W`1}Y_ֳ n+~ɰ$y.gQqa騒Z6Z0 Fֽ eSipTE/+,hKQɺ[Lˊ B&g}v#ՉUT \`] [dWY[/[BV%Iz,EٷaQ|<VVpXqOt(䉱[wR?zZ.t,c#-ty(|VKƦXA6^q`㖁HĹnD Vcs7[qIYkE+4^Ϣ6jAq<Z P0@.h֊k0\.mֻu[&Mb<' Ĺnd\./2s&:wٚtiiڴ;ߗFVk]U)D\ s+yk'6zm!I4snZ2s;Aq)"~]Y!unŋ.裏6֒o-p9Ζ-[uYѯ_??￿s B[ cw+!}o]7o3/Nk|iGN0L$sܭ:+J5e$! q\6"       2c HM2HH$e݈ڍM\:#F\ \ihwSN f)HKhYPT.+c"бOO?1޽{hF sݐ6ÎZ肫;ysXV?~wl[[BrQ{ &jkmkرmq `5++XyoEZ[ ZHѣGζRiף]kb+bXl/<)B׃D]fSpo߾g6^†$aR48Y򞚫 IHHHHHHHJ'@3e㢦!sp$@$PCnOl&1ۧzOG>(k#)wwgC[y lӦZ(7o^aÆq`36,X %>@$@Ĺnd9sYKaYRFJAx#k>!C2ʍ3G[r7DhA׬YB;R OZ?ֺO^v%d¢N8AWb:%Q󗸠J]ob5gx0⬵+u{Qr/xRKDߢ]pG!Kxp$;]I-HHHHHHH~!@Ae"k'H$@$P5nmBlKW/b[niilAG}`5cĉ~ѣ/6zaq`]6Q'6aA }ҖKOLQ.hݺ 6c170 HH 8׍l%Җ]ߺ LAQXf֭oZ7e*@ -n,_ta QBju]Z`AZt%ytEI׋v1_ֽ`F6~9]eo7h+yD*XJŠhA ;u`M$G0uZuܽ랽w>{O/Ch,G5 OHH@H :<-w2BzĿfoqō26#qӦM65 Hkt=;σn]+{..V7 D ),BfSV ~LjS="d$?o* 6RЕpԼ d\I ot~ڵ}˙I$@$@.e $W%rIJ@.BsE-Z$6mGJ.-jsP.)XoT[D"UVIB.ɓ'vuVQXX1Pԭ[WrʕT[x3 ȮuKlذaC~[Zje཭ĪvZ'.rܹS>l$]t(1(`qBСCu ;(*[lU"]ߐ? 0@W!D[JT#J+~-eHX_ wzҢE }F MuE ttYNn=bq|J(XK֬YUE%\aͷ5\#ۘ(nU ,7x>k$*@,p|۵x!L=U1'ꈺFpÇ5kja_… 4HR݈#Argʮ]Dy :Y&L޽{T{\d;HZEw}'+@h>Sr IHHHHHHH+Xw5 K (ޮM~axyoz~eK,:u1Hr< tA嗚7o.K/K6˗/מe ު[^Y7lP f BJm۶:gKxNJvڻV"]+|e,L~Ktţ2        X(E@6.8%$@$@'u#,vft_h3]!N;Le# HuAZ7(ޛP0dT4i ],A3}}v^ 2emϯz 2V:xׯ!Yge& # ShٱcGy+B#GgBۆ&ϛάxۘ^{M{U 6m*(0<"l&! r Zr]7nԂ5$+X ޷ou?JJDbv vJ*tvjAu봀TR:b3_F;wx%30FSߵ-[ ={Yw.=Jd?F{oT9r7[ +P@|f d= iJ @ ˺;SHH nrڬ~.[]qƥ)+ f @PЕ017.Rc9  Ha3Y 'u#>D+$=O7. CuR\p̝;WZȞ;V:v쨯?#iҤ-9e+Kzl=°nСC:01 @$sH$3fB0 a-c"D'T|w /^x"n>IHHHHHHHH ]Q8x%*qHH 1²n$λ[ƍO}eq߾}rYg,l?8 b{L2dqrUWˮ]ʈ#Pp¦l5mԊP_ϟ_N=T['$@$\7#삮dr. rs$@$@$@$@$@$@$@$(N!wn\=M$ P˺L;}YիW|kNJiԨlUA]tJqFAC?߆ MJ ^ͫ/^\/9rD I&뮻N̙񁐌-Z+Bjq_OHH $nCxڥKO>J_o^@Wܹխ9xHHHHHHHHH K c"?GD$@$@!u#v0aQ?|fjd_5  PկWQ͕G-Fml2kM0^y4l0f^{mDm`D M?cL{TW乿)L{Zr-&+8~x_~Uf.,~{s:^&$%ޢlĵXǔX/;bzzB[xzwL7]`:O[Fu۶m[fĚkrW_}UACF9xwxDo%KsdYCRmKt?x ųy#K.D s)f>LB K}<uKF*T&L;Sg+AqC%"L_*GũN۷oaÆK/x. ^HHHHHHHHH K d*}.K## "u# .)DyPC e^G^5-K`ua޴"xQȶoFb$@$Hٽn]xիM2t뭷 egb$C6)aVI-ԉ+0eCxH) ,ە8<< 'U?8RMLP*o}z21gnB_JD*D / cڵk1Q hǡB6E<'        1D1 e",  ɲSy(o/&bJy޲nLu駟MEXC%n!Vyy]"-3ߺl̙6ޤ3È/:񲁣a`+HN F< rRz޽~Ul^]Ç6A IfMHEwraG` Νk-_x&{uDI 9~_&MD X7d05]0HHHHHHHH (J$;()C  A ,F2t=jjժ L׭[gzeWҴ7upD-765!C Pn >ij4&IDAT6E-޽{Gل6~|wLIH 4nă bzb߫VUM'KճgOkS,RHAWAV3e`X&]AW,=qۼpJA-ٌ51.;]eCW]_~+wCKaȑ##zGNTb׮]^on]#ό D\6j!.?DAd{        ȅFH7|k׮[L  p e;Wꫯdʕ<]8IrzRD c_QRhQ9s֮]+ [Q^D &фm47G%C4y?_%UǷ_sss,X`CqKݴ ]d_ȱc"}Ml+pmo2ߏY=#&        jХ)6-d @eA[B$@9@P G=%Bj*! MD׮]dr)HzN?9͛W0a +W>Sr)jI8 Q,XCW;Y~~n*UC1bfqʕ:fժUΝ[ݰaoEcų 2?Ɏ;t?]v2q PV+u##        x(Ge N @8euZI$@O (F]r կ__D۶mӡlF?+?> @%@AW <(鳖HH@X֍ؙ "{jժ%&LU< rs$@$@$@$@$@$@$@$@9]98qq";YN$@$ aY7bg0fV eݘ7ol߾] *$Z =zT{^jOr1)_TXQԩ#y ݘm sO4eٻw,YRZhJCXHHHHHHHHHPuRRqP6.R4GH$@A ,FX S1rH9rԨQC7n4h"0qD-K/4]L6n(u5k7ՐH ຑ&C%         +dq١m$@$<aY7bgv;R@)QD ~:tHn&ywx r҆S.ƌ#{_H ՎH 'ຑfc%         '@AWA-EƑ @e1Ft-ȴiӢL+ G /QQ!&u#ēGIHHHHHHHHH ( %dn\$6E$@'u#,vfaAteVX!3f7С)S a$bn؄r8$@$@$@$@$@$@$@$@$@$pt|p Dَy=m=:wl1/[]׮]i"OH nA͂]vb"         P0@*TQL$@$@$aY7igǎ#Ǣ[?6_D(э-SNmVG˖oֶUle%u-3XT>.ǖ/Bرc'EʖMJd:tQatڀ(] *W)SPޯ_Ȝ9s"*>7JQt#/- 1+L4)-[BF=(!.GJ,e$ctO?mRb;[2-矺|k֖97 uqoy'm;NӞG"dAl2$HHHHHHHHHH $%e$@$j²n$΋/XW $2bw]{Ac9}usLaR]*|= bCdlmڴwO^{5[+Zl-3' %cÆ mÕ?WնmJnR=x޴qF[}Fh]=q+^0yF( M.?Wehʛ :37Мw}g>=8bM6$h\7 /~S!p;}'&0K`' h vb`hlXB$@$@X֍dYn]Yt5`޽,XSa#vοEyv%JDiPBRm^~lEӯ ٧!+ɛ7oT9rꩧ<= 6L+AԬYSx.BY~.vC.vMy>wC:T|4uyQ"4ˆ4NaB.ڎ;dɒQ-'1y'tތ3o*7?cCI"\dҥ}fjժ=3q p". xeH>+TvDFI2ep a(*(ViMFʕeڵ0c!rWs4"xTHI} 7|Ǎ'3գ]tVP)oeZ THiժUT\_4uTEu>Ahwb.* L %hÇeϗ+>4sؓi{Ee_~ٛ]~FХ8 ]¯'C+ڲe+W.].T(<ܹsk0 ?LCSN%t{SIO>*M7 )X+.Q>4vltB)7tQ_Bv7k/P! e͚5 _Eիg]*Hӧ )fHqӦMr饗ꐫEv5k\r  vܩ6-Zz^@;՛>U۶m(+T 7תUKv@h &QϪT=qZ 0B.:$#LoM[IHHHHHHHHN Dq|1 @zen;Q#j<~*?*WҔ 39m"*t~9Q|ѣmW% /:JH['J4T"5ߦdx Sh}%j߷od~wP?~\3ó =RN_~Styl%K&3?CD !"x68*olmH {`&\ҔTb7)qDis8p`T{\-[`K*qzդI[w7) DuyF|¶-=vY&Z{D$@$@$@$@$@$@$@$@$K+(SlA?c[  ˺,;%'Ljs=͔)3tPv*#t]…ӴC, R^w&C R2!OgД]v=ZsR=tS{9=X"bH2elHJj}A+1h/=+WYZo/Ƴ }&zj\.Ç.x1bydø%.%JОP^A+.]=> @֍xGx\|琔 Kz뭨&۷מ@G/]+t;#֕W^)Jt=w ¢QjذaH}.YDn%KsѬY3ݷ T*U{x8+Gп7]~+݇fhk~(2COeX W#D.B嚄3gKӄ~m9޽wyRK(m=1x%˓'~Ixuי4G$ cJӐ$@$@$@$@$@$@$@$@$@#:5*DϪ  ˺,;H:◔Q']z!NmۮsoaQ/.xhzRjۭvRb$['_=oفuB:*l-VB@߷o_oN}[޺ukm\(t%fОL#?]/7~%3^\/?ƣfv'Nݓ:JDA'u# b%dUUE]RLyfwI[L1M>O:ՖO6-ܽPbm=%sbpiJ0'WCnR[;p-ޱcGԻ.oB%:Y[ d)^Ru]CzsMh޵JH-(         & )=: aHHF ,F2t/lG8=$l^3fyϞ=6!ʆ 9tn0zg G}4mۧOҥK=$]bE0wCy#[)G L~K5vX[x1tŪcht/xr=ucSx͉qݰa<7U~ gLdɒ4ʹ ü ϳ:ϵ ۞$4^7oޟnxӧ'd_2Y;~'c]޽۶wO2+b?Y1V2c%]eX%c>ƫ2ΰOL$@$@$@$@$@$@$@$@$@$ ?&2/oF׮]۷$@$@$˺v\Qdʕ'HrzRD cEUVXJ*I*UDm GPPt[C>l袋3k׮DJ.-E*? B@j8+VL*T u֕\rLׁnBq^Z)[ .@sBەN/_.x ,xvYUAyخ๸Nl(/8h"=f؎vJl!\rIR*'ȎuKk%l9OG]iժUTEIɒ%umŃ>(C*d.\XЄDQ~}Q;fQׯyKnK%J0-*iFz-ʛ8͵ +;&=sNkѭs         G7q6.2d0+ d+a3['3oco35ʳ:Kj֬lD$NAX7NVuuɜ9s(/Pƚ j.Tnȑs]憖4"XH^ABWVMG{ HЅu]rέc}.\0M5` ᘑ [nL        H)ttf`qb$@$@"u#,v&j/ @a8YAsxeӦMk x:|)SƯXΝ+}[dN>]Zh/x6l)G*T`EM^AСCuGjz *Q'ւ(ꫯ1:͞x ׯ΂筪UiM(H dɒ%[z)O/o֩SG,YbyB$@$@$@$@$@$@$@$@$:(JLHqS  ˺;2IHH n Gz>1B{:3e׮]OWI OPؽ{w_V۷ob/Dݚ5kJBtbŊI…m[ BB^5k:.tyX7NZn-3F}Q4.@Y~/_^֯_/]vO>DD7|Sn6] *Wϟ_AgΑOf!hW=dȐ46 4*~ @'@AWE| YJ$@$$aY7bg斶 @N&u#+]ǎvo}'Bc^x~(={*8 Xm۶2yd]t!sr]wjnP0m4iٲ={ʖ-[N(Gիڵkkoʭ[joe ۥ^*EDA        (@|Aظo!KIHD ,FX  n4nX~:v(cǎ1{l wE+ʆ Lx@]]=^L92zҹsgU˔?C>#mkѢE6\"EjԨ]v,\ЖHHHHHHHHH uPЕ:sa"!c$@$@ !u#,v&d) @ 꺱o>vpΝ:,aҥu(\reQz{RR%-;S\"l޼Y{BG^{!*۸qkkUT n#2Q8xC gqF&zb         @0'1Tݸ8 $lJ$@$@X֍5HHHFaV$@$@$@$@$@$@$@$@$@$@BAq IH<²nN^^ d%         J:67.KHH@ ,FXSE$@$ \71HHHHHHHHHr  rLgrܸ$86# J ,FX̡M$@#u#pSBHHHHHHHHHH PЕ{3d$@$e9XIH nyvh  RoNtDܸRHR@X֍ؙ H$@!!u#$E3IHHHHHHHHH EPЕ"ap"Qd/ &a35HGF @ PKܸHdނHR@X֍ؙBB$@&u#GIHHHHHHHHH t8@IDAT>Uu/]"%"E@ ! 1 T$(B"(% (6:R, E(F&FAED"!~G伳w杶>ٝygn9uzBm 6OxA;ٝ^;W%sp1T^p%l} 4o&\uUӮ 3=>k3i'ʫ裏_?ieexN;>OOо}po 7 +r1RXsB߄E[n%[eU5[l1:N6u8+Bi﫭Z/`4Irwn-Si7+$']2S!PۿM'B@!PCѳ #3捙X9G ܟ:蠃hXaB<ϟԦ"kFs;órGbʌGm=Ѧ5uGDßuYc{3X{r)yO| @cq;s!F/Esy{,zы^ew#ُq26tsCP^屏}l6c+f3bJ/]Z CznY(Oߌ[LRdA D)Up:EB@,H2o EوTh! "yc+et'/@`]fx_=^(J56/B]m 3H"tYfz5YC*j\X?!"tb4bʯ6g<dwkl[2mo{Hg FM#x} }I'R&ce85yMVvlFv#\+@I93Fr@#BQ2o EO5,!  4oLF=,t-{f0DBWtMrѶ;~v˽Pk?;dp/-<=dX@Ï~,Sl˞$M";o6\}!⩧ַfagWgve,G?Ѱ^{vw1NVk3je lkPm"k얋EL۞ =h']?y;d‘hla+IaUWͶl?yCznY׾ kXo%/ -XvE^oU]׿D:g94|s_fב~yuftIrq]w ԧr?}0PB1..D:FB@IF`(P亖nB@捅Tۓ[־tﳄ')"] |2O49M%0sX]ͥmƼyDRͅx[炇N?ε}c>Dwk] &B9yꪫJuynGo]MƸZSwޙT@CW\JЗB@LG`(P! \ 0ImկE)U$|= o}5oV|u,MozSN|鞥IzOySB$v-𥦗9}v9yN<#2]GꓯoZk[od-yɯ,]eT^r%ROәoy{9XbW"r/?O}ֳz0a OxB /z|M&w¥^c yysՇy6Cf?l&;׿[ouW^yeh6, :@Ny?3O=yOv b!n_8G#no$xrXz饳I/j:3-^e& p/`ff_|qqf}~m ;SXie۶' w 7.;c^w6&aui9袋e]7xMKz<.=IOJ&wf}n?϶0~Y`Z=Uo%>">:ZxlN猧7/ks̭A7px7M83WQ|e/<]ZUr}ec='9gdI1ܜ㵑!2{Y>㯕7ڶ.Տᬳʞ9?8lMm7h/R<266=ٴbmN/xM[@sch[O\HB 6z(E@_BB@!@`(PL@KB@!0Lʼ__  ho[R|qō/q<ӌFt"e{H>l4~DXi^և>! <Ɨy>'ua|iKdWY>x*HIoҷSG(]L$MQT~qk^$t$d<m0DXn'>ia=uډ'8g6$(?>w K:$)S$CGWuT$?$:%ypyy}]Ӗ# &T<ԑH U}6d{_HHK߇.Xw4 &b44OENi|DCYi|?xT$ #a$$f";$6{Ƴ]u$NqB|19F2[~/5/FBQo4x?R5ۏiOTX߰t(OSi3>f3θkq{{ʎlU5Q$$XhOxzzɎC -? Cd|k:ҦYMW;֝iIEQe>[Х DS/GH)9LEpԈ1$2H吏n?l9FROK>i>2l뮻>?7|Ɲ[Wqm{|$q>pK҈H/F~ۜzϿG<-bկrL" x[D ]q#0I_k;B@!0) eRC!yN x@.׊%W /aBc!n/"8Ɨiץ;uUV=}$?dI쓟x.,4c_ʛ=ʾpkx h.?_1 |1'HJ jѦwg9:E>1O]`e]vZ|; ën=zb:uKlY c)> ?2n~xbM<.szZ1!5{Q"q*e5Z1|U wݙ]w57N, ㏯oęll?*n?YY֠ Z*]M_2  AOGH0xdaxnA.3 ^ rxz3a~f}jz/ɳ2,S;&fHj|ē4AH$tMŵGXC893ts<1x~eP1K0|sy~HZG)W4p9c\P}ė)ڽαj}{ HK2;F_דT-u?DiiR$$Ej=K1їi)<>j~o${R fyKQOx;`4骻=Q7nc=Z8x=a1GI^ԼHX=q,zM??c}G}(ߏD+]Mڌy}^j HLgSoxu|?thk5/Mʏ}mx1"';MZĴBUtr$"ł}>ďD/K(mR651A?ѧ65k:,f1.-GtksL$ɍ\G_6-Ӕ.ƍϬYY)<3\Lokӝ#ed958CyDs8^z]ǣcőEMx{эy'S&m8V$ztIVs?TAl6o '0Ejg=l֪EԛI$cuzkX?[Zя}t.~Vs] ?cLb BW2o E^+G ! @k2oUw“ /e%/R[cR.me]lh=ea#|%0Vk< /2ˤ/ÈOD/`^K^-;8feKE(\ fJ5!tU={aU/n=<ޏޙrl46b:/Kѥ ø2(FJ sgckqǔkZ cLou2ހֆECi*^OgЅaɌDK3eҕICLY6~kVFa*K$JϻJd;҄շj8€!ҋᐚjQ PZ|U^ = )a c S6x]H&Mg7m3֯)_Җ(lhGG"g>tn~;]l5-כq.sUjl EaާZyamL~R>ǡ:Bw6]\iiiqcS~7>ѓ; =Ev]0N79aGsd(KOB'-m|$aaA{_B^tŏ-neN xf:p^^z18z!+6~Bf5OZ?4~@o\L'HRObJK! #0yc(z B@>y^Bע{R ϢǨT$< 6N'S]W]uUחTkx@ᥲA**{D.̣zr7o&ޛW\yc+_b)&e൴F3zP.Rkӛ#F+G^8+"^0RX7SOX8(wQ7u^Lw.qG?gv&xTc\2Ú=!6nǒ tuQI=]Ki{OTVȐ] ]Mˋc8dq!ڼO b,O*3ZX좻Oνg(a;6!t;5ny`')߇i 5B{'6״!4Sz4m3^> LSkN~S!q$uӛMV&hh/}Ā/1B/w92ikifLO(+spM/i-_MƸT~u+0. &C̒Ɨ+<:hhxp)owLmy ]eD2^Ldbزߞ3nEKwӧ{⬚ E_) axbdQ%]H&MmڌB6*2;kxBWc*]cNo/|~:r͖؆r4ImE- z($%~zbcy%ޛj7KK_#&.t8cz}>u([)%3\e|6:B"D?Y{OyCJ6(vg21 ]xRo |ayyU#Lڎq^WBW1Ǻj:rZ]tQEaK.)F:8eZŸeSgKdC$YORKLׂ)1! 2o E$%*y/0g$Um}b/Y=ULFڶ5ݫt¨McDAX_~ˣN]B(14ڽfmݖcf벶u*a4W ORڃ7Z5ƥs cU B׭Z^^Ixgec)(3Mȶw)ƥcÁ't5/^{tFtIaYqsj^HH:)1yq:vU[{Jjf ߇!tUyj ]Mt?fc[{rϵa ܰ'OWcaL\ >$.'ty;>ۋ Uq6!t^M>m[RZ]T>^BVgEQ,>'/ε}GֆxBWG8l{ƣ]`Y&x&peK,}w%tRm}6. d R߷v#Z?so׬%B`g<%nEB(B@C7U2B@J&a)^vp ӼZIuƑh  2lea]/~ f/^-=ӂMı /ulůaKLڿ|M@T*Dwg9x22?[QeXIӥS5`<еx'K=ƥf y2kDvvmDpuϏQkir._ ޸;$i _y9H)t袻ϋUl^K͋] i߾|ekk2>۶o=oC說wdRm }9y-Z( ͮf|cSu,n ]E򋕋,"zבS]y5!tYfJ\?OeW8BZWY$3٭詪\ +ds/]|dcq&>}έ 3{Tڄ(<OG?QȹH?vȬ 7R@n{ﳽ6%tyb$9kjs:$Tݬ-p,궯3<,]^Cs$.e/ ʼ1=@B@!0L¼_xy/ M_xNKq._Uc{V"Fh㡋2MFҽg V.(7WAX˧(oԹIbxWM]1W{*a ksR⽟^yL*N7跘k:H{L%k3es1y/? ȣ~/<]k+P5M>-Oo5:oK4ǭk@5oH9bzOb0 Gݣ諶,Khfק ؕ6>k_]$&Ocǟ}m:$EZ)y嗏1S0ܥƫ"{,n%*sL/q.?CO^ ‰.Og}`;{/Ckg.޴žB:v 0%='en({&MͫG]]m8ӻxlM ]4ZF}mwfZ0վf˯X?-= $BQ2o EO5,!  &a8餓Ned?<Semo0Xa j^^R̻agR OK{K˱+ "(D.VI6 {/榛n_%=z8BJ!a3m|<0Yܭqrܿ`.zJkӞK+^#c9'L 8,'Ǯa2RW \k:\>aSG_o~jlPG6eez9&En^m.}2o|#ev}k}~<(~X]y$jKPHD2>[3yۃ[ij-g+zd'W_¼D PKs$.Z! "0yc(z6_B`yzĖ`Olh/\y)셭Y¤]I}eiXE^_;/~ j3_{y9!  _>Ʉ./;UbT㗚{9)lwǒ"rsg>_…̶h+T sg-#=\؄ՇE%P}B[?qy<`퉹82ᭌ(lj'4%\4M.mfR]W@ ˏsgYYi|i} XxBiz/cHb1t9/ӓc˶إhB \V$.׋󺮟>x=8B'gaH^>| *z%q.rs]ΎE)7;x5=ƋF9ll뙘|ڌqUm}W>տ`*H.tX~6D PKs$.Z! "0yc(z6_B`y5a[!@F^oB:y^K! 7[D|{ˈK?yi]W]n/fR D^󂛗l[uM@ ` A^Fvm3ޓyd>#s]2\r5^qʈrVq/=نW\qE歍rS΢G1{?i;ÓLyǹ]#Ba#Q/a X2~lZ1 J}{R mm:ǔe:q6]DSE. cc 1/_HAZ扐{4f2y=y19): %m ]]ug1oUWObV~?N?}>ʺCѱ| )}]_yT6Y>~H ?xʥӶ={ tڝh# ;>NuN s ё6-CӔt]?7}n!.3ekFpuړ \Lo#Q''pB63SWx\kDڏǯ'iB#t A2y'5 ]\?1oZK]r%y[%.D@yor{q?CpIOI1l5>^138#n2,Ss[QA꽈ot'dQ]R$.&% 2o Eĺ$s{w^7&Mv %>?n/VFy[%Qժ*:z[]ioձEZ=⧶f0r(~e\^ڋq;2b`+rHtܛ4B塭>EKuKM, ·s eގqo#}vizVS:mŧ" ЅʅQm8-zmňEJ2RCWB#u^x,+]Xh3UIW&fy9}Q5"P+ (:./W, Hnܵ.߸'zbɸxg{o}kZP$Dk4ڊ:/b*e y["]C9sR sT|e+ ʼ1=¯B@!0CLʼl e/숡/ԽaK' M/n1Hq4jO#:ui@8ONFEyͥ oeq^mm-|C3bG w/1 GE2.Ei|m>ePP=I|(uD1]Eҝ9[]YHmS' ?ҖG`*φx2=fv$mHu[U6x2ݮJeڹ~.E }M[e@2,0Nڎ~D#xXs5Ǘ3ZԮmopM7eL[lj !ߞ&lYfZqYnaVǏ=H O~rXK/]K:/MƍIq_{ӞrAڎq3 <јQY[јⶇ[8 yi?igď$߬hs묳NXr%ƷSOySf~WUڑg7+B#}y=NMcm|cj!z} q;pygyZٚ<:Ҝ6g1?C^5δX]ڟ~?Ȋ ǁTS鏻|$DN5(k&Hցoy` q+ֱÒYS4߳_'[CdLIXǕVz&>{na cμH;[-fK;Sf3"+|Sʞ5ncM73eG`v$: kqtXuUˢ\7yNfUVYe$̤1np:9lK>?Lū:l65t #.*B` em \!0м1>O=Zme??B@ 1n**nuL ]Mj'Ej_a("t5?԰s= ԛ B+=un.QB1"t5laEbaշJ+P捡ٵ>_! A@Ɵq<裳/_򒗄<19|!d|*#OQ'B@ B敠M1^W;MTʼn|K_Hx^^{Yf$|;mo{[N[<9한ᘗ\rI䵯}mxcf!żͰJL.Agf6GpD kdPB@a!0yc(zB`"yu0}/!1[w؋1BۂeL#tc[ugcK)!N;eu3Kt:ҙ#^́m"ۚ!lK "p 'O<1۪g B>-G"x bB@ Vc  B@ CsA !  7\/{)Ra-^nB`h:A-n7;c#e]??qa5֘s1a}-#RK !0<| W|W\qEXkz"Bפ֌DDZNB@QDC pQD?BCѳlB@YC@Ɵ~G7Wk>=qV'H!7FT }+_J~mQX||wR ?\9q6P(+]w]V ;CXaU ӻ+G|2qϓM탯mf&SX!  BפĄ!ńVB@L(C7VB@,84o,*WB@! B@! s]s g.ב4B@LC7$խtB@,d4o,WمB@! B@! ]rbP%esP捡9*B C@B@! B@! B@&"t&KVTB@!C7VB@ NB@! B@! B`k!v2\ B`ʼ1=gB@мEWB@! B@! B`fkfp7p1oRB@ C7T2B@h ! B@! B@! @#1).cLB@C`(PRB@!MRX! B@! B@! 芀]]e ! zF`(PzB@D@FKzvwR\veê:|z(+/[lR4C+?_|rz~_?}N B`>#Gy$,|.B)B]tZ_!K,HC[~FB@! ]V_FX ! C7j*B`hޘg}?M W]uմiv}8?fm6_Vwygq{2c6xgT! Pм15c9f"C"tW {lV>',L+O~2Moʮ|[l;OfFD;s.]^ni8 u5HH`00x_.袬\~{Xgujq]mڅhpaϴmZOM:p6uoZ֙ 饗.Ej{n-\?m=\]B@! ]W^X9! C7|j*B`hޘ3C"tp aM7<餓ž{9> Rc36{&?##ag>𖷼%/k,IOzR'>1BRKՎP g:Nm:i85w5X#$BGFC@o lI*3ll 0\-EIAu83[׶rA ǯ*o5[~z&B@ A@ IUCI%L2o Eɬei%Xxhޘ:jțo-؅.h\|ˠ"%ql6PuFmmшG[nTPEZPS!~ӟ'?Yz/6i!2u`sTkVD t5ɯKXB@! ! BפȄ#ńUB@L8C7WB@,4opׇ~Yo7N=h뮻nxի^lW^yeַ[l??Ox]ꫯ"+&k&|Ȓ,eUW zֳk^emG-Zydbߢ~a%̯= oyֆ dJ+T7z⋳B]zW2C=}k|^z鬽 ::ɸvHi-ze[,/o֒?xHckˍ78b0Ë-4i/yK__OSnuYY9?8nVfWG2H6W|0< o~z3svx7 0#mw_?m/<v|$=t'-c?;<2ᙯ(xc'M?A/~l/Ɯ +I|+_ op@Xb%{e'lH{Fe2Sc?HcsOFlHg* uկƇ.(@\-B8vziI00};@xEHܺU棏>:窫 W&̩g}vVwyg6?yXӷk@+k*(<22/Js:i@HfC@o3ef=R56FQfkn{OH?9}MozSV~FUgcP4YFݏ;lg։o/eG}[iѪks){벵sUܶLw9,)??$gTtƣ?-]p7ڌ3]}Gnl?>+cng+#fm)˳>F~c蒒>֠]/nk֗eF/uD! @ >J@)! uʼ1=`0B@!0hޘ$=n?ݏă}.tAy:ш:[oK#׫//x[,8C}~_zɴ"4 SKԴv/xh2~/G]̴DTH5ׁR_4OE`n4<={I}yZy{&f0\<{K.)SqЇJ--+V4?s+A"q$~$ӗ24\ys#"?:sɍk<ȩ艧4݈d<.W#Eɴ1C[N}ɆVv^dDT$1gĝ6iSUkPl;7~ԙ|Y{U)ґ! OCW\HЗB@LG`(P! \ y#x(jyW _UDGqDv /0x vzD_A4̀w#IE#Kń57N;-y3#4WrKv/s4|& Kyv([5C$HB˙5X#],i<1_;R7=킐>x`j{slYfaRY_OE opxchpͣOʼ_/DRf>hE)wchCM?-z#SN9%y5=x2<<zeƄv$Lr~g}bW-6Gy3!!`-ѯŘeu'BNړ c-$S@`ɴS϶'e^h/}J!K`` kmf$+1^ ˤB:]p2tY?ޱT]H44g>|eiXsXj,hv-ŵ:s5s! NSYG@_RB@g2o EVT6! м13⋕h RS|_%M<3x] #I{=~x$L(xF<~4=wI'׫NtĐѰI9d=tw[4&My.'y$= '`85-Ǿ[sHӣa ] Ӯ.b]m<"wZ\ƥ:Z}<;owtf^5c-Q61G"eC9}۾|>Musf=B4c*X0m ^~LƏyn9眓߳.kPKB\3n\p%EЕã! XRd(F7B P捡虀XB`м13. HC7B +6 #F&>UD6_oSoHQ%Mb[23ʰMQ[d#xHE|"tQߓu~C౸[*HkXW4{ .4H1kx4.-ȲRawT'JQi 6lmœPHxX-gO;obt&N0Zސub LJ@|8K[G*mאL~#flH- iwSO̓5 68li:$巻-Zhtg3NUO6#\B'ޝy$״#?}gOJNaѢE%饉=zie͹%L]rkdԶdʣm.z4ї7zCg? ZWmglD:~nyھm։׈ٴ(~}6~q ji[Aj]B@!k!r2p&K^Ihs)uyIhc@ ]) aSAm*xCg.5.6!tA8W,Uc'ŌVq.ti'6U}Z!ZȚhXl-ż݄e=Ki[-$c9&os[^ܪ8nlc'hyFOD:~nu_lR՞p!9%kh]kxmbtEJ!kB@!0_klO' B` 0yc(z.fb ! &3CpV0=mkaR¤].袑,|X$(dz洘[%=tiBe}596YmmtRאMw?qqV-6!3~~~nƨsxb8RMxBWq;S .$df/]֠Nob???7"% Ё?<6*C\7H&_:#p>#^\znx {K _mfmW66_f1=YX\HZ̸̽NE[=KÎ{wrk<x,͏x 0Mתc eÉ't.^eؕm i@ЫOPU%2y2FDv߲y%t0ajkv<.yo\xA< tHSfj2gM]& Nݫ:q .OX"t&blS'ŁkNηSWfNoڧa*+B^,ڮ:VHݭʶ.?{.MD:~nafvk;ȳCM8~>9@Ӆ̤5(i[el/tB@@B(8.BB@!ʼ1=:B@9D@RDĐ ]g?6Q1|p <mÌ""tyTo\|yLF?O~@̔utCUĚF#8"Ϗ8x(zr~D\7{YY!DygJ/xb%O"tQo㸶,GEB'Qߔ8@&m]nv[\-kRű|h8-1&)) Ž*Ef]]Ǚ&tYBv++Y,nۣ_kkHM_k6s7<〷IO.΅B`# B|#.X` e B@E@Ԕ>hѢiuA^W :<\eZ fȃd0N< BJOv(3{])tGal8 [~żok^|0B7=x#q'xCg~g?ׇ`Hҗ4{Fy|>NBSfkak/sO(ۖ"-heb>j{i*JˏlW&~O~eJAzM7e͛b_Տ3~y23 I,SG4HFIC=ۄF*@ei{ϡZl?q^fy;u-&6'aKSl[=.m }eޠ|xiXWy_..iqݧo}ގu|]]F,2.-Lʀ$ G*X2bO~Ks5xܓn֡ee峴Si5H.m]+\aRq+ -eŽ8zg2~qlK.ӧ`$ C@9FHB|ՎUg ̮s,=6!A)q C_ALp@1j֧f!tQ>O\?B֠0N I;iy2 sԕW^k7S.?.#4u^?e/ؾ۸Ϸf!l=4s mEs)dUw |뷚=+G:x雴7oW$w]Za-~MwЎXE2uB@] ;Q)B`"0yc(z.&" ! &g 3.pī #xxE"J/,,6!EB+)C$ی#taqyj+> RsEeLC<*R5*[  ~0 UdqSGl(&4߮aTLIanTQ‡/;"tadb)|]uc@JhibX2e:~CovoK`WӜH~TIHkzI,S.?~C0a.iV}yj|8!t[V>mθ9:/oO)B$.T<ұ. z"G8BW9sC5s'UG,)K/Zu`Wi܆ЅO,*̸7q8#Zedn+7m8zN}2n}Yĭz*=RDkPkTmۣL#^-BB@,fvebW'CѳQrB@!߮^CDQ^9cQWsAn/bO>9q^< H$\1"iWO+?X%-^cs/p7?O/nBzJ+t#$!Ȧ{ j 7_|[_~4G>a;*Q",D[Xio[nZGCkC4ʅ 70lc#.?ѳCx^{:%\'įxрVXa,Yfʸmo鍊n6H!Bܾ-⊵ B$d?ՎF[[r/,a-ګSu?IOzRhhh̰'~4g񨳕W^93Wq (\sLhd>t@c =1,:>G7x* q20򔧄^z2T9",ƍ}M:LK,%=haֆ>?R$mnt4f4ﮩI!nh3Mͣ,xY;eLdMi2I!yDۣZٺVR@q:ٻ(n;=;,R9sG[-np饗Z< ̉l>dM1n~mgpslv!  ]y{s! mS0.Q!  C7Bi7*B`м15T_UCw20!KNxH#B`TX!0@H< ,nZrmV~GO3!nI5[݅@8^kza^k&B;"tup^ ż^N!;C7gB7Z61D蚘"w /yKªZ[o3LI)[J7'!+_pqǵ>1ڎ3S9RD9^ ! ADApC2\̇ZTP捡9{5B UL=&B@ |;[Fmg[_s5VvG?حDO]oMO^ׄ;i q]7B@!05ɵ3p1 B`(PPKU! F@ưWaןB@B [mUR;S8*RF7H#p}~5nawrhiW?"tMB@L2"tMrLn2\L@%H! ʼ1=TRU!0м1F!dv+° $텀B@1NŶh/RK-mǮM7tSB@44.,u]=I^w饗fEz_ZkTX! B@! D@Vl,lG`(P~P W?p?g{7anmx _!F~鬳 rK˯n\sM9r+~{'lFa6 СJnO: }xh袋ynr˅78o[oHRv[VE;3 lAxӟg>v~#C38#|?я2f;M#MOEϮ]{wrǿr $$$B (A@ vHQAB(VD i$J|g2{{e{2}3;a>y_|?w\6l9R.Smq_.f͒gyF&O,}>Z;<:th"j,Z[N2QYYp ޶I&ٳ!"ԧ,O\ ?weĈ]Ndýkk >)SH=d̘1rצm!7ސG}T裏gϞ{OOj/_Y`c?ޛƄ믿sС峟 4(UUU%>k#8~>8 y~eƌo?[gvyIwO?miV;w/luYӺ<3_wϦ֝>ˮ{/}~^.L ۷~>Y8瞳sӿM|>qI B@@@-a@w}7?  D ,7RΖ  @56! PEHcM*䗿e˄6b)ӵk׈ 5ϿCM!rW{زe g͛7{'֯_9Äu&͛k馛k7!;oLN|-x̍&E6ۻ&-0ἤ׿jo5k"'|r&T1a)o{։n3nܸu]˻ ;wMp2r&ݯ%nUz]s&N N%= x>St1L10o^?yc=yo&&.ȇ &ݴ_ZWX1-o-ױ.ݿMPw7|-|Ʊm@IDATy`@@@ B/ mX T ,7RΦ,Aȇ7ښc=fgmK[EL0GN=TyI[}1 ocʕvބn 8_/wy6*T-hGnrhYm K˧ ڈb^ؤiH۶mO|PLNkB MkmL[$'xmIkKZsmG%7:m,qp]Tr/ض-/iܠ-;fdwq0!%۪֓ ϟڔ ȼy}n;ں(--=Wm ֧#`m jvg)m1-7і[r]D"=c:_m捵#mI=WU۪ޣZjZ&Lmb;bI|6&g[k%r3gh|n煶:wm\w}׶𤭼頟Ym}+U<}qvCC=~z!o=#zo|/݄zͭ\jUVt|鸭-txrmC\當2s-%j&e[ogL#   8(R @ ,7RT9EDBNkaE[c`nŋ(аdЖL1L8[-^-t%6n֤Lwka5;#bx _DgBUn[gfk]ʓ[o:7ak8&HVٱޛn='SC{-tim^Mwqg^cNV;t-tikon[5dD 7hkBmK\yu FLĄcdE[tKG@Z?1SM䣥*bX4666)\Be6Ϥ yPN'|s7]eƭ~vBtބcܐwy2Bnt#zӍfD[]~7.bo    ǀ@J^\a @K9@ ވD/_Roiո0Z2hʅ4t: ReɆ@k&iӦyK :޺_~z4ݴd]`Z5I֝YҝZ@C 5u\4ʕ,P:^G+ncZJ\K+u[:;X-K ]쮡@v:d6_68x]ksC3{O-wCs|>Zrml   @>tS?6 D?r'!(>EDȡ#߂^C@~eSM[%rA|.~aWV2]'&$2m룏>ht%ixfI ~@WMMw\ךVG[r?UL\Z1^wK2ɆoٻۻH]Z_z{A!ۻ&֩;B79椓N֛{E[r?3gtExӦMsF^}Urgz׶uָr]+V[3w g6n:mc:7-~-c+u/7}oL tc;@@@%@+_!9KRfMч@ Bg$k hѩ"&6B0a 6!CD.#@ a+˗G~Epcb٢6uahh /zeI z}.mѫ%~gpצ/A-{]N7A.1Х寸8^w7LZ56s\4ܛ;ߏ~#osmm%I$V5)wLW6/]4qCn›>ؚ!k;n>ݹ["h7'nܽ~Y3kb   A Zx\+&gϦŀC!/FwDXZrF~s@ [kuE~ąM48@nBZ/m!dC[]O>w;3a#PptczWbXH.. ڵkjw{tcAsv&MJ]挚 Xٷ.us]s]e1v..1#Z&yo:nٲ%iY%?WP{Z?~w\ x&4}emB.rg?8S7s~ƹ1F@@@ Z3+|ԥ]DOW+2AȢ* s ~ [Q^@ -Jɏb;vnА>UXk_?0?v[]:;wȭmb6gq?  \0Hi6kՅԸ.0a .769޷KJ=f}-.Wz˻ܴB-;a2vם؝;͛{Z2V\ i+pnĀf&]vwn{-N;nk ].ȧd03.YYY   @J0/ 0jz vl P|}j @N-@@1ݿI޽_v^KL*vovYCMxg3ΰۜybZ{o5kH իsz71qD1 ;krYgU)Ǻgm_uUrwmkZ˶mr_6~Rc=fMK,Y&t(nFenQu/)H[+WJnݼrZJ{o;n]RVVO{bg+VHeeu}c]b<)Ą_WbguSO=^S [3=|_MELK`qۨ^{͘Ą_iMLHɭj2>sd„ r@3=1|p7o=^\n*Ŵfo߾޼^ϣ>jŋϛn/O|wn0;9cwޱt|Gբϭo|v^?K#Gֹ~2x =<viJt~=01 .@ӰXyy9vALKo/|;o-cƌu._ywlIm06ʖy4tEd!" iXM' AuQ6lDP{]zbZI['z_ :TphKN:ECy@H[]'paM}f3=t}b+8-   0@@@H)`Z2#yni+.x%&7~jKGM&b<>mrQaBT)WN,E_v]&[(5j=~.uфɚ-;nɡ=.];I~^k6afI,ɓcZDKi1-n7ꫭ].n wNtlgqנ]es0˫z]'| tDŽ3uq+b3-k7 E mx~Ϣ &dvO\whZo&ЕXܼ>   H@&    Rt-1 ."HCCCcWhf/MԛְXۺiNĴ"mlBQn{E^M.}14bZֳu@\KLYĴ\e`WAMy\tgSߞmuN5jPSSӢ."rKDn&۹퓍_{&y嗓O޴d{ճi-뾮 u:I i٨~ LKdy|zg{x뭷"TtƺLZvlÆ q19ulL_6N9c i+`Z9sfM{AܐwyL޵nnѬԠ뽞~cX   @rW@@@H/hZz[Nz)uW(Bқ7ohwm?8Md…b7=wiii/FzwWݯ_?{- vGYlfڽ 4[FֵiYvh<]v]F!:uHٲ}qܹRWW'ÇvaժUbBojAw3N.K;v(#Gum/M~^Mװa/`~NuKW6#   k]|    3gz⦛ng,U0Dž     e]Y    PO?XB/J>}<mJ[4i]6|A'Lׄbql"g}{mHI0F@@@@Zo    @Ncǎ]Djڶm]~W[ttisp@RoI׏)w `@@@@V j%#   -kIm&"6Ya1 u1bmۏ@G     j2v@@@@Z.].[uI޽mw}[~m9w\ywl9ҥKJOQ@@@@ȯsv@@@@@@@@@ Q0        W@W~9;         (@@@@@@@@@+@+@@@@@@@@tyL          Е_Ύ        x< &@@@@@@@@@ ʯ?gG@@@@@@@@<]         @~t?tg߱c_^o.DBw A.pIITVVJ.]O>ҹs 7mٸ_kB_6n(˗/u։;<_u{4Y}W(zjM1/y/Uv8:      @ *;ׯA s1N@C]Z ˲erVgodȑE,y^TW2<      +@xUWh"ٺuݧ_~e;9mhΝ-][n2x̝$G~9E/SNw}tI,"ϘK;vlfNңM*7Z@@@@@@tЂw-hW￿ [`76i..]j SK&/6ŵUUU%A.?&d2Jum:իWKMMsK]_wn/܅N-w Ж[[lϗbl畻;7*J@@@@@@tcΝkuVexS׊vI7| =~ɬg[eĉ}vەkEE\ lVX7pbSL^t}}mK.r)uy-J      PLpӧOaQFh_&vփY63{džFYr9NiؑiMfLr=]F'Ml 5mK9h^R^f!,ϫ3R<@@@@@@ U`EkEvCXٶZ^a@?Zrq%Uu%rC,XlT5JUKd}ΕeRYbR_ a-crc"Е.w5%+ckvlM?t;D. pM&cEdٹS0@* t(@@@@@@B'@+tU%[ܟ-,rs{ưC@?o˅YP"-^'K va}HeeiA6n(X!uu2WRPcQ a.O si@W]L ] >\#URbY*5. pٻ+-.piL4jԱM_X!Y.tflKdٺ4s`/9v챦$OZA[D Tih2d䘱2p=MZJ_ ƠetֱC]:MKd耴ХXe[]Z}h*JL \%rgd kwI=*%9Hr}#      &]a<5,h>)7K/.,r3PC[]s5ӯϗҭqgJUUIID[1Z)1Ѯ2ycff9[e3 @W\ڙ }Nl ]5U!e|e.B.@yrc4z(&еwr%{ʩcjZ,A@@@@@@ BQM+d^xU#m=D K=y, ,@[瞓3?9J *5*if(5-(_^8Q쿷tа=r@Wz }Nv54ȂHr< Lo z.3o]@2_ON;j?]o@@@@@@@ Y-)T^xU@W[Z_!/zJkM2ųΐ=I]]`v VzYٹc|qҡCE`n]"HzZl!U2Iucu4eƮXn0yiKͺ߫ӏ@ |R=!     "\j!h%Ֆo>pʃWX!(7答 ߓ>K*++MK[ i+T]uėdȹ+N_6 Е^:Hrq]SeyÇ&Y^^/-Z))GgqyYlںC~?ɖ5u7\':70OKtQ]̗6@^K hm/Ra]&*LK]@OL{@oMcH9-tɘF@@@@@@ 4BSU)h^xU@W[Z_!/zJk poȘ#?!ǎ=Fva+5UK^U2}242J_Ahk¹r~&_U׍RQYjL0v]^+U' ף."uBWF]c"Е6` @@@@@@)@+Bws*O<;I78q]~)$]?f7n\uAYzK9R*GX!(F:E`G\&*eGuuqA*Yidќr}dֺ@+}s7̑6(w@VRϯʍ{X*6%bZ27T  KV~j(6@_C>w0]o@@@@@@@ Y-)T^x7r˄ $s9G냰",rNYCP]Z۶n2hȡsϕ2檭FJJRm*?^c:J<ҡ\4P }NwEXRZ-tmz\"7 ]J^"k4m`Z*HNeWCO/6U6l-tiZK&Е6` @@@@@@)@+Bws*d˖-I7 Iҽ{낲0,rΝ;W瞌TW_-|pF)ХeZx<ːSO9Y4φ *E>hL{gl޸Q.c?!eeeEeA@ٶW_~h"Ͻ$+/4nl/H]{\'?eV@We t ޿ &H        mЬ@!h=#5^kW^7xCʌT/G}tF-Хe̗{V! {3rٴe,ZXΙ#57K^=_;DYp|GlZ2A<sΔI|IJL ]Bׅ=,7ikB&,FߕZ"cӢh ]/CƝx([       H]*H/۪Br/KuuXdH'zpfA tr5)?CꝲcN:"C_N?3zZeW֭$'r3 yirɟ38UJMtD]͙a]i\]䂞_%d妅.2wbJ7ztxWIvZ z=/xT9XDT-)/       ]P9 E+݀pN+{g K=5Х5Sbi7ɶm[MHңWoҵi DV~J.+2ߴԩSgk} /N]{3O/SH٫G&Еƭ D]Sf/?^#ym&öХҴ@ptJZ"?Ĺjc4u8.Wٌ@@@@@@UXmv]mk~pGX!ȁ+u&5K*+;>I!3M>@qE-9TƷ!Е4H t|~, tm{^h]Lo^_~%rź]rtxΧFJ       j N»** ~iUoC]zŗ[oHGjR{ɧ) 9DSO@Wz }N45yƻrK\k|Džr;I]Bry%r瓫m ]= ɹ'"Е6` @@@@@@)@+Bw[UtUaMIwBf͚!;v vlڴYwn~3>7 A4jW@2ڴU].n_(?| t}[7o6j/.Byn5^ ]{,_@y&Е6` @@@@@@)@+Bw[U֮]kwׯ_[Ra)g+4K=BKRS&W\y]Jt&}]v]w):,xjj$H tM.~|[ddYse6Хa]|O~2KϘ@0-t5_\1&AzR=!     _,/Z[o=Ra)g6(H K=JK^T~lv*\rtP }Nv wߔL,RCq'$[P?J      ]q-5UzK9Q+EX@W]m9I%ނzwQz@@@@@@ʎkʰCXZ^)RwJoI+ C#     dG@Wv\ 樼h FUR`jJz Е{@Wz۰|N_I]@@@@@@ ;Z0GEk02,rVWۆsJ½       Еׂ9*/ZQa3Rte Е6,W-pG@@@@@ȎQy K=",@+{apoA=(=      @vteǵ`ʋ`TeX!, Ffa]ٻt ${ !G@@@@@@#@+;sT^*Ra)g0j5{K==@+mX>'$[P?J      ]q-5UzK9Q+EX@W]m9I%ނzwQz@@@@@@ʎkʰCXZ^)RwJoI+ C#     dG@Wv\ 樼h FUR`jJz Е{@Wz۰|N_I]@@@@@@ ;Z0GEk02,rVWC[]VRR=8 s饸iOcc7iyU}p-|NZ~EܒzgQj@@@@@@ ʮo>}tԨQ(TzCN'x>_F!eeeRZZjsXEO q%_>%:\Ldƌwܸq] ~UXð~˿%@@@@@@(&]TmֹsJMM 6L:uԆ#K{eRUU%ÇoᲺ?KVy[t0/'N۷KǎmK\.\.-`#/B]nZΝ;K.r)ϫWwWע      $@j ׺|rY~Og6]+rJYvGeua_e˖^{%{?ԥ\n""H[::oK׬Y#VOFYTb<_az^_      b6\;dvOZj`;wqa*;wn;Kv}=lƍe>`ҥğtU.صХs͛7t 'H^oy_-Ύ      PlpJz mE_v/]TjkkC:F'qXJv) -j˵Х.Du!kKpA.7Z0>_Kblry[%Ά      P[q-[=EmE[!X l m5G[.nu֭ <{gE/SNw~Q/:ujRU9-\?0i,cǶϫTl}s90]9d M]|!wuֵΥ/v.BYhvn0t6Cf0      X`^Urڐ6UVZ*=O4 ti[^͢Lmp+^N@WԡX תUqK:5ܵ^{:ص|r18p`,t匚!p- q!e\[:D,1.v-rikYklWPϙ[e٦z{Dv4Ipk@@@@@@ S ͺ%2w+jaY!Ͷ\eE}eS-إ;i]Ƚѐ}!D_R"VX!֭W-hJ]v-=Ā@K`m6ѐlC߾}e-=L`[hlݺՖ_~ҫW/ر}Pov)7nk+֭ <8'WG+'̜,3Ct::v],*ҿ贶Υ. st* C8b_Rgi@@@@@Ȩq?MFe}u̻ sy.~H[8:]0R{r κ,?̥ 0 ) =CB]e. pHfʅ^.]jj@W` dX }T|}]/-ֹ4%u.2ӶE3^^y=GT]K4k5?v3     dR@\A>([cOe@ @h+]a.Q|&(imA?-h8 dZ@[Җt4hP(_Ԗ,X`)cEV\i_E+]W\h[_c_µ5.AhhKY4]-2ۛd򨨨-ts      = u-tU}Zzv,olP4rQ[a.}u:A[rtEM O:|-0 mmJ[4(t͝;Wjjjֹ}W>kJz !ЕD- t7w{<.eahK3_Ll׋e ;N*:rN @@@@@Ȕ5urm{kmX@vhFRn\m˅nc]::PpK,͛7:Wlp/ȵգG9[PSӧQ"2j( !Rz@+4e7o]桧@NWi+cZuh] sE]auJw0]Wѓ'      @.=v];q=A. s@yOm+E w+$(ؠ9V@1~,-?\w򍶀À@+m* .{cft5S B hPm\76@ǺZ4LhK\`k ]zP^~}MLO5ŀ      { tiWɞc{WIln.mKC\0#0 kBJ@}dMt? H%h*5Z\b=(>A/gU=jwUqhfmr]Ӎ8:..m+ux9 t;#@@@@@@ h8B]W=}shkK4e]f֐N: b&Y@ Jwa)g$ЇU= m@(, i}y3햻 .i q:2cmKXV\\:T]QXD@@@@@+jl4ХsVE24ԥ,0)~t,MEGEEX ,]Xbnz b#FI&wq<1nmK\f{zpx?Pf@@@@@(<@וǘVL3\2 rwC.-uE[V" vh*(ꂱCA K9 f1z Uwׇ@\pL~N:!.]!z wE[r].jцtY>@@@@@@.,Хa Dv\pW qFVJ̄y[NΛˊ6}n>WL2)D&̱/., t5_E 4h\vhZU.zQ[i y`%q(@@@@@@].jцL"t[,5 tBk!g}rfzw\U=Bpe\8b&viފ /2'{qe      d@i[\t]/qyc2a.  rfl JdB8Ar߅66W@ . 6L\Es k+]6eflf]\:@r4      &czE/e[:uE]ZWWE;Mbj=seUP"s%H .Է;jdՆjٴm7HUҳ['ֱtX}kj\Y"܃<K@vB]]PWň_-t ˝M9@@@@@@ $.7-tixK[t.3 tE[`.'X\%[O}roE+7e뺏Q.(AO.ҭ,O|@WXXM0A^}UYp̟?_z%p :TqVN>֠gϞo~3#{eҥm>E]$:ujAٱ. vE[c.P[y:W4%&E ]Acʁ     -4m+.e[ZEr.}zHSV{!~ 8Rnׯ|Ж3ΐ>8l]r{5кұuΝk}٭.f.V*A+yu2Y8(ÇI}ʼo 6?ںZpp9`{UYC]]I>Ŷhr饗ԩSq~;/5<\p^2}N~6jڵ9sߴilٲ~/Ώ?^ o]X'صk<;ȴid> 1#W_}  ;ymfeFu"22i2f^2z̑ҵkg/_?~ 3gLA$#GNڝ"|\-?G} 0@V^-3f̐m۶yƎ+/TUUy m]guh+e:U긵h\ֺ\w"b5-ui.3U?@@@@@h@@Wh]EmK\+]?S-t&[>>vanQǮ5)mCˣH9A/}KcfȐ!7C9$6_׾f yuwѪ*ӪB%8(sog_|EG>y'%Rbze^&]\.@.+/| SxCFu2t7dQ@WHnlSR|G=\{qӴeo 7 v7_hti8 ՛o6@[*7\ Atj tE\rqWp@@@@@@eL #ׁ.h֬Yq [h7m\VF}ftMQݧII[a?-#FhTn* qH6o,C QGfӎsI[4uӤt2qAZ,40JL]eڔWeպS>#{$Tӹ]-2[؆ٳbT^ԩSғ<3Q]9fynW J+I'dW_r%|t$j4sE]ɲsZ/%}ͷe{CÀ     A 1iZbvXQV rE[VrBD?P>{N;M{2BW_{59N.: +WO|c~˷-o=KRx2iҤ_@:-.P RVm&LN#MVͻҒRYnwgBb@WswTӾc f_OJye>}Tz}}}vaa^޺uM7k{ӕ.{WeGI.]dYMC'̙cѷo_lWrڳϑG)ɺ\ܴi북}ߪ5w<ːա[n&`^-r;dPꫯ{^vUᩧA>]~MĉSOMZW\t]Lw|P9eև2}r9gFK]ݮ5ēOIy\/\Hq\ ~ʤ_4 ~yW/'|R/^l\r0о5 oԭ~5BAn5huEҥKib+.+8v/Ύ!$$ Jh!AD0? "W!\@)"UEiADQ^/W@BZ(! Myfl;;sg`939ٝ}==p{W3+y?Y&bfҁ.=)_i_uE@ug$ۤ'0aS1ХghBfPp,WhEaƪ%-Ui_>!nEpҨ;,Zk[}Ժ$`I4shNjw.Ya[m n=Vz"=XiLYڻҟk+S[U4K c FSNM˓L      9P{lBrԦGm>jQڂ&!HmF&ڗԙA[nؙAa Fv;7cjl!OzOf}þmVM\ޤLmYR+rQt\;6\v/Peieߢpj'c&oBuxBU6y4\M>=.[y|2վ,kތѩqsCK_w3/}UA{oV#Z}wNwYչנD!;.Vѝwg}uKХig?wy /)U}+EP gUd~:]_뮻.~,CDE;UBĉN;t.Z~,pg: i\{C2S~}'?I&tս. 9 ENUp!k?i +xi/{vry[q.{l c,HCOUV4|4/ҥxW: vƒlB\ '[ѺCr&@@@@@@ ]퇸~}\}M~}5f>-KʿX; j:h&7cƌj-m4Z6{nХvI>a?Em~|,nd ]?vmH?}[*Zo$yu+YDVo,9眢^^Ð>K've Y}uY=w귿qm ;; qӯC[Z'.|;3m2CȺ>N'߄Ǝ_2+/Mm4ndՓO>s=QJG{nΒ4e};kEeࢋ.tM ջ}ъ]qN.Bq\C5#]}9]q+}+@-!}麞%H8iUE F5nܸ䞄 ]  i%_z饄SO?=Y&2     \+t7ݦzI]Bz46tmǦ+tEt{%\vEӥ{.&X dU<վ}-Gǟ}h%>o1B.-Z3cVtgD^}EPb>3CJr?nҤINJmV[oWR- SZւQ>T9뤓Nd2XUUAJMjW|e!&+$ĚkJTgt{ϭZe^[L.Bמ{,?W_ P i#GLևz7ɸ ]ɆݘH_L2-eH/zլ_Z$okwܑDO>cEo       jh ]'v ]h閨|ss'ONTz ]A[>aBjz9^UqrRa7 !.]w]owp~;3,NNR.#$*\+;2aP`KhwQ(|8pדXx?      @jר@݈#]w;tU dZeU :3(ls[/]mR Е(nKGR2}\O.NtKۇjCmÀ     I] FކTk=iKvF7b-s=׭@sJW.#+"q݅^nd-U@;My_[oqs緹MFvZs-=cS멭m\ mn/^cWw~q?@wNT~/}i'Nt;_^ene{;Sһ,s4jO}Ss -TKiJK!&u $_XxQ7xS)%okXÝߠo~.K+]NTx'.c}k_s?pA sTԬ_t@WE&"     @9Хs=z^·voLOҁ_~ٍ5 1cƸІhYtU$uw0aB;ËzIV2Q7|p53)3![jQڂ&!HmF&ڗ:s -V`Ct{+͟??٧'vj a]%LO<6'|rzU]E˧L@WѺ0O&XႰ8c(ڨ9a9F^xކ{\m|7wxƵuf= i߫->xWDoR4gL_oN>-}4hpOuoo7n@'].K&p7&H VY(ғ_JTR**KEօb~U(,|S*ReomSG:Mi+a~'*d-}[aFwq^t./hSi<->n=w} ^ V)QuYh?U!r'p*W~;uk{ѴtMnvQG|APP<?y7c #8 祉6ȟiGaq2;w[wu엩<^2d{GU so_w-8(Ր.uԇc=mܸqinСVg#:s*ur<"©L/שprG'}H䨺\{0/roUysw&;5XxҊ~yݺ"%,4֗1_ԖۼlƑpfw׿;c1aڍ;/Ni~Wtwyr6lX&e]%6l:@@@@@@Ԯa){g=f!_׿q_g~__-yMItiA>~:,(4hK߾ƅ aҏՎo:aȷ;j뮻I]EH-l7!uCfEu]^zj'4hP8E`ĉΊb[Ϸmf~vyAf͚RK-2Suhg-.OmU,˩HTҠ6[uq/ u^=Y_/Y};tT/ vp=vmYأwwV;D.gvC (qԗJZتLLCۦԼy}U(]+mV0aBS8pH?S.+,uYu].jT8 ]ڈJV*}kUFY3TaxM\Jұk^sY׼*r[,Y˺_4!GDUU[{]./~L?O=*ZU2V)j[eZ"6*DeﭐY100XG?X)k⋣pH?VŰ]ъLijq'$U,KLnil*7͏~uaF3l#%KhVKdf t঱U}?uZ]B4짮D!:H{l~=c` IDAT     ]]jQQ I*v;/z+]ϪoU|ɓ'55'U Xd뉦:V8F#2Wr]:w\ǂ\]::]: yV8Ej ;ʪnwQmgthbٳgW^yŽ뾤܈#|[o[a:`{=T8SW}2{/fgx_p 6 D1gΜG%E3{E\.\˒9Tiw>ʗ|}x5pm֗L63@-Jڷg$UXOb\þn$* ].jN;ͥ˹g]4=Xe9~%U@@@@@kj]E+6]z-g.Fr*szzO?Y·.A`Ef]Ձ99s8u9cƌduv%M^γ#oW?\~~ݷ]?7n1ʦt=zk޺\R̮rn(F &L7n_mԠi;i$kqdg^:U4hP? @@@@@@׸}~}-W´]鰠бIrJ7(Dψ-E`}=YW]n/]g|f{Y]ݽC]EK0*ĵhs]܁@W@@@@@][>Uq/X-]6.*(.75)S@~]go@} Ug NzjZN.ZTUK8t95˳d]      Pk@P q9\@kP@WF/Dpƽ)P/z9޼Wy8vV@W6@.W犻]$$.@@@@@@`ف8ԥW3n7i$8 ׿: J,]*P/z9ϼZWV@WA:Re.u^T˪s2Wwwx飳{S[      @ \q W\B[U ]/Dգ/6V# ꖑ J4Wzy^þY]ih|w@\qK_Op      PE.-^g]/": J4ٽsW/`>*g@]KW\+*TrV˪s*]0"[["     %PakVWς\q+uV_KtP ]uyܬzjy ^syǬ7@+; ^ZvUZbEV+T麤A+tA@@@@@M4uWR '~*]n| J9b= ^γ? 9 At6Х}lX ŶPa.Υi]5=@@@@@@@U,+uš@[+vQ*(Qn>6%/'ym 3f m~ t_|)OSj|.y'} U!@s!U-Х8WRK!/U. ].c.~@W[!     +P:n8Х ]>sA`uD tџypBf8hmmuSLq poy0 QrprY]9ٜ"@t}U.Mk-].t]ȇ ]I:@@@@@@ 4:Z\] rEC]qKFꕅ@W^t믿̙[o=kΛpTR|>}[mFmZɬD|QV@W;g@C (=kH/Ub\Z\Ju@\Z\‡=yA@@@@@@iC.U*T*TR7fQA.sWKA.ja=_Za^04~MFxN_vw믿6lX/}BYt@V@W=K@@t[8kQ+T2]>̥pB]>_CZ|ۆ@@@@@@ [ZCZ<.;U !.uèp\κ,ږlahL"UBuznQnO?j̘1/~>(xЛ P$pVB]6. tvT~Kl2_˹+f/XNqU*Bf@@@@@N@o~.8 Y;b!N,*.ҼYqKax^c IK m(=Jk4tҥ9r[eU\|Gnԩ\_?չtSLqnM7u ʅc'|^z%7p@fU^ie:7kRsquB]Z׽sϾvhgV{@@@@@@ sK[_xV-ಗ8Cw!ȥyB.5>.7>}S$ TZw?Tҕ3VW[o3g5\ӭ:p wo1c[}݈#zt*/G@m%,AcFt.u\!5}"gOP7b5]       -k9Y]UznmHz2WݢMH~fBcRz|+k㭲H V^ye +cOQߛTnz)̥yܩ2} չGvԛ PQ vCK;8RK/JW}u{V~n1d@f!      @5{_sKܖí:&:W*|ڇ\~:WBZk]aA!E+iWo}]pfd3Ç`oWӷUlp z0oჁYTҙ~?X$P)ХJl.j>F}|.U6KTK&ޜHxznU~B^@@@@@@j*vw>ZzZ\f!--V) AqX+Υeq׊ yi-*v@W դ v͙3)TAI?=l V[m r/ԩ>СC݊+H4R Umn֬YErUVq#G;>j,P-yŸEowZlǮuRWO!     tB Tոu}-f4ӪyuXEhM@؁WhnP*s"$#@f!e+rWtd|nu&$]`@L`n̙n޼y+NmH][JNa< NBNj?nNJ]>iP pYq.V7qKSwVj]5Fɯ h{@@@@@@jŒh5qa_UVBx/\jQpˊt/Ӽ1x:ix"I<W.5$ (@*ׄ@BRzPx0_ZH\Y8lE-?ݾ<o+wٶMz!r' A/      @,W>UUU, !-ˊIBs*{6#jI SD@t5-$@gƒy^iPy+e6`V\+&wY&v8!Fq}û/a @@@@@hL`_]NqD+ D+ffۄ*\|_}V(1  s}X Pi= {~a+=k:Yڪ\cIϊmN'xA@@@@@DD-45MEЬZq.60mh@mې›haᔴ "@Y4׉@ gq=CWe!ԥ,TJW[x30mqѐlS@@@@@@qCW)#_T.4/MG~YR[(0X D&@hp] ~<,P Oz@i]Ѿ,\zk]ONcɲ0 dhuac@@@@@@.\vD%朰[oiyq`+qocZrڏW;aah)f! rqԇ@J?ú8PWz]42?֋ qKIm;$ f!      /P .֎*thi%쓄wXPӲ0-(=F@W8Vs t0D#YSN# R+|O]}|*ʷ׶@ꊷ G @@@@@@fnׄC*kBq.i^WIaCm\X"@E@Wi pVra]im,ki6A/}vXvmLo       мaƛ0%PqK^TK6Zi"ƛ^!,a @ j{"{0Ux`י+C]~Aq8^\ϫ`~PW6-r/ "     𡫢C/M_*ס}K3v-ò‚ @@@Wd.z(Q >e/z0YLA?Z^8O@@@@@@` i m0khqiAaFm' siTPr19^@h.]uZr-BWI|]a;ÿ]~pWHsCy~1@@@@@@:jGIqR]:tmi#hxEhN]y߹jr-P BO_ۆ_@WYK{ƿ)C({-X     4@DU-ŇBhIBKs5N6' @]U`XO,W~zۇV%"̇p       10c¼su,+H_e@ <+EBP_X ,h C8Nz]X@@@@@@ceuI(=,+yd" Ќsԉ@gn:VuA+1F@@@@@&B[XUm>a]6]v" LnsԹ@ptW=Vj&@@@@@@>Spj;@hZ]M{pOjJh_a_9c@@@@@@ h!Е{i!B@W.n'JlY@c@@@@@@{{\ݣe/@ ՜F!:ҕjE      @:Y@r+@+C t:7b@@@@@@l5Grr0ȓ< @@@@@Y@W#] @ k]Y~         @]U`X        d-@+kq@@@@@@@@"@ @@@@@@@@@te-!        UtUa1         y?@@@@@@@@@*0,F@@@@@@@@ Е8        T U         @@@@@@@@@@*@@@@@@@@Z@W         PE@W#        Y pN,wIENDB`intake-0.6.5/docs/source/_static/images/line.png000066400000000000000000000247141416666122400215750ustar00rootroot00000000000000PNG  IHDR5sBIT|d pHYsaa?i9tEXtSoftwarematplotlib version 2.2.3, http://matplotlib.org/#D IDATxw]uϤTE"5t H"Q\ؐ^z#xуRP΁RAA@z MPz $!IH{f͞z=~{|}^*Oн @@#*FTP1b @@#*FTP1b @@#*FTP1b @@#*FTP1b @@#*FTP1b @@#*FTP1b @@S4iR>fiiiĉ U:g̘78?+{2M0!&L({ nU#UT#Kj֬Y5k{3{,iii)q28餓2bĈ#G̊+za㷿MZZ:%ӧ78o~;.;kVru 3@ %0p >h.CiFtN>=w_$3e *}oؿp2~|?wM(ƨ)ljO3 лj|#KKP뭗~횫F=G/<_Y'*g=?j%3 {%wڵK/uO|YApoZڥ3 ;%gڵK.qXz _'pXz 408 ,j`%3 `Xi.*g &Ғڅ&mm4/D>=~{9K67N6ؠv ˙h^$Xv%ɻ3М`jO\}9I61c-]o˙hN 1W$ӧ3 |`ooߎo]D Mhw]oʙh>I5'/X,@sMjC;9 ,ؤ I٧vrlb_RNQ&"6$kQv4Iڵ /Lf*g9&w_=rflrc$n[_2 $`/0 \R)M@,LsNÆ~_`~8O=lbdڵ.ggDKKծ]~y\9dР @gYnd}k>;io/ggLInYI2[o~93 3 ^fA%S3^:Ϟb셖_>{ڵ3tg {k?dߗ3 г^jm;?-ggTKKr䑵k^[l T<09v˙9`/6dHկ֮w^2}z9=;8<ϴiɯ]<@`/7fLnk?@ bGMnY i% T#j׮2yr%+a:'?qy1lXծ{n2uj9rQI߾~;9!+dՒ]O3˙(c}+o~S,@9`lI㎵k?QV<@o>˙~v%pڵSN)g jiIڵ[oMy%+ѣk~rf}˓.g ד#kNJ +& ]jԨg?]{#˙t}Iګv/.g:HkiIN?=YvK^x b啓3Ψ]{C\ Mm8 ڵkM9y\\W/S 7L^|cmȐ*o.GVF%eڌ's3TM|kߞxb9@8\>ɤIV[7T#b };ڒ>y*f-}vC5 t%H;.~ڵK/|8R[ ^nJ}nUsϭ]{d@c @z=( ~=T> 4яw>:Gc \\2thGCң^+gL'im-g&m =~%GYWG?JƏ]˙zH4`@r%ɲ֮|ruZ}䷿MZZ:ۓHL)o.hvm„jZ[}z @zOݷvG/|!ik+g&hf%9ΛD_qEoVL MaȐ"[v_58i @ƚkW[~Aɽ34#HSqb1#mo+g&h6sQɗT E2MtZZJۮv=)g.h4p`qku׭]3>i-\rɨQ맟vZ93@34.0vߴ= ,mU_ծͻgI=W:d֬dݓ(g& w|kɧ>ZP-'.K]?;TR&LH.8۷vSo}KP k7ISOu:jT$W>N;-9pWл @*+?x"JRi\xasNr!ܹ]IRy_\ү_yq6w_y/N#yr GO]K&}v-dȐnK>yR0vJn1Yv/n)쳥 #a6<4)Yy'LڪAhVbdd̘^H٦8JH3ckz+ub#ih6a啓[n)ߜ9DN:h.r%_OM;BhӠAf:+}dڴ %ЧOrţkM2yrf%a)|ky$?Bz*Ki}`_v}b3_`Q aM̻&{l2wn9@k$^Gx~Z\cB @haÒok\S|/ᇻ.X ҷory%׾/ 4ؗtSCfH߿^M(.=$u~SwN^yDBYm[~k7ߜlir>@J%Erɀɶ&?I^|TnGWYvwg@@& aί]ye%sP=ъ+&_|מ>n=ikݬ_KVXs80!yrPO}*d㍋@ @(+'7ܐ|{Ii|3I;,yrwP} ߙg&luW@$~nu~'O|"9~zV(ϓe}mΜ<ʙABҒzhrށӟ6JN;v1,=Ժ&'N:8m䓥@Ѓ_\!=&v*y."l\ziMoȐ*;(8^Jۯȳvx@z㓻N~wIkI>?(+@u @EK=6yӟo'E^uU%Zcw+ʝ_dݓ|ށU$jiI'yjo'$^[l[?#ˍQl }0{bO~[@BElIq .Xi^H:(b^*OmI;2g @aÒO.O-=]|#G'Sv|t-zŅ '&9sdYFOBŵ${QxiɨQɷU\(_'sv4<'=>|F%_af%#G|s[{y$_+|F Ʌ&wܑls];';X ɤIW'oɖ[%'EjiI>/I.hW 'UW%%V'@$֧O眓ʂwő  O9Sȩ&/]w]qjx]nX8,Ao~3y?\xpCq!N;%a @nC&rJ ~ߍ7&o|GںsJ@ R1g[ǭ҂w^{%hry;'@ @Y&9駓$Yyǒ|%3.[ouU8Kkڴi1bDZ[[3|ǁw_8=s ȑ'O#P?XKw/..y衅oN6ܰ nӿrA{n͂7kVrFW_} FInޝE&MJn=c;~r7'@opy;^W|kG$}&綾J8#yՅO䳟M;8M & ̜&?q޵N/})Ynn :@zX'}m J>q7#@uнLI?_ xqTp;AAB9z+o ~~I2lX'lYq2@ :@(W{{2yrFd<@MABK~?&{]v۹X=Ϝ9"眓\wݢ ZW| ɪvόeuг=|_G~oKKGJ! 9/?N#I2E|p}vϜEABy s)n?(G'TG?tXͫ=sK.IZ[;lRl)/47X̙UW%urܹN8 gd~FFurq_:EO䓟,nA^ɲvuл=Prw_xa?u"?YW=j;7.*8曋 w-?@O" zfJ+HfX ss|X6cFrE ^sMҷo{'{|C]?'` 0OkkE%7ܰxW$[mU^{%s$.X^+N_vYᄏxF)~67+:@`QZ[xwYЇGv=qt" %1cFwӧ/ S{@` fL"*:uw4 *aOJ[]iS*bpm1,Xt'(B𪫒ɓ88~|B`` ^WL]w-~B 4XtٳI#^LR|_p[$ 2=TqTknZ-fdbyA]Jju@O1sfrE ^{]H$#G&dGvq` S=lo, \V;&m|]2&PX4Y;(?9ik[Xg"߾*]2*M` ЌZ[o%=]$kU)$ o+Nxc/䟱17zJ` ۴'>qtpҤZub*~*cI` ͝<@q曋 |%Ó-7O iu@̝<`r-AK9}S;BV+7|\`!` PummCu-$S.gS[ 7Louڊv[<9y6+NoEsUlP ;ے84F.Bp^组4` 1،z"dڴ>}Spܸ#Ik:@͝[|p%wޙL7xp1f׷ SG w.3 R\u`2sfݧOͼ cس' gΜNjw{_o\dc Fu$i8:ǣ&g7o ^G{v2`@c!  s#? ~q_"?bzc :@wC?_}qؖf:?F]M :@;N?Hw I]6 ]x ؿE$ Zs#6ѝp.B=` ez"?b׿6o_\ڝ^NuDӧ'=YouC*BpkUj! ۋ|rFeA.N!3'wߩ~e\-- +-'O=US?wZ6٤ϡ3,+xZ[;Nj/.3qR@1"t13g)nǬY]k* IƎ-kk+΋z;E @3St/P1b @@#*FTP1b @@#*FTP1b @@#*FTP1b @@#*FTP1b @@#*FTP1b @@#*FTP1b @@#*FTP1b @@#*FTP138#kf 6,zk#tJ_>:wsfmɄ sϕ=@iiooo/{ltMsgd=I'ߟ6mZF >+Gh~ePٳg{qW.o_̚5+fzykkk"2lذ=F)*ZΝVZf}VK/9餓}%3]g*_ ?>s{gԨQ7nڴiYuUW`l9 6JS\~ӷoNG^yNG8p`X6r.aJCU٫ 6,7pC 7ܐO|%M*{0I9| _ȸq[s=ee*Ny3v\s5Y}^`N_a* @U;U%*FT tI'x W\1{gǂJ;餓Ғ>Q@rK?q2gΜ.1cF٣A%u]9쳳F= (.ꫯfW-ܒmݶqROM74gqFN8|cO~ǂ@BI[Iz?|3N;T(TN Еs1d뭷رc*墋._u]e=.rGɓ*QG믿> *{|G'fҤIYs5*eĉkҷoΝ'fͪy HB#_o9묳N#A[_Z/9믿~J)`h?<^xa 6,/RdĈ9@ 9@ 9@xs 9@s@H".:E"]tD8tq (@P$9@Hs@H".:E"]tD8tq (@P$9Ĵ޻Qλˈ"S\@: @: @:    t@t@t@t@@:t@@:t@@:t@Zk#b/y{_yz vufAÄj֖T""[k^{>fNI/'<qV}mFa"'~ڌN_"muD$LV?+8Ox?z}̞VI/E-:"۸@5 1=QD 'Iqh 9!s}dY$^Vl|_#y  >\#yеyHY> u{kW^A^ q}P9.)ͪms]ؑjs >)]EފE>rfQ9"03Ut/9M81آa*:E=}1_9}.Zkl#X=K.<"|#a qo}G6-qRmZrM|/9m:j]`2{aS8_Gr9}ޙ2\*.( G|t5ƴBʁ%y h8g>m{!F-_N~k !Ч(cN) 8?*7}> <{q.lץ+K#0/sٱP#Щd/nu~e9*:x֪DND:b#bK.lIyj-ND`E`m:}4xTN:1]󕭃@!G3c\Z1\y^DğΘDp{\3NxZ{{w(Ҋ9k{l>QoAq2zK4O;1H?S<suԺwq@%ìf K+>4qʯt^j/" Yi 72̊quɰV,0?S.9ѺhUܜtV|p,Ӎ#q@gʬ2KZs:c7aDɟ{\ssrZs9Lߜf[rqZ'8/{;+g?)XDg'$L,O= ήXeDfK.?ߋssg}tek~ᩊ_M?8_DGq+ YZ^dWepq8·#0 Ys|L@kk0c0rV{?z)i\8dGB#Щb/nuPq[$C^$K8_G̏MTpx@6#czE> \#Й aѳH OfY}Nn1qg0Ʃ͡ω?u2$^D\ ӸkB4lw4,\GEޒ8G3:QzIп-Q)#VktFe*qѿ4f/YU8.th>:Hz3]K.; :1j9sws~4>\@b`8h9]nڏYr1^@UH?i-m(g W|Ge'9)t{OBA:7~>˰b:NBo8Gțѡ։|\ X_ޗ MFM^Bh?8+ng8j=?Zf'Z~{[Cؼ~K ^`_8_G Y"|tk C,ۉ8 ',G_ Rhw˟ڗM<}X1fQK.nw'q@ggZ#k_pY5r~P=Zή#:">{[GK[vcNp7yB>Ͼ& %7],cRF2~~t'm>:L Oq\(Mֹc U4=K+.lthpՁahlO}0ޗFUt`IsH_GalSVPF߮:):OֹRyÜڌ2O~ly77yBbxp{̥l\ˉFqewGG[ qq򫉼c&o/3}~{[,^6n}`-np}NZkKÀ@gב~5;+ Ww~%[GGȽ!oGg\ z-rnGDž2:YOm,ek7+_"-aBtϬ}mD|Nz0}NLDr)xqBҊ_M̋tR":"(ܠ?w9K+~Wh~;ne>,@'`Wq>FN`3n}D|WTK:)΢|C6iiǬ_ľiv}_~3{?֏~Ze]wT5denݦ/W:&+,ү[k":j]p`ֆoO/l MZ޿<&]nE@H_?z[VwacE6{D,~<&EĪvl'Fĭa'} _Bi.zlAma$ʝ0 WqSt4lw{K4n@eĬZ'XrqqTbܶGPmE7KKCPl/*>ce5:OFr%/ϽiۍVzf_vYM@7>s/QG5! ٭a6Vi28wLzӽޙ@'#o"w#9g 2K_F#I;DEQX'{q.˽Xٴt2, :0iEXZq,y~ߟ^Ik͉*zL綗8z_8QC7B}AH%wIˈ\ov0H_EĕZQrcGqJ_v@' d>:lpHӝyo|t蘏ێ:Jk8,8\LO8|Amb*۴'btR"|txmiE'\lx tvS@̑ao關:">{[o|&d1AۉeԻhti>:xځ$K.vh/@')QEjal_v<8(".m:;e?5}b$&͒ǣ@'Y[ *ɜ{ៈxX~W|ޥ7:;DV\h#w@a_,t2"&"~7/Wϯ9],软/{@MQu֖䕑`2s97HQxz0Na`n?[-"&(k ٹ{^6Y\ _ܠxwhD|J| \y<|t:i;Eљϼ[8Q:"(NGGS\)V$/8C ulKLTzi>:;Eز̫+7{Lfya7re>:,GgҒV0b ZN<OES s2ektG;K\"&⇼iNNM:jV\ eFtմ{} t"}{hY-}"ur 7Ss-1GG33%ɢ<72NN xaķ'1'M;-ޯo< NNq\Kd^'_J~K[^@'령 ķF3V\}WWݽ>:̃VԻ*ae$a}`%>2v!I)( W2ke+W?|:G#˾9tmx?sEwwH t intake-0.6.5/docs/source/_static/images/plotting_example.html000066400000000000000000000525651416666122400244060ustar00rootroot00000000000000 HoloPlot Plot

intake-0.6.5/docs/source/_static/images/plotting_violin.png000066400000000000000000002225041416666122400240630ustar00rootroot00000000000000PNG  IHDRxX IDATx^tT?IHzФ  RT ],4}RlJ ; G$͖&Ν̅w/!4@@@@@ȡNNNN3h@@@@@ xw9    xwG@@@@? g     ޽~@@@@X׏#    w z1z@@@@c^?^|    -@@@@@@xx:    xwG@@@@? g     ޽~@@@@X׏#    w z1z@@@@c^?^|    -@@@@@@xx:    xwG@@@@? g~(pA?5SF@@@(U?LV9"` ݿ?(    O 29S Gf @@@@O0R3AO֜#   o? f   .+@K@@@@/.-C@@@^u^__a   @ ٥eb    pYW|Vg!   /w}Ɂl_gΜ!N)RDʔ)#K6_ʕKHHDO   8)^' O]#NHHH;wpW$kזF-Z   @V f0#@ fG>8&&F1cr98bѢRL)U*P3OHٮ/.\Oˡӧ3v^wUs]{tY*W& @@@x !@˫f͒ZfϞ-j UH*UAR\+ʝxQV-QvMѲf^ILJuSV-ѣ[J(@@@4xy9@gx}viN,99YfΜ)Æ իWۮ F $_h~2z du͒p9 ֭[K߾}CGp   F|Vg6͉io![l1U(ZԄwpT͆ݳgcb+呲jO<^{U1   2^QxH֎GK07:$#ɔѲr):uK @@@W7|VgEEEɠAdɒ% ɋN xD\b~LZL޴I6l(O=9M_   x sZ^]:?h/7<}͒30Щ>#y뭷2Oi#oo%ys!;5D)1[:eɕ+<# /Hɒ%ꇋ@@@K׿֛"W^LJڵ33"  xF<ː!Cܹs cв ;'ϛ+_-\({͚5AILKC@@^Xgf_ z߲ٳGz)-@yQs媜<^F=_\PƚMcI\\8B@@@^\ u;zIJJ#G/,111Rd)_?>D͕/^q Ș˹Aog\BCC]8B@@ ^Z  ugVm6֭DEEIHP<{ǝ .^-0rYssB_GyD˗@@@x=~ dT7r/!!A{=y7$..NnPQ>S*-Sի́l73͛7הoXϞ!  %@_l+^]כ]6l!!rZ3lŮ]…Uh`k׮<ҢE #F@@B|Voʇ~(Zw*UdT^ Fti~dx̮vfGo%$$ft@@@ ufg-ԩSeÓ/4T^Qz6iY\)2v߲3Eʣ>*ҥKSD@@|Gw֒ @ ^x%epB3V5kɨݥHXg ЏGϖ-2n2gFINN6ڴi#:HΜ9X#  !@(@ @s-G1?^@5 tw,sS{ Ȥer%eBW^&R4@@@ uaT ^ f  .H@ңIzw);wzw ˖ N=~&Zwpx   N q x{ҥK_СCԩSmk6n%;)-0kZnR{&IJN6Al{Wnvea܌   )Lq3x{V'&&FƎ+Ç-ˠ~}?i-p+Wλ'@@@/ c pmެ}C?.GO?T]V(۴jڇ{D!S"#e(gƠnVSlE@@U_Wy#_D={L0A~sxUmIʮ(=z^me[}m|哮]QF7n  /*sB#@a2m4?~>}t30Pש#Z|Du^er2!Zj5j0zC"ElV @@^Y+F M'qqqh"L~OI7C͚; Ѓټczo`Ν;Ν0@@@ @x['Owݺu%j*i/yBB5CݺҦ\\1qq2/:Z~YZ\VWmV:ud޼yF@@\)@JMBŀWk;w|={VN:e{-3gȡCL_[n=$m޽rҥTo-SRsV]]{@@@l tH{9s`ILL4-&ԑԕ&*I { @]U+|l*Uz֫Wω@@>^[3FGJPPhՂ J"Et6mYfo& .d3 HuJwV,}"Bxy*i*gfђVXtل7x JW   @ f?]w}W6l ?5 3  111ҤIiӦD/_~4#O?ܵCJK.H+=}̞=[Ν+h)-\؄[ \0 Ȩ٘up'n7Vp9p?L5s 5e^t\JHyٲfgw)rgyt  dovɻZ?7OԀVZ>}ƍ2h ;ʭj[ɓ'KB=~AƏ/%K &d($NC5X}dҮ];y}ʕ /8Gһwo8(7o6þv) ]ϞЬ7..N-[&q^W9(MCzh@wsba'ps*x#.ɜ ׵k?*͛7֭[Kfͤnݺ L[@@@x}|uz{|̴CO:#GkH7vXW^1 o&OC 1ԏ?6;ln̎ .ȢE>b}aÆW_-wut8=L߫2 +otk)#mk6nIxgyFj֬i۳gL>FU/7m97ʜ3Wt7o^S¡qo/83?Rz@@@ uɫҰQ}IHH̘1㪏/ϟOnK.P/xu4Yv#8 b-P)MzVM&@'˓'WtoZMW&-W2FA;-]| 7\! ˝n_mGzصSN_xC~6h   x'0sL/̓>裫jڗg]ɓ~O>gv޼y2zhɴiةh!ծaVr N5mժ0+ 矛4|_ٳ;wnJCѴ<~_V\9۷TZ5Uu֙v8Rձ̟?^?LzŋeҤI)V qʹn_̥x& Z?hZs|Ǯ M^f}^uW741b϶5glҬSRzomn竉رì֦?;L Lјs+]kRh,΀W9qzZ_f=eݲr.Ygݷڬ)SFjԨ!ժUJ*UD e    pYO^ HՄ/5(VX}iRkfV[j>tgovbS>ת﫥|հ8 Sk47n jVh :5՚Z*\zk̘1ZAJzԯN:|;ofذa*TݻPgߴ$RA-4$5jTĉV{OoMӝo>}Lk53KHuɪ{$r|ۗbR'ʕ   ^M@Cg}֔.HY<~ /SN5 ֦5 6թNpľAj=Cć~~M 5ڵ-<< ژ޽|_w.۷z}[a : :.#ٛZ;husժsRٕfƱ4]`af*[}Pn:W}MAw0~ٕ+WFΝl_X-]ԶVp̙cJ3x^z%)Zնi&[}cd;=\^}9jWyR{O!YE{Ùv۶mnSjԏ^.RىO$#>1Qv;&[GˁSr =$x~ :'&$@@p=1zX~ _} z&-e[@yL 94C;uTS?uWj 40}eŊ:qqq7.V]gzW5=uuퟥ֮Yv5@Sz@:h`ܤIZ-f` nڴi}5tmaɓE\ge5LrEI :3;ݡhl5kz$vޛ 8v=ٲy IDATY=a'}mcS)E=K_쓒عri9t:}Jv;fvܳ]HsN`rRU   ~/`gMk\m) .ڬ@՞Owjݵ7e;:uwZUjWm^iЏ[;xSM-uTS>[6U`ޔsIV__c34UZgk9UƚazO#GȻ+Ǐ"MmfuZ[kk` S{m[oLb\t359E[o9| h}YpA2e{͂={Ta|?uCeDZe5 %O@@@ }ܹsme4,No]ySvz}k~azVRkjZjo>DHcv:WI 9iȣ)w ; xSrJ9^=:Zi]_1!jQh:T!=YVZzj[?mfP}-߹SVc\[kMuZ5j}On@@@ UӾiEVI :o x.Nbvk@gʀWd.ָ"##Ewiƴ4 S3I2M) 5+dO뺴v ugw $**ʄ^lq,K x;5QWNZլ% HO\ xu>xxjuz͚5ĉ("B5wkܽ[V#;aZ~F?=רQ|{;si   @v f|6=Wwj`CtU3Uά2=t)VT[alQA@پkKǒ2Ĭ2tPӥu[ZK>kw,Xlٲ⋶:nuՒzp^޼y&%%j-k:իލ1c;-Z\1V]_-cΪS +VLnVMZV!ͫV9O#u$Wǣ/n&SEKhh}Ŋ9e~=-eMraw<7nl(:zB@@ kzɲp=wW!e?j>3?j(s\ʶpB[}N=^3dg;Repz=8~6ǩVǤcl35{ZzYAK,^ؼSV kԐuHZ%OHHz,ȎךRXXTPCCx3m=|X~[F~]F6EgެY3iԨʪ_>en܍  \)@oYS]jƍ3[ʀ`@S6l68O>ivtMjfafk֬1iW1ހW(,_C6|spcZ^:\ǛksR%9:;lAhzҥK͜ZF"ޔm]7ofPUA#t zW~]ڴLȴiӲ$H?N;믿dٲuIj:u믗|~gM9;^ϒo4_/WOV]UvA֭[/G{s   YoqOh>hЫZlw^s4ՏZ?X"m! L@j_X>4x;pǾ.Pgj&Mo&5u ҺF^}}rmmz[X]X;SzVփ\n04G6_~eYbw|2vXpYسc~YW=]kj+R+VLm}#YR)43g̚5rK*rOҦR0w}:ЀukE$ˤGjdnkFn~=NFmjyjkW7YK'GP{RqIC@@]W0?D:-eW֮LiMXu#Fāy;~MwN>3WE5}nuu={3/-2={8-܊  )@ҀQK8:uʌUO>va|˙3ݩ\Ѵ3.I|a3 pѻv2CӚcWݻwѐ_4saҦu+S֮\5Z7=뒑9'_砥(NN>m~5XQSW[WJϟaqH .!Af]+#?[%߃m۶5;unNh8t  doPp@F^i )%FV[\ynS7PawLg ݷW&/Q+])-7jvR!  .@+cW|7zO.˖-Bnrfgozu {cY'pE!S""$Aۃʔ)#ݺu3nժUn  x. B :1c׻xb^FRҦvmiQXd~2 $&%MfK|bQВ1ZSWK0X_!SF@@//@Vhz O?d謖'$DV, +VZH%$> ȤGNGʑ3gLo 4;u{%z % @@@_^Ywzy$""B"##eŊu|[`)_P&\,!UKWIfs>L.\$?ZeL[sO@@jʔ_ر{<   j^Wx@v)'yWZ%QQQ&կ-[HrrrNR NJXh. ˕K@'J@>'9rx18+s6n_׬67 ]wG+Ko$f  8 A75sΙwӦMm_Z! JdK2 3gVX .1QfY#3VFM$.!hΝ[:wlB͛SG@@'@>/F/Ԁ7-ϋ޶~w#Xb:{hIٵF;rV᪕*%˕U*Kx^ SkN[B؆٤ISK.7o^O>B@@B?!qkjK7dʕp l=|ۚ5n5N:_L@@py]7'NYM&s̱ߺ4l$[`Wo晽11& Q^P!޽)PN'@@@L[n=Cm]Znf  ~&@g t'^^YfrGR z͕xhty2v߲`f39so"שSNjfP@@@ @ =u 4HvmH޾ {/\$GF˞( *dj ]MЅcX   @x3m FyeR$,LFu.j xHȸ dLLQ"EdȐ!OJ^}q-*ŋg x   W z1hpF%fÆ n&R@y];ڨ[gL^LfZ)gcbxV*}J&@@@ a8 :^YzzOK,AITTj%;]uxN](-#"luu['xBڷo)Ce   ^ @@ cs滦M&lٲLjtrOٺ71)I޴I&G,?֯#{6tʕ#  do6Xzެ7'$%%_hu7K5$0 -C ^-##gj=8G1vi   dT7r܇/@K_7ߴnȟ_4l$wp-[֥%%bvky*9|m ]ں 6@@@ uf_.{^~̘1|[vMX\R\9_)[N(.e \9s:ZN˺}d&wyt q/    hq-xW-cSaΜ9h"tU*  j/NK \rҢE {M6춹 @@@ 5g,u'+/sʒ%KdrwاVtiP4h]hڴ.\\   x]%I? q$^1d9v z;UhQϟ+ @@@|[׷ח!~L@@@ ef;F@@@xi+~&@g t@@@C^?\tJ3O@@@Wמ#>L@@@ W|Wwז!     >L @@@. * 21@@@ @_ f~    ^Y^]Z&   xy@gx}vi     3?@@@`/.-C@@@  >L @@@xy@x}}   w|Vg!   e^^Y^]Z&    @@@;>+@K@@@@/.-C@@@^u^__a   @j*IJJ0X,Xg׌!   @x E]VfϞ-,]TP] 8P#AAA^" @@@\-@jQCȮwƍ2g{Jɒ%rhѢf7-VYFv-W6.\P>l3C ,$y3飧m?dԩRjU1g     ^^z4p;X?~|'s 20(P*կ$ՖMjHX0ɓ?ʼɜoܹsI&~&7"   z1r!9 IDATp ஀ѣҶm[ W[E(E g.؞cr){I9)]DKH:Zj;ڞ?}^F>RZnYde+%OcE@@@'x@Nҽ{wSwhxQyǗ=nj4Z>{3 3+V;Q#   @  x'&LSww RMk!G)["Ȁ/fb   ?:sFO2~2p@  G<(uobZAK50&*Wa    /o@Fޟ~I^c{IVZkڵ~gל!   o?Ho;c ܹ$''K{K;geh)^"##aCߙ,A@@@ @gޤ$yWw5FOM1tr'3e7s[n N.E@@@O ԕa\ igC//kݥI&~'vs>F^j\$sΕnɘ@@@@ R.G;v'NHPptMػ&3Kf͚aÆt    i"\&V%*ÇJ<,%+g{jGqq2Ρr9oW^:Tƅ   N:% Z[n`3)3$wN2^2cLzs*UJo.[@@@@x=ad@ʀw֬YҧO9~)SD.UU͒g{rI209|2dO.cC@@@kz Xoll<2rH3צ6߯v\O… %W\>01@@@|YחW!VۨQ#4֨}#?w#=Ȼ+/&    ^h ^:o2d)^s7U["#%_|k.)T̚)"   [.Xτ9qIPPI޼y]3] @fD2h W$_f{?yU|I5jOΑI!   \3fѣ%88XLb;wn@V8$:i&\2L    EX]200PO.?L8Q~m_~&ƭ ^+bկd̥rwWsg   xoWɓҭ[7ILL4=H m xgϞ-cǎ5@Y^gneyRreYf O   U7 ׻woswڵ? R+Ѡ$''˳>+k׮ >@ ^'R\)^޺-9tULN@@@&@ Ç˼yL;5j]K=dɒ2as N7cFHbB|Wү_u]     >ySL/7x4h@FmjN6Mc~rJy̿q2xL<[@^gRfяdSL-ՠ%h    y\7ʠAEkCJ*%+V ~i;3dnGGώsVK…e4@@@,^"izlv:_5dJt*THnVg<`nՃ4Vۺuh ]4pGKDNݍqq2rxa/YD-eϣc@@@HoRCQ>}|嗒5~'RjU=?dNM6$$ H.]DKӦMGZ>pΝ;\װ`1+w>&󿛟-mخyO>^DYfMYp @@@~c9y\wuHJ24fnB@@@ fSK:uJ4Fh˸qR nMy3gΘ:&Lr%)&$${RԩS%yzkpA׾ ^o!/_|ajs[6:;Sw:g}&{^}Uygc:@@@po&6ȑ#!Oj x56lE|rӗ`}1H /&Olםw ڵk\w$5JJ(!ݺu3XztCw.k]N+^/IIIҳgOںugv̮7|S'#FzꙠ_Y8`W˖-+W4iӝŋ'x¶Vju.m;C:ud̊796|iժY7g;^Sx4Y4m'z~ؼ4@@@po͵B=;<<ܔh N*ҠR Nљ۴vucƌ1uwj@6=MCT7}1kך|-`)۷ smܸQ tUmڴER~_-KNu:oi!SԚ޽;vA u糆TsĉYVՓއza-i;85u ~ojum۶5oZB@@@pZi+/Cھ!buw|6+-W)ѐz4L0TSi/2ڴرcE7X5x3 ofy׮ x5՝U_hӏnڔ2dm>6;q_z%9>2;ySZC LKѢE7m$O=W /.&M2w4̼ܟts{Y5g/CZmڵWȾWulg.\3ٮݼ _`;sߝV믗5jHٲeEX[ەqs1   &@ONۉ'd&ċ2OxӇnm)R|]Kh*Uȧ~zŽ~f0jpj XwZt58}WL /66-70x`4gkhkț7oޤNXݕcx7nlBcUVq5o<ѣ#+XNK>R:^ie$ (`d{su2e)?a6k<:>}hg5_ѝ;R1xJӿlV9=e\1ZH:g+%Y=wuMƙ"   Q EFF`M) uwijMws:tyZ V?i iz0UC@-/Bu-ХKSA?_V-[P[hqţU@&M+/-zbݮ9s4;nihĄ V՝ú{~DzB[ffOCW-`j) 5Qw7|uW]úRCk-7jZXkk_zdvhzw:zK?f+UpkϿjVӀ٠[ +&%*p4D?/SL޸8)Kg.5eGؚt   Q7[n^ԝM6`OH "5l])wpjY|=#hcVX+tY^g}f%ujA}{5oSߪ!li gH6o8*}?CR+='uԗ=_͚5Kڷo]Ւc*ѠR>՝jm_{1niY-%5 >Cр!Z@i6K݁o!M4wk@n.:5hPQk_FZ92Kv{ROjZӝ5k4%^m\?3^m>}/yѲ#Z    ̈́i ԴD^К4 \+֜Տ]ŻqFsZZ%Kh`1BիwD֎cǎX y'z(;;n5|xG'O3GޫLim_qk% R(N*i.փ|M^V) G} n/ѠpY\rܛ':$Y a?~𮞳ZƙZrD   do&׬YcBE֬Y3_ٍXT, 21l5ڏ5JN:e՛1E(] 魀7izuZOWX5r:k5|պՀWMKAE:d-z"S[\ÇjS xI8nٲW >0O!ky=-ձsmf~5@^6ws#3?i^܍yp=   d\7vzRޭ&鮽:uꘚŊC+/p62d_V)kWЃt-iH~,޺^^F~]wݴ .z{wtv4ղ { A+]ڬZFBwiNpi_^wa}ڬk04SaKFLs]j/K.:ꬥ(A_|apӦ5|֦;V_=:t.+vzb+yt}!   @&x3g 49'`Djl8q9LwH~wR`Aٻwmh*UXj{jZi̾o7u֗j_{ZVAZљWa=l?8S:-W_+V8\ -5Z:Ϊ#%!ZWh_r蜭L`Iwk3u_z}2Շ5ՀWnJ@@@@sx3 ʵCz%Ν={JD5S6'Ӝ aƌ2zh-MکS'[WwZ!uZVC_m^ )XݍapѢEmst7nMlnf [gϞmvlNfG5n_kjiԵ/5Z): fuǭٷvIVDwK뻭5 kP}Y㠵Lw77nع!W#断Q[e#.sn$ 0P@@@@7n:riH[V'N۷QQQc1wvf>i@;b.6 MkԨqEk w57wRRk^/z)k}nݺZ@iVarӺgݦ ZBCqml0Wi9,p9|3)433w`RoloTE@ EQAo='Mhl5JDcLLsbF R-,}7̾ Sw|)o<úgm xWݵmqRNνj(gD@@@h p^x:ǮJ y*lt̙3SXcK' ._tYƌNwcƇwl   a4Xw:g&O ӒBБZ^BG/]@S(cZoxW{E~m)..6/-OBC@@@ _k:ܹstRf~ IDATnMnw{d3+npq5\RdM;z͒5r5X{l;a @@@50kkkeڴirYMK/?#}<#퀵@@@@x$׀6duk͇vPmȑ&ɪh ;95-ȳz˗/CX@@@> ]k{h"e˖-AI뮻N ok.yLiij>@t>   Ŀo^SG-X@>.Gq2iҤ( @W7#er3<   }*@ 3uNG-Al%uR+**(߅ JD,@wɓW>)j*))) nCB@@@> VX!3f0kj2oi{衇 83IQNNN{geScu?? kIOOO@@@H5 zI/^l, jƓnƺF_j~@@@@ x={{g~e˖Կ馛dԨQAJ RN:i7E'NS֬Y#d@@@@ 4мk755=#JG6Ch tÙnAn:F+f_!|wO%n~+뗮kV뮸9/N@@@ M?][iirʈ# a Zג v֚WdeGz~G_<"~z!   @b ?n&z7N86lyT6CP xu7oSN9L:!O_)W(u8\Y)~\q    ,@۳QkHEE,[Lϟ/˗/7tBI&#@zF9L镡 _U_S~J];yPDas@@@J7ݥ7[N.\(-ku(;5ˑG)K,}G~9 򶵶ͧ,U䡇/    $o:RGJzzdddQ'cӯ~X|?{WF# N Wf'Nh#'+BKXwd7 g @@@C7~v֬YECsJQQwM@ p^=?~9.6?65 ' ^3@@@@ yx={eժU=2m49cK.el@z2uT3!cv:rWGu{}v@@@b#@\1cs\wuޯ?7449cjzjc<"!@z[nEnfqWnPO֯\-3O)mW_g@@@@ 6aK2{lQG%^{8N566gm^mjIaÆyT6CP𶷷ѯ:wĄٿJz%[,?eΜ9б.   $o/SO=}Z;盧駟f0 Pl"tر#a.Rytƣ#֭PX@@@D7̎zg5͛7Oܓw1&,!@lYrǛeGSa׶]4Ʀ    a| zkЁmMMpY8 3A b+̀W7& Gn WxS&N(}Xf    a+܅^h0`tW_-/& ӜU okk{챦~+\w4Yhx>   $o?o{JE:,%ME {֭2vXvKknl;ϺSUl+Bg @@@[7հΓz^N*?dĈ>6Oʫj~2cƌ̦ @,^==].}R9|n|N>2l0ꫯk4@@@HnZ~򓟘MC%˗/yn i [XzO?\tEȐ+f_!ۋa<{ó) ,йOQ88   ) @NOQ\Y)\p4c=&?<8(   o+++g30#Ngʮ@+Xz.Lys N?Uwzer/5ko@@@H!uvMMܹSMroM"@oz;CtLrԇ|<~P z/9fH;ce@@@HHބ6N譀WEK\|ŲcsjzLgPf{M_o?<= oojs,@@@  _}Uy̚iiirI'r vy{1i _    D_7Z6mtArqѣe^Yb-@ka   }-@dTTT5\#;vq -0n80aL֣+ }蛲G@@@/c֭tRYhAmeF%Gq;Vq\AmJ ovl   !@f?'Y;Sd̘1Gɗ_~)wv7|L2%#+@!   @ sMMM_ZVZ%s1wVSS#Zaٲe2|Y|y_' Q7D0VG@@@ .k׮/B!@lxc@@@@x:w͚5,RTT$> N92   o{y ڸqdڴi2~¦ orl   "@AOi/!C]wEYX Fד!   @ '۶m;ϻuZZL2Llg}}̙2y0f ob   &@f[rG%=Oݚ7yNt b/@{c   }+@K/$gϖt;wX-Pkmm55z? LY&` A7,VE@@@ ^~eyꩧֺg}?/=Yk;.#+@!   @ s)ˠ#xu4o~~~{jii:KjkkO3fyd6C`xb=@@@HT0{nʕ2}tE]${n{ڳg\}ղxb9ꨣ䦛n+|  z -   .@f`[o#<˽ry_N7v@@@C7~Ѹ{8餓'? 6OSikk:H>FF`Ϧ#@    @" F{͓?>{:u}f⵴4Sf/^xaGfsI'!^G@@@D Brm'-0g8p`P/@["  $@]]޽[jjj̲V,[w_7F322`[X:N͕| @K˕}xQ¯x@>nxeiN   @" hު|Z+/۵kQ233Mk!pQQȐ!Ct)T(E믿KCC)0~xeeeQ>"Cxyo   AVHkණtH˙),s;!tqffH#,}k{L,G=.mmfism|[xmچfojuRS(뛤c6JSKkC jiPC[su;tTmdöm.om) M-zi)+ե~#  I۵\   `t19ejZ{Za'=-MJ򳥬0G r-ezx\VsD9f--v6#*w ;Z?`׍{#@xcFˎ@@@477U A@jjӿ r|J!Gzێn33~bl-mF]0˕wt;P&N(&L0K~z@7x{Sc!  "ZvRSSײtz utNalyqhYSFpy%CZk+[O[#,ZL0 |_ }uood/ow'  q*uh륮[W}7{gk)-}`EQS3VnɥBDlNzS,\Y-XQv=ɞBh 'X7;SC@&n>֯kjnܷ +}U1tm,֪s;%ߝ]Y˽_+qyh[.zS']&зqھǏI&.G}3oc8R7  @"h0?2ؑ(7<8HK'Lqg9rx[9.v:z6nO@`o5;_hϖ}.SLƎcgq+V~Z.\h& 2Ŕ*ʊl +v  j[UU^:5LY:溜y_[zZ钞nM̌޺좫FM&rg%\!YB @@^زeKQ]5l@anGpz|RZ r].  gaүYF.RgU]}ղxb9ꨣ䦛n0 `xb=@@ Ձ\n466uy|'m n/0#s3Ӣ{ @ 4IVZep뭷ʑG)kV ^D=ol@!:  @]]]#pu0ݻ)7 k5/0833< VC@ }`.~ɨQ+4i|m?17s6E PX@IʬIte5qoK'.Ӑv"w@Ycuoy! }M_}Uyڋwq <،{H; ГoOB (P[[k[ m!u_'2kj \BA'/Ii;@ ve @ fPU_)Tiԫ~[MV+ˑatrdӑnkֹMYlYoZ#ӄV! oZ['0{2d[RRp---!qq5\ Fu@ߟ" ohzЎѫhV2،tErL@@/xT׉ MS_wĈ>6yH;0f oRDW@/w0+ФY=VUUeJaŪ#\ΌQS-' ^nG5lhX]E@H]0^޳>[܃ՐJAA7ó!@ hsN67 ]=k.6jg֎ 6UG+r#}@@H0{QhYh,\P,X WjOf1cȑ#7(9VB tS@MLPב4rx&r;3iV4LYG'`:   @ Nj-[Ȋ+Djylo:~eѿ=Z>hS <-6C/oHFCm۶ܶo(pZ %Ez˖<ϲ8?\gYˎ,uIZ~5!  wavhIN8K%;;{=6m˗Q_~Eiy扎!@tx^@ `5^PXA bmJ=9@@H7L>\s12.LN>4Z*tRs3Ϙ}@ :qd/ ~_6͠`lӐ0G )+tѶ6[ rz%  ėoO#7xL0!Z+"uuu({'  d?rRV iuY=(2   kee{;S?iQ8lػx婧2e!~i)Vjg}Y|2eʔ0x3=m&|w_F)_~9UW]%ƍqٚ5k̵jHaaaE7pD,?Fڮܝ;w4j=U2 je@ atL/ s(  xϗlVkrꩧW/uhAgqg+3bdr-^TT$:ߴi/NjŊ2c aܹsC#^QN*f5ϭA}bl)~1 r3ҩ{@@Dޓy @ \B/oom x#SFnp\g}V4ji݆(G>#op5|O?t9㽣kn0&/0% .bsr۶mzH>Sj_BFs̚5Kysl9 .{::YGJ6L{1YlfȐ!fc=K/$zrYgO_rz\ H50 ԴKJJqСC{ך6=̵zlj9꾬y-G-|;潶j*s>7:i0 x K,1fZ^b3@hf@ƿok֛֦z, .\(rw亾ǵotD^65xGhgm'h&*t:=i\7L86KXG'_ԛu_G۟^jh]e!oԺ|BXOPs?Os8q@ MnK>c^ق.0p"C7~$0g Ⱦ+S4KkZTN#nC x5ӠvQGM7deҥrWI'd>Yukwڱ_] u_xpv4<#n0W_},fDW_}G]jPyW̙3eĉހ0XkMڟ'fipyW^W3 5|Ժ2P^CZ=~tߏ?ry}r^jjǬoodXvItԫ.qO/纝=)e/82%/;Z,񜾖mu>^,]7 @r &w&ݕ+Wv9ߏyuh$oD~zٲe ***L#`,՚l:zZ[VG55(\`^wժjQ:2WGH^ (4 HQ]|} w}1cՓk8CͺΛ7όP:؝:u^6k: !as=g/J^^^@n \u֙sՉ4ܴF:g? j)k붧vرwtd~F{7^ ufW~1f:I.I`ѿ4@nwmگA鰖fоs:믿6!6}Nu믿ngm7ҟmf*ZM@A]?{t?^}}uhpP\Lqg9ĝ)nC1Kckw>vt߱Yڗ5%l  ށIz7]ѽ7 D x0ߖcǚkE4wn>WSFa]fMex83ze4֦h5k`8{lku^BC)S|^;ydO<+&|&YA5XWPs53d]`VGvWWR&B_e]f]:BVC'\gސXҾ =袋̵[MO5֒V}}Μ9&O,g|=֠\ͺn~.=Ý:= tqffӑ!YK}.ˑy͑a^X᫆=| ⃒דS_=U!! Tﮗ%kYo1ctƍMB U5AG/5[N3}%{I 1E{P5pOGj8K Uj5P2JuV̔bk-X ufW#x+VM]ݏ}MЪ_Aկo~33}4*`kp ?6#^Q:Tj[ ѵk&5HzNYk/V?8}M?4sTUk-&fۏz?YfJU(G fuDԙ!._ #: \뷚Sg$#Ov:=Al(lghk٧k[k͑aF+ 7Jcs: { eeee߭]}SH>~D6n$kR J*zqZaN.VXX(Za~^U> щ=C xuzoDWI-`M&giKtwֶ}'}c i5`>ZZo:Vm[ { xK_F G; dF=][(o(XzzRA?\Kuo}(t^˶Q J+躾%<#Sr] h 8 "'oꠣei$|yTq? FGk0#O5u %Q}un [^W骜AkꘁֽKMY?{k/Ǡtb8 쵆=S砣Z5ʊ8֤o=:[[4GQZyegg_,X`FGDwwm건o5x-0It$|4jꈉ&Vi5=X~ wQ\sr5i$M?6! DMLKѿݵkCC y/Q7XzZ iJ(| z9YgeT˪~_' T7P{嗛 wL {  5pUmkkj[֯5R:ԀWmёZV &l]hfuzZVmTWv{_ekW_;Y>X%#z x5jk uZCSX4XПD?Te@h7湝~^Sst%9YApQnyR2ϧE  F1~Z0P{7ա|1ʮQGW U3f5C*y__аTGgk}8X}ꩧLhUBPaOLDC 5i`iw}WN/u^5Z>YN uT$kFݴi\x>n83K.1n V'Y*@UoU(n{wĉ42'PaBd-<o(ZjaN`__i m]kHeKq^g^Ypzéz@ =k=[s߬[-8k֬~/ Lx#ӭ x0Ub{Zj_CT-G`WC{Ln.>3R{@h-KC9Ą:XEE 5ԑ?hxv' U~ͦA>s ?Dj8jI`}I(`=PjHh0W^1sfMT($#f]G0UB w~{mVךcǎ5hyڮJӗtRS͚\.x xy'8Pk=!Ν;EY*s_7 f4 |=#ęlHgpz=!)@lWtB5 xi$oF= O6hF>Y%P]@'a)b`~Rr5 4WpM)m4Ht$4<W]u|%,K,NVn(#xuZ$8VP@)h}ak3x -x?RM@G `Wki0#5R9Ye$$_p6   E 0 xw_V%K_|!ZK[on[N8f}sF5Ve 7 y{pο~@NӟH`O]Q8ϝ%,vJ~NR3D'!  @AڵH Y(F] @ hm`{M@!qI4mii M <ӹ]2u]Fl  AZ+̚WU8NR@a p?$X-K}833:L[ l ؄mrzC@@ufϞ-~$kF b+VA  @&+ R RWWMCbuɈJ!t} ^K,vQ:J7Q:B  @O= :$ov'%0 kojj "H?rfFpXGw ;gB{hzwG 33yk#=E@zO9o/s8@ EC^i~OipU2v#3z謅_'e3類# tV@ Mڮ@ВFsarO(2钗`c=I$?G_wzLYdzfΛ   @9 @LxcN@RHۑ[/Ҧנ(%EfYsii@@> 3z 0G@ :OWSSD|]xa ]R%R^YΥ! $@O @Tx@kk.ުz|sNr6<$Oʋse`q˒g$mNVGC@" Dm@ x{89@N@G k=C s]ޑ> (  # {g͑@x{! `7PڣՠWoH=ֺ4@H]{ M.@Hh-aoܸQ֮]+Z:r&.2A>^^$΄v@@{^! I۵\ )%[΄>fC'k|:)b@N7麔 BK ;LU%4(cg}вHOKF@ Mخ@'ޞx@]@@l۶M***dÆ {y-u4\Z (<3Xp@_73D0xÄc3@H)mӦM> 5Gf _;@x@0\JX@> v!@@RAA֯_W`4Duuu@wçZaHY )+\I/F@b&@3Zv}-@=@@ Uv kYZRh}߁y2G[ ~xhY3 8UG\' @xṱ$ot )!%֬Yc&udpwe92:C|O\jf! \7) @%" @ DpZX=X7{qFikk:Nz_9XKB@$@V7i C@I6l'ݍt7O;4ֲ0וB\* @&KOr /o @@ 5W[G((W9O\\% @ WkG_-8p`ܞoOlu~I/@]" A h͛7{_-e󜖇ХAOE2$OHo.)ץ>vlgPf%@ A>^V!-K+䓯+ٻ$ou) T@j-kkkC>̌t[a.M뒂]vf ;>l||6@Huv*|.@3cʔ)S>ot1g +z  yપ*[uu`GstO 8,G83řaMi{w=ݮ~fn&{wh8ךLJg_sڦW8H h9QF!:r<|we;%?cYyc4RA3@we,.Ӄ-\ vwߠxbEH4D1@@ > 0Qq9~; %n)+X <.+<g-85jL8疓Mdž C  $[MM޽,=sΰb v\)ԉ s(3yaZ~y&@cs\-6e붙 :2wņ[ZZ2a0vG x@ x78@@@#BA֡޾}l۶-M_Qġ4{ 'K󲽡%Eyҳ羆áH'T%6V7۪*ٰf W4=zONFka}&@g@@=޼y`k"C iwZ C|  $;vv}$q#D [)%"B`D^3!['˒,GFF3*jxܷ\]V-vӽ!ĵÇxH#Xv}/@}   ,#FR㦦I4yWC,a#] qfzntrdJL ]kew]ﲾQjj=7fi<_SdWʯLBWAx(@@@@ L`JF޽;!#c< } 3_?ֶvik#mmno׎@ &ysy     @ ixk0@@@ 孀I+@]˅!   /Hvda@@@{V7i C@@@^  I۵\   @d M@@@@@ ixk0@@@ 孀I+@]˅!   /Hvda@@@{V7i sijjl,˓\ԛo6/C@@J7Ah FS}! (>7z}Ţ-,. {5---_ƌcncǎF   @ &kr]  g4@ DxbOO?5+V txo陙>_?kZ,eeeAmJ   @ &[r= `/oXz70?-KKA1_ܱ,/%\32?pǚALsC |ꤱVv";mMRyجˍڲ Ǎqȑ#)rO  $oA MŊ)(P__/?o͛7PX6P>D'"CFhFe۳]jvl5e7dÊ/Դ䃎հwҤIr1Ⱦۗϱ@@@ F"@KOp"n:;MKK$,F}Ǝĩw&׭_/_/˶ kĿDˠAL{G!  ,@Ƚǹ#@AmFjl2dG+thdjuJŊ/e͗ d/e׋K,..N0AҒkA@@$ MHeTԾ˳>knk֬bg~*~ vKrPZ][2ikm:ɔ)S^ii$ Sӹ`@@\7;C xSSW^gyF{=oiGK|48}ђz8\qkK y.BV|h4yp\rGԩSM;ydq:"  q#@7] @x-M@~&}EC^m:ژIȄ*pHwmR|CYCYlsV̔;;W:z   }蛲G8N#[n9sٳ%t Ǟ"9Q7wT_',DV,t6{KOOqy_[XXT\3  osXo9B hݷ~[f͚%_nчȄbݜ;=f6-zgy튽$9oc=VRTF@@ e}"@'4۷o7%}QӴesNN@ʆ#P꿭5_-5K>3U|J:F3w}RorPLY@@B ͋@ x8սt4ׇ>X&|B-dW e׋eŲn! 2Ds~2aSFvg#ꛚ|n>{$N䗗'e  6^ I۵I{a:I?/>Xӕ-{uR﨤dLkB߯oJ[G nY|Ǐo^$3K_ۮ]DGر,m6ݻw˷~k\CCC_:q֭@JKKgiȼh  '@z}#2) ֭GyDz)&i+gurJk:4ݸ+\\*WmnZ˷74ڽcƌ8@nn ҚVPkl۪*o2LtHYv3KKm"XW+M uPyeffʰa{~7@@S79BQq _!<׿Uۥ_ZxwPFrx<2#={eRzT~ };QGnZAz 4Hln:3;5sNQڲsĝ_(9ESP$B-*;G9{nnqs$  IDATytc8x*# đou`ot=[t/w}2 <93G@%)4ZZ_YV|coV[^^noڿM?47_Vˍ,o`< K!p~8- l5/wGSP,HZzk9F?k9sTa;6{zhq ~G;8}ɲ\qq۸c!zh_ B&tl  Jmܫ{-{YF]iWڕfw{Ξmw|WwyubUg @ PD-޴ڔ옲eà]/۰yێNtI,ZuA6"w[6_m[֯quJ=T]YZ2e=SײsȴUƭZ/NϖZYVmê~"8|!@5% e{gԆ @&l´T*Cώ}.\u~iSe!;. I!%Iݲ~m^_t vcV+,,ۗVs8=FM'Qdu`Yԩk\"NqbY(,)SFwo e]]8MmaameҫW/@ HA7i#ZL^x̙6i4F z6t  t%w.[6͞fys例+uW{^=?p @x+ΐ @ QXyyy裏m֭g-;t1 sU^=zKW N F[4k[8}-1V,SϷK.6f̘Poc5!@Bx @@Mۡ}gomvPjE x. U DZoop[:w[,Զmۆ2|۵k v @@ nHHDعsv۬Yuڐu5o (@p[2;[8+dTۻgw5k|Ga3{ @1tI73=ѽ^h=SOن \M[b#O<dž3U;;ѻ=@G`=.]4}I ^WU '  @$^f xvhޱ{;cƍ?ƺ l:,;2@a>[`|Ld/999!^C LF!@P:t@7F9}\l=nѴk׺kɱAGd kܢMbwHk ]h[7ߔ+S0-/wȎ:(,b"K%@ҁo:"}"@ebB@M8en4&-϶!GbYurbi: P֭X2|(}7^QlM4#<҉?eK+qx @Ha+@r V.Tۚ5k駟~VZל:p:\6h6 6 d4V<|%]]:wȑv[ƍ3 @ } X@ /S"nO\[oeUʮcʆi 4 yuӧEsWuZ#45] @  fgd ~z{gGz G>։@H_;_ټokslk.,C9$$va֣GA @H+i5t@,O?Ԟz){mϞ=Hf-mQ':aE2{{@ lYHv͙l\ HÆ m&wȐ!6tPkԨQfC o D@Mkc+؋/d˗-sU ֹPuSoX@R s]fKfO] JSNNի'56 @e@-C)K7e./^\$͞=m{z _ urn @ 3 H]|-͞fKLZab@֭kÇY;HYffB T*Cώ!d@M6k׮]pB_/"LνlAfU${ "gN[6{֖6]YkvFr@I7tiRU?;Ϸ&L`pl6؀1#~jMZKi -o4˛eN];ʾ{֯_?߿{| @ xI @@ p+M6;D>ƹȣm؟XNt^.l@ %[uX6oX4O۶m }'4 @ s fXSdիW[o`ػwHj퐞acǐ-] QC@FؽsI蕗<}eyC  64 }{a5j(^t ό- !%/?>3ӼSu4z6ƺesF P V;kJ]pܞ_b,ٳg1Z܍@<@ m oh*Y'|bk׮ zPj֦sOvH':Z:BD ذz\8V,mrϛ׭*t1l2 @B7UF*|wo5nܸ;wZj㏷SN9Ž"}Wv'۹[!ex~填/¾KٶmۊָE:pu0ܺjuW}D@۶ f9o_=-ۤIS۷С{ԩի0NB $op" kOdnn=U~ۚޫf̘a'x]r%eƞ-Zdr׿fehʝU{iӦ9!{̛7Du5Zí۠֨G;RUf=C @EC(H`ˆf¢DmZ;M4 Z2)Y3 @f̂ ׷+XUW_7p v饗Vi$^}Nwܹy_>J{;GM0ڵϟfϞzǾ}Z֢}gk׽vkvdr&𭎿BIH&5O]v؞~諬߅yJi"C9$$Kܹn="A: @ x9,Nx۷ooOձ@ @ olw lEa2[j{.زԎ׮]۔+{g-Zs9z@olUlȻ>#w3ϸlI&;cCN:X/-[dS ?ݢOz?|жon/Jp}͛N:v:ݷ~}gD8D.]㣎:*$^K~衇\|guq6uT;Sm˖-~z/-/<{M9V^TOXwqΟn31DsS$cǎu1x y|7v뭷ڎ;\[CL裏: }18d *ݰa-_ H/v z{ kf-]&mɚhu6Hpn@-{u\|-;;;T>sg;UnA&vnwB}WV-Vۦ+MpYE:$Knڴ&B ʢ ό-@YZhvgnݜ0_|ў{b~wx/2/@F9y'xy*WɻTKHڵ^ Kݺu]VBm„ $Xſiڐ!ClԨQN "q*P>ke+VXb#k 7u__~宾>_bV)+ΊLTx%K?<6gᯣj'U'6ɵM[\MZ&-ښ@ x߿M2T⭷*q7J"LJ*opf/K`="Axm xlh۷mP`/F}ac@@ l@'2p12'-+2ZKv(MPy]wbvi%2 *ͳ$;KeY*VY^w~[/vav-~{oѣG֮]k{kGb~S .YKhY\(?J@++Xy7heˠqm]SO=,k6R*z[7nUG s%#ڢ'qPjcQײԵ Y&֠Isk44.zWnd8ZӿJTSi?ۖ-j' @VZ"!>Aqnk;R#Xtp~X;g[7_ylaQ}A(f K%Gz;UNi;չl6 %ݭ){A  x KUB#%4m۶ &{5kք⒟,tU^7@(A%/q"?ϥ g͚5jjK®24?c-WvRnPl` =2{;5ZSv O*aV',%D*~S~o72U_WoyKKdxdǹS blF`[[nN]Ωg[׽]'=Q=Qc6d ?-H;H?MZ?tD./#2K1aTz J^ؽcQ`{@ub;ڮ{kJ>v@_O`4d L_}@)*={xEP#EUFgvEZO?})V޸_eߠw<6Q/ oN:v衇_lx6lʋ7ѥ=xKhP2.qp]-Idgh``נޭרIVL41 E|r%zciy^zm{:aTVVX,&MdvLqfg'*6`y;q+Dyzbbg}_~l%"Y4Dx>bCbW^Y按&sCm# ~; Fرc/n1q1_txw {g]=$G+@v:=hm;9 b![:%/r' ]0MQRoa`~Rۼnvm k>۰ B4K~[&MXӦMC{VD;ҝ5 $oHNR xb{t[W?[(Lşemϯ:;#mF%ן-A;3{1Сۿ2?]Y- ~8&Xc=֮ 'Fwnh={Oo\$:K|VUnSq2xxܰa-\ЍgsiZ Ή:Yݭm}:y G 67|?3ɷ=֨4A̋gݶq ۰z_6ZfӦM }շo_5j)s֟' W7l*wqMv:ɖC4?1A@o!-%*VrqQGe•q,A˨~GCސHcyS&aK媃[.lqm$ 8W~hۨy+k׭ҳu?rwk_TN}x.[:v͓U6@q78vu[l{{F*:oS&رc{ݸq/}G IDATcC bxSl|AywCjCYZ\^)+k-z#8g)CLbwn]S'Dʺ@E'ֱd᪮߿W޾wmdgX,1ZE,k1 oꗘ[.UKmР)7ٷ#Vd+.hn~Y¯fMˀupvې tuJdJݾmKn+1@n}) KzD: M>~YRf%xp VRnW2)?@ lE>s'[ޮߎ}[tH @D@̷ gۊͱ] JD z~YMt@ @ s fX zۤI\+Gy[M@/Rvqƹ[ݒ],e#Ϝ9N:@7سAZ@J_^u3z6z=vg Pw9lٶ|l'^p_I{E&!sܽ{R+GHl@@ @MA#! ?#~ӟVJpuо$8_{T o*,A$wޱuk׆:Ь!sqPVzjuh!@ K8Awi7{ΛoJ$/ s D"˼@t>eh {z̪>' 2dlEB9l´r ef o` @(`n/ʦg֯w֪mioikf R2Yx-7(;w4~aa_m dF8QW4x&) !@ A"(mg߾}G/l| xdש{;!AV- zsnjc͚5Kў6 @("LҖom:c{g믿۶[uoN@@p lX t%_W,֭[ۑGiGu}ָqv @@9 @A75)(Q~ξᥗ^۷ԆLFA 8 d42t奻mb<իg~t֭[F ?cz%C_˲_Gyf͚ڪQ SgЪc  ;yX0}ϝ&O]v I=#lСVzwBM@ xS| NQQ_|}WL 뭆PQl@}l]]=ܞ_2t?qרY9Ɯr8K!T&;w߄ݼl=BhٲeH۫̕W }A #rCF@xc%E+ޝ;:h#7xg.×@ hA9e.3V,m+ܽ{1c,777G@ 4ICK@U@Ȭݻ|M뮻lԩul#N۶XިrPF~DzU=jԴ݅uZ캖c-*~"!w'δJRV-ׯsGN*=fv@2o4&ƃb][|=6~xwѷFtyU^=zDA"o۲amY6[]yն=}{4l]ȪS$֩k[uBΩkY9zӠ<ɮ[J.;߻gm\֯\jV-+z^6\jk-.kzsٳ 0$R @og@ &.M֭[mܸqdkФmgZz ll#YGz#;;ׯ_Q^{Y3l}ٮ]>mf;w4y=~ǎ5jXEbNmxpѣ~#q7?L,[69V­'jMkW:߿ǧF֩sgq@ĕ+Q[nC @&` QA 4z-{衇?wY+~ێ[>EݽkZ4j|[{@ݺq]lZnmZܦMʪR=Wϛ7ov ߴi_֭[x(Wo 7ld9=a[Iݽ˴\=oh[7٦lӚN]2bg~nk%z۹sgK @H-5^D A7XT2ӦMsBK/!U:lO>z|{)K`&-\5;Xp]tNNu:vX}.6FÏ!?u88Vz p[8E/]v cǎ5-F @ h&J{@` f($fΜg}ֶmZ`;8'־G,kJ\͛?v٢b{F޹Еƍ'! @ P/3H[i;tvz%~駡F[ـÏcb-;tU9 ݳY-fvX0Xn5l ѣGR) @*oeg@@4쨊 s=Yۮz>ƚj_Q{WXx͕d[8+땬,xj]FoìS!֮kQ+3U7YYllaa t@wHQ%J@ @Ex @@Mۡc PXXhSLqBkSN-֚tvZn}]~֬My3,@f￶Kj߾}nAnΝ+@M!@ opƂH @M0PKKk֬~y~W6o޼CۮUn֬mGkؤ5hk 6:u$ +چlWyݪ0uzߚ5k8 @ [' P)x+3;I36mr_~{7FelkְI4hdul5jֲ5k5jZZ^5p^۹vnϷkG~=߸zm^ڔozi} zfBw @ D'Җo-d-rٽӦM+VelǎIEֽ{wѣ{ѥ@ @t>?Ҙo.] ͛7}ub!w׮]%wvXڵ~V^=u&M( @ /3H[i;t  @ x @@Mۡc @  2 t'#L @ @ 9-޴Z:@ @L@ m 1@ @x@@M @ Җo- @ @^ xvhѱjժ8 A@ [ՙL@`zx.)J4Z**<@-7Ro R J˰N'ʚ\ȰOzT!5A&| [8F@笜?j3c @ E @h̯ v8)e ]< -CF-@-7R'@@ @E@˭e˖>6}_)6n VZoc @ @)@7!%[#å8xϮw[d*q OxTMP[Dd q$o ̓e7(_MPxċr ҸTXD/@ P)o0>8.h7Aa堌Ox <xvAj0^@ )(5(A9<NP'(5 o 8x#0_Kת" zd.('A꿛Se? |8a&(| //oDB-5 3X ''A XS2]~7h<xKx((LP̿.D>| oPA:@EMo$$4 " P&YP!|A1(?C&4"DE JWˏҠWtN l@$ѧ\a5($Z /ocI#AaLՠfD |8!1(5(h2.AEE 0SzP)8h J'AÛA8+4W ""O7cPqfgH GZyS pPqPx+w 7E!oS# (G\H%h 2b $@@ xcD@] `I%T-b<9jxSmĪ$^*N!@ @ To @ @ *![%) @ @ @8CZ @ @ P%x;; @ @ PqgH  @ @o`g @ @*N i @ @@@ @ @@ V!-@ @ @UB(۷֭[FWvmkذakӧO5kX͚5m۶ֹsg;蠃"o"*$k.:uo (6_߇m,'':ud-[B:Ӎ7ݻݠAήqyYt3g-^4_UtLСC@Uɒ%~kѢjԨ`͏E|YkfH)((֮]뎗M4k0AMA#d@I#p]wc9ƮӦMnXѼys_jM6-VQNi~bw^O+&Lqƕ`7x`[) M <-,,N;Ͷl[nņ^,CQΝ;?tAǴnɲBLta.ssE?O6p gf􋻳d2_Œwߵ|0b/B;Ӌ%'p|ͨ"&.mCH%|W;,Z9cwZW=\۷o{߻wog IDAT ʊ+{eI|2{⭟J숵O۵kgO#5ʽ׿e{}%؉'Xmݖ2,\0):5Q'gy E L'۱cN/&</؉c44nݺ ckiCSOWgZ9s{[nO>?N:~_;W7 2y96cVR:|M,٤ q4Lt롇.]͛7% W_f 1@|#QW ;ήPUH؝?~F>Tj;{*),"^y3❏:)KnoWf>;Ay Xs}Ng:2O1 G_uU6c 1b|bgKp1g hç~^yU{֜x̼ 㝯I,JCw]\Ų#8]#/ҝkN}ǝ +WY̯x㧟~j?0^uSN~|ʗR c"ڥz@YTq\v_=2O ?fzvEsNg# gxzb]Unz:3o3x2xd2_c D 㧎Z_x{Bj- 8:oX &0}twYE+="'=z?\/lႬז)S⪏s){,$JM| K f=}|{%@<Eyy뽄 kx`υErJ[j{7n@xsssMy._iӦ۠͌`|q4Y`ΏG^]8ӹQ.-]k0CM"Z@#ek׫ݒY~by+^ݒk}s:MoF\+t-t;31#]/2objWY9'r| 0Rp4Z @ tqFkժuСخo2G:Δeg>3vY4Σ7O@

;M6N kҤl֬Yv嗻ב,={9?`2!|U{:e3Z0gW6 ~&&k/s|e$oa %N*1ヒ>oNt,\8Ӣ'ɜVWo4W_usaIIZw_zt=s91dr|SN(C2[uK7O ]}x_Äk2F"cDءO0UӦM]vիC5w衇9眐_8P]V6wr D#Ξy7O_/܅hE$x Bn _p֭n+LD(kNw-ÝhʎT7p#9?QN3_}>|Mx2_.Dp|M(dl;t@˺]ԭ[׉yMwWCY@"b-^g 'JDnz_֟8q/>N?^f4OCN%^wM7;%*ref+K..ݕSV[6y̙Sl͛;\mY@>n坯>8Pfo2(!kqw ׌,o26 T$ b… ݊֨Q#g 7՗Pz+Vp+*7Z~*2$#ZxmY`u]ܠ@ <ҳ-[-Z$s;!g}uYVZl6eʔbK~gF*Ν;|xJ9cI @0^& @%0w\K՗8xyk;XN(wL &4ivm.c=։2sL+J1cW^ye:o=n{7ѣCu{Gy]{)DP!@bU< @  ȇnDO9uT'zپ-Zgy&!Ay>{'TIbDU,].{eݞ{2kWXS&2|9>Ν;I'd7n>owIlL @1@ @ ;$ʩ\|v)J=cNv'z{HeJl|7mO>/-Yf͚U,dy#K?3 "K EHp߯_?ʕ+]<{U3׮]kV"sZ\L5ruǍg&LpsBcǎNA ^ @! P Wv/qB`ieѢENV+V.={b[;fw;w^׿e۶ms%@t}і Gb~h_~mݺյ۵kW;l ,['|bJH5Bgj(8>H=W¸l۱c$VF_̗_7|u]gGqDv @@ nH @ $w1~_8T]=SžL 'O.&^~.VWr`x['/9s愪4n$Jp/7XcezaÆNX c%m۫W/_(;v]z}ic8 SO=."2?ץhEZO{!#ꫯ6O~_sCYU$!hK@@@Mۡc @I!࿍?\P Zoeu]{eLT %;ev~W&BzN AӽM7 U {J1cW\qE(T*p?YtN}ԶSA $ׯ_}y {|6m۶m[yٖ5[,Tes[;}%>N o4Y;餓p,6&S'{&^ .!SV_45e56~!yxWX ,Td H/r{>޽}:a˨R x3~  @ f;}"fVnڴɖ,YRhެ&)˗.]Z, oYF>{;P7o^ƌn:)k߻VOczʐU(2^EIJ+P 7A/]-2c6 2" &li*4?cf<%~kzC TVh2wcY@2oF? @_+˻V%\bk֬qW^ڟ^eC] 7`rU զ}xۑ{;, TO}aH+1K/5WϳW^J<رc\m+~ng}vH'|b֕UW]e3fpna[;H0?}t> mϷ t$J @Co˪T߳_8OłWN:֥KڣGS3z~˂A"lx{zV6ՀDM j"ˊ.WvjWYb/ѷb--<c<:묐'oi6 ޴R:@ ~гdS|޽ H@*q4<+Uٰ|uNҾmQ_ ^Lxկ~K[,џI־eY-i޽/_m+tĉn:Ç{l?y?7|䇫_MH\-q]bHˍ;֮Pbs/76 @ ] /@  hU&_ ߛ?Y/UWIҧzʽ;ѫꫯ:*v#2uO8ޗ_~iC.͛۵^k]bNׯ_v+矷f͚~a\+{WXڵm.e%oxsyF/zy;g#Gs^Zοm\Gm/.%CXmIDATẗ́g 3k@ / @7G}Fʎ ocܹv饗[cٯ2aׯolSo{/U"\ZQ&#?aÆn/}/ehpZKYEN;cv~_e we ek7.=oGQG,Vp~4C<k.;3B Ӊez5i&7&^6K ZCwke^{g7|խ[7x(+?/fo\~X|r-)B @iI7-NA @ X;c;w]ڀ*M@ $oa @ @ $[ @ @ @M L @ @ Px+6 @ @ @ IS @ @*oef_ @ @H70i  @ @@e/StݴIENDB`intake-0.6.5/docs/source/_static/images/terminal.png000066400000000000000000000060221416666122400224510ustar00rootroot00000000000000PNG  IHDRxsBIT|d pHYs  tEXtSoftwarewww.inkscape.org< IDATxͫuϜ'#ʞ 4)͆{pF-Z\u Z-ZEeAA" gR2L0$řq{g>|1y93&["ۓIr8$^xIۓ.`FJxƏݕ#.`F0Ew>ĄIrwD\"ɑчmx8{9fHrC'p$>8EFbDeף1gY$iƿi`foJόh3%Y_qz "$"R"J(%R"J(%R"J(%Tcv;N@)DPJ@)DPJ@)DPJ@)DPJ@)Dj?E@DPJ@)DPJ@)DPJ@)DPJ@)DP1^3ɝ 'R"J(%R"J(%R"JE# Z"J(%R"J(%R"J(%R"J(%R"J(%R"J(%R"J(PJ@)Dj?D@DPJ@)DPJ@)DPJ@)DP-~d1ɝ(X&ye#2<Aӓg;-Mp4 x& /a{7vixc௒}.'m!3~ -I.kYgKrD 6ZLl?4 6W?inl?8me2(c2(c2(c2mh@e?1Pim?1P@e?1P@e?1P@e?1P@e?1P@e?1P@e?iLs`s(c2(c2(c2(cLm?1P@e?1P@e?1P@e?1Pm:me2(c2(c2(c2(c2(c2(c2Mx?hc2m4 62(e3pƏ]䱌f33na60Ew> N$@c"ɑчX3p?fHrC<I}50p{1?laчmڟ=o]䙌q35_A70Eg&Dw/|5-3eU?tswfgCOpaj#vnn|7$??.˵D"0I?.5$W攭eL$oLrx]'ܙE0IMrG2GGg.Wd&=I$oNru8G&/ok ?؆uiƟ\_6B ($B ($B ($`I+}UF`F?3:*`$}Vn}ܓ{Gv'9|(qO>чXgˎ$HSInI'|3ɣIޛ]InN3?oY`cHr(uIOruˆžHr,S/ya !IENDB`intake-0.6.5/docs/source/api.rst000066400000000000000000000001621416666122400165370ustar00rootroot00000000000000API === Auto-generated reference .. toctree:: :maxdepth: 1 api_user.rst api_base.rst api_other.rst intake-0.6.5/docs/source/api_base.rst000066400000000000000000000025201416666122400175310ustar00rootroot00000000000000Base Classes ------------ This is a reference API class listing, useful mainly for developers. .. autosummary:: intake.source.base.DataSourceBase intake.source.base.DataSource intake.source.base.PatternMixin intake.source.base.AliasSource intake.container.base.RemoteSource intake.catalog.Catalog intake.catalog.entry.CatalogEntry intake.catalog.local.UserParameter intake.auth.base.BaseAuth intake.source.cache.BaseCache intake.source.base.Schema intake.container.persist.PersistStore .. autoclass:: intake.source.base.DataSource :members: .. attribute:: plot Accessor for HVPlot methods. See :doc:`plotting` for more details. .. autoclass:: intake.catalog.Catalog :members: .. autoclass:: intake.catalog.entry.CatalogEntry :members: .. autoclass:: intake.container.base.RemoteSource :members: .. autoclass:: intake.catalog.local.UserParameter :members: .. autoclass:: intake.auth.base.BaseAuth :members: .. autoclass:: intake.source.cache.BaseCache :members: .. autoclass:: intake.source.base.AliasSource :members: __init__, _get_source .. autoclass:: intake.source.base.PatternMixin :members: .. autoclass:: intake.source.base.Schema :members: .. autoclass:: intake.container.persist.PersistStore :members: add, get_tok, remove, backtrack, refresh, needs_refresh intake-0.6.5/docs/source/api_other.rst000066400000000000000000000062631416666122400177500ustar00rootroot00000000000000Other Classes ============= Cache Types ----------- .. autosummary:: intake.source.cache.FileCache intake.source.cache.DirCache intake.source.cache.CompressedCache intake.source.cache.DATCache intake.source.cache.CacheMetadata .. autoclass:: intake.source.cache.FileCache :members: .. autoclass:: intake.source.cache.DirCache :members: .. autoclass:: intake.source.cache.CompressedCache :members: .. autoclass:: intake.source.cache.DATCache :members: .. autoclass:: intake.source.cache.CacheMetadata :members: Auth ---- .. autosummary:: intake.auth.secret.SecretAuth intake.auth.secret.SecretClientAuth .. autoclass:: intake.auth.secret.SecretAuth :members: .. autoclass:: intake.auth.secret.SecretClientAuth :members: Containers ---------- .. autosummary:: intake.container.dataframe.RemoteDataFrame intake.container.ndarray.RemoteArray intake.container.semistructured.RemoteSequenceSource .. autoclass:: intake.container.dataframe.RemoteDataFrame :members: .. autoclass:: intake.container.ndarray.RemoteArray :members: .. autoclass:: intake.container.semistructured.RemoteSequenceSource :members: Server ------ .. autosummary:: intake.cli.server.server.IntakeServer intake.cli.server.server.ServerInfoHandler intake.cli.server.server.SourceCache intake.cli.server.server.ServerSourceHandler .. autoclass:: intake.cli.server.server.IntakeServer :members: .. autoclass:: intake.cli.server.server.ServerInfoHandler :members: .. autoclass:: intake.cli.server.server.SourceCache :members: .. autoclass:: intake.cli.server.server.ServerSourceHandler :members: GUI --- .. autosummary:: intake.interface.base.Base intake.interface.base.BaseSelector intake.interface.base.BaseView intake.interface.catalog.add.FileSelector intake.interface.catalog.add.URLSelector intake.interface.catalog.add.CatAdder intake.interface.catalog.gui.CatGUI intake.interface.catalog.search.Search intake.interface.catalog.search.SearchInputs intake.interface.catalog.select.CatSelector intake.interface.source.defined_plots.Plots intake.interface.source.gui.SourceGUI intake.interface.source.description.Description intake.interface.source.select.SourceSelector .. autoclass:: intake.interface.base.Base :members: .. autoclass:: intake.interface.base.BaseSelector :members: .. autoclass:: intake.interface.base.BaseView :members: .. autoclass:: intake.interface.catalog.add.FileSelector :members: .. autoclass:: intake.interface.catalog.add.URLSelector :members: .. autoclass:: intake.interface.catalog.add.CatAdder :members: .. autoclass:: intake.interface.catalog.gui.CatGUI :members: .. autoclass:: intake.interface.catalog.search.Search :members: .. autoclass:: intake.interface.catalog.search.SearchInputs :members: .. autoclass:: intake.interface.catalog.select.CatSelector :members: .. autoclass:: intake.interface.source.defined_plots.Plots :members: .. autoclass:: intake.interface.source.gui.SourceGUI :members: .. autoclass:: intake.interface.source.description.Description :members: .. autoclass:: intake.interface.source.select.SourceSelector :members: intake-0.6.5/docs/source/api_user.rst000066400000000000000000000044571416666122400176100ustar00rootroot00000000000000End User -------- These are reference class and function definitions likely to be useful to everyone. .. autosummary:: intake.open_catalog intake.registry intake.register_driver intake.unregister_driver intake.upload intake.open_ intake.source.csv.CSVSource intake.source.textfiles.TextFilesSource intake.source.jsonfiles.JSONFileSource intake.source.jsonfiles.JSONLinesFileSource intake.source.npy.NPySource intake.source.zarr.ZarrArraySource intake.catalog.local.YAMLFileCatalog intake.catalog.local.YAMLFilesCatalog intake.catalog.zarr.ZarrGroupCatalog intake.interface.gui.GUI .. autofunction:: intake.open_catalog .. attribute:: intake.registry Mapping from plugin names to the DataSource classes that implement them. These are the names that should appear in the ``driver:`` key of each source definition in a catalog. See :doc:`plugin-directory` for more details. .. attribute:: intake.open_ Set of functions, one for each plugin, for direct opening of a data source. The names are derived from the names of the plugins in the registry at import time. .. autofunction:: intake.upload .. autoclass:: intake.interface.gui.GUI :members: Source classes '''''''''''''' .. autoclass:: intake.source.csv.CSVSource :members: __init__, discover, read_partition, read, to_dask, persist, export .. autoclass:: intake.source.zarr.ZarrArraySource :members: __init__, discover, read_partition, read, to_dask, persist, export .. autoclass:: intake.source.textfiles.TextFilesSource :members: __init__, discover, read_partition, read, to_dask, persist, export .. autoclass:: intake.source.jsonfiles.JSONFileSource :members: __init__, discover, read, persist, export .. autoclass:: intake.source.jsonfiles.JSONLinesFileSource :members: __init__, discover, read, head, persist, export .. autoclass:: intake.source.npy.NPySource :members: __init__, discover, read_partition, read, to_dask, persist, export .. autoclass:: intake.catalog.local.YAMLFileCatalog :members: __init__, reload, search, walk, persist, export .. autoclass:: intake.catalog.local.YAMLFilesCatalog :members: __init__, reload, search, walk, persist, export .. autoclass:: intake.catalog.zarr.ZarrGroupCatalog :members: __init__, reload, search, walk, persist, export, to_zarr intake-0.6.5/docs/source/auth-plugins.rst000066400000000000000000000114541416666122400204140ustar00rootroot00000000000000.. _authplugins: Authorization Plugins ===================== Authorization plugins are classes that can be used to customize access permissions to the Intake catalog server. The Intake server and client communicate over HTTP, so when security is a concern, the *most important* step to take is to put a TLS-enabled reverse proxy (like ``nginx``) in front of the Intake server to encrypt all communication. Whether or not the connection is encrypted, the Intake server by default allows all clients to list the full catalog, and open any of the entries. For many use cases, this is sufficient, but if the visibility of catalog entries needs to be limited based on some criteria, a server- (and/or client-) side authorization plugin can be used. Server Side ----------- .. highlight: yaml An Intake server can have exactly one server side plugin enabled at startup. The plugin is activated using the Intake configuration file, which lists the class name and the keyword arguments it takes. For example, the "shared secret" plugin would be configured this way:: auth: cls: intake.auth.secret.SecretAuth kwargs: secret: A_SECRET_HASH This plugin is very simplistic, and exists as a demonstration of how an auth plugin might function for more realistic scenarios. .. highlight: python For more information about configuring the Intake server, see :ref:`configuration`. The server auth plugin has two methods. The ``allow_connect()`` method decides whether to allow a client to make any request to the server at all, and the ``allow_access()`` method decides whether the client is allowed to see a particular catalog entry in the listing and whether they are allowed to open that data source. Note that for catalog entries which allow direct access to the data (via network or shared filesystem), the Intake authorization plugins have no impact on the visibility of the underlying data, only the entries in the catalog. The actual implementation of a plugin is very short. Here is a simplified version of the shared secret auth plugin:: class SecretAuth(BaseAuth): def __init__(self, secret, key='intake-secret'): self.secret = secret self.key = key def allow_connect(self, header): try: return self.get_case_insensitive(header, self.key, '') \ == self.secret except: return False def allow_access(self, header, source, catalog): try: return self.get_case_insensitive(header, self.key, '') \ == self.secret except: return False The `header` argument is a dictionary of HTTP headers that were present in the client request. In this case, the plugin is looking for a special ``intake-secret`` header which contains the shared secret token. Because HTTP header names are not case sensitive, the ``BaseAuth`` class provides a helper method ``get_case_insensitive()``, which will match dictionary keys in a case-insensitive way. The ``allow_access`` method also takes two additional arguments. The ``source`` argument is the instance of ``LocalCatalogEntry`` for the data source being checked. Most commonly auth plugins will want to inspect the ``_metadata`` dictionary for information used to make the authorization decision. Note that it is entirely up to the plugin author to decide what sections they want to require in the metadata section. The ``catalog`` argument is the instance of ``Catalog`` that contains the catalog entry. Typically, plugins will want to use information from the ``catalog.metadata`` dictionary to control global defaults, although this is also up to the plugin. Client Side ----------- Although server side auth plugins can function entirely independently, some authorization schemes will require the client to add special HTTP headers for the server to look for. To facilitate this, the Catalog constructor accepts an optional ``auth`` parameter with an instance of a client auth plugin class. The corresponding client plugin for the shared secret use case describe above looks like:: class SecretClientAuth(BaseClientAuth): def __init__(self, secret, key='intake-secret'): self.secret = secret self.key = key def get_headers(self): return {self.key: self.secret} It defines a single method, ``get_headers()``, which is called to get a dictionary of additional headers to add to the HTTP request to the catalog server. To use this plugin, we would do the following:: import intake from intake.auth.secret import SecretClientAuth auth = SecretClientAuth('A_SECRET_HASH') cat = intake.Catalog('http://example.com:5000', auth=auth) Now all requests made to the remote catalog will contain the ``intake-secret`` header. intake-0.6.5/docs/source/catalog.rst000066400000000000000000000646651416666122400174220ustar00rootroot00000000000000Catalogs ======== Data catalogs provide an abstraction that allows you to externally define, and optionally share, descriptions of datasets, called *catalog entries*. A catalog entry for a dataset includes information like: * The name of the Intake driver that can load the data * Arguments to the ``__init__()`` method of the driver * Metadata provided by the catalog author (such as field descriptions and types, or data provenance) In addition, Intake allows the arguments to data sources to be templated, with the variables explicitly expressed as "user parameters". The given arguments are rendered using ``jinja2``, the values of named user parameterss, and any overrides. The parameters are also offer validation of the allowed types and values, for both the template values and the final arguments passed to the data source. The parameters are named and described, to indicate to the user what they are for. This kind of structure can be used to, for example, choose between two parts of a given data source, like "latest" and "stable", see the `entry1_part` entry in the example below. The user of the catalog can always override any template or argument value at the time that they access a give source. The Catalog class ----------------- In Intake, a ``Catalog`` instance is an object with one or more named entries. The entries might be read from a static file (e.g., YAML, see the next section), from an Intake server or from any other data service that has a driver. Drivers which create catalogs are ordinary DataSource classes, except that they have the container type "catalog", and do not return data products via the ``read()`` method. For example, you might choose to instantiate the base class and fill in some entries explicitly in your code .. code-block:: python from intake.catalog import Catalog from intake.catalog.local import LocalCatalogEntry mycat = Catalog.from_dict({ 'source1': LocalCatalogEntry(name, description, driver, args=...), ... }) Alternatively, subclasses of ``Catalog`` can define how entries are created from whichever file format or service they interact with, examples including ``RemoteCatalog`` and `SQLCatalog`_. These generate entries based on their respective targets; some provide advanced search capabilities executed on the server. .. _SQLCatalog: https://intake-sql.readthedocs.io/en/latest/api.html#intake_sql.SQLCatalog YAML Format ----------- Intake catalogs can most simply be described with YAML files. This is very common in the tutorials and this documentation, because it simple to understand, but demonstrate the many features of Intake. Note that YAML files are also the easiest way to share a catalog, simply by copying to a publicly-available location such as a cloud storage bucket. Here is an example: .. code-block:: yaml metadata: version: 1 parameters: file_name: type: str description: default file name for child entries default: example_file_name sources: example: description: test driver: random args: {} entry1_full: description: entry1 full metadata: foo: 'bar' bar: [1, 2, 3] driver: csv args: # passed to the open() method urlpath: '{{ CATALOG_DIR }}/entry1_*.csv' entry1_part: description: entry1 part parameters: # User parameters part: description: section of the data type: str default: "stable" allowed: ["latest", "stable"] driver: csv args: urlpath: '{{ CATALOG_DIR }}/entry1_{{ part }}.csv' entry2: description: entry2 driver: csv args: # file_name parameter will be inherited from file-level parameters, so will # default to "example_file_name" urlpath: '{{ CATALOG_DIR }}/entry2/{{ file_name }}.csv` Metadata '''''''' Arbitrary extra descriptive information can go into the metadata section. Some fields will be claimed for internal use and some fields may be restricted to local reading; but for now the only field that is expected is ``version``, which will be updated when a breaking change is made to the file format. Any catalog will have ``.metadata`` and ``.version`` attributes available. Note that each source also has its own metadata. The metadata section an also contain ``parameters`` which will be inherited by the sources in the file (note that these sources can augment these parameters, or override them with their own parameters). Extra drivers ''''''''''''' The ``driver:`` entry of a data source specification can be a driver name, as has been shown in the examples so far. It can also be an absolute class path to use for the data source, in which case there will be no ambiguity about how to load the data. That is the the preferred way to be explicit, when the driver name alone is not enough (see `Driver Selection`_, below). .. code-block:: yaml plugins: source: - module: intake.catalog.tests.example1_source sources: ... However, you do not, in general, need to do this, since the ``driver:`` field of each source can also explicitly refer to the plugin class. Sources ''''''' The majority of a catalog file is composed of data sources, which are named data sets that can be loaded for the user. Catalog authors describe the contents of data set, how to load it, and optionally offer some customization of the returned data. Each data source has several attributes: - ``name``: The canonical name of the source. Best practice is to compose source names from valid Python identifiers. This allows Intake to support things like tab completion of data source names on catalog objects. For example, ``monthly_downloads`` is a good source name. - ``description``: Human readable description of the source. To help catalog browsing tools, the description should be Markdown. - ``driver``: Name of the Intake :term:`Driver` to use with this source. Must either already be installed in the current Python environment (i.e. with conda or pip) or loaded in the ``plugin`` section of the file. Can be a simple driver name like "csv" or the full path to the implementation class like "package.module.Class". - ``args``: Keyword arguments to the init method of the driver. Arguments may use template expansion. - ``metadata``: Any metadata keys that should be attached to the data source when opened. These will be supplemented by additional metadata provided by the driver. Catalog authors can use whatever key names they would like, with the exception that keys starting with a leading underscore are reserved for future internal use by Intake. - ``direct_access``: Control whether the data is directly accessed by the client, or proxied through a catalog server. See :ref:`remote-catalogs` for more details. - ``parameters``: A dictionary of data source parameters. See below for more details. Caching Source Files Locally '''''''''''''''''''''''''''' *This method of defining the cache with a dedicated block is deprecated, see the Remote Access section, below* To enable caching on the first read of remote data source files, add the ``cache`` section with the following attributes: - ``argkey``: The args section key which contains the URL(s) of the data to be cached. - ``type``: One of the keys in the cache registry [`intake.source.cache.registry`], referring to an implementation of caching behaviour. The default is "file" for the caching of one or more files. Example: .. code-block:: yaml test_cache: description: cache a csv file from the local filesystem driver: csv cache: - argkey: urlpath type: file args: urlpath: '{{ CATALOG_DIR }}/cache_data/states.csv' The ``cache_dir`` defaults to ``~/.intake/cache``, and can be specified in the intake configuration file or ``INTAKE_CACHE_DIR`` environment variable, or at runtime using the ``"cache_dir"`` key of the configuration. The special value ``"catdir"`` implies that cached files will appear in the same directory as the catalog file in which the data source is defined, within a directory named "intake_cache". These will not appear in the cache usage reported by the CLI. Optionally, the cache section can have a ``regex`` attribute, that modifies the path of the cache on the disk. By default, the cache path is made by concatenating ``cache_dir``, dataset name, hash of the url, and the url itself (without the protocol). ``regex`` attribute allows to remove part of the url (the matching part). Caching can be disabled at runtime for all sources regardless of the catalog specification:: from intake.config import conf conf['cache_disabled'] = True By default, progress bars are shown during downloads if the package ``tqdm`` is available, but this can be disabled (e.g., for consoles that don't support complex text) with conf['cache_download_progress'] = False or, equivalently, the environment parameter ``INTAKE_CACHE_PROGRESS``. The "types" of caching are that supported are listed in ``intake.source.cache.registry``, see the docstrings of each for specific parameters that should appear in the cache block. It is possible to work with compressed source files by setting ``type: compression`` in the cache specification. By default the compression type is inferred from the file extension, otherwise it can be set by assigning the ``decomp`` variable to any of the options listed in ``intake.source.decompress.decomp``. This will extract all the file(s) in the compressed file referenced by urlpath and store them in the cache directory. In cases where miscellaneous files are present in the compressed file, a ``regex_filter`` parameter can be used. Only the extracted filenames that match the pattern will be loaded. The cache path is appended to the filename so it is necessary to include a wildcard to the beginning of the pattern. Example: .. code-block:: yaml test_compressed: driver: csv args: urlpath: 'compressed_file.tar.gz' cache: - type: compressed decomp: tgz argkey: urlpath regex_filter: '.*data.csv' Templating ---------- Intake catalog files support Jinja2 templating for driver arguments. Any occurrence of a substring like ``{{field}}`` will be replaced by the value of the user parameters with that same name, or the value explicitly provided by the user. For how to specify these user parameters, see the next section. Some additional values are available for templating. The following is always available: ``CATALOG_DIR``, the full path to the directory containing the YAML catalog file. This is especially useful for constructing paths relative to the catalog directory to locate data files and custom drivers. For example, the search for CSV files for the two "entry1" blocks, above, will happen in the same directory as where the catalog file was found. The following functions `may` be available. Since these execute code, the user of a catalog may decide whether they trust those functions or not. - ``env("USER")``: look in the set environment variables for the named variable - ``client_env("USER")``: exactly the same, except that when using a client-server topology, the value will come from the environment of the client. - ``shell("get_login thisuser -t")``: execute the command, and use the output as the value. The output will be trimmed of any trailing whitespace. - ``client_shell("get_login thisuser -t")``: exactly the same, except that when using a client-server topology, the value will come from the system of the client. The reason for the "client" versions of the functions is to prevent leakage of potentially sensitive information between client and server by controlling where lookups happen. When working without a server, only the ones without "client" are used. An example: .. code-block:: yaml sources: personal_source: description: This source needs your username args: url: "http://server:port/user/{{env(USER)}}" Here, if the user is named "blogs", the ``url`` argument will resolve to ``"http://server:port/user/blogs"``; if the environment variable is not defined, it will resolve to ``"http://server:port/user/"`` .. _paramdefs: Parameter Definition -------------------- Source parameters ''''''''''''''''' A source definition can contain a "parameters" block. Expressed in YAML, a parameter may look as follows: .. code-block:: yaml parameters: name: description: name to use # human-readable text for what this parameter means type: str # one of bool, str, int, float, list[str | int | float], datetime, mlist default: normal # optional, value to assume if user does not override allowed: ["normal", "strange"] # optional, list of values that are OK, for validation min: "n" # optional, minimum allowed, for validation max: "t" # optional, maximum allowed, for validation A parameter, not to be confused with an :term:`argument`, can have one of two uses: - to provide values for variables to be used in templating the arguments. *If* the pattern "{{name}}" exists in any of the source arguments, it will be replaced by the value of the parameter. If the user provides a value (e.g., ``source = cat.entry(name='something")``), that will be used, otherwise the default value. If there is no user input or default, the empty value appropriate for type is used. The ``default`` field allows for the same function expansion as listed for arguments, above. - *If* an argument with the same name as the parameter exists, its value, after any templating, will be coerced to the given type of the parameter and validated against the allowed/max/min. It is therefore possible to use the string templating system (e.g., to get a value from the environment), but pass the final value as, for example, an integer. It makes no sense to provide a default for this case (the argument already has a value), but providing a default will not raise an exception. - the "mlist" type is special: it means that the input must be a list, whose values are chosen from the allowed list. This is the only type where the parameter value is not the same type as the allowed list's values, e.g., if a list of str is set for ``allowed``, a list of str must also be the final value. Note: the ``datetime`` type accepts multiple values: Python datetime, ISO8601 string, Unix timestamp int, "now" and "today". Catalog parameters '''''''''''''''''' You can also define user parameters at the catalog level. This applies the parameter to all entries within that catalog, without having to define it for each and every entry. Furthermore, catalogs dested within the catalog will also inherit the parameter(s). For example, with the following spec .. code-block:: yaml metadata: version: 1 parameters: bucket: type: str description: description default: test_bucket sources: param_source: driver: parquet description: description args: urlpath: s3://{{bucket}}/file.parquet subcat: driver: yaml_file path: "{{CATALOG_DIR}}/other.yaml" If ``cat`` is the corresponsing catalog instance, the URL of source ``cat.param_source`` will evaluate to "s3://test_bucket/file.parquet" by default, but the parameter can be overridden with ``cat.param_source(bucket="other_bucket")``. Also, any entries of ``subcat``, another catalog referenced from here, would also have the "bucket"-named parameter attached to all sources. Of course, those sources do no need to make use of the parameter. To change the default, we can gerenate a new instance .. code-block:: python cat2 = cat(bucket="production") # sets default value of "bucket" for cat2 subcat = cat.subcat(bucket="production") # sets default only for the nested catalog Of course, in these situations you can still override the value of the parameter for any source, or pass explicit values for the arguments of the source, as normal. For cases where the catalog is not defined in a YAML spec, the argument ``user_parameters`` to the constructor takes the same form as ``parameters`` above: a dict of user parameters, either as ``UserParameter`` instances or as a dictionary spec for each one. Driver Selection ---------------- In some cases, it may be possible that multiple backends are capable of loading from the same data format or service. Sometimes, this may mean two drivers with unique names, or a single driver with a parameter to choose between the different backends. However, it is possible that multiple drivers for reading a particular type of data also share the same driver name: for example, both the intake-iris and the intake-xarray packages contain drivers with the name ``"netcdf"``, which are capable of reading the same files, but with different backends. Here we will describe the various possibilities of coping with this situation. Intake's plugin system makes it easy to encode such choices. It may be acceptable to use any driver which claims to handle that data type, or to give the option of which driver to use to the user, or it may be necessary to specify which precise driver(s) are appropriate for that particular data. Intake allows all of these possibilities, even if the backend drivers require extra arguments. Specifying a single driver explicitly, rather than using a generic name, would look like this: .. code-block:: yaml sources: example: description: test driver: package.module.PluginClass args: {} It is also possible to describe a list of drivers with the same syntax. The first one found will be the one used. Note that the class imports will only happen at data source instantiation, i.e., when the entry is selected from the catalog. .. code-block:: yaml sources: example: description: test driver: - package.module.PluginClass - another_package.PluginClass2 args: {} These alternative plugins can also be given data-source specific names, allowing the user to choose at load time with `driver=` as a parameter. Additional arguments may also be required for each option (which, as usual, may include user parameters); however, the same global arguments will be passed to all of the drivers listed. .. code-block:: yaml sources: example: description: test driver: first: class: package.module.PluginClass args: specific_thing: 9 second: class: another_package.PluginClass2 args: {} Remote Access ------------- (see also :ref:`remote_data` for the implementation details) Many drivers support reading directly from remote data sources such as HTTP, S3 or GCS. In these cases, the path to read from is usually given with a protocol prefix such as ``gcs://``. Additional dependencies will typically be required (``requests``, ``s3fs``, ``gcsfs``, etc.), any data package should specify these. Further parameters may be necessary for communicating with the storage backend and, by convention, the driver should take a parameter ``storage_options`` containing arguments to pass to the backend. Some remote backends may also make use of environment variables or config files to determine thier default behaviour. The special template variable "CATALOG_DIR" may be used to construct relative URLs in the arguments to a source. In such cases, if the filesystem used to load that catalog contained arguments, then the ``storage_options`` of that file system will be extracted and passed to the source. Therefore, all sources which can accept general URLs (beyond just local paths) must make sure to accept this argument. As an example of using ``storage_options``, the following two sources would allow for reading CSV data from S3 and GCS backends without authentication (anonymous access), respectively .. code-block:: yaml sources: s3_csv: driver: csv description: "Publicly accessible CSV data on S3; requires s3fs" args: urlpath: s3://bucket/path/*.csv storage_options: anon: true gcs_csv: driver: csv description: "Publicly accessible CSV data on GCS; requires gcsfs" args: urlpath: gcs://bucket/path/*.csv storage_options: token: "anon" .. _caching: Caching ''''''' URLs interpreted by ``fsspec`` offer `automatic caching`_. For example, to enable file-based caching for the first source above, you can do: .. code-block:: yaml sources: s3_csv: driver: csv description: "Publicly accessible CSV data on S3; requires s3fs" args: urlpath: simplecache::s3://bucket/path/*.csv storage_options: s3: anon: true Here we have added the "simplecache" to the URL (this caching backend does not store any metadata about the cached file) and specified that the "anon" parameter is meant as an argument to s3, not to the caching mechanism. As each file in s3 is accessed, it will first be downloaded and then the local version used instead. .. _automatic caching: https://filesystem-spec.readthedocs.io/en/latest/features.html#caching-files-locally You can tailor how the caching works. In particular the location of the local storage can be set with the ``cache_storage`` parameter (under the "simplecache" group of storage_options, of course) - otherwise they are stored in a temporary location only for the duration of the current python session. The cache location is particularly useful in conjunction with an environment variable, or relative to "{{CATALOG_DIR}}", wherever the catalog was loaded from. Please see the ``fsspec`` documentation for the full set of cache types and their various options. Local Catalogs -------------- A Catalog can be loaded from a YAML file on the local filesystem by creating a Catalog object: .. code-block:: python from intake import open_catalog cat = open_catalog('catalog.yaml') Then sources can be listed: .. code-block:: python list(cat) and data sources are loaded via their name: .. code-block:: python data = cat.entry_part1 and you can optionally configure new instances of the source to define user parameters or override arguments by calling either of: .. code-block:: python data = cat.entry_part1.configure_new(part='1') data = cat.entry_part1(part='1') # this is a convenience shorthand Intake also supports loading a catalog from all of the files ending in ``.yml`` and ``.yaml`` in a directory, or by using an explicit glob-string. Note that the URL provided may refer to a remote storage systems by passing a protocol specifier such as ``s3://``, ``gcs://``.: .. code-block:: python cat = open_catalog('/research/my_project/catalog.d/') Intake Catalog objects will automatically reload changes or new additions to catalog files and directories on disk. These changes will not affect already-opened data sources. Catalog Nesting --------------- A catalog is just another type of data source for Intake. For example, you can print a YAML specification corresponding to a catalog as follows: .. code-block:: python cat = intake.open_catalog('cat.yaml') print(cat.yaml()) results in: .. code-block:: yaml sources: cat: args: path: cat.yaml description: '' driver: intake.catalog.local.YAMLFileCatalog metadata: {} The `point` here, is that this can be included in another catalog. (It would, of course, be better to include a description and the full path of the catalog file here.) If the entry above were saved to another file, "root.yaml", and the original catalog contained an entry, ``data``, you could access it as: .. code-block:: python root = intake.open_catalog('root.yaml') root.cat.data It is, therefore, possible to build up a hierarchy of catalogs referencing each other. These can, of course, include remote URLs and indeed catalog sources other than simple files (all the tables on a SQL server, for instance). Plus, since the argument and parameter system also applies to entries such as the example above, it would be possible to give the user a runtime choice of multiple catalogs to pick between, or have this decision depend on an environment variable. .. _remote-catalogs: Server Catalogs --------------- Intake also includes a server which can share an Intake catalog over HTTP (or HTTPS with the help of a TLS-enabled reverse proxy). From the user perspective, remote catalogs function identically to local catalogs: .. code-block:: python cat = open_catalog('intake://catalog1:5000') list(cat) The difference is that operations on the catalog translate to requests sent to the catalog server. Catalog servers provide access to data sources in one of two modes: * Direct access: In this mode, the catalog server tells the client how to load the data, but the client uses its local drivers to make the connection. This requires the client has the required driver already installed *and* has direct access to the files or data servers that the driver will connect to. * Proxied access: In this mode, the catalog server uses its local drivers to open the data source and stream the data over the network to the client. The client does not need *any* special drivers to read the data, and can read data from files and data servers that it cannot access, as long as the catalog server has the required access. Whether a particular catalog entry supports direct or proxied access is determined by the ``direct_access`` option: - ``forbid`` (default): Force all clients to proxy data through the catalog server - ``allow``: If the client has the required driver, access the source directly, otherwise proxy the data through the catalog server. - ``force``: Force all clients to access the data directly. If they do not have the required driver, an exception will be raised. Note that when the client is loading a data source via direct access, the catalog server will need to send the driver arguments to the client. Do not include sensitive credentials in a data source that allows direct access. Client Authorization Plugins '''''''''''''''''''''''''''' Intake servers can check if clients are authorized to access the catalog as a whole, or individual catalog entries. Typically a matched pair of server-side plugin (called an "auth plugin") and a client-side plugin (called a "client auth plugin) need to be enabled for authorization checks to work. This feature is still in early development, but see module ``intake.auth.secret`` for a demonstration pair of server and client classes implementation auth via a shared secret. See :doc:`auth-plugins`. intake-0.6.5/docs/source/community.rst000066400000000000000000000051041416666122400200130ustar00rootroot00000000000000Community ========= Intake is used and developed by individuals at a variety of institutions. It is open source (`license `_) and sits within the broader Python numeric ecosystem commonly referred to as PyData or SciPy. Discussion ---------- Conversation happens in the following places: 1. **Usage questions** are directed to `Stack Overflow with the #intake tag`_. Intake developers monitor this tag. 2. **Bug reports and feature requests** are managed on the `GitHub issue tracker`_. Individual intake plugins are managed in separate repositories each with its own issue tracker. Please consult the :doc:`plugin-directory` for a list of available plugins. 3. **Chat** occurs on at `gitter.im/ContinuumIO/intake `_. Note that because gitter chat is not searchable by future users we discourage usage questions and bug reports on gitter and instead ask people to use Stack Overflow or GitHub. 4. **Monthly community meeting** happens the first Thursday of the month at 9:00 US Central Time. See ``_, with a reminder sent out on the gitter channel. Strictly informal chatter. .. _`Stack Overflow with the #intake tag`: https://stackoverflow.com/questions/tagged/intake .. _`GitHub issue tracker`: https://github.com/intake/intake/issues/ Asking for help --------------- We welcome usage questions and bug reports from all users, even those who are new to using the project. There are a few things you can do to improve the likelihood of quickly getting a good answer. 1. **Ask questions in the right place**: We strongly prefer the use of Stack Overflow or GitHub issues over Gitter chat. GitHub and Stack Overflow are more easily searchable by future users, and therefore is more efficient for everyone's time. Gitter chat is strictly reserved for developer and community discussion. If you have a general question about how something should work or want best practices then use Stack Overflow. If you think you have found a bug then use GitHub 2. **Ask only in one place**: Please restrict yourself to posting your question in only one place (likely Stack Overflow or GitHub) and don't post in both 3. **Create a minimal example**: It is ideal to create `minimal, complete, verifiable examples `_. This significantly reduces the time that answerers spend understanding your situation, resulting in higher quality answers more quickly. intake-0.6.5/docs/source/conf.py000066400000000000000000000125771416666122400165500ustar00rootroot00000000000000#!/usr/bin/env python3 # -*- coding: utf-8 -*- # # intake documentation build configuration file, created by # sphinx-quickstart on Jan 8 09:15:00 2018. # # This file is execfile()d with the current directory set to its # containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # import os import sys sys.path.insert(0, os.path.abspath('../..')) import intake # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. # # needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ 'sphinx.ext.intersphinx', 'sphinx.ext.autodoc', 'sphinx.ext.autosummary', 'numpydoc', ] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # # source_suffix = ['.rst', '.md'] source_suffix = '.rst' # The master toctree document. master_doc = 'index' # General information about the project. project = 'intake' copyright = '2018, Anaconda' author = 'Anaconda' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. version = intake.__version__ # The full version, including alpha/beta/rc tags. release = intake.__version__ # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. language = None # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This patterns also effect to html_static_path and html_extra_path exclude_patterns = ['**.ipynb_checkpoints'] # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = False # -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = 'sphinx_rtd_theme' # on_rtd is whether we are on readthedocs.org on_rtd = os.environ.get('READTHEDOCS', None) == 'True' if not on_rtd: # only import and set the theme if we're building docs locally # otherwise, readthedocs.org uses their theme by default, so no need to specify it import sphinx_rtd_theme html_theme = 'sphinx_rtd_theme' html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # # html_theme_options = {} # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] # -- Options for HTMLHelp output ------------------------------------------ # Output file base name for HTML help builder. htmlhelp_basename = 'intakedoc' # -- Options for LaTeX output --------------------------------------------- latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # # 'papersize': 'letterpaper', # The font size ('10pt', '11pt' or '12pt'). # # 'pointsize': '10pt', # Additional stuff for the LaTeX preamble. # # 'preamble': '', # Latex figure (float) alignment # # 'figure_align': 'htbp', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ (master_doc, 'intake.tex', 'Intake Documentation', 'Anaconda', 'manual'), ] # -- Options for manual page output --------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ (master_doc, 'intake', 'Intake Documentation', [author], 1) ] # -- Options for Texinfo output ------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ (master_doc, 'intake', 'Intake Documentation', author, 'intake', 'Fast data ingestion for Python.', 'Miscellaneous'), ] # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = {'https://docs.python.org/': None} # Config numpydoc numpydoc_show_class_members = False numpydoc_show_inherited_class_members = False numpydoc_class_members_toctree = False intake-0.6.5/docs/source/data-packages.rst000066400000000000000000000313071416666122400204600ustar00rootroot00000000000000Making Data Packages ==================== Intake can used to create :term:`Data packages`, so that you can easily distribute your catalogs - others can just "install data". Since you may also want to distribute custom catalogues, perhaps with visualisations, and driver code, packaging these things together is a great convenience. Indeed, packaging gives you the opportunity to version-tag your distribution and to declare the requirements needed to be able to use the data. This is a common pattern for distributing code for python and other languages, but not commonly seen for data artifacts. The current version of Intake allows making data packages using standard python tools (to be installed, for example, using ``pip``). The previous, now deprecated, technique is still described below, under :ref:`condapack` and is specific to the `conda` packaging system. Python packaging solution ------------------------- Intake allows you to register data artifacts (catalogs and data sources) in the metadata of a python package. This means, that when you install that package, intake will automatically know of the registered items, and they will appear within the "builtin" catalog ``intake.cat``. Here we assume that you understand what is meant by a python package (i.e., a folder containing ``__init__.py`` and other code, config and data files). Furthermore, you should familiarise yourself with what is required for bundling such a package into a *distributable* package (one with a ``setup.py``) by reading the `official packaging documentation`_ .. _official packaging documentation: https://packaging.python.org/tutorials/packaging-projects/ The `intake examples`_ contains a full tutorial for packaging and distributing intake data and/or catalogs for ``pip`` and ``conda``, see the directory "data_package/". .. _intake examples: https://github.com/intake/intake-examples Entry points definition ''''''''''''''''''''''' Intake uses the concept of `entry points` to define the entries that are defined by a given package. Entry points provide a mechanism to register metadata about a package at install time, so that it can easily be found by other packages such as Intake. Entry points was originally a `separate package`_, but is included in the standard library as of python 3.8 (you will not need to install it, as Intake requires it). All you need to do to register an entry in ``intake.cat`` is: - define a data source somewhere in your package. This object can be of any ttype that makes sense to Intake, including Catalogs, and sources that have drivers defined in the very same package. Obviously, if you can have catalogs, you can populate these however you wish, including with more catalogs. You need not be restricted to simply loading in YAML files. - include a block in your call to ``setp`` in ``setup.py`` with code something like .. code-block:: python entry_points={ 'intake.catalogs': [ 'sea_cat = intake_example_package:cat', 'sea_data = intake_example_package:data' ] } Here only the lines with "sea_cat" and "sea_data" are specific to the example package, the rest is required boilerplate. Each of those two lines defines a name for the data entry (before the "=" sign) and the location to load from, in module:object format. - install the package using ``pip``, ``python setup.py``, or package it for ``conda`` .. _separate package: https://github.com/takluyver/entrypoints Intake's process '''''''''''''''' When Intake is imported, it investigates all registered entry points with the ``"intake.catalogs"`` group. It will go through and assign each name to the given location of the final object. In the above example, ``intake.cat.sea_cat`` would be associated with the ``cat`` object in the ``intake_example_package`` package, and so on. Note that Intake does **not** immediately import the given package or module, because imports can sometimes be expensive, and if you have a lot of data packages, it might cause a slow-down every time that Intake is imported. Instead, a placeholder entry is created, and whenever the entry is accessed, that's when the particular package will be imported. .. code-block:: python In [1]: import intake In [2]: intake.cat.sea_cat # does not import yet Out[2]: In [3]: cat = intake.cat.sea_cat() # imports now In [4]: cat # this data source happens to be a catalog Out[4]: (note here the parentheses - this explicitly initialises the source, and normally you don't have to do this) .. _condapack: Pure conda solution ------------------- This packaging method is deprecated, but still available. Combined with the `Conda Package Manger `_, Intake makes it possible to create :term:`Data packages` which can be installed and upgraded just like software packages. This offers several advantages: * Distributing Catalogs and Drivers becomes as easy as ``conda install`` * Data packages can be versioned, improving reproducibility in some cases * Data packages can depend on the libraries required for reading * Data packages can be self-describing using Intake catalog files * Applications that need certain Catalogs can include data packages in their dependency list In this tutorial, we give a walk-through to enable you to distribute any Catalogs to others, so that they can access the data using Intake without worrying about where it resides or how it should be loaded. Implementation '''''''''''''' The function ``intake.catalog.default.load_combo_catalog`` searches for YAML catalog files in a number of place at import. All entries in these catalogs are flattened and placed in the "builtin" ``intake.cat``. The places searched are: * a platform-specific user directory as given by the `appdirs`_ package * in the environment's "/share/intake" data directory, where the location of the current environment is found from virtualenv or conda environment variables * in directories listed in the "INTAKE_PATH" environment variable or "catalog_path" config parameter .. _appdirs: https://github.com/ActiveState/appdirs Defining a Package '''''''''''''''''' The steps involved in creating a data package are: 1. Identifying a dataset, which can be accessed via a URL or included directly as one or more files in the package. 2. Creating a package containing: * an intake catalog file * a ``meta.yaml`` file (description of the data, version, requirements, etc.) * a script to copy the data 3. Building the package using the command ``conda build``. 4. Uploading the package to a package repository such as `Anaconda Cloud `_ or your own private repository. Data packages are standard conda packages that install an Intake catalog file into the user's conda environment (``$CONDA_PREFIX/share/intake``). A data package does not necessarily imply there are data files inside the package. A data package could describe remote data sources (such as files in S3) and take up very little space on disk. These packages are considered ``noarch`` packages, so that one package can be installed on any platform, with any version of Python (or no Python at all). The easiest way to create such a package is using a `conda build `_ recipe. Conda-build recipes are stored in a directory that contains a files like: * ``meta.yaml`` - description of package metadata * ``build.sh`` - script for building/installing package contents (on Linux/macOS) * other files needed by the package (catalog files and data files for data packages) An example that packages up data from a Github repository would look like this: .. code-block:: yaml # meta.yaml package: version: '1.0.0' name: 'data-us-states' source: git_rev: v1.0.0 git_url: https://github.com/CivilServiceUSA/us-states build: number: 0 noarch: generic requirements: run: - intake build: [] about: description: Data about US states from CivilServices (https://civil.services/) license: MIT license_family: MIT summary: Data about US states from CivilServices The key parts of a data package recipe (different from typical conda recipes) is the ``build`` section: .. code-block:: yaml build: number: 0 noarch: generic This will create a package that can be installed on any platform, regardless of the platform where the package is built. If you need to rebuild a package, the build number can be incremented to ensure users get the latest version when they conda update. The corresponding ``build.sh`` file in the recipe looks like this: .. code-block:: bash #!/bin/bash mkdir -p $CONDA_PREFIX/share/intake/civilservices cp $SRC_DIR/data/states.csv $PREFIX/share/intake/civilservices cp $RECIPE_DIR/us_states.yaml $PREFIX/share/intake/ The ``$SRC_DIR`` variable refers to any source tree checked out (from Github or other service), and the ``$RECIPE_DIR`` refers to the directory where the ``meta.yaml`` is located. Finishing out this example, the catalog file for this data source looks like this: .. code-block:: yaml sources: states: description: US state information from [CivilServices](https://civil.services/) driver: csv args: urlpath: '{{ CATALOG_DIR }}/civilservices/states.csv' metadata: origin_url: 'https://github.com/CivilServiceUSA/us-states/blob/v1.0.0/data/states.csv' The ``{{ CATALOG_DIR }}`` Jinja2 variable is used to construct a path relative to where the catalog file was installed. To build the package, you must have conda-build installed: .. code-block:: bash conda install conda-build Building the package requires no special arguments: .. code-block:: bash conda build my_recipe_dir Conda-build will display the path of the built package, which you will need to upload it. If you want your data package to be publicly available on `Anaconda Cloud `_, you can install the anaconda-client utility: .. code-block:: bash conda install anaconda-client Then you can register your Anaconda Cloud credentials and upload the package: .. code-block:: bash anaconda login anaconda upload /Users/intake_user/anaconda/conda-bld/noarch/data-us-states-1.0.0-0.tar.bz2 Best Practices -------------- Versioning '''''''''' * Versions for data packages should be used to indicate changes in the data values or schema. This allows applications to easily pin to the specific data version they depend on. * Putting data files into a package ensures reproducibility by allowing a version number to be associated with files on disk. This can consume quite a bit of disk space for the user, however. Large data files are not generally included in pip or conda packages so, if possible, you should reference the data assets in an external place where they can be loaded. Packaging ''''''''' * Packages that refer to remote data sources (such as databases and REST APIs) need to think about authentication. Do not include authentication credentials inside a data package. They should be obtained from the environment. * Data packages should depend on the Intake plugins required to read the data, or Intake itself. * You may well want to break any driver code code out into a separate package so that it can be updated independent of the data. The data package would then depend on the driver package. Nested catalogs ''''''''''''''' As noted above, entries will appear in the users' builtin catalog as ``intake.cat.*``. In the case that the catalog has multiple entries, it may be desirable to put the entries below a namespace as ``intake.cat.data_package.*``. This can be achieved by having one catalog containing the (several) data sources, with only a single top-level entry pointing to it. This catalog could be defined in a YAML file, created using any other catalog driver, or constructed in the code, e.g.: .. code-block:: python from intake.catalog import Catalog from intake.catalog.local import LocalCatalogEntry as Entry cat = intake.catalog.Catalog() cat._entries = {name: Entry(name, descr, driver='package.module.driver', args={"urlpath": url}) for name, url in my_input_list} If your package contains many sources of different types, you may even nest the catalogs, i.e., have a top-level whose contents are also catalogs. .. code-block:: python e = Entry('first_cat', 'sample', driver='catalog') e._default_source = cat top_level = Catalog() top_level._entries = {'fist_cat': e, ...} where your entry point might look something like: ``"my_cat = my_package:top_level"``. You could achieve the same with multiple YAML files. intake-0.6.5/docs/source/deployments.rst000066400000000000000000000135441416666122400203410ustar00rootroot00000000000000Deployment Scenarios -------------------- In the following sections, we will describe some of the ways in which Intake is used in real production systems. These go well beyond the typical YAML files presented in the quickstart and examples sections, which are necessarily short and simple, and do not demonstrate the full power of Intake. Sharing YAML files ~~~~~~~~~~~~~~~~~~ This is the simplest scenario, and amply described in these documents. The primary advantage is simplicity: it is enough to put a file in an accessible place (even a gist or repo), in order for someone else to be able to discover and load that data. Furthermore, such files can easily refer to one-another, to build up a full tree of data assets with minimum pain Since YAML files are text, this also lends itself to working well with version control systems. Furthermore, all sources can describe themselves as YAML, and the ``export`` and ``upload`` commands can produce an efficient format (possibly remote) together with YAML definition in a single step. Pangeo ~~~~~~ The `Pangeo`_ collaboration uses Intake to catalog their data holdings, which are generally in various forms of netCDF-compliant formats, massive multi-dimensional arrays with data relating to earth and climate science and meteorology. On their cloud-based platform, containers start up jupyter-lab sessions which have Intake installed, and therefore can simply pick and load the data that each researcher needs - often requiring large Dask clusters to actually do the processing. A `static `__ rendering of the catalog contents is available, so that users can browse the holdings without even starting a python session. This rendering is produced by CI on the `repo `__ whenever new definitions are added, and it also checks (using Intake) that each definition is indeed loadable. Pangeo also developed intake-stac, which can talk to STAC servers to make real-time queries and parse the results into Intake data sources. This is a standard for spaceo-temporal data assets, and indexes massive amounts of cloud-stored data. .. _Pangeo: http://pangeo.io/ Anaconda Enterprise ~~~~~~~~~~~~~~~~~~~ Intake will be the basis of the data access and cataloging service within `Anaconda Enterprise`_, running as a micro-service in a container, and offering data source definitions to users. The access control, who gets to see which data-set, and serving of credentials to be able to read from the various data storage services, will all be handled by the platform and be fully configurable by admins. .. _Anaconda Enterprise: https://www.anaconda.com/enterprise/ National Center for Atmospheric Research ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NCAR has developed `intake-esm`_, a mechanism for creating file-based Intake catalogs for climate data from project efforts such as the `Coupled Model Intercomparison Project (CMIP)`_ and the `Community Earth System Model (CESM) Large Ensemble Project`_. These projects produce a huge of amount climate data persisted on tape, disk storage components across multiple (of the order ~300,000) netCDF files. Finding, investigating, loading these files into data array containers such as `xarray` can be a daunting task due to the large number of files a user may be interested in. ``Intake-esm`` addresses this issue in three steps: - `Datasets Collection Curation`_ in form of YAML files. These YAML files provide information about data locations, access pattern, directory structure, etc. ``intake-esm`` uses these YAML files in conjunction with file name templates to construct a local database. Each row in this database consists of a set of metadata such as ``experiment``, ``modeling realm``, ``frequency`` corresponding to data contained in one netCDF file. .. code-block:: python col = intake.open_esm_metadatastore(collection_input_definition="GLADE-CMIP5") - Search and Discovery: once the database is built, ``intake-esm`` can be used for searching and discovering of climate datasets by eliminating the need for the user to know specific locations (file path) of their data set of interest: .. code-block:: python cat = col.search(variable=['hfls'], frequency='mon', modeling_realm='atmos', institute=['CCCma', 'CNRM-CERFACS']) - Access: when the user is satisfied with the results of their query, they can ask ``intake-esm`` to load the actual netCDF files into xarray datasets: .. code-block:: python dsets = cat.to_xarray(decode_times=True, chunks={'time': 50}) .. _intake-esm: https://github.com/NCAR/intake-esm .. _Datasets Collection Curation: https://github.com/NCAR/intake-esm-datastore .. _Coupled Model Intercomparison Project (CMIP): https://www.wcrp-climate.org/wgcm-cmip .. _Community Earth System Model (CESM) Large Ensemble Project: http://www.cesm.ucar.edu/projects/community-projects/LENS/ Brookhaven Archive ~~~~~~~~~~~~~~~~~~ The `Bluesky`_ project uses Intake to dynamically query a MongoDB instance, which holds the details of experimental and simulation data collections, to return a custom Catalog for every query. Data-sets can then be loaded into python, or the original raw data can be accessed ... .. _Bluesky: https://github.com/bluesky/intake-bluesky Zillow ~~~~~~ Zillow is developing Intake to meet the needs of their datalake access layer (DAL), to encapsulate the highly hierarchical nature of their data. Of particular importance, is the ability to provide different version (testing/production, and different storage formats) of the same logical dataset, depending on whether it is being read on a laptop versus the production infrastructure ... Intake Server ~~~~~~~~~~~~~ The server protocol (see :ref:`server`) is simple enough that anyone can write their own implementation with full customisation and behaviour. In particular, auth and monitoring would be essential for a production-grade deployment. intake-0.6.5/docs/source/examples.rst000066400000000000000000000124301416666122400176050ustar00rootroot00000000000000Examples ======== Here we list links to notebooks and other code demonstrating the use of Intake in various scenarios. The first section is of general interest to various users, and the sections that follow tend to be more specific about particular features and workflows. Many of the entries here include a link to Binder, which a service that lest you execute code live in a notebook environment. This is a great way to experience using Intake. It can take a while, sometimes, for Binder to come up; please have patience. See also the `examples`_ repository, containing data-sets which can be built and installed as conda packages. .. _examples: https://github.com/intake/intake-examples/ General ------- - Basic Data scientist workflow: using Intake [`Static `__] [`Executable `__]. - Workflow for creating catalogs: a Data Engineer's approach to Intake [`Static `__] [`Executable `__] Developer --------- Tutorials delving deeper into the Internals of Intake, for those who wish to contribute - How you would go about writing a new plugin [`Static `__] [`Executable `__] Features -------- More specific examples of Intake functionality - Caching: - New-style data package creation [`Static `__] - Using automatically cached data-files [`Static `__] [`Executable `__] - Earth science demonstration of cached dataset [`Static `__] [`Executable `__] - File-name pattern parsing: - Satellite imagery, science workflow [`Static `__] [`Executable `__] - How to set up pattern parsing [`Static `__] [`Executable `__] - Custom catalogs: - A custom intake plugin that adapts DCAT catalogs [`Static `__] [`Executable `__] Data ---- - `Anaconda package data`_, originally announced in `this blog`_ - `Planet Four Catalog`_, originally from https://www.planetfour.org/results - The official Intake `examples`_ .. _Anaconda package data: https://github.com/ContinuumIO/anaconda-package-data .. _this blog: https://www.anaconda.com/announcing-public-anaconda-package-download-data/ .. _Planet Four Catalog: https://github.com/michaelaye/p4catalog Blogs ----- These are Intake-related articles that may be of interest. - `Discovering and Exploring Data in a Graphical Interface`_ - `Taking the Pain out of Data Access`_ - `Caching Data on First Read Makes Future Analysis Faster`_ - `Parsing Data from Filenames and Paths`_ - `Intake for cataloguing Spark`_ - `Intake released on Conda-Forge`_ .. _Discovering and Exploring Data in a Graphical Interface: https://www.anaconda.com/intake-discovering-and-exploring-data-in-a-graphical-interface/ .. _Intake for cataloguing Spark: https://www.anaconda.com/intake-for-cataloging-spark/ .. _Taking the Pain out of Data Access: https://www.anaconda.com/intake-taking-the-pain-out-of-data-access/ .. _Caching Data on First Read Makes Future Analysis Faster: https://www.anaconda.com/intake-caching-data-on-first-read-makes-future-analysis-faster/ .. _Parsing Data from Filenames and Paths: https://www.anaconda.com/intake-parsing-data-from-filenames-and-paths/ .. _Intake released on Conda-Forge: https://www.anaconda.com/intake-released-on-conda-forge/ Talks ----- - `__init__ podcast interview (May 2019)`_ - `AnacondaCon (March 2019)`_ - `PyData DC (November 2018)`_ - `PyData NYC (October 2018)`_ - `ESIP tech dive (November 2018)`_ .. _\__init__ podcast interview (May 2019): https://www.pythonpodcast.com/intake-data-catalog-episode-213/ .. _ESIP tech dive (November 2018): https://www.youtube.com/watch?v=PSD7r3JFml0&feature=youtu.be .. _PyData DC (November 2018): https://www.youtube.com/watch?v=OvZFtePHKXw .. _PyData NYC (October 2018): https://www.youtube.com/watch?v=pjkMmJQfTb8 .. _AnacondaCon (March 2019): https://www.youtube.com/watch?v=oyZJrROQzUs News ---- - See out `Wiki`_ page .. _Wiki: https://github.com/intake/intake/wiki/Community-News intake-0.6.5/docs/source/glossary.rst000066400000000000000000000177611416666122400176460ustar00rootroot00000000000000Glossary ======== .. glossary:: Argument One of a set of values passed to a function or class. In the Intake sense, this usually is the set of key-value pairs defined in the "args" section of a source definition; unless the user overrides, these will be used for instantiating the source. Cache Local copies of remote files. Intake allows for download-on-first-use for data-sources, so that subsequent access is much faster, see :ref:`caching`. The format of the files is unchanged in this case, but may be decompressed. Catalog A collection of entries, each of which corresponds to a specific :term:`Data-set`. Within these docs, a catalog is most commonly defined in a :term:`YAML` file, for simplicity, but there are other possibilities, such as connecting to an Intake server or another third-party data service, like a SQL database. Thus, catalogs form a hierarchy: any catalog can contain other, nested catalogs. Catalog file A :term:`YAML` specification file which contains a list of named entries describing how to load data sources. :doc:`catalog`. Conda A package and environment management package for the python ecosystem, see the `conda website`_. Conda ensures dependencies and correct versions are installed for you, provides precompiled, binary-compatible software, and extends to many languages beyond python, such as R, javascript and C. Conda package A single installable item which the :term:`Conda` application can install. A package may include a :term:`Catalog`, data-files and maybe some additional code. It will also include a specification of the dependencies that it requires (e.g., Intake and any additional :term:`Driver`), so that Conda can install those automatically. Packages can be created locally, or can be found on `anaconda.org`_ or other package repositories. Container One of the supported data formats. Each :term:`Driver` outputs its data in one of these. The containers correspond to familiar data structures for end-analysis, such as list-of-dicts, Numpy nd-array or Pandas data-frame. Data-set A specific collection of data. The type of data (tabular, multi-dimensional or something else) and the format (file type, data service type) are all attributes of the data-set. In addition, in the context of Intake, data-sets are usually entries within a :term:`Catalog` with additional descriptive text and metadata and a specification of *how* to load the data. Data Source An Intake specification for a specific :term:`Data-set`. In most cases, the two terms are synonymous. Data User A person who uses data to produce models and other inferences/conclusions. This person generally uses standard python analysis packages like Numpy, Pandas, SKLearn and may produce graphical output. They will want to be able to find the right data for a given job, and for the data to be available in a standard format as quickly and easily as possible. In many organisations, the appropriate job title may be Data Scientist, but research scientists and BI/analysts also fit this description. Data packages Data packages are standard conda packages that install an Intake catalog file into the user’s conda environment ($CONDA_PREFIX/share/intake). A data package does not necessarily imply there are data files inside the package. A data package could describe remote data sources (such as files in S3) and take up very little space on disk. Data Provider A person whose main objective is to curate data sources, get them into appropriate formats, describe the contents, and disseminate the data to those that need to use them. Such a person may care about the specifics of the storage format and backing store, the right number of fields to keep and removing bad data. They may have a good idea of the best way to visualise any give data-set. In an organisation, this job may be known as Data Engineer, but it could as easily be done by a member of the IT team. These people are the most likely to author :term:`Catalogs`. Developer A person who writes or fixes code. In the context of Intake, a developer may make new format :term:`Drivers`, create authentication systems or add functionality to Intake itself. They can take existing code for loading data in other projects, and use Intake to add extra functionality to it, for instance, remote data access, parallel processing, or file-name parsing. Driver The thing that does the work of reading the data for a catalog entry is known as a driver, often referred to using a simple name such as "csv". Intake has a plugin architecture, and new drivers can be created or installed, and specific catalogs/data-sets may require particular drivers for their contained data-sets. If installed as :term:`Conda` packages, then these requirements will be automatically installed for you. The driver's output will be a :term:`Container`, and often the code is a simpler layer over existing functionality in a third-party package. GUI A Graphical User Interface. Intake comes with a GUI for finding and selecting data-sets, see :doc:`gui`. IT The Information Technology team for an organisation. Such a team may have control of the computing infrastructure and security (sys-ops), and may well act as gate-keepers when exposing data for use by other colleagues. Commonly, IT has stronger policy enforcement requirements that other groups, for instance requiring all data-set copy actions to be logged centrally. Persist A process of making a local version of a data-source. One canonical format is used for each of the container types, optimised for quick and parallel access. This is particularly useful if the data takes a long time to acquire, perhaps because it is the result of a complex query on a remote service. The resultant output can be set to expire and be automatically refreshed, see :doc:`persisting`. Not to be confused with the :term:`cache`. Plugin Modular extra functionality for Intake, provided by a package that is installed separately. The most common type of plugin will be for a :term:`Driver` to load some particular data format; but other parts of Intake are pluggable, such as authentication mechanisms for the server. Server A remote source for Intake catalogs. The server will provide data source specifications (i.e., a remote :term:`Catalog`), and may also provide the raw data, in situations where the client is not able or not allowed to access it directly. As such, the server can act as a gatekeeper of the data for security and monitoring purposes. The implementation of the server in Intake is accessible as the ``intake-server`` command, and acts as a reference: other implementations can easily be created for specific circumstances. TTL Time-to-live, how long before the given entity is considered to have expired. Usually in seconds. User Parameter A data source definition can contain a "parameters" section, which can act as explicit decision indicators for the user, or as validation and type coersion for the definition's :term:`Argument` s. See :ref:`paramdefs`. YAML A text-based format for expressing data with a dictionary (key-value) and list structure, with a limited number of data-types, such as strings and numbers. YAML uses indentations to nest objects, making it easy to read and write for humans, compared to JSON. Intake's catalogs and config are usually expressed in YAML files. .. _conda website: https://conda.io/docs/ .. _anaconda.org: http://anaconda.org intake-0.6.5/docs/source/gui.rst000066400000000000000000000147011416666122400165560ustar00rootroot00000000000000GUI === Using the GUI ------------- **Note**: the GUI requires ``panel`` and ``bokeh`` to be available in the current environment. The Intake top-level singleton ``intake.gui`` gives access to a graphical data browser within the Jupyter notebook. To expose it, simply enter it into a code cell (Jupyter automatically display the last object in a code cell). .. image:: _static/images/gui_builtin.png New instances of the GUI are also available by instantiating ``intake.interface.gui.GUI``, where you can specify a list of catalogs to initially include. The GUI contains three main areas: - a **list of catalogs**. The "builtin" catalog, displayed by default, includes data-sets installed in the system, the same as ``intake.cat``. - a **list of sources** within the currently selected catalog. - a **description** of the currently selected source. Catalogs -------- Selecting a catalog from the list will display nested catalogs below the parent and display source entries from the catalog in the **list of sources**. Below the **lists of catalogs** is a row of buttons that are used for adding, removing and searching-within catalogs: - **Add**: opens a sub-panel for adding catalogs to the interface, by either browsing for a local YAML file or by entering a URL for a catalog, which can be a remote file or Intake server - **Remove**: deletes the currently selected catalog from the list - **Search**: opens a sub-panel for finding entries in the currently selected catalog (and its sub-catalogs) Add Catalogs ~~~~~~~~~~~~ The Add button (+) exposes a sub-panel with two main ways to add catalogs to the interface: .. image:: _static/images/gui_add.png This panel has a tab to load files from **local**; from that you can navigate around the filesystem using the arrow or by editing the path directly. Use the home button to get back to the starting place. Select the catalog file you need. Use the "Add Catalog" button to add the catalog to the list above. .. image:: _static/images/gui_add_local.png Another tab loads a catalog from **remote**. Any URL is valid here, including cloud locations, ``"gcs://bucket/..."``, and intake servers, ``"intake://server:port"``. Without a protocol specifier, this can be a local path. Again, use the "Add Catalog" button to add the catalog to the list above. .. image:: _static/images/gui_add_remote.png Finally, you can add catalogs to the interface in code, using the ``.add()`` method, which can take filenames, remote URLs or existing ``Catalog`` instances. Remove Catalogs ~~~~~~~~~~~~~~~ The Remove button (-) deletes the currently selected catalog from the list. It is important to note that this action does not have any impact on files, it only affects what shows up in the list. .. image:: _static/images/gui_remove.png Search ~~~~~~ The sub-panel opened by the Search button (🔍) allows the user to search within the selected catalog .. image:: _static/images/gui_search.png From the Search sub-panel the user enters for free-form text. Since some catalogs contain nested sub-catalogs, the Depth selector allows the search to be limited to the stated number of nesting levels. This may be necessary, since, in theory, catalogs can contain circular references, and therefore allow for infinite recursion. .. image:: _static/images/gui_search_inputs.png Upon execution of the search, the currently selected catalog will be searched. Entries will be considered to match if any of the entered words is found in the description of the entry (this is case-insensitive). If any matches are found, a new entry will be made in the catalog list, with the suffix "_search". .. image:: _static/images/gui_search_cat.png Sources ------- Selecting a source from the list updates the description text on the left-side of the gui. Below the **list of sources** is a row of buttons for inspecting the selected data source: - **Plot**: opens a sub-panel for viewing the pre-defined (specified in the yaml) plots for the selected source. Plot ~~~~ The Plot button (📊) opens a sub-panel with an area for viewing pre-defined plots. .. image:: _static/images/gui_plot.png These plots are specified in the catalog yaml and that yaml can be displayed by checking the box next to "show yaml". .. image:: _static/images/gui_plot_yaml.png The holoviews object can be retrieved from the gui using ``intake.interface.source.plot.pane.object``, and you can then use it in Python or export it to a file. Interactive Visualization ''''''''''''''''''''''''' If you have installed the optional extra packages `dfviz`_ and `xrviz`_, you can interactively plot your dataframe or array data, respectively. .. image:: _static/images/custom_button.png .. _dfviz: https://dfviz.readthedocs.io/ .. _xrviz: https://xrviz.readthedocs.io/ The button "customize" will be available for data sources of the appropriate type. Click this to open the interactive interface. If you have not selected a predefined plot (or there are none), then the interface will start without any prefilled values, but if you do first select a plot, then the interface will have its options pre-filled from the options For specific instructions on how to use the interfaces (which can also be used independently of the Intake GUI), please navigate to the linked documentation. Note that the final parameters that are sent to ``hvPlot`` to produce the output each time a plot if updated, are explicitly available in YAML format, so that you can save the state as a "predefined plot" in the catalog. The same set of parameters can also be used in code, with ``datasource.plot(...)``. .. image:: _static/images/YAMLtab.png Using the Selection ------------------- Once catalogs are loaded and the desired sources has been identified and selected, the selected sources will be available at the ``.sources`` attribute (``intake.gui.sources``). Each source entry has informational methods available and can be opened as a data source, as with any catalog entry: .. code-block:: python In [ ]: source_entry = intake.gui.sources[0] source_entry Out : name: sea_ice_origin container: dataframe plugin: ['csv'] description: Arctic/Antarctic Sea Ice direct_access: forbid user_parameters: [] metadata: args: urlpath: https://timeseries.weebly.com/uploads/2/1/0/8/21086414/sea_ice.csv In [ ]: data_source = source_entry() # may specify parameters here data_source.read() Out : < some data > In [ ]: source_entry.plot() # or skip data source step Out : < graphics> intake-0.6.5/docs/source/guide.rst000066400000000000000000000005151416666122400170650ustar00rootroot00000000000000User Guide ---------- More detailed information about specific parts of Intake, such as how to author catalogs, how to use the graphical interface, plotting, etc. .. toctree:: :maxdepth: 1 gui.rst catalog.rst tools.rst persisting.rst plotting.rst plugin-directory.rst server.rst transforms.rst intake-0.6.5/docs/source/index.rst000066400000000000000000000121521416666122400170770ustar00rootroot00000000000000.. raw:: html Intake Logo Intake ====== *Taking the pain out of data access and distribution* Intake is a lightweight package for finding, investigating, loading and disseminating data. It will appeal to different groups for some of the reasons below, but is useful for all and acts as a common platform that everyone can use to smooth the progression of data from developers and providers to users. Intake contains the following main components. You *do not* need to use them all! The library is modular, only use the parts you need: * A set of **data loaders** (:term:`Drivers`) with a common interface, so that you can investigate or load anything, from local or remote, with the exact same call, and turning into data structures that you already know how to manipulate, such as arrays and data-frames. * A **Cataloging system** (:term:`Catalogs`) for listing data sources, their metadata and parameters, and referencing which of the Drivers should load each. The catalogs for a hierarchical, searchable structure, which can be backed by files, Intake servers or third-party data services * Sets of **convenience functions** to apply to various data sources, such as data-set persistence, automatic concatenation and metadata inference and the ability to distribute catalogs and data sources using simple packaging abstractions. * A **GUI layer** accessible in the Jupyter notebook or as a standalone webserver, which allows you to find and navigate catalogs, investigate data sources, and plot either predefined visualisations or interactively find the right view yourself * A **client-server protocol** to allow for arbitrary data cataloging services or to serve the data itself, with a pluggable auth model. :term:`Data User` ----------------- .. raw:: html Line graph * Intake loads the data for a range of formats and types (see :ref:`plugin-directory`) into containers you already use, like Pandas dataframes, Python lists, NumPy arrays, and more * Intake loads, then gets out of your way * GUI search and introspect data-sets in :term:`Catalogs`: quickly find what you need to do your work * Install data-sets and automatically get requirements * Leverage cloud resources and distributed computing. See the executable tutorial: .. image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/gh/intake/intake-examples/master?filepath=tutorial%2Fdata_scientist.ipynb :term:`Data Provider` --------------------- .. raw:: html Grid * Simple spec to define data sources * Single point of truth, no more copy&paste * Distribute data using packages, shared files or a server * Update definitions in-place * Parametrise user options * Make use of additional functionality like filename parsing and caching. See the executable tutorial: .. image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/gh/intake/intake-examples/master?filepath=tutorial%2Fdata_engineer.ipynb :term:`IT` ---------- .. raw:: html FA-terminal * Create catalogs out of established departmental practices * Provide data access credentials via Intake parameters * Use server-client architecture as gatekeeper: * add authentication methods * add monitoring point; track the data-sets being accessed. * Hook Intake into proprietary data access systems. :term:`Developer` ----------------- .. raw:: html Python code * Turn boilerplate code into a reusable :term:`Driver` * Pluggable architecture of Intake allows for many points to add and improve * Open, simple code-base -- come and get involved on `github`_! .. _github: https://github.com/intake/intake See the executable tutorial: .. image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/gh/intake/intake-examples/master?filepath=tutorial%2Fdev.ipynb First steps =========== The :doc:`start` document contains the sections that all users new to Intake should read through. :ref:`usecases` shows specific problems that Intake solves. For a brief demonstration, which you can execute locally, go to :doc:`quickstart`. For a general description of all of the components of Intake and how they fit together, go to :doc:`overview`. Finally, for some notebooks using Intake and articles about Intake, go to :doc:`examples` and `intake-examples`_. These and other documentation pages will make reference to concepts that are defined in the :doc:`glossary`. .. _intake-examples: https://github.com/intake/intake-examples | | .. toctree:: :maxdepth: 1 :hidden: start.rst guide.rst reference.rst roadmap.rst glossary.rst community.rst Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` intake-0.6.5/docs/source/making-plugins.rst000066400000000000000000000503561416666122400207250ustar00rootroot00000000000000Making Drivers ============== The goal of the Intake plugin system is to make it very simple to implement a :term:`Driver` for a new data source, without any special knowledge of Dask or the Intake catalog system. Assumptions ----------- Although Intake is very flexible about data, there are some basic assumptions that a driver must satisfy. Data Model '''''''''' Intake currently supports 3 kinds of containers, represented the most common data models used in Python: * dataframe * ndarray * python (list of Python objects, usually dictionaries) Although a driver can load *any* type of data into any container, and new container types can be added to the list above, it is reasonable to expect that the number of container types remains small. Declaring a container type is only informational for the user when read locally, but streaming of data from a server requires that the container type be known to both server and client. A given driver must only return one kind of container. If a file format (such as HDF5) could reasonably be interpreted as two different data models depending on usage (such as a dataframe or an ndarray), then two different drivers need to be created with different names. If a driver returns the ``python`` container, it should document what Python objects will appear in the list. The source of data should be essentially permanent and immutable. That is, loading the data should not destroy or modify the data, nor should closing the data source destroy the data either. When a data source is serialized and sent to another host, it will need to be reopened at the destination, which may cause queries to be re-executed and files to be reopened. Data sources that treat readers as "consumers" and remove data once read will cause erratic behavior, so Intake is not suitable for accessing things like FIFO message queues. Schema '''''' The schema of a data source is a detailed description of the data, which can be known by loading only metadata or by loading only some small representative portion of the data. It is information to present to the user about the data that they are considering loading, and may be important in the case of server-client communication. In the latter context, the contents of the schema must be serializable by ``msgpack`` (i.e., numbers, strings, lists and dictionaries only). There may be unknown parts of the schema before the whole data is read. drivers may require this unknown information in the `__init__()` method (or the catalog spec), or do some kind of partial data inspection to determine the schema; or more simply, may be given as unknown ``None`` values. Regardless of method used, the time spent figuring out the schema ahead of time should be short and not scale with the size of the data. Typical fields in a schema dictionary are ``npartitions``, ``dtype``, ``shape``, etc., which will be more appropriate for some drivers/data-types than others. Partitioning '''''''''''' Data sources are assumed to be *partitionable*. A data partition is a randomly accessible fragment of the data. In the case of sequential and data-frame sources, partitions are numbered, starting from zero, and correspond to contiguous chunks of data divided along the first dimension of the data structure. In general, any partitioning scheme is conceivable, such as a tuple-of-ints to index the chunks of a large numerical array. Not all data sources can be partitioned. For example, file formats without sufficient indexing often can only be read from beginning to end. In these cases, the DataSource object should report that there is only 1 partition. However, it often makes sense for a data source to be able to represent a directory of files, in which case each file will correspond to one partition. Metadata '''''''' Once opened, a DataSource object can have arbitrary metadata associated with it. The metadata for a data source should be a dictionary that can be serialized as JSON. This metadata comes from the following sources: 1. A data catalog entry can associate fixed metadata with the data source. This is helpful for data formats that do not have any support for metadata within the file format. 2. The driver handling the data source may have some general metadata associated with the state of the system at the time of access, available even before loading any data-specific information. 2. A driver can add additional metadata when the schema is loaded for the data source. This allows metadata embedded in the data source to be exported. From the user perspective, all of the metadata should be loaded once the data source has loaded the rest of the schema (after ``discover()``, ``read()``, ``to_dask()``, etc have been called). Subclassing ``intake.source.base.DataSourceBase`` ------------------------------------------------- Every Intake driver class should be a subclass of ``intake.source.base.DataSource``. The class should have the following attributes to identify itself: - ``name``: The short name of the driver. This should be a valid python identifier. You should not include the word ``intake`` in the driver name. - ``version``: A version string for the driver. This may be reported to the user by tools based on Intake, but has no semantic importance. - ``container``: The container type of data sources created by this object, e.g., ``dataframe``, ``ndarray``, or ``python``, one of the keys of ``intake.container.container_map``. For simplicity, a driver many only return one typed of container. If a particular source of data could be used in multiple ways (such as HDF5 files interpreted as dataframes or as ndarrays), two drivers must be created. These two drivers can be part of the same Python package. - ``partition_access``: Do the data sources returned by this driver have multiple partitions? This may help tools in the future make more optimal decisions about how to present data. If in doubt (or the answer depends on init arguments), ``True`` will always result in correct behavior, even if the data source has only one partition. The ``__init()__`` method should always accept a keyword argument ``metadata``, a dictionary of metadata from the catalog to associate with the source. This dictionary must be serializable as JSON. The `DataSourceBase` class has a small number of methods which should be overridden. Here is an example producing a data-frame:: class FooSource(intake.source.base.DataSource): container = 'dataframe' name = 'foo' version = '0.0.1' partition_access = True def __init__(self, a, b, metadata=None): # Do init here with a and b super(FooSource, self).__init__( metadata=metadata ) def _get_schema(self): return intake.source.base.Schema( datashape=None, dtype={'x': "int64", 'y': "int64"}, shape=(None, 2), npartitions=2, extra_metadata=dict(c=3, d=4) ) def _get_partition(self, i): # Return the appropriate container of data here return pd.DataFrame({'x': [1, 2, 3], 'y': [10, 20, 30]}) def read(self): self._load_metadata() return pd.concat([self.read_partition(i) for i in range(self.npartitions)]) def _close(self): # close any files, sockets, etc pass Most of the work typically happens in the following methods: - ``__init__()``: Should be very lightweight and fast. No files or network resources should be opened, and no significant memory should be allocated yet. Data sources might be serialized immediately. The default implementation of the pickle protocol in the base class will record all the arguments to ``__init__()`` and recreate the object with those arguments when unpickled, assuming the class has no side effects. - ``_get_schema()``: May open files and network resources and return as much of the schema as possible in small amount of *approximately* constant time. Typically, imports of packages needed by the source only happen here. The ``npartitions`` and ``extra_metadata`` attributes must be correct when ``_get_schema`` returns. Further keys such as ``dtype``, ``shape``, etc., should reflect the container type of the data-source, and can be ``None`` if not easily knowable, or include ``None`` for some elements. File-based sources should use fsspec to open a local or remote URL, and pass ``storage_options`` to it. This ensures compatibility and extra features such as caching. If the backend can only deal with local files, you may still want to use ``fsspec.open_local`` to allow for caching. - ``_get_partition(self, i)``: Should return all of the data from partition id ``i``, where ``i`` is typically an integer, but may be something more complex. The base class will automatically verify that ``i`` is in the range ``[0, npartitions)``, so no range checking is required in the typical case. - ``_close(self)``: Close any network or file handles and deallocate any significant memory. Note that these resources may be need to be reopened/reallocated if a read is called again later. The full set of user methods of interest are as follows: - ``discover(self)``: Read the source attributes, like ``npartitions``, etc. As with ``_get_schema()`` above, this method is assumed to be fast, and make a best effort to set attributes. The output should be serializable, if the source is to be used on a server; the details contained will be used for creating a remote-source on the client. - ``read(self)``: Return all the data in memory in one in-memory container. - ``read_chunked(self)``: Return an iterator that returns contiguous chunks of the data. The chunking is generally assumed to be at the partition level, but could be finer grained if desired. - ``read_partition(self, i)``: Returns the data for a given partition id. It is assumed that reading a given partition does not require reading the data that precedes it. If ``i`` is out of range, an ``IndexError`` should be raised. - ``to_dask(self)``: Return a (lazy) Dask data structure corresponding to this data source. It should be assumed that the data can be read from the Dask workers, so the loads can be done in future tasks. For further information, see the `Dask documentation `_. - ``close(self)``: Close network or file handles and deallocate memory. If other methods are called after ``close()``, the source is automatically reopened. - ``to_*``: for some sources, it makes sense to provide alternative outputs aside from the base container (dataframe, array, ...) and Dask variants. Note that all of these methods typically call ``_get_schema``, to make sure that the source has been initialised. Subclassing ``intake.source.base.DataSource`` --------------------------------------------- ``DataSource`` provides the same functionality as ``DataSourceBase``, but has some additional mixin classes to provide some extras. A developer may choose to derive from ``DataSource`` to get all of these, or from ``DataSourceBase`` and make their own choice of mixins to support. - ``HoloviewsMixin``: provides plotting and GUI capabilities via the `holoviz`_ stack - ``PersistMixin``: allows for storing a local copy in a default format for the given container type - ``CacheMixin``: allows for local storage of data files for a source. Deprecated, you should use one of the caching mechanisms in ``fsspec``. .. _holoviz: https://holoviz.org/index.html .. _driver-discovery: Driver Discovery ---------------- Intake discovers available drivers in three different ways, described below. After the discovery phase, Intake will automatically create ``open_[driver_name]`` convenience functions under the ``intake`` module namespace. Calling a function like ``open_csv()`` is equivalent to instantiating the corresponding data-source class. Entrypoints ''''''''''' If you are packaging your driver into an installable package to be shared, you should add the following to the package's ``setup.py``: .. code-block:: python setup( ... entry_points={ 'intake.drivers': [ 'some_format_name = some_package.and_maybe_a_submodule:YourDriverClass', ... ] }, ) .. important:: Some critical details of Python's entrypoints feature: * Note the unusual syntax of the entrypoints. Each item is given as one long string, with the ``=`` as part of the string. Modules are separated by ``.``, and the final object name is preceded by ``:``. * The right hand side of the equals sign must point to where the object is *actually defined*. If ``YourDriverClass`` is defined in ``foo/bar.py`` and imported into ``foo/__init__.py`` you might expect ``foo:YourDriverClass`` to work, but it does not. You must spell out ``foo.bar:YourDriverClass``. Entry points are a way for Python packages to advertise objects with some common interface. When Intake is imported, it discovers all packages installed in the current environment that advertise ``'intake.drivers'`` in this way. Most packages that define intake drivers have a dependency on ``intake`` itself, for example in order to use intake's base classes. This can create a ciruclar dependency: importing the package imports intake, which tries to discover and import packages that define drivers. To avoid this pitfall, just ensure that ``intake`` is imported first thing in your package's ``__init__.py``. This ensures that the driver-discovery code runs first. Note that you are *not* required to make your package depend on intake. The rule is that *if* you import ``intake`` you must import it first thing. If you do not import intake, there is no circularity. Configuration ''''''''''''' The intake configuration file can be used to: * Specify precedence in the event of name collisions---for example, if two different ``csv`` drivers are installed. * Disable a troublesome driver. * Manually make intake aware of a driver, which can be useful for experimentation and early development until a ``setup.py`` with an entrypoint is prepared. * Assign a driver to a name other than the one assigned by the driver's author. The commandline invocation .. code-block:: bash intake drivers enable some_format_name some_package.and_maybe_a_submodule.YourDriverClass is equivalent to adding this to your intake configuration file: .. code-block:: yaml drivers: some_format_name: some_package.and_maybe_a_submodule.YourDriverClass You can also disable a troublesome driver .. code-block:: bash intake drivers disable some_format_name which is equivalent to .. code-block:: yaml drivers: your_format_name: false Deprecated: Package Scan '''''''''''''''''''''''' When Intake is imported, it will search the Python module path (by default includes ``site-packages`` and other directories in your ``$PYTHONPATH``) for packages starting with ``intake\_`` and discover DataSource subclasses inside those packages to register. drivers will be registered based on the``name`` attribute of the object. By convention, drivers should have names that are lowercase, valid Python identifiers that do not contain the word ``intake``. This approach is deprecated because it is limiting (requires the package to begin with "intake\_") and because the package scan can be slow. Using entrypoints is strongly encouraged. The package scan *may* be disabled by default in some future release of intake. During the transition period, if a package named ``intake_*`` provides an entrypoint for a given name, that will take precedence over any drivers gleaned from the package scan having that name. If intake discovers any names from the package scan for which there are no entrypoints, it will issue a ``FutureWarning``. Python API to Driver Discovery '''''''''''''''''''''''''''''' .. autofunction:: intake.source.discovery.autodiscover .. autofunction:: intake.source.discovery.enable .. autofunction:: intake.source.discovery.disable .. _remote_data: Remote Data ----------- For drivers loading from files, the author should be aware that it is easy to implement loading from files stored in remote services. A simplistic case is demonstrated by the included CSV driver, which simply passes a URL to Dask, which in turn can interpret the URL as a remote data service, and use the ``storage_options`` as required (see the Dask documentation on `remote data`_). .. _remote data: http://dask.pydata.org/en/latest/remote-data-services.html More advanced usage, where a Dask loader does not already exist, will likely rely on `fsspec.open_files`_ . Use this function to produce lazy ``OpenFile`` object for local or remote data, based on a URL, which will have a protocol designation and possibly contain glob "*" characters. Additional parameters may be passed to ``open_files``, which should, by convention, be supplied by a driver argument named ``storage_options`` (a dictionary). .. _fsspec.open_files: https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.open_files To use an ``OpenFile`` object, make it concrete by using a context: .. code-block:: python # at setup, to discover the number of files/partitions set_of_open_files = fsspec.open_files(urlpath, mode='rb', **storage_options) # when actually loading data; here we loop over all files, but maybe we just do one partition for an_open_file in set_of_open_files: # `with` causes the object to become concrete until the end of the block with an_open_file as f: # do things with f, which is a file-like object f.seek(); f.read() The ``textfiles`` builtin drivers implements this mechanism, as an example. Structured File Paths --------------------- The CSV driver sets up an example of how to gather data which is encoded in file paths like (``'data_{site}_.csv'``) and return that data in the output. Other drivers could also follow the same structure where data is being loaded from a set of filenames. Typically this would apply to data-frame output. This is possible as long as the driver has access to each of the file paths at some point in ``_get_schema``. Once the file paths are known, the driver developer can use the helper functions defined in ``intake.source.utils`` to get the values for each field in the pattern for each file in the list. These values should then be added to the data, a process which normally would happen within the _get_schema method. The PatternMixin defines driver properties such as urlpath, path_as_pattern, and pattern. The implementation might look something like this:: from intake.source.utils import reverse_formats class FooSource(intake.source.base.DataSource, intake.source.base.PatternMixin): def __init__(self, a, b, path_as_pattern, urlpath, metadata=None): # Do init here with a and b self.path_as_pattern = path_as_pattern self.urlpath = urlpath super(FooSource, self).__init__( container='dataframe', metadata=metadata ) def _get_schema(self): # read in the data values_by_field = reverse_formats(self.pattern, file_paths) # add these fields and map values to the data return data Since dask already has a specific method for including the file paths in the output dataframe, in the CSV driver we set ``include_path_column=True``, to get a dataframe where one of the columns contains all the file paths. In this case, `add these fields and values to data` is a mapping between the categorical file paths column and the ``values_by_field``. In other drivers where each file is read in independently the driver developer can set the new fields on the data from each file before concattenating. This pattern looks more like:: from intake.source.utils import reverse_format class FooSource(intake.source.base.DataSource): ... def _get_schema(self): # get list of file paths for path in file_paths: # read in the file values_by_field = reverse_format(self.pattern, path) # add these fields and values to the data # concatenate the datasets return data To toggle on and off this path as pattern behavior, the CSV and intake-xarray drivers uses the bool ``path_as_pattern`` keyword argument. intake-0.6.5/docs/source/overview.rst000066400000000000000000000102061416666122400176340ustar00rootroot00000000000000Overview ======== Introduction ------------ This page describes the technical design of Intake, with brief details of the aims of the project and components of the library Why Intake? ----------- Intake solves a related set of problems: * Python API standards for loading data (such as DB-API 2.0) are optimized for transactional databases and query results that are processed one row at a time. * Libraries that do load data in bulk tend to each have their own API for doing so, which adds friction when switching data formats. * Loading data into a distributed data structure (like those found in Dask and Spark) often requires writing a separate loader. * Abstractions often focus on just one data model (tabular, n-dimensional array, or semi-structured), when many projects need to work with multiple kinds of data. Intake has the explicit goal of **not** defining a computational expression system. Intake plugins load the data into containers (e.g., arrays or data-frames) that provide their data processing features. As a result, it is very easy to make a new Intake plugin with a relatively small amount of Python. Structure --------- Intake is a Python library for accessing data in a simple and uniform way. It consists of three parts: 1. A lightweight plugin system for adding data loader :term:`drivers` for new file formats and servers (like databases, REST endpoints or other cataloging services) 2. A cataloging system for specifying these sources in simple :term:`YAML` syntax, or with plugins that read source specs from some external data service 3. A server-client architecture that can share data catalog metadata over the network, or even stream the data directly to clients if needed Intake supports loading data into standard Python containers. The list can be easily extended, but the currently supported list is: * Pandas Dataframes - tabular data * NumPy Arrays - tensor data * Python lists of dictionaries - semi-structured data Additionally, Intake can load data into distributed data structures. Currently it supports Dask, a flexible parallel computing library with distributed containers like `dask.dataframe `_, `dask.array `_, and `dask.bag `_. In the future, other distributed computing systems could use Intake to create similar data structures. Concepts -------- Intake is built out of four core concepts: * Data Source classes: the "driver" plugins that each implement loading of some specific type of data into python, with plugin-specific arguments. * Data Source: An object that represents a reference to a data source. Data source instances have methods for loading the data into standard containers, like Pandas DataFrames, but do not load any data until specifically requested. * Catalog: A collection of catalog entries, each of which defines a Data Source. Catalog objects can be created from local YAML definitions, by connecting to remote servers, or by some driver that knows how to query an external data service. * Catalog Entry: A named data source held internally by catalog objects, which generate data source instances when accessed. The catalog entry includes metadata about the source, as well as the name of the driver and arguments. Arguments can be parameterized, allowing one entry to return different subsets of data depending on the user request. The business of a plugin is to go from some data format (bunch of files or some remote service) to a ":term:`Container`" of the data (e.g., data-frame), a thing on which you can perform further analysis. Drivers can be used directly by the user, or indirectly through data catalogs. Data sources can be pickled, sent over the network to other hosts, and reopened (assuming the remote system has access to the required files or servers). See also the :doc:`glossary`. Future Directions ----------------- Ongoing work for enhancements, as well as requests for plugins, etc., can be found at the `issue tracker `_. See the :ref:`roadmap` for general mid- and long-term goals. intake-0.6.5/docs/source/persisting.rst000066400000000000000000000124251416666122400201620ustar00rootroot00000000000000.. _persisting: Persisting Data =============== (this is an experimental new feature, expect enhancements and changes) Introduction ------------ As defined in the glossary, to :term:`Persist` is to convert data into the storage format most appropriate for the container type, and save a copy of this for rapid lookup in the future. This is of great potential benefit where the creation or transfer of the original data source takes some time. This is not to be confused with the file :term:`Cache`. Usage ----- Any :term:`Data Source` has a method ``.persist()``. The only option that you will need to pick is a :term:`TTL`, the number of seconds that the persisted version lasts before expiry (leave as ``None`` for no expiry). This creates a local copy in the persist directory, which may be in ``"~/.intake/persist``, but can be configured. Each container type (dataframe, array, ...) will have its own implementation of persistence, and a particular file storage format associated. The call to ``.persist()`` may take arguments to tune how the local files are created, and in some cases may require additional optional packages to be installed. Example:: cat = intake.open_catalog('mycat.yaml') # load a remote cat source = cat.csvsource() # source pointing to remote data source.persist() source = cat.csvsource() # future use now gives local intake_parquet.ParquetSource To control whether a catalog will automatically give you the persisted version of a source in this way using the argument ``persist_mode``, e.g., to ignore locally persisted versions, you could have done:: cat = intake.open_catalog('mycat.yaml', persist_mode='never') or source = cat.csvsource(persist_mode='never') Note that if you give a TTL (in seconds), then the original source will be accessed and a new persisted version written transparently when the old persisted version has expired. Note that after persisting, the original source will have ``source.has_been_persisted == True`` and the persisted source (i.e., the one loaded from local files) will have ``source.is_persisted == True``. Export ------ A similar concept to Persist, Export allows you to make a copy of some data source, in the format appropriate for its container, and place this data-set in whichever location suits you, including remote locations. This functionality (``source.export()``) does *not* touch the persist store; instead, it returns a YAML text representation of the output, so that you can put it into a catalog of your own. It would be this catalog that you share with other people. Note that "exported" data-sources like this do contain the information of the original source they were made from in their metadata, so you can recreate the original source, if you want to, and read from there. Persisting to Remote -------------------- If you are typically running your code inside of ephemoral containers, then persisting data-sets may be something that you want to do (because the original source is slow, or parsing is CPU/memory intensive), but the local storage is not useful. In some cases you may have access to some shared network storage mounted on the instance, but in other cases you will want to persist to a remote store. The config value ``'persist_path'``, which can also be set by the environment variable ``INTAKE_PERSIST_PATH`` can be a remote location such as ``s3://mybucket/intake-persist``. You will need to install the appropriate package to talk to the external storage (e.g., ``s3fs``, ``gcsfs``, ``pyarrow``), but otherwise everything should work as before, and you can access the persisted data from any container. The Persist Store ----------------- You can interact directly with the class implementing persistence:: from intake.container.persist import store This singleton instance, which acts like a catalog, allows you to query the contents of the instance store and to add and remove entries. It also allows you to find the original source for any given persisted source, and refresh the persisted version on demand. For details on the methods of the persist store, see the API documentation: :func:`intake.container.persist.PersistStore`. Sources in the store carry a lot of information about the sources they were made from, so that they can be remade successfully. This all appears in the source metadata. The sources use the "token" of the original data source as their key in the store, a value which can be found by ``dask.base.tokenize(source)`` for the original source, or can be taken from the metadata of a persisted source. Note that all of the information about persisted sources is held in a single YAML file in the persist directory (typically ``/persisted/cat.yaml`` within the config directory, but see ``intake.config.conf['persist_path']``). This file can be edited by hand if you wanted to, for example, set some persisted source not to expire. This is only recommended for experts. Future Enhancements ------------------- - CLI functionality to investigate and alter the state of the persist store. - Time check-pointing of persisted data, such that you can not only get the "most recent" but any version in the time-series. - (eventually) pipeline functionality, whereby a persisted data source depends on another persisted data source, and the whole train can be refreshed on a schedule or on demand. intake-0.6.5/docs/source/plotting.rst000066400000000000000000000171301416666122400176310ustar00rootroot00000000000000Plotting ======== Intake provides a plotting API based on the `hvPlot `_ library, which closely mirrors the pandas plotting API but generates interactive plots using `HoloViews `_ and `Bokeh `_. The `hvPlot website `_ provides comprehensive documentation on using the plotting API to quickly visualize and explore small and large datasets. The main features offered by the plotting API include: * Support for tabular data stored in pandas and dask dataframes * Support for gridded data stored in xarray backed nD-arrays * Support for plotting large datasets with `datashader `_ Using Intake alongside hvPlot allows declaratively persisting plot declarations and default options in the regular catalog.yaml files. Setup ''''' For detailed installation instructions see the `getting started section `_ in the hvPlot documentation. To start with install hvplot using conda: .. code-block:: bash conda install -c conda-forge hvplot or using pip: .. code-block:: bash pip install hvplot Usage ''''' The plotting API is designed to work well in and outside the Jupyter notebook, however when using it in JupyterLab the PyViz lab extension must be installed first: .. code-block:: bash jupyter labextension install @pyviz/jupyterlab_pyviz For detailed instructions on displaying plots in the notebook and from the Python command prompt see the `hvPlot user guide `_. Python Command Prompt & Scripts -------------------------------- Assuming the US Crime dataset has been installed (in the `intake-examples repo `_, or from conda with `conda install -c intake us_crime`): Once installed the plot API can be used, by using the ``.plot`` method on an intake ``DataSource``: .. code-block:: python import intake import hvplot as hp crime = intake.cat.us_crime columns = ['Burglary rate', 'Larceny-theft rate', 'Robbery rate', 'Violent Crime rate'] violin = crime.plot.violin(y=columns, group_label='Type of crime', value_label='Rate per 100k', invert=True) hp.show(violin) .. image:: _static/images/plotting_violin.png Notebook -------- Inside the notebook plots will display themselves, however the notebook extension must be loaded first. The extension may be loaded by importing ``hvplot.intake`` module or explicitly loading the holoviews extension, or by calling ``intake.output_notebook()``: .. code-block:: python # To load the extension run this import import hvplot.intake # Or load the holoviews extension directly import holoviews as hv hv.extension('bokeh') # convenience function import intake intake.output_notebook() crime = intake.cat.us_crime columns = ['Violent Crime rate', 'Robbery rate', 'Burglary rate'] crime.plot(x='Year', y=columns, value_label='Rate (per 100k people)') .. raw:: html :file: _static/images/plotting_example.html Predefined Plots ---------------- Some catalogs will define plots appropriate to a specific data source. These will be specified such that the user gets the right view with the right columns and labels, without having to investigate the data in detail -- this is ideal for quick-look plotting when browsing sources. .. code-block:: python import intake intake.us_crime.plots Returns `['example']`. This works whether accessing the entry object or the source instance. To visualise .. code-block:: python intake.us_crime.plot.example() Persisting metadata ''''''''''''''''''' Intake allows catalog yaml files to declare metadata fields for each data source which are made available alongside the actual dataset. The plotting API reserves certain fields to define default plot options, to label and annotate the data fields in a dataset and to declare pre-defined plots. Declaring defaults ------------------ The first set of metadata used by the plotting API is the `plot` field in the metadata section. Any options found in the metadata field will apply to all plots generated from that data source, allowing the definition of plotting defaults. For example when plotting a fairly large dataset such as the NYC Taxi data, it might be desirable to enable datashader by default ensuring that any plot that supports it is datashaded. The syntax to declare default plot options is as follows: .. code-block:: yaml sources: nyc_taxi: description: NYC Taxi dataset driver: parquet args: urlpath: 's3://datashader-data/nyc_taxi_wide.parq' metadata: plot: datashade: true Declaring data fields --------------------- The columns of a CSV or parquet file or the coordinates and data variables in a NetCDF file often have shortened, or cryptic names with underscores. They also do not provide additional information about the units of the data or the range of values, therefore the catalog yaml specification also provides the ability to define additional information about the `fields` in a dataset. Valid attributes that may be defined for the data `fields` include: - `label`: A readable label for the field which will be used to label axes and widgets - `unit`: A unit associated with the values inside a data field - `range`: A range associated with a field declaring limits which will override those computed from the data Just like the default plot options the `fields` may be declared under the metadata section of a data source: .. code-block:: yaml sources: nyc_taxi: description: NYC Taxi dataset driver: parquet args: urlpath: 's3://datashader-data/nyc_taxi_wide.parq' metadata: fields: dropoff_x: label: Longitude dropoff_y: label: Latitude total_fare: label: Fare unit: $ Declaring custom plots ---------------------- As shown in the `hvPlot user guide `__, the plotting API provides a variety of plot types, which can be declared using the `kind` argument or via convenience methods on the plotting API, e.g. `cat.source.plot.scatter()`. In addition to declaring default plot options and field metadata data sources may also declare custom plot, which will be made available as methods on the plotting API. In this way a catalogue may declare any number of custom plots alongside a datasource. To make this more concrete consider the following custom plot declaration on the `plots` field in the metadata section: .. code-block:: yaml sources: nyc_taxi: description: NYC Taxi dataset driver: parquet args: urlpath: 's3://datashader-data/nyc_taxi_wide.parq' metadata: plots: dropoff_scatter: kind: scatter x: dropoff_x y: dropoff_y datashade: True width: 800 height: 600 This declarative specification creates a new custom plot called `dropoff_scatter`, which will be available on the catalog under `cat.nyc_taxi.plot.dropoff_scatter()`. Calling this method on the plot API will automatically generate a datashaded scatter plot of the dropoff locations in the NYC taxi dataset. Of course the three metadata fields may also be used together, declaring global defaults under the `plot` field, annotations for the data `fields` under the `fields` key and custom plots via the `plots` field. intake-0.6.5/docs/source/plugin-directory.rst000066400000000000000000000134251416666122400212740ustar00rootroot00000000000000.. _plugin-directory: Plugin Directory ================ This is a list of known projects which install driver plugins for Intake, and the named drivers each contains in parentheses: * builtin to Intake (``catalog``, ``csv``, ``intake_remote``, ``ndzarr``, ``numpy``, ``textfiles``, ``yaml_file_cat``, ``yaml_files_cat``, ``zarr_cat``, ``json``, ``jsonl``) * `intake-astro `_ Table and array loading of FITS astronomical data (``fits_array``, ``fits_table``) * `intake-accumulo `_ Apache Accumulo clustered data storage (``accumulo``) * `intake-avro `_: Apache Avro data serialization format (``avro_table``, ``avro_sequence``) * `intake-bluesky `_: search and retrieve data in the `bluesky `_ data model * `intake-dcat `_ Browse and load data from `DCAT `_ catalogs. (``dcat``) * `intake-dynamodb `_ link to Amazon DynamoDB (``dynamodb``) * `intake-elasticsearch `_: Elasticsearch search and analytics engine (``elasticsearch_seq``, ``elasticsearch_table``) * `intake-esm `_: Plugin for building and loading intake catalogs for earth system data sets holdings, such as `CMIP `_ (Coupled Model Intercomparison Project) and CESM Large Ensemble datasets. * `intake-geopandas `_: load from ESRI Shape Files, GeoJSON, and geospatial databases with geopandas (``geojson``, ``postgis``, ``shapefile``, ``spatialite``) and ``regionmask`` for opening shapefiles into `regionmask `_. * `intake-google-analytics `_: run Google Analytics queries and load data as a DataFrame (``google_analytics_query``) * `intake-hbase `_: Apache HBase database (``hbase``) * `intake-iris `_ load netCDF and GRIB files with IRIS (``grib``, ``netcdf``) * `intake-metabase `_: Generate catalogs and load tables as DataFrames from Metabase (``metabase_catalog``, ``metabase_table``) * `intake-mongo `_: MongoDB noSQL query (``mongo``) * `intake-nested-yaml-catalog `__: Plugin supporting a single YAML hierarchical catalog to organize datasets and avoid a data swamp. (``nested_yaml_cat``) * `intake-netflow `_: Netflow packet format (``netflow``) * `intake-notebook `_: Experimental plugin to access parameterised notebooks through intake and executed via papermill (``ipynb``) * `intake-odbc `_: ODBC database (``odbc``) * `intake-parquet `_: Apache Parquet file format (``parquet``) * `intake-pattern-catalog `_: Plugin for specifying a file-path pattern which can represent a number of different entries (``pattern_cat``) * `intake-pcap `_: PCAP network packet format (``pcap``) * `intake-postgres `_: PostgreSQL database (``postgres``) * `intake-s3-manifests `_ (``s3_manifest``) * `intake-salesforce `_: Generate catalogs and load tables as DataFrames from Salesforce (``salesforce_catalog``, ``salesforce_table``) * `intake-sklearn `_: Load scikit-learn models from Pickle files (``sklearn``) * `intake-solr `_: Apache Solr search platform (``solr``) * `intake-stac `_: Intake Driver for `SpatioTemporal Asset Catalogs (STAC) `_. * `intake-stripe `_: Generate catalogs and load tables as DataFrames from Stripe (``stripe_catalog``, ``stripe_table``) * `intake-spark `_: data processed by Apache Spark (``spark_cat``, ``spark_rdd``, ``spark_dataframe``) * `intake-sql `_: Generic SQL queries via SQLAlchemy (``sql_cat``, ``sql``, ``sql_auto``, ``sql_manual``) * `intake-splunk `_: Splunk machine data query (``splunk``) * `intake-streamz `_: real-time event processing using Streamz (``streamz``) * `intake-thredds `_: Intake interface to THREDDS data catalogs (``thredds_cat``, ``thredds_merged_source``) * `intake-xarray `_: load netCDF, Zarr and other multi-dimensional data (``xarray_image``, ``netcdf``, ``grib``, ``opendap``, ``rasterio``, ``remote-xarray``, ``zarr``) The status of these projects is available at `Status Dashboard `_. Don't see your favorite format? See :doc:`making-plugins` for how to create new plugins. Note that if you want your plugin listed here, open an issue in the `Intake issue repository `_ and add an entry to the `status dashboard repository `_. We also have a `plugin wishlist Github issue `_ that shows the breadth of plugins we hope to see for Intake. intake-0.6.5/docs/source/quickstart.rst000066400000000000000000000241511416666122400201640ustar00rootroot00000000000000Quickstart ========== This guide will show you how to get started using Intake to read data, and give you a flavour of how Intake feels to the :term:`Data User`. It assumes you are working in either a conda or a virtualenv/pip environment. For notebooks with executable code, see the :doc:`examples`. This walk-through can be run from a notebook or interactive python session. Installation ------------ If you are using `Anaconda`_ or Miniconda, install Intake with the following commands:: conda install -c conda-forge intake If you are using virtualenv/pip, run the following command:: pip install intake Note that this will install with the minimum of optional requirements. If you want a more complete install, use `intake[complete]` instead. .. _Anaconda: https://www.anaconda.com/download/ Creating Sample Data -------------------- Let's begin by creating a sample data set and catalog. At the command line, run the ``intake example`` command. This will create an example data :term:`Catalog` and two CSV data files. These files contains some basic facts about the 50 US states, and the catalog includes a specification of how to load them. Loading a Data Source --------------------- :term:`Data sources` can be created directly with the ``open_*()`` functions in the ``intake`` module. To read our example data:: >>> import intake >>> ds = intake.open_csv('states_*.csv') >>> print(ds) Each open function has different arguments, specific for the data format or service being used. Reading Data ------------ Intake reads data into memory using :term:`containers` you are already familiar with: * Tables: Pandas DataFrames * Multidimensional arrays: NumPy arrays * Semistructured data: Python lists of objects (usually dictionaries) To find out what kind of container a data source will produce, inspect the ``container`` attribute:: >>> ds.container 'dataframe' The result will be ``dataframe``, ``ndarray``, or ``python``. (New container types will be added in the future.) For data that fits in memory, you can ask Intake to load it directly:: >>> df = ds.read() >>> df.head() state slug code nickname ... 0 Alabama alabama AL Yellowhammer State 1 Alaska alaska AK The Last Frontier 2 Arizona arizona AZ The Grand Canyon State 3 Arkansas arkansas AR The Natural State 4 California california CA Golden State Many data sources will also have quick-look plotting available. The attribute ``.plot`` will list a number of built-in plotting methods, such as ``.scatter()``, see :doc:`plotting`. Intake data sources can have *partitions*. A partition refers to a contiguous chunk of data that can be loaded independent of any other partition. The partitioning scheme is entirely up to the plugin author. In the case of the CSV plugin, each ``.csv`` file is a partition. To read data from a data source one chunk at a time, the ``read_chunked()`` method returns an iterator:: >>> for chunk in ds.read_chunked(): print('Chunk: %d' % len(chunk)) ... Chunk: 24 Chunk: 26 Working with Dask ----------------- Working with large datasets is much easier with a parallel, out-of-core computing library like `Dask `_. Intake can create Dask containers (like ``dask.dataframe``) from data sources that will load their data only when required:: >>> ddf = ds.to_dask() >>> ddf Dask DataFrame Structure: admission_date admission_number capital_city capital_url code constitution_url facebook_url landscape_background_url map_image_url nickname population population_rank skyline_background_url slug state state_flag_url state_seal_url twitter_url website npartitions=2 object int64 object object object object object object object object int64 int64 object object object object object object object ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Dask Name: from-delayed, 4 tasks The Dask containers will be partitioned in the same way as the Intake data source, allowing different chunks to be processed in parallel. Please read the Dask documentation to understand the differences when working with Dask collections (Bag, Array or Data-frames). Opening a Catalog ----------------- A :term:`Catalog` is a collection of data sources, with the type and arguments prescribed for each, and arbitrary metadata about each source. In the simplest case, a catalog can be described by a file in YAML format, a ":term:`Catalog file`". In real usage, catalogues can be defined in a number of ways, such as remote files, by connecting to a third-party data service (e.g., SQL server) or through an Intake :term:`Server` protocol, which can implement any number of ways to search and deliver data sources. The ``intake example`` command, above, created a catalog file with the following :term:`YAML`-syntax content: .. code-block:: yaml sources: states description: US state information from [CivilServices](https://civil.services/) driver: csv args: urlpath: '{{ CATALOG_DIR }}/states_*.csv' metadata: origin_url: 'https://github.com/CivilServiceUSA/us-states/blob/v1.0.0/data/states.csv' To load a :term:`Catalog` from a :term:`Catalog file`:: >>> cat = intake.open_catalog('us_states.yml') >>> list(cat) ['states'] This catalog contains one data source, called ``states``. It can be accessed by attribute:: >>> cat.states.to_dask()[['state','slug']].head() state slug 0 Alabama alabama 1 Alaska alaska 2 Arizona arizona 3 Arkansas arkansas 4 California california Placing data source specifications into a catalog like this enables declaring data sets in a single canonical place, and not having to use boilerplate code in each notebook/script that makes use of the data. The catalogs can also reference one-another, be stored remotely, and include extra metadata such as a set of named quick-look plots that are appropriate for the particular data source. Note that catalogs are **not** restricted to being stored in YAML files, that just happens to be the simplest way to display them. Many catalog entries will also contain "user_parameter" blocks, which are indications of options explicitly allowed by the catalog author, or for validation or the values passed. The user can customise how a data source is accessed by providing values for the user_parameters, overriding the arguments specified in the entry, or passing extra keyword arguments to be passed to the driver. The keywords that should be passed are limited to the user_parameters defined and the inputs expected by the specific driver - such usage is expected only from those already familiar with the specifics of the given format. In the following example, the user overrides the "csv_kwargs" keyword, which is described in the documentation for :func:`CSVSource ` and gets passed down to the CSV reader:: # pass extra kwargs understood by the csv driver >>> intake.cat.states(csv_kwargs={'header': None, 'skiprows': 1}).read().head() 0 1 ... 17 0 Alabama alabama ... https://twitter.com/alabamagov 1 Alaska alaska ... https://twitter.com/alaska Note that, if you are *creating* such catalogs, you may well start by trying the ``open_csv`` command, above, and then use ``print(ds.yaml())``. If you do this now, you will see that the output is very similar to the catalog file we have provided. Installing Data Source Packages ------------------------------- Intake makes it possible to create :term:`Data packages` (``pip`` or ``conda``) that install data sources into a global catalog. For example, we can install a data package containing the same data we have been working with:: conda install -c intake data-us-states :term:`Conda` installs the catalog file in this package to ``$CONDA_PREFIX/share/intake/us_states.yml``. Now, when we import ``intake``, we will see the data from this package appear as part of a global catalog called ``intake.cat``. In this particular case we use Dask to do the reading (which can handle larger-than-memory data and parallel processing), but ``read()`` would work also:: >>> import intake >>> intake.cat.states.to_dask()[['state','slug']].head() state slug 0 Alabama alabama 1 Alaska alaska 2 Arizona arizona 3 Arkansas arkansas 4 California california The global catalog is a union of all catalogs installed in the conda/virtualenv environment and also any catalogs installed in user-specific locations. Adding Data Source Packages using the Intake path ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Intake checks the Intake config file for ``catalog_path`` or the environment variable ``"INTAKE_PATH"`` for a colon separated list of paths (semicolon on windows) to search for catalog files. When you import ``intake`` we will see all entries from all of the catalogues referenced as part of a global catalog called ``intake.cat``. Using the GUI ------------- A graphical data browser is available in the Jupyter notebook environment or standalone web-server. It will show the contents of any installed catalogs, plus allows for selecting local and remote catalogs, to browse and select entries from these. See :doc:`gui`. intake-0.6.5/docs/source/reference.rst000066400000000000000000000002031416666122400177200ustar00rootroot00000000000000Reference --------- .. toctree:: :maxdepth: 1 api.rst making-plugins.rst auth-plugins.rst data-packages.rst intake-0.6.5/docs/source/roadmap.rst000066400000000000000000000101341416666122400174110ustar00rootroot00000000000000.. _roadmap: Roadmap ======= Some high-level work that we expect to be achieved on the time-scale of months. This list is not exhaustive, but rather aims to whet the appetite for what Intake can be in the future. Since Intake aims to be a community of data-oriented pythoneers, nothing written here is laid in stone, and users and devs are encouraged to make their opinions known! Broaden the coverage of formats ------------------------------- Data-type drivers are easy to write, but still require some effort, and therefore reasonable impetus to get the work done. Conversations over the coming months can help determine the drivers that should be created by the Intake team, and those that might be contributed by the community. The next type that we would specifically like to consider is machine learning model artifacts. **EDIT** see https://github.com/AlbertDeFusco/intake-sklearn , and hopefully more to come. Streaming Source ---------------- Many data sources are inherently time-sensitive and event-wise. These are not covered well by existing Python tools, but the ``streamz`` library may present a nice way to model them. From the Intake point of view, the task would be to develop a streaming type, and at least one data driver that uses it. The most obvious place to start would be read a file: every time a new line appears in the file, an event is emitted. This is appropriate, for instance, for watching the log files of a web-server, and indeed could be extended to read from an arbitrary socket. **EDIT** see: https://github.com/intake/intake-streamz Server publish hooks -------------------- To add API endpoints to the server, so that a user (with sufficient privilege) can post data specifications to a running server, optionally saving the specs to a catalog server-side. Furthermore, we will consider the possibility of being able to upload and/or transform data (rather than refer to it in a third-party location), so that you would have a one-line "publish" ability from the client. The server, in general, could do with a lot of work to become more than the current demonstration/prototype. In particular, it should be able to be performant and scalable, meaning that the server implementation ought to keep as little local state as possible. Simplify dependencies and class hierarchy ----------------------------------------- We would like the make it easier to write Intake drivers which don't need any persist or GUI functionality, and to be able to install Intake core functionality (driver registry, data loading and catalog traversal) without needing many other packages at all. **EDIT** this has been partly done, you can derive from ``DataSourceBase`` and not have to use the full set of Intake's features for simplicity. We have also gone some distance to separate out dependencies for parts of the package, so that you can install Intake and only use some of the subpackages/modules - imports don't happen until those parts of the code are used. We have *not* yet split the intake conda package into, for example, intake-base, intake-server, intake-gui... Reader API ---------- For those that wish to provide Intake's data source API, and make data sources available to Intake cataloguing, but don't wish to take Intake as a direct dependency. The actual API of ``DataSources`` is rather simple: - ``__init__``: collect arguments, minimal IO at this point - ``discover()``: get metadata from the source, by querying the files/service itself - ``read()``: return in-memory version of the data - ``to_*``: return reference objects for the given compute engine, typically Dask - ``read_partition(...)``: read part of the data into memory, where the argument makes sense for the given type of data - ``configure_new()``: create new instance with different arguments - ``yaml()``: representation appropriate for inclusion in a YAML catalogue - ``close()``: release any resources Of these, only the first three are really necessary for a iminal interface, so Intake might do well to publish this *protocol specification*, so that new drivers can be written that can be used by Intake but do not need Intake, and so help adoption. intake-0.6.5/docs/source/server.rst000066400000000000000000000173621416666122400173060ustar00rootroot00000000000000.. _server: Server Protocol =============== This page gives deeper details on how the Intake :term:`server` is implemented. For those simply wishing to run and configure a server, see the :doc:`tools` section. Communication between the intake client and server happens exclusively over HTTP, with all parameters passed using msgpack UTF8 encoding. The server side is implemented by the module ``intake.cli.server``. Currently, only the following two routes are available: - ``http://server:port/v1/info`` - ``http://server:port/v1/source``. The server may be configured to use auth services, which, when passed the header of the incoming call, can determine whether the given request is allowed. See :doc:`auth-plugins`. GET /info --------- Retrieve information about the data-sets available on this server. The list of data-sets may be paginated, in order to avoid excessively long transactions. Notice that the catalog for which a listing is being requested can itself be a data-source (when ``source-id`` is passed) - this is how nested sub-catalogs are handled on the server. Parameters ~~~~~~~~~~ - ``page_size``, int or none (optional): to enable pagination, set this value. The number of entries returned will be this value at most. If None, returns all entries. This is passed as a query parameter. - ``page_offset``, int (optional): when paginating, start the list from this numerical offset. The order of entries is guaranteed if the base catalog has not changed. This is passed as a query parameter. - ``source-id``, uuid string (optional): when the catalog being accessed is not the route catalog, but an open data-source on the server, this is its unique identifier. See ``POST /source`` for how these IDs are generated. If the catalog being accessed is the root Catalog, this parameter should be omitted. This is passed as an HTTP header. Returns ~~~~~~~ - ``version``, string: the server's Intake version - ``sources``, list of objects: the main payload, where each object contains a ``name``, and the result of calling ``.describe()`` on the corresponding data-source, i.e., the container type, description, metadata. - ``metadata``, object: any metadata associated with the whole catalog GET /source ----------- Fetch information about a specific source. This is the random-access variant of the ``GET /info`` route, by which a particular data-source can be accessed without paginating through all of the sources. Parameters ~~~~~~~~~~ - ``name``, string (required): the data source name being accessed, one of the members of the catalog. This is passed as a query parameter. - ``source-id``, uuid string (optional): when the catalog being accessed is not the root catalog, but an open data-source on the server, this is its unique identifier. See ``POST /source`` for how these IDs are generated. If the catalog being accessed is the root Catalog, this parameter should be omitted. This is passed as an HTTP header. Returns ~~~~~~~ Same as one of the entries in ``sources`` for ``GET /info``: the result of ``.describe()`` on the given data-source in the server POST /source, action="search" ----------------------------- Searching a Catalog returns search results in the form of a new Catalog. This "results" Catalog is cached on the server the same as any other Catalog. Parameters ~~~~~~~~~~ - ``source-id``, uuid string (optional): When the catalog being searched is not the root catalog, but a subcatalog on the server, this is its unique identifier. If the catalog being searched is the root Catalog, this parameter should be omitted. This is passed as an HTTP header. - ``query``: tuple of ``(args, kwargs)``: These will be unpacked into ``Catalog.search`` on the server to create the "results" Catalog. This is passed in the body of the message. Returns ~~~~~~~ - ``source_id``, uuid string: the identifier of the results Catalog in the server's source cache POST /source, action="open" --------------------------- This is a more involved processing of a data-source, and, if successful, returns one of two possible scenarios: - direct-access, in which all the details required for reading the data directly from the client are passed, and the client then creates a local copy of the data source and needs no further involvement from the server in order to fetch the data - remote-access, in which the client is unable or unwilling to create a local version of the data-source, and instead created a remote data-source which will fetch the data for each partition from the server. The set of parameters supplied and the server/client policies will define which method of access is employed. In the case of remote-access, the data source is instantiated on the server, and ``.discover()`` run on it. The resulting information is passed back, and must be enough to instantiate a subclass of ``intake.container.base.RemoteSource`` appropriate for the container of the data-set in question (e.g., ``RemoteArray`` when ``container="ndarray"``). In this case, the response also includes a UUID string for the open instance on the server, referencing the cache of open sources maintained by the server. Note that "opening" a data entry which is itself is a catalog implies instantiating that catalog object on the server and returning its UUID, such that a listing can be made using ``GET/ info`` or ``GET /source``. Parameters ~~~~~~~~~~ - ``name``, string (required): the data source name being accessed, one of the members of the catalog. This is passed in the body of the request. - ``source-id``, uuid string (optional): when the catalog being accessed is not the root catalog, but an open data-source on the server, this is its unique identifier. If the catalog being accessed is the root Catalog, this parameter should be omitted. This is passed as an HTTP header. - ``available_plugins``, list of string (optional): the set of named data drivers supported by the client. If the driver required by the data-source is not supported by the client, then the source must be opened remote-access. This is passed in the body of the request. - ``parameters``, object (optional): user parameters to pass to the data-source when instantiating. Whether or not direct-access is possible may, in principle, depend on these parameters, but this is unlikely. Note that some parameter default value functions are designed to be evaluated on the server, which may have access to, for example, some credentials service (see :ref:`paramdefs`). This is passed in the body of the request. Returns ~~~~~~~ If direct-access, the driver plugin name and set of arguments for instantiating the data-soruce in the client. If remote-access, the data-source container, schema and source-ID so that further reads can be made from the server. POST /source, action="read" --------------------------- This route fetches data from the server once a data-source has been opened in remote-access mode. Parameters ~~~~~~~~~~ - ``source-id``, uuid string (required): the identifier of the data-source in the server's source cache. This is returned when ``action="open"``. This is passed in the body of the request. - ``partition``, int or tuple (optional, but necessary for some sources): section/chunk of the data to fetch. In cases where the data-source is partitioned, the client will fetch the data one partition at a time, so that it will appear partitioned in the same manner on the client side for iteration of passing to Dask. Some data-sources do not support partitioning, and then this parameter is not required/ignored. This is passed in the body of the request. - ``accepted_formats``, ``accepted_compression``, list of strings (required): to specify how serialization of data happens. This is an expert feature, see docs in the module ``intake.container.serializer``. This is passed in the body of the request. intake-0.6.5/docs/source/start.rst000066400000000000000000000004641416666122400171300ustar00rootroot00000000000000.. _start: Start here ---------- These documents will familiarise you with Intake, show you some basic usage and examples, and describe Intake's place in the wider python data world. .. toctree:: :maxdepth: 1 quickstart.rst use_cases.rst overview.rst examples.rst deployments.rst intake-0.6.5/docs/source/tools.rst000066400000000000000000000170401416666122400171310ustar00rootroot00000000000000Command Line Tools ================== The package installs two executable commands: for starting the catalog server; and a client for accessing catalogs and manipulating the configuration. .. _configuration: Configuration ------------- A file-based configuration service is available to Intake. This file is by default sought at the location ``~/.intake/conf.yaml``, but either of the environment variables ``INTAKE_CONF_DIR`` or ``INTAKE_CONF_FILE`` can be used to specify another directory or file. If both are given, the latter takes priority. At present, the configuration file might look as follows: .. code-block:: yaml auth: cls: "intake.auth.base.BaseAuth" port: 5000 catalog_path: - /home/myusername/special_dir These are the defaults, and any parameters not specified will take the values above * the Intake Server will listen on port 5000 (this can be overridden on the command line, see below) * and the auth system used will be the fully qualified class given (which, for BaseAuth, always allows access). For further information on securing the Intake Server, see the :ref:`authplugins`. See ``intake.config.defaults`` for a full list of keys and their default values. Log Level --------- The logging level is configurable using Python's built-in logging module. The config option ``'logging'`` holds the current level for the intake logger, and can take values such as ``'INFO'`` or ``'DEBUG'``. This can be set in the ``conf.yaml`` file of the config directory (e.g., ``~/.intake/``), or overriden by the environment variable ``INTAKE_LOG_LEVEL``. Furthermore, the level and settings of the logger can be changed programmatically in code:: import logging logger = logging.getLogger('intake') logger.setLevel(logging.DEBUG) logget.addHandler(..) Intake Server ------------- The server takes one or more catalog files as input and makes them available on port 5000 by default. You can see the full description of the server command with: :: >>> intake-server --help usage: intake-server [-h] [-p PORT] [--list-entries] [--sys-exit-on-sigterm] [--flatten] [--no-flatten] [-a ADDRESS] FILE [FILE ...] Intake Catalog Server positional arguments: FILE Name of catalog YAML file optional arguments: -h, --help show this help message and exit -p PORT, --port PORT port number for server to listen on --list-entries list catalog entries at startup --sys-exit-on-sigterm internal flag used during unit testing to ensure .coverage file is written --flatten --no-flatten -a ADDRESS, --address ADDRESS address to use as a host, defaults to the address in the configuration file, if provided otherwise localhost usage: intake-server [-h] [-p PORT] [--list-entries] [--sys-exit-on-sigterm] [--flatten] [--no-flatten] [-a ADDRESS] FILE [FILE ...] To start the server with a local catalog file, use the following: :: >>> intake-server intake/catalog/tests/catalog1.yml Creating catalog from: - intake/catalog/tests/catalog1.yml catalog_args ['intake/catalog/tests/catalog1.yml'] Entries: entry1,entry1_part,use_example1 Listening on port 5000 You can use the catalog client (defined below) using: :: $ intake list intake://localhost:5000 entry1 entry1_part use_example1 Intake Client ------------- While the Intake data sources will typically be accessed through the Python API, you can use the client to verify a catalog file. Unlike the server command, the client has several subcommands to access a catalog. You can see the list of available subcommands with: :: >>> intake --help usage: intake {list,describe,exists,get,discover} ... We go into further detail in the following sections. List '''' This subcommand lists the names of all available catalog entries. This is useful since other subcommands require these names. If you wish to see the details about each catalog entry, use the ``--full`` flag. This is equivalent to running the ``intake describe`` subcommand for all catalog entries. :: >>> intake list --help usage: intake list [-h] [--full] URI positional arguments: URI Catalog URI optional arguments: -h, --help show this help message and exit --full :: >>> intake list intake/catalog/tests/catalog1.yml entry1 entry1_part use_example1 >>> intake list --full intake/catalog/tests/catalog1.yml [entry1] container=dataframe [entry1] description=entry1 full [entry1] direct_access=forbid [entry1] user_parameters=[] [entry1_part] container=dataframe [entry1_part] description=entry1 part [entry1_part] direct_access=allow [entry1_part] user_parameters=[{'default': '1', 'allowed': ['1', '2'], 'type': u'str', 'name': u'part', 'description': u'part of filename'}] [use_example1] container=dataframe [use_example1] description=example1 source plugin [use_example1] direct_access=forbid [use_example1] user_parameters=[] Describe '''''''' Given the name of a catalog entry, this subcommand lists the details of the respective catalog entry. :: >>> intake describe --help usage: intake describe [-h] URI NAME positional arguments: URI Catalog URI NAME Catalog name optional arguments: -h, --help show this help message and exit :: >>> intake describe intake/catalog/tests/catalog1.yml entry1 [entry1] container=dataframe [entry1] description=entry1 full [entry1] direct_access=forbid [entry1] user_parameters=[] Discover '''''''' Given the name of a catalog entry, this subcommand returns a key-value description of the data source. The exact details are subject to change. :: >>> intake discover --help usage: intake discover [-h] URI NAME positional arguments: URI Catalog URI NAME Catalog name optional arguments: -h, --help show this help message and exit :: >>> intake discover intake/catalog/tests/catalog1.yml entry1 {'npartitions': 2, 'dtype': dtype([('name', 'O'), ('score', '>> intake exists --help usage: intake exists [-h] URI NAME positional arguments: URI Catalog URI NAME Catalog name optional arguments: -h, --help show this help message and exit :: >>> intake exists intake/catalog/tests/catalog1.yml entry1 True >>> intake exists intake/catalog/tests/catalog1.yml entry2 False Get ''' Given the name of a catalog entry, this subcommand outputs the entire data source to standard output. :: >>> intake get --help usage: intake get [-h] URI NAME positional arguments: URI Catalog URI NAME Catalog name optional arguments: -h, --help show this help message and exit :: >>> intake get intake/catalog/tests/catalog1.yml entry1 name score rank 0 Alice1 100.5 1 1 Bob1 50.3 2 2 Charlie1 25.0 3 3 Eve1 25.0 3 4 Alice2 100.5 1 5 Bob2 50.3 2 6 Charlie2 25.0 3 7 Eve2 25.0 3 Config and Cache '''''''''''''''' CLI functions starting with ``intake cache`` and ``intake config`` are available to provide information about the system: the locations and value of configuration parameters, and the state of cached files. intake-0.6.5/docs/source/transforms.rst000066400000000000000000000153651416666122400201770ustar00rootroot00000000000000Dataset Transforms ------------------ aka. derived datasets. .. warning:: experimental feature, the API may change. The data sources in ``intake.source.derived`` are not yet declared as top-level named drivers in the package entrypoints. Intake allows for the definition of data sources which take as their input another source in the same directory, so that you have the opportunity to present *processing* to the user of the catalog. The "target" or a derived data source will normally be a string. In the simple case, it is the name of a data source in the same catalog. However, we use the syntax "catalog:source" to refer to sources in other catalogs, where the part before ":" will be passed to :func:`intake.open_catalog`, together with any keyword arguments from ``cat_kwargs``. This can be done by defining classes which inherit from ``intake.source.derived.DerivedSource``, or using one of the pre-defined classes in the same module, which usually need to be passed a reference to a function in a python module. We will demonstrate both. Example ``````` Consider the following *target* dataset, which loads some simple facts about US states from a CSV file. This example is taken from the Intake test suite. .. code-block::yaml sources: input_data: description: a local data file driver: csv args: urlpath: '{{ CATALOG_DIR }}cache_data/states.csv' We now show two ways to apply a super-simple transform to this data, which selects two of the dataframe's columns. Class Example ~~~~~~~~~~~~~ The first version uses an approach in which the transform is derived in a data source class, and the parameters passed are specific to the transform type. Note that the driver is referred to by it's fully-qualified name in the Intake package. .. code-block::yaml derive_cols: driver: intake.source.derived.Columns args: targets: - input_data columns: ["state", "slug"] The source class for this is included in the Intake codebase, but the important part is: .. code-block:: python class Columns(DataFrameTransform): ... def pick_columns(self, df): return df[self._params["columns"]] We see that this specific class inherits from ``DataFrameTransform``, with ``transform=self.pick_columns``. We know that the inputs and outputs are both dataframes. This allows for some additional validation and an automated way to infer the output dataframe's schema that reduces the number of line of code required. The given method does exactly what you might imagine: it takes and input dataframe and applies a column selection to it. Running ``cat.derive_cols.read()`` will indeed, as expected, produce a version of the data with only the selected columns included. It does this by defining the original dataset, appying the selection, and then getting Dask to generate the output. For some datasets, this can mean that the selection is pushed down to the reader, and the data for the dropped columns is never loaded. The user may choose to do ``.to_dask()`` instead, and manipulate the lazy dataframe directly, before loading. Functional Example ~~~~~~~~~~~~~~~~~~ This second version of the same output uses the more generic and flexible ``intake.source.derived.DataFrameTransform``. .. code-block:: yaml derive_cols_func: driver: intake.source.derived.DataFrameTransform args: targets: - input_data transform: "intake.source.tests.test_derived._pick_columns" transform_kwargs: columns: ["state", "slug"] In this case, we pass a reference to a *function* defined in the Intake test suite. Normally this would be declared in user modules, where perhaps those declarations and catalog(s) are distributed together as a package. .. code-block:: python def _pick_columns(df, columns): return df[columns] This is, of course, very similar to the method shown in the previous section, and again applies the selection in the given named argument to the input. Note that Intake does not support including actual code in your catalog, since we would not want to allow arbitrary execution of code on catalog load, as opposed to execution. Loading this data source proceeds exactly the same way as the class-based approach, above. Both Dask and in-memory (Pandas, via ``.read()``) methods work as expected. The declaration in YAML, above, is slightly more verbose, but the amount of code is smaller. This demonstrates a tradeoff between flexibility and concision. If there were validation code to add for the arguments or input dataset, it would be less obvious where to put these things. Barebone Example ~~~~~~~~~~~~~~~~ The previous two examples both did dateframe to dataframe transforms. However, totally arbitrary computations are possible. Consider the following: .. code-block:: yaml barebones: driver: intake.source.derived.GenericTransform args: targets: - input_data transform: builtins.len transform_kwargs: {} This applies ``len`` to the input dataframe. ``cat.barebones.describe()`` gives the output container type as "other", i.e., not specified. The result of ``read()`` on this gives the single number 50, the number of rows in the input data. This class, and ``DerivedDataSource`` and included with the intent as superclasses, and probably will not be used directly often. Execution engine ```````````````` None of the above example specified explicitly where the compute implied by the transformation will take place. However, most Intake drivers support in-memory containers and Dask; remembering that the input dataset here is a dataframe. However, the behaviour is defined in the driver class itself - so it would be fine to write a driver in which we make different assumptions. Let's suppose, for instance, that the original source is to be loaded from ``spark`` (see the ``intake-spark`` package), the driver could explicitly call ``.to_spark`` on the original source, and be assured that it has a Spark object to work with. It should, of course, explain in its documentation what assumptions are being made and that, presumably, the user is expected to also call ``.to_spark`` if they wished to directly manipulate the spark object. API ``` .. autosummary:: intake.source.derived.DerivedSource intake.source.derived.Alias intake.source.derived.GenericTransform intake.source.derived.DataFrameTransform intake.source.derived.Columns .. autoclass:: intake.source.derived.DerivedSource :members: __init__ .. autoclass:: intake.source.derived.Alias :members: __init__ .. autoclass:: intake.source.derived.GenericTransform :members: __init__ .. autoclass:: intake.source.derived.DataFrameTransform :members: __init__ .. autoclass:: intake.source.derived.Columns :members: __init__ intake-0.6.5/docs/source/use_cases.rst000066400000000000000000000443131416666122400177460ustar00rootroot00000000000000.. _usecases: Use Cases - I want to... ======================== Here follows a list of specific things that people may want to get done, and details of how Intake can help. The details of how to achieve each of these activities can be found in the rest of the detailed documentation. Avoid copy&paste of blocks of code for accessing data ----------------------------------------------------- This is a very common pattern, if you want to load some specific data, to find someone, perhaps a colleague, who has accessed it before, and copy that code. Such a practice is extremely error prone, and cause a proliferation of copies of code, which may evolve over time, with various versions simultaneously in use. Intake separates the concerns of data-source specification from code. The specs are stored separately, and all users can reference the one and only authoritative definition, whether in a shared file, a service visible to everyone or by using the Intake server. This spec can be updated so that everyone gets the current version instead of relying on outdated code. Version control data sources ---------------------------- Version control (e.g., using ``git``) is an essential practice in modern software engineering and data science. It ensures that the change history is recorded, with times, descriptions and authors along with the changes themselves. When data is specified using a well-structured syntax such as YAML, it can be checked into a version controlled repository in the usual fashion. Thus, you can bring rigorous practices to your data as well as your code. If using conda packages to distribute data specifications, these come with a natural internal version numbering system, such that users need only do ``conda update ...`` to get the latest version. "Install" data -------------- Often, finding and grabbing data is a major hurdle to productivity. People may be required to download artifacts from various places or search through storage systems to find the specific thing that they are after. One-line commands which can retrieve data-source specifications or the files themselves can be a massive time-saver. Furthermore, each data-set will typically need its own code to be able to access it, and probably additional software dependencies. Intake allows you to build ``conda`` packages, which can include catalog files referencing online resources, or to include data files directly in that package. Whether uploaded to ``anaconda.org`` or hosted on a private enterprise channel, getting the data becomes a single ``conda install ...`` command, whereafter it will appear as an entry in ``intake.cat``. The conda package brings versioning and dependency declaration for free, and you can include any code that may be required for that specific data-set directly in the package too. Update data specifications in-place ----------------------------------- Individual data-sets often may be static, but commonly, the "best" data to get a job done changes with time as new facts emerge. Conversely, the very same data might be better stored in a different format which is, for instance, better-suited to parallel access in the cloud. In such situations, you really don't want to force all the data scientists who rely on it to have their code temporarily broken and be forced to change this code. By working with a catalog file/service in a fixed shared location, it is possible to update the data source specs in-place. When users now run their code, they will get the latest version. Because all Intake drivers have the same API, the code using the data will be identical and not need to be changed, even when the format has been updated to something more optimised. Access data stored on cloud resources ------------------------------------- Services such as AWS S3, GCS and Azure Datalake (or private enterprise variants of these) are increasingly popular locations to amass large amounts of data. Not only are they relatively cheap per GB, but they provide long-term resilience, metadata services, complex access control patterns and can have very large data throughput when accessed in parallel by machines on the same architecture. Intake comes with integration to cloud-based storage out-of-the box for most of the file-based data formats, to be able to access the data directly in-place and in parallel. For the few remaining cases where direct access is not feasible, the caching system in Intake allows for download of files on first use, so that all further access is much faster. Work with "Big Data" -------------------- The era of Big Data is here! The term means different things to different people, but certainly implies that an individual data-set is too large to fit into the memory of a typical workstation computer (>>10GB). Nevertheless, most data-loading examples available use functions in packages such as ``pandas`` and expect to be able to produce in-memory representations of the whole data. This is clearly a problem, and a more general answer should be available aside from "get more memory in your machine". Intake integrates with ``Dask`` and ``Spark``, which both offer out-of-core computation (loading the data in chunks which fit in memory and aggregating result) or can spread their work over a cluster of machines, effectively making use of the shared memory resources of the whole cluster. Dask integration is built into the majority of the the drivers and exposed with the ``.to_dask()`` method, and Spark integration is available for a small number of drivers with a similar ``.to_spark()`` method, as well as directly with the ``intake-spark`` package. Intake also integrates with many data services which themselves can perform big-data computations, only extracting the smaller aggregated data-sets that *do* fit into memory for further analysis. Services such as SQL systems, ``solr``, ``elastic-search``, ``splunk``, ``accumulo`` and ``hbase`` all can distribute the work required to fulfill a query across many nodes of a cluster. Find the right data-set ----------------------- Browsing for the data-set which will solve a particular problem can be hard, even when the data have been curated and stored in a single, well-structured system. You do *not* want to rely on word-of-mouth to specify which data is right for which job. Intake catalogs allow for self-description of data-sets, with simple text and arbitrary metadata, with a consistent access pattern. Not only can you list the data available to you, but you can find out what exactly that data represents, and the form the data would take if loaded (table versus list of items, for example). This extra metadata is also searchable: you can descend through a hierarchy of catalogs with a single search, and find all the entries containing some particular keywords. You can use the Intake GUI to graphically browse through your available data-sets or point to catalogs available to you, look through the entries listed there and get information about each, or even show a sample of the data or quick-look plots. The GUI is also able to execute searches and browse file-systems to find data artifacts of interest. This same functionality is also available via a command-line interface or programmatically. Work remotely ------------- Interacting with cloud storage resources is very convenient, but you will not want to download large amounts of data to your laptop or workstation for analysis. Intake finds itself at home in the remote-execution world of jupyter and Anaconda Enterprise and other in-browser technologies. For instance, you can run the Intake GUI either as a stand-alone application for browsing data-sets or in a notebook for full analytics, and have all the runtime live on a remote machine, or perhaps a cluster which is co-located with the data storage. Together with cloud-optimised data formats such as parquet, this is an ideal set-up for processing data at web scale. Transform data to efficient formats for sharing ----------------------------------------------- A massive amount of data exists in human-readable formats such as JSON, XML and CSV, which are not very efficient in terms of space usage and need to be parsed on load to turn into arrays or tables. Much faster processing times can be had with modern compact, optimised formats, such as parquet. Intake has a "persist" mechanism to transform any input data-source into the format most appropriate for that type of data, e.g., parquet for tabular data. The persisted data will be used in preference at analysis time, and the schedule for updating from the original source is configurable. The location of these persisted data-sets can be shared with others, so they can also gain the benefits, or the "export" variant can be used to produce an independent version in the same format, together with a spec to reference it by; you would then share this spec with others. Access data without leaking credentials --------------------------------------- Security is important. Users' identity and authority to view specific data should be established before handing over any sensitive bytes. It is, unfortunately, all too common for data scientists to include their username, passwords or other credentials directly in code, so that it can run automatically, thus presenting a potential security gap. Intake does not manage credentials or user identities directly, but does provide hooks for fetching details from the environment or other service, and using the values in templating at the time of reading the data. Thus, the details are not included in the code, but every access still requires for them to be present. In other cases, you may want to require the user to provide their credentials every time, rather that automatically establish them, and "user parameters" can be specified in Intake to cover this case. Establish a data gateway ------------------------ The Intake server protocol allows you fine-grained control over the set of data sources that are listed, and exactly what to return to a user when they want to read some of that data. This is an ideal opportunity to include authorisation checks, audit logging, and any more complicated access patterns, as required. By streaming the data through a single channel on the server, rather than allowing users direct access to the data storage backend, you can log and verify all access to your data. Clear distinction between data curator and analyst roles -------------------------------------------------------- It is desirable to separate out two tasks: the definition of data-source specifications, and accessing and using data. This is so that those who understand the origins of the data and the implications of various formats and other storage options (such as chunk-size) should make those decisions and encode what they have done into specs. It leaves the data users, e.g., data scientists, free to find and use the data-sets appropriate for their work and simply get on with their job - without having to learn about various storage formats and access APIs. This separation is at the very core of what Intake was designed to do. Users to be able to access data without learning every backend API ------------------------------------------------------------------ Data formats and services are a wide mess of many libraries and APIs. A large amount of time can be wasted in the life of a data scientist or engineer in finding out the details of the ones required by their work. Intake wraps these various libraries, REST APIs and similar, to provide a consistent experience for the data user. ``source.read()`` will simply get all of the data into memory in the container type for that source - no further parameters or knowledge required. Even for the curator of data catalogs or data driver authors, the framework established by Intake provides a lot of convenience and simplification which allows each person to deal with only the specifics of their job. Data sources to be self-describing ---------------------------------- Having a bunch of files in some directory is a very common pattern for data storage in the wild. There may or may not be a README file co-located giving some information in a human-readable form, but generally not structured - such files are usually different in every case. When a data source is encoded into a catalog, the spec offers a natural place to describe what that data is, along with the possibility to provide an arbitrary amount of structured metadata and to describe any parameters that are to be exposed for user choice. Furthermore, Intake data sources each have a particular container type, so that users know whether to expect a dataframe, array, etc., and simple introspection methods like ``describe`` and ``discover`` which return basic information about the data without having to load all of it into memory first. A data source hierarchy for natural structuring ----------------------------------------------- Usually, the set of data sources held by an organisation have relationships to one another, and would be poorly served to be provided as a simple flat list of everything available. Intake allows catalogs to refer to other catalogs. This means, that you can group data sources by various facets (type, department, time...) and establish hierarchical data-source trees within which to find the particular data most likely to be of interest. Since the catalogs live outside and separate from the data files themselves, as many hierarchy structures as thought useful could be created. For even more complicated data source meta-structures, it is possible to store all the details and even metadata in some external service (e.g., traditional SQL tables) with which Intake can interact to perform queries and return particular subsets of the available data sources. Expose several data collections under a single system ----------------------------------------------------- There are already several catalog-like data services in existence in the world, and some organisation may have several of these in-house for various different purposes. For example, an SQL server may hold details of customer lists and transactions, but historical time-series and reference data may be held separately in archival data formats like parquet on a file-storage system; while real-time system monitoring is done by a totally unrelated system such as Splunk or elastic search. Of course, Intake can read from various file formats and data services. However, it can also interpret the internal conception of data catalogs that some data services may have. For example, all of the tables known to the SQL server, or all of the pre-defined queries in Splunk can be automatically included as catalogs in Intake, and take their place amongst the regular YAML-specified data sources, with exactly the same usage for all of them. These data sources and their hierarchical structure can then be exposed via the graphical data browser, for searching, selecting and visualising data-sets. Modern visualisations for all data-sets --------------------------------------- Intake is integrated with the comprehensive ``holoviz`` suite, particularly ``hvplot``, to bring simple yet powerful data visualisations to any Intake data source by using just one single method for everything. These plots are interactive, and can include server-side dynamic aggregation of very large data-sets to display more data points than the browser can handle. You can specify specific plot types right in the data source definition, to have these customised visualisations available to the user as simple one-liners known to reveal the content of the data, or even view the same visuals right in the graphical data source browser application. Thus, Intake is already an all-in-one data investigation and dashboarding app. Update data specifications in real time --------------------------------------- Intake data catalogs are not limited to reading static specification from files. They can also execute queries on remote data services and return lists of data sources dynamically at runtime. New data sources may appear, for example, as directories of data files are pushed to a storage service, or new tables are created within a SQL server. Distribute data in a custom format ---------------------------------- Sometimes, the well-known data formats are just not right for a given data-set, and a custom-built format is required. In such cases, the code to read the data may not exist in any library. Intake allows for code to be distributed along with data source specs/catalogs or even files in a single ``conda`` package. That encapsulates everything needed to describe and use that particular data, and can then be distributed as a single entity, and installed with a one-liner. Furthermore, should the few builtin container types (sequence, array, dataframe) not be sufficient, you can supply your own, and then build drivers that use it. This was done, for example, for ``xarray``-type data, where multiple related N-D arrays share a coordinate system and metadata. By creating this container, a whole world of scientific and engineering data was opened up to Intake. Creating new containers is not hard, though, and we foresee more coming, such as machine-learning models and streaming/real-time data. Create Intake data-sets from scratch ------------------------------------ If you have a set of files or a data service which you wish to make into a data-set, so that you can include it in a catalog, you should use the set of functions ``intake.open_*``, where you need to pick the function appropriate for your particular data. You can use tab-completion to list the set of data drivers you have installed, and find others you may not yet have installed at :ref:`plugin-directory`. Once you have determined the right set of parameters to load the data in the manner you wish, you can use the source's ``.yaml()`` method to find the spec that describes the source, so you can insert it into a catalog (with appropriate description and metadata). Alternatively, you can open a YAML file as a catalog with ``intake.open_catalog`` and use its ``.add()`` method to insert the source into the corresponding file. If, instead, you have data in your session in one of the containers supported by Intake (e.g., array, data-frame), you can use the ``intake.upload()`` function to save it to files in an appropriate format and a location you specify, and give you back a data-source instance, which, again, you can use with ``.yaml()`` or ``.add()``, as above. intake-0.6.5/intake/000077500000000000000000000000001416666122400142605ustar00rootroot00000000000000intake-0.6.5/intake/__init__.py000066400000000000000000000134141416666122400163740ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import importlib import re import logging import os import warnings from ._version import get_versions __version__ = get_versions()['version'] del get_versions from .source import register_driver, registry from .catalog.base import Catalog imports = { "DataSource": "intake.source.base:DataSource", 'Schema': "intake.source.base:Schema", "load_combo_catalog": "intake.catalog.default:load_combo_catalog", "upload": "intake.container:upload", "gui": "intake.interface:instance", "cat": "intake.catalog:builtin", "output_notebook": "intake.interface:output_notebook", "register_driver": "intake.source:register_driver", "unregister_driver": "intake.source:unregister_driver", } openers = {} logger = logging.getLogger('intake') def __getattr__(attr): """Lazy attribute propagator Defers inputs of functions until they are needed, according to the contents of the ``imports`` and ``openers`` dicts """ gl = globals() if attr in openers: driver = openers[attr].load() gl[attr] = driver else: if attr in gl: return gl[attr] elif attr in imports: dest = imports[attr] modname = dest.split(":", 1)[0] logger.debug("Importing: %s" % modname) mod = importlib.import_module(modname) if ":" in dest: gl[attr] = getattr(mod, dest.split(":")[1]) else: gl[attr] = mod if attr == "__all__": return __dir__() try: return gl[attr] except KeyError: raise AttributeError(attr) def __dir__(*_, **__): return sorted(list(globals()) + list(openers) + list(imports)) def make_open_functions(): """From the current state of ``registry``, create open_* functions""" import entrypoints for plugin in entrypoints.get_group_all('intake.drivers'): register_driver(plugin.name, plugin, True) func_name = 'open_' + plugin.name if not func_name.isidentifier(): # primitive name normalization func_name = re.sub('[-=~^&|@+]', '_', func_name) if func_name.isidentifier(): # stash name for dir() and later fetch openers[func_name] = plugin else: warnings.warn('Invalid Intake plugin name "%s" found.' % plugin.name) make_open_functions() def open_catalog(uri=None, **kwargs): """Create a Catalog object Can load YAML catalog files, connect to an intake server, or create any arbitrary Catalog subclass instance. In the general case, the user should supply ``driver=`` with a value from the plugins registry which has a container type of catalog. File locations can generally be remote, if specifying a URL protocol. The default behaviour if not specifying the driver is as follows: - if ``uri`` is a a single string ending in "yml" or "yaml", open it as a catalog file - if ``uri`` is a list of strings, a string containing a glob character ("*") or a string not ending in "y(a)ml", open as a set of catalog files. In the latter case, assume it is a directory. - if ``uri`` beings with protocol ``"intake:"``, connect to a remote Intake server - if ``uri`` is ``None`` or missing, create a base Catalog object without entries. Parameters ---------- uri: str or pathlib.Path Designator for the location of the catalog. kwargs: passed to subclass instance, see documentation of the individual catalog classes. For example, ``yaml_files_cat`` (when specifying multiple uris or a glob string) takes the additional parameter ``flatten=True|False``, specifying whether all data sources are merged in a single namespace, or each file becomes a sub-catalog. See also -------- intake.open_yaml_files_cat, intake.open_yaml_file_cat, intake.open_intake_remote """ driver = kwargs.pop('driver', None) if isinstance(uri, os.PathLike): uri = os.fspath(uri) if driver is None: if uri: if ((isinstance(uri, str) and "*" in uri) or ((isinstance(uri, (list, tuple))) and len(uri) > 1)): # glob string or list of files/globs driver = 'yaml_files_cat' elif isinstance(uri, (list, tuple)) and len(uri) == 1: uri = uri[0] if "*" in uri[0]: # single glob string in a list driver = 'yaml_files_cat' else: # single filename in a list driver = 'yaml_file_cat' elif isinstance(uri, str): # single URL if uri.startswith('intake:'): # server driver = 'intake_remote' else: if uri.endswith(('.yml', '.yaml')): driver = 'yaml_file_cat' else: uri = uri.rstrip('/') + '/*.y*ml' driver = 'yaml_files_cat' else: raise ValueError("URI not understood: %s" % uri) else: # empty cat driver = 'catalog' if '_file' not in driver: kwargs.pop('fs', None) if driver not in registry: raise ValueError('Unknown catalog driver (%s), supply one of: %s' % (driver, list(sorted(registry)))) return registry[driver](uri, **kwargs) intake-0.6.5/intake/_version.py000066400000000000000000000441641416666122400164670ustar00rootroot00000000000000from __future__ import print_function # This file helps to compute a version number in source trees obtained from # git-archive tarball (such as those provided by githubs download-from-tag # feature). Distribution tarballs (built by setup.py sdist) and build # directories (produced by setup.py build) will contain a much shorter file # that just contains the computed version number. # This file is released into the public domain. Generated by # versioneer-0.18 (https://github.com/warner/python-versioneer) """Git implementation of _version.py.""" import errno import os import re import subprocess import sys def get_keywords(): """Get the keywords needed to look up the version information.""" # these strings will be replaced by git during git-archive. # setup.py/versioneer.py will grep for the variable names, so they must # each be defined on a line of their own. _version.py will just call # get_keywords(). git_refnames = " (HEAD -> master, tag: 0.6.5)" git_full = "bc1d43524f9f0c38ccc5285d1f3fa02c37339372" git_date = "2022-01-09 17:32:52 -0500" keywords = {"refnames": git_refnames, "full": git_full, "date": git_date} return keywords class VersioneerConfig: """Container for Versioneer configuration parameters.""" def get_config(): """Create, populate and return the VersioneerConfig() object.""" # these strings are filled in when 'setup.py versioneer' creates # _version.py cfg = VersioneerConfig() cfg.VCS = "git" cfg.style = "pep440" cfg.tag_prefix = "" cfg.parentdir_prefix = "intake-" cfg.versionfile_source = "intake/_version.py" cfg.verbose = False return cfg class NotThisMethod(Exception): """Exception raised if a method is not valid for the current scenario.""" LONG_VERSION_PY = {} HANDLERS = {} def register_vcs_handler(vcs, method): # decorator """Decorator to mark a method as the handler for a particular VCS.""" def decorate(f): """Store f in HANDLERS[vcs][method].""" if vcs not in HANDLERS: HANDLERS[vcs] = {} HANDLERS[vcs][method] = f return f return decorate def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, env=None): """Call the given command(s).""" assert isinstance(commands, list) p = None for c in commands: try: dispcmd = str([c] + args) # remember shell=False, so use git.cmd on windows, not just git p = subprocess.Popen([c] + args, cwd=cwd, env=env, stdout=subprocess.PIPE, stderr=(subprocess.PIPE if hide_stderr else None)) break except EnvironmentError: e = sys.exc_info()[1] if e.errno == errno.ENOENT: continue if verbose: print("unable to run %s" % dispcmd) print(e) return None, None else: if verbose: print("unable to find command, tried %s" % (commands,)) return None, None stdout = p.communicate()[0].strip() if sys.version_info[0] >= 3: stdout = stdout.decode() if p.returncode != 0: if verbose: print("unable to run %s (error)" % dispcmd) print("stdout was %s" % stdout) return None, p.returncode return stdout, p.returncode def versions_from_parentdir(parentdir_prefix, root, verbose): """Try to determine the version from the parent directory name. Source tarballs conventionally unpack into a directory that includes both the project name and a version string. We will also support searching up two directory levels for an appropriately named parent directory """ rootdirs = [] for i in range(3): dirname = os.path.basename(root) if dirname.startswith(parentdir_prefix): return {"version": dirname[len(parentdir_prefix):], "full-revisionid": None, "dirty": False, "error": None, "date": None} else: rootdirs.append(root) root = os.path.dirname(root) # up a level if verbose: print("Tried directories %s but none started with prefix %s" % (str(rootdirs), parentdir_prefix)) raise NotThisMethod("rootdir doesn't start with parentdir_prefix") @register_vcs_handler("git", "get_keywords") def git_get_keywords(versionfile_abs): """Extract version information from the given file.""" # the code embedded in _version.py can just fetch the value of these # keywords. When used from setup.py, we don't want to import _version.py, # so we do it with a regexp instead. This function is not used from # _version.py. keywords = {} try: f = open(versionfile_abs, "r") for line in f.readlines(): if line.strip().startswith("git_refnames ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["refnames"] = mo.group(1) if line.strip().startswith("git_full ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["full"] = mo.group(1) if line.strip().startswith("git_date ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["date"] = mo.group(1) f.close() except EnvironmentError: pass return keywords @register_vcs_handler("git", "keywords") def git_versions_from_keywords(keywords, tag_prefix, verbose): """Get version information from git keywords.""" if not keywords: raise NotThisMethod("no keywords at all, weird") date = keywords.get("date") if date is not None: # git-2.2.0 added "%cI", which expands to an ISO-8601 -compliant # datestamp. However we prefer "%ci" (which expands to an "ISO-8601 # -like" string, which we must then edit to make compliant), because # it's been around since git-1.5.3, and it's too difficult to # discover which version we're using, or to work around using an # older one. date = date.strip().replace(" ", "T", 1).replace(" ", "", 1) refnames = keywords["refnames"].strip() if refnames.startswith("$Format"): if verbose: print("keywords are unexpanded, not using") raise NotThisMethod("unexpanded keywords, not a git-archive tarball") refs = set([r.strip() for r in refnames.strip("()").split(",")]) # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of # just "foo-1.0". If we see a "tag: " prefix, prefer those. TAG = "tag: " tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) if not tags: # Either we're using git < 1.8.3, or there really are no tags. We use # a heuristic: assume all version tags have a digit. The old git %d # expansion behaves like git log --decorate=short and strips out the # refs/heads/ and refs/tags/ prefixes that would let us distinguish # between branches and tags. By ignoring refnames without digits, we # filter out many common branch names like "release" and # "stabilization", as well as "HEAD" and "master". tags = set([r for r in refs if re.search(r'\d', r)]) if verbose: print("discarding '%s', no digits" % ",".join(refs - tags)) if verbose: print("likely tags: %s" % ",".join(sorted(tags))) for ref in sorted(tags): # sorting will prefer e.g. "2.0" over "2.0rc1" if ref.startswith(tag_prefix): r = ref[len(tag_prefix):] if verbose: print("picking %s" % r) return {"version": r, "full-revisionid": keywords["full"].strip(), "dirty": False, "error": None, "date": date} # no suitable tags, so version is "0+unknown", but full hex is still there if verbose: print("no suitable tags, using unknown + full revision id") return {"version": "0+unknown", "full-revisionid": keywords["full"].strip(), "dirty": False, "error": "no suitable tags", "date": None} @register_vcs_handler("git", "pieces_from_vcs") def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): """Get version from 'git describe' in the root of the source tree. This only gets called if the git-archive 'subst' keywords were *not* expanded, and _version.py hasn't already been rewritten with a short version string, meaning we're inside a checked out source tree. """ GITS = ["git"] if sys.platform == "win32": GITS = ["git.cmd", "git.exe"] out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, hide_stderr=True) if rc != 0: if verbose: print("Directory %s not under git control" % root) raise NotThisMethod("'git rev-parse --git-dir' returned error") # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] # if there isn't one, this yields HEX[-dirty] (no NUM) describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", "--always", "--long", "--match", "%s*" % tag_prefix], cwd=root) # --long was added in git-1.5.5 if describe_out is None: raise NotThisMethod("'git describe' failed") describe_out = describe_out.strip() full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) if full_out is None: raise NotThisMethod("'git rev-parse' failed") full_out = full_out.strip() pieces = {} pieces["long"] = full_out pieces["short"] = full_out[:7] # maybe improved later pieces["error"] = None # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] # TAG might have hyphens. git_describe = describe_out # look for -dirty suffix dirty = git_describe.endswith("-dirty") pieces["dirty"] = dirty if dirty: git_describe = git_describe[:git_describe.rindex("-dirty")] # now we have TAG-NUM-gHEX or HEX if "-" in git_describe: # TAG-NUM-gHEX mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) if not mo: # unparseable. Maybe git-describe is misbehaving? pieces["error"] = ("unable to parse git-describe output: '%s'" % describe_out) return pieces # tag full_tag = mo.group(1) if not full_tag.startswith(tag_prefix): if verbose: fmt = "tag '%s' doesn't start with prefix '%s'" print(fmt % (full_tag, tag_prefix)) pieces["error"] = ("tag '%s' doesn't start with prefix '%s'" % (full_tag, tag_prefix)) return pieces pieces["closest-tag"] = full_tag[len(tag_prefix):] # distance: number of commits since tag pieces["distance"] = int(mo.group(2)) # commit: short hex revision ID pieces["short"] = mo.group(3) else: # HEX: no tags pieces["closest-tag"] = None count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], cwd=root) pieces["distance"] = int(count_out) # total number of commits # commit date: see ISO-8601 comment in git_versions_from_keywords() date = run_command(GITS, ["show", "-s", "--format=%ci", "HEAD"], cwd=root)[0].strip() pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) return pieces def plus_or_dot(pieces): """Return a + if we don't already have one, else return a .""" if "+" in pieces.get("closest-tag", ""): return "." return "+" def render_pep440(pieces): """Build up version string, with post-release "local version identifier". Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you get a tagged build and then dirty it, you'll get TAG+0.gHEX.dirty Exceptions: 1: no tags. git_describe was just HEX. 0+untagged.DISTANCE.gHEX[.dirty] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += plus_or_dot(pieces) rendered += "%d.g%s" % (pieces["distance"], pieces["short"]) if pieces["dirty"]: rendered += ".dirty" else: # exception #1 rendered = "0+untagged.%d.g%s" % (pieces["distance"], pieces["short"]) if pieces["dirty"]: rendered += ".dirty" return rendered def render_pep440_pre(pieces): """TAG[.post.devDISTANCE] -- No -dirty. Exceptions: 1: no tags. 0.post.devDISTANCE """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"]: rendered += ".post.dev%d" % pieces["distance"] else: # exception #1 rendered = "0.post.dev%d" % pieces["distance"] return rendered def render_pep440_post(pieces): """TAG[.postDISTANCE[.dev0]+gHEX] . The ".dev0" means dirty. Note that .dev0 sorts backwards (a dirty tree will appear "older" than the corresponding clean one), but you shouldn't be releasing software with -dirty anyways. Exceptions: 1: no tags. 0.postDISTANCE[.dev0] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += ".post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" rendered += plus_or_dot(pieces) rendered += "g%s" % pieces["short"] else: # exception #1 rendered = "0.post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" rendered += "+g%s" % pieces["short"] return rendered def render_pep440_old(pieces): """TAG[.postDISTANCE[.dev0]] . The ".dev0" means dirty. Eexceptions: 1: no tags. 0.postDISTANCE[.dev0] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += ".post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" else: # exception #1 rendered = "0.post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" return rendered def render_git_describe(pieces): """TAG[-DISTANCE-gHEX][-dirty]. Like 'git describe --tags --dirty --always'. Exceptions: 1: no tags. HEX[-dirty] (note: no 'g' prefix) """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"]: rendered += "-%d-g%s" % (pieces["distance"], pieces["short"]) else: # exception #1 rendered = pieces["short"] if pieces["dirty"]: rendered += "-dirty" return rendered def render_git_describe_long(pieces): """TAG-DISTANCE-gHEX[-dirty]. Like 'git describe --tags --dirty --always -long'. The distance/hash is unconditional. Exceptions: 1: no tags. HEX[-dirty] (note: no 'g' prefix) """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] rendered += "-%d-g%s" % (pieces["distance"], pieces["short"]) else: # exception #1 rendered = pieces["short"] if pieces["dirty"]: rendered += "-dirty" return rendered def render(pieces, style): """Render the given version pieces into the requested style.""" if pieces["error"]: return {"version": "unknown", "full-revisionid": pieces.get("long"), "dirty": None, "error": pieces["error"], "date": None} if not style or style == "default": style = "pep440" # the default if style == "pep440": rendered = render_pep440(pieces) elif style == "pep440-pre": rendered = render_pep440_pre(pieces) elif style == "pep440-post": rendered = render_pep440_post(pieces) elif style == "pep440-old": rendered = render_pep440_old(pieces) elif style == "git-describe": rendered = render_git_describe(pieces) elif style == "git-describe-long": rendered = render_git_describe_long(pieces) else: raise ValueError("unknown style '%s'" % style) return {"version": rendered, "full-revisionid": pieces["long"], "dirty": pieces["dirty"], "error": None, "date": pieces.get("date")} def get_versions(): """Get version information or return default if unable to do so.""" # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have # __file__, we can work backwards from there to the root. Some # py2exe/bbfreeze/non-CPython implementations don't do __file__, in which # case we can only use expanded keywords. cfg = get_config() verbose = cfg.verbose try: return git_versions_from_keywords(get_keywords(), cfg.tag_prefix, verbose) except NotThisMethod: pass try: root = os.path.realpath(__file__) # versionfile_source is the relative path from the top of the source # tree (where the .git directory might live) to this file. Invert # this to find the root from __file__. for i in cfg.versionfile_source.split('/'): root = os.path.dirname(root) except NameError: return {"version": "0+unknown", "full-revisionid": None, "dirty": None, "error": "unable to find root of source tree", "date": None} try: pieces = git_pieces_from_vcs(cfg.tag_prefix, root, verbose) return render(pieces, cfg.style) except NotThisMethod: pass try: if cfg.parentdir_prefix: return versions_from_parentdir(cfg.parentdir_prefix, root, verbose) except NotThisMethod: pass return {"version": "0+unknown", "full-revisionid": None, "dirty": None, "error": "unable to compute version", "date": None} intake-0.6.5/intake/auth/000077500000000000000000000000001416666122400152215ustar00rootroot00000000000000intake-0.6.5/intake/auth/__init__.py000066400000000000000000000005061416666122400173330ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- intake-0.6.5/intake/auth/base.py000066400000000000000000000045221416666122400165100ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from ..utils import DictSerialiseMixin class AuthenticationFailure(Exception): pass class BaseAuth(DictSerialiseMixin): """Base class for authorization Subclass this and override the methods to implement a new type of auth. This basic class allows all access. """ def __init__(self, *args): self.args = args def allow_connect(self, header): """Is the requests header given allowed to talk to the server Parameters ---------- header: dict The HTTP header from the incoming request """ return True def allow_access(self, header, source, catalog): """Is the given HTTP header allowed to access given data source Parameters ---------- header: dict The HTTP header from the incoming request source: CatalogEntry The data source the user wants to access. catalog: Catalog The catalog object containing this data source. """ return True def get_case_insensitive(self, dictionary, key, default=None): """Case-insensitive search of a dictionary for key. Returns the value if key match is found, otherwise default. """ lower_key = key.lower() for k, v in dictionary.items(): if lower_key == k.lower(): return v else: return default class BaseClientAuth(object): """Base class for client-side setting of authorization headers This basic class adds no headers to remote catalog reqests """ def __init__(self, *args): self.args = args def __dask_tokenize__(self): return hash(self) @property def _tok(self): from dask.base import tokenize return tokenize({'cls': type(self).__name__, 'args': self.args}) def __hash__(self): return int(self._tok, 16) def get_headers(self): """Returns a dictionary of HTTP headers for the remote catalog request. """ return {} intake-0.6.5/intake/auth/secret.py000066400000000000000000000035341416666122400170650ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import logging from .base import BaseAuth, BaseClientAuth import uuid logger = logging.getLogger('intake') class SecretAuth(BaseAuth): """A very simple auth mechanism using a shared secret Parameters ---------- secret: str The string that must be matched in the requests. If None, a random UUID is generated and logged. key: str Header entry in which to seek the secret """ def __init__(self, secret=None, key='intake-secret'): if secret is None: secret = uuid.uuid1().hex logger.info('Random server secret: %s' % secret) self.secret = secret self.key = key def allow_connect(self, header): try: return self.get_case_insensitive(header, self.key, '') \ == self.secret except: return False def allow_access(self, header, source, catalog): try: return self.get_case_insensitive(header, self.key, '') \ == self.secret except: return False class SecretClientAuth(BaseClientAuth): """Matching client auth plugin to SecretAuth Parameters ---------- secret: str The string that must be included requests. key: str HTTP Header key for the shared secret """ def __init__(self, secret, key='intake-secret'): self.secret = secret self.key = key super(SecretClientAuth, self).__init__() def get_headers(self): return {self.key: self.secret} intake-0.6.5/intake/auth/tests/000077500000000000000000000000001416666122400163635ustar00rootroot00000000000000intake-0.6.5/intake/auth/tests/__init__.py000066400000000000000000000005061416666122400204750ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- intake-0.6.5/intake/auth/tests/test_auth.py000066400000000000000000000047231416666122400207430ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from intake.auth.base import BaseAuth, BaseClientAuth from intake.auth.secret import SecretAuth,SecretClientAuth from intake.utils import remake_instance def test_get(): auth = remake_instance('intake.auth.base.BaseAuth') assert isinstance(auth, BaseAuth) auth = remake_instance('intake.auth.secret.SecretAuth') assert isinstance(auth, SecretAuth) def test_base(): auth = BaseAuth() assert auth.allow_connect(None) assert auth.allow_access(None, None, None) def test_base_client(): auth = BaseClientAuth() assert auth.get_headers() == {} def test_base_get_case_insensitive(): auth = BaseAuth() d = {'foo': 1, 'BAR': 2} assert auth.get_case_insensitive(d, 'foo') == 1 assert auth.get_case_insensitive(d, 'Foo') == 1 assert auth.get_case_insensitive(d, 'FOO') == 1 assert auth.get_case_insensitive(d, 'bar') == 2 assert auth.get_case_insensitive(d, 'Bar') == 2 assert auth.get_case_insensitive(d, 'BAR') == 2 assert auth.get_case_insensitive(d, 'no') is None assert auth.get_case_insensitive(d, 'no', '') == '' def test_secret(): secret = 'test-secret' auth = SecretAuth(secret=secret) assert not auth.allow_connect({}) assert not auth.allow_connect({'intake-secret': ''}) assert not auth.allow_connect({'intake-secret': None}) assert not auth.allow_connect({'intake-secret': 'wrong'}) assert auth.allow_connect({'intake-secret': secret}) # HTTP headers are not case sensitive, and frequently recapitalized assert auth.allow_connect({'Intake-Secret': secret}) assert not auth.allow_access({'intake-secret': 'wrong'}, None, None) assert auth.allow_access({'intake-secret': secret}, None, None) auth = SecretAuth(secret=secret, key='another_header') assert not auth.allow_connect({'intake-secret': secret}) assert auth.allow_connect({'another_header': secret}) def test_secret_client(): secret = 'test-secret' auth = SecretClientAuth(secret=secret) assert auth.get_headers() == { 'intake-secret': secret} auth = SecretClientAuth(secret=secret, key='another_header') assert auth.get_headers() == { 'another_header': secret} intake-0.6.5/intake/catalog/000077500000000000000000000000001416666122400156725ustar00rootroot00000000000000intake-0.6.5/intake/catalog/__init__.py000066400000000000000000000015431416666122400200060ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from .base import Catalog from .local import MergedCatalog, EntrypointsCatalog from .default import load_combo_catalog def _make_builtin(): return MergedCatalog( [EntrypointsCatalog(), load_combo_catalog()], name='builtin', description='Generated from data packages found on your intake search path') def __getattr__(name): """Only make the builtin catalog on request""" global builtin if name == "builtin": builtin = _make_builtin() return builtin raise AttributeError(name) intake-0.6.5/intake/catalog/base.py000066400000000000000000000417311416666122400171640ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import keyword import logging import re import time from ..source.base import DataSource, NoEntry, DataSourceBase from .utils import reload_on_change logger = logging.getLogger('intake') class Catalog(DataSource): """Manages a hierarchy of data sources as a collective unit. A catalog is a set of available data sources for an individual entity (remote server, local file, or a local directory of files). This can be expanded to include a collection of subcatalogs, which are then managed as a single unit. A catalog is created with a single URI or a collection of URIs. A URI can either be a URL or a file path. Each catalog in the hierarchy is responsible for caching the most recent refresh time to prevent overeager queries. Attributes ---------- metadata : dict Arbitrary information to carry along with the data source specs. """ # emulate a DataSource container = 'catalog' name = 'catalog' auth = None def __init__(self, entries=None, name=None, description=None, metadata=None, ttl=60, getenv=True, getshell=True, persist_mode='default', storage_options=None, user_parameters=None): """ Parameters ---------- entries : dict, optional Mapping of {name: entry} name : str, optional Unique identifier for catalog. This takes precedence over whatever is stated in the cat file itself. Defaults to None. description : str, optional Description of the catalog. This takes precedence over whatever is stated in the cat file itself. Defaults to None. metadata: dict Additional information about this data ttl : float, optional Lifespan (time to live) of cached modification time. Units are in seconds. Defaults to 1. getenv: bool Can parameter default fields take values from the environment getshell: bool Can parameter default fields run shell commands persist_mode: ['always', 'default', 'never'] Defines the use of persisted sources: if 'always', will use a persisted version of a data source, if it exists, if 'never' will always use the original source. If 'default', persisted sources will be used if they have not expired, and re-persisted and used if they have. storage_options : dict If using a URL beginning with 'intake://' (remote Intake server), parameters to pass to requests when issuing http commands; otherwise parameters to pass to remote backend file-system. Ignored for normal local files. """ super(Catalog, self).__init__() self.name = name self.description = description self.metadata = metadata or {} self.ttl = ttl self.getenv = getenv self.getshell = getshell self.storage_options = storage_options if isinstance(user_parameters, dict) and user_parameters: from .local import UserParameter self.user_parameters = {name: (UserParameter(name=name, **up) if isinstance(up, dict) else up) for name, up in user_parameters.items()} elif isinstance(user_parameters, (list, tuple)): self.user_parameters = {up["name"]: up for up in user_parameters} else: self.user_parameters = {} if persist_mode not in ['always', 'never', 'default']: # should be True, False, None ? raise ValueError('Persist mode (%s) not understood' % persist_mode) self.pmode = persist_mode if entries and isinstance(entries, str): raise ValueError( "The class intake.Catalog does not accept a string for " "`entries`\n" "Did you mean to use `intake.open_catalog`? Note that in " "versions of intake <=0.5.4 `intake.Catalog` was an " "alias for `intake.open_catalog`. It is now the intake base " "Catalog class.") self.updated = time.time() self._entries = entries if entries is not None else self._make_entries_container() self.force_reload() @classmethod def from_dict(cls, entries, **kwargs): """ Create Catalog from the given set of entries Parameters ---------- entries : dict-like A mapping of name:entry which supports dict-like functionality, e.g., is derived from ``collections.abc.Mapping``. kwargs : passed on the constructor Things like metadata, name; see ``__init__``. Returns ------- Catalog instance """ cat = cls(**kwargs) cat._entries = entries return cat @property def kwargs(self): return dict(name=self.name, ttl=self.ttl) def _make_entries_container(self): """Subclasses may override this to return some other dict-like. See RemoteCatalog below for the motivating example for this hook. This is typically useful for large Catalogs backed by dynamic resources such as databases. The object returned by this method must implement: * ``__iter__()`` -> an iterator of entry names * ``__getitem__(key)`` -> an Entry * ``items()`` -> an iterator of ``(key, Entry)`` pairs For best performance the object should also implement: * ``__len__()`` -> int * ``__contains__(key)`` -> boolean In ``__len__`` or ``__contains__`` are not implemented, intake will fall back on iterating through the entire catalog to compute its length or check for containment, which may be expensive on large catalogs. """ return {} def _load(self): """Override this: load catalog entries""" pass def force_reload(self): """Imperative reload data now""" self.updated = time.time() self._load() def reload(self): """Reload catalog if sufficient time has passed""" if time.time() - self.updated > self.ttl: self.force_reload() @property def version(self): # default version for pre-v1 files return self.metadata.get('version', 1) @reload_on_change def search(self, text, depth=2): import copy words = text.lower().split() entries = {k: copy.copy(v)for k, v in self.walk(depth=depth).items() if any(word in str(v.describe().values()).lower() for word in words)} cat = Catalog.from_dict( entries, name=self.name + "_search", ttl=self.ttl, getenv=self.getenv, getshell=self.getshell, metadata=(self.metadata or {}).copy(), storage_options=self.storage_options, user_parameters=self.user_parameters.copy() ) cat.metadata['search'] = {'text': text, 'upstream': self.name} cat.cat = self for e in entries.values(): e._catalog = cat return cat def filter(self, func): """ Create a Catalog of a subset of entries based on a condition .. warning :: This function operates on CatalogEntry objects not DataSource objects. .. note :: Note that, whatever specific class this is performed on, the return instance is a Catalog. The entries are passed unmodified, so they will still reference the original catalog instance and include its details such as directory,. Parameters ---------- func : function This should take a CatalogEntry and return True or False. Those items returning True will be included in the new Catalog, with the same entry names Returns ------- Catalog New catalog with Entries that still refer to their parents """ return Catalog.from_dict({key: entry for key, entry in self._entries.items() if func(entry)}) @reload_on_change def walk(self, sofar=None, prefix=None, depth=2): """Get all entries in this catalog and sub-catalogs Parameters ---------- sofar: dict or None Within recursion, use this dict for output prefix: list of str or None Names of levels already visited depth: int Number of levels to descend; needed to truncate circular references and for cleaner output Returns ------- Dict where the keys are the entry names in dotted syntax, and the values are entry instances. """ out = sofar if sofar is not None else {} prefix = [] if prefix is None else prefix for name, item in self._entries.items(): if item._container == 'catalog' and depth > 1: # recurse with default open parameters try: item().walk(out, prefix + [name], depth-1) except Exception as e: print(e) pass # ignore inability to descend n = '.'.join(prefix + [name]) out[n] = item return out def items(self): """Get an iterator over (key, source) tuples for the catalog entries.""" for name, entry in self._get_entries().items(): yield name, entry() def values(self): """Get an iterator over the sources for catalog entries.""" for entry in self._get_entries().values(): yield entry() def serialize(self): """ Produce YAML version of this catalog. Note that this is not the same as ``.yaml()``, which produces a YAML block referring to this catalog. """ import yaml output = {"metadata": self.metadata, "sources": {}, "name": self.name} for key, entry in self._entries.items(): kw = entry._captured_init_kwargs.copy() kw.pop('catalog', None) kw['parameters'] = {k.name: k.__getstate__()['kwargs'] for k in kw.get('parameters', [])} try: if issubclass(kw['driver'], DataSourceBase): kw['driver'] = ".".join([kw['driver'].__module__, kw['driver'].__name__]) except TypeError: pass # ignore exception for a string input output["sources"][key] = kw return yaml.dump(output) def save(self, url, storage_options=None): """ Output this catalog to a file as YAML Parameters ---------- url : str Location to save to, perhaps remote storage_options : dict Extra arguments for the file-system """ from fsspec import open_files with open_files([url], **(storage_options or {}), mode='wt')[0] as f: f.write(self.serialize()) @reload_on_change def _get_entry(self, name): entry = self._entries[name] entry._catalog = self entry._pmode = self.pmode up_names = set((up["name"] if isinstance(up, dict) else up.name) for up in entry._user_parameters) ups = [up for name, up in self.user_parameters.items() if name not in up_names] entry._user_parameters = ups + (entry._user_parameters or []) return entry() def configure_new(self, **kwargs): from .local import UserParameter ups = {} for k, v in kwargs.copy().items(): for up in self.user_parameters.values(): if isinstance(up, dict): if k == up["name"]: kw = up.copy() kw['default'] = v ups[k] = UserParameter(**kw) kwargs.pop(k) else: if k == up.name: kw = up._captured_init_kwargs.copy() kw['default'] = v kw["name"] = k ups[k] = UserParameter(**kw) kwargs.pop(k) new = super().configure_new(**kwargs) new.user_parameters.update(ups) return new __call__ = get = configure_new @reload_on_change def _get_entries(self): return self._entries def __iter__(self): """Return an iterator over catalog entry names.""" return iter(self._get_entries()) def keys(self): """Entry names in this catalog as an iterator (alias for __iter__)""" return iter(self) def __len__(self): return len(self._get_entries()) def __contains__(self, key): # Avoid iterating through all entries. return key in self._get_entries() # triggers reload_on_change def __dir__(self): # Include tab-completable entries and normal attributes. return ( [entry for entry in self if re.match("[_A-Za-z][_a-zA-Z0-9]*$", entry) # valid Python identifer and not keyword.iskeyword(entry)] # not a Python keyword + list(self.__dict__.keys())) def _ipython_key_completions_(self): return list(self) def __repr__(self): return "" % self.name def __getattr__(self, item): # we need this special case here because the (deprecated) entry # property on the base class if item == 'entry': raise NoEntry("Source was not made from a catalog entry") if not item.startswith('_'): # Fall back to __getitem__. try: return self[item] # triggers reload_on_change except KeyError as e: raise AttributeError(item) from e raise AttributeError(item) def __setitem__(self, key, entry): """Add entry to catalog This relies on the `_entries` attribute being mutable, which it normally is. Note that if a catalog automatically reloads, any entry added here may be very transient Parameters ---------- key : str Key to give the entry in the cat entry : CatalogEntry The entry to include (could be local, remote) """ self._entries[key] = entry def pop(self, key): """Remove entry from catalog and return it This relies on the `_entries` attribute being mutable, which it normally is. Note that if a catalog automatically reloads, any entry removed here may soon reappear Parameters ---------- key : str Key to give the entry in the cat """ return self._entries.pop(key) def __getitem__(self, key): """Return a catalog entry by name. Can also use attribute syntax, like ``cat.entry_name``, or item lookup cat['non-python name']. This enables walking through nested directories with cat.name1.name2, cat['name1.name2'] *or* cat['name1', 'name2'] """ if not isinstance(key, list) and key in self: # triggers reload_on_change s = self._get_entry(key) if s.container == 'catalog': s.name = key s.user_parameters.update(self.user_parameters.copy()) return s return s if isinstance(key, str) and '.' in key: key = key.split('.') if isinstance(key, list): parts = list(key)[:] prefix = '' while parts: bit = parts.pop(0) prefix = prefix + ('.' if prefix else '') + bit if prefix in self._entries: rest = '.'.join(parts) try: out = self._entries[prefix][rest] return out() except KeyError: # name conflict like "thing" and "think.oi", where it's # the latter we are after continue elif isinstance(key, tuple): out = self for part in key: out = out[part] return out() raise KeyError(key) def discover(self): return {"container": 'catalog', 'shape': None, 'dtype': None, 'metadata': self.metadata} def _close(self): # TODO: maybe close all entries? pass @property def gui(self): if not hasattr(self, '_gui'): from .gui import CatalogGUI self._gui = CatalogGUI(cat=self, visible=True) else: self._gui.visible = True return self._gui intake-0.6.5/intake/catalog/default.py000066400000000000000000000060671416666122400177010ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import appdirs import json import os import subprocess import sys from intake.config import conf from intake.utils import make_path_posix from .local import YAMLFilesCatalog, Catalog def load_user_catalog(): """Return a catalog for the platform-specific user Intake directory""" cat_dir = user_data_dir() if not os.path.isdir(cat_dir): return Catalog() else: return YAMLFilesCatalog(cat_dir) def user_data_dir(): """Return the user Intake catalog directory""" return appdirs.user_data_dir(appname='intake', appauthor='intake') def load_global_catalog(): """Return a catalog for the environment-specific Intake directory""" cat_dir = global_data_dir() if not os.path.isdir(cat_dir): return Catalog() else: return YAMLFilesCatalog(cat_dir) CONDA_VAR = 'CONDA_PREFIX' VIRTUALENV_VAR = 'VIRTUAL_ENV' def conda_prefix(): """Fallback: ask conda in PATH for its prefix""" try: out = subprocess.check_output(['conda', 'info', '--json']) return json.loads(out.decode())["default_prefix"] except (subprocess.CalledProcessError, json.JSONDecodeError, OSError): return False def which(program): """Emulate posix ``which``""" import distutils.spawn return distutils.spawn.find_executable(program) def global_data_dir(): """Return the global Intake catalog dir for the current environment""" prefix = False if VIRTUALENV_VAR in os.environ: prefix = os.environ[VIRTUALENV_VAR] elif CONDA_VAR in os.environ: prefix = sys.prefix elif which('conda'): # conda exists but is not activated prefix = conda_prefix() if prefix: # conda and virtualenv use Linux-style directory pattern return make_path_posix(os.path.join(prefix, 'share', 'intake')) else: return appdirs.site_data_dir(appname='intake', appauthor='intake') def load_combo_catalog(): """Load a union of the user and global catalogs for convenience""" user_dir = user_data_dir() global_dir = global_data_dir() desc = 'Generated from data packages found on your intake search path' cat_dirs = [] if os.path.isdir(user_dir): cat_dirs.append(user_dir + '/*.yaml') cat_dirs.append(user_dir + '/*.yml') if os.path.isdir(global_dir): cat_dirs.append(global_dir + '/*.yaml') cat_dirs.append(global_dir + '/*.yml') for path_dir in conf.get('catalog_path', []): if path_dir != '': if not path_dir.endswith(('yaml', 'yml')): cat_dirs.append(path_dir + '/*.yaml') cat_dirs.append(path_dir + '/*.yml') else: cat_dirs.append(path_dir) return YAMLFilesCatalog(cat_dirs, name='builtin', description=desc) intake-0.6.5/intake/catalog/entry.py000066400000000000000000000124031416666122400174050ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import time from ..utils import DictSerialiseMixin, pretty_describe class CatalogEntry(DictSerialiseMixin): """A single item appearing in a catalog This is the base class, used by local entries (i.e., read from a YAML file) and by remote entries (read from a server). """ def __init__(self, getenv=True, getshell=True): self._default_source = None self.getenv = getenv self.getshell = getshell self._pmode = 'default' def describe(self): """Get a dictionary of attributes of this entry. Returns: dict with keys name: str The name of the catalog entry. container : str kind of container used by this data source description : str Markdown-friendly description of data source direct_access : str Mode of remote access: forbid, allow, force user_parameters : list[dict] List of user parameters defined by this entry """ raise NotImplementedError def get(self, **user_parameters): """Open the data source. Equivalent to calling the catalog entry like a function. Note: ``entry()``, ``entry.attr``, ``entry[item]`` check for persisted sources, but directly calling ``.get()`` will always ignore the persisted store (equivalent to ``self._pmode=='never'``). Parameters ---------- user_parameters : dict Values for user-configurable parameters for this data source Returns ------- DataSource """ raise NotImplementedError def __call__(self, persist=None, **kwargs): """Instantiate DataSource with given user arguments Parameters ---------- persist: str or None Override persistence mode defined in the parent catalog. If not None, must be one of ['always', 'never', 'default']. Has no effect if the source has never been persisted, use source.persist() """ from ..source.base import PersistMixin if persist is not None and persist not in [ 'always', 'never', 'default']: raise ValueError('Persist value (%s) not understood' % persist) persist = persist or self._pmode s = self.get(**kwargs) if persist != 'never' and isinstance(s, PersistMixin) and s.has_been_persisted: from ..container.persist import store s2 = s.get_persisted() met = s2.metadata if persist == 'always' or not met['ttl']: s = s2 elif met['ttl'] < time.time() - met['timestamp']: s = s2 else: s = store.refresh(s2) s._entry = self s._passed_kwargs = list(kwargs) return s @property def container(self): return getattr(self, '_container', None) @container.setter def container(self, cont): # so that .container (which sources always have) always reflects ._container, # which is the variable name for entries. self._container = cont @property def has_been_persisted(self, **kwargs): """For the source created with the given args, has it been persisted?""" return self.get(**kwargs).has_been_persisted @property def plots(self): """List custom associated quick-plots """ return list(self._metadata.get('plots', {})) def _ipython_display_(self): """Display the entry as a rich object in an IPython session.""" from IPython.display import display import json contents = self.describe() display({ 'application/json': json.dumps(contents), 'text/plain': pretty_describe(contents) }, metadata={ 'application/json': {'root': contents["name"]} }, raw=True) def _yaml(self): return {"sources": {self.name: self.describe()}} def __iter__(self): # If the entry is a catalog, this allows list(cat.entry) if self._container == 'catalog': return iter(self()) else: raise ValueError('Cannot iterate a catalog entry') def __getitem__(self, item): """Pass getitem to data source, assuming default parameters Also supports multiple items ([.., ..]), in which case the first component only will be used to instantiate, and the rest passed on. """ if isinstance(item, tuple): if len(item) > 1: return self()[item[0]].__getitem__(item[1:]) else: item = item[0] return self()[item] def __repr__(self): return pretty_describe(self.describe()) @property def gui(self): if not hasattr(self, '_gui'): from .gui import EntryGUI self._gui = EntryGUI(source=self, visible=True) else: self._gui.visible = True return self._gui intake-0.6.5/intake/catalog/exceptions.py000066400000000000000000000047311416666122400204320ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- class CatalogException(Exception): """Basic exception for errors raised by catalog""" class PermissionDenied(CatalogException): """Raised when user requests functionality that they do not have permission to access. """ class ShellPermissionDenied(PermissionDenied): """The user does not have permission to execute shell commands.""" def __init__(self, msg=None): if msg is None: msg = "Additional permissions needed to execute shell commands." super(ShellPermissionDenied, self).__init__(msg) class EnvironmentPermissionDenied(PermissionDenied): """The user does not have permission to read environment variables.""" def __init__(self, msg=None): if msg is None: msg = "Additional permissions needed to read environment variables." super(EnvironmentPermissionDenied, self).__init__(msg) class ValidationError(CatalogException): """Something's wrong with the catalog spec""" def __init__(self, message, errors): super(ValidationError, self).__init__(message) self.errors = errors class DuplicateKeyError(ValidationError): """Catalog contains key duplications""" def __init__(self, context, context_mark, problem, problem_mark): line = problem_mark.line column = problem_mark.column msg = "duplicate key found on line {}, column {}".format( line + 1, column + 1) super(DuplicateKeyError, self).__init__(msg, []) class ObsoleteError(ValidationError): pass class ObsoleteParameterError(ObsoleteError): def __init__(self): msg = """Detected old syntax. See details for upgrade instructions to new syntax: [old syntax] parameters: - name: abc type: str [new syntax] parameters: abc: type: str """ super(ObsoleteParameterError, self).__init__(msg, []) class ObsoleteDataSourceError(ObsoleteError): def __init__(self): msg = """Detected old syntax. See details for upgrade instructions to new syntax: [old syntax] sources: - name: abc driver: csv [new syntax] sources: abc: driver: csv """ super(ObsoleteDataSourceError, self).__init__(msg, []) intake-0.6.5/intake/catalog/gui.py000066400000000000000000000100111416666122400170210ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from functools import partial try: import panel as pn from ..interface.gui import SourceGUI, MAX_WIDTH, ICONS css = """ .scrolling { overflow: scroll; } """ pn.config.raw_css.append(css) # add scrolling class from css (panel GH#383, GH#384) pn.extension() class EntryGUI(SourceGUI): def __init__(self, source=None, **kwargs): self.source = source super().__init__(sources=[self.source], **kwargs) self.panel = pn.Column( pn.Row(ICONS['logo'], pn.Column(*self.controls)), self.description.panel, self.plot.panel ) def setup(self): self._setup_watchers() @SourceGUI.visible.setter def visible(self, visible): self._visible = visible if visible: self.setup() self.select.visible = True self.description.visible = True elif not visible: self.unwatch() # do children self.select.visible = False self.description.visible = False self.plot.visible = False if self.visible_callback: self.visible_callback(visible) @property def item(self): return self.source class CatalogGUI(SourceGUI): def __init__(self, cat, **kwargs): self.cat = cat super().__init__(cats=[self.cat], **kwargs) self.panel = pn.Column( pn.Row( pn.panel(ICONS['logo']), pn.Row( pn.Column( self.select.panel, self.control_panel, margin=0 ), self.description.panel, margin=0 ), ), self.plot.panel ) def setup(self): self._setup_watchers() @SourceGUI.visible.setter def visible(self, visible): self._visible = visible if visible: self.setup() self.select.visible = True self.description.visible = True if len(self.control_panel.objects) == 0: self.control_panel.extend(self.controls) elif not visible: self.unwatch() # do children self.select.visible = False self.control_panel.clear() self.description.visible = False self.plot.visible = False if self.visible_callback: self.visible_callback(visible) @property def item(self): """Item that is selected""" if len(self.sources) == 0: return None return self.sources[0] except ImportError: class GUI(object): def __init__(self, *args, **kwargs): pass def __repr__(self): raise RuntimeError("Please install panel to use the GUI (`conda " "install -c conda-forge panel>0.8.0`)") EntryGUI = GUI CatalogGUI = GUI except Exception as e: class GUI(object): def __init__(self, *args, **kwargs): pass def __repr__(self): raise RuntimeError("Initialization of GUI failed, even though " "panel is installed. Please update it " "to a more recent version (`conda install -c " "conda-forge panel==0.5.1`).") EntryGUI = GUI CatalogGUI = GUI intake-0.6.5/intake/catalog/local.py000066400000000000000000001014161416666122400173410ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import collections import inspect import logging import os import warnings import entrypoints from fsspec import get_filesystem_class, open_files from fsspec.core import split_protocol from .. import __version__ from ..source import get_plugin_class, register_driver from ..source.discovery import load_plugins_from_module from ..utils import DictSerialiseMixin, classname, make_path_posix, yaml_load from . import exceptions from .base import Catalog, DataSource from .entry import CatalogEntry from .utils import (COERCION_RULES, _has_catalog_dir, coerce, expand_defaults, merge_pars) logger = logging.getLogger('intake') class UserParameter(DictSerialiseMixin): """ A user-settable item that is passed to a DataSource upon instantiation. For string parameters, default may include special functions ``func(args)``, which *may* be expanded from environment variables or by executing a shell command. Parameters ---------- name: str the key that appears in the DataSource argument strings description: str narrative text type: str one of list ``(COERSION_RULES)`` default: type value same type as ``type``. It a str, may include special functions env, shell, client_env, client_shell. min, max: type value for validation of user input allowed: list of type for validation of user input """ def __init__(self, name, description=None, type=None, default=None, min=None, max=None, allowed=None): self.name = name self.description = description self.type = type or __builtins__["type"](default).__name__ self.min = min self.max = max self.allowed = allowed self._default = default try: self.default = coerce(self.type, default) except (ValueError, TypeError): self.default = None self.expanded_default = self.default if self.min: self.min = coerce(self.type, self.min) if self.max: self.max = coerce(self.type, self.max) if self.allowed and type != "mlist": self.allowed = [coerce(self.type, item) for item in self.allowed] def __repr__(self): return f'<{self.__class__.__name__} {self.name!r}>' __str__ = __repr__ def describe(self): """Information about this parameter""" desc = { 'name': self.name, 'description': self.description, # the Parameter might not have a type at all 'type': self.type or 'unknown', } for attr in ['min', 'max', 'allowed', 'default']: v = getattr(self, attr) if v is not None: desc[attr] = v return desc def expand_defaults(self, client=False, getenv=True, getshell=True): """Compile env, client_env, shell and client_shell commands """ if not isinstance(self._default, str): self.expanded_default = self._default else: self.expanded_default = coerce(self.type, expand_defaults( self._default, client, getenv, getshell)) def validate(self, value): """Does value meet parameter requirements?""" if self.type is not None: value = coerce(self.type, value) if self.type == "mlist": for v in value: if v not in self.allowed: raise ValueError("Item %s not in allowed list", v) return value if self.min is not None and value < self.min: raise ValueError('%s=%s is less than %s' % (self.name, value, self.min)) if self.max is not None and value > self.max: raise ValueError('%s=%s is greater than %s' % ( self.name, value, self.max)) if self.allowed is not None and value not in self.allowed: raise ValueError('%s=%s is not one of the allowed values: %s' % ( self.name, value, ','.join(map(str, self.allowed)))) return value class LocalCatalogEntry(CatalogEntry): """A catalog entry on the local system """ def __init__(self, name, description, driver, direct_access=True, args={}, cache=[], parameters=[], metadata={}, catalog_dir='', getenv=True, getshell=True, catalog=None): """ Parameters ---------- name: str How this entry is known, normally from its key in a YAML file, or if that is not provided then from name of file, or name of dir if file name is 'catalog.yaml' or 'catalog.yml'. description: str Brief text about the target source driver: str, list, dict or DataSource subclass The plugin(s) that can load this. Can be a simple name like "csv", which will be looked up in the registry, a fully-qualified class name ("package.mod.Class"), a list of these which would all work, a dictionary of the same with reasonable names, or an explicit class derived from DataSource. direct_access: bool Is the client allowed to attempt to reach this data args: dict Passed when instantiating the plugin DataSource parameters: list UserParameters that can be set metadata: dict Additional information about this data catalog_dir: str Location of the catalog, if known getenv: bool Can parameter default fields take values from the environment getshell: bool Can parameter default fields run shell commands catalog: bool Catalog object in which this entry belongs """ self._name = name self._default_source = None self._description = description self._driver = driver self._direct_access = direct_access self._open_args = args self._cache = cache self._user_parameters = parameters self._metadata = metadata or {} self._catalog_dir = catalog_dir self._filesystem = None self._catalog = catalog if isinstance(driver, str): dr = get_plugin_class(driver) self._plugin = [dr] if dr is not None else [] containers = set(p.container for p in self._plugin) elif isinstance(driver, list): self._plugin = [get_plugin_class(d) for d in driver] self._plugin = [p for p in self._plugin if p is not None] containers = set(p.container for p in self._plugin) elif isinstance(driver, dict): self._plugin = {d: get_plugin_class(driver[d]['class']) for d in driver} self._plugin = {k: v for k, v in self._plugin.items() if v is not None} containers = set(p.container for p in self._plugin.values()) elif inspect.isclass(driver) and issubclass(driver, DataSource): self._plugin = [driver] containers = {driver.container} else: raise TypeError('Driver was not a string, list, dict or DataSource:' ' %s' % driver) if len(containers) > 1: # this is an error, because cat is poorly specified, even if other # plugins are OK raise ValueError('Plugins for a data source must have only one ' 'container.') if len(containers) == 0: # this is only debug, this single entry won't work, but cat is OK. # you get an error if you try to actually use this entry logger.debug('No plugins for entry: %s' % self.name) containers = [None] self._container = list(containers)[0] super(LocalCatalogEntry, self).__init__( getenv=getenv, getshell=getshell) @property def name(self): return self._name def describe(self): """Basic information about this entry""" if isinstance(self._plugin, list): pl = [p.name for p in self._plugin] elif isinstance(self._plugin, dict): pl = {k: classname(v) for k, v in self._plugin.items()} else: pl = self._plugin if isinstance(self._plugin, str) else self._plugin.name return { 'name': self._name, 'container': self._container, 'plugin': pl, # deprecated 'driver': pl, 'description': self._description, 'direct_access': self._direct_access, 'user_parameters': [u.describe() for u in self._user_parameters], 'metadata': self._metadata, 'args': self._open_args } def _create_open_args(self, user_parameters): plugin = user_parameters.pop('plugin', None) md = self._metadata.copy() if self._metadata is not None else {} md['catalog_dir'] = self._catalog_dir if user_parameters.pop('cache', None) or self._cache: md['cache'] = user_parameters.pop('cache', None) or self._cache params = {'metadata': md, 'CATALOG_DIR': self._catalog_dir, } params.update(self._open_args) if ('storage_options' not in params and self._filesystem is not None and self._filesystem.storage_options and _has_catalog_dir(params)): params['storage_options'] = self._filesystem.storage_options open_args = merge_pars(params, user_parameters, self._user_parameters, getshell=self.getshell, getenv=self.getenv, client=False) if len(self._plugin) == 0: raise ValueError('No plugins loaded for this entry: %s\n' 'A listing of installable plugins can be found ' 'at https://intake.readthedocs.io/en/latest/plugin' '-directory.html .' % self._driver) elif isinstance(self._plugin, list): plugin = self._plugin[0] else: # dict if plugin is None: # default selection for dict plugin = list(self._plugin)[0] spec = self._driver[plugin] open_args.update(spec.get('args', {})) try: plugin = self._plugin[plugin] except KeyError: raise ValueError('Attempt to select unavailable plugin %s, ' 'perhaps import of plugin failed' % plugin) return plugin, open_args def get(self, **user_parameters): """Instantiate the DataSource for the given parameters""" if not user_parameters and self._default_source is not None: return self._default_source plugin, open_args = self._create_open_args(user_parameters) data_source = plugin(**open_args) data_source.catalog_object = self._catalog data_source.name = self.name data_source.description = self._description data_source.cat = self._catalog # Cache the default source if there are no user parameters. if not user_parameters: self._default_source = data_source return data_source def clear_cached_default_source(self): """ Clear a cached default source so it can be created anew (if, for instance, it depends on changing environment variables or execution context) """ self._default_source = None class CatalogParser(object): """Loads entries from a YAML spec""" def __init__(self, data, getenv=True, getshell=True, context=None): self._context = context if context else {} self._errors = [] self._warnings = [] self.getenv = getenv self.getshell = getshell self._data = self._parse(data) @property def ok(self): return len(self._errors) == 0 @property def data(self): return self._data @property def errors(self): return self._errors @property def warnings(self): return self._warnings def error(self, msg, obj, key=None): if key is not None: self._errors.append(str((msg, obj, key))) else: self._errors.append(str((msg, obj))) def warning(self, msg, obj, key=None): if key is None: self._warnings.append(str((msg, obj))) else: self._warnings.append(str((msg, obj, key))) def _parse_plugins(self, data): if 'plugins' not in data: return if not isinstance(data['plugins'], dict): self.error("value of key 'plugins' must be a dictionary", data, 'plugins') return if 'source' not in data['plugins']: self.error("missing key 'source'", data['plugins']) return if not isinstance(data['plugins']['source'], list): self.error("value of key 'source' must be a list", data['plugins'], 'source') return for plugin_source in data['plugins']['source']: if not isinstance(plugin_source, dict): self.error("value in list of plugins sources must be a " "dictionary", data['plugins'], 'source') continue if 'module' in plugin_source: register_plugin_module(plugin_source['module']) elif 'dir' in plugin_source: self.error( "The key 'dir', and in general the feature of registering " "plugins from a directory of Python scripts outside of " "sys.path, is no longer supported. Use 'module'.", plugin_source) else: self.error("missing 'module'", plugin_source) def _getitem(self, obj, key, dtype, required=True, default=None, choices=None): if key in obj: if isinstance(obj[key], dtype): if choices and obj[key] not in choices: self.error("value '{}' is invalid (choose from {})".format( obj[key], choices), obj, key) else: return obj[key] else: self.error("value '{}' is not expected type '{}'".format( obj[key], dtype.__name__), obj, key) return None elif required: self.error("missing required key '{}'".format(key), obj) return None elif default: return default return None if dtype is object else dtype() def _parse_user_parameter(self, name, data): valid_types = list(COERCION_RULES) params = { 'name': name, 'description': self._getitem(data, 'description', str), 'type': self._getitem(data, 'type', str, choices=valid_types), 'default': self._getitem(data, 'default', object, required=False), 'min': self._getitem(data, 'min', object, required=False), 'max': self._getitem(data, 'max', object, required=False), 'allowed': self._getitem(data, 'allowed', object, required=False) } if params['description'] is None or params['type'] is None: return None return UserParameter(**params) def _parse_data_source(self, name, data): if data.pop('remote', False): from intake.catalog.remote import RemoteCatalogEntry return RemoteCatalogEntry(getenv=self.getenv, getshell=self.getshell, **data) elif 'cls' in data: from intake.utils import remake_instance return remake_instance(data) else: return self._parse_data_source_local(name, data) def _parse_data_source_local(self, name, data): ds = { 'name': name, 'description': self._getitem(data, 'description', str, required=False), 'driver': self._getitem(data, 'driver', object), 'direct_access': self._getitem( data, 'direct_access', str, required=False, default='forbid', choices=['forbid', 'allow', 'force']), 'args': self._getitem(data, 'args', dict, required=False), 'cache': self._getitem(data, 'cache', list, required=False), 'metadata': self._getitem(data, 'metadata', dict, required=False) } if ds['driver'] is None: return None ds['parameters'] = [] if 'parameters' in data: if isinstance(data['parameters'], list): raise exceptions.ObsoleteParameterError if not isinstance(data['parameters'], dict): self.error("value of key 'parameters' must be a dictionary", data, 'parameters') return None for name, parameter in data['parameters'].items(): if not isinstance(name, str): self.error("key '{}' must be a string".format(name), data['parameters'], name) continue if not isinstance(parameter, dict): self.error("value of key '{}' must be a dictionary" "".format(name), data['parameters'], name) continue obj = self._parse_user_parameter(name, parameter) if obj: ds['parameters'].append(obj) return LocalCatalogEntry(catalog_dir=self._context['root'], getenv=self.getenv, getshell=self.getshell, **ds) def _parse_data_sources(self, data): sources = [] if 'sources' not in data: self.error("missing key 'sources'", data) return sources if isinstance(data['sources'], list): raise exceptions.ObsoleteDataSourceError if not isinstance(data['sources'], dict): self.error("value of key 'sources' must be a dictionary", data, 'sources') return sources for name, source in data['sources'].items(): if not isinstance(name, str): self.error("key '{}' must be a string".format(name), data['sources'], name) continue if not isinstance(source, dict): self.error("value of key '{}' must be a dictionary" "".format(name), data['sources'], name) continue obj = self._parse_data_source(name, source) if obj: sources.append(obj) return sources def _parse(self, data): if not isinstance(data, dict): self.error("catalog must be a dictionary", data) return return dict( plugin_sources=self._parse_plugins(data), data_sources=self._parse_data_sources(data), metadata=data.get('metadata', {}), name=data.get('name'), description=data.get('description'), ) def register_plugin_module(mod): """Find plugins in given module""" for k, v in load_plugins_from_module(mod).items(): if k: if isinstance(k, (list, tuple)): k = k[0] register_driver(k, v) def get_dir(path): if '://' in path: protocol, _ = split_protocol(path) out = get_filesystem_class(protocol)._parent(path) if "://" not in out: # some FSs strip this, some do not out = protocol + "://" + out return out path = make_path_posix( os.path.join(os.getcwd(), os.path.dirname(path))) if path[-1] != '/': path += '/' return path class YAMLFileCatalog(Catalog): """Catalog as described by a single YAML file""" version = __version__ container = 'catalog' partition_access = None name = 'yaml_file_cat' def __init__(self, path, autoreload=True, **kwargs): """ Parameters ---------- path: str Location of the file to parse (can be remote) reload : bool Whether to watch the source file for changes; make False if you want an editable Catalog """ self.path = path self.text = None self.autoreload = autoreload # set this to False if don't want reloads self.filesystem = kwargs.pop('fs', None) self.access = "name" not in kwargs super(YAMLFileCatalog, self).__init__(**kwargs) def _load(self, reload=False): """Load text of catalog file and pass to parse Will do nothing if auto-reload is off and reload is not explicitly requested """ if self.access is False: # skip first load, if cat has given name (i.e., is subcat) self.updated = 0 self.access = True return if self.autoreload or reload: # First, we load from YAML, failing if syntax errors are found options = self.storage_options or {} if hasattr(self.path, 'path') or hasattr(self.path, 'read'): file_open = self.path self.path = make_path_posix( getattr(self.path, 'path', getattr(self.path, 'name', 'file'))) elif self.filesystem is None: file_open = open_files(self.path, mode='rb', **options) assert len(file_open) == 1 file_open = file_open[0] self.filesystem = file_open.fs else: file_open = self.filesystem.open(self.path, mode='rb') self._dir = get_dir(self.path) with file_open as f: text = f.read().decode() if "!template " in text: logger.warning("Use of '!template' deprecated - fixing") text = text.replace('!template ', '') self.parse(text) def add(self, source, name=None, path=None, storage_options=None): """Add sources to the catalog and save into the original file This adds the source into the catalog dictionary, and saves the resulting catalog as YAML. Typically, this would be used to update a catalog file in-place. Optionally, the new catalog can be saved to a new location, in which case the new catalog is returned. Note that if a source of the given name exists, it will be clobbered. Parameters ---------- source : DataSource instance The source whose spec we want to save name : str or None The name the source is to have in the catalog; use the source's name attribute, if not given. path : str or None Location to save the new catalog; if None, the original location from which it was loaded storage_options : dict or None If saving to a new location, use these arguments for the filesystem backend Returns ------- YAMLFileCatalog instance, containing the new entry """ import yaml entries = self._entries.copy() name = name or source.name or "source" entries[name] = source if path is None: options = self.storage_options or {} file_open = open_files([self.path], mode='wt', **options) else: options = storage_options or {} file_open = open_files([path], mode='wt', **options) assert len(file_open) == 1 file_open = file_open[0] data = {'metadata': self.metadata, 'sources': {}} for e in entries: data['sources'][e] = list(entries[e]._yaml()['sources'].values())[0] with file_open as f: yaml.dump(data, f, default_flow_style=False) if path: return self else: return YAMLFileCatalog(self.path, storage_options=storage_options, autoreload=self.autoreload) def parse(self, text): """Create entries from catalog text Normally the text comes from the file at self.path via the ``_load()`` method, but could be explicitly set instead. A copy of the text is kept in attribute ``.text`` . Parameters ---------- text : str YAML formatted catalog spec """ self.text = text data = yaml_load(self.text) if data is None: raise exceptions.CatalogException('No YAML data in file') # Second, we validate the schema and semantics context = dict(root=self._dir) result = CatalogParser(data, context=context, getenv=self.getenv, getshell=self.getshell) if result.errors: raise exceptions.ValidationError( "Catalog '{}' has validation errors:\n\n{}" "".format(self.path, "\n".join(result.errors)), result.errors) cfg = result.data self._entries = {} shared_parameters = data.get("metadata", {}).get("parameters", {}) self.user_parameters.update({ name: UserParameter(name, **attrs) for name, attrs in shared_parameters.items() }) for entry in cfg['data_sources']: entry._catalog = self self._entries[entry.name] = entry entry._filesystem = self.filesystem self.metadata = cfg.get('metadata', {}) self.name = self.name or cfg.get('name') or self.name_from_path self.description = self.description or cfg.get('description') @property def name_from_path(self): """If catalog is named 'catalog' take name from parent directory""" name = os.path.splitext(os.path.basename(self.path))[0] if name == 'catalog': name = os.path.basename(os.path.dirname(self.path)) return name.replace('.', '_') class YAMLFilesCatalog(Catalog): """Catalog as described by a multiple YAML files""" version = __version__, container = 'catalog' partition_access = None name = 'yaml_files_cat' def __init__(self, path, flatten=True, **kwargs): """ Parameters ---------- path: str Location of the files to parse (can be remote), including possible glob (*) character(s). Can also be list of paths, without glob characters. flatten: bool (True) Whether to list all entries in the cats at the top level (True) or create sub-cats from each file (False). """ self.path = path self._flatten = flatten self._kwargs = kwargs.copy() self._cat_files = [] self._cats = {} self.access = "name" not in kwargs super(YAMLFilesCatalog, self).__init__(**kwargs) def _load(self): # initial: find cat files # if flattening, need to get all entries from each. if self.access is False: # skip first load, if cat has given name (i.e., is subcat) self.updated = 0 self.access = True return self._entries.clear() options = self.storage_options or {} if isinstance(self.path, (list, tuple)): files = sum([open_files(p, mode='rb', **options) for p in self.path], []) self.name = self.name or "%i files" % len(files) self.description = self.description or f'Catalog generated from {len(files)} files' self.path = [make_path_posix(p) for p in self.path] else: if isinstance(self.path, str) and '*' not in self.path: self.path = self.path + '/*' files = open_files(self.path, mode='rb', **options) self.path = make_path_posix(self.path) self.name = self.name or self.path self.description = self.description or f'Catalog generated from all files found in {self.path}' if not set(f.path for f in files) == set( f.path for f in self._cat_files): # glob changed, reload all self._cat_files = files self._cats.clear() for f in files: name = os.path.split(f.path)[-1].replace( '.yaml', '').replace('.yml', '') kwargs = self.kwargs.copy() kwargs['path'] = f.path d = make_path_posix(os.path.dirname(f.path)) if f.path not in self._cats: entry = LocalCatalogEntry(name, "YAML file: %s" % name, 'yaml_file_cat', True, kwargs, [], [], self.metadata, d) if self._flatten: # store a concrete Catalog try: cat = entry() cat.reload() self.user_parameters.update(cat.user_parameters) self._cats[f.path] = cat except IOError as e: logger.info('Loading "%s" as a catalog failed: %s' '' % (entry, e)) else: # store a catalog entry self._cats[f.path] = entry entries = {} for name, entry in list(self._cats.items()): if self._flatten: entry.reload() inter = set(entry._entries).intersection(entries) if inter: raise ValueError( 'Conflicting names when flattening multiple' ' catalogs. Sources %s exist in more than' ' one' % inter) entries.update(entry._entries) else: entries[entry._name] = entry self._entries.update(entries) class MergedCatalog(Catalog): """ A Catalog that merges the entries of a list of catalogs. """ def __init__(self, catalogs, *args, **kwargs): self._catalogs = catalogs super().__init__(*args, **kwargs) def _load(self): for catalog in self._catalogs: catalog._load() self._entries = collections.ChainMap( *(catalog._entries for catalog in self._catalogs) ) class EntrypointEntry(CatalogEntry): """ A catalog entry for an entrypoint. """ def __init__(self, entrypoint): self._entrypoint = entrypoint self._container = None self._user_parameters = [] super().__init__() def __repr__(self): return f"" @property def name(self): return self._entrypoint.name def describe(self): """Basic information about this entry""" if self._container is None: self._container = self().container return {'name': self.name, 'module_name': self._entrypoint.module_name, 'object_name': self._entrypoint.object_name, 'distro': self._entrypoint.distro, 'extras': self._entrypoint.extras, 'container': self._container } def get(self): """Instantiate the DataSource for the given parameters""" return self._entrypoint.load() class EntrypointsCatalog(Catalog): """ A catalog of discovered entrypoint catalogs. """ def __init__(self, *args, entrypoints_group='intake.catalogs', paths=None, **kwargs): self._entrypoints_group = entrypoints_group self._paths = paths super().__init__(*args, **kwargs) def _load(self): catalogs = entrypoints.get_group_named(self._entrypoints_group, path=self._paths) self.name = self.name or 'EntrypointsCatalog' self.description = (self.description or f'EntrypointsCatalog of {len(catalogs)} catalogs.') for name, entrypoint in catalogs.items(): try: self._entries[name] = EntrypointEntry(entrypoint) except Exception as e: warnings.warn(f"Failed to load {name}, {entrypoint}, {e!r}.") # Register these early in the import process to support the default catalog # which is built at import time. (Without this, 'yaml_file_cat' is looked for # in intake.registry before the registry has been populated.) register_driver('yaml_file_cat', YAMLFileCatalog) register_driver('yaml_files_cat', YAMLFilesCatalog) intake-0.6.5/intake/catalog/remote.py000066400000000000000000000503511416666122400175430ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import collections import copy import keyword import logging import posixpath import re import warnings import msgpack from ..source import registry as plugin_registry from . import Catalog from .entry import CatalogEntry from .utils import expand_defaults, coerce, RemoteCatalogError from ..compat import unpack_kwargs, pack_kwargs from ..utils import remake_instance from intake.auth.base import BaseClientAuth, AuthenticationFailure logger = logging.getLogger('intake') class RemoteCatalog(Catalog): """The state of a remote Intake server""" name = 'intake_remote' def __init__(self, url, http_args=None, page_size=None, name=None, source_id=None, metadata=None, auth=None, ttl=1, getenv=True, getshell=True, storage_options=None, parameters=None, persist_mode="default"): """Connect to remote Intake Server as a catalog Parameters ---------- url: str Address of the server, e.g., "intake://localhost:5000". http_args: dict Arguments to add to HTTP calls, including "ssl" (True/False) for secure connections. page_size : int, optional The number of entries fetched at a time during iteration. Default is None (no pagination; fetch all entries in bulk). name : str, optional Unique identifier for catalog. This is primarily useful when manually constructing a catalog. Defaults to None. source_id : str, optional Emphemeral unique ID generated by the server, if known. metadata: dict Additional information about this data auth : BaseClientAuth or None Default, None, falls back to BaseClientAuth. ttl : float, optional Lifespan (time to live) of cached modification time. Units are in seconds. Defaults to 1. getenv: bool Can parameter default fields take values from the environment getshell: bool Can parameter default fields run shell commands storage_options : dict If using a URL beginning with 'intake://' (remote Intake server), parameters to pass to requests when issuing http commands; otherwise parameters to pass to remote backend file-system. Ignored for normal local files. parameters: dict To pass to the server when it instantiates the data source """ from requests.compat import urljoin, urlparse if http_args is None: http_args = {} else: # Make a deep copy to avoid mutating input. http_args = copy.deepcopy(http_args) secure = http_args.pop('ssl', False) scheme = 'https' if secure else 'http' url = url.replace('intake', scheme, 1) if not url.endswith('/'): url = url + '/' self.url = url self.info_url = urljoin(url, 'v1/info') self.source_url = urljoin(url, 'v1/source') self.http_args = http_args self.http_args.update(storage_options or {}) self.http_args['headers'] = self.http_args.get('headers', {}) self._page_size = page_size self._source_id = source_id self._parameters = parameters self._len = None self.auth = auth or BaseClientAuth() if self._source_id is None: name = urlparse(url).netloc.replace( '.', '_').replace(':', '_') super(RemoteCatalog, self).__init__( name=name, metadata=name, ttl=ttl, getenv=getenv, getshell=getshell, storage_options=storage_options, persist_mode=persist_mode) def _make_entries_container(self): return Entries(self) def __dir__(self): # Include (cached) tab-completable entries and normal attributes. return ( [key for key in self._ipython_key_completions_() if re.match("[_A-Za-z][_a-zA-Z0-9]*$", key) # valid Python identifier and not keyword.iskeyword(key)] # not a Python keyword + list(self.__dict__.keys())) def _ipython_key_completions_(self): if not self._entries.complete: # Ensure that at least one page of data has been loaded so that # *some* entries are included. next(iter(self)) if not self._entries.complete: warnings.warn( "Tab-complete and dir() on RemoteCatalog may include only a " "subset of the available entries.") # Loop through the cached entries, but do not trigger iteration over # the full set. # Intentionally access _entries directly to avoid paying for a reload. return [key for key, _ in self._entries.cached_items()] @property def page_size(self): return self._page_size def fetch_page(self, page_offset): import requests logger.debug("Request page entries %d-%d", page_offset, page_offset + self._page_size) params = {'page_offset': page_offset, 'page_size': self._page_size} http_args = self._get_http_args(params) response = requests.get(self.info_url, **http_args) # Produce a chained exception with both the underlying HTTPError # and our own more direct context. try: response.raise_for_status() except requests.HTTPError as err: raise RemoteCatalogError( "Failed to fetch page of entries {}-{}." "".format(page_offset, page_offset + self._page_size)) from err info = msgpack.unpackb(response.content, **unpack_kwargs) page = {} for source in info['sources']: user_parameters = source.get('user_parameters', []) # TODO Do something with self._parameters. page[source['name']] = RemoteCatalogEntry( url=self.url, getenv=self.getenv, getshell=self.getshell, auth=self.auth, http_args=self.http_args, page_size=self._page_size, persist_mode=self.pmode, # user_parameters=user_parameters, **source) return page def fetch_by_name(self, name): import requests logger.debug("Requesting info about entry named '%s'", name) params = {'name': name} http_args = self._get_http_args(params) response = requests.get(self.source_url, **http_args) if response.status_code == 404: raise KeyError(name) try: response.raise_for_status() except requests.HTTPError as err: raise RemoteCatalogError( "Failed to fetch entry {!r}.".format(name)) from err info = msgpack.unpackb(response.content, **unpack_kwargs) return RemoteCatalogEntry( url=self.url, getenv=self.getenv, getshell=self.getshell, auth=self.auth, http_args=self.http_args, page_size=self._page_size, persist_mode=self.pmode, **info['source']) def _get_http_args(self, params): """ Return a copy of the http_args Adds auth headers and 'source-id', merges in params. """ # Add the auth headers to any other headers headers = self.http_args.get('headers', {}) if self.auth is not None: auth_headers = self.auth.get_headers() headers.update(auth_headers) # build new http args with these headers http_args = self.http_args.copy() if self._source_id is not None: headers['source-id'] = self._source_id http_args['headers'] = headers # Merge in any params specified by the caller. merged_params = http_args.get('params', {}) merged_params.update(params) http_args['params'] = merged_params return http_args def _load(self): """Fetch metadata from remote. Entries are fetched lazily.""" # This will not immediately fetch any sources (entries). It will lazily # fetch sources from the server in paginated blocks when this Catalog # is iterated over. It will fetch specific sources when they are # accessed in this Catalog via __getitem__. import requests if self.page_size is None: # Fetch all source info. params = {} else: # Just fetch the metadata now; fetch source info later in pages. params = {'page_offset': 0, 'page_size': 0} http_args = self._get_http_args(params) response = requests.get(self.info_url, **http_args) try: response.raise_for_status() error = False except requests.HTTPError as err: if '403' in err.args[0]: error = "Your current level of authentication does not have access" else: raise RemoteCatalogError( "Failed to fetch metadata.") from err if error: raise AuthenticationFailure(error) info = msgpack.unpackb(response.content, **unpack_kwargs) self.metadata = info['metadata'] # The intake server now always provides a length, but the server may be # running an older version of intake. self._len = info.get('length') self._entries.reset() # If we are paginating (page_size is not None) and the server we are # working with is new enough to support pagination, info['sources'] # should be empty. If either of those things is not true, # info['sources'] will contain all the entries and we should cache them # now. if info['sources']: # Signal that we are not paginating, even if we were asked to. self._page_size = None self._entries._page_cache.update( {source['name']: RemoteCatalogEntry( url=self.url, getenv=self.getenv, getshell=self.getshell, auth=self.auth, http_args=self.http_args, **source) for source in info['sources']}) def search(self, *args, **kwargs): import requests request = {'action': 'search', 'query': (args, kwargs), 'source_id': self._source_id} response = requests.post( url=self.source_url, **self._get_http_args({}), data=msgpack.packb(request, **pack_kwargs)) try: response.raise_for_status() except requests.HTTPError as err: raise RemoteCatalogError("Failed search query.") from err source = msgpack.unpackb(response.content, **unpack_kwargs) source_id = source['source_id'] cat = RemoteCatalog( url=self.url, http_args=self.http_args, source_id=source_id, persist_mode=self.pmode, name="") cat.cat = self return cat def __len__(self): if self._len is None: # The server is running an old version of intake and did not # provide a length, so we have no choice but to do this the # expensive way. return sum(1 for _ in self) else: return self._len @staticmethod def _persist(source, path, **kwargs): return RemoteCatalog._data_to_source(source, path, **kwargs) @staticmethod def _data_to_source(cat, path, **kwargs): from intake.catalog.local import YAMLFileCatalog from fsspec import open_files import yaml if not isinstance(cat, Catalog): raise NotImplementedError out = {} # reach down into the private state because we apparently need the # Entry here rather than the public facing DataSource objects. for name, entry in cat._entries.items(): out[name] = entry.__getstate__() out[name]['parameters'] = [up._captured_init_kwargs for up in entry._user_parameters] out[name]['kwargs'].pop('parameters') fn = posixpath.join(path, 'cat.yaml') with open_files([fn], 'wt')[0] as f: yaml.dump({'sources': out}, f) return YAMLFileCatalog(fn) class Entries(collections.abc.Mapping): """Fetches entries from server on item lookup and iteration. This fetches pages of entries from the server during iteration and caches them. On __getitem__ it fetches the specific entry from the server. """ # This has PY3-style lazy methods (keys, values, items). Since it's # internal we should not need the PY2-only iter* variants. def __init__(self, catalog): self._catalog = catalog self._page_cache = collections.OrderedDict() # Put lookups that were due to __getitem__ in a separate cache # so that iteration reflects the server's order, not an # arbitrary cache order. self._direct_lookup_cache = {} self._page_offset = 0 # True if all pages are cached locally self.complete = self._catalog.page_size is None def reset(self): "Clear caches to force a reload." self._page_cache.clear() self._direct_lookup_cache.clear() self._page_offset = 0 self.complete = self._catalog.page_size is None def __iter__(self): for key in self._page_cache: yield key if self._catalog.page_size is None: # We are not paginating, either because the user set page_size=None # or the server is a version of intake before pagination parameters # were added. return # Fetch more entries from the server. while True: page = self._catalog.fetch_page(self._page_offset) self._page_cache.update(page) self._page_offset += len(page) for key in page: yield key if len(page) < self._catalog.page_size: # Partial or empty page. # We are done until the next call to items(), when we # will resume at the offset where we left off. self.complete = True break def cached_items(self): """ Iterate over items that are already cached. Perform no requests. """ for item in self._page_cache.items(): yield item for item in self._direct_lookup_cache.items(): yield item def __getitem__(self, key): try: return self._direct_lookup_cache[key] except KeyError: try: return self._page_cache[key] except KeyError: source = self._catalog.fetch_by_name(key) self._direct_lookup_cache[key] = source return source def __len__(self): return len(self._catalog) class RemoteCatalogEntry(CatalogEntry): """An entry referring to a remote data definition""" def __init__(self, url, auth, name=None, user_parameters=None, container=None, description='', metadata=None, http_args=None, page_size=None, persist_mode="default", direct_access=False, getenv=True, getshell=True, **kwargs): """ Parameters ---------- url: str HTTP address of the Intake server this entry comes from auth: Auth instance If there are additional headers to add to calls, this instance will provide them kwargs: additional keys describing the entry, name, description, container, """ self.url = url if isinstance(auth, dict): auth = remake_instance(auth) self.auth = auth self.container = container self.name = name self.description = description self._metadata = metadata or {} self._page_size = page_size # Persist mode describing a nested RemoteCatalog self.catalog_pmode = persist_mode self._user_parameters = [remake_instance(up) if (isinstance(up, dict) and 'cls' in up) else up for up in user_parameters or []] self._direct_access = direct_access self.http_args = (http_args or {}).copy() if 'headers' not in self.http_args: self.http_args['headers'] = {} super(RemoteCatalogEntry, self).__init__(getenv=getenv, getshell=getshell) # Persist mode for the RemoteCatalogEntry self._pmode = "never" def describe(self): return { 'name': self.name, 'container': self.container, 'plugin': "remote", 'description': self.description, 'direct_access': self._direct_access, 'metadata': self._metadata, 'user_parameters': self._user_parameters, 'args': (self.url, ) } def get(self, **user_parameters): for par in self._user_parameters: if par['name'] not in user_parameters: default = par['default'] if isinstance(default, str): default = coerce(par['type'], expand_defaults( par['default'], True, self.getenv, self.getshell)) user_parameters[par['name']] = default http_args = self.http_args.copy() http_args['headers'] = self.http_args['headers'].copy() http_args['headers'].update(self.auth.get_headers()) return open_remote( self.url, self.name, container=self.container, user_parameters=user_parameters, description=self.description, http_args=http_args, page_size=self._page_size, auth=self.auth, getenv=self.getenv, persist_mode=self.catalog_pmode, getshell=self.getshell) def open_remote(url, entry, container, user_parameters, description, http_args, page_size=None, persist_mode=None, auth=None, getenv=None, getshell=None): """Create either local direct data source or remote streamed source""" from intake.container import container_map import msgpack import requests from requests.compat import urljoin if url.startswith('intake://'): url = url[len('intake://'):] payload = dict(action='open', name=entry, parameters=user_parameters, available_plugins=list(plugin_registry.keys())) req = requests.post(urljoin(url, '/v1/source'), data=msgpack.packb(payload, **pack_kwargs), **http_args) if req.ok: response = msgpack.unpackb(req.content, **unpack_kwargs) if 'plugin' in response: pl = response['plugin'] pl = [pl] if isinstance(pl, str) else pl # Direct access for p in pl: if p in plugin_registry: source = plugin_registry[p](**response['args']) proxy = False break else: proxy = True else: proxy = True if proxy: response.pop('container') response.update({'name': entry, 'parameters': user_parameters}) if container == 'catalog': response.update({'auth': auth, 'getenv': getenv, 'getshell': getshell, 'page_size': page_size, 'persist_mode': persist_mode # TODO ttl? # TODO storage_options? }) source = container_map[container](url, http_args, **response) source.description = description return source else: raise Exception('Server error: %d, %s' % (req.status_code, req.reason)) intake-0.6.5/intake/catalog/tests/000077500000000000000000000000001416666122400170345ustar00rootroot00000000000000intake-0.6.5/intake/catalog/tests/__init__.py000066400000000000000000000005061416666122400211460ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- intake-0.6.5/intake/catalog/tests/cache_data/000077500000000000000000000000001416666122400210705ustar00rootroot00000000000000intake-0.6.5/intake/catalog/tests/cache_data/states.csv000066400000000000000000000726261416666122400231250ustar00rootroot00000000000000"state","slug","code","nickname","website","admission_date","admission_number","capital_city","capital_url","population","population_rank","constitution_url","state_flag_url","state_seal_url","map_image_url","landscape_background_url","skyline_background_url","twitter_url","facebook_url" "Alabama","alabama","AL","Yellowhammer State","http://www.alabama.gov","1819-12-14",22,"Montgomery","http://www.montgomeryal.gov",4833722,23,"http://alisondb.legislature.state.al.us/alison/default.aspx","https://cdn.civil.services/us-states/flags/alabama-large.png","https://cdn.civil.services/us-states/seals/alabama-large.png","https://cdn.civil.services/us-states/maps/alabama-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/alabama.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/alabama.jpg","https://twitter.com/alabamagov","https://www.facebook.com/alabamagov" "Alaska","alaska","AK","The Last Frontier","http://alaska.gov","1959-01-03",49,"Juneau","http://www.juneau.org",735132,47,"http://www.legis.state.ak.us/basis/folioproxy.asp?url=http://wwwjnu01.legis.state.ak.us/cgi-bin/folioisa.dll/acontxt/query=*/doc/{t1}?","https://cdn.civil.services/us-states/flags/alaska-large.png","https://cdn.civil.services/us-states/seals/alaska-large.png","https://cdn.civil.services/us-states/maps/alaska-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/alaska.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/alaska.jpg","https://twitter.com/alaska","https://www.facebook.com/AlaskaLocalGovernments" "Arizona","arizona","AZ","The Grand Canyon State","https://az.gov","1912-02-14",48,"Phoenix","https://www.phoenix.gov",6626624,15,"http://www.azleg.gov/Constitution.asp","https://cdn.civil.services/us-states/flags/arizona-large.png","https://cdn.civil.services/us-states/seals/arizona-large.png","https://cdn.civil.services/us-states/maps/arizona-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/arizona.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/arizona.jpg",, "Arkansas","arkansas","AR","The Natural State","http://arkansas.gov","1836-06-15",25,"Little Rock","http://www.littlerock.org",2959373,32,"http://www.arkleg.state.ar.us/assembly/Summary/ArkansasConstitution1874.pdf","https://cdn.civil.services/us-states/flags/arkansas-large.png","https://cdn.civil.services/us-states/seals/arkansas-large.png","https://cdn.civil.services/us-states/maps/arkansas-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/arkansas.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/arkansas.jpg","https://twitter.com/arkansasgov","https://www.facebook.com/Arkansas.gov" "California","california","CA","Golden State","http://www.ca.gov","1850-09-09",31,"Sacramento","http://www.cityofsacramento.org",38332521,1,"http://www.leginfo.ca.gov/const-toc.html","https://cdn.civil.services/us-states/flags/california-large.png","https://cdn.civil.services/us-states/seals/california-large.png","https://cdn.civil.services/us-states/maps/california-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/california.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/california.jpg","https://twitter.com/cagovernment", "Colorado","colorado","CO","The Centennial State","https://www.colorado.gov","1876-08-01",38,"Denver","http://www.denvergov.org",5268367,22,"https://www.colorado.gov/pacific/archives/government","https://cdn.civil.services/us-states/flags/colorado-large.png","https://cdn.civil.services/us-states/seals/colorado-large.png","https://cdn.civil.services/us-states/maps/colorado-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/colorado.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/colorado.jpg","https://twitter.com/coloradogov","https://www.facebook.com/Colorado.gov" "Connecticut","connecticut","CT","Constitution State","http://www.ct.gov","1788-01-09",5,"Hartford","http://www.hartford.gov",3596080,29,"http://www.ct.gov/sots/cwp/view.asp?a=3188&q=392288","https://cdn.civil.services/us-states/flags/connecticut-large.png","https://cdn.civil.services/us-states/seals/connecticut-large.png","https://cdn.civil.services/us-states/maps/connecticut-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/connecticut.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/connecticut.jpg",, "Delaware","delaware","DE","The First State / The Diamond State","http://delaware.gov","1787-12-07",1,"Dover","http://www.cityofdover.com",925749,45,"http://www.state.de.us/facts/constit/welcome.htm","https://cdn.civil.services/us-states/flags/delaware-large.png","https://cdn.civil.services/us-states/seals/delaware-large.png","https://cdn.civil.services/us-states/maps/delaware-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/delaware.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/delaware.jpg","https://twitter.com/delaware_gov","https://www.facebook.com/delaware.gov" "Florida","florida","FL","Sunshine State","http://www.myflorida.com","1845-03-03",27,"Tallahassee","https://www.talgov.com/Main/Home.aspx",19552860,4,"http://www.leg.state.fl.us/Statutes/index.cfm","https://cdn.civil.services/us-states/flags/florida-large.png","https://cdn.civil.services/us-states/seals/florida-large.png","https://cdn.civil.services/us-states/maps/florida-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/florida.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/florida.jpg",, "Georgia","georgia","GA","Peach State","http://georgia.gov","1788-01-02",4,"Atlanta","http://www.atlantaga.gov",9992167,8,"http://sos.ga.gov/admin/files/Constitution_2013_Final_Printed.pdf","https://cdn.civil.services/us-states/flags/georgia-large.png","https://cdn.civil.services/us-states/seals/georgia-large.png","https://cdn.civil.services/us-states/maps/georgia-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/georgia.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/georgia.jpg","http://twitter.com/georgiagov","http://www.facebook.com/pages/georgiagov/29760668054" "Hawaii","hawaii","HI","Aloha State","https://www.ehawaii.gov","1959-08-21",50,"Honolulu","http://www.co.honolulu.hi.us",1404054,40,"http://lrbhawaii.org/con","https://cdn.civil.services/us-states/flags/hawaii-large.png","https://cdn.civil.services/us-states/seals/hawaii-large.png","https://cdn.civil.services/us-states/maps/hawaii-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/hawaii.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/hawaii.jpg","https://twitter.com/ehawaiigov","https://www.facebook.com/ehawaii.gov" "Idaho","idaho","ID","Gem State","https://www.idaho.gov","1890-07-03",43,"Boise","http://www.cityofboise.org",1612136,39,"http://www.legislature.idaho.gov/idstat/IC/Title003.htm","https://cdn.civil.services/us-states/flags/idaho-large.png","https://cdn.civil.services/us-states/seals/idaho-large.png","https://cdn.civil.services/us-states/maps/idaho-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/idaho.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/idaho.jpg","https://twitter.com/IDAHOgov", "Illinois","illinois","IL","Prairie State","https://www.illinois.gov","1818-12-03",21,"Springfield","http://www.springfield.il.us",12882135,5,"http://www.ilga.gov/commission/lrb/conmain.htm","https://cdn.civil.services/us-states/flags/illinois-large.png","https://cdn.civil.services/us-states/seals/illinois-large.png","https://cdn.civil.services/us-states/maps/illinois-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/illinois.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/illinois.jpg",, "Indiana","indiana","IN","Hoosier State","http://www.in.gov","1816-12-11",19,"Indianapolis","http://www.indy.gov/Pages/Home.aspx",6570902,16,"http://www.law.indiana.edu/uslawdocs/inconst.html","https://cdn.civil.services/us-states/flags/indiana-large.png","https://cdn.civil.services/us-states/seals/indiana-large.png","https://cdn.civil.services/us-states/maps/indiana-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/indiana.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/indiana.jpg","https://twitter.com/in_gov","https://www.facebook.com/IndianaGovernment" "Iowa","iowa","IA","Hawkeye State","https://www.iowa.gov","1846-12-28",29,"Des Moines","http://www.ci.des-moines.ia.us",3090416,30,"http://publications.iowa.gov/135/1/history/7-7.html","https://cdn.civil.services/us-states/flags/iowa-large.png","https://cdn.civil.services/us-states/seals/iowa-large.png","https://cdn.civil.services/us-states/maps/iowa-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/iowa.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/iowa.jpg","https://twitter.com/IAGOVTWEETS", "Kansas","kansas","KS","Sunflower State","https://www.kansas.gov","1861-01-29",34,"Topeka","http://www.topeka.org",2893957,34,"https://kslib.info/405/Kansas-Constitution","https://cdn.civil.services/us-states/flags/kansas-large.png","https://cdn.civil.services/us-states/seals/kansas-large.png","https://cdn.civil.services/us-states/maps/kansas-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/kansas.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/kansas.jpg","http://www.twitter.com/ksgovernment","http://www.facebook.com/pages/Topeka-KS/Kansasgov-Kansas-Government-Online/52068474220" "Kentucky","kentucky","KY","Bluegrass State","http://kentucky.gov","1792-06-01",15,"Frankfort","http://frankfort.ky.gov",4395295,26,"http://www.lrc.state.ky.us/Legresou/Constitu/intro.htm","https://cdn.civil.services/us-states/flags/kentucky-large.png","https://cdn.civil.services/us-states/seals/kentucky-large.png","https://cdn.civil.services/us-states/maps/kentucky-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/kentucky.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/kentucky.jpg","https://twitter.com/kygov","https://www.facebook.com/kygov" "Louisiana","louisiana","LA","Pelican State","http://louisiana.gov","1812-04-30",18,"Baton Rouge","http://brgov.com",4625470,25,"http://senate.legis.state.la.us/Documents/Constitution","https://cdn.civil.services/us-states/flags/louisiana-large.png","https://cdn.civil.services/us-states/seals/louisiana-large.png","https://cdn.civil.services/us-states/maps/louisiana-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/louisiana.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/louisiana.jpg",, "Maine","maine","ME","Pine Tree State","http://www.maine.gov","1820-03-15",23,"Augusta","http://www.augustamaine.gov",1328302,41,"http://www.maine.gov/legis/const","https://cdn.civil.services/us-states/flags/maine-large.png","https://cdn.civil.services/us-states/seals/maine-large.png","https://cdn.civil.services/us-states/maps/maine-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/maine.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/maine.jpg","https://twitter.com/mainegov_news","http://www.facebook.com/pages/Augusta-ME/Mainegov/98519328240" "Maryland","maryland","MD","Old Line State","http://www.maryland.gov","1788-04-28",7,"Annapolis","http://www.annapolis.gov",5928814,19,"http://msa.maryland.gov/msa/mdmanual/43const/html/const.html","https://cdn.civil.services/us-states/flags/maryland-large.png","https://cdn.civil.services/us-states/seals/maryland-large.png","https://cdn.civil.services/us-states/maps/maryland-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/maryland.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/maryland.jpg","https://twitter.com/statemaryland","https://www.facebook.com/statemaryland" "Massachusetts","massachusetts","MA","Bay State","http://www.mass.gov","1788-02-06",6,"Boston","http://www.ci.boston.ma.us",6692824,14,"http://www.state.ma.us/legis/const.htm","https://cdn.civil.services/us-states/flags/massachusetts-large.png","https://cdn.civil.services/us-states/seals/massachusetts-large.png","https://cdn.civil.services/us-states/maps/massachusetts-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/massachusetts.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/massachusetts.jpg","http://twitter.com/massgov","https://www.facebook.com/massgov" "Michigan","michigan","MI","Wolverine State / Great Lakes State","http://www.michigan.gov","1837-01-26",26,"Lansing","http://cityoflansingmi.com",9895622,9,"http://www.legislature.mi.gov/(S(hrowl12tg05hemnnkidim1jb))/mileg.aspx?page=GetObject&objectname=mcl-Constitution","https://cdn.civil.services/us-states/flags/michigan-large.png","https://cdn.civil.services/us-states/seals/michigan-large.png","https://cdn.civil.services/us-states/maps/michigan-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/michigan.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/michigan.jpg","https://twitter.com/migov","https://www.facebook.com/MIgovernment" "Minnesota","minnesota","MN","North Star State / Land of 10,000 Lakes","https://mn.gov","1858-05-11",32,"Saint Paul","http://www.stpaul.gov",5420380,21,"http://www.house.leg.state.mn.us/cco/rules/mncon/preamble.htm","https://cdn.civil.services/us-states/flags/minnesota-large.png","https://cdn.civil.services/us-states/seals/minnesota-large.png","https://cdn.civil.services/us-states/maps/minnesota-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/minnesota.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/minnesota.jpg",, "Mississippi","mississippi","MS","Magnolia State","http://www.ms.gov","1817-12-10",20,"Jackson","http://www.city.jackson.ms.us",2991207,31,"http://law.justia.com/constitution/mississippi","https://cdn.civil.services/us-states/flags/mississippi-large.png","https://cdn.civil.services/us-states/seals/mississippi-large.png","https://cdn.civil.services/us-states/maps/mississippi-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/mississippi.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/mississippi.jpg","https://twitter.com/msdotgov","https://www.facebook.com/msdotgov" "Missouri","missouri","MO","Show Me State","https://www.mo.gov","1821-08-10",24,"Jefferson City","http://www.jeffcitymo.org",6044171,18,"http://www.moga.mo.gov/mostatutes/moconstn.html","https://cdn.civil.services/us-states/flags/missouri-large.png","https://cdn.civil.services/us-states/seals/missouri-large.png","https://cdn.civil.services/us-states/maps/missouri-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/missouri.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/missouri.jpg","https://twitter.com/MoGov","https://www.facebook.com/mogov" "Montana","montana","MT","Treasure State","http://mt.gov","1889-11-08",41,"Helena","http://www.ci.helena.mt.us",1015165,44,"http://courts.mt.gov/content/library/docs/72constit.pdf","https://cdn.civil.services/us-states/flags/montana-large.png","https://cdn.civil.services/us-states/seals/montana-large.png","https://cdn.civil.services/us-states/maps/montana-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/montana.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/montana.jpg",, "Nebraska","nebraska","NE","Cornhusker State","http://www.nebraska.gov","1867-03-01",37,"Lincoln","http://lincoln.ne.gov",1868516,37,"http://www.state.ne.us/legislative/statutes/C","https://cdn.civil.services/us-states/flags/nebraska-large.png","https://cdn.civil.services/us-states/seals/nebraska-large.png","https://cdn.civil.services/us-states/maps/nebraska-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/nebraska.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/nebraska.jpg","https://twitter.com/Nebraskagov","https://www.facebook.com/nebraska.gov" "Nevada","nevada","NV","The Silver State","http://nv.gov","1864-10-31",36,"Carson City","http://www.carson.org",2790136,35,"http://www.leg.state.nv.us/Const/NvConst.html","https://cdn.civil.services/us-states/flags/nevada-large.png","https://cdn.civil.services/us-states/seals/nevada-large.png","https://cdn.civil.services/us-states/maps/nevada-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/nevada.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/nevada.jpg",, "New Hampshire","new-hampshire","NH","Granite State","https://www.nh.gov","1788-06-21",9,"Concord","http://www.concordnh.gov",1323459,42,"http://www.state.nh.us/constitution/constitution.html","https://cdn.civil.services/us-states/flags/new-hampshire-large.png","https://cdn.civil.services/us-states/seals/new-hampshire-large.png","https://cdn.civil.services/us-states/maps/new-hampshire-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/new-hampshire.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/new-hampshire.jpg","https://twitter.com/nhgov", "New Jersey","new-jersey","NJ","Garden State","http://www.state.nj.us","1787-12-18",3,"Trenton","http://www.trentonnj.org",8899339,11,"http://www.njleg.state.nj.us/lawsconstitution/consearch.asp","https://cdn.civil.services/us-states/flags/new-jersey-large.png","https://cdn.civil.services/us-states/seals/new-jersey-large.png","https://cdn.civil.services/us-states/maps/new-jersey-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/new-jersey.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/new-jersey.jpg",, "New Mexico","new-mexico","NM","Land of Enchantment","http://www.newmexico.gov","1912-01-06",47,"Santa Fe","http://www.santafenm.gov",2085287,36,"http://www.loc.gov/law/guide/us-nm.html","https://cdn.civil.services/us-states/flags/new-mexico-large.png","https://cdn.civil.services/us-states/seals/new-mexico-large.png","https://cdn.civil.services/us-states/maps/new-mexico-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/new-mexico.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/new-mexico.jpg",, "New York","new-york","NY","Empire State","http://www.ny.gov","1788-07-26",11,"Albany","http://www.albanyny.org",19651127,3,"https://www.dos.ny.gov/info/constitution.htm","https://cdn.civil.services/us-states/flags/new-york-large.png","https://cdn.civil.services/us-states/seals/new-york-large.png","https://cdn.civil.services/us-states/maps/new-york-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/new-york.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/new-york.jpg","https://twitter.com/nygov", "North Carolina","north-carolina","NC","Old North State / Tar Heel State","http://www.nc.gov","1789-11-21",12,"Raleigh","http://www.raleigh-nc.org",9848060,10,"http://statelibrary.dcr.state.nc.us/nc/stgovt/preconst.htm","https://cdn.civil.services/us-states/flags/north-carolina-large.png","https://cdn.civil.services/us-states/seals/north-carolina-large.png","https://cdn.civil.services/us-states/maps/north-carolina-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/north-carolina.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/north-carolina.jpg","https://twitter.com/NCdotGov", "North Dakota","north-dakota","ND","Peace Garden State / Flickertail State / Roughrider State","http://www.nd.gov","1889-11-02",39,"Bismarck","http://www.bismarck.org",723393,48,"http://www.legis.nd.gov/information/statutes/const-laws.html","https://cdn.civil.services/us-states/flags/north-dakota-large.png","https://cdn.civil.services/us-states/seals/north-dakota-large.png","https://cdn.civil.services/us-states/maps/north-dakota-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/north-dakota.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/north-dakota.jpg","https://twitter.com/ExperienceND","https://www.facebook.com/ExperienceND" "Ohio","ohio","OH","Buckeye State","https://ohio.gov","1803-03-01",17,"Columbus","http://ci.columbus.oh.us",11570808,7,"http://www.legislature.state.oh.us/constitution.cfm","https://cdn.civil.services/us-states/flags/ohio-large.png","https://cdn.civil.services/us-states/seals/ohio-large.png","https://cdn.civil.services/us-states/maps/ohio-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/ohio.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/ohio.jpg","https://twitter.com/ohgov", "Oklahoma","oklahoma","OK","Sooner State","https://www.ok.gov","1907-11-16",46,"Oklahoma City","http://www.okc.gov",3850568,28,"http://oklegal.onenet.net/okcon","https://cdn.civil.services/us-states/flags/oklahoma-large.png","https://cdn.civil.services/us-states/seals/oklahoma-large.png","https://cdn.civil.services/us-states/maps/oklahoma-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/oklahoma.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/oklahoma.jpg","https://twitter.com/okgov","https://www.facebook.com/okgov" "Oregon","oregon","OR","Beaver State","http://www.oregon.gov","1859-02-14",33,"Salem","http://www.cityofsalem.net/Pages/default.aspx",3930065,27,"http://bluebook.state.or.us/state/constitution/constitution.htm","https://cdn.civil.services/us-states/flags/oregon-large.png","https://cdn.civil.services/us-states/seals/oregon-large.png","https://cdn.civil.services/us-states/maps/oregon-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/oregon.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/oregon.jpg",, "Pennsylvania","pennsylvania","PA","Keystone State","http://www.pa.gov","1787-12-12",2,"Harrisburg","http://harrisburgpa.gov",12773801,6,"http://sites.state.pa.us/PA_Constitution.html","https://cdn.civil.services/us-states/flags/pennsylvania-large.png","https://cdn.civil.services/us-states/seals/pennsylvania-large.png","https://cdn.civil.services/us-states/maps/pennsylvania-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/pennsylvania.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/pennsylvania.jpg","https://www.facebook.com/visitPA","https://twitter.com/visitPA" "Rhode Island","rhode-island","RI","The Ocean State","https://www.ri.gov","1790-05-29",13,"Providence","http://www.providenceri.com",1051511,43,"http://webserver.rilin.state.ri.us/RiConstitution","https://cdn.civil.services/us-states/flags/rhode-island-large.png","https://cdn.civil.services/us-states/seals/rhode-island-large.png","https://cdn.civil.services/us-states/maps/rhode-island-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/rhode-island.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/rhode-island.jpg","https://twitter.com/rigov","https://www.facebook.com/RIgov-Rhode-Island-Government-Online-24056655991" "South Carolina","south-carolina","SC","Palmetto State","http://www.sc.gov","1788-05-23",8,"Columbia","http://www.columbiasc.net",4774839,24,"http://www.scstatehouse.gov/scconstitution/scconst.php","https://cdn.civil.services/us-states/flags/south-carolina-large.png","https://cdn.civil.services/us-states/seals/south-carolina-large.png","https://cdn.civil.services/us-states/maps/south-carolina-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/south-carolina.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/south-carolina.jpg","https://twitter.com/scgov","http://www.facebook.com/pages/SCgov/12752057990" "South Dakota","south-dakota","SD","Mount Rushmore State","http://sd.gov","1889-11-02",40,"Pierre","http://ci.pierre.sd.us",844877,46,"http://legis.sd.gov/statutes/Constitution","https://cdn.civil.services/us-states/flags/south-dakota-large.png","https://cdn.civil.services/us-states/seals/south-dakota-large.png","https://cdn.civil.services/us-states/maps/south-dakota-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/south-dakota.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/south-dakota.jpg",, "Tennessee","tennessee","TN","Volunteer State","https://www.tn.gov","1796-06-01",16,"Nashville","http://www.nashville.gov",6495978,17,"http://www.capitol.tn.gov/about/docs/TN-Constitution.pdf","https://cdn.civil.services/us-states/flags/tennessee-large.png","https://cdn.civil.services/us-states/seals/tennessee-large.png","https://cdn.civil.services/us-states/maps/tennessee-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/tennessee.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/tennessee.jpg","https://twitter.com/TNVacation","https://www.facebook.com/tnvacation" "Texas","texas","TX","Lone Star State","https://www.texas.gov","1845-12-29",28,"Austin","http://www.austintexas.gov",26448193,2,"http://www.constitution.legis.state.tx.us","https://cdn.civil.services/us-states/flags/texas-large.png","https://cdn.civil.services/us-states/seals/texas-large.png","https://cdn.civil.services/us-states/maps/texas-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/texas.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/texas.jpg","https://twitter.com/texasgov","http://www.facebook.com/Texas.gov" "Utah","utah","UT","The Beehive State","https://utah.gov","1896-01-04",45,"Salt Lake City","http://www.slcgov.com",2900872,33,"http://le.utah.gov/UtahCode/chapter.jsp?code=Constitution","https://cdn.civil.services/us-states/flags/utah-large.png","https://cdn.civil.services/us-states/seals/utah-large.png","https://cdn.civil.services/us-states/maps/utah-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/utah.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/utah.jpg","https://twitter.com/UtahGov","https://www.facebook.com/utahgov" "Vermont","vermont","VT","Green Mountain State","http://vermont.gov","1791-03-04",14,"Montpelier","http://www.montpelier-vt.org",626630,49,"http://www.leg.state.vt.us/statutes/const2.htm","https://cdn.civil.services/us-states/flags/vermont-large.png","https://cdn.civil.services/us-states/seals/vermont-large.png","https://cdn.civil.services/us-states/maps/vermont-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/vermont.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/vermont.jpg","https://twitter.com/vermontgov","https://www.facebook.com/MyVermont" "Virginia","virginia","VA","Old Dominion State","https://www.virginia.gov","1788-06-25",10,"Richmond","http://www.richmondgov.com",8260405,12,"http://hodcap.state.va.us/publications/Constitution-01-13.pdf","https://cdn.civil.services/us-states/flags/virginia-large.png","https://cdn.civil.services/us-states/seals/virginia-large.png","https://cdn.civil.services/us-states/maps/virginia-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/virginia.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/virginia.jpg",, "Washington","washington","WA","The Evergreen State","http://www.wa.gov","1889-11-11",42,"Olympia","http://www.ci.olympia.wa.us",6971406,13,"http://www.leg.wa.gov/lawsandagencyrules/pages/constitution.aspx","https://cdn.civil.services/us-states/flags/washington-large.png","https://cdn.civil.services/us-states/seals/washington-large.png","https://cdn.civil.services/us-states/maps/washington-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/washington.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/washington.jpg","https://twitter.com/wagov","" "West Virginia","west-virginia","WV","Mountain State","http://www.wv.gov","1863-06-20",35,"Charleston","http://www.cityofcharleston.org",1854304,38,"http://www.legis.state.wv.us/WVCODE/WV_CON.cfm","https://cdn.civil.services/us-states/flags/west-virginia-large.png","https://cdn.civil.services/us-states/seals/west-virginia-large.png","https://cdn.civil.services/us-states/maps/west-virginia-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/west-virginia.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/west-virginia.jpg","https://twitter.com/wvgov","https://www.facebook.com/wvgov" "Wisconsin","wisconsin","WI","Badger State","https://www.wisconsin.gov","1848-05-29",30,"Madison","http://www.ci.madison.wi.us",5742713,20,"http://www.legis.state.wi.us/rsb/2wiscon.html","https://cdn.civil.services/us-states/flags/wisconsin-large.png","https://cdn.civil.services/us-states/seals/wisconsin-large.png","https://cdn.civil.services/us-states/maps/wisconsin-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/wisconsin.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/wisconsin.jpg",, "Wyoming","wyoming","WY","Equality State","http://www.wyo.gov","1890-07-10",44,"Cheyenne","http://www.cheyennecity.org",582658,50,"http://legisweb.state.wy.us/statutes/constitution.aspx?file=titles/97Title97.htm","https://cdn.civil.services/us-states/flags/wyoming-large.png","https://cdn.civil.services/us-states/seals/wyoming-large.png","https://cdn.civil.services/us-states/maps/wyoming-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/wyoming.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/wyoming.jpg",,intake-0.6.5/intake/catalog/tests/catalog.yml000066400000000000000000000013321416666122400211700ustar00rootroot00000000000000plugins: source: - module: intake.catalog.tests.example1_source sources: use_example1: description: example1 source plugin driver: example1 args: {} allowed_list_absolute: description: pick one list out of a few driver: example1 args: arg1: "{{up}}" parameters: mylist: description: "" type: list default: [] allowed: - [] - ["one"] - ["one", "two"] allowed_list_multi: description: pick multiple values from an allowed list driver: example1 args: args1: "{{up}}" parameters: mylist: description: "" type: list default: [] allowed: ["one", "two", "three"] intake-0.6.5/intake/catalog/tests/catalog1.yml000066400000000000000000000037211416666122400212550ustar00rootroot00000000000000name: name_in_cat metadata: test: true plugins: source: - module: intake.catalog.tests.example1_source - module: intake.catalog.tests.example_plugin_dir.example2_source sources: use_example1: description: example1 source plugin driver: example1 args: {} nested: description: around again driver: yaml_file_cat args: path: '{{ CATALOG_DIR }}/catalog1.yml' entry1: description: entry1 full metadata: foo: 'bar' bar: [1, 2, 3] driver: csv # Default direct_access is "forbid" by default args: # passed to the open() method urlpath: '{{ CATALOG_DIR }}/entry1_*.csv' entry1_part: description: entry1 part parameters: # User defined parameters part: description: part of filename type: str default: "1" allowed: ["1", "2"] metadata: foo: 'baz' bar: [2, 4, 6] driver: csv direct_access: "allow" args: # passed to the open() method urlpath: '{{ CATALOG_DIR }}/entry1_{{ part }}.csv' remote_env: description: env gets interpreted in server driver: intake.conftest.TestSource args: urlpath: 'path-{{intake_test}}' parameters: intake_test: description: none type: str default: 'env(INTAKE_TEST)' local_env: description: env gets interpreted in client driver: csv args: urlpath: 'path-{{intake_test}}' parameters: intake_test: description: none type: str default: 'client_env(INTAKE_TEST)' text: description: textfiles in this dir driver: textfiles args: urlpath: "{{ CATALOG_DIR }}/*.yml" arr: description: small array driver: numpy args: path: "{{ CATALOG_DIR }}/small.npy" chunks: 5 datetime: description: datetime parameters driver: intake.conftest.TestSource args: urlpath: "{{time}}" parameters: time: description: some time type: datetime intake-0.6.5/intake/catalog/tests/catalog_alias.yml000066400000000000000000000024771416666122400223540ustar00rootroot00000000000000sources: input_data: description: a local data file driver: csv args: urlpath: '{{ CATALOG_DIR }}cache_data/states.csv' arr_cache: description: small array driver: numpy args: path: "{{ CATALOG_DIR }}/small.npy" chunks: 5 alias0: driver: intake.source.derived.AliasSource args: target: input_data barebones: driver: intake.source.derived.GenericTransform args: targets: - input_data transform: builtins.len transform_kwargs: {} alias1: driver: alias args: target: "{{choice}}" mapping: first: input_data second: arr_cache parameters: choice: description: which to alias type: str default: first allowed: ["first", "second"] derive_cols: driver: intake.source.derived.Columns args: targets: - input_data columns: ["state", "slug"] derive_cols_func: driver: intake.source.derived.DataFrameTransform args: targets: - input_data transform: "intake.source.tests.test_derived._pick_columns" transform_kwargs: columns: ["state", "slug"] other_cat: driver: intake.source.derived.Columns args: targets: - "{{CATALOG_DIR}}/catalog1.yml:entry1" columns: ["name", "score"] intake-0.6.5/intake/catalog/tests/catalog_caching.yml000066400000000000000000000052731416666122400226540ustar00rootroot00000000000000metadata: test: true plugins: source: - module: intake.catalog.tests.example1_source - module: intake.catalog.tests.example2_source sources: test_cache: description: cache a csv file from the local filesystem driver: csv cache: - argkey: urlpath regex: '{{ CATALOG_DIR }}/cache_data' type: file args: urlpath: '{{ CATALOG_DIR }}/cache_data/states.csv' test_cache_new: description: cache a csv file from the local filesystem driver: csv args: urlpath: 'filecache://{{ CATALOG_DIR }}/cache_data/states.csv' storage_options: target_protocol: 'file' cache_storage: "{{env(TEST_CACHE_DIR)}}" test_multiple_cache: description: testing what happens when there are multiple cache specs driver: csv cache: - argkey: urlpath regex: '{{ CATALOG_DIR }}/cache_data' type: file - argkey: urlpath regex: '{{ CATALOG_DIR }}' type: file args: urlpath: '{{ CATALOG_DIR }}/cache_data/states.csv' test_list_cache: description: testing what happens when there are multiple cache specs driver: csv cache: - argkey: urlpath regex: '{{ CATALOG_DIR }}cache_data' type: file args: urlpath: ['{{ CATALOG_DIR }}cache_data/states.csv', '{{ CATALOG_DIR }}cache_data/states.csv'] test_bad_type_cache_spec: description: cache a csv file from the local filesystem driver: csv cache: - argkey: urlpath regex: '{{ CATALOG_DIR }}/cache_data' type: noidea args: urlpath: '{{ CATALOG_DIR }}/cache_data/states.csv' text_cache: description: textfiles in this dir driver: textfiles cache: - argkey: urlpath regex: '{{ CATALOG_DIR }}' type: file args: urlpath: "{{ CATALOG_DIR }}/*.yml" arr_cache: description: small array driver: numpy cache: - argkey: path regex: '{{ CATALOG_DIR }}' type: file args: path: "{{ CATALOG_DIR }}/small.npy" chunks: 5 test_no_regex: description: cache a csv file from the local filesystem driver: csv cache: - argkey: urlpath type: file args: urlpath: '{{ CATALOG_DIR }}/cache_data/states.csv' test_regex_no_match: description: regex does not match urlpath driver: csv cache: - argkey: urlpath regex: 'xxx' type: file args: urlpath: '{{ CATALOG_DIR }}/cache_data/states.csv' test_regex_partial_match: description: regex matches some part of the url driver: csv cache: - argkey: urlpath regex: '_data' type: file args: urlpath: '{{ CATALOG_DIR }}/cache_data/states.csv' intake-0.6.5/intake/catalog/tests/catalog_dup_parameters.yml000066400000000000000000000010021416666122400242550ustar00rootroot00000000000000sources: entry1_part: description: entry1 part parameters: part: description: a type: str part: description: b type: int driver: csv args: # passed to the open() method urlpath: '{{ CATALOG_DIR }}/entry1_{{ part }}.csv' entry2_part: description: entry2 part parameters: part: description: a type: str driver: csv args: # passed to the open() method urlpath: '{{ CATALOG_DIR }}/entry2_{{ part }}.csv' intake-0.6.5/intake/catalog/tests/catalog_dup_sources.yml000066400000000000000000000007151416666122400236070ustar00rootroot00000000000000sources: entry1_part: description: entry1 part parameters: part: description: a type: str driver: csv args: # passed to the open() method urlpath: '{{ CATALOG_DIR }}/entry1_{{ part }}.csv' entry1_part: description: entry1 part parameters: part: description: a type: str driver: csv args: # passed to the open() method urlpath: '{{ CATALOG_DIR }}/entry1_{{ part }}.csv' intake-0.6.5/intake/catalog/tests/catalog_hierarchy.yml000066400000000000000000000011011416666122400232200ustar00rootroot00000000000000sources: a.b.c: description: abc driver: csv args: urlpath: '{{ CATALOG_DIR }}/entry1_*.csv' a.b.d: description: abc driver: csv args: urlpath: '{{ CATALOG_DIR }}/entry1_*.csv' c: description: abc driver: csv args: urlpath: '{{ CATALOG_DIR }}/entry1_*.csv' a.c: description: abc driver: csv parameters: part: description: part of filename type: str default: "1" allowed: ["1", "2"] driver: csv args: urlpath: '{{ CATALOG_DIR }}/entry1_{{ part }}.csv' intake-0.6.5/intake/catalog/tests/catalog_named.yml000066400000000000000000000004211416666122400223320ustar00rootroot00000000000000name: name_in_spec description: This is a catalog with a description in the yaml metadata: some: thing plugins: source: - module: intake.catalog.tests.example1_source sources: use_example1: description: example1 source plugin driver: example1 args: {}intake-0.6.5/intake/catalog/tests/catalog_non_dict.yml000066400000000000000000000000141416666122400230410ustar00rootroot00000000000000- 1 - 2 - 3 intake-0.6.5/intake/catalog/tests/catalog_search/000077500000000000000000000000001416666122400217735ustar00rootroot00000000000000intake-0.6.5/intake/catalog/tests/catalog_search/example_packages/000077500000000000000000000000001416666122400252645ustar00rootroot00000000000000intake-0.6.5/intake/catalog/tests/catalog_search/example_packages/ep-0.1.dist-info/000077500000000000000000000000001416666122400300575ustar00rootroot00000000000000intake-0.6.5/intake/catalog/tests/catalog_search/example_packages/ep-0.1.dist-info/entry_points.txt000066400000000000000000000000471416666122400333560ustar00rootroot00000000000000[intake.catalogs] ep1 = ep:TestCatalog intake-0.6.5/intake/catalog/tests/catalog_search/example_packages/ep/000077500000000000000000000000001416666122400256705ustar00rootroot00000000000000intake-0.6.5/intake/catalog/tests/catalog_search/example_packages/ep/__init__.py000066400000000000000000000000331416666122400277750ustar00rootroot00000000000000class TestCatalog: ... intake-0.6.5/intake/catalog/tests/catalog_search/yaml.yml000066400000000000000000000002501416666122400234550ustar00rootroot00000000000000plugins: source: - module: intake.catalog.tests.example1_source sources: use_example1: description: example1 source plugin driver: example1 args: {}intake-0.6.5/intake/catalog/tests/catalog_union_1.yml000066400000000000000000000002511416666122400226170ustar00rootroot00000000000000plugins: source: - module: intake.catalog.tests.example1_source sources: use_example1: description: example1 source plugin driver: example1 args: {} intake-0.6.5/intake/catalog/tests/catalog_union_2.yml000066400000000000000000000014031416666122400226200ustar00rootroot00000000000000plugins: source: - module: intake.catalog.tests.example1_source - module: intake.catalog.tests.example2_source sources: entry1: description: entry1 full metadata: foo: 'bar' bar: [1, 2, 3] driver: csv # Default direct_access is "forbid" by default args: # passed to the open() method urlpath: '{{ CATALOG_DIR }}/entry1_*.csv' entry1_part: description: entry1 part parameters: # User defined parameters part: description: part of filename type: str default: "1" allowed: ["1", "2"] metadata: foo: 'baz' bar: [2, 4, 6] driver: csv direct_access: "allow" args: # passed to the open() method urlpath: '{{ CATALOG_DIR }}/entry1_{{ part }}.csv' intake-0.6.5/intake/catalog/tests/conftest.py000066400000000000000000000003001416666122400212240ustar00rootroot00000000000000import os.path import pytest from intake import open_catalog @pytest.fixture def catalog1(): path = os.path.dirname(__file__) return open_catalog(os.path.join(path, 'catalog1.yml')) intake-0.6.5/intake/catalog/tests/data_source_missing.yml000066400000000000000000000000261416666122400235770ustar00rootroot00000000000000plugins: source: [] intake-0.6.5/intake/catalog/tests/data_source_name_non_string.yml000066400000000000000000000000221416666122400253020ustar00rootroot00000000000000sources: 1: foo intake-0.6.5/intake/catalog/tests/data_source_non_dict.yml000066400000000000000000000000151416666122400237210ustar00rootroot00000000000000sources: foo intake-0.6.5/intake/catalog/tests/data_source_value_non_dict.yml000066400000000000000000000000221416666122400251130ustar00rootroot00000000000000sources: foo: 1 intake-0.6.5/intake/catalog/tests/dot-nest.yaml000066400000000000000000000011331416666122400214530ustar00rootroot00000000000000sources: self: description: this cat driver: yaml_file_cat args: path: "{{CATALOG_DIR}}/dot-nest.yaml" selfdot.dot: description: this cat driver: yaml_file_cat args: path: "{{CATALOG_DIR}}/dot-nest.yaml" self.dot: description: this cat driver: yaml_file_cat args: path: "{{CATALOG_DIR}}/dot-nest.yaml" leaf: description: leaf driver: csv args: urlpath: "" leafdot.dot: description: leaf-dot driver: csv args: urlpath: "" leaf.dot: description: leaf-dot driver: csv args: urlpath: "" intake-0.6.5/intake/catalog/tests/entry1_1.csv000066400000000000000000000001031416666122400212050ustar00rootroot00000000000000name,score,rank Alice1,100.5,1 Bob1,50.3,2 Charlie1,25,3 Eve1,25,3 intake-0.6.5/intake/catalog/tests/entry1_2.csv000066400000000000000000000001031416666122400212060ustar00rootroot00000000000000name,score,rank Alice2,100.5,1 Bob2,50.3,2 Charlie2,25,3 Eve2,25,3 intake-0.6.5/intake/catalog/tests/example1_source.py000066400000000000000000000011441416666122400225020ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from intake.source.base import DataSource class ExampleSource(DataSource): name = 'example1' version = '0.1' container = 'dataframe' partition_access = True def __init__(self, **kwargs): self.kwargs = kwargs super(ExampleSource, self).__init__() intake-0.6.5/intake/catalog/tests/example_plugin_dir/000077500000000000000000000000001416666122400227035ustar00rootroot00000000000000intake-0.6.5/intake/catalog/tests/example_plugin_dir/example2_source.py000066400000000000000000000010651416666122400263540ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from intake.source.base import DataSource class Ex2Plugin(DataSource): name = 'example2' version = '0.1' container = 'dataframe' partition_access = True def __init__(self): super(Ex2Plugin, self).__init__() intake-0.6.5/intake/catalog/tests/multi_plugins.yaml000066400000000000000000000030411416666122400226110ustar00rootroot00000000000000sources: tables0: args: urlpath: "{{ CATALOG_DIR }}/files*" description: "short form" driver: - csv metadata: {} tables1: args: urlpath: "{{ CATALOG_DIR }}/files*" description: "long form" driver: - intake.source.csv.CSVSource metadata: {} tables2: args: urlpath: "{{ CATALOG_DIR }}/files*" description: "same plugin twice" driver: - csv - intake.source.csv.CSVSource metadata: {} tables3: args: urlpath: "{{ CATALOG_DIR }}/files*" description: "user's choice with extra param" driver: myplug: class: intake.source.csv.CSVSource myplug2: class: intake.source.csv.CSVSource args: csv_kwargs: true metadata: {} tables4: args: urlpath: "{{ CATALOG_DIR }}/files*" description: "neither plugins exist" driver: myplug: class: doesnotexist myplug2: class: also.none.Class metadata: {} tables5: args: urlpath: "{{ CATALOG_DIR }}/files*" description: "only second plugin exists" driver: myplug: class: doesnotexist myplug2: class: csv metadata: {} tables6: args: urlpath: "{{ CATALOG_DIR }}/files*" description: "no valid plugin in list" driver: myplug: class: doesnotexist metadata: {} tables7: args: urlpath: "{{ CATALOG_DIR }}/files*" description: "no valid plugin" driver: doesnotexist metadata: {} intake-0.6.5/intake/catalog/tests/multi_plugins2.yaml000066400000000000000000000003301416666122400226710ustar00rootroot00000000000000sources: tables6: args: urlpath: "{{ CATALOG_DIR }}/files*" description: "incompatible plugins" driver: myplug: class: csv myplug2: class: numpy metadata: {} intake-0.6.5/intake/catalog/tests/obsolete_data_source_list.yml000066400000000000000000000000451416666122400247760ustar00rootroot00000000000000sources: - name: a driver: csv intake-0.6.5/intake/catalog/tests/obsolete_params_list.yml000066400000000000000000000000761416666122400237740ustar00rootroot00000000000000sources: a: driver: csv parameters: - name: b intake-0.6.5/intake/catalog/tests/params_missing_required.yml000066400000000000000000000000411416666122400244660ustar00rootroot00000000000000sources: a: description: A intake-0.6.5/intake/catalog/tests/params_name_non_string.yml000066400000000000000000000000721416666122400243010ustar00rootroot00000000000000sources: a: driver: csv parameters: 1: {} intake-0.6.5/intake/catalog/tests/params_non_dict.yml000066400000000000000000000000601416666122400227130ustar00rootroot00000000000000sources: a: driver: csv parameters: b intake-0.6.5/intake/catalog/tests/params_value_bad_choice.yml000066400000000000000000000001431416666122400243540ustar00rootroot00000000000000sources: a: driver: csv parameters: b: description: B type: string intake-0.6.5/intake/catalog/tests/params_value_bad_type.yml000066400000000000000000000001401416666122400241000ustar00rootroot00000000000000sources: a: driver: csv parameters: b: description: 1 type: str intake-0.6.5/intake/catalog/tests/params_value_non_dict.yml000066400000000000000000000000711416666122400241110ustar00rootroot00000000000000sources: a: driver: csv parameters: b: 1 intake-0.6.5/intake/catalog/tests/plugins_non_dict.yml000066400000000000000000000000271416666122400231140ustar00rootroot00000000000000plugins: 0 sources: {} intake-0.6.5/intake/catalog/tests/plugins_source_missing.yml000066400000000000000000000000421416666122400243450ustar00rootroot00000000000000plugins: s0urce: [] sources: {} intake-0.6.5/intake/catalog/tests/plugins_source_missing_key.yml000066400000000000000000000000651416666122400252220ustar00rootroot00000000000000plugins: source: - directory: /tmp sources: {} intake-0.6.5/intake/catalog/tests/plugins_source_non_dict.yml000066400000000000000000000000541416666122400244740ustar00rootroot00000000000000plugins: source: - module sources: {} intake-0.6.5/intake/catalog/tests/plugins_source_non_list.yml000066400000000000000000000000461416666122400245250ustar00rootroot00000000000000plugins: source: module sources: {} intake-0.6.5/intake/catalog/tests/plugins_source_non_string.yml000066400000000000000000000000571416666122400250620ustar00rootroot00000000000000plugins: source: - module: 0 sources: {} intake-0.6.5/intake/catalog/tests/small.npy000066400000000000000000000016401416666122400206750ustar00rootroot00000000000000NUMPYv{'descr': '?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcintake-0.6.5/intake/catalog/tests/test_alias.py000066400000000000000000000017651416666122400215470ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import intake import os here = os.path.abspath(os.path.dirname(__file__)) fn = os.path.join(here, 'catalog_alias.yml') def test_simple(): cat = intake.open_catalog(fn) s = cat.alias0() assert s.container == 'other' out = str(s.discover()) assert s.container == 'dataframe' assert "state" in out def test_mapping(): cat = intake.open_catalog(fn) s = cat.alias1() assert s.container == 'other' out = str(s.discover()) assert s.container == 'dataframe' assert "state" in out s = cat.alias1(choice='second') assert s.container == 'other' out = str(s.discover()) assert s.container == 'ndarray' assert "int64" in out intake-0.6.5/intake/catalog/tests/test_auth_integration.py000066400000000000000000000040531416666122400240130ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import os.path import shutil import tempfile import time import pytest from intake import open_catalog from intake.auth.secret import SecretClientAuth from intake.auth.base import AuthenticationFailure TMP_DIR = tempfile.mkdtemp() CONF_DIR = os.path.join(TMP_DIR, 'conf') os.mkdir(CONF_DIR) TEST_CATALOG_PATH = [TMP_DIR] YAML_FILENAME = 'intake_test_catalog.yml' # Create server configuration using shared-secret Auth TEST_SERVER_CONF = os.path.join(CONF_DIR, 'config.yaml') conf = ''' auth: cls: intake.auth.secret.SecretAuth kwargs: secret: test_secret ''' with open(TEST_SERVER_CONF, 'w') as f: f.write(conf) @pytest.fixture def intake_server_with_auth(intake_server): fullname = os.path.join(TMP_DIR, YAML_FILENAME) try: os.makedirs(os.path.join(TMP_DIR, 'data')) except: pass with open(fullname, 'w') as f: f.write(''' sources: example: description: example1 source plugin driver: csv args: urlpath: "{{ CATALOG_DIR }}/data/example.csv" ''') csv_name = os.path.join(TMP_DIR, 'data', 'example.csv') with open(csv_name, 'w') as f: f.write('a,b,c\n1,2,3\n4,5,6') time.sleep(2) yield intake_server try: shutil.rmtree(TMP_DIR) except: pass def test_secret_auth(intake_server_with_auth): auth = SecretClientAuth(secret='test_secret') catalog = open_catalog(intake_server_with_auth, auth=auth) entries = list(catalog) assert entries == ['example'] catalog.example.read() def test_secret_auth_fail(intake_server_with_auth): auth = SecretClientAuth(secret='test_wrong_secret') with pytest.raises(AuthenticationFailure): list(open_catalog(intake_server_with_auth, auth=auth)) intake-0.6.5/intake/catalog/tests/test_caching_integration.py000066400000000000000000000163701416666122400244530ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import pytest import shutil import string import time import intake from intake.config import conf from intake.utils import make_path_posix @pytest.fixture def catalog_cache(): path = os.path.dirname(__file__) return intake.open_catalog(os.path.join(path, 'catalog_caching.yml')) def test_load_csv(catalog_cache, tempdir): os.environ['TEST_CACHE_DIR'] = str(tempdir) catalog_cache['test_cache_new'].read() files = os.listdir(tempdir) assert 'cache' in files assert len(files) == 2 cache_id = [f for f in files if f != 'cache'][0] assert all(c in string.hexdigits for c in cache_id) def test_list_of_files(catalog_cache): pd = pytest.importorskip('pandas') s1 = catalog_cache['test_cache'] s2 = catalog_cache['test_list_cache'] assert s2.read().equals(pd.concat([s1.read(), s1.read()])) def test_bad_type_cache(catalog_cache): with pytest.raises(IndexError): catalog_cache['test_bad_type_cache_spec'].cache def test_load_textfile(catalog_cache): cat = catalog_cache['text_cache'] cache = cat.cache[0] cache_paths = cache.load(cat._urlpath, output=False) cache_path = cache_paths[-1] assert cache._cache_dir in cache_path assert os.path.isfile(cache_path) cache_id = os.path.basename(os.path.dirname(cache_path)) # Checking for md5 hash assert all(c in string.hexdigits for c in cache_id) cache.clear_all() def test_load_arr(catalog_cache): cat = catalog_cache['arr_cache'] cache = cat.cache[0] cache_paths = cache.load(cat.path, output=False) cache_path = cache_paths[-1] assert cache._cache_dir in cache_path assert os.path.isfile(cache_path) cache_id = os.path.basename(os.path.dirname(cache_path)) # Checking for md5 hash assert all(c in string.hexdigits for c in cache_id) cache.clear_all() @pytest.mark.parametrize('section', ['test_no_regex', 'test_regex_no_match', 'test_regex_partial_match']) def test_regex(catalog_cache, section): cat = catalog_cache[section] cache = cat.cache[0] cache_paths = cache.load(cat._urlpath, output=False) cache_path = cache_paths[-1] assert cache_path.startswith(cache._cache_dir) assert os.path.isfile(cache_path) cache.clear_all() def test_get_metadata(catalog_cache): cat = catalog_cache['test_cache'] cache = cat.cache[0] cache_paths = cache.load(cat._urlpath, output=False) metadata = cache.get_metadata(cat._urlpath) assert isinstance(metadata, list) for d in metadata: assert d['cache_path'] in cache_paths assert 'created' in d.keys() assert 'original_path' in d.keys() cache.clear_all() def test_clear_cache(catalog_cache): cat = catalog_cache['test_cache'] cache = cat.cache[0] cache_paths = cache.load(cat._urlpath, output=False) cache.clear_cache(cat._urlpath) assert cat._urlpath not in cache._metadata.keys() for cache_path in cache_paths: assert os.path.basename(cache_path) not in os.listdir(cache._cache_dir) def test_clear_cache_bad_metadata(catalog_cache): cat = catalog_cache['test_cache'] cache = cat.cache[0] cache_paths = cache.load(cat._urlpath, output=False) subdir = os.path.dirname(cache_paths[0]) shutil.rmtree(subdir) cache.clear_cache(cat._urlpath) assert cat._urlpath not in cache._metadata.keys() for cache_path in cache_paths: assert os.path.basename(cache_path) not in os.listdir(cache._cache_dir) def test_clear_all(catalog_cache): cat = catalog_cache['test_cache'] cache = cat.cache[0] cache_paths = cache.load(cat._urlpath, output=False) cache.clear_all() for cache_path in cache_paths: assert not os.path.exists(cache_path) cache.clear_all() def test_second_load(catalog_cache): cat = catalog_cache['test_cache'] cache = cat.cache[0] cache_paths = cache.load(cat._urlpath, output=False) cache_path = cache_paths[-1] assert os.path.isfile(cache_path) t1 = os.path.getmtime(cache_path) cache.load(cat._urlpath, output=False) assert os.path.isfile(cache_path) t2 = os.path.getmtime(cache_path) assert t1 == t2 cache.clear_all() def test_second_load_timestamp(catalog_cache): cat = catalog_cache['test_cache'] cache = cat.cache[0] cache_paths = cache.load(cat._urlpath, output=False) cache_path = cache_paths[-1] time1 = os.path.getmtime(cache_path) cache.clear_cache(cat._urlpath) assert not os.path.isfile(cache_path) time.sleep(0.5) cache.load(cat._urlpath, output=False) assert os.path.isfile(cache_path) time2 = os.path.getmtime(cache_path) assert time1 < time2 cache.clear_all() def test_second_load_refresh(catalog_cache): cat = catalog_cache['test_cache'] cache = cat.cache[0] cache_paths = cache.load(cat._urlpath, output=False) cache_path = cache_paths[-1] time1 = os.path.getmtime(cache_path) assert os.path.isfile(cache_path) cache.load(cat._urlpath, output=False) assert os.path.isfile(cache_path) time2 = os.path.getmtime(cache_path) assert time1 == time2 cache.clear_all() def test_multiple_cache(catalog_cache): cat = catalog_cache['test_multiple_cache'] assert len(cat.cache) == 2 for cache in cat.cache: cache_paths = cache.load(cat._urlpath, output=False) cache_path = cache_paths[-1] assert cache._cache_dir in cache_path assert os.path.isfile(cache_path) cache.clear_all() def test_disable_caching(catalog_cache): conf['cache_disabled'] = True cat = catalog_cache['test_cache'] cache = cat.cache[0] cache_paths = cache.load(cat._urlpath, output=False) cache_path = cache_paths[-1] assert cache_path == cat._urlpath conf['cache_disabled'] = False cache_paths = cache.load(cat._urlpath, output=False) cache_path = cache_paths[-1] assert cache._cache_dir in cache_path assert os.path.isfile(cache_path) cache_id = os.path.basename(os.path.dirname(cache_path)) # Checking for md5 hash assert all(c in string.hexdigits for c in cache_id) cache.clear_all() def test_ds_set_cache_dir(catalog_cache): cat = catalog_cache['test_cache']() defaults = cat.cache_dirs new_cache_dir = os.path.join(os.getcwd(), 'test_cache_dir') cat.set_cache_dir(new_cache_dir) cache = cat.cache[0] assert make_path_posix(cache._cache_dir) == make_path_posix(new_cache_dir) cache_paths = cache.load(cat._urlpath, output=False) cache_path = cache_paths[-1] expected_cache_dir = make_path_posix(new_cache_dir) assert expected_cache_dir in cache_path assert defaults[0] not in cache_path assert os.path.isfile(cache_path) cache_id = os.path.basename(os.path.dirname(cache_path)) # Checking for md5 hash assert all(c in string.hexdigits for c in cache_id) cache.clear_all() shutil.rmtree(expected_cache_dir) intake-0.6.5/intake/catalog/tests/test_core.py000066400000000000000000000004621416666122400213770ustar00rootroot00000000000000import pytest from intake.catalog.base import Catalog def test_no_entry(): cat = Catalog() cat2 = cat.configure_new() assert isinstance(cat2, Catalog) assert cat.auth is None assert cat2.auth is None def test_regression(): with pytest.raises(ValueError): Catalog("URI") intake-0.6.5/intake/catalog/tests/test_default.py000066400000000000000000000013221416666122400220670ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from pathlib import Path import sys from intake.catalog import default from intake.catalog.base import Catalog def test_which(): p = default.which('python') assert Path(p).resolve() == Path(sys.executable).resolve() def test_load(): cat = default.load_user_catalog() assert isinstance(cat, Catalog) cat = default.load_global_catalog() assert isinstance(cat, Catalog) intake-0.6.5/intake/catalog/tests/test_discovery.py000066400000000000000000000021631416666122400224560ustar00rootroot00000000000000import copy import glob import os import pytest import sys from ..local import YAMLFilesCatalog, MergedCatalog, EntrypointsCatalog def test_catalog_discovery(): basedir = os.path.dirname(__file__) yaml_glob = os.path.join(basedir, 'catalog_search', '*.yml') example_packages = os.path.join(basedir, 'catalog_search', 'example_packages') test_catalog = MergedCatalog([EntrypointsCatalog(paths=[example_packages]), YAMLFilesCatalog(path=[yaml_glob])]) assert 'use_example1' in test_catalog assert 'ep1' in test_catalog def test_deferred_import(): "See https://github.com/intake/intake/pull/541" # We are going to mess with sys.modules here, so to be safe let's put it # back the way it was at the end. import intake.catalog intake.catalog.builtin = None mods = sys.modules.copy() try: sys.modules.pop("intake") sys.modules.pop("intake.catalog") intake.catalog.__dict__.pop('builtin') assert 'builtin' not in intake.catalog.__dict__ assert intake.cat is not None finally: sys.modules.update(mods) intake-0.6.5/intake/catalog/tests/test_gui.py000066400000000000000000000030411416666122400212270ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import pytest import os def panel_importable(): try: import panel as pn return True except: return False EXPECTED_ERROR_TEXT = "Please install panel to use the GUI" @pytest.mark.skipif(panel_importable(), reason="panel is importable, so skip") def test_cat_no_panel_does_not_raise_errors(catalog1): assert catalog1.name == 'name_in_cat' @pytest.mark.skipif(panel_importable(), reason="panel is importable, so skip") def test_cat_no_panel_display_gui(catalog1): with pytest.raises(RuntimeError, match=EXPECTED_ERROR_TEXT): repr(catalog1.gui) def test_cat_gui(catalog1): pytest.importorskip('panel') assert repr(catalog1.gui).startswith('Column') @pytest.mark.skipif(panel_importable(), reason="panel is importable, so skip") def test_entry_no_panel_does_not_raise_errors(catalog1): assert catalog1.entry1.name == 'entry1' @pytest.mark.skipif(panel_importable(), reason="panel is importable, so skip") def test_entry_no_panel_display_gui(catalog1): with pytest.raises(RuntimeError, match=EXPECTED_ERROR_TEXT): repr(catalog1.entry1.gui) def test_entry_gui(catalog1): pytest.importorskip('panel') assert repr(catalog1.entry1.gui).startswith('Column') intake-0.6.5/intake/catalog/tests/test_local.py000066400000000000000000000625771416666122400215600ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import datetime import os.path import posixpath import shutil import tempfile import time import pandas import pytest from intake import open_catalog from intake.catalog import exceptions, local from intake.catalog.local import LocalCatalogEntry, UserParameter, get_dir from intake.tests.test_utils import copy_test_file from intake.utils import make_path_posix from .util import assert_items_equal def abspath(filename): return make_path_posix( os.path.join(os.path.dirname(__file__), filename)) def test_local_catalog(catalog1): assert_items_equal(list(catalog1), ['use_example1', 'nested', 'entry1', 'entry1_part', 'remote_env', 'local_env', 'text', 'arr', 'datetime']) assert len(catalog1) == 9 assert catalog1['entry1'].describe() == { 'name': 'entry1', 'container': 'dataframe', 'direct_access': 'forbid', 'user_parameters': [], 'description': 'entry1 full', 'args': {'urlpath': '{{ CATALOG_DIR }}/entry1_*.csv'}, 'metadata': {'bar': [1, 2, 3], 'foo': 'bar'}, 'plugin': ['csv'], 'driver': ['csv'] } assert catalog1['entry1_part'].describe() == { 'name': 'entry1_part', 'container': 'dataframe', 'user_parameters': [ { 'name': 'part', 'description': 'part of filename', 'default': '1', 'type': 'str', 'allowed': ['1', '2'], } ], 'description': 'entry1 part', 'direct_access': 'allow', 'args': {'urlpath': '{{ CATALOG_DIR }}/entry1_{{ part }}.csv'}, 'metadata': {'foo': 'baz', 'bar': [2, 4, 6]}, 'plugin': ['csv'], 'driver': ['csv'] } assert catalog1['entry1'].container == 'dataframe' md = catalog1['entry1'].metadata md.pop('catalog_dir') assert md['foo'] == 'bar' assert md['bar'] == [1, 2, 3] # Use default parameters assert catalog1['entry1_part'].container == 'dataframe' # Specify parameters assert catalog1['entry1_part'].configure_new(part='2').container == 'dataframe' def test_get_items(catalog1): for key, entry in catalog1.items(): assert catalog1[key].describe() == entry.describe() def test_nested(catalog1): assert 'nested' in catalog1 assert 'entry1' in catalog1.nested.nested() assert catalog1.entry1.read().equals(catalog1.nested.nested.entry1.read()) assert 'nested.nested' not in catalog1.walk(depth=1) assert 'nested.nested' in catalog1.walk(depth=2) assert catalog1.nested.cat == catalog1 assert catalog1.nested.nested.nested.cat.cat.cat is catalog1 def test_nested_gets_name_from_super(catalog1): assert catalog1.name == 'name_in_cat' assert 'nested' in catalog1 nested = catalog1.nested assert nested.name == 'nested' assert nested().name == 'nested' def test_hash(catalog1): assert catalog1.nested() == catalog1.nested.nested() def test_getitem(catalog1): assert list(catalog1) == list(catalog1['nested']()) assert list(catalog1) == list(catalog1['nested.nested']()) assert list(catalog1) == list(catalog1['nested', 'nested']()) def test_source_plugin_config(catalog1): from intake import registry assert 'example1' in registry assert 'example2' in registry def test_metadata(catalog1): assert hasattr(catalog1, 'metadata') assert catalog1.metadata['test'] is True def test_use_source_plugin_from_config(catalog1): catalog1['use_example1'] def test_get_dir(): assert get_dir('file:///path/catalog.yml') == 'file:///path' assert get_dir('https://example.com/catalog.yml') == 'https://example.com' path = 'example/catalog.yml' out = get_dir(path) assert os.path.isabs(out) assert out.endswith('/example/') path = '/example/catalog.yml' out = get_dir(path) # it's ok if the first two chars indicate drive for win (C:) assert '/example/' in [out, out[2:]] path = 'example' out = get_dir(path) assert os.path.isabs(out) assert not out.endswith('/example') assert out.endswith('/') def test_entry_dir_function(catalog1): assert 'nested' in dir(catalog1.nested) @pytest.mark.parametrize("dtype,expected", [ ("bool", False), ("datetime", pandas.Timestamp(1970, 1, 1, 0, 0, 0)), ("float", 0.0), ("int", 0), ("list", []), ("str", ""), ("unicode", u""), ]) def test_user_parameter_default_value(dtype, expected): p = local.UserParameter('a', 'a desc', dtype) assert p.validate(None) == expected def test_user_parameter_repr(): p = local.UserParameter('a', 'a desc', 'str') expected = "" assert repr(p) == str(p) == expected @pytest.mark.parametrize("dtype,given,expected", [ ("bool", "true", True), ("bool", 0, False), ("datetime", datetime.datetime(2018, 1, 1, 0, 34, 0), pandas.Timestamp(2018, 1, 1, 0, 34, 0)), ("datetime", "2018-01-01 12:34AM", pandas.Timestamp(2018, 1, 1, 0, 34, 0)), ("datetime", 1234567890000000000, pandas.Timestamp(2009, 2, 13, 23, 31, 30)), ("float", "3.14", 3.14), ("int", "1", 1), ("list", (3, 4), [3, 4]), ("str", 1, "1"), ("unicode", "foo", u"foo"), ]) def test_user_parameter_coerce_value(dtype, given, expected): p = local.UserParameter('a', 'a desc', dtype, given) assert p.validate(given) == expected @pytest.mark.parametrize("given", ["now", "today"]) def test_user_parameter_coerce_special_datetime(given): p = local.UserParameter('a', 'a desc', 'datetime', given) assert type(p.validate(given)) == pandas.Timestamp @pytest.mark.parametrize("dtype,given,expected", [ ("float", "100.0", 100.0), ("int", "20", 20), ("int", 20.0, 20), ]) def test_user_parameter_coerce_min(dtype, given, expected): p = local.UserParameter('a', 'a desc', dtype, expected, min=given) assert p.min == expected @pytest.mark.parametrize("dtype,given,expected", [ ("float", "100.0", 100.0), ("int", "20", 20), ("int", 20.0, 20), ]) def test_user_parameter_coerce_max(dtype, given, expected): p = local.UserParameter('a', 'a desc', dtype, expected, max=given) assert p.max == expected @pytest.mark.parametrize("dtype,given,expected", [ ("float", [50, "100.0", 150.0], [50.0, 100.0, 150.0]), ("int", [1, "2", 3.0], [1, 2, 3]), ]) def test_user_parameter_coerce_allowed(dtype, given, expected): p = local.UserParameter('a', 'a desc', dtype, expected[0], allowed=given) assert p.allowed == expected def test_user_parameter_validation_range(): p = local.UserParameter('a', 'a desc', 'int', 1, min=0, max=3) with pytest.raises(ValueError) as except_info: p.validate(-1) assert 'less than' in str(except_info.value) assert p.validate(0) == 0 assert p.validate(1) == 1 assert p.validate(2) == 2 assert p.validate(3) == 3 with pytest.raises(ValueError) as except_info: p.validate(4) assert 'greater than' in str(except_info.value) def test_user_parameter_validation_allowed(): p = local.UserParameter('a', 'a desc', 'int', 1, allowed=[1, 2]) with pytest.raises(ValueError) as except_info: p.validate(0) assert 'allowed' in str(except_info.value) assert p.validate(1) == 1 assert p.validate(2) == 2 with pytest.raises(ValueError) as except_info: p.validate(3) assert 'allowed' in str(except_info.value) def test_user_pars_list(): # first case: allowed are all lists, must choose exactly one of them # NB: order must match p = local.UserParameter("", "", "list", allowed=[[], ["one"], ["one", "two"]]) with pytest.raises(TypeError): p.validate(0) with pytest.raises((TypeError, ValueError)): # unfortunately, a string does coerce to a list p.validate("one") with pytest.raises(ValueError, match="allowed"): p.validate(["two"]) with pytest.raises(ValueError, match="allowed"): p.validate(["two", "one"]) p.validate(["one"]) p.validate(["one", "two"]) def test_user_pars_mlist(): # second case: allowed are not lists, can choose any number of them # NB: repeats are allowed p = local.UserParameter("", "", "mlist", allowed=["one", "two", "three"]) with pytest.raises(TypeError): p.validate(0) with pytest.raises((TypeError, ValueError)): # unfortunately, a string does coerce to a list p.validate("one") with pytest.raises(ValueError, match="allowed"): p.validate(["two" ,"other"]) p.validate(["two"]) p.validate(["two", "two"]) p.validate(["two", "one"]) p.validate([]) @pytest.mark.parametrize("filename", [ "catalog_non_dict", "data_source_missing", "data_source_name_non_string", "data_source_non_dict", "data_source_value_non_dict", "params_missing_required", "params_name_non_string", "params_non_dict", "params_value_bad_choice", "params_value_bad_type", "params_value_non_dict", "plugins_non_dict", "plugins_source_missing", "plugins_source_missing_key", "plugins_source_non_dict", "plugins_source_non_list", ]) def test_parser_validation_error(filename): with pytest.raises(exceptions.ValidationError): list(open_catalog(abspath(filename + ".yml"))) @pytest.mark.parametrize("filename", [ "obsolete_data_source_list", "obsolete_params_list", ]) def test_parser_obsolete_error(filename): with pytest.raises(exceptions.ObsoleteError): open_catalog(abspath(filename + ".yml")) def test_union_catalog(): path = os.path.dirname(__file__) uri1 = os.path.join(path, 'catalog_union_1.yml') uri2 = os.path.join(path, 'catalog_union_2.yml') union_cat = open_catalog([uri1, uri2]) assert_items_equal(list(union_cat), ['entry1', 'entry1_part', 'use_example1']) expected = { 'name': 'entry1_part', 'container': 'dataframe', 'user_parameters': [ { 'name': 'part', 'description': 'part of filename', 'default': '1', 'type': 'str', 'allowed': ['1', '2'], } ], 'description': 'entry1 part', 'direct_access': 'allow' } for k in expected: assert union_cat.entry1_part.describe()[k] == expected[k] # Implied creation of data source assert union_cat.entry1.container == 'dataframe' md = union_cat.entry1.describe()['metadata'] assert md == dict(foo='bar', bar=[1, 2, 3]) # Use default parameters in explict creation of data source assert union_cat.entry1_part().container == 'dataframe' # Specify parameters in creation of data source assert union_cat.entry1_part(part='2').container == 'dataframe' def test_persist_local_cat(temp_cache): # when persisted, multiple cat become one from intake.catalog.local import YAMLFileCatalog path = os.path.dirname(__file__) uri1 = os.path.join(path, 'catalog_union_1.yml') uri2 = os.path.join(path, 'catalog_union_2.yml') s = open_catalog([uri1, uri2]) s2 = s.persist() assert isinstance(s2, YAMLFileCatalog) assert set(s) == set(s2) def test_empty_catalog(): cat = open_catalog() assert list(cat) == [] def test_nonexistent_error(): with pytest.raises(IOError): local.YAMLFileCatalog('nonexistent') def test_duplicate_data_sources(): path = os.path.dirname(__file__) uri = os.path.join(path, 'catalog_dup_sources.yml') with pytest.raises(exceptions.DuplicateKeyError): open_catalog(uri) def test_duplicate_parameters(): path = os.path.dirname(__file__) uri = os.path.join(path, 'catalog_dup_parameters.yml') with pytest.raises(exceptions.DuplicateKeyError): open_catalog(uri) @pytest.fixture def temp_catalog_file(): path = tempfile.mkdtemp() catalog_file = os.path.join(path, 'catalog.yaml') with open(catalog_file, 'w') as f: f.write(''' sources: a: driver: csv args: urlpath: /not/a/file b: driver: csv args: urlpath: /not/a/file ''') yield catalog_file shutil.rmtree(path) def test_catalog_file_removal(temp_catalog_file): cat_dir = os.path.dirname(temp_catalog_file) cat = open_catalog(cat_dir + '/*', ttl=0.1) assert set(cat) == {'a', 'b'} os.remove(temp_catalog_file) time.sleep(0.5) # wait for catalog refresh assert set(cat) == set() def test_flatten_duplicate_error(): path = tempfile.mkdtemp() f1 = os.path.join(path, 'catalog.yaml') path = tempfile.mkdtemp() f2 = os.path.join(path, 'catalog.yaml') for f in [f1, f2]: with open(f, 'w') as fo: fo.write(""" sources: a: driver: csv args: urlpath: /not/a/file """) with pytest.raises(ValueError): open_catalog([f1, f2]) def test_multi_cat_names(): fn = abspath("catalog_union*.yml") cat = open_catalog(fn) assert cat.name == fn assert fn in repr(cat) fn1 = abspath("catalog_union_1.yml") fn2 = abspath("catalog_union_2.yml") cat = open_catalog([fn1, fn2]) assert cat.name == '2 files' assert cat.description == 'Catalog generated from 2 files' cat = open_catalog([fn1, fn2], name='special_name', description='Special description') assert cat.name == 'special_name' assert cat.description == 'Special description' def test_name_of_builtin(): import intake assert intake.cat.name == 'builtin' assert intake.cat.description == 'Generated from data packages found on your intake search path' def test_cat_with_declared_name(): fn = abspath("catalog_named.yml") description = 'Description declared in the open function' cat = open_catalog(fn, name='name_in_func', description=description) assert cat.name == 'name_in_func' assert cat.description == description cat._load() # we don't get metadata until load/list/getitem assert cat.metadata.get('some') == 'thing' cat = open_catalog(fn) assert cat.name == 'name_in_spec' assert cat.description == 'This is a catalog with a description in the yaml' def test_cat_with_no_declared_name_gets_name_from_dir_if_file_named_catalog(): fn = abspath("catalog.yml") cat = open_catalog(fn, name='name_in_func', description='Description in func') assert cat.name == 'name_in_func' assert cat.description == 'Description in func' cat = open_catalog(fn) assert cat.name == 'tests' assert cat.description == None def test_default_expansions(): try: os.environ['INTAKE_INT_TEST'] = '1' par = UserParameter('', '', 'int', default='env(INTAKE_INT_TEST)') par.expand_defaults() assert par.expanded_default == 1 finally: del os.environ['INTAKE_INT_TEST'] par = UserParameter('', '', 'str', default='env(USER)') par.expand_defaults(getenv=False) assert par.expanded_default == 'env(USER)' par.expand_defaults() assert par.expanded_default == os.getenv('USER', '') par = UserParameter('', '', 'str', default='client_env(USER)') par.expand_defaults() assert par.expanded_default == 'client_env(USER)' par.expand_defaults(client=True) assert par.expanded_default == os.getenv('USER', '') par = UserParameter('', '', 'str', default='shell(echo success)') par.expand_defaults(getshell=False) assert par.expanded_default == 'shell(echo success)' par.expand_defaults() assert par.expanded_default == 'success' par = UserParameter('', '', 'str', default='client_shell(echo success)') par.expand_defaults(client=True) assert par.expanded_default == 'success' par = UserParameter('', '', 'int', default=1) par.expand_defaults() # no error from string ops def test_remote_cat(http_server): url = http_server + 'catalog1.yml' cat = open_catalog(url) assert 'entry1' in cat assert cat.entry1.describe() def test_multi_plugins(): from intake.source.csv import CSVSource fn = abspath('multi_plugins.yaml') cat = open_catalog(fn) s = cat.tables0() assert isinstance(s, CSVSource) s = cat.tables1() assert isinstance(s, CSVSource) s = cat.tables2() assert isinstance(s, CSVSource) s = cat.tables3() assert isinstance(s, CSVSource) assert s._csv_kwargs == {} s = cat.tables3(plugin='myplug') assert isinstance(s, CSVSource) assert s._csv_kwargs == {} s = cat.tables3(plugin='myplug2') assert isinstance(s, CSVSource) assert s._csv_kwargs is True with pytest.raises(ValueError): cat.tables4() with pytest.raises(ValueError): cat.tables4(plugin='myplug') with pytest.raises(ValueError): cat.tables4(plugin='myplug2') s = cat.tables5() assert isinstance(s, CSVSource) with pytest.raises(ValueError): cat.tables5(plugin='myplug') fn = abspath('multi_plugins2.yaml') with pytest.raises(ValueError): open_catalog(fn) def test_no_plugins(): fn = abspath('multi_plugins.yaml') cat = open_catalog(fn) with pytest.raises(ValueError) as e: cat.tables6 assert 'doesnotexist' in str(e.value) assert 'plugin-directory' in str(e.value) with pytest.raises(ValueError) as e: cat.tables7 assert 'doesnotexist' in str(e.value) def test_explicit_entry_driver(): from intake.source.textfiles import TextFilesSource e = LocalCatalogEntry('test', 'desc', TextFilesSource, args={'urlpath': None}) assert e.describe()['container'] == 'python' assert isinstance(e(), TextFilesSource) with pytest.raises(TypeError): LocalCatalogEntry('test', 'desc', None) def test_getitem_and_getattr(): fn = abspath('multi_plugins.yaml') catalog = open_catalog(fn) catalog['tables0'] with pytest.raises(KeyError): catalog['doesnotexist'] with pytest.raises(KeyError): catalog['_doesnotexist'] with pytest.raises(KeyError): # This exists as an *attribute* but not as an item. catalog['metadata'] catalog.tables0 # alias to catalog['tables0'] catalog.metadata # a normal attribute with pytest.raises(AttributeError): catalog.doesnotexit with pytest.raises(AttributeError): catalog._doesnotexit assert catalog.tables0 == catalog['tables0'] assert isinstance(catalog.metadata, (dict, type(None))) def test_dot_names(): fn = abspath('dot-nest.yaml') cat = open_catalog(fn) assert cat.self.leaf.description == 'leaf' assert cat.self['leafdot.dot'].description == 'leaf-dot' assert cat['selfdot.dot', 'leafdot.dot'].description == 'leaf-dot' assert cat['self.selfdot.dot', 'leafdot.dot'].description == 'leaf-dot' assert cat['self.self.dot', 'leafdot.dot'].description == 'leaf-dot' assert cat['self.self.dot', 'leaf'].description == 'leaf' assert cat['self.self.dot', 'leaf.dot'].description == 'leaf-dot' assert cat['self.self.dot.leaf.dot'].description == 'leaf-dot' def test_listing(catalog1): assert list(catalog1) == list(catalog1.nested) with pytest.raises(TypeError): list(catalog1.arr) def test_dict_save(): from intake.catalog.base import Catalog fn = os.path.join(tempfile.mkdtemp(), 'mycat.yaml') entry = LocalCatalogEntry(name='trial', description='get this back', driver='csv', args=dict(urlpath="")) cat = Catalog.from_dict({'trial': entry}, name='mycat') cat.save(fn) cat2 = open_catalog(fn) assert 'trial' in cat2 assert cat2.name == 'mycat' assert "CSV" in cat2.trial.classname def test_dict_save_complex(): from intake.catalog.base import Catalog fn = os.path.join(tempfile.mkdtemp(), 'mycat.yaml') cat = Catalog() entry = LocalCatalogEntry(name='trial', description='get this back', driver='csv', cache=[], catalog=cat, parameters=[UserParameter(name='par1', description='desc', type='int')], args={'urlpath': 'none'}) cat._entries = {'trial': entry} cat.save(fn) cat2 = open_catalog(fn) assert 'trial' in cat2 assert cat2.name == 'mycat' assert cat2.trial.describe()['plugin'][0] == 'csv' def test_dict_adddel(): from intake.catalog.base import Catalog entry = LocalCatalogEntry(name='trial', description='get this back', driver='csv', args=dict(urlpath="")) cat = Catalog.from_dict({'trial': entry}, name='mycat') assert 'trial' in cat cat['trial2'] = entry assert list(cat) == ['trial', 'trial2'] cat.pop('trial') assert list(cat) == ['trial2'] assert cat['trial2'].describe() == entry.describe() def test_filter(): from intake.catalog.base import Catalog entry1 = LocalCatalogEntry(name='trial', description='get this back', driver='csv', args=dict(urlpath="")) entry2 = LocalCatalogEntry(name='trial', description='pass this through', driver='csv', args=dict(urlpath="")) cat = Catalog.from_dict({'trial1': entry1, 'trial2': entry2}, name='mycat') cat2 = cat.filter(lambda e: 'pass' in e._description) assert list(cat2) == ['trial2'] assert cat2.trial2 == entry2() def test_from_dict_with_data_source(): "Check that Catalog.from_dict accepts DataSources not wrapped in Entry." from intake.catalog.base import Catalog fn = os.path.join(tempfile.mkdtemp(), 'mycat.yaml') entry = LocalCatalogEntry(name='trial', description='get this back', driver='csv', args=dict(urlpath="")) ds = entry() cat = Catalog.from_dict({'trial': ds}, name='mycat') def test_no_instance(): from intake.catalog.local import LocalCatalogEntry e0 = LocalCatalogEntry('foo', '', 'fake') e1 = LocalCatalogEntry('foo0', '', 'fake') # this would error on instantiation with driver not found assert e0 != e1 def test_fsspec_integration(): import fsspec import pandas as pd mem = fsspec.filesystem('memory') with mem.open('cat.yaml', 'wt') as f: f.write(""" sources: implicit: driver: csv description: o args: urlpath: "{{CATALOG_DIR}}/file.csv" explicit: driver: csv description: o args: urlpath: "memory:///file.csv" extra: driver: csv description: o args: urlpath: "{{CATALOG_DIR}}/file.csv" storage_options: {other: option}""" ) with mem.open('/file.csv', 'wt') as f: f.write("a,b\n0,1") expected = pd.DataFrame({'a': [0], 'b': [1]}) cat = open_catalog("memory://cat.yaml") assert list(cat) == ['implicit', 'explicit', 'extra'] assert cat.implicit.read().equals(expected) assert cat.explicit.read().equals(expected) s = cat.extra() assert s._storage_options['other'] def test_cat_add(tmpdir): tmpdir = str(tmpdir) fn = os.path.join(tmpdir, 'cat.yaml') with open(fn, 'w') as f: f.write('sources: {}') cat = open_catalog(fn) assert list(cat) == [] # was added in memory cat.add(cat) cat._load() # this would happen automatically, but not immediately assert list(cat) == ['cat'] # was added to the file cat = open_catalog(fn) assert list(cat) == ['cat'] def test_no_entries_items(catalog1): from intake.catalog.entry import CatalogEntry from intake.source.base import DataSource for k, v in catalog1.items(): assert not isinstance(v, CatalogEntry) assert isinstance(v, DataSource) for k in catalog1: v = catalog1[k] assert not isinstance(v, CatalogEntry) assert isinstance(v, DataSource) for k in catalog1: # we can't do attribute access on "text" because it # collides with a property if k == 'text': continue v = getattr(catalog1, k) assert not isinstance(v, CatalogEntry) assert isinstance(v, DataSource) def test_cat_dictlike(catalog1): assert list(catalog1) == list(catalog1.keys()) assert len(list(catalog1)) == len(catalog1) assert list(catalog1.items()) == list(zip(catalog1.keys(), catalog1.values())) def test_inherit_params(inherit_params_cat): assert inherit_params_cat.param._urlpath == "s3://test_bucket/file.parquet" def test_runtime_overwrite_params(inherit_params_cat): assert ( inherit_params_cat.param(bucket="runtime_overwrite")._urlpath == "s3://runtime_overwrite/file.parquet" ) def test_local_param_overwrites(inherit_params_cat): assert ( inherit_params_cat.local_param_overwrites._urlpath == "s3://local_param/file.parquet" ) def test_local_and_global_params(inherit_params_cat): assert ( inherit_params_cat.local_and_global_params._urlpath == "s3://test_bucket/local_filename.parquet" ) def test_search_inherit_params(inherit_params_cat): assert ( inherit_params_cat.search("local_and_global").local_and_global_params._urlpath == "s3://test_bucket/local_filename.parquet" ) def test_multiple_cats_params(inherit_params_multiple_cats): assert ( inherit_params_multiple_cats.local_and_global_params._urlpath == "s3://test_bucket/local_filename.parquet" ) intake-0.6.5/intake/catalog/tests/test_parameters.py000066400000000000000000000167251416666122400226230ustar00rootroot00000000000000import os import pytest import intake from intake.catalog.local import LocalCatalogEntry, UserParameter from intake.source.base import DataSource class NoSource(DataSource): def __init__(self, **kwargs): self.metadata = kwargs.pop('metadata', {}) self.kwargs = kwargs driver = 'intake.catalog.tests.test_parameters.NoSource' def test_simplest(): e = LocalCatalogEntry('', '', driver, args={'arg1': 1}) s = e() assert s.kwargs['arg1'] == 1 def test_cache_default_source(): # If the user provides parameters, don't allow default caching up = UserParameter('name', default='oi') e = LocalCatalogEntry('', '', driver, getenv=False, parameters=[up]) s1 = e(name="oioi") s2 = e() assert s1 is not s2 s1 = e() s2 = e(name="oioi") assert s1 is not s2 # Otherwise, we can cache the default source e = LocalCatalogEntry('', '', driver, getenv=False) s1 = e() s2 = e() assert s1 is s2 def test_parameter_default(): up = UserParameter('name', default='oi') e = LocalCatalogEntry('', '', driver, args={'arg1': "{{name}}"}, parameters=[up]) s = e() assert s.kwargs['arg1'] == 'oi' def test_maybe_default_from_env(): # maybe fill in parameter default from the env, depending on getenv up = UserParameter('name', default='env(INTAKE_TEST_VAR)') e = LocalCatalogEntry('', '', driver, args={'arg1': "{{name}}"}, parameters=[up], getenv=False) s = e() assert s.kwargs['arg1'] == 'env(INTAKE_TEST_VAR)' os.environ['INTAKE_TEST_VAR'] = 'oi' # Clear the cached source so we can (not) pick up the changed environment variable. e.clear_cached_default_source() s = e() assert s.kwargs['arg1'] == 'env(INTAKE_TEST_VAR)' up = UserParameter('name', default='env(INTAKE_TEST_VAR)') e = LocalCatalogEntry('', '', driver, args={'arg1': "{{name}}"}, parameters=[up], getenv=True) s = e() assert s.kwargs['arg1'] == 'oi' del os.environ['INTAKE_TEST_VAR'] # Clear the cached source so we can pick up the changed environment variable. e.clear_cached_default_source() s = e() assert s.kwargs['arg1'] == '' def test_up_override_and_render(): up = UserParameter('name', default='env(INTAKE_TEST_VAR)') e = LocalCatalogEntry('', '', driver, args={'arg1': "{{name}}"}, parameters=[up], getenv=False) s = e(name='other') assert s.kwargs['arg1'] == 'other' def test_user_explicit_override(): up = UserParameter('name', default='env(INTAKE_TEST_VAR)') e = LocalCatalogEntry('', '', driver, args={'arg1': "{{name}}"}, parameters=[up], getenv=False) # override wins over up s = e(arg1='other') assert s.kwargs['arg1'] == 'other' def test_auto_env_expansion(): os.environ['INTAKE_TEST_VAR'] = 'oi' e = LocalCatalogEntry('', '', driver, args={'arg1': "{{env(INTAKE_TEST_VAR)}}"}, parameters=[], getenv=False) s = e() # when getenv is False, you pass through the text assert s.kwargs['arg1'] == '{{env(INTAKE_TEST_VAR)}}' e = LocalCatalogEntry('', '', driver, args={'arg1': "{{env(INTAKE_TEST_VAR)}}"}, parameters=[], getenv=True) s = e() assert s.kwargs['arg1'] == 'oi' # same, but with quoted environment name e = LocalCatalogEntry('', '', driver, args={'arg1': '{{env("INTAKE_TEST_VAR")}}'}, parameters=[], getenv=True) s = e() assert s.kwargs['arg1'] == 'oi' del os.environ['INTAKE_TEST_VAR'] # Clear the cached source so we can pick up the changed environment variable. e.clear_cached_default_source() s = e() assert s.kwargs['arg1'] == '' e = LocalCatalogEntry('', '', driver, args={'arg1': "{{env(INTAKE_TEST_VAR)}}"}, parameters=[], getenv=False) s = e() assert s.kwargs['arg1'] == '{{env(INTAKE_TEST_VAR)}}' def test_validate_up(): up = UserParameter('name', default=1, type='int') e = LocalCatalogEntry('', '', driver, args={'arg1': "{{name}}"}, parameters=[up], getenv=False) s = e() # OK assert s.kwargs['arg1'] == '1' with pytest.raises(ValueError): e(name='oi') up = UserParameter('name', type='int') e = LocalCatalogEntry('', '', driver, args={'arg1': "{{name}}"}, parameters=[up], getenv=False) s = e() # OK # arg1 is a string: real int gets rendered by jinja assert s.kwargs['arg1'] == '0' # default default for int s = e(arg1='something') assert s.kwargs['arg1'] == 'something' def test_validate_par(): up = UserParameter('arg1', type='int') e = LocalCatalogEntry('', '', driver, args={'arg1': "oi"}, parameters=[up], getenv=False) with pytest.raises(ValueError): e() e = LocalCatalogEntry('', '', driver, args={'arg1': 1}, parameters=[up], getenv=False) e() # OK e = LocalCatalogEntry('', '', driver, args={'arg1': "1"}, parameters=[up], getenv=False) s = e() # OK assert s.kwargs['arg1'] == 1 # a number, not str def test_mlist_parameter(): up = UserParameter("", "", "mlist", allowed=["a", "b"]) up.validate([]) up.validate(['b']) up.validate(['b', 'a']) with pytest.raises(ValueError): up.validate(["c"]) with pytest.raises(ValueError): up.validate(["a", "c"]) with pytest.raises(TypeError): up.validate("hello") def test_explicit_overrides(): e = LocalCatalogEntry('', '', driver, args={'arg1': "oi"}) s = e(arg1='hi') assert s.kwargs['arg1'] == 'hi' e = LocalCatalogEntry('', '', driver, args={'arg1': "{{name}}"}) s = e(name='hi') assert s.kwargs['arg1'] == 'hi' os.environ['INTAKE_TEST_VAR'] = 'another' e = LocalCatalogEntry('', '', driver, args={'arg1': "oi"}, getenv=True) s = e(arg1='{{env(INTAKE_TEST_VAR)}}') assert s.kwargs['arg1'] == 'another' up = UserParameter('arg1', type='int') e = LocalCatalogEntry('', '', driver, args={'arg1': 1}, parameters=[up]) with pytest.raises(ValueError): e(arg1='oi') s = e(arg1='1') assert s.kwargs['arg1'] == 1 def test_extra_arg(): e = LocalCatalogEntry('', '', driver, args={'arg1': "oi"}) s = e(arg2='extra') assert s.kwargs['arg2'] == 'extra' def test_unknown(): e = LocalCatalogEntry('', '', driver, args={'arg1': "{{name}}"}) s = e() assert s.kwargs['arg1'] == "" # parameter has no default up = UserParameter('name') e = LocalCatalogEntry('', '', driver, args={'arg1': "{{name}}"}, parameters=[up]) s = e() assert s.kwargs['arg1'] == "" def test_catalog_passthrough(): root = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) cat = intake.open_catalog(os.path.join(root, "tests/catalog_inherit_params.yml")) assert set(cat.subcat.user_parameters) == {"bucket", "inner"} url = cat.subcat.ex2.urlpath assert url == "test_bucket/test_name" url = cat.subcat.ex2(bucket="hi", inner="ho").urlpath assert url == "hi/ho" # test clone cat2 = cat(bucket="yet") url = cat2.subcat(inner="another").ex2.urlpath assert url == "yet/another" url = cat2.subcat(inner="another").ex2(bucket="hi").urlpath assert url == "hi/another" intake-0.6.5/intake/catalog/tests/test_persist.py000066400000000000000000000023211416666122400221340ustar00rootroot00000000000000#!/usr/bin/env python #----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import os.path import pytest import intake path = os.path.dirname(__file__) def test_idempotent(temp_cache): pytest.importorskip('zarr') cat = intake.open_catalog(os.path.abspath( os.path.join(path, '..', '..', 'source', 'tests', 'sources.yaml'))) s = cat.zarr1() assert not s.has_been_persisted s2 = s.persist() assert s.has_been_persisted assert not s.is_persisted assert not s2.has_been_persisted assert s2.is_persisted s3 = s.persist() assert s3 == s2 assert s.get_persisted() == cat.zarr1() with pytest.raises(ValueError): s2.persist() def test_parquet(temp_cache): inp = pytest.importorskip('intake_parquet') cat = intake.open_catalog(os.path.abspath( os.path.join(path, 'catalog1.yml'))) s = cat.entry1() s2 = s.persist() assert isinstance(s2, inp.ParquetSource) intake-0.6.5/intake/catalog/tests/test_reload_integration.py000066400000000000000000000066061416666122400243260ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import os.path import shutil import tempfile import time import pytest from .util import assert_items_equal from intake import open_catalog TMP_DIR = tempfile.mkdtemp() TEST_CATALOG_PATH = [TMP_DIR] YAML_FILENAME = 'intake_test_catalog.yml' MISSING_PATH = os.path.join(TMP_DIR, 'a') def teardown_module(module): try: shutil.rmtree(TMP_DIR) except: pass @pytest.fixture def intake_server_with_config(intake_server): fullname = os.path.join(TMP_DIR, YAML_FILENAME) with open(fullname, 'w') as f: f.write(''' plugins: source: - module: intake.catalog.tests.example1_source - module: intake.catalog.tests.example_plugin_dir.example2_source sources: use_example1: description: example1 source plugin driver: example1 args: {} ''') time.sleep(1) yield intake_server os.remove(fullname) def test_reload_updated_config(intake_server_with_config): catalog = open_catalog(intake_server_with_config, ttl=0.1) entries = list(catalog) assert entries == ['use_example1'] with open(os.path.join(TMP_DIR, YAML_FILENAME), 'a') as f: f.write(''' use_example1_1: description: example1 other driver: example1 args: {} ''') time.sleep(1.2) assert_items_equal(list(catalog), ['use_example1', 'use_example1_1']) def test_reload_updated_directory(intake_server_with_config): catalog = open_catalog(intake_server_with_config, ttl=0.1) orig_entries = list(catalog) assert 'example2' not in orig_entries filename = os.path.join(TMP_DIR, 'intake_test_catalog2.yml') with open(filename, 'w') as f: f.write(''' sources: example2: description: source 2 driver: csv args: urlpath: none ''') time.sleep(1.2) assert_items_equal(list(catalog), ['example2'] + orig_entries) def test_reload_missing_remote_directory(intake_server): try: shutil.rmtree(TMP_DIR) except: pass time.sleep(1) catalog = open_catalog(intake_server, ttl=0.1) assert_items_equal(list(catalog), []) os.mkdir(TMP_DIR) with open(os.path.join(TMP_DIR, YAML_FILENAME), 'w') as f: f.write(''' plugins: source: - module: intake.catalog.tests.example1_source - module: intake.catalog.tests.example_plugin_dir.example2_source sources: use_example1: description: example1 source plugin driver: example1 args: {} ''') time.sleep(1.2) assert_items_equal(list(catalog), ['use_example1']) try: shutil.rmtree(TMP_DIR) except: pass def test_reload_missing_local_directory(tempdir): catalog = open_catalog(tempdir + '/*', ttl=0.1) assert_items_equal(list(catalog), []) with open(os.path.join(tempdir, YAML_FILENAME), 'w') as f: f.write(''' plugins: source: - module: intake.catalog.tests.example1_source - module: intake.catalog.tests.example_plugin_dir.example2_source sources: use_example1: description: example1 source plugin driver: example1 args: {} ''') time.sleep(1.2) assert 'use_example1' in catalog intake-0.6.5/intake/catalog/tests/test_remote_integration.py000066400000000000000000000331501416666122400243450ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os.path import pickle import pytest import pandas as pd from intake.source.tests.util import verify_datasource_interface from .util import assert_items_equal from intake import open_catalog from intake.catalog.remote import RemoteCatalog TEST_CATALOG_PATH = os.path.join(os.path.dirname(__file__), 'catalog1.yml') def test_info_describe(intake_server): catalog = open_catalog(intake_server) assert_items_equal(list(catalog), ['use_example1', 'nested', 'entry1', 'entry1_part', 'remote_env', 'local_env', 'text', 'arr', 'datetime']) info = catalog['entry1'].describe() expected = { 'container': 'dataframe', 'description': 'entry1 full', 'name': 'entry1', 'direct_access': 'forbid', 'user_parameters': [] } for k in expected: assert info[k] == expected[k] info = catalog['entry1_part'].describe() assert info['direct_access'] == 'allow' def test_bad_url(intake_server): bad_url = intake_server + '/nonsense_prefix' with pytest.raises(Exception): open_catalog(bad_url) def test_metadata(intake_server): catalog = open_catalog(intake_server) assert hasattr(catalog, 'metadata') assert catalog.metadata['test'] is True assert catalog.version == 1 def test_nested_remote(intake_server): from intake.catalog.local import LocalCatalogEntry catalog = open_catalog() catalog._entries = { 'server': LocalCatalogEntry('server', 'remote test', 'intake_remote', True, {'url': intake_server}, [], [], {}, None) } assert 'entry1' in catalog.server() def test_remote_direct(intake_server): from intake.container.dataframe import RemoteDataFrame catalog = open_catalog(intake_server) s0 = catalog.entry1() s0.discover() s = RemoteDataFrame(intake_server.replace('intake', 'http'), {}, name='entry1', parameters={}, npartitions=s0.npartitions, shape=s0.shape, metadata=s0.metadata, dtype=s0.dtype) assert s0.read().equals(s.read()) def test_entry_metadata(intake_server): catalog = open_catalog(intake_server) entry = catalog['arr'] assert entry.metadata == entry().metadata def test_unknown_source(intake_server): catalog = open_catalog(intake_server) with pytest.raises(Exception): catalog['does_not_exist'].describe() def test_remote_datasource_interface(intake_server): catalog = open_catalog(intake_server) d = catalog['entry1'] verify_datasource_interface(d) def test_environment_evaluation(intake_server): catalog = open_catalog(intake_server) import os os.environ['INTAKE_TEST'] = 'client' catalog['remote_env'] def test_read(intake_server): catalog = open_catalog(intake_server) d = catalog['entry1'] test_dir = os.path.dirname(__file__) file1 = os.path.join(test_dir, 'entry1_1.csv') file2 = os.path.join(test_dir, 'entry1_2.csv') expected_df = pd.concat((pd.read_csv(file1), pd.read_csv(file2))) meta = expected_df[:0] info = d.discover() assert info['dtype'] == {k: str(v) for k, v in meta.dtypes.to_dict().items()} assert info['npartitions'] == 2 assert info['shape'] == (None, 3) # Do not know CSV size ahead of time md = d.metadata.copy() assert md['foo'] == 'bar' assert md['bar'] == [1, 2, 3] df = d.read() assert expected_df.equals(df) def test_read_direct(intake_server): catalog = open_catalog(intake_server) d = catalog['entry1_part'].configure_new(part='2') test_dir = os.path.dirname(__file__) file2 = os.path.join(test_dir, 'entry1_2.csv') expected_df = pd.read_csv(file2) meta = expected_df[:0] info = d.discover() assert info['dtype'] == {k: str(v) for k, v in meta.dtypes.to_dict().items()} assert info['npartitions'] == 1 assert info['shape'] == (None, 3) # Do not know CSV size ahead of time md = info['metadata'].copy() md.pop('catalog_dir', None) assert md == {'bar': [2, 4, 6], 'foo': 'baz'} md = d.metadata.copy() md.pop('catalog_dir', None) assert md == dict(foo='baz', bar=[2, 4, 6]) assert d.description == 'entry1 part' df = d.read() assert expected_df.equals(df) def test_read_chunks(intake_server): catalog = open_catalog(intake_server) d = catalog.entry1 chunks = list(d.read_chunked()) assert len(chunks) == 2 test_dir = os.path.dirname(__file__) file1 = os.path.join(test_dir, 'entry1_1.csv') file2 = os.path.join(test_dir, 'entry1_2.csv') expected_df = pd.concat((pd.read_csv(file1), pd.read_csv(file2))) assert expected_df.equals(pd.concat(chunks)) def test_read_partition(intake_server): catalog = open_catalog(intake_server) d = catalog.entry1 p2 = d.read_partition(1) p1 = d.read_partition(0) test_dir = os.path.dirname(__file__) file1 = os.path.join(test_dir, 'entry1_1.csv') file2 = os.path.join(test_dir, 'entry1_2.csv') assert pd.read_csv(file1).equals(p1) assert pd.read_csv(file2).equals(p2) def test_close(intake_server): catalog = open_catalog(intake_server) d = catalog.entry1 d.close() def test_with(intake_server): catalog = open_catalog(intake_server) with catalog.entry1 as f: assert f.discover() def test_pickle(intake_server): catalog = open_catalog(intake_server) d = catalog.entry1 new_d = pickle.loads(pickle.dumps(d, pickle.HIGHEST_PROTOCOL)) df = new_d.read() test_dir = os.path.dirname(__file__) file1 = os.path.join(test_dir, 'entry1_1.csv') file2 = os.path.join(test_dir, 'entry1_2.csv') expected_df = pd.concat((pd.read_csv(file1), pd.read_csv(file2))) assert expected_df.equals(df) def test_to_dask(intake_server): catalog = open_catalog(intake_server) d = catalog.entry1 df = d.to_dask() assert df.npartitions == 2 def test_remote_env(intake_server): import os os.environ['INTAKE_TEST'] = 'client' catalog = open_catalog(intake_server) catalog.remote_env with pytest.raises(Exception) as e: catalog.remote_env.read() with pytest.raises(Exception) as e: catalog.local_env assert 'path-client' in str(e.value) # prevents *client* from getting env catalog = open_catalog(intake_server, getenv=False) with pytest.raises(Exception) as e: catalog.local_env assert 'INTAKE_TEST' in str(e.value) def test_remote_sequence(intake_server): import glob d = os.path.dirname(TEST_CATALOG_PATH) catalog = open_catalog(intake_server) assert 'text' in catalog s = catalog.text() s.discover() assert s.npartitions == len(glob.glob(os.path.join(d, '*.yml'))) assert s.read_partition(0) assert s.read() def test_remote_arr(intake_server): catalog = open_catalog(intake_server) assert 'arr' in catalog s = catalog.arr() s.discover() assert 'remote-array' in s.to_dask().name assert s.npartitions == 2 assert s.read_partition(0).ravel().tolist() == list(range(50)) assert s.read().ravel().tolist() == list(range(100)) def test_pagination(intake_server): PAGE_SIZE = 2 catalog = open_catalog(intake_server, page_size=PAGE_SIZE) assert len(catalog._entries._page_cache) == 0 assert len(catalog._entries._direct_lookup_cache) == 0 # Trigger fetching one specific name. catalog['arr'] assert len(catalog._entries._page_cache) == 0 assert len(catalog._entries._direct_lookup_cache) == 1 # Using `in` on a Catalog should not iterate. 'arr' in catalog assert len(catalog._entries._page_cache) == 0 assert len(catalog._entries._direct_lookup_cache) == 1 # Trigger fetching just one full page. list(zip(range(PAGE_SIZE), catalog)) assert len(catalog._entries._page_cache) == PAGE_SIZE assert len(catalog._entries._direct_lookup_cache) == 1 # Trigger fetching all pages by list-ifying. list(catalog) assert len(catalog._entries._page_cache) > PAGE_SIZE assert len(catalog._entries._direct_lookup_cache) == 1 # Now direct lookup by name should be free because everything is cached. catalog['text'] assert len(catalog._entries._direct_lookup_cache) == 1 def test_dir(intake_server): PAGE_SIZE = 2 catalog = open_catalog(intake_server, page_size=PAGE_SIZE) assert len(catalog._entries._page_cache) == 0 assert len(catalog._entries._direct_lookup_cache) == 0 assert not catalog._entries.complete with pytest.warns(UserWarning, match="Tab-complete"): key_completions = catalog._ipython_key_completions_() with pytest.warns(UserWarning, match="Tab-complete"): dir_ = dir(catalog) # __dir__ triggers loading the first page. assert len(catalog._entries._page_cache) == 2 assert len(catalog._entries._direct_lookup_cache) == 0 assert not catalog._entries.complete assert set(key_completions) == set(['use_example1', 'nested']) assert 'metadata' in dir_ # a normal attribute assert 'use_example1' in dir_ # an entry from the first page assert 'arr' not in dir_ # an entry we haven't cached yet # Trigger fetching one specific name. catalog['arr'] with pytest.warns(UserWarning, match="Tab-complete"): dir_ = dir(catalog) with pytest.warns(UserWarning, match="Tab-complete"): key_completions = catalog._ipython_key_completions_() assert 'metadata' in dir_ assert 'arr' in dir_ # an entry cached via direct access assert 'arr' in key_completions # Load everything. list(catalog) assert catalog._entries.complete with pytest.warns(None) as record: assert set(catalog) == set(catalog._ipython_key_completions_()) assert set(catalog).issubset(set(dir(catalog))) assert len(record) == 0 # Load without pagination (with also loads everything). catalog = open_catalog(intake_server, page_size=None) assert catalog._entries.complete with pytest.warns(None) as record: assert set(catalog) == set(catalog._ipython_key_completions_()) assert set(catalog).issubset(set(dir(catalog))) assert len(record) == 0 def test_getitem_and_getattr(intake_server): catalog = open_catalog(intake_server) catalog['arr'] with pytest.raises(KeyError): catalog['doesnotexist'] with pytest.raises(KeyError): catalog['_doesnotexist'] with pytest.raises(KeyError): # This exists as an *attribute* but not as an item. catalog['metadata'] catalog.arr # alias to catalog['arr'] catalog.metadata # a normal attribute with pytest.raises(AttributeError): catalog.doesnotexit with pytest.raises(AttributeError): catalog._doesnotexit assert catalog.arr.describe() == catalog['arr'].describe() assert "RemoteArray" in catalog.arr.classname assert isinstance(catalog.metadata, (dict, type(None))) def test_search(intake_server): remote_catalog = open_catalog(intake_server) local_catalog = open_catalog(TEST_CATALOG_PATH) # Basic example remote_results = remote_catalog.search('entry1') local_results = local_catalog.search('entry1') expected = ['nested.entry1', 'nested.entry1_part', 'entry1', 'entry1_part'] assert isinstance(remote_results, RemoteCatalog) assert list(local_results) == list(remote_results) == expected # Progressive search remote_results = remote_catalog.search('entry1').search('part') local_results = local_catalog.search('entry1').search('part') expected = ['nested.entry1_part', 'entry1_part'] assert isinstance(remote_results, RemoteCatalog) assert list(local_results) == list(remote_results) == expected # Double progressive search remote_results = (remote_catalog .search('entry1') .search('part') .search('part')) local_results = (local_catalog .search('entry1') .search('part') .search('part')) expected = ['nested.entry1_part', 'entry1_part'] assert isinstance(remote_results, RemoteCatalog) assert list(local_results) == list(remote_results) == expected # Search on a nested Catalog. remote_results = remote_catalog['nested'].search('entry1') local_results = local_catalog['nested'].search('entry1') expected = ['nested.entry1', 'nested.entry1_part', 'entry1', 'entry1_part'] assert isinstance(remote_results, RemoteCatalog) assert list(local_results) == list(remote_results) == expected # Search with empty results set remote_results = remote_catalog.search('DOES NOT EXIST') local_results = local_catalog.search('DOES NOT EXIST') expected = [] assert isinstance(remote_results, RemoteCatalog) assert list(local_results) == list(remote_results) == expected def test_access_subcatalog(intake_server): catalog = open_catalog(intake_server) catalog['nested'] def test_len(intake_server): remote_catalog = open_catalog(intake_server) local_catalog = open_catalog(TEST_CATALOG_PATH) assert sum(1 for entry in local_catalog) == len(remote_catalog) def test_datetime(intake_server): catalog = open_catalog(intake_server) info = catalog["datetime"].describe() catalog['datetime'].parameters['time'] == pd.Timestamp("1970") intake-0.6.5/intake/catalog/tests/test_utils.py000066400000000000000000000037061416666122400216130ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import pytest import intake.catalog.utils as utils import pandas as pd def test_expand_templates(): pars = {'a': "{{par}} hi"} context = {'b': 1, 'par': 'ho'} assert utils.expand_templates(pars, context)['a'] == 'ho hi' assert utils.expand_templates(pars, context, True)[1] == {'b'} def test_expand_nested_template(): pars = {'a': ["{{par}} hi"]} context = {'b': 1, 'par': 'ho'} assert utils.expand_templates(pars, context)['a'] == ['ho hi'] assert utils.expand_templates(pars, context, True)[1] == {'b'} pars = {'a': {'k': {("{{par}} hi", )}}} context = {'b': 1, 'par': 'ho'} assert utils.expand_templates(pars, context)['a'] == {'k': {("ho hi", )}} assert utils.expand_templates(pars, context, True)[1] == {'b'} @pytest.mark.parametrize("test_input,expected", [ (None, pd.Timestamp('1970-01-01 00:00:00')), (1, pd.Timestamp('1970-01-01 00:00:00.000000001')), ("1988-02-24T13:37+0100", pd.Timestamp("1988-02-24 13:37+0100")), ({"__datetime__": True, "as_str": "1988-02-24T13:37+0100"}, pd.Timestamp("1988-02-24T13:37+0100")), ]) def test_coerce_datetime(test_input, expected): assert utils.coerce_datetime(test_input) == expected def test_flatten(): assert list(utils.flatten([["hi"], ["oi"]])) == ['hi', 'oi'] @pytest.mark.parametrize( "value,dtype,expected", [ (1, "int", 1), ("1", "int", 1), (1, "str", "1"), ((), "list", []), ((1, ), "list", [1]), ((1, ), "list[str]", ["1"]) ], ) def test_coerce(value, dtype, expected): out = utils.coerce(dtype, value) assert out == expected assert type(out) == type(expected) intake-0.6.5/intake/catalog/tests/test_zarr.py000066400000000000000000000124231416666122400214250ustar00rootroot00000000000000import tempfile import shutil import os import pytest from intake.catalog.zarr import ZarrGroupCatalog from intake.catalog.local import LocalCatalogEntry from intake import open_catalog from intake.source.zarr import ZarrArraySource from .util import assert_items_equal zarr = pytest.importorskip('zarr') @pytest.fixture def temp_zarr(): zarr_path = tempfile.mkdtemp() # setup a zarr hierarchy stored on local file system store = zarr.DirectoryStore(zarr_path) root = zarr.open_group(store=store, mode='w') root.attrs['title'] = 'root group' root.attrs['description'] = 'a test hierarchy' root.create_group('foo') root['foo'].attrs['title'] = 'foo group' root['foo'].attrs['description'] = 'a test group' root.create_group('bar') root.create_dataset('baz', shape=100, dtype='i4') root['baz'].attrs['title'] = 'baz array' root['baz'].attrs['description'] = 'a test array' root['bar'].create_group('spam') root['bar'].create_dataset('eggs', shape=10, dtype='f4') zarr.consolidate_metadata(store=store) # setup a local YAML file catalog including entries pointing to the zarr # hierarchy yaml_path = tempfile.mkdtemp() catalog_file = os.path.join(yaml_path, 'catalog.yml') with open(catalog_file, 'w') as f: f.write(""" sources: root: driver: zarr_cat args: urlpath: {zarr_path} consolidated: True bar: driver: zarr_cat args: urlpath: {zarr_path} component: bar eggs: driver: ndzarr args: urlpath: {zarr_path} component: bar/eggs """.format(zarr_path=zarr_path)) yield zarr_path, store, root, catalog_file shutil.rmtree(zarr_path) shutil.rmtree(yaml_path) @pytest.mark.parametrize('consolidated', [False, True]) def test_zarr_catalog(temp_zarr, consolidated): import dask.array as da path, store, root, _ = temp_zarr # test zarr catalog opened directly, with different urlpath argument types for urlpath in path, store, root: # open catalog cat = ZarrGroupCatalog(urlpath=urlpath, consolidated=consolidated) assert isinstance(cat, ZarrGroupCatalog) assert 'catalog' == cat.container # check entries assert_items_equal(['foo', 'bar', 'baz'], list(cat)) assert isinstance(cat['foo'], ZarrGroupCatalog) assert 'catalog' == cat['foo'].describe()['container'] assert isinstance(cat['bar'], ZarrGroupCatalog) assert 'catalog' == cat['bar'].describe()['container'] assert isinstance(cat['baz'], ZarrArraySource) assert 'ndarray' == cat['baz'].describe()['container'] # check metadata from attributes assert 'root group' == cat.metadata['title'] assert 'a test hierarchy' == cat.metadata['description'] assert 'foo group' == cat['foo'].metadata['title'] assert 'a test group' == cat['foo'].metadata['description'] # no attributes assert 'title' not in cat['bar'].metadata assert 'description' not in cat['bar'].metadata # check nested catalogs assert_items_equal(['spam', 'eggs'], list(cat['bar'])) assert isinstance(cat['bar']['spam'], ZarrGroupCatalog) assert 'catalog' == cat['bar']['spam'].describe()['container'] assert isinstance(cat['bar']['eggs'], ZarrArraySource) assert 'ndarray' == cat['bar']['eggs'].describe()['container'] # check obtain zarr groups assert isinstance(cat.to_zarr(), zarr.hierarchy.Group) assert isinstance(cat['foo'].to_zarr(), zarr.hierarchy.Group) assert isinstance(cat['bar'].to_zarr(), zarr.hierarchy.Group) assert isinstance(cat['bar']['spam'].to_zarr(), zarr.hierarchy.Group) # check obtain dask arrays assert isinstance(cat['baz'].to_dask(), da.Array) assert isinstance(cat['bar']['eggs'].to_dask(), da.Array) # open catalog directly from subgroup via `component` arg cat = ZarrGroupCatalog(urlpath, component='bar') assert_items_equal(['spam', 'eggs'], list(cat)) assert isinstance(cat['spam'], ZarrGroupCatalog) assert 'catalog' == cat['spam'].describe()['container'] assert isinstance(cat['eggs'], ZarrArraySource) assert 'ndarray' == cat['eggs'].describe()['container'] def test_zarr_entries_in_yaml_catalog(temp_zarr): import dask.array as da # open YAML catalog file _, _, _, catalog_file = temp_zarr cat = open_catalog(catalog_file) # test entries assert_items_equal(['root', 'bar', 'eggs'], list(cat)) # entry pointing to zarr root group assert isinstance(cat['root'], ZarrGroupCatalog) assert_items_equal(['foo', 'bar', 'baz'], list(cat['root'])) assert 'catalog' == cat['root'].describe()['container'] assert isinstance(cat['root'].to_zarr(), zarr.hierarchy.Group) # entry pointing to zarr sub-group assert isinstance(cat['bar'], ZarrGroupCatalog) assert_items_equal(['spam', 'eggs'], list(cat['bar'])) assert 'catalog' == cat['bar'].describe()['container'] assert isinstance(cat['bar'].to_zarr(), zarr.hierarchy.Group) # entry pointing to zarr array assert isinstance(cat['eggs'], ZarrArraySource) assert 'ndarray' == cat['eggs'].describe()['container'] assert isinstance(cat['eggs'].to_dask(), da.Array) intake-0.6.5/intake/catalog/tests/util.py000066400000000000000000000017641416666122400203730ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from intake.source import base, registry def assert_items_equal(a, b): assert len(a) == len(b) and sorted(a) == sorted(b) class TestingSource(base.DataSource): """A source that gives back whatever parameters were passed to it""" name = 'test' version = '0.0.1' container = 'python' partition_access = False def __init__(self, *args, **kwargs): self.args = args self.kwargs = kwargs super(TestingSource, self).__init__('python') self.npartitions = 1 def _load_metadata(self): pass def _get_partition(self, _): return self.args, self.kwargs def register(): registry['test'] = TestingSource intake-0.6.5/intake/catalog/utils.py000066400000000000000000000257041416666122400174140ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import ast from collections.abc import Iterable import functools import itertools from jinja2 import Environment, meta, Undefined import os import re import shlex import subprocess import sys def flatten(iterable): """Flatten an arbitrarily deep list""" # likely not used iterable = iter(iterable) while True: try: item = next(iterable) except StopIteration: break if isinstance(item, str): yield item continue try: data = iter(item) iterable = itertools.chain(data, iterable) except: yield item def reload_on_change(f): @functools.wraps(f) def wrapper(self, *args, **kwargs): self.reload() return f(self, *args, **kwargs) return wrapper def clamp(value, lower=0, upper=sys.maxsize): """Clamp float between given range""" return max(lower, min(upper, value)) def _j_getenv(x, default=""): if isinstance(x, Undefined): x = x._undefined_name if isinstance(default, Undefined): default = default._undefined_name return os.getenv(x, default) def _j_getshell(x): if isinstance(x, Undefined): x = x._undefined_name try: return subprocess.check_output(x).decode() except (IOError, OSError): return "" def _j_passthrough(x, funcname): if isinstance(x, Undefined): x = x._undefined_name return "{{%s(%s)}}" % (funcname, x) def _expand(p, context, all_vars, client, getenv, getshell): if isinstance(p, dict): return {k: _expand(v, context, all_vars, client, getenv, getshell) for k, v in p.items()} elif isinstance(p, (list, tuple, set)): return type(p)(_expand(v, context, all_vars, client, getenv, getshell) for v in p) elif isinstance(p, str): jinja = Environment() if getenv and not client: jinja.globals['env'] = _j_getenv else: jinja.globals['env'] = lambda x: _j_passthrough(x, funcname='env') if getenv and client: jinja.globals['client_env'] = _j_getenv else: jinja.globals['client_env'] = lambda x: _j_passthrough(x, funcname='client_env') if getshell and not client: jinja.globals['shell'] = _j_getshell else: jinja.globals['shell'] = lambda x: _j_passthrough(x, funcname='shell') if getshell and client: jinja.globals['client_shell'] = _j_getshell else: jinja.globals['client_shell'] = lambda x: _j_passthrough(x, funcname='client_shell') ast = jinja.parse(p) all_vars -= meta.find_undeclared_variables(ast) return jinja.from_string(p).render(context) else: # no expansion return p def expand_templates(pars, context, return_left=False, client=False, getenv=True, getshell=True): """ Render variables in context into the set of parameters with jinja2. For variables that are not strings, nothing happens. Parameters ---------- pars: dict values are strings containing some jinja2 controls context: dict values to use while rendering return_left: bool whether to return the set of variables in context that were not used in rendering parameters Returns ------- dict with the same keys as ``pars``, but updated values; optionally also return set of unused parameter names. """ all_vars = set(context) out = _expand(pars, context, all_vars, client, getenv, getshell) if return_left: return out, all_vars return out def expand_defaults(default, client=False, getenv=True, getshell=True): """Compile env, client_env, shell and client_shell commands Execution rules: - env() and shell() execute where the cat is loaded, if getenv and getshell are True, respectively - client_env() and client_shell() execute only if client is True and getenv/getshell are also True. If both getenv and getshell are False, this method does nothing. If the environment variable is missing or the shell command fails, the output is an empty string. """ r = re.match(r'env\((.*),?(.*)\)', default) if r and not client and getenv: gs = r.groups() default = os.environ.get(gs[0], gs[1] if len(gs) > 1 else "") r = re.match(r'client_env\((.*)\)', default) if r and client and getenv: default = os.environ.get(r.groups()[0], '') r = re.match(r'shell\((.*)\)', default) if r and not client and getshell: try: cmd = shlex.split(r.groups()[0]) default = subprocess.check_output( cmd).rstrip().decode('utf8') except (subprocess.CalledProcessError, OSError): default = '' r = re.match(r'client_shell\((.*)\)', default) if r and client and getshell: try: cmd = shlex.split(r.groups()[0]) default = subprocess.check_output( cmd).rstrip().decode('utf8') except (subprocess.CalledProcessError, OSError): default = '' return default def merge_pars(params, user_inputs, spec_pars, client=False, getenv=True, getshell=True): """Produce open arguments by merging various inputs This function is called in the context of a catalog entry, when finalising the arguments for instantiating the corresponding data source. The three sets of inputs to be considered are: - the arguments section of the original spec (params) - UserParameters associated with the entry (spec_pars) - explicit arguments provided at instantiation time, like entry(arg=value) (user_inputs) Both spec_pars and user_inputs can be considered as template variables and used in expanding string values in params. The default value of a spec_par, if given, may have embedded env and shell functions, which will be evaluated before use, if the default is used and the corresponding getenv/getsgell are set. Similarly, string value params will also have access to these functions within jinja template groups, as well as full jinja processing. Where a key exists in both the spec_pars and the user_inputs, the user_input wins. Where user_inputs contains keys not seen elsewhere, they are regarded as extra kwargs to pass to the data source. Where spec pars have the same name as keys in params, their type, max/min and allowed fields are used to validate the final values of the corresponding arguments. Parameters ---------- params : dict From the entry's original spec user_inputs : dict Provided by the user/calling function spec_pars : list of UserParameters Default and validation instances client : bool Whether this is all running on a client to a remote server - sets which of the env/shell functions are in operation. getenv : bool Whether to allow pulling environment variables. If False, the template blocks will pass through unevaluated getshell : bool Whether or not to allow executing of shell commands. If False, the template blocks will pass through unevaluated Returns ------- Final parameter dict """ context = params.copy() for par in spec_pars: val = user_inputs.get(par.name, par.default) if val is not None: if isinstance(val, str): val = expand_defaults(val, getenv=getenv, getshell=getshell, client=client) context[par.name] = par.validate(val) context.update({k: v for k, v in user_inputs.items() if k not in context}) out, left = expand_templates(params, context, True, client, getenv, getshell) context = {k: v for k, v in context.items() if k in left} for par in spec_pars: if par.name in context: # coerces to type context[par.name] = par.validate(context[par.name]) left.remove(par.name) params.update(out) user_inputs = expand_templates(user_inputs, context, False, client, getenv, getshell) params.update({k: v for k, v in user_inputs.items() if k in left}) params.pop('CATALOG_DIR', None) for k, v in params.copy().items(): # final validation/coersion for sp in [p for p in spec_pars if p.name == k]: params[k] = sp.validate(params[k]) return params def coerce_datetime(v=None): import pandas if not v: v = 0 try: iter(v) except TypeError: # not iterable pass else: if "__datetime__" in v: v = v["as_str"] return pandas.to_datetime(v) COERCION_RULES = { 'bool': bool, 'datetime': coerce_datetime, 'dict': dict, 'float': float, 'tuple': tuple, 'mlist': list, 'int': int, 'list': list, 'str': str, 'unicode': str, 'other': lambda x: x } def coerce(dtype, value): """ Convert a value to a specific type. If the value is already the given type, then the original value is returned. If the value is None, then the default value given by the type constructor is returned. Otherwise, the type constructor converts and returns the value. """ if "[" in dtype: dtype, inner = dtype.split("[") inner = inner.rstrip("]") else: inner = None if dtype is None: return value if type(value).__name__ == dtype: return value if dtype == "mlist": if isinstance(value, (tuple, set, dict)): return list(value) if isinstance(value, str): try: value = ast.literal_eval(value) return list(value) except ValueError as e: raise ValueError("Failed to coerce string to list") from e return value op = COERCION_RULES[dtype] out = op() if value is None else op(value) if isinstance(out, dict) and inner is not None: # TODO: recurse into coerce here, to allow list[list[str]] and such? out = {k: COERCION_RULES[inner](v) for k, v in out.items()} if isinstance(out, (tuple, list, set)) and inner is not None: out = op(COERCION_RULES[inner](v) for v in out) return out class RemoteCatalogError(Exception): pass def _has_catalog_dir(args): """Check is any value in args dict needs CATALOG_DIR variable""" env = Environment() for k, arg in args.items(): parsed_content = env.parse(arg) vars = meta.find_undeclared_variables(parsed_content) if 'CATALOG_DIR' in vars: return True return False intake-0.6.5/intake/catalog/zarr.py000066400000000000000000000065541416666122400172340ustar00rootroot00000000000000from .base import Catalog from .local import LocalCatalogEntry from ..source import register_driver class ZarrGroupCatalog(Catalog): """A catalog of the members of a Zarr group.""" version = '0.0.1' container = 'catalog' partition_access = None name = 'zarr_cat' def __init__(self, urlpath, storage_options=None, component=None, metadata=None, consolidated=False, name=None): """ Parameters ---------- urlpath : str Location of data file(s), possibly including protocol information storage_options : dict, optional Passed on to storage backend for remote files component : str, optional If None, build a catalog from the root group. If given, build the catalog from the group at this location in the hierarchy. metadata : dict, optional Catalog metadata. If not provided, will be populated from Zarr group attributes. consolidated : bool, optional If True, assume Zarr metadata has been consolidated. """ self._urlpath = urlpath self._storage_options = storage_options or {} self._component = component self._consolidated = consolidated self._grp = None self.name = name super().__init__(metadata=metadata) def _load(self): import zarr if self._grp is None: # obtain the zarr root group if isinstance(self._urlpath, zarr.hierarchy.Group): # use already-opened group, allows support for nested groups # as catalogs root = self._urlpath else: # obtain store if isinstance(self._urlpath, str): # open store from url from fsspec import get_mapper store = get_mapper(self._urlpath, **self._storage_options) else: # assume store passed directly store = self._urlpath # open root group if self._consolidated: # use consolidated metadata root = zarr.open_consolidated(store=store, mode='r') else: root = zarr.open_group(store=store, mode='r') # deal with component path if self._component is None: self._grp = root else: self._grp = root[self._component] # use zarr attributes as metadata self.metadata.update(self._grp.attrs.asdict()) # build catalog entries entries = {} for k, v in self._grp.items(): if isinstance(v, zarr.core.Array): entry = LocalCatalogEntry(name=k, description='', driver='ndzarr', args=dict(urlpath=v), catalog=self) else: entry = LocalCatalogEntry(name=k, description='', driver='zarr_cat', args=dict(urlpath=v)) entries[k] = entry self._entries = entries def to_zarr(self): return self._grp intake-0.6.5/intake/cli/000077500000000000000000000000001416666122400150275ustar00rootroot00000000000000intake-0.6.5/intake/cli/__init__.py000066400000000000000000000006641416666122400171460ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os if os.getenv("COVERAGE_PROCESS_START", False): import coverage coverage.process_startup() intake-0.6.5/intake/cli/bootstrap.py000066400000000000000000000041051416666122400174160ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- ''' Provide a ``main`` function to run intake commands. ''' import logging log = logging.getLogger(__name__) #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- # Standard library imports import argparse # External imports # Intake imports from intake import __version__ from intake.cli.util import die, nice_join #----------------------------------------------------------------------------- # API #----------------------------------------------------------------------------- def main(description, subcommands, argv): ''' Execute an intake command. Args: description (str) : A description for this top-level command subcommands (seq[SubCommand]) : A list of subcommands to configure for argparse argv (seq[str]) : A list of command line arguments to process Returns: None ''' if len(argv) == 1: die("ERROR: Must specify subcommand, one of: %s" % nice_join(x.name for x in subcommands)) parser = argparse.ArgumentParser( prog=argv[0], description=description, epilog="See ' --help' to read about a specific subcommand.") parser.add_argument('-v', '--version', action='version', version=__version__) subs = parser.add_subparsers(help="Sub-commands") for cls in subcommands: subparser = subs.add_parser(cls.name, help=cls.__doc__.strip()) subcommand = cls(parser=subparser) subparser.set_defaults(invoke=subcommand.invoke) args = parser.parse_args(argv[1:]) try: return args.invoke(args) or 0 # convert None to 0 except Exception as e: die("ERROR: " + repr(e)) intake-0.6.5/intake/cli/client/000077500000000000000000000000001416666122400163055ustar00rootroot00000000000000intake-0.6.5/intake/cli/client/__init__.py000066400000000000000000000005061416666122400204170ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- intake-0.6.5/intake/cli/client/__main__.py000066400000000000000000000020671416666122400204040ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #---------------------------------------------------------------------------- #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- # Standard library imports import sys # External imports # Intake imports from . import subcommands import logging log = logging.getLogger('intake') #----------------------------------------------------------------------------- # API #----------------------------------------------------------------------------- def main(argv=None): """ Execute the "intake" command line program. """ from intake.cli.bootstrap import main as _main return _main('Intake Catalog CLI', subcommands.all, argv or sys.argv) if __name__ == "__main__": sys.exit(main(sys.argv)) intake-0.6.5/intake/cli/client/subcommands/000077500000000000000000000000001416666122400206205ustar00rootroot00000000000000intake-0.6.5/intake/cli/client/subcommands/__init__.py000066400000000000000000000013311416666122400227270ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from .cache import Cache from .config import Config from .describe import Describe from .discover import Discover from .example import Example from .exists import Exists from .get import Get from .info import Info from .list import List from .precache import Precache from .drivers import Drivers all = (Cache, Config, Describe, Discover, Example, Exists, Get, Info, List, Precache, Drivers) intake-0.6.5/intake/cli/client/subcommands/cache.py000066400000000000000000000051661416666122400222450ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import yaml from intake.cli.util import Subcommand import logging log = logging.getLogger(__name__) class Cache(Subcommand): """ Locally cached files """ name = "cache" def initialize(self): sub_parser = self.parser.add_subparsers() cache_list = sub_parser.add_parser('list-keys', help='List keys currently stored') cache_list.set_defaults(invoke=self._list_keys) cache_files = sub_parser.add_parser('list-files', help='List files for a give key') cache_files.add_argument('key', type=str, help='Key to list files for') cache_files.set_defaults(invoke=self._list_files) cache_rm = sub_parser.add_parser('clear', help='Clear a key from the cache') cache_rm.add_argument('key', type=str, help='Key to remove (all, if omitted)', nargs='?') cache_rm.set_defaults(invoke=self._clear) cache_du = sub_parser.add_parser('usage', help='Print usage information') cache_du.set_defaults(invoke=self._usage) def invoke(self, args): self.parser.print_help() def _clear(self, args): from intake.source.cache import BaseCache if args.key is None: BaseCache(None, None).clear_all() else: BaseCache(None, None).clear_cache(args.key) def _list_keys(self, args): from intake.source.cache import CacheMetadata md = CacheMetadata() print(yaml.dump(list(md), default_flow_style=False)) def _list_files(self, args): from intake.source.cache import CacheMetadata md = CacheMetadata() print(yaml.dump(md[args.key], default_flow_style=False)) def _usage(self, args): from intake.config import conf total_size = 0 for dirpath, dirnames, filenames in os.walk( os.path.join(conf['cache_dir'], 'cache')): for f in filenames: fp = os.path.join(dirpath, f) total_size += os.path.getsize(fp) for unit in ['', 'k', 'M', 'G', 'T', 'P', 'E', 'Z']: # "human" # https://gist.github.com/cbwar/d2dfbc19b140bd599daccbe0fe925597 if abs(total_size) < 1024.0: s = "%3.1f %s" % (total_size, unit) break total_size /= 1024.0 print("%s: %s" % (conf['cache_dir'], s)) intake-0.6.5/intake/cli/client/subcommands/config.py000066400000000000000000000050621416666122400224420ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- ''' ''' import logging log = logging.getLogger(__name__) #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- # Standard library imports import os # External imports import yaml # Intake imports from intake.cli.util import Subcommand #----------------------------------------------------------------------------- # API #----------------------------------------------------------------------------- class Config(Subcommand): ''' Configuration functions ''' name = "config" def initialize(self): sub_parser = self.parser.add_subparsers() list = sub_parser.add_parser('list-defaults', help='Show all builtin defaults') list.set_defaults(invoke=self._list_defaults) conf_reset = sub_parser.add_parser('reset', help='Set config file to defaults') conf_reset.set_defaults(invoke=self._reset) conf_info = sub_parser.add_parser('info', help='Show config settings') conf_info.set_defaults(invoke=self._info) conf_get = sub_parser.add_parser('get', help='Get current config, specific key or all') conf_get.add_argument('key', type=str, help='Key in config dictionary', nargs='?') conf_get.set_defaults(invoke=self._get) def invoke(self, args): self.parser.print_help() def _get(self, args): from intake.config import conf if args.key: print(conf[args.key]) else: print(yaml.dump(conf, default_flow_style=False)) def _info(self, args): from intake.config import cfile if 'INTAKE_CONF_DIR' in os.environ: print('INTAKE_CONF_DIR: ', os.environ['INTAKE_CONF_DIR']) if 'INTAKE_CONF_FILE' in os.environ: print('INTAKE_CONF_FILE: ', os.environ['INTAKE_CONF_FILE']) ex = "" if os.path.isfile(cfile()) else "(does not exist)" print('Using: ', cfile(), ex) def _list_defaults(self, args): from intake.config import defaults print(yaml.dump(defaults, default_flow_style=False)) def _reset(self, args): from intake.config import reset_conf, save_conf reset_conf() save_conf() intake-0.6.5/intake/cli/client/subcommands/describe.py000066400000000000000000000024041416666122400227520ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- ''' ''' import logging log = logging.getLogger(__name__) #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- # Standard library imports # External imports # Intake imports from intake import open_catalog from intake.cli.util import print_entry_info, Subcommand #----------------------------------------------------------------------------- # API #----------------------------------------------------------------------------- class Describe(Subcommand): ''' Describe a catalog entry. ''' name = "describe" def initialize(self): self.parser.add_argument('uri', metavar='URI', type=str, help='Catalog URI') self.parser.add_argument('name', metavar='NAME', type=str, help='Catalog name') def invoke(self, args): catalog = open_catalog(args.uri) print_entry_info(catalog, args.name) intake-0.6.5/intake/cli/client/subcommands/discover.py000066400000000000000000000024121416666122400230070ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- ''' ''' import logging log = logging.getLogger(__name__) #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- # Standard library imports # External imports # Intake imports from intake import open_catalog from intake.cli.util import Subcommand #----------------------------------------------------------------------------- # API #----------------------------------------------------------------------------- class Discover(Subcommand): ''' Discover a catalog entry ''' name = "discover" def initialize(self): self.parser.add_argument('uri', metavar='URI', type=str, help='Catalog URI') self.parser.add_argument('name', metavar='NAME', type=str, help='Catalog name') def invoke(self, args): catalog = open_catalog(args.uri) with catalog[args.name] as f: print(f.discover()) intake-0.6.5/intake/cli/client/subcommands/drivers.py000066400000000000000000000100201416666122400226410ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- """ CLI for listing, enabling, disabling intake drivers """ # ----------------------------------------------------------------------------- # Imports # ----------------------------------------------------------------------------- # Standard library imports import inspect import sys # External imports # Intake imports from intake import __version__ from intake.cli.util import Subcommand from intake.source.discovery import autodiscover, autodiscover_all, enable, disable from intake.config import confdir import intake import logging log = logging.getLogger(__name__) # ----------------------------------------------------------------------------- # API # ----------------------------------------------------------------------------- class Drivers(Subcommand): """ List, enable, and disable intake drivers. """ name = "drivers" def initialize(self): sub_parser = self.parser.add_subparsers() list = sub_parser.add_parser( 'list', help='Show all intake drivers, whether enabled, disabled, ' 'or directly inserted into the registry' ) list.add_argument( '-v', '--verbose', action='store_true', help='Show module path.') list.set_defaults(invoke=self._list) enable = sub_parser.add_parser('enable', help='Enable an intake driver.') enable.add_argument('name', type=str, help='Driver name') enable.add_argument('driver', type=str, help='Module path and class name, as in ' 'package.submodule.ClassName') enable.set_defaults(invoke=self._enable) disable = sub_parser.add_parser( 'disable', help='Disable one or more intake drivers.') disable.add_argument('names', type=str, help='Driver names', nargs='+') disable.set_defaults(invoke=self._disable) def invoke(self, args): self.parser.print_help() def _list(self, args): if args.verbose: fmt = '{name:<30}{cls.__module__}.{cls.__name__} @ {file}' else: fmt = '{name:<30}{cls.__module__}.{cls.__name__}' drivers_by_name = autodiscover() # dict mapping name to driver all_drivers = autodiscover_all() # listof (name, driver) direct = {} for k in intake.registry: if k not in all_drivers and k not in drivers_by_name: try: direct[k] = intake.registry[k] except ImportError: pass print("Direct:", file=sys.stderr) none = True for name in sorted(direct, key=str): cls = direct[name] print(fmt.format(name=str(name), cls=cls, file=inspect.getfile(cls)), file=sys.stderr) none = False if none: print("") print("\nEnabled:", file=sys.stderr) none = True for name in sorted(drivers_by_name, key=str): cls = drivers_by_name[name] print(fmt.format(name=str(name), cls=cls, file=inspect.getfile(cls)), file=sys.stderr) none = False if none: print("") print("\nNot enabled:", file=sys.stderr) none = True for name, cls in sorted(all_drivers, key=lambda x: str(x[0])): if drivers_by_name.get(name, None) is not cls: print(fmt.format(name=str(name), cls=cls, file=inspect.getfile(cls)), file=sys.stderr) none = False if none: print("") def _enable(self, args): enable(args.name, args.driver) def _disable(self, args): for name in args.names: disable(name) intake-0.6.5/intake/cli/client/subcommands/example.py000066400000000000000000000035531416666122400226330ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- ''' ''' import logging log = logging.getLogger(__name__) #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- # Standard library imports from os.path import dirname, exists, join import os, shutil # External imports # Intake imports from intake.cli.util import Subcommand #----------------------------------------------------------------------------- # API #----------------------------------------------------------------------------- class Example(Subcommand): ''' Create example catalog ''' name = "example" def initialize(self): pass def invoke(self, args): print('Creating example catalog...') files = ['us_states.yml', 'states_1.csv', 'states_2.csv'] for filename in files: if exists(filename): print('Cannot create example catalog in current directory.\n' '%s already exists.' % filename) return 1 src_dir = join(dirname(__file__), '..', '..', 'sample') for filename in files: src_name = join(src_dir, filename) dest_name = filename dest_dir = dirname(filename) print(' Writing %s' % filename) if dest_dir != '' and not exists(dest_dir): os.mkdir(dest_dir) shutil.copyfile(src_name, dest_name) print('''\nTo load the catalog: >>> import intake >>> cat = intake.open_catalog('%s') ''' % files[0]) intake-0.6.5/intake/cli/client/subcommands/exists.py000066400000000000000000000023661416666122400225200ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- ''' ''' import logging log = logging.getLogger(__name__) #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- # Standard library imports # External imports # Intake imports from intake import open_catalog from intake.cli.util import Subcommand #----------------------------------------------------------------------------- # API #----------------------------------------------------------------------------- class Exists(Subcommand): ''' Check for the existence of a catalog entry ''' name = "exists" def initialize(self): self.parser.add_argument('uri', metavar='URI', type=str, help='Catalog URI') self.parser.add_argument('name', metavar='NAME', type=str, help='Catalog name') def invoke(self, args): catalog = open_catalog(args.uri) print(args.name in catalog) intake-0.6.5/intake/cli/client/subcommands/get.py000066400000000000000000000023671416666122400217610ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- ''' ''' import logging log = logging.getLogger(__name__) #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- # Standard library imports # External imports # Intake imports from intake import open_catalog from intake.cli.util import Subcommand #----------------------------------------------------------------------------- # API #----------------------------------------------------------------------------- class Get(Subcommand): ''' Get a catalog entry ''' name = "get" def initialize(self): self.parser.add_argument('uri', metavar='URI', type=str, help='Catalog URI') self.parser.add_argument('name', metavar='NAME', type=str, help='Catalog name') def invoke(self, args): catalog = open_catalog(args.uri) with catalog[args.name] as f: print(f.read()) intake-0.6.5/intake/cli/client/subcommands/info.py000066400000000000000000000034161416666122400221310ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- ''' ''' import logging log = logging.getLogger(__name__) #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- # Standard library imports from importlib import import_module import sys # External imports # Intake imports from intake import __version__ from intake.cli.util import Subcommand #----------------------------------------------------------------------------- # API #----------------------------------------------------------------------------- class Info(Subcommand): ''' Display runtime information related to Intake ''' name = "info" def initialize(self): pass def invoke(self, args): print("Python version : %s" % sys.version.split('\n')[0]) print("IPython version : %s" % _version_from_module('IPython')) print("Tornado version : %s" % _version_from_module('tornado', 'version')) print("Dask version : %s" % _version_from_module('dask')) print("Pandas version : %s" % _version_from_module('pandas')) print("Numpy version : %s" % _version_from_module('numpy')) print("Intake version : %s" % __version__) def _version_from_module(modname, version_attr="__version__"): try: mod = import_module(modname) return getattr(mod, version_attr) except ImportError: return "(not installed)" intake-0.6.5/intake/cli/client/subcommands/list.py000066400000000000000000000025201416666122400221440ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- ''' ''' import logging log = logging.getLogger(__name__) #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- # Standard library imports # External imports # Intake imports from intake import open_catalog from intake.cli.util import print_entry_info, Subcommand #----------------------------------------------------------------------------- # API #----------------------------------------------------------------------------- class List(Subcommand): ''' Show catalog listing ''' name = "list" def initialize(self): self.parser.add_argument('--full', action='store_true') self.parser.add_argument('uri', metavar='URI', type=str, help='Catalog URI') def invoke(self, args): catalog = open_catalog(args.uri) for entry in list(catalog): if args.full: print_entry_info(catalog, entry) else: print(entry) intake-0.6.5/intake/cli/client/subcommands/precache.py000066400000000000000000000026651416666122400227550ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- ''' ''' import logging log = logging.getLogger(__name__) #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- # Standard library imports # External imports # Intake imports from intake import open_catalog from intake.cli.util import Subcommand #----------------------------------------------------------------------------- # API #----------------------------------------------------------------------------- class Precache(Subcommand): ''' Populate caching for catalog entries that define caching. ''' name = "precache" def initialize(self): self.parser.add_argument('uri', metavar='URI', type=str, help='Catalog URI') def invoke(self, args): catalog = open_catalog(args.uri) for entry in list(catalog): try: s = catalog[entry] s.read() if s.cache: print("Caching for entry %s" % entry) except Exception as e: print("Skipping {} due to {}".format(entry, e)) intake-0.6.5/intake/cli/client/tests/000077500000000000000000000000001416666122400174475ustar00rootroot00000000000000intake-0.6.5/intake/cli/client/tests/__init__.py000066400000000000000000000005061416666122400215610ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- intake-0.6.5/intake/cli/client/tests/catalog1.yml000066400000000000000000000015601416666122400216670ustar00rootroot00000000000000plugins: source: - module: intake.catalog.tests.example1_source - module: intake.catalog.tests.example_plugin_dir.example2_source sources: use_example1: description: example1 source plugin driver: example1 args: {} entry1: description: entry1 full metadata: foo: 'bar' bar: [1, 2, 3] driver: csv # Default direct_access is "forbid" by default args: # passed to the open() method urlpath: '{{ CATALOG_DIR }}/entry1_*.csv' entry1_part: description: entry1 part parameters: # User defined parameters part: description: part of filename type: str default: "1" allowed: ["1", "2"] metadata: foo: 'baz' bar: [2, 4, 6] driver: csv direct_access: "allow" args: # passed to the open() method urlpath: '{{ CATALOG_DIR }}/entry1_{{ part }}.csv' intake-0.6.5/intake/cli/client/tests/entry1_1.csv000066400000000000000000000001031416666122400216200ustar00rootroot00000000000000name,score,rank Alice1,100.5,1 Bob1,50.3,2 Charlie1,25,3 Eve1,25,3 intake-0.6.5/intake/cli/client/tests/entry1_2.csv000066400000000000000000000001031416666122400216210ustar00rootroot00000000000000name,score,rank Alice2,100.5,1 Bob2,50.3,2 Charlie2,25,3 Eve2,25,3 intake-0.6.5/intake/cli/client/tests/test_cache.py000066400000000000000000000061201416666122400221220ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import intake import intake.config from intake.source.cache import CacheMetadata import os import pytest import subprocess import sys from intake.utils import make_path_posix cpath = make_path_posix( os.path.abspath( os.path.join(os.path.dirname(__file__), '..', '..', '..', 'catalog', 'tests', 'catalog_caching.yml'))) @pytest.mark.skipif(sys.version_info[0] == 2, reason="Py2 exists early on argparse") def test_help(temp_cache, env): out = subprocess.check_output(['intake', 'cache'], env=env, universal_newlines=True) assert out.startswith('usage: ') out2 = subprocess.check_output(['intake', 'cache', '-h'], env=env, universal_newlines=True) assert out2 == out def test_list_keys(temp_cache, env): out = subprocess.check_output(['intake', 'cache', 'list-keys'], env=env, universal_newlines=True) assert out.startswith('[]') # empty cache cat = intake.open_catalog(cpath) cat.test_cache.read() out = subprocess.check_output(['intake', 'cache', 'list-keys'], env=env, universal_newlines=True) assert 'states.csv' in out def test_precache(temp_cache, env): out = subprocess.check_output(['intake', 'cache', 'list-keys'], env=env, universal_newlines=True) assert out.startswith('[]') # empty cache out = subprocess.check_output(['intake', 'precache', cpath], env=env, universal_newlines=True) assert out.count('Caching for entry') > 1 out = subprocess.check_output(['intake', 'cache', 'list-keys'], env=env, universal_newlines=True) assert 'states.csv' in out assert 'small.npy' in out def test_clear_all(temp_cache, env): cat = intake.open_catalog(cpath) cat.test_cache.read() md = CacheMetadata() assert len(md) == 1 assert 'states' in list(md)[0] subprocess.call(['intake', 'cache', 'clear'], env=env) md = CacheMetadata() assert len(md) == 0 def test_clear_one(temp_cache, env): cat = intake.open_catalog(cpath) cat.test_cache.read() cat.arr_cache.read() md = CacheMetadata() keys = list(md) assert len(keys) == 2 subprocess.call(['intake', 'cache', 'clear', keys[0]], env=env) md = CacheMetadata() assert len(md) == 1 assert list(md)[0] == keys[1] def test_usage(temp_cache, env): from intake.source.cache import BaseCache BaseCache(None, None).clear_all() out = subprocess.check_output(['intake', 'cache', 'usage'], env=env, universal_newlines=True) assert '0.0' in out # empty! intake-0.6.5/intake/cli/client/tests/test_conf.py000066400000000000000000000045031416666122400220070ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import posixpath import subprocess def test_reset(env): subprocess.call(['intake', 'config', 'reset'], env=env, universal_newlines=True) confdir = env['INTAKE_CONF_DIR'] fn = posixpath.join(confdir, 'conf.yaml') assert os.path.isfile(fn) txt = open(fn).read() assert 'port: 5000' in txt def test_info(tempdir): # if envs is used, conf file will already exist env = os.environ.copy() env["INTAKE_CONF_DIR"] = confdir = tempdir out = subprocess.check_output(['intake', 'config', 'info'], env=env, universal_newlines=True) fn = posixpath.join(confdir, 'conf.yaml') assert fn in out assert 'INTAKE_CONF_DIR' in out assert 'INTAKE_CONF_FILE' not in out assert "(does not exist)" in out with open(fn, 'w') as f: f.write('port: 5000') out = subprocess.check_output(['intake', 'config', 'info'], env=env, universal_newlines=True) assert "(does not exist)" not in out def test_defaults(): out = subprocess.check_output(['intake', 'config', 'list-defaults'], universal_newlines=True) assert 'port: 5000' in out def test_get(env): confdir = env['INTAKE_CONF_DIR'] fn = posixpath.join(confdir, 'conf.yaml') with open(fn, 'w') as f: f.write('port: 5001') out = subprocess.check_output(['intake', 'config', 'get'], env=env, universal_newlines=True) assert 'port: 5001' in out out = subprocess.check_output(['intake', 'config', 'get', 'port'], env=env, universal_newlines=True) assert out.startswith('5001') def test_log_level(): env = os.environ.copy() env['INTAKE_LOG_LEVEL'] = 'DEBUG' out = subprocess.check_output(['intake', 'config', 'info'], stderr=subprocess.STDOUT, env=env, universal_newlines=True) assert "logger set to debug" in out intake-0.6.5/intake/cli/client/tests/test_local_integration.py000066400000000000000000000106201416666122400245540ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os.path import subprocess import tempfile import shutil import pytest from intake.util_tests import ex TEST_CATALOG_YAML = os.path.join(os.path.dirname(__file__), 'catalog1.yml') def test_list(): cmd = [ex, '-m', 'intake.cli.client', 'list', TEST_CATALOG_YAML] process = subprocess.Popen(cmd, stdout=subprocess.PIPE) out, _ = process.communicate() out = out.decode('utf-8') assert len(out.strip().split('\n')) == 3 assert "entry1" in out assert "entry1_part" in out assert "use_example1" in out def test_full_list(): cmd = [ex, '-m', 'intake.cli.client', 'list', '--full', TEST_CATALOG_YAML] process = subprocess.Popen(cmd, stdout=subprocess.PIPE) out, _ = process.communicate() out = out.decode('utf-8') assert "[entry1]" in out assert "[entry1_part]" in out assert "[use_example1]" in out def test_describe(): cmd = [ex, '-m', 'intake.cli.client', 'describe', TEST_CATALOG_YAML, 'entry1'] process = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) out, _ = process.communicate() expected = """\ [entry1] args={'urlpath': '{{ CATALOG_DIR }}/entry1_*.csv'} [entry1] container=dataframe [entry1] description=entry1 full [entry1] direct_access=forbid [entry1] driver=['csv'] [entry1] metadata={'foo': 'bar', 'bar': [1, 2, 3]} [entry1] name=entry1 [entry1] plugin=['csv'] [entry1] user_parameters=[] """ assert out == expected def test_exists_pass(): cmd = [ex, '-m', 'intake.cli.client', 'exists', TEST_CATALOG_YAML, 'entry1'] process = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) out, _ = process.communicate() assert out == "True\n" def test_exists_fail(): cmd = [ex, '-m', 'intake.cli.client', 'exists', TEST_CATALOG_YAML, 'entry2'] process = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) out, _ = process.communicate() assert out == "False\n" def test_discover(): cmd = [ex, '-m', 'intake.cli.client', 'discover', TEST_CATALOG_YAML, 'entry1'] process = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) out, _ = process.communicate() assert "'dtype':" in out assert "'metadata':" in out assert "'npartitions':" in out assert "'shape':" in out def test_get_pass(): cmd = [ex, '-m', 'intake.cli.client', 'get', TEST_CATALOG_YAML, 'entry1'] process = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) out, _ = process.communicate() assert 'Charlie1 25.0 3' in out assert 'Eve2 25.0 3' in out def test_get_fail(): cmd = [ex, '-m', 'intake.cli.client', 'get', TEST_CATALOG_YAML, 'entry2'] process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True) _, err = process.communicate() assert "KeyError('entry2'" in err @pytest.fixture def temp_current_working_directory(): prev_cwd = os.getcwd() dirname = tempfile.mkdtemp() os.chdir(dirname) yield dirname os.chdir(prev_cwd) shutil.rmtree(dirname) def test_example(temp_current_working_directory): cmd = [ex, '-m', 'intake.cli.client', 'example'] process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True) stdout, stderr = process.communicate() assert process.returncode == 0 assert os.path.exists('us_states.yml') assert os.path.exists('states_1.csv') assert os.path.exists('states_2.csv') # should fail second time due to existing files cmd = [ex, '-m', 'intake.cli.client', 'example'] process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True) _, err = process.communicate() assert process.returncode > 0 intake-0.6.5/intake/cli/sample/000077500000000000000000000000001416666122400163105ustar00rootroot00000000000000intake-0.6.5/intake/cli/sample/states_1.csv000066400000000000000000000346171416666122400205630ustar00rootroot00000000000000"state","slug","code","nickname","website","admission_date","admission_number","capital_city","capital_url","population","population_rank","constitution_url","state_flag_url","state_seal_url","map_image_url","landscape_background_url","skyline_background_url","twitter_url","facebook_url" "Alabama","alabama","AL","Yellowhammer State","http://www.alabama.gov","1819-12-14",22,"Montgomery","http://www.montgomeryal.gov",4833722,23,"http://alisondb.legislature.state.al.us/alison/default.aspx","https://cdn.civil.services/us-states/flags/alabama-large.png","https://cdn.civil.services/us-states/seals/alabama-large.png","https://cdn.civil.services/us-states/maps/alabama-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/alabama.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/alabama.jpg","https://twitter.com/alabamagov","https://www.facebook.com/alabamagov" "Alaska","alaska","AK","The Last Frontier","http://alaska.gov","1959-01-03",49,"Juneau","http://www.juneau.org",735132,47,"http://www.legis.state.ak.us/basis/folioproxy.asp?url=http://wwwjnu01.legis.state.ak.us/cgi-bin/folioisa.dll/acontxt/query=*/doc/{t1}?","https://cdn.civil.services/us-states/flags/alaska-large.png","https://cdn.civil.services/us-states/seals/alaska-large.png","https://cdn.civil.services/us-states/maps/alaska-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/alaska.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/alaska.jpg","https://twitter.com/alaska","https://www.facebook.com/AlaskaLocalGovernments" "Arizona","arizona","AZ","The Grand Canyon State","https://az.gov","1912-02-14",48,"Phoenix","https://www.phoenix.gov",6626624,15,"http://www.azleg.gov/Constitution.asp","https://cdn.civil.services/us-states/flags/arizona-large.png","https://cdn.civil.services/us-states/seals/arizona-large.png","https://cdn.civil.services/us-states/maps/arizona-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/arizona.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/arizona.jpg",, "Arkansas","arkansas","AR","The Natural State","http://arkansas.gov","1836-06-15",25,"Little Rock","http://www.littlerock.org",2959373,32,"http://www.arkleg.state.ar.us/assembly/Summary/ArkansasConstitution1874.pdf","https://cdn.civil.services/us-states/flags/arkansas-large.png","https://cdn.civil.services/us-states/seals/arkansas-large.png","https://cdn.civil.services/us-states/maps/arkansas-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/arkansas.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/arkansas.jpg","https://twitter.com/arkansasgov","https://www.facebook.com/Arkansas.gov" "California","california","CA","Golden State","http://www.ca.gov","1850-09-09",31,"Sacramento","http://www.cityofsacramento.org",38332521,1,"http://www.leginfo.ca.gov/const-toc.html","https://cdn.civil.services/us-states/flags/california-large.png","https://cdn.civil.services/us-states/seals/california-large.png","https://cdn.civil.services/us-states/maps/california-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/california.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/california.jpg","https://twitter.com/cagovernment", "Colorado","colorado","CO","The Centennial State","https://www.colorado.gov","1876-08-01",38,"Denver","http://www.denvergov.org",5268367,22,"https://www.colorado.gov/pacific/archives/government","https://cdn.civil.services/us-states/flags/colorado-large.png","https://cdn.civil.services/us-states/seals/colorado-large.png","https://cdn.civil.services/us-states/maps/colorado-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/colorado.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/colorado.jpg","https://twitter.com/coloradogov","https://www.facebook.com/Colorado.gov" "Connecticut","connecticut","CT","Constitution State","http://www.ct.gov","1788-01-09",5,"Hartford","http://www.hartford.gov",3596080,29,"http://www.ct.gov/sots/cwp/view.asp?a=3188&q=392288","https://cdn.civil.services/us-states/flags/connecticut-large.png","https://cdn.civil.services/us-states/seals/connecticut-large.png","https://cdn.civil.services/us-states/maps/connecticut-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/connecticut.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/connecticut.jpg",, "Delaware","delaware","DE","The First State / The Diamond State","http://delaware.gov","1787-12-07",1,"Dover","http://www.cityofdover.com",925749,45,"http://www.state.de.us/facts/constit/welcome.htm","https://cdn.civil.services/us-states/flags/delaware-large.png","https://cdn.civil.services/us-states/seals/delaware-large.png","https://cdn.civil.services/us-states/maps/delaware-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/delaware.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/delaware.jpg","https://twitter.com/delaware_gov","https://www.facebook.com/delaware.gov" "Florida","florida","FL","Sunshine State","http://www.myflorida.com","1845-03-03",27,"Tallahassee","https://www.talgov.com/Main/Home.aspx",19552860,4,"http://www.leg.state.fl.us/Statutes/index.cfm","https://cdn.civil.services/us-states/flags/florida-large.png","https://cdn.civil.services/us-states/seals/florida-large.png","https://cdn.civil.services/us-states/maps/florida-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/florida.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/florida.jpg",, "Georgia","georgia","GA","Peach State","http://georgia.gov","1788-01-02",4,"Atlanta","http://www.atlantaga.gov",9992167,8,"http://sos.ga.gov/admin/files/Constitution_2013_Final_Printed.pdf","https://cdn.civil.services/us-states/flags/georgia-large.png","https://cdn.civil.services/us-states/seals/georgia-large.png","https://cdn.civil.services/us-states/maps/georgia-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/georgia.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/georgia.jpg","http://twitter.com/georgiagov","http://www.facebook.com/pages/georgiagov/29760668054" "Hawaii","hawaii","HI","Aloha State","https://www.ehawaii.gov","1959-08-21",50,"Honolulu","http://www.co.honolulu.hi.us",1404054,40,"http://lrbhawaii.org/con","https://cdn.civil.services/us-states/flags/hawaii-large.png","https://cdn.civil.services/us-states/seals/hawaii-large.png","https://cdn.civil.services/us-states/maps/hawaii-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/hawaii.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/hawaii.jpg","https://twitter.com/ehawaiigov","https://www.facebook.com/ehawaii.gov" "Idaho","idaho","ID","Gem State","https://www.idaho.gov","1890-07-03",43,"Boise","http://www.cityofboise.org",1612136,39,"http://www.legislature.idaho.gov/idstat/IC/Title003.htm","https://cdn.civil.services/us-states/flags/idaho-large.png","https://cdn.civil.services/us-states/seals/idaho-large.png","https://cdn.civil.services/us-states/maps/idaho-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/idaho.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/idaho.jpg","https://twitter.com/IDAHOgov", "Illinois","illinois","IL","Prairie State","https://www.illinois.gov","1818-12-03",21,"Springfield","http://www.springfield.il.us",12882135,5,"http://www.ilga.gov/commission/lrb/conmain.htm","https://cdn.civil.services/us-states/flags/illinois-large.png","https://cdn.civil.services/us-states/seals/illinois-large.png","https://cdn.civil.services/us-states/maps/illinois-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/illinois.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/illinois.jpg",, "Indiana","indiana","IN","Hoosier State","http://www.in.gov","1816-12-11",19,"Indianapolis","http://www.indy.gov/Pages/Home.aspx",6570902,16,"http://www.law.indiana.edu/uslawdocs/inconst.html","https://cdn.civil.services/us-states/flags/indiana-large.png","https://cdn.civil.services/us-states/seals/indiana-large.png","https://cdn.civil.services/us-states/maps/indiana-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/indiana.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/indiana.jpg","https://twitter.com/in_gov","https://www.facebook.com/IndianaGovernment" "Iowa","iowa","IA","Hawkeye State","https://www.iowa.gov","1846-12-28",29,"Des Moines","http://www.ci.des-moines.ia.us",3090416,30,"http://publications.iowa.gov/135/1/history/7-7.html","https://cdn.civil.services/us-states/flags/iowa-large.png","https://cdn.civil.services/us-states/seals/iowa-large.png","https://cdn.civil.services/us-states/maps/iowa-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/iowa.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/iowa.jpg","https://twitter.com/IAGOVTWEETS", "Kansas","kansas","KS","Sunflower State","https://www.kansas.gov","1861-01-29",34,"Topeka","http://www.topeka.org",2893957,34,"https://kslib.info/405/Kansas-Constitution","https://cdn.civil.services/us-states/flags/kansas-large.png","https://cdn.civil.services/us-states/seals/kansas-large.png","https://cdn.civil.services/us-states/maps/kansas-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/kansas.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/kansas.jpg","http://www.twitter.com/ksgovernment","http://www.facebook.com/pages/Topeka-KS/Kansasgov-Kansas-Government-Online/52068474220" "Kentucky","kentucky","KY","Bluegrass State","http://kentucky.gov","1792-06-01",15,"Frankfort","http://frankfort.ky.gov",4395295,26,"http://www.lrc.state.ky.us/Legresou/Constitu/intro.htm","https://cdn.civil.services/us-states/flags/kentucky-large.png","https://cdn.civil.services/us-states/seals/kentucky-large.png","https://cdn.civil.services/us-states/maps/kentucky-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/kentucky.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/kentucky.jpg","https://twitter.com/kygov","https://www.facebook.com/kygov" "Louisiana","louisiana","LA","Pelican State","http://louisiana.gov","1812-04-30",18,"Baton Rouge","http://brgov.com",4625470,25,"http://senate.legis.state.la.us/Documents/Constitution","https://cdn.civil.services/us-states/flags/louisiana-large.png","https://cdn.civil.services/us-states/seals/louisiana-large.png","https://cdn.civil.services/us-states/maps/louisiana-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/louisiana.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/louisiana.jpg",, "Maine","maine","ME","Pine Tree State","http://www.maine.gov","1820-03-15",23,"Augusta","http://www.augustamaine.gov",1328302,41,"http://www.maine.gov/legis/const","https://cdn.civil.services/us-states/flags/maine-large.png","https://cdn.civil.services/us-states/seals/maine-large.png","https://cdn.civil.services/us-states/maps/maine-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/maine.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/maine.jpg","https://twitter.com/mainegov_news","http://www.facebook.com/pages/Augusta-ME/Mainegov/98519328240" "Maryland","maryland","MD","Old Line State","http://www.maryland.gov","1788-04-28",7,"Annapolis","http://www.annapolis.gov",5928814,19,"http://msa.maryland.gov/msa/mdmanual/43const/html/const.html","https://cdn.civil.services/us-states/flags/maryland-large.png","https://cdn.civil.services/us-states/seals/maryland-large.png","https://cdn.civil.services/us-states/maps/maryland-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/maryland.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/maryland.jpg","https://twitter.com/statemaryland","https://www.facebook.com/statemaryland" "Massachusetts","massachusetts","MA","Bay State","http://www.mass.gov","1788-02-06",6,"Boston","http://www.ci.boston.ma.us",6692824,14,"http://www.state.ma.us/legis/const.htm","https://cdn.civil.services/us-states/flags/massachusetts-large.png","https://cdn.civil.services/us-states/seals/massachusetts-large.png","https://cdn.civil.services/us-states/maps/massachusetts-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/massachusetts.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/massachusetts.jpg","http://twitter.com/massgov","https://www.facebook.com/massgov" "Michigan","michigan","MI","Wolverine State / Great Lakes State","http://www.michigan.gov","1837-01-26",26,"Lansing","http://cityoflansingmi.com",9895622,9,"http://www.legislature.mi.gov/(S(hrowl12tg05hemnnkidim1jb))/mileg.aspx?page=GetObject&objectname=mcl-Constitution","https://cdn.civil.services/us-states/flags/michigan-large.png","https://cdn.civil.services/us-states/seals/michigan-large.png","https://cdn.civil.services/us-states/maps/michigan-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/michigan.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/michigan.jpg","https://twitter.com/migov","https://www.facebook.com/MIgovernment" "Minnesota","minnesota","MN","North Star State / Land of 10,000 Lakes","https://mn.gov","1858-05-11",32,"Saint Paul","http://www.stpaul.gov",5420380,21,"http://www.house.leg.state.mn.us/cco/rules/mncon/preamble.htm","https://cdn.civil.services/us-states/flags/minnesota-large.png","https://cdn.civil.services/us-states/seals/minnesota-large.png","https://cdn.civil.services/us-states/maps/minnesota-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/minnesota.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/minnesota.jpg",, "Mississippi","mississippi","MS","Magnolia State","http://www.ms.gov","1817-12-10",20,"Jackson","http://www.city.jackson.ms.us",2991207,31,"http://law.justia.com/constitution/mississippi","https://cdn.civil.services/us-states/flags/mississippi-large.png","https://cdn.civil.services/us-states/seals/mississippi-large.png","https://cdn.civil.services/us-states/maps/mississippi-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/mississippi.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/mississippi.jpg","https://twitter.com/msdotgov","https://www.facebook.com/msdotgov" intake-0.6.5/intake/cli/sample/states_2.csv000066400000000000000000000364501416666122400205610ustar00rootroot00000000000000"state","slug","code","nickname","website","admission_date","admission_number","capital_city","capital_url","population","population_rank","constitution_url","state_flag_url","state_seal_url","map_image_url","landscape_background_url","skyline_background_url","twitter_url","facebook_url" "Missouri","missouri","MO","Show Me State","https://www.mo.gov","1821-08-10",24,"Jefferson City","http://www.jeffcitymo.org",6044171,18,"http://www.moga.mo.gov/mostatutes/moconstn.html","https://cdn.civil.services/us-states/flags/missouri-large.png","https://cdn.civil.services/us-states/seals/missouri-large.png","https://cdn.civil.services/us-states/maps/missouri-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/missouri.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/missouri.jpg","https://twitter.com/MoGov","https://www.facebook.com/mogov" "Montana","montana","MT","Treasure State","http://mt.gov","1889-11-08",41,"Helena","http://www.ci.helena.mt.us",1015165,44,"http://courts.mt.gov/content/library/docs/72constit.pdf","https://cdn.civil.services/us-states/flags/montana-large.png","https://cdn.civil.services/us-states/seals/montana-large.png","https://cdn.civil.services/us-states/maps/montana-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/montana.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/montana.jpg",, "Nebraska","nebraska","NE","Cornhusker State","http://www.nebraska.gov","1867-03-01",37,"Lincoln","http://lincoln.ne.gov",1868516,37,"http://www.state.ne.us/legislative/statutes/C","https://cdn.civil.services/us-states/flags/nebraska-large.png","https://cdn.civil.services/us-states/seals/nebraska-large.png","https://cdn.civil.services/us-states/maps/nebraska-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/nebraska.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/nebraska.jpg","https://twitter.com/Nebraskagov","https://www.facebook.com/nebraska.gov" "Nevada","nevada","NV","The Silver State","http://nv.gov","1864-10-31",36,"Carson City","http://www.carson.org",2790136,35,"http://www.leg.state.nv.us/Const/NvConst.html","https://cdn.civil.services/us-states/flags/nevada-large.png","https://cdn.civil.services/us-states/seals/nevada-large.png","https://cdn.civil.services/us-states/maps/nevada-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/nevada.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/nevada.jpg",, "New Hampshire","new-hampshire","NH","Granite State","https://www.nh.gov","1788-06-21",9,"Concord","http://www.concordnh.gov",1323459,42,"http://www.state.nh.us/constitution/constitution.html","https://cdn.civil.services/us-states/flags/new-hampshire-large.png","https://cdn.civil.services/us-states/seals/new-hampshire-large.png","https://cdn.civil.services/us-states/maps/new-hampshire-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/new-hampshire.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/new-hampshire.jpg","https://twitter.com/nhgov", "New Jersey","new-jersey","NJ","Garden State","http://www.state.nj.us","1787-12-18",3,"Trenton","http://www.trentonnj.org",8899339,11,"http://www.njleg.state.nj.us/lawsconstitution/consearch.asp","https://cdn.civil.services/us-states/flags/new-jersey-large.png","https://cdn.civil.services/us-states/seals/new-jersey-large.png","https://cdn.civil.services/us-states/maps/new-jersey-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/new-jersey.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/new-jersey.jpg",, "New Mexico","new-mexico","NM","Land of Enchantment","http://www.newmexico.gov","1912-01-06",47,"Santa Fe","http://www.santafenm.gov",2085287,36,"http://www.loc.gov/law/guide/us-nm.html","https://cdn.civil.services/us-states/flags/new-mexico-large.png","https://cdn.civil.services/us-states/seals/new-mexico-large.png","https://cdn.civil.services/us-states/maps/new-mexico-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/new-mexico.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/new-mexico.jpg",, "New York","new-york","NY","Empire State","http://www.ny.gov","1788-07-26",11,"Albany","http://www.albanyny.org",19651127,3,"https://www.dos.ny.gov/info/constitution.htm","https://cdn.civil.services/us-states/flags/new-york-large.png","https://cdn.civil.services/us-states/seals/new-york-large.png","https://cdn.civil.services/us-states/maps/new-york-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/new-york.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/new-york.jpg","https://twitter.com/nygov", "North Carolina","north-carolina","NC","Old North State / Tar Heel State","http://www.nc.gov","1789-11-21",12,"Raleigh","http://www.raleigh-nc.org",9848060,10,"http://statelibrary.dcr.state.nc.us/nc/stgovt/preconst.htm","https://cdn.civil.services/us-states/flags/north-carolina-large.png","https://cdn.civil.services/us-states/seals/north-carolina-large.png","https://cdn.civil.services/us-states/maps/north-carolina-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/north-carolina.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/north-carolina.jpg","https://twitter.com/NCdotGov", "North Dakota","north-dakota","ND","Peace Garden State / Flickertail State / Roughrider State","http://www.nd.gov","1889-11-02",39,"Bismarck","http://www.bismarck.org",723393,48,"http://www.legis.nd.gov/information/statutes/const-laws.html","https://cdn.civil.services/us-states/flags/north-dakota-large.png","https://cdn.civil.services/us-states/seals/north-dakota-large.png","https://cdn.civil.services/us-states/maps/north-dakota-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/north-dakota.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/north-dakota.jpg","https://twitter.com/ExperienceND","https://www.facebook.com/ExperienceND" "Ohio","ohio","OH","Buckeye State","https://ohio.gov","1803-03-01",17,"Columbus","http://ci.columbus.oh.us",11570808,7,"http://www.legislature.state.oh.us/constitution.cfm","https://cdn.civil.services/us-states/flags/ohio-large.png","https://cdn.civil.services/us-states/seals/ohio-large.png","https://cdn.civil.services/us-states/maps/ohio-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/ohio.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/ohio.jpg","https://twitter.com/ohgov", "Oklahoma","oklahoma","OK","Sooner State","https://www.ok.gov","1907-11-16",46,"Oklahoma City","http://www.okc.gov",3850568,28,"http://oklegal.onenet.net/okcon","https://cdn.civil.services/us-states/flags/oklahoma-large.png","https://cdn.civil.services/us-states/seals/oklahoma-large.png","https://cdn.civil.services/us-states/maps/oklahoma-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/oklahoma.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/oklahoma.jpg","https://twitter.com/okgov","https://www.facebook.com/okgov" "Oregon","oregon","OR","Beaver State","http://www.oregon.gov","1859-02-14",33,"Salem","http://www.cityofsalem.net/Pages/default.aspx",3930065,27,"http://bluebook.state.or.us/state/constitution/constitution.htm","https://cdn.civil.services/us-states/flags/oregon-large.png","https://cdn.civil.services/us-states/seals/oregon-large.png","https://cdn.civil.services/us-states/maps/oregon-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/oregon.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/oregon.jpg",, "Pennsylvania","pennsylvania","PA","Keystone State","http://www.pa.gov","1787-12-12",2,"Harrisburg","http://harrisburgpa.gov",12773801,6,"http://sites.state.pa.us/PA_Constitution.html","https://cdn.civil.services/us-states/flags/pennsylvania-large.png","https://cdn.civil.services/us-states/seals/pennsylvania-large.png","https://cdn.civil.services/us-states/maps/pennsylvania-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/pennsylvania.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/pennsylvania.jpg","https://www.facebook.com/visitPA","https://twitter.com/visitPA" "Rhode Island","rhode-island","RI","The Ocean State","https://www.ri.gov","1790-05-29",13,"Providence","http://www.providenceri.com",1051511,43,"http://webserver.rilin.state.ri.us/RiConstitution","https://cdn.civil.services/us-states/flags/rhode-island-large.png","https://cdn.civil.services/us-states/seals/rhode-island-large.png","https://cdn.civil.services/us-states/maps/rhode-island-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/rhode-island.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/rhode-island.jpg","https://twitter.com/rigov","https://www.facebook.com/RIgov-Rhode-Island-Government-Online-24056655991" "South Carolina","south-carolina","SC","Palmetto State","http://www.sc.gov","1788-05-23",8,"Columbia","http://www.columbiasc.net",4774839,24,"http://www.scstatehouse.gov/scconstitution/scconst.php","https://cdn.civil.services/us-states/flags/south-carolina-large.png","https://cdn.civil.services/us-states/seals/south-carolina-large.png","https://cdn.civil.services/us-states/maps/south-carolina-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/south-carolina.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/south-carolina.jpg","https://twitter.com/scgov","http://www.facebook.com/pages/SCgov/12752057990" "South Dakota","south-dakota","SD","Mount Rushmore State","http://sd.gov","1889-11-02",40,"Pierre","http://ci.pierre.sd.us",844877,46,"http://legis.sd.gov/statutes/Constitution","https://cdn.civil.services/us-states/flags/south-dakota-large.png","https://cdn.civil.services/us-states/seals/south-dakota-large.png","https://cdn.civil.services/us-states/maps/south-dakota-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/south-dakota.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/south-dakota.jpg",, "Tennessee","tennessee","TN","Volunteer State","https://www.tn.gov","1796-06-01",16,"Nashville","http://www.nashville.gov",6495978,17,"http://www.capitol.tn.gov/about/docs/TN-Constitution.pdf","https://cdn.civil.services/us-states/flags/tennessee-large.png","https://cdn.civil.services/us-states/seals/tennessee-large.png","https://cdn.civil.services/us-states/maps/tennessee-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/tennessee.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/tennessee.jpg","https://twitter.com/TNVacation","https://www.facebook.com/tnvacation" "Texas","texas","TX","Lone Star State","https://www.texas.gov","1845-12-29",28,"Austin","http://www.austintexas.gov",26448193,2,"http://www.constitution.legis.state.tx.us","https://cdn.civil.services/us-states/flags/texas-large.png","https://cdn.civil.services/us-states/seals/texas-large.png","https://cdn.civil.services/us-states/maps/texas-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/texas.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/texas.jpg","https://twitter.com/texasgov","http://www.facebook.com/Texas.gov" "Utah","utah","UT","The Beehive State","https://utah.gov","1896-01-04",45,"Salt Lake City","http://www.slcgov.com",2900872,33,"http://le.utah.gov/UtahCode/chapter.jsp?code=Constitution","https://cdn.civil.services/us-states/flags/utah-large.png","https://cdn.civil.services/us-states/seals/utah-large.png","https://cdn.civil.services/us-states/maps/utah-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/utah.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/utah.jpg","https://twitter.com/UtahGov","https://www.facebook.com/utahgov" "Vermont","vermont","VT","Green Mountain State","http://vermont.gov","1791-03-04",14,"Montpelier","http://www.montpelier-vt.org",626630,49,"http://www.leg.state.vt.us/statutes/const2.htm","https://cdn.civil.services/us-states/flags/vermont-large.png","https://cdn.civil.services/us-states/seals/vermont-large.png","https://cdn.civil.services/us-states/maps/vermont-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/vermont.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/vermont.jpg","https://twitter.com/vermontgov","https://www.facebook.com/MyVermont" "Virginia","virginia","VA","Old Dominion State","https://www.virginia.gov","1788-06-25",10,"Richmond","http://www.richmondgov.com",8260405,12,"http://hodcap.state.va.us/publications/Constitution-01-13.pdf","https://cdn.civil.services/us-states/flags/virginia-large.png","https://cdn.civil.services/us-states/seals/virginia-large.png","https://cdn.civil.services/us-states/maps/virginia-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/virginia.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/virginia.jpg",, "Washington","washington","WA","The Evergreen State","http://www.wa.gov","1889-11-11",42,"Olympia","http://www.ci.olympia.wa.us",6971406,13,"http://www.leg.wa.gov/lawsandagencyrules/pages/constitution.aspx","https://cdn.civil.services/us-states/flags/washington-large.png","https://cdn.civil.services/us-states/seals/washington-large.png","https://cdn.civil.services/us-states/maps/washington-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/washington.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/washington.jpg","https://twitter.com/wagov","" "West Virginia","west-virginia","WV","Mountain State","http://www.wv.gov","1863-06-20",35,"Charleston","http://www.cityofcharleston.org",1854304,38,"http://www.legis.state.wv.us/WVCODE/WV_CON.cfm","https://cdn.civil.services/us-states/flags/west-virginia-large.png","https://cdn.civil.services/us-states/seals/west-virginia-large.png","https://cdn.civil.services/us-states/maps/west-virginia-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/west-virginia.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/west-virginia.jpg","https://twitter.com/wvgov","https://www.facebook.com/wvgov" "Wisconsin","wisconsin","WI","Badger State","https://www.wisconsin.gov","1848-05-29",30,"Madison","http://www.ci.madison.wi.us",5742713,20,"http://www.legis.state.wi.us/rsb/2wiscon.html","https://cdn.civil.services/us-states/flags/wisconsin-large.png","https://cdn.civil.services/us-states/seals/wisconsin-large.png","https://cdn.civil.services/us-states/maps/wisconsin-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/wisconsin.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/wisconsin.jpg",, "Wyoming","wyoming","WY","Equality State","http://www.wyo.gov","1890-07-10",44,"Cheyenne","http://www.cheyennecity.org",582658,50,"http://legisweb.state.wy.us/statutes/constitution.aspx?file=titles/97Title97.htm","https://cdn.civil.services/us-states/flags/wyoming-large.png","https://cdn.civil.services/us-states/seals/wyoming-large.png","https://cdn.civil.services/us-states/maps/wyoming-large.png","https://cdn.civil.services/us-states/backgrounds/1280x720/landscape/wyoming.jpg","https://cdn.civil.services/us-states/backgrounds/1280x720/skyline/wyoming.jpg",,intake-0.6.5/intake/cli/sample/us_states.yml000066400000000000000000000004341416666122400210460ustar00rootroot00000000000000sources: states: description: US state information from [CivilServices](https://civil.services/) driver: csv args: urlpath: '{{ CATALOG_DIR }}/states_*.csv' metadata: origin_url: 'https://github.com/CivilServiceUSA/us-states/blob/v1.0.0/data/states.csv' intake-0.6.5/intake/cli/server/000077500000000000000000000000001416666122400163355ustar00rootroot00000000000000intake-0.6.5/intake/cli/server/__init__.py000066400000000000000000000005061416666122400204470ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- intake-0.6.5/intake/cli/server/__main__.py000066400000000000000000000060631416666122400204340ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import argparse import logging import signal import sys import tornado.ioloop import tornado.web from .server import IntakeServer logger = logging.getLogger('intake') def call_exit_on_sigterm(signal, frame): sys.exit(0) def main(argv=None): from intake.config import conf from intake import open_catalog if argv is None: argv = sys.argv parser = argparse.ArgumentParser(description='Intake Catalog Server') parser.add_argument('-p', '--port', type=int, default=conf['port'], help='port number for server to listen on') parser.add_argument('--list-entries', action='store_true', help='list catalog entries at startup') parser.add_argument('--sys-exit-on-sigterm', action='store_true', help='internal flag used during unit testing to ensure ' '.coverage file is written') parser.add_argument('catalog_args', metavar='FILE', type=str, nargs='+', help='Name of catalog YAML file') parser.add_argument('--flatten', dest='flatten', action='store_true') parser.add_argument('--no-flatten', dest='flatten', action='store_false') parser.add_argument('--ttl', dest='ttl',type=int, default=60) parser.add_argument('-a', '--address', type=str, default=conf.get('address', 'localhost'), help='address to use as a host, defaults to the address ' 'in the configuration file, if provided otherwise localhost') parser.set_defaults(flatten=True) args = parser.parse_args(argv[1:]) if args.sys_exit_on_sigterm: signal.signal(signal.SIGTERM, call_exit_on_sigterm) logger.info('Creating catalog from:') for arg in args.catalog_args: logger.info(' - %s' % arg) catargs = args.catalog_args ttl = args.ttl if len(catargs) == 1: catalog = open_catalog(catargs[0], ttl=ttl) logger.info("catalog_args: %s" % catargs[0]) else: catalog = open_catalog(catargs, flatten=args.flatten, ttl=ttl) logger.info("catalog_args: %s" % catargs) if args.list_entries: # This is not a good idea if the Catalog is huge. logger.info('Entries:' + ','.join(list(catalog))) logger.info('Listening on %s:%d' % (args.address, args.port)) server = IntakeServer(catalog) app = server.make_app() server.start_periodic_functions(close_idle_after=3600.0) app.listen(args.port, address=args.address) try: tornado.ioloop.IOLoop.current().start() except KeyboardInterrupt: logger.critical("Exiting") except Exception as e: logger.critical("Exiting due to %s" % e) if __name__ == "__main__": sys.exit(main(sys.argv)) intake-0.6.5/intake/cli/server/server.py000066400000000000000000000370711416666122400202250ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import time from uuid import uuid4 import itertools import logging import msgpack import tornado.gen import tornado.ioloop import tornado.web from intake.config import conf from intake.container import serializer from intake.utils import remake_instance from intake import __version__ from intake.compat import unpack_kwargs, pack_kwargs logger = logging.getLogger('intake') class IntakeServer(object): """Main intake-server tornado application""" def __init__(self, catalog): self._catalog = catalog self._cache = SourceCache() self._periodic_callbacks = [] auth = conf.get('auth', 'intake.auth.base.BaseAuth') logger.debug('auth: %s' % auth) self._auth = remake_instance(auth) def get_handlers(self): return [ (r"/v1/info", ServerInfoHandler, dict(catalog=self._catalog, cache=self._cache, auth=self._auth)), (r"/v1/source", ServerSourceHandler, dict(catalog=self._catalog, cache=self._cache, auth=self._auth)), ] def make_app(self): handlers = self.get_handlers() return tornado.web.Application(handlers) def start_periodic_functions(self, close_idle_after=None, remove_idle_after=None): if len(self._periodic_callbacks) > 0: raise Exception('Periodic functions already started ' 'for this server') # Disabling periodic timers with None makes testing easier if close_idle_after is not None: cache_closer = self._make_cache_closer(close_idle_after) self._periodic_callbacks.append(cache_closer) if remove_idle_after is not None: cache_remover = self._make_cache_remover(remove_idle_after) self._periodic_callbacks.append(cache_remover) for callback in self._periodic_callbacks: callback.start() def _make_cache_closer(self, idle_time): def cache_closer_callback(): self._cache.close_idle(idle_time) return self._make_cache_callback(cache_closer_callback, idle_time) def _make_cache_remover(self, idle_time): def cache_remover_callback(): self._cache.remove_idle(idle_time) return self._make_cache_callback(cache_remover_callback, idle_time) def _make_cache_callback(self, callback, idle_time): # Check ever 1/10 of the idle_time interval_ms = (idle_time / 10.0) * 1000 callback = tornado.ioloop.PeriodicCallback(callback, interval_ms) return callback class ServerInfoHandler(tornado.web.RequestHandler): """Basic info about the server""" def initialize(self, cache, catalog, auth): self.cache = cache self.catalog = catalog self.auth = auth def get(self): head = self.request.headers page_size = self.get_argument('page_size', None) page_offset = self.get_argument('page_offset', 0) if self.auth.allow_connect(head): if 'source-id' in head: cat = self.cache.get(head['source-id']) else: cat = self.catalog sources = [] if page_size is None: # Return all the results in one page. This is important for # back-compat with clients that predate pagination. It may # also be useful to keep things simple for clients that do not # need pagination. start = stop = None else: start = int(page_offset) stop = int(page_offset) + int(page_size) page = itertools.islice(cat.items(), start, stop) for name, source in page: if self.auth.allow_access(head, source, self.catalog): info = source.describe().copy() modified_args = info['args'].copy() info['name'] = name for k, v in info['args'].items(): try: msgpack.packb(v, **pack_kwargs) except TypeError: modified_args[k] = 'UNSERIALIZABLE_VALUE' info['args'] = modified_args sources.append(info) try: length = len(cat) except TypeError: length = sum(1 for entry in cat) server_info = dict(version=__version__, sources=sources, length=length, metadata=cat.metadata) else: msg = 'Access forbidden' raise tornado.web.HTTPError(status_code=403, log_message=msg, reason=msg) self.write(msgpack.packb(server_info, **pack_kwargs)) class SourceCache(object): """Stores DataSources requested by some user""" def __init__(self): self._sources = {} def add(self, source, source_id=None): if source_id is None: source_id = str(uuid4()) now = time.time() self._sources[source_id] = dict(source=source, open_time=now, last_time=now) logger.debug('Adding %s to cache, uuid %s' % (source, source_id)) return source_id def get(self, uuid): record = self._sources[uuid] record['last_time'] = time.time() return record['source'] def peek(self, uuid): """Get the source but do not change the last access time""" return self._sources[uuid]['source'] def touch(self, uuid): record = self._sources[uuid] record['last_time'] = time.time() def close_idle(self, idle_secs): threshold = time.time() - idle_secs for record in self._sources.values(): if record['last_time'] < threshold: record['source'].close() def remove_idle(self, idle_secs): threshold = time.time() - idle_secs # Make a copy of the items so we can mutate the dictionary for uuid, record in list(self._sources.items()): if record['last_time'] < threshold: logger.debug('Removing source %s from cache' % uuid) del self._sources[uuid] class ServerSourceHandler(tornado.web.RequestHandler): """Open or stream data source The requests "action" field (open|read) specified what the request wants to do. Open caches the source and created an ID for it, read uses that ID to reference the source and read a partition. """ def initialize(self, catalog, cache, auth): self._catalog = catalog self._cache = cache self.auth = auth def get(self): """ Access one source's info. This is for direct access to an entry by name for random access, which is useful to the client when the whole catalog has not first been listed and pulled locally (e.g., in the case of pagination). """ head = self.request.headers name = self.get_argument('name') if self.auth.allow_connect(head): if 'source-id' in head: cat = self._cache.get(head['source-id']) else: cat = self._catalog try: source = cat[name] except KeyError: msg = 'No such entry' raise tornado.web.HTTPError(status_code=404, log_message=msg, reason=msg) if self.auth.allow_access(head, source, self._catalog): info = source.describe().copy() info['name'] = name source_info = dict(source=info) try: out = msgpack.packb(source_info, **pack_kwargs) except TypeError: info['direct_access'] = 'forbid' modified_args = source_info['source']['args'].copy() for k, v in source_info['source']['args'].items(): try: msgpack.packb(v, **pack_kwargs) except TypeError: modified_args[k] = 'UNSERIALIZABLE_VALUE' source_info['source']['args'] = modified_args out = msgpack.packb(source_info, **pack_kwargs) self.write(out) return msg = 'Access forbidden' raise tornado.web.HTTPError(status_code=403, log_message=msg, reason=msg) @tornado.gen.coroutine def post(self): request = msgpack.unpackb(self.request.body, **unpack_kwargs) action = request['action'] head = self.request.headers logger.debug('Source POST: %s' % request) if action == 'search': if 'source-id' in head: cat = self._cache.get(head['source-id']) else: cat = self._catalog query = request['query'] # Construct a cache key from the source_id of the Catalog being # searched and the query itself. query_source_id = '-'.join((head.get('source-id', 'root'), str(query))) try: cat = self._cache.get(query_source_id) except KeyError: try: args, kwargs = query results_cat = cat.search(*args, **kwargs) except Exception as err: logger.exception("Search query %r on Catalog %r failed", query, cat) raise tornado.web.HTTPError( status_code=400, log_message="Search query failed", reason=str(err)) self._cache.add(results_cat, source_id=query_source_id) response = {'source_id': query_source_id} self.write(msgpack.packb(response, **pack_kwargs)) self.finish() elif action == 'open': if 'source-id' in head: cat = self._cache.get(head['source-id']) else: cat = self._catalog entry_name = request['name'] try: entry = cat[entry_name] except KeyError: msg = "Catalog has no entry {!r}".format(entry_name) raise tornado.web.HTTPError(status_code=404, log_message=msg, reason=msg) if not self.auth.allow_access(head, entry, cat): msg = 'Access forbidden' raise tornado.web.HTTPError(status_code=403, log_message=msg, reason=msg) user_parameters = request.get('parameters', {}) client_plugins = request.get('available_plugins', []) # Can the client directly access the data themselves? open_desc = entry.describe() direct_access = open_desc['direct_access'] plugin_name = open_desc['plugin'] if isinstance(plugin_name, list): for pl in plugin_name: if pl in client_plugins: plugin_name = pl break client_has_plugin = plugin_name in client_plugins if direct_access == 'forbid' or \ (direct_access == 'allow' and not client_has_plugin): logger.debug("Opening entry %s" % entry) source = entry.configure_new(**user_parameters) try: source.on_server = True source.discover() except Exception as e: import traceback traceback.print_exc() raise tornado.web.HTTPError(status_code=400, log_message="Discover failed", reason=str(e)) source_id = self._cache.add(source) logger.debug('Container: %s, ID: %s' % (source.container, source_id)) response = dict(source._schema or {}) response.update(dict(container=source.container, source_id=source_id, metadata=source.metadata)) self.write(msgpack.packb(response, **pack_kwargs)) self.finish() elif direct_access == 'force' and not client_has_plugin: msg = 'client must have plugin "%s" to access source "%s"' \ '' % (plugin_name, entry_name) raise tornado.web.HTTPError(status_code=400, log_message=msg, reason=msg) else: # If we get here, the client can access the source directly # some server-side args need to be parsed response = open_desc user_parameters['plugin'] = plugin_name response['args'] = (entry._entry._create_open_args(user_parameters)[1]) self.write(msgpack.packb(response, **pack_kwargs)) self.finish() elif action == 'read': source_id = request['source_id'] source = self._cache.get(source_id) accepted_formats = request['accepted_formats'] accepted_compression = request.get('accepted_compression', ['none']) partition = request.get('partition', None) chunk_encoder = self._pick_encoder(accepted_formats, accepted_compression, source.container) logger.debug("Read partition %s" % partition) if partition is not None: chunk = source.read_partition(partition) else: assert source.npartitions < 2 chunk = source.read() data = chunk_encoder.encode(chunk, source.container) msg = dict(format=chunk_encoder.format_name, compression=chunk_encoder.compressor_name, container=source.container, data=data) self.write(msgpack.packb(msg, **pack_kwargs)) self.flush() self._cache.touch(source_id) # keep source alive self.finish() else: msg = '"%s" not a valid source action' % action raise tornado.web.HTTPError(status_code=400, log_message=msg, reason=msg) def _pick_encoder(self, accepted_formats, accepted_compression, container): format_encoder = None for f in accepted_formats: if f in serializer.format_registry: format_encoder = serializer.format_registry[f] if format_encoder is None: msg = 'Unable to find compatible format' raise tornado.web.HTTPError(status_code=400, log_message=msg, reason=msg) compressor = serializer.NoneCompressor() # Default for f in accepted_compression: if f in serializer.compression_registry: compressor = serializer.compression_registry[f] return serializer.ComboSerializer(format_encoder, compressor) intake-0.6.5/intake/cli/server/templates/000077500000000000000000000000001416666122400203335ustar00rootroot00000000000000intake-0.6.5/intake/cli/server/templates/index.html000066400000000000000000000041671416666122400223400ustar00rootroot00000000000000 Intake Catalog Browser

Intake Catalog Browser

Data Sources

{% for source in sources %}

{{ source.name }}

{{ source.description.description }}

Returns: {{ source.description.container }}

Parameters:

    {% for par in source.description.user_parameters %}
  • {{ par.name }} ({{ par.type }}): {{ par.description }}
    default value = {{ par.default }} {% if par.allowed %} ; allowed = {% for v in par.allowed %}{{ v }}{% if not loop.last %}, {% endif %}{% endfor %} {% endif %}
  • {% endfor %}
{% endfor %}
intake-0.6.5/intake/cli/server/tests/000077500000000000000000000000001416666122400174775ustar00rootroot00000000000000intake-0.6.5/intake/cli/server/tests/__init__.py000066400000000000000000000005061416666122400216110ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- intake-0.6.5/intake/cli/server/tests/catalog1.yml000066400000000000000000000015601416666122400217170ustar00rootroot00000000000000plugins: source: - module: intake.catalog.tests.example1_source - module: intake.catalog.tests.example_plugin_dir.example2_source sources: use_example1: description: example1 source plugin driver: example1 args: {} entry1: description: entry1 full metadata: foo: 'bar' bar: [1, 2, 3] driver: csv # Default direct_access is "forbid" by default args: # passed to the open() method urlpath: '{{ CATALOG_DIR }}/entry1_*.csv' entry1_part: description: entry1 part parameters: # User defined parameters part: description: part of filename type: str default: "1" allowed: ["1", "2"] metadata: foo: 'baz' bar: [2, 4, 6] driver: csv direct_access: "allow" args: # passed to the open() method urlpath: '{{ CATALOG_DIR }}/entry1_{{ part }}.csv' intake-0.6.5/intake/cli/server/tests/entry1_1.csv000066400000000000000000000001031416666122400216500ustar00rootroot00000000000000name,score,rank Alice1,100.5,1 Bob1,50.3,2 Charlie1,25,3 Eve1,25,3 intake-0.6.5/intake/cli/server/tests/entry1_2.csv000066400000000000000000000001031416666122400216510ustar00rootroot00000000000000name,score,rank Alice2,100.5,1 Bob2,50.3,2 Charlie2,25,3 Eve2,25,3 intake-0.6.5/intake/cli/server/tests/test_serializer.py000066400000000000000000000033631416666122400232660ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os.path import pytest import numpy as np from intake.container import serializer all_serializers = pytest.mark.parametrize( 'ser', serializer.format_registry.values()) all_compressors = pytest.mark.parametrize( 'comp', serializer.compression_registry.values()) @all_serializers def test_dataframe(ser): pd = pytest.importorskip('pandas') pytest.importorskip('pyarrow') csv_filename = os.path.join(os.path.dirname(__file__), 'entry1_1.csv') expected_df = pd.read_csv(csv_filename) # Check roundtrip df = ser.decode(ser.encode(expected_df, 'dataframe'), 'dataframe') assert expected_df.equals(df) @all_serializers def test_ndarray(ser): expected_array = np.arange(35).reshape((5, 7)) # Check roundtrip array = ser.decode(ser.encode(expected_array, 'ndarray'), 'ndarray') np.testing.assert_array_equal(expected_array, array) @all_serializers def test_python(ser): expected = [dict(a=1, b=[1, 2], c='str'), dict(a=[1, 2], b='str', d=None)] actual = ser.decode(ser.encode(expected, 'python'), 'python') assert expected == actual @all_compressors def test_compression_roundtrip(comp): data = b'1234\x01\x02' assert data == comp.decompress(comp.compress(data)) def test_none_compress(): data = b'1234\x01\x02' comp = serializer.NoneCompressor() # None should be no-op assert data == comp.decompress(data) assert data == comp.compress(data) intake-0.6.5/intake/cli/server/tests/test_server.py000066400000000000000000000250211416666122400224160ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import os.path import pytest import requests import shutil import subprocess import time from tornado.ioloop import IOLoop from tornado.testing import AsyncHTTPTestCase import msgpack from intake import open_catalog from intake.container.serializer import MsgPackSerializer, GzipCompressor from intake.cli.server.server import IntakeServer from intake.compat import unpack_kwargs, pack_kwargs from intake.utils import make_path_posix catalog_file = make_path_posix( os.path.join(os.path.dirname(__file__), 'catalog1.yml')) class TestServerV1Base(AsyncHTTPTestCase): def get_app(self): local_catalog = open_catalog(catalog_file) self.server = IntakeServer(local_catalog) return self.server.make_app() def encode(self, msg): return msgpack.packb(msg, **pack_kwargs) def decode(self, bytestr): return msgpack.unpackb(bytestr, **unpack_kwargs) class TestServerV1Info(TestServerV1Base): def test_info(self): response = self.fetch('/v1/info') self.assertEqual(response.code, 200) info = self.decode(response.body) self.assertTrue('version' in info) expected = [ { 'container': 'dataframe', 'direct_access': 'forbid', 'description': 'example1 source plugin', 'name': 'use_example1', 'user_parameters': []}, { 'container': 'dataframe', 'direct_access': 'forbid', 'description': 'entry1 full', 'name': 'entry1', 'user_parameters': []}, { 'container': 'dataframe', 'direct_access': 'allow', 'description': 'entry1 part', 'name': 'entry1_part', 'user_parameters': [{ 'allowed': ['1', '2'], 'default': '1', 'description': 'part of filename', 'name': 'part', 'type': 'str' }] } ] def sort_by_name(seq): return sorted(seq, key=lambda d: d['name']) for left, right in zip(sort_by_name(info['sources']), sort_by_name(expected)): for k in right: assert left[k] == right[k] class TestServerV1Source(TestServerV1Base): def make_post_request(self, msg, expected_status=200): request = self.encode(msg) response = self.fetch('/v1/source', method='POST', body=request, headers={'Content-type': 'application/vnd.msgpack'}) self.assertEqual(response.code, expected_status) responses = [] if expected_status < 400: unpacker = msgpack.Unpacker(**unpack_kwargs) unpacker.feed(response.body) for msg in unpacker: responses.append(msg) else: responses = [{'error': str(response.error)}] return responses def test_open(self): msg = dict(action='open', name='entry1', parameters={}) resp_msg, = self.make_post_request(msg) self.assertEqual(resp_msg['container'], 'dataframe') self.assertEqual(resp_msg['shape'], [None, 3]) expected_dtype = {'name': 'object', 'score': 'float64', 'rank': 'int64'} actual_dtype = resp_msg['dtype'] self.assertEqual(expected_dtype, actual_dtype) self.assertEqual(resp_msg['npartitions'], 2) md = resp_msg['metadata'] md.pop('catalog_dir', None) self.assertEqual(md, dict(foo='bar', bar=[1, 2, 3])) self.assertTrue(isinstance(resp_msg['source_id'], str)) def test_open_direct(self): msg = dict(action='open', name='entry1_part', parameters=dict(part='2'), available_plugins=['csv']) resp_msg, = self.make_post_request(msg) self.assertTrue('csv' in resp_msg['plugin']) args = resp_msg['args'] assert 'urlpath' in args self.assertTrue(args['urlpath'].endswith('/entry1_2.csv')) md = resp_msg['metadata'] md.pop('catalog_dir', None) self.assertEqual(md, dict(foo='baz', bar=[2, 4, 6])) self.assertEqual(resp_msg['description'], 'entry1 part') def test_read_part_compressed(self): # because the msgpack format actually depends on pyarrow pytest.importorskip('pyarrow') msg = dict(action='open', name='entry1', parameters={}) resp_msg, = self.make_post_request(msg) source_id = resp_msg['source_id'] msg2 = dict(action='read', source_id=source_id, accepted_formats=['msgpack'], accepted_compression=['gzip'], partition=0) resp_msgs = self.make_post_request(msg2) self.assertEqual(len(resp_msgs), 1) ser = MsgPackSerializer() comp = GzipCompressor() for chunk in resp_msgs: self.assertEqual(chunk['format'], 'msgpack') self.assertEqual(chunk['compression'], 'gzip') self.assertEqual(chunk['container'], 'dataframe') data = ser.decode(comp.decompress(chunk['data']), container='dataframe') self.assertEqual(len(data), 4) def test_read_partition(self): # because the msgpack format actually depends on pyarrow pytest.importorskip('pyarrow') msg = dict(action='open', name='entry1', parameters={}) resp_msg, = self.make_post_request(msg) source_id = resp_msg['source_id'] msg2 = dict(action='read', partition=1, source_id=source_id, accepted_formats=['msgpack']) resp_msgs = self.make_post_request(msg2) self.assertEqual(len(resp_msgs), 1) ser = MsgPackSerializer() part = resp_msgs[0] self.assertEqual(part['format'], 'msgpack') self.assertEqual(part['compression'], 'none') self.assertEqual(part['container'], 'dataframe') data = ser.decode(part['data'], container='dataframe') self.assertEqual(len(data), 4) def test_bad_action(self): msg = dict(action='bad', name='entry1') response, = self.make_post_request(msg, expected_status=400) self.assertIn('bad', response['error']) def test_no_format(self): msg = dict(action='open', name='entry1', parameters={}) resp_msg, = self.make_post_request(msg) source_id = resp_msg['source_id'] msg2 = dict(action='read', source_id=source_id, accepted_formats=['unknown_format']) response, = self.make_post_request(msg2, expected_status=400) self.assertIn('compatible', response['error']) def test_idle_timer(self): self.server.start_periodic_functions(close_idle_after=0.1, remove_idle_after=0.2) msg = dict(action='open', name='entry1', parameters={}) resp_msg, = self.make_post_request(msg) source_id = resp_msg['source_id'] # Let ioloop run once with do-nothing function to make sure source # isn't closed time.sleep(0.05) IOLoop.current().run_sync(lambda: None) # Cheat and look into internal state now source = self.server._cache.peek(source_id) assert source._dataframe is not None # now wait slightly over idle time, run periodic functions, # and check again time.sleep(0.06) IOLoop.current().run_sync(lambda: None) # should be closed source = self.server._cache.peek(source_id) assert source._dataframe is None # wait a little longer time.sleep(0.1) IOLoop.current().run_sync(lambda: None) # source should be gone with self.assertRaises(KeyError): self.server._cache.peek(source_id) @pytest.fixture() def multi_server(tmpdir): fn1 = make_path_posix(os.path.join(tmpdir, 'cat1.yaml')) shutil.copyfile(catalog_file, fn1) fn2 = make_path_posix(os.path.join(tmpdir, 'cat2.yaml')) shutil.copyfile(catalog_file, fn2) P = subprocess.Popen(['intake-server', fn1, fn2, '--no-flatten']) t = time.time() while True: try: requests.get('http://localhost:5000') yield 'intake://localhost:5000' break except: time.sleep(0.2) if time.time() - t > 10: break P.terminate() P.wait() shutil.rmtree(tmpdir) def test_flatten_flag(multi_server): cat = open_catalog(multi_server) assert list(cat) == ['cat1', 'cat2'] assert 'use_example1' in cat.cat1() def free_port(): import socket s = socket.socket() s.bind(('', 0)) # Bind to a free port provided by the host. port = s.getsockname()[1] s.close() return port @pytest.fixture(scope='function') def port_server(tmpdir): fn1 = make_path_posix(os.path.join(tmpdir, 'cat1.yaml')) shutil.copyfile(catalog_file, fn1) port = free_port() P = subprocess.Popen(['intake-server', '--port', str(port), fn1]) t = time.time() try: while True: try: requests.get('http://localhost:%s' % port) yield 'intake://localhost:%s' % port break except: time.sleep(0.2) if time.time() - t > 10: break finally: P.terminate() P.wait() shutil.rmtree(tmpdir) def test_port_flag(port_server): cat = open_catalog(port_server) assert 'use_example1' in list(cat) @pytest.fixture() def address_server(tmpdir): fn1 = make_path_posix(os.path.join(tmpdir, 'cat1.yaml')) shutil.copyfile(catalog_file, fn1) port = free_port() P = subprocess.Popen(['intake-server', '--port', str(port), '--address', '0.0.0.0', fn1]) t = time.time() while True: try: requests.get('http://0.0.0.0:%s' % port) yield 'intake://0.0.0.0:%s' % port break except: time.sleep(0.2) if time.time() - t > 10: break P.terminate() P.wait() shutil.rmtree(tmpdir) def test_address_flag(address_server): cat = open_catalog(address_server) assert 'use_example1' in list(cat) intake-0.6.5/intake/cli/tests/000077500000000000000000000000001416666122400161715ustar00rootroot00000000000000intake-0.6.5/intake/cli/tests/__init__.py000066400000000000000000000005061416666122400203030ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- intake-0.6.5/intake/cli/tests/test_util.py000066400000000000000000000045001416666122400205560ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import pytest # module under test import intake.cli.util as m # TODO def test_print_entry_info(): pass def test_die(capsys): with pytest.raises(SystemExit): m.die("foo") out, err = capsys.readouterr() assert err == "foo\n" assert out == "" class Test_nice_join(object): def test_default(self): assert m.nice_join(["one"]) == "one" assert m.nice_join(["one", "two"]) == "one or two" assert m.nice_join(["one", "two", "three"]) == "one, two or three" assert m.nice_join(["one", "two", "three", "four"]) == "one, two, three or four" def test_string_conjunction(self): assert m.nice_join(["one"], conjunction="and") == "one" assert m.nice_join(["one", "two"], conjunction="and") == "one and two" assert m.nice_join(["one", "two", "three"], conjunction="and") == "one, two and three" assert m.nice_join(["one", "two", "three", "four"], conjunction="and") == "one, two, three and four" def test_None_conjunction(self): assert m.nice_join(["one"], conjunction=None) == "one" assert m.nice_join(["one", "two"], conjunction=None) == "one, two" assert m.nice_join(["one", "two", "three"], conjunction=None) == "one, two, three" assert m.nice_join(["one", "two", "three", "four"], conjunction=None) == "one, two, three, four" def test_sep(self): assert m.nice_join(["one"], sep='; ') == "one" assert m.nice_join(["one", "two"], sep='; ') == "one or two" assert m.nice_join(["one", "two", "three"], sep='; ') == "one; two or three" assert m.nice_join(["one", "two", "three", "four"], sep="; ") == "one; two; three or four" class TestSubcommand(object): def test_initialize_abstract(self): with pytest.raises(NotImplementedError): obj = m.Subcommand("parser") obj.initialize() def test_invoke_abstract(self): with pytest.raises(NotImplementedError): obj = m.Subcommand("parser") obj.invoke("args") intake-0.6.5/intake/cli/util.py000066400000000000000000000063411416666122400163620ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- ''' Provide a ``main`` function to run intake commands. ''' import logging log = logging.getLogger(__name__) #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- # Standard library imports import sys # External imports # Intake imports #----------------------------------------------------------------------------- # API #----------------------------------------------------------------------------- def die(message, status=1): ''' Print an error message and exit. This function will call ``sys.exit`` with the given ``status`` and the process will terminate. Args: message (str) : error message to print status (int) : the exit status to pass to ``sys.exit`` ''' print(message, file=sys.stderr) sys.exit(status) def nice_join(seq, sep=", ", conjunction="or"): ''' Join together sequences of strings into English-friendly phrases using a conjunction when appropriate. Args: seq (seq[str]) : a sequence of strings to nicely join sep (str, optional) : a sequence delimiter to use (default: ", ") conjunction (str or None, optional) : a conjunction to use for the last two items, or None to reproduce basic join behavior (default: "or") Returns: a joined string Examples: >>> nice_join(["a", "b", "c"]) 'a, b or c' ''' seq = [str(x) for x in seq] if len(seq) <= 1 or conjunction is None: return sep.join(seq) else: return "%s %s %s" % (sep.join(seq[:-1]), conjunction, seq[-1]) def print_entry_info(catalog, name): ''' ''' info = catalog[name].describe() for key in sorted(info.keys()): print("[{}] {}={}".format(name, key, info[key])) class Subcommand(object): ''' Abstract base class for subcommands Subclasses should define a class variable ``name`` that will be used as the subparser name, and a docstring, that will be used as the subparser help. After initialization, the parser for this comman will be avaialble as ``self.parser``. Subclasses must also implement: * an ``initialize(self)`` method that configures ``self.parser`` * an ``invoke(self, args)`` method that accepts a set of argparse processed arguments as input. ''' def __init__(self, parser): ''' Configure a parser for this command. ''' self.parser = parser self.initialize() def initialize(self): ''' Implement in subclasses to configure self.parser with any arguments or additional sub-parsers. ''' raise NotImplementedError("Subclasses must implement initialize()") def invoke(self, args): ''' Implement in subclasses to perform the actual work of the command ''' raise NotImplementedError("Subclasses must implement invoke()") intake-0.6.5/intake/compat.py000066400000000000000000000016221416666122400161160ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import msgpack from .utils import encode_datetime, decode_datetime if msgpack.version >= (0, 5, 2): unpack_kwargs = {'raw': False} else: unpack_kwargs = {'encoding': 'utf-8'} unpack_kwargs["object_hook"] = decode_datetime pack_kwargs = dict( default=encode_datetime, use_bin_type=True, ) try: import msgpack_numpy np_unpack_kwargs = dict( object_hook=lambda obj: decode_datetime(msgpack_numpy.decode(obj)), ) np_pack_kwargs = dict( default=lambda obj: encode_datetime(msgpack_numpy.encode(obj)), ) except ImportError: pass intake-0.6.5/intake/config.py000066400000000000000000000074111416666122400161020ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from os.path import expanduser import logging import os import posixpath import yaml from intake.utils import yaml_load from .utils import make_path_posix logger = logging.getLogger('intake') confdir = make_path_posix( os.getenv('INTAKE_CONF_DIR', os.path.join(expanduser('~'), '.intake'))) defaults = { 'auth': {'cls': 'intake.auth.base.BaseAuth'}, 'port': 5000, 'cache_dir': posixpath.join(confdir, 'cache'), 'cache_disabled': False, 'cache_download_progress': True, 'logging': 'INFO', 'catalog_path': [], 'persist_path': posixpath.join(confdir, 'persisted') } conf = {} def cfile(): return make_path_posix( os.getenv('INTAKE_CONF_FILE', posixpath.join(confdir, 'conf.yaml'))) def reset_conf(): """Set conf values back to defaults""" conf.clear() conf.update(defaults) def save_conf(fn=None): """Save current configuration to file as YAML If not given, uses current config directory, ``confdir``, which can be set by INTAKE_CONF_DIR. """ if fn is None: fn = cfile() try: os.makedirs(os.path.dirname(fn)) except (OSError, IOError): pass with open(fn, 'w') as f: yaml.dump(conf, f) def load_conf(fn=None): """Update global config from YAML file If fn is None, looks in global config directory, which is either defined by the INTAKE_CONF_DIR env-var or is ~/.intake/ . """ if fn is None: fn = cfile() if os.path.isfile(fn): with open(fn) as f: try: conf.update(yaml_load(f)) except Exception as e: logger.warning('Failure to load config file "{fn}": {e}' ''.format(fn=fn, e=e)) def intake_path_dirs(path): """Return a list of directories from the intake path. If a string, perhaps taken from an environment variable, then the list of paths will be split on the character ":" for posix of ";" for windows. Protocol indicators ("protocol://") will be ignored. """ if isinstance(path, (list, tuple)): return path import re pattern = re.compile(";" if os.name == 'nt' else r"(? 1)): time.sleep(0.1) retries -= 1 except Exception: print(p.communicate()) raise assert retries > 0, "Server never appeared" yield 'intake://localhost:%d' % port finally: if server_conf: try: env.pop('INTAKE_CONF_FILE', None) os.remove(server_conf) except: pass p.terminate() time.sleep(1) p.kill() @pytest.fixture(scope='module') def http_server(): port_as_str = str(pick_port()) if PY2: cmd = ['python', '-m', 'SimpleHTTPServer', port_as_str] else: cmd = ['python', '-m', 'http.server', port_as_str] p = subprocess.Popen(cmd, cwd=os.path.join(here, 'catalog', 'tests')) url = 'http://localhost:{}/'.format(port_as_str) timeout = 5 while True: try: requests.get(url) break except: time.sleep(0.1) timeout -= 0.1 assert timeout > 0, "timeout waiting for http server" try: yield url finally: p.terminate() p.communicate() @pytest.fixture(scope='function') def tempdir(): import tempfile import shutil d = make_path_posix(str(tempfile.mkdtemp())) try: yield d finally: shutil.rmtree(d) @pytest.fixture(scope='function') def temp_cache(tempdir): import intake from intake.container.persist import store old = intake.config.conf.copy() olddir = intake.config.confdir intake.config.confdir = tempdir intake.config.conf.update({'cache_dir': make_path_posix(str(tempdir)), 'cache_download_progress': False, 'cache_disabled': False}) intake.config.save_conf() store.__init__(os.path.join(tempdir, 'persist')) try: yield finally: intake.config.confdir = olddir intake.config.conf.update(old) intake.config.save_conf() @pytest.fixture(scope='function') def env(temp_cache, tempdir): import intake env = os.environ.copy() env["INTAKE_CONF_DIR"] = intake.config.confdir env['INTAKE_CACHE_DIR'] = intake.config.conf['cache_dir'] return env @pytest.fixture def inherit_params_cat(): with tempfile.TemporaryDirectory() as tmp_dir: tmp_path = posixpath.join(tmp_dir, "intake") target_catalog = copy_test_file("catalog_inherit_params.yml", tmp_path) return open_catalog(target_catalog) @pytest.fixture def inherit_params_multiple_cats(): with tempfile.TemporaryDirectory() as tmp_dir: tmp_path = posixpath.join(tmp_dir, "intake") copy_test_file("catalog_inherit_params.yml", tmp_path) copy_test_file("catalog_nested_sub.yml", tmp_path) return open_catalog(tmp_path + "/*.yml") @pytest.fixture def inherit_params_subcat(): with tempfile.TemporaryDirectory() as tmp_dir: tmp_path = posixpath.join(tmp_dir, "intake") target_catalog = copy_test_file("catalog_inherit_params.yml", tmp_path) copy_test_file("catalog_nested_sub.yml", tmp_path) return open_catalog(target_catalog) intake-0.6.5/intake/container/000077500000000000000000000000001416666122400162425ustar00rootroot00000000000000intake-0.6.5/intake/container/__init__.py000066400000000000000000000071431416666122400203600ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from .dataframe import RemoteDataFrame from .ndarray import RemoteArray from .semistructured import RemoteSequenceSource from ..catalog.remote import RemoteCatalog from ..utils import ContainerRegistryView # each container type is represented in the remote by one of the classes in # this dictionary _container_map = { 'dataframe': RemoteDataFrame, 'python': RemoteSequenceSource, 'ndarray': RemoteArray, 'numpy': RemoteArray, 'catalog': RemoteCatalog } container_map = ContainerRegistryView(_container_map) # public, read-only view __all__ = ['container_map', 'register_container', 'unregister_container'] def register_container(name, container, overwrite=False): """ Add to the container registry, ``intake.container.container_map``. Parameters ---------- name: string container: DataSource overwrite: bool, optional False by default. Raises ------ ValueError If name collides with an existing name in the container registry and overwrite is False. """ if name in _container_map and not overwrite: # If we are re-registering the same object, there is no problem. original = _container_map[name] if original is container: return raise ValueError( f"The container {container} could not be registered for the " f"name {name} because {_container_map[name]} is already " f"registered for that name. Use overwrite=True to force it.") _container_map[name] = container def unregister_container(name): """ Ensure that a given name in the container registry is cleared. This function is idempotent: if the name does not exist in ``intake.container.container_map``, nothing is done, and the function returns None Parameters ---------- name: string Returns ------- container: DataSource or None Whatever was registered for ``name``, or ``None`` """ return _container_map.pop(name, None) def upload(data, path, **kwargs): """Given a concrete data object, store it at given location return Source Use this function to publicly share data which you have created in your python session. Intake will try each of the container types, to see if one of them can handle the input data, and write the data to the path given, in the format most appropriate for the data type, e.g., parquet for pandas or dask data-frames. With the DataSource instance you get back, you can add this to a catalog, or just get the YAML representation for editing (``.yaml()``) and sharing. Parameters ---------- data : instance The object to upload and store. In many cases, the dask or in-memory variant are handled equivalently. path : str Location of the output files; can be, for instance, a network drive for sharing over a VPC, or a bucket on a cloud storage service kwargs : passed to the writer for fine control Returns ------- DataSource instance """ for cls in container_map.values(): try: s = cls._data_to_source(data, path, **kwargs) if s is not None: return s except NotImplementedError: pass raise TypeError('No class found to handle given data') intake-0.6.5/intake/container/base.py000066400000000000000000000105171416666122400175320ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import msgpack import requests from requests.compat import urljoin from intake.source.base import DataSource, Schema from . import serializer from ..compat import unpack_kwargs, pack_kwargs from intake import __version__ class RemoteSource(DataSource): """Base class for all DataSources living on an Intake server""" version = __version__ def __init__(self, url, headers, name, parameters, metadata=None, **kwargs): """ Parameters ---------- url: str Address of the server headers: dict HTTP headers to sue in calls name: str handle to reference this data parameters: dict To pass to the server when it instantiates the data source metadata: dict Additional info kwargs: ignored """ super(RemoteSource, self).__init__(self) self.url = url self.name = name self.parameters = parameters self.headers = headers self._source_id = None self.metadata = metadata or {} self._get_source_id() def _get_source_id(self): if self._source_id is None: payload = dict(action='open', name=self.name, parameters=self.parameters) req = requests.post(urljoin(self.url, '/v1/source'), data=msgpack.packb(payload, **pack_kwargs), **self.headers) req.raise_for_status() response = msgpack.unpackb(req.content, **unpack_kwargs) self._parse_open_response(response) def _parse_open_response(self, response): dtype_descr = response['dtype'] if isinstance(dtype_descr, list): # Reformat because NumPy needs list of tuples dtype_descr = [tuple(x) for x in response['dtype']] self.dtype = dtype_descr self.shape = tuple(response['shape'] or ()) self.npartitions = response['npartitions'] self.metadata = response['metadata'] self._schema = Schema(datashape=None, dtype=self.dtype, shape=self.shape, npartitions=self.npartitions, metadata=self.metadata) self._source_id = response['source_id'] def _get_partition(self, i): raise NotImplementedError def to_dask(self): raise NotImplementedError def get_partition(url, headers, source_id, container, partition): """Serializable function for fetching a data source partition Parameters ---------- url: str Server address headers: dict HTTP header parameters source_id: str ID of the source in the server's cache (unique per user) container: str Type of data, like "dataframe" one of ``intake.container.container_map`` partition: serializable Part of data to fetch, e.g., an integer for a dataframe. """ accepted_formats = list(serializer.format_registry.keys()) accepted_compression = list(serializer.compression_registry.keys()) payload = dict(action='read', source_id=source_id, accepted_formats=accepted_formats, accepted_compression=accepted_compression) if partition is not None: payload['partition'] = partition try: resp = requests.post(urljoin(url, '/v1/source'), data=msgpack.packb(payload, **pack_kwargs), **headers) if resp.status_code != 200: raise Exception('Error reading data') msg = msgpack.unpackb(resp.content, **unpack_kwargs) format = msg['format'] compression = msg['compression'] compressor = serializer.compression_registry[compression] encoder = serializer.format_registry[format] chunk = encoder.decode(compressor.decompress(msg['data']), container) return chunk finally: if resp is not None: resp.close() intake-0.6.5/intake/container/dataframe.py000066400000000000000000000143501416666122400205430ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from distutils.version import LooseVersion from intake.source.base import Schema, DataSource from .base import RemoteSource, get_partition class RemoteDataFrame(RemoteSource): """Dataframe on an Intake server""" name = 'remote_dataframe' container = 'dataframe' def __init__(self, url, headers, **kwargs): super(RemoteDataFrame, self).__init__(url, headers, **kwargs) self.npartitions = kwargs['npartitions'] self.shape = tuple(kwargs['shape']) self.metadata = kwargs['metadata'] self.dtype = kwargs['dtype'] self.verify = kwargs.get('verify', False) self._schema = Schema(npartitions=self.npartitions, extra_metadata=self.metadata, dtype=self.dtype, shape=self.shape) self.dataframe = None def _load_metadata(self): import dask.dataframe as dd import dask.delayed if self.dataframe is None: self.parts = [dask.delayed(get_partition)( self.url, self.headers, self._source_id, self.container, i ) for i in range(self.npartitions)] if LooseVersion(dask.__version__) < LooseVersion("2.5.0"): self.dataframe = dd.from_delayed(self.parts) else: self.dataframe = dd.from_delayed(self.parts, verify_meta=self.verify) return self._schema def _get_partition(self, i): self._load_metadata() return self.parts[i].compute() def read(self): self._load_metadata() return self.dataframe.compute() def to_dask(self): self._load_metadata() return self.dataframe def _close(self): self.dataframe = None @staticmethod def _persist(source, path, **kwargs): """Save dataframe to local persistent store Makes a parquet dataset out of the data using dask.dataframe.to_parquet. This then becomes a data entry in the persisted datasets catalog. Parameters ---------- source: a DataSource instance to save name: str or None Key to refer to this persisted dataset by. If not given, will attempt to get from the source's name kwargs: passed on to dask.dataframe.to_parquet """ try: df = source.to_dask() except NotImplementedError: df = source.read() return RemoteDataFrame._data_to_source(df, path, **kwargs) @staticmethod def _data_to_source(df, path, **kwargs): import dask.dataframe as dd if not is_dataframe_like(df): raise NotImplementedError try: from intake_parquet import ParquetSource except ImportError: raise ImportError("Please install intake-parquet to use persistence" " on dataframe container sources.") if not hasattr(df, 'npartitions'): df = dd.from_pandas(df, npartitions=1) df.to_parquet(path, **kwargs) source = ParquetSource(path, meta={}) return source def is_dataframe_like(df): """ Looks like a Pandas DataFrame Copied from dask.utils """ typ = type(df) return (all(hasattr(typ, name) for name in ('groupby', 'head', 'merge', 'mean')) and all(hasattr(df, name) for name in ('dtypes',)) and not hasattr(typ, 'dtype')) class GenericDataFrame(DataSource): """Create partitioned dataframe from a set of files and any reader This data-source allows you to specify any reader to create dataframes. The reader must take an open file-like object as input, and output a pandas.DataFrame. Parameters ---------- urlpath: str Location of data. May be local files or remote with a protocol specifier. May be a list of files or a glob pattern to be expanded. reader: func f(open_file, **kwargs) -> pandas.DataFrame storage_options: dict Passed to the file-system backend to open files; typically includes credentials for remote storage kwargs: Passed to reader function """ name = 'generic_dataframe' container = 'dataframe' def __init__(self, urlpath, reader, storage_options=None, **kwargs): self.url = urlpath self.reader = reader self.storage_options = storage_options or {} kwargs = kwargs.copy() super().__init__(metadata=kwargs.pop('metadata', {})) self.kwargs = kwargs self.dataframe = None def _load_metadata(self): import dask.dataframe as dd import dask.delayed from fsspec import open_files self.files = open_files(self.url, **self.storage_options) def read_a_file(open_file, reader, kwargs): with open_file as of: df = reader(of, **kwargs) df['path'] = open_file.path return df if self.dataframe is None: self.parts = [ dask.delayed(read_a_file)(open_file, self.reader, self.kwargs) for open_file in self.files ] self.dataframe = dd.from_delayed(self.parts) self.npartitions = self.dataframe.npartitions self.shape = (None, len(self.dataframe.columns)) self.dtype = self.dataframe.dtypes.to_dict() self._schema = Schema(npartitions=self.npartitions, extra_metadata=self.metadata, dtype=self.dtype, shape=self.shape) return self._schema def _get_partition(self, i): self._load_metadata() return self.parts[i].compute() def read(self): self._load_metadata() return self.dataframe.compute() def to_dask(self): self._load_metadata() return self.dataframe def _close(self): self.dataframe = None intake-0.6.5/intake/container/ndarray.py000066400000000000000000000073161416666122400202630ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import datetime import itertools from .base import RemoteSource, Schema, get_partition class RemoteArray(RemoteSource): """nd-array on an Intake server""" name = 'remote_ndarray' container = 'ndarray' def __init__(self, url, headers, **kwargs): super(RemoteArray, self).__init__(url, headers, **kwargs) self.npartitions = kwargs['npartitions'] self.shape = tuple(kwargs['shape']) self.metadata = kwargs['metadata'] self.dtype = kwargs['dtype'] self.chunks = tuple(tuple(c) for c in tuple(kwargs.get('chunks', (-1, )))) self.arr = None self._schema = Schema(npartitions=self.npartitions, extra_metadata=self.metadata, dtype=self.dtype, shape=self.shape, chunks=self.chunks) def _load_metadata(self): import dask.array as da if self.arr is None: name = 'remote-array-' + self._source_id nparts = (range(len(n)) for n in self.chunks) dask = { (name, ) + part: (get_partition, self.url, self.headers, self._source_id, self.container, part) for part in itertools.product(*nparts) } self.arr = da.Array(dask, name=name, chunks=self.chunks, dtype=self.dtype, shape=self.shape) return self._schema def _get_partition(self, i): self._load_metadata() return self.arr.blocks[i].compute() def read_partition(self, i): self._load_metadata() return self._get_partition(i) def read(self): self._load_metadata() return self.arr.compute() def to_dask(self): self._load_metadata() return self.arr def _close(self): self.arr = None @staticmethod def _persist(source, path, component=None, storage_options=None, **kwargs): """Save array to local persistent store Makes a parquet dataset out of the data using zarr. This then becomes a data entry in the persisted datasets catalog. Only works locally for the moment. Parameters ---------- source: a DataSource instance to save name: str or None Key to refer to this persisted dataset by. If not given, will attempt to get from the source's name kwargs: passed on to zarr array creation, see """ try: arr = source.to_dask() except NotImplementedError: arr = source.read() return RemoteArray._data_to_source(arr, path, component=None, storage_options=None, **kwargs) @staticmethod def _data_to_source(arr, path, component=None, storage_options=None, **kwargs): from dask.utils import is_arraylike from dask.array import to_zarr, from_array from ..source.zarr import ZarrArraySource if not is_arraylike(arr): raise NotImplementedError if not hasattr(arr, 'npartitions'): arr = from_array(arr, chunks='auto') to_zarr(arr, path, component=None, storage_options=storage_options, **kwargs) source = ZarrArraySource(path, storage_options, component) return source intake-0.6.5/intake/container/persist.py000066400000000000000000000144061416666122400203120ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import posixpath import time import yaml from ..catalog.local import YAMLFileCatalog, CatalogEntry from ..source import DataSource from ..config import conf, logger from ..source import import_name from ..utils import make_path_posix class PersistStore(YAMLFileCatalog): """ Specialised catalog for persisted data-sources """ _singleton = [None] def __new__(cls, *args, **kwargs): # singleton pattern: only one instance will ever exist if cls._singleton[0] is None: o = object.__new__(cls) o._captured_init_args = args o._captured_init_kwargs = kwargs cls._singleton[0] = o return cls._singleton[0] def __init__(self, path=None, **storage_options): from fsspec import filesystem from fsspec.core import split_protocol self.pdir = make_path_posix(path or conf.get('persist_path')) protocol, _ = split_protocol(self.pdir) path = posixpath.join(self.pdir, 'cat.yaml') self.fs = filesystem(protocol, **storage_options) super(PersistStore, self).__init__(path) def _load(self): # try to make sure there's always something to load from try: self.fs.mkdirs(self.pdir) except (OSError, IOError): pass try: super(PersistStore, self)._load() except: # if destination doesn't load, we have no entries # likely will get exceptions if try to persist self._entries = {} def getdir(self, source): """Clear/create a directory to store a persisted dataset into""" from dask.base import tokenize subdir = posixpath.join(self.pdir, tokenize(source)) try: self.fs.rm(subdir, True) except Exception as e: logger.debug("Directory clear failed: %s" % e) self.fs.mkdirs(subdir) return subdir def add(self, key, source): """Add the persisted source to the store under the given key key : str The unique token of the un-persisted, original source source : DataSource instance The thing to add to the persisted catalogue, referring to persisted data """ from intake.catalog.local import LocalCatalogEntry try: with self.fs.open(self.path, 'rb') as f: data = yaml.safe_load(f) except IOError: data = {'sources': {}} ds = source._yaml()['sources'][source.name] data['sources'][key] = ds with self.fs.open(self.path, 'wb') as fo: fo.write(yaml.dump(data, default_flow_style=False).encode()) self._entries[key] = LocalCatalogEntry( name=ds['metadata']['original_name'], direct_access=True, cache=[], parameters=[], catalog_dir=None, **data['sources'][key]) def get_tok(self, source): """Get string token from object Strings are assumed to already be a token; if source or entry, see if it is a persisted thing ("original_tok" is in its metadata), else generate its own token. """ from dask.base import tokenize if isinstance(source, str): return source if isinstance(source, CatalogEntry): return source._metadata.get('original_tok', tokenize(source)) if isinstance(source, DataSource): return source.metadata.get('original_tok', tokenize(source)) raise IndexError def remove(self, source, delfiles=True): """Remove a dataset from the persist store source : str or DataSource or Lo If a str, this is the unique ID of the original source, which is the key of the persisted dataset within the store. If a source, can be either the original or the persisted source. delfiles : bool Whether to remove the on-disc artifact """ source = self.get_tok(source) with self.fs.open(self.path, 'rb') as f: data = yaml.safe_load(f.read().decode()) data['sources'].pop(source, None) with self.fs.open(self.path, 'wb') as fo: fo.write(yaml.dump(data, default_flow_style=False).encode()) if delfiles: path = posixpath.join(self.pdir, source) try: self.fs.rm(path, True) except Exception: logger.debug("Failed to delete persisted data dir %s" % path) self._entries.pop(source, None) def clear(self): """Remove all persisted sources, files and catalog""" self.fs.rm(self.pdir, True) def backtrack(self, source): """Given a unique key in the store, recreate original source""" key = self.get_tok(source) s = self[key]() meta = s.metadata['original_source'] cls = meta['cls'] args = meta['args'] kwargs = meta['kwargs'] cls = import_name(cls) sout = cls(*args, **kwargs) sout.metadata = s.metadata['original_metadata'] sout.name = s.metadata['original_name'] return sout def refresh(self, key): """Recreate and re-persist the source for the given unique ID""" s0 = self[key] s = self.backtrack(key) s.persist(**s0.metadata['persist_kwargs']) def needs_refresh(self, source): """Has the (persisted) source expired in the store Will return True if the source is not in the store at all, if it's TTL is set to None, or if more seconds have passed than the TTL. """ from dask.base import tokenize now = time.time() token = tokenize(source) if token in self: s0 = self[token] if self[token].metadata.get('ttl', None): then = s0.metadata['timestamp'] if s0.metadata['ttl'] < then - now: return True return False return True store = PersistStore() intake-0.6.5/intake/container/semistructured.py000066400000000000000000000066601416666122400217060ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import datetime from intake.container.base import RemoteSource, get_partition from intake.source.base import Schema class RemoteSequenceSource(RemoteSource): """Sequence-of-things source on an Intake server""" name = 'remote_sequence' container = 'python' def __init__(self, url, headers, **kwargs): self.url = url self.npartitions = kwargs.get('npartition', 1) self.partition_access = self.npartitions > 1 self.headers = headers self.metadata = kwargs.get('metadata', {}) self._schema = Schema(npartitions=self.npartitions, extra_metadata=self.metadata) self.bag = None super(RemoteSequenceSource, self).__init__(url, headers, **kwargs) def _load_metadata(self): import dask.bag as db import dask if self.bag is None: self.parts = [dask.delayed(get_partition)( self.url, self.headers, self._source_id, self.container, i ) for i in range(self.npartitions)] self.bag = db.from_delayed(self.parts) return self._schema def _get_partition(self, i): self._load_metadata() return self.parts[i].compute() def read(self): self._load_metadata() return self.bag.compute() def to_dask(self): self._load_metadata() return self.bag def _close(self): self.bag = None @staticmethod def _persist(source, path, encoder=None, **kwargs): """Save list to files using encoding encoder : None or one of str|json|pickle None is equivalent to str """ import pickle import json encoder = {None: str, 'str': str, 'json': json.dumps, 'pickle': pickle.dumps}[encoder] try: b = source.to_dask() except NotImplementedError: b = source.read() return RemoteSequenceSource._data_to_source(b, path, encoder, **kwargs) @staticmethod def _data_to_source(b, path, encoder=None, storage_options=None, **kwargs): import dask.bag as db import posixpath from fsspec import open_files import dask import pickle import json from intake.source.textfiles import TextFilesSource encoder = {None: str, 'str': str, 'json': json.dumps, 'pickle': pickle.dumps}.get(encoder, encoder) if not hasattr(b, 'to_textfiles'): try: b = db.from_sequence(b, npartitions=1) except TypeError: raise NotImplementedError files = open_files(posixpath.join(path, 'part.*'), mode='wt', num=b.npartitions, **(storage_options or {})) dwrite = dask.delayed(write_file) out = [dwrite(part, f, encoder) for part, f in zip(b.to_delayed(), files)] dask.compute(out) s = TextFilesSource(posixpath.join(path, 'part.*'), storage_options=storage_options) return s def write_file(data, fo, encoder): with fo as f: for d in data: f.write(encoder(d)) intake-0.6.5/intake/container/serializer.py000066400000000000000000000101601416666122400207630ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from collections import OrderedDict import gzip import io import pickle import msgpack from ..compat import pack_kwargs class NoneCompressor(object): name = 'none' def compress(self, data): return data def decompress(self, data): return data class GzipCompressor(object): name = 'gzip' def compress(self, data): buf = io.BytesIO() with gzip.GzipFile(fileobj=buf, mode='wb', compresslevel=1) as f: f.write(data) return buf.getvalue() def decompress(self, data): with gzip.GzipFile(fileobj=io.BytesIO(data)) as f: return f.read() try: import msgpack_numpy except ImportError: msgpack_numpy = None def check_pyarrow(): try: import pyarrow except ImportError: raise ImportError("Serializing DataFrames requires pyarrow.") return pyarrow class MsgPackSerializer(object): # TODO: This is ugly, should maybe transition to # distributed.protocol.serialize name = 'msgpack' def encode(self, obj, container): from ..compat import np_pack_kwargs if container in ['ndarray', 'xarray'] and msgpack_numpy: return msgpack.packb(obj, **np_pack_kwargs) elif container == 'dataframe': # Use pyarrow for serializing DataFrames, rather than # msgpack: https://github.com/intake/intake/issues/460 pa = check_pyarrow() context = pa.default_serialization_context() # This eventually goes to msgpack.packb, which doesn't # directly accept PyArrow Buffer objects. Need to wrap # it in a memoryview to avoid a TypeError. return memoryview(context.serialize(obj).to_buffer()) else: return msgpack.packb(obj, **pack_kwargs) def decode(self, bytestr, container): from ..compat import unpack_kwargs if container in ['ndarray', 'xarray'] and msgpack_numpy: from ..compat import np_unpack_kwargs return msgpack.unpackb(bytestr, **np_unpack_kwargs) elif container == 'dataframe': pa = check_pyarrow() context = pa.default_serialization_context() return context.deserialize(bytestr) else: return msgpack.unpackb(bytestr, **unpack_kwargs) class PickleSerializer(object): def __init__(self, protocol_level): self._protocol_level = protocol_level self.name = 'pickle%d' % protocol_level def encode(self, obj, container): return pickle.dumps(obj, protocol=self._protocol_level) def decode(self, bytestr, container): return pickle.loads(bytestr) class ComboSerializer(object): def __init__(self, format_encoder, compressor): self._format_encoder = format_encoder self._compressor = compressor self.format_name = format_encoder.name self.compressor_name = compressor.name def encode(self, obj, container): return self._compressor.compress( self._format_encoder.encode(obj, container)) def decode(self, bytestr, container): return self._format_encoder.decode( self._compressor.decompress(bytestr), container) compressors = [GzipCompressor(), NoneCompressor()] try: import snappy class SnappyCompressor(object): name = 'snappy' def compress(self, data): return snappy.compress(data) def decompress(self, data): return snappy.decompress(data) compressors.insert(0, SnappyCompressor()) except ImportError: pass # Insert in preference order picklers = [PickleSerializer(protocol) for protocol in [2, 1]] serializers = [MsgPackSerializer()] + picklers format_registry = OrderedDict([(e.name, e) for e in serializers]) compression_registry = OrderedDict([(e.name, e) for e in compressors]) intake-0.6.5/intake/container/tests/000077500000000000000000000000001416666122400174045ustar00rootroot00000000000000intake-0.6.5/intake/container/tests/__init__.py000066400000000000000000000005341416666122400215170ustar00rootroot00000000000000#!/usr/bin/env python #----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- intake-0.6.5/intake/container/tests/test_generics.py000066400000000000000000000015271416666122400226210ustar00rootroot00000000000000#!/usr/bin/env python #----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import posixpath import pytest from intake.container.dataframe import GenericDataFrame here = os.path.abspath(os.path.dirname(__file__)) def test_generic_dataframe(): pd = pytest.importorskip('pandas') def make_a_part(openfile): return pd.DataFrame([[0]], columns=['x']) url = posixpath.join(here, '*.py') s = GenericDataFrame(url, reader=make_a_part) ddf = s.to_dask() assert ddf.compute().x.unique() == [0] df = s.read() assert len(df) == len(ddf) intake-0.6.5/intake/container/tests/test_persist.py000066400000000000000000000034771416666122400225210ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import pytest import time from intake.container.persist import store from intake.source.textfiles import TextFilesSource from intake.source.base import DataSource def test_store(temp_cache): from dask.base import tokenize assert list(store) == [] s = DataSource(metadata={'original_name': 'blah'}) token = tokenize(s) store.add(token, s) time.sleep(0.2) store.ttl = 0 assert list(store) == [token] assert store.get_tok(s) == token assert store.needs_refresh(s) is False # because it has no TTL store.remove(s) time.sleep(0.2) assert list(store) == [] assert os.path.exists(store.pdir) store.clear() time.sleep(0.2) assert not os.path.exists(store.pdir) assert list(store) == [] def test_backtrack(temp_cache): s = TextFilesSource("*.py") s2 = s.persist() s3 = store.backtrack(s2) assert s3 == s def test_persist_with_nonnumeric_ttl_raises_error(temp_cache): s = TextFilesSource("*.py") with pytest.raises(ValueError, match="User-provided ttl was a string"): s.persist(ttl='a string') class DummyDataframe(DataSource): name = 'dummy' container = 'dataframe' def __init__(self, *args): DataSource.__init__(self) def read(self): import pandas as pd return pd.DataFrame({'a': [0]}) def test_undask_persist(temp_cache): pytest.importorskip('intake_parquet') s = DummyDataframe() s2 = s.persist() assert s.read().to_dict() == s2.read().to_dict() intake-0.6.5/intake/interface/000077500000000000000000000000001416666122400162205ustar00rootroot00000000000000intake-0.6.5/intake/interface/__init__.py000066400000000000000000000034301416666122400203310ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from distutils.version import LooseVersion gl = globals() def do_import(): error = too_old = False try: import panel as pn too_old = LooseVersion(pn.__version__) < LooseVersion("0.9.5") except ImportError as e: error = e if too_old or error: raise RuntimeError("Please install panel to use the GUI `conda " "install -c conda-forge panel>=0.8.0`. Import " "failed with error: %s" % error) from .gui import GUI css = """ .scrolling { overflow: scroll; } """ pn.config.raw_css.append(css) # add scrolling class from css (panel GH#383, GH#384) pn.extension() gl['instance'] = GUI() def __getattr__(attr): if attr == 'instance': do_import() return gl['instance'] def output_notebook(inline=True, logo=False): """ Load the notebook extension Parameters ---------- inline : boolean (optional) Whether to inline JS code or load it from a CDN logo : boolean (optional) Whether to show the logo(s) """ try: import hvplot except ImportError: raise ImportError("The intake plotting API requires hvplot." "hvplot may be installed with:\n\n" "`conda install -c pyviz hvplot` or " "`pip install hvplot`.") import holoviews as hv return hv.extension('bokeh', inline=inline, logo=logo) intake-0.6.5/intake/interface/base.py000066400000000000000000000214161416666122400175100ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from collections import OrderedDict import os import panel as pn MAX_WIDTH = 5000 here = os.path.abspath(os.path.dirname(__file__)) ICONS = { 'logo': os.path.join(here, 'icons', 'logo.png'), 'error': os.path.join(here, 'icons', 'baseline-error-24px.svg'), } def enable_widget(widget, enable=True): """Set disabled on widget""" widget.disabled = not enable def coerce_to_list(items, preprocess=None): """Given an instance or list, coerce to list. With optional preprocessing. """ if not isinstance(items, list): items = [items] if preprocess: items = list(map(preprocess, items)) return items class Base(object): """ Base class for composable panel objects that make up the GUI. Parameters ---------- children: list of panel objects children that will be used to populate the panel when visible panel: panel layout object instance of a panel layout (row or column) that contains children when visible watchers: list of param watchers watchers that are set on children - cleaned up when visible is set to false. visible: bool whether or not the instance should be visible. When not visible ``panel`` is empty. logo : bool, opt whether to show the intake logo in a panel to the left of the main panel. Default is False """ children = None panel = None watchers = None visible_callback = None logo_panel = pn.Column( pn.pane.PNG(ICONS['logo'], align='center'), margin=(25, 0, 0, 0), width=50) logo = False def __init__(self, visible=True, visible_callback=None, logo=False): self.visible = visible self.visible_callback = visible_callback self.logo = logo @property def panel(self): if not self.logo: return self._panel return pn.Row(self.logo_panel, self._panel, margin=0) @panel.setter def panel(self, panel): self._panel = panel def servable(self, *args, **kwargs): return self.panel.servable(*args, **kwargs) def show(self, *args, **kwargs): return self.panel.show(*args, **kwargs) def __repr__(self): """Print output""" return self.panel.__repr__() def _repr_mimebundle_(self, *args, **kwargs): """Display in a notebook or a server""" try: return self.panel._repr_mimebundle_(*args, **kwargs) except: raise NotImplementedError("Panel does not seem to be set " "up properly") def setup(self): """Should instantiate widgets, set ``children``, and set watchers""" raise NotImplementedError @property def visible(self): """Whether or not the instance should be visible.""" return self._visible @visible.setter def visible(self, visible): """When visible changed, do setup or unwatch and call visible_callback""" self._visible = visible pan = getattr(self._panel, '_layout', self._panel) if visible and len(pan.objects) == 0: self.setup() self._panel.extend(self.children) elif not visible and len(pan.objects) > 0: self.unwatch() pan.clear() if self.visible_callback: self.visible_callback(visible) def unwatch(self): """Get rid of any lingering watchers and remove from list""" if self.watchers is not None: unwatched = [] for watcher in self.watchers: watcher.inst.param.unwatch(watcher) unwatched.append(watcher) self.watchers = [w for w in self.watchers if w not in unwatched] def __getstate__(self): """Serialize the current state of the object""" return {'visible': self.visible} def __setstate__(self, state): """Set the current state of the object from the serialized version. Works inplace. See ``__getstate__`` to get serialized version and ``from_state`` to create a new object.""" self.visible = state.get('visible', True) return self @classmethod def from_state(cls, state): """Create a new object from a serialized exising object. Example ------- original = cls() copy = cls.from_state(original.__getstate__()) """ return cls().__setstate__(state) class BaseSelector(Base): """Base class for capturing selector logic. Parameters ---------- preprocess: function run on every input value when creating options widget: panel widget selector widget which this class keeps uptodate with class properties """ preprocess = None widget = None @property def labels(self): """Labels of items in widget""" return self.widget.labels @property def items(self): """Available items to select from""" return self.widget.values @items.setter def items(self, items): """When setting items make sure widget options are uptodate""" if items is not None: self.options = items def _create_options(self, items): """Helper method to create options from list, or instance. Applies preprocess method if available to create a uniform output """ return OrderedDict(map(lambda x: (x.name, x), coerce_to_list(items, self.preprocess))) @property def options(self): """Options available on the widget""" return self.widget.options @options.setter def options(self, new): """Set options from list, or instance of named item Over-writes old options """ options = self._create_options(new) if self.widget.value: self.widget.set_param(options=options, value=list(options.values())[:1]) else: self.widget.options = options self.widget.value = list(options.values())[:1] def add(self, items): """Add items to options""" options = self._create_options(items) for k, v in options.items(): if k in self.labels and v not in self.items: options.pop(k) count = 0 while f'{k}_{count}' in self.labels: count += 1 options[f'{k}_{count}'] = v self.widget.options.update(options) self.widget.param.trigger('options') self.widget.value = list(options.values())[:1] def remove(self, items): """Remove items from options""" items = coerce_to_list(items) new_options = {k: v for k, v in self.options.items() if v not in items} self.widget.options = new_options self.widget.param.trigger('options') @property def selected(self): """Value selected on the widget""" return self.widget.value @selected.setter def selected(self, new): """Set selected from list or instance of object or name. Over-writes existing selection """ def preprocess(item): if isinstance(item, str): return self.options[item] return item items = coerce_to_list(new, preprocess) self.widget.value = items class BaseView(Base): def __getstate__(self, include_source=True): """Serialize the current state of the object. Set include_source to False when using with another panel that will include source.""" if include_source: return { 'visible': self.visible, 'label': self.source._name, 'source': self.source.__getstate__(), } else: return {'visible': self.visible} def __setstate__(self, state): """Set the current state of the object from the serialized version. Works inplace. See ``__getstate__`` to get serialized version and ``from_state`` to create a new object.""" if 'source' in state: self.source = state['source'] self.visible = state.get('visible', True) @property def source(self): return self._source @source.setter def source(self, source): """When the source gets updated, update the select widget""" if isinstance(source, list): # if source is a list, get first item or None source = source[0] if len(source) > 0 else None self._source = source intake-0.6.5/intake/interface/catalog/000077500000000000000000000000001416666122400176325ustar00rootroot00000000000000intake-0.6.5/intake/interface/catalog/__init__.py000066400000000000000000000005051416666122400217430ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #-----------------------------------------------------------------------------intake-0.6.5/intake/interface/catalog/add.py000066400000000000000000000262511416666122400207420ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import ast import os from functools import partial import intake import panel as pn import fsspec from fsspec.registry import known_implementations from ..base import Base, MAX_WIDTH, enable_widget, ICONS class FileSelector(Base): """ Panel interface for picking files The current path is stored in .path and the current selection is stored in .url. Parameters ---------- filters: list of string extentions that are included in the list of files - correspond to catalog extensions. done_callback: func, opt called when the object's main job has completed. In this case, selecting a file. Attributes ---------- url: str path to local catalog file children: list of panel objects children that will be used to populate the panel when visible panel: panel layout object instance of a panel layout (row or column) that contains children when visible watchers: list of param watchers watchers that are set on children - cleaned up when visible is set to false. """ def __init__(self, filters=['yaml', 'yml'], done_callback=None, **kwargs): self.filters = filters self.panel = pn.Column(name='Local', width_policy='max', margin=0) self.done_callback = done_callback self.fs = fsspec.filesystem("file") super().__init__(**kwargs) def setup(self): self.path_text = pn.widgets.TextInput(value=os.getcwd() + '/', width_policy='max') self.protocol = pn.widgets.Select(options=list(sorted(known_implementations)), value='file', name='protocol') self.storage_options = pn.widgets.TextInput(name='kwargs', value="{}") self.go = pn.widgets.Button(name='⇨') self.validator = pn.pane.SVG(None, width=25) self.main = pn.widgets.MultiSelect(size=15, width_policy='max') self.home = pn.widgets.Button(name='🏠', width=40, height=30) self.up = pn.widgets.Button(name='‹', width=30, height=30) self.make_options() self.watchers = [ self.go.param.watch(self.go_clicked, 'clicks'), self.protocol.param.watch(self.protocol_changed, 'value'), #self.path_text.param.watch(self.validate, ['value']), #self.path_text.param.watch(self.make_options, ['value']), self.home.param.watch(self.go_home, 'clicks'), self.up.param.watch(self.move_up, 'clicks'), self.main.param.watch(self.move_down, ['value']) ] self.children = [ pn.Row(self.protocol, self.storage_options), pn.Row(self.home, self.up, self.path_text, self.go, margin=0), self.main ] def protocol_changed(self, *_): self.path_text.value = "" self.main.options = [] self.main.value = [] def go_clicked(self, *_): self.fs = fsspec.filesystem( self.protocol.value, **ast.literal_eval(self.storage_options.value)) self.make_options() @property def path(self): return self.path_text.value @property def url(self): """Path to local catalog file""" return (self.protocol.value + "://" + os.path.join(self.path, self.main.value[0])) def move_up(self, arg=None): self.path_text.value = self.fs._parent(self.path_text.value) self.make_options() def go_home(self, arg=None): self.protocol.value = 'file' self.path_text.value = os.getcwd() + os.path.sep def validate(self, arg=None): """Check that inputted path is valid - set validator accordingly""" if os.path.isdir(self.path): self.validator.object = None else: self.validator.object = ICONS['error'] def make_options(self, arg=None): if self.done_callback: self.done_callback(False) out = [] try: for f in self.fs.ls(self.path, True): bn = os.path.basename(f['name'].rstrip('/')) if bn.startswith('.'): continue elif f['type'] == 'directory': out.append(bn + '/') elif not self.filters or any(bn.endswith(ext) for ext in self.filters): out.append(bn) except Exception as e: print(e) self.main.value = [] self.main.options = sorted(out) def move_down(self, *events): for event in events: if event.name == 'value' and len(event.new) > 0: fn = event.new[0] if fn.endswith('/'): if self.path_text.value: self.path_text.value = os.path.join(self.path_text.value, fn) else: self.path_text.value = fn self.make_options() elif self.done_callback: self.done_callback(True) def __getstate__(self): """Serialize the current state of the object.""" return { 'path': self.path, 'selected': self.main.value } def __setstate__(self, state): """Set the current state of the object from the serialized version. Works inplace. See ``__getstate__`` to get serialized version and ``from_state`` to create a new object.""" self.path_text.value = state['path'] self.main.value = state['selected'] return self class URLSelector(Base): """ Panel interface for inputting a URL to a remote catalog The inputted URL is stored in .url. Attributes ---------- url: str url to remote files (including protocol) children: list of panel objects children that will be used to populate the panel when visible panel: panel layout object instance of a panel layout (row or column) that contains children when visible watchers: list of param watchers watchers that are set on children - cleaned up when visible is set to false. """ def __init__(self, **kwargs): self.panel = pn.Row(name='URL', width_policy='max', margin=0) super().__init__(**kwargs) def setup(self): self.main = pn.widgets.TextInput( placeholder="Full URL with protocol", width_policy='max') self.children = ['URL:', self.main] @property def url(self): """URL to remote files (including protocol)""" return self.main.value def __getstate__(self): """Serialize the current state of the object.""" return {'url': self.url} def __setstate__(self, state): """Set the current state of the object from the serialized version. Works inplace. See ``__getstate__`` to get serialized version and ``from_state`` to create a new object.""" self.main.value = state['url'] return self class CatAdder(Base): """Panel for adding new cats from local file or remote Parameters ---------- done_callback: function with cat as input function that is called when the "Add Catalog" button is clicked. Attributes ---------- cat_url: str url to remote files or path to local files. Depends on active tab cat: catalog catalog object initialized from from cat_url children: list of panel objects children that will be used to populate the panel when visible panel: panel layout object instance of a panel layout (row or column) that contains children when visible watchers: list of param watchers watchers that are set on children - cleaned up when visible is set to false. """ tabs = None def __init__(self, done_callback=None, **kwargs): self.done_callback = done_callback self.panel = pn.Column(name='Add Catalog', width_policy='max', max_width=MAX_WIDTH, margin=0) self.widget = pn.widgets.Button(name='Add Catalog', disabled=True, width_policy='min') self.fs = FileSelector(done_callback=partial(enable_widget, self.widget)) self.url = URLSelector() super().__init__(**kwargs) def setup(self): self.selectors = [self.fs, self.url] self.tabs = pn.Tabs(*map(lambda x: x.panel, self.selectors)) self.validator = pn.pane.SVG(None, width=25) self.watchers = [ self.widget.param.watch(self.add_cat, 'clicks'), self.tabs.param.watch(self.tab_change, 'active'), self.fs.main.param.watch(self.remove_error, 'value'), self.url.main.param.watch(self.remove_error, 'value'), ] self.children = [self.tabs, pn.Row(self.widget, self.validator)] @property def cat_url(self): """URL to remote files or path to local files. Depends on active tab.""" url = self.selectors[self.tabs.active].url if self.selectors[self.tabs.active] is self.fs: fs = self.fs.fs else: fs = None return url, fs @property def cat(self): """Catalog object initialized from from cat_url""" # might want to do some validation in here url, fs = self.cat_url if fs: return intake.open_catalog(url, fs=fs) else: return intake.open_catalog(url) def add_cat(self, arg=None): """Add cat and close panel""" try: self.done_callback(self.cat) self.visible = False except Exception as e: self.validator.object = ICONS['error'] raise e def remove_error(self, *args): """Remove error from the widget""" self.validator.object = None def tab_change(self, event): """When tab changes remove error, and enable widget if on url tab""" self.remove_error() if event.new == 1: self.widget.disabled = False def __getstate__(self): """Serialize the current state of the object""" return { 'visible': self.visible, 'local': self.fs.__getstate__(), 'remote': self.url.__getstate__(), 'active': self.tabs.active if self.tabs else 0 } def __setstate__(self, state): """Set the current state of the object from the serialized version. Works inplace. See ``__getstate__`` to get serialized version and ``from_state`` to create a new object.""" self.fs.__setstate__(state['local']) self.url.__setstate__(state['remote']) self.visible = state.get('visible', True) if self.visible: self.tabs.active = state['active'] return self intake-0.6.5/intake/interface/catalog/gui.py000066400000000000000000000137101416666122400207720ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from functools import partial import panel as pn from ..base import Base, enable_widget, MAX_WIDTH from .select import CatSelector from .add import CatAdder from .search import Search class CatGUI(Base): """ Top level GUI panel that contains controls and all visible sub-panels This class is responsible for coordinating the inputs and outputs of various sup-panels and their effects on each other. Parameters ---------- cats: list of catalogs catalogs used to initalize the select done_callback: func, opt called when the object's main job has completed. In this case, selecting catalog(s). Attributes ---------- children: list of panel objects children that will be used to populate the panel when visible panel: panel layout object instance of a panel layout (row or column) that contains children when visible watchers: list of param watchers watchers that are set on children - cleaned up when visible is set to false. """ def __init__(self, cats=None, done_callback=None, **kwargs): self._cats = cats self.panel = pn.Column(name='Catalogs', width_policy='max', max_width=MAX_WIDTH) self.done_callback = done_callback or (lambda x: x) self.add_widget = pn.widgets.Toggle( name='+', value=False, disabled=False, width=50) self.remove_widget = pn.widgets.Button( name='―', disabled=True, width=50) self.search_widget = pn.widgets.Toggle( name='🔍', value=False, disabled=True, width=50) self.controls = [ self.add_widget, self.remove_widget, self.search_widget, ] self.control_panel = pn.Row(name='Controls', margin=0) self.select = CatSelector(cats=self._cats, done_callback=self.callback) self.add = CatAdder(done_callback=self.select.add, visible=self.add_widget.value, visible_callback=partial(setattr, self.add_widget, 'value')) self.search = Search(cats=self.cats, done_callback=self.select.add, visible=self.search_widget.value, visible_callback=partial(setattr, self.search_widget, 'value')) self.children = [ self.select.panel, self.control_panel, self.search.panel, self.add.panel, ] super().__init__(**kwargs) def setup(self): self.watchers = [ self.add_widget.link(self.add, value='visible'), self.search_widget.param.watch(self.on_click_search_widget, 'value'), self.remove_widget.param.watch(self.select.remove_selected, 'clicks'), ] @Base.visible.setter def visible(self, visible): """When visible changed, do setup or unwatch and call visible_callback""" self._visible = visible if visible and len(self._panel.objects) == 0: self.setup() self.select.visible = True self.control_panel.extend(self.controls) self._panel.extend(self.children) elif not visible and len(self._panel.objects) > 0: self.unwatch() # do children self.select.visible = False self.control_panel.clear() self.search.visible = False self.add.visible = False self._panel.clear() if self.visible_callback: self.visible_callback(visible) def callback(self, cats): """When a catalog is selected, enable widgets that depend on that condition and do done_callback""" enable = bool(cats) if not enable: # close search if it is visible self.search.visible = False enable_widget(self.search_widget, enable) enable_widget(self.remove_widget, enable) if self.done_callback: self.done_callback(cats) def on_click_search_widget(self, event): """ When the search control is toggled, set visibility and hand down cats""" self.search.cats = self.cats self.search.visible = event.new if self.search.visible: self.search.watchers.append( self.select.widget.link(self.search, value='cats')) @property def cats(self): """Cats that have been selected from the select""" return self.select.selected def __getstate__(self): """Serialize the current state of the object""" return { 'visible': self.visible, 'select': self.select.__getstate__(), 'add': self.add.__getstate__(), 'search': self.search.__getstate__(include_cats=False), } def __setstate__(self, state): """Set the current state of the object from the serialized version. Works inplace. See ``__getstate__`` to get serialized version and ``from_state`` to create a new object.""" self.visible = state.get('visible', True) if self.visible: self.select.__setstate__(state['select']) self.add.__setstate__(state['add']) self.search.__setstate__(state['search']) return self @classmethod def from_state(cls, state): """Create a new object from a serialized verion of another one. Example ------- original = CatGUI() copy = CatGUI.from_state(original.__getstate__()) """ return cls(cats=[]).__setstate__(state) intake-0.6.5/intake/interface/catalog/search.py000066400000000000000000000126271416666122400214610ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import panel as pn from ..base import Base, MAX_WIDTH class SearchInputs(Base): """Input areas to control search parameters Attributes ---------- text: str text to use in search. Displayed in text_widget depth: int or 'All' depth of nestedness to use in search. Displayed in depth_widget. children: list of panel objects children that will be used to populate the panel when visible panel: panel layout object instance of a panel layout (row or column) that contains children when visible watchers: list of param watchers watchers that are set on children - cleaned up when visible is set to false. """ def __init__(self, **kwargs): self.panel = pn.Row(name='Search Inputs', height_policy='min', margin=0) super().__init__(**kwargs) def setup(self): text_label = pn.pane.Markdown('Search Text:', align='center') depth_label = pn.pane.Markdown('Depth:', align='center') self.text_widget = pn.widgets.TextInput( placeholder="Set of words", width_policy='max', align='center') self.depth_widget = pn.widgets.Select( options=['1', '2', '3', '4', '5', 'All'], width=80, height=30, align='center') self.children = [text_label, self.text_widget, depth_label, self.depth_widget] @property def text(self): """Text to use in search. Displayed in text_widget""" return self.text_widget.value @text.setter def text(self, text): self.text_widget.value = text @property def depth(self): """Depth of nestedness to use in search. Displayed in depth_widget""" return int(self.depth_widget.value) if self.depth_widget.value != 'All' else 99 @depth.setter def depth(self, depth): if isinstance(depth, int): depth = str(depth) if depth <=5 else 'All' self.depth_widget.value = depth def __getstate__(self): """Serialize the current state of the object""" return { 'text': self.text, 'depth': self.depth, } def __setstate__(self, state): """Set the current state of the object from the serialized version. Works inplace. See ``__getstate__`` to get serialized version and ``from_state`` to create a new object.""" self.text = state['text'] self.depth = state['depth'] return self class Search(Base): """Search panel for searching a list of catalogs Parameters ---------- cats: list of catalogs catalogs that will be searched done_callback: function with cats as input function that is called when new cats have been generated via the search functionality Attributes ---------- children: list of panel objects children that will be used to populate the panel when visible panel: panel layout object instance of a panel layout (row or column) that contains children when visible watchers: list of param watchers watchers that are set on children - cleaned up when visible is set to false. """ def __init__(self, cats, done_callback=None, **kwargs): self.cats = cats self.done_callback = done_callback self.panel = pn.Row(name='Search', height_policy='min', width_policy='max', max_width=MAX_WIDTH, margin=0) self.inputs = SearchInputs() super().__init__(**kwargs) def setup(self): self.widget = pn.widgets.Button(name='🔍', width=50, align='center') self.watchers = [ self.widget.param.watch(self.do_search, 'clicks') ] self.children = [self.inputs.panel, self.widget] def do_search(self, arg=None): """Do search and close panel""" new_cats = [] for cat in self.cats: new_cat = cat.search(self.inputs.text, depth=self.inputs.depth) if len(list(new_cat)) > 0: new_cats.append(new_cat) if len(new_cats) > 0: self.done_callback(new_cats) self.visible = False def __getstate__(self, include_cats=True): """Serialize the current state of the object. Set include_cats to False when using with another panel that will include cats.""" state = { 'visible': self.visible, 'inputs': self.inputs.__getstate__() } if include_cats: state['cats'] = [cat.__getstate__() for cat in self.cats] return state def __setstate__(self, state): """Set the current state of the object from the serialized version. Works inplace. See ``__getstate__`` to get serialized version and ``from_state`` to create a new object.""" if 'cats' in state: self.cats = state['cats'] self.visible = state.get('visible', True) self.inputs.__setstate__(state['inputs']) return self intake-0.6.5/intake/interface/catalog/select.py000066400000000000000000000140071416666122400214650ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from collections import OrderedDict import intake from intake.utils import remake_instance import panel as pn from ..base import BaseSelector class CatSelector(BaseSelector): """ The cat selector takes a variety of inputs such as a catalog instance, a path to a catalog, or a list of either of those. Once the cat selector is populated with these options, the user can select which catalog(s) are of interest. These catalogs are stored on the ``selected`` property of the class. Parameters ---------- cats: list of catalogs, opt catalogs used to initalize, can be provided as objects or urls pointing to local or remote catalogs. done_callback: func, opt called when the object's main job has completed. In this case, selecting catalog(s). Attributes ---------- selected: list of cats list of selected cats items: list of cats list of all the catalog values represented in widget labels: list of str list of labels for all the catalog represented in widget options: dict dict of widget labels and values (same as `dict(zip(self.labels, self.values))`) children: list of panel objects children that will be used to populate the panel when visible panel: panel layout object instance of a panel layout (row or column) that contains children when visible watchers: list of param watchers watchers that are set on children - cleaned up when visible is set to false. """ children = [] @classmethod def preprocess(cls, cat): """Function to run on each cat input""" if isinstance(cat, str): cat = intake.open_catalog(cat) return cat def __init__(self, cats=None, done_callback=None, **kwargs): """Set cats to initialize the class. The order of the calls in this method matters and is different from the order in other panel init methods because the top level gui class needs to be able to watch these widgets. """ self.panel = pn.Column(name='Select Catalog', margin=0) self.widget = pn.widgets.MultiSelect(size=9, min_width=200, width_policy='min') self.done_callback = done_callback super().__init__(**kwargs) self.items = cats if cats is not None else [intake.cat] def setup(self): label = pn.pane.Markdown('#### Catalogs', max_height=40) self.watchers = [ self.widget.param.watch(self.callback, 'value'), ] self.children = [label, self.widget] def callback(self, event): self.expand_nested(event.new) if self.done_callback: self.done_callback(event.new) def expand_nested(self, cats): """Populate widget with nested catalogs""" down = '│' right = '└──' def get_children(parent): out = [] for k, e in parent._entries.items(): try: if e.describe()['container'] == 'catalog': out.append(e()) except IOError: # may fail to load pass return out if len(cats) == 0: return cat = cats[0] old = list(self.options.items()) name = next(k for k, v in old if v == cat) index = next(i for i, (k, v) in enumerate(old) if v == cat) if right in name: prefix = f'{name.split(right)[0]}{down} {right}' else: prefix = right children = get_children(cat) for i, child in enumerate(children): old.insert(index+i+1, (f'{prefix} {child.name}', child)) self.widget.options = dict(old) def collapse_nested(self, cats, max_nestedness=10): """ Collapse any items that are nested under cats. `max_nestedness` acts as a fail-safe to prevent infinite looping. """ children = [] removed = set() nestedness = max_nestedness old = list(self.widget.options.values()) nested = [cat for cat in old if getattr(cat, 'cat') is not None] parents = {cat.cat for cat in nested} parents_to_remove = cats while len(parents_to_remove) > 0 and nestedness > 0: for cat in nested: if cat.cat in parents_to_remove: children.append(cat) removed = removed.union(parents_to_remove) nested = [cat for cat in nested if cat not in children] parents_to_remove = {c for c in children if c in parents - removed} nestedness -= 1 self.remove(children) def remove_selected(self, *args): """Remove the selected catalog - allow the passing of arbitrary args so that buttons work. Also remove any nested catalogs.""" self.collapse_nested(self.selected) self.remove(self.selected) def __getstate__(self): """Serialize the current state of the object""" return { 'visible': self.visible, 'labels': self.labels, 'cats': [cat.__getstate__() for cat in self.items], 'selected': [k for k, v in self.options.items() if v in self.selected], } def __setstate__(self, state): """Set the current state of the object from the serialized version. Works inplace. See ``__getstate__`` to get serialized version and ``from_state`` to create a new object.""" cats, labels = state['cats'], state['labels'] self.widget.options = {l: remake_instance(cat) for l, cat in zip(labels, cats)} self.selected = state.get('selected', []) self.visible = state.get('visible', True) return self intake-0.6.5/intake/interface/catalog/tests/000077500000000000000000000000001416666122400207745ustar00rootroot00000000000000intake-0.6.5/intake/interface/catalog/tests/__init__.py000066400000000000000000000000001416666122400230730ustar00rootroot00000000000000intake-0.6.5/intake/interface/catalog/tests/test_catalog_add.py000066400000000000000000000063571416666122400246420ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import pytest pn = pytest.importorskip('panel') def callback(args): """Raises an error if called""" raise ValueError('Callback provided:', args) @pytest.fixture def file_selector(): from ..add import FileSelector return FileSelector() @pytest.fixture def url_selector(): from ..add import URLSelector return URLSelector() @pytest.fixture def cat_adder(): from ..add import CatAdder return CatAdder() def test_file_selector(file_selector): assert file_selector.path == os.getcwd() + '/' def test_file_selector_raises_error_if_no_file_selected(file_selector): with pytest.raises(IndexError, match='list index out of range'): file_selector.url def test_file_selector_edit_path(file_selector): expected = os.getcwd() file_selector.move_up() file_selector.path_text.value = os.getcwd() assert file_selector.validator.object is None assert file_selector.path == expected def test_file_selector_go_home(file_selector): expected = os.getcwd() + '/' assert file_selector.path == expected file_selector.move_up() file_selector.go_home() assert file_selector.path == expected def test_file_selector_move_up(file_selector): assert file_selector.path == os.getcwd() + '/' file_selector.move_up() expected = os.path.abspath('..') assert file_selector.path == expected def test_file_selector_move_down(file_selector): expected = os.getcwd() + '/' dirname = expected.split('/')[-2] + '/' # move up so that we know we will be able to move down into # intial dir file_selector.move_up() # setting the value on main widget will trigger move down file_selector.main.value = [dirname] assert file_selector.path == expected # should empty the selection on main assert file_selector.main.value == [] def test_url_selector(url_selector): assert url_selector.url == '' assert url_selector.visible assert len(url_selector.panel.objects) == 2 def test_url_selector_set_visible_to_false(url_selector): url_selector.visible = False assert url_selector.visible is False assert len(url_selector.panel.objects) == 0 def test_cat_adder(cat_adder): assert cat_adder.visible is True assert cat_adder.tabs.active == 0 assert cat_adder.widget.disabled is True assert len(cat_adder.panel.objects) == 2 cat_adder.tabs.active = 1 assert cat_adder.cat_url[0] == '' assert cat_adder.cat.name is None assert cat_adder.widget.disabled is False cat_adder.done_callback = callback with pytest.raises(ValueError, match='None'): cat_adder.add_cat() def test_cat_adder_add_real_cat(cat_adder, cat1_url, cat1): cat_adder.tabs.active = 1 cat_adder.url.main.value = cat1_url assert cat_adder.cat_url[0] == cat1_url assert cat_adder.cat == cat1 cat_adder.done_callback = callback with pytest.raises(ValueError, match=str(cat1)): cat_adder.add_cat() intake-0.6.5/intake/interface/catalog/tests/test_catalog_search.py000066400000000000000000000041111416666122400253410ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import pytest pytest.importorskip('panel') @pytest.fixture def search_inputs(cat1, cat2): from ..search import SearchInputs return SearchInputs() def test_search_inputs(search_inputs): assert search_inputs.visible assert len(search_inputs.children) == 4 assert len(search_inputs.panel.objects) == 4 def test_search_inputs_text_prop_equal_to_widget_value(search_inputs): search_inputs.text = 'some text' assert search_inputs.text_widget.value == 'some text' def test_search_inputs_depth_prop_parses_to_int(search_inputs): search_inputs.depth = '2' assert search_inputs.depth == 2 search_inputs.depth = 'All' assert search_inputs.depth == 99 @pytest.fixture def search(cat1, cat2): from ..search import Search return Search(cats=[cat1, cat2]) def test_search(search): assert search.visible assert len(search.children) == 2 assert len(search.panel.objects) == 2 def test_search_watchers_gets_populated(search): assert len(search.watchers) == 1 def test_search_widget_click_tries_to_run_callback(search): search.inputs.text = 'flight' with pytest.raises(TypeError, match="'NoneType' object is not callable"): search.widget.clicks = 1 def test_search_unwatch_watchers_get_cleaned_up(search): search.unwatch() assert len(search.watchers) == 0 search.inputs.text = 'flight' # does not try to run callback search.widget.clicks = 2 def test_callback_gets_right_input(search): def callback(new_cats): """Raises an error if called""" raise ValueError('New catalogs', new_cats) search.inputs.text = 'flight' search.done_callback = callback with pytest.raises(ValueError, match=''): search.widget.clicks = 3 intake-0.6.5/intake/interface/catalog/tests/test_gui.py000066400000000000000000000045671416666122400232050ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import pytest pn = pytest.importorskip('panel') @pytest.fixture def gui(cat1, cat2): from ..gui import CatGUI return CatGUI(cats=[cat1, cat2]) def test_gui(gui, cat1, cat2): assert gui.select.items == [cat1, cat2] assert gui.cats == [cat1] assert not gui.add.watchers assert gui.add.visible is False assert gui.add_widget.disabled is False assert not gui.search.watchers assert gui.search.visible is False assert gui.search_widget.disabled is False def test_gui_close_and_open_select(gui, cat2, sources2): gui.select.selected = [cat2] gui.select.visible = False assert not gui.select.watchers assert gui.search_widget.disabled is False gui.select.visible = True assert len(gui.select.watchers) == 1 assert gui.select.selected == [cat2] assert gui.search_widget.disabled is False def test_gui_getstate(gui, cat1, sources1): state = gui.__getstate__() assert state['visible']is True assert state['add']['visible'] is False assert state['search']['visible'] is False assert state['select']['selected'] == [cat1.name] def test_gui_state_roundtrip(gui, cat1, cat2, sources1): from ..gui import CatGUI other = CatGUI.from_state(gui.__getstate__()) assert other.select.items == [cat1, cat2] assert other.cats == [cat1] assert other.search.visible is False assert other.add.visible is False def test_gui_state_roundtrip_with_subpanels(gui, cat1, cat2, sources1): from ..gui import CatGUI gui.search.visible = True gui.search.inputs.text = 'foo' gui.search.inputs.depth = 3 gui.add.visible = True gui.add.tabs.active = 1 other = CatGUI.from_state(gui.__getstate__()) assert other.select.items == [cat1, cat2] assert other.cats == [cat1] assert other.search.visible is True assert other.search_widget.value is True assert other.search.inputs.text == 'foo' assert other.search.inputs.depth == 3 assert other.add.visible is True assert other.add_widget.value is True assert other.add.widget.disabled is False intake-0.6.5/intake/interface/catalog/tests/test_select.py000066400000000000000000000065551416666122400236770ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import intake import pytest pytest.importorskip('panel') def assert_widget_matches(browser): assert browser.options == browser.widget.options assert browser.selected == browser.widget.value def test_catalog_browser_init_emtpy(): from ..select import CatSelector cat_browser = CatSelector() assert cat_browser.selected == [intake.cat] assert_widget_matches(cat_browser) def test_catalog_browser(cat_browser, cat1): assert cat_browser.items == [cat1] assert cat1.name in cat_browser.options assert cat_browser.selected == [cat1] assert_widget_matches(cat_browser) def test_catalog_browser_set_to_visible_and_back(cat_browser, cat1): cat_browser.visible = False assert len(cat_browser.watchers) == 0 cat_browser.visible = True assert len(cat_browser.watchers) == 1 assert cat_browser.items == [cat1] assert cat1.name in cat_browser.options assert cat_browser.selected == [cat1] assert_widget_matches(cat_browser) def test_catalog_browser_add(cat_browser, cat2): cat_browser.add(cat2) assert cat2.name in cat_browser.options assert cat_browser.selected == [cat2] assert_widget_matches(cat_browser) def test_catalog_browser_add_list(cat_browser, cat2): cat_browser.add([cat2]) assert cat2.name in cat_browser.options assert cat_browser.selected == [cat2] assert_widget_matches(cat_browser) def test_catalog_browser_add_cat_as_str(cat_browser, cat2, cat2_url): cat_browser.add(cat2_url) assert cat2.name in cat_browser.options assert cat_browser.selected == [cat2] assert_widget_matches(cat_browser) def test_catalog_browser_add_nested_catalog(cat_browser, parent_cat): cat_browser.add(parent_cat) assert parent_cat.name in cat_browser.options assert cat_browser.selected == [parent_cat] assert list(cat_browser.options.keys()) == ['catalog1', 'parent', '└── child1', '└── child2'] assert_widget_matches(cat_browser) def test_catalog_browser_select_cat_by_widget(cat_browser, cat1): cat_browser.selected = [] assert cat_browser.selected == [] assert_widget_matches(cat_browser) cat_browser.widget.value = [cat1] assert cat_browser.selected == [cat1] assert_widget_matches(cat_browser) def test_catalog_browser_remove_selected_cat(cat_browser, cat1): cat_browser.remove_selected() assert cat1 not in cat_browser.options assert cat_browser.selected == [] assert_widget_matches(cat_browser) def test_catalog_browser_remove_cat_that_is_not_in_options_passes(cat_browser, cat2): assert cat2.name not in cat_browser.options cat_browser.remove(cat2) def test_catalog_browser_remove_nested_catalog(cat_browser, parent_cat): cat_browser.add(parent_cat) assert parent_cat.name in cat_browser.options assert cat_browser.selected == [parent_cat] assert list(cat_browser.options.keys()) == ['catalog1', 'parent', '└── child1', '└── child2'] cat_browser.remove_selected() assert list(cat_browser.options.keys()) == ['catalog1'] assert_widget_matches(cat_browser) intake-0.6.5/intake/interface/conftest.py000066400000000000000000000025641416666122400204260ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import pytest import intake here = os.path.abspath(os.path.dirname(__file__)) @pytest.fixture def cat1_url(): return os.path.join(here, 'tests', 'catalogs', 'catalog1.yaml') @pytest.fixture def cat2_url(): return os.path.join(here, 'tests', 'catalogs', 'catalog2.yaml') @pytest.fixture def parent_cat_url(): return os.path.join(here, 'tests', 'catalogs', 'parent.yaml') @pytest.fixture def cat1(cat1_url): return intake.open_catalog(cat1_url) @pytest.fixture def cat2(cat2_url): return intake.open_catalog(cat2_url) @pytest.fixture def parent_cat(parent_cat_url): return intake.open_catalog(parent_cat_url) @pytest.fixture def cat_browser(cat1): from .catalog.select import CatSelector return CatSelector(cats=[cat1]) @pytest.fixture def sources1(cat1): return list(cat1._entries.values()) @pytest.fixture def sources2(cat2): return list(cat2._entries.values()) @pytest.fixture def source_browser(sources1): from .source.select import SourceSelector return SourceSelector(sources=sources1) intake-0.6.5/intake/interface/gui.py000066400000000000000000000073731416666122400173700ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import intake import panel as pn from .base import Base, MAX_WIDTH, ICONS from .catalog.gui import CatGUI from .source.gui import SourceGUI class GUI(Base): """ Top level GUI panel that contains controls and all visible sub-panels This class is responsible for coordinating the inputs and outputs of various sup-panels and their effects on each other. Parameters ---------- cats: list of catalogs catalogs used to initalize the cat panel Attributes ---------- children: list of panel objects children that will be used to populate the panel when visible panel: panel layout object instance of a panel layout (row or column) that contains children when visible watchers: list of param watchers watchers that are set on children - cleaned up when visible is set to false. """ def __init__(self, cats=None): self.source = SourceGUI() self.cat = CatGUI(cats=cats, done_callback=self.done_callback) self.panel = pn.Column( pn.Row( pn.panel(ICONS['logo']), pn.Column( self.cat.select.panel, self.cat.control_panel, margin=0, width_policy='max'), pn.Column( self.source.select.panel, self.source.control_panel, margin=0, width_policy='max' ), self.source.description.panel, margin=0, width_policy='max' ), pn.Row(self.cat.search.panel, self.cat.add.panel, self.source.plot.panel, width_policy='max'), width_policy='max' ) super(GUI, self).__init__() def done_callback(self, cats): self.source.select.cats = cats @property def cats(self): """Cats that have been selected from the cat sub-panel""" return self.cat.cats def add(self, *args, **kwargs): """Add to list of cats""" return self.cat.select.add(*args, **kwargs) @property def sources(self): """Sources that have been selected from the source sub-panel""" return self.source.sources @property def source_instance(self): """DataSource instance for the current selection and any parameters""" return self.source.source_instance @property def item(self): """Item that is selected""" if len(self.sources) == 0: return None return self.sources[0] def __getstate__(self): """Serialize the current state of the object""" return { 'visible': self.visible, 'cat': self.cat.__getstate__(), 'source': self.source.__getstate__(), } def __setstate__(self, state): """Set the current state of the object from the serialized version. Works inplace. See ``__getstate__`` to get serialized version and ``from_state`` to create a new object.""" self.visible = state.get('visible', True) self.cat.__setstate__(state['cat']) self.source.__setstate__(state['source']) return self @classmethod def from_state(cls, state): """Create a new object from a serialized exising object. Example ------- original = GUI() copy = GUI.from_state(original.__getstate__()) """ return cls(cats=[]).__setstate__(state) intake-0.6.5/intake/interface/icons/000077500000000000000000000000001416666122400173335ustar00rootroot00000000000000intake-0.6.5/intake/interface/icons/baseline-check-24px.svg000066400000000000000000000002731416666122400235060ustar00rootroot00000000000000intake-0.6.5/intake/interface/icons/baseline-error-24px.svg000066400000000000000000000003521416666122400235600ustar00rootroot00000000000000intake-0.6.5/intake/interface/icons/logo.png000066400000000000000000000030241416666122400210000ustar00rootroot00000000000000PNG  IHDR.#'8gAMA a cHRMz&u0`:pQ< pHYs  YiTXtXML:com.adobe.xmp 1 L'Y%IDATX NjTA׬0 QTLxЋx*?ճI^P1縦..*Ŝ~[3ogF7,W^OOCC}2(-[!K-H~9gu#Y5kSXņ~+m?1zqlBx ?S8WQnt\b8se'5|9N{jn:`@~ oZ]!X*4 OSX*8$Q*l nLԒk*!J>/%9gV?Y_Ax&TfT^ɡYW+^ tY% kᢰ["xb{$I 'Cq-5fMyf^(@I.O6l$|O>ȍ4IY% UպIӂwp2B}gV&H1f갟k4i^tM:'}[&X8NUS6~~>=X@+*~:,?Ka!o-#B܇. Y]'K*,?*7iN)^(I$c GXu׋bI8x !="f.GDž3Ò^K›bׅIҗH. v&h+B$M _C^ y>W$טo~;s 9.kM !o D>ޣ_IL"y2䕝$7Ҽ3}Sq{(oˆrp^>$CLϬn91H|Iˬ^j# @~Nq^l#]3}Y6G!>FR;8?:HFPkr*7s=Jގsu9 C\m87BSތmncį$/1)Q^ʍ}?Mr>_/5IENDB`intake-0.6.5/intake/interface/server.py000066400000000000000000000010211416666122400200720ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- """ The simplest possible panel server. To launch a panel server containing the intake gui run: panel serve intake/interface/server.py """ import intake.interface intake.interface.instance.servable() intake-0.6.5/intake/interface/source/000077500000000000000000000000001416666122400175205ustar00rootroot00000000000000intake-0.6.5/intake/interface/source/__init__.py000066400000000000000000000005051416666122400216310ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #-----------------------------------------------------------------------------intake-0.6.5/intake/interface/source/defined_plots.py000066400000000000000000000145511416666122400227170ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from distutils.version import LooseVersion try: import dfviz assert LooseVersion(dfviz.__version__) >= LooseVersion("0.1.0") except ImportError: dfviz = False try: import xrviz from xrviz.dashboard import Dashboard as XRViz assert LooseVersion(xrviz.__version__) >= LooseVersion("0.1.1") except ImportError: xrviz = False import panel as pn from ..base import BaseView from ...catalog.local import LocalCatalogEntry class Plots(BaseView): """ Panel for displaying pre-defined plots from catalog. Parameters ---------- source: intake catalog entry, or list of same source to describe in this object Attributes ---------- has_plots: bool whether the source has plots defined instructions_contents: str instructions to put on the plot selector label options: list plots options defined on the source selected: str name of selected plot children: list of panel objects children that will be used to populate the panel when visible panel: panel layout object instance of a panel layout (row or column) that contains children when visible watchers: list of param watchers watchers that are set on children - cleaned up when visible is set to false. """ select = None def __init__(self, source=None, **kwargs): self.custom = pn.widgets.Button(name='Customize...', width_policy='min', align='center') self.source = source self.panel = pn.Column(name='Plot', width_policy='max', margin=0) super().__init__(**kwargs) def setup(self): self.instructions = pn.pane.Markdown( self.instructions_contents, align='center', width_policy='max') self.select = pn.widgets.Select(options=self.options, height=30, align='center', min_width=200) self.pane = pn.pane.HoloViews(self._plot_object(self.selected), name="Plot") self.watchers = [ self.select.param.watch(self.callback, ['options', 'value']), self.custom.param.watch(self.interact, ['clicks']) ] self.out = pn.Row(self.pane, name="Plot") self.children = [ pn.Row( self.instructions, self.select, self.custom ), self.out, ] @BaseView.source.setter def source(self, source): """When the source gets updated, update the the options in the selector""" if source and isinstance(source, list): source = source[0] if isinstance(source, LocalCatalogEntry): source = source() BaseView.source.fset(self, source) if self.select: self.select.options = self.options if source and dfviz and source.container == 'dataframe': self.custom.disabled = False elif source and xrviz and source.container in ['xarray', 'ndarray', 'numpy']: self.custom.disabled = False else: self.custom.disabled = True @property def has_plots(self): """Whether the source has plots defined""" return self.source is not None and len(self._source.plots) > 0 @property def instructions_contents(self): """Instructions to put on the plot selector label""" if self.has_plots: return '**Select from the predefined plots:**' return '*No predefined plots found - declare these in the catalog*' @property def options(self): """Plots options defined on the source""" return (['None'] + self.source.plots) if self.source is not None else [] @property def selected(self): """Name of selected plot""" return self.select.value if self.select is not None else None @selected.setter def selected(self, selected): """When plot is selected set, make sure widget stays upto date""" self.select.value = selected def callback(self, *events): for event in events: if event.name == 'value': self.pane.object = self._plot_object(event.new) if event.name == 'options': self.instructions.object = self.instructions_contents def interact(self, _): # "customize" was pressed if self.selected == 'None': kwargs = {} else: kwargs = self.source.metadata['plots'][self.selected] if self.source.container == 'dataframe': df = self.source.to_dask() if df.npartitions == 1: df = df.compute() viz = dfviz.DFViz(df, **kwargs) elif self.source.container in ['xarray', 'ndarray', 'numpy']: import xarray try: data = self.source.to_dask() except NotImplementedError: data = self.source.read() if not isinstance(data, (xarray.DataArray, xarray.Dataset)): data = xarray.DataArray(data) viz = XRViz(data, **kwargs) else: return self.out[0] = viz.panel def _plot_object(self, selected): if selected and str(selected) != "None": plot_method = getattr(self.source.plot, selected) self.out[0] = self.pane if plot_method: return plot_method() def __getstate__(self, include_source=True): """Serialize the current state of the object. Set include_source to False when using with another panel that will include source.""" state = super().__getstate__(include_source) state.update({ 'selected': self.selected, }) return state def __setstate__(self, state): """Set the current state of the object from the serialized version. Works inplace. See ``__getstate__`` to get serialized version and ``from_state`` to create a new object.""" super().__setstate__(state) if self.visible: self.selected = state.get('selected') return self intake-0.6.5/intake/interface/source/description.py000066400000000000000000000042031416666122400224140ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import panel as pn from ..base import BaseView from ...utils import pretty_describe class Description(BaseView): """ Class for displaying a textual description of a data source. Parameters ---------- source: intake catalog entry, or list of same source to describe in this object Attributes ---------- contents: str string representation of the source's description label: str label to display at top of panel - contains name of source children: list of panel objects children that will be used to populate the panel when visible panel: panel layout object instance of a panel layout (row or column) that contains children when visible watchers: list of param watchers watchers that are set on children - cleaned up when visible is set to false. """ main_pane = None def __init__(self, source=None, **kwargs): self.source = source self.panel = pn.Column(name='Description', width_policy='max', margin=0, height=240, sizing_mode='stretch_width', scroll=True) super().__init__(**kwargs) def setup(self): self.main_pane = pn.pane.Markdown(self.contents) self.children = [self.main_pane] @BaseView.source.setter def source(self, source): """When the source gets updated, update the pane object""" BaseView.source.fset(self, source) if self.main_pane: self.main_pane.object = """```yaml\n{}\n```""".format(self.contents) @property def contents(self): """String representation of the source's description""" if not self._source: return 'name: ' + "⠀" * 30 contents = self.source.describe() return pretty_describe(contents) intake-0.6.5/intake/interface/source/gui.py000066400000000000000000000204171416666122400206620ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from functools import partial import panel as pn from ..base import Base, enable_widget, MAX_WIDTH from .select import SourceSelector from .defined_plots import Plots from .description import Description class SourceGUI(Base): """ Top level GUI panel that contains controls and all visible sub-panels This class is responsible for coordinating the inputs and outputs of various sup-panels and their effects on each other. Parameters ---------- cats: list of catalogs, opt catalogs used to initalize, provided as objects. sources: list of sources, opt sources used to initalize, provided as objects. done_callback: func, opt called when the object's main job has completed. In this case, selecting source(s). Attributes ---------- children: list of panel objects children that will be used to populate the panel when visible panel: panel layout object instance of a panel layout (row or column) that contains children when visible watchers: list of param watchers watchers that are set on children - cleaned up when visible is set to false. """ def __init__(self, cats=None, sources=None, done_callback=None, **kwargs): self._cats = cats self._sources = sources self.panel = pn.Column(name='Entries', width_policy='max', max_width=MAX_WIDTH) self.done_callback = done_callback self.plot_widget = pn.widgets.Toggle( name='📊', value=False, disabled=True, width=50) self.pars_widget = pn.widgets.Toggle( name='⚙', value=False, disabled=True, width=50) self.controls = [self.plot_widget, self.pars_widget] self.control_panel = pn.Row(name='Controls', margin=0) self.pars_editor = ParsEditor() self.select = SourceSelector(cats=self._cats, sources=self._sources, done_callback=self.callback) self.description = Description() self.description.source = self.sources self.plot = Plots(source=self.source_instance, visible=self.plot_widget.value, visible_callback=partial( setattr, self.plot_widget, 'value')) super().__init__(**kwargs) def _setup_watchers(self): self.watchers = [ self.plot_widget.param.watch(self.on_click_plot_widget, 'value'), self.pars_widget.param.watch(self.on_click_pars_widget, 'value'), self.select.widget.link(self.description, value='source'), ] def setup(self): self._setup_watchers() self.children = [ pn.Column( pn.Row( pn.Column( self.select.panel, self.control_panel, margin=0, ), self.description.panel, margin=0, ), self.plot.panel, margin=0, width_policy='max' ) ] @Base.visible.setter def visible(self, visible): """When visible changed, do setup or unwatch and call visible_callback""" self._visible = visible if visible and len(self._panel.objects) == 0: self.setup() self.select.visible = True self.description.visible = True if len(self.control_panel.objects) == 0: self.control_panel.extend(self.controls) self._panel.extend(self.children) elif not visible and len(self._panel.objects) > 0: self.unwatch() # do children self.select.visible = False self.control_panel.clear() self.description.visible = False self.plot.visible = False self._panel.clear() if self.visible_callback: self.visible_callback(visible) def callback(self, sources): """When a source is selected, enable widgets that depend on that condition and do done_callback""" if hasattr(self, 'plot'): # guard since this cannot happen until plot is ready self.plot.visible = False enable = bool(sources) self.plot_widget.value = False self.pars_widget.value = False enable_widget(self.plot_widget, enable) enable_widget(self.pars_widget, enable and sources[0]._user_parameters) self.pars_editor.dirty = True # reset pars editor if self.done_callback: self.done_callback(sources) def on_click_plot_widget(self, event): """ When the plot control is toggled, set visibility and hand down source""" self.plot.source = self.source_instance self.plot.visible = event.new def on_click_pars_widget(self, event): if event.new: pars = self.sources[0]._user_parameters self.pars_editor.remake(pars) self.description.panel.append(self.pars_editor.panel) else: self.description.panel.remove(self.pars_editor.panel) @property def sources(self): """Sources that have been selected from the source GUI""" return self.select.selected @property def source_instance(self): """DataSource from the current selection using current parameters""" sel = self.select.selected args = self.pars_editor.kwargs if sel: return sel[0](**args) def __getstate__(self): """Serialize the current state of the object""" return { 'visible': self.visible, 'select': self.select.__getstate__(), 'description': self.description.__getstate__(include_source=False), 'plot': self.plot.__getstate__(include_source=False), } def __setstate__(self, state): """Set the current state of the object from the serialized version. Works inplace. See ``__getstate__`` to get serialized version and ``from_state`` to create a new object.""" self.visible = state.get('visible', True) if self.visible: self.select.__setstate__(state['select']) self.description.__setstate__(state['description']) self.plot.__setstate__(state['plot']) return self @classmethod def from_state(cls, state): """Create a new object from a serialized exising object. Example ------- original = SourceGUI() copy = SourceGUI.from_state(original.__getstate__()) """ return cls(cats=[], sources=[]).__setstate__(state) class ParsEditor(Base): """Edit user parameters using widgets""" def __init__(self): self.panel = pn.Column(pn.Spacer()) self.dirty = True # don't use kwargs until source is set def remake(self, upars): """Set up parameter widgets for given list of UserParameter objects""" self.panel.clear() for upar in upars: self.panel.append(self.par_to_widget(upar)) self.dirty = False @property def kwargs(self): """The current selections""" if self.dirty: return {} else: return {w.name: w.value for w in self.panel} @staticmethod def par_to_widget(par): if par.allowed: w = pn.widgets.Select(options=par.allowed) elif par.type in ['str', 'unicode']: w = pn.widgets.TextInput() elif par.type == 'int': w = pn.widgets.IntSlider(start=par.min, end=par.max, step=1) elif par.type == 'float': w = pn.widgets.FloatSlider(start=par.min, end=par.max) elif par.type == 'datetime': w = pn.widgets.DatetimeInput() else: w = pn.widgets.LiteralInput() w.name = par.name w.value = par.default return w intake-0.6.5/intake/interface/source/select.py000066400000000000000000000106751416666122400213620ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from collections import OrderedDict import intake from intake.utils import remake_instance import panel as pn from ..base import BaseSelector, coerce_to_list class SourceSelector(BaseSelector): """ The source selector takes a variety of inputs such as cats or sources and uses those to populate a select widget containing all the sources. Once the source selector is populated with these options, the user can select which source(s) are of interest. These sources are stored on the ``selected`` property of the class. Parameters ---------- cats: list of catalogs, opt catalogs used to initalize, provided as objects. sources: list of sources, opt sources used to initalize, provided as objects. done_callback: func, opt called when the object's main job has completed. In this case, selecting source(s). Attributes ---------- selected: list of sources list of selected sources items: list of sources list of all the source values represented in widget labels: list of str list of labels for all the sources represented in widget options: dict dict of widget labels and values (same as `dict(zip(self.labels, self.values))`) children: list of panel objects children that will be used to populate the panel when visible panel: panel layout object instance of a panel layout (row or column) that contains children when visible watchers: list of param watchers watchers that are set on children - cleaned up when visible is set to false. """ preprocess = None children = [] def __init__(self, sources=None, cats=None, done_callback=None, **kwargs): """Set sources or cats to initialize the class - sources trumps cats. The order of the calls in this method matters and is different from the order in other panel init methods because the top level gui class needs to be able to watch these widgets. """ self.panel = pn.Column(name='Select Data Source', margin=0) self.widget = pn.widgets.MultiSelect(size=9, min_width=200, width_policy='min') self.done_callback = done_callback super().__init__(**kwargs) if sources is not None: self.items = sources elif cats is not None: self.cats = cats def setup(self): label = pn.pane.Markdown('#### Sources', max_height=40) self.watchers = [ self.widget.param.watch(self.callback, 'value'), ] self.children = [label, self.widget] @property def cats(self): """Cats represented in the sources options""" return set(source._catalog for source in self.items) @cats.setter def cats(self, cats): """Set sources from a list of cats""" sources = [] for cat in coerce_to_list(cats): for k, entry in cat._entries.items(): try: if entry.describe()['container'] != 'catalog': sources.append(entry) except IOError: # loading cat might fail here pass self.items = sources def callback(self, event): if self.done_callback: self.done_callback(event.new) def __getstate__(self): """Serialize the current state of the object""" return { 'visible': self.visible, 'labels': self.labels, 'sources': [source.__getstate__() for source in self.items], 'selected': [k for k, v in self.options.items() if v in self.selected], } def __setstate__(self, state): """Set the current state of the object from the serialized version. Works inplace. See ``__getstate__`` to get serialized version and ``from_state`` to create a new object.""" sources = state['sources'] labels = state['labels'] self.widget.options = {l: remake_instance(s) for l, s in zip(labels, sources)} self.selected = state.get('selected', []) self.visible = state.get('visible', True) return self intake-0.6.5/intake/interface/source/tests/000077500000000000000000000000001416666122400206625ustar00rootroot00000000000000intake-0.6.5/intake/interface/source/tests/__init__.py000066400000000000000000000000001416666122400227610ustar00rootroot00000000000000intake-0.6.5/intake/interface/source/tests/test_gui.py000066400000000000000000000041071416666122400230610ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from distutils.version import LooseVersion import pytest pn = pytest.importorskip('panel') too_old = LooseVersion(pn.__version__) < LooseVersion("0.9.5") @pytest.mark.skipif(too_old, reason="Use with latest panel") @pytest.fixture def gui(sources1): from ..gui import SourceGUI return SourceGUI(sources=sources1) def test_gui_attribute(sources1): assert sources1[0].gui def test_gui(gui, sources1): assert gui.select.items == sources1 assert gui.sources == [sources1[0]] assert not gui.plot.watchers assert gui.plot.visible is False assert gui.plot_widget.disabled is False def test_gui_close_and_open_select(gui, sources1): gui.select.selected = [sources1[1]] gui.select.visible = False assert not gui.select.watchers gui.select.visible = True assert len(gui.select.watchers) == 1 assert gui.select.selected == [sources1[1]] assert gui.plot_widget.disabled is False def test_gui_getstate(gui, sources1): state = gui.__getstate__() assert state['visible']is True assert state['plot']['visible'] is False assert state['select']['selected'] == [sources1[0].name] def test_gui_state_roundtrip(gui, sources1): from ..gui import SourceGUI other = SourceGUI.from_state(gui.__getstate__()) assert other.select.items == sources1 assert other.sources == [sources1[0]] assert other.plot.visible is False assert other.description.visible is True def test_gui_state_roundtrip_with_subpanels(gui, sources1): from ..gui import SourceGUI gui.plot.visible = True other = SourceGUI.from_state(gui.__getstate__()) assert other.select.items == sources1 assert other.sources == [sources1[0]] assert other.plot.visible is True assert other.plot_widget.value is True intake-0.6.5/intake/interface/source/tests/test_source_select.py000066400000000000000000000101251416666122400251310ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import intake import pytest pytest.importorskip('panel') def assert_widget_matches(browser): assert browser.options == browser.widget.options assert browser.selected == browser.widget.value def test_source_browser_init_with_cats(cat1, cat2, sources1, sources2): from ..select import SourceSelector source_browser = SourceSelector(cats=[cat1, cat2]) assert sources1[0].name in source_browser.options assert sources2[0].name in source_browser.options assert sources1[0] in source_browser.selected assert_widget_matches(source_browser) def test_source_browser_set_cats(cat1, cat2, sources1, sources2): from ..select import SourceSelector source_browser = SourceSelector() source_browser.cats = [cat1, cat2] assert sources1[0].name in source_browser.options assert sources2[0].name in source_browser.options assert sources1[0] in source_browser.selected assert_widget_matches(source_browser) def test_source_browser(source_browser, cat1, sources1): assert len(source_browser.cats) == 1 assert cat1 in source_browser.cats for source in sources1: assert source.name in source_browser.options assert source_browser.selected == [sources1[0]] assert_widget_matches(source_browser) def test_source_browser_add(source_browser, sources1, sources2): source_browser.add(sources2[0]) for source in sources1: assert source.name in source_browser.options assert sources2[0].name in source_browser.options assert source_browser.selected == [sources2[0]] assert_widget_matches(source_browser) def test_source_browser_add_list(source_browser, sources2): source_browser.add(sources2) assert sources2[1].name in source_browser.options assert source_browser.selected == [sources2[0]] assert_widget_matches(source_browser) def test_source_browser_add_entry_with_nonunique_name(source_browser): from intake.catalog.local import LocalCatalogEntry name = source_browser.labels[0] e0 = LocalCatalogEntry(name, '', 'csv', args=dict(urlpath='foo')) source_browser.add(e0) assert f'{name}_0' in source_browser.labels assert name in source_browser.labels assert_widget_matches(source_browser) e1 = LocalCatalogEntry(name, '', 'csv', args=dict(urlpath='foo1')) source_browser.add(e1) assert f'{name}_1' in source_browser.labels assert f'{name}_0' in source_browser.labels assert name in source_browser.labels assert_widget_matches(source_browser) def test_source_browser_remove(source_browser, sources1): source_browser.remove(sources1[0]) assert sources1[0].name not in source_browser.options assert source_browser.selected == [] assert_widget_matches(source_browser) def test_source_browser_remove_list(source_browser, sources1): source_browser.remove(sources1) assert source_browser.options == {} assert source_browser.selected == [] assert_widget_matches(source_browser) def test_source_browser_select_object(source_browser, sources1): source_browser.selected = sources1[1] assert source_browser.selected == [sources1[1]] assert_widget_matches(source_browser) def test_source_browser_select_name(source_browser, sources1): source_browser.selected = sources1[1].name assert source_browser.selected == [sources1[1]] assert_widget_matches(source_browser) def test_source_browser_select_list_of_names(source_browser, sources1): source_browser.selected = [] source_browser.selected = [source.name for source in sources1] assert source_browser.selected == sources1 assert_widget_matches(source_browser) def test_source_browser_select_list_of_objects(source_browser, sources1): source_browser.selected = sources1 assert source_browser.selected == sources1 assert_widget_matches(source_browser) intake-0.6.5/intake/interface/source/tests/test_source_view.py000066400000000000000000000124221416666122400246260ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import pytest pn = pytest.importorskip('panel') @pytest.fixture def description(sources1): from ..description import Description return Description(source=sources1[0]) def assert_panel_matches_contents(desc): """Helper function to check that panel and contents match""" assert desc.contents in desc.main_pane.object assert desc.panel.objects == [desc.main_pane] def test_description(description): assert description.visible assert len(description.children) == 1 assert len(description.contents) > 0 assert_panel_matches_contents(description) def test_description_set_source(description, sources1, sources2): assert description.source == sources1[0] description.source = sources2[0] assert description.source == sources2[0] assert_panel_matches_contents(description) def test_description_set_source_from_list(sources2): from ..description import Description description = Description() description.source = sources2 assert description.source == sources2[0] assert_panel_matches_contents(description) def test_description_set_source_from_empty_list(description): description.source = [] assert description.source == None assert "⠀" * 30 in description.contents assert_panel_matches_contents(description) def test_description_clears_if_visible_is_set_to_false(description): description.visible = False assert len(description.panel.objects) == 0 def assert_is_empty(plots, visible=True): assert plots.source is None assert plots.has_plots is False assert plots.instructions_contents == '*No predefined plots found - declare these in the catalog*' assert plots.options == [] assert plots.selected is None if visible: assert plots.instructions.object == plots.instructions_contents assert plots.pane.object is None assert len(plots.children) == 2 assert isinstance(plots.children[-1][0][0], pn.pane.HoloViews) assert plots.panel.objects == plots.children assert len(plots.watchers) == 2 else: assert not plots.selected assert not plots.watchers assert not plots.panel.objects def assert_plotting_source2_0_line(plots, visible=True, desc=False): assert plots.has_plots is True assert plots.instructions_contents == '**Select from the predefined plots:**' assert plots.options == ["None", 'line_example', 'violin_example'] if visible: assert plots.selected == 'None' plots.selected = 'line_example' assert plots.instructions.object == plots.instructions_contents assert plots.pane.object is not None assert len(plots.children) == 2 assert isinstance(plots.children[-1][0][0], pn.pane.HoloViews) assert plots.panel.objects == plots.children assert len(plots.watchers) == 2 else: assert not plots.selected assert not plots.watchers assert not plots.panel.objects @pytest.fixture def defined_plots(sources2): pytest.importorskip('hvplot') from ..defined_plots import Plots return Plots(source=sources2[0]) def test_defined_plots_init_empty_and_not_visible_set_source(sources2): pytest.importorskip('hvplot') from ..defined_plots import Plots defined_plots = Plots(source=[], visible=False) defined_plots.source = sources2 assert defined_plots.source == sources2[0]() assert_plotting_source2_0_line(defined_plots, visible=False) def test_defined_plots_init_with_source_not_visible_make_visible(sources2): pytest.importorskip('hvplot') from ..defined_plots import Plots defined_plots = Plots(source=sources2, visible=False) defined_plots.source = sources2 assert defined_plots.source == sources2[0]() assert_plotting_source2_0_line(defined_plots, visible=False) defined_plots.visible = True assert_plotting_source2_0_line(defined_plots, visible=True) def test_defined_plots_init_empty_and_visible(): from ..defined_plots import Plots defined_plots = Plots() assert_is_empty(defined_plots, visible=True) def test_defined_plots_init_empty_and_not_visible(): from ..defined_plots import Plots defined_plots = Plots(visible=False) assert_is_empty(defined_plots, visible=False) def test_defined_plots_set_source_to_empty_list(defined_plots): defined_plots.source = [] assert_is_empty(defined_plots, visible=True) def test_defined_plots_set_source_to_empty_list_and_visible_to_false(defined_plots): defined_plots.visible = False defined_plots.source = [] assert_is_empty(defined_plots, visible=False) @pytest.mark.skip(reason='This one is failing - but works in widget') def test_defined_plots_select_a_different_plot(defined_plots): defined_plots.selected = 'violin_example' assert len(defined_plots.children) == 2 assert isinstance(defined_plots.children[1], pn.Column) assert str(defined_plots.children[1].objects) == str(defined_plots.pane.objects) assert defined_plots.panel.objects == defined_plots.children intake-0.6.5/intake/interface/tests/000077500000000000000000000000001416666122400173625ustar00rootroot00000000000000intake-0.6.5/intake/interface/tests/__init__.py000066400000000000000000000005061416666122400214740ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- intake-0.6.5/intake/interface/tests/catalogs/000077500000000000000000000000001416666122400211575ustar00rootroot00000000000000intake-0.6.5/intake/interface/tests/catalogs/catalog1.yaml000066400000000000000000000003121416666122400235320ustar00rootroot00000000000000sources: crime: description: Fake flight data - doesn't matter driver: csv args: urlpath: '{{ CATALOG_DIR }}../data/crime.csv' fake1: driver: fake args: urlpath: '' intake-0.6.5/intake/interface/tests/catalogs/catalog2.yaml000066400000000000000000000014151416666122400235400ustar00rootroot00000000000000sources: us_crime: description: US Crime data [UCRDataTool](https://www.ucrdatatool.gov/Search/Crime/State/StatebyState.cfm) driver: csv args: urlpath: '{{ CATALOG_DIR }}../data/crime{{selector}}.csv' parameters: selector: type: str description: "none" allowed: ["2", ""] default: "" metadata: plots: line_example: kind: line y: ['Robbery', 'Burglary'] x: 'Year' violin_example: kind: violin y: ['Burglary rate', 'Larceny-theft rate', 'Robbery rate', 'Violent Crime rate'] group_label: 'Type of crime' value_label: 'Rate per 100k' invert: True fake2: driver: fake args: urlpath: '' intake-0.6.5/intake/interface/tests/catalogs/parent.yaml000066400000000000000000000004441416666122400233360ustar00rootroot00000000000000sources: child1: args: path: "{{CATALOG_DIR}}/catalog1.yaml" driver: intake.catalog.local.YAMLFileCatalog child2: args: path: "{{CATALOG_DIR}}/catalog2.yaml" driver: intake.catalog.local.YAMLFileCatalog entry1: driver: blah args: urlpath: '' intake-0.6.5/intake/interface/tests/data/000077500000000000000000000000001416666122400202735ustar00rootroot00000000000000intake-0.6.5/intake/interface/tests/data/crime.csv000066400000000000000000000172751416666122400221230ustar00rootroot00000000000000Year,Population,Violent crime total,Murder and nonnegligent Manslaughter,Legacy rape /1,Revised rape /2,Robbery,Aggravated assault,Property crime total,Burglary,Larceny-theft,Motor vehicle theft,Violent Crime rate,Murder and nonnegligent manslaughter rate,Legacy rape rate /1,Revised rape rate /2,Robbery rate,Aggravated assault rate,Property crime rate,Burglary rate,Larceny-theft rate,Motor vehicle theft rate 1960,179323175,288460,9110,17190,,107840,154320,3095700,912100,1855400,328200,160.9,5.1,9.6,,60.1,86.1,1726.3,508.6,1034.7,183 1961,182992000,289390,8740,17220,,106670,156760,3198600,949600,1913000,336000,158.1,4.8,9.4,,58.3,85.7,1747.9,518.9,1045.4,183.6 1962,185771000,301510,8530,17550,,110860,164570,3450700,994300,2089600,366800,162.3,4.6,9.4,,59.7,88.6,1857.5,535.2,1124.8,197.4 1963,188483000,316970,8640,17650,,116470,174210,3792500,1086400,2297800,408300,168.2,4.6,9.4,,61.8,92.4,2012.1,576.4,1219.1,216.6 1964,191141000,364220,9360,21420,,130390,203050,4200400,1213200,2514400,472800,190.6,4.9,11.2,,68.2,106.2,2197.5,634.7,1315.5,247.4 1965,193526000,387390,9960,23410,,138690,215330,4352000,1282500,2572600,496900,200.2,5.1,12.1,,71.7,111.3,2248.8,662.7,1329.3,256.8 1966,195576000,430180,11040,25820,,157990,235330,4793300,1410100,2822000,561200,220,5.6,13.2,,80.8,120.3,2450.9,721,1442.9,286.9 1967,197457000,499930,12240,27620,,202910,257160,5403500,1632100,3111600,659800,253.2,6.2,14,,102.8,130.2,2736.5,826.6,1575.8,334.1 1968,199399000,595010,13800,31670,,262840,286700,6125200,1858900,3482700,783600,298.4,6.9,15.9,,131.8,143.8,3071.8,932.3,1746.6,393 1969,201385000,661870,14760,37170,,298850,311090,6749000,1981900,3888600,878500,328.7,7.3,18.5,,148.4,154.5,3351.3,984.1,1930.9,436.2 1970,203235298,738820,16000,37990,,349860,334970,7359200,2205000,4225800,928400,363.5,7.9,18.7,,172.1,164.8,3621,1084.9,2079.3,456.8 1971,206212000,816500,17780,42260,,387700,368760,7771700,2399300,4424200,948200,396,8.6,20.5,,188,178.8,3768.8,1163.5,2145.5,459.8 1972,208230000,834900,18670,46850,,376290,393090,7413900,2375500,4151200,887200,401,9,22.5,,180.7,188.8,3560.4,1140.8,1993.6,426.1 1973,209851000,875910,19640,51400,,384220,420650,7842200,2565500,4347900,928800,417.4,9.4,24.5,,183.1,200.5,3737,1222.5,2071.9,442.6 1974,211392000,974720,20710,55400,,442400,456210,9278700,3039200,5262500,977100,461.1,9.8,26.2,,209.3,215.8,4389.3,1437.7,2489.5,462.2 1975,213124000,1039710,20510,56090,,470500,492620,10252700,3265300,5977700,1009600,487.8,9.6,26.3,,220.8,231.1,4810.7,1532.1,2804.8,473.7 1976,214659000,1004210,18780,57080,,427810,500530,10345500,3108700,6270800,966000,467.8,8.7,26.6,,199.3,233.2,4819.5,1448.2,2921.3,450 1977,216332000,1029580,19120,63500,,412610,534350,9955000,3071500,5905700,977700,475.9,8.8,29.4,,190.7,247,4601.7,1419.8,2729.9,451.9 1978,218059000,1085550,19560,67610,,426930,571460,10123400,3128300,5991000,1004100,497.8,9,31,,195.8,262.1,4642.5,1434.6,2747.4,460.5 1979,220099000,1208030,21460,76390,,480700,629480,11041500,3327700,6601000,1112800,548.9,9.8,34.7,,218.4,286,5016.6,1511.9,2999.1,505.6 1980,225349264,1344520,23040,82990,,565840,672650,12063700,3795200,7136900,1131700,596.6,10.2,36.8,,251.1,298.5,5353.3,1684.1,3167,502.2 1981,229465714,1361820,22520,82500,,592910,663900,12061900,3779700,7194400,1087800,593.5,9.8,36,,258.4,289.3,5256.5,1647.2,3135.3,474.1 1982,231664458,1322390,21010,78770,,553130,669480,11652000,3447100,7142500,1062400,570.8,9.1,34,,238.8,289,5029.7,1488,3083.1,458.6 1983,233791994,1258087,19308,78918,,506567,653294,10850543,3129851,6712759,1007933,538.1,8.3,33.8,,216.7,279.4,4641.1,1338.7,2871.3,431.1 1984,235824902,1273282,18692,84233,,485008,685349,10608473,2984434,6591874,1032165,539.9,7.9,35.7,,205.7,290.6,4498.5,1265.5,2795.2,437.7 1985,237923795,1327767,18976,87671,,497874,723246,11102590,3073348,6926380,1102862,558.1,8,36.8,,209.3,304,4666.4,1291.7,2911.2,463.5 1986,240132887,1489169,20613,91459,,542775,834322,11722700,3241410,7257153,1224137,620.1,8.6,38.1,,226,347.4,4881.8,1349.8,3022.1,509.8 1987,242288918,1483999,20096,91111,,517704,855088,12024709,3236184,7499851,1288674,612.5,8.3,37.6,,213.7,352.9,4963,1335.7,3095.4,531.9 1988,244498982,1566221,20675,92486,,542968,910092,12356865,3218077,7705872,1432916,640.6,8.5,37.8,,222.1,372.2,5054,1316.2,3151.7,586.1 1989,246819230,1646037,21500,94504,,578326,951707,12605412,3168170,7872442,1564800,666.9,8.7,38.3,,234.3,385.6,5107.1,1283.6,3189.6,634 1990,249464396,1820127,23438,102555,,639271,1054863,12655486,3073909,7945670,1635907,729.6,9.4,41.1,,256.3,422.9,5073.1,1232.2,3185.1,655.8 1991,252153092,1911767,24703,106593,,687732,1092739,12961116,3157150,8142228,1661738,758.2,9.8,42.3,,272.7,433.4,5140.2,1252.1,3229.1,659 1992,255029699,1932274,23760,109062,,672478,1126974,12505917,2979884,7915199,1610834,757.7,9.3,42.8,,263.7,441.9,4903.7,1168.4,3103.6,631.6 1993,257782608,1926017,24526,106014,,659870,1135607,12218777,2834808,7820909,1563060,747.1,9.5,41.1,,256,440.5,4740,1099.7,3033.9,606.3 1994,260327021,1857670,23326,102216,,618949,1113179,12131873,2712774,7879812,1539287,713.6,9,39.3,,237.8,427.6,4660.2,1042.1,3026.9,591.3 1995,262803276,1798792,21606,97470,,580509,1099207,12063935,2593784,7997710,1472441,684.5,8.2,37.1,,220.9,418.3,4590.5,987,3043.2,560.3 1996,265228572,1688540,19645,96252,,535594,1037049,11805323,2506400,7904685,1394238,636.6,7.4,36.3,,201.9,391,4451,945,2980.3,525.7 1997,267783607,1636096,18208,96153,,498534,1023201,11558475,2460526,7743760,1354189,611,6.8,35.9,,186.2,382.1,4316.3,918.8,2891.8,505.7 1998,270248003,1533887,16974,93144,,447186,976583,10951827,2332735,7376311,1242781,567.6,6.3,34.5,,165.5,361.4,4052.5,863.2,2729.5,459.9 1999,272690813,1426044,15522,89411,,409371,911740,10208334,2100739,6955520,1152075,523,5.7,32.8,,150.1,334.3,3743.6,770.4,2550.7,422.5 2000,281421906,1425486,15586,90178,,408016,911706,10182584,2050992,6971590,1160002,506.5,5.5,32,,145,324,3618.3,728.8,2477.3,412.2 2001,285317559,1439480,16037,90863,,423557,909023,10437189,2116531,7092267,1228391,504.5,5.6,31.8,,148.5,318.6,3658.1,741.8,2485.7,430.5 2002,287973924,1423677,16229,95235,,420806,891407,10455277,2151252,7057379,1246646,494.4,5.6,33.1,,146.1,309.5,3630.6,747,2450.7,432.9 2003,290788976,1383676,16528,93883,,414235,859030,10442862,2154834,7026802,1261226,475.8,5.7,32.3,,142.5,295.4,3591.2,741,2416.5,433.7 2004,293656842,1360088,16148,95089,,401470,847381,10319386,2144446,6937089,1237851,463.2,5.5,32.4,,136.7,288.6,3514.1,730.3,2362.3,421.5 2005,296507061,1390745,16740,94347,,417438,862220,10174754,2155448,6783447,1235859,469,5.6,31.8,,140.8,290.8,3431.5,726.9,2287.8,416.8 2006,299398484,1435123,17309,94472,,449246,874096,10019601,2194993,6626363,1198245,479.3,5.8,31.6,,150,292,3346.6,733.1,2213.2,400.2 2007,301621157,1422970,17128,92160,,447324,866358,9882212,2190198,6591542,1100472,471.8,5.7,30.6,,148.3,287.2,3276.4,726.1,2185.4,364.9 2008,304059724,1394461,16465,90750,,443563,843683,9774152,2228887,6586206,959059,458.6,5.4,29.8,,145.9,277.5,3214.6,733,2166.1,315.4 2009,307006550,1325896,15399,89241,,408742,812514,9337060,2203313,6338095,795652,431.9,5,29.1,,133.1,264.7,3041.3,717.7,2064.5,259.2 2010,309330219,1251248,14722,85593,,369089,781844,9112625,2168459,6204601,739565,404.5,4.8,27.7,,119.3,252.8,2945.9,701,2005.8,239.1 2011,311587816,1206031,14661,84175,,354772,752423,9052743,2185140,6151095,716508,387.1,4.7,27,,113.9,241.5,2905.4,701.3,1974.1,230 2012,313873685,1217067,14866,85141,,355051,762009,9001992,2109932,6168874,723186,387.8,4.7,27.1,,113.1,242.8,2868,672.2,1965.4,230.4 2013,316497531,1199684,14319,82109,113695,345095,726575,8650761,1931835,6018632,700294,379.1,4.5,25.9,35.9,109,229.6,2733.3,610.4,1901.6,221.3 2014,318857056,1197987,14249,84041,116645,325802,741291,8277829,1729806,5858496,689527,375.7,4.5,26.4,36.6,102.2,232.5,2596.1,542.5,1837.3,216.2intake-0.6.5/intake/interface/tests/test_base.py000066400000000000000000000022041416666122400217030ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import pytest pn = pytest.importorskip('panel') from ..base import Base class BaseClass(Base): def __init__(self, **kwargs): self.panel = pn.Row() super().__init__(**kwargs) def setup(self): self.children = ['fake content'] def test_base_with_panel_gets_populated_when_visible_is_set_to_true(): base = BaseClass(visible=True) assert base.children == ['fake content'] assert len(base.panel.objects) == 1 base.visible = False assert len(base.panel.objects) == 0 assert base.children == ['fake content'] def test_base_with_panel_gets_populated_when_visible_is_changed_to_true(): base = BaseClass(visible=False) assert len(base.panel.objects) == 0 base.visible = True assert base.children == ['fake content'] assert len(base.panel.objects) == 1 intake-0.6.5/intake/interface/tests/test_gui.py000066400000000000000000000125301416666122400215600ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import pytest pn = pytest.importorskip('panel') @pytest.fixture def gui(cat1, cat2): from ..gui import GUI return GUI(cats=[cat1, cat2]) def test_gui(gui, cat1, cat2, sources1): assert gui.cat.select.items == [cat1, cat2] assert gui.cats == [cat1] assert gui.item == sources1[0] assert not gui.cat.add.watchers assert gui.cat.add.visible is False assert gui.cat.add_widget.disabled is False assert not gui.cat.search.watchers assert gui.cat.search.visible is False assert gui.cat.search_widget.disabled is False assert not gui.source.plot.watchers assert gui.source.plot.visible is False assert gui.source.plot_widget.disabled is False def test_par_selector(gui, cat2): gui.cat.select.selected = [cat2] assert gui.source.pars_widget.disabled is False gui.source.pars_widget.value = True wid = gui.source.pars_editor.panel[0] assert isinstance(wid, pn.widgets.Select) assert wid.value == '' s = gui.source_instance assert s.urlpath.endswith("crime.csv") wid.value = "2" s = gui.source_instance assert s.urlpath.endswith("crime2.csv") def test_gui_remove_selected_cat(gui, cat1): gui.cat.select.remove_selected() assert gui.cat.search_widget.disabled is True assert gui.source.plot_widget.disabled is True assert gui.item is None def test_gui_open_plot_panel(gui, cat1, cat2, sources1, sources2): pytest.importorskip('hvplot') gui.source.plot_widget.value = True assert gui.source.plot.visible is True assert len(gui.source.plot.watchers) == 2 assert len(gui.source.plot.panel.objects) == 2 assert gui.source.plot.source.entry == sources1[0] gui.source.select.cats = [cat2] assert gui.source.plot_widget.value is False # hide on select change assert gui.source.plot.visible is False assert not gui.source.plot.watchers gui.source.plot_widget.value = True assert len(gui.source.plot.watchers) == 2 assert len(gui.source.plot.panel.objects) == 2 def test_gui_open_search_panel(gui, cat1, cat2, sources1, sources2): gui.cat.search_widget.value = True assert len(gui.cat.search.watchers) == 2 assert len(gui.cat.search.panel.objects) == 2 assert gui.cat.search.cats == [cat1] gui.cat.select.selected = [cat2] assert len(gui.cat.search.watchers) == 2 assert len(gui.cat.search.panel.objects) == 2 assert gui.cat.search.cats == [cat2] gui.cat.search_widget.value = False assert not gui.cat.search.watchers assert gui.cat.search.visible is False def test_gui_close_and_open_cat(gui, cat2, sources2): gui.cat.select.selected = [cat2] gui.cat.visible = False assert gui.cat.select.visible is False assert len(gui.cat.control_panel.objects) == 0 assert gui.cat.search.visible is False assert gui.cat.add.visible is False gui.cat.visible = True assert gui.cat.select.visible is True assert len(gui.cat.control_panel.objects) == 3 assert gui.cat.search.visible is False assert gui.cat.add.visible is False assert gui.cats == [cat2] def test_gui_close_and_open_source(gui, cat2, sources2): gui.source.visible = False gui.cat.select.selected = [cat2] assert gui.source.visible is False assert len(gui.source.control_panel.objects) == 0 assert gui.source.description.visible is False assert gui.source.plot.visible is False gui.source.visible = True assert gui.source.select.visible is True assert len(gui.source.control_panel.objects) == 2 assert gui.source.description.visible is True assert gui.source.plot.visible is False assert gui.source.sources == [sources2[0]] def test_gui_init_empty(): from ..gui import GUI gui = GUI(cats=[]) assert gui.cat.select.items == [] assert gui.cats == [] assert gui.item == None assert not gui.cat.add.watchers assert gui.cat.add.visible is False assert gui.cat.add_widget.disabled is False assert not gui.cat.search.watchers assert gui.cat.search.visible is False assert gui.cat.search_widget.disabled is True assert not gui.source.plot.watchers assert gui.source.plot.visible is False assert gui.source.plot_widget.disabled is True def test_gui_getstate(gui, cat1, sources1): state = gui.__getstate__() assert state['visible'] is True assert state['cat']['visible']is True assert state['cat']['add']['visible'] is False assert state['cat']['search']['visible'] is False assert state['cat']['select']['selected'] == [cat1.name] assert state['source']['visible'] is True assert state['source']['select']['selected'] == [sources1[0].name] assert state['source']['plot']['visible'] is False def test_gui_state_roundtrip(gui, cat1, cat2, sources1): from ..gui import GUI other = GUI.from_state(gui.__getstate__()) assert other.cat.select.items == [cat1, cat2] assert other.cats == [cat1] assert other.sources == [sources1[0]] assert other.cat.search.visible is False assert other.cat.add.visible is False assert other.source.plot.visible is False intake-0.6.5/intake/interface/tests/test_init_gui.py000066400000000000000000000021641416666122400226050ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2019, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import pytest def panel_importable(): try: import panel as pn return True except: return False @pytest.mark.skipif(panel_importable(), reason="panel is importable, so skip") def test_no_panel_does_not_raise_errors(cat1_url): import intake cat = intake.open_catalog(cat1_url) assert cat.name == 'catalog1' @pytest.mark.skipif(panel_importable(), reason="panel is importable, so skip") def test_no_panel_display_init_gui(): import intake with pytest.raises(RuntimeError, match=('Please install panel to use the GUI ' '`conda install -c conda-forge panel')): repr(intake.gui) def test_display_init_gui(): pytest.importorskip('panel') import intake assert repr(intake.gui).startswith('Column') intake-0.6.5/intake/source/000077500000000000000000000000001416666122400155605ustar00rootroot00000000000000intake-0.6.5/intake/source/__init__.py000066400000000000000000000061651416666122400177010ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import entrypoints import logging from ..utils import DriverRegistryView from .base import DataSource logger = logging.getLogger('intake') class DriverRegistry(dict): """Dict of driver: DataSource class If the value object is a EntryPoint, will load it when accesses, which does the import. """ def __getitem__(self, item): if isinstance(super().__getitem__(item), entrypoints.EntryPoint): self[item] = super().__getitem__(item).load() return super().__getitem__(item) _registry = DriverRegistry() # internal mutable registry registry = DriverRegistryView(_registry) # public, read-ony wrapper def register_driver(name, driver, overwrite=False): """ Add a driver to intake.registry. Parameters ---------- name: string driver: DataSource overwrite: bool, optional False by default. Raises ------ ValueError If name collides with an existing name in the registry and overwrite is False. """ if name in _registry and not overwrite: # If we are re-registering the same object, there is no problem. original = _registry[name] if original is driver: return raise ValueError( f"The driver {driver} could not be registered for the " f"name {name} because {_registry[name]} is already " f"registered for that name. Use overwrite=True to force it.") _registry[name] = driver def unregister_driver(name): """ Ensure that a given name in the registry is cleared. This function is idempotent: if the name does not exist, nothing is done, and the function returns None Parameters ---------- name: string Returns ------- driver: DataSource or None Whatever was registered for ``name``, or ``None`` """ return _registry.pop(name, None) # A set of fully-qualified package.module.Class mappings classes = {} def import_name(name): import importlib if ":" in name: if name.count(":") > 1: raise ValueError("Cannot decipher name to import: %s", name) mod, rest = name.split(":") bit = importlib.import_module(mod) for part in rest.split("."): bit = getattr(bit, part) return bit else: mod, cls = name.rsplit('.', 1) module = importlib.import_module(mod) return getattr(module, cls) def get_plugin_class(name): if name in registry: return registry[name] if '.' not in name: logger.debug('Plugin name "%s" not known' % name) return None if name not in classes: try: classes[name] = import_name(name) except (KeyError, NameError, ImportError): logger.debug('Failed to import "%s"' % name) return classes.get(name, None) intake-0.6.5/intake/source/base.py000066400000000000000000000370101416666122400170450ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- """ Base classes for Data Loader interface """ from yaml import dump from .cache import make_caches from ..utils import make_path_posix, DictSerialiseMixin, pretty_describe class Schema(dict): """Holds details of data description for any type of data-source This should always be pickleable, so that it can be sent from a server to a client, and contain all information needed to recreate a RemoteSource on the client. """ def __init__(self, **kwargs): """ Parameters ---------- kwargs: typically include dtype, shape """ super(Schema, self).__init__(**kwargs) for field in ['dtype', 'shape']: # maybe a default-dict if field not in self: self[field] = None if 'npartitions' not in self: self['npartitions'] = 1 if 'extra_metadata' not in self: self['extra_metadata'] = {} def __repr__(self): return ("\n" "dtype: {}\n" "shape: {}\n" "metadata: {}" "".format(self.dtype, self.shape, self.extra_metadata)) def __getattr__(self, item): return self[item] class NoEntry(AttributeError): pass class CacheMixin: """Allows "old style" caching for Data Source""" _cache = None @property def cache_dirs(self): return [c._cache_dir for c in self.cache] def set_cache_dir(self, cache_dir): for c in self.cache: c._cache_dir = make_path_posix(cache_dir) @property def cache(self): if self._cache is None: self._cache = make_caches(self.name, self.metadata.get('cache'), catdir=self.metadata.get('catalog_dir', None), storage_options=self.storage_options) return self._cache @cache.setter def cache(self, csh): self._cache = csh def _get_cache(self, urlpath): if len(self.cache) == 0: return [urlpath] return [c.load(urlpath) for c in self.cache] class HoloviewsMixin: """Adds plotting and GUI to DataSource""" @property def plots(self): """List custom associated quick-plots """ return list(self.metadata.get('plots', {})) @property def gui(self): """Source GUI, with parameter selection and plotting""" return self.entry.gui @property def plot(self): """ Returns a hvPlot object to provide a high-level plotting API. To display in a notebook, be sure to run ``intake.output_notebook()`` first. """ try: from hvplot import hvPlot except ImportError: raise ImportError("The intake plotting API requires hvplot." "hvplot may be installed with:\n\n" "`conda install -c pyviz hvplot` or " "`pip install hvplot`.") metadata = self.metadata.get('plot', {}) fields = self.metadata.get('fields', {}) for attrs in fields.values(): if 'range' in attrs: attrs['range'] = tuple(attrs['range']) metadata['fields'] = fields plots = self.metadata.get('plots', {}) return hvPlot(self, custom_plots=plots, **metadata) @property def hvplot(self): """ Returns a hvPlot object to provide a high-level plotting API. """ return self.plot class PersistMixin: """Adds interaction with PersistStore to DataSource""" def get_persisted(self): from ..container.persist import store from dask.base import tokenize return store[tokenize(self)]() @staticmethod def _persist(source, path, **kwargs): """To be implemented by 'container' sources for locally persisting""" raise NotImplementedError @property def has_been_persisted(self): from ..container.persist import store from dask.base import tokenize return tokenize(self) in store @property def is_persisted(self): from ..container.persist import store return self.metadata.get('original_tok', None) in store def persist(self, ttl=None, **kwargs): """Save data from this source to local persistent storage Parameters ---------- ttl: numeric, optional Time to live in seconds. If provided, the original source will be accessed and a new persisted version written transparently when more than ``ttl`` seconds have passed since the old persisted version was written. kargs: passed to the _persist method on the base container. """ from ..container.persist import PersistStore from dask.base import tokenize if 'original_tok' in self.metadata: raise ValueError('Cannot persist a source taken from the persist ' 'store') if ttl is not None and not isinstance(ttl, (int, float)): raise ValueError('Cannot persist using a time to live that is ' f'non-numeric. User-provided ttl was {ttl}') store = PersistStore() out = self._export(store.getdir(self), **kwargs) out.metadata.update({ 'ttl': ttl, 'cat': {} if self.cat is None else self.cat.__getstate__() }) out.name = self.name store.add(tokenize(self), out) return out class DataSourceBase(DictSerialiseMixin): """An object which can produce data This is the base class for all Intake plugins, including catalogs and remote (server) data objects. To produce a new plugin commonly involves subclassing this definition and overriding some or all of the methods. This class is not useful in itself, most methods raise NotImplemented. """ name = None version = None container = None partition_access = False description = None dtype = None shape = None npartitions = 0 _schema = None on_server = False cat = None # the cat from which this source was made _entry = None def __init__(self, storage_options=None, metadata=None): # default data self.metadata = metadata or {} if isinstance(self.metadata, dict) and storage_options is None: storage_options = self._captured_init_kwargs.get('storage_options', {}) self.storage_options = storage_options def _get_schema(self): """Subclasses should return an instance of base.Schema""" raise NotImplementedError def _get_partition(self, i): """Subclasses should return a container object for this partition This function will never be called with an out-of-range value for i. """ raise NotImplementedError def _close(self): """Subclasses should close all open resources""" raise NotImplementedError def _load_metadata(self): """load metadata only if needed""" if self._schema is None: self._schema = self._get_schema() self.dtype = self._schema.dtype self.shape = self._schema.shape self.npartitions = self._schema.npartitions self.metadata.update(self._schema.extra_metadata) def _yaml(self): import inspect kwargs = self._captured_init_kwargs.copy() meta = kwargs.pop('metadata', self.metadata) or {} kwargs.update(dict(zip(inspect.signature(self.__init__).parameters, self._captured_init_args))) data = { 'sources': {self.name: { 'driver': self.classname, 'description': self.description or "", 'metadata': meta, 'args': kwargs }}} return data def yaml(self): """Return YAML representation of this data-source The output may be roughly appropriate for inclusion in a YAML catalog. This is a best-effort implementation """ data = self._yaml() return dump(data, default_flow_style=False) def _ipython_display_(self): """Display the entry as a rich object in an IPython session.""" from IPython.display import display data = self._yaml()['sources'] contents = dump(data, default_flow_style=False) display({ 'application/yaml': contents, 'text/plain': pretty_describe(contents) }, metadata={ 'application/json': {'root': self.name} }, raw=True) def __repr__(self): return self.yaml() @property def is_persisted(self): """The base class does not interact with persistence""" return False @property def has_been_persisted(self): """The base class does not interact with persistence""" return False def _get_cache(self, urlpath): """The base class does not interact with caches""" return urlpath def discover(self): """Open resource and populate the source attributes.""" self._load_metadata() return dict(dtype=self.dtype, shape=self.shape, npartitions=self.npartitions, metadata=self.metadata) def read(self): """Load entire dataset into a container and return it""" if not self.partition_access or self.npartitions == 1: return self._get_partition(0) else: raise NotImplementedError def read_chunked(self): """Return iterator over container fragments of data source""" self._load_metadata() for i in range(self.npartitions): yield self._get_partition(i) def read_partition(self, i): """Return a part of the data corresponding to i-th partition. By default, assumes i should be an integer between zero and npartitions; override for more complex indexing schemes. """ self._load_metadata() if i < 0 or i >= self.npartitions: raise IndexError('%d is out of range' % i) return self._get_partition(i) def to_dask(self): """Return a dask container for this data source""" raise NotImplementedError def to_spark(self): """Provide an equivalent data object in Apache Spark The mapping of python-oriented data containers to Spark ones will be imperfect, and only a small number of drivers are expected to be able to produce Spark objects. The standard arguments may b translated, unsupported or ignored, depending on the specific driver. This method requires the package intake-spark """ raise NotImplementedError @property def entry(self): if self._entry is None: raise NoEntry("Source was not made from a catalog entry") return self._entry def configure_new(self, **kwargs): """Create a new instance of this source with altered arguments Enables the picking of options and re-evaluating templates from any user-parameters associated with this source, or overriding any of the init arguments. Returns a new data source instance. The instance will be recreated from the original entry definition in a catalog **if** this source was originally created from a catalog. """ if self._entry is not None: kw = {k: v for k, v in self._captured_init_kwargs.items() if k in self._passed_kwargs} kw.update(kwargs) obj = self._entry(**kw) obj._entry = self._entry return obj else: kw = self._captured_init_kwargs.copy() kw.update(kwargs) return type(self)(*self._captured_init_args, **kw) __call__ = get = configure_new # compatibility aliases def describe(self): """Description from the entry spec""" return self.entry.describe() def close(self): """Close open resources corresponding to this data source.""" self._close() # Boilerplate to make this object also act like a context manager def __enter__(self): self._load_metadata() return self def __exit__(self, exc_type, exc_value, traceback): self.close() def export(self, path, **kwargs): """Save this data for sharing with other people Creates a copy of the data in a format appropriate for its container, in the location specified (which can be remote, e.g., s3). Returns the resultant source object, so that you can, for instance, add it to a catalog (``catalog.add(source)``) or get its YAML representation (``.yaml()``). """ return self._export(path, **kwargs) def _export(self, path, **kwargs): from ..container import container_map import time from dask.base import tokenize method = container_map[self.container]._persist # may need to create path - access file-system method out = method(self, path=path, **kwargs) out.description = self.description metadata = {'timestamp': time.time(), 'original_metadata': self.metadata, 'original_source': self.__getstate__(), 'original_name': self.name, 'original_tok': tokenize(self), 'persist_kwargs': kwargs} out.metadata = metadata out.name = self.name return out class DataSource(CacheMixin, HoloviewsMixin, PersistMixin, DataSourceBase): """A Data Source will all optional functionality When subclassed, child classes will have the base data source functionality, plus caching, plotting and persistence abilities. """ pass class PatternMixin(object): """Helper class to provide file-name parsing abilities to a driver class""" @property def path_as_pattern(self): if hasattr(self, '_path_as_pattern'): return self._path_as_pattern raise KeyError('Plugin needs to set `path_as_pattern`' ' before setting urlpath') @path_as_pattern.setter def path_as_pattern(self, path_as_pattern): self._path_as_pattern = path_as_pattern @property def urlpath(self): return self._urlpath @urlpath.setter def urlpath(self, urlpath): from .utils import path_to_glob if hasattr(self, '_original_urlpath'): self._urlpath = urlpath return self._original_urlpath = urlpath if self.path_as_pattern: self._urlpath = path_to_glob(urlpath) else: self._urlpath = urlpath if isinstance(self.path_as_pattern, bool): if isinstance(urlpath, str) and self._urlpath == urlpath: self.path_as_pattern = False @property def pattern(self): from .utils import path_to_pattern if isinstance(self.path_as_pattern, str): return self.path_as_pattern elif self.path_as_pattern: return path_to_pattern(self._original_urlpath, self.metadata) return intake-0.6.5/intake/source/cache.py000066400000000000000000000456671416666122400172170ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from datetime import datetime from hashlib import md5 import collections import json import logging import os import posixpath import re import shutil import warnings from intake.config import conf from intake.utils import make_path_posix logger = logging.getLogger('intake') def sanitize_path(path): """Utility for cleaning up paths.""" from fsspec.utils import infer_storage_options storage_option = infer_storage_options(path) protocol = storage_option['protocol'] if protocol in ('http', 'https'): # Most FSs remove the protocol but not HTTPFS. We need to strip # it to match properly. path = os.path.normpath(path.replace("{}://".format(protocol), '')) elif protocol == 'file': # Remove trailing slashes from file paths. path = os.path.normpath(path) # Remove colons path = path.replace(':', '') # Otherwise we just make sure that path is posix return make_path_posix(path) display = set() class BaseCache(object): """ Provides utilities for managing cached data files. Providers of caching functionality should derive from this, and appear as entries in ``registry``. The principle methods to override are ``_make_files()`` and ``_load()`` and ``_from_metadata()``. """ # download block size in bytes blocksize = 5000000 def __init__(self, driver, spec, catdir=None, cache_dir=None, storage_options={}): """ Parameters ---------- driver: str Name of the plugin that can load catalog entry spec: dict Specification for caching the data source. cache_dir: str or None Explicit location of cache root directory catdir: str or None Directory containing the catalog from which this spec was made """ self._driver = driver self._spec = spec cd = make_path_posix(cache_dir or conf['cache_dir']) if cd == 'catdir': if catdir is None: raise TypeError('cache_dir="catdir" only allowed when loaded' 'from a catalog file.') cd = posixpath.join(catdir, 'intake_cache') self._cache_dir = cd self._storage_options = storage_options self._metadata = CacheMetadata() def _ensure_cache_dir(self): if not os.path.exists(self._cache_dir): os.makedirs(self._cache_dir) if os.path.isfile(self._cache_dir): raise Exception("Path for cache directory exists as a file: {}" "".format(self._cache_dir)) def _munge_path(self, cache_subdir, urlpath): import re path = sanitize_path(urlpath) if 'regex' in self._spec: regex = r'%s' % sanitize_path(self._spec['regex']) path = re.sub(regex, '', path) return posixpath.join(self._cache_dir, cache_subdir, path.lstrip('/\\')) def _hash(self, urlpath): return md5( str((os.path.basename(urlpath), self._spec.get('regex', ''), self._driver)).encode() ).hexdigest() def _path(self, urlpath, subdir=None): if subdir is None: subdir = self._hash(urlpath) cache_path = self._munge_path(subdir, urlpath) dirname = os.path.dirname(cache_path) if not os.path.exists(dirname): if not (dirname.startswith('https://') or dirname.startswith('http://')): os.makedirs(dirname) return cache_path def _log_metadata(self, urlpath, original_path, cache_path): metadata = { 'created': datetime.now().isoformat(), 'original_path': original_path, 'cache_path': cache_path } self._metadata.update(urlpath, metadata) def load(self, urlpath, output=None, **kwargs): """ Downloads data from a given url, generates a hashed filename, logs metadata, and caches it locally. Parameters ---------- urlpath: str, location of data May be a local path, or remote path if including a protocol specifier such as ``'s3://'``. May include glob wildcards. output: bool Whether to show progress bars; turn off for testing Returns ------- List of local cache_paths to be opened instead of the remote file(s). If caching is disable, the urlpath is returned. """ if conf.get('cache_disabled', False): return [urlpath] self.output = output if output is not None else conf.get( 'cache_download_progress', True) cache_paths = self._from_metadata(urlpath) if cache_paths is None: files_in, files_out = self._make_files(urlpath) self._load(files_in, files_out, urlpath) cache_paths = self._from_metadata(urlpath) return cache_paths def _from_metadata(self, urlpath): """Return set of local URLs if files already exist""" md = self.get_metadata(urlpath) if md is not None: return [e['cache_path'] for e in md] def _load(self, files_in, files_out, urlpath, meta=True): """Download a set of files""" import dask out = [] outnames = [] for file_in, file_out in zip(files_in, files_out): cache_path = file_out.path outnames.append(cache_path) # If `_munge_path` did not find a match we want to avoid # writing to the urlpath. if cache_path == urlpath: continue if not os.path.isfile(cache_path): logger.debug("Caching file: {}".format(file_in.path)) logger.debug("Original path: {}".format(urlpath)) logger.debug("Cached at: {}".format(cache_path)) if meta: self._log_metadata(urlpath, file_in.path, cache_path) ddown = dask.delayed(_download) out.append(ddown(file_in, file_out, self.blocksize, self.output)) dask.compute(*out) return outnames def _make_files(self, urlpath, **kwargs): """Make OpenFiles for all input/outputs""" raise NotImplementedError def get_metadata(self, urlpath): """ Parameters ---------- urlpath: str, location of data May be a local path, or remote path if including a protocol specifier such as ``'s3://'``. May include glob wildcards. Returns ------- Metadata (dict) about a given urlpath. """ return self._metadata.get(urlpath) def clear_cache(self, urlpath): """ Clears cache and metadata for a given urlpath. Parameters ---------- urlpath: str, location of data May be a local path, or remote path if including a protocol specifier such as ``'s3://'``. May include glob wildcards. """ cache_entries = self._metadata.pop(urlpath, []) # ignore if missing for cache_entry in cache_entries: try: os.remove(cache_entry['cache_path']) except (OSError, IOError): pass try: fn = os.path.dirname(cache_entry['cache_path']) os.rmdir(fn) except (OSError, IOError): logger.debug("Failed to remove cache directory: %s" % fn) def clear_all(self): """ Clears all cache and metadata. """ for urlpath in self._metadata.keys(): self.clear_cache(urlpath) # Safely clean up anything else. if not os.path.isdir(self._cache_dir): return for subdir in os.listdir(self._cache_dir): try: fn = posixpath.join(self._cache_dir, subdir) if os.path.isdir(fn): shutil.rmtree(fn) if os.path.isfile(fn): os.remove(fn) except (OSError, IOError) as e: logger.warning(str(e)) def _download(file_in, file_out, blocksize, output=False): """Read from input and write to output file in blocks""" with warnings.catch_warnings(): warnings.filterwarnings('ignore') if output: try: from tqdm.autonotebook import tqdm except ImportError: logger.warn("Cache progress bar requires tqdm to be installed:" " conda/pip install tqdm") output = False try: file_size = file_in.fs.size(file_in.path) pbar_disabled = not file_size except ValueError as err: logger.debug("File system error requesting size: {}".format(err)) file_size = 0 pbar_disabled = True if output: if not pbar_disabled: for i in range(100): if i not in display: display.add(i) out = i break pbar = tqdm(total=file_size // 2 ** 20, leave=False, disable=pbar_disabled, position=out, desc=os.path.basename(file_out.path), mininterval=0.1, bar_format=r'{n}/|/{l_bar}') else: output = False logger.debug("Caching {}".format(file_in.path)) with file_in as f1: with file_out as f2: data = True while data: data = f1.read(blocksize if file_size else -1) f2.write(data) if output: pbar.update(len(data) // 2**20) if output: try: pbar.update(pbar.total - pbar.n) # force to full pbar.close() except Exception as e: logger.debug('tqdm exception: %s' % e) finally: display.remove(out) class FileCache(BaseCache): """Cache specific set of files Input is a single file URL, URL with glob characters or list of URLs. Output is a specific set of local files. """ def _make_files(self, urlpath, **kwargs): from fsspec import open_files self._ensure_cache_dir() if isinstance(urlpath, (list, tuple)): subdir = self._hash(":".join(urlpath)) else: subdir = self._hash(urlpath) files_in = open_files(urlpath, 'rb', **self._storage_options) files_out = [open_files([self._path(f.path, subdir)], 'wb', **self._storage_options)[0] for f in files_in] return files_in, files_out def _from_metadata(self, urlpath): return super()._from_metadata(urlpath) class DirCache(BaseCache): """Cache a complete directory tree Input is a directory root URL, plus a ``depth`` parameter for how many levels of subdirectories to search. All regular files will be copied. Output is the resultant local directory tree. """ def _make_files(self, urlpath, **kwargs): from fsspec import open_files self._ensure_cache_dir() subdir = self._hash(urlpath) depth = self._spec['depth'] files_in = [] for i in range(1, depth + 1): files_in.extend(open_files('/'.join([urlpath] + ['*']*i))) files_out = [open_files([self._path(f.path, subdir)], 'wb', **self._storage_options)[0] for f in files_in] files_in2, files_out2 = [], [] paths = set(os.path.dirname(f.path) for f in files_in) for fin, fout in zip(files_in, files_out): if fin.path in paths: try: os.makedirs(fout.path) except Exception: pass else: files_in2.append(fin) files_out2.append(fout) return files_in2, files_out2 def _from_metadata(self, urlpath): """Return set of local URLs if files already exist""" md = self.get_metadata(urlpath) if md is not None: return [self._path(urlpath)] class CompressedCache(BaseCache): """Cache files extracted from downloaded compressed source For one or more remote compressed files, downloads to local temporary dir and extracts all contained files to local cache. Input is URL(s) (including globs) pointing to remote compressed files, plus optional ``decomp``, which is "infer" by default (guess from file extension) or one of the key strings in ``intake.source.decompress.decomp``. Optional ``regex_filter`` parameter is used to load only the extracted files that match the pattern. Output is the list of extracted files. """ def _make_files(self, urlpath, **kwargs): import tempfile d = tempfile.mkdtemp() from fsspec import open_files self._ensure_cache_dir() self._urlpath = urlpath files_in = open_files(urlpath, 'rb', **self._storage_options) files_out = [open_files( [make_path_posix(os.path.join(d, os.path.basename(f.path)))], 'wb')[0] for f in files_in ] super(CompressedCache, self)._load(files_in, files_out, urlpath, meta=False) return files_in, files_out def _load(self, files_in, files_out, urlpath, meta=True): from .decompress import decomp subdir = self._path(urlpath) try: os.makedirs(subdir) except (OSError, IOError): pass files = [f.path for f in files_out] out = [] for f, orig in zip(files, files_in): # TODO: add snappy, brotli, lzo, lz4, xz... ? if 'decomp' in self._spec and self._spec['decomp'] != 'infer': d = self._spec['decomp'] elif f.endswith('.zip'): d = 'zip' elif f.endswith(".tar.gz") or f.endswith('.tgz'): d = 'tgz' elif f.endswith(".tar.bz2") or f.endswith('.tbz'): d = 'tbz' elif f.endswith(".tar"): d = 'tar' elif f.endswith('.gz'): d = 'gz' elif f.endswith('.bz2'): d = 'bz' if d not in decomp: raise ValueError('Unknown compression for "%s"' % f) out2 = decomp[d](f, subdir) out3 = filter(re.compile(self._spec.get('regex_filter', '.*')).search, out2) for fn in out3: logger.debug("Caching file: {}".format(f)) logger.debug("Original path: {}".format(orig.path)) logger.debug("Cached at: {}".format(fn)) if meta: self._log_metadata(self._urlpath, orig.path, fn) out.append(fn) return out class DATCache(BaseCache): r"""Use the DAT protocol to replicate data For details of the protocol, see https://docs.datproject.org/ The executable ``dat`` must be available. Since in this case, it is not possible to access the remote files directly, this cache mechanism takes no parameters. The expectation is that the url passed by the driver is of the form: :: dat:///file_pattern where the file pattern will typically be a glob string like "\*.json". """ def _make_files(self, urlpath, **kwargs): self._ensure_cache_dir() return None, None def _load(self, _, __, urlpath, meta=True): import subprocess from fsspec import open_files path = os.path.join(self._cache_dir, self._hash(urlpath)) dat, part = os.path.split(urlpath) cmd = ['dat', 'clone', dat, path, '--no-watch'] try: subprocess.call(cmd, stdout=subprocess.PIPE) except (IOError, OSError): # pragma: no cover logger.info('Calling DAT failed') raise newpath = os.path.join(path, part) if meta: for of in open_files(newpath): self._log_metadata(urlpath, urlpath, of.path) class CacheMetadata(collections.abc.MutableMapping): """ Utility class for managing persistent metadata stored in the Intake config directory. """ def __init__(self, *args, **kwargs): from intake import config self._path = posixpath.join(make_path_posix(config.confdir), 'cache_metadata.json') d = os.path.dirname(self._path) if not os.path.exists(d): os.makedirs(d) if os.path.isfile(self._path): with open(self._path) as f: self._metadata = json.load(f) else: self._metadata = {} def __getitem__(self, key): return self._metadata[self.__keytransform__(key)] def __setitem__(self, key, value): self._metadata[self.__keytransform__(key)] = value self._save() def __delitem__(self, key): del self._metadata[self.__keytransform__(key)] self._save() def __iter__(self): return iter(self._metadata) def __len__(self): return len(self._metadata) def __keytransform__(self, key): if isinstance(key, (list, tuple)): key = ":".join(key) return key def update(self, key, cache_entry): key = self.__keytransform__(key) entries = self._metadata.get(key, []) entries.append(cache_entry) self._metadata[key] = entries self._save() def _save(self): with open(self._path, 'w') as f: json.dump(self._metadata, f) def pop(self, key, default=None): item = self._metadata.pop(key, default) self._save() return item def keys(self): return list(self._metadata.keys()) registry = { 'file': FileCache, 'dir': DirCache, 'compressed': CompressedCache, 'dat': DATCache } def make_caches(driver, specs, catdir=None, cache_dir=None, storage_options={}): """ Creates Cache objects from the cache_specs provided in the catalog yaml file Parameters ---------- driver: str Name of the plugin that can load catalog entry specs: list Specification for caching the data source. """ if specs is None: return [] out = [] for spec in specs: if 'type' in spec and spec['type'] not in registry: raise IndexError(spec['type']) out.append(registry.get(spec['type'], FileCache)( driver, spec, catdir=catdir, cache_dir=cache_dir, storage_options=storage_options)) return out intake-0.6.5/intake/source/csv.py000066400000000000000000000125351416666122400167330ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from . import base from .utils import DASK_VERSION, reverse_formats, unique_string class CSVSource(base.DataSource, base.PatternMixin): """Read CSV files into dataframes Prototype of sources reading dataframe data """ name = 'csv' version = '0.0.1' container = 'dataframe' partition_access = True def __init__(self, urlpath, csv_kwargs=None, metadata=None, storage_options=None, path_as_pattern=True): """ Parameters ---------- urlpath : str or iterable, location of data May be a local path, or remote path if including a protocol specifier such as ``'s3://'``. May include glob wildcards or format pattern strings. Some examples: - ``{{ CATALOG_DIR }}data/precipitation.csv`` - ``s3://data/*.csv`` - ``s3://data/precipitation_{state}_{zip}.csv`` - ``s3://data/{year}/{month}/{day}/precipitation.csv`` - ``{{ CATALOG_DIR }}data/precipitation_{date:%Y-%m-%d}.csv`` csv_kwargs : dict Any further arguments to pass to Dask's read_csv (such as block size) or to the `CSV parser `_ in pandas (such as which columns to use, encoding, data-types) storage_options : dict Any parameters that need to be passed to the remote data backend, such as credentials. path_as_pattern : bool or str, optional Whether to treat the path as a pattern (ie. ``data_{field}.csv``) and create new columns in the output corresponding to pattern fields. If str, is treated as pattern to match on. Default is True. """ self.path_as_pattern = path_as_pattern self.urlpath = urlpath self._storage_options = storage_options self._csv_kwargs = csv_kwargs or {} self._dataframe = None super(CSVSource, self).__init__(metadata=metadata) def _set_pattern_columns(self, path_column): """Get a column of values for each field in pattern """ from pandas.api.types import CategoricalDtype col = self._dataframe[path_column] paths = sorted(col.cat.categories) column_by_field = {field: col.cat.codes.map(dict(enumerate(values))).astype( CategoricalDtype(set(values)) ) for field, values in reverse_formats(self.pattern, paths).items() } self._dataframe = self._dataframe.assign(**column_by_field) def _path_column(self): """Set ``include_path_column`` in csv_kwargs and returns path column name """ path_column = self._csv_kwargs.get('include_path_column') if path_column is None: # if path column name is not set by user, set to a unique string to # avoid conflicts path_column = unique_string() self._csv_kwargs['include_path_column'] = path_column elif isinstance(path_column, bool): path_column = 'path' self._csv_kwargs['include_path_column'] = path_column return path_column def _open_dataset(self, urlpath): """Open dataset using dask and use pattern fields to set new columns """ import dask.dataframe if self.pattern is None: self._dataframe = dask.dataframe.read_csv( urlpath, storage_options=self._storage_options, **self._csv_kwargs) return drop_path_column = 'include_path_column' not in self._csv_kwargs path_column = self._path_column() self._dataframe = dask.dataframe.read_csv( urlpath, storage_options=self._storage_options, **self._csv_kwargs) # add the new columns to the dataframe self._set_pattern_columns(path_column) if drop_path_column: self._dataframe = self._dataframe.drop([path_column], axis=1) def _get_schema(self): urlpath = self._get_cache(self._urlpath)[0] if self._dataframe is None: self._open_dataset(urlpath) dtypes = self._dataframe._meta.dtypes.to_dict() dtypes = {n: str(t) for (n, t) in dtypes.items()} return base.Schema(dtype=dtypes, shape=(None, len(dtypes)), npartitions=self._dataframe.npartitions, extra_metadata={}) def _get_partition(self, i): self._get_schema() return self._dataframe.get_partition(i).compute() def read(self): self._get_schema() return self._dataframe.compute() def to_dask(self): self._get_schema() return self._dataframe def to_spark(self): from intake_spark.base import SparkHolder h = SparkHolder(True, [ ('read', ), ('format', ("csv", )), ('option', ("header", "true")), ('load', (self.urlpath, )) ], {}) return h.setup() def _close(self): self._dataframe = None intake-0.6.5/intake/source/decompress.py000066400000000000000000000040451416666122400203010ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os from intake.utils import make_path_posix def unzip(f, outpath): import zipfile z = zipfile.ZipFile(f, 'r') z.extractall(outpath) out = [make_path_posix(os.path.join(outpath, fn.filename)) for fn in z.filelist] z.close() return out def untargz(f, outpath): import tarfile tar = tarfile.open(f, "r:gz") out = [make_path_posix(os.path.join(outpath, fn.name)) for fn in tar.getmembers()] tar.extractall(outpath) tar.close() return out def untarbz(f, outpath): import tarfile tar = tarfile.open(f, "r:bz2") out = [make_path_posix(os.path.join(outpath, fn.name)) for fn in tar.getmembers()] tar.extractall(outpath) tar.close() return out def untar(f, outpath): import tarfile tar = tarfile.open(f, "r:") out = [make_path_posix(os.path.join(outpath, fn.name)) for fn in tar.getmembers()] tar.extractall(outpath) tar.close() return out def ungzip(f, outpath): import gzip z = gzip.open(f) fn = os.path.basename(f)[:-3] with open(os.path.join(outpath, fn), 'wb') as fout: data = True while data: data = z.read(2**15) fout.write(data) return [make_path_posix(os.path.join(outpath, fn))] def unbzip(f, outpath): import bz2 z = bz2.open(f) fn = os.path.basename(f)[:-3] with open(os.path.join(outpath, fn), 'wb') as fout: data = True while data: data = z.read(2 ** 15) fout.write(data) return [make_path_posix(os.path.join(outpath, fn))] decomp = {'zip': unzip, 'tgz': untargz, 'tbz': untarbz, 'tar': untar, 'gz': ungzip, 'bz': unbzip} intake-0.6.5/intake/source/derived.py000066400000000000000000000232361416666122400175620ustar00rootroot00000000000000from functools import lru_cache from . import import_name from .. import open_catalog from .base import DataSource, Schema class AliasSource(DataSource): """Refer to another named source, unmodified The purpose of an Alias is to be able to refer to other source(s) in the same catalog, perhaps leaving the choice of which target to load up to the user. This source makes no sense outside of a catalog. In this case, the output of the target source is not modified, but this class acts as a prototype 'derived' source for processing the output of some standard driver. After initial discovery, the source's container and other details will be updated from the target; initially, the AliasSource container is not any standard. """ container = 'other' version = 1 name = 'alias' def __init__(self, target, mapping=None, metadata=None, **kwargs): """ Parameters ---------- target: str Name of the source to load, must be a key in the same catalog mapping: dict or None If given, use this to map the string passed as ``target`` to entries in the catalog metadata: dict or None Extra metadata to associate kwargs: passed on to the target """ super(AliasSource, self).__init__(metadata) self.target = target self.mapping = mapping or {target: target} self.kwargs = kwargs self.metadata = metadata self.source = None def _get_source(self): if self.cat is None: raise ValueError('AliasSource cannot be used outside a catalog') if self.source is None: self.source = self.cat[self.mapping[self.target]]( metadata=self.metadata, **self.kwargs) self.metadata = self.source.metadata.copy() self.container = self.source.container self.partition_access = self.source.partition_access self.description = self.source.description def discover(self): self._get_source() return self.source.discover() def read(self): self._get_source() return self.source.read() def read_partition(self, i): self._get_source() return self.source.read_partition(i) def read_chunked(self): self._get_source() return self.source.read_chunked() def to_dask(self): self._get_source() return self.source.to_dask() cached_cats = lru_cache(10)(open_catalog) def get_source(target, cat, kwargs, cat_kwargs): if ":" in target: caturl, target = target.rsplit(":", 1) cat = cached_cats(caturl, **cat_kwargs) if cat: return cat[target].configure_new(**kwargs) # for testing only return target # pragma: no cover def first(targets, cat, kwargs, cat_kwargs): """A target chooser that simply picks the first from the given list This is the default, particularly for the case of only one element in the list """ targ = targets[0] return get_source(targ, cat, kwargs.get(targ, {}), cat_kwargs) def first_discoverable(targets, cat, kwargs, cat_kwargs): """A target chooser: the first target for which discover() succeeds This may be useful where some drivers are not importable, or some sources can be available only sometimes. """ for t in targets: try: s = get_source(t, cat, kwargs.get(t, {}), cat_kwargs) s.discover() return s except Exception: pass raise RuntimeError("No targets succeeded at discover()") class DerivedSource(DataSource): """Base source deriving from another source in the same catalog Target picking and parameter validation are performed here, but you probably want to subclass from one of the more specific classes like ``DataFrameTransform``. """ input_container = "other" # no constraint container = 'other' # to be filled in per instance at access time required_params = [] # list of kwargs that must be present optional_params = {} # optional kwargs with defaults def __init__(self, targets, target_chooser=first, target_kwargs=None, cat_kwargs=None, container=None, metadata=None, **kwargs): """ Parameters ---------- targets: list of string or DataSources If string(s), refer to entries of the same catalog as this Source target_chooser: function to choose between targets function(targets, cat) -> source, or a fully-qualified dotted string pointing to it target_kwargs: dict of dict with keys matching items of targets cat_kwargs: to pass to intake.open_catalog, if the target is in another catalog container: str (optional) Assumed output container, if known/different from input [Note: the exact form of target_kwargs and cat_kwargs may be subject to change] """ self.targets = targets self._chooser = (target_chooser if callable(target_chooser) else import_name(target_chooser)) self._kwargs = target_kwargs or {} self._source = None self._params = kwargs self._cat_kwargs = cat_kwargs or {} if container: self.container = container self._validate_params() super().__init__(metadata=metadata) def _validate_params(self): """That all required params are present and that optional types match""" assert set(self.required_params) - set(self._params) == set() for par, val in self.optional_params.items(): if par not in self._params: self._params[par] = val def _pick(self): """ Pick the source from the given targets """ self._source = self._chooser(self.targets, self.cat, self._kwargs, self._cat_kwargs) if self.input_container != "other": assert self._source.container == self.input_container self.metadata['target'] = self._source.metadata if self.container is None: self.container = self._source.container class GenericTransform(DerivedSource): required_params = ["transform", "transform_kwargs"] optional_params = {"allow_dask": True} """ Perform an arbitrary function to transform an input transform: function to perform transform function(container_object) -> output, or a fully-qualified dotted string pointing to it transform_params: dict The keys are names of kwargs to pass to the transform function. Values are either concrete values to pass; or param objects which can be made into widgets (but must have a default value) - or a spec to be able to make these objects. allow_dask: bool (optional, default True) Whether to_dask() is expected to work, which will in turn call the target's to_dask() """ def _validate_params(self): super()._validate_params() transform = self._params["transform"] self._transform = (transform if callable(transform) else import_name(transform)) def _get_schema(self): """We do not know the schema of a generic transform""" self._pick() return Schema() def to_dask(self): self._get_schema() if not self._params['allow_dask']: raise ValueError("This transform is not compatible with Dask" "because it has use_dask=False") return self._transform(self._source.to_dask(), **self._params["transform_kwargs"]) def read(self): self._get_schema() return self._transform(self._source.read(), **self._params["transform_kwargs"]) class DataFrameTransform(GenericTransform): """Transform where the input and output are both Dask-compatible dataframes This derives from GenericTransform, and you mus supply ``transform`` and any ``transform_kwargs``. """ input_container = "dataframe" container = "dataframe" optional_params = {} _df = None def to_dask(self): if self._df is None: self._pick() self._df = self._transform(self._source.to_dask(), **self._params["transform_kwargs"]) return self._df def _get_schema(self): """load metadata only if needed""" self.to_dask() return Schema(dtype=self._df.dtypes, shape=(None, len(self._df.columns)), npartitions=self._df.npartitions, metadata=self.metadata) def read(self): return self.to_dask().compute() class Columns(DataFrameTransform): """Simple dataframe transform to pick columns Given as an example of how to make a specific dataframe transform. Note that you could use DataFrameTransform directly, by writing a function to choose the columns instead of a method as here. """ input_container = "dataframe" container = "dataframe" required_params = ["columns"] def __init__(self, columns, **kwargs): """ columns: list of labels (usually str) or slice Columns to choose from the target dataframe """ # this class wants requires "columns", but DataFrameTransform # uses "transform_kwargs", which we don't need since we use a method for the # transform kwargs.update(transform=self.pick_columns, columns=columns, transform_kwargs={}) super().__init__(**kwargs) def pick_columns(self, df): return df[self._params["columns"]] intake-0.6.5/intake/source/discovery.py000066400000000000000000000323531416666122400201470ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import pkgutil import warnings import importlib import inspect import itertools import time import logging import entrypoints from ..config import save_conf, conf, cfile logger = logging.getLogger('intake') def autodiscover(path=None, plugin_prefix='intake_', do_package_scan=False): r"""Discover intake drivers. In order of decreasing precedence: - Respect the 'drivers' section of the intake configuration file. - Find 'intake.drivers' entrypoints provided by any Python packages in the environment. - Search all packages in the environment for names that begin with ``intake\_``. Import them and scan them for subclasses of ``intake.source.base.DataSourceBase``. This was previously the *only* mechanism for auto-discoverying intake drivers, and it is maintained for backward compatibility. Parameters ---------- path : str or None Default is ``sys.path``. plugin_prefix : str DEPRECATED. Default is 'intake\_'. do_package_scan : boolean Whether to look for intake source classes in packages named "intake_*". This has been superceded by entrypoints declarations. Returns ------- drivers : dict Name mapped to driver class. """ # Discover drivers via package scan. if do_package_scan: package_scan_results = _package_scan(path, plugin_prefix) if package_scan_results: warnings.warn( "The option `do_package_scan` may be removed in a future release.", PendingDeprecationWarning) else: package_scan_results = {} # Discover drivers via entrypoints. group = entrypoints.get_group_named('intake.drivers', path=path) group_all = entrypoints.get_group_all('intake.drivers', path=path) if len(group_all) != len(group): # There are some name collisions. Let's go digging for them. for name, matches in itertools.groupby(group_all, lambda ep: ep.name): matches = list(matches) if len(matches) != 1: winner = group[name] logger.debug( "There are %d 'intake.driver' entrypoints for the name " "%r. They are %r. The match %r has won the race.", len(matches), name, matches, winner) for name, entrypoint in group.items(): logger.debug("Discovered entrypoint '%s = %s.%s'", name, entrypoint.module_name, entrypoint.object_name) if name in package_scan_results: cls = package_scan_results[name] del package_scan_results[name] logger.debug("Entrypoint shadowed package_scan result '%s = %s.%s'", name, cls.__module__, cls.__name__) # Discover drivers via config. drivers_conf = conf.get('drivers', {}) logger.debug("Using configuration file at %s", cfile()) for name, dotted_object_name in drivers_conf.items(): if not dotted_object_name: logger.debug('Name %s is banned in config file', name) if name in group: entrypoint = group[name] del group[name] logger.debug("Disabled entrypoint '%s = %s.%s'", entrypoint.name, entrypoint.module_name, entrypoint.object_name) if name in package_scan_results: cls = package_scan_results[name] del package_scan_results[name] logger.debug("Disabled package_scan result '%s = %s.%s'", name, cls.__module__, cls.__name__) continue module_name, object_name = dotted_object_name.rsplit('.', 1) entrypoint = entrypoints.EntryPoint(name, module_name, object_name) logger.debug("Discovered config-specified '%s = %s.%s'", entrypoint.name, entrypoint.module_name, entrypoint.object_name) if name in group: shadowed = group[name] logger.debug("Config shadowed entrypoint '%s = %s.%s'", shadowed.name, shadowed.module_name, shadowed.object_name) if name in package_scan_results: cls = package_scan_results[name] del package_scan_results[name] logger.debug("Config shadowed package scan result '%s = %s.%s'", name, cls.__module__, cls.__name__) group[name] = entrypoint # Discovery is complete. if package_scan_results: warnings.warn( f"The drivers {list(package_scan_results)} do not specify entry_" f"points and were only discovered via a package scan. This may " f"break in a future release of intake. The packages should be " f"updated.", FutureWarning) # Load entrypoints. Any that were shadowed or banned have already been # removed above. drivers = {} for entrypoint in group.values(): try: drivers[entrypoint.name] = _load_entrypoint(entrypoint) except ConfigurationError: logger.debug( "Error while loading entrypoint %s", entrypoint.name) continue logger.debug("Loaded entrypoint '%s = %s.%s'", entrypoint.name, entrypoint.module_name, entrypoint.object_name) # Now include any package scan results. Any that were shadowed or # banned have already been removed above. for name, cls in package_scan_results.items(): drivers[name] = cls logger.debug("Loaded package scan result '%s = %s.%s'", name, cls.__module__, cls.__name__) return drivers def autodiscover_all(path=None, plugin_prefix='intake_', do_package_scan=True): """Discover intake drivers including those registered for the same name. Parameters ---------- path : str or None Default is ``sys.path``. plugin_prefix : str DEPRECATED. Default is 'intake_'. do_package_scan : boolean Default is True. In the future, the default will be changed to False, and the option may eventually be removed entirely. Returns ------- drivers : list Each entry is a tuple: ``(name, driver_class)``. """ # Discover drivers via package scan. if do_package_scan: warnings.warn( "The option `do_package_scan` may be removed in a future release.", PendingDeprecationWarning) package_scan_results = _package_scan(path, plugin_prefix) else: package_scan_results = {} # Discover drivers via entrypoints. group_all = entrypoints.get_group_all('intake.drivers', path=path) for entrypoint in group_all: logger.debug("Discovered entrypoint '%s = %s.%s'", entrypoint.name, entrypoint.module_name, entrypoint.object_name) # Discover drivers via config. drivers_conf = conf.get('drivers', {}) logger.debug("Using configuration file at %s", cfile()) for name, dotted_object_name in drivers_conf.items(): if not dotted_object_name: continue module_name, object_name = dotted_object_name.rsplit('.', 1) entrypoint = entrypoints.EntryPoint(name, module_name, object_name) logger.debug("Discovered config-specified '%s = %s.%s'", entrypoint.name, entrypoint.module_name, entrypoint.object_name) group_all.append(entrypoint) # Load entrypoints. Any that were shadowed or banned have already been # removed above. drivers = [] for entrypoint in group_all: try: drivers.append((entrypoint.name, _load_entrypoint(entrypoint))) except ConfigurationError: logger.debug( "Error while loading entrypoint %s", entrypoint.name) continue logger.debug("Loaded entrypoint '%s = %s.%s'", entrypoint.name, entrypoint.module_name, entrypoint.object_name) # Now include any package scan results. Any that were shadowed or # banned have already been removed above. for name, cls in package_scan_results.items(): drivers.append((name, cls)) logger.debug("Loaded package scan result '%s = %s.%s'", name, cls.__module__, cls.__name__) return drivers def _load_entrypoint(entrypoint): """ Call entrypoint.load() and, if it fails, raise context-specific errors. """ try: return entrypoint.load() except ImportError as err: raise ConfigurationError( f"Failed to load {entrypoint.name} driver because module " f"{entrypoint.module_name} could not be imported.") from err except AttributeError as err: raise ConfigurationError( f"Failed to load {entrypoint.name} driver because no object " f"named {entrypoint.object_name} could be found in the module " f"{entrypoint.module_name}.") from err def _package_scan(path=None, plugin_prefix='intake_'): """Scan for intake drivers and return a dict of plugins. This searches path (or sys.path) for packages with names that start with plugin_prefix. Those modules will be imported and scanned for subclasses of intake.source.base.Plugin. Any subclasses found will be instantiated and returned in a dictionary, with the plugin's name attribute as the key. """ plugins = {} for importer, name, ispkg in pkgutil.iter_modules(path=path): if name.startswith(plugin_prefix): t = time.time() new_plugins = load_plugins_from_module(name) for plugin_name, plugin in new_plugins.items(): if plugin_name in plugins: orig_path = inspect.getfile(plugins[plugin_name]) new_path = inspect.getfile(plugin) warnings.warn('Plugin name collision for "%s" from' '\n %s' '\nand' '\n %s' '\nKeeping plugin from first location.' % (plugin_name, orig_path, new_path)) else: plugins[plugin_name] = plugin logger.debug("Import %s took: %7.2f s" % (name, time.time() - t)) return plugins def load_plugins_from_module(module_name): """Imports a module and returns dictionary of discovered Intake plugins. Plugin classes are instantiated and added to the dictionary, keyed by the name attribute of the plugin object. """ from intake.source import DataSource from intake.catalog import Catalog plugins = {} try: try: mod = importlib.import_module(module_name) except ImportError as error: if module_name.endswith('.py'): # Provide a specific error regarding the removal of behavior # that intake formerly supported. raise ImportError( "Intake formerly supported executing arbitrary Python " "files not on the sys.path. This is no longer supported. " "Drivers must be specific with a module path like " "'package_name.module_name, not a Python filename like " "'module.py'.") from error else: raise except Exception as e: logger.debug("Import module <{}> failed: {}".format(module_name, e)) return {} for _, cls in inspect.getmembers(mod, inspect.isclass): # Don't try to register plugins imported into this module elsewhere if issubclass(cls, (Catalog, DataSource)): plugins[cls.name] = cls return plugins class ConfigurationError(Exception): pass def enable(name, driver): """ Update config file drivers section to explicitly assign a driver to a name. Parameters ---------- name : string As in ``'zarr'`` driver : string Dotted object name, as in ``'intake_xarray.xzarr.ZarrSource'`` """ if 'drivers' not in conf: conf['drivers'] = {} conf['drivers'][name] = driver save_conf() def disable(name): """Update config file drivers section to disable a name. Parameters ---------- name : string As in ``'zarr'`` """ if 'drivers' not in conf: conf['drivers'] = {} conf['drivers'][name] = False save_conf() def register_all(): from intake.source import register_driver for name, driver in autodiscover().items(): register_driver(name, driver) intake-0.6.5/intake/source/jsonfiles.py000066400000000000000000000121401416666122400201240ustar00rootroot00000000000000import contextlib import json from itertools import islice from intake.source.base import DataSource class JSONFileSource(DataSource): """ Read JSON files as a single dictionary or list The files can be local or remote. Extra parameters for encoding, etc., go into ``storage_options``. """ name = "json" version = "0.0.1" container = "python" def __init__( self, urlpath: str, text_mode: bool = True, text_encoding: str = "utf8", compression: str = None, read: bool = True, metadata: dict = None, storage_options: dict = None, ): """ Parameters ---------- urlpath : str Target file. Can include protocol specified (e.g., "s3://"). text_mode : bool Whether to open the file in text mode, recoding binary characters on the fly text_encoding : str If text_mode is True, apply this encoding. UTF* is by far the most common compression : str or None If given, decompress the file with the given codec on load. Can be something like "zip", "gzip", "bz2", or to try to guess from the filename, 'infer' storage_options: dict Options to pass to the file reader backend, including text-specific encoding arguments, and parameters specific to the remote file-system driver, if using. """ from fsspec.utils import compressions VALID_COMPRESSIONS = list(compressions.values()) + ["infer"] self._urlpath = urlpath self._storage_options = storage_options or {} self._dataframe = None self._file = None self.compression = compression if compression not in VALID_COMPRESSIONS: raise ValueError( f"Compression value {compression} must be one of {VALID_COMPRESSIONS}" ) self.mode = "rt" if text_mode else "rb" self.encoding = text_encoding self._read = read super(JSONFileSource, self).__init__(metadata=metadata) def read(self): import fsspec urlpath = self._get_cache(self._urlpath)[0] with fsspec.open( urlpath, mode=self.mode, encoding=self.encoding, compression=self.compression, **self._storage_options, ) as f: return json.load(f) class JSONLinesFileSource(DataSource): """ Read a JSONL (https://jsonlines.org/) file and return a list of objects, each being valid json object (e.g. a dictionary or list) """ name = "jsonl" version = "0.0.1" container = "python" def __init__( self, urlpath: str, text_mode: bool = True, text_encoding: str = "utf8", compression: str = None, read: bool = True, metadata: dict = None, storage_options: dict = None, ): """ Parameters ---------- urlpath : str Target file. Can include protocol specified (e.g., "s3://"). text_mode : bool Whether to open the file in text mode, recoding binary characters on the fly text_encoding : str If text_mode is True, apply this encoding. UTF* is by far the most common compression : str or None If given, decompress the file with the given codec on load. Can be something like "zip", "gzip", "bz2", or to try to guess from the filename, 'infer'. storage_options: dict Options to pass to the file reader backend, including text-specific encoding arguments, and parameters specific to the remote file-system driver, if using. """ from fsspec.utils import compressions VALID_COMPRESSIONS = list(compressions.values()) + ["infer"] self._urlpath = urlpath self._storage_options = storage_options or {} self._dataframe = None self._file = None self.compression = compression if compression not in VALID_COMPRESSIONS: raise ValueError( f"Compression value {compression} must be one of {VALID_COMPRESSIONS}" ) self.mode = "rt" if text_mode else "rb" self.encoding = text_encoding self._read = read super().__init__(metadata=metadata) @contextlib.contextmanager def _open(self): """ Yields an fsspec.OpenFile object """ import fsspec urlpath = self._get_cache(self._urlpath)[0] with fsspec.open( urlpath, mode=self.mode, encoding=self.encoding, compression=self.compression, **self._storage_options, ) as f: yield f def read(self): with self._open() as f: return list(map(json.loads, f)) def head(self, nrows: int = 100): """ return the first `nrows` lines from the file """ with self._open() as f: return list(map(json.loads, islice(f, nrows))) intake-0.6.5/intake/source/npy.py000066400000000000000000000122061416666122400167410ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from .base import DataSource, Schema class NPySource(DataSource): """Read numpy binary files into an array Prototype source showing example of working with arrays Each file becomes one or more partitions, but partitioning within a file is only along the largest dimension, to ensure contiguous data. """ container = 'ndarray' name = 'numpy' version = '0.0.1' partition_access = True def __init__(self, path, dtype=None, shape=None, chunks=None, storage_options=None, metadata=None): """ The parameters dtype and shape will be determined from the first file, if not given. Parameters ---------- path: str of list of str Location of data file(s), possibly including glob and protocol information dtype: str dtype spec In known, the dtype (e.g., "int64" or "f4"). shape: tuple of int If known, the length of each axis chunks: int Size of chunks within a file along biggest dimension - need not be an exact factor of the length of that dimension storage_options: dict Passed to file-system backend. """ self.path = path self.shape = shape self.dtype = dtype self.storage = storage_options or {} self._chunks = chunks if chunks is not None else -1 self.chunks = None self._arrs = None self._arr = None super(NPySource, self).__init__(metadata=metadata) def _get_schema(self): from fsspec import open_files import dask.array as da if self._arr is None: path = self._get_cache(self.path)[0] files = open_files(path, 'rb', compression=None, **self.storage) if self.shape is None: arr = NumpyAccess(files[0]) self.shape = arr.shape self.dtype = arr.dtype arrs = [arr] + [NumpyAccess(f, self.shape, self.dtype, offset=arr.offset) for f in files[1:]] else: arrs = [NumpyAccess(f, self.shape, self.dtype) for f in files] self.chunks = (self._chunks, ) + (-1, ) * (len(self.shape) - 1) self._arrs = [da.from_array(arr, self.chunks) for arr in arrs] if len(self._arrs) > 1: self._arr = da.stack(self._arrs) else: self._arr = self._arrs[0] self.chunks = self._arr.chunks return Schema(dtype=str(self.dtype), shape=self.shape, extra_metadata=self.metadata, npartitions=self._arr.npartitions, chunks=self.chunks) def _get_partition(self, i): if isinstance(i, list): i = tuple(i) return self._arr.blocks[i].compute() def read_partition(self, i): self._get_schema() return self._get_partition(i) def to_dask(self): self._get_schema() return self._arr def read(self): self._get_schema() return self._arr.compute() def _close(self): self._arrs = None self._arr = None class NumpyAccess(object): def __init__(self, f, shape=None, dtype=None, order='C', offset=None): self.f = f self.shape = shape self.dtype = dtype self.order = order self.offset = offset if self.shape is None or dtype is None or offset is None: self._get_info() self.ndim = len(self.shape) def __getitem__(self, item): import numpy as np import copy if isinstance(item, tuple): item = item[0] first = (item.stop or self.shape[0]) - (item.start or 0) block = item.start or 0 count = first for i in self.shape[1:]: block *= i count *= i if count == 0: return np.array([], dtype=self.dtype).reshape( *(-1, ) + self.shape[1:]) start = self.offset + block * self.dtype.itemsize shape = (first, ) + self.shape[1:] fn = copy.copy(self.f) # makes local copy to avoid close while reading with fn as f: f.seek(start) data = f.read(count * self.dtype.itemsize) return np.frombuffer(data, dtype=self.dtype).reshape(shape) def _get_info(self): from numpy.lib import format with self.f as fp: version = format.read_magic(fp) format._check_version(version) shape, fortran_order, dtype = format._read_array_header(fp, version) self.shape = shape self.dtype = dtype self.order = 'F' if fortran_order else 'C' self.offset = fp.tell() intake-0.6.5/intake/source/tests/000077500000000000000000000000001416666122400167225ustar00rootroot00000000000000intake-0.6.5/intake/source/tests/__init__.py000066400000000000000000000005061416666122400210340ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- intake-0.6.5/intake/source/tests/alias.yaml000066400000000000000000000006211416666122400206760ustar00rootroot00000000000000sources: csvs: driver: textfiles args: urlpath: '{{ CATALOG_DIR }}/*.csv' yamls: driver: textfiles args: urlpath: '{{ CATALOG_DIR }}/*.yaml' alias1: driver: intake.source.derived.AliasSource args: mapping: first: csvs second: yamls target: first alias2: driver: intake.source.derived.AliasSource args: target: csvs intake-0.6.5/intake/source/tests/cached.yaml000066400000000000000000000020651416666122400210200ustar00rootroot00000000000000sources: calvert: driver: csv args: urlpath: '{{ CATALOG_DIR }}/calvert_uk.zip' cache: - type: compressed argkey: urlpath calvert_infer: driver: csv args: urlpath: '{{ CATALOG_DIR }}/calvert_uk.zip' cache: - type: compressed argkey: urlpath decomp: infer calvert_badkey: driver: csv args: urlpath: '{{ CATALOG_DIR }}/calvert_uk.zip' cache: - type: compressed argkey: urlpath decomp: unknown calvert_filter: driver: csv args: urlpath: '{{ CATALOG_DIR }}/calvert_uk_filter.tar.gz' cache: - type: compressed argkey: urlpath regex_filter: '.*calvert_uk_research2017_nodes.csv' dirs: driver: textfiles args: urlpath: '{{ CATALOG_DIR }}/main' cache: - type: dir argkey: urlpath depth: 2 dat_data: driver: textfiles args: urlpath: 'dat://66ef52101a2543e1721c901e84d2dd7a758c94283b8501d34a691abefe3fb3d6/*.json' decoder: json.loads cache: - type: dat intake-0.6.5/intake/source/tests/calvert_uk.zip000066400000000000000000045720621416666122400216250ustar00rootroot00000000000000PKFuJsvZ2e#!calvert_uk_research2017_nodes.csvUT 9YH9Yux v\G- shD0خcǽ-{ AI٩'8MNZ{{c5m)oq2Rpml^sm./iTZ2fa=мu27Wfu^v}VLZ륑./,e{]hd}\nۛ//E:˖jO eicMj_e\~ȥew&,Mr:A&=}ܯW ow[.~=It|x/.ŲgM̲Za&3n.ޯ >2˄7,cQڕd3l} ,S~iSk޴EԊ zouqtj^p˽5W2Z],SxeSSR䧷5n}'˺q/saٕ5ĜL0S~X]_w;SKC?xV^pΖ)Ng_676~X_7͎&vnxsc[B̲km Q' W/o< EcXzi5-+%ɈA /6Vʗz"_Jg8@{k3qjyuyV aފ[!.j=I5 5ezexm~[|y—Z)] WLj*qZvrNʖfz,f{؜.o߼_5$7 enuƷܾlF +bYY\<3rWU*AΥԖI {T* vcm>]pyvcS=qaz]m ꧳E׿-ޭv=`_}uv|vwpE6&el8\dl7=bۜ]jkn!q~ 6kl'Bdp76שXTn dq*zuW?[kޭ7R株*O,Y`'%~|8CG;hp\ဓV:)63 z.o[Ar^];b Q'\j&W~=[VYdߡ 20 ⤭Mϛ=G;qP%j~P)B*1O,o{cyYn*>@]ueB=Izl\)إ-P ]R^&ٛa|zҋT8z\y`(ZrsA?]Gsu-mweScm6&Lv{>r~?ZDFٸ;@@*T(Pޮb@7kl*yuhj7K-y o٣AwlSbl/kۯ: ruy Qb1FsQ[wp.ZerjK ݛTV.K2l>v?_7b2K[5{ -ʥ0;WvYMfW l6:6Ym0~Kv9NL'wS`𵇥:NGxQ[&m+}V{vM>$8hpe rMQKT J&k7% ܸ y;y":C0}WjRe5M\AA;_]l;xnvVxɱ"N@#T 3*5Dvs{w;L;GH՛ / 0u.?O&qKh ((ڒDVNFLgo0[_}v@3jxs)Seww0Y;-= %עϷWW=U<[a3k,qXJD@kdTaB᮰+g(Dv7#EE WbYf+jtxs&aw_W{ئA@Sqwr JTޱku{}ui~TUXyJhd ]݄$ )q]ᤔŶԚ4 ӛ8N/w߹`X|5;p`ǢNН+v|{,ZvN\ iQbX:5բ ?c 95 ul(L$ )жв[M+aK@V`nW@f4@I)h  ڥm}rw^PaiVq}[0Pp8\!B| Zݞ8_x6^x,ܨ]8hWd5[Ha3dc5P94FdijYQ0'pwϛ,.!7tiEyS6v>rd%Jb qY/\ ~}<΀1^4|?`+O8 眇~8ph\fW#uos!t#^N6L829N۫LJCopª('@S\Qy)O"]|bn.^}{[O~_}(a²"8ф7ādmgTLN=\]ap#vXniu~ cK`Vb E&gp1n>"C?|9h$ ሒVZe@wM{'g_pgT?A9@b!rmӢXݔX~>ӹG>10ZVƫH<<,jL<%8쪑1w6ѡ$|ueȡ?}|.CQ!-wk xo1.8A}(O%4v$oEᰇQ:CW7[`7\+ G'H -0)R ÔIhn䡅@wffm'H@Ԓ=E\gS>@+mv7P:Uβ$`|uǒEa:{6;kx@}KP*D"_U'' Pl'\o˻a~`$ h"=48g?]! cLg 7n\\}9ozhڬE6g )i5[An>_AO\oqΏ^bEZ u NC=ġ:çx.|YB_d@"QXJѻfeQѯg>G'u^K@ ń{Ȯfx|҄hY>!$A)8xJ44 0"  KϣU 6 l`8wÑ~< ;'T?/ T!\ '+뢺%v@dKi B0pQЊEqso*toOc &02@+A .!k_wk1;yg;HV71Z/o+5n"@Sjsɲ~ŀ k{{BTbUK} <ڄ^龆>A#V|x9Z1iCICt!Sp2yv@;bSvZV]DE<R C6<[tsF@tsU#({MdtyKj{3k#q@>zceoI\b|_Lg+oqy_x8k #lxHN}3{xw@3pQ}\'A okJX pex/,T6/zQcW\ .8Å<N.Zm Iâ*v0G.[iO  8)xMgysy[ww}ǒAaBc(1WxhDK7+<EPeK+ @rIχ)@-~W9p!Kl1x2N:c]_1Ǥg-IX92=BOK1d%Te72UD& E"sq*wW5<Bf7h`5!x=BKR njzW;a+'GQ5d"CFx r!tILF i6Uؒ:) ~qs}#ay[?J NG8\J&e'!jN!V??vRгPKKF~ `h-=1Oqn5R|ؐrqZ6)K/fckЛU0ड3V*;u]Y5̊  VL `kY>4E ;@XCIO/ k諏p0|B x{7 V)VcP6ʿş`H¶9Zz'l0S\_ux&x 04Ci.x>V_o#N$ҙ脪I3j-kpس\R}ҁC`|jKOx^6J͠9U~*?s7KLILj/AÇ)cu3gpFz>D lK` F)yIsΤi&/+=c_70s|#-/c:AjOIx;<w7<%8+VKfƆTeSa2jr5-enY"1/'ta7"$Xw45TB0LCkvNvb)@j Vf404>LR8\'5 )2b:tG70.N9LWMtMb9|9{|8]B;Yl ,R>FMVPpD$X8J<ZC`)IꞘmx8)Eݗ.K&^G]tY2BZX(uYW͡5A0ceHC!_}p/Ci^-C | qcHV׹3dnsAjw:N)5XquƠ7>@_wxC<J/6Z6_=|^=UP3˴xqw]gΟM@<]ۭ[.Z1nnȄVi]H! ʶYX=QdM,9 h4M9A'Z5\]Ip@R fe+.CXpY;yL>AA{'炃TFhԿĮ_?^np)?/^I`(q"5j`y! wNK] 4PFj#EcSNRM:8Š;3[nַwxgyqv:̥7\:@J f=6Wxݬ"rSlBgOቬ)|xUd-0mRpu̝zøv;'Y!"Kxqkhuz-ar8qHxѫC+fc:2,' Pc0~鸀6:| o6gpe-pp[)0}rGͱb!ҏrXg@OT:Fs/7_c՟e^՛ ok"I OTҿPi)I3e~⬵,-aly@N"2TqE`*1 hv 0 08tBl'Y9o +2أN\qMQH`*&5qBE<=`vnz{Fٿ>r^(~ms]x^=<kV @_Ol/7OzQg@- MhRBiXjR(*4<'|/:5@dM;h[*hYT~xlO)&2 Eba8cVDH;ipWVwsqE@km!r4 pr?8H=U =(yhҵLNBn/xYB~S`5qa[G KX&GtT$`L^('& W!|עGH:V)z׌3*p Qt:@22olێx.ԱA v>{ִcl\G;ɀyO$rM2 M-l=m{ Av}y:~D)wy"՛vRtaϊ+%; +pIcvG K~]<,}*0`Ѝ֑/{ Zrs53Ǫ!6t,^+<&aܭYx ylg.&_~}ʉEz\MƂz`Ka7fٯ1d=eNCs!3F8 4sU>so@Ȋz* L"Qz %ֿ>obsHҸy}JN_zjV^4gՖ5rv**v;P횆B߰v;)v9t$uN{}?iB,Tx`q9. +N`n]C/w4 Gg2#O8Ai86Ayc5H 5Z$릯kԀua ;v sU,ŏQ(w }x+VR1R @ @@f WGϯ#:a F߀Sx&@Ūl:Ԁ6GQLIlc!|iXz(R-g sGV)T-1_Z \-xN_lF98 X@/F0Mdhϔ9OV7ſ=L|6ך1l@u&UR{Vnχw[Xd=$ i^gwفBe;ukZnz+@g eE3]흑{`}PbkQoI0XJQ>/6kp+6Q2&=<$*Ee;qG :C3r(Jdxe@̸Vt':T;#^W5N' 45'qa.M)/+"&ˇѡ`h zlɌ @rk>);]\K{g0a;ld{hu6XYuh5ܣls Y6)X'Ȼŧ&0TcA$wmQyaj7S)꺌γ#i$! =5Äχ_kP[dFP=6cpZNY]dȦ-\6w&Ǟ{&3xޏV 5*4!>VM/LkNg5K,,/ղXii*jż__>.YZ*KF`|eEj%~> N T$`rKk7DK۩ A[U<᪅цFWe_0@`>45?HV@*no'g5̰7Vw5¦# ^1``\X7I՚ VcAY섢vOx0j[˞ӻ|.=(;ύ׀LFi {w?>Mxfm}'Ѓ"4v8 i4=Ybm9x;~'\!Wu M@?EҸe zZ^W??krpT@;<6e+(fͿo֗G:< x֒teZ ÏoQcA1ΚW[RchΖ4-`S-v HJNjhE#Lˋ>vs}T ߲uÇ$ %^|Pp YF.]_ M7!i!Dc}'@c |4Wg[JZ^%NPe$ׁ&6V0po%9` : G'Fo ~^9﯎bV4-$,8'*^g ןO-tca JS-xw쏟 LN7ao!c3xJX$rpJo+tf \p=.CǺw_\ S 7^čю~|a{={rw/  mi#+)$ ,! *0u+(WwĆG>ǥ 1F6r.<*p,%*bb2ێY^l"g XǦlFár0pM 0Nss؟܊?G@$u~.0P,'=`)}t!#JODA'Yo Tڡ aX%؈]<5<Pl_+H apMҷ4}Eֻlȋ\Π fXT-,XH7 ҫޜG.tvR&..B=6׷˗ۏoBֿ! :(VҨѼ0>Rc5; almll 2pqz{ + ƾ2A4-;zuu?>n0hLPd&EE ))6xCY gV2(讎!;Ʒ"=tΣo C V!}Nfhs&߱EU௳q_cN}4SfL u =YQ;j QL?هVr ~aLL8C@Q<-B;z6sj|Oh,KsfuLuIwJC=zgf7*T^{p@"~}8?lJn_V#_ BS_s/scAY]Fh__XA+ADŽe eQQ:^IәЌjg`H?VPk 8BؐLg|RUREwCj×fvWPJ9CthCU$5=XSe&vKh\aUSωLx׼&]P8v7<ŏ]tw ZwusX"}an&JӬQ^ZMZIiãD鞋f69Np+$\r4&h. ԃrJO}ݑ6A6Iے +p|`hlH]WX@ {;t #s@&ІAAiբ=?JO2[ﭯ<xپ*bۘf/w4p4^F98}>n9XlhB]VR(|V:]a%я=:sύc8+=E ?؊wۛC`k<c L "i2,E{{bz~ʨ>Q8,)}N:FLT=68:RU./>  O7I7;^G)3:Olx%:r6,E"yal ** 89Y'恟wAatnY `8~0(*2y3bw$Cꘅx~7( u G1H RJ3!$25//u E+o> RI92nC3=wx%oR| w`)`QsS|e3Kt"a(4-e4ՙ`y*2$7I'XjX>tvmpq0!Ib#j'(meΘxӴj{>/uE ˜m%ZW=2`i%nP΍H9Y۲H)D,94-.jwv`ljH8i HtCˬllīd\7~|JOGt\@t\'fd,|`-`M|ޞQnr ;oZTy^CZl[섂85?Wڨ4%`G;6<@A£1VcFNƽz ߋ I7$8QՃxޗ/4\/k6<*h6S^<A*'ϗQ/D(n<txxeKlKp#e`[5sA8Mt@/JH** 6xXOF-z䰱 uulԶxL?Y0\8s8K;Q:ЅxUppm}zfe@$N&AJħppj؟z~$J@U'=;`# l!ˡ]FF;}yW Oϒ2$/!%kCnl}R?)A.o{Kp^Q[1zP^FOmqjϺo3 jLe7#T:` >GŻEȻƳ<1"Nc=TS!V4_؋z_]Bi| F=(h& %@ ]ND Ě7=%#FpC),V-=oqX)^ԀQTΥ $cepW2|ҕ鄱^ si>N9r0pG3+ڪbeOG1:ڊweߗ*gE2qI-ۂECq:7:Pt`*#ȵ6Yq잹}\ejKB!r\!I Nc8ʊr5lE%3vOCyIrF(LCh#8KNnEJƯRO~yJ#p={sSh(7|۞V⇬p՜]b*ֳ| xaHe[UCZv@a漰Α'[rzq1D=jr#*HxSpͥJX<g?D/` a4qRB*i[!pe~XC/^Q~| yCyvK !$<0ڊGo^XJGNG OUeYeuuEN)6(H3 kݎBD`֗Ơ=uΞ4 .ǼP hLÎhoó@cGI;P8nMe%QCnn!Z IbᅂgȦseh;\?|hoagdD$ciƅo۫ ڳQ/;x ^.Diqά8z_)g2˥4z/Ӈ:y|C??\yl3PnV7tAk`G`JۮL_Oō& ΐqjʗL[ܬ)O0LɄY!.<c6א mŢEj0Rnưx"gg]fTr缞3;+ɉH45%͓VN5UB[T^x5j"5ddo8 <8-Yu C>$HB4a!:0* ծ+R4πe\ '2HI'+b*FO*3*úޝxi,.`b>B:q[m (lJ Uț@/?e6Nsb;AI, :yʮ:N-h O? ?SBcB`6$*k,-K&ݨWXX|sN}c-]]Ω&pP%Vh#hsN&9/{ILF d *hHGl!RiI G_V6ۑ{8_v;G^~J`7S49z`3t 3 o(ͱAܱaLobqCŖm!e&'/ ȳMFgڦuhA@kdXRY9@_^WE}j<ɸDލ5~-ͫg̔O?j`3'_A_fz0o1.+/O9ࠑMH653fr-*y ۻ;~ߠϛe =*!eXN~w}M|>EO@%&& z'MMد V ETptgR[th8Hy<'2@Ī$>=vbpAeOjLj0͕xzŷtwêbRe5FLΊ?HdIxuX-+r"/,ZVc3#Þ ?gI & D\IWmlH?[=IH>vHT,\ v,>/Z>f?%?5Rb#.S,t!YNBjhyiF!=$AYdXLChb3Q"\pEKflA4;\uW#5<&;/؏}|0 Kyp2?R Y+PGzn1W fI!!#km^:)pjH?'lnG^3T Ω GV#Áa1'?@D`mXÒ|~WeH8[؛12=ܮb"ZUNj@3FǬG̷ÒK<@:|zkxD-|BUC>}XD=d<Ao^90/|\񤆹^avͮԻ@MEhDA[e,ePn{qT.Y&*O(H";|Ig|S%ƕ g7 e*pOvQ kb7lx\n/ ;3% 5ٚ r~ ,'p^D K6o #cnc꜠Y6C3}I ҇XiOA&$r $-9d8ۃ+XD3QOR2 =}:/r {cp䮁fp ?= ,ʇptw`h  JaJlf_X6-{.r0A OJ+-/,ӷ)j8.^W4ӏr7812Ҏ}aAD ɩ?;dau77S>*wz>s0EFbp$K .2c08xq($hQ1^SW]"&G/juθ 3"r?zN o::ƹf'SU;d;SC |uqq!Xjb^!i,,V,l"A{i9##Mf>αDV9p]7 =RO O#xjԨQS]7ԙGE=K"u SLU&r@I|__oW{YVIB]6r6SݍVگ"-`"C4SOT".f?兔/f1Ry2Vp j#+\#ouЄ|ح8Rk;jԵ:63Lctb!=Dl< y`YD(hm-9êccG'Ȕs- r4L>|pl<h"ǬlGy] GLXΩ 'Ql›ys@D~^oV#^r `[ 昵H$!YE"|h%`!5$gtD \ :\Y%"8Y,0P/T%\)1"~;FK6,b!Ygc`u=?aŒח>6A%aGNsϊ5gPo@Oҋ)ݵ̮A7=<86u5f,=Й1,k!.T쌓fz yE8e"} H=uϑx gCW<ɒosD"(vYh'ɘpx xMlZozLUb<dqc]eadW11Ԙ {|煃cU!phHz?ga_,1ec(,\ C}agE "}^D9:<ټY[c\k"ФcP;ubc 9_[t_tqz>Eu[3yFRh !Dy^ ÆhKJ׃1iâk%<%|ʀH =`$y6/Pl6Һ|MTUUuĮD!RLÄaL톆&'tC%9{z&*HvBlFJʒuRfX %)Nw@oWֱaXl.d CѬ-pxvgn#0@eHG q5j^so/~~fVسX`Z?Q`AE NK@(}lBe&cԦ=#|=#4: e$33xNf%,?gr9ߎz-XMܨBz7ш *EuS5dHأ1) ĭL\ %-O8>>$[?5i eЂ$YDYx0h2܏m-\2НG=.φU]G=Hw]AU5 5&g^#֕L( M&S׋)N9J flftp(MUSY;. ;y5RzhqW JH)kF,sSicCSi'OЛPj@ W]6-@d:ly~YLb|6q(TX:>%5SG%[9qCg2mn>x] ܮ>68\ F;Gj9Z`kT۳OIw: c50bYj<y6<7  .0vzxW^^S#ֳHY Hh~df\bg(01NFYU5+&F @2K]ef wp3`cS#yPBMXsxE7h!刮8g<~3?YK13є ̋܍6@2KdCs;qy<f*#*37E[`fg_f,f]}{}04άPpP~E,)h2Q,Kחxlʡzp?d%&d<)/9h%-9(_Wj/KlbJD(X'2{vwޝ}hoNr>AdD2,WUbzK)& T,&a1{("ynƑڑd–A q#ǽZ֐" J(b~hu ?xTsaH<ч-"'D RMD$pQYVfjW+ w1c| f0{gwGMo:*{7ç\yN0^'sKr"pW\M/c?9j ﱠ%$I;^Mؤ>b])I91UIhI5٠X\Lݱi=ҬsXBa @g =╷r\1kIm\/wkN;xd.e#jeM#, ^*̗8ʜ`7|BGIj|&O@|W6?ˎ{U i>1?[[M.sIݻfꨒ`nP{Gbt ֆsWWO!k"`; PsT,!pݢI@'f8KHufGy!ML_';Vp3\q$޾lw#X8΃mގHJjr@##e1CXXx3XnXTi QLhS Jf]}ܹV1H&X̒C`!(`b<rZF2LVr W7+ !#],LoS/8 pT#cq!eɮkv|Z ƛ+8 ߅ehyXvb l<3U*cw+NWASi8V QXیJN/Y$ЀzV2d۟8ؒm'UR-ǁ;K %kb9鲫X^ 7q㘍Kۋ $\2V3 0o^&H5#뚳(aZI> ۉQvX[ ~LPOÚ,ZA{ji^<pn{%nxըG%H_'S8c>b+8ynQ+qDa!R:g<_=]2Ȱ.d!! pWg& EG.ezb?\Σenz !抣isYKL!C{z>K1.2SgW,8ȣWWtɣH5Ra;@|Gd?lPp쪄@3>Kh[}tFHzcPP%Ip u,mJws`>rkj#S[ZPB$eEjZAIr& C])G$ql|*;.x@h5!0YY't/fQUTDbS1pNN(vIR?o.V_ONUv WyCX\mM;G.z\5$_:Y5Y!FBC Pa#5tV^m>ìw#&x}~|ړ^FHRu²)u\RVNiքAmtAf6MHv *n'rp?p4Xn5DE9laNĦK]@w !׏c0Sbxci,Rf \n+ lTs*N#'Pk=7'9v VȔ;b9Cꍫ\<<a3őKEЩ vI3p$HVX謑I){88/F6LH*C~)M&1q ^'45 r)0~ F>Ț*>y:+l'(;2P/}~KzNE& l`pH;PDC ?"%u\ 3u&9ّc% {ؾ/Y[U NR uTOtGNzȬrhf$dy 9"`{?@vB0m+lj5^ٌd}ݯo,^,<5z k̿ !$F݊@ @U1ŠLS6 W0@-IBzãk9~*z1Y*V |4 l '3ɒ4=Z]'<4{acV&ч%d}!>cG+.?\4NBDXuܰ3?˺zSH9ԣ`x's[< =7*%N&U;vj|V(tS V VG66>hpuG 89hXf}"X(uc?ggǾ1[>(`-k &R Ahv43ruhwNAɵ2 '‰a{GUz~$Q7"*sHƝbm6^ޘ]b&3]WeoߩLletC1&'9 &;9nqDߎ66RxBRY ˌ ^R|"s֧3^aη[N*9{gYL]AvNkJpd*|ਧ_[a}~wTW[.i>Tkfqf%H/w+`V2d6$2v .9 a><57r#JBޠbe~\UǦ9NډcQrfaepIXz=F ( ;Nj`{<I1Rŋl_X>`} <.7sNƫAM@psJOw1GEU,ꦉt txLNv~z):rN؆%!&|+-PoVgRķ^o~w(z$cdfhь?=.` Rh271ܶb6v?r-3}0_ mb,Z؂buuҢa=+| {9L 79H6*vӜR95UMfɽ2G~0 ?sue.9%3;_1 jX2+sdDrOpƤj1(0Dyj<瓽fb]@n9CCi1铃~̯~Jo>yڅw p"QGV8`fz'Y(a{|U#td"Ij(P AglwKQm(a:g$Q0|J~>MD %;m0jk {,d9\9=gu%D.x#;PJ[r(&|}@9>Rhl,dY4u3tp$p̊M7"z}-qKAQgka<H C=\U:wzp# ;zOY~$} ۠l-,>J`:/{C#}vVZ2aT们"3)$O]?< 8=g4wW*1Yp! $O OݚTO [] y7^/nHzo7ۇ].I4ȕIj%qS!WkĆKd#њdKZɸ’rGQkX\:e,j3c"2X?h;0$ ;q:`xc]TŒbɸw P54fKaji!P=M>4F 4[$U/X^l &Ȳ~#&0.7f3ϺclC0BCi:P܊6}X!P_s;N; C œr}% O]Hޖe*JPQn9xЌs ӇI8H# BCƅ_]bGAB21s|* RSzYi`ewp! {F.oXj/./2ܣ1cD;zPTa.<˗G1P(ڗ08he j&)C,i#1ӈI6(8Cv?g3&i_5FƩ-AdK<FI)[ș<~֠5X5[h]chw<r,W`1` 0˧U +9 G#g#k#6;i;E|q{ʤ5&Ld߀%-W:+xwL[B,!BR; (]OowBIptNF,HqNF5 YTeQuT+s4H!HUT fY_-cEoLVv IG*pB{g-M/[:SEaC5p\^>F%*1dz W!B Cܲ,eu=㠞tw+cŋ߿~s6se\zM{!~J_WS-JSీ*3hT QBf'UMb\5 X$ fZ;~Y0V/$:X~M{v1.@AzΟ% 扉~"X(&]00Jv-p]oD _ [a6Tvc8+( Éxj4LǮKXR_0}xPNJ ֿ zKGe{0t9if=!ǼһU -oG;6sΌ HsWSiG6dqaI=`fm.v&_7t7Ǒp^`- ;= *4Lgk1cw7ƒȕo?Ul9d-ӛEoD";f =V`碛8$+$O7npާf( NޢJ$[,}d\ zO^ sXd&&#n!pS[cךy .Tzv0TES6z 2n{GlfPcW+ 76(Il`K{O'$df %YW+)ICaY4.;fq#9ȇFKc7J%ՄdF眜 3=rA2 q9B06VDYp~ |#Tfś X4l@rTZ#)4;3*$ܼ}lbe[3_Yت Oz暈-? CNb~X qvzxB kxeIVG[~pWVGhd!=rwFMޗ嘴pwɶe['q(>'؏7Lݒ >r Fw.VB%aT {`Cf$@?AX9}<@5CW%ZZ Gю3A·-\,qKvޔ؜V!Tw rAܢ,K^rJH2$m0a c:.6ӊANErtR;^.׫_1Ij987֖au󧻣ֶ*)qEa9q(x'x?#X@r2Q:cbN5 dzuóGv=2 8Lɐcٷ Dv.}`TN.ThW&.#hNv{'UH1p&5t,9v84yVGOG fx`PQabN DO8tkY)%);PӜH . T$3l-&Eu$/d ҋ n$dNB㦲? łul ׁp-nf 9KЫ>Hj0+9ԘP1iR+{~^ht=wm$(=aY&WH@  o7f{yݟ8$s3n=Dp_~h<9Xdο6;-n0bFⲎ+0 uUd'}։Su{bef51yJv}Zqv(U 8k=- (_WP4xEr.J֚\QLo+vy垝؅1bڄju!&|')yx.90-#M Lw(|9Tq;a'iCk[΋4?D'8 CLd gZ@4=̬~sۜ?PRY!t6Ϗ:ޞu;(V8a_^W8NC5BJ5L99-F@}gM0128~(|:E­J4հq8-ѣMZԡmfoRdA&>==ixɸjYs>Hs9psJbTXG7k" 9쁌g WMF$@FF6_Y W?C@n,=_v.Ucn~~Of̙cX7; s ˜eɆI惛/8N{#i좤3hC$YXf,[wǔ[PeaIR?cP= V9 )os`mטHIF tv^ڣ[a~裮>slAڪ{ٻ{ԁk*R*gf࣫YY@2ZUyj)pf2k@.=H7{p_,[>gdLX 1@Jl+ Q3_|u:^k`=NDX+h܆})hgPx*E0:ic1ΰGmYla) D m:.  @$d5D>f-2/::@V< 3se# ΰ'~t<qxw i,j%+x! me?s<F3WB3-PGnrJu=><أޝ TVN RM`?8wE!3]IB2 : :Y[?*yq7Ep 3^|]nV_79{w: fmo\J }`F!9\77qEv-:;6qxoep52f+X&Y| ,)9z(3`R΍wZX~|-c` T؋ Ro;eQ> #q5f\L&z~> uqGtPAғi:q)C31\_ؐ|ߌ üN&M9ZG]Q$ `ހ@ˈW5)@3xܱ߫3mYVA 71" 8f:a mY3^zi(qF$A+I8E7F !;=-wq+; *.:qH9#l4&Z.[bYc$Kg6r9|裳x²e F>\`kX`3ВhCI"!2pb6H&6451aWaR{.5ȃ J$ߘ?h6p,8-R ka^r2*/Z.yRXƊ+g+9Gx}|l ,刡Z, Z%*ל7\j8T"@% Y0c,3Jܾuy ҷe>N>e ^Obv@K O]Mrt.[eU)sb$v Cq[ ݟ,A2O4u޿g#9dϙ*%].|-v_ ;(4*G̨D‡(!5x^O(8H{]_&`K`rE`y{`zHMh]uclR Yܵ+{e!$6f =fL^9 ȆJXZ]Iӎe}FfpddbXj1&ĢR2T)qQI̓j_ȿ TНc lJhæsg9!=]N'V{R$Vgv(\͡ 6Pį~ύK);e|0=)j;)ieW*+2 IǴ]8:nhxrb8fٟN~2:9:prb͑H=QSӛi R0d zBJN6aBݗoY_u OfѬNwf}^s2,BڭGl9cUf)lvB, 8:[seHȹ]br{2aEHDG]=C fg fj1q])OX]Ɛdji #Q7}϶㲇KιQq*hH70C)>>/q䄾E{WiasذYZ 1l./uf"[.Uo_B:Q,97'䎗 3qo1Q@<D,q&U2Mr |Z^.ɑd$U Xʃ(5pQ\1Y"9 n {`<+|F\%-BLa7V2M%q Yv ȷFmbw,kG{a7!#N.01$t0%7kv>Cϫɽ: guᝑΑNzLTN_}Lg% y0:rp w'X@OF2~leY3#,c@8_!ݯ/!W>\V4ſ, aoj#k&Xd$ٖ:FrkrR&CB5YqGZg9+jK2!+<驇.pݙu{ds%p[aFҵO'o c58;dI9dM.:L`g\ lT)ʔtbs]ye`u,g90wI7,bFx_c{7q]Ze.*oߐEOJx b$z>􁡊8ꨤ*'²Y+fgXI= y[ Ҵ¹q),P:0+ְӿNG 95K1sdļ(4J 8]>TԂ[I~sKO,!Kq(oL3^Cdpu^=:bI=Ƒ Unn4_s2 d )Ř4fN›+2ꨉ0x5xQt\}{,soIpHcͰ8"#/ c 'b ><<]Gc1|e0p\})C/cQpM@TZjIZ(ߊ֝W^ C5cDU+]oȜ|{V뿐.]E0]dHjZ.9RfqqR6v0]_iPu13! ͐gF?`ӜUBܵ%^ At]̸$x@mpK:v#4[*kFTbɕs˄TP16Wsq!1d 87"}dTI8?L(WDTwQq9v _WbǪG܏U&r)F .c6t3@'E #wOs#CGc9 rvЩ1Sgs,DäDN%M/7cU$NS~"}':/EՁʠ'`a%I`3]•e :cb处fi+@Za^>Xŋw]WȊ U-7Q2f( tp\03g(;xUNt p1Eb^#4<'vzjՊ  Vx\>w.={^&eq- 5="  -u@jwR @F"ea :%׸R^I-t85YMu2(0yha}}cz1J2 釳XsC:4լd`iJ>j5^[>~]V\LJ1=uӿt8C]y` (Z+reBC8qB=3φ0BbXnXsSR3Ճ'טY7 9=_AڞVH1;Íҍ&n((>Jpʏ߿]) &g۶ \e0#˓,$zJf/aI&t%J@q-fC9Aٔ0y0`Z~\5E͌NK&tn0ՁDž;N!u:`C0"$pEQPUUJV(Ǿ˪oC -a.2׃yT#PCC(gep)K)G 6rn}:P[X ON{w#jjwm>%D+pWv@CDԜƵ]_o~;7;d\7*z3Q\̄ZijZx5-I I>NM}=R-e;Y챜B #`ܛϓSU[ih(oWpt:,NRԴѢ>g/tOUO$6IxNa؏"QbxhP.%3/90| _͜ōKc~VEgOaߎ ȟ'%v%x=eJ\Èݍ ugЫ"فLE 6"lDJցЍHa N n՛e"4l0X`as.MDž5.`OM3]\u4G{ufȀOZMHiukud>j{K8VOre</b%,W|< s>Ly߾[cI똮G5$0UQ;=ȻcVk)^胭4qÈ2`>莒Cbf,p`yh*J?ܭ`5lIc(ĩeH s \ D.?(ΝlI}lL,JIDؙ!0vs9"$;C.gP%{Wz,xb_7@(BVGFpSTMQ{9=2,<2C^1'(r'K5.K_ HWӫU p@ya0"WNl" Xb@GDxsxLqJg27ΆP%5[yI#s.|7aTre"_ɥpd;Mrv&~5AHȴg@%Ti ͋<> L^H `=6 l2hH)ƁӇ1qD`_gMOo&` ⡉|'wAUOfU7(,N< X|zV6l/r%GI@큞lzbS=_~FLc8n=Xydeu5%=/HPȜO7h*sZEd6cr\Tg1w%0P3Eb.A53t^.7``Gnf*[H0P9ZoKbMzތ=!`Cߩ%\>"g2ar!݅QknT;o;pN8ł?n2FKG1E?J GzwW%3}d d$$xl> ; QफDlg'2 x!][3 scZ=H!sT_XT} i" ! Da%qa&s j]F1ɺ~*:J&Ubk@Fjՙp)};ݏdr|"a;{nKJc.'ZG\q28DjZPB?PLi9F"}.k=_Ia.cCW±5> d }L:o;9(=Z8x:-t*3Ǯ[P} t8=a8LqL^.IۜtHZKHLgfdcN6pw+]r5[ag+Sm_LLh Vg{1LBwV_ꔗc%%,('-0Dq<0251)C%ߣb4#h6f97X5?asl]=NŚIee`! Deqb90N: `~1f;NCg ޱG PHv(ҷ3sz x$IL3 vNL ŀ'R3p:!Ua3MgfM[_38# }@V"w_Gba;=WrWbsi)M" hbV:NAxC||P3WE[>BW.u D%$v:nL* Lu48 2HvrH˼:eEV1݁YS~ WLD gjl8NZ6VzM! ]m2y}Koxu 1Mv&oLJn IB> ~{Z5=PU3?ٯb& FiW1Gu _v*gNb8qGƽ./^@YFtPxRB|h~Y-eZ&"rbEkX(Z';66ñ(MGZ ;*'K9Q~9BѐF1ir 5"x**>$(~v3 V׶ui͠pȷP,#n]x]ޓ N nf:H2J%5ӻIAu<=5Ʋd- K$ 0ga5NNB]N5~SI| ْV+uBlPଛj@$VGb'{,Y?Aƪ~,Ghcam㣠 I1ȆqkFUҽ&[pގX/W]@W&V>VRIgPUv ׻ UPYcȍa`g J fV:9_[㚎hX]wAK ![8\DM =蘀m9>JY(ٞ c}m8NTaMdklT<'Zl~^;&֢b?yONTBf&lp1y7fiIZC)4I&N] ġf  EpII2AR3Ñ9iZV)4Oo6 ㊋׹,xq9a16//OGµ[:?ndKO"#akַ}sMgi_J{ Mŏ+Uh^ݟNց6!5S}0Fv%$="i9ǭk5]sױ ҝi_E)g>"~tȟ~sqlcDQg OY1R,~_ޟ,6Jpeldʀ+s!xe ]C92kIqRIɦiX 8i뜟n1^Hjd7#Ob1}6$e?a{zzW~W T!+z@!׎ctNoC7G9u:N]v{#; =\&c7mi|A< ]!9as  Q7 OE{J5r<`e+I(Q"eZEEyr/+xGqc3B(44KF5*ab\PHSztx e2 onR-sd=#ɯ^-7T|%ꚭrTkp7b}^X;9vu;fD&îgQ \s^揀[͝<834K`6}m2s*/[#NF_Yf9x5#ҺseBjGG\oWsZ!+X5?5. GGEPjOŋ޾|_ !LcԐAg{h].㙕qomwBB'ݣӲzLv0J4JPHB%%bI #ٍRpe}A//j/;r$ۚ&8O +;c"UET."#`yΨFҒn~QC=A7h5*Q>oROSB3Y_/uǸk`sFQ~ncC @DMP#5 E+3^~}wa.mHh~Dز'w<áZ?m|<Շ)h9$Gmzz4ZMb!.L.2D^ 4щ|ak?f¯77 ,xC4ͫD.GWrdbW~O^H= >(vmҠ_Kmn<?ozL^5;Ȑ 0J U3z͏keZ[k0s`:($hqMS_yrq&tS3Jy1t$iwBES` :δ(釭on vqOpQ!^~\Ӌ*s۬A S: ;T\7M m+gM7FL,h!OSSP?jmuJQɛ  {ww(3T7y4T ѧ =(v,ER)ƪ\\P3lZom!5c1m[7-]Ɔ1U$aAA:yfE#CM@ c7#YHCw1p\WNA4UeoRtRFF_ CCϘ 5w_jMGmݐVcM=@Cx67Iu0S@WDzf}qIEd֋`1%ʍK:䊟тDt/_Gv c+6c:E7WH*Ai8M1ɠn7t:ף jiFdkFGn儾&h1 S/h4*<ކy.Yőr\Nw9p4[26 VBmr2>@=2^6Q<|]蟇gxCmfrߧYg.F{]uDLm,9+5xPn 4+~UͲq6A׆,yIrэ-56UcKaQ&0vZ̃aё+Eܢek<CyA%7['LɢF{~c(_ ?-bm$mlΏ0`jfgҌn&9I?6}в鄘ޒȗaBer6: M+Zy@Q~a#EMOG<.]3\9uQ%A!-ӛ㘻,\ӫ_O_߼MyW<$#0>ŷwAHֹ $LKufա<AH'IJTz!H+O66 eÊcOIi cߍdYP@o?Ӧp\tu<&kd؂Apv@#2!6]qNݬ3" ʢ$olFm%?m.ID9FCZ mWwfճДhH!*9gtG G3qKjFR+NLG޳p eBq]L.54n8c&[n-;- ##L|s'3eL_kNxNIh%7 ,z.ҶrwaǐQc5߾|50r+9>3v[׭b&ӳ ^tQ bukV,9=KB&āC}\&:Rq^bLr%;-cJٷ(k {Bނ>+ɧyWZ5H{S) .K茝N7! >]"f=LNbliNswp˄|yYB#Ev{-Gl+=iҁ GasgKcE .\;jC?dܡ=*Dn2Us&/\w\grn=]#$+rWU> hT+MH j3l'{0>tviv'{y{ u!Et(FntM D2hN` W*.T*]@k v:/Ϛ-S4Z("1!Wl1(?u8}a#KixX9o6uo=!y D˭Ukfو |-W^eOls3Nf=ޚ`2MpVEn6a/ڴ괞 atO=Ef5}'4^ZgNmq-4Ǯ >6t%v~\_` udED=S5\9Nkr j“/᯶qQtd0yyOt}t~jD[3]wWdـw= 2nC'5`AaR6*T>kك{ijxa;]NIWݑ+2l$/RAZjz03á_ |FC H8OB w',ϤL2^Jv.2C8Ok}^_l!CL 8656O⌼q3ꆾDA:/O9Is,iVF ʶEYX<&yLҔ9e=hң)XR;Aݻ7U.JN> S@eb_>9=yL{$:0:L |n ds.kWo h%0X 9~b]>[d  ɸ=?7zv`G{*XI9RB]n8t$G:ϊ5`)hf0q.|{j\@qM^4o&auk @# uBTP_zqunX e5FÞQɐ3 LֈUyw^R4w,p<\[iVfAu. ȏ&Y)o)@Zo\*(p'fiVHQ^^Vi6-+ 3 "MU~ySb k#6FLLlw;Ÿ ttp[<5+\D@ٰ($D1ȡ17=$4p2` e[AqL PS*I=,4y򚚑Zh,]71[G_QCzs1vLZl)3]r(k:r.29ezCzPǤwIf f*bkGyR/ye}7JIa>c{ 23@BZ%e(=QzעQÐ5Gz6m!zY~rv%̂cWugs46CC.dQptϚ> yɜ\QGxΖd=dj YQH7pjfⴹbz)erhxO̟FWD_{:F0` 4;Km"{l=ڮc¶Bg e94R/.se{C lK :ץGQFRw.1R7],Л:2 }\ƸZ>%:+_3Ӝ:>= |[[0ϑK͉x:ȵC4?NaRUmh- t@M@B|=*N +@Yok2z'd8eI;&0΂X=ԝL6}LF5wFԕQq:P&x;@~vc?CsY ^8}eL㷍Gi|XQuJ_˻ ݱ}laY'@Լ0Y]{āP. H:۞!7P0IY-ɯ|& VvB"GdSL?=z9(޷nW7MM}`h,'k-20WւpuWF'< ~97p\8}DFqh* (Uҷ$}b3_ BF0h/m(/.[h4%`zn( ꡖ)!wg=f'L]hBrLܥ8a~l FXܤha,Ȅ(RSCqcϽ8x:qȳ>$2Z93ݮgBW.M?J-)QF!};'-ypWkƥ lAWG(. Q7ٗС:)+wvEiu4@R=d&tپ_/v3epfb~MuR{5ԵK($_t+*$1y2G4&aa-7/:o"y/!ې"DEIps#Zt{,j#v77$~b'LcDGyY+4w6_Gq p+AϺk5rߊ7mziFu!@Gs0zamйQ5PEOgbQTw(@^^Dͨ[ +PMkyd%o7t{ilwr=yu T 5m@f e ׷HL/)Տ o c"QQYqxdzr{&r5_\|lǵP[k!"uaꢃB  GprZZM6ayPR Nț_V)H1z\v }ԻY4Fh5| -݃liV%l{ΑNi*m0{rΠ8;)/aU6$FN$!9>&>oVpd1YrضkZ{ޒ0z!kАja_6^_͛Lna)uɲG_߼ q.  $ 刦LϤb:4R2N34k2 |}=| JgPuhz:X~dڏjOnDDA$#gziMKߚӈ.b=%# +%6`Lb4>tAt1_Q33E.`@E 끰T:)?00p+8NXAÐZ4]j:Awn Gz:h]jD}ꗍ 1oӮ:Ɖr4. ]'1SQ+*;}'t pFP6ӛy.c>K]6eZ~ri>zkH'0-'Dmu jLUlf>߇6sߣE[OY >e=|v6h,$4lp`{dEy eKY*љ`Vue싱2(8*?̉$di҆i=>El3DC;&<<^~9]9Gc4@n3!Ӭ$q|zmh0ŋ7g( M#{-`1Z!enxǑ;BؤzIN_MV#t7Sc+e+PVGgP̵qM1wF,!z1bY- I~v'KwӴhez`ap=؝@9?- t5rC;* )2`>]JuB'P#<$e ݫdiNu0e ծ3P8g tJQ*DF-T)F xrT8)FDWdS[ȦDFWuH0hhg>W2-Ua7R@@U:vwC\.볏O)iSG:7k20+Q45ֽQ#U/c#yZNnҥI3׎J HX߹"T\ p1C<5z3hXa:n"rLnyTe&C_XDCpFw͎t5xLScݜ(^yQN|]mVl9.d&#"J0 `KoO~\_nnY؆noIje4&72EG)RF>'9k[a)lkY&}xObZytÂ)0!*9S9d:Oh.ar b_;^yk\,똑'#ZiZj-s Z+5Jl'_ %ҪneM4ڄ_8\ߝ^?)m>g`&wtge\})ҿX>0{ZB(ʟs-7Q(,j]cmw'„tmO6(lܱZ{asqӟ:у/iyz`$N*dW2&uSśSrի_7Wz{J]nX YR` D+59HQ 5}WG֢h%es{P}> p-kuZ X1  ucn 㷗}?!n{5Q23P fAʉ?ԑ&i']F3N׈xa$CZ!T/:oI2ΔafA7U&Sk-BD7F'AaX4z{.,@PhO^0UL1Fɞ 6Iulaik6ๅmz;_rZ%:4kb`Mk,WvnvO~isX$'(*ZDpJB1i}?1J7zM4@)BHǒ ~̸yJ\efH ']sG ox8٬lحvTStv =L)r: P|.2жod}h\6ΨQ8Q|_okHTȺO 8YjhO_vaS'*q"Sa+eޭѮy&>Y,-2@Bc76tQJKLC~@C+=;`'i!$S[Ę`au)P+*Z-–9ڪY8t~uiV {OsN9d&U ,Oi-G+&,ǒؗGb [հ9 V2rеا RFF`StaLn.u3 ]ӥ~v 1p5bIЇP eTwVP%8ȼ}GYC0>z]W0׳CS5w„A4GtH׫4G ]ķm(a:LcԌ]&RAyIY_^q4*ցPlˈC Xx33MF=$ ; {z`oX>< 1Kk量RSY29O&K .Tuf{6&fT0e(~}c ߻)V4 wtNiwu:+2SI3ږQ~B8wH1WS8vꅞ zfFddȶ ĀtdؖfYX`XOш$zyh1_MwWO'r}a},e^$8=$mF6sє] dC/J֋}9P+ZODolE-tԋ/"Nmk}'>wU0<ϊ8j7'N GSM~-$0C~1I9f5t3-w$ 2jߔߓ0 F)NUR;=:?/wKwGZz9M;08v(kAf{nkZupН+P#R09hA ,Mh_;ueW:#Kl3.юk YCeX i\мV)#swDrȻ{fp7+Kd\l.ѡ ],1ɸ)U43UBߟ'Lr^wq)g,˛?TEi\#T:5ZJ} aoX KI@wO3_ygwGSPjR-=܂M%QGhŞի(B?Im_Ys7~>4TIjsY}R~قcGvJ?(BVҒ;ocvنy8lc;BSW3f#Yv1)'.3Zn]8,Ied4MO2䃂ihQxX{k(p]v{u6V1͐S#Rۍbn>d(6=$ĞP o_Y$d]a\h,zAST} ֙wScdM;hahWv)-l'Lpj\C?eU\agRjsA`nl~{s$9w)RG#3Pg]7oGI eg$j8#ãl 但=+:zɼ_6"=R;y5_񢳱Ede_sXHdZսzb! #%|{h?4< ܌ 8V@JQVWog k0Lu+OvBi_.e6nn5 ! 2}eR!!k:A9+xBm@^ca|9 ѴyVjf*R(BȀ8j??BGyW87Nu->g`c==^_?4ǡ׽ O({rZ UwPy}8CM6 O3/Ty-T5b6}z,=o_0\@4eDt Uۦ9㎐#'@]<[>tfS6РDԟ_;Uhϓ/EYՔv#S N(̱酝i%c _j<Y} `#XfiZ^zVE)78.]L~xq}qw2 2)I Zwn9PɏO%Y b3]`2y!!.@zKYWHɹ5\C{+6jяY-Y~"1Ml9xujr2]uO'2Bg_opWWLa<{n3avC6'A!_ԭ&ΖфF%@T!emNI3hXa=l&E)Uo # $3FՓɄ\'6**K0?µ rDb<4 +f 5V)DmgAe 6E<.ϫ o֑zl]?eĀ\_8iYBd2%:v$ڢybչH8#ԴRacQ~޷r!31:gg[8)(l៏ۏ(2-$ wQ19>oJR@(zZ撚RYj\J:GH0\`eRϤaг ⵖz )Awsn wN]&g.IQ9$y6Kl} ﴜn 6#ҳ#׳e+$gBo,a/FV43ma@2J{ Ӏ0aNy}&薯o`y Rֵ PvtpCck 1U5~127K0K9쳏79G ;׷ܡ,iP٤N4 )=Ւi rj^RRߜCc ѣAENZ/(2TL}W͔2fd*v$Ɂ>Ae|8I/3z!GzBqjCc\ -F}R|ށ^S^)$b*vhVT?ŋpoK6M}.H ^P ZhRǬu#.@PSnR'˭bvT\fN 7huU5Gmizz]{<4V̺(ɮz_mGY VWMw9%r2>xMiV{/hBB#*zLʂ--ΖpSV.mUuw Q`/慚Zbk>vEbG(Ac,sl봶Ρᶬd0" 3xoSSa cw(/~~eO]77ӗ(Өr1uhRu9ҹHS"+ܓo譬 &?k~rql34an PB:!qE֘>28~Df, c!#&8Ђ橵AZȧX:SHkj LR:[|{V!I[brydŵPW(`2chJq|?ݞcFs :X0Ȉ4$ıwH ߬Z`4d mDEt e{]&;/'l6pe \'XGWMU; jɮ{z̆-(qb -e2'ZۥL!'_vk7gxn9E0M< v=f}'ȳ|*r<2i1 |4^\0O 6ő9CAhi|(F3{[@Qu:V BKoC1=?o#T:VLu[^l1T@#$KgH½8'-"]ӓ0^KM=r5ih1jL.{5} (.+6"fk;hbjrxn蕜޿M{l@\r5qMez#}Nr݃"y-_6ۅBbYM3pIطҽD)jsҗa&6y46 *͹I< G:-t\S" ?kcb$я5䗤"b*1b),4l]Lvr:s7t]͇x_.鿜\"14*֯מԓnϸc"=D׵P[^>BCy6orueMpt:a"~di]$b a.` ,l$ޭ>nCSu7+ t&j`HCG~=< MhlHdfENOKse\*a o_lRXq ~ %XkZSj{fO)w$?/J_KNH7D_i(,헫gQjV$_dQ. B/qg0x"au;_+DIFHWµ7A0c2umJl}S߀dPQgA47<6RK[fzྣ/H2ɚe$q^\l>DČuPu:ۣj5ac[_ /~bnbrsS;0qJ,fDKYۻݕ2 d6f"Q70i[ ;X<{kz χ ɫөVG4#*P(jQ}5O_e9HfZL4IV?zL*O4xiGzx(P OzA/2J&PdOQܢj(K\Y1]ot1%7E)[}E_mҷ#}X4ɷ.<ՖB[}7/#K<~ 9O^~8FT4gƅ Qm4vesu'R)Lvڭ ̦h=ODzIPKӡJnޓ>p#O!=QvYb0J+Gyl(hFx$s=/5PkylF;2紹9h{0p} Y)]{MF("nf\H8*+d=`}H^ͬNtSWװIG`d*<{d~p\Geb{ 2wZ8ꍟ6тFkb?q?.O0ۣ&hf*IPBW[Ѽ4i7ۛE1ž23NYj% zь;f5434@tWc$(s7kyoZuQv ^kLl!- _=S* Q$7׭-U/^('+j 4eDb,}hX[j!諳}]aߞsнKMHkCI1t%&5 <>^ޑC&$&2ݨ[@Kv_j|6MڧNV%]}ʐs- ֤w0PNT|^_ˡF^А%g+"=Rhf|5eHvO>7y:e {Woi}ssހ{a~k(h gA !tÐ1 oIG⟱ȹZb#wfdv(rSr8. lόq{ tn\zF3 KzBS9AP\/HK!Fe`ѡ9 ߰^f[VHirP6ࠥ[5c=+,#fIJs-.2 ў}k~ҵq{ EbtCH^; 6L%?V14MoxFh+N9h;'Ra, pĵF `t*[G/@H7rZ 6@+~@-Kn'#2.]b!d1h̫a j*r{sT/m/w#Z1OgYB][h^aWz]&8fjVG]PV#z0/¨4M @Y27(UI12t;]8szÄfYFؔL̹!̆T(GqX>o7'N5>SJXdǏii4Hc&]ʃGB6Ղa\iG9z/RH#%MH.P? d."{@~n`;!=쁰}GH&e^Qa:zC"BsL:Eڷ ЎK65E{t16%AMK[}l>;ۻ/#2* S#"WKdOļe7DFSRSb9To/Na{R!h@1Ӣ4AJGJk9UAKd7JspOPA:QE=E`P*^O2溣J"ÕDNq"[6mXx"a$5w0pf(;2ؤ͝0:êǛIqM+$_6SEZf+V,@|&:s *ѭMhW8ubU}4'|X_m?wW_9kn;K"M-ahg|{gewca}0ҭoݱzgҶ rMp/ˡZ6'l$}wχ/t# [j#j#OhPnzKhBQ2-h="9+qiZ0F+0(h]'ii0*lҮXzC}:4z597π~S7%o\P^(K mKF(h4 :o=E͗@>#ɑuGɧ} p][}Xy|ǢGAϤ :W4:st.h[PoLkf' .MK{QL3 %$/;_u(P;e/kMkcK3 ,Es'd]C; rZk3g ȝl͹_4Ÿ5ـRoAԊ+5iL&V{0s\.5$9]xTؖZ7Fveh(ڇ~:]d2tPpQa͎Id(6[Zne f. t2-_PW5E0HW~Xߞ|o$GO],Fq@n2f&W?P~@ 7hR@І2SP'/;ao+tz>Q u&,M7G{"8iaõ*!Di9ֵ\\__l7GUyC7(a͸/i0ZJXt)iZLBO)ct~"D5\YwH%z/QX8X{rmy&tt8=ױk@K/<V~ r(9遌2 "=޴S3/Un .0 &gYq}g͡$7=t!ө94_{YeiegVY a>;Cݛ(W-3ZJt5tnU!Q%@g Ў87)+q~nSz`rg(VN, `Q'ob=]z:krv}}ZcwnНTcA3,=h9N>#f,^̀+uJm ^, 9eHXɮ>f"*矉 ΑÕE"_nd ꆔpi`` 2[j7t [elO`F, A<0LXMmL8E<(OCA@ i %ɺ. ~2!!ۧZE(Tp 8T2 dDrb$:f{./'3i-TSRd"?eDd%Bs˶'r9tb'7ɉWѸHH܈5wHN>ccKɦP5>16DuMEkAO=u#W ׷w_.]! M" Vzw!l55ͩZGImFpfqפ޻Aa}p-֢H[1Rt%< J29kϭ;Pɸw[R%GsTX"2pJK9ڒ&=Ɔ>}B;:kͳ.W"jBw?× < n ׎$e}Ei#'Y1pRƿnod*s $<#KAb{+ٯ Q{5.w ,h0y Ϧ:[.Ve/Spp\*SPwHm=46i__W DbsjcbL>?eM%( ٘[i2V5^`YM$0F+C# AG3uוI.?4TྦU|@v@9l.Iv ^ Za8UB;I _Ů k{V0XvN9i(1ۥz5}Y`'ʸ2OrC4ǥGL^yylHz> OLͦ|P&.Q7x}Bs<hP˶P }]'%;?hk=(5n7O.4O YG2g̨GN380A0ݷCPbڝ-d5s}[Qy}.Uigo8>iC];bR~2[8XQwcvK,4d?5 <>M'>RKXF{7ZmkYbV G0mꇦ ,a}!xo5Y4E+TҺ$ZAPnGV UF?#fZ'1u0tE%`=¸v>Mp#k{ wCdĂfOcOGw|whpJS߷lGa^`$AkV:֌ּW?Wi^ mOIcS: = ZK?, `<mGFr IO6.b1ǮWhg zK֔.n6OD_[stki;ta4-:lX%S/ʸפ4$DE雅un!2>`E4CW&v89}|v ƓGQMy Q}<=O%Z>n}=̐M@-HghjEJLs#_5PdM12t> ޙ*2zb(\gjMB+퍲=c0t&=136t"x2Ŕ~45mÌ /(53# FAEwL %),VOa 1I>q6ywǦnOޜxkʈ8Cы` ɛ=#AhBԐ8@MBnڱqiM[x_|xy}ϑ+4B-:hUU:o^-]CpoS9极hN3Qe! !:@hEo;ڕxS m͟40$Y !ئm m=]@l>F'V(u5/)7‡H~JB%8<.mC̯`W~:R*5?@Ui-Jk)N/ZNOh豢z0j^ܜ (d&U@w>Xgh -ܓ:0r6Ϥ{jieQ&W<,FP}K؏&+'|'%xhަ껷?6VWcSH$ݳ [c3TpYaq=%ބ@Q"8O9(6)(Ѯzew?0ØG)RsϓPړG z5{4LMkwuWt %O_m/LK;g}gݍEwdO9L$+ _~xC(c Kp*X׋sirTǡ}T2,݁eK\i(p3)}18@O ҝL5t:}5?&6MY@#pݩZ?HV?!; - x4P@=mǶhpBXיv@ p8FRϽժ,,)=kED5)7IAoeOM&1^(%o%bu}*vZ%Z(sjuodXHGOd |K}DDӑK@#9 1_0,QP˙ h\s3>v)$mƼvuZwA[ԅ.ER2 {m_ zS8 SAt@}%Wr͙M25b= sxYXn G/Az=KˬAp"5Zl2$>mʝ `o2W|̖,s[# 0+bc{䑞rXGsSc gT$x]xfZCqʚearH${n!ގ^1&q2."KI2tS*eb=ydQ~0AFlOFvZ/Z^ӘZg=_}rz5|ܜmom~?ϸ;.ArmYod=]G۝9;C+k7#4x3)?`fC SRl*2\0j/ݭ$0 ѓ2~͎ռאWM<|TAر CBh_! 076W)Ǿ1Ѱ:BWwőaY -UrسB~Xs/1/6HQ"NY P/ D瞱A^Z^onL*5th$1&8ꓢfJ\'}LL{xɁ 6=tᾞgNcTn~ޞ?+=WWU`}߾sr8Xӯn77\?NВ$dF>u-WJeEDҳ< V#슰'@̉f.j[~3=)"L/˫Moo_>N/oGV,<,?-850j6[~\yui$uʜLe"&* Ro~yqjja0hKiPMmoVD/3b[zo:Zd+ Ivp7]h9%>ۦN~F:M:n}Àh)(y5\z.!;ח_z7)PVsOr첺O$lӖ ()҆Gom)[XLB^Pn"|w%vyUoML]rG??.:F@ΙI|P8,vPvRÜpacdZ=Vy7)Pph!FH=9Nﶗ {U@ص-?8w<_>cͣX IC.`Z{0B4eid@/όDX5tjH폂sj`=xٴgE]c0%W>6 SmNrЋ$1CÓe[L!h`4YtNM|K'SUkv}{V }YûLaoY$Bj\_=ΚkѸ٧ ^3M:'[T$e[J=)bMdX*OmJ5V?yBa+,tkErP %:9;rVmR%l,>{& ^Cg/xp.JhiPF'uSsDS՛?ɛ~ G81l_cЯ`p!#7ٴ*!`P]k.zе^ yѓх֠bܦd$Z&!Fo\}YJ6=Xy"t1fn7;Af,#Sʹ4PUi{KzYBI5~,E>H,IpC7̺Ɏkuۧ^9q(P?ȷqʅ@>M'gSV+. &(@wںE|RK{Q}8 9Qqe;xO)ysP| `8^%h@]7g -XX-#c 7s3#ъXSovGdSH9EGila>>˹ټב<]۞Kfַq~V(zPddBc?zW닋Zi ^b03($N6r:0cř[d wwDŽSC0uDntm'=XQ4ɵbĉus)~GLM.VΪLa#'Ңt#ަ Ӑ N1* )z>uq$szq{7ߨ}\ő=#ܑSf:^  g$#wAٽUPȱ12sX"ȗZ2z0f6׺Z}2[m/g-#y6.|ڜzMl-P"ߤ9ABlc!^=wtMq{))_t4"zܓ.&v8P1ѯOɯ?;_n6G dBOQ%&Uli9:s:a޼+jsC* udJH)8(, <u7q (I|^駅ngznQgf7z&ar^L00J42i ع޷6˕ϸŏ6@rl[$ZZg=Q&bssXn(FhbGfHzj) :!jAAkt4^FS#4n0|Ki3KyO.mYѻvGhmWE[P:d--UI-oŒ/;.ڵpvfcCc:˄EF i%ܥ_3>;] 뻃vfMI1#$pW x~r?sdމ Mi{L=aO upIjpN}l ˳.xpGfXZWa* "ɿtٗ]F`(w CbKAtXEվY ?lQyҶEͥޞ7zA3zJ2Z`dH i1p/7H1D4I"tjAQB/YCvȯ?hz+jʨj}<x ѐtc.("_zK()$+ZT:ҷndOul7TҀ(ѕG|7 K/-c'wK<Y4DQ*r\vshDi髧ɔ R|/4%Ln@Y|Ja X-Cɯ.5mܺ 9>G(][-}_e@'2922Is7Mv*r5dJj0 &(Lxξ=qC^NV@~ Uin1Byue*H_$DC ÍY}_wϰaD^g\Yf eW/ 78 V '(@?b&ǑbY^32]WZ ԣh^+ﻋϻ"T0~BmlK#HiOz93y?] |PvTԙw/)T\Cb.C'HXF٫sfޏlPqL.Gք,tBnsd.eLh Cu^c/U N;vwG^۶@BοAe-΃}7f) "i d&Lșq:Aȋ9Xhy82:SO3k6׃#d`{tޚtc$Sj጑ !k:| ۪>p~3'47@ۑIL + ~*W˛RZ&3qzHo`z%7U޽|ABZ두pT8ăzpO,:3uq@'p#dGflfGQ'uU7h\tk9a52y9qhװT,y>H*xc 0_vW7I6q,33{ůWgt.v'x?;hR&H(Szt4#* ZK]Z5e{5L?3';[rmnnp?xzA_ztaemv+Jg? 1v\Ӛ QK))M#L1$fkEGUaV(:?֢]`W4SjR3+&IӹХrK/ޔՋrړVS( =hLȻWGNqn RCL57BW#pJܞ==zGY\.:7pҝ, <m!bŚH7YWנd"oG))H-0*\+5v:UͽzmP)"\3C#M3nuS,wabns!me&~E'6Sf :r-,qa[ҧ:mm0aXCxZѣBtjr{THf0"!#104;>3|f?  <)! RYW/owwǍztM+i < :5v]0BÊP`1Ffij|.'Tð3儽BFWzL\0K8yogbo. +azfd̶#; Kp_7wN}!۲ӏ^\oIS#!LzʇIء,Aýi5ρ9ъfrG4Dr3eT!^5Ab`H%|nG"'GX3 㵈endPP<=Lj@9egʭ-  'z:G#?GfBG 2oYtx=N-a!7~pݪnV=:Y&aR!Yb{,ԡMC?SPy^"N/EaQ('t-&I 9O.ťq'0",d \K# 4<J6a`!~a|>ں~wWiQh`oitmS,:YV}C· ݵn_+!TB&2M44c VSĪ ځ0A}}`fQeksTZtq+Vn6 *=C/=|E37 8PipmTvNt%<?XnqDwǃJ `bu KomN~- U: Ũ+b A +\/Gg RY1pj>̥M6k/Clho3wPdVMXff3LB>& \P"xBƈpF# KEvT@$VrideV d._ngwz^ 镴-e$H?0iuWw RkĜEL%[GzCxJVqn{!yv~ѹg? TFkq2bTq-Sb.`_,#~z!PjPe#6Ɉ V;FBEznr7[c#&I >*oC!C Nj7 ҸJ>lsb 9eb@QrF.ƗFsR}|ޥXNۓeO!$x첒Yl.d~ZtE4ޗf['+9F A4EMM>BT/7P笯6A1W62wUL U3X'_ ^}e˒1 ZQ85}8,4ְIo>勌ZMqT"ځcROV[Wx{ }CXtF!B\ Vݹu:{كފ7¾BMqm1|ff%6oe#|P5:_}wS=c&9߱ԕFoB%H~ 92 殥B_$O^ؑVsdGi?XRkJ_(YD,{pd;oڽg=ovB{lJ"YlHg!uz^A';]@Wrel?m f4&jYzdR{&uMdyaiw*ѡU;g,6l_w_uXjW3/7^\ߴ Bts&(m~Yji8{tFr&0{FN@_3DwLVku6F@5z Įmz5n)+f zMa3LNH3|ߏ:TA?=iؔ .m /@!M<+RдTb!V'MVS5xP~8qxWiJ{pGeqtLuM^ds1aow A!и@s̰jxi{ODQ{z UD*!x{!=}Y\o<8N|S+|\}D:II`nH@ob8:x(1ֳNSnϞ4CL3r8mҡ"=*wg7:d{rc! YzV$z)_=o`}R4J>&W>^am$4ĉC>{ ZŇIK1Pz7%_YdvD5IŴ]XMwg?f!) 8q=3F8; :Kq6!8|F:8L]kFn;K[KFmo}BeAY# FS/O\UWMW^E߂w!IAߐjpgag`_HxWW|S9(iΔ;7'\_C_օdWq =Ƕ UK>/8H<0 HT]H Hgjw2wot3*OL'-~j-> |@h{]HS օ,0⏥|7D]X]@Ja]g8YtO~ǂN%IPK2\ER "NСA۽Tl^=õqn(O=a>%2u]O'76ِr=R,H:W_5 | lV Y& EeEs,p^Oσ'Pa $+.R 7F(X?Z*B߿:M.& [=22!Pz1IBCxSg aDdjz)NNs7 %zE,JhTsIYrղ2<"̈Y#Z[臶:2`rIo/~2HGe)шtաAԌv;b֯\+hן6Cq?rCM^9Y7vGlJQ*/i0h-Q*=`򫉖vdޜP7 y+j]ټ2K2ʌR{` {%jƖyLX3wT2qZ~V =DBĕGA]*;S-𶓩3j- ֪M?=~j\'Q094eFsB-Pt~%TdѲ5\ V N\U<@ shiQH}zTBr`V:Bv/ȑ '>xYdZ{]uͿ1?O#cm"*]+~~ڇ4փrMAsή7z,T߽LR~9G1Oɺ&[O#1mӤuLP鍍 @T)sW|$JâK;36E=1e̝F^v4ك.@'౐}:>F/ӓ]BEtzid,b"Rha99?K=)nJI,6V_U@UHEqUiff9%iP< h P)ev"i ]|XȻ P0D2 SԤ=OcjԻ-}W Fvo,IՋ)1CnDXxhky=fF{@S~{l1lgzEx^=#;Oo9CfjnT45Tthك5{`F UM; ^y*lS-bv^ RYcm .bOv8MI?tcszKX~AkóߙQ:)0]!xA?yhcW g֊h$%õJ| uTW߽Y3ɫ[#= f-:cre4]e@˄|^(Ig֒.ݮ9<)413SZ4ѹu494:U=@L[%]@a H(Fq}Hՠeԋ`vc<%lk)թ[R8a"2MͻSyn#`:)t BYYz$.t΀a&zFKWB;())d[ݢ3ճeE4L_~3mb;s.nSҏu×q-BYZ"a)*VmL]eQbUFD5 0bU~\h^X.wdƺK*Mh1@V$=т,8kR%/ehn:_7fpذn[w˯]hH&^R>I`Jl=Vj,_Pj(3"ܛEJH"fv'ShlQ ŒɆSiaR `71A'6kɡcrg-{豭-] K>]3nˍWW0R![Bث~E-0$ CH*nޭD KdRn@_TRە<;ڲ|΂;LFt}6782h3CrG|C9hu5o5 +~,f0 Mxxa>snga|l;Sh4_^zͶ#$;K^~tbsqG!#Yq*vvzß M #QGTQNT\FLthu/67Cw 3f E([@ݵo-sR;i4n_ ꄅdu3Gs- i,Pu,DP봑==;^@׍G= ēͯFs–vױmOAȈ犿3X]su{&Xͤ/k?=Wo[/?ɺr:8a(M]bɆj;<X3W"kFk5S;n lxT]c!gt6Ԣ^ !z?]8{}z5[͑?R"~(VR|#'/Xatl.ݝt`?bv{c|o6g_.qɺ6c4 EaEo!j͟'-5 ܦ•vAw֦ⷋ٧1&gP]rD&MhK V˥!W=B AX)dVfط܎@#SŹα7/88k]HA:Q wѻȭGa?6-&2s"C a7-UZL\?>;G ̥ml-JL%~?90{tvg-C`;4>4lEnW̌H4`U*7(TmȕtlU3ckbj[LfrwX9ZntH8px6>Q,NkҘiOZFF}GoW8"۳qNi569PN|ob'Yi'dhK< "yA;[t07O- =4诘1&[Ty7 _$6|}]&WtD꧎im6ye,WL2dlCqSmSx5FW252I_Sz]D{&"51|g2tT.?wx%0z0Ʌ8%/0-UWT7Nc їe`O@yaKy9x i?FWa$ `ZSQ[bUpv 2S 2݈BޡkfOiapc}'d.D 4f/mf# {%o&2UƁޔì|m0'a=Ŭl}NDT?BF0&zI'r7qS¾: bv M%B`*PA!EŲVLZ їخΆfcs"v )I[Jr,Tt%UI8 h* ׆`-D돏+#"[]׬va%qe ձJW8͊t7u*$'D$ǩfQֶseZ]}tϦF;cTTb,me>P{߁AWSdPaBLXW{'?j. )[m.5B;He&eF9{kb@ہt|}BR.6ʺ~p|9.6|."'F$/щa*]CA+&8z2:$J*-$$iRGΪk9Ɣ03s@V7OSNg:yq_nOL73ySl=L :8 68&6f0T=Bq*ty}![s{޹Yg'h]_)˱D B@{ -D}N9?LF)t776+(I+%{&A ٽѹR]}ڮa}qݝ1ᆡvFF|˷𖮲ֈH>.蕣ݎ _AV84=]#mz`x3*N8c2 wLz6,RzNK4`90J)2"DW^?v@ȭM[SYt[&^L]_.-2yjVu6:3?iqpQl*ݳ'UBfYCHHQeetnyդѣF+}xqPr|K~"Kt>YPIVd/㑑2UBm7glԛKYdi)>.=>B|{QVHz7/P{tmu̇_+n6M^Yʨ/qScŶ5O@+NyBv U>\lB~s: D9Oؿ,qdDBrPv653U5={fF" (pшGƅ$rԯqޠ{|Dztf&I-s2wnյuki)VF@;0 W*UllD?ʽ۳ϛ+Dίu\NC7Et Ϲ1n=h+л`B/Kt꯻Odn"{NA}]T7uOmԙRp nn"v(h|\!* ҊȮ\|;5|d&| f1S]/.^O٧>_gKL#쥣@o=j&dݜpLN5hcbB.VȭqlfZ3vVT:Xgc1t[#0q{IlLBx17BCФ9݃-?*J]z "w$H]Shuzidp?ϴ'bS79aMOmmVfwy{N:l }@yeGθJoOf̜P@GzJ~wxhȐBc :hjh|l$uuw:U1]߯$ڣC"#;i 0"A:r^eS†n\BaZ{*IimbH7,4Fg|ts%[{NB۳dBC4'r*y)Bɭ݆pӋP1~Ivɟ?lG ]rI1YD^wT1?r~Y!3hO>aӈ4&"Il)t)F5 Q0z )Yc2(3unw;~S,W4wQn`am˚G=og7?~õq?dt@%"sl2'6kn{!?q!וNzdWO:ub…,t0zuK2:H͝bhWw7A[JGq2| J"7ĈG'0wB!~%.oc $p'͇ۘ1W.)1umNșLGJ׀0oLi{{sYŢ'O(za懛1MG=ZbCÀii!~Iέο]_|>{Q&f"!BiNi?q ^NZNZ$xL\O[G<ɑB?&mG`xC Bh^Y\'x]ןrH%G"BUZ@ +Ջ te:Z۲f쵊<}Yr~X^ƏS03:"u쳛jo.N y#j{=$s\r@wmX.iLZImgՅ:qɠ(_F[!+}l8Ԭg%Fw'yyw(S`F ʽkG/#9O- 'kd:&bW/[* m(,xV~sBGG3;Ŵ$ );}t=qϷ6۸/ -T|5+4= >y_ݿywJ&Χi_ %nA_ULqYnyn84N{.eCI(MUHJvidY»M*)DR*QA2E[[ZAс&0+6Dd !z[7݇=H˗hÝK4]~~QN嗟{qcW]3mB Ҩ T6q{KⷻSf*1W$Hs}Ojc {mۋߘdAqm5 +"m09͵7 IQ:-HFʑP 7YSI9PӘ}A _+du^ҋuIHc99;00-webfh ˫R4!P|H9(!khS`#C BMI`3PePb:{w%ʙ/34*hHX|ՉE/7ۓ;%[4koLv!n4t!/-@2 > D z41::uЇ˓(dC;9 ݓ$B%+Eg|(wOA[ %l6wpXl( D[yA[#dwr#92 e!:7 JK迟׷ga0ol]UF92'I4\}Ӗٗ[8hhSh{4 -qg*5MsscPži)gfxr֣c9ȑe#4ou3MY>Jy#mWIocƎ;«sp7w"h M TWj,zKibmqSjE5ӎa*l7&R :ۚģtD^ټ;FHY6xd .`"9+2^(BaaM4bgv{rF*.,-Z-Lno]0iȼm=A(Ȫxn]+Iz#ù1޻}qq`^OeV֍ 8˞k<@//7Z0K7ޯ) zC4+麚EQi|ݺj}xh 'fDr Nü]n'k>T:)k={|ZJVDe?72ڙ8`(ŕ:uH䏗iӬDx ɼ5´|˜H/6Jd/f.o?^Of)83ER )ahTb:e7\fRG`C2H1:wF¨YlݣջlCivlBC#ֺ^6sxʿylMyIl`wl&/bnƧq:fT]һځ@:4&esa[ᤅ.na bѴ{\W/hv䗱=ʞL-j_6':ƥYHh0c5~T v[1f>N@qԖi=[Cd2>0 [&!>u0  Fe CNJG3UWʀzdZ+J'`:ج^[!'H,0Aw tBn>0OְYf!Wx4 "oSMܓv~Ğ8d8vEDƀxŖjд1F!a.OS.rPZ/>vMaf.j% d)lѳEC˿{1o7vh40գYX TC&#-r/w f-LYv~s3\?*anid}dZD,QSKpWP8*Y٫,иʑ }BjnDi@j{S"*S )V] ɢВ@{ub{?mm[TBZs |yQ}\=ycbǬ:R pˈ0h}h,T@9y9i+,w=;ׂ^{":!O"'rCt1f2藼iBC vxb 0Y7[<]&=HWgd?ک]rCna ]=a{}ۓIgJ&_O2~gNӓ9q~?_ۿIIT$0̑e \Ѡ2N*s= /uc%_F.D;ZP2"0Hi) J8e]yU@r{&_R+wwwfTHEИ0:91 } MaE!ޖNApZҲ8 @RxB~QRn I%uw^U4.V8FQb:iS[AǴ'& Ta 4cPxk6ܞ?ŶoOY  S`xSSd& o6dghc$tG4t:OБ":THA-QUgr %;*m ]VDG /շ_x.AljX(n7"fDѪ'2QhҢЇ"hQ3\cRC 1LZ\_o^-\Eۏ:ַLnk"%nnh+iflB29]mbQOtSCxtRx.M_X)V;,WM ·~ ")3œʺÐ )EI \V7ŇSoL'ؖ`,d=l^!Wisi1k qw'{˵LG-{*P\J;Z}O~}?:+s&Vg]jfeo rXFPgo_\3>;כd~7+2˥I[ )70x W_iȾ'꺖ٷHA'twz1ۂݪ:ۓOe>ջ}rl0* io&ڀNfQhbMFX,Cck7uDSmȝ∉~)~gEĶԅcTd^lp"mJSdJ""&$gEަW `aPlߌyI! ?3(51( eS+Uק |k#~U8R}ʧD/Ah<VշF5Pe\N",)P4|OHңg$ *?w+7+_ @r8]HO=UV$w_O26%N x_HV' ,\YpY  ._nw9FOhN?ۉbi`X."ÆvTۃ0a|1>T49E+s^E&+ky{zu Avi~ʈ~$PBB?slSiwixJ7f?[WW-5k73+ƭ\̆l7e]2ԃB:Pi&{)c>p6*.MnMXZ/XS?kiDt?^|YG!sm~(x}%#)_z U95.c6 >-zyd}22)3(YhѮ?>Td8h2Qzr 犓C@szs Rs3u}`\`=cetTU0'%u<ް N wdN>wZ33< CQ*Iq}ozTOL(~" X;X1SaZQ lp6:H{;蚅D}D>oBڏƕe@o>*>Oy,P3eQӌ gtluW(C ո\IoOXP5sL0{S@Ԏ  I'?ĊIBa<%M zjQ[-=Oޏ/T&u `72jtQH%4w\չ.2`%]r6FCGuZdX~=PMS`0fWL0v gNاH9~:b q7Fv{S!0?/0v)Ɓ1zy'x6elNj嗋S2~L2af!6+sOF KT}˓Q +직vW'ѩay|᭤L Oz~P)u:IHOUb_ipl#1W0´+;+ݕEbc60})ݧݒa>;oԥ!v   }0xƈ}Y~$Xq T&iڑvǙ&یѾ ܙy|hd: r&qX\Vs%çf9{V߾9bA.餙F.T Ρv-qQ؛Rsqc3' f&&-o`0 Fz{.lS3S p::(τEQ_oe\GR֫HvD5f6u_/2Ƨ4x-c:dpyNA"Gˍ5HKICS&{=1I⃀sTBaH q l ٫OL)Apeu0gQ2U: -=XOvqjTGQG46#5-#3 i䏿l.PT|TF6SkKs9V &8Q` @b{HXqzQ76cQQP;JMLphY~+fWع] %y>I{a6v52zmmՃYfA!h`eimR^ɟCU>bjτM3[DokgFZF 7rKpAp!U%3COCi9Âh=;*{ΰu;7YezƍTH@S@ E# ! MPPkq5Ϛ(2(Д:.&tM6'deO/!(*ԑ\I+z=UDߟ}'eas!xf]F׍xtx 9 _~y={c`+Lxș(J SdvAؾ]͗3+JIt ̤> $岭k\٫&8+ks"v6YPs 2V5f7 _.ɞ98 3إ4:Y.!2|ezDR "Mrӡ:^sw ҄\Lm //GSs1ҹ Nӏ 37LfQO7ӓ=AFֈ 03 uhgוɶVǛBxO(2 Mw`` 6p|e %SX;)L6T11D "b*If+|:LGy MkY`Q̋ uקSNR̖RLB]Z4ijgOY:gcdL9 &nlɡ[xPc<̵2O~}d1G zI3u?5Q}aIZz2:p@7"**BU%1 MuP`Zr;cl;حFp8W*][AG8.+ i<|J@IHz{ O'^~}i L;ˍCKqцTKsvz8%6Mg}EE/2:}]ݩB襱JpP&)USe`J>qERkk,\>䦑c1J0}xEdľYt> 7+I0[CDmo_~sh"t钱lit'߾Ӿ;n^ۥp(ziqr/ztUDqCtiD$_Pcj)Xݯ]~/ s\3 H%(]H&¥%گl/gDثsw˥F`R.!E$#h.Nv<[!Up^ F.#2?>=4^ҽcZ"TPF/0 J`eIDPu¡ W, EZ `ܗ{f*7ȯhGAH]UqM#t-I ~͑dBal^*W7} 2F; ~2>AvG[P̻"lŸiSY EckvtVЉDb0Apq4XfrHc#2ȧB'ìXy?)sξmn3׾G :4vD7+W?h;i(8ΆܸdoP`cz}qs'I&fm'etR,yovXדqYf@һla8@vU0ظ\{RzJ TYvr:P pY-S(.H7cϨ˶._!W#R'=j`J¯€ SX]@q(| HڟސLc@2|Y*P t]W;}{} 3la RMad9zF-kEq\x@DB %^!‡6%`7j&̨eAU~fZr6 pKeСZZ: ]GVDu,zp3 'K\!:g[y,a1u6",rh'erS7 xg3{#ᾷ Z(&=),CݎZYvP3R4U%T o)ΐ_v:(!ǭ @+#Vf|uZ=[xfN@ {x-Kf|?}(X8?&ɀj#.'?}ڧU~2NZ=/@6G)ȯmzS^0ya܌ƂQB6Q 2[.*><@F2 BܷpOkU}G]Z&/ M=閵3Z>0 LQ8O®P 0msuDe3LB r@ pϡz泃 ëO{QFoEguwR5=1JsRNkhqU.>ڜdzqwehFX$o`dcEr`8>á.k9bG@E֦L:|[|ofs1l}]#E\h[!L\O}{0y}'# GF2U")7g|G^y=y$Kch`կ(sJh l@kdBxhŝRjKCbiz?݈6,P1 ɖF!BG) Wn +;A^66DlV7?/#Cгˁxv| KrF jƤjZ=UϧWF?Vw;6VdMIC;]ӮB- ً/u?*vU;dd :ᇙZ> E>fź{I35PC[(HHh-I}pFi6&>ǘ(r6)!24@pNTZۏ\,p)2H7fi[pm nN* P$.w_O&Y )KY@Z,OVk0% fg:1XUAgxiL~Վ`jhiȀB8!t{VKM2v5E7Z~XxnmK<ۧ.rώw==uaI&oAB6/69՟N8vX9&JA[psyVp a e]gX MT-AR-_Gcf{L7MDF&$Nh 't} qrʩ@p;+Mqn9c{2.0B+./!%|>91|(Z t/h8!IF0~xxqyhkizr4NztS>ʅ^>UΞ=X=chR։SEtȓa0L-/ *bOߤO&+$H;SjeSyWWX+(T&3aC"ŹA1վv>ξi]?:NAAЛ)776 iqZ*>e:HVǯ0.BabwR!WƧi뇫}х|:jbrC35]*'1S lͲ[AI^uڇbo"[ ޙm,0/=t?,1X{p3SOXXR<鱚 SkRUg8X&^=Ws!n]Cיִ4+ziG?.re׬~MHO+ڝc cOrxȾΞCso^: v#+ [W~Nv_Y |j+MT =Wߘj*ڷƿAwH"*gɱey<ڄCP !:BM2>}b8}XQ*-Uc=&G3Nz? ]"5-WQaccԞlPb,“yI hg/]h^@^nm]a"R2ZS+"|P4 h4+I~lvPU_jޠX7.;2:uNH[jQYn0>{zc'#)l/6fasszC59 T-isBәiTA#ryНaF,Q7Pol9n/8ҫ%Φ;.v&# /Lf/C3MS3D@sg/oOկ "N\pa01$PUG~W١ςvn Af(BIG%=`[35c86~Ո 3>ϡn,\(_Y<@k!pF}~$/wx,v(ؠ{ ĭ+~B0pWCӲÁQ!c`݄2n3t7mlH{::q+f5^GߎwD0U;ΞcMŲ=R~Jd.bThNرK^F/k'r$(zozR3Tن쪵7J{͖o/w^|Q{ ^m?Lä=[ ͫnI_N_O'˖kC'TޑSjJQ9O/f ?O5c~&8) 9ұjHq |걹L3Bh;F`u @@BTI'+j2ȗ,>  tpq压na[^lވZgÆ1hV3Δ)4Fmt2`C<ZC=wm Q\Bbv?BG7Ku%Ah0Ie}ѓ(Qwc(4M;U¸N9↪bB)BXa\S}D!8N?V*(IHao`ͮz6 /+cem7?o?$z~A޿DyqD-Mt g}@wI6b}s F S籎ݰGW2ҺPQt=HYfx-]k 9StOnzęi]6RTGX* Y܂^T$_#ʆdC(zaFG:S|J nyg]Q$>g4{I`,]C LvĔ]ɰ'x)Ҧ~3sʝYU>'=V6v}~17dG&TKMC 's [6mV鷳qw͞uFV&2|v׍CM|p=m>#QQaqwL9$~v_VVQ1Hap2Al Rޡ)Cs`@;28[1돷ANm;GڎYH~~f<^Ff{p2H]] _:y:У!XuꦇdGmCCXew}|2'SKC!J?Dhj\JWeTIv#ۑhSɯžm& X!ק "rqCTgZu$w ^(e8ϿK? Ȥgy8Ufx1<'!~RC\F]M'·}9т<1SBˌ+Uxis`NF 窓o\KP"*'ZjsP.w+k'?{~G 84Ӛ׹p]AU43Jz♢oQ=Lhis5^;M(*fgnu^R\[f7$V3Z!QD2qˇqH E_y"͆^6)&^PpE3Q:fTcq;k [za/?^,ro ɈۉEk4R(`Uqé8 zвg5Z.}O~}?igS&7B!A0 $CO0tqDi^N8IQB_!~⚧N v+99+>DSƚXɭ1,\?;CP,m!3IS4k =fԓ[5ä0C{ͥAMtitvW.,_pj*zt fx jVzba:Seo:/r4N(JF-hc ֒ݼ< 9SExZLV^g:4Z:٭hEofbl97=Pדku #%"thT~L;OtYs|wGMa8ӫ%R]ߙ-hl9 mDusEZOiTxXA+Y&P8GO#ue9vKW؞t&PDf!Z/3Emzm:$A"2|ɳ7c 6:uLԈ和om*"g)k.>~E M/O9ˬސ_][c/Bn 2~)3^6}pc83J۳.>~@;=u9uSVuKa[A{}3eTt-tmmui5Lw=}]='hJJL4oiWwBw Ctyrf^z 3+0_aiA]pl4gc.9vrFXem-^aO`h7_Ach17ƶD{_ }+Ԣp ܜh((:}& wDc["7O2۳V.<:Y#YS:\,[N͇/J1P>Q*cSưTh܆ ]ۇf+] ;!tCNH}vV^/}'W`À =v[=C=i=k =PxxV, XkF+=#w>;ƩAV H߇Z︳O_/#L: ;0A0hzs`B7'JݿM̵m0n]0ieD9*!4W%ց] r} VT}ONOP`IDw*{Ԯ2L[ LP(dokoF6$i>Yyk tgL戡Wég 6m&⪉cT1/C'Cycs6vFg c^{[sC񑫵4;Bi&:`h~0( fڝg aIy@lؠG^f<BEj6KU;F^~]&6ww!&,驌*Wd|<ˆ9~>GrC$+p I_IQ+&!6Xq`GQ4Vz/dJò9\?:$Vt_út]/??nsy3U9,P؏F0uޟ..q{?,VWQΝN=N*qU?\,-7vmGYu03rh]l> ȸe_IP ^*9l{w7Wx(#:W4_EO3uxojW_\M۵s[;GJf4$j@)W77)@RGPj!B<.G>boGҽ{ Xg#d'i|K ljnU~өaXםq(dDt}r՗w=IC"q@e*b{0솯m'lrc*~ uq>wЦlPy\BӗB`F硄Z+f&v0ot:1: Xi1'u?alnF !sj%?4䳥Tu\Ï[ J bF3 ahM=<ܐd[73Xb,5alx.zkU_p]ϵgf'buݼe MS I ^Z7 )r((<ӄW#"tq"a6@|IV aJ'>Bb{tA{!SWC* S.>ln?s=ޯ0 ;,956ƺ6%=a]Es\$t'gYG VRU~]6l& gZovPHAnsq} C\)NaſOpI4kn$Nͬ?DO##+6 HBv=8vԏ:N4#Jh5FӑحB VE'wB8󌨬Uk>yr0'242(C LYS,PY(/lYVIj/m#\CS7$Θ8&Asݔ>}Y% _npHw@88bDbb;{'XE ? vLRt#(t*}[dNoں1I>pf5ctiEHrg9_|ym%N(_p)Fʔڽyi6u>$_^fdTDg\m'=j.Ez1ɤ4T|^yPX(çK~m+NBMn1/n$)a@zAs ^KbYIF]¬+zhr-Ӓ fKn\fT\:] c’xy@cLDDё9!)=쨁ɵ*7׻뻃 IFk a>ޣ3˻nݗ!eCj%5- /B_,j s`J3Qf4Ҷ5q<>^N +o?OJ]qT\4y9+`cG$ >yeZGaz@ChQ~r,}ϯl.m=JD!~CR- r9S0&:ŭA@d^Cg&Cm" Eqo#'izH3^8 ryF>|ң{L?6AmL I{ntv,A惕@V`%#A=PCR9Q QoI83] X;n-Q%G@ B\tm(w9hёÄJxDBxV8^V<Yr+k|`GvFޔoO 3uȸ#CqՏc\8t&~+'SAq!&ٙFrU# `W;?&3j/uyJ &@D#c6^hl{zjgZCѴ>*Nbl lYh-ȱ&Vkk"f"5-;/ߓs*_?:7uyT@F6)q lC}UZCMm&bqc!DFj7jS>rO糷1f7jm{t@aA/?2XV+pazr[5Cq s[F[uz\N)KSУ{!vxY{!}_SGwh+X&x#lS332ցkƇ0nc$.oN .RL*gUr IB];z+_/*i`)g|  /wp ߞM?|VzDzيB?#HYq֡d=YG40sa\A AON&w < BytҋcMˊ͂pBֲzt%e 孍'ZUZeثmWWOיzҏQRB?v}ZYmWz zRX]thZi 0uatSL+7M2n=g a)١o?].}hZ%ҔJ'4u sܵWvcPQ )@eYs1gz#r!eշZ<Л tغ:u+l~_;#-> #}Xm>Y7d}J'//IU:=wsz~ɖ/ǵ]n?NU8~H3zi:Xdeش˟owiN{ G54MTɬղ7\$5r7KVߙ(WAC.4(rl'վ @qC?xhPvеa΄f}D|d;et|DĚ:` w١_s+ o6A+Kd0A06vZp*䚯Ӄ)HRJmCF>2I!pɬ{t|{6Ql0 Q㲌2;m]^}Ϙk|{Ӻks.aù%|I=9r!Bn0ө:3ݲ^ &NYT|rdC=v '͊>~CR HKm&:W&E <ʠ ZM#QG>N]mSC |FQ₀o| T/h?0PH➘g r[\evQ\رy3bYpN&*~v:?.GkYtta]opT }gQl40D D"_y#>t 7wQZza];£c;~HOmho :a'J~:?(ɌBcwĚULA.rK|A.ٻ')ðOжVrUĀuZaC')-*QZ5 N*^֎ط "zK\_qrv$n?i>ב>睍ܣ5n~WӬZih.1>xvW4ٮoduY&k\~z=Nėki3ߓd>hv T~*"!BΒF;Yj_WFUMb)xI.L&#/Z/D7~t͓LF>mnW)i)Ñs$(;&x%]EɚJ^(C 5V֣19ĤPjlvUu~2L*᳉kDŽeFP:CqD~iO 08SEA(kEmF"x.g>%?w Xt} 9|7=IW&٭eޚ66ݱ_v Yx؀hRI ZSˊꧯ`ӯ[CiZbJ* V1/kx)v,<7 +o?1xh~;ՠ@6O6:@ڨVro/LzAx uKY AL0{1|~9 T!__$Ġ_7QwDco#صX oN2I<|T?"[JrL?S8RҒ3 "-#xg㠍K=IG[{zF? ݣΨ|E as-)C+x9:>}jeq K9\:Z;Fohh%RTAt;mvCPSrw!\oN+4M}1'2:J.XsEFtu,`.4hϮy6oy ynXTpA3!2膓mi{|DRǣT^ ~nT5t|oO{:hƄl 釆lCi!g /o_g'~O`\/CC4SEq|"l\+W4Jz7t)u>8a3* `8M|hzD5M{B;[߭+P^mNGPܰ`8eNd'>).g+= DAmb3mrvV՛NjQnt׊M[Z $+LZ1` Da< δ >؛v (ϐF;L1fߔ 'CVm^or@;˘~nt{|]cSlG͚P5}U~n rѠF7f BY=U-ͧ(82nqɜ G)nV i+Ҕg? tif_WS('d]utv' w=&UCqުgFn?A1c`b6ѿү~|~wCs^rvM11\FA!ԩ ˋ?ߟ$+FEIma^C-iBXM̉-6{rFnP}`rZCM ?F\/6~C̀)*.tL-i |%v/tٱd! Դy]o3FA` "md״/l6W)EagMr~}ܴ}G̃5i/o|>mP'+:m7KSl6X8N%_]1½h}M Y' it#Z\T#agӹ=vfJ):C?#”agFZx?i۞ٷO')yGܨ4LVP %x g,Յw=dv^߾oNٗNR(..?78ɚl0AE5rMC͞A77BERh{]Q@{DݠkAdJVfm0ƱOtu/ *)9o\љN.Mr#zQ2RQvXMq#>4/Q$?{ƔZh>ֆ%k /B YŭphwМqS{l'dYyV1L_?fv5^6L; 9G3m~R.̻s-Ԯ^*4cl'yK:NG>I18gtK㱖Qx demAUz hA~E #+Y)S $O>r P֘l$ X /:c!< /:T9yI6r ~n),=?U·R7+fA%!K*w93b:/.76u:!=>M ppW Dn]L՞F+BbsD 'Kq22\WB:Ve{QZy;Ұ qWĆ>[kM0fpm<н\f ;yzPGaKp5&,/*Q;-Pv!#kҪ9p̃KZC鑉^+tŋ_6>m,E1CbluVnZ/>,T'ʷ1b~FnYeNl-#dm>* 0zaEbe&Yߒ es=-ۘY{&ްu = ƥcܿTOƱ3=hxPfbǢk2?n̵tDޗϞACԓK轌DATQet\8$^0u(cJ|j]&:xs]b7u]fǐaiSAf+\;tR˰7+!]D$&:zl/wsi<g\J*#-kΓh\:+aAkf2zGTe~]5#IkCW~4@]n&x9[st֡ 6XK6PJWF8 E8SwɆIE>zU+]Σ mC:LZBe-aqpZ/[/Q^qU݋pW- fhn '|lzjL49`1ù^I~o/^O.%2Km3l7W/wXѻDˌMS^!3s%7O5k"Y|>0[`Kz!``MK"P_nNBE9.Csu'{>1NyRCH @@n)ǿHպ0)t-tO;kj'5yVG W} lMp@VU$ w u[Q'~H,Ƃt1;t$pY_l4 h*3nL;5eJrw;9L]o/W<*cęPR,ǩqA {aճ\J ṥ16Q!5sj2I%'K(xk><=l-rNQ>VnmС¢MWRlM]RW}V?޼rQ=xKsQ Ƕm㼮գ‹C~[:]SП( @<(-iw_ d@!Mwkl c*:YoW/o7dcE qPY>SziX଩,Iu]+ZGv=S paS#nՏ2ts:#$"=2SJؾJ(b(˜H ;ELs[>-X<Š!rR4L2gE!x:kѦ[yu5(^I81䦰rD2At4IYO]_.' `_T򁉜JiQ05ߙlGx@Mٯ:*ͬ ʻSCՑN>v6 w4xfS[DF{E׊\0Jn]| iZwY#g'TX3ݿ>]#([ 3f/XoK%J-̧ kľ]­?]УpuV7wUaQXUqLPcۗL꧛͗ӊ $V6}Ћ%XeHn^cI# kG`hΌ;,-V w=4*1L%ޤEOm OG^ong/o:115o1Gcg \׶< 8?P&QJ9SkGd<,S|"aS86[T`>6YܠiW@PZ6] viwz+=$"*=MKhNM[`Dv]fw($ve4.:E`MД-+rdo2dަEB\%+(?3g 5-5._"Oe?ڵh&ŵ=1So /o!NwSe6" dh$e1a4Ȧ4 .8߼}N`4? P96ȮJn1;o+XH*5.H03E|izƺA!JKSl;0]B[7񸚷&ׅ^g6(K:ڧX=bګr+s!}lxI/6Zhdl;4f=XJSzV4h@3!h\@%87̠u`lt#DS-ۏNErsơy͋歌0=Ю<+BItl-lٛ<=G 6dܖjss:])t7Z"SIr x azIb0ys_(K&gFnjYxs}6ί3;Hk2]^n_qʱak\ 5-~\#}ޕ sPțgYW 84UUHYxj!Ӌ2CӬ(;#-TPK!؂"-=!oCj\];f OGbIXEʰ!d}A6VLlZ'\M[,K4u`U<z}~qi"C4* dؘ*}C/׍5M#ZdQdBn$%{߮/~>x)"#+ *MͶBO>uY's4Z޼E70@`i.=ψɠaA]gZDoK&`(hsFЊAo/7L\KRd+rp L`Nzhmg9H-uٮ DC92ƈV+`mt!abi)% [K@wS7[{6$V1ˉ+5ڙl>kZ:ƴYƦɖ˟gjA[R`0tv'iӇG 2wǘמsޛ"1mDRq걡n#"h--wKu) B 6,5XuNO2sӍc0XS:>Y٬Xc=->j--k:0ZbLw{VF^ʍ}41kj\wcvM^T́m7ݔަMEQkϣ Z~v8˻S9'~]\?jͶy]6e0ڷa5[HҦ&p8SJ&Ƅis hhU0lΞpSz%őu$HAqz=*Eme NHZtcujQcOjnhu#cP^۞v]KG>z+A3]zq~9vlO'J"uЋ B)m&,NS%sgoD%/ O2p ETˆCcj?:w_ aܠ~eZ^hUd(K]ے;Y[}篷?_nzvj3&}n|6!_j7;N#Yy=!vfW dd8";~1zڐוK[qQ7Sr  *,5#N88-uqy?o?l曍uNH$[>0vqV~"czu^D_z9NjU#.cBj3xX.G rZɄ4$RAqW] HouƺNk塝x(8!_k .֨lF @_yOr?G-ކŬ i꠴h0щ_w4Z;}8tOqu|: ]h<$|o!-]?)6X%ya 苟ʨ#?֏Z /S[`{!u L Ou].-0ՀF3 g(Ϙ_Cy }H@j BC#g%?eΩ濝6+,* GD QLUjO}"c{Ӌ)u Ѧ@3 0ibB+w,Q۪|ߌ 8_K ĠV܄/y7֠Y 8{ZYM򁰵,`{$tuq*ٙʒ 2mbBxdѸT, /kه0}n|3 `%zμ[߯FK۾'3k&&&Rʠⴎ>YhӖ?r~ʹ-eZJPJmQS ޟp\|oj+lq-ğӚ׵5GfpsņAt`{Ӏ3cXShEFnGu&Ck r4BR8C&8ӧՏۛ۽'2pCư:h^/"OՇF>Ԥe^l8iju= ~n V͛oЏ+M0f0??ޅ*A||SafhkgSCt'ХHJUO ?VJ#]#tMS  O+I'xW['^ud?+1#˶4x̡wk[0((ES *uvȺOa@Dn{sGp1~68&vV E u^d<=q0y a}ȁh}Fa>xUۆE榗'3 m~*2X2oe,;˺~ٖYP&#; R1X^͕cJU>1sg$;]!9  ~\u̎by=uF9ψ3`70w"do'h4ڡ63?>v75?S/RoEiHKX8MLS6W&~ڵY)TLMC ,d{楾\ ib&͈`[m/|&:Bհ[|TvQ7$غ1J)m>Brh`w,'>lwLpxDj9.'Xo䃷<_v6,q_PiKO&~!fz\m#Mչϱ ډ>'|Ay՗/t16O6&JӚt?׷gz{:;P ]֏/;pVi6vղ nofEFkcWK#q W%l?zY?C X]k F[l'n!PV:㍼ٷWC7خ\O^uN샰A~]_Q|Л| xhA֋!js|=~Փ׋Y4'0WM`HPyhڡ{KPJ4A q !dI- q;L">5MFmefGx[ȘƁ>y%T r_{O'JdRy&=ޔ6'Vˮ? s-S݇j` ^haWGxm4Mq s^Տ>>. +SFcƐ'͈~ ڭPy "C =AoM)ʿ_F޺IyT'Nčo.???->Tz\z #U&E/BFˢ6u{c33Fd_P7tMpk2`#BKwЃ{ҁeЌHy=W42ԙ7\/ι@@_n3Ս4Roo_=oGDJwrO~J2%[ m}/7L=ơEUF+1e2܁ HiR:->bJSBZ9w4)ndz~Nc bvJM4fX1EyU{\[2YxeR y{@qs^2FE3c;RZ Btn4J}!6wɴۋKkmw=FQAa"ʧ_tޝރq BוYhBGm h#tYYhaLd*( ;Ҷ$9S8j?eϚlH)"d[o2QaL߲j+e4<ʹ̱![MoQT֊P__g9p໵m8OldHyͣq' >3Ɏ} 8DZ}{;f9ylzй bX+00Bk-*(;{9gg~ .My٭[}$ t]?V \mfILb bU9Ytqeci]#CNt|>:"":df6nva9^mH^ڣ:}QP 44ᤡʎO5֯~EkSLKKFyP֓mXĂ3~$\7F3u詠eFJZ9Z^oh:gݻaWgXlL#jBj'lk_Gv:܇HUQԐ Ƞ?hחghW(" 9h2\z=;:oo ${sntCj1izjYpi8[=ٸ冚AI/}Cvd/>V^A j02vBrsji5٤'7g^m"0Q^͕z~yyuq}hS8-(}up;#ݙ cʉ--p\hs?.OMk|?p,(,tAZbQ]] >hl~;+7z%.2Ay VZ]_peasyqF3ݝ'٫AEܧeTQ8J%Y$|'D!$Ӳ->gbdiN>m.fr~49 VO[LSf3ð:"s i"E<9}_JXk( ̑}}q fT 6?=iۙܜS`:"<QYج\0Iah'1w/jq|':va%&,*eHo|0E;ŖMlimCUh/ǮfIB#L&+V.Sox1vN<~a> SI4z *b3Gnf$܇J ~Hi)Ѓ,i٘ȖC18BzץS ؓRp]Mj#ѣv{=&TlraZ@K[hoo\Ǻv7bʵ; zKrM7X0B~Jw_|}Jݰo|: .QCcMGjt-uk=6B?]J:?.(RiSE^P8*RA懈5Š  Q;}wNC'ˌ/:@Of} {Q 1 ]~ ȣaW{}qd'! Q12_H{^$7ʀ[G>8VF[0H7d<҉n+]ѻZda3mQ )nGz"@) HqN˭ ,-)h"YъAT@ ϶R:[XNizY2՘V ڌ#3T_HuדaL6J;]?}_dyAۥ\t^"sd'FYQm8EM'̮I О+A-.SmY{q~o?wFȷ&@b1q>ZʇeDĤ|6o?lS'ƻ1Igc'SU^QM^ڱnw7է2U5% շ/g }f(Kն-3+ry. ><]2E67_Zh2N?l4rxrpł&[_Ioņ&kٵٳMܶNIEd_*7Q"Т(OK,m?zq^%T ӏ  t֮F*.ge cm/E%\v$̲ >R…[7aǮF0{vԄc)0 }֙*I8G ;lt:1 !ٸz01_+lH18&bO哧eo4+cIٚ=հyhXxDK"g)j+e|UX_=gP1^0q*? ;@>!x89"KN䧋_OжB]MGZ֡ HY r{%:Um0!E z!cwt^tN갎ӷ T3SgY6g F#S*Lٯ|a@Nz>Qmok$ct,ys硡ԑ yFMAN{SWy͓KS䬠[7f oB:'BR]SyKMUv\/{_p zdQšMb.w4.Eϑzk@!Z) Fjkt:LQ^,?ܓC,W{Ah@]GQ21l0fh?Iup>;ls!6vANtt=uSlmyD;i@Mwr*fhǟu܌1Oc}@yv1vީ${:F{:efdL6yXH}B8y(2ȞiN"~m2b@Ũ*>؝ڼ_ e{ڰ!$Y[~ YޣzWbKtvEߡm-\܈bKRQ\p͛X]͛E]V شO&&2]emnfsqNFs!1WPJ b?X:H 4vwV[ӞpfnG܆ڀ>:L0Z})=v~zss@~y{iQc.riCv_7!O0]Zv&IKVͶX E{zdfJ eu?Ӯ-g.A7%ڨ bcA%unX5ICԳq0F1ݠx#g2>GK<ʽHZ6D6"S=,˾O @dӶp--&9NhvC&,pwfc?/ ]Pyjf#d.k% V(vl@2r8 ˱BHPnrHޖvwT;X8 Ki2֮NOKqi¿ DY Jas -SxS:mZBn@u8uLX Go$+xѽü 飮_`)O.pLI)dU85]x~Oѕ_,ŀNj= Mt4cJ5`T2З'e|y@bxZ!S[Ke`]h$$F&i|j:?]\*>I$7fQAIq rGe'x{N(MCVLRy-?/P_HxȠP/nAţof(|hV*o5Dmah:?r_oOZ<¼ulZ4L&RW8&U)2lOn.7OUNFEϞ=3[9/YY꾪 K桃Ϳ/7iqlo~!g3x $Z辄;ь9W9srt~~pO%ON7pžu2@ih[y}'c9\QcaL 6NOSj:ƯyW\;~Pd 59t %yCiㆩH ,[Z:ZJ8y#lgˋB:{QՖNecQO䡱VpL k_2iiFGב솰7ݟvwԋ7 MiY~XY%m#𺧷fs-ox8 Pu١DSorތn6Ls"p a#)?'BlWwߕ76kL\_P DFXE ڝQY>'/UG `Ad@E}}uQJثWݽ}왾qM-$.dQ 4!(?7 O)bPR"vǠ=rH`<}J27\d/Vt%%8eж.$ÉG'R:%ʿ޿N"GfyͦH ;;0KF#Ֆ`$1{qM^ލՖzwGoJd@5~՟zȉr[}W4PýmU@`,۳׶l)RRQGh$krPKZLEY3!W|{I*,E00Z1ٚ2_B>auĜʙKG,!ƙ@oqle1r:jE$2tM 8cWB // ǣ:*"0{$`7+#Z_˃@0gt##<7TX9Ԭv}:<ג6P˄6=F˸1L/6xfsp n&ul$z#MyUո9"v9wMB5 ԽPP3cRlɠC hr}FQ4 3k_n<^  76~[lCSY\H{R =ຫŎϸi?)Ne\ApSWH2f?ȴX3(NY5dM;J8):+Lec"sW@SJCC)z9 BZFGDNq6L~+:DLF< Ҷ!a\Y`Q1yCwi*&2_?-b=\݂3K0eO;7^::iNI;3-^/]pbW3D8 AuˤϾt\Cqnf;wr > ):dȨ) }qITcgdyKgc[CgŰ|%5錎Gg2ĽF1Ɗq5~ם;_&s`->*Ćꐙ^i$rmIڕ+w6q_*XEк&p,Lq%!Sr@60g!~I|GQ-S!> e~o6aPZ'ELLYG\ҍi"kF; &Jj5+ܲ>:~4Vo}Pkqr34B^ 6+%O`sC~y ~^VnpV8~m?ɱdnYa`S4gpt-])1Omc;~'qQZ':|2јvhЇ?VdG|{IG}\2F}aґz[NR YR ,cfz*D*Vs3R:pXzy^*."Z.&uezYc;0lUr,'TKQ4 G1ANInigڸvmǕ`N]`$I51W2*dV˗nKxT<]`9}foAM#+{zX!N-Gn:K%zE״qg- 'J-MNtR N0gtC96%>C? v@v@1m$qY :Vf!{hGy2B|@ Bl;Gg(.@_Qi{>yD?~+P: >`6:^4Q7.nC}ÃwUEh>uӹ7cH;cGcamȀT@ٞu[ֲ̪B!A ^/{rͲ_MOJnx(-s >XsWnL6(.tw~P+|6^n.n>~=!NA̍욖FRxUip^Tq~/Kl@'c:1+[3)35zտo;~g(9Cy5՟\NIl(OЕg! r@lBdhLE۲s{Jw7&n\$٣qerC9&D֡M[=~(f_qjTPyh}(*/eLeg}#nhQV:nREi>Қ9>)3VdTe7^rڬaݬ" ɑږt 5˫o~] }}d (0=osc-031 <>`i7VS$vs6#gv8ަ#7_6I<:d ׭I>7Ɯ׺CN4=qstHyf4NtfzRb,̽QQw2֥t G߬}` h/$jF,C' .]L_w6$l\7lA} !fLLL Oȸ4 {9pFM2!D(P2 zNE"?q!_o/ $'f< b)5D߯MӞvr[Y \ȥU$[33_Fcãz3F*02fa$z]!u)@ZyFE=Y,~*.=ɺ%QFz4@=UOiRwv}{P[,fM)!;n8D+1]mo`1:1s7,(c}Q#/3AG92A3v|eFB5+I`"ŸFQ25Q.{63b_z~*͔{GbkThUNȚӐCX}=gQ`@V(JwD4+ sj'9j_YsZ}DQ&%Y(.~Sh"T㰮2(G$@ajQԠ!*`_Έ87gFiIw7?"7ЃFA 5Qm5s7w2$NdDUMUTd_k9ٴ4̴sXFkg[D0|CҞpЕ<^G JM|Cch73:(E3;ٔ>EE=&)#*ΨBy anJZ=.1?tzW?WgEW%/BZGDW3 +`B0G}9@e!&,l7z:|D{å~ K(&hd* ` D򣑑Df0FzI]0SA ^gwyvy@%6F1A8<SA[ӞsýJ),5$x{#qSj-=#;o\hE?mW\,g?i2M+yhLS=Z=lg_57=.SkHlGKs5*/>ȷ/r6R,Zߩٗ?25FU_q,iuj!Pμ9эeIt-nFRfiHGjZWKy*ཕ ywdCiƺiUMIl>ٰ _ꐔ ] lq(jV/_Y!r1҄bMIQo(76׷.W,8`Ǩwz'GG~qpտ盓/~^-z\4A+/MU`j0ٚ>47@343Qα&ݲC@XzE1[߭"< ePϵ-6/_;k^ 6M9A TE!'7ƒϕSm/:`>jǧyxH򦣶XB aYFTw_@r1N >qS)9:y)3G "@;:}j? ɖ'|_t0Jg4y9CFENnf囙O x^,<:x;xFJ=ukKNnAuv@KP&sӔ vl*EkItlth[i:KPL9q *> 0tST%3w><zr?ߓfC2C ԣɣи:ݾm~|$2|0^4qiWal3ڪS ȩae B[`e70.<$ Җԙ}y`34S f@ w,f~+d}A_qn( j,8<c'Á?e7N^ 5 H"tI/6[N-ĆjN nP1 RCdqȡm|nRr/< +[3PJ ] o@z븯2)ૹm-vu_\~x ysy~-3t1cIݸ4ӂ8/741غ8SΙSOo=w.ݞA'0=i ;kmI}gZC1w;*K8}Be.ѱ|swm@"r÷Hb}) G˳W;tu@P'28,$yo:v.o6'yP0 @$GY6P7!Gz= \;No:U3c>S"gg$2z>3)𰬴xg j!}b;VC}gC^7Kp5XѬgH? ([u^UG;eA2T2f`S ֩ r}a7i\)cp7i=ODSj]hM!&wW7?/=CmaV뇨%a+([-$pY }V!R>lEf| =EN_;fGnM蒯4!2a,I?}W%(Df ( 5P$cxEF-]768B{-=\+rj0*XNc.#_()( qU_B9#Wl`{:m^1q Qb_,쪿IwD"8hӏ-vT#]<7 C-?N}+ab;LgNOHoA5l`wvA>To oٟ$O^ד.ˠ쳵wq}w erf9Ȯ# kgDJa@Q4:">mN5~k@&btdAL78 /o91ˆn\`4RJ#0)=09tKഹ=)ZK{O}jnWjEQG\im/(ez]2FI@z+V}Gvyh$S =ّXzʜh38MgnRgsCa%;aZL|YJ1 ^@ALjj-CZ-D+Y8PûbͧŧPvwr]k[gGV$`VJ=XS}﫜C-o2jVq \@D5p-UH閊MCvnv8rR,C?O Vz׺j?-P L c.vȎ~,%=t3U3Xqf֋N}[:5 yjcemf*Ju+VhKе9]'@f6h.)'}Cj#Zh9ٮx)J['f'f:& =,s' AE {WQv~ KgOѭ.*]=r9@@1@Y8Y'_FZfuY~ޝ@c8 wS[,1i~*d}YջwWo}sA>:Ί~J/?(rk=dXl" 4go(ȇëϐLM_ }%>$@m:r+^>丽:<&ߛ|<ܦ>aDUZ_M1X^=:ϋ&n{HkpBʞ Y;]AbX{+ ;xhiQc /=rmS Yar/Y#?oН8}5$p NDQ kM#cחZhAɴf2CDfh@ͮ s;P\>tqG<aƗ* д'dyvW6z_qB(l!$BP]/WMOYm`tZA#Ֆw fXl~KfAliKAWͯj1Vl"]fB<]_ЅT:=on=9S);LNM5fϷ9g(?S y!ɽI;Q |7?r+ZHfbnoPX L?VKhk?AmSTнTPXt_B!Se!S "ݗLiEnA;%WE& p[cӜsR#gtk*) JSdPD|ϳe@ py0>&2 6̂qK x/ ͋%kG&+,7O_o)v-Q\..N F-]onyOvrmc#rMWՈ4Ǻ>xx/GU|ڢH`(M`գAziכ{!vrCa0'\AoAtns~LA7,5zt>Ͱ®iCrׇuBy',BTTLW⏒'ZD6H p*7FitӾ8}Kp;;U=e*6wn!EJWK@P^Rg׬),#/qGlFFƽEr-ILs8XQM;b^D>o' 悝$% BeFh"qVgOo|]GBLwssi3z l|>z&|#Ő"8BԿz|uw*%Q³({$9M+=K@y)?P$:q'LL1;LLWJu d 0؄A ea6ᰂ0eЏCU~=Ղ|kh"ف21V{wͷȌ<5N]-su=EI{o ZB8j0zLbGIM#-/F.:q?cLZd%hit7F0f ZV7Nk gzd\j0^e;d.w6_ S4o2;d]{$j€Zg!'e NenIMAB9'$pԊ X\9T/CdihzidXapE[:Ld؜7 =YwRu('y$fw%s[77r4<7KTñ>Z&ٗվ"Tۃ(z J#y}AP/#TFxNt=h7Œ΢E'01_FY]Aw;6cݛkFo==5U,^[uQ*D.->O~hNghM- w/c6B/OWwM1Ap8C`c5C=zW!/b)}MXOVkA dM*m~_?"ɿDphܴ0 ^('*]TT hQq$܆4$غt@ץedc $ d{+V݁-y2~}✕P7J<"Zi }8Y`,}r>~zWD"Ъk-{2ɤEy=k{%֎ZL#TMgxo.*ϊ(^\;ʳB񥰟$1ݵllF@L+^u՛ܑtGThMN^1%K [)?z9u3"ЫB~!-3M;t'[\W|۹\p~B֣WwzED\7dz~fOEFr%,.to:掾.w-7["Y6?;&2 flyOMaW\\mU ˶;P.q`) ̼UbTcaRDY{9?f:ښDĀ/ԛ( Eݧߏ? i鐝vI%]x欹~zst=:~Z@s5<̲3ez ~^Hc#_z|2|r#1E( Q-; Y]0%wnzw.غTK'L3\#7'^LԴ=9< Eb}o ݵfkfqp z'%[oIs25j.d6],Uu'y FHmC \3jؔ}LC#n/N~ݜCW0" MGS[ y] =lP:,F4Y>-- O@3m?r*G '%hŨĠzBu| Ѕݣ6ZB'#C A@ 1Q{-z$]W)gqaSk?#RFa~|!Mɋt6PY&Dd{sHRya6n c<֤1dm݂fdF,ʾѻ C!7{HVJӋ06,tBPy.#k:*BW\aKZ&VOic?7f_`kZ\Sa'!ճ7ɊW<^Szݒ{ p2!h.374|P%=͙=}(g$J4~L 4$x1w]材S<8gb; `vB{f5DpxW]drk˓%1vo4s *)e ;yņ>~aEnvWܰ>| &w7}ZP a8rE`fΒa~C17уeO1gEo`}BᶾLbMMjZZjGMd\مOXmtMFmd b\]źeMW] w5+ts 3ltf}!2Y%t9ym_ƨu855\RgW <7hW:盇Q"Aw@]T^+*,S",j*gBE2% ,z Q^&Y_(*@O40Ug\\5]r{r`!ӘCQDZˤ V #/h'8yul*[Vg(5ϪRЮsϜ"7*+$74JG'?+l}2Jw3\&6Ac@\rCA%l2mu KzIx27x7Àҕ\,TE3&iв""C1ShW{uV[S}wb>JF"k*lH yg({\i>Byw7bkX'FaZ옽SD~ݻ<sözZ_ԱRӪвl龵3tDtYgoO<{_M!{j=):z'd`Cp] ҽnѴZ>)$G2DpFEc/&pjNɂM՘PåCeXp,d(^ e:B W N /}:_,oF6 N3%-]mC:3B?[2)%eS?Y?X-ra >fλˤFݨ b]P$hyEaX\ CԪ  d8cÐ⥌j3-kfdʨXD^u=IuIv=̵]+SbnWHeR?^aQ*/;S($$5n:gB+dWu3̰/-\w탉Za++(ђΥ[aC%a9;YG ZB؜),| zS(NHP["_Y!s-e}q} -{Wwju^R[EX1?Ly}f~2TtGyK8NK@[fxt'@ۓͨX֨_uݙ<LTU&z[ʽWm,zr.C3L{xhZhg?+@E6d^;wA~"kYA1]xp1q02GXa +V8%j՝+Ԃ&Fʜ,Ǡh9E/Fdt1I5kۻ8กēƓ0"4TbYX,ګ9VH!oՏ(=n)W:9e+5T8)=9%sLpFh\Q@ցOQ|?џ[ -Ȧ򤳹l$`uoXr 盫搜CC?A۷h_+Lw[`NKBbꝵlB[ʂ}(SdPK{t[jxDҊ4T@}^ˑu&EXj'pc?E=)Dmz{AU(k= N= wD6r SdQ%!WhҭVPRA[_)w&'X3XAFvQ`ͼl/i卲T#=sNk}"w70"Үk= 9^*"8c{H.lQv#"e,8al"Q A #fo1vzSJH+ҩ a;n-]1]ɳ׷؝xJa+opa hU7mյeRP##e "JvU2DzgS';F% 2BNi5dΗ нC!974!ʵ}5޾~:Εi[`n_J KEfzY'hB.Z`[`g@F}3ttiVՇhlk/C嚦iǛUC\M(]~G HXfE! 'hƴI&ĬP%<+(Y^yn^uIySIdr#,sC'|=+o]Az@44t5X%(9 u؞EL8ZkMeӔqmCF KR[Sg@*ڌ@^1 ^斣GtKO?w*g_CmJ'pz.[5hN!Hhshĥ%}̦eQu d "٪QiaLY!9cLyj00m׭>Ndk$,5~$Q\Ƀ)k:CV#8bZ!%<=CːPXZt #[ Ĵ~Q<=9u MUk -; FwΑ]C$wq7`̇Ej\o&S,|o6ѵZXɞK]L+脀Vv2:?-6v ]gEd &Y̹16tB)J: uԶ-ESt \" FexbX]TQtaqRyZ 1COSFؐt$,L鴐||!>z}-f]uf~puu^_K'!텋e 5$ȡғ|t|%(-!zGg&{̪ J+K<3t֎ûַJX.Y4,]vD7 ֿ}K':X3[7E48aMHԣvlQorV@PZ(oX+3чwLq>hczk^:&&Ѿz'tgizc[~3v w~P;+{Y_#hib뷺E1! 3"'*X sOL9Mg9YGP"i[=|'^.)^%?K~{Ћ'l)|*W k#r\[ܨ^.'@ );"9X#["㪶((wr0$8 Փ=lVVr!'1ʌ$vLA:gWj0K Z:2]Aoqs}Erř9w^+|kqpޱ$mw LXΧ|Ն\:tp&JnVNMCEPsO( TMXڦqRj+I1D̈.mj kZwc9rvȍ`ajw-2ݓ+3T3ն0}+!{H`^XB~aRqv\.Kwtf2c3h)DFZH>]>n dp L̀yHeH-F&WG㴾y ~|MzSdFrWgٗÐBCH\m>|%9|bǘ@!hu#}5y׫vnZڤA1Ͼl8yp1Ɨc֠)63/?Zn}A>2A&yxhO w<62"#/hCM)mBbOU(j]xZm&g6Zߛج]{ +),Bx(cݑjx6 VZF;';~@g?*6`3VSpl'LFֲr2ǰc<1LƵH'O|"S.mchl!kQ)ņ9ХN̋˻`$zzeI<&J#o}mjz{]ޯb$0yLt5P >Cͷ|@0L/CH 'Gڔjr$MA]ۈͰ/IC8 ,\.3O?ysɓ1GmOL Wѷ=JWpB)PO6I|cjɈOys}m8+?nLdm D~U֔ʎWdhcyS~Ƅ xhZW]@fVIϦӓge衶7!'?)AP^:zj|-]OuboFgŽoᙅWIؾۣ_ǒ{I' Su s1{!*fXTID*E/BDjBQTvl. v4/(Hh`i6ͨ& 鄞_s4Uiz頠ЏM +Jgj R8~%sk7&sJ3=cXHKc+($:$k@]w\>bzJa6DBvvf6Y*,ȽQ D쎮O u;:ʦL_ Qat-~Z!э 徇ac̄4 mSVh|OzFJJ@m18y̤(/Ϗ;;~^?0! Ǿh!:fz|=Hٙq_lQ31?n!ra:Y(Z;!/n ʺƭOajY)@ps JoQʷRܢgv'h8ֻ"Qm(PY.6t7uLڶGH$I=jusQmܧdU.SXQ'{zfx66zsu 牬_]Z e`rhz\|YQp Lبvhd7KhyL?nNڻg€a7:GP}f/2H~~@kxܪūoV)6`Jžwa|WBA &d\bm ݣ`WZG6:[͝>g>$Aؙe^ꨧtp sSmp370Xxx;] ܘY;o=m3G'yUPt;sٻgxH ai'ZY_BP&ZdUdG[HθH@`Tqj6-|j{nT 96Ƭȋɇw1{g ʢ,|(Dtڶ_TM3VVi",]sj.Z><ʆ%gq| ^fnVha>[Ih鸽a?}qOX~6J y&9I9ro~E,9X(UPk7V#D½0 .@Ԟ:4yGMYgЋq5v #)R}2y¶ $֗7_zXέf/K0F1z7咸l~l_!]]+H!+IEcscP8r_zY$ZQYkK⫏+dpٝ=ącF]ۧkvn6t}ݝEdAjgR 5̥>`F>l/%'jQ1ճ@-;A fއ(6~mV`qӓ?/a+Mu3tē߷pY*[aVĄR~{@>9;{! yqȆOg;xPM^ϿL'tju'-qA f2 j: >*;$i4q,:L\K5ɣ7`s!ysOn) Ad|%t{~mA칐BuDŽ|mlYj}fO>t}h]jΫyfBEb:?զj~z^ -N{TXЎN9ۮޮ. '`^eW]F G{ԷKD ;:ܷb~2חn0\gOH K-_kfz?"'L n6=i*6%qQ^GJB[ p۶$M23$4LcH}u9>:*6} zuZ(":| :"\v6n8ijrs?e[+=gvs;(ldGkT>u;eϠG竿wgM>jVa0|xbMXtTJqà-܃DK]tAA?Hg(`tzciͲAjex>y5Zٌ+3-dpL{!SMm=۳<{U]I%x2 L #>ׂil+#{aR݂$hH6/{eae&A>t=|W-O0S~{HBiVD#e4>[BLߏ/o7^˛S]&7 *(pBmE&:KKead + s@yR$KC_BݐG[?TXMޣHO؎4q_i&DxhA0;n>y|mI /@jݼrN`ml)w;s9JLw~WcsDt@86y[G"`Y9=J[@NI w;Oڧx'O*ДF΁ YjVmNoO-)g`ŔYRW < 37:_g1Q9SuĬKa|(Y7=-#f@EڄlG=FOGQabǼVwN;#(׊61 z,F1֞#l.잱 21 S'JX[fuYQ\Irf-: tjӵj-ušC,YouBV :i A,J1j/>B\!Rkgxpwn^JBCM f+sbT;$;l" toG7#vE/l4;3CaP64B^<"]TU A?JbyLgy^@e)Bj6zq}Qv)`abf!޷~DKo‡I63՛^BvWToݞd欋^ 8;4T9?}tBm&HC"2eƩ#7* Yz5hMQIٔHC3z9HO$d҇ԁelDV$بjN( lj%!cQvfAUYӄZD{z̒P2 c|DpƿxAj4b3psmIB+͜@s&^%j܏DyZ 7Y2N z$ŏ/$&B~K^ο|^:#8w RIHXzH%us\),{7@ɓ #:!e K(\|0(ejD!l8> d_TPG6E0Nq-}^v}24[VVA6& _~ܽ_ пV _.'FZ s.vg)g؞Q1 zW͹u},}fn5pj꫍2x vN^( `9w${ i ar`j#͕7:9U~ ]O1Hpq^D{`;w޲b*&yҁ߽CnK=)"s'?\+qnZC8Dc$s:[:uO s0D5(lsԙ5~/QO}t!jd}_،}i{Cq_CݘE'u8*LťWdP>ǣ)#&R&NH CGlIモ1mF'/Rz6smR&[f{mu->մ{GoߩMYuq!d= in^&"ߟ hCj<&=E 헞"5Xɩ5msTpK4a5MX2yʃ\]^b 8y3şo!6]uXtH _M,Pr}.6n9AIqLjH7eֆgK] ?l!GFߨ:׆Q<"GY1I4wP̈́Y/X%v EtOD*1/h fT[+أR=Ru{9.ecG2 S BY-2ءZ*滄?K9F%{7+1Hz-n{?!iڻ 𤜎/M&X4VdY0 xe;}CXk^}ur<@Vr|ɑ~:ү.W=Y/Bv\ 7[No꾪Z7Bdv$i*VR;Lt|<Hֈ &s0>EM 5xz8%%y2,Ilf(ή)]>).wXo/!Io#"I) sl;}TҀM )BL-/ JC=qbl !6LOd̾=jb_=@̭ Ghlm-^vS/ԃglk4hS06wOc"{3Q=-j%6qmj{@gA(>kRtF9wFxў $!Y0rGd/ؔ>|d"î>xvv&ګU2jyFl 8=]+KM@ู5k40U&@x-9ֹIiW΢&! Mxtm }mQ}r= =LTOcR(Wլ=)JWէa9 vm-GDQW4r\DYٓm =X3 z]Y{ 6rm" Pͭ%{X=EQ~ Rcle3 }/U*tD0h;B~c/]pAKe 2$w zIGwJ^IEѽ`v7Y|D bj pAytStqW-)xqdJNm{8N,dOOvc= ;{@suhۄ8Mۅ&Mm>Zn-Һ;t&G %DF mo=To B||M"qϴ\[RDF!="Cqix-]D) G!ҡўltC7lڇjYn'M-VئҏZٖĵ^bsI@N.M߇2hG|CzBIx P8&!zs2B_&)F_Y &{=j&N2cs5 ]jm2+C%< f߅e:ىD\D[iSw=pT2v9NA,A#ߍ5CcOcL|o}ǓNѺ0G w0@ֶCu`kHj7WO+,1Ke dWnh( ae'e᫩L>Ys4aFs)1"+GGfglNM3#^\JJ>vddr}a<(:G BJ&-0TbisP, !@:XF@~*KGc`W RkC0ֻ 83xg.è]ylI;jʸeJ3\mD yp\7.9Z4( ,3Wc3/ЊC?K;lt[T9+n3l\XIagNAx[2_PÆᩪМoIzths =`Gou\mJBsqj@efsIX7Z {  u\UQP)7;:9XJZfB=.Bt=,Dߧ~Gy1(tXlKrCB@+)Lvy[=-oĤ lyX;[fz<7:Lը]gA]gaͬ;L̰ѓQTVs;Bay~ XQ[V&5eYzkzuY_=ҹ0E7̈́3xƖyجt6V͇nBA+u7FW?PikiCQCr5no3 1јp:ڵ+:-Ckc &i: >Z?\SbۉaXꠁ~`SVx o.w{ϛ/Gܥw{50t}]B$>/\!Kgڻ,^֊n`ЂoJ;)YAD1  Ɨ#{ЦH+`؅W%{:4t;գX*΢arZ/ ]?d|e3 typബ']?οrcLLMu,+/sP淣M C! Gbnb \\^P]TVt"'42]dZ6s#>~m")ێnx;#q_7@Zք 7hYNa|8A^aO"ڒb|ARHc)UfÀK\i\RLpI˄:E-G%xޚз+A3L 5p$9Fo>|ܡXe\MD_gr|Η)x3yBmBB|~mhAF}\3 2]Ӳ%N0+D$a\BNL[3Z`I藬.5rz `VI^51ǘ!_X+<ʎ'hXLkQtZ'|r,víȺVaa!.[W62u]OH:+ Qbg3]̛^.ˆHQE^m^Yut\QzʶZd,onm 2tF9M$帽,W-'#+" Vibb )#髣or3= ZygZΗnvtEVrmQ@^CK{3w>ŘAjLԾ}lYe"_xDJam(#Pq8:3 >>YrZsjbnԕ0S WoZVcګ]ZWiZ^T!Ga?qJvcP S9%VdVnƦ8|}3T/'執{zT(F>6QmF?eabmG#k( Ìڌlz!>yЮGK;K&5k?|};?F/OSBll0yfӥ!#G(nNCԣ#MEUS @C}bd7M̾w¸Ƃyzrel tXNTH' 1˵/w-d%;ZL7FbzޱmƤxmqaiyrYh-TKƶn^ yϽyꏖd;̈́C9VjK/ }<:8=P R3WC_h78tyoD6}'̡ w=_%l !{/*Eƞ:jJ"(1m7v"D-G-/Ƭ F;w/gZA꣐gŀ"5"j)LHBw蹸[ vUXO0jYWOH`BsJקCoIC_&  >Pȅɸu|@ӂNFtzzGfƹi0b MJ5m[(p ]:\5L(OtvՔ dMsK@ ̥۫ۋ7 [g܏6ХFr}' ?&9Ha(@:7dLHg쾱t=g# (͈ 2ud:tofj;7㠋liǝj][fpfBtĂۏ3xyh&/PDuy)e%kMP/zw7WL[OYBV1%s-=ؽ< ;ןnЎeZ0uD;KAl143 q>M8gWśaxwblP)4R2(_t=`"CZ72hnvSr#_xHfX1ZO 5ʒ5@.dFMvkHa>4ˈ\} wk7q`x vЯ?tצ9~WE[롹\lNj %;E' Qő݃!m ϵGUɷУ,X|PhE٭qD!t[9a 5KWo7Wk'M![udtK @k{初ù8FJq3}Й!SM3dmhq,zz-(-*c *;jw6qjtwroܚSpLձV 9 2 _@RI71͜Qfȡz蝀B,&b[/O^QܳmΥ2S sNe=As`cڻIL=7݀:PR@~FcAS,r=в7\loחb0~ 2g~8@3U?'?2,&, 2@nf騐uHpU:H~ś}g LC2H8 ]{peC,%t#|E` &@z*@+G R``uֱX2&L,.R/wM2=XF12@,BnF|KO'+/)%)n~%{;inI+ѷՓr84wOlvi@m )2w_>n>e D|T[X6Z14=SN:֓z&":w2ǡƛVaxvJ3ӪS(h84^彋y+CX媘4@_۱'pymhiI?xB@])Y?*w /5kIa7ctHinjB18+{B.3t'l~i"L M]h &"!-Dʹ (W9@I}ZX NFX_ߒ RɣsO07 ٫cZq*OC.VXo59aThY(4SVNO(("Z}?YL\} c,kTG7p 97/lOFr2VR- FY՛f~qSF.B(sA'N=(uMg$P,{j&ZbǷrZÍ#|p /FuovbNq2DN:Ɛ&UOOj_|ܝ'oЭ]Fݵ"[E.Z5b) J &Si}Tj='dǍQՈ9(X&E_mYa1 }v.w-}5?-U M\CQc~idw02c,HZh|mumu~O-8ۇ6v'R0᠟k:to]\'\>wD}rz+tG d (<#L>/ztL4E[GkJ'0)vaar_x:&x=Lʼng.EY%X sR;f?Jˬ\jVAo/ݜW]m}qq=-( j}',v0۳l)"T(psX|&Zs{z mv?\9M9\TjfhWƗt )00uîͨZVKi\On7tYy{yyǠ{%+I4 hwӜ!TA0CZͭ k>L|^ wg]rjӄ.Tj&z_96Ӏ|-CA;rzr}<S혺h֬ yԌfYdbaS!|=X,kO^(Eֺ?N1+uv#U9KN0d u x,!zJڲ'#1Am1uw_We_dOʅ͡cNyclt8$ "beb-0z |]Uio;Ӄ%5#D~8Ly>i;jfװA6hf`zD,@$T˛e曔ZQ(ᚾ-:TѶ2)*6#@ +=IZ2d((o?RCmiEǬ`f ot))Xd:/Dԭ}Tz{d^_])QF jjhW]Sb;ז0ɴm{},xk4$h&ޣ V.,B ]?Dpckb@cHZA6MW & =ieK?d MV\Ė /趡Y6}Q(Ƙg~xI ou ;**욢 6M[ N=f}qrP{A@5&S ؂|P=C2tEςpёDC(QRxm)T: h藖%:ߖHiJSM]PǬhJ#=. n0{ibK@.QCDT?l?вr?>+ŀkY[e1\&ic i1S봂-,o9p*5ˎfi48x je.vPD~-($<=0m,<yX]s_/'c{Ch}5`ª]u43%O?(Btp[$cZ$YdZsvm;^WHO4N&T vf"N>vП` :NfHIQzo+I2FZo{u}1_ptM#̨m2X21Kl 8>،xxcDEd u^{l@|af8aklg2L:E:er٩('dtaSPvorf[朩wt1n贺_3\wȑ<{z 9 vBOMxDAoՎZ\y_>X Ah|LcЌ"F=Ot mNbf\NGlK6G(7@ӌR<khLY`2>x[t%-TՆZ߼m:ԴrhI+5GH3_ɏQ&iGژF3=@w/AtB=q\nl`p_N~ŀnىhC 94+ r;9ɏw;7:u Zҋ(h)\gpw$kf,DD+ &EjSoחoON?ޮ {Ul#Ql 45'Z(.*Mݗdۀ/ LX0Ѳ+™'&ҞEQH-B5/ܾqܘRfS0bXw; xSeOW年6̐] +-ſ*Q:JE}0 L&0AgRQȻ1w{y8sxke)-iYsPc֫I89ta|Gis34 3pQ3F%x2=MrioEmJk& <zCywՏ *0oPʂc6D$<-S^ŝLn9r;+5R.E#H_턕+*rY ,0"r@xj֟J]!4sט͆|~{@K;4ҫGHALX~ņ\n fD5tqL(n a yi3׿?ڏ[Ŗ#ء2 )k1s_A4,{z4:0 S5 "@ܲ!]G %5A$/TW ΄)qc_9)^jMĕ7 (AbpW/(݃foۖ,_.|mz*d#u~9;rg[BљB5'dZ2a No7|F>$d\;uefB8zm'I1dy"n.1Vvprnyy}v{{q|=K,[*Wr2,@Z МsT'?}}&w=,Jp:@ :Np̒KtiXXi?gB$N*iu bbk [9e)&uz e1{tO7 Øv< g @}eBte=g?BeX3[tl6wGst$uSvZ{54ʄMyaYFҽ̤~T+&!s՝봿%('d`.>L9)WANV ZN2j?NS>M;jۦ軺ql77py#d"aR GdC*#XU!>hVxЦ>? Z؆WPdB7& 26oygj><> =V~x,۞W0Z83 Id. כ߷?VJϞ]N"{חU]]ZAoO`_H^~n^Vg,&wA;K\yQT"z=L.e`~3 C5oN`dt0NCJّACd:ҊNa4lzMF m4Ba vUgߏ2D%X'D =C<~bq4rMד`\toLkn6ZC>bh*}gy:91Mws-h퐿3ܝX3] C rL7/7 Ēʢ$zxDO^DkyoJKW}{X#!d=r"Bfrި.ͼP+Y@` ,:D~цu;2ܿl .^@ϲ nsCodcir뷶俦-5^kO0,HZfpT j{FI _wԝ'"F=9aɱA͋%$v `d9$em\8"v\hsx01J6[ZFTWn%dTR"ũmD{y˷Rן[<3=4E M;(%O@6`_x!sԢБDž!o6*G=M#n bK]oPnTgx=όgXWxAҤZjmց2d TxgL\ÒfzR옚)I-!Z1y頻mJY8<5ml3 ~QÚ[㘊Oi*Tw?9ӏ\-rhdBt(gO+39+D4hu*HTS"UVMߠ7si10뙜zf{ N02-qhżDތeZehU(7C} fPFaـ'd Ztxe  am(r 9 g ȫf ۦzsdۇmxFMf L#]_ru 늓>3W`]k 햁{Y 1jD ;\(]-jbBG{"OH|6OzYތ'Grv×Wn(\4TW5ҭ6,w\^15~r?Ŋ=]Gaޮ?m3z2^ ۓ d::$Ls]]?r{H:EzrtCV|"]Fw⪷o{`ayoe.׵o'sfa@7&R3y#`sY+_#-}^ [7ѻn \eDpfCx\#{C[Cf()iNhٹT:oW(1fӍpEzoYzD0ilo< ڙ&b 76+? ?epLJrB<:='f \i-s2a$z4,P.>%rmFX2a\)H}w}$:GwY_Ѽ'.OߖM="dAh$M,sD}Y }Cv:##pl'?׳g}(|eKՁUuc $EӒu5ՙy57ݯ733$YߢE9u}0(kQ Ջ_,.F؈:N'f;M$<|ٰSi[6EAfǘ~\ڧPCkDI>֟o`&9&žC^$Z8}B<_]  9姅V̌*tt)RyRR {gR'a?QHc7p&;w5A(FO67"E\WrDyuH.{2ed ,|x*u*|3|L'hGTF#Ea3^BQ`:sO }t:p=hdj,u7?kɤS)tٯW˻ iG1iLm;MtX؋9Sⅽbe)[Y`p`qXaHx nf^X{"%hn@38Ʈtϛ?7PA: ̃I&NtK&*zuvvVT3΅1Pc(dUˀ"wXu{s{X| &ئ ȄZ%˖F&Rd#Ϊ s<*ر_{©rh}qV3R a'`5}ǛѢĸ>1 T#?oO\PnVUjE,t |1H^ I^"xc ֥SxZ>9 HnG, ,0TC$<ϡ$qO+9"mH>c;v8if*eZ8}cDz{gWh @=0*6Ar d`ǭ1V)Q!a!40Tw34iOddTu)ie|ck/WېGh޷2{Mڄn` L/eC?lPuڢj0~hS;\V[;3t@\<|)14)L "0/ ^m(W: ڊo82˝bQbh8_i?G XihJ ۘvãa+e6qi`, uZʬ)(hfzN|ѸZ/m{yZ'֘1VutCꄾ2Td)_ԝ!I%ΈTvib8>f$KÔ8uxdO@~DJ]?i7ej~Z%D#XtԱzls% vkEiز at0vxU/?}![QsNsg@gw~}:#9_+i >mjQV\3[N yJ Dj]h6AuyVuZtXeK;Yb:.sal!prT>E3Cgr&(/FO>*Fݔwxc{եBB7Nvզ456Q!Mh>ռ=_JWL.@U?6+v^Pn>6|4oY#Oz)Q 9GK-iXƞ QцwkOGf7vNrD ѷM]OhHf>DUجT>COQ'tkG|=v:뀑`#3|AX=zq[4=̛ۧ˳QΫ4@ C }) rO7'y]D 1Md l2B7db^Q*)0$aB Xm`N4'Zt:Q|\(T xA,L覦fP1fvp&3=!>K껣aR:>0;y2t_iS  V; 1:u_ ˷}=SXhɌm׹D2l\yI1BC ψNM5MYrM__m)?]_ ՞5"rC-7ǣ[EH}#(P 2GvV6621@q ~zP(6&HsCfm(Tng*7D;T}[%І:+hYdҩ#MnR/۳0 V30Qq4qt:, M_hN&vytKGiQ1WR)FtHqhm)ֹv(?;m>'kt b̴Tc3HpL7=UC'K.Ou.GK2癔q{qIP?]=B#>[Go-SQXV+>ϻu^a#ɤU,Ipݤ:Z2dbX85``I}`Ytt)'E`y zƉV02"m#tLSQMF(O~R|usi1QZƂ]Hl̨?X]:Yi:y;##W,!ه=mON;˕`ڞEdEJк ,',XA˸Qv[l:Aee'CMj;ʰp64՞/,o36G+373QԈP;Ƴ *n8tGᑫj9{H׫@1sYxsƒ4+>Px>furS&F%$=Ą3>Q01% 4إժ?H[36pv(] ŔKpґp -SX"IṡͬidN(&4g@ RhuCIkPc9Ns q,?|wt$=qɏOEpkr5?apS]uO7rG]' w\!VF7ێ >=s+hn\R ǀT(r.%Kh%fbL[0%wj'E7Y'/_iAdvA$uzvڲ2&j9=)-ƚOK4aM0*3|HsTS\ {Du|br34-HWpl(#)3k0C} `9zP/J ry}|L~Ą/P?LSqpO#ޠ>Aˆ՗;bs CS &YRwS+OYWfsh(k-cDr!ҽKN\)h]<[ 3̹Uյ]\R9٬XGq#P݆F7nMW:t8ʭ0a /zmRK \ !ThfE%SBWtFa |υ!5i؞h!L#!j޼|Mh=H/Q:d}K7)@v'd͆C7ɱ9lV``D5FB}}uƄa7' Qgĸ+YЛ+4N@g{p"W.mM[us-+aPؤaS#EaNZ+jkKrV:P+8=]Z4 %Hi4ciꈠGwqj0-S`'?ks62YpVFhp- 5OD%6u7,<-C_, ckbвdPK0B+ӑd_6 tT7gq]I~:! }swc%2b"? Csjk&_8Aٍ&ۙ6Њ}6Aɢ?7 j)[K3ykVb3컙6 8EI[sݙ7([}R8F.B<hez(>uӼ\LӤڌ "'.ӣ'vU\y. 5eҘ[I/eF+Rs](8I-54v-js'b[?*}<2(NMOd"5p0Y&=a5v)xBY0Q_JOS fee,f({.lY&z=_*]/!gq4=@M? ҾfEh IBcf<έOGǻ.Nܮ2p3:a[dp8ޟ>|Y^2+]mONǷVJry@jn (š5^> #X[WOq`1i[WH2-N ն0 3c!|I˩ؖpktPy2zew41^X|]]وԷJ7|=ů xwen|˭ dh.ȡ40ŮH:8>JjILvm/:jYo S0}>Q-TtHG7۳l/=5 aHgcԹ*?=}ȑA`g`h^<8L=)NFe|$/]Htb#>@seatB8QB|dh:*tӓ%)neA^%U#ms{n\siz3ZlSn>w\As`Js[s:4+}}3Bef ^a|mGw0?MTv0p<ꓭg6Olߤg/Ծin聬17zԅy@š?<߮Έ1Q'W\OW-TߜN v !qԔ"mdz7X; `ͩџ@2M!dg}z%V_hz!ܵ5Q bR6g&y7zv}--_mXpӚ $(-Ѱd5Zt~G12 p@; QJz}jk g`Qǁ&H/St& 3= dT34{ςȘڐz؈<0.e5&pϰB:(U1,Vd'/M&M3)NnP~`@UGp"}]$~p5 +S-&5ʠ6]F;c2[uEU5dbVgEfgSҌrPeÑ9-R79Cz !N^~- K 4Z:vv2$7>3Z?S}%!WE`:.NOؘ~[Iq|ɄTZq vvH#m2\gm-*9M+"{Q`yDrؐX=L{IW“G$ٚ7 [ܡ).= ltv Տ6] A 9Szb5ճo6<·u?Ca_R/((,T~PxR.6YI6 L|ض_fjR~Haqm%>L}M{E/9A5 8:E~FUtQiljDgngd[O#˧Շo)c6m I”az1dGv>8 '*>h{ ; -p"m5=O6Wk Yd ֚ZH 1)|Dו@>#"1sӧ5fOyZuHLd,'fdUc/W6uv@oJhܿoX^GoQv1Ao nlT<[-8+j-B4C96U₻|j#ޱ7Q.fm3t3.Uz2JA"0y;:Ycwg`Pi5CAlڂb@w0/Hzr1/lrt';2&+ !9zgßwՒ=g'M&!} ^)u{Vy#a Q NTGňĕ~ \S@^ޑ%HFm/nCp`p'%<7aqVlh֨n  NYއ &2i#ORzO);E@̐Ĉ 5ݛ m̃hNRrcuLno_cԀHw G_"ädǞĐZ߁y{k F9,9^U agE(z0e[=2v]7ɫKhS4-uq54:4mFsf}XIŴ%k[ybLI/e}q3Y20wrW>?X;i\,Os<@Niס_ի?AQ_M帆W#:AvcҜ+v=q./0v708 iisÑzc 't 8P x 7D׷|?$`NOF,oc8bJ=_.nJm'3;-D{#Kh]{=ɡV騽ж&91=~ѯ&AthNn`髿äzBp*G21rXr| ?͖|Eʴ|jD_2Yj8KHo!1TSf=~٘ML @$VqxRzK*,ړ'a`P0W?鲺t42JF8/ nA~BɛكJvyc^e{:|t"H9M]K;r]={K2b6f'՛E`܃)\mG?.\ qȱP8p/ sq٘f%OXn19{:YN;GH}l wgrtU~J1kWk8(±UR~PQd͉wXj0hSMJz^10%YYF"nX/wrpTg2UǴZԧq\Rn&4ŹPYS_NX^uY0MR=-/η 0hztʈ+Έe&:-:%ɫ{k~Clf{ST LBriQ\ЍbO&fZվ1N}< N)EցåJ]=g'*ⓖVKoA4  { YcG[k'c=vMH* Fwlښ{5bԏ$Ri0C Č`\z|VxB#69S% %9,kH YLwv[@$ˏɪ9N y""--μgor׷=#쮒dL]T^V[> NT;j !]C<-p͐m{{(ٛW?^vBt1Hi9]ʟÎ4s_\9L=HCw-CR:4p Wf4UwLW`z-\靽Ÿ{R~hLvPx2=Z$.=a[,+sDyi$M^,§G- KP|-(DOR eg~iߖ_YO!֐Q?cfTIYyR~k ߖ̠7lY҇)͇'cc+xt` c#POcWpq:#Ehj,|@Ψ ݩLjбi{h=*F@3C<8Dc9"JQB J0^rsG$s>L.ìYB󯸯fDZX[h'NM+Wh mFj#)EeY:ά3W㖭VCDB6}=P~Bz8pLn靕v2zMiV4(<5-"3BbXy.bZ Z0ɢ*#FC.X_G˰j9|Y+@}H8}Q|Eְ+]Au}| C'.ӇI(>Pmhr`pw ] %Ft7R}.)G [Sn/3f~5[ ah{\r4Cqz2)Ltm- CP Z\ In9mno(+A4G Ju+Ɂ^9G 8&+Xww:ޓc+S0 -=b ӫ .F蔣 5av0XIgEtP`GjwS 0Ӻ -y"7ŏ9_7og|taǾX~2Sied"13qKP7ӗb7 9U%sqmIGX_lXan}pP7I Y8(H̥x9~RB_P ~\.^.cVi\G2ĚyH0ˏL>S C\Zn脤n9"R}Q@'O"GB]'61*BG݈iR|xdoǀ+$X T痯Qlprlh =嬂lohzB ٍEhE, \KĴcL9d;($P͂1:idK0qE$l[0-5q$*Q&~9>'4c&X0v s?iѺZ;(mnb<R$FI !nԷZ~YFW&9j A):b$T Dլ- tp$OYi9 C5x 0ρ"7wr[ʐKeV<5GB|K̅+yL|i|~ 5B0RvӶz7OHBЮ_qB]"vebBD x}fV얃 ֵ^XUA#O5ʱn&L|޼t'?(m!pqH1A^e;ѣHg^J~銴$ɯ11<4.B%a}1OB/+JxXHÞVr5#tktИvSP&[YNC#L*鮬n[3ϔl9FZ/߶_Z܌MA[YBQ[)bW# vG735y{~sl4cR{UtEYyD'W}0&G,9tuں' "eəFJwLpj4uw ,k> 6400>[UeغT]q'JS;V'ʨ۹8գ4;g7tͨRSm=AR4 cyihfRGAgʆ.CpuW1Cgs @PA+>t S%?rPuUsƨ52,Ԝ=8Pstg8dڱ 4n_>u٣[;Rg AG'$Jw rY<кV!4i@A (eS-(ˊn>z'oԐH2|{{~r~9FUG#bhdS93]X;F`cBL]MhinDSeYe$klVJ~kBl%c^>Ius_)lj|bc> f yx4e璬 EgD漽C8Mvw=k}J'`Ryz0QX*|4)MP ]X?? 4ӥy>[Q@ y 3ƬT9 3A Vo }iOt:AC&pv҈f΀@[ՙoMlW0OFፇ#T)EQ݌cN8S?]HIPn*IɆֲjz 8RۜBa1e:uʤs} 4m>7ǘ.2E/ gdKz&WڇR;Y[o |@'vrvn97Ӯm5h.:=\I3,qzZ^8`,Em+Z tjX0D6=U}~g ά&YNa&HO4 >["ºMc'{1tm-à%uzۺfN̂W1@Œi_iqunR:6͜vYǺWڗAo=3܏-!u -U/v}8OHI S\cFJ̑ey\R{r"mOIb7.HL}u_'\u:Žo#=5=5L,jLG'(TV( fwЭAy@6jYD׆.]e y]9\L$h*i&gGYi 6% "J r'#ڱTh7&g-b"91UC0saB&ta5ѩ|2Y8Nģӥ(I7Sn%:5Ϸ w4]U=Op3⋠'&SMQ1"+tU] "+`$e=[:~&EN6iz =.zHKGRȩ_Ӵ |U\t[ɕ4o)Eri77^DP0Y yK'fd:崕nςCt!Oژ+:ex2dn"p[WW3Z#1vHA2Q*oSn9tNo!,i.^{erB,S/ ?=Ii|hT R =(GsuLɮ|0G?o-}O(`z86!D|o Wt{p:HUU2¦Bd|TG4=}8EY0Ey:/} mFe8S~-VLWs*0IP`1&ߝ MrsTID?VIa-2J(׷wP|ӠhP\njT  A%!lqjN/$P-WC=M+Y!$ 8ueH1H,8@:!tA6<nȴ4u5}Zl'3UBR X;__]iߜr4M3VHRW۞o݅KE%4_a!886!T~8ӟ`LյuBj{,+|n+$P9#At&Z;Ӑ #*҄ntRةEPE ~&yuKҽ[CU־_~Gɶnajp6RwI lSz>XA3=A5E)4ju~*~;ohk7o?i*5i3'R#2Wm!o* pms* 'd]i&!'J'a22rC7q(d=/|VihJҘVq";*ڇ.gH4u/c7{4\+ мkcDS|$Ln;LPmB?se8̬l `BYڱ.;.0Bh'JOojr?wG%WyLdv>a!.y 0#`)? 2e#RG5SzX^r[P0d ,Vq izYW dt$2(s VFqGshgZ*B[k bNs~2aۻL bh;5*5՝9c < bd z{*D j~F>+Z{^NIn#*}*aի0mgfܟda\Ĉ~*ev9~[AfqGYR>%j6| "qGT7ړiSΩ}mjM>0%T%q'rs3\<_ɇ:*wB"DBpfR@%04 ښM-zm: yeJ= eZdT7Xuď%4`&Y@Apv_!14L.YC87IMN:,fT/p'jnAFihH0v{lq|y` ]܋ CF~^=,T9E jE{(P`ȭ-zZ`TIR'Ѥe@0^q`\un>-=4 $Ɇi`DWB(7\wNJWjiZJޑo n}'g'TC2 $=!#] {lr{,{Ŀ [ lV6 Oy;^^"ϴUJz-Xr[SmeWW]ƎIU;Ks FrL$Y!,ߎt]WGbc!ȵȹ 9ⲿ"?y'n zxpO&sT||zSͯWMH 6l[ZYdBVi}e;[ַ?v.'fSGY#f nY\$dtȮq؆ڸ&2"<u9 m +r|arZ^8KCAC7Um~ٝa>'wh:ʽ^oHk `3ɱO/I.~[u%sc'_* LM.Ʋҫ(Րۮg WpzW/Պ̈́ eˀSt==>bo='jzx}-Y~4wq!v BF[Qx*p2׋O;(KNq37Wp),b,i ݶ$z:F(3Y _]O`ojr/ld3`fqs%K3贾6V-@b% "$s?hDeaiCl{] _1CÊP^ƞ;9]/OI csǤ0㑝FyS b&52iL0 QHNC[Ո$&"G Wםh"،'M$VU7cOHlN ai78]3m:]!$c=8{ !^pFgZu`ZГB z6m]-K&"9^2$``K2,)sA\ofơ7!/LԌ& XuXEPtIY`v{1:Qy Iʤ%d -.M^Ѭ$3p.T4w̽S/F,_n4Ls+`gt} ]0W* yt}(}M`RAêiGY 3 )>9[}O'X krabj14 1>h&Yi]P) M!s7(2._22 @t mdy1c?2Œvv:`8 ۆA%toဝU8(|PSi j EA6{|~:bC:JП+"}ʹ%n_߬u7,LT`T_&#y켧A0+BmlO*qdFVOod_eW(k...-BT0BUewNQBJ0H.y}b=FaT'EGa$ѕuXd$ie}kHl/d)Ym0Dvv <80=K{rg#>2bFpVa.;6lծ؜Q$Um|[}cw8O׷Y/aQOzaʇDm2eضqy^CUP vC;eh.?=OwY- %hK{w:UѿTIͻ)fۭ_Y)%* }MYN{,)uvh@>4h㑧ЋLP3*x7RƾGs@uB}3Ҕ}x,_.k U$%/05GFp:%_2)[tdjX2as : lAA蝱~jM&v!Z${Ф[AyO?]='Y8,QL]h;a7:E:GNo}HZf(wzC}ׁa͵(rW2CʝD"zwϾ}7s0pq>} P ÓC}ԁxr>M] (kh1/bCOjGmLFT8SΠ ]3ԂЗ3ΐ dRd!NJұ;?('X *TH5D}{j:_ReQW|ۻ)D6{@e;zbZR"LPwGٝ(0ei;'ݵ=K|3v}|%W@DPjpDګiiMe՚rSa`[f2jcXqx7皥P 5V `C?TNNG=U:(Xax}#F#Si{]z~yН `0 z\HS%Ar`Z2ȌhƸ!ăw&C :Ѩ}y#۳ae 恂fָn6rӛ_ A#-3Gbkzai= 7!R׶AtFe4v+>۝#yTG`?{Z?%dD ձsq}W|ðF黬~/Ȝt\4>Lk}yM&T@EVnz$S:09'qlר)Cit?_< 02>1h&H,7iEN{yoXX!_{SѯsUԞzX>Aak/-%g@'%l!% dr΄[Z@ÎL6 }T,ۺlB=&&[]}w q(qC;1T®!׆xbev:eə_qzH:fh4{4o&g͠>W<RtZUbx:C 9nn߭u.nϓ}cHо!/%s¢bDXbeHtR՛a?!@ygbЃ/b8csnN\T=6\ gntssD0EF`V{:LE -~Lsy1{ 77Wn:%1v3*SYt_nx/nyHqʧr9INRad{s/V>o/ i%E{ޯQNԃ,Njb@ q?kz=N*' _0XI@MKH>Vm(8о]8>WhRfv}{SZ^f8/NFPsȩhxYiduY.3L^){CBqkzY/o*GGoQLt3#1(蝒eR,뫭BDf y1dM;d׮d`w9Q5vF'Ѧv&nJq#+ ڎ ^ekޛn<dگcf]k8t0 |M9 yt╽\_F,1;&~Ωp0>d{~yo֗!)Ʊ#AA}L%!3 ˰ݯmx_&9Q\V8BEHuC]DΪMqyFZ=jw5VrG[a><[~ G$ zy!yɺZÛɒSrwPEA)a]U3O:ClnL廿~ԐԹos&.,޾]k/~:NX&Bht#aZ[FgS|<:M>Mt(u =W.do"MrsP _}X30uyW̳C| wZŠs\<-8_|{R8Ħ&QK5}_zZm 堑 1QE@nC6 L_:Nfoׇ#N:N} \DbiQfԿ#J/.=WžcvlH! OW=BK5u0$cHr4?l#$ Y[x{h"-ijb{y1G/j4[E`fZ! /G{!cPzFt˚#uC:l~bz}4c;ɥ셛rճ*e)jZHYhF٥r&s^ IW+UBh-Hun*?y" p550ox^״˟^&~cO'C0*TgεV˪}#+u-lvIYneo[VjMKH+_2z>ōd J:/-U*Yؽۋ7a<+4_uZܔNP Vs^+8lmDڏnh1 zZO=ܬڨj|1QD&! v/i8<GXj"Cr+̾z!QCFV#1!5V8g߼f+WhB5BGNY6(յj2ʰ*Zn)Ńd\-_>Zh͕(zVȇ,u7@PtM Wp>m|6DO=5 XChɋdak@&I/*orٞYN+i5׵waBbw-D2wwHq!$x {\L1Nuݤ7A N^oDvl~uW/~J@6 ,QV:C?Xk3@+wێn">чuQZ8SCfICl$>.ތ6ЙcT]skJB\~FQ"Th⍭p, "-MP1k}=A1;9ڠUnK.0tjo.)&NU9v5~rI raa#T[Gs{*αlHF}9D_yYdD&]<+n@?>.jDCJzWAٖyi(Ꞗov;> ?EGjlݡi-k?BtCldMօ̾WKiЕX/Won'HuҪ@ZM2M,d/a-:?nnmYis1iH0|1V0.De}`yԪ1 ֖eQPjdg{Ŀ;0Xy]Z:U2 t1Csx׿+aJ~D;4NJ͌P߼y_.>aM\䊾a1aMY!Gv(xpЋ&GzY;Zئܐkyim6gJ6u1M"nr4D<03ki$/3 hpxپ~ ~|Vؙhe[3=,eJlFNw˷o_&U#uT \o:AlxGfqo߃X)(@|0`W+̦ \Kdn;bat˶c $/ǟ޼٨]_]l%k&U_Xq?tP5->#tB ڃ8AQrr|X/#O,$|CB XT,,ͣ^aD#9P6g&,/ 9v735VV2:F[A& !#6e n7EDqFPa:ٺ4; lҒ:BJ10Z!A=P-^*V=AȰh[[hd'/$joo*,3"_WW4LFmYiãkדichQt=tV<<6> x!І!S7) gIȇB4'mzB<ǣʥ2\+z )!13*F,sbxQ &< CXW9 ~wƇzG']QTv Dpn+2TjiCHO,dfE!ض{ahE~IQ`N-NUOgr@f`́-4{(Z|;vr|7߯6'd0mU Ҩ{@y:.0kL'8W7>:hw7 E6rWP >Ĩ%(FH3]2TxDwg&Cg4) l*b%LM 폣{zGGAMaFtR 0jWAwgkcå=;t-2TЙCG$:6'wS :j/2C r  ulA_l1$@~7O_:Fycxiu&Uy~{vL73=/=|q'o h_p<jv)C(37T#j;d ({ch;ٖt9خn֔o PYwmᦞn'hAAYGzr`;u7,bJ8 #p; 5~ߠAj=îj3eΦq|4gNOX#"ilUhx}U7xlVL-bAqyNȼgT? el$"rM6Ƴtzw=+F_d(~3AsT`\^ԛ^f*)Ɇ|5rŷcZ  "^WeE\ݼņ}Wz: )JYǘ#لYoG7VOZU`=RGBG'tfe>mhЬNX>pNΊcpIMZ~0 %P%11ե(4u ` l^n싧jIFY$umBRJYZ{:Lz?|kfd'^2u@7,)m _M5t^X4$+ogzϛJ%BOln6rzڣoGDӵ?/,8&g4Ȅhe?=4DWH&ϨZ!_36~ss]D|y}/:rSs,jFq@sQ:pۿח梶E!I*kgVehs39^;>sE EBej7L?R6^Jβz[AP?.66wX߮? x$V9COd=oI~襗ok`%Mf6nCf;}&!M7fVd !㔠gUZXr m*͢O(#؉m[ҙۇZN+Ndt#wւ;8zA2bwjf?2zF5Y!Eh,x{0 } "era%ZϢz1DʘA 1q@d&I[/FYN!W#,zoҊjh42y.qArmv 6𩍁(N;tMͻسUd\@Q^OwoFuGW]g 產rBScxaC!-ߒYdǬdnׂԍ Es]v˨Pˮ o2'ld^x>[U|V?Y?3#MUŮl=?}R{]1 _m,hC@ ~&y8R/MQB9/S CC=Kyw0Ȭ',{>3! 脭M2 HUUi{&ajúW!L$UZD ޞĹNwfo=3!wN`—f &K.W x۰ig>sݥ$*Ɗ#F\>eGМ}#Vn?=Qc, 6Wk!KKP6 %Ǟ6IOMX`mqjͥ$Yȱcg P$l_f3Z.;V}e& hDNɥkTƲD:_A^J,)ƜP M=tvBš`ficMIi8LE ,yĬ\d5& ͨϠeх44sƜc“,1Mr`+k¹ i\X#f;LJH,i} `|sHz]U7WUSCa$JAp81&Kɓc49]HS)ا `P;aM^Ƕ./UA3!m{2giD`=LksU4w8Y=8MC%F"fWj?xF= G X#gn\ xVW/+&]v+iE4yLiFaIkOk߾{5L ӓɘ4z1fm<2\Aず*!Ba%;9W2F4hyUԭU_aTF[A{w6WM8r%ŷѬ>?7 B&KìS{(DhUk)9̆MwD. Qm[6 E^Xw5a/x1p0hy8nE f#,R'7!"( Vܹ2B!gNjec" \Xn-ܑÚ._JG7eeaF|W^ X㰢eIV*GA1Dr3+_:9e)3Jf!W{Ԭځ|0- 3orysUH1-kԦFwlA ;ZH EmUMF7܆.x.-?h)T'BcR<' Qd`=߹ըLv gH\vW{)ԠOj}> H'P=)aUӦ&`gSXKB$L#BOh e* ^mVC{XM7 ?7uoˊ| 2q+DeCfve%#'݉PN$E`άQ δfxy` UY Ao> 4dA͑1B6lf! u8X?HD [ϧf z- \Бœ}2vAzWG弾HMrU܁ʝ"7@3.sTD {TN$FY!X͎Am;(\F(2:gƾ_yƦE*J?SMo3"z.b Ѝab&5L\^ :M b>Ө¨LpЅX|ӴyP*/tUGY2MD~xcUכp„J;drch|пml3n/Q cU/ąd~9յ53Go?e} !`!3\CwƔpu=_R5yO_⤿ ŗ 3÷xwKJFm K"13~{u7 ]?/GRUN'(3Fc/1c}C ` -X࣠f<0`z`ɘ܎MT :~5pkPғku0&7ݬrQ׆M! D6k |αc6 1F$DŌŇ/;98t[wђ,ۭc׎@sHDDsG4Bzͪ*wS LGlqEz*q?Pzfp'Z |ΜĮBҍ`y=% L^!#&Ӥݬڑ]뗯o7Bl?]WOdQDU2B*΃Ūw])rq[l?/w~p4ЫbyGOoMʘ+*ZP).w,8- xxґr- ^=r{T(,Ҫ!n+Ҧ{Lgcmb&JC_ K.gu3GsyT?Mr5 ;XGGxr >6olG e=(S$#~Dku(?敗osGTVX_y7fV p Βc%xkɄʔ0"U|T:a+aaV 9 ¸DǟMYwZU lw3!V[6͡BOp=zn|& hOmNG2z7qtFd}B(J(o_۾8k1eeuRyOi+Y͎O w͡d:|7%O^GHiV~k|Gz)"L6 \iEΚ#1F- f~믺rH}G\6 >*QV0{5%HE&RwŧU!A!] vMM)2;/h]D()_$*j>=b=Y$ <܇sGxYUnXjT;z.BU-&9 sp(A htCl4~e̕[nɞ"<0sĔG A䢽ްJst/v5zNkȴys{ ̦Zpk~3ynK¢hfW2\1FdKDK,T|WyyG}߱"e2>Ԣ,´) ={$I!%aPA**wU]ʾW~~QāȠMbu< 1I}/G y &7kODe09]p3)BU4c,{$;Q·$>$ֹtĔPm LoTFӣU%++};B ͵uuga<<>}qEϻS B.<'!:cd7șlXנĕ^> [*r̡`%1mtI1~ތۇjz4Iu>JWz;`Vؖ67](t>'yg3(ptLcB2ɏ;m(76;|m;j珞1ԓaE|I9f]P?qÁ(5knMy"s!M7?nwq_,H%LO€c7)pM (D|{IҘ`w ߇̭ V!z|錾Jti_?9jé!ү:_3 irsjqRwlF?\psZo^TvZPr9E]dAA+9CԀC.5|],2n EGڝn @^Б'b*uO\@Ь5wXAk(zY>_- }~*H&.%v~ )-)0f}m/:2BQx˝il&D^:evĐ=|ɤUr[]놀i+f[Eybũ2}!v\T/ǷG>.z*gcnVvVC+4?9EwΣa/jٿlJz)CE[2Q:&L[k<헃GJiikhhP SA#y7˵*a.4HN2'X-C7$gtGGFeSN @$nחYOUBhBm%tV_^7\:pH~JgdGf'F7FDDKh_iG(RU,D6 Sn,-Еfmz,@(+ʆ6h/uWqJK_wؗEǯ) 8"AW"F:SR GUb]i CgApjKJ^ IQ!+vl׿/N}mWV[|Ec\c70)'Scе`RT4zvcםomn_GŰxYI{2!4Y&a̝ɛ6R4"kor}PƵ#(C3B7%=Yݬ&e! S ua9mZC@^k'4 + ³ltFya7pfX\LIØCӪomN&Q^qf@|y;ԜnǺ 90*mLe`ыt'|dFMRFjlhEklFk\*L 6x<]L='6>on>?l`nSy=R%i BZP ܎".FNn~s}8ed/+IfN'ח`mpwzmޣ:V(ZRwZ)#O'm}8ΡZ \eud1~۬(9?e tD+8@Q#ac!縒#&_t= &0G7Ze;}ы|ex3 G᪜[c&uژ~?ȥ2Shݱ7٘uV30yHkËQÕR< ݓ!yAO=X zPQ`R3B7 IcT]hH e9߲*=y3y3 E-W>-zvW/|cǑ~ !x }!y'M)zy5pX5'#ǡ$59q =V(&F F|ψKzbZgPkkG8>̅+Fe\Zd0C.6hFn/ov"k!*aQEpH9^8_v 鬁>;j{9A16etF|Щ6#7 S^0Ѹ+'$y?L'/EƄ`= iġ؆ وQ{F퇃ᵎ*ggFFFM C<޺9CpC ,gJ:Y >?CpZih8ZZK[d.֋yepo9.cZy~5u~JH?47"S!݈C,4*_xS+꟩<9PiOb vK)ԯSd臮G';.z&T¨*UtSF/kL%؍x(яT3ZG3ד Sy9:r[1ޏ&9ڭdh~c TM6|vjs=o!Y?2>1GzŽ< s&\X^;c78p* BH UGO%@Ȟ^`5l&4 fE{lsz|CQ}D:eNӏ,)c.hwgmgX nFHa.r4mquwtAXPnZ[nͬ|l~=tM؈4o!)!D< f0YCn[*yK-;(`F:YȼvF"W,E>5/Fr̲qœBi\i>f/cMD`UXfLḾ2bIN^! Xc\6d`\ R)C)>s @TƎ yѲe(CG}yTx(xvlR7_S L>!@l$SdSgذ1<)ia߭K՝-UEulClƺ3sAbh[> Mk<{/ zJcNǒ5n9Џ{"|;ϵk j8ƙF[~a#Rqc j4o-XrCDIɲ uCGjj=y•4oRU/ p: $H H(@ņ6Qv#\# ߴ9>̓Ϯ#C2 7^ jR&,>zӣR;p,^n?}Gf i55ƒ$B 9S؈mT~./GWm}|ƦcxXG]@7]=, b;Ƙ*ZIHy*<ҡIcFf'K(:LaU3 8iw&anuFR>bg*9bA8Q}AN`DKԴŴHw*\OYWt(*!\_*|&T8\ͅaYAM*=kc7rj05r^4f|t-6o67_d72Zu2bP(e=W#;? L qx}W4'C6uZsy ;({} O.?i}L)NSyQf+2 :\0&"ˠOh <ъ׷ߟ_An@X+,m#ίo1 ~ԙ DvYE <dx*_ :)7W^]3FHhZ3 X07oy A3q =5^4hOu"~m B̡UHm y=I Kk!`M5tuTWUIxDP<L«z=-Փ,X.4,'W۫#eI7lɿE@}0mkŔb7|2Gт-%ǚiZǴ&Cq ºڶU¡eK7qTx[?ޠ?U6ڻkŀμe)%^ooW60kK֍$zڲ>IjZY% N &P/а9^:L3 ClGi-lainYi@}iˇV#iQ[V | 2P( * Zi*Op2U[NC{L|/.2 l0N?%fcpƷBfnġWZAgUhF" b O{m2yNvB7ꈺQV]/X] g(8Nug/*Yzqp*_9O7O*ߊu|! 38Lu>\`Hv,."tW\e~jq1y^oǁEǃm`u2Yn-ȷB@b(a`"ZLQ,n}ᒧ\nޟF DDrh\S TnY[|Gzs}&~sDivH O:q֪ވ#\{IUʶtbݻJg=@١EGaQCћImx]c}:}4J$mB ]@=="g36Gt"BK[8'DZ>f&4 &?CRp 0 JhH[mrLJTԳ:pvaK8iOhsXci|$UJLʓ7O) *Qc mٰgm]X10x`54 To2|i6u6^>DjG6¬V# ot8RHh3c@#ƺiյH[- 2s#/9vTx < 1v)2c7X蟞6ؼ?Z|ӫ60:k_1̠j0G ĉi)- _moofW:r) ־ NW=vgY7;^@C2<1پUFDO3=Q˹Y &X#H @\Z߫T+h~_}dVV"tTZTL;xq)($!suf@СcNLx鬔 F'kdMn2.Kobno1O:*A.۠/NVaR`Ll/WYɺJ^CT'/<҉Z.}ڿOΙN M޶|"Aqַ$;"#r ~_"BubÃXL<:A8+UfG{Fmm$tu<8~f2D/Sy gラC(?<#P:nBU1@HJL՗k{ $`FPgݻN cg pvkv$Y>_ &庰L@GӕFf즩Nv׸0+Qj tau$ ЦG^2B4F$?i;&C@]|*jw$"s^NY\|XAcA@h;t1qa@50n^*$nïf֏$tqsErQUewu&9LG+ ϧ 졎ѯ㡷\peT|J86U85giGfǩߪM! MULؽjTw-Px:~ 8"ٶQʵ6޾S8H[W#S`5Ml5vJ1&je"0fi/8[F և&Z:Xޅ`v3}`$v** 2n#E.2b1ޞ :VvXf w,rr>n4FNrClC|aB8iEA VSK(veD[,P im3F\a {&E~3וkx]O[j)B1Z33YWfиv͍*0̧NG4ԀsFIh$hoX!궱2m KN{3P<|J'o738( "Lj:)Ѝ$![+ݽܵ_NO`LIXf d3x.Z*-mgafp)taN-lwj\.GfFQ2dsL] %?Ojv4(0䪲/lޝk OCoxra&&G6fc/0q:t`r_yasa{vę ϬVhhEu-^AFlL(=.Z6&6 |Rtv|}mPXeZ2<65]D~!xhyVe}Us=RR,o.:6^9q{Fcd!8SQnBGէG AFMIYj1}ΡŒzkjAvllQ~ zH0if&>sׅ2yZ\WzAoz%7Azl9 |mn~5Rw)z=a&/v6^mjrrc}u滮0T+X {вxԂWP\1־Ay>Ѭ 54vԵn>NaoOo_+ā, l"z@u7ח˽a׵F=^p0 )I3];b_~A_1GB2 }lz WQ[uSOb:B<L+ 2֪1.Þ;ȿ2C [z7vuZٝeG? o =t59G2%aӸZB6ٻw'|Mjm@Oi`WH7j"ꐉAÔj EuYo8zI /9>D-TkC貂Jw@4}jVG&eHV${:D%4=c$ɕY "Ib"PТtNib̡'Kk8B:Vhc@q ϝd$jx vV0hZ 䫹g.1}{L5nԍPеr);t/vg-rgl.|$ŔkbRs^H˿la錬D' nmdz9߃1,Uꩮ"i"Q_[{h|tI~ZbWFk4ujL\{޺rV9qr ms9#+Z֮+?CnlnwNGbi1aӐJiY=0ww&9`D0lؐJŊaQ;2 Tgt0ώ Ri 9;a@ ʕiOcE2~N=e%@b4C(c)F([S1#ߡJÝU鄱MzTzo/7h[zKbI;h;VѠb(}H?D:Xafhr Loe'#B) zqm}b\_>^ kb*q[IP˖O^^ۮ?~vx%`r vZN)DŶv79v9sYI~IjNz9zr7 8tqS}Gj/}BX@^qYѱFm߀PJ$_n~_ŷm~i_+4(9T)rb6A(i7=xI +tڅ& LE`@oKddLm+^:f42~/h!L| x~ňGז'V5#!KEuܒ }UѮ8Coo-'YD2 !(D6(xBay___wy?ב'GXWl~}KܐI~wơxedshҿ^=%37L.~@2AΝ ºa,ҷ M_ljo*HW=31hc45y;VJ򫱖{wx$yb;vmF².6F)09Y~5d1HH Λ&LIKGt>gMdy4ڢ Wd׳nO?Gtwu5Hz&Cc4/h]~c cIFL'qچ K3˻e;NmGIMN)-09̳Nmv_.jhwƖKՒ8liX;#Z |7meX .oY䇛sdjݒJ5U6~b?Fb%'mK&صe1nݓvXfezBY:I?s=pQǺk vÏϋy_X()'ɬӟmPCt?X3ܫzo6#O떦tN0 0}G15u]M4٘@z޿U2)v-j } G>ѡdnynt,th#283We d2Z-b`}:k!5ޞӫ$Z Blv\fG/:N($iH0@c>,^kO}|bg͠9#m3V6LHw2E !a)^ڌku P'%E(M ,|k^7sJb?X5m52^@^b2 -pqJ3PCOE9b!+[7V1F#:BYQ9r%Q1)'SD-ք-c=siz;#X;tdo#QnpH:oEsOI0[ȳ:rn9sp6ɕWP׷gj8N:=}^`BR= YG-xjmP1 )@JvFZtaXm~%9{kB=VmqŸs҅ U Wֵ5]^7vfgJX3XW^S[A뇎a|`1ܕU훋y+ %d O^LM\ㅘ1JVHLL>VhҦs%3 -80yU.As(H֨@$@kLٛ[ؕeh##Y|8O8ޅQO/CwN^uyFb1O"*nDX0o;yC7'1Pi{>XړS<ָe4u׮TA/V< B ԩHf}c(b!{+dYm  iCgڜԺw`# :Sj̓Q'Dް YzZK 4 ~vn3biGIӴ 2.(E.?C@Ӕ'?nRLޥ С`꿭aƌH93LwxdYbʛ>P%`$]_V/i_-=SN0vY pwY`Mڔ;(|aM|4(;"rTyOڿ39e9+YOO8e՞E( Ϙbu}|,LpIOKN&1<%n fmcX~jys}xZ .ǿm׀RT38;tp$f?Ue 2˱tƞ? mj|eu 6L "j=6,AyzpNy6%tja ,f7NGE5&JLB _yYekoQ[yhEjJPwt -Clz6uFnt'ɚ)|~= ;cGyE۴Nb97֟gF${g,gMŕ`L1(q\:XixKG::!HnŸ&z"@+) K`˵1ס{0:+33B  ~jȌ sy\> Y<U+BaywF:t߼tʔ 5ވ;IyV^%9n|.h.}M]MC ڒNIG%)ὅV>֡'^>>!w~U9G& cz f+,*S՗fIyԯ:.~=vЦC 4'Mϴ#);yDsCĸPC{4}_ o+.c(l#?BkX.MQʞM s6 YvRѦCoKywzˏz:r Iyk B`A!@oPyD'nG UX45_Jbzk1ˮ[ŽDSZfO$Ф#ohl]%wY^lFB"MrpdCU Md$FY0xy젛c%W!{ģ@%O].J|~ (rnLǓ"=q#0Q]K߾{]>* a"u*~'ʊ1jDF4hY6Ҭ)9'V Vs1vc7$գ*< : 4C߸4?Kz:yc+R&rzR_Rc}[/[m:i(0y<DrsLV!4sv痖 3j j ]c-"&&Nz6]`%}MvV|q 'wФPC;tX"4JbvK#voФ>ֹFl ;,{cݾXouNb) |a}?jL 0f)Usg_k$I9dzPMnjz"O eEg^Oa^P4Lޠ_~Gn|vpA )z$HaޙzJ_C)zRK\8_:u5p0⁀ LU[fjz6\NM=`V+SEE ’ADb챂Ѣ>in(VlDkthѓ,C]@eG+ji_ V2?ȓ CңmFb M [|ωڏ^gw"EV^!"ۑDwW<[<zϦ |WkFXJgVu m{fJ͠ M]3 zjԏkcGO~SlHuyDePQ ai ?Bh(mUЙhA؂POA_TR4Ai;6ֈM6 B^o"*|BQy;:< K4)8\flBaÉId0O9 6+H'K!7Ca5- vu|2{6@P _^YP[>*he<cuT\_Ns"Xc dp He4ob&̼Q/\c/bO`*0yeNf'zcK-n5"qF(tJCbQҾC9umXM2B  F~+B#k2͠9 0q0 1usg+P~V4+V[9YEQhstDoeF}e6m2B x+(\*9NQ ^zm*<3CM $X;wLJ .1`Y1C~ wZmmͧW#%*Ð#mެxE6讚)CĂzJg;vW^<_սs%l}! ~$g/hnA}*},gwK>'RbD k04u` u~B;rsmCNDkVH/˴qn{F[v;ԴZNk+? >T!'ajɻw`Ǻ"vER>bѮ2rP'm~:'47Ϊwr';Q10=j^##0MW.69X2zӰUOwuA.w)i&\P#H`RȚxwB(%*3HOgOS:UHe(se%71? }?TjKòNܲL8Ot2 jX$+{{OCjT+ཛྷP!}7L)y(,TszQ^CJ K`/Ɔ-sǷ?{=M/~Sz0*kDg½ cA^5~5LAFXc^>3w (`h&& *oogpT{+Xź~ S-t/sBy"};1#.f!Ee(VH5UĄsȏ=}^4ӔL%5$9rڮNƄI<:*CTe+OW s;HƱʘsWF&Ynv/["՚Ѩ@t sM.gdR&Q5[RA5<| MHՈG7S|̙w֎OQPGB6Uglmq-V0Wa4ZPp4l]ƾD tzNYC\@8 E/}NAqY1Zl 81l40%?h3}FYoǶ<]Jr @8|#JǤV_iCas<) Wl,0XE**2 rB䶚^f9n2'a/> ~v2]]4ޠ}{V:2}9BrLӵZ,սvvrZ7v5MӗCp:d8w1;z2_],L yS<*X%D!ƨzl4r/6WL(Tڗ5 [֍ u2#ZzOsWxm! mKFfrIxv`DZTXߙ9B\msG2DwDcB?v j sf`P`}xE܏Ռ&xNi琠d^'X@x7{HDTQ?ZŔU;C[/Aˆ/ҝne)1T ɀ6lHMsI[250C:6ĉ8H'#e 6[YCAqҨ~wt`'[ CDC >ݩ\ 7-#I՚LߟS{Yn a83"_>'w~a]ZJ#vGRKvVϵ8PmmZ<'E:4yH*uXqyM@uJzBHơTiꄴݴ (VHQۺB"]Qj_@CA9~=13n:<5 B.+mη29ug$x~w=`rX6zm/a`"s+YꕎfS29GzPA& IQeL b(Ox3K\/t yh/o 8*DiBBShѩ, _tg4i55tRyrct*. "VHd;!=$Xv``Lyڜ$͔wa4d)UF1WP#0 jX y ׻{4*,/i 4(B`1+% t,J*(#hNgdw)z6qyG[>k`}/*}lM@;gYnՄK)eXP^+ 9q>r7)Bsh<71Z[ #rr46-|Ɂ2 ׌TH_Sr1A_X%n΂{Fnߜ_o)Kو>TuXU= \Ӱ"*FUKC;3F=&E)4K`bZD`l G*BWhG%yRC.fW/RGwj)s w GN$\csZzpܪ"[Zm^!t9C!vͤ*K~,.6G~oLNv4H=fUCR4QCl>$W([YB:'* icTmM1t@BP#xU^oy'QKЯw5|-Ǜ/8Gg&ҭ]b[ *8kɵDpK$>w7oeB‚u<}3<4꽸Jh \;w|7Ln=>nlCŞ.,wכ^", %P62~~=l3,3am ޳gWЇe1k_h&IgOuITkۙ>14Ma:&xF]8kfGų@9| &A9 Id0FW `"ltnb.+ۤExBlqV3[[/լkV%d:|Z9I?`Z} ɂܧ+ƈI4EJ'* B,©ZLVd'O,LmI*:bJtdK ?nvG6z䍼"ZCY_-@a YfSZW[iW hȻP/G1&B`'HZF?1H̥2u4nlO)j_0RKK٪F𱙴$?1RIi^ybhR+15M5gm 5zp>dȺ˰J6ը'j~RT*/CzZyr1V;j :Q0v}`+CUW`B[꤀ hHOBjˬǢ&Qj+€f.W!Z_3a#଩j( Tp¹Tv@rFB#JRn=FR h*Y77uWz4d|Q6yo7yۛ%wq''j`DPxLz B W@cWǺ) Sɤz!?0yJ\Z~o?nMVHR 8>Ci(uC#dZƑ/7TqqȲ\}~CfPDƁIe ,7+ R#Nm.+TJ`YhO/m!w213';Qpi-&ޓT_ Vj5sXr>[G`Fp$M4twтIubϛۗW :YvŋEzGPd,ު lԎĤql̺ 7bz8W+ׇaP<=ic\C)gM-'+VXE+S<\&Nhg@~Ta!&A+oN6`*a\S-(D}ܐй fUGs7x5KykW7rFs%_8]p~D; %N13555=3U55ID YU3G x"" >oЃՋGxL0um-'`sVͱe7Codu iBnX9bv$sccf'B{'=s=^X|S3 P-:Qnʜmg<:@ձg^ }L02=R n+s2B,էEIYjR0SfZ jBwp!>rI; ™+S ~صts'SZp]ǦMQ˲m ZRtwLMւzک׀&ɧtho8l!Z!i,FR:2`G0VmՆ 0He@ՇKzA.u,NTAe JڑP]0}0hr߾(CvM;Rbp<\@,[`[) 8 nVf0'`'?:wh vy|򅭗b?ȷPPc˴ҺtDb*ͯ6" %E'ݟ /0!̗8tņ>iL`J27$VѸ(H-$Vzae,S[ر7C.?֠ėwW7_"npܘIt)2zbp=&o' ]~ .L-OKS FNFwYE-'p WuT4V*A'UVps{ cVDG[^O0*٥Tmi2I{|0ioJY=SYJ^km_%\2=Wm'7QR`:Owѽ-lhbXщgthuC)B]Zb&>yzcM¡\i϶-ylk$h,vQ(<:?\ƭa[O<z I\ar>PvL9@DV.+Bc3_ iO#ZSE|Yz_NV3sV<6=O$cH"%E=JȚ ahk^Mt?nne',Y^ Eb?PSk(mX) ,Q:Bߘe-fZ[:!Z=L7_CVT Tܥ@v+"_oX91t3|iʃom t2/@uUOyW=4N.#ha8'USú2v 4RMe,eoBq/͙L8"!*?΄&}8G4I{#FG˸;TŖW16^1~y҉yoY00)nl<" +T ܯ7r2/eZH pΊ8EqK˷H~Ix斞!}Fsk7]nHEJLIqYptPDD.2.gLa+U'MEʫ;&M"2)e˾F0 :1K)FJTFsSfK>ڲҁBDl}Ld"ES挐~T0gaIMYSAΥ.⨳h'&|Dd|`-(0+<&΅Yn`h|f㑥(͜{mݫ駤d;.;7:+|[".Mf9\'Җ Z-se?T4N8F& [/$.|PTޱŸ*z _%L5MzcŘ~&)`.!ER*/mGgkgZ0FŌؑ[_qwN\L'c`V2 u{"C/Wa$ֻig;Rn&uS-N&vW~>qM)GN!zw4,~0CqPSACNnfϥO#_{'o QhYgm6e'/Ol0y7U*CƜVڞCv^džn7>0Gt}z[KխQLk_s7[C :52isi~ڝjΖs&֙ڣK޸[w>BVlx/hllFWqgZʫu^,tRw|9$i 2M"Է.jT1,L<kvd y6DaC&L6CBDT^pꇻ-'(!Lt@?GrA. nopG.8zH[ @MMr¥&0~,b1v9Ak%hey4NXQ0)IBˤ{েN?!he#+'B%@ 5S@`j/&!2F`2CL L2̳BWЈpn=frp2ik 0MKş$6?n/mV56DR u4MRMk0rC+ULfZ"1q ]cJ.&oj /t0[TNf:Ŧ{yaӣha,\i~`h`QB< V컯Lޓa^7?@Ti` nDgW7Ҹz'wvydmȊu D[C;)ZP?{"Wh'}k0"\}=ac+;)2=UvgtlIfM8Q['MWc }ܛk7[%5Ly +! Uh*v[)λ>jk',CC1iumafn}.eY!T/N+(*tÈ3茢 *sjp(Dl?i Zg{(&$ wok(eVٕ4%ELu't-VYPrx^#?{h!my88^5DCX0!Vm2#:-LăW7k=Gֱ/ĈqHA:{AKi>fVi\z,uJ2O^oenR/nëWCg(K! l+E%.uI;+T#k=}P<(|m?MfuCdR0&G2ta:6<4b<f V<37կ(B4{mn ?'nZ DG 3-o6usUy]tGS;ʊkc.ZPS#'nFZK4RFkƑm~:>ƚuZ胂稨rN&-A,6>(I[b `P Eō5mg2G;[h7r4pZ\M]P+hг%sQ4u[PY+dtwЮ0H^l,g/{mCṳ Tj!l5 F./nG0 T@`5Wf\3u8 ;VB&,H̆TDax2QpV =I[7t# *,Ga1#6/ QԵd3ܔmdS)'xZLQA~VdFNh"QԤ ضzon9aj "( N4Ⱥ- kxAUk.s8"ljMxnux#gW%Zil(ȩb=Aﴖ[Zaġ.>͓qd\6 9fOzm5j{Uy6#o_RuY'eQ]2AMS~=LU}#Ws7YU;h  Q}尪7hMB%76Dž=s)"goK^dHuަHg?ȑo??"anuEzaQ Mܳ12W}?~~"@g!C4'KP MD db{?nsP # ЫA^gu.}lV?>!rzJt]ʢ8߅2Ӣߍ|"=z+ PeӒm-E(’{{ܚ!:Wu4 f N+D7P/svPwtyeDn߬T= @7%(_ܟA raFR3Nr+Lt2<"Sz=0{KRHou]^t1~uߕg𲷄W@w9E6AРlR$`wq¤l7@U|uH!Y}~?aK3o !q"j2(}k !v AВdz@15%ݽ[[}Rwܹ"Baek> RO[8˷7_nR>93 `sìHeāoPgoROzFN:zbQ1zkSb$ӢPڴϳ~+_׳Z#ΚwNK(k"V&QH-WeRGa#So1 ƕ}cUvA"IJf8z<#C5Q]M_ns`<9Y~fHtg7 @b.OH8U2ѭ7f !v]пY3AZ?rbWhu=ٸhڎY`X̝Oԯ|@'3y$`Wjq]l (3;yQn\kˏ2(OۼC1>bCGa6Ø\U:Oqgzf^ Æ$&3)G(򕵛>C?BoNhaw 88l7c5P}K:\g0 XAU&wG|uLFi*av&d,iF(c!$S W@4gF`yBK ޜG9a[\"؇vcvxr0Y)]`M{a^0M5,K2;٫{yzf'daAIMQXp%#߳575{H$4s$4:S:Fh$\Cn{7}ʼHeq4LeN >uR8*jKڟDݛ^N j~ܙJ5$qQTb i@@w+n\\3 /QL^_tm,㈅}#ޢAnu떒8ZdX,\z>Xs0v@g]ܮW+(}ђC: :y&3Ԧ7wQ۪&#SvP#P0¼ (ֱ<yQ0jO]^00 9Ξ=Ӛ2uj @D灎 jh>j_Dwqs-;1ޠC#u=D9ްzK~i"'@Zjg:gw5ۼn{`ږaD63(sy "YZԮ |-SΌѶi&׷J'mg$Et^:C ׎h.qȧ˯=ûRet1G*BHézQΨx!NHVbEjHJg9k="Z0“6'ؔGRա]_RY~J\LX\P谠ſ= i_*F֭qST< HRm GZQNVǎihWS'R&kF]lؿѾm,߼ߞ ]mK8ٰ$i M6\Cqhܡq&+Uf@D)2 ~jh`"GE7P>z1z".ZOmV}uD5PuT*|p G hyÀ #Sݡֈ7AL xmMӣ^CAGjh } xi } d́A/>5 dbg0NDpy^`iQNMD[Nl 2"^onN)?L lZgY]ɡ6"&RN\ln6љI!Iv63C|ɛl$#fU95!j08i@aimt a9>k?Ӳ7~:\>[PHϖ ٭C"jvFW!%Ȕ  =nޟPKcKw1Mcʈt ]u1{-lJsgҌ38 ZMʺ̔z5?_-*JFz?/f3"Y$l'tO` Wo٘#<!l Ib9Xx}4'Nej3Bsf֗rԜVW?Zq'fMsB6>C׿k'[p= PA:P묶 D/QFf9יb7̽7 M> LG[V ƹ$u[ifhM#tnĵ ʦU Fz}n.i G9w}vF;j +5K^V Tct2DU#=* ߃&m6$(NDĸv.˵/YYoOȝRz4)9SXUႋ7;i ~)X'Aj.#̨YC?XӘZ)ɓC#.qX j05PD*F a7ɺS:rv]1an(:_r68C}91iIJ!zڕu}YY~7'9V6s{p{ =/VthՂ I^zsn-j ۻm"tz3CӮL6>J6<%A:H{f*lbHKuCuȨ68LNƲ"4zuй lGQqK{ݧa6n3 a-tbw CTY=KW 3go4A _XZI$~~yڮ=T* >nyyٌM?4}NbZഁ 6"G'e|hhdn>SnDF<9 ywB SML@-L|B Wd~d?92,vI 0ci@!;ڰz+> 5R l֭M8Y;`P+ʌ϶Qͱy;늖`%v0],rREҵ_f^%;d\QC5J)LXND46WL@v0ӢL' k +G!de977Ch'Sg=!2v `ʋŤc*=}5t(/d}\fs-^⺅YNu/ƃtӨ;rۅ8izR}Syq)tV g$tRRWfK|:ʨ+l3AeGJBof-Pp6s̤29[Ԣ.}ς490?2r` v'-՜@`?'ȱBsuzJ#.è͡Rhz]#Je K͑nf@t7B<[x4:9FxYEPuIh:ܡgfst|9q5BufO+tU9)[&t G1}:zH17٬Fد%&z/w[\/kѷB5:lp9q¿n7zFy`Nӽ4+bN*y!Ov,*/:YLn}@Ђ tfo.\:#K+ hW̽\vJszzgQE!BlxjA>vە 7UX>9ccfdag_~^]m.Q+7==Vc V?9PoU{1?lp0g^gRA6}zN6әpz0`BBk@EnGw_#/m7ǹ:ySL9 ժa.&T:Tirz&!legjŭ w5^7=ufEBkrh`cҡOx߹f*R,S&/%GX. M#S2Cօ@Ҙ#3CҹMJ@gR -˻ݯӆc_E#KT| y} j LB,6E۔&RLzP҈ũzWx\l}$Zc! 7iG+_M{Y4#Va}!v9Cyc(bT#hS<`#Z126<5`(AB8#2Y-F~WmcƉ"KϊDܧa q4Ʊ{p w wJ8ڀT"< qu"|tvD囗sB6f6_ qBMd婓sX} pcv&iVBOЗWwvw'ElXSmRT9 k /ͽ9:..|ʔ2ΉNӵQ#BH^?-,T) ˬXNTWbwl)tCԽy)`PXGeLpRI3("`yePX&hEȟQWFnpa'S9x8ijC1V [r5g\`;ffEz mOmԹ+fhP*#y#z:AttuYh Gxdk\}7vZؖ)ɝ4MToّJf-^4s=Nj,e%LɆ z\C6.WQc$ A6E=76ƼQdڻ {e0hnsOǬ Pwyۍ@I'o>ߞcj*X׉Y_XLMɱ_]Bb/j= X;@ܓ4By3c\t-cF *8*snf;C#4;Ωvn?ۋo&DI6 +jP&J? |Qy >|^~:ً͛7o)EE aQڜ,ܐHpFcwQPQEn.6r`~جN~-M@^t gHX(:u(u0Bl&u:!Uz% Banvs׾0iHߌQS`dhw 25}}Uazd{EZihEzu.6Q?L_ZIY6:dد5AObGH@H-`BPKu2B:?I>My2H#} ) 3cInLA8E mOa^1໓j0`!M5BmSIF ýR YғH>qd0\eRneg/^0wx a֡K3pCztA2pX>riU ֖vt9vZP& rS9H@,},,BӭܙОpFd*B иLr@&W}oZ dmjށhbuJ j켟d N FnI&1CB)yYʎ х5y{,ˤ?T 5F6Ąhv.6//6No$ U{A#p qxl}L/v']^q^Xůt ea@xii {-n栵aDF'Xe uP?c 8I_i:閇+D#͛Pi@;fsu@D˚}u,m4NpUNلwod{7c_|œHteM}d cXՖh/?Z q7B ^[֔-wOjD<.Bd3 UԟIhgytiz'RU@eڛ6t Hog/ vv`CR՛s(}G 9%LF^=)cafsguwap|P%z!0CmɕT&,CqLq1d#z f2(gVHH)EsB 4HIG\ SJKvw]@#^`Y(~@uǙOS;'FLOgm_<7Ӫ9'(UjErQ>by}4<خ3%`[FT9fx9S 5*ƭr}3}0ݺ  %!@r[!?1jϠ.`;phxѺ?> Q9 .HՙtD>]Vv@GN4Y:Ņi:V ]be@ߦ_0 FI};{r38 t@iM!uBقi PLDMFF1Gx2Tzhy("k!N V 8439jn/x$+OnT~"Pgiڒ^1"a&9jFnbکZ q%"խF`r G&aP3-Ɨrђ= '4yn֩fh DT$,ڼts) .ڄIz4:Px|AK7A/x9t @shF@/Ժ1 CS蒶9ip q^>Sk:k}L'qd۝kaʔUa av. E) ^ yӹ6L%:- x`LO]c5~Ty}Ȩ``}c|S) =42Z%hbgKb7 r]lLI @m'RQ (ltq.dhьPJ Q9Eƹ<"!5sY]` ]Ql|GlҌBw7HLai`ߤ$5Իv(Ү~dbى$vOQ]Wv c^cmNVc|2ڸe~cthdnFt0N  @ |9k^P+ 7<ɁX;yN^J+BGuI5MIWʄ9իo|{Jbn=.˼LDe%X$WWrB9(*6ɁIeK864 DG^w[ſ=Y4B!_8Y&7H0^R_CːtE&eb0XR9_~U|T<nMkhO 7L,0qI#dkq2PPw}S*:alWϷ&AkhhtԐTYOrC;9(Nh8.")d&3bpkѭ^onuᓂ+ ":S1Ӳ(BsI bԆUɆkkbn@LQl,@v^+?'5OoT!qfJEG JIZLf p4Nߟ(0;5 ;wt;Lb*:+o6w":Wx  ,\Uq^ @ 菛_37|!H@|nژwYSmϤVցHlNN{!1y)@Z tج:89!ryRZGLk㠀t+\Tޠb2NLz3bBAP1$5I[׵vnw! U {Yv2"}N-2lH2z$@г:v:n]dDK{ZTu]oEP8QQY~4%2<[}<ɶs?LG+긄u{XG%:qy]`{xhN]IX0#CqX[ulK%!OBcQ$ [%GAuk-bƘ&b7|m4{2in'3ƶ4yh pfQbg IGT8QG{ɻwLVgg:]]%3M=}בVJ^4ehYߥMlߌ[. c# _ 50_';󽍒gчRP:ynr.Ň_/w`ͳn<))L1$qՉ#uGB7AHrrx ivJw9|Me(gԭmQ>_J 1:VO ƛCO큔 (<( =hȆD 745»pl]vV$9'c}jt]QótA_GU?8GЄ̬Tgh>c]7AU. 8ySC 4퇖hp<l⅏2! fl\:Wxq0oEd&q`fNj kOL?f_m]i2BDH1pTܫO{X^by Ir ]iQQZô^H'8L0)ZO> YbZrRPֆ<H%hׄ؎ 7. a%OSrtm>0=;OYu3oe)ڨSE 5= HWS֎i:{f{M#[ؾ2>q:Qa腧`H5&Ā=hP(!P B#=rG6/Xb_*^y#)Oaz(bzxyc1N,Е~j42^7xjj3bP9>)a/dAy B ;N;&nܐsa{!ߘ"g\SʣIzq;.:a8 Pdl[}6nR^hm>}\Y!T[r&Ǯ[Q}YwjHr^t)lQL =QTjo>_oNVuqFÄ Gx\i[櫫b{+P_6(FjٙN>@_iGx~!z~;WesQi)X@@dE93VjWXl88Dom sϐ*'6c;ixaW(Xc}z7i;ł65r^w戄Fgs <5u!eC꾇Zu{[c9yԨ>7COlFP]0]?1lЭPx!F;4}HS -loik3xs1ۋw0; *n#I:6k9 t,VnzB?;N4f#9Xm\[܁Ж ̑^I:)bll8 z;$skbF\0)҉:A$_}#m?39?,> ܴb-< ,: a־jfY,MJj~&&˖(}L ._,O,?1יJA9]We(Ȯ kA=ArtF11"_P|b9fnn c|,GEdL4?ݞ[zs_T~u u牟ID(WM9 )W˄0HF:m*\IkwsU|5h-#M3[UfWGH}U?=MO`^޳ )J#OFheUh3UJxAedǺbt(Bu^Fѿ6i Әd)0?λ&*:m$߄Gg_4R/$MVz$zyBuag>/$ Ӄ*LDeվTq l)}@Wq7vEq)Ŷ#!I\:4d,Cg(U5\!͇þѵM&lG(#n؎OLK5盛3X תЌ~'X0; m]yeP68X ۃB1hA1]y{ETk8y!< 3v淭¤̀>iy]59Y˼ߖor!q$pv)0# cGg|РɅX/֟:MI:dzb׉jQy]3ø;x(Yw=>CEV2ge_Yj:ۮ( Wm6 K(C?4KΟvٰ^ ܪuEI1ͅR'?!FE??^mN`n=ۼb_BSB))쏒7o YϾ ɺ U'fF9B#ˊ A7CBvLfw3nK!'\'d.nJ`;4]>$Wn'$P)>]eOP>wsp@*c {h:'JqlڂϊK3 K- e \LiٝkFk 9; xAz+Q w-UK/AFkes,anRn[V\. . OɯA1 5bFneLx,w_}g}GBХC';S# ![Fؑlz6yˤmn؁LC"V;ZzK<ġy!^A@Pj3_t$;Ij%U{>ݾ7 Jյ뫍ɀ|Z% )Dύ.!‹OכeB-t,P@Y^޾a92~J=:X .|4U)E߯VMYv,Giia&I Ƙ{^}wA3`=9 #S09Ԧ@&?!8$)2$k'V ! .m鏲os1mI: 1 }; я\Quw{z#S[l~ހV;`&6žC<1LsFi:e'q`)E[q`z1WAԠX=Ű:!:=mu9F8x ՀYkH֔e)@k;2e{uvB/f2$xh+E}luWֶp&5$xsc *^X =bQ结jP^ Cqal {^fOlPb 8ص8\{fȫCzXLhݳOEfJIV5r=3zagiv!< N/.m.υE!\h @3bsR4 ҟ츶i[( g{|־k MNF*{]F(<_\>9=M㵨Xծ1πP'c**]oc28ڮg>NR(! h3Ԧ^A"{'N8}023; P+8toϩC j-R+2woDL>>Z'n'rKdI+n Q`gn>YNCnj靖!09 0bع|'tq8=z`xH(__w #bJۻJg#)z]+j(vGdiߠ*'X$2'k;tYu-D}xOX#|0x>'?63;[@{Xb$싀ϷNRr~Go\ $BFc׏yz<{4yso(g9D4jL@q\t5c5B4/F.EmM]d1~T#B8D | J#&sFۻz {Zth'Ej塓7G'oؐt ewbs@]+4 mB FO\)f'Y 6Ƹz_cׅQaX۳$ k#mmno@e{bnGE9bg&SyL0~;qмn 6!"4M8|O@q?A$dDՐUt -ґZKgGEt(eGZ.+V:Gw¡_W(=jոi`pTV;fNr,1 9AעX{Xrڠ׃~nns;+֍vNG30tU3Ł"vKi'5aFI"@QpXhW6(J;ISMsƸ~mXdnuT% &?yc $>3MZwzmpSXY'GgKji) MӬ\\0pbs~ݟ갴մCGcGzP3Y]}^nv'E K‵\m[f;vBs܎r[Ǣ4 Wzw u,~"е_O\ TƊQ7NrZPK6m#\"V.QQg=9?t=.!̸he>^7-qEdJMyVk< b0#Ģ;J]VGu] LY5aq$%ܚ9d$b`aD8e4/p&눎-uaEDݠԌ[pHE(Cci f?3wJiWwӇ0 M6W3+e9it+-T$gWjCOC/| M|o\Zӯ6,gϞlCfd(E2mPZtcr`ӵ ˷w(>>Sl0V)B,m S*q P3MBm&P#MWzZ7O/SBfB (͈R/t\l~o |΢bv+E F*|!$o)fO2G8G[6pYi)eW.oWvُ_ܞ^#E_va-vo9+'mڒד.s5ڣr (p?t,XL3ZS)n ;L2EdAD"vgKW:QU1A-TVRl v{R#uXA?C,v-V{Hti%m[aB)^,X έShG3d4JM{Obt&A`wtY= hS&;r4A = ?&0 ~ݘB!I1EzMSw.ۛCM1ǻ ?|__Y?DC.ں”/B’ vc#X:(.T:%0Z.!4Hc^#fPPs mCNjIu(NLmgyЂK0VGS錾>֒磬Gnx}>'wKӜ;zzجC=sZA0# wEL0-M5S`"@Y"@]7 ך1u3T]siA eϮpv5#mz@]Ko F"P*ot}џ,-LCЬD4zpih54!5wNWx OH-^&FWy5AL;'FgkHd{CLqn.Am OoU*H"ya!qt( 6Ȑk7qK=qD90l'3dc"/ m ND┡cmN]?MSYia70?:-i@5jY͓KtKV **>P,_xvO^IE_VwW4=c0xB?WI!rjYF*ZmƙvzBlIMrHSiXMxd_^w2L`^73qEڲAno=-ыnzc#Ñ)*r5-x9'-}5 .VaFVF!݇}d xEGtuCtV=x+ɲj41EgTG_^n.Ͼz92.dg7ظFy1-*BYXeN./wڿi:l'c!RG!"_w^1ܮCi0B{vE8 uwD ^w~䭽^0iw59$_oc_4Aֲ Tp3=O vfQi_}DFhfga#\lߛվml6 VlmQ ETkǕbZsTFaGjFv.7V!b8!fNb+Zc/Gd}0_jA=#`8ųƸQ/I( g}v&5~qlO|h:Z *c@J"Qz)iV2dԬ]=b-\m~@mZmWr\7dL-Ce39+|> s *&=C SW,&iJ4]RD5 o3f.}Alf~B/vNDnIXKk#&7}2~R?{ڷ47Smo,ðuye)&o~2Sa1$\.KF@CC] ::]8tŸJk0^ݧ q3VH?(ۘەyGiaCcsFQ79\rt+VQ^#q'w$ne7ϒ#JjZd»b2 /whheRC#ldǽФ.VoWa>o~;&(1\=]Uǚ3պ6h=iѥmU+[ʝ9& 2pO(Ɋ=7K]tڎUKy7'@C#΃鲦m~mnbBdGlxdN+y)oô8i8T|[AEgb{}{޾1[UnNPZ_՛߶W7~P:߷K2υ#DI'Q9TIL&jнdxOMv^&#`sJ3urZtlfAm׬/WYrh:M2KᏉ1²JXE潝֡P}Ͼ Gy? 0% f4sXij ۳c]pt$}k]MwA"gsߖyxwbs2m*OWMP E&2(~֡Of15"CjC(+ lKSz`j}۲OX~FT襟{7t4+]#òa|{wqKJ5 dVV"nt]2VE xX. .0Ҧ6Ω +EZ;P4D x݈$^ - 扷u?[ya^.j핎:yhE$ H]VJ cq!* aQfsӦ|pskX@Ew̘XBFmuǁQl!G4 <1odGڑo<"x=gfwsɥsqI,.j7Qu un;"IHgtu'h04La8xeWzV}:݌PLe^F9rN]ag|Xj3̺"i|/Mꡭ؎uZPoͩ60D^ǩzdF!`.7'.ڻ9x2(7 xK׏%9Y=}Sdhw{lyVl/耺\^|#W'TE[Z ,Rnն z_O/8[&qP<+oizre#& 9PGf+eֳDu۞^2N%Bna.Ĺuq E፧VV2"XGp P?FdrQ{H%16m~} JzKw]X>P#! k戰΀b߯~NWd ~T 26 ܌+`)rAW7!&$rEM_~UQK̼͙-%si =w鑢=5WH-+c]qQw槑3*SC?22sglBudCqoXCgd [WltCRuT]$&5 rlWg )o0T]˺t> Z3+c3U/)\`|{w7H풭FoHv徃[)x]o| c&8 3ʑ)vLk1:-3G,/pNS`;8'a)Лt@Zϕ!1}u<}Ei8 滋)s62D[>4S*@!Po}xLo_! 1aP ߀&9 >դ> @V/äh\pݎ=)cA\g!=,M{8zh tZֺ0?`~e#hj`eEQtl_eELq~9UlvsXz^b 5舝5Jv9@da2dIǵIM`\}눟1VWƕiHh42.枇;3Ų?nN sA-j,z;shr)MǍN`[Shzn(1*YTi0xŴpx AhxLJH]+[an/WrɂreUpFsqɛxd;)HUj!x rO`܉dx̦JO>F^C9}"TiS/]`4,:tUk ˻"K;d(~wrB&]xqưzisuisw@c1̊RQ\kQ]CѮBJcW!gQwz2™2ѭKsm61iwܽGW!I;r#>٬̷ %;yj@ n+`:+BJ7_..=b6Im?  V=S8վ!;=*FLQ3#t밾N.#jIs07|u5"dо̼0g,esIṚ pN.I6|zex mf%J٭==@FE4vُ7eb~ou q1!xJP+#[f{.Y(#ڦӕC̝\׭wH4+q;>ye]K/DU,7?>3J{٩٦J=ӮiE+Yd~5 e+1C_^E tՃZ%__$260  ?sZ˙[]9PqhcaJm!\\?V{Y %2iGI+0q2߶YY8L=0#-A+;sI]+D*6<ܰ\0"pmVy`5=Yakw& !N,AC*s<| ^(N[i=@`5 UC3A^C B?7@)ml8"t!p${o/~*|5@ASz^$הiϘ{n`oO_ J }+kt6(DfA0(>w葳iH\pvEjiꆮ)Xvpc7w7P+`Q7қ7.l}{~sA⯠mֶf * h&ꠍ̬hϙlq,pfT˚HIٯIƻlh(aڍbAWҟf=~bj&8'~n;G:pY:>3( \a 诵Ї#4dRNRGw.Gu`<^h׭e>&ϐ9ch=ٷm7*"suoߚL{ywuaوi'0_Sg-X x_Ÿ|XZFє>GZbD5۷C6URVH"Thou>njZUGL:g߿^mK>]1ѐd}XՃ&WAJ?:"NCa&@?>옯CV;諜f|N&ZA0e*(L d[S/ 1e̓^ݺ5="א2E& /7vǤ&+ 3IO h1C)Pc|#q6o QAdi& wdQB"|pnԍ6hj7ii_^lZ >~AﷷckGs!K}J&=ڙ/ANC4U:1T raݩs 3zQUNAGuZBN焹3ڙzu֭.&˯jGuGwp3hpѸV=xzwhkAN:0,[y5a |\=4.luAgKyH-;=*=lh2BLz@+DsCK[Gq^TT*BsIxfYf#1 9777' d( HsӒB ޶}ئk$VNWn!3!f@k1_ (Q.b  5Ges8ݯ*&$MpN)G2VB ?]/s_VԪ"PNQ<XQx".ZMI&?ՍGbDsJNh\ (:za\,r\A{ɟ"O{ko8t]CP#sD!&mUms.k9% Cw F1bvD;LJwcNzi&}A?/)RJKYo<~V Kz#6&∎ i< ݂s vTLoin2u(:=/.6_\'$Mbh.K޹ bZv=y83S @IzjR2$~Gz/7f;_u;F#U##}؀wmym߅ReՂB=,MfY#B>+G_Y7miP9$ɠ0+uE_l ]>^iֿWxP&QG,Z42YIw H0q$).$?Bg&/muȐV"g]Oo-eTs{ڬܗ%k)>mpƠlnb%vR HoC /(4}uKX/BͣoEi" g. $zDNr?]Iu/sS/b⯤ю F/ۇfG|BsDN%:[3j7!40&~tjH9SDIEqefZc 9 4dFޯúʺʾ _8ʠue^Cǻ&[_>y;L}ё?þfD:tCC %}G@$:NM 9dGzFO&`hW'n8,3L#ux <4Gh $&ҭIB>n|(h\ސ$%74zO_}:N7AS|: ~ eƴ*WixߟVNA Ng G޴"zM~)SM$pɰz{ #t;-06c= 65P@5+AԿ ^|0v&c4~3qߌ0'oT^bT>fh%r6 8:=+qi^)!P@O]E~oTˑR|e<wP1I/c SsԂ|QtG.nWҶx<86¢/u}fJg> ,ge! 4Jk04΅ 6l?>6IFgrMgA#W>7M!*Q؞=2cuWNRI>ط,kD,Snʧc+O=˖4$/wB:C̹D2@7_Fs!akױ)k8|,5yv-6zwՏK 3 VoHz&yO,$⢎.mӠl$=VU:M֙p "Iv=*Zߌ Mxr w@Of6vN'':65!Gg7(1LD-O P? bBeGE+6ؑ-R0.lMӘ?3MEž= .ͤmJ PPD72&c^k7bu~:ejꌊ>a BPda,Lf)p P>$+ Eİ{`̢kB4۟|7>ly+2 ?Wl6ؾ"s#'blvPn\(}7r?t fRhrH;ʽѳ:ڻSe8YCȳ0ؓ(:<2Z -9Z[>H.vNh} Z92 gTw۫~y-C4uEAQB۰j׽xB!%(G7NZ`LdJ[bڿ_~؝4un0AiXkȝc>B=ǽS'k)DiyKC6qBkڣҞa']k,tOvGyV}u's %+f%[< GLNN$5"y lc{{2u6NiziKCٔVV0S{R=|^w(!Y$@1iG>0[afQG3<1>ETe*cmJjm=%Pr=wOe/?ÔaaXFTd&悷s,>(&PYW@Yڸ~I^/- E_/ZHUѻUҜ勍B#5B?b*[xRU P0otGα4 `{߿:;}0ybDEiE6o9΂5JkWkEgt SeF˃]'6im&Ogt/8e0,=cv{'խ EmaXL"IY"Tn]T{ $e5aLDq4HV7n6_,nHOš-BH3 7עw-:_N bF9;nJv;(?QI8faZ!$Yͼ4"OR"=NM.E}rcWQ^T-CO5׏cPUY&.]UAg"V/n":S 绶|:9ɹ^mO>139_@@&W$Eh7ώP"CUB7 5มY]_ۨ?U e$xlшDǸ]tL|,g4&=ĨZ\B-ޢoL0Л`cC1dIy'7~f~{! iw>nqj]2:5Mkm#0рV ejY矖2ݩK44*a'A( vwjiϰ=~}sنj/ ?dg&$ԯtbZxQw8/ ~BG`JrCэo`zVyQ[A! ЀB҇Aob`\WfD e:fvAbjLoUVn>/ȗ1!L ":򍟋k,(}y|2o B5-'+ ?@VN ЮG٬w(,2<72'L|^ǯcƥCάV' ȈzK.oʛW?tH)Z/ U\պ)~1g7'bdcYU'< !ҷ6wC"[.D]c5i孟Hks {f/98j476<{+G6ւkepsTAf}>oLפPBɄ8bjNz@}G^8v c=H$Kg& b?+›֡/؝=gӆ ВwBI6EOn)]#xzSwW6fy Kgt!d*l$cJu,! sʓ7i/Y*+(S ȥa% eBs5Ɍ=Reo;g'\60 5L.kdh:P>ΓFD#.' E yylFON{>"TΨ-E>g:Ŏ _fQ~{m 1Coܚ)bbjnjaQ3TmLnԿ]MËr_=V>Qe"9tGӣazgauB<9O[St ~5u< =nW0 =u| ?xД=¸ziCF&linArUK>ERGm\?QLzSGozgw628x{컛@ qFHxNq\nO Oq%JwEoRNqbs}bw~G8@/dBġK߶3 ٍ>A*6;G=Oo=}+hORiShСؒmH'ucG3h -wWFOVRTE @4{rMK~]O}T֔Gkt"viX={>a䞲a"'0 p~>yv@.:d~_(@WחI +<ôؖ5mھ_|~ǖZk4G{j48:9Fn;8abW^ <k4,O4f~;e8R'PO yT&-CKBݱ1Vk]Y3"vT0 #rk@_Imh箖:olmqjd{H!ҖM$iQ`t8P.c{:h9!굧Y0‹}–W?$tfί&h5ٿMo}]uN8sǨ?6) Z|՛g=1go~|g?|seo?fcK {"Z{PXԷ)aTjg"e7(ws%u$99=׌>3V`D7Ky 4L-&螖K@8 MDldq޻W?СQɞ`KZNS1Ą|3O*֤{z:B0*{otq^WH z2owm;ʦl?#qM658wu[Zd1G@DP6+%s[T=!PQQ '8(!^/~ )+Dm>@+G'E qJvv-z3P+A(o15%6ouu)i'OP.Srv~P"I5D٥8@}LY^UWWs, HlLFTdS[VVg8!IY䮬Y9굑MtIa zu͚v4 >ebL/b }bhg<(ðVUQhcq$ٛcP^}ܐN4I ,j0kh[GdtFͷvs#bI;%MLڶQ'9NWt{B[5LX0l;m h?hY^FBYh&.ZW?%̡$. ?wwޟbh4툱&.V%2`Q~cvF0T tZ8VK̖C*o?KYN(HF6k>s,Bko=e}ʦ*f=!>P>\TӼ{ #7-b=t%@#MSh{e줝ф]Q'S.􄇍nU/bOλa6jYyrghi@6V,8 #*{&@r~ ]5"j' Q\Z1Nr37amEjG3C }9(Kfh@J~8Vavi6n &S rLf^#(0>ȺP ʆ>0&Id=[;4 w7\eEj4j7[Y7Vq` C܁DaX6\Q:߾B4g'z0D'ةdWy)S/g'R@=K8 Fu{kD4*e<խgw[|;sv2})\T]U[3&])S)3˼CIrS&Zϖ/rIy7QI{D-Ps6 H3V?LM"YQ\޸*@&gre\tWUFtHvXv嶬]*T >j_zseJѧҮ֡v&eݕR;x^oCƦ:z71 heQKf ($@o)*3tM#Q .%?r/HGElK]ɢfY\ov}e{;CQkAk ӷ~! _N\LX)=,,*K4O#0ZM}9u2}r{ O3z&8l)C^IF^@krANZ9pBszM9|%N "!+_F0¯ G Y*θ nsq`n3`DrDx^trxYX`!9HYh41QB:v7'*]F] ފLҝ,=@+^WE>ü#Eyۤ hBF>7,헳uoPȽـrduFcoc_A;dzY{8\.9LLknvy : HuξyQ#=N\`pFQc{-S:=˻2,9ndgi&i=5~lXUXүWvqun<'{ [W`7~o~ga"Q15!zV:7-d?YDM L%lJZvѸ ?uCOG;)Y24zp}ZnϠX`vy+{NfAڄ1pi+/Y1p/DϨ<)i2q?lo-qusKk(hfR+0ToAfY4NCIa?s/FdWE_RqvMEuz4BIx=f@5kK J}$48,ھKr4^85[ko9~hņ!]- \xzV(-`Y9g}AКD+_29 IL+2RBSڮƮ_2|A8'3gSt.c)%LgeS=#`ț,\k' `"]gC Uɗ`Ϸ67 蛻;. In 3u 5 aP{zY:-KO[:9f ƱKꘪSg#޻_:'bb6SC@064c)wPR.7[/V:0n1r{6T+fr/o2c DlfoEV쏥rR#n)$|S ʲ1]N# c~Ms0~GMۜFQ7lUc`LwdIŊ79析ĮWgϮwxJs\꩸GGc5Nc-%0,CsUO) O۸P)up >"s9("b"@\"xO:-v'ڎ77vvrߘw tFu:L0.~puߑyF>j se slE}G ;In]+|[_J3Gu`D $f{2y A{> *.bVTrWV} i֞|R<)M( BGTlvhF/ "i[{wz\XSL8WdAd-Cw"r9t9̳Bg@BG[̥FP-HCWaYh2!ZU؜z>4,ΨY N r)0(3I>tl]\b;ؑp )yAlK~9,GBdC<cG[_b{ i%M7 a^^$$њ0ĉ<H:I;sio8&@ik c0z*?${ڮY783"ALW4C{A Dhj{2dm${ָ:H0r  نS1i!D/'LznǨ5\\4( ! !4^S(+-}BΊH`ZTp[K ^;N9'9 mNH5TOkF/(u~ua(Deɺ!P@5JBA^mvIgaҶP+hbU#ў DZ|Yb1>Ty`1J#3ɣ(죽r<i23(w;aGc {^w34 AYuƒ ;~:w7= 35= Rq{t'Zì ҵ6e)w=yQ$-w*ou%{ HG/hdSǢ?i?SfBDE]i\,P xn,[Ko$f2 306!n1ҋGo[6l&fa%:\` cW>|N8ȩ[q1(5 54Pl؝za>bȝ&(‰KUlac:fg#BO"`RH 3 6dR(,@1̲%u6A3##sӰ֦rEid;8fu敐gI~ٍwFJU>n.?o>\1gvP-CRK REqm/J_tEY3mڜ̰2 3Y CH>[&t_?'(F jކ+)P践2,yЙ8bM,5l3 l8劺ձI` ~t0M#=vh@0OE{rcG1G<r:;@MGWDd8CH'm5Zv8=ZHdS'E)2FͱyhJAn2D}il){GcahV@i{ƪ?eI#K[dC4YHs$@  YU3GBD8*.$//pz{3h[DJwln^`vQ]_E#=j5S:ӢG<AP:{X]{׮G}0Fi){TLNPBؔq3R葤Z~8Ρ^ 65?F#oLY̱ݜIFI$#KuLCHN,9f`7EBr;p"l]962~4zxbۥgZ&>15C.[{-~UƒO+FAPځs)EA9˦F|XhD0ۦPd = Lk ^R~潜Ǩ3 Pw` On\|^oH+/Vqr8o LկeuhW29dWyiytb|6zC6%L՛b裈("mL:/܏Esal-du,sXߺr<2疃A1 " MSn„&}"atL-F`O$က ]|E"ꃯǼ:mіy-fqlG0#-jޤ$ltWMyAŴ[P7 $Enp{xdTh\w*݄T NF\kKcq\zJ2Ӄj@BӨ~w|8Z8I4)Z SΊk}0.zɨ eѺ ؘ:zMFX cvw]e򇹔b|t2Y0sdž[*ٿ#{ytFaxlD /$0,ׂMņ*͊ U ioadA(9L '1-2^]]lo.OΓ&/ڸ+x)Tз]A6Pe!fUFAfQ Ϸ7y}JK6MM@vVb[s#ΦՄʡbʶMo6SZ ɀAmyE01ekv7 (Vpm1LL:Ց֘0-ӏKI%J f"G Ӎ60"R4-E9ƷYh.cHF0}v=JZ. &S,ףao';}z}~\ro7KKk`svCϡZp!Øj{!U!gO-_?L݄c^6ksU9 M7CH޹>BTOjkPkc%$0B)H3kFbSyV wۋP!(JO4B__>V׮?.D6~oo" ̐= x()$|{w +赭) Y=_ ? Ʈ:I[p}y%LY%eH]IY?҅Ӈuj5o# :9բm 4+zlbۃd6&qI`~8{hxs;п3[;obhešӣHS'FOa6>dnwĤeu@$-Io.Db$X=Ƀ#a 7|T86Sd/I3p.ؠ w!s֎0jk dIKF{jrdPW7.b&b=,\LI=㣽-z+aC;yU*IK&n:K$&0|q:<ڐ?xzhNO2,Bs j?-0Ck h#84ng rYW||} ˗oH^y]gxLK2҅ؐo6KqQL%SRC*cٌ8Qhy{%uGxXҡq`v֍ڶ_}=‘ˡx^RǻLfn4c -FP멶nۻ S{jIQ48K2姛W\J?gqGeM%6x}w5. ~*,.unPt&4D`Aq#~BG76ӆ6r4ed*ܑ̋=4"[z C<=\)0gىwrۮw'Z oi`3L4 N*J:b>?w0Mـ_Xn}{5LS+e+r`[FdS]3Tor!e Aϣ̅6W23*y~Hx+{#MM0Fu7 5-u04?y}jOyzuMy9{}Ur{wF܂3D'/ۧ0_D)5z5BL٧ͥ^{a=:];T!HЪk.P\;x$(9@0U#:g,Y|d_'ޮByxP[j!`yhFYIWE'#qTti^oniNMcll],@@m/)f_Nf!x)CS4J} : 5jU_,_}H8n 5wY ]uԄr}sP5!v?شxq!f="&6WY&V5Zߟ߽tܗX:Ю7hBɂ\4aujiq &47#lSz-έJ@Kjjf?+ʓ21tuv(Y)epp7hMC7slOS;s\Z!C6R}vn3VTBkQ邅/N$'zM7۩.P{7%rw'HZ?XZ=SMh)u4"G {:vP;] ﮷߇d–2w0( uc3 Z=BŬ'zەbPG`[PFEXrqr]f2iԆլpeHz`Sm۝=RAN00jd`RCpvU|=$!S m]0IL.sA! hwIb/؆=^7~FcXM4fb-ij Mxi+" /)ȃf%C[N<0W?lͽ?=YЇ!xc3lVsrb>B۱-'ܓiBݔfՠ%Q!24䇎~.y5 "k|/i(;Ш(# PRY3(~Zs>hyDR 8O11dD@{$>AUH[t.<{IEOB ^Cÿ 쟮ɭP Rm*"~nR1w/(U-w]I& vIk,aVڕ0Ղx儮^fQR{ = ;D#Ϲr"omܴIdv)@LU t2 ""FT;wQƌ\P`(:d.q.5/tlX< ݟifr MW aubW3%Am] 82ܼ۟^eqۏ QˀX#"˃ܵP*P6sErSחھA~~{ δvyBi!kL0:7/kl_hj ]$x u,H;hCNciygl}d=@jhϛu5_m&T^"c8{SL${gͧ =dG{#hBfUBވKLE~ݏѓQ1p}fI T~1ADLP0ṞqGL)V?3Q~̜ @8']Qw# $"%Nu &zyPy <ۍKn~Ζdqs 0.{r{c$/nCKVN>Œ-foԃ }r AIZ39Frs!e4lzIN^%KE_jz&RھL.t'7%}3BM [`WQ,䦸:˜w{%98 ܏zz onWI&vbYǩqGD&7FbD!ckWD̠b R]2}9צfMf~iZ ,tmG6qV5x6@! i-L.YB])$4m=<5]りgmǓR؄zy&8JSV#EOb}u\ r"0Fc׭diJ :yzno?E#Na٧;{KC7EXKMۯ󂹽TzYLm?0>> YO+~LO>сA\2 (g )+(9V9~t*k2O'fxtJ=DqSMbE?ô'WjyX5# cT\RTt6 LO߾uq$쭝H_2 !{{7nIDž <qF3A!Ywqe/\> ,]L&Fx|G#YIퟆ}{9au5Yg,Dt$:cC@'>~Q*1aD0Sqn t{*ؚKf[JdˍѴ>?P=hp7Z¿rbJ2g5~ӄkEE_#}RKQO)5҄hxi C- o'J5zk 0uw옔IsBA9cʲ$\ J&?tp,]aCZp3^ήg_cj₉D=k˶1+?s"cc 7{9^W2Pٯi5zzr^hD7Xa8)F˅6B u /'=M "G& Q@ELba+)%}$/~>}rVܴaLMxDFy6T靺fNt{YhC񽓵IqnbFfO^|{}=n_<M DFdȈq9,%9|oJ&azzRs} ̸ΣF`^mkf T|.E급rSg6A ԫ09ȃ%ȂG}m^?uĪnH(2pkV'7b3=+U00iC I t6p ͖Ѧ\oݖ\lA鳑 ʔ;88"ZBvSoI=}X  ،L@<b/8Z@ɢl>ɩ=\j3$*b@6/P~~jwH($Ckd]mhIQk<7K3H2%|P}[Pݺ=ƄGg.u+5:b!s7u01v<(ʣS$Zf`#ȩip5ydtx@|2"xvB0z )˃0"ݘ-s A0AMTސ5aбIHO~\J>XeA5ɡk-Y%j Ճm*ڛEitөejHJqJF=X;_?Fs|Mfj-WGG;zYNOO-9)>mH>./]¨]PmPgzuw}k#vtZr;5_:R]̝ޜ53dvGf+Pw5)D3E;5 MS&9jR{mSLh:Hs11ix^vhvi} DbY{tEZos[tY#WlʴZ]'ddXnZyLf@uʨ]kO wa4z6ʋ繷ZHm5֊\v7-KmWb{di>29|hʀmyiM#]HB=:[IX޾;w/˻w XE{;YJ25 ]呜KUzXz]+3>ȃa}}rh`Pɲ}Fs ]Uy BT[^Ls›uÚOű^&Z`]2Q:WM%Ni6MWƩ@ dFsf!Jғ Fa!p'2 w;eO={W=Da\X^t ߏv;yVyQԂn{r_MOP=iSǝ2G$ @'"6q~A#ǻym^0vˊ#̬A )xCN]+PHK #׷S[#}_=[>;jb uk۬i[#tCŅAt?Tw1m8^ҋ& gf&D|2;f!ѓ}V>t-hrx5b(ޅ#?+KXYA<υN)X6Y6*"bϬD.BTueIǁߏ`,馮~Z 6MXS-D Y顧3IWB{m+=8;tL;O(3rMמޮسAoLPqa[ (I(mg]GM-0i:# A06fa)kjzɽN59#/}99boOvL1ZCվt]J>*Q]56UP%Ot M%[LguV~x`n gő3xf ؑ8ax]ȰNC?i\u  Gl=OLTNQNUiՖcD]i4hm'}:ͧ y;ųsn%4Ą]@(ZVzพsC}<@y|?ɸNưj=]k̃~m7 ͢}vycr|Ȝ]OB-hLԮ;W~<p̮`hi]! Cj_NvM| -, j،ɗ^t]xc9 x%d~աpaENx lG Ƿk}ȍgTTHnX.ML /L*@n?D`6%_r DkEqљ B 94|9\rys2ykЊ3gLχR'["vOebmIOm>AܭN~;F$ͨENNwL$5am>[I,F Q֐xJהVy@7 =@ 1TrwDž "ŬMĠ U.q7_۔7wN!д{\ I>fix/hz,f'.zN &xF 9u|Ҿ&d,<`4Cp5)Dh%XLL 8Ba s_SdA>.#N0A+hbDi,sbVǯq4ՉF";0Erx ĨVcm@CS.0p]R9cX\.QѹN7 o|IR{/=X#;~96 &!D|*-mIٷ ~鴽~|O@X"TvTivYK?aHx82*Fh7bݐ#ޢ?.P ezkL䵅S_n #mv{2Kk8;tTzt=1/Ĥ$Xc s613v_0򲷖Os<ۑF`#$ 4ů-O: P kڧv=IBpIۻc5W}D_ Q3 ȩ[2bDɴݝ1tma_/yl~ ^nFɳW}  Q>PcKnZ0]=aZ_%Ed} _#UB@ޠ{'@S};ȼ3~jPP l?70, >)p}\1AZLnC.`tϞ!f <a `eTuf輎Uc_F=ʫ")+Hwr[W>"ZxGۡ)={LcTi#͉:37۷l-m+ukO:#q[D6"tML`Q\\fs>fi:B%ӽ*X7Vh^g~G~>qeʥ 5(#z=};yӉ z9 RGr٤Mk:ɬť&S1H|աAz#W-]M/Po "Ҝk!z{ y@MGBa  #-Ox rSXpZVW"/0 k}pb t%Z=i:x?0S<]\1>wxj᪖=ke{'e[WG]XqNh%^\@t^ӲYsNڦko!u {2+; ^6 31ǃ`=(ᝮ.܆jƃBk6?wv?+q?lĿ'j(KmuNɴm2ַQSr@z暉\.7 i1I;@H֓2)gf{wMz!d1iOmjyCrPj[ECߟ_YB݇cX2vL}b՛o1a`mڒQ߈DF~v`) PP, #-R(OW}C f FvN]f4H3aY~h튂"oAtTwCWO6qyby㸪b,4]1ThdɳW?GKRyCEwLΎzM'%ls.7{EJE>PJ\OucnM3ba5s9pMҧy0ᅢ-Ȋ A5ґ^TM =yl7#kR{"==~.6&Y䮋Jq}]=ߡX?x]5SѸ:'Lyq9Y۪M7sNʵhB,r+H`()&qLnF'1dK)hC!Av o֟|Ҫ mSaE]yc]MisA, }.Q,[Xq, oi₉Sbe PsC`)|?5%TJՏh}8Mѹl;pmfdjPO) _ws?*O 0#2wNXi$Ok8lX`1wtMp9q&Xgƕȉ'TFy xf|2Yz #[f ۹%#Dc Nc-,p1qF"vH[CcfNW(6#tfHɟ+F-zÞ(]z/( 7xV%׻>uV"O&W9gX(_P<@<hU}&^fIa3|'nD~pOPh2m$#ru/FD Q6.]y7a]i_GR`8xon,umf%*P4 (%!;"[)F?D4s .yjcM$ wH*~qKQ[Ίԫo3?+FR%;Y #]3.FK%MrV2: !X0; ={&~~_˄bpYr(c^r@ IF{Kf9EX Kasmw CIII~Ɇuo453s ۏ}1*㷵5xl" +,ξܴ^bCgSТSaL>V{8yU9</́0ۤC5"'ɴe 辈{YrZ\ @/$9IH F͝n'g(Ҡcl<&wPlWM j,+jF&dv&b 0 v0z]"XG22u߹7ndLfSo/6csvO]ff~7$kT:P1?5~A@FC:6V)b6=|OK'VM0r{7Z^Pnf䧻[jvcU&M@=됾hq #{;D<}jbU^Hz '=#6c.q+vZH,<:5_ݠk2n76״Ҟ u]Wog3v(f4ćD֗3c緻́9x`m_ @kthʂ+v+fp؜6:y݆E#VSa3SԧL/߾F2 .=2 jWMdvLqA\_lWh,h%GEʞW|f8)(lP@p$+̺-z{gAW8$љ@]XsYڃv Tg!K=7K87ʝZ>J$v.Bz:S-*6"tsif,})Bu'3ؠP )2bI:_Y׷65ȏh@[p4sc+m|-ϠQ#zXJ[@^JaiE8~NlC(ٟPX1!4}KVP2)'-?QXgĺ=;7ʩs@r\ Մ0^ǞH4%#d`t^wik6~*B\n*c]$.\%cN>p%˞>H֡W ,~{pUB~bwpgOS{; 656 >r`}F_/؍i Q]Mf"t0fmMrؾw8.v:NU ;ݼ?]&*dDz9Q.zeÐYKv =lv:䋛aՖ!_ǹ~XA| i/[( :NkZ(ǩM+:Hzz^HWKytLt89fS_,&B G(}[zm%C" W T^?u긪gD_йz~ԅxW'xD85,YEبַMF I6`B =C!.vCX*yw fuF69CZ)d@h~JS!#K 4+ R;[D97K@[Jfz0`dh/M:ƣ;sU68- 7hAPu HmI)nv#J'[u" Nu?L Z\@^b$'-o}MRYi* &$c=>3c ;VLw3SA*icdv3h9~jLtZ6TWLP.ߋȳf¨~@{`}tNJfZLBOCk֝2rG#Sa;V]ٴ J[ mrx3=9IԱH-h:[ݽEzT[ !W )30ڮOuռ^nZ۾CrgwWiwAH;g6YaIgGw06pWnb}s4 (A+(,;` ^ۃ2Y1U\Vmh1 /(ruO߬3aLW5rHyoy~\|X/["-3'@R}IFh> YD vsV7'4TB B2GR,R.7^G)m@ɇEkq̑ w]`=xeN1PpVu3Z 襴iyS+~}}񘇡.EǨ7: Nyg'%nIZnQq 5쿹gX6BLǡ xR23ЙH(ٗoY2 }_4uHԐlT+[x]18]8iZjtxU03ӴaА̸L |l+ '/vC|^ZTbCjj4-_wnKOznEMItEd6qYےy\/2̎;g" DG~nbDHO.W<(ӴՏNm>9LEAI-x`_KLr"s}W Jslb[2[`WjyXj7LB9s[p=1lwsDfR58S}ڵW |vhR(K"cu@=2QDPFZjXJ:xqT!'G))ΛCFt6(b 3'*YwMfp`֙:F/HRi/Ѣ(T0'*';x Y~ߢj(dqNtP'> Xy 뇑cn?{`:Tq%w+H=̟Z^tUh&믐ƶn68JɿynVo?ϒ+\>dRi\W?:)2mH S{hWݕQEN~ޞ[ۯ[^9e%}wVaPl{uj/MR+iPmF"nSVթ;=BR09<`@,H!F_9?pЎ2GNuQͣE _"Kj ޑO P I}Z!~ɼe䧻 JoƣШ'-5C0{m";IQ"scE+ik&^M۝:~x;A #jKKqCQ>NԘ#GХi8uc2@Ȟ˕ޗQgh7-0jIlwa1qX6 ry,"'қ045]1f0TwJRKluIgC|wv-rzzn6X"V WM>0ۑGang7vK6y,P{LGFḫՏw۽oC9 c& XH)+Ӡo"yVH@W%FkB+ h\Q(^JSa_a2Φqx UeTN!My05C=2M[3gJ10634p5Q d-!5_W_lӾ[}֤ M,>^C+Xݟ-͵"2cƔ1ȮQ",IYyDV~GG)G9b,n5AUdNi<d̫$xbS%rhwiĴ^$QQ^LԱk#iuyPu$cbo~P(]_sEyex66v+]m/oO^|f,}D@='׏XLPYwId4za1u\h)5 ϛ~Ѻ)^8 $ 赔y]=kOc<,R3;o+LLJ!nwd⛮yȂAUd- Qd9S;o?0К:9_ :BwȖV.s72P7&A&"H'0z4W^h̡}"_{Xi$3; \yLGRI1m#rç2 cD// kb-iHgn2w~OyGy~ӍI7nANЭ C(Z1yI_- w.LW ،yϑ`WP~u2!˨.Z;i&ڎn}$;ƆNe٪{:6A #x{22:xUOz4аLt>ߡuPI[Nؓq#} lwc ynLԈuЎ&wɳx׻e4ft?&D0+"ЉtmDGM流۳O/w'ޔE_-=: /S UA{b>8꟯k])z3VѮ dz{/]uzv[ b]QF: Azφ˦0z/-fF|{sc -4ǬE> 9 yݬm;u^lOOKq5fY#6 1Ճ8`&z}j}z04g&f*D񃣚ŁUm>y~G0뽅q=uD*5m,龻\^F٩Dр+ZǑik\rő̟8Q6W MbZui]qWS-47[HBO4 5%Ra!u tʔQC -!Ĉ=M@uLz*\lAoZ否u6ۍ ,k?N845&xT>*Mp:\kָ\?oΠ ~&=H燗%ӧNge3bzI#nHLP\:KQ'NqXqp)@H|yF{XO~݁/2s36<@T$[1j}$⚧s۫A?xmej-m\`Vl?})|ڮWI{@~t!o[208- C\5mj.ýzkgI!SOC1˴˝bL [@-qj0ҝ\U㻓7/3Lm2D'؋@JWc˄b,EoMH}й:hd[yci  5- :@p^2[&rZЈ6da!X`+>heΆ7q^vb}VtTTLIFTfQ,/:ZΩX17-?:ĥmǹF8_hF/@9H#o1]`:D8rpODAǤ$ϦB!E#15zεhcwI~un+h6N)k*>c>\j?}w)(DZ a%_RZ2RHћ[S D1TV#ϗ,6揧&Z8W=Ԧ1RgRRлP}՟Pey=̽L>% OXc~Q?ņˢIǷL4Pz-$B/'hBIDTQ.\M9~*Z/HZ\3Cv+>=? (iË,&1.|T{$VأjH~=贩NɲU?]\{8-#]2r89F"9ԕF:i[rɇ652m39fJIG|bu]kwP:73kWzT4[k ^f$QC4ZPq?+1yT3a.̞TNpzjg]K 麃ϓ'(9`DH E7C'Guu-9{ЅL%AQ'EjG/ RǒwןQD= Sd2(~=;D\&(BdM*`_j,u޶ܔ)odUT'lF~4nT1\ &%N;rǭ%@ SD8-%%8nu&x`(=B^5l@>I|P=oul4̯Oszɂ tPubD}W ո6jnd1kVh~!=sz_tχxʜ#Ad9eo776Dj"BA`i95jش.cEĮ)Yz V/'oo b.!,h8A^Kfƈ6VḆI5%&&Gz>xw.vs+/(dV) (z#"Y1>ƒ-ߟ"EVägǼIn^\{ݱ"AJ!Bsޤ)9\Q@uˏG)A.+!uaUу6S#z#,LN$lr 6;Ak'(e^-:[\FA#57m.'1jZ__,z˝<[;&"\(cB!l!/ZcN.jTpbxkEXy(?~GqˤN5%}›isD Bz5m騘e}YQH+ӏᜌk5]4H̍2wpUrRZ `PJ(Rl\˴ZVFI"xPki^r=dM&y7R0;4mFyzfGOu|V'b'񐼜|}3i˔EU뙝0UtqA~ԣ@ǡ~X;՝t&'2-dZ68t#P g4smrkfV0LC:^yM8= 0SBtR; 9}g j:xZV,JNۧd)~x-ޗf 7jAf]{,.lOf L&s)2)`C-Ax?^e{ny“46Ϻ, M6unw=3{iRrl+}胇CaqOh3]>W8NHdzk)rshΦ]|R-moϫYO %z77M dެmbf` YȐͦ>+SVg]|RiV7^W<|kPQ#l\02x :0hE;>SеGTx}T6}jt6:о\ jTr|EQc 4f" Ud{`ЎG«y+zdi`a/6$X09%$xX0@/-O:e @{]E>yٶ胰 cݗKѺCkɛ g?RO´nƗf9~7׶K͞GCdaIyj nV )VwGt RKnt{ x 39ꂡ&a 6 UL07u,d0z ܊ 2v6)p}KW*5gSNzOTF +FJG.eІ Sor,pI?G>DBNlO4E_gTd?I~Aj-msGuiH^e_2hLF[mnl{̈P&c EoJ}ΌiQnj:X9[W"Vh3{;^ЛHɻw HV[AlF0W@nm3v}o?ǸL1EqГMb|Zɚ^#LHufv3ltiCƾ 47_vғ̭w3:}nf xS.`EKxm17&f! ]Єװd2TN8[CY4X1yUC dP4R htY"ŢcɎ&tt>%?}`xwukùoyK$DOb%qZڧ"G;y;jQ ]h&(wK mA"6y>k1c3 De1d`D2W_t7jC]C"E,B)k!ϘcdA1=̭>=Gqe-@]QP|zߎ2H#<;8 t]>8gّՅJx~~++/\jZ)H *u꾳ƺ])zAӅJ`D&qƪn7IE0m0?j4TH+" n05BF_2٦Ns1\kU'"Ǔײ%~6, =LYhK~G{,5Q]A6#r5o..w6{P8ٯځ g #ll\jG$ WN` !v]*M`0A>pS:r1;`8Jr"=']{}~''ex7;ȃb0Cn*H0cqj#*]ZPf޲1ja_a.1~]`۾o-g=m~+ݗc#!t)-Nxr=$"mXi}. ]ÒD69NbPYܓ'^.O61!3?~}MM*'EDŽHr=nw@96{Fs#47hrѵq_aVahy('Y9u7ٔR&9Na\ EfA׌9ƿV WZ6]p \:?Rh7k2uL"ۋ\ M@67d{CдFh b Qߛ4‘-ĩ%8ДniKc:gCyF/EHdK0\2v莆)-q證ߙ EՎ-9@T}RMvF+x69p o^I 8A0 B?A5/UHkhYGղ<3NY{Q+2(Px)IN$'6*!(G49> +*Zs7GA~]tA42˫i56V#W:.R<幩ٵ(Sy';|Ǹ}8j}->ip{hMo wpMle'{xfVԾ) ( 9U7Pjۆ^+vFfI _IQEA+afXOEpO qH:za{4饬8s_ jÄ(6G:l2,е'5Rl`&z[7?Ͼ( Қ#21:>-A]J@aBui>2rksvw^v[@CO1hCSp#yQbܜ]l7Gnj"$aeq^f68U (7B4=$D=P?zCW7/ 8/.eLZaBy:FzϬSu̾?gXZ+A) ߎ 9'[3Dznn?cT"p#ЉQ|a:>daydXRMr7CaTIهIGP53k1zOa/ ǤSZIEAaw$cV>ho!/I6Por4odwdXFF6LNTTcɏ$U٨n#Y_*]?6MMrzTdUOSM].$G,hc#%%h$(pYFզzs\#޴llT#=#)::yNصګV {meFcD%Y I%xA;Œ@X u#XlMh(T`,I2]E3 6HTU@3ack[8h(ЎH tUmI}iJW}cM-jMAT&vI(|T:ŝWYj`=M>%: tբ}LNԃ (OEQ#i -HyhBm"rd!}s{a$VIbz{Z#CqYE/Lzf5 졣ܴ[u!Ӈ WT85r(Ѭ}7bstZ!Á(PA#5|%Wc#ŵm~e0cR+k(~;弸:CRqO#\g(a$oxE'"j7\8Ch&EL\aT]W߽ԏ^p;c\9 %ɧL261FY{;zBeu7JȍANrOwg/ms2[u qaо^##Ǫ'.yspwyb2V/B}$fzHzHY*Q;4 XP,}էs?;11FQ~%\иie``NT,樃Omd2C.8hIHB1'{4T[~9jn8&0Nc[& 4#Ӎ5}3Zj|eN>=[y<Gk>$yܑE! ^HJ+zFs|qP 4.< *4 25FzuzQK|͊PIoHXb!ٔƚbc( D=V^< I+te}5TkGM薐3BTBfl0$ Az&[iE)K;v͙@@RGb4zFpE.}|[5*vmM'4ה>fq9d0 FH&h&~:K5Q] =#s_~W'q _o[ DᯄIoiH2w}r7]Xb)F EbI2#ycM}bW h|ݻv["jk:Ft`4)Dp\v3ޕ&veD:":A oE( S毼7B YfNp(*$ňPA4q&L;\'hJӶwV :W"r .g:'v4lqri}]+*qDUb[) @V=N^gj-AvCX10Ww?|qjui :D33k|Èce~T tgv|,'·o|!xp[21CIJgN[Ǧ:qj_mǹ'WΔ[đEQ|8$tOר3{Fk#9And9w2:}iuC;֑Y`_? `K+E({me]/ۇl~wHN,׆%Uwe]QԿs!A="o[0qt6Kc]@Si=|WpU'WIKefEE *1f vP,g{zzׯ#4 sئfZil+o1`=hw u9(I}j0D)ڪ-ޭ }CV[.faMOrw8TX楯_aZ1B h4Zpr에<4Z&c7gK:blnSp5LkP=waZzy Y[[V/0,?}+k2e.Pl. #%R }gmZl֟d]͓#:xnhnk ū듅83Op>+%֭JCIe/֞4vǒZ)hߑܹѲk }SF$:!nCÎqSe"B\dY(sZ ˬW$m.MHJЄZzחw2:y\!h 왏dnMd.e75yCβ5\UD2KƩ'67Ѿꭜu : kJQ< #q([f}ho^֟bCt'2^#u~z$oG !:\AC6GH:*scKldꞡn^3i 05SaC ?nVب$ -8PBH{JL-`KԽΎ网5PV}X5 5ެ7B5o8s?/h_ܱ 7.": mUW};o$Ӡ?;}!\?ޮL_n'׏u ɹ'pmoPmo`PѸ|EKT O9e4cS}r _a:_~r%cUVшY}涾'Id9WO?=qُ?,_Q@7J`\^ \ڳc[M/'tY\ E5F/Ud ځ_!zO^>eq/2;N .nc>T} {E2^?`S:t~`>`IH=N1:$L@kMtIޭ'CkbZu YNoz޲PP9%(Ys֮)u3=j,.Cm?aOT-Tg˿P/{X6Ʊ 96e5W;$ Ԑ#461 cJ6a>I8yaP/xrp ]`c _:uY%pJfrD Aܡ LǏCkeu/|W&(˓8wV~l&"{Y,pfPᴠ'Sa 8P~&FFW֙P~5Ӵ mZJv B7 瀐C5gi"e踍&#B32z»ׇiP,*@Y0 Qa0:U` = T>dœ x.c``])8N€MNs :-իtCS7 Z*;ƨ#llh L]C|D`K^˅p'i54(\~?lh4il1EʯN;[G:rl}5T@rOH"rf4ڌ#$:0tfK=a홂_ X'\Yߞ*EFڠ=dQPPZ}kJn]^bIuVD:rB4 хb#\pEZDbJ O1dG2:+dASvl846mk{*JQLmS%9Roiz|FylZAL0y $KVAUV1ѕ)jYFCodf+%{$\t{! X̛v?Eyb%xҢ,$1b_bFIwN.U3"ښ5|UKws؟S:N"ݕfzuQJANMe"hvo_-$9ŌP(E%\IKB܈fFVn|٢3K3VCP"/.]dtLku^YgDgXI-2rrdԊONޞ"^dlWW{<;igoT,Lh%LǦ)L`~#J\ = tʣvA1N%Cuq06 kB9n&Y!,Z[;ۜO|Y('bGqbPNRs,R1i<a˻p~Q*cjܒ#ow8;dLՏ,AdS3|;Eji .:oVx];ISg A_H1۔jh>O:A~3c@M1"QSv8B>,+< %?O7-wշ8\}]3N[`'_#"ՃhȗŰ.[gk&ک4>(r^(>zF e `^~}_rA6hX5X(Y/7T$ zIN**`|7FZu-@Ü),H-.H=輍:2-Vi{}vpMAq/aFr `E'ul>GmOs-"R-Y5pitZC?tqh`1UA %+ȳ@׋W.. |dX6 鞈Sc՜Bp MYoFx ulx-'AlJ y  :k&w6:2ޝ AlEƶV:1t_ 73=ƞ<%  XAADj`G;dp?Lm56.iNu`XFCK=qh4%L]͖Ӷ?I{:\\21l i(2ibBC:x&Xw΄-|\X*ɓA} oVw)֘RpW8$dX:Yl"A`ޗG}qR4"RӐ^wdرsJ0{_xb/U= =gAn##C/Zz{O[~CGsbKP@*WYP$p2g1mF`zVN~Jv(1NŹ|0U!ֳ1׮A֐vm/gǖs5\O{Gh4+[#ss"W.Z?ݹ1K j o]Ӑ RG5?jxOa/'t`s{~wY9}<7A$ٙdm[om(߯}FM/QZDq$Cb2FFS P{nȼe-ƓM2{`NKP[w)¶0]vPo11vIhHC D.@z.cvܮK3ӟɺR/G>d&_"d)"![W?|:* >$4@1y笴!TR-%Cz=Y-{Er>b`.3 T5A(8,{IYuu-MwԦj`: s{? + }LBՑ^XcD$'b~Ԕ BWVpsc.RZկ.>}z<-v7PZt=|howK՛/]<9Z[+&qۀo*Iⴜ<.hGp^,9wFmrtURk\*nW/lh##"h 8 E羙A3 a澟k^byF/.ϒ@8q~:!f&C58lHƪj//ywsvw7}w*oOMz6u̺~6s(^>͍ {{+u2_P`>l PP&0{Ȟ b>C5 (Hڂsn 'KaHYKKװ7N,n]^8vWM&8pQAzN/jN7oMKϞ&,F35r2|<Ǡ65n< "t*^0^x6}d#bbiܘd^]LDr`ٛn;Q:ʹJ=29 5Z^~LRpZKiutɣ f{%]c94%ߘn8 e>y^6pemJ d(! 6cm ?2up3Nj2Z]z7Ic{吟[r!Ʀn85SDԌ[4t& Hef12yf{&}lRsj1c-Όu w';u/sfV%7Q|XĂǢ?Y=Tb=|ւr afBDucSQ4"O/j2Rn.LҢxdPU:yFѺY:;Sxʹݲ < >xRAQ5;jSgbN \%+Č Cw$ fw?Ҧ~>:5B4l@cB,Nb>nC2$2;b޷u%8ZFIĞ0nc0y& F荡~^!j|'!} V$s<>4^)WN^2kH\cD@5Mz'.I'zB}KaEҤuv=S}/<BN@f qc爊g{qu?5m| %IOD^[ #DsØIN߷xBp%&A91 5IOCUw/v/'3ݲ3r܄nVn!E2Y냺iH};ʓYh^L0OܮmYA^v2ɠQ>Л0>wy\ vXxQy=$OV R6Kv B'$4~==:Wͣ;vBfַڒwI>iD{aJ{qy 50jY>B @`n,h0 e3<{FGSvFJ-dM@K4ۮwI=*+.1Q=7'.AD,RS3;8Lp?I{iMB2M]Bc۸ \.D-EfG(bT * uYk\MEtrCW=/=t9BxQ8@Kv7-Re>n(fZ>2Ao|}:L;[*]ޗR#߫ͻ08(INA$\z!>LeW߷(Z,w,QȊe1&kt2 i6OʟvWWWO?V7r6L 톅B& 8ǒ_Q&)hږi}b׏gcD7fJ?/`kNZ1y;c-c]D QPہA!0?]#Lǜ$ N6ekkfՙEYF r*==9E+5ml>KΆ:V;qm\pd_"V_TcS(P q:{ ֜ښmi% sjp7xɏ+񟥷ȋ|Li`\YH8xVZS51vH-i2ޚAvG?Y)}ޓM$@dZ'4l#CÏ?4pALs7Ȯb0zp}$ZCO_ @]^a_?f.ex8ky(]@q,|Ky|雒_^SۨյH@G";X |Z 1s"5:\Ԡ%0ܱ{V?Na&oDe%؆Iډ:69EPXoɺ4q978f#Z̓iefz\ _O_>)^~_o> iY<]`QS( @7:IA75HɻQv, ~ Ft[dɟYuaZQ֞@s"{!;9Q\D?Nl^ҵc'c  Y` Tn?o˥hЌ44vuɠϻ'WՉ>j{N??:N>& *Yf=bEl1l,y zBeb [8Xn ?TcAp0z5fXk2ح\u[qCB]L41R^H{aAK{]ͽcaP&,(5 W}gګT?//z[D n@l4̞:' "\-~sa3D4vk ŜƕI{Qg:O6 '%M#Ӝ;+ .|P x\?T'N008ROg?8Ra>YҚo f>nCl:ϩw=lF= S^Kn}vO5 :]+g~V`?uȾAt{9&}-P1^]h8y@sZ߀̻ HPQz#nη5^n4d \} 4mEXb=(p REia$aΊ[ (_o8IcΠҽCT~УTC[+ iر^ cnN.`NG[G1${)ȷBa=SȞl{YbW8"}șgd#YيGIKxKo%G5OH<:0Wm;P-k#< a:0 %ĂBiE6}_N04ږ\)U|U-⺶o(2 ō-DBDa#,\\M_- VfOmXߠZ0&7Cj4Are\'<)*{!Pg^Uz*Zr:< .AAZߝoO3<2^QX@BeJ-!l2-}DpK2Zךn6j/f&4~UDQgtWnr4"YSK VRkV =:^">:VY4eL S@U?'i{hfN/%s(B~0!T] û2aΈ:350`Sw{e9=r^5tb6hUjI{X堾E{iOo~>-<ͫ6x0Hh6Ϯ+t]_o bdj)ONX1(ha* \m$^d3)*wDy\k9aX ⯟i6i# e!TcDhB}{λCLp$j0- 4;T^h?'(eM舷1#[J0|I@5k an.#gMs]Ѡ `Z@Jv9b7˝! Z#4A獅gvbIو d yhHZvkl(kןLȪuH trUcbd9uhmv׻xۻ@'>w)B /V?~h)y{^.`݊#~yD_m+K@V&<-vR]'uhI@H/x9%T dd02EDD"w~p>.ċ[f^G`#CBnא羍q&:^}\}twQi 5sɐSa +,Q_N>s5HwHؙF9};Lu2'?.i{P=;T3DƇ(4bjC|q?|ŵ%{D-V[܊nAF22Z'S;qS"?h^-wP$/u\8}uvq~=w{>{wj ́,XjϵlN2-7ۻ}ˆH+`dÌ&LdIk-nB ,0#~}@M*aGS1[zvX%!c}mכHoɅcr 5^W=A:Pڙn<>ʱWL[蚋u+gM6phǗѵqATVF1ׁɡ4a(dF;۱uZ2=y:ԅ/S̡_R0d#!q] 1:nsث7VSpBfnuHejMO G^g?W 4phQ)N63 ̘}~xLol9{(]F0w%.*!tcn7R IbHbh"XOO nzl!4G@Bth]]=@j᯷6H[Y~UަL&$8Sf& Yqar~\s$U -8_S1 U<\)Reb%᪷-}Y EfF:< Þ'GK؅EX:tg:vF` %gxo̙M)*ɪH`Vqˁ?&d}"ve[Ɗǐ|b72 %lSio9ҳriy%{˫AϑGF7rDBҀZcke`ln}P@SBAJ`11큦r8z,ZlhN =4׃y7bG3nWQ)0Dݮ#vr֍Dگ+Z:|n8<g:s0U h߱I5t貇.<^[.s)fR,7GȒ,֛`Yu3īHGS#=y2$*egf>ySc06h-N}-B*z{TGՃgo#,$Kh+m [K`i ֔:Gp oΫQSj ׻j f($CbK ~zV\p߾~u緹<% R8yH*txAi7^?oÎKMCgH}e?팚Jٝd2{\!ƖŨa%ikdHgۏh'E!g ]AZ(t> 6 GGQKv?*ʊe()Xr ԝI[:P ?˒z6tVW`W>!N]c5Jqץ; K20W%}M<'7x=^>N 5 QHi ^, *?²Xa] -Y$%WWIPcA N &a c&j%~. {:viB=ǎmA'g6)΀.Qii(pʝKew kMS>IbyFT BWvoX>~طCF85Mt'c\{_q[F(‹_W&!U8k^1X|ȕ:u2mMFH4ʰVr:3ׁqsmPlilu"$HwnηwkA 9&&h4K29)V2>/bZH K+Cq`P{v`9У7=Y(Sg:`C^)3>J#蚱Oeoa=Vhi4%wsHoٛ#UBy1׷$|Z߈vS 8{ gUhAkt}7zȝ/CSt갂mWbjD,`o~qwQ8;*A}vx( h(M!dHc2-˦B-@I|p$e%{튡/HL}!2!73H>V_7fKĭzDˠ#!#!<;FHehDSCr*v uqS-S0Wy eHvhzю.HRd۫[>^0^߳wA]ȾzbÉOc C{,Yziy _= tfQۢ{ o3)v:-HGw &#$3$L1$^&{ueʃ5h@ VֹQGXY_!"մnL ej=AX L⦟3BzNLG;5G̤ޑ{@kaCs.ޝ 8G|)7"y #!cIC ̅z{@{ܖyj%(^1 / 'd-A0v:L惕&dZ\HcХâb"fw=_khq}~km VW? _ eDY6m{Ԯu#͓N2(b=j+t. D5!%۳G.n$EOxIͫ'!I[&Lq2O]/KfA8oL"CA`V=' 76^txJz{I²E{e}cfFTÁV(2,X'p. fXltgo'+ez-^.Wg;⪙!d9͇k1RN4#tmTȓP^Sv 3Q:~NF.DQhرҨ>yv\Y}?Yi`p$"t8lRBy~w%p;SZ^_fI#ǷDB8ȃqg`&jp^$rtߡG=l;9;jY}^6U}`T^o!vd$:WalNEB2CIu*(eaM vAl(k& :*vntwբNaB|Z+\W֪ -_OU8AVajP:uw/ 7zhE"î%fnw""8;7Np3E\oQN}351G8wq ڐjsuuw+ %w?c(ì/(hlY^&(=*UaIL\D62aלq :+/fL쏿B<:&QYPeZhXZ۳ '݇1?lEv:izG=п\^xgye:hs3D[ҏPsYyT%12G&-θYFGe2Voߜj:@UVfRf SX-7Uk=\0,31x7;T uNneum_ IdKjDlFi<4`YP\'J_EF;JᝣWVٛIn{W{HϞ_^$R< M#ISO#hKiYiF_V~~FDU]2@$hB328 eЎV ]NW}2S{A,!mMw{-0 vD፤M!0dΰ4Ψu 7bG2ٷ77U>%>YIL 2{X_yި~6gdd(S-2}z<؜(vvg=]6D8|x'M 94^ޘ=~r,,fiS=d)  &V!N]@:? Yǝzdؾ?;) !W E |^>ݧjio8";Lr22ͅ[ dZn1*D]G0©TA?1wP}`MHid罎qލOn3pidnIQ+8sڮ(Xb3-sy I P)p>;Ъy88N14M}QpU>HYijXWX Q'SJyFtr8XoOhGHx3F @ɘJhI^w{~K %x5ߒFɢˣ40PPUvIf/^{Y}fǨPjG{M7|dl_!vCO`{94?Ү uPdKrtb31{"#Hu[n=!{37;9o~xL"ߡbշi70]`'dpR&29տBt:"8Xj _5)~iU|[fd4T m6x9vJ&Ad[`Z c8[qsdH3֮3(eS_i*:^O E:4Q!$Ѷl\o cOU4g8!&ӖjxIyJ)sa$zhnB?\y^<7ꢓq:ZVXP-2C@SCϒ,Vecyy(MLAFWgOeG %hjz_G&٭#2-R0@Y;vΊ|gœ#N" ,]f-0SdBéY}w.nysr,8PSdƔ)*sGtPɭޔWV?&?G (œˈ "xW?Mˬ𘦌H~ APDlGX7yw)5 "Ɯp?)} )4(~Œ4 .V .s{e2fK's+O[Z<(eDo`;yXI2լg?*=r?4biѲ[):<S'XM _%tta @Lq8dioO3c#i?aL^8:Gs{mh1'ݿ f̡6-^0(ږ{W2^mqMɭ-SA] GZ^B'(~\iɺvѡ˪iFR|t# e[ u])}n5nџu%v6FkZρREUXNf˥Dc) ~`,%*fPE ;1xoYlhs yhm\B{@(Cd̬tkY5ju;)*T1Ki8ˍYaBIVodKEB~Px@}'{0r|T=&GfvwP7*$8В8 H C.6w+'KQ gݡ&tnJQھԼBF"Fpxw4Nzs!$TlИež(SghulЁ3UvLe_=R<$h=igzSt($&9@b{g8P5>")hEE8-Z*=/pVpXK[+s}v"v?Ѝsn٘;/ЯomFe|R-T#4ܕB,E5>β'G6uG,fT:$rMG !Ok9ơyۓn5/ I0eYt7 Ef&2TƩAefwh_.z™HyFP;_ 9 }a9<JPF'CmkFE "[ y[RQdaĖc!(PS0s/wۋknn 6L[qli|/x4.3;yux3ٍڙ>νUh~J2a8"CkD]N^E*+,OKlnRv]D;ۖ"H VĴ̖cƯ\_,XKUG=g/&YY֯;RSQ4=h8 = LeDD[ Zs05qdxlYcT:zmlULW۟yx1q!,:.B!eo&y0$= AWh{D}n@6ς<՜~&ȼx]_ӽQ4h{0Q)|*<-?Vɺ6>YV<+dWy.>ii Щ6B` BuBize*ڔYѕU^*ܖW4#f/G̀90{c{cOrsr~s/rBLT;{G,lDNנ?pyی7쇐Dun%𵅙d!}K|HnӑlK++M z<4 8bodLOBCC4$啕&њLb7[O&=vӡJ5 I8ҽBmC[U%:4:蜣Cvaԩ 3ä;oz*ch5ՍP)x1ie|Pz=~zP> _&#qTZu 0`يJMvfyI[U(lᴚF-bxݤmT*1Iq،m?>=Xcy93r6J-GJiY#;&h2hvL댾=7׽xd tkWj2Cǻ5wmcKOuIv^ k)BNd67n[R.zKKPz¦?r!yus}袼LMO$}7gNevCQw7; #aixX)t~o8|][4іPtq-ji*dh@-Mk_#ʩVr_[g/˙GΚ5`RWz nsӱ8Ӽ!hf"e&!3$SlOKc9&H'Pm93· N(.PYdV;~+J:oREoOZ=iPY۶0Xڹ0̗ K{Ҝ-4"XEࡁ 4kI 8 苝Ei<kMG@ܵLcX $N-:</dfښ$Dyjoe9D U,We &q\jd"YLqafd[sBYu2]My,p 5 cqy{^Rx0{{Td ` E_D2P,)s3}֩ަYk!~$k{7r[c:EiΑ%Nj$&̈AJx ͇Jz7O qL̠ }!RbR(*6 _u?9{|ޒ$e{QէczF/'ӹ0Hj!@l.%>Çl}tO+B77E0Ш9F4DT& `alfo0&\Oޔ'"̬MAf\#T^H0ƶ% +UmmFP:R%)Ob8@=0lW@?foD]SIa&ǿIQqhk-DH4|2Edi=-]T핤O۫0kjFetHt(0'©B'f0/r݂-0uzm@1e𷡰|'j4p2qdY _Φf`T`d`Mv1e /vZqo<.yR5w!&y]YWS"_&X77! (ZNG& _=6X5_PVAiEqaV׿; st'iCSlL yM+;senTw}؟!Vښ׎nNhcK Iɸ6۳8vxOׄ! {/ǕҵS:e $FEt9Ȅ vC`min6'0 eeT޼ٳneMY&C :`q3Wɰӎ%Z *>G~"+G:k[0!lz€ ':혚a W{q\/[nY6Lq4)hg[??$_6'iGHy0DSMLQ.O!=Tm!<-cvr;uY'kCkl(nf:!W:V4 KO\䲟VԶNX1xe=c'4~^{-֐*Qu`Pv̡Gb[6YWGSts88p/q|yyO:/8u)̱C̆:Z %?Ə=0=ۛw;YOܢB(-𺦔+(}mNMk`?("~kqu9f|>֥Q0V-]2sS F|ZLu-Vo>FL~7]̨.!xAۛW^l'tuz+<7T7~ ޸O!Ԝ }^ʭ 0s ˜S3tL g2[/mT<7(|dz=98osPE3ƑIRk ^tf”2ˇ[)h74 VHK~ҭ8[^O6 ACbsi:2+eɡBPmv#}VyRڻT,df$;B/2S_]?N97'ᷴMkҏSjMb fNtȃ;HnzmI;CT< Y⎬Bfÿf`s^"!2|:K82d<%lCr?07=\y2"^EGaUjR˚.}@O•;(FR3Ёh4dnu wkDtHV0è(O'ͫW]Z2]I$D9,R9 wIiL<3,6 v$lyb2ꐛGFoglF JȃD ڣIwbߔ(l}^^0$0oP>GXXY3ZfɊUؒ[TQ1tkנj`h ªtmez>U`W,#R:lvTy 1]~)nb3]&۝*{gh6VobhԔ!r8z·#\{+PGbLhF1 AwU'$r.S/Yl)>YgƁqy7&t{ן)Zl͒rDt(~dl䜶nn'c V$kΤ0#[; Xjv}p~<FZ)H4>#YmxynFv=щhc`2-zε25=R~E0`b u z%28sqjÄ_rTf-io=n'} rtcNP "[Q&1U[%ʼn{(ˌe:"S$ GRjj _f*ʚQ[ tv.mirJk.2Ӝׄ9R9Zw/ȳBr+k_ j8VrCp~C:6+7x鶠(фu8 pr K0#V~@D,*q cEh)W+"DžA YeqDzWAħJɏLg^=N ΀l8ALj= ~ڼN= ra 1$HiR\'^w%WlЅCNk6m۟=+|"*'NLE xc|:iOh6urLm ALY|zgssyO; b<ժ^$`K/o?y@8 Vɀ>pk5}bFYAnm Zү}kmNM:CtY~҉)$K NO:5E9.zsnI~ ֣zN8gҰ;EѮqޛyLqgSFq|PM9sljLL9Z]Ɂ5}Nw2$h`;Wg֚?eцgdtW eJbȒO̔_25R tTEC}^|"A73ƹl?ѾOԤFgE5=>T+-32MRjZׯ/OZ:89q .U!v8N?#CWϜD WPLC~T>?6!I46˲$lДw$4V|JP ur/ea_; S`tl *d 0'"Y2}_8Yo67C2r/뱢Q415Ndb{bwBg_9U $!*AB,A}d~=>p~c؆\ߣ7 xAxr FƛH#Gm?C(';Ѿu\dzm#2x(ԡ榝:n>{:)[֘)iK4@M4I>9fs;kih` )4 ?qTC^Sgew};]i'T`U܆Ą@y<=`U:Ey=)NjDD.ROJ+bHLaJW>%I~w}GQoI8ݞ96%ri\~F%k^{$j'?_/ }N zC ӥa㯇~}'!!CO?W@j }5lQŧw[XVɶ3u>R|6 't` %Sf,'96--,>zyEW긼~U.fGhv6Rj9^fcO_/\us~0>BnWAQú&{ Z}8E\Bj]>$d"N4>!uehƉ/#+Fl<9G4M~`KRzHg}Ǣ'j& )A1Jܟ<^_T Y̼u&_>fK{kB3"U(,OFfS~$afwBEM`.Ňv-F?vss 93FGFz2ʸ֣oQut|{NځpQzey:?h[]/ثml?3YA=WD<l)b{q/D LϺ_d=7S^_dX{zŪĔtŭ):?0ξ]њ0 q *iԻdzGpѲӅz=.qЖ^ec g[E8oi4YjM!2@AÔ&v'$'7͆2ByV';(GZ2eAuP3z Os76u>ɥr; )PM">~v|dhJCQXFL˶4|՞Ć 6Fcxk0>Y%c^OK)9wSڵba#)kut,cַWv}5ZNE)J^HNzO7O8"* ٤V، ڤR@/dcWYcD,Zd&,0 o~7￝^Jm{leFAiCdBlCXKzB:Q(O-2Pl4Av7\բ4xZ͝h|4c 7CjDK˫MOe_Џl0Sz'jBV+`[[SYR_Rq߮\nɡj955ٮO&ْW+u_iVT6Bk}v$b57r!|.818冈 k6V껽 uH&ٓ%M+zRM4=lqN2,$a$60zX |oM1S9: 1:6UHisR>i=UPg_*L-^&`%|zbxSF$x><ۅqLQ#C|b.Ν+ԇqy',?(9*$T*jZ)-uC #s!RG/%JAigš٫MacJ+OT kck}f7mҀakmIwypNZ& u:W'L9ZcliY`A!@FlJ_GJ ]o Р%n-.HOBAؓ`?bWEs;gFM0^(+h# Zd9ꓵRtSgGh:ɏ|x[&k4c@m۬;Lb,vr9DBNLB("MBv4ظ|{YCG Q [l_wgG1 mB <ƺ& տA{3d/)Al_a7桎'Lx1i+_ \5YDh3|_Z(4׳q# 4io4-r[cMsۛk[2BUG m 0!QJP i;{f0| v{ruH= o@&>űkta%At-(H '"6>%\&i-:|yOg`vQ?(Yxnw܉G:F`p"6r 8:dEֻ #cѿ,@7 p] u} 4dȁȦd vv;&!@s]+3F)MVmK>Q_4ހ8'A!?jHƢ?\&OFokwmWݝ=[ћɇ vuP*::v)< dY,%Fǜ{n3./,(d!&hGtnRL5JȈ{˨⧃ʤ\0}䫳5ڏޔ}YHl}j !99Cyr0*ӎ}ٶ' wO._lw 4T쩏"mO~XkoT=:YmN"IپNq(pq7?nO<)0LN5n/-5!}kVoK %j']7iH# ͋/gNK6y1 2Mvg^6zLj:˹CjôQ1@۳sXPQ?e&?}7{ean/t]ﶲlTzxEMBݳ5B̌ؒ<<Wƒב =LtS0Hr!nkmo?l7)lhJŦCtHa 5^8ۯ}! -qi)=MG çh1R qJ^WwTw$,p[HS`D5(@ХA,?eC˳iLaK6M7"5VZfvىO|˥{yhi|,Ɲ# t0j+~o;q:ɑeK4GI~V/%J8HP9  W;Łj~=2(J澠g~ 9U=4b 2LW3N?+4ib{5 қ-I 8Zuii[8'm(_]} G |ڞQ>b¨`bmS㹼~]YFAC (3؁MC:4ԡ E83<71y`.Mn_n6²Tm~iZ}kIBo.u% vEwO۫/N|ɦEB1YT9% m} QUBץfzu6.>.\gȸTmnr Z>K-LiU^OyPp{Fwh]2ԯ|nPϝa˞'o #M,4vPGXe] q; f]+)4\NaQÜuHh f PKa@}b~|Ħ: POt1#=E2EV5-~Unm9 LʐPFdkhY?a~bX ֜~r*gzL Jֹ|CPM4JS-j( Y$}u@i`UxWҺekaX]3ӗmOe^'#mo֡B CXdcSO#6Ŧjh`L0C=qLA|#8ƣ0ϭn`ZÖHj&햵$teQ7EzJ+]f`eE:MCZu0ur.rڌ؉E9 86O=yȏ>\?;tG ®M^D78ڌ3i2њX2uI r3 vwLĩ0/`m S}k͜w!I֬]'˦Vȓ~qן=L";JyiatD (h4)r~=HwMSQDo2=^v/D'-[O^?^No_! !2~?̩`8Y=W}qi2\ t'J!=sR/R?雧k3igEXY[~%TrM.-D@!'%hP}NTAg$U M&u"C '9kW:֒M`w}E1lKE҃n&6y!٦bk$ #Zz*q=q:~ ot53޳N>۷&A:2d(gZ <777 ZqFdVvaD)@jjLzw@sfvˀ,WZ)ؑG4#1l8BZ[l"x2zD2c?*DqFlM15 έݏ.ee0aQ¢̋ T&'9#G(y`rtLC(ʱM6# ^?&,ΖovFǕ86V֌c@Y4zx^d$Ӛ8ƹUXDWb 7gDskuY´?o۟M$^fÅ#[c :W![\ܿ}Zy^ $9t[SmW? ds MI­nN۬Jof0LA09ZcnAH}`)j{#8yyZ O jjFF`\<>)M\h ntK*f_+^@{guzןfCDA+s!R,qݍ*zy+4jɲ3c=x-m ݼ}ТJ>15&Ɗ9m\ETfޝzzBzkdF1aHQ:Bx_8P@泀.KM6 )AVTP)b~Azr(ڹż< 9QuN4#x0 6uan2Y24z ah" Ӓ đ!P3Eba:Shy`z=!7ԶաkD#3>@dȞp,nk䭰$7hs %jk;f<"L!WXva}HN~ ys{`$ Cq >e$V͇'I.2럀1!Rʥ@(67sVnG 1 x:Xhi nCӁ N8T4@Ґ sUk ο~vn[_M{l׹ۍ MG࡯("b$KJqn8ݪ_>en47L|^_DnlW}6k.ͯSD A Lt٦,qtnk PpobuW@ܴ k4y}74MHQ>'vpT5$`iLHFyցPӧ\ףCk.z=@4#ɕLP+vߝgvpfY9*U bCϝYKFXb&:W7@X}~S;{y{a99ReLyR B-1G}ǷG S>%?TZOF[Llӯ~])SG[FH4KS7E2Vys,-tE#o /jTlUg:bYs2g5.xonH]{z \bzN1"P >Po@J>vյqlesaM4 #] _~NwFF4{RT01Vxn:<M*җ?FHye#rSϗ-c\$5:V 04=~B^U^f#7Ewl 7 ?ydyE 52⽃ [6.SB\z&E d9aA2 ,Toy/hoL=˒=3(S\M/7 -(>NQ$۸W'O rZ0eJ$QnV/_Y>Cۣ (_ư^nQN05vZ=tNo>}>#T\ԔhD[JjhLLL{8WTj~D/TނjC2J 6[vRžSښVK 'k-+v0#0ِ'9ե o^A~S\g]@#2Po(MVh hQp-t;MhxZWP]l~;)J1֥f @}9OBvϧtpdS:(rhzoC2s$w ES~#.Jd$]Rj+];V<3|&nt,U: C/$YU^8FA;8OjoŷrId7MSbKy١P^KΎCC 2>;U?-'$$,(d3y#B2= ^WnHכxO.R[Z7rhΌL +&OtvNdz4lVn^{f#;r=s8;ׯW'Gh!~p z f:"!30.M(]f! OwO4_Vn. N]8qa/:.9=;̋}0c(4ȥujyi;]2 =b.RnayP5/pј`g 3:?!Iע ا&z&|TyWZLXQSkYH:h%xې\`I^L҄ȎupLMO9_RKݖ{ ue$ia)U,#PCAgwSc'.85CMpJthW´Zăc~ֶ1@ ؚQi':2R+znHe⷟?xUu8dLd@110C!ǵ7qjaѨZdc:m' ɳţb2MI;CWӍeuJV֢\--p$ !hzĵ&[Wx5wy-eVIehJHUqz)o{&E^}ɫ$}.jk/$,BУ[#ng[BkѸ3k~=+VPwCBݘ17@Wz1@N $&tعzqIK 2,"xvFAg@](64b X#~âKcׅ88ʕ؂Yd|̥mKk?5`[ɊdƑx82qwuJH 94f0qG}V_bD|K!Gr^h*ɠ " lDwn?(fފ\'(BydDRdlh~ZG#smӻhG\BRN$,?tҟ3-b`:m`a -({k3ܸ})<{[_xGš:jrm)qZt+ _l1TRMdd< V b Xj8j^a)xj:SUg1*>yX.Vg77KI? Hkzqh-c8RTMc~4!0|d&Jig];EHQu`==Oh76À^w za4ڻ3u4\KbrʼhC9,V-Q TZA<2zk)inQ|9iOJ 4(ҤX6fpZqq0b:FGDÉs1Vt7RZkQ2VP'El>izHP(k[[tpqz/Qc/&YmlA_ki9܌Uep&-wIB^ ΌCjcLeda$!ÔxǴa汣)}`ƪ:8%*aF(]kN쓩UaT#dȫ떎$5CjMcK?!b71zO=,OF;tϖafa/rK!sٺYcd`#d=/1O3MvI$v<~X9ż6-J"A=Z(*Lȡ2ە_waaw>ǓQȑfO2ݜ|{k*:3<1 ǚbtE*0)]hgHYX/+CR<Q\)_O $kiW'n,]^ 9ιru.W€y5=tE]87qQha 2!.dz7L}00"‹5!\KH! u ?9 YPr:L,vzW_w:ˈLozc|#: ʅMnu~D^Ic0/X߭b1|`}^t'_ L O$WZV*{"Uo;s ~_K]7;6.^jRM@RkfsyJtJ⥸2(y&E13b ) )(&ؘaA-WD{<ڑ$?lE e,r)eO[BED2{'1`\:PO?~ 6A;]GQ:VHCc:A7e:3RDŽ(( Ao1 zx@snv)1pcs ^F!8w6jqk3=̡ t0BOξuwϼӌ96=AFg܂zkۇV=?ERe<޴áCj?66bd!]酿]b=d0K1Fb+~tP0izF[8NHU =}{}kFb|hhƾGg#%t=8kf.h [ ǟR@>$ftDV)AG&tT=ys=D-5jD]r &- n5͑ҁ9УIU3d? C]0~5)\0|XtBgH3YAptp,١Øh0CS4PtB MrWd$@D7/,6 L{7%=uR&-WG͐-FG0$2#]AИGǀgFqO@ |#<X4,K4&1W;MȾfqM|BɅ^'U1c̏Y~ k7p{ԾQ5m8Ev s)(%)#'f=l`QSjhL Hy]GUd(D$j SOXq8Ëb (#F\@Ua4? iw3Wd^WC B*a0}*yh㓱M~K2AzUV!=ͻPZHIL$8Qױ v!-^C5 * C~Oz+8*Rm%__\?"0 =nŧp }⍑o0N&'扔sAEN/gDqֺ k _b?(F>#fECS mrs"7*Pd=۽\սcGpD_[ ˁ7AQb,<\{2x۴`VY4BO:`oXhH``(8TCPr3 z}~Ϲ :װPe<)Ӹ%<[ 挾[O9&)Y%c)_ܯ BufubVg:PYQ۩A3DzFRDϴw` ic]@}PVNp|yT*{4*3nn .w:}tuhSZ[gKx+v3Ebi`(P5%c3<ՈB%߽(;ΡeLآwy`δH{fuZደa Wnv O;I.eMe6( Vi~%g8xBg`cȴ7I}݁YW VZnA|IA' +&CL^/16\7ek\2mms6RYg{bpwܞ}%;S7w-]ǨDQ.UDض_N BvqF?N;̠ cyg5:n.i7}hѵ隡ĉ٘VT(@sv2ӋA!][zl`KEgs ,2`;-CŤ; Wd8*aTJ7!FuSF7YXڔ΃\yk[ƫwAC c^G 2I+8o*y#ܦlc"4yh"s|qBY;(DrHP[ANHˊ|x"`-gg1aUTŠPզjѠ=Soo?v F;D]<+L>0Ni5MQ;^?m{ bJ#t(+Bji?nR/Mea mì7&]|i0~=tm@ cif^d"C3^q)K-Ł'5/0>,Qn!x^oΞ #2c\r s^~,SM5/LP9E2@pURS{p] |gA{jH<СWd*ѽZUyB'kx֟l~)2QNHyasBc%+XrL/eM;((i2S FV͗s1:RTD= he`Pt`#e]Ch TcpickاKӡpG.ˍmC5:%j`z|gLee`6oOb:MȄ %7rp'~@& J"qZ6Z` 櫙Tu|q sI$~ -zKh>TxoGLEy dbT se9r}~z}v2UYv Yn*YfI˓2),(l(:~EPh9?:A|}wZ Fka2M˔jFG?v|CX WsS-oΙH.- IGc6^bI+,> z}@L< ` ?0u=[}^9)xEG}׵A-֟40CahI R:Խj),;ayf6Hy/A}4%w|5q5>^x,dУvCgvՙBk2 4Pw,Xϣ@ &|w SLԚy=nAu6 `߬_mCޒ"lW=4gZ:\ ۏ[揤N`ƪϬNúpB>`s:Z~^H} +Dz#2^yMHyk{ 1N-EMA6LDzxEXNԹ# бƠ\u8A3m.>t+!}tV;-Qɣ3P: AF,:07=d:/"daTp>ܰF 2gN>z =ۻ2:l`8 Ba?fgVDO܋}rm?|&L-b_"weYԷgӷ gGAkP7'"+AW2>. 5Nru^4.ȲU[_@ءތS *|S9N f̚Pڬ\Q4e5`f?蘄)+,j^n2C_GE,2nptmV5A*O> <6ܞPvŻo!awlFwbF]fGGt2M TJao:djk˷k%ns̼y15:Q9҃tӆ&-2*p,eGrjtj_%~Z3Hǁ"=SH@iONj_s<ċcTEZK#Z#}ٞe܃ʔ%n/VATyԧ  %{ uAM[n iZ!d[xa}&D_fj6e%Eڑ(7 }GYȨs3-&=9!8< Njf027>H \LrE ƫLm3?2 c4 3 K{9o!#3dKCA0$WoC̳M+ۂT{16 Rb\8w׏JM7;,M%Iyx#[чRj嵹CBU/W돻fPdhz1:dSAtn=9LOV~Qp㞴.Z]CM#롔:*q&،jߒ-E:+_7x_vod9'9hiS7w3ExfjFd.v=оXWv0-T>Ҩkkj9h){L f%Ǫhn+2eCfh>,3S=Gģ +FnUMZ%8$Dɒ_l^s^{mEAIk mSXR{"OfZ1 5A[!ϻҬe4@3*Tm8+]WN*xoFxh +H!Bj 1Z_"búH՜Uy>$]To0qW[L$fP]A~g7<|L(PEMNJY+]W4C|`c-;b_  3Ā"y_& 4qbbZb332$]epBI7o}'s  RM1q!fe~@(*o?ж%»>%u6/GDt<0`[>mFzc Ikc~߄p r c~_\Xt}2X{< /8b;i:wx1YQl SDV2@J,cC`_j<ּOl(L\eͰ[]1*bW_O 6X1rZ815? ;tP9yʳFJwBRDDx`,!' g( gp]WؐPf^ @,{BZbӒV='j#{K㝼lѿ}8CL3L/c,J$J+!{T #EjýiM1ǩ)HSGeXuW:$d/Qj⋻x D_>GKW?[Jߑk!MEql}ퟶ:zA.9FYff0vz`+yu{QalP%F"] i0́:icK`"vj[L]:)a crK 3fita;oIIG̃^1ͻw E,vVU>3oorE p 3ɵ+pֿ 2Gn`d:^ClgO?РϺB&^:!{\-%ɭ-P0lhd,f&*))t q \} E[N&*ĚP31j""&>mS k&6EhQc&An*` Y7Q`= Ҥ*ÙeĚVL`7?*_ -gR4UUR+įi{8?iN=!r#}3] : 'flV񾻿򄔣UEEeB1Q4NQQ<96E#%Lalzd\vYHz@2OAq9-S(м5!z;7,>:O= +TZ7>) KѥX`%¥j%~̎>$@b6䎾2+$bO%Wχx0"%H32s@-kP8T4~of.;Tsd@1nd7F4};T  F5Ni>sCiK_IBwT\6Z~6př<5S1#Z=+p}_ R7>q݊3R'CƗb6h&Q@@_ m`m)9ݱspH}!^U88WoKfC{]&_7KǨ C{oһꦎ_&ljsmkKzGB:yP@@Y#)8ym?#aMQp{9Ĵ[Jŷ={NHt}{{w+PؕPii7 6 sMS\!׊K:'+_(au>)=!͂B!/,ܖO02V'{=rR cOz FFڝ lD_)YR'~o+v9֪L@-90] %n=m{&J0Y (̂lsGKUɜ1G|Ț Gc[4}y~Q1^73nX{NJZ'H/+8-mcGʅp%τ=;-}d-`-*L#<֦hQ.,[z}ASw)4= 4h 5"ˑɦns9+׷Z޶rޢt98H>L@^7zdT[ 2Xst3.)U{hZ2ѡJ?!Gi\^clc"͗۝cm7Gg_6(ߠs4VG:j+ّڬw G}' gA畇nw۟=oUKWCKM3ZM}je#C'SCˣWizACص.YdC5vr%]q9bza2%>ꛃmr{M3G'BX-SA}k 䦾o 9_daWֽczo_KRD AEkthQѥ% خ#/>@ H B4HR᫾Z =,$BE]p(h'!*hK"͏S X;" `gxOk(1w{\|zw9\%J ('N qbW?^m7dž& &g-<@ŘLܤ/,;(<6jBRYG2l!ޮ Z4׉Ff^y&׈2GyC]O87g?|mz\$nD eELQn0k*K۷,CRvbtXkCާ<^8Ɛf/h d>v|8E- A 6ج+ߝ13=UkkXƯOuR@?0= +8"+ #@ٯukm頝Es ޕTi*6ZPhJ R1h j<\|A}栳ܠ;틫_֯Ȏ< N]C/-ݡ?&LU$|5ُO'iaA=)c仲ߕmFJ< Adoj5#Cw/zoLjPi{w"}|z|7 ׬OS<8zf16SVV1ϋ9?vYp[W3,oX`2GY\W[(!vu̡Uf~H#kBtM` H[]Hͽ[ M¦Tq S*k#Qۼ<'k@Ƴ_$kdrط?V?}hu밞yaJѢQ{q_u{gk[4n{ߌPu¯Av_Rlz̜đ O#U)SӞA4y[hbJevL~LZv0w7'BH&MAa* >Z+<ܮn?kޘ)!QDlOFKKk6EXw @<6LF?&Yl zS:\o6_c]iHx)NAkG۪ 9ηnvN8\s-r;yD߇"ޓ'zlDAT(*pĨG|i3w}Y#ю^So!Z3mz";W0 -/K e#W|I$Y' qeb~-ZWGURqȬĔi3ŜLc72mKfnո\o ]x5/5d8^G[Vv5;'RK! >| pNyHb"rCajF; %p{ņfpw[e6~!:a:>ޮNHKPɆ"0rNsӭ~az'Mر"@=f:beX _]}߼TK@9l Q uȘ;~f50MjZИ1]V(4<,kY1)ȹ]kt%Ⱦ<ͺ yf.Vޭ~8~t݀1\)09 s'O)*=9=Ok֮c+ @C8[=kaHIoN)ݐ`[ظ!1pƕ,FT^QB4б^%2rÝPG=bt]{~cc7RT vhH6ҠU z{ަj w\,aq*0q&13δ6N&I"F0ٗI/D,քcT:"Y};"ujN}jIC+~ݗT `q=x40z-3ƭyy/2w n~2D/u FYԷ{a3/6wW@lI 3Eai.S̫?Tqx5s!g7͜m(u@kD}/xE ؁x:䞯ט٥6Hg$AMe6&w?uH3K) +W)]:2ۛ=eSNֱ2-ǂi )g/7M|E]DU`Xd:_Y/M-PޭಖGNv[x@awm2vNξnwO/ۓ󉮦uPS^-W-_5=j/D}Jfr]ӬaPj}?\d߭=iŀ6 =M$c^#wFRJ 3Ǭvj@(z9j`t|gLe]]dLuΔ<-cMƷU뒮VBCScP idSDuycm h)6&WC z ]aW,ueS旻ϛ/'mxr M]l#[Ky(ƫCW16&bTO'kw\CuF2֑l}wiiS Os={&+ӝ Wo̟'a3lw!qٞLB!49%1Zܲ+>HܟN8]}dR5n+-6w7N"CHi[̤4zM4tAiu<Xs׉9777V*S ȋnIH8 V+|Tu,2ֵe2b^~ٝ.Y)þapk,"F^ZۏߌrЌpe$BQb\O,xRG[&uZ9QGԡ4g qދ[:6KE(.}Ai)A:n)GY[&e}}n$r:tV&z&y5y˙NzbPkIR>g/TOFCnjfHrjWcX?o))|6" ޸bt"W?o+-c)U@9ٖ~x2b19.gD|u2*?O ױj/BL}NrW0.C*p(z{=T.ÿgAPd5$) _~b,S gGEC)#Y=^Wg~/tDŇ //W۳e}2NF3ݥQ-dI2sH/ɷ\6D{˾EfxV&;s~}SzjLaf-BHvb(5[g6/`iʥ%swT@GZA? Fr0~e_}?^ѦKqâ)8Ò.k )PWWcߤvÆ$= 1dgo ݲ|_]{,_+6ܷ܃D<> tSOKX D?İ;t/#>ptځZN3A28SW '2yG7Ȥɗ^S.1anmS{8"pf1NTȤq[ |G m"G]fk{:[ycƲ]Ιq 0"x:g"'cn̈1JZZA(isZY`*'Ev=̄܎IlTj.͋?*ɰ0ͰgOtd\ccUJ=KO |<<1N`J#@lO1[)O쵇k s>[,zv»nz_FQZE0 0^{G?2e;m0:Y#,B lDD[#@z;Y&W) ezRoG9V[蝫Aj'XANV/>[Qu݇`_dKL/3iLdi [팙amZǯ,/6}&4ћa=7Ǐl6ksApHe=%9e[PPA hv@[y8t4:Ť%ܟ>2S KC*vL Gm5\[]W&!u+Ŕs_dnvC+I1iICG;R>Sl~ ˫cms Ctv=Uٓl!Rp}9LU4ϣs #!֠y!|DZ&B͠ F4ɑ;=_E !7=(rpB2r[{L m˃Im1J@G`]A. 2]'$ 0_R;{6LF| YDO`Iꯛۗn$OL@(UxlW3f؀8IKx3[^pt <xeeݽJZ hzZRXEG_*TڑaʹgyTa)jj'FE(j0ֹ(kG 7٣; q㯇Tg7E!dU S?%OPR}98s_3Z}# wIT7♉Wx.SgTmfN & Ɲ㘚А3 {nSø6$:;D F̋ SE˧SQc 1N:҂NS`rA5s )bOo2SS~F8"B(KTf&fкΚ818 ]CW?E; 86w㜦f2]̍E'iȀx{Q]{&<#5w5 rVʫm>)9*u3lo+ϰd{*NgOqBElsUOn')$ '71z ۓj~=Zۤq)͐x_]дj W\AЭ}9f@iczrGz٭V8%va5Ev^}qSwb) |ƢnP?DL:~E3i\Q,q1a7PNt'}A{ԯVߤb:J Uޱ3JNR?dш㥫ޡbٴ9.N[a?ݳ&v!G'LJ2yi'{'‘VeyX'CffhNLeEl*_rwW0j5#ϐ\#O*=˳Ya? mN &=2`QP:hmԬ_nyxPSa45e.L&:eB1cQmv|T`%+u>gHS]c76˗iWjHX"0Gמ0>vQ%qL)Pku>fWٱ:3 1/͓98tO lw(ueh+D!_W[($Xd鬊JӼ$1zc9п)mktAhC/ J:Gd %oi()n2~w|<%0yDFg.u} ; ,;6xI %^UGO 9 xYaCS׿l/f@?CNzCpi0hԛg Hdn{z}%k]Ms,l<( ~db¿][K*\"Pv{m^<#GLu$+E$eҗ6p96)lqAX@dFjQ & ?;Z"Ib` ~eU{Ȧ9DӺfɜqYw۫ nMC'OAF2uR{<-)u¡Sjjx;@U|xob 7Yˮpaxfl`Zwk_WS⹹5K[U_wgt>tY`RJ%-EG{9^K/5ѿ_67__"5qJ.~M4HeR\L,f`C7h|rǵoYDg.g^ }A$?R[B֡;6emO_I#էNq1vDt pAVCgC qn$EdI=ɉl]Vt佻q;aA^BP0ɯ/|Blb+9]"w?IvE?e!"LYk8$xOҡoa)w 5CcM(:06~+Ԙ0l!m5= |ͬ+Tx5 TS[3_LlOq|Xy=NwOCo)F2L;2(5 3wu6}GqLp4 { /:vD$4R{X{.'cƊz"q:J4 K 3+On5,#_עړh CKftGe"54amr |Pn*_~{Z}g/fK>Bw`Gq:Wnii v覱ID0Cüpe?g >my Cg^n'uu|O|YXwt:SH2 ٠v3*lsnh#F$qSL(ke:+GaHswUc&wdvIWt:ד 0򡕻 i Pܼ|jC htF![Ƚ 7uv:n:#գ 3rp׭<! Ɯ=Hb]+4V9B5{y2I:ٞ*׹"7S-<;?EiiȜIWH_~hvUr r"Xw #cO>rn c1ّH݁x] UHyJSmD] dl<~B`_fNt :E1 àAqځp{xq%Z_;-ٲ'zJ6Ut쩡 tZHe O*pMv' #:60 S&eWz]|~x'2Rfލk|# 1:dzݲuٞzp cO۾iopԣ'n2lDpmB~fP)_ӕ*z.jhOANr j= / H)E9fnDlmjBSդ#2) #4H]%cUH=O5B?!"``wFtZD1 {l#yo;O3ոֆKL k!1UlvuNr@_>,wrNhU(>ŕzz(=cnj~P)c!o ('{;ܾ@Z3ROx}T0kRLC\dΝ3ajs~Yd w!-@=\0.%mizܩw(hF&ݭ6Z3(>}^8#-cP kgȈN ٚ mŰOG^bVZ~pk7ud!D,ŰW&y}ٿѵw Gcp: pi9BK6$\׮\Y1C|V!3aA_nBN2Mw3FT>z2ԦKҍr#@tyԞ N%}(viʴT}FX=v4ʞdG(kdPgs l&4,O@^ fHHw7ag+P.&'M!Dn k1)[L@T^ as;gocq3X{jݰQ̆.Ï_ʗ96{ir%{aa Zy fbufpIH<^ !Fa;PB><(3KƄ0(7SړެC`qD_-Vҗ2H$p^Cjxncq[("k XIF=ev%EӣH}FV;"*כ?~pasц䡟tNֲmq؂iQFG{ <8 Ւ LIEF;D^RH1[ā0G2rQW il}2 8bW,C,olu C1oʡ{ )(7{U17Z[J CLc5PW;5 CG&T#}tŤʌQ%4kfiϲhWE@`g  T^HFDfzi&Gf&zyDښBs{w]ZI$Qɔuj#rj{ÈxgtpzC8Se|:v$ͤm@x`ճ2Zi~ڢEf9{5vE[~isGpq \93몏O=f{}/5r/BaHUs1#/?%FD4ƈ>_.KHNl ;5DW`?v.#ğ^>oX[qN.x;D~$kZܪQ)A`cSӑ;7Pp?8|B9 ZNX͂D'7W[`ņ?bsCӥ^yXzR`̰Su7r !L/ nZ"ՑVM5<GPUh!: SE qtK?D5"2XQMz H:q0a1(̃,4Qi!0t} y'J8[Հݹu$CB^v}ŕ0m{}?/&^jfSs  \; T!cRD W75~$zMSoWDh)Tb7j42jѽ-MS \Mk]qGiaài;crN]\9آY a)M=8dZt)lxgp$&J0B,mNm[V笸E)s$%`fEevN41H|*{Av6tyf4]s`'R"õ(*Rt܇K=ŗ*+)rGVyh=F>(7VJ* `APX+ALXȐ@Z%׆֚eyp[saa]㇖pV8U$F3Q|~ QypBRjUHf'DT^K%0fѻ`q2D>߷֑;w_#5$^xx}odZST}N$RF+YK=uY)z{9_rpOGG.ctw[PIUØGt#ňr(l4S ψ-6>ʽ<=y{3 1@<9 a:i(gٓ:TeQ"ҳ6gù#@iL. G42t# ! .YO=>1oZ/bA*##2";|`˵ԘCnB~x}Q^!("iD ~4:U1|V>8mi8%MRx~#xB(0-`Quӛ\N\rs&' `0spa.9&l"06sRMdrӋ;4br(Vɓ !+9^*X|oI^D'O,.-.coMYKk')3'PWՂٌ֗g@x²d: 9`}H)/'ߗ#6H1 ;NjD|,V3`\׷m3lbvz }dNMOҸ%6dhz1‘ɎP%W7S^)~ۭ&=T[zpDuAH&Qk IUSYzbIx9KoR%$Y](=I Ǧd=/ qiݾZ)WN۰Ȥ4&AJڵ*:)ݛX kns:*WP{A.Oi!DKf5MDRqՕSq{X4պP!(keQvޭ9j}q40!O%e..m5q:w`O'@p]p:<1. @'n7xA`Wy!†e}%~}|f:qp ,0_؋/=uƊ 9ޚQ! sĄؐ)e<^S!&x2D=<QOQi&iWRK g،i6UD!%#*QKm^o)ȼS[zLV3~{n#v3e"cf Gq#NT`c dPNLUFkN7{IH$IJ%2W)QIZ ~Mϱ( eD(j˟鰏D*8Fl4I͗%q0ok 9n{C!i VE: 쎆,9 DTv zq̩#(/WNM,J&%ZXt_|baMͧo w|S 8K3btdŷ?.(/se"1?0!爆n e:sTx>q%k"[' ;gF[ icF%EPR,%é^+1KY,攲I=*ꬂ, {W5y`  ӏ'Y;r"V5}Ջ#đGJHIP8 Iag<B܌U9㕴 PXzqONUOls9i2k2!*|[EeG6OnY+yF [Dq6"HF,; K3G4%yp`%*Z?DRkp#K fAS agG#& ~rަ7lV_D3ZIa*AH\Kڒ=8 7y? P`ph U[p97q\*2eO"AN? r8Hcn3?voUNʸ8ޕԨ9hyR6ߐZT O W3RTaV5<Y(A"q\$=$Cx?{gBh[c9GCzUTc%x~\? 9a[ < )+bNp)&+l9YӂVdL\iwM/&"Iɂ"W^O?<^_Swfܟ#o-F63ݶnKKF-ۘ=.X[myTΨw#MXk#X>UYNF9%Y0x%EuiaT7Fb,:%gHPe$ }p aBL0JU|<؈J`"`)NndH\ͬPWMi G؇ұkn3>L=>,VyHp/ؼe#J(rjM]\e< KkF0D^>n qH}S$I0,x`#f=aKsG8H`8A 6=zgV&zsY"RZh {zE@ÖKèfr'ps O/j+AfTS?_^2?!~* |QQ^Ұ"I IPQ ةO2w&<`cP\Y50xXְS[]˜Bi#Kd}_8U[|C'GEA GM8+rFʶ`h )euo][W%[lPqYzsbc ܾ>f{Ergh1nEU:k=t#@۵F  b1 #yMoE:Gr/a a(\@M?ٛ^F@,\h“a=zd'(ܘd@y3 AT~ʭ"ztzɄ󛔋K$t=$8ShR 3rr09Ŏo@<3#-|GDu] "Hk *i(2dۼ\amvө4~KEfEK!K23vbG(ȼԧǛOE^U#vb՝GŘc4E.S!- !{N2K>{V&KM\QX9)B8jD4L8OfxI5uvWyo>wfrm@,ֶ ? Q K%Ϊ ^aV!rO^qo~Y^873uUp]zKX7G`y'n0rZojpq)Ӟl]`leAfWT2a7l$܃xqL\h`>}&v;z%h 4dXRU eHu~,IW8Hy pZW 1"枕#D|J0RT{lgS|Fl#K`%ZMzb̮IP 6#}y}ChUR-C*h: nDS " DCV413(! e<g*=PFGVdܴFO϶:eErKv̼m.lYBfӐb#+p<*k/aQ+<_ #d+!,gKsIxu̔7K_I K2cH Z %_{a\nv0r:{@L4lh13oY`y凌˸d~} Y¤tdGПOlޑQ9!.MS g#%ڎ B1p3Tߗc^2 'x5s8iA -RBM%SH zz>@mכ\hiw (p\UBnaƚ?RGr9W !}K7"k$/5,Q1p>{[`Ǔk G =L`IJV8H{Ok3\đc~O|!sv if 6CM-u~3u7D0¯2($l%HːWݧ uP`7Q$&E" hȖb'`U10F8*n?!b)0mӹ6$Zym0={B()"fe,a]Y꣚h5.~~zRthe+E$v,M*ڐ,Z Ԥif.ml"34Rt_Q [G6(p L%|0.yF eiOttj9CյQ|rrZNQ,[dЖ*^ zQiOCʌ4.W9f|P!`ː7˃-_j\U8u&mWdk "U }f( _O5yGvcdJY_YScPY/R r1q 4M壩?)8+zV( Y %ci;Ga?\>A=xVi) LiY3S>k8Bq.i?ooyP=vaBm*is؂Ra"gC6BvyڣNoHsHqѦaeg"7 r O T/~™N2'5KA!H`GB| V Yp=|xmaAdɋA,I zay=DѬF_LL .$9ՔJTx-l퇕N#z ;GQSڶԄCN%\2Ⱦ;LJZ]`Wۦ<#ў\D^b (Yl# pr*W<*ZwwkjhT*: q$c&ʷOx *CӞq>TCJFĈL#!hBCUn~}> N٫"g G}Zɝ IJ#@ Lyʙ&!Eޛ,Sx,_3"nIl3R<<X <] _-nh鵡L,2 W0<{=IN:)inHH0э&T&_ؐW;bDs. hcddg@u͊9. P޳'Έ+~sĞb Hϼh_deOym/>_^s3:6j 6Ayt熣Wɒ8 gJ!D63yץ#+2GbHި!;Κ?EN$Wa}fq5AՀǤZ ~W"}~[u˳%̒~b'_'ˏ[ǺO&$bU a8p!6/H 82c(π0QagpOjkSv+sӘ"%qrpȐ(ePIc#K2Ѯz8;Rj P٥fS%Jjcð#8d`uK|Cap:DH1+5W.!‘uE&e> ]O,4_m_YͅІ/46J0MCROPQ0bA&qp^ɠ=k삖,bDBy;gDřT'3_˻3zSѬJiRG Pb k0l}9xa!p^y9Ag Œ !{&sGȦ7{NdK'ckB-Ew0ԸdwOfG@N&+҈Wn1u9&-k,7C.:+- X҄":X411ȡݐ"ؾ02`9Ndx..3R-eYRb8Ҝ/ذeg68@ܹظ<$ H,X]fz& #3'z aYΆ_s(Z)x +%BU+rWy?8+տEoW972W{`yt9VYvAƃz!Ĺ=F2&Ha*íHl-$qPI(AИ"Q(W"rG|K-M0L;uCOP!? ߤWѫ%z5 gAQ3:|$.OϞѩ涪u e8uq}> Z%KB93 Æ~kAtͫD8A4K6^5L DXzSϛit%NkzN9 VbFYj\bߑ_ !}ʘJK!] Qug/Z!-\rWVn2Ɩ!zGRőM#Ijڋ ;]gVIE^o(9sawV؅JHpԌ!D,r&a!V5zt"(ũ2MƆme $sBJVǸR r"Gt~6-BGP5izgb_䨳%v^Vw,_:j/U5BLim ^]sBݴֈwW=b#0N߼xVB;a2jCŻ9ٮ40"ClB`4>oie҃8d[Ҏ2FnM'Յ'ı$*:`bV/[/c~{&xLA0:{f/L[vѥ쯎ӿ=˜l~nsBtpQD^{HݓcWmWdgD"dzV&[ okQP@**&_|5D`WfEEx-|`$$MȤS򠂁+OEҢ%16^"}7N%IFIyDx%)#Ü:jTأ.N`7̐s `(u)*gÒ: g~"8gYFУ1nHВT| 8bmep`Z@ M΂`d6jDHR-y̽tHwΰ>R7,S[>frmS ۬2n,€k*t~]tqVd>WXr>rVnԕ&ul=²61i`! [gnWݜwv&XLn^XQr3`y͖,LVO G'v{_<{M"KjPKLc"O .zX ,UcTj]R0kC &qL}<ϸ& h|?g)yz>_ݭ% cNF.NdP%Hk;O/p־,TH^ {hTaDZ^ԯb-̺36 ,YP~yj*f3q.m#YJ1yzMf32Lю3&zx)?=r~"8IF@)A04V@RLbξ-HAF0`HMYD\+{iNg:z_~&? 2'SPD?ҍTKbqHpYy> pl-~^.- {q2ɛn֜\ qVN@i O#QPxhīggBd3[PI=e:pL)8đN:y7_[O@+RZg&{K}2h-twb֞AH@d/LdhifGNKFe~Fx+N+3GRQ *xK~k nn{םc!$9#7K9)Ybg? g8?^+bg@JJK/S-2~z= a3#kRtᰝ$1y)!JLS*ow7JoʳbF]*BJS: VZXZ +MQ#N!t$& DQpKeEVV M(8 ]3茶}P 9a: Y6Ќf±4.V)*Ǜtmɡ2p eH-@Sg!x@yCsOcbITnAbH4q0!L3=2ujC)"$ zFę(2$.z^=| XW\'L׼)ds ĕtHLNfl! j; 𳟐VVR]X&T01Oqi"#gha\uwhC{~$X\b0Hn:9-i`K D7~8`/-{49ђЉ+zrF|4Ja\\0m?ć-'$))o8 667`ܐ*VF+,x.LX0!.?k&ֶ"!̿)ԥ|@Ȟo@2,!^y$1C&jIn%K:JlsT:w"T1wJ7eO>;ۨXEc$5}F2dwA4@[eNR"Fŋp.gEKG"]¾vv3 g- uWrHEHN8NiQ;$'v( bbFlˊ YRQ3a3U3gYDO}wx'9 9G( sG>WA6ɜ,goN#ӱ+, c'DQpYO^z*q[7EEw#%!"o\( !FDP.192e.n4x59%i5"p:/O+'QE+d%u?$߰{Zϱ[v-x I_{"H\1>m%c5KWg#ww']ÜxKdt!=+"HhgY'KVWk)tJ) MaHA,ypN҄oP ț-ęuxr5'|Odgfrd-bk"'-e پ1HnY@Vs!EN%%DV*p` cg9* &(M%3ڰN(2% i4´t~d9OC2 Ev0YuNr1l%R%|! "h$f""3`kZt+#`Fl.ƣp7꡶AeukNl<28:lt֛bJzv2 Z_KQsQ8׿Hǐ6':,GDz4lrWl i22%lU6ֺteГ57x'J>y(+ 0NZӧÓMF]ajA*pm=Ѫס{"a8F*S9h-/׺%jBOvCA6l#z#0}3,)̎y5BBR$S)J+TOBrO.&7>+0:NݻͧO $Q|095¼FQʻ/͡Wx1ƕ!Srd!ϸ9Mgd˓0H8"E*/BIƸBGfwH$X OJ/+pPd􁵺E#=gYշN> S*sܔ#*:N`\ey]|{|@icSIJq(8LM g({$Gb366px,d3oT""0祎gC3f#{139VދT;P_OAZxuaLu~S8ED"@\hN= *-HtSg|D>!Уc/6 ^6k;GG&C`*VvOE$ٍ3-a CF"}E%DEe)u^#2ȕxGoeۈoiەV [E96+^˩3}"f6EHVZ{r)Hbl" @NOCĝ@@&4 .mL8G8I`簻ܧS}vE&"BX I$Rukt;?i*/g?aQmԊhL~>Bz2=^m%+G6B&ȁR Gɦt; Sva(l@ҠЧ)@l+YEePhEVZ4sG~FG˓D ^00KB(Dz$Q2<;oFON ?d0[#_/!I'$NJw3T:CPTbnf狗b^"v?<'P`"NtcN=zY`5Eq!(%Pʪ!q(?=o l+ɲAV'L-"Es-.ύ׵LBղ4JƯf9լĕMo78е$'/+$5LG^cIӐ1 cs")+iE}|5n@܂H>*bo=gw8CR~sza'7*<6Y.uu c R^qAFɳ~ bbA+8x؈@mDpx6yY #TN.f䇴E[`ʈ\2.'eb W'0!5 ==\ taTww05/s= = T6&Ed_ zy51`}zṁHQ`43ғ8312~O)6-`\t'`6&4"I &ԡAOD . \<`JS>7k&߲u`oSQ QǻYSKK ղ jkтSimY2 ToP;uyq{l7{/b$KVK+{@6XNj}tGU׃`X&"Y& 4a ?n7 ݝ6#Y jfaʌ.W$zܼHsY|z外deb V6Fٸ"ˌQF'QլjDf4'a_pʸ9y@C`09**ZNȅgL] :!F$U!32*ؖ9+X:Vt"#V"f|UzXgoh'}gi_*B`w9!|cҊ1N{&3=Tj!X ͭKq-<4%z&V,hŮ/2rT0$nFBvtk+ӯ$rlIjpI44Nq܊ 7#cCJo6=Ebas3q=#<_B;:FnO?6)Αx$ Lp(Xc|(س2}v̊ja2mR9d]și2NbŔJ!lnid[(x!a? sk"7+,6)7 ?]odxUj僈 K ?`9)\O~@Tj Ip1N*EOMo?#]{vG!i3R^Jvu{d<Ϝ7rHPHX7`C{ pиKpEJTfj&Kr;VTD- lFzN$6VDLKVl-2ks2/ ZUv̮ 9.RsB~> '< 9H[CZ9 M*DzI,_MS,2<19%==8!2pT, CSJ"!O83P+ rGڬ2U?\sW|MVhQ a G1ży;o.gdK%#ڿ8; kM* c'h]:fNՎ^MX-5B/#Qme^ A,K'{ 嚚`ޱR,L$R ~Ej@ąSbZX=~ "rxp:NnE "%#ҰGYv@:aÈȡqiȒvO^a}O2wsDbwm`ڀˋ$yuS{Mxb-o eP^V8g%"'v׏}<~jfj ђU3sAEJBN(3H,gSF- @ [Kʹ'7~|JWL=l@N _qZ˱]vww3f ^lJZ mjlv~?L96iOs&cQ&GDlͭO0J] xii3q)‡ 1dv&8-AVbq:QsٷɆ@6͆)WdQ#^pɆbMt9+הRv4n͗U׿N3SфۘwTS9)pmi}#S{椔@~׳3V(qR9VJGHc<ِjܛ^yKu}uN:9JNbٴ0'\ IQnj<`$%~::!bH4$x9R2Oqִxُ7.6Y?Ȃ񱅨f@bM9YnVa,}+9xwz RP4T.}]PND;J$$<{: $9sp8ЇıR]4 5reW Bk ;߀}fXY,5b爔Ϸxfmg97ʌT/NY5l?ٚc^+"oՎ^Aӏ?^t/]bsK#eUNq\nF%8y2OL"{?rVGJ˛sf:BnةFnmĶdV)8&Oa$)qGGª E6Do? [CAg_TD'G hlJo\$bKi@R%,'~x!ȗN^FY8f8'ANZa>{*7FO&m 6|n V&rndvOp}IڢY-*N2Rd.[Gv7.S>^<&w]j:ľXH?XU pבH) &Pu sfj ) )jԭ-(,Rj4x&BR5AQWDY ʬ)Yw4Ew K={i.j[3 ^3I UYJ~'o @ %tV\aTRi0,@iBWV/ X/-N/r AyAEU,Yd3Lqcο ɱB?Vk _!+6rB>皚ǻpV;p*S]R߳&"@NڌP=f4ܩ_Y ʼnb ̙\ԓ‡FHfI#6ygBϘ93@Yt0HPIu]q~#si034pe$4϶ԥ鼝`݅O/-2%r.L*4ff|wi=bFk bT$c^4'̭$1mÂ``.P3nGg{B* YVLWv iJv2{k>$cOrq gB].[6DML)"]E {TT%,~^'y:'|\+0{|#{;-,`"= '|_6>=^$#IdqQ0"J6ѱ˅Gj)m'zoo6dY3! 3B#C@oF"M7z{)0)|RFO'\W1ʂP8 C 6G"\ܭDևѕ͜Hw8\54;@`g."X_VMd{B{:6'Nzs3XrYq"*I-Ɉٴ9"1X&׉mvs[a3m"p"VOfVM FFWNwxDCe}KET]ꛖfG$`K?&T{Y^R$a9㨌N2nOy?gmB::٭ bO 4%82g~Gb8zpo.?"džr(|#W ^5BB/aQ,90T̪43k C+SPQ%'Be?&V 5I Y9*qwjَ ٯ&[[fq[jVIM=~K6;*&mSַL{&Q;ض{֮'\̊SfUEDž0@d95fƹԒ6yeY%洃U$̀Yfdv ߷]D' 6yG] j;8VܞՀo$*LO=e:!z*CƒXH^" wrW5W>xf49Vv d>BdDn~XlοxFY+;>쑠(t8ANJt^a[eɶgħ,׫-ųvV@ce&ABƿ?_ Kz6X+))}ܫ-L']]_/Zq#4 bKa(Y6ӗ1bȝ<R;l3L (a߯? j5/om44ޙpZ!>}"~󵼶juJda i6cGl,%eE?.=S/~r]I\(ނQӳo=Kzu֕X o4Fa!JdN,"EhCOOn:NAE+|0TxcF¾}2-+3!NQ*nI0I塷-ӜW7%r;ЅZr{҇8//>!E$d FA4|vW(W7/uUJ"tu&U':Vvv0G[-Kf4 8>W#ao< #ݤԑǎ@%FӋ ;$B.TD=U))O1d=2IΒ]?Xp7OfB}ӣsCP|an1qjzyHi$~jldf㔝H[=޴IC-pVQhb=v<&9]eAY±Ր;퀢 c?={K@,.+M"I%Sf9$cѫ$)g[Ñka Xf21,^l-J,s&j/ S>/2Wg4,z$&B]:rs ٺ^:۽N>PK\!6L?o܏$o;kV3lY$IC*4tZSuBmn0b':L#nRB@G GWGSVIj%\yP׾4u˄3ƽr{<|}:D{A26xmqMR=zM`ڙ.ǩ᳐BJȧ25ߒ'EpղJ_Δ )'qR*b!lٚ\ڈ{wm񶴃u EfIZp,.DGNq@]"&.$#!LX8)isNjN}:%^샃a+}JsH݈B;FhHeYǝ=f*H߻0_h3N̒'<*RӶ81҈\E#gfћҺ3MIG|]{ԭSpQ#[,"9"Ål]DI<f_~0=5Pt1G\Hs t#ƁMۍb/`O +# Ad 5 Iz5#KzkʹT 3р]A[+q㌍^W^D)~S.CQ\cI-9|Üu)M!B";;`[RfC%HbOcغaX<rXXO~~M13 4B&ٞ ?>[b{ó# qzy^k cۭ o`$"*ӑ$F]Ì'PP3O+3;˺aS)%pJݨ ea*3hjq;z+#h])y1Ӛӊl&D"D2>>veZm'J#Cqf!RJQnD{jg6 f3N"SHDc7GT۰3`MMndc—oW7d!;`iW"s\#iKAR.hSE Re{~'嬾|By̙(.jb83Vݳֿ>H1Loep ]bo3Es'<#l ThCAx?(3Iuqd= 7,on9}|U3G Qؾ^lYȢ,Jn?bԔmcP=*eͬfqO*}]l <'a4nUL,f7$_7+݈^O "&7#ULs::{dQ9|72{!8_* X#b4BAvC~3Gi" C"<.J݅x)b9L2~ϛ3Sn^z%IH a 6<<O1sqJHꔢ0jAuUqgJ-ӦeځGlF e ^rzdM#vhɋr rFΕ 5ڠ0EGۉ~5ͯ$ x C嘌;p,FEDd `SI'˱K淙rXFRxi!HBrv??`ӪR5,G$B=S5H[ x5~¡{{teWNzOKpe&AFKַ,]n?Wԫdw8#/KPǺH9k*WЇ3U/NٱSv|ŔHxt< bHf>3\b#3 3/ӈO\ϢXSnټx/+8hkچTZո` +VP12y<-Rdhܫ/ i3>|8 _C\6-`珰9/^3!^mno/O34zbqfN:LP0=7X۵UE;.x!g1aVMdn֔KAwGY!.ֵקcq#cg7BPHȐ{)w局63q{m={Yt Ίs"Rt|d;%ĿW~ڪ_(d[@4#M4 1+i+E-O=#8n,EX!~1[v Z%ʑսZYo\Y츽֋d0 _2 F'Hw%F㈯Z|"Q l>Ys-% vyJ]3LʤǭMT&Xc6ęw"U36)~ ^YUˬx#EL+ǃ$^0!fG7EKHn8i[E4PΩ1Fy[LCxI!>/`lE`48]1K,3}%r;BLbpۆ4d{bQYۏtT${v"UD6X;0ԛZpdbXΆq!No,G"";b]H0I6AJϗ>_߾$s7D-G, RHDW#ٕRyv>qHͫ") `e +gHOɇ9baDdU簗vM:C$4=4#2$Pt~[=[M!85EՔF >0+R4%D2BEUZ]XxdEnwi'Zeڕyѳ68ďjn}K뜭fFAPB+V6^7e5Okϱ-Zg-dWBԀq!5FY!|I=BJYlp6bsQ7><_aql.$7!Ak0 ~z| Mp\3P1T*Hʝ YnϪ\4rߓ40^ryxVnIX; M:2cZu-'3s^8hAZIt~$?- L`o ]HPQab oմ!Jw|%\|w7 5PLBdY#rjOAtg;L:(0&Ũ#Cc틖1TR*/ ZE\eS -|H)c={^TP=l'IM14 4LLR8||8N!o2#ZK"C ") 'kp )~Hjp-c{-h2~0'l5ψ&9Իw? pj2D!!]ᬭ7 GO\k4qҲ"͏-1a(jqzn c>TK$Jϕj ߬<_=ձ>pD.98CO QX26Mh4ɞ ϟ}tVܳq0?,AWu茒ƒ7D^!KH=+I<_Mo,fѽsx2b 45`3*gֺ$uzN71Hz%odD؟k!fj5#\̞88U<:r9O #H:{ad@;뫻թr `\<{Q[> gZ6UtxQ8H]+9ti3DW0z]Ae;ocmvX"62Fly'Ngiѹ#}9U(& sWC\vG/IKU'[,E$_;wӓTh$^!,!ϥZ66} ArA,"j$zuGZo_\^D_G/IcUٜ!p]FZ jv~;C#Y޲c||=-{2@Hsg3fa]Tx+ܛB!jV'񞓮&!f.9;S^1[J#.V!&]"!4YC zo6TyTD2Q|Q7F,pƷQ/,΄Pq)Rņ3%tDSݎ)LQ_W,sQi̿ Yx2a6 "Q14Ϸ;˥.Qw&g$Q q"PEZZ u$]V`+2*g=?vD\$3s%a0ޙ"!&%ZqlaaI#k3 3>R$^~59\Lm~7r"ub i.'X,MP+xBU!%))bDV ;)g%KO, 0 *2%O |8Qc;W3n7GNl4Y0=MdNIJah$rX{$XFGVZ ;w[ެ*}癁?uƓ"z|ؽݟ vTaRdR>Xkv~?DIz$YaM1HDR [f!4Ծ;ETkKVH9aED+oRE=OP)ˏ6w7xuud,9 g" 9 8<#JID{ڑPKm/S}AkEv(0ipubEחIA}?,,^ϭ5')T.վ:/Lḡ#9X1 2?7_H 4Y4kFQڞ`w.tva3Q%~ɤ?I\ p o]$}yYPK1W`gYMfʬw`QI2ۑ!v FH S~|8`nL|GT#YCyMb2q6H%E l|D3HKM06 k:26ug-1>0P9$:܎M8xW^S%jߔS͸Pb5}s/l8_j77gFnqe9m"YplIE+bsSp刊193*כͻ@acGp2;Dko>v' \/4-X :6Bջkj%3ǎ*6X`ݑ."{Yp|?p2*釱$P̹0, hS%/vy.Sq޲١=4k/5ܝcApq?:괢 V*l6,^C3{X߬ J< ! GGd?gIO(Gqז:9R02x@47(sMTZ\ϗOX#^fxX,c|aٶ8bKgXP|O_bgg[71ۣFsERfݳq,-虜V fv` 'Y:7|X=;OW U=6wb,L=ς*ߜpm|^X #q$wpҌ\WeIu4Q>kk6d1`qV/s~_2 \wQu0ͽyb:m^%G% 0.dpd^@\zV9XDU+5Nߕr9 "6pI7R?fu8VM3u7;=z.L*_rflxdR雎eg|řL0iLiD 0 ʀBfzywx̍NdbYcǙ=C<#NܓI2DI d5Lrx&j :sA%g ,|Ĕ@hmfH&W9ivRsk3spon%??ȩ FHыO>l5\.js'e~@adfaY,nYHlovwȾBd]Z4> *%P2nHdK)ȑKd8:+Li 0{*yˑHqmYs=,O/؛4w } }hiqc/T{CG3 yEeA隆G(<ݤne9`v&]uWww A.^6o#_aMA)xQhO'Y 6yMc D%'@n$n ΕĶwNLQ=v^^bt+n{p(|X,VdɄOSw\E r{y]&6 8$xā~fלj!N߼!+mxհEJdo>, AN,]%Qm#YVm{F"o=HS<5wVX؉FzJ7dLY+ uH8#nHeqCiAfЙ##~EB 'mqn(.]Go~|~¬l28U! QuC!0ri U);Pim8TZr|߳_y" -̚6.NpbOӹ3fhmTAI3١SO-p,<9E`[>TVL?s{Eͧu.i 86YJP)pأ VbbS DtG>+(S ;YԪ7,4v RլΥ5d(?{$ aG9 /ʵm =gR/A+|e  lr1])tFgS$@LA\\ ߳'ϙ- 䧿mDf|v~  W,ZDT YO&;ˊ D{SpX9X -\lF[#`԰nK$IS%5FMgnG@HE*/V8fbcS=KJE3sI*hW 8ؕF#*`RCҤkT^J8 C_ӡ2)>P<ŒtS@^IN%RV\O?%F*5ȶn s׸$UƶZXmo9;D}# XٖiJ9Cp:ͽ'SFф.J%~ЪlVdnlӒ:!*\CD1\ 5:Lc-jjY ժ4$f,7?_rCzD_a! !c !<4l]{qn+0ٯdI6,=ew8H?m?b;ԳC18-{F0>oUۑHȈF@? OX/eIv"Y#ÑW{$x^SF1~Y)OV&-왗LHc'6QvD/ƌQ 1a@2`kU4B{Mlcb0Yl]N]!ܱ%`P{*roOY`]~턵e8g3qko7/;jo%0ff܃gUpsyӏ́uP?'dkb Kɹ@#'rmэ*guq;Py&[}bȜǃ~{X"HE>* `o snN&s$yČPĤJBS HO !>>>|zd_s{{i\kᐡjC I=uպ7|}H7,_o#[<2ND!@!lKbN]8c?OzE5^13%)asoAq`!d2 ;J4'H㨼޽y Xxu E!nx68 &ߖZ%i9$l#4Tr27"\kI(wU?Va #0++v֜bfv^wN})=ɝm OĠv&2bLD?)Ւ_Yux#B㒯y&0^I&H2.?AV7&tﯟDpzgLBp9#;3|{ǸnJqDfhHPpVWYO_H{<$鞰%i)m)kBb^-):m@[_ 8gђ }Dh18?dx5Vus̪`f"I]efl@bw]|{7 k^MN]a b8a9ESlC )c8sS>>ydؓn =jYLӇ8.BG k3l"\kљ# qHTOX2K)] z$`le==<+<%Z\&XH[-AXv @rt)84C&\$ G{i/cN~ a|! 7qt}o7뛋okJ3rRaa{T]`:90gx=r[Kc45Z3~AiEEUwvԺʁ_$ kCK$Z!YK*/ pk-j/)ے;)V]*:((`$o2c`7P|dH[&?.27fOן/n}wum{qm%gɑ33[q,fz~ 909n $Ɓ 6m|fO f*+טFf4RgdsDa$l]ȜiSlLLD ZO}w7)~|fW*8BDjA8ދ%D*kPCO'G坲 ^]$]p3i2|{#)gL,_yI|VI~{9y |0S׈Dː].0'EdY%WiK-rv`gs-5RLS4lq%vfB޺,j͋'o k"esu+OrJ8"칄~E=^JxSVy$ſ'"a1RH>'DҒ[Cf/f̠5%yvz!-{.oLfyo )"FU\MW߽gUg{(6>%KDy<}rs$+FI2WGZĮWTs"K^;VC=!+bW8}s?D0#i"4~?]zo#L! &qr qssN'|K )'exMgP3lm`@_n5@E2E(bBmfF+E/B(SިpsHGRA#ώ?lwB5d]e8 MݵEo6h(ԉ4AHߑQkUgp%KRj"8ܶawk\( .0ǡEHVRatJM.&kDpSmxH @y^>}a+'Bg &珗|Ӑ0D6h,N/B%4yϼ[ei&O-)>P6'V3W/^psoX 2i`"G盟]>]7:zjfX([8uOQ{ 3 q!R61CbN*ps:_v[N=ՇDpce(j b" 80IS׼QK/d_g ܻXb9ב\$$#򲐬2I搖mR9;Y&OksQ^WLqi2)Z9)@׿sl%ZegJ!# lqjKsn1Jƚ7#%1QFN:TB qVV-ro2H N:!(Ii$ gL nWFoyI,B? U)?+ZBUJ _ufryV0HY>nϩ(g(A$0lV 2^nߖ_V:9k8RKC}?q.(kՇϗGsJZ7+8^XeE^ZZ|bQR >΅OE&gG, (7_=;"݆dRLMWp#ǹɬZs}"KWnq͆沕Σӿx|Sq$y8NY?heZKq\σRS87`I _F7`/O|:0HHRT*,ˁ՜*bKw֏׻?s(s)PF4R8/,8^W#!8@ɐtw#hP<5G{i#hB\J48kr'rq"QB(1|/L`bzRXSsa!+}i #ԥV0R?5?o;mI y-Y/"LMH1 Q;Jӈ;wxD;ă-n{Y#p%2geiVI-"?X,Vy}~sx$ Z&t7C7ϩtKf2ܕc-m":d2Y#Kl(+'C(2fg3~ )T!&EE#ɂHOHZ3Ӭ#xdP?x1>3>SN^TٓNO)dTs2Uf䴹/؊0P׋ɵ31%+5yK푮ƃW8փ柃˟9 vM]5(ϸPoj17LJ-x7yYJsL%󈿬pXFIa>IĴ8tơdp\ kݳ$Mf}T;-^q"/&E5 ilgʣrl0⮾#ë/ kQ*u_ic3^*o,Bjzu}fU.j[ L?ؓT pDZֿmτKy/+_8\T Z4N]BP #aCpOԮ$re$ !U.X̩/o~'+al%(%ģ ou#ѧ"iy릒!/';;GCt@|]]8樹mJ,xq^q 0G8#e :85 Kct2y9 Gy"mCFH:{9Kbn#Jm)$Yoxl~}`:֢-9KeF ")>K%#41vNw5aBsns{bVVk S]MIp3B#Č iOΜucKu7!zQUc*"X\sjE PTZ٩#W_m=HthI+k :9bW½BGP}6 ]O,j_C]&Y0΋t9ew5S#OW-/_c! $~.#\a6J)" g{X!G `ԇ K$KsdpJY)re}NScaXBڱ^SXhRY:Yu2Ŧ2ݰ~)[5!6[7aSٲ]1.&::ja]'Ň * S8+#IX F<~Ѫ]i+r)4 cΪTӛ.;J#d2DBĆ/7Q(2UHTT}ܦ&|w3T2"R& ޲oɝD sUːQ 6)ٵppriސN;i$Fch *0trQ?4RO"yc!{î~&}=mrDm"wۇ㕽Y"wPK8IxD)ILiF`O HaZȴH:EF^$e/gڈ*x6#NoLBE.c2=+!¥2p:.+8(6~OBD"cn#V5 "FcqOpz)`OD%5'c[Hƴ3k8kȏ*%Ոk;KVʔ"\.ҳ""+f[' + F{%LNP\МFXc{mɈq>r=N}9b;{N~.72KXR,]Ǿ?3Wj΀!9&i ɒhqox($AXD08~EJ$jiw3)9(2.j8DRF OxU+5薄Vx$U,fś7N{|aQP#ͳN!rfVLt3SI0" 2 g)| FVUYK+xKEϚ#@w7cdEHdsNf $NH E :.22UU6Ɓ9`ME7^;묒%fvNJ%{QㄣˆS2j:" ?Y S)By#R])>^ɍ;rά]RD|#W ƮgVWӉ$ԀID)-J>{]ʛ-VH b,t"VeZ)pf rų<,"`WSnm"jq] o"ƥ$@6HbV}{ﳾNR@c]4 N@ vhtjtΖ̣X&sEl* 26Q[mTڈ}配2Xч kEZ@ab<́٪I'xz",Dkn )>saˇ葤wT 87UHE5)nX4v|N}J(2W$8}ֿV]qg`v'`yL?d3ӞpԪo *|#*2F&+':EB[?ܓ^$bJbDΰo~^,2  cYKS}s7Y* Q1BXӂ)'*2~xR<{$BP *13`3 rBoN ӽߓ_(Ljq p23Ơ\њ%\Z)UBX> *6iQQΝ=D6}-6`r,&Lkt#c+m{xm,ܕRjga}| GfK2WcIYY8Do'p \^^h+*;fH*g3+<Ђb5qyw‡׻߿usnP\DolGxO[ӛOG/9\8zQ 'U셀b̽jODн,U kA}Q>k(Bβ#+Au HM Qj\*]RbR=)QD0ǻ_ORKn2SLp4)s23Qu_M?ٛBaj32cP̋p|8eCeE6mﱇs"2T) x)#/BX >}Rh8W\f919rs cB^ l#=mx2N%ww?p)T+2_|fDUE0z\~bï[P{׊ '’Y-dEM0YMq`բΪG]ҼdNGDJy_rQ73Őb! kak!Qbe` `愘_hf$،8VԱ-Fʻ`r`r|.Tt:Aiv^[A-$0u$9JΜWEn;!9o.w\bf# q-˭ByQ4=mşYV kW։%:Qq5ǶT/L/_TNZc8go ۷Hb u"&l.X3dB]k]?qJn?\$cq p2yW>aOx%=;Wf&dSMj3DE@Ily?$]g<-IwP˂2%y^ο="2y9qȕd2+}tSy`ϨK2i m2ƍ#li7T\}Caww{{.UR[C3y 1Q񸓷2 45{*8߾YXĐJҧ8HR &.r`\WP/٬w2 qRB\۝ǁ)į H左0lt৶zF=R'9q} ND!S) əeYmͩ@'G?扄 nF31穷䐓y؉\߹fiը;SO3KdYm;K:xhr==IE(\4 y&K n>l+9ztU 3h?ȷJ8utgI#9cؤZ2Ȍ+*>;Ȳ`_9r©qE X$+/=c ^O %Fs=7'bY(*nhܰ04NG\crd{0m538@Ma_8u1B!ҩ:ɰk)ue QRVFζr ,o0UIPD5eڮ,l\ŧe XW47N΅8͌JIYy;k<eYY یGg)q2/*d~G. ~df(YMpts#1 A:vH>^[ѹ6кmsD"D3 966I*r| 94E30* 'Hs^p =CBOvxFrGnҀ"ξuACdz#a\GH?H!#њgLZ5a#%dd}lWjzusLX۳&.^<.I;'MjX}h9 dT{=տoIdqBX>uB)ӈ\8bPo8) t]$-ayc.{ԃKgψ?5|e;((Ii1VGܐ ,tNq/v?MyER>qNsU,%UEKcJ5޽;$fۼg{u <2'fZ8lEF3tlEвW-Zek1{.yOBjvD1~6Qg*lifpkJ}xXhR-zV. QYw kM!VubXNclnh\6>["X^z̈Fy}{=%-#> Y>(HRkE-%5]I$zqpqac_a\ +eNN3bՔ>x8=uY#'R2uZTk,I+b9C>nMywo1T<4@o"QK !2BkB%.7_&ܳTN'z_,lWܬ< e|- SG@2I3}80`8퀐\ijNe4#;1BP}u˹bJ IgMC|R!0 O^}|rH2puŬfKtr:BT dhd p8Bm2i&S}^ $^"Bڻ]}Tf¾U s¦(3d\忈o/ YD1Emɍwk@n6rIYNk[V uDɌΊydgõ]2dTHY۰,;˫Wd<TBAA:Ɖ `g|" }[s,[!`S^0LUӛ߷"8&EFsCJ#qr0m ‹ dć5XF,y$}-6O3.4Hbp- # T3f#̂x[C5WŠRNHB|'=d!db|iUPmi6# }:^WzʜtSo}O}zJȧ8sőǪ;׈Gii|I\9- ZoA_)byQ\<'TTUahA!d;g#ɽDTEa/) "B[M`qXi͔uJBH1=axD+ g%Z40'VԎ-Gvk69T Ң!``旿3xKClK+RèHW$'[aUgx{Ԣ! ]=9MΑLjDJxKrqDUx/X+&2sa{Nw!{ZbI\itvܾcdJ{z,3~G5aO E > ŸQ۫+@۵@ ҏyUn7*ջE__qGTmcn4c`K}đI(M}q:PxwI1"\4CM Bt)DށnV28>RA2`@~V&/ Su) ŋ͖b1b655Y- $4 &`Fi8F Yaۂ˚"9U Q&2MH$I o (hٗ5SW79Ҋ\^  4TMm0 Ll2 3HjȌhY6UGIt='G}>!_6\ 72SהH?fYꖭ{wuϙгHlzuJFrp`9`죕6 [qVVS 9ФNa SFk($wQD:N0I6+_'xǝ'A!>J3׋-,&$Q:4̺^9es&_M'C aegiF"\{?9 )s$KJsk W[=t:4!X*u:>MʃQg]9Dx V7h!E'8Lq-̛ۛS?( ϸS"A&>q@ǒ,[QF6f<[2=ڂr%.o֟a֗&!lqգyV{݊py*fܵ_z{&G$fi)D9t"3 ?EVr6mw!dQT#zzZR^f7E??MS8[8E6,(\v~a[*33t}b*dOv7 HCr-UY3kq_@>99e&qr)27mz kBD6#=zRYI&-rx+iX Lfٽ$ocXKp0IQ(XdTSIRd#KH c0E߿܅"x}H r,aQb!bQNn3s@r+]5iܹIq {Q>WV /Kɜ4M oNe'm|rHG;Й:sʓT|7sD38(p@BJ ()!]; ">WxO>O[H8 IX+*?5ݷ}^s (9tbPЧE36y:J(/;e+:EJi?q,;+nRlL֙z"^H]Jv2ve!|9i0 f%(s&W?) 6)ĺ̲lN?_/r8/Gk儗z7a ڥq]\pvy6-ߦW9#hF7uՑy),Cv+>ƫWTEĝ(nqY˷qZN%g 4GaB%Af}Je)05M hd58B, -yxLo8O^UGt$R0&UFS {rd(0 8pLc}+CZh͐J<ܬ`$Xπ(H`ZvYl+ kSa/J kUJX&E 6'Zi%"AB[nȲĎ#J娓|7lx4mGJ=)rIqkvՓ_ϐ447ɩru77[%¯__lm%>͚Ӎ؊HZ'V]Ә0S"HIVZUۖX"#ɩ+E-jl5Ӹ)A!f|̧8{2[(ls3Pt}(/ɜ5]~+dVgV_!r28j9I=&8RRIƸ ̧V7?ŴuqQ}kΰFbig"EZmpg[٢]HP4r,~ ㌫?bgP%IQˤdqcm,pT)zVBNę88B$|YB |ӑIM$לH\~vy rW45B稉F O6`ͱlqF&mU :}*tfxm,F99n8$0( cjsoYm Iy T߼4QG/NJ}mgXcE$B۱Lb|QlPN HdKȄɁI>*W^wL G8oQy6l?펂a3|% }bކwBfR!CG"uq&K =)@ZZ,:2y9r;kG_0s{fNNRg^G7G3y[Y%AsMz[^)оS~H[4Xi$g 8ܥ`aoFw#K4&/iðHIj} :\=#~"J! OzMfP 2c|Ey|\"Ln 9n5%Tx epfҩdS9&/?W^l.WD98TSk]\{DKe Ȣ"/!W)եd9yGcx zWH,.b-⥚4OƶW?D\, w}i`3Rbvl&8eA7t1I )syZ,A4scMep#˧f5b׫}oFT62AgP*z,91! n1Ng)B"`y:dʊq9oOoIDOլpVpz^ᾍ`{J; Ხa4S+Hⴜo/>\vmxbpmLYkYD:B3F ^{ۓۏړ1*M%#;jO!p.JE58o‘&P2ѾqbRZ^Mb*wQkrBa˓MF.ARj8OJd,if9jBis;+e~UŪ{}Umvh{MdypzC#(r6 ]Ċ`v:+'s=T^p!|듁IAԈMP(K\XM u!QfË*]7>=tËkaRܕZbfU .i= (}*Ʀlh䖍ZhhMuĪeѤ$Ҕ^d@!TH1uԓqD^3ܞ9䥨=ScCGܵ>H,QqV$֫[rnIC#k3BEڣ"c/ɵ?eރCPVSY%cJ!G5*0!HX ~(;F{ ؂D;aЍtISfb/71+vx6eAoرf;D$Jgd-䧉q8_QՇ}+1l8BWȒeo7 &˨uḦ6M,MdrrF/mY{]~g呼WX2uOˬ%.ǽ+EwHFjS&OumcpjppO4|v`d#HB<B&M~#/ɳ&>>q`>gܪ"IiJgݤd1#}9l_qB{ }LdWkV s\3)%Z_MA]̚PSi*{Ggg »x&x#_:Λ"lWps$*`<$bJ7-&_ !9Di&/&HbUY!%G' GAXvxX0p)2FwYLb <ib ~+7w4gΜiB$&;f" >r}`͓8d]-v ec8,%8 NTF/q?dĝz"'q#5hdnsA|x7BÅi2= s ,Ncʓı\1h=GƖQH[Cc`8BVԪw&!q"O={O{IndRnQx; Le5%ͲmQ XʥSDg r,Qno$;I:^L0_,.ن>uYX>ڇ01SBIp y" ~@/r}zRw1ݨGI96vf6H6+Lv>p!~oMV-xφ@76p]!,hkF/ Cq 4kP}zR¢nG-Id< j0}-{EFF/cxz}Ffο ɾac:L@ >{ Nw=*oxC=B Í8oYҘEtgn<.Dx$#$6L*8KLvV|\RT˜Y6~ٲ=(TH'\9[8a?|#~'R#.lXx3Z;e' v&od\H &2#|!Kdee{< xI!vt[ӈ8Ҿ:4XnDlSi߀Bt4Oa&p#qw}d樋h[]!6: #"E,3J=@=n zCeNECVazNW"L|,pő }mX:ӹF;/)/0MxUkY!sPn-)hBT|)Ykaj?H [VH[g"O*iV\{eh%B"M 8v e+-VDVMJN[QĒ  %|Ce¿s=N0cȪ S[S u8iM#j -i܉\^ =c)D,lR:+DUIּAS7~CZv}bnQ`CG$Jg*8A.&vW3NHEBsF6=f1Ky}VćGP. < qN1 UGdE$&tKfb=B3dɬ.ʢf~l{d] TW-';خJg|h}8=uQ]߹sHV*}/I..n٢pUfc K. (ګ2{Hq 4%>5,zƐ<԰~TAZ=ya&UjW;EFF_pnna=BtgKgpp7p[fW77Po<K0~}6Dfu\0.⟇戃Bd 7d(xW9xT ;G,}Ip4,*f AS4%_+rVdUN!HnTFZŃ~xqψMWEN0Ge2E Ø;QFO= +qܤkf1o,ݓXa d~u8 H%njOa7W7[)Z-DYŜVr֔k֡FÁۛ8w7c[ψNa۟Tdm!XO79@Yu"^?3- j,Ip6﷓;T`>g0j_ۧd6NAIfȾObœ 1 GS9j !AzTܠ&&,ɻVOfXW~{l8!F2Pbmpsql2.!O;g"tBԅ-kuuF澇Y`vv"9x'Uo=ks kFoG dtVHdb>^]-/{#$b4>³XV">|N\^ My'RRyѩzb,YDpp״w϶R̸^_CO26@" BRYvm' RvJnfDžo"XJć@sQۮ/hZ{$_}F6fOs1zMD 1e`9XpߜeD>$dt4q>ӈ:[0)1YG!80 ƪi!_g|uPo8kG#!4ufixqxU 酗ͨ՗9=œg_5.q$tt p 3czq. )>#Z4&)Ԑ{9KC~YG;EO[d3L2R`9~DpX<j4F_QS& ՚g VXK,X}x<}!Xe C®]ZBxl/p'AQW+2 Pn#^>n/E TfcȌ}V̈́@͆Wۛ3-,9Pܸ*֍Tĸ[$e$NA6ɃyH-771حxDـd"xoU!y$79qQ]" _LMf9v!.jX&XΗm./ aurۇR\-5ffXS:9aq)qw5:N2Z҂`x/eR Q&om]iFL;^_velsԱ*E!"LDL%`8K>{~/rZ )O#溒SZ_VV3q?\ ٝ~BY #ȴ$he&:Rg*~\]B (܅O-aK39٨1Dy5sY\ {8ĸͮe㸄E}07aJ3i kIm9;DKF;CvCbhQQMOhdBufK_B>ΰEf#L>QH ci8'CZ9*XPJ^(7|B)9Gvbr,dQފ2˻rn-}Xc)Br(!l 2&vyiq#~:bҭAV3բDIAJK%)˕~P{](X2h-q$ı-3Y$qNvWw;1@\W& ?0TNEwK:Ba!Zض\p-)qH"ιy|3V(y Xtj%o!OUZ1.\41<]*Q.qAm9D/VWZ2՟aH+1d~",b;ROۗA'DވJvաit lt6* 0HBiF_7,|p."Ý$-׆Fڮ3ɏFNwň L㨮 ӄ_.v $a`_eTE-΀`C !D*%;DTΚE؋C l.(]5E|SN 9N )@nR:\(}b`N=B>cAw0ⶮ߽EA>x3 RC2't}ٝ9#VKbo^͊?2E76—z`=9UJٙ+43 {$ns9oևx27o5; 4q9 Nj>;>W$Br[' 8ptZcdlnd#s]YVە\(1̵lpHi4٪+ߌ%{=sȈ8-W" sx{ >[@HqFзcb@Ncdsl(!+RStH'3u5Ipp B2Nxo^wlnDk"-a?T$\ P`]lIִg2H]zjz|f.3^oyrBi&)iTs`iw_Dk㭲N`lDCZ-5MGG`-a.7D"6D l5qH+H+zC^$BblэFsq@eL\%rs{dVdr9Nul/l}L H9DO-n[ۋЩ,lsJ !׺;bV RQ! JIMtEK :!Ӥ))ᣇF;s{Jʭ,,EN'L,M>jcw?0ީt3W )h8׉&'D-0Ej~bx}@?r !]49M VV[׏(İr]s\^-^|9M"VPFL5 QqA@(1{ݔ|ssz܎1e ڡ KJByI?ަ_Wo_.ۅq1тKh; HpH7 l S2a.LHB\ŷ~F}(;$P ߏ*x%1qG-BMSf(@P]w)U3p|N/F/({﮶gk.2 pL s9IEA= 9RK |j3 KhK N~Ȥ ek׈@{#voR<"9'L9iBn >Fw/q ;{@dk'˫IHt=GnLn׋7Dv9v,7]%DrܪABdTa܆X^{rVʶDi3J#@!~_n/?ʌ"y[rR9["_jt].pX WBQ:L}w}Kky YfB3P7%E˳/+ysNmD!CEI*;%5ڏ u&E]*~Yi}jG~}O2)JA{ DX0Cd'Sx{;1\ [!$4e"< UTd'Z! XBWfpNs';f ?ÆƉ/7qO*S' oց5-2c 'J3s!#}l'9J\蚛ƛ{닽jf_[ ͡x[3Dz-#iEZpd58Ԡ<8뉃A$($ll,l򺚹};鎅18V@3lu=JQλ r5 2cMsL/P|'x)r4`Q,Uϲ,sqcuD\$PBTȌI)_70!D+58;8-W|$'bА8N rgb/(}~ď'Yڞ2]QC8R6Wg3)|';G: zժa9I2ArXP:ARc w\ԓ! 2x9F $p`>݊v /?=qx׼ϳC8^ ,8*Զ+rE\gl/"ƾ,1ljm_qɑM)xx$\kg+#^WpE#eIWkX~$'\¥ɈhYAsH-c r; 0uX|1Ix$!kuiU+33H=(gur=gjZqy/̄o}u}{ Qi`ZEBHU")S"@#HÑ#Tez"aYM/JFYD~"wbLQ*"wb]3M?*}&v<~Hc' ȧ*-t ̎T m œWYFm0ITcE"ޓ .IA)GX)=beYb+u"R@0 "yb5pʬL>D00Flh%jAI.o%[sPRoHT&Hk"*MDR݇qzV񰽹-R0є9X1%a v5SK*t@}CMχ5 DWGD䵞"%> -X/N rHԺa3T{*Y8<inA|8879LxKPQ 0t2ĚI6I~0` +--A>yo(YCBLCس{[4*)bxp;9#{H a&wϙ-`':[M"6lgM}jfHaW.3]Vg B9U9ȿ&a7?r 32mS(n' h?Qpsgy '`[$,H9Y3I +Ʉ}&T)= ݻ1:#nR(4=8g؈2df?5,qPw .tBH[jMe# Au0 ʟV9:k.lZl]#IR:U gxV۬$c|ɫ/϶uCFu)ryKBn)}8%fFYlϩMy!^/_@y}Xɽ>jwTqI*tm}hd{yWaa"Qd)`\XOh{wwW$G@YK: v`E~Dw߶WlϷ'BjAcvX#ѐDxdCGəi9Luty?DLq琼 7RYLt0إ+/H#XOfY+.3BJ"n h%3jfx8q,9!FBbY(<4'׻HpI {sD5,%kH ̣|}{)p77'¡Y>7jԹ G/G߈5%tKrՉ,,lRFLu)|0wpG^/omw*'+C bX%FֺMb nqjVw dH'>n9`0OeJwIp8x+q_ v׫gߐ5֘@Í K Ǘ9権TdܴqZq VȖq9H +KY%Kf}η}dA~ 0͙m,$zJW6Gsc%z8JO%uxuC݋C~Bxa صC&+")R" 29`|;G&$)tpg!Pv"Jc8yՀD Ɏ8bfpx8%f ,٧㑵]B񤉧&+\tZ#Xd' َ9…n֌^?p';j"%;p,bSSCpfLIgzvSj Ië$Mx30՜ r_]D"1>ϭF;35Xbz|`Ly;2I{b% J$IuXcWzs^#w;BE\WęXDtX 4-Ez!4V DX s$m QJYO6 b~B;ufl=^M 0j- V#Q`:UJf#SIG1lRY g|ˌ3ٖjs'QK^)ӬV3Tj{ ؐZ )e pn9T&o269"FLa{csaxů仒$'*OQQn NaL5Sa)D)!4B$fQI _i2/1.sR]_|uy=;~Ia͞sn$&AP([0P4-E=FKS3]TFs֚NH! TI,js3h_t[b9N٫l(W8$i!]Kf%]8<**LXҢ4k,z+TkHtv&S,cna7wǚuc,"bjI _fl]u!Q) -23~Dײc໩kXkb}{`ČSHlDxLH5g ެ??fٺ_*F2l9g{/VFWU&,X6 ̮iI>Cr 9#_HX)ťq%vM,H9`HR4vV)#:eNDMp΂&^„]cVpM_JDcOǐ yNe#Ȏ(h ׆j7J2Z0q&FX M$4B[Ռhm]QHX9^ƾ/B UC'U)5C޽ }~jY3cPP^#{3_gg?ahE^nR(خsI a7Ǜ2`7HbhvtC\B8חp[dtZ0# #Dke۔}_|ac3gɰz"5V\k*>5zv/wD]efڧt/7d*k'\ͿU ΔjۛB:Y#Zjxie k{6JX)03t%rbWY Zzf4K;bil?5K;@| % GD _ף탤"^D"Dh6wmZK=?Xn;0-f;}rX*?ǁ0{%?OoI3e!ID*`\d@C߻ns f|xo2vGrPiRYq˙<9i'kVj lj\m"59Ϙq#_~(#쑋8,pv<Ѝv@eIӦ`g g68waiǠZX s08S! DjYM==Ez\8p ko>0HtbU z}pHW.'r7?w"\Ly0 ?!5Y^gmr ;!5kc[=ldO5W!fڷ|Q )sfqN %D!պ~`|` WI,I%CF_X<.;8!ipfVN">S)~[Ha&۔%i:7ƩϷ~Dܖd7HVSms@9/wt6߅VwiD9J{49t|g}é &s\+>llKe瘯cp5CO|L "ØwN9;))^E"Z8e$5$ z!&L5Êg~'ٸUlm}JcމxeӇn$Qf&ݸ؋=lbMi𩰅rVDFoc0./ggxEcj H!FY!%TL$DcX9.[_d-5i0S 3Uw8+ϑU1Fq+-o58â#ǖXȔ)A[dU`a yDx'Ljg<Bmш"49jꢿ 240L)VN͜9Ό:j+j6.P\JmY.ICL׈K'5]<k_9đ\A<@!)H_5nMGXD.84*g6! .'sXBVďkKlCv p'^D>Xx%̈hO#$)،#w˂c,r&Ɋ>`)6%:r̓!Ej0=<qNV{ۆ?ENvSP$*] S 7&Cf )LCЪqRYCAѨd־!8=; e8NyK|3R+x&U5x$qyffraqʒ?6þ|R:KNӾ'׊ϱęxDx ~iQ猊$҉rD f"ɇf4'f"XdӪ|Z;Z OF.UUa2dV"`c~\ n,Gi 3Avxyt3H7H d05Jž01kx D/$C{b3sY8>]b'1m1#$ҹi+ըGtTL0A-Q|G+2j8'ǂ=sX9GR֔+#45φa}Xs8u >3eF@F4ε gUBd[p 8~r{S̕SN"pu"dĪ$lק8G79Y %iP;*ÊCe]Tv۟_wW<\S_uJ `ԅRϽG8~*X#:U&=DQ&DfY92#Jr<BXix!8ij"g~6ixOqy/oT8eK{?. ңathΨl?x~u)S ^aV6GuǬR;@3J0˚XRM2SDhc Q- p*0!84^X&򔽞GS)AtsR9 !*)?" lC =Pѐmww&jl_}B,O*$nG'f};I*>/u#~$=^,_6gȜ'mOXPd Le`NHY61ш,l`BA`B t*ģfqJHU}*'agN8 y .NbL-jOTWB 12`5 NCwYFݩ>[ö\>&uL))1g9>J#؞['\ Zd!7QU*QB˵lfl EMU-Tw '#뚓:FOY|r}^p8>9cTF6( 5w':nfw}wvKA&%#rl> zKDs`WB!-8Bᚮ0ILL3I9romrdȀ >3R!Dqqn}%IxuǐwTb,94"3-1~Ő1!Ewrp4 PRm>& 8%"֊3p/ͧQNؠrA `Ê`*v:g@B&K*[HrθIyB3rqwnqrv]Δ69Xe}[#W3 ó p׆0gN F*" sEYUxm" |T햿]k#D+5!(*}:)$_Q{ ^Rޚ}0E)AlYV'M5lG$,9u}+ʘCzJ91$ZM;IO=pKB6+&BP[~{*'f\ Az@>"Wz y`Xn8T^0xʛFB 8Df/ !F8C$Kl>P P8LL`\C&%2%v{И_ \{0RC$c8$)*1B&Pg=8X5B qT6[*F0b2x'inR!&{ոe?PJ)GhK-cEy jF#RrcEśjw x%9HYG{'u_*,߬/*6o\^ +^C:R( FJ[ ߶"Rqs3u/ @pI%.x]~%\Sbf"hCm"i,\ffYsl*R(^_?gR(̟>>+:N )B[9zbsfT[|c.5@e\q֚|ef'R6Sc)[o<+i"#:QVWT3N ࠵|Ɲ /Oy\n?fPCxB|Np QdV^v#VY˙'BG1|#D0нd!rH> 60jֹ"@ѱvH|Xqiv7* lb R`$E=uJxgE /f?g )%&qr遦]1fq^,_/G^ kj8eؔ Lўo{$]k{eas XN)Iw>c*46Tt䥻r\mҩPva$ԥTXLE": bټY\<[{{*55j$-C`]hda|dQd _FcoLc3q$9|?_؊hTRl0ÑyJ"Q6:/7R>Q;g3N&h"-PK ˧D\j/>ސMQ B̩s ⹏~:O#uNm\ާ.`9[L"D m'^.k^x< /DyDTFU<ի}a;ˡ(݄{_Vv0~EGhw fB\ʗ8׹ UPĖ~q?T #ҫLd"ԉ!I1RSA/Gq)6"Dv`g@g?ͽdf#V6{ԫSˎTHM( WŚ|^a<%Ǎ$G,+Y< {"#޺ '5~QB*^en2,ai9Z'th=Q1P9bfϯO,vCuRKslB[|~-}zB"(thͅOnnnQ5qB]ӖELxqq}Ȉ 6!T#QNc6He4$۽gg4'ZиƋ/ۏ|_mȐߵe݀Rb`ϷFa4"|Ng2cl0I:*@ \C-5i{ s1w{<q7m$ s9>2$W8e5? O#NY9R˭aK4Dy|I$Juή3ỤDz-R}em4\5"E&u'QbYqJ;3$2n--Kaz\a'~u<buyT jzK nRFOzٰO7O fIK'(ۇo1CD*t35Lq"X" O0wVzJʑ/l&4b_ĆrF I ݠ `Yt?u 9T;B;}wP?RkD}ȜČ4ps9? YMپ8ӶOHnD b#0#jscB'UҢٟ(,RvU^OGEm'76yd`YSYÁdCy2h/ac0Z{r7þmU8xjSVD@`Z} V&=ߐ_;$磱M{dJt,úSd_XFr H[bBfbĚ{C(M Y`/N $] ε7_tHa^m!nD }}=vAЏDdBB\,lgJNZTnOw뇅 AT:HQ) @,S/2]x8N UGE W?ɑ !;;?&ZIp"U9 K2i7o.IEHfbn<"FQ kfeBPOn]=LBfo 7Ű\e ñzY0cwKa E5I5i6gY<]_xOzmyJѓ:#ј gi4m7tE8+v _L|#{= d!%,|"]@U՜zҙƨBBgH-ddA7"SJ&QVɰ@?<=~ jG(Q2K[2 \^RAS*z甼gէ ) hkS y \Mse2D\2uT"K!w3V0"SO[iGa\_)DKά .a< ɷ5|PIlB5qs&%$q,üs՜+5$RSZ1= e" qzzi0}vV"L L%[~;c"t9VN#5E$PG`G\O0N"G@=Y !X+2h sV av2!LIקo^ftbf#1U~W>pVR4*Tj_ȃDm]Yk o^3 Q"d¹r_q |~ۣw0.{6+J:93/%5B<8 ġm&+6LT9YEYӀOfñe")2E8߈|-^nMwReN䄽yDp|z8է953Uʈ0oĕq)kRٳ΁4rBԄ9S&q\tlZޞscM;"^p5'yquVJ~CLrqu6haz&'®ՍӲZ2ћ#ZzC&;8AղLyh O1Ԇ=g !biBtug8@6fgO{J`"痯_͋ss_t R"rPOO,˜&6e>[~1[L.:|N9evkAs%8X_yFbE,cP帐Zb)(!a3fsQiVq0~HJrLV5b|7ƍ!븃Q(?P3Y$EŁf[%'4c4jذM\H[S 6(n$\8S(F³o)A|>3++9'P5L| xUV-~nK=2:% x-,}w[aɰAWƔXqƠeqYY8?ξym9L,p BP?Ku];yP=X;&x{4k$0>u˷}dDͰD5Z[k]cMRl/ܮsv1>$0'6s;"3U(߆4pN6#~K$Q40#l͍Be*L8#b}ǯsnH@†A 1Y:Ic vY%Dytyޞc{*BlSQ˓KC3#%o$IHr>>UK^5Y[1^g8/6zY5Is!HO^3>8.bLT,A 2I <]FqeIro%Ld |~u2饓[ލ];q"ծ*?MI@w+^P2!AdCc%V+P,$$}"5G7$u R_1ٓwR8W']N)&HcK݌ xqy˦hdrK7D0̜3b]wGO_9DOIb4J8p|#a vjvMH5FtfR?Y_;Bʔ-O[ ) ݉9?ňP+ْTqFY)[r0˕1b.UAl 2ޓ*6.4=0Y叉R] ioyjpq3~E?!+]|2DDY^gnLHq3 &6O`ȨdfbM#d=9ȑY.A/rkNLsgY*{Bn%g1 Ǚ‚9,z+sB@4ySm(:¸ Ύc!QA#ZEH]\Q_{$SbOc吳" w7[ĕ;B$WqL (˘<00vc2ϧ)12 xEHQY|-,aBd s= IG̦9DAw`)_]qVљMǭ9<LxDV>dΫݷG ؒe< VPI:Yc(R%&E*-ղ8(d("`iTncj4h|m bgL1W}UnesC-97I<1l$x Oqqtޟj+D)IxBXVZQ?EVswP0,3zbx'qYs$[ZX^Li~zOυ6ؐ:rσ 0q/w/xqZqT!#{$sZ[Y]Af (!W'P?#t8`[8Ū! \]dVvV:Ĥrp Bĺ$}ƌbI3 ܯ> ;7Dq:e͉ _fr:!f=`CI$fՄ0I#7#&)q^fW48Y +_DL [Ī+'bGnjdb/>D7*Ln$X*_;Ο@ܹ3fsjE*GVMEw=|Wl?"LfCOOIK>HFXD?9#/w#y(dHψUs,HX$:>Hh{ 4Ktu:|@b%L@#r#DSs2.c' D!t*j+q|aZtƤ| I1i^xAu|֊G5'2nx4)EO06ĠRU'6Jv9 ?p:2R]rFfR">ZU1h%QQ9 nO?4-RQaC`{v%$3; 0$d;4,+Y|wC x6Q% Kj!?P2(G2VHh_FvW>o:&_3r2Kp  7{Pfzb9%nܾ?gEâm?CZuv'zqOGONrGiԔ `3XV&IEnfF@j-7#.C"=2~5t*:~2";v+ , hYɋKCeQ!"eqeIeH_̸i (Ν!MÍ\ *G@$zMhhd+TquD̊{e=ӏD,u1t̰fum79Nih8կ]UvÕ5Ɏ2gKa<* ӁO&T.M4,qČ#׋ 7fa|!M)!3.Dn?يމEXȭJv8"e0nCz H6x' 57ouH fD1֢_4,Y CH-BW^IOB{4*"-z*=R˄zkq?ë<7EJ!1n.}Y_b9:U+Xd2V"1Rú؜1'σ+"A9~7lX_(N gh#H;NqR=.(DC_o c$WP:Hʊ@2o͂ս.;3 DVV~#I^eYWNZS]l/e]hȄŊ-Qq<2HÿL0w+^y{ ѐ:fB"`$\ݙ2v?"m_E4eWY&EȐ X̬a`lYA ZR&d_hD\D0/ X$lxL.Q P&7%WfV&9!B:ة U|Y@#.>Ze Y h'4''m' /v/P.Q:_nG-5ݝ i|#pJaae8(O~VT;Lr 03{e} XݒTfVBO7 qQ.OHQ┫{$kHl,kh ~bV,[O!#b^o#jfn|i)dHvbg͉>Bc t]PS>1TZLJِ.÷Sq&DiTzHG:c쑶# &:iqD}`bcD+RT aҺ' [;KC|;;䌝W4uvi~E'RNjCIVh q2/Y60q~N0IHvSBk;,fFyro`a #k ͓UCPL߷ۯdTț8ĭטVM2܍(Ly"[5%iZ:{kJW=Y\v^F N*O0If4tD@頢/D CXU$[ ċI!eY<@}Uq6H9\6ӌ5h$3΋lOW$=6Kɏ&ٻL=$.Wydr,ϕ4-VK&^n(+0{xK\Y3c״ a0K,Hs #[d@²|$Y1NݭZ~K9IRS(&7KH&9Ẃ5e_u\r wn?ޗ[c3LضV&O[:D@h'{ ރa;qڊܘe$2}`Z>-TCi/#QRDb3,-Uzs9@t7p q—p1i.iNr̖=QL˞:8Z(~^1fRȑr85ŁGL-a锬s_J[efe9\X}ls 0R$>K[I%x)TfIjMҩvJR A%Tm@*q7e@Fr_+E!H-M= Wdݮ/gA8{1xKe}y\N 1'=mB`pl%LeEJΑ$%A >C1Eph* -wktz,M3B:yl^8w19ؗMt\$5s%,5z%D,S 68&ۛCSUTCL'@& sQ/L,5<=:6䝚p} F T`ilg+fb "#D2{[EOt9la5~|Ѹ|}/IGM4'UW:gm2D;$G";8N%-\e{yyğCO41 ܢVxX94**IS԰qR؜52VfEYҺqDCNSXbvr$I5ZNhV ؘy=YDrt,}n2緯;JcPdЂ&3Q!g /#l$uHCo6uO)}Hsi2  #1Č'HY8$RH~(%CkIw-$j2 t 8(-_\S-zzTY~|hx`0,:.5&W);T1^A#b(RozRs}'Bb"H^GXuHqsbܴ|Y㋾ٍ^à0`$5k RUoa4K7%>ݐpOׇ$!;5iܧM$;j;@*v'.æ u2d"$n)5?b/l6c?"=QĈ2 \defVZ@YdIX\f7{4kآ'eI(vg{ rܲ^dK:onESam Dֳ8>E7LwlK_Z߀V^=#Ō'}}D͒{ yiZDP'6x O)suК>Ѕ\g  Oa~ B{G;7U#pm'M:\0'&93RVPhcњw)xz>ck;6x뻸zˡ]Za_SB B%qsujAYDYjǖ(VQî[bwNq N+MCVI?I'և_x~"ߵ3)MAgǖN9xјGN=|{ ;Qj&YNj:##\]-8zs29fXAk{j-\%||NDHNxoO&L2Q7_I߽{J+xj:FIMHbk"vVf\wF vzs_2Y[&hLiavH#tbYRaX#GiR ..&@=gas%kTOD`c}8jdiڭNwos$4VڲʱRt%+B 惨oe{mOJ-XO!0B`@l/^YpN1"GR,tO3;5L8h˧[C "9L\nn{>?S88V+z4B a]VRCZӓej;2 dL4,>hfOdZw!8Z?O8 ”A8JIޔhH&pT?"=FQ+''lp9:r?\]oPN!Yo~4TRv#6S7LiECG~'Q/~cĔhR#hL H5~-7tT(e?' b~{܍Ym}^ 78 yzjUl@HpZʒ㿅b*oLdC, c7q*a4PwlORdĺ8$ X NUȡjC$u({$$6}Ns: "9GbBE UgJήJ=i&yBpm}1},`]ud+-Wep[gI;SkM8C7F0#_z xqJ#sȴs:勘|hj#L|=ͧ<U$`Nv1<,iY֡ӿ×Ϳ&FE":Fh i,(-Y7z8tؖ#;N#͎^V"Fn4Q=5H ؊&nU)!A)DhOp~v.eOnnSҽWgE@r'(>+rvf昤0唦H˚qCՔg~$*MU՚e%|+IM];6up،¤S;ƁGn+dZ@y6799&dmd-6>G-HOwaO4C+=[ As3m}J 5|fU}_ jl?ئeoRwnp^;ƍ^ N߉?.e:7pWLf䱱P3(q]hviVț-pՄ!iLu.|jC-w$"@mp%rIokO(P'pEΗG`Hk& f0)7\ UNd*p3QMC#9fv~n>~8 )2>Q'\IGlL .<9!āzq{+)8г*^>g/OHPp'{"_lQA9N/#9H f CTB i*0ݞ/۳̓pֹUBt] |YcAG=~Hk/=+ Y H|[!!~݋ٞ`.>x,D" 8a8iv8swqo?"8?mnKƊo!Qď|+ ]ʃ| I ź[1t?u- P BBdnʎ{DQX1z UYi6' 1{qx*-!JLQ9Tbsn>8۳\ F[W>J}(dÖf:Ɉ*K1K@"NZE$|kM zx9̭Q0HCMX V?x|g!! ~cU#E"SһQ5rqr}zl"n9 wM-g Q2 kR'Bg"FBxi!:o C'_`I͈i^Rܙ#SMzfr^oϿ by^ un+e20Tժ (4G{ ';,\1T8!lP~b` OŤD`Y )) *;_^zƒCGJGjDA-\s]V+R'p|E:$>EaB eHT gq]o͆߻ƅh\/^BTanݒy_VH^Z|?p""[C+5!_o.ﴒތ);vɱތ"ޝfJ4]O(} l NCV,ndE5sd/A57N=1`Ǡ#),*)E2j.F^'X068꯿ӟA R'd`b•$XLX,]=a?qNė aNWƊ7rƏO#vrnOq8m\^qVfl Ъq=^XBY!Ri|0g}Ok?,0g[Z  aA n>`KhWx9WOKTbJ lH/wg%=༮ɡhLߥ c"*B}Z\K@4jXvT08R_ta&eq xrd 9.dWM3Rji֒6@Ρ7?\.ܞS <I1DHglpAߣr"̇QSdz6WOC?-t FSOZ=]0,/חl֟ٽť E'p69a JA!j˹ind&ia]6ό+"xf`9&Ge{dwx26M L Or0V8%i$lfu$.4c1Tf*Ò"3b"{:j>BqE;Bzk 8G> =91oUWʮn\S0ԛLF.<"qNĪ#ˉAH cz2Wț(Bʃ$Gup= U,p J#nUrjnFf9[YȕՑm5c(#w1sx} )*!D5cr,LK32Z;(qI"(ePfjbK}S]Q0nYxS! a/fV8Lm'&aYp aرlG'JEYjCf6:]W=ᆇ7"ܓwe S$@\ٵ#>V (!+fhŒgΛ_7ӫx+X&܋y4I4vERr#4q_wPudF91|qNSMIE='GLX%!&irLޅjw+ T<7gfXT.w|IEeSlQ+$M1^ċ-vls1h/E*ZțAv k3FWpp{'*1䥼 80f1I19;+Y!`v..l߾^ yDA߱ p}z4z/gC}C 8Y6G;"}g8|RLp]ʲOD=\c&Ò-!/wє+&Lhɲ9}CaRx?ܨWdy^9҃ڬy+ڈI7NKd$MtD=I Y&xNzH(lةEw3{8]*Ti +٨ jY1 _y؉H`y}BQMcÛ#",8|}~F\ M#ž>bLw۟¿Gr[v{}ZR>pL' a>a^QC|VKew=]1|AC hG2*5f= OwqOvI%e琀v@JM9(* z! l$ 7V49'vD:R0Yv˱aih*&/ UZ.Owퟸդ)C+eNH)Ah X:fO^%s]D"^1pPtB; cDUdT+&g)sY`B"iYBu88#dl$]#ƨ"JaGH(7bqp\UIp/=g */Pvaq#DKxL_ [8)WgTTc)Ha ~| _yz[_g~~xМyE$c '=e8lP2|}m, ᳣1WLPs%i[bAĚI'8L\j(=J a^~}Ygtlϒ>qL{gd2am9xq~'+l|\L*w7=cy?1(h8Q&eEг$þo?c}ys,\#<))4+I=,1sX ;_H<~ZH֙rbL&v`C1d+FOB8 43Y%O52os;!b"2kc$+TmT9!|-9 `"wbV=0»jDclj^$4ۂ5E̦׼`&'"YQwHJw̝o67G1̃՘ LrN?Ь(#1Trj<@}rsOWy?B8.̜f TbNJA/3ͰL1-{ f]? m8#A#pMdD'82G^!z*hc#},jj1`:N^{Q͖WN}G™"`.IӃ7OBL;TιQ*jIC2;>^7O29 AHšת,>bZ9L4sDuH$}2k0A1}V}&#6Iw3A FrRY`DShOd I_0qVSXE|yC#qQlTNRqY;_7)ߞVmbҚ' A0rj(/&NY͜!zirI-_yfN 6Rz\5<-Y0!QRs)ԙf(E<ф lzbXqڷUo\bHosp"? <&~n>6/v5+JUAW 2[P:WrYg@i%2e{電\r¸JjE>5~9~e{p*KV#H (ڪq|]o8'-Ac!u&5eqbr2?SqSN3Q \ 'c! BQh";-trXyCq#(pxvZ>t{*a$x0`ͱb]=NS8 gBMۥbPa5PzfF.FIo9a^ Vw|DRMH"$( 2+k>Ӂ9",,BBN1!EMbs] yc>j NZ̙*&Tb'뮽|d|;`2eL+aY15*,+8XJ,L5IODuHkU:{y/9c(,߼(J$ڌ b.tCBu}J(u4j8͊J7pzg;A;9zM8}@40Aϭ̍ؑ< >dUͰ!0*M3]v 9zݔUMK<[`(Pm Fh1$#hROL˳Xؔ}Tcl;~pB/V  yqdछՊ/8$rn8 zVc/5(N9~nim!ed2lͮ’'Jn{Ozi}s]hNV$Td_+$:Y|u: MuAlh<􏽘3mNSƳɰs&;w TN6[`İ HLH(p GC ĒNHɨj0ۡJԼ2tL PU9AWJ[ CBoV'j}UD6n(0h%SRWͰO̬/>6"ow׫Nx+450Ha;HM> ^v4]ȬLe#Rz{aV5?=Ex# 8hâ'n(J %hÁa%Ћޖ<Ѩ" "YD2 A8RY< ei>zooue v?'4*X˜ح#Wmށ1.%X"DSkGz|9ib!Bcf#`c3 pz؏jnף뵟QȖdfak6?I|'g W8^("9OlEV"d(tg3)'8ohyfR#7bȦ+Nj9NO(6UtSXar(g,V qt 8"~Ǔ-؋JTd4sFցgQ*.<릆Yd#^v) J vv(>xmL$9-k]8qNp`|-cA898d$k x1 BDE_Q%sʹrvsü$3K><9Yg/4Ɓ"Ig-;"-3xˡ'~ 0!!C99VV!r`)uz<б_z7d h|qd !뛏kfodX7V=Ul4WWw 3ـ 1q ` LXkO>0Q&8HMgnhC<ַ]ߒBr'/37y *wQRdl -AOïľ|Vlb)yʑL#8?˾Xg'20i|j;B0Ξ$.e_)beH\3{O_(ZCU뢊dfe&wYڴ*gPt%sqoI(~<\koSiӏv_u9j"͆g/k3G9pEvy=2$tY"hJ9.tޤp?Y٭>Qfs{qIDڨʳ62i"} ?>.rou_ |\ER?# F)o3Uy/ԃg&{U.Xn0bI\yIv~{jݲr!n=.vҝ6T F*PA}Ci'Cؤ =Ol=dVBL~Pl&>kФF٦ KՋT΍ 1 Ā߸DSv۸$hwPYq%Eb1)&iN"<"4䅸Hr5dLog IZU.masY#C^l7rz0Vx1Lc!k]>L%[^h3LyR*ə~PIт1IY($ _?dԬ&W#8w@c!c7t"5\-|VӫV7;Д#7zk' l3i[qG )a>z~Βy^.; gm8ʑ*_[ӓe2DZ*ɳYUVi$?D&N1^]S7 p,nh5< nYC0K0{{l5R\.gt`𶝿z~;M9,v{AIJvӖ*Rqq\&OHwk`ޫa͕$Lyą}QHdMS/2V$Fm{q`zfnH ;^ 1{0B)8r\PQKD>DNV p?/*6}[}c)㼈>cݒ41>@6\[<램\Hn̎LA|\lN~tQ{`* i?1 :Q$AxvO2#k\.Y]9;_3ӳ*:9oYf!Y#>ߙiw 6w(1Y)K/avĂmA\mq۾P"8+v1_+S}OS5o8ۊl%x-4K f`Y]Egϟ l|@Y³P.<d1phio|vqbͬlV@dUk=Ҩ{/B>SBU`u3|bq2MFڛe-}sCq6ĜGF%L:k+k2U~rE/IqKV: ܮUxP:Ĵ.:0+mud9dOAL{$JʔV ks8 ĉk! ks0sj׼%k;e4a'"%{`m}]IZ;ʌp`?iM& k* d\zh:{R~^:g쪗:#d朖BMqd{+~`|!;*B9ÆPC~+8)ɫjgTLYX潌٣Hc5&a b{=RMU*PNݝ^ bH%# lm`K )LT}u<_ooC2e1%)yA$:L-c_^_MK6QK{וfLUX.?]l:NtYc4Q{Z</'/': 8?sv]M5"v{~gqkJ_/Jg\8"Ba@[*{^g-#:4K7qc8{O|'U; :vVBJDl5^3e~#l6@JI+תH*x_p۳Wz%'/_Q3'd0)6~C7=_'p1DıͲjNLfsz!m|_{O+򇒺3ԦQȅ' 7⩊]'k=??>^ِ W(US`,g~DfR{`Ul`iv|W>-8|m]6F^>+آ4 )A3U;8iYa)yDMɍ _/qҐ5{R% 3)N<]j&M3<XGM #S#Qq܄5 *-rqCح/yR=, ɝq/"wPŊ9<(Y`*IAp)BGuZrٚ4Ȯwdl(>Bտxmly)Ŧ zw^x,f.qxuwԻeY Il]m+5.?XRla/ 7m.V8LFt`J*Ytb>~`KIp:V)r ;_AN2'f:{s/ (b:"88I-0{y{se%c*&2&sr Xm#Y<>tJ"Buad&d'WCY]J|wBPMn%&6iSVuIW6r\E%ǍW6%U?< D2̀$Bd0r-L,.,4\m?HP#ꩱ5ͅ@⑭oi{G*KARrcF5آ'J6rfksOybj?y&&WWyG`UScb י8a}lľ~^_"[z~0^XڙKq4X'!(UZ}'?J]7l oٕʆ<[B ՍxG}@,NFaño1 +ꆚdLs<; I]]kyq(jvl/Q2 ]'iD@wNNxp41JayX__,3yW@m8ɆKJ2v@iKa}z|RiFqJFx v y3rD_bzu׫|p [ɰfi#j[n}MMn"2zZU KAxj|CI* v3W;H+ ܊zBnW^¸.!fm<\)N[Q|9ni%(Pa'bj^$h)Ta|yD=HXt}c8 ڷW_P)kH^WX݀Cȵ;ozްu48sM-9e3 1s,o($59Z}_Aݳ'o3 פ7" u96 7:y6pÑiDC  s4vR.8 R;dR9QLOl,=:>¿ͧ> Ť>t+?*&Khؗi܏Bys.Q:v/ W&"DCʦUvUuI3g-Ў"d1U&v`W'?HqܕᄝTDylqq]lLAiZA6E@> BͱLc ۫V"6c|+l&oYZgea[]}ړ.]m"H}Rx-ދmVF& ӅeO4D6>*# @YYO6㏶꽸B̾yt1d718:@ݚ=x5qIO"Ivn"+1Zbw85 0V )}-F=0/]`MDž`^"ebG7ʝ:iFLvߝ^z3G).Ȋc0Bx냢Yfl'TlZ _nRHy &!q5G/#.y@noOm2wi$;4$[sahbT9n20U\2˭8d!6yl9{lzh9j6 ,R37XA_uzX4qxqw/F~c\ EI NC*5T d8\ q3P3ߝ-:khi ^PhVU sΌ4ѬZ;5`G !h?(e ݣIM 'J2 {n@9M up%[{:.vyϣՑ.$,7vѸ);MRtsܐ';i=J>(!e<iUb25-S-@#͋C\tLvS[\8#EdbXP2L)P~DF0[* 6NYԙcrFzq\=y>NmRPqgag*ͬ*.5E<׬MK0,h /V ꨝGD{~ߞ ϋwVK_[s?Ģc9LB9Q޳ɢge6|VeR(ZSI="ީZ|'Ëw0_#Ǣ7gWGɗXJdJ6I 'R?4SLh2eJG-Ȇ;k)_|ވPW])Wf_&m&E԰ObUgvwTH`7EE #+/]*.g5 ́(&CGvY. ^gGJJ‰M7Z31"Ɠr{y}Xȑ |uۻ^f<@^x}`ŔOgpIQ /@ ^,TxucG'镀3ZmmyI+:p(giwg? h|7oOtbȵ|IH}$={e(A :wjebct {ߗ;tot y(Z8EKOa"1ˣ'?2gȧ9ed-RRFكT^j塕l*ľ(HHs9VPݗFtbl̹3@^o}M B./)+C4]vj \wZD<˿̚bl eXΕ%Sʩelv -wK7 k`Ql™ @箿=-9P37}877sj$.#0X4UH--=w>SNL] 5r~P&rM"i1|+:wCK 9%e] .Ij:]F((F 㕲gkíbZQ=Bsk,(#pT΍Ɏvu+Hg]$΄6VjZud8.WzUΆ Vc*uNlA:aUo7y%#S;Rk)i9Sǧa%n I96H<鬞Z0# ng:V<DjB* ETG]I[|[V~zAT:6iA w[\̉J.BErӲvIs \r`燷l!T< Tx iRiF ÿr}{BP8zpye|G WryqxhA/ʎNNFF8tAv) 0FC?(ԈN6 ??:Þ';2r%:xNWr}]/7+䫟jTyL;R S}ӄG%Sipkiq설*\NHa^}%;7Zc1reJ@l/tYBk430whs<|L!1,G dn6 cl! &sӦ?ʋT7´*&ޏjvdᩘEDLUL! >ʙKQЉ{U9R3̎̉0Q4A>}jT]I2߇2XЏk{'< `=6 r ׼l:ca #9..(bSA^jBرOPqaCրE3qԥ@j]8J`K]݋-7d<9Z\8c]/%5n:{gZjԉ]30vtI Ngwel"YaXL^Dys7qSDᴾeڷ й\\="Ņ;+}ѫYcX7^{&D}yج߿_}EV߰$gβ15#bHf?JiJ"gPW_nOY !*TaGeH(E~FFysywtԶtWL)-S-9 ge6m"Ցscf@{wuuJQ-I:aeTpy5=vYa W(LT͌1g9~\/N;á `'BJ9.#ÅmT SeldV 1^-M!- t$7Q\2 ew|Vه=A @*,QdM:2e a&K!xN/R| @mv,pIx+x9ƾ[~^= R\$G,)\9}YQ{%T>&}B#N]ĶeNXg͑V΢ֺl[p|ܽ>K+n%( rh&@SgS3V]}&TBS8O7!h3Rs${^_rV9qrIX
n?./LS R y ]LeE6WK|~L?ޤ>hόV_)vp}?{[ئ2-Rb,}"5bjlضzf]zߎ΀ϣ eA*:ГdD<)5s^+^0X1-j#Ja%&jQ*!SER8G#GFj!ؙwY:'ĖZ.9y={X:@;TrN٨Vkѥeq3,^XXq' 1 (9Si1/cCyK3z̐ͽ3:gv8W˷SN Ttoz܅Pv2hX -c%zbc9&XNWB龗&=y@Y?f[4xILAYFf'3uϚsSQCcM(_j,Lf9)R썽-'o[RY'9]h S4(XVu d g7v^*`K'JWJF1߶56'DZ4ɠab+d/&HW'd; 2lX#66@<uus'I2gd.4:" UehVuG;ng8(‘8eQHQoCGҰ]w} sLsqgkF&&Pl}L**.~ٹ<(k MTx]3RV|"A-dv&6f2x8oXS;Ohs sQg_i|pMiLd9jL*s-mM$`d\IvP:^MSѐ:-+':HLWِhߞa-4[ROpd0Id…?Qq5JWA{:;H*iگ}XvU?cבBa%Efq3e?0z="`29~J;U%kĤZô?N6cf)U @8/Xjrߜ};*VOmTSaǤk;k .."!o?ӱ/ZToOHĨC-մJW=$ vW,h56 -!bK[/!p5vJC^+dwDPHҦ8xS, >n0bo.ҿ1uĽ^),b41zsy]M9E:èQCve ^50o7>qԂz֗0tUL ĸZe:>S!mY#$$jрCï_`N}qgVi;)KU_RzNZ&Ox36ZxV2 +gzeY˜ p^_Û_3uե:$ֆp' <}9ɵ䓈/W'-Vj&eBe,U W.6@]DD [|{ma9',cʜ7k<4TKu4X|DҒVXtNĔaɧ#I ê1 ΟDnܳϫ|`₳RpŤЕc=ՊO(rݾ**:Cr3mO:H=_ɠnhejW5mfܣ$zMLu'DLIı$`)+ɂM(rqfssi]Y'y^SܳLmC\8ƅU'p&L ^_tb l`'Iʼuv`I*#J%LIQ V(9:m j]oE% [-f c0Z=efu~1w,ౘ((l!A'O#^J2+ Bd)U| kɦ=p4Z(vf8-i3'G6!YtY`l'$`J," ZSOD5TvK)djV8 $.vx2v&3f 8Bä<UaMB9QMh1ѰϿ0q(~n*#RlV`{OOSDi(׮pڹ}6 @n}s CViw}iQs$ƭgj%J1z=ᘀjI_$2DR&vŦ&kyJ\QP9D&>qf"*hj-$ZUj.V䩸8 S'tA̙%V~wZ`j< Ƥ$p r"Y$Uz-zuB#I($)M&/6NA ΟCgM.9E(#S\Fҿd٩݊G A&KZo\#\= `;:&>WU\#)'yhֽ~H E^3SdfC|nOr!G5KZG\87\F!^vvGv5 `HS1RDo_QF%8cW%/sOw\)ڒF8?rQm-ތ8d_d^7SЉDnʖp&d_Ma^mLXG <$v{ڑᴍM-Ik )oT!^`FK'r7dY_+~z|'3{'A?pR,}Bo=T)wSBݼ]~ && ۻ+32IIM~ӧ (4Ih])TdKH~o,tܐtH^ ' kهg8jd tөяI`D\7fn8· q^]~tB#_4^s^hkwl~ހyp+ؐK`xET惤gԷx@fL0E2v0صV!u4屦g+_7_T"Bh鄍:6gjcRlxLyY?*.\̞kjd<? bmFG XІ (ɑ쀫d]>8yh I92uw*7kҚq_C4dve ``7݋YXɽ8X bfAhbԧ*6q`f~D_}~qٗf3nVc! 05d]D鱥T1G^9:ar't\pf`_8`p!.]2cZuj aHߝ"`cK4P溰R6¸b _=Yc|&{#Z<*=wRВ3>L(v-/2PI0YN=)^r s \"A"KpnMs6kD=qlHDN&ƾLW{,}gr_q^.<luf'f8`@hg]Jvw_噓2);w͙3ezۤC=G46)0~KSy^L-3_FrI?+v};sj؊w{V^/u-݁S)Y w偳h˛%b¾s0EZAqx 닳㖃'XƉlJȞ Yv;ʹR5{b.L!yƫT3̺H2D* 6%ՐEP5r& F~HlcA2cF+O$%e]ud,#a \5d-s0Tm.M l <֕c$n k=˝$rT/-d`w1hlPN2[ Љf sM"<%~GR)2ؿ'GڇkQAn܄4~GH%Aqa\tOPXG" 8$qL*l[KnEty6v-D!+ƾYBPF e#؝RO,ht.EvwԿJ)d6n#Iِ|op8{vzW5i 87&3dewbmֻY>B 2Bv V^Ӗ=m}i\Hm7_Hz"(I`O8E329H P/Ge ;W/L%@S&53Rm\C^Ȣp_ʠZ̔Hzz~Kݽa !$.:.z$B]BHN7H ˰SyC5 j\uA#=ݟ?_O, DVp11~j($!zi;˘胵m 648}%#~[w}"xV3GPu_(- ZB,,*z_1Ֆ@ к ,X'}`tyyuYjw9f4ôEXo$ ˁl * 0fW OT`pPo(5 bL`O^$#H.$ۂWct~r=r CܮX! iy)Vg2j|V#Ka6*zDϔE?Tpg¯^\qos #|fWj;=1Ϲ/ߑzo)?r69V9#)XV1%x2<ϻ'Z>jKmh@> RiM")o%##̼_34KS/!(2E@,bW?=[nw"^qDicxo$]uўJ@qUun ('s+3Bӧ+#><6$PoaVaja/I1!h>a7NC]G]&a3 z.Ot>JmjtirQ'ω ж7lH7_9D<2ƒhr=~nXNaSx,B/f21mI? ` 129;@_ uTD vYOPا[xŴQT$SQ|&30CKnW9γ3*V)–3UExC9~e0ਣB';’&;:T8^+x~>ڷ.DTG8(%EtEFC~! 8𺐺64C{YGD)WӆXL\' DtՖGEr=桰0NV>u c">nMegmRT0sfZ6TY&oSast1`FG nE70r~G)FG0y/Us`|,eq=8H ]k];{x+l}9nybٓ%ʥbq s>!e EGn+FG(RNrL{x/!|>GS'yۛ犫@egFD)Ў:V{#΂^^~a̒A: h+-0)FMR_bd]|jX"lGMAp#,/ߜf^ lbL_sOY1B{x$7}krS%5a/P)䐒qR>bGdz?>#>("VD"I:s]%i*/қ{TV|+EL.l}InuelM %ŝ:Ji3)J Y:Wg[iRwG=r>k/IXwvfq4=ۏvytD%e'* 7% E0tccTdk䧯ba6,gnLb7l³r~uY26lF\D~-Y .Zt?==}o<{ׇ{ ŖUzQ"c0+L*1t|=|cYO-*^)iEùLγ9K60H_I1;שx$ŒĖ)T:]-/Vs{RZhM̾hv.F62 UaŎٵ?meؒ^"c`! qic˲H"(J&ױa&HH̞?!Xu6O>B[YRW)6)#[ȸs%-#nCjI%"M2DRb~xZ_|Bx oe!uӛO@kf+DŽە8?("R#[ĄWmky&Ry>vy S&Mfbc8Mig=TXL.@hNSswgA4|N8@b͖e7 JJ④WuxC;iq,fKC}%(A$~aɴM c#Vsdnə/ᙔ,:.+62&R\4e< B؁MKҏ1;OAʙ!ڛ98q?b-k ?2✴C3" Fe9HqOcQ%_Ԉ/֌1 ;B>5u؅3<2dxoǟrm>!%bb2fE9{7KUy"٠&p0+վU blQ %Y.| 2  13; l8M/_6׫x~_w"u3Y9al`I&\@827/oHO9ܖ>+o2*]ePr7n]D,f`&nhMLR r>2wò~*ϕ vZl ZMH5-Sf/|^ϯp-( sL1sJpي̸̺ L!)D>)REi}~r! 钅MQ4M9+W^v_K)qt /B0ذӥNSG<~p_#FԈml*)"S=0GL@=8 *X9\~OI%bF)59hBw!ŧNhN(a|  O;!fG]25S [_-QSq r} F eLf沊{|m", 7 0I`dyV>OW> ^`t2m6rd'7oZRcPk g1}0&P8ۘCx@H DF),j Ƴ6[]ixzn>S,C.C|CүSVYQ⒬ tUxpMXLB :{#CFYTE J`;O=al^}2yRC8Iib]qGRg0#'ܙa?r+_z]W9m8Z$`"Idƅ 7dPM*CɯJm^'mᅣ~PFM{wܑIm$k`#v M`gvSg3c Vp.хY ]%{rr$5^ODRf+]je[il'8H!_ p~ .6]āU`E\*.|\dӰ*vws|ݬJ ث/[q@: tsV:*JjQ"'эP/Gֿ*n^߬ی?7N~:.D8s&59cZ=ﯖ{96r+)S]w9ӆ/t~\iM!ddZh-.ʢDqx|-i}{%5"2ySH4T񂇿c)MysGrʺio+2s\ u|{f TiT#UYF&h?;O\7%.$Y:evFM'>TMU8'Ҡ(M+;Ҍ>QOv<=S?ӛE% xP /+t8~Y#Ǩ'g&E(""6H,O~~ݧ^oÚɵ96~c}N9+.[g&u]c`Wwg\ '1)i*."dlO8X_FHih}%zVF\ȱ2SiT'5.K,p!y!:;؎~dcLMzNw'j;|2Gd\ߦ;nVGӜslLBWTs"Kc2)6X9\bQX˅E:ue%Ru5 m"~D>v" [sE% Qv%ؚ!UIpPj&@rƎ( >gWoSy"|K$diۻŋduxA頑k^)e !ɟR5}1"זHypŹ9@ͺk뿗BMF,tVX4(u@R%'Htc󄐯"ԓOaaj8x9_Vվ{2%,91-# J ;gHtu??h"dX8^+͍Sƒa݉JO.*+64쾫@ƹ??a9 9M3Ce&e: xrt,SLAD> X}X0nnHȓhAY__L$}a$Vu]({6%40F|=F2={`Jž0/Ls[S?z*Njd7u`X;=_N^m#=M72BF )|fIJvavJ4[eW8Mp-cFbPEěX5_y GF9!QKcZ=xy4ЭvˋϞ|_b&,UY5v;(,ؔ0yow"=K"&*1NHl(Z&^E,wلPcagV_*WA(/C]_#fAb lթ cJES@ruq{PG.KTfk IWfy%g)'MYK#t&qլ{Ya5! oؕml.#2&OODJդC+ 觿'ՆDd[^&& jb6DDZ*1g0nϢ\v?(}$>( 8$a`^(}Tv, q"5"jxp7\ ;iI˅JUԹȢ0YeGC9M,;ףޏW[ߞ٧I:_*#2F@YHdgQs\&CNCݛYb"avMC#|h$q8Jϵho1EW,"XM̀LD8ٺ^h6ё1Is{DY=vJ(V@f˒dwY~0N>V|mBܚ9iH}d{{OL /W7wdDx(ejXGINMُzhv]l_}*7 Xev #6`0c};-Fب P%N#K쭸xU0+)84MVQDH[*5K~5p㉭gՙ0LwO Ύا?OǗDFf>0."l,087o lwpCƐn=q:X|P-eG!oJ3&9pSi0Cc'feT*=N}Z=2~ُTVq10P!huS"]:00>Tf)6NJQ=nozҎ(K:,{|%XHl_'R vZmdse=}u{x{S8?҂dRww뻍|Ў]ਢH0?,djgY@ł@ UQilhJu}#P$lfg >UD}='̑:"$ӍZ[(;ߤB[1C| "V1T!Yv^C~R:L:NpFo\V7whPHWu$Afa^oV(~R=sFbSIWĚ E&+Q%+ g2 ybWa9Y)sƲz`닏K϶ 폏Cq 6B5 ֶdLRH+VDl⼙I ^HNiL4R n1ӄsfe97bf`GLZ̪p*`uxiC=>DyߋwwE?S.5 KGjau.Rku97Yј0eӲ<3A ^cX3͏ !g,1 @?REcVk=ȗ Y'>yFN^e@+"XVkFiGID#/ɪ B.ĕ$O9¡r(-gLj>+pʕ+篘}G2rL*.\RRqg!Ɠ7mno6pTgD;4JٽWWX{Ȗ^'`GKjNJ;C4'U+'mۺ 0{ԉءޔcJo\Ƥ|Ъl|t ', ?׽`'C,0x*M(EOyp|chQ31'W=39@qt==’kq ]ޟH7B!fK~8G@J}eb ( vh\#"&z,@vW+Bt?!bi8 烼?T.UYvi_(Y6>lͫ[O|MS8e +MaG"b*$5=Mr%l$ToCT/xg'N4Qh$o@N G6XqD|;*;;/' prdDH5žX&{wļԧ؏`جF :kT[[V9hrZtDP J?%KF|ɰђJa",4(3K8vxJr^mvidž]-Au iC68֒kZVqWUYi$a`$#e[l/>]Fh K4 '3ՎQ<8FI5h]/ٺ&>"jn8ݗ8M\UÕxr}TLm4 $BM}E ?9zЈ=N 1#,R0 (_^47Rk/]0vN$.;6 fwrD3IHa'6śhyc'xGL$$8ojKKl:Pʳ `+*q<-^`ص9jFK_cGb KFD2?)"1]hL$ cDz\/o*5;sjVIVziRB}}VGT#g8D .oHyǙז!c ~ 0۫~89IƒI*%_ؙ1?ԗ~ 6J&3/5I!~d-UHRI3k/Vyb1쨾$>hxJ,uq ,v%&qTƱ(D< jQU~ ً;D-ٯ;)'cQyD*e# <& Mï˫)QtYEYOT{J)^P<`NH& 4 +#LhKFXr¨sĢ1 _RMpz3OW$H)ғ)qf&ɛ'Ǒ ):/ݱW(hi͗r0#KG%kc.ƾ(p3PaQ 'w`"6ꇳ|?nY YMl%–N,2ջW \)(1ZǹȒ{[O>=e%%3s( )a?HYGgK  }W;pZ#hf!Uےj q,4JM!`{{oW7w[VN=g} Ml}: $=`i"oysj3̡Ort^"OHoA6WR-tZ,-Lw?_/WϞrx φGF9 u] :dI$)&Z [_/6K$G:AFN0/q$8JH~%xwkyڀF2eY:~Dм զzb_3ȑ&8(5r3ޭA )J,C3aȐ=u:J7DiHdX=_G֤(=uڋvΖ MG AH.bb7]f.uMD7 %pTӶ2haa|W}\_Y _cy L$) Mx;y[`! uQlRoLi#j=+7ēC48-OUE3EJR/"!wwR:gqoI~zX0{7۳>*+Gd%IHI%Y.IfLlҺtlgK[ٟPֹ&?~r|!^!\_~\^h:;YJSʀ`ۓ>Hq;z$'!8&@&%- . l}099v{_ Ke]Ec kpj?A@S$]kZ"m9ACϟ>Ts1K#S$i PQꘈ~yk}@Īg&KYM&e(۬lUL.ȅah;CO#=P*"j; sQ$1'Ʌ\S~H 7%rI`>[!r~Ů&5, OD=ކ]ľ, ?$wI[HRPRǜ#;96vwNHH`|W&fgrhMR*YD-,ǀʓʞI‘$#@Q@F> :~d;f-6{VfؘL'7=hfU?C=nYG=qq[>'{a^nLyFK!&g_<6L J+j{+sf`"~U`jYD?vV/.goW˳BM1nיʰaWli'$KXO$d\g=Q/gDm-̍!a.ܠ{̗&ۈ35$_8&,+nzD< #eB.s{v!m3#:+Pl+$I?߯Nf5LgI> \N^F.r8ʥ,F|ažNoC%#QS0O7C74 kFbQrTG[QyazB3M}<;8px5[ oims%tL!j2^H],s`ry-] ''XCͬFŹ9b{}t}_x/X.<HAfrӡgk `Ξ|uW\ xa.dQFG'?[^1-;;<}?gK@W5&g^ U#βj^ {tj_./ ~w,7pԳaDABؐV1c7N.c{vDg#ɞpg݋k%bB) \3Ks̳i wӐ|TvuTy%8_5$z ~|X'f*=s֓GCC5F nIʵpIsUdS{2|\F"H{-A b5i,J(AZl&Bd.w,6Xl+<AU N|4[1"DR@/e "Sl7_kA~og|ư d8O*u{Q.AV9^†qV, ȗnF ȽS&+CMd$0߀<ӄ=`uf>V>72oŗ6R.Ie.y BKhu{E$<)$r"\yQռqËO )"icI46+c}!k]nݓiF"Bi{sn3gBX02 AMxPDl1c]rpv vr{ |6T %ne`:i 1YYknN*')οTABelc~g-'S$+`+bb,5l)RV a 9W.1&Q,01AdOi򺖜mR7ѽSDofkoLt͂ gT7Է%;l/cE_yا$ľ`ϯH1|% 䚫aY[-X26ٍlta|7Ɍ5~ kuq/S}{#4Xbc 9kE:O4w`pI9yn*; O:>91 |c"ɡſ"\xV#.'5Qߑ7<*tZV*J3bv`5p#?/]m&UnM~5 iy5(Υ!朙l!`z6̙(~yӒxUpQ"98xKhbµMQZڦCWhE@RHjLėrZ=3<.Fak*NDƔ){`;\];^O`㱫h*!&Xe:Oy:?]TbMj+&!I.YIY"X{phkQ;*b=AKZ"{r>yk lɼmp"q^,UV<3(S8N-4a MW66!(d3|B?U+$c(M2G H|+=D'k4EG4.Z5aBpȖ0؇}`ErߌӛIaI>Yf^U7Z-8RR9 H- ݵ6ç7̮{Y?[rMنn^7k|kHM ྡpq( ̴і4vvD~v 9@ cəRs=Xx|y-r%#O8:$(#'\N7V|,ax^ W3+N4&*[\ .a[6g$9{~]XVGiU% ^rΙėb~.%(D lT$r} GE$\}R oQTDIWQzdDxvPmA8(U]hh>.MqbϴљS #J&/܏u'=dr܏ul{!Fk]֤25We*|:"+"}LR# cEgƒƛgI(U1vK9lJġ@ b)[.y("=9$)96p[=ss~p ։G8J^*S/?o1h-ӆ<1i яI%Rj?_~Z^:Tn8P=yz)kgNFjI=/HkX@aDq(Jȁً ibIVd3>R!=f-F#rk 3_AU2d_$p,dԵ`򞅖ŤLʁLc4azCQca?zwIHL.KiaQ `3!;ԗ yν%@~*BR8MA0(IIq/*~^ }Z-YbY,D9P:8<{w˒9ݨx'8G&^69M M؝`c6NS3,YhNtWo>m0NOE7Z.q2Y&}`+aj1"Ш#5an@ΫD;L揙`_IX`3{(H < | &op0[HNc3G5d*&x{j݊"TWJj4$Beѡ<"J ~={}Je/7:Q eIiR:lv#Y"$!LRHoإ(1eP#/L 6{'Z'r8Lal uԦ\›IL+b( q~NNԐo>@[x\d;*yTGgM!1PLdQdX{26K2[ }\mbyӈsLqT ljֱ)K疺0Jj=cS { 9+ X,ɡaY ?fKޱ82+ `n:Wè&`7-xr:V8ߑ!)@6fZ *Wqe Yu@J "ˬi1R O#eK&i4r<{$fcX9ZrpM |qH]tC”l\Q /ab\Ʒg.-62ar@SӁ}x  кmۼTK0pc8a $&IͲuYKXn,CN 4zR˱)3 :k2 By}+;g//\3JlV cslY R:暊f RvFǩzBu\-1 6ffgfNNTٍK>CO-!o, JU\cʔXz׋G'3 NrY4q$t[v9P#CVB;V\~La1*G%)Tj `#ƾI!zHCA%πhczYKeO{s٨qf !Fʍۘ̾C]ߞeT>NL%>B΄i߁KxF3V5Γn ..Fǜbfaجa ȓ]N:ώ#ʸ+]EaaeډuOB5LgLX‹ 3˜Csw_/G=\e2I#88d=m1QRĘ`-ESy0xynF._ۜ=[{:f1==vIQ{Ox3I}c"wx#K"LI<ثx=щE /1 aOpOzV5?E^!xngOשd#)=&+Tx2ӭoշ_K"vBJLďSh-gj)MHBl* g1p:PE8^X'cd(;x;*s1' F Nq,tQc"y5ဍl*7)1YǡD'o`ֿ 0@Oa,T)P"Ajóhv? ^d"iT礒u^n;2z,͋kEot` #l HnQheϢ+J̇S'2O[I8 a_$R>tpa4%D;6r4WAJ> Z 'ڹuD2rP('Q^Y%fۅ|SFI!yD W!;i];KGUBáYW{8sΑh ; ou@S- xPR13פ#i7avs RM~L6yEqåJ)W#{u7^{??_yǶ'DLZum}z'r7۳0W0F{j2gO~F@Y쨇Tp*n;p턓#Rњz4l$ t7xf} W}aw:G Ժl` g-f4SQ֐!K/yd;?|ZLUzN#"NdZ].CῒGL)w:6 _4t0by7]bMzI|x(vd6ujr%kO#k̈U J'At,z5 =K渠.lf{UDNdz/+YL38?_gأ6ϽTCoB:{via>bݿ h9P}\8REy 8|dh5aa5ha5H*?txD˳|ݗ {RO$׬T?cH^9eys>U*H1gxt=/qi^?Ϭ@x@6Um, { 8u& 3rc"Ƙ zr˸Hp!䆐z,gdƬԭ͚ v+w<Dcal} cl<gv : f P~8x!M͇NQc-ۘ-׿l;Q=xG7ɛ5A%[\*eu%trX zV8L1e`MIA@QaH Z' 61"f!^ tp* i<2}'V$Q {)ƃȇ%;Г50~z3B[Ɇt{#g1p2j,v+ d͉IwTYlhU G"Z&]R5'i_jԻnY3elFzuuB&?ډ ?y/GmZXh-rfb#j;U)umԩA>3 )e!:Z~-Wu34Ok%~ůϐv NdIBR"jGb)vD#z{9!ꔩf?* )1~:'3{wwFQ!NL-6Xg8Ge{~Ʋ]}C?Fyy1M4ek]N4WS){jugWbhņ JF(O& ? G 3 Ɲ9*$YC19]Ԇ/Rj׋@ cY$ "}"8Qq3LY9Ec[,=kQZe_lr ~/+- %Ty:RrX44⟌]w_{|&(HD߯IT\_8.ܐ﷎l!5“88N.8!.&}]_rl\HIG(1Ͳ琢G mUB**D&>U=N9-#B`. l;'>]y|l@,>8Ǫ\/8ls֚`09ZQB7 vJm;}T@x]%QTĬׂB(#vwX F'LՒd7-|1IYo U:Oc5[/^.?MRM4{*[c{,;S.%8iD5GwKu==y+H8q˳!LcI?|-ХNJG0#c ԅ(/EȢ`s&_XLM8PFCc{Q;G-%H'֦;@'!~~I/-)ͅl"4)F/=U` :xq4_3Q$p`<2z9д#Ez{fS./$*_F͊g/X BZ)Ut33l##-YkvaiPEc-["`?l &|dK(82qulj>ZN@y~0ZXT}bAzϠ)->m5 U$hU͝n| Ϙ"quAdv-12|iaep簀jpsM5FF+|3+/Hz߃렆"cA89p\FM]ljFgdKcI9[ݭ SUQ+u |8|⼘\ te]g!O@DMpiĻ L &o''*Aix˱v74J0w潖|xG^r<`{oULVʉDZyV5cpa ͜53gvxÐx|j*!Ȭ\#TO,f/ MfQ]2%sUY&8Ot PgGT)B$YE ble@ff6/J1@ŏ0e/2 R;}s0)GD\iWU-GL`d{n Cv1(\"@M ϚedF74 ox绋&!J0tMpRnGq{5YF9V1r^Tg:[^*Ŋ¢R=%^ 9h(\mt*[Sʂ4hr/cԎ?#}켽A`jl0&O <ؚ$`C="$ 4ۿ-oI X2ho r^$`31)?V1> :H _d JG}uƨPdQ۳ӄ5`h{yQk&Z2q$^V6Hbfubt9p!x4悭$bB#CެoNa.Ԗ ,$ Bߑ^%{GOCs*2Gؿ,ǕdY}``p.|lGm*m&cp6NnZE%E H`#וu^Є".8{YO;Ioyŧl:Y9zq, wMn]]bO{EY;mm̫P0,ˁeNWus9,4 g'wX|5n0ACcB ?0aga4Eh YP\"zf/_E0*IMbuLxz{َ9:gMrׄb}AKq"^b%el `LS,,HL[p%j_c;ѯݷ"|ȖF!/n[w໓,k&"Kx;.ߍ wt ݯbFG:P]_N8ӛ#eH:k,U d ~xXfGDgprZ*&ʲkyǢs<:yrF0Y+y~CqLHMzGfYK 5pTl5mSl2| `}񠁞D'1kdxCEkǖ/iza,?S-oj$) Dj>3=337 ?q?p<`9S58d /ce{=Ѣ/DuiE#BTKrf'A&ء[YPq$A9WGBb}?#sg> o =*ϴLǀ-tF]~{ $'[m.v%QaGLm`o&Ls\2;_Č݅[mL A(} $ovݜJ%WӜ* vi Nʼn@ş`A8/'/^؆IIdz#u6GSq.[ML{yyhrHEٵVGZ t ;"5ƼU~"ʢ~ bYLRѪ!(zDwILMɪ Uㆍܲn.o?~yXnVQ #_jOwœ<K!2(f)`+VUȐkX*,zg9~!SBX.г:z.K.n:ŋ DgOg0Ǒ|{X)R ʸH&=gUЖ/{g Mw?Z lT34,o>6 4l= Cѕ05NPddzK5\MK ȋZFt4L{=Fr @ 8&QX` L( Mfl%jz"?w#]JYe5҅m]!zJY-__n"`QXKnؠ 5Jmm6C%=ݺ&q#9{Id$"b\Kȍr{$8ݯFSIp T &S凫;dU~q$q$$ Kbq|K*[ jf *p@ ~Ә,~1G9C\pszf+jKvc%-!~/{9úF5MfdnCmGe CIsr|?N-{5KƑҙ0lO`?CR흴zM$qVP;AX Y-lw7r\m9wN8 ĝUw2'8srȊ!GX<Wj #(u2f8+.-T3\ ~> 07q;(Y,*7f5I'_ +|sp,3Sׂ gAyQʗRB20!/>#<[$]nbzE1-8{4EæЮ$f>➸"S;+eO5);e@CU$0< a:$98/H6"i8j4~>Z쬘If?u)b{7#~"Z&.JpD wo +-\O=F9<Ժ#26LY9wc.7VA@e׈#sB6"Z/sK+Imf &l/5C}4W`Re%0,7@|ˏH2}ST`a#Qȯxw1Q*L,N3Mjnsije (^-[LiVc_h3L^,*~Z1t1 a*K)Y`49\c; u'nKd!:[`RBLd.7H<$L)Ē=jc0cYZ^pus7b~o7_'[R@< (&6e RU?<sW.fkѻE~PR,DX!ߪITv!)qs0YI6*2'a`ƗWԏ<>7톒hTYuaySey<,|} :P"hTdU攉n,c$x)dP%NZ+(%YUKb0b{N?)/nz 5ief'}$sS3RQ^ Bluf4n3Lة(T^XN/nf4޷EAP#X01͎QeesΩ}wupdls֓V;QB`ܷؑ}xK ejK0iTS` !!tGY Ps3gU6zi*Qhb\(̂>eƸN2\%'}4}Ub Ô$7fjb+'}ⰦП; ndaljxEP" 5ϼd.6|N07>93޼qeRş I(po]LADGWQiԎkL{kg;'Fq~LкK^y,6܎՞p6lW}c&}56`Vju3yRHڗBbx\yV3t`!µW ${@Ynfnm/sf=2Ge=-g\)@1F7Gl[cP#lЎ)ϝY;[M]R@9pMݕnl9 W ד/[ёLz+wu7 "5RIdXPϜx(cSN>c#Zv =)眂u ʹ6K>{,qSJmUv!H %bC+8l_a0f‹+yV98Uɘެo/v7w&;/w`5 #C!{Cۡ+8^o gfs0PXDje'D*e(`]ǽk@J,{g`FM(VޚeE4=#腳)9A!/L8q߿kjHeDHj_VwEhzp/Oy px4uH])aō$e3gRY776-v}yC <0*gFhIj*lW@=#"+:Κ c˷caJSQpO9rB{Gkv+SSX1jC=5 e8/8$m&ARq@F%v_ߋ.a نfU̶rg} ,5M#n4j9,8|=`ĸcC;cwR穯a<̣oN&G/p+tzrq,i~Mh\t(^=yr,~fKCYY%|Gpǟ`ϩnH<kCHMJ_82kg/?.# [)Cs}l* p٭fXlu:O?:, o<:cMN$g]jBٱ93uN&j σ)&6Esv0IpRHBԆK&E:{d{ pA;[!NAqhύmAK}w#uc"38kWNƠ8+Bʏ24YY64s*.𝃙;IRzR%]7;!e!}iVSi'r$C)cBvOU撘$PDZ$.Fջ۳Ϗ= .ydDo6m[g`E0dRY/=bžȞRL>Fj͘nza8%4c7C]2daH2#YZƏ˔_>hl5[_1-6JofxC'EÚ ~ջ]&S%ӣD)&22F/t Ne :#ݑ.oF&-hxWj uh2߁ȍh1RLF-CNg+;蟔o9,ۀX8$HAlD3b|<#=Ư—*L9l$P%(4i~nmpOcD$ZfȲV\)'ވj}`ևIxpD,P"Tjsp4st3t5{b**X'KRͦ $ $8_|@ dE+8~P% &g_X&U >`[%,@3QM/{'#_Me ^őاw륈IɘN^?hz<4#pva$9,\Lz$H]$װr ! ~%Ȁ,Be+Sb]<}~Ǒq~2qd2gS䝭Z]qp*8Ka E,*B5SXĎ5WޜIn~b-d@mL]Zۏ28 ,'X5A$C>.+$;/rz_zU\e~0w6=gܓLRaӔBc˃zX<8ʏ_9lu"ݞ{BeqJnU^Ff{ /̦;F)mFȆ^&'V꘨M8O]32X#Y6d_KHʵ&!I;&DOz4܍I!)a5- Eթq kI5[N6"|>_i!t ӗvd%N'T>Ќ!JIUmfnCQ8Ivsݩ`<)2F?lEcV %DgFZܴ08Eo8XDF8x]GH:R¶p R{Ovuv9WT\3|YTS-n|@:zؖ#,H2Ot=+шK޴1 lH-`K@]u/AYppN+pǎ!h0|`WԹ y!' tXBf]^WDu` DV?)Yu߳ųͽAlUybgڱWg5ݩ #uZsEO*\N|FEigcKl2̠9d Sk;]2׿Z)dEq&Ӓ'nI.r*WYKUw1;`g0_,oHNl8)iC֐{5Qhnv_S@d4vU5"7]S+eDG @ND9`Ⱥ,hSZ (`ҙ0 Im`b)#OD) N±9l-1 G<<( -wݐbtNݷ4Fsٙ] Ma36_ ~ޏ\5Ԟ=`y9:ol?wPLE*6}dHa2V"rD)0 _~'2o#"3n/jك@Ǘ2n>W6S;D `0 3l8Qӥu% Gkk{5WE~[d7eLBM8'^;hK쨘NCI?bw_mO+e5֍D,u:8.& qsC}sQ(}1! @b+S)[XfVZ(MwLn][SUvS)=Z<oZ,Z>xr+-ģA ά_|{{\"JfK~X ۫|,_n.6d8zxCž$*ag-8!56H 7) g+ ?.U 6}r19uvؓ!v g-_*P$awogGO zᇙo k+FTJd-J-Q~y{ 觕*QRRQנkb0S,>UZݱihV =N+ G.aD7#sd-nxKCd`/iZS V-ߞ9;Ԙ5f[V>& fD`W}|m"llg"9O*įS)?Dוa"@-ǜ63ͨصLYCL\l={|6|?7.t/u#^u4p@Ec /)(e3.'䪺sn)C鈻a/aZ3LZbɒӲMAnl08FYuDM9%8,K|au[ߡ a5׬c:"Cr~~/-iqXVdu!$6!cB #63St TgCE`bY(:x,Kw\y>yyllYy"00,V8tAqo!5ĤYxHXKmQvNI\E0&㔺zr)՚=`sݑ 6|b_&5D> ˆ(x >lqw"dJceLɨ:In'LL8_w fq[#Mtؘ8L ,(2/v4-8O?{"Ced#iur19oz 8ZxVg{']L3WIOI@Znx9J'*bIhG>,PlÐJ6ig!tR"laIsAREA\!E{lk1!&a/%׭MTwN$D):V- $q&噡ie[>2I>cb񞳁U7L̊NqF9Q?tBe{uzyP ,";U9Me28 b ٯ1PU+݊ܣ쇡ElM#yr/G~|gpu]oLWL.*ىU F,¨r}'}":BIidF澐=jq==h0+Q|dv_+@N:?n Imf C\8dvbTbXON ENEΥz8 <`w:˃ .q N9;0L?XZ8zZ>q8ql@pgGpH`j砍!d ]F"*Awd)gZ?Py X) ɣ9$.W dS G2yiRyTwG$i_%i&ɺeݮEN$W0Gܙ94ҋ>D+ ֲ]-=ҫGEuu6#Y=^-@|:@a\_S Hj G! a(g@{XQMYOG)! v PKxb'vdTyNTׄ?rofЌd"Ɇ;l/ds\^\hEU $i̤4Y .{iV( 5,E:)3(}5 !207H 3:N P n,xHl [p{Lfß_!x'8<ҏ$kXr`Whd4+?)ayaq8B)V >)Z%b&KZ0[Cәu91 A 9>.vM~d81DY .;q%AUzT Q /'|Mlo nx3ORi6F-ߴwo_e dX&HÕq{}i4& pvÌF[ aPO YDeF6]2c"Laj3iU͞>!ʦe@(i>1H LRRd0fH L4A Oh䵯ta 0. 3DbB(LFT5v:a p,fAMc<-jH2UdIvIT+L 7^-P]2 âqS }~yh"xMf9*!GfǾQQ8lnr1Y Ύ*5ў!܈NnӋje氟<^>Jf2xA;R9q6 I|jU<,m9JbfN}9:/RlNx (WjhaHV,4>D k6 dgt-k>HGy>B9z2]>r/~Q&Cdy L0;h_VSkYw!D' HǮ +?JSpvpǖT3{ɕ$)NMVЄ,:P7%t扻ʩ;au#T^= ˏ}lUm@)x1þ  \:!ě, jdEc릕𗰂1d*+\q}IflpulɳW͍zt"UN󑝶L2?ltww_x?A)_N5"뾙<<0O_zJq+zHpy)JVVIynN LTyjm xsz(8JɍvyD{ߌOv[5XNpYX7 [e[rr~j`8~vNҩ%BaIƞ+ GDax ]L'@[ ,c[Ǘ6|y<: F(` "0:C@c͌CũTcJGR& t {osm\Z[ldfEx}rTa7-}W쾜oqq.]@wXLpD%hܴ| q_5D~2T`S$f}rA܊rbWg{D>d,g {Ve<2Yς0xqhc]j=Z-liz6S^wy9GpϾ^-8y<*Plf2s? kQ(fg~x{!k:͎\vS5DYol0` 2&2fafŖWi1^*ӛ3 3P*2;瀑Ȃ P!'Tʕ-5iviJ)tqq;ldfESR<,E*Qn$Y<5:jR͜Fb_Kr(a_m<( 0G*pƀO渇 jƠRc>Qb3SPwđ-NԻ[8\̝3(Y6 8!G9s%c%6}PWkUbL^e+ 7oT%݂X쀢gzE6eÎiB$ L&E`p0 i];?Lx÷G&eS_ə #=y8zoy,Hv ǃqVDq a zi{~~Su gˬfս$Ilu > Ct.\ba4쯭u$m*W?I e&*8<:rXP1 \f bqa'!G0A ݙmvǶSi@eD9oG`]s`LC0,I p+Jt*K 0/oхҫ8<& N*ɴ vųK뤨|B>H*ҽde>Yt/yb /7a$Liϟ><}+-Is_J>N份dX)<$SĢ3ڼF|mqO/(pdN;6]9:{a'l_RUP͕' {1#m}h-c+;gW)y'Eplm{G+NĔpك+]fEkըxyJ2Dop1.uYiYv{:OmP6_6#aLbI2fYG<~c[Z"' m0;*`yYo/6Q(ts&I;陪 K>{Vv.QQt$HzfJod|f30uI*όmcC4L_D,2U']is/tjyvfO^NYqS@tsZxEĀ̔'Dèp+ϓ:0{T"zdǢ'' kPUīss.e=IowG 9N?0)b2鷘'ӣ]~\gq'!mvY OyFl ,b[I$(~]9vv,א{/fLX#t4p'W .dAq>@O΀Τ êg %e No_e).j "Q>㿎zq<塟YYELc ז`l "RJ: y=yXEK|Rqx)K-e:KrN_#Etziw{y=@U *sڇ?آN{j'd"™Ūn6+M9ad=ܱVeN۳Gάb9'} oM> XSl;HvLr."M$iM"?L/a\nܓ:2{C"C}y8,EGRUE%W;XJNؐȢ†TM/i}r8˓|AȞ6$t 6cIs ArKjOwZ H3=G63+UT^0\J̟fz@*Rc)g?m/8i9\ӵ~JmW&j>v+g~2043%yA`2ʸD2 r8/O^(R&sZp.!|AAVUJ1XrK;153n~SJZUwU+ _K?5\oww\<*r#s9?;QQ`ea*lܼ|œ.xL,41& VS[bM\&ݞJi4D V%_@.w"A/ɬH^.:f孰'Ճ,+k%/YE6-_vtV8%eULzE #"r_f<"Ck&jQqL%%Jm|F^&鸬lTQRP}γ]>epG{~el@UEqb?%OޖS-5!'*De<ʡt8 =fRzLB@L遳2M nP͖}C&sUV*ˈzx4PAɘJdp']~>F}ڈ3DAġڙe+Eeah-|+@ilpƸYlxw(ج#Kk]&\giăc]G֥fLCZkG{L9 wWIfl)ݸcurxvy*>qq˭|(Jxƞfi#3JYo-Pkq¦gG(0JA9Icm/9yDdEԞ8䚽%yPg\1qX;OX]Nbܼ|&cqE)Xah9iǡCn䨳hѸTcAD1CxusCEO"c28|e/fCzS8fg&8l A+~ ߭D:4Qx3Թbٳr:X?V~Nb+]IݑE=Up|AWEwLjSͷxonFiS[۫l~ WU '1Ryȷzo.QOg-ji` 8v:~cTϜ>{* T;e_XS2ƫ偭c.&qZStЙSFkcu2x=;`zC2jb:+d) Ϭs9$dgu&J$Nf (|1^;IOUEi9QKTtB) a.~PGMfV@Jvי5CqIY~)@gt|tWbm= ^ILxb;jdG tD.̼bݔ0r0i}I1)p /p}E4)UXt)elld#ܸ C][1&$u3̮piLa?( ,v$bx!yzvۆGNHU"2hVģpO8, ct_Бj-B!cgUgLo„,nvG!Ͳ=5"蠈9rW|a( =W]h%hs# Q?."S*q !Mm_֟95}@ ׎**saէH N,nr/n>_{0U')ʱfa!%$|1QV_E^SK%|H>=8 dO 1FJdRY-9;3dZdzVS2Y( 8ՕQ XȚ<^dnݾq$p,%<;Үo!uI#ĢB\v̸EQȖjy@ð=cj}GGq\>`+@-끈NFI$Ky3#(U|WnDS9骸\ϻS6 .'t@LT`籓B_N?Nœ;䅍Vh"1#g;)hC͌3f-$Y|lg6ZRgs=Q Dj|-`9s$HM2 +  iyEsBS nnu*W3GDq (lXJ/8Q=L=Cߘ<( 83/ K0џ}SV3-tސY8I[Ep]$KjB;pc{@O}kX`f=1n+AHKw _5"FQ%o&ˡ"iRi5CբWڪ%n#˹/ Ϥ t͋NOf61 g24BԈlŹ[헿o{uQ" [4㇬jq7&MaBЯqZzb?~-A7 7<;n4SQ m@z};&'>]>NSdEcв+'81϶D$N4&~ TFNwH9f:f[{飻+HWl F̅d!Z11-ARQ |(+}8#Ff=4}/K!3))c‡ڜ=2$^fQoqDx$ӖGDl!΄8+ZR%XZJÚrm(N\Oa %NnUN٬:CX'ws!fsBBJ/c1;Y~ū}ZOɏ/ 9\bjM Q|$;PVnl.i |^k‘ALMjĬ[n"'%d%OOL͵tOd@(xrxo%d'&ABȸy&R:X0^;'7W0 lf5lgN{V$TqƟ]7#D'TXfY SyM,`MLec,n<͸JX^1gvmS,jp)'5v˗?=Y32rgvJ$O->@lfF(qL{Ɨ|;?Y3>\m+G ᙡ:Bq[._o9NF)GZ)_yg gi򮴘wQ4ɇAnύBf9X2]b<'ɟ @DU%qgpLqZ*c\GthG`WoFvs<!xp%KKua>' ԨX'V [!T6t VrjfZ~bKp "l^x[-Δ~ݷ힞蛖9PpS'QpR("[O;lp}Ɠ!fBl拄'Vy_Υ}|߁ A@n]dF)]\ZMdsT>!j 6rKzH{w4\f%rM,8P-~O 2c\ tbNQNHn \FArfV-rc>q1`D\5&]gVVNi ׋?zquBp3;%]=T߱{k[XQٰa^٬ξߵ\jS}mQϰnV)Q#s%ی' 7x-vRU *%mGPaja)q)vP2fcZI !5.WQBzvU`NI]ݲpn*2`C#c`d=k<y\-o  I0RW Y FYnJ#nIOu1 ug&?[|PH{h)|錅k8@/#P|+j&W'LIhy^ ]&s;oc-'סYf`Y*aK1g9|2~ͦ7ϣ^e:474ϫ"*$Ċ;r3wD[0#7).k 5/9#xeRg1z5 (L/>xOW `5Dݤ?Hݲn.D u0+gRƥN9y|1|}{>cG`"ـfvٳd X0ZD‡̳4aS6v>V^Bΐ&?#.9\g>s|\#tƙ`DO!OWXO8"eBDKeL̲n@Vds{^g9՝<3lJK-)͢ ᗩuG&jZ__?o8?gc;8[-ʲ({A#3cm R`GVMVYxvXkwۋ}<\yW^Qؓn m~}r4{,͕1i<5Hp@iqNb_&.~ڽCZfeUP !70l*Mw===§^sȵQoL:+qvl`I'C(ecUOő[~ <3;pdq pn3/.́@ćU4DF"MKr4A%l}jy(i|&TSRv.],Hzn c-f&"e)GaLy=.ޓȎ'MҳL lɪQxIKƼ.P(°,r㰣P̌bC<XP:.~F#vP#lԧi?/~X_KbL+9%:oB0s.Ψ_r'֞d7z0(dYxpIm,ky/'Vrz)g"j8-GFgOg(,B܎CgepC$g?4ӫWO9͢2wRWjgN/sέnK:$ { \^JAO$d;:uOј9soy"f#R\Ui̹| @Ts]1בl1JDy/ Rg23枹uR%̔E4EwRpu&,7;<(\5^0fbt["OآԫAZi1$z zE8at >Vn& 9-_pV4o,V]IMjJYQoz: @t aܬp2!%itb$hR m즯dO R@FOȹqL')y%Ep%H;]䢧)WX3XX. wX٭oF/ty\j%Z\u3ra+`5pLx%Ptr ~pJr1N7=MgrZO{DҭDɬjgeLq?n7 RJeN࿫ q<o#Al#ldsKtEY*0dC].L-|M(k#NCS**™,p3"V-08j*gui=T V$*q3)l,ERfpoE˛&d*|΢2;!%d yy| D:GHSB5مYZ;#!3WD)( XҜ IY8kAY> rC?Wu|$%-%;z7LV˲z|^mJ$Ș&GI,bw_&k@  SqRrK$?OJͬ$lY{=įj {YaY<B2n>aP^r  v2486gqգszYoy:eHX+"UqmɀӃlZuB[Yyx{yjuK 4@L(̈́Trqv8 rqDzb6Msu 5Ct!B 9*ˆwy~-UR8*T&\ncP+Q7rgNqMUKu8sdc8áM+[rNㄞqwIEP9Ԣ!6 |OJ5l>q{y9fJrllB!ůvL$Lx$qDWzA ?_4 epϲk @x/Gezyif9aHSnmp:QսTLWpM̼NR3xDq+-YybIJY<B Mλ jOF*9~OM 8nuiF&eiH.{sъ׮wק IuIp&_{x 3cõi\)邏Y< B)q^,<)[rCTp  &55 åBD?t `Nөզ9 [x/$z+%"L(ݨ <;-ڮP8ZӪ43Q: ,քg8}fBd^ M/x_M#\w# D-x S͆Jlɽ ,.)V}MG?o #R52X,*8FQYL=(V5(,z _axxrBcğu噜=P2ҔvD"aTjYPAViviSi[F0(%*7ljϛ}*^iW3,d5{(޹0ͻ&i*cmz"Ruq W FHژjGhVm`p)/۽H>vl mz1|@Z5XFQL6EJO=;TR_n{ْI&N!cwRGEDTq+;ǁAO>L*R:9XeeZcgg=Qm4`|5VD] FOu8Y  T!͗ _kkRR6e8,H5^oY@c+OJt9 ,b3K!Ĵ%}^W Q.̊|bdU}Z,,^f4y.'K:pִ[CƴT%h a Od4!L|Hoߝ,+$&HASrHq` I$ȡX;`&owBռ|He8gHi̹ F,^@&#p֊U8 2®yBRqn/>iG 0$!3DWKݎ>XրkgFqY7/Z3DX)]2`L=49O_ (;Vw6Q5D"%;D3`o:-*Ezՙv],la;_sn`?l/*):BIկ`K#`9>fP&ՠJQ el%e zƪ1Eu&'q [&z?$N\W0on7WBO/#p$̄%"rUeMcV8{3yTؓPY"';W wc5|sLōVlfHnYfxE׺V^ho8vF-}J>}on6 ƱoDY^qb2lJCpGS QOgV|+fGID5yɞ?Oqb9Z Urv2wrnƎt-=Mﯞޞ<wJW*UJnG6kK{+c_2rP{<7c nkGEԋ_cX:-FeB԰L _1YGj@ҷ/W;tq.1xCWPf {N'AHKIz+vt#k]%-S?8>ni恁q>Ki?lG84 izE Dő-T?غA ܻt{}u #M.,&M->l&[.8zP,( I^fhqUe{M?wœ j&@)Ͱm[jpT |tObd,А%V(87sx+ )1$'n# ,-P8M*Xӄ?ћins>"/8^iff."-VADCWI9_o)noyi(ʼn)Br--Po̒|âqǓs0$ڷLmn3cs:tQ$#OlpfJ9ml]TQ3)N5g2&cg8xE y餟躢TccWJ$<;4@{ض9$S`#@h-GE]BC7(j2gWK{8NH-a2ٙӔb8|Mܲ(=؉hǬ Xod$d&wN>Oj$oLkw|NzbRj?u`Jh,u蕥++s c>|ɲ@e*GNr-XZl]_aubr.µhJ<3s<ѫvDġH5MY3i\߱P. pJaVl:1̾mה]JR^lz`L\qlQ=bۏl;y| _&p$l64n3 e M ^󚝘)r@oLkI|U8G|"ߥb -)AoeT[84I /vw ẚ%-[aك_8L:JnO4~(\D"a7#w=qpPvql|>5K%`Nߔѻ|vڕsZf품 kU^E@x0sܬ/}485/ugcV&;yCV(\KpYfyxl  rh< Ngj< jŕ59R ^DTdi뫫#fAP̑Y!r2Eə YߋH8XShKe[lUJq#~n rq.UB*O2 '-|CՑb]@L8c ERcOB"]5b68#Vq$Y+M"j'< Gt-%HQbybf+TT-ptQ("ػWXҿޝ߳o_w9WZM2p:Ô!b1 ϋssf򶮊y4eWh@*q(]9}Y"_$#nQS HHYP,|ފcSO~ɥWu!Xl&|\]~?/a^H S*O+K. 逨{#!me#I&0 GggT=scA9]CHUqКcgxNBrs/~eC|s<,qBSMHF^T;ò AᰤBVYab֔|KYE ¡vTH%тJ Ucs'vH11M %kD 5Sw`%3!]q .񈯳{8$ D^ 4С$*KE=LJȎ9%|<ɶΚ>ӪBP}0;V :/L# Y8ʗ3$|c(.}LJ'>s8 >w !W2-HJ%L9a09\ZYBef_`4XF37YcGϟOwD͔`R3ɘPJq%O_P"`u rbcKȺeg^Bښ 7eƉ= ǝ+@B#C!CbB˒8إ( Nao:$q+N|vֶx (VmgG/9}g zv ;G>y\c@ Ÿ\)c h| K t1k6+29svw )(Q8BSZ;h`Dd-R Z/ÙoGM!ܿ =t5a-K64,fqi:,pHY:NSM0;'gdy9ķ˚EbRAZYH̏;1.8}ZRV j6:CeH(LXT;(&Pzm.c"7ϨQ|B0$rDU( Ys 8D=2b~!2LRLey5+0_It8ן<9%(PE "c FQ_%E_of O5}Ǒnœ 5CD|Bax(E 'C/pV Y~H?{9G>NM-Pd{ ۛS&3aNA'?q‡ga";ܸtleʦK XϙڂD[0ү۞b'܍\~ 3ضY 9ar9;/X qc0"ll=!~R:5 v{=_ڢ)e\,xɸ]y^_ӯ&8n+Ok?wpGn1<<,2o6d?/TϞrqKy :\C9D4{'[Yg -#$|0"qP/^ٗ"Dh# W Hg_Frݷ9NWUD*fXz] q||rѾ GcKM@z$5?GQS%y |}q %Ewl,^㌤Y1H"u6+{`q]u J% ΕJyFhFL#,\N4P)nMAH30<`/ e@ax6J_͒> v/d}l ~s6+yZ # X]}) > 7LY[AVؒf<v+37DŽF|ŘlY(pҙD!8,)1*e‘_mNvHo-mfIAy-O5a9œJlx%$opQ'cT\)oGKqP鵨x2.ȷUg-3p1Y$ F޵/2.KH*(T8+z<5-O.8*ԏxZojYlE+@"֗}oo9Gn*RdGqLڗ͗by5r>d Q6y [E8>rz(H{قHlwq`,7verFb i䰬\Q蝽>D1O$u> ؋)jhհHHܠ|3qmZ'r̽;ROSy:Nr]XR%}V?cf D ,`,_W2pg;; N̔4}{_kPa g%Md%`VhSp3ρ!vԳUgb“P[i z{k6?[{^~“٭D =b)QtiYR!,`Dž`JM%ˀ8iFפH'>ONN"xCFIEu|,%c6"!1\Ğy'f@ _|Z!eJupu/v$zXcprKVƌ gR]պ!ը[H K=tq{5e>f )-ةagYe،t 2%ءAx@;E< R$yB\֓ԐBP}fę&m{3uڤe[h* 4\MGMqna1K" Tm+Lj* Yް4 @* `o&nNo)pBV^!(eQ4b T16 0 'Sh clg4NinKf# {ӱǙs\6.3bɌj\!31%JMl=!BXr}vweOk6+;6Kh ^k(^HT*=u4Ĺ*#X?0.b =!`6r9V#w'hu-5Tluy.Lr:m&׋`jb߇%w5~^z4^iN̆3]pڋ!kxDوþ.?3#8v6_D@ oruSL !h3l`UvE/N#l~!R*{@O53;}%apt4.Ҳ-Nq2[Z܋8H!" R Iz\&<hٕ=ucUwIĺgSʄC59bTH(IqoJ9&b_`xL96 mα@0"e7 5NNI寿ŋy8;W2ǕC\e98_ ٻ>|8rzo/d_ 2-t$]F(s<º7EnS yuReJ DP;5?KgOT[R}d" '6#g'ǹq<~;Z8L S*w ĴKTY[_W3eO1jf<֖WX[xHvP, :.RAV}\r2bѕ©({ 5iЊl(gt#@m&LUʊOT~Lr)il2h*u-iY•77V\7~>*ƩaFeLr,/U`mI:IY̲Sʒ(„u ЂQե1'_\qݑ,~FI3:, KcdXY⨏,PM@LhKXMRSe)|ݗn?!V!lF;:+~ ,s|+!G]V͇j!Au6q~#< s>TU#1lv_S8|g:`‰/nI헧 :@hXz C&O=EbzjHb\YH$3qld 7X ; UdX0I>$;%"\^%or7JcHݩHjRJ&XDN|NԂByd^,UrX5R8J02oCGCG$^XM.FC@+YJ%XK%ZD^2 Dyn b+ 4~njUcqe9VHR.Wi{>T3*݄&DzCv<2Ou9|, B92HN.03'e(meDfGBxgt$,xnq4(N/̧XbW( g2*i) BX>T&AMޞ^3ĮzG#q!:'"a{?R4p p:ga4d7 5BAXmUy `.p&$-ZXee6Yl;NE"|wօgTDŽV]^t6W|̱~ }s5cT|65Oj=U> N4A.`;JlMZِ#'mlOZJ|qs 5O:&QG ȤB%N/8=j2ުGVLA CYno41WuUF& E…M]RR D2Qpy9I《.|*}"^ {ƬITelc$ 6t=&tOڦmջIA%I`O;&ml}<99@w0I>(rՐ$2{-Aj5sK;ؒY&PW֗p?yuDO j , 1!y .[o^r-|jˢ*%(\54R]&Ӕ>e y=>9Jh27P}z׻Q%-ahN*k:Y 4;*ƿ]Sp!F '&x k Àpn ӂOGR>ޒcX&P=J?F$ )VXh/͈j`?\ue\8?i>^[ >hjhȋ<݊J*!?GvVZ||HX9g¹i8)m_8.RhlwWok`zz9続@q6({}?2 Vᗐ-L;scFEy}5u^DcȲR+kT@0-W|"hN#ƒ8DZPadtɀ25*ʣ]yI=M)!4FQfl Ͳܾ[D%8Lñ/=>b+ǹy.#5R.~]ܞ1H%ł ;p"*t@h!,mH?5sL+EKNubqNhI-UmGZjvYcxTi 'ꔍ܇Q$ :8!˪ELQ:]ѴAY`$,ѓ#G ȤsH|F#څ"!8RlW !'JfUڪ37j e5I'"Qto8m:g.nqOnJEeց|=~qrn'QN>6w SS)st+|K9hab&Ԧ}Oi 2wwx%rxOq^=Q\^Ry#?2ϒl΋/~0p=~o.ȹ1ĨmXj %OL~U2!a %v4>p>q %4(/Q3;&Ƿu{n$y Xd3 PZα߻Ar MY"'L\$ {l…N2"8cON.vIy `"~9do% ФDh!% EQ,E . &gZ._sx~wvץ(^x(EV*jSZg<>K5uo?#E]Z Hr 2RJM)e QDx&'JY W ~y-msy'ؕxd!s"MU#i. ]J'%?|zy!;-9"+DOΆ!4I1N.%O`"Nd 8NOb+;''HEzְh(Z!5?SnتsDYS`a왠˜FBR# x}&RG5;a9oIazm0^NdLo7tO3'GU0RILPQ]wwSvM%N\9ׁT` 3?th`\m!\&k4t0`zx2y+#),EHeS^Y&+轺~8؊*kSŇUlN"/1XS>5@HXd[OǦǗ,zN%RP WmKG]2ΌE]*}h ;"d&Sh D\( (S}%J}XR"SrOv*0D5VkvuW?0IɎ"$(_6߶Tax߀XǍ =mbQ-WjD@;ȸRn#D=PQcb˲dA2{6]:2 IcI.7cB r5,d}6,tAŸ&*i4 W xek*RW?\TFMV$帼9y?>ꤳf.jj$%' JgUA;x2Psx7X{!.ʆ;jSj9`?uV>+NN2!6if #()cbw#2ik_l [ڏsLq$i@op*V+GgE?]&띥ITL]@TII"\O/Oޥ]p8U R#gR.S\)q-Oe:efT0Xd:9[Lu%, A]~H)K-XyxoZ+ ;kqbL) 0 ڌa'Xխ"=TlQ"<{{OQF1yDk~] II_ Έ-]3-bW{K*YT'l UG0ڇeeibk6}}?:o?b< Uɥo7,J~ón=(u:ֺ 2 go߿R!?;AYc5䜙 {$t)a, [p+P)1'8#Pbpa$iF;=ˬαrCrW[aA{#)#ˈ*RjJ+WZ:8DH7io*Β>ьT @{eP$9>jepSƫ#UgI$Q1TEo׷rʽ۵DXym -b{cm 0b9j Cudߘ-; 7:Aq~D L"Q!=* rtl2EgBW?aq>TɅ x#3 <׌"0l( \BVd`4oD(kŽn?^W|Ts~HE86O~e-#lbF˭]_;7R2e3) b(Ɓ?K:Gp)SyOP3gbz*AJ\L{|I6#f4;t.%os9]9+ 1 'S=ÖNT LOq{yګ.L}AGhk4Z"*a5Kj6 H o3e,xD!~~/J1YrwjIFqHh9fU^$bɺu?$3+5N@'!,Hm#SA3Y(_* K='"nCMrBô&3{Ƥ HH,2~wE(3~<+}|'\ve׀3q c~2to}~A-1/#<pQ2*Y2_L'q?^|ޫI\3rl9Ufs{++<0n-f 稉Q/|3OyMޞ[^l4*M4Df]t0za!4QlBb 4%yI;!7obOkPT`VRc9X}[BOv07dgxӕu|3+0g <O? 90;|f$"wI0E0@TxX?8]Lj6Nqv9BY$8c"S+1 fO;FKaUٔ+Kp$W5MO3tBa9wLBV֒;<7S] >$8B ̡mX˨Ǵ})ǮI5'%MN=d76L3fUi8ɖM: UiIE4Rxգ^ ֙ ݆^.&`pa}seD2?T/[ΧT&3d +%]2V3i)px 蛞\pNv[ݺ`x ^xļO>ğ_8Qa[zj/3l ڬgrUPFtQAs195Ug b(r)7RvLOrS1+,/2#.c__E+ᅆ+5=Q,MI^(hx: O? ~<2w/)xbրpק;JJkЯ?6n0.H'4Z3o)I@\QY93' 1,:md0##ݫ4ss_)TS\t6{.p3f44$sXebIRg28}${LBCUEJn$X&ΎxYz}h7BeG㝩)ٹYOa. `+w ( Hmr(9sȊo#Y8"ȡD!r:0F>8.3U%ؙIO|R#?'N,EBXBIDZP a6p<Я<@Vh 4jB'CVp _VN]5ݥҐӚ!)~5;7J_(X2Zh`mq7 \BZ{>rt'ҋ虼R0|)~oyyyeqqsN_'-;vLy 悔WW^*Ab20URW~| XyC8(OpB&qDOqk{iShm 65GÚwo }>t5x}A5H B9<@iaF]vrlDd_BzYr?!!pvq|a餓#8Zz0$ɡ^%aNnDDcrZ#bPI&Y}a9GI4b%0ytl8cc8!&F` )R@u(~qg4dkFq@L#I`,0Iڇ`JhiCV 8w'[uO!!=W')443> jՃ{;EW-cylҨ[Ȯӛ=II.^;f}Oډ̸xCcXrJ5\Ù82bel]'ZɈ,wZX$06W7l3.>gJlLB++b>luN>aRhB; n{f*o/Mw>Ԑ1Eo9Q4+Cg cf(GH,/N/*H{EaB/،3tu㌳6BImwn9DU!&Dŀ|BiJ];}2*P,NQ j#0U?7>Dnd ۛnv2iTWJw ;JO2 G.8u1tbңM)hQZ>"1WN@hi.Gn6ٗ#(% r`3=$CXǸ< %9JUιYil@@LvQȞe6B :0LSu,Ւ$xDS9nʿd :7q03*¾?_۳WQtd҄|Lv'eqlz`EuRM&ю#3 /'%XX 6Ǣ< LYqѷ'Α ǁ\摾R)1$K ,1j%@T# c̍X۹]AL't QYؗ!ܲkEݜ\_ŒWY ,TD&y_AJAKJLRIJDMp"lھo9]bǓW%1dILV&*k0M.$1 =Pƽw ؕf:@y)9<^ `f/a3LODk360!h=\ %jƐ_zk9x[Y‹ğ,Qv_w H&0ElĪsrD>/IR#)9Lbt2qK^UֈtvқPPМ6bsKakdS+NkЀ9_.* 6iO~Y/N~M!DM]$H c \@gǓoο_0ij?=rj (@>f0%ۖʑ~.xX6NLHa{,0uԍ[J qsXh5xV,@HXIa}_wg{|vSl"apIDH-ɾE-v_q͂S # yI\ݾW^}Q7[RnO_?SL&# ̔pySE9o&IJ^ z@##YdbÔʓ7%7q'B:5rtEaW3('d2˽;5v"G,9VLp9w׀ K?vNlL~>f3~O h>qڰ}2e6dP+^lu8^v-vԆ&gfZ++CSġCU1e_yɓ/Y4%+fO-h[a( -!Ius9tZm&]U0m]"G />m2D W$҂!B__LVodYs  :a &9L%*WF>?|>K?{]C~ He|̜ jXhsFpM[bc>,E5%n)+Ϙ{{5:3ˏ$W&,Ƿ)`` 'Zo/^"e0$ڞ$$?ձ]|P#lQ L)Mc .=[:T@⼂ιi&- t&V$,G> ![X\6 8MO_ܙs /CtG#/N6lz642Xy 'Yxb/܁:cDKHYw\N<2dҿK@<6.>?1_F(qqk\/ 5"'`Ƒ1p84@i ʆlzf@89Qk^Mٯ.ȃ]܁ERB9F;s=Zh1˾؟6A߹Jlj- Gv13ׂxR9jf^\isg/MSN*bEMքLY4>|T eXg# 3Dٜ]uB)w%zu#HHY_|hcK8,ę3YW<5I^->&6Fϓs(=w`Fˬc㤇jSd,G }cµ6zui^RƮ <);V)ܬDY,fW0k2# >I wv&= @Hm>g"~;f'U6GfrMm5^BjYX DE|" SYX lg&x;'KhtQ.{1;9;p:pQl//xrۇ4S11ەR;n8u06dag(sX>M|4HmSuM6zI^*r3m(sVfM0ɼ2]OI֑ 4y-ܮT}ܫhuDq;ɛ&ky?Ne&Qjܢ&kKz-ةZI8~<%k /XD=,G3& aMlئ1-eыM2 .j W6zMƏێQ/c&4z7)!xW㓱v*SVήsXQUaOC`^CC''h齭qoX"79)X(ľ?u󷤎`?֎Ӭ-ڑp~n}OL2iGQ N!Q .l=lo܅垚C4JNj& #6<Nv0/Fec1tU9ЈTð^-n8#G7| 8toM(/ى! 6K^)^<g,wߛXYrJLZzgPd'}-a ^pGL҃d78U:H3saY; 5d҉R:qpSƕ~8|X؋ 3"d:e%B#pp/Xk9 ?_$בe  .BČ[fzA HH$3cfp7py!%҃-R,~jfn@}D2#ѣگ&rGS 8͙LZ6` ʎy Wz1\^GGZ*$iM 1ֹY5tԋnٟqsHa /;7tZ\32_[] 2Ŕ˞o(h=`~6ܨƘymJ8Ei.^|t٭>KrA Wv>)eX{d%*PNyTdzc^Zho wr-#+Bx>&d<7{Glp5z_:ެ߬>Pl%2y&SGf+Ė519<>vOnQ"dT;a7 ਁ/*,&C!;`g//.}ƙdȯƴq}_C L ">;=ILp$!^!(ʔ%'V%FE`LJ1"N[쑩d$ rn( 7{X~ч V=U)?dT-n/dq#K;`,C^|x[^>[zM;% y9# Pf]:q=1 uC-"z#J6ps^gנ<83y)SaIDJ(8s)shxvZ3gZxX酻\ߜo'z3c-D]u?r?i 'zru{<ϞČ y"=E͙cvA0IiE=e#+%=r$0fJn~^_.ܻt~Ǖ2 nPl4rb`HqӣTjҁ ٓ41r*UuL2Ch&pbE즢`}2 əPpZ׃CњhFu2TE kbIc..*ӽYsK͑;czgX39;{r0~f{u2+x!Eh$} 's[Ƌ/7o眫S3h@9j=d]"3^Z@sT:%ǥG%V_Yb8^O5yPKNimf SKm~y{nn=KQ4Ř7ߑ2vdi^<{v׳:s0lG}CbJhEG\:č 'p%|MI1T%)MSjΑS`2Ջ@ga/:-YgzzKOF,U<2},7^%⼻B3 8(Dfo$8>{ɓ}wy#8HeM3p+\eݰ&Ԃ7JoS[K2y"U86/U'*D,>īDŽ $-E&\g uDTXE9[,OR99"yYe.LIEw)gG-CM,..xҐ4;E)Y#,ǽ̄-8!.K]7}晜JETeR49e`qmoOK6#b>!;P"yƑK!䛅?%:8kȱy>A1D8W25WTq!ꕎdžL;)$4xhǦ |)jQ(J?s VNN $ y9,P& oκ!wb;*lT bn'Ǟn GhSd.desH}fu+I l}zvpo'~vutzNS`*Q Y8v,@Q׫C \Hjۥk;Ueݰ&,sӑk?5[pafn*EGq\e ޼ۗP)hL< rlAz58JטL`C628| M3 a /5A͇WDX鉌q\2)m(c$w,6W1|͈*|˄/RŏЌeI!ϞN2'_FDUAeAZ/K A8$)`u?xkou܂F4rBD˽a=X ,JB*ԉڴOڽmC)!v$^ g;7n l!恷!S('p#^d?%. G2DIS'#stJ &F\4ႩI}&*%`Dݎ ^Ed9Axŷ'=^~ݺˍ+4dcHZ5~=t'HO? .7a>J,wipt m05{2m/ebRV O%(jְ䃎T؅$ -v7;܀t9,NҦeRdCyFbtܜGzl x|s-I3㏓݇a;) ڱ`p"R>o)Ұ={ <!ff5$s|8]a2Z>zGܔ2cHphhȻt <\i8]FQMfI@CJL'#Qۛok9ZR+yFHT-0TTr~<o\5RrӖDq85\Ĕ! r h|ZpNsBA@H#> 6I 7ǨifGBf)PE:HܼƂ(|N\i6E$i6KFʝ6.^/]e ے3Ulx)#qQlnD8Z6ZRQI *G 3` V`Mֶ$YQ4s&4DԜE7T.t*-o쫻2ędtHȊBW abRfB\|7\o=uB%#PAj]zĞթAυ !$kapw[ٽ<5S\wVmrp[AU+ KÉ4d!L6 ]lY?K2Qs YJ&(C+_d|i}YϮs9bZ\M_H8_M10z0@r3?ɰ ^5t֎JnsʚwoEpqʀa `~i}lQSv+|WW$~E6P_,9-|9Ͽ &>I fw 5Gؕǻ:[m.ޟ]W!@ Qlۘ=w+[E+nV& ud /qJ v}՝Zpld mfRPO!4+ե}uJH}ǣ04AaMz<{qnʓrd̍rh.c Dʋ_7+NC+ٽm# )OhHrh*l[,1k;f 'gj b.$'s3u9 @-[guK~!;" _HhGʫ,pژ$#gA$~@8̭8,~xfNbd|þV1 U.,"97gtˣϘDWɾ^sd;>JbpO\ z[4lN-K^ 'J!A8NC xKzS__N%& ɨfG3Y?hu|o#BW+K 9V9[Gd (>z=ֽZ kL2@T /w}uŦ0XLV'wir~fYfOGQi]kS1iRI{@x%`Hoo9q 5.gT0.e?BmMQ)&+̂'@V ;1}'?f7o6̘k/ZZ$%9S_J+jq-٥ ُGOt" K-1H#4$=g[X[[ʴR33YFVMgω50GԐD3tPU(9J-Ea!!Ͱ{7p-5F09=Sjf:F~v#, B#|sVs]j_*ҽA9~}g'8uX.L`'J`d3&,|;ROVhY!lRz,ÖZ# 2NwXo qvEDސm~"P!zF ׮D&zuPu -@15i;b'\ B6Qk7#1f_{Ty]2o (2 AzEBM ˦͹s_M~a0"v|$M)%`9`V#C?j>M̛ip5$lא[9_ ? ._ !'S gn߂~ƜX<㛓R:)E]bwWVq}t^z5$ԑ9o:fHG;k8ݶ^ܞ_:zTH,&jN~I(r MMTf|&g()Y9ˁs`$`Ae !wpAN1:%Eޱ=Pe XdͤUbdr^^ "-[W6 q3w#HR<I1B{ x2 7%bi B n yr!pTHhZr^H#Dt\qVP1M~hz}")wC&M~KyY#pZjW9SL4h x7Jvj湞C /h8;XrHp㷄R] Z'Re'ꉋf :4Fo./v6|Asa~zY~~B&uag[yH0cB_<oYd7:= 4ϞQ)]f/C:B-|wH~1zeqU 9r) _G59YX/4ģcgvpP2qPXg Z(,Iܫ;U)'\%1cD888gg7 »ilƖmY$#e.=ƒ :ɃN87,p4$݂4W]"aE6 ͙xH(Kh2WBAW`dZ>>?7Zxlvs>UCKBt#XHqD("V3Djȋ-Mrs_}s I1ࠋ4 ˦DzN<\( u#ſGIu2vsT"U`v108e>Vu>Y |՘`Y_2J^m8m'eEL2S#8gXLRmWQst$eQE:¬_wg?l߬6$J`Ln =lh !6żj?"L-ωddĔlgTmfJJ)!M㔆*GoHVcG @^䠩 / CyyL*c–(v)(M_xשlhc80 3(#BzXۡr8QM~D$ZlDTQFx'%?9BJs|ȗ7Bh < Vy>+?h-"{3}Նӌ^l~Y3G"rH>O.ayEɧ9$9nRF~~grzq×>a_g,Y q<SÑ`[n~ Fܷ 1i ^M)TQ_q9Uiܘk W%bLIBJ;nhqvZZ~ؙvsJMT#4S3Ax;_EMn)C~aJ+IžJ A.tep,r-hmi$72=2As<՗{}YFF.JOHQq/oBu3a)C0LWg̰aJZl+Zί:ldu–pTu̓:_H@IJʾ){_DC+(a%>7L@ӴZk`'iOE0eeVɠ 'H :Wafz~b{eNR?J*#8/.OqP}9I>^?'GuK+n-'!cJ DiE-i^gߋ"i"IA&o :io[mHwѰ$$jz7aEq|i2r~#d<\(Ė&- !yIg1QO~,?uq&<Ҳd+n-aՒf,} c"IQʙvHɤNvee~39\ZH%kT4N29}%*,+КͰ BZzV8ի뽀+F9TFmv9OErǙq͇3o{$#DhL9]zq-bG^5+Bq EXHvzEJ/iLXIk-)ɬ? ʩ >R$#ZR?v'ÏKb^K|AeBJE%lĝ7_}nDr 8D'ʚ[i{3)rZ b/7Jڌ@r;TB{\_MƹD^dVZ}dN9&TfՋm9rv'-' !$Ξ <{vlj䚣qJ0м\:k}Km ;RYGo3qwg;Ynv+唍[弿a6&'NU@ǂDD?r3l!v*D0 vb<33)&p_"xG۩:s=&O5ckUs,^Ҡeg*3t ?7is$F骼JnNR E0їpԵc͊pb}ݴx8Pn}2cO~l$K)'򟪑B F~1zN^):NӭIeev/EvdCYʬRk6̲}hYwvYJmϕ5%d>ܱw~ο@@|ēp(*u;.6{pvlNaw6"՚MɁ9rpr=5Ue#8 5E[W W~Z9Lt`%S"2HQX ՘ج/5*OqrfߙZa~fGq_0xJ!y^VCY&s, ]fd`Af}l'sl{9OQ6{ 0qyz<;¹N+- סusA| 3 ̤ao2xCw a{Ş{}o٩NuѸfl4boPgKa3@Mbƒp嬮p=VsἄNM`II L}TeכWC O?p8 EM\(Aw]o/(Jq[զ)b W3w-1n):\ܐYW2Γj G|+]  ȉ6Z"ެnL-i؋S61SL8UsGMK@٤TTX:UpV{a6(.>EX4 Qt {R ȊM'R&6@) AxA6y,AR{Wx.0jʤgL Q{cs i5FU99ԮR`)Mf)V!Va'/nqsD2+/-p[x+f w/99:_\F8N:Tm,Lg|R%ձOORb:n [ˑ NV h,zxt u`v2*:= /kᵑ:yBZCd=I8nJu1lk-wQrg |Ps Y| WO{"7oLZrlZ0a}>I`-v}Fri0}oD "ҧzuՏ|(NE$?1p=]n }/{/N) K$2q"T4L䆺\cO>) {Ʉ-HzM'̧ 'fnyL_HWH T5 0tXc7T|9hf-*T*4㇑XO41n ojU稝XXzcWɫ_&$]rcQ} q<{ӟ^I5x ($Ŝy%iSJV5ߞ>m{Y8s&u$#Ry,;SB{O|:̼(./¥jBH0Esw~t Y_տ8c A`?˥psvYC؏'RFDr uƤn<|t6iJ$gnK@2YHlȾ[d?U ;x2 lT(ous{B̢(+L9Tv;|Wg^=9x 1F)OpKI~TJkgl@4o =ˋ7C=Ul?6s4uC-JZm7D_VrFw"&&]BUGl(Ö]J+IAwf*rMRrA8BO Y`<%Qkv̆vsHgo2 OfQF>撦VHH;kFj&spr829&囃}¿u&&[i y iyoccc[kNw #L/4S˄8RNVXmכc훜}ƅO=eZ'Ų_3s }?*W98S /}#zJspBǨd.ěx$yC-Na4W?D̊&U%'ԅY+LzSU4;`+쥄EKaYq:8BTuV@giEGGD[/4*43Dic ܇-([#{Ĥy#e " `.)MF́Qz-ɧӛKdKB&jN~su ֱqm&sw-€ +{q©tBsB~ۻWMVW' pHf#d/1 <*]12 .5aka3W.Afa~ `YRRL~`ylqsRi+@BMٜVz+l)W#CDB`4Lj{T8׃{bJ"ٚ*[X@)4C#\ o~7lB!{- ^e{KnR23T .M.akIzc8O]8O?Dӄ gnYnWX0i%y5x#^CʜOh*:mynHd;H8sAO^Z&akq^O bmjD}3@{MDyOM_P6o%dG^_{W/K:sQ_ @6>jHp+^s{2D<=@S'by%ٟ"ɵeAۓE{mI۝hṯS*Ά 3S[:W5â6ӡJyod`cE"PԚaG&cx*d#`D\;2`"[-ls՚#˫L@`Ⱦ1RpP GO"Q!}Ym˧H-N.~YA.|4+w;Sε$Te~*j#4xƼ^)&ma,\MIz??Y| >C*Hsؐg8v)0[Ap@4M)33)>iMc:h?ߝNvq=!nmPZأj>_?Lz>EE8m Gznƺ0зߟ?{J0f6q@#ga=w3cbQbK#./JLLl̔4l^Xm`}{j{`(6IYʯhG(4&{ )T$FCw2SM~w,qwFĊٞfaqHjr Tdh1=q=3@z2f}Y CIV| S=>7#TN>8wY؎p'S00P~a^`N~x2Ix+8$W#зy }k \oo)ί3+&jI0.0vhu恔LdU펚b|3G]%,}8OIcvxW"04w qOh`S NUӟȇWδg7S L i1VR[i Ik ( ,?,-^F ?}RZXq h^f2Q~xqV﮶2aw hQ=wJ4dj "M ǽ[Yų9OyuyU *PN^e#=ቀwgIoUnC]q\^WRƛgۏaNZ\Yɭ\ؿB@Arfշsq CH]Kݩ*\nCL$KXb_82wK"b6̄WOas].aR&yQxݾ1>*>\b\QB G'1W02`~ ȳP7eXpD'ɋ3uK9 -19l[cN I+ϴ5O^@YBY;ج: zB{2P MC2ieʺ3iꚥ(^=+]t"Fgd7*`/w7zdt=[Iˀ#D>+9,y}-/ԾMmV& /Jf]x8~LBJp UZ]8AJށ!+C>4vYp*`!*&B~&rbQor?:hAa̙j#^CiN韌_\2)".ȎV$+7z|z6NN4W. `㱢ŶLo{&MJZ^Y 16/GNH<Іrv1sC Bg֒i&AY:D hd[7MDd3v1ȤuzF-N†_ 5BP%- DoÌ/>nFR(IA^9ܦZρ1/̖QjK"߁b%YZmA`+n&9Q#G {RU3ax6u;tng/q&pJDP3F8g"!|ݑ|ml@0C"J=y#I8؏H8ې&YAC'(ɛ^!np@g g}<ǧh}2bxCվE;z[54FWG?2=6{iӱ B9 D2#x(4I+Q֋DPU0xޑ5NZ߱t,[ hʵ| !X檦&`wr 8O#  5P}SJW&y/ptF_ӾDŽ打SӔEsMIMBtX;`ZhL>')Ɣg'0$a:?3rdD]IT%S`Ϝ+x1fH y})*Hf*sp'kdAYqZ-Y5>ɖV/ձDŽ3ﶟ0u*i]԰gca{9<4@pqY(MhKFY8kbcҼ{]q<l& M$m>;JRׇ^n-@&#_46_7wBMz2c[N-=a͔xXJ篗MxetF?D]G'SC`kU#?ϙ &m]I^-α\TȎ}ph' !G5rKٳwċNŽ2Y-dT7*]oODfsa?7익b`x8."mQ,P;x!@~(aO<`Na<m[j>RPROQm.&%b^V vW߰ye9ظLr؊I7i~/cXp"-BB!{~\ϔewPb#.t1qW`w'O?I'u^vܳ΍:gG8grkVzm<) v!RHUI68"g6˗=iV /90#uv5G- Թ};I<4U)! Dkʕ|Pb:l;2כzv~l3d3Ơp/;{#.Js-KBHi9V]Df6P F́[ ^ 9mi1b9= O\W^u6Z`)Q i%ٹf6X}I< %x-& 8s.I),Ydif雝6O.ҧ h![IA$x9o#ܞ) Q+m֒A=`/.<O.i.{ ^*`2p̜"ՔFDϿ EU7#L8>vd+͹jCnE364.~Z|Ŀ|fdN DV2 C֬>ǢNy~_Mf'rfVt'ٓ?Wun=- sVdѓ VHzRL&< /}ɟN"!G۞oi4S6SFmžB՟1_Y|w̋> gc&;v0-;'lmݹ@F!(z{y:?i* aA!?<-?׍XS tY Y‘9aB 3ڲ ջkg)SKBQɐJt6YibpB`0'+ -%BObEXesex0.~۽ۃ9޼0D*4‚Mjc7)E퉸ɮ£ B܁Xc!s0 xC|lưj3|[dsC'3۝h<ֽ礍b]"{ax#B%s%*ìZhovaa4LafWd7Y|Eq {XQ<.) X-ʃxHЄf!rF 1YwZ)RcjcA͖Bc8ȉ)r0N0 3kQͫaxJQKҨ&2t2!>xxY[ٓ=>=I?wޯ|9{@?q"{g=+YO½$5^f"T QZM > QZǻۻw|Cd|>fyj/`YF@P8EX)$*`˳771X<3ת\m=y/ٔ&`YțT-9uf!r@c}d%2&s$r]ΖE>;IFh3fv%]B ݾ>v.]tgJ1 ncs:~Y=h_6LOMdFd],n>Rςؼ{τcXdbp%u 6M\8^2>#Dac 4@+FܒK8CmSܜ3{q2cҊ`-S:1J2uPM~YMN9RmĠL;[T6Yެq#= B,3z`LvlޛF/@G8s.  ?^ݳw/932Mj8A5;D}ȂD/"0Ś,?u?N0B[ŻH0ST6(φkŸ$CwHv.jG Ζ:JZE]5;}#ө X(g5^ޣq7M7bg*VFqʫYVc|l @Ƒfr##}&b KDE{KUr 7)rƨ$drX~Rʫ=`p1+ל(U8v#&;5%R-UG҅VD_G\y@QI&gȌ? !5Ϋ:-JmHrBFpQᖬ2#qA_GXE(MSZ.FQ̂DeS{:Vg$',bqX+.tHvr(tG'vTlȶcrq̍öD:SԘR}$z {fű띔Kl nf5Kcp/\/\]~"g' 6L`I0_Q_7R Jvs5 2z_ٙ'Rsg ]9(:?NPN&鹎{3sx!?~<6#YPݛ0D0R ߑ P.':q?p/|~&$ W ju<8kylnnu9$;={F8!+XRtE˶a(Ok^yzb'PHFO&&NN^)I)cH:g?SsK+fҮ9ȎI2jp-+~a^T'AqT?oG]IzW@xIQns&O)T0f9Ouq - [VSS7y2`|Z9|c=\G W/-%.%~'/J@c_=gzjk"[xz@X fi7ӳW[q鉦3'" K C|z&o9rNS_. 2_`pԴx:i|~{\mTр[eqkfטa.$ɔ_zD8%"PՒL.%Kmf99Y )r$ ,Of0`$|p. VgJR_ <Ʋd(0%dHtbyx~z$wA1; y!o,gQ fIQ~qh}Ƥ>Q5֘DWE`q#ûvUR> Jz;c_k'Rr08y9mhXr#}Iŋ˻[bSAĠȴXıL -Hy:-^괳qnb` !XYj,,Z_.>99U:eqRR%)!O3v%RE߁MiW4 >J 0 su\1[_-2;OH˼c|p93g[ə 0$o(WФ4@4ǫRHnxUs2[OM즍wi}ݾTN 1RJ,=h G>\e̒ +9j6`bxJhw{~^ IRN"{/x;Y+N`suswMw)Yg6؉1"F Vt:Kf?9S?LY2E=:ȷ5bK|:{{TKՑEz1"fwZ AI?Y44|M^=9nwȏu ;gF2ۭ2>_}ny`'\\M`89IU"KYȘsKMwRO$~™[)p+®@o9&͟B fb9y>-Rړ} ʖ6 !25{32(+Bp0'm-X k%JkA xDT',w^gHa8 Z=sc /DnnF&O MQ~zN!"aݼzY/g_-3hH)q=W3L8EǑ3ydHM&aC%u=[1>jS<35Kԗ%V°) E}ّtm{{t;jd55 %gVkII?k3ʺ4j7pAqb0CQƤc[(!@PAi6;~Y󉔹'pr\.Bh gEGծ`>;Lw=|n")8`) IӦin`GS2F@SgR3 +.HBx-q՚ HUig,+v m{Κ-'}8m&]9̎"Ŵ$=I4^}ukD_s,+Kp7֖H\jw$m  { ,T%,rR'xL2Ø&y2s<:!H9JCh)LިשiREV5AvrB *$XոLLvETV%3>Y虣VH,Ng8*id$,*./n&3@~ufQ _`W_.<<[hz%!RYqkXKrl@9n_O5L&2ұu%C[qX:0~ӳ|d/BH֧̆&)wc[Iq}6GqOHHaN԰+Dm-%pd'x0\MJ5LϱA="#O-9}DH"be,EkcҷCncTcknlNïKWK6W]i? pN$NǞ,@4sC.#y}qBc0>UF"w"uMqp~2\+?STRCAM–e*cP Ww3ӷwքꙭ#6-̉hx+ ,jPG`99vS.8#KюO|NZea7EZqp3Uj)rВ0Zx [[G"74G{50fkD&FֲonNٞ(Yy KθK *czFZQ&oU:|8ÏNV'Ps{s_ɐDa#N)e}`ҁT{ $dHT [5b4w9Wʐݽ(`+.0 +%W#dGw"ښ. 쯝РIjȚaVzlu}A1ːب E҇> h0QL #{J.2WU&ŦğK=\&8>B=admjG4&RtNZVتq\=sW-#S&+DNl5X.QJ>^tJTgV|*< y9P$Z(E9#g;LafsVxWvG6'[2u8aBS:cQ{l`9LQ.5X BY;'h.o,avG9h{g3U&\S`5Fg 'l!!fS>mJV(a& =|!`b"ח}NS"`jHK $ݢPv8+ҫ߭DXE" [C\(-'->L~݈y$|M*n5Zթ0GG])^h+Ĺpjҍֹu6Z"U47a&OJ;#./8,,}'Òt; yxH_ݑ`Ⳏ]W Q 6Y!q˹ 7Sv7]@M.?|SE> h#il7vtoWG ~s9 mtKSܬ2N5-*PK0~8!oA 8T/WpER4gZy#w/?Nd)_MCeJ)iZ 1ӻ?0`\0l&7%x $K*6N;+ ZȊ$I)]TKp6cQ'QYU]%xM7<֎sie:eݺXe9s|P0PH  Tƺ W0x(5Bcb+kry]rs{i֒"IJ3 GK#DIna2R:^Dr F>!HXğ6êQXcg I>Gwk>>8iI o:E'[g95QϾ(*RlS* ;IEQ ?d^lwU֖m105'>LrlMP˾ @FW},a9yy0ͿaLPвO'lGbӗdE ,gS4(:eȻ<;I0k`k}!@HG's,ಱ+vcV&@)$kErG Q.!tMҪIO "ov Ae  4e64΁8ߨa=B`;, s^yJkZ!6cr;*L og8 P?Q0@L)Ֆ}'8h=SE#2ϲxwVD 7EOIaM%audͷI`mO"lLIL\kY5Y,~]5L2_C ufqb@|>}yTUpuR7E6$ܢ0w^ tʓgd#0/vx㱝\# Çc0nv%ip x}oDZ ۳ҼXE ,G!%8i8H؅ZKSpdee8>cXCb0>9u)Q# 5;mIN'.OE8g/'_7T*!*!'IFFĖ|-Y )g3S;_M YL/~l>QoݻVZ*3w@7-*;ڍ#?1yn<,!5@ $~Gb!Ǥpph>Q3oP ,E5.z%CDԐOʫFď(מT*#ab>S*/k:~l D aFQsZj}.[+Í4H>$- WpUxxTg<-^޷9V^$Eu=R\P.%g ]cO(+I*󺕝9W|QMLN&CgD ߗJ7q(AhO0YSºgVMB3$Ϩw|=/y_,;.IV~jfr2^g*%e~-?6#v*Z*S=K" EJgßn}_-`\qwKNϝRQ|KcAH} Z&OhzuYẀZ֒rxVGשޕFzϕ:OsΆ+ym9d{#,R B8ͻoY5)v-jp@cɌoX`t\鄝 ވG83%DF,HK6Hɘ֛A;=SW6B^ J q,N2loe0۝n`=@k0Yr1\.fEuiD~3+ʈf8ʪO1Og SbhL젅^"ŕ-Se?%Jv)CgYjKS/τ*,3'po[ =sS̃#AFylD ֈї`Ê5GavH‰UJTKerTƞcgvo\ E(5VJAĎ}jFxJE;,qbc* f߮1)EK>ZSߎ+Gjw*D=/= +=9}.QiΒOs.ϸToqwi/M!O;z[,'Ix{(e3~c[*9~ݕh'r!@8+^L3uve.,8'Y P^lHu,U*cWfmuC.p6)~ "Xb9S |Ҵnu=wDY'6C -AXTcfV5KCXY"ɤOf{G)Uzua+e;6ʓ" ͤfaL^|w 3Ҧ_G11i*db4?*~h J6>y =Rq˙Jܖ>.|HqЩ$9"߽le-cPɳl/vI[xP`4˒ saQ;;4& Qb{vP c.a$Iwrl]%+L6f'*uͧ}âGF1:?*-e (DѪ&ޮ2Nw}76ύʩM_`Ղnf8]?xk}[4y}iaZc1t>&`@Pܗ.#jQο" = qpm~9"d!SJRC)L!"ՙ4jA3Fs&aI+'\S?dȱ΁$ 0l&{(3{[v,'e`5N]vbua;2<N/4dϬm֮UΉbV~H@O6X˒،sbn7e|@thݏqJe`Ы)5 0 G|Nbd=3Dݻf<0K} B0ZgUeh(U[Vߩ=-~^vg"z ǚDD@݃{o]aH ep |f79֋WcaVowWVvIm|7FJ ҵw:WA'oHHnY#n"GT3I(#jRSV /t"8CE >F# H,dTi}r&Q<8Kh$.&=i? a p7b_Ux;xyA~=8JII8>/W:x,WRwr),GV;!xt}˔)"A՜'yl] JPˆ1UnqDX3@Ni%/)Da07ɜ@̓) N[*(evhϸOnɄ#1E9H(<}bsV6;3|kđ9<.Q#L7q(EDY"ȹ\mnC͢1^L)\MLG4oZrv6Ww7|w^Z`hɼœ}gnr{Yat_mAR-|Ĩq-$fR 5;#8 pƹ}ʺg=wF7]5 '"+O V*mLJ@%fB来4DGbSڋQ͗y`wFmP VDp.`|2Fgσbř60q}bwYm,*.C3oҗ(ɍ,<"{x:xէ;fK@-}4Auީr6WwlQ5޾j~MZCjNi/㎩BOe/4$ l Vjm| ɉ~.vxzEʜvlU¬"pwb*] mfMN#Ɖ Q> #@9 |:_}vgnp"G}3W(eW`)q_嘫]demX'Fd} [ Ih 5P aBPT *T'nL>s)_!o^WNj@WR)QޓfAG;Y0rkw{s?$zBmbIi' cX +Xe٭OCD=)U,vDxdIic}y@DX/qywY&d.#- p_{$i WT)VjFF|dx}otP,/dzz~;%2?&L){%鷬??޻C#8Zug♲W/SpXLê.nnT/Stսpbf^{xsO?xII:NgCT$P]I/)ėdb^f]!seވ]wJC,sj2.Bæ]}kS'PyĦ[:s%#Di@V\g{t.+ũW*Ŋ b]F=s= ;3xFQ75WP~ tfs50VPQ`Z|^n5(#qvYd%Zh>izv迶wl:slBEy 5ċ"f{ywo& ]`#LN Ĵ'i9E=cV,ao. ^SSU`+.,2rGx-d%rS$މdٹ^,S/G/"bG'0 L[PKv:iԄv% >+K DxDP4M?]"" չHqL jFOFG˰ vĵ݆xOΣ9}kl'^:(Jc<a垨] nj|{wsgF\LK4Tz!E =BK_E/fLvRfP*P7[Fn3:9H|$(c.Mqjl`d̠k~]ln7@%2bxVPu^nɁqÖڭSI!NXnw'y|8@YdI4}su[d<6%d@Ū.q EuAݑC_cp7fY?D;[ye;EܺIbYweYQ:֜q]ZY(EꌿOh1,j#px 3>kO8GjAU?0P$fHA;bu1s 4fcHVZ pE^mnj|U Ksa!Fi&p3M҈J[ae&2G0 jƾg#x[IN+8`0=:⧓ st<,$asYLS#=O+]$beM=7TO=,iɏg Nj񕼦iZ7-'5hXHfxL2T#B^N/I% ǁa Wؗ8\.J^ s+dlӾT#n,Sgu WƫūBV26azVf 'GF+ Q#Ĕ1d2(lJՕ;1|4ydG#8NZqd^#l[zCV7-19aŊ`TJ%}\rbW%V}Y sPy<հ멋NM`잓Ui^w4}on04"0$5eatg+2E1_ c2LSi~ze2t1 ,qdZ!%Y3OpT>t!avREcȵF:{4 9*v[N$)^ r2B*L$:M^ߖjtK8̓9\‚u JfwOyL?EnF0F蟨p{}װ?/D0EiYa+s5+P - V3 ~k-u:%5>Kxcs!ι,TMt^;ѕu 7~[v{VӔ{ݫL q6)Pً%U 8 |^C"gE:H 8]ퟬPޗwjsκ ,W_tuHП֬%{܎>{g7PHҞ+2<8&ܺ#⹞q_v_(1< `cE_q9 c%'XcI4ݭnn.n mñ'*gm>ج˱WF:>.md |*ldO/CT,a=b \qjg ({]] {o~"9<xyˁ€ 暳'O_䳟ͯ[Bԙ MlD<)9H@M e5 C9!aFz^ISe΁'z^QzQ76eIX2xZ5DeO̓QKݩ6;?SlRv=Sr6owrNؿӿ[!qK؁CcJ1LJ{CT%qI(jh$u2# )#}^^**b6ڑRDHX'HɄG>X5%)W9Mvш]4u>xDA-i&R)*1!+t3Ǯ{6Nl=̳Y:Bj4W"/!KǣeТJK#H1qi-aߐ0sRf6΂+ud瓆7#e[|gRmM˩&#Ů3 PM|6 BHy`Yǚ[eP5Ƥ$saDku1B wBtN!{9ث|=c ~ Xsp6 2j:y HX~;.^#:t$ d9oq*^3`L2hpV8N3kLZiRDHaF4>&$knؠʠ#'2Y :<9aug"2_7꫏1*|ɺH$ 4PSjf];Y3at瀑eR J{ j0qMT1G8֕w49,>mA0T&aK_a!jqF.G\2-MQ{J)-=EM<1TH}kK1!+tdwHoX{JÉyuNP[7qDca'.@ܖ'ěk^}I/\g[$l "3/dX=d= `pBX#+``쁳`$07DC}G[4viز*Dip`xO!N/\|ʞV"Б<ݎn'ۛsL3=hVO tݷ߷#H+I1) 0m*gn2@rSp_YX_o8"F_eKm24ؽf!gqr[49i[`/L\gF$X_8 :! `aQe)n4 rc-\d=*h21Fb8_MSͰqwi3|}eoXs؍KV^<$'̶1ݷB,pb (LhNm80J;ZI*ST3>i#Ol"؛KN" D3c4;d>qz;}4|bnc{cm]+ax_~ɔBaHs֩8Ii(7H_45jٴ( %J:i =S&}o felf:?O0bR\v,ቃl؛'7ȗ4"1DZ7{V: @aaZ/D"3Oq$Odx{*iC)#)0I,U@Vq@\2+u:P# jQ^yTY{Xqo@G*⟇ZfA=跌~\ӌ/{Dž' fx"rXmtRs DDZ> TB^Xͻ lߐb@v%: rԚ >UyIPw H+IɌjw,KVcÂ3bgQavW{fǡAx2{0ILy9N@8@*Ʋ%So)'PP<?~HcN,? oV7gB(|}uzuL"O]KIWbl3{I_|4mSQ oPg3[&ݗ*;I.Gg8> 1,]^hW\ޑP;@ |{5G VPCCne8-َ)Kw?ҟ=ϋn8qy5+D$.bB%9,ѝ֜θ~?ǰ9?mEؔ0fꦏS")͵d+?}SlR 2\C@pI/^mp˳aAQx*ik% 4.hO w3gּ2ghMI1OzPLjH_lޝp.$UGJDh9WXzUlFa-ѽQjS돉s~-[RWD边> f`L\<FP5a|I3aP)AU3fǟ6ov+b\xf˭f_ tw39ox8e~ZGwd^~mv ? P vvx K> }aXy92h6T_O,Ow߬v*eC⅀(lgSdٲ ;;?N?ڲ< +Lu95LFDPg2%+IY1/N;0q , m2D@>6ӝ0λ->pL}OOҀ6 {yt %oUDK\idP(x@}j4@|}}0@[w[MB.\Qb%j΂ Q&34I߽[-Cd$eb ŗLFtN .ʨVC+8>|^LTQCࠤ'f_0ض0qr3l"<&[#>ɮ3 G"48)+eL)\hgnNBܡYf2'~߯ ;᪈T >Eio3b>2?m./T,_fMEz'R` 9Xo<+4HE-@ %\Ja_ϫSv엌b]?O9r-sef= ˳o|b l C D%F#,{"qZ0nbm\6$nTTXR/`cg#( *«9 -)2D絤S*B'Ǔ$*P7`ׄrX۳h&OO0n 5D p^, &r0$<# wDՒjiW'+6I 7X-Wzj-yNk~`MU RΜQET{p%Jȿ;%~v/`ѳȬC(P$P~8Ds=RL0q@"RtiQDƚÀPyNvCxJ 6J-p}`2e&sL\jv=3CtW ߒM{(I<Œ:֡)P%In9z^_׉o8^s,k4W))F &8`|G(43CFnALˮHn%iBp oe<''Q9kc 2N%L2GRq |!5;'+kSl*"BJZ,RF>?tT& ;w[ygF.YvTw͝K, ׈ؚYM$"xv}ˮ+|jTcLǿRA>`pZ@r+6ySXlF04eEޡ 0 [9*N-l׏#Ѭ E`TeL"lY'i}=]t1ƌ\د+vx -n1THLL4Qk&[fG7w?1?NP*q <'Y5JM'@=tNp",c{bS Vξ^D} b80Q#yw=OTsw}Y=lM󬜅IOc䑿\=GxɏϞČc,[ILs`WbB7%Wu{g p Y&w5Q.J; Fp~kqDs)2%c䎥zOf C JvM& z4o8@ LK$dž1ڰ$9H|H1h-ydfɓpay0ph({j KgFpvRQ89xsF/;i9dߢK"c-N4_"SY34'ȍ3%Rm݇=u%ok-^FWp$U=a7[yO*Y"L#aa]`RUF\K]]Zp9(& H69/$7M< s 't8O!B^+Ԟi/oȑQWxP,ibi[ҾȲۜIDJF:1atL,'9.f >[`Q/6yi>'\ 7@ 8:I =QNGޅajyMNmK썅ɲ$,eW%ش~ ;4Rfi)C[ {95œ4GH,;CO{O浪.SkKUf=O 61 "p!99I&;I@:Q؇,cx*n &'gQgkRB_d8' X'I8B}|ԸrunpeQPޜ#5S4- tE ԳXo_dG,HY888'Ķ|s2aʁ`OI$ AM^534wp#W%|6 ^\%xT\ Ba39g$74V)M.>\FNjha \Dk;8`C6TfʰH[p3b,u}#_H%Ap_DNBE[zV@ GFtޝX @z;Y~6Ӌ?/#fd UQ|ۓ^h3 LՊJr,uFɓq*UgGpR E)DXwX6 NZIkڛzឈTφ6+\-MQڛ"`nm SSXFq4ozyi +QjT-X(>ʮE;`l>#O)CZI2pNg3'6lщoqLH5iCLV~0iVyV}qv+%"iQYnjy7w( S+eWZFJGvXޞBNc1+$Q2Ce"-0_/6/6cS&S t!/Lze"jc > ~PtpsBDBI at*r(߹ߜ*==d:vtKVwd~Wau'37%֣^b{ͻF7jPE.^M/\qTwaOl_YFM~P&~ :bL(r>y퇳pqo[YD6 %po.(e5y3]~bYMs8M<ꔱE$ {;٫mp1/ M"% NVlkFen W^sffŪyzP7^x3 _y)>VX/X+gDx5ݫݧ}9@I59SrZ,O}Ģ~rq{zSzjx(xQ[ԼR"e6dLGlٳ4*S_HwH B1^mxϯ'3VhEȆg4htYTK7G*sRsoO뇅f@̸`{`/vbD5#"\']2RzHt<2# #=Z`\b߶+CNJW-H_̸pQ[%eN/G4OC\jAJeJ!b8{OΝp}V O p| Uhbu" DWІ(NXX_mg^,tD]3&~B(:6~]_<=oMGvtU%k% 3 {vqs~9y+BƳΚ[P^x_Ҏьq6|@浶ÏFuʡ:{@z@r ϻ-O^,6^%1"Vntbgȃ2]-"$UI<۟:Z"2>ĎE4lwScnt ]6S }SbP8 ,NYPE)Z'ߋͱ SQU#ٱ(b_AswaAͨ5ёER!J=ο\rbpmNb")I-g"EU|i*VM#fkiQkpl ܲMt0IU lZ?&\MNRIFR'J ?r{p8u5Ws ILx6!eaBBZ闤3j2Egav[à(۱9UTmҠur c&ڟ3.5me|;b'=SRlVQ% ɹ oEQ[,"QhPx qJcX *M:,ULeL'vˋo2]VMCR;prBJm/G&y'U9$KvGCmOHzQQܥfZ  EwJNUR#>6VpFBlw"9*6,([Y!*eh '2>M?mnn6_N7Pnw*>6EV8E@1HRo>IPr0J!JCg ՘j. ig׫ȶAJB1;n,V[A.ҧ^9];J  K+ "=4fqW~c=D \~Z#1l5l_gkɂb@Z2"[1 !Xr+v_ AL-j󬘛EQ T6+,u@2m ]jd`т Uji!-GCQ6 SWJ!@⏬TgG&3ΫN/=ȺZّ?vhyۧh[Ugg-s :cd;2jvBPjَ_>2aQ![xp[8cYNITLCE]f"b&eyREXى%}xu8a8W@oG#Wc]$F)[Ma-- }k<'+dd7+Z4MN-p*bUП7_;szLBOWQ4X [F&@F㏛I<=Kw*;rxp#Qb7uw aH莦,OMMV;sPYgKwB7-d `?ݡy.i ?Z,-_>ss5uS6x d^Qvqzy^DѻN\4 Wr:E5 O~gp~Y # XF|kI,bU9Xqs,9ڴ,=DvW X"=L"B-ą)`QɆ ;QwUwyXD"EQdMo;< TF qSt "R2Jtl˅{߻ݟow>C1Ȩ[9,##ItkH* * PT8:,_GB-m 8;5U9:>@') iV/KW [13bPnza=h1b3E(VBw戎vxzJ=n!OԳC**"UVD8~^]|\F5p8#!$/vRgOzPҨFDb]8NUJHtr׊wQ~D;[)E<8Q!XW*JAeF 5ÆWOw+JD ;jKnV_$ L'~l$.8NDW ˊ;MrX| 9 Ã*57 eCեtyvuEƑ8ocx Cu*gC/gsңF(x̙=TCà H(kyH] z$TIE̔KUWcMܚ+akG ςjjͭȌѱygm@1JaSVD:g^T~ZD)@/g?å `{7ēXU]J҇>0ow({9㒹,Rl/6@p7+.EkO̐+9u\jmȴxsp:T;Fw:7nYɘA"SM4$./PDҒfKQ$B7}~mArՙj\[h\RNzp8KƎiZY;T* jEӛO*+,"-2Zxfz%OђDRE\jM9kT-ubt #^&XDcb,# '^o5BTqoܶ{%d6ʼpZZ,NDD  gh,TCb Of?Q%FҀjV|,*, ߨp T,C߷%f[R(%u[0sY00wr\D( t0EqR8ݨ7ecsw)酺SVKp@ˎMLH1l"e\9rd/"YE+x"Ψf0ʥ~\[`' d\%f9Ha>{ Z |?y:gj9U >U{ AAνSEƹؑFOa2[JMUǫ|,]g!l5QţPq\>;튓eJ9ͰGF-皌^#ntnU2(}QN"Y٤d|T_9H$D0{6xjw(pc٩>QJA4>lj곟)E ,}IQ-v~U.N?oY:d)GyșTwXi8x+OpYn븠:Y٢33h}d^zE˩+iKt~ v3O iUx0Vb뷂E]TX2*(9PZe$O-sHY^nwG@W[gU3e(9ZVޯ{z#UO8@V"gE½HRp[;IOܳE!XD /ԁV鯋 A䖆JGf!#k"U`).7S24&2)-f V%B,9UZHw@d~ٽ bdKtԫ](!ى-)n}/ԘV(Eَ'N3 +I,F=**Ud!L"IZky/כ'4d968JQ*YҸuy 4%xl3BL}jDJD/WwWT9Q'iNyh$SZXѡ:Fhר 2n%OiEM)񺄠z6nJRő[ņTnɃ;{Ԭ]_,SSRzkYlyʽ5 #\&..fJW$A N'NѦɑ\D,Ξ4QD GοAi8㹩]_;QOߟSQ8j, gd8)Wg7LSkz Tv0Ka{]7޼gSvuB=Yjj,%._ `t=_4\!8rk>r+қ֏fpgK(?X5X6LV*Qa?c9A!kˁ6*1+s){Бs˫ݾKLg9$7GݓE=]w8XBqzC0ٛ̃a_Pq_~h?JZR}dCʐ8Γ-c^5u'K7A]AE 6Z}aw_Rj4,b6/8bŌuS]h?>>9{8' 9 { iۃg̨(*Zne<'V7Mvm (j&C- 5Vw!~*x}FqY Y-2 x)^'7pK%):7aW+CȌ!Fjj޵9K21"p#(8ɑgbْ7gQJC9噆~:R[d r hbWc@o4\}Z*עQǞ/=''oE#pmY\}D$$A:  Ę;͗zPn|j9-z=VQ$7vbˌex}wPzHZy>MCVoMnh&)-܊ԫlE,@ 8#E钇Oy\#: n7WeY8,'acDe{Dj-e[I2R =qG/qE识 )QnpπeW#I=Ú2LBY9j $*d;檣C7t,LDf]Rfh|{y{̉: HsRH,]YՄL4yxM$zodF }L;OVQ.1ߑxЛbuyy[2lJڎῂԓ2ZE;aDDB6}Q״'%!g٣hJayle?yYi}gisI7}Q2φi B;lUz]8>j@nQ*mVXdiJ)Uێxe t7wlI1әDͅc41λQ `!?ޜ=;־X?lVn~ߒBYd&ɶQrYLSQ7z#8MsrzW.bB(8I-? `q<2o/!itigNS%DϠ>bͳI-rW_n.?ZH$p;bFz gIA5 pPWT.{N6WWOHP':ф1򂉞l ZA'uX $?z9R #:^#B~^4zOG֥-=8FIS(Զ[ =*|l;]K9 Jƪ2gL9$p>V X$;ǡ6/.,k M"U$4cDl;reۙO}zD[-;1i!W׵B< ً/u;{sQUOˀ,9` W|bh$N u!uL/Bvg*|yܰ y EBX$ wS~uv؝6=;(D%(_"Q4Ee'4 梜LKYu=eTN@WW.F WDnDi،P[>i*'aLUvdbvp8x^µtѳ~Mb7c4W3I9qPPA0:Ui kJ'_{`ϯgQp,lV֓2|Vu{7Ne)E5s"f>.jm/9v},G;S%4f ޶lThtN>o~܌ Sh5!w8ȠrK˅QgyFҫͅLvyF9`sE"4?D?L@>L+μNf8ˇ[XiظSTCHKJQ36_K2_orぺ a@TkH8HU!%/gK_B.KCdԞ4hKC#m3GΓ]b696Uw=w6{Ti]9ԕ9,U= .r?/JW1 0uJuVJfkGnFģȄhN<q^ZH@cmԢ,ǏT={YqiB¡D2}(=!_kQnDy`w(4u_}JB@X>qd]3kUQq u9&j{93j4SQ#!EE&==̩[*6ԛ?bGœJq0d:|k5ѱkT[im^<#. Qk'!_ވ.)~Tw`TnHpؿ/i W(vʐ?u E>7Oq[hѹ8',N6)GKF{Y(5dPEJ OGlbgD8AOn qYJX값S7 kl=j; s|,BބCx X<7޼>Ws?=gf+įYTrBOiTT^ k&WR(~fqMr.yBEcmdF_s=@"Zf pqxqH)~vwy`tgN?\3,E}IېJqv@B+]nnQ46>LӡL )n2]"!]ڣ8rZ8pБ2A+r eNF+=|O99vOVm)1@r=H3H*שּׂЅb lE2G̕>NBNm|.sƢrtW["9YNiĹ\ruEq5,30pEe"KIzQԍ ӸB!RVr8c[E"gD*nwh,E`Iu)[h6<Okɑ~ixHVp3niM6w/ןxO52!<2Ь+5\E{r!"]< Lh|X{`/xPFBdΎa LT'(7K|T(泜hd`fVΐ੢b bl7oowzA}Û!2?pcH &,t"7[N'n*,*qFnCTp(ek+[.AzFLYE5-2uiD(Ω oȁ'") m D&*9lx69- )aKSZĕ;PgN6<-MDώ!sAv-t:,^#nW{AУ< e zUu1R[ssZz/O?}W™8<tZH1eǷ lh<bYd9? !KsFG&Ͽ/HK9@U||jD,kR`w8 yT1BP+J 6G|*X!1}em"bGFR\nj ⩑T! qr^gE!%,@\XC XVӡ3BݡZhuN&-E`BѶ7 Oz+%qA3PN>F֨B4:M3MX"<0> :Md% Ub2y] rVIsH;Tg2vG):ߊTYP BpSLHrHm?,v\53/b-н$cք;6ڔvrV,Nndӽf?mJٿQ()Җ+M|!b9.”jo2\[tk r~1Пi3@J )C>#Ѣ:!tbˑ5MSƏYF^j]|7}ˇL,)|hl̚5VD:> r=^I{_~-*$]h+k4VVT!CF=hʳU5?BQ-FA#i!c\u+VzxY(>䢅ZN;"F!PVbwB(~Kit %b,ȶԨzTX*&bY]gR@b?L,Pظ{jK./Pk-pI1@;n}h8t *I iy{Snų7< b3PgȩQ#I9-7׳q"% L &R0U*b̈R-<%`qDZԑcÔS*1Er#)eyz]r$>rndN~i2=껜QDL𢏎Pcca,Rod<?s̜nAAѫE6~͗g?n(Pvc -N-ݒ>83H#5R TQƩGrk ˢr:K!asZ:,լ,3x(nFD$ ov^7u@>E|liK*DYy#:mD9ex4Nb-qa \E 3bi|FJΎ,#AZ0"(>PUKJIx8v@ϋ@q:Pwe^ݎ"r9D,8NϞBVygmV|VPƏAM߷OnB$XVM>%Bjsƞ:z@fOF)PyO D]l 3翼LGO"VX80BY`Ǘvjoiuɘ۫'o6o@x~(TB3 Tz(4}>{{; :-+-L1k&{ p쎭/׷,Aͱ4SJo˼U4F/`ncs߯=CJ9/'B+ZR"Z(TOKs,g8ؙ~GFQ@@RKN.3Ϭw1|'O"Ws&)c틢IM?P+B ҟZ]YgCݮDkZt#s:LyDt0 {ȭht6,RzyP.v][7͗wȓ&X]kycGxnzq͛^jH5J}-D2 엯N~qgrC.+ao?6DшHmkVʳTLT%WԆ@t.ƏoNYs9MȱkZf+;<4@NǮdXV!=j97:ȊXԐV4;;qߺ}9z~VZ T/toc~Yb&a'!mN9C%Ҏw@ ĩZrT{3E^ZC UEQ3"z xM*%Tl{iu 2!m6E*G2L@IkW:#FGeQYr47JI}WΌ Q (Yrp(1{N5qIOK&О==p{t: f"^6u*.(Ql$t>JaMq<'GJ3f#Z_=n}-8&]jI\^DP)ѽ#iPuͮ.-xnnJqbȇjM-Pmnɑ8hc,“6NÕ}OpcѩY%.\]A\tjH]>%ʣKTX9Ί6AEq5 7"J텙(<9~牊qj`6r)GKEɠL ac8?5`gAiKiO(o;osJl`A]hfu3bo)lB]}>~(ji3*;jlCP'Oc;pS g>oɜl+"P@ţBroDTJ_an†NiWq% F3Gz7 ZO{ (s!``šBEQ Xm~{=]̖.'9SUitkٷqt DQh;p[m"В&Az^ND?mnI'$a@Nicً/LSᕣ}b.x4!~_$9[B@!J=Ӗi@ !|Ɓw a1FMod`ҩ|;o~'8!̭uLx"˜T֔K+YffShCWnRlF:e9`EQp1M=Z `IWZѩIJ1 @r|,Ǿ%>mcE@c 5N2!=Ga*y* /1F2fz#'(4rg +9.,~=}JtY~B EQj1(̑ ` TuCS"M34v=p:\lQZ!UesraA5BBe?)EVD'j$0p caoNgoVgiђ% Jg'UY矆Վm+냨3-&L DC4-lmޝm]LÌ#M8x$ wyv`^-peJR\[ { vOtZ5P>;[$CnUXQ%EJ Dqy'*|xZN.ce iF$ĥ&fٓaTSݎo#I8,mme@Q.!"1te})T:"c~d2*JDY`-'SIBwBS}A)힫l|x:0-xrhk7^BYr?ٟݲ̾9{~_~.&$q[ Fj nkf( ȉvoY+Q~-=حpZ]B]ȣ&G`_j$N-'_*KY~\$1tvr _w>><o:cZ~M#nzKyd?N??5mkSv+ϓJ$}M  \) Z#l! @,LE#2aJ;Qdsj(:jʪA'U]v|Jn`*Vtإ$p/$=3ݱ;'$.;X )dڬ[^b)]P^Ȣ ~JgAd?O)2;r;:(N!9UjuT2Kb|afIxlKӱ3Z$ X&Qn#q 9h+"(rn 6"sg|ݜ`ޟXB"3L]⺖($R(V쯏tvwpNFp7 j.<ՉR ~qW +o5I3"F35v}bR$jk$xbdJLO_NӰvxLH)/8+N-,<{c ̕ym`H y<]no0hT( jH|d+p"Eb^ 4?y3I;+RT͜bi X MV%qS#W o|hPʌ5i6(5+',\ m憈'h-ĂRTfU5暑/@Af܅ O l x=ay|wW&TR/P9E|Ңj+jrpsDW F.6z5Kĥ jvؓUy3ǛF=sko{Ί"U^) BS#'D׿<&c鐿0ӱ bj{I5=S7HN.~>"o-򁆱@%hD%XbC]O6o ԄhEz(]ӯpг^rL8 {0W(rc,[Ewrte;=+r%{89 z`v}Q8J &Ԙ +(TQ]dE*#RRi\E &r_,~ߐ&،W1a ؄P43py]|!s8&6 4˩"يBk[zE}0Tr)>V3El=K: _=]7kN <.r y(i`gM}$Nǘ,"ߜ=Bǘ'H@K*W٫/-Q傴C} T)7_;ގ[,*a3Fzl$PTLpyYt^1#O^D&; nx"Y iVfqT=ݟ=>W_> e}'cK겿}_Hq<xff+)T]oワP>~;E=jkz-]h(i~i ZVQ&*}xRLKrrw'K/)sB[HUh+.EZ󌌢U1;@,~݌K>-O\A̋ؠ.!.EadN<'ý:ec+QOxj9\QɲrJ^KrJT>++S,-ƨ%Qa-Soẹ{팜XpQNh~"Gޖ.z ͵v]'5dž^LB<59 ɀ(֓ S3 + = py}f7eNRT'Y4T֖LP/Z0pTݒRRH3BGqS7/}cWWNRX:u~ "iC^!M] S #=N2nA }$}/[!l ߨN:J#6r(Djv x7&ν䯎%M۴D357W1/1tBHkƈ˓+$h5лڐ?6r`-8GlMN|f&kJ‭#O]~;ތgA J?,{/{8xL> RY\b@jkKEez'ic3 9,QM2f f d߹H~IAN}d]q~ܜYo&$2 %X)7[ xLfmzG6}l1Oz@UEf}$I>w\TLHgtSLXLA+KYNAhDZI"SVcsjOwܓٝDSdTe*/$@F鸋D~ڀ S1gZ3E]=q+1ݻ6jK5VM:Ì0@K8u |I,^=9۟(<{kمɺJ0R!;ͱO?݃G|vP{5t %b_ 73t-G(uRyQi ? ^QLU6#8gqugRF[/'.,E|ޙt#^QI i?sB06"87QuS^<<)/2|BZTM4qˎmh:#SFa?MnOs<ٞ]nvw+nn6DB(h?¦ c8k*6]Sz2lL;EJtPs1j+:J+펂./@GwCP2c9P/ӛg<;5 8Nܯ5ⴜ֤Rk1L/wtdD)6ѫUz<$@O|=|}ЗY΁yvt@W *KW3JRʇ169A@Cj:Ep9~2xm6yG ٞlх_wFà$(`Wwjrq04BƮIʶsë՗SYZ {Q,x(T&@\vM5 ʠϹP5/yiB^ɨVg7Q~%L' NBHOE-JՎE즽}cյg:z`c2#3+8ԫ)eu?_^|GsJ=15ZERsj}qyzr9c a!+2E{%캞$xUM2cώzZ)-0Y oZL?|b,Nbrqp'Z/OiKM;Y92٢j97O'.|Odsֹ,lM鷗{o嗛{$Z)Hݣ"*!nN̴T-YQ ޝeYԏe `56E"qVh)ݩ۷- nóRS8K(l,e"cd=L7 f* E3BBx1*P>s?00ϑUHh1h5ǛS\q Bo4Aϲv7R{ DR& I?yte$- =f:*6{cG{s#WJyG9`04-jN_3><Y_͢:)j=t#*fU&U6kl|!+,EIj7 BB:[wE]?=gY;jnB|g`+y2os8lsas[k`N-轢9S;ř^w$w_fM9keJi5q;iZf4sK(_TpsN恀)pv8(be|ht6Ogp:"9Tr~'3%EڰTGH,v @䃬#.~;@u%Qq6*@]M??ol%u.Qx tQFeQҗQ#̂ (Cä5E*k̭b{)ݝLѹESnTSoQ&rM[ P~==5(2g͔ƙ#ꍺDݘ^ $ {9~"9@NIfQ%^R}jvWa?bed5?}Pm*KQb0/~kP\+K;u,z]Q4 }?[uP|^ v4]hs1$P '+#NjwbQDp@OpS֢$O9E@FfpSyNY:v׳ɖm Ym]]ߚD5 !.<1bɬ<\kEC0*Z56]Cʠ2A&ח!DL(tV7D/c: V]Z^O0ɢqFYl ˜[+N[nGA6ّYLYtZ.UK?G_)Ũ) er$ZeiD2 `|Z-U4+p@Mq͒\+q* `bȁ_y"7OXU•(L?'JіkI"~nֈ,m#s)1 #o`7*aRDxDCl %qb a08'BRajUo=B7_ДCΥ2 Iћ0ځLD>Y^3Q?ݦ GoWHBDŽ}V̲*b&H]· ( *Z~4ke*uVt23srAةI>DSᐖE`MPljHFt0m6(qBR6~ح<dy9Gvs-B&pN^ǪsRڱ[ّL)Cv2$exQFk"GjĮ@"(wfiKù>=xx+!3s1{dݓ`o?''ĸ_%=GjD)TEHXFM%csĈ?J:{ŕ@0=Qk921eA²Vdv~飹)o8n6TDOc@&&@M߃+ NV%^ln- LF63{e|Af:??UZg ;Q׭%^#9Z[dzSl >s*:s\Mvwӿ=0;ǍrL^%Z .4[2~F;[ZN (C/S 2HT$|p={~)uVIiyЬM`NGWg?|X߬q3P+"|^:RV[#`l7X29A h+,,L3VS@Td/n _#zCQr[E"b(51VþNhC #}'rꀵ Y"U]l?ay251M8x@ۗu4 =t(8'wQ-ر 'O$IZmQ?سJS®8c̊7,, *8·`әM6ߎAq/W3ʬ2hAk>='r#u/y,ҋ/-w?J>AmrodÚh3[2!|@BIi+n6E~lyW6;uE "uGnw+TБhl7Sl^ ,['"co?x8 !tD%C(yo4h,怇b }`JF2vXELpMRs@D^}BF&!WKgmXFT2\ rLv虞*ˤ<髳35rJ]5Fv1KTi(b&Q.ę>ZljDO=#V Iް<F39@5@NNx,7D| >UrTU(N6o<%'$%1}BEx$f6vXIoOTbu 25"z>X A_pjWԜ#Taz#4+{%n$lƳ?\fs{[{%5:${N 469* Kzٸɫcʹ^%y(Z-X~q3]^@yGm&[S 3 naэؓ+367ȑLGvXP`W2KЉn(<Wi떢`;GB9ѐ|q+NTyI'4&sqm,:E֐T!5&D+O('m$U.0ӫe4P͕HqH/H}H+8}}%hh:{a{ 2;iXF^4*b= KS|ŗj9n6kJOH jx\OhKk.CYVַlNJf-쑁20T`kF oYD[y$̠֊zOVrq( KN駫!%g YSS{w(Xi$Hdg@0y6㤅c 2x%H |&މn^s8ϧH_G!یW?6r FTv#R"ɑpCWC@St5A-d<&]RE"G Ѡ~Hz+=c/#m '*Lo2c p(Tab[P7QK20 _PsN\wϩ [R{΅CGCVI k"䫵^r^fKx*Pzie?ԒkFU->\}?oی"_{v0(;+t/LQdNO$[ uT mE RMmcDK7M8Dw;v,[K?^vUw*`{oۛ7AdG8] `_i)(X]O?qL$Zdꔘ1B(>,d=t޳t>w6}{MF^1ccpj;XD'Y;!SDZ(J0
ZD͎J;T]sv<թF֗'*.H]7,U<'eFqzz"r^ɢ%8 孞eL#!dgn$%vbtw$1AKnAEJ|EӚL"7r BX>t3> 9 j^o:%5, .a*IVD:s P01T(Wv&SG` x($!Ĩ> ']==gQp1u 8J+JN:#[ \K⥕[5J_T`~$^>G7gMϐÀs wC{4},<<t+2a O1%Јb}l<e}|쨜|P3/ZjStا*#%zqAߥ( HW#.SAԮN9r(fOXT!e$BHdg{*QjMߡ~^t^M(h<9]cq`R3&5 qv3"ԩ?|^'>U)˱zdBL_ZC* `}S[-Q}ن Q2Ա~|9{Fǀ _Af(:˳z|GpSmSn27px$[%,MM?EE+P^Hk/6&J;p9sOF"i/f/WwgbA1xOz&ud1JjDj&ƗڜoԯYPmބ_RRUFUVTвnh803\4JL%i@S؄%-EΆ׊x'N|#EFގJ,uOHUFfjDm?wZsε%7S&@L8.!SKcqHa+mfŋЁϪqg(|ar /1qS$2(4&$ M( l:j{r?ѿ(^X.TۣRTkt87xuSHiAw١KU% K4rS^dj>?%UcQEEjy$ɃE$/vrr-H#x|9뉔֯V.fƟUSԥ&ά'wg/%‘<t!C)xuY?ѕSiR8Ҭx]DWAKO;(5-َz^|,Huw) U^8TFau dtvO;J9k )DM›۫ Rƈo*$_il&b8ζew^Bz~[QlvP0T(pCQaB&+Fjg]kU ;tam+˜q;Y&"^l?Qg'Žd'#eǤU]΍+p-7V8vtltOC -5v6¾?&A~Bq6KF <fj`TM?`ǯl ){H욭MH8Gc^ ><>Y/6+'1kI0RN!ORJޣ/|| 뗳ӁR:ԗ~vU{-ހ8رuth'F$/{7AU܉wR~SliR9SUYjH|EzRTv gϟ?!p5W6 38i#Y 0)A#1:úZK}éT̄D:HDw %éׁ<š-/tӗDZHJ,jCB2a)58kE#]pWDk$3 D8=,?y~C̦^hEu|/#;1:o8pv?2/T[-= bQ5)Z@0Y{|c7F_L  @4W+ڊVjh(,  hdQD1j'Љ;ȅx+)xIC)j>bMNBOf]$]dT 6ֿEjk'EdVզg? 'xyAu W5D@e&x-Ő=S]-M_)Ɯ רёǟDXzm@Y@`` Pb{6T_:.oȧ֮1jSƹv4O;ɀ}ԃGQW~"%ZM>PL@ [':؅%EIV̊> ~e>QaEUS+9 q !Jڧt]64H4FBeG5=$THwf+02MXމ^-=tiB##mK90áA4YzCEL1( J].Ʌy >p&/2֭nD?tC)f[AEI}Xް:BeMZ@eu(LQ0~X`x`_J6zt e{g}NM<9AQx ZB^F7oLOΩC?#I9FO ~WEV9yP6(G6û5;YBQ 2wOvmqAe3~L냁goupwe]~x˧ +ֈ#. }hgx`BI v(4Jr^V*ZжrɒdjzN# Ra膛3`p:$GyzBT'"F43SL]/1^)A}ˈ8Y8IŹ3DUՊ2^<;^(1k MH+eL?*"7^^K`c_XchX\?dRq? u'b2/[TFR }_] p& ,V 2tm0.wu)]M9E\UsXMlHaN.arlVx1[edWgz$gX*n uIY(ʶTɌ#dOd!`)9M2Iٽ}:t; 3=* `]òzz?gŋC# 7!,nI]y,Rfxm9ĚdMyy}#?#Pĕal缭#KS+rov/7'5 4%[9*q2:Sa%_|{ %  5{4=60~82%^=۵x՝8Epi/)۞vd/{ڲT5άn}7x;5{b- ߸+nTh7!0_b+E?g+8P8~HHQy[TÏ7 CRѲe~QY#"0 ׾vK2^.`?AX u9KQJ/NW[(xYOѮ7iRD,0h,-`\kͲ2yv/7p#-/Vyb7xzv.jA}?{OHb{-t)f1."pL[+.WUg]SS;DGM*+o^=;`9g>EM9ynR#j%[&^^yIT5 ]IiAH. )ntrxG~ndPT BI^ -dEl\wh3Ey^qa +.l &D P*JƑaDKX]WZ^gjN ]m6y$ab穦×eRpY79rcҔnKM>Ԩ5o(s(|,hQPvsN?(8G THlcN a$Ŏ*ʋNg/_?M_?cwhxYH]CCAڔJWfzM exl%,N b3ABS^pJq )LS@H^Ŗ(7:ذ?v>fVff2DPlh0;z2+)QZߊɥ3.Dqf1)qʌƱGnT@U8X=0YzSy̳&U'_0іL(Q"S[I FGm8Q$p^AҐ(L O޵m]nSW,NRv" 22_PpeeB]#,#UiYd*q|҆P"42qs㋾Nrs&RF 5+!X[T!jΊ*c׮(x(yvWT/+fXfw*ؔ܁ o95s8DY0ط!tbKD ߨfYXDMZx*<~y+LtxszWyૅC|Τ4׆ZI6ֿ`~p{w/G9vq+u&j\dEfޖBc!:?hdpͲ&&1(^~!%?o(h4YsUG2K(%yՖ^VY^E:hfT*bΤ*ep\v%bKϞhXZ\$KA^Ϊ=>݌M|*iPR@y S2Kq;: ;0)mh>Sjo@1nxaUv 'k1R9GIFqmLQf́uU}἞N~\xŽ'_'|y~JO#ƚC &ȡCy};B"_^ W/K[zXPSŗ$q6<^?+&(D!iz/l5 @cK:qs REm^ŏnf'kOn yM%n 啵jiQ~4~!\=$W-nFzwl_l'%$m~QVTih 2eD^t])"Zۃ?;i%a?r4)˙#5` IG'TNXYdrƯKt: ͯ.2) +(x7f}}4I4֨/Xna zevͅITw7Bw;O#2YGFvA ք: ϻ?7g}{ϙ(O7b3HDs,s30(ErKVhV cxRs<.C6>_4"Llqhv,$Z3F;f ';ğqe/=~7ʀP4{^+k# la%մ?9b̳_qe(ja ԭizO>k>$l,] v~|^:J ~-R:Px+c}}­F{`yNlYT#fb*+* ath6-i CZZuapLO]e xPlGE\v3[9rp '{ʊIsNPq)"@w%ڽ|2/6K9䛇۷ۛ}בU1qÑz z| < PAi)C(C_ЀW6/e!?=arP"˩wmaR GM7_NP'WjHsr*}"f?SB×"@l+Zd-T7K$L6iZ}"PtCՈd%&yu=5_sƒK!MJ wZ  蕦 )"{KCVs_M_L^T _LP awUd8Vj(Sm8sVnV?<O_nH|  58oLAn+<ѾX|\ٝXC|åڍm/`itxv;G0 IQ&}.Qɪ# N ӛXl''_P=Hb}D9Z <ǫS}ލ3_پp,Ka xJT]e05D1([q+_wجQS?{Hm料}f}M?3~¾k}dhџ#!NÉ蹟G{$Zñ#"Jc[gbD}:^ b,i*H 'N 8pwOZfxެݺ9btB eL b&rT0aWtSGfȬfE(/ qi(Pвeh[ҮɽܓvWE>LIJ&ׁNP_#ZBPzrwjו"8Щx$0F"yq(5bxMeEG=f74TH|(Y8MX(5^ jm2̜](oĺQ9YD!<\ZM ̆[v3+ ,*҄T䍐8=Mݮ8 :ĞQJzRTﰥq3"͢bsHzr(v p]Q ,{a1lW$C*"k;Tbr1_‡TZ.GEcVks)?)=Rh^n8ߎed|'xqXiVky\}7y[hHGĎ9S)G~۾ayc֠3`0jFyJ5d06!aN 'PCƅGUax;`+=^_MbT㦺^%(Br&|J?K~Pg΂ScxE%pw mxXC(h9؂*}\dk22E' NPw/ (y_e>" C7X&a[F!әVn2QSy:(hJ]bC2ee); Z?@]ӻ\tyM:M**ݾPFBݱxLV:򍊐qjj6 c7xE\jVLe,*V?wX*_; r'/dCp{ 2;9x}]t'tӋ 9&l3,]H8`+nx7 CY[xޏCGiD5 2*Lg[Zyg vJ8&LvmG e1hxXwSDW1ض^IE##pvid`!eN|iQSsWI 2.Zb]K!v U$I0ZV$xZP,Ӱ.@Caac|nwziWk4mx0'5>N˜or?ǖ^/-ڻ*ϴL%(V*!ډdҸΈ[Z((]IXT$irfi{s8STm<#D v@=U0;k1a׍UҀkVXgJ, ݑ#]VaPO]m6!l0x:,5T!SP#6vBjgwܑ3޴p0Ѽ` OpBqBD\QRV23ًgq9@ztFJP.nlӽ.BXd[!+-P 2lr@n}>QT9)ylqPsrLּ3r.A7)~e%svuY=k3m|)$f_`m(oD2yavc"bx:Q:7O,^A<$Ҳ"1fqXL)<B?GpT|͊Ćp[;uHZG9U#Qホ#=ם}ώ@/+W;׎d=kiss9JvJx Y= ?QW?!(Yhܗ}HO `E>%&vٝ!5'D)-t)ӚM27+oTVYRDHRr="r4W BJ=͡jVL̔H㤺N.M!o?GZu_TQ@$i)⸦!9QE_ \b(P7ɲ.;ۭ\圡R̎zՎnj. 4WnAK) [PT"ZU"raviՇb3t^LoNwD ΅dg+}*o@p <9 ^$j\"~U5DCkI.>qWE %NcJZy(M"4.M@ga'JH|e COlX5E&j!$]N^g<((bQȃRiK(E^礟0Y#"&K X/$?$oXjGes]ɖ&sh6fo ׊HW$(j8Jp{ 'Mi%:6Ɔ`&'2@:cZG@xC:3Q=ef^ ]?# ͷ:[q5t/"퇯y:u($w hZd}*?WeS3B`} L$u9 rjS̆ : Kү/{@Z]H>F:ZJ,O(CoW YG^/9ݤ=pS):HOY2rB=L1o+14˻bowaz 9 .tE$,y7$ee!E3&=~Q x'UUԴeÒ1R6pP*#em#P@{S^G+l%ҨNnMqUXgȒ"~B6x"~*A"f?v~?wܙh=l+g"sk20b& UQH zgbyK٧ԒrܡiGb DztN,n ˌRǭpzbr<\lEăom!H  # =.lU>S}9Žh{V x59-4n^،ugqh<8h ^pCd %kL U Z|&4ϔˁ<n i$JC} 9p{ L sRZ y)#qz+76wk̨3A%Q>ELѹB'<>x/lJ(2j@X8t?6XfLyT );)zCᕪ\ÓI꽓`h.ߖ,:%"plRo/ޔ1?>mYq%Wɰ5`?@^I n>8*G,eRcFv(\ eir8 GOGZHUpD]$j߽xR6sznNALAYݕv ^-" `6`u>\_dvlDRe&Ie9ݢy#""*/F&8[+++V\hɫ=E } ӰPY!yyhEN>xR_* PjRINvТr ʒs0ٱ((γL6iDفt$φaHl3l= a\kaabD231.g̓NR:I <`rɑ$\ݱ;bm2ap$K(#;qu v!@J'7 ,)IrG uUhY*[AYa )= OGTٿ(c*U gKnF67,BKxp5gsj'7 4 "2wYl84J| $6E8WG+R|Y=6 w(#Tfg,gUH11q{Su~=GU9fv{uwqykԣ؄OAϨG(J/8| | sD|LARX xoϖS= WsXc} -me:.3(x3ɳ8dNy.L&m,j}5 .e'>:r55ʘ-u*4?28Ō, ;X]1}oȒ.7$}&Oɾs _'з/]VgLrwuK)\φ62(z,No7yR8%8Uq^R0d&_348۫Z^g,lzDޜo4o- ;cnE R b߳&?tО %Ӄ>HRCj2ج  FkNBtNxSSQxB=zMW*٦Mvl!#sk|_(p ;s9I1V,)i tKz>|DXrl8#{c/EZCa+ x8v8b 2'O#% 78^;HLJNps-Jwo .oRO*jqB0Bd)% `a e3!QtQu~2wp 'ְ, ID&:DGJЋn3ĥ9|F5}ˮ6fSAmArNXLMG&'B#I{w'Lb³hI{^S¥3it pȞ2d޷GYMR5FNdȦ*I 2Ugpa&:K GD@HK-G!jG,9)g{I a\IFh?mٻ""4BO ؖH0~JTK_jW&xY((IC*aOV2B{dd-:zld2V$+eP72<p;eie?+SB9m֍G~e7frዠ]evxp XaMJOpwwX1чvK`-MRʫLěfz p>DaqL=vٲ'׈k!YǷ&4ց&VaTHU8XзCܟ۲P^D#z--{AY?6 ~/IcWsgNjg9>̀\A^բ|W8ȎB}9ⴟ=j)h\HCZugۺf]}RY.O<~/pwoǞ4\ 1rU>:OTb8F ۰K'oEjJ$ll I;,rs[+8Abh Vsu\PdcCߴQ1H(c61Cfe:ݴ՗gC}o>@+0[[[!"dKNK:x(#{[sI.Waj!9`u0kB9ri5IRժ'yQ Y`p_ ^rrho^>Ϳ2"#߯VCG}bObnX2䘯dI/Oڙ&_L >Ol)e8h!YrvJkj]*Z4%'3I v}BW Ŷ/*mx32e-n Ƴ!a"{oؽCM.$jӏifC3ř@u2UuN6/nq(j?xPPF/o ;%;(UЗ4=uOT&Nn#e$5q\^wIo <WT'[ήOnaUKi'%KJ/PjdAqI&,a}j ;aWhfZ0Xv@o;1t֕GBD䱩EVU" Y*9.L49P2d>&Bvꄻ~^y}د$8KaCc j=硩zhZʲ3'`hL9U!pǬ#Ub *ԭ xŭ"^V´[tnv-Tw@ @Y4[ūy|D?d ̞-jʯkeB_~Ǻ\Ҧ^LX_H'Tx5SpTIC>cD `aix~~D!׺b?dNFvRQdN52ӡ#ubyreԯ7zz#Re:gݫR0/7pwO( ;i;]jH*]a0VnEZ&,6Ƿq?Tw-[JqxpNlx0n@LRbZ @"od[z8,U x %9ZKtS*lF/} {O^b<,vɫE lc0\}'g䯆~X{{nΊ ݮuM!-uYD$W ֫{$\ 3l(Wu` .!CxU)QNa j#wO-WӼNhTiuYɟ\U{[~ qD#]U$}E[a,'􂼷 #aV[<ٺ TDW{}R8twrP%GrْP=ֲL@+{{}fx;ZS!AM$N=q ;Bw+ 0X߬ݞKFl q@|sʦư^kD'l~<{)fyh5HJgNJdq$|cJ:|f?K:|/B/9sP0A1rh`RT;0a__9+Lٰpʥ>1\ͼI}WGE/ VS{1ԬCRl{PĂOj,VA X=ﰠS:YULi0e(3w$p*6ܧȊ )&YqI8z3qͳ4rp?oDzi(ld%N(aE(pLCpS>K#N%>I9EY"l6)'K]Zf[7C9nɁooۛ-"%8 A%vCF1mM|B4wti0hQr #ܝ RfY5#$jZ.daOijo6J0At| pwbcZ]8vQ[rth=ɆG= qE3bf#/=[a~f~ oM_-sdFI)TEt_-wEg cyrЛr}JSwn|ov+_ҳ[KYvqY [Th0'e^x#rۃ"⡕zrsZeBRj-̽{OR2)FA ᣜr)rfwy[sOŒN8XaL$at!n>eo6{w/,oeb%N[m*6UYa,-flÆ0i)f;+5Y>jI<h><֢j$6=eGzOI),.a/-mg_v]Smf{ ۞ &!0fSet >$xtQ ^)wPY;1Dcjyt`;rL'G܍ Dfm8H]`cء#yY:eg'xoB&aBUYqHNF\`@ 9N =^o 5.Z ːcO bs/WYur!XWf*- urk ˜,3m@gogq3)e&1pYx6~$7pugәe!/(]7''7*:bwk7`7OalY’;U4Ua9E8m&Dnn?yzy󎳠ؗ$FsRgPlP8|IwPfAsě;9cƋ"8X?G9%<']Ec Fψpp͋vr/5_/^w[!(xix ;Hގu8x+#cfhDas(HV#*ӟ*c.@y{Ũ>lO`$195R j9i Z]Knsnq/=Tc%bf#p_K(6gh.RmZ3d^e` f~{w?}L0$\T@`䅼GXY&8@Ei13ܬWgBuYఴʃ={񼽕DEB@^kI]M)U on?܏0}-7.I'Hb hPf1ox2oj+/}(/B֓ӳHUEg2/O֕ kf E|, ;;ҁH_b)ݩI,;^~W{J: "\ POY}̹#{2Ib^JQ[YubJ֡ds-a ;X#fR,Oq)9~u\)M%ifˢ}C=;i\#̦iR!10j3rl :-*ok oOo"F,eBM,!ňѯ[9=?na?pj9/ʐN9Hs͎-bS )KԔ- w|+@v'P^@y\G C mӵelth5?r `rܭ+(}LL]eb`EހqO%0{V1[ ?6ȶ izQ./=YgWaEp(`DT.Ovv^"036!kˌCk # WfAD1n4({%I4?MsvpvU:n ,0UdG~ų >$kI҉r`Y)o y== 8 WhY`Taw뛯# 'yʂE1x@qB 'H9QMUF>wL=8)UӁB("gC7{ZRqyKN"*qY5H۫F"Ih7X1eȓIF|pLn~}I$( 2\ FyRʛ,Vl3#W  !> b{Vx`|džص h}dg7k}9v0 #Jc,c0W E; /ޭ2]u ߈EU}~Ԟ,(pn0V_(}țӔX2OM2lHƌ|S8v.N~=s?e EX1[l`8fs6wwMaZfA{,:l ꋘyWOן>OyI֬Gk2BS^={+\ffqυDpXKuˀ-Љ  ۧB\hr} l.qspݼD=2 9S;i/$M [_>|9_f'\8Im?4K{zVڍ\7|#)fV7RU*ɥ qe"\?H KMimj]# ~|فQ,HE\YO {1m7[%걖Jro| %;YN(R,E2V{1S4Ⱦ]Uqfم]59ZirQ=ݵFY4a`[\Ά;65/Y*2OJcIّlHQˀ];'MH; *p&" 0i0G GmNzuc_o9mWEM`Ϝćj1xFˀ ~ [Ou g݈gE͔wr8>m2!c"t`K4#N /,R.:&N=d;:hy22(*"]~ޣ38Y2^sFͨ >%t|I.:w_|ul[-mJ+WDE;xԹD0sj0v wp/k'ax"Vsp^I:ZobxkBn{z1E7JZ e|87O+2Eo6 **%uQ iG\i||~J&\Ѥa4*M/g4A hE#0R+7wCꬣ WꠒU(y[鳽 s;$g|&E"UӄHTQ1:$dt۾o e3:9-͸˷-H'q26jȸ/Ty$qiqFnj"#3x@WJ/p|eϛ99BD%:Faj80D0iXS㧳B- ¼Ͼn/~'5bw?뗯^Hpjd5,&zFʑ]`d4?ԢUR䘊,>C#W i *%*r~Ë>>Hh0, A-)S:o?X&"-ʼn_\*5?$Z2rTH90@*2\Cbqe' uM B~PiV\\gfy +Q2 gbS @^b 9EG1x!]琰 ֖UrVX W&3j)aKMˣP'#F.6{f0L]N-^Ez\\)2c+,YRlrk4?1KpVؚrjg{Qï5Ї=-8*$Y_9Q AG=DԵ!}f=36MrA{1l[ƛ_*03Z;jUpƞt$&K'Q\_^kV6ٙIwNJ:ҁ]ve,l-OAVno'$8P~c/_ګgOZfֵLYȿjإG}[& khl%bw3`XIf30Cga|)Up`:cuvpEWf4%8 ᲏5Ecnwϔ2bewq 5dzXꉌg%,Bשּׂܞ^'ʫ*IMҊS(l!0dA7; GuEUiH8@H3`s5vjgj7zD'ØPK%NyZ%L~X.v# '-qu0l{QWV*SaqaH [L@W3 _X#}p.džufdAbu$ \8#ˇE>f)M59 Gf0ͣ)w?]dqL-QfsG(|G j:}>3lȾP"ddcndmhye36v}=nhS霨0 H Ź(n#KrSo d7)fXt$;}&"|o&n#Ξ~rDg8csY[&iϛwG]+Buij%=lä,Y+>:->*62Pas$k tpy"0Im ҕ#3c_*CefeNH{gYQ._mg1ZYKX++,!/ k<} ڐ2̵!i;iْa)Azeb0YXd#iv cC2N#Szqi"#u{5_m/]cTx sqi DTju*y[H~5\bFEgʅd4.0zRZ#ɮ &.G=%294ْ? & $rgȑp%6~,MZ3YA +[saoSG~4aY$uD^U2166C_2/8|^ 97|0-+_-r hLcLB\g :4  ECļ:lʮ@ ppuiɾ?ҥǏpuԈ8a~]X0Va6>c[dkWܛz 6sd̸)B;koT?i =yn $2.$M+'͐ ~*|LZky;M=cD,[yߓ(@C;6/EV-~c"vG5жN8SvU6GR8[#¦Jr I>xMj Ũ#] `הC_6y. 3'\ ǨvT Ho0"D@AmcPcݳ| @ehbQoyeLjr2F/Oudgqf|@k__ף] @~jȚ'D|y$Ol}ߘEL4C(bm1yL:r6h~56;2ievq5]Wd4Hf0fywKe|6Jde?*%1,?lb؂ 9G$#3TNĒE2b 9g0@u$]ܯ.{/9$%dO+OZ~/vEe2 $vb,+iЉGW'Y[:OfLOSC^TfQ$0w_?{M,X{FH\F +z!QxFݗ69NvY2_qkQN\ɳw_G=_~r ͊L"!Bp"K,y܂N=93\;HpaEAeوmudwR$Vر>P]P|?b&̖Y5t*oW6;ՀzǥvE ": U$9{8ӬqndcajįI%52$W/Gv]4@y2YM9;d+ ^Y>,ag$׳L]`ۉ 粇 D?]B$Rdo9HVVϼN$ bJ@:Y܍Iy2Wov_}XC?7ZFu 3x#ՑLT]Ă<×wcxxFn 6 # re!#x'yGNyz|Z(R}'_"ܤTŐF>%'!=_|$^cMVgS:sR2sǽ_h!T"rȼ;C2uY6.??ҝ;9q*+\s-ÖúܮovQ-}BVvg`4Ubhك]b~*xnOTzR_6grZk8&_?3!|REE"+,qN>unoIMr8k&,c% FA6yb7Kka e(bq Q;'O,EaGwIUjtS$qO;ߓǓ6Eȅ[.p *`TP2?7zvs2o G2T"C'! wcFC"݋$c0iI)C̩9$^|ej\G{SѱgbTنH*jzhtⱩ=5m:J49`٫O8!wz3ItPaV6Gj<-̙0_ s`mpvq ]}OնlGh&J9t"lgcQa}!)c%i$sv4kB].Yb;+ɡ&!c=7\c`Y ,KBRo7J(Eol8&?sone9;M1N Zg0GhYL-s'XVxED-ނ Lf8jհ8l cNu98Pk2q)?y![65ex6.c? сB"$AxRxR4J\2vd+áO qQmfX9]s /n>?Rm tIb2cqp<)!@Uo\I!ʚGcLV|7|*C.J:BEޚ oAEFN#x0 "w)xƵJP4ӳ~1~;*Ĩ+ HB4SRB;%S9GǁR[Mp*D7 ј81Uf V2ދ)ϣj_4*1)9ةA*A,cb^Ԁ,kE؂>1`aʷRc98"faa9᝭-0(ЍU\ UƉȌ|][7.&+:Pa3>E]nlk΅lrax@G8˜Xcs 8n_c7,.<9"U=Jn[1EY"j?*n0XpQ\l:m %8l,XtJKxk֑gj%?:ELr$S{@MrGֺ`طǎD%3sθ>D"yc'ևy >k-j6/C|E"x= HqH`kc?dx=douM6v,67!F _,SHFx%6ow37G𷊁3sOE6n 87j]߯p"7!쫃V)T(m}؞ ;B-lM{^(&kމ*Bѓ[|EeΞṟ^C,5T&c+TO+9ˑ, =0B^Y&gr.K Q`fNswOwT5J&[*\@$ C&pj;l. ʧ4|컔GƩm؂Ĉ=~ӗGMᨬݍ=ʌ#ڲa62J=Nb!0Lሷ8B8ΰ~?_~Ex+iz'S.jU+ M̈ʵyj͋ت{ @T A[pG4mV'l"d?6wcYaͤ N*CLD\Fg-YK3=,Ȉ7ggtb4f^&alA)ڦIgh305dsOU4 . 6ް2P߯sO-%YS5ٚ `mKO)?Hv}V.E8u%(= ;(󴑍bJ*wpɕev8Jq~'졟:g(%tOze+<@9GFk{wxZ6QQt"k XJTAVIKN܌u͒~]~wN;eSpm=SBn<e2^uO^W6;bRV4I´L7K 3Ηp7%,i1fOXS FjLZ>>K~Ö+#b-ݱ;+,6m9NK\^|rJ>%=τrq}ǚ{jm3 y&h!U/pn7wrf{x[O꺧-` {88eoe-GؓG:m=a uf@Y&dقp|~+l|O'xΈ5)䐚l !ael p9l̮9H{v<<L5io0kMl˙QEػCLZq&,eMr zOT!da4I^ךCYZ]I#iTgR*n!4SN &\ޡ`J, Tc|˟&:+܇H znFR[SDԖ]'gv2Ӄ*(d3oAM#}=ѹN +v1:ڊw֝WLo)kJ\>wOl8?_;jwO8*H8ol(r/ v>,`o,.A$+pW5oD0Az_ɳF% OL/9 VST+]g&)>l vovƅ~8!r, cs}{ѫRkMꛥ'r&w89Nqٙv/OGyp1Yɚ_4RmkEMW=l^؞kIlS#vz=~9–@VGjbfXr!Y/I\yO@6  ;tp iƗq^Xz^oMNj>'# ޅȲם*xݸk]%+~xN &\^Fꍰ ƚʢ]"x[br̒on͓Bk},aS2:1ocDsݩe[qVv6(7ɩd81{p0n{޹QDr7{`FO#]6d8 t"ˀCR괭@dKW7_]^sTC9UGkALZQn#g,%z?ٵ#l 0Ռ: ݎ͊9I{Bb Cُ/u"zP|32{&VԌq&Rf}{&a`W^Bk5cF2{+2u;Ǟ5 4."F,[#g;_$ 縞ѥxDq 8S/}!?PY|>spD׭t gQ)Gg67__#΢%aFfT`{q!k/Cux#<%zcuwfnl"gD Ԛ#z;s܊O36Εomx/r>F뜽 Sq8'.ސLuQ}fDlCS.l9_YS)55ҟ9N"WьeX!%3SdQmoaßN$|T,R2[>1kKjXwذz)y0DS##8r\6N&Шifس"q|Y^&Skƒ Im/62g.81BC)Ui|VFjH7CĶ8D!CQ["lQi opvxsa#YS}(Q^02KA}RqB8^H}wTVYKl;nHz@%'ɐ[mz'P\QլB?dgj_X/NÝu1Whrbu0f"yRH\Iѫ" P-r:(D7`t\7 kp(l  ..8ӿL+!L1s~ō$9SPd"{| J~ `zN.pYt:]lG0=DACA-8$vJ00OV}>#X 'n#oXk $Bɻ0m$͵  bf ue@|r Nd%:*X_b;6篞uˌgU$T3d  zQ8 AfUGZg=Q H9,KwbLnzړݯMo6ܩ4TG싿?ް.˛_]FB8kKI7HHF6DE"g\\"{xe.f<: @1%$b$ڳ/}+IOy,tdxS"UCh*2uӛ=yd,d@Lb SIwTZj8i`bHկ@ $4]ٖDmnpWD]UΠ^xQjǴRԳ-Ezw^߮0F:e`JgygU]t3y(hؼR< av=3SlMa(;թ鯛1hNDDxgmۮj&7c6lc}?An"7zp"d^%SP},ku:fd\~ %8[i5 1go#`)~dWv&ɣ1R[!Zшd!6de#%SehEu-(/KIb:;{9tRι0Oo޽&?[yh<h4hz3Z"6 8Wx6L-yIG;o7WC}[ʷc`hQX=,lX_o)$`Q j^VFi*ysd JT@&ՎjPE 'G9^SSq Qb|d L%pɎIZ)'mrbS??ӠrP,[3 Ùxq$_Q;0|V}x礨,ԒPos \2ΙwxM +&d[Źٜ 7J<0۞Zڛ":RGUT8&H 3u^ABV͍)Woh|t!TI|gcʱ]NI#m rmwʻx5hܟ.R!8kSjWqՀ}?Қ.%!R07T;ǫ,p,:2,WaYT]N&RJD9DU͈ta!Dpf@|f <31$Z^<5|M 3#O$ BirnW指F1.!`>#Sbj]S9+jxwV"=%b$"K+ܠcE 쑦 5;!;xAq|GbP% R;jM.$ܨd8 qDTGmYgH<˘ i*^Rdor+o_.!>? A)}dNd|@4\E`#͔ N x UowwESlj &"^%*2qቃp}n0bRderlLvV@T'k !gQg(>Ҁ6H3kgrDĉhMϋ3CUn+'+cPDȰxoKbVtR-y~x]b 43OF5m' Q=5Vtpzt_8Om.>4S}ζ+" "y%R|4d.;a~H5Fg6-qj/&ć,}^% v Vqtٲz QБX] N/\'ɛVs&)腳Y簉$B}Q -.8XXX/dNxP!I΍w>Y) *(__kUi/&kw mxũ1J ;*X2YIdwYBՈb@(LdY4ҙ!.|GiRF].ev(ºxM+.|ӅY4)bR>.4ӏݩWvPhIDzK%VjäRʜpR@^I j1 6sv=S' ;Ll.U w9e?;/x۳ R3D$ u>r F4Zd%VJV&PQ42 ;" iO8/.((&]GpT'N{)2qἈ3|J("*N;|yx ]Sb'"婥)wB1kҹc#ʓI!b0kEǛqlD@S"2m 'WX ges`)8F4 6q n7J]?i߻f LTymǚLU$tT^42,oCyv'5JbYEFW0zL*Ji W9: ',߽зML՛3 $]O*φ+3x5klke8V7d{4S⭒ïě95cϐU8 -!)Jc> 8ȉ9)7Eyz~'Zᡢl̡z-Hű7=QD:_ȬR . 7z*֟L"lIы1T apZ6 rL EAǏlTxGE^¼==2pĭa3"\ec87m$̜,֭B㌀Yt-q(Z"aL$p!XWBmuAL=hE,#ok|B>Sa* q!ё[']?zd|3I Ƃ;-WC jUu&iޮ?3O9d:Wkbca:2|+*e~/S8aġ9N@%n{M > <<4~Sp@ȱVs#\60w 03xQ2Xx 1*}Y~ǟ("e=}~b>|% pg[Rv*V/oÿץ1gaH7 +1E+ No7i_ݑꌶ9'6 y"<άRZ֊Sw =c9b:WCֱCCJ6Fz+)(!),Hv[9|ow(ղ_9zHl.~76-L @)a_d9ensGv4: FxfueEܹӼFw>^v?Y^[y&]Ycacm]`<~x%sMU,.Ԭu{kτ [Qu#f$E =(n}:~NL9~a1a8#K;~:8eH-.,fhxa? T$0+i?rx-:OIN8_hrħ,Hk^Qa;3I~5{+Χo{&SZAYn$qqp"6?ٳ`^m]7P Jojv:`}wҙQeS dqdTz[8 -U؇>yC6!B ` ?s]*TǷh[.m(Cw?RƉvS Sm"Yf$el:VO"iiGA] Iq6^И9 9tY_A~{f7uhovdgwzof颱Zg|#K 㕳y;ᨻe:#%!Cy]{V~(ͅH=|Jq\Jf Ǚ1\o{#Dz&,"kc7<'w?ܸ]<-qaBR#+϶DkPKla/5ީd'ӃңL^kS{yؗW;`9:Qx'nz7 U%c[)Iqtfn>ۚCpK,@ݬ/݇}"B:E_I1xa$mɾe2s]p C\Pgc^z7C7l&@&߳!f5xH*Oܒ#rB$b(n?ne"N-}e Ȃ!?ިcjojRr~M;>lL;,,U8wb5ȤF7|?FO,]⻗G&5Ƕ]l[̻" پ ;fnng6F'lau `jNwKC;u񼿜0Tb*ZVW nV wm>(E# ,LfH,1 ѯ'wGi]&#^nb`C^nv'THlY粈>y|B35(ƮiQ [s2-⩢ i? uNwef[Ke֣L,^_9!ǯ׷̩iW&$2k{ :_]*r#5AӖlRZsE,rA>dG\ I*pxH 6ZO 1Lqnkᣀ#6*.s'0`$o:'e*C^! -%s6sN6t!9MOa8']SysUm לxo}xB|Fʼnf){K1Li{l9 B.㌥-sGH`R3V'%89*grHfprJ썦٠nIAfৢ=²±ur߮?m8guN?XdFWhT|'rHӟT\[' |?qͤ;KqPw{S~=7LO\QEzrN&6R@Y)"TǾ|xw6$l(@^`j`sL!9i W\<r ?vEɆ`"@xq0͹4{~fDwDQ`O$D@`}H{ټ47f`SͲfĿoHH]2U3vuBQyl~ؾ{7/.sF۰$RkQ .5[9푌vvw?r[T8i!>)AfCDpy6Xd@j>\oGYdBƕq봶 UG89ugp^v{xd *B9@ge-^KA!hwQ;f]iOuO 2k晧*}EPD'[5%6/`"n1Mm,mݸq 1Tt&9RY%c Y$aqa+ L8UsBx4g8ݯ'Sɾ:`!'ŜzLT2,8d*'0;;-<3S23y jK^҇4~@8͈cpfJnc&#µ2siR,͞F/׿ t<vد0 ` XNűWߞNpזkЕlY짫`3;7to$#कc#F!쌘x&ds0@n&f/~Jy{,z& ,>R9E菩SL15N0qzG?p Y-9 Ȟ1/UϘG=c;!枪dӄdr9Xְ<T>npm) Ԃ͔I14\q`)Hg[{M#jWBl՛AY%MyC_?][aITU';qdfZC4RK,5l$>9,<ü8 ak`M6c rQwkT&u%keۏmy($*ן8RΓDL+JT1Ah9[օ`]LaDX)\ȳ"pDNmw:4 -TF'dZuL$'f?=AF#>6l._4'8<+ej?r|S}8&@&[xԖ(؈[w_-%>l*K1j2}3 ;Yb\7fWD~&B򤤹/\rf҃~]a)R\{ߝ n˨"sYؗWT˥| ^)gBZф2-TwhvvE(0rг3qoN=⊡  #J[7eGfA' KvysissrAJikZl{ُnjˢ#7.+T $7exsPNwHKS(\{Pp#?Ss _R`$o 9ٍ`}2Zn^ ) ,ߵh#Ǖwo)pKˉ`;V& a\Ppnfz yb`t4(gD*LI C3O^f!!qlzq9~K ӃJX"HZGpyy Մ)fv GH;<~LZN2M lw=pمZ =m>} * 3l1~fY$ɰ7=y],] Q9qU xdR>?oq0yz",{(Te˧0Wvn6Y=t P-V։ӡcEbw5FmrjPyѠ?"y!3+2%0%5@zS"Dmv\̳#<. 0iJm>Rř9Dm˔1;+[쀣V O?fj68Ru,yv ndCNFWNpP$]xa4W[aLJ z|sCWƬ>r+ do9yZ;'UvUp2H5UyD!+zZ:rhrtfCFFc\U)'^qրX;onD|>dWs՛j#uQA2]Ne+*qUbGaă"d9 l[ ;29O/ȃPJF.J6]p^O>IsLL#U4asa~ay=I=4|uE޹<FG?9.{rXx42)R ]e 3]̰6W _? g` ?{caُ? @ħjߨ# Y_ O)@Vu;T0eݧ5sA.=`vBtc3elԤR(e]Ӌ x Y;t%lFˮh(AN▊2L\v!`Ĺz5͖/o9W!,N/o/δOw חȬY ·Fr\X߮? r%:ͬ9s&@3ٱH(E}'sqc^ 0+%Z /'aYo_?:B@wCi**UQ#VgxmluH+Y 5oH-BNYՋ~-5Dk 5S>Ʋ&3 O "L;1r@lhw|q}ҥW2Rj;vaf""@Ju:o]0I/wk'$6"B\L+l6tx;vZi"lӟJݱ#lx|R}iQD.=-im$G굜~zn9OgEI)Nf3CI5jo&S׃{]XY2{"ݣ7ם\l#-| > {p0`Qur5'e9}֋qLʯKI0bmFiU4*f dDzj3stHTo~7|YJ7ŀeYJUј3Հ` GydvԐԮc[5.F^n}n{ {cZ7"8HCVF/SĵTīʒ?N?o 9\\ Dq\=ݓiX=;r4ō]۠uo u]mC Tlj_pJ녳$^[p!Ϥf dD cV^pLQZeVHlbؘ3~hL]I92GJL&c$< sʺ}ҨD.Q2HzM>$97W t`8g!bf)NY7DdsSB9Y ٔ~H d;Db!G|W^qV1qmiغ \?}ݵ569C*|\/V',PAkv}c^KLM`SIYpH'}8p0[Voe\[AH!@C8Q) 1 B ZMeLR>;Y256W [IvI(">r)s}Ct*TlkxOx*70[=^&$Ɣ"Zr@mZX<{ rh8 Es,S`1 n+[iF.g.0~u0ωTdDW(p4ʲ2Cz$3`N<Ĉpgk{-yY VW>)Jl2BVr뺥(19{H #$CDWMjZ̲%3cB,V}^<"0 62:>ƞ*}i'FqfhM>4ՌjqRڋMَMSݬY8-V 49^4.&?eU<*. ++408F%l5)hjϹasAC`xEa#=|bb,lo>5A -pD Y*JY)׳K5M+V7)h3?犨knq m,Zty !%n?GL3q"=&Uͧ3H*ӡNg&"W07ofZu-ͱGnC_P iZ»[kR%/4J(3kG+)ħmy`(RӤwEzBkV@ KO;~{!L䎊b1ǒVet;WmFiE@. "A]( ˘0!p™YZٌ!Xe< <ňq7g΅Jfzxwyz5MdU: &W6, g8^  W, ttHh Hqn efϝcSJB@,0WM08(I_mF_ϊ-,ΕU(Zu㓅t=nf21qbu8,@"qΰ^|i0؟ˑ{ɱSĎuM,b5p݇,dS.{qZ>!i . ɃnP~ԭLىjpCtGyF`4?P7JlY Qc+} yNlT>𕹌mle-|>dq*1;/xj%t9H ekӞv:c{CORh ~ @))<`y*|_=Y+i#syeEBP7$,i1N8}{{"}Z> B|[U_S 9=S̀8,~?z8P9cr7Sѩ'&~z?l~^r3!vLe!zAZl\҆L&/)9oSxSUUf8WuGiy֙x3# T룓d \xVşnwz!J P f%`;3 v)0dN% 4⪄ϝH xƫڸ%fVʳy3WJ%:7|~b8P o9e93nOG>҃I{~{K?? @ (+R>LTxs%d(,T̮^ XED=yQ_Iqv%zB_XSsɑ#p@r&3'8׻/c=_s{BʅM_& Gcb<4PS~ĖMlà*`%s+=oy|R8'daĚYΎ zfakEp y~z&iA,,F`j'Zj (gg7vDͨq0u0 !C6sYH@͗-wc q|YTo(g ȼ@rnzf@j?BS,[; S'&r]>$|)9l!y(̫-Pr^Qg&zHw)<1]xq*@xph[#~eECEmD$EiE;a\"ݯc Es.\=I_pFT,l[^7d7e42IY K'"{g$~ؓvC5xQ PC!;`P3,a&f@f9`.ؗNhI[.qXuL'=0k8H)+)o.$<5=/`u: ƏhzxF`ɖI,Eߘ[p֍MOGrӚlp^Ng0[A`]964|N>4'=}#g\REi}Os1T`IEXS q[Gf[M1VK-C1]N8wZԢՖ7< Dxq@ %n댏,#q?;wNRs²𪤦ol}i φ9٪@*2)Jzd)?0*`p0f!WzD|L1 ҟ8:T@`(pi:|¾WP"ՉPJn+)et/=s@6[,k@w뽎7 _?E/^䭅|h aabY#+9 X(j=ʤ6c|w3-cAPQc '$xp6V5SZ̞{fastf_E&kfqH?8,  g>65d<#gg_}yzv0lg]8 zQ>ǺB&o)p82D6?pyqTVGGc0YB&ę\+bȠ.a4U LvV2Z~7kFpA֙s}~oyF@Q7#qaoT730Ћgn 8RdRoϭURL=R#SUoϤB:KJvxus^XW60a W2(4J0¥RHd$O1`"u(%s:uwH0x~:bcI8MGk1o?21uހp/ -Eѩ2/kKid̸pa~IAc8>:||jʒ el]g\]".Va3#Qm߁|6_pa*#9vTFym \{"@$B`.-ۨ "qBgUTB>pt?e:!mӂX,55KeEf-ʱ*U\eui1Db3aΒ䱉sd\z;#lG'sCͱ݋K6#YK0-#$b" b{yM?~߾b VOGplla!L&&Z"}`N(14SuI&/$7JFv,J9wNhBׄFx%<`\c8:~J惖djl.[q'i Tg.uE-W⬼ƐyUeHɘ_;:<1rj<]>l>_VܾrzZ#c杘AdbQ6k5~nDntJJCt[r_E d` F^ Yҩ`Ƈ^BB&3Vf ?N2x0z@U8 JfbtG;.1;$wCIRaBP-_ho™Yp #-Nnrc&g]dT]g6:{ 7_n}5jv+RN1!Tzy߼ 4QIl.t~0NeA{n^WQ/Y`dVtiUM8}f%H^c CZhÇ| X35d2WAhu%yEapv{>%j(,!BФxldR= a2SPu3s,$,Txg|ѿ& LGm9c4pF.8qiu-ƊRl B3U$ie 1;Viu%\[quW†sEHmPs\OJ*k,(bo2PCu@Ɲ_+"5_T_\sGUR*L,\S/#mOqY`%o^<+Exw7/W6\\e|xIWgg8aū\9+ I\IuZۅ!٬~\|q͵2cq/e;B+XM K+Fx{3#:0ݡo$`e z?WmJc*iP yct FNkT)ߥ3B$vۇl,ܱlP&"e D`< \=VÞ;)I tl9^R25o>8@Ѽ΅M ^x8Ɍzb$,`z$7FmU%izYgg ,eՂ˛FplѢBVI6vP8r-iEeR!*'<iZ\`&͙ )b܇)s5C6#@ 9٦B bTQpAtowo+-^3KV298kՀq`G|~D3 t:mAeU%,-OgKi'v!)́I!]K˟*"VvRm q,N |Dg>DiSC 9SU qaޜk.jx_,eg0 n0 )>=M7M,pKWaol#`b/Ī/w2;]Gsx ֥#GHYʦR]9Sۈk6{6b a4T.yQ,H9 ҥ A"?D2Lّ\$xzVL@]D7ȟ6g3[.5̊M$C2>[쌑zBL\/Y8uۙ5jq]Ѯ8cGL`)lqÏF#y{#<(jɍ]Z8S)|p8q?x0{&yytM5*`zΖ,\T=e/8r0~G HJ=uXPJZ!k/WX+#%D 8,%_ZT G5.Wlкtbw;Zߵ/ R2/ mCdY/2AF%,Ȉ~NqwX:sBS/v?1[+-L~zbs6[Į*") z!1h+9ͫ]P~oL9ح aγa;n"oyPùhTBIe9kϬ s1Χ Pg^"v NذEvYt 4 Iea\<ӂVK#cxuCRQ n$l7YWTQ/ZKbr4lsWP],I t9sIFX5GbJFirx":rF΁ɖx"ut4I9>2iYMdD=x0S[.͓]uNUEƴWҝ.d%+D=sF49h(-@ 7؊f_SNwgM(sΜоݣf CoR7_o~YK: Q x0d(L'"ʯx[g<ߦ-$ -N'໾PlXf3yE90HQevq68{8|Q\p\2ky+`igQ,jNeSe A3Ƥ4#6 Lg-w$Ώ͂I$@0Ng³92)g4vrŹ<8\YV\ 4 x\\+i#2jr shCb lTM6w7aͽ<ŤYYֶZSeQ\>wzZ~Y.ؕ˸ [9 C}j8*gr8R `\PdfnQݵTRq}}gQǒѤKUU\%jೈ8+HLC2Owl`so}Al9Yȏ5%r,Y(]p/ɎoE!Նm i ˂L[V=Iy3b#O-{qm3~,r _gDy 7ݎ,q`c:'Hۇa~g Xo x%ܞy|C}=(:%`/Q=aI ef f:W P7L9vB{ Oj'j4#qfM meRX͓+oYb`LI'F u?T*c'B<Og)aQ;} \?\izfWyt_2LT^oކt3c&`^8%4ag:6kn117fr9Y-b)u}׳iF`"6 Y sf_!COV2?MNqz,Ӽx_ElߊD#BDQWX*rL i.O{էv ଀ozl,XZ`kWú˗Os ְ:s|*p-lC L -RmIXwӳwg"``$|u$}8ZߟZvsrHh[bb*J;Xʢ2߸0xC{Nqu?8L8Ģ]]1yXǢqz=KVjF 8,< `e|fzKfU+O]1YHzbS]v̈Yf P;\ Υin6jF1jH01wW`S$':s쟠Nj77$w5G`h>z4#>L0/"Q $x377V2&K+ @6"Ge5{IyNk`X"&@i-u}w~Xa23we (6-:^]0e4a$yGʼnƏ%D@hK=ry~ K^XVHJUS,& GP]3eLhJF&y⨙Tb5={u@ qp84Ye9kU!i̜z紣%fn.r\~Ω?[9oχWi|ՙ f/9RZ=ՉXL>C̘Bv젹zRH4B*t$x" Z3l)}K1oOt(n I=:`Y \h^gbzLsQ!,7wdjX()1o,t(,X{JU25eL?mD 'ΩN-<7&wQ^BW#ЭP`oZǡ|.Lɴ|Y\㦟\ݚW2^#^ bfnSAqb+KJ'NkİclT"]/qFDòTF²188JgdoT[d"9qME8@$ނhFpn 'L81j婽^VYx f[ݟWlnTT(8v5VIRfM),^Lѓ:06pS-g3۲( Ave8ƜM(? ‡W{2%q:$9?2p:` %g|lߓn-@v%ZJvb /LVO,urjd}^xz}$.Ѝ-grXodݒ*&8 }>"le2X~NJQHcH0UƼ9,x?Õ_d2pGsJ)DqyC2EMGMgǎ^3JaDVGvDۋu10%KvǦ;{`` 9\bW"HUH6h-qleG`_@ Ӛ!: dU*eЉBZcoɚy˜m gW E($C&Gl0Lj]5-{o;#(֕3Ba 'e&R+'llX bRW™qCrYa%e, 9҂" Tl' s|7أJ@5`Y$8#2„B>xYOpFJ_rkcȝeI,ũQܫoY/Llz9 QGD0 zoc':t,}>c58#לO6 $ppus{٧7.kRcd|m4[r[I9_|W pHD"JnI}g̈́2,D/eπO\.d] d嬝N3{UV=^Ä_D՜A:c,C$dk/jmU0?P;R_"*=#KCK?13J`:#thHPabbL^iz~ω 9N7Lqli6WJbIb׫.Tdt`Ag't=>JckĪϹA]=-%yvzqQ§#/^d#4M*A4bpŸW[<\J7.EvL>9Rl[se?xqG$( x\Uʉf8e  b3d 5{PNbߍtׯ kmK=>#/"9/R̲wlX%wJo4$.WO5VVC'{!bԳ+Vō `bMb8g fQ4 l#3lYKGg5I)9|𤏚y'/4e BWU8kO_lxbxY/~Y]7;=X$Q;X{zOq,ӑH-s- C_ )5m߰q9e0fG>hffaR#QkTD,?dlu8}uQ>"c&ܦsW mGY\" V0;b̺Y=7V$FLxZkq &N/paV"(M!qp&c{D"}Av? u+Ů nR2d?B+](?e>_o[EaVI! ňdd{-s&\>D|nD3d"qz qwh W842턓(Ld_WRJݝ|xVg=\ɏff9Q8 RR|/5~;*!<|%,B$= )^8c(zV wYZj Izv;j8[-͎%I+iՄ(a9Ndמ:R#pLI[+\j<\{u|6`I+{Z:9Qk5}_~M}O2'`$ "foaK=)zڇ'edf $썊~v@RQ> {kεSJD4sai"%Z,Gk6sO W +4\;ե}ڸTLx('hX]3KDj%"9Δ/k?{qum_.9ukymCyO3$6׾[^ZOYsiJ;3+䄱hy﬎eT8\-']D-BpIK蹪v` 0e@jJU!HxrH+%I\~B!mfL9H-1I?bGl:Ko%GLz?/R,n>b^J8 3LERUD9ӉDR9~-5008y\$$Nf B'QAR%% rq =|}\eQ@(Y˦bwD<-^j8䋄sd:ٿQe;iN|\)p|2㶊tlBJ^lKQm{8@ZYTFxIh=FrqnY$LmOM"{'M-R9#び `$#]*)>YMOQT'fjP3aZ^"9 m순nvd_ݟ_WY7 (V`]޲^R7 \ȶ~3LTZQqekD !lUnr@c2τThו@dQwsAҌˈ ;y6 ie:ӆ1puw>B#K~U*`{NޞQ 3l*|Ni'E.t$?p Wl{Y?)閎c3~4'嵫4{ sj94ઑV-Σ.Eqt_R?쉛l{BxSif28hSGrZ x-z]ŲFvO ly5߶k4b?~x@p|PBteŒ +J1Y= 7H=DUl%\Fa+5sgtUÅ8)n/q2KM%k˙<2dž݆sG2 |Zw0Pؖho4]!O}(H^UDML7&E`4:R5K!G=tAwr& +Q9Y>qjq !5q  wY"XLn1uuj?czws֫['1K&Vұm7&SXPzSL]b644l!Hsav+Im%%*qnHjIm/aR AJ!x {'b޳1ybd[3_%&9p o8py=0 3[pZ.A#K &UNڍ= 8T!;"[8(o?+oތ1O'Y.dȁXD,R荁5u,PqT`oz?7K)d&pv֤t=3!_w+`Au|,F1UPIp1SHe4`,^%]y47XljV37TQL:io)4r܀+eƔ%"9"Cp=ĴW^۲I&؟nQeܱUm9fX}į |j`6 *0*nq7 iՌ]\n!ǥ 2칦, EIaLMV%!x>哾'e(56H2y)>=эvۛKۣcϤ0uVxc p୼wgh)B25~0JWd[H8Ϸx-4 #I9ACI :ZF4 @oVW%YSknWfdTD'1=)t3% %E[q ܑcb''@*ŕyܙӃ?U'X`d΢|+T9p?J]kl dȤYټ~~bt0uJ=ohepbCN?}] )7{ڑsei%lX,jު#6Ci>NJ]%LɣӣZʛ)n-mM#FF' MsB{t6 Ēf#A_NT[ÿʻՓ42׀ߗ)ŏje͈ob)Ul l6qP*?ou ECÏhfLM I: ﱽH޼Sؙ ԩø>5eK&Nx^]Ypژn wAI[AE8֬IJoo+)AK6SW3fH Lzr:!*ؠ!*PmDm`2 - Y`9YaUG) /';MF6yڑ7K5Oq d8?l6WS%1o7ZϢxĈ *Uzjx!̑]M8S}8<$͑foDz{jU{7D; Qܗ9E31DD}@(iC*fL3!<  s xcF]RF?,#bFib/&8AVT/g^?[>ŏmzm3Uy'n.VMWX]G֙)uhEXĂ5I߰eu G^˩ \h?I6) );=)2w0[6p FtV ^MË-ƴm-P=g󖅷iR+ed7i%27a =l#*ixD{nnq4$"")k(8Rd9>$PCzHV4ҊyJ|ӏ%_5]ڟη x}F}j 1BmR쯖)qZ=?K.\xCة8~ ,BaPxi^|j鑿q_"dTb+#'m'ˈ`epÜXE6Za^> N5pDߤM@8&Qψ]w<`DZQ!RabSc7Ew,4=h=R9q/ʽ#yZ#p۰ƶɻ .Zp Qh" ubwJA~*l`%gxJ"=-‘B.eryv;u1KPTn͚ 4: /: eU>GQ~lfOv곜 ٷٴd9H6$ cB_;;܀ջP^Ƨj+J1 ^To"cX%UkNR@(tg'%i^٨09>(5)MŻtgK, <@( Ț(dēdgVrt&miNWevwY*5cgͱ|'guPMdses Y;SKЊkb!6:N6}s AE^"cz'>C%-!cV̓cY־kf#N&U`k\pPUXԲZjF|/;KYk5;Gၯ-e-gc V -dwpY}^%Dx;keO[hI+#GĈg+zjDڟ>줩+Z__oWxc;Q+3ł(R2 M4bK|׫?JpJq`)f)vf|KOt@df*~R>bZʼnH?HEX cf?mZ Ar+|]("k첼28"q>[/w A QCJ65@E{Zm!"!60}8=?){NW}0/I ?lts#$Ȭez!R7. 6xcXvdDjy"vbhY"RG.=Bl. p_KJ.i6TDDJ?*շZ҄;ie<~^].nLE"슙<؏e52MMgGG L| ȶ=Od4Qnë^[c4pa8qBbbJ?2/F՛ !H_Vl(MSn(f 9k| "ckf^]:Z*8:#&D(CY-O/ϤKx≙\*)!jbmen8`񈷫GxS:OtifMl]sL%0o?)>>gD(o .9'3p*X7"l۞Ri6d5$OaBjirb3^HF>4wI+9 Ii57 dxSXA 8ջ-%O"" S\ܼ4-iKdRzup=^?4?JR>2R5j @O}LǾϷ4D?L"˪U!3-?f{[ RQfl^1p(qP=#.L wv|%lm$̑@-&4Anrd~Ə&͉$/ANE%WN~\?({;Aҳw`8AȒۘԢ>no.EF)gQ29Vbص ݭJ@>crcuimTW2@ ZglE=7;@wdX/dXJ#@c -{~xq#Re~rnZ&;F~XcՆdIr|d2bO$t0Z0 MS[ h{es{}Cq|~k)h|kB.=ts2Q%yLa+F'(ګ+ؙ6ixP]|dA\:a1HIyI|PA^3=&q/lMF2xMp*w4pi9F¥FO>~=۴>MDy0b8Y 6M[ '){r+֏hBs<xxJKA$'*T>8ic<kZ#WMe(Ӗ&iiEWf, xZסx\"Z`{P1+ Űy bQL$WB|PMSJY2Mq ;;|,t^$2<~Nai.ny=9Af 6ԯ?L,% YP<?x2_TeKe8C. -ST (Y Ë9XſP9'>`Xc0DT*?-ˎ=-ffⴰDMDWJOMIIiw{b^漸$>Q13z}h>IӣG;).MjZtIPfQ"Kds? e3ia`Af&%N4M!wbIHZտzL]sPF g`Gd.\de%{rPo hi=@l}21iG{ howP)/gixSQFiRl233dM7ܬ<^ f%2[%(v|pr򹥺dCKP@W 0kop0t:';j?w*r]N#ɫCVMW]:z @_")zbى12EL5|ãlJnX20hY|,_P( ѵLX% n.֔Y"ӣ XT M$isa=,")bc'5g"`'(f*Z.3^ydD}z3r,sV'x|w<}xgN|nm(#Vq_ ũeo%0 8vN3P q#[bv@QID]8۞r~uyDཨۻOs=%-X\DUF`')0h봥gޒYZbH`PwGa({ =m:s*HtE &Aq˲_S&%lŸrв܊ r ]%n=-x䙓t>r’a&%P8[jJ-q? AoPl \wpW+Q0$R |SZif)kmSr")v~>_@ ]E3zRR!FBW5a"GINu}@rKtx ̭٫<qJx>&[2V#zNHB*7ch2lNԘ(AXj2|n/lgQ 1[n*"_D0ˉ"3#EV\Xu EL!C^jRpF%ېeH$#Q*pZ]T׏ehXZx4RT=NjS*UDxJz&DKDwg'ڣešV_W zޮUP#Fi5a (9hJ+w*n"9ʈ '#{YܾŊԊhjE%1>4i[ܔ \k'VqHn 1<ƍa$eF,^x9- 0 lru+pҋ7}z1j hVDUÔyAI(j @$$ߵ~ܱ(hφq@NP[Z=j U\ufj#`S,pT>ItKN *D:̭ ڍQj2|K!~ kDb gq}Kُb,zc@6> -"b.8#j}^?ӆEcAْ>ypJ/sǝg>pFN(VlB~ޒ EsgF|Gң94$ >7U@#qNF6x\ݑt_Ɇ+2*SIda55`􆉎o'gCBŢbfe4h\r-TigS t }EֲNVN!|!֌H38(j>['S<|  ؓ^BnA8yV'"s!kn2Oǖ-^m|r4jB;rqϫTwfh߮Wx}߸h8uZ!`+"_a=9H<?9B3+[ ,IXnFJunX= 5-;=R<&3cPV̸ؓ s7zuv ^:`:Q;= ?j{:Q]"e`OX1juded.pyHD;^m.Xi[psb!mrDqb;0/-}:ȕ j=.2%9yqbpt~dz}me[S&; gb `kS> %_n˦WODK/-YYLv,3H7j7zx!ɞͦ?Y C`ldvD dcȩ|Rm q$>8+کLjH54l(T)dΑEfc} 68| u&͑R^yį+l"f'KS*=o_ȡޭQȰ339"N2NjsdGΛgw7Nj pbfc}lz;Q=Hmf"p`? =u:)[6cCQt*AO 0 AN/^Qk4 W6s/W=CD4R=p|EDKOZaKvxdFcL<;^uN43q&58ּhB4ܘx(24 [S@+_d_3 |`.6WSM&M2:(/B`lp᚜zw*x$rr>S"$.D$R9C}BacLSf ZKEev3%|e-P.8L3 "Ŏ%ND!8N=α^lg=ĬX+< a9> FBGR3ҦQ?14`N*#["ʻv*@3m\+v:?VGr#T;}X?߇*f%0l"7|^' A83. YeiUxa2YA? Wno 1GdRH4`"sE-u8DqƩ :0ggɲpGՃ'qFX_60AL.ݷ7@>o6H"Pw٫DN |GnDaA),Ns6O#0/%}uG1k CH8Y q 0i_(ovc7jGHccc$s|a37:S`ĖULR,TI-D ri*˪ 8E(mz:"\Pf-VCy8I\$6iKS~wLEZNتg r}:1RX&T)Mqa2ؐW7YXI2->E/+R# qN mmD J VhxrcfR+Q $ aqoWն[~`4J-2Ȅ0 /sV9yp-"+vZctp^xֆNsF@(| $(!xBdEqa!Ev-IŃShj90yәLQFK"p: dR|7R{s#0.?<^\݃,R|Ncp 7}p.QG6K)T3)VjD\8ktS8 I/WK4GޔB!#CR](&0NJIr!KKO_v등iNF+"j"srF OH#푖Ei9 IYfC+qH ;s]}3wF0 &qnMϿl~VyÒ%1=3I^_7?9jUI ',2W5\qq0oóf{{:pS#ƥQR9&YnuEH.s@1>qS1P,x7_k$mÅ'ySsx( Ѳ qDQ(k*U2OQ$:X㕤25Wư¸&5$ʹKq3p {#3:Bdn#Ƒ_gYΒѸ?gE)O8 Bb[pkwJ>py{y{}å3`NoR'eut>]I{i+]޹h-"2q^f;R64Gac v}?*0iS<0TOSsTu f!WM~'YblV=b/o1^HԶ1M;TX%qԇS7V[ԏ) h;T8BaI$'W@vn3pZq< cˋǠQ65s0ɌqJܣOEE2P*ɎpP^=`R_w䝟*3~Lx`/)]8`3Ir>kIL6e)y:&ZH&CvԚb'u|ˑi")=\8gw"/7^CR$R}zXԱ`K'nk50 _(F-[?mI:"}'V+CO/;_-e.721yu,{p  *lu&\T+h^Ocgb(5W@SŸ* ] 6d#dq^OJV"n+`fp8\K@ʞ#ȾQIr*9LqP 3' ?[Aw]o^$LF`IܧϳOE\^<m6oɏ9uat3v5<F?)jQ[' 7pYg_1'LvђUu2LWMypgcqyda99piSNks}^#^̢DzDIyT3e3LxRWswϔL۳E?4&5N+T>"BIe)Ӂz&៑vOՐ,SJ$݂!LP?پ+eZM#H> Bg-<Щ5K`OvK_x芁i]ƢT?7z,xqkocEbas6+٦~1%rDhMFhxf*aG2G?zrO#,&S7ч{*_X~y4D0xGJ{aՏ^QYv2_EU5~@HJٛD3MR<tn_Xq3)%^s=5pwD0x{$v#Cv_4/m4L̓؁̚p&b~7)yI2/w'Ǔ\!zi^G͉SSךarq[y?8r ]d楳3){=X~;iqN0x #8d97(b66!|e+8؉}4 T2!I:pdI!7N;w;f͖-9SD\e3~]8)zݤH0r\57'cYo4n޿S/%OjmGaK:& dԥ4Lv{m-Yq؃80!&sO6MgvZa^/3T`oĜaw?*jIef,`!.~>I3BqF4̔U5OYwŊD𨜚M7fF2N3gv/Ks_a߾|Ńs ;AZݚZ-F3v(Dy\HCE~ &8k5e( ,>6VDQxD ix~_4tpY\3P,@2Oyf 6od<('I|wŎ-8_%Ł: `7Vxm҇SS$Ou-2$!ʜ}뺨@E.op%[GQMZ\-E=TORm-uoܝ/?, x'f>;h`'oV. jvW)jBL )os򤡔@G퇻aN8>`@RF G b`Rp,t2$pʰTwG29)2lF%8^!~b;SKL&O9x~M_Y&ȮyvSL'B9H)&LZ63q %#m;dVMM"Nj$|FQk ("{%d28LMýA(߾ypA`{"`D ٰ[5*_Z]z1w\8l 3vū3( ,a$e[#K$d%0<;H78dsfBɑMOEmKr/HB|5IH5P_D٥>Qj&+R@MN5x5bWGR3`w+)\GCEKZ" jj=.~]rRi(KX`&BaHW?[qrF\:qLn2υ03WɂRL>0_L p\wRyXDj!rsЭ.˟{l%ShNԔŮXj6KZGlSl"j~'//7v[N889V%n?Ӭ&]x9r4}uMfvQ6tC845V~||J2$ˋFS yiEocoCaćb.4$u*Gj(D"= ӊ@1aHM"7NrXdc_̖rR@f'+6p#Njp'sQ /'2i-ʘKUh pUh2lJ?8ąSHm(]xm&հC^ },neϿtq {WwQDH}z6kOE+X`77;GRG}YfR|r9ƙ LsWO9vǁS؞R8[ô$u9G)׀DTM)8Nj2Z҂%F1~霻\[#D2r3!τ/b~+ i6%6d怷D !$>(S4$Y(H!afReB۶Z]ֻ/O@%9fM|d)J HH΀gpbǨEHħIƍҌr̎&=զ9`cD%_a9Ls¬#VAĿFnǒTaG K/N0~%J6ҕߟn>iԞPeSNDNoYmf;υ(|\p6:ByYZL~1G vԩu!7[O־D41\pf@ܽgɛifEH 껤IOB7KxF[8Vr ծQ.sJ浦X<SmO&Y޳QC,`[5 neAqQ&q(~2 V}]hS-AkLGN juu]$</v(un@kRtfacGXo?J+Vu&{dB\HNm>Ɏok=#:ܒ1ng D,ecjGܽ%lq(V+TZwJ(,s30XFD<<ɒdaܜ{ħsl!i̠3+*miU޼`gn.NL-L awv=ت*ݲ1F#Ns> v zpHsm FM":y01& rFN.n4b߯η،OzG^ƌ6k&7{C>~] `&r|σ˔s녏q{l=Ҋ1ABZ&-yyb(8݄8 |x3<5ܷ4>M=[v: QS~>6 q^8&>a}71e oɍÆw4 hS =v[9jo/x=QNA8[PZUlʥvs}yxKC8;},/Geٜ$* Fec3ILE so72ư[ݬ{JِrؿI"RjA#nĘl\pp`H|L3b`aMAoX.DS}4H旋[_ ̋ɤ.S<r*E؇p>OUYj3eyɂpfru"?V&afIb/kq&Y>^D"iS.CȔL7Â^2j69P}2S#VNɗ V)jŪ "yAxI'π\46;'\8CÞ;Fxw{!ϗLl&bңˤp is%ݪ5dqErٸf9D  Hlo7GeSdЈ(t4tvSGiT3q p-u8ZE&" \򦓲Z㦚Te"݈tuJexrM|;Ir=75%D2B$\H8F2؇:HVݻ װ1i9sFJQHʍFBMM)?V= k;|_ A%R݋lPǺ~zLϨK$"2ɄD  X'S* Yb4$̋E8Mٞ6όz:80dzwZsa T_b$eUǃ2S0a4<"u3^}+U;qwG5Şt^Za,9dwާeHBe!6ݞ߳y(<O,EcSM.G̰! d|!pm@-_Q$G쌭A b`g{ o =VW=/}"c:t oA3qN~2qbU䇅m%4w @~x\vcj}|( :=`A+S[af²82ՠuv1#?I|5DqY e2f V?6V3ZQi\'2BvSqͤh7aٿT]"+ױ$Wdϥu0H%')Lpg<:8 ӤE"P nV/]P96 D}?7Ng;\#\bp¡ÇF%N4<'H`D$J+j|rU qbF-qK@ wfkΞ$:LR`0fXΜ-ބ ޸- u/ph*Z єy.4qt؊c@2"0aRVW%lp] KN) W5vMXfoae;_UN)!P]ulmb 6 S\Nj]ӜnJZ@7e8VTJ8sʎ!?^'~ˁYt);[!KZ-7$ru^vƑ/' [3P8W8hu !}&zgჶxGN˫6πcLܨ5%ߥ8Gl%KD*caS+@M$nA ej57^n*rn,E,K-X|bruu:04˶Jil+:]]b4,ů{cz*8rVY!RWIVCVuhjp__.n߯y^m9zXg ,rF퍚T "pCqe"aբ5J APlpB*_!d}jb~vQo޾eҏNl`'AMP%:eEjLK: /_Q?70}l96`avqvwE9n/Xl^ moW l~Se;#+2-$VClzqH<<쓨L3=amn3*H3XW'<}Qg /H*ΡoN goA^9~p)ЏGD+FM"*}S H`?N iNcJ9jVSͬ%|:F ?= 2[ƻoZ22g qrh3+p\^W]ł]\zi)$e!"gW/0_싺5 Exf3b13^PPG F yi1HL* Rdهc 9+ia*f)B\B[&n55raT%mטy(@ aB7N[] &G ETƥU <ׄ4jT&L%i &l(Ͱϸ6RQaKL,X>m۾շߟqS³?6R8Ϫ-b䔎n35b gQÇO[! Q7y9Zi8RFxet"{DxV oqخNZ[c#i214,:^?0Lp.ߟc˨f"a+/Wk; !]65-U|#훥G4nL%)Ϊ/?bmN}8Y#n\Q`"2é%= j]kÝ% D<.C+窘 χb"VdI5ΧeM֒mqo7n!/*]Kb\\ ah=N"aHRVCj"=ZVYKW3T1u#EFitԳce`{ps7ް}9N4G*)0C(K'S gޱSga!h[JnZjqG<lukEtB^V;)'#TΝlV,xR ,_~$͍JĎ ap̾6d=i%Afw.k )I13J] V,I8m+= Kؾ5Tt*P@q@G%Kmo>m'{H/BPIN^f,(!dyz87ED:KՖ ^e6;;݁b+'{VTX*|kaVU$|W Q҈Kd&h[qNH--cu4|+piZ&.IYj?OUpt2F0n6}Af9dUڑޑJ^eZriswn>mu jP3cƠ>;`e(5%0_I#WaL P,n յdlnb*Yr?FHC`$*fGjϥyޙ4MͼMO =M~asjA&wT@X*miьC[KjP*! ~ġUd+G@znri{=sC}!dLr:ݟ}KT l+Ƴ9uk`(Y0??JF <@s~ɌY5S(޿_3ѵfJ,mdzD}hv&#&ЖylPufП\-=(Ƈ-@Qa8mM%\XmLm 9Z9^,JOJ{`"I"M#U,B~/W&ŋs!ӈgC٪k#6S{[w^醀Q+ qufM y8hQ|2?m\<7;f$P IEA r8D( i6BQfEEڭ>mϦ۹5'#ɕ,䚇&G+W-;8OZ Bƍ=rsqq w%-;x13k?Jyb!sGiN#9 U;H̉톱0U{'k=F+8XS@7ޗ](>Hecx2GH-prΈ>6_6O =JL2i)2U1L@ߌ4C}҄u۾#e `̲{RyL0"6Gem#bڦ q|TGyF@GP胛$iP'}Csn<DBH)ĩغz.nTixqq,$Lm)-4J9нN(yE䋁aI5lt` Hy:!8~<}s^ 6q,NTbuUnKMJ"[o}mEWG UaFl)1U&/_+)d[]EZ&jH*+z#z8W~8$3eJG-Xm\lhIQ|\0(=" )a:6t䖱5-(N0p:t%H`/ 5[Q> ;~d.zB|`kQ\̀!NhD>3AFy$7% \K|}wv"W2d(jrN+54©)D'3/ @$o21+AS|*7HR3ղ͒a SX&\>bDlxSe;FVZC R>1֩1Woh.9[|OpvfF6߿ \˸<}pPl9-=$cbK^NګƴrO9h[Sl7u]x@R{E4+dF s8/<"SfQjң&,6ض, H3)==c\ۯv''O1)8R=/kQ(ă3DQ5運!]טs[_wN9b~IyЉÜ &JPBUQ* <VY1QK FͶQQd\pI؋Og aȓ2ll=0凞~pd[l~ͳ",zV4,.%ph(#. m"d#n0= #f?:ZR~ooMfxɲ8If8t30V|(|[|}\ZrecC1Г> :aB]/ 67:Yl< LٔWX)kb\Bqnsk tJ/Yx8ľ[ԑ\1kr/2#&˪ ,i-'H5bЗ" [*Sv` ,(C, Ljv->~?Z/Wiϋ{eFG(f!wM5MZ0c"+14d0RkkG*-1?Vd'μ|ژ(CŹ+5 <*-.e2qu.-|Vfqvy{^yhq ~ MO>U (H}^QMYЏ`P:YV"3/kH MdOH hy>FD0nKOՄgـg@Lp;J ~]Nͼ܌aj#;Qv"+7~3vB:=99<A=6a(6|8k13ƙ`ed R"/aYP;T$ϐe"4MyJ_F4JY&\PB$P̴lm0UIG_Ũ(JNjX"̞mXdæ]~O5F.:6,Ubj޼[0ϞގN;wO뫷3[8u,j!oI2=OvۓRlx4*QՒLƠTk`rD30]_þ/RF32}왩yb<ń'K,e :бrþsԈ,)zS 3$)'kF[a%u6F>*^x-zwlX:[YU][(jHp+RJdtܮ/n>|xP~$e`HTje,$췥[lIy˿_=XfX1gjF pl~l8g#lV9& NRf"_q8'Ϥ(7v |dxs#ᨈ_bz3 fZO+_8ŖE^d-p"8@;XG1iƓGm!)L#phq1n m$/8knܘ0Ήzɺe^7-ٞ߻~Or}K8{z(Ԭo#Doґ ߭x`ٌs". a$kNd6aT![ OVS ldk ?VyȷhHOKjn;%[7/[)?RKei4 }^ Ҍ$S,4d2R5]KP7}&'DJ&R͓L)!KC`vċt$0X3c/U dNUiuGtƗ08_ˑc@&D=@cD)C?4N喉4\ES>!GП2&WޢnwʇUXhpG *A{xLj+Bj} go^[/_f>M8Yrv҈s HQPt:>NU.ÿOL# 9Y-J"8Y;P jTbN$DՄ&v"MJQQuÿF,Qʉ`LA@P*O~~]/J{;{Ct^AffL؋K.qSPݓ0USRyuH!^EL= N:APwxA)Y]dDٹAxܟ,| pIq2y>K:ǔF+ciFDZn]ءx]^ffC׃~ h/A0]=)n`XLqcw;sIG}Ed)XȦV 'Hjnnrå7Y_^"7ؕ.T aG[_<1IM\8T3^{=Oj-yɧwc-b,/;(T[KهDv#N+oñ:kL3]='hOk^H1a^8 g z+vy(( IY8NefT>̞d _an{9l*tɎ4gJKdFfK_ g+~_O~7!h YtfwIm-\¸s)f;V; 6bwjq)!i qpgDjnMgr[N`׋wT=3N#X w϶jF稓.kJfuQa˝),)bf VrQ^L8Umm+L"hX6U4Dqy IF._?xMubv#j3iĭ[bk(=֔KHVDv^RF%&| e{ybŇ,tΘހ;8Y&2ˠfBs۬CiBvquu03sjx-óOe9RdNM_m4LrUD|a~o$:|"M![(xX/UX)P/Ϸ uHQ/զ+ ?9J}Y߱ͳc/'F[pU8itQb OVhȭR<\wf=^osiNGOe.QQ1 Gi;b=bW;:\.$"a؜2"EڤɐGo 5Z'1lvjQ#3@stNbrϹHĆ!ﬤȍ'rF{rmJ\Rğ<e`HYG.:Sw$~q'b Dz< $Kk{簃R HרC 6UÕI-0ql"6gG!SpkENm5`O2x#SkqGf4yHEbux}}b%\tlX!u 8aQ߳?iׄ}菳ˎ!J%Jj"[5e,K#, E%LU8wKD͐i6eÊ153yƋPaYZ<6b(@NUI઒qSkr6rwN==|sך<˜#g fjbRpTTNir2!}nQ.+n<7Bڭ+LQ}>F!U6~-EnȻfLO\=qTE-0V7rgۛ#ށiJfJԪ{ثA xCsȠ)ŏ5Vc+XY )KMx0aLj,dl^5:>nϙSyʿyK-z9m#G8(@w%:deNNgXkTˋƒ:, "IlЌFvA=|xvxq/eJV=J8%<&Wi?s-,!.3 /U#~Pb,dt6sŔBjd~rҴMj9bNtP'NX4)߼~9qR*P\pn& Kr?}Ƒ;)t`]C#^&挩l5 ) ݭMWX[d |i^&?o.{.ŏviJ36ϓ xj˥fNఘ}OgP;BF'|F_e\NhȜ(r 3Gi7͕'\Y bT`8($ab$ ƎMKˤiJ\K(lbYffQl;VG*c0hfq#._Z4 \/szv$N8>VZS޶:E3&AA|q::2g/Nh<0 {l(ud&PΊa|}v>)ʎ4mWb O6g&o-5 Ai_%|C^l`߂+) [ 6;m?/ū]Tcw&'By+hf1vfT;L4T80;A6iGfx |0 w={gpDQRpTv#XO%OSSMtΟ$PHŷ96Rb\45 r%8`%>!0C\I$48ز E߯a8 > or/ މ@KIهqG^I`g>#"l2lN~{BPÇ04G qn7'* Bncdu7ʔ/ ^S'f{ȏZvXqTm%RߘzCUp D:t Yf|s~:K~A &iϙ6'^,Uˀ$[l!:|> C<<4|0!k)<{R3[ k] "i6 >geN$'_H#윲ihFTE˄7cL(|G7(]񰍜M)Su1F2 +v#BKp2h2"\x-"3|K ̈́JBzH],2[elxp>3| odqxح-Mb jRj4;/1p2df8LY )P~Nr۰tAzj̳#eǥ $d! _.~_ua3G!\񬱋ܭ \緕##k4"1^ݜ7rdDTXCXG@ٷb?_fV^5Zv| @7sy+X IKhAr$DTZc tBz`ΊkElX{ <6@3(YiC̮֒+v;qŰ+?{ uusx?~!bWX1R-P6 m2b~{,Qb N)2?rZ;Kd/F3\>a[n #n :vqWa>6{cYdӁrSzTXmb*Š:xuPӂoYY!SA[K{Saܩ0E y$(' a8lgX&<ʔ 0+a;GA7 7: ]줢s O[!naʐř=ciBϢ$gvo!)# 9Q`.jo-MM6F?DrΝč6 !?4Rȑ[N1ERK6H^M)B4614JBEm^.N4SnÁZQśN f$'Hla'_s`:P)#==)(aIYej}8CM3o"2A Uo/ ?z|9OT 7"F$#5`DGze&I1U[({iL‘KIA Ɖ"ODi0Gd,J7İ0 u't^l: gH ~-UELk5+C7w4}2waqJ92UNՂ חWw$FG`)cgűȶQ3qdq3$G> ^8=8|eIkJ(f&,ٰ(=\MVOpljkvO,k$Xq_mvh<؀ZJ.wGN%T1eB('I-ԫ=ASY5CNZll括<JAշ{J1'3 gtm1ǧ-6.m4Qh {`cHN7x,F)h9)&p#Jf9;fca#9 FSG"i//gFQFqFoi9SښZZPὈal űTob0˙LLYYeφMy$va9Y PLTUv(l>=>9iI8Qd2 /V֊Ƅedj?z8{42"+Uj"Pi9`(R% U$_d;&*R$0OѵL7%6 W^6m\&7c[K:[Sk(}ck=E rGF5WXOmd兰zTE ̢[jlvd?uV0 pXPUûדĻ UIٯ=!P,% %!ݧŹlo-UYI2*j,kn93EʩU Z jIa!x'3W/ސ~;Acx=ɉB0"9u,3uW|u<$9ɚJD}CZyqQ8SOuaO[j|Ono=5}h^}rLZ+D"GȦOaZOw"0|5x#K(2L2RRU6 'jͣ["c#e56WӬ߀(,C=~l6S^RhI ^$9'ZG^ 矨v =4i^Âmv($4 (VQˆ_8Isljy&M5_h%*p? 3 !lnkh-dx\؍%޳F"vxS֬)7UV $"|$q ^(:S8%(Dy G+HaՐ_CѷK]O\8X!`<{fN }u4fUQ'5hژޤA(Z|vBW rbY(?%%\ fwy$3$\uqFg:0ox+;qVĶZrot @&ew%0حb0C~x~/1j쒁iT8}~z腽kqxxr,{0Ia3d!yW-Br맟Z|tn)ܜlJ6s48|GuQ+({3;1(8`=d=Ɠ!(R,~<bu`je. ؤw<[#le[ԁB\$gG|T3С6-3R0ooDi&afә "4pfՖ":585L^LH90uܯ)ԗ>Ȏ4}FN_ǑB9uj9~.$2:F9/s%2 .+ܲ~=G[Y0RA1)M(@9FGB.V?>> :LpFirsipLƟ%9h eM$6!v=$BX:5dcY*5|' [leh"WlE:0dɱ8r9^\RP -2:>l?~:ǰH`YgrLQ{+x{l'j=XO8wjLEO )\"{jWrwݳy"2lq3F&ro`= <$QBTOֲ/\Ժυ(:KrHn[>s) vwԗ"6ՔR1kTf02K|ww81'0vKv26 K)qibi߿pp47AJ# ^ +>TζP= RwlT%weF{qkG<5Oƪ4Ǔ"<ٜ\0f$;< KIc4+izk%{~mbad,GtrhBW󒑶IsҐ6jԀBXSd,gvy|/.x' Ykd#1Ux})}d+z8>Q8, HUd^(ʥ0/;?bmfYb:byGRd%wN LgF fZqYύSɦw'vZ7=cd uI֕mMHT@f\ơ-8 lU hjN'zw{muzV3@~/(f%rq*ivÑaD%#rֱYZ 믒z4Wo`HnDSa*}Or)qhM 1MLhgR+I~uy.y m 5\6TQqlS@9AElFlh$528=IIQ ?j?QL a|u]> 4ѵ@WXS_={|0Np!MJx^`)'EۈSRz"-QyQ`S)v6q 7Xlha=e"5\p)D6ǟ0v9du&M_!5Ynj \bXjQb7{z{'8[`d+gtYY9; "RӲ-Lyk͘91&' S38zr\u(wW_c RyJԙ裊"|Lb݃iMRf>Q-{P{[O$^ߊ(6,tkt#T%c4^*}0xڃOM S~JRR԰Wc=#V$b7{V |Ĺw?#Q z[f/ye",Pv-ژ p)^ UIj _J.Y {}cXF"FYZH'6ffu;%YVkbJ!%X3m/2ErPbI& ꊙd!Y0{{Hw7|)sXSgye{s!y:vhQ֎䖥lōMIMYI$1 va+P;9vt ǞqRpv~_ ;Dj2EUbda1:whi*3i9e* gx{}z_$}d}Js PXgn)GC FvWz-7NQ[ cd fscN>C=]\SP3EO_dcnqb8o^_^/x{lae{pKp >a_Ev" 1?Pgo4Ū]_ZT@n[戕#ѭvbޥd*OkM5j OF K)DMmkqm0eAmORVhxJn.l5 od"A ,#TJyir$iOϟV.~p`qgiqH4KE1Dc r#LDVk  u )ői#%N:E[⏍h=}܊Nr*li]S_pS%I}}HƱ VG(؝Lnn{O-ɑ.sr]:@>/mb' K4%KeӔ#_ 㦒~n4D-$K7C g3X8õ > v|V'lXM5l2iZ6[JF6),ƼufB}(@Xwj#ʼn ,˂\NDHq{x _h4˴ Zc)U2,D8+Λ< ZNLX"$:5dIJI@ͳqٴҩ؉l9$fy>|ۉ+B3$ku.6ސ H_Fc+ H,;H1x;Y9Z VtspDcCp#" ==iެpdfO(lWg4I c?2}҆ݗ7;䛐v\f]eCz@՞Jrik}˨0$=XV0ZzI.(DlM95KW՟ I/!MQFnee$,祶Ud '#\'R "A{<3͆n9jr-\;Xs|Z1}N|ڍNv 1fcg5!ل5(!'b+rTz)eT-?\3#>N pM!B|=SDCW/"g  x6nrX=[,(RKAa}!1IeRtVh9ju$y wq 1R~1C96jVW̹ޱq|%Jք?%iԑyT'3 \0Hۭnï_ Y\5STŒy>\ v(7̓"0PxŅ@vJT T(㘝 BFVLyHEmMl \8/֛כ?yigŢWeAGn}{AȠyP{ @p\Q8.Vߕ !N[fAr6d4p~ط OX2_ɑG:jj:q-hwۻbۿ Q@I >SJYz犇nAT:%5j&V _l,G7s*\3U~P.?h yƂ%'~llFzG2!IiO.If kс0YRXQdj&#ꄠq*n R' `)RHZllX#3KX0ne0t~8.LjJ I8T,GedF;0K Oք 0͆ od(;n}%d$ D6ÒddSMȆcNhpV^_4eL8[pTq思 p,ц")KRK_^JΚ: JeU }~ėY?LVsfodѩ ^ms|>}:g4r!lH~AN6\,}&:0cppM<<69e9p, [iJ͜y"c掲Wc #EeD㓷(.t DEd&bF]Ί42J{ҫX0?.*GX{a#,ybH}I#$! )`4\x\8DK jꨓC< w]ˏKln)/rpI,`gc20l6~^gou١ y|&IXq(7ysjxEH,q7f.Ԛ#LVd8-8f8 hP;\RGz:"&G sSz/xnI3Zz4fQT?ω.bgbne Gj\V*G(u^:-?/I)s ~noeMtDy'p/Vx [.|`1JY1ld_0YXO2GF# 0fol^dT{q㯿h5RvVc%ʀ#$kľޕ)xa%jlߗOJ"n+)($ 6`g.: W SMS?iu uʄ v`HH0NGAB/d7yyw8:R.'ׯ 6834F#֊osf@%V!:)LS~d\_\caan!YW 98 E11=hJjV !g)=#JQ~ً{/>#/ \HIea Fu5N EUm) sUX<؉V)ң7ߙ7 xZ$nl7~uxQ1Ofsk;6$XDS#[rײ൮G֐@^,*U8#eSkT$E=FZgfSҞxOQ_t~{jX㓵ĐܑAVŰ?&p}/t2E$ŒmTEWrS!1z.pSJ B&(WC]ЅHշ|aޝث.'E]em-~:7́y~bVz87v;J?3XTl kcq`N)Vj*+%Mh)Ay; YHdv0-EuJ$4]F|IakKOBaF|PiaRl>1V( !|"Ga)fY P!=;ZWGFK!JSƩZo,`e?O)nOG&"}H85pTz{+cI)y/ @!# -pƣߖ14p?>_ZU6?VFRC(L50{n),ʉ,B93Oň"Y2s Pʌ4ީpXA]opO€ހMs6=ĔGv)92$Ͱ=>_$nCc /L6K 8*0]yݞR( ,Cu'N/1IUϢ`?TW~U|g8 ֆG~X )rOR8Kyͬ@7q!hD8RnƶQX&\p"TTȜTy"졛 ~JnLѝcSdޮ_f2Ϋ9Tǥ! (\-`^,G ?~ }\mN׷OztQL&^y!i15|OK_**|}n~x*J^6Y+>U$Bg_$oa1ttss?Puҍ0*NjKOVn?KS~N27jyQc$Bf{v}aibUjmzs~rp8iwOb"?y5puw9ZG'B=,@JO I %g@M6%n|> b#ɋfڈ8UcET8J8 ;XvS4io)<(3nE4 02Xd+IhT3I텨 ;"nm|tx5gЋ ˨@|,ʚϣv}OQMc>ʦUJ]bg'2s"Jk҄6QF͈T1UK aG¶K/YDG^$ w_ҼUGm]VlR2fga#Ig\o~\qc8ΞLL6K׭9|u` eC Ňgo?m=bk$y'[al?2Ymo %[TDd#eAL8TATJPyǀ'G⍒7E>]X=ot W%"<1Ȟ%Acy+?RtxC(1EB0Bomi%ipF#x3oiI/=H|w`AyIǞ+HH KY3lFnxo(Xhe(-CNsdpl}lt0bm ;q .45>8_$^aW<Dr3<1Jh7 YkK+ScV73Dx3f^ᬗ> J-ZT裹NnwRo:A,?Y7)G;o2yن")2{m8b37Ͼ}fD'"B)}bE{ckm'A>SI)?q ~zxĊnr}Q$φ% JϾg備KGe*'F*su94[,9T_4l<|߲mTFɶ)xܬXfw&V9XgX>~z2X(RR-Kc\Q1g2kgIĦޗ;;9DJ C-8Dl$ZL5\H|؃nwPΊ5eX<|_#L] g3GQlΌYAC3*tU4-sJexQ gt]e[AMʽ[8݇űQcmg#|*Q9$S#@_^Ds` UI!3ѻ۲e n8,D!t9˹qQ fcEbCWrXqy)ٳzaXĭ&ҞWe¥nݱ }=,g/GY#-[ #Q< l% ya@;t9G3ٲ>/_=zL_ ?Ω<,[5q`k#N`Fc ) ~?Б9tV>yĮvrAgvcؑƙ 8/G b j1V2l}Ti~lx,+V?mFS~%a7dJ(žvl׽ IGJa6*cEݎ^d*ˋcI?-cdb.!Jru\#U쩆 =3<1/ 'lJ6 y#XpIc8f9eqv ە6VGBTnO;~;ǖp<9'gN}!B٤_串؏!Њ&\2&8! A\ #ї!XliIgAD#9 (7dy p;=BtJ+Ho,*qgkH*D!h~^N۽Ԃq/w~A}TJ.l#K"+ %=Q^'=N%nu{#AU X{Pp9 x$J|h)GwciC?"gG ~tcO(}JTX:3uiHnF涪x#\OF;1!"e[!.T0%p gf#P>V9f7`g%lYLN͸fIc4I:5 ik’.pMC13,VfқHT|Ae?ֱ(}|RāNF Wl?>O-`+U§>f+Z=^9myQ#`=[@`ܩf{86PU7Bqp-%@ 0v}bDx(g;8D/1_MQ5/ MJl8z OGwi{u~lԋmQTMxjk+K1]"&b9i64d #1R% ir]mnx+D|)j@|J*trlmK.4q@tb}rJ+:b3zÏQܡbcq[E $k@ʌA"n{2^(Yw)kSumN]Ƕc˂~*S~EUb k` n`;Zm4-S_8G4J3I.$yI>6Xݖ=ʍdāhbhi3 JTR?z] }aW0=2F=hd9Ͼo>]K/Frs~6G`$Xs_Y!/Ȟ} pn7p8\l6Wql!qq% Ӷ`ܴH >@md%G6mAy7r`a({^S~?9 MG$rH5|œ2zHS'%,7#.<%¢ܱ*՟壤^ۑnNEzi…!Y#W)T30έoU{ېC!ZP% =K$h-ѕ[eh6|Xf ei<w#d2FIʾd-b WMT!g<)+FuݱQ&]nS˕$|fBT7kؾg]TB Bk2v8BUjL.޻=8h#Mt*#wZZuݤ.a1Fw̶Y#JN#*!+SaK> R4u#2}BZ@94N VvAGՊn䬒6BS| K:OU2Z ~?əD!YC쓥#MC1Xs2$Z'oF" x?k0źrw@G 1h[B2q?!êI8}|vĂ6qcz>~B՟7_u Cֲ1` DҢI3xQ K86"b ,saQ%$rʡS@gg?KoY4˜[2zljk<%=0D!K  `% #BBO/*@V, YFIlp`XOsù!z5otL3)|R{TrI6fbrs&L83L?J i8%P8lҥׯ6,+KL"R#"n*]&i8ʙJ6TVn-]˿B9fՎzf;FX7s+pd=\HHgo}Ҹj$zxNg+p jqoR;gJ@_v JX5UNl-"ܦiYT0#0-guH5"aQ8 MTvpTeR-qן7Gm1l6mFLH;YsEUMqp~8y멚N)SòwnFs7z܀c9岁wnƨdZi,3C{7lր|8j29S 7aU`Mu*e'aU'` `US%$}lTYuͤu%QBA@BI6R9?̤- n ߲0np~w}O$a'ޗ(ġOo-9 Vy~Ǧs{G.KP.)בq)-S'q @¹,:0Tˉ)6'P)"ADa삅~>*LE:DQ5D,L Q#5Wc&BkCeq,ٱ{ݍRЁ#N@!N ?pxfS7o6FZ{)]3@cdKA,ep3o`H"B &B0!DɊB+ M6YdFoO.US=V#Qn*Q%8V84YΓ1+WJʌՑRx*Xc,ӾЈ46Y\]Q$݋YWYS eHn˒ɜi0TN}tSΊ*3-2|IxYC<ϯߞ4s#9wis$L#{G+לDqxiLh6I0>8ԧb`[&xp]Jjp>OEEVk+JIp2٪*XIsqX&P1&RSq/}Z5q:?#m ?u ˨龺ܽ`\TU)"67DZ)|;"1E)jEпu蝛1ߴBkEDIL[_ݝO5Z`>] ݘ0S'(иQ2b9M,+HP 6ͦ9X|kn>T,Qux6sFa+q-+b<Q"*IFzd~R-֑SY[\?6t[ +Q&xʱ+#5-%f@~*Bgi㸐#D'$ ?u6) ķcfRi@W\2G$O&[V3Ήi p™IB5! I.%%@Xd0.ʵm\b[P犙j|Fɟ\K٫iq$` %y\M&-ъn}ӥ>/vz5'%09~esHv)o1g2k"'wcntX/悎z.*VYx[Gc/3?&K@i" ,$qޗqBǯ֟WUsRTKXt8G}>]= "|3JSLȴŽ^! =ϛ罹89J"L(LEV3=%?׷/۳Eg?= ;Nj3#S7 f' 5Y -6^<]r9Y@?+B#[sl_AXka`˄Jh:L|Z4 醮0?^5J$py}5 yF$%hKj hJ\eyK,x H_E ^gH#n91|d#CKLxe' ;ބKKB7 V%!:W.mLy伇-1Hj0Y`9,*Q-C kY!/`r{v s:&K""7Ia=)=8a9J%䞩͐*!45>::A&XvMqM>줆x1Jl\#mbX@2;Jm3We0n Qpw}#n^yrz@Y f9F1" Episu;ƹ5!f C[ xz¡pd7^nWusY>ي?.&=;wTpz8eqʆ`Mf.K|Xz9 dr1'󚢣D=?@)HY[F 35)b-U7T9u =@++xK}c)ɕ'́G] 5vF%gpBO<7V-3sf>|Y;d)F1ivCEΕ6fhPǁ `@-k:O}zo9Y!7Ϋ 6OdƔ7 8 vasQ@a Jg6ejSV-kjm,7ZtE3dT-rC\l3S#Ghp8⌤;cDZ_7O9oU" % i („ad0JwˆԨIBXsM.d!b7ް@zJjd7N0^Q0j]/z0|nv*!qxjr-Lts)=Uzm5I)|)ER=ȗ"1 ፗ;nϻ? 6oֳjף]s&fR%@|ìI=RÅj*:9.fFk6LKVzZ7xf6ꬱ0+䎲]Kq,xp2g`#"Va(OG|g٤ K2>&(ƱՍ0&bq 7ow׷9G$_#anJ/rx[s1Ū3["y{L4)r'?-I ttYÛ;ka\/ <甕؉G˱)C6r^8-V)ģDP"Eu`}}Xl)X6Lu?S/5݉,ınG8^&RK5 pҟAˎSⅉ͕d>2,?5`~ $mx#qsV]K}m2J1f b>NH~jw bVԉESa%<@X*NTf-Ip7o6>PÛH5AS>-T 1ʗ3ny u[E-S91 w;{~__=qSa`~ n8RnW߮6–$xih0eZRsbw%'P96hώe6֔WbIm4殨`:`藻/כ?)퀍'vlGÿZ`-['1Z(Df+"MZ<$N=)5Ɉ~x~s&|PaXKO2r;ks +mak}b0|Ԧ~LϏ\er&YaeaCǨ]MV ġ]<;n?p hU]="kLC?RP.i$|V7 jV LDX`sl$>Lߛ4Nv5tmMV%UxxT 00 pfl+z H,HlUꠟu?= Kowr[uZMͰTbZ<9)06Q\]\'?|W^]p+VTd@΂,~)ObCg?]>w<@sK4V|>˞N@h5V')F 6GTT$ NүџT;*G@@Q1k"0ap&.W8qi1#F~=j quI/~mG6ޓ.;N?;TL7p X `!Z"uj[_ R5ӄ *mX.]"rw IݩSZ#eɣٰ~l|^g^=|]N"M%j̑jD3?Pfw4)~5Xï^_c+^pY l2ZbA m`[g/on87CflGq;㓔uC}?g'X8Uv1VO*@+Pv_R|8YQYq+>읳*&JoBXY7fxNB\WH ͆58&bzo۳>%YA*iDK3ȱUĞRaLqN*vL*ba$fy]N 'YTL^i+ED@Ɩ"`Hhởh㔜ӆl3MQtN%Ocax@a5Q;KmY;@+QylUc/!o,131dd3 Ue =OPYf/<D-ү!ydDVO}Tъ izv|xDSEQM*<< mOfhwD*[@aB1=)l,ELf`1LB^?\Q.G8[SlA6#%hotv8KyHyTE7/8ݜÓo7vpJ L1l"H4۝޶uPo\WhNq$D&f}b}6„eݬ=v+^v(1GNܶ>W<8뻮vM$O:F`Q)@)Jwf&VT7R1BI#=9'8e0=ήn,Xi\s fW|S㐯Knp>Vʘ^`^Ŀ $T 3E'z.L7$, VWy4Ȇ RnUቪjd2rJ#&O,Yb{l 1RLq=+йmP#їI ZID8X%8VyB~#:ں٤WHܙRjb ?O쭖"\?>ޕ]oX JiIVHpD} ?\76b8ʲ7wͬ)y/]8"OxNnn7k6ݎ,smK8nfʹ _ؿ^?GT8 ar+I牌味\AKq=?Mt Lje]Lm, nh׸˂4ijU pa I>YK[;s&@VC=i7ۻyԌqd 1LBehr8;9}Z۷{|{RpL%j8ύX4Ryj8?@Z()lXfOLC ڞ.??mhkʁvuz'VH,Hty[BAZM&-ʦ6'WT cáN8hwJI qs0ia|W딜ф,*ߛkZ9Zo O^'g3bs(L؇:OqY3 I X1",<2#gEy/Ƥr9 \ >#92&֨S)&%t9 oqwv7gUک DCW!)W˜3swVzuϫU\frUls4kVgԍj^jeqg'4aب=3W`1<`=.\&1ќ)z"y[mn"Q3L7Kb;&drOFHH"{h%$;Tޝ.IK9[8'GQ,"d$")$A4/0R*JkRL(AFTënisn%XVR=뛤BHxQaǩV`1Mj8|Z{qy˷>X~Bq#3gM˥YBqy]x.^/}g)(:'zr@-ګ!L3DI.Do_ǟҹaeGl$[t [1@v0:*&කL'?q;=ʳTq| A(١ب\3o鐁##4 ۋgoEKoχ^)IUӀυD9ͩ'v:c*7*ogj+# #fU7IǬ;q ټ9#.3X؞DT^(։3Ʌth<$9X|$YOX F3:RL\&_3u ͚0+Rg !xڬ2<$u@X+‚ $, [mJvY.FOkgًx'5E.wֽt[_ bi/Ezn3[t1bq4Z,*3z2Y9>m7=m?|$N")9Gl-]qdUd:B#q졀))FffW1"E71D#M*-^Бc\#铌!2}|B1>tkN>_E:{Xތ2=K \g_o  .t{\Hi"cY`;5 @}x,cPKcl ce恽Fi! mr!9EzSxNPHX?KMR8Y?y~}T`8Vc%%|8*F-t _2tIY7sʗ5Z5aӰRǿ3Uz.23lM81(MV~#峖d$䑌:%tJ2BrSEdfeHٰR'97҅#IɨN`F, 3&R-yY/='T!O+4|ADyݬpdz\ `s{?j᤯!,g)D !Jhy?* 3Kma9$6<)ic]ISrNsb4c]e %(2κB4YṒ&P1{L>fYag/%Y/G")ZVgLsd[PE˱V eEx i,w&wRN)gd 7*;F;lq8sN5{hgc"0]-1]MX-mXQ{y0aʪQѐ|R{Ղ+U ĦΖL)iWU_`3ߨ5X+VmabRA5Lc.3;o.~c{͞"R39%D6${Μn zhW'Զt}|JQ#W'7Jk/8 o߱!ˇrBnpEsƺ>,s!b6# /~#K ז{lAqglaFDh'͋ݗͿlEszLCH;fD-z:~$Cʱ%I85v{jY6vl]hm*iX(ޑA(K?Ť5/(j,P٨O9K; ) CS9r&pTf,f> O _~͌ΈycرfZR*y!4cȎ0,k<B:K[EKN&4|Iz"h3nh'J fG0IQCw6#Ug_wכ9ڰ~П3_r4RK(id*MFT;)F?i&o834EE#`t}ݹ}_68/V1iqqTZ,c?\~̉ }{ lĮ7Jf|s4%*lDR c\l}}`'6if2EIg~TðY!%a\m~z, uFɉ?ַ-ɮ5jȤ Fzcn+)EFl}BZJK.\#gIzFrׇLU+8}aUӝdơux.mYx;jq8Ij2K8E0! HC/ܓ cBr Θѳ5e./99]pjN70lTdϛ5أp@Ǧ691z$)+ N÷($%1cbS3RbԂZбW7P,(؊AIU3lݲMQ$OMh٧ɽ;i{z7@wG)4IwBj]`[v Û0HqUjVVOqkn$*J38D$go7 "FkQYyBi"9˸ޡh0 ,09 7ɢ1#d .qIGjCMXWpGdFřʑ%Ԑ`uI"㽋Ւ73)V1zxs9f7-B.5<*IX=KÚD@0W3-q$`gxi ~$G%*pPރW'd̒Ë4w )+x'C` q ѐ,F2\jelٯbw4"V0 Rϼ a~y*6Ÿ3FIak$d?#*R#nFR8>췛eLF:-zH^oxr\zuPz27j2/;7pb'72%_A')Ӑ9 O$)\1g\RǮ210*;}kmE(WۅxÙbËa$-x1*D'*uҼo@O]`V9)%ɖǴ /CL ZrW! u{ZXJ_Y4XIELJHBȳO)-hG쮿iȣ.͏<7xulvu;|VT n8na'oǞU5뉅XΆ|YX +&&=$"%xdWNDM,MԢ᱾\_=@bYYTKG|'k#EbI49$:f nQlve”!-Z0^F F&,U4JKO`B8Y? {{lθif r+*}汒H JQ/sPt.K'H ӏgɍG3M,# c AC9Ù ndMEb9,B,qkKYOCڑt3yd[=9q9qs*\(}Oir4bǩEp KLz&cbJ p+6d 5Hm&3`wy{ڬT]ƞ]Ol*8@6yƁač?x!e =6p\݊&%1<pWcce)fgWu4IZC>~{r\F2Պ̱J#@Ql?C~A9ɢk`Qc "L|G:aD57w2UE3IxГ?qFll'4),!Eh2(GxSTO0v_D6z2bqN\w3B}PsWw|c%,/l8d!Al3LJ0/h9ד&<2a KxʵcF*LUGʮo,',9zw8VhI&(`OK. l6]CT3a%ǂLɆqǔ;w:fߑrIteCh &L ѨJPSm:JCWk%kld@d m_sur0+|/vJ@qI<Չ|#2qeYN˩HSH96qRowqz̾)]m5}Gı,OʆW$Maы<=oŁ 6Z0Ѐ1ݪM `sq 'Wѽg4;޹0#W #ITM}imyq&Hp+R`=ɚU$pa [`* ^F2Ï=c%1TlO&il3Q r7Rw/|,,UIB(0>ejk[? nnˤ'ap$}^HrY'?g9k_9;m}}0r@OҖ=M"+aILSгZarF;. ~J9tS1+N%&s+Vaux-g$i"pڕ 8wcU> ߮#7/R`ױ:5yId0 {IK0C">Ȑ*X\A16DL*1m( 'BDďfC%jFXlZ3Kȕ8şv,',å@!M~,At[ޯ: d%x:w_.Lg/.Κ .8 e)&(|zí.a]H[fM#SF9T#_=1o˞$eogiYRTjaj1E:2j X˿_,#,0p*1f`W=7u?ah~ز\Dz>r:gVB(?s!> a3($@w}Hk$SLtPJr D&KB{0>/`xZ J"Yn7uÀY 638yK ~$Vû eKiRnb3p<2`5u&1X^wQ3Z܉¢gxB%\l*!/OJ.WCˇfZ9/Re5G&E L\q-x;73XS > %86"j7fHD3"$a&\<[\ٹPp~q,YŐK,39j*IȎ9+\K!!%g9~^mvk ٪șmp"ydơ3l+3IvoZRGI~?S0Ar׀4: (" $ #N.b]jAw2拔{Lm{Qo% 0W=-P3Mic֑4>IMb(fv Ɉf= 3He?ȕ,Z39vg{-3AZ(90d h'\V'-ZBS#-Ve` ~a:۾ګ߾~6fC 4Ű(>nf7'CSߖ`KD_4UaryLFg8g}ÈJlLYio*&…>'fGV"I`52җtN-,­*IB8 |6JD?gR[svC`G6J+|((ƈj)G%Y4F*1lT%S/6FOD Wx=&/#=*\*'ÊY6bm=+lăyT~}l) 9GL8#xOjLc3HFN96'&Ͳ/40|}=,1N6?gFW:C#N#;0:7wzk15' TkrI`=;Ldrdao#QJa@4:O G'c mtd r8zǸZX21˘$ tUrN}ixT2@&\oJ5əh!0ŭ`Z쐑{gXįW#~HILjfNs_l.Ć^>l<]{yˠ}wGq|Fg',df[\ O\[biңϔ<-`6vִ1Y^9(j} D^)X8a9#a4af'&1FXerE1W8Ǚ,]} p&x.HڑձF"n&e\3jwO'F ԉ"i`EηwԿpNT|[ב#~ƅ*IB?}eSSg?w.6ŧ:.F֬SU VЇ_6G:~vc##HR1(-">[otxsNC)'m&wMxڋ^o^}LUcY)ʈ$t\lb)vl6 j~AX De'H6W3 |ݜ;z\լ(;U35يAp R"ժ" #@)^e+r?2vZ R"1#.U'XXTSe}Xbk)3H'j|e'Igm2d̜g;7,."H-$ᅮE-S{rb#F"1sh08@.NkCRHrzY\'ʟ /4.Fy̜K*F 8&=zLhvd<͉:Rb~s{}(}ET]I&i4'8T.YH~8ҋ,[N8΄x!QW#",6}{+SB%VSe$1Z`fvOIɳdpZO\^:DK8y+6+DZ[>7 ߴ(¾ M8:R4DIBN/6x H`Sr\7LS.nCKI*nv F#-KRlrlNcbG-&,$ X6g>>q'Y<;6#g/  LBCd`O?M?E6j%]؞,%R:CQ2Y%16#ǴQf}yZ [,vFE} }B5+><Whn3'LaR6t`6h}vG1qEaéS=,U?'q}ӿ:sGxrW'Mns27KՉ,}LbPG ci ..BeKh&̢dj=?ę)c;_!"wO7 <9O샅VGpbZO/OZ:R-LTaeIӔz/kjI(3%10g8 Jmo7ڶ*Y aw?#xuf Ep{'_oaNw8ؐ;6sV4K1Go-J4Rquh] Ǹ쑬hqIX ;7=حLJ,Ύ]WAOJ:P:v),#!5g 5&` #g {Cg'\Xñks-5]b *H! 8x g)o]> $QSe^^ )IE7o Ǒ *ʶ_0j m?N;>3|F́ixYʞѬ͹Qn8G"p9VfqaJӤZ{GU ^ wk‗^8w> {]<ak]:8w7<ŷO*)~Y6ac%[5|CTc>2{s= Sj- @!9NWW֖H42l+Fu _]k7|cMR+r"k1'e 뢃z亠4*,v𱖐)9G!.V>HC`5Ѝ̍WD"Bp(6Xdgo?r e Aُoޞ$,3;hy2(U}q3d2l .F*1/?ˆCب0. o#TrQYn"#>= uNl^I5BKLCA{&׃;>K8؇rI8G_'!/bxyHGL-%x878>vњ\Y!̰#s^6.GoNUj 2;>#, 4Www̤<-5ލ/fo>STo/:_ܭtkU㥌L5N̢F.^=,o?NdD y=&(ƒ1lq}s;4)wC o-ϗc;f|dܔ{3?_D -E!wOehV抍Du5IZ"v,#HCqm^2VrhRi8ø u2r{u} 8k}x>#{l/v藬܋@ ,^dډ~ƅ0e=.Kρs >|FڬĚC*+\5uŇQ|^OOBoL;gCڈn bVK؏i|4WT[ӗ:皩'FΨhj.֟ۍo,-Y|J:Rʺ ZT(\wݻ#[(/nQd)Q_8#'BO_U]ctUgNQμ ~5ьnaoa&j}lLLg죌aCCBy`6w̓W]!Hu^k D7fagua:?# $Bpv^)i;,*̏B\d֦I*&|k;a'(JrΖQRT~m>1YM.}rṟR%::Z:HH1ajS*;P!f¼& m&gJ/;›t.}t^ٙ-,z=S+#;`8}򑪀)R-jJEp LycO1$#G,w?M Otd6 @8?% z{&{tBGRmBbjΗ892It?6Ar I@W]ʿ>IQcTEL E\lllrGDw?v\Sy}!=4jwF[EdCQNc9$: 5HN(lnY??6XH?˼5p' {(l$>QYl]$D*%|h !?vSnyٰ̅;BЊu2U,E%}4ܝ=8 c?BS~MRF8?{;i}了2jO$*bpj5ʈik|ɉ{C :M,:ٌ2+:F؂ҦWۻ~dn?o~# G$C^F]%o\5l|3&dwyz+2OtpdD&dϤx=}a;Sh8fP( HZ'h77^T WG,QVx:H8˲L7╰EȦH eK>/X(&WMɱ2I76ҷ=Vf)d8j&HlG:^^rgBPxp2e0Nֆ)9 ==\?,I+bf)f)0ݯSO4_%i"P7q7ؠuܥ1cBtۻO /iB% zy"ш&%V%>: mdbOlNM>R뽕a1+nwraUe] \XP챝82#``7swc`hŚ->E4+tpKMDVӰ3p%\oEDGXBο)3IuYë4LLC#g+/MQF:- Xs#8V1ˠ83(&Na,S+y=NY{cIr֞xq"i{۫rN>.VH9#K t4 Y`'- L&+vdbR!!kjH%btQ"8hOZ[nb TQLɶGi]IFZΆ?d.;a͙ nEmp&#(Ya(^U>)GlaQ[yZ+[m -~xx+B'ʼn'bx9'])N+Ǝ _ v<:̈́38,dWWF[ulF=* eӢtD;!"dqE%ν)\q{{aV]N%بs*Y.]8Уi)J8s#\N0B/,0s}Mc:o09i+,>d(P,ZI58K[Pf1(Jw%-G a6<w wVQfL}^M @)̾/2xq@OnQ@LIHtSm)zL:Y nǀ!uƹ, k Xgl^#%f"nδ Ո4":2?7տ++,"hgUIȤ-Ά"#s8ϱȤp0 ;#5S3x7l!f%!E+(}B͓'S*N8U^e -Dˊ*D[MC-tCx'db4ATx^ccрP+-g Id<.D:F2Æ~Koי&o&',3̑O3 v=8#J>@_[]MW2[7xr#W7߲-<ĤS§0ej1}\BHY:n3.\|Yˋ/_xN T~L;_޸ w #XYQAc5XgU hq)^iOG; n&w3  Lԕmb5Oh^}DQEUܕJ]N\ZGZ7YOvu$zr2'M'3#t΄*5UmFLu)k`#y1gE,7|hF U*]@JSP73 GyjQè yzwQ;,>5݈ CeY=4<_/{n e^ZI;"K"NRG*zCZg6-~j*}qe8S^̯98I6cY&)I/ø8o`:M~%uވfb8R<+u2+IS٠ r*f3e)pK?~{T_Wq~NC4 m[exy2Ӑxba>Μ/rq7WbVEIpeєۨؒ:rH x4jRWO݇04~8(NLFUIpYte{i.@u? Q+fn$^?9Č;Dӽ2H)Sij$>oYQ7L) Xn\@XHI,"rlU/զA" %&vºL &a E8wu s qG ПrJ2G_/+y,j}qM ٺ`|t0:ēSZ !/ձBJ]`KDe /@=Ȃ˜3;\d$YfObKSt)w?M|?ߐ$bYS<0gx#Qr!*7K\VPYK 3?2Kždm5 6r&%3зO:,޿=Nr6ٚ6Lf!A0cq/\Iٲ8"9jḶE(ϥc[r5x_%Ll80?- S2V}-,0UlS#U"H8Rqxm_zp{lqլ\Ym_5lPH sg{/i9P9D8- oO*V+$,>FrH*BUB-aDON+$B ]`1Bc[iM\4KlO?[< )6aOIKC̳L4Jsu;.yMv!Hm]`9YatԭdG;g?:[~N^<$aW'IEGRr1·3v׳y~D)GSgkVF⥐eh xy}%lf鳘|XY*CL# /6s{bkյ?=ܼWjh&s(;؉ mY ̣^= !=z]|!Qϝ,ĹSȪ>yN$·i zy(LƓb€F.u0|}6[1!V"dKQ[PPFDtNAjeGSC 3)]G?)|Qi UʢN}qhFwK3rNxEk$NN[!W챨!_7\YGP0! lB8k!a2@Nj-@%D49kTQgBg:k7$p)DaU"31DeP? B_{A:txKf9(*t~l T!')Q8ّ8=Gsi y+ -[#+{Q1 yst"J{A-m g$r.\S'x}~y3RMGF=jDo0I:eש$\$-p h1r|.oZ`sOVSQ!VǂLv%ji! 0}fP^eXW2 Q+G; |5>t~,TS)y=|RMR&$65)?^ZCPZBeXg'΍tsޖ5eLkv238|/5lRT$}g&qu2^j2Yҷ'a [zL N}^.dcW]T])뛂44iMgY#Vzt!;aNpxNNxC|m*N1m$3`[!LqH DQ,7Jxlt#m"9Y`'9~ _͕G,u\h8gbbx>nX۽߯ώ, >;0 ӊ)⪒D.=7?n$:ߊ,Iɑ| el([A4ww-@,=$) XdqwƁT6-zhen7I4||7sd) 2i$~bcdQa6if&d/G[t6r֊UqDv1e MNJ$q[zb/_pTc mPUUZYZ g)iz8;_'[ FqTjcf^LMo>Ymc 4ljpﻦ~#)i_H5.S\3[{iRt& 7S9ibI6#ù+g?o9C%YAJs[jj5+DRdR@3SH浪ңʛlԠG psam6H#+u[BKWY`$2&e,j8~:lOnכ(, *QٲMBl`'X!q{\_c!Tjh6||,YكE(@e6wyC)g0s .%Cp{lҞ8ę=+STs AMz<=<̅O=]mӔL|~c{kslh!qrhM(px|F'@cj|U22mK^p !i",xb1jՑ"z6:EЬ4Eԋ͇vNX=&j8R龹a>+^XO,)!zB]{~w?(Y:e2CGX[ROhWjJ!&ǸZekw5l< X$_hٮ m ;2*&Cg{\6NHV$rϕ!!SYg>5k`vqnA%Pͪf+71N1J wc9n' 86T (`/2ֈϛTs #eh>@}++08]Ɗ+vV*0/Kt% V?jqnJ؃Y(4_A#Oz}\u~gYJ xxۊn3cA5 nMÍ\0, mC5L\׍'E-Ԩ IGjWٰ1HiXd=1GcyoUZ)Yy4`qvpBDN poAV܈m2Ff3<=d(չ(IV.^<xs]d89t@P"pH@dTAq[5??Vٛ!r}iDQ u) I֑#Erƹ~;FR }:(j2Radcz'CW6qFY; $8sJex~=[NJ%=Ow:7R'Hy dU yCвJSRG!KDTOQhEӆ] siVI-3܌U!?A~"ٛOQr0Mpp~4/R&x`D73r4)NBnHĂrƵր!?հ ptgei&] LdֳQUtiTJ #SD򆳑ڜt=m.6En% ѥ΀P!U(<͟Wq+<ޠ(G3xٹ{IX=g]X2 l6E, +Y؟ݟg?oHEs,ާc1# !yqLYMSUzqc&,9+Ÿ`:Mǹ>oYC)B3C)xxa=͵zgWDM RU)K{a5<0:KJdg#7: AY*~aA})aM\HG1B@|]H,tJzjkX<Yo\2/HXd"2'١Rqqb;(Oz-a-@t΁ s2 UIJfg8I>*%GTfPɏ-M-:dY@tFg[0}t򚨇f%״*ThKGXl9ߟ3CfbuNe~Gd}& 8!sB ~9BoZ y)M(/C@tuM )Fwّӂy}}~Oncy .%5TcQEA/˜f}G<~ g$7P1BD,K501n yѪU,l; TjlLQGPU?jEIfDF8s,XI UqFEA?#KMeH')l9":y5KSdY@"H ;*BGWZxԪPg%(]I6_E_=%k jjװA~*Gnp}D`/s5~+U_rHhC [Q!eY39v806z%mv"TNL<~E"_d֢Ll8h#I.sbyn`4 i}._?S"b(Aae.;[JH=KY` ǸHH;NdH_쮗jTpa#/|fnX.9:}B҉b.^9߰฿GܰٳjF(ƫ86F{pVE)2qRGxBi5 $ʏb8KNj/?Qbnv2P$sg55IhPqdGnz2&aB~>GuuRd9~ըA`[(Ւ+~/r oRw]* -톝VFy/#Y3ŋTN-rsw{B;‚Z\s)GV#P >/6Xblj3ZQ\lto-fŪ ǹQjQ4F ]s[y=yyD{ӱI:sP|!X[矻[$yc_(I -xֹj}_')dUWe麂# %" nHnY|΢jbZ%0xݣ,\4,?L6[e j䠠ѸX qd$˦g=xBiUz:U4Uz*ۻ*<@T,cUfXУvJǔXW3GK@2#M$ekohF~@$t,׭j7]-kd v5Ք@NJȑBˉ~xpy_onw AǗo-F*07A6c=?A%g#VoB i}Rfl? 1@i[uYwDT +"qv))+%kJ[i"JhBDN 9l,0 .N#' SPag]S'F 6 4G72PJ3cdKSX7^m4bY `zeOIPB<5r.5$߬E"[@*ZLFfGYM|>Lԉv>sNjn,ͿS X?{b:k@q|W}ퟎC[W0OOAT`(u;N~dm Ur\3`Olyb) Ԕ?GF8Xか 'q=I:$Acy fB_v;hLxEK :Lc1E7!~➵;ذg50I( ɓ]R8WQ1e8]`y!a L ]zHˇzw{Os-1dG\<@2E;@\EbD4R3 Fë=s {'-lB,Mgl2]NȢvg/(sm&yxdA&Gc؏\#'f}/g6v2S.V-^m<\%nm/Ƚ񒞊a1PGXZ^2KͩNL:oiQ_?xON,q]1 زA)+@4KAYoO8Jg2ً$AxpVe("]5(_)㝀7}əl!7< 8[L*O.b1Fl, Op4ZecP R.vSu; e+ZS2,|vwg;.f~8؃sIpYlZu W+[eje!kM7zMU1jHDdvuÍ@TEK辪s L3CFQux>zv}n*TY(SgQpYOB_%pJ#;zi.xdaQd`pb%hg R-d *R# P50+qsșFjyVX`ڴ=R_ƜEqQfa2.R+2Qb 3â" cfY.gߡp㬁upVz*u }3RTkDM? /k+\bFd۩9PKǍԘ{(L5vϱBI C{q߲w{`EJI)\7 Q';6fGLXa+T?38qJbih'EKMP:yo?M6R=ZԟľV`lg|Ot\!VU~m9̒>I^KۏeN+y( N gτp"+F>ɉKE6/ =&KO'8D.Xɕ˜,!a֢sE,BF={2?8ؿ?@|d]؊w,3nr ^ :~Mc HD6E-XMwdp[;a[RcdWKh3 =_*tUIt"ٶX1ig$m_դ6#N_vR \Ρ=FUʻ,U g'ₓ+jEȗ,ׂ(%*)^#8F+xK3#qR(@v0I7-"0Q_ߜsB|Yoc#ss&E,#+@Jz__v>?=9I'*t6X'NEUl{Ƃj,wZ`hLF&" ,ƴ` (> isaeN ZCy+U܁K,qmY3MJHIPR~9 A2.d Ej2k6AYըgMIz}">Gp?gY{bft^T\sN%) m]?1Y7__5y!6WbrTuTo[NFHGς)6"yHF<=SDU:yJvqi E[ڒ`s zOX8::}zj Bi^׫xn(E8O7t_ ۽9J D}B6IGYd%ЎTn -`]h %,6GV[%9tE/_?Z&zLq:%&ٲ9R1۰q쇗GGsNyDG* mJLY] +08%OT$UR#G!3VG^!Bō(j%i![# ek=~;=JZEhBOLm1ԭ[Z -݈vBD=8zĺ%X>ulЈ~e;Uf{~ҫM!$j1I^x4k?NA<6Hrڐ#FS}yGlICGhLJBcfV4^~E 1EzNKg09 lc2Tj2(V9YCXT4tkB]f YKlC 1YF$lx1&0ZnTҬFJʶ}094c樶BY)Ue=cG,Q%EG"wBT( Q4 JF$>?NizaAK)ZI*FXc2+&>"3>NyA4Y,QH1.}bh<1r- &\KK+[d5t%V@賓 wJ Lp'z {ZQD8m?.Uv,NϞ ݒs33n:ƿ-%q od@4ıߴf%Ӑןכ<\-(of` #Ryp$ZNĤU{ Q<3rJr5ސ|rFm~~4 #`(_dڧ*Co&v˖?$D`u*?535K[u>fC>FĘ E-]%kϿg~c_X}tz8@ 3kI3RNՈxwߌ1b94>8`UQaP= BPB7N")*Klߙ>l0a:DNf6\$^9ey YM d &g /~SHޭx(:s<"p'jJ=}"pGMV:=!Q3,p&,k r5{}q n?nQN }+Q1/T6y-9HN:i5f\i R0 W3hB+w'2twq'ޚ/rg 5ǽ)9e}<[t٦p yn1RvROBΚQJl1.YW,ѳ͌@xb47r(\ʹ&"x% ǡ<l2 e]~XzړتSR!.} D~i@}MQ^ ۑ5b4z^P )& ~yy,^3#[xlU2cIrb8T5zlfuqdZRK@~uoUD a+'ߞIߋ-E"mH&qVf1th\mb~$/Qt\drYCru?бY8zkm6CC^3 9e'X=0Ӝ^57D0H 5?K +G\gc8 PHG+/8'/psXhV8vv8?Q?;۟6]moח)l:RufHKďG\V 7guTg0RYt;er.?}*ouhEC_PEa#A}k2PNɀGQ:$#ͳA8ML(Iؙ„Bb\CN,P ;68?;QޜfH h^,ensW%,; ka+(RPj*f5'T!ꄛ56>%LrZ-ZMS{$In,<*LփP^l|@@94rh8A#fDG2CyxNK?`u \l׎!2RNP+S Sdx fmStN3f9Kϴ:ve<~1ݯ7g{CX "Ř(!mu{+YAp='8Tŭ[)z0 LNB:|AlY=j,F7Dg7sn),8Uz/BO&쀛{膚/a^%]xUWv)2$ 5j}+'kt={]3 ݵ"@˜juRfF]ߩCXQ OGZ"Q.pu}HqBj}߁t:/[fL7~rcs)5's(JAECWF*'^{ }QDZV&Zг:-(dj6 A?4migbGJQnZ5'BDЅS2P=* Ȋh<5 LǨG'%?"SE:+,R]xhcR1'#=G[z=51h ̩%xg*;bCv%BuHfGGR÷9AjTJxa*>qvi{D??n۳Z}}\-U9PN8ԴҘ3n*s^bn6 *s6pP+~;T8EkYm̭k{35v(ꊞYc&S`Hw tY%O,kfS4dIJP?ӷz`{=t Hat5Ԡ٫7w_fDP̜Ԙ@J ~ %oLWF0\┖@T6Skd?YhQ57k,r Y~'"e՗W/<]-,6+cph4a ?Vm+:X3 +~B Rj` "Bn?Ë`awc/g5oe:.-wx>̭Iƥ݈<_̢z~<@Gl{>Y-=Aِ0K( (x{zYA {wEBL +#tlsG.ĖoyqwV8vKY{6Qq%}[f_/}))m<2e13;hlKDeJc_9Ib%}`Er d3^\PT,_Q?)/&9t_9" ve,L9a BmZ؆n0ԫS-d%|cD7dE_ F%͟W)7wwwŨFa)$dNPV#$OM]ĸ1KTϥpHWȆ+\I[36/-&R(2|S۵Wý oغֲacwszPKݑ(8I NI^hyz0EBdbE`GGv,ӣ=Y2sf׷48t(*M)H>8Z)tB/"4E /%G{C- D33CRxx81V|o2P?V: B 4h\O qRklP'~n>a$ER^"/H+dR65X֭ .\rn /; D?~fIY%*0;"r"&"v(َkM?$ gH&(Ƴkwv^,??҈_T@Mt-98*࣌X!NB?w ͸6JLvW<\vqǪRo}{;Qhn}b<-lS?7#0j0Kl˳{xS{83{<0FīEDjߦѡܒ#ʹqLFoVH:9lqdfZXngyyrw~`vÈ?4QW8%TCl"DžСVEKsT/z VGoҦ-w+2Vʽu|zqA @!4CP: |W'>:́MptU'"r&Ɍ@(̣!vᜇHb~}M8O~y<3P$ӬjZi%wVxuЅb䊳&?c%$$%QkcK_ c5P"&O V\NZ/$pnݥ_IwAf7nؾ/DZHNk4nu]|ܙ dAPQ˜wCLx"1[p` bC3 *_knaɆbjeiN5tao-oSr@ K V"ᜡ tNBvGކb6yj/7յ9IU%(ۿ X\T&ڤCGåZ8Yaܝj0nD$6S3$^Sċ{x Oy8iydP ֑"Bdɥ<*yhG`[.ݑ9aS(ZF"_k^_( crX8B-g9<{:^rvE ok\IԌqnlk4߀?l|C%9VO_S ]smo=yvt[_?2;9r52Tt{Kxq"ދ$^E;F:+%p<EXȆqr9ӘH^X(wOB=gdZCo3 ݯ ̎H9 t 8!hjyUUh^:Yqof(j&V7n4MpPiF{SXz4mɗ[ủǖ52`p|y-B`yYdOCHE@6}G0Iѥ)2Fxk|Ҁ&%3WZ_ocSTܙ G3HMZ܉ޘ~xywxÁ%8"'bM*.EДfDΞ3(Q/Q<ـʤ= ¼\?=\tɤLUn:b|=4 褏I GYPWa;93U  d^.we_K2<6"цYS4iP&Y@Ow#ڜYlxZJ}u"~r:lo\vfoy5IFE SdPGj"gPl%-A<UL0Q`ڱBv6ۇ/lېR @N4a*u"ɜP4;)eBɟ(:*&ŞAD4/j. DD'9}+"k~Yȷc*$EdUd'H;$& 3fH䀔;EF@6)HE.wsXJzQt[W׫/34V}囚yG:"Γ)4؏]Tx?J%DݻD%O;<>r'[ZُmI/ i:98Wqg,ůH/5HИt3 aZfM7 9N>QTrH'zkTl=1E+EQڂ&ʊ AdDL}s886T\ZGbENQ(vf瑸+ަ+_d&&s= ƭME\^_1&O$Q3  ) o}Pzx}, b +bBBҩQ\(Rhx~لJtZDܼ址z|J2߷)$=cƣp,M/WCv@lw_wX "P!YMknzֻu,LtC=`y< W(lzRwƙD:ha'*(Nu(׻wdF袿4࢓b*V[JVMVj;O7E첮+ MXahÊ+Ã8(pES/yE~jdb R*ŜOs(t{ys?)d&z@i/,0K7{shl%X4*Y9,~O' MX͎Vq5KbchE$q~:dg~U=u)2g15*d_$>݊9_*y5dW4([;тΞW"#leUb8,&Knû{SR vF HF.ˎu,`n*g-H_{ ڠf0\9ted[[L "-Oc]ԪyYp'D|Aa k:(#]r{Se/,־'ڡrOT4GU,*yNC$P748qH5ʖ"sm9V*f#qs@!Bܓ(i)TT ,o XQ`<=odM#a D.3|mZTYT+9l<֤)D8R 8D[ԣdZ)^.w852`:dFо:Kfnx$[yMR"c aGN.~B@>qNgsiBM'98ϻɝЗ(ta#s$$*oqÑ.@R5oSg8If$DT3l†@szfTʭkt7\,?|eMoP%No0Nfrh0+bĻ%Uhoq_;TZs鑱}(|h <'UXH+2FFH|λ)2XGt䡲PVW+}H\Fl SIiP7~2>W5ΞK0N4A<sM1:)h"1캓-}dZ-{,gjo }L!sӊڸR{c_Df>)T#YY"'{9~-6h6Osl8MnEp7~aYBܩrDs+Vt IB ^Ka+|1[78UL2f zN :N7p"VIz:r?1MۮGadLH+x8hBOX_rHhta^ٳ;A \j_.nTjW&qWi=~TK"D91S")Ά)&Y^ .{8W]0_\6<RbݤnXK3{%;EE[3S -LB2v MI Ah[PnX "j​HCI`ӛQe ~6rOegLʏ#=ٱӟo9u{O6)"+16-gf'EϑGD')zTlPBoh} =>Y=a#Έ_TXarbL^309cϬFaO>"`o^lrTkzg>|徆YBgH.H5YxWN}łPl y8h͏ˏxD1?k͍c7 /1jLV,$";/XE zS}5{oQ/Q7@E8|BȲ.(ݎ'ʼU1Gڣ1#WxG @A\ř~( J}T}f u{?'y9bˉ{2!b ®p+v³jRÉ~}dv( % $q}fF~c5lWՄ!{tz(L n6d"Os&Lڗ80TzFCXx~M'hbޚlo4SDa;aà<y6N'N $ h'Dp8"fmʘ8ŊOtga1e&>qekaD~ TT3;A?*i ƽ u9:(A`oc  ,ZM>Bs(~>TTlh!OUL@+aO ˿x` h-9=: aV߱(ʮÿi@iAD\~|e.݁R(Ӯdi O]-|)m9(vx(.FnٟL h"EZmb Hf,ot=Lt-7'67;">␎9\ U6us6'DaQկ9&RXR5)#ڛ*>_+B L>{lC|ûM$>&q"?|qEF-:n,dkt>(;^j !A fy~iF(֛Y8ܜ1ÉLޯlɑGo8U9ĂvoEnyFR=TkσK`G p"x;.&ʎjjf7 8ʖޭNyxS[CATkQzٛJ_FYRsjvZN.BШdX SC+X ETvP4{fM(#MQ@S3@P~SU3b|V{Y J=*.JZPݔڹEOA1WT0"'X֛c 1#Ip>=#RŹS"F ("J?f"`J7D5Q&V]pmd4^(X/<= C(Bg&+D*VMޣ8;]>Ez}%,0ďNYpPܼh8; BP*Qދ`KT&*I ]:\~ey(q?/GQ)P-*UB쒭a4_ϙa}п?Ƚ8ٽI$CLJ{YWn>>2c@Ÿ́.H\b4B} />n<+EL@1ŶdcS$#\E[|y8i2- M=$D<9& ҙ㿏\HN|^=Yo'|"9[d)|dAawZ=Ǔ|YR˳I'˚,/*gMCr1R+77{ bߏƎqBTxRlRKAÖZd*%RHNH>CЦEF{A(n$H֍{^}Z]VQ6Eєԫ "pN4 \o{v`^.w'f֑Ғ%ITP+̳TM'lO_A2G|Y>Oi{OX›oD(qn2˨0/C3>.ɼ.ZEQUNU}QJ|bnEUEX;/"]Ŭޗz~8{o<Y4bSY q6JTfPC__/xorBǐ|Ԙ-j-F\6$=FD6zTLbw_7Nu _gYL:Ƃ2ms8\q'xrF@/4LS:oDu/ Z,1)S^n>,cZPt=0VMPÌޘ;pG0䍋ΑSdPz(Hn{~Tv$H߄Oe`Eײq|/&'ʿ 貊i"=E836>);p}XR}TSaccx,^= y88niHj@wcڎ5Ojuu>*((TH-jgXUB@\WwwK@BBr^2*zAE% ;x)EV xTdfV)p_n1 d/e.gsTHĤPYVw^' L&)-$ae95D G l&#_0%l:<24$ғN&擐MWl W*7 Ii6>PnuzCΕ 4ep*(Pgߝ_//> gXޭooNF3}}Go DםF* GP0ڿ+O !re<3ᳱZ*(b+&2z"3P,uLtlzz@)"xU(cɃif{}*E#dlؐ2gL5 h#O#J|߾!Wxe*]t%04ulblir'Ozd?TD{ Mz)eac[[;S*[Qmp>Ą0{l8|seX.ok&=ho'lS./}s֝{ mgUu_Ěԟ+\tipfvЁ REa<-&xP V{;=|3c[_N~̋%6U 4r0)b5q5iM_Ӆ/C]&qqyB!# Aؼ;Y͈ 9K:NIKE0b !~{<4"gZ咜H9x1@뽀%VL$zBG{i2}Dn=3D[H"ѐcytS;s@4i`pJ+~<{ڣ=8iۢ;, U<}8sºeQX YX*3S znv<NIUFQ\wPojWD0jDw+!ȫ!/3F)i.crM. B,X(Scϩ9BT){|phm^ #&/z 'ʤFo>oF9^g-ŭaG7 N-9'1]w2)3>f.&[j䤅e m, 'lqL9~(3TIr,̾G &i(L$Jγ F~A|*HÇ|y>5p𩣣>6;e"s20P=3h KTQy^H7zr8<"|%|eFO"OЌT~0p~-8؋By$g[ Z(+=@au&8"؈H=m:c`mBn;Mn9S`,j9Q O7?ݷV)gkԄn?H`9oҁRvPȥH6#o<@)%)24rvjfc1bXo"yRh-]+hHq,rK=D,g;k)3_yDuWi!>솹RtqVHnRIl"HbmPET>j.< )@߱PC@ݷu#em⧈yΞ{q+ЧE<*O@Ԁ@z E*-g$pt =glCkt`3Xu,obUu3w)_N (39-¾=UP9+Ek( } bWyVQMEsUISEˤgOԎTn@펆KSͅR Aɪ Lrz!h}n޿٩W|sC"h ` L)\z|}{`k2,(cǛ""3|X^n|!XWSvG&aS =i]E,^~^R8kgMs^r%rIxXvY$ͩ uYy$.rDRn Y(WsrZn¿}8VsNEP `阋r(Kǀh9$;,Ȳ4Sb;(#Bq1wXHן{e\b-5 hN _ ;;۟-9bdHP ł,9Nc:9@bcKSR𷛰NBGJ -2Řd1:XvxVG/qɡ ~<OO8 sKas+XL1E/5*Z\o'X*@zsXֽS -i:4O:'3NYԲJP#Nc7rgnBgQa:k\F'7cl;!P E L~8^p $h~,{cS{&O's tMVȑNC[ 7l凳/2m*6o#<1˒qBĩMK=C[O#)Q$Ф܈A8f+:3nywz5^lrJԐ&l;-D a;H|s=:B m7W]dxJSt'xGc:>C xF맙nVdjQ{D՚{LBɁ@'pTsc_pR\C*`}AKqeQ~J Q>9ZANj.F$G)^npJcR CH:-WE*8zJNt7@YSR`¡a ֤)ԈcUF)oEC͇0sf#7dDkϏ'v.dY֘EIcZ2;FYzwTE$6R;) +RHJX1^^|}gi{% jĠE-Yi~g) 0邢}AT$(-i-UPbMHr5<< vQ~} .9LḄHvE3elB1a^#M = [V >qˏeܿC%+Ǻh;&#iTpT_7]^OsjU8}Ғ0u%5x 6cLB(Nz畖6o?{ج$\HFEJM=sX87e]M 9IvJ !ia e:" G=A4&Z|\}9V#aPšxutDXR i֏'?W;Fq1~ٜhBsYt8󒣍Jg辷b4=+̒=|܏ NzA@CO㛘f5ǚLs2#/iD0k)FJ(pYfBUבIxT}TNOD׷d'fTYG6SoJFΟ7*6Mu I#gȗ)͒QExRt N8GO:ќ9A  dKK\RKO$fPZ>:S6lF0U1eN6 I9>(kK;  ڔh?T*Nfqg|+sVF~+FJ7jX܀$ BrG: Cbx8b7wGlvI+Jr9[36]g(M͋6;ud7e%dGM>%3Ab_s|x}WL֟LyS#os^ASZc再ο^6؜tC, ʼn+BK 05$,̤lIDqY.l- |9uV.U-ÃqlO!@8 E!eV%5ny)iKxThj2֊FUm0)xwݞFhfOS{6dRLZ!cfR* =PN {f+xW)r#vn\8R;q3ﱏe_!ŧٹ7498Ige|Iˈ\ϱLc"rvX*iB"QXA%J[ "-*Z2^:pT҉#%Rf "եlO2id Z zmtrS, ?Gwu*>@,E8b֩ubr\{ ;`/i;/YgXD UY 9ǣQuv_R{|}x|YZx7,=# |塡ѠVWO\A~٬.?3u8xPWLrFABVN!|\s㾷\ 'r23Qy}~~]]|7x/L7sFŋ:;@Z$hoc?Qij eP2'2vvMQqV]G1&(O'7?^ݑ  SŠ̠tHnuL'(rfXr'ZlԀ\l!T^+vo6XS8/*?f2U:X9g t2[}G]6(Ô~JA٫ #|ba*"y&Hň4&XxqeO>M@}@ &QXôptlVi]Rp cLM F&.WNhY?zWMa64rNcpԛ92:( ["Ts=F[􇢐|Hp~nPB5H@~E>:4?p tVW;4P Ο>x֑(RbԴrO+2Q0 F>iݬ6$g;I84,"#6">F}:t'Wjq\Z3G8㥭QC>kC(ٽ[4EpK,; XP΍fIb'5sH aQ̟|Nt{r`/0#_%B~5L(L(1S 2HY>LRԵw~!u ~M eiyUF/-)֕fq#yn& YcQ w(WG*94[Gm9[9ƭHlQ? N$udwSo#'3szG&gõX_結UM木A &">{9{R3|w˃ޭm/O)>b(M4_ǫThxjf- 8K2,9HxbȪM6,ibJ5:9Tb4xH*>PcLT̕5ZQ¡ħtS?swP vQ1Y]XS/Τbyi'@ ԋMزr'\` rض O;('gM#7ؐ)پ X ^tZaT A(B'n*ڙrԮFNZh@A#5SdV`Sm\&ra1))WF'WQ1ۦ=5gof|vC#&J>25>]qLe~cw"Il))ѿHX]I)MgAD%kD81״XPH8 2zRѢH9I ?܌F9*9ky."Y Q<4,?g˛WdLRˑϚ~;ea)ҙS-;i;I I!s17MXsC#&W_6_>-{9v^h&;8Fĩ61]0\BNX44UCW3NQD[B @hĤ8;~S]Jώfyi3ZY@4v=AE V}Znks=A]wMg+<`2h5g$)szh>xDy6Z$(f}YJr}~@g,mQf#ҸT%Ji5 H)@1zT@\S)Om5=8/6#_~ٹi|F]HbƅED ʦu'k,%ɳy@Ŗm;f],=KM_Jfm~ir %F2)Lz,/л"}dQh*kp^C4ywk^F5M>}˵H/TO75qy"5St- A3hezˈfshPXs%2F_m@EDkO(?>Dd vTлpX-B, @}i2Lr[jo-;PopApT,6P6[3$of$f|NpCKt"4-|Cm O&% JG*@֞uCVjrc8YSeNWv? MƠ'RhFi._leC^E<2qΦAr@g3B ,j?@!zcLy>w;xs0#{ #M8 \KU"0<>x3B@ӤB(֒X>Flx'DNyB91g1\3nkl4}bE(DJV꣩$ ~mP}z #vxGឥ76z&Kmm{XΜImB+3ntcܗ(hʢ9Ah OMq57O3k•сER!xCPauj4gP- è{b,ጙ&~ЦDR+ʇr>ýQ=ŏôi @]yɯHlEaIu)uJtddu{ږr;` 4c @(%B(>ZWYDY1`53{NqCwm;Z﷛O A .Pk%wKkUY2e(}`i,%s9S~ u"qI0M(b]w-~:}:as/3;^Sfה9Ip?/wrDH.LΪ"yjƩ;y}lZ~F_JUHAeXe^aĆS oF9>D*qVB=ɰQdT"רh$ )߯& omŔ5bjIbJBZH.< Y2 7N!ūc}w8 j|o4䲵w7_>>}N.m2^JPO @ hp(##1[~xŸ{D)3'H/Yg*N^Qܿ~'GGОPg; #bϢ]T8gzʑxuOo2`/6u񹺾\PI\Ͼ& y a')Ֆ2 wu{|rOQS%oYT,giDnvLa ܻ> G[|ۧǿB'V4R } O%S#ύ$ g,VI=xKD0 /o8#'XhB^gj{R!l#n³%1+x\>dؑ'9=fmQ5!Y0.Vbs+$>@2xRY a\b'h9K}-}S%DDش`DHs8ek߭V'.$%8*W܀sX_Ҏ|8ҺQ SNB D |c~E&֟匆7+x&J‚feu;Klvw:WkgqQدXU*qϿ?p)$^S9Qp$ jwS38ĜQ|PUylڅCIC|*gr,G2vJ<;"5Ҳ\2WRpTbAfR n1%)˥~%7yIwQ\ߴ/f!NA*S.fOۏ"=yRvg?kL uj`' Ō8]˴qᛑxRP@iy>"(7a2uȖ L MWQyqڭ:)n2mh35̓Zb!~hvxOB2!%yfRWq0r:Jtg펩g#`P%jo$g(.-fRPl= g[}rnf\ `H(uj~;^˥yi8%hE@ixs|ql~rZ_6$|L%ߞBPdMMB_8D4E=)\Qg &7A5m`a& *3x9m5'/'ׅ~WX-)XKόʵgW|sFW|3-&Ņ19xB~y sgxBQ"Q!quCn(ˣ_EmToFIjgnMSjz#,S}_rie G<t0~T."]_g2 y,0m Xlvƽ\nW VI(U!ey2DNd|7V(]9`~K#YG$`KsS)<|Ԧs ؚlm*'V> "NFрr<XU▘GST<lVG BxF:W'NҏLU yV 5LsTIhAxQinrq ~d&IT}K'Dz)4*QØ?{oUx/2` Nf}oy첟MK(,jxCk*7,P=Vw;7)wDv ~0 Spn4?e"@F5B_N`s>x9& ׷7p/~]3>&HGjz"?ڒEqn_(#}:?#)&sB\YFr^@ȽxV3Uk#~˴E<*JUсv_74 z$,^Zoƌz44LlrNzh"OiA< T‹%Ef[2/,Д"O<$3D<={ 2cJL/0~-dz/~T_VwwLq:LX&p,FDL,l,}>_Eҋn!l~Q ╋ۄ4צMkR(>I}\ooXEsR۝]`j %9q;)ֻk[~QV8eHmxD7I{4Hj/A}H&w O|+"o7ۙ˔Zl z1n&kľ bd 4|Y8AOF,hP>wSz>{[unfQKDzDj>`#GJE֌_oŖa~^IÇLU@R<*PH3N3zMdOm-akB =+#'gc4;*9} /o>p O8_iOW5z>oÅ8!$:+B4\EtoR{,,X)g'|ƭQ҄AA!1+_q^Dq;$1t>84׻׏d~'Tl%v\Q'NP-)lǮ) Lk\GR7ɜ^elF|.s"?8_FAO@$  Z]!NyLEo@~!^¿qI: w]x61x7YFʥ6OwjK#~ {9#S5?T2?7u V;UEi\]F=AMeP,ӄK#lsҺcO]dt"^-W;,beN7W>c1z-z#F?/,)R[H4C=29/ATnddcY.%1 N91V/9R.&4-gvdJk>N':mm= =TnH=ȐHsqAq 9݊Ti3QQ#yeπ_?qyAܩ""(\)ӓJ ̲G>;e}(}E崂P-'p(#Cޕ>(}cgy9t3=+d9: ͓ YetuqlluӘO_Hrz5#G9cR[HQS*TvK)m9zz83aD* #ʳ?N'Դ% KzkTY: YUF? Xu}!-8Ou6.T\(^UyȰpOG3?8fl,g+!s-SH׷+Јn Âl@ju:X|H8g%Q?h3jx^Q M4_ǜo^ÕcG&͐a Rzx"E/D+TʰuEA9ߖ0Х69Ϣ:, gZ4ӢM 1E 70#%KYF6$L ;Nm.ϑ%Q,SYQw9cSֵ"HE5V]LJCuj){Z҈ bGc9GGNb3mB_nNL`FSGƓ;I˗ry?N[&l0#'-!*x'A;ؽHit7~\$/G-g?76IÐ`ڈp&h+jGxke8§\5*Փ$u9򼜓Y|Y^|:;x#AD*WIEv7LzCA5GN3Q"$!xNtlil|TB< ?1!<~S.ʫq  q!Se#d'YvaYJ72gG-5B fOG?ԗ@>eUt:~}`-R.eؘ C=s\a&DvDS 3%L W*9KaC b/q 2ldG\.EMn7=!Ng9_^Z.bC@9/Ә gQY> R䪋 [d QcN(3BTg=סzV@ꡑAH64ϥEÓBg#DnoŒv#T lկ'Fh'9X"OIYkʐ/}&oe?Y(6d+"2q=d1$iM3xQciO:ٳYmyen# l(.0n;BU?>Q,4@]) M lR4ate8^q-E7{_=ڠOl&T8)HÎգ (VӀͽKM.ot 3+,T!Ìؾ#em81IVH_DP3$[' $%n [!T] -D/zr9ٜC$j][G !'9=})s{9|<=Kdܜc29jՊ!n7zwq{<QR\{ x )P[;=[̿Gn-:L[H'&,d&N D#ѷ)M(ˋbuVߔɆSǁ^9Y+|f  Uxl-ikpS7DBdzzΚQr : 0ΉlZQC/F e4D͑voooٛ=IriT| mqQ^ove)'sl4B0E,xlHק}6V~D+HahftZBŲJ $'=ߟ7-0UzɄfJD2G `9QKOFyβ)SJ?f$' 'Iu $ b]r!O*"',] PI%,{<RBP/,ʼnoÓa˖ ]IsѡƟ6#af7z=exRuaL8++yOqvB^ofɡb3|La/sߩ:r5Q05n(6x"yËõ[-.b7O#Nmw@GwTB!+b;FRrL#GsjHEA7='C@<瘞"SU?SDrs۬oNہSw-UicypS ڴSNHnN0\= ^lP FbQQg])Jco*|(i95KlDrυ{pBֺğRPR cVbLj=v.s%sQf/@IZv"#z2+(]Š]uءK-jtʼnE5j'jaFo Fu߳|^G(i;e)Rs7&K3r,T L#!Qi 2R Յݡ(a/)Ǽ̚_܆\0\c[9Stn%@aW^CԒʼn2n|f Kp/QVtnn(rx8O9)]Y&O=nJDmm 6GŲ!i SPč.ٹ,:zc{0x]ɬ ,?VD/^Qf1zxZ_(ʢvr~DUMr@ujRP Nw_\ܜPl.D,)#>րؒ:9Aa쮶ub##a(ﭚ ;~<6VO ;H?n?W8~?W:vgipEOݡq8@yFOX4N)NK<퍕TW8(K³K]$Jj53uꋗ|ջy!# Ӽk1;ÖEٜh;3i׳֛w+'>,щsY(G;ʤGomln8CX$8[lDL'-Bȸ}0)RUwfo8 z6J`<=0u-~%*#@r|p9L :9]OU@VGLDm%Θwwsb'|׫串 Tu2OY9ȄEc3F,{ZnS_k' )K3MaI'Ag!i)L^toΧx.Ϻ_{9xB4:r.P|vxݑxrPOg5wm( TlG$^>34s kdxCiJ'O./)+/gf$C;F*wN\ѱUX] ں&1EAq=B$$k=~[O,4[5v%|MCJnᰵp( /*GK$7h87|$IGV yd|3·lYmu'CމF)R](zvWm?ׂ(s.HMv^I:urww6 KE~ n싏4^s-"ļ` At3'-9;zs{h,L)6=E|YJ܋] ɹix@7OGG', %Mv NHp6D d 2uJf"SB]HZvHe..{}u<9ODMSϔv]6P*0Cewq-r4)Lg`Y F^?7~~Gnu&=*)ɶ"0AQYyLJ 2n> Y7Wi2G+~H؂"7zqLލdZP1:6aG!^<8ON-[HI@KhJI[ҎC4a8'F5)Ėiˍo@7B@[#P0v B<"٤rL,n<^%*w"h-M$)nG` oWP]q>Q>Q@V71sLObzjyWPc-I[1MA(DYo?K!|z+n)QMGt[ 9d`# P~F(G'ӌ&@ I8w~5Oȯ9Sn)<,\ SR  iju_d\4b#jB iU3`N2AZC7>f,Jx茥O4N= W:kQ}:ŐAYMe< zls1l<qj PSQpj&wS^v&[at[ޙh)HZ .w[PjÏreiR4;xs~ qmTY[>2Ӕ2 $y&Qg9rZ!NUMv\VjSFuGx{ 8,c@f$fhGCوc+?ځSeS9Ȩ)zne"w3ҁ˫֧K[(ԬIDAةfʩF o@‹j݃r2|QdJ2l0D>/ D+X4BL'@%حk{!2-@%n$]ESS@r 'ZG˽vJF^@!kFJklLqw M ow JzE{aUL;]gB}S<{a距g@3DYAl :Ϻ{I(Qy'R( Y+/*#dQhudրj4 jg(l @:IUembbwfRذS8'X~rxNyr4i(n83D/ & ?QiFrRIq3L&ytT݅?oW"Ņt^dдV4FytBXXJĜG Ƃr9o"LxzjU>qrR`׳4/554jF?NH iSCʍbi}1OF?; D,mStB~\{}Z+9)f.'9VA.O3&DrO<6~=yOX Tc"_m BW% Fcc/S]Bn^wP7(^/j~7_qQ<<uAr7vC @?aW~pG0N…K4 yXZS&s\ǡLo<Txa-Z|(k3X @wn^P{/?VE=R6Dsѡؤ֕եm>KK9w1l ] 6N8'eT7-JѾiޱ*Kj7CEeqC^g-QNdȺDlכ:t}_BG"MPhy[[hwGE-߉oV-F+%qĊ/,o{$ճtmS A=Vp~ oڿRWL7Z ʓb8LT4EϮG/ǐ{p`<:D<}9`غFx3p{jtt#ZDO=0P/w~m[AB2ESJ , .C /9.r#T2"f{A,X rRi^wNy=r݇xcGc<ʢ(-jZ#יMhn9^2sTmBE%zMxa#̹hJ('#jfpxmc b ;dS#ϑn rXrS1SB`O8{Z|wPNe Cj_<͋ Yzn~%>PgNWQI\}? ;<Γ5/qǜ:8`QPM*~d#&Mm|Z,QR'S.{Pr;r}~q^zN&D~TFeL6r}nޅ'*ْjQdWf334_8:A'˹$/gnNѰ:;(U~&}%Qi[ JEZae UTt-_rGr`9 */i +TOƋĎro<􈟅^/P㑀]=k}b/ 4o~p$&^]^%m)|b耇^JO djIE)pY=Y%#ͽiZ3)5M) {oC:.S īY7?ij/ur0ҟM뉛б"h$#McBp}!G܈mZgY<#w*pjrTi͓dr)ER,PbT=3g[Txz粵G`2ٵEAD)UκNaPnWp:g1s2-n?(+ֱ "^ E͉m&4xXMJfbsdx ٗyބlPm؋5 fx$\D+ei:|^V̪&dX-t $2:ly.3{P *G*$e<}mb5)}նK =Ebnq*:l <)q#!<T(xn|z{~[]wn s8Et .Qf}}{I86ً_%@.L$4q O|8X< YN3Šd(\@oM Li^X#l|$ΎA1Fݜ\Yֈ:.=+ )I#sڒ~LSZ| + {3 ('P'D~Sj0$Nd.|ڈ} dGG2wS':sVlYs,);`!Xqْ_@vY,pHs7S5 q7?ƹeK6Re1$LsiϤ 3lo>  ¤H*A`b]̀_A[]on ۛ/l@8:GesB [_Ϛhf N{'CLih" ~/*\'k%Tʄ3 E1 k+cnd&Jሣ±LfCA|ؼy̠sdmdKӲP1DM'\SEJ+'uֻ94_#AL?lx g_PIQ'k*o\h"R0kvyiXf9`E5N{-O~nr7!-Z[bZ$SwQ҈Iz|:uReH+2gN%]]rk~r90:VtQ@o g ' ꡣd.DWK4'bXiTWQgao}{뵹A&n1&D^Aaz{ i #F#ǃP4aLF5(Ļ%?|ATlKqf5K:-;vҀoU8CL¦sIqp !$F(Xon곳"|Nq^\#aN$%!rSpgڰX ܶK.0Py( |l!BrP9uszipN-EZFDL# xU[ E~y?O$ )h2aieI0u>[0ϖJ+kEF)O|'BT9Q]a-;|gʿ,hQ$^@rԻ4231σq|QKAg[ԗL" a#nHzbk.u}8~&ڞ{"X*u$OH_m/M cdeP>P*9(Qp_jR?_= FC(J/2Y/)ʼs62^uU ̀FQ+Pd@(6<4߱uJBxDFeCF9Ȭmqvs{{1OЋWyI8bp#ؗH~;=bO~8~7VLoX+ OF!ZoAUvԾy86RϽTYk ϳZSɩXc.LN8A2\7ajh.dƒFwɆbVLv2œ16J= lq% &IBgAG5K,&5Z+Y}*}ByRpc]Mq] VW۳nGg?@>F"!Dd팤sT`x|&kF2A<9Gɒ|NktMx_9LF-GWX8K @+PPU ֘)$#S($BHW"+ m-U$6Xj!>ǩKl??4*޲>_~:iH2pn`*o&پ!TRǹ(ġЮ< nW8 .nH8m3mcލGUgipX<8 e͇^-gڗfbd;s` l]vL1͐5)aؼ~hC(rT#vM2|n>+l"<2eE,]=) Y`і 0bRSd[F⁆|kMo쾺Fۡhڗ:Cu)\Yf]0l =M @ ] 5{Nd9$7Oъ`Qz=B23*hMR*d|);$ _l՘]#q},g{'97B*_x|,/Pvϱ@(;MՒey}}қ@а`3%m! J8\"M( T Td%n~H˘DB,x}([lsHfpL %VLyReMvYcZ%(7PHD*~{NL̶­RI3&Dy 6Jw ڈS0qF?D=MLbc;_o%"X#n֪4'uuMVIGU#ſ膟:_<3ZRu!Η4Lej, OIı~GQBRÄsm QdORz`#]_wl{ r5I"H% 8Ң4i]޻y/gDBȮS$ 0a~5Ul)Cȯ=Rꏅ,E;$qx3͚|^sf Gn4vbAXuTisr{p Ǥ¦G{φZPXX-XwPJ3Gt5k]%bE [ Ye\XN-C$ Oeˊ7f7RI\&7/۽",v0rrx*[iM' NaRD)Wb@Ŏhj똶qb EG ě __P*Gks 5QssȊaL2-VD"h XI{xe 1dgcdǷ>O2%tX2A$/w?ooK$dM`[U Z/m|p"2C*Ã;פqz*U@IٗVz_/Ss`ѣ`@A "a%g~؅K1،]8L+q .b`<2lݧ9*T9@XFHH:TٛN-˱dʼK1Kx$!V ܻ s: >1IZi> }#z-mrN6[@ٖڈB["UA:D?ڀcγ"{ԡ8J^+E|P#Myg{_6 %fV,fH&"MpX..> L3"ʬBs*20@D#o*- G$skbLZrIHvç++/OR>˛jp9j: b>^3P?|Q *-h0ًgU˟3+ B{a6hkZbry^ßmPӏy0"ʶ|21)8frUl8A(VaENB],b\ ƧxrfRk8g퇹Ù╸{$}G+'$}w8p=#%n%31z.$C4)Hpd$aWa'xn"-zlV$ ]&5D5{dqO\ġyb@wV\KF'JDxyU™{w=M`e Hv ˣ,3R=(r~Y5aY(a*j/rdCZw۰%v] CJ'*k1Ī8-z4QxY> b0}zҳ1iE#}I+m`8T3Z%Fs"5 _Z/lnU 9Йi^Uxt.R/qL1U)@pvaYahp7UBhá.}> DM_wb}CI:Ǒ`xv6^>rtl iޠW묊 | Er`/O],}%&R\2?I]fhÈj11,ެ>_oϞ֧r嚊F9trbd5%\F| ooO̘d ]djcZ5]Gwoo-mg hΰd'VgWKQ^&yY(xZ8{EBrkIﵜ*lo8W ,ؒ `6| i=o^Y/2;jT [= [gN:IRMwJU61B?ElE[ϫhֳ7*$t=>ѥ]!b 2QoCtJ`J&%'9~8n"d3l16d!dk^ j*˕JZ>\`hRK=<f1H3e'\Xm+؟δD"3C(̩;6]7`6qDC͑+=6/ _ 3g&*oivQ)3ن2 S㊄LB詑IpO,09+[r*ًWc(MȃƱ!O/ޓܝX!,p.6;| chJJJ ϪӸ #MgO~“dz` zB8x2MR*/rwgߪ-Z9C)K98ʧT#{A;Lُ8sMѴs񗲟jݧQ#YܲY11?NpX.~idphָ{YR>PӮx60& ԝg!GԌ? UNKCǁc찦s7NgK)YT,Ki&MJ $M@ۄhMb/VqGI+ƥ+_ Iaʊ (gd9R eo=X|Gu^< pICJRF$Re ؂xuqqe\:=Ď{!)v2T]& r'y}7DjȚ|x{'ja8yʏrUӫޱ&ZNI0y\,^6+E~CSJFd8M!MfVXrS+wC8+w7OB8)4l&ZMSE-G^|p6,p'0(8~>Xx5 J&2*`fRMqVv~4^n$N,ۨ8/ϑv ȧ7٫:)a lq$Qn+6,wT^V[Ke؅85N̈z\9q{vS TJ1U' SiS1IqB>PV p M -E=֑%Zsvt 3o(W>nVpQrzp?BXw6&ov4b8 ']aMTH EF֝ܐ!]SI}l=-v fM׌~goT|/wأD*P = fGシb,6曰,[<h5J~&״b'Aa/%ciI2RcxYQ=V.z\ a휘ZRќ}KHgdG/n)Fns?&ڏCdϔٛH3A93LoiE &6q/_Lx԰!08ģCƫՒSd7G }bIe:&ۥ9LG_<{9z1"l@f)hBfNɼ?uɚш\*G`'C#Z5stL?#mWO8Yל.jf$aƭ^)0!-"uբwa #Ae,1kxfl۹wc R@+Z-&&R8;gZ\C>tÕ7,lID Yt`lM\`BO~AWMW{{+S=of75+%x8zD_ؼMoW_IC^ōfɥDB}ΔaO6!$M[U ؤ..8E_ N$eE#Ts%%Fj+wBrt|F322ej?ǖeWXzvRĄ}ݼ?-UIFd]ԿN J|OLqvf wc09_)ezvspxa'UP2ʮA`.zr)&VϏ4IM&NV6M_c+X-9@纬EUrǤ10c]U*;`,N]A@)gb !6Il;88&ZΫ:xabإ__.N)];핈'uc=vxV]Xq?M7bCa2  l9C>L=FkB;r}%%FPhRl.Ws|Os4LbAұ*!$C6K^_qۆD Usd&56r`C""ʊlyy+dnՓ*DZk#7!(gW(]d0wgoƺ";4Hm-t~+ٞ9xfSȜfpVN2~O,Ra SJ.S8[C.ر l&zȯ*4o'ivD?64+b-7MvpFY8a4F@8"ȝ>b2!r7مy_@28Z]?cGp7?@Ge{FL?k$'9 Ӡ(m#KaOŒ |JᄬAv\<lj<3gZ6Gdž(?TFx; S@Oe#A@a4ps^>h4?^0 ~? ||D D馑G}򨽠~\ZR$8\!a4=Ld^s8فS58bD)dhJެoFZWgX^X^k{z֏oQ܌=yAMmiAc?B #yL^l|$#9gX{%E_Hl1A@X}@{Jw~wDP3tQLzI@:5MEML.gi~\I LEk@ތ&l$|l=(jstu:6&iJ,c2,G"ؒhu݈K|w<Ӫ(fV3P2 <^|ײv̏)O1h\u-f-(8j*$\H0<`XRtp؝Os W2!d`גW߈7a)A8J?(as9'wG(,LK^*pXܳH!Jd1L:ֹD6A> pJaqQ؇v'۳7 8&}~a7;] f{g;ShN] ľ\4:C۳D1MGCfgu: $'|wv %1 2"ӌ=)!钬+$]!U՞TiqqʹbpxaY?Trh.skf?%iMXaS4i7odPFu欬IwŁbB|2&JvO'TY%D8Bg-KmNVOk>q.&x6g,Q*z/y9#pZLh7=m>E"%^1^s(YxL&)![Qz×9KWR78zSܺsHkd 4\Tv ÛIfH>ׇ pt{JhmǮCIrnt>{OdR8J5lupƭ8q~m> չ |8t·sަxDY: "-;U||EA6 Ք81wii%DK ގlҪ3Lh9 XF!*X7u[- \ZYM@]//XmS3E Obj?-^DgWuJWe2g"ԓfv8qT@Gd_Sp8PBrZ f$ra]_/(,qpґG} ]GĠU\oOJf1NU $eNQ5BU#:v;\]:&:zӚX/c.'x2C/I&rs rgLPESy;(󃶊O#ƀ:7w?(AehډV:I "/Ńm6"b SG%paC"0F&ށ6'ÙvFP[ j{W4s$/623O~䏂_rݬS6Yrn#'5D rbu> S@?dN VnE'HƩHLn6zB#lIT+#"bS*mvw|X]gD ]I,|Wm̽eOˬYlq'4ʰ@62=y>Æf~})bcؐb3+7XwiAb'Կ6SHPQ',Lŧ{ / ٱIBdh2TkMۥliqU!=kΒܓ*Sf#8=Uv3=Fq#oۻOjBh)`I `d*I/C9| 4c@ǙӮ5a7$ՠX&K7PXtaLʢL]_ #9;B]vx X@yF<95kxZq"f"r9U e Ft3"yv?2 R!2Im92) 酎Ig2=-}'Xj_'& yu\B>%4[ ; $eZPz{4Yߟc1l6 aWY2gNmnԴk?z|Je=ޒU$u{Xy&~>W8rڰ")m9C'|BK= WQzQV.5ɉhqs02dh#W_$oyeC9:Q!nKSbFBl浚ֿ+1?R_^w-ȺÈXOdmEaI㯸E~^QGDd2)VF6ͳu6e7/IIFBIUGR/ G6$0YɳkaKuf.[=ʜ@%Ս^ 0"vkcm"ٖ|+ҿVB ⊭%e& 28"Ȋw҇=ib 5سYa(cH>G\]]^]7&٥!R7 aԍ,i60I`X2qRS8͢|U6飾'E8tʑSK9 k",J^IDWY)Y5@+f)dhhm2toȠ >`'gC}vЊu!c8$4;IgW>{bWPM pd]#6Y@5QZbCá:BȀ]9VHuL[j2n,ʷOˡ6@YO1"Jjj´?K8cjJ D `lm3-j?(@b7f֢b7=49 6_ѫJTgO0"0>Vf~٩8~:eYHyNNm.p}WgOu3NpJ bg4ѡ$`C/̘h-jW٫[I`~8 ύ\+fCGLs;?@I$OYNpya/d\D5bic U<H@BB0`.ۻw^;Qi ٰ N6}m<VEhbR3u3*.Ύ|]FLʹen\<KW{ډޠ߾;ЄB8 94L;-d ;(:V8KY0 u.Er3=WkjCf{&Z/psS9wD'%Hf&u͇0(j$ߧaK}C{+y=rS1J9f3qx/BY%>bΩ9YpWܕ ߼|x{:e\G ;R [|BEol\ p:IWaDJ$!}pL-pz]ĺŽP*d\܌O 8o;N#g_]8>cKc SjƩũX{@K$ P ۱k5TUxf`\یEGkiaj'/R()碤3z{\Lw$_hRy3\loW4WrqBw>~]-SP }y} toEϳaB#Cz2󘢥w8;evv [~}j,K;NEuք_zt):YJseIzA`Y`p03Y'K_CEy~UۏOMU8q@ RKq ?-੥XR'?q 罝8rY9 gORvb:anm()E< 'aJ)Y:@׋A \."~4G35{j8`d6xyfub,kbGux 8d5*fSC:hH_'WdH3ψz~x f'$ S){T6z|f"VS|2tRMFԙ"zr*yJ1⡦%)s BDk |tO%+$rVϚ rSt0"ynk`#fIoM9ۜYq m9G@X04(S8ۼ߇9רrb| #uLFAÁڃѢ;n6wSFdef}gxbHkGp‚i& f)7snf|7M߆\R%+,Dv`KݤkCΊzÊC}n|Aɡ XPX @k*5/dgڑXs]yEz'<2L\/5r^ZÀl稘G\rQNwc"LBj핌/@M$Md 9i4:ϳa5Дt "{t}jpcv|:xNYIEmFUfgo_.} v~as,?f}uv}qA'ȿQh>1a9(Y^J@dr1-^hgGӞln8:"YC\ar`,+=yce#"+-0@IY'm: II'Ϸ9Ϛ9sDKQ X|pOWמǟU I* rE8슍%9VIƔ(^Ucb+ΔH+c[x~C~u.[Ag`:Jaq(M"HxC,$+cIG*)_EpL]2po=  X) 4Й {M'2PAP2dE0k%K̤iIkU(,川LƘ=94tDxK熉enesw1B%w|eȽtrWMxɏ;@Of\e F|[zdƎU+/( ]r/[-B;QNO@I!AHvZ<d9am-[eaG*بrhHtg{+ZvGf:xؔġ5ly@On:!y\NN9TUk ^qY=+xX `j*gI".~f>#: b~!<6 W׻}*Q: NȖ"+5]TVk%#zY.kǟ\My"F~Te>:Y{] [41$#0DRz9‘5 M4S,bG.*zZw =FV*Dq(s6Mue9 5҄* k W(ьru"ܓPl`3p~lq-~d[8Pˇqc5{Oa5VU,^]'wg?q P SHT*4+]- )osJ' |3ubld¤6|_*q'r+=RTT!9&B6 5<>Y&cxOKp[V bѲuo"z;/,k18Q+XS&譅B@_#wsdcSf.iv> a^ f]sGu ~P8 3m!b^m.?ĻV{>*gPW_NEǛdBtQއیU,f0==E/Y!!,xK:5!Fo?(c Pdz&j2쥨i"+B /yL@umEmRޓ(/*#NBvc]ZxJ9b.M!bU=e:?E3}u}765Y KW'^A"ύugrlF{i*)]L1B~f:pXޯar^SaVO Cazi{oGp`Uv+ivg;7S9 Z-$b>oj7?Uzd j-1x@ryvW9+g (0 D2oF˨*=c?.G2S+FJ87NH:8X}۾?zP^C_&t,{E6oxȸE ;hݻ&yVIju6ū/+80Oq[*^nf-\~PT@'*R-u9lhSCKpx8|լp0P"}V^T$ibHN|q#rv1-'=/gjE` #w#,'ϻr1 \ʞ)0q-+]'cr,O"S|rSdk {ث<|2N%ʄIBBA+˖sh2RM~]jAt8!z䈡ip}'p)o.60H[B$Yؑ0=#J#yX+fa3jj.yh#R#38+*c>;=ޏh0`C`?deข#Eg7?56LAZ/XD@1̌ LfqLj9NB7^[lč%q7kJă4WLa~"l`NTZ<S:zk`0i&:`,\F6->ݯzñł*UQEqrI"ByvvN2P6mIPfX1D(.ZcY(ߖn&vΡmV{AG‰ / *"l|c<ƒ77B KqOcf)u)0gz4a[d]9E*m7TaKFuLYu';@193U +b!ī/'2!0t6&RWiZ:>yn,Oɇ _ WW+?yR>iHsLF}r) -&c%1vrKWymTE"a_KܧW1)77ܥ:S"cb!~崁u|P3J4!z4uANtVX_{6ΡMm,Qzh.u ӱ7$2%o/TN40:Dpyqs{V.%n~;Z ,|0.jWWnԯc4iJ"&2 _E*/lia2:i=ggN uΰ,|FdCqReU5 q'^L̪0wX0 p٘ŷ&N;|,Dz]|W1jDjd: >G&ww'OV?1.%5X.ݎ\udp/͋]J &@4~ܲI*$lRlTT=8jG<@-BVL!Q#TVV)ŋfD5ج&F9Vut M /n6:t͝(+׵ #kg׆x@*M#. K3 w ;-~}=%Շt.m5{7>qsG=(}u909e-Q,FSwᵒKrY}=:w.$mŇ$4Oubbx}BL@$G@~Y_ZIК]F3 aS=}D0SHݒ.Y&Z4d"9F˔_I±,ȋ:-D&jA fMƃ 8ŲgPi{Dŝަ\) *_kMmKEa%cL{MYRT9B@=D,pur3-2f89Z9Omgk^3JN-r#sXbN%rs{)q].>uo_ ~ve#S:q !Js4Q85T}+Me;GfTiy[xTyKG~M8)܎t8T|wet0a cT" o"Id/#s!ۅQ|:T6,k &l%($^wN\8j8ml7sst 爟~B~r ?#=0G GQe}$ge$͏ n`~4;qQw8n `83OIJӵ&6 Xޑ\Q^ !sjLlcrdOoZ}d<8Bs^<4X Jl. $B] 5*)루*Oe?q뿯dE`Ba` f;ڧB)|RǗ|&O(bXn^i3$]l5 <^Es<T[AH돒5p%:ۦ~XJc cBm6%W<[GJcmŠ[8 8;$Ix|M%4qz4vr2 .s'4wdV衐6]H<(XSI3T-d5 d~f zA_={xDD=D1=UT fzӟoQhҋ]ǕIVQ:xYHTv75u  /c/}A|OW"if֛W8w;΁ Qrf&+ >Aqد?,ߜ>y_3;m-}!Zp%6Y$o0_< fQ-Ujq@pVH7eQHxC vp0ŒiW *2ҭ>K,BN0Pr459 #JRLKj1L~9;dv#3F5ՙR@um%\ךMBybbE@R5ـrq7;l]{ʉى"Yy$y@3~ގRC<\Pzv/@ǘ6bqı~!A99vDlPC3ྰ,. ,o7. yX,:6YF|#;2W?Iێ*ewT"gz.=O WBٵdBW ? 0RUN#MtS4ۛy!rMh } kj`>t>)pQw!|[enr$2(؜ QIټعZU3yӜxCj2}ğf `OEޛKM 690hs.E G_r>^!v}f{MYwd Clp['|)&dFm0-;D{u~**LPS1X1@agO)\SxOaf 9W]5Y-}dl\@vعSヘoI2D v9I>$]J7PgO&7ތ7c]#!1R{-YB3r1҆`a.a=]늕76$tbr؛ȣpO25IpZMZa3\'9Dn4M<Zސ¶]][?It=4U ` /ܕAZ2 (^JUZ$^(Ŧ;fJkӈ?\oyy&_ʮs␢3j)!Be>D?I%΁c{70-EVw$𬃭n/G+A[&F _6^$IS4{V.^FMfi˲ENJM <U\˲~&r,l#¾b2=h)hk|"KjI9kxX#-k@6y]zZHޘ܉]T\79pTtF:5iL, iw^W{^gpop2rF*5xId ~;㱘knDŽ3αe%Aכ3vkyKexѤ,QjPsqȺ-D)ӱۺ]B18@hA/s*ϥ @ קcիiX #%LUTͬIXx9qM%y VK'U%;VbEuUYNG3Q vI5R,WW˯HLW)+ɖR`#> -c vZ5Pp<4@TDe[__-")IIl 䚞I!l^3ƙ%((O0q|mxct_朄~jRYٵi Cya p32Im$1hzI=] [G"?QI"°RuI?i!ßHStaz;'Dt%;a#cuƣG f4[=XQ4n0eOQM")1,iI[".ؑ~9Q& ԙ1(NKjnGrsq7> rݽ\E `T҇$YJ0G6 6l /TbG'O';z N=y}hˮC|krY<~"So@p֒407|;!B/RJ~ l DJ\; Xdb+\WNĸGlF8p g7%g6gGPMd-M';.uqQcXYF΁!E$ (@kq6gYwsqOއ1Bc?2MU$2#(ǂuB) R>m$)K%qDsAKa pώIʋq wiD*p6;vP[m;Z{ӋFp!8#~j'.T}7`Mt@եLuܮY׏?qi@EI )yÞP 2~yyh"XKdp8VR91 2= VtHٽ>_`Zau&`=3s\R2i9w7-,e旦"-`aȞAچ6eW=P@FIj,NRz^՜G֚x0+#QtCq w#RiqLrO㹃$7.q✽^ޢv>uex:@q#0pP들[NR`|@FqK%eidz @77i3$oLߩHL3PK'mI3**ak#0ɤ +wҤy{{CQ/ +,'n.$"@ =/'eW"%"ƹLi[ X6yJ\nY#{2cӕ`Z,lb 3O$&MMؤ<^y21-,Ԉl0}ѿ^yWE_ э|80dHY(ЖY'OҜ8IM1 KqE+_K~Ƅu}V󼣮򬹭.sʋ9},# Ϲ$PU$ ŋQZYo}6f?N:|$vA2J+ɪhnQ &!1/ﷷ2iEbj #IX%;w|j뀩={sv~:~Og#)]qdy 9_֮7J ,Qa^X7P=/7$JFa1 Rp.w?w eSl&֬SۂSe"EJJN^hC6҂^:2OOQjP!On( x/ϟ !gOXۏl#;Ltenn,6(=R~v1< K=1|̤870o͍K"G\0?Xq]CPZ6כZ n |97f=aE4+T8T|2%ӵכ}.|vd\[{7b%\͌w,==(b'}"]. - Q6Tr栠9<i >BHyF%"GVp͑B wKPz#:>kmE;M0D5!mY''=*>Ȋf?fpF*BZN@I]@?=4?{gV(_p%|\S$U@|~``0fl8Lfؒ/sk?pj;Ce*0oiivuYɇؾ̝HS%|\U &`ދ^z}L P4k:嗕yqw~OҴ&s` i2"a ^DV^2n{|gr# ⋝E#:m߃[)wh{ _aܒNIlgY__oe{wyt$R2(xleӹKqwðS#]N3zaa.,\'j L~>LZVK:,(+ū+DNk\Ms3{O%ʽhgcIkwWASi\Iys,pC.N,JAS~9 nހJ0SN{gu63"o_K'Ym=ܙ bo÷(wtw2:vnP+)l(SU F@TAlNwcP2av4Q_=9/|@ٖpveds gƭ‰$p_V$`(ih`~~_]#gה ~TuRp| Qѧ9&eka1o[?-gҡtZeG*٬W5Og_W7da;' m9oˊh#l(nDiz0F9 Yݧّ a~4|'Ny(rhY.GLCPKPSY t̸{ r<9B盫/r]XiG͜lDHaR8Ky{AU ؄7 { 4լqe\{jG(rőԀ݂uӤܖJy=[*WKpc"%JIb@>.M g.)('ꃴ၃sa?~s!F;lI(?Qqj|،ΕMbP1ZX"lNQ(x-T<8xX_\q!Iq: @C9}(_W-Z^D|%Ƹ0 84I"/W_Du |ίvN$ 9c#9 MЋgX'WC< F؃=W'YN:,4Τݤ(៉{a*lZvZ95DBbb{vYؤHVX8\ ƝJIs8tX!c%L 8=γOFO| 鐏'-F6HqKکtEi.' Y:Fg;|Z"~6EW9{ ld }|2ޕKQzT]q xl"WKx}W)9k<}{3{2o WҐ3ꢼ x/8~v#0f9oLJ:&2Ixك$8vZG ԡs\׈*ܓ娃F\74>xy|٧یwI6f\: &`%yJ[sT_gcǑ6-U"m*䐨mvX̕m.ɻ0^aSՐn<@5+Nmf-=jsuřĖ$eˀ M[ ]O/ޯ7L6Uj,VLU/\ZLF'gO_sa08nWdĉ-x>4)E,4$_e-~+uUqΫOjs^5|v8:YG0/KwC|}kS6{-C5Kԙ-o%”rTwَn>9kڝ|ΐ%|bl* B+>Og7bRGOX؍fvj,縏 `гlAr65lc ܩ `޿[ϡi q5pGg*8q%`F1o}WR>YN?5#U Mcg=R6W (iTATP*촇-ٓ(`TVFU (('C:qfCjh^D&tULr'M]m=Y~%"tn2ER0y0Ǫ)B;p v)T _!G#tlj|D׫'jc梨FH̖E[ؗ_mN>j^/^npFDUY6[^ؔFAr \c˻H2N0@6BƳت&ͳs~3ӻt$ٍY-yn@uK7MEHj(Iro3 "Iig46{$<0__>̋`VHیvLY;7jE 5ߧgH;Hzئ4er PղXxq|wG˳'m8x{#.|R{Q )rs\. ɜRd:6wDesjO8/}-qWPX÷_7";;?]u2X`T'}yq>UFNc^ |}..ԙ2K䩀ׄ^/" kfɐN:Dq8L)5+4oEoB.&- ?5׌t`&Sl-!D+jbE,ܦ)$㝄ū nFMiyںtH)YavOo6>l)cəl6\ $s)l 502w8iğM(LDwD2wW&jiHD|w+/%<35f`-S5wqJ>Nl. SWuS@%.ZI/gMnc]TܸSQJ0BY!1:吩@塈6%BvַrUHblJخ:jw?O^f5) 1 ܓGTќI"s7ҕfqH:D4bY62Uh[!{co C@,as)bâǃN~U&E40^x٦%~#c'=AuȓciY?ά{q~-,{2RBeN݋fc ؗsӐ4GD R31缱䖕q4i_(|5P8ɥ9Y25m';1(p 8[_߮8kR*|e_޼ADF;r˕vV7wN*ONgN0}xurUgo#VS+(H$ }PHZڔ}ݸғNEoIa5rlp6FM#GuR9y{@+n֑5H`vߐBZ҈*LjIHdW*Dg1?}JH2j%\=JyϿ})cZ eP@SẑaFY'+E;/%RP d8QJV8Yɀl+ 1uDEi+lT~)YaMH!:pQ0,M36SIX3w~zt>vC6Kɓ"aĝyV& ld %]fLV:'2qKlM |)2Y+ i:R],dhɑ&6('DZ]v}\|_ެpcĎDy:e5?*@pDPͩqՎF E{i z*PjuЕjG[\{3m%JXzly&l@vî%)  '6SdSUYL-ԮɁvZ]ǟɁTh TgJ9)nI[ ).Fz| bҌ@*!RR洧//Ľ|raܲMte&묪M$!XFE~7x摩#?!@\V\9}`nE[d36Ā}QҢ} 3ԛJ.Nn*)rOG+pܦFaf䑼Z!?!Zv7Ȯ'I@RB,\ |%̝ ;"/N{2h5ȃ()rf)FU)_&D J%#G=o|kCLq6Y/ Bʳ++2ݝBlWëX:> (EdM \ IױigLyg&W0_l>N-KY vDl^.nO3L)jNcii-{vʎH8=&ˤ2bϊ6<VLp|,Bxf?'> 36--2ǫ)G ^(#Qv)qR0Q] N̓0GGb _wy{!#XgMaq0l\/ئ*)Nya'G~"5l 4EvHdRɧ3v'퇻]k&4$QZؒ4H-vḀJSgjQk)pwOu=[#Ml֐:j A'S /sA֓cɚv_f^9] 3-³B:, u&vPAȈ)é^^>?NHc20JТKi9Vxl]/ 3{Wr8I}tT#wkBb+r5RRMdW;"g^ nBȑ-;Ȏ"5G1f'lby͝z q>O{rr1ܚE!k`[S{8g>h]b\.8u s{9<5DXbI$IYR@5i$BݓVy,ooo%з#;AmUkRmbshJ+)Ei .%ׁ̏y;#TQ:4"'!AgR8]D`_3V1gO~=rZMD,!$j%nF"$H`xQ6ۋ՝QĖBvD%K㫛R?Q,R˦e#z4J2جvTj c3CFat0COs{q*Z.dP6B"rӀkxNv'DF2'5-@!ܧ 8-^'~cda:I"H_Rpw؇dj`b, ,Led9%2eTXÑiJGKcNsT[quIxyx8:OYcKWfīv2uJk6&nT:VwձH*U?a"@Zx>&-~m'πLˆSCA"=]~~-Qd:?dƊBW㼽o[;V1"e!Opt(VC"6Rݪ%lG EG6|iy4Mf!9|x#l]#ވa9s2d6vӹU2v0 '/#7\<"_ G[ÒVv+nc3)dy<([3KoV s2n& ?$Fg, ΧuTC-M\7U3jc/yK69E!PiA5#|9XsVsU+^@6k@KW沯6wwk ˱`ŒFrBck-D!2E.{<U2ޱDZjɺ= WD\>hlȂ 2}; fW{ G;J-LŻk+%C&u3O>gIůȏ!/V+V+__:I;HodC1tDDA.m|W='\Bll s@` wWwT `/*XG! TZt#ܕÈbm{ Y_ yN{ea3N=C%c]GFAE21-B+[[!.v.WNmO';{"]G1(^_no?#R;N={r~_$VpV5SSS^Jef5Uγ _81G[7dg by_H`jf:N4:n|"樰^S4Zpf 6<CM2t)'mE*? +H'$:\8X'Ko xW]}G'J.'QPDbE4iYO=a|u\[ΐS4MQc^L|FҺS\@pzN 8\<2&@„mC$_ȝk-,i.]_כ^ P,}`"R0ÿK5I}o?Pki&ቦ읈E/2 stOΐ0sB(EiJ.|V(몞++}̄t<9:r:og+<Ĕ1oޘŔ6`(Ťf9Y!`Dl2Rf␮SIIf& HR;0e. McCf%>Xy;giv;x2 !>Xx`7+.֍(mHp4OI( ;}8r/|M. 9 tonSP<[Rh#S't6;K" Y/}+7r-Cjx6vO,7XI4wPw'^P .^z6]f FLHW"ei-s>XC+=2aFd£ֱL:yp4@T]J6ct&͈Uh{=ŭRo +L7 M3:6Dz kѬI0kY#cƆ֮[+5!oVDGn(4[ȍp)93[ YefβwÇ5 nF,舜YM"ҥR%!׹}K1h`W QaY6ĝ Ő8o.yL&idf>u#]G[Y` N/dW+iݼ_ :ͷw[֛tބnLp'D]B{EޒdR39"Y!$NoOծ τ=g\<9@LoU2Ki`cH=`:*_q9ND,~B9{nКn{ECBa[l}j&"îk+(aq@%89[>OKF ._~:Zi>Q`ݽAX\9|Э'0u1/9j0)KSjXD4`=0=YQD$wnl:ujFE?{UTбO@;a ʤ|rb hGtAȬ-Y0Mk!]a;ZJlm- s\([g58^[+=uBG91cɄe9&Kg7NfuN (G#@ *pt&`$a_ ٽ9,Br& 9"U(W/ F tSJU gRX5={n:٢rtHdJJntzS^%o8R "HPy:Yg/*"#9b'2M=oW[ 6"4nN[Py=LmFXyhе' c?FylH*1ܔ"oy-xZ]eLzHrP]j)yp8sis={}da<栫5q'i~*g5)aDe/;ͼe/ҪI8k7tG(3(E@'fU;Uj8!jJIx*IEDo#K.-"1n2kOfϑ T@0@biRPAKތ4wUJWۯba=VY%Mun=ƞIa|{J[eC//%$q蠎Aƈre^vi&s&ʹP}CƏ gsuO^߬lo/E5~ .'$-0}˹&7+MDuIv"(C 2OQ l|8P@ֻϰI@zxٍ${ӣ9y)d!r*zmcJtUGeafYd7=.txPﴤ+2N$Bٖ`f] I?&K˷o̷߶+L`AF=+uJH<<-',تp[˭9QzOh [9:{%Oa?&qQ.D ҸhSՎ fC~'1=B~Y30S'{X',}vsw!Ova >pq=FkYzSa2XMGk,gd%vd塎Cׂ']Ei'`'QeYO?~RۿTlJ)sfOcڼg4$$DN<&Υjn1omg-d3wZs,8s7Q)r>As5df-^+() &0Se08d["(I{q~%PduF 3:u$9\oe nExnZ=2OGpF&AI?s sI Z F[NwP{&ý2QJh|6&LQlFA %c3nohC`H,͘oUEjEBrݨ3k:r@!`d÷onqj|"CTt=#Lkc#}Ge҃q=Xkl >qQf N:ð^-y>Ȏ1q%߾fMi;[P䱏3NYYua0c5юvYw!Btܐ]l Eki9B^McM0f8~0ʃ QA,#U ĺӌ-]&c$S8I2lӢ7\ N<~O- ƚ "-.Y zWyفL&^nM8eZSXxؒ\45м %zkܑTkA Cl DnA 폵+{0 2-h v(cGYx^f^]o?H;&YT'"YԨ`; T/0v| #Մ0fZ߱'EqI3$V;= Xwtɰss)]a!$JPTuB ݾýȇ4*xz`u[;|` ל%@^~bCVDNNh`7n_ ڄA2޽c^^޿#s$pC+_Iv%va-=+b#~L]ۤDMONB{䱻e3aBʆZIW3 If*ݴx,wt>`_'e|3MVBR8?;xc_8&xD!HIBG!x;ж$ۻO|’~klK#U2Deߨ;Pz`%*R>OSRl vls1 " v<ߔg8/mjwM$˙cZ.~#颁:ۅxEe̎8Zt#Yv]ʼ>L Д-Rs4Xѐe$fwF;[Ϥ|T>"UG cI1o{jܐ.JWųDFίWŒ6 Y,*HΈz[6Qt=2e?< i}{.2%cŖ:506uoIVŸ)Lz5`>P`lfћԀ̅S(4ĆVrJj}Fc YD)Bq8K.Ava )CK^^.b_5[XF$6 I<ˠ9%bE[2"qʼC‹cG|SXj)R<з#xh?eYji Yw^yy`?uhJɺkf6Jz]%G JrQa 4_QjRP[NM#Ԫ l[»5q)r[_^]nn\=[ZG[ͻ ^N:I'ZņIYt 7_Vs鮗Vi8_d*6rb<>r\zC$EXmȧ2Ҵ, $Lq Lz Z{@:>|ؾ\JǘL+J2soqę1Rx3\z8$ӦPCQ2ҺQD>?y5{^%38L"EL Z)`]3F+7i}LSQ'M.gEЉs vJ_Ć܏w(Jq0*&&*őbMivdi|o,䴟Z$PCAXUaZHbմS9ć@@0Ly5&S(j ת=^+Gt$T,+4_[Ϧo}No?oQ$'Ƽ.:]gKn{}/:+6 ^l_j2X]R_nʚ2ANz?jCT8 cjґ@f2R9Szu!SGȲjq8$EX`[sHM.SKE ̸O0'v,i;'8]MaQ/9P;? ^pA~ƒM=TTJ$Cu|Kn*p4q>2"xiqUzT:{Ӣ؎K5JM 5T\ jZ'Wf2gvyL;שsfQ'ـ9puzuA^2H^ޘR3!Y@/`Q%{[eL\>8Bpb .٣o{&<~ty[$X5Fbpa9އ#6m΍" fv"q[pvw{t6䦼֨kD,r|\ouAae(\f=mfFWOp+uP #?.NfCո@ :ğk#Yd"~,G,_8}4\rfSb6QRP5Uoch{s ±S003dpNRMVW_tC]4ڥS8a9R2ǡO͡cȇIqf9l{n̙l4Mf ^ܮߟ8L;%gb(*qϲdɆT:.qP;{v@6SQt-%7' iE|{Ƹ@@؜(#"e{JM ,\㯗;vqgo 6D薌`YGЛ;.y^?͛AnYo O߁J Z;cXx1|E|Ĭn@s+qNW͋?@'?p/[`%ER㼺'-nϾDV5=sSsojgO^VV4WG,LYy e5T-^l)AbQ͸vEIduLujR$%CΚ2 b5lf}nQGw*M8Aؑ4 *(!ޟXӽzuqL$tΔ.b{ɔ54+>ThJ&օHAs5ہ9?goG7s.~U4H\)>saN#v9N[wKj2LY >'gq.>l/?sHQFfPDؿ,qdقD\8ba=RUS#x!\u,쮵="*Lnս~YzW#{}$Y|m %[?`:|*G2XBFjR8~8Nj"9,jTk ǎl fŢC-cƚd.S"x0%:x('x-/6yqvo7hc(AHAOWiN[eo+ZKYy[$aIV64-o.C#:M֬ط6Vd8Osi7W_.ó c(plʵQg-\g?.N0"3v|T}x@hl,~?v=qo.qQ JR}4 zrٷT $&EYj;+9I>5#Ʉ:kΑ(Ոsq1G:ó?VULkdLc1@Ӥ h[55ȉ^1 U4 OanӨT.a48vRh$'N We"wh;"~K4!g@9b9rȧ$d_bp H$/o+IWǑJwcvenMI'<%M ʐBtU25Dyx 6hUc D^/3Gj'DSj ^SU yd!X^=m1c,Ne-8䴶2ߓrܛ a_-B8FVTIH4o2?̓^;Pu 3NX&V"P(;N9~@7 gD&бTl)$ ?A%͡Ռαb0R#CdL%B? Ja:L~\;d~#ۡj _YZO޾y^~yϫo'hGHE凣;!C-NҤ*SB~qq`mZ۩BQϙ]l獆 9erwuW$vTxbgK)sZB7,% q_pGRSLʅH!Kkѡ1~7G~uYlԥ#S,yeQʹI*L !M&Le;?<$B(p: ,Ya68LP€Jr\0Ų)hOڞuditSȍ4 =.}4+gӹ+®wj8@T$f7* ?s]wss3)UˑKra"2܁u,T8D&ʼ--cO޿_/YζGGW銔8q.)ٖvP`("K-.ǔD%@^5ny !aFab#-]hNTڐ${"L6c߷ SЍLmJsP" #^|X 0KbrviewTKՖLsͳ 3[+s %Q{xDAZm|Bhe /7S秼dYg?>N31=f5{ϖ2HEPkfY- ;خyw9hK 8Ԝ &[67ƪ9sOƦbIqԚiS$ɅqWNǺ6Z:2HW[+׷jۛ?d@J#"6wR^ElyIT\<0^:QH]+p/`Ä7ɨ)vY֤(5Eʢ lXi:3^͇b@Lw*=cwMmń#o8kn2f7r2U:y|c7# Q#y,2?鬝Q89kIF2qkjw`˷i .@RET23}#8,&4Qy?ak\25:57~TXV=g!ʊgb-O(Xo@_ VX20b7@gSo_1/Ɣ9l|u¤[#0lC6X'0ºv{]\R${G-(㴞`#άR]9DMREq'A?vG==4Z_ IF$Wd~ts\iw{Med|;3X o" ?mᄒA7*ExVr3W+:sea a\F/q{L3N5<*`X; Ir7@n gaC(uMe[f\ʙ#׍E5wm%?0;Q! ^d&RfAf%|4=+f{/KIS N$>%i`R2&`RCճ _l1r7 [(tF~Z:֞Z#f/ԧAMyI>%wػ{q|~4c8J @-kEQQg@Q& k0ĝ @IF0X{7~[mlRɖ]LN4Rj? \_]_X:4s\n?bO-9Q)IH1R֡b'l39DHz85JX@_m@enzY}^NvcwvlC '54zˆ/_ҙuEj P\U A3Eg h8;}~\Al3g/'!AX ϑBg\x|#IO|K3ƽ waf } $Q憌cw=Bڼ2-2f W2FC0AVRn9Y(bGBwѠ}Q ",9S9Fվn!6~vy%~<"ˣ6Y., 1_G\ȣlU|{1}2Ҹ4d '@ΑT!D †^l^K&KMXF ɍ K=l$g^'22Q&WajJdneɩ0g/2ˀe;Q^D@HS,bp67_([$eF-9Ԓٞ7| D-RW9}HCEzJvX'cjb8IX!])EȒ I[G+d22q=Hy 46u,<>"xpaBbVv'%b,!|Y ԎܣNOe=5)eium=\쿬8=sWh"(ZQ4! W0kf(I? 9tm?&4ճ SQ M3[?N5jf)h"3E3&|Jq)P7כ\<5G䔸CXh%LH:=u7dc[ÿז3gXt1aRfsq~+Z֒JJqxjt1Lm0[ERn8n}[FE ^':rwFh7cIbߕroiw AX|`L|O8;!3 CN8u4 l+g9;BsP$󄯞(I[ [[)k1='Oz؃]JCx0H0qN|`#~'MN[ܦn,I1YȜ>K 0QrT*JZ?Tؐ>:M.,U)V(/PiqP矯oω )$<6g:MSh\fD6/6_xPN!yYG%'/bUqq&Yp<Џ5Q 9plOڹNJY8(;jCu@ՌD JmT][G {*yd#i\#ԀHÎJ<]Ίz )>nx<ƺU>[7\ k捀u x-;(Y3ȠRr%3NR-ѹu vO Y-,=!h׊$)?)$`,>̯__JQCjy#;Wq `F<ͣ磺FIIX#=V?/< \FH?sS.Tk̡O-Z$dHf Z":pOB2 2lD>X@Xff)RUZu'e| =k=8$\,EKCʝ~YtGMVB, gyc۴}}ŠT9łp'K ^KS ʊ}%7) 57 4S,fUyq =–__dț[I=5Qk;9aq&ΖN̯8H"9Wnx8iIjx_^y/Vgq<[ܦEyZqI#96[-V  FjKaA-i7TE]M.g٩ }o%s$SXejAWx8u%ѕlUњ\5|b⮭L8&a/EW7w x3 )D'̤ŝc0E)L3Xreqn%5O샒/U/o%Y+$pT\KS$*M7Z-lS+'phOjNq Uk*Ҥrjm΅nwjf@|N^~B8 pTĦIڴn)4RZ? H?dVPD'`g2#!Y5)XwY3¾i*LbD@ b* 6d(.͑X{U9T/N%]"D7*cB.lQˮȸ¢a]2҄H, Sc#B "2H3rRXVN|OhQ ?Wkа\PAD21~efC!y5gHL<#C.;.X؆õ%K&|!T쀎eCcl=TxŽ&FL%#'FT 73Ť\E%ve2Ԁ @ΚpҦhR5'I  > ဲ[Q=} ՙ{/QS Tc'媠g/FHsVTU2^ECb\o3iV HL]N[^|>Q@zɷ`(;f,`پ?0Za% 7qܛDG|]fRy-v"*[̿]&cË+ErF%-VtZ MPThMw? OB26XGz,SܹytT[>7lgo4Erp0YDJte-;/7l5= ;x03rڬuK=pUJ9<_T m߼}>/oMkv%fdA]!,<ٞNbt @Q@E6Rgש=4(¶e&2cØ'[U>[V2l\68@2sj-Xޒ{N2Z=ya pUEvfI>|\}欱C(²#g(ƒ&RE~@SZ4Wʼr/' Ǣڪh̶%ͩ>eV:MH-9Vo7K*k dŃZ)X ʡ ,ANf$s|MM&a'/fk;YLe7_Y22Tt/QQFRXbb:Q0XS\HNRM:>r {9Io4z/{~wwTuӕ`3EFSA0z$^] ς7) 5!T@{a2 ꊯ7݅pT#%-.B)q2` ats46vyIZkggk#scHJH`Dղ;{)ӓN@U(Ó'1s-YD{3[oivJE"(v'MMEKN«},grj7Ή"?_j~_(f #ojcp8%N$p'bˆ*/Ʈ9Qi[rdrV߽=U s{?PG[ Vc`Tp'skH3?g2.؟w0DzR#N PSv"t)#T$e,`@ζl-dEB^``d^HZЯZ;Ҳ="rڥ3bY(c#f`-1QwJY}.dcC+>̚$ riC) L<礅Dx?'YlV>= e0%%>T%z88dbu|`ib#b(?ok,{5k=nT3 s-"a(Cq7o* V}>sqjίǧc+Qvb^$ ]XD{#| }e!8% ϋIqt| L)LξSV/[ҟ0>d:,6zE?` 1-g<.RUцYeA4K lsA<. zDÛ_竌0b)Y.Ssͥ%g/$2x@D 8{v{ B8f1ִ&$UGt/'p6l>25-s1SĖf*bJ} ֪ov. sbm8يtİ5:Q"zGK1 ߺVz 9BUսrLL'\0hy.N2WFEgr֑>bo6Qv PS& Qg[V9hWZ  KnI Hܜ&OU(q7?Z4$ $+*$b~BeQȵ *~TaT[ B.6j" r!%a0P|qiC;;9B: ֳS~Y6, )bf &#ʷW\?Ռ /渌a3,L>< q[aFV箄47P3h'Ҽ5}<&X\o+G>a5K;. By$IQDM4hQ']kV˴(CI=% QqQ#>INCxK?3cEu%@x-#V0\2.8Q !-~zqX?Ͼ aEua# T#?o_e_mF.u%0e\eO"oHDH}eǎ< /Opj"~ q͈c$i(fqm$oc4"1>,lԸ_emPL /Ray)P+ 9Kx~<-4%"]**l[kS3qsϬx ,0YڭemL<,4aܯ_r륙-0 o{! pJ`-i4`e!z"J bR]`9X\g?drnO.GL'@jM-pcH$IV$MfNѲD9>`{YWR<2jBg GDgR)"œ)y=$~;%i#k&HW402`S! }m!oߦ:tzm>-~$TdQ $ompp'"J"'-(lߝ?frӱ#! K.f'(SI' QFI T9D(IhI*ُ0&X~5Ec#[?CirlAEeBNiӔme[27jnVW{*#\ZNӆLY ߤ_0!.MUč i0Y6~v~g=QEI "3#acAv*lIƧklZ ҈?}xuPLm͚C!96 K`2,lX!]3f6|HvCZY Fx$G7s+3v'q&DԚq6L3Sm :鉪a6VORF20r__B:S_jI8XIzC$"Pa =a!8'KLGr7;2v#e@k #$`F*ܲR_ɥ#}v~J Tykv*Ih ӝL8} #pP#\j3srqG$8oED>j؆^ۍFq"anATa+ 'ӗ*D aӱwz. eYW93iS)~ 3FHWq3 H$\ݽ:{zgVL 5Q¬;P7ʪvjG"5&ޓ l0dby&S09E{jxtE> 6Wy'b$b 3 3ldὪRrY=i9ۉ@"FDKnsT,U$:5NG"ݾؽ.U+!⠬͖Cbm =6/Wqfr3ިiXm|qxsKq\䣱v3Z2tGȆحSi81SLp'6URn09vB-wѻ Jh(=If8'ҩPy" FDi]!#jkNHP{gz? e=\=4& T٩  1 G|O`(a2ˬipp&|]=>tjGI)Q.Ǟ Hs3$@ʔIDaOs; ˛lf'3yr6,|e4OmAd`nY :'gg8$̳%&wAލQ Gʹl  Ѵq:C=V'Ik68|uu&q%J2ogE$gF='+ fN_Rj!ȧ1THx{e0ZHe 7ch y{Da/1|$̠ss"v\thgၙxÓ8uHP1/w+dS#~eG9_>MZ*IkT)`eӻv0FP_?w#^>m.V߿/WnU fmEˮJ/Bj+b(Egy]I(C/^2qt|L| EFhv6-a{N0##xYs6NEB  fW]_|J/]aIg,^nZO^Iu@35gjS̊yDqnu6M*DNf@ENA#B֖$_6_%}:Nc29)JlUSv~ճ5~Dx-벢8\nc阽2JnYy ?voק7DU@MbN*Y=7n^l?[gsq{Nbk奵gm(H~ʄ;#"-;;#G`H]f2^8\5%={B|#Bie!}UC(Pɍd8 /p]Pxq:N7DFx}QIJϲ| Y&`I7 YxD+zFaN7ze{x^W'^'rKXŤ)Ky" F3<i2Xxsi{P \uB F;,yusq!>(F9x86R!`; $GT}08r#r%B&'N\GHHTU4Hj2sC=C4baeLy)r`n6Ō {p:Mr[lx[uK* "y !Iwfҩ疓N߱֓]@]ds4dzfG-Nqu{9kO7WZG}##sn2ri=@3 idOiT`))h:?%KalqU 31 [Xߦ>L ?j] 2(woW)7qKK_DzN8"zBz&#P`m׻CwBϮ}_#E3)PpFpYp|1,=;Cm,vZ "~BoDVX%# cuԛ.n+?mN&Vs̖1_68G}`2.Zxڱfljhx=J`8eDlkr# g/tyODPqK.v})]P0{-{EIVI 7Wt2FsaWw8IﶗG#ҫzF5pF 48g7!ӖtGorkJJMzNY}K_3풔YdヘJ#{48"U 5um9"NܾbHsf'o$SoFLe-2,ꇗacW)KlaJ)8F0q$ } Aәsv`Fݺ۷V ' Ĺ d1k15 @IhrQʿapKXO*sPlw8@|8lywuj.d DHI'4PC [B?.8PXlQSW:LeZ) i=y/ &2fDO|tK%Hvus !w-Y&vU2Du?͝bXN`{S,^ }Y+trkB"DCYĮ}4:tgg?-%5نyj )\ҺZ}Yl{-vd" 7$7؞I[H"$&XG\#+2/+%_3 ;~ ]KX%PlF6ЀtyG0@?zK9Wǩ" ֳ́re xPW\* eOOuT p4ɶ("0r~={ey Ijf3 Eg Z'Y2  I,VT/|m׿>o6\uVa4WhۄP12&Ë/0㖄<=>sTn')JID Mޗ>՛F UR/N)3A8GOf}VK`gH`.3 ՘Wʷ?N~v`5X(VkU=&q$63EO ;~0uX.wc%񽨔T[)@^[ EJT]VQǿ@"#Mklvm#Yٔ$uB|0k)!?=c,7j;ٵ.LyXXj.3N{xh`gRlYrN0sq 9~O q Q9%+,4 4;M9?B8 2d/&PySM yg&g-Iݤ.j U~*REdHk$aYmVp*M(WP)lqjyJٳ-̞ ѰA<9=9qFV~ZQx*-[ajp ">ޞQwPl5Y[-H 'rkLS rO3`xjXp6;37D؛0̰odab@*O@N8H|hxy:5&HI9V77\Gw9%͐s.lTk<5Ϟ,|C# 5 %I@~@}#/bIs.ݱE LhAoՍ̸OKHMX+-+?ٞo#js& $UhG .#JXD3S%,%K`BHmU}p`( c%,Qh4Y $)DTTiO0R%bFOTQ"%Oi#Å픊dkI Q72բ-jYT`{q(ʗ G#1Mi/#5`4ia /a_a|)Gao)-rjhIziXX-$.oFI^x/NRxdoфM[n+;m?b Mn' c+g6"~T6Or{+P7E^03nd6K_9$5|$^̾9j*{NS yNSMB[,$r ;ܲ(m ;,ZW'iu yx§FwxPf drY@\rk2Ax5F䈯d,BC{\1f孨ۛz ym#GG.{/<C\G ]*e;Lٯ,M lTlQp<%2^wRdO:w,ul]jUSўDFBuV8O%,*;2^?fW4Ҽ6`@g66쓹{!Ө Ue L+}F 8X7IVo'5us> 9CENt(:w_0v)k>/Lcb&MEJ?~Q|LUINQI _ڜo)M}r* f")UW0'6&k$mԲ&FK݂]5E@xgO‹vm,eX4oYM!Op©vK|WWQ9g2&5ikxY࿽$w$tSU!Yal*S 3 @K}x_yUc1".BTk))8@-rמ4$~&MAɈx蹃? Tm? vSwZn**Mun cG/-ɮ6δ6p$IzZszݖSq^|@6 ($OC˩ˍQ*t1oIVE䐤G}bx=O?GvpzŰ & fȗ׷v=gNa#1RY( t2R٤P[xKiټLQYr"Qḳ́pן~z{nWج U`)RC9qh00-cQF7$HRO˰ 3!%KaF=O̓1;[Z[ّ "c^_Rxc">7o U@?q5R .794RII_ CISOHPY=d'Β̎k77k^&HV+&`=i[.ۡC8xljVazAZI=+mv l=B #Ι"HtOzH,#2ov7ˬ."Չ^;dy 05';|H!0>5ǞhI*uVϜz fg22`$w׋+=PXy{;$kNpL cQ (u?M,a;b:0ivOm$c^]?8UZ q)˔9,挙f!@Mvs7 DR'Q_84%Iek{ZN8" D½S]EJdJ:PP^3REf-0L!Z!kP+Q5RuqT*Q_*!oD$,L껔JdqUO/w:9YM*NTȮ?xg%& '&] Tgf˱PeYw>~Y,94PdO +i3ԏU__M!?j/ 舦G1^}7Ǐ$a EC\e`^;f7dnNޕH ΢A(CmV͵ Bߊ5eEq=EjN#a rp`$ {l"e Q2\ G}ԵFkpd a?p~b}1v5 /7vw@RgdF$Ŷ|a 0e{,lr*t".P.J8$ka#{w'k`LvnTZ,S!-&?:RǢ`C(J )`AvNd8U>q]!8rrx%Ha1*MV G7>\n`ha|&p>3{UDݹ^0r#<9T(_|G gGqH ̉a"}˄[܄ŦVsr]NXTO jlMH$(Z 0J%r\~]ܞjƦ|E+SB7 q䰘}0oꎉL{ϔӎsQ}d% 61,q}ġ}sn[I: 9$DR#%> ͇wGRe)_#> 1EHcBMP?E8gPZZbe+`K.9/?o,0pH{Sղ4[r;(I:n} dxqT6:z(jo^.TN7{ta>?X@IհvDe7m41$a aGTTfoDQ5^JnEbIH BV|}YNyF89 6ʫyyPc~T=-VDV4r@C~DS7CSс~cG QGXỶΡ)pZo?ev*E|v& R} G\>NJ]c5-V?vBҜ-k?<; JcI:m@*:@-}3- Q· oa8d0ř$[}N,aN_U,QɟRo$et}UA_v85|U3^͓[O7pU]s쎌.9AS9܊b(:ccCu@(xc!k)oQM$ L .ʓv ~wϱ?# ?y& (F ^w70d9gڡ %Je #G2p^=^wTUnT~TTՙ&`Jy>.veٰ\ab?av k0~UA!է_8Y#${yYBJ컱D#w|rф[*J i0c RԧB@GzЛ8電C?LlcL1ڔuIf)TDMJM'W sCO8[pma.A:țg5[ w|_Z*"qD2…u Lu8#\1T-*PN\CWC;qy{;kGzqDRe{1涞 {~mj? C^'g>'Z~/gU]lx1$c m"HH/?r[2v-lOO"۪j7Hdr$dA=~/:,Ym2)N C')v=|F ĩ$$ >{ٛOpӐ$EbGA:ktf2$ >3IˆQ9䆠˙aEWm_+K8dNFldq3*7ݱY ߇Nk)9R:Wνۙ)%WկË{]n L;WLd3q;Mn;x:o800X4.jf%%#?&|lbVYmbF0Ug"dC<=s9ɷa0Ԛ#4(& "n}Q3<1efv',̽Qkln+3(h@ )83 =da16R.Jn2˩TR\}8xkF+9~J$]Ls(CQn.77;^apu8GXbkRv`My.ÙyrW Kc$#bۻ:#p@~ XY,^Kn\&xHus>ZfaФca;f^5k;6֤"LKΉZ4~(XZ-&X B$ceGE3@vE{1Plݧp8%Gq5,L!XWvYRP?~x&C8XԲQyƱVF ߊ&2;}NZɅ5 X!`-4 8.v킕l]Ǟz\m=*pbI-Li&ڮ.Lv x†{@h%P'fٟ'R\$bt$NmkX>L$~ Kh+j&Xi'*ĵ/)&YHwYc?9rҨZL1M¹ T8)8;QC>S])82E&%mxsIzppֽor%1.rv(QMRϳY^~ڽ[c)'MD@Bf>iemʣn-c0uH)Duv䪲c`QBg5ۯ qa، nbg~M@l\!4"-qԂ?/2$:Ý̱B½YQM-#SN-87=@m;]T5,4I>h gi3Z+yU5nɦH"ͣ ]`n*ztՍ, F)IP[ d }pI?4k{`ó M7pV{m*:q4J!)γ]ƐGՎ6Kj ["H{<gY`s}ݖkH癕zWd`8?4PG_p4~~(j` -fIgT$a~J;Q<"*sÜ/݈9S2OlU+ٖ9ZKY)H4#]GR*|\^*w ?,϶V!-tm.뼥z^iց}Z3v PRCjn󎾘uVP^15%Ja32/mRMbNhĜLx/ ]xjB֑ܰP&[IJ@@kE1REY>#m qЃDw_6W)W|afP;[)3CϤacW77])ܳWI!ٲ[3`6be&4z";YP'SBV$7 Te>wO&oykh `@Ji$9IR>@^7ߺF"<0 6$4gКXLo,sſmtd=De3 }Iz}v$8!fX{)GVYɁbrVbfcȾ{*IvM Ɗ򉭰G{">n04.E^l:[݇娤t%%qMsqpy !: 3(G:RRLBss4f8=2wW99Uz ̴Jm, 3Wfcΐhj(Tqcps n6Hq jC{fo Ri$L<,k %͸^iU' w\ ۙB#aL{Me2- ;pbX3@ n n| ,1d@,1T_ԙbUeJ^Kn%ڇV{=^r7O7['53ƒ0-;&}]nO4ƕMN h c9tE: c7|vZW`~f'ML c')7vk#2-aifF@Zz2_!:kEU}RX%#c\384ٮZE%5sVp\[@tR̾;U( oD9-F~Ө6K!fIݙpDe4W,׍g{InNcO5 cʦMvdPІsӓb4 zc^~&UꐯkÐrg"1+b{D߀5} K8SwZgaS:rxvhXegu|?#dFCS{7K䳩S;yR!CF T/ghYG:?"= 8اimn`,<0FCHbᘖqSKimLg܃% MGz "8|}v,%aFԌVɐjdt$mB UbOPh D%ͥΑ sn"OL32(*7)N&^jy8..;Etf;aTPrl̰)[1~W| ,#_1KeF  M -qPsTb<;P~Uz46=[=#cĩg6L4:HY/Ԇ$sE-tFU 1V+ G}@y"5`kr_D߽|Vrsa;VUp9jG5W#]n ENSfP͖Q%MȚ M;W̬hM00Lծl.q/Ws揯^SBpGslN)4#1zȤo6RG̙6|FAL뷸 (u\(S1pF<4k׻ߟ'-{NHY!y, Az>*&ٜdpH9}ߞ+b-r`qDeQ?$76Er$兛tyɤ-vx^'A@c`8KV=8]g8X΍L&9r&7 \4|VK<8,P=_e{@.L`fG&vM2zaIwi+룔|,9Hy5QrlA0i[!9Pƙ[>7V4h|8=l J'놷,i2@ߑsU%?<¯ȒRk /$kayYp#3D:(AV!SN2l SV<-M 2Q&1)l1Nzoءh2'gRn$w ֲaB$R-gs=>ҸO/۫?cS GB!B^Te3ݭWHD<\9;Erf58u vP[i;Z]O۬7$-X\VoQ`l4uvNof?J?^~sve Em.$擛+yw{hS%5xG}DL42* f죺5znf$Lazb+c }TfGϤbΧʻc#r0q%m%22&,2^ڛ_^Q`as3̑m@ȡ58msYf 92jvmP2;G4ix Q,3JR!viĶcRXhs\䖙IJVj'vsv!"'ʝE$|'/gۚ&`4rW,nɨ8lѝHi*oq~kfq,LyG.zQV | P09ogq# akE~H[fk yUGv3[)K_C!YDן,'#U=u3q">J͡#>C6^$~^I&:Bs58Lnܟ4/ԕ-Hty1J,1= )1\dCĬtt*([%]fKдRY',+X{ ?ss'5S)%[@!P)FO_7WWۮ۩}EXO.&#b\ɁSwRQ 9P _lmGc҃A.`فH̜{ ±ê={T k,% #vPNmeJ b^fnfggi7ӱx=g`Os9V%[A3p=3ׇXApm GGF>'6)dra]Ļ@ /lW.̝ZS(M{eٯ;i_nQGܽRkfr9LihrC/QOCH8H15J'$K1z5 W)xήOǑpt.B$ 1ꣲ$7pBw/ų;2+9XR#4Yu.=le?S[4{4vn0!6@&څo\ H0尔J("-.,yH݌lb#ŸJ6DtB$ۻ%7.7X f.Ra}{~.䗛/VF<2s&qbBhJX9Hqg~C@m*[QdX2,èwó@th(csx$w__;x 4U7Fo*x`0ltdrg{HQ ??ϵqVe͈ j)A5Ňe{yvG{MV:y)5I4ef:`fɫ??c RK0HnSD,7݊Uxz BZ&X"ij s,ۓqo;!^oΌB?OT8d(:XEnxAd+tEC&Di"e_c@j3`eӓr{k/*,߆qd!TK vA8?,,׊خx}U%r3d D44œ\~d̄7& >mg8Nc#PCF- ,ͳuGlR@[kr!{&} ]+D(ϱ8Pŗ:dp!G+OTL+f8Rc~Ml  W/`Ax6̱0aqށM4YN_JY#*P=5ҼݏF@=d'ϫۯxm XvZ R۽#YO0s  րx&8(:܍Nev@)_#U"NQgK 9O)#MKU`E^97WߢIҺdϗm IDu vv#@C.$G#e=yk.z^jf2΍6`#bRjxy<%mg#D<-&fc4߾d1=*@GUv`56d "2I^>3T;XS-5ٿT C aYqk!s-M3?^ωO9BDRF4r-z$pڼd4bJI]hNH$$̅ w";|'6EBňCWUۆVeQ?{DK t=ajԎP&]0~ׂI,D ǘbz?͆!{нYdjm# A6eay|vևXnD/;v0t+Y mKrpFZQ1P-ËwpYUbőyɺ7pG46")Wud& =,G| Y uӋ [R_frQ&s8ӆ,GRX*dK姑͜6q-=X* ߽|Yy\w<qV҃($X-[6vˆF.o? 3hZyRoْ/Gˆhtc~q'lDؙ$艑V͇4$8O߲I3J1qTATbk4 k 8¬wW/-H0U,'9k:\ϛ?48\Yv!clʮIXcY@QOACZG Q؀LFv+53.d)>C"ZTX ͤaOb~s@A;^^ߖ[LUݙ?$3J蘧2x+e}yk;% G4\v8108Ͼ͌јCOۄd5k) ך"D֙ѵhEK gHQls}-0y΄ P}Mu͕ţCdðш8 Xc͙N3OJzWAwaz#\x?& jV8<%s$H5X3A4F{͇E?Gy@8y:ܰj{G㿰Wyf¿ȐhTL4}J{XɈGdcm~n8m'5i[UJ yRbcP{BBr4@z4Β=;BW- U/} CbdFשӀl!nz> ‚H hYMZ΋.㫷o3d$&^?:ä0 XO#YڎΙaϖT#TLDxDHKHO:rgtC)J+4.~ր yy¡\':?M#jo^T{Vd@j 0C$[9H{qUjsYH2^͒1j+|~~W03ŤR,RFN81wdgw7vu/ёAE4wvf5[ ,΄k#߼tA<(I#*0Xd˟┗^Ώ_)رs)i 'jW1R3b̨˞Y^ߒ7L6Ѯc4D;- x!8\v!2ME.) N+[e0 dO_TVGlq[bo9Cy*Hzfbe0OmKs QgoS7B+cHJwHK-8tNi^loY}l? rmfnF@gK'^qw݋$V)mq`ήf:y@,9`l?nvSiLOT?bi_ўSk\y%jCQ/gd 3AɊӌAVގ^O$-!DQ3 ׷_%:eWō6kxFf8,m'ɑ:EϿ\i&,ÌVah%8Aŋd$A̼ L9S\*/7.#ޓ؋ ;`=4=}5u{r^rl~g|lBϺ/ 皥iYP+u[ۻ#1رICU=N)rQ$PY7#a1ht' 9\1< @T7Ukb˴FrVGvꑦRyFr͝|濬r_$&+oZh)t .4'=On6/ J})ҝ:}Iɥi ?괃/Ҁ'i<ђ|`n7W'GTnTpnd ʑʜl^up d9f<1*MD-gY_N9 lp2'5\&b q6"aKCȠۓ OV%60,FH?ђj?\bλC:ǜOdOSb9 2;ّ8k)zqy% R |lÎsfH ή7dELEHXXeaԜ߰o[dzq$n)zIb<[ YpA!Gt64GOnE M:z'M饧ͯk6 q O$4El&yZW$ ~]] >͕=Mt{)*pܓ"P0&&?G\0RzX&"#/$' oÔ[C _ՐZ;@ \}-EYOxj/P[IGRA1[_Gz?UU+F]*եI@Vpx$/),GL ]80E]c3Q3.;(`dE h/@;X(de-(*Eu?o+q54YH8\6xba}07M!DK,&씟m1طdw:ih"3LO0IƎLѤïdm]h~=TT.G`KufݚI&Dw^aF a%WrUyָyT#.f$J3l.GB\ &Rply&ȥӲ%Wε= m-8x5̤p-i'$+3=sُvZF7VJd0]ï{:KC̛9Y9ՒGڇZ$d&+u548NsskkΦ d;EfF˵m4*U5SEfΣ`Qc.YuE E'<,~‰FKPKC„>N=Vw[6sfjlx6a9zhò|7, 2s,!/!`9(e40eEʅ 2Z!K[A\}Y]±{Z%ak[ ;F?7.(]*]yḎ@f;'eip ,·F> #8 5KF7cF܍$bL>6SRnۍG\pHzhk+)&gXr)&jI"#' (dZ`gmWx/WtA΅|K# Bse[I̥:;""#Ǐ*Zle2z>.$[氦|'[g3ꛌ`, >M>2Wɜf&)ns ZX#tŬz=~1q jB7{id[;?Ed)<ҭ|bb{#(C~XU > $ *y7Zx(lp&م ʹS2dN=ɵ{fŹ$ɒx;|yXva!n!d"Ձ~3,Zu1ȠaGic"u* T [Mޝ- שq^~Gpzy9t)L`+NdZJ v0+u4$Fb5NP5oiKLjE>_}6C)'4lNBb%qy3|xē@V*$7ϞLjO ;~hW88߈gSVp#M `ˍNL` RS|܎:7@;%z݁q+#떤Z"%IYPGߩ'b/6E2P(#ldZfj4b[HL̒<,??9y&&b&ayW6w1SvTt(ZR8E=ѩGR`|vs6W^aQ"61BzDu v4 f/MV[n7,;y?vIL40 qj%4.6(BtxnN 1JCdzI>l?t7b$S `OokcMy{"ldX:)rL*SWzr0e7u Zz sdLJ^;8 \+u 0=; )t^!?㏛,;Oi*-E\wOnΥwA59!sȰp9#׷ScqOF-8RipCcFI!ixuw_oe|/̌dc;OY,N@KfB=w<QfFdz5d5t`0<ēa_ݒ#?ɁɌלA @C֛7Ao!*2吢)´HNzy9j:1zl8s  A>7=S WB\=<s_;Ca{*>&XW&)K PWe?u0GHzL2n>É섃EX )KіpDk4!nLJbNaHRiܷ=cGThvX qa|Mmi1IfSk,~04StLJKUr*X0G^W5/͵.JġƸEs|hFLV)_a%-ٿF߿|~]I7"+#bN3gQBLCHspGg@Er)!)`mG7錙z 5g <9;q?Cqěo#\ s52JDE a e=ܱ'Yc."qfI;f6M; Z&G=S=vugqj3Q@Q:OMxuyDj3Y,TtŴH)\,x~O î>]]&{c95l!|>r.gQTEb52{jTFXB,~vhs=@_UO+-k(Aeg,lX@W,:UQ}P`,KU2x8Yq<-xo1`A }Hi>l{xAh|hi|k1/Jp}O^‡OLؿI3Hchj?1R 5 Ufw )gMJz²# ˁLV"ktwxd8z6 pWڹNMHF[;)OUV=gls|G͗ĢT;;`-xLn\=4zK~sJH-}Lex\?_?[ЦROFz{sbQM;;8vQL-)fe__\Z,?H!KDXw6|p5V,[4% IX, '-@\f{^7!yiHh՜$u[K/?׆A)i zɊ\C4f<˱EWNC}r9Wu @q 1]Գqưq!]OJBQ3CaͮF5c;hdT/aWi^_Wzl^F'TR%|yDnleVUFD $P'䷇H2BE,%)܉Aн~ZO^z㌹iΗJ*r-{pU /[+k~[&YXJGo45G.Pg&_~s:y>4&0s]U{?ߕMrIK? 9ǦDXS8,{h}4{p^&Vp5Dj?ܷ`3-_Sƛ=sce2H2TY9J - A@o2ݱOYinni$=Y2KbD&!1ǯUؒL%->_M{W#4t $fi7!u~CN^~xOt6V+Fþ3X%@ +,.[ a>@"A`ò N3)G2\Xs#m<3l-}aX}۟2U~bgCYry '8 ޷OKh1 >M "xSW]h$2H׶(>fgea5*a _anR 0nDa'RR= UZk]-5Pj ;q|*O~Gfn$ dƃnrqEq Z1R25@lzɬRy6Z \.qqDMϾ^mO?cUFo6#f8s)j8\Wxxߑ666Bz3ӓɀ"lS2StxvE-o\L2J@e}WיkcUI Yeǩ(7§'qMxRXn[gqȝh))ȸ*i`UdU(cƍwJ6qXpd7ۺɗ`h'D|VTwT6?m!/7$kvTgH Rr ,引q"6Ǭ'brY?c VeƆ1p4N6 Cg fxvZ#;G&Ik(]\7?Ћ}n<WLYsԲm:ɥa "ѺYTެSj<_pw?HigHcID;<-2YB/pbRLkGQF8܄ ௤Z9^?~"aq 90LZŎlp KF6*YKr )+hc(i>duJzTӟ~^T$59SHDeۄHߏNn[ kP2C hڌ"5m/l `я6*#b P cdдِWԍ|eQ "(xqc&q^n9a[gF`9>2H_;NNEC5) $?,u&M?? ɓ c]R׭j @(aQuy`xV')3+*Kz;\(bg$3eY`q ;y.DPO]x!euXqGSc[׿7~J#zq)^tuLrpÿ#:i~s[?aw*#,?Bʵ= ~8* fpZp  =ĶJ&l'"OƩ1Wz hu6V7?Pfu8sM<'?6`1Ϝ#'ɴ z" {ie9{&N5c[ML|ʿMSTCo>#a* BElYxÛwߕE;۵xT)W$g('*?uwݮ)yۢj49%p%:19"sOd񞰦`{8OPȾ"lQO *GK^."2!S!i)5mc+[gG:N:C.PzL"nN_?#=Kg~ iD'렙U0HL`8SY3>9ܺ8QRV׋Ͳqܥݜ ^ULwZ<~wgҡV|$%sXb,o@&W[eWfrUpQ Nq{阅K$B}-r [Nha-8IhłG/7$'vonB%6v[*Ol@Qs^2+/ gYKRSl@ԔϦX,yS*TIr(9ï\qg ?9]7-GiJ\3`qfo(,~!L'׫q(xί3>tw'Ӥ屵T rA<kGҹk N&jj{YOc$gje8=6*1Y!(yvK[^s 1('9$U`+,F7w0?8Iƍ `XJF),Ze_y~3Tau$t0ZrfX8vvt(.2ݬ̙ `Pj(K8P;gcDWDdM728HA&EE5D_WWWLI0? D6b-Կ@%%ly ؋\CLK,BK^,↠ܤlM`/}4;Fw;ad*qpv8TqSHH'&R>_O$0Pqߏ ǽ6تf.7E$wVil!;:!FHbN˪kTu4-R  "X<y56Tns"혆>َ ̭Z5013M t, wpqa ))(YGi*&w#, [],s,O9Dْm$#"sk#EMvחͷ%%Xb/j9jsCiyu5pj/h C rI ))!HVߟͬ3g~^'#/=᠔H{ZoDXpH\޷^ȏBeD_8 5酆>:Ri=j[RQ5SÎ}xLXznxM;[Dĝ_ ALY*e0џ"@éRrSk.u{w@ @ܡ CC,~\-:Q!cTY]^;%%Kpa:V!X$T|PmX<\$FWC.wϫgl5ӂx8z>[Ezxqz/l lYVH^ ;`4#7%ž;6}d &ĈA:,h[SŪ0̫$l?As)(SFREY5,'ʱ/`Zl8<O C{U&biǀbRzخYͰea Op ԰z.J$SWɳaШ`=K6S@of~7,'V_]!0>xq]|\ۿk_>ҠPxܺN,4x'"eƁdj>nW,js91ؤϮԘNR6<0֓HjgR'` qbo1m$tGoeuc3šH 9yS""*Tx^p"18)[Up'k8g5{6" C" 0W5+XBMKvq)A*Env&;KhcZ4 U(OloռAqk!=LȜ5cˇ⺷盉]qZMEm^g䇟6 D6@?ewRucvV2H.jp0 XQA~&$B:sU*G1{r{ڌr#$8~TT`ԓ9D!\uVݵү4G\u_BEZX"PX8̬ 'eacY0 +  f)^gȔE(`Tؿ)[@>\/@NYUG'r0! D%Gϊ6^]R[?n?4?8rudc`R \`\o"PRR[9Qi0 iʡʱW|+Ag)[+чOW26*?hxjb2'K*"g>KqT< db<^!v9'<`"bط̼=9ðc>Q@ޅH ?%wͱOh6V\ ͨ\_̷neP.4N4R qs)*»LG!xJOeveGWbneNd9UJͷx:Uj9,#s$oa9yr^arVAHXL%ۛrg1q!Y3EMd`)+hieKZH,J }ܨI1D[was,vU9u` LL֪89C&S0ƔT_6E3Zl5YX*!0NF-(~8a*F:S>(쑇!$x<ϲ~)ìH-ܱ1L;=rqD;* IQ秠3w!ɒdǖ-͟ B3P8xG*ѽ3 wCeEi gjfn[d$.8jQ{n-m܃ijXCq:ߎܼ@UyǞQrdecl\ E z<@8$ϊ}%E"*ь-- \2PY>`3c7d' :mI Ж/A^NS%ÕQx#7]'/iŞcBYSs 3 Y.?q)zpfd^mu@ҿ.E_r˾?gX i-$|CM]u`gnOIB(UɿY&D1dX*y{<Dl8"'?O08 5O_o??>V{d(1l4)E i1VYS)!a"rdžuo:ڀN!|D-bcgB L3[,3FvhuQ!kNV φa6u2QG Gj{^f I6 FN H>(9/03džWjOvKI0QʑnG걉&ZjՆ?nϖ刷8jH{oa4A-hvs2:Zn^n߭}dE_vo20..ud 11oB :"HcBa,y#z洴B[~I1WJ#WTrb@EQhWRO#iP4a= 4VDP%윺%2sÊ-Hz *WYs!mkQ@ǞɁCz ËէC NV1N$W,Ft٫USd3qQtfvf"ǐi mwWWlIUx/dS13.8GraZa͸:RaGhegJ96Kȫ#=j'YI>;1eezs %@$'N6Ġ|Ϸ=Wg|N0?BE|Eh"0p{D:NspZ sPZ3dUd,vϾJp0IK. X"Yn򉙥?@ȅ$ӑI~M/}Vv ;1E~uu=*unfϖFj"<6orwv8h4u~!25*;|ʤJvZ T^E]YT#VT@{2DV+ʕۍt{{:"&;-BHYUcذo*?x@XMkLfW[![8wp4s\r~zhs^cʞ, HƎ+՗ORިjl!6ya#4Rq!rLl}8YP-Eˑ' #MX1/Y՚PfOz~L#{Ԩ2{Ĵ ,xilޮo~!I=H;I+D7#{F4}~f0rB!?> Ui`;Yg/MZ!{b)pH -Y HÄ_Nf@|-'*:C!t<}XXCp*J[ew?yxM+cKD컜8p8FơaP$-,`]ۥD۸xҎ73<ߨ D8Kfݗ#9Ň2Yt$^._kEI}x'Eo=3}q~l32,M>>Sgó![).m}F^Tl}vr9{{m6w rVjP`e3i]  cW:x#Bbs~u`R7ICwoo0mK +z h9g*ā'%Ow!p$[ݻYN)s҈ 8?^<;s':YjJ`=VkDlԔD;( Z[Z9!fGqPg%E^6齽Pu)I$D3tSxo Q XLC9^E~>q,*溕k_ɱS҄ΝNK1RN-]~:zP.b7 Pi*=Fg62SHr >QZYs'R#ZfMaO=X=!IqLwSs w{8np.L8 *)cXhGjZ8HFȄu$ܓm&@'o{\4Du}I#9"F+*UΓ9E-ݎ$tan&6Ifݳr'ܧoM dTVƱ1X0iqEEB_x]'NUSnV iڱ0 `xȵ?7ƅ&f稢(~ >rsF\++)M TDՁ1'rklU˜a 6fN{08k%Z eRhv}RZS+ɸx,S=cޱk'(tYu/߶Wu^W%-6nE-gm: ^nʌ,h-ʰi3@ 29%D5/TWwTX ~;{yr"a $m:x ^l|{b/sGXw) #R6.sPi[NRxh 9O_j, 0 x ӄki1<+ܚ(`iA\R.0>TpH3<43^=?m֌Q_K bo6Lx4~P=ٺeUK[ A 5>%氁彗> {\_gŠ|tK,\Z؟CTvYbIOA6 HJdOd~^xR~W,3k0YBZIѯr7OX8v(nGrR0 ɇi:ETCޖbqW&%$1Iwk߽yyo7$,*2S"&j5; -6ߪ/x+L ehX1Y\}<͏*e1+MIkj)3".[˓G~+tGDE !z3l Ɉcܯ?|=tSۻ^pI HDgG@S5R%G\&#I:SWFڦNk>T̀!iQb(ЬP߯na{OsPML7)<</n~ EO"j6SDPzx_5s[;o&+DJYA<$B$Ljv5=ruaedVxRN ŰTH0 N@!:u ]9$6X`x q=03$9}U'Ȥs{ԭ>qn9%'p/_/TtV]ĜB01뭴-I(] +x ᆒh>¡r6' 'krqVxW𖰦 <\x%;9̈́J&c$ _]2i8!g#E'eo{l|Q5sn @Ph52(.en<'ݳݚiq!'5% HW%`_)舅hG#:߰)vDO 3H txrf L+}Zl9> K<Sg0+s|}e5< }"OzF@4S{ly7QH:xx"W?|[^=r^2՛og+t#ءXJj;={v L]0Ula&: Rx|oҺXѓJ8x9,ژ a/s+*LJJ z}qKw<*]סs 6M)zEڛDaj{eM&+J*@YG?I!g7і9n" D8 8&=Z3|6R${e@Sҍ!E>uP7\[S&a 9ErlP+2>P A/N2N`%Qù~(.bp]$OYI/&1 'G9ITk)RMt&kURR|{eCs<\na\Wdn{_CvRG,YÆ3 iIqVhon߱HU&Įt30e)#N.2!|Sf%yN>a~z*w۱ӎ7l.}wowk!E1 g!+$*K42Bzو6&:]DxLzYsXQ y8;x8%B<8O gT6B\"Kfnbf}Rk( [$"Pat}KuR'J=ɭFhzw #s(4>2 '3 &.(O3M (Ib*ɲ'nh[.Ն,Pw+^IQ%%Koo&H;4cS8_Rߊ*| 8REs SаÂ)uANN `ț]a7E.w:!P:O[L1z:t9UID9t*z$N+5:*),S]ADlRT|xP@g]6R0ay!Q4GGL"7"!w:YˤV}fȪAqrJYPbo;6+HI/k7F #E5Ofi^DLM(6HYDN3)oEv3i&lҥ' rёf75!լv YĀ 'F;rn4T# :&%@ꔪjwم=Mg7M]p?|TDᑍ,_D5%DQ(jg^]jG HZ ]7$=['CF|e9Fz155=ryN#C:Q%<7 .hʩ[Wf۱p/%#(5imoZӐL Tƽů_V0'x$(B2G!pc-Rlc ?cyp@%9% ;I|7WC})7KMa*1 raa`zGMma 9r*;ġBloq $0|<%~\W?6qϔrj2Fb.AzlBIoS3y0|s.1)H&jjOJ=>IQ$kvRn?\(['¹!yHnnlY\\Ze~$:ܒ*Ćs`ɖQ鱁:1Sp(%.x|}·{2Dҍɦ[,t1iU92jY,PTqz۲:Q؅,`aKX> ՊMȉ^NICΑ5 ;+Y1Ѿc5=o|9>Rmi&#*!pfgjsL':rZ<6@kQl]0"0lc)`o!.xHS_C=Zkˉ{:5D)Pcd,GӺHb| X'~[mvggsoH^>V>p$;簗Ie)>~  FGi8'cפBB\b?O؍W8)LJuّtDݽG#uu<:Nt8†j$/f)̷D4j#=胷p҆={`tZFH 1u"s2ըIYR- x~G.[`D؈z5%!buMR֌S1p%ؿرKC)W8+1qN\!wx|sbqc5I ֫#IE{)LSfԦs:S3/>}_'LS Y i¨sRH<܃{OrtpS&矖 Y^sLV:;@Fa1R+nGu>FzxN 6IƻƗVagpHE]X̓sWBY52<`R[Hufu-ڪ|7B u ."/CXRg![FTBrhZN3Ǐ7ϊIMfȰ@ߙ!Kc5s.볔\ :R?h6є{"P!BŰ3j,6OWO| b [*~%V1%_|3/>reK b\)zif%%'FH(mX-fOZt6]}y\)BYn|S"BLmɊh7¨ud\We!+T'tLiqa@$@ <n/`+gd)Ҟsj&g"l0k`XJf)"<v{9% \?=H x%`rx9b7wnd zYR=喊׳LsvN" ~g;hbW?(٫Snų |A Tsb?R;+Z%NеPX37c6 c4'BbHJFI!G S[w00N8/hs~S%?0[r' 1Qq3B+=P7O_Hq1(Ŋ;/&c{4.^_dDaC&r@ )tQ&NC"rb fe2aqH3;f8LԶ0QJEF]hݎԇR2Ն *Ӈ>e(6I} 0M1z#Jvџ67˓Nu<m!brrfE&̱zEzooȵ >KQMS vOR9Ɍ]UTT 3Kj ͌7\f9H9є_q(؛IoH}#ǧdr9u5ʈmO`W*%ڸ@Bb{Ƈ=yM=b\d-Ź<ǿ~bh_yP9k%OՑ9eT_V]+j[v -Pf zau)L.w[Q1cuV\ @&'D.f9YzqzSb|4+]Œq|̓MU)`FK~޽jw}h#1]=[hkZ7Q=|;x&"iuI\Hl Tk&vlH!P~:ߩ9;,.8>T[n@Q755A'AXӰ n .6 gQt%=<")py~sB̸<̠R9 e$g~l04R՜&=B|GM٨ގѲLA&p2Q;E=DiԛO}H}&Yީegk هkK"3ơ!??(o<.=I!iMsǘ,D?ODdatLoKKUT츁潥iewDK=3Ä@$[sJM %^=GvR:Oxy:>HBVaVdd _}M L +1T$,ƫH[0vDOh78xhIDsa>}rfC_=%9F5ngJQ-B̰\r‹_5I![찕W_+ɋz*g} ,B:i g0N̴I(l'#{ɘ&q4lX32Y6Qk|[O;+hj`snyb\ ,5-}O&8̔Sl&֝BFR96^q,.Yuv#Oy&P=ǒ5eSl"j=-E;?tWl2gǸӦ GlM`P"˜朙C ?۲IN4rhr_fWJ2a}xpʌݝ&A?6ouk_l.EZ(t6uEɎd`F8Y9AjRV=X+g32B7I)kkkc|EmlQRH4 V})kzy#6blvMՋY;iNѤF,8H .Q1bd% K D0I&=fӣƙ7+ዣ.0^3I7/$L+R/:S2d 6P66 xg#vgɑo?/qz| t9ckn/ůBT&/F'9Ck ]bSH9DRI݇#K3;)| I:)\p'Kc9vj90#ޘ j0z,U2Qzuo~gC"g<@n"K3"; 3IؓϗoK i}(݈N"e+pԤf#pHyD]iiI)qƺ}<&K_yG13uIT[3#ּ#aE*9HgF˓ȁ+>rc߲SJRZTwù)Y+@7hy6ur҅tdX2Nʆ+Khٝtyc  9+|d $Ѝ^!&Lů-9xπ'VX&C.nR^f4R? mBv.wk}ÉN ۣY,xIAI9a .<ŋuDDߑebZRS=~LTc8#=a\k^批r ( !>>o^V}μo1F;DYC- &HZf%qH;~,v#<\֪GѸR4[mMoا ,lYg:%}`o} s7tkx]®%  gp"S!E’9/`J#4'a`WvTl&-ձ9[@fZz89+uUs4yFrSJHϺ<{v[xW)3p!3q'`k(d0PPdrb00؋ kFke{pgo#_Ylz;) }5M$+Ҍ f?C |Dz1~/<0V pRA[c B^7{qZWHfV$V TIl p5 Y֌f8ٯf9fDz@K g!>ЏpO@Kͳ/77[s%Qˮ9y\)g>k`$Gn/Y'ہ=7tHȎZ 1aW_(T+BƗ!/ +NtaPL X,.^o`H`^_s8%x1!pEJ4o8ƒ'p&ȸ6pI;%Y+bJ_ݖÇ&^YfcA8 _82B!^t:8x8о-`tdpp6?vSʉT6 F`GGP82H>-R+;s\:폋PeQT`8Y؍NUG Nv4klx -4 [qBR}?de#&Bݗ7dSӜBƆ[bm%B$$Hk+|8}瀀߄YGUqY3=3U6ԒUOeL93EX$Re;2< $?7~`xaq_w|75)Et C8;ˀL`610'_΅5KduY(whespP^ N -`VBzZ-u@l($LhP`1_C8'uiFޜ CdE'.Y1S.}ELyA=g( $"B:߲֌|a *eP%k bߡ=H',pړ/i-l9Ve#{,61W֦`lB#5BJcUh{c˦sLJlQr}e>汎nuT V)|7Nزw<7'(F@;$)AІ/vh|p^Q[eʋ:.ެoV?LӣPkN_0a@?G+0N/i))aVʍG0"iU|'; 7ɏ\ ;b[B8x:$BPH~VNrƪ0, #Éu~ Іi=X/%}_JxQɳ1} 6]=0«\߭H6!E .#xeUpQTw evp>`Ҋ?19'JN?g=2:,F )aD^y6IHgEDvt: }`si`ӣc%t,,mڞZGnhuZT(2eU!‚j1[E ]|71ޢ@lnƦ ?mv"&X^'Z$a_>S.4>f{r4JI>fAWDUd7V=vwgA}+heeS)DaEސ[>ɍ9HJRN2)`l'[ YGXQ-'ޥI{e}w^Y `/5Lc}/d݋L,]z^|aI=X6,v"q^cmuYfEĂ?EC&abmmf}sf/w䤎E'F2&uɳ}|8fr8nGJ|ͥ~~'|y;` ^48lxG`viq$ci9?ثًZ% H))S`Gˢ_IpaB Pj_JAgϚ0W()GQ"|KS\=0g(J&=5s@:P`ÜN5%&|*0S' /nNz$dcWnʒ^S@ɒ6Q '+&m8]ͳ7 ǡ 3zRRc;f821u(d²2(h*O{kcې֑VTT#,]m>j8(:q+5ANO|e`EC2TY"MHAכ"KI?2!Y[Es5Dփ,҃|܄߽|d$*31FNH<"*Sw9patl "b3`)siRP_?tQ@ #r{g!|}wAƴqBouaIԘ Ǘp1z05ᣋSF!@‘*G[xNrxJ !"|7@p u*` l&z.bXG޼c3#S ٱ{m9,o'd^E  v"Bg-Àĺ`VKgɅ$O6]9jeخpGPTԆU:|TXLe"h#ٚHvu`h?:heZd7vp2w(ZPc[tA؟Em2rVT=1v9dɱ䨎`:$lܬx;Uzj%Yތr:LvIbaaB}i /,_}v]ZG?9횝֟8D@2`c<[}mylwxK:XBiI,ɇ"+X Va嗕xga^RnIxYKM" vqy >V{:Z}d~,]p@$1^LXWXNxv¿0Va9`zTp㉲tvGatHh*YA1yh`nI J[0&6IJ=(rd kTI .gO@\ Y;ܦV1էWm@Z LUI'%4>/yp{rpilQ'|d:lIfܥ 2ZV5f4b%uA eb_61CWŋ!G[vH8sDڷ3qx-Rh+9f& fO4xyՐ$9l\N{rs'm.se!JWT)dҼhWO=48V3! ӓԂu5 /lP{T^Rj`d7 3Dα?XA?f#6 aCv _9;uB8mwd=k!,Z2,`s 3i#tyfID>_`fbT',(:BG9!fQ̭ 0mtasN9ιvb^cXHiLp?fI3qMAfRY"h9PP9;rV4y.IaxW3Iz,);`S([ܨE,i嘌$4<)5WHVtt, VeR8KZ^ PE ů߿dvuZ(/9\Z oF_Rs =\>H[y.MFx5EN4>~q(~C.14: @a9x_78'.f ifl,¹cNS#xfKd68r68N}d,-れlA2 3(A웦6 -9ͣ f>.hBJ`-G@JXn}ΛUbE@︍J>f+n(~z,<κ &Q^ /u\0$c|({rr"͍>YTj]jfb荰jsU4# DyV\MWl`x;a*rȲVWb{{/$BFzOyl{7߽85.'u>`$.t@b`n}ZPԸ 3m iRtu|,k?- 5߉j|:oasH-Hvy~8ٴbIZ8ar8}IHYuc{5/LIA&,F߯.TgZ( &2G8<*5\ޝ7`+zJӨ U՝.qHNٍ_Lûo,/D #6iq*K9Aƹ2#vI8B:U1 Yu`$1NE] ,0 Xj} 8?>DSowd8$H'>#pzqV'8uaB+*c] AgrUm ̜ۙk/9@!vw#|ԜHi؅6QȹRR4%XSv'Tn1xwDuIRb[ۭNsi` {CQ05ۃ~ACstEa$@$'w\kxHi>MeJĮJHDf$8@9dTeڃXGkw|1ж^i_:5ɕN9J7j#\JQ7h \"Vh.I ͈senvgpdr1f-a=rzX1VqR:1 α(szhb8(ݞxQiG͈PxB\3T ([(X6P&$O³s0+if1'-7i&./Sr ̓ A@$D%QJau+LfѮ6˱Z,nфP-|}Dtfw|# ?V¹+/R6RqхF.#ůWg㯏PIr!,#H g*oO_uln4I_nVכ `W4FBL>؎$#!,|9h' זmz@a?}OӶȰ՝KI{}ah)x?U7'8h{$ 9dlEgifкs#t)}b,ȼg%|4')-̣g>Y-o֗LrLu?T7ͿjINw >4izq"[: `JI!a2÷ѡf8~x!աIXb6on";iX XO1Qvd g'rR͡C1Sn'e aʉ,BY/(G6$ L̨ŤR崡!Zlq}X ^C/0Oτ\ɦo5y8n+xCRz0b̷;ؠ g[Ti0 V*ث'Y>)V"H:#Y᳏ZʔМH$ ;Ooa T~T OT{CQ6x*]e'?=ݢ"#о(^5G."hVNpf 00.Շ1cHV-O#R6:BR EY-^<{I2!Q(Ed3րXn bn0)ƋFAF6*: xg/flmoVE'6[p u͏$'>dO355ˬDrlr51u.:E+1(/ /{l1eL:5~]ݔ%”cDJ<1ylD1 Kŏ+jw 3+p`C;5$8ۜ2n iJiEmU`#g +y.zO8qywZ ;Mzis"7Ӄk/J(gvBm眾l/76ƫΣ:-bT9^}VˉF 4ϖ]<] cj2ƗdrJӱ<,eEC3\D;CXtnMD3R'$F(*6sqЊ2׫}]E Z=)ˎ,pD%|cC$wLP!x Lz^/x̞Y GZ/¡򙢯ưe>Ȅ 7|cʥV9J6݉؅N ^KlHFY_1RC}_(Qr5mB)1;,Nc/|s@pH`8Ї!rd|7AOeAsi$KLs4VOUQTmCw'oXݞ/W#oR.b"Ui(zG ʷuߟr"6]!HQX(,qjIkQ>P+!m73jF'b.x7/IgSD8gI4A#`l!,ڲFlQ)뒄la}Egumusţn pZfK9ڰqsl i^|rj*aAJ%|vmF\W̌z?H2M7;٣!"FBLGH3l8YOn9hꀴ5#G28/]}?(PR1dzxOiGwGc8D^佥LUVg^Z^AT$g$W "sS?@n+ƞY_w?>vGnwK.ekOͧy91/jy1y6Ξ(?<{m/Ϟ9 >:12g'U 70Mߊ7 jhL1AO]Rf!rn&;GspL։7rJU L*7?i耷m|pF_{9 b/vuüd#ҕΙcJXO8Zigp$oT18>u\A{f~ߌakJ 0>)^s%}aU0UƷKVɾ^T 'nb'Z }҄.㸻SS^^ޮdäYy\`3 v{ wxKZ.wqYT.fNPHg9[.P^ݭ?UϷg3FpLIhd '#/"c֗_Nz+`a|Wf4ԦaR]H՟-n;8;zP`Tјc%ro&s#4;WG3(Uɑ21mrrg'aEAdsk[&AU@FoߟVD lY5q,e.LDIDxaAzh{䦟e;/{j)$md$杨KM- {͘l&8yQ!Ẍ'as+F( Ci5VdT)u>&jX@ D[${j<%c+lL\`;64 0\o)캾ɸ\4gOM"XL :8Ow+h`TBZyh>s#%c53V0=,$rlb?_6Opkҭy9α6G6 ˕\߾dA7}ԔYF'=)-T]IW7<<:ǀm^Շ#,Y>{ERN_ѫ B]ΡG:%˃(ؑ0ȹyiρ\2,FS(Ӵm{Ip΋ }XWGލzK43Ț*Wq95Q,w VT<U6.m"oBC HY P8.R6WO67!"Nmx͉v(]L+"uC9-jI%`0(@ [8>]9Iod lx2mni X4=<> d%LHKզ`3U:w̗$M߭£_ү%v"¯7ry푕uG1RLOa` Yr(qPwz)w.J>**Lq*rF n~~&W /w/ vmƶ2"GOm~e# `ۏ$ԿOmwp={{]yS5#^2N`ٙ%ΤOGVIo^~ ]( GQ;SPlœ) B"\4Tv| 9!`{ˊl5J\V:G7ͤb13BX" Ջ_>q8ܐ%'f˓ƶQI|YͶ{ r{MpXIfvPL&[L~P)yG+vG}B 0c8wcex_Br2Ok}& /1=xL]F(_FШR8$WtR'5a`[ CCJ}ˈa`3-Sm$gJlyC3B;>jBH^>{8M a.XXt!/!Ú]˞mҶHLcx#051"G!>ۋ'jǦ )aLx wժtT.X!_`pQ}]ڤٶ8(/_W'>5Ӥ'전:4I al^ Eo뇩j/u`RSa5q;nMߝ4Cj[aE sgjRpyfcC`wӎJ2ɸ$@plj0m*e9n*wnnSg(UNND qzWru"Jj>\j@~OB / gi 9^^}8wB29 66._w1^95KOYWfzcճ#Xx LVՌxrHxNnĦx|;(0|Mi-A((Scs(?}ZtcqU'4A>?YD-ʺIyQݲw}noCLdbˏ#Dw@.^qq¦Wҽ%$C8b'= u^ctjUe?jl%6,g>0)k(޽+iD- pOi;0g8`YIA|ǹa3w_0Ѫi(C2gKT* K58amf|/ ~: tuQ|S! Yn>ov[{{W}A: ;႘&K>fL@CcTУAsSe2#'Wae<&V{j":j^FC2H)qS`BQq]Kk}׽jdұ=C4ؖYMJzLȋA*܁"נ#ZpIw_,8t8t2QQqZixN?+\KR[1Q:a~e#XP4dLvgpxZ>tyZXo7=/ַ[X6FG.*; pI3%f14.^}ث4 "i Y_M+"Æd3N0نHReP.) 'RF),4ܬ*mX&{ Cgd+A%@ jyqpq #4j1N1pJO;jbP}56dda ;dg9M֋egf#e'qk Ak C?9ƆۻOUr;N{G2m|Ib& ZcȳHn#Gu}u%l1"/HA kWaN wJ@qet FkT I8GL ~\8 4|g:2Fkr8v){G%"wO1F ?R';u@)r$]8@?됁T1\]Ba^UgI0ieC$|-^r&AYŗ ~2GcI!VEl08`΢,:_{B7M׼PX׸DB |I8^>prpH. ܋QyGКB-@ yq,A1v9%=/x!2Be/#BDK\VVq_?+MGb)˰V$W0dkOaDjf.&g}Y.S lN=,`g&vXFt! 0D` o~8s1Z7g Iqg=)Mbday'GEg[X،ap5H;itI1a؀ͨөp_-;rZ,cdXfaK9 &sQ:SZiZ/^}E$?pV(l*Hٕxr0 z"LClE Y-N* e=kd$ R4̛eW")[tq<0sMcrE䒻>4>FGр_BOu`nIɖ{ye8á\l.EB1+L@*9Rhp)K0d0"2iKD́SkOr+w48>Xy?.%&E3jh7/QزDK;G85f2fԛdpljo9ɸ+p`h YJcWdtq0 ϳ˓WƔu# RY>kv ^) fiJ3 s8|v9_)w p`Ȁ +zB'\2[/CB:uJޙ3N?onʘtfxITS9r*+l&͜ uB*e^ w#.m5g'\b%alp4>JhDB3$ Ea\ĸ]rf{7`˾>Νy^֖TSWP(8n'(B`7M3.EV49 ɂi8C.z;zR-vGfkqfcLrsA5(؞Z&WT(a<Q NZ_wG^~Is򌻥T:G6tT %D"Sgo#_݉Hɒ.8{g9G8b@xXN+n'^rA+* =dɓ^0ڊL8곷dw%'rЉRUtZ*G~wεg)=;;x&"֔zi2"I"̙b4@.<5j0޹3,\ Ohgڭr #D'm Gz ډ:RP vC,)S5G'K9@PЙ~d٩zc*gٓv2W&tSGC̑ }}딽";+=g"`9 7@*.>XQGBɡi]u$B(7xc5>M"VCgƉfDx?]/r G~Jڨ 7RDhM.R)Π.[s}iN EddTv]U'mu6blyp6ayHJ鴈rR% 0!!T=iSf՚gp8"i0DN\oFy4Mzuy:p=\;Lzϓq؈s MRbZm _&MLm`c ۃяL^r !gNɸ"Se+72xUe﷿Nno~HH4hY{p”R9e9k;[Z^.%v3a0z=).]K5BLwe CDB ūďp6< 1g_kb*YNC5|iϧU!IF`a$Jغ?NƲG['^p.I,GGQin&s|I)Մp֦uuCME {YkO\Uzte|~n`EZ]ߞV"3J`@fΪ#/QLd5H?9>˚|#b~J o1@&]LE$$ZHGȁKa (@=aUȺ4M# T_•jWp0E2Mm'M_VHۦMTYT 8f c/`` RV_l)S,!Mw]ܲ¶9{c\TD{*4&O S+kȅHfTl%qL!?B:>~\X `CδPȻ5fc[YH'ԇ*Huq84v-r).ع)Y]'^Qy"Y)V|Mp7 <8^\Xőˆf2f!~%QfݒtW @+D&>_HbHNc*RN?"9TJ$ִNW H)R;Q\" a$+.@-'NY#,q^x($K6DDmݪ<9d0=lv4®b\r 3TqbDICF];=#,zX:-S>~C8#8欼:{s9åz' fD8lZw=D{)}$ƀJ!">XǾ4>l4ZcyK+"k^k'3eU*R;Gg. ¥p<5_6Z sI)T3ҏ6UkXWђ^K\+)rQP{B|24Ɇf/o6Ty 4ɐJǫ>wyՈ3'5)"q";-[Գ>̀OF)A2 7z~D"ӭc{[S.ه0^ #JutKK ^$] [=;DC if__0H:J˷2<@V{es!}@[s~ zGt: {Ò('ņȤ;Ih<.7& ŽӴ@Ho_䯄 _pO-i#S0֬`S'"n<4} áC&\IZY=L` qsݭLn b,o$I D`gi\TY[7/i ~!ǯt+,Gst^s2 dn925.>ΦT~)e#r\ʱU|50Oh"b  ys{^1SKJy;yV"f QCfx+GmDX f ߚ$鎦v1WU8/.yjt:-;PÁy]Inh"!"s9w'3D&-I0} $gm'r4&+ܒP:JF?XP9y[1ʞfM+唌ETz!է͎yg[6x{#5ik-Uk,2WncVM!Zc#mY8r*"Mq2c${4 t Xa@8NZ+\ȩ1@+aOFfͱ#Jy?8 }0P]M^S|pXo/)f í`)Pa 3pCg ܴLt;T;| !ȜgCK%gQ3̖#9CmTJGZi1ٽFo8|d=n2'wz={^MȍY2OE1-)&dmx 3Z`i:#R Q*n>sUI,ڎbG:ӧSմ2ܢT̸kJs*8W]}Xִɴ+Oh(妱eEɄ⻕\8-V+IKTc_2=r,Ё TؔTFpҺ ȹ ܇8hv8ƃOaM>fY8jf93bvàVI0qА8jEREioۛq'r< czVtTvL̓o^_s*)z#וc/V?N}Fv֜|7j=i Y@  pz&{ # v6!NOQ߽z]^/׻{kBH+)6Of& =.VFW[Z+@&ǒ̲E.jm8Kp(R)PcɧTX4U3 ?5z@\ ̊w#!H.x}ovWkev,6BM9-d~>@>1=&@n>Y[@|&G*!*erL$o'((J2ܙ:lc-no+wӎDf]//9UIWQbR$|4Wdb6r͟u ( 4F)a'wΡ$0ӳjor u I -e*O%x7h2̵L6I<$B{"at~uuZ)T7 m>7xTp=,o=b<Nز As zPl7`G{w"bSgrS"3=&->$ iM6iF zo^][ {W ⮁K4Tb qp/959 .f~+GsV1)&=?7u_9m; wT,kޓ74Y%0,<:uٔ!c8?{v_Btql.]~<} C ECׇ2_ɅVISCAhz6$\f~瓕ԙ۵('⎏)#|-ݫ"~̐ʎԺ-@22r|حL=n㲰n36 )]I*N׶?lO[Q3ys-霕$&.K;)P}34 R4?"VmY~y{sxig4*H&́SDd?>grXՆ k+0Y< ,@ttZPx}4;UH'H$Npimyr-/%Q$@{$/$.lD38mh7̙brB8# ~ڲNw]R`ND@~{(P!ޞu), iY9$g*DUYcbpO APc>$ۘ23J]{ ̓M.V\F7LJ`Ud\7^} pp:vR`(vO!YD9:ecl:iAp\+؅U%ǂ@P@FE=3Ql%ǣR!Z ؘzO2U8*Jx)S~^Y:eE&9E+'ȓb}CnJ`5I  q gBB@P ǫa{_#EEpIfȭ܁=p$s7ʏebn|@qؖc (ʲ{e`ǃx+Q2r=NNq8@̢}S+E2o%pdXDcJ2n"L0Wa ڝgte$b:n; &4ε0k -e<3*D9 ><:Qnhb3w u}ۿW:ʱxlwXe#19m4xi0]q0J f.>oNN#hyIN[C 4xQ?.fMeu&_ɪPM1MNi:pSlYĽ؃źq [6a/Mc>`Rʜ'$$nW"16̵U%W@7_Vw^`/55tז*rO5 KÑUfÇ^7)ob#YP}QU暥LAPF+k*˒iLBvlk*8X"Mz߃}73ߺ+ abFsS&5/$;mOwL^!{Ɣ@y/A<{F20r1АURI5[b8 O/wۧ}8sb #oSh"wͩpwgߵ" 0'2:+b/j|,y#$#z4I{unq*^zAVF8O`5qSly'ɼ}$K2_??֧8լ#GMM3˥O7TJD@0wU8Sd;̩vҀ9*ǖdWC:ヸ _S/*vO]1lrt}#@!.Ʉ),Eo\B5a {{^F!U'Mil0 )jć+'JmIglJ\Iˎ~R;dmˆT>i Ьa>YV_#k6dYr&́mmxmV/ LjD1 d9LgO-z4:R&!K.)9tf^3Nbm|B=%,[4Ά@5wNV&#:u^'0(:I禫50i'd/,>;%;rޓEH|HG¨#q5S<9I"3lu/9?a^=e:AEF{όSY6AܳDG =P2mw1]e Qٲd@R5ث!"TFڀ|ԤXTl-Ol[Na번0ɒ0SL[4Yq(ZUb%\Igq{a8@H xz(\CQSv=E*5 {#+p܍g3³ۣҁiO2(2,XQT[).򓸟w#jj~/h)fX8*Fk7),F ;vPvqf- :ĻX ymƙi˶M{b6=4rsVRٟ9EDN1WL~| iw{w??T}".Wj%1=`,q/Va!SB>@A=9/#u!x%>&=xoiq)46a >iRO < <JM7Q _rh,b aY ahmFr(QŨ(bnD&YnQL1a9sT8T ٩yl0?mv%;]h2X)peB'yz&W ؆]%S':H:׀;li/|M5eL)Gq&iT:~@;XUH- /XgLebf~#J? 8OQq<Á \(ӧ"A@74YgbegJT^CUؼ=Vy3D mv#-'0@0j VngU ٿ+"5p,;Ŗt ,̞t !405Ezs-Q4bl!w:1zr#+f>oq$5r(o4e b(t0RiYIQ26Ϥqj FBh1jY)8=XDj)?+Ĭ\:9>W0$ !c4t*Ic#Yďrhmpt)3&n.LE%?y |}WDd)ςE1E%[V̕P1e#蹲'(F|@D?uGQ`X}E$E1mW%GG]wKc*k>"gj%')))HIa^IXe8(וU0T"#8d5܂Q'R\<p,U-aS'x+Mib8%ެ>톨_}xX緑&V!Q!f0M੪,#sp$u$Ξl!cS8韄"h^6N-;2[3ŔĊ݊QP X˿>|}y!Ҍ107 nd)g9RN䦺18LMl@gļKf#T<4`8<0]`q~}a^xy*ӬQX 9Nɶu\l ܷ6DenNPNN|S1Ī-la&ȱkD&5>vDhȽEY;I;U4֧0:ԍuܝ\ܻ-p_$@J&{Ýe18ڴvWw?q"߽|V_u'C#ݖJx1$ڙ?/~~cbuX!D,EWI'1%t)he 5Cď[ѡ9ɿyrӚ]'cRS%Ik xX1v9"~nl=)MŖ_%*na}],`2(iK Yؒp#KNi @߭}1h sBMZi|pJڧuݾS8|D=SX]s"< 1V^?C8A2$&vv!Б{qԋ18$ H=MfA/j-;597͖RJZI0fP]$q0^._*5$ 0*NAp9cjo ܉T)%n"("@l@b9s$Hءӧ?vS8qpR a qZ)E*b͉wcƓ3ؙ[inKg0yWxAhk"mNI<=QB0qV ;4H;ʞzND'W[ dH1I-}JF[kJ˨_#+ 8 m߮7>wܒV0Y.~\H|Z"6@ӞMZD,S)pI㖼,pH}Q"jvyB4l1*UoDzb5~&p\l tX͗?`\PZU4Vf5cjC`I)ظxV}j}yV8Qu {5)Dxֈ3E{}{ٿCb#{0UFM*̩xm3q6/yw^c{^*[9:LƢqLR; N-n?5O@ O.wpz `!5sD#KK  @\^e?w?3'RֻAۜh|qdmxxAb]jc|Њ29 @>{a T^n/x!v~ɂ:S r.Ugx' ůQxljF2$k 2E`o(Pzv2|2N@+y)N<0ru2YrUK@AAxjoDJ$^0ycɧB$Xc;<)$O; |*Rr%K9|'3oXŨL 0wB `EøR@ܼ£f#`fw.i=^]@XpBo]jJ^}u.X,[SF22L9[Ǖ`F=$;՗1aHbRĠreiyec9 .Z+ǬNgIgP6M_ROxO}BQ2s :G4 2YSԄZXH {ζNa٬Y6b#/ReE$hB[#q'g}  gͶJ*\wV \`ǧV5cedlf/30Mm'd8b7ݷʞN`c(olĸYڮNj$My^XS:ZJdW%paG.7,rZ'QxW#6:G8.O4nBKf%'Mی8c,c`h6R47|\?4p_jK'7*)E"n<,x,lg~Єa{B\ L-FiTL奷>ܸΐݾHLY:9%u8#Hd/o'ٌc^k.c:ڨ'9K{ÃtC:EP_G- R F/t$H1*8_4*'k "y?QB^n-023"M؁̕y)fvnp֝1Ʉ" ˑ16E}GVL:OUZQd>QZ q[=186Ln*:yv")=|xԞ$q${A+Zs:/v=‰_ճ׫1B 5qĈPоoX*6 *q뻻svd֒ZT# mIK5IY|U2>Yɓx_dK#EV="EtCD݅dfL2KI_swfoxGs'^6 AF일c mt?ӥ=^Ƶ&9 oc~% 3>yT=ߘ2k3=Ud <]69,q (WliNBrP ~R~t#G]xV#GMazږ|0>ZK5l2CFߥ^}\pbI0"챖3#361 U3u ܣơ:яN~Z6ӧh.-qVH%99Y0eΠZc?I}ԥWՍjՙ=N [tfTO3]iyB:-a1~8p~GG!D %1-,d|Ɗؓ=B~LqnII G"Qx*jH-i&_a~`H1;upݡM{8\54;c#$+rvϏxn-$5t\ΊfRiF{%>/G)z*H jj >6NlVfXa-ey}a=oxCB`#];AwVe<ᨖp\{Β"X? NÔƌͅS:X( 1\Qv&GaT:Q7=|"8eg,4jyVl:#DbDP51+H6KWسyuW ټ*آ8ʑ9L~&=?wWMS!K GK%*Uxe9-bɲCM4<b_"{wgČ܊sB:hsL^<{MXF 7hI}kLʂ"p[$QdY-0a/?ZK屻/?\Ϫp=l& 9%JXN)6*Iv±݈CR8MV ':<婔k1n+p3j gSr=eJ66VF*B$dl)b"/@{ n,n5IxTy=eԾ~ެϘfR("L|VRA#i>:7fȫ*`yD\n%0͓&hun-{^?&@#`- Z9Qcd^(|<̻݇q5'(+eE3- P~Hj'Y 'h|Ķ.{KBna-MQ*nM[#c.oڕ^%#S0WxQire.b/"xf ?49ɢ(hHu:&f<Yg}v:52mƊɁ|B9$6 695iKm#,"[`:̺;Q#t(g%N!0u&S9BbtM{1C+;J-BZDԨ/ &zEWk48v; ͜D|eQT dn!֬J`ƒE5ϲKmwbĖ0]#%JNx+R()cvc]GSBkND]HNO8|WOjHtkf U7IXs( OԨ[7TTw2\x<ΤAŸ,\SE ʐ̓gaJPduX0ǗuQB֮ R$Hb2`*78! oGَI?+Y Hy(cϳ׭s m~;y?z?S[u Œ3dGBɩtnx,"O 98:2_]hdUŽwrK88 q*yM ~#g) _ӧ<n;4Db:y<܌=K>iV– zP$ֺ CpB ,&8~k6q"#oQETnnuy*EҔ:0Oړ2 1sk]֜d q_&q!%p '_肓nf8!gV;5Uw8h`+/3EsHG2n?n$$L鎊:+VXj~3_<𴥕H$W f!<rmN $RhٰRwnWf)w GTKliKÛN`܊ uήI2&GrOw(0e}B ʥjX^9r%ס moYRPk1+uw½e\"䉝;cED .Gn8sW` [.s\Z9 VœºR12D8#GpAHAys{LT*)/"Ւu:H˘Y( ۣ"ƾ#'K@DVe7|AD6da~$f@q39'&Z#d>mrK㊣ NL%,lܤ A/#ti2-$dx֕Ո$Hl1Xd - 3"[9~q 6'ebdctNMȞbeo'x6 Bһ]]^0C$vZ!8 xO|Inl`b7L"R#qVdϞ̻l3䁗7TVw_tiMpfZ!|IUCJ&awwǞ<|8T_!XPʕ7[ @Y[X%uD`X0'Gf\h ;vx\7PJ2p #` Xi(S"24gwFr"uI6#if`ھ~D+~_#&ؔ?$Aؐ88RAX|$Kڢ0 B;#݁M!V5S,T?ݒӜ}I;D3Ѽb*9; *e|a(k¹X㦁&lR\$U*~pcrڒhXt"4#yCPpv엩W"\.X' ciQ䓘dNBqlY¨5+gpPS#P#c_zQR PLMf [*yi*B [S+/AS̠a"35PFr k TfOWZ7k=ϓ46 Ֆov$20nҜ侮;bWW]z|vdb=,ߜ"tS(Ksq_g5idR DℐLt[H=}~b|ԴCXulNQO<9d2-xeDY AtC0oI:E^#՘fDs̻K| SNʨniq!&(K@3 [H9m`gԮHY> BjE٠pǻG%O&yl|=RP)"U2k | Av՝*o_`N̆aCiXb1:e~i7DJz8p3&C@<ߵMJÞkWbHvge}7/lHg\6(["zۑ"cI xHnhGJ1 %N>(9n ɽxg`0,<l'Kqa .q:I7zeeYF) )5/ ȯG̾Wllkv=M2}N')$䐣P7;[ J:)"?6up6Q4fwg+!Fl-$.xG81wۯ)gl"E,񡚳!6%b4%{*GsN_@+,(~GakEY;H^ֿ$+^4V Y+3vH#BdE&Z$?뇻GHK1_7"jMF̡fU8 8+2=7 ZzܴFңㆷ՗3\BJ8mϲ&=Dq\aUOΈm^~nelR@:OJmq}b3L>v$ H.̡7c,%&/c^-La~}#ͥ|,'.UREa DVFn/IYs [+}≬o uӪ")$fssЍ̊hHsGx%I5x9f̱VGO)[e6o,V!Bjc@ʊP q|ڊߧh዇l´,fd9E:$vqTJΥV޼:߅e b沖lSGg}vXv_Jxe&}A{9 w L{[HvN_rrHڤ}nբsV<r?KdqRk>tskxh;;T# CLb+etُNrCh.9pd@ԉ0W t>X)YbJH4αaT02u]["5e%lC]ܥ0qe"l1ܿ>nf1G,gqP>LNyܖdK:i mkHEN:Z=Gg9į^P vA@jsE+HicYWm-pvQgДE)k6$pOY/8 6x= vz 4 B tf#6+!{=BFEĖ8Շywn'2= L$*"m EN+rk''o 7* MȽS3ҠC^~ᨵLKq®Df*[x)3:LE03b_]wKQD8uQXM2H?iF8/B_~׻jf&1re}X\}HĉT Rif5H%UMaP zXr-4TlԘt6e+StuÐ^GBSn2T2ĶFVuJzxU2gYƟ ErB]"{)8*XN VH =FT xf'p8֑H\i6!E0CӳKcD@BCw^M|}J$”GRRpUyg@b*<4@gbEHɋūgl[Bun#>I+E3k Q_#*6>0En9.!|xLzڔFLW"tu(5e&ecB3ш4B(Kz7_Wt4 ͫwl/:9T8H#8Ď5l4,&a>}ɘBdY2v)FSvg捠2`?Si\|s.X0"FHD0 pkՃG\դd 8JF,Dd|yZJ2륕>#,m&E#nyRLvSWS3xc0E<eC8K!J)ҝ#3!2P"v(} HHsb'aIԋChg/{%"rdAiuj8}A7\?|< gHn'4?EU93c)FcM'#2G;} ;Nϛ_d}p2ܫȨoj8t|i͏H ݑ/#/<lZ1enfs 8 EY Ya*XL|>9`ʈ}ֵZр N斤c/P58BUc'yAr; aY'#QZD34Tåq `X*x -XU"Ēb@*0%Hن/./18`]v{҂}ZE'RRhB\Ϣ6A|9W'l+݇zs6<ſ9~$#q-_yR$Rtc[^<D[aQ4CK PNO7Ovƶڗr6H8Q)n$fLد^"{dȸpGc\6x.R"02a7Ct7q\VqG`p_풿JLyTMY,9!<81]]}Z~mF4R8T;3B!,.,+҈7L1+udv DJ~_SX"%",GOMĽK_D3R~J ?M[!@ŧWWn\u:nrntR֑R+.8qـJV4U׆=~^:͞1H'uxS2 KQ:͚D7#2*sm\ v઀xb+m+ٛT;N&pH{DMOhM1c:!aN8(6baù Ok<٢lvs/$fD.hF"GΦ!qE#dP+:TÉΐ[q`CҎ ĥ4"ۃ}7<1)*Q)A* xM>;pJUV;lsJnd΃MKjAƩCDF6_/9ĔjšBX\;N^#*ay.eXHx+2:9X2Sً'E*ZmNdʔQ4,/:כaU6duX+8Ft=s4_ψw.j#șMm];bce`af^<0Ҿo=QKĭ"IF,gܣQUǬ}]p*Fh8R | O:RuB1F{澏 wRXq@}fl£݇rqt{2”RGgFzL-1o'DG o'9} i9Hn`$YWr@Dt< =J'2ܶLߜK9@(l(b|RW.3KlkU s*3sq1WJz4e5c:GmEQwqBVOp}u%Eyf)#̚j٧!_< IYRI4!/do空e ! <k9V| BEvsb=P(d$y: F_6Lyy{!k!(#vNˀ"|N|derG"#ls%~=no&ɬI+`rc )ۦ3yg@&^Sz)&0{^ 4I73L$>fnl G/[cGhAV)Ef# rV'Ӝߧb!G-Ѭ:@8`oĜP42",=t4E^_yvɪhe 'Gfk~N}fJ*NOBEYY- iĖB} 3as9+r|:6\p-g@9G'ҖO7@u^4%LQon‰0_B.4·sY]WwLw\fKsZ)pT($@͊Vn;nۻG(= щR܉j.a}(hg$+Vv,ONycm!0_ƩuUœcLLF*⊐+n1D ?fڰQQ8M}Uj WfT@"WYݟheRs1A <;;LKWF NQ:8>{?Nb<7cڅiH*2N~dwZ*Qk{l8MI8Afr2uCDx#~ZjeZ}QY's+oF'ec#nCNppE$6-oB㘑6%L"Y3|]'[es޳9~T< EܐH;;lrp}sv gǟw.]y2ГYui\'XAKzǞCH';^qf UIadFZ d\U`i Gc'v!$R@&K1_6q_68] {n+QOg%B{śM׬[lm"[$a B!Fi03GBnw7ǀ~q-8K8XI21;E0Oo#ND8 cdӳYyOxɻNV  ̒ 27ơ9\l^qs{XݬkqZoGh&kLݠ *-Xd1/_]l\NW+2e6EH#{{E'dnlacRq8.MHGI #~.&%ECq6`ȈEgldֲ~u v<%xˈ؏A )vka i |좳J֔@tb܌d&ĎAfmD~}#D'b~͊-{:@ܓ̊y4g1Brb,lY_ aƖWgOLp N%ռ`8O߶ 8E`nH!GsRo t);,^u}xjlt9MsY duzH_?2"cl^E=yS1c-u/B}!VaX ?šw05[p m7/y4Ps:E'޾ D kio); A~)u-WO ;[*؎㐢 } qD/o!cY挋Վpy慨QY( oHL(H? a[HB6Ki^& X%G(5i/8bJ*dSp,M95b ޝ6jMVFsJqjjx~Hf5OXyXnh,"k\l9|iPI p #O:hVJ`L@:%ozq1DIɇE\|VH'9#aNn&J:HqA("[{w<<0/A*%^Ƀ;R%"Lug#1)PiWc3mND"<ʛ-&0_rۭR𛋞DΠ&/W[6Ոm*\#w?{73iEzM()lHX^*T"uG;sDBI #2HV6O2Z0wⷿ~j,@DiF3UhBe'ɂ[QK7˷r`QEEMw CEȃrc_ɚ:$qp^BqqHFWzcojB?>R0VB_GTu`CY*eGkV9č~ksYh62e!YbpnO;Haۙ5@o*P)ΣɞZ-!Uw~]KgApX ̜l7Xw2=a]~7G-Qű 8s~i00UqjZ"%^GN tMԂgO' sb&WXm1D7r w${ JKB4Bs }D sg⑁Ϣ1ق8{'3uN).ŗoTi;LeTIppĆ<ײX D>#%,<5U !^;fv|iijkFXSzY᳒#{{{V*(ŢS '| )z%NkHo#c\g(ԣdaz ԨH{ JyB{WHtb04XpE$I&)"$u](~A#8#$*x6z=e-I.eawW{ۓO,PWֳAd%Eq,3u'{zݧ{KBȆMMI\BM{Z>)B-g&Dwg|@I6uû!9׻ǤQL[ r*Pq,ˁ'6IAqc>̎&EFh[3E L/폯,,*aJAal9<_vHQu7]bd/LQS>ޮn#zZGJ JgʩFpE)vXœ~C®8o's92ig+OD/,2<-!b*D+DȂ(ig|oO-cqr[IPBނ=S*!b~Xɍ=_+9aYt"v~ZdHKlU^g9_tx}޽+gV{y; 3)k^ g oXl5Qm#e6{y?qPCVVk02}V%Y6Ʋ,K&7B "#~uGtL<g5ga $?kots~swuXΈS>[$1x FB' Nn\?PdeYLlkO( ygdžNu(S[$Sz#Y62w/'mwYr qQZg4 qJ>`B"GŝB9 $o 2Pق6xAE.k".~Ex嚳!pH}Ҕ0Ssplf Q8GZW'r{x(YքiPfY,2jsk*x+G/δYNV=c$[Թ)eTiunaa*A&+cfx}Oor-.&v->Rf p#8Sq˗S\plQ)9:{/3!k$G6٤8m7$~udm` ='MJ!Lcd( ߫Qa5FE[(p2j%C7mot[/^ YIO͈8J5ep t0v.rQu.U"B/,0MdȡUq4 "S3랮F.Xx9 sȐl*R s6} ?0'IeIc8ꁘ GF@NV&l?77Wj1I_C"9Ú$ K+و1Zv# _W_6D JDNC4c?xC@NHOv[t.G*'HD"1l8s%𺧞h'J}u^76i$~2NTzz{8uUKgϰ?z' $Yr6l0%,)% 0>kN'Zu|78¥Xp>. n n V50qe!#c4y%-z3evB׻Sc1]}~#)s&m6/߶IEA kWyȌXd+(j.#k#HhmZk OJ G^dϕi qxgL%}oX8J&jZ0X$;ZaJ֒3b.ъ|Ʃ]J āԱeÊ9i&7v*{j:qGȓy `!~*uKN:Dv?, yujz;v)>Ϟj20J|$V:= f X,$6iXTÏ}eh- * -n$F[ 3/ ãH3;G'v3)v'Տ-u)>ۛxA!S8 >+ixgoVZ_}B\u-I\̈́l""H3: HFi7$i@Y5mkY&*St*3r=KLZեg2Sˆ$"v4 `Q8ᙘllh|"g>^5TrsRCN)H; Ldk`—'Ur=Ҍ,(=c)6k<4ȜOE{P{#BT:Sel~haa4BdS1d/gwZOxDgYFfvaIBͅHʱZ%y&\",mbl9ڬję錚aNu:N.ûsΛ+'džd|YuE;C+ tGΝl i@?|n@O}?u;jzGIFAoaFC'>>|S,J]E@Q>,4¾V/W~g0?K|6ZI! 9]V+i1)+>Ύ^Z&~$7ꉊ7}ҜsWtA'Be5-'3$rK'cPcOP! [`=A$Mj6r׏:ոdh23VI"E; ?g}w~b:yꔭhsHzڡ|\L -Q|ypR=@Y7mwe/3/)[/`"8%tqس+ Cou92# 253&(Q!YK4unhBzyFoVE䉏ج) y@D֚+^bf2R-^RTSx(R?&X"ʝXrSA\8;w FE/N/ R(Ż 58HEaidvNI%=yga$͓ÿDB)W,9: \lB AYXP1?n_n=Y #>#Y"caqt|՗5D^'irO0l0+D"8|_ΐ#/˴|m=,^,?z<a!FnD>o/(^B|'9 ,qt-,YG U> oϠNaÏ鈤dSŌUsgcCH ET*elgGdaRe$ {8wF"eM0&KQij\-ΓY+o  AI@)^n><>=+9:#TG\ T:N0Qaw/8,2>pVcv95J}ެ FƂTw4%1pbsNh.Si%XC*d{I ߩ/IzGyc}EḪLQYTgEp#p1b(ys%TKCw 'xd7sITaHsxsNy-=HEYx b6c٧[ )JE,$G< .!ÛՍ@;i1,_TDD*. kI %z""ZpC(P6brW1v#qAl NH<.~Srj ڭ^`1"!~$jl;c-ݤD1.Ȝ2v+F9DVf&}>r+yʼi1q®=>}Y$\Piz(V%^sH^` =;rQ{sFrI^e-P /Ԕ5RkqN!̹O_aQRA@&;{}'`:ўs,~^n'ˏ kwhL!_]=ɆGb>񪽣"W-K^ rF%='4P >_VSK5rD]ZYHqFJx}Y&虺#ž;+Bȿp2a۷^gn W$DTw-}e"H_3~'/go&0^qs "O`.^ȝmZ FæK*Ks?oXb$U^1flVu\JrΛkRHHL$"Q6U$b,C6WĈ-9XBGZ֑#o܌KS‘7"wNݟn%_ snYSxQ;QsSߛW2gO 4,YƖN@@qJݗλK9O4绸SV4I1RC~|2CsF࣓oiU\^^2Α$Z2iJ;AS"F@)aZ[ oǿ[ D $f<`'X*?sk$W1]Wձc '8pןF˚|(@ΚgS㎑*/zaWNwg]n)nDM_ʓP,5&"yVY^~[up,s|!aq`)d+i5mue%ipwbT N1ϢBE+_v߰瓜&\kus鱄R+S!3QE]ixmvJ%pS,!H3anmp-;s٦dYNsGDyDJ:u8I$踍oC? .~'T@ bȍR k& 놊;oȨ/a86.ӕpTw:eR3YO֖ȘB2sJjs^6XW6Y51Sn Dzhn4qiaAD:\p\lMn #KN!~`_}Vw6/4  ؞K[0|f9E"lqfIdɄi` Dbu|Af[Y"4Ef"\=ʐ 6dčX0P0W?Vk$,;"j\"z%I\l wlRn^?UM80idlipŐ[F&ϧ=p'HGa1zSu)t!ԸP>ɏ}tҳو8#7s )F"%fw1fFcƜBldg'4#eyC1#]^Yyrإ4Σ㤥uF,hBM2QMI4LP gܔXviU34?iDЗ1'D<%r \ziv{l|a?mb;⩲Μ։}щj r>>%XJekGvNi&׌{KcN}m8כR"- 938Q@쩂9 }'77d#DS ۿ$;kpy}=qjT@2lS W&$>ꥈ-.y+c$<L"(cG6 kĮEq|a4p ۩#XzK55&#N,Y#iS8:J?fٷ)N5B?B0qz+Y*rd['Q{#X:R )BO9 iQTfV&# B0y *r Q„'N`"89y7503 a  #BXI]L)Xor+*,-AYE9aaO?P;9a[5$t>%S2DT"`#(F/{o?SrR4e:7wm3W`߼kg'Vw+2$JʋaÖ˜sÙX[ ⣆ K'#vc` kܤ 1cYGsz`ͤN@Iռwh?.-^D<+ H~rD!nS4 ś7^_k-64XWfhD WѡeOvۇZji#юkDcXNJs6a X EuH /RA60EGoy\]YgӸ1VڰrX7F&:~UbCK;1[L^qȇ̻{EU I#B\*"D~iMY1_8!hK80r෸_B/Gһ&!2D;ۊGY9 a8IBص1".1&EknjKaXMDawځؚg:r5|y)1{rf6B4Zmas;Ȏ|eTeciWq;1y??Hƌ0- _PsRx$u9:dIpOm~X#$u#6*j-Hg xxҏs'm5&r0D6ru QW)4a3LfGDMrst"mMZ6OՓpqR/g"Knt9b-\Bx,vEX]c~g HXCjexS\#5ʐ pM3`,Vfa/D# \/28|D9[MSB&d]9QDn>['TeR6<++-W':iY'TDx̅Wr#W$2b)hKNC8t Q{77w׫8gxyh+p+$ص bbJlg@d}49έ"r wؠ0Wp$#6F(}fa[EHbcբ4Ե\VGX7G^t` facCHd3e_b{p[G'9ٹ;1!un">pYD/g&eBI.}558$ǀyNԂD'R̖4 e>#zJ?Y 1Yo6pGC?y-xi/]ibHZWZF8eoTqt'Rid8[ESn |)#|1%>m :mWj-5cM ۺEN> 9IBTgӑň$OEId}Y`Z6reg~MyByQ]5%uGq9f gMtR:6% EQf(+M">(,qt>ϱ)=!O6N*TmM!sn2;W7ł)g-$qc8-*[z*@ښ+6L\*{RY´vzadɁs __x[1;;'r$Z ѫB} SFGdܻ!6v# P|jE%ӒO$j7lc(K?̌KM[ؿ=ϰto EG"nC^K8y?!eo3t<3+oRC~Z}e_#<뎐I[UW*0>, ǀn isx4 X2tU9ۦ6!Hmk};S1_ a֣#1}h3t} lDB1i gE")X׿{Rسlq<kHzI]17e~/: |QNjD ȢTY2SHOcTx$c4Ӆݷ;|cWfL񈩑?ht.OQjrĽ'FC5t{b[F Cd +, ihȰ RI8綟#ln%dmguS:fdAHֿ5>5-qd$O@fSs[}k0eupCdѧhf~VЧ҈͑d}^CgC8^:_q؍!4Q"$1جԒVQh*ah5$ކ&Ѱ0kXDz(3a$sRD0%.\Vegٜ&CE՟ GJ5117cV/b u8q]ӱS< $B Z&Y'Iv2.$ES|>baC%\-i^n}֊[(-?z|qDP\)0/~`&#lZD!UZ\ z ~&I65quۇ+Nmct ^G ymQP2. 4-*Nj¦ɐ?gI289':>SuƦ7 quqzKcWr'c9\x# + )\|]$AͻK')A'z`:e՟ = >B̓ɖD zS(rI2g-<,ޭH+g$R"E=٤ ce*&{r a*tMgXi`ӓqp" `#=]HE:$nuTQL2sY#l8^I7);_+;Ѫ's!3S.8yُe&]R@Dj5x I=m3>\=4,s+]1RHƺJf(stT"hK^f՚eUEJ:~4{4Vϼ2E䚁uG*\HWən EJa'>bk\utΐ%3͓? Ld% Q#=nxp{a}H%%m"쿦Cv- Hw.o3Y'Ñ)`"$rVf7ũA-Ww?g@gVgIk-.iD+ECN==yF-R#YF\J|^}^}[4?},HeiO9'zQQcNb~]8Yz8|Jd%RNᙲnb\|db144j5ʸĶc?)^VW}LkFR IYu,>Q OO/ќKSg~} s?YV #4 eׁ FW3ΚHYyˑP~8 %K:JsMYXg_ee)#p^Rsf* (G9=\U`W}Wmhq؞1L ϖtvuݒ~zCޗ_vXBtSIoDK\"!Aqh) T؍mis}7̊ 0=eNιH{PZE0ko]7Dg ԋe UPtp[|* :s4SȓvZs2-M8JN# ro%׭.GL׫^;r?E&oEmVBf; ,H,b4@:&S4rqfS*DZsTшnΉ Xy):0, :ҞYK؇)geBFvC=duxsdwO2mME;#4t,(klBSMd`-^1 #-}>nby:NE!%GH!fs*?WY(5 3"F NI5rV&Dm ?9S̉+^][VNZ%z!?CM2b.p:lPT6Fʏ=5gM|T"3Qݯ0fLH' K Q>V IncQd"[mSa"fF"/NQϯGiN6&cHj& ׉!2l4͘ #`IgIȣD֯_m}=Fb}d,R)lr~Ӳ ~O <۩2Heil[|*dqǹU]޿;IqИ̅=`1~'l0iod/n(?o:v)ɹeXfd=wDmzd=;u]ΐE&HV3/x%' jꧦ8۾cP7@e,KJS #Å)H:q rA܄M 'dD٭:o#F' c&e7z(>bbzdU 2eeSrFEay:V{?Ą!{W #\2.?:y 53%; Q G;}WO=ggj ]!Rq4Sx֔ TgfzCp5rj#8ab)֌V[icO dSh;!$ʼnFk[$Gp)%CMqq}\`D kg`tG|A^b=I[^FHƽ&w%l<4PŲP~8]h?O`DxsqTsI8ZRӸ~r-&-BYtG(XLeBNxRGơA-ɳ/ʖH)SȲHT6wp{ Yiy*׶|5ԏ䊈88k TMκ&BR71!`9x;{WgR((:W"aqSPYGsu}:.U<x6 ;ʞkn${H &ŒqhMYq7lmUΦ!Cųof d*IZZyYmlw23Ay7m52IF\]:lnoח{6%\>)e8Y5VD 77u~&,]_8Md,Ϋ A4QB\J.{apG(yq 8#w*ps5Vwɪ?HK5|(DB S41x5\/_;<^0L9xDKg?)/XKfNȧ%9% 9D$XsLT$!a4OyShKlr>FMI vR37&گ|a!uey,9Ò TD23Y7tZH>?PHd<&p(_l?rLigGE)BsR C,u5p(xLj?SMU[VOV #nϪv}OE!V yrlb+E^r3d#@,GQCd1 ՞%HSg=:8߉H9d~YKY1b|L㭢^^}᧐VПGd"&+"Uw. e6V%$xdS69vDr`c|^ٷGF,sЗeJ^j+O7 Y;pP)2d 3D.$}/dMli 2ŽK.|.܏d̲v(]$25#i`"2jKe\8T3=@42LSx)7%spJ)cdLC6GcHΙ1em'sG!Oa nt*$}S4%xae¦$ϨL#d"EUgtbp$xpD_.҇/gr:;I/cBƌ$IQvax?n $Լp DV/d9>ԔxL٫/{hMvȥ/{o~<; $g jFEU]_zLkɭYaGŠeDŽ1&,04WF87/__76Yh}xm}epYa7OuxB-yygzHDWQqQ9 XX}2z><7E6r_(7$m5z$H`'.2YJj"r-*ͤ&lIDB)t ;g!"XaCHw4l^G jpϱl83GBs2)ސ`D"_'S Vrޱgkl-pSȑ\16$8 9%җa/p(ܐr}Vé/eAyՌV0A=>#{M7KoX =K{,?{Q߼ Q԰T|=*nHIlJ;sr`jO2C cZ\ ap\MzF.L7Ksjė&  Hyl֡UonGqj#%ͯ!Ï(*6"" 8D_,cBXv(Dr{( ~sW/[{ b˙(a̜>EW P0Zu Y7ؐwC4Y&Sl<%MgיiCwAz6xyd|,Mm4j;P~lݗ{KpOm ҜKjc>m{BL$Vv&,JD/X_C{e R<V)ȣEѲ5Nu(ikIc}IpF 7Xa T)#T~(L1e6XeFmV@Vl_=R1AN2r(NwqKMqvs{)E)'BBߞMQWV8ęEM5`ʴ_^KZ@#G$bDJCS>0 ?"_'Ʃ;Hӑs=5%'B&6 }$#D @KJނ7-r!tB1Fe$8[}j?dPu}Tc"rhOo,bC'Np!sDhRYOJu2ϣMJpR(Iz(_arXoXAVVbx bBd\ǮVϸ_˚i U=cGۄвɶmu}lq"*=j,FcU|[L4=e>iK1ꞥ., $'q›~KFU Qߒ : wkaP$˄$KQqCs'Jc=x%\qu,^߉R'x1c$ݱE^!=F$$ri2%kÑIČ{H ƞ!%r%.#):M=t [M8"SAS,E57Ĭ:_Qa-DlsKy3J(P͈.Us$5SHjqy +qE*,xXs2Jw{ړ"Eǣ͸IFdH/;$P{^d/J <]%,$v$xvƷ35dJEc\*Xx-8wp$ï>2:Q+RR?#U ūRBO滬>&hN,e؈ek= vcL&7Ld*9҈ʱ!dX^8K1ְ8;O`0*rpOXC)~Lt'\UҡDL/1v^6]p, ;LQg;әS/FG¡?yzwd"o#{Eڿ!G4"#E 1:%ak5 ebãX3?ލő6SǍBeV]=fRo^rp.O6֚<xلiY=aGe{6sUQ ~rpLeHBӔ#CTSQhTvroL)z- )&*|pK).v!O2'LSn³T#x]~Y|F˜/RMuo$_vPMJ#q4lU"e[\=%6"Bʙl5ERKWDzY3)p& 1_R?}{ȸ IWM9, *7(ƌ,V= -Lzݣ:lḛ‹' ̈́Ոc Y!~B#vLޔQ8x1MĀqrɔ%\+<=UH'oQ<[ŊicgK>wⓧha+]ſ؇x%u[(Gɒ|-v,)|v7O%WkΜWơ]'i#_>PՋW"+> }g#DM!o.i{+7@i$#L[w,\7>OB/<\n(iNJ[BkCTZE_%_CTE 9<F6!U͉n.8 H&z=(+ِ0Aѻ2";̩CqLB\gA3 ,ѪLA~n39KGk&v b8τ\zߖ ͖%89R(p9B\7 C萧25p!yg>ˌ4/to7=42C(K˧,QMF{?g8MLHp癈N[qϏQU<8f+: lzH+>(*k X‰  /?~?Z]K91,d{t̓3> nwٗ&6% 8(st"YT`x!C!9T= *sk=='_xj$=g\$=Hr;=OP&S5p;V 7v&w՘(\r# c*تƖ}pvZqS\̣(3X!Ҥ4Njۇ/DrP9jGu'Q>keԃiN7{E BcӐn<-+x^Wy~46l3EXD^O+W57L&uH,jr?, /E搕 ua%0X*@ ]T xb8i4qp1iL=%Eo{<>p2(6* N0\j\A}4$T]TCQ&yha&򮯯F}E}K=n\ORA䅨C/,RKT:ڊhVذ_T4P[SYk Qhʝ 9|\%$eg0r"ĶHb=)RT9Q"7-؆BS)eqڨӓ˜?Xc=?f'8ӺbwJ 1m!^(q%ARi97 E=~.SP!5'ҵqR١ FhP|=|~tӔG ne=ʱQͬ56QGr\XHLXyxru}D,mrȊj)۶z3XK)bs|P;,$N, ZGF}5!;y.I=WA~þD{icTţ X9rg+GƒR2\H.@ g7=aL9ŭiHR}iKɲYY(KMţ](Y< HVW_DZ,ww_6缊ɦE܀ sƹcº`wu?l'Q oQk}yWb絹?r)h單/4J}4 Qry:Z3[ Itn_7-fLW)R*m,ql u*,WD*ݞYaD-ǻ9b6d lFr$,UԹe0ܺpoBt 0G)D5 r8dHF UF#.uzY_P2rh,FlyP>>$^#R ј+W\%o|8Gj'j*XځJQ@>GjH8QZh_/a.{;X|Uec1p!]i||2O9}r9! >Sp]dL/Dgps@}]&ӄb'9K$ұ0#ҿOx~ѹ; ^`LT $ZpԿS$[uU`1W0p푰$%~6Џ _C>>m\a}ak{fd CFQbg%dv>ݮ wwIi"ad ]Vʼns8YaWR,'\lߩd !45hvfidYRn?R6t#@ D3?i*?شF~%Wuʎ%v :VȆc`:؃/,="\J $F qω3ӊ[՚:ۉC}9iykd&&h 4&SD{Ef^+' pYا 2\[>PB<~z~B>>TV\w9шdR<4n{y+3"Z].II챙'4jw%iT#l 3)Gq"40" s5RI\FdiM8àRB,VÛ?>lIDy_H,a`[F_H4I.={yYPqan)L9 0#HxƢe#Ti}XQAtlFξlJɷ~ !ۜeytt*&8$/s+F_񚕮׏xe~6?#_3\lj(d`9Yq'ʏk7FDۏe3͓/g#ZU2Hn yo<*[9`¼/)$-uNρ#HYlp,F>6[t \/38ŗ?9nґ3%5dDg7z\wD;Δ$N+yt -l^x{(|=+ g.?0/DF dBSy@ZsrOrM5|ߞ`9?"B'⍁A~soĺ'2L$c)If:UMj3ְX"=_R)b$ֈ5GJk+!m^Ksmc+Rj\!fPpHdAx㆗}'"Y ~7]ݙ6)3fzd>l1#3h,K6=Dfjh{& Jl.a8#H(!)o<?EISW}=#y^EH!87Q7*E123IOw τ.RƇ GPL}xN}zؑKgg[:gfһ $όzv/<5_j!ضXD*1N.EŻ#,F JvBNNeK2tbiQSq g!{cR^YTlT Ձfʎ.dFɌ3G#G*Xγv=M?a0}$9THs q䣶yVWW3F]xl’([iD;Ob^Y)&#F2dG]ɤ3 瑲Sxt_R>o۫u# dyg?ٖbtx`h[{MJ˖js%Xzzg֖^ISvjI&jkƨi"Y5IB9DG,$kj]'# 1"x7SR7'$g[Vg{''B,.$hinc0^u[)2#JՁi TFpS 9$lbg2w3t?mT *D:& ۛՙ,^upR'r㋈5Bn1(o"bmsđ * 6,;6-YIJ8c|Fq2+}B2M,o^?վX/Dϱ>oa'?߭.T h,I"?%1>ȑ 5u7Ln~[*?3AZgEq5p2)zʙTi.:{-Mtu;{?UD+[3[bD_KZooַGmN6_K\zF~I$z2PՍtƩr(w6et emk3J^d(2$,vwsv%|p@Q^et#آfy,뚾~ 8+4J+8-SB=S5FC=Zi/vzGsp t8 DKSYb1R1a$J 7tJ3 uv"բ\_;Q-ȉB,s9Ln5Q55f%7!}+ 6+ ؘ,xfh +цX0V}-0uS+*s"2 õߊZN ~{iӤk"ODWY)I䞸rj8" ۋSJBuOW¤ntu`4^&F cTrMZAJ%3;#]R[2ז`#0@D.^BXQNiH(*m8V?DWI#0ŵBgqrtBT87~!׷f۫뿿/e0gI SlbGJwxs_`Cde:\$bGuEm|ՁI)\#Ӻ?%94^'zgfb{,⼈} e/&g%|Au pm$Y^z0H6Q1GBmj,Lc jBާ=:wȥ47qa23U/1KUO ˎ؟$<_#!cJ/Qxxq\p]ѿzh/yzwDr'R`o1G ZLڞiL)r6#6G:5hKb%kl( X"\7`Qz{w\Y/P&!4H+ ;GC9R7m 8Ír=9;=e 7If(l3D1O47z@"'d:n gK;l~x~KF:$nk$xcz Q.Bq.!5yHDeEyIi/mqyF:i`iZ+% Ic`kl||X~ IUS|X2MI"BH2*m% zg8 ʤebRҀ">RR$ Z ف'@|H0HҢ6j9kG8*C=3SL"cZڑ1Y I>.ɒ&(,Ċ$ݍޞuEQLD(Jb2ε66%tAۮW9z(n&<1Ȩˡ*e"70b~-INDm5L>F-ԩҥ&7 vÊV%YX`;Đ~AW뻫շEm}+"RI@C,3i1'K"5dEsw"0 ܮ" sX/RDN bO_l`j% BnsT 9 &|IF3=(PJxHٓ`ANPLYto'$ ,*J]0b%W^޿xXB˜Ht dC[&GhĜDq!\5avkQ@C([mXxEj@ld, BB*#eU+q<\wϤ#V#qbPH o0qjpbkJ-c{%6JgcKN jc'[YB/!+<|)cc_T,!R>E:_m `aVBY i F‘?ZsґspfhYJEsg{۞e;ۯ+3:W5i_'‹݀ /?~$zYA|`QVN&}=W8pZSHyiՌԟ ?̫˃phȎy|ԨajB؜FZXTNuzԟnz lu=nYM" MdOJTHt%p,qPy"bo |җꖜX`1"N_Aj+{4 }.~-G%=dnu{^~+*9e͙WƲI1'!T hy_~e5O 6Ja)@RvէCw ~|[iLj-ޢОʼnʃMFN&A[TB  jų߾P .wĝ?fϦZ+2w9#q(Ҽ4b ?l+hYRelqTpKE؉yCJ_M_6;MCrJۯD4 _?UHYuyrxͿ>쾬;{g H>FGthQOٓSU3ÉpB<%-i8(v#/|205<0#&'݅#||Ee~rE4@sc.~^-+*qcsBz _O&Vc">9 j1?In pX_ѕ3qA MxUF:sOtpx.ob9W$)e&ӭ#D^W ȤTTuSlج1TngU4ITn1J;G# Yi"`3J|VvJ"qnN#r˗&YȜa)~_[E,-rG5%YG&S}>Tۓ^K1EcC6&Oe3y]y"e!Dr=ؼ#3>/>(8k$RU,Ln!^?6{ yFg7E$Jka @ !#^Z/^o?KMDnzdVv.w}]<rp15-(lP5re:?;2Έ42Ta~b3O~;I7>}_8YMB):|6Wl7}PCxuMrS/̖6[$5tΑd۬owH!kKDYkFF.D^o6H(Jd}+ L6dٚ8Tܡ,1 3_V>O,RyTx{X!u(peC{*˵Wb`sYp Bu98K&AvH|aW=EFkGxXXr4zXup^%nMjpX$cat>9|49G_jBx {` >Ad$K07HՍ6%5Ŕmb0{[B\9s'ɁC-GxQXrMHjwLQ!2Ik$Yi柋WR1ݗχݗ͞f6ݟnr }CxhQ]`'ϓILAXS{N'?`gI\E'!S]_#8vntJ7!7Mgtr]PZ"neFcAIX D 8b9T\$(8>xrl#6TraWK^R8%"QF_q[XRjɆĨ1⎣ ;RH}$JKw;{R7ߵEbu~gn)ŋJdvKI`2TܐnhQV7gψ-{bumINyPdg"lI, g޶ZXHH92R.en2&Q,˅(ly=s~#7>e5̔FT8&,q*Ÿ,[4N;i,%yܢ x .E5e,F!gw=N>q3 b%J,w&G6͈o]?)5y (քNPQI+j&QwEuu/2^zZ#Bb*yՔYɢ-$R{ wv*tAUEiϙӕnjT?V>1]$ Q׊àe=e*XH$K8ZsKcdg)V~9cctԤJ%'3LbmTNJcZFHt4ϲ}iLSHqxL63}IFj/UT뉈BLZ I*8q[e$vHw5T;V߯ d%%߈6N}!,Yw{C9!ְ#Ldꟶ|Jc8^cE:ڞ%c+;}D8b"gzd z!Np6ʩd ϫ˘U R`{ju+'5PIo:Xj%!)^VX\)ը! >AJ;^m0/)bOG,.s ̨9U5돺HaOwI0޷v0tch\j䚏P4gY"gܖJVRhHp>ڑBN=88>McrCj|KKsSDñi!J ϯV78<9&4uIvnYko@z8A6-" V2BQU7۾m$E /j}=S!gܐQ1&n#߉'Sl/ZW7>Fv3 TjUqcPDZlɊ9=vʢK/$WQdTwsAꫫԐ%3cJ+9EJ!Qf*!#S[[G#?D&;!EpFHilvCyVԇQ5dZ C6{-DWIgO1܍$}c\BCXsT ʼn*Rqe+}M>ĢQaH'- ђ*A c3 zJ`(%Jz;Jd-8w IU0aEn٢L]Xdi~z{^@+K  *wnA`E9ö^ v)lȤq:&D lC$Vp}u暎d8+R)ҩX;12}/z\X-шh!Ȍg)Ŕ:gN ,,Qdq_)R[?s^}|Dr®6+}˦D5QSE|@/bžH,/]J9ڄ Ȣ,_38v aܿp"Z2k&{9uu4AݰLD..d}QqR{aYTbnr+М% T\&\I'"^Q x҃ZM 19;2c93U?etTBo~8p䞫<DͰ@3^!#DNK$dЇ+v:HsGP$({cYRlJ]04痆q R=wQ">aEHXfDB ` g#` =JNJeoYvV|NV8cHƊg4F RsfbGr{"??dI#)A\Ysz#m %$3cfp7pwCz1ߨ׬OKjffNƫrlpNZOM*GDϱ&#<±Q:^-SՖVM5kRKψiO"^0Z^]Qd֍N|-`B{OVWRɒ\՜bÆOiQY,޼} q9[0# y9`.~շ#OؖC y?zVx Ks-; 'x=6y"_;!{-ÎqF ~}X|bw\p &N3;H EU?3x]}MspX: ԯb?m3X? @, {g'FF 0p#8m=LM]x\s$?;(M!FnU8Uw& C 4L ۗgoHxNhy(wu&p`Ն$Jay9Ikw$FÅvWa6>:[ ^ .5q * pDgcxnA*G7N[^^ 2JIh<" j lg%^P#]Nb!<NlyFWl~lHs35 Ȯp$3m 7[" bܲ a*sT@I; 7w';(*rkMNMi_=ȃ8h 5\vֱ/?Vі.vu49}ΛϤ k*@akЁt#m@t2™Kd`Qp┵8fD˖8k&EÝKh&|(~W(`Y"a K 7ZSsY3_srPFL)S;g\ʝZ(G~~ʝJ~M7tiu㡘r*n5))t?mk7_D@'NvrNK97PibaHHIF}u(&j& .2Us mv121UuX!a(tDJa2!0'v-Pf~7ƷrrooG;S`=Tt.=s- E<s r@N!UsB6>-ľ{W+R!. c IFgs~!oSrŰ:IJ4`zC%JYF&e*uGY`E-yY`v{um'Kvײ$ Hearf5TvgFJH!סI&IPíoTdx4bs6f}&1^lŗq/GC\}#`(x8XIW"[+xXMZ;N!ՃLjBPsE>B5XI}S)Է')@Je ]"tLM`JzvuY)ilfF6XL d[v`:jps̏Ӭrf!,NvEĴio$MԳ` :ݓ!j&vDpq\Gcq;ϑh3E:~.OkPG+qسs&dWjӸ-^\l_|pPkؙS4x Tq /7C8JzħBTQ3rÁO=s.pƥab劉?;ސ7rdu 0 ,AqSCS}%g<,f4Gloϧy_aYZI$f@Q }Le33Ej WN+Vm[T\+k3~}˹$snã6b)= Z¨ƞP~/cOAjoJX1zf4k3>M:vDMvZȬV~^QikPS;RDaoMq8o$wg2V~ۇ+?AeRѤ}R'f*YL( H`2s(ziEO",M 礧(N+ʊ7#ppţJOݔ7/$_6,Qq쌌+|&)]7 ?nm"Iu!."v^ feNJ5=:]AjjrcϚݖnENYWΟRP=tfB,2*fy)?Y>.u>AK/*mg`nC1MH"ӈs EArs ǀ5쯦#. i0+x sm9[J7FK )*6Begttkݢ}7ܾ{}x{^fi&=Ugj+!@~_8Rm:wTQ ky|W ~ޯ”ļ{l&T ϣpoipfru1JQ%JZK43rZQS!YNG8gpvc$iєt݆rl8v0Ct؇bAk2Ҩ|Ը xs3>ˀ=\P^  Yl`%y&!,l1-cڎleDBd j*0'Ld5Y@Jp>Tcb' M@k;^SfT}͖\g4.sYwo;ʒL1# Tk\qqEC-'+/?jTSM H1lRc|HE\D22GhZ+%" ^Z˽iFza[0$00[='E+ߝ ^45e= /Mk-f g*#UjqR$ٛՆ: dQ NvE]f&ٯRoE>mnlD-٥ĜLž#*0p"hNNKFqϋΦdW3a|+(`* ƉIq7;rsE5ŀH,EYi~@\Sv{CٙslT @uĖI'VwR,]no@wd^* 9GdqDQ='!'ߠE2F (ՋZeoEky\l#1щ8i S#⾺ jfG5F`Kl\pa Ṇ#^7}e}b=Orܬmz'ye:dE@“Q3lXb-$ǒTd_PcV,`Ldfԝ<v$^B~G/w)iY{U3Snp)V~ꂄ8cK盹 :vVw7CG0XY-qo M70Gʺk,)Ԉ p1 /付Lٳn8hl5R uJ@Ma 3 SΆR0b)C\߬7R^ɉIHvcL3Oj rx< ɰP j (!E8-(/;&΋Wۯ+N㑥8e3]/䘘NwK^o?ЗÛbDDyבo<}RDG-^IƨH- 0cvQj*Ds=/dT7n 9" #]WfvMNI<3[yb~~p93#$&:ǫg9!'|GQ¤:+mpIC+ZY@6dbX7k왼__*ψ|tB,^4!nm?ocu={h8weYl,,;kaj,(f:9H2gu$ vh -Mة:ȑX1a,͏f(M" c ,?qpgYB-~~ZsF$4?o"*Bpi'¥I#0GTe"߱ntT$r B1ttS/pBnu{򥅅"RY5> ^ff5Ir7 *|4Ąנ*;&ηTifFcYGg/bO?Eޠ(f:h>ewh6#W>/o݊QKTR8ji,gٲ@_ՍX ؆8+=\~ج.O[cJ)N6wأCa?:sdWL%h=#TPu!Wep3+QW8BC$t dú"ڸH 2?_J$U$YLaZ4}22:I$abIfNENty=qQ+Ā7 ^8--؏C6QgQӊͧK#/Ug ̇(:WDE@@p}e{uy:fRL ʚ+#P?n[W/WQl' ӿm6dBH7"ƣŞg|}1|iMb(A1#5qm\XcSkgVXEKV%isu |5e*F sTbzPZO:u5[bWjs%G2a*ՁP2y&C3BID6#*~s:rr#7!rOSajܾ"츔ϳNiGm=yc|J.y]ZNp${#w*%wT[ނPM[.*R&H̀$oגg?(CȖ^`xφ"ˆ2޸C4&{~3)W,V&!mbgb;ʞmpّyH U%)Waqzq\g븴E<miZ)lf3>o RޞZ%qD)2D\u'6Kh8Dlgw"- M˱_k}yʳ?p6YU9N#B`c8C9 R3Ż1p@E߱O?p&{6D+PjK.OA%5 Oz`J{&-O:A:=b>zunB_BWK1"; ;&\aRPΆe=,`e-KqG&/u]?&r{quf}m.gHaHW돲؟;jãǓ&'b5\[CZbkǪKHI?~ap"Rw@TCl8?e1hIvo6wLm[vp1cIWNlM?/;|Qc+]بg6-{M5Fp\mj,!7( #:>Z2 ^1RcKD0ϕ>4{EI~Z[xRʂ8.f'+'l/I,ێG|O!#Vd(5wJrZyynVa52)NND41Q:bWdZ}޷#D[gLx:WH8Msss2XC$Ame5l ų7~;*r;z|( $"z6YD=Zա_QF*^LJN!Q (YaEr*0vpL[[9h!*}HSR- a>0g ',4!m+xox׻b>y.B9hD$4 dϖeG}L%Sl!+~A \ fi1 !0h?Bhv @s|{*d! B <czl/m`]{uqq"8KWz8:: Əp,ӌ2,r(b6VNYI޷y$k]6 D~\ݮOh?LdS9̈sO#P}(bk&{cpnR+$>iz9 %U35m4iH ,} P$^B,X,$t8|Sפd~\ PI:t}y}Yv8JhI52P iG^?N["@ T}0H5wo=LA0 )-hrWGDW{ŋ v7<|:C8pLc20(*w#JE8A3[ +?Esgv/Tl9ŹV Ps\WKh#%?i[pgjX?Z` xrVY`z&;K<ЪL,hNTS-Ab""h : Ӏ:UӋ !nb@ 8gbSQRfј_$ЃΎv2K23>:e㭈?&FnDs8N13+,/8 0pW]!-$h%ՈQy=@wI2 9=UZ:\'# tK 09f'fi=qڽ~Y]e1zBimK/)ihRǐ5?ǂr]CaokȨ 7xmB 3rV3xvdHk=ڈkIZMDJr5Ț<3\KVޙH a _uru@2 "dbJ-O}5qAjߋ|ƓiB eN *Mqn͑H^QMREBj(S *5DT`f?aϼ-@6~5PIX ]Zy Cp@^D@W{!LfSf`Qz׿5,S%Lj(Xʀx[d\\O#_RvL є b09ɗ/w{XN"@t/N+Y ^ñ>BVԛh+: ݲ b+OKV)PZXn}M RP1=4Y֙D%t́ SGVBhuM87opa3"m☄*3Al#s̱|E;W|ZOqӬxGIbnIv†B ӱ m@M ʪEdnvEһSh!^-\zᠶ,~r(ou̱\}]]SfO@*fqԡ;`{#.BfSvɞRۚSaɊz2W㰫?=Ȯj]r>YX8,Eji1Q?UJOǮO]7I@X8i)^ak(ʓȑ^DES9NpapWOSV?+I ϥaz7-?6wMЬd֛"v {G.o1W\NnOISsp gƉPΔq j'ك5x8~XNfZd̸*E<T`Yt&KDȂ~ 469!ך#x2icqjfg;2pP;xWr 8<P.l0JVTG;o̷(r8mTľkg^abZzO se}8'*vY*S7MˬK2/)\P%פ6 o$$D+rpf#d 0ORNL!:~@A/Zia2hˊPmECP=#gx|sYp-z3rIbyF`1ZOH͒Khy6N2@*KEsD0$(.0%]2NIsyaOYa4:bs=c"d9IN:N.7,krlt{=t%L B'[c@PSBKVu=ܰ,xhqT?Q`(f4PN޵aɲ{1w+*#31*ov9|sC2 @I0, vbԱH?-GI7;~aE/7>p~]v)={}rz!o_/uf̥Xnvr*!~ o~XsK(z=v'Q+Ec9,Pc!ebNYa6dXu+X-~΁WhYDB^ i%+*yب)$ z0;fa] n$EpB׍2&2wfaՃesPxoరǬ dƞ=g|g#BĿ1nH w<_eq AV<̊ %8 ``Xm#9#@T-'_zp7~>iʧTHu F[wDd<"+lA 1K,`gĥ9&qqg\+nnq|̏Lj㒇v"\E^sOL(ЌOQ"Xd+'ePbI3 P1'uݸx̷߷B DZ%äI v^f uztzz~ "c Bv tmAdUE:+S2CX*Cu{ʟߛ+ 9/},oqӊluC`t?ƅb|˙bTh_f]|9OJǫc=i0&100*\K0HCx qO]EHpA1-)9u 'פzZQiVQk^Y8`OY>z^g+ uۇ/ S)0@XAzx$X~oj:&ůg~EQ6kzdR`$oԃ)a`J#cSeNY^ɓ!e-6F3WtT}3}QC5'[q`K X}Y}dpl }f t䀎.2/^f㏇qؖ$as0nwx \ɧ{n'GL(䮯Nk`0a]Ӫu8'@&EN} i[N I˜6pæ&1jo^w3g& G(=J.QɂGJ\m?',TM>LNOo౺]?YX$qgi"9KAYB x~hC["\q gWj< uDr;K48!ǘq>p67ECfO+Ĉjh[Ѝf6%`;#cwȧI -oχ &*r=xl!*% atFz(T r `tP1/|c2cqwW9(Yy9ptIeZu[=~Hr}֤ngπxԍ p &qs0bT8Jx-F2m G0?:=<_G\WWO=A4n($x.J[AC$YPQ+gx߮9H?9tWg:qfI] n?__|j剞, oͪhg3ba m7"vFpHar6lGiΜMo-ٓvýe;kD,Y̢ kn8 \Gb~4'ƀK"j"A^c%}ϴAD̾clh4 ݨvMfUǗ;>S/!zv3<+EZs9˝E:"GHcHoYYRx}T9-XYBˇЇ#[Dԕi 0纻2~"SƑw#9~:qˌ0&XCzܘZ.^9N3N4-28>K b6U=lՋtj۝)I=_^g;-LfBz34hSE9v4N0\ϒEa= <žx—fa,.5pF`n 0b';+w6#zㅓR^H"!z#;U_&@ZUoJCksaawU 6$R4ǽ4A3V-JaNk#apB)+!nNIKpR/\\`{S[} rdU;b_Lwx<<~JPA$$_=4Gn>݅G X9jZ,0dyYcv-^SQB b1lYu3q]l#JeSm5dl֗r=K_Wpy,KV6"QC5g۲r(f/s9M&"+U܉$H4j<3kXK0ʝJ#0}"H` Tk%%dGɚ?w>v)rQz3[ < DB^JHյ:LIa(T[8"i .>ZlY5 CӬI8|5#OpW[0Nu1s3i8bXWH|4xPGE>4T1e6, nKyn1!hf3pIHΏ'h<\9ْO}RlWI7:$Ҋ*L ,k??0C4Y9%9a}bv.ʇ8!d1=TfSZi܃[X~\ %&=ꮰߩz*kSۿLv܋_BF%HΜ%14N~Ilu~fJAt=|ޮ]%aD l-FK,QҘ ^%8#ZxY`lhQB rU fc0 V'-x:̋VX4>Scn{ k">Elš ( "zeED8HTQc*V6٨4#g2ߗ v )iq޻icAnEkZ*]K&t̖`oԳ_ןdaU)W\:߄-+NqJN_xmVy%9|ll?$͊KYY8엫9܉Q>Lfq$Ia> zcOYO8T0jiCDJDV|y#W$h= GF' ⮘x|YW%Lcj"9jg<.XF"#Lc@^cbFd҈wߑ/9IqN6Y5nUB3$ H3bL ǀZ>鉫:-86 іJ$Z;p$V穸ZYh_M!|k& P"o@tܨ\{?r-gDF y}Q4WѐYFٷA(dʶu$̢;tW$?8# '0?Ӳ:r2g_̈n8;&Vn7JD]`rKuQ]Tw v\?=ѥbڋbq-#cW l*G=vCgV=٧'>ƾ +Z) p`MB D oy08z&W6Ӽx;^1:3N9O@Pa@]czaa"FL5ftlFl+ V'e ~FJ,Qpd:8Ǿ::V4tư]x25qi)q+lT|i2HLv웧Z O'•o\u,zCx ;'&u u2G??߳GXVc&ig߽ N9Mh(&Q_gR*mVr24W&$Rlc$-d- G~{is9.`đM4{abNcIɺ< VYru^fTvr@t)$D~c# Tp&jqP"S.9PmXfn]:Y2d#?3\45Щׅ$Pd$Bx0댫בp3C ӑ9S$frH3R k6Ċs7{a,Pǣ 8> L4='(xU0ImYZLCkNSHn_3uIbcEP,INeM[ŁyS&lR;3ص}D!Q)$,!!4vܶ>ICw\[J+,o̒ =n% zv:2u~U/!7M$ g(Sieqr]zNHm՚Rb; ߳<.w&٥~RDJیW_\_9]sˉ2Cc6D X8HXr/&bY8 رs<7_V p/AVgMr]y+֍S^GE}(\r3<@Ƴ zBq(´ʫhwSK5ɯ/a+%GY\߬L'Wxc8dʡ d8ۇ/_uTt7Zթ1W2יd NAҕ_U46tȪXUvzCogdOvŽhoSWZ(b'X ,:7^7xg7l>{dU1616o[O$6P96NCn*nf|"~_>8fDe4Ȁa7=5E06H8PQNǀNqi884ڤ0'ܰ7'42Œd ?z\@"|N+9ـK.Sn@Dv^rWm9D0MH NDZ*,7VP >tB=LlMG|sV/|rG?끝Sqh/Kp&R˘K)(2> "J]}avy3CÎiDaJXzʁ4!r $){՗-BZoF?)GXFҟ@kd`In<.E,Jo ~RQ~9fN,E6bD<0TCN\i5ܯIg*c&?moEy}:gA6XC6x@y8kiz& 6숤+y;n`Ix[V0oggj{qjɯ`#p9Hv1p6HYh <bG5#+ ѿe/d1RŸQzO\ x{yq>*$s3\_ C.ʳbԖDr>]o0o<͍sZ<~[1a~}#o8Jc 4(x']rN6OhSxD7?($$ۍLLr4L ?Iҡ3si9PfֲϐhؑS-7VYh+Zla7Mu`v;,<m fk;֣- VwkjҶ)j8ѫo|ҷVۉbbE\"arM&kvbVS |3S- DaZ;wJY:Um*gqrjB%!̋ΗOKDI&>)ʁ%)A3Bxyn?Qsf|4[+xpPs# ?6^țtud9’6"}]e)r^I~h4쫪0a3Er]Np+>mu'eLUi@3A*Y929N5(%4l"e`j> 3|㰘1`Bjwl^ Eiu{ui8U[J6"|F}BS y _H,qĊźT{l4yZ8Q?4p;ʫ;?zs@fKQv7E@cP{aOYD[Y3+B3pƎq!A襻L 0NE/sH*f|<ޟH\\8>f8Y7t1;]kGI:A4W0R6D3Fq⭑'j'fЁ.'U_ZǧHD5 :TUpFZV,,0sP/~ 2BM^,IBj-DM?+^951P@ދ+X s ini=[C=bZڵbw՘@ܬJU*v_WH~'Sޚ[NJgKU8)ʲ\NImQQ&_ vf|KrrʿP;N(rNe&@Y8f!] :G5L0y|Yꛡl;ScU*C=W#ܯd[?N›?W0^~D Ո]AjHY-jZ<-' + "rNyI}lI|6 q=`g#%3;#hǩUM /#0Zg*{GS#j~S=~)܇JWlFe'/$KRAԃ/eiĦ(EA%k%1j'd_Pv<_1ڀ LAA8C:.=!$ɖI} [XZUdN[!Y<>’!*d8 s.+[6ZTp:SL,Whe@ c.'#?Ȑ1ׂ̮;X=24/2a8”Ve ߶n=\,}c_ }=9Sm@Ed<33 ^{ qj@IC9IAf-1ɜ&*]'0!c€f)wb<d6@f^acSԸYR'xCX!Tffz)[OJ͜.$GwɁy'8@2g&Lј" 6sGDRNwMFs9fEdMmb>A9Bgcw$z{}FŪ IU`dUgo8VTaF p5kr'gFk`繽짷yk]ǝhT,!l chy; oFE 7 <بjpEfInp( `L+> {ZrQv^%1yN.2Si*E-p4cDv7oXn Nt}rș9K#[SaH:0O]~;s/-3 ^e3li0>_>|^}Y{sMU#+GCc.U+Gi?H`՝y`js~K58~ޯIst{̰ue]%r|i?TPY7-^nYVf ;׵F[#l㛮dl,~s#SVq_ţgFUpr~fm'o/Lm*ۄPQ+'~ֻ+JX\!BXL㼨8H  5"oq۵q D!eT?cltb]oH}G9 pikx&)͔xbg]Ԋ8d{O/ok4q 0(f5&:y BܗPmO<^lk)jYm7lΚZ&Eɏ( (ݰ;SBg;A<'ҐczET萧R30 Nm$%`2Q=_xY~ܩ4#3FpCI1DZ^I=l;blf֥Ѐ8ݎ^&>_= 1!]8f8 Ev>\N t?6/ɰNCEI:5B#8?wgw~D|MND(nX2Ld:>3WH"Rȶ A3q8Hzx:$$O6L oo\wZyax`CciØ;: uIDh&sbj2U=\)l i0qNxi=PZ&}m8zuZ1ٿDBal+r9ڒK ; v r9dPڝ xGƖpJIem"c-a!>bi88oףU")0qb48s%LBIrv(g|Հt,,'xh]6xtݬDi3Ld蔨{Pβł3roIUWj^$ Vg?gmYR["BȤoUd - 6Nxe\nLq\<1 mْiH].( py"!=@pp5ѴL0TP,bʚCYa-U >4;%MTH( |ԷB9 K| %7P3UD4 7Ya_t)KDq#3-$ư*"HZ$~~v.ŽD&`2uV+T@!G!6gΝJ^7{NDGFxpotmTVOwE%[m=FGșHe| HRV;'w%V:l%N"EAE&`^ qEfq9IqXrL.j>v$Oh.Q.#S(\PWđ- x %QYX5aܤV2nvGx[9bRpzXyqH'ZS)K۰]7Dd~pF\;!>M][o7Hot-wFF%jr_)A)y+K5%tn>NI-4#1H;`̑SðT&([wVgn2"{O!aI<s2uI7q9Ua0E8mIŕM*.T|iGw+<&l1Jφ>oo&T.֋f%ƙ(Xd'P\ټ>OCi:=?hygDЁpb>q8i_~b&I4l9~"Y;T؜oD8Eω3_͓RTGO˔rp;UG#[httE@B ꌣ:TTKP.`r!*mY ~}wj03#!ךn o|9ܞ" Cx5rӐ!8c?N /[1xwp2e>bզhE"?Vs܍ 6L0dLT)k眬*1q(zro]uL:Ir#H#'Ԓ DUݡ?gr䑸}.MgrׄLBd.X/b/_cIݵ3NZ7UR/ʒ;7=gDDIt8\׻nDM weY[B{萛E#<Ew=2i8 5PYOf2Kȵ^|~[_o ҒUTK k">!G~Z m}xAQڌ^p˪XJ]lSQL$9ϛϛ-[;RwOJbeƆKm1B-I$ uY0|r!SX jpas<\*ƥ &B~JN]S ¬jhBO)sխ<Fjd@ٳtuN"h4. 8 m'Rxr^}_}ڞwqgjxI%U\~u^rR8#/}e * b'Nx_z 0Z݈*K(r.63>{J#W- <>/W{6C6/'͐Dtv!0ql.vg!|lJ;rvnߤu]sHJ0.jwM&MlamJa4mdE1;Cann >BjM0H2[$l~ 詏5ۇrQx` Rf~Z4uw7x/bPA 6E̒XepUDf8?z/.Y> ?^r~Rù2aT2-_HFt%_*C" Ĭ1 4g 0D9)A}5!MA§Ol72̣vYlYMC (~v<_@V1Qm[hR4tTs2 ̽pI\ 7<ډ!ΪbCO~q~a¿0xJއX8*x]0:V֡poK9oj.6_cͮH\*M؆VR笕S4/Nݸ5 v 9Xsd8 {7(?&UsH_̄ o*7sa{/%3+{e21Kg{lGn?8 10F(cI5Ċ5#Pz]&-r 8.9,  SYa"]}C˼QZ!~9qlt8'q$/Ν6lK@O.K_TYȈj1JQQE 'R^arj!K -r^ K9xư,prZz|2D'JBi%ע%V2SyM[d\LqҙE@өBׁ%%|ܫ3S65dDK^eaF^$;\ hO[E WjraKr36|YJ%39 C#@fSe|T otA@$D,NVjaR&g/QBŗS .n$,gfmqH/v=PduW٣"cWNTc$janKȊn,߮Q t"N1r0[-ۓ+?4 @YA/M(˜3#p0ڼ_yJTՅjwL4_TxhuOGGOG)G _50zY!XX6/'` E)pR"$gjowܜ@swt %O*S1:N8VgZ-vgE儣H*Y.a o\^*x25-K#d@v*~VxmWoG*,'2 })l|ai'r-Lջ翼<{ʳW_y;ߑKq+ lh!D&TBd7a䅩Ϊ0SAaEY?"7h]LiLP̿v*5{۝LxųQo ]0-Rn:YZ~Y-JajHba눧z,X81g<6YLii)laa7X8FGf7XXWa}7o %Qcd)F$@bpySb8MEYPO =>8:yjGuƒF ps;%*o8}σ7\dQ-'.(7%,5q.=_s֗"US#BK>=,o:K$Ab%:f$[#)&4zem6`[kpbtOw~-7a_!5"QڅN1wVyhf=Jj=ҿ^4 {Q\Is BFzڍn6<41Ƞ9ja >m*Q.GE{֥r5hv)tLY: 3U=T[2˄]@uD\6H0!;9km[ksi0?T ~cuYJ\ks,\է## OdNfRBE(mC\Z}:Nۊ,*J_"ty9$9aeSU&b6ꑔ- TBE֢}D-wBczIPiaJ,!ac-NpL67g}u{ҍfx`V‽bM3f1ۺ$g2v0]b V q&:a;]dyr=Q-`Jb}feE/_I*`zu$G*KX4fcxVD z7~(>&n,n "@Ds픤n1,Q1-7 PY)0|sNJ!? 'P90FlF%`pWULoMt 5ᤨt8Q g]K!+t1\$?B7$%YGg]C`12)x;SUک}!M#]l@s9NY2Ev  \8N3ʊ 1b O9=DddIC9#Jw߇Ta{GKOA;)f| r^nN,`~CeAdQt"R~1Ғ RY@>cB{D{GN7i oLMR 1k*;El5`T0_ɀ}?[](leu, O87L^{#) 5 eY~b5+i M[/9F%~GVEWeǑ8trgöFVWulaڑhɰBՂy{뛣Y%C L"8s!'3-G Yz!lW FGh7WG-^jH=?IЅw>!$ nPn7ӄ3  MD_h{h 7W߯X"1LY{1Xt{껴`dXv>!:\(tׅ;vyqp$K̑F}&U e'L?#l0, rQu&1Ket!\ʼn eJ{@<0y$].~@p9{xukX]S)# CER@]b"+hK1[8|Oh0 בTKl]Dmn~#bϋe\}Y28Y.r,V5Ni^: ''ǚfab#1q(MtC-Y&X _[m]“ ZI{BM9XVߩ&oSOS<?9ӖH bQ:!}9 C>4׀[a0O<$|Hf45Nے2NoE}ePLNv[]0(eu^ɲIලeB& 8^@څ-U~jJ8zq,LX1fy4rG2s.%y9Eo9ZNmau^}juΈ.~OXiBRV*{91i]Wc`ݰ^3ٮ7 ,idhfvVD  p ,L6jvO<T*WYV0ŞϞw{b1SqF\ MxtfXPo݉!**c${qR3ˬҳXe^=kr")v?$^vK#K|`*DmHx ~*dP) ~_柛5'\Jl؞Y=\m+J:>"D6I xPۋ㞙"soKaܷhrokY/*I:`N9*!] RDwAgOD&Uُgn`n [K 1gI9QT@@e]Y+~A\Ɯ)abWH Q{J]D,E۠bfFݛDIZO'q񎥝 8>xzCLmmڨ$D nTҔ]8÷ʄ'pU8zS/4&7nʄQo1,A b6$~% -v(2Z#wRQ!#3q'l$2e1%>Ndt 9BF׉MPK>Ƃ+u {x&0|uauRo30Q,aJ9i4N眓>zLM:!erXomX1Ũ>^xwM,.T-"E\ȀڐL>|~K1鼗ދ7>{k)f&_9Es$q_~kNXQp(, " 54]2`'O pab9X35"F*LH&B>hS3v9$$5`diѮ/Dc&h辳Rxxml̓YQ[J'@%?}6fJ9i3WHPI0$"AN?RJd$LJlr~Y NMFSYoÁ~B ǼυNeexYd3Mg$PN螳Y9~R;g-)q8nVsCo Ʈ/ I䆺`^r].\,r#ȅ؎rsҜdžZ1B `V#Nw8 fD6.)EO10Rrs< 1Zd &Xzu YsӔ2bo,e%7M= PwO~Ty&Or D7ǷtfW sr2^&jaWRcW i$NDR}0Q-ɛ{=9U#2 ג=__< **JCcge{ )MKΑehuyӟUpV @LI(Cy4aQo`Da.`6y a*qϨb)6`- NJc஄Qք&-]b7=E3v{x3:)ؼDo0.BH F䂡fE*ZLKA'lu!S ~Zkdj°AȬi\[ mFN]pg}N]?L/P.>Ԗ-Ş )JVqݸWg< ^-|!̮Y)ʰ lq2Ki Yhtʁni"L\6z+̜52vX6[_ 4\~'&Ήt3U6e`A G叶g6D\LbZS8g*bKp2kJ(@3 ˶8`w^dz0Ȏ=35z5HڜHB+; li&C:q8/H/vC\D2a"i9ED*^x28ۂ +bCN!wlQ\4@قDþHx{ R5^m@›9+o%C|q/'O!R^x9M eв55Y zXȾٰ7*.L9Z yRq®@o뛃jy7俫fi?e:չi$ŖWWCyS~(ֈbRd o8|./kD/)M -e8.>]&/>2Ο[¿ ݼOBͩMňG>ES' c0X+fubSթQaQ&x..Vdz]P[#+bZ5ઠ,!oa`t̒%'ifnl6Ԁar*?!Y7oپbvΎ jV-A@Xz͑Ƌ"[oЎ[r4y.6ds !BZv6lwz,ͥM$ FHCSJ [jM)+nM&pDRvqCeRj\$)El'`߭;bPLN6Δ~uyuH%sA^/&D1HSl1VmsGY#zj>'p=%: SmٸXiyBG/*gīEbyf%0D:z@E aEIfVMvB(7Gv\Q b>ˑ%9 uUpoc3 (Va*' hQE oť2+]4m1'A%yy|E.%I@NMZS#iIK6JCjR/f:8D\*EܽrswzVK8͈h&7\G?zjIRPtꈶIS"{*_;܄HH4*z2TR#fWO>pYmrHMS cN nd1@4r ΜHԄښvֵ!xTA{hLH#iӄIMtu¢_ #ۖ˲w&5N:xgeKLPU_<)8v0` 挥iBVB@?2N]K[onϰVbTkF>fچ@:5j_ 5N4>z^sτ%"" A ։h 95'|&I ~$dXoO_QhZ@$.n.>qNMN&,3{0Dǜ;{}:xP̢83ZCPIVL!5d8zVwu 4E& HN6 rxN#eKaڲeTE杳Mټ#2> @z|-G]M SR^GoWqfXe|=Vb`GA x.pD$qMeT=Va+LJ}7s))3h|\]m{JǦK횣H`Q]l/V_Mcm YfŅo g`iUVLyw4Cm\_j[^>{KOa7#b2"ѩ\;'=V)QGx>evưy uvOVg~{}YRfPwP%ǘ$d߮WBV12,ԑZAmkx:68s~9&Z2XX^-.Qz:P˹$XE[zy9w㑵T`eF:'脝,܈;_65oSmuיwMSwT;yzdZ7ZG]+. %cD 5w tfxٳo*~$Yz_@YȄBKw8~W(`CÝkKsc%E|!=Lqb@O筈Κ\h,ާa@z,4;.D'*gg 5XX PӇϊ*G#sn v uƆ:hw%%}6߹?f؛0x105F&d}"݌AaDUz+ե+80&{荤&eȪ LE+xO99& 8ΩtvfEts*l0; p;Fpix=è"}8s/X@3 +$G甲as|J8;s$RC6>qKj ˏOfcf8Tf`wm3<.Lq*̂WLDѐb7}yu0$" 9JهNd>0:/lC "M 9=|}7G#uٗppsegܿb{ BVK6a'T~nxݙ]0ѕp3l&Kl 1(R7žCs>!C%Hngֹv|#I]bҜ,2ld$dsE/ٯtϫ %byX=y#Uk@0xl3y 3,)X W5F"כЃP{-ܳѬ+;ٕaB`yp`O5L~Έ=g Dj2.ViVaPd-^mp׏a~pԏ&>YW-}4[g,-5O 댴lw6w~nluepHɹhTD0(ROD=d4;M%Ky-ɱe0Fq gg}P+T'qaK Uwbw:Pk_l9)9FD?yK&49 [ u4 Q&gJLb/۫'&ɡLTt`eIǩyiI'œH#ɵQQ`6&Z*2/~8z=] ʾa[p\BklܚS؄>hN/ˏn%U`WFעZq3nna X[}\|'Dc՛/3{]"~w_0?ͳϹhSXlzHwhx70ςE-r_m\c[Gh{RT!'lSQTpL2Lh 1܋2?^Oi@)1Q+*0N:Go>ܮbM)vÑu̾SgTj8K.RJ>Rf8xB5vsa9) A p.Y¢헷zuA$Ȑ xۈB EL}`(rpCiW <z]3UJX!ye_&1:9܂?LPdQ;vad| 6KB4R~ Y>>QvįvR2fۇq~By?^i|:-j :$ZcٴBa|sEKAЁ>;IA+x"22r\g^o= 8 X0" SXN tX*XF-ޝw,07$>cKi 0,tdrCYnG{BNȺQx4)c#렏X7A,>{eHZwѰgւqAOs}aBO0]&?Hra?i&XT>jL8<Z8dzbk*B =_h^-GyG~; s ~s2/J5 Y6ћvI徿ے[| pyq$eMlC ۯ.!}? E+ J0X|6VMY99*<q{^j:bkj ~< knfN|]_68nA9eN8*/8G=dpyr߯(1|Rrf e:F):y|?@)pW͊3vd4n='1b,ٛgoKLtU #9°45W8c9S8ƏE;8,S+?οn!ÓBQ[x!Ċ-OKPʹE[BF>v_rQTl6g!re(墨gI";]+•LbD5;'ڭx@:vV}y9mzˋ/ӻz~mmo_s`BĚ@~2 QcH pulB4-_QCSL;E]]~b^=Z ߙjؒ:l+KlHtGf__$G&/Ms{mq<isywQ*7[4]ӗω!'y#wb-Mkpq8HF}Wx [8; {p ⚂e\"/=cz?Hhʉ͖T=Gv.=X-^ }rޟPjhkk_̢.$Ox; 2\CZ';mu/9804VNta! GEl9cbJE~j7q6MpVq1L9)Ҙ{sb+;Z]p{d|IsȌI)l]1?@d]J6:} z%@Sxk9^/AW׵I}r(QK$ejAx{gv@ ;P<2hU78 u@cIi\k? Vvh fJ_HtT+ystpݫrwMc%1,h),[r,AaGM#=y, c{gXQD\6. ׷0II݋ӪF55Uj* N",|<K?QNLAƾ1"My&DN8Q5"yutjp|nP8,&dy4'z6A LdgڍLD\ P/!0NG!"||{dk#g;{}X%_kݴP,::;"yY #2ddjPs"=|Ao>9,n%.{f99K'P h`3؊ojA-ށc@Vrd<a2WW'!ꠗN*֕DtSŀ-HefY#NN#)Soal LGeOI!MVYI=; 'FJɽ"YJ".3eo[2:lGf:ŠOOdZ_C'kB:692kF w=qmaLbNd2T!Hf7[9Y?k,Üę(&Ou^Pٴ<f`D=Ig*͕lo˺cJ/KYf#ςTDZ)Fإ\_$jwgpa9jU,GAZҾ-7/ط?-xx&20MN|<#[ЁtnZf k|2y&ehwmh3ea% 3FI1d4~*_lV-,g4T)goԟy#1,qv#S6}nڄ餀T m\XZ-~~W$p@oE|Ys ,5&Q.~ +]u3=kۻSRE+.d<7O뵔g?3}?fCXC le+UD+:v/6o%HAWү>:jZX-bWTM&HzndE8Q~';>YTLBc FovtՏ4rMReADv!B3EO#}D4 =1;1^\ 02ڍ)sbA;JLd:)C':x~4;;OasIpLe2q!aNKJȇ9AʚʛǑ .Q+ Jpg"Ȉsa-JzV/SZW *$/ʾGlnMҮDž'+T-ɱ,1̻Yz!{8ّ3& ci܋:i~v; y|*\4v@$',]уWy2>9r#w$o-;`)Ɋ_͐f6GLnb9Lݺ'8_Bx^,6ߴ4&ݜ$B5b 8RJYROt.X ҄el17+ c*3<0?!(<2OɎ<K4Y m_ճwSB)\d2Ϟ" PqŒ`ى! ﲑܐ: )T2-,qa2ݞ>ak13*@YB茏F売+hD҅TUҖbH{rlw 9X(3B[08)[}͞M+K@D n2\i&]0}4vcvP/&W%SB;n-7 Kp(&ĠzƬExqAQ&9+1%Gk- {N5L/E隉KqgE{70޳W2>Ne &S`b9Tv?H]5Q(*J=aۆ`!wU\U,fO2CL&-YG$8VuyWT]}Z_$SAM8kˀ6O$ͷa@ A],aH)=%iQ~#$рx_#moWSgsRAR3@I =o9?$L됫87:9SJ-~)/N+?"%m~+y>S )9T )Κqoa@Nk'5qؓfqH,񾉬 ; &o9fYER3t0cgy8iXzǍul)I41 A9ު?>J_i% n*0 <7#kIkn4pjPJ1ŝR2A\ 8D]fB f&d10BfϴI}dA uogk_CrxR`ۥlfԥ| mۣ䣈$ϦVj2Aɖ!@kE%#͐;drt%<$t9fBUxi ClاE ]iEhZH0DC/+mDZOLy;bt@@Q7bIތz+G7gǮ= lGt?51 R-,ɽ9 b$5 `[쑵L"~4U cD!)А2nƃnKHqGqutYIQe"'籭1z9f{6W@;ۂXp‹C7x$HҖ`N QzTEZh)/@X@ Gh E tBrwe;FvXzv7bt 8rz^Y5kI\v- țK4.qE.֪?[Z@Ex${w`V!'_$;loI$jfnG\{-dUcwF3]_(Du/ҙ|ǕӔI*P"["w x %±ˑ~vqEw Eٛ8L&fMIj e!߮/⟽}˛#)ML/HB4D\於j<"9 3cFpr( cRILp2} *K,Bp"x[l#n krvхP/v>B?Hb2F%D5xRIx.W]oڬ4*7'cDqJٔF""&ۙجM/٢ GH'^o'=X39g;=!>r،l }e16k8K1cIp@6^7->~4-˟~-/q N%YTFvœ \cW:& #27el% qAZ80SCL(Ua}/@#[?oʹSDE?+0}$RmStd?ņ%V?$rs8[/PAD|k0O ,XA%a'ʸ*,eg ))k8Dx< Ynb_:ku~&%1hrӈӿP\SQ- U9m\wLʾ]x3+2yPd %x-1tv @|4}hן9@]:Y+lsG[L>Zq,v x/~h׫ +۫7F1V0]r0 <`lPZ]0+dyၓQI&9jww`\jn&+Bgp|W6NB|LFfϞT y"+%cJ޼ O'xNTϺnJ5o!cvd߽ʼnܧ|!~ *Hi"`\U&s~b2QĻUIl40/$ȷȽև֕|g!4)M[BS.W=;$+㭇@i0GU7A-eypBG6W!ZFg÷cs?\t?#dI[q螜f8*%IFRm(S$C,F,NjD(E]b L l+<L^2)TY鑚GR_!`)HIce'rXF8 fADⳍt)04'̛!FiIIfCb7Fw(> [>ARʅgԌ̶**3YD'r*MeI%D!n=\pN'}Qd" tCPD:<*SXni=IT'r*7 j"7kuxÃXĻ5f謌2UjNCn/L٨8ыV9bIe5M2ej-a.]u9C/EFpMu:FėsUWd"0O(n? 8Ө{ۑ 1g= 6V QsҶoŅp) xhgNF\=Z+6[LJ+ 6{͙k٦3vV/[Iֶg)0x)n0j*kǩ\b~"Lve ((Yzkrr'z 3g C=e8{/ޝ^vɆ7;U9a+LA%Wrh,X"[̃UVF"x" xO# FqE^R]RɳH4*jm*Lji VE9)<]lRMV"oE_R~a^`I,' :)yA`,& rnD: ґY&~^b}-^!9ySSHdSu5Gn?j׽6ЙLV-oXca򑺄r'a*IKUBn$%/A@)$>O= 84U5 _ޞ  >$RB"*,yle;ྃn\Ipk9uf:gb9<6Q>@ sL7>N%eN V,2{xCN46Qgd4ʆ3\l9FZ.jWp|=fNvE?9Pp,JOA:IVÄ}?{'oUBFB-dJkKU ]XC:Tg8`B YDm SW;|s =DN1z,bb| @&5KW w3j=*. dA=bVc-Eh2%g4[|)t!,kš*!|RCWp-N݊j܅$6/B,nn/~]Ʉ/p(*bnGXa;XU7RLNt-O$%_ A 5;;&:f.pgB1'rsd!5D%p$MyNHJpu(DJfgSIŮ!ƿ E7LJ8OSMM1^nE~%d1RYЛJsls& "0 #Kv DM/9{Ͳ@XpCWfn{2_N6T,&lڋpQPtXeN= I`7.#⿟ f9ˀOZ=cfԚn #YioJkk%=iR|GW%>]x%M_VW鏈j.u/5PͰ>=^7N~x͵ǂ1! +m"L!lWG}PFЈ Bfi׋oϟ=p@7FnBg8P{N=ms>V_G,\8."fҧrb2>d `"e aÎԈ(& M0v1߿nh%gjp& `_q,`… px#~?ftN#Z#o~P.D r|W,&<82}(>ǂwu$~Aq#$k ^jT ?Ӣj9gqg%3j, 劄=#ُSV14ƛt= ݢ);0VV]/6w&yB{9H&]W!)3&rnXaT޼:K, gJ4v|-Y>\jf_< |`@ Uޭo>A`|O.`4&#Ӕ,gɚ }&Ƭpvy' yZK77QTF{ԋ6׫9fFͰ)< 2Vֻ18y\^EEj&x<<qfIGbfR ϰFm9Z)HG]Q%:(;0hzG}c]De5!.gD/d!YݬON;7sT}mp(<׊iyIuK0z XX{, =!TDցU&;PPX}̏vv J/0Ei#fX߈BG7d*aYLMlE4(V&MWW,˦в.z-r4ʗz`gbwnk4qmjDvAb$ j~|1Ĕwo {K8<b%$ B=GۺF[̻F;&wZlD"=IgT>pgUyV`35s_mË] @jzf23J6ɐx'vQݽTLtnع{ZE!W\/ QD0!Uffaw:#Txw0d /ěC$lUiaX-CdB&ʋKMcl_:m.7t LFkB{X% ѧCx~8WnOp-^$^I#H҈ {4[DS( 4HřX8+BZ,aGsw'i3%D6)qe?.ܼ;R &#('SNsa*.ZKW3Kmތ6U}Pxd_ImL0s'"U(q޲5ة*i(!e.gX,Y.FpQ)(x~G]m78#W$߬`S&ck.cW|Sgamgi|ߍ{t(Lxhd# R㵊t7BrvH`Li,ѐ=pl,~S2}k B5]/aPX\##ԷhrvC=$$Ʋy ʗ)xz)iF-g' j"<4Om$Gl^Smv}1D^ndn*\s0M+9 vKi P2e;'Qe89+v;O4ppe-q%3ca~vr*,"A"u%(:b 'I3-y#:*dqF7yorn/gwV4G4nT03=uH+PG@\P}OFNPO'8 [/L dEgMD=rBݱEBِ#c*7H: e eCHswfp 2d)ҎHkjx##B4>5-Zf $ jx$#.+âigieEʡt2dɺ,ǿr'e:>Zy%wآ9Q[˵buq,n@!!PlzGn͝TG Dm16{LRh06A4Df#}Qy~7Rsd#p.6D{cԧM륶Dk v "=ExM/R=pTљ&C0b X@&|ȼ7O=7vrtn(A Dzzxpm3ۇ3 㿄zo($U-'OHlMSd!:&!C$qoۯG ƣa.pYnp3XAq3U p,{ NW0Bc]~PCnx=Quj <L2z&'7/0y՜*N#S$PeG=C\}*1e~զfd jAK|0&8 ϑZݑӣRQQ4M\z +d29x暆(VGCJfG9\E=ztNpx2Y7\+ޚ7:Tsz}l`U,X0oڞIkaL&dJ{LIuQ=bQB#+$Bs z~f6R07T]sY.'B DvXMcSs@HؤMcLJp{"6F8Xe/BhC3d<4f}f8^ El&qF* 'fyN:x=!R 4wa3!ݬ@Io{,[?) ƺy[c߿^;6'2%X9M-#5_@Ŀi%V :Dy9H5, Vrjw %,xK5yI;: X|f)ざ!Q^:[@w絋ʊlWyG =C) +\ssji)g9 ȅ;.9S>b#jbBO#Ko>:i褡8ݍSv=y(#`fSd:c/%e =hRɷbc23F`MnuӒSY!<5b+#X]ZOmR;o6±Sl18 e9U,C<J7?Th8n`8t"9go9{t;68;MNa9as0A-o]]E洍qT%O=(v# zO.@mэq9r.-)AJ]dIن?pn2G "z7],m\U$p<>l4Fw8)§yuΑlmwĪx+.ˊsSf 5|E'WG-q:sH#ca #0 H\:K5aBu&I{h&5REwl@]LzܬUHd}p_3"}[C'4ZwsB!F|w|x$CgpVjG 51Z1S7)r2,N) n2QgɒH:q,+ID24[H"$6i`_};{}s%Ԅ%`dL.LSEJ$$:Ia6w?n?<zug?Z|vJXQpy G| Oe#R-ǿ7_-{M務8 P:X&H ۩HgG1",A;ܕ@@.D-&xgȪ&'lø__S$:dMdEl Vud2M'gT΁9UcE!^+2vϣ؎`$,/g b(r#( iؘvd{j9n'!pD^UGaoaַxOgvEJ9)xJKkc/qKz5hێ5.ITPG4]BAH,ZLhw?4 2'er=̉^ΊzK.m3zE3t /QpBZE'b`I @U,BaGKj0L_f"|"c e<ҩ Ue#(\T/J7wcn&:QDS+Y!zS}}@Wyxь1G|V]p:Q<֌a͂ v{*UzdűE7 rڐQF? e:&VGo#=>ʞ?~_}, Pq(|9 -u~Ɋ7:n` l6{IVWE>է"k҂0j"ZR$ ɋk ?#~ D|D/wO9-˕V)Ex%)r^q8u%זS ̖QL~_8'p?..H.Sp3WUSPc9`vSLRvlsV.jFW;4SG#"C[rr3NyNS+,uꤓ=!D 0d*Go4c7IS)N)"N!Ɨ,ENj%fqrKȷ& y >g+!\7g;f05¢EAjȊu6$Y"DpM+_1i0\d,Nqz-<?fQ8U5*R!{ ߰83k/F܁cm{b|sy<'nJ+8e>IG?jDLBo8 D1. xC`u4)~Cޯ]9.s1mDlSH8?ٰ^= jEj!о2y\(Bg1< P7BgJQ,\AKf#ǽzd̴wfj+` dƪilZ#^.Nr֑Ȗ&RˤV!k|+`w`Sэ2֚+,y?ת ,%b Ne;kvW@4/iF:tmm K4o H|_כrpq!j/|}y7rR6 2A"ZĔv J'v#Z4I<>2azQVUE ^GGAcp_fRi}!e\jtP H)^Ȯ?'_`Zqqnڮ;݂pJ(Σ.mTD~ynm~t/p6mf"pI!i P;w/Xa$D{Pql^ٍ,D5Wtz щ4hB\dVoo5!H2ֻ9j.v|Ct89!EdFIr@EDV]RxV Ofx2wVK&֋󊬣Bļ5CnE%?fWn%Jt%1 T>lq߄w4rDSQQs=*m[7$'tL&o~ۛ#i;ĤtϜ^cXHa>ͣl/>24Mɜ"4Q-9URQrȚ_1D'pᅓ)Mp-,3,+n?`L]"9!]W2lkub/Çէ5u7Q΄S%LJyfy.! +N;+Bh(tf@ca-ڋ|fy $Y Xj0dTAW8^^ YϤh  uyObeL)nl .hN%.FI$fOl͗!:hH Ӫ45ɞ&ڐ^qޛ{[,u5#eʃUO `(Fնt~GZBUrw#%G_.C!70=.ÜD>\u8[?hywFH^fYBI脤O ;Hލ ׵!X@c\OGHdEH2]Xy5-&6[^HG MRw%k(ѐrq`uᚌ?{0QSW$+HT-JbTZ [=l Vmf+326+#m>$Vܳn?ѰKUo|QE$L䟯ZG0[]K˅G"?7u2}̔{2T,_IyL(ATorVsPslO۹ڷIxviDBĎ^!X6d W\cIg}+$;!|H^q٣%E;dv8Y Zj^L[lSF*TH{Uh}-~XyɎtI2I `vZjsK} `W|BP:U2VQ4ʟˮf*li,oPEt竣Pv lvd`n~7! lpm_pZlrGFPp2l % '֧ةi|.~}qNTs)4b`4u\hCfynY;x||/,1/˜uJ> /ƒTT#H͉MmF0l$5H$^0XtZᙾXa5؎kd#OZTp]}y>ȋFp-{5LIxe [2CYS)xl'_IX9zpwb)eaIJKy|PrhD>I#/c}R (-{(<0ޤŰfpdxZݒf1RXx1ˎwUtJT8Fv~-Hh)3 N C. )f ;Wg{ޝ' XNTX e@0HFW[wnf 3ޑ̑pwZ6rO)WۋO08nnT3K|{D/X^1kDαqbIYRi8 SY]<<\?r ;=Xγ ƍ2|rD.z}4>DYѴ3sf2J[6,ƩGDܳG/D<^r5ў{oB;(Q#WCngHxZ-{pp9Su20kN^_cq~͐Ol#B{yΊ\k\d'~lbG Gn9# <ޠSz@&5b[N= ~S*UF`TY*V'tjn몄}PtHDx[Y2ޙE}N=:)GIkΑc%T[pFUكTvogJ`XGBX2YyJV Q ɹH W7M}m8k@λGwC]hk h܁܁UQ;ylzw*@V| ♜'Hxz I׺f6'BT8k]R;BFe?JmVnwЬn{ɐDirgG A Z&= X{`bϾ!u25`_{s 4и=kw *$DF̴`I\yhTm=n+VdtW&E:X ZS]` ^4ep`-ԁp QOymlo:gG}-dzK!}։iMpu"8uRlx@/@MWIU٥fTg'=0Isib~_u ]ⰄitTM }Pp%q-dp_巭zaiVdO;[~C Q?ImQR. n5hGϷ+WΞaZj–2vWSJO3LqD6t!:ciE#~XlM;UF ̄lScM[d?۳_H_aTxD3-SyhbWW;˘PXD-|\'QĶU&lN)@O#A!nݶ7:Jagr7dUT$FL8xFT57+~|vGS)՞R_n\NiW2vPc(k&0Ҍ:"Z-oE.=|gYs,' '4I\Lħ>>"}0H!HҁMKECMQSپ>a=8]ZYDr!l4{GyjXRF#4ŐCx?<v*pƝ噊NZ` {w׼1l/~ZxyA,yI]RggUzO%88[8y4j"`b.;O~SH&BqD\1Rh ,ίt&T5˞@q-Pxl$ ga8rЈP?^;0N$R$YRI97k`e"wjǩ]{eh]% Z}x[C|69VgY "=_<ՆNx̗تrNx} nSIy_fFx~suWP \}W ͍y5p,QFքHw}]`s<]0ȣHz&&NF<; x_p">}D\חo}`LtOP f: zn)H{9TlS\߯h5t8#o$+,k+q^@{vuAI67=S:֊5ѕ,Z*X}]}/#/O@oWZŹ@`jIxvOζ„o )DENLoCsCjSxaA)즳@8ĉ")8qW6_g>Ŝ@*%ǎƶ[dO`ڸxir /L| kɌR J4rRzpr9GΉoXqJ&bMr(Y$O-5͝K݄,XCD gFc 2WgG:~Rƍ>{pV<2A)n%yL)[Eۻ!eqvjWSl}OwGy-Vs4ض\75OЯCYe7FgD=`wr | <U8OM\\`i0슛%Œ0KpEL_Kmd>U#r4uT@Mn YT-.T?GnWt a)(ڈNnlO5u# Q C~55;y R$TcTWMN*#ɣ^ffǒmzf F&j6$DL-!XFz1o5T[Re>F+DM;vHs6>Reu6 mmRT4t戣R+p2ؚ/{}yMˡ^o<19hI t AF0Smop9iF-M6!4@Si0M#4pq/.nddy"8aӐAtJ[Z^Q*"O,JډsBo:oo/Y>ϸ6AG<_,T`Pl8ЁHC61XGz)[y踹JQu"^Lt_ S0S"X|B2Q怙|2npJͳ2lS 1U"Wih0FT-"z.& lBXO1a)(.C{İqoXqF楓r[A}7[a>,^>!| "W!]Үbrd|H2(3coCrEW%LE7՟*?Q!$i hZJT0&ƯU r}#n6WOhfV Jq</V?7'lrDf,AdI\PRWoϖg9 0<^_L[g48nٱL~c0 IGیGZ~cFRy:NzT&=8iJTeaA(n$̲fѲw?#87B$4Uhջ5,cϞ76"<\]WJB [s͢}[_\"3WpH<:.$*X UZ$`j~ ?IR/}eC)q~ |\Obц FPHԪJ %)cߖUf%tUn/F).MB#O'z5v=ujs8("ب0ȡ)qkJEDy>.EP4tI% 6!L]>l`/9xB|ukJ.;#3,d~ըHbvyp4CH y"BOU [29qVY5c)8ϪdKKK$kԽ?N°|F6,6$pY0S;E$$}7V~[^ A7v/8sZ!$Q,sfNrypwy_%mmRNl`s o6pQZ-DU>[׷n{ie@xDh8d4l>6AHzG`bf0!Z2-~J~?,3dw8^.yZ$F?E쳾#4ٳDT漧B̬FC#V:qJÚY;jǣE4W%;^tDž;j=3s'G !*-6t̔%"$j_x?,)E9A>1o7w+[򫮜Жb*d'^4sTKe+#r"Sx(,2BQ͎-YB< ll?! 'Og"S E`t8m_ f:JD;RLa՘a  :S\Fw]p7A.E,qLGω ޓdttKGgCI ƑQJHPFTcZ͊K9>.98 N sht҅XRͤ%#a㔶!»F8-DN6 D4zAư7Ǯ}-7[.bfӥm<6۴Z;,Ge0w ɣhbgpV:FGl4 2]pߌ 2ҺoP8XY@"sfT$u lS&+qHO\ a}eECrB``՝L,DEk!Egw:gA:Hߐk#Ob')/ geK ;AES!: 7$=T=9ԳzR'r),8Xr|*>fɼ01V7G=툔euZHf\k@8 0ZP0GrQƆ/{=Ϟc[T.yrˈ8qOzQ &Y(T&Z!e{Y"or%M$t02B|iU]%i-^ !Z|ovG:e0N>G:moC >n%|vWPlLVUM;U!`ƔڐD`BҀc?oeߜ=\zvzǾTӅuNiO/]lO z4s*K5&&|q ڃGAϱ=$ZsA>-'!Z'ohlxObF(OxTvK╬ M$1}}iX\oO)"pt.\!m"e,vHa_!WS:S8%5G{;yg^RTZ}_'v<xl#"ctf3a0YbjX B.'E7%WPzjo\؏RLF!ޒ pOž;hb)MxO>H^ǷO&k}P&yf24fd)TV+Lf/[g϶zmLeh4|Icq\!u;mIlw%l#X2Zgɐ#YQ06 kD7o?֣J8R}5:&ʖ/TS0JI;i$dUG5,ZѮ rXˡ`lK-Ȓ2vFpPX06V-^l?(;O"=^R2 EX~V x AfE۽! p8`m24$R$4q}sy:igy$s+^ u'-7Y)M8]cv$ьE $r82DTbW ᜐe"Ѕl NtIѧQQb =X[$$1dւI-&8Ȩn/y(~?>DLe0.'`FZCg#oL\jmo>p~2\M2d,-Ȍ8D?0l?zpBx=Q=̋D)>aKa{F GHL-vJ Y _# k"9ݘ',z0q2" Sऌ׊T{I an0߲Tf6HgDt᭚\,F潴N&~HXn,'/MpN#)OQ<.`)*@d9ЎRIdC. gdF2aq'?E$qKr3S BV`&i= 3,~[ ?>%!C@nC΃?,턊!2SW3 =.3.'xF.)U뛎_eۢ'"@6&`r?{D'13'bkriN$jKa{Lf>3O[S-RExU^o?n؃5M縱Vi8%wPmۅ-+4d`'4З&75"%?̖Mah"&0f9[ p pFuqC9B GʖHHF4̢ii†̲=ҼՇ>1aiXh5Ir ReBeE m9q}\Aam7[>xᯅkTd3b]bt̓-=w%\Zt;:; 1E<9o2K 6ë3OBF6%1wс1 sԙXjIcQM'V aYM/f>#W÷zC$&Ař(ZZmmG1Ӯp!@%hl'跋ToS;u|So\N6᱁CEJ} ۅ b)y zq^m"C/sZ"n)&v`<כ;D>*]+T8̓LX>W)Jc¢on׏4xG[^ι|J$6 y;rl -h 2#G jkGޮ^^ j9FYG2v2!U2'G1$2gLϳXH02c+Vv ^,2t)e#{jeo2 /Pf!1bHXg^_|dPCi$ST^0qP[j8)آ|b!Zҥifb)8Di!17' ΀]8DP HHF7 ™|> ?VQpd/fbWÕͷ+QHؑ̚6`SY+SVp_6t7 zRn)B D 99rb\_Iޝ= DMddkB)Juju8ce5zޮݲ,FlS@B@K Egsثڐ˲A;Zz$ň&( p%3 $E7S(sc-v+%e-:gr\TK_gA6邴)& ԂI뛋QaV(+e"`o(nOza/20ed}\1qwЈ6͞c B#b[E,#!'Qyb>#dJh'=3\l#U$ddTo֯KgU9r&2Za=IvbL̡FYn^B4GL"{GN ~gpT,)О~=S4MkF o-9@UX9P"Kd:RuݬgjaX%7ͬfz^u$f3Hi9||;q#-P/t2$=flyX.ŏ+юJC%]XȅE&MVwvHq*!eɴ p"ur4[ ѯ!LQn9VD6H'xZO-]=mLTDEOj/_42 '˅=ީB:A.LH^8 Pb!6E"2N,gνd^«Xh+"gdi!m|y14T(Ő:Bޛip${0(@`iOG^$*EPt]buWNN_ךƢ<3 ޻pAu(V&QzЉo+v;չ5J9]xC([>F"B䅓4E琁r+uIw?PKܻM1M5ȎPS'p~KnxވIbAi6tKǂNaEaz%ŭ>}1i5ZTRO݉SK ?`13Kv SK[Wlk.w{A^~' ,kaݲF,Lٯ?Zϻ>z%Ȓ #,.ShZ$H^F2w~;_~Ǐ\Ϟ΅6|=d6 Xeg8|N;:RTȎ`%ޱĊwM`^5 ("ś\X!fdž% +) Z_6#Iq'qF+Uf +S"'GxRa'" -gJRʄN»+ȷ)rCZ "( /!=##mܬ$oTSzIYLܞw+TsiD*4U "$AY̰"ؗ?r;i9IYٚ_3IK9.ܧͦHy wRw񌁻ٮ,)(Kt$H4j.EWsuO3&.)>ak_C ۧJsS`!)6G öͱ "ΰ/N/nǫͷ#e QL:HplI!ۆ嚾Aˑq ȄPd0c:cK[lT nSJ&Udm^ .Lo}@Ð'( '^u[ʋoWHi6TDZD}RPZQ~gB`r7vMiE{-^K"7c0$;G JŮd3䑠dfv5J.X߽6uuNT8ۍcP謄Qo~ڞĂ" 'I٫R$g Ұ5 F^h]J͜9* @܅rg"ܤz]$&vO{3dv7W8=S:DM, 2:ނ3UH; l 9$r2.T|hϱ6eU2%l)9\]0]i=@dTa0ȠWm2\XXaha{d %a8` v[O$=(nlϘ5j0͢5DモO& a\Z 0Ap.# rZYJd5ۊ( E?mUa5*CCFZ糓`kÖq"T-uWm<{ҽ"1EC+90AC6(У5Wڲ?|v a*Vz36 ov 3d$׌GV H!Y!0DLvJA5wI)(6~nQZM#j%~GX,'X O-K6AԂ (L/+Dow}.\86m0ze 9'erP*˥E~0SO!B@I2E`c|Ǝv 0"W/*rT!0I@"tpFR8=3o8qgfµ{Tʶd ˜'4}}ĆA/foؘ"Q{$z14vL.Q^iԦhW<ܩWY@Cf{Z#g&e~ DPmu-Yĩ*zRsx|xX2rɐZGq)NcaaC!pC>Ϗ#h=vySV桒D,nd! 5țwȇEj0TrX#tHֈ*5eԨx)wObj"M >=vN{@}|Ć-?S,שRv!He+GgY97݋PH<yDDQ-%q"c4'/S9➬P㦨//.Vlt H?pPHQ &TN7󇛻 RP@OC# (s$yp .~ힴ"8@LŁH0B3#3 ^-^P#u}L6QCBX 5H==bݑ| .wVD ^MJ͏6-|8AsNT=}`af3깰NSDN6Ol7Ak$4Fxb yrr&cH(Lw &e`L JftS FdN"$(dx d3`aBHrs@´s%4" u(~nT'YÜ7z7S9<;$eɜ/ 7{тFF a#DjRGRlo-~f95€D]S)n-˥~#pH͍23`'Μ1pgZɅann(O g}Ir[8koZ6DeX9'e:vW\߾~quE~{V~~=ًUqFm*y ns:,0aG/goַ6ߗf&?;ɩVւgczҕ=UG ֙Բ?{%-op'au -˺/ NOຄ~C]"M4] LJ+7kDRédu|S3 ;&"_nWM=1ޱo2LQ\vʳ3kfЎq=!pF7@u6uonrCÕ#/( &7\ T䩭& {.?"QRDqu0IOߎW#bs?7p/g})38h{'T~jtA\E|ێ*@eʥitt!I2T>%2^}7OxwſfX0TQeef /q/aW~}ϬJVt)㑝ÀAY7hG2_Fo'3,~޿}>S?F.!4BJpT,.<@VY )V*S+A4EZX/YV=\ݭ.>"ggv˦W,8Q3V*y'̓,OoI&F: S@0k5瑐/%#lҢ,ͅőQTl=꒽^d]61ْLKq~Z Lyv!R9fΓG%N #,7Eo&*d4ږH8u^LiPbՏѬ-[ّmZ" \tُtpo|̐c"9 V"}6haURCq?mO' 0G&XNzzX5$ؽz U]0 [+)? CCO {T)$16) { YϷ[=b'ѓ9M.`T3T̶65Ry~FyG~9'iŤ:t»rЩg)I'~&f,#D#g`JT"43,Mr.R3G}&DpSFO_M|b1j3cN@>{Q,rbQ&/t$\x@X*iy@%LJ${UahPײYȴ,D%kؤ4\sZ[V7~;k&Q)ش ™|.u`7xD珈_2ۅ,{͍B3bJݧQVDٿf6F$t^YKa؜! 儐A4Tǯ'FES _)6Ř k 7e1]W+h9(S3U#ůJb%)H7xRF~> ST>̂x2jYG!G& v @dm n<,wݤUEMNpщ1vF J,2LP4OKED*!ҳir(+h4H)+RSh.OG T)u}P:*VH7wb"5ER|z{6onn62:pR;`7N'75lDFbo5QƑDZ\ "a@<T#Ihc.5"R[=jw ihc"E#ME4W9CSNYN]@#zͥbW.eeTFʗq6wO5ҙJFT5 ˕1.G-YdWWgysyPf`BDbMV)PvEձ0^jE=PʳG\®5NF ͻmH sH+2COq:4E^"O̮ ~ƈ[9Q%Ik>n|c0h Zi&LI@#_^>sTxCoɥy7*K+4-GhFϪYAwEtLJݖ*0^Eg#g*SO}I33Kx1MTٖHbȐ7mUϴFo֟?e@w3* se'+-O c"׏+So[ ;8TF.2`S4XߟH!- \PzhsO"!q0B~M#`ҟg?n.<#9RޓNL^g-ADQG{" E(G@jOWe9neCķcg]*u=~Ƌqu~@wl ݼ]]M'V ҌuvffL-d_DJloNuqݮd,Cfe,'tE]ǧ!ي$+3_ WH{sJ+›I+$,ʩdAe;ltE!3dX֧(qv+Cb{="AXvX$ fسlpK {k#@՝DaMYQHWYa [P(3 /פ4>1P̊6g "RЁY\rɋ8j0*2(9?;vJ҈DڹxySaV,]diؤ> Axb n]L\kr<#T#S:̠&1}rnrX;ካ qG,CovqXiumR߸o=,ŽhɇT:{.fN;o''Ŀ H , 8qnIs&k0>0!q6G } 2p q~n_*XxW y|fWmv,Q4{"$) 5| Y<߾eIC^}Ĝll2"$)8%>23X|'g %B{-NVH6j'#c^D\o:6XRX#ʥf{G:~0~D4or#՚7PwdSo#g$NhLܓsgRRnv}#)SnvQԋF Eڲ \ C v'D]6L٫fj!]¡Di؞ln/ VG?J 9 T%[YuGDkgΰF @̆ }#[CggbH {T`ܧ Yo[ P~G޳ZωX~n 9n, M"%X@ ٿ޳v B &*:y s0%O`8jZm$ z!4"x|Zg~;r-f\B#dt]%.~}Y]ݯ>F<ВO@.a=+~]$৳=KmGЗhOA5'D姝bDt8~zswp8{6?ofG^6c4, iw25k'XĽXK:HR:-W7Tr`gNv^6CY9[%v.)sUCC;"AL3-7q^UoWVwǧ>氩bTI5(丶fjr 9ސa{ ᗱbCwi 'xjfܒ_a wFWtه aݓvDJǴъ@F24 d'A1dJp^p~jei-D" ǔ?2֒;e$rJW3G-W([Ρ9aC,5cRx,4sѲ´se޶;yP̈UOU@$Z0:Id4ȢSP0 )1pj-nh&KDiחtez˹(FyE`7&{5Өmv`%*lwAI+M㗇LJȷ_Jkp p\Dc2+-7DvRꎤ:2̀Gv; 4aw[#{w9R3SԊ:\"S'12f\$0tT/Wd?.dxlV"]e C *o9{O`M Njš8kc7;Y~R3| H/Kők,\T YR#q,xS& E LKTٺ(&W-\{-y%cfrWEgew'=z{z6SB<HCF'Y҂7 XƱv#Lݲv+xģdOPbb DYJ,*1o=ПX 7Bca-։WÈY%Ba I!9 okKcESa7𙥲#.FDH&x$\„6K8;b~itHXkR KIXʼұ1O.C\b)HH ^ o_(#{*_.M$)e{H]c?nY8N3<贃zEV.|8lY~-R)r *NgM*?=y~avkS,3bCuѾݼ?!&yIP`,ngh9'6)J|hG6w¨DH'1 \jk-pIO]0O QIaH'4Nʽ8dE0yv?Hj68Bk 2 ]jQ~^!x {t 6e6f{ُKV0ZOD>DFR?zD=;( uÚx-#E߿|gvzk5%#d4%R'xd|y2>;vS5,pd03yQal;awuYp̯Fol/!=Ꮝ:^L\28CLII)}YiCzA8K8O"RZ=Q8\Lj'`<,69j!OkSMP5Z=ֹ͇2bjA P˴VļU7w*Num2\v(bPMZ~@!qS>;iGШCs-8+I]>UheE9Ƕ5TvP`T]2ӮP"iӝ1?qݤQr ?pI*pfCͥ"_?Own>%Ƕ&/,eϴ!Qø#MmF;)#𝗞ֱ;N%$=i_h<kқ)aL̕#d-?hN5pm1OќLUsD 76ɮozbzg+h &)6*RpӢDVp,]|bJg=LVѦ!.Vϛ nD!e0̑\|xMͰό4[D&$"E+Y1F觧4u֜a)5ɥ#n-C!,GHnv2,D>7лf˫Ͽk&хjCLl)3?kfg/VRSze{VAKCڌ{ڰ8[Z>u n-GP-OO1iT*OaX@)a?]ڑʴgnp=a n3H)3al|06R"f-I! V-0ca#khfݑ!\!Ӽ@8B<{n"HT;7~[:ȁG-A4#!k)`,ޮ\F| h|G@YNHnS[϶YE(w`> ^Tr#jӨbC" '?׷w rrxāZA@^ tf&I׋ ˼odhbHKwc×XG"CBhLinov \;Ox8-Z7iyx}†T Jl c99~adz)ql0NM#b$g(e M \q~xYy0D$dO0darI"/%KA乾\krOEzc hAj%eWoWQW+fQ[6q]0 NfHq{O\٫Qck< G={ O5+9ŋ5>k a4֡RZ/cA:93ԓipĺQXz2Y;4ÙVDr^z-ܬ.WETy6#/0OfGdaV(7hw+zqTz eV {Od@˳-WI%|"w L֒S vSmS`_$W~ >ÇZTa/$Q*J43<> &j Y v[)xsFDפa D[W7vM7G$BQ d>l1֢; [߬9pS rώIf,SrHx2>FڃKv!QY`_gSifP=.ǨaɡhY38gQvzoX] [G؊ ^H(, f.aJvxmУ&vDh)!!vP9p TE>5^NݑHQ'4u:J)$Cq>gb,) twy5B'7RW{C+vE"@l&+IJ&Q/m@2Iء5RpbD3XAZdU'"3W⳪tb37/{'' Fn#ٳW.`B>Gqvˮxt؛d"6;Z-Vݽ쿘fPFϾ̥+>??yΤ$Sv"#vMq?b2نAgn e2WMKO%q-.X3##Qe`~q/R,5l}\$컊~r$@B5 e_!%Uԝtp*~N!-2;u] ꊨl1݅Y"F=_mF$C FӲdtD[dBԢ\oյ**6AEW/<퀟$Ś]xR4]2Dh̄_n%y;TꎠK) G%^2>8Qj*Y56k g=XR"o8B*IFOOE;b(KGf5 7e45*KZ=rx:ȓhdERy4lWQJz^>,L;q#,+ul0K+YmZ&YT@! u28R؉Sɼ}`xB8W|Yc(Bj<^.a:nFVEcoA*6!͑ys_Y=`m?ډKY%r0r6øӌfM@Hy,Y\Oc([Ҭ"6W glx.k'2 &bȩ"'EϟmVf~@F'BTQrL`wo?yYqϵE>|n)sڑ"/#]#`p?TϏ:gbD0O+E)K֥dr" r:x}w`g"+.7Fĕ eIfR\'P kI}w拌e%!3Ne2B2Us2:ezHϑpZ*I> b#BJfBT4' S&(IʿGBt?zH陼q\Ġ80VV}> $pKhyB{O1㉓qRqgXSb1 X+mcOHDV,,*F!6ò=EHnZ#Yg$q,ӥrv6s}+>{ H 8erR ;p>aEȓ/e]sI !6؄ JFa2Y "pN9 2cZ\N0 0$s{a|VHBv"q,TMTD!_l 1\FGX`\(ߝCvCx4iNpVv¬Tcj͍f|qv~ӆ|~,}"B$q!3Ur\߮&w:ed؊0o5Exx}y}{Cj% x-~}pBRbx>H HN`FMǩɔ7{  @77/Y/I? &y#X?nb#0՛o鷜\3[WQE.q* I\ӿlslV%Lf|*w4Pͷ|?DSzbT5=G!HrU."Vhg^(ԮPPp)LӢ?ق|<-P;Őu$EnE"c҂0-Ď_I6hv6 h^ ア?g?X`W5sd,)PO8`{wA1CD|ϔ"pn%E'Y{yO0aµJT2i[ȧ vWZPr 'XTثl#u6_wsz^=mkߝ9 ǜ4Uv>Gmv*7&x'SET }dayr M#aq:hpF8D#Ea("xSEM1dQ^!i8%) RxaxD9{In/0ޮMJj8Qcՠԍ{$!o9EeI]]LaLYIJMNCazG3"0@1Ks)}* {rNclO6MT*aGI=򬟿(;,js4F׌*Oo4ݷƒԄǁ ef"&FH46rZ'$OlY]LtHGI18[g5hrm.‘q1%2%u05baLT?`!ŹKCӄ8^Cwyf{~$-* B h08x 3pc& ٫ջϫO`.!¥=2LOO'ho0D%?i fM W[ -ŮOx)ZDIn1{"{"0v2+.VH=o\eT挎" Lq%'b6]!V ZlI~]\KvvS[܁;wXQ)#Z&9zмʬUtiіp x㘿]RPԱ5^96r&lh 4bL ʷG$t9iDJTNI{0/YD)ٳΉRx9cGiy*"Jv[Y<-7"(XDUM%5 L͊hٛ(4ZL8im舴[^?Q,vPsGgن;u/<%n gϾ?GqR-"fLQ ⻟C[x2'v`@t!Ձ0ĩbtK*W%3燫]T<˝Ka器(_vɧ9:q/z!*NI yY Ĕ6;pO|/x/r"?\J0[z~(f: Ŕ %y-]^o/NpC(4$$iAֹ]z\fe{_-yjQȹ!@l( Sw8髦•${ a$1//ζpD$ȑʩpЂ ZO>r>?>^on  a`[HȍGiƊǯ؅Z ΄ é;>ƏjxwJavC%:y$rV ߊ }ɚZv.Gȃx\x$>؊zޚ؊thOքQO6, GfD"b<o=O֡&6 q~I#u(rAtRަ2\;"7g܌Ӭ`tlDm6V2$+v-uQᱤW=.P(&Gr_}-77c+{Y=I )+ &\^v pNpNʤ # ӞLP`d@w;88=c<[͹@G82 ഐؒm @ _4ScD~*%B08tej%΃;Az9,x꾍Ul𷳷٩f;j $R 'KZUIb$dxOQ+#2U .XaY+ZV~!-A Yc3d!in4K"i"%o*LY*ၿII>vy't&7 \iKb&>h|~Rmʳ>tlq4%i*,x2Vj@JAM)5OlϞ%*ljRgf>!ˡVWDԁL ۉ}B7DMq$wRCBޜwKNGYJ3ELN7̇f_dʔX.Ư̍HҺ@EC|n!<)8V.S󯛻'QU1w#5]"e`QI֎b3bGoչ5v`g+0i3ձcqdȟQro`N `pIЫ ]SjY=It9,{.VhV>#!Zs±[Sջ p :, J%vI}( yfz80e`ﮮbGYgkݍH(/~fZ5% IC$&}'[?f#7Jfڳ :zcFu0u%vu5Γ˱DE$UQ-Q tΛ) w$f!/Dy/$WFK72ثmDjsGi`ϋ^yxp',aLxjb< #2䬈c'sNd(5n#>()ً I3Kgj@}k}^zFzzEe,=[; y /}ãl|1Ā" %,zD8\U~)~얠Kܚ|č2<Q4BR)HG"r B!6BC>unA=U݂ӱk[vX9D)p!Ni^߯yI7"$G!J9AAdB mK¢sr2KngЕ/ƹYmys{G)xl2 t5k8SZlfC l aW$3x Xb&Fi^B6Ғ'$Ĝʐe\||=h~3W7HYk*)k&)}[ĊoVwvssi}qx3_B'Q'CnІx\H;rFЙ<ɘKo3IPTG/~CzZ)/C}JfD0*6NgKuI˹KGu7zpeRly|VB sȒ`@9l,0c X]{ qJQiz&Rsb@$% ,F)Ŧ KVZҚ7o)\Vvhr 6cd4 )lIth4$Hr1)!zGk9aO!0Ǽdϟr!JJR &-y.E^ Xڜdi4gZ8/4 ZPBmJҋWboKNLh&a F8^.Ŷ%\fYbx2p=gk#Txo9 Ɋ[8R[QBȴ_F57 8pd$p _1%L,8\Bd 8&tyu* 4d_tWSԥ-_tGPMԥ?} qVg6'lA%Lw{J3WPhZ4^  \1X /p%dV y8wnz!Tb-M䬍d\us ;o0-p.au*2; b"Nf ؟,ɑlע12^igHDG23GDDx0 qF5q@I J ިf5ԗZ[#\y$% Lս!ɲnٗ7_W"ܳe\tlcLgI8"a\]0q4v~-<;4܃Xy\?ض7GdFՉz_^|ADAhJ}r{-QuLw?n5v+栬a  \=qF|3n%_ex32u1v=}Կ\H$8\/iƌ?\ OI$5o>w%>;S7eGb 9)S@eɲlaYx$c◓5g,T :ḦjٱXoqLZYRɊR RAIgFsŋw/_V_g`ķ~JzT. w"qj{45GDH;R*϶~~~hPj2RML8Uc\9 Yi7tTfSIfQ G@<0zp)&=R¨qB^CR2Y'8Z1ryGooD&-r=g(1Kgf#;t?1~8"T`N;Na<5XPOp CFBѕG1\I†:s(jXpnhBD2bcl!Irέ6IQ>"l}00 09-' [zNxu]AO wARF\]lz]fMRlp&57x$1 פӒBqqO=LYWe`r>|~{<~<b_txV/O8QC ѣ\6 ]O7ƴyD "2&daINu1w/h@hayءUa4HD:ݜ]EN뼘K7fydw]+MS 'J"e1eAo'LR 0by̵Kl:;Ĥ__r+*]%:vJKXPx@v9fD;~.42ͶΖLx /ub!T 5 CQuqvRW3˜-)Pk'r'P x'zkѺ8݋=1'n;)Llo#'vEQ-2\g1_g -N`}+DbFf(Hp~^{rD'v|SŇfORXcrڽ:4R>}bx6%jrP'hS3͈&ULHϗ"[!Mi3,v;_ UMʩ_7C^#| F͍u^I=+lZ;BǓ3țgО}3e8]>E8#;%=!?M6ȔR0Òh4^~n-ՙ((r80_ן''%# J4t@/uKF5- 6w׌~|5"DJN9rkøxpDJ8iᢪ0(Lʣ0S0iW$NFcTo& 3fw+Xz,}8; S t:A_(YDZXrTzj|s CrH|Z\#@)3x\|Bmsln]axL aNK6Kfrpc]B-Z7 3h Elpψ^!VK0!T Ȕ&5$O%.L,#wO=BK'g^8#X0[pgBvܘnj"uU$e/2q؁3Vs abN2:"j%hOL*\=Gu`eDG3IuLgiXq}F A0#Hj0GC(Xݲ fY]l>}Z93.@p&m^ɥ 3\MNY@tV@`ֲp#Lh .ƹ_XsCدIŲ޳!Xxy*JqfUd 9J#81qݫdCM`e'G$P;n)3`. gl\Cb2ˈu}?!]wTc~xPQ!![BHRL1vB1V#8ٶ R䫭?#%f&g)1IIz O:-:d.(m&h<$"01 v8hu?lpײN8Z' aiySKI G{0S8 > jgjz$W^>r5ᴐ%WR0#lj\oo9zb:X F,Ս͎rr)}hcXe_縣2sB8rZ!  P_>݅+ݫ[48JYpo?ZFTo/4~ G+ۭo6_/YL/̉\Vud/NaÅ'oLIVOaH/~H_ aȖ'I4 .* g҆&ELJ޴Pi$/=\_:&W!Kdel&Z%>t>qh#=>(%Vde23ilPƉ)qwby]hH٨z) +#r5O~fJe4É3ts$YIslx tO0BÜ rbpRpp,k7zXzv*'u,K{]JUӾw]~~7y1ykS#Y"+WEaߞM[r}Xm&?ODiGN~r!7|I[&|@dvBk19I{5YWjl@cTJg N7ju/F' JbbpϾ|gгv8# %Sn_TmA#p?4r!%GVyu,oM3 ibY`BlDǸ."6jJ&mƛ%[Z 6>ާvR2g8 9E"5 8&dulfvݷuZo#P#8TG:7vZCckE):,"au&$s$f^Vڔn&txe>3!}u85EOgf,"HlllXZƁ6bOUiK1,%90pQk'LyO>ySg/TOb$Aߥ:u`ǴcJͧ&u2r\W2d WFL$)1Q6[N-G8NUh5Cuf'!7,}>ە::"'ΈG;Zj.]@zuuK1HF%/ q~Vu+7\GPL>2Gb p& <" vQb}exqg_W"2l܉VݱT{eTwZ'ЧqwW$~Rǔ%as<{Ը9>=}b'_+x͙DSR# Ɛ.^z{vA-gV -1fs 0K>R)ɭ#ۼіmΎҮNpزuJ#b#Òs%ĉ569qnn.3 >|][R0!lJҩ&Ktc*\nuL2/ZN 'MTem1Fbqo&:#e&cEklKǶdFɟZX;a,懷i` K)F&"uW֖_F+*91إ{dSDTȚS-;b#)o'=‘΅!ČC٥R5pf/+U=Dp6&439@-[qц"wߟC;+_>{o8Mͫ3'\k( 5f|ǒ*$S/q~[7O34V]̔ujf~x3"1 V ,#ItJ}{di]ϱD1q%qVV|{Z*ml=3Մ`bvy?g]ܹO9f8.%+0SnnFt`hN.0`N#($&M)&[Õ $^qd$cVD&,n@JrgIE>p?'Uld ё"N߰R"t~k n^q/ӻ/#Z/ƎwșdaD>y(NDK,<8׽PΉ*| 0ޟ0g6Oz6q%NYS\x!Ygj2n6F>3UhBX~CJ\ob{Fd_?k1WO52 INcpV ̿p~|ol9Z/$kLQZ_ 0}V9T2YD$cp?ƮC В+qC1l'?}ZmS(B;ڔ*ۓZ%=7^'g!Qxɮи JVm"#lN u* WlޗtGɉN_ *NJ~&I<ի騋qy-rw&cc]a '@$ ^Je19nUQι Pk͍ ajk"rNē)=#uiKܡL[v6QX_sQdw(nR+PimsaLHr1ð1RvhtS쟯4) ]6mr)rc|Aó'ø~?Qb!/Q^=BRuJ_\QP_5#AbCc_ fb8xyz`j#Di"Ēc8#Q fiF1#*IZjo?}Z3䢀'{o 9'*Tm}Pkl+tٲ|2+TF`qMEjdDnW K9R [9-"fIp̖zT'y Gp=>( y%xͫ{肐hRBę#HdŚ`,sL{qF% g5;YR=8^c3Tk;q==3pKPh!X=Lv~YM¸t3 0}YIGE,Smp7o ./o٥,DeZCGK1yea_Wgq< IK @q{Ic(dx\+[D8I [Ж,ta9IEד&:e[ _Sɂ4*<e'_h2əp'P◫`c1#Mp 8ܘcd.TF%i?|B5ﱄ]j i*6a [u^ǘ}cGe8=d6PiTEő/ls}j)L>0&7 Iw7n\2NB2,~F!78ETB2,?oG}ەvF^8 ɵ'd:s=q $R\a v.11y"[ooW2^~2غebSl8@:k,Ҳt$8nJA^EFgjUטvcH(ÝMg[Wg'?mҞ Zpqƥg/4g ;a>ҫ+N,cܨR+Y=;[+}TK5|ay:_\9e)pja2R,R0.Kvxg``<邽Zi9LpDDDvÛ$tml^Yb3' >򊰷$Dn#ZGAd)i96uiéB\} ؑ;)rKVfhf R\(MDly8WϷ׫#`KLM`OIoaӭd$}SظSǢS#/q/r#NNJ"|:(5z,jTz.fNdib NB%~X!Ρ%|eɀe-f9!cʰOR6Ėq,=^-mhtk pe⯇T_;}Ce݇N]Ii©_@Z(*da8J/ؓZmJ*2Qa5*ʇu=b\v4u9Dfkd9 F27%omO ogA!N LFׯ 7wdCa>x\_Bf gf}dV%)?ˎTqan~ѤI]9;eNrU-Kxb_jjqs";Jfc!Alέ r}Eu`u!簪mz+sOLf˭#M?G R4L_B`Kj0|$ 1RH Ik4G el/tnw -i|9sBβ7H,ޜcGۨfYh)*)j{]`O{sF!MyN"EJ8gұ$'WJ革WW#;G-aWҺm}"u$sDT6a&ډ2.A.OzI3AȎhD8s [d{aRzĻjUaƊPNKD5v!G|]%|ULJ'/Fb9*K2.Eq%Jg:?ޱLag`,)(F\k ٢jdsQZZm1R(oܒZXԳ><}zSZ79T=mI:Q(~R-3 sKMѝJ,|TPf67%‘@@Sm=ܞ|pN44a'/US0 [@GCo`dO~g3 \ >o+a8+J`V!ecP!b^1%2 HPeNL8(Lb4f N$HOW ;P>;Z DB(Ɲ2%ZVSzy,gbM$62,"X(ec$)/׷r}|ȡ-*H=CyLnr$0_mfȱNPЗL$,$9*!ִN>;a1M]!Kf0'j#"TuatxOx&Fƶ5s"y`l4zo{Әۊ*sIJl6YIكvx6طbKB/%oM:*'ۈ ';o*bOTl.&]/;FI`EgU*@(;HC8TSX)/pa Ɵ_wD3,&Ifcu~M$ktDATE` ]#LǩZ/a:f83 zDOv*~YqZ1ps@"l¾zXY;![N5ZFkH"7?߱(r-4 y@`hȚJVƠltO\rZ<1I%+!5X(|czZ,UL5ޑ>t \E3s})3ðKk}_ i^GXʩ|(e=3[K³$6}qd# bny**Dag k<%3n sd1 5pHI$pϢ3'@4J&Rϖ#McXB9nR9RTGqޭp#T8ޢG.+ya(*%Z)JPpa_QG yemDFfi0 #<BhgWբ=yT~2!؛T-rw9^߷.{>J~xu\wf;b6hm%M+7n]2 L!?ztB B'wRm&}#jd$*CaZI AddZq#Ghk,óElIdoP0<ֆ@{7پmHqeeA6֒h R+GD(ol<|gv,u`#CNIJq'D[p(Y8Y3?v7aS]> O0AQ;"n!D=!Л!$'w fԐ>}Z߉6~ ԰:Nʚ)hȍYb&٤w%fB-PEQ IcobّE14m{E2X3ax}¼Qc<ċ!ԬbS.#v?Ԁzs6e(,d Aq^ϵ܉:V@tB5rq s& #l{` t'y/:.I$T8%1V ǒB}HFOK~U6J@Vx1 )sm63`qO! Fb6" ʗpoY8Ll1P-;uI 汯 tF$-L3bDǔf߉bJ>d9Ԇo Ҥ)#$ָ^A^9yQ%zLipL숃Nϒ?:xQF _`l XO>ISupfh_WUQ̓lq9#6N}#lY*qi,qJeyrBGD5='hsc8IY#~8t?X\8iG\~2_pK?+kT#~4KpaH/_xU `rp 76g憬[G`4Trbe@i&@7KT9-U*^Oog$3o#\f+xN=rxQQ^FR7yT>TGֳ 6iG ^ZDBa%|#]7g?ĺj2RLy344G|MjE1iѮo{y& He;2.k`tn~ݰǓ`>P R._V-`tm LU[9??qu`RqˑmcpUTO0Kс ׻j3޲lԟII F8@1goۛ|PS*Z#j.v%*ǫ6C) õYE-s.!LCkZބ!>N:x} Erp|ZRy#YSi |\}uݻ<Ɋx&KTˁjG)2_mEXxf+L,QP:'.G

BD89fV+D*Gr 뼽9ߡAyL-=)F6g ܬz]p1mHreǹ}Ig1ѕǻ,3/ S#Rlǚ4XeF wρ\8jtÆ*(X% PP&'JέEÐ79v083]HĔ$N8A p"vΐ AM~!qѝBՊe6_=ֽ[@hL9_D<&Sqzz_8D͒T̷dH5H~ؕN`QQڌ.2|g;?sGO#P یгYp֨ҭIjAjd2d}A򎙍df"3t'lártPـ:4wo-JeF$aݨ[0;|]k4"ccIS*^ߗ~^}zp xJ7kSh$sn$GFPc4˵tŋ~3,L#͞LLphlBnIxn#ViGHØ9H2EESb76{-ޑW!,Uؤ&&YC3B𱏣Ʊ1Ev~|{Oe<>X[*I1OE60-iXA^VTxeDćʤG@{DÇT /ol=p.dųXF#:"{Bϧַ6p#nGAOlhA5I6Q Q8K(0$`ÿ>Rh7@mk>̱0u BoQ9LcY[- J3L2gDH<IcIh`᫬I{$C^TS ؖX:#vgduy`>Lbp1u\qXT$Hb^_QOgƟ'dCir#Y" UU@8h%J$11*8"p3*] &3JƒqAK[f$|yS2<||/r6r719\ 9*dsI(8(d*3lnaSJ3[7PF'%*_w /e+Nr2@FRۘ+p7 p< rZd+Ђ&}XSWZaq (z6ȎeɁ J(eEHb/x Q#yf%C v[iZVT)Hywh uC)%v`7EͿ9SDs"ԍquc6+;ءߤpW%-9'A(@nDA*Zw6E~|E]Y9Z)?5joFC DOc%=qS:%l&ܳk;kd-xhY ]YGHM[۵*k4dsSnuuwbdd*?*~;SÌ̻ZN(ʄoN*剤*O;a~˯+ľ'++qg6/xXdXη]pg L $o>1q:uD6Oi6fSPpbg4",׫Lf{} oD552‹PE &ʇ!3z[߬6ekDm**R4_zDwLKUTاܟ?77f}UfOIj~hiT)[?9) T>1daY(BY&GXF)ш_1GR;|]Z(c#`=UW{$h8cDZe*W { +00qGJ#- 7 V7{ƯO~AHz͊=Рp#H)⡝53wusP~2{*FrQJЪF'w])h&)bF/piIbw"- FM)ze3<ʥAqc,50B-a[]$׍ VG~ŋ--s^-;MZF;;t=}U1;hDxR%K[.WWקWӱǧet#gNths0S[GڮE-rIҟ(YMXɝ=ͱ1v%&R?MjiH*Q|y{އ5T,YW2tj2*P@&)5q)0`ӈZEfez8!4Sdl,zΟqvCBLP] llm*2KGz}{:ȭ$d:B?GI206^Dfsv2<מDt8ؗ&+|i}_m\*X=+&p*;0wɁ>$o iýKbWw0Ba:~'MlgRձ+) @IhMώg{I+㏿bF&?<<)r|&<ݏ/)Z:TEl7jGؓz(c Vq%ncQgq% a>#ɩ_< Gj`09 q"L`4p5oD|cI:mVay,w=~f:fGDb*EBl<VmdM3;1`sƉٶM|yE!&<~ xfWhlҁWfpy5 g#"?VFeVJ=^-covڅ<|-p+.:Mfv-$_V1Bz<@op {MF8mf6m8cn@BxIFvr2N?? rz$TOX [3di b3Xe8+ 2y&0EȏZל%P3>|m{\\lW7=Uӈ;*BSf߶8AyvG~xv lɷ`agLTBtLʽ1Lfյ][`I㣕&GJ+֚ d=ާcʲxiuA?giGf7WYwb #~l([<7Ν@ADclk'-L7"<XK u}ea{{ًI.UOfp(0`!wRԲ~89oGBHÎ>Jlq9LtiTe+{dV3 jsQL+`&&FW`T'r[R*ibe묭$W$ӖMzq`@6y|QI|x4A"Nq&Z9LȂ#Q: 8Rk:z0Q"):D)Iq-aO(7q:YqzDWƄK7. ,c|fO/|,+hc,cǗ3:&sAeToa5JI{-lT㭓1_չL>& .9vQJEL-/*l]v@ѵVT=[\z?3rFBar:`efTzyJmYYho(lXdof&0GI(JL7@+Wc [`|!ck:.U l2c9o)i5EӱK@xl]Oj8+/Vr]瑋lE7.̣lYx wQ#CuzKD=,&Y!b \^ 'tN1QUEAp,3ॾ V^&@UL.I+_)&+&fp\.];sP. ''KSޗpǩ{)"PțM+KӀ%QGDd-~l{0,Ë(NGh7?%i~ᨳMF:)fZc ]g! '*rʍo߷ſ=~zt.,l :8H +[P?7R+f"$w/͔7[cxvLS2d∳&vՒFe X-^¯oi"O ^g. fɤb]rL}Qi݈c=fl.xpw>[vx9 ƍb(_g*W R!b&9tG)8_- lrl "dÆ#v&xu}[X%8ז-CJl\Y/7 n*,w'Yx Z8Z Eϼi͙Ð9M8-yvv9؇OՃ}LSFpTb!&fT(.4JRyx% iJQL 쨜 Q/뮍??,OaSe™[{%# ۫AI!h2wjJ*iS dz{q+.@R3[߉8ĵqR0ֹU.f9rEs%&aNIJ oFbJ5VX6G<ɢ3*ILn2e9pɛg88N(t goyI%ѭ/;c?^x;,-9BR4ٌ/r GlٖGT 03ؑ (8 тoQn$}0T_lҌRCc6"F5 QoOӜ4pHOk8gl-;Ͳ"K h}3_8QXƜ cb2AD!odrͻGF$ a˜q2_ܲ(;F|bQ"FP˖ti.~ǝ;qj}]3{ٷ Q#?7Lv0nR}Qk~ o!EFjp d8')26."4,9ǚM__GKYɉV- p~$Y@zKc EqGl.3t. "o>PFy-sd=Ė\ug]v'"_[fo3㚉cqH!8e~Q |vp@_S{qw{=,8WxdV^L"#IqfDsFET#ɺ -ԐZy =K!Fi`n~F椏(l}]fI5n$N67 /'/I|לCY#$|W[ܳ;],DFe }$* .~|I T)_6*a,EHۿme{^uvrNjiƃS\P6h+zT0)dl&D [e-JQQMO.@Bf fQ}S,OπT4yMZa{n4=pxڒغ{r xwF茘 -fAzIJOn'J/V,hn$R~ mKKxUZjf_WT#qr jSIiOGZ3:#wRꪍI6C0x GDwO$HEzz sC+v"mI9pU)O";wfGMWMy?Vщ܄S] ξ}\J Egc]?|-TO\| |ч3"Q'?D$Mj_ӁPkבeK< Us8dK0n? NP%0\i1j@11*u,0ФaNS:k+eqdsZӞc>1V=KѩRoJ`š؎6jxJ˛ݭxp_*PwrWCѸ=MoߞWp$qcrfz&{֮?^W@v)NQKu31I DnnOp/6͊bo5 N`FϚӎQiyBH C ]:3䟮1g$> 56FXՍl xoַo8J7]4m5l=ȝdg [E4U((a_<|3XIbŔַ3߷-2S pYYmeŮbլ|E;/X2%hXk`?.hSdJä0 Y& O%kLu6̙TY)͊/ш)Jk"u}~"]ƝY/ &#/8Rc&%<{7J_ǖm&0" 5Smb?W7gB V[12$gw,@+ƚ G~Fn{O;mBR!\'jeqei- .wWdg[b j0^؃~CWwC4j6$`ɣ/f=["'Ĭ0Dq3jɚ=#ZdޜTHoh{ N=OQ1*5K4R눗 5ԆXqo8Q)fiid ՗1#c_Xܑ;'n 84z aOMA۩,- j8mC rZ:38l >b嚙,{2SܓxzU:;]Js"_%s+):Ysc08r/$ϑvquZX8@y&cGxtpL,vt)%d'k6 db 'ۏsE2F4[(-⨍;N02ŏދi6&ˌ GzSYg'GgVƹtDl`)E +@YE˻2\?9.  rDĀ}zx¹SnNl:f%1}#a$ ǵK(J,iA`:6r+ XV_W!aΖZz )GԔ$L<rɕ=$]Xi{SXCCLBʁt)cծDg =C>{3OIKCS#ފ.!?upEa\G91b*=E'|OSRFpXSKD Ȥ4+@+:hc ^*eP`,=^ 0{~Xhv1=ltX(EMdf /_j6I`AlGGkmN;pe7ϊTZ$1 &kˆ;8vO*x.~[}^ݟCmخ2SN0ŋ\[*E:Y/~Q0dYK&/ 0 ͗`ئERzx~\g3ЦH$| 8"+|Y/~_}="KWq&5RxcA(>8xlmB6®׋+c# J>]} ?/9o*-yR-f"srBפi o7سuS0}%ۉ21bbL@O'gyesd+eb] o5΋n 0 l$El/+R[qJ" l..b̾gIn2uͲ\ ,R-yq%/͏N{8NXS+ኬ/ (=^l#CnJfHe2k99dn}l /66rp󈣖a|twC]N?}t"[$rlRS 3Pme iQJUV,/&d <u=$ꁠg=ݓvþ,43GU,פsef>2?KdFHiB_yݗ+ָ69_F(z‘$g1r*QeeͫrA)G?2:v3YS09p %9C r d sSoS$LpWw(ZM0[5JK%WOK΀b!1fC@Rmr4n8'i~fOP6PA^֐_㗝-$p^ Lt@a;Y&-1q-W!_0YcNd711iKS=߶wWĂ?f6DfK&@=Cgξ_#@ P4Sڅٰ,=UJct4"lV< MQq!¨G;b`d ^XO"KPc 3Rj*imӎ}:lwXK.& -ٲ힖d "p$qx|x/Aa[_IH\ B8dy}ao) \ȑQJ00*RH&Iz5K}Ns[eo# &ҩx&TSCRB~{#`L4TjXŞ$~BA@v銠r(?qc? 0 Llnp`Nlwwٰݹ3MY%* easle\x̦K%w,}e/0.R[,yeR.wHw¿s@fԫJ 2۵ TJDd*ܭ;QKͼX1%Pr2qxRahf8 OX(e-9͞;_(A!z Ei#6{J4,;8J>x.1ڳH6K*2E#YDa |~Y]p?akX`xJԀq`6/wc#Gr5bp98'ýb8 8N GdZ#!]pR|3,zFÎho/n2:g*|.};!.+J'a&U gH(Dk$m=F7룊>]vr5+KNhIKH44ZG,K ba}d"yddnҚsi`pHޏ?6KVŢ+) #Z;9bfԜfpYT Ufi$Gt͌yqj/7Jҫp8 o"TQ;h)8D2CfSI@ub U ^O\fu[y=IUq0'ybuK] [nPj:qFِ&0/ff-'a:.U|OӇ d95e%F&ٻx2\qhpr;%2*s=+ub֤Nر_\>7PvOzbs~X_(KvԺk_ L˵;@^ Hꘂ~VGyx|jTpq6rdF?!-.'@iqIVg:ޯϿ_U HSBAYmX9rX&^t_CaN! 9phW] NKT9Ck4Vfq!<%_JܜE| cωE|ӝܼq&|s7ߤD1}`6p⯱|MnĞI;iT~5>[QA:a6!;XE8#$^wMC HQt$@) Ëq nkX]ؐAM"C-^7뇇c ډ 8`èC™q)G8JY#< ] U_Rd;sqdKys' ,Vk׮hRo r+v-oMR a9usMmcuxCc⊡{V&f7Ǽ$ݜ;^* !{V|ORD=(6Sv] |Du@*qL'Nٷ2ooMP)Us,mzw S^Im+v&t0oWԩg6sZߝLȌ_$Tl($dy`/k:{>P佼wgġͥAO!E(--@$UNt0cQYg& !`dBK!X_c Hn %Wq׽WM-Y^N0$&@&{W!Ni0 H3K 듧;0nc8>#k@o=:) Q​[aۓ΍1 txsh|r" Y€Ui"[|^.~e͵v<'l0//F^~^->^JiuY'3CTUD)0;?掭,LL ֗,+^N~hDJ2~Y(˜@~][션O#ȄFuI:",TM8ײf50v,w lqK%2B2NZ'oHlvXY0pIL.N{nxs]d*IB 9IA/q);/;r\EB%fF@3Y7W~d p)زo [/bOB1JW/X8h($k~ =o&=iwIy̅ DҷY!"ф edt6y:Ne>`Ϭ{@R-S 0}vdSJ`" ,R5~F𸡌le)! 4uB) g0J4ķQ簓IR̡e^ZeAőjCeYjT1(J!kţ9P.@I9@ D-,Dц]dt #͍U&_ >m*Z񕥉˨i6T?)#G Qb8ʟBh20 G9M#E[s=uɌE(Twxa㼬ZiurF^̌2yǵۓLq0N0 &vO%;} dНua(7׬x}7?P,I1Ц<,?S{VZo.lq+[5mSW1N6Hz$ ˆAAsK'2VF"F5{'k.ى b0},#8lZ}\|?=:odD;\; s ({7kvf\>7߇/w/ƷXAN?ce@b õВ"^3M1o|8s9qS8:snt(;+OI6R oՀҤA#=,)wNo6_n}uo0,>hbKs; n) *cP+VIhZ쯢wqi2Ƹn5m).KoYfƃd0s]#$W  N8S,^avx(Ө5Fg™mY&+)@<~xᒤ/vdsNtd9/bN%o[B"n{~R*yz0#I"SB}8ҷv#76`$ AL泍J ݘtY`G;ާ[rZD9fi 3g~gî\lJ4aq n85>vfq` 9V4[ǜ5Gd)M+ o\Icnjvf 8nZ(. 1统&~#=nRß_΁Ք65c-cc2WNlB ÑGqT`'5#,0I p$W7S۫;sD/׏׋7>i m4&6& '{g8{/'ώS"Nq5# Q??+n7)Ġ윯d]x%)`ty{ bO8NuQo0@XD9uv#uci|~%8)NJ@Jl1 Ŕo׳xz< bH6 s9>YNXSGnYa߲q;Ƭ",0\ 4a"fxpScM"U Pn5s;_7Oa44i9ṟĽΈ|d_o;K6qfY5$pMUzj<(`4E3E^pC aNҗ@iE?2/5ÛsWsdIñEÇEhX?#%I#,mp)ϓM ko0;Vq4-=KL&)!X#|h4\5`Dg88)$xNhYD FTcuBslJ%s5+(.K˞ ⅎq/o>a^<|9ə-+LS.~/@/YBw\+!qOo0!ґ{>'c(y5XŰT|W%O]',1=ǼgO]VZ <KZa_' &1 \ϐ7|HPPmE]o{2"#GcG~XSK6LSW9}b&i ,UHd5; ĕH&!1DN !wSQUK u{q"dҞ@dW5X<Z;ZhGPHJ7de'`?iG,UxDbٚ͌n&,3C"Bj2y* \X# !>yZKG) 2q XHG3'kоqB1qP'x``0 ]8/ﶷa2e jZ>7Jp6_?P,޽Vr/ P<# 8ntcP89sX?[ N}1 le,gKޫQS͕|g4RSٖfT7J }>R;i_yx}x\3$ J &k>#d`+o$ʳ :[_x337Oxշ0^_jo ,wO4hҰxN aX'`EK_d_w&J< 3Jxc4~b,$pLQ=YHiHϕZ97Ȯ, 8ClGWrÍ/ßQ'ِz.8؀,Ї^uy|NCl}~~XU*&`ť#!) 6L9 ;с6yX)Ӗ'#@V_b}'XwHZkGuwL' t# ˌnZ);T-kmV8/y: CU} =7r] Z_pVI@4=5$|X]] {g5&R:)8v1;sPyc eS\d5GybZ J蒐"R0\𾿮6ecXꄟ= o>;?ĞgOpmTYi; !Ed̔\b]pTH:OX?\0XP 99LWkx*%e&yYQW[7}N/AsXC N#4Gwf[;îxJ.JT ޗY©!72+5 VX Ͽ0OFΜcP!9e Gf/ &^W&p@ 38o'ʎq 91Hl3%3R3)I 凗'f#T$j7DJ~?NșѦ1؛1#pR#ca+@i"2bۑ6<_4`t7MK[?ѡ4&$&箓'/zv G"3f0QG$ݸkp:M{2Iھ8?\р9ͮxNdKgD SvRA>lRU}K<8")g] #.2$_/eֺO,ɲxv-Oms"},Q a[/O)aR[i&S3rH4cYbO谜IYg&I<24`M(g˜Cd8&#lcGaZlAᄑz5q]YShߨ2r83.ܶ8#js:۠;:|@(q20ԳwvLDC5f!@^~Y&ؼ>u,a",, eM"" D@|G?tFU3}'mϭH9BPlaf G*T)YM*b#PYҚ~NbsÊI_,aZj{I1D KęD^=HFg%! =y錄*HfkotVf2M_gҥͩ_DǪ:Pn\< Ҝ|%6\QB,i9Oŕ}H) Y`#)( /GG@0t2I5"D͐w7bX_cveo13PZPmqJg'C=W8,צ.8׍2GrG1- F2Ւ.+mo/IU5Sα5 RfY~X_WiTm9qj^giuBhN nWXm{yd8L 8`]fN0la[;ɱt<똪S+q]#%_yv#oOm1%0Rl0<^G\vZZAYDS/F1[l~c{ax܋[iҴ: ti0iR:P/"$ǁ0cgE F=V]q BMQlԭa[=&lP- ^fe=ғZb-PuhpDZ.Lfww?k>,4gs _)* !qvǫ뽴ms/A/?'/ݏԮ=Zq< BN79!8 2sKv?9~P%;$rb6Py3u||zK "Җ=fSBYFR2*WT{7Ok+ΔyhXpˌnw7( V*3Kta1pg4p 0YpߋٞƟ+23(=[j댸:'`!PYJ%!IE5ζ!Jb|#'v [lM;PUj =24t/?!գlhc^4 ZgM ;O3QG²Ftd~ˆ?wu)]>F*EB`vZbExt|oL)k ķ"{q&C\ocGTUmlPbFF8Twb<Vj8#>p NFH@$i_*3?Ś]$Jtla)WI}xp(.ѽ锩9u`gYII1R os_6ӎ} 5Yr*,+!'DdL@f?3)xYJ0G%PH"0Z7WVwvbϾ,qȳ MH\O/[29 {!.)>hCiW?R GҐҗg `Gau?&/}]R>,>n/~}bN+afJnª?_v(vGy: z (ƪL[^1_~c7=E̝j1EB pgթ?P?wlH~Gh2=pqnb.C^G?ERr&)dka?lܠN!`,a {P,L*%6 4'=v~M~tK-ꓜ>O7 8E{?Cn{EEek#')"u#dJf{玴Nu~i`:x$D@ (زo]_0s_$$]LP?t׉ڹ{&Ʈ !Zrb5w``{ FwֲWr&ȩyw__qǟy)YZZRzG6V޼k9#&n =oVCWypEhКc_=!luV_G90:qR@ۓ'5 /Vꤩ[T;e-toGWe2/#f"?$ˉ69Q,ml.WV[zÔ8́MDBWRp,/ޅp[;e$?mt˱Q LOk[ .d.1qSxR^4a?r f~5]+lF%EܰS{~ꉠ%- YOQ<vj1pA!4GTINpmD[]5!ZCI 99oF=Ki3P_ !1ȁj#5,^#}r8 :Lq2=Zj}_b v̰G-ri&Q@hlېĚrw>R#Cq_.ûշ/sO3] E&9X`{~@TOL]2Nb,ill &NF']\LmMVM.+'qꏌ9ݸR0U5|{uΞFi2+QVy uE a8a =I^#_A}YfAKrZkMK &%?r|_k.ɨ#9~"vٚ"OlGrDA@`fζ>]z1R TqiHʛe%,(Cw :WHHfX֏TĒ:ɇ&-SSiPN t灎-85Z'hqSr};. iVf |Nebg|x)5̽rۻ,{YnV8NIetcu@3leIN`c^xg^vf2[jzOs7O׃w24/%y lN Kjʎk./g*[d(iY\bo 9=ϋ:\ߜ0-I  Kz/޾YH0N%'vo$f_kǎ쑤~=O0 a-.]L8IlA)in_4rtcR'C: ƒ$Q aV#E ]DuWO)d9v :'KJJeR,mg(ktԙq~ASG>~+Y2.6;?y.H>y0<~S=qT߸^3Ŵyar֒iV:FPBSTpOI8;vHڈ'me&Q2J$>}:DV*n$&f2ur{azuzPtjvl=ZEQkӦ2'S͸ԕSR 'WuOow.9H{Rh >p(:sW{? VWt' -IeVRH̤F0S70+_*yj2=j2g6@/$8fvXk2ȸ1lPM*Ʒ(e& I$%3'2QGLY#(E |`d{~d5)]ISdCL#=هW|7LTe=몌a)Ԟk '+ot2<#mςCgB`FtŬٞNͮ|y6z4=Rlmt' =jop\~gɑ'vUâYjS3P8IQS~݄n2yt8&Ǐt$kpmdݶ# V;r4@iU0###C W:R!o<2;nuD<7%J~GmLѥ^RKF2qy)헻꛰>PA|&aF_H&&h5qIïo^<*B>cf9ra/LzBZWd`?pBp(fS^̏4Ǔ9QT3BICGc_B^ADEC~GbWl\<ޒ Hm]͑95|+;wrtdRF⣧<+VxytaJ*tas N9fFaF;Eo6RD$#X*[UG;7W6DV2˜`ޥP T->oN_]r8'*OTb '4Z]b୫gmOQgF mf[FgRm>v+v!kTݛIx* T3* 烥 JqBovOOH]Iy@emMtv kmvxnn&S?B9a^|J<;D*x)y놗Ly,jjN3D"Qک=9eĻ]Hqf +̌<mz,aX8U8ҳgFwB?4;#zg$6~ 4!gA^Wǯ 'Q"/QXd`}40O P)%&[p5M8+b'H53k:ӿqfAM?6-F)yj #^a@FE6(ҿ9/j[04qT?<ݰ_/w3 k,-q<~Μd83 ]Kr>gL$VTD=W%rduXg:!bRUV.S!ߧIIh"J3lEq!E3QDUOv{\\13d@2u MjC0|8Ս$`e,`ÀMN|ψV{_"8?4Y3@U_-o#uA.9&.L ̦5shrsk{&E|afYojaV7TZRRV44q\Z(ɥ7S<-U c(ok&\P;|quEʧYs*K|" =<"e)Gz﷟)Yxuz2:p#clcʃlr.QD``E8s[esFTfw&/v8$/]ْ4L8uajlcL#~H7%C15zqfw4x/Bf;e _EHdty(Mƙ|xf;ip44l5":?oNUX_Fs}`I,^rܨya LlO!?Jybx'0? l"Yfc>Me"E$lN_:-Afaj(V(r_j_sD oʬ̮eZ{{#*-SIisyc8VOhJ29,@d q?3_V'lK#;^81N.6"?7]BF%<@ųߴ7oY/3\I}aDd|"qGlt9ሃ!'DNTOf"XJT3V!ltΩI"fm> ES |=G6uM?1?IQVm-p&.Oc泈kߛ Y2)0zZ =͒=e7h ;L!T! IzQ+Qmr~B CO Z1kRʟI7Mf` Beh d_=۳]"ٱ$q*n/{ڤ|@؎foqP@ٜ_nַEf +ŀT-G4I sD\uYV[~ চD=AY ? zagX0*$yQL%.ԉC-d?ͻ_]p؎98Qfpy$R9h (\ճ0i(X6y= x\,!NyfQv#}wD8ɳ9 zIb%J(yO`/XvAT06ጫVAI  <7l]'"zR+|iIZvIqaP^U߬De]1ėiQ|ZEC +W>|iI&"w\dBdo.MP9e\Tk(3'>0l{iB"[śէ-iM ȅsD~r=K6Na`CΣqܖC} dr>?Q5r60h80>/-^k^0B/cB)ԣ(jڌciKyGkYp|} gE C]2Zt v6?̨;Vah۱J։Rt0kbcWCuA'G!1J)SxK~H#8W2ZRf2[:f8)`Lüd D %.1+3*L.IAbD!-߄qWo exYA8iY&{4Hxe-<ů JL"Lc+:Y=l}kN{v+":&idˢ,Zyd֛9}8t l%(*R GQcifXՅBXf2l8*^ĺ=|k "o '!sTK۩!@5_2595 er'!OavRb'a*[)L,zV<yH ~SΒZT m5sVެ7}^h>ȟGd@"Cf@CFN}W_;6=ي} <Ц\-AdDV _<Did(08<[f} DSCggZl[!"DMt-U0G: %d-#-[C޸BK@ѲdNj񒙇HQcFP1L74 @A{cwX->I68-*kEjF]T$&s" ,a~$'#l}i W@ggN1('%Te[%[`!9duMS.s}?fu}nMz\!VOA>F왹]yLl< 1c*3I v()' fpZq} i\59cª{bfH R#QPû߫;L0Dt*҆!^ޭ?OZyB 33Ҩ&md}d QcAM,$+УM7 ?6YRޑ{%p TS,yZ.דV h?iF 2Dqc!dVdVn3y2/EvIv726p.yHҘϹF)^zy^fP=&Xq=KD@o@;X6tm=s$Hm6N8pêz',8G3D "V9 "^^S?juyzVjHՉ-yd+ei]Po Q1!j B̾y?o1Sp˕, 0v@I]2irmx=&'3sڪ13l8=ºRdR{5'fiGR𙽩,YGĞJΞ ft2M*HB`%P4oi&xG?>Η F:kv5F Fe|B̐}GYWk~t6JU"F?Զ?""X uqvR##XpBWIOE Gz:1b¦n:- v[~,V8ed_v+ *t[Ki+ 1r X9~Α6xp*߫;}s PK5*C_HJ?9Ua҈֦XuZXlᶅØgΥ+  +i8YPPPTEMz&:Ahuq{G>}Yo[4 5A}G1}#o{N¶KL29Մ>$j}|dE箄s\5g=|Zqvrp1T@=P aB {?7?r?󐻯LPdq.&Z_^2&w \_wr=&K':n;qjN߯4Hfl&,Ry^0+pq~xlä3H>,ר[O2Oo%ΩIdH fbbk؂€;+毯Zrrv`eVԻc%G(jE/|{wՓUZJXHg-L&]\MQβ*Rxm4QBBu޳1iĠOx ΍F<׼/_'1Sa7)ل`%Qazib7wۣXean738ǠçF R"Rr~8&ww{EaAfG𔨖G`8 #ķe,F+ $O:Qsk )_8E!sk#lTjXqo ߭ioumUeDjg/1E>;/ FvcecG[M ]&f 5/Y**P>rjeg< eo:*듓2 ׁ'yϏ[!8N a3aC #bLZ:izڄ}4wp^'CLPLY[;׈H|m]`$|l{RaVWB,D4 ?K"oɩ:~~Ž' #Ҡ.|jO xE=ba9%!թ6F,:Ecԩ";-3(3|v)0EJ'!J' mȣEGtl/v0Q8'pw4k)T D`7KM2J '3gNLzdL@f.d)5~SiGғ͹15۟\GEڭG<L_aـ G |sZtV$&#Isb  ?$Xgdg' |Հe=͡ ـ(@5өkB !d#h'@HNVpWTd#́J*lE8.V \l6[<ſݳGylT` [4hX9"pfu{/n jJYɽd30`/u8I=B]UiS]3˰j@]zx{whsareNJU`+Q`V8B<6HXEEǖy )AWٍn7\o@$pI,p]p0P,` qBf+,V8,Vٱg$#O$blBlpWW' ㋜;fG5sbR)0HK68iBNzvqq qީnf%IEP2ª(^"{qrpzxMhMaXv&|vS(G5DxvX#!zocZz^8[Q1\'f, > 5 =bA h9N g[G%R6%0g#;D?+I գl!`u9@|pXIp ]^<y$ :;|vs& TG<\+5M"an+K@ӑDӣ)Q`mu.1 %ӳ7RL}3`'=^+8٥̠*jJ/,;`!sizī8e +fI?IVV)(>IFn~i¹JRD#9NP"Zfu!, ="`ıT"pOla\ džxt7jhŢ݀(T4Q%_m~S )3:l3z, (؞@,;XhC=?|?[2Ct4%=n};K'-I㼯}:efvȞ(#?I~,mQNd,i*gVS`w7]8YQAnb* #?p^DZ62񧔙,%_t}2 ]  @p`4s-R|E]D"_ګ|(?T ݗFѐbt1f u*-y G޳a4 iR\w^X~LcD5K:7N:dܔ?@!oW ηY#}Qaygdh|$ fa?yfl5s6gPG)쩱Mf8h7|'?mg+7r#V!~7ܠa()!x ;-v`9#,Fc`_RڕdÞ4- `Y΅gm8IUFwMs'jE˼9vUL0 n$ۥ;*bKe;Ŀr+TAed;Lxї αJp#/*dfh%3ޥ8M~xUwo^/^"Ǘ57$ǀ5'OgE ˄z}}zV%;#!KL2OWV\q TlNf)@c6 Rly\x~_x-wg/7go_{|dH+)kL/Β%B$:eMooVKE'JSJqt}.Ј(;d/»u$;<{(0hVg[[M'W喩B$b?$VMНyB[mSN 1Ž?Vpt$JD]\NG0 @6*>|O-q~E7{MbT|m{ &i\'4iYĆvbN/$nE~jc`RW' MZ6ٗM٭NCWN# B)2._҃()S9KN^] ees.qZ!8\uH2,mߌ9Cqq N8fQH6R9Wʃ њZqcyuH=3sRFc%Ez8oΤ%ATM %:9\qa<|/l<*lSmPk?R7]0 ]s<xuŻvoF>S3(LywgՉr4`}V(K]~luM8+4wLeGXVi?H‚@ae{=KO~ĔK-%L\uyx܅oLdo~#SJJKQs*#FN#7ĨNy+(_N< m#Os! 1~ 5+@̈́"Bn^t)Bjx[ uLai+3 "y =,ANY>owj&|@C6 QcJ-lKm~h7W 2 eцMPn[4[©K[(HfzuEܐ;l\'|ql SDnwc0d}'C0]]W[P1QLcソBy`3=lJLW(< X56דN1L^L-YxHPK YqE"~?((>(5gi%ED8ȟ}Ri~ 3! %>4.bthD 3NFZZlKZoEv?lRW+ܬM; .!9(d\ ,e_C?E j_<p(TXt/e-k|&| ]RdZ]NȩI~1#U0&O %?82Y>df%> /1~ }RDG'h&.DdSc(Y֤ދWxrZݖ ʞ9Jyh5{~~Z]wFGD'Dc fƫhd=AŦ[; v䧏L1xThSd`䠉 ~حۺqmj)tK~uZ!Pj5-@Zjrp@AW '/$.>uէ^;MUNSiNl8${Ս|0=Rؑ_ebjlY%q@)y~6&UQKK,ʾBV eIkAۏwr־/D z 5J8¶jc&%N4%g>D6Âܯ?pY Nn,+A9b`ZPӑ+{7r !b#^MXeux=, /oTӥ0LKQ? bND9wD'OI-PUU*xӦNgE7CA9%aVWJ?}Z}Xݝx+Ռx1jlL(pkٕ܆&=qD(Žԗފo~a9mI A 3ї۫kʐYeNG+GrҎF8`+LL$k{oH1jMP šլl?v!&&|XWP˔+1(.=$Ntɣh>`~͒Mweerfnn܎FGuyZ?s,ݬ4`6.ϗ lbmI g 㗰U5d=a ,F!i)u> 'EsTK-c 4H.Uݺ y)g-&HE1<ʤ[%g!;z21f_iZ *!wkf`;F ٺjn!ycjvu#2Cu1E m:^ xqc9ݛbU Aġؿ7;l(zd 6KCJaє$; LXfI *R*,l;$oV`Y01ҀLEۭoO1Le2L=yX:f&ݘlݮIxypku8L@ Œ K7WV4Nlg$$/Ȑ3m4Q08v/w T^@Bte2)&:6Y;[E.FvB;{b 31$6olub5x~qvc8jgc,D;5N﷟"]|<*/ !Tse#%{8G%oDsIxw8àb4*I%:̣ӣ| ;:L,S>H JIXjk4|Q ,gw'b/UU:I|4ʼdL>!is ^hrD0>/~@ ͟+ikZqdvӐs _2Ҡm6еb3{4CNˆTHO$胙n+Xr;|Yt.-sٕg2i՘0DX[5AT3W3u뤶ȁw3/NN1e$DC C UѰT Q 亰*si( 9Sq/yt-( X;!R-ޒ;&\3立WD(Ds#Jzg[,vkOjXZ=BMjvl-Rҭ8%[5,B.!jHdV Mbc|3 neb v|'pvNqB>"^ARggW/ ! 3a2K Ca5K Ov}ڭn7WTi(PF̹'[qN o>d/ _|=k>}q;^pN [HNkڱU^:" l"k/FVS" 5|'ry|Uafؒ3oBtIޫ@(s| |esqxeD$͔-r; S2;0F#ʲyq) 8nWMcr.E1:EGDkDjD5~,R{m}UC+xӡXThj!cK(^ooRo˻#1-gN'l;ŚdVL$d sa@J9j;$?pݭ׋g{~qlc j(E\lO "[4͂=% eXa=l d 1r"?9!`_u-1y!!K( %j2)0E;:a8EsTtvB& Lx 'p̤_3TIL:z3_6W2y:@K0-x@<щ8hE'HkuhQPja¶LvH6Q V?.כk1<{˥hߒ3" k*rTb;`(ɚ~Ij2#N+bJ, ufdʂa|rN]R@3iV)gQx ?#2tbi|̍x^zdz_VX}и(r'Ɋ D&fZ0s?Ek=M=hL #Gzp!zxi׫}*^i_%`$FrCʑ~qrBMN U-w_,QI0-3B 0o tl9So-MB tƙmZZN[/[;kM^Iz;9K~rt#b$֎0.&g\)='fY1e!`F$d2+-LVv.f}83%EbY0WvRojOh´yb$4 0\\yNzFQH>IJ`G)Pm@ -A9'~{g)qnהfG4 x6K=H@Gn0,HdRV2՛y5u/7P9r">m>{r< ̿ -p}|[d*)Ķ9k*ɬy<ȁ|#_ƮȜh>Qj ן{LMBH72ףw8$Li*[Qƞ eu`};նyfoq)6M}fR}nT v{di@3=.,?1SjV7gG(C=HgϪpSh4A,-LR fn 2reb@d,TX(y1mmϚwvV9Ca|ę C 1?/_{jjЬCbbeET2Oo*ըlHw`vp8tdԤ ,ӯ'-BNgk6סd}!8e\g! ?lldk NYoԲ`Ȳ(oGx)K0nY1ND%o[ʪ JɄ5,WpOy,ybeݭN97I|w 稔Ȇl0|<`cu_6'T&9L^de|l쟇ۤr‘@Dِ/p'O4cwVDl('^a4Ӌ})NcOPcO*")i_ŢRfsg3MHSbɉ~Pbu5go~^vEHU 8ŚGDfr;W˳[(p #P]?ӽ2]#.&wKFw ͖ |PvR-&MYrCouY30.L ؄oL'X2}> JWAXg.PګIdb, ]oƀu/HGFWa,&dyHw Rݞ^9,0KbPc{o[QU:ಇt{s>094G5 Bƪ1.K7'[}4'L͜\삳ܓ uwj÷c$@LvPaC)%[:4)Ll|òKʍљVLC>G\4F s8y&H zNEGos!X*dvN-5ekKGR.}{B›{>_Ly5P_J`7r~hvL-ԍ2u(pc(Ffkdzt+N6l9CiF ֔š'jV {B[Kdbk3s^I.an'kJF_Gbq9 ;JuBP8fc*<`oLtp'kӍSHA0mp:ҎiTˡJM#)T28\{BSۮ.WwI<~&LC@R?#Z$Œ;7b5#־M$:OYD:IV{A[|D h*8Lj/:āB?hB|5}3hx0z"-(r"4KN԰N@N_?8p3={sb9b""-yXoW_a!^j')?haVH8rwPjהEڼK[a7)I.<2[a}wW**$:wF~rXl>(b8Ft0ӇuL`Gg*KD&nTT&~7)>56B11( h .rFnb]}XsQ#\Nf9I@Ki/?:Bn5 FU"cTAZu>Ðq:Lkmf?u{ G#GIĖ=]%$8f/„>SY LU 5U“kD_x#ZX |I ~wv%H9%&,*#c&B(lnW6@mɓ9#"_/+Ksi޳{fs OBq#ƲGbbdBJ_CNTx/hT"/BH4S*ѯg%.⻳E2>lEn@Z8I`Hv.'Ilĸ 1LwB7a"̋Ȱ܋cJfHvFt?2|: {S_:d  k=<}_W+8x,Ů4p`Wݳ<`]j ݓd C3)m;WSp6ypG82c1LcЋA!NSHi91y8Ŝ#Zl%'o8mB7RoBx K«frFr{2hS6 !*mRMo_Ľ$˱#+'.;v)i$MSh(o.FՌe`n(.3֤Ƌ5y4O2G򎍢p֕*qo+ l يd]۰q0Rib%sVXnpAw_0džB%;Ax3QGQHm ?&!뙇Y$3yIq m :]$s mB-~ے!v# (%"jg_y?)]|ܦdM\{}RKJ~vNPr8FlQ$˶ _  lm^mn^%#bɰÑW,#IJňG_:QZx$ے}ަX(d>% IJn,r5ܰ/Ɉ 7q& "ȦΙe)C&k<^}NbŔé96aI[b!cе^t 8Q3pcWJY%m`#z՝lz#%^ UEٱK۔ lQ^Gfw9ad&2c_-m#pD}1iZ*1 "~X*(^D !NlAYrFlŹ"stG~=VٞweSe~i_( ǂŽ$`[DPntE8'i~[|ġWFrRFOswjטjdS3ɔ~MP#83@vW+#E9OŮIE$H3tW_b7/+ |K D*+b7H9YXd3Z8$7:=6[|!6܎ﻅ;3iۭY'SLB`)4պG,;uYzb~$%h6!?2E U6]E6UBÔ[E8G#xG  T34C<2ye 5~ [ʞx"$2{/4x=`MJ#ZR,ɎfcY pys,*{*ෲ jh8mvZRȪET4E?O&ٳosRP 8Qu_qVzI[(_b"-)O9\FK)2',QїBfr{qDzXυDvjc)RPI%9 \*Αᇼś 3?h! Jt$60t Ttqm-} t;5ۏYԭ9t")lK51N%‹/&Mb)#O454ؾ~ĥLVHhXP-fˡ֊#^["$:Hv!l`tC\ lC~i4;cQD/L|yj`N|)oBg8reŋB*As#^k͊wDeP.E@49Z7a!I*wߴbMH>d&i&J oR}~ "9IȎ#skN<",r-ߜML36,d˝p)مI V&Ygr|+|vL{rQ| dWj'ϫO+DGũaVv0e=eceYTh DZH2)DH-x1 5+㿳 I M|CVJ`E䒬HtgFlF^+'wsR}Kk.UpBƄ'<"EkgꚚplC}gUE]&}>Bh\ FvIvS{ʦL!Rr y=-ÖIg( HfT >!knZXf룴}Hr1-[`y*Ej&f"Ħu]GUe MN~<>bD"yIAiۙ$%l埛,fy}R&m8YDGwGZN_'&Tyȓ٘_ EÂP pDp UlVTIUeA th_vx'HAř'mI3yl_p*!2:\ԪPKع[U@,maɰ(w<.EuD _2[XeVr5i,xzV^Fl2"Zg6qxƁŒk$r4ksMLjxYudl(Ac)QE?v*0L8ɏ}!LZƖ54.6?s's'=G. cɮʇ뻻_ۛ:7`LP tcMӬ)r9ڭO; grlHQJO+ O2nߒ8e5 +}CpY 拾x{ecˣ0t4ɋ`xY v[,OMɂm*{ )~,0^\W2Sj] #[&+SĆ9~ -P42r^[1 <#Y!#.3'x|R3ilN̫a;mb8wxBkX)940)z9Rmn;na7DbnRKd~͎BB*rl^rX)n-g$Y&HG CL Q>km1&KԞЋT0Q-oW$bmޮOAȄ'lpw+`a0[j拓f -fȩlZ*oՈ,&B)$q~1I$TiXIj:=G{=_eW[H*:d&+(eYV O[oqKeѾ ))[r r@ָON噜[RaҒa߿_o??]B; PI/'JJ8DSw:;y;Rx'q䎴}.cd?3Σohf6ֵTD$pҀ8c'x*D<τy h?JBlL\\J Є?2%]ueHF3$F"1#B?O2lM_v(}~phUN8cN2&FzaowS@620Xlb~|b+1;a"lV&$E\}&z%3 zsJ&2%Z|OS߇QEq]Z="`pdAa9ڮ`OHS)+iBk}Yu8i 7<6! z  >Fm65dg_CvT!9ܐJ,N4\bs uLfp$B-v8JA{v#a@[q8RgZH11τXo5;;jx&!KTPǻ~Ǐ(i+x-F*׏ q*r*-3 VkC2?Gػ, e#6@%M̦f7?5څDy#CPP}Ay [O>߮NeԜㅕ?y"0&]زBE}?= pFb,3ItePauyl쿋~WWGc#\/J$ʫkgޓ g߯9WvMHA]xf5Ǝ=0x}uJ4cEl@\Y'Q0ql1vO""ș3 dސ6!Ⱦףܰ,K1a9Xɓa](!v`9zQlOy %,u2HyJ)c)?j86^no|,藿1Uؐ *ps X~G[˼]= 8M- P1ƳEs_j.48"PGk94f<8g-n&QYS꫿tp4bw`Fo/Uf%L-w;.dsaV+;=7Pb[YXJ*=/237Kz(@Jf6ĻuN3.W>\BfR(2P`ryin^\t8?CÓ>G =z)[ /(-ig!ݴKݘۍ ~wwDr>*_r\mrxε _5vI-оD v΁xUd*ʼnX*[X*r"bX]F>IƍN3n> Yä8i62Í o! 0 k[V]`PÝj%5*|ӳ_g"xH[NqIL;Ȉ0Qc?> ]B$-h3R1 |\/5؆iA~/8iM6ɥ$}vI {gw>Ůu, HI*Rʼnrp#2 ؟/}d ~Qen !CA0."S8WAB2T!PHs?VHd(>vq"|[Fg9GKe`(ceX1S`3_kEUʼnM7`p=oG4\B4n3onAz*o@!_t>8Ⱥ Ӗt"UBk4nDB}, W¸E(-f8~vx}S#j(r"S/Pr#u9`=GGҼOg}?h6@`t"6ΜI2bD^@N5b#!nrEpVkS4(¦=ƾ#0Pa[(}XUiL}p͒ZOTۑ+w~j RMS^uWVLq-fy +6H>!6Xr]ְȵ<<ȐE|n3)S ^*z vݗX{΁# &Pk+iKD>C'݄,0u ;6Ոor;cd}^Կv˦g6LMzvLyx IJwy$Z}w+Vxm/o41y1OD0s$1O}OE&U ˑp(G?z5 $%m}dփ O6n8=K/18'6&F2e6HW.M/ͅ#EDq{.Ɏ:{pAPŷ̍Do#)I9<)N6V`4Ap(,"@S5v6aM(Ĩ~ޅދ; fsv|/ڸ̶fpoSSyɈp c9fjr:LQ6*DG{x;g #9uDd54!~ lyf.ȼ[a$<,08;E%VWkQ߫FEْo- *@ʒK ɬzb~$qG` xS;X_49>4m2N 1曒厪U^3|4*hFZjg v{HBcmܯtN0hWrRPG ۻG+@.9,1甲 Q/NE3 3H,.2+G(f' tӃb+㾁sv2(}f'"$1DsRAlo=oɛD00 œY,tEd ]qcg8WL)ȶiij0i&nKj ֍/ىC d3su'o\bQ40v(H&%PmT.B 5>g͈Q983F5p? Ԝ-4ߩ+R/v㰓_pq$lMxC[fD64 g۫彨qzشy*38D[CFwݮN O _1F|^q=N4CXsL w$߇܈xCgoV#r(Y 9MJ fj݉0L[7w[*ylV&(TYM!6FIQ.s>Ɂ2"*N[ N p]'oƙ+L;hD^dM%F6g (QtfA8e(`PIuRv"J6\8ῡpoKtia|ud dn7 Z8xw03.+gWuaPIWbz,ŖBAUop&`S#EBUɩtX&ĥN_FfoE#"2Y}JNi)L5!ew`5fm+CMUE 99a+|1MUa~j |er3, Ip4Y4IOn,ƚϏfXycs{}]( k+1f6f;62%rd=in` 44#ͻ^|ޞp$s3"3pW&'U?79 "ꇅ+[Y(pH \,B^DTB W=rlTvk̴oIjl~Z(m Z7?p)\D&p+8ZZZDn _KLMzOK ;б´2rOH:;&|ؗྟGO霃b @NUkt[ eo!]s= |g@S!Ӭގ"<00A3Gv$_5_8[~CґݬvN 1 ]taE/)ىIOe bdy W3"KtpQXj0Ybݴ]4B' kr&RJ'AvȒ[n¨ezsOسr|VN/K 5#5"awso?h9V2{,rlz>F;~ۭx`meI¯:VN.mc^︟!Ah bi&Fo???{ H@:WRt h8>d3S[&dֈG잖-th PJh()i$J s̩1rcB09[onndv kˀLS4&Cí6>.d:DG"pD 4܄p;^wgݗnnZ٫3#d@v3R۶a7K- 5ui;+2{/$|,^_54`<I~׍A-؇46vxj^ӄ{4 !vhͶV7{װe:{b ii$9Fj!Wx˛ؤdb+heh^nd9Bx}nw[bFAOrE\:S{x;|8_~<҈H&)uYԬ3Q(f! 5[DHس4/㴛|i9N{,<_\w8ɴ͞\K FF FƍX-{\7_oeQX$>mcesG}!&%e܄2 jCZ*Y"zoY~|aL2N+լXk۬/v%n'kyêXVуSLZj{m:|gqF= |=rU~8N YwrʒPnTOzY}B ؍{TQ͘ )F#(LȀ0yB_AY vn?s!SV}_()G_ X1 4Oz 8e./,G SΆddױMM,\m8ܙ0Ih{#*RzNn2#f}~ߐ|YZNsd )&ff "ZX0N+bM"in 4w8},,&LatݟF@!Dٓ4H]|4{tV5سA YZoKxcD/B G8uOz]G-l80cGM({8$-6mۓB)EvGS Gz* ^\,~rPҩA*f$dڏ~S.g&},ܗ' l3ѲŊF@yÏB]nKƆ+DDԖ=Ox0WV-Փ26*Gl((VS1˄!m.@ )JɉY^ڥFLBʷpxzf^ڄ/C,5U /[B4i~nWT Bm@%S"2F5lƥ~d|1O&SkIc Kԗ_}"w'$Uj:Džb8K:ٍӞ^ 9 &{hk>(G"XE)$nd'ELkO& g3\<x"l+v*DN:Mǭpd6i3po8z_ԪԒz& S8>ڈ `$bg204*X(֢XiЁ.DM8FW NqG_3Os$L>ny+/e잦fzx><31[ٵݶZNq YSo1<6$_ޠnˉ6r}'yпxLnLBG2PW䐔>Ǖ kd5m8h98CNĨIEZNk'tX$dFKsά0$)HÇa[J`ׁkf6GIEK%jsndMQ 20IDm#]eɧ߰]z\z}82:Vp(>?8ҋ-wW{ƙqrI.)R4L0_0Yv?4 b9bn. Z檜\1>jJ(T+mQf&NfRlwcѽvt$FT80q>=ׂb> rqˎ-d.2(ao7ިoIF2j*y|[ء.v.`CX!rϊg5j8KvPeT 9xP/e`Lq]٫pxf$Adgf'BŦOjξ;8əUg}W&` O- 4i%k>:664L\!_ Z zx޲O?$s-VE|Eo$F#IZzTG`4iiA M`?Ⱦ EF'Wx;HPAKp-"eZh{|5{l zPCV*f _c9Cxsw)|8q= 4zdzg 9 baa:f3Kw0L i2 ml b fτOjZ͆jKaFD̐iGZo^o6T9qڳmcG8;*gQoǍ7'Z`f nKd0<^=rB% =/4<YfLzs8mBV"75]Jܙi{{i Cˊ<,vLjS."l5gRo$ DbvLpdfl9=mvg_677_6v˔HĔ<Ίt%T*,46䳇cY>Jb'ԘGRQxF nN?3vp83Do /T*ioFb6pr8s9f N`3Up"jtw` N1T[WL&{(b01SE 7- l>ߍClZ}y'tץ=ow5gձ~yMXbR(҈D wLRIvZA: dԭ%>a-39bfg(*2[PƐsn8iLҒ,[W׫SVFIFΙ9LfNPvZMO@<PsTI}cIa2ӊtY%p4=p'+$쒝N0s*]S5iX|8{ /y-U 3ዌa d1aK$3@6eR?'=iK#c9kŢ&!W R^I-#$x G{ۯlsݓ\< 4R}ִix%0BTX?> i"5ys|!̈́dLйqW-r:590?E+f"MxEScnM&}^Nol$RT8ψӅOS33I(&4 Txb97R3:q°MoyGӓyg+Y[|4y9 oSn4*#̭N-Ku,d ,!zI#m2Gic⹄2Owr{C5a{ڭoD[Bf) TzB)J0t_uiN3&+7%w`~k㲰TT*|,Tϡ/ᇂjwxCM5q SЌѐeTSpA΅LEhZ84*8S\2G#ΏxصcsuD\IYEc56_-A8,Oƒp$AAng-2{LgE[O6'qKkwzmNzN.|۳w[~76إ$N.@ChPܟy CGuGi2r Ld+i*aPv[yݕk D #}''WA,aXeYMZ|znxU;Qpd}4.`Ii*h6^XxTcS’e0#֣^x]f,?u% gN*…;~ fq467@E%lG~Y:# ˯FָI,~.T2yaW<^MBf@V$3- #Aޤ2ΚpnzwEBDY2$HxAB'Qv!<y\slLQl'!)3 GMv 2oe*';h Ji Emčck(P8G]]tE ZW0cFhlV%MW@ 8ĻOYíd%Q7 ̢G=|sy拘Ȍ96bldTF{MV6,62KCYNэIznuw;q}g^ݜ"';Q׸Rp>ETk_Zϫśϲ,e"dzqF!JWk|' |^_9F V}錫 F%WR}wJBJ_w_YlZ䔹W&.'lR|uSi맓ʾ/ 6Oll3# Ȳ:ǫڇ73^ĊCYVR͕"xVNWXf6= )sq +fG 9I~Hv9f79vuz 6)9Ֆ!lcO-8@$ٿ!yiGF~:; *Lv_&gk5Ӝr6~!S#,{Os"A؀?v P^3zb4 HV ~P+|(g =U9˳'8™%Ix.[\OzOOb3/NXx78ν   ~x@+97=C#p)yBe95;M:vB^ΧV)R|ew{r]~ ۷{ce_\}@cN&;OԌ+2(;55g(QkYL2(L{|QA B4jǍ08"cg1ͪ/~!)cf*(Uv 4k :c`'` `IP!7+r.%R/Npzx'I *愨ԧPCy~8P1N]x糷gLb`e|̀ :Q5zq_s=g߄f08Cd^I5,6afh_~ro;iғ_NapӣL+ڪJk's%ϕizxײƬ(N;"2^?ۋ?Yâ$6Q"e,U*%}Y2|: 6|ΐͳX lD% ED,itׅ Z&5} 9l cn}? so1/`}fxrikEcXsZ-Sv=ܳ޿KSR0؊qn>AzO N99#89|W1Tl6=7קOM(Dj]ȏBy /PJa")U\fƊpxy4_r3?ra(GN=0[:R9T~ iCU @n~U}e}sd"ɍ"'[ 2߅-OIjJf-kv_I9N²JJtϕj8__W=xM]I֞.TN푳(aE7czKBy/B͖z3Yi]nm_ \IoIP^@""8J1g{VUQ g^ۭWًI5j/{&Č)!5,ٶqSh"tO a`B•BݭwyqC3fo]aJjѳQ`U: pR KFl|}=i˾K/ s@LH|iU˪ Ys'Bް2?Pc|!!PIĎ3<{%) \LRolI#>Ti/*0 \:&RMbr^8[ľecaF'd9(Q]'Hߨkg/rbeLDˇ 0~#vcQCUClA 4k|!|DYf6lg+;Ge9]2.,g>n%PV䰰BZ0cxpCFN9!Hgjh̊Qii[+>=?\";Mns2_ {;,p i9;ܙq$EoEnr%+$VWO J4/>|gv -%sY fTN;ᬹtOvWcN6C)͒j|_ 9U#49j"=y7 kn>]yk]L3VJ˹D܋#T QЮ2({n Rd΢So-;5O`j}ü,2둊Lh4oLTM2$;>tb G)Q9H$&}?=r>~_v2xcz*ɍ2Y.wÛOJ$=ޜ ]y6y:t_˓my'|wDx $;gHQXJؐ^۫ vq`b݇X !p?fr.2bsOsZP<,8o0]}i fحz tUFNfص/`Vþ؃~*[`,"Ic t+dE=;^8g1ʪnbxsyEFC l6Tϖb&&/}e1.ڤdx/yF:@𥩜' lZG!ov?JIl̋yupZ(CY#n_BDwu?zˆV% ?sA ru5Zc2缔܄EAC"'`yaZHXNUYy.a([6[Ú*L'8Q2@aPp=\-Ikv@NAy!z8Iܤ+i8{deSk>/9$2Cu&N=qɢ@EOb3sX8"P'mORVo_r Fɰxwa/LN!R eیCQ˵1)<^b 7o+`-DDFsXFreK z"@y{ yRQ䌨-6a7n܉H(mrf7U`,hAC @h =)fQ;Ish| \!932oR!@Bpq`40- d{mw_ay,F^=|yxf*dR<\OS5쭝X0gpwOp@\Uj%+[ b4,G::^zRyir U_e/_C5ib,qh8.aCmnxOyuY>_YfMt8jYqdNcGcFQuw?Np,j۪.'IKų{dgSזtf_/">)1ۨflI#;2h8%u{ _ej 6}"| Vxd4 ^Teۿmঽ\5 ~^0CO:˶iT` ΡE9tjSWs?w,if5eA82d.?#5:@ 2Sy%i7LsR(b-#ӌڵ)P(_3p Cg2㑐|ci+4xA032HLg69vwv]ORIʋgL/юd[rbexx id;ԟ8_]lnOf̟,=:/'Lj/ұx҃G^o?(Mr"\%>8=¢9"Xr׋WAnM7/_vT^|Z#$'G2#dٺDٱjXJ=DtNz)"5=DGV$ŕSg@^Rg #RF"/&cJaV ݆??X6M(8sG*9rj{uvMyy,#[Ʈܨ8դ2ezWZ 1#W8X"B"fdEpP$m{)LTt,RC ɥ:}<v3-Hk$~s`Yy鸁5g [cϚE#Z7_2\_2`e_,b+<4dX]^KQiqr#x0La0>*]e^Q!R3X o4S5y+1dQ:B&Lt7E>xuqs1Ƭ> d2l L eBGg7bӦ\o![cuoC60rUAJsTV:3eX !@9tax!2Y}0LS7w{'vVQDvjG OꛫCg,Ob""%BZ8 U"wFn}/KuFq9QLu-rS]xئS)bz"vsdO-59|T$]C͙袒o̚'\d2ެsiEq #{h=Ńs}Uռ2=Q8 ټo tEUlSo S,E`ϜݲgjpasQ?m}#Gc3DF0KFKSˈXYdBBu+x8 v="[LL*?0y'x̵I!.jd-"_[Dir|J@n>/"Low> gCa,q> oy!|l8s%L>NbbŞl!Ss4lhUr8uq~[*! ix^g/xL j3楟쫎Ggm>.kE;%gl)o"VϤQ3ڳI5G Iv&IoNb栰ꇅ3˪ˌ@b51,a/L A1w} 'X*BL!~~C,Fs>A8fF6Ns\P${GnsVzi`㈐+`n_ߔr !2yd87`m9.ۯfH8)Ӿύ S(E^ŞJ%-4Q֫S%>BD~Z"yɡB ,a8ę- I/H%ʶlmb\ѝa(H@SoqVd# VOͤ6.}YCZ˞KuI a^[ɓ 0h팃z{<gcȔ" DF1ƶѩ?a,zZ*F"`&&NSL T^LlW{2F>يD%rqxyzե.iD vr)T=%K'jK\'W5S2y +9Uob}qByoS/"CRdm cmqە?t[TeVb* i: 6AEm6?6kKmO%2^fPk8j38L+@"5E0A.y.+(1ܱ7碹E0"XmtC~ ސxu_,S\U S?wm3Ir>NdD ZXlC8@luE,jRZS(G4TCZi嘵wMi<<^E e] 'n IN)9ikg;=T ,=U Ck'狥Wl|ViPr3^դES\H/p*M2N,LDR4 oA?*I12> }O#da ޒRlL"5)Tu HOc벪zw/_aL%Qw]Xi8?~t] k\ ^'2O IR,7Ĕ~:#<_:`~K^5H>R>~ʱ_ʕ4po;&?^aYa:P7r=Σ d>| CL-ms/v[,Xa%/ձl:"c嫟W'w*",a0J]\nw81GMӘ6Czql4 4sV;RRR{72qS*"yOsE5'<>$=6HYxRS *%\'*N3 !jdxLid#nX3p^t鶢B63I8ڐɓTZ;TA)ϫğ%JD%x9M9xxlEr=df_q̰Ed'sp7ǃA'O#+N)d(!OaLĩdB5„<4~E}a3KpW3{sGB(% G[r' '*$GiYpy{߶W2R,QN@Tl>c%3i6Y~84rN;*Ul$xXJ1)li_٠NnQw#MŘ6JU+"aeF%ܟ{{"% Lc58&; H'V};6uXsQ@$' l 01ǹZ{fcrX9e-BųfFl9\M!ZG {) Po6a~xyKz쀆bFl5#uzA1^E$iEc`FhC ?`17w/S=5HNvzBEˠw} 3~dtq)ՑaR;Y./3裘= y|m+slUiƭs8#Aka戵h J۫ {U 9X2{Kb 20(3,hp|?3"nN4{,C=2z{:o-pڌLy9Mq/_w fB &$ We9x bi;p +RB(%+s~Xؿ9;Xb3L/,i`<1Q&ы$O #8 2 Ҧ8Qɠe~_嗙Ԇ쪤(Tw).2\ :ns7^~DW 3?j'6# yKDx^[cRTe ;( RNb ACTP}~xrv[v_|fZHڀt a}s^}ޯҫo'7BJbGϲ=\쉂NO3qFZ|ss ãL!@Z,ňn#]4D=[DR,rB|Ö̻'aG>L2Y['}gPZ2 oQ6M}*q63`KGy5'N ޡMlF8IB%X$nƜݟ{a=̂AOĴ?RlwGf.*aq65p.+ÿ޿XSXպ<@lJ:oĈw8u,;]KErAhXQg ^go ֋e%I!ߖpOBlp?*:{$0wisŦ&"ǀGZ7dUXhF+v&?5||{J"n}kqf`/r'IFo^n# ߳(L:BS`AC !YigpUqB͑y! 19*&]z8P?Yy]y9Fa1܏sSEis=WUњJgpѕ<=w)&\}=\ sf7U¨LE]-1^^Q`ty/ofXQTZik)vhd;t1QI){-&i Kz#vѧ49 rNe8bs4MM{1JvxaqM*d ,[z Wv  趞Ǯrplq=Χt.I`YP,~3X+8Nz`ޟuT"Njp)OHvI8qw{<{֐*8Pi2&5F׆a^Z@4!"LOMo@e(ԋgvh'* nX/ *<}w݇QKkZC&1d-@MAd5○6+?5O*Ȋ2)hg[84SUG`7BPp{_XΒesc$i޳*}V}y'zʀ8%vG0K ,Llj/6}r%Kd[+Wa&-rWd | G0S[\L±dR˺ž~Ϛ6՘E\=j FɱJ C}\v8$τiq昔QXdּIk[3B-$-:v]R ڙ#~QrcR;x7*xK$O<J::{ڑ馵%{px+`}Ԓ)Emg%./{')_G)8iFT({ifwW9p*K_4i\qd"Ixe8&WÛ˫^+bX9AA*&}hT+zzsw\&+E:8]%jq"#ClHf׌75v\:9U95 `1 Q+-V/WkCkG z)JfWkf+Xe{ A4W"BdC/s/85>l5W, 9#_?!Cyq$#`!<^}1,)i̐ >#v" eEUeY/oLBTY56B;;Y:;>>nwrG') ~F!v)ȋi܏l&1SjaW}d#M\,#vcJƙMˠeF0ŌjFFq&VKg?msJ%ͯɶNƿ`88QN~OZ$³ QI8) ?^cblE?zw\f'6Jp#i0ݴv8Ţ{*fL3el; [&r^k-~(9#<QCFZ}=|SErO}& %a(=oNcI/O~>I g,L)vÎ6Pq4Vsx\0sR{X'Fni'/ͨpC<`.dEp(G=vSK(MaVtWW |fP|uF$AB&K6rCң0(`lwaJATp;b=r@w?n<HtSq_cG#|an8~^ðg<>?Kj<̐.AnPZ-5ضw7f4XZYz&ɍj8+A/@<L7, X3oݚ8Dsغmō{5,E{M" ZKHi?ʋw5amLWh~(TĄqmˤ#\f>$0^<_ luq\K;֊GB7"U;eЪ5Q33anjyIz벚krgmK-?wqǓfLIqMQ`q i.׏m'ra]+d-UE0zƂ[0.ekVUGZ|\{twOsV*V0maۧ}~_$_  '(ȒO7߮%f3MEbRm1DE3Os;zHLq-m_MhQ5΃P^S#8sMa6Tl\#.%`kzW]/'LvU[e=8;|jC$r˳d)k&1C56\ M+"{ǢR|8U5[4{$n 9gtjK_\]nY-gt()ֺ\v ,7w_nÖ́lHyR^0HD~rOf\NiW7/Lm/pj@.E0ǴW ^faQgGd2`:r=1!:!|~2Gz3E-TG$xGFn`JIsq&;9{6[ֲ$p9e AϫGR , jj/}z"YƱ9 PQamo_ [:YhT;.9lJqӅ]?lnwxٮ*ץԚ d8d$sԬ6E5 j.Œki+̄>X2'ؼovu}sUxJQWSIbAEvH'\/SS.Ki6l6.W2\" G ¬]d:ƨBDD ` "8l\1ꞮhB`?P/cɐ¢QPg}m ׏u*dg@ȫboLQ~ Ue"EF _Z@1*CV5N'5 b~W 9鞋rS:\m4xG=M'5TGU:q p1B{B@*,G ]q"ceT7Mua&ݢXfS,yӛUcqKcG|jS̘aԎh,le8vqxW /v\S6Ԧ۴֖ M#<.waLTy#Kha &jU΃#,?vrP>_KWӁ 3)Ay'r)"jnbwMcCNvvncUKQ 2dш dcnpg*6J@q&]CǛ<^.S3 Z:#$ooP/VF-fHw;}|ksMծUc{,pp{wuv!R/;9b UU #~s3/CjAeW-i6eڂlx@veSb],I2+D=1-yd" zT%Ocf̞j1QlHz7EKYz!qGX́QZf9|J* C9$L[c $r{SiϞ9L5 /8 aaSYZXC1G#24rEcԎ+_s?W^Wi1k|ln@u dP Kvus~%¾g?]#酂 ~D4Ƶ̰.qXX_7Eov' K fR 3.l- ҉0~&<ҧQoy|TݬUYڄN<2`p|t罿a3m#mCfP5rX׀,qxv+yDv R+jDk臲ſ ?6R=.G[2704Uxq2xe84@g8̅sK>r< QH[B@8( `u`-P;aπI`\59 @44 7 .s^c.#0A71AQi~t1 5%dC|dvĴ:oMu2=`$7^eei-Sb[=;p/Nj%։w*az%5)=wMF<ʒ7}:4do3 $)Z`KM+C!G9|;\w}9i=s Bm\bB=ƜKEݖtA48RM1&}S NU(J|=pwJr aps܂ј /a0䫯v27 ;&#Ul|2uHP'X&ߋPoyMF:v!9G+Si!:U9 '# OXvz>4¶}HAbX4΍Dce l7f\]3:!̐~3@N83 [V+:ٙkrEIfY+fѣM 9P޳XT/6g"e#?30Ӽ?Fi;gs쀑nZ}KrՌs:jJ B vLN ؾ_(4H`ɓH8e(@׋kڟg0]mfN&LyĦ/csiV}ia TpDئF*'ecnuEQI&RX*Og) 4Z!kԑ\bY'}H@0@v؄Et "00 YW!`=aHmu X%hw/_2b<ERfB >o9їqJhӆlY|]f:I};,ϻg$_+ pVM2f`\qܣSrl5WG eVB0P$Ƅ2D_q(PrNEǫw^ 48+9@ ÔdpcMc̩WP&f[W"_{ܺ5)s8`Dl~'ǣlcÝFr>3`Jlbf{"?WWESH "trg^^o>nbǏCʑRZ;6OR5-"$܁k`HL2P!p6~ Adypsymȵd[ɬ&O9H 6p-ط'W7r$a]`yh-RY~N>`|? gnc0 Tq{eѬ\Jb`B,Db>:=WGS[`j ?~<5ZN Rm@M.LtH+ d\FHrnPxӻh`W)T~wAj5GٌY ?ffNr{yV7.,$[?)YK @Y+Ϯ:F63oX~SdJ۰lȗ$f=3{wr*oEr6p[9<ӾO!,0U&2ș +$ ('e/z5#TThpQaTV'B{@OO+"B2MIvAѺ9FLv?pOT]%/C{:8f剞z@")aorifZ%Y'J*u S4pS=8.V?l.7 HڸwGb9ۛP#6`lVtLj FE!m \+-Su8qW$"^ֱ$Y [l&k6<~klZ1l4lI2r soxlL Sa*.`aر,iNLd7N&װ? V_+Bؘ2Ej ǰ8vc2(p49I8(G"jTc4 ^ N43pNڔ˫z-wI\뀁 =H lcO9ۚJwmUQ\SENGPf9i!q54e,!P<%a7Ì,@2VmUɇ :}< "8IwIṍ:KYv[a;ɪ])8fN&}Rבܜmc)Wpk,54[jaco>"^X\rk#ZedBM5`(xYH rh5N$ Fb*M&ɱ4Xo!GA7e>=&eCN/Stp)Yh+yW4:ӡul“ (AK\ȞyeݜJb+aqXȟ 5X,{PV, g;i9"$[TCߒW}س}~x ʊ!.`TdYXpqE"4lJGK5/cY8ߦ,`dzzz&wW59D*DXVp  .P\PYeLĄeW3Ff;e9?M]nn7 22`\1DF2N\mC11P0ೱke q><đc2~-3|>s7%G47 N4*7x )0+z  $~+uH,N[ff S=1xٗ$PŊL{Xn/'T}`=zAs92 8iYڱ[kMy #Jbg%0V$ T9N HLĺ#Wc59_R.HzSK8rgTЊu$'C0܈O& #y(i!NH }t+C!C5V*yr El/!ϔo$\Sy0 gl3C1嵣ED#<:3n5 _:ٶ$1JlA7ْYhfYړ4\e>>nxFV2>>l( k{e S46}){J |` זtZbFJxN*/rԼwٮeZ[=2³`901}}%G{ TGsgCjn,1 JSVҒ0VU\WT>Jʭ/A+O_H!W/β~x{%5㋇;ez~Ud~L-̕aufQs})8mO&^)~?p zm6% T g%V??|@ueٜ]{1#>?M!"xvw˅XB&^X#'E # "D&Ey'[g4Z$.VrK"+y+koimn$($'4DHJሇ%dۆlgFe\7[3fTu#)Ӝ70l8D5g5lkXq+4(],bƆ_ksU&)IbMj _e& ۰@3Fm @@=pU O8f8z$5i\aANDzK59ёθ_,a`IÛiҴ7O Euswԥ874U2)E_= 79.w|uv̒"ɔʖe5J H”!m>_>g!'ZDp "fͮIgn)5|'59{J5yL-C2۫Ǽm`;;N #Ok ,01@OZgϙ,#^0Tu&i6{OwB?~ԮG։ĮI}&S]܏f@X*YXf]>e`ǛE 96Aܯ~D=sdnHT)uK7{^3{<(ƵBcBJfX$ yu!1sAzfHfp"QR}_~؁R3(;9#^{  gV$7,i/]H$GT.쮤`y驩E㟚8 I)fKEL/P,2 },t!ުuB+Ć ]6@D?fŗ͇Ň6m8 dʳ'`6fUTDy!_-V HL{10q5fcy9+_^g#I=J '%8o#ܤB@`mkl^~$2O e*`VXLHݵ`ێ&S@"Wlnm{Mi6aH{=g /)1ͪ8\9؉`qב{{ȏhv `x{s*7irNzܕfg4rv50}fiA-%'ﰑ&7!V>:5fρWTA#ȒͿ=?9{0f,LI06NQ&E+f>̌u)9A ;#&uSn +~߹vs9śzeF蜨e_aKëub: +Q0'!Y-n@_gy,ލN5IM!>+S8k,f-qdf'n~x6ŝL-}pYe|O5 ɞa{ QJutгNSZ&YL/eINPGw{q= &s ?ujTꒇ?U!w麬;r?cJgҼ^B~e|FL/,˙]W'A gvɣjUl[L*N0JXINyfj!\NJ xn0Zk`S8.KGJHeON z!*sO?_ E9K|Nlb)EƝa@BRɿi=:h&VN,WHQ!OFq6:8( Kdv5աԚW:SUbHkca3# -dk_tt,0Lo,&oLL 90-k]3g5?8poY#aK&cӅ2 %D 2`SbbX|yc9B͏TN ifUl720va/p)29܊UI:#*]jlw@bgI((=DtfC':asm@UF!䗓A \ӡHW߰s`^6sͽX`a&`t(lsj'\I֜NW,O>mnOHVq}"v/v@X_wjr\0jZ[fe?F[3LvUMϠfD_-D*ms2}9!e3*]yߝ;H E$1Ss|T^l;SjƧUl&}"G9: -1c_J\%ʘ֎ l(3`[T(kOXM|1)҉4[|@鶻O/<`ʓt"&!)Q5,m:тz' pQoSzmix~h<%`.> TP62#òE@FҪLǂAK;$KÞB\4=Ȕ' ,a,ݐp0 iᳳas SG|"T0)3D-6TKֳ]d !.{[8`T~R(PKFuJsvZ2e#!calvert_uk_research2017_nodes.csvUT9Yux PKgintake-0.6.5/intake/source/tests/calvert_uk_filter.tar.gz000066400000000000000000045721141416666122400235730ustar00rootroot00000000000000R\r\I% 8Ec9ǽ#} wY=#'%FHZ!sG5QM,~cUIdF0$^A^51j|gvx{R1OWkOu)KZ_ò+ek9`0^wۻ'wΧڇ~L9-S>mnm./ֻbu}?حoVI 6K&ƶeNٯ_/ _xx}{w}׋C:jZVJ^,Em.7I9Oŋ~}CEǿZqDj}Vg$g(ü`C\z(zN-jb)6gk$zjuzq—Z)] WLj*qZvrNʖfz,f{؜._]5$7 enuƷܾlF +bYY\<3 U pj$ =*^\ÿ6?.~gVp➸ =T\C6WӢ_oV[Bz/^8;>w;(pE6&el8\d^m7=bۜ]jkn!q~ 6kl'Bdp76שXTn dq*zuW?[kޭ7R株*O,Y`'%~|8CG;hp\ဓV:)6# z.گ[Ar]+b Q'\j&W~=[VYdߡ 20 ⤭Mϛ=G;qP%j~P)B*1O,o{cyYn*>@]ueB=Izl\)إ-P ]R^&٫nzҋT8z\y`(ZrsA?]Gsu-mweScm6&Lv{x>t~?ZDFٸ;@@*T(P^b@7kl*yuhj7K @ ~޲GYB-^. zu_]ubc&/"A]Xˤ 1P7\! J?epK1 =i5}Ƌfs =Y]/^~^o!@eZUjtZKaJw&첚4W 'l6:6Ym0~Kv9NL/'/wS`𵇥:NGxQ[&m+}V{vM>Hhpe rMQKT J&k7% ܸ y=y":C0}WjRe5M\AA;]]l;xnv_Vxɱ"N@#T 3*k) vvqw>^7_z-`pa ).\ MIݭٟ~M,K*+PP%_`>-v@#zRx`9w[zVK@E]o6{*y nw6fnoX**֖ɨ%„]aWQ.n{j .IJ(WB MF<_W{ئA@Sqwr JTޱku{yui~TUXyJhd ']݄$ )q]ᤔŶԚ4 ӫ8Nw߸`X|5;p`ǢNН3v|{, ZvN\ iQbX:5բ ?c 95 ul(L$ )жв[M+aK@V`nW@f4@I)h  ڥm}r;eD/W04 -(8[xujz ,bu{|\#rzUsrt]]Փxn"| P 8BI甖YlefG1]C?oWWtD Vܸҥ NN pwHʝOR*-e1~py(:PziN.~?7sq~pa\ ̅(^z90 lf5qt*R(t~5^BjBO;poFB g3^ؔ O{rbzqw m/?lvWbSg[G(ns^7,!p!$p:m23o\* e=;MqqGu@>lwt zvuM/:-~my'l ˊDQ19 pu Íaɻ݇1-EY^&<StJk[Ÿ{ϋ  f䠱@[(3#JZi5Q~!S(A˭MbuS:6;`~=q툁 ص2^@FatPcA- HaW Sg w -CuwODv- iIxx]k{q (]Y@N3Ej; S(;1@\/896C a+Tz;=^\2wr\dARoa,LZLBp'-_}^-ۅ7{7vW6/=! @Ⱗ)B:ĝ2L\i`ҹ]펯rU&+pdKT>- Y^*E /W  :8b;j^ }t5&h@t!pA鸸8 PJ̘` ?cfC(xp& PEVJ\7O~ 8{9># ^ _TX,&ܓ6Gv5C'+&@c ! MS:qEP0`,dYP_^OO`Ӈé9X9yQ b>qp^Yeľ/ x"[ZOK_ fV(~T|{}" M0 ]  t -0_+Xܭ>qWse~^bp R`?#=X[@R+~jn?$ֈM9$%r(w`&خ5;8Y+pcP?\xGpkKZCAnVc.A-^K׻ʬinw'_AIg@2Є0q;DSIҳr}?ǯ[`(=K n7! "JW9I?6\3 i,7eIkdiByyhU[㵇ެ' R!|PG٨ $K %eVL=HbZM{P?]44/m H6~B~/W@]뢯 5kLl.8X]X5"CWC*" Nh)L'c`J"ZLr}L(l#`iӈ](|D9K-,Q:qw tB$ʙp Ak5wbǵ}y} s8Y.~r>C@!W>%' /fo*?`w9ϛ%Tb$QMMЗO3Gf#G=oXnCgQv4ힱfO}Ց1R5'$;J+% ado cCpӀ0u QW2, Pz;a o{c*!x!5;';1 uz =2$5Of9/SƟT1IAB.ݑvmw0,6E( Mz 8j{{Vo>t(LK)d@Q4CWC!W1|v/[V`4^~϶Sc G%3n4D/ʙJM4V |Og͈f}+߮_%V?ifK'KhImQ/Yг9+=Zsc؂{aLv . G*wP~uʨV'``&dLÆ ]_VGwqbx.8HeatA;H ?yjH,'R7ppN`4Y9R96U/(ؤx} K-@/3ӛf}{Vg\pSH `#AaCq!R߰(7!X|ȚLjWKB&Z)m{7on7a~Y_~`)ux"Ԍg8F!YQR}o,珃:HRo8*Y#-` +1V 8 h-÷k);|wXŝ,S=$OPU۰fV[ {K= =]G_ =c Upo=M*ϯ޿OX[k*$PtĵJ3̯F3jXL]he`@FۘKk&3}@!B `+wT(+('\}P/KXJ%@o8kc40pмDz+ 9ZQv^z ejEt$nF3<RI»BQ($xV=4볳޲ȆxI9ȨRVX?.)`[ ?+Y۳SteiC"O8~`7 _ z=xՌщU,nvy-MO, 0ۏ%ii,s#f[p;! ՜YB\ʬ1FYAME_FYq2%a* AO?zK-A5L߹&Y msc-kc )4`?`#<q|KX(c`> ujkBS1[.am+pӣϸq|Dq~s̯W5@]Z0@B}Ҿ`{~z@׋z=OJoigm,hBsΰ~jM-PĂP:@G0Wa={)ױ"nARAT|Ϣ݃g{N1 eX- &|FةLuN໹]^ m󊵶9|AOD9HYߪ{u̼wVh@r plq!,s!)-T#%jp,ƣz:*C~x& F/XhxRUJ5 .Hewt?6۶"#wth [O`a>aE^~ǹ]_^n.v]޾H&]ˋq:Vƚ{JGrr B md`QB<9|ue}ᒳp&(5bJ5$|#%tc28u.֟\:lLj* %W OuXwk,C=}~=3ϟ@9^/B±XPOQ]l)4l]F6C3,ǰ 4ih0wHĒfgy'(#YQO_UeViVd 9[D3-ZLwI7/To@) ROm*ÞދB}ڲPN#\z6\e@]Q(Bb'z:.<qΩs/'||@"m\ o,7ڥ~8ݍwkLF~ Z^>( &("oizF d~ 8tR@. DuǮX| ebq7 `aַO1g<{jC*&V6¡pLH5|%zDG~~< sc $Rz@X-PP3JҀ)m,/m+\CBEca*4 Px_e8Kka$ZbufSpi ALCnqs^ۃg3QpYoT}oP%Eg|qxEf op, H@6U54?^3;Z~;bTMyXo%TWHZaްv+3rJl-2z:)X"JւEfu-n&#JfĶDb,z78h>TghRn"VE@,Rב@`y{\{YD;s4c Ajm,~:ezƦ⿖EҸe zZ??krpT@;<6e+(f7#Rwzoz:CTf >(f}v#[/P4K 1vh`lu>F7[JZ^%NPe$ׁ&6V0po%9` : G'Fo ~^9bV4-$,8'*^o?[N): ZlVM?xwn K]BgݱH `W!z]f!fuo_\ S 7^čю~|a{={rwO  mi#+)$ ,! *0uo+(wĆG>ǥ 1F6r.<*p,%*bb2ێY^l"g XǦlFár0pM 0Nss؟I:\`|YN(z;t+S8BF $>F q%O<0C)0@Ji#xxj,x<8֡bپV=p! 4oGiwِgA!T7)̰`[XoW9](0(M\;]z I=[moϷ,)=CXuPƭQy[a2<}jv˳A.(=I^ d7>W}eh(Zv(ӻ~0| a(1ИoF MAR.|Pب2;fke92$Yɬ0*9d}a[|w`iQ8?~&(.9cHBBYGn4Ua-6;_H立1{BI :0 5PMӖ@ɠ_793,kSKr063]4Xޝ0 ׇr,:P#[pKͨɸѿ +W,l4,@QՍѠPě :PèZSՒa\^Hp[fcMWw߰4 !Y&Β1!q|Q?]QCv1oEz}/:{PG@̇PtC F>j3Mci|d _gH˥R>Ci.zpv8 AJ~z˳w ˜p`>$r,pp=u1|Nχs<`VN8Pt¦9(OK\ˣ{9.6upVB3&{t~j7WGEKo7wx.8 E6qd;X H?@5!3Œ.Q3:-|`+q0Xxc{l$4qtDX.\^_}\=)onFw zRfluKЭulXDpUTprN}ӹe1,\?؃ǃeQ ͈1 cAܠ+1"1J*W0L׼A+\cg33TK%ʸr &(Vܭt;Juۃk4<:܁\E*Mw+*;fkxg(%~EpQ4ih*`[ti/ 3w3y7#LO7kiffo@j\SiaJ.Oؿg_|rnԂ} `-`\b P+Gղԝluƿ^ѺNjrzW5q}@7ɼ6 t'2П&ÿ$+vL춇cjAF0ya`|Ϸb;oO!c3(h"p~wW"꾻hΤ2 6D}A;\ 34z,j4YaoG4 å,%󍚹G؅Wzt}ᰙa ja,^uIoˏ(>`y*2$7I'XjX>tvmpqEkH؈1J[3&~4A5^G}Q:2ghU Xba = ʹIQ"G#k|[)eR!3#9eP@MNvsV8i' x2iyhxWkƏuӟ^^Oȡ c̓L,X볿(Q&%}M%?<$Ȭ5φN(ScxX-I>_Ʃ1xcm $<c5j$Ad;ڬpzcڈQO\[=Wm@UiKf35nĪrx Dq/9cAWW}7RV U3ӴAIX驄2!*adgԂ'Oˀ.P\g!Img  ^̵s}ܮl>1CE ]wQk!`Z?֧gX /Hd2q +D|j 7 F@TYʞyh6X#t$~zy}ikig2B[MԂ̸}ì_ ;ehw},Ya )C@Y\6䆫'B:<RFg@;h) }M ݡqldJ^GxM?Jv?3 i`TG$o\<ǎ2`8+LH'(lڐ}7ib?ck˗>EN)6(H3 k}ݎBD`֗Ơ=u IgPJc^(n4\y&aLY v燱((Tp !y7zSg-$B3d92pAMx@޵03܏B"c Nű4L UN](w{lQֆNP"4 ُLgVp|xAX=─3RAC<>!̍I<6MF7s:F|b5ea#Hhr0mW`FCs{g8rf5Kp߬onٔua&dB,ܐX[t 1NkȅbѢK5)Y\kcX<Hس.Jl3*g̷s^ϙHD$a+ W-K*/l27p! b$!ҏec^Lэj~pg@ˋ2E}c$M Q1L~#m'Ka]OZ}4^u0 yA!D@tc8B-6Yd%I*MRß2V 9G $pH~e׿hI[@z]拟)1H[Y&-K&ݨWXX|uN}c-]]Ω&pP%Vh#hsN&9/{ILF d *hoHGl!RiI GןV_6ۑ{8_v;G^~J`7S49z`3t 3 o(ͱAܱaLobqCŖm!e&'/ ȳMFgڦuhA@kdXRY9@_E}j<ɸDލ5~-Ջo)~,ղgN̒ac]BW/_ۋw#~sA#2Zlck^gZTpaEfmwwm|:b?oNp)`C`;-v|}0j{y#4KbM8L,NrCZ9_:T/>pBxOd~+UI|z"),˞,Ԏa+AH秋/9UŤ.kƍꋝvɒZ$WlE_|!Y|fFm=  ~z^N)<X4B<޳$t.M!:pBzHB+ ȰquV:f:yEpȋP ق0hv¹tF&8k$_y MsP Y㙭ɐl,秿ힺۏr1A$/o)0Ҩ ^96{ ze94ۗ.}.dd@"MNҒLFӉ9=(bMH8uI9)%n {xЧr,`;gLhVX Ϫ "z| G.yW ; "PDĖj?w53;~imP22}E |E3p p}#8##APNVw# I0ay,9#@)rSqIh=C Yd 7юKO$p"qi?AQ<7\_BJJ㕌1uە*`/>z߮V 2*!Va[shHlfy2Q3YAN35$W5Y)6߄j\$hb/M"g$xɌ\9*DATGY qՑܷZm5jc:\|/6G&1Ow6.l#i&,TtjxSœ(6<^̊os@D~^oV#^r `[昵H$!YE"|h%`!5$gtD \ :\Y%"8Y,0P/T%\)1"~;FK6,b!Yg/c`u=?aŒח>6A%aGNsϊ5gPo@Oҋ)ݵ̮A7=<86u5f,=Й1,k!.T쌓fz yE8e"} H=uϑx gCW<ɒ/sD"(vYh'+ɘpx xMlZozLUb<dqc]eadW11Ԙ {|煃cU!phHz?ga_,1ec(,\ C}agE "}\D9:<ټY[c\k"ФcP;ubc 9_[t_tqz~;:&n> _GO)6g$ 3C "׃1iâk%<%|ʀH =`$y6/Pl6Һ|MTUUuĮD!RLÄaL톆&'tC%9{z&*HvBlFJʒuRfX %)Nw@oWֱaXl.d _OzHhV8<7 2R#ȃ{/9ܷgw?VASYL,0 @-P("'L%y IMFV_I1jS_g/Pw&Cgdw),4L~w~Rg"QYH:޲>AevpF }6u{4&C%$E1q+Wzɽc˓#nz<ǏCM|Z7HYrD2`'ɶq;a־o(?w8 r c/<@ ̥jtфoρ7CãFz3vc/xl&^ E^)|rԅ 3r~63:8Bɩ`}E8*,NԩZx8#67.nWb ZYFtkqcJ.y@ŏxz5I ^I5nُ;Hx1 X]j,ӻH< uaHjzXnbv_=p <+^l//橑OYx,Y4Es?23p.3N#lv{MU5+&F @2K]if + a UK?Kɱ<& ~rDWDp3Dß,% a`hJ^EFQ `EJTHtWQ% d8c<x3 AGT-0/33ӟ^<> ghKQgV`?aI8Pd"aI 4(0}XN#|C1n?45w`c@66晹!8:.*щ2AʧuYe 28X \>9JrϺ,C#hV-iEvY8BG}f?:k6y_X2Էt?y=a'؊5{HRI1JBPjWWR¥uďXk-#Iwdp,38S# &+WI'Sͅ le+mv`:F1ZV*YHe򲰟 dDZc"Ƶ&]zΌ,=QCl1%.Ij% pi Ohw;3 ?Ũ_p8>,Kחxlʡzp?d%&d<)/9h%-9(_+5֏so~9 V{WNԌqwFg"=Y޵W'LtRDv|gc}d"Jh*1=qQ0 T= b])I91UIhI5٠X\Lݱi=ҬsXBa @g =╷r\1kIm\/wkN;xd.e#jeM#, ^*̗8ʜ`7{ BGIj|&O@|W6?ˎ{U i>1?[[M.sI͛fꨒ`nP{Gbt ֆsWWO!k"`; PsT,!pݢI@'f8KHufGy!ML_';Vp3\~$>mw#X8΃mގHJjr@##i1CXXx3XnXTi QLhS Jf]}ܹV1H&X̒C`!(`b=rZF2LVr W7+ !#],LoS/8 pT#cq!eɮkv|Z ƛ+8 ߅ehyXvb l<3U*cw+NWASi8V QXیJN/Y$ЀzV2d8ؒm'UR-ǁ;K %kb9鲫X^ 7qKۋ $\2V3 0o^&H5=뚳(aZI> ۉQvX[ ~LPOÚ,ZA{ji^<pn{%nxըG%H_'S8c>b+8ynD_W8ҋ=e,5[Cu߁ya{d3?Geؑa]BB!AVܑ5s#gQXZL:\jo˶ىfG˦zB *Gz{0粖B}b]dN9§2YqVGS% Gkv:dV')Ɉ2U f|#MѶe錂PǠJ 54TY%Rqq8|e@#EÇFĵ: ?-%JcH|")Lf{zRH&T&v\Vj&+Ca-:t +a;q;Ot_X '_ b :P쪓~]?o~Y윫 Zıښw]y4j5Itjc C06Fj|Y[FL$,['eS,ꖹ\. Ll~ &`rUN\].hj=m9 j8rcÜ`MdBT7a " X@AV@٨?TF4O\${nOxs)wĆs$އWIxPyI =f#4Si}쒓fHz/9ұdY#Rpq^"ѕ/׿n~6ӑU>LS+LbDH*Oho}c'k:Sca86x8;0.$dҫ#z._/\$h9ң||25U}ftVO"QՏwd^}/*85TM=᠑vxpg?~z9DJKƹfgL>r#NKy}=埳w T[-1T6Ω馻YQ1ډHb@.ArD~~;+Ta2W֍ ck$0m_|Z8yYxj&v MN1wGo'0lM#)8;Pd!3@߭~ ll|&.:+(psѰ̼Eh߱P0c~O Nl G3H%q6M7dwա;%;. \X28ؚ '*JLU D܈^)c"wxQh{xcv!v_IV×~39= ƘJX /L\sɿ};H!V Ie-/,36D>z KY;{9>L9^o: ee>2u9)^|^nѻ1gQ^nq> 6F S & dEp08Yِ -hP$Ї4Ը3(zJ-JBnasY昢ɡ>n3p!pN c40; ,[K縧+4VpEiqSsHˆA--msuKpqs*86^ jkS?~\9.w`Q7MMcrzq5xգOay̗v6. 1[)hm(jmv?~!EI|Yy3D{&\ g0C$ftWw?}+dEэᶕ3ykouH@Ύ0l+p`'V=< Y[,e`al)EVh]6K?ʔ)VOs)(aUÒYA##2d~ގVCn4&uTtE!nS~;a&?5N &==V>9닏cq_9C.W7H  !@Os$%lojN4_$SM*!uӛےDd? `pI _kbOqnc h7.Oس"R2&žr 8UP;}ٝm#5+"?l@e!p(; H&YB&t &‚2g߆,tX?]a>PJ[r(&|}@9>Rhl,dY4u3tp$p̊M7"z}-qKAQgka<Hz C=\U:wzp# ;zOY$} ۠l-,>J`:O{C=}vVZ2aT们"3)$O]?< 8=g4wW*1Yp! $O OݚTO [] y7^/nHz7ۇ].I4ȕIj%qS!WkĆKd#њdKZɸ’ ְeuXfõEd,PAєwa`7IK) vtuJ_q6j1Ʃzs YzꃢG`JG$R-CĠZV7P{G*H-at\gs SS\GJ(.vF8{tCNzAba %M_~F&Q"} Ēq1<8ji͖B{|h8h H8x^xN/o>hCᰱU ~0H+Yn]HD%(:X tbEGSc0SWcl9u-tHؐIYÔ؉r5tu0q*#<[RJ4LIK%{k^ MD=lE&; M`Nu99^] ;3sɰ&E8PS^qPQJΏ!c"E8Iu Ds(EF׬c6r)Ef)X6Xaj)ˣ( $}M>}x8LKY؎g~+\!؎vv{yv졣Fq [q\ ܔ;8xH= #׸c8P+c)$ۅB$*UaleG1?*Yi!Հd2 ӟ^noG+fOҼ3 Wv,/TdYJA?VXqAěn{QoclC0BCi:P܊o6}X!P_s;N; C œr}% B2Z6 n+*Yz)_Ȩ|=$C rqܬ-V!Hk*e>ZM|gl̙ѻu~; NTbLc[L]6P!5S}sI{5#T N|Z&vDĹw<7 6aZam0;Rt99a`^xq R7o0m /G~Ⱥ8iF`lZӏk,YL*lm> O9m'; ;>]Hޖe*JPQn9xЌs ǦӻI8H# BCƅ_]bGAB21s|* RSzYi`ewp! {F.oXj/./2ܣ1cD;zPTa.<˗G1P(ڗ08he j&)C,i#1ӈI6(8Cv?g3&i_5FƩ-AdK<FI)[ș<~֠5X5[h]chw<r,W`1` 0˧U +9 G#g#k#6;i;E|~{ʤ5&Ld߀%-W:+xwL[B,!BR; (]OowBIptNF,HqNF5 YTeQuT+s4H!HUT fY[-}EoLVv IG*pB{g-M[:SEaC5p.Cdy˕ZzRϸd[.0ERP@n ߶+Rxd-0yE{9 p`ߛOكdӚrc~6GX_Ap<͸-K6!oZ7uzU5jaKTgs0A} 5.:5(K z VGG!$dj@ .+{{CX^0~g(~ X*Rp$<{ ؚ4^)]³ZāR-uH(Is5_kJ~d7+qsm9RGƧgoһHÙ_՜oHn%$ã^i =.c&<_;wq- -lj, \.8PE<{K1wÍ^opf K @bTwr;N^WVoPfFREPx57t~p 70< D ,)Z64 .?O&RGWN*&pq_Lx9\SΥ e; &!Vs_p1V-Wk*88$'8ROǹ%1´gl ;:;y &z03?.: [85@dz?@ e Lj^.L5^ֳ\>!?  NnYȲպPÞqPO1bÌCYo_:C2CG=~LĦ=ܐZwK?ϫ)vhM}brX@4*x φӨEGwʂb3GD{骦yAU1^_UVJqXKl 3]Sbrcls+noX~M{v1.@AzΟ% 扉~"X(&]00Jv-p]oD _ [a6Tvc8+( Éxj4LǮKXR_0}xPNJ ? zKGe{0t9if=!Ǽg/қU -oG;6sΌ HsWSiG6dqaI=`fm.v&篛S:BpGC/ĖK?5?bIJɷQ*W2 Svn[7" TF3M~+wsGTG7 f8C3NWi ^KoQ%]->2. 't|L6a dz-Z.tjxkZs:Prs܅JOojڦC\^]m/~mѬjj58G-4Siʳ.uf[aHjeHVyxؗ# ƑNd^I;̖OWM"j?o8S %@1ˆI36lű0`?nW})+dZnDV[ŸJ>R"PY'_R*.bBK',~=)"T;D.ސoG%`l 42 $p0%ǽ§EM23,+Ε뤡0,J bs8ܑ[C%ȱBvj2#sNNi opZ!L FCR?{n,8D fI*3 ҄V,QM6 9y*Gʊ\^n>urrLY 1󲭙ïFNli'=–!'m`?~m8Y]amuY|[ !~5T2$+P?Er+#4G2u;L&rLrd۲8~כnIU`p9ΊE; G?0*ýsd!3_ @mEAVkUXI!ǫab-#hǙ RȖGQlw%RQ;oJlWc* nQ%/iG%$V6‰{0@k ێ1 Y i 'w"9OZ)/{<kfcRyi e9A+o`谵mƤt cl{hXN- t5}t ㈴PLoΘX` ':ulykxL3F2nX!D}4US 4ڕH މif0̬fB0f61Q_O°OK8e= 7G`mqge38EuE]OmeIzaNbZ_i]#MM`HP`Gx`g Z㙘K 2ONZ<t—ÈNxV|f8弈O3M~~~.CtӨ8$JTJpE $@Hz77Y)BiS[HOXHZ;`Wǁk__GqRa i V4J/;M=k2mĆ9gV1^OC? >.nVWyñh1mҤm3|`& 2)dgjjC1%XIKV*G0A@BМl΁˞SB pCY*FK K%=KxB8,vZ<$Xxp, z9΁]cwj#&^%jz~tk+[ko-̱ jV"bofn"Qm$KE}ge!}sjqT2s穥8mfxʬ5B* Y}=om> ~ gR82VbK]1h -X%H立X w" r\A'64O6G<ˇV!-ՆA1lN[Èw=Rn*f K_`$dhqNnU' !c$0k~]P~°ba1qc Vp* 0$JU's3g䲲ˌHN`9enJxé'eDFnp%}c%}xsqX> wY)pV6M# >`,{pCޮE;ceqRr"H i澴a:GЅ_8`I1гF pnh.?nže'k5_?"wxEY,dĭָs1x$t4CHOĥ`\`IW,rM|aC~3*0Z: _4 CkQuEI>*$-BX +91(F7HkRfcS%3'Wgڲ0ocD4Apto>!0X:g(Ҁ_QƒH82Vpjo9.Cvv{B[>1(tW,v :T&\t;`sF$ڌi?$##L\6*:H5'42 碏fGN(rn ˂3X %pѻec6~ BKb'ъr&ȌÉ0b"ۨ>@l@^^~:J2@ +;+)⒴>c`!7OXF{hJ&X xu7{ɨkѺIgz̖cA+֯:e~=~2 # k $hF O/?^speh;_SY/p<mBJg|̈+ype$灤_Jߖ`8eK2̞Jf{=#-T$\<@v7ߍ'zIloWu Ήe5anv@8<Ӕ]{Dޫ!?gv`Vv?ֽ/vQh6UQ>9AQBjQq  L68 >=l%9@@ؤbkW B*I\tezJ=Jr@P lV_ѻ,*&<ܧM#4\ İԤc6LE-dR2%.ś14'$;ǒ,ؔDMHsBzX]NVcHTjQC'lډ_}Riw&"ba&{fC'R&S7RˊUVe&vFi# iyqt+u4sVK)u0Ě#z֣W^Q?AJe'`2Hl„$FO_jsTП̢Y %9n?eY9[1Ssǘ,RVǏ9KYp`u"4sS}8e @r*@-xÑEWߠPYO^3 F35]8{F_Wc >>VW1$#Zq!H,uM߳-'sn4|ܧ0  4POdAy,59~TZ\6 ,0gVC%C wA̼* xzȖK@엾Nr {N8I>|L[L DwLgrO|Kz}s |Z^.ɑd$U Xʃ(5pQ\1Y"9 n {`?}SǍKQ[ne0Kd'ҧ9o{;X֎fnpCF\`3bI8aJLV=[}W!, 7{u p;## 3SnHRf;!, \<}P` PnWE2*r z$X9 r#5*Q0\?"UNE醜&h>kr=a1m#' tSv2%4xl^Pr:%d6WgOhCEJKMNO8i{;MbArTsa+x㿫,`T^ϗ赑 ! .,]σёW(lKl<z7y#f+He98űF ~} m?󡞀r0a.gqm$ vgWY0 $uȶԍ1[+2x0׮Ɋ8w:˹_QC^q YIO=tά#{5GH3("3~>G&x/OpT aW8y( |$K$krggb  8+FjlPdKǧJ1=oUpwL+KcY<{́1Y bņdؙo@u+y4㤟e+Y\ 9NNR#e FMgoc/&óh%矈d%w{B&5KBq ii \钽(̔.V7O<5a0ֿ ¡Q $a H z@pBK}nΣF32s_!Nl`y@Bq,t}i{^ǘc,&smmdt p3%"3PWO#f&~Y1a@FuLPY}VLA66d)&G($QYmⰾB?P G O70 R9,rsخMk錈~]G19(H mX/*2?tJ05_]m$gzt 7ACA0SnB|VcpGJ }M'k TtϰǑMHP]=[ddTlϑfQE> -J`g-6N+ i /uI ҊV }X}~gBc vד^e#+*VTGɐytf$ҹ?ٛqZœrT֞XaKTJ:uGxG0߳=z#$# &2Kzi6Ԍн#M%`jA_ϻIylf$ME * O аQ;;: V"R(H}ٟ?q },qL [hGlpBD=¢Znfc 4ON͖ 9GKY0[X&XtmD܂ ۫! TQxϒfԐ'q9/t,"ٓbp#0~yeNgޓ .a"RK:)8>uaxH)ܔ_>md듇L k8U;Atfyu??ODXwm -|h&x㸓E: > lI֜g~LG/ No!A N@ʂX $49+|2At#@3o Bz x:gĻ~~̽;K  2 -᫫Kz ʞc9y8)N&qhX?%{f73rEu-CbɩVp(bS^wUjOYbpo9_-!0p0޲YϋwK?v'ٮd$!BY]/Qr+٫ĿB7s^O~_'+#  V0/a3y\6YAIb#1P5p!9pk8bYf5l4MGMBՠkK5W`CoW(Gkk&}mdu"vRgK"O:|A5EKy]lvCCvpǡ};SHGwFH, ֭b ߐznwZjzS9&;'+u0hWs֪vi?d5lA+ <r~y^OQy, , w\)(E,qH '(&_,Sӏ踙QqI~`m:6]^u"DNLpHr6@$.Hۻ: J `Yxh%t#Rzp:j7,`5: Y.a7zJ0RQ+;[N(dtB6*Ó 9C6SfW&9c"/Ma2DPXMy]޶o ez EH@mfezT˔6sZJjcb8n@s~wm+Lٳ:f_7"jqj׻~mޏ%D+pWv@CDԜƵ]_o~=7;d\7*z3Q\̄ZijZx%-I I>NM}=R-e;Y챜B #`ܛϓSU[ih(oWpt:,NRԴѢ>g/tOUO$6IxNa؏"QbxhP.%390| _͜ōKc~VEgOaߎ ȿM feK$, K!zƹ5y 19Z$ kWE%T:2mrEوYL:G10l8ܪWDi `-2\ kq]> 9fܻhT01~"<g9Z?,'&@|x.1 0~B4$J)Rrܲ> -m *٫E"~}pD˖y0^32aKYyPA"=x ILE^!HYd~lƼT4O=eh6:YMÊt6яd$Q L#wpY(K< j&ɳG)G#q?rNU{af֠-「0hsfwaRai~E^c4 r#q!i gϋ  h|;2.} FΊ!` {J9f/$+?=}#8cjf ޏG hZ$,Kd;}|*N+P!}6Hmy1zB Ka"JȐ1\U̡xV9 3*IV=K:w³ƾzWj(LjYgD9s88/'RqL<y4Yj~΂GRW83++cǖY;qY|KԷ+A ^4;j:)RDc7tsSoluYHf0+_\$ckdÂ^POVY joQ2Ϗy솪=$eTxu%ǔd8-ZsBtXPfiG?;>#'} @Y&,Z9W\4-8n{ td͖zR!2EA 4GpE9L"Qt_5Qt>ÒG`3uKn\{ٝSsCn*It_:`u 1 7q8iqΡwZ[0,aԜO_?ƻؘT zX H]#ぼK1faƝ2~[>JcpK p =(x*.(94**f B Vc)l=IZ0'YKMo ƑDxϖшDbc7#B9.>[Qqv Ux%똡B^L~'9tB/}<2gWpZlaቖ"-HG9@Qw=Y_q\rT_`78@?^?ͮeoć34{yrb;ar:% w,fSG=C琹1w6|-K=2|hF!W^;Y&"^\ G T/׫/a"W {!8DL{&Nd\BfмcTd[c"&Ƌlah<}8NGV%{֤d_ fVڰ+Kw{rgZ%dPuHލ# b͇oEY3 =Г-SOlˏ֨ sLݭ9>5 ld72P\^ j1зsWf_ R(v&}RNK,#q 6||&T"hS, z˥F l<Ye ptr F8*G[kqyIIۛ'}HsZc/r&*]%^vO3 焃X,ȑsV(ctS\/q4~7Z}y([2G@fHBf|QلYLeAB!pNfƊꛑOg.l*S Y"[’. F ӟ~^b¥__]@ۖ[s&g͗`W/GXl٢XȂU>UZWaZbXIFSkӼ6F']ҊnLӆzmt '|Bf"2z><9IUH>;F|XA3~4&3Ł 3f{۸ !ˮkw?Va:'#L05v:X&ġr#KT}|ݒ]Jǁd,F[rx'8ڻ.,ΰ#fyE{/RDHs4jݽ!qU;Fގ7u˱ʒڒTA 8L桒QXʳv HCpe4 ,VP\Nz\йj6aOgbͤZ㲲su}bp281\m'C ~0U33أ($;o kꇙI[z x$IL3 vNL ŀ'R3p:!Ua3Mo-ҷf9$g2qG(APsD ROo.W_Gba;=WrWbsi)M" hbV:NAx_]||P3WE[>BW.u-y9 u +),GElc&/sk5>/ 2*HpĕlBûWNe'ۖ^u@8Acz)L4v˿%G6$- Q!'-HwS^/*eEc.XpaP3p<{_hEX(ShiMxh3łvJonj犬S_Ula._/IdX:nb  JF)WjtHMcsɒ 2?Mѯh \?Sްݯ_r/k#ЁݣE8((!G10aj<0Bx@g$8{}aX\({ĠG9.v Ft D#5R?Lf^ WhyeDIf:H2@׬@J+}l8z詽}_ @i4R?tN95gʢG4"Uˑ9Q~왝~w}mD k ;̤ &OKx2&?^M/kER2O7s c "5폈*NNΥJJ 4S}g[R%fK,3|| ةY89Phl|?vxOeCIZemk`ˉah;\:v8F4fh 3쨜,ID GC8Iʑς|, BGF':Zi\ٳ5^!_VCEWveyKJ68, ("Q˸*pLoF<$Ԑ뒵,tR89 nv7:NQ&)dK[1\H IBn:Rv!/OeHXz9Jӟ `fTb ["xqVg.\Z[' :ƭQU-Kf*3n Xy;:W``n>m\u{]XhXIB&Mr@U=T]'XF_/TBeY"7 F0(+̚Ytvnk:R'Zcws-+j8"os5%[ãcW+e2 m"q}빵@>04k % VsuV9Jl1R_s~[X;9vu;fD&îgQ \s^揀Y͝<834K`6}m2s*/[#NF_Yf9x5w#ҺseBjGG\WsZ!+X5?5. GGEPjOų^?[ !Lc/;r$ۚ&8O +;c"UET."#` ~gTLސZxyJL*xsr?BS'Cc^EBMk԰U# @#$ R8DLkK9| sunL'3<-z?u=5i7w 2/U.@njF)o[?1B;-N(t uq\Ǚ8`Ozwd ^Tgf=o T⒎iTh[ܥ=k!Z~HߝئRï&ldc]&6PG-:([ ӌeH)6.j:jE6  W2ol<%Bjɋ͙0P;)o= ʰ؎- ua,rqQR=]ԑMbV6ɇd:LyD$!'` >Kuf]*wʡM$˜N:JWZ;MS*{La2 @hZbhDŽ"Y皮*[G9' 2tqLK9*M긊l>O!py dvVq/]b\8VLMcPFۀ\=2/G&˧Of(,3UӦp\-tu<&kd؂ApvN@2!6YqNݬ3" ʢ$olFm%?m.QD}CU?ٝoe*{F1I= iL|q7)[a黱Xϔ᩶^o>9FCZ mėvfճДhH!*9gt' 3qKjFR+NLGwp eBq]L.54n8c&[n-;- ##L|s'eL_kNxNIh%7 ,z.Ҷ|w~ǐIC5ݼ|50r+9>3v[׭b&ӓ ۵^tQ bukV,9GKB&āC}\&:Rq^bLr9;-cJٷ(k {B΂>+ɧyWZ5H{S) .K]N7! ?^"f=LNbliNswp˄|xYB#Ev{-Gl+iҁ GasgKcE .\;jC?-dܡ=*Dn2Us&/\w\'rn=]#$+rWU> dT+=&W$H JB:Jlѓ==tD:ZD"[T&gZ_|$z2'0[Vm .Qw'͖˩\-Bb+~6rfkgm_vz^4^.r7g:?ߞʐFpVQͪCߵ 3l֫Z/j9VK ~'3o0&8_+ʢWt 7XymZuZOq0ا"3eaϭ3'6rNfcej`:;??` udED=S5\9Nkr j£/᯶qQtd0yuOt}t~jD[3]wWdـw= 2nC'5`AaR6*T>kك{ijxa;]^ֻ#d8!I _~:a gx*[3C2n}ek|C &*qn ~{17o7YhIdD]e&q$YپEAqlj40mVcy[gx@bnw.ۍU&nnMIaSw \Y"9ז4 f5mݭ [>Y>{%-}G$cdUwذ@1^/aIyͨGH3zzѽ]:l\\j]`BX7"&UON1XzxP<8߿caP'JW6 aiKcrӟKvqspS;CJ:/ċrv{tUArA=Xpe?iԃ Qe ;B A79&-1?[4ǒniiNinΩl[D%ͣiX.Mj_ك&/=Ż.E4޽ l?~Xe<[/0: T&V˳giDfTiM,pΥrmͣDk!/Cg>l?CB;ןg=bgg vǭbʟQ.%ռf~YSAoI{XC &RhVNa-L%53㙎L^^S9 N udPQil-o2etRO 'Jx<]/^FJ=d2ILFֽlzwRK'Dʵf\~F]ug{$ m_\m"ax|IG5)*9$|+@K3SOH]iM¶X[ڦ/Jm7(L./͹ru? @(V@b+ƨ$u՛3YSǘl &..MF6 &+x͇.I{*^%>Pa:mt0}SaU4VAN5ZjŷnѳQ:MKcr#RJ#b؁y4f"n l_'x|Xz&bQ3E؉(S##Z@ىCM}3f?tdaTUO a'1BQ[VlG)d2z#D Za&/єGBȉj8P#%YֺYUx= yKmz#GٓPC3BHM qb"MH6YTb7ZVq"0Ղ ]wfE^13Dj4>zSa$"2 :ΧHs8a [LO^ "jB׳ Rd`V(~.y6EOQP`F 𒢹')گɞʯAU(jT =>jô riB#ֲN/!w`6+MlvHvErBZ-'.zA8֙RV2]ewl`>=AkoL#Fp~ϫ0o2٫ Ħz?5QbDhgʭ6xv\kfN>/v2بx}?]T:T(4E<ȌÏ-OV2C wnR qFG!Nb#ǥ+s; Z/1 hؗUIs~{7>޺f3y1c/ԣ4=ߗͫ_m ='hrh S(k|b={v9unN.T$9#T#-U d]9ZbOP,g<6[{fnBLk~=KGkQ#ޞA2LX":Q}Kkyی2#~upOO-T~nE2C[K+ *4CLЈLۃfb?M0y*d= gA'ӌAsjTommr--tȪF~4v.bL'ZX}~˥v 503? Ņp餃FNYͿMf_%S$q:՝P+ R`Z/C1Oz_.,F] i)'Jh~ ǤkTy(|lӘ̂\)9NT1(SR(6TP6N2~iVDQ^^Vi6-+ 3 "MU~ySb k#6FLLl;Ÿ ttp[<5+\D@+c*q挳6@8p\ʷ)0ӗ`Q>vvzb,,6޺is@* ( E+P:#/_ ٰ($D1ȡ17=$4p6` e[AqL PS*I=,4y5#3˵X4 yɜ\QGxΗd=dj YQH7pjfⴹfz)erhxO̟FWD_{~?`,)@W3} /h>wԗDzw&z]m%|s;}i^\2S!@ؚD~uKP\bnY7udq}Jt5Vf9 V!Wu}z<rR a#%@tS0kli,}mHqWݶ42&ҥ7=E !8%(2L]f衦^nkᔥ'H8 26c=4@#Pwq6]\\oN19@7QWF!lC}~྿]ٍ e-Lz ry1%6LJf bE"R"*}-**t oTwKe|cM_5\C z+#LNϤa.?U 7,_F9lFLÐ(z-ykN.:yG"XI'#f{_|A~oS"@e֫Fwiojj EoHd9Yk!&}_z{'Ugحwg/7 =mWSd_mWȹǀ^qLdb)zR+}{N*g&>L?)tk"نbR qi6KS֪g/F.Ќ"jY2{ < BH:OMC-^j ~:n?w']_;yǂDR՜Xf ˪I1awPdn+ vJW3 KLc];EY CڰTf:ѡs؛?˳~9!rVDkըKSRKkfԯQH'NEIKj=;;ڭq[5ˡ(aM%t(/?eOtq2 zhT'̄.|jwwlsOլtPLۯõ[j66{)Qx0N{E$&^fT878%BjE]BWoe`=dR(r76 nc TI߁vE]pF}O;L'1q;JKyDzz}p&h6?!.2q%Yp4{B[z@W *&oatPwZ@|2Wj ? ke]UDQ{[+E~.-}Ջi~Q$ߌ y2 VG*X@Vn/mRܜ.g/v 9XT>QlS0q{R/[1.ȘHOje(ʀG|Vmg}/_uymLWHnԸjmuʔ;y 1&-VÑoIqk{8YoN KhoJͬ8Y&6TCZ8]]XC˵6ǻ ȤbUr4KR>+ 7W0KD[Y*up=zZ#=]9.8 ~h樞ܞCIw:}\w_x3ۻӸjx3QNp L]tX"!vOTN_bBKކ6L<2}Ju9VeelgHX@cVC B8zqDZ=:̦kVm5X¶[9픦~j 'F0Pu:m#IbdKi? ]0AXYqfG5]=-m[ فOFS@>>?f R1l닰y3“ - ,?W?^>Z3g71!dCD~#陔![SBOF 26r6N )Qh#64Vlْ?R?yR&F1f1>*gA4Z铻|P}*[ͺYBG؏L^SȍH݋d,TO>i[|E>d1vv>qaeQX߇.BtN=櫟x=Sh8Z" T^>,ϰKU=/Yytv iR ZDs4 l$hM>֣-tV)dwFk:'<6P#;Uld /N9~va5N̗UtAW|8/woZX92lg; 74@QKf^fYv" e.ӪLNz;LS&o`>6ZhiKxM=4*r@z?/rp*0 n[N`nʕE"㊳>8||֐Na[UR#O0՘4`|HllE-}L|lː{|GISmXHhop`{dEy eKY*љ`VuetLmgcdeHDq|n&cf?}{stHkNZwdn=)¼T( _lkȮomz`eQ8)z{9ۏB9Yx7Pc!Ed'f B-Ro4.3b=La<;pMtrV5 -uu]2]IP\`tz҆&n`W)yVn6eF: f8,Cb N#`?z z&7b lRGƢ:4VVbksc1cj&F:zqi=<52ЗZg? 827? {Eg| \C~B)٦E^PFBXg+4≎<ע 6>2,NAkCvP鸅o@  H8EWțuFdɴ)1Fa$(AslL1&% +7_?l׆eNQ?| Pu4+ 8ϬtrDC3PV\h㶡9R}kpa[\)7k==go }͒ʃ1- e$hСeG4WS/ mx^Eid,Fk1lӍ82s"pG }/ɉj`j4elju(p\l= 9"Έ%d#^/F;%!xd`,X 50 <T('4E၎f_nhGE55E7T2nRj} r={{ޟ-8<5iNL7!15r&ԗWS=XN7rl9.d&#"J0 `Koww7g?67,lC_7S$QJeR^"œc^)#;A a)lkY&}xObZytÂ)0!*9S9d:Oh.ar b_;^yk\.똑'#ZiZj-s Z+5Jl'_ %ҪneM4ڄ_8|={Qi9K4?K- {ow/Hq8(łFaPkBaV명|;&kk}Af%m܁ ˛Љ|O^|lFbDB~%c"OJ[7p83eاg#Fڥ42p˄Mq}vu87|M| u(4^WƦ}l.LU%SLuQ' mR [Xz~Mc)xnaz^x뇧VMǚAa(1Xp/nqs?ݭ?n9EYN R7R)=5g0F@F_(2TCXr!O7] lik ' FG]ySy1ʲ [`+!3꺨~.B3F-2Sk/=3zB)-m;N%ʹq_.w_.8^,JǍ#tM0MI!epɓ@0Vm53K@:xkGUXr \S6hm-1xmù;/,ޑj&,$Kf|@7i_#"tC3H15ΝFS-nmr7?'GQ WXASYD`Vd# tZ|3+aK"!/GP@: #! ooO詑?a&P)ٰZ2woh䓬!d+^[!EMi}_N)w;aBF#:$U]ۣ[Юߌ۶OO0qlNޱxjƮn <߬.xpE[ZPeġyc,| ~xT9N՜T ˆ 9!?v ےx, >v0]1>-z\/߯VkfΔ<klEQz16keu]ihRBzXmb3R>Bv.V߽\ FYG&i>(yiV Od~8[g{#jVsO<Ӣ}GP !#]MYOxx]=I j1ћT) cq؃ztP<'( skLj ZOd^^ln>lWlᶦ%Zݹ5"u` ޝcX҄6XXGP~]1Pvk?S혱 5=]%k22]1wG}({-~!WhwyZAXl}@fbKZ*C!B^E3[y*yB$e,}r! ʲ}K]>B],|wPpOtȼt(8S[9BRRoil,^2?B+t^|FQLzZ]lͲ)fY2OUBU>(̵VAꖖy͌ 6Dfܑ*d2OeD12MմPL>vQō~rwU&QoOFj!sL>(؟ꈇ̼ޅog̾G[[gc+ I><2*iQy6{XZ[ڸWC;Fp۞# K=ė ;+ e_>hx :"yu 3}#|2! 3ŠŒ .]o `ȡ#V+LJvN7,֍SoWKr?'sgx(ut92 uuv4ժ),\&xFA"32<:ΦP{Hkسpeh#ң  5A*뽓WE/:K9;X=$+\B4 Ԫ[w 7H_)@ifdHmFI_-TfTtz>7'_ ȆaMN 'c]I6u}ʵJrp(vs[I07Mut =__ZG. QfY Yj> OՋ͖"W!{RI eٗ(%4?T+qjˊ@6"Shm7훒]boy~Jٯ犯_֏F苠륩^SsdΓblϊn'dk(6JmHp!/*ҹ5O fo?C2zPZ$ 36{R'g?@$nVotǧ_AZ^t0Ba#HcA!8w}bZ%Bsp+cJ\,OzI/CzC(g4DuE[Kro5q*>a|9 ѴyVjf*R(BȀ8j??@GyW87Nu->g`c}}~Ӥ^.x>i~2  WEAlZc5V,<ͼR=FHDPbԈ@x ~pєQj5H TmZLN;BNhulБ^hfNA@Pf|Bx/ OpB)gM/L+kW>ʪoh՗|7SMZoEFʌדRV.L<09vy@.}`֗WWK(p8.u3 UX(L/63/c=͝"؈De@xZ5bY1ihi9Ւ'4:ϖЉW [& -UDF j)y a&ndB]QX= V.d;U|';IwIse@Tf򲅤10_#jQ{#$ "Ցn =(euƥsR{ψ  ](L = ^kPO}W"pq p7@aȃMWLWO ^no\~^:ݛ\7]c3(9ݼ9iUUﮯ\wG7+ zBn$ v"4!b?:u$mFPl.˿rf)ڌH^Ϯ떭\ X^6@ Tijktg>8€dڱƅ'aœ-_7Uqshc(kApជ@c>jfc8d*K0{+9?]PMF(lR `goXݞjI49jzC5/)I)oNpvlQpĠ"oAʈcj*ׯeCv}{sɯ)9d>.U}H(01j}4MZ 2l9pU_ fB::ԆZE7P;3<P RW=i50SH5TPN;Mp˳9~rϗ!gGᚋ^ .Hc 4 %@0Ӣ&)GΞX_߬oyOEG&m5K+f)Ӧ8=n?ܷ8Ƈb$8G~QZo DF<&0BmeT9#&mҙ&pI˶~Hx(sSϽ\`=iS-|M_f ʲͫzzXj\:OOg^:e4BN'ENpƑ @ BqY{FVLi;\0}h箵[D(R  |3Ns8qtF2/qBmK7O6Owo⣠̾]Cчq ~]m<qմvUĞ #+GRKhCv'1BNVsf/S2!!҄atIyonn|;0=0NۓkivuG$5xDnW˔aB(| 9҂ۣgwV*ƿ^ݿOMҷ%05Oz304P8@d*=ˍ,H5-mG.ݣC%[Vp5I$dmӚ-{2g6k~䕥:dIVPbz-T7()$uDP4' N=\w\-PBCy6gruǨdMpt:a"~di]$b a.` ,l$ޮ?^nֵW1@ L63|=< MhlHdfENOKse\*q ޞ ~Kɤ/J,n״.6/NSH^nAC".n;-J'}G+y_Je5p3H=_n>DČuPu:ۣj5aa[_ /~bnbrsS;0qJ,fDsYݵ2 d6f"Q70i[ ;X<{kzO ًgk -0`khFT$6Pj]ejܿy˞+;rBi.AۓBpw{Th$ҎiQJ_(dTMȞ4VםE}Q4"[E9#Qb@ ߊ=)CJ$=0?gnRNŋzqڤo)8)2GD h,o]8Iy@-nxl5,7<zaSAМ&lFE0r#UӗGHK0Ah22 <%+FB;/wL*MCxO)6 ?tzGm9(Wuaj7zVɏ*%Q{108Iz_Bj:(.vdd5ODqwVu7gXw'WB16&q#4ڦGQY S,%ިofu-O:P#(Py#{?)C+LY,Qo^7\3qCٴ?ܜ4A3SIjEʽ]9׶N[ܯZoc})h p/ef>J$7׭-U^<+gbbcOg2" >4-K0_m/9&aA۵W:ƒWַ.wo!;**|՞>ad)e/)=\bygGXAݹmHeVޘw Pȫ >Iz{7jV'В,=l6|1XwuA[2:jiL:پ)8>sOmz?M%y\"cKa5{Oҗ)iC^ph}C ӏӋ3x%´Hu> 0:; ? ']P|[|ќ]DԃOކ!pH?6 AOⓉ{t&Sm'+.>eȹyvkRx^ya'*Nxj>l?}2c~/:>֡!KDUVDBI{ڛQjʐ))}ot;1rS7-fހ'";:7 ҲJ>-.&a5&ul^nޯo1a)*,V'-MvT'a?C\}~? 6" @=uΈ(Lk9ե;|}ZxF}0_:7.=TzF) u֍_WGe$SWR2Pzo Ov/Ft-+49(Lvp-nF $aLdƀ^݅Q)2zGiC8TTj3t0BY{|,SH{U^רcfN a.`N N M~9Dť] tH(N|=%+kٳ̑醐vDlH7J~pOch==$_)VrvO:-2@ѥ/Y@k 8a %U^^o* uGzuws=mIAlVoV'T['ٗmOZ17'dhO)]b!d1h̫a j*r{sTmvZ1OgYB][h^aWx]&8fjVG]PV#z0/¨4M @Y27(/UoOI12t;]8szÄzZN,{#lJnB\afCc*C8T7OgN5>QJ\d{Ǐii4Hc&]ʃGһB6Ղa\iG9z/RH#9MH.P? d."{@~n`;!=}GH&e^QaO:NzC"BsL:E:ڷ ЎK65E+{t16%AMK[}l>;.2* S#"WK@ļe7DFSRSb9To.ΰa}T!h@1Ӣ4AJGJԛO'W?r(`ao t- (u 0ϋz;UUٍseuG$aE+չ! :a0kOl=ʾۀnaKDԤ!bޛٛբȃǢWq"O9dNʺ)Bc!xȹk/QQ 껓Ug/6ec(jrI pzGGٌ8Hӳz[7^l[f²ghnŸ%qiUܦѲCT ־Ć=}\At c EFS~jm,:'טKSco#2[P_7VXD+C?GI!4[>"Va$bV50S,RD7@HO#h`Px^3ќY`;P+7[) tמuv#YCaR溟l 61Vfmtadb=-${6|?0 r 7dp{!O},Q:1WΙ=z{pj"d+\2b;U?oϬ>|ȼCMYM,xy$lpNu8-Xk_3M0D¬K291>#.33\>mFxrEyHh/_翛x\^^޶}{hr'4}(l#q3agCyn +.yZ%gصMxszٯ׷c;,k]cBSLnKB2 J=K8+Rخ%N(>(wǒ I2 m7L,jٜp]>e[0l ѓt2ct>A-m E4 K TP|Я|}i,0{ =k[xĈ {4cp$oYY**rLϫH%h%FZ$c9' A {݄j{IPݗLIM{6!_a<-Y3L/riZ/ӪGFU.:4}dWd.3j?d oVuՎB! 1lccaޣ@v| 2Q"6j)[$QaN6['dJ/qVd$eq9WqHK>f2}^=dtA87=*~8car}(jD@rtàh.wXǥIncMF| %MKfTG  c<VGb[QN}ߔs7oCy ?,1_$/q򣠱 2]7_Άgs$GA%^/7>A~$nwmݛ/ cb]3ǻj]{<c4 \ёmAylޛΣN\'Q X}g`;JHr_ P.w^N[$#m]30;fxX0U ȈYw@%fōFA;P9 ٙhsk D3߂LWj^HL0#`)\ jHr"fԱ-n8FG Q td d.e9Pl}:-~B( ɴ~Am\CW#]r}s3?uN!irJPQj_CaG6RHlIU@4OE"p{(y?ga{82x/", b>}@JcLO y 6p@ #adel##G/pGO~iMXěo:ODqLC†kiUB4) sk[dur8AQ luE~I[:\DVM=KIbze"* .ŕE"_nd ꆔpj`` 2[j7t [elO`F, A<0LXMmL4E<(OCA@ i %ɺ. ~4!!ZE(Tp 8T2 dDrf$:fW\(__gVZ*$sDʈ0VKLmns4NnLq/kٽݎ1 Y_C+C ]gMPqkSҔt4 ΥSmf;bܴr4즥>:iT6وp.RVkӿE /o (H]xpS Oz ml?/Iun x_]ܽSe}XY.ܖ4Y!(~陶p"x Ѯ &ISЎ-%㿧C1X#:zB5!]<- l\1 \~w0PZ;5,Xe߅`}d\fOk%֚}Ǚb^z]g9EkԷSJxdsCמ[7v4q, SK4;hyBFJNktf]bm]6w]ǕyYte'$%4yj?Y_L:|D D/`e>ᔖ>s8͵%M#{l= M}2vuPg]D.0լw?% \mGmuMv$6(3g4ﻠ(°L۞-=ʵ-ȊWT7[gT5u6~#TS$Y+\qN~MNڳf+8.;9lPcU4\>^HdlXOS‘rhNAY#4ؤ~}Y^0&ͩA=IV0Z!k44^Kfcni,ocAg3Xհ{eZ4! ED( +h)E]W&PWXЦm5è" as=M"%t0@TP,gJA.iDFhϬ\)kPߧd~@epf/uo6O텭5Y6%NUj8 .,B)"jj 1J4;0d ̰61a`Rc@tVdcǠB5C}y@6G1g>)=\Vkm$^Y 0: MOiooo"U=)n;ޮ+WȠiXB`y#: 4 8 f|ShcO5@ C'"Db..,VG&jk.$YDڲ L`jӛäP jBpG^_CdMe49QuP`%"&- r1 =}|$J$@,<EmHp1u8xe|^ hQ#>j׊Iɬ\fhQ~4uCo^>WִnM0(m5M ykT,;2hIqv9ChkSY)@pkU߰d!RZݴ d }G͘S{{*+X3+ZJN67N_uB) 9T9OpC\*˹7Ld86ꮫSre;b`8_uW1uAϺFmh#3n"-ͣKSmy!dQgf3/S*8j9ECإvc|ˣd/&Y \+pe^_uU'ڙC[068Q<<'Ql/7sI-<Ը'qQ#=zH}JjQbFY (5~-l,#WNחLER>ߏO?xϝ'\2Fqj$l&Ǿ3<.!x2* ">5R1|<Ƴri֢Ϣ[_3dP@ңZdƀzat Y<&TGC;3”YE[O,`KLMI[hYQGslcp fFfЀN$YQfR&U VF5CV*yitiZ|f~RyR9nUug(qo8Ah#:=IVNJèy`rsS4S @_O\@b5yGbI P_aVwCʣЖOv׻;?MOqO4M։v߹sՃإOi,-lZ M:U36uUW4>ʫ\ђc-[ 0j4v WFcS(aR}桎E7^fJ7^A,\[OJ[wB zi -KMRw/:TnyEsP*2V>U_HчJD\f xV­?Bf2nXtnqu&0=y#n\oLFVirrq`z <=߷h"rwz2Pahm{O?ak._.aau|5=0D=˰e?6^ח^c3G_P]Q3|Y,HƲ6Ax p+)m:xdmXu[|x*!478@IP7#owPX7gHUn'#)E1sǧ3⼳_.?!}F дǃ|MNz8:n(ZZUerR]1eZaQv5QEbMgR[dـSS=İ&4Jl[ X]Ch)ZY+p>_RthHNÃ8Ed)xW# DK-rW:@O|`;*1iw2u &F-yL@ۗB!NT;P_ \sfSLejsB FjXO^2VۆKPn^O2c,\H)8Or'1؛p?ْy`Bâ{kz!fEl,cyo=S.+pnr OTkXLk(.xPY, CdoM6ы:$B^~HR}ҷ*JYX9AOYn//Msۃ2#Qm oF4YW=^g+t7퍍wg Y\mM:덬h4tGrhe2w$w&ezGCCTd[k̀"00K% LBic䯶̢CGp߱)QGo9;ֵB!VO*qƆXwʣ87f>r:QCBB82,+!BJ{Vak¹%2fI5oZD)"*h3v=Kޤ\C7Mc2^>)lNQ̕;wҧڛ^nCwPy4vM2|U|P^i(;W-5ލciHO)Nk[0 >B`.Z ƼCf ^˽-9s| T+pn|%%da+jQ푓-SvI M.ϹmOϮ s&d@q><3t0gk;,\zX:&١VGOկ0s:88.Z"R)hOy"|9׷+z* ;r]/ڱX ]^y$Z0MBin!Ȳ42tf {xVgF"D fnG9uH~`g<}lZ޳1CWI+֩UpЋ$1CÓe[L1``4YtNM|K'SUkv}sV ׏7Ga.t[E'Ea5IfF7B?חtO~Z4n)`Lnd/CpYVRzsO~jv2VSRMxke^a$h {z& 'Z\x0Tr|NN)vb,["ϞIn/k 5Z.Iє@srj=_B(ѻ6N ?+\ȩM6-J:T^:e0t}B^ht/(5諦z$7a/IV#/~aH쾑ۑd7_g1EgcM:VA9]Lb'(ulvd{"_9Bֽ*sw9rIVt߱^Ԁ:UP\(f֏;|v0Mrr-X0qnm\ _Q'&CgUOA[FBij: oɄ=iHa S9oRn?lԞb )3F\]RXk*k(Xy˻wޤ+#^YMl k>ªc } 05H a2E@xྴ6s&A|Zroj Ɯv!e1; :ɦ8⽀Д׿/:p=IIWPtaieקʝ7A(?Yo@SDI1pZ7Nدt\or`\7O֬"/sQwpO;aN'HH~Zfz&Lxfl`vg&3k D#WЋ}K٩i\nq[DoS`4((/7&Eۭu(~^<ν"5ӟkwrG7Gk;2#DSKAٵWS %^2 LBAu sg?4}B/_L?1x >w@BߖQޛU]n6OU:`_VHL.tuBSHT5ˉmFPѿ *jtDK.@Kѷ=ב32y/_F8[etDC̳-"佯|:e%a29i)Q oNeL9vuw0%bכ'_V6 7LvFfBICVKBRUύ E( )+L+3^|+ɶ!h`Y_0sQjyXa? 4LK0 rKb#G2ChJGB?ܢ Ǒ-x2\!] a7hv964sLQd@niQV](:%^ =ki$Ё32.Hy'G_~]u;Z+3,ޣqHdg?mOI;=G5 rn?7 ^ ׉ ?Wa~8{~>a#LQK|0_*Le@A#x.8rOLrHl 2r޽Z|">-5//PWכy=4+`o*njhMjzl|٨Y`CD$Bס%^_?dON6q+oRFWw~ I'?Rp"gTBB2E%#}˨^OF4^bK ]^xD;(w 0jb=!{M} CMCD .ELql7& Y@Tʝz*ޱ8L (TNSRe!2//_ƭ;js2#4QGKTx⣫xU|"# 4wd"WOt)YmZʄw_:;Vj t 8PŜ#^h-\E0^AH0OL+P <ܘqgzy @dO{FIʕeoXvU;C= A`L`zYʊ+frYa>˞ue?#/-uHPO=r[;+2ZG'&|4Vw!ӳߵ uP h^4X:Ӷ%\wHZehI ({} *Nw@`%H_Ӛn[(mw%ܜ"L_[-bhXx.3kL4%Ӹc!iǎ3?Vkuv"s}S7y&ϝ~s=%A|;mQx߄93Y'y|z_N.Z4Ϩ6gԬ-r+M{k%93(|VS$ahD)E0ɪ+%ErWvGx^__?mY/dWHn1}ep C oovK\H6XM`45]<|XStzf&K\SI ;60]^mW&'{<'T`HaF]K0rtI}^4(ۋ ёjwQgX1"PBzlh6rcS =mg8jfKN~sfq'Pz nFkwF栳[9m).cHȠeZN`aO`evt]ک5sG 20L]oMp1])pH5tCmUyq\xDFff$t_«LXX-ՙ8 =b7R_zސ*on DHhe^yj*~P;G| f8p8#36O3#Z*潬q>ZsXqF^N1ynt5,*7vpN-J:FFF5u7~tݪnV=:Y&aR!Yr{*ԡMC?SPy^"NË@G};p2ˣPN0)ZLߓr\+O`NEX@D2#hx4xϥ8_ xViRZE6:݁0LPUx|ldCY}u[e(1Z^"Ӄh{߁/oAkݡ{PBxi7iQ}F,uRMXe8 f)8]ih$8Ufa0̂r1L? W0[ l"Uzf_0Mv]f n&pwA1ҜڨnVt%<?XnqDwǃJ `bu KomNn- U: Ũ+b A +\=˗φGg RY1pj>̥M6k/}lho3wPdVMXff3LB>& \P"xBƈpF# KEvT@$VrideV d._l'wz^ 镴-e$H?0iu RkĜEL%[GzCxJVqv{)y~~ѹg? TFkq2bTq-S`.P,? ~z&PjPe#6Ɉ V;FBEznr-ܱ'EaVֈ!Ԑ!URu׌Ti\E%X69tr{2 1 keKK#XW9)>tB>qYRn,' ܲVW&\XͲeq˜r(|{tb`.l`LeGzI_3(da.#B5{dZD\3ҢE-3战 0z4%RkŤS7E &8*@1mt'+<=JAm,{E|uEvy\C\:}}Y=A@`ZoEwڛKPs͸6Z?YI>33ns2Ewu$,ՔAR\mk>GDFgJʇ(w6{:iw.oCPW^ͽ1nb,t"}\/N acCuzMu ̮f"4*` :hC=Ǒ&dd`6C{9d&\!eRvdgFnԝu+ ;[ͣ!{E''ppZNlnQlL$rq7rG1SF0>1&2HV֏B}},3YΏLT'h^2:4#FLƗ.EdrP̼qҺl6&O5_Lgox jT!Q'ChuNܸL͒|og/៊4uw?\|œ<4M8 ܰ]>|BVhow'4Y7ig!PFb/(puۑ^ZRf\Nxhmkիŧ)W:Nn4짱Ԩ@27LSsy+3}e8IG\py6ZhPZyTd|[{p_WߝTOIN w9uegI3C ki4u6hPcK;7s ;Gn؉Ivl.ۀ}!ҙhHjWPɎ`W}7UgFpۏ6vbe}]7^S]grthrM4[ơ6WÌ/oZˆ@XWC!:9uV[6ZU?7^w7|>:Dg?Q L^婑" ѝҡCk]ͺPM^4r+Aqn[J(|kgX ӧs #KO)6%ˀ:F3 P3F*7l>4-8yDInT Ϟ,g(?qxWiJ{pGeqtLuM^ds!aow B!и@s̰jxi{ODQ{|O =UD*!x{!=}Y\o<8N|S+|\@:II`nH@ob8:x(1ֳNSn4CL3r8mҡ"=*w{X,Xh=C+W=NCx˔of> )vi%Q}b/@NJ6CykC!=äХMFْ,2S;B_gdɤbZE뮍^KϻFim#LЍc8`w?l b>#&.5#J%P9#oC߫PYiVHQfTS'WUǺW`nfR7&chd*1r2r1Jp$3e"̈Y#Z]Ƕ:2`rIo/~2HGe)ӈxաAԌv;b֯\+h7cq?rCM^9Y7vGlJQ*/i0h-Q*=`򫉖vdޜP7 yN+j]oj%XjeHo^)};tВ`5dc<`&;L`kz8i-HRV?b"2f# .whṄϖ dxHC5LMS|k&?z5.ГC (2M9F(Jn h.VP+j'*9D9H 4Nn>ASYAGnu*Vkm~v)LSA+;g ?tF,`d2E } z~f;jG3SzXeJ׊uF#~M=u~P&3u}3,4w/*Tg\\ɺD> $ßx#!mӤuLP鍍 @T)sW|$JâK;36E=1e̝F^v4ك.@'౐}<>F/ӓ]BEtzi_БzW`PE Mݙ%zvy4:>v fhrZxލ( >m?Ohh/}-4L/7gyr'A2-GwL͍&;-{0]ՁTcf Ө@!^ig+O\mJeWlNԋA*Kw= c%YI֮)Nv,c~q_oIK_-hzx6[^3J'fk5$/c!5m쪲\?`}fhXI":Y2\TɧPlOuݫ5m k.?o+s!`({Z&B!M:<(7wYv5͑@_N<Ҫgέyȕj,8gOm,u ߬\*FC5:D .[Ǥ^乼xU}o`]4ONeՕY, ]ᖙh}ٿ\>Va6R fB'`P @( )4%տ>J"_n]B 6m®Gkt%Xf?i-:8Q=P\tLe!'{{?'&5~~MuhYKQ}nc*K%`4J]7&Q0"XKBHr)xڽ%7]WiB3xMJ%,fY*y.@sŚ罾1sEu4R𼫞BČ8D2RISjf@cR;E/RBw0+8@[݋|Nfj(L62H Ð :^K/W;k9ޛGm n$jX)v[n\& Ȝl^+`noa$ P]PJGRi>,1J [|^PImWh9 ^oe3=1 ʀV ɑ%cpA֬~WZ`V,W1)4&t:6_Lq ̹56etNM 4KyM7ێ/{wҎg;UN>ڹ;<" 624)HBDSQG9MxRqV-2ѱãZP ff߁(hDaluVϟ:l]H{Ѹ}7.r׽.Ϝ?$iz@ձAuF:x _7Fq0)F26b [IS_Ƕ=!#v+~C`}ZvA@`9J4 \ZXx? MՕPiXɜCi:F%UK60ŨI ;*^5s{u;*fF_C05kk0ՆxAQ5rFIgJ-ɀ\ҫ%p#GQϨ Ϲy=m#%hyX /7=r;@VI #fwp?js/k3FPd\&K voyp:PS@m} \ kGtjmL/~(1<c| %G`2ބVA]A}nȱqKia9\ryHfejCXH 0:U^]^^{c邃օ|ax{ʦUf][d(33m3%=hk&7%;#J )gxȷDՕ~\EiC/?, G¸L v#I}FQz ̈K VR ~B[.\>{J VLl L<3Ȯ*&ľ_o/GnSFC$tqaS,}Ystꑶz3i CA-$ Qs9w@&V?udif]99r6ڑ1ն 2ogmvzz貄4il,oޟ=}4+i6o!:7Tl\د?nNY+`vO>4Wx۫CLm4 F3_)E1Da˜Xixp•ěB3$MaTaȒ>dYϑ>׷6KC6y(e&]Uk, ZMKoR;A:B)Q ?P\u"ͅY:堏D^x .;_wOUN@XWGjm'GTI Bt6Q[_\ Cȩh\nLuyML;&R'fgfw]0*G$`~%u(k|#C#eVsae\QEr $m]Kd#u(9LGa2<$: Jc=kA;|AKooOy8izjPgCB:Q,f???dtyA/!2ƺnܼ_?n(2HDlbBllR;q; !IE Qv$6/DgT#Ŗ-;٬;?qSTgOCΔtӼR,WUj)[t֐1y7 _$6|}]&WtD꧎im6ym,wL2dlCqSmSx5FW252I_Sz]H{&"51|g2tT.??m= n`IBUk'#]12'c찥ʃWnSQ&,_AC>Y/*iOEv9T1$O#$t#Wy=f؇۷e|j9&~Ә $78Tyʮ{Sfv1wmL" n91RC!˜9$L[My Fl(vځ4їe[t@1 t>۳ۛ3i]7D_bj:Qm" ω'5x|P&n) P_RgӕjV&]6e(\:?n! Zp8h1""5uJhh/0ݳN:Un9榁$b;cy:7w`:4Fd&Tت/#(֕At{a gVK}MЫ#N|/1R. s|OCpD4N@Ϡھv"4c_˲_zvNgh 6ߣ/ꉽKtElJPptmi0I0A6"ɇRsJo I퉳jA1% SacYۿ__Ug XӁi~nc&OQr>Q1Ôʌ 9 acn}nz;r<~ j#ߓ[rCdHluV~l]. Wדek)dcC#BB{!<>w靛%yvzvheR]MοJ t:7ѰBM7_;z=sdC~^AIE\?(?0 jΕbvu[E 7 u.52c^tFGY vGvN跌¡iÛQqA?wfxcҳfa׻/]>xpB^zˁQm\Oi|!)E%T. PMBnmBRʢ2l@r*g vluQg=.3C %owor=|TU d8UQFo*l_M: =m4MaAG7 q!Ǘ~n֏X$ p8*Ɋ̗cŻ}t<2RJM挂zs)klt5-e%uǖXoT? Y8z]o\T'_8Mt^"!9DJ753U5=HTDQ$YU3 I_AMΓms2bSkۿ/&/Z<>)J3Թam)1S՛roΧ\ 8 E(t^tyS Md[d!sht8ŦuS XFjU?1QgVK56N#+wXrP$+gK+"rtCdyLux=eF(bt#Ay//1Qo$\<ɯ~{ws19ՠJu X!DZekh- 1ZZP6`},\dmq:,?N~nh$1.  -C7t)YNj82H%#(6o: 1Y5T@$ջ&|0v9ao\vlf:1l]8&C;~+=S8P3s~B.7k)=LzO og{#C2B E54cFͻrO[݌ph!F$&D*< ~?b _(JmDZ%!zR 2`l$_HAa>#=u\BzK[m'UЖm嬜xB nweunF }#r$ 1۩a aGfaiy WY&[@ʺ:Y ﵱUXz'^OG3Ek(]^jݫpZm:NqT7O\[i~.#g!52ɺaȃk AgaK:Z]֕t"s C|vy{sE=[UG2B x=&v[:Wtnwomr#*=w;Y'*}F^|#’#`Ɗ $0S&Z/h&k;Mlctdpzn67v\Ā>Ե9!g2)v\¼!t0qϧVOc1YPd=Vn<nNۣ6hq^ a$e;:rw} hF5k? qQ;:okW'lz:ak9ckjm:2Ep=n:ڷ<&GW[:e, }zere^~ w_#}FVP4\ UOh348W/6hhOK^ihmnB*z(_fNqXciPz?6FL@I.n}:-=qhz=otpM9ݵb1kŲ>T$suJ0bTǡ&8~unޮ3*4RiP6remޟߡL r7d*&;<L[?0閏똈Idb^_2kom46|}wq[A ~>NӒ$[+0sE?l,P-b<>0X%ì?! 7?mn>vuPUnYیmӯ1>M]2(d/"Zir |Vf'2mPl+ _ -V1xZ2h x9~u)<;צ}s#$\L):?)d+Zt0kHj6ӎ4}YÑk.pqZMkm$nǗo|Hz㎡9FA48")>oVX9nywOn9G|!zT}22ZǭfY=H?j8=Xr%y7BTq.#+ef! 6YHI~D1Smn;~jG\ì * wBmwn6H"=\._ wZV,w}N}Fm:_~G+-]v=Г 2H8+R`...O9$ ?c4^ >1{W5o/6w{r{cNn9 wŵhSD,NdP9_П^n6&(7$Ei4"]0*GB]LdM'kBNc5|QԡzI/%!.VІ Kes,jG4IsDj46? gЀf ^~Xmgm,K=BP@{!砄MDH(  7%iԻ'CAҋNt Lg(gdӨ<{! `]A@T'anlOBNӗlHn% 2څ1lF9ˀ| .)EӐ"2dPA.O6<r;4tOڒZ`q?vm5,ay{>l6߾n] 5Տh@c'97p+-ɲgwc~^ߞedYtU) HD$')A^vvB5(O_%!aQ Jb Ko֫ e<?s_94oFѦrጣmbm&>HNYK<+ ۇz`ĝ4}%ΙA-#jZ@xY G,м T|4B ߶V? 2K>8ݐa(&ۧ03zu Lw hnB8- ;LsՏB 9@̢oea Lޛ) 0h aL˵a 8$YطCcm:=g+Yp33 q`HYq4)65u?U}|g+c׏]&'q;r o Rܺ]l+4yc'S}W\TG,u)kO2L;)LB^tX>4LH*lk=Z-so;] c#jqZ@]ɋS1DqfSy= _oלzezF1#eP-& -[;[.6Lv{59|jV 7ߟ2Yn#W0Ghoj2U))v"V( B㹭nv'q x!凃m~fz=}R[sX72L.{ޯY.|hoLX,x03 ѬLjVhK ڳ$gGuvjҪ=Q+eȑ3:ŗ_wUPE~-wCY?o76{<>j(Y[L$kg!Wv舏ֽ#?^F-Nު˓u0'֌ B[@w-s#*am"З"š x7>cCKS|ZDI=&iP0|rׯjQKM D fmEw@\Wa  ۱e[ aThW&XN{%_)ٳ79Gz']@YhXZ1ā/vSuKfj/<Ә ̅vo\aNa=FIgr_~NVunۓ_:s"({2V~ٜ\f!4uHQs/nŘ~;ѳS[v)o >0/l}kP\$+0gn5$ M:)UCW])i*U`c:zn#$1 QƲ q»p^T?Yf譯[e7h7RXcSGYo?e'7 <|a !>#t2NWҍwW=ibտ/`oRד(9DZGh|Fz-9se]J7d2}8{aYWW_mq܇S[]3uY"_mZ>J 9+dv!,AOAYk <5WTr  L~CnGVaޒ>/ƸݼۡE_P[:<B^JtaNUNh}!Iid`cZ":43V xH_n`=A[@rut\B&6o~k5<6dT_588p'~Xn)Yx nhݷ 4ݝ&=0ᥨ|%ؑJ O:h3 Bm)kG9-{нO"|ġSUyX:BnKrNz}g2#aWp zUiLAO*D=2>]G/&Jơ>7ǘZDE5"_ai?ޮ|>Su{-Z a'P.1lfER rg}gfi~EiZZ #q@2`Շc|3iQow-Nq=)8౤oB#~ÀOp!t(<)Dc舾L'rmSq j#vE_/9E;qz73[klK-#PoMc_׮ȳ܅V^ z<Ҷ <̮x rUƘ\ޢ_ /S% Tk^7d\odCv"]Hkv 6v1%@|fe mҌ.u+=OH|P"i2iQ[<Ӎ^P ;Cq 0\&.FԶ!h/=uMn[4d.!HC 5s>l5Pszԋz%L{ΥQ;85R1G&Jt-*Fs[I>ًoOB$)~=l`F!:OOcp|m[& $Qir8D 0G%pVD躿;:ϵSR` /U&R@w| <hFCUh /#YȧT3(uVa|IٮV.mߙQ)o#Ac<컷V/q.d69{[ 8f`uPhIˮ$2+K }GI=V&AoiYC>zU<{T`[ZD݊5RNm] NlXSR /ЌAq9$p{4 ۦ=drz3;.L1cM!NJz0ܿ\\*c=h >AGP!_DVi\W~i)LH(>Gx)tY-ClV~='bJވFjFI6C; rG ?ОsAqH'$&n]l *\ݮ~ݧ~"OZz\f"n l vlO>:T_˱m4C08= k:qD5arLi(dN!wNc#&_N~PvQ"Lz Cz)M)ȋLyZ^ A7?|3Jd'l6DlĠ0MrLWm?_Jz+uVHEC_Gh+BJS>ZAW@q9m<v>j@=!Ivmf"*߭ެhr0-[ct!yO?T-Z܍~=@D:'Dt?"u Z-k(r:fe=+<,/|Ava>y0Ν!B"6gx3dBd&: .tCw e Bn 2UW\i0vȰ7)ZUẠ Cv/Ջޞy}Gz *>:Qrk()2c~E4b,9o'ڊb4(SMSn6=WRzyaiPt ׯ]ۻm%ڥ)#B I̱iNjͧ9*AߘUtoSW_]Y$lCvC0Bzr1r@ ![wP ]BśƦ=쥌Up41Cкe6)bi` NYlw ,mxqPjgy8pst"]իgiL~ X.XTڢ7א_ڌ.|ا̠gE:lVPepG^2؞+NRK͆%ύ.jFHױ=TmrASm4[WP9D*zÚW4L":3qL9AioL6*@JE $qXH'7YgstHS!B]ul#$!I1tmy"+f!FTt`I>ũPqFIҀRیLܶ(6৑?CSe,:BPML-QBZ}/JDwI,8(!bʩ@ATh%OuBX ./GEaL|MDFAT(ub71IfI8]bv}$Y ؍3eVf-639'b _觩i = G-.Vl;r<EM nK{s{%vwTP`=6@nq)kuY,,pj-~N…PDVHw=F2m T\9~Pd7RE M m3+'4A@ >k@@S:tй6ۜY?뿄PGrMZJ'}XTTTiLz~Lǚu^7"iC2+~}p!e}g0!g(Փ&Lav5_nά+%5t36˶qqD 4z$gޛӯbeԎfA)Ȱ[tfބ_(|`${VZX@L̰b\g6ȸ='I&+4NM6xI)tHr17g72ϯ6MH& :N?&rP0Gi{GrK>NOY#f4.ԡ]W&ۆ~Xov NG[?.4-m 08j ½͗-HOa0(SXgĴH4ng$vjTqg 374eeG1/*xY^N9A?H1[BK1A vukѤ = Zd꼞ݓ1D*p(&n[z@YKjë~C;G4B*N0>zѯǴ5zJMN'kȅHd\Ad*ZJ}(Sӵ3n+̃ [؜lPznSqV!m/.<~ NdYK7:?`wA!ۧb|c6<C!;Ӝد:FA S?< t$PRH׵k9}跻] >gEMp 6[sgϦ<ɸDujpцE$i݈h JTi04ŊYBiFb<Ƚ3Ai`\\tm BRJ d4l߯)wL8wYpɼr `Ț#*]ŏmW^e/1y^oSE9aTITDBr*o[&vLZ(:z 1k,;6ͭov?e.q63`8' )A3Q$a#5'vՃʾ?ePx}},0.7/YǵFnlR]@/aGWRЗ4~6rXj w釛ww z*9BTxWmL!a*sHps}XZjF g*V@/1knguSvq@;xD'lY!#X~"^^͡\AKƲѡ3)%ZFUHš(,rY)s8&KlPDysZ-7\jdScy-#Z"Pб|N `=znnqPG3=q dTE6!@mQe,A`u~w48Upd,l 9Wtv!J+$ {,kb D{1{bnEߕ/{KHf2ՒLtڻ8LnǚFTyCtVxʎ |XD7D#ZpZxuJ^UTjPB([#֔GJ<(%wIlR:BQh^U0pR j Rq_F({ =y?_ w}V-7еރ$%5GE E#{yz_CaP"X.1z&ZmAqv2dKOMQSgzO_.YAhg/9XA'BMc`}8w7#ѧ>PiT0cTAϯXVf?evd }@\S8«F,uۡiN9o{ןvw{4vR!p<ɯTxyXͭ~<$JѲrF2iAo-(n?=?>pew +f6LѹI]I6 X77V ?̡S[/fZe uԙA-Y?1ulg 9 oF;b-ƯtRS<ϵ:~ww2ZlP_ 2V `Vo_n.j`~j_m#GHAC+ &_Nq`vN)B)!izC2 i~SeXqBAn1!-Q}QZ]*aJθТ2HԊlʯ^}9[G749CI}_^q[_TnhuFaћF`=-0cGn~41mFQ嘛`-檯f7L_ "iPK r'E4ںɵU@f#Eo KU7Q mC 6/ã>DE0.N4n5~u9uiV~&؟qP0R,:ߜҗ j̊daDEpY#wFϲE}*N^vmh~'y~# ;F@1u_mtn/s3Ʒ{/2̰UYlZ(f6K 4GLZl KնOi&:pqm  we+xɇ4 \ި)0viWia}K4̏-] CBrhi4tYQձ޲$,p ڸ 8&\4R̷MWj/›HbJN My\8em]汄0وɩN$]|̘w <*h\B w;FjɗfNXdMWSC̈́^HTS,8C6~u(2_Ev#؆^(rXίWQ4h9 mBY82Ocfɬ٪a]2ԆV`ұȮ[nqv=AY_Jiuܘzm _n(kl9Um~$ᙲj /p̲ k_`-ʛ$Hl8jVY":}jDQHh ʶMEn{,q3 JbtGj PG%n|ԫ YW\4ri>ŞVuiw,4[hi/2E1< BB9(RFG0 *.t*xRa?vۚz ^?ErS ,yFI ܾ`G5_}RHu8vs(]I;ɣs\e Uhs避}5B=bz󤽛,/w2/9]`Z7#vzo[n/!4/{ɮfdrcQHs_A;,_Nn¬Vn~(C%g0Pxܚi= f uȎuF:ݧ˅ZTA@BsD'//MZ2na@hu%^sMO4mn82 ?fů8[η=$T,'E?hCNga N-zv%(#.Udt'Mim9$ S~n"8t)x~DY'^}M8Ahg䙓 H['nMsLiל͊#h~+g{>]wZDG"i*X C}=|UuoҴ'? 4@2p%@UW'L襎Ʉ=۷ּفnYF.j2-8 b兩rlYuqs r||E7,tyq:hj3 ;$0Y;3+Ih͛O{莏'4 M.2%(oEaShz~sqͯB_dp{;R[gȦt*bT%t2ۿG3~|FqOŊ;$9A0>fMrKYϰkT0?̹Rpd/nĥWT&28Q;! rcF25Ho֑q"fo1MNb:19U &|6+RG07a~#ۡXBTmPEuYET#h جHMoC>,u:Dn֤B Yo/ !$u!@$$cR 1ۤ\jz?~[1;ERYko?rPåȘj`#5ěVlY(g>,;x**@I>}=]d+,* 0giZcd?YJ +r` TY\풧1 W;G! :Z~a[A/5\jbQ~-l< >;ɟ..Nօźw&qWw5 ټؤ&OkVz;\4za!Dltk  *ONH0Yrnq[q/B4dږuqc&4API|1x7hTT;2tAfyJT6wdHnDw3^(,D%*Ɂ*^fE4Mp˷:䔎qdXv ~ڻ4,7Bf,yĢhi[]Af9'țm>/xXo ~C@ֶq >~itUӅ޿N?],SN3G'lI婢k8Q"2уM](zU9{HcI_X'FOqzgY&#O0,2h{<}> #LM^]YcգPj7 yc_ETRQ8VqwL:=Bo`ެS4HQƝWjM#YHH CJZ\Z¯.EZwg[jne lvĄOU\V {7n %yaׅBk=N7f i'=W߳o/77jKQ^Bg> ڹ)%qm<%kcU#2"TIxۣ߫#], ''2UgxL ~9r1f&b;kzT {SEo&& f:P= _SlY!L ;SMZŊʀ@jyRvޝnFqg `קև d{ؿ?_,+# t$FODݍZ(XҸ>7eWatc:z b q=NLBd8u []\ ;:'"4n0Nhn`,` &QxS<RkGyIF4 /}Tl&)?L_<%Y4 R{3wzO5Lej:vz]QHJBF<#EgjxOȶwN=U!1guHYRaT,dI s #x-S|(L: ]P]N)vAF%t-t3Sv%Þ,*8K2Q4)w^V#{gU{[j̟no,-'6TSU,i611h+%l|ZSWk7{je)[mP0>^75DER.&* ݕ3qC.ttrVہ!G[YEXnB#˳6Kqz0BKͩ9򂢶ȇnǬ? r:Rj;fbF#!ZzE? ɔ"uu)p|)\f@tb}Gԩ  a×Q15N2p8aQޅ=z 9J}c@nn]``7 凟o#r8QA>! jiϒV|񸹹aaỸJP#7S{ba:KG\2 F۳|+&a4y9 UƸɭ.׭"2c81 ozo{6G_UhW'|΃[gVniyj(܂4!Ocۤ}'_/_phu=/(f4 b[M,Lqo;5+˜lN- D+C|cFFSq)]mIS'5nGˢM%3`^j6T in&QOLkvwcdJ-xyؗVD ο~|LN -3vẂ?8y‚NqF.uo@/C򋫤h-Ƨ2fHBܭfW5PLk \uU(eg%c[WGD09_;xN6Qf{qIqmLY HX!hDi\Os-#7^]pK|6zۀxAB=WϬWG}P ##pvP!2*lUxʽ9$#n'"HE9WG0*OAFjcje"|`=O@]t:Tmh7 =-|{dDz9LgX&Gs}k:&N\5~xLMkb%kİ&r4A$M`kl3_RROFo NHTn3 ¨6N6-ӭ=3 kӽ] ||?EGх~'v[ˋۋEN u}Ӵ:Ad*h-ZKv~Z>(L%uh1YyhhjdzRBv9P޼_By_OF~Ձ#ɒBp苢R[1AW\>=_fJ׋_I5ɇ(NL3K6v}g>5j03Ec";i?ySeaQ֮Pfa'Cu=ZP4ZՕ4/]a{әB]hL-굩xMTr%nz&Pu0R#K24Nծ  ;XzE y5'׸?VmC1z jgsktu"Bwa@G'\CN~GץhC)<6} ?mn~x0鄂uΊ#kSv́ ܷ ?ޠ7w*uv61gmuP\\XvLKfK"XmR=}:=B)ʊ'ݩQV[0nރ0IHCDBh!Zif[ڐHgEԇ^w5*ҝ3eZ#b\)ܾ Nu*شP&QmƼ Vuٸ= gynGF)榙wk@tSIXsSt<^/'iwRƞ3%akz"9b_ޚχ Y ,I~Ta{uf,]|`2 \y#`ɷO`Q}qrhn-$}E'E``eǭocwGML [9꽐)vvp[8ZI~ ej;v.S7_hk[dߧVQzdCjc?L ex[Y$Xu_F:8w:2&:f`UpPصea׍tϐC+iu!յ> $'w\ i%A9&h`z٫䜳}z6^\ᡬз_=ͤsP_}-r5mfέn{)ѐɧ\ݼWިOVp#֣fJB񪥆 )"X~]I5PNbAkFHkȟ-³պU/Oއa~^w7s7c=7ʝ6W_цP'@ M@bd !3~\8F矟*A:A{0FuC AMr IN_ qx FH?Pf"h_vƛݗÞO\ۭ¼tFƔ4g*cmĜLf)'[2;xK3̩'ӐϖRap ?2n-x+A+;0a5kw{\Xg+sCm$xce]z(P֔1yqaUA~eXv?׾NbuN.8 w41N2B';&".V{gkӟ\2p#L^ҙlj-'YJ7YWf*K: bY?}wTNg_:h 3gW6d΃ N̽v4xh,@hX5w5ϵwp D %*gq0XIUJiwC9Sɞ$[b{ξGdܘ'$;*5Z['P314,{y% ;OKFRsy!rt̃v';Gj"JZy ѱ[ms#r:M\F 8x7_L%>6 آ <(0kQمBY>"%nq":> &Ӵi. ;QĆ6K>A[( 2Bڌ'" {Q?v8p(] rS&ӫ֠kgOG>bn &,^ZIS֛V>~<1 3Vu#ԦR vœȼl-36kfMa@e!CfY&5践

RsE8kolcZF$2.ZPyBa% .M{ad;9 m65.ļgaik{7x.uNJeY$u ޯ T\[OKJ-5qQs](v- KvP1QAGG愤$u7x~,)Zv_ƇL Yxx'Hz }5zh)Cρ)DJֈWgx;ݏV;$p 84?=W(IwYnagGDSqT29UM0xFiieE]ɹ?=y(AbK/Lw7gO`Fx ! \0<3U #Y0K"%x-Dk4ȭOI1<†B1y'4&&ѵs۱ͶV9l{[ j0AP@ IR/;gDuG%} C8Fv-cXD9*oNsH EG.$:Ht`ZO( -O@ZQ{ZEt6Bg9^M2zSǾ=a(X!./kU?qGj M؟LŅdf`dg>VzLݎ_Dx#Ϩ뿄)y$8޲F)V]{5ꍻi =tG@;916Npf!NlnH!B蛔[EɊ0Kא|O 6 |ꘓ傺ZR1|wd2He+Td(_gJWk M4iuJن<f&iCdLDEO Z=vǘDwfxI*r_~by[mӆ%Y`nִ# ̉on׍rT:,MAgc}F㡷gQ'~N}`NWVȘk[rv¸9)xH1APT'$ vp|q?Y.(kO;a⍶R }zOo"Wci[o0G΅B~ɱ#+h=,2#LO sPpv ?޾0'A^ui) GBGO׬EU\&)@*H֦g2<04W9]V'o>=§_xvMg6hq&D7͏G:uaM)jGf~ 2}PPbœB!:`{b1@7L2:c+8nr￾qFapcqV e9AWmUhf:qbtYQEɂӲh(ì& v2>b??\%PiFkuѯ-*n0^d*#=yFѾq0 ՟+q$3 mkV2ǻȝ^(.d"g?m>oCZIxcUJ׽7jh d^ҫDiWۓl'8x[;b2- r}7SLٷ7͒1/io7gx\GNw6vSsZdkY^mOk0ubxƌFEٍb_DTpf)gq=uw:Y_FYX|OQi/SY6 ;K!dyCwn~]_ V$7EP%E Te:tO+qO3H^l14RQ0)5Lv'P<Ċ;η;]qpiy@N'rN?U3 zxBnu0 E3]j3Ad>yü h1|IZfCOOQ9jkQ]"/'7ߺAz^X,dR#?0Ŗ|} F{kW2Rə~L q~-VeFɲow}ȣlmH&],?//>o7~Fl[o/d̀{!1"ʊ!BP/^LZQY{o? @R:E>h ,?0X|(Rr 7~%OaKi{,݆JB;gbĵË A1f(4na@sfD:~7!, F !|(~'47*#,WBe^~ezisؐ1WH8dB%HL QOs &Ϗ&A؃ժsT"w7 ONKq׳N&_Mm #_bHϚIw8Z_aϾzv 8Aq:һqj] iErw*9q/ya+{Y&Acv*$2u٩RCCۉ̰@&^,8@A`S}:]/;uҤ7zٹlځeMi9+đYEzwx@QE:gI{0&(v(Bk]GݴV;?5S7O2_I Ԧ GYOTtU&k* z9Z %2XY[bB%Uוe0G&îMǃN4ɦC]` yU=6xtOwcaݷ]๜l[1bq&$]hd6 wzkDTv~u}"+hga d!bF R0z?f\L\)`Lz*jQX[AWo/ˣvhYrJ* ї6Oa 0Mz ayqHmhrFpbBu*4hnx6nl|ٝªL#g yd_8 05G;?l[H br\#=Ψ]/K7wm6[C0͗y]6+--g}+2eǐO_P)h`+{|~~F cF`7P˪9'= ;IXR8 l*1 ON6HJK*0cwt~x-B66.=0^&nme +t2C:nԇ͕H M拫Uo+,phe`F# ̿I5\JQmU3ڥS3"AAxb"n1'ԋ/0/f.7N2̃G{@/p:IP~G a79)F[!@~ .Y瑾 wy?mYg64R&^V*:#^q&mGn =-Pb";2=Vo/^hK-\s?A/H!$HodPS;Χo:p ؟{>ke@\f?m)5&1UȩKaPjd>8 )|}J äop=sjgb*׉@ۻȴMq@h%sw0sJ턖F0PCGlies#b+e_|)NIp~l:m4CľK۳,(_~`͑25BAD@45{.+*i$6`܌ Ӵu-uֱNht?:-?ۼI' mc- P @N ŇK'=KyHBXR-z%_NQq 3Vu>%B@h,cхw!gOwMϳm4k2C HrVݻ3(jZFNK4*^B +R fWP86G[L`Wȸ%s*WX-HS| 0a}]!~LYTfP{Awչٝ,&yT92Zy^EB7k`iǰ_5Z|ڀ&TF~pn\^Ha {͓ڡC6pEiVP_',s//?|B+%=ֶyM$f\, a51'$X!&wByh 7-q/|ڬ2~짨1m׷[) 7#"d^۽xg6(Put˂wH&,%r:^ӺD B\T6VOIas28 ȇA1䟬,-WO=,GDc;m8|v&5^vhf4|&эbkqMVOSշMX ۙZ(LZ0wSjIm{f~gn>><6s60y[qB-$Ζb\2:Q'T^s\g2y}:e_Z;IͯNSdcOO$k8M7 94{^cXtz ;IuFwQΒ)qX1֛k>!Mȿ+g9""sGg:[4ɅsEHEa7{wDHqSj^[,s/8 *f2¡BsL&coeuZ3~؛x ?2$HʹrJٻ6{3ϑ# r4(L" k %cXM I@dϿAhfׯF-q m-?{SP-An|tcbw5FG 2Ļ_w ܢSCwgi| )86,N\8, @aRB=0ЅL6)jAx-j0n>0uMYyXd$up xh+xE}j m MC Y8mj1|9Ds<$P[-(#L i6pu+]hH ~Sn{*{c|Z܎-IG8&ఞqҁ.ZFg/TтkgDdhfO lۓ< b .BYc<6/`'7_7k p[Ў R[.tP%ِ*!+iKww,K,T9BHݬ#lT,gψ;f4&]u2U{?<uM-2/p] ilr`RZͻFi\sKB ;40]fXpl5]Ø?nCBr#syӚm7FB=!jQz,e|Z4}3[( §p-ʧ8Y]26ol!~e,CpY5 u. B'vPZQ΋K{ۧ:ֵ94sʢ4 DVxgŒQ BӕS?*k9I_2}z^|HRGpI+H\tG 4LCN\R J=CJzuErFT,kCمX{Fc QO.2mREyqD@xԡR+ٺrDZgvnv\Wvbԁv)C} O1Q8p?Hq.ÖvP>lt8zkϣޙΥpi~Js)qo9O'r1"Λ=Qqiju֌Z&!]QlӰywLo̓a[&ڄhcQ,9@-*!_巯O0Lޑ&'V&w9&Xfm訶3Ej vhgi lZD!{YRW]t/Z_h0}iO4_ln>ֳo2T(L z%Rh~"zכG> &hh@g\.1?`\c G.vg -36NT{B l!<՜bfl/!JH녀ކU~·27-ъC~ ; UdKFrLh m՝$;xR;^JAZkuf?#)YD RN#9W¤еqd0&+w_\X^BgBIqv.UCsa+ݓ *,DT̩5$AzfR,v:EuPnX돗}C [7]Ky6wI]EZxɝWxG-!F.d;۶CoV /Zo)vtMCң0E6ޭ~]`#vp7ݭ)I twd]e.UFĵBeELe8?}fc&v$Ij u`zk!; ../OIPZo|'C6JfN9D]W?^Ƞ騛K'OUfcl*b*A;#} c")@r vccj1͵oxSNF`D&އI0+xb)z댯En{ՠxy&Đ2!ь&e=ewy~&g(.}=S7&r*GT<gE7gLPd`X66(NVG:#Z"0TKa#[k 8=ɷO)nAa^+Fr(buеMw[\ {ލj4Џ]y /  |mVdDϔf@P :) 69HsGrQ3>;6+F!͟l*ƷBLdz㙲aLj؇mNx|.W+ǎ>eHW!fiڝ-,<ifQޣBP5cUo{8Vvt@?om(}WYGvb=RW1BfVm_f2uB;n6_N++p_ۢ:n!D0@D)E7fNu$2#O%HzbOE(glSsd!r]{Bie,r bhpwa7xۥ![ T4-:6me\umۛthykѰ`c5}CS]>9*}l{㲛 q̜]7p|Ը~v <v`TkײwBve]-LTV!#eo@GO/r =SL> PA-)c ֦g򓇼 .ru﬛7szdR8mw{ɮV_<xa USL2AVjP1il~T^]fx[OuBVoU$qn8<%5ttxGL!DHZ/#6et+b{<b8WfzIT6Bm7@PZ]ٰɿ=Ї]TABRB8S6ڕ\}ӭ́fo|1( 51Dͣj(Yc@@a +rl/kcZho0<ɮ&c)ÆCX=29 dNk۞r}#4n,Ur\?ť!Nj !XT_.2U`c U/^74hFE>Wr K!d|ahftzC|44 =~xPSe_Q+ӈޏkyu43mndvpg>#+'19*?Xwi9jG,H'CQA+Ezׯ3q/ KMs9-209 ULoKf E<~cG#Z=Nӡыy$n-iFݝW"Olnm.ե4-h^oT`u;=oM7cMnbdeb͎\4h3Zx}+7rw3L2Ӿjqݍnlڑ?6nzQ6|wS{^47EI_=V,kQeӣ/O%>+?$Pwq g5۶ ;uGs3۔WOh߆|o#ݻNJڛLd(Y)iUtV`;{MG֑ 0JE涕Q/T:>"i=}֩IF=ўJ۫%!֥`C{n{6Qt-a|x2feҪ1D'~ږ.:Nߝhp8E=ű^OKTcPh*t`;t8۠b-̣/~+8pX?~$Nm}!ԥj+D.2ucv>~Q*t -"I_)N px9ҚvZ<~t;0'1hF^3VM=Q-ZO/A6&G0 =PDnv}3"7N~Y/I/d[qݜ.[fZ/jQd5~=D fgz(K2ʴa YbG P0,efeHh;*<F:n} /nZCH):fٯO[J{q6Ӗ"i)AR(wGfL&0{qaIQzmPv ƵNk_:;%#Q)NDa L6zΨǛaLGI= E\9aQH LV?no>l\Wʌ#^ 6y,̺{BkEVO MQ nhCB#)U![Sc?X)it }B87M)$oW?$M]}v6poϞz ԑ[N>ƌ,۾b`1Fgm,"FO-ԭ!>^¥^bZ}22יeOxh֒PĮ)@!=d~|Tm^[Z3^ڞl4Qq`ɨ.Ag[fA.,.:Hxcy/7W7,>B}.b&MI8vBr64iFszr'gn`2[ ^˳EȚnO-ehC=l4g:~l? }Voj~§7^>ފ(qm MkO "sS3 @K'HYK}@nMV^`Mnu\aأnIu#cpyS&o3<}YN|jԠs\\1No?A=x:-0l0?XT'`ϟLC!]C44./YFsc%2}N /7_連cm3l1LJ "; 5Ƀ[8oC»vuvٝF_(v "mpMef1+̊,#FJssAJ~~x@=֚& 2N Bt\ uyo}lo]O .L#?;a879b] D;тCՎ z''95E iNXgaڱh=ZдC9xTXLB p\j;wk2}Еh=@(fp28C:[L=@vD|k(̎x$-+մtRLv@F-`z+PxIu=REQ[4zK*!+.nKKC]q(]4{'G,.HA1E˅YAEoZu x#m|}W~A81}S K {'*×NS3.ȤnML{^!()mO P]@'Z6`3 A( J fô)&dh$BdY &A;}n}]Vf-69l!OK[9&8E6zޚΧLS*8if9-umLPsO;\~~RZǗ}@F.=M(=݋^Em4 Sg$g%n*^od@F 2CDY_zh55d3]n_s+f8i-Lzrl/ p 6fcEeJf]k2>_n>1{ȍCC-~V1b8jeuZ}x2•riR8U!Ws:qƝ%OMq<ZQ3iͰz5b*_U.$$g3)*LO >=e9N?*ˤ-6c@i昽|e9%gƈwV#@`h8B Bl)6 `i׷_/?L#Q zx ExO;9-Ni+=ф ۬ GN˜ɊUPnqwmI+0)rE xVK@1te8cAe osF g|Nq~ʞ5ِ8 SDnɶzmeeմyM׹Wj# imys)c/Cp#Vߴ#z~shswk[1:qȐ~GO(%A|g5"QQpd_w=s uI'?ԡs! D%İV 3a`B[TPdwfs*d25/\胍 /&f[I`~T=câqo%`r6ؗi/<SO$aG* sC!)s=y;}0uDDtr =umNr~"GtH5ڡPihICk_u2x5+צ0B0+.'۰:g.,I`o0fSA$ˌÕ>7rƫ ?!tκw3î=x^<恌sF0o־˕LZP3=M3zѐNYS34~؃41)D ܲ_Z{'@5wJ s &C7aH!_l/n)}]h8UFޗjCKvd)_L(vN覑y, ͜3ˊ+T79?ʶtNHvFf=ZKg7hO'eCԳ7?Bya,1 ɴ_F UV eeAٳCciV9">Z7"1i]\zcֵ֔,xO 3: %[myުc ~$""|k6:Far 9C4NAXPdrJkib.S]JĉGoɐ.QƲge>[ܵ/t 3Ҡk-Q /1(:C H=BLkF cBz[ {Ck/$WxC&kHh:fɊk2#O[ }ϰ4{#8GԄN־H:v!c-tum7u8!9Awi >o/0APv=EF!Fsd&eR;q{vt߼~I6b~':7L,p6T9{q 5^.;؇ɤw_~}tr`d T( -jIO[_ooϞD^y.CVSG'bfKQ4z56> Zq}%d )5AZޭ\`.Z/y3޳1,(A8"{8킎g[{^ zTN傭ހ`19P9[2n4Bt:hg;$"[y3ptzlyd: Zk.q`%[82sC- z#m/ `xGCSt2rJ넥ڦj:ĥϡ\2>t0˜'4P1~X=w!~AsC587+T[ϟ^އwt7z*"NЅ>]h_z&W8I@| aؽ+ nИէ^qb?;ZPwF 3lj[Y[n~\:~ D=YQX<BŢj;|۽|wVnwK1\d2"zGŭ632*b5&g&ǻ;[ӷAOWO˨p~A_K%;{HbS3NtC^{I$e[N} @Ӱ}~]hR!sZ̼gWɇauEDxr2:P#bm~zҶ39BuEy''Y/`Ň$L=Nb_ >GN6utK/JqM0XT"7avB5-4ښ^]/"ѹ0EGBXa MV\bx| h$-FGKt{L.4)ІumbokEw:їn a|땼x4Ui+Fr޳BiByKHlBǨX0~un];RsΗ8: f)յ nV4ąYge@ү{}=!tq-L`_Ѳ&u}ZSDlnmnu"+bc6/4$e1- GfR.S':ΙPm(yF:k>y\|J=vH$ O3/:75tkwQK(oљMvc`}{ˈI .l~THOwb+(OЫ"#c=n[Oe"kJ2N+Zqc_c7'to_~TFQ hm3!x[fVhWbn{]F}y##'98e?mn< +KUaebh刁pᆋM^ӓ*I9 M ײkۏg m,4*TnD8EQX^K@n:]wT\BK׏|;.3)L8# _J"-}=P ӧIe<6} nÎ]` ă]St7a3U`yDcU|QriqPhi@vpLlucBqw `.c#ÿcWNbpnLĞ)L'Ouf9i"CWǒ5]{aД:[ Ή~EΦS ^74WhH2{Ϡc0a@U~ v 3I|uCP9qrEOvDcm$"t_Cy|$f{Ku쫬ۺ3ZaBf lB;>>4a'orf*&&wm8w4fɳ#F?0:T_VӁac{nwÀZ3}(ZUqI;{Yh'&CC#󤍚0-=`a'YAsMPo̸ބ8muO5Z菻 e镣J Lc@'_k'eb5+7>F]hn]/6#-׾BRt"[Yh75~' 0 د XtEu#;(-I>?|-w.ph e]3`Sa28ne ٱꕶZ:W uڴ݀p꘰F1-7kԹ IW{yx[!G]\S\SȪp@kjm+XnV/zFiH 4ǔjd/OP'|v#,9(B2\-9FoP= xIHt/Lt,лU}&lInBZv69OnUޝ -QF+)zZ~^P y"Vc6 !!W{֝_)]\ < |Mq͕24:M`ngw_֕JrnXj)PޠT(0 )0[X)B:lIquԎ.|A_g,GP k7Tjڔt9Tޞ .yy:شh,]a1L,CTqщMAS0ASd:{V\nҫ={>ugr Q_D_γ@Y}U9'A> C+g?^n؞Cf Hֵ} wzag a=3s5ws^;Xm?Jn n,yΜdFa`C6).&te{}}~a 8.3-e>/ жXQyy~NƘs2˜m"t(ks_?篸w3 yN$j,sJb`yd] SXu(F5q:%]Gj͗~t0n)$-6裞Cc1"@eЍ# ao ?o׳/!3 0K:+omNnމs.2M;.}Nn_8fAj,ꚣj+*Wѯ{3}I˃ZH]^q%1P)hiC Q~o RbŦ3VDzwl/# "Ao{x* eso_~9{KJq:n?0m]]HsXB3@:XctROWՊJI(0e: ,!pƮ_^.L#GuTD`I~nVF"a굃3FoGxnVsY}' -tx%?m m*7z!%q!c&5Y_lZfjMH GZg`q7)rEG's0Z?k|Ճ{_f6N+Aj#ϣh fR:Do3yyĽ,"TAn@m:3/؆䑘oϻz*/uWq~RH . '׿-dH?~iӱfgP,k%ȚvpStWƢ 5:AE(""cSrjЅm6&44vlПW#uBym= - Bøԧ $8dbr}Bӆ=TMMet=< [{: ˻ߑfx}Z#`ʲ woh u.kWuzL;tw5cgZz-^֛gq6= rVI}/Ƈ2iwz.78=E3,}ć.Rt$QS<ǒLc; ^;" _OϊaKj)o? e{+cjx;vLD[|T] !3Hڒ9+WHlއjTLH5M)uM:)>|Y$=3=qKBNl`CZ.B}D-˰3=m(C4 .O,lSD׌v=Les#9[i*&WZr0 Ah8:XdǴ ʵ?l×JUz Tfԥ2u,NT]Ex1~]yۡ.1GhiiOΞo#êP7]q Q(J/|lM2heTvaPɫ0Y!Oi͏'b >8> Hq3 ڎ+=;rq{H/vkc dT(J/'F7#z0xһ rБV%,FV8;BZ[Lu/K u#\iΊ[NZJ ,\`\ܾƧ݇6 <Ѧ}Ms)nƐv\u&)^3 l=K!X' emA+=3SUTC^;қe .7_tPZ4=|漉ܘ%lP\LJVl\|{BYL5- 橫d-lXn_<<)N؉/tbVgRg:khv)YBǹQr-,ݍ5kH?ڝbPП+B5K؄lenM8j7IGmp$Trh%MCz~Q0 $2A%:dYC}$QT_67˰߁ts-F8+h#tܤV'l%>+5n',V}4)5s"ew}RgVcȨVqooI;䒅Y[+Y)Dd ##_-jWWA(24AP`{,#>*Z`*fb(,x=}oHlGuCpMG8o>m2ytȦt[`}Ro9}u]#Ǎ采f;hz@K4 vG :\iƥ^YQZY{eKShY-9 $*B_IՌYlOz\ڿ>mI|+Թo<=2B̘Wvq!iq~svi>dC7&QdN˝tD-sBC0I^@HNxRjx_ܧ=ط6N*jK?Hffۍ,GgT(ad5͂<!H5:CRX$k p {X/Trn7_-w5]޿{T!uK£*iM-T{P~h|n5m3Y>.SBw2q{mVbbvucnXQƂe'F^f>@sdjeg fˌ]'jV> E?I_dj0]Zm yF 3"=D6lP jZ[jY7 ڽtFJ|QXjivPGɠ(n؏4-Ϧ_edH$$fSƍ;^َr/4yzk#eBecH$}lfľ7Tٛ)r1 3/=r$ٶ&8:Pҗ UQ3tFĹ93:-HK1 @5FjШi:XoY'q"#2j"{Z@Rdv Z֜$? ߿\n޿9BQ _NRb;̡WBfiWM2.LQ\ҩWtI*2(ڎtw6m77 3-ᜁ"GDix|*<*";L:_/P'/t%瑤R%Sxc|X|-Jnb'Vg6u3ituр(Rɫs v91-QVJ⡟;§gWzفY/LD0} xsK+Y0Ϛ.f(5hX3wWf|`p6}} b4JsV4sW ej嚾2Ri!=2@5&Pd )WV4Nܭ,o;/80x/ [ꆰ=0:(^CD 8K{~}O ᑼX+Ut#7Ȉ5#a9hE}l Ȗz0FO E1S⢈?Փ400yF,otե.Qlm@O[@i@|(h3AREwSCˆ=lhqP:v2MBV＀86* ]MrInbzLrfyޫcMOs~+xoelBGޝF:<-PndUSjҧ7'?}6,<:$%@nC).?`F&wWF?z\4awFR07: 18^%?}쯿=\.@e@.*y1ndljŇ3wM?Fs6 Ls쳼`|>$G),vf^+ ROaPx y4eti* uZF388!ߖ,m5&z|\iK*4s=w$dr7. ? p =.N,8sTSnai84wF0v8)pOENG|[R#FY}k̝/F)i")ee_;DCet,_q[zA)'9c-0ozJBxB#c<{~r"!];5ԉA" K2y͉ۢ~7T4- fV 2 dztf~ӛ_N̘ϔ E!L'<,+--!}倶ZHEՐC_jEWj7V4B--ʖ2{W(BbFu<)l #XTBbধu*~\_Adnآ=My|DAlZSx~n nKϐ}[1q!*fID V 2iBx_aU:['y!"$.2(&C/>/l]zDD+E#<]Bn%Y5z"xP1MOẃs{x~ڵ?<(u]k4gqS%# &}n̲!W( -L'qL8myOzmVS@ەZ}Ej3JdoQi eU=3t] Ts5yv$,j2'|6l!NSY8PrzeGxX#!E`́½}F+DFfz>SgڣПVKu 7t$.T? nni):ݝwVѵ:RO23EÔl_*A盌ZU<)#1Q dKbDbݯ]<8;\a36ϓU-/<<޵gq33zmShØ躱>_..67Kdo# dL Gxᾙ"6A"s"wA;y Ao&Bm^ZƯXY0CJմD;Ztm@@ = alJIڈ:ZN+uҠx: fYB  -(BPEޕo4F&_tٓCt JWA~l10};PL%kAd4NɗY]w7N|#;= DfLG E.[uH.6P6Խq U s(|VߝV)j"rٷ-p`$RUi̾Uh)Ȯk1}'j(O't!Nϛ[vudTnN'nnw}s7BlHrmN3q(\VR"99 8m0%"?V+Fi9xڀfZOPt/-AD.ݗ>%fgwYT+}vew~_r|Zg'[N s3Iyq;4ݚJJb<+#l\oO 53y `=*A8|b;vGouڑ ˄}i~"ŗ?l]KT,ƠKƦ!ȽѡlK[\X;o<9BfU5;- DZ)k/_dh8z8c)EhPa^Z`ȵPX5|;WP[~Fi:ݾۜ,SP (,!ma O3,k%;al6Ua?#'-}H]O܋-y^n&v3(p`Ϣ6[n`$~?e) I( YhnFAB;2ۛ='z򲃖5JP:V,)Th7G{Gd'yLds @M 9 as;X}s[ѻjśgLEIFiR9kc(y (G?w!c ,0 @ )6wyu><Ǵ/bu\!NU!AńJ͝zuR.T5xr1tCb=tFF{ܑ7uqo\KVT#9ϛ C`b9vI(fQ%}l\/ӛ3ߝܕ||>a>y?G8hCYP S6k $*6H1䢈а|mĩk]c}@T; ~NSdJP^@ϥa-pa {y8A2SzUa Rl|u1GB: 6aF"E65E~i8m-L}P_xu?mZHv Li#ݽxq822(O !SW\k'zrmOrҞh|?xB}V`NZ64ryR1C}ˋQ;Dm?#EE Ztݿi= !:+He d{|i}V1ÍS;ZÙ09Z' WY˝2[Fx̎@7Y %D0`YI~g[RyӪeP ( *b`C-WՋ*v dv4zh%:V`v6'sB|l&)m Ias9 h MM\) FjpOIb mGHFD9ݪG?^H#DN$gEixyDq W_Aȶd4H8:5c.qh  ė;&dc7bvN>Xf@%g~xMU: Vi 0ѨKKϓ9ZS PSs]wn`oMP Uo>XJpe_>֓Z`Bp9tJ۫Hlyt/<7- ô) JCdh&A:Ʉs4qv:a( p]z}?w$0qD4ZW F`nerzmNaiH GݬU/o?ovn/$騺h$`FjcG$xw~SbQ\`( [tz筢]M*`VdHM돢N漉 HEg=8[cDn`bxe2W|mȲ>)Ծx'fl3o~&tU+FQV7p^nΏ*1@21` < ;G x(xc,Hk:d']Ҫ}mIr79kmޜ<}V1\  a^Aػȗ4/2ez ,E$Fx7BVL[ޝ Ix1 !͉;@?S85-t@d2OBQhX[qvwmĩٚY"z}y"u}bQT ņ;d$]׳ _+yw6GIcA>J)Hq Wֲ}vE=L M5D}/v7KkI^F~-Rې$׌6eP'ۋv7}GA*0hQpcr^B$>&M֟OCKfhLO5}\JI d1jG)1;P? $Y/jÆ7 ^k]hy'wa<2Ι~:£2Bf޲mnd &?!Bvթgd&orFG vLia„JiEagN^oæ_X].7E`&36zԅmCBX9N|?\١)dbXPMC`wmfm5SL9Y,2v߰P/>~n~CSڑfyvm}V#]tr1@BX)CWd~YS$vȝ` Lx+ݦi_LV#onnNj1j.NM k +/&C; !hH(PW = ˔}ڭفPAI~E e!6DyfqIf;  @UyW)jWܞXHe,d4&D2i2ˆ; N^]q▃9JMjF@13 J px2 ,Q3t s_fLn?IM,ܐp|h E[]1xpB撽^'1 0t%v0;UQ @HPLr9*Z}f<$o]oXϴR;- CinWP]fQ;f<_.eܰ^lǢul:,[oa ?24Gۓ'Ϟ={WSȞZO t?~ׅ:q?Ȱtcۯ)*q4m֭$i b?: =Qƪw t ZSg`x5"p鐣bf0h2?(Bμh¶nW/˛Q{:u jDKWP**+ΌVfF Bɬm!j@ԏn־+V˧\csn2Qh7Xym0ZuFޠ(jQWaXp0x)L n2**Qa"gic}/sD~OReesm,l%RϺWX/ʥ}% In-G,Y4 pU 3s Wݪj`*dJ7yxhŬsi~yXťdIaX|NQV?6gk/ ޔ A1TƖWo_\E}Y_\BD F׆-dz|-8eLo'b/Fh>ف8Q~R5NÖ0)I;Pg3&V-5ehw& v2G_L%7VpB "m tu'ryp 2'1 ZN ]Lj{y!8n`n=#.g=2UcX+*Gp?)o[#Jϰ!'0jt|~8y.n#NNYJ g3.NwEO_|\+S!l?D+Bh:E0vc#74uST#03=$84OV?" P_jrdtDI E~c&OQO A^yZ>F{CS 't7ET{tU=w<=akD`bhxmt !Vū]|fT;8X3o6Gry)-HGt\ڹF]ü 3ȵZ!BvN񁊈)!ޡ?骋<b:h" z1h!jnT,6:x$ 4wVuue.Oymokˆ@|n jGF>z$Ҋt*H؎[KmLv}}?v8|15\li/%ZMnwumc_:_/#?*h%?@K^uљɞ#* q97c%VKzy{ K8~09͹o_,.9N&LM NX-h/]8`Tě4i"pa!<t\|O7;ژZ(oNdni2]YvZؖߌ Tmjy:^lZn&`LHeÌɀSE5T_`:Y5_1Xejs%&<,eCۋNoRFږ 08LHrNm&2FGD^o՘PZy !YAt<k6q}ucMPF9|].8)#FgΞow|Gy3dov(utc/UX8 k?w aTjaQeru0ci]ƈuM8դ^N=.MEGVsZilĢ ucyiAbquSy~"q9١;uy#;.+tMFa]fwqwnX\;r hҚCSu}lj czspԽ+N8ɧkj eTWwiLɓ?~YW'}6/{; L- *$ҪiQSvY[#G}" JY?uXsk`POF;b7 q̣ƷO )HZV7sAJWO_ l\a"4"DYLiꆁZ]r~{"||Į%\VPYDS' S܁ݽo{ݾ?L׃ҡXn_&L>Z)xO/N^~4+H23aON]lMMƵ>!|r Z9Lj\$|37j;jt:PzGʎ:HVH縪'/"?ʝ3L8 @fm 3w, u]B6ֵi j!<SPb, 7U~a8iz\᪔JRLk>Q-3KۺZBsVf'Xcihr#2- =pƧ~r:p(|{* 4v>1vL-|}ȞD%<9.ֶxAT\p>0Dq&L#i; a@2ѠO ϻstu&#3hRb@))R˾Qծ8l_STd;GY-0P:W_Iߩ1&;yZo_M.݀|φG V.EfNǚDW: >)8`-X:F? )Ɍc}X}39FI:[X}Wέ0;Im}ޝ6=;4 Lad+tE@Q)tÌ ӥcv5|'0R\nGHd8} \hQA^Vl= ن驦q2;VQ^euOFJaj~f&]1i^.}XȃvRױѶM:bz^>{nRy43TB4qkvpL>yqd>P9TFC hjIGaN5=;ӸOޤ/ qF7s5;#⌆!'cw>9UHZɏw&V[P1+N`l+4/ ?r$*~ !@(k9a6m2FPb̳/7?j!a^!\%5h95ˏ[߾LIޢ#:+)c:}8ȋ$PSJb2St~Z6Ck@7VC-If66g+7ŀJvA2) xXw$a}EI#PO ،t2S|1$O~k3do2q- mE%zȔKZ#[ZTJa:gy.z+ti.X2@5tY'OI)}}aEn\^o$1&ճG zaK=@|U7ci3z}{|0 , =&3bZ-ꩮsB/ZȆ߆=_(Rvfdna&0BkL$[}!EXN).~ιyˤq+S*h$iuuhJob7&ܜo `[sTdY⺝& .zgsT T =3 :M"ɿzdRZ\Tti y`ƪV垞͹M\.wy"kWnF#9AGY&3?*$_qBi016Z$ӏnAj!YG0cX,h>fK- _}A-ja[tEFʬ ']4ߡ-y<PPEa0ŅI%Y.iFBhi!XNnVsƙ: t6vfd:ioAr3\iL49̠=V=j(v:7&{qG ƎkOیCQI@AG7s;ݎ{^.BXj~@EkʼnVy;&e3."0UZM/k +4_0EBe΃ !1+&z}aD.6z!T /)nD۱VtRfum0ViXDdŅS NtDJ*o8=R{HhMmE2<4a`,q>)/>{Yʛg/M9-iy󳱜2+) Ngb8bKP 0ړ'9N9ej,z߿Im}b3v8PЏ5L.yiDǾer z'm" ]S>vjYsA3B'l ާ123. >F!dCt,QuwZYK=M+@峵\U;E1T£ol\쮢'kjk o}FBeGH=lJn&/K8! qBS:–fG̽ 0nфPSnbN"­ GZ?yZq ɹ{(.s:]P:MP%e1f+qI=omN!Uu0O5McqP<+*Tne;EX|]rݔZB)oRL$,h$ !2k㠝)R lAr?on>0u}9m,xԈ.cN bΝŀR/&((z9c2<Ǻ}{9C0 56-W-UUec-< ~ܹǶ l=>Otxܶ!C,YF#GOxZd:n/o|+h_4RBp{|R{[_Q6 9~fg;8 oڍijp/d < wmA(~ b\H*TGpɁAo*AWsQM$.77ן6{He R gҧ}pјj)W^7VmTu0j}ZR+ 9_":yvgqe{隶[+#M&7]_mw'o7~ڙԂ`|4REĖƵ+QAd< f6 FQW.Ø9G!$@s聣zuy'KI~rL,P k=Ď}B!ͨ_pu[t{oKJSf $)t-\xVu{<1t#pΎ^!Cya>^ T.Ɖ8Z gKhiP:LNIM7Ni;RbM~h zAn&غx\Hk铛*@+GABd_I4b/q~}u:^_uyl{.P]1(ߡ`!{Z߆>]Z'Z)j@ѹ+N9ƶkkim?WcABV"SDΟf붫EC=){UQfh(d WS&1yR+Ci˗꿙? ӭMOllMFI{W\f-iŠ  R"l;d_.me@ΧM&fñsfʲ~o6HE59ZwOps_ϙݼ5)eOc`3>AUX-L!t.7V7R|0h <3|5mzj=9Y'O1PEp6Ec7J]2DelrPj/ޭO|uV6JL 5kӞq}S=h/ol^cW?i aLCHϵ`[g H^lT0 j^YyidUK^PH j"ևg$jz~ͫT׺I >P[ѫINhRo{Ge@Ep6=B\1sT>ЗP7i|{y?_(,# G\W@d,Q6Z$̎O^?ak@ Z7o{%XD#[JawG?\R$~;]_X\?/jk%P& }1g{-Xeֆ'a(Gaj>)SΓ)0~1njЌ|/}W8vggw54sCHCvֿ:m?vۓyKfe# &Xcx1%AF:#O .<*80N1YLaFzyT1+(RX&JV. {m6@P6!ۑ8rѓQThس1o՝1!Mg ;QgHo&)g,g&2LmL|I9bV~疺v]V%WesGgBttZ w]Aq0K[UCnNC+RڮhH냀T? [p>P`ʜX/fNw5N>H{%]MH&j=?lQt8[M)EN/@nPXĤ H ,?iFЏq^>Y^&nvWp)jYclt\AcGp`|dʯ ef/қ2a }f{鸗"%['970h8OƁgW-D^iͱǤʂAisd;UqP==}ސڻ;]ơ]%rV35$td(eV){mlJryf<6ݤPs8ﮯŤ{S+ k hړnn/eH8 8֌ C_&Z]Hˆ6U Qo1z][ r1lt}zBbPEbse'~c!4hGjISxekH+<2 w_MLNc=LPNZRF10Sch}W}w}NUܲӛ︟yG9/ Q:mZܫ+.m=~]}:~9(D4R/mj\JAk# 5Cs4UΎF&yQ;q'{~,!Y 6=7oy!j 2ҐHLq 4~i8~^k ZSeisR6%Pm@>$a|l I{!u`C#I+6ڀ6/Hqb| GXT;YdyA2A4-$L3od81^І4ͻ- \[@Њ,d3)М$v{W#Ek:me h֮LzeC$a0IcK4e b=!R;m.׻/Έ?TR20VR9ݜ}'W ޢ" rt|C4ǮƇBH5r! W< t0o nn {A((W9ѢMS\h.]fL* VU:`ƣͧw$upןQ{ֿBܻپstJ2Ǚ('/$fkTnBfcmsn] =%y0;E~߁lhm jL^Bx~a9^CBE=$XhZHAcseͩΦkNaaES3\ܠ9]ꦠ ItwRx~C? ~ܼ[;aw{&`8'꜎u"; 3$mD 3u&mߋhSp;]Y_6#s_Ї:e\WP",da7&0} u& )|qi'1hhʈ ԽI R>[hLɋA 疙^[Anxܒ`)MyXM3LtF $9ryX/.N@L[MW >]3WpS/~#& |}a{ͫ[NPR\?GZ1,MR&vW9[,7E'wNaȤQVLq]=T3a֋(VI]!ep1@hJ.i*!w bK Z) (DT]CKXA摸 T|~js v(섖.ORrɞJL^KO|k$<)g8u43YV LnNq?oP=V&~5Еx& L42;`*BL2ʽr$"${˹uթL=fSOqukkgbH_3b%-!b}u!}.ZW7EۙAV7$O_~\>-=+fr_΁DDŽ Un狐>ne֫۫%֍P+iZӼ|2ş7e-5bæk34OFn|hw=^o.p*AIIaL%KGR>Y*kJqwziuH}R [bın/{4mcjd ˻1y?s¹Re}qp:H䡲x5Ym`?wφڻ|WЫ)s+Ñm*د+R;p^m.ӎ@beWkeT`&F0-A"nύsx"A( ͪh/'CZ頍㬈v4J)Z2,=FnO6HKBMsa=MYU *X8Ieuus2k?(!N3;X`k&@BQ] &6x ZLJg:ԡO5kwR#UnXFk@Kr6~Fgb;M46W{-;ѱ}+mGnohjִ ^ׅj/`͟\-o#t8DH,vt]UKA x~+nhNcj<ˀ1XzNv]16 ov!)B~Srw[c˾N?ɑB'Ѻ¤0w[+8kH3mg7זT%:E@iHj|{ZF2gKQ&fa@aQth'۾4 ;~ety GiVh3q׸5G&K QFb^2yuj,lq県|aQG AeO7D> \ X\-! .oCЯQ8%b'a9X0~eo/nB 0jWDei[{Ҷ:rZv;2p/L4WdQEjs MK~>u{Nb}!`$K'L Ҏ2=8y\ d_`\XFKdE=2ӯ 8Y )[eJBsc]%@o7 =cm'O^0vΊ[Lcc.VR&aTax*4ER`$b/܅#}}0Fs&[]W\sDl%PbuzsܼC>֍#^fAC0ףbUz{/u~NoG˅P'F QimnhĨ) '?ÒܐP+ y ]VO21B<qpaΖO~=S5jYnY=d33,}od$NPX__`rU4D=~ 8ke;h^m֗ǬFO7tn95Ld3 e6+4M8~5;YJGO.ofa[dJݍzvb֯:h*A(3^(Fc}wD^i:L@_ Wم. ׸9"~&`E[N:~V0QBGH*p8z3Ҋ+v1tspɞ o?neN(h\~/zs?Cߏ2E<.m }m]^+8-I;/\XS#=?|Sd,d˜0To>hv>/6e4Xe׷hr>ճŀqI;"p֫ ܈kD|ʶ#4^NH)D Vr5x| #bcaS&NgWhXƸH9{eԺ XpJiDg0 "WhcyF**(ܤ'p2NQ>n_!&2EР L23:qmlm Iέ-B$w*"tizW-.2x nPf[1P_zꅼbbwP)9G׌Ń FWc:,r-! IF/Bkk%=ij5$X<%Kt\ xtB&Udfz1f("Ǘ6"aczI;V,=ZF&&>F|>ߦp+.U!ozձ̈́ }]W?(B|ٌt4Dx#W |~h0bn Ro!iG[WCQw\hT+]O1&yFoЁ>G[jxH.RXf+>n( oO/ܸ$u%'x.T,֣nq&Uڶ3U+xƏ%0hu hX&f”nN6OV#|pbQ9?ܷLc#lNq ~|↩nI`<+Cݻ g-2(E,REDk&B'fl/SGD`C~`Z^CL>WU!HזVq9qW%vKEPBppRD5{"ǡ+n5t|٩U壛)3_,F ՋIѬ "$lEFOYظXۑHʇG0z6#ۃ^DO^kz1kÇ>3L6e Y]|񚁤{@<dy"mOJN}T'P٣kl5Dӯ/(e.77> [ 6;+'(|Z8)*-C'qy+z[]Uؘ=AH`3tbB!qΒIt_ڏ/_<3BΏKT!) fYq@tiq0.qȑ F5 o@(l<_Q>DUB,we6ٍc5o}xy@z0.otޯid"t)#u0y}B yr-zi uNV4Xwsۨr1'/"ǯz/jtmXZ5AZ ՒdCso|')N3|itNm3R#g&N,NO;fU,= ]^l sh5i;iFn}׃jx{}#{t @kg䷎.& x̃mh͇1t2QcQ 1k={dQ Ylbx0q(Y1 ,H'Z z.]cU/c4mdZ@t/nǜ.(k×t7>;F1.T?|ra2n]39yQYqn!XCRMߖ&!J'+Ag+d p5%Y"&P`sx -|(y5C't\Ea_hAv0RhX+%&Yo9mnB nE39 &E2l&]=۵M}l8b![q'c֮y)*='D; 1Q]^AE 2:dY CakSjpkF h/SniBLI%\Fy*v/C*'eهִ dtݨm'R8[0tw a|ky}OS?ձzf|X?4+at ,5]hȐ>tԮ70ҟ=v >cCC࠲C"顲t ;#KEy$ lo7R2b.W~|-=.f(l|zG=8iNߕi|%>zh.[Bli BTqd`HH:s-%vbq-gx"hh< 0V2mDEvziH-V0@cw}Bj'IvSVE=R~>;Fio9bpi!QRܤGLt&{Ȕh Y[%کekn{41??ޅk u3J"BݻaxAeݝ=%GjܡSn x{{ulAhUB&LF;*de2TRnb5w s3'brh?z' ˓WT8ss)5=̔œSwYO9|w}SM7t)6Xz$\W=[-}塘8̙ g%УLDxx0$O'0ˇ0o Y:*d3EdwG<-b_~af5<6Sf f%B4\٢>?GK ]$A؄BI41Ѕa'J7:zQnXXcu n" T`1]SL?Q̇.?+D-8:Ix늱KJ`۫_A^mjzgJuoiy=fnze[j$ꗏ۳Gp;f?hMV_FL$m#F@O^mΝqc轠zwuUX)^R(jv.Wyb^ E7V|*&2Ɨ`vl?"\^ZZ^PPl#Dq֏G]#B kZR?G(t n5R1/'iL5l x2O&}Q 78-ֵEvts`8f ~2S~􃥾ƒ; ox~!rC Й03vyӡI{8D <2ﵰB6~I縎A>twymzL47^؅}^MKOhA~ApT\Fݷ9tºU/Ξ2v<"Cͦq D+iV9jbn"Bk^ິihEYͧDL 0ɝ%Lkn6>KK1.JZ32eoW#'푿dn)G,K~|N9tslj ˘T2Ab*癶"6gFNa~uxr-Tֵ.~c]Zv聠$Hc=ݧ}}خՓ'czN-([A$f"l?wLg[]83wwL6 ^ |Fo$7Ayo;cʃq_x\+a&vN%FegopqQfAԺ\ ,M?+IXq6fv|Zgt::@Ժ>?$ñW?"کrt?42:_}]tCϬ.*;fHs]V4\_?2N,)lDoe.ۣ =McM xݏS_+!Ez$~z2q LaZr&l!D_uLhΐ/kdvYeQWe1-rlE_%SJu2Jszlw- bZ.(:cIߧ+t<V. R:E }d?pS14zH ri.ltз{fg&6(7w$Ce s-cc̍w|C*AŘ#zʠPG˄)[M;"C5Z0 ՠ ʤsxV;?SD?p< HNF 5Ee3EG Cb&m&=}{rټCܹĔP/\ɡp4J]Yq? /#K:^ɮi܀pc)8\Nj1ovyخGmt 1 qgw7 8_t%EwֆkFtV,k&` ‚Tv;ϬdhZ,h).u `F77ylJ*+jCsLDg37(V?^~?u7QD6,aǘ4>Q,xs "~@ʜ>yt9@gv(Ae uu]{ncއ6ֺtpmO/d #H!(0&p<ӕvɫ_2GQj8A'BٞddEnBLl4%ښɀ_m7 BŴ No~ϭ - ƛKΓ@u Hn÷L\O6 Ṣ]ľث寷ӏU;47WZoe0?moMz8ɐś42[w0\MN~|X?xTB:^Nvhm<<.eI[dޜ,F$#&a 1m22Rl]kNxW*=#giVe: ы҂㎉ks)~HDX~ ~2 uիzOwrdc4Yqclq5b nWjV{{B]K_O a%}CS;Wnꐨw_l5ٝ<31uGv6_[{~bۼkyK3] E89FD: :4WOQF^G ݑ<). Snϋ}g9=(;MzZ L+o:zا~??+u ^q?yqb# AQm,eq?~ԎO2+WFaDnU$1EdЯo 2A{7'O^>˧~%ԂzChd̬ofuV\~xZ>('3əqF{l!hW\h6xm=&uZ~*QR ;S03R&./N>:ҮdxlGň 0/(Aip*viȌ0g~F dSlFČ?uFE&d7 3|GxX@ux hyPDb& |y=V!Zn8KaГҶ.C={nƽɑOIwa6}0 UfHsur=S+Ů>uS@wfLp}iA'NAqaSHlqdwpngIYѮL^f|vr=ڞްlf ޣ^p&pm=DrZGlKt4^}Zܞ+~ș4+2-ӥjۇw_:SLfmpDnǜFlw.7 Q2ȓ&j2rϴi!Rq͗ݯ 1͜q]҅ˑ[Yj,׳n-޲ZY2u PG[hTg{ [v' !TzMes],<9klq9usfcɁc$fXeRAQkuScl 9ҕzh&Ltw5ܞE3;H[~NSڕe:].kj Lmjy{scwkg3+8wh6kӯ9b}^^;}1(^ ;;d##B4ggUzwe~3̳pVskyÚO5_Ʈfnsݙl=43U@4¨ޗ+~4;_ː|μ7޵\}9.}eT;.5+B.5YX}Gؔs6_lV= ړJ0@JxcUNEҵ YcCzGvbp^K|ǰ<,zfvP[uvs׀{ksr!eshSIX"DYx ~fw}$rWm1"o`ێ cI(SE9@ڎ5l e#,&' & !U?fi;rv&e@V>/JĨso2~n&o.d|vm?L JmOb4  s}Po~kbg1+<mCq'<ś{6]JAv !+ iAuk24մ^}9WwJԩo:zxε%C+|2^? Ih3Fy% ЧBW`4\ll隿/؆2-GrtP cD Br@mْB:fW+8*}=0%~%cs7mh#|,|GbJ1Y{ahB[ 2h(MSCY_)rC.A`{ &.~t!]Q ~t+> Dy+^dJf=N.Cη%kFң7TSנ61+-HeK3pK5Q(h+6܏ϊf1`_ևC_h>`zXax?z~v:p@[N;J r 7pFZ>;r -IG&Ϡ,@L! OE@ ɘ?|n_MƅD91"vuk# <9EV,ɘVIak֜`"5ғ )ݢE<6<'9X䂢qR xL^]jn]+[9: 2r?Ğ{΃]S+ Qg[-W^%ւbf+O1 Ə̡v-WEh^ӣu$T%.4u†0uB)K$4@F$s..L.G@`ʯ⦖5!qzN_MYVRΞiꂠ#NM*-]KgknOBjVzaBx=G|&Y% Pݰ5xaen~?:^$ѺDz\[Ě<4Y'/VߥkR_>"4Q]#|ASY$/84Ҳх93J/4mxi;f:XLO;+.AiIw U7oF>15jgJm1Wc iڑ6=?Lm,KP&6faGW&&ܨj1[vbn>P1C zs܎n@_r{{}!N6 (q ׅ'ln/Nܯk3(gYU+Pݜk{z_ǻ.ZxV_&R>Xƛ'e 8߁YΈ!TaRq0qR44­L1-JMzi(N@ᡭN#mMW_??%,[ 32^v(^1Qnڦaߖ5ȥB3K,[mfUє vX^ƂA$o4z(q͒Z&<5ř.IĚY1=9.|w@¸b|dL6w@ݞF;o./ZYb|Z:jnNN4r9b ~ v pOp\A[xnҚIǻ6O6cPgg]f 臘X * 1OdK(hq+6[J~pm #lҭ' &OfX^( ^A{շ o&,iW;aŊ\qVt0 Ad'< i>޸ZeGxR@@aWH355&45za?/N)F5R|0fa_!>;WۂQ.cJ76:CB}pnV%EvLC zg \{W ޾cc fG*Gh.TMB~lH$6fc1.npM U3a\?WdGEjb>qeߍ/tJ@v:g۶% @ #nlΎG(PtP Lsz[ ;z %%N]紽(przImb i[sp~^^e~R>(փ 9C3 5E au4Oߟ~I]6( &9t9!S >9]/ZjOY~@Z]`XăCVN~Y9_xJ3Is^bD4ûYL] {0棝35Ba'P0F.dpn?Ǐc~/$Fkc{G֌!͡4Q|Ag kiݔ^ >2aS`uct/3i,8Պ)IF>ܷru:ox9 ;=6XSN1USn<,n n<8Oӎڶ)5v\7 b -d( lِJ+AFHڅ#r^b+Ͼg!ԩ }jDZ-bBϷ9 }kiy6a-'-վ'AĞ'ee׸Ggۓ98$]P0WA|!H|D^~Kj ei?h$؇ b<.[rlf <8fxkVJ_YNvLl);\ @; wg3LWh7P# 3^x ѓ4ZޛU^>H4nϬ<DmD("7E~3/Job%XKn_~ /$䳬òtۜfĄ>(7X-5jK>=Zr}" ֶa6QGRWa/G;!u jQ@DrlrlPwb+I$?X'cmY"W=N~0a}1i#$B!^=LdkQՕ[ äHq*9-v|'D "rm-?yrGgib5όwM;}QDS|N+cɹyD=Xht$zq@ уbO[;1CeXR5?۽gA?=^)3z:*^-4)VZul |.d0Y@5;)T 9>;&BJrpEV`$3p:.D["RV#"tzVCG׎9(RCKѿ)Vx{* C3/r*yBMi }xOdAźi% YNN~{$=QYB=!s}khBDƺόi|/XvךBke/^|BdwΡ<:J|W #0(G.R+_9^7Qj7> #aA At 9wG]{0.?jLs@dbO@i瑸kuG몷O FB/d?ί lqCgwwҰ΄nQHmQǝXXzCޛb`qbٺu-[l-cqG6 ⺉=Lor5oHqK_=eWkGeC~C&?Db-arW-Y-$i!@3Ő)Jpyq{vng bo6t#|ѾvELOvktkBMoCO3ܲϟrOWZ0s< % "rp{~{DI\8lLqW B4Eo}e-]_'n|6}f4ɳӷe4FSYA`Q_EV&DA}_|H0Ͻ:|5Y; _xxwu`EEIld]Futޣ#E n b|5cַhQl]+Z$r|14|yן77Kˡ6~>n _6lzϽI'P@)..y_u;xWFq{iUs:,3 u :mf7E2ޙwm/ &t ?,8ai9- aH%וQ^6BҪ^ALnYB8 ?"vt,J%jn]Eʡq 1 մ=$Q}HeA!kÌ}2@eƺ4SB=\Z},Yk zݍZd2锨=e j`iyA=(HDjqLb`:5Sێfbl$vxaXlAz,@vypR>5uްHI+L=+r0+]!}w<2v*1҅ J^"pݥo,cs)p}: Y2 -n#y612 ):2aɣ沥Ѿ G'爳j8 v׻^q~pAu@j`ՌԠ|Bn upMrzz11nb=5ca1EZ ]nf_0;WB;Ȧui^ā*!s0+%4 sDB>  sh:$g\SkJjxH؎NZdJN_Zd& M.Y}q{non+gJT|dFM.;;6tn=%Bx5 A&,@]Jd{}bu8;{Z&6dQ L ^oi6[n 4t6t'hYz6;Th=Nm7֎Lp{]$9f>;c.i/_ Q59?Y!yک*#K|g] m8=rc) {.7O 1M ümcʕ²>brػo!WڏQVRf{tb6hzX E yT yYrG3Lg:k6sGR(rTN/r+W=$CmA''CՎuzG le]'?C㾽$i_!<Z2%Eu.ѣ-;[m2Wc`RLDH3hdGl lӡv\bW[ OngAH&EmMH\8qP mVERȧ; # ѫM |zL P"|}M )r7 ոo:ʍ~ 0UA{"$yI*J4 @:;yϣEEqT2"3W Cp%0tZ{1л›y51kj#ٵNo?hY3LјhsQ[kQ|,' UѺ}iAw c&0/:R&Fmߊ5:OcQ氞CAg@4Ї.zaG(kȫ/Tm!_bz渣gF1) ` sNSM}ޱi(W@i>Ѳ8B)=G=xFRh_O/؝k<(~bY(s+%iiŠㅉk 1glJ#B}V(47vwwsO%&&{37CާmAcwmR[Y)hlv\Tqymׯwev0fhmߓ{ lTgpKBɢLM/{ڲvppyfq*>e.1GnoF*#[ցmtv2&O?>}MتPd!d *Ne` t!J L2}ug+IPpvQ^fV]f\5k:v(>pKN/t$O_uO|*gg]B"36՘Ō< aOrɒ~>;K,fS y& |6E^G+Ow;FЈBT3:zveWH2=}$Kv70ٷNXR_n<3sIzQXqf"̲`H-]n`m:ATQ>ʓߥT!~\ovL֫{W23:t.VoNtNHKFm:B1@|ۓ}ure#gkYR-.'& x2.s}}&kVr54NP$8uɐ3@Sڎ2, p K*|ǡ͑%E 1L5"p[QFx꾚no?j}7z@sV<'6R{$H7z7Z2<=QjeH`H0eƮ-Lǝ;͵$L兞OR5E㡇TbW]rx"Iou|$4 WB*г9{o祗Nx9dž%vQo=dy(4%@0)f^?&cuvJ7xr!-vë~<5A3p\[8@q<yT.n#aۯ' SUlxv:lRa|Ev83_yj|[o Nc1+ 7=mB0W4FtOi[1 P!%]7΂A'sz{n{ؖ~v^L/pwLy؇vt~lĹzL %C'0FtʯnNakE?L!.c=Gɐ/f2e[ 53w-"JPi,?xram}g2=e^1̼o\"1Qȗ0=ĐBck?g` zʾφUCY|ޜ$*'d>޼)3d| )1Ѷ@ I=61al>⌏F'LLIC;: vig  mW@&@1*A?t$ zA cĨ0AHRxnx3C&z9n{hS; H=ZE-P==D>n:TXxGӇ>iz ߟ>8}Z> GN"yMmv7@'PzCG YM-Wmzq|Mǁ0}fA rOd"g{pxK9V8z!1Se0T//yd1X:fK;:נͻBw{[n lĵ)Fccڸ C8JwdmnwCm7wz`yHP*vlyO h3v`aԑct#lO ))`>lRWЖ=; 7d Q"O7 c׌]蘟lwu/,hfaV@K.Ι=؁{6sH-dв*V[; Rwhmm'l:Z r}_RgʠRg#ed{3_y¦u9WjaAwu*灐8@[ӗߣ Oj2נSFqXg 3Л:^݅{spMDzHxB$qȌkA.vj)Dh|YhE1'Cw+'Di [j{ٻ SA~M@TGwA3i$XzX*epKp˓߷7.Cs\uCO6d cG2\K@MCM]-*.3xF q")%š4?1Y'7G:c|G#}t$.!2 )?i2٬f!fl\WRml굎tH?q]Xj$X#v·ybМ"nЧGvc`v棍(n>!tl(cm ,dJ?cҌq n NQ\w&M3 C˽<#fʤOn4o!46#`kI{D ']o|CMu٥4ncif8t?+hъT'\0? FRKc<ͦ]eqڜ֏ 1&yL+ʤyiكo ܯ~z;.yVb=* vsXM#] P|L2~R"Bӿ`Yo^ y^uOWJkKașf uPGcS)',sp7Y5z40Cm3s.SF+ cVi9l>5ag(eLCJ{8CWۓ`A\Ё[:*x m\x}fNG;_%@3{G?Z%jdIuYWfIHܞmZy̰8$i:/&@]}&2F˸fHF'v}þXY|q4R4"mW_/fV>23z,;MZG:bH#Q-~WAO=D1'jхݹ5̼ODt0@9& 4d͓/7K=vD.dz k̍8uaDy,@qbO(?3bL1}ԉ(gK847x¬>C}H!"+5H_M7C+Xsnx+@ve7oSHD?Y^ |.suH:wmAm`ԂM 8I4qヲILc@G,:;P(ȿE_W>o.ID8\MJx I2Mю|ǘ&"yG1sݢyQ(oAU X`YYٔ4$'FpdGaM)qΐ/{Cs6Bf9ꇓs !F;lͱojNౝ] (Č|tk_F_UѲ9B胎KGƓ66GR\,_2!UVvƣzۮ >YeB@~kNdJ|h;X`k^"/ <&6~/?mu<_'?}G>^Ua.<{$nM}pV*w(1w KOkA 9d,u/')Mj3>lP}7BޡeM囤urEؗE82 F}323T8hVR+_0m뗙ZTcd("R2{\3~(j,S߯fk~KNШxMNQaTAq<٠l |/Si}nw[MBҫ0m^L=Y'ѵb12Onj<5vĉڞ<1CA[Mӻڂ'G)ٰz@;hfkCL uezOȺH̜j{S޾-}de%ż#KɇYb˕M]„>j[eLЛ7V /}=Ί"⪠ڀD#͐4~M(wMY kF3F%݌,*KU:kj R&oH5Acގ΀@q4;~Y)X TڣfMcbP`,!t֦*"4LR9PZD flC_nPL@cn0ztvX_pWP9pRĄj|XHL E)ja۔؞Ԕ cm@ĖoD*6l}&3yܱB&9cF oh(-tEjFc#N ]=<IG+31 z…9t&MrI殑eG|g R0NY3fҥüQG51xN!802zztʿ}8 >!K'"\e !uz62 c}JBty]o67GsyӨ kH#"+.2usk>}~:{%)Q1"1@1qkwd Q )mA"_sn-Ia Md=[=)5mBG GB`:~~!Lȓ2¥:"Fꦮ#7ӡh~N*Pv43d=1` qf?7}?iZXe.SrsC5)RB<ї0)ǀ(t}0v51w`ޚQK}WU2;CFwbLzzVL]M{v99ǔ MK`\ #M#!YwfRt1mVX@SRKF_n}n̾j ]t+,.$Nr44 .#SuBhGvPWS9aHNk4{G]z~  NcB"ƪc\pX Bn%N;9;#ba5 >l ?ؼR+ϗKD~"mR LN z<wvOrUd:jo'INLs_GIsDdr61gb;}70c3JgLk\?F,FCϣv%_2-ڽ!їL[Ȥ{ թgFdCAf6fSGSBifh5^=  B~5lI3; O>REm(KeF}(/3f}R]ޘWކn9_z*ݤRNSw=7tDjW:ޒ̱DIyf)5~$`)#:e~Q;9 B|~r,K \{t\t6wV[$jL&oe^ @NΫ3R l]뙜&]nRZt)JplTxs]8_) 6ZTSo EIV88 ݬ#ՙLn1km" Mq1T񗓧<79j]LS@TOKmf7ڠޭ v72 3CA oΨl '/~{ޚ_5=CftFtXӣxVomy1SJu0p)0Ej(Je[lFsP%.MKؿ,qdYD\8Bzf"I\~HV8/D#"GANt?8Yy^6p JI2avQ{Z6,ydz*w2Pod!lXJ]̒;f3FD"5fȑ p*~yϹAljta[jC)9*0Ʀyw]|v@@C(yZN!!P˳/~| Z#bhrԻ?!iBr8ϩz49V-TZuil߰.sT3i^\eD삶spw_\}Fㆳ>Z&(ptH h'dg COp h|֠ 9;8ֵʆ}Xӆ21"i0@!LK,TsƷf4"8ȢW5|#u},_6t!)bRvI:_)MSe/zmKKl7:(@ ӟ*3lv4 ~:ۨFyY5Gz584KAWO׿s$G$F-8:bǠU?5tooQ!@6g )~XQmn.)vh7u@C*K*BHr2ق%j]!iU}җeJԽw?M E1) { 49s k]ݹİB6i= 2:ﶔy$zCf#4_+:%']Z_Eg f8Wa49ʶ+}⁣ CѧAQj,yzƾ2;rF ejU2[A@bMu`D-d~pw59$嫢q58Z`J[Gvy ..=]m|].,~62ٓJE;g"q?+~tmg X#ʻN%n"$ebe@>=p8h Y}oA&zؖ$nx /;Nت~F;qjBXBi3RcwH)†/qf@l}" '聪X{rWH~AtEUg.lE+/nr pikȰ*M >&P %}2LY~dBNvC'$Տ5wz'Gv< tTh8@;%$V 8ގ1VIlX/_ز΃0xzY> ъXYbiaƄs*vQ=Isct0Ȗ`TvIz٨aZj H.UL|@(1sK?)LCei[ z=LD`G$p!th8.XF21Sou"m>3+vA?N^/,Ӫ őIyXPK֍[>\m=8Гɶ8RYV[ˠC/ݲ\h3|w)tIfjWM F|Rrђ0'Xh%wlQ_|s\3,s5aG؎jMz^f}J, dbe{ w|^S%9{c5P8%1FՊT'qWw6} %hzwmt>>ǟ~*;r9vaO}Z9䚑qDm5:IhL (U,󳧧&ftWVșgJ6#-—oFusnF EP-,設IF;wۚ<߽w96ZL佪m <>LLvuK #t:Tm Rp#%;&t5A;ARVnWikZ{׷ªtl]a ծuIZ%BRe\i|Aoꝳxf~6wޞ )s<ˈS44T HJ3Z)\pC3eCGFot 3Bx F  ;rʩC^9(ɺˈ9FcycNjCR932JoraoGщҭޭN x)\z H ;E9{[ً,i]Og҈4vBwVeE7{IUt7jH$LBpEA~9^ݜ J#oz DV2.,#Gu1!C}&kz4z7"yR汊2zǬ2VvQ6+B%?\5pu1߀Kc/@Qs }L :a]W_>2L1؅<^9 ٢)jƐs^b-/L6iT!=&XBZTVK>ȏO8 2Qq+)si9e[ݘc[k:ygϟ#Xc c7G\c՗r5êכN|>//~[_m/.wȏ[ /䘐?ul_7eg^@t6)osoIcI59a–rfw_,w~Դ _InO؜%䓛/%d5 3bFzZjm a4m}YPMeIZt fͤGW?"g_OM0y̺^2>Aa.=$liA֙7ǘ.2E/ gdKz&WڇR;Y[o |@'vrvn93Ӯm5h.:=\I3,qz\^8`,Em+Z tjX0D6=V}vk ά&YNa&HO4 >["ºMc'{1tm-à%uzۺfN̂71@Œi_iqunR:6͜vYǺWڗAo=3܏-!u -U/f}8OHI S\cFJ̑eyLR{r"mOIb7.HL}uww&\u:Žo#=5=5L,fLG'(TV( fw=L,hu w,߷ 1G/KWC_- ?LL4[Wެ2Qsҫ>\ӭAy@6jYD׆.]e yw]9\L$h*i&gGYi 6% "J r'#ڱTho7&g b"91UC0saB&ta5ѩ|2Y8Nģӥ(I7Sn%:5س7 w4]U=Op3⋠'&S}8NcEvy n`gz<=FjQ}W骺8AE 1VH F({tLnv?~uDz&]JFkS&Y(#¥SE=ixU\t[ɕ4o)Eri77^DP0Y yK'fd:崕nςCt!Oژ+:ex2dn"p[ܽՋ9*y$TK70POӊ.@uv;tNqsgx$@ D:I Ɓm7dZiu^>Z- WZAAH)Y-V`կ//կz9+J$mNŠEorB*jy?tv0X~:Qcb{uw=y > Q :uiH iBM7UDff "P?ּz:AFpLBS̍rb*}k_/X_}S ^_ftz*1|z*J0GSe$-l^0%&1ahw]?\0pmdJXrSgFZi91H 38ņ'/T 7zOo8l, &>f`w;:EpBx4C"„ZGaHP +vo͹O.~ ]Yqc}mھCȡoڏ1R̓x ۔[Nύ}Wx//[m_!sܚ=(&H(J"j*D;hGhA\Nwm{y3%~]֦P #gO0A#-ȲLL{5Mݣb9kgKQID)i1+gfœd[ kXKN^8cu;_[GTӤB)=_~,VH^e Sܢm:gr D ? yǝV7 5}w7ׇ4{Ŵ™ ]M7z϶ʹdzή4n0hqP >44E~b%dFiL8wYVj}͵Qfc6{4\+ мkcDS|$Ln;LPmBpe8̬l `BYڱ.;.0Bh'JOojr?wG%WyLdv>a!.{ 0#`)eN2a)#)M=,CoEu~[P2h ,Vq izY dt$2(s VFqGshgZ*B[k bNs~2aL bh;5*5՝9c < bd j{*D j~F>+Z{^N{In#*}*aի0mgfkda\Ĉ~*eOw9۝ ~k[AfqGYR>%j6| "qGT7ړiSΩ}mjM>/0%T%q'rs3\ܳߠɇ:*wB"DBpfR@%04 ښM-zm: yeJ= eZdT/7zZK iVM ?ؑkCbh ]po Zu uX~ _0Nu4V^RMa[0njQһv;Af(I3ԇN ϷvgYsԋj+Ԋ~yP:c[[돛,NXAѧIfca@8p][{&>iH& !ҐQnyZS`mA((bq(X0כ{MdAcLsjl=+d%='r_x7]ѩv۫uzhh,k0gz~l8kl"ޯ2?FӴڕ#.ǛVjOFţVd:(H:{GCF&XX&:{4v٬6m( # %Z-vN|EZ/il-ZD䶦/=W]ƎIU;Ks FrL$Y!,ߌt]WGbc!ȵȹ 9ⲿ"?y'n zxpO&sT||z So뫫MH 6l[ZYdBVi}i;[7?v.'fSGY#f oY\$dtȮq؆ڸ&2"u9 m +r|arZ^8KCAC7Um~ݝa>'wh:=Ik `3ɱO/I.~[t%sc'_* LM.Ʋҫ(Րۮg Wpjȗg!^ `\{z 4j}x ]mk{O4*>^[2x$U @I"5ԩt6Ma.9pY9oVrP>(LWYũm?Э# FAJeDeuV\Xx0 ޙq_j7Og.Cȃ? j$wџ“ƌ\HG^))oIt:cGHWQ {c ]'vt'8rdwu*]#!XR j?'{H5?.+Cɭx<y6iDt"d[|~`C0=Y" m0UX.d??/6_QgR{ n^^SPY.Y*Om'HuPBg+9ۙNIA? _$&fiR(fi}se46ZJAE.IX ~жՉӆ"-#65*b 2=ew|s.^Ɩ*#f%WI+a#;MjdҘa^f= i5u!IL#Dj/yo;2 4 ӡS|r2NHE(bi4 c|>'YLFӺΡR@BnP !?se\x-׹edjh/ 1/+yc'~:i巏#d\%tp6z@ [Jؿ;pL -QTm,nS/zvml-#t#?WDseKB^?l=@0QUVQ}A暌䡚uCC aƲQ>ET dZr??#[}]OR;\T{'/Su| U9E )J S Pm\R;JedGSx_˱b&i^5Aǚ~*cCFڢu_|985Me翛gP66 ISd!j szAΤIcTOIo Y<A-ҏ믐Z>=Ӑ(th#=T zQ_O,cz= .:*C&Q{:($#IME:f{i%.0N)̚lc'D!*|c׶,TWIvYړ&T$Bm}GTQk}ݧ$Fo>1ABHj-Lכn̚M)VYkjVv Ĥ`OöFS0A@<^D`,.7aVa_?3ݽ2="%싞SK`*\M2^By SzdkCX[nY+bUMGe!F:P?fLz귨^ `bg(NM qd~)>:}}x|,=r%FvS߬I~܎e{74Ї mxV3Y_M1i>tl,Vu{e@u6'js+u^g&)Pf9I`V/AANmTZ6Us)#N* &~!D儝x!oX O;31Әb?p.t#yvM0ig&S+’$e8Z9fq?s 0i 433 @ >owևQw۹E?Z.JQAsHӃbT$V_h=z] ЗP{5-;>@alZSnz*; L>CדzKLFm6нB5zZk;o\f 4~觛hQz8w7g*z@< oh@Ct*m XZoz5 SfXp\AU i$ALK-bW4xdHAZ'@17>?:e{6̡,6z .zh#^8OOoVGUl59>+43N)Tlmfx}ݱ="YnB@QJVg(!9]R-S^۵yңq 7d.QXTPlNʗ>|=,x3~1\y7#r20"O VAѻBzpE gl׉kCʣF T8m16nNw.QHcjO疩4{囯i޳5=fհᦣMC5Sd#n&7Peʖ83+ -Qk&吙u@eo/(_`+S"hq:eߡ."gUAqզ<#E+#m SݭP|QZtޭ?@#cI̅ozżd]U-d)9^ ׻ u" c'Dv}sq!~67z&dۿ~ԐԹos&.,پYk/~>NX&Bht#aZ[FgS|<:M>Mt(u =W.do"MrsP _~X30g߇'ģݥ7A40y[~#qfkxrR8Ħ&QK5}_zZm 堑 1QE@nC6 L_:Nfoׇ#N6N} \DbiQfԿ#J/WžcvlH! OW=BK5u0$cHr4?ͭl-#$ Y[x{h"-ij|=ēovrLnMsk kՇ~6XЗYCYi5.k^ uز5_z`vK 73EgU TXIAS$մ`,|9 >yv Dx'\`rs)A]EoOK"*;qO/3>xx^2 wX0KXpV;M%lP =6nù,4_xd(/{qj(-C)+w8HM"8|s}˘# J쀔Au[|W{*Kgt0'1[Wx[~Inf$S/YڥL]Y`Lh$uF$ gw?\x}NKH#HP˓ھT$0>٥r&s^ IW+UBh-@un*?y" p550ox^״˟_&~cO'C0*TgεV˪}#+y-lvIYveo[VjMKH+_:z>ōd J:/-U*/Zؽŗ 0\B@S:InUY'AawgWk6TH6"aG7Dzc=.ۿ_o~mTd Tq5h(tKYeZc~z5!x f_(ӡ[tU#|+ˑM+V_1+4mףo\\e?5u+S>VWfQeXU-7AAB/^- wR 7O~.?!KMu!iSE9H"O#M-$ѡS{8#@AlP*E:Gb3Yڧ<a} o\poZu-ǝ `fPd] ̻dRa% 16SGs]7$A,nQc3澇[VƓ :1 rT3\VQ{11\g@ Q{g62CAZV*Ϋ˭9^vP @cM3v+Ҽ2nSHM[af%ߢth5&N(}Нٙ7R5ۡ2|˱aK4Bu(uhƼ8 Ue0 VW !vcU.!m;1DZMjlV.u@'\ݏ$o}?L>Q'd3Yu&٣AMi vQdU;2hG٧F$ D=L휩t ;cΡ-S}ۻ˙u'p 8&~X0f/P?NVhٔW-7f"kЄ%DAZ9{^@amvзc4f- I}@ѡ#ЏdPzϼd$:&k/GLW6P o7-hݻOok^hA~X*ZFOe0ݹ۷dҞ0V!uÈ_ ]injIr+%G Ttz# gS[\]{ǨcIgI%`8^?4>:P>2]aއ^UvHvtaq̌ޯ30xƙ25H d8@X>'qztg<*袜[Ո(Wz 6" B#4olsdYHi|yeq\ y8Œv[Z7tqk,U{bd]]UmnW#:L=o- )x+j{.ָ8BEIz:޾͆dIogEFdbڕ:[`Y~AT1TDhlwmVo]izлYqDݯiֲ1*`YAg9F6^T9a]{+t]uzyxznyT4\w. ed*BVIrH>̯垦>6j̷cq=B_חV.GpbmmQ Fva~cAץI3]Ua * ۛO;4wpBkGDCsz #4W\w,>f#ɑ>+юc:zH6r~bY ԁ2:ݴc_3/ͦLf#!.U֭?t]F#>qCqf?䅐v&! 0\>>t7vƒvJ;lk CMU~ͫۄ]ջj*@8!MCS?֔; (|~@IV Q+fFAAS%`gxHv{0de۱kz]Hϯ_bԮ/Jv~`5?X/xиg:\AL:!}P(99[ؑ'xJyt,*Jk tA/|k"~Jz񈿑( @3ubkdg晚}++ K KݐGꑌcAϲN"ʸP#(0wl]I[~=Rai{@U(Zwu@yt dX-P-4m7)u {FAJ(U+䦰WuP^]MǕjYfɬw&4hĴQ4VF_ȵC/=*^B q{c::G³;A<) u.ѕ}7 p\^bT "3.hyVL$1kK]B6}BȨ 5/\㼉龘[ ȳj+WU6B89NsꠁsCjio:=_W4LFmYiãkדichQt=tV<<6> x!І!S7) gIB4'mzB<ǣʥ2_WRBޡc>f(Uh2Y6E٫d,  M0y&:0T$ rl?0NԣVdI[ɩ3,?мܟX *8CmЊ ZU-2$ \'Zh0Qv}n?w_.7OɬaHӥQѱB3'}4*HZhrhTS e5ntC[6'cZ  "^7eE\ټņ}Wz: )JYǘ#لYo'קVOZU`=RGBG'tfeoo?mhЬNX>pNΊcpIMZ~ 0 %P%11ե(4u ` l^n싧jIFY$umBRJYZ{:Lz?|kgd'g^2u@ųץ,)m _M5t^X4$+ogzϛwJWKX)z mGhk[ qLDۍh .l)w˒}{h•0\5#[MQ/C?/_WQͫg mfxsaROͱjBGnN_jl8.& B&v~dzDSv,  v.0Y@\x(9~0>{n]Cua|0|%@\5{:oO+qZɞ9G?bz~1tykn5( :B t4h #z3Qb EPҙYs.[Յ*Lz,B( cuofܒЏƴ`n`$di[-`&=zz&yTM:#E/|}3^(iR7봉w03mÌV6 qm56"{ yPl=.V,2"؆ .}ؼۭd1QAFGi8y'k-:n;$s/v[*.gF#\ nTRƂc'[(ͮ _ (VAye,XzC͗@TP R-%%3I*"~Ǘ|>ʂu !a&(VP{FG~֟s8Ǖ3mCfOm D-pڡk:h>Ğ"k}pώ%z{3R^FEXvm|K\Lu8a#; ]·⻷Mn*vd{E$#8~8늁LUofGj[o͐!n#2ڴ% ªm.Ol?9A8DڝwZ y¨ϲw3`N*$# TXGhk6yE4@r[őE퉽Ntgvy19r&|i.*h"} vk?] MPͬb0Ba$SqK@ ^1nfj\ 9`z%ZFy4 ePr9@*>`tM7Md;;Eҫ2!BBx2 #Qz($zOxe놚 oF>u|R ]> ʦWS$nZbkG[^헳f\f (DpL&;D 6'N 0}^?x+ ц92fjľ!e2BW}hOBwٴʧX1T0̣i|:<:l_=30Pؐʢ s>I׿,Z 4t9\FžO$vtʧs|}c m {G|Gd*{旑LCjHak]DfrovN=$NwgE+xFy il ݓ9PM#CUeP&_b'LNf41{G؛_LYK,'(hcպAre'Y;_=Y1r(`\EM+cJ7 K^}X/ϭ)ufpM7i]^ximU }xplVl^ANVӳ`dFu.bZ?Ujkq*!ڿUZ*8&O)h-{fDIML٥m[j} 5˪E,VG $cУǘݟTp} j _4r}VӌUQ\SV}ySAnny$\5QB YO?Yorh MPYy:>QЪRr oo6߈\Էlz-y VEu]D`7ҍNg8MknV&2FlE kFqrZz l5OV yZX<-*˲W8>Q\h"8DOB83Ao}~@6蛫bV=wp5܂sX]޷bi(ᡕs\F 77+əߐtJE|[?L۝Fqа ;îO'hFbfqȽ_0s~m_fwoc[$lφ"?ƒwh1ś+,Vcَ䷳Hu܄kn>‹(Xs':їy(saArGk^~ *RR^+J"i]=zbÊB="$Z0ZC:DOkYªjdVu[y۾!b7b>p6>Ny@zً_٘V)W5eÊD:ݹ" oI);*7N\6pB=J4v#Ԕ-$[ I=/m0Vg7|,$U)sʬ27C #o|*"oc b-rpc~]~EԵ6ЬÔ isBI. ih M, ^l䩧O}p+r;)4xG_ +L`Bax4tVAT5ɻfLgP^[M,B]H``/k"kbp_)ꡆjBjtA6,Hzsꤗ[E4Y KhjަDSԺb"Pk iWCMc(`t^IrYZS+i3_-?; 0JQ@J&P!u$Uadaʾ".B4Q⸢gCDG!l={sEQ} `?#ZSA|:A/OzR*ثFM LΦzf3mH.8fFʎUApyϏڮ|n/KIY.+2v811.} =<:0o<'C9: 8jG֖b,8Ӛ]{1Tei/- g7"$|h.#!cvl&ٔ! u8X?HD [ϧf z- \Бœ}2vAzWG弾HMrU܁ʝ"7@3.sTD{TN$FY!X͎Am;(\F(2:gƾ_yƦE*J?SMo3"z.b{ Ѝ~b&5L\^ :M b>Ө¨LpЅX|ӴyP*/tUGY2MD~xmUWp„J;drch|пml3n/Q cU/ąd~9յ53Go?e} !`!3\CwƔpy=_R5yO_⤿ ŗ 3÷x}`R#ÁKF@ۙdf_{:k [.?aŋ׿TU h{dd_¡<1z((~* Xx(Y2f%c?)Ղ_?Z,TZ}iuq;~>xԵah'ry6QZrxC?slX&Bz B9~1c}fzd1Ved2v+ص-М-?Ѱ6:/P^cj ]TQby\ƸJ9<*T4:?m܉:9xC&3gb Рt#X/ooN WzzHc4e7vF嫻۫OUmQʳ`]WF{us\\|}sc =@;z[C,ipZ<`"شXYA*% m=^4td+(}eK`p!hs{=D^hui^w7 NDji=3`161|/orUF˥h3U_ۃR<&њf`#]#<[w>ҏӣm)}b[P?W:˷9#x|+>CJ<\3( fZ8zLx,7s5MVYP6ʥ F>Mt˞d]ٮB]Oz K2qi3Ŕu멪C fyOh֮PEDKhB`TLX DV{2C\>࠳k i22%%yycpzJv'2CN0.*O J};r/I㞸Ǵ I7r 7`jq WKB[ +*/C׻֞YϷgSVUx`@u7[LrUMs*gI8StӑM]Yʳwwn?ZLǩD}j窇FYinmJVS.{k9is(7pN!9Md-߱;mcջZd$> `C-WAC&HQ˂RQ: =aUc1^Mx,|o [RQ3F%]iUAwPH!]SjdxL?&@4Z*Jz 󴳊OXg C2$<^@Vftq3(U᎞!! ePU˧IE !C\2JB-38MmzYn6s^4[H31!Bh7~SZ@G72m^!uC8Z_wޭ?/;/(ڷյL94W Ul,3py A^^hrwHAL2 yF0mJ16>wO(IeRHI/he-tD[[{ Ajoҕ/!f5My37 $I|D?J-m:جLodNDf[8 ﬨ-_δGL!0EX/ln`hYB$Op-J![S\HݻKݹ@WF $f$ӓ0M a _^:cE>m4澁A*!s;U8z:/}(]"OxpdH:׌)HZ|[d}s^wlF?\psZo^TvZP~as*S`Wr]j Y"H-d=y<]_S&&Kz%"%9LU,UAѱ@vDwh= /6 [#Ǩ8t?ȿJI.:TZ'h~Wio:=UOƔW/r >{z u>V$R}̦] жlެUg$hwQ(tcg{BGHԑ~>ypAZ[h’}bۣeyʒn@|sT. ,t"<ꖔۛy(`ޗ`ØQu;F.wty6{ _d!iC%VmMwv}MB9*zhn!/sQ<$ OU6Q"YY qzc<99y>h)7gB) Qe oGȔF0mm7_r)ɣUԆ 2P.CZtOk:CG?ͧ B獅cUXVdH IG(\Fz8S^Z=o!Bo `ROǠki2Ʈ;eܼܽaY&?"eB*i(M*:y[a97mi\E Hk'FPBRgȯKF{IYMFʰCʧ3#PAڡr2kӁ8kNiXWgn.ѹf9"1 ULX̀vi|?vf9ݎur`T!ژNYȤ֥ r]+F?v¹T(mx`ّ*{ʗ5lF}\\8[ɍJd[)>@kE]ĝ"Fp`01^VBu-7̝N/>5W7ڼCOu(YQ&wd-^SF'hԻO,fz`Fq C;%@bYVPz~$V,Tq>F#>B.,Q-zv|cǑ~ !x }!yǩw'M)zy5pX5'#ǡ$59q =V(&F F|ψKzbZgPkkG8>̅KFe\Zd0C.6hFn_ DBT@ L1α&̑ ^[siNY~ 鬁>;j{9A16exF|Щ6#7 S^0Ѹ+'$y{?L'/EƄ`= iġ؆ وQ{F퇃ᵎ*ggFFFM C<޺9CpC =+}2kԊ܈44=1I1[S %/䑐3e?q1Li'LѢu`LTj3\_'⧤:#!umF}0%Ӊkt0H˻*yjs@#[2 צ/J__l//7?A U&ؠQ!beA!v>?ZPT?PLm7i#I#ig3"e6n[S74Ҏ+sVU9VZ у4-2=F}J !VlԃՊ޶^aŌV;NٺU72@0`4Q#rv`/_]+OT'QP1X)2`^}#El x=*a *Z1oheL{<tMI)<LsG BVb41h&eWH9Z#^v9M.,U/`! akzW Sn!$ᅪ'VcdOm`/[L|HcƊc3B"н|l MY?T>B]a"Hxt QVK^G|1rRa #$0 : ۻuT: ,(C|m-}fQVvU? JA䦎rlDwĐ{\xzg"HJ [v-⥖zro k0# cd, ͲL sG6x>UJ/zvhF^@]|pK? rqj-Vuɫ>9K+~bZJ5ĺZO6|8KYS?^!#BXLv"= ԙ|v8ƺ^>՛: ^s @TƎ yѲe(CG}yTx(xzlR_S L>!@l$SdSgذ1<)ia/V%N:!6uc]™o14L-a٦5RB=Yo @1c=ds- )|Nnq&֣GTܘZ˷{+"'?_RKnh()Y]_anV(]sXmV-'MjSNGV 3 &ٮ_+72LJyRucd6q X%Ŏy#BvW9[}d~ϻ˻!yV-]?"gJ? ',wTŀ_LVQHyQQƎC*L)B᧪s~9Ztg{f36%j 7Eniy?E,s&u8kZ!Gu)i2(Ս,C+Лb  =`ڵ7 fbs<:is-իN[7кYF5x(ev*\h#b(Š(Xש}jW}ޮj&✋!{^COS 㬽gʔi`#d Rxus_7vIEA!jL%[kKSI;n!VMx32c#@+rx¼d/[HJѡ|JVt=RwP׊0]DvocWl,k&#y 46\K}Nr$,xD0ڇW͜9^޿6.l5yQL +KQ0j{OyBѪhRO*D>BE[-Q:Ӫ"9sts=e}~_)r^}<6zm. ˢo,-Tq1\EcU4Iѷ4㣻oy"|iB)t!Y`R=|8= ÷ͤКÜhء~@ 5M@} vAM{heHGpڴÌ2[ѩ:1\~BHVly8MrZdiC!] -Tv~}|sӇaL]( * ;$ǓPZ\I|,5/R 1ZG\D^(OԚYyy  7NI A{O/wonI_gBj쾶Pe %I¾YZ nn}1k2SJrԵ\ GR?`^Ճ(idrq'8d=_\n/?)SN޸!eL-Ih[+d(哩>l)9L:5kնz-[z?-1dۼmh#r8e:cz^]Z^|\/ʳB/E[721'?h0&jyHfbX3{:iF2&wvCiC7Β{y 8H0͘. maDiea/ZU sOFmYX3C;7$˘C(h?H>MeTE{n9mm2g2K~m8!Y }^iuoG:V H3T1<9.N: 8s#F ZDv`wM'_P҆;8jƞi ̫dECeP |E>m?]?>|+;Xf-vZjz#ZTp]!(j$eWW*ۚ zwo#+itfqP~E Go&Y0ҩ׻#lu"hHڄ:Tzz@0f'm@Dv#qNc}XL.iM _4aDѐJ 䘔g}syäp"B-:ʕ=6<%:I/V9l3'3%ofS2T$ԣPږa;Z+>2dbahjCiP'e4ϛ6ixyO%uzw4 sX1$H!ͼFZRW> m4U ~α"sTHafՏKiBeI/TQ|542Ƨi40cɳ7 x&wB ܢL3XLW9 ϴ/^dT` vtN][SXtv;ނ*_W)J=c5LI{iǺę*כ%sH2C]}08k̝PxAnn8v6?'Vw": }^cj>*vjAo VgRL0'٧0f B.|LpU0|(`[S[$8O/7|y( S ;[}Uꃯ?{βlxcijg^#TAa<0Fu/~f1;`\#/qAk}zRk1b|YWc#Y*[QkQ3ǥ `ߞtl֙ArH%;}3E`0kJER&.kDk7U-K0z7n,-w%674?Kl8bXaJI1-:tZXfy&+y@ReR tH'bkk??8g8-R7ye yXߒ܋O^$^A_@A[3 UE8:!z*2sW_&~f7jAUnwZ;-g*'|{ٙnٹdC"7bo!l¤:sPqc z7 ٮmO([uG& u u/uc/6-_bܜ݆СB7ߘ›q_?R6v4vmgtQԹsMd;x膁 95j:2&Cp1WXcAsR1K J Zit݀L/ /\q6sCC&llԍ!MtmETbo? j/VSEkD}SS;3g|K#|D2HPH܍- З@w|To%$Y/q/6Kѷ^ Ajali[zS8&,v.7 ϩnŭ=_jz 3kw.^aW(,=sW6e,ޮT?HZMRJ2 bxѯVjѥb`Tqʀ ƚ($B?-3E9yœI2ct(ENB7ɦ6,.(6Kq5Zq6Ѝ=s5[IĴBTnF_'YuC-'} 2r =X7GBó_G~6\,~Y1gS~hG-yz짩Hg;q SL5wMj?<5;0*rlgRѡ+$ "˝Lv@^尾]|1Z+(@ol~l%ao2ݬa8ꭞ72$g7Mu,ՅYjUwf S%M6-;*)90zL'I1/OǫPAߑUx9eRZRW/p1ce 4r9LhlǡKhF 38yԓl bU{ Z?%FM|pVuEcxT23U/(XX[^8fԓw]SCcf_ RoЯGI67XUT_-~_.+⺚փ|x+fIkscM3 3! 'j{tLDPՕÔCk6uT}XXؽŃ|{c Ca[ @O4$*brP|ͫ-.d.rNVնn8 v֒rh}6u~л욨._'͟o!L1t3a )+_McG]c9xlzXɗ~X'dQ!%dԃkL@-~Ex5bIaN L9Ba+eS8 ڪzxSDqG]~`"_wOVVEuq1_-p`D=hl=pԓM,?]VxcԦII=ʕ)1CW/޾=1uk?VcmJBA'VLh\? T`+˾zWK (lP|6xP  *U*5K[6#YXӄj:ѓ$Wf1DNs'CіC:Q1,VwPXqi0 >w֓xߔxc˴*FiF+  _兤08sLm_ cqn:-Kޡ;[h;u{RxG;A( 0]@QL &!5:텴#E^+@U 70(QaKyEP\v >RJZ( Zq\`gXN/SG㞞Xm4I!L(shC5UQ 4zp1 D$RTz%ǎZ.h-wmЗfQ;O"\6ԨQkuBݙJ^߸ZOS6_vm* sЙ8eti\X9h~̕ٱR* M#g'@= :'T&x@^$G[Ҍ^Q_ ¨ nFSfQBT.*.< ϖ.e[Hd/{ozT|t{E1ڙ^-T'eFZ'`v~0mC۠)I1NL}%PqDq&AI%iR"_ܻP%#/9_k3"uA1 L5Qaκ!یEGq4dGNX<ꕥ8kݦ'3mͻU"u~=˹@l0yA;TOOd4bB?k6TFXY-{@qjc1n[2m,;oوIw4:7CxW-i faP']TW^G-uH?>/Q~OcPR;&N A`pnb|Aa/-M3`a Lcj꺲i|1dR:&a[|XC#3ܬXJhuFdpRg`Ȁe8[~e:k!5ޞӫ$Z Blv\%f/:N($iH0@c>,^kO}xbg͠9#$)L+S ;WqG/mAú(rŌde“["{&DŽ_}>59%^Y,RȚ6YDCc/ k1_8Ÿf W& 2k#]ٜ4(rmvs!"ϐ̭\#QZVG!oިg ”bkB4vGfsdtSt:m b7LY$9ӎ$حYK998∫f(ū뛫35\'>i0`aZ[S{X<6iTdDM %;R]#0,&?}Kƒ]ܜ5yҶ8N o9 Ņݪku+ZA횮/֏;N3Y%CQؠCǁ0~>0+? *zuJd*6“c5SSx!f$SmtZ\ƸjFD(rxC&$B@^/bU}b% 57SV/vi q;9H|3SG3wabbngНW]^sz<[x-Ekz^,3%I'd4Tڞi}qT$O5n&i1rݵ+0yЋ µo-*au*RYi{=a@(E qÝ5|sVHBЙ6g N"\{3}U̪`r,&OCۺ0qE H} iyЇFSG^b"M &q/j:MQQ'IS,"г"WaVd_ZѪڴ,@jd#x95sKM_m?|ּNӨЍ^0Y34Ogath;Oh]VL{ ̈d嬵ɺb|9{2`;F`NK+yHP^w_'-b\dWAobU10h5Ea ,>Uu?}6&4S=3:trt&C~v?WpF!֯_1ԣS u.{D5 7֡jeU?1?_/22%Dk'7bgNFj}'B?{,'%W&kh+>_g ڽK_S{Gz"tSDQIJxo!uhIBo>ħz_hrD_ :^CÊ5 T{%l&YERm@ _}]1!<}} (Id3-DN5\1.f[>/c·c1`@BMP5pd(e9 D;PhSߡwD;L=$H5!aHà7~e*,Ny/%XQd=euqnF~q/ཻ+S, 4AEH[(<[WIFb\./vnS7٦2 1Q+4^;fnUȞ2PSGB=CKR/]) #HOp7LdTג|v`x} tvQyP), |A  mLc \:&o٠ug:/#G^.&LU q{nۻdA X*fZrM"{CݤEG]JF_2"pF{}s s.74aJ6ql3t Ղ\ݬE5X6 >kh :OeN75ϒOإ ܬ^EᗩX7S7FC* P]^sulX>]owp EA!qk"}(gGj= z]ȆQ'iI_A?psz0."p;i:d*kx-|,F^"\#}9oVmIqԷa7be; )B_`dzLFAc60&jU}ILXʶ Ty_ӆ]؄%*tz#S#Уk؅SAeMDo{Y򸡓&mb}m,;j0L=@jdw,ۖ-$$.D(L@I(m!'Ɖ17̂*n- CFQ~|qK"99^f&+e9rKKpn ł^qN}|뛏woV<ՃB:AtVU;$&Aq.2k! Tڐ^V%-v3@ьuj‰1bلgZơl9 l.ƞތDY7!\˦Tyd;+8B;hR!_Q^QqYY1ǥ;7hRY#6ڄc̽n_:@e`Y'N1Jfva>0XW5˗& h3[spLM ê^@3_eԤs&7@ y=mj'E} uݲY}@t¢ܳbsR/0CnPo/%>;8І EaJ$jLv_|/}NԡǔSB=R/:yBTw@@Dn35dU.P?h{ވ"a "h1XhQ 4gP+6j5Cm4s!.\oEPrޝZIv!6pt T#^trbqFX->wFĂPG/ճ;ev`"U/f>"ۑDwW<[M&D7ǛH /QToĻϱ>Ȓ%M ( nXp"tz,Y/5 #se}Mʢ;RAbr @{¸v2 iyvV>4 'ZY;&XE4eU:WxS~<\z+R蛺 3o􋾻|Cry֗47ֿGCРb>>N3V[m%f)E1JwhS: m:m?[-9·6!Eo{:ٸkZS5EOEٽC!^_ @ MŴVMB7մh (f==[Rϴ_M<+tuvbOb^qiM+$eZS?=%S `eC+$2mF2P?l}:x/'T;|Ha SJ& 圞%z (sDT’؋o˨8ܧe:^OԢAљpoE#=Ș;r0p_.Sg}{?=BB +´ wۙ%J?FaT ˜ХF^ȃh!:ceج=IJH5 7ЪjpY_“gH3MI}qTXC#ǫtMooLh4~r=D \2~E+0ilix1|Cmdfj[%R D70dp ~L*l?(QCV%Sh z$<=( m!aBLt 4n?lQ|ʆ',vcL*:O} s<4A"L V10QkjEq3n_ö/DXJ,l$inz#!jWB| h,MwyT;c ȗ"L^ 5 KhpnGDFCoi?*-~ߞ|BmHq,SC.4 oyv8 ˿"`B;3s3Qky|HC3hLNZ_ aLj"W.i܃Qa)m#k՟4R=(f*GU*cz~h寨r7ӭ 6%!І )Uu5i+[Y𜾆f?\G^8{;+kz4=X;!S!vF[˧Xί#VKu$Hj N R V(VC IKӜBZ@2Z#.ϺIN)p^SorC8*mWaV^" )j[WHwr\B+QBU h(h|3(ǯ'f"vݭ['<>P:~V0'. $LTXt`FϼM2w% c7]]^\d.Rt%K1ҌCrJ"H*HV!3#i{AP=W /xf)enɟO.~}L`A]U$H#_m'=Gh'@NfI;ߥַ4H >ʓS!viDp& ?$j7#`D-ӽ4&h ̷t&N 4RоPp,f mT'ov.ޡ1Vay!LS'GY¨+^.YŦ5e9Ur%TAIGs:-$?\-H1?Is\}H AJE15S< Y7#xQ&fk9˪w+&XJ-ÂR^R]αc 5M?#GӵoւhCienKAuF?yf$ΠF~YW*q}$i DB/aRɷ:<2ږZx #!COKC0j fqAv ٬g}ǹоV C@MV2U=-]efSBW3(\fQlr RĵHk%$m[MCۀ)Ўh_y&#?-emd~ˉgLf@oltt%_/v?oИ)!d>;E ^S n8/+M%sЀ/{WMpNz :d3ZJr_=[}7oΌlD `lit`P%!}BL%01-0!{qOze#ܒNWQ]F.-@hZb"%Lxk/[ {:@ߌ5;z/.C&N 2[vnOïPE nwWK7|B L_GL:KeLX[5*7aYW-Z(9­Ib|+]d☉jZʅc\dXk+9x;r]юK@X?޼|dAc$"Z!yT-&sn+F\ &6ͤ 1 j@: Rڟ6yZF^PS j0L,Rd)APFN4]SWCS!$l-o$n:CI~G/n~C%D%lU#LZ A)$8YG?n ql<1N4&YȚ@hQ=Kkbonde %|RjTk|^P;* =d+ NLi(~o+CUW`B[꤀ hHBrˬǢ&Qj+€t(Km7ރfRr1cQ=CUSltEb KY9e#'k<@}7+|AIȷܼgз<ŪzF?0WPY`}`$s>{ON_ ULޡV%As.uS.n4I B~aڵ$|(-ӑܥp}\QpFȴ#_z3Ðe0~B/4-NYnV8Fں]JО^8Cjdb!=GgOu\Һ[L\'G*ApԎk|7!HvUh\Rx77//=t-Ջ~NUXU&!I ? !uϻk*nt09?qWF5-BxP{.d[R,6R5M3N4W;:GWoKrY6zVUj;X")6z]03DF13Ib߭㛈LlU*IsyAdI^O*uRh#VjDa1C_/V nYu40w3q>A[ mSɻ>\^ vx7'`sqfϴʇOBռh%8ZzQ. 2ta#M_Oػl}I{SОʂPZsi<1:^C<%!qbZ~2{35 #tY,0ƌ&:NztPwn>[7QM0QYd'Oov"I8zPL9@DV6+Bb3_ iwo_O#ZSE|9z(P; g$猍-z y;bIǐ UF}t(L#k'49gKAȺn~/>=N5Y08:@FIJ ~"TP1[ReYds1Cص7!Z.4uPC؇z,y"O?H|x)4~ideSKW+sQ{IYa&u?ԁ-ˬ_0;_ wD7gv1U a_.Gn,Ѥk ͓rLĹ򤶐;pUFvtה:iut2Mg_6g{ Iєj;:=qȷG²OG!OԝnΘ0nYbbTRV' YF(CV6|Q6j!$~=> &BdB-#i؜=}Xss$ؓvH!}0dltV(u', 3ڸP2i|Cj2-d$G8q {P>ʿrj\G}ZQ17< =h62[]z ~~qoKW}}|!@ɼ "V"3CDW.yW=45V.#ha8'USz2v b4RLeބq]37gz0Q㈄G:^|S$X9.jP[^PW?ahY00)m<" +T+owwG9D}]5:kH Sh\R!/o^.ý(=[@;NC;Crwᢜx|$aff)K ]uv#Z!U7wkcJmcҌk2SPz&^p@zsX4i'EtEu=q>D&wھ:<߭sLj6ha)!>> SNG. $8/  }Prv(\ 9Kxgya#{flOCҘ۠' f{\X2"FYsʷ𠄱IЄ#if;LkM8iiLz8@gd͵C@$QsCO>Eڵ6פү47~$Swu}[?g""w3CЕ*3fs"UϦ숔e_#\x\PȈY*#@Pcѩq`3ĥvpt[_:m9#b(})Y_XDyvTشCpqY4HiaibG2>dL [4Yn`h|f푥9#v6;앹駤d;.;7:+|[".uf9\+Ҍ *T-se?\4N8F& [/$.|PT޲Ÿ*z _%L5MzcŘ~&)`. ER*VW#uN353-IqnbFY HG[~~/j.&݀10+nڌҽ^sOzĴ )X7:N&߶ߏNf+;G˰~Rؔ#'ETLa=Er^o>f~R8!'s7̣fǥ#_OHѲlN^o)Xan*-Un׌9Uڞ}v^Śn;>0Gt};[KͽQLJWVs;[C :2s5iV?^lO5g=sn'֙ڡK޸X19』&G/hl7"27vqs@(KǛNS)dK/4Rׄ1UV{ *׌aQ~d9&(\ #jGg]O:Ô(4u؛Cd3$uDɹ8 \W?Hw5tgU58 = ou6 a7 BfRX͜zQekaFNs6;tIXKwmi_:Ԭ$qsmr'chkoCKZ!PGxH$մ*0rQd%59 bpBáEdc!XlzQ6=VƑ+~Va2LL|O>8]ʓ]I{6k)'@~ -@8k,?!LWovήYQVLh4^6ډ~< c R16d(B>Cۡ]hwKM~Fim֔Lu4z?]shA<6˝?*9E(ntd"K0^ addgDS[8qg @6#3 4p냶ΞUYzysZ@QFiFgQ!Sk F*_7dm;NCP:AyD4T,'1b1_^m/,]bs`0җu[cW2 "שЭ,(9?B~vCrqaF%5j։"`&C ѭZgFt?on>I?Xyo,C7#v:*Z#-} vc+<ӰXd\N݆Wee7y@g(K! l E%.uH;+T#k=W<(|m?Ah=(G8qyV9C͞ъkۂϹJ B_{FL ؇4Q>>ĢtHIQxRC !?s4V > tR͎$6zCSƿ껿Ѯ?(Om4̰@*m&M,21f_C l3m#@`zu{[WvgrϝIQp7“`t-sn"`   ںr.:ǣ)x_  MeE}Mx(~r Z-c4RFk{Ƒ˭~:a>u轂稨rL&-A,6n>(Ibd{Тƀ`O£}- {W@Tr0 tlI\T=)M]*7RJ=}ULUSFmngm(~F0g Q o{|:~y)Xͅn!h)eg .!9QL-@8o6|p0-rR@> e3AX|Hr+w 7endI֞STl:yoS0*Kjnv10]byZ{zB{l_9T_۽z0g?3z1tP!~v~#WmpLʌ}MT[mtyvV)\\TfNA$=C!sqP?Ybd%"gH cS.}q>Ԍ0@Ex!@[]͗˔)7N+l;a (\EXK AUEdhsZhr>xrQY UȂB)tL%^o?/CrLX;t ã!-!rS0؈#dr3N!=7~?7ⷔ> R{:$:m* ٨:?ټx8}$pxSk3V4Tlcjcu~Gة dbt-#G ~*mIwhX!Ͱ}O+fi]p*yXr:\r!I=ӖncH%kd7;jvgBԩ H2[M_(==gKXf:-[BSMF)  P]|>H6m(Ш Fa0i۬c7tWHan?p#w!}<O>꧷^72DPv@̐FqNu}_IDHQ--m"n^whOySt+=tjpIujVZy"7fӝ 쎌2> yuԵMO8Ac?NoH۲9OqnarJmT}XW?n>1rzJt5~fTOGXnl '|HfbU,U*-Yܔqel6f;B].#6`65ZB݄5p}hŘڊLaV71:*ԋ!# =[^Փ"XP,6C,$ubRFPi[a+#c {oAXJGCn2=Y,=Px-O X@wF| ObtR=lOHjn`c%f.IO<~Ɛӗ^Epl #ˡE^+짞YtC m$2w||ªKxT]|8egM|XloG 2p15mKpCQCٜ]u^޽k,\+9ֹ۠0 >GtZ!Qzw z#m0"bUUfcCEߣ rI L T|^Z?i  oya$5$¤O*27C;psW$/VE'F0Ϻnr ^ 3$tM*D0LsQT(Ꙝ/X)d9Z à_ySO`QQ@  ?n>nnyC$ cʵ)2ͳ҇Mԯ&o s STmIPjt~7YrəIfS֟+6hNTr Kk!cAT7.160 km < #ʹP*vs !o#1 Q+ڋ!&{>ًZS&L >}ƹc!Z'G'M >ngFǸkm2rάW^B][e  s}"~[Zn |-SΌѶi&5Jgmg$Et^:C׎ghcO={髋Set1G*BHézQ(x!JHV8rS[.׋ԁōr{Dxar'yEmN#cS%.JJUVvm[cŠ`r,@  ZVNR0Z^mja@boO=jGg69Y=; J ~^M-HaQcW0vcw}+Xy?3 _F paGIi;1z=D\d5yH_%$WPߥ*V!#H#{؇SҳQAt&Hi7 CS2G=o^|0MQzc#*BPwBOђfX']J0\C@9opad[<&(s=18L,0=xU:t^;,O@g*]&\XJ8:eЧ&z|LL Ɖo;@ okd.'iwіS3ۂl6WSO(8;0!SVYVjFrhw}wtfzR7;r 5r? >MC Y;r9}UI35 UL=а6Yށ5iYpmV-/~gKւi~5FW!%Ȕ 5Kחg-TvMX2"Hmv [U|3LqD)ӛBYRy?tٟWEEBC\9jI;#eMH CB-,!jzl9a~2XL+#hw/KI4NMFxNxlAm΂B{cwnV< m =1ީ;f%H^s]?Ea(Cj|16?Ȩޭ:S?QlÆA=i}Hx j8cq$Nbk: MV퀸1j!AٴU6y S %^jt`&NQÍ ssFCǡʛc.֓OjWj%nNrJlt szc? X)*vҾ1@kܐ[5l撚nӛ2X+=(;,]?#)!-Vc)Qmʱ eyhdYIoF$lUMM}ai_;vfƜ{ww˟'}$)!uVWȰƆ⤸nbRoQTGwL2eRg>-nm3$cv~/@!S Иdr(j?סڷ~82~_zD QiGE A uf{O z%mpw[p)z?wlѫCS{'CĒB:X3*715q+ƧIkKs,SʧK,rʞ ̜1|bIh%:Nͧ_vΣдeW $'tnXDtf3֟79YϷ k؈ B9R?c/ۛOqYȎ>nF7C]/)*V-QJx~\K3g6Fa/oΒCH Nofti43s#n ]d*X:WYAxz`Ţ3gfmp/n7*!յ'X2%{͇>=a}r5lkHե)c+Sde977}'Sk=!2v `ʋŤc*}5G/P᭎{>}.ZWL3%֖^R/q,E'*AiНD9Bi+ʾi|q)tV g$tRRD;tҍQW& f t @ZωJ(G+Ien'| E]Ii$sa~d4{lO9+ԁ:诿Ic$8F\ZQƑǞ)+õ1,Zư!fzDw#iʃnG-.LSm[ Ut QƩ-zl6GW#XfB'XbAlM>yss#*j`JPBnOAoB񞾫_n7xG#p 8VHcYg0n>'NwZ_Ϩ8Iqw:bEL)Be?n-V3u:)ΐZE'+­٣rZ{ڠ&+7{#pߍҾ-mbt&7wǑ+ h<EF:h =[/_T fvʄ]GA7ֹ (.@ؘc*(:R8 `Fj -8)O"TW㞷:.יLj`CKMZOx^t&^-̺ЃkZ(#o.vwׇ2ySL9 וa.&TW nirz:2B9dz[WT.4^ʵfEB+sacmwҡOx׺f*R,=S&/%GZ. u-S2Cօ@6^Gf119qcT4*=}H.$WW_ eǾ/=eZ I/F{S.=zLX.}mj) *MWP҈ũzW]<.6>@EˇU~4σP/V,LWVa}!f9Cygi#x#Fly|=b'vcPPV1Tj d5 ,A7+lr3Eђ'>ȉsCFIFn.;Ej8k d r;Ho7o? W(W3"@i2FmPߩ꼹[s+@ 0[ >*.55M4 -܃CSBN澏Չ o^-/yN P|y'$ mӑN"^5RP]!Tlx`nW5dJj`Zomax+d=V:I8d4@!Ȧ(r{Ƙw[# =L{mۓu}/LFX|~ۮt P]2 %QqoČΞT{rJuEWBJ*g\Y?92W;P֧VُR玤izsl(ޕsA dUp"0TXzUϦwF $iN; SλyWo&DI6 +Q&JCu`?n)ټ>`W>O/? ||;JQ~vQBXeZ6' 'Rf$-GQ~TpTG9XuI0?Lm[s} @l6W<ݴBҡ{4ZTZv!6V A酐"{=MXJ!vYF[[}tƵwL7c8¢LM}n>]zk0|mz 2"4^~qw_E 7MTW3VZM=Y*/vռe#_-viQ&ET'#t\Oh"/ΓiE&VxM!LWT PL3e 2)Th{$zNբ7VIuC[ah$1@Jhڦ&LdJ)0zeJOf#čpKFe^!2bb!?4e |,ìC;u T Wia|>=Ҋ+ %frlLAns rh(uY4Y8R u[3#=x:E |4T&@N3 sv{jx'L{RA/|.e4G 5{{@y?Eҡ5 (:-<{ Lb Sԅ6`=g+;0DB /K7ׄj1W9n.חˤߤT 5F+6Ąiv.j6Oo$U:A#p qxl}LFno8_T/W[V20 ֠=GYAc:(Jx VO/4H@tK:?/Vo6VXXDW2FW|$^Mx,||÷'ۻg!̉4ލNw?SR`C=vxeK"nU t&F[ks˚;xtHdK4k"D:A REy_MB;; N0)j+^{ӇOԴP[{|$E&d8@vZڡxCDTh]U7?'8$6t^W^jaKДX_ovb 7\S6I%*BU t"Ȧ09e4wȈ@5I7isaZ-=R]iZvIVŅ**c EeY+e%g Ap\p a.}ja13^_ϒT6W6-@ -Boы)NXį~%H`w#g7 n^o/&t_;1ԅI@fa PS< ٘BI=33+$`)EsB 4HIG\ SJKvwm@#t^`Y(~@uǙO]Z'FLOgڶynݧEGsNPJM=jC|hxrY/OgJ.8rȨ+6sF@jUs@%[@G`v&@H3^*PP31*B d\,y4.!?1jO.`;phxѪ?>* Qjz9 .HԙtD>]VGGNYh[Ņnj:j.i2oӭhSXcL]{;{r38+S/t@nL&uBقyr/PLDMF!Gx6Toy,"k!N {V 83{9jnx$+On4D̐%ᵽc@AàMs?MGՌt $+gjrRZ^fVj J5Eӫm!H^,'iIu Mzsß CXΛc8wڠ֦PN:bKiJ2$LqP㑷c#_SGe .Wqp9^eFJQVRErl3|u,/d-b쩙cC1Lzj~P.c(?` =<.0 մ )HQd_&F @jk5F[SZ"5 k~ڄzҹ:ٚhg LpmW04ˍImyDk #Z*"5$U @Vvst~^SlA7ZMA`H 215ષ{p ia/s:TL&;, <zjCӃdZ쿮+5c;FEc_Cv>f V9ݚgD}7T qzJAG JILf C4Nߟ)0; ;t;Lb*Z+o6ݗ=":Sx  ,\Eq^ @ -_V-3w7|)H@ |nژ6YSmϤVցHlNN-%nZEXyP\IhpY:CnnN?N@\.i}6+`:bS} sԢ[LޒI@XPP93:b۫'T#tG t ;Z^.].Q5MKhۡo`MI҄q3x`K~Yȅ="ڳ TM4q+Z#&=݋Iat dлjDžn j3: 3<d R yfr MO$Eƥ"2.B-r{gU]ϐ}.~-f>nD}}ڜ;a5Yu>hRnI'֬; z6{;g5BDꓑz5 8FBVκKϜdk#C=T~Rc¢jVz`kNP] #m!y ו.t!Lmu]SWl6ۓi f˲ T\IPAT Mvj$>wo٬eCO$=cElOEUYӊŚfx@H3F}p/̓lk[An5wqp˴hYqK[wb9o,ԉ˫Ԏ RL-Dhex2v62at۱A15ܨ Ђt ﬒#xjq+.bƘ&b7|4m4#47ΙG c[#pfAj` IGTQF{WL7(33Fn;<(j%m` |AaAGϯB x!rCzuȵmDys, BP#Ƌ`O %֡4k/853\ 9 F ixsɹߓ-{~1AZx5S7@6$Y~u$m{t,m_ h {h5* g#=3|KֈE=oJ^/4} 3NGM!SF"3<7aa׌a>^ίaHAx(<1,tIari,kA$77F c8x Qr8{U(gېd+go\E55LߎZ:a Ij ~PȒK1/%lX> QNvMX]Ѝm^|ʺP}N]4%GVi #ޱ#QIDU!:]pN6@:YRcimC(qjB:\2=Mz ^v`﹮e8gcWA,㓚CNNx d]cB  EByVj'DӶ@<~3 PY 6OQ Sֻ7Fߗ5ŔG:o@W-r^Ә8{m*L? m^~CenOraxaUGP+28< pC͕ 0E͞=Gwv|!]t2pJB5 ٶl ܤP2X1P[.='Ue*^óBM5oE1d!5yy"oLݥhEf2B*DɢR|>IXyՇ&qaNi.]@q|u]]$ţE$Ẽ>(C݀n# }O0Pn0?ɤy6^1r̵/g:[\$#}j~4N6~^뻏OM"-rqt:1k$źd ='m T;Up=IGy3D3EVL*Lڳb WGG@o +* Ԕƅ jIoIz$<.gKܬE"aʔaBkQFHd]$gm:L|g#} ScE̟EG?QWmhD@=`aĿi/;;/zxI2H@n=2mKz1hw:$?j/{,۷Kn/ _XrK&ƹKrwPYjFjsfQ}'?AQEڵp$ ATfmnz>S6V9p8g &L} i+vK;;=1-,0Ä^sots>lNBxf lr-9B_A5 hZ\0)҉:A$_|-<ھݽ?= m׫BG"ǻ}d6/!F氇N*?˔J2 e$c=rS_U@%?ACZpE|f(ۏYбcIZ@6.>Ny ?͂y{Wqoã~tTIE)f]Mauttaa;8@w'~.ν¼ - H U3d һ5=MV{6$7+ylߧŶq`Nl  1eRfn+3CT(u7kfԨrD!8"( (=0P^x]+3i'S# ź8kܫB{FM~ÚD=$[$|'a%r#M߯7c7)p&r'Hi6{x"yA {;YӋp4+=3 m{yw M=Q;9U )nG]s&qUG{s3/f6* ݨ0*&Γ7.T7_rhΪ-'dE ^4b{lNCgἜk=B36AfҀ*PI9%T"KmҮneT(aPxau]cbl>V.Ntu؝T FLh44&A<7P   Ar7B"G٬87e oʽNAfI)u˼jP`a}lVg]Ⳡ6)myX,[b` N!E/DZ:=_Wf ط0jnzA,<]W*e `{ 02t*ǏۏkxGj1Ŵs}lS9ɓ/ɵ&7qB9CË4Ϭ U(v'|cAǭJO1QIsO`m!;Rr=D4ZnkB(cnmz:̬@ -e,֧\_L+,4׍$?:"aJD~e>!Cι67dh*iAnO$p3lI."cwW(Ӟ7RCXЬ=OLG"bg.vAOZ&UiVT-ڽ+)헁ѡ {Gڤ5pNcyZ褳|=ɗ%<\FQN\y,LDH ae]__/](8sQ0 'ftl}|lӔ>RDNa7LRMKf}"UX8:y֘Q(7W/N^Da_ni0G똝?Om_ֿm&SݔzH.B}Ĵұܶu!EգQ'A#U 㶈xn``!Oߕ iSȜ3ʒ0P{ #]CfCXo8܌p)}6h2}=ɽs kŰɭZP$t80[G[6٨Ǜ)S߮fWB^K~JqףuEEh2s2d~D]y!ُbincʪQP Ų|MMiӮ]fR I;X"MO.D3vʠ$DWXdx1A}!t)#]ˈDj1=q4kfgłs%yyV??:nO5IBϵAq v;* 52L~aӨWon]/  ɯ^1 1bFndLzx,w,>SM>WZ#ϡ钝)Ӂm-zHFQG6\`a5eҶQ7@e@dJV+N'm=5~FN>ELʂBֵrnXNt}ѝs) -/hNʩZ[5'MC7QjC^!r0ȵQ4Fhq. )ٮt lLW-PJW^w{soAM[B~R>R抨[^rRyLqyr $_2ϡ7ȯ\.)p SVKOmB3n3^ݩ7gvHWHE EY|@!v+6QnQHVFCs/{}ӉC] r0^j!Ų!0]O4W/P]>= ٴo jTӑxtl5CO8J}ݨ^YPVjX߬N .x LE'zp ^_~]-?W4'mIebbEA[mms8I>,맫}'Ze"%/|fߴ*mՔej-BzfmPj9).z_C,t]aQ(XȡcW/6 M1$'Y30My&W}Fd?ɾ)d&L3$(m)F?(jr%GLd떶ֱ;4gVpﬓ/QvR{QhC?LS>%"6;_'Dh@oN[hNި`B5 h;|&c5eiE [LLpv㪞3 Q}lu7ֶr9Lz+!H;ƺ.U ;Ģ.'6"Еw̞Kٔ~l"U*`@GDre"oC1.v.զ!-kHM"t7o7m;)%9[K[6 Ytzuh}H., !HBcCeӖXd5u&' /@1O=+uXD]on2t22Xhߥ hiS^]C xe2f8VIvЗf5qjsg BP>~xwF5P3& " ӬTFWahC[H'm7@|CDs8@8X (4yܿfZER˥跭)9ߏWtc~jdR7BPPhdb]g}Bh{WAo}m㳀M]MQ7vڎY)ˑWO3h]UPE>WNڴc^Me(k.ˁT…nZxұgfטJqMPa0kID$a/O a':t3WY`Kc?r9ûߜԄ=H]"VK@)-]Gvwn),R']iZIVV<.vݧOlrmā2ͨѭ M9ijuaY1?g0Yeu^>kyv ǜ([d>)YvShC3d4JM;Obtu$A`wtYWu?+ԩ@9 DNA |eG㎆xsw!_զPHRLѨ^x] wW;O/^W5ѧViw{sR~"\u #St Y KL[`l0PSחxjddD#{i*lsDMZE| 6WlasJA0 sEL07 M73D1 (s4v=ZW+\s_kvֱyjk}NznMX10{3T,:X_#Xф)Aw:AzN餍~^0Mq8h㌍,Pk0NR7WW돻ا+ZYASچzl[c#rg7/o D\AԱ{NB<  cmKD#  ٮF?4nUP1Rȓ,!v{~x#68*̟fZG3j`U ^^|v "SthkdtN!ns󏻧0L }6bSyP`( YJqԫ@|yKr&Dv]ԟ?Yu+KcFM`P%IK٘?C{toW<l:i:\F |;+c0|>rh?. ctH=Q#pn1`Z[ٳCszH3Bu^=np lk_3K S4') \Zs uz-~rO i Ӂb"2'kdl lny)ͣxGD0Sk@U/ |wȧ~^bXHs3eDC,}2'ROyut\QņJh263!L0nKkS"Y~$ &鞜< X"7n值 AYj)OXg;n>[=ɐyAX08001}}섿NDTlJ/mǫK1LqԖO }$QJnΟ/ ǧ3N!Q^LҼsJec39ë+Z&t~|nKw|\8Àʱ=gz M2YX<::!:a `?u4z+ɲj41 Π P^_?ܞ}3zzcf]϶qynT'옵 jYgvNqN\7glu,lynǚ0z3[Xx?zf;h[pYuq6URd=rUPTTS+j?vO)ɿ®eޖ#WkNdK FTQa61Tg L(tK^K-;7Lr v daR9jimȾHt4zN|1ª߽<{#67faL+FXo-.A^ \}+o UMۍY&fOx1Jd-P@H 7_a~jOJ#(EЗK4miyV&;2҄NMeIf"dkkm-Wiρ.[Syoi~^?m\e9%shIm-͚ʶWP c8^.5Ez-LBQp>3y0Ao.ш[ ɰb Z.(B?ihZ'C Nvdmk hF[즁 ԺڦormZ3=Ktlk'l|wTL!6z2A2]gvO+upCidXkfx7]_0e3ku]^}:Y%a-խ0^ cۍ];)jky\Oi~kJ&ߏ˃/+n.>O5|i(G&`&PruqXz7 GujhRp"ש+*mn;4 kxuvL?l6+g:"٭2U;@PǷ1V_ % tuBnPr"+*(o؃;BBJЛghcd»d^o Sh1yZ0'D;I]Vv7a>+\:(*!\=]Eǚ3ո6hnҶ-ykNΜi8ndŎ`ǥF.<ӚEKy7'@c#Σ鲦m~mvbBdGlxdN#y-o7ô8iw4<4;t}m$>%ܜB oOg?(o%VL#DI'Q9TIL"jнdx&E 0]uc=UhsZtldAM[Wӗ,}ٷ^t&xohaYAcYANpk_>no‘cM0Ȣ*mlIVٶԱi8:>֊@离@L/Qyqպw;<Ҧq ļQ w ; |c߻'|Pw|o>5AqZA'dXD |a45!vUEN/푶)'Z4I1ϫV`J0xcWzV}ү PLe^F9rN]ag|9rW,}fi d&PZVl2 IQ-dTA誟RT<2] I0*]|(mj:or@_n.}w]C7E6z'O |LÖwesE1p=$FZOX9W+Mơٝ(^pLpxW::zrc#& 9mPf eƳDuӜ^2N%Bna+sFV2"U[GPp \_z?DdrQ{H%!6m~} JzK#wYX.P#  +䈰̀bUmx+GOL{yz Czg\nȕmc \OQàp|v(3v}fx}C 2w\oZ*HO]zhO Ro1ɮ㎸X;Bn9f~1!: fи/Iֳe2"[?fk~9f%2Ib

{@OMc`c XNW6'df2=r9\̌.OGybt|`9*}NNt 2|{=1ib#Q?!-lwwձù5@  r:́>-貞܁ wIS'.(^VUO'3}H0$/(5{!]w;e&Yb3vƖ#;0T;+Pt[Da5zk0$ѧGmžOW@܃y :24%na<>zIߴÁAGۘe[3=OWcA[T$צ+ /-BKd}2AT09atNzc['֠#vrkhC V(цIJ:k:%V&%N+>F^C9 RZW/֧R_iXtF,m)T8țY^;g&BBui}si}ׁigE0o܏zrA}Hj#&;4 TF[1m0@ISNKbYF,xgHC#Хk"-p۫Op[5* Z u45::ƸzVzJt>RQ\iQj]CѮBJc W!gQwdt3?VGS;0{GWM? ΁V7q_$ad2&DꖈGD֫نs d΂į)}z~tGlFX^ At7P{ q๜վ>;=*FLQ3t밾V.#Cl~^ɪxBD2Fh_f? 3q}MR̃ pN6I6|zo7Wex$mf%J٭<\CjFE[USr}ͥ8{ڬ^}[͟liB\{VF%kEqDS~`Y *w@vx_-( 5nZ}!gIQN6TBvMH+Z'Pt?{.\9Vb|N# uku+۳\%qka@%"~&\3) ^Pq#- %%Byt|w04JdҘ%򏨓f/7E|nfY@0]t vϳGc_t$.~*F fmP̂`ޡGW ^rժ zĂM?Aa ey6؂Pgl*Qq4KG`i5N4 90#AWޭ6TkZ!#hK]4K5 }[Xχ%sxpTQB^$7C2:] z ҄x;~.43^Occ2K/uĚAwWSPU5$+i']:s[\nU=*t[эh4i$o;G<Ǔ,35v)vC'q*c&BӻӢrt@Cݯk}N^Fi*fAi =JFp欬/>^]~DJx>4YV56Fah) # ӊw?<4 RV!6w12 Վ6fxel dF(J_}~Ю9͜l! Y3+7@Hzsu`-`bMNrSD.J$50-O ٶ Q=sz^?>ƹadU ڻzؖdN[gt0sF=:b7S= .ɛkmŞnI]" z=3GUH02hAlW#p" ve@SR[ީ|qԲ d$FNk#Q Ln5(?V^Q&ezAa2\NĶlHh$"`OFP'~/ޱ'g;WG7uSRN ļndsL;Bngc;Bxĵ5x 0f"  . gO;e7 uI Y!otupȶª|ل$j?3. /oezKsCmt |! tr:!1n &pEͤpYk}n[#Veۑ7 1=Ē %*YvsrgƼc6Sjhj}D˅Bο.O0YPKiaP5tm.yMb{TI2h/~^W;[BG%!*euD2eJ,s~ܜ[q)ȀĖ GBol؎n&ٳ@_-J [H5:f#$9_5k)>mpƠlnb% TW\!v%_Ph*j^x'cE.h" g.\Hpuԡ\1'BԅZB"n<αNPF;Blf ;/M8@oԑ<`S3W~=EU]_Q+lJV35G-ȏM(mǓqi-,[)%L,܋I(խ\j”0Fn~Vv(O2">e h: jm iDajsᏇC.x]{f:Iq'Q`6nYL*6͗76{-#)IE_H,qtv bM02ʘ 3md@FNY;;dɳk~߻{V?~ܮ/%h|LO4z OfGuPt= B:M,Dp;L:M֙jpT#"Iv=*ߌ h1^p힔R!ʹml"MaONď3Z;W $ 98_W\03MfD@~j .^&PBhÍQ ξ6q^sC[`?1: Q/iLڔilGp? LɘcmW_LjYA'LDj,Le nSyŮ11`(sT5[e}!Ë.! ފ ۇ5\ F9ÉzkFھkx|=)^kz 4Qwg9$]XtLé2Ĭ!92ؑ(5ߵHype[[rd&*]4\2֝Xr1~n_CtVs@?漒!KK:"=^VB۰A^=̐Qʣ^:j%0Kb~c[bڿ_~ڞ4n_3AiXϭc>B=ǽyP'k)Di!N8i5PiϰȮ5~ibrWă}OϒW d]# MsgN$5"y+lOc{{0uwNzKCٔV+E^mTO6~:$H8&HVf=}c5T,lu:ΣqSTJE2";ߤk~s5M-swT"3LeDHK)mx:hBHNu*DV]^ߏDPڢ0^҉z*tQE_YZqzIqC3E-@ÏVqۃ@Z/Ha-鎜X6|e\s&ar?eňmr#ts !e.lo 5v (X>OحJ ឺtuKt' /]o޿7!@g+Mf`e/&ԟ/Q83Vi⋞? \H"`/zz A+Y !2ҙ~% ChbQs蝄˪46YxlD^ۭ۷ݧ vdKO(]$nK5<'ZtY:Ioe3y:|iĹ$/ai738neP(:l QD.RUFXƮ}<1|>;}qqոaLDa0H 7/FWX'aZ!tJ˨w-:_~__n1D#\6?[~}k%-ߔ$CE0 Dof>">OP"NM.E]nsmW(`W&{wspX5Gq ,G|Ϣ 3l뇻Nt 0$>u`RPZf&'Khj/Z XdB5<8|U}OS =. :Q7I=tS>$[f}Zҡ߬VV|=#(zFfl'Jjš ]ulzT T&IJ2!h32##No eWp2.]Y64WxS{\wvmV711cѥ-KK b"nn^ wo}DBW%vf+Ƕxr+[Nu U׺~da[w߬od>mϾY/W2X RF=uimwq0 5*L R;i&^z9 >t N>C֔67k~Iq&C=35%98N݊LL+,V G}nip\,t/!I;P樇zsw9K Qȇ:>}3_ջ_h$b(}|Ҍ2]1nKd*zWzVa߁|ЭϤ@!B#_ytMeZ>[=. TK!oZMܲ>zm,̝b?cFM.=>5{&؈ 42FA?#bSvȊ=s)ڵh4 %3@ ~\ O5Cٸ}ș`F}Snh0إ\xG׭NI#EK\"@G&|.bʻˏ/FDLjq,Kv'a 6/4z_[pUdKk`G~mzT-\$'OWg/o[g'\60 5vL.ko:P> KI{"f"MТc<]C6v 'I@*]gԖ"}3bGP~hEb/g~yυwh7anJ 1hjXn3Tm]OaD:3!u3ٻNq3]w}T}l D6r:pG/#32}uB<9O[S n%7u< H%hnbHO-^(4`0T/3ͱ#Ԭez;k$\0O9P4 ux6x:_5Y9tf:udIwVpJ-c Lɠ/:NЙf'FO=2pgN_BxOt'0*mv]*\<\o^m/nwx L(184s f4tƵ|\'HQ1Sk:pO"Jk{ӿt>m6d I-XQ>BK@)}iЊXJ@BC@f/3[t IqZNeMyĮD/`ŋ'gz{`k$X|N⚁xF8xWFs而mڱ &g:[C`$gž -s֙qeEf~LJքmRWS>L(rSdOdSg!dw9i`VxUUGO[DQ;nYo]F6mUm5dP5Ky[" zqR1ϳ%wBw:}a71:dYBUs>7ȫpj?Jq5 {RFs&5t0Ӟb3 Y޺ݦ{OAyhf Lz:L3#=߽?\~}&GC+3 9uүrG1 Gi!FcIВGcwrGq7F֛ǁ))4cЄziBBJ /?s[Ɩ:oliqd;D>ҖM$iQ`.tp!<c)GaQ=͂y^6Dz!)+7{wxgpqN8sއ?6) X|w//zg/^+o_'F<3k24'2c^\;E}>"OGE_Fyˇ?1Bnq: |,Y 1X>ohw4ƛ DCbBAalsp^=ژ |YQ؁Yn@VxZT)3xD/ݙe6\3XMc,.)а1{Z,5:(y3MOz>2 \tBBG!S${-i*e:L=<SNX}0nfY8 r*t˿m.<+$EA%#V 6o)s-ְ:$WMg2( %$=*%wgo_-S&ߠB Qʈ0އ|w^NyKXQ$jZ92E>)tm7o;VKKې7:hX\iXbsJVOmRO&xa!XF쮩}6J˽2 k1FH"ܗb1w՛;R܉<)?E fm;@wg>=(FS2 Ĥm[/ u{'ht.-"&!$0}^Xyک2q匪^-sHS2dk]^C=9zIt0vP2 (эȠw/=maKGN"QCP\ж.3:ޅ@k|ykRq8&}ڰ4+SoOg%>܌zjAvƤN&r f?Z|H^1E-I۟+ռ9 R*+ŝ}!ԽG,Iws6흖6 ]oev T?Wgz92U1aLB?\?Oޟb4툡&.Vce2ۧ=]aϩP+7p1[aU^_|4ͽ 1"Y_Q_dCFZ{h@Uy+(ԠC0NBAlpQO[F{TQļ;KG6/Ge줙ф]Q'S.􄇍*Wr']m?

5"j' Q<6Ec8gnk+>dIgFsLyQӁͶԁ<ō>q:;l7f!lLxI"̚GS`| ut'ؕ5}`L@˓z6w՛wߗMϹ6ʊzi y)BnOcgee_[e# q{NajrqKebcUiΤO`NMӘ~7s2_>S<,^O;Sz ai=h"Pinv3)v KOtϫ v?lBS7-L?+p:y6Ҍd-Eei2FK gO\kc>Qj.~(DY>]tfFG$j;lwr_hhKk^>\|9{p=˩@GV t: %G}aݧQæ]P`Z.{ @VS\$# %B`[#]'l-ʜsJt89lrM}5N ""+_F0¯ G Y)θ a}gn3`DrD-x^kEtrxެv]$Rl@,o(wyt<F] ފLҝ,+=@+^WE>#Ezۤ hBZ>7,͗uPȽڀrduWFcoc_^;dW.=}L.Owi4yF2)+3t _pC0CzMq8%LK9KZjx1.J٠ffzWVV{$&FU2 Ɇ %doLfïGe޽]`>GWLaߵƷ 1LXg3 '~PMCܐoژ{ɢ,_EL? 8E7X?7Jc%ŠwvLGi%RYBg5VQs!7vMb{@P gݬPFKPg #0!Ʀ9Lhq|ֶ\~*y: -HuξyUaG78ˊg) ߏ򮧅Cs>Kc;Uf 4j?5*,y}q9Bʎ"N* z_:8@t _|~'x&)Ss^gm5s;Nyz"jBdU-l4Y1˦Qa fnL̮ |:ŒyHɢhg[Wrs/@}Bṃ f+ ;<`ejU `t(<6Y0@=5;mEEu5+6V.R'=%m8Z6ͽW:.Iڞ^+pOZ]f&CdnYqҕvBPN Ax&"#FdVߌ&PEwL(h/ӤIŀMH=ϨY[*oVBh!tXd/${TnDokt3ܶsmYaDgAzAkm0Tz󗩌\ϡOgZZZiKl!w 2s]P?"λtuchk 26{zS  y6.aqJm܂Ȝ^N}.碼H!j PEy'm~?Rz_ ] AkX\͢~{[w-HY*g&P;7ٛ[a-=a6{at6i-Kuos P){V huGB&OQT-7h^>ЂeAzQXE̊jQ,4y iZ?'-䦔nwhdf ]/:у{.>{ f}OafZT'J= 2 Q Ynjѝ+\(]3d$s[T Rlq7LևWOUft7U;vAF1ee&ɇExW[˥:*3 71/"ζԏUfa<" 0 9vq%8N=(a5`tFY?ͭN^L MhIg?igN4B_#]Łtt5J\Ld((u FO$uC֫:qnF2(TijF#^޹aYM4v;A0ddC#H,`jpM)=6&-]M./0*@GQk#hVQCCiQVV[z 2&d i|{bnCL|WoQ",2Br{M/*W;AF<o,&/9!!J*V_t?Wk!LA8)KxP;>ިMfA&r@k rlջ'mbuNIIa>"DuY{$I4OA1I @3M%N>z+hC)3N?"]>~ׁzi|8U;3`@46XaOg΢¹9dyV^T(=Ȥ}8J7ttMYnmpG^TF`];xFW͢NdvCߨm8K#a49سt(Sb<]F Ύza X"Rnlٹ8B~l-%ΟۓɰG3gΌP{0{KXWO޶NmD>=Ig7fmPXeKJom}hgFFAFŭ볶1(mw%y=gEδEks2X0LXwTB 7ܒ=2 9A1g@V6\H PDfɽ(cSDZdm \Q4:6L_ ďi iR GL g9R- ]U+"O?eI#GC4YHsHMM@ #x!"{}=-=z}#4?>s1 KfK;3,}>Gۓ8V]E#=j5S:ӢG<AP:{X]{׮G}0Fi){TLNPBؔq3R葤Z~8Ρ^ 65?F#oLY̱ݜIFI$#KuLCHN,9f`7EBr;p"l]962~4zxbۥgZ&>15C.[{-~UƒO+FAPځs)EA9˦F|XhD0ۦPd = Lk ^R~潜Ǩ3 Pw` On\|^oH+/Vqr8o LկeuhW29dWyiytb|6zC6%L՛b裈("mL:/܏Esal-du,sXߺr<2疃A1 " MSn„&}"atL-F`O$က ]|E"ꃯǼ:mіy-fqlG0#-jޤ$ltWMyAŴ[P7 $Enp{xdTh\w*݄T NF\kKcq\zJ2Ӄj@BӨ~w|8Z8I4)Z SΊk}0.zɨ eѺ ؘ:zMFX cvw]e򇹔b|t2Y0sdž[*ٿ#{ytFaxlD /$0,ׂMņ*͊ U ioadA(9L '1-2^]]lo.OΓ&/ڸ+x)Tз]A6Pe!fUFAfQ Ϸ7y}JK6MM@vVb[s#ΦՄʡbʶMo6SZ ɀAmyE01ekv7 (Vpm1LL8Ց֘0-ӏKI%J f"G Ӎ60"R4-E9ƷYh.cHF0}v=JZ. &S,ףao';}z}~\ro7KKk`svCϡZp!Øj{!U!gO-_?L݄c^6ksU9 M7CH޹>BTOjkPkc%$0B)H3kFbSyV wۋP!(JO4B__>V׮?.D6~oo" ̐= x()$|{w +赭) Y=_ ? Ʈ:I[p}y%LY%eH]IY?҅Ӈuj5o# :9բm 4+zlbۃd6&qI`~8{hxs;п3[;obhešӣHS'FOa6>dnwĤeu@$-Io.Db$X=Ƀ#a 7|T86Sd/I3p.ؠ w!s֎0jk dIKF{jrdPW7.b&b=,\LI=㣽-z+aC;yU*IK&n:K$&0|q:<ڐ?xzhNO2,Bs j?-0Ck h#84ng rYW||} ˗oH^y]gxLK2҅ؐo6KqQL%SRC*cٌ8Qhy{%uGxXҡq`v֍ڶ_}=‘ˡx^RǻLfn4c -FP멶nۻ S{jIQ48K2姛W\J?gqGeM%6x}w5. ~*,.unPt&4D`Aq#~BG76ӆ6r4ed*ܑ̋=4"[z C<=\)0gىwrۮw'Z oi`3L4 N*J:b>?w0Mـ_Xn}{5LS+e+r`[FdS]3Tor!e Aϣ̅6W23*y~Hx+{#MM0Fu7 5-u04?y}jOyzuMy9{}Ur{wF܂3D'/ۧ0_D)5z5BL٧ͥ^{a=:];T!HЪk.P\;x$(9@0U#:g,Y|d_'ޮByxP[j!`yhFYIWE'#qTti^oniNMcll],@@m/)f_Nf!x)CS4J} : 5jU_,_}H8n 5wY ]uԄr}sP5!v?شxq!f="&6WY&V5Zߟ߽tܗX:Ю7hBɂ\4aujiq &47#lSz-έJ@Kjjf?+ʓ21tuv(Y)epp7hMC7slOS;s\Z!C6R}vn3VTBkQ邅/N$'zM7۩.P{7%rw'HZ?XZ=SMh)u4"G {:vP;] ﮷߇d–2w0( uc3 Z=BŬ'zەbPG`[PFEXrqr]f2iԆլpeHz`Sm۝=RAN00jd`RCpvU|=$!S m]0IL.sA! hwIb/؆=^7~FcXM4fb-ij Mxi+" /)ȃf%C[N<0W?lͽ?=YЇ!xc3lVsrb>B۱-'ܓiBݔfՠ%Q!24䇎~.y5 "k|/i(;Ш(# PRY3(~Zs>hyDR 8O11dD@{$>AUH[t.<{IEOB ^Cÿ 쟮ɭP Rm*"~nR1w/(U-w]I& vIk,aVڕ0Ղx儮^fQR{ = ;D#Ϲr"omܴIdv)@LU t2 ""FT;wQƌ\P`(:d.q.5/tlX< ݟifr MW aubW3%Am] 82ܼ۟^eqۏ QˀX#"˃ܵP*P6sErSחھA~~{ δvyBi!kL0:7/kl_hj ]$x u,H;hCNciygl}d=@jhϛu5_m&T^"c8{SL${gͧ =dG{#hBfUBވKLE~ݏѓQ1p}fI T~1ADLP0ṞqGL)V?3Q~̜ @8']Qw# $"%Nu &zyPy <ۍKn~Ζdqs 0.{r{c$/nCKVN>Œ-foԃ }r AIZ39Frs!e4lzIN^%KE_jz&RھL.t'7%}3BM [`WQ,䦸:˜w{%98 ܏zz onWI&vbYǩqGD&7FbD!ckWD̠b R]2}9צfMf~iZ ,tmG6qV5x6@! i-L.YB])$4m=<5]りgmǓR؄zy&8JSV#EOb}u\ r"0Fc׭diJ :yzno?E#Na٧;{KC7EXKMۯ󂹽TzYLm?0>> YO+~LO>сA\2 (g )+(9V9~t*k2O'fxtJ=DqSMbE?ô'WjyX5# cT\RTt6 LO߾uq$쭝H_2 !{{7nIDž <qF3A!Ywqe/\> ,]L&Fx|G#YIퟆ}{9au5Yg,Dt$:cC@'>~Q*1aD0Sqn t{*ؚKf[JdˍѴ>?P=hp7Z¿rbJ2g5~ӄkEE_#}RKQO)5҄hxi C- o'J5zk 0uw옔IsBA9cʲ$\ J&?tp,]aCZp3^ήg_cj₉D=k˶1+?s"cc 7{9^W2Pٯi5zzr^hD7Xa8)F˅6B u /'=M "G& Q@ELba+)%}$/~>}rVܴaLMxDFy6T靺fNt{YhC񽓵IqnbFfO^|{}=n_<M DFdȈq9,%9|oJ&azzRs} ̸ΣF`^mkf T|.E급rSg6A ԫ09ȃ%ȂG}m^?uĪnH(2pkV'7b3=+U00iC I t6p ͖Ѧ\oݖ\lA鳑 ʔ;88"ZBvSoI=}X  ،L@<b/8Z@ɢl>ɩ=\j3$*b@6/P~~jwH($Ckd]mhIQk<7K3H2%|P}[Pݺ=ƄGg.u+5:b!s7u01v<(ʣS$Zf`#ȩip5ydtx@|2"xvB0z )˃0"ݘ-s A0AMTސ5aбIHO~\J>XeA5ɡk-Y%j Ճi*ڛEitөejHJqJF=X;_?Fs|Mfj-WGG;zYNOO-9)>mH>./]¨]PmPgzuw}k#vtZr;5_:R]̝ޜ53dvGf+Pw5)D3E;5 MS&9jR{mSLh:Hs11ix^vhvi} DbY{tEZos[tY#WlʴZ]'ddXnZyLf@uʨYkO wa4z6ʋ繷ZHm5֊\v7-KmWb{di>29|hʀmyiM#]HB=:[IX޾;w/˻w XE{;YJ25 ]呜KUzXz]+3>ȃa}}rh`Pɲ}Fs ]Uy BT[^Ls›uÚOű^&Z`]2Q:WM%Ni6MWƩ@ dFsf!Jғ Fa!p'2 w;eO={W=Da\X^t ߏvwܯ 1 ;\k~h=侚ޟ{D?*§;[5eHρ^O.ElFЏww&`GY'̓@RLxc|&Dreıf Z/{ƩJݢV"G1f^דy.>yD+4<<:gG2#(gu?dŕKo$tği7Y@¾+Fr$C#`)W0$YU{ eLnmIV6CVQ¡:(d[J0"wGzhU'lnz&f+\P"r]K~ˤ$>A@e_h,wm!яЙ%PV2lw9 ?S0~[t}C|Q& mxEW00HKQ eCft!軩`J)Bi(d*wCMV 96#4& {Xև$&8H$z43(?HU4G(4UC$*=8Ч0H֞ȁ`WTg]_LHCdsah wEWPy^ <{%P؄ٹBоUL }doLdhdRsCf<6ɘmJ7 :]5i?iu5}CV6!CMGNoBFz~}}yw׶Y18 Ӷj{9GL +N ̓~bڞq~;MA,WMdv31w 4B'p|[\F!1YLkQ }Gc5Wy SllTDh3ĞYZ'],d}K˒HۏXM]5l)iZ* COgt1 ? VzqvLVow(P[g "Λ=]gkՃޘ¶:PXP4Z`'u/iGalSפݭ`׻{!僝jrG_@sr2cX}|Ui90jlJ J4+0Lϊ#g2&z#q. ի?a;Ý~Ӹ%QAAzȟ}| Ґ-LjӮixیOtN7Ovg(Jh Pq=M)FxH~q΍a zdט $D1nEzt4YN9%c,O= /[晠] w*y4 z~]Y;пCP~(ƿ, f;v-F!6Z4'Y԰/[#?H-QM S'stAK Ct!J  MHN/r/0o/ XCǑϲjaI5815pyoūrqrw<\v[{$0MNv-2T7Gk5l=\&鸢~V70*;[1+r5Z)#d(՛Oۋ'~wZRw5W?Enn3z.#N0A+hbDi,sbVǯq4ՉF";0Erx ĨVcm@CS.0p]R9cX\.QѹN7 o|IR{/=X#;~96 &!D|*-mIٷ ~鴽~|O@X"TvTivYK?aHx82*Fh7bݐ#ޢ?.P ezkL䵅S_n #mv{2Kk8;tTzt=1/Ĥ$Xc s613v_0򲷖Os<ۑF`#$ 4ů-O: P kڧv=IBpIۻc5W}D_ Q3 ȩ[2bDɴݝ1tma_/yl~ ^nFɳW}  Q>PcKnZ0]=aZ_%Ed} _#UB@ޠ{'@S};ȼ3~jPP l?70, >)p}\1AZLnC.`tϞ!f <a `eTuf輎Uc_F=ʫ")+Hwr[W>"ZxGۡ)={LcTi#͉:37۷l-m+ukO:#q[D6"tML`Q\\fs>fi:B%ӽ*X7Vh^g~G~>qeʥ 5(#z=};yӉ z9 RGr٤Mk:ɬť&S1H|աAz#W-]M/Po "Ҝk!z{ y@MGBa  #-Ox rSXpZVW"/0 k}pb t%Z=i:x?0S<]\1>wxj᪖=ke{'e[WG]XqNh%^\@t^ӲYsNڦko!u {2+; ^6 31ǃ`=(ᝮ.܆jƃBk6?7v?+q?lĿ'j(KmuNɴm2ַQSr@z暉\.7 i1I;@H֓2)gf{wMz!d1iOmjyCrPj[ECߞ_YB݇cX2vL}b՛o1a`mڒQ߈DF~v`) PP, #-R(OW}C f FvN]f4H3aY~h튂"oAtTwCWO6qyby㸪b,4]1ThdɳW?GKRyCEwLΎzM'%ls.7{EJE>PJ\OucnM3ba5s9pMҧy0ᅢ-Ȋ A5ґ^TM =yl7#kR{"==~.6&Y䮋Jq}]=ߡX?x]5SѸ:'Lyq9Y۪M7sNʵhB,r+H`()&qLnF'1dK)hC!Av o֟|Ҫ mSaE]yc]MisA, }.Q,[Xq, oi₉Sbe PsC`)|?5%TJՏh}8Mѹl;pmfdjPO) _ws?*O 0#2wNXi$Ok8lX`1wtMp9q&Xgƕȉ'TFy xf|2Yz #[f ۹%#Dc Nc-,p1qF"vH[CcfNW(6#tfHɟ+F-zÞ(]z/( 7xV%׻>uV"O&W9gX(_P<@<hU}&^fIa3|'nD~pOPh2m$#ru/FD Q6.]y7a]i_GR`8xon,umf%*P4 (%!;"[)F?D4s .yjcM$ wH*~qKQ[Ίԫo3?+FR%;Y #]3.FK%MrV2: !X0; ={&~~_˄bpYr(c^r@ IF{Kf9EX Kasmw CIII~Ɇuo453s ۏ}1*wЇp<6x@~lkgrn^/M1T!PQ|Mehѩ̓0q&\_*Ӌ^Ӌ_@Zm!ۚdsIsa2 Q `t_ĽG, 9RX-.j Jˤ\N[^N3Oi1]N{;u`+z 5e5Fndk; R;XMOsg#x7v& 9'u33ǁv*Fm@ !P zt1e}v}czm% &=Tz/ebB73-E;Qag `U*|&]uH_wO48ZR>5a */$slۀ1VvLh;-$_cݠk2n76״Ҟ u]Wog3v(f4ćD֗3c緻́9x`m_ @kthʂ+v+fp؜6:y݆E#VSa3SԧL/߾F2 .=2 jWMdvLqA\_lWh,h%GEʞW|f8)(lP@p$+̺-z{gAW8$љ@]XsYڃv Tg!K=7K87ʝZ>J$v.Bz:S-*6"tsif,})Bu'3ؠP )2bI:_Y׷65ȏh@[p4sc+m|-ϠQ#zXJ[@^JaiE8~NlC(ٟPX1!4}KVP2)'-?QXgĺ=;7ʩs@r\ Մ0^ǞH4%#d`t^wik6~*B\n*c]$.\%cN>p%˞>H֡W ,~{pUB~bwpgOS{; 656 >r`}F_/؍i Q]Mf"t0fmMrؾw8.v:NU ;ݼ?]&*dDz9Q.zeÐYKv =lv:䋛aՖ!_ǹ~XA| i/[( :NkZ(ǩM+:Hzz^HWKytLt89fS_,&B G(}[zm%C" W T^?u긪gD_йz~ԅxW'xD85,YEبַMF I6`B =C!.vCX*yw fuF69CZ)d@h~JS!#K 4+ R;[D97K@[Jfz0`dh/M:ƣ;sU68- 7hAPu HmI)nv#J'[u" Nu?L Z\@^b$'-o}MRYi* &$c=>3c ;VLw3SA*icdv3h9~jLtZ6TWLP.ߋȳf¨~@{`}tNJfZLBOCk֝2rG#Sa;V]ٴ J[ mrx3=9IԱH-h:[ݽEzT[ !W )30ڮOuռ^nZ۾CrgwWiwAH;g6YaIgGw06pWnb}s4 (A+(,;` ^ۃ2Y1U\Vmh1 /(ruO߬3aLW5rHyoy~\|X/["-3'@R}IFh> YD vsV7'4TB B2GR,R.7'^G)m@ɇEkq̑ w]`=xeN1PpVu3Z 襴iyS+~}}񘇡.EǨ7: Nyg'%nIZnQq 5쿹gX6BLǡ xR23ЙH(ٗoY2 }_4uHԐlT+[x]18]8iZjtxU03ӴaА̸L |l+ '/vC|^ZTbCjj4-_wnKOznEMItEd6qYےy\/2̎;g" DG~nbDHO.W<(ӴՏNm>9LEAI-x`_KLr"s}W Jslb[2[`WjyXj7LB9s[p=1lwsDfR58S}ڵW |vhR(K"cu@=2QDPFZjXJ:xqT!'G))ΛCFt6(b 3'*YwMfp`֙:F/HRi/Ѣ(T0'*';x Y~ߢj(dqNtP'> Xy 뇑cn?{`:Tq%w+H=̟Z^tUh&믐ƶn68JɿynVo?ϒ+\>dRi\W?:)2mH S{hWݕQEN~ޞ[ۯ[^9e%}wVaPl{uj/MR+iPmF"nSVթ;=BR09<`@,H!F_9?pЎ2GNuQͣE _"Kj ޑO P I}Z!~ɼe䧻 JoƣШ'-5C0{m";IQ"scE+ik&^M۝:~x;A #jKKqCQ>NԘ#GХi8uc2@Ȟ˕ޗQgh7-0jIlwa1qX6 ry,"'қ045]1f0TwJRKluIgC|wv-rzzn6X"V WM>0ۑGang7vK6y,P{LGFḫՏw۽oC9 c& XH)+Ӡo"yVH@W%FkB+ h\Q(^JSa_a2Φqx UeTN!My05C=2M[3gJ10634p5Q d-!5_W_lӾ[}֤ M,>^C+Xݟ-͵"2cƔ1ȮQ",IYyDV~GG)G9b,n5AUdNi<d̫$xbS%rhwiĴ^$QQ^LԱk#iuyPu$cbo~P(]_sEyex66v+]m/oO^|f,}D@='׏XLPYwId4za1u\h)5 ϛ~Ѻ)^8 $ 赔y]=kOc<,R3;o+LLJ!nwd⛮yȂAUd- Qd9S;o?0К:9_ :BwȖV.s72P7&A&"H'0z4W^h̡}"_{Xi$3; \yLGRI1m#rç2 cD// kb-iHgn2w~OyGy~ӍI7nANЭ C(Z1yI_- w.LW ،yϑ`WP~u2!˨.Z;i&ڎn}$;ƆNe٪{:6A #x{22:xUOz4аLt>ߡuPI[Nؓq#} lwc ynLԈuЎ&wɳx׻e4ft?&D0+"ЉtmDGM流۳O/w'ޔE_-=: /S UA{b>8꟯k])z3VѮ dz{/]uzv[ b]QF: Azφ˦0z/-fF|{sc -4ǬE> 9 yݬm;u^lOOKq5fY#6 1Ճ8`&z}j}z04g&f*D񃣚ŁUm>y~G0뽅q=uD*5m,龻\^F٩Dр+ZǑik\rő̟8Q6W MbZui]qWS-47[HBO4 5%Ra!u tʔQC -!Ĉ=M@uLz*\lAoZ否u6ۍ ,k?N845&xT>*Mp:\kָ\?oΠ ~&=H燗%ӧNge3bzI#nHLP\:KQ'NqXqp)@H|yF{XO~݁/2s36<@T$[1j}$⚧s۫A?xmej-m\`Vl?})|ڮWI{@~t!o[208- C\5mj.ýzkgI!SOC1˴˝bL [@-qj0ҝ\U㻓7/3Lm2D'؋@JWc˄b,EoMH}й:hd[yci  5- :@p^2[&rZЈ6da!X`+>heΆ7q^vb}VtTTLIFTfQ,/:ZΩX17-?:ĥmǹF8_hF/@9H#o1]`:D8rpODAǤ$ϦB!E#15zεhcwI~un+h6N)k*>c>\j?}w)(DZ a%_RZ2RHћ[S D1TV#ϗ,6揧&Z8W=Ԧ1RgRRлP}՟Pey=̽L>% OXc~Q?ņˢIǷL4Pz-$B/'hBIDTQ.\M9~*Z/HZ\3Cv+>=? (iË,&1.|T{$VأjH~=贩NɲU?]\{8-#]2r89F"9ԕF:i[rɇ652m39fJIG|bu]kwP:73kWzT4[k ^f$QC4ZPq?+1yT3a.̞TNpzjg]K 麃ϓ'(9`DH E7C'Guu-9{ЅL%AQ'EjG/ RǒwןQD= Sd2(~=;D\&(BdM*`_j,u޶ܔ)odUT'lF~4nT1\ &%N;rǭ%@ SD8-%%8nu&x`(=B^5l@>I|P=oul4̯Oszɂ tPubD}W ո6jnd1kVh~!=sz_tχxʜ#Ad9eo776Dj"BA`i95jش.cEĮ)Yz V/'oo b.!,h8A^Kfƈ6VḆI5%&&Gz>xw.vs+/(dV) (z#"Y1>ƒ-ߟ"EVägǼIn^\{ݱ"AJ!Bsޤ)9\Q@uˏG)A.+!uaUу6S#z#,LN$lr 6;Ak'(e^-:[\FA#57m.'1jZ__,z˝<[;&"\(cB!l!/ZcN.jTpbxkEXy(?~GqˤN5%}›isD Bz5m騘e}YQH+ӏᜌk5]4H̍2wpUrRZ `PJ(Rl\˴ZVFI"xPki^r=dM&y7R0;4mFyzfGOu|V'b'񐼜|}3i˔EU뙝0UtqA~ԣ@ǡ~X;՝t&'2-dZ68t#P g4smrkfV0LC:^yM8= 0SBtR; 9}g j:xZV,JNۧd)~x-ޗf 7jAf]{,.lOf L&s)2)`C-Ax?^e{ny“46Ϻ, M6unw=3{iRrl+}胇CaqOh3]>W8NHdzk)rshΦ]|R-moϫYO %z77M dެmbf` YȐͦ>+SVg]|RiV7^W<|kPQ#l\02x :0hE;>SеGTx}T6}jt6:о\ jTr|EQc 4f" Ud{`ЎG«y+zdi`a/6$X09%$xX0@/-O:e @{]E>yٶ胰 cݗKѺCkɛ g?RO´nƗf9~7׶K͞GCdaIyj nV )VwGt RKnt{ x 39ꂡ&a 6 UL07u,d0z ܊ 2v6)p}KW*5gSNzOTF +FJG.eІ Sor,pI?G>DBNlO4E_gTd?I~Aj-msGuiH^e_2hLF[mnl{̈P&c EoJ}ΌiQnj:X9[W"Vh3{;^ЛHɻw HV[AlF0W@nm3v}o?ǸL1EqГMb|Zɚ^#LHufv3ltiCƾ 47_vғ̭w3:}nf xS.`EKxm17&f! ]Єװd2TN8[CY4X1yUC dP4R htY"ŢcɎ&tt>%}`xwukùoyK$DOb%qZڧ"G;y;jQ ]h&(wK mA"6y>k1c3 De1d`D2W_t7jC]C"E,B)k!ϘcdA1=̭>=Gqe-@]QP|zߎ2H#<;8 t]>8gّՅJx~~++/\jZ)H *u꾳ƺ])zAӅJ`D&qƪn7IE0m0?j4TH+" n05BF_2٦Ns1\kU'"Ǔײ%~6, =LYhK~G{,5Q]A6#r5o..w6{P8ٯځ g #ll\jG$ WN` !v]*M`0A>pS:r1;`8Jr"=']{}~''ex7;ȃb0Cn*H0cqj#*]ZPf޲1ja_a.1~]`۾o-g=m~+ݗc#!t)-Nxr=$"mXi}. ]ÒD69NbPYܓ'^.O61!3?~}MM*'EDŽHr=nw@96{Fs#47hrѵq_aVahy('Y9u7ٔR&9Na\ EfA׌9ƿV WZ6]p \:?Rh7k2uL"ۋ\ M@67d{CдFh b Qߛ4‘-ĩ%8ДniKc:gCyF/EHdK0\2v莆)-q證ߙ EՎ-9@T}RMvF+x69p o^I 8A0 B?A5/UHkhYGղ<3NY{Q+2(Px)IN$'6*!(G49> +*Zs7GA~]tA42˫i56V#W:.R<幩ٵ(Sy';|Ǹ}8j}->ip{hMo wpMle'{xfVԾ) ( 9U7Pjۆ^+vFfI _IQEA+afXOEpO qH:za{4饬8s_ jÄ(6G:l2,е'5Rl`&z[7?Ͼ( Қ#21:>-A]J@aBui>2rksvw^v[@CO1hCSp#yQbܜ]l7Gnj"$aeq^f68U (7B4=$D=P?zCW7/ 8/.eLZaBy:FzϬSu̾_gXZ+A) ߎ 9'[3Dznn?cT"p#ЉQ|a:>daydXRMr7CaTIهIGP53k1zOa/ ǤSZIEAaw$cV>ho!/I6Por4odwdXFF6LNTTcɏ$U٨n#Y_*]l0 <Ⱦ٫9\HA'YRFK KюIP$ $3;=TMZ8n՚RLO )APzE X潩Fu;z}(K*t\;Ew"ۭ3APikGZ"!`6Vќ,>׹EBpH:ۓ$:G$o>>bO^ƙF[j9CGi+gNSB *Jp*kPYnB xZh&;o |BtWQ*FjJCGk[27`rǤr$5W`SQ(bw ?8yqu~G&iHQHިpODƝo~q& 6M92F8{qyw깪sҙ!A7KO dlF/c&wʌ5?#No6-9^:7T^Fe^!!&5,}/2GL F.UO\P>P9zd^H)!f>UZwd#hOd!¡D'A XhOv2cbL> `Jqf3" ?Nkٝ4 XQe^]p"!HE~cNrhkzi{rs D%[;Pp$Lh#0aƶL M1Y-"qh]Fk$4gB=2 C}{'0y֔}Hd#;BѽΑpWfLh\xVT-hJdk6X+/ˋ:ފ4B)s5^P=OQ.{x fHm)(L oaLH:bY|xVjEH#k^ۓ#֎-!g橂yشaIL!W@!"T tϱS@<>Y^M{Cs7^ZN"b`z:.e@٫#t1f0g껇ǂ!٭yWYNon9b[C|k+Xecb_Mtοx/k+2^osOx)4#)$%͙pH.Z;T=Qgn Gzrz r/H8etb8Vw#_o3~VP@ݦj<@P7 z^)@`@YP<(]^a>Y~Wd\hT\:#"!{5ϛGivV`>YA[jBeU[hEY?Qjp}]Ѹ#Syz۹seL yj`M+Ò+]]rzAu{؆naJ 'u :'[Rto77W{چHVB≌|vAޱHttC,e2!FFEȲQ<Ե>MYI\:Ǒ qh/c'euB0ZA63="ʁɒݚֿ\ʊokDۘ q+siƦW|h>DuW?Jƪ&m}OBrwѓ>+Yz Y Sn•pP=ҹg'Ƕ6_>mO貸-V%yFn֤gX1Qz}j*^r{,A=B4|Wf_ev|}]d |,FHi`'0Q dQ~t"/Dp}ڑzbtH(h图钼[CO\Bh>34 Sm=Dy@PxgR(:A_<?>ֿl $kXMC¨ٟsw* Phϗ%I~_2bMsMܦMݍ.SːGW ۆ 2;&2q&uw XⅽU6{z fjmt loItd)|(P]SP3fzX\ ~2П(B[&-ϖ?#n_lc"sT3G1@mjwH0/x ǩ!Gȑilb`&:m{}pfeߡ^H嬫ƻ}X!XÆ-AqDzM?)=3Lji8ڴ r%ho!j҈Eq3M@G.kgd=w׻ ҔYT8*a(BK `5՛1PguM8z3!Kkg|$9*&]05i> bȹ_ v tx'j|䞐DX(hPGt5I6u`7̖z83#wtO=U0EAk{ Dџ=P6֔PӁ:u$d0h4 ŞGvs-3:3Ui[#' .Ŕb'ȏdu`W:} 7؎qhm02 TңۦJsE:a2@H c,`٭Ƌbʣ+s]SYԳ^H/3&AVJFI S/0wB 47, tJKEYI{cľČ>z\6gu?( E5k2?r9uD+&rD[ԟ߾[Hs#Q# JdhI͌>/< 5EKuS gf:'ۡ:4E^\<j["41Όjϰ>-[d <z3w=E ͝خxvXJ:(&{MS֫MGT@{ G{bMLwKXaT7m0sL2*BYzyw9_%dQNŎĠ"lXť~c:wQy$–w6Ut%G2Eqw(Y̥ɔ)3glv?\uެwh_c):|@u@gF́bDރW3y]qf}4lаkP^nHTTܿoZng)69S6YnZ=]zyux!dg[z_4@ hO8`}۞.~[D):[j2>:3qHgb$>@JVg !]\4_ɰl=5ƾ9li:}mPMۛEZOK5ٔNB&DuMBmue;9^{}}dm(]Gub&exAAo;gz=yJ6z}ꙉv~j(?m>\$n 4zдiK- m䛓uvdbPd"KmĄtL [ zU'Y+J#Fn-~ES1=!pHďOuD~/㤸iD!tcj?Daz^zzXz΂` RGJG^ 4.hc=1X/ b ZZN# U'ů,)2.?,He κc@ڌ=Ν΁:vPb8&5y O9f3@"zf?{zu~@GB n3gT@וJ/c1YEPA\9݋=}sI`B 8gki=>Zcv3]!#^F׏-Dkׯf: &hWGdE@ߗ']J~s+c01軦!f8kN7Y_Nҋ.ysyz{OH3ڶyR[(b~GgBs/# C0?  ; - C@Qi֛kU< h[FM{ePyafsqݨJ-[(ņT- t9!V巏=u I&&Σ)ek7g},`QJO_-H@=^"H2Zek*bcyEd[('d(X3׷2R:ma" cbf-ه@\!8]HS#]gr=%?Uu^ɏ}LDRDB~|uT4}y كm8lȤ'/uBE2BNI&z_Ƞ OߏϿˉ=?K=xa-` Zzg4>QO)f ЍzNp^֥-&giܜ'~n{n,?V'Oh3zL^;Svgg#''HJ W/e; mܧE:FpP$}Iz@ElO VP|oǀYz=v-ĖCHe#a7祵T{[P4ZEoLp)y6Saku]Ϟ1#a/PPl4 X+&+u4|ؑDFzu[Ϳ~i;F ƉF)fd|1 4u[(;y}C8;v))wfA1>mt (58;Th }aV%/>J~:yDĆNUF;Ĥ eƿVS%{x{FOz DBP{=ֶI^/\G)+n5}g=W!y~:؄P°K0^Ai&ԇH#"mf㚾3gd%ⵑl*@I4`\<9z3iưh '| kj`k6)VJ|G_޵r"aV!L:2L $> v8@jd/11*ZdֹQ(898N}㫷!A&' /R(B!::r.JO`?u{k:Z3jD\籟.]q-:}+j;fWR&71=t).<ֲp«`U} nj|G9ANAVi}wvb;p~JFn*lQgX )fj(`L{֠"{PQ@ AN4`DT)}6:0$LzGwQU\wn BCF;+bй̴+Xuh\0X=]ln1bX$>D<`y +}(HeibΩYiCZJƇz2?ZFY|]f~Eթ6k8: PpXZ0*Mu~V&#ձmGLjI5N:)(8VAׅKK߭# \_׿]>|0􈽙y[oqL#rzx(7_H|=x4Z9ǕsA%WMtsUBdi9y6]"ُr= N"1.Yr (gniC!骮Ӊ((fUܮ^ش0= GGDЦ' P!p.B6}3]2g3}?׼^]ޙ;%5q+tBhLj 9pZ_̻͑Ui^^bwys=nT{0%Ƚi>l;BԸZ(-ªxxHZݓ9[<*bs.iqcvz9t2 foN,n^tGuL73;*KV0Оkz]3QJqh-&&Z.tNftUr HӔ|cڻe^r6eVHXdZ[{e)6BdK*nZ2[莏x\e8U`l2Fketx$yKcz㻂C~Fo%4"H׬WuR3nYӌz'733#ep PJy -ڶ:3-Sܝ`.ֽ̙.[NDa vH^`owsgE[ SI =@\X BA*D뇙 ׍jLyFш<վ R FHɺA0E8HnBAeWYZGڿfL5"v.+&z&IQ :GZMqB=8'~rt3rhtL2 )0-z Ù 4nׄ&= U-Ul>LZts*YXGɨf!8P(Ovfժ;z2պx$&G 5 4w em&pl(&N߿)FQ1Ђgq5ɡ]ǿP" F~,aVdNHy Y'kiՖˤQ*2l}vwy_J~7S$z:-`r&-g0kN^m~j@0߱F"+BŘ@!0<"*]]  _=?L[A0aoN/ ,htKZb~]D0Fyssj[1-\?"H!X=Rޔy(dѮ͛;mh0돵iw9*zFBnw=0s+:ٔIo8Ugeȩ(^6v77ۓgt,Jb׼,9 wZ1rÑ7~Y_oZXy~5O4SL]O٣@((`mh9KXshkk8S4Y*o'?n "/w1 r}d!iZiM%"z"%BwFɴBcnG{kege|GIxO6}Dcj8 ?t+_Э|YUsWd3EVDe* - 6ߒeZaė\f>s>ESr`铢p? LLF!igErrK5ݹ˞,@\+w7Q|\`%dzJg,v )^; ޕui)a胪Kc|Pgn%<ҒUdHO⍜t93:CY;ܢ"mⒾ 6,;.eTΊ%R,O^ te-j[Y<&M`^!8UG;*σ|"4Q&a\{qãW{宆(KF?IY1'{ ts$sTZ >k  n&̤SRAEo}`虇6Ғs\0 45}/d 03"[zw}(7!>p1LX)qsѕ9VxoI1mf b|QݳݓhF p y>)~ўH`pktC{}0Ǜad(-fwWƱ/ϧ'oJ~^{QNmT #tX Rc)p 1j-cW~[\m.wgLU'ۓ5&: |d`~X;ab_&t8zge8)ư MhCad:>Poo,ca6(zPЎE6a)`sy8ރny uu2ԦJq{I Y/mbQgtM7}B6^iVP\%^n51;gFt0{X0o+K`pͬͅ=Ӱ6CQ߮<sW&SD{h?=Ds(HB^h7ɯvLs "$<+`ZB1arP:`J=͟TD2[K gJkgB[4T+8#vzwUη7Fx+ &GY i#A<`@e/\xEvɣq!k}z'3. AEEp};;zѸr)p-Ӵ!aF;Ks$<K 燑MV9+o)s|;'q9JQ}!CR m~,ebze(:[4Wc;]lŸH{#߲ LI"{Ve] !gdf+.Mn&-E-7>!W`D|^@`jj־+' d  6 ) 8IC;h[rtFWC@DH^~hEhrtFp4m_+o =P]~{=?ShHѬ \Eyb@0m89w=ϩ=-gy :һgo`La {F_n׎k5ޱSݓ^N/tm1̼D.E>Gui[wlĩa+8݇SdYO?<$нH33єM}ry{^^<oCC1':M ;5 Ԋ AWS;ݜ]-,HXV1ϭBsT:K;ɏ2oQf?} m?gä5A@y,7Ӝ6Ek>͉)ґz"˻!DQ82{A k1vV˞Em/p&gv,v@͙ǠӥM FȜjin6>,n?PtJ1 $Ȅ5 Agbjc3e3'>Tk4\fB@,\04p&.R!G F2Sȃodz OLؼ>Z.&ZYk%YzhD,Fո쾒n_^wCS@r`/x9$})En"E"hؾ XpxAT%&SKgtWpz&x0G=SɰdFΩ0fFٗjԴp 4V*j BsZ!z V{[^ԑ]PZ`.QnuosmmÙzDz ,<X *Uhu%׊%băg;]ӈiD6Nt6giznnW?u1(Yjt[Sb%lYS,ܒ`RByI.庙~`3%](`?}5VHAt'+QG{_3a5X~HFe"ՒyED;y#*4|:6,ګ 0)uI]#DX4{>n#s?t(݃=i(Q|Uھ1f#$7I 2p'6/Gnp 6} j(&ZEaRo okK![R#x({[f 3-]; 4OW|zYu;\̡TSu- hʄ9#<ÀMJ==*yЉuڠUu&aSq>Y04q <XBi$rw}ԋVn <9a$ǠP00sx!̤ qa-/3@dd܋~Z_اlP4薅4ZhP}i ;ڳ9a˴TlnV]/7W #w{# 3`2uw'ef +W0MfVn7l\skN)Vklah`A1_on{#&w$5?zE^U@kgRx8+^1mk.r֭7^q_w:GơS9[NVξcb_ ^'<noZֵk6P:L1~U{hHhԺu%so8< b6[M Aº}!9(6r>(f5=5vs%{ݞ_wc^j6;\FáD800cvb1ʿٳk挓t$ߕdL;竇 Ӎ%O@݈RKq24r'!cғg?=?+u  cktuZ~/!AnfyUy2L(ldA`V#V_#q͑V'#~eNIT/TQse K>("feI3kq J{Jdt,a`NWaЩgex^u/8}52gf7 ~wDdDWHf&"Ⴢ Z!,u,iS؁qn+Cy`0HOTiOZȪG2dJ:ȥi*S-.n=ISX Nؠ%۷tF@::| E]ۿZ4I'pBM^2/X`hA1hxQ\ix2prȱG37 f*;G)!-l3j*u|ZdwWw绛erYB؆H[!zvCn?~碽+vmƮkQY,+*ذ.;F,(+ ?`I3LRw&En^@1F>z,KYk\iw S\[T8w_+ŵ_p,ETn\Iub 37I|M|{8ԸzF!q+x0P[TDo  ˮo`Qvi,ܷg\i^&C%-8)\d(Dq4U|'r~.7m/~e^2tTTήV{`#WɘR2f6"".( 7[EBH\͵z=c@M)Պ8W !ܹ:~3L䘘,R \瘦L[N~z@ jurj#l p"V, }ǁAo_F@fdLK. yM +Y@;k>WӃS8zX!9goF(W -wcS{|\ft\$iRľZ#ڍN10+!vǏ*xV~"wOQ? }_1e6i"zFHTA o(q|4u"֏)˴H/ i%Mm +ꗿ#1AۓEX6+P'˄Cΰ#FX~>|-*!v/\Ç47a"fNL mȩK)ML\91"Ak^FD; Iscnn{ {nZJ|}Z v!ꁦ '>W' d%nv:a@'dHСu6Gm&Z%оͤa uE:P*(Лΐ4B2ŐxCZו).:_p5ZYbGaE s4kceD/[ 8 sC3l{tr0zG ShbɓfƇ?:{w6r`'6 ܈U(|vz eDR&); 53 s1vb s[r?M '+੸ *;X4Tb C^/|Ddz"kVNz'B!2 SI +siwV@Q~, dSgzM?95uh6׷˘#rCx+ YI..&5v .}W+i(8:+:,1N)]̰%ꤻt_{TD)"2mŠ\Fq Q7|IvR򗽅W@g־' d{ԝי<=~6CeHLe9˜B _!+MXA1!u$L,q/ei9&ET9=O* WeTFCi%-B`7cz[L̳ɾ(>4 ]l[}|c'2:U?j {50u)VدZk+U"8Tz ZK꽦bI='ϸ"uI(#-BO^^"gzwsaV)UP8rksK~۬wZ52#~b x_R!%뮯ƛogNzmmYm[MHIeͮ~V@;I֨#ub* :߹=@7R+TJkCqzaSYh d:"MxC並PPnT:?H&̈zHpF=YE5]ωt^.PGLWE= z.Qlڢ|}@|Z[~um>N؅\OIK ;if{Բ?= JF^x_{]3҂׻c1~V46tV耬k'} 4{+eU<}?0=6pͅ7_qln.}6cbr,p|^vQw1NhM̂*Acu;kEmnj+@,ޓGLȳUZ:4ӢG=п\^xkye:hLs3D>-GJw9|E#3nbQ AG|SVP TCI̊ d j- qe&o{b"Cyn$S+!iviKfizT-zj;Pz.1Q}2M^!?{~n{H4g7L&M>Ҳ7B9Dnp{96e$HNfd+{&ev8ٕYECھHV7Z`5BnaR`iQnĊeJ77U>%>3YIL[/2vCQ;:6]lx+T/@O`JW `soٝtGLcķ_MB4(BxzcIYGE:zZt榹La],p$4&t"E׆/4 NQn n P0ʗ .i>S> }|6i؜fzHs34/'0\ ^B*KTXж Nśo :snJKdNP~%&kV?un}BWoh62GIfOB\1LXZobn~̈0{A,ܟs|: UK)pt-jita3rH pXگU>HYijX>(J Q&SʥlGtr8XoOhǠHo #P dL{Lkt$;Q%F} ]Q!ߒFɢˣ40PPn`pcf/^{Y}g(Q^G G{M7>teN~D9XAˍrv !vCOb;%6?Ү ӵo(v2͵9M: =X$Kl- LUA䞑N@-}6(Hw(XmEdw GWjzX 靷Y4 }a=ΡNVi)"zmM]XZV?nY8;,H~M6A@4L%Q;98Uh>G֍$8c:R6Ulp!\%P)3%Lm`y:4ș16XV`riٽx;^m<)O29e.6SO-T6.ÕXVs\r23NG8'}y8=MACS$OafNoJ 70XLl0 jC{#[gwY  :4t;u[4,iAhU?WB?k)g)L?4V*&uyAM {'A֖sJ%a6#1n ?vAF*R4)8BQ@:ZdilK G2ђ$:Qj%QYe#cZt0^P=٭#a 4d٭2 M)yj-X|gE3aNO}* ,mf-2Sdݢwܬ;?J~y9`{Sd)STfя"hS[^,.2=La$P@9#AD`5n>o Y1OyՑVM:>ٚ0a5n~!'yOSn /E܍9nS"slPY, %'8h\J]%Ěq(<]>[! xi 4 2::~ Yg~T {"2:oq P.FL禙jer^W#tx ?]gbS`5Ń>5ta Aҁ*ji2#48eE[Q?ΐϟi dr.p)4GKoC0?U0pgΰi rQaն^lri הш2y82z:A HH֕׸5Lt̰]VOcG/]0ۇ>cLtyW,#T2tJO]"<ٷhWf 9 ^WbgcIZ{)j_dQeoJl_鈼\ )AK a12ΜhߨzRJbQ$wt:˘ scb>f%7 ԽJjuaܞ[\K׭Q㞜"i@j"fi '`A0Si3)MbyHNH7O/3/3rfu~wVޑ Ǒ#-c $4|a3%&np2u3*R5Ҭ;D{R_CI3Bۗww6]hR^HF``Rwl=BB ^&2u_7^H-<ÁyP@._is YS˴G ՠ$Y'^ow Xdܤ5"HZ qoc"G>?=G$VRRi8&xA℗u+Lzݧ޲CEӯUgE' wW\KVCuO沜`Zzy!ue\inn6_gIJidjzhzu;ӽ*MӬAzQ=-xKA}_w&YQۑ렀4su;2hd,fgels;Bl|~" 2|^c?&𤰷742pٜz73 N &6 8D1ٞhAu޺SDދm| ??U3{_(;ƨuVuPFbx_0 _n]ġwBp }\VGtӓ(p_Pi/< .6Ts ]w}oOw&FqA݃BHᳶV`F㐫haOVTj5o7͓MڢJgGed3j1K?&E(8@ojXخj539#g$9:X%,PLE^M5A`F^c]ki'kHoP[JW{[(|JU~cOzJyIZ2zᣧ{  =f|}lIm[¦?r!yus]lLMG$}X7guvCQ7;#aiޑΩ)~o<|][4іPtq-ji*doh@HorUgusuܗjVhKr&fMU^j@t4/eIådj# q z,{=sޞ*6-{FWI[8 j(O@Vۓ@E(mWfk#W;WJAq!3s4}co=B* \]KոO`@_.JN>Zk:3ci78Z|ikF3$r4U,V}28`d"YLqafl[sBYu2]M"y߬p CD0֥$`p$/%TaA~1UI@-̍I^Xzfmx]zwwn6\ηu5 \KHL3ˆAx(͇Jz7O i̠ }!RSV(*6 _u?9{|ޒ$e:QهOJ轍_N K'`j;G= r73BP'\8J]!BV/6vWoonNrQ5CsNiIt9L1fo0&\cOT o̬MAfwmz>[Z_(si{rUS7bM-WyIځVq]l6Q8շ_&E[ Sg,!Qvz+ wF3Ȩ+ݔa@nV1CAaؠU4bXЯ'&s]l'Kt\{ϭ.5sp#TnM] r_+|jAd0ڛ΅hQNG& _=6X5_PV^ it1]3_B+=]=@ecjkZ9ks3ayYڗire ~8yZH,OOٞ% dv'& a7h 94?)!6,⧧AfTH8 SD$l07oqu?d?/@YSS)(eƓ$ee C2c J(ɺHʑAx=Qa@  ?/edJ߸~xޭ~]7QOt864)hg}|/ГѴ#$nmͩm'`Dj=*K ޶q1[Em~ݠ{n [kWok!rѢiEAڸu>LiN~@mKՋw7_;V|B?7Yl V!кQ/]e7-z$euhq4EO}HcÝ=i82J8M{`;77Ov$OEQ&[uM)qWP'5O70ՏI˜[O3>]P(Jo+B.?􇹩ryAFlFL~J0]¨.!xAۛW^l'tuz*-ennT>05q_pC2vѩ9"[tyt%,szL]15 *hz2oQ\jlԿ̓"-ZW^i$FdAg&L!|XvLSeni0}nyOWjl0d@r|NɔၓꍱEQr~X^ğr_]mRFicN&)UqצdxfRlwo,ݾZ-/Fe v@8 zxX~Xf(>N{D5wVav!Oj8t.W >مs? 1zVto׏%]40d<%lCJ354$D<)FNS*g^rn=i#́)R'?ÒibK6ˈɑ'.9 ym LIfĠLx8’RL_te 22LV-ym]{L}v a0 P{O.o7Bbv)ґes\Z-e*|cBtKWvnvɫZ|ff#1L24ZN2XG20vs"~/_sE4] H (u=>D 4E"1R}->'033Ƅ.y3WY0S@nTVHŏLSV {:]qڠ!'Ys&n.cE&˻0y4H[u фp'tmxynF=щhc`2-=zyVhK"{`FSz z%28RJujÄ_vTf۞sMvCIX2BQxki=sT$Vɴ:svq6t)2cYι$8ɽ‘v}dtx@fuKkܿҚ˝L45a*mNGT0!-Dm~<{ -헁By+F \ps!j޻}G(FE4qt-N%?#!?n^o~a2,̈? !8q@+hW+ "DžA YeqDzWAħJɏLg^=N :΀l8ALjaڂN= ra 1$iR=\'Aw%VVׅCNk6m۟=+|"fϨ*'Ǹ@| 8(А?l䒇Lm ALYBzgssyO; b<ժ^$`K/o?@ VI>pk5}bAYAnm Zү6'}0v}rY~҉l9fKNOajE9i.zsp$F?TQndGC4,.NDmf^;sTP\0wGF\0)x@i<`LL9Z]-5}N{2$h`;Wg֚?eɆdtW ejfȒO̔_25Rk!tTEC}A|"B73I~}>_/6iI/φAaJꙑi6G̡*+ZT@)j''n|`QePgdΠUψ1n>0'@ӐU0GO'O/!}H30 Y͠UrNœC]r\}C}F?`tYN8#Je!,ΙHj v.q֛F~$@z(y'yV=v1B];C!Eԯ]`t*M ̵AB,B}d~=>p~e؆\ס7 Axr FƛH#F>"; INv}zgF6GɇePC͍:n퍯>::)[֘)iC#hn; Yӛh|r*v<Ҋ&<a~`1Ơ@uR/]n<4Q!`xjDc< g?+=YX#mSB_+7w3r/w]{ #9$7r39[a0`h7L]j ?z<.aطzr:vARKah&*>"rTLԵ;&H#()}(DWL\Ծ<۴xX|.yEW괼nU/fGhv>)HS/3la X ðAUjs6|0>BnWAQú&; Z}8E\Bn]>$d!&& i>4K}z}nkߌ_FVoˍ\ۋyrGͦz5I!kx3"U(,OFfS~"afwL\N32d?[F Hsfdq>oRut|{N}O =qzYN>ږb{ _['L.=l,h_v0Xee㟺^9kf\˅>H-ӳN/Q)n}2lbUYwbJXV_nbzWgodhMgZziH쌴n%ku# hYBatM8^hKdS>z]"74,]XЭ2C7S.0Ww7Nˬ h[koaжB~\nit C);s4/3>wMk FR IX߮[ [ok9}DD>y9Ry* 9\fy[.;S?l?mN@\d"Xa *hJAF& tRd?_eUd%3c9Yx g!}۟N v빃Vfz:tj!I2=j\r=:(dBy lw"e'\_a}coۛmPݜoL`=iM]n 8P'$OS,cԂ-O4Fa(2 }БZ^j̓=w70MЧyŸFY2LBy@ A+3t硞=ChcT;*98/ `ht7{j2yOzd7[:Zj7#ʸ9Y-o!%t >rN}Pe'm@l [*Xy vޔ󯿖Bdݦ^KPcPШ 8;zVέ@NK{x|O nq<ؠpA#aw~×{mk Jhrsd-RNʴ{3XoyMacJLT3 kck}f7> ҀakJmIwy)pNZ& u:W'L{9Zcl/E`A!@AlSGZ@{ AKD)Z]Nıg~4-~.(aPV8F޵.s'k'ԥ:$[)|x={RmitdEN RwgI.\:GׁE)SpI5y]=M?6.oV_Q;w{:An-ȅɀMrjQ`%O]@0c+Qi2p?lX'=KVX:0MsU+cny 6&mk!(HpVpF\/J?ٸGB[9 XuwRejle}&7$@i-I9>I_.o 9ԨHZʸ`'G? u|6)m - kAIO !M3dZX`cNpTGh ERgeo.q'0݃qI!(itjيj> #cѿ,umO7 p] u<|vYl(Tڻm9%JJ']t3`]S&AX`[<.+\yos@UWz&xw+O1v{|cH\}}/?~93"Y̥\T!lGhj"Z)p m 8N$ٳox}C.U>R?ݵ^!wwlBL!N0`o80XcPhϚIZHAPb]*%( -;b_B6O.hyqqNg&dX3*~:L:5a@: PKMٗՏdϦO;tAFPt}im9a{ujc4׮U 6bO}aNPfK9OÔ [plΓ9 Ʊ6&t`{ZZr&yҶv4¬мnİzМiC+^\A th;{>kwh:[81NkxnN Ľ=;Si cѷs@|PF@PJ(OGzmn+FӁWd=IjgfĖ=7 㼎XfAG(p)r[#'n{a|ğNgCSb6CvtA Q<ܭ~~=9\hOBͨд5ϱ__3l:zp(0| #yPt#a#Bzg'/֮AB. bV?}\NNCSf^Ag_tFWYqŏKlfQ*׺\[ʚ:6̗h"1o:2B 9ڂmo&!?O'X#QPz(+5eD0C?16Bi\P :G?X9x)PڼSxZBOM1HF`*J,}S__C#{+ctSPAf_ ْUֱu8s@E5DrЭ)# ѻoL^3}jˁ)gka X!f/+؞OFkq@(؃!GlU͇l͠m1Toz1x°>{-L!-k'HP锕'˸n( Wf:6)]j-AOʹ1k3b'ɖ,#?{8F1}"[w']vo4qgu5ߗX2uI N AДIaξEVddyB;d&'+NB:z11_p FmE7fΊHƪo+/|lJV'C5M̼؍ mpbLrM:Gs#?cbY|8LX aQrS.Tas}{09HZOPƯG!]rȹ׏ 囝q%v{0N煍5Әd^?ӥY!IfǴf qmV=UBN2"ќ~uǼ1KV ӕwB+ v#SerkBuAj"dk7[XO<@kb3$GD?B\nk2۪bG珨%A[[$1t}SpSB9_I1x͌g5E] V<)'΋z\M~ZfP[PUkT6 (VyOY]m&ePw3|^R5/\߳>n6$H r[rgb1BQiql,k[8[I؃`ÆU1ζ6Wt];)0ViS]^v{w+D> DA\ ]e|@5l6tYja0H4MNs ۗ}-Iq只St)(awSlZ&A&A*%c.L_zx9䂈Ld@yeğP"7r3AlEX^`4=2 L|:f:zrjAnNț %,<|O[Rt0Z(TOB}Mo/nwD .ykzo35Krѯ&W,0fiFneKQQBL )~fVef}$kyq婌$W4QN)(gM]3ifؔԤ&Pqcú21<@Vɸ񺹼+F)Evu-3eIaYg Xpn>qZf~,/1b!t2=6 #g[x-[77Y m'EY􀟓u}ӎSpJcLGFؐnQuzX~M4 4K6 5*!iyP8 [-#E( ΅| Eja:Sjƹgzݏ!PkD3>@dphȞp,nk䭰$7dQw4_Op!9Z~H R*= ϑaPmn~t3ݎ 41 x[X hi nCӁ N8T4@Ґ swY_}?ͭЯ&Jd6AV\F# TB~XK Ygk+Sp54H7\Hn5_>ey^DIZG@L"w7yU aAQs(pGGi&K6T^^GZ},y40OU\< B-1G}ǷC (S!g?.xOF[cLlӭ~])SK[FH4Ks7-U Vys,-tE#o /jTlt2>dΪ]=m_z \fzN1"P >Po@J>i2tYL?NMkBW>?SDop[BqS#tu2K_Iϖ1s~ҵ܋{]i؞Mh!/`90&k"yo@-.$jd;Alb]hf{MF+#^#&! re9#XiXF?ޘ {%C{W|+׷_nv)0rZPNe}Yq[N$ҟ(䰻[0u$ѠQiV/_Y>Cۣ kШ_ư^nQbFaj{d~||GyppQSriJma11wv _ PY̖Py ު (elIWROikX-+hfa@ءÌwdCT'rg?y͐aօ4>¯*2VT(qiQ!U2#߭\3nI^@Ujj/wg?}9^9E7ҺL/IUoJZ(~Q|J`7愞 "7v 7v <ȝ,#H?ǸѡcoEibr֗\]skPjB'yDva%WJtZ~b腤s3˰4)y߶wni[:ٝayB H6 mޙ^ƒƃLC85'1"/O3]735̳aw L8*:QVhW=DFEYpm{_8Xs0Thi!<=^SU[.gﺐXMB632nfn]S_f'NFВU@8 N)Gʖaʺ[ĩ;ˏ 咝c4Z \\L}M:jrj}K##`gB.LA/E4 g.>*5F1cIWvw7OObFA;8zROjoŷrId7MSbKy^<)C-h=!ݢ`CCԶ[ZWu|}v ~[[yOHHXPf Fdz>0`ܺHכxO.hZ #-Sr3]Ӂ>l8M0D9AGׁȖv@"!%uaYTpy #7hD!w z f:"!30.M$maOO4_Vn. έ/?ɸWX{|N?b4 ih( ri-pNiot!Q'0R E*~vU v8.. mGt]n! .D7*ur4=M? AfZAn45*ށ1bq܅Lꐭ^_gߦ/糟?i~&@*Ws!sO_$k>?%Bx Σ &&|Tk}Ǽ+^|&D,(,W$$!h%xې\`I^L҄ȎupLMO9_RKݖ{ ue{*яbbA gwSc&.85CMpJthW´Zăcaֶ1@ o5>NtubV8|ݼّ~Ao?2qXɘ2(؁ %c0C"ǵ7qjaѨţF7 Nl˥G^ňL$~cz F,hZAc5 (d+.#"]aEhjq,u22`vmEޠIEP+{T0& Wme*]o:Ӳ=mHHz` TcMe"4n<+D2[! %ZՆ0(mRPl8"0~m%aA?(Ȕ1mus׏5a UĪyDH3٦`Td^/N&:pGE'УOǹ/aѲ6_)Zmł!mQVpd u/ۡfΘ9׶`=*r W)qPgャ^^5IWz INC'$,BУ[#u4ҌZdϪn;%U˻!!vT+Fx:Q\%fqOUf<[#3 ^q.QHaBz k`1QdaQKezkcJlAlcjBQ?6Xj-5`[ɊƑx82qwuJ 94f0G}V_bD|K!Gr^vh*ɠ " lDwn?(fj4N6Qn~8ىdYﳢ~ZC#smӻhG\BRN$,?tҟ3lNVQ1\06 N}JCn>Ĉ^xG¡t` )qwZr+ _l1TRM dd<+V b T~]a5ENV`yX.Vg77KI? Oo5 8 u1gZjcN~4!0|d&Jik];EHQu`==lOi76v}^w* Pma4ڻ3t42Ttbrʼ!ۭI TZA<2zk)inQ|9i̷e3cu1jWP^luh _T* GgZ3 bY p({kT mgT}'>!hq0yz.ᙔMCȭnw'} NBèV7F/<%,أƵ %ͩOi{z'2PshVֻ_zzXAr|jn{ (vnW4;)Or <kݜ@ZQGr<&&ap=._W&Ĭe^nOx>aN'L2Etib^'ӆyq=ʈe|9%eg?L?sd}M ཬ:"w<1XosgMv aq:Gjkב."d@qmˢnT%[򐃛zku~UZE^& IJ4ӊۍ captK:g#Y ~Iw#޸*ô×?M }mkk@V.Nd<[K9IVo;~xga~N07g5t:LZC0cUhSAOF(]?n*=LBS A5 ( iፕf~:{f< PS%sP!.w69iLtiԤ?JETO7j7:ikzx*02PuKGNÐiǖpB:voD\j8u<-Â=-°_'ߗC/gu((F8:_c!f9m˓Hxl{xk%Owɺ?izğ,l(9Fr} KV)āvz#W_w:ˈLo;c|#Cw*ez]_?*z=zJ w)~4ߗ.Gz(<Z^UJƢ4|dΜ;8ו:R-qoaiCVMDRkfsyJtJ⥸2V(y&E13b ) w)(&ژaA-%`y#I7؋.7AXYb "Sʁ2dV3v)Nb8fu>>~|l4vۖ tNtTn.76i= tgFSDŽ{(( Ao1 zx0̥!ۥhE[gx LDVt}Y.h0X:]}+09i?BL38 Lk :LK&cpn뭑z^oZ|ZKѴwz%|ZW%)# ـJ'23=^G`| AKXuF[8NHU =}{}kFb|lЌGg#%t=8!z3jWL4ŭO) iXVl`:!#U7E\\kf܆nV׊VDiLe]-8A:ϞF`D]r &- nFM$jst`(t2(q )n`%j_S` | 貅0gH3Y^ptp,E١aL!tR)L( :!&Fy"Jh"؇eKS撎Vas&-VG͐FG0d2=#]AИ}Vc3' GT L>q+,%Gʫ&]`Nۆ6|She)5²~@׺?I\&|CyhSABFk}"4q<vVѹ^Tv : !(Oڑ;znaGoq*a95 a> Ȭ n]C_"LjWsXHwe["ZKoJ"pcy6Y룎:+??DdߠLg'm/K.H^c`}M=_#i[+PH $"D iuaɨjNU54dylHOgL|!y!.0JmzXg~6!oGPZ*;H\7F,6XZ>%E7;NEW[qZ8OʆЏ1F>> ],qj=c;Le^m;943&#2tbOE|,b9z)L7%!&^z-ؾvW_ۜ(cǷ hom ~nZ0gε֓QpwMq^ +^H(wCn# ig.L&7KGd98TNEH:='VRL]ePwN@s9q#-ӌ]^jLHOv48`k A.W`LDmD2LGy!?"4r㺱N e>&7jR쏷W (4CP+hw!e tPǷKR"$jO+"- 0! P@ +wn 巾@T 9t۾M\ca&FwBe` PXB&m@x  65U436BЌܭԘ|pЯ??}\oOƹO9qIȡYO/5X/\^I4{zhuS%}|d2aN1*1Y&R,[Ӑe{xr$%{,/Dg|Qj+_.}X7 2 (HM!V )&6Ej?v&NǴYۄK՚ɲ y+NYˈ25}Ed?P[Q'i`JMN RL?h^|r5u"R zu%E >ʮgC8 PY"a"'nOt[Pl2 H`3p>TnYN?wwX= MPHJ %"Yz fnF/ԓ0ly |cı{ꢽ8 /<??x}Д?/Bt"`]9*H*y:j "9\)Ǯ9~xQLe(+h*?& :zovB;gq= ;YePP>Je~W?7M?>鷤*do٘.ެ>_ XނCLf"qƙwT{m inq=)XI/0w멭u2 `f? \|: CtOX&58k49_A04o|qt6y>1- 6O|x R.Utbo>9;^3Yr,Zp\l{"8gQ M1͹O\@4:CU,.`\orW;u%Co%,⣢ Xx #0Iw}d 4i(z&h*N~js{J'} ,xdl[50seX̂_߽Dsn5,Ԭ;٢n.4ng|v1V9SNIBaEVϛ8cFd3e95~aYAa\'fuH^m5쾘Ւܮ4C!>0"?/HL{6P ԗ m͗GZ2X@``3Tc˲ƳND_/]v-ڔVjru^)Lg_l*T |،K7ϺkCB(-gE-*u9]g~5-ҎY!|6!zuf>N:p)h&X;߇8[Cӊ>O,aOH l,V&;0+Bvuԍ5C2GWǶ?((rJ~0qguh sČ>ѡwsuyNC돮M-\$N kEu4gg@:ZHRе\g[*l3SWQlk0xcg=o/ hpAcaOGVhpr0 pybT/8etM ݞܻCҒ#~-bxn{#H@ḋtLmRz*Λ~kDvy9{s8*oPF(qA/̙z9L5i+_,uEjr deL !Kmф슟;㬌SC]*SEJVVoC 7í?S\u<n=#Ǧ盛K?bP`[hIkOvTP4yeS FV-Ԃs1:q*z he`Pt`#]~CiTHˆCLw8W415QS%P#F_'sP)!2=FMH]OrD0Tgtw'`1jeFxdbBqZ`a8 fwhd[ 8}eS0YBL:>8Źf|GYBBW*7O"WZ5L @>/Oj9b0lc%ʳ)E(0ǒ<71'F9ћ9EފDJO{přljh+)Kt_"7[vUpÃc"6@ 07Kԯ wz C/s$TٮWL]][E,S h!d4ùgܘX!\A3-IөEXo|hD,j7go}3!F~vn@z"AON# ` f$ֹ1Q j@R/i9|Ebk8I觺! g!=ff =3("w/!wciI'FFHF]nvF#&7 VIf PrUߝ- :&y!=UB Zzk`p2_Rq$Xзgp& 4fHA xi>1KcC>7seӣI{T3Gո v q1#tw7ij?ӛ^,P8j #mjVzVϧݧ(ѵ5N.mxr"40|q)w@ _թ`L2\XKG͌|(CPεڣ ! sAt6:d"ϔjAG0v|c\WsS-oΙH.-Ŭ#1/͕ebgk> QPJeIň˻f0yBJԺ~Ӟ-> ᅵe Y"s#;ž롃A-֝40}ahI*R:Խj) ,;ayfF;hϗuٍd{[>Ț8w' Yon68ڕbQNFh<"X_`;\f |9re> Yw ST. :6ZJ&y{l!`f07IqZy/Rl..PdW"aAR"ihz幃~E\=kd =:iu] B$0uh>?ڍ'C k'ԓ^B05! pʫ'G.dmި3t&P -CMީ:R|??2}vxk3%guﲓ0qd\C? jbChvF ęRZK͢se\,!sb.:uh=7vy~.nAlN`ǠXՇ|* Fq%e씬 8"?nӖxmŔDdY[Ĵv>dA^j֏`.}цQWlbjy-}w%Lg)9=_IKh.n{APpRR; N_ P=-jLS;]]3 /3bG _hO($ɼ^L^x~=%g?̾Xh)d06ͦEyYU4\Ŕ] ouК,nC3 -) (*"PI x”?7$4f`1@;ebP-12S|[2#VZB:B~sq+t83_Ba]C8!LJU0ɏ9`Z-]/TDR\/A0dZuk'h?xLI*O >6Ga2..<:3 nב1$ yQ&SC5TA5p"I 8o(~aVXGX 4;wLeezz^˔mwQ0Ӷ@# r@$Q+V.K*=U8s < Z˷}e r@\  I vB^ 0LiuHئi'q,uAߚl]fRv0ϗ`F̬ ͺ24}9Ih03ŏtLB (, jNn@?XhepڬD5 5 ޴Ȉ ˫oOKgy c:k"(ڥuP9҃tӆ&-G*p,y#a95 a @vz ?AqNSNzcOj)ӎt9\Eͱ "-imVnH_v`2eۋ/r9z!Ғ۝Y+-olfnǵ@K16M[ qa@4u3 0P !^-\؃Չk= 4-p u:{;otZA;F麡V;kMi[4bm2\a3,Ks$P6ӿ<ɢ3]MZT]܌nζ~>6n iZ!d[a}&^W35zt?ò"H>fE"dԍ{INxk9{*OBYHN }$.&Z9]EUg_L/L s=iF@oR R^[Aa0Yu|iS2aty]iSre[PݛNhjL BNG1F +o3/ܸ'k cCb溯umlo8tl\fvJdKslѳ. լYcsIvZehlDZLޏp7`C!sGM dFnb[`Zr2(Sf9v#qB:~0 xqvՈI !R!{}F#{ e)S\tD\8$id4K9ZK&r.M,EsR ΉŖ}﬛(3Ibs ڻ`, JeL)MqJ퉌fP p|R{4CSXEaRK*m;{ "Us67/} 1z aiClV+LϾv ) TɃX1@;_XˎB)`C 1HIAxC2aza1VAv~i28$ol꛷?~_߾9ǂ`'nTjq]@v!yLCtNu#Ҫ CvBO 8Ya^8 4[v Wx!B!oNM-&cӭ}1ȡ*bLÐI']#B,us. 2 f-ᮘjS}-/oHea]t,:@Iu],DؚϟzB:^%l$=2Be)a8CܯgE,Ww>}3{h`٩0$Xj&FmcTĄڧW|JpaԃIM Z$MLa3?+} 5Jg9A:ZFfq,-:R+f؎IVUɱt9TT^@ˍʹ *l³Xcid֚YRnV6XZ CD8'vF-FhHz0ٯqd@UO.iןd`** K;匒~mc|^ӰBuCAx)\|ꝎV")\mv^G C"$kSOn黨>O 9uTr|\7Ol#JP)AJ kpr\} RR UyȺX{l/2 ] =g&qPu+&y5}u1ڏmth4ɏpM437}հ|?Ir]aa3k W #^3xc{*:R |ku+$-Ó}8sO(|C߳ee Zt5I5669瞾@S/y*`XojaC{]&_7KǨ }{T] uSL}}HvV?+n^?'kqwcEfx#/$ >D>;E4}&\ZX[w)G颬P~4Oۗ'[Hu3ㆵu".S2Y6v\00~'eOm[?ޱ̣4cm؊&\Q,45]o.}H|JӃg(A ~ YL1wY%ßA?`Jھ1 OU KCIn%Lt({,OQXF!6جHjvgĘwQף<ʯFAg715h`C+ّڬwG}# gp)ƀˠ<5,Vzs%rKp3IH]N "6:9~;d {i=v=PYuC3 'k4DKӹ4oۛϬYz͸!N˥ʤצ1 sc^8uBЂ\\ͻ>ydXHZr+\Z*ex\) :.|_l:1WΨz-WD/~;4r): [ .idSM!/w,:йp{͡ՋYg.v mtetg΄?g4No Cʼ͝ 0PcƘ_9x_Fq'֐HEE0M*UhCGV8Yřfb(g@4ۭGl7<H]vq h99RWLz VNWǼUDZlHa04؍c>8Pesd[9b$^TGQ(SSW|Zo&y0^Ny]3\Gѧ~ cOT$^zӻj i2 \E+&H| B ̲cXPq2\i|yʷGdiŌItN~1*D=H Z>j&z{hV9ޏ(@qMBjZ]`١1!G9o-SNJGX&]Xnbҋ -8ՠ#|eWݞȘ)KzYA]docn%y' )lt-#]rɋ*:Zj:wTP/e~^0W1箑j$8jxO6Vw֦zuL덩 4{1A9[ wK`oXUV2hmHWPmU(UGPLt*Ng'9w=T v@e#H2qw"+O$GOU$4("#h5SՏw{zh]aH[יT,|MfiͷӷOڡB`a" A![$o~"9nmG̶#+c)BzBb &X=8^XGWLj5a@R!%fӱS Hjצ՛庚q8BL㬣3yct."2Ebƥ/goz_~1VX'FKHKG+R ;Фv*as7]8SQL:̆luD\Boh)srW;ea<#. ,׮1/N5}62‚YX\_(i=–T|¤HBZ}P3؈.s&QI^dt9.ǞM- L? ?sCG@aHSxB޷`"Ux(ģ}{֕< =] 6_wICUs7ɘR RTG)Hlu'V6Ϟ::4>,eE( g Bi*Tһ[ȬXD!!AǤnw۟=oUK70f!Ne#C'SCˣWi:A Cصz6EdC5vr%]q9bza+25'! }\S7۔2wgj0zO܅5`N5##~_)31(zh'3#xe +ux8JH^Qf]ZK~%yZG:Ʀqe$z _uJCk?  hAZNBr?)~Q (vqFjNi>PZبvrm"u |i7alI}'[iŧUɬ$rrZ+[ivsl(!\n`rޒ6Zo钛z'FMP7DF-:iխ^L0l1+ϤQ1u QQT쇗-y|ZAF`+ZVM|&[{Mz ÷eWn@kmڻ\Fc po&<%0UR6 :ѳB4 YRS`nqUaIeZ'!cC b#8B TZZ۹q(--hv._aֻrT V+ "Fz*7ׇGD9"Njomŗ+#O:ȴSKKq{IdvvPtɰ֔1 m]Op 6#%ؖN[7O5!eijh{w"}|z|7 ׬OS<8zf1)V1ϋ9?vYp ,o^e QBC9m;**GLх,>2_Hͽ[!&/< Rަ1N2Dlb61;䁵M`d*Yzk2qhү{+={ZR5CphMFW8ٹF_ƕ?.%mt{~}o9M_B0r/'Y(þuZٮ%C;෶0XGݮ< Z:jP]3tVβGm^,~azxhJGuV?e4f$u~wVW.P]b|[f$\xARJ-=u$KC+Uz,Fh+0^Mͤ~wsҹ) o$7,tJD<"r ZZ!g:sݯ%9/&0:ZYǤ<뛍Qoʾ@k;]=ަk+~wRH+y$P|iW#-1wa4}(=i~'?5 R5BT#Fu[~+neD;!e{ΝhʹܐiUhyXZ(+Il@UG 5"9:I($,oԺ:RB$$f%B))~&4qsG#9ռԐqc:꠰yI?Z0竇uJF@Q{hV3Q.S+54gV,9 /vuBZjXke}ppΨKǕ$Į#.7*̢U[ƀy&&/hLj0ߎ) ko汸>H/f~:*ߗ)GM0shS:lvnȔY R= >=&Y Fy>B(̤NN؊ 0q}>8GgBl䰻qeL=;A#QeY$ k$jܤ;6–R|X}ә#'a,4q& zv:2+"a{>`1,C׬"FhhwwM͊OE'8B8ŧǨ$}M3g)J=:>uɆ)`z2v ޱ85fvgL$Ԝ$z{7cQ0)"|zqoN(ŗCrno/~pvi?cMGᾄuyl(n"zihy^ n<: }8YI!+x׻;=;~s=uvlO'F׮Cg-OUfD{lX|V{9%[V2#of ݨ?pCr v'T4 x94r"/˱ɶ+'HNӹQu4r Mqѝ 3꛻u>t N1 vpOllZt_rV8|JQQ ybG2ي%t W啭z+h~r9 eSJ>C(~YM~x5%tMO2_ 4sL4SaL_>o̷M2546~g7M n /[d?V^̧4QŦ?E " %JWar mʹCʔ(Re6_<BLجkDrAY@s{{e:̎ז\kiȣ8p@# ,4 xʚіIȷ\SSdf/ĩx&V˫CoIŸδsaJm@Bx_}yo jvH_Y# רe*ꡊK tvڲbޅ;|¢f{wɍ!YW aGmu!Q4DJlZhdq m%!)F_h{|[}=[+2,s$gGӿ9C.fHkڡ C֦j ),7P0O=;c;Kb]LèB62!Զ7*`1,|0:45e"~r*tk Y"X+:xY]M0a e:W 薥Q!h#_:Jt^Bk!PBhǴ`̇$eߝGiT5@<=NƄWo ̟'af(شٽA|=)0UBhrPKc֕#W|(3&? p: _-j b 9 X(:^l.7Ւ# tm0Xm0=HE zHa]'"u0n`":σp@O6 /Y%ɖGh#]?$P8X+::ΓF671Ac Y lSf{ewdɦJ+XaD<'&%s>˖ HcpOy z=>iIEkhlxԩrCi.dW%۷t,_mP ]8R"8Ѣwmp2g/F)CDG$>zP)W/pX jt7)YGEo~՘jhd> y߿m?흎 z XV$ <赂vbY=J֢ϓѐҲ`-1w2ڟOp&d:7@Jn]Fii$.lTn??؟c9aϯ+ 1q %] ^LWP:T\ς0jIVrV?֞T1+.^1RF*]:mw{9F^ٳ?ۋ__/>_gd=2c`Rͣ "Zz*Be^o\6D{#3ldB'H+}_VӔ˱ FKFɞad4ƎBD u#Gmi˗g<{E/EՎ Ht\dp6H!zZOm0vM=6 -P!8w~y~~w YAޯy}2!گNI#~aljw,Z:^FxR5q{[}WϾP~hzR{l3/ )ƾk[kV767T|uU/kK)S1i̎$ˈڹ2ٗ܉7Z :T2 NRc~ٍŖuѷ3ݮ)t֧~ZΎLno]-4frLbj1b,u霙Ǟ- #`ws*,|2fv5dFQڵhU<39iehL?)f&B"vLbRsi^QaNao=;r #k_C{حԳQn45"P^{FʰIS)ce׳޵Ѓ4HR!-"dI}{+S5bβI-W` P_+O'ڪILSCvukYƭݬ'5|?yowm`F t |a؊Bn;_o>/'/2L1l3f~{y\/Oh|RذbPDocW˛.?ʲ}<<}:ΩSc!U^H]\lAA'/u=mclNϖpF* LA7stfg-J+bJ9/Z2mn`II1iICG[Z>6Pl~ ˫s Ctv= z#'uBHr񣳫iG >7GhCfޠy!|DZ&B͠ F~ȝ^ܞ⯄q"n98!-m=zJPAFxd?XP%#Om4u/ԘiN~_!Ao7YQWESw}Q'W8aPJtI햅F=!ٳ~zuG`v]0L|'xK:xUܾ/ p+E$}R(g$E‹_)`ϋcO 8LZ"򂓋Hɠ/&,Pk6@6ŸO5 A/_}t B֏+lõ";0*BP;qEY)Vh0zhzo_;F0" d꧌7W>A y%盃3C@+o`t-r2xfx > b*O_ q4&6$ ޽[*5<0EU?&H⁌pYbЅcoUȴuiޡ;<4I?vKEMSHiґt" !})H=,WLOO1^x)[P,QAkO;kd$tGJ{U:^ v G7O =d( .xfn}iQ(4XX20˖,\D/lŲ "YkeFP }A;L/ORYx%dABOnbf!FQ'ռp{I ,.P^! ^i IJW\Aq߮sL njF4[BqKkh1Ök."@;zYƭdoL݉a7E<@22YL'ΤqE9B9ѝ gSmѰZ Z|2m(a4Hn^snT4NQriwE5(F,/0 8(VM+a=Kmkrxt Cg{2'q"iUu nF nĜqpEQc0՟q JőHH9JDoArnvJ6g'DD|{qou]8Q)P:Gh\gnVonw<<2 RqW:!D6XN;IA>*0q|-4:xmtc;6˗zsY$,kOXXFh;dO`8:lsٱafb^'+rRxPnWC WZ-C4Q PH"[Ȥ9(*bl衏0C:qX B;z1H Ui9$[~h .xCH$NCt g)*S^GiVt E)T&?.w>wXvlJM&.K }?(i+?/^<~8$ԇ0{0hԙg Hdn{;}i%k^@㵛5+aւ8i/,d2#N5(frvrti{-If`~"eU{Ȧ9 DOdN踬ǻIWARu릡gAF:ޅf=f:)VDտXPb>LalD1YڛeY0wuLz@3LT0-ҹuFDӫ+yu uV';Ǚ"k#]V0؂2a'ho4{IrAT|e&W  R4yCz]7NY;. DͿ_?/0 ŌlOIݸ2':snN??={)3Hm¢s [iG=-au$wWN8e<ҕ'$9;â*wOZE q|sl$,'g3ź {wvÊr:`__Hl 4ŪWr2E~L xlRID 8%"|~BH{EZ_pH*ZC烃a)wc}kƚXu~+ldW1mauٴCFHk[:.lYWHkjͩLaoʹ~ `sO|4%s=VAc]7:}]n?wv.fڡA:\0~QG`1yն+e{PIbc kPjGDOBڣ A R/{=m!QYTX2]iB9bu-ڪ=ej0\jA oHGz;[&]GkohK.pSV!m;~~4{^86I S;:ӹrsHK{9Ǝ')Zl)؟1\x5z%ўAe-`Y]N> dAQͷ3)lsnh#F$qSL(ke:+GaswU1;2\$ :HpiC'$7/_&,;Z+>vHOpa`EfVmVF|py9AmyvflDcN qX+4V9B5{e: I:ٞ*׹"7S-ܓ0FEyyȜIWH_~ivd&)jEJFƞ+ ];)ɻ+궧 c1ّH݁x]<),8::N~Sقy݄B& 4S9'àAqځpW8F_ӝov-YMI%X*:aEj-2%dhkgp&;LPgrANZ)p+ >??u00Hcg?Z03Ejqb+_y{IQZj%z4پNqllOZ=_бmߴ78]ЇJD\6}k"8eXTt)d]Sкf2؅jzݿZO?R:fQb![tD?%aszȘntRO2}υfuEHx;!6ZQG+ uCD{=H[r} imT9;3S_Cvraf&+p FKv ^W<0 3^SL 9CRQtIOvvC+f~TH3cפ2և6Н;+b3gA'Ϟսk)iT a!{I|ڼw& pZIGw6rT7W3Ң[<E "nQv6[2cy]:[iK@9= zvSKBZ {ũogAqؗ˛ ;?]{=q:3yyIJ7dR'E嘌3;j @4>l>ӧT+2R8-GhIІdvkj_^_RQtP>=ު8sz/0 BI]ѢefVH[_B擀[}cSQ>Un.O3iuH.:Ov#mWo''vZ7١&'.TZ dž *zW ;lJ p=H;a-&EDMU 5;=Ϟ=~sX@j4ߓcprTjw/痯^?G1h ?~PX}Y-ű6S b#K8g˿?@*x8v0|)x&Q@e=hekEqRUDo4ެC`qD_-V:H$p^C6vcL9l"?7Wl!?zNgüRupMFlZHc'*c !fH`T%cEͩy-~;Azh[ͳ^9tOs$&jD7g&[7R8i򓷭B !e |?6 ={9En#NA\s&Y6%T>Ak'i6Qu} l maq1og e @-dwUgȞ6r2*r2.T{(`z[VK/ol%c]4127 lӿ;);)Sl'øM7'áMu#Q t4LBxMN,b,[ 5K3eQ[5nyL!uX_^/˔|]rJ6[sl98YMya fsr^=y?eI#YCw?D XY 3D#34AiD/YDk}QGf]׷VWwę:a)X윥PML_QXY2RC ]95KH(m7[{k6 g\*.)"0*^m7wDNmo?]̟Wor1wBxXǎ @z>8YX]FϚc_ >A[l~@[gF{]ܟsoe±FX2Z(lPx.2f|E>؈șчe)5ډ-sF ̃E#|Ӌ݇ ky˒4}a?h9t C l{v3<J 0D'"{w:7.q`2FD5P 5^YLp$;/^kPLQ\f$OhzF⠝y3gn4b X|kbWID7#>)- laܓ~}O|Jjv!\#O%Zl|d+3CHpJI1>Y Gu<^s-Z1*Aɐ*pd*PA*FdS5<&,!y& ;3-#ny?!/|Dg+;WHUH"®mo8Brv]ljd28ryB7qGS`#*}L#>\আ>ϟDP?i*H-J\FMF#Y27Eij1ik3(-{4mgY.WӉK+[4 !=,!tT. ND @wة v(E|ìӷ,Ӊ&i[_q/]?cw۟/,0FkDZ4WqE%C*prSe}%%_8Ȋ<- ~_ܣ]E>!,k%KڢHk0 Z#nqn?, X|RN '[[J݃$Rp8O<{!*~^vB(2C Vۿsk{ 3  zWl5_6]ȇ1:>sG {wfݫ4;o=ӞRkJs{)Dh%k۾5X?v.+EoX9VeQto+*j"4:{~(yq<=[N<EMݘaCRR2qfG7g;oo><ƔL郀觤E& v~}< ,h$b 0(g8'Y!L'M,{R'r12,*QSzl8wq(<6MiC7R6>| ""wAHFƜ.sD3>$":%+4ͱq^B,HedB&@dlsȍ\/2E;(׽F8ƷPJ'޺-s3 Zނo #_(%\^lsv=J|z<Չ?]^n7„Dx="=s8l֡f.%DŽMUƆtN]nbz6bFL%*y!7/y%Ke+ՑO"->ɝ`Q˴ťe-)ko{yi-$"a1r &B}`i @g63r0 r/H43/wsZpL6 p߯3Sg"!E&4K{T%nXQ![S;7՝an78}*}O i!;"9$ `JqQ9ͦ;DbpaUE:j-s|wKjoo.~ TWvL3a%p;өݭ IT)M:P:q-ݍ|Ƈ<'ߘ "?OQ<:GUAUzL+`&ŊF&UcҲ ƹv!zkP[wnx?)~oͺUU>V-2ᯂE搢CIhB<)<] 2*A>baRH4 UԺ5+UF{*S?gWCi٥ s'& ^d;Dyy6z6m2U${˙UqQ}}%"my4j>j" g؉1r&uD"O1\)E[M L'v!xiͨȋ!.os4 ]L v[3,pIx|  Af]oߓ{L*7"DUo.6K7t[R RAqwxO(yrI6qLn eCm%׌jJ?ˋ^'Dٯ^f"aI )1l#~OIGs0@vWo>1\v\2!٣z" JC2< ;uwIDl,6++ۣfYsvjk[8mDwt߶ j#^QqoH3Hh8(ux{ gEQH\ !?堬c_tR| *N3Cop^N/p~rSzuΰd{J;m@jab7[SC3 gfKAP ^ֳ=um8^t!t[eb ELcs+Lp~;^u:/t Ȭv)rIUr΂YTHxi(Wx«jNS㈐saj7VA!dôRfgdiK [b#'E(GFޙ,:/nj>6|.Luvg!귰t)Y$+lJ6$\+R/Rq GbۿwRvP kAr +P^,Bwm>f_N 6M 0!eړm ,l@&4 x{/ ݧ_ng^tA^ Z ,ί3% ^"O\XNj8 Fܳ2zHO !57Yʙ`l vO zd)L$S+ YQU# JA~Ƶqz~ĵ/6/yuBe^9[G0zZdݍhjޟTҳAhȊ&fEB0$,L6J(Ȋ쑛vIxS'׷Xzɗێ@ ~-Xhլ~R sdGam8E>, \}6qĚl|?!li.ϲf} _+qbIx]x yY˃K7`4FnC}~T՝~T M f- ,rpכ_̯`cA!+^Xtt}NSvC;R`3*'{årqlCuxWۑY3n{?}̫b?BBbBocyx|" :#〢!EJd*)YOzޓ- +W-Xp_pH3BQU=XjV!dr@d}ų80*&}o Lxr-(<Dz>V ,I w4?iim8r=ܻ#ĠyPR2>îb4 Ҍf"eny{}&fQUDUmB>ijt>$q$Sd Rój?&G 'ĠS, v:׆D+Ͻgo_%EӬLЀB" :K}TSF~/OOj.׽  4sd!ҮI_Ee\v{1օ|MdFk7Ja!#$d҃o2%(,0ټR"]-gT#6O^N)q6$_ 쨘br]ۂ/T!3 6<3- ox=,y"H%I>9a4S/ ;/(uY:k`E"R řr~ܼiDoaGq(2@ujXۖci@R}P ʒbTTus1ӕkK,W"mDaNN%]xA2cREknM @Sg6|D/aS`Qyh?j\I1i$Qh"-ӏۻ8Bׇ){rYl]!QOpbR#AS/WgGJ*l$ߗ2SImlU?}؞c נn oH6,]T03\r檣%W8HۤCbg\ ́Q<>+ڐfT {H :  #R ^9$۟;N U;4GG&6&?7BrZ˕4KbtGRf's&:$a ak$VGaD>آ|kpW!H@n@HTfWʅ<~ױAҵ!E]"QO&%,3Yu 4S|Cf"\ݑvcu3鰗_ﹷ:kmgsKR`Rţ-!u=xa a߁#:vtM ?dŤPn65+T=.$JfwR¦ >9tD0)cnb}EJfaHxj8#T>>@TUQz5l$Kcl0L:j!u7_; lp,#&bR"շ?\:OOF' ^q< smǚqC*Pe #^hQϙB'M4jEwSsS|w!iKIEHq6N֣ĝg=ײ @10GI=b^<8cK5fLoּ 4S!E}ゔ%- ZfgSS)fռ:ɩݔP\cs\zԍ`eNpLX"$fn cA GrxQ@]вrYlH(o'8rd&P+zzywxf_/|#5TU)MJsAJ:Xaʹ/'5=B6U DV+5 XQ6d$z'ғK1,";䐦 ne{}}{xcwOgsωldL` 3>[ۀ= T6dE-&B>L_Pƒ`-*V]ϨR8 G=+!Hv [9fJˋ'z)_oX4R@J[B@<^!"S~^L:2sdoC#4c9:8ޤemef]ӥ^2]z;w%DK0uXDޖ&:&9_wַR|Ff{,ljځХ6sFj,CQ B@֣;WR1%19;?w0ԬB$adw&$s6@/s3r9!7{q@+eoa]*sEUU2g'{wh/fR&j,/n8*+.}xP/8׷g>H3Le|$q5#*_o>ɢWeZ8S$7`*SD2VxORs鯥 F#us y`*6GSbaTJ5zDzbL=6aZd#U32#:VUþdWUq԰ ǵ?7ۧABdI:g>pFapؐ!~#}oqC?hyhu'HRw )aK7Coy"iMשt"p \(KCL?u;b\ 9OSiI#~!R.|E+䣅KʊM2D8QH8i$ SM{xLժY<뭠%5G7~.LjR>P .u=3EΤp5, ĪWxNX>8Ut pؐ⴬XzN([WJbANS.T3QæEhsJ#s8U [u^jz'$:B"ĢBӃӳq0v3^iwqleskEKgC-F(Q) "3xN6] G "|F70*](vG8,\F}^mxT74ەZFxHMC=&ͱy 4-Ct"cWzPtܑlk]Q܈8D^EG ÒBteeb/vWϟ)XgSck.4ܘqǴϭqS.HVk{rLW꣭v}J,1h^Dxֶ*2du ޺2U|- HOBaʬ(T@ϡ呐r\|JT0pUvSZ0=KDƩ=h8)~$edw3ոcCP {rn%.EA;lX_'lOdg,H6zѴ0 ZjrvBuZLoXo*cy{ڟh#ۥ3 nL'L !Q Y >@V7I%ϒ.P.pYJsSQ`uLmjRzTƍEpMo~ٽ.ΊJKGqVʍRRФa߼g^Xc&#& ,$#paMcj~s K Rt0l"r_޽_ngIc)T[ ?^ai,@dY qE4^Uk!eܾj,JV^\mkrVJS|rR>$62IϗWDa ,T /|V竻0Daaʼnim)7ݗ I |x>؞r#8֋5>>^aYwF:4E0H"܊tAOٷI!ȨF )K|e/:==m܉4]@`AAz1jG*}P0N4 ;1s٧aRS !qrpu%a/A&y͚s+!nPʉ"6 ^i$< xL(ؙl=cc+b^>gB0)eCǖ8rÉQG 3pyEJd`oC&%.T17 唉 0--|"iȱx}wo|yHj"jQA{)/{Mdԭ٭?qs,$gb)'q6#kX :,B`E@ \[{)TeEo]!,zxmV*V!$fY91%DCxiJ>BYM5SyvY,״KEHpJ A KRka){ĉ2Ddq_( v $ b"@UK~ԷS!9\0KR8Qץت:SŶ"=zxY_-9T&vr,ȵ ophyV]\,-H&40`f>S bF[8XMsA9EY[Aψ8EezV/ҫ'}`s/!+W! _5lΒn)݌О|9?!^tx@~~S ׄ*&)N;^d#~ -6˛t2.xmHtX`ϑēK ]g;E2m8{Cl R$HgL%p&'Z:Q|EO݈ϟF9k6晿-p{$ay#mqf<Rhv"E"&ѥ{d@2V$/9Ա_pͻX`3$qY_+$qD<)dIGt^SmpNJNX*&V_NF2i\gg5pöo` H|>Zn3v+UIj\Ĩxh)hXD3KwnnBଠR!4Ԡ2Mdm7k"&$Vn9"‰x(" rbfaYT4ϋ?5jbGSgH3vY&c@2: r~j'>uB_s]IC|woxy{)KL>HaV5lJ0>6x^nM 鈄{}Y5(͢TRRvˑ^rrNM]XF'cBD7"Y(EgWAt"rscÑ'0!K u^dGl| ز)G4 RךlfD3, HJR!,^4 82V$4w==)f5#:js$xazVvF`}.:,7BBl]9ôJD̛ȨK` ^vi/: m;'Ðz$}KQ< ӄErF^vѩeZƳ$ -FAnߏ,>#gq@Fβ4ΉZN8͵Du7Ad ٌX$_~fl@n~wqlͥxVh 2Щާ~qJerdBETǩ쁒?66KoO>=mxlX6NG>Ic e/^lP7bƆNbŔlyWDlZ{lt/f4'{ ^\`Zb41H x=Io*|Ԛ;R蕫t=mܩQs]ns'z`f8}|}m`d YCʎR~47p#2 dAJR&\2'>ԗ7֗3 =NB4h,= 2ȇȼ"Tz$BRb_Cp #b d#B{Ek9u{O\f 8XPB+}O.WP̒Mr$ȩqi5г"ȄYm|Ö Hpx8vtJ@ԣ:u>ЮT$W2b9D B`m}'ֵ>ݐQEz',Z͙ޏAr]OӢǫStfZ9"Sʝ06TncG!~nX#x%ҁ H4%m5빨 J˟uُ2Hy(VksfWɤ|DQ ] UDH,'}O>S 5SR 0>l^t+af>$T/_rnK,MwV%ijSdid!g";0$t i;hvx]Q9\ȈYg\#K&(;$$JYu=4'mm=Y6D EvNbEIHZtQu,Uһ֙eexؚ0C<klPoVo8l]F@6E$ $!B+!!yԕDLX,hOrF56r}۞7/+b$J \hLCEđ7@l$&1&!N?rEy'gAJ^BZw!@6"64P) wԂsFzg5F)Ҹ]כ$& DГ_t"1a؄:4:≈%d+ǘ X#^wGab ؤ[lܣW~#Cb**B5!x7xJsc)8yZ!Ru-Zp 9 -K >3Ӝx.#O6S|}{fR :dIjzeqټIϷz D2X$6 G P8ب&͇=F7f$8ayT #L$^Cz}.kZ2R,X!UH>Wd1ju4ֹU#Ȍij? V^Y7'h&G\XX]p,Bv D0ĈJ1d~FF/2gK׊Su\xd>J$Œ^ MauL2PTXl.7oWZ6iDug` Q 5d ^r '|.J Brua8ze)V =`5njLϿ8LIxA/mg\cdؘa;̎coWSCAՏ$$F wf=^5U p?琾)׆pp_-@Rs*n6'A) G8Պ5MwբE\F SCCh2nnas{ExQ-#I =F&#N[BCfdLcH͆G3#S W,ln6gKaGGai=9\OW8uk{^fP# 1BYZ-,CM;93[W{|I1rTC#B8Ĕ--p /$'cnMFt6U&E^2F~ J|"a)Ӗ,'"%?v0OB-zc<8.IŰgd c6nH^<$bF]X`̘;:R If6Zlhbxnxw{)HL\dI.{*2AHωji;}SيEfc.Wc:Xεٕ!gbVjZOۇݟT"!@irH+< aw1ӂz9B0x}RR_7+iE2܂Y< 7#Db%;auJ@$? _`&ʸc{ ~%4b!^WHQj+^}}.I 8;*!1,r!(7Op  ,_5;_Or"Dx$Qg'suyM4I?Ryk^Li ÿfA($K^!exO}\S~c;vYCSԯHRpJU,~\ ǏSB@nX)ՍH{8P$$W|DpH3kH1t qp9pz;N4YΖ;l _nڝXl WLxy?.~j o[E-l˪GD1йOG8OL0!Zqy0UVIX(tLrH !haKrf"ۏOJGI"PC+Q 9nn}ƬM)=]aMW-{wgSxi6`;&-s#dp>3 D 5^xQya/- my&#E$de0J>Ng#*y?Xp[Z^#f`0劜lZ5 1wo NՐ2w-MocdjߜzRvF*=e^;C*G"\5 HԹ)"*ÔwpR|%NY ʥ/~55C| r(|GzO'!s3b8VFTAȀa-a#8O +`t832|<1[W|vڬ c,'pBe ;v530[S{̫x%C +;bNjx`7Kl~`$BRc#Z)HzQ~Ǒ=Oa]xGH xysL]P-;ȭ Vה,*gݤV)䟕??HUXsHQ'_? pS4Ik9gSƖc؈D T&Cϭ=*D-l />I[4EZtI@FJ>eawsQm1\W# IbVBx;n:)EA>VJTN6RavL?<@-8%!EeCEJޔ$TYH&\>(*<( D|PU??b#F}wg43Em``Fak&72S Q6Wi7r=||1AT$][1+QJ2tp2(MʊEAX bpQn8Z]=H/UWMH^Ⱥƾ:,g%=|ɜx02߮ŎXXQTeGa^*IC q7ݼ^>ξޫ^éey!RUT D`3 9bD6NttIJ%7Ϊg/κheYq1_M/~XsBiw^^={D5sCÛ#i$idy}ۖ8]: C&oת(5w]gK'Ia'76G$3F ?ӄ5:!.`nt 0L\a^bO@ʒ\۬Ҫ<H~H4J?ih"߷o_xʙK}hp29lӤp= pB]$,{a>ui^ƍ9'GNτ05JHN))ތESH<ذ:eaKa޷w/zB*ӌ< 5H'D;T =6w>ap88?ES Y:G?{SanzeǺr[rF4W#첂nE0,;GӊLpY[b- ޭXT`Yvk68aDeЪr&exޱ떞?{-{Ȏly T.Gu|E3v;+y0DEP颣tv[p^t':;G8@ɆHMHUG'u!xz]L;בDXH,>G-vE'@UtW%Co䪔P֫XH=,{IfGŕؤm*B}biD625uvu_Yzʬ&,l8Z&,+՜vпy8ݑ08̳qT,\#N^!4K(ua !B贫2QMxJ?"3A^ 1Ѿ3V'/DX/^RzhTי狖aIk2%;{zX_|$+;TK1. tuUl)l,$F}수d`׻1|%ܯ:QN+ܑ [6ÚIv^2π8̘s0hHmbuqx\}>fac(A ӋK/B̈#c{6w6 Fuܞq '.7mXp!X{s'98SlDn珿Td]4jz giRٺh62,$@̉T|hs0C cـTBI#Ⱦho oHطOve&> 60J- F5"B8`_&hW>cɌf8!G \js;쳂x#RT:0yz|bOх2R*5]4)ơüG&1Yv WoC|zztnt/-6nVMo7/_]<[9x)̀DCA-l3){tٛv@?S=;iJ# MεrDZ9,h!K8ñ]zP4;algoe%I\2d~j,gd[;}z,z$e,uk8r-Lf=Ƒދ%[eN"tDEaSv~s%U,;>XOVQ=ג$?pDKGu.R"[KgWj 7"$4ކ-dM~?z}}M__8+" 2:ޖv,}p8SݥWh)Xk?WD8хr$ 'e|#tnzxѩ/^|^D }p8lš/]iIsVw ) 9+s [ <{mF|)xYG]Ej3>FCBr[1h,zSZw渉T]#T]kc/Xv N9Tbd˜R5Grm(: /.x"樢 i8Sy8asX)~p$3! DO"CO`d ^_z1Z9W@b&q :hk9Nr+H7Eؙ|jW8r(7v,r%G@[o.)_HRdGxlP |\֌d svL; xUjYdnk$m)HJҕօmDlO(9sEMgx{7)ԡ A^Uk78@LҾx("v?_g-P m'"Z7HǙc8ezf7I=΢Rg%-/R^ ry|! ‹m YT{/BGM2xǵ@8u_e-tT""A$fҭ i̔=d+f뉘Adx$yoJpwvNg]g_C3* RC9^]F`}<K pORS=ΞpHO?RsbwH5 MD!{HCEs^"I)K ďpJ,׳lt6ˈc ΂Yak&ّTZ 9Jk"N;8 º'uGss+ѕtL"oR}1)0wJ Q.~+t|+e05dd,ŦsOd*P3SM8(9 f!gfv{A'NU^=gXAW>Lō,`@O,}Wct!?no&e)|f%úV%TgӘQn@~MUxRX3_9u~]WRF-H^*uReڔS]q@;0? A BN/04{-yVNAȹ並Vw;ѯ&|}uD_[/q_!byǞE(ÔHu*p96p6sVuH/~"IHyZU9wDp s ;O_8ww,\ ]>QiNa7hz[,ng3@e 2XWz)4gMeJ#"v);vu?}َ;ؐ>w)AP̖'qK^pwDؾr&aBeI^^Y<k* 2E~pm~͒VJ+a% 0F&%\l{8?m}Ӈk};6׿r҆cc6'kFO4$2ӫşBi`ƃ|XOL_1,XJ{ wG-FDM)[ 'ԍ'%E,e7eI lf8Fd=(G&.i2oJ9WajL4H(̌`Ζx:?g]$C*VC6puɲYfT yZQaD+!3;O, 2ZŰvfJ ĆsdݬϙFut KM򃞟2r~>EDr8.ūpwj8$fǢ`8v89&lêLm`{tpؚ} B7=r?= T ąٺV,nd#A )3\rϓ8eX<0Scsf&nzsvPYg/.YqSDb|O[5kElkP&<|!f%-uvȶi;g$bڭ( B\+d0~/f\B~n֗DQp}R;?D9W+9M+זz,xkSbw鮤\ڈQZc]_$2'K9|6$v.Os)\񸵉T53v8n{~Aj&TQ>ӏTp`=j5v}Wx3q &膠({ 9m95(oiq#) h+fcyRh(0- ߁c}䤢jڸٚ +ESB'DnWWXl.`tvېlO4*y}ߕdN$~qxzsÝvW .plV<R0.>‰utQD!^$bBl I3&I;=B2zztch|yA*jv~B0"r^P0" z_y#V$L,PA|Lr)9B`"9G,ڟz=9\خ)Bg&tDDnoz+a8dGru|p¨WpE cfHFXQZ r?r_< dW+L2϶9zg1R >ޭwsiլ҈8JP#zjR")q-9Ek,喌0>Jp?=.dF(+o5GH# FLغ}.qbZG+,ͅ&$Hbu @b:#Ow k& " JI!Y5kF{K1O3:c/B?ikGV\GpLCK%cxfn+-H3#0#/E`͖+Ij1"Bl䭚6D#aB1o_f}{IS3W܊{œQ=%\cJРQRxȫ"c `q3) 8Mz]^,woQFlZܖF\qFZ7$N &9]o$,s s;$0ڬrVfDc罳ʒGG.G3|"iqacdXBy/9L2~Gb}u:Y<{g/jK\'al]Pæ"/j0gɟ|+^{%<'.pƟj6: =C<\yfZϕy` # >7bmK$FÈ0Щ,`52-:r/ %фa oH%isj4DBb$w`kwzr +]3$p%#TƦ! H.ȜUD$STHˋH QH%i*S> $+};^Y!"^-Џ~tg|4 ;[_`wGe@RCil,_ /^`{sQ;DMjԲqW$s$ެ%gg1"s+S?Abduj5$$5K4$&kaZ\͆*5o=cJ7H2*/jȁ# 16#řP 1.Eptj|1e3 cac *7A3KQQ&DD6 7^2wr%d$J!#Y=ûHyߜRK;ᜱĠˊbULxEUF㬧_7uN~bfcNdU: ;SU$ҤDXx^k]_;ڜ-0,ida&z0]^$qӫׯ>ǃ#^Y "FNN"2^~au6mqTDe jO3}8?D>RZ:W*d3d ~fXq[CIO>Ǜ; X>zlXqf\hUѩ“M[J^s_'0QuˣyPR.s}Lo67ۛ=勼~l5ds\0Zv\-\YCRpw146>Q+ىtW\4bO;CI 8A#YZfO+Ұ3 ˏ8:/hٺ9$๗Y.aכg'EVS&xq[:̎,UҌL_5=~ S<,2 WqP|jdHbx~q}}"gUy3qU؈qnӋ5w!E:N\5O$+o8y?.y{w&T28.pzR|Y"0gcpN5BP]OLXиQ-"|Lh0_5\@&G3va G "j'U3 l_ *zܞߓ3,9 ,Ғ- 1X|. Xb\ Z0>Q'S0+U$%EWp` 錙p61W #+yͨ<`?v^Z1!օ"l&!"g3)+6^=8/+j2BB lv9ÌW~r66Y&#"s;r<.3!Ic|aJۏ6l6ґrP r$#3k>xRL3FiRÒhfI?Y FaMTB책[;Ƈ2D ۱7`ʋ |D2tʰ*\,}o Cm~f3]]3L3M$ ?`h^ly CcQ1]#gFz3ywȰCl8B%G_)dK,-ó_w2ytc0e#{|=ӊaNQD8"K禗'{]4QNŘS@'YpB%.?R2/ BKa$@NkSc0&c|Mx† 9&Z},erK&ᙋ?|;J7OLmԫ#daƅ, }]0*wjpFI໒}_.g7vsawq\Z$t8U ns`'תqx'YiT%0KRΌ LJ=z=}l꾠z6]iSΊ ;TߨTOq <"krRnIg3;4n" Y-ѭ[%75ޅkoO TRbߒ*A>nx?5$F`XۜE_t#~wL#1(v"ՐM.+少n}^lbD) {dXc9͝n܏zcVjE+ ? d'_xYr?=ܲ;hx +㽒"d2ŀcu|rsyX:`C{m):;8Xx=^f蒻]^h@ RCӑQCCjLl,]`G^t^I}Wt5r bX-jHxD3ҞbBl[jHp`V4pWyydk:T&%߶J'Xn*ۋ4 S2yItDʊ3\ٖۍuaV +-goDzbK`@S!?2u2M);u7WRv(ХXiYOVZm^ mZR'De s2f6"&WWtl޻E-Tёc70KxaZ5݌e"K@_rt_/^ ",s"A6vpL"!!?h er޼f$RsR^JiɎbב:;r?|FX3o).j)5~\)JWޥ8/ B"n .f?4/N6,|d:f`ۆv:ob+ܱyF|pSE$QZWAsK6s5v RC`(W3t} <ɹZfQHVܳF-cQ&nZUȢA(#ʅ\ě0*ί$uU ;Uͼ0:X Wj"WƩ0tš~ =99!B)Tw{ 9\0 2tk8Ґw:X#~VOS2G%G+8ss+6(0.UӑSPB6Gѐ,K`aW-VZr;bĹJ\8M(KUHcŐ@RcM3=_.|3Mk$OԏTpIv,v_mLҊTrlaM&&LNζ후a솑o垲0CJ nFRƖe?~5drp:k,u3cf!e 7Zzwxś'$X޺+Ez4&CZM1Lv58`lg Մh\#㶊k6bhYNZلTL/w'TşDk39)"،TM;ʾ(#ĝxJJr"Ath8ko ̗X #'Xڐ)V<"8!;k&AN%l+Ft71kx̆D!j}u`0w*0#9f(z9uZNU٘!;U52ZHDL^ߞ?~$6+Bgzv;ƣxaF ~; qȠ'2? ,IbN$k6}8s`Xk(#f/+ ʤ=2 i8ʎŘ ~: B!& Hl Fh6mL &K˩+;6߶cx{OE0Ky<5bLϝl'RY~&N?bfegBMY̌{LX<;n~.o9p6Rl- Sa =9ȝ|DRxؘ=V-QL52njW Wd˸u@sxoK^7?G\C%LM~0uD|dp7JCI(yJcU!i)27ga#樘zjL=H ?TB08ء˶tᄳ_ΜK1җn9ǻvLJǛOkno> z!2Tm!IgZZ&￯e AxdGҩ3D(DbiR̩ g,I&+vY$%` 5`>(#dpL2\ABSpGiDx׻7]K|){+=A$p35,V-876gr>Bx )|% TqXߎo_` őcȄd#ᨣ8x/-y 5[!2l>dqfc=/wf}smMC~Fn1X*,:l lS" Znkil>F¾f}Vkw69Z^9kqz͖G}-Ő2R_,XJ 1&`Dm3f ¡OmTp/kj 3" A.)F'/pXM5ij2z-!Kmu0 ëؼVk/%+E4fhWÑ[ϣ0!iMf5]Jw0:ibNOبȷ+uO%^A\iXY8TzQA#(E8 Y($r5Ž'0威5E"Œ>7"8ze9tJtdؼ5!0cl___qhd^0^Y#$kIeeNxy s7[mCB%{[w{'ŪKEve 0@y lD'%Zf=,Eޭ.mo2puͺ,9rfrfVs^2.x4LO!&9m8W]-)[eSH F]ꌬs."- ?M#tÔ]33Wk#"0;J]H-4{Ѿ(Re ~ ydrSv}a?+ nF9MoOt6w$lW)Ґk|x:OB?i@TU؊:o/G>o|#a:`CW2{څ,u*meYqF i-ی7S[|EM߿y<-{MlnINiR@T0G=ϷȡK)qc"b$]4,V aDHZrr(4;/V>N/8`|7~o;M,m!61nnΩ/{Ip!Q3 {- ݭ"YHCY=3;^R,>^]hE(eunhQ#xĢ1gVڜ 0]fi"mմ:&;#2"-\~Q?̿}aӳxITJMbq6` P}A}8R^ފxS*^EФbMH|͔/܁B7ӧښ" {DHRq =LلuOtOqs"Hũ]Ȳ"7Wb"spk, Q7䩥0ʝdjwʡk˙Dft_3Cl]|a므ާ7VGOML v 3avb)jcv>~]u$.Dj&|HI[nNKnw+ϩ0(QnL6%C!RLdAf8I{7jimw\#iݯRP.7f^Z|RLD=.Vpl$+>P2n [TQ2qj`S+פ7a>Sz[ `LD{wBˣBL6G:K{uD^X3 2M*g4Kvy_;bԤiRs.ӫ_).M"^K>|ڜ`#( wmY|L z3-NB|i-FXw9&ʈIgJH1 EnMiRԉX#%)d Bms ~-77EA*%{bE7^S!k",Y. )1v9v F0C"@=Dp[˛rJ'rvZ*yiHS ΅e{uNIf3 ËVKK[L8J\UǹPHפ%2K7gGې W n8t`9U }sOp -\yt77}J5$;')k; U b [x:+y"[j F|] ]ˈ)1/_TIIJes9RsXlzgeپb1(Fb+pDc18n hO@A0W|-QVKcgAܐA.N$*uUER4%Y#^^o\ kjBpN7,d/mY}4 \[b-i!%Ei)"I98f!!}G "x1cg(XtGx-x~|"kq^L#mŠ:E*t_owD ÁTD<Yt"V9Ք6߲}y YfrޱM@L&Ksdɕmt}SU`H|VƬxfo3!5uH~$YP I9z|qDY XcmuIb/=~ w3cUlmDPBIc-8嘤^7#S-دBZ g^q"بAD5%!gIT3bҒ7>>LH_{mn/V<޼j ;2Vb)4 n|\HrQ<4ən 7}ɴ0D/ʶ`@`߰|LEd qNDQ+;yꋿ ?"i%bڣ!UǑ9GJ#vCJ{!k)E|ļ?b"yN2gNfjDI1Rv,PAvw9zï7qa+3F)E8c+H555#pw?Azid 6rN NZ6k\/Z5;uE.ŕ`v,YUjzŷp`Zi,]RE8 EtDnv {ԜJFBVd[-HU~Z__;aNJb;6&<#N. )'S(` MDErN9F )YD`x"O|,:douϤ^MP{@qpW4:³Cdji25 r=>5靐)I)LKv)CG# 8ًd5v_5PQEw#͙ ^{,ZT|7X"Z&Neqp~8A CdWrSmvtv BZۈ4Y| > U/쉒$vl+ɂ_wqӘ|{yf gmQq agJX^Wz6UDdld!1u#Ah/5I j< S`4˰rs-^"Gݩ/GtG5~f5fNWRجtWP>1h&HD- xp"%EE]M}}GX*( jEݒ oݳx_" u/< Z jyBaٸfL^`dvPxġ9Y~ɭpPWKwҕ|){+l}[o iYd/)ȌJsQ6}q7M({!BxU(=+R-~X[맊8P &ӎBLc"6my {1spZqvJhd IW'"L"ڑjj]&u57@|4)D.Qênf* F[ԳA$,eח{38ժjU=8aioYsHV`f{L,Rĺ$ i(!Rv~C^@&\ʦpC8P!, pgUD@ néVdy:jpVqqJR TG'b*9^hZ oD++yG<љKoJUJc:0H;EgKysr} 5zA`eNĜcԪL0NDxED,>Va"ڍMD #vs!W$;9߸P8DzhfIl2Uz}BI h88X*o$L~GsڬK:%/d{%_КSGiwA9g/z^RIr-""v58kl0?>B#.S$G"CiЋBB+N ?wwaXX(613vѺ Hzz1;$!eP!)Ӷz8f E䲯  \碩 *S1 Mo-NX֮9ɬ8/6Iцux&3@ݾ0SkFw "Zr+] 2JGAE&<-*8ʹ½ HuO5LeѤ" V znslmð#q_er\*RL# 込ݬ~`IjQxG,yƿ7=pt0@$?VX9%/2EpB?9P‡ O^ _,g"F0gXwpN3a,Sثy3mG< O D.ej|rEK؜qUڌfCϜk _"PluKRZuZQ"DX?h ]c1=5 ZY av[L5X~鈨@ɕ UV.fFRT,^a-ښCqrBÃ> S laV{Lל 5͌1j:;HyLl[υNg?( גIN^ B}nԶEPX~v t  9nælX"ep$V4JTZs~ܽ{ڝA(-"ۚ qqk D=/ƨ0E?;ieI$LBA]O2^g 0|ft'rC6}IHz`Z>j՛ׅinL~(hg(„ТEM{ y}@oEU"*ƙjωĞ*ƍ"]~=+N3"*nqɏk)DgqRgj@)U҂Kfto" Y$Mpu{LIl{Q!8yɹ cIFJ/0k"&c8AL'.20~}$hK:#0¿0t#YLOYXg5"Np0>fygk#h$gTə(m':DV 'q"#nujۜ|Sw,M9A!s?#< KldQVfB$ODzqjsX'WԤT&49t>P%;r ,$D(kI`I6#k#!,jgULiN yǞ<^GKa,"wtsap1eUq8/ݐ R3.Z}ÆduS" <#Y∎X!vY}4'S'c=gRbhku}a防J݋$ wc)άU`jq|/4?g*[%Xqpx&^B^zi1"crn' &3KIHQp]ZT"ڇ#+ aJ:ӡD^'*ؖejI r 'Ma_ nPĄk9;`LkM'N 'SKU^V$v,#30SN9J'L ODcḡl)q@mF( "y{;+S "V&մ`OL(n".Cpg uaLKFeZ~l21Zlc.oEVicDk<_r6!pI핂.1} ĩwU D{#{&䘙P0k|DVvT_rdH ٍ@XƑFS(RFl{; ү/$"',w.!޵"R%!fAzr/tjf{>shY*ti,'~S l@ FaCm>R u9&\Ph8O3Tșy ݻ7W8,M#TMQӂx&K]{T $ #.Wc\㭄e0rhs4HeOT:]yg|#%jY#V2GD0/8]aEObrqnt4_7 >=^uI&a MVӸ{-mjq(9n}x%JJw ;bs96o4_#&#:j3wV&PfO7? 2[I1cU)Pjd6dE 8%|Nf!N]o80e\ߐUI1rNVOۈX$'o (dG> qG QIQ,"x$g TK&pq[ǵpYVpz@?Gv{C85($%bli!hn5;XwB eW-& `V_~tlU.vւ,b£Mf='??l '=N>"wT;;D:UG=vM#N,7 ]J(#a@n3 * ? #^֒Yە͐|*Ւٹq`BI>) X1Vj/s(bqx{'x50އC8Vٗ:`_`_/~xD2)#d$Zas6T&l j^MϷnN3q{ŋ%i`I--gjr?)c,N˧N(eT~Q_ G  '៎bۿ?aTB%,o;krUSpܒugNUz|$V<0(B@Xu,%ub@/vilc)n;,vB6</v5ǎ37eG&%Ҟ\ :]|+:nF4Ɠ 5JFm36Ɉfwq}u>jx)\+"u1k/Bk[bviT tuE"I,] N?K{700OyTJK,brT gQAMo)A`#G£3BlD528}̙JC6 e;R [t{JBUlx!R<[!ȑ,_.?9U9^Yf*ʂ^q󒙬+}}af8Q^R5GmsN"}$Ѝ 5pT8$ @^É~̓f_y{P>ouIo"պyA-u;IH <)bTQlrX6Q%x Sa)8O!c@Bl !y$N90EVڗT~ٌ~ "8Hgp e)8N|޼)H#\2i$pbiLƻwٙwbPlOΔx'X$L疔MhZ_],p-0;b\b#v٥7IZHn6:&O6#Le-LnMKM=@ϊ$<|a #D*N u̔ cq+FGyKK+;[Odz[QD8G RYrnOQ9%:FP2\vKgAn&6[Ϳm/5a5o:&i*j]pٌ7ny~m6f(c rwɎEMk8DI<3J1alRãVp; h9g .Q7I{ /^ zmK!d"o6R#88V gtc{gyI"7~E6[8R狰Xj{L;ED V\ %%Y+ BJz%0P8+E؄%#ȗ/Aa(>75# TgW k/ֿS"c?,9◃龕N饪&T&]]EO6T>~ aWLF|B#[O}V`*B<-R(טogN!)]߬/O.]I GFC"yc3^~G ozCEJê$1NlRXd,~zV |Ü0WdEADPwDDf5L?ͯ9i=) *sE˒%NQT0Ʊ[2'lqI4=vrPg@>"03?g t|%2ԠZɘQF29=tN^0HL &T`{QA$93J ^r$OH{ĝp8Ol!#2Y{L-@6S \e\9r<5k Po! )r٤̌H0ZJB%Rڻ"\wk_gY3o?sr1#KjD\z I ?[RhYNu (r6ooqgpĐg!tRjŶ$F+iDq566l #K8aL‰)wFrRx.kdBjCFnUKp-w%In7_\oo"?T/S0`2RCp.)|GJm7؝QQJc*0߾*orh%jɵ)'nUsTWTr|(iLY"›58Ĩ4,)aD3,J#;S+Gj3dX5G:qʜ1cmS).!Q;T#3=Y# ;#8EgEL>GpM)-*2'H#C]$jyb^!<^^\RbM%k{vdRꛛ9lۿTbHBTf8iƶol\s9m[BܺfzdG43Pq9YvRI]"V{;IvO<&˔=O [)Cf# inSTbY(~0!̓ !:RWMQ&GS|Z Z)Î yav7^2'Đ?p*ѿϫÝzARsQ#6_DhB{` Pؗ@mxWn>I R弣:kDzee{(l<rӏ-+ "GqwQe7v̕vm#%7:9";&-nmȝ" #;B.)ˉqmj. 1qzY17Ls,{{K@)kޞgyg;JH9>(H'8Ab 8_#yK~ev+l#C0w)jzVǤ(sNSyH^@i$NNPSxqvca=̑sKh>֓%%ۦiƅfI7R`Rvv`$AqlYp_cs(JXS_$Ko7Y[.@ҍUPf I 0 iC3ɑ"Jr 8SNzBxaUPkiG6#5 ]uDj~q=ee:}o}O}{ȧ9ső`i2|va ^poBDh ,+U)C)v'8\ZQˋcM&BMFᓳay]mS-k&wٺ>)=dKa<2QfV0ga;Kݲ9zMN UЈBn,G}0b+".*wJA4S#8)HMZe.#"(@G? f>FrX}$ Gi&0z~ 7Dq{"$JƙYW܋<4оl$kdA#!,Hwog#G:!2S3e]sIi]}!rx\4`NݞB&r0KNBB'1V q^y0 ;zaj= :D>uœys{s}7xJ!V$'6XRe+*Hٌ't_ݷG[p_93,D:-z"Oj[.oVŌW$,94(8NQUdFȪYΦ6 V3<~DoW܁XK Lg3~ 'z 監Ȇ%./LcK%vF`aOZ~}@STXL)A aH*Kqf<+ýG ''$N8Er_rZ|mTÆ{dGBWO;+ۤEn]cv{__9^K,r,ks?&)J̐*|j8Ir`a 7P\S%Lt:J,D:=-9yu(CcY>r>3;<)na"ÔpQ?IM۩D¹m[Hb:SgNytN["b=(RX  UzBfD+MD$Hz-Yq$XuҙOㆍH9En<)0Bx Үz&!9zZfKD5 MħYSv[IĪ2yxfJd 0iX^JC!yKcd#9uHEZ^f7E== WgAf-XCrnfXbʜe<"& o\lj;7DS'\-5 '3PJ*7'6.82~́YLS:L$5#1Z n,`+[4kc1)[FQŏcqX*:)j0w6NZ| .ޓ*9EO@Yh)8YH/k~z_co:2I䚳]B 5Ϯ8C.j@5(9;N]„y*]A=1O %؈8''c-xDulZm`-0!)2>=_;u~&%viB)O `(?سd@Z@b;iQ=b"\얏(M]Hv~ىF(_f>LL~?0;vC8`WH8DnTHJf-d{g8ʞթLciB09P0R3GTEa`b뎔 BT:jt\aYcYD#*L;gA xWA/*L!9!r"?|Kyԙ7".\h6ﵝwwp5r:84<IBB2C4uO,ߍ8f$mpwyZ'*创>Y,s~pN0sj0rDXL)D}>Ho2xL$rT!w\떿q2!+z9Q&-V#{dy{eb}Bڄ|;G!V njL]nY+,Ȣ^+rXq}9j# OM$e8h996 ":)/Aĝ; @iJE%LM1z"U}H$_?N1Ԅ߅&5G?я^}[T 0$z ):GoDOU|]L4ͮnSÕsbGO)=,|Ҋz92&fOqDrkBE&BWRD)d)IVx4hx_($L>(1U[؀8_:"AuIJ AH+}\1w-:{W dXJ<7)/ ϰ A΄eHdp'Pd T}$ :^?~[A3a>g+Kk`ud^ːRc1&W㜳'mL;4wd uB#=+8 FS#lFrA.pG,.&x$e>O%&{wlxx~dzFzOrȝR&H9 ^%}8BpV%{"{:c-I8\`B,OG6qZY1.#uR詚U}v n^@=9‹8ܷtQibG5\U9lf#bzIXŇQ62!Ťq#fǧ^O IW>\y-kHG?CcHk:b{r]{򴐞1FE1duqt^6c2EIF7v@8J&7N PJ˰IL厜0*ѓQzMN3 uyӥ3h:BJM)^ xl2R,CM4~npǒuŸo>? j]#Xb9|/-.x,6_uhEN7kXXBgx|βJn:$߼{}20)b# I4.2lxQ绣ǘwxq9L[KltС v%ͷGBCBؔ BܲQKۿI.Xպz?3tD2 ( W6z2kU۳5Ÿ1gjl#8< 3 zu Y-|~h2p}C(T{T>Qdw43Lq{vs(Qb*d [)HfT& oC~(}[w'Qn9iJLTL\{""=@r®/&l6Mԃ;_cy,~Gr4bݜDY!Vӑ%b4Q" 8jۣo% G Yr3ltpd|8Fbi qTUP#-+b+o<6*7Ki%~㸗{EɈ/M!I}H2ݘh/}wmm%+e$%9C-GւŗQ[䟟6}cvI6(j45}~9_;|/PC")2I#N@^kWb=jsv{Rђ^(GP6gn v* vr~}wxzX3Ҩ9ҳ!V~ t@"D*QEp)Dt Y߰wr}jMs![9ER|>ZS9[ǂ-"[x8X4 1i{ w9[7ku|c펲d95dm1[/xQj!y[Mm~"N|A8kB*3H${ p9ų ۫]GB\4y%yd5Ӈ1ÇR[U<)M[C,f!<:Cհ3D`$C \J^7+$$0}C(H>ˮn2EN?mPS̜`;+sa*.C>`w%D+،*ɡg^ǾKˁ/9 i uh G@*Zn:' n#b!FpLw378R{./tX >eMZ OS#Ϭ5SQf #)s64iC̞߳&4M3Ki$\rZ_u&b{O {FnLYvf{GR9gXOC'€\a!oۼz)WwgjԱN@8Ϋq~9KϏ,SȾo&gslŬZ|]j>M h w[J8hlfd ]aZh8;zDSo[X+AWK]艀!Tع7Sc{k_ LZ-^/xW3Dm&8TCTiB^Gv^uB+|+ˌc8Pσ#|]N92܇26$NGvr}i5QՍL-9@pqg}afa2$YQu9K4`hQ@e=v?C`'Ig[]‹%e6ېҧ.3kg;_0x#&vJ0 N!:ODߏ7=HrER^=().Ц`.b!ﭽJս%+޵e|~Hwezpdq2v8g#/H"r]gw)hgH̠ G,QFlr|5[j8 g '}oD pą K"oFWdAuc؝c?< VAD2s2diѣ—죬l`b/2dnzG_ˍȘ[|`*p#6^&2̄nr$/um +dFYǚadQdHp@e@ihѣ DoV̩h#wssX/j=@7O82!]ϵWx:\=h'?%er0S"}~?4$ޭ4evm[Ho=%˻|-lxX #a1 iL B%A6UtOMdUR `Վ]le|"2 (ުIXisK9X2  az؜o肶Lwu. f Y[a5R_tk*{'i~q_Z~DX-9£9;4Kz ax_׷g;MJgs9)Ӛ9hʕ&ÏR',Xe/Z[AN잋/}&ZN0yoKlO-1g-)ea^{H.Ø\]l-r7 bDl?scY6ܥJy iHP`FL>qZ>ۊgU;A9.ѩ#ꨝlAAPz#d|u)ìRgQh{,EY R/{bmvLk `gU/q1;wI Ueq5wBA-[T^լyaҘU{5ޱ_w)]\!8ħFeZvuP2=ݏ 3R'/,ڤJj'5򠈻ZȨ ֍#3Y?pΞSSnBq@c /φȬc+Rޣ=qXP"qP##vRȒ 4 o* d~߿< fh,{JE6;lՓʗرC6Dl mӢ=44;{ǶUs ]/n-s}Dʺ§BŌ#(rƻkAnpUۊ연)iݍ*6RHxp/3HTV] LF(q]vg?ÑI'S9w#4u =|,UQxmŢ{+l ܯgatɹ?mRmB| :,f+E˾;%Ը8ӊt|YΚrbm:h8Pr{@fl)l !qlM;c#s915\ 4NdY{c`ea_;iv_1a'4Rr*g yF-kwț4)( [c0شwI,xR}1=!ƾᨱb3C8'm."-!fGmpboRwdҿKd6YW^ჱHvJe7P%ҁk;< Y;wx7O #'6U7w6GS؏!G3v!$He>y | '”CJl n_5~?._=?yCM%?iLSzPv.B" ̎^Rz{bN$@7|m8aHM:zēl ɳ"Հl_g˳eOv=W 5Gx6zB]*]ħɢ`/\<)W B>O":UO E8"Vk1z)QY_D@H]0 .dAʎSIw 4c7M]=Kh0*yUMk?9}n6fCa6F١, .s.'Zt+/VCa2^\w:jsfer5zB=n. -H}qn8;=MemSp=LI bz8MOuwW$UN QSvO?^jS&b=qtLPi\c2 P 9P*'gN |ЏYPq <)AlJ7)q=^x w*W߰u_ap%v?R $%'! \H:ky'\ -\*r?EXؒW9 gR::1@Va돍4_!Ygq ! #b璘7$Oq6$t8 ^/a7"r 儀M`$c6ŔƲd..v>y^;\f~FJ.',dňT.v#.R`&ݫ95RO+`ڋ&|7:խi lw۪9z#;Vn>V'Xi-Lw3퍕ŞN*='z$v8-Cc`tAv~FGȇl8Nt9gQw32p=&(f?!X5-+LJA yh$d, ".*!u2Ա74yx~+&V4%D5V\|f인|2Z/C4b#goQ$r>>'by4o7}t{Vlc Y&^ 9`h7'c\8+jtd4!bZ< k)RyoںcO^9,uaHSC 3TZ$(*SZ yEmqD V{Jڌ^tLϊֽpRjy{o%%6WE:ܺBԳKRN dA\_/BBD,8:.249E-ҳS;!l=N1zPʜZƬ yYy#!,P %=FIf\KZbA",B*!ף['D[d**qɈ++gֿ]HQoI**zMȋ(> ʌOOw'fjJ +ccx T]ǔ'`,Nx#{՗"7S)"UdnZbQ;glf 󺃆Jy4s;b9ц@79.O qD2*Rj:z'cD`xɓP8-'#plaulvoHZܟ䐐"9?&qt6kژ!o7PٵlsP"~۞o'$j3_(3Yrp IX dC} qSTPc&, f&R"E}3. tUy ȑ>H)JfiIv݌K |y(qx&3^uN}%q5v(W{8s8'S[Zeb<2QZ݇&"p]&Ls& y- z6ggTsrgHn1C 2 ?iyB\?l/WAlbBSB6r(yl'*u;=Ia]a, dH+gQekj_ % p\ȱ2%8AL`ـ>[QfyWN>k,%XZX1ASҸ./>-NyOGQ50HӪ{Z(>Hs"e q/2P:+]-%8y& d=|>;C>in"20HDƑIBhnSQ'$[ۖ %e21Rd9?o #O Nd6IvJu?ƅk&FGkV%"%9HmR1JK4Z38tv:O4^lGꉟu2r(BT:T0MV]} 5CeR`)#}@H!c`EdœڐH5cpwF41Qi~ŎP;P}l*VxppH="!HE֣dh?@”Y{~$Bͥ RHo} y) !9I!^!SS+3BWOl GYg,(NF\C(o[jHU/!qjTͫYZFr^g殨PgD|s}˓tI7/o4$+Q2OB[O PJ*y}ᗀW,S:|ia]1? \;@k3;0*բy«љ=SyM0V}%b5؉I^dc܆ e vxpuh|qj& "Q5HNZiyuK!pfU%A" ( ̡!aC 5_/ZJi1XY-eݵ"*EDQxZju4l03'#czE .gl&H~y};t,ĭ\!nLe"Ck ӫ"5h{CvwLLyrBbfwF$"Ύ5VEAVbv9os9~`;J)=;UccF?qaOm.p \f-s\UT&T5.I\g?J}dYH2Bz˸$NVN|͍X} |dn 41kj+2R1  n^X Ӂ 4mhM4%Gꂄ  `LM S ɚLQOܜ XOe&# ?ONP:$"%= C4ݽQpl>.ShmUi-p2X"l~u%#HĆcf3}%c%=@oȋ@HM;C}9 Annϖ̊ Q.ǩNיE#V!r))Qb+|{:ERғr`~ST;N=߽_7POGn!Tö&'2wҊm'Y /Ċ43 [b-(8ja%%b0QK+4FelNgPR6[.K|미߫śۋ/ֲ)X*@j׈;! p .%8onNoq9&ӱdBI(3œ|0.&Z#r#63ut m|x$Sqv]!|a@&B҅[)U˲7cѨWaD5*! Ж[E<#(C;@E~ %0 NV5ŵ^*`Foe0Sxl3ЅQF#!y:8IhT='51gRu Omb&Ax cٝ}coT3?{XhO~.Ag@$g|)'pX" 6%7naz=|TlDzy5I.ǜ(=ٍܽizpȮ5َK8$15U[1Bj9kOӪQ֒(-rf\iDH>?ӏ>'XYSY$`S"oKQn2W*gK$sTKnnSk!P>>JiZ|_ﮯyi;1{2Lbf آH~ye}%C8o MH d>)@%5x'V{K0=r&f[PvG6{Ps'§Fz?aΤHsX/+RcAHBOݱI&E[>hqR!x`&y.z UÚ*|{WN_M]\? jv&A|kTް+ER7-3#$bI+V"X%jI~go<'Q ]sx3xOx=U\_|}Wߌz~zY9okX6ed=H+N]pg7r=q8șd Cs0QV@^W3o'ݱ0f hnGIY8*_y7C&auRf쾩3uqy0䁿@V"EXn`f]Z#ꙥYB~.vl(⏋D^?JQxB*v>0ExPu+f&D6tfgg D I9aANLRς: \Tơv=ac#1c`GʦLWr&ed~BGpAZuCcS8,"ǁ9 @q?H J'H*{ē둂z2dQp>>C/҈aS“ޑg[.'O<WyvG dSᯞvEEW%8-B+N#9R׳)toDkls7q$K N#y,j ˏ䤜+^4-k#?hɾeLAn'fN:& a]^}<` 9jaf^Is0@NuyiGTmQ̑&vyCt0L?#'[* 3D"Uøu.BFDP9 rȬSA{P8kA=1wh">x8&X["'U&ˆe'{i燰ˌ`a:\im:Uh(2PzGw_an/{,c{eN ;0 Bh_xVݭ/%<)k5,*qcS38p1e=GLMPC"65w`㭯oW!> "BHJD6ajuÙ BcXhdSi82{PO!64E( ¸(2}WN,) JE@|FR%٤:Ҏ'ڏ"iSe_啮<|j!8#!2`xR745˨ & ^Yz]{r%)(%UvW"eGR,KlNP>ZFAAW8ϟUN]Gڨ D-( ž-dkN~JC $u{@?UDHSp?plTQh<>:Dq"< ۷ V]f.U{*4֜n ` V S)Yy%,جPoPz2HpP=RGºd.AfƜYB@]ĄB8w*!)h pRa `Б>Dc=ٴ|]ncdɇ&8NX )ކ#8 }\|="8ݏ{_LA`%_E^~w!'o2 %uH}{Vp@Q| s}Fer8W,^.`u:rd/)A:ld9sDCvw)UDvf9` Bɸ/Y,_~;eˊ!["*d= GYΑz6R;m EwY-ߟd' z 9T |D#Xr`I#'u7u4a܀s_U $ >%{2`8XGy$M eg'u }@VL~]߬%NJ3EWhwKi,Qq$A0Q*GGzm`aڅM-3k=ICc jUd/y^;y(.ux>]n?oIh-%_(9)/vrBȽ +7]UVB@ 2.\尃9>퓷l/O5 "|"6L=0*7r,Y k mqD9kIgNwȏn ןDT#}AQ2?937:󁈩;!BF{8tI`}cI,k}ϵ"XH^d-;!\dF 'EaPc5'HHl3ZޕfUdz 7aoד<߰EsizٹAyTo/.u\D84ˇ>r22&R:HŖFnI: @ 葩6 ͷVdeHqA +d@Zc|]_dm0NB-O '- FwLIq9ioEQB16nxzuha c25l;Nk=n!\3929."C`ae)d<٬?>R}o6ȏ93϶CO)js1qnd2^Uy6^)IDvn{qQ/lvTȤbT;E⹵@hg&kCSL#X^t5{Gf#IR~O=!T=I qlvQokn_HR] q8˂H!v[o]:Bw5dx&يTa{Ѿ\!j["ɆAOh3vB8x}{CaưSM%j0a$ B0J,^}d~*iB`"mT* _o cf!۲^m$j 2y*7zJ-YbϴaQ!.?ҞDRT&tWĈ)lol10 /w2|WޗD)*TSҭIZ 1f*<0%d[ART5#,* !M%etN .goR5)s΍$ Eb *#tw㛦hiq*hNZ )\w#4=ٜ^mn틮vvK,){ J'$M09poѺ'?B*um^ksEVC`"@ So5SGHAaz~Ss\mH =?&rP{ܫ:IY6sRM%JEE&ysڏZ#~l#||75Qs ˒cM]o1| m78"b@X"՛,[KH- yҪ說bԄf5M;gH9gi44.Į9??7؞p!"IPZ*vdRGtÉ YPīQPu# wx,{ +xRHp @!ϩ@t5ղ,{$APmC_fZIfR&2k"qۺ$^09\@h V9+ 5NjRc^Syjd*u>wϻO!@Q-kfkdsu6H Q xB tq.i7LxS6,I -וn8r="@?q:9AD߂UaܕHcA|_z}TċWHN0wBx?mGlǻC^Kg8fD-cy}#,B?H `H{mM=nH;M*+{9''^bm3JTTS_360pyĐ=r1ǐ`{Îg2[a4i!s8,,A5:,8 T KAax*$qTH-VGB`Hn7}gq NL#B*W*e{^!DTQc>iy"&'d^z<]>݋̱MN$`{Ǚ]<4!sm|bG-&*lR/*!%`lb6NIdrdH0Z*B܂;؀6[<)dp KCߘe27$ BTj0iUg0p##8ok]@)v\92~?]8ے즲i yu(n=.?\ݑ#?^9G:#Xia5ⵑ<3NSy85!aUXpNk%߇{5r̞.uHI\dSg`'0%\k#HDVKA\^7؄#fXov:uj8OT}L;1lЍ$#LD{Q> V8Z)M>P5Cn<Պbm, hLP>DI6("DB ap+oaB3G2^DX9#*ٜdӻ|zɻ7qXmIGCi*w0{h}{s*ѓs!j _ޒWKK#o_.(RN@<' ]a_ڝҫM2~}؇G |ɈeW)7bՈ"Gʛ?SH]pHCc9T*4<'r]tn)8 K` }2=6ױBwGy EHMv{X}H:qʜ:|X#`%oDc 5F6怘Z3L~N #%5vpP#UIɍ}tϙ3߽& fag9*(5nؼ&gXt 25s4u+*,Lw$66ޔIB3s}Bf7'A-[]7AF=%?ʩ3ܙQGmE-Bp*ڸx{K-%Ibyrd268"gc4+8#6 43h($i2񫖠-kCTS #&R{%~.KȊ1| vIuȎW1!ޗ_:G ^-@I`D0yxYqcT$>:Y6Qg=^|<զDZGyP?H?\g8~b9[b;N1*sc}p`S2iy DKUsaq1Ad,.?Yz,^wL.,N_Y2fط/Z Xܡs\|I{ZW983Vϙo -Q$2R:BԑHLC\$,]L+pZ[BOoG@TIs%C*} lXJlݖ%""M#aU~&n/>P\X#n<3>ⱡLؽF?&=q 0ἐdq/C by5kǧK\~+G&{$BINbGu@+ U7|/xVDSq0'cU$!mA;T΄TMC-כS˾/RȞ@[yXIĭ$@3k ԯ3*< /2;sXAĆfB:[ dS*)V: u}D qܬvG IG尺@ݳΜvdNjRSX dbC̝Y i3+F1s= L LNx,#NQ j9^$L ޳R 'A>[aaIIze\>#JU$|QF)`|(x.˨;Gy:c|ؖ )%>,GioRl?&6;^ @@%TȶMÌm|$~]sR)KO.׷۫aۇ.߭/9AX%Fs%#Ư3&N.ҰJj-ބxdZCZqne}[==< t#@6X8(aB|Xq a]RG,(81^D` Xe _7~3/c0VHSsyf]"Nέ79Qή˙҆\C7뿌{kcj&ax֚c$2X{;8}0u'b!mj‘@G '{)k`qTFbNqk!kF 9ГuQsQ`5w=C_#V111C(r]$7[fKۛY%CL$͍>^Uj:dsZ"cI\|(DhD0~25_\J.rHxY.WB_{!D9I6\htd1K%_W-kAqekTQgY %Hiv[aaۖ\[D*nx8;}$@896^x¯KqJ,۬Zd8-q BPD5?? 5kME" =Z gq֧ZQI!Eh+GOlΌjoLե^k >ZoLDfjT7bkoqC=MdD' *jiar^a38ݿ6Oø琓vMRI^&qsy x.!*rȺ&NOs7 uX aܛM'1zւc^6(޸6f/ϾO֑Ɖ4i"S&E,I\ w̤QcY!/)K*wid:6-:!~eqXTE9r8ZLSBytx39D^=u"C :W(:֎0o <.;nf_EMA@VjLN o^9"c<5zO7l'\}9coK؃__ƯMNAL+`R':WD 25u*!|DzɘLRV:1d1)Fy*袼\#1xVDȮh9짹lszu{vӁ*Ix %Xo+3BฑhEtE7'dOāp[WoP>JT1_H c\%,-^뤐nP'*F*G )nw`µ.[viMhϯOOHd5Rb2-3992qP^1vRI".;ws2j$if"w$~suWL촚f1$֜S xQ\so{ 20\J R5FDoLF~&IG%A}&m/?`.fN`'= FQ]͙anR2G#}u}Y__fBv9Gaiv3"+S9GCj{{5l6/XXuyHϸE*O<⣾Fh¤.$0J,Uu5+#@P^ig^Mbi֒r ,]Q| 2^wX8LqDϾG03B 4 DRToIû{:a­X HIo!II#Q]# x}0)g 锷Ս !]lDwD-{|X0dJBZ4] î Kȿmf^3|?LTL3K@`*k8l4=Ob7l FkOƹzطt OmʊRHRk7]qʤgOwg|46IvoL鐎EwX7|1C2]ھ }{}>;Y!)w@VLȬ;BWWXtYxѰiS62+@ũ40˘N)+-/R.񖨜LQLI˒Qcb_a>H*U')*q%r24}~E ɲ2J59:`!d{g$?^+1N*BZ:'a"@&f_ ~,4[̍gVdH"jaͬLխIM"Ta} t<b8R3 fna),!4 &fL9+I-O)zRg$,m& fg%3}ݮ{)WoaBG!?L7r;Y X[:Uv\HS t5HFBdj^i|>**h痧D8TfqK&ӲBv3!RJ2}J@ot!2zMsmA>=a8_XA=^җ iN\UNUd0n F$?pi_q4-(+hə5Q%4!=z*)Xh_&nww8$$ [\}pwxs%fƒDC*uJ+212,Y!#NO0m7pΊzBɛə֚ck/x'_`,Z8iD7㱦|} Id'+!5+vxTMaJ!bTZ>rcNF>i#)VT{lR y$J7;}" 8BJJ^8<|V?kyH5Zb++ 5vr-bkf!O rxRyA8WK;.ao7y{afR"eφc:bEI6g~|T1\'zG8=$}5'+(k0 _߬?|8V2b#򲾲LD=:E氈2w1ow7ݭW꜠ ؉9/^ݗ__g4'|&QzգWP42.n|-`dq _"R̺Ȃx@RKl׼2#>$~&ӌp.9>Mߊ9Y/II>JB~F=\zwq\}# j&8OLufcL4T  zkjZ$`둒ug Zx-%Gz"re;*Vުo؍𰔷x~bUӴӰg@FGsű6_`u+lp=6ܘr+w֠,N8++7m#ɘWA_jAu"|^k' yDŽ~`󘄽gn  [sӸFk+ykI~5c}>rn"'FpnGx*S.WM)XcZ9z6r0NfOv ~"d8DC syv`6!u<:f4v=qh1;ݴ|+l_Eds~ѱY9b]Չ8e"z_> <#d-7OMǶÅDo576pwʗx1IUqˤOHT)j)?kb)&e~e |}\ƅ`\89,#XYi.hۺƀL\QUGPX&(Ѡ#-F=zBp]}do> fd]mQȼL vgH6 db_Fig!L쬲H8c5p#>/!x4H|L#Cň0p[6~HC8$XWX!SՈBd-H |x JtV9ZijSԜbxLKL DOFlb$DfAUMxݱ3xb8؊H!-MF'; oOzoLezpX)H=W4*mYw; ]3=h3bf { \ v"ǟ b)'-P͔-FWRd<۫.ޮO鲙`gȝNYQgh7_x Ԍ}]_㵬:Bd}0P3 eH:r^Աx~": Nc56=. qLUrRjy+JɸĚ (3GsI۫K!fT4՘Zyv El2+!И؁!TTY>ɑPM&ɭ*5 lA]cǟR}w"Gqpx^ !سpb8!.č<34Xnl.On6ا$"\\!v.ґb?9/v a#2tB^U4MT`"jybihw~xFuBM>IIÇ@sjɫ&`~:ƫ Ŧ2V;u&ir.Dr k6WL %d\"IaGk97(,Z- ϯ·N^&tr˻`'NUG< W| J&$v},Vj$oS丆NV ˠc>&6{2Nj$KB)eWڄ tl OuxCLnsu|Xnhi3A(q3IfX)߼7G|D5L@A.Wο)&ȝ.[Lj?'7KbXVqe1Ip >e;16QjE`4[*5[(+eC{<|[eJU3 YmB?{Be&b?_"%&k1Bjk"u" >O `7n}ߏT'd O(6Lٍ @"q urL^}D@'92E=e]|#Ix,KZe/Ycݭ<8SX6EobN&oԟ]Gq,$4>hz\+1<#{"Tkķ{Ji,r__&rwsK8]RbG](֗,¾w;n{Ű2aYlyEɏ %AZ?Ko /G$W`J R=eGЎqL&S4"Fd) b4:k1XLr盡ⴽ3C4(!0nv#1,+ 5_;:iu5gGI҇{@yus[GWaGώet/UFx_jែ ?YbIv[xi2Ȉx*$ gd  :9 azWy*=4[3> w˷Wpwb}Y @8ÇʟJ")U'k Ej3\Ą`XeZ ED5#` m̖SF>И=^A#Ylb A4" 1a Ulnv59'U).;r S[m#}"3% OJ˸=jn4<eFO D6.c$z`K ˀ)/^/Zɸ<RGY~yaau 9N=/S^+N*?d`yn@RKZy+KK6Ew219gn3Vl X51=dtZ*sS4XPX76dϘQ3xPl9"1ux'd'f(Nl9!SLN'Ĭl(<Ĭ&if#yĄ"EB:;Ϋ_'ka)ݡSukXb%5#D9M4Uŧݖhנ[ɭSB֗D"> ]{;aLvtNXMHѪ讇6*}{~q^Gi?4sI i 7H'g p$8E̹*7qE ˂Db_g afTNgH43t cDn1w*}Ne32(drZZpu%5]N?~טo!)&ͫ9΂/Z1XD : TʠDf].gN;YFKȬVJgS 15*^$"*\VF>[Ej}8_,,7-s~2Ź3IsKX[4#X)P leu2Yqylp.李֬.&) -y aPq?ّ@fl)<:{["tap:ē¥&%zw,l/$@5%dBÅHw]z<[;t~ 4[ɰΗs2}@$Lm]"| ղ qBی(Z㋆e" }a\ུ#E芓+iQThRx/W~W]=[S$e}sC]GzB`m2gx5H)$%/_4G# y랬0B&*]$&RjX3yrEwCd1<'Ou ũLmug"s)R8Nje9`ǭYfTuxXe F׀I!4,{O^N6@{3"+tވV]bQ  նs{^9R3s^s`xG)s~$_܆*(G̋gO7)&U! t}r<) paJ&ODXH8kpr@ak̪&lux9 ɫ*{$P~SJi G3>-mXw8_^&5I2sjV7(2QSZ9AKʄ H4&QSA=1mT0 %_dJ$'BRH;U/9 hyuX̂!+ ra u0J~9*[g(EƵ!RT oDN?,l, vϊj#AW!3Fz!{q/ã[L*YH1YF!; )*Crw/dm`e -AVle)dD kmBm(v"DZd6q?]b %ǁn]ϩBl7'm񶝴>[ׯN]~: i҇Fj ?{bz ?6kf!!5lre\iNaB^s+ HX9<1ƩT; ~3Q>Ije$Uf)d?=g9J9PY.1Uq6[<:^Qnx r ^z,v&֙ V؊iQh=s|oB{0l|'N[>TR˧\xj1; ed0J*\}E4%J/yN7."7NY:!%͉TPٲ'*iٳ^UgGOk9,S 9Vద8P#E",U7uQU`{ ,g mNF2߃$bgi+0*4,Iͺ C:5U)"B! H#n`"yHkEbH0sI!,w۵|180hg o\L!p [Y!ĻǹMH YMĖiS9$b8!gH7&=TMRr~a3#aUOaܞ%iFH'/Kn?&='6 FaCsF6C}bޑ%{ 0_!F|dc{s|h\J`d@a.%>'_杼SO2aʜ,MlerL]A~$Sf|o4T.-fՏ/OWE^< ^̡MhdBٷIYl?o778si&[J:甆6R2=[`WE@;i6Nj0y@<,V/OZ鮅ēRMq!nGEk?VXJ8'$pyI^MɃFW ɭf"8P$|›qED"td_{`~"s։8~"-q`G?A()EsZ}" 3A?3d)OAro"sf5[yI dۄ#`[J z{,Zn##EP/zlMcRc}7BXo9S+kJ\?ncR2<(KE\3"jqK/ 2nai%i*^2:ODvc&ŞC#范3I#'/3it6 cb/?\%oV҉I D"b _&#׳p/Yi|}O^~U( 1 PlM"cV (aNokCf6"~w~2-ɞ`NZ,k^j9,] 66Y\r$h#CV\Vťq펛śۋ/ׇΉ"@Hނ›ipIgr~t{yyK^^8"t\db"|8 Bc4 vϧgx jEoFBH3JHkz=Z6lYmGF, X~NfRi4I():fq,{U8`XB=;L?9Nd1{'3TKGI'!S21H"p'X;ӛxX_ 0[Lj_2jbP .682GG৛ W )$4`OJnrfF>H{OWc:=oLtrQj"w IA2&^Ow ,"b>9!7P̯~1˿v׋QBV!{CT@TOأ  TK]YwwĨVDGTU!%&TrpdrGi+JPvߍfc4Ֆ'[[$!bM?/ɉ'\unLG8'8B\/3nv%ezVūcw ijBNzO$+VMX8*(Ie[p5{{7 _"l3pcJZ(S_~8M|u{y:7Jșn<B4`,ygig9! c+$ݯ_{U;ۓ'`ŁBd0V','g}>Gǵ q X- > 3Q`vKy0o!)Xw+搃.%gV55 |(KJ?aGS,$c{j$]dxJz7`C&Y.._OϐUۛ/ǜuq,P!j"PpV՝aM1\YH/-$P}V l90#ͫ!WA;qdIOڬZ㟃AA,k΍t~p%s|^J^Z5^Xa&phA$uœ+Ɛ ':DW-B[ P#1ᩘ,k!9!]e{BXrtCH\"ѝ' -I)L!G:3zC}$yt$@'W4P[Qcje`|[$?p_(QGuds24҇1#lQH tᴌj?_,Z#kM{׸ A^Ӛ<̭[2 I~}+@ˁUG<~1tYDxph_6#V]ٛ1vѴWn59֛VĻӌSI8PS<]?/T! $iۊEbtq#I'LTs C3E2HUg\<w4V=+QG!\mݱuEAW$ GI4+Rs wƦ7KKD}8JDD*WUĻ')ڐ0w=.ֱ,־y&tt!5 ]S㣇csflW 壕(._ovJ<`w~@MmO8MZSnz6-9sj2%8&̣A#|#sem=Z4M"*G-q _ V8TqBx01/" 'THPG}s=A* L]T+5徫'' 3É^]~\_!V!PXѲ"Uqid._I"՝6+R~< "*ЬMZ5λGRO=1=DrqQ* ̡ilKO܀9!#mЇw-wj?2zOZ"a)s^Pl]I bT794MtABwlRDY>\O FMpUQ gC.L?΃O U?Džj {`tQ*pY-Z&B(9k~Cs g@96fv( .{TA0jLjp>| y5%sHbtI EÚ ;wY|&ǂ0\ $R4 $v<_l1ą4sL6LPeXrY$ wFB¡OG'T(R#tGHϒt:>a؇!='SհԍufzӃȅXZ#Xud9"( qqtT^*yVHyQ8.7A6Cz`EbDI{ĭJNMH,g+ :{LEsN< fO"CR%gT_qNs{,je4e $lm]MlR#>^4Y]9rUwic##/*-Ÿ&)b$:`jEdfF7G+DNrDrù%4&\.]d΢.Qr1+leI{w('jű5"D2ztssPJ aB!&L7:G֗ww9 ݠi.8PB]/`rJEጐ#a4M|2+SS ґ㣵cJNebkgwTEȑ$ǤgI~W*pbzN{6aa|"lRD'>/?piuH]B(+q/x|{¥w_7~-?m.ehQĥq&y/m̄  Qe^.vH49ѓP7ruRrx<,۫r}hsRl9fs+$͕̊Ә.o-;J4 dH_[]EĚ֐/:ئ+qRq*}Em.?m\i=%4 3='?ϓJdJ -Gn@Wr ue%ܯV8c8i PTA^gKFyp8{ m_%H g3ɍHpDh9kJ~6<b0vR4j{7@v7*k@,gHM4+=lh^j؞?/ȲJtdj8XGrٱTN5ψk^On;^RyfIE|bf^g B;fTC5X{Õla*b=D+bU%dE;Lp9b-]LySfwzOprCc6{1:.CJnD1}&;<˲*3 u}bH#_9'&/{?[Iw)^)Kd8ĤS3mf2& #47{Qp%+ŅW#|X_op0!H1;s!ސ'm ]3 Ew~}#Fd=ޙ# V϶'ءOFove2lOÞc(rG?&yGDO]YV>Oٽ Ea"|v4JIjγd=b´(X3$'IK g\ ^!>1O?n-0Y2'c㌴ҕ @&5=/~zCE5ױ`p4'& 0ʤz6d'?ok$'E""x%g%\{Ka i>gݏ^ ɡ :Q?TNL㲳r 1?&l)PS(?Gaf&fpB[n66USDfm첑Ėz[*>o%gB5D CN^R̪T#Fx@{W0X+{[t(}ԛ xD$}8*PBcIY =N(yS⶚G&;0Tz7rhyLahcegr ?60+fRt;ϑ16_yRBGV 'O~T,Z,^&-o/5l 8ʂ[|0]8*L}]L$N8\(!$6DV{ϩہBz{IH8;h`ٛiކ> ;~o֧CINI teD3XNt^n*GGcՅlJ I)HeS)oo$ 1{>6TrDwAȋ7D/TE`|l%BM-QLrpO17*9RJS)R8S %>||zpА8FU(igj97JEM#iHfyǚy`I&G!8ZGL+>ٟITfq΃I‘^f[s7a&6(jdCF4.q{&:6ވ_z^N*h ̔! 4j ߶/oy$27Z*.+rsO3}NǪM]Z<50!F[ D)S8T/M07_:s%q5G8pM![/_ 3.Н8)B jE0TIA,& WsfI\X#;4S&p/hMήtY8Ԍq &C{e*VZUM: Hm`皩 o0G[JKqBG'z$0sm<1ԆŮf%T 8A&u "@JX3 ]\x#ͳD Ctc|Lҩd(keAHSuM >ߤ.:jWCtE+@=:z{h"!)]#ep&DeE%Lǧl/}s+^^Q^Iȧ/Gn|^HTzuue"˹1d}4bi}<`p ee;U$Y,;8)r Aess3p{Vqs_T =Bd_8v%>w W*F]BSI$Ix|nwvduEyaA:Y ,ݾ߼?aDQ:g3i"kaaUY8/H[5 svD*7OrTZ89yЮPF;d(TlǗ /ӣȢN?*̞TTV2>LU1 Z-Ibޝ/W|(7䠞a}y i7 9RLgYv,0c`ֺoVS4U $20Ԣ :˿!E(#R9 w͚$A @99! ̈StkwW!(Z{c!# a)ml.e]Cq;^.^_obSd /ɐƖ83̰9LMx쥴X 8>\#hǂTEj QAIC\I9-'5OØ&60V(ȥe'ON= tLw/lONe؊B`aqbE[=bu};ݷ 1a,ΤF,N,XNg "0ui&JKOb̽29D(JMp'NN4+o(N|~y.Sˇn\%=Pt9V~9kmi҂ 8"3ƀථOɘ/D5_ˠ,A.B]_SI~ jNY-!>)@bdb.j%LcҷK,bO, ւc%A_vac7\4.o>~Y'J20,$964Bvk meIvHsvIC  ggfp;$3oKr[(2HXز~[ H  QIc&=?@һ4uZݻIn,uqs ?RYG#ȶT!B,5C) 03#2GR2as-=I_;y ZLQ(aיXl1ԁ0ٔlnE` :Ha9ٚrئNoz7tBwdlHj\(BRHCd&k%Pplo$ٱ|[WgɵR8P {Ol$=yK`ـ1ZB.5JTY*qϰs'ywZ‘tY𜩑0&M^02ߓj ;c]B Uܰ;qBHc%o"n5噍VNs&)D%xG.(>w'bUMi!ά wGN9LWC"fO߉A=@ Xa5VRZ+sۻ?XfֆYO**,yY7ׅ6l0HBEL: W׫3t gwBU%316,ɳA=p{Z_ӎOM؋ip=?1E`< {8olswPOAiF p4M̄d A J qixZ;::1A,K/섔*VJөؾ=ZdM -ClȔ` QUAQ=Y@>|L-fuy7_^HdV" 6Y8!  TZSoc-vwB#_ CN潃ᣰ)emw8xLإ+&lRQH}ϕ|HGb Pll9{Rқ744aihg-6nK1{%SB_`O%WiS1/D D/" LJ豻^*3y*#/X'dB_6?<{7/i3f<(dG!ۍ+Y]8wbơz`>2qqٓSãtᅹZe7jwv~ r`kfC gDeM/N%L#S4dS '3CXaC*bKB0TٳiL#$.kIUܥft>wCF6e(N/kvZ8/k 🕞PY ^ eDh)%r|İVSc] y}{ݗt8?ËLc*KJ~bEc _eG:Mfy( Spoj&k8#KߒQs-a1V;$qhyLH TyxJL© cP!H3Sa( 46P # _=ÜLF`pڠ "NT[U2+'j87K29˓sezBSl({ֲ+R2㎷yy3>R]9Xcl|";r_7ծwMFzII^rxFhG?1`L&iu18axcQOZņpH:{I|uy\m: ۀǠa PEZd>#\ar cNPzvV8k}-)t*w;cp)rG+EF0>Ͻ4ګH{g&VgD82@x 8C[{v[.WkaN|Ȫv#K>^}I±Y%b=o'V%1owՁR5X.8oOfXfrwMKzoEW2whd2 -'ȵ66jUCl lxV?sDc00_K^d#HBu`/$'0­AMz ?ߛE{݊e?[l6d!Ay<+n#&{ї`^c" V[X$eas9PjD"0CP_(B=~O jWҘ,VOJ/5d7`-oZj8/^v⋡xKlG!);oCepl ]0{{\'Or󧷦Lp6O5Qq6sG,5첳pֆ*5=iP!@<[eJmpFKd% 0u2 ⠉f[S٘[V5G]#ap1a+I'8?6 og~Ktba䜤Ad7m `R)e{w m\ID'H@\PzjEzKN&dnj,l߫ =>/klEiԶw?7l Ή#( өo*+O1 eD@#I>Oa'RbӇ;1)r?΋;-I# mu:1c;1*υ(LEɦ契M'188 ޠ! Egd*8v*Eؕ5S?<=ll5cGvGjs׺?< ^fA,Ֆ %Y_oa>N2W)8]搉]RjNB/pi*i]ϱ\.Qtk k)< ³ ;?A~f9g8-Ɖf4MVVx-ʻ2,3%]eV8''d9P /77igCAqa$Z̤.r(:&XE)W.dp XZc8JL zS vZG kPCʱWZ8A2Lo7瀣AP63'[8֟1|KZ]޼S@3v~M.Rv݆q78dJH2Lfū&'s6<̮z:Kfi)tWMaƧ_-3lH 5|M~KExl+=T8VcF/g?|ޓ-$NP5t%*p(T2VF٬tb^PDOUܧXKSP:@H(SSBDҬ20l߱a[@x]i$^E,5@hË-}Dw(jLL5&K%#r2(/}N~0Wn)[.b+wHt֯}?O~΅#,dz2CӾt#CO^&އ62ƍۤL3 ި8 /VoN|AO/*nhD}fz{G~::Ƚ_"ɏb}@BԭL~:GSa {$@:0=e{p G?lGHXUw@qO*zsŪf:5i#)1 ;BIS 8&;Cϗ{R s@xoo @Ķ\#53[*)8fKJ!Кrʎ{ p={WrXxr}`{9~"HCM-xa7qcK,cuB CD,lld6' B! Wp1"(;cKmu\8qx#uB齖ݳ\Οc8ߝ rRE:% rNh+VolGzӂϧjnz-JÐ4SƜGTGp*H' X'ՙa]0ӥoҔ1/uNm}}~(:2U8MH] ɡݢ+G;jG,uC^9997" q}Ǎ _\Cq){UfbTGR,ʺx4YX%G١KKzWNƆx3 Tט6ɆW_lwgbWw7@{ةq[04F5RSa{ވ%bحqsf >bn3ΌdDꡤE'\sf?#0ll,ǰT4(qbF쯳7B" )VLO3.Lýׯ-):WV9kb.c:'G](6}?ɳC+"\Of"aLoJvr;եw'Xbbs9`UǞt9aA(g}UTr>Pqh+,mYRoWnJ@t)8Y H"L#b /RH]52[c\4-FwT$%.7fDYI-}d#ga68D)vgzhzu'{F`X5?-pqwFʁzM_%腥7HyR;RՇ{uYh]lȳŚ *rQ:^݈z$O~d66ӰnI4YΣ`[^nϞ5?G>I 1aG!B*H(u".F |G`c@H1 8wDlH Ԫ$lQjaw8Ĭֻf@˭'%n tj`?O`'\p7x8#G5/Www(~)/ [ al+F,?8f f,"3n`U䁗7Ԉ~:?$`7C^x%-`ıRJ\HY!'y%b,r`ȕtWv^K]@B&qz"6uOv2HƗ9;{|IcYJg܇9 *"5EML uFj k5fZأ(>ע6j`(;\]`ٓ0Nyr&xLvC.7/.8Ųf5t|JUj9Sg:ߍɦl d:"ú2֊UM>d=M*&0z҇-oB-gꂻb@q-B2mA3I hwaE('Pp{6zL=XoC;ǙmedP.Ɉ)G O# ÛgE:??{CHh@۾l.i䌆}!-G8rʼnp`pjoI B44lZnQU4s )+NvZ1jrovup#] nNiX!OE9)0VʶT16Xg4lSdz (h4FZ_Ko5-b?'-aH9F*j8QIep&Zէ=ُ!E &  '2voo}^>hҜ0]XDLj2ݟ qd3h+!ދ+NGCvcís ԭ)NݳgZS$#~mCm!۟e lL x@ۂޑxfTo2lfɆKәd]731ފ2}'6ѱF9j2. D''=S5 =:&8jI!|8e/Y`t%L%a>jP$ 2'/[RPQZn9}v~yHTOSE4"oE7j_ZIt]0xh5Q/43نE0?kcpA ;@a@80b)v/8 <1kDm=bw~8ᜮo^!"D< HKp$;c[c4۷\quŲ&7{;VXQ;T=@,R c-aR&yd2MÈr &DS*[xB{u;˫oxh•N0߈LR#8"[࢟a3j-dAɺ+{` fH9.hiўcǖq Dg/[?o$Tķw K&{'$URۓ"tdj}pG1$l eUa~W'F23Rٝz;"%~kqlb]Rl]cm-XgυwZll[[ _O8vG.}*^A{0?ݬo?}9{s+WGW;oO{)S?}Q YgzTDLRh߬ wt CͶ_]'lڬo =/zt.f'!oO}5sm=n[ɶɽ =\~A{W;r"jyF'|Yk5C~w$]W}q|{,\8sN <`V,)>ݏsv0r7E^W&Ȣ6ltsoQ㬥*x}b&TOq,#Dž<[vCxk35!&VraP´2rx)ulfyhlQ%:awK"e9"\lΩ ےj273xxכU3FDt+QwʯN(d90{=ܸgWE$#@d&89`-q 0Sc Sh1kbҧbbE, ִ{\%R&vp܉fĔ a )7s?""@ʋ8x< ,o>(ʟ%`^qBeȖ@ ŏT0iXgI(P|(NPs2I o,3}FCNCR51v*&J+ KXŕ { +܊C@b#Ͷ#0w6}f,8H: xS_Vhy}q@҈ZI \=4_ߐpmol$sY N1jGԚPWH2j<[BBxc}4i*aH77 ybXO٣BZsq]u> &CX2"9( y;2ݼ8zEdw0%Α3=RlI&/H%sO˔ )g@d:`#kaHȟL9&iG Jٓ7+8& K|y} RS\ ʟ3zͺD8 2p/++bu qDxlkLe_.:g#H,ZM/8VОÄ/T@=,_yyV;hcqgaU&554#❪w:?z5|,zsxuy|Hiosp C3dy}&]v$qԲlaYer%ke2f"ZDI *F ^uF`wGŌv{Ϟx#]Z02uRqVL"ϣłSm4v6fNPr1 __cSoL.$'djël,vv\ flX HQ3R. [8DTQ ĨD{Beoo`qoGpyyEoc 7SF_gwD ?^8<¬ >5! X K,GV^PiYcw6 li?=!BA9&F5;1~͐Qp$7Mi2nydepvA$X/X^3E:+b<}-'܇]7,AuoVLtEL8AuW7 @xDxb^ 836ؖwti7?Qx rv ~wk܀~DW-v\kϗ$gOҳ翱_dѰᠳqV&6FgȰG}COg5S&^0<>{/3| #i]F** e==NC}EE紶K:s\Q܄<#!bVDKM:0l߮ZFc8ΎHMcCt^cY)5 >"X*vcQKԬf-ȩP$JujEɷe?ޯoNcYkIaM̜"T$Q:-kT8,@NXh*кq~xZ-"J`H?ꊷhܑI_~!%0f<0/w(Xw{/)!]jtdd=.hMQޏJO;nRc<.bLNdzBl3)[p#3)'Y#7ٚ{5,/חr"JFȴ#u879Mx/яZQ?e ׻h !NHr1夈W8_bjsc1#QiB{!Y~FS8sq?wr@/:KoY8̦pn;9mZsH嬽>S:.LjQL jfql}@koGYdK/]53 ZY9:*'<LZ*1 #5Ȝ ų0Kydk&& HoAKbuL.{{k`и%CV)wic<.`%2y'GCl6,=AǮV.NuT0*}= cl &0/ϱx" y9Qvhѩzʮ˼nIQ B- 9|q~Ϫͦ3v 0)zr" 1K䵨/,f\(pF*=ep^6Of%0Yr9ڲ`NHbkpz3ji%P6|g}2ME$#*SFhb"ŧfI􊷂S9h/h٣`)E9A|;|Q[;rnb)%O3ޗ(W_?IckQw/4rEl[TqYi,oˆ p11ȗ+;ӱ-X gf =L_~빽≠<mgH%(Dp8dZ~#aAi8#5JbϸIǡ-gekY' X~bnO>)MXyȥH%1`hm4>"{KVhR<0SQ73;Z9Gk.RX*{>[y(L8.!ŭjỷ j{:Qw<+EhT栃& )2LVҏ4/stzRR ̸> {]HƵroqpw˟ !䭙Hnx )g&6T12 g/oX3ln{|=OcK#aa7>˩$hܛɣךuj MuJ\`1aTD׉tͲ i4861|kW"\Q&6׾0ҙk4NE|rUI:ӞxRU他s` )\NP{Fds}})`YXT+:KU}A]`c9R/ݗm3*ژ2NBBz8B)GeRˍp)UZp/|nq5ִEtk>Oe(;>9@X[urwj,U6LE #b"AyMlIHnI,Qa~HN ;\G)դ ϚՀfuGR&a& F@. ɔy7&ery̤8()Ր+IGXV\^\^tJnCy۽t(yJWgi8M*[V,phRaWq gzCx޺m::1x-"%+'/R#V``m] W;a֥y[8 f?ǫ<= ^>sjs{o|ˁ?`JEJ7}]h?o;a+%2V'6j2I.{%{iۓGcE+WDehv2P?>*>eYx%=?ִoΈrautlM"ۢ&i*.~Ո2EXEaU@F ©x{pc1 ᵭ n+NxxdSm{YshsrM &XLb kp[8`b$?(}}uBVICb.ʆ9>jSksC;PW7w}(xzvM&/9H/@BScM(~*_UfeYw3v0/!z -9*S6$Jy! %ayG=49' |f&jj[1n;hԯB◝˃򈈺f[ $PI5( 71q5#e7+RypmnyAfgj3o-w5TXFl{Ξ=a9>u%MmWܔFTLƤ?BlD Lu@a |ᰪ$: .вrĤ9 y r͌?NNa% wN=4La(\حXHz:䰧Cds||$zf'Klx>c|jYDF.S:7lW3*]Rh&1S^Ë/3aѣL/(.,3$c[UVAL%>L[d3NU>˾&!fQ6)^IXUs8bc@J7 3ښ+}: mis,P:o*\G1? u 8W׼}w8fK|0QZ 6WUfXqT@q dHS%A2bvMꮶ&] F`)A7@eQMeb>!s2A(q.?֡IvݡQS8)OjR^ $2ջV^~!bH?)f@e;}LJOb+2ӯ?+ EeK:RMDqM`wB ,Vil!~aL~nXc4Ar@F(qG$.$m7 8 =!vO2;)SoM땲R(JS7ՔS3u 8$aW1{Z, v#@.NI-g8`} cLQ4 <\@53^W]Z﨣I"jm9,  ǙS\@>irubfR0^&tzYk2YQ0y/.};bEOd11O( 1Ns¢q<yFCINٻTGIaG{N$-iEMLL|Z(1r!<c Ҋ0_L=q*M&.8+^L ]9cQԈ,`R^1(7{⪢Op? 1S6Pi$!4 :;1Y~UFmV8= z?Jr$xtYgyj{AJ4dّ4NK v,DM)]^n6ڬ=Śu5=86dȅc\]pǮ!i"+˴E':ș`jq.[Ǚm oI/Aq2TrȔĊj`x٬vVD[_ȰeRl 2c*XS Zi&X̿_s7}"DkKzyO>~=⥔)*~ố_q8@!DV28II{ ZUװl! AbafӒ61s-pdE'@ vF|-LR+, &$"5THTCe@f5ψHb׋'aYig2SnV_ψ.4L lQ$T , , r<*yE !cJ,lbWljlb>-ECԪa g&!aBBU%ۮƉ/bE| 1UxBhʜ^BpX=le׫}Ƴ 2jLJq^(` 7*ERw^bmW'<ЎbJTh"NBaKY.74z$`S2B<ld N:KޭxDJD~iH)kiM mԪͱ5գcx_5rboK;4xPd51Ef6:j(rTcgod K(}U|s5 jeg'ydWpq4#@4ŭeoiX3f lzqU2W|'-iT#'=͈CE[u~_}3XOl gRHe.ƔɁuԐ={SJbNۘ9R+~ٸVBʯx 2FIn1z)W}Of]PGw2#zt-Ųw.4#J՜r7L\q( ol2#Ț9Ю^x`kL0}B֕0JHDJB L?(_pͽ}x怳ȨFV RK7o}laQ8Ldڈ%}c|0W|G';_Kœ翑:2)mH-bcjqFYu1Wx2!.bR I= ) K(Ĵv ̞𡄖f9z#Ӽ*nK-Y_MME71 ,Bx"Y4ke񁆋v S#zVvRuDՎ-R2鿝Tt;_5~b_y`;/<Uۓ=7ۭɊ2ML`k̶QnPwGҝߒGSͺ&QZ'=T+FGb]AHqPY\@e0:/ox*_R9ӗl]@nev9.cj^W}=nhOg&R.)i+b(oάS9\&Mb9Z MF+/Z9{yY-w'ݓel2?L,BCy qyNGWHzF};dzτS!SnI]I|lRGSkʪqI9{z{sEM5 !" ΁*+jNبsmsV<&uʆ T .j1˜5Y Z);Fc!HfDzmXʁ@!81Ɛ4Y.S qr&< 0J3I9`\F[qݽX5{܋s +kd.L}Ba fwO}i6 h50/ cIQ[.} MzO}ID[H3{Eݞ & qAIh gn%3[f q V))2= 6DQJi +ʜ,e* JZi(ۃ🛛5VIj3I&Xpd$3V.8 P$nUw {p69h7`dϗWz>%/(dXDCpRTVƘL5$f3OɊB `DQ=ţ؃'-9#b""Q#~%8ט Z+-G4k ?) ܺFٳhTAd]lbdx8w!-#iVk9jvb T0v5dx*|\9)3Q#qל9XfM?sDoq42e$N j׷3'ܮxgM@)ZB 8p\8vy{9jlj1Zr+& 8C.]DytȰ8{G:n98{)+nDEh'=. qco+UG*RiJ5ìُɉ$C$ 2**PhXR y:XU#nRN mt?6(3f$q DPRUGbq8{ UCN2 C@Kzr}V0MNSwTBg?,eOW/ %'xdn/o+Y 3 Iȴ¶վVNǙKj|?lG ZNݢ͓TRskIg P[h#x71R', ,Oà aЁ ˬ/5UIF(çԴ%5+d0l!#49&WaDd5=a{4 g6rl*k&Yx7ËP=7=\{Ȃ"$/`2Nllng '}C#᪘M@4kueC{7t A䷰2١@FmR~4Iɉn@Kr ˰hh9&W(id|KeLW{> ;"wAb%伮hJeP6ʁݙ.F7R:*hW~GBfvDؒ!@)FpQImx>5C1Jr;q2)3[f8S*} &n- ׇ<9+ccJ= Μ IG쏳ggyE]sl20CJP~'f#=\m"9 dgͰoeJ10mgUvTo~'I0S43-#trTY\ʔ\T]O=Ulb<_3#fu1q, Xޫ )+L$˸?V I8BI@"%${JqL!,QN$*믹 ;'8D>?<_s"U);:H@˲@lw(Ё&BbH("mFΊ>X``C1W-P2"xק)g9s\ь9I5*Dw Sm P08e|@LW7cOF'Ә /0bu&,SsNːHߡ }Gc 3*m-s՗[A'&z#$ݨ :366a:Vg/w9rR3xJyʓY`fDZ: =g×;l;xQ8jpkRNAGLYC|} wv+jyzy6P;gf|U#ߓ~xVM\0M+g\c3Ҹe],K|ì晌v .!$r< V22Uqen6~$qHg|t٦&N1 .gEy"^m{cۍ ɱ}՜C#,S<;crȉsNeI7}WBLu^zR[DWDl$<_ 3!y `{i`C0䱑y}DrP8mHŔ˵X{R BLWm9x}A_Dq0-wChz ` KdQX0f>,Ii~|O$X pF&O3Gm@oC%Qeo66IOAS mtdp8pVtcI*3.[Gpm{+Q8vPR{ۃx,`; ;2xVj (!6\=)[\(('zN0SKYvݰ\tֿ 阊 !yJ!atI|"d*޿cz>uy 4]zfD2 a7,8,3 a"3b$e8%Igi&+l/bv$tK:Y79/hyEkȚLa*v$U0j#׌Org!.7UZ/M)'Jl+y4~<#>-^"bE(3gO \2\?-;:0N]mŗ}k"M_4aNFxX+8-ߗXoV_Ѥ^R3F=!) #~uF&Ezwyܓ\,%^qggKcݳhmwWNGdx^ZҬpSr,`[CI16AE=IvH~,!kAf8α"|v$v֙,<`P,^7?,#amąH'MؒPz\.2?%O1W+@#) ه˳w} P^\l)PըN%2mkJg8Ԣ2앒ZQ)8<[4j3 tSlszGR,IHl;^?{Nbu/J='f!?ld/р\ƹߋ~(X_]s}fXF-e 2^7 6,ہ$2q irmT$Ar_ l#Ա)%Ix%bR80=WR<6T.2$O$,v@ɪ_쇷+D2K\"]g8i4 ˻fb|L8-0]IñjORl."A)06b.Y(-)eIHHd]rn*ԏG{+S K0]4uGg>b1aj/ MA(ƦR؛"2E~1t/#ظQ!ɓP*y+iً^}MCs3|Zvy2Տ,C8G_X=O@?{OA4,! 8ɱB2b~3]nBs@>itjo75 aww{YEȬg"FΤxGf?$ȚnxO P3'b,o&ٞF~}xm$"za;fta$z \'Il#Kk{uۭ7" *[$_4QhFyq$7#A` 5'f+DKN g*8ɍ1 72NN-g:Y>s,y|6Qatz|"7FKO!a~5kt#KQz|,O"U5Wײ|b@Tץ `p95>TR o7 fx)|k_Q` = 6;OakT`&wL.. K1#*X^8-fitYP.(t踫}B]]||&ᄌvQph>pnv嫮 !X;%Ip"5yQ0 ׷N`$||s!#gNPզa$  4<!㔋Iu%7ʣ{nF^tWȡEpFy34B`sꙎ2_ 6׉],?I!y3ImyXꍝ{KhaH:SYK1wf*6$'#9%\|d vJ^-xFVnq͉B/?>koc_;{af.8/LJ*r}ï #|~V(@gUz5#K%F'C ( f#GFx2}c%5vxӧcӼ1N) .h pJMQl‚aaTJ?ćP :~-:N(oak[`%.H[Aׄ~$,+72Ŀo5@Y@ V!.ԳF [ˋO;VP*ЇH *5&w$u3"^|_{̝3@Hn,N~ӆӬE V+Dn\ qCO մ2tz0zئKx/eԴwFJR68bkǀ}f'8(Ko?q>p1=s1&`+ ] ҵQ-'GKZhtQNyA*eҥVFeVqbś7ްbQEX5 .XϥE> bw7ͪԀYA,пɼkn-OࣨG8.=frkK"^mYU*1ʰZ1kJY7ᇧ.ā_cLRcep[u*x੾高md[&XtBJw[L,@j0=N%YATvi /M22cb vzwH: č!p 6 x?z FbؕXd!3h'Ym`'#YazV:Gi3),9T=6}x+RY{_I(%+'cEw:M&MRE!ݟ"fuCk.rr$˼oR[0xsH N3gR3jns/W "2x8Յ|#>mH ϵN;;N6*ႁ,J4ַׂ\\#,?uLC/x:FqxҔw?{Iq+]"37`[7ZxϷYXjBƹHE?)[%elbJAsmepc`]"@J^L#{X0YNTz" b:޴Z,#h;HIdaǣڃm]=Ž/0YT2e0B޹R+M 7;/qjyb*qfRT"A-b3Ăw}?8\@3Pa3 :rƌ'0?o'MR{JC4TWU9b) H.`}e|7E9rijIhޭvվs[m?@ $8d5=3vzip̘i?֗d(3yE~fYh ^7uo1zqwvyp#jB!L J6t5{)9;fZ$t%@ՉJ(0?'!4,būwNf9_TbA^q){Ѽ]#rmy(Wo+ܬzx/x{)4^_./aOgER$U2yR$)JK76O*B=vaZ_˿gO,S?ɒs ,2P@]_:1@is$@X#&2O؈3赒*y8E <~ޝ^T2bсaC d{Ӕ9>Tfl!iRf?ҁǪ.K28DO#N ݇ՉA(oMT$bdLG_S3bit|˜DGK23[u s2vG*?ok#$z_א=WNC 2+48qyU??FvcPW %ٙC90~=t)c.Dj0glfǩOS%]^v (؂8f$vN ^ \DUٞ_j0Jz0jZRX0Z-Kh%_le#ezIQˋM/,]'D."Q*ok' Q>W`h+:Z|gaŦK&룻S/e9XDGs.Ax/տl?/~˧%"OoP,ug@S8/X|+{PnV DP?TU0; l0OO1R~7aټYm{^60zJN[J˼ۤIQeI֎L5zVt¨a]7ap-{b2JfP,9Ss1N [i=Tq9V#E!}L&ۇT=㈇Hj?X˷_%fRXQ[c[c[‚M m}׫L.RٳT-llr+ǁĆnH\rZmM5vfR^{-pԌ22j?b`,VJppn.0Zd?QK/W7_^ty_NeFψd{9ow]rh@2z ˋڄ42NgRWͺZ]yfb;r c"DTM=~{[_mHDmb ȩ,fCtsYh,%iwӏGRpa3K 5૏ɍNe_`q.Q#R/w 3\$]LpA;ʈ, Uv$?dIJS~=x٫}2"cD&+pgx-*<h2d4Ěؽ5*! n4842GM\ZTzŒ) 8(TMfîx8G=PΟJcNnIhafJ ,Iv cn=f9!ĭVTg@ '0rus{GF1_Ǝu$JoffUطz,Uj1bC ^nJ>;ַb4z0 Zd;ފWECjUJD[ nERÿW37غp+;X c˄xpwQ}St|)Ndd "Ks3&v78(P` g ނ\vA_/\oRK4Kaq1SH7=e OK=4vB]lV=_o@I٧c.ŏֿ>z5Xd2r*'g#Eqްӗ{)OtS,I?_o4k]9'ǔ8lZ˝+>֍L&.]u0j:LEZgK#JT$~f^a^'2Id~̙}X¡gPV1r K;-߾ji'=G=a)8I<-Ȯ(Mv"كgYckLzo01T޲`/I'/_Ԅzɢ!6ӡ,zؽ!?\X~\.'y'Z3Mp fbA^>~"X`*XhDjSҬ+Po9@;1 yD eMqI"?,arjB98E&#W(yvV[6[cӒd9H6ن_g? TbCgj#,@猻b>lTzyK+X\g/DeMLU/8,/W)̎dz+|*/޴ɋFvPa"Jxey\~O1 9,>#h"XgYcw- HeV\ \0% byХCyCEn62n੗Ϟ1(;]d#^ /;z* ZbJEn9E{")UM >_qtFFJ`gNAp \v[!368.녡z^H#p~' xRdB(pUz8J!G %ĭm8]E*~vg̳﷠)LQ^THL^$d(Q;{jʩVb"k6+2g5E8m(MT6@p`M6h[&гA_wz^@:GMw$^,>8| Pe/J̆v T>rNEf&*,{0SEׁqs@#B28;JlNbѬMJ*Tϻ38͇ b5CuΝj78/Gz.呩˔tYN G`m ^ m[eyx e}U9OJdvf%َY-;7-#:m!1xA9Pdo]p y.Hz^s209i,~(l8`H0!܎))Qӛ 2lm[^L) "iA֩`H,ΛZ^~::$fN#Ev3M8gmZsï,Zn&{DLͤŬ +z<[6tkCP}wGQD3%Rt^"V~S ë_8-?^TXL1o?C\z=/n #UT!9fovܳ|,}buQ{Rg-9>Inltډ^"lVl}D]t@>".^ ;B\Ib.*grƤ波 \{w. 7Τ%%NwbJk}uluvz3HIsq̳ ,{{I'.݀'@q̻-ɃZݤې6WQۚNg6rf:7_r, ?ެd[?.ԩmIp2[k{8N&;2tޟmo(>Q@DgٔF {=U>CScG5qԟ;Z@Ax:_\,Kh*Π,)ˇn<<sb{{<## Gӓ,,7)?{q#, ldW#8ztw]&ҬPa'鬍=* b27ai'|"I'B)8֎qoq>SHeI?]]Rşe6 {ϓg}b#iy]LO+Xlǒ0-FV_% 9YV"?8_6vLv$a' )."H71]G5P.% {jIF5lIԱc)IRqƒmnOcv[ ,P"5_ {boLMz@ۯh,py Sb%zQ@,=N{:=iMȕ%c0YWnRz0q|^]BmTCy>H<z"ڡ*^f$ތfe9(GV[s;0 ܣN'bF)wWlZvefyI҄GEA01pÎ2eּ%ׄ=Shv-~Oji-"B2\1 )w[NbJ%H6I0DKɱR+WxO)}Mf A& :qd#9G뻓Ᵽr '7KlAT#쉕aw'l@K}h j*K ?9śz>io>&'EZAuZcq@|}}^d8 ^-t()Pq?mo_{!2N"ϊ<$cw+qb`]~7vw$ DB):櫬K<{b7ry{]+ܞj5vt*@N(dD$K,ӅD0FJձ9[۫G'c:d'L3 p ;iepxl26D\lwABO`nd VG4-CXʮ}٫)ZUN@GWyQa^¡N а1ِ݇cj%耶eƦ2NXFQl-JQj㥦}#@n|Hns jgLvRcѻD x(8QƩ kmlH!@ LU >đ hA(NqzN:%_{)UWC5"*SA#d~<">5 ׸1Q[Kx42@Ra7/ ?uD8e,=~BCl؅K O{娻Շef9I"7`T9r|F|p$ JdU3H/ C%B l[C$%k߬w˿n;6d[N"~% &O.~0>Nd8o0>H%,V3]\؉EJ1ٟg ;Bl+n tU?<{!>s!{|kngiפj2d\zZO3Ⱦ:p櫦!ls-4*z6'cvoq٤؅}en%} !'+&I~G^ѪfV=lX톧ŋRe37ŠEY.qd!D`G1&D]D_ENKV}u)$5k^|we߄Yv ^DfcLY03g%=K+4Y=g@pIzm2@09LlÞd,RՙI}y ^>/m4n2RCiP~'NvQ$46b'Î;~ONꃆR͒_iZaAumnHLēUup,(_;Iޒr2G8nY6SlҙpdQ=^~Eghe>QDJ(J9% #; *d@C)0Ȱ2ɁdD8yX%׈.8w@,%qڿ7G8xN/ٙi"=GO8hvky|pB|)GI)I8˼tQ1b- ?o7c ߙg0,pxr&.b~8GP+}x1閥%(V",l:b,_n.9yECIMy;q,SV2|^23>}r!́)ut!yw}%59iR-ϪF ? JοN{?JChBLQ ?kfxuseD#!jaZxx/׸|1Iᏹч@bO)&뜇?癪614*G߿ۭ%tmLds%BP2Ȅxru@A:?|1`)' `<lxd9phYOp8CDbi5`bi-ߏoDrdT)(NRWw} ' o$SC)^GD+l_m?< zןX839k#Ri{*8{p<4}ѹP #; \CtCAFXydM:CPhl"qt0`q4:k$ "v vc,e&\첞\פL=qS8Q G>maj+ӈf.8j{-25|TO™1n 6ZIP&eƔ6;9RjȊ;, {C1\ kiKӂTE/X\1Sd$%B.~wwA)KqW&䧇%*^ sws8!ȼ=룲"qDZrdTEd=&+.(KFxt)N%mk)qLA!X1ٱI9 =飋7KR]|RcTk\"Ұ& w c׻wEO￰TvEX_4gT{A8Eѵ֫.RS<yyAC?42EA9w7ןDzVn$$ aRV\0=:ғ կ"0Es⸘\ȕ9t`y#Y"!*+x)oǑ|o[j{1]yOmE[΂PHr !E,u)!)K?c?owt V e2 Qov& EHݲr <$YIH2kH ^k>pM<_~S>A@ UrgCY՚٦~%LfɅQ}`߬peV?5y硁V4ݮPS6;Ji_%؉hذgjζrɹX +^*X Ʊ2A:ΪR,UnEzK7[zٻ-ՅwRN; M`6:1fq?C}feRJHW]}}0tIP8'{3|iMͤmkwų/PK;kԠ\>gM&WY F|`Ecgr}f{<{+Dvɭ AvFNxrNDB5}rFrb֚`Y9b *0?'= |9ЪhR89SC(KbE˸( cxϲG 2R&2 j6;2EɆqIR[Mdd]zFeT!\b4˷}^_kdy!:>!_Q1yhjx}o(5z:tCˏVl(V%Ge,}XEV.L1\MɳCPۉ: WӾzF\1WXBDL|R&#jyyB*hSa$ߜ\A(x#jƙ烰2ֻ.gI}q|5jTS/M~Y킙ͣ,DO_kf/' ?*>xƉfWB+h}4> {*yPӲW/_c8{^pUQc*QQxQ縷\5,.q;kʫHI7`\wGx/-R|s G=IP,T ij]q4WE6u.ͷja%:|ot*rȍl'R* VςQktHKa"LrbvOȣiT4G˱)B(Dq]Ɛ)2̆{Qaq)|m ˠNT.[W Q_/dS%!lhΒ |o}ϝ=gb߅^=xN_.od,"4) 76s&#b(ބM!0%waqlbk +"̷[>i, L.<&q(zdBj$!vgei-b1ӎoQaR6W0wxO[\bΙIgs͜ +by???-WW%&-&\m0txy[ekFY$D|Y>8,As~^ oo?O?2mƺ2=D 89hLIrfصU$ 6BY"`UCyoEޭ/֤>OᙸbeU/WgJC]^pb/v#ۭ%'gNa ʙ n̋v?)B^IOIlC?20BB.٤+qecc(B6#['SUBb:a Ί$$ ķ))C@z}FzHSt$JKU/pz'/l s}V4߯.8Xk\usՂ#%%ctJ]{l3|~c캗CE,Hюmh8n>|gɭ\x-ww <]՜R3L74p1Ao_wK`8 `l*ke4`clo4!#{D4;fl3Un38WUXD貨~^n6KT,샤ڴpѾ '٩H -baLmKKsOm`_mIw;n7~,p3$p{>V;)5[cUͧ2-Q2rs(+ILˆ22}<υ4:}cb)`6:W;g8B< \gS_>p5=,o?l?Dc J2esFSمEk!zTV%P%I|)(wQQ \.b MFe@Y+׷pXD2o%'UQJEyEw 9-MFtQgS81R&)0 <<^z1ˏ'L+H;90"0ڿd~O8PwCF/Xb,,>iM*SqUϡA)[/*"!G$!5>&XtxvY t`B`92|jOV2mXX,}?aջC5ݓ۫v넋n$$c?.KLjЫ(+Q8 R*H*fI/dE6S h)3n2i4Bh 29t]*xN6E" GBF]k//Yhoa\Lʤ46K瀾1d:o?wTY$ȡ \/ಔF&= F?c{J}w[O\G-$tK11y0RЧՂx5-Bd˻C 3ów,IӍwsd?lB3pV)X(+L9 Lz>WqG"IvCh3*jx~~䊈) ?f48<5Βv=pD'o{{CvN TDߎX~U'a2߸ v#:2Zy JdxqY_ dO6`wy`U46kIpTC}l'ɸ֭()KU xF3L!TZx#dX׳TV~rڑ:E*z@_ &q*ۭfG0%򎬎ߡ{;NgZ$]9J:Q5Τ`3weO~"#:vȦPGmu/dɴѩQ(P7^'M J ge1MG{qt!Hqv?K %1DFEf'cs꾴(sڱو].fg;<(H`}h4/}n 33:W ߐ b@6oucH+ ؅3a1%~DbtB=zqGLR N?\.YSqR$u%{Y4wrPK 1dAbi*!>"S ǣd5H v HƲT:LyYwxqt28T-;NG Oe 592d'opnITN(8GنCW$tVʄ%8s(9yL1wzk}pU&4"_ˁCCٓ&%H NxQ${0ы'z jg `zlջ󷵧cFSѓZa7{܏7ӑZ^љ'm1&r7$IcXnN==g^X^QHx$=? OF;cP+;2XM'3ݺv P}$2Iag(D8e@r8YRx߄$L rsUsՍu2Fï2smt2J'8 )Dr=$*]+yqdrqN_kS`@E3-g\&4ƌ(Z*ptN20wp\гd –ihXJD&R19==Zu=jK1&Wm(PJÓ.{RQY8ew114`s qzse7ZẀ]S!͌9'kxR׌Xu9}i?oxd*zrw4 qjʂ8y*)liKn2{H|_H=N=2<)vdq͚LiY5@al@2٢ߑu?^/Y˰Cm)[x8AK"&7f9s-uL,1!YLcvU>(##0IAov+@6WΊMc8Eigp{?KoVvIX*K;kOGiR5>/v}6NvME:J- هoYˌVCI>CV/p.m&Ξ=Ԥ1r%GLe%}Zg61l P|3' Bi78R@֜89 x'Omϡe6Yt:K+rul%_sFV85SN[fD_Wk!?m(_Әr&E" m^ n8SR&KZ3 -pH*\㨩NQGaђx%PQ70>@Xp^raZ inD$$%2 v*bG4ϟRNOjv`Q,NS( 駳18qw'oHbu&}\WQl,ۛ7dcm7#~Lq8=.Dh\^D15*[g|<{%&f_ldp\ndrpd90S`ܙ{J5{MLHm"v 2uH2Ȁ - /zHpw9ÞɔEو[4R=cH+x^1V,0@p> ɞA޲ XbMeg(%NSOH_/ɸ^{wkGڻ 2 M/1D D:yEnES < ~V;R*<yꒊh"q)w&+QY6 T BYp{T.w5"pBDa vβQS2$\WWT­Cp`)C# ~f6_t!Zp|ͪ'Ȓ:5xđxVND9R ~/2[HO9^R"C,74"Lj#NKӹ4䢬dM1qAD2o&EjZ9ni|T-)Z MX`OLd(W!yUTG#Bp{E ێUg5UMypkf2h8D_ÞU_th},˺q)J;|ؚV58/BMy_MlS3@ӂ9"2{%AⳁsJ2#8ɖ;?g0lì($}`YN O߶ޗI5idUR EE~-!2b<-o\~'`x>qDX-IqW}3<_.olDPP, bO_4I_^,D:Wxβ=RRFTtTSѓԌ(.>eMy[;tbm A4z2R@8\VkH,BHbS18m/Z:Î7GN#5E'Ch*W3-Mk1b^4g6u)IboJ^՞iSmd~m9Q$\>LXT)D pBz 3E34Sa)LF`'8'sIݬ~Q%p d >\R%=Aa0>;2ޒ&a Q4%ki?9 vÖ:aG0Iθ#cg\wÑދ{!d䙇x偍%A5+'  =BPV\EBHαVܙ?GI-b_Dfw#?j.繑V GQp X@ G9T_ù2N#>ۛDX6cBDPS+I6So!B@zF؀E)xp,E֩1bicYc|X!E&Dq4Wg EMk={!@8MXpkJ/ufYaaL%˒[I% S$(mQգ>I4{E4$Fӿ5li: `FϺuFÏځս~5]!캗U5T$1gtbïb^``+ 2_laER[N(p5@`]C$d%/!I,=t BӉI*YB(iU_v01T ʉ$=,O&V9fțڭ<80tcq{~(nb8;٠*ZMr 2:Zn?odJ8%g%H}VjD=|TNTÌh汛:x|SGUfJ-+Cvpo? }:o ) "9»,r=S|QK|n]Զ9bכo{ev6flWsa Xj2ʜ\fsYHO 33رQ!Ӹz Jh# @ ,3~,`P]ϚhY-d Bq:WܷC~1u&5=]\ob57\/J 4=j"&xx'yS&;(2h76U%2[ >Ú"G۵T k}_?^<{=W$^C񉽃H {o\`mOn/.NGn"Hغ5ݍ}slf;βfZ,b,bq\Dணk~ef6r8zT%;9Qٿy +EY3eqZ g<2? xh8C R4Q'_s }V\lF7==yUÈg!bn2>؇*"ԙ/(C9:&yd /cOe{=Ѣ_﵉T=Ӿ9+GLԗN&L0ijcnebb# c?x2/$w#:2+|O.3!8!3A23-S1`˟)ݡQuylý=Jٛa}Hy#նjY}J<.g041cw:E[Fm!HЀ>> $ovݜJ=%WӜ* vi`Uq%ZM5Hqq~bqm d$Kg 1Rgs4IĴ-T4.D%vys`nn7fZiѺ'&dMv:Ejqyo)DE0G!Rɥ"txVɪ9#$] 4W6p˺|rz/DuR3~_]`>-QNX a G4K+XxDl]Ra.'WNQ\ge u"\\ݒuog;x"I;`#+Hp(r#d9eTe4K@[FTXkAbo~Lبf:iY}ln7аct@=y++A5NPddzK5\MK ȳRFt4(=s# @M{(ʂQ,0&& Mfl%jz"탴HWeGy}Mätze)|R//7(%s]ql J6~_a!ےn]I`zr|︑$|2@} A.KS(n@p_([ d)&4`MUǣ u*?rpIzK88ck%8쥋?-d53[' J_ȋy5&Cݜ.89=P`jKvc%-!~/{9úF5MfdnCmGjE2%IJ7PRr~^M`qtf41ϐ&J(7;%^{Nvo"^!Kf^k&6 Fs2EFΝN-q'iųa \53bh/9-GvrرBJ]#gEёJytׄ/, =[VJDKY{F8E+fvҺ Iw+< /"AbQpFu-Jl܍pDQ|)%T,">9L$f(b@?QL NEqh'8'nJoS DNY,Pa*E= H/EdE΋CAc0ƶHlZ0Z.=#v>_$+vZUvV$HU 3^w:yϔ y{7#~"Z&.f0#vVp}[0z>lō rxuFdlz}sq+,i"c.hE+I NU ׈#sB6"Z/sK+Imf &l/K <=i/?`x[J`hY nyTImTtdI*81;V伀T̜9/K:pf`~/@Nʵקڥ׳6TE]#B1o}gH!]Xs)Yْ 9zI{8A.syן%0otĊõJQ#mQ8Lij[>TWLҙ. x!ؗ'ORF&wYUWef}$s#mvzwmU%%*Y}3=PpkaP蕄;6owC?7rk3Gg^GM8?҆`4Nrc9͋; !VZ`%|anF:ƙY%3h3 p #l֏7t6^]B0U"OHX>Ut1Q>J?\mGnB 8hwл e#j}Z@eolqN'{ٹ;7Aܳ=򏼷oi_vN3;8 G8R&Rά1d3j/]&x޳v<𗍠x?m@FدeW-ebw\ΰiЛ\Z>@|ˏH2}S*tYމ8ޝEL  8`E_(5-l6n/oNS.[@jقUgrN۶^x*D϶`N&n\bg CG2ḦB*p}7j988B"u֧30]ngeى8yHܙڙK&N=tfi `{@q?Vҳ/` xf+Hd&hzFC,α\ʓwAjb' VM L[>kr⎫EQ9$E3g~9>6l7D̮ D 1Uw{R F(@uq I[8nn2эb=t32T7Sža4JI֩%1zb?*?_t jNIDU3RPZ-&b1ʕ̲l.8|Ô;b.zNyP;0`A1. s8zqsC |~9X0%LT7~wX>^\U}G ,,pBǃ97ۤƉ˧/jq lm.:՚`ј<`TS":yʹ|m}a}}^DOD-`f Tr-֧Mq"saEsu+%&+ޝ,Bzab6M 6xU2^P]/^cG!BdШ(vZ/-*7FۋߥE" G2j` 1Iy`-/7O(a's#W8& U¾e++aQg.`}>EP" 5ѕR{g^tp2I6|A07>93 I pg]LADGW8?P)ӖטƏ/OvԳK&n'1ܛ~r0C.{ ،s;W{oOK|JR"pq\Y!ƺMvzj*Sp^pIڞM'_H"hM22,Nt k60Rf8  6X`+'Zg9'+^oiVsXqzqa9ZJ1ˇvz?RgWΰHKѷ^Uc)HVsnN/\{@3Z;μpt%ܱ|8w'Z09Ph}>=O߹vjG?3%!eju>#l g0X7} 5!&ksokg/?.# [)Cs}l* p٭fXlu:O?9, o<:cMN$g]jBٱ93u(Qgyt5SztFt"n;_A8Y)$!jC%L"Tm=2 pA;[!Na~Z.vuS"38kWNƠ8+Bʏ24YY64sN29J]7*&;;ISvRBi)ߒ.UynH"x4O*R4BeRywN!xB*sILhsLDZ$O]wק';Iz\aEo6m[g`E0dRY/-bžĞR(#5^fi7X˗Wk͡t]QA;*|0ҫfHhqq{ͣfw+F  Orᄠ{Xďwzj҉9 [2=ZNbp,Nq䐑q?4[k8pf.fe)鎄?p32iARuU[ ,Q̍&y,܈!ii2tser5e0Uǂ.+$;/rzcaЯ_=*2?;Hэ3 `K fiJ1W^u=Dl,Rǯۜlu"ݞ{BdQ%U^rEKiQJۣ>!I:&j kfC ub# Ts†k  A$B?$ i:xhG3qL/bV n>X(Nc8&Tj_?d `s+5BJ/yeL|&+q<:Wf 4PJ:n3sdk77ٝ_ &!ȣ&sjV8k;\BtfM #[@$iԸudT#EY(l{L 'ql"dWgq}5kB8/"1Q8mɚL12͂*SOI߃U{Nپ6( ^N.%]jy8H"etD#n|6! \0|=<ԁciKITVs޳D\e:lXDi,D}3.Y[_?mȋVDu` DV?MO7wU䉝i"s^t7Ӛ#?_-] WQgVUu)J8a)I0Cu!s큪"MFQD+N8u[O%E:BϢX5ّ?byCrb_6Tk )WBs""83ϯvLDڴHȉH;',YE mvu=z1YK!I7t&) Hli31蔑G'T^L# ܖntqe1:jhtv9ḫ&Ѱ|/Y?_Z.j<ݜ| CJ\g\___76o)?Skv +#}Ʀt8+9ڻiZ/?գX|L7FKYKFdBHwi}J̫r_fHѩ0NaNqj4QӥUQۆ#嵃nkq9s_/1p DJk'mbB4vX4Erur"d: bhY!iᾹ$_ʾh|V[ H-,3OR$MwLn][SUvɔ-7۷ -p[aaHOVoG69S=*DG@yԜ>FņboX}Âai(@ 0 RKW%`W^0<5fITѧ<y7Ա5\ąӪL"aO,0iU"kezR37)„Z4ܤu)ը:P}}b8M-|aG5X ke)-,+jo;'q0_ۙoHΓ j>z'Йhr XU{ںs81]ޝѦz'v-SÐ<[3/0ݦ ݋sakϽꤊmX}p.yyDtC;GPP)^Y%",lZp˓WhLEv`JY6i3rUۋweetݰװe ?&vdI,O;IDCG\H?AcMݏ{CA6KfӤ"|0Ku4\ty:!@w$3;} (n90vsyJp_glߡxԗ:&G+4{dW&/M%BH!lT}9GߝctdGJ4ޓh6UdRgfg1MBCK:Eo³N.dj@^f8=NwE# J{.Ff{؅k+ϤщAgqu}A{_w7_Xa2%`z0P-Ž py%]||S:G2ꧪYixFp8!]6Ksql6>"nN9GD * V$Bmf^!_k)_M]aeŤc8OoힳBy{23Hg4!O˿T(O7wKJ͍ tޕ4J189y#8% \sC z%IT;L#QfVQ|h*97I#N_Xݖw2BXM5){XfbHϏ`eyAKJ8,+XsYւʐ1D!˄ё[W™):A3"pX)4o\EK{yllYYylA+ikwAio!5ĤYxHXKuҶ}w@QvNI\E0&㔺zr)՚=`sݑ 6\1/"|KaFHpz;yn %YȈñ2dT~ &ޮoNU;L𭑦d:`Nl(N&S5 vF{w;Җ MGO&^oP:vvDL[^E#@)3^c?ٞthm"$ 4OI@Zn~9J'TŒG>,P!~l>{JC4%I & Nx@[ݐ5XR4+$E^Dy*/֐f0DCFh'F%e{p aa$HܩȹTo4쎜C!cy0ܔe62B=Оûs3i#gCKZO+;N@< RT.0{&{`OIs2.#Hk³Z?P'X) ɣ9$.W dS 2yiRy'B1bH"Kj&ɺeݮEN$W0Gܙ94ҋ>"[वduwKbAQc͈lVaW`˃#PWT=Y(dY01 6&(V/vTSgF/~J]<ŋ7<-*54#3ŃdQn@euuuˋܘ+_LIbOg01{Zr</C8KDeNʌ"Ţod"DfF2\upFǩԒ -a nIP#lWD\‹#K,f/)Vx)FFñ29=L CkJɷ*4gIZ/,iEc;a?3grbr|tyΉV:C)I\J3!y&1Wv 'jiq? M /L*Pj z3(xE}7{'Bh]أCk 3Dك&cl^C f'rm!/ %G{{58N9O%T6Lp)fW")4uU|q;:ɀljB [Y8"nyFӲ=v)JdQ[ؓc $ԭ#ǃ_]ap\YmxY̫TDi ɏ,!'(˫gQrKT\%.G%N9{7)oc:ݹt!Ք 7:+cB2Sz2#q=nnct!bJV1U!ŅlӨFK&uLā),9C\mfj<0az}~OiJACL+;&)2C~st"B|}_`PqУ՛.,=^tyHLhbBƮS' D,t%\ )YxB&J?)P3jb W0 >z|EI%U!0,*tX4`˻GCk2!P 94c>aKvԝgO|)L&3>o)7L'B)WL?HvG]j6AO@LS*٭`glQ"3e]_oWlvH9%2LR3>PE] ~F(쑁Dn )JCoàH{Fw6t(!Sz /W݉Rj'e 0LVD :Ua5ugBtT=~ݰD9gwlI=s\+N&e%KM~͢i u|^ZLgVUN]DD ج:N2YX~3`;p'lkJe1!^lQ( v_$O4N,yUd&sҺ2`ח vWV<{|ثH'rE!۫ǿ$~ƃRT5"뾙dX/`X=~ܸ=$8e%OVIynN L*}{StE}$ܩ^5F^SZS˩ 7+Ɣ4#M@{sm\Z[ldfEx}rTa7-}W\liq.]@wXLpD%hZ>/Hx xA)ɪp±U.[QsW G.Y=˙žfvNLgA<~9 ^&XW}ZTU3mTRϝSFJ~uǏ8~ ;~!ѳ'o(3 wXfam9 Ҭ{_g/#qMѻّkn5X&^=ԃ(-MfsL^O"Ȭ((54+^U8{s{?|K;UޜIНc@Vy9|$ :5BsPS;Wa\*AX d{E2o߯N2MiJ5Fջd;.:3Iy6s:}9) |C bsM}O'ea 98s`[ g ^>>i/ipAn *16ʽ)k'lqݲ5g F̂i9q+'8U*YGJ\ jC!ze (\qfS v ZfEu -l,!4HLL`@x_Ӻw~3oO8L+0,r3F0S=y8zky,Hv ǃqVDq a zq{qq eV HS{lDI:!:T]].}VaHºi$mS \&e&*8<:wrXPWS.cbqa#bmvdKi@eD9oGT*P#L#;ҫ.{\ ,̈Hp:'K 0/хҫ8<& NSie')?}1IQ2 }3T{"˼ 5 M]vt/yb /7a$LiO?<}+-Is_J>N份dPMxHE#g65 õy:r_Pm;v-lstOl_NR>3#+ /6=* ;1#m}h-c+;gW)y0Nv+NbJiVlؘH L~|w3mk\c;[8m2B$t컋]ַ6'y'\jt`LQko>穼-C\VYjaOQCc'ܭk%t65p¸ ɴaDϡSnٚ~% U|(h8Ym<1kPLamMT0E(7GuqO|04%wG{fzY7?OC.1aU!tBf.l>P.SDk8TSeREopR{}GEi xGһ.6;Ez% 84KKRG|fhsah=Mh2\2K1 uE?ZW%:yV{ uG=Ֆ%s>ipXvW;9&i6Ͳ)5CRÁN>{JP к80*ʳsHm!(I5eTU ܜKqwxQ!!^5G &pCL&ˣ4gCۤ<|k&"Y,>HP8sXV3! 6 ^6Fgu2pwgW.d^/fn`'g@gRa3d Ne).j "Q>㿎zq<㖿W,"1^kV0h~)%Cǂ<wr"8YrN8ߚ}6y*K G=y8 JLq!YU!5Ǹ|H.oOJVc,S.g#!}0Ѻ4"΂76h3-`XAГ $wia%~xNvxa;[Nl+K[|qdO&Se^$E&\d 9骛V.!@ٟ2a .Ҽ/>ʘ<(,DWr†D6T 4OmxMw[,7쫚v+g^L2.(/ 0Ӥ_1ʆɜK-B6_Fq@jmLE{tr͌[>y?)M%~-;  Dय़.׻;`^.kRyȟ䨨ll 0Ju6'n^>сzs}L,1Kcӊ^4],Fe)ɭ&~fp`;K0{Nd6>#5 0KAgxZ- KxyB^˲V%Xo9bHj.>`oN IXapZd=@lg_duzwf+QRtOG?a4 _H'щbU s13$3>oɳ$`udIa'[ga.c7c+P||+-K7Ow7::"[88Q\+LŘ,~IA}ʼn=oh!:i;ۂo#J}$$t֞=^owW,oNQjTYAˉxMs^xO?a&פ{l60!;RILL%ͷ{-kD5,řEl 8ȯ ރ$Ri6+ Fڲ_yxx6KXGPh㪏8[}~G˯])-5!'*De<ȡ|Z =fRzLB@rXycz7f>TS! 9Īf+t eD=x<V|0ɘJdp']~>D}ڈ3DAġڙe˚i%> U>F9^zgņt :"ص'08K#|=.58VFq0]kAAr 3%¶77d,]]~'ti v!EB4u S/T>'\nsBg Ji62kƬ]"]3'lq|" &')~l %'̻]\\$+ªr+5/OKo.N vA0}z<ֿLN:N&K5(VsX/tay+{4sR+J1;#7egk ڞht__O0ݓR2VR& s&:W 2{~wANNJ/Il%pWgkalwdzQwfUGŪ"mPj;SuNI)@S774yɩax^y_f1RyȷzdYںqXc8͓=u0/´ 9C}~s7b[ j X4F>%)%Żow'I/￾I.kll[֜xHȐ8qB= %Ga4}c B?ZoccJfx<|d3Nkꔟ:tj(pmN&#^m0!u5MfNz2]ADQągֹ^PSSFYxl,dWp$Q$u0uW@s<|1DIzL.zc_ɞ%DM* 00Twżô<}~0honĿ_sN:q(>*AB8e謘.ϔ^JlĄ,\|9RTk&=bJ_J+iM /9 ֗.b ^tNREלPƶ1{ɶ)I5 'TmRoiIYK˓E닚<}bਸ਼\I{Yxy(5`,ˆraY:p&`S[83}{v4t1(8ĪFAM)o_" $Erm?WUTNE#|昚-$QM߾\Nq9\H>amA<79>y(5!;v= mFhrV[4X\mvLL 1*s2mbIx:^/l=eSg3q8 あ9Ke)l?onD$S,LΪiT9y\+ OIL_ YxO, ɟnVyz^}}sfIrCFy o IN6~>۷0|^J%0=KYDm& A&v/v_wEٳᰉ"6BDN'5ĵ>"~Yͷpg33gB3yz;Xhq =}ΣU$+ǚ+zyD `z/ʘZ*Cv,q YM=|ۂXT5VM˧WxPVi6*Tr&jВSjIP%:< @Y>) Y_K͛۷2`^5.Ĝ.EDU/mXe}ߑvbsJH' c-?@D$W=Z ;G8![MpdbHddP*XH}%E"Gd<HIIV av5)KޛL,!6,.D=[gS#n_Ҟ~"9{tF(iӏP)_|~ |{[:nnxvD5SQ m@z};&'>]No"ɴeĄ3ۢq3ae$gT.|8Rưmvom[}`fom~yz([|e>(+76ԤTskM)9Z00ᖄ@.IɘIawQ2<^4-YIӁ3lTj"Kdđ ~Jv&wOy4)(gTJ F+rG Fᒃ9(QÖyg@ѫC6l_ތHSr"6,8r5Zm`M1dNT@<4*azƴٵs7LYj^79_>HИ,!M(kJLޱp)Ma;^_7GY}_z;%,&CSqyPy z-䡈1K  ^lҤ W³J,%gfuF4 -qx7/88YXYBLRh#U ШW/CSg7,ɉ C\!?II2W|fe"zl {DH8?8ѳL90_iD b?dipuS`.g@elZ|{;i`T SfH˿L>O]8K{̻bh,0/tQ+Ir4e| // xyZ ţ+SJ N*J㬵TUx)$qp_MФ&3 +6ƻ ψ/Y/֕v, QN[?"T6t V||7`5NDoAUn-$D/6/_^m(Gp=?z x9%!f]([9!ϫ*kwIHjr򠃡0xuGmJKW2Āz_ɓ ~:>Ϊ: `#R<$74+ӖU4%xxE;!h{D^ySxN}n_ξ/a4kOV 9YNGG_C5V -[l^^ KDJ>S+*\92WK~٬\Q&^B[Nڼ#8 NN:i= E~Dz Y]ai"h3fR{ʼFƔfMׄnnvqn;SUs7߶{zoZ~BYN82M7Ko=?=O2@IB0g;6_$>bw!8듟lĸxi`XaץNzo4? A,s! 'DDaYN{I]OH#e.N!88@=5HfnnNKrs%DЉ9mG9-"q)_p u Y;b.36*jL9άH_ fvJ$zc`aü|Yݽ~l,S}mQϰnV)I#s%ی' 7x-v?:*dxaAIS Mi>K0hۇJb.ApʏzгsMrꖅsӧ"S 6rXYrl,gm'OF@WKfL;Fjj_|}:+W#(+-Xi-;M| 2rBٮ>ߵTļf+Z %_:c{waHĊzEI&$S=ZkF}dyy;%b^y=2RٍH_̎?͡1h6Gϟ~*ɥ٧y^Q %!Vݑ#ڂ}2;^z3WV(u%z"eO8Sfg Q7RD˷G7lUfy59Tq02//oo'~LЦ]43h8ր3q"|cÎ ,}ؔǍ筫9Kdu]g%k,eOk8,(0iָ 8:7Mnv_{Y/&R`q=;о$\7^j8קY롁ou' [sKJ8jQɢן/6oĮ%٧ĘV˄@/ ^.bR]3hDվp"yx /eC}/he׍4ڝ47v#&SP[;wpȑ= Rÿߙ _6"p@"y%L)ß^9,:ݩ1. IeRZ~K(`ߞ>;;  Y_`3^S0ZEys7ˈ9CXyS: sHV;.۫+s&Mwi4{&+a+se p$$u6!Ŀ:s-F:aWJ-/O/l ˹T>*bWpX{@D~qW"fqe22 $OpA>3J,[Yu'0Րtsjf E(``wql)l>Eib+FOQ+G|p6TXeba:4~_~~ч̌%|e=ITXn˳chm!H1ER$vxHs2q vNiLU^'0f J]ihO)rmJ.}XEI|v)2]f9V%0L!Q9gȓ%jϰ˿3;:NATrŌ3D (\>Wvw;1Iz֝iX`-Y47VBd]ίl̻H" !7;N6VlH]{ J%T+θg4k5¶;:.ߚ|?|`o$B#ĘVsJnuN)stfZ>y/w"hQFbwc<>#) mf8++\`by1 ZIiV)1A|BdQm Q,i.8tV7Ir!4_rX~޶מ~.`Ln ϔ>>ĖK]u9FW8f<-a󒴎_7O3_pyU+IH>LY䟔17  xLE8 ̐G틥&3f)KQ_QdsA>V" }u8y Ч7w=wzĕ-ye7,'Iՙ||1A*e{1[sF(%qntF[3 29C&S֣r$iv yw_&k@  SqRrK$wglIͬ$lY= A+"K!]Py~d:_^|}YÜI78.6di^qlG#%~\tN8]҉!!W\'Dqmɀ㽭WlZuB[Yyx{ybuwO r&C&̈́t*up G*L9:QXhCt!B 9*ˆwyz-UR8*T&\ncn!9Vn0g9ΜMU˞Ku8sdc8áM+[rN㌞qwIEP9Ԣ!6$ ['l渽ܜ2۪4\y?*;=ۭm|`m+e!ul?*nD2$GGIҔ8(4n'W nYs-ø I20ZXiYyw_mɨ%?/5Iؔ0VfJMD=x}zw}{ː1PZ g036\[ƕߏJ: ţǿ>fKNsAĸZ!p>P(ďD/gBb9tjiNl=QdѕJMpbnT`IUcuݼJ|.*ܬVy\_`&<83 nbR?_Hi#q%2ǮsRf&fhz-7-үJk@xQ87 j '\hlV5Om6*=&6Xw \#(6EJO=;Tݚzܬ?eK'NU7p*@e>:*$*B%O'\9DJ|xgPML#W YG GLuUǧ"bd6Bx87kĩ8/Nh я݇gl/DWBX[( aAjx3 4fbi]N &R}on6 ƱoDY^qb2lJCpGS I_ά V;Qk:=M Wql9Y Urv2wrnƎt%=Nů/^=}OJW*UJnG6kK{+c_2rP{<7c nkGEԋ_cX:-FeB԰L _1YGj@כ/W;twq.1xCWPf {N $$;_Y>%-S?8>ni恁q>Ki?dG84 izE Dő-T?غA ܻtn{<F\l&[.8wzX4QXs\4 Gd^g g'7GVL69PSa "ۂ>8 "pYCCdZ \?᭯4uUr8@ /8]iff."-QVADCWIXoO)J]774b GKK=$({3yL=ߕBuR0368C8E2ԍgSP+ƶH5E(;T|&l"XU ~- Оe'm2I#(<6:ZQFe3Ѝ. Z`3+Lҥf=}]Q$~Ǎ˖0oI_,J"vb>Z/1OW{2U2; ''5;ay^-nPӴ:0Sf%K4:|Nҕ ٳ!>g;2#C `Cd,M~6Үx:19NLI<3s<ѫvDġH5MY3i\ݱP. pJa쩞tc),?;}ۮ)%+X4pxp1sűFa?^o?xO.L 3H`lh4f ʂM^Ӛ)r@oLkI|U8o'|"ߥb -)AoeT[84'5 /vv;؍B>ٰ͒X\Kpx%7'kj."Oxԑd8S(;86>K٥0<vRqe&n.f巏tE## td'o x V? 8őǦP-Dj"tNήEt?ek#pU'YM]x*:+T4qCIO$)N馹csp!-ܵǒ癍2F^ỲlPVoyri 0!饥)?lbcj3yvh U{l83܀;܏5__p['9bj*=uS$Ogwswpfq~G$hT'!1VE&h 6=ZqܐQQ䰘 'LSl+#Vu󲭅{) $ Q*^lxMc#BG"“,ۋKd'?QbD%D$WEr,'xcDuFI(c}$Hozi*#ǠkEe@-5[p*x! pC̽.S@5X:7}q)Z@h1-yb)sLƮ0\mN&\K"+3<8N˓QR66CǛQyd:̱k3ʺ&A$՝W&8,T3R޷Ez=S겔ˤd~'qdFKfW!3A}%oN H4 ן2Ҙz> +}$h8P<ݣeTrhj,VyJytB]I| !u '$OAc葳_& <4R=,yrt3\٥gzquI>53vit-[ &ئv lH ųCV 6-ATʤcW²]$FxWD\Qx0w8=( ⛫WjHxTu%]䩡I|#_WO5.#StWc dH-x&oȬj뫫#fA#q1C4`[d<,13;4QXShKe[lUJa#~n rq.UB*O2 O>͡D]@L8c ev9ƞDG,kRlqF굠,HWD;OՓǕY Gt-%HPbY1K*whr8:|(+,_.v/ҫ 0l#E ư<9qM+•*JfJc_E,ggD)҄i6X<}VɥWUEiv,}"zc9K,:kX33>ifv ӓ%xt@F@Lѐ$ͣسVUOXev,~yni8hQ3<ËIi!_9g?qsu9FD ce $B #isezz/Va pXh̓γ$h\)9 ;\q+݋C3;}bSg3^݇JQGN4bc҃J ˧')xLށxτt/#zÐ &ʫiEh"2CIT@zP sJp-m5|ԪBP}0;V :/C ⁄씃8ʗ3$|c(. C˓ 8|;kC'Rĉ-HJ%0t.,!2*&+ eu,ڱOp{F"fJ 0DdL^mdHg__ D1A .!떥8u{ ik^7l%ˌ9z@z;W^cGdGWC:0%sqK1H<7Z;寿,7ĭhDF(:!zOm8QcG/9}g vAw|(1Ņ? l**c i @b:*-=lV=drWձ%v+ZAw (AY)4 0"2)@L;Ӂ#Swom+] puҵ=1|qY}Gm_[UDU=U5(Nro5Ĥ`%Ž|W1.8}ZRV j6:CeH(LXfd(btO6W߱C''(t>!`P!\ eJB֤gLgm }t-B|5j͓GΠO΅x tB21滋(Axf_%=Eof O5] HUɆj!"y|Bax(E C/pV Y~H?{9G>NM-Pd镀[ ۛS&3aNA'8Cz೰QUr n_tleʦK 9L3Sc_!`_1E='ep7.a'fmTэxrR8ܕĊ,jy+,W}Ks!L'ۘKz jxGuhi` Mp6V zq ?UFX]Lp `E@(E.ă߱f}:pyrw|&9:E6Ddy𬮕9T3$l7x(qIa \/q9agg[^$i `Dؚt]{B4TnŠy{@[`"ea 9؝ۅ1KQe9,.lV3~ǟq!ay(CAw@-=~򘛎[ ϓV&gNs?L؍~7K'yTh}f2O§X zœwŻ :R; sD` aHrvya18ga2bHKRSGǟ.nn~ 0'q=E!9^`A.vN^PRd{dgcg$5Fp$RgRWg݃nAɿdS>Ј)`7X HfPgá,`#|&PcS;W3A \PU60IjHQQd JƖ4[ឹ9%4-DvfˊF$ gIWy/7js>Czhl3K g-Rt Q#Sb{-1%yx#X%{>FQ)x;Xw0N/EېqQ"ߊcW!nǤfd$xӞ=kc0[j8,Y#PFZ}栫HS?m@HkeXb;9Q2(}#[_IIXSs$Hɷ13i_6_l|񇻐g,D7$M.wCA,KoHo->2Xˍ]X8Հ+2Jׇȳ 扤'{;Y 4=5,"ϹwHO]V*we%`UxNNZ8_?#ZZ@#w=]wpEZluanPH>z 6r̽;ROSy:*@A9.,z>v1DŽMV"MĿ PC/NT+T @wIF'FFkb*L|E:E )a9LVfZU<z߯onn6 _wNPϖZW OBI wf۳]˴rn-!;e0pï|'NK˒r 6`;.${Uj**.&B\"aU.#}?ןn?nO;]:݊M*j)r֯c.]!(l#L\|EGqy_ieȧ2H^Q~]h8L∩a5'ǹ$jep&U ` Y%_a~\]pc@H^W]fcWqlqN]w;>W/> f|hhU,)7xn>|)Q q qYORC a ^^5#<0i'1SW)],ӈB5y!D}7$!k Lfs bv"p`R26&` G"*)N 3tlgryv@1)wb* .'(tخ%C80<=dݽ׵|f&vplwuf͍SIl$՞ao:8snБ+wfeF,"QC+bs^ɆC1<CKXwg~^dfҞc-@+".iJCLqJ[NC8e+r"{\,g ,2Fn<o?x]K@ A1f&aE^ J/GӆlYyx!]XrYw2O6 y(Jsg6RL}2k/3?FWFtw/7ı]&jxbrf^> NрPer0i$#\Sjcʞ:Њ&sf@NN6De߼`p2Eo/hI2|%L7q2[Z܋8H!"$YG)Τpdm.J䇁6mt?4"f5hve'pO)^bT_)JeB!ZZQD1N#-8,AQ,̕m?ɢkˆP㗽+@֬;;%>?6{28BG^WT-psp?w^^M7,Ķp`ҹ&wAHķJ GflW#ҺzKmI͗)5(Ca3,=q^ܒB^8>;9΍MG$ u{!g5P T WX U_ |I{~/k C݁vƶ̰ivp8\،jKt  E٢TYOʀqbPwt} PzC=Rdk&"YyƇ9,P)?9!)TYIޏIΨU ɠThI΢6NI63ʱT% &̲Sʒ(„USKhLե1/n.\8+,y̅k҅1o2,Jq'ptQ& &dVXMR*+nY-|w1۫8"4Mdu6Ch ve }{_?P#.C0u6q~# ϹY\\SyN6FүM8|g:`‰?_ݒ/ :@hXz C&O=EHjG=5(j$f+Ɍ;2G[iLf+!zd"913V3LNE|26d[܍RwS$5)`%ZFqM60y!z<0/vbT95R8J02k>Γ/,ٔﰋЊgR VvǤ]Yo^K1XTA4f fp98f V ; V@GD[!yHI{_;r4EnTPt M҉(ye25.OT&AMVdQ@(k,+=eH\}ㆀFnHލ)7Y! HP84a[ͼ|LrCa8FVIE[&ppMێ=i'kߝu8ho1a'./O: ь|ḇ~ }͉kTǨlk*Ԥ{|nh6\|/$wPd5d!GN&j (؞׵ 5O:#V^^^dW!NhN\lnL},iS2,7f+Súx#@t"Tz[MR D2Qpy9I《.|*}"^ {5QcVS*ΧES61vX ʞ Aj'mSq,#JBhX[R&08+q]cݰ-0c0+YtxXe!MXa68a˕<TE` T!m|qTPO3[X6 Jïu:k8 ^}ȦwV$}~"pyTWܫF.1l=dJ. &lv.\.D5}7]x8jcbaeD6Q |fTInT so&}'= | {`S8ٲprra0#}& n WY^|Wue} gMbPKaQ m ecvz{-"kYU[U)A:2I7.7sOrYD'\ [NyďxӬ{or!(xM1I9Fe’aĜp]gaOds")hpd~:tǺ5Q1"I@HXa5،aNUWfͅ 5ڢMF}胦6f~ӭH_]k%UP y%9ެ%d#_XUӇk}Yؓ CzDr9JI׉z/-`CJy3vO' X \xiMZi]hݱK7QP,8lTDզ.y|>k2޾_GB? Hr 2RJmlI(D5Vy72K+,>o[ rO+{Pd!sDN(:=b߹KJ,^/V!;-9"+DOΆ!4xHKIͧ2&I 3O)#4oy[#$̨D3mH0XxqWjo~Si|a!5R$CWg7p8AT;a(>l)_pfilƳ?52H2̭q,(Sì=#| }'5<0 ( e'gx_Y\ly ]ώHi"9C.䊤eŰ#J4OgQXRvԮ~qǟ4L1pʙ9BF ^bb 8uEzy =gFJ84d TUjr0®R6B| RqfW1pRvf]\mn>bpQ͗xv9H(QŎf+ 7vrM , D .X$v [ " CpxY7Ia V{%RsQ}}Bt{VcX4 y;C|?t*;29 ykN Ksl+r72ޜydr9}-RS%^Is2)4"F>lm/Q>gg1&6 5˳OOZD@;ȸRn#D=PQC1yEeY_ = bWBx.XآPo 8}{ v. ? ]Ʉ"f3aܴ[JlYE=PJ˔bҞ7:6q'PtEFQrp~v*9h8WXfʽ|kOw4E0`WMSGqjaϯ~>}$bf&1:YNŶT:1GhΞ=jRA2r_°rYdJ$8N)Mz޴C{XU+8r&95Hky,-+4Ce,92$ɑ,b+yg1hq!7YGn}=Ai*ō@@^d *ٞ!Ie?SmF΅>ŲZ*IՆl8IPpO䯠nP$ 53Z(B?X/f# a9mEZ! Sdn;i@3B!<#Fɬ'#{Vmdi&aF3. b F,սNAohsh^KۖzŦ(f?\儴´gcprf@}1r $dV8U,wJŘV* 0 ڌa'Xխ"=TlQ"<{{(p {ACzZ"Qjl@{APxyT&|8:1x\LϺc=0}Nq\$NNq(WJdue"fe_&FNBp]4ha"Ht D>e!4K[)+qAB6k7~{|3ÖnwBaHjBh G Cy7^eKypNV5,!XAÚ޿_5#\-e+W!Za> _t`fuL2njH"Y<'[zosSH~bP~)Ik_`Sz|y;iW(l[ XCU&汋x' i{WT Y.@S[NS{,5792|UNN\lVBҞ=!Y";E\7/pDd o/g.:OxS@Ƅ8AZrUaW}wpmq ń֧ Wy'B'=PG'زцi܏0:&Fi֔!+VMMU )0hЇ$AOԀZmعH$'ׂcDW GO8Aq+0^Gc#ʆG:z` hjfLIEY ,ԍR ޾]oY1d[lLR8RI[TS*iKM=|W^YFĬԚߞ]㪧\ N gI75e/nuڛ_>5OFl"jF:KD3<7RIʗI.fTHr}*঎)WIGΒ4I@7bfXk"Eqݮo#!m{ ka|@K!Z`p)s Q[S|c(dgUAq~@ L"Q!?jӞaYY:6gBW?aq>}TɅ x#3 <׌"0꟒l( \BVd`4oD(kŽn?|^Ũ$p"mV~e-#lbF˭뱯ELL q!«Jq``N+ehT^}2 ^(Jbi .=u$d %os9]9+ 1 'S=Ö*ԃ}tu2e_UamPVDYn:FbI͆)ar}(oeV)&KBvnR3= ;,5,YӳǕp{fƚ AGi]_!0ɻnקd[̪x6L$ 039g?כLietK8x%'<6ԛQ"PZ~qqAb?њ (}Kq_Nɟag?¯~c)ʢ,fp{fq 8ejA8%Olë_B 7cfL3!*Jep.Hj=5N5:vTw)]1`C;;e }qCy!Ŕq2wXfB,>g8~)]8>V L@;Pr @:Y),Y GpDC;;Su*W7M~x-406J͸o!=lE8EL^@)p?ܼ;#s Oq.]vϦy"⬕qR$ ya^UtN(MVx2q At;R=|^ 0фv qAܞ-t9U.?y.Ԑ1E9Q4O$8QD Α&Y-~{b"' S|f$gUQzJjM<W JڎITgYG`~o7;*dҨ,Q >v0E G.8u1tbңM)ha z~aX@ȝ#5]l%w_vv4ȁ^ `A  AqN4+IT9g52_FDi"{ _HQAX%I'#= as~M9R u*;= o wp< ~xwel~#C&&c;!,C&،g+ !ud/Lvɞy9)rO!,@??=`ZԑEIo}+Yw(d=+I۬YTd*읤DlB;\e][,F<( %KrLFD|`2Q\hrJei}|Ͱ]ldoxV1zl+o7{q˞ DiD6c69 Ś\l %ظͮPYMg%NReku|d(Xs*Gt3+Po)u<⛓˔Z!/)fjA'#h,4UeL۽n+M Fln=l-lsriZitxh@~qΗ +&yL&/7g2LOS{\@gч.f%j?=rj (@>f0%ۖʑ~.xX6NLX`f!9lBرk<#aDzw}ݝ-oQ٩6&WEओo!,'}\ddgJ{ؖ] O=˲~HT}2@O[ٜ)4dlN>"s\z gۯT*oإ+ f/opq ֑FKrh| Zh+BG4z9!8" ݾW^}Q7[Rn?uV)&TA fft8)xᢜ7+|3Yk1^+;EHo0dz3zMQH6F(q*xf5 QfW|nZ%*x |^`;ipw `AvWщM) QޭIM'UŎL*uKUCˮŎ0Ф̌Z upeqsu2}8t b;ރۿ+Ap})u~Vffֻ̳H8}4#ZGʺ8*pMyteWɤ#yNm8]p?1_F(qqk\// 5"&N΍#cpڅi%U@N!&,̀Rqsv*_'rnO~tA",BD 71 &ߙ GY~p8}2/U.a8b\ I]䨙yfsEO4MIT'6x9^dMȔEL n~ 40Q}$`Ɠ7ws[(ξ?'^8m-ko!{%2ZwS| Ge8}&!< g&I9_ yT~}Ohxul}g$o/Gp-^|dZbb~@xJInVF"<,fW׻aܳd:GvC2}ܓXL '{A|DP$74lGfGE6GfrMm5^BӸѳ>a> )d W2E|" SYX lg&x;'Kht$ѭS]f@>rQgOJHmp@r2E={x=/o?iU11ەR;n8u06d0[9,Rp >~$倶ú&Hc$/E6yu|-&qd^.$HBBE=/l\,L'%XMfW£3pY\\w"fysp,u Z$[83, "Z_YmySD!¾qX ?֠]L|\mV}'B/"t^c|km "0'N#l翋|}RIaփY&FWg+%(ky?Ne(5OnTȵ%oy^#;:l,/9<4Dym! kHr'dA< =ނ閘 4悵ݱ3zѱ Ua$*zÕ^q8e{'^*eAV62ƥiմ^'Í˧돗üsI̾UJ 1]8wvP$Qaf"5NrǏg-xgC WԛI/awG@7эU˙VpTs)ִd v{".W>Mޮ&NiPi800M{1oNSB/2'cT8f7)k]簢SE?I{ #&:Gg_h齭qoX"Q4\BXg8hv_A$&:N!C$})RIZ}i# [^2 OE}*orhS vQ}@I`?֎jޖjHR8|y\[YTӀPz܋5\9Wi}5T돏zWdiFqȇz}{Z e"Ru,mF瘫aiTMZa7L&J-t 0sleGΉP}<+qIVl./o`Gѣf-vUBP۴&مݘH,:wOσB]qk:b _|P.^.|be74m0\Z?OnTcLPS<6%̢Ghf/>SdV%c +;V2t=tYS'yUL2fWcZþ!~xc$n&M8/GhUeʍڈӍdK#"so0i&S%P'-T2QHȅ=^?z+zў*ቀj2wo7G N%0^/I>J-/-_UH‘|s{ȉ.8:!L[Dx`I̋]v۳|kPRnkȼ)$E"%9r4RXVLMQ`8wr-FhMd4@#J:*"M]w_VZ^٬9ԥȝurR3^}d}s:Ljp̐"Z>W˓9-R7sթ\4 { V5.X}xG- ҹUk B*R#Z¯?1P\h'Ś Tx1%4ɢ#.FQA & IƤhg*&{|)5N)0Ik30 zp\,3{=%'J#y>gAq~OQh"3FgIce ɿt2Vnqb8O .g2`nCj`֩_3底$`6>_=;m8۷?~:P='`)0@B} (_!]u.l cR䵝*GnRfHٵa-80H7"8goKxHsԔNF&rG9 =?kLD} =izO8&]caU?< OgeeZ=DM[ZZ22OHX tQ U0II9,aIbՋ7x1&[{)j`6aLc6(s V>ņ&R0ʄ{ +j",DF8.~61a;OW{>fDe‹GhF2_gOFv}'OspLD~" *FaȲRq䁗%I  0:W5 :vU~nVc#l[9!yjw{x, cA%!NK~uem'އӔg{ [OFz7 ܐ) _Lޑ / #[~"Ǥ9P %e{M.p$S>W`l0nGlvL H kj g/n n] Mرge$\M-l?'0%;IZ Z ČXi6ƚ=62fj1I)Džw 󹖎$\X0X _cGZ{Ci؞=]]_Nx39W r0^-~ XyjinԈ`xi1O$ 84Y{]pBZN.4. TT$!%&D̓L7DƵ-{b<#_LYL*id9^f 7 .)9iK"8X$>|adFjSzo詍dv1,o#_Gre4pM2_lԒb/6zs֘~KK"]Q׈4& HGP_q|WibFL9ya4>-Y_h ! j M$HlwhG$cT 4#!3"$nD cAU>F4"b4gce`3 ˼ok|VNDFVdܗ2]mə*6<ڔǸ 7zFQu-ny֨V 0_+0&k[ݬ(AU"jN"*D:D_r7J~L2U_"FOA=^%[6WgOpQRN)G-E$!+Ԯьp.ow p:dEɇj+PLJuR)3!.S.׷RwGrO~:WOHڊU.D=~`b L†IDҋ8t㻭^qzH);fI;^sæ@XD1nePڤ]~~qL-uT$`25 q|t"gJfnb3ANK.kjzN#ka} 6W8֭X Ѫ%DAg&.,NL(߹s,y%{M濿W2>ܬgWonww1-/t$Txƍ= џdDz}:kG%Jh9k}eͻ"88eհO[ >6{( éwd" N@(BĜtTS $j;#Y[ح6ϮVg_ {(m̞;\SܭpLg}os:2p%B` z{;ھN-SAυ63?(ۧXJmRqľi:X%QQIʰ&=y{wy~FDI PT2{ykFvU4eLFPϱD"/Sq޶CuW'ha9{Ov4{6OC5nbU3N5X1Z?a9Zźnqdq hv3}R%/$a#U8BDmL@‘ X CS i?+pҕpY֊#p^R=ߞ@^5B\ [{*|Rg`FںbSb,[+;4O9a?Bu3]'Ws#ɨN^҂=hPd[w W `rRlQɉ3*]I2u!6馨fAq WIq C7AMfL- )/%{unq#'R[:{ĎNK枳-~\\^--eZ),MF#YųĚ#|IrjH"k :yѪ^ "fؽGF#)_k53o#?tKfO!V >9+V5/xPvޠ_:,&D%02K`X+4?'Gg5R::ҖmJ}ԋ;V7>xw^q'MZWn$LpixO}±[Hh&%R[K}O/eo_.,d:?%(þ-–8+ĪrT\~~p XОq+~VlW0j2iA^H#07-"ef$P:H˱դ yksF.=3;dM0YJN2qm+)_ Pb G r6Pzr{q6Nvtƫ_ъcQn%I۸xF~L@@ j0Z<ǀ@@Z8qAX ՠ>A $B4b!-7a:࠘+,rsb;Sgh:%0u N2՟g2ܗ~&vJnff^ rv!&e 9&0I sGT;XmlUgdvrilz5Q }zQ4IM6OBYPrkHi Oͯܐ ©LoA?c· ,vIUj͔ˢYpjӻw+Q8>:/=yclȜ7v3z5 n[^nIfoez/Y=m* Onw'c$9OL3g:mhK`q5[BÇ $r)HZSR7lHa_aro&ao)1ng/w?uErԓ($?rczcz㗷DWIdSR˱Hm7ѾXN5kރHA2e,Gfp!=6/?/e#0ƓSD2SEy9f^ߞzŞ՟ח7۫}0aסQTLv&\Is Cd_.oF "#*BB4!Eԇ̅o\*3c>vo,QQ90?0K2Đ;^tY{`^NM"nv{(Y2 ,ofg12I9c­ CL8͙q$)| $=d1i&.Yʀ1kFVc/_{>"-aK@Md]Jd,1v)0OP.1; /9IeW!=UeTgmnHuxuԜ, 50Qǰ_oo~.jPx)e`ykpRgϨ.P! KD;]$\2*JД\,R,G13YQ8(8 (,3 qz^_ԋ$^Ӫє.x_1" ~MՍH4w6ScŶ,g2DcI~ZA`l ` 8^ns̮x"v@b{Lp4./͜7Etۣ*d0)O}|ӴgW>JjiFI6vɬ#d{ 9$M\0uDâG7w#l?ttv398j}~/w3fvjҸFH-F7?n#CȆDҘ4pY/]CҦɜ*4n5 ]1lf$!%qaCN74IQ|E`~--?L}OEX&@ "y&!b}s0B˕$aOWo %d 28@vIO':V}4W|64YfdI׋PNEhu 9= q`,#qg#ML~Nmȗk!㰁L !+3f0%K-6-RWlyF:\Ga[p :/f Ń$%eߔƽThkvHA& fiZ-5 ē'"2^kzBMdPd$u`03?1ν2')Dx%M~E^, l @'br"W `WZײ7>n.O əZzSNLϨ.85So/xd)N{H(k h-^*,kanS;'zvbOč1s uLp\߮L3 g1A*nb;%CE4[pc)HmKeSsrLazg od߱<5UO גoVO2;C0axaXèpInB?B6 -ǏT FMݤc}B,8[L A~bB22Yg^`Bްf3 bWit%ű+hIB+߾?@3\-n'ſ§'O9 G#y7ҮSk4:pR9aVU=,D~jE ·PM8$ N#t⺥˖csC1p%y¢cD4E4S}$ [47E~6hiiH=0آ84J\{Ǒ .LbK܀q tP üt昨'?8qo}iQ|ٰjI3> (hd;sdR 'Ͳ ?ΙX-s $˒5sW'm\ߒ @hfxHLj -e=D+V|C^v #*{¶J"Ê7=ta"Eueae߮?b=8BE@1\J#k`8p~",$;=i[x&I$5nd֟[mhC|-r;Cv|B{sɥr\pϥEe> 2!\%ע6NK @⛯>7"m9eͭ4R½ٙ9-x%fmF 9FٝU H!=.ˌvïV\"n/E2+Sf>2|Z*3d9;|ªW6!{TMRgOtVzD r8%d쀀Bh^T.6Սd~#ķɸ;3ҝ[l7;gxrFϭr0cV*cA"z6; "gdgp噔_}h8Ă/ZF_gԊr9_cAȂq݁lq`9/iв3:Ć4B9tU^LBh}%X7')҆"KB81cfEZ}nZ@T`'?6%OI!#='l̤vzuf{"U;ά[RCeV5pfYa>,;,JLc~2X;?_a >IEpQغɝ_=8;6p';jrjzjI98ww۞?ʚF̚"+k҇Sc+?J&_:)_]$[c(Y,ՅjOl_fJj89LE?#t|ϸlO`SHa:h~ 6vrk^~7(ų0 &RzcI8rVWl+p^T'Q&EL>R*sͫ!֟Qp8&.GbϷL %Ԍ 8ja1S{[tq]_onȬ+y[ Iz#D@N .cri|u-joV7|n ))&9#zI_od%plR]*`|U*o kl0KLl"uybO(t`Xi=)pdŦ~\)  UdBاͧH)1W{yH'Y`=d< e:I ;՞HZ9n,`Tgᄫ=7&Wjn|9q6Q-rr~\$|>d#4ܾP7u*M"1qƍY4{+HA&\4 RH&Z@zoer{gxKpUJ 1h?lﭯzf\U '%%i6[da$r<( ӡ< (?y,vȖsgfmԬZ[P ,IhHE mG59qhc0B58,QfNs$'Ÿ :䫽ح?Qwc߽[uvo| ZhU\H7*#(5G^䐡IE vL"wz7ԗ~lsu= vW%8V*\zL&rC]']XChd–qf&dYS]z|uayep&S N+$IVvl:,q*L4KR]ET*yHG,b'ri775QѪsNUn)zŞY{+YNOF g2ٽuh*{ `2f7:'ZXL#fs pdjmNKʏg33i`ilDIJI˦~r=y0?٭nZ"ͧ,l0*5r6y !5cl%Yshw$́0zQp/'CRqqhQ{#S"6T=ɆNbaƛuzًK{j#ȬǛYul#@nF+쎀}yףNP)1!vl[YҦO,,̱ՀI^A@.]I9VR8}G=OOTEbμ)E%Eo^6,Z9e :<G)'KH>xuf^EC5łX!$"˹w׻LCm_p:_Y1dĕ R9;La¡ )\J":YK@fcRSMZX_ L4LDQ3% \pNca6cudߏ-aj>, *Z="#OٶߺI̭~p<d4Dżٷ߱1-5[;m&S_eB)+61MΌ>U '2n-sߓbVY/>ntԟ OLV+WΜuKԩUBtBcsÆG>FR=G%x98`ucT2M<TH0۫sޟk|"fVUAr&=*OR¢%nj0G8y! ^#j"ƭxC VWPD1Erv~-[`ȑ=b<{ Q0[f&(vfvF %A%!Zv5'X:5p!|~Ԕ`CGKdQ}^ρb@tFtN& X4"4uJ,#y#\¬ uy`1+][p?$W p0L鸎m]=ex'3+50RHL: kQ6)n+q(GcD.F"MyPe @ qna[nnxJL86alν8Tn:9!ݫ&J |8bvqL3lpcz_߮ ki0\0x۫q w0? vͬ~)&D<6~ Ȃ9)괋ufqozuw!lN+=ܫ}!"g0lc`ȇw[~&~~OE*AHU1%\lMW fo-r,EK;'AlսFk֎H9B̀BGӻt{ҽzwK!cr,pvv˅.fnxbp/r<$?+gC >:i*˱ɉ,0fQg. 76ٽKirPBP7{xx_*a&D$1']qѮQ^i"iyI37,D `+wڴD!eΧp4[\[v_lpuBP|7\N$ gie/-5fa8/֧KF5|v|=\h})Z{Xf~m2? s_tpc^m kAP&C$,[>! 9Gg lȳvB]^xAV 8 Z1ANrG' qꞐEP^b6~O(HW nQ5tpюhd"g6f#b7c]Xf=%e8 3jq1Qe%S&&6fJ|B/ Wal=ƒ?0OtW jqv#jq=yׅ Rs*#͎!;&?Oy;wZ}wtbElO8$Gd5kwS*2~B_xyθd XdauRk,y$uL+>剅xٞ *J'kv,lGM^[nxrZs'5\7YlWٙgx5$uUUB;a:@J&DT]*vGM1\#Į E ŽfB1;ԁ+Ti fOƸr{'[<{sm0pqgEq)6W6Tq~ۼ[?&3u"g2m 40ǩGvO+gZ γS) O&4MT+-{ߏ4ߤdtJ{ruq/rinss̆>)~z-8^툅@4 /j3|T @?<8fwW[0»Sk4;yn2p5~}e1 ꙱2ͣǩij73lD 8 f+l2N:Dbˆ lƅ/ltd5%vg=Nׇ8P)OVB4RE%qxXNֹ\@D%0 U>pB0`(O=EzwVrQ%/Rخ8}zu̶|ºF]r hȼI1qK` "ި-sxA#"q3,ٿ`:~) tuq=iuY֤NDxR5mae lffK76 {#&Im+"V 5sS&Ԡeo?1qS#izu2KDթu`aH 5߂zHa*_yҰIaiL5$a' ud`U_P{ 2 Mb"\4Ig2Lfp_ۧ7O z5Ձ=udbLUEbGEj**Nx;䱱ZS%j@}X|X_jrlYE~bw9x2IHR5ROxփ-`ٜާӪiv('ٲ瞇Da3$7ء8. /+ui)Mٰc^-@ƒ@.ߏJF K9@۹@8vY+39`I $kO77]gD9qIDĮX*͵FN376|? Bbe K ij,9jͻH߻`#!ORot.!&a|O_/qRl%`aƇOz1fBXxp|lI+ɧ9.0)Oחַ'@tؗl}MlfcRJDp,%ca/cJC$JDPbJ@"frr| k&g]D~+*\.(hcKY| 7 ?<}[@e8JYeUvJRP]ry}ءj?Ƣf߿X=NnL#QTrO=شv"c<ojP(E"j*H<'-3Puc(>6b$g jʔŭg=u-=) 69Cnz*T+hyIdgjzqNuP0'M\jBj̬l P^ }5O~u֬մsUӁ^p@;9T}߁i>Gө %+}<@[n~{#[iitcBoɩiʀg&$&!G:o-4bEߓcʳ0Z៙‹c9vPXzimg)gΕi3IDT$3ZCk Sk5Z]I8-^|R㬏aeyndˎnȗcƙwoʹQj34᳑~ )q,^?bB* 7ng3 JlY ts)IŧԽ8ЪL$gLj͙SO(ױCg=ܜt ,&%h|#@yW,5]1ibw߽OE.h8PN6ތ^֦AtPw6m%C/QTs ug`ڀTSُ/O/\ɛ;&=Uӱ -0fJz,%;ơ?e3MWZƙ!*BS|i /{|d1fq.EBφ$gO|wΦ 1xN)i.8aa}\-+]f𚖇Q;+dbktTkem^]^fCИt,9ª@)`9dd\9{- VG4Ć `EIfo!P]4+Kَ("P3}_dN]XgbGO-d?#y+O( ՆC#KCݞFjۏDuD8K4Ѐ^)js-p1yɩC4FpQE/F53'8X-H/Y;^q[R&WҐ~pXC%U_>3ow2 'lx"+u!kVtcQż]& 3zZLBrk@d3 L Q]~:KD|kv?ϫ:jٞ?ϖ^^`YdcI+$W=`z)v&nܾO'#mσ4MFg)]BZ{ asϘ/,;EY1;Ct閝w\ ܇v[j=<˟4wbH놰 ^r̐`\H,),, TȜvmYVz 5`%(d %:4O8n!0!L1LT"QMT29~<^o^̉g"ua&^Z_DdWQ`Q@9!>6cX5i-ZXd ҡҙHNQ4USbsF1.JJrF๒zXaV^DgCVUﰋ+2Y,E=pz( n,_bA}^hBJMd9#ݘc,;1e5G1ˠfK1lucr_jKl ` ݰN l oq=fC\3"NW jq䘚9g>.dYknĆYIBZ\IwLH+Щ1:KSHW4RnjiOW=۷ERgPF9Ip+3GjGgY?-~;]{ܜ&c.ݑBL#ea{u{n۳߶9 ʯnE܄ Ia,4Ml-mp`&Ik ,&'TC)]M6bЋ{]]d-* ϬYoָq\`Y!I?=\0&;M 6M җPa#j9fp Y&5 ">dA"|?})sgź ' I]uouzlf)*gC5NOWc$;}LQwgKh %Ls.ݚ>^OjTTd%r 5j-/ Ѹ& w1S3Clos+]TK#l,^N>6fCu HZ3S9\MڑojXD%e X9כ9cG{i2O,?)՞rVZY昕k]X* w)#\BOL#F.żBC^ E \ب$3ldƟDG_^]rqՖul$`9\H|#G_pKV8뿠ͯJ#"Gf)-f#(f})QVW v\3  iCU YW$;sU{9Rsa:S Kɣdt~6~REsd18aT"c)jLS>\fYIii\D=3X&2櫼.V9YTݚc9Gi{N wZQ& a:>ǘ;yI'I/~zwԡf+s8^@h8_J@W^Vg#2'h 5*\T !MN*SF+u&b#LDWNJz%%CS@1cY._.vv?~L]eCj&$ /sP/)U^hm%\̓Sd)3d L'\彃9_}<?x^֑,m(zzi`J) (HeR`8pwfas>LvvˆK5:PnK@kCuCDŅū z?\{pN3| 5df-<= bdi_٫׭CDz͙njl%!`Q>[~Uʷr΁g~w`//08MjZzt|}=p6*hЭ5k0 [rUdJn/=YrAjI&Х6 af~s}_v['P3wAV0l>_o8YY3%ebDl䯁Cl{cY}z\2AGRx~$ ςnF< ~A~c҇|(kL"T̑]L*)yu%O_1)9ؼٶo4L,`r߭{H1ש bPdZ,^HAH<]x|{yu87O10OX,Ϭjy5{N-Kig/WwrҪPò8 )w鐧Rtf"4+r?ElwQI jsDC @:j`Ư' e1Py_L]Zo7+hRQ mU)$Wb*9\-'&vƻാnl*ʈRD)%@׏ r 4zV£ÃR|fɅ_01{BO%r4 ;fw=cF/f $)Y'uI'O,3SQ \OċBevq+:%gbsn䋟َ,jAe 1%h\ֿ\s*g nʥ"fy=etIF; O񤟂o,U?^&F/Ĉy{ZG:Q3#VI7XnDx-z|z{X5$p#'S  w}w/QMj*MǸoc0Z\gJ P#xjizLS-~%z̭s~:mPzR"6rKgx @.ڨ\sѠ2tTfaZXAضS#<tf`w>8ʠL&-^nه+.nR͚D^xr:[HyJyӟB>A~sӄ8\2;P>h_\mHeKX=Ny8G@ö5i%{µ <";HHM߳pS$ð -YYڱb"77#dg( e?=r{ΰn^Y,/X 喙wsm8GK˞yL&pJ" ͙}H?=JE=E[QudUf+5r$fe]SaRNa8Ivڡ(WcJOڱwfsE,~DܓvN9.b[!{4ÄjWe>݃an 7viS4[z0̣){g x F۩3)iekXo$!lzdl:IC],׫wWuh0uRF%kY4 Cy89vony~^__^j5|X$)1QGo5rRPd`\*m8 ͥX~K@E[_NL՟QeQ4%t2} l$ (I'=7j |(Bpv|0 &!ʆs'Oz/[2ZemyDjM*Ҵw{e@6D`ڽQgM^Gi ߓ~O>tL6TfAbZ$i/5 "9^zkl$ Jr{O9<`ZaLs-̛"ոqٙ*9hYrs-<#Lϣqs"d#kٷw7'lT,XoqMM<%O }g%Pֹt sYTdSt#EK)]̿8Z A+y8 ]TԮ|<-v/f;*L56"4m2nՑwfڄ3 C^<)z)=hE8Ѫ3&Sm.ϟ,H⭥ћIV@c$RgX_6 K#5/#N^(8/݇;o&XݔXڷg@@?7fHS&:')zg:r|F~'O/ܝtx+o).jS?ο Sx:9'ԮASfÇ,²\7Op{2rLJ8tdܫB0nZI[H]Zd[ArlMd@%7=Yx*jB1vU&N۬)[ g޹ `b]--1[aGiVxcl" Q97Ļ%e[ ǁR%8bYr6Lw#LhB~=HVv  q00Y#W)Kc!_A"e/b Xް2u{CC b"AjpzY w,G]L =[*bgmbn^^:e;O1=#(*r\c'ia|=̯dHG h2k@*{=R2i$aԭj+eHG rzsvRhQ7ʒGtWW81a_vA|ߔ0G_B6>29d0-3e!޻v0Pٲ ȷLW۹BE>2~ݛ7=-LmJTb)Q%[w2md a3l39Opcʡ}{&=+63|Y kAW`g'8wL<OO'g(ofLC15fGӧ+biqT$D'9FN?bGRB?|m7"fvqyEolyoY:4/fss3ZSi"UEa?ZΜ6B8dnW8+lgċ6ی}s<0mV bBS"Ś=,\x; f+G:v WU32FڣD+oN i"f~^ݼ-4:4*S4$E3%htي 2V lD9#;*p}a4a0ʯdnJT`gTEnR]P,!hӒFo%+j)2 ܡVLc@챺9|3sJlڠ;yR`>g&`=>7\tW3[x L'1 rOa"A'ih<5|5?^ׇ-w岟9z H31`j4@G? dи"-g]):7G:ysޏZ4%9EC뭇땛yͥxӆ{ b*Q֗tȭ:X-~__Z0T.kV%Ql񕒫[dmMB\}dgwh$5bdMXy+=:zeHDlԆ̢bC4qp 'X>%p0F$ƥNN_X3'0̙PyqYnb4(aN}|LV9bobM\ryd־တ ӆ9Ic1kRœ}iJ:_44Fd@J5 y^RQCWkKiGG:4E{bKJRA?.suEv'@є0I:8l(</+)9 j W0,"6Қ`j/i|D;ԽP̍&LҎF?˫_LiT|ġ`X,Ʈf96VW|fu{<o;qfQ(Nڶ4"(cJXg=/8uR)P/Ffމ%i*~1z8rnݴmx{a MsN"QΑ]wWkG0q0{8I@zSΈC]^P)|g:ݡm"z]yAw:/2bNG~!3I1g2B抯sTn,ːoP Q*x+@`Wj_PUI-i',$]fpĨc`uH<}t G$ 1NOZRD1.(JmO[z*XbSO[}KמB.JHnMc4HzHEWڏ!AAGԩ̳13`0yl4D}}[HC"&e%O"݃>9T²E>9C` .}CG@Xe'59&%f/>q/<{spCh&VHK( ^@&cj|3S<՜m!\1FD6)q:d-yH+lgl89y)p"Y'\my,(%gss k3n+}y(|-j9++#[ϓ-:0)U}w}ͱ(=6 (PLU4gY0#H聽*_k6n)6%m+]0QD L1rv˂p>')n05^"\ -[OnG^7[ﶼԴn@b3[m$?( m i:I! Q6ASRhvBmcIKapkc#+\w @L LS%OnQy(\;KBavG ,B"IpOVMέEO!.K{OG&n<{_&t T #n.K犔YOlx4\8 L:-q~D0'GVmaI: \H0g<_G 0y&Y({h٧KZbZ3)[e ]q$@I50 y B#̓g piGFphMa+`Y5|e#p\de`D &iդa7IS2V2J@o԰!B ^^|\_l/dUh5P-19N`bc|&P3(c(fp&Hybj˾p?gBs;+kJd"ӧ0ЦǒǺNMAۤ ^InB0䶧i{lLyf$&.t5D,b_Gvgޮx\FF!}:O8]\ >o><**:vJDknxnQYX@Y\Rv3D Z;KVP\-PFur$\˖Ыo*f-lOw 4q٬f@-kb9<+J#TJr#[rxuJH9gCƼ6CqZ̽w!Y}nݷ,i;D5K|jGdƷ o,0:[.tDo#x"#%dL͠[ U +OKp/`%|C8H'߷2N7A@ 5U,VY.wӢon̺4"CԃrZ }eDKeէ'Jލ1qt&vB/ʖuBD\߈F,ͩgBO^C8X-q~Ξ) 5#QS%CM1׊Il|tMoWb `Gn`oǁ r;D Ǟ eW֜>gO(tgɧ9Sag\*Vavs̀7K Kg$t<=2cJ|MD/|f:2{[ (A]6:N*DZ+Kr]\!}8frTZMu ?>iZ|z:;J!Zv 13ъ {!,HB,rd'ch3=@#Y=:e02`REfR30&^/v} Ii|aiS#Ԙ4GIFR4F%XdyXgs?I8L%nZn>c8TuvQ`s[1_}(Y}6l-qp0eI9ϰRVޝҊ|zU (y=R(cׄx|NDZ~QV0$;9Ic& ]SJaQ#JAزI"jfhUzfmoM_uʃRF|ȦůIyjA73b5}- <>´0-~ձBYfad A( K?ZܞBw8X}6Ep 2V)%G?LZӠl9hшNbxo)Ÿ[2XNjepMb=ʽ- de2Xntr}{|:_F[pj|q[g6k*gJ1 Iy+?q a$'SeIlƹt 1ZN7ޛ2>JAb:I4RG8IΊ20Քkю[#G>'zpa2]3wjNF%>a!3P24M骭w +ڞ?Idf3r= ocMi" r|"ruAڇr$2 8u}>[O+0+ }+aj6>fB%RܻS ē\7N$q7ӬL#Ǥ Y5)xlx:]ġOSJ#q$Nr2|t {X9(C%4Y M4dsvqo8C~o* C $y4.cia[?ha+<{Lʀv;[]pɣX+bsw9+5HQAcLL樑Wc8Oۢi\6~Jᡉf/r&.y#}7-9|OG@kX]Gr0d^a΁37GG0V >EabTVyYN3L)ᅚ8QH>JeݳEֻNp'oF+N6&{%~ p͒3@[!RU` b#1p)Ũz<}0{ZsS6VM8#3@1LLsjfI8>W;z6sc~_!mPs_ld7KPoao^~<S A : Ts9׫;D6o_ 5? U&-!x5'͉qi@w6`+6>D?O;<"ewGI*HaV|8N;q|n.6IU&_tw}ʑI]D( VE]> Vwk^O zB8z< sOVu%,b8=Aa$ԙeZFTSسD:~qT~+g0n|ֈC2Is ոr.[6,Cɓ{#>@̄-b$4K0^!(j*Rxœr^xjs 9ȔCBNg+B5c+C,V=sVl O!6$I1,@?,?'!BB* n; X$< T,ӗ8ü,Q_iHτV8=F4+*Ȕmpmj5V##>PXƾ7L:V(K҂sR=T{Uid?IŒ{w&yIĔ=u֒[IןY!D3L٫S8 TTaW7g[ƿDgl^q 3=<9' NCf㋤$aI3!*XTE֏X hK{1/Ij3_r.{2FP^lvoDzԮD[pءDv95 aӈ.>n5npŽm  |/7o I{H@WtD,x-4D}|״xr ;_;6J^6"ռe@qpoi3;7M&硱Q9=8{S1wsNos1s(I0QB($t~dzTl*,ۓg1$@E-_^NF~! JZ8N1[ ^&8 5NgT0PUUf5g.67w1b ˬE a2E$_Ᾱq-̵2RrLo2 bU8É":TȡiNtnEbʭM༲B~"n$1^쬻ಏ(kzk8.-~,B "uߧ  Zl8Y<]'# rr(3N$ W::{8$-2fIi)`U ѝͽ 9k` 7Sn a7w2f?ث4EA~A3.DgOIb_?'wZ^ʘGŹK1$+-{x/f6q5Q䥹VZp# 4V8Q,"5~( A,=4&T8+{K.3| ͇/`Xo\/b"GMa++_..^z1ę&iDḬ {_Ctczbc3QC<\-$X' ZM0coɄ9:T9p,q}ڕԉw՞WGvSJne vwJ^SnT4dqVXqa{4VgX3<&rqVf/$^@rs+KM.sTl /f9 ~26 i_ *YLF7a:焫R U~@C@!+Bx_0=+I3֣X\Q#!ޞh+WS)Ovda ^}|̬'A;˕ exV^~N*+Dݐ 4 %0 D͸np8=h}NjX[ %bg6&Pj' Q&ݜNAmv9+ƒxf>ҬY~߷d7C]Nm03ޕRdr]Nݯ1ش[_2rjhJY]r2A gku,`'8A[f\ʰ_;)"LYZ]_#Z` N-'lN9N!&&|oKW5V% GY.ad^ %o<]؟"G_}f7NH#OT=>QkXl"?"4剬]\CIۇLH:N҈iTŌ%K\ٱ9]\D*&:͏ʺ-[{=GMiʽUmg8U\Œ*ׁr>i!BP"ch^L~Nq|HOV(;9t]g]i/J:nOk֒= VInnG೛k{ (Ti~ ]KdOwYn]wJ ܑwkP\O8/_[;į01"䅱^,ȱ$BLonBTe%*1{Ǯ T[gv Nدe3 $;Ҥm&}V77ʍMP6i3l+s#SI62W@R Yrp!*Wo N1@83eRs=e.Ip7dlZpnjNN`@a@nysٓ/W-!̀O&j"toH# ZÂ[KneqT]ETU5LwEcY&g-v{^¾G=1EșF]i,sS!˜#B#}uRSAX#9$b}ZKlpO䔜\s$}JAL⡜ލ0#=/$٩2Ei/(w$i,G[iyGB<^n'n%XTSB؁)Zl)i{9 Q9'C_rC-ϸ Xx!1J&%Vrĉ!hŸ$5f4w:q  xLfe_ّX>}/x||PNHA)$e$d|ģ]QߋKԦ@h.sH:`q_ kxk EX|)ӔdZcW=Q Q'i,Gfi!5+TmӐяS2hQEp ӘP84boHGz9)3I JgA:I ՛2Z-l3TbWX&S>FVn!^RQ.PD-g6^JY2,~^20K8!00OfYd0g!ݾ-ag4 lY"N80U''_}S.>e|+XvZXBHVo|nOٹP&~Y`ٙz4+Zu@T}S` BNͤeͶlaB`3E\ Gg)/߬?7TL/Z2%vW#Ղ0&i njʏ!ώrkjD 6ia^K燸-[Tppb}& ~ts#^,v[HM_Ҩ2Pclz.2u4H#1W ܩAfظq>J9pt PޥE+/ f[b!8sg{rbs1Ur&Cpqc'6 [}Y]J$)JdɊ'6]W% hVֱN2Jhe~8t>HA^NYd챽.Õ0v~{s/ydJ0$9kTh4vz$Cui5lZUEZ%)Gr>|7vvIkXRr3^{1).BFr6`CAKX\=w uT0-r"8':=TTL&'®%a+1\t/I>6z@+8w\,^Qc` 2ONv!$ UGfcqz+s7V_p(V˳-yK$ K#3  O./E+iH( M@>#@Rxsp^cۡci!7MrUlǔ%⻟Ϟ?_78|CԚJ"]FG1DykNg\vcZş"lJUH} 3uG)Z2yrtC)6nPLd 86W[80V ̨UYlz Tef<4JFw[j{'S;3k^3'=xx(&r5$ /6N8}aa#@%Ua"+,*y6#簖QZa5Ĺg{T-@+O"tk]sO30&].B̀?#ɚbyeyM~$ m0*^O}RZO7A`.Pm;-&!g.t&p+;& z301FJDB슨bcjQ77O7U # aȈM ve^[5:0rCN$X%{;~An ͳ=Su1hIMxDL% yeTD41ON.^A n}b?8NHu+q~t-R 0MȥvGr>Ibx 38 %\?8崙P ӛP)5R'뻛_o}ulUqRSf91zGiC$+1 {ʸ+1m!YS`LtE8LIq[Vb?8؏20yYiώ7 .@Lf (tUfsZ nbG(5gAIىM( ޭfMwR1|K[&#:V{V[s_eTHPvġhj /e&(! pPr/ cF̊rIl[89_6_ydWҙ#TSCX 2&ŏf{v.mf3pJpx!\Pìxx^[WepU*C4ķHtYcGן6ԗm*s1P%[,dS.qef!Tf:٩w-[7`g>-YH rJR8En}E){!Vn1OJ2Bʣ*s9Ummgn.g}%5gL NGZElµ\#!PZ<F^ͺF%o48g;.j >0ڬHz'%XyE D{jIZQONUȉ`-fXevZ+Ű&mhkL,H-o&WKs5.):gaJV7G&#"ƫGΓB +{%&gx)k!ovdulV/_ࢋ@vB0LZHC,7 E $`֢K L.AH);KF1'9Q2MٷZp>G16Clo=8ic76. M7s*w*,D՜~b"Z)_w@LI aO0kB^f9uqً_4'zt"8/zatZMB9n;cjIFuVؤ C鍍+caxzׇ<5?&ŪNjfg΁"}z%֝?Lz0T YldV!dv ((fsی_g&ߋ8 Z)(b"caIE]DuI88Q}l3&bWI5 8q@f&{pF9: V%a.gtF/N&ջUP&S"5%0{S&+)RC*>]}D}Zi<0e$BƢ,51VeN#=PQ8Օؔz(SG|E5< 0'Lu-ٷgn:)2*܊2Ib8u XjlNh>So6K2zOf?ɹ8r!!}o?arrfL^o8ן! <,Y1j pUX^&vcZ;74wCWC SV+֥HXW!8eOdFGW{P0># !#OK7 eJ$4!8NXܓ 5H1]OVzB> 땵Xc6ptUQ![%-  K #NYssUx:T*ŀH ػs#g,;N%k|lx}phO_<{>eWl5Id1&_ 08c- o9) ,6#u2"Pa-\DhV" 2o&g X_OҲyM>un E1gUM+ΏLB K] &*g }C'ow1wsHDO z8f+'.I]5R%TKZ oz5OǪnOY!k*u% &K!/ SJ oC-55D)E;7bvp&)+,QC~fJN# nN+|SA㙴h&AOf+``8VL`d)OFxD7X=<\?>"g? %:+ZbU!ZdubDqf;H5-4n{dp[ uI/bgIeGBҘ cF.W̕ujdMSw7*$j&& 5E-hr ţ}'b(8Mw`欚`n⦓C{ ?qk j8_C O)+g_ELB> 1xQ \SvSP(r<练ǧdm&yV¤'Xp1]V _#<}gV^rbƱl$BU9B+1Oԫ=3ʎU(L^r{`ay]8F8 r`1rRz=GH')@,-C~*/-tV$1zpJ/FQbzwOHeqV g9h9ej};왃Yrg5d5Z *pCr|`y hػtM4܋<5R\gZ)0ƻc yJא2xb3< (_ 1if (pg/dpsW1:k@nf*a`O;x2 Icv_7RLj1˝IG)&Vx;6mWo8]Sp{:5F5#0hu1Gr2O[X4ֲ.2pU43Id15f67g +S҉X`K) >W>~PpR1!.Ly@2Js8yJ%=2f++49Nc;9BKG0:\zTӢb^oG1-v)'\* LT_v/ߺ.[&iqEf&c||[|/,LOOjPVMplM~e4cYqݡoE5L Y kc% H،؁LgX'.)"b`g߿s<;F'!M C ; &ʆx@=J7N ~ \H&J%cØmFGs$d`l4ʖ<Q2BF 8W0K<u8r=UJSd%3E#8;j)P9ߝoѥcuV[]/)ìeƙǶCTԒ5/#+{]0-' ,q_0.K0@*#}Yݮ-ĜJlop×tp}|_ab:˂ŧF!pjxʉ xٕhT\jϴ7(hnsu+O<@s( e41 -i_nvdY|Um$"~#0RF uiz_W3-(|V[c?ӓptr ~㆞('#0f'鶥эledIβFol^?arZAI4dlꔡ-=ޜ^gD#jy$jmߡ' =qwRU*Ls3ў's󜜤 $ (x1<E7xf3勉)yc/l2֓~`NNǤ>>j\py|q(aoΑ)G| "kY,ηVw#},RbCJs90@0ndle'z$vV x/zR; AϷNY %(WY>QN%9lIQS,DjѪ򖞕<#D‘wgp7VpwG zVM}wOK9YCU7ꦪ"9‡yYH?JpA$zBc3Y7V?iliRSZh+3.#˩Q+ @ Ṕ^"3>OH4C.HeX*c{Sq{~Uh b?63n\\UjEBXݠB~lA5!<3A'G(3v 'QL0ߢ _qq[r:]gxrZ|LDBp^@}ܮoNq^k: гlׁ2=a4cͅ9ߨ,,=(6-ymQr^'n}8>MWI öX(`,'kWD ~+:}rrR);$-Og92b*vŲflt]ԿAG͔95Cia_8cg9N?-, 6/>#'!'jb}QJVlɾ4Cs++C`vC@v,0ؽ#Wa.FP3jDh͆gtdQTȴ2@/ן>n\|j~uu lRf CHyU7! G ?,m ΡA&ZO$VZ4 㭸QXj4z˘ =P_pŻuqqDlӺ݇Y}}}Ӈkq[3d׮NWUZ^r#ٴ8CkyibnLẙ"׏'T%OPٮ5PUϑNᱎPa8z*$Bk!lN4~"m@AX,$9w;N^C@:"oVR!vYbX e<6ĭC*l &0DRmlF" 1:eiӬf${T҆TɀO^<\)!z]iEpB)B%7MHrY$ozwqg%LŹ ;G‘g\O /C!Vl0h:v,?qNU:Ue4hȘ4- K)cM[ߎIT*+mT =w=iWF^8^D)WuMX;9-C@/ToD+2r+2 ҄eA}uu#:@ͱ ;{v:?2i'N64[黓LF"Vۍ \=l;[#(j?ovءba-PrJS`ъ zx{N Vmɥc)7HN.%?ݮ<).D HV**6x2Kᔟr}b&Js[Y1?ɤv N윋³|rn[`{kGH%!.;BҧVbtJ oqC!Su%vzӉ]LW{UӐd\ХGRQIIsny64Ɇ-<ŒݑPSRn$>!:p>hgZbY:6BdEF.c3YQBe[;OWm j BlWm8x09ͥ};-kы-Q9?,y>-FN2OeݩXoت`2(W~ șinsZ!Qҍ"e)!FNG{G w"H~띒SHͻw~ա9<]6HJ433ʁ7ty}x+#|ѕsdqnɩ'It%xv=mj/rJZɅ%@uO OlNi PL(cr[wRHjЙBG5fjڥKCY5mPP̎#'˽VW_E׎҂ H+@ !r\j}_p| xv|'|nG H7oM<#Z ,ŮVLB.tֿ܊~W.=‚%fB<+&m*~QbT$8Mm KhEg"-HŀC2G@;<X gCyZZDA-goREq#+:Ky@p6nEvd'O4uTG9|H1d.q:E7o*d%mܡ* "emo2^m'&K)8d]8'ʭ`)ęzs9'c (!"+`}b=Pѡpث%;=HGc"FPd́&SG3{* 2`&QGȔJV᜝;d헧M}ڙ| P('FҬ\`cAH 5fRIK)WRۈSP#qgs%!58G~r42+j -Fa59ܴZ jfOCt2մGqZhyr5ư[oR{9I @SJzNjy)V<Ѩ~eHQ!B7lN12Zt>\DdTQG"#'XZy=f}P~F52s;t/EvI miP!-gD5sUQ3b ^l^.casEf-|ՙYx\x⃂LPj<,qLg+`p4V4ej2bg=)Sb}y=HvXIFTGoQ3v2Vv>zwd^NeNkayXQVSnEKlGK#f!| h ;e_S/g d>#Jj}7CNiި;8"/+pdD#! a`) =3VpB f/g7x펆^#܈c+Ǎ3uf,SiӁNTVY]p'Ѓ@ pB2Opwj} ~Sc<џ (ϗ| Y-y )Gx/FOŜfMmATzM/W3B^#Q(lNQ `m9kCbo)_.٦{<_|(ZzU2v7XhQq?[F[d.ƱU~(|R>'5E1p΢6-Ka<z}]wO?ȲP|a7qF XC?qbEa:N;B9h]]ѽ@HeQ;YN{kQC8򂈔(R(5rn}t݇twF2z$ȣHR'JT5+{fKuN zUbNF%Iʦ,CpU@L0v8roZ̢̯lQs7 9椇y[ zgHUvWg?.QM(.HH5]㮹(Y^f'=Ą4g"QXkW$S\o903-j𠄊A͡ (H&Cm{u)kzG]q$:\CgVĢB6rjmǏ3ŝeg]\ Y~x8~poؓ/,|wyN\Ea#_L4l(qq2sҚ3-]hv bKlYsSWM[D9>0njP|eNm-_P*k KaZ"04l{ w{NRT9jrZXn[u{^?2){9ʛoi d\aK*LTDwJDܾowz@~j}={vYdѤՋ-dٜh9 sf0( a%> 2Z%RBs2 -cR:{93:RլX{1fJQ³ eZs+29ji|t,tY.p6ϒ#]&MH4on} ^ҊASK3=ʶc6G8Kv25l//"}bk՚v2YO(e9甕*Q-$Km&Z"iR=]~&T9 tܭ"©"*&э yS6pO$ 8 ~0g ш:{*Ny_ӑTűO,9L/_RO1+{뎂c.R`UB_"vs]e AZZ\+?>oɷR9>,;}@%#'WPJKhyk*dT45{g3V'^釫[7Lݵ<^Aθd.pKۋ *͊va3JzE0tk|["2m85<Noѝ' [Vx2_jD-c* y<nˋ6~3Ѯ$3ْhT" |9Mv[w\u{e!o$E2Sxw$ΒbVfE1UJqBZf`s)~J/">åH)7#<^nniwɓu$-g(4ue}UKݿ8㈗I>dᘾ?%ȉכy:h Uv=^ gF́2/j., :)QaF&Z3 `xÓOT4 vz>KB7*3!>-1_ٖ-GI]iVz?̜rsV89 @=FQĀN7M؜3eFJ6vzԩв@'.R ="`%rNbwˀ+~jVD< 3-r!Xi,'wBE.mvl<_hv)"6jJi)wvbK }Dz .*5JQGc ӌo@J{zF4uYHb-(y"Gbq~} b!Y)R}zn)4.@wa  A9*nxdDNtԉ ddھe޲=<Ԩ=ltƟk,5E@[DSZnGSJ.!2± b_qVed/x5Շ[|q5+%"Ǻy%D!~/ڢx>:[ro ;|7df¾`!s9ISnr$ uHBu_뻃zEv=!rZ:s*}r:?kxnj'·A'TDd4m<3 ș1NMS@Z^a(EU])RXnh$n7ٔ]iyOpnڶZFKW1H ]bGW4"}y* jH%N+yZAO#O y1 ? iFk*ʲkxzme8dHIF~[]DK,!,@^yu+^+>5 M8if<&҄b[8c5׏ʅܗăqNNF'69E[^X>5m/7ȵx, pf|}+QDE^ifZ˄mE%}uO\ m\BJ[e(3`hRư&e&ӢGVrZ)' # +N:&n}P$,ƍ: Y7;^-sί܁9?KW{5!6p*ޭhSE?'QjD8NUKv ~wd9f=4y]l^▨ 4©c LViфN?o8>< B_@T5-IE}fXD^ys;wOh,z--qYt@Z2\{@)~r}ԪLa%Gm[^&P yth @,xRJն#^wD1[/yR t&Qs" a=j6Xo7gώ/;߷Pxm?r'p`͠Nܣ㳜^˩# ;`~KOC="t?O g[ pHoZF Q33}lw\՗ϧ᧖*v|@e6 ܎2^BYnP>geMÞ(ć _'}ԉN4aL`'!6|Pv: k9F#*ɏޤ{ԩbHy~4߱Mޓui G)F sŖB~#)*?J?/3NR΂Y9}% :帏ՁDsq ZCHF;rU( {lvS#V 3NLZHua~<|,y7^<\sTh2 rq0s_B{)*X9ɹC]HFdSË9fo ,`97lBE^CQ-x=i,_v 5?sO aI73DidMQ;M/g('hyk]O,m~(PվK-U:Df$6F=Of :c#i<@記,bz/j/ׇp-5]hSMᕆLaaNi)sG)g+j`š"W^:ث9{+:%';vh4.K*dE )C]ލ?xYm!nQ A-㜈˰ZwKNpr]||# jy -[2d=5#77)Cmz.T(Z d'2RrafԙE^$|vs!$]{b+$<:br343 )-3ΰ95D%V"6.Pq4ҒiLE*L۷ܿ~wxn{ki)?)|n("x!ε?y*fHKRx& ( ڒH[ dsDnM@tD>3tM,UZWudKU;» :xC8"*9pRGY푛-(}Qp*(2!OD&fR)Xb(8#$6{O^gV\P!/#p.LʰzOZQ>q^E/X+?tʨx#MWP/릲z'COzLZgy\CEΨ޿ '(z{T=~HQoOm|O)(sFŖMfrXjew9y DMltVZ۴, O$KB{t~(IH׿7KJA@+u`l.f8/;\/fC2&D]B /*)Uzc ֨ݠhiE[6[UD/F r"C6-QߩhQF A.=̩1$.>>ar71([qV7r. 8|1R]Eh*8/Dv;Q]ٝ@cF!2;< 0uY!gB[4RM5;<ǻqFz "N; YjRS߉TiPHoS>R5T%У?Or{.(2X[a$hSO()-o#l^"<8CFg2lTR^Mo4x?`@/ EJ'yvL NR]SؐxȖ[ vQVaQfLjCRT^#b}9iŤCE Q勦rKsb`)yϼ\A^uI,}`C cIʻxj|5M#HJ"Xg9Qx?=7Ot-M% FT@88z>?&0J-V8b$9$^Smpǂ]o?!Jjgxמ.7 `fMfa+nB~~_J0QH|k6KuX?\Z'3?1<Y.wTvl C^ QP 1'0 >c/\-5MpGaO-+Zt.2ɦ9MJr3^D.mo̓4$jR",?)x-۷i٪0.*>@4򓛹{B:vR:&Md[ڎa)_!&@;7V1O07G፥7/9OY 0ÿjV%&UOTGÍa P*R=AkB*[I]6p5Krweya&{qݹ{C*oYV rHZD<\TӋ kߗC&~X=#8>b׈8UCExl۞:hQKzۚ?>ߟNזNjtjfv ݧJv witL{wG? >^,cwU-%OˑWf1Ǫ`0V#6#9+ N/~щ}P%9}HlEI_Ax})Us*esbB$65 ݗL¹/=:d1N/֟o~ysqC"ɱn.x ;>SW5_s\J7E$T&# H t2Iz{;DQPrΜOg gcDȜj] (c^++O)yo{^g]V>\^ӏtp&gGf7RLYGm3fDO;CQQr[Z n=}Czsax}ZN"i8:{H~z2F ̢aɴ~N7k/TĦxʹ ʍmˡEF# 'ɢ0p*PcIGryMft,)vc4& V]l~c@Q82-O -(쨿SEt6 [r/+*φXYN1Ə-dR霆Q DN)P9tA"h7}c;΂.hlEEԊ&y҂#;O{nooD')y8c)\X@9kBbxz%%1I(c))_+V+\DI'P25Zoϑ<?2VHktbEYؑQ5T:,4Z=4+@xj{%G\AQnH - @53P?5,(=ketxw(*5~^Lx"=K\y|,|M|b<[głċW+J燛>lo&c2QUO6Rm^FP5QQ:H#&gF4jzQp(Ұ%/ƽ̗N9zY@ɓ EghN!;Zq>kIFdMÓ$tJI|;`3ԼӧO{䆫Q5*c(NfS,oφ.g;{"NY tLG nw\DUR٠Q"{H9j7D08R[O+ WL9p˸X -t)Iث5a㎍6崝)G2B;A3Kᦓt/OۃRk}@J%oJ%!c*_%yEao0Zg[.:-\_gڌ_e"fe6zxPψ5Bey;rdMx#idWZhWM_);0Km 'fUn)c빎\Wv~9}ޗx *I}`)bȐiowyo"#~͏PTírвEgZ8W݊?,}J|shA=QH96T؝a4JDaRp<hBnkIo :5),xXVǙ:'k)ӆ+K)TGg66.co} *T:8f{ \iRLm=Ўk_ey+$22e(6JD@Zޤ%n[ h ԙ3r*l9DaTHs~~zs˄ p'hHIE910B.L'3T O.؟@dEg=㹼} *2u0%Ts.ts2sLQ-"`Js~^9pI\e:ySy_LϽ.g/x裣+TXrX! $3g[BPkѣͰ#~}qv@ ]l/`C )SK$ HBUqjA}\Z?G}wŲcRro؜K52L$^6ʻ|u&A۸ݳW t[ҧ UnqUJƠLrYnR;I>{Vވ?EQnACޱz=عj'i9xWu⌽X);(ч)1?'!D#&F9, OD4CsP%憽2J|U).RR#=%γ1Pf2~,N5T1v)dz#@\/B.`" % ӳPUYf,0cPSӿ[iC*UyӀy fP5\~^8ٓQ5iS# QW"۶@2hL//S@"a'52̪PE!񥃝[Zor2훇^G(0 B,豈40 #>/w^*tJ `nL o,Anc+/ vPs,2l XoOÐRcɣ.&Jy/s''4 $"$Փh\c/MPQ\ MȺR{a& O?y"G|\XARQp2,S!i*>""4x tPRgړ[fi>#[!ơ;+XPqYL<p P}owO' pLʎ-P*ɓ *X}5TCk29JFh[75xDAej;SU൰?cȊ^MBk{#C.2Jq\ȣ؟9Xqh|PQvjl/+V)=ߞd2}f>K dTb?Z-D7]<A'ZNĖ&g4d")8Ixnj9O{v{c-GXKi;Tkxh<<|yws:I6yhqⴥyZ(+w߶qH>{ Q)psXt*q۫ Ns+2fH0&U5%JVЕ㳻ۻTNYN(XQ-G ?pSEϥyfG}"ƕVtjR 2>1˱lea O[dǃuP ),X@ GSj6lhhQiؾw G4r źވb. \-B3BJq⹵K"_O?eb)HQnZ 9 sdlE|{6~pDPmLm"]3b:A![#qV"gdqٜ~lPPvJU9ڬ%&L?>XoǛYZ|dIY p'rUacd j̆mD% ©9 0QM ?yjw'etW60HD O[ދfHAڊ-`nf.!GBF @+ڝI;%AZDA=G9'QsnjJcvYd=;'>/ܾKlmXY| 2G:qzD97IkYd..FE!CbXՔj#ۈwvR--)3(D[G<2PKeAj qY 2'5ŶfQ};a4cRrPݯFTtP'Ea*o?ǧ jK|9eWrtֻ;o'G,oΞns˹ IV<₨ۚ5r}[ oԳ_9oD7v==V~WF)7ɑ/׷9+SeɗRVvƺ:In a<=݅2þtΘrӈޒ|DOMڔ]i-q;#"32g_j+E+BCd EBA%r?ShȃLs*jخ}wT#?_*Ne'b(buЉw@7wW1hvieD<-I67 o;bLw "ˎ'{ƛj~+JCv#FfZ4Igxx#*~CB?>Cj0c2_ ~/6o,YW$!B/V,QP8kHV~9kf>N|"A0|4+X[ ,^ƅ%#s˒k5[#G(W9ç[8p]gxv?@<1leiJ'sCG,@ _7dž/7%&Wr Җ0F+; sɩʤҋ,p֒JY鈄(R?5=һw04LX®S X֗E?ڮ k*YPocC<)4pj0-IJH(BJ*6+,$ְWX/kh(R)Yz9O{s_F\8u tHNmiݣ:|جY?zFt̾*He6fc{H\C){9hHۂ Hn7j;'/9lL!xr%* #ݻݯ)zr=B|AK#OeFu#_q@`FE,E[i ,(AE)L]؇ɤ. X"YR4ӗ41R'Fʋ8`S> $$^m+k(%:sDFc<rnj*L73b4 |C AFс7b'#W=DLΊU3X=>az9kGBU oUe= ^qi5oUfQ&ާb#Hսl)G*ö} /X:e(t!! بǃGy=iwOT=z")Bm8ibd̈G듄;ѭ!΂9HB)Y\"U;wgφ՗7tZCV1UzJӒ-aáIƒa ym㜐8Vo0g (Z䧋;k%n&V<#h5xs)no7ct5FO 0W<"6KKqQXYpz<7DJAeZN%Wtlܸ3䱒cx&AJ9lÔ KF1GI|`?{y}}˔[Yku;^f;#9)<6\E+d~$zߧȑBfsG]IMƱ!762qMmB2 $Lr}i ădmsY0D'w._).LJ=28qlS6Y`WD\㧟67go> y D|u@y Yx[?M4d@$쓞PUqur=.r?۰,%'" ؚO oroqH~TZ`kp+899_4{@4@v!K!={1PO_ug[طibФXe[ z#4!r6Bg94ecLGה<5qlxW͔4c4O/2汱c$N FY1>('"DsZj/piw6@Q3Om\j$2&'#R#ޘfBwCrG-X"."gR[8uf1H0~n~Z>ьG٢7ŔeLt7E0tir"lb-6U~pUhPyvr85p;ADL\v; T/D:ui3v _YsR]ÝB5{Ngv\q4lbw> d+&T/SPqӫc*O]Z NHMrVׅ`pR{QRAQ{u#~r/Jt3z*B\֔A@2dMFL-@ [[ ‹p#ny+F]490Eǁ {sׇɎIԭh%$=^`KR+yۚh(O:ה{pTDΎ;g I Pp%LNi}{# SŠGDB* a+ٰX:Kj|$fP 8{=O!MTFζr4-j4qE!~/hoaBNv$"]"nb= $;Po[м <܌D.ٰl%RW''s#GB,7sӋs+ްDqԆPGgd $!y?}w/;QKnBr<<{~"v\Y $89hIu4':.(.9O[Ma2/'Od+yywSiN;цҚVVKDݻ'T|˓GȺ gW>ylmEJD S#彌sX( }{w9Y:5OޕvrR5@~o:7LFm|x.*TSLia1Uˎ0ȴT*x^HՊT Pގm_~W" \i<wtWԎVuH\>ӝ>xqv'a:./(d 7 ƱQ:"6 s̙LQ/FzdA_ nkh:B'ytםQ0( j\ ?#ТDZ+`z}*jwTVx2fk  W]S2(s.T j^wW2j7UrTEy{x& Ѕ%SQ zR5ioXu홎ߘ N%5jJ(yY_O'_(ER~oLj@d,%)Z_my\X$CXJEtqt(^ ' ޻9qi xV}bT+DwrY##6uwX~HUy,Dzp>xwj-"i˂,2e*K}?+Yw83B @ь>n+^ SԜCKY}$ֆKN;zV΢S)gvX8žr1,{*;,%LsqR! C:,"2Zͽf.67GadyB,z/'x=gⳬ5OV{BAe^G8HH}Rʀh ي9nzIge\fT7C69逿U"c$X)€!wߒMtl㋠OB-2Q 2CR`?vElyK(C ;_?&lR+*QN4X, M~`}׌FWrZAYl|IaGH KiQgx ֝cQOY8q'{5aiڼ[i(DdOcYJ[-/|\|V8z*zh'ԅ5 .fS4F@YdDZMq>N~)~elj# Rf7PS~8O '岖C9 /$)U?ܜy `*X_'C1],|YHz𿜵߉(zL%i6l:.(]b<- KN:Pe]gpM9Ert.fє[8[{vC&lO` ̼F3qz.Q7w?!Gq3o.xHSdekYTx T4ժp䏣|YMs,pJRu ~<Ԁ#dNAuqMCvb"T(_xiq]:AD0<\ ; w:7@XT 7A=wЧ(̭<(tͤŇMW琅2L%)v 1@6(ыx=7*shF(}Q;2֊x$Q櫇͡dcqvaevl E!q%ݡVKUWx|1jj;4r j~Qإ"VK- 7PA}u{:J܄ Xe&m>r`#W-(G}UpAp%=gn% SGa?Ǿr&n҃Ȅ5""\0|L[< (sX$/Hlx7|> ΉiTE7E|[EkM'4%|EsL®sR&Lv S+fwLԏi"1aJXh Rmt{8J3ZJ@4{̌ܢtv*|nqS͐eA u3㉭r_+8[ߟ^>ny3[s?TI^>#ٶqe[2'lBݲʽa|ZZDž- C @غS]Q`G;ETj(7KMPfwnqZH R9+tϴ$Eҫ;x8`Q7XqhjM/E$zDvk4Ot{\%ױ܆7avhcv$ӹE"PƆ C^ڭQ+]@Y{ZpRp#po.ފu  \y@#.ɉ1'rI~dz.c6QJ2DVQSX4=<1npΞuq%_ymOZk?yLLYn9ٱݲ_hn[6 1Ueo?ӥ d7PS =;V*£aEI,,[x=>۫'4x&SQhŶ^z)_米OUƺk#NԾq5})*vu+FWHV$[Ϝʡ\Wz]o ιq(W/Ȫ Vю75F -919C =k4\ƞ_:?mJc~FURZcvzEωCH |Kݏ*cPBY3Ű& a8ox8'MѨ2[ճD#j]4qQHݑ۝k#.t$9T3H?։؛O+&sB+eQI&ij3J;_ ?9᤻B_&)҃}3@Oo'kRY"ηaSst)Z4y@󆳇diA@$3odgVQws笌vxV Opsv+s4ըL9 @$E*ek @!7aMrT 86ěԜ,EߨIHhUbDas@ p[:+zDd$0:=W\$z52)OFLaRyM*хr (,UI5GxzK)q!űZ"SÈl'd>l>~FC7l9Čm@ $+ 7_vC2}Oz<U zF)o6f;I&9rm_t*<Y};'VRӨ;XB4=GvrH5ȳ>Uy~w/' ^ )ĸ޲@SaW'u 5mRq6״92TګWpl_n9.d.K7*>Mӝ k*ޮּ)^Iɞ sdCC`'^s6_h3-WpCe6{7_mx8e AjWPQۻVT )6w/cxt., )D̆-r3ӑݡ.{&핌:tb O)Q 텷Q|וl4Bgu+OУ7v;뮶4i>@Z/|&P `4+@aP~KWF⺥XƑPG4$0_sUxI?ɜ}o@vܩo.NQw53rH JS58Ag=1I-?`w>+6~9{G n@,{s%EK3h;Ҋ%Nm_G'/~:^}^8%Nm(|Ee43z{8+n͚Rb#B(W&+\qsDO-K Xd(={Z"KvT(C`tUc#ӥ{Y{d x UXZ-aBV 3辵% vӠU\ ǒSfbszwImFz"ޝ44V "?3+|q8i؂ ^I!&Fl?Iw[?(?R3Q6 e;`o/THr+jMFP(5IcgQ3.C4(R Ď/ԜpP(W3#[ӛOOXKb4!r>k9-n̘, hMǯ&̄׆sjÖԞsyPijْ-G,޻ `sڢnmUEy~ϡ[6#מe/n#g= 0wߓ>VwCUC[Q6TGX< cDDN6W]՝ X^nf͟o.z@c-DWg(?WZc,i Am?VOًG5_GSW~f6G!* ܠе%'?o?=Z^ KxC]VU/ )yÍffqyƓD_dp>$:T ݭI y6Z 55d,@.2CJl~sehȤF.?ճWooTVf݆ejF90#4'[}N߽\)Q.}Wt\&Tg//ϟ74)F|2Irsv,2J(Q]r7<փr{yIm)9P =I,@)W]#<\Lyіy,ShtG,M! &LSi[rf-P lQ3-r=gkMRsN!x@#_OD:͓baG.CycI׉ ۨQ.ZqHkI>*ݝ:{qVkĉ&+}a P9"y.hP7MCc^8lgɗze|ɄtgN6e5-YRi[{Oue *ҫg 0 BIQlW}pI&em2+aGyg&H=ow8g4z3y6lCYq~3$0Bd_: 4j-=)LX#SLc 4b"ưXdcEdun7u?;* 2 )Jr j~q:;Aw) Ȭ D blpP{3kSO֋o;m P0*g+-,0tv—JGLg8_mi s]4+ڭxP^CttAyK)bSuy;1㙓7'V ?cJ0e u˿0$7Gz{'>S%LzѬ-yF4E:JfrY$PBt_ņKF"WXBHfviݽh!r6R]\X/"gtW h=&< w`'r/ݬJ2h<⋞."aM3wɉ5xFX9ZF :%ܒJ"wt}D1-0"qM?iԧ$p e1e*{n;muYxE f`1EHJ`\A#%5H} q"+ڽnb !>iKȗ@(sd:#ZEe9fi^&j:Wd_JM{g/f.jH 2M/]&ޑ/@H63b{olp~ %!tϩ!uR+aLh:vp@^ҏQeB2U$EC9By?L)-qKa"R2K'+nms'&Nx<٧Mm^m.1Q"K)ȔPIiiHT̿~N,29|"*$FGd{"cΎ'$4?Yh}J0_SGltU{,ٞJZw黿4tJd2.$O46|yԌiB}5uj2ɱ}FwJ69rĤ^-3>{֐ /iߔGmKjTBBp.Ea`8Ful6_Ξ1~sasY9s;Te 5DV K1qp#qA q˟ ,;@ܓHˁݙ~ujPLSr |hR|:6ZI'e}'65kfkT7TTdեQ,e~yN l*ǩWk37KI8@p{Av:q *^[JX0rw_F,jwl'r(ԑK?:QNxx(uRc 2y]i:)DE&b=bE.q%CHBA"HuAN sR}c\mBE3f.3M9pP[P>ҼRCR Ћ]U63reeZAR4:,EA1'\C gc:ҼDz|?HELb+sr\(a};pkvP } =H# Dq;5Y40&`aI|Fբ(R8kAF&Y,?գ&ݑYCΞv9+9kCQ(zY=669"p9{_A$cAh˪L;8M(׷s<JpoNP~gRE4[/Bc"m=~_??iV.G* < }6CɊcZEnE'Ěi&gl]Xpf2gN֭ȬO(1jY1iUs \zD)nCA4詅jy݇0[$P2s|d}KOIPmwx@D%χt|37Uӏ?y0Cʞ=fk4(:"a%Α,B*;<"E+AWϮ&ρCuKl͊I wR0-|kHӥ=hD_f/iFGhteCb.nw 7 vg*>{]~+]76Ze u=MgPw][|agUt|(R<_QU'߬hEu\MU+D /dZHV°8LJHwΰnGRp*U3!+b'e!.v!a 7nN@7*29 0.ֈ:):JnחCpu`#f?ew;ql"&ڐLm a*Ra%ې#@OoXPcx j@HTj`Q0L6Op 쥽|yH?lL8d2NO.KO;P))l>:rQ{}N< V j´XyT͆k&qM!x5@B"MՊՅ-9/8K2AqB8-YT>$Qډtr!^Ji ^P:iDGa/j^9b:ڜ!g 'T:x8 OyR@0ՑZ Z.l瑍Aso2_|S߱XSdCӠv {.boQpphZ0IGI3^!~^}cwE]C!b Q4Pt2^mK1rwAϔcpKW1B5jtg9Q2}q P0<F!<},$ן[(kdvq]- "ǃS$N:k2`QE` VzSt<;i(vaIxѫs9>_AtOETػ@e}QnEzGo|yBa)] 2M9{ƺai鯾bQM/ U7ҝʴt̯$bwWvv89h{Rp<8$BdMV^DТuƼñ~ bKr~^xĂK uukPYVPQaR7,Pbak'{"Pwh;n|'?f 3c-X%~&?ҳ^-G@YޙbSONuPv^(?o:r`Ǔs"HR}Qø|eQypFG^A-T)JFt呿 (nNP'|ԾtùǓ?zz\Pٌ`ٛ#mEJ5BZCPqe/-f ͫE-mFd"0"nҎu;ĸP%ThȈ `1HQ;#G{Hx\߉b?6D#X8`BR3cGNJ$4QjIn3aRQѭV׊zWQ=//L|Pd88x<?5*y\~KEH@8 ;sQSE&15t;hr} s*E9=RqmZ^]xGNQh2UɆD)IIzrwj}t ЍH=,} {`Y BiT+fuag*no W<9KwwLy ܺd즙0,l`En ͣ)YmslSg!42ůU1)Ԯb:.EVQ'?HT IczQ^ Q{4 f"S ~WkJl2;NzNRq Qk+gpih(ΟJZ/HRJh_yӏJ:M/ׯ,;Vvi>ٹTO,C)؇4w:HsşG(.@Th"r'bCsxHň瀄]+zgSF⡨BE@h)$LuXVS5݅od)0\Bdݰ>/һ8!ʹaz͢? @:G9,õ%x) DzzV=s~n's*Otxx $^X"OQ;ϷOfQO*f4ˆ(.ǍW/EuJ7U8o"&SL-NU$"W=vx:L9t¥V7 *5m@{pyx1B\~ ^٣gvr9 C.I ӃdyL=1EbxwΞ9.Z jbJ196f%ZE`J)EpKD:Q ,CM=`bwoƪY)j*2a=6~&YztE@^OxH"a#-q)/l[9o(ea͉i!%gV}Jm\*b?E%'^BhsIBCx͞c"@~xq< | #sαLW gdb` {8Ja2tFV5R%ӓ PѨ7"[FNu$Icg4 3ř"kd"E8wuuH3!d DN)R?p~LGE`~#s$X;'t[eWva7$w7ǥ4DcC:L== r  `[UiLa#nޒ|h;ӑsqO[(QCz&C99'vkO`<J R[1)Kk!l[zO(o;rh.YkuBj?KMףC1៵+%ꨁuDG]< q/]8@*; :HF~l|ȩ S\T="p E˴cR^ <{(֧!U ! 7Al"jN:5'"C+]3W5'kfd;)+T;xas T7 !!"@ $VFa11Pn .^V: y|8g}ZCqK)jnpC6,_0ZjGy&/hTt;;1y*S~_%a8[db5e"1|mƢ=z>Ex>yC߀6P/ [{lbMZiՁBTַҨVFL NPd*7*"j9N +Ef S9jҒ=%ʢ'*A,3k5Qy{DaGf}ڵm+=I_,xF9!(ʺI1 UU$W›XG9˾G ֣by;˛ͻ&g \hPHʭ&n~ m=c;dOL#% nCJwTF u_Cn~΅v-gu'N\KDGnǶgy,U 38[ 8EͺXK17.ʣ#MWf}~*8Jϙ !")29*exovT=V=c.%$M2;T~x;t}Ϸ8Ƴ8zY NO9i:"_8=mkxzHH2x\#2)^hxy1Q2{ER0:'B E2d|BDxv9}G0{\٢)33 x!KQ|>9 gmv;Ґ]LXW6 Lͫڮ% PbJqdA"AוYZ/CW}M5DIyebC~Mi{;Hi3R#~TB DeS18۹'yqgg bνh(EԂ3=z;LI:h9u}7돇etq.ƳMVLlxn Kjs8;`%%G .G' u3ՖN6<вe۔4E¯-j[Rഏ+/5j$+B`) ' Z1DFloE(ACɲ߁x2ly2r,]Ic,ѦR4r d̄6˔hr'4р}ĜVS|lk"i=O]n{[>h<ކ6dN4J"|]8jSIw;-TH>{Q~1l_!R1,t Pe-_WݡMX֨ E㩨BlN&D$s9'z#-{}GʜѲD%/S-qzsOۀV,yB؈x1y<7\ y:pP~&٬N>J"D"[oОE*k4(giVVDffcH=IrnXLqB_h!NHDK 阄COp52086U.yI jOSعGE,,^,iPA6e*@ƣA;HA !ح-lFPƔ$ܯ '>RBG e3PҧW%!ʍNG<6菝gf<IJ⿙Lm&D3&Ly}=JJԩ"a{rp ѹCYL 0ry2#'zq'U8PV`!Ld^f1sz~ry&DILe2=! acRQ[=r63=Bdc'i Wd45 “wm[ۨ 86 -$8\YG`?PHq?.HvUZ GE!ML67}?S\QBiM*7tQS', 8_Jk==ޕFjt3)V_lo.?< wu]JIZ*YсP@X<\ O^*} )8 iR2xps|XaRɑ9qp GIKICb=Ge[wM5*F۱jS H#SGr- Éqϛ'4TC:VI}ae7PAR=yI6Rjno7c ~FC|/TP6r&H̒sB: FJp`g<0ZϔP(n[:}@XqIxv8GFjҺQ\|s`oUﴲ4B0j8k,W; _+H;vn;f!r`ެPH|# T%,IDn ~u} a3 9xHދ:va D2ؒb@\Te[Wd[swI~7#}B^&2xpFۣByeGuTdèoWC@ Ie_ԴU,q=Z"L%=-=ݬwcJNhc_I؏M+mcrH fC S@yx;d6VkŒƢ"税BCy+īhJ l< p7MY_4M5Kl"[X,'^csa|?ݍNEӈL֑:]P$2ö5@|Ys&Dzt. Lf?a"9Q 2sq'J!ź*1+φKꐍͫ5:[ "֌ε q~9g@}fKߍ2 ͞ʚf(ˆ£[ez5j'9,cq `/.yukS8ڸ [9K_." _=1JXwp+r76Fxd%ՈʊBXp+֗bvh;ΊʛX)TedA߰yym.O^Hts\)$pŹ^xy wxxg )ċHJ`Dhq7b)C@H}d#$ɀ<))ߞYO+F"|n:S8K4ǟl>K_wi(n GZKҸN ߝ8[>sī:{-[Σ<2J%2l)/!g_Knui ڬg9]b F 9i!Uk8#>MKxVFf\0FW+E"g8TQt6V\hܣ8bҜ jgȆ4]vog$ uRE,t_udUsLpd&%_x(Oø?-TP~Z04KYȏG`OX{d@Eg0Bbr];nQ͗IFZ<),Ҝ\8 8 3DߢHُP𥲈PۊY iR3S Vt>Pg5"Yɧ$A^]oO"\Òm#=ws]A8#zBޒ򐕄`3c4S)l:Wh&#wB](Y9T@*r\ﻛ9邶F0[(7SDеۊ'f/"~F%n6GvgЀ~+pvc)K-Xxs=] C5haxf9tFAj㈂b~ۉET<X9dVOTow̗C,p?mXB/UWfL@ Q V l0x6kԔ+RefYd oZ,t!%6Da$De:p"zg5QVpለQWX0e7R(2ÉS&<Ӏ{7cs.qgÇ!xY~6S~G}C.E8-LGd&ݔ.Ţ02YQj!-JKB\Z<<li+k:kr/d'ES muF2׈Ƨ 9~y}uH1-t*f}6^-IDiF) Ѻ|b^, rͱX"^zYQ+8 1>J"&dNS!m5:hZ2ǼE/3g>ʼyTlN`1Q`bd'+lBdC!0k3p  4U Qö,"tWٍqbŗȮ ) R'ٿRbvf:x~2 XQFVur +rYmW}})tFّŴBgI',斌eS@rh;M啖BF E /k1l^cll‹%;)k[͈md/2Cƌ̞JEk 9JC?T=!P/w*%u()Ùa!PIw,z ,3 $Y11L,+JZz 3;W<,$ 騞W@٢mG~RE]YG=+Gsssz,_u>UR;znRmcU#yI}$+:އ$% j4K*PsX_x۝uM,̉DM:ϥ2?KjJ3Gdu=oK-1jZN=қ.s~=Fl'|UBi#j!ѹӐ{ cOUJv"Y!43▖1 "DWfUd<@|'>3=U%H(QPE,L)/ꎧZnDquc4z( CwdbmԓwW~$ ށ nA UG(TM8+>PZٝ:w9L7 .L4Ǥ<ܡPb!Cz8Q0WUtE8̌sbYFNF35Ѧ1p 7!ƾntY|VG>J*T) 6:7gj/D6 ۽0[o.xaUjNJ^'#;x50Í{_Fnܸ?Qd8~EG}V{;_;D;YXEʼ( h^HF?^墎eMK?yF8A)H Y\u OG6&_4a"!N>Q4vNGԻ#kO435u_#-)KՎE#y|\nB" ΡR/D,e0~N<\=}cz0Ʌ5GSZ*D0/qɪ!ɉ̸+X#P(2LzzOB}}kψxB- ;2fkmn#;HkN Ň-4@uTj|X8y!#I~="aC4ǡ(hx .PcS#}!j.xNг +ٓL'P:lh' oaQBi( VMy(Zjg$b2rYM?" d%5cGI# S7:D #F1 Ӛ٩ʔߐ V.M{Rn:~sfwޮiϰdr.*ʈFYTv eI?/?4ӳmE.uS_q!}F秵eaAj£,O}ǩ9E4w&!Z=F;䚡 Blf ޙv^8|i{?w@1ѵ82T`q+ܯ@;2O7Η#T-3\a38aܲE6O&!͏Em@m6GSBC `7`qR%qh}&j?,MTdԽ)41m-LnRJ ;}W/͋6iSĖQf 3B rYe3nC _fe:yxa`zrIY$1W dِJLͪ@#ݡqMН\$$rkI)i܌_Jm{IԪ#'\^1Ƚ2u,|Z3 `群KQIj%v}98Vb{qeqs3UĄ;.GV;%0ّ olv[zvGr5;RŻ_) r]cċ9Vg{bLjԅ˳*<<#{cvԘosӵ۾h62¢D[HK:жfL(`LYx3qOcD9#ބ?Z6|=ڑse5#*7%MRkH}qoܫ>8~ O+l svs2Ihp؏W+WūGIkyFG08v?ՃHTÉ ͟,R<*rޮehzUDS<$z {APK-enoY]h󙆹Abb G)Cv3(0_qc#'?84%GZ Y,I X(_l"_bd&~gDEΎM$[v%3{ٿ'3,žN-(G5}i] ̔3Q N{% ,ڔjYj$iʆTGb=9 0$!x.oD5R}`HxC 3[bw6ڡ<^_v5{U<ݚ`Iqx~/al:ݳWlg9h2^p}d kL U Z\ߐ C'JMaq9#$JnC}wkܞ8ȜTq 4gKN}0<Ê-3# `LPIAOYQb"Qtw,͓\sab) ŨKCYo=O^_r=e9eP|{7RR’k8R]ѳ qF&.?)1!Zۏ̰Za{#8.;˚e0s0gt& t$ɠ7om\(לqOBQ~W|splM='5CB ZԮ:ģm[s [3QIX>tboV% >Ŋ%;`:jt@Gce{m$ԤbIDia "Y=٩:\K2JU*tZTc\"LYk`1c7ss8ڦHɑ"gb4, Ÿ  i>߮dczyL3; $J0W8Fe{҅,uaHdl= a\KhaabDv31.g̓NP:I3<`ëbɑ$\mdwXY%h,HPFΫ{~u vg!@J'U $1ArG uQh [AIa /)=-OGTؿ(c"U% : lYm )X7xg̩i+n9: W411x3ɓ8hN}Y]?vw`aV@6ffyw*E bȲj+#6OŨ\l}a'ED&KC2Jb?vÛSQ1B# WΘ7d k>Td׀Zu@.+3&9yl=R mDa|AxYm9ypTJpxYP %c~M.S0r^&>#`ap՚ |Q|dlKwۿʯ&ʠ,zф`owYWs+DRfH0)6_RL=& )~^:GT{m o4myHf822U ?>*ceJ @'%)x.iJLC+9?devesıK1.sxjnkcQ}ʼnJyĤ7W/|wfO@)f/KDR+0NQ {ړ}'#;Poc' -® Y)!Q>{( p. H=WΩc$[>scNT.|.e>l,Wf򸌉>,{.67JI*+-o&[n\[:O8O2Y qlYƏk5qPJ[/ސik|@K0ʤ,!т><֏ӝm(/"Ж蜠Ϥ5q_K$ԘS8 px2zC΢ۇP+ȫ R?GӾG-%#琖m4m|.sG$9˫?d{dO`.4X*H'lZ1 eJ3L۰I'oEjJD3ق;|05:qYDr:(W׫ؽq:*e| M9kG!(Ii; bXz͑Qƈmb:u»gC}o>@+0[ݸDD8pȖnf >oAƑoWT+ࡣT>qaAW\ITTrgOLLYXF/D|2x4,J+j]*Z4%'3I vuB fŶ/*Ćmvx32ex`xؐT7^&Cwg4!}LZHUG:'Tqq(j?xPPZ/o ;FKvP i{;?<[h< u<%^q0m$pp%=ݳ"{a1l-s4VxͅVjnןQ@:f7>ȶtp_Y?*AJs")"KnLE،'6/}ԛ5{O^l,vɫElc0\~'篺~X{[ vlpo ]%o4gF%1~o ud+^b&^~媳N!r֙C1d0P(% ۙ>?Pmdwsj f64?HEfV⬒_Y4#iP"(fx?X\Í`#0;WGJeSW@FP}Xyqr?w+Fh<T%Hv'%D8E?}ڿCD8I%QH%%<I,Xi'eR8T e ;I&"cΆT#Y%Fv÷ͱÞ:Ac2M<_c<>0rx_*۵T [C2Q!6˕ i6~(0ɧSZ&Rd/_kaJ[OJj8o8ۈw'9wZl0H(-v [Im–L\!#g9ˤ.# t}y%6~X$UBp~$=~>5nyQ`&տt؀qEFu3K匦QvqsrTŰ,MI1)dZJ\_Cx?HAYyr!%ff'&WJCE4k®\` //|9ַۇwcE7ma ]RQ§#)96.v91\ͼI}WGE/ VS{2դ}+RlsPokj̅VA X=F`-aqxWOpF'M VM >GPbfNk©$s"+'# z@g%ϴZRܬwXMU-eU6GLҨN-,I>j/Mdҙ>Rc@miqZr_݋FCkͭU#x󷺕KFB#h.($us`mes+" b*ذ/r_ |8,0kȰP8zh-qJ_\kγTZؒ G{b$y=BJZrc4񖟭nV4SzHAVlNOo8_9qS#Vcu+aE(qLEpS#>K#h'Ml3u g69.-AY7zaHw=ABjfPݐ='Lb0\rO(N8 FJbaĝSvvXJ,"b`|@ZU˅ )-^^FƋ!u! wLm5jx^[n ֓lhy#^4#f= [}#E&ҶAoʩ7)M>>U8:h>|IǂnFCLv/%f^=6Rج2E#WDF p=Ӭőv.SWG#R,lna='|*8(H-I?>bD.)7"*l{=ͻPi $̨cZDVf/  ߿z;c8odZXߖ%3פ+K;5hm}nLcşŀOI*Σ]F÷MfUj 9Y؀.;xJJaqIVQmۧ9E\ IMD,`7]}~?\a^r@%RSMNsJd;sc+4Ҋp]?`@$m9O߆6$03\T$n6MȄR<5 R8)N8iqɈ= ;!{۩K]gX¬> 94 3"f871,=l?J^I{2g~DɅ`]Ж6TTiY\[Xd8Hi#;?{;N&XhhRgG*ix Wp6g(iuSTpxrHa|8(v6ϩQUI^vC\ fd>NQY:믋{΂Sb_̡K-尧/4C+ v%0^"H%_z3JBPF.Q6\,|Q+g.r=c'%)"C j}Lr0$\T@`䄼XY8@Ei1ܬ'BtᰴʃxxQW"cD! kI]LΈU g{i R8#ZYL1βL*qy> B:uH!RH jYLMxIUEg2/օ3kfL3Y|s, ;;ԞH_l)ݨI,;^P{J: ,\3POY}L{2I4lRQp8O7 0 +D?uCZv<GͨXvTRs'!)-2QJz\Yk# x5ʻz+T;i\#ĦiR!10jrl:͆"o+ Oo F,e|M9!وѯ[98na?pj)/ʐ}ԍIQҗdِ1"_uM7 z%/ǮxQZb%ulbXlh~ܾ/`>Ǿxq ߈֧Y}~Ԟ,(pc5[3V6w>iJ,'&t2cF>)61n=sح2vnZq"KPV-39f}s~7)_,(ve>_R㹜0Sm0|ius\$#ܭHrf8zI^P'ΖIg[Ѥ<1+S$8w}\?:ޒތ@xݴ58;G Z}q!4gґ|(} ~SE&. 5q$!4,5o+il/gFYܻ"qa=WANTbB] o9kZ*ɽ33d$;AHir,X{ LIS#FvUřu95 ͢Fǁ%XgKLleSZ`b+X l=))õnx [,R2dIl Ĵ&bC:ezZ0Q^ϜrZz+^'S XW+AB(*ᚩ/C2 Ȭw 8@Oue@iot~ij3"f;;9teV6rxlAO:0;RsY)W`^hy<< *"]h &8{YO 66 ɝ'aX4b'5nwld<6{}VK#|;@g,l7unLDZ`$ ࣥpFs~{u7[?a qi8)襤Ӌu&4!F $ovSd8Ў-rQ"Xo,'&VEzWd؋ mIUBK.dӆ4Lp8LI'Co+u,4g`xZ 0mBH-캈YGp+A%31P|aoez5s;$'|&E"UӈHTQ1:(dpջ6g e9-MЫw-H#'q6rv#Ԓq/Ty$qiqFnj"#3x@WJ/p|eϛ99BD%:Jaj80D0iXSㆳB- ´ϾnϓɚC1ڞ/ˏA9I3{6t5]`d4?ԢUb ,> G0-gTrU,~EHmgHxTa`[wmv5 )~yf77oDDKdqLdiW|kDKFP )X"0r,m WX~yrvUL~PiV\\gkfy Q cbc@^b 9EG1x!]㐰֖UrVXz ޅ z Vc~9[ᰥ\9P*'# F.6{f*0D䝥N-^q'CbcXeDeb\qǸf/rY akqN뎵 UG#tguE5mSL'<6iUH|tnbC?uo6 3|8N'kV{ґ:v@{{/CF/{{}xqxlũ&P|o-p GnS{7g\ ύMHHu3n#^\Gf;d])Ѿ$dCSԪP2itxY..Պ?:էe`& !3BleA4=Y傷ɱvm2u#ŵF<'?$2@{ѯ wͭl30D3u=j)`Y: V<=YCfL&JnJ#YȪ xVƺ3[t:;R'4%8(e+nΔ2G| |AbOj*gOJ?Y?X[9G(R$6I+N<{ n*Dz:)JEr/e$N4=6\cz.=Gt<X8$e&Eogdud?as g&)8kmbqvL|d G`hc"}(QQ[ZQGm/0 "R%*,8 aL^(qa5<XgRs$fNXOb 7Ӎ02HZtw{>R '/44͛T~mmO & $jY@2BɆ;X7W`AodC!3'sEGk}M(˜#qCLDal@5Hׅ(n 6( ?ƟN6; oED*NSg"Lfb =^#_AT|qVZ)C?1[ 9YX?_PŮ'-I]Ff0&e:^/qQ #YÜ3c{/b{}}TK/]I8-s:>vׁTQGDYfZd|wQL%zi#鉵" бO6_`ֆ~*@MXNKs l.ygg)&cZpK/ 8i#AXDOaonfttrAa$2=R ƥ#%R#3U,[@`y{~;6X/s7*/4Y\k LI !En5"=(lbwS"~kI-cg-OhB*)wW"mҤ5vYҺf>6zZ`GUz(@"R[wn/N%pX91hc3$ Y%cW|bñy%HVy&,/B G3>+xl:Ģy#&2N=f0qB\l$$'`*)) fKO.-D8~(셫F ɥqյ R$_=DyIԉ#dƍpԔь_h|YNjғ׏6*,N")8LҤP,\{]^w'9f33FDYDzӾ=Ȏ/Dj4x!Y3lƸhyr3=>1Uv@MϞ)p2O6#HES@wO"cmZg(F-<\`_Ƹ:|YK-]>#7%Nx [+(Rэ ڿpRٶIHC}BwO G)Eq2,.)hM{'rR^nVzn5o$khMcjf?>>~cfE 3рZxMl`h>HOل?I+bBS 4ꁴ鿮7coxGh TgЫ>;MQrR"iX˒q)-H_cX9DH?l;I@,I_$(&:Vq dO]'`LYh@cJVHp{eo5`. o>_~pc^zi,dAdAQ2H1^noƇWly.0"9&M.MDFQ~~y o[\=9iԘph`'s$YQHN<:!}2;efz4Щݟ0'bQ'60Br5)X23oJ cɸƑu  c\ŕ]3w LpIXa՘"~/8o7y4w2B&D\BȆ6-gv<DIxfUұ> 646eDMď{gh!T"rȼ;}4e6.na }SgYDHϜI.倹fasa!߮Q-}BVvg`4b`ك2]bnxvOTzR_q6y-crKZk8*_ůLHG.:]fFQEǟ.B) e'R_KWDW$?m39?]YZV1ÜzAU~' s<1B륵 2[[CVH q'Xa0i;0JUtc+$qIH"M@8F[P*( W]{]+j73G="C'!-'Hw")dZR Slz .ʧ_%yQ)T@tnٮ$2*yU):F)b!=^kxljlM#L bft;vwF=瘤U:XΏL~+FeOɃȖaLH/Vk9:i?b]}O6?dGhFJ94"lgȢj!)7׈T44iB4\%OvR-0C L<Bґ @p !gAdOt, H])hYC5By;dIâޯe9;M1N{ Z%<Ѳ;N,+, OZ<(qPܫa;phƜ%qTaBCɬǥF'ȫ x D1ְq|' “ZƋWu9?S1H2 jfU"]lO1Ks+ x!K$)$9Ʊ z?o)qX(A JNQ@`_͈s02Yt0ax;bj! 3\߮rI=ĺ^ݏ916Kg*B#Ux[0ZzPb"#m,,aJ)D*/^˩]K> V<,8T:{ CiYkYireeМZK4p}֤!i<{;gLhTU^qe%K Ƭ|UM7 G #IP-Q)e#nx`-+}{HacvbNy4c" 4#]< s4T!"T]yad$ȱ2BCOp2gHψ~s>"F_,SHFxnEvK#[ϙr;"T7rWKqU 6K{͡MD1:#|D[7# p 6T *A|l-͔R5EiwPp_Rمs̢9" Ͽ*\rrd,K<!/e39sdUN(^03'ѮṧDU –?W`IhD"SMʣs8یĈ=LnӗGM L#=y*jeR u{K?6QB` YGoq|$pa~(+/VrsOf?|X[JԳҧk%x '᳟R~ڞp#, `]p\W_gyȆPs6~i%A8<8Ja~/쮟:g(7Gze+<@9Gk[-w7xZ6QQt"30B<ˊ%0gG"V;myN5 Dj SqxzJ=y];IY$ ,3,1L8_&R]YI.h?XnlmI͞§ ƍq|4|: TwlSS$G,Z +$Zڴj;|~⭳L+s#J{e jǚb"m y&h!U/p0wqfs^al plĮ)H{v<<L5q7MolN% &6̨Wl!&&tW+j mVRplw^V ̙Z"!T$-X돥{Z(@~^PTv(2 a砦[[6->Vo\0M&[z(ӿ>s ?@ f"/| VZ`=kW?Mk0:GE97]i _oWm=г{}:+<"%I6TE4&wR\K(o3= =\dMʦxX< * |C]Q8ZJ;K3{ƩV \=> #i WݥD¼)iZ8"V94xi#@-]r @$fdp:oG,a%Pb3@ȒJ8$klnﶜW԰pr3ᘔp.;""Bh[??H}/KJȹQ 4%;k&-ߜrrED;|5sn9YQ:$)xF0$WU_^ {@ 8LI.G%'H-8$]7Ek|>cc& B&Fl)~-)v;axNm۶IB8'eDRѴ;i =[ow@*i"'gcאxKɢD{[#QP kE=؄r/cQUq+Aea*{1o}VomֆV.=YUJbĜQvNLUiJA`1Րc8"| dʅ¸lI#g:gQ(,‡Շm NxD|XSg# % uL#yw Qm;kSDo)kJ\>wl8,V$Fgln(r3v>,oo,^L$+Ykވ"`gKϩ OL/9uVT+]g&)>lvꋎ  a 3iG`9~x}./^ڞSzWtRBpӲ)&"֙5y~jp04\Ţ#yqN{pwڰx|pDs%&s TjEO'=p3%® 2EL0FYL^nL4ILm3 qfa%Ι`Jq'tGD9q qr -$xYnLYI1?O"D#b(/QaaD6R0u'Ч%f{ʳX4SaVΏBkX(#AW9ZGh S7I>y$lw-f1d:'|'BrfI%sC}ˍpFfsH\q &wQCWV<-!< 8AsU"\'}0z܇vKepmdA]cz5XscHGDjal5MΤ~};=i&ēՑ=BY@Fܐ%]?pg JcBp c:8ecqdoy{eW&"[S6`OHY^1ƻznʀbD#aK [%,(z9Ь8~ÂZVmzca3wXh4Gή2q9T_nV 8Mdrr8N G ݢ^߼ߜw.&c!c. ͓q؄lcOdͱ4Nq2dm+q~G=7E<e8PNu5 &(o3RKڏ%rv-{Ĉ$fk13H&L5QSn&Ꜥ=~d?_ΔEʐOlLL5=EYqߜI5%04ZMئ{(q}Azkeq[سff Sv Fv,%~of|' /a9gt;Q:%8erƑ3$SU8|uQ+??3ۺuE'+W18軣*bO߇H' @hG,Jq뜘2?Rmo;aßk&I$sX$'|x8c,uag_4cLSgF>/GkPvx|Q9X}cϾay&VzWՊ+ƒӅ$6 bY odp_"\Je-a9&%;F&=S9LXc5`z>+W-A kEHJYhⲔs;<3b|tnURF}L*D`zcXVv5tt:ۆ`(9zD :8$v00OmN.!꘳ Oz0JcYfI$w_!tHI+d9<amlLAF'&(ǮUZb;֋ˋeB3"L2kzV8 ^fFϨG*!r W&YĊ!b'1f_zޮ?uSOi؋=^/7[.N}#l$Qf #UA"h .w(tԋ_d )-|z#%$hٗ>'<:)epk쪡n0Y]Վ=yd?d@Lb SQh;{*-U80X ꗧm4쮈l枨?cvcvYY8iKpnb.ɸ"gІWg-^p!.U%#lsWxw׌.?oN>ΆIEfW60p^z k77BF͙)G6WL0յ[:D'j@"A_ֳm%od6l}}?An"7zjp"d^%SP}=;Ybp(ȸ>%8[i#5 1FR 'u}^>%J&Y$8BuGi_$`=>RMB᤻ iJֿ|Jхaڭn&sLid`K|ȡNu I#6RPĈ#cgSix#yR""^qC!\Ms ǂ#rծIm$IԉLUT8܌HB$`gθ_'xw"ͤriyrn5̈,<4!Frilt5gܥ5q )/'G"lUk2̉XqSCg ҳX.-FN_("= =V#:ijP3QR=|' X ?H3ə%7l##[:FԬDѱt|$ dLq^]Rdor^%>?A)"} dj(zi ${)Ɲ^x*; vsT,)65uMj/A>UI1)2lvR@T 'wk !(B3@f191]_fAaw~ޡ*RZ̕ו1("dn9R+:){߾Xu \r0H=Lhǹ ea#ѶF)T=\syl4qҌTR*3U;I |"r =B–߾8T*i8cE^Y>Q,8A|j+w񑤙ZSYXgLd́ 'gutAء sggK@4:[V;)7!>d1fg(qG ˖M,ߝep %|urI 8_ݮ`m7L>JwS" gDIo&fG0sb`Utd!cn. ; YBI_'97N"Ӌ[ybUTQ (8_L<(*/v ;mgűf;1J ;.*L#+eooijB *{ č^##vemHg q> M20t9,sCkZ_^nW_8IZM2L&FgkB3ڞ:,peSZ %&D`7=@f`je>LA'š 'k3Ol>Ww:iϦL@]/MpNs䆶cn0HێM!"@WeS7}X%;|ݕR4B0a(a {yq)EF1q"9@df?qnȘsdDž"G&cdG9 TqDo{}xu]Sb '-婥)5L1Xs!z#ʓI&b0kEǛ~ޮ"ŽW;)rLRhrΓ)s,JĎ3q <);NQK#Aʸ%vWOUz^{dM(nT^42,ZJbIEj#b!X`UTN&rt@ Ol;Eo λǙ+׏gHP?,rl׬e>soi[%_&7sjǂ>apZCSV7{}l GfƉ?Y.JË;i!Saʈ G *sEHot8W,g"v3wV +@n,EI+"FM- x~JeaP hH`^YO$ G(-v,OSp~>mXqx 6\6Ổ-Ż߶M_62W, aƚa>`% &)h[<}d'ICz*e0d _Li m.6L}5Di їҥ>9 0j^ MLfA H9]K+?VQeq4XY/ȍIXܖ|D EB[͔0/Uüy!&͍rEt΄'# cq8V%@_zd_H'IN+@*LYSп$ժ-c屺|?IN;8M ZčbfL3\1Mxl͡˒פּk&(u_?#5YS,Hpq {Y ˭)5"mꁞe7> {o}JnN&QKF]gGkS],pvv 7uhoyE:<99 @wjhaF:pI(SW9p/{R_,sfN,S QZ'ov T!c]*Iqt$n>[0\X^]]u5^ Et4" #CA*fe^c]#elolf'⒅0=#>OقgLhgCjhUC˿9⟬%9GXJ,f.QŜP~^=rD*0[ґyC6QԦvb^a%v٘Пw`YIKqb I%0'|?FO,]x\x<1 `Ma-RS9F2<5no7®7bƱyˆpq0n~cLi#YAy+t/ګ !( C-5 neYj2VJo~}x`G/PlHff2FFž` ϖ'8]~e鈠"OF:FˆAku.kǓlo 8p9NCZ|-a/^\dQ5,0Z(tJmb%yl2@﯒晕${ 7_lq8%w 9ݡzE>=8 -3gXS^#Vu6S7%/`py DZ% hO @!:dޮ%? u$1y 7IX~Re9Vi8r6aUdfn$ aP T.]@yrd 7DvF.rhiuui5ʨ.= ` g|zV<'K`]b{8~3]#>%5BxR_ZGf2B<&|yiUUP57z=f73"^7Ɇ,^( N!GB f_X [ uQjXuf1ъنi Y=,ٜ-Nw<5XQpKȣ55څvLhOqג )b,G XP]'ϛ8JgCYt$f87|3qNJO-ʓ͑ :/(3stÏphJARx{ѭa"8eFج#$Lal/iJa%]%aD@ccjPbYz.^{LmG/Zx7^l ypZ/ W*teGu( xfsPF" axV}!{:B35(ƮiV [s2-⨢ i? uNwe&=Ke֣L,^ÏW."SZ " Lß`z6חJ﮷;X3rMJP+t.895Snɝ>ȇe2^숷k D '`XcQ6? xH~?#a+|Qae D,oC7$׷T7Má$ 3WHB3qN͜⤓Mf]vIᔥn8`K:'醫8o-"Qq=Fq4H=Һ !͑sGH`RV#%89* 9G$Aӹ?89i6ᇛdR} )kǤgxpD9wkYO0_R-1݁`u=kD׌e_طOQȆ$f670 4( 3SAqFG® 0 @6Z>fg< >ݜK(MnF 4(J,]i5&V86R .dlILC/R1rLnC?;SD^!Cvu}=gs$V+3@~R3zACs<61D惝 H2l>Pp0Jn"m'!wĕE`R# Z˜Yg:Qf!c8vlZBWwX24X#=_ZIųW{Q^o$ p8@a̫e ['XE@&ojH?dq\:: }q2p_GI+ BQÙ=bg||\}S=G6.gSJqkBG߿^}={H_Y7iƹ΁xV-9'gdd TV-&ۣ2?cCIo6'roQta>[pI@ gNϘxo[3Eq +\ě)VaSɦsj?,E76U)d 9sKRIM;=xfwJ&*`@4Ta6Xn}mpI% ~.}b1 9 {'4G3|@ wb& 9P(aC{l@ 5䥊Ԥ@d)l]t^!ʳDC꦳k#BD'lzЀVagTa}L j]%- > gܛ⼷; Y!@`0HM@j~Sg{/,d׻5*Hc X &le۳~3WVuH|LI7!] $! C7_8s"1GZ" LҼ㱶H@[2xzѕZ4e_#\lTV" gzz#1|n/vsRENYn$`Y|_qVv'+)pKˉ`V& aPpn1! ;hAϖ35T(ff->2M+$]C"@< H-9LVȥcH~#!hb/ s9I <"a\Sy3|hs3~b;T6334wZav{4h}Axa0R%I%qxҵaNl]V_L{<dž _=:'C:X]Xe%l臓N5Jb0ǃduph裻|k]Q j@GJթ|ô#oA4_O=6ŒD|"^'=)N7[.XthtY1 0izJm.?Qř9Hm˔1; k쀣VǟO3O?fJ68RYA*m/x< bH8iۯ̹LJ z׋x9U@ {Mʬ>r6d9yZ;'w,K?t"iTm@t4!䆷5jIrKȡ7Y҉ _:}pM&.F xByx3ciF}>}=__T zr.#\6uP)"8u8 #&AL`۬& ߞLixIR6vU„;L%ep88:L;}FޫhJ?fL}OI-,5# ˒JSxR,g=9߿ _={,Ȕ+pe3 =.~eXrx*=S xo,1vB~|A!ۭd1awyLYgܶjnz6$5|^HYLGʛO,ϝ"6u%eS4h qqGl& [ib0\H6N/o9!, ngo;dVeV,dCGx.^nW;jSfʈ 9X$R\M֢>39T1_E/k6ХRT`I0 7j M !_z4t3B<6:%,z`zVϪ3H,e[|K QB|j\xMOn`*I-nس6B5a&RQITI9Rj)_?tDŽFza/ppo-L |ܜ#'u-гGsЯ?g HO\՟lkJS@X}; כ>'9M9ޖSvl~즤C$LiXg40ȲA(ƛVfb2t.x 0͍`Lnke7Vx"4@ϷqL_g)qzhA:MsnckKHTvp@UKtH6;f/J(u*캞GF hlx5Gߺ^w}ᚐs+7Lj?€:>Jv2a̞$v^Y9&@yũ1H !eē.Hh8ӣVj9 '$zsǤK+dvlDDDyv&]>m7Wg3OIlYh' B= :d6`7{(OO,ۿuGE6rWqRm MW|;ɸy>̪rQDe'C:Jr`{GA}%T޽C $'꠱ imbFf:8ØMH%m.e9Δ q? >/sB e80@er-X7ׇӀr8N !!c2wOg{5,h޲C㒛K=LH-ּ8~K,-i5sFԥfgA}8[`RIk9bn>OgEI)Nf3|5+jo&Q׃{]X{"ݣU׍\lH#Z=@D}f& <$[`jjc6^܇OO8eR~sֆ l7}9eNi}\\ܐǚ)#7*> bW6 ͔c=md#^83$X\}1_?nF:;X5Tg^ *#/ O2dr͓鱎<6]3&S͔cEbv q5j}g썽jJWoߊ B%Y5&D6Q=*I8\|a6c+bHX)_>µ@Q 6}=H.X6(f*>GѮN.*]O/8Y} ͸&R3ys vd"ױX ` /8 2x+$6oLg7vR#%R GEOHWQ1{2 sʲ{$9 7 t`8g޷lfbT| WȦr(^g ٔ~H d;DըB&]W^pV}{ G`;8|-w~xڸmrLWkC*|r\V',P^kvOmc^KLэgSI IpH'*}^9p0Voe\[AH!s@C8Q) #B ZMeLR>ڱdwkl*d' g}S0rSSls3͎ۇ[nNcOeپvGŧ/ "QZd g5G)8 َMSݬY 8- 41Oi\nxHyT]9 @:V"1oʜ𮖖2buى $ QpQH-H|v;x_+N7s~g4 F#~Ć1G!!l$^ `҇_x}Q'_V#MW—Ib6o1yxQ5S mT1@MMF:aİ+lG`IͣF5!p~QdY篤~dyp-+!9ČeHqQoQvrAVL1̪#X=ㅺSvsmbV~MLL)j.3 *XV'j@1ȖFG XPDMҞM'xyD2l&ajF2rIR4 f@ NI,isL;SW*ZT~\ՎӜs-&g` G:)օQ:2'*pYr )|Cs{|Zk~cw"A?>'8/jXwKN!͎R*);/NӴL8U S0mFoNY+jpÑ`^nO'ʊzg**2:9 "GZ~snf*f'c""JHV4 |;jR]" kps.;"9rzČH_eQ纻cÊCثR$h*Eb7)ϰU85Wt`{ЌC: PزmT<¶}WIJG &r#Ŗ)k570gfRbx4u:zu9ƲTk^:^9vfZj> hf}wb/˝-l8Z3 )c)Ó xX8.vt$|))d!y(̫PgG ϬљMbyb0; ÐЂ74ʒۈrIҊwp-=HuYsΫT=I_pFT,{G-Qwa84IY =r]oAOGp?,dj?A ^kP: ˃_j7! Y@0ء ZzȖ |o6qG5nS Ĕ ɔ -jMK3;XG_z?z&CWq>0Z\yAHF?2gJenb4q%_&=VtcB͞(i1'sÛ]HEZ5K bL~@mLW_kU*U^* ֟zDB=_H~[ Evp2Y"fZ}z7Eӿ_Whqh2uf=Jg=juҧgq<q 'ӂQokڬ:a8v3S&uTfB&'k>/8 6NK|:I88yw2 o<ԋwEaheYRm+&L]^[sRigu6t.v^buέzmnsZ;^il`YԀVF76\Cxg[N61Q_)X`̉a %P?֛߬>ӕæ%l)SdP@2^zb@Xz`S87s%R F˓9P``t8'8y_Gm AS^>([a~>4OPI*ž :2j A&x]ji2̞pR%"dQ iԺbXg C+>zՓǽƦWn,%U-1E| ,jjɆޗ&0lx{- ĺlj&ӯ{Ebx۫S s8 &~$]$dJ/"=A㮽Me  @/b OfxR:J m!e'v8t+%@>~t{xsps?U^[ Cy0c zdT'`+U/Rڌ v3-cAP"QȦAOȡ$l,k`%@D̈́LvaHG&rX,%*@|Ԑ񌜝IlPk~O%G4IJu0ǯ{cWag>yKaҿ=Ad5.oxAЪ8MB>Q s1FLam5@igcWLε˼v*/(0hB-WӜspOs>KjHUUIKͭϥXC "ñ<r.|4; m*r3uX'DaM#r5q'8ZV hI`SY܀r 73YhR:ka䵼pJ!`:>޿1!ITX\<{9e T3g-teS8yKNDS9] ?։Em 5 6JV(?쿝N9EMn4&Q0ND̰Z=D->D\?L.3o kD&ovhj8gp$0* \$':j/0Tx~xrIY\EKue }sL__Yl߭xSu71R/OPbIdaiA T<,'˷R/A>E5mffxl4:ȅȞq^!i "Ԓ- %4SHΫ %Pٱ|΋Ӥ="<a^NcYuYO=*C20RF8 IҜ==L@Nh9^xk ߢ|?X"N8rZL'2F岁1(:`-8i4MڟlP<.h2Hc _G-d8*FjB [nV=WW3UpLͬ#f+'7 >+\B@R S6vR=y\\oaV*2H >HHb;abxV2PbDIqqu3Sg5*\eui1UDb3L0MgItCȹ vHK_V2_#&X  [zNIi3?P^gVÏlla!D&&̒ "}mapW@725SuI&$7JFv,J9wNhBWF ;%`\(&pt00ën]LSON/^a Μ˒ZYyS!ͯol+_aYc=g-ܱT Grdd(@_ݵR?"b;q%%!UXdY۬ks_6WBt*EX!Wg:S&(z $S $^8P@U''Xxq_6ϙ>*qi48KMQ5vH21L?;IE9B˂)r 83? . LP#8YzӉ7'c>B_ͧᰰ%p)'GVa3%Who_.~2{~f%g l-~Yw,/W*U+ JԁεԢ@c/x7 nXe= Y<0$61|? U;^A(i|X ۑ4]?T! nîaO&r=*.K|g84).';Lffn&yppWLֳ8;jqk` 〷M>/ ˜Riu%ƂR- B3U$ie 1{Viu%\_|杸2Vګrfù"J/)E%5B|~ XE验`*FeӀq痂HMG80˓AuCd"zz腊 Q- {ӑk5j\d.q13.I,ixE[*`n7fw;H21!l[ZK0jw(9uv&VZJɅ"ؑ]^]+͗V\+Q:FHR!n?/d:=2c3Fsfc^DA@* B\i Z! v :>0}29!xX 3`*z}uRv5f[M{ +)R6POOT fyu!ܓi5Ο0KJlc.f,S<&C CޭEJ86)8Mm$N+p)ȷk;dW gU~Jo2 9cD. Ym&XWX'^ ?q Z8JBex60L3kVSĸwESG\lBT(^rMVe4QE9y1.[fF-59%rpGXAiY{tS00ߝ.,}J0&Dҥ& XO (LɻҞHIbO%:,d猑†.Wɛ=}Nos}}hI.d>\>sV3~ pϩMyi_K4*3á΍_ W鳑f#j_v2]{s*x ֥GHYʦR]8bۈkwiNCްNoJ^PX*KK g|Z҄ "~4\$xӲ[c#j&Obn[ '$컦IvMϓb ɐ8ev9;c9+lfFF-:d:vpvaG'Z&=j(r+Nx$m"Ǚm #GꠠCr9UJsf[7 jDU0Ibfj{MY`i:U)-c'Io0x* )}A%Dj]zrɰ_ ah|0@ H>J=6XPJj!"⁵E=\auD$)碥 pX+ {ۙT4{Gf)5r+Q)  6%!,× MQO$eVW*s6ZJ O$u-YďLM+iWxjĤ@zYwdāt v n0Cy{\tm RqRf%q$5I2\Sem4I#\&  8&)Ջy\@9B9߈d?x*5; j +i$lwWSH/CD:Q=u>Ȉ~aWY:sBS/v?>[ -L~yr7.dm#w.CJkpix/^x&pny xGlgbB}9?j8u2J0 dè@zJZ"t}.wԉ} Ls.ִ^;eaTiI*C 8egDطZ޼| H Q1D` uL$\vAX]mΚ"~ _)ccDjRbXN53бcsSL/$c vjTU0R|%OPHSaǨ68'0u8Ѫƺ}EPD|+ߤش$v?CTd+B 2NsJ ;}+{lvI*xJQpna jAEĒӇWi7>ov,WL{ld-2$pΤqf?(w{*ۿ D9j靜$3ME , nx.vB(1ISg Ơx/Z$\#90gDZZ4k ^S΍,NKAWl>ϫrH2)I># >^ j~ gW4&&94D:9Nq@jMn,~&0߯J]VÏ맅@5ZRT_I7ܷ0l2`X,1ݠB͚}IXC:ޟ5[r;sCv8 mIIY*@KGE3J2h`晣JsOD_xpMZ&H) *gEۛCLbq8M'Oﺣ Yٰf(‹r`jّX4v/uq68{8|QXp\2yi+`igQ,hNeSkLfqBl3??tśULgp55$Ə͂I$@Эg³2)g46rōypx,j}$\ 4L xWb3Ҁʜ*qdCnFc`Jߴl]oeͼ1{~ŤYYֶjUQ\6wz~Y.ؕ˸ [8 C}jTp "ɚ+T=0< ooX0s05FvȒOwa~m_a! &J=INjpx{C}=(:%`/QaIQ ef f : PWL3s1쒙$$Ni^uGg<̚V2,5٥#W<0OuN0I./)T]3 ?:pE-rq)>/e(in.SyO{`pB[PR/E_Eجqº4v$ A&5v{C5gӌEm ">*&N.Cgf+Cx Lɟ&FQz?8=Oi^x."6Df! (KoE, 9&ԌWխ1 {էv ଀oZ,XZ`kWuݺ5L 4\3j3T@iR=><2;V1ҹҊD"L49mRxLC:>.g=K܄}WMlrF(j5rڝNЃ|쀘!yB, a &>%P|PdYٚ⯈"< `Ie87[wF6+zOX(,d*a;;@ڣpV׏LxgYf }y&ʒ-~\_]%gsXbFéD힂uAgsy* ɜȪ#pWsDZ^z!G3& !gɈx)J( # пEƷ1ٜkz9R4G38}_FsZ Hy5)dfJϤxl-n#4dg$c7.,`XJuiŽIXs z֗,{8:p`HJIYKM9,5+$ )A|0UOTbɳsaMpQOg.j%\e{-$ph x稁92wf;Cל:ҴUD$@#4 K}Saۋ06缉ij|CHLJo,NovHz!c$*)^#}Xs֪B%`S3K19iGKb?&ݔ3 Yc~ΩL9χWiݦ|3&'9PZ}=ՉX=L>C̘Lv젩8RHŸ4 B̖4*ǁ$x" Zm(}K>oOt( I=:` \h^^6gbzLsQ!,70S0S.?cޘq/TX-F֫ U3sdG3܊ 'N1N<7&wQ^B#ЭaoZǡ| .Lɴ]\3]nEVNvD!1(à\uUYfd%bvS@nb16GwGP.z\~#Sja *aYdÔ3{?{^37od-28&U" Q]oF4#8 &XCt^1Ix &[ٟ˒Iw-iwHǦYd2KDݸ&9KT%$*YU@LgP3DkmϬ̪g:<qq{Z+D=< ]ne%j} o"ߞcE +TK) ^9(ɢQ]M&lMj mOܵ&3,ygc+ԲMl٭WðЗ? KU$ElwHBá.6ȯ?("K,aD;YQ,VbϿ$;9[6^]}+[Zxg qS2-0y9^B吂!BL3°F͞acY|&1&eaӬL~q??헮sQ : <nq[Gt0L})Gt(B|,1Ϝ۟c*6q<_d 硷TW;i3fOA5h6Ya =>yu~l"mu9'Aˬ zZRNv>2ƙ ӨMZ\M4~4R\(iu?d ukޔ[PO=_)n>[2Ͽz6-np?]f{c܄ |x'S: N* c Ro^2!p-= XdW\nhר,d5?q2Y!1a-iH=OljޭK.\r&׍FF-b qI.s.]v|!95A^?_qx0M 4$zSe̋3ˢis=\H&Ã;J:&xBa-SlE{bnY/ŋP Tʚj1Fx=*{b ݱSvN]W0rPYs#/H%WA5zGqm(YtR[^X[xP|O\_좇)p{ą_ku0,>5B%eE`!lL?LJ`%L TV#'T)_TJy~ab<um7|:0<ONG;t(S4d qTyfZp(%9TK!@ɌmudLQ@c SH,ni}lܐ3%ve)!TdVv{~0 ?9BF3"#L(ǜő$9 g!!(יj6Y8nOȲ0[ŽڞFq'k)lQuDd'6z2HٷO;^Xȁ3r dx|jM g_7{q}z-5FY!MFٸ%0wR D$&0wLP,B䎿BX H?=b,@(MѵHV4W+PUj:L(KTtN321DM6VS !@;a!"\>.q;t{1ssy?A:O @`J;&)0H!6ʄkwXst$fw*{!Fd*v:ORM[NF&4vbMG ᣡ4ƸMD oՋbȻ\✱+`ǡ\ޯgu+-|:aJ_1E6PJӤD# 'y!NtsM]dǤZ[C#ņ5W9PVwD"]lЁ_h&3_ߐQِ?,6C`Q$HK~/~{!ι,ydžURyD* @Ir Yce5 },"̏K=b[H+i)M  &$fsf bv-/I626tTzVSd@O :wBS te;YTqy67.zܳ)*qeOB#5lꍱǒ80ݲq8yy9ڱEoRӶ }-Q6 civsffv&5"FIBjC|Vw[Xe y!2Vmm:'qޭyv$X8!`ks .6գ|#ى`E2l 'Fʬ`RD.AM~Zrj?kZ-4Gg2Gĸ-߇_n@YR?X쪨F+EQ,M# ҅2Q+]l)OjPLF2wkNnIF$? ~|J&BGvp#L#9?,CN8D& /Q0y}%ή݉Ǐg՞qåomՉz,/ER7cCW"^)DNғې-3W^ ?]__lp8\~89Z0DWͱAl׹FOӼbXa&QMȎ0Dv(#lN>MA08y_@$¥63uW __wχ^!9n3; X~ػ}xrXfKfѰKި;glW-5ð^{\8EDD3&RŲ|ѾfS?GHy.쿹MõY] iYۧkNU.MaABq9]^A;Ӝ$ܞa nKv_"cL"_Wb:[Ij?D:8ORPisUod5˙d3NNNX@3rEԒ)ךi VЀ } OQf ]R$/*pЁb^]W.VjtSZ)^>̦ԊXyd[Ϥ'3"#6襄90C:[$UE@\> qo1:HA(E=R#7ȅ>,NbaIRo t.I)U_b+_: wM>`SL='UD ML5-l**{G Iē؂aSNH8ÙEq=2KV+[ۄOݎ0L ea_~&ȣ!9–I^ddgmcn4kPc{kr|o3ؽpHpV3bSZϥ1OheфӲvNLKlhl9X4MUš!)jwJ4t̏WixX钸x"\k[1z&!'s?ʾЏ@Cn߶A j8+"Q8QʵΡid4~%Ϛ`wP\'u8eyMdH:3[\Nλfz1]|%=I|u=ј'?% :6CZmH#!A+?^P;-̸M,0CEѣz}}zNcN)ZV5Kjq[#0w6IW?\.3OT#Szlm<~y$§u'asYJmLI:Jbݡ܇oEQE$c^ F#Xr40zLG~w(g cvR_Ǭཿ^,~]%k͎D̃dI-yvC(FަrJIx>lnJşi#BYzۉS TeTL1誔F_d9o7L{)EkE7rot S=JJ6ˤ6DZu !;U!\ 4v= Ϧ r,hz3CIb#RkoՊC>>ʎvx^X[͈tB֋1,8EOT2 5mXSW R GXCqsOKolr GlgMI3C>2~GtjhiQIbS3x4KPi/@F]ߕIsȦf53yNq|C4ϡB# R`LY/(#2CL}/Hϻ-[d9V*0Y]U^3poG+'fӰRa CRwc!ߐY͈}|\ CΞkj3lTLqiNWQ}iNxFY\8P5Q RlzK).0$aޔmq<?,bafuH/h c5E#O7,+?m?W[^8[ȲghhI~=Khl$rߌMa|Z6UC;\I~}y PIjP"V94ûu>R4*Τn5ZSY>;[L"jZ>Y 2/[cCi$ݜѓ8m$1=}a1&>L CZgW.=w KL|'ql֙R.@*o9,SstEq|ہAs0rt8dӹeL[ofuyQ59fh\aa}evAFeH$}2ӓ*rI ?S @\_]:8&!xb R\ǝ9=\L?<~9qiF,aIȷLGHѥx߿f,Ϧ _LL],ܝG+I ڑI]GfVK 6?|וo PȞx< O9=QVbV"_\_nNfY+)mlld'722Z r2K&3c8Vup*rTld<ɻ|TnJV͌ fyYonn?3JDdQڇ6$xbԻ^11dzNo98_ ix_Y7fDu!e2:/ff*bjlK?ay&y ]ئ78a?X8^ő7|bEd)zE,zdXV1~МE,YcjF qxqiJ 2lU;$hEAש2;KUC*쒠+,LB7f+1j~ Ď^<) Yia^2m.Chж] s4s XVLp$뵜=L,qՋ+d}oӹr\/Nh3"seiDg\5dI;XbLւ~:oYx&Z&? MfOxV"1XaY?qsP6blNᐘy RYsa0c۳tQL#ሜgxɟOjnGCB)2?*<#NݾMi:DdLcJ!g8XU|\i4;ߧ*Df9+j)bK)уAcXre7g"$x(7_~7ɬ[G%BMvML%2y}2( _6w0̩jZQUjC1W[GYMJt#p?1kI^`EXuy"+(1%8P-{9{S$ ~r@ك&-ÑJ׏rϮ;88ȟ95 ml˙% F.rP)v[OzoYYd'Zr$ңђ A( dZ[&mqm;q(mSEpج?ؚL3PVAC~Ƕ^n?ojW>)ِ}MKËdC0,9Xt }{?o?շ\BC3e#oc^g.8f+329DeR%A1(˿S!i[ X Ul|ٹd3n@.&.2E]Ru@ $OBzv[Be ɯY#PҔ1n [_^N|ֱ4aˢ)ة0ь€mNFJ#4W{CA7bbn ~zKDX*aH+'M*X)TiIe ):f& &N$'l5Z<".; #"Hq(\Pj5ddlSPs>0N T[Wϡ[ ؆ B-i3'C$yc) OLM1ǘ*E83y\3,>i $E^AܡॴR> (D}-H40 #ѧ/R?d0J}|O9a* ?"A XV?"ujsz*?=lGVKo'b=,%"u/_-v7ky0wtkfzNEIdR}I!MV!5&TD+®3ZV,,zƮqtRًl;DH6e8Fþ7Z˱f)z,!$&d#aDPyQTe%IȆ"ؔ>U즩b  "2oV1ڥ#;S1bB$Q<{;86\|^QgXyĊdRϦpMSi7;~8iz$nThY(\=wӞL 'ɥ&V憃:K x!x7C Q(Dfl0$_s}Lp#Mq2 LُUp.&i-zoIVC&d &)/0CڋdCS{N NVs#@7ԀSRd*"0KITA&G_C$#+UQ#{ج0$t|KCZ#$Z\,"L=Ӣ3ءo;+ee)h2Փh=?߿"}g78Q&F $b"yLho-&GgMnrܜHR!dDz^DXruůrھ$={P 3d,M-q*`RdԞr%3X`%]ݪ3&7]6Lke+cU=q6Zsp}Izۍ%2N0^ЌH\< ^+Yw<)>Z'Vl i71??VmHvD/I Sm_.1ZOr@O~ ea`4.Q97T׉fbg`(K8؃M'>{Y,U'@k+A|bpB:YhZ Gd@C *s~J0I553m2rd$y~GJ 39Pm$\jOwߎAݓnM$,pL#h`$uJpyB'b*8,=0ϣDdL)^|"O,F:Fӱ偠a8r)l__>mk蛖FXtk֚aGJuǵ, sPX u\Nq%4Ԉx%ǰHInA"7ޓt:l`CA,| ĸRB _:p{YN%/C >'cL_QF32NNj0u^\ 5({bC 6/Ў: I@5: !2)~zٽbivn.N JԔAt$tqYNo?'ve΋L3*އ4=Za}]dzԯviE'i.-D6YP6f4iVmRJr(EX۫τ5Ghy rvDK0E.X&,^JP!~ @6և vI6n}כr8Uet/%&y |8?CtÛS:k*Y@q.URbwNȿ ''/([۫L<Ĺ t& oC|#ެv:)唩*<:Dn5T {eݵnz % 6aN,0Xd4}]]7<ʦdV5-3ŷ ]UkMU/2=ʰᎅ/Mu@p_D67kxJ"."6 186{Xs&v/=<_ln2IFDJا7#(:gyprʧ}8'wx^WV֏2h?O[ZX"* 0ak4 7"~<ݾuN-f Y/@ԅ9/WWOދz+1\ۂeNDjPElv[ C*N[z-%ő!'{w l!ُBGӦ=":NGh[$ kBdga,5h]BV*g -;ȭ 7%[2ZSڂG9I#!,fRE@*V+R L! ɆoôacZs; ~y~K"P7Ŝf6%'m ҥxZ4,%E1Xn,{U3v*r]W' $Ng ژ#|pHl.l5gt$r<&CV'Df )Fz/á]A"E(2;_oElP'R bo8&gĩZ Y6D22 %A|(^V@VUJ'O,Es- A,Syc/$02 !fYl^#*¿ӣ!c->.>LŮnŌˉ=00;~#wJZgG8@o#_ #5X%NXVLp V[GZJNJD<7-ff,Gt'-^Bݧ\pV )SLj(I781.G檮NY5eq&?pV9#>XUn/!|lz$AH̾dҒdG1xxcl0;&OfA@06'ݖ LsϤTc@@3/fKBBKYo6`Gh Y:Z/$_ 8Gv0pv|'vm?ϦCfv/89Q `ӈm?P»e=6E{4 0q tZr{JEQ%ʽVNpe8_m3r0~Փ<ND3,%wWtKHddGadL?;Vijs U?L{=[(gRʎjo&aNAύ,C =Ϛ:mO5>ˇfnsZ~>4>am,H2*!Y ةo8}@@>.'G 3%LBDJ=-N,34'$64e0T[i7SW6~>4"R\[^jzH‘$땉vcON0Ulq0nD $}*<#mlIqd2޹e+[Yl79ƵbcE~~q:x$72JU٧%M3}bV&2}u3>@UvVW8!!*pИp(sDh/ L&1QXO4OawZizɝqȑaʍ^z, wT=x8l%pmS $$Y1"}~{$f/2 59pgܝʪLApؽoHD:g4H [b~ _{yؿNn:UG 6fw8vxZΊ=a46L=iJ2glq?Vq9s3FlYe l)BN"LMOޟ GJK(\2ަGC. eb5KšL|mٹ>wǤ]e Ky G'#neRHr`;.'!S yI\{$ӒS"58 I4Hπ`~'7Z1=2$52lb ϫ$?$e>d"+&2+j`44RiYc>pʝe6w0!kP>c>X7|W-lq`T__;/g 7>9,YS1cAd~ousq{6\ p"sXھ6<[_nDZ75Hi\E+>iq:V[W_=GS7 wVKV^:\x?5"-wLdŌb X],SdAOlm5^I*SZxe q+kRSNL+=ΰw>2#DV9buZO,\cq:P>mQ~"$- ^Ñ'8]Dp=_.D}]/9k]T*HE*/e>;n{G2t eMp6$(糖nScTKal: .yh@I!yRݼmfJ Rأ̕s}v'rqEّ:$-J"| K tVS߿0"hT`ݲӖ.чqb߽a:ZRr#WDzgpjZI8BInVnI~;&(|J-&X`qUt=%)2pȈ`hCN6bA$/Tq`{h)gΌItt9Ҋ$O̜ 0sDŏF),@HdI[a:} Y <i,JsIʂ؛x?:Y$6hmzOoS".G6dF7k&pd*|㫯'}X*p{.+9b25)hx#YʳC͸ DTXAR:2xr h^!][_myNRA/'ceI S<6Nja~!n)U+F6\Pѭ6Kx^O,Fi9sԦp{q̟q ǿ*v> u}D {YT4P6bASrG-fDdrL$7UX: p ټڇDh̬9=-[G3 qwa(4t&ʊ2p03A U:/G>3O|Ϸ}|\=h*%f {x4Mo.-7"z)$ĈYA2qqA n1_#xxB m;U22A%h@ZO_y+;7arKE q+bVEbz#G*B @b\6#(e[,g7>w6,(EID _N "ԥutpv(Dzi`k鷽B8Zuq;}1Js~ײj3yi"enu& 0@[wg-?R' Z2q MqnwF]#~ )b{a7 Xl:u3]뙤*I4,+D.kLODJ{rzxbsij_',P7g umT:2?T lEF<9Ȭ ga"v/ww$3r{wr#El^:N<Î'+Zk4I 9L0saMsB &i?lg_k a'HMѐO% gA6Tr}z}wc&nl+Èp8EUʱP`>ׅ(M#Uaqs0ƛ{N{9%pRֆ}dKsj ^NK]Jïif?} =gh>g9iTpf'p_~=3J%fLF?}gzI vّdQ&?abA Bz |1#$l [yALXeYy^]Iʩtcf-4sf2t9ˇZ<8 3.nT^`߭9E*id;i~0LdgɅ49XoryNYSϓ6kf4!5J8"6z-i$x1I~!QkMD^̲;22>8/=T-K)1s)"iCh 8FGddvB4lVv]<-|yo&|NT<)cȿG%FEܹOh&Pvz4mj7$HfrʓKc'ӡ/Gʷ,_b,ꑭI6JɄ;o{B:k{=2ljj67܃/ ȚX-^/<Ϭe\*#6f9wle:#ZeYgk^3/cN9Kxq}Tf~iV&ȇu=@>>hQ#IfI1&x`iY1RชYZe5[o^* _A} i<{(/yUc]&p Oa.noEX-G0顯wELɅ;s,g6PlFs<pq8O^TY|5hOjjD4;"K1@{pkrwW(r  ;IQb=P<vcG|&}(;5Ed\"Cb*")z tZWxդERA$V@bPYVÒGpi泃vfu ϫfw&\6'OJ9xtq:~*8O6t.e^} &52OW(xL7[ o9I8y|4? ,2*SɑxiT2u'cm9dr`d(ilŽJgw >$1p"th$X.b̤e3PX>yL&nt;Inq-rHwo4I02+bmWB&T{9D q;' I .] Uu s7I?8cW_,_-^:F^f`ɪ/`HG]EǢ>+R  bW/},5N C\ě巫q5Ôb qDNY 3?o=쟨1^zge6$mhX?|'YUL?~R/8 zy\2DMYef#yV8&26wboRqX*aeTchZBX~? ;j2%́#HѷYdfiiPOw 3$r$eK6lɪ*'nv"иb7⤆p z<Bq"3{j. TU: W&æqC\،0@F҅GfR ;䘹ʌDzVf:Kg)ذwzEtЧaj^4 wss)q[ؗk+gj,a٠4׈}c~?J$Yrä_`>G!̊=0bnLk6|,ɡY]Mv`ʎkQWthsh/]XfK)Z6J6YoVs-\gs)_Hqy!b AQxU4* a|lKO Ag N{6_6H*)lV|K$tc>QgĻn%2[%298ʏ`^k%i<!hbEoa=54B ,ZP`_mNt'EaR'Pa)wHpjOJ6%1(0yо0*! VWEYIAoRV&EgF66-q!B^oo]WkiJzI&DHV(y3-p@$R]6ơv΋Q-FQ"jUM%u2<9q*˨=p}ekJ˞, J&YG|:WFF : זV vfH ɴv7lgA#]]}/-+lD9M,1ᓰh%=[ZΊ)QN ǎtΞ!19[Lt;,-f.3NL¼[ӔiSCFw5\jL%&KRJ?\\E{<(*cY8vHsC(_73շRܿ#YwwTZIx ƒۚJKv}Zv$Ĭ^b=˞R46uؤ2pt lA_E2pDj.v v08nul8'=foCg=Qb΀K- 0wqD'g@.6WE~X ߦXRLs d\ȅ\m?}?FLJ2|3+V2f&,#i] [_n37PCdPv!S-o B訉+,pmcwi5eu" #$a0wL /@Όvϯ{Iu !¿rKRm|5oq-ϩ>O\*j_ ^__rr 4wPɳњ!*L-q΀:MZ$_mku +)"@cB#+Q}Dz曻e>u)V g*-:|h\T'N3zMb߉4 ODtF'X'fԂ);qGlΈi,O2m)ho6u?pM;0Q،qMJG8+-b!,) &euU"̆ aj0]o~_-BzXX3@a״a ;efoXC>^tJ5<8=U&v`s^n߯mO:EzԘЅ1i馤5 {Sce;;H53l|BX |l\߮O [)biTArOb(Wegra5sC}%0ksV2ygBYw>hw䴹h8 86y/:D͍JYS ]+ !}VA26DPMVC!q֬"˒ QĂmNYh؂e/ͧ.&WW߫# IldζRU+FR7w#gE"un9dPwgՖuF+ٙ ,gިI r/zH:h:x_V.\-Z4N4Ŷ W!DBׯ?ͯ-o5o~{n_*~,~:iUB#ZVVʴՋ|sfXQ>i ƭmg7xMYT\f |ŰƑWn9Uv\1:Z ,Bb9ĦăZ>J4Mֆ}6㬂>þuuB.u^}^JAp՚ xKĪOl!$7|$ZT1&ٮf5 Z]ӪiD1ޣ)e}f? (s,s/'(g6 `˅uU,u񨗖BRYk8;Q!͍~F~5 9q;{ZðL^dg1+)3ǣ.Og?-ݿ~2<s Qtd|g . g} Ul|bdMÍˤ"EN}8F+=2qp\1`&"%DAe_XS#AKWv9ǣ&H;t2>4paq&tㄸ`rL0Y@o\Z垠sMx?L>ܮv@aR[jτ[`X&^ِj֌i zKl#nĂuH83߶K\n^}{XG8%XMO +)NN l8fl` p=S\!.pV_05>|/buǜ#`D ̉WH'¹LgBꤵ:QQ; cC#͢SeYZ 1?16ݼj&Q|%*qx۽e*QcR:ҾY*|D/Tꐲl/ԗ5q !"#=jAXғ 29 Q(q@2r|(+*oMT/|Pd-Y yY_јa2ص$F-QʕkLAb&ψ\,6.Uk5DI(\md}5sLSg)'=Ri!FG=;Yfi'j>?Qy8 ݗD|3,¸t2pvۭ09k[mz݅R6Pj'Pjh.ew ,?7*PdM3:om1*Pi⧪ H;6+ |RObg.mWOJdT*m;4pZ],E52B+Ϩ,8dLB9d|O5z ΀,hF@ 3%D=qf2ҩ%Ό* quE23 gA36;wNiTM²75MytFxn{۞u=NS4y[nNES*Ig' 炔ˣmη{r(c?у4i*M2(A1Y5bGpYR&sjd!#M!ZKL X^~ұ/8㔱sqnRU2߼h>b{*Wq}Y4^Bz9@S+SV8KH-hl6;`!w=z<],3^5Ctνs6n(OOqOLӷ[/_a 1#OVhU&5Iq)6w0=V`qL :^1Vi 1 _]Sn4xeֻ>*Z_e+̂vPP]J,ս,hTA~:t Jrbv\:Iф;@:|$p @h8$W6db^yG Җ8t6 ,.Aڠ9GZJrdّ/Wc>g?'B$yy'nA ¶bk<;[ܑoSHߟEltpx8ܞׁ̘U3?k:] a|FGK'0mwh=nR m9O(\gղ{г;[`|9],P9&H+3*^k~xo~v_LS<̅J] M@Kbx8l⧑jN,i~:ک(Y;)[XȹI:vmэϴ wY =4[^}0?ʢwKI5{vz6/g i.W8 pnROh6yV /~qy'`.M[c:Nd?˞Ol.llėv9 fb#|q(|łhd <ĬW&"lqL$ل1Y"4ZѺ1rhbX<1>Px8$:b\={%wnH%GPg3}>v'S*iŃycjMЙdY`,Cfӡ,efQ\l:ờ\sK?ޛ\By9nB}mޭ[q!y2Ys% ԑkӭ/7~qY2x?k3c'JI(1 u7t\h8 KL$B "&onOG9LԖ"ѢKKs$n ݻt_D(,pTPF@'9@jGD%VWLZ妽4D$%>٧ Qtu0P%6 Ph6SebYRBM_X@irjy7'cm~uJwC2St$݂şĺņ<Yz {`? ֮cKGn[3҉3SAw<]rR#ÑSKG kR9+'ħ, fhU rLnĈЊ6J3 9da]LagIrS2<1ڙEwn'r%*M&&4RsH#zNz0Q D6-D9z)G1r4O)-8S-,2΁Qm[NCP{+& OĆw0UVϼcdU5 "Ej|v梛#޿% GggFiDNj#1a3ۗ| Ŗ:ГkMb~9+jLKY/.5.&*yZ7^$WZ@#Bf0 Ra#"k=`a/=jbCmˢPID;Ss! ?_9Ƶ ow{j~#FBH@<8NUuylkTUX8kǞMRh;2gرA1/K&j= 0q4wy,(gEٰcF&Bv@ I8l"Ҟl2[l0yMbg*?E$c˫аK$=MyŁi-V5!T6B騤oo ŋO럸II&" 3NQD[ L@_ԀXiDf?TMx q tHk$ Ŏͨ >"K].`'rS7cY(Cٓ!ԣmRlÇݟ3c V&K %HE Y&xJڔ@4(eDe?ah; eX0,DQۉL{ΆFSH{1U2įe-IIO?lwT`O3`PI!`:k#QQPGT.Iz;3=`S&'n~9ޤraJ'ɱ#[WHȢ;/Ci=)GEX-Id J8 &/G4.y= !`43,cȞ'QLxܱQk(7;Gϒ00:8YLrf0YR'ia䣒ׂ1?m?wΦ5Xu.UnɱU"X"uDFrÇCz&2ߛbvqD$;й]c<-.6~&Q98G{(Q.א䶌Yr}eH!CAd,&o.Vԍ3#gbޏv"Lfz9'q<&4x;/Qjc!qIhVw@ JN"Q2HÔ♵rҢ!LR7LʊJ'rS9}le3i30Ԉ=g97Ģ|gzृj5* {%sa|V#k;O*iɘ%wOFx@JTKRЋOe.YB~[ŖK\Eڃkv#!f; W~g9 q6far$u.l&x׌û-{Lrl M7?=hK*9`%YEf^'rac %xl<yD?x OFV!8΍ 㜨[&uВ .׷ "N: {: Av}![ =ǁ,bk좱fK@b9LfczLd5F6ƀZ3a|ُ伤ֻSua#EI[> F[-)H2ŒLaH&j!Y,U˸ZzcGarb{Kh"v,gN)f+y[٥afB0L_vԻCqIaɕi9NU;s4د߮֒;p|Z@}7*"N}ҡ)ESpn7k!Y]_bˋߐ5Xffy|AIf[B6ܜﶗiϦrLHc[:+}AfDop7 ;N yBll @gv`iIvȋ-% >a6#h l[ s)pX@U`Dm}i {ZL5L29r&&)E&ғ'g[wsq"Ƕ (G.9 !]N}hNAf 8vޒ} &8RI Ԣ2(KMe/9v`B1%d U=m mOT^z`-Q=2:SfdoBĉo.Fj=xh7T)o'pqѓA.jjO z&K<iVȾ#pҦZp Y>Htdlx uLȲj㥬29`l?Y$lZ/a}`c/6n|?orb7 W{FD9@V4yF8/׼4}.qG8D8Q5pl{ft:鲦qoV9 /?K’ f bE@(-'ń#Y%fٶd+em\LMM牀 xHjCx[]!fO:b<#J*%渆cMdJTj %eTbRw,b^ֻ`!((Y|ؿK"@@GY,p Xӟoq. n&4:d &$NΜo'\_ǛOp;8g{w" 9<|_Vm8!Ef mFS$ZE7F'.2;(D*U۬R |i{?QǪdlxRm>r=ԗ<;fy~"hP _E=# VN(u)d-5=sՁ{g.Sl^?ָ}X 5p~|-x-}EBk*V)p*S(RM 9jq$& ]9yaӤ۱pU\Y?qXpP l(&bsv2U) ШQ`چZs$њ8I1%9F9JzkVI't[$?n.V?8(\5Idž-Q׀s=vxMgj8"XPt&UnY\>P4 ͒PX)x\5A8w$A yf_6S3g nj3!T*:E&Win.zzޓ+;zɳ91Lq"jf&-! gM@夝&J/3r s#Tݺ4kREl'2^䆼ۭi9GUԲ#o|#qa?&p [o4!+;AL14GO]и jYRȚ ^c5"I%`ݞڑl<ބ6q,jd4isBd2N59bCZΌiEjskE ϰT`*FXK*|| %&BFg9g ZLiI)$LiZ׿,`/`8h=-M٤#v$M\ uȋEk'EeiO)7:o32Hօ)=d=ElbΘV0=trхA]-[9ѱn5ᓼtyeuOeorr_Xo8om=cCx<݀ؿ\:mn٧d{ջ#D>oD=q‡lLaU4̉"0@{tv\ ̮Q|B Iu6B&Nn΀oشLJ1٨(ε -feKxi1Br޾}<(&[ښ|l ቱLn1ꛇʶ#lUq 26`OP Sff:YkI5.qH2;gI!ce[1m\d8okd׍#| Zq8ZGf[wlwsr측yaO&{xjk)9/& 8OdylBR\7v-8?R,`jنYz(ޟE H?{gr"d⋌fcgiv/IQH,@߈0.DC##Dh&Ɋ|4k7|eB&SND+4A̰G8yxV÷H+Z{7esٓA='PEx"0P)R+q#[%sp#𢼙PT`)P\8Zlo q !Ah*'uTpkWWRlE@3q@ 4/Ϣ8c22lU0?ңFVgs( ']>љj!˞ɻs8OPX 4&!fU'c~9WpDV֗9O-쪧4|=P( cn{qMGJ p#i(MzXhRp Ӿw8Au/% LewA1T?5eDI G[Z|[ꙣk#%YQJP (Q) V"c<ĵl D@Iꊃ-+O R6N@ȉ&]=}'hz4ꕄFhp} ?""f*c*'8|s_JsDvs{'!6>vL~JYgqCILPr5u~i>mX%lGOV"*١=ڏQW1~NC'ivW;gw9yIg4_.`H*1Mnsxa^ɂ~^, H2MuP0C#Y,7ǫN&)bh쥡B\8ylzq~LX`cTH$tu)lڞ+c|?W[zL5L}Pm54::ɇ۟Wo0pT;XO~bLrf2q%j =, 5Wqԭu8$wIOf@ qZwƲMKLX\O8k |=l 7muђ'#i12~J"ܩ$O,!Tf#[qE$$3jNr<|W\>՘+RHaI[&l:s}_Dbp~ߍ> >)˘fhHU9=0L8}sO>D+{3eșH ڔ2UǞc$bg>" wz+!c&#…m"B!JP?w@jL8$gte0"W' C;CFKݚ9b4 (+`,H&AI1'Cfs~;LtE~$ K<;Yv\zJ@BP UyQI6sd{¥ݪ85{~[)9?PKcQK_);LCOey!*G LdA5$5|m}+3ea[C:Ϯhq0/079$$MrJAE:@' 欸}PfE\O^1oD<蜕6d-*pbY [W7ǎ"-V_}!ՒM|ePنH-#6Ǣ+餚"p+S#%.$O6!yj4CO8I5 -Oś-2ıȭD0Ξ!λ);E&j CyPT:IJGy={veˣLȫ` ֙s@8,Dq qzN*Z=T[v1 Ys8F֩-,Jro(ܞ2  "ov9d#(l?ND+iIhPr9@O.iy[ݱdS$-de*iڔbQ! kYNsmaI4l,?Q4`.0O385e^ilMrVvuNA/?v9ғYߓj$UFˮևɱ9$\=zJ&"Yw?Η8;Lp#oDI:RNT؉_~iSК$)nTܐm-DJsDBtA PpB'oޜq;$ORQD T>V=tgK'pA l)QT-(@r}yi{yGIltf\:vaY@8lU8g@1xN7Irkykŏ3Q\6bfar` K^n߳<Մ`6qfJuIff dr |w}TbOS&4r2Nc4<5\3Ifʓ{t^mn$,~]}[}۫d9[z"=hΰ~LwنCp|lRF~6${Ì1bi;cak2}7bPqk8dc?/v=@ l4u$rfkmGh! LOZFk(3ūE5 ދ8˦m~9:PK&-6p%Ql8DYm`=@IBl'%`X E@Le_e=ޜM# E&Sabu}^\ahLH_FVo >!l6SNñ/#rP&ƙFB)QPEE_S;m}!Es^]dySbXOۮܐyulumb{;żT579˿n(F3X,wdN(^qF\^[jMGu\D,Z&lNSg#X5}=yLڀ_emqRP}ZFRŜ Z/S.R)&/IoJ9XZE@w2s ɸ$;#h,a -KSYDz>I=STA$rtlhęX'×^È7X),/%Zep<%B<6Qz]csj1 b?f8e EPy2}pa{kIfu1,hQf'BMcb.l84w>L9k⠉TZV!J L93 ۞^n>VBX"={=n$k,bn;M8hbyIZEiB"r{wpNE35!SaJ z伂$V u=?}kؿdnhUąE1}_O ʣgTwPL`V%iupR3M.!a)$qP-gi ֑x;S\"?JH_\?jo|wљG"0Ce]gy6~ .V'C Ⱦh]5NFa}"$=\T |}mƹ'CͲX~Ws&.{8)TQ(bq*4k Ga^_/7矞m l`I[#8ˉ0QDNHbiC+ PC&?Nu:Q R|yi/oHoFY&F+M,|VOxO#Ǒ)Ea % rޒ!nS0| Kqu&4:7F{&߃D@s([/T[%ѭV}%w.z=ؘ'"67>ck"v SsJ%$@[ Md-E \H_s$ƽ>jwy{zL}Y*bSM)CFuix .;>ygAxskc dI*c±ԙ&&L/ Icy$40J:PqCl (uɖHU?{WnhH 'lvăQdJ\`1Yz<)># clfOC?4VYJ#xzW9f _g?y&@rqD'\+d {5/i4' lSi:F (D5ErvhWqNwb?0I9AM0(Sח¹7pM3STJK_ulت\ ú+&Oiy(v](ϧ1$+=$e6y>ݢW>5DBbBF7BZ2F! ==e$%%H {>fI3e$bԑt"j`>o_SeEPI&دR5+?lo(3|В|kT=F*j( O0=7 ({=U55S@6Ƒ'm⨏w_9@Ud',p˝u?NsW*E%IFlX9j)6]J$_l BOֺfS&qY$5`Ŏ,R{~?>_fO&r2B&7K"ƚTniEvZy)M!~DTéJd1p)7”Hd{{-}PZ O;R2ST; [/؈ͭh q .BF.@08 y?Ϋ>Ur!Ta-aٷnȎM`O`udIwԒ2!إS3@a-vY~QIISrT6M9l0n*y놚oICBBȱt>$r=3\[L?a >c`'lxkȆQ$^!1+ܘa㹥kdbYoX`-߇BItu6Rpɒ>Q,ȥDTp|NmLh 5Re/BDx \ɏCCYp%LSC1JTmě <[MK.:0ʖLRi^={2.4O̱YRlC IYot,%n4Š̐I*Z_3śbuN7 G4J86T7""Osc Gfvu6I~09.+ m}y#C aP*iǥaU6T4ؼy!GxVз MSLe5㤓+MNj%oS3Z( qΕ3׀0hпoU?\Tz{@} >tiM2 KPI^L͸=*?zݪgXHpyD2B֤St[q>2_Ui6QhX6ϸMRN~^jkѬ_Ep1b ́ur!+̡ 䎙0l<&I^1:ǧ4ϧkW߼Sa&1vVByM\ prr-"GRF*?:Y=PЄA"3E4te)Bq``gӺv-߳ŒbL y~3T&5MWiVcV aOs|ar$}VAH׀hpW>>#eAe.}8Í*F=z~A eU=EU,9񯬝GP[k2~c <(glsWQ{I03vb([n'j1 i~)XQK}tt25pZ/Ykd2H]rVH v7$'C^׳s~v]|h̔AŖv tel.LJt ;㝛8A ! ɐLOT]8=۫؝*屲VٞژTP%zOcۇpsU$ْPJC!%:V˃T\ !Z]DGP: 'x3N%[гs_dm$:FXoic>RnyfN]^d( 3't8b5`8c:D̀Xd 3>^s!*vq6 DuW~BKWҹh4TCm!޺L0XL|FȳJ|Y LN'W9x$PCEtd~,),^]BhFcY\QdD:LŮ@2:h /X!idȔg,.YȑŌbyv\,zE]fLt~ַĎ (Gy WΩ nEb] \e$g3NOLG,/k}D^@1*sՙ~+îfx|- ࣞ;\՛x*f?DK剪cYQOfbp%"n_zTH}3UOY;S 2Wg,8\rJqB6m,#@bTfY* N/>?jKdR(쨛`;+ލK3jX%eOwyJW4>J p˘q LeR%ҁ k!hۮWTe(FRg`gXy*qNm:?!Lvu39[rNblUۦ P5p,^HJNظHIF @/*RAk $@CX ە6 Z{}F#Ib;dL~ݰ qju*Y*KKJqEF 6krn?=Njp.qXw"얠/uZ_(EtfφP?B> q8V6 C׻ zɤFA4(SOTFV8Io^ԑdMXlƈIC7[rMF@X0Ld>,HF0UɣՍ ﯼ~Lmk-T$$z:H$xHd 8k~t&dghYHs@lwF7$Faz3rFت7F*$6= į!Jv橵 Xp)]K Ō@}r0T%a5Į?[={Lu䩰o5\fsȹT D!r"idisvY- %D,n|ғÁۋF$YrGqOR#r )xEJ*E\FI+mcp짃o?v {먣 Łs SDEA4/Z ?j0ɯtMYs3~Lr0N'!R\_'C,S ʆ>HԴ%e|~k8y83Ǥ˙q<{Q@]C;-xs%rXY'R ȗZ I8g/tץ1YF*W_N f3y\3[͙vrD>zvG?nzQE2MNRt4<+TƳ%I;Xʔg3.v8)KҖ;mxΩ.ǁgYJHPm̳Yt]3\dՌ-*#REMS%("3U;HsN=/ *r.OP\82N,xnI3[z4fST?ω.bcfnEɆGA#5.TO+#:o/~ގjeEPώYx_|foeL+XU[I8]`9T'TBfue>}n% q,Xzd\/", '#cmfk7LxC6àeq㯿hP?.6 /߶ h)+1vfiC8T+pb&"w--5qw2d3 q d^@gUΎH]:{Pk\3bB.u1U HcfZ,s:'JO(lu*ru&Q^&5RvVc%*#$k2ľu½)QJؾ)=RՋDVR ֞;jDzpCO_ MsƯ/c9 ans'F +HzzdKZ8Y(sH3Y_ NHԩ:*uqf3 )iOpWqL`Ģ/?[j&ZfHbe8^>vEzCOIa6*+R9)bCC_ =n)g DL!fa+RsCip "o6’;Ww]&0+M]em-5 ~d~8Ĭ5F_1Uql{v;J?3XNƖȪ֬L+P4q.B1R|b8q4(aY=a[E08tI ]F|IakK]LBaG|PiaRl>1V( !|"Ga)fY"P!=;:_GFG!J7QM.8/ >yv@ُ$PǑIDE28.Joo%|>4%w(d?qxu8v2˫ϖ S +g<̞[ 7r"yPj.j1HV9I(etyTy8d7H8Qavo9bJM#{TL3I3lOcom@ m? ?͒N mWx9ԇ%'#g݉a,Zy24"k<_3k#g?Fy G)ݥHϼfN@7q!D8R~ƶQXz.8**\dκ ϕfl?d%lbtEkQLj2Up)jHD9 Wj~آW7ˑ 􏟤;ǯmqx?<mÓ^'7_&S6W^L)xL!Sڗ _Wf=qEJUJb\OGK78'^iNsR&}eWBvr8dD=_ʜnGvJԹWˋqO"kalAQ(ȟ/Vq7I0Min3oWNG>[m3* Kx7W|癣| }d- OZh$bHJ(jZ]) 1qR.\HቓQS1MsRN=>f0#5"-KłsA-VFl#5 mc޶ىctLyD5C!=#N/fϟ%#/^rY#"E>2{5_d҆îQ LIB|hs·f#_ERJ`NJ7ڰ8e5Z"+AA`^DN[ҕ%i4'',:un"OaVKFM g 0frqwtebSx" `}a)&5wʠ~al'C :LDBP{ lv2ab9R{6:?~p6@h8ؚtBc]^]ޯ?N?+pΎԌ]_gV>|eO/OfL栁9FY3k dj̉jx}@?y=cK7.kzàԢ;#,FťDpr$z։Bgr00IIz*!x͖)λ.N+20 θ&/Bl_ٷOŒDR(/ YrpouoIͮ2ԂC@\Dn=(o|+Z^]E,= \`egj9<Ea0&fY ϨiPh9K,[R{Q*~lEqjSaS{;bF)+TtǣrH Gҙe(+6Bg ?e/ݑ sX8Gf9rC ss/A,։8Ŗ20y)ٳzaGc<`2Di͙ڨpz姞EA(~@oL=.G>EḢ+3~&*\wc5ՕX@UV uL9{Q?ǝŸpnRHLqaI :ޒn˹/>̖$Il|*@ cvwvNa٪ E ]pp"sG0ZKHQ(A,BGYq[?{ZٍFr73-2AX˰Q㱬[ 8$K#9OA c { N]/8GZ 3Y2"/nj^z,'жwd䟲)2@a]L0Z`QÁ761: }9e=qb;vo, q0N@e*@əӥyEjt76;i!#>l~\>bgW '$b!9ad7RV=$kA, oDd8OrOho0a-m#DĪֈƪfx&BgK-.)Ml\l-X)b#tn%#-%Y6%aR߷7;Ex~ʳl`#HEg9) ooHμgnR>U5pj1Q7n7_froYO'F5\oP}=$;g)v85iLԃ(:D˃2J}$:AQ`,kX]aUm0NSD.Mn$ZJs׍ұ )'J$<dd~uVۛb.{F `@~Qft8[)uI^2F/7%+;lǪnD 0%R+{0fjTӔ9ݑ-OAJv+E|dڀyJE-q0-4~EYegG"ptzGJ~"uitwghH,\:ŜPjZ !JQN8[dGLtAAPSjxnv~--6`X9 -I2ץB&c100!ܬJxBgr,f_U.Wx9vV_n3ŭ)0xf8] 0e&@W-] Ki S}iv?apILC*;8|2P,(@@af@ˋYwy4!^ '0ȜRF7ʹ}$oݛF7Um  ,턛\ T/yPCG0"KUy}RЇ# LTsE(v**+Mj俍9pG犴9,_A $תk8 WNR|ga((=/ 2-ٺ~Aח" AB0yί#%UfbvuqgMAq6 Δi1CyQHRޮ9~ņ<`K);#alHO&\$2.kN,~3LN i&IlV$ݦ!U莟U8ٜ)MjS}<I,!.7T:5.iU`&i|(L=ytde($:,|Pe ы®3GW:wnHV4g1V,h>wq\;Q9-45Mr%*m,Bs4Te$7#C`s[Mxb\OF;3!"e[!q.T0%p gf#>S+ g3b,P &~f\_~$T(̂xiU5pAaɿV&TkV'3lFRa֯]aB!+؅we$'*x\*;M$X*C :ßI XLRāNF Wn?<O `'F!4O]+593^9myQ`=[@`ܩ{860uIDZԵL-T;JX?d`&*#;ňPd.w4 iPoI_bI7q)Կ>$4-R*DU3UfcWlZ GHiq:_K* @whQ<Ӎ:h};s*|Se`Nf36\bPOܥ}Wp9+ G ?  V[>;k dliv9ycɍ|UʾNfÎG~~ QmHVclLQ8Srii(ncÁ:N<#Yt!zNR}33oDZvA./֦l xx"&b)Ί4TrŽfi .^TOM(> ɰ`J;؄phލfF+=@7}xn^Ѱrh!8MR<_M6dމژN_1!dф.vⰥ$˜W>j4 X( V `GGA~=}F-hIVKl*%@IsXlMU0K'=3>ɫ;V޸&Y(%y{pחo #kV>b9{ ש?Қبw--_;C(Œ2e @@B?uttv-E2 !JO|se3=IQ:3Q&]eH_n(,{*ط}W6y?fs:j[OdѿQp5lܟS ZvqJVrd IAf#W ױt$"XQÁp:P) ,c<| D%RSfq3p؞uZXTx=;6bpg(ian[8|帇rc_2M!>d6sD=1%V֌ s[HU^ЈiGTIC Cv{K?rt`Vj1 V(AY@n A/9OU2aLd.o*l*e"|teRס;פKumje"I!Q9F3r wWJRԒd2hjd55zavo|ek<{` Ց䝍V] q@"ٶs6kDKiD%T$pyjO@ؒa7 wDLl>V2zӮzd]ЉrӄNrVgS8ȒSL:VcXOr&Qy*!)ґ;P<\?3։[hfC[4k0źrw@G 1[Vc2*{a5Ѧ,>!I;TfATøT=?R:!qkY`b|h(0sN!cDh"$C&+Cw?ho?(i_W8e ƻ5k¿<%=I0D!K  $ #BBO/@V, EFIln"Qsù!-z5oL3)|R{J*A k~^319V &uZ!N["t ?EK wL gҺ.D ęjS4~[27Ur.2m'=E vLn@"Wzf8qռ7dzxGNgQ[ BzjqzA0>{0}>SA1M*B'pnR8f|feG9,< 砥*@JعhD?A-R,F- q k{ܳ?g5N^SԲ]5܍%7Y:@7lLk"pfSGMFեdqjֲ!&*)ɵ$ꏸ{yKV9%YBf7Ɇ$47#һA$J(Hh=" Fg|[*SarLtK.cS) ܿ@Ιy.jt"gXdJw Drh$ 3bmd[1^Si!Hâ&FiɰJAu{Of!7)<UEnj1:=$3SZ%˪o]0 {OΞq6cygc"ҟ # nag( YDI7qwkEތ͜h#NE>1h<6YBI(w.9s}⢶"lyZ,8l$U.g;KY'j-ʼn(0sˬLfQ&H,4Tp:]2.2K=qfs& :k:E?4]χAd0xbje} C&ƅ~m|[tq&BľJYY>c}sлѡG՛~uen$gPsUc4\:~V}|d/?HxzO3iLx|R//i9ؖ 0iEe.%RLS!٫*Im\"5-8Al5iX{eyEw4,S{WNȘj)iEK&rN8Lo>?#m&6 FOc 3,>zsqQUChwk)?h`T5daCƗͣwnRTLxX~jo׌K=p;7k|H1a(-)(0Q2b=MPR$chaT8XCWm>Vh',19 4 \LV[V 1jy#DT,M䓾78qκ[GNemnEsdXQ RM%PWTW 15L8cG+bW#5-%f@~:Bgi縐#D'$ ?u6FRι6+a.Qfc k+@PNY|4 {NL$}$m"la|EA 2pGXM\b[P犙j|F[ȟHٯWaH6)#q)5D+CLoQlPdN:{ "ۥ\ȼn`yF*w spB|1tsib#z8o?fwpo+e:c`$ʛ|n6B):Zjwj.[jikN(ߘR("cǫݟǡᵰSoZY 3ZE@L; ~8yzޛ8,TTd 0XX۫=`8Q]>IƎ`ClNeI?9KԱ8džY@?kB #k$ս0>~u/i*[!TBӉ`pӚ X ]a~<&ي?,'4-Lzviv:NӛK_[lh dbL7@v+O4Y% \0 Gz4|N &EP![*;SS"62F0@5,SIԺ9foM%G0<9ACx}܈$y]|ZN@x~3p{cm >:n× )ӏ@ʁnʰ*r4Cx DRƩ6Xgէw,|强K-`HDfLy99 nmW6X ֠La#/Z(i~jWу CsMϓc< OVMZ6 碔ۮe4#N7|$NqZN鴤^O}/TN(VJ:#LKբDN0E\~z6C]1=rs !Hh3LD~f[%݈[!ƀR.LhXFZ&Mp t{ill͍$Δ"gKu6~x] 7Y5ѮyY3%@|lH=RÅj:y.vF䛦m\0/n$')\ld::|S®;v-Ʊr2lp::iA:J<Ѻfﲱ,ˠ&LƆW˜Łܲݽ[~,^A5| (mý4lފ3UDBzgN$70 hacs};XPSVb'BǦp #~y@~XA 1JaZ`Sj@WgL_"3S?HPۋzNR'*2.BxD-7? H&/;&NW&6Wy jy`׀#*< ı9V&Sa"r~EDwWk ؾ[++XdTCn00b$8g>st^=E`ؗu/zTLmFEYWdLbXE*؟[O_/ru^$( ~g3RO##}A]" ]eJzSDYke/'Qv,؊9*ΞG.o=Ie"*y&+i``{vP{~O6"Ocl$K᥌R6Qp[3&JђUui5Iٳ OsJi-.<+E~#HA?< [.;"ౢDpi-۲3teoX/#d,?ꆘϳ5zD{nݨut\߯P LjC$Y0wEm{)=C]Eol 9Frq jgNLn}8bJ! 2[i&qIk%#!ûb:AGUڟe>L7 Q1v>?z˅d Ɏn;+u 6Y3vToDT)tU g;`(33 KC(cY0ƆkX!c-qtЫ74I/yTn5tmMVunaw_(`bVYVjnry(T.=6+yli"a0K@yrRem((?|WA]q+VTdt@fYD7|'FS77k!䇒~^}y4, di*4\t>@ˬټ`2E8I1ŒY9RT&p7kXp~uBro&Ȅ Q; g3D3'.M2v$_/YcG-1 f@{~ljGܟ7tF~+,$'Bn]{ +QAR8HچUTLlWVtn:'Y7$uVtNms!fvG;}xaLzrjo.RY1DUlBdd &3z;Eozmӧ~ڟ܀~,-VIR;RNORKTRQpdؑrFT558C}J,gDg!ĝag`ij&,7oY*R"0F/ӄxC\om{vd6 ]R2Mm9{s^3lךI2N Z#єxSXE,9լ#HDUmdVIQrh  M=|mZtXyڒmR"[8 I~y, /h%>Q朵Jd`ǦQu:4F>tq`! Y[__dYagT YZ&=Eً&_ky;So5BLT^8yD4 Iedovw5(L(G6mKɌ,I\]kC9"j7U0'`S [H*"Z;>NGǎaVջbZan7=;`x8LPLdٍlv$ oNfwgo:G=ZSad= mb`~">>harڬ=+^v(1GN65͡L' ിi6H©H:'N\]|o"IƹYD5Σ D6\rtKP^o?vOT-Wk ΨEN$0 nb4%xxh,ń~8ٳ"I]'r$rw}{`\< 757M$"m K!D|\~}٤_3;٥NH~R098#E~}+_Fߊu~?%Y!e<5p_SOhVMb8ʲ7wl(y/]8"OxNnn7k6ݎsmK8nʰf[[/m#j | pEY|2r6+q:秉Ye!Aٝf#$F|5.`- vy p9 ^4݃c[=>kTPl{8z&l5D|` spqФ mJ8[gq7OO)_:\fRP+Q$T<-  at+IqBؘ0|w0N=ᤒy+eFGLZP(D:go , p ʷ&^[d#Gs)ŪPm4 0ۣXA 8:ɒĀS,gౖ9+"{6&aYD=ɑ0)F͟":Z"ihXrȊ0ff,qEjeDhgٰK{T|ZP Ѹh豍zns֩v%HC' %)Za8?O&82,i{yYd͈] )gAL1J^rao}vwq' ۸ ]9(@Ψ9#(A#Bj['D`%YitZYRr=+SEGu-fd҉Fyllt8~D N[*&k}̓/|R opwv7gLSgECW1kW˼swNzuϫj%^(88x8&y좽 zW^8y.15L$L"u 2FuvfjGFɾؙVH!":wן^ t A6sb +\.utDB mȑeOqIӓ{?_Zv$2QI3v r]Z'"y6a*[IvXf nGլ= ru+ѯK/KHBW6z[:q@*ZlcKJe ۉI#K Óx :Cfn'>@$۱O j.Sᓲp?|?nҜhq-'Џ,s&l ?uO;ἌYfI+y!+ 0'80P U>hU%M^92 e;~aw>6*,|OD8X+#q879NN ̞뙚>zoʎCKٙI8ڇ@+D62Jy6ˊa:/w֑/F#u"5_b :[(ϻoO m||2+C1+uS.8f7y^&ꂑ0aE-i G|1*P% 2+V!g21 cĠv}]!vkᜌ$-}oV# ܿNS8ć9r쩐G: HN}zC6#kN +8:2'U 0GʄuLr!Z/Ib>֐H)d c,Ά#2r'j˔\6Hܭ8cT2֝t!&sʑQȸSP]#W01"E[71&+M*^ӡ# Ff_'cb:Dc+f`}"uK9(T! _E:{Xތ+%L[01vQŁY]^|{'"cY`;5 @}x,SPkSj ce恽F!mr!9EzSNPHX?ۚj MR8Y?y~}T`8Vc%q%|P8:%#t 2tY;?sʗ5Z5aӰR3Uz.3lHM`щMV1~%峖lW,䉌:%L2BrSElgmHٰRgo87҅IɨN`YF, i?#f{⚁t8XbDעngd -Ns-1 SVRvoh.%t"di8oraY4jˏ ؎CgOJ spZ# $|BVsmЇ(}#>@E `s{?j᤯u!,giD !LZhy?*N:g*JlxƺIWB%;+ 2Wle\xS("F'ʤJ,fn䜏5܀fYTcY6r;kC("x9rIIM>ײ:C=6T۪x`/D`PEZO_i8MTdNimu㬐 &rHqm:PwkgD::I:&e+*P0PNT3w8FI g^JqG5N0:pEġcJ=V?D'Y]c9X Iz=>4t2lSL;B0޿Hwh2s/)N" >5{fk0]-1ݔuFڰ}8`U%x4,{R[NbRƂ"N /ʼn+^{-[RHqЫǯ̙WFCe>%XbAxqkeڲĽh!sxijSnNݹ~c[t@JJ\=Q囝PJllɄǤѡ)ߛq$ l+8rR0-/_AR*(#w&SiLF{nٳWTDp&UFtK^`Ki 訇yuKmjNwA'Oۨ4el>Q~ |qrsfjx?bC3u}YkC6"9lV2OŻ^'i'ق}[HxOϛI x0v $̀Zfz:~$Cʱ%I85'L+19P#0=QhnoIj^PwX`ľfs<8}+Rr*L(pX%+=&}W@ D ǰThWV]' fC08FQiƲaX1yt‡v󡏗L i&V4>ѷkjEpqcf`")J f#lH!#u6!܈`2Ϥ0NL%Piӈa'eب? gUdjbB)쐯;/Xy[EIqLnjh*'AZE{4 {߆SQtoW0#[?J^ Lz}s4oG$ˡ\2Ɲ$q00Vާw vbk{7=Q/I?ˤ}/.`jӛgI3JN\mlIvmVC&V0J֫Ds7~sz-`aZ_oYSZkYi}i8;rG~$Wz} & b/Bvp8/cե-kofNj|N8 R#Nn,%.$C938qjqxٌK,n,AZsāӇ 0 9ծ^_ = @xl;p2fRS$>eEvD$f;]sjF TZPk:afc[1H̴wM_V=)ɸ B2w1"2m/S/-(MRJBPb[X'޲|^AƏ˧ W z;F9$;OKDr{ZP*bteg(f&hʙ*hcpȂ; Pp̀},3B@Wp%Ͻ27{{>Ԅ%qU 'Zq$!LfT\ˮYBV.2޻\yH8s̍"!y1n\`mӱ*&Rcc"E&|93 7Ld(Xy ApC?8='0ɑsw c 6#Ԣ`I"cM]C<` ?lj8XZ3xN!ZRgC3z? axבʶt0rB&1%b$?\̥Vf?vI vG(be)O/?)u[ڕY#cɛMgxbS;3-!lUW[ӔԒ8pqU6a,V9PC$y5F=ٯ@Y.x˼\IߘS‰uNQO7?joegKcO{R!!s(HR3.??ic򩹔b,Qe;]'Meb`|2UvۊQ  392'13%-x)*D'*L҂oHO] `6qS J-uQi\_R;zV"AdZ.L2bAkI`*g߱Ri$ q+W" 8 R[Ў]G]}qjfҗ՛N9 "`xȟ/wˌUq ߎ=+L(b;Y8z `y @ p+$4 W)&'+{I:Ej+"Ȯy=#XdDc}z JUˬ^@|'k#EbIm-Tse=3\qH7(86ɲna~ߐ o/ gF T#]O]V! l4Q'gػ<|/rmr3.jYs͊JeH $Gyz%H9@yY{nJ֟g3ov#Qe$D#hk)g8IHl򁾖l8*{Y 0`8(>+SyDИ؆@2Slr&~FZx?^1ٶ)mqi8s+GE=P'|ܘBlFϦMWeU#%2bsXGP"CaabwdMy=o՜ iM~ ap2瑐kaWob)\+dm`O<=8΅wD0l1ϚOguf8$)M-jVȮ){55D[a4`* ^F2Ï=Dcr2fM3Zo'nxĎcNmWJH#~z %;AT>tHN|djd\A&x-o^~<ίY%zd@a?]׈"_2cQ!Kd>O\XL,i8g]c|f㐗=D ࡬XjV2I <'X\T|Ǚi8~ GJEy}Vv(:NlBL£CVV:lǿ7o B4fj 6Ԧ:dulpU^;;2$ѷj0& ڧ"Wfu^Sq} <Y8āDG𲜟Bl W^[N{gMlofc 'uEw;@}VƷTP0(Y-}͆1aBG'ZkAYb ܴY>w/C,UI F)0 |v}F7f0 8RKZ"^}\᳜/ݝB9 'iwFb!0d&)pu0э;D$!8K%(ޜ4LG8.-t_f»;7fQq֪J! l|UqxhzmiHf}ݝY թɫI$÷i0c<8jW/E܀(T!bdRLms?Dq8T$>""~0c'fE ̶0z0\SiHJ2\ #O! I'!{$=m.=?͑i" *!BKCfC>ILoC"V=LPOp?lCP IN1Ci8  P%53ealw}u=0ogg6a2b!d+dKWO(Q3BVs:{kv"4&裸dTP= \Uw#jlNKHGGo.{5v/0 ]&.i 4'5#0}AqxI'̈ϋ-PBOA _("XHc^< hj4?ְX"L|Xo>,TX-Y{f('xd~f)1XtQ3Z܉¢gX!E6' .Qȇ v(o[=+Qe5'&E,LX\qv7Գ3.XӚ > ex6"?fHD3"$a&\2;\ٹPp~q,YŐK,U<5H$ʕZI f)'}۫p%:[U9 ru"Oc4r>Z\TatfS61&Gh> rgF֑Cw8[B^0s$ Q O"<>KQ0"FEʬfi4_q'ka|!ҁq/fm/-"vBjhzݲjƱ r:2$2II .:Tg?]:~R**\i.?ÜczF+-ܭ?-N0dsQƀYJIOLҜ)m$%̴,LEI bKW>yoؐ8$M1,>[#6͉PGlb)?苆~m̾}]i`yXoQI+ù[\-a "tc-9s!q`5omcBxrZQlIѩʸk  05iI4QΗ\I\#Ng"z{7Uߋi>U?c1x,+u^%]e>bQg&TZD ߚ=d?OFsؔWA>]m/at .#ģ,8nxxp PaJvetBM#DYyogJEˈHw/( 9>D&8YQOhS%~(a $`:!XEfxpΔPG ^~Jܲ /`g6-NVkEHõfI,:R#J7E[ex\y bY٬$ 1pk=80VvVJǎ9iGtZg#,"xب+3@\Io_:9R{&Y`:ٓ=l_)mS04[.:4@1pKmFlGX_C5Q+Zk -%48úG|grl8,U "a zqSWG[t|<UfW<;Ŵm0W_o)rzٍwϘ *U{q8GR#X&\&:YGH#R{S"?(ABj[kS Y13ewǮ1<4Ԙe̒N:&r*|;^> GRCr&'}sq+VUrM W?$&H s`9|LïI4ϻ2$u[xղ6͜JSgtc7g/HNj/Lj{ࠐ8wl yh],ԮTbCv/J`ޫ@2u_Ʈs2b/o(2O;_eV|eOr󩝗;;;: *$,DZCgxAկL7>Mz'տ6N6>&k+;GmMW} NXHإTeJA9pfabcTUvK(1X\TNJsu3/fbp 'gY;[h$"NQȜgRֱm,7jx>[Xy}t@!S(}9W|[3|C D5Xʷu9\5??-ӇX_=5uCb31^\Muu8ftBb>>ϰhA\Ti0j"B \_XSp$o{]% vXYڷۉeqFne&~,lnړ=12YmwcrV+fjGxͪ<ڰ?QLix Yv!h6WS\r&JpƁ79`:'W<'flg5gHRQɋz"iWhN 0bp}U sq;vY (p\&L]H:L{| }\6I!c`avOIɳdpZO\o%*?lq$ Wmֈ\|^ n3p}28`)sn#tiLT/6wx H`Sd7Ъ)5m>CKI*nv &+-5HRLy6ykd&pRHI-3d<-Gƻ@a f6@H9HTu}I^Hv,= C)ɦB`7q~T'2aIzv8{~ɱPLGY,ǴQf}yZFp֯Xcf٢cJG!S4:xx(@:5G(q?XĢ*Nϋuw:h0!OéFn\O9cpj9Ĕq!x6KZ$N/wYgn(@NP͊CpNaYv}plz\GMT>)"鞴n$<޳7.h(boo//Ed@~xu{(g|F<ՙq4y?Ԕ0D^=I 7\c׊Ҧ(ֈۢcdh|ݎb~PbGgfto>Rٱ`\:YC`oP(I_Z^B=XHwM<9PI{BWyۼar:淯H!<"J `b ]eEx!KRCvq~{u8ٌEZH@78!81E08׶xQqu" kNd Pє_+.ON"=g݂f_Xi1XIQ+n>E7H[UGe[o0Wj mƿN;>3|U#{n4v,h֕2QO~8G&p9N2Qet}J0nMn :`gxC+lu 2N❒tz{qMeX6/҆潵bV ߐO\oZ -PG6&av9ElHNSTo.:_ܭtk6HLkU̢F.`iOzX(~НV3zܡMP<:%c,wH)wC o-ϗc;f| U?)6'3[hCwOyhV抍DJIZ"N9aa$9{/zG+|`Z84B)ht 4a\q{Jlz>PTuzbg&B}UF[gN܏_/Y[X^')3Bw-7P a;\FI_="X)}z}-SsV$2k> S"skѣxOZjP?= W v <: [ +ٛƟ# ( $v~w3ˑWox Y8\gxgdMG)SqSH;d )9hG vҖ֮Dv8 Ent/a(&Kp|`!'E\BelYg1>SFt3p]~LK棑mbN?o7v|&Mjf?L= 6r&M5% 3ixuE<4p)e]JksnHnJ\ -K-T?NQd멄I_ SVNQ÷_U]ct2UgNQβ ag_FS2G>6&Qg`-8 QƁơ!>0Vϛ| 1Hu^kE [Dvoj3ŒϦeFX(2 ]{%u+g@B`K`~<H6),BoK*s܍ WfҥFdNg p3N[Gak(e#ZM"<| @E 4jOk*D =Tކ6efDL E.GHDqeMTL 1*c&?B$zLm8"8 / 7k%r EkiIu8{jQ؎ݲ1*~6~lt0a5ykO.YFQH\QYl]$D'J"PBX:X*˽evFW(UeF;J<i;{P%rFN<b:I͓h>Ww k-&k$1<9tʛ8\uVM"->pw?IM;.w~uJ2鏞H2Ei#Kn jf/9gLFd)>։$L| ȶIz>swо?p̠R0gN~nxڶkMhM;=( zRg9C~ǶSSP ? 4S\~"HD {^>厩ϟ8S!i $3L) Bғғi?"}2Ȩ<;=mM_QХtEm\D\SebxéiHkb<'*sZ243 /pD(ӆ6#Ŭ&ceV}q?(aҜ w}qğa4O=jMKeVwCys]=/chKuZWG/89MLTMܬdB`#"ۀ6k./Ds^qD^(d;6grQ](t!Tqoc_w)gs+~U>>,0i]rC9ZX,1Q̰NI:!Wg?L dZN_7, {$4cVqh,]nF6YJ1qi}kТHʉ8~Q0B Pˤ`JWr1 KXq3"?P9Y>qs)qG+h9@'Ձɲw.QJ+n1UQ֮C~U :JΩ]+5hHF3ZNC`yph9Ya~["ˈѵ3Dx}ozr<;/.ot 3&I&B'W2f2>mzkG#vV(+<%eYOJ؈*dSV%T,Y4ԫXx|[熞wd+ c;gaE"H#\pGC//9@m3!Tm)X}b@L_xV צ$C3v3mE4O_dp !O>hc00,Zqy8b5ufXXH1MzF8$6<#>#>{e4` ~<{+bVMFAU:UӤu_/3 v3_yq9WJf|&_sXİB 1ȼ"%圁,-~+"*?rM[SH˂^/`S0]žp'o$*>N6McB`Zw<0`%͍X./8>j$VRVbH Y2.z,pas!B!S+9b &jaωm#(o9,{|JStsFD J7!< 줥 Vz1dEߎ VL*dqYj}%\PlN0@'764^@? GRWBe&T}+ʛoYqqbҌSPZhLWDtkd쌣 _oDg>(G(ծE{7Nts++*h묧(C%w\ʪl C㪤&jr7> a&3VL (J t%d8r_,11VMS]E'=UUIdD8IMؑAy7S]؈G^LͬɱrȀf$ qR18=V_Hz` Jbf&sph<69vX۾&5O. {e'8qQ`_߰{^,kƙ:'Ezmjdq‚*avWVҎHHr.1 8֙Mlb|PͳC!LYݐ?R~+5XUQL,2Iln-_E-S |G(+7%qҥxVdV&4AAx3]MTQ䯔ݷb~n!K8M d `W'H9T M§߁2O6G W7l)KN?.F[۫RrRYo۪+4 TQC)8sB#k\;_9e'ʹc(1 `KCZ׸L!uܽ? kAe2OO`<\<BCŠY4j4I׸G$&s7OL"R*?FO='-p=VG( ˆvx{Hue.N ŏ/~KIפkQ("3!V:<=HNXi&n^XzO Xa!h)8NID"evi+ڐwܐw.*3 j[I ˩?`YŒ}| !/cdӻ94^smg_ā@e#{yGgv6Od$YfOfKSt?M|?ߐ$bYS<0gx#Qr!˪4G2!Jone6}dm5 6J!%X' S\avv&Yn`z}y!WqjHq6"By}{Rرw9/q&WğƖD)+6Vo^t|UjUG܈dR6+n^}a[ir0O㥧`/I#@OC$8 $@bB*w{O$"x-N%x|h1WpVAw3lKiZN!%@A#ۓ yՊ0s\<8:8i!0poJ"Vk|F.-Ķ&.%'Eǟí^lB٥BƁeYT\ K=r&{:2.0zVG# \mo?BAbGҫ #}GZ[0! ?}fټ~_@XL90⵫0%Xdh xy}%lf鳔CRĶvpM#bXb[b֛/Gr#oN1td&gЩ] k' ϼl* QGfw9s McڐT99KMa dLlXR aD9Ai/38R;AgsP,QAL4ϛ=yAx)NQ]f'-ws!֏$zY{]l _Q5U-ޞ=$1JW^Tިpj $۞D>7*PE6TŶ0ob6n뙞u-.c%Oy{WDޟcwۧHqTXT4;7E!HE6~hEjt:1y BFw4O>ڰM˃c9mdIH~O|sfnCWW4?ܼWjh&s(;؉ mY ̓~}K՟Cz@Bٟ;Ys#%!}0$I:#(JF`*񤘥05cfG'&>mV(SL`:jb ؈_<ʔ Wq4=0hr} CY^a{o̒)Zū"G.VlM~$m:#Y\F#Y-t=c7$5~( #(JiF%3q?<'G>~LI(wVW-{ -Tyv#@*p>')!*S h` ҡC_l#©G)@"p(@+[Cf48'z8A@ )nf@t;DZ7,3tT3`TKU=_6_BK6tsPTS+311o,V ,gGVpv_UF^Ći͔UD.=6?o$zߚ,HɑC el([A4vw<z&l۱)9X·AIJ_c/>e|,nfؑ(zV ;R<<HHym qacQO-׃w3+Y9_sSS9l);q (g_AvD,H2ꀸ?|x*\42 7,lWl(LZ}I27:BXYT!e-)"aE 9çc/$*ǖwbUuE2|2I|$q8߼؋7-5x$J|*j7|gJ;e13/[)77 b'\c 4l觾y|!T5nIrwlEJAҙl 'HN堻%8 箰oP_9n / RP 8_k "wB%+qb2)*@b̈`.=!Nft <1=GǞf4_w_%Uۜ&M;iRё9i$& a{'[w0J1KGfTra5Xhɡ2V,u*=>BG]?X>>]xX{LJu!`e\<ͱΔ3!8Ub@iOAP~\_ug̞:)[D UǠO=lsFWJ§^D5i6P"!k`P6&Y'gN.Riǎgt41V6D^%+Ӧ.z 70[ .‚+N36Fc)ikJD)^lon7w™t5ɰ]6hđ͍C,_]IzxĵM u 4pD[  ,81?%hsMe)vϧOǿZ y2yrH 1T ltN}SFɓKVܪRƲPqB0d茓x 0 ؊DybcITa;Ϭf nwV??Ī,լBrƶV6N 6Fn'sBDa'e'1+1J!+ 4}5qvǬf\"sd,)po:z%V6^-XxBJ269eʺ0t'\-S6T)2{0+4<5h8]MV Ώ , R Z5mr?`l=!ݭq>t %muՐss @cr"v!D-b8[v5 Es?7jk)G58+6oF=nZ,>m [U?cۂFٌ@k\$-n/sBR=>.&&(.JIX]z޿R=1(bk R2;{\ D.bb5Jӂ.$:rJzs֏zV @ߦLN0FMԟ C3ЕMiܾ9~N## ΜR_̎SR(lo/=jMp8x>{>?oHx wwÙZQ2yX$rx jV?m4׆oE~1H^W>t^o/}W m2<33Vo؎0/z("%`&^ϔ#G tF"^=_n3TwޠyI֎Hɸ%+2s#G!# yY"`B$-ఽc_Kչٜ+}8ؔΜz0w)$!նݮN+R蹤.20wf}n}ZPNg5t_VVZ)qDa=E\:JD!`utdfױ%k&R-l@a4~Ե:F=,}ٓ+‘3 &,;a~Vs#Z yM(/āɳRM#9';zV*q\Jz8$z"O39DoFOY3cE6I {G!!F丁div~_~zX%DЧw$NX:5%+T6@*҆w73Scc:/ o+R@(8O2'Z5 嘝g")+$T5,H$OBS@a/rDt?l!18k x\ghЏc:4De^abfOC5zbbC$8)d'_A,Ll9`5?MxLQÜZHG;'>M=f#<ڊLMOwsM Ta(c(1|儊ѓIv1Nm,g Ftύ[I|+q-͔Rg% (]ɖ6_E_=%j01¯a<<ؓ};HP+}, +HT`[T}! Ֆ/nFe0nxڥ0; D׫iEnr.l;)2MLK|EN̓Yj3Z,Sh>Lm?m]hٔݎYY Ej}.>Q"j)A`e".;[)ZH-KYh+ǸHH3;NdH_쮗nTpa#/|gnYy:sB6b.^m0%߰฿GܰٳjF(Xƫx샱F{Wn{Bs8#~! @Zc"t8y:a >nՆ( D&U:=#V&/`6iח)J177ċ$(c bg9CRVR%'}0Ǒ FЇϓ9v]]2xo1 Sb3y H*Z ceşRnARꮋ֠u?:K[ᗱݲӊu\بdDrvx4_^n7nOsGX0T|xt. Ȧ*sϋ c8QqF+m "2l4q&s@AM (q\~VeO|.rt\̜(_@p֓NǡV,Iޘ"JF#C ="^iu.'jo/~D͓2֪Z2t]C47$|Ϊ̴J! e5'9XJrbYiX~4l&l"](RM^ W ~x'n~#7> q{q`C mXͮJݎj%qScopWoƌ0؊ 2RL2ěH  K}8p;?R I2d1ȱ8':al&e#+:5G6a"K9yY{ΩD 8{a%g5ƕJy,a;U4qq3NW/ X<)b]\T(OfL" Fup:]|^HOf̞ݎbEXXH f{4Lty"u9{p[Hި<4 3K |B_HWXpLh*~T3R`[=?01P+%ۧ'E0Xe^c &NO e89!RK":L-|cz<<8h{;'r~f&iʌUR.L+&_a#Kl<8\k$TspQ~wH"d2xK/;7`Edi4^x^;&`Tbf(Q$E4lj8bB8/ $~Ӂ+*F2k%Nݟ]. cvO|)Yh8LٿI>6VZV\=<"ؽLCHdCZ38_#C׋c=x[|9C",-!$aB( s5AOA8fÐfiH@22$c&߾:mE`f*Mȇ&^6`v}b͉174b98@l֢@֞uUX:QIAwV&=Z^2KyRL:oiPB/\{jaO''pU#Fy!=[3eEW|[O` 56I}d5޾g=n_ÚmR|bP;P7ҙ̾c>IE7HOsAJNZL$ސқ pG-deU cL)Gz\;r4sԹ,;1B:IU@K~c(Xas).;؃sIpYl*!Vb- 14é] "f7UTNRXbFP '%'6?TJNΈ\s&+ƺRcE Xu8mŦ>őJF?Fe#( ։:ˆuj,3U)eEԏAGy뛧puRL).JXG)ùD'^d> }m?)Bqdupl쁏$+VG7S`j$k O4Vюa꓌Ѱ3xijKWR\ؓt<.,Q_S[zE&=JfXt$1a, n5pʬDCa_̄\'gEM? /k+\bFd鑉-lp=J1ߑ8Pk 3-RӤ+Y<alRiJ$Ov l($XgsV/fq ) FfO[шW0I tp!l{b#k;H=5՟UGbE+L63'p\%֓S1Gsz%|( 6 V P,97 * E"mgxWL|9O6F2^JtNJ !1~˩ȴAqoY^09[6hӰgt~6 Jg!UvŠIP-@ WWSq6iɞBs_= \_pzTTT#!@̰#\?NZ}F:zn#jثdeTMNeIqj:O9ȩD51}U϶Y~ޣ6}^șd8sD$Rm%aM7X<=v_/^, gons<伸+QYFYHfWC;vp%[` uO~$DL<\'|{qcp `] #8̷а MU| ML汫-β9tE/_?J,c&9zle)mɀm8~3ɜ6WB඄ !rf,>{bɓkQ$dθ\I#%WF)A2 8dkdPvÛO1cXξ|/DM'jgmÃ&o-"$kGdOhF$; UP?x$dIԱ@RETaRVnyo^HlR $›(Y?@pҪ~D{K]NLD! 9y 0"7{Ԥ"=S +B^Ks%_ m<]`+!RGvdH C*" 0$\ '0kz{đ9d#ua$MaReF%kݭ$lCB8OaVH+j8ѺLs%"w=H*C0>"T}"!A )is@/L01h<"iT+J=3ɥ?}tc`4Y$H1.:>14v̢)\Eɪk)cHvVJg[6J7{2i}Ji)VW0[pu8Yr٭ ?ciux4"薍N>73c9q0*7)ѐ:G|S>LC^^owjA\'~ck1ѪitZ2J2_Zh&&6]S73sQ)Z+M'e ))X($hţ`(_dڧ,Co&v˔?$D`u*$?a5=5C[uf]5B)T 1 Fdo?ߟ=MaQdz*52fxd; TgP?)iYVEzaP=BḌ7N¡)2Knl|l0a8ENf"7\dw i[7sOK(LMۻ yb!5uxDdpx5fy&S~ِ(cI5D YA ^_Aۏ[axj|Jd m5̈́"`G2g2iI&MB|uC+)>Pc{51@;;ɑ?%.;|A$;fȉ=-Lm ,eni.ms4p3z( QJbdqbqh}fq= FLk_TxDr8tOhLBY_/^Ml)IR .} ]C ?4\>{&|C@q<;f[&B 0˄[?o>//W˿|+eJa,@ CTU'&LnVNR",_eHy)b yKw'Q|/f$!!L^YŔܡq 決 {w 9')Dq K:gխ xzyirx*p$7l*Llнfs`5OrbY{(аSݞ57ŇrB2>C`btc6з}v롆Q ;6~ GJc11}5N?̡{ı#{7'Lʏ6ri' nHnC~}r#Ya\ IxxxeՀn{)j>#?󷇑})-gGRnWV UMX6b4Y[TkjYE{dtGꍒglcJqRW4{!SMX\sڠHeV{]VF "q3q0,#ذ0LT{uH<; `E&vٚZ>{j+ê \|\x/#($v714NjAsp 3l+gj{.4wp‡lS"i;&'W1(+^LDM2r afUNxbY{Ǽ >?K|@x5U@{e!T%2"#;Y4w7,MLcTv 91%y9FHuj&:? ?V?_c pCخ0N726I]* ODKLWUa'g2R1nd׫I,"tgDFpۯV$vޞC >ʰ0/UMH7&!q=2(3J-)1rbs6HS=Û Tr@^Cp6[$K ocI) <:8^ΐ #`Mag'?OR~]np^cG=+,n(9;Q&cQ|ӌ|JHh(;Nz|oB$^ '+Ba@T.CQ9H-Pͅ`L'{٦+$sr$eXNf1lq~v9͆ӑ-/z غΝd9YXK-<:> 62-jVL}BNYj33d)jJm#[4-%݃G -n6l|`@<LI\HֈdW9;Mp~Me",;J, nvd:Qy~H=ڔ0[~\=Ŝ`yy<$. b ^F3.cQķ4jF SCY$S뷧Ɠi',g?Fu3`ai!8 Yy@JJNM5r. 4YFbٴ&ˍ<ѻ82ɠ~Ea?4^CW?j%W1awj{ޙN|J0n$Q_HeةɾYRoq֖;Rb3#:K;BoY}Y{Yp &AgI:enHڭurA""Jl_S_y& rWBWu.~\n6w;Qk5HN&8骧((p.DLD{j}{T6M#VVJQ!sNv,tK1q;=8.f[ŽF ]a\_;BSOcNybg^f?FO;Ra{_S9k{oO?Ѡ|nyHpQAVHb_dIMB !yX1"Z3^/ dmAf!5I 񷫇B|އ7 }2h']C XYAp='8Tŭ[P)z0 LNt n{dY8-F5Dg7sn),8< 矾ެja7/xba-xHPk)iUI!1akw k(ϰ *D,a}tpt8@ 4 7叝UC[}M%{yzXz$={֒lHN+rSVO8II5 HDYP D OSl`"X!鰜>BӛO m{qam熹} -iU+$6 F/4ϔ ܿ=ilU<"1fJ,l +sdkga ޾4NdT0 0cmTnd{H8U*PT>j*YYlH:31Aeve%t4SH8/m+MZbB2 tTn]˸ \sP,p$2W*TEP64c-hs23zlT N&<1Hvr~i :FM&8cCJb=-{lш$SYkI/l@!jgܾiwdzS)DS8 BIaR%[Oz{{3+"!_&%gQHs$J{[LmfKv9K Q24~I !tjO6sa \;0Wuq$)r[qf2άDzX.;6C_-|P|םW:S _³>bHwIt %zh8qJ:F1+.zf ~%_~α*?QSmոڟ1MS oWLmdJb%<^p%raƝ5&q0^?e}`&2na4r,"%u0QNlL]_^ώ3 tzk(VIdɟJ GeACL#MI7b݋ES6IdrM_VzhOz#bhb]V]ϡd#:2,BJ Yg䇅5rwb~41%gl9ct g(L>Uj/O&g膜/Ea^%]XY3;QiDAAin°WͺZqBJem`t^Lji@#'HlCuP0Z|TYY|HGbw#cel਄gGZ"Q.pu}HqBj}߁T:/[fL7~ղ9䔏]iF f"ێU*p~\Wԉq$r9YFgD?Q*o]K$UR",N  ͈/sҠ6 ρR431́؉#%HWp]B өT(y+ /$ 1`pqOxjȽZuER OrL^*&w$oiQ^) U4b vTObȚʎ ] +FHa"~JH\:c=Z11D͚,)efŏO;h}׫"/.0\M$aD @ :Y*SY/Hnk+pDcjr9N,gsƒ\=2_ŘPlQ `'f}LN #7BTC:*dҏ~x,^~8*Ȗ)f(Y-] "'*Kpon8% mTMɛGvf)|t/=i¹}6z̝F5dǩFɂ g~E=K'9 ՒdNMy!9S;ZVW93lޕB!益8EHR'?WbvZX\-"JT֊> cOgQq8^ÓVӽmz ajM^ ؊@3 57H:=2sf׷48t*aM)p0>8J)2t ^qU%i@^KzK{[$$fz,ERة.Qqc Y,Q!~of.I ź3tU|'e H#x= _Wg ?Xd}ÊNMxF$: |Xq MeyS]s׈`X$HA^v$`9҉`u[wc.>_mދXՖTLٳHˎ\\ȈݔӪu$:~aM؁ ẍnGq,RH*_7P4@b.K#Kv3i6O$ ĥ8EgbST.*33!)hcn8[9vKb EcL!@䝼ϏƯ4Y~p0+<'PD3ӳ7U7 L?s$ $ MHF]#竁Dg<g^k[1^uĂ*t<ޗ@gv[|s vzYmG1R6(*rq59a -[08\*8L4G/VxZ oH+2 vUd6;-vvu-;9;qTG#BY<J(6iVX\vJUvw"bݚ}b<-L?7#0b0K˳{hS{=v#բe"5EyoӨPnن#ʹqLFoVp:{ `a,a'5 ~[ngyyrwj~`vÈT@uĕ)N j(VVM02,/o$hpփU4i\M[VDW[ iUω,L$fw,%B B O7]?n6nø$Z>AJsș$3Y"0Vؽs9J# y9>gyg=dtI$5Fɵ5&O R\N$Z8`޲n[wW*mp70kZ Z [`_g<tw8.| e U(f̻&< bϘ-u80{c^1!Sqr/|p[X ,|!ٷqYS0A/b{ ۔’U;H8gH3'ѓ!sc߆b&yj/7յCsœ[u3QHoj$ 0/bqQh gjdy/sw'TXjN>It9dĐL,$jxO/L!qFȌd ֑"/sp2ɥ<*y&h0(݂vُ˛FzG>[nݑ9P(XF "_k^]H crX8B-g9<4Fuؽ(߲!YGBsܘbie }Kr𭰟N')_ sm/=yvT[_?;ɓS9r7d&usKx 8Jڋ=#7fu"W*C щx0 4r>Әp^0@%R[{fB LMʉ_=b/3;FU+#$1P)WWzvVyd)2, o g(j:V7n7.-0Q0h۰'_2wO˖5<`p|y-D`~^dO HE@6}G0qQ)er'fJFG]i)<Rdܙ G3P*Xޘ~~xywCAtPlgcOP"ĂiJ <ѧ#r,z#A ̶"z\'YC;U*3)Ssձ_)#aJ$: B9hb;9 3U d^.we_3ݞivTic oݿkg4'\I;)iB?-4"xs&$*aqLU, _aY_koHVItUTY0D,+wkͰ7>(vhdsؓy{"a0xfǗ6őg9dT}Ç* ܃.R })M'>ra]HY,EJuu~!Ϸ|S3W)#1# )FK5?VlQvR̟Ke)DyjroLJaz"p]*6'Ɵ~{O5Zy8&_*ƌG3y _m=g@:id>[D4S)K?|3B3䩀(js&AqV#!0a׭Joub i*vM $ĝJDBwf*͒krVw|~u|nɬlcC779\n 9Q2ylZ0;\fj8$ QϢFk4%^Yjrzu LdC=`y$= W(lZ;F*ha'2(N,Ȧû9>hpcg1,;5 ̓g= Q{QFH$L:Ʌg~bGzDĮT" tL/`cܓ褃 Voc 8I# ,؍#gx. '3l"{&8`=yy]pcB5(:pݻ{^2tQrpQɎ1S-v@)5omvYWef&lC0P`M8^waŝAqKM8 SאA FG͒uؼbj~2Nr )bx'R9J~켹G:1 !*-yMq 2͢Ja<+ _8>`v~ *&X[!=Z!~g GU“"nA.g6i o4*o`22-"䖧.r<]p'Dtاg "e93m>jjMul *X}J-1)L"%8*+,("٬C7TY#Vᣓ܈bڇ^g)=#}߂Uw@`H={$%v(ɥ5OZ.wӻ4&`(rs5Y}}=Bpl&[;G&WT@Ta^7eT 8;Udf8DDT3l@szaT[רn>X~ڠ K䅝3Pt!fԝ@}9<˯(> p09ҟ,NߨB)|뷣YҚ[ۇ^X.p60asR "]ilˏ'\O8ZĠx'FgG_CrŸIL\&Ms'A,(! iu܂qb99[$lzIDװa׽IRG9ie [m9p~mnp)loܴ"7'xClw8'!JqdWsFrc};qO5ǏrAz9ʰ[āNQ%Yh3b"{X{z!/D*Gĉ[1z cgO$·}lEySE+c j&Gͽ\ə#X !b'Wב灉iv82 cG3?pKT_~\~\^ GwW=:D\L^ȥfx}b?w˔b&ӝ{L# TZ6Mß fJd!sI6ynewU'B<<%zl'?)QnR ^d=pfz-x{IoMOH&@!HZh; mS$PnX "j`gJM +Şe~6lc >uX3I?"fLqj?4 qL۴P4NiI ɟgKr8S79|R3V,xd{z6uRŮ:䕡=)gq-`rscόFIQ7c69pbrC -žhwH.`H5YX+g}Sl Ya?dGJ4߸ 砯fpۏ^sg?^;FmIS2GP0 {mF9,Cqa ^]P+\fۘ#CQg<̒ +N3hq&½P_%՟ 츿aݞɾ=E`1 ¬p+{y~%  (-Yh2ވ&Y?e\ΰy,v8\UR~(/͞h2"\'3-}۰V|3)fվnwǁv/"+^6 5EW5kE5Sa?ޚif[+id}C C匃ubF;GwY %DW<<.P'e_=p6\0|8 tLd`Eٹ30=UZjȓf*maǓ@/ZXǙ5?ҹĩn'f:xI.<luf12"^rcX'נ,,X g6S,8_ٌ9˫՘Mx#*_ pbV$V"}f^Q8vb3u?\^Pf8 gB1r&?񯱫[\#9^'vsoZf"z;̟>W>ʏap¥+P0iڕl X׻e'~<-7=,+D@I2m5r"*& gЂ%3e7&PMrHG]\E߄תq :r9EO ev?l15' Kf8Q"PJR7zHvki}Qb?"<{-WןJڛ>bB)G ތ2ߏNhw+~%͖~|pQ#H h[-pRjV}{ }X_HԞoDQMw,ՀQݻIw2Eojq`#j-_/gQ5~R@Hu3:itzT>zLaSfmrl<j cGAU% 2{1blʄ%i_ [j(4SGNL]WzAmR?DdMqP%jQYl zN]UARf"aד D3)e_;HM %g5 rQP!7]LVqX̜S7,uÃ|si;I6ui Xii6* JA5dHRb@A;/:~r)naG'i\ťP`aM8B`^C L46::ڕZؕ(ȑ\t'*nwvE'n\;[3<WO<¤ H}K@ aP|iklq's6̓eLv &\rzv h6A!#8{cG8!vm I4Hp)y6%@NpY@\[Ȟ~[G ëqd8MV?.PSIt6#lm0GIUW`d;i^l/>}]Nͬ#%qJ&F!WTA gBOp_ϙ럲D ?e2>`68y^NαJk(*|2E8)¦]E"d'qATf8@j =gJ-VUGَ.QOׅ| Xt$d1yu}zvRo)-F٫B6!v;m|oXG Ms1N42Ҏ]*@D#᱄V= .=#~JPC$QORt,1%(E#Hg;ArvGl0cا* gNGLM&v{}y姿JؓN]kZSY)67"MQ87r8edo!OmLfdID*'󀾈`>y`carc/zbg9VNH(vD0k%8:E{v^}o;`H/1Zk"SL+F b&.X,$>[Aes(Ԇx4.Dd꘮׊M%l_[CQv*OqDY!O! 1iA7@r>ٛ6zK>4 FDu)(Np+AfIuӂBTsϡhRf,܁@?,7n:ǎ& +N͚݄]: B&,:L ɇ E5VIfW͔S^':ɨx5UzXh-c!<M?YW!Ͼz:EK.U{(k6L#+ľLVX`4mVy LF ףw[8i=)a\" bft5Pa6qTҀbmȡwjn{}A\Q$/`[gS@dJ-LΎ5-8*`<j>RM9FVNe~z6VTSajMlc꘼a#|O37{؜V[0Gg_l UE~ّFHcYDZ s(u++ќa<"'7qH,sm➫Sd9grv.\;}w脱.L[xHja-]EdObf*5Ge׭A/Q3_mYd м68B(N`. /lqf-C1̶ANDZ}g!N5"=->i[T"qx7ORƐC PLpAe\OiA/vJl~4=jbfԏ(Ӳ4ɿ/$٬Ev_< P#7b\WzD=8{Iԋs6%֜}dn YÔ:TSd0<)kF hX4GNCv#p='#>Mj\Lt0{$*$lƙ0'Iفg}×J #U-OkDXxԘ ,¥S`;,Հ>fkë8>*((E*QwT5F=9B׫p!D-f]="D}Q)W xTdf}p)S[0,1 h__ ^/]cs!PI!I->{Џ70඄\tl^=qj AXG l&#'nd#g ; d;a{7_q(\[\^d :+ 'IM @zB4+h(tTf r;^^|^XޭooNF#7}Nc* G0ڿ+ORv4X}X(b;&2j"PS,Nətρ|9 | WzSlVD*l;S;) Deԃb Y h#ׇzs,^g OPw1].D]M<-YNINniă(6LyaI.e"ؑ8Ѡ;yBaܲF`KeAO#+ py_3!dvؘGCO;fty蛳|x?~\>/OEZəa<~R1Mg7xgk6`Òq=1~x~\,csٕ"\"7UP n|>ộRKtlH'~r]tz)v QWV;QKր5;V%r &"j//N/;~8/>T\S^L5/ZqMJ!.G񛩶f$l> *Oюc!lkn:v;C$ +L*Z–:qEIÏlk$Qұ Єt,"rI'Cʳ>Ś}c GnԸ3ZmV9-*^oROtL$ cֻzBF/-BibIr}|p-RhcGr6sg/2C߷ 9kg&.(tCwf2$p,"0g֮]A}C4O­*dYgb, !җkXG>{Vsf:T^bMwT.l8x3F ;X@ؕaa<%&xP V߽[Y}>Y҉y[_N|̋%6Y 4;9a&֔Nk*x dD27<G< VWiK5 ;45#)bFQ;֏wf@]L\6'N~a#vLн?мdщ={^4>z"E`t|ذD[,m ,D &stS;s@8)`pJ+8~<G`=8iӢwX`1ypf}< |0U f ܬ+xN>0 lojWX0jXw+&ȫ!/3FrIi.crON L,X(דc>S}ƩR怙0/ڼ9 C%:/zhNI|wٿNZ[{Ìn #Zr6Nl6%e5f|IGM_n|1kooW<֧q?g{;53[4̠uY;G &i;ЙIg C 4Uvi}*SGE/|lf)KGfe RaO?Y`FC9nO)ojulNȘn*wϙc1UKE6H;"Ě]/ $1޻+' xĺk26ChLAU*Q*viy}w'7b ")4B ᑳ&J.V(E{Jչqֈ78VJvD&~xv?I24rvjfc1bo"x‰ṫ H!py䘚Nґ1ۑF$L-x\7gv΢=바i9Hи@ϋσo;4ʻ>J#jÑfaY20g~rl@it,2K˳qۓ6gmh6QNI$G::bh-;;WőYeI=Dlg+k)E3_^ted "!>g܇(c+87MU$ HaDbdcmEd>r.< )@X(HF یs¾2^`{U("o߽ӞE<*O@Ԁ@z E*%g {$J(jƶء9F6-Gb&~hy}uXUz&.II8x&";Sb\`Ɗg v *ajY2*hYW5:9zP#h-l(4\I`t lL.ר 7;2m<{978&Z!!Tґk^w닏]_D_d ?w-EXfR. ӱcQ,|0!W,Iw8 JͰFxB9bY E67e7K+JWTfQ]G8>q`f^&7{X/Ҭ4U Gl$hȫpa A,nnixNU?-ܲJOIc, ja5SIV_I?*(̘8qVC5 G~,Pk!gHez~#O(2‹&-N.7J3lY6Ol-(.) dvOf薟aܘN'N6ex1썲1k$eտHd X,M-NJ ?1}ڞ.|JΤdL*!i3ũI˛;:IifUl ;Gr\!2#3@[,T_Ox{EEJF k̑Iǁ\.x,?qDhZIyXpRiZL*l,Χ#c*S%)cA3J#ȩ9yF= 4b';B`b8}fcXPh~F#޷oƄ9{udlJ NNg*T5ŸwǹdS"pzvi9F Ea0d¶b ɡػ69T_4̽O40_L&9Ȉ MЈ5Gyy6ɔXYSM4bG}\G_ W_ԂœH3q=Eie6aSְ\y\n]{tsA-@Cݼzon!.԰,?0;[-W<هSi(;m vR 2QThH຅s 5R />R%V^Op79x%q$ :R;ߜm}8q"{ʇ GhmqSjհe1ԧDua2}J<~i-&˹>G@b&[ _;g%;YRkabߧQR7}#DyҶ]La5/4 35!6af_P mo['c@ SSa6wf{,@SUb_r}[?o,y:3ӏc)`-;-ڊJ6KSaJapn*.UH Eט&r&,U*O*$$M|2YY|pFDZc ~x6&LVU'CR#@H6X"q^ĒJfb__vg~w!HbȪ%p6TG\g?mw$9[Iaȇ ɳ^~ N.ELVM,eLv]VRyn@o-!0?RX^~tce26f(0jw?vb)܉4UF䱭{+@[?%8eaN(A8E 8C:XgņRdk`zLs(UKHv-T'gpLWC+PM"MwM"T9Gܯ%sNxǚ3܌uB,0κj ^3y3  gNun~7\~:#kBGwBʺ&QbG+?xڦrk3~^7,NEz_bajG#`NaOAMJɍcRՙοw;λӫbKPR$4ni% ݁oׁnnsP4#8a_8+s;Gnh~h(t6v/zHZ3aI"?Z@r"95PI%8sxyz BksdY/x)N ~?OI+r0~$NV,?(xh( VkU 9DRi*3'D ~ߋ 5y(&`OJ0XVUkdȚ0})2h>@~3{m<y(MFT\C=~<=Pm"HjYԑ4/jw{{GVGTnS,UD"B9, F?K+IPFN4Jx, %ߒŚVqM%+5#/O #{V=UP$52J{V(ؒ6͞u !'Súy\UoĿWD'Qsf 3K=dGl?3el!јt^I = SV >qˏaܿC$+Ǻ(;&#hҫɪ7j"W?nHƻ˵ T-:1Nq6KIrk[ y@c/ѯCC#jC8Ip^IofҒrU&gow=4="Q{RbS5M&8zDWӴ/$qPI$-;BS7\G8VT_ccB>Ы՗Si>n<"v (].[ ]0!_rqɣ9Ja'H.8Mw ~^rTV$V}z_o֟񑐁5qS&Yͱ& #}K:wJ=9G>(o~mPulK$C>uRcӓ9;ɾY~9UƑMMFY$ 0@tq9K=;|,\4'1IG@E43!̿4%dY|bcOQ9Nو-dŔ9}"bW$S'-82 g"hS"¢(S:<\X>EE1#[n<+FJ5jX,@BW6 B8l5nt.#S''PFl˰\ϱLc,rv`Eh,!( J[ B-(-i l_82rD.eaR|g3id ZLJpg6:_XeóA]{ 3Cura;,מl !?n9~^m%˳\y+F9DVž(:Oo=^\o,?V\ FOAH;  b_Y46Ċzۃ/Y GsyB]ag3j 2ޮXȷ;ϽP> # -e32^0%Dh- #`nn؆ !lC}B#eo9D 5GIlU0UqN>hsI)"y|<:avwtQoPV,D23LS!uș6cpu(Z`0Sre$,D0cW&*(i4ѧp^Q:a2U:X9g  w:2[uG]1(!qI<ރ|{gADfF&4Y ms\rTNO4H~8sԩȀ(0!S]:\\"C#5̳퉷~9H1fob+wh9H+cazHl6}FL_*!y'owևc!ޤ3 $Y8Sj b:+*Ϥ$ad"reƙ_yxŋj$f#I#48|N(CT=%B6 p7x-@ oٵ3>QqC25Ca:#νONB͏>㲃;N$ ԂOp>"e2޾uFLa+Mjʉ)"7( ~ҺY68g;q(4,,#&">F}: 030Olʓ.fG8㥭QCNW5WV-%s^,tzƱ&u9l4aP >'Ds |}s`/l3:48"~LNf@eBA)10`)g*G] ̌wH?q 0-o^X`8veKuYX>7MA@bv;x푇J{Iע-Gb 8gx٠$GO,d α2m29W)}d} 1\y^K#)Ӝ"؁Fyj^jOdnYLeׇQdh)+Yq{l㲊~ gR߾dS&%Iq+ދdCFR]/ GS )Jr vx\^D)Ϙ[.B|2pH:3O`Guދ=)BL*/DqxѴQ GV|"ɕ c`A: ?3my?OMi a،{WS3PN+ dXԈ DvW!T/#w5tвD$Ft?d(Nj| LZs˅=$_;=wٱ[m^sƝ&\-m԰;:[j*ma4>e$ H[ oKM;deHjm7>t')y9mw_LΞ{>:Q2lV>ԑ8po7_ϛz5 hm9|fré]?f$F'& ͞crThڰK;.&N{+NƭdW1&l>^V#Lk[Rsh2;A5R%exU13VTUCɑV2N)bo||z0s}CM}ҩejx}1pP5ٗ,3i(]$-U_M-F HO(<˥XLS{|IMT&LAiOx[c|y| %q^Vf?N dD +}w!N[SQLI=YEb4ʷ\"]B"K F >"$IL^zr 7gonV;9HW蕪 HZMá o Ia&FmLyFia4RJpʦ|8AAS)p)c%@@I3cɪUyT0Bv"{V3g}A*052Z,Ӵ''/x}mFԔiu)"x>[yM/';? 8OٓbIPKS8zoyͽ p DO ؒRj|G4y8א񊸃"NEpdT1GM p¢ɒ:9w2m/$l]l_#^B#:7i>lۏOJvOuOy *Iu2w[Co>׳ax4|β1@)@1zT@\S)Om5=8`/2_~=1_sQ#exjČ .J+͊?'IY |uy,5Uv/ eh #HL[5PaPcyYx#B5V]sdBwcՖe=dzޗw;{Hb:8 -" cRm?8;whxa Lյ&͘%n#BAu`qYH"}yG_C~B@]OO`g;;MFZ!h 0 B(p8{!;fxIY޶Ĕ4[K} .? Lgmjk7bqf^]>a{XGMIp(S3I H}ĶjGР ?0g|`:N֤lY+&7cђhFi._leC_bBty8Φ@r@g3L ,b?g zbLy>w;.x9@"axk!8 (^ZpsBeZGÈ qr[Mdԙe/N-}0 jA`bO nj:׌e@=OS,s>EHJ~4_c}zG;̒|gx=|HŊE]x poglm@+=ntcܷ(hҢ9Ah wEq 57O3{•сERf!~80c54g-4Èsd,ጙ&~ЦXR+ ʇp>`өóQ=ɏq´i @] si>̬Tz~؇ԹJ_IMVi1!. O cr@YDmGYxuF2Dwи""Š1Pu҄t9;Y*fo7h$8$=o.Gʲ#{2G^pVO N;hv'J[Uf /)A?R~; Jz"ByUuƶm 8j}<}3|D2%b͉ )LE’{2r#1L( f3/'9 V>@@.OoҐ'qefK9Xh6{M$9O n26f?jOoW_JĘ2sr%L)|֫~1yR,A{B0~Duѹ\I\>f) 45OP8-2 wu{|rOS%oYD-ݴ=LOs.lv H+XTyfaEi2U,ұCiSrsح߭5p 7!.8AHx#pBSatyKa8︢PJĀޝI GV$o?K%)̖=%vw lQʬg~_^rNPM 3r.Ѱʁܾzǹ翾G&iaOB|ϒ<pg}*O)=˿D'эh1v"|'}*$%}nش3#dJ%K#. b54Ï+V SAީKye 0w ֖Dq+ǎE8IyFd # ހq[i$i7*Zpcw>Au1\ kI Xv IU|n"-n:jHy2NB^YB+B|ejjh(},ȇڐ֍Lr*ep%j=nDhX=^T6,iVZGḴ[mwGxy&`r>7 J'o*vmն}Jo8B\Txjx:ԩ81g>i-DUy23dv-YiHԷ ~Rgq,u)vuked>t_I F$6e S\(Yrs'Gv_/fi iLQ?m?^ JA N08<1^fr;'AP(Cx~pZ[ ߌ'7t 36-O2E7bT"!!L@c$dIj<"/nO]o rL[j+;LMWKV>.vG+;X1 ̄6RK]sazu]F ,S!oKC & [C0=Oc Lm۹qA+!=#L5ỗwN+7w[RI/Kٍ7* ]vW* ",$HJJCI6Ή i1s6f^)Z0jS olMv) As\?9u يі[lԐ'c!ӣ!J8Lk Y-26՗D-gm)IH:k1z.rte~WJl$ᘨ@h O7>@Gtaba0'9! beEYvLo<)d L-ׁ *c1K$9-L.vx~t{VvjJ`fȭHS>$j9D5QSU48qQZef8Ot-Wi" }nBq(0 #=^ݧ]XEY  N rSQtZ)> ݑFQuslYe/o2Ykz~w˱Ydxz)3g) yjaϋUTjo(>$yI5Xν3),ߌ^+h(2h%<需YZoH5}v$2mKD-_k:fvv fʂtV//eM T3aKWMA,l ܧ}iRpRzKXL6yK 3j̾?˸9[zGӱ=Z(3 aofxӟ__+QȔ#iȷ?tR<[L-zJ\ڗsï^%'3? $YR5gī/Dig3hf9>MZB@CQ9``?foG@8ydk仟>6d 2ڔ-)4Byf)3?;vJ1ձ`FP$*OL&Y(<|aǀmvצLkR޿I}\ooE0s͒۝]UX 9v霌ݝ[I[~QV8mڠfΉjs}}w&<,W0etMx?W_z #I W/reVÿ1|^~ŋ/oysKA.IlQu4S%Ei-BNY 8{-FNJH@0̴͕dy.WF)MFO ]_c?(^)*v*{~IJ1L1Hs%VI{>PCXxyJyBȹ3f u~.v0M'o6fJ:6uSiU-rNA,8_F@O@dF;4ju8q]x{+) Ys`g>_d:i<1x!7Km{ߩ ~?OB]^C\'Ym.Dkpr'D0VɚEԗeҔNˎ vsV 17H[Iha0mUjg9I$FxqěiBQH4-j'@"v$T]B'gFɷz=^g 98Cw.1Xgww6E(`bTf'iٰ`3qd% @sᝓqM(r4#k2\}Z q6^"r@ɤ:?|mf$0SH39AyD ],'guNR(r)lά#Ú~2kp'ҥro[y$ :NU]֪( jMHHJɎ#~Pc^9MT(F$rܵ@E8Vd]ә5$*Ԥm@0]!Ƨ=W'㒮}a'Nx÷+ {dQ6D;k3c~4pzP|٭O9) !>J2vâs'?dv?~~&xdp,gj`[&xs#Pg)=`|_oZ0$J%2MpX;G䘋ֵzZ?||,˘lLݫ@{^LL=S@32f2UX/-ߢgʸ9o(93;Wz!]^SW` b(4 NGU&ňt֍(]@O6ZEb]6FP:)|=lo񸼕%B*ELюLzMGD?c×Y^$^3-bqya9d 213u.>.<0N?QBsNnHUڤ&*̂%lk?'*/0Y;UHz$LjQNe;t>aNӢrZAS|(閩E~T_ALm!N 2g $,Nfۈ-8\pna5E @׸89X uT#Lzq =a[[}`r"$-9MCwEbxsṰT΢6 LJ\vt_%+RGVl`Y"ŀ+%RfxX,r/^9X6Si%9[G,<`ny>öO*@lg£9YZ+5a/\T*`2J*uա¢?)Ce;ϰlo]HF?>{Ή!1ةl<БUf`ag~j@ꕓgxKGDߧ8Ii/briDOV![RHn%LcmYU$F?N'ԴK‡}QF=K5RRW,*JZZ-8Ov6.濋D\^ȢUpxаp1f>q,pw b[⧖H׷*ꐈn ÂL@jq8}ݰȑpH~ޮAwgrհ^Q ;gK&5iO=WI't={+gԏLWaۿ߷>d@/zy%\3h/ B uNd< ,m">k٦md=^ԿcC>RvɳȄ$a"!V3{tݩ̅9R$e*J<+.QWyLbҺ0}g#`͸v(Ӭ"R?o:?T',Rط%_I95??%ՋJrs"37<2S:kқTB#ỷ ^߁=sf9dYjS|μ*W Mgqݬ~S}IY7m9R=M&^ /9Ͻ|+OHb\ rV#>G]bcy{8LI=w4ֶmB: K=+W;7w&8*_ԖR3{ X0yij]?~ s~Q5dOI##fzh֨;s8ZgIr04,_ʍatnzۊ,pd`«D|rhc$7Oq&=r)?IFwo86"vsq-S+F%{ցb]))"u)ll qW]toܒg5dO@0)p˽W:Cj=4vPe2͈*2E}i!q<{}uxRHly(퍀xxyCDe3]2#[(v2<̲Y(20W|"G^{ &I.ppLܱ'IجN|pQ`Z&L'~ȝICU_0?HduD*b0:2yM 8뢏\l/P'&*tW4poV]~Bc |G2̰;vwCO :I Wj  Jqzk$ r^SdyBrA'!͹:JrqCVCX~r5\il;WlSٓ\ اK~h`3?q@d &0q}Wd QIm3DvctNehSE-D l1ߏV=Gn-:L[ߟ F?nw2do'|BjI$v@pILN QodC i /V*.E|!g  YXvmksSCdzzΚr4: 0Ήݴ†' 4`I #8275I1r0iV*>U \^ܶ8?]ErwI>`L;< ;01R7V~+pa(fuZBŶJ 8'9ߟ7-0]Iz/ IͤeR{R[ %72rtï9 VCtc {H)K;fYm}'O9 dj<pof,3CCIeVOio(tYlv'2l\/+[A\ާU%R;$kL}plb؜H4gg*h.Tx`qώ#wfwj|xMbb76H~pmV S ;ȎJn"tN8N3ќ'1\Q㖼g~"659J-y*`gHn8pm׉T;pJ~ВZx0 `HK^+XV-(JJMU*ù9Lps8r4zyCBx") dP,rjùAnZʊ?!0ƚf+bT uz\4JI@\1)*KFegW <ԅ\ɧȱC &[<]'"[$lܿSը oHɾտgܭ߽đ*Ep,w)T+cV3$K3pX*'<dk&_C#:d +%6rJ5&D.wDj\=2c~Q"s|pbsc8$NM=ө]Ux 9PK'8d^~֖GmSYR[u psvGÛ%o IY |Ӽp+TFI_n9/9$L|GIE?2_`"Эx-_&'* ͣv&"tgӻ;97|$->:.|EGVQcu۾mΜcSaF[`=\$(^>T\(DZg BfcI>dz8_`%pzS8a#\nv{&6/oQqn^I,I'-Y)D8a8~eo;zNl?&BOiNgBqdG#YjcP_ "á|#6yeө#սdޖ;aX-;3x/>Rhx)^MX=R͜mAdu֛ۻ^BE7`aR)2CBUZYlHM tD9 FxtYad,v_(iH:+/M4EKpwZVc+g@lLSInT<"V=$s,,%߅TN{7w̓&rʘ~&3TE!l/k;Y'GNȌFf8*ɼ;_lZV)M҄n+ƘE*0cŸ ?G3E*^|hb"> {Sn_]1) \Ŷzjvvf TÉ^0?}؏LsXQk1)2‚ X|hv!Ok^qy8q&#9'c ,,2 Ꟊ!RP btLWH|{tt$?9Y)[*dd9\BզVl-`'`tpq'ƻ'Sn)/7, Iep6VA@%b70@&"2Y,< _#%2wwk-M8)lʇa.W]q:Q:QW7,p&{gw'/WQf L˄-[pX5S?@zy$~9c!32gyɒc%u&C,F[8Mc޸?6Bm/=rl]F)vR` F5cω*83iJ9葽#q0pȹ,(g/םHKP^ t%1M|>AWˋXm1NJ!i% XѠ'zĵH Q[ulj<yn8X_wH0mf4Ij5φs~[ ZB~E͡}'AP0p1Li^GK,aB$L\V5/5TāL4N-OҹJg-C>kyPxGyVS28rAmN$@0Nnq*}{wvLr~=EѳɿJG띙䈔%|568]78]&~O`OnZ`\c[ܜq#ai;M)xPM%98KaǏzxjvh qꌭm̔R(6{L6v}o?>*-64|`%5$C%<FTh \231DFbg)w-N 퐝 ^^0>e \BiGfFjjPVp_~^Rn Za8Tzwq qQeIIbzvf|iI®gh_c554rA? c'fj$ƅIȌ?0T P:80 a>9K/GCt~?`+3'S+.O1&פ"gcsno<6~=yaI-tQ-E@ r󯶻K 8,Oaϳ*pO wQ 6y߁DhѧzV˕g?ys8,*eI>k+; "3,Zzvg"p{E5rx^ D6f*-u{J&F!dĦ܎IŐm.FQ Op8;ǖg(a! UXA+ݏ{ |vBxQ8ޠw\i !b}}\c!|n l$$Ncyyp y8V|kgAn"̀F$>Ԑ5\| v8drpI y"if}u<^}Y2C3~=(p!-rro)ZcTlv 7T C_dl$'p n5qBYWh`!m$)4N ߼ƎORy<ۋs/=[{翑H)@v/gk!'8è<[zȟY랑lD:9]LLS!̊zL~ YQabYay3pgjTt.G"|ʌP|'m[!%,CєqB*[ː)oB x Q VN}jy @D`X ne[[ۼr;y=r݇xcGc,e&mp^ ]bj6!e&IV&͔t}P#`wT&$`dN6Ilފ#S }b؄ < ;-`330^@IaW2iJn5Oe!nY&J/ZEdpKVd,gZe[g 08ixQ6gab<6`WX؋*#śzܬ/sHb.K_e>\y'Ző>.w70\o)O+μeKo-:L[@,nioynkNbYN[Z$E4=,^%A댸HD\0 f$Z ɫ՞ a>?c)>E2!ߋ PLJ"$q#ineE&ő߀L'THԤTiͳ5]?# X+dzgΐKTxz紵G`26"3kT\κ`d0 7 3h9Xa/"hu{i}4ˋezJ{Z%j3g9sO<Nؼ̈́ٗYo76TŚfx15IżDREStlr1>yk!e1 'p>3;Mzܙ8WOӴxyqIaaRlD6CBZ.e+qdkĻd!˧=;fEfF[Q 0.QM]L|{ŬYfb%JI8LG Ֆ-o{v M ڝ^7"م2s@;QԎ91Ur'!zG3wLqïr<u/Dˤ:,-6`dzL'8'Ts*8T,}S/03ya"<FQt\:;ňvsseY# ?H{4++X$duVkK1Mi=2+j27@_M 8i#);6W@qV؊N[emα`zcqVgK~ieG!DN kX_W0疣-TKŐ0uM=2\ů~,D0.T "Bd]t1~.muO ,loJpOlq 1O/l}?k%ۚ-w4n: y3&3z+ů_ܮ.Wg?rePY*$7pKÎ[y+Ij#ro jʻ2 Ia1ad;`}-!NBxx5!pMfL(NJ2ȃCYT |1 Pv6׿1|AM$&FeZrHQì-bUs';HspdV8Dzj?}s=˅߄H|3jmO]kNEI#&m?Hy!I"˜9 PV;l~{vGwQ XE 0J LdBAԣkt''쫇מ_-ҜlB`I)S]? _GE{8LqhH2PB{)Eo7J$%v B0[8 Ƿ1?ՐPQ-ři?C,؁SJVae 3 z%-PibyOΊPa9@)o\8 Ujgs3dW+6|v>UfVX3i_NJdqO~k%z/T4 Qܜspu3c!;i"eIF3CRE^n"pTŲO6v>:9*$#n=xn 9M; xr_o؎1'^r\:|2dM3َkb?;6r2pے/BQ"䡈6ѳA9`xi:1$UmUhj8?(2tħ`O$eHԦi%qly<[*soH< Q'DuͶ88Y)f*E{Z~Q @8 t>uE-uynuS_:B2,!i2;];⨳'sh{nL_L`e[i~x>#1~y={6QNG"Bd@Ѫ0DUK}_RHb& 'a t*d#"@+zx2*AW%F6+3E-C=|~I* !G  =>7>C/_i$Db_#al>1p#*￲CI?Z1ha'(W7?hI}VQ&?eK=>oRe1[aX9Y;O&te?Z 4js)D@3E};Ssx^:v_ֿJ_]yWgExi'6 0z:^fCJP> o'7_&9pԎ-yңiǰnF&{cz÷=e?lk#:1b77"1o; 6 Y(F R'jȭ\NY&- f6e2L@$xxj k#7R:@5ofhذ'ǭ`"gY tgY=:=: Wt(H$wF/y~cq~rԪ V&+ly@֡QIjfM Q׳($F#4v$r[1 swhج;((`WbsRA ʰbo &K299ӯR57}0]EbճVD/7 '飶;@AmV![2Xc~Ll !^vh&cT؈cr<[VF.!ҲoxҔJ{ē_o$@$2V#]Ȅ ydSICjlfB0IzJ\f'9"I┺z wDδYz{7W'c4X)v6Rz=j_,Z΍@5kw1qL7Cx,Ej@`c 7Q5ltݻ\{rȔk#,VwPVp`ₜgG[&H6IMmZ b6u\^nj_ 9hpIogu%°)46%1:.tAҳF0 K9 ?E+* Gt ld;5IE@$| כw@׏:3`|VcvtyQHjl F>%賿@Yvc(? 4WKIIoBa̔,$(֟2bp4-ږD'4vR7RV5k#u.c ꣼l{ ٓ1 60ZB0ݺmHv~4վId=@kbO@!iЏs;1M3ۢV` *K]'I2ssҚ(5h#NolX=DN41{tK^W~|fb=]XӜՍ"4['U~z8&T3jIՅ8_҈j0‹w=(3>y'E I ̩%D=eKѯsv}ޱ Yz(ZY$ Š an3@J 85vyγ罜y[ ["Nq4LNn~^r]֜Vxux"K?fZFؓC#aDoD6k {͙%6|Ğ\)Z2BYV׋7?=l^K{XqxQT}s*C9,ϙepy,K -sŘ2x: /{!K:_sU1RP6SOr& a.o6ߧ7I |یY8,%[Sc.IoIo,QҺT|q67aB}yzkYg86;).Ծ69>Ŭ{ 0HwIh:4]iZeX D d@b-hɩzwtѻ=t1U ~"/fuE5=l%K,:1Dśbw:w\cTT4D5D+XH/|T5"K~'RI:͜f13V;Ӭ8bՁX)%JE~ <hf6qIyBB^xUl=0|ef’L6L&4/ 4ai) L Ԁ!,Y5ML#'x`!A_|<[o^Ὢ`B% ˍUObb7yBبa8JQ;|luϴg.@UXhg-Dd zuY;xqTQb΅EYk|ʽμ@m9aP?5h BuSH>jAaa`KA()Tդt4[\Kf`'+l)dsraA:XGσ֒v/P<A,+ްI(~K&q%?\nj8Ly*БrrAp&z8.X C>OM ̶&Ium>#RT%8n#=E*ƢD @qp0gy,,5YһT_P6U١Zۋ՗{X{Y=2O4MFi*xv!8Q7ٜ~ O'؝ӉkcIQδa 繾&DA+v983 qOK򊌊-Ip!nIgw7NYs(&xϬN8̶P$V;DKٸx(\|jy~c(Ι)|"F(E& cNK'1g)f8(7Z5fHadxIjzpV&K$c[l i,F4.ޒVl(ޯvB{џ1Qf216 dUbo۟οq6rqii1{4sp\N ϷP OH,s=IF^,IEi"_|'=l/# >'$ Nw->jo7ix8URKfjŦ\U&;wc6%yy.oz3|}A. 1D%"+N1ʴpZ6`%w)Ɛzq-fo?ɔ`ys$9`g.9X"6qųoan?TkÉ(ː7>ɫ R({ 4^T%e_Z}DĹ#G^.pr!@2\;aN.`3b\v42H5κw|˰ vP:`9:!uc{,"9Reo:8z7,ǒ).,Mrp|[L|GsS3xF6PG$iK%SN 伳`y`>r<b . l9$'v)ZDS;g xHOuHm;5۴Nn]e[k# unRTQ, oKn0{*sk9oQZ(yxAg4#~<33rY!S4aȺ{{001ψs\+ EΩHg7S zS 3Ik%"Aٗ?I,onu|H̓u,DFJP(cz\@-tJ4bq F-vs,T0g/W/άl2٠bykMMz FW@O?"p gr*BɒUa߳uLX9! wSk8JEr1.q˙I)j✱*gW8ȟ5glFVG9gngΐ(1 5>$"է U[w]5a}W[(wTO u?sߝoZqe/eM+5ZQUqJ g4<#H탗)#5/̐FxKyUs#fBĆ[)q6ڰ0b33%^<3Pt9U!>'V8+Ơ=眯]?) RS"k%'M]g\-&d )YsLz3FNed@JqZAվ/ai HX (ҏ.nȇ*t}lhMF9IPǵ94O!nr$}b" >~[:f %˫!fvȑ i׳7mÖu3 )+yDF)Ǽb6(r[Gey/lJ=|pj"UfYϦߨ6>SСJ|H?Fv]@K-DE 9 *+q(ḉ$͈ؐ!z *.W*ipŢI!,x(c#s s̔,rcY7kv)flpvb:\T`36,F?vATQĥ:7Gfؼ/|iws+LMFŦdNˀLQ+2  壧F&a>R oUʩ@g/^Ϳ6"N?5fxOrw2`¹2h:H9)U+)2}&|RO.ozyͯW/Ϟ#|fܕ*Q4sT+5- T23WNxh'C;yb()YVu=] >e[C7Hڣ+Tܭ2%١|rMxgmr+;l'eI&%`q7T(~#eƤ9 f>xdI@MxK;{4?PwekLQ3$T!:- Ú8-dS,#;L.T7)f46YZma7b[=%0~%$)+2DbCH-`unyL*%9[(AKW9PJm3hVc J"q뜿;z1n[Rqv[,i؏:ZQzB!kfegI)?6QWNzh;%,䉊rx#NOtveNȚM9GD(Y64+[BbeIgLlm⬬ݬ>8VQ <Ӝrv`kQlg7M5 &۷i{fIM\ýtLvc0t(ȨtI5Yx9S>8uknOKl{*VA<+]I#LZ]??3$MtOX(:7M4"c8%Zx7};bQGnQU9Hʙ'ƌ€i2vU;:QvQ}&HDxw`$9R{ dL xXDk9bŊa}8]`vW"jz׍Y#[1va14;ވ %sbL&4s($ճ3)kpdwyebޞCI>saZ\==0!J>D v,YXv{~o}7T͑^y (+MQW6˳WUOǮ܄w]HvMܝrC$Cdnx"!hf{NMQ#s&ۇ][9ɘWr>fRlK-,N}* On S`*8eX!>V=,$rp_ݷ8 4Q>ersӰ؊"wdUzHd}kMrB\t<_f1D^d[.*L#Z,Ն= 3v^&)n>q#s %xϜbkQR̺SAdK(LO"?Ŏw\斍hs9f {z),HO$rI4l3F2 ȣisj CKhGܲ'rІш8>3h {ipj:Ld F"NHa9 }er"u c\ƛcy]+>IAԉw#/qo=1LfpģdYlB@/x^~1?0?Šs]\=΢⨩p!,ʢ8k p`1Kcwvj> -_Ʉ5" \Kf?\98~#GބOBdŎ(ͫ`>{ j8P2-y±b9r^"D*ew{0ZLld[vgR ()a[F)>ciool6t\#ⴷmw-JmĞ XM=z8IbDv)tr qlKń7u{l:?4shZ3Q%ee H=MiuÞ.>SqϧVg`h C&ۃ i$H?-z(ܱi&m7 1I'deC1,VZlF !׾\]ooa%~^N$H/O+PLc,}s )ԭt6RV=*@[ex 8 Vz %UD"Fe0Xo{/nS!ݕo7Q&0bi KT((-ZKX1sć& oFȮ'N+sI ꧋O]*vob2Lǹ5]d ڿ'Oa}n/innte:PcccDeh 4fZ%a/F5i&1K'ޙOub/,pY<%)ڿ#9{D ?/ɵDQ?8g}n֤SzDZYNQ #-k1`dtv \DI(99\əLqs5;? L2.)ͯ, wBųoi\'넏%B+v7+8-5Z^=۫Q!P'BrF0O}yƧ \^_~i @+=Puf~SO)cYb&.EJ j8Y@?E_Zƹp}؜<;x9\2ӂE!7ޫN)E3S:7”rk2P96@m%M$ٶ  Rf3 D 6]mw!g/_F(ܷCҲ,˄G3x##םqpޮ6_WljX7!,5"r5ZaD\|!;SE gDB8P:kO<{!J/sRq|Fߔ(gWۣlՆ$y~ PH0i~8G@'D4`0kYj8虸bYOiz 2d[wߜ@x aadkά9$D5*oRq*Ȑ'Ê%bY\xF^·w*0 &RԁlfCIԡAw ɡPU;9U1LTbqݤvPy?<$/n>.^NFMi%c0)*hd,$vg)1v*4*$9I/rl̻ˣKJ<+'Sf](@ih^_=}>{2%m/nqB8C>a缏]Zi 3M8 7(b3vE\6L?9!6&%іiLG?/M msos\lG%rh <"lIVPnMH>j]3ж\)>{P(xŔR#zղ;d1U"( hl FZs_~,)^!/K kMq&[ ͒-\pŮR) o3'i c#_.Zۇ*+%~QxY^w%ɕ-6?/>uJs+lK{Wr.7V炈9ye+Pc^# V={UwtTS ͦ/x;NIϤ?;0I:= l03`c݄el7pif}4Ixv'|3Ocq?xjFIO) <1xI՗^՝*%^ɜSOs%RM=~)O C yi5D4vkIG2t= 0NVVe{vs>)8:aW)2 9Gմ U .ru1^[_Nk`<#NɠՇ屾hc2h+d8INJjwᜰbvֳhYcYdMzj%sr4|nN&ƧMαGT|Tl/8ų]/mlpN2tf4y/8}mV-BܮJ)8YQegjb9I"݆ѢeE20I7."Xۊ=[䭵Ŵy&dw.{<Jv^˹؎;$d-xa]Q(Ni;E/XaMڟ#"1 iB%RLh hXpLwŦEsau%t6"VTnwa&U* _YN&:Nj2?9/f>yj=7L)"{3WI yy':s~YªU0b8DD/V7b!S~RGQFJ%E:90Ջ~tV#d*a=0ˡOv|un z>w7+/0Wd͒S䥛 Xpƻp.c< [љ 4I;T38L tu48;ZjKT{1g),cӱ u1Dt#O`@yo`< QvCL!eHCQ`DY202CKo$dV&m B@O`Re7mVXK`9;KrOvL Tfō۫Z\n>m2 qȂ%4e wD{cҫ`&8C~2ӌ1gN\ Tھc!,@%cӅ2+v0,wG^~嶅%}synG%jtv;ɤX4ٔxTh$%ɛQf ]&&V1_J1:p+0 P@fEf'϶-=֙n(s;V7z/4j ˆh 2Nd[ZPVJJrƗZ 3 +]z*;6l +jJ>Jy4*'8Lbfy#?StT u{suuyIwݘgfD\K$ƺ&S7vp;jjD&c]жIMI6vqW8P1+GjO-'|l8(y%m^gtg]L hwPB vݢn n"R 9bn(B+kօ-ㄓX$k\g읋\ICU4)muMfqDk Uж_c֟Vo#vbXߛ#c3n?ɸh*j?/2ڜ le=e8"(|v://49;(Iw,y&A߲ʹx۟~hsݺ ߘa`Z$2f382|Eg(Q9?@Xeqg!5S99Ud 5_=8)%\Dʒ>ݳw2ci]Ign%E;!>p< 4$<7rٯ 2*j(z/_ΙeH'rLXuK-]d$Vb8;u 1(O햌eߝH&'/F0+疹rd.] gFj'jS/W{>~rs@ QHvƶB2k8b1X`,e 2 X8\ Ѿƶ}] -s6mٞT4 J@h@'/?V~cuvrđ;ֵ\nx46\nnIĔI9<~ʬO/k"_2gr%n>Oe zasC68`ݒx|y/ Ra L×M*JrN-lsX:LgeLŠ}S;R d_qW6~z=o"cr17H}`4l q7 R$]U)R#sN1/SwC ;BT=sq36>5$8m{|uܒ_;^.38LYba;q-a*@1l:RUAM^ڂ w$saWn3>Uc:J5T6,qyϳ323ݙΒ|JpHr]]]<_:;o 1,}bB`vɶLB 4 %3нhrq>R\D >]c``MYHl9t$..8vmJ-[~f=+II$Qeqkd,ea1sVehn??5UC(K-݆FdL5b[Jāv%g(=HJډq&OCA p!$)Pf1^/7c.pSW?)ntlf3Nu”\Cv Պ/vՕc)NVըIOo=!}u_@"?#NR|E{+/Uk,NX: Sc9 f[M]Z\K5)%Sgɵܡ :7xHB|QAο4-4ƍ}16~ "G 1/KSR K^zŮK6@r"3&L'K)w(*ƴC1/yV?8"Hȡ[=k.<) O汚^l!@ D%q5ns: P fqD(l,aҴfOm~\|'_"Vˉ)64g61ejnnDt?+ߍBLՒ9EQ!mYx'? !j {|l&g :ι7}rIfxٙ7s-uU9+r +&Cǻ$.r`?Ba)ԼEҞjG:cnZw1#띔3%_p{IjE>5GbPzrG;ݍ0 W2@-64䤩 C;C,9fҗ'=QW/ş9885pm Zߛ?? "gH "F؇瀏Mc_e6xhI48Xa9)o+#z7  ޛ2Wx>N0I.v)n[2T^ߙJ":(tw'g(r:!\[D0+EVR_\xUqH Sh= 4l43eIS" lpVs+B8js\ٳa%߀ ;R:DX[.NG!lj=V2ny!mn*pxSJ8̩R9/QD*-چi=0;O[Qo\L.Ҟ9"¯_aQo׻ּO5eֈix)=úOPTM \urfs%EY|Af61w-پ<+B2b,PBg*5 OhCGA\Uزw¬9җ,1r$iVa|v^tv2cL0ҩQ/F&g#j՗-񑗍"V-^5EF'?h=eq)sm齒;V{k(wz-nu D9SW>9&Ɇ\w7#uhzcϷluv`3ˡWL#q"ҝji 8')rƎVnVz<  =f8skix7c!ؾsv!Ual٬&g il bZ=- /l0NZpb Elrr()w}}R]פ*@xnN='2r]%~JeDb5.&57o`לV# gUcX|eaDeu$vN,}#SFj6, mM[칃KOc7@ry'-N´VmvM&j}&爰)0X&-ԉQ }ɫ3ǝP}$HQQ:8p|Lٌg,zn{g==yG,!nnY>'"$Ks$ n$ ˦X=z3.Ԅ dȌeGD)?Vc}{~yMM*^Y=1M8[#OuÁ"VIL~ٝL7hsSҋ0TIi,u/d4SV!_8` e<& $=l|\}/PF/BFIn8sxY hԚsAQ =`zH5M- fU@&i#X{S`頋q"9ZaŴtU5܍Lb?tV ryN({^3(Ƶt J?ي(Oq}˹Oq7~\q/7b~uˌ;aNK*R$ 4ί.[Ρ}bGH"4gu {>3k'VM͒#6#dHœZ!oaS8 dcGH+aE\ % *dX% GHd f&RRP ~ V,S{?Zԃm 9\ؓj ^tx43ip:tb230Y_9'ew9@CuشYF :p$uB`q\n&0k1g@.K|[R8&r隼Serx8Zm"G '&PJxHuȃNK*N),5wvQzY{:8R-1gו:ńT|ꊅ,ftNHHyv\iSO{> p&z"ƌ'gPE"" \@Ϧ9.սu%!/Tϗe2lc5IKY[qKhΪfǛ?3ƫ3 42bv&gX*8[)\z b]k6!dVteU vdD@r` `'Ą%}+PmEnߜ8; h$r!9!qg\]lFn"-ljLV™#D<%&dZ\] J1P"2N.ʹLO3N.2 cDhMK yY5-vonH*PJ5ϤhG>?.Yd&;cQ4.H<ۓѐ?i_(͔ŴOͱ' b.*6`]vBTf[}cwdc=iX@\,X1ώfq9lY] 7/P ќ"]U*oV,O [3 .D OE˻#魑t12.ڙ~hԍbRʚ$ ּa``Ywp;njSA셞թb/817G'$(R᫆aZHi}<;_"igλsM^ Qh OtF ?$qneǿ +np*)Zb QH G0 JQY|.2P"Ls(ܓ+>ϓfh8Fm¸q#L\]CQԦ)THJȸ6|\yW޻959BnXX!a+KQ@f6Vrx3Ɲ{93-28a$Ygcߚ8D_le˚fwv[WO_MĨo4d{ NB`rcX=ׁ'r%4w&I׉ 1mkue}i%RCkvFf)d "NyO7ۏ#qwKg,jLN-SbK& .OZ /T2/yZ4+"e@٧wzsY*0"8qါD1#~: W@Ž!30Ea-_p4?2@ǃK[EPG%ώ|C-a07DuupEԱ5c[%~VL0Mٜvb~yG)GlUthS6T,Χų^lf^g3YaYU7k_[d텱n<JcWZnn"Ǣ* 4-y(yGu\qir OGHvfh<+X-^n:zty  "o.Tih:\sI]_p>CbA»j6{9!tfzxvRm!U?J6dD>la)-,l ӣVؔ\o_\oI* +Ro0'{5c(̝8pޑQj[Bt9#`M%S֐3L,9a&x#0.}6OwTUj}ƐKTQ+EOOܿ~G5JWK/vqvW&ZUpvhF!7wgjs#Q1)D(T=^ "Yo~_8FR/tF˙د80pVǍcF\zsRWᚦ8pejkidj|qRSnd,ܚk 3' GyNWŝO7[i@n#A>oTF"O &AZ 3.__E*xoHx/Nfc"G %#8 B)5bl&S+N~JN3ub.|0١TgfXKRrt#8Fpf_k6 W!c I 'kngY; nt)'f'tfI湓y;FKa_sC5I%c2Fdv~,yi7+BeOX[zw2l\."߰0au 萣ZTWgVƓ\$m;Y;8S5A(?$|^qeתcDb\-X0`KU97#MPnonN+sg5Y%6Uܒ*I$rڃ8E߅irl}yɑȠ`s*D#'5*g#L2VoRbjTMs ACJu7+=?{o/5)8!"ΑZ5el?x [-6Mde2u2Nn`H𥘐a÷'hח=q|(@3CQZĦK3O-cƬo#ٛcI>A. pLyzFb?ś-.TgR_uEgsq>bN6%%ʨ%$P<^w)m@i=mܬz3`BpMvDH@fQ !popjΤbHŇUt+VؐЉuco"R¡>$FWj7jn{q`RdrUe4 #jyC v}{wuo$<V58*pWNik,CZ&Lx)Uix)M#Lr|Yp~_8Ҳ>+ΉC,Ζx~fp^'r/R[8ǧ;|YNޑc@$~Z)mš-|x$ [VLHY DD{ _6Ǧ-9*5 j*NWq/ȱfG,\ hqŊ,'ê!'pNda;fuiq yc*r'wvy8'SSpLQuhԤb3,I{]y½DF@gL9Y'Y0^wb jxf^h8ǖA,]oڭ3.^ENjsDAfű owܣs.8^5 ^WTQ`̖0UR5&a47/5^KlЎ >~`J -8 "g>OMfΒPJuaڀDK(VeQ}{^?f֨<#qL.OMzN JY_pm;ԜER Ɏ3zMF}` *D?j'tTM5Q@dҸ AV7Ka%3]C<CxFSow 02G5a"SKw2#ڋQyßtg-5j]f*24KO/rw`|3iV(RT#q,8AބUti%& nnwQu˂dnT8չĜ z鲂_ͣ^XS暃[y_+fpLHV02c$Q`h巯~N=D٥!s&#UdUݚ1M#)Ŀ?O$wcR~(xj8x2W*3l!sr#4-Ej+i|MP3(p^<6n(2.yYݻ&6Z-"hTw[X]`)a6OXWg Lvl:ID5X%ՄK[8__]/7"3_$[J $%"{sjl@)={hiPmio^}ޞrOj'!b'MtZkz&XR/{{}hg <'{_TbMsOIgyfצe+ 允-*$Xy%7v\t1nDq'/bÆJֵ6'-꧅d"Mщg%?!ᮎ؎R.x֥Ylb7&jjFYӸ=(Ô>E5w\d%nRS@bGD JPg~BƠd;-"ۇ0urX1Q]:JZOpʒhda+:,'88Sβ"S> X;8 -f˅fQOD$LUR Pr[Kp\h؆1>K *%p%! +ir$*cኙCOsE?^9:e ګ/8ٜ1B70J6,Eˏc.gd:tG,ٰoCg%މj=y-l4UDBl a?4HOxƶ [pj/͡ /هj7.=;'a>r*/)UzX:ާj'2o[%CmaHhO/׏՟PQ#܀5qDv^U2qf_?miCd$- {Bqp2(fY&p`=. )&Ll0Z}J8Ȣˠ[#e>D \"PF-6OTkՙTC ̑r!K> ݴa_pvm#{iڐ_xtgp@Ig$I;eK]#{Us2v [kDY5 hU'ލHݧ1=3ܐS\DljsJx[{‚3g׫ye8QYBOn%k^J;If6v.%%Lx' F,~ t/v13`Yΐ1}")2BxC/):V&̈́Kr8J̇$/I1 G0Tkt-,_] d`j2)Wlq`Jv+qg9RQ [l}LWAh-RX?TȲpHBO50z3UDJnؾ/CdjEZ-p99p5ͨ7f>9X*'ѣ ]nOq%α #:"[(Oae0xiz{c+L89 (h3}!.ed9pg&6|O_DMpߢT܅G@oBH (Ly"V%8 QM6V;iߍAɄDNO|}<qg[*ivڕ='V/' 'Z}EZHHBgE}uyȖ]SQIe*DE0Ů6cżn=DbV`dIidf_< ~g/_PM`윤2<{Ծ-+N G$dAtfG' VJgD,6\;ife04BE/]\B-Ng)b:Zlf3ZȑC: )o\umbK5s ! THI,Um.(bk(Ov/GtTƕqcJ"UL&!GRv ֫Mr[+oڪ hL_-…I *j'Q<,7#3XD#W҆:,αq89&D)'Gyb3zw8WZ4yr*v@h c[:-FgR a}rŅ $lj@4VھU|]z_׷\jyT.K2$)`s|\}q)P;J9^,挍04Y@/W?`E`^ *f,@7/+v̺k¯`4{^d9(S8vP&J!~jiit phl^_ ٝ>gfa"[cpI7w* W'Нbu,p0-8`>>9?Vw7C>NL9{ -i)zAx~0dr]iHq\!/<'?xW.EQuIV/ 1\-S<:MZ_q8}_~Mȼ-'\JCܪ}|3lS8$V2)L'e)k5Pq-^#HsO*EJr Ӑ@cke~l3B%ۘgsD0+mQrZN|͞G۴TLfCη-c3W$ xNWCIobל8X|7g[f#T%j.64oO't vT<9{0Q LWTXY3aW hs:kQ2YItJ=sυ-OL\a'd!wА8o]V}rX8>͑WzɊ֜o54gM, Ne<졷 ,Pg[S2Q7f; @bSiw69C%Ϊp7O $>rb3cK=aa7 Ď:ߞ>.Mv~.}{n}FjGK1efbcܨ/*Ԭ>94#x"]aҔ)@Ub u_.ϞdPI=VFE>S7OTq4$sJIYؼ]΂{Q?ƽ^B` ~\|^Dt9,G:Lc[:S=TSy6I_Ǜ{K;8J~9vT] F9yAN* l^̿h8Rg,^{=`l7ٓ"N%C;p=0FࢦDBL uw7+YSN8ML2L]չNM޻(j%5ENPv=SUsNEy*afZ|@C "V[?L bl[U!%m="(anPƎw {ןmx?y֤P(S3pO hQEs3K'UHW!rD@P҈eِT1]ngr}. ͓EHE&%Z 8UW?4xyf6OKd˻`n"J5U#OqAf׳8A xJ oU8:w//'`_YNCRGI2lbdH=Ȟޒ[VƭCҤn[DTCf&dIԴĠl^)lQ~ H ɖc3{)E,WE[}:eZU p&C/cC,n1}H2I$0$!-V4n*'Ze鰠$bIc33¦8kcH3IzSXD\3H]Bu#MB!Dp0IBoE]vGH lhhбZZGc7:wM՟]'/^SeKEl= ꬧6ybGF~wWo 3#F \@jJOIxY@N7ʝ NіI͐KZ"ؠ?64G,K'紗܂7unSK꒑DI >V?P*j;K*$f ƑY6؟qXoppooW .t-im斜 uICN$s]4{+ljlJ):~ W, 1E9U(XD@nO ;lOK%]C@yifDԫFbg-;L@TLE&D,`'B텨X`O0ڳi5[ ޕG-.Y(-S CcKҟK*jatNagl ,k懚oIED֗C?mI(C@ҹ^~=,L|FFˊ3=)Ct<R^}֬<[Q'NXf>~(GܙuɼF肍tt}SͶ4g53O:UȰ x-zqnW|5(+=D`o]"b]1dՖb K(2 )fvw z=\b(!c 7*D3ksq&L'Y^Fe"0qo䝅D h\06&;նD,g5!JfayuʳrO:xz>vHphlllwOZ屨ZXFrCߎ/w9V]IKiw[!>@|Ρ)t9HF)s7D_2?]pL>8lJsP%FЈ8hLGIE/tqb}~Xp`; G|pޟ=)yjE4! $j El/VwJ6RFo[ #/n6OSKr4FɶHsP@ J-%ڏd+`zD!P6!~, #[MB5 ?!.AWh-CEM8ٱRZLe#`jL@ip*BxuޣiS$ }1K|.Km2a:>ƪ 5(8L x8w1beDڒĂh+ \ݣ"mg[m|Ljԗ<ӡXHEoW뻓v)D%CdZ4i/>XOHZ=YzyMcX῵*A"n7w{%֔m4֐4JYO/e DU#VQ(_&Vv>^p["{[^7cGJ{ry瘒\aެlDn{t2˙ThR n#=~}yqKnsNڶ?wLy}^+޺$s$U&??RTyD+qȾ*Tqcwpb#5Sm{뢏{6}0JF4gl<;?;nh!~0`&H븗IJvf<ܦx,k$&sY"a(sRi/#kJ"#w۳l db|iudb=xXqXR/~:$kK)rNB{MN_W4Gcux#̑o[Ȕ LVw"v&@ pY)2m KN[٭Ϥ9Ll>HT,9Y5FɸE[_o=zp28BQ 4NsWͨj-qn cAJj7KĴpl 0n1<_\]|;=p)l0c nZ4n0Y<,e| |1vV"SOtCgJ NF\|ƚT\z76QB1-50"k2?{OXVMI3X1D,`Wŏ,9ZzGʳZi@7ɦפHN? t ˊvqqDxqH;՛Zc[LMN6{E*T9*|mcސ_- }r"r8(VW_cPzMBӨohi5 r 5Х9 d2 bJh"(frUgLb,Q7$}\u}+HGA%=Ӥ5g=hqn9CN4fGUy3JNs&;)Pns}d z=|!wbܷ4dE.w'/7_oz1@!:dOH $בlYS .t'ًLBƧ' dӀo"7IHzj*"nZov'N"x^0N 0ŏunN =OyK^K|d0Qkv_9؋GkA%g1UVd)Jzce~oA5X&W9`I*c?^nw{ M_dO|!w/TFpIJx~3cbWv:ˣ@&:zm?mכ?`8 p7eżb-[keřA$0[4&.8`d[ QջAkeh# m}%ɷǛ ׯpV!Xlf䷛"l9 " 6_^_~;Lf 8~7*9H6)M^YY:}[fe.%oagכ-w ĂhGܟ+ -uM!|$V4>GPEJ=CM[-z3L>V)]m&"-T_Xafm4չz{&-+Ml=~ ġ:#{ۥ̙f6B !?o7M<=y}}ͷW.4oTp-ܬ|4u%Q#B?5T>Ge2'@A|ZҶ?&Fg7YN[S%JԢ˩|5 $VrRi*mW!=e޼йWAӒ`:e[u)&,m/߾}l3n?20OƒbmDq(qv 8poL `m~.Dq>u1N2Ȫno알>!x0E{1HRQNU;rumVCgg`LLbx,wmdhp{<9ۅ%4%gNqClb` ˓7) %hf#:= c-;tab)QoE919/OHI&w=!oep6beplɝiEr{ƾ;!Xisqܯiv<ۑ:B] tU٦t~GEfbg?EImRqJβ5*t̙=᎙B.c3k`2kRߓ&p"N ʒh<9c8"ūĸAھqolD,͈"i%fK8Quܔ?dDe)אx!pg4Luu螿1_o$@9/xב䰫p2JɻkZR ;,$MK VDaea,ẑs9ƶ@wշT:g~grׅ=SkP\F;JeM:ߩD qCv;Iwp :x67 T5Q_}\*.L_jGuCԲێTjO3vqȏLZ'YʰMVrB &ra7X8=uFRn+.k2 ,NL,dObƂ]g2x N{ề74Wu`jM6bMaKrT%Wbk<ՇPꊍ _s2ugo7=9 I;̀ )j%^#*$雛4w zTzhh}.þd4L/xB<0)Ī;x׿ @fOagĢ<(o#8_׻IfX)w!VU!0SLq*qo8z,n'郟7? Z61$O]Nz94b>rOvVMHy#{;bbҝ[ ; |=p˙ c,?2 Yz/l>ig'U0Tvyɋ:TӥJθ̜TVHlLD)(tRb!q_Ȍw,qyy~xwV@'m+o8VhX]l߳C8MǗBmƩ^ OӤ^]}z޼WzL3= K}-TQPI]|B違(K.>MK5Spϳ)رT/pJ37~Sȿܳ)z<eLR5a,gwDkq?lNqSߗ1;Zhq:@DO[fu)08@SH9JcFCՇCgCl=5ST-6rG'mnsC(]i:^I 3p$dd<>#w;#m D@*6XB/OfȔԫ[6JdV hxo7Wԝ=+kD('Yv3Y42F|t k԰al@-iqoMNVU;:J`'kRäqnqus{AvQV@K̆bL>2M e[h3YJCX\= ]و6.=b 3~RFobS2NWK4[)Q5d@ ,S₤ȷ,j{9zU~a׀oaX.$,Xmd&6) /ANCņOEx`sȃ.Kq@ߎ ࡁHeiꫥd{ Qi;סmr(!~'sE: (Ev*(!fG]G)$|&G៪IAm9m4^r&X:'R*DFm r6%Vn=N:H+tw`@fBׁ fXRY]!{a}σݭ/v nqvߘy}v=}sylkma76I{2c8P&hX2s&f1,~~YIJkύO6c^:N[Y~0YFĎqj[D7bƓKnOE;D9#xiWXq> ZC6,IW!ɬNFzMUIԤrKL΃&QtY϶؋coĿ*[ƽӎ6JQ*uK`IMasb!B(``G5ɟᾱ~&khCEaiTj!UNy$ rHro3؛LÆ{\x)P/cG|ͳ&o=Y_; .]\>wc@|Drte/`Oۻ_|b؀x-~D`YtIR~)kB3; Q,inKGEH}ldLNNՅ O#`#˪qao"6O[,j7ZwO2/*Z> ح,D49t5EC$r3xY> "6SQy* U։B#,}1FrB#ȌYkpԦUQMzb;/t*5)XZlJSq+i\^Vן52\Ε:IlD $gթI֡y]c""yzc^KxdEmK3yr hv}-dMc5N&2+tff=Vhm|IҸs)"MFIApRbV &?`1&x N!j78 @hJM6Z_~9;<wѸj^gNu-Kuj‹?6!&9e큒c0g4.Dz{js~RO63-CeM]L'WXF>X\6/e 5ask`>)u*61p^xC ٯ/傈B[2R$Re5OAof̺z4oU+e2[3<}2`r*5ja$V9;-]p@uK016#Fg$ubm# 5IZp;^ #twۋgrp#t6{jd2?;sj c}1e0' [I^cyN (̭;\7/w|zl$F,qliI ꞴC=r^[%bOIYÏ1]s Npg|MJOVd>(}E@ 6N:DJR@ հ=&f݉"xEUqi xz6˃i1(oaޏOt*{C›nBȆ&`yMap*3Ko{dXW@-SNK<آ&XđN`l̰H9)JNF!>'ˊ_ulanIglٍ]aC#7fK\ ? %f"kl6X,W[g#'nfdY3*' tΑ*䡣ׄAw6LJ8ه2+q9O03(j;N}doq=aJ5P4Q*R 8gQ,0eS@ KX1 &/bet>%3kI/OAJUV3[c ?gOboxoRd%%( #+Ui f_1mǞ] LpP&(ac9Dqx'rKfBJH@c tdEӢIwr&yU@`E"Po pJYINTX~"k-#"!7,d};g+y(ȳ:o!}HW)w=yYY^0e)xa֜J RewxxqGG5}n&0e]#[CJi7׫v{b9k(p հBE><ݩ4aGҀw+ƪ&{bM1E2Qβ+;S%SְH|ZsSE) Z"\g;top=t 1/MrY /.\dDY0}MT@$UsD8/£A5DFfѫU9W-閪d2 =T=uοo߱jRSdo%Н3DgĎ#B΢SA?~&"q"ގxL~8EK ;OR}M YzW#{}$Y|m %[?`:|*G2XBFjR8~8Nj"9,jTk ǎl fŢC-cƚd.S"x0%:x('x-/6yqvo7hc(AHAOWiN[eo+ZKYy[$aIV64-o.C#:M֬ط6Vd8Osi7W_.ó c(plʵQg-\g?.N0"3v|T}x@hl,~?v=qo.qQ JR}4 zrٷT $&EYj;+9I>5#Ʉ:kΑ(Ոsq1G:ó?VULkdLc1@Ӥ h[55ȉ^1 U4 OanӨT.a48vRh$'N We"wh;"~K4!g@9b9rȧ$d_bp H$/o+IWǑJwcvenMI'<%M ʐBtU25Dyx 6hUc D^/3Gj'DSj ^SU yd!X^=m1c,Ne-8䴶2ߓrܛ a_-B8FVTIH4o2?̓^;Pu 3NX&V"P(;N9~@7 gD&бTl)$ ?A%͡Ռαb0R#CdL%B? Ja:L~\;d~#ۡj _YZO޾y^~yϫo'hGHE凣;!C-NҤ*SB~qq`mZ۩BQϙ]l獆 9erwuW$vTxbgK)sZB7,% q_pGRSLʅH!Kkѡ1~7G~uYlԥ#S,yeQʹI*L !M&Le;?<$B(p: ,Ya68LP€Jr\0Ų)hOڞuditSȍ4 =.}4+gӹ+®wj8@T$f7* ?xs]wss3)UˑKra"2܁u,T8D&ʼ--cO޿_/YζGGW銔8q.)ٖvP`("K-.ǔD%@^5ny !aFab#-]hNTڐ${"L6c߷ SЍLmJsP" #^|X 0KbrviewTKՖLsͳ 3[+s %Q{xDAZm|Bhe /7S秼dYg?>N31=f5{ϖ2HEPkfY- ;خuw9hK 8Ԝ &[67ƪ9sOƦbIqԚiS$ɅqWNǺ6Z:2HW[+׷jۛ?d@J#"6wR^ElyIT\<0^:QH]+p/`Ä7ɨ)vY֤(5Eʢ lXi:3^͇b@Lw*=cwMmń#o8kn2f7r2U:y|c7# Q#y,2?鬝Q89kIF2qkjw`˷i .@RET23}#8,&4Qy?ak\25:57~TXV=g!ʊgb-O(Xo@_ VX20b7@gSo_1/Ɣ9l|u¤[#0lC6X'0ºv{]\R${G-(㴞`#άR]9DMREq'A?vG==4Z_ IF$Wd~ts\iw{Med|;3X o" ?mᄒA7*ExVr3W+:sea a\F/q{L3N5<*`X; Ir7@n gaC(uMe[f\ʙ#׍E5wm%?0;Q! ^d&RfAf%|4=+f{/KIS N$>%i`R2&`RCճ _l1r7 [(tF~Z:֞Z#f/ԧAMyI>%wػ{q|~4c8J @-kEQQg@Q& k0ĝ @IF0X{7~[mlRɖ]LN4Rj? \_]_X:4s\n?bO-9Q)IH1R֡b'l39DHz85JX@_m@enzY}^NvcwvlC '54zˆ/_ҙuEj P\U A3Eg h8;}~\Al3g/'!AX ϑBg\x|#IO|K3ƽ waf } $Q憌cw=Bڼ2-2f W2FC0AVRn9Y(bGBwѠ}Q ",9S9Fվn!6~vy%~<"ˣ6Y., 1_G\ȣlU|{1}2Ҹ4d '@ΑT!D †^l^K&KMXF ɍ K=l$gQ'22Q&WajJdneɩ0g/2ˀe;Q^D@HS,bp67_([$eF-9Ԓٞ7| D-RW9}HCEzJvX'cjb8IX!])EȒ I[G+d22q=Hy 46u,<>"xpaBbVv'%b,!|Y ԎܣNOe=5)eium=\쿬8=sWh"(ZQ4! W0kf(I? 9tm?&4ճ SQ M3[?N5jf)h"3E3&|Jq)P7כ\<5G䔸CXh%LH:=u7dc[ÿז3gXt1aRfsq~+Z֒JJqxjt1Lm0[ERn8n}[FE ^':rwFh7cIbߕroiw AX|`L|O8;!3 CN8u4 l+g9;BsP$󄯞(I[ [[)k1='Oz؃]JCx0H0qN|`#~'MN[ܦn,I1YȜ>K 0QrT*JZ?Tؐ>:M.,U)V(/PiqP矯oω )$<6g:MSh\fD6/6_xPN!yYG%'/bUqq&Yp<Џ5Q 9plOڹNJY8(;jCu@ՌD JmT][G {*yd#i\#ԀHÎJ<]Ίz )>nx<ƺU>[7\ k捀u x-;(Y3ȠRr%3NR-ѹu vO Y-,=!h׊$)?)$`,>̯__JQCjy#;Wq `F<ͣ磺FIIX#=V?/< \FH?sS.Tk̡O-Z$dHf Z":pOB2 2lD>X@Xff)RUZu'e| =k=8$\,EKCʝ~YtGMVB, gyc۴}}ŠT9łp'K ^KS ʊ}%7) 57 4S,fUyq =–__dț[I=5Qk;9aq&ΖN̯8H"9Wnx8iIjx_^y/Vgy<[ܦEyZqI#96[-V  FjKaA-i7TE]M.g٩ }o%s$SXejAWx8u%ѕlUњ\5|b⮭L8&a/EW7w x3 )D'̤ŝc0E)L3Xreqn%5O샒/U/o%Y+$pT\KS$*M7Z-lS+'phOjNq Uk*Ҥrjm΅nwjf@|N^~B8 pTĦIڴn)4RZ? H?dVPD'`g2#!Y5)XwY3¾i*LbD@ b* 6d(.͑X{U9T/N%]"D7*cB.lQˮȸ¢a]2҄H, Sc#B "2H3rRXVN|OhQ ?Wkа\PAD21~efC!y5gHL<#C.;.X؆õ%K&|!T쀎eCcl=TxŽ&FL%#'FT 73Ť\E%ve2Ԁ @ΚpҦhR5'I  > ဲ[Q=} ՙ{/QS Tc'媠g/FHsVTU2^ECb\o3iV HL]N[^|>Q@zɷ`(;f,`پ?0Za% 7qܛDG|]fRy-v"*[̿]&cË+ErF%-VtZ MPThMw_q/dl X:sm0}8o(Ppi3@,8,aΙZv_>ojzTAwJagk8hS1R'xjxGśy:8j-,kټ dTGɇ%$ {qreI! +G:z3^]nC0FH]Y3bȼkav\WWg3>?G񡯧Z@,w4ǐ!3TXx_./6L_'IХYC;J":ΜZU0G  _qᕩJܲ[&O'Td N$xU6z=X﹍bKMn2(@z*䈕̩bsKo'8bl,*T\YIn̲\IA&{b+} Y v{फ>=s4x(845y|^CKVkȂB<2AYy=w @V0lХ"όS v{TiQQ_mm9L>љeTdž1OmG|0e0mpdԦ[t%`o=Re*1zFA#"; 1|YcQeYG6D# Q%Mhhy_N4'EU gјmKS}HtZrnT8(*SLAXCX^ų׷7I":8 ,o9L#'fM 8O^B:v6n0X3 xNβp $ FH [3FeqSrqdy 'r$U! %MMm8/ҺsyV%XOy ɃU0 (N,1uzh6 s3z~7~x(POv.cp){]5g2'ĮS@} o19ZԨH׫/`S8 ̗%k{xx,1f_9Mm։$&j]Ui`γS%DH'#΄*5 Ƿ +&k*Qs/l^ B8yV]P=?j=.X^r#))BCr5^I9j3rU!8d-$=qS/)Iˊ"wgϲI*v$}֑I7)9_lӲG? (/Z 'q@vu2ӣvr.a,֒[hFUS-a#?;[H(N&=4 VnoH8.dW? ḎŒW1eYBbZAo qJ8R}eԩ3e&8 >3^♣sueG׻`ԇݱ-\>t$ |=rlhP?_I%T318+f`ZH 5 D1/ouSAjB>a xyhGvV?/K`)L }d:_oeǻ G$K Z]SH-eijÈ? ilғNήF a"e*we+;vR,ç'T9Q$'YO@۳cZ]Й۝Z#e2S#}İߐm>F?@*PM8Ʒԭr=ʳε ܼ4?0-1qqĹ9MTV)Q2#6ovw< h&IH.VT2I4k.EU¢L4\lԊEB1JL=Ha.ӆvv=+ goo?ݳ-omYvS̡[q\m膟6ۻ[pi::TNr:<#0ef_3 kzuw(b4Uf87J'@dcW{DGl6%-`lkK̰sLv& Ofϫڳ%Ij)LZH#A25kן+`;,QɰJavPu:۸vm# iuf'(YHLNJϭؑıZW!Skr~2u6LRC۷}6'3{A.XI>KoBX[SS\}} 4LnB|']>$tcM&xCKȏ@* bP߆f,1 l>XYӖ!6'ƒp˦J\vv%D5!+iv@lCG @'/RUڱN8& Ow1|Te&i>BU>riW/Z1&r Razc8l7֫Wf\_ljQ0 L_5Mz*˖e_4lN-i#]V"s)v]IZ 3E6G B@X*ArW̫8Ԩ{O.dLQ\/$\ݾQ-(YJlJqgl'1w-qQq#DW L88E~wb~nVL`:7[1So4 XoL_77^F9ؿgNTxa3aW-ݷۻGs1"ZihbH9!bNLĀN=tS0nzT#K9 *i ܝBDn6($%_ȿLJJNCI(,gZBCzu('dë92J#C_=Y0HrSfrИ82tSEg$$p0` 3yNTuXz7hFRL$|PqN2"(Y՗C}e܍zp{X}\MdU5d-*<EcaAuko8S' VĚW x1?!+>"F:5SŒlH=fIP83" q0(9`^YwY~H3{ ZD%^,a(yrDv%I9Pz9k=x%1NEOj2+RF x}|69ś ))2:!A[[\||t!8Ll(6VMq?V62ָ! ˊp!⻍cc#[x(g9~]EV!5;"«dQv"lͷ~xnG<8ҋ]悗z궝p )flO X7kQ!j>b tɦ'Fxp֔ իm'yU!\0C%7b.dLÉw]@ k*8Ur< =NE%)?)Gd̂%<&dEP:mꕗLly_6wwNxye,ec,G#| 3K7tS=`ΥQB:$p]Tԍ %]:F@WЈm䄥S1Cd{!Q2ơn>UGхXc )$%$@TN:RYM~xf"#2-IM1[=Jk2`;p1d.#A΅⸵Pc D 1_0Xj&ӑS,[G xجCNgJĂRbD\'TyPȍqd 8sb!#QuRRb TK"-'ǫʄ"r ќin$10x̧3܆\gS}:tBym]fj*ۻyTrR)w]΍lSӯn>t7N©炉Ej<޲7:7DvȜoSG~c)6\r)kj= 7BYv?B:DLFy{+1IGXuJȑ)O D:Dc; `$ۖ@րT F2GtK&)Q -A)+{e`3'S`lZ&"fʤ`z ߽\,,AU59q|n53򃜶\u8h45KB< S o;[|CG&eNlpF @c,m=3nP7Em7keslq,3`S1w('ݙK[N:}NXOv)uNIӐ*s2;q]y<`\qTk!$ Ul,t}BR8Ԉ eF3P߮R 0o00'aUW?ZpDH)8LFpڮwχ]5!(Gg*3R & '6(cXzvY*,Yc#D0n6שKFr7] 9Wy.>L)ԭ-]b*mp7 ߌ"[leaY/%gjǮS(.^dkS#eSq@M)a8I*-XA3@u>Ruכo' }N0s58c8Rbj^TfM:lX ]1&,Ul^ˡhQpvqg88^m\>R=BSOXi,j]qs٢uPʤ"SFoz^ŸLdxZh=XKBQ[M@9e&16~;#;$Ğ4YS A%WjP/D]3h-it~ĩ[KJCk 8S2%u~[<6)$DnHwo=DHM(/#?-FdžK{Q)>RI{L! G"E`G`F2)?Hknapxș2d s%_1JdC:%O(2zbY PM&6 Y]dN)ٙ:SG [T\KZ, v'|SB&59~zFyAqX'nvk] 3՘]gJk Д^ϤơȽ!6W`RrwNr˳KWWYh@iw-+rr6 ~ppdȜ/_L򒧚(] n\;L>ϼ[6d I]"Ai٫03&kUX#3< -IT-a4xxckGC "<{`׍t2^ n%a 뙿;e wzaup^"[03oV| s5zvqs ^gT[&t)D7}=1ң ܣj[$N֘اATşf8v9lT[awf 6ỏ7aa @TvpxG ]o!"t0j4M,snn"xh+Tݘ|{FƚD4q?ʾY*ǝ|[̲(z0g{;&h$~w7j{M} sJ!Fa/\0t3٨xj=1Y428F8A0k 9N+% JF R ^2Œ\c -dގëq?h{ؗf ̛B1!W ([VpbI{w=^q GāE=4SyѴF&^3?_:9{?8/19RKŀ)\B2Ln0IjyT-k.Dn72"B3D]5sɦ!^}sǢײH9ǒ^%a,Hl%I8Ջ67wODͦƓZrdDx(0lK: JfŊ'ّfG`",w<8to72eN=쯍"VL *S21/HA]JDMWHzQ*yb:< )UÌ:vCq~.Zr0c=+a%7l S^l}кPf֕lZ< 𴽆>& $UhG .#JXD3S%,%K`BHmU}p`( c%,Qh4Y $)DTTiO0R%bFOTQ"%Oi#Å픊dkI Q7'cǀ%7VlDlԟ.VFnovTQ`g'7Jm$rHkjI(Խ}s|UA㷅"Uc*-XH$@wne=QvY ӯNgg-nO#U98  "I׳' R!&ךejt_5Xb[Q7@FJG])^ x(/{f5  B7U b*vڳ_qX*<@ l\آyJdձ,rɤ+vuXW Χ=oxꜭpJXUuywd~ͤhym"5ϲmlce's!VGCQ 8W{0 }aq*%n44NjN}r P`u>..aS!|^60oYLJH07ݟ*T-c᫲72gNm8=׵9"SÝ`UDS2aNЧm6"(=MHڎe+MJkϞXh6 BS7 |ǁ6.!0JsXdLk`'5 0{I6I8Cz5Tf7c T9>lGKƢcE\ة[WSRpZF<=uiirgsÑ#@%N#U,-!03.m@P42HćSK?壆Udcȁ<3 =Q!I t{8~4*a'A %M"p͐/oWr{ΜFc$/.Q-dI޷^yGᇙ!6Eqg5?8꯰Y-Sr5a``[ n8I>aOyAQgBJdOE[{b9cry w$練5ַ#"C D0En}n"g~ k@R,%]n8r<:Xir'&7`7/gD'z~~O%nnHL%`\=VL{Ҷ|]CUq()7*vy5(+f;zV0zօG3kETub?uvXFd^߿nnY]D>ث+I w`k(.Ovn);B`|j=g"J5fU꬈9dd&'IIVzvwI֜x-rMǑǔQf&X,v6Ēu2aR9H\x7MO,@vrM0k5B`\ =Kd4t9Sd"c$LIQ2f(C<ďl*b.cf'DZlǞŸKnsee&DRp1Sѝ厬ΟJӺi\Aj.*+ p1`tCB*(ġlwMW"jVk#T:5UBވH.Y w)%! *GwyW!_'`ups:U ]-L%,KLOMNsN# cʲt_?>|m:o-Yri'!۳ɞV"fI 4B~L9+^Mc+od'8I!D ʖ>>ݽVwn %ݜ+%>E;P1I3h7P۞@k7jʲ%܋zՆF¶~ޡ?><+IAD<>d^ BqoשkZb~(cD k^n#,Hm`ص X䠅U$D]]•0qI:GN&*jѻ$XCZ*L|uW#Ee/=^PAdoSGq|ġ CtQqJ87H8J\ bU&n|jݹ?ê!Lf`|fs`LFxr*uP(͏+ x D ߋع M&@9= +'ؚiHQ`K?=㋯ՌMƋV6na1ta+2)#8JlcXqC|-D{80FIv̀Yn<`zqR#r3 n21 9,FOTOd!n>zZBxL=q4LoH-g9#|+NE,KCM?r?489q`#(ř!%'eUډp`oso><ӌRœXFQ~h0dLyA.J{uX'\#@Dhsؾ'c0ˡ=9< Np@:ikŔPۛ*-̸g}9@uXE<,"Y\kl&\vK n)< eK+KFhbO(GhRn4*:i=Պh6; e`[s*6 5<[6|Mlmpk@*Cta,6r(r62>YχS!(m{qSqM"cltk6spaI]B^n FTȢhMp2 F|ث]g'6-6naLK]1sr GPt&ƆB#Ṕ3x^:3,~(2_?$OS3b Ur#)T%X9'aG'u)[>mVڛ_^:!pg0OD䗩OSFjr;K5EhfCƨ9pL8%-AoxIf,}SO QB*rv* k 7ϱdDz9\׭)wqey[NX֪gFt P%?Qj[nf8 !ŽY}>CּSy==#ޢHYB\*''WAccF (Lt1P5b3Σ|νn`r NCAJt%XGڏe#X<$e{P;hݨ3{L }`9]&˲a~4$O aaB3lO_pa1G6EOID6#wcF\i U@HXaAOf_c7q7w~@b~?%D)(STSx"5O8"XgwWVqB(\t7k7$> rmL?zT-HՓE&9~ud H8=k8pF) bH9ZU4&w,v<;ebm=0~(+GO}N#ڕ_e...b*P;HDŽ-DAE*4J=đt_~8=(d[9~ٞȟ6EUnxL=(=g05'wc_t cTb6<y@N}, I ɂ` z^u:<Y. =#"epQSxO2SJz|C9O(7SI^qI@|X7<#5I#s!!O/W HxjHY7vЋª` "ҕakDu9[*6^H.96ue[V$8!,}LŎtvIeH|f J s A3 #R_+0۾Vq,\e3ލBxfM[]vv{2MxeFaWCrpXkYU- N%l3X8Ur@4xQhëkeÒ)k yNV ]y޹~5f$D6 @f[ 3RKAK&5r ̶3z*-};dSU N`9v`ݵD ENV9:pz۩hҹ F$I*un%DhlTP~sZ`z\rw[zq-N92ɜ)d{sWnc#%nmqw~Ɉ$>1g;E|n8dMlN#s BzF+ҹՍNH}x< gTnyc=E_.Rrsu{3SJ_2/>0&z=O9v\ Tfx?v,,v u|~y LEHn8Ej=[U.nϛϻw2 ckxCp(;ž*z.7/#HcM|qdqa+=``0i \w1KK2G~L Ĭ)İa. Q D*ɀxzq!ro!`5G2iQLvD%`fx(c!hZ`i_dHt*;cM{VZ(F*(Zpnz.7k32w0 OBkX/i }.<f :V!2g JFk.4MD gכGzT3YR8J~@MLó4 ;λ-=֐3+4q~i'z4GӦS#2 g [}17<0,cjJ9eŒgd(V߹ᗟ_ ɱ Ј903'<_n/ ^Qiy}^؅@a]+)#ዃL&ɓd0ŋ c0+9f}\99ỗۻG+2lXS5̠w Rg8IÂǮl?n~o+tɻRgٯ>Begl>ILhس;D`w N(M"Ho,87|ڳg;Md\ /+$Hs|DouE(x` xm2gIhΠ5X=8$Mi{p XgHʱXu'K"Gǎf6ccq8i]Jjeۣ< !}wP @8rZFQ3m"B"PS3ShX^!EQ)ܜ$jǔM $Ae S 'f i)Ƽ)Hn L?!_׆!DJcV 2Wk>2)q2W(*ǧtS/jq.;E]lGy;8JZmL]ǡø_.Zة* ͙o6ز}*fJlc u:_on>Q6kQ7]IvةӻFDl3*BI\RUM?&tT+إJ&"v-S@rzE6uue" H.$@P?QbH̗ 4N>7#Վj4F NYݤO LBT-Kԑ5*q v Y/;q"Ja a&3]o=ٲ]_?د%_\4)23 'FRiFb4<'"I(\/l8Q3mTM%2,:oqAPINQbxV+i׮w?O:[& ҧC:YT|TLxq9gr>=W:uN[FRKal H2y5ovm؋0H 7T9)I[J]~UN,ɵ$X=qBmz 7p'qbLsbLni`JypY<6z$nӁ\4`͎Ld83’VG)#I'm'doY0rf,0 j aҶ C8osZ*3;|nhN+dOqx~jkWw %Օ*|>)zى%,O o rYd T#?c7'~K~xn+_%a_H:Fft"ًQ BT5/db !%ّ+ y[2dadMbR2bd'>_CdNBϤ0H&;<eÄIZӻ{|/q67_W([6~%(&C~CE#нf[Y : .,M)xrIwɳkpjK@b5lv+XYoo5IZ<&ۭ7>,ߞgi윢S6R~H!΋\ %N!HL'7!W$ЦJ6kfMD%h&eTGukܐDI0V M#!X͎IQ:O1ģʻc#r0q%m%22&,2^ڛ_^Q`as3̑m@ȡ58msYf 92jvmP2;G4ix Q,3JR!viĶcRXhs\䖙IJVj'vsv!"'ʝE$|'/gۚ&`4rW,nɨ8lѝHi*oq~kfq,LyG.zQV | P09ogq# akE~H[fk yUGv3[)K_C!YDן,'#U=u3q">J͡#>C6^$~^I&:Bs58Lnܟ4/ԕ-Hty1J,1= )1\dCĬtt*([%]fKдRY',+X{ ?ss'5S)%[@!P)FO_7WWۮ۩}EXO.&#b\ɁSwRQ 9P _lmGc҃A.`فH̜{ ±ê={T k,% #vPNmeJ b^fnfggi7ӱx=g`Os9V%[A3p=3ׇXApm GGF>'6)dra]Ļ@ /lW.̝ZS(M{eٯ;i_nQGܽRkfr9LihrC/QOCH8H15J'$K1z5 W)xήOǑpt.B$ 1ꣲ$7pBw/ų;2+9XR#4Yu.=le?S[4{4vn0!6@&څo\ H0尔J("-.,yH݌lb#ŸJ6DtB$ۻ%7.7X f.Ra}{~.䗛/VF<2s&qbBhJX9Hqg~C@m*[QdX2,èwó@th(csx$w__;x 4U7Fo*x`0ltdrg{HQ ??ϵqVe͈ j)A5Ňe{yvG{MV:y)5I4ef:`fɫ??c RK0HnSD,7݊Uxz BZ&X"ij s,ۓqo;!^oΌB?OT8d(:XEnxAd+tEC&Di"e_c@j3`eӓr{k/*,߆qd!TK vA8?,,׊خx}U%r3d D44œ\~d̄7& >mg8Nc#PCF- ,ͳuGlR@[kr!{&} ]+D(ϱ8Pŗ:dp!G+OTL+f8Rc~Ml  W/`Ax6̱0aqށM4YN_JY#*P=5ҼݏF@=d'ϫۯxm XvZ R۽#YO0s  րx&8(:܍Nev@)_#U"NQgK 9O)#MKU`E^97WߢIҺdϗm IDu vv#@C.$G#e=yk.z^jf2΍6`#bRjxy<%mg#D<-&fc4߾d1=*@GUv`56d "2I^>3T;XS-5ٿT C aYqk!s-M3?^ωO9BDRF4r-z$pڼd4bJI]hNH$$̅ w";|'6EBňCWUۆVeQ?{DK t=ajԎP&]0~ׂI,D ǘbz?͆!{нYdjm# A6eay|vևXnD/;v0t+Y mKrpFZQ1P-ËwpYUbőyɺ7pG46")W}d& =,G| Y uӋ [R_frQ&s8ӆ,GRX*dK姑͜6q-=X* ߽|Yy\w<qV҃($X-[6vˆF.o? 3hZyRoْ/Gˆhtc~q'lDؙ$艑V͇4$8O߲I3J1qTATbk4 k 8¬wW/-H0U,'9k:\ϛ?48\Yv!clʮIXcY@QOACZG Q؀LFv+53.d)>C"ZTX ͤaOb~s@A;^^ߖ[LUݙ?$3J蘧2x+esyk;% G4\v8108Ͼ͌јCOۄd5k) ך"D֙ѵhEK gHQls}-0y΄ P}Mu͕ţCdðш8 Xc͙N3OJzWAwaz#\x?& jV8<%s$H5X3A4F{͇E?Gy@8y:ܰj{G㿰Wyf¿ȐhTL4}J{XɈGdcm~n8m'5i[UJ yRbcP{BBr4@z4Β=;BW- U/} CbdFשӀl!nz> ‚H hYMZ΋.㫷o3d$&^?:ä0 XO#YéǮ(?VJ @KOi(%8YGLn?UG GdP1I'JO$vdHu+%?P'YOa瓬32bl 9Ic-k#&sDFEctiwu@9(*rOB ۟$O Ͼ!#P\rJ,/,@^.QRy* CJFWB)3YPE,Kzlf r㮡NS'*AL# \h@rl`qr5 pjxhaX[$cD"GLjg˥~>P Rppš12њuKA:[%˙oo6"=j ؜́voDZ6X@"fE5[vABqTo`Cd]S@l#W/ba@l (+y(; j!'rGr/pUɑ'a4'D_&C,n WLǐfl'7<[p<)<$ Ӽ߲V~W̢@#RΖO|;rI08S]t92 CXr-J+x6ch U Vrǿ//e_^^qR[AD_ ^fZa"V|Ә~T=Wg ^_}/g=;0J="Q7ՆX/;"_rf649o[F#Q/5ٽ ,H[B(gVoKtЛˮ>܋9l$ j9pXO6#! /2uu2Q۟}"-v!r!L$Xe&S#LYKpP[I(y3rf>U86_n)n\^GV]'!vzi&'{*jZ>{l1儽&6؄ uE_5KӲ{Wd/wwGbc{6S5H o/hGbr9`5>&Nr.cx^ȁȩ0)o/n7<×i-#M9$?Dכ;Y循ILVR׵*(R5r?%\hN6z$=l:́_S ;+tT5-DK˫/i_O4$y"%yIM)PY'\oNt(7#9ټrO"9T0̯7{RpfEbB@w;0Fc p-P-!nO6@zdž?T[tfT!hpDKp:Mlws> "a?ND(fG⬥5HB*<ݲC>;EP 1@; 1UM"agN`RsGORj^;KLoŒՓ<#%l?$Df= tH_DY)\G9jdͮLe>1]ۘӬg=M,74u'^>l[4`/ġ3>Lp=< XhM\qJ4qwuqϫ&6W4ұ2^D8oRqO뎳Ǫ2@˜qbSKin(y`͛l>D*@ SnU -Ã|VCkm%ppuMg?*Bm%N저m&> WscfC~!3VC6{FS\ljB0ӌg!.p@J Ջчe4n#-iS~`ߒݕ뤡82={j$;&3E "wI|?Ri6S-Iԙvk&S߭z]1ԇm@<\yWYSQl4Ed+@GMus)`KH?ZK>L# L˖_\9(ط%&"t83] OhvEf? ghIf&[qs+yE°vqrel, 2oL$KhdbVKhijL⒐~֋4' {ֈǶWt:a}n:2dy"d.ƶѨTI FXO% gP|d::EyJf"dz\H:R 'z-A- 8uXnJ{Cߒe²٤7LΓT::D~ c(̱x胑b ͻ8Ôr=+.$j,mquVe5;v id81m%^( vO{WweG=0 IEgg,^7x.<.,Pq7=<# 0PLI m7rYq3#顭ᮤFLCoaʥ$?߿cO?!$L H&3 ViQjP]U_>㽼_х::-&Dc= 1rnM^l& 2숈̎?|~jUJ+oOaJn ZlÚlA;̨o2z|jF'4Nlnr,+{\%s`]5hcco `Z1 쥱~CnP`F8HjdTN`U5 49x$dk4)NDf4g*p(Nw;{$JZj&K OlVb=04}y抈R OWFH8j Ѫ`(*Rn5{w~ v0xf\{mUХ2-sȂ2$;Gxok!+&ì$/c"CɷFaH:C/NGrXJQ/J#z_|~Fـ96и: }nx2x=,uQ]fXh[=sW+1V8SahwFF˒kgp:g~yi GFcKEQ+ɻz6igyŒORXJY4ի7k}|,7:1H1NEq;VdlchuʊϟwvM+[jA#djS$eAHBI~2t<lp3B%H|i]F&шm!21K@qkfG 1`'뱢R[v{^_iHgjHs9W.ۛC3S5eN|DD!@<QE>J".U<+n#@:BT9s<#fs5 V?ek3jbe- 77x,qջ13υ ,yb@*%^ bȮ znRL䙘^> gLIR"ҡhKKDIIޟ?!\}:{YbbF)ѤT5ă7Yn}}ܰi %3)44ĩys;Pذۖ }92h\*"$pxpexL-Tr;bH=z-'Տ}l7neP.s=bHzV1yL_ɉL ׁhqf*3P/ϑ LNvV3*y /xp5L(z$ Нz9?nnwh>uDqp=!9Y^!:Kj\Nq=/aZH֦J)!s'IĻ~5ߟe03ލj1i<%g8U?ﯮ/ =DyXOH еtdOuuK*r$&3^sf% YojN"etԇȔCF"%8'X(lDvTV3N1\ ExsTίgω;0UO`],s3lBm:tb^\P!:V2QVʸJo'βMb-L,E[f]pnҰ򦇸!0+k8#wKqJUSe%c)ĵꒇQ4$M=#Y+LS2+/IlVQdbcy]l׾(6(]H\?,3Y|_|g"Zh_fvu'݈f^9B4vdE 1 q#Eq5 PISPe;ޤ3f-$Zs o+U}yR8xnjA]t/ {)X0?MelvZ*Qxlq~7gDp04X*XݒA$Pjm$F $æpFrFZur}|B,y:-l #@9܁mZY?7$kC=3Y%]u@v0?;3|4$fAd)J+L(lJuQ fO\+23fWUd@nvssc-%tҮ?U/yOœ.U_{|Um(FQ\1 E.P7η"Բ uNߗr}NH&m@$ SE W Yȫyy0[s1pMԐL('Y3jr (dsɚ% 7Q+jHL _AªHG9fZEUYkk_Pa-T_QT#GB7,WˬdE=C@]8Nڂ72!w-^YTAR#eҦRп(!=y <3 BccS'g|΀#rH,($W-a4( ˎ,3Y#_Uٳs؜2lÑ^!j:5)"moNzp?U][ 6_:+R쀵1%qм-)"1c6y1r8~lAK=ɢ gr͉E5liG1ٷ M}}syk>p@# /:<`^iUZlgӔ4F&Q`'$ pz5lՊ#m8(FWsڒ9So].f6_1%+r ,\5: zD\mG͂-8k܋Jv!Rrƅht=) I Fak 5*F@a R_qky}E^Eͳ5zP!J <0" qzƖYU5+Br;Ai=yn A⒏3;_*|ȺMVU7dngDگmΚ8fa*is2e8wYL<@Y|M9ld8И[vvW||WJ4%-(5_`qTN)ⰸymV(Zr/&~yNo̍}O"DfRGPZg夞b(&6t>?de8;g,ZHzd"TaK2|5=MG\Xd- ݄ ] ;y=I[ `{"6l߳lU$Xt ˞;X7l8ͤ/sud[` |f^ "dE nbnN@T዁_ e%sY3,[4xb<=/}0p45샊M_mt[*ʸ"]o/pbƛ͖Մ&̆5!,I)p ?z~qHIdTiitOHwB5H<9YF,Uǩ~ŁjA'Jpɳ%HA(lk5p|$@|H=7;Q ֙,#W0Q}!Et:V&㥵cB=2kdCŀB&ɝ)CJEOd#vr8.&!-7XCdHq;65=Ɉ4 kv$K$*i0a5/}<°& i42N2da945X飜ށYP8pf^,QJ" <1NqZ_-  uq̞,B86.{IOZ,5=z=?οzw{w 8~~LVNT!Fذt$~P̥nCp^)6~GHILO'ML1B#yRp1`*]]gV%)T[fEC_Ξ5yIbQmy*Ғbz!wf\#㪄yT Uɣ-7*_aÑ l&_-emY/6RQٰ[\_x E_P" KUZ,G?rب0?@Z%@32,AgCj_S7mHF1$bq__yy%栆*zfXvRlqŸ8t =$K_|:8Y: ⧀H$ԙ4X" :x|h/@.Vl$O'uK]3TOG"YY9,̠N@[`R/5W?p=#K#D̐1g5AM2쫴6 xi-T0@ۮ+枈>.߿d_eBV)V1kpڐZ)bBެBA༦5i8 ؀-ϕc}YWLRÏ_?l^mn]]V)#)G58c.u{*ySȡnf8Ţ `W8+$񢅎 J:ܼFڽŻu n<1%Fy264?e/I=pJNQS>cLNR%ɡ|4{Lsřj@#ZT5 `l8LbD̷vbo$(y?)sh]ZO ƙkjXv2_Q-_5< #icSci=g#j/I}_=$ IOIck^A)x25s拋LRqG;ȷ#%6&H#90+kqzlT,bCP;ŗ mA]=@)bPN*%os H5%WkYH|?o`!"_}_qj*3HXI7< !#RX 2߿~%img%-HDa7L*WqnP\dكY͛=י3i4P4qwX5Z1qy 10nd8qlLj,+'^o;(ؓ`+~lŞ1[oWKJpVlYӅ5X AI~cnB_$h2rqswЍvŒT;D q&l6Ñjq_OL<<|&ݙH`pw ~S3g(3${mU" M5\o$Hص7F5j>6$Cv.u$Cs6ñt)UypFq, p]JXmM iaͧے)9cIJ1!Y*GSkډDa\WzQp9DX2r J^i4jeMðs@ɇ9Tԫc`7yD:!fЁw8+1RUݰf$%Ɵ4T61^Ɛ6)6QcY7jM$);javvC -cPgx+b4LwOo$P[9fYPf=5HS8I*Ħ9*39QhRI|Uo bE@u4ȮxγřgE$p3ed\[C N)7QGGe$1C= Yc[@REF5SζQ_Ʉ G- Öv9ON4G8cIRUN|tYÒon)I4Yw=ld0x#IhANka"Iӛf:twu~斌<竳z6ρ9l0FΘ+qS%RۍDx r=N>K/أ;W  b&a% +H4G8 3hE hG/חoeK2"-o% '%KM|^l=r k^c9.j.䒲R ;R B o"?YgNT b G^{A)8Oؑs'o1Zˈ*pk 7yP&ra_.L#Qh,COy=&)ϰm_-R[,TRB]GZImqvYjsl$; ߲o%NaէIVQ><#=w3u3x29m52W{UZX BUlmGwbćCj:C.Ru:@^XJG*rXhvŐ e!x6#q8Vze>{*LgbHd!$||,nu i|{ԶJh%6j`:!ձv;56@#|T`գ?E0~iS*v,]6F9|CQ|uXiZu =|?UB*FiYýkw-;JKt0$EPC:Ix':J ˧}Y!:ڰ5Gx& I#\XW،k%q(*a}4Tr_a'QO{ٲ)vwhGnJd}1-˓߱w*l$AXS3a)M҉!cU3-tl_Y6T{UaWII~1 _;SFQ!h?jX&Nc_:pyj=9&Ld0ӎ{Yo ZMכts]?`ya_?l'%al \xHD2IgC e12# Qzl~]oYN֭B`|f*a>|Aáƹu5l3YiG7'v7NXe=:ENm9|ܮlaYFW>n+:彟)Qs4Lc1I˟]M1=5ޝmx`<'>LϤ'Nb6cf)۠IL鶏#glŅ5r&D ^ExH.8i[_< h<r~%JVLu__PL,ҲWa-(istǍ3RJ { M :1 1B N nvؠ[6v7rN E< בU,~9n nPa2됢c@WI"fC{[t"jg=X abe.~$aAݔ&x0[|)r19N=2 r ~K'F>\,'qR@ qLħ϶xXӣA9fX89NP|x¨Zhu(#mXF͉nM˙{28N whrfD,Ho~vx Kv:MVqgE0مь#L8g?/KqLL aU  T:v߯^vAHTa$cג9dicҰv<%D ;'82$bAzd$n'n=x?P\׹ߚt6@? )숅Y%u  *+eRq*g2ޅi7%<$)hfը"D0(N;k˹ؤ o~;̅50无Fd>*Tx^p"18)[Up'k8g5{6" C" 0W5+XBMKvq)A*Env&;KhcZ4 U(OloռAqk!=LȜ5cˇ⺷盉]qZMEm^g䇟6 D6@?ewRucvV2H.jp0 XQA~&$B:sU*G1{r{ڌr#$8~TT`ԓ9D!\uVݵү4G\u_BEZX"PX8̬ 'eacY0 +  f)^gȔE(`Tؿ)[@>\/@NYUG'r0! D%Gϊ6^]R[?n?4?8rudc`R \`\o"PRR[9Qi0 iʡʱW|+Ag)[+чOW26*?hxjb2'K*"g>KqT< db<^!v9'<`"bط̼=9ðc>Q@ޅH ?%wͱOh6V\ ͨ\_̷neP.4N4R qs)*»LG!xJOeveGWbneNd9UJͷx:Uj9,#s$oϞa9yr^arVAHXL%ۛrg1q!Y3EMd`)+hieKZH,J }ܨI1D[was,vU9u` LL֪89C&S0ƔT_6E3Zl5YX*!0NF-(~8a*F:S>(쑇!$x<ϲ~)ìH-ܱ1L;=rqD;* IQ秠3w!m%6%Kb[spWa+N*2uڗ4bϱ !Q,9MAz ^@`\ڈ,8`=d83`Soo~6:w{ _ܢHuJγj4H>ytrWWV !_,{g2vz`FK`C "B6xrǟ'\⧯GrԿ[26Wm"MWw)kl0Ke9qbcú7cmm@erw3k!UOf#TOY5'gCK0DYQ:k(wQˣ^m gͧGj{^f I6 FN H>(9/03džWjvKI0QʑnG걉&ZjՆ?nϖ刷?jH{oa4A-hvs2:ZOl^n߭}dE_vo20..ud 11oB :"HcBa,y#z洴B[~I1WJ#WTrb@EQhWRO#iP4a 4VDP%윺%2s-Hz *WYs!mkQ@ǞɁCzC NV1N$W,Ft٫USd3qQtfvf"ǐi mwWWl۽ $*)Tgoj-If Ye?]V׋#23%zfڥZՁu$劝Y2=yEMoQ'b ^sۇѫ3{'s!"YMn"HA{4 ="98\-R[T( ~*KWz;ԏg_C%Q8bxJפJ%L@I,,~{p vȤx>+;Ed􄝘_w:ɞ :7wgK#J caM79g;{prJ:{E>fqeR%;`N-*ݮO@*+XJZ*f=QTr"Fl=Ey]!IMaJBê^lطzf,m(N"IeQ/97r%3N?o3dn\*"E)&gkqB7z8`m0KOl3u&Bޘ @j F(_(0ɕWpi݆%q> `Fؖ*- ! 紐y}}s[IRzjB<~?3Y}=؟oW{Ն*4,v3׈C&-BBuP!AERoI|l8$ܬ9v9d9H}}>¨XSK@Ye:%Kw&(u24PcRF9%P= $N[a/K'3 >|a3ɂ:T,!8GXމ2vzȇ<͋78r?aHy6pf~N^f{_KΩųӭ>#yv/*w>B{stޜ6;9y+e(ҴKц+^pJA!ԹJU0)pu7ysy6n Jj3{؃`8]T,9iQo9O Dq @,5a%sǞp5"6ljJv[}|--[ƣ8׳\>^sƺaHJOfA\)<~f,G&_D!t"?8S mLsJʳOKeGP9f!& \B+^ȱS҄ΝNK1RN-]~:zP.b7 Pi*=Fg62SHr >QZYs'R#ZfMaO=X=!IqLwSs w{8np.L8 *)cXhGjZ8HFȄu$ܓm&@'.`"{:ɤW #@~*nG u07In$YJ\}a9M}ӷSa&Ll2* I ,jz4y}ŢӢDIe`^ir]սCBpu}&buf {:qsZgd+ObD6̜KvXa³ zq'\ә `$#d<{lC =C[p,"VYrpzR+X#}\&r($gfij&7 VR{ LbsvΜjapo%[1p3}Q#P|)\&]DDt^U+V1*TH:o"cdfx29E' ⸿|73kɆz,W Gƹ U%:- :0ʙWkA?j7-ScR 1Wy㐃IߞF@Bhk:N̨/=/96+*zw`,+(>3AomJ뢙Ӑ <̏gP@s+ؠr@.ytMl-F*bܯ'#OL5o"2MԤ S 8~Ǿz+ QJO(L?Ou#(l~ UI###"-=X"8!i;'Vhh X1 70"%;nфKrxI]mww/Wki/AO%xD1$p)s 5'px9@^8֞5J|9HivbeþTA1gRAKPxg(m}79InP Q%FҢI&jeߦ %9Չns7Ec%ݜțDA Bp#_x]'NUSnV iڱ0 `xȵ?7ƅ&f稢(~ >rsF\++)M TDՁ1'rklU˜a 6fN{08k%Z eRhv}RZS+ɸx,S=cޱk'(tYu/+:l/n/%-6nE-gm: ^nʌ,h-ʰi3@ 29%D5/TWwTX ~;{yr"a $m:x ^l|{b;/sGXw) #R6.sPi[NRxh 9O_j, 0 x ӄki1<+ܚ(`iA\R.0>TpH3<43^=?m֌Q_K bo6Lx4~P=ٺeUK[ A 5>%氁彗> {\_gŠ||S,\Z؟CTvYbIOA6 HJdOd~^xR~W,3k0YBZIѯr7ϫX8v(nGrR0 ɇi|,kK&D$#~ڞqMYnv{a&i+f"#5MeKy<qCtJ$qLi?_)j:P5I4nHbDNBa }͂Glzul `Y[C# vRI(e| %tD3AԖg9օ98 XI9SPf2R"`4lO[Dh 8-1G')4~Zv;t`]t<ޒVrV">VQ?ïVĹ44ֳpý}qr}EXd' GnowYoupHlIBIO HeE_cH@O0 7Dlu4wT?AHX@8!\?n:'~mo kکyZSLdr+8&NRZ09)ƛCQO{1ki}6 \ZtR`㋪sk=LP0BiOGq.s~g#EN_ȩ 4+X[Sxݚ:0vO(;eKZa_zqq/%Cq2G%yNZT٬{d7(`89MZK",nv0Y.^Glꔒ"{.{eQt rϿz'w &#28e6PWN OD|sE2!vq)K8uvq !ݠz$6+sS+ގv|asgξ{[ An/d8 i]!Q\eA҃FuY6oH?6"cdϚÊw7Pȋʼn~.QQ$yeP<"Y2uۯ7`BX@aX\v؄&ɾb̕X:PMn5 G?l/..׻kCI8Ŝ1Iv!FaDx'h:hHLV@I\mU9N=p37EcGu ?6d[_:|L*))]zC%7x|7AڡqοVTkdvő".2Pk\Nr*w2F ]C,ʏž)r [ )xbʌՙSΩJ'ʡS$qZQIQg)] %%bs7 >~? u@w k "9: gٽ 9B_&3EV ʏSRͲ{D%w߱YA@ǎ_no, o=_FL<3lRyϞr|z2n W~(#X$kKzQؿՌϼՎΑ@< oHv?{N.x#ʊsp7Gz155=ryN#C:Q%<7 .hʩ[Wf۱p/%#(5imoZӐL Tƽů_W0'x$(B2G!pc-Rlc ?cyp@%9% I|7WC})7KMa*1 raa`zGMma 9r*;ġBloq $0|<%~\W?6qϔrj2Fb.AzlBIoQ y0|s.1)H&jjOJ=>IQ$OkvRn?^(['¹!yHnnlY^\Ze~$:ܒ*Ćs`ɖQ鱁:1Sp(%.x|}·{2Dҍɦ[,t1iU92jY,PTqz۲:Q؅,`aKX> ՊMȉ^NICΑ5 ;+Y1Ѿc5o|9>Rmi&#*!xfgjsL':rZ<6@kQl]0"0lc)`o!.xHS_C=Zkˉ{:5D)Pcd,GӺHb| X'WWOgO&+'9FyY4q hcQI/5P

uQҴ&c$a[>Iʚ0xvJcsQ8F;vi(*[G8`%p}3=щ42#RcN4Us` &ɒazuм5 z/iwʌڔutNaxb ^}ab)c @s!MuN i'{Wt)]ntJPӲa#kXkPJy1(7FjonHω}&x* N=IHz~ybNJ"sAƛlQjc.߬Q[faW(.EeCU^s+P _^q?dkڈJCQiQtY1)L;s7dife}K4vTGgm>&rU*D10@葻vx&WMe{ꉘo!Y,a믓Qٯ$ 1do'N<)'.FyYOoa„MA =cq|imϕŀdIKO1XX6E7 _wR\x~@(pm evmf;`YZ4E_s 94[ . gRT5e[ NW:~$5)v+S_4TqPtF?_;@f?d|*]ɑ\.Coy;9IBb=uEˁz~]ti_9vFE@q0|ζZWL2-v5I[tӲY+Uϰ{lE$ &\RgaP<ל+##[/m׌>tsM_#_T2%P"V< эqJQS-Y1FLR+P?tu%{|")39b8lTHll;EXcuNXL_$BÕM6?fm K,:E'n5$vҒgP 2yN/N`:+ =ft瑩KgfgSGE 3l@5ך|^x"˨[^jID?3_r6U6OV1&!a&_`sQ}dPDIFG͚1$Md1T!"T'z0pvOcڻwٛ珈7Ob-y /C:gi :8^N^qַ !";,Fg,z6]yَ/ؕxj[_=՜Ίwp)t(3C"o& ;͉%Q=>+ub68L'#\9TOF̖mpBLTgfF'zu D͓WR>j JK $B4oE;og)Y;QP,0=g5q @ɲ4Ъ5+؃@y(`!fXRξYgrg&jS֨ ͸17PJP_v04B/ e3b& ϓ ZoD.y' 7$AcYˣɚ j2˙%UV[&ōIe+Rj'rSwsҤbS]kO/)\N]M2byrz`;ؕJɽ6=^aO^SOX7j!Y䨮wK/$sq.p7񯷟Y0|xZɓDudND՗Uת< 1DyV@k]ņ paK0Enm"׺p}zL?5V|.q̘]+KYN^u^X/ JgWxd;$FuU} ؠQRyn糟w8*]Hz%qLzgV4ښVE bTHn]G2%([2ᥧn!Ҩa}+]sK@TH]@ -e7 ۋ?T͚ iX7 (F{:yskg?9Lf\bsXqfP)}wU2K3Fh?r6C_pPfKYjNy!vlT|FoKohY m 8Rͧ>`dZ}~Ϭ~Ǵwjy4LqhOg/> [38KO$gHZSkb\1fa91Q?S*5Q"YRU ;n /yo}ZQR0!#ɖܮ}sbCvW^$"07U~%Y~/(WlBvJL3U*K*L&4İ]8cz$vs,mo>4Z u;ڢd.'iL}uMxwy l̑ȥuܝC4Y,}zI9KIjxSo< ~ aׁ$62QEJ$LDwGVۏPy^|4?"-?!PkaL~>CaeVo2昧-cY_oNg犲 I6CX88: wL/ e5( e.N`i;;r1g몦 .*x7vj^Ի3j \l??ʝiM;{-=@22I"+;SpZXPM#S9IʞĜf7Գ]LWBk!f_O.9JE֯KDӤP-hvJ뫿+ɋz*g} ,B:i ˖g0N̴I(l'#{ɘ&q4lX32Y6Qk|[O;+hj`snyb\ ,5-}O&8̔Sl&֝BFR96^q,.Yuv#Oy&P=ǒ5eSl"j=-E;?tWl2gǸӦ GlM`P"˜朙C ?۲IN4rhr_f__1-eI/;!Mm1Zm^?$׾] 28Qlp& yBh\g)2!icgbfduvju  Um*c ԰g͂jYuf]xa >eD=LΙUuY&rͳsXk\CCm(NiD5iԴ>bA/$$gr JCb!vegY ḂD(8JoA};"ɛnOZGgX-aëϳ%ixųBʼn虣)AchpؕŞobȫ82`=M8,Uʞi̟g:FJ?mw}ps<ԤzVfenʓSLB+[EI!$Z^Xtss1ҎLM5W/fɎ79EDs O&DL/4,0A(sV$ uzOg*ܮ/VxQ`^3&e$ 3 ⲮHfJr訊Oړ5|B؀igC5&GCw+!^Knz;2s<1^_۩D=L8_>*NrpAN7r)cٯ;Fg vl8S@tRHBN.93&sb'?̝r"#aF½1. 'a$$YdƎDx> D~gDv g.'[7/-ެm.yL9cf詶^g?GyG ÊoSUrX6?ό'w%V|ƾe(֥3-өs , vSrW߷ovX)m LI{dڝ Wp j;f.ArnkWƳA:IB$L!2Du_;[rOM+\ܤhx~Aۄ-"훻]^z<GX0 "Qs#,!]xt%눈f#˺j '!]2 { ƶ!pF4|{Ê5 xs'Q?@B}|޼խWށyoHc^w&(kͳZLM .)J&9`J ȩw*9XFxUq4i_mMoا ,lYg:%}`o} s7tkx]®%  gp"S!E’9/`J#4'a`WvTl&-ձ9[@fZz89+uUs4yFrSJHϺ<{v[xW)3p!3q'`k(d0PPdrb00؋ kFke{pgo#_Ylz;) }5M$+Ҍ f?C |Dz1~/<+`k,j@9""0܅ o˗㴮t!̭I@Ij p-5\*B?M<-6r[K\nEΙD-q,Nž 4M"g}`3klR"!$#;fj-xARf>^\}TSoX_Ά4$v8IAQ0'(cxu#FxŞ?%J,w/!ĄmJ+QLr\47WcbZ #R#N %|g؊)}w[>`g Dxe)9ZI*|4hx"w ixAN|B ґA0¡|=L-R:+'R%.$lp0 IVLm كE%$bmDphxHAXK Dw)TV~(WJhhk*] Djd&,}8pۭEx_ᒚE"Lz$s㸍x{B=Zc!2,; B;Ki~Ң\]moe@xbK\sVhE~: ?͂]:@b|׳oCKqbNyZ_"Nc;1 vj&Dv}Q?*P/aS>-A8+Ƕa!V9((?h⾘8FÜR’J|f T е^qd۞HZE}+[JD_#"fbQ Xgw7sb/1՝"2L` g-R+RH3wWrf [7,{dm0B!T=2蹇H;uӬa9`3$l9X QJ-#<v_ߜKv75N%Ns svl  _^?Zc~gUƵf1ndTPKV=1sau"HEȬ4'p 4x*&DF6n-~ܐnָos$*F&3D ,f2 |~|ÀG| :,arbԱfeCd>ܡ !slBy38.Y ieR0uZCElna:BnIJԥq{s*;@r0TdL!2SSMX2V Y#s#r~Z3Χ-lVB:@u֗5\݊ HIkONyXaYxP|yXtO^\K#K[f;SE X )UElc-"mF 4{Κ:hS:Dw30:ςcZpٶV;ic/\t5#sw>' 'Ag}-©x;v>n4G}&~ |bl=2E+/^"xYv]EfM/:O^H¾4}\%h|&auq;j'.Si/|EGɍ9HJRN2)`l'[ YGXQ-'ޥI{e}w^Y `/5Lc}/d݋L,]z^|eI=X6,v"q^cmuYfEĂ?EC&abmmf}sf/w䤎E'F2&uɳ}|8fr8nGJ|חͥ?~~'|y;` ^48lxG`viq$ci9?ثًZ% H))S`GˢȅJAzhh#Z<2&v= Ξ5a *Q*Sd[(D&z`^?iQM{kt|&9-kJn)M(U`FO^^ݜIaǮܔ%%m*E@WMpgodaCg Dȥjwypelc?$IQee>#x3QTy/ןIPL4nj!#naT3>FX<|Z آĭ9s:;= PeH7>#}_ E^o(/%˄dfmY5"~[x.O[:?bHq~O?j̨V9!X>T~BtdOΫ߀³Gѱ6pLL@}JAQ~E=3A&p_fjO EjG ه' Rc$_DHׄ.O913amg' ɪd"}5腞nm> ne^`9%h}IKʊ!@m/@!H-4;[EaLEĊ^KsU_dM9TE zxLX<`crE 35ҾQ+{gYIsk/'N g!DZb,R5'ac~{]R088?bs߼[F> Ԉמ V9@,fi!#p!BP~$d"Rϗ.Tn Pg`Y(j[a"6u;6??15[ پ nGKFQ/? 3:0tX( E 1 10CfAfO?̤)!dI"-Y\qtD7P۴I=GvKNfl~hFD`A`H"R)2m)NC# %'bD"Lg=#Tz"u0ɑBP' xc)DkfJX @x?`0[gFLi[h៑cre0EAnJ6vɅN6F,oJ=K={;@%d1)mH۾K;i#[ {kʒ8)E(WbSltIҎlcJ;/Xk_E@yc,sP U;E'$i kY^&.gE/c/AlGCHH VCNz񚙉>[iQSVx!awʙ\N/.ǘ``exsi:ޮ٩hhC$3O6Sw- NoIK\(M3p3Pdn`* 8fQ~Y);͍wo%){v:YU`$baiw le:L AfL[D#tu@ph' 3yQ(Youn GW;(Kgټ}4Fg^Z.,gʋD_} ୴SqjbI,Ë OF5)$Y1yĕ۽%ٌ}Lomj5,a8Y}>{u ٦Y$\t\rNRڞǾ+g8 G@ [}G3/͖mp]- ai:ke]ci6Kh!X]iX&&ip~es{#=tqQH+rt{ekNj3'O;8};w (~.cf`+Y_D'yKK] YypLJ?æ崘wۯ7w{B91YVt|@b1M!.͋vq|Cȋa%;0=I-XHYWq!oJ%Fv03MT:1/_m]Ok٩O8?\il#s^oma ͜Ւ `i,KeIagf c5K$<t(ʬvS6KoK*.=aA9: /0bnei [tqνj2=8DJ3g 4s} 7Mj@Ok@0$4f~әR!]YfťOn(`N[HG_(ъigRmaI´\]mrNNEV/)Fˁ)gܑ#wUvO dǻIGcI-FBFF-ʯe5Mc ,d&9WIYL#u#fQ@*!XRz&(pX,~%k7B l~!qORx06#?X@jDe܂;dvh6«(w9$ Yl<3DrI hųVΘ88v1[؀ .H3[dcsr_epi=so6[RP%3ő1au%c/odeOa\ȈSwxָZᔋ+iڍZ,N!v3wl31FHC ϥl/=ɤ؇H \6,NKu=КX:Oy9Pesb~-gOՇO!x Zia0g]ZoTCR?{# n ]Km9rȷ0t jQ,}}8aԺa/""li F@Fi?|0N`C)HvUZ`e(b۟HD+ظo{qk](NL}I\V=;p[:ӗqf;9&&@tXV->{()[jEQ#qcӿLtp-pZ[Xvn ;-q̡iŒ1dqðpރܳkY(_]>.KδPLnepxUk2;7oV /(TQ;/]1R,w,/D #6iq*K9Aƹ2#vI8B:U1 Yu`$1NE] ,0 Xj} 8?>DSowd8$H'>#pzqV'8uaB+*c] ʗAgrUm ̜ۙk/9@!vw|ԜHi؅6QȹRR4%XSv'Tn1xwDuIRb[ۭNsi` {CQ05ۃ~ACstEa$@$'w\kxHi>MeJĮJHDf$8@9dTeڃXGkw|1ж^i_:5ɕN9J7j#\JQ7h \"Vh.I ͈senvgpdr1f-a=rzX1VqR:1 α(szhb8(ݞxQiG͈PxB\3T ([(\TyC(}'Y9YD4Sӛ4ɗE Aq (%ݰ: &hW\wuX-| hBtBZ>wH:3IV>‘Q+S֗Y)p[8B#rϑՇG($M ]z$H3Qmv'Uulo4I_oVכ `W4FBL>؎$#!,|9h' זmz@a?}OӶȰ՝KI{}ah)x?U7'8h{$ 9dlEgifкs#t)}b,ȼg%|4')-̣g>Y-o֗LrLu?T7ͿjINw >4izq"[: `JI!a2÷ѡf8~x!աIXb6on";iX XO1Qvd g'rR͡C1Sn'e aʉ,BY/(G6$ L̨ŤR崡!Zlq}X ^C/0Oτ\ɦo5y8n+xCRz0b̷;ؠ g[Ti0 V*ث'Y>)V"H:;#Y᳏ZʔМH$ ;Ooa T~zT OT{CQ6x*]e'?=ݢ"#о(^5G."hVNpf 00.Շ݇1cHV-O#R6:BR EY-^<{I2!Q(Ed3րXn bn0)Ƌ?FAF6*: xgOflmoVE'6[p u͏$'>dO355ˬDrlr51u."7Ӄs/J(gvBm眾l76ƫΣ:-bT9^}VˉF 4ϖ]<] cj2ƗdrJӱ<,eEC3\D;CXtnMD3R'$F(*6sqЊ2׫}]E Z=)ˎ,pD%|cC$wLP!x Lz^/x̞Y GZ/¡򅢯ưe>Ȅ 7|cʥV9J6݉؅N ^KlHFY_1RC}_(Qr5mB)1;,Nc/|s@pH`8Ї!rd|7AeAsi$KLs4VOUQTmCw;'oXݞկW#oR.b"Ui(zG ʷu?r"6]!HQX(,qjIkQ>P+!{L\dQ*p6Lp # MSAwV d|[ W /6vR I30@&XY5p\z'Ü$'Jl-0DáTp Ɣ$B53"dsGՁ'Ϟm̛/I c/kO8;g_}f}| 3,[rwcdMųnO&ΏlH߫&tob.-^jzu!#^y 3% 8)ϒn$2Vԋo_w*6IA #'|ϯBfG{OJ+d8sz|HƈTw}pjBZigZחv/j}<4<{E9I̎h-X'\awԳtv Gu,669dSze\i!W] *ܑŽ;Ƶ*]1ջ-Պ\R/ Ff0n)+FCJxr"֬.+lK@Vc;+fj*8L˔kfk1Y*54}Y_^=dCӞ`s7O2$ ,dPQ38pt.1!čxb{Wtψ ,Z"cy2,Ì* uc^#ߓ)SN꓍83zb|EdLRN/E*:fre*&'lAZsnwnWcs @Z#Wx;>jF'b.x7닯IgSD8gI4A#`l!,ڲFlQ)뒄la}Egumusţn pZfK9ڰqsl i^|rj*aAJ%|vmF\W̌z?H2M7;٣!"FBLGH榩ȉIVC4!8nԔ?ן+}p06GG֟a Cl] jrG\0,,Y"Bdǖa0owB *,ҁ"7:ȉS8XsU6&8y=M%ilR>qjwyy 7U4jܛuD&JwyrLLq:#'\ٯw{rXwQ8Y!"It9Q}'#G<%Ê>#:(Vϙ6PHyo.^v:X{c,"_eE`qEɉ ]ebڔ)YU'tj7&ܸMgG]dw{-6N3YKŜY D7*{ZWa8q/GF\HoG̼LO C9"\[OS!ܚtkq^sM0r%6׷>q;y j:5eQ# cOJ  @i O1`W{ef@Kַ^ĦT6W&CPs葎j,*=vd=Lm"rn}^Z9s,39᳌6;x{Ĕ15f,4-*b[^1"C8~bw/N%dM(R;+UtGv~z K|6\7Q! X,FS)ϛA6D ; L.Vb 亡ܖz5G0 P\.Uɜ$j76<67´ci}w,C&XjS0誎F;ˁniVш/ ^qDex}{:튣[fy ]00,98y{XTegfi%Nm89Y7m[hﻗE; 6c[^ 6LblY7HHoY/ʧwфY(fɋ{ 0;csIϘPU 2ۑlcl_6L8ݞ==?jddN'y0FsgW6g/B.C\yVکSdNcke!mr.TP;>ȁeEv|sj}8[ʹҁ2M3)X̌PH?cϟ!p7d Emn.aEkGG-'$^~A^S$1vVvB] :!haTlJQ]@Q5DåF)NpS.Z+jI.+eL36SQʗ74j䡤T4ɕa:t yA}V0PR2"v(y'L d9 -٧+8=eЌ,{6R|!@SB0f#{HKȰfrہ-6w0Ә,>^LMDtQ~s;bBJ#*^tz;G#].8/$ci8eHW*7\TDvx6i{,I`y4;(|DzX.?E);FB|~0u|\U1LJ{c*C8n-)rS3QF~x@ z+0q.]-T8/rll'V'EY771>/ʻ[6t(<4Plq$qȅ+ζb:nwW_jA~x$v#qG,Ynp?4VӋy x=T=CX-dfY=}#e Ż7rp<3>A)slqg?+)HY8W?l.˿&Z5eUb J%aWy'͌o僔Ogt"bp߂o3!A͗n+zojRo3"Hd'<\dɧL hswl z488xz;P&|$*,^r{a{O SDGVhHi"8Nq L(*P\k)xAL:֡#qR3IIo y1}z"HP%;P`Dkn3In7N5J6*N: OG2vEk)Yj+&C'o q ɮS O@'.O kv ƨ%BR|Y. 0|l;fūw8{&U9s! ByTVuؐ?O2,z &p0#SY fKO)a+vDGUz $u~0Y H"ma`k|FOZ4u<$&rPCʦ>l+$x@R6:Ïwah%>2SuѝJKǥyl߳S90ȤUtld@P6s~"aaR2-/pGtY[Xs^zL]f&v fvHi/}ډ$ tg7\&Clꩆ2 Yvr3OVR>v=еZ5zI,qױ _jʌ0s6:/7{#3`WeH ܩ feavRe&hR Ow2N` >xa{%+'ҕ)`䒎'E[:>XDH=`߀T ˤrO|04~s茌`]3(8_}B-/..d]ƝBB-)T6iGmClCІb2{a'a9Gz5 lu$v-!Hwmag]55Prq{wSiTu)w$v$/fX5<]6~TWW2 #ρٮ.&yUpߞ[/Hw:n&|xO@sͅ@çv#c&CiwT2,rTc,a 2o){һxkX"GI9؅;He1ՕL̽m)FzX_A^pqM #/X;AA*gr$Y[n9A9/^|]!s9=6+ڙbU(&\ 6,X⯣J9:z`]"f מTV"!5 NNt"a<{r8*Z@h9Xz5fXL!9'>i<Z,,d^lxu| K31nұi'βV~2 ?f԰7 v: 8c߱eGN<>vLx Kl2l)$b0d.[XgjY+mVūݻ#h8i9I2.qJ:jv%~)<ǐ#oqBVKl<8A2dYZ1v2 @9ptrFfwdj󔀭A8u~j1Y{rIMtKuMh@/': d=ϳ˓_)GN##b() |&5|SbӠ;7W#Zgw7@q4sRVjWOȍdd^u;4{L3g~Z|=1صQrUΝWfM9꜅T:x{=FM8k$"@O5 K4z/Xib}ЈfDI$D/ 4øq'i`n}%|;Y 8-juPcQqOnyQnf]$elGirxoc–,6\lqRDh4L#% aGbFL ;;'f3$@Q#|aydY!.9~%'ꚴ'o7743 2 ❂MX$i}b_ q۳\v[&#B98([7+\6v = 1%!DkkQQ=FM Py2w;R蝴\߽qJwKtm2J8EU0"#_݉Hɒ.8{g9G8b@xXN+n'^rA+* =dɓ^0ڊLW8곷dw%'rЉRUtZ*G~wεg)=;;x&"֔zi2"I"̙b4@.<5j0޹3,\ ˇOhgڭr #D'm Gz ډ:RP vC,)S5G'K9@PЙ~d٩zc*gٓv2W&tSGC̑ }}딽";+=g"`9 7@*.> X+C r/X{IT1Qoǘk}D+%B0?^d$QnК\:$SlA]`h?9&ӜE ȨNmĒl? l- R2iJ`b)DB4eCx ].,Z']XID8x餻 (i.{hx"Hu@4ÔJsHLQ$W[}֩{Ҧ75H-qD(al ti~%t*0 %<{5vj'=.v(*G @L8] fѷ17F1kC$IϜq)EV%ox BLˤ*EaXgyT N=cn rAH:S8h,Eje/Z GO$ZKء}t ج~?/oNIB= G^jb QW/Iv\DE@CK< 㘬Q`l:~ Yel$sY4d=y7;dYjflq  xsn 8pq{c ;Bl[`L&xu vNS}@r53Hv-!^3xMV)qتٞ1E)W &%aݓlu!WM| Xw$؛q *oFC D7 s$ $I=8aJ2Ԝ`-n-c/Á iR՞j~ D2!"aj!UGPIo9hBiL/oך؅}VSii *_Zimi0X GO',։-KGсpTsɜ*(B+3pR8=E @5!)/~]ݐ$almBA^fVZS4W$c]l7Q0U 2| g܍䑭H)˦2 z1h+/ 6FY]n?ج@=.J_<tQnV׷gjw< ( }TǨ0Yb"5R{O3HXR[t ЄIl"ӥCQ4b6 ґ8r ’C6~X8/kfOk.MlSaDucG,՗p{Z?74?sLw`~[Iӗ8y:iSn#Ub$YØ )$%ԁ8[ KH]Wi#oC&6ўJ02cJWcob]op M6~1Nȥٕ 5kޏK5Փ_*#b3UBL8/TʤIqIGd5ӎhIWI9HN=!Rzted^3aɷ\a*_~<PdpUaR>-W҄շWO ^XB=#:aI]bCckd$4e_Qy|4|7c>WyHJ_.⿬k82c6:uBi(*^ƳIG8:=j•uC֘k< VFĉl@v6:ʕN*@}KvP^rjJr4G5'`M&#SlZY"ǥYW ,"ְJJ^?{7[9 !3\MD#@g%"]jN9ir6. Obv9M"hjm-^sUs?뒧*Fǩc*޲ ՟?W5&b+:7qs7~2Cdabޭ~ߟS'Lqv/*L3`-dtCWOlִRNX$z@IZ="-^}^Hw6eg1RSRȲQz*ڸ;|0nu$5A9҆#g"Ԉ'3VHOGPOEt㔩Ʌ 4>,`Ěq/j;s9"o[ "< V.MVO0G8zMDM:׻yF>T]r-:l<3VZnNteK6+ ݛ*ncQ0?wO&m_#[-srGݳ߄܈% $_"ߝj@Jv0ChQS:";W5z ҡ8+v3}Z=ZM+-ʾJ^̌;Y{:~MqշGeM[LK2ĈFȏ]n[VLH<-[50cbRԉL=%!g«(*MM Med) ';;}/Ϟ9l;c<Ԟ6KڞS`a&5 l!9#f /o V$l>}nY]ow(y@8ƚgeIGe<{Lr V^&!x8HԱovbYt.&UOKwKp{EL vm, Y'ʀrʭ0AȃC Gx+S:~PM uERbq-dQI' I)?9M5S SN>R^\Bhl kvS@0GݎE*fVl&k9$W -)ݫ*.WTݠau#X)k11Չa|K@bäƚ9@؀ɩ`Tke^_o_`Cx*>s1 &"V^N7b)H-x[O`/Rrd%M{ykp0rq#%=o!E| W'e\-}i+|Vg.`h(Y_KQg8ZHYI]r"Hq2·.ٽ* L$-Si.j\\|%l+9. 놈:hP%Dym{:{j:; ْ؜Y9J(`b!([է1AOa^90/+EC!#BqnՖu)퇙Ǫ=qK"dR8ED ^ @z&_m^sӰ2 dKNu(~JýStRɍIiFY˩ˑޖ'8kOlIXqi%!K_G1B6M4z)&'?R-~'Y* )0[AWj+`r ^r֘@ x&bOTXU9[]n>\ޭ/t )A8C.3Ե׀Yr+w b܍cط"a4;&J잤re2zO\e3Q3s!eR()se0W|;}l?{ RmF&232uH`j {}Ygr 3vnGwޗ7.swFT{m~$f?n(ϣľN|@{NG2/Տ]Mz:ixKDV͔!xDZXƦs},[2|S3-K6}Sm]= e}ſp*馽!/CI~5-;n_1ݍxt ֕R%dsY; Pvi=`5ݞ}2,yj{캼h `R#_ Qx YSbe $c!МHG^f`'Hyhf~yn' Ua}8 P6: ưz'|JLǷtSFi$E,zcJ07 ![4Qz̤fxXq}/{uP3F:}vM2 gn DZٵL}2S[HaF~XqG[Fa74X1OwػԄ`>p_DX~M;sR,2ى64.8 `Sf3^d\_6D'DHǤp-š@c IUVXO3:dU(YU&48Su),^bݎ8Y c[@ٺߐNji~HS2UMwge[pe )cTb52,eLf9! ٫VgaDjorgG Rd]G8c'Y:n{N&҉*U`R]/Vj̆h^o.Iq1? mOU8mJ}h0ib=v<DeWpYxX<6Ң]^lO1r)+om:Y Vi?7߀2ʸ(F7f ^,o.#$:^n@gߝ׿dن 2嬨p5Bޥ^<O hx`H6NN3F7[xbʲhֿI .-wjNH%43K̨wl*sR (s5keɴxeDQ&L!xq5^,`ɦ̋it~o]qn01 9)IޗWO t6y;&A}O@M=czR IT׋[ =~ #xb`9Gh*p-s1]׻>L@MȁPQ)b4|T}8ջڋEta?5Wxz=:d78ps{ +|#'˚8 y)U#aԑ`B)䜤es e:02lg), zMb (;ņبlY2F*#m@>jR `ԧB-'˰uYDNdIZ)F-Jm?MZ-K_huB{ } i<=.z(R)C"=8EƳODQU4ۧ[uu S ?¨I`IϟyA55A3u,|vs#DŽq8{vcs64e[~ ćp1{Ks9+Ϝcj"֘+s& |?[ӄe컟Ot*M>+Myrh08ZVˋ _ ]Oݐ)wgeࠁUIW|^p7Ff0ʎ 4FV&rŨ/C9@410P?NLH\~܊ζA#g(LbnF\OD",Ϩg&EF֘9[C*U{*\ԼLx6O.DDg4dp2 ֌A=+|lîIm$d`k@4G }ꦚ2e8 V4ezB?yS|^_e\GxLz|TPͳF&2}w} AD(n8@r1S^qUS l31Բ^3%*HˡWl`<ϙFx5h1N|wG _ƕEF8LEFbK}X^ tfOC|Ʉ w\q(Vd;P=B 78~9b721 ѿ^pI:?vQC\I$M(Xrgpp ٿ85x#R]mv4SsT,GP bVl߉+b1c:,lG968OXDO7BBV"ޟ:#(0,ؾy""Ә6U#̀Iv|Pf%15mD{{bFSʒ0S$H2 ]Jr N*|@CrS* hx hfn(3)NN.f 8s<4^_㒏tIoVwC^><,Hb(N3pTN OqX9NB8X :RgO)Zq kB^ |b4/-bJDbnE(@,s_ni@OM JO#)\No'rSr@L&6dh[ ib%*LDuLI}Rd.y0m]<NLiV(Ldۺ|r@.s {27Ie'OD} 'Tfw'^)tb05T ~"ʌsW"wJ4"pRLB}D:s.ݖt8icS%2h`Lpm]mZIΫ;ꁟ8^>MJֺơ LnKf%C`ۋg?1Z:OgX:b4B%VthNciqfXGpҚ';V]x_ [OeJxDS%,'@I3 [6x}W1 ب8JfR0dV0,}6SB0ww;F}9h Z圐cw VAcs"RfC]lu/kT=$&_8~VלH<gհ8;α18~ ɴ#A4td^/p /Ƃ#RvOcKZ﮷7wN&F΍jVF)T:+"I˗~%m  S}%~~qwfq=0OOG&5LUC1pe' Ҏ'Ƣ8%?E=j-PeiO&-"l8ۤqK^Rx+8e$þ( `R5POz<+wpU(p:LdGSO=!z=B &DCM[T8u;=H/fTw sc8&?5O@ O.wpz `!5sD#KK  @\^e?w?3'RֻAۜh|qdmxxAb]jc|Њ29 @>{a T^n/x!v~ɂ:S r.Ugx' ůQxljF2$k 2E`o(Pzv2|2N@+y)N<0ru2YrUK@AAxjoDJ$^0ycɧB$Xc;<)$O; |*Rr%K9|'3oXŨL 0wB `EøR@ܼ£f#`fw.i=^]@XpBo]jJ^}u.X,[SF22L9[Ǖ`F=$;1aHbRĠreiyec9 .Z+ǬNgIgP6M_ROxO}BQ2s :G4 2YSԄZXH {ζNa٬Y6b#P>lm3T"5X!2'O뿭Xk-34z._g`ڬOjq n+ o=P8z4qݳ]e;$Ԥ!I6ݛ޽u:1 :JÎ]oޓ,rZ'QxW#6:G8.O4nBKf%'Mی8c,c`h6R47|\84p_jK'7*)E"n<,x,lg~Єa{B\ L-FiTL奷>ܸΐݾHLY:9%u8#Hd/o'ٌc^k.c:ڨ'9K" ^S[B *xB0Gd yd{K=5 3 \. v7iItppfP~ᗖe)c30SJ0@Nz\{QYYgKJ0qNJXE:8lzvLk~\bٛVYy9}S|醢u<[:^ґ\ Ũ||и&h_ _DM ]ze*DL `7as3WhFNe7j?H|Yw$>s^B0Zv.G`ؤY1=va,/LEc-gFflbfGC1uL%lO \<{[㬐Jr7r`0A1u~Q'jK`ūժ3{  uK2}^<'mRTVA|mV̰ZOjn{}xGvyQ--Z%;E~) td/P@ucb yd8HR ]raC¹W҈| uMètnz,bEṕYiZ1ٜu6G]ĚjbVm;g'@Wy-FUEqi#s$-LzqX(#B/ "@ JTr`[6eEixnfђ83[" ;6_EaOHR#ȲZ`_4 cwu_7^Uc{W{L$sJF!흊StmT$x!281҅c.'?楛q ROuyS)3bV)Lg^'/ i{ʔ\mmbTHI^ucsS.])ɳ. Dv_߁Jl#~YRr92jb-hzʨ}zY1=RͤQ&EFL/}"uo̐WT"4"mK"a@'M. 7[6 ~LFZ$urD1%Pxwۻ' kNeQQVʊ16x g:[7;I,a7NN$XOx'6mC]^Y ; N :V'Z:.?ÇT,Q* OΛˇG\ε+xs#K-!GB 11`9\^Dp} ,r9hrEQѬ5p#tL*; #x8.!83κt jeڌS< sIxK{w:}=ܪZ e"E omI5%H>(,RʹB4a<X_i'7rBIqwIM`aSj7zd[0b֗=/k;Q+̐a)6y,rPI" Y4UmydNr̷ǘr,Qk腚jF8e6OݡI#=:=c |X]_m8m-sjҖ/Fx1Z8Sdœ6huy^ ""*Iz"ALh rOqxYv4kνU8baBnG][*dMo]W|g[ *fPla$!*ZfKi.H=rnPq )O )TvjKݚ4~)!"1W!'CM_o$U_<(n7@Pb>"{:F(ai'|XD0tu1v|UWG!X%QdKCaL2-rb1b(V wPID[ȅ$VQ_*L";fׯ6Kitp͑v"19I߁8=2 &h .B;YNIsȏke0y\'0-a$631FJ앜b؁WP$S7D>xu;#T'8x`#*x/лq&u4FQA@#o"PQFoc7*evyjI qY`j?#!Yc 8:Ôꆱa/뢄]楤IčdU`opCfߎwB#VH% iagȰXG1S vYDlRArpueR@93Wɪp8;q6U6&GNs8S0O;yܟwSiFt'xaչ+$.7z|Ӟ-AN8HuA@XLėqx$lDv GY? >T)ۛuaƟ.'3eb\K.tac7d94U L>BKTNV'(pCZ)?6wknq(0;W^g6,d~ܬIH,uV4L)g ,yr]_iK+oH@iuBx.ڜ(AH<Ѥa / noݬNR("'7|눝]m'UR^6E%Gt$O1U%>P6?GE}y\}GN$dn l4HdgTU=w|g/?jo;j!+PvҚ<,B2t v6;zM(VX+y=y^q蟩8B+)n6HA2wuxqZJle` OxIDOў'89vj|ݹoΕxe,' GPEdh'6DlF*"&}74:WFL)gI'I!gqqH 4EaF;vFD BjX9"=%9v8fy+7 T4svU<@(Q֒sMS= #/2Mؤ$HZ`U%/pj% DiF} /Sï?D|]N+w1p9Җ'1ɜ4bI߅Q?jVoN#FءFƾ*\x,މ+bk6ϩ}qHCM4fQaf{X2.F3m; Qŗ0453g (X<1 s*\]Ψ]1j$5}rՅkՊA@wC#f2 LMyk *=ůĐ8(x%-o_ 6lm=Qp}}D# D&ǒ>'Ў8cJ7}Qs&{u 6߿TV4һM  2)5ás(4 29,@吴I&Ew+ QOw_׷xTV8-xtU}jSZ-$vvFrRV?t?7-a )]rxl #ɀYa"|R<ĨǕ^icZa&IeLA뺶*d~8"ӌp; ^9c8ׯwnM0c.}2R̚k J"Eǡ ^T[0miب1K1q3mNS9V^#L!=s!deXm- v{/Zd%>5?Q!Df3՛;$SxwqT#đ+z6L̖Oķ'q#0lB06b `ɇg;"»ǂ(_pO34H):qëaπUxhx%Ą9|8!"NjW/ض"0>F|;Wf6<)'#FiUx|m>|`y3!ln5 bYjD9mpeAD<뺇D@Q!8u1WW[SL!ʈ^Y?Ҭghi A v`{}AuHr\B(&)ޯD8AQkLr.7f /'iPo\>h9ٛW^2uspFp‰k|-hX MZ! $|1?=dR荦A1e"c? ާQӄ3j-,>\"'aO701 ^:>KcKA3>Dɂ">px7f=@% 1BQǻnJ~y6y=ě2Oi ~:ܭs4Mg( ssB&^+#+kYa-Io?=:^jq셪̃O)viw=Np)'G&rfi|s(K8^/)*:$:U'({񰙽A:[(D2݉%JT`J- _\_vh /k1HՂSwmx.qˆt0*5ol%u:rEdz6SZvrJdgJs3q5'e7]Kx2%%EcDښG&NP\r}{*FsZTYebjBF"$}^s)EaՊC+vFT,%\Vdur&eH}'OU$!2ۜX)BiXë_ou>n7=ªlȶ(:4ԏχWpqNs{6i\F*13ۺv|hbs08z/ya}zH[E' 20X!KGY^}UJfp@t8'bPՇ},ۿ擄"ٜG8d#^I1)v%$TǙ[::b*\ N'n&+,{"O&s=rP Hc xA=.5zN(fO&d#+ m+9?( sQxيQ02:\fėQAHoTg4,)f = <EIc6:Gh Z͆SF5#oղO'B/yiB^52Su6ABxp,K;s»d>zPFHt~cm8CL{Cv PF:j'-E.(wv, ,"3D:G,Jj{> MY0W_5YSMgjcy3 @ MRL"4`<"=iogy2=ߙmLRgpggC鹽nr0oo"IOU̜HUc[\mҔ-L@frVUpIasu l[΀R+s:7O-a/6nViJ܄a7\*i>o܇&84&7F 6xCYJڦIQ G0+\xy {*Ԑ5ҹy5YLևmO3?qimyOX$o'BrbȒ_dUjIRz=IlQWrwN nSI/ ~JMLq#;4+ØVlFF\,I?/cm2Wi({[tW9$E-n\ߝAz TGFcsZ}`8S.`i1dPH14䥛ޭv j/׷w(P<{AΣ 7\"w;8Y ;k/QHWW|OuY4Mn/;Y)v=CaoS몊'ǘT!V & ,#bf~ A;S6a ϣq@̂Et?2ʤ>0{+c( yvpv:d?>p̽up6}~"ynŏǴ 8'Td4-[U6go };q@p(eDÇ"Fnֵ(;>գ./(NV0O$M8F:>8HemZj߄b1#m`KDӽfNʬgsxp56Ź!7cwvش%nu{HhAʏ?\N e'ҸO9֣=NwV>^f5V IȔ[AN&CH4MbP lpC6,.l(pr.W:JvW݋7;O/Y۲EI<BDxaf$n}Zfqgqepǣcv`,@6Gt%=zp(dy#'ɦgcWѯVd8sl,"PG*ObQp!OٰV \3q2\4NF\'M`K l5ȊexD zhu0: N׈R8WRv9 "UH oDI$ڰ8OOBB\6"-qoZ FFčTs7Dcv:C_WDwbXT+e CCh, &S k]w Oz e"fs8Yt:8^?9X=٩ؙf_Ե~X}XQxD3Kd"eu @R] zAnEg>)yX7MërB&@Ft8Ѭ" fY '#|t 7K$( 3bW4m9EPOLsGEÜ,^Mt8vTQEٷ(vxxTu=U(a,U_OtUJ,w6J:)ED37x# M?>G s3 c&=Rh4'3"I=q1Ag~Ex)7[M`(Ӆ*[7=AM^lRےUF;(nf,ϷPS" ْő(HTl8G;#Eow@#, .GeNIym&e>2`oAyX"2$*܍fLфʺO5УYoozs'4882Ǿ$5u9H9༜68Մ~|Z?F;a9ZTHˎ֬r9Nų/ѾxmR{-meʊCL#Q6(Rw"ڑ¶3K%!b;k:T&[-RG=gZBr52'zA$DeHH=iak{2T~\7Ez.8o-3X-K"(WGN%{,| Ŏ( y#CWDf> "aN&Wh̐nXçlV nH+1"ȆlYZќ%ѱGG6\TV^pDȂ21'vV[ြ?Ny$4'j2HD<*qIaz1cQg5dؙ?ߣERU6F!0 4RBjy \7Bka,2e2o28A0Dh$zCc?CLjuKLhiXG8EM=#,[x'/pw{t!}5#DvB"z6b<Τ%:Y m"@؇Ѵ3y_p{F \G|62(NňM r^-Db&o"\ JAH"hJ;%>~#!Ecq,Ng뜼S5\n/ߨzw~11-ʦ 5x2e|FrK8Yxk-$eww)13ӈg p׌*DG 'U)$0#*g%G2T>QEYN^RKDאL߆GG=iQGB)@$#Q?"H #<-%$a*Ūazi^a6eI8.MREH#Tm^Q׃FpFHTmzZ]fvhaV_|3շ' #X}52gpW!JRXfNjOi"ߗ a=ˋ7"0d($0 ^{!I%'|R6::1;ZLd'݉+qlw[qCrwIve9ATe(+ YmOlW+\a| *MB2 fRc0_._YuEY*T *4p^ryܿȑͣfo*'Lux)8ě!״aβߝ@JHோRl27^֓w9gb'K}^ęң|]>F`-Q;ΔSm$+R9]q^:ʙNr*enE GmSwΐW^Xoe[*8B%@8 {TC|*{B0VsT=4òD6:"xu6HrL<{{EWjegsw6fR ׼3 [=N :#J! !jGD=5$+lo+v{wH4adJܑmekY,LoD2Gxb9,dp%${Wwtk#鬢x C Ao:9\Z?CIXҌWcBG,Dns w@J٫ gcWo{}$x9\}Q/! k&$$-' H~8X$ȅMF}aIcnO.AX{sYF˲(LCF7ىQ`Xڏ 3NoQeI3q1$Mزnnw'LcDr5IK WscxF8yvߐ;Ďؤe 7C;H?Vn6;Fa<[Ҋxefatg\˒ FW]W]OAI QJśJY`&g`I?Iֵ&k ecGhGSv (-7FRqĭT1ᜍbs!䩛HA}Jl`A %ib ~i*36 70R! ],UN4Db"!pK7$H9uO=N=[갽4ol* INd@mq먫5baOI.4$ laśKX%S4K0a}(_NO{%DopK|\Z&F%L,ka&:)"BF7:i KZ Eg`'fw!bcL ))0fG SLl_m==R֮H]WQ(t]&G(F|ѾFb!Ȟ+ 8v%z}ϘrKDްpMBѵ,UGa^78IvǕÔ%g!\(>#ōS=ûA oc!asLn0T*;/f7t&':QAC (*U8ruF<1XvwR}=daeItzx"~-P2=sx޷ϯ_]x표*rTAA0FDdKt4g1 \$C &Dƙ9cGɇ }%=ԳY֑Idm-`'6)YˈZ T%c[HFg^G;0  1fvg9O씇gjim?S*N[R|m77X+FCt)p|,y Dl݈g%S@K8 7 QJ6"f'g)MzH!K[G䕱)'2+jJ/8 Urc`xGC  q3LQzE f6{I:#E鉉(! nD_8،TV5ٔ8#V8|V&}]_(sGg[ yEDBf)unHҾkY3j &P LT0T&)g*7{9 |ȫKd HDr՝'ahA毷p31lMD|xk@;#lSwj3.JZs)"w6/vO<{5YQzRl0x i99< G9Xu22Ti1&R!c8_>8Koβ,.̒)Ò csJ>M>DXDY)p'sYՈ375 <%t=5v\dwv7!WN+ Tpw#nW鎜;'>@`ׁX*~9.)֣w8Ì$qOpyMCpe>N Z2NH n CSh'xO()ي S 06q0S^m v82Ѱ?s9^sG&u`_p\Ye|:y̤KL}$sj0Yy i6KbTG朊g= \@,X?>PӊKL!(T <]Se_H9]\ϊ@[Gc$0Q3JPe (4@Nn犓<4-Zz䛟w+"ĂmrDzO.8S|iYH(|yA\B7TovbxY(:T]" Aג(JlqDNQaAa6775v @߼[1MBu|T~tKp{xIc6R%cNp#?#5g;KmYPVW;@5Ϧ#T^̇®2R܈Bg $ 0'XjL,(7E󬲼F`/YCK^%q _RL'VjJ*/,if%bfE΅Dy#Vaç'9M T'3c V~CfH:`ȕJjqXC0nf>Kh=[v=h0۳M0ȳ授u'qblI q ߰~\b[NI,hL@o w Mw߮Q_q1dz^kZc_ 2H|i>0)4¸%t,:FRBo^oZG()|G!AǓIvNzԨ #0NQe*?٦LRӧI|"VK[:\VH y"xEQm"@d]̟h|&SGHDkj4MBG#j;NYGI˧;0q#t9XÛ̲݇oSY75/3j~`VT 2qObG2B뱐u @R&)rps`XqrͬBMFajU4 .oO ]=DpKsn"ka';f Hee_aA4B5" 8F8!<1V'/S`vIV UYZ$:rÞ~4vz0Psַ* /;#8x}kHi7$}|KddDF$Q^^yAIg*E޶~xQ7؏\QpgV>N45U1k԰2cfMTTzɺ"wF*jerNa~.#<\?6̛=4- 9B,J(d=N#4H=yͤHzDYr{Ɛp$9"Uظ+ts/B;*9~a·nbg O~&+?्a2{Y4]e38"4뽆Y}Y-_nn/׷\ iMy";DZ#Z%XH:I<|H~^1ץi"rˤuZo8flyNַWdUI %pf-Q7R93.G NF,/:I bǖzd'7XIɁ1y /B!]~s[|_x2W 2$LkCJ.>jh%JA7o?NrEZli0Ј F C˞8F,m?&@gM_0lVa4Ỳh_7$ϸq7cȵaA h- J ,nH Lt:<%ņ,v,3, b<ﱣw0=dF=2TDҚ6,՗cpBqaFoq6E^w!MBdwO rIqZױkcNE\,"c,'aWM2$#Ֆ:|/1&pɫ+α5kt0bk2'Rcx#L9lSx]RmL<+LRC/q8%"L—1̪̀ě̱Ә%M Iq}zinllōh*4wr9J1 Ӯvn-c~~!6K9a[)l" ,H)r,-k5u2 ɒ]FIG(mT$Z‹BY)ǕBNjL`mF ;.눿7\s RN3ifd|13M,EDښl䝟&'%A ^D6> ݞszZ Xd >w+#ߑ/^Ԟ9Gt=j!#J56.wg.*XŸ#̭,†_F$G^ /W_#d q(ErҧtMxrNݢ!¥|Nʤl(yV89WZ* Ou -OΩ+? FIdRFі*/+au{?q66F/9ooWgUqϜHW)lWIkD7ΔJhFs[E3!0`AaT7IFlЫP]?sb#96ö݋> X0tEE[Qik24$o,b?.;Hz_ ~%Xfa zę:_/OrswbC D|ಈ^L  \jj8q I1 jN"-iFSGq}`G8~81b.$l3X[(^}C=_^Ęl8t5>W)p8ु$iً^Ot8#R:1qXRFb*K}2tڮԴ[j*LuYS|Ar 3DgΦ#]Iȋlf? 6&ZjK9rΚ=ulJ$PV5D6|?QhY |cSzBlHpUښBHe(5F/v,5_;4$dc`dìGGb&f "щBycrI-[EVS6w7 s=<g=y|LIbq-]o9XI_tPw><:ծ: J?Eݩ+⛳^eߧ$+gǨB!H i4 ovwƈ̘S#l)\f({OSk&Z7³9VLY*ӄ1ѐa$qm?ӯG'\0Jd3.5J8Euk|jӓ[xȮI0*(JͦȵRIϷ8> `ȢOmRO#r;ׇ>q|&Ku: qCh>EHb`AY%T=Ќ-jI M`aaְ#,bQf6cIB6,aJ]3 2 I)91L^?7c 7'jbb+-o0<Ǭ#_ |pxl-cydWAHd5L%Oܝ <|e"н9]Ri[*T8M5;7!%`-eEKqrOu}6M#oD8'4r) !OrxO G^WhRX&HwEN ɧ-D!%bS' [BO(Ouʪ?{|p '-@Q(>5%Ld>ZyY[2Wx=ID~9{ITBSEM8U: 'EpTFz5գ1:u,IJꨢƙdvFLk+2qGbuuuoRvVwXUOBf.0]RqCɁM:$|^1Di&-kSyA̓{6'Rp|Cg$hciy1y-ԙ7|MLoZ>\fN Y#SDIznSZ ~*D;!!#ΒZ]DVpjϝ{{t[LRՍGM~2vh8`,X.)DK%Ӟ:sN$ǜp. -p( SJ >"*3e3fN$yasc$i+Sij.qQm~Rv/$92* xQBJs7W:)blRФH"VQ m˼ÂͱG_{ϗsKMcﶥ THfx3)HqVK/=d9n[Qf3?uaJVGqBLh@5 R),bXvnKE#~rHjd0tC!?_#)L@YTқ˘ESf/燺GшL`lֈCD3yPLE|#.Xt# |.h_9ܯ\O%,<4!|KFi!ûŋ/%FEBf5{ˑk'T#p(AJt皲b !&$hCS+)u- G TPs1:{ث ??e5bd8=cv->%s/覒ވDB]RS@`oA`?zE!.7=sʵ`*ߺ6&o@j v)v FhXQ؄ 9񇧚DaZbAFZ x}3RuB'?BJjґB̻U7>P_k "gD=jLKOMq}DŽnoX@yx$0FE8 A!J~eo1 PO(j|?2٫y9O&&"҂\\ZdwvpF)?T;e5=oכpQ7t Ŗ%fUT}+3ͻx}{\7 #BVҎ)ѐF@jXȥ+``/|-g<.㰲5"j!! Uש?Ez0{<[7 VR,82j<H;MR3#s k\b:RhMgQ&gB%LT 4 G{ħ4#$Ze2=w>rYf56/oR9Ѥs$fNkBRN^fGӐ`[\FNJK7m)UV=ިѪnLI&擣RH${ƈHjoxF1F:g%DGȪQy FɏȲ'Д˦ele~Va齺}Fۇ %9SNǑ!t5$A( N <u[_uFKˍN42Ln!lC'P}ŤtJ9ZS@N]e˦*匊B1 vt1#y Cx#G655˧dñ]~t1Ajg&Kvvc#v4{6³AB.h٧Ho)lHGmko)GpŽS9<8)Ұj ?ɰ@MwwzCHэHU ƷHT JHRJ҇ :ȹ<.&8.< 2z!>%{ 22Е{MJxi@%'e0p ~  hC"p+4t/$mqi0(;ZL,[DPʄȝ$uMDnVcB$s2C1v ΄P#QtD|J336 lFa4"Rkt\Oy$%lLvx 7/=WI>DM$|њ2. 0o.ڪMC7g/Է͌p}U ?d"|ϣ=gn2jdRֹ?*u $Mޮ/lJ|Spj8odoāMYpȖYFWA1i\&¾P EQ2,qFdTj*ʓUT"kQPݟAinc&j^wx`sl-PR^p!OKrKr~'8H<%HBf3iFW$5'~;~uіT-|"3foL_jcg6C6Yr%)Xegn贐}~$`!"೑V$yLQ('66㙸e3"<3"R0kx^$pqYHkP&np~x!(7 = F:ݞUY"B(*Wʋ+bG62UYnb@8=KGF{$u2 3q ^yXy5(JkDʎ8JSb"7c #A 9!dZ]4ȎtL>[~WLXӆԐ5!KWRPGF2Es',pǙ\D.:Ѷ=7vψyLvGYH&B[lHXg|8ryޗw; c[E526a21O! 0f[ /ߡ? ǣE6LJWD4 \ʊm((KH$ɦlr:O o2>Y5F/˔H,WV5 < o~v8S6efH\H^ȚyBIs+Vef;7\O+8 \e+QgzuqQI2ejG&4>4z7{Ed%%1qg{ idnSoJ z#SȘ om<Ɛ3=cˆ5?OrJC<"&"T2IhMiKtjMsIV Q%GDH!K]}_^tv9b)^&S2qIj}4Hy( ^s| ?)d]; P<b }/\[ ܒU`RS|Vom4z)<7)&94Rn6Zzl^LY>s@&dR}ry n8T7Pm>P6 &VnlIfbOjzIN]dr a#$pYE"Z%/?T IMْ.tS8vB6CD;(Æ 1hfؼ608c 5&qf.NeR!wENMvR5c,J+[ঐ#2"-$-qclIprJ/^4P!^S3^ʂ& Waڃtz&}zG?ߛny'"N[;8F)>u}sx߲Z*" FD',t'||]3,Tq^TNG<\oHX3ʉo.KWy e5K$y:v{w ^kVRs 07[,;8r{p*8  J#u;y3dž }y GJE>'H*X*m޳8~У$:#n!]p˲iwh:q*YqxUl= _.O#n6p1"a{K w|kUHŬi& %U@LG|0??{ HXyaс?gTEyºaSpxNΡ=vd~,2W7j 2^otHmG7*;r,S,?MjӴu?^}v{>Uܐ&ؔ;v&#+8be"6yaosB޹O F\}o/nTıՈ/L.6&CFAO/U%<1WGJ5_CQ:U=\mDDءq^ X $X/PZյQ$s`c_Ŭ]3Q8̙9}8z` p'n!ևri,($M, xKZ1Ͼ3 /ӆD%9l&Yhv..e׻/7n)ڈ,A,l9\*|HLLY+^1bke8 ˱;`y"XORGekߝT;QҞ$<op:rSG9PΙblrf#< +#۬ƭ&ns{o  ̙cdP0i ` 0 ✗0 ;ca)PuSS" /N7V ̟)/ =- `q3j2E,iIG4Hd'Ĉ4B =}a~D>OFS w$!#+zJkZKNLl@t wHF@`Q;4o22[j7C&M:gcA=B Hjqڝ~(8{80tǬEО'\YeņO|û7BѤ4.=8>#eGkɸ5ď]8q: I 5V1zϏ emsrX&DTzdXxƪX%ȷi0z |V2b=Ky#\1Y IN'97(d+%wq%'yvu 'Ѝ=CJJf]lGjCSDu5W׋{qEUXdjnYo+>t<*Z溗fPY]4fIj:&(*W&-h5,TFY(y@U6yZGP:]? +YF[i}O}er'D$=:4+n.4$ Z4[q{G[b!,ճ%4(c$޲?؞?>Lp&R[嗻-"LQD0"EZ'epYhO@ %%MzJy"[{j}ŏ(RSX $z̾9%;T\lP|75yL#)xݦ$pț*;3/}3"P|9 Ӳb{ Dk2l\ lL)[G<$ 90nS1ZR0MU$[JR]=pCN meNTn/Ł#5Jg38"Glj* &9_'r8H:,Z㡚aGxNdOl[HzYf@ҫSvBӌ,MI/Ǒ4iDiR᜞ QiXBeK X) hHca[`9n&,'?J"÷/KJafG34l ^ɍ?4l,I% \tJuZʫu*.T |i.9?FD>6 {Jhm)*D3j,6qB| \+?WCgRb3Lbd7 N8|b]~pqA>Us2*Q YnAToQXz/J[,x\)TaD+?r~`e8P) i{NRWxp+XЃ9ϖ4J HD@DrZD,3!_VIݷJ!59^H +ШXζh;='$5㦖(;XNT"C6&Ze>'%aVǏ= v/b kId81HjC@=179cad7Yc<\xL+"xN6ww{(8,ZE\ m8==)'Sfx .[V)+bߙ&YԴɯY~K̅>(`R3 d%#S^Ny;~Ay9R_F:mf8%N%QOf! X^Y6.o '߰ϫQ,f]#8oR?۾?k'뗭2ON1 o?tS,߾xʏgfS$ݭ9Vqr9ͣEM‰{bjOgo)hWN$֒jqt!K^&'o}G5Fj; OQ&8N"Kmn>oט'Ey@?|? ,E$ &$;t4W<З|xRAQҎ94#Û0VW:}Q3JHw!O 4dj4C}ʗi^V%8<ϋnnWw{idPO#奙X6![:;Ӈlnp 33*93 j-<@58#xp' Vu5W؇}QZUP0:5AI-eA;2<^~~<5sbY'g|JAN/Mm"KqPP#E$xy:BC)r 'zU P{zN;"3IzΆM6!]__>+",1{ܸۥ| Q')x7/YN<6b*lŏLaqu6w}OKȇF I'8RȸZ:0utUhAڪjQ^qu96,şƁfGN8nBc*~uKצuTWc^nl3s\{x1M!6eW !ݖ@@B8]iJpcvK#vZw OiQoB&KI8Li .rNuf'OwMkWd)FJG]o> z|4X)iSH$Mgt,3T_UND!)|^YDۥu\'a_?wſi,sH2 W4.DuД;8ۛ͟s D)JmKH5ˠό#aDXm\{SYFmrΣd!EnZ rS,ֵQ#'982 >{"̂OpN ?ۧuWY;1I @bHy(4!SVՕ'8o$=ęoϙHbW Bg|wR=ϿZ!_ldbɈf0Ntӓ;aP:= Jpg'$4, wLF@ |{8nvҊ|BPKrBnzUa] =0ħBTkOkCA~Ш??z6X)O-{cYkl0Ĺ00"2#y$ȏt3NjEhL6\\!?9T{792Eysd=0b@LAp9hB` )j[IW"RdAį'TP|_e(\'Zu}S0HSmLC'Q5;UNfRup{Z샪84XùSN43mCJeRw,8-^mq|n}yvu(=X &<RFU#m5!:g S`6'vXHX`9*jBv\*<{8+׃;}o[§]!>Gbu1rV9;yBH<3SB=&jgHO^Fsߨ~ӂGSE=&\ύPVb8P )X?9:_Hx88Ol 璦T*v"=L~`8[I\! aI8^Nʒ|YTe3Y~^#;©Da[e}00qA X@7|ؒ'Yз$bi\{v,npYR_2f' _f9F$5d*ܦ \#a{yTN7ry A_"SH[iGYQ%}l@_fq/r$ݤ#S9gJjbɈ9S9o͹// v)I<+VZ%ټ7TQa{V^/]~ 9af%_0:DQɄ&F8>4废k= <.&r~DN&8=߈u?NOdH0-)S"|Y³RLFdȎIg F#eۧn(~#ȥ|^l׷WK!:p{GHRi3I-U&pD,Ѷ>J-mJXY8!5-M! f2۝9[5LԨ׌Q3Ӥ9D>js YHּl9am{-NFbET X%oboͳOI8϶"?ۭt}NNV5;Y0]H@*4+NCDŽ`l'SdFHrIL1ufWdN6%f29GAT4]uL@73%Yn3'ᤄ.O@%c k bN%Q>EŸ#TfAlYv6mmZpm_nj63eVpeY0޼&X}b{_c} N~[]= ] ~$XD~Jb|#kkf%nx+px6 "a&Uq K-9\*/'oCoC:=IQ.!ƩGN_n5m‚5Ѹ&QXw> ~v"lߨfΙ>ܲ0UJ{xG2+J~\۠)DTHh3#dֈ yemԠc+-$j8#K)sD@8P!TxbŌ_Fӟ \%E ۀ+bCdaۇC3>y:rUڅO#;d=šoa,\ȘD2H$eu'=N6!EdMc)7 wDXPc"Ib<讅 <\$ֱTtiu_!.<'q.Vɂ|EV,.1Ol8}#'Tg>#|kF'4dR33xT]tT[ߛꤏwr~>qWfZB޿v7|޵ެoLpݝmޗ,~M<ٓHeoMSQru} lTHZ7QCf8=QdHtY$"JG8O(BH/Gl)9E?^E{X5}* ApVhJVʓٽqZ { kx_r{^6(;.:Puq@ė秲bbH ;nf5 8}!,<6FgEE\ //~w6e5r[YrjjjJ\oC(1Wl/9W1Y*qAV `! [`>.VUXo/y1E*enAkO2> ߝҦIES=qզq4E(x=A&jݕ`MܟׯIn=hL 0p/sQ)"?"5$$K gwF Bd@-Fa]%" ҉\<{QTp>3xD+Ga"aqk|8=x鄨q<n0BXoͶW? _<`T~ #$3g-+;[26,7tHĎZ& ׋,vW=R0bGu12Kfs!ix1Nz VeYy,_UMJh!49+9`4-k#}HH8tNaVlcp̅ԌY! )6\k0Ԅ4G?OS!{,*ub= aKin:Qef2_b,Jy?Ix.GBƔ:S_)h]!⤟ Z ^9$y߄(O1-HZ.XDAU`J"Շ0< ΅1x?:LЈ9.Cjb,L܁8uuPfܱ~FxY: TG+ʪV&1xT? blS!0IGF,EƑ@ެaԺZה["ƈnK4xm;6RQ$Np v_:B Vx~)S"Y dyCL|8tx\bխڳ !,f6E^ō#G ~]#ëѲ2@Ӌ0S2л=Fwa_W4vgԳuFkҾN BaM_~R 1CIJ]:(&OHL #zqƵm64Q?~W|QN{HD39(d?4y`{E2ȼ9k]ۏJ*:Y8%DK-ߎޥ/-9ݱdcDd}պW,i['?\[_5KzpɺvxΜ,iog 7eD S`_j#I Kx[!K_h*q-r@ ),֛{}}Yw| Ѽ.%'=gFxK"_["p1PF_dajxaFwM8O a-WGZM>ˊ@%h'3+ׁ'F]ȽEݜ4Gv/M09R"XZjK$M}:ǩ\_Y'- b<1Ɔm+Mȟ(˼glXECd8zy3RGf|r^>| 9dIQ qHԥ %Xؙ0C"x7~mnUH A1BD!G= y^~~- "6숳]L+Sy) dbكkZP2'šn?|;j twe89hF9d6KO8f(w@o>}g}qN`jSurmؾoz,嬧^-'lH‘k"uQ#8շY?8C֖"ݳN1 ";\\l?Xl.;05q`CYb^!fڭ>}ޟXB8Qʆ:#Tk99vGmŋy抳4M5sq OƗM&qîء{CBx C(LQPR@ ?.=1;OLRljTaX;t874*ZȚjE~d(?UR8HOQ*2sLF:[ TL}[{{(`EVYTLcuD8Mn5c- 돂N,}=L 娪DH3-40!B"zO~>=4zYb qH C5dgӓ!6o|>4Z)i\ 8Jlݚ*9՞H6vy|$?sir6Bd \ @ƍ}  .e1EE˞Cǂ=ȷpČs* HQq|*Pv'LF m®")xqJD׻Կ &> Q cGvx,I핖v42nNkzFVR9Ȁ-aǓ>~2e"*+!Т^n$fߟ[,ҫ%ڒ͡8EؒXJroπmc ᱐rd\e7iMY Q{Gn|z9k"훙)+pLuY89U*v}?'Xh bwXJNO)E5V\ji36k<VQ Q !,+VL䣨 /A^bM#eFcfU)E e?[H0(dT 鈃H "Ӟ3 +,`ը> ;-v|bHA/i{n'5_U*$Hpn.5Ȣz#R=a 5Z9 vst%Iו(.0JOZAg\ڨ0&jY'6qa?Z B,6Thql9(I~IjzvD?_>JG#0(J5nmY͝r)j=oBX*R'$ $rBaGD+=Ɉ?m?l6 >q&S9Ɗ 25u=sAKVv,pD4'B2ljSdӕW?1 t{aԢ#L%WOjGQ7tڱ>=JC \S"1S0ι$SQSã B1*}JI{v$aL_?SfRwY\4Qs = kHu؟Гa0=onha9ŠܐE >eRk&@ET齀W&T ?]܂4@smf)+R(I{7tLNU I 5qVR`;:(aS#wbD+e^5[BjS )1u!^YXΣ Ȓ#Sȹ~p]mVMR!k!ƣ7l{ t6Pv;>]k/dp=Wyx1Ӆ,TzbF^,o^Xq&~i2t8 KWHa!mAeoJ}afCG|Hn# JI9:ġWuHQP5 ٔah/ c#Υ{8 D}~!G؟,ud٢K{Jiq8l-ܼ0o?Kۑ'ac@ J VMlKסʆѼ[+<ޥHہvKF~/oXŌa@IIH`vR>,`>1;S']$Ȅ"\A}\[ޮ9SCd8NL{c,LYW1L6}}d,zk 佳## O~O D\]&EDRT9J#e; v! YX˳a7$_'QkCimLhXtRC jq3ɑe66FLd9ݫR[(@VƷ:nNsBT[pf P(̃k._I Ie~R֘4eLk(E@W11D<4쯞?FTYN4.^}+hK~[N:>gRT50ĵ|N_WW_O6 n:iLs%2U(~}}auqZ3"eK 5BNn%LQ]q?+ Kj0ނDe e{֥f?L)칬 /9(#YNoX橝Όo.NRJp-#} ??KNMa?ĦǛpf\qp~PT9Wb:o6قAW/C"';9'ǥe^v`0$gq$:h5eikr_MkG;*:X ΐ0:viv"yy0k} YܐECZt; FK\3? ƛ]iq|{99 ?׷)jK*Wr:9rJ"~ 9ppAz'qfe9m!wzxb=z}|+yldαe $39z?7dMxߩkbXm$l%b}D%,#gf،-qYQSD/˸!Or0|Sd  ~<^?gYH_]A&ETj!("X!mc$0#zD. ZeYOC VOX)ĂДj .:[u0c%x٬o463_LW2g-;09!{ sGp sb4@ I`bEr5\M`o}sG]DĬٟyC˙\ upVD|?8=R G@> .Sr8^2DtbHZR)Ơx+>T X^7x8&5l< 9" [6^TR(]~|v _ҡqB"y#KFIMCM"#_fV(񧗓MzVx|ԁ+>qnId/i,[d(rŸ(`{yǏiV9nEl|{';U"yb47&Y0L5{Sy"B8ĸNbLv1o\4ÇሀٙEc?kWd5MУ89|N+5i\o./o8(5LE)f2ޙG_"\5 ++@6í}Ry*A `ӊhaٙi?w\_97QqET1Ko-hzau ccOjFȱHRXaJ7%,njZhV3 ddUĵ&J;X"&Exp-dV+m?|X45؏Pr֩QY87v_+|?O2։ThҾZD^[q,c&莂Kx$v0@' &HsS |'eE[ Zj8Q%nʛ/(8vF\>.ߛD7OJF6$v:j;YYtcEY˚v{5Sr9±gMnK7"'ތJGrZ+D O)(:3! FA`3㼔,q:%g6с~0!Ø&|$RiD9̢ ~9cWS逑\_R4s9Z-% z[x\RJ !2q|3:ǵnѾJIn=ܾ=~/4|۞WDM o߯kfRKl6;yČ˵<+?W_aJvEb^=T_6WjQL@7}8{~:X(C%%r9Q),'#ݳGL8ȱ@yhJX]pnn}yQJ6;)0 x- ߍw!:C5CiTX>j\rEXP̹e hHm.(yR ,t6~<[S\f{6|_QBmG2"!v2LTs&F`w %81trk]&K ߵJ)c>fKX^ƹ,ŻdSejui*x﵌?fb!҉R5©&Kw„d6f1C>^K".@H@"ic#4F-L㕒 /-k_4Esމ@- a ҭ]N/X2兗&]R䌵Ɏd33*8UyjCw2v('Wގg.zq W7ݍ"y67L6"gՖRXbTb Vw8_U 4'΋zåS#w gS2[ry0 DĤx~bk$P4? DZ~jru9}]l:HbK[lng+̊;]).G7;2/yMxy#HN8BEޓΐ\ ȓo" #k Pۈa|\w"[M1P'9nV^]6ٓ<2" (BV Ek6 rcID*/1y+xk&23nNn; /!j?֗qi괬)K7[qpKv?ruABα%\Mq VM»훡#|{OuT,ΖeM츷xI[yDkylwHeݵudjD]J`vr7u4ʚ}):K0ꆙ)`gC)!.o)ĤNdz&֙NU9)S/N$cs$H1;(B\b9njlX uȆV摮׫Ksb3;&J$Ι-G@ n!_/eF67W]oݞ=N4;a{syɲ, G05`qLF3J$uijvsXx4&TRyQB`Hh԰o 3&[It@} F^8_,?l]9K#ַ{!pB$#}*2zX7:X`R!BdqS:qd8!x=B ),`YH/_33̚p{r $9ߛ\UG؄ZTs>rUvbkr[PctL [43 #I Nb#quuaX~a'" oP342Mpzb\7ynEU Q(%*M4lYfί[,lV`Z. p?lWnj1W%zcq';QFt̡0{ڟ}PZ9[+H4ϞّRd2zX+!Fj}N: 2a]Im\/%*,{k -FR>V]d$\qJeq $3"':ü 8ZbPۿ[U/s yPG!3liEzs%*ӳÍMx+"K z>[}<3 &eM }(_MȎY̨i6?!prbϳt&RL} W B ԘՑ6.^?Ј)]53eeX Έ"%[BiC29?pHD(-x'r1yr|#0@(Z! $"yM_9R›g9)R0aGIn_cv\JFݴ#׶1x_%<.Uu-'O=s;ۻ}@oA&ɭB HyN)tf@kIwUqwdKr/SJjgىs`aDo![T?H݃+ xEE63ze6Ȏ<GmwLܪ8_83u\ڢPPM4qU6pi|Z@ ͆N)oOKVqf WL62evlA.]-2lЭKw&8bmL{aCjs^Όf&k DJ?$+e `"e/˰UdpB֚m0CTA0e;&p+"2| ]nOɚy% g5^9,7ƫd/'`Lg%" 9i"UTL>qJ*e2e"g&U-oٞ%̉/e ́ԦZ^Atv#uN upUыFQ@ .:Oť P4bI"u6;DZv<{r~l8{'!1ea)ݘ{8 Ǣ'dH ^ȽC@"I(5%qV' ߒ'=JvX='π_qD1=:k/F!+%zs0`p)(gS~2| j%8#H:.seuu:{uJ8ĬD1 1rbЍG7}z]'c9ZNfw>F2rJ7ޓij955#tl]{M#S&Nqk)ℰUat%HlUmdg"N^n77wg_IqxG?bȴkKD3M15VW#+*>pTԹϦs1`h@2Sր-bTVsŝxF@у@jfqNrQ!S-cXMM$ҰzVwf; Ll!6]4;O-um;gnx+'gO(K.Kl3U&@W`|W^8{ q5IHOV\Yz^^F)ws[R"a Zբ$g?-^N-< yeq`h6芗$M oymG#>T2BBq;E%9^-޼-3&n@r$hF)Pz03QBaض< Lw_7]1<|!ܜce"T`Sp2gK_ˎ>HD?`}F.M3ǴU؁f4Q@4cr] v 9=q2q1ċ`w嗿fSG)=2u[ϱF/FhZJgĩI6qpjWE>-ӌMNB͠T睳j]n7|u"pt< ŧFRZ᜻WkaL E{Qd ؿSO`8u4ftqqӔmթ+ɹq̌sKodbK9u;9GWы|V(fNj4!EOEZ}isKdc5rvYyj΅REX-]iu/F*"r:W, qX/z/3cJj<`5}&ݙ.>TxٶԢqP kZ0b*ϲir9(FwDDX&G`C-@iP$Isy:=Z}_ߞO4yd-jQO ƲbYְqvC U^xN5N874qJh*ɚ6qR>(t/F!ddsp}:)kR]W?$|Ds;%4$ ͚Tr4xңd/v uRIĈ{>$ƚyһ7& ipM ˔s4`9Pz̫#+= q>!81SUld`{" -Y̢93gu*p\t9.~ثp%ݟThَ-H8ѳN`5C,z`'"iS&}VC_BbgTjVJHvD}Tt,q(-0ɴg!2v^MOp8HN$/ (?H)zQ!lR{)Kmj0g^bC vJ$V.yY'޸iVrÏ#$17m$;svanS!}yj6 &Ge"]X7;"]?4ϐG/.pP[N{MH?9[_\wa:NZ^?o>ޮ)' CՉRFPٝvr=VnXfLtM\;dOtsmM)dE=GիNqUJVpdW`I,a,We"(* jcNڮX_$ ,RpXv/PQ}}05ZvIHc/"po)w'M0Mb8[~sy쫧)uF$턍{x^&XhQ2MTؽ#B7+bm ^.VW'ЧL98Ƅ3fgʸ˚f<I?R'3-2G}fM"*WT,:%NldA? \œѐk<4Gұ85Cшx8NOr]܊+9V]X(fH6~m%u+Q[s 9Je*bߵ3J/`R01-IwŁ>S߇MD f;f,XIH&^F^}YOeN%.BkRȄ7NC8g2D'r)Y?o0o~WX eE6W!(Y?g3~v,CxE$l{c<#aUx-'uEfI%4x<'r 9"DVzM{xqr.$9Ѽ0KܧX0i19^yej2 Ԥtpypja|'ob96Dywc̭1`W)%nX9D=Ðȷ O/ؗ:nhkR, K;9{X@r`K?7b?w%ry쨕֜N k2I0b2, Y,OMtcf4B,"!yUA/憴[lԔJVxK=d_k"JFyfe~|S;Ir(7pXXcVU2cʳQ!Lxh7;/в8{ f+mfEb`cU?y6͑ vm*Wۖ/GO8wi|y~^´[S_Nώ;"| 63g7s>j#;U=ގ^q#98boF=NDpsd4ғݲj9"ՠ2jj*IS(ǚnWVIyTx0Ok9v9:viM1~ʾeSa&)FFR,xԏ#ӿ>C9峷E ZIaH@:!"hD^k{uZ8MMJ %;4|t]4BIha "ْs߉eƋ˰4Y 释b{;1"k)VEjRIJ_J<*=O7 !A.6aQ$! 4HkD_f8n{R\qQw'l46qWt(ߏBQxjH|'J]Sf׳ rXѩFM1UpɈ,b2,‘7rt'ho晲֤ Q?S?| smĵGZʰ֫!ssq Qثn hN $c?5@*fIf=;1/ ӽk6MDq,&Z}`/Bdyq9 p{"g?{Ķ3 ֕A ņUBO\0]uP3E_Pcq|78> &~ALqC;"K]q9'&mqRhƧOO,sl2PW^ZJ~b$_gdWyn\\[!Êa$ ;/w:@=:==?1!cBeŶ *"a"#v+t=Ϥe9o?_oO{!)k })T-??a0Tvh\zGN |YЋ_7oKS*3hX O Ya]=ie! # @?edHب=kZ])x k,)I@es!rҡ=i >juX{p7xiE!F0OFB1tL1V*4/@D^G' I1Ol螊4c.%!f.b ΢OQuCq֘ДxkRU=e-(h|s܍45ID,fw0' , |=/Z^3q ɕ\ kkĊ×꩔\B =K<,7G5[y׳vbum"B`UJA2FC7tJؔ00Cr1_)J2l'Y|,/Ɏ2Ad`+:R Z;(iiFPY-8WFZqW,\ݬ> i8N6>Q}S:r@GQcqtk /8lK9Nr7 ;KOVa=#G&rW'5db0iU: "Br-D$]saLS8saTu7;_3#B L%A ]([d#`rdF|*PϦwj&' ?lX߮G,,G34y ,!zPADO\fa4Ozu1tAll#8$0}9p#S4g&7Ii^5",fQℵ`7XHLx#1nb?}lGzFc@%DK5e >[gڠ؏}"Qkf߀a1Z`4inT&3Ъ}w̝J=Ï"9N"n1,s,)>d] |ܬJGfCÑ-"ʴs?[jȻlT?8ZeFbTW=nL-qgu'L ?MM%rSEt5N䔤߯E}B&3sB`Z" l;'piutrVJ.gɢuaOZG l RH5|2wzڣde;S ƨF=ۙvfw"v/\{o%rukz[`b&Ƥ0-h|-s!iV$XRJOlGuTKÌ'8-sJ@TF4O~1+$K\Yf> lvy<"lror L2Q<7}tG\Rޙ$deWD$jzE4o. lɧ͌>q)[6+iEXKJ[5rg!J,FLd0d1H_ Cs_SϘ@*ީ`N-4-^n?Ok}u_?uWT={VI5)ۍ_&;/~!VҒ\_VcggN'?$6:?MSg3c :[͞m>~do׮Kݰ}p" }6ŖBDHeXtDC#%QSrc(iUq-,V0t6?(K!9z ʋ*iY1TXz<E} ,DWvH ܩ1Q=buSԢowC_"M"LEM q1Lr+l]3׍;d48ݴ si7w["H5K-lq ʮ:ݍafKNxٯO2K0٪+.ov|8f'QOp/<6+6fESG~un(Sp&380SC e| ٱ'*\ 5شt !QHM @"EzƎKU΅#qWL5G W(7 C :nT佟bsFd"X[#y(+hȬl#S۠K2`BMe:fI\b[zLpiYK`bX/fD7+%.0%.f*wлFp[; pwRKEő J o6#E\;͡3+ĉӓbJc w x-E^0&u <=+i^vG`Μ㧀BvO(a0I1\=0݁qS0vp# 3:6#6SW+h|2? y?O#U%(|}JI82Ec_Z+Efc.<Úbl*>4_`R`b&xqv~VSrH@䉧vk7T:=ޡ[^}x|S^Q Dj::QȣKɟVو\,1q43B '&4z\YX3cyk6+9v+|XI)6PB12Az IwpH#}]0Gy&kf0 1Z'$d]W,@g:/3 J9 G:DG pvu*L_CxQ8jXp5ܸX(jXyplw̶l,d7.wB, kTG(i2!@v܀]<wuՂH8Dߙn 3d9$jRa5WRb~I0sJfNX^ҷ@Mx&sTp$e Бb,^aK5`|`MD z~8#̢k390sҕa8r]ۛd8 k 鐹ᢀ0ffV)[f7J)SW=ϟq"Uad8}'Y͓ūWg/U^Z)6Q>lO Dr%~Ś؅Ƽ2NHǘ( ':.3J/2K?|y9v2 ݐ0Έs2CRL ]`8Whi!&#UBf; DVDD}FvCA3f[Z$r(  G;n[SĻQO.-Z7fEYY7ۄ}={]E: ڐzE&3ZHթ8l.J'{6jM)EJ1kY ; )b"%Smot+Y/nN.B͹1RwX b\$,D d,MBRX9Ijc_ݯ?K+8ᗠjٳ _ w &[9)> .TY=!8aZ؋_nM;Gviکɗpmሕjpţ,HkoV\a+i?ٯosxR3"ҲTrd?Lܰ˚R$Vw'c`8^4FI}E`YzLmҀ ]nbITUqfpTZǟH = K>'䕜l@%) C" ;/ 9"b&\$'"d-YdMl+xH EG:y|ҞBTy&&g#sT>~ΟΩ ølI4ؗ%{hKH)eR\Ul]Gb>uc$E0:a꾼T_xgrxye8o; $]s{aܪFaE#Ka*<W C/gasu?4?HS$S|r4v8k~a3Nwd[B\3ZwR3/Z~"SSV'i0;g_yDa4%ymW@YOnS}~ˊl!7OBϔ#sWb,#pGO 5q`SڤAf7"|sBV̋L\}?(c3w'x "VpS1q~N*\M΍WMz`y~T!'.4H`^W$A>}3 \,щ!<N}뼍if54N=Rp w]yvDҕ<70$v+@3½85 WT$;|xD^8U$,_EaI[C1²)ώ(='X._8IX剹vȁJTMYa1|cjK"D}T.77 RDƹXyY^-o0z7 lNsA~|^[b𮲉u9/At$?{UURE[".'8PY| Y iF p2V&ê4qƙ UWќEt{>P͊Y X$Mb܀{.v]G=ߺr68.a&]rVY8(VLR2zN}zD$I$H#~uRe%g' 3YeɆ[b-"- ȾI=yD3~R8ŻrtK>gcq \W6w205o IjqX*Kts1T&BpENk_@c {gwM-Hx"[ZYt0 Tgl!;IBHYJ_٢r-fR>QWmLmjnųz&w}JđԏAR"zggxrҡ02,\Uv̑ԗvu?4f+cI{3#)5? ?YxCrx+ld6S{ @XpassbS˒y5x b(zn;Vӯm@  !P2u#܀}svJ ӋӔhձ܌:TeR "]ЅSi}b@!.#S>JgW[.da$< ?yǏqgL(9+iUH Ի2l~oq'lN!feׁ0FM_w܍_ {c]1sӃjd͔KzXiNp`EKs5NZi'1P]95{/ ƈ#NJ$C u"\q;Igc8ɞ=ẞHʼnf,̓208(]59Lցf÷吥Fi+.w5ȩ:-$եPVϏ ;U+sJg??ZHX9cՈ(kGܙKJzO7fdK>-,wSw@*U2 ,uzRkvfaGRZ Z`cXm•-LzD*z8)h+bv2p 1NՓzqdHfkZsl`0aJI2oO7Y{a> ߞ)6DI"2VEOPǙs/bIx~G$ _ 3dNs1q ac3LӔʎMdJclU~ D3/0)pjˉ\Ri!k*|tdM -٧IfN@ajmk`dr mbU@KQɂJ0_ԇ7x0#N^l59N֓O3YK5t׿.Z@Q΃U4*syü7"~vTllT5N["lvb7N~HxLKaZ=-[;/Qɘ<')e48CűTOg"7{E,7`'__tnL%ϑ)0$j NՋ.幗ҙRG2F4x|vǜ=lM2i(&Rn !є*n@,k[_WH9덏+;DaBa$+2{'[!'z=~఍Gj¨g1 2O5l(:b/@>l>=W9ـS1^nוZj#4ӍC<09饿krvJBx?פ9= f{:vWشRV/,+wZR#ǭ̀MW26Z9]ۉuw҃QTȳyE*8h9?S6O͗cD mLU(GAMݍmQ%׿oT!z,q^TF se^cuKH8Z82* ǟ16Nba._澃ۣr^845[2dcN)Uc\?}nqf(r{ƮZݞh"l~U^`%N8M=J <{Xl`fa'&Fx 7.ֻT0[ff> g(֙i Y"\P0/:OqMcXUQz$-V|Y?^\;vYd^"0:f*`d_zs3Nz%tfwR'le_<|z}7gȶ*Pt޻"Xacx߭6ߞ fuWe#AL$W2>Uvv|E$y)+gu+'" "qRf / Z݅8W"JGƸ$8O[~&5LYlof;'4V(O) k.+ȖS6<ϓ7 H]N C>gL,q 4h}8qT!K 0M2,;u2(2'ȆufBʥ\lmJZd2b%Rk}]thlxgYe2pai*|\GO]7='ᐰ$xu 9$Q8ڪ0lᶍ&*>4#WGPSo_mgy5 4$},}Y-7Ek~IS{'AfJ^q'3Gwe 䤝؊k;X~ Hթyn`wbx÷ͧ3ONn |4BFJm$b-CJg$;W*)a_N&]*b4" ?X-+)483XD.9,B.N 1cpqB]N$M B2N'"làE,S<[`qNv{3tR?ASш"gv.fAN՗Yr˅\k%gVw7O[)VBMjڝ(̷wu˴ω؆T怭`f,_9DSDe'$oibq]5uysRÃ'8N@$Kl"u "F#î%!c7u*GA q L]*NE3ǒmMW,K(ul^A4 TX]Y2Y ua TK0ݚzBʁ/)E6Or`1PPڅ4~4](CyQM'&QpG6s :-=mpQ"ABR6k:Ts!:wso+9G2ұ-+yt#`͊Y;J?QI&`oYZa#V㞿:oE$)XY8*v\2/m)dTJ=;!aUt؎%鎃V/B6wRa<3Wyz"AY8J8ZaɂHAIh6AJue?dtȝ|*lηT"AɢDwv[#eJ98͑-4::"[ v{uQqE]v%iu(Eqe0Z`z,|_;RkQ7K7a HonvˋtE!oii9iHX'rX zusswᗭdskB@{`!2kHQ$Z'-*LeɝRۛw Voy"A$:`. ]7&pɻ,-ǀL=tM "He;hFix4 OlRSH|'3w%Zl/>^]o/7eʍ}iɪC*%^c\5 #?e[}ƶ>(mFfYE7V/1!AYJ 4jnV%6*醐t9Cl=AJBrJa9mcK$ ܢb>x-5VӢ 2ôي) -[ ^-2,W ٯ6q#8Zls0oJ AUOuP=fS&1vu|`Rd.#_e:yP p.zI3j ~}9.   S!?b%e|.\Hx?ucaff5e!'ԔV]N#O5 2Yb'UPJ]i 6HZ<9>ܯ>\mOB35zY I*xW Ӣ]|Z_Ko̒v?eʠ16 ɵء Vq[qt@ЏVqI0,[oP./q5?(H6Tčx楚 R@'3bkqa{K"nK 6KfDU1 vѴa71)$ }ݣ[T薤+l Dp(tplMڰWX_0n Kƶ x.7 SY_q!,e^ m//u.b+6z4N'qaz XRL.UQ_7\.EoIkbʽբ{c)q>~zԈ9_?~sGF"7T;erN^/loe4تtM$2amBb.y:O/9)I񑗾2PFw/qyr_nDN`9LrITWח=!fB" UK8\6`u69zzyb7oR:9Sc%IQûH& Ç[6۰L~mq ضD2ƍ!s7cj\!}&Mc`K \-S6WWƈfm?(<bSQ }F\-}~[I1 Z\XT"fI2*B"L{u3d=KHi{ ެo~z\[[9?k\cd؃@e /VED/!bbZtt3Y~Ҕ|򚐦fӧk`chOQBbAExшU&!T ?EH/x 6-4)`:a9l xozK^$.sXĿgUuNס'8ڰm_wp<%CzIY.Y`+PrO8󷥜Qt۱fW$.Q&lCl+sʩ]lnnܚcS;}[ܜQ92y˄tsO9$^fB7HxZ ٽB{xXI23=6#t@JPv{ _%C9W8-}$I3f 5[Y1$Ibz]ƚ(=.] 9PffY爄0uv>e^(-^g8e:ғ8ʏNv% 'lH |%/l Cd~H5 "Մ)~|f5%ȖA^FɄVawޏZ"%DޒkQʒǩՎ)V]V2%/cb]NVbbf|.ndo` ge q-T+u{% ,\_` )2>z7d pu mu `"YTd+50 sq(ˌ)Zb7ea338r(opQ + V*1 5s0%GWdExwola(Hph swr'9fgAIw|z , LZȠŦVla|mއ/<%B5;&f}s2pǎvj5%p!\x'Qw-9*C2V!f{J!TmEQ%/:Pϼfjf񜰲)*1\Hʎ *"LkQ>;i1xsΤQD40%1D8&pv򛳾=F 3 0Qq^3m~AdzDc;Z].+8oذe̼xޞ(0J{o%>IS3 "ڗ$0XE:#g %]S,iY31^q_9/z7F~ON'OmLˆkq!{Q 튲 zb\| t)iI~? _ `层^T!~#{u7Ska)Q5W"[0*ůd>F|qJd-.|6vj:'YI&~q=NjRb,?R L2U;~rݧ̑Juy3FDI+f]rc),v~IMN$e@vfΉYͧC`亯9$G+Y=,튂A*Ayym, 1`X;v,A (S3@-l A sIRq|Q"lXss3"t|]%nz/F16kzs4NG&c##2|p:a[#Yj|HIdh!jAԋ`_Y&TRq d#~Ap,f6U{U]+#?/5ʌ}»} IY(i™ &"/4=i 4ńƍśR,IqYxb,N:|t=]Z02_,Y`d}JF.iOvXKs<ŸxMSU {B_[>*p2&ƁWgyuz6uZrA 9:2Q\2M= Ebj3ցJ\mIx7^Lp>2q(M&'c-.Q@:BNdV$kp2! yJ/ ˆ*?5Vf8_&[:gDCQqck?{',4!Qc)U+Z=̜ҮHnHZlWe؆ZSu~t2 nc;+MMDatv m&5'E+{TܬFGbgOǻ=Gqޘ)ym#PX&d<`sc3Im,iDIp@18eVU~2/~~ܞ59;cR/;֥%Q> T"\6$?2(QZFl`qӔr?ruy}͚[.%zlެ ss%w K{줅Hu2<3 R w_ R|H#Fߪ*]`& l:#e|ز { ڰ'L 8o8v14&lE\]ފ{ 1R!\/'Zg2!nڸH_Wg{#~``mV>'7rB dg.b^hć,!Kf$B@ Yby;~\6mq;X}U5$-GKn;o*8'Zwǜ$Qztncӷ6k%AĈ2:UQIΙjK(C%ٜD 4osu'sITg&&xRѲau,RYM~,vbFGf;@ EKmi.?VGd@lms&>GE Y՘tˈL`śCrܽ3~ϏI9 o/~?5'̨GYCW x0ؓ' E陈#&_nk!PmlqSnf{}K0o2Bh{14tiT{)q 66Bڬ- ]KXla3`e4a~}+$]zФWJWG 'Ջ}Q F@M%VIfnszg%Tf`U9,&}p@?k!cT' ivw,3@b('Eg`tY,ynF)ٝ 3yږ]8^\77Ά~cS$rC]0/9.M.hub9BvlGi Y9piNcCf{e v0P I;3sV")9-GG l2D t:iʊ}7T (Iy;'?YrxS'9LzQv[:EZdž99bivuxRN+y+4D"I)^ GZLPM =Cɜ*f`zkɀ/i  a̲VQǔ&% G2\|~O*8+Q S$O`D!<ب7lt0hrR0{ɼɰ gTt] cE1ypW(kBٖ.PtJݢt޽eNҙJVl^"`H̿yL|!$#ErPru"G-֍{pꠓee:?-5 F25a Ad4-q6i{#.> w.w kar(@LjЖbOtqGvnU+N3iVf׬e؅[ 8%4҅,A}:@7ŋ4NY&. f; ,/r@ W}ϓUDf|:ә*2 0 n#G3S".t&T){3%8^Xt5av%]e[?;G~2ddǞ™=J$mN{dT^4ҡU8b~o dh0d""O ^u}<C}mA׌ Y!UێGa6g(?lr"a_$I<@R 6KG U!>N{8W'X)X/Dr2fhٚY{U{ۀuh,dlXƒa-T<8a "(ix/goJdeRLȍqt8iq85A3qN}vd%]4" {vGܸiJNŲ*@+ wlre AUԟ2T|͉x\4pbKhpFr<)?CLkB|1@H2oVBV7oU5RvƗIRWH]Ib uasHV.qdEOX_}c|nn^'j!DԦb#|ۏGݩ1uY{3:)T‡(ClvŮtADl~iDjflbȨ5kdx䤽=+W_>1j5hGι2#)&q4xaY.yybLf8xܘ* ަ8)zDWS/_i4/O7.O"忯>ޮsFD63_8=AO Vg/i"xWplܙ@I9-Ze'bf,F֜_oordmGԞF̩l\Ɔ9ζ }@<+}Yؗ2+ b 0/kwI\6Àڪa!c^ó9Bac*ᗲx/F<" l>&I80);=EX,,xȁ=7xx/pP8lsއ_1q駭4em_G^?R;Ujm;{*w};9J8ܨd$4Ɏ5?X>l+!pq "Q%'%FEi+x櫋@=&lFYQv"< Xjb'$Gl->xaDu,n?ޮ78Wz"6JVYCMMfv~0\ʒGBe0$R5Ila zsym " (w٫ Fo3+{RH?"wm9&玼:XP@c Q@͊aĴd"ۄ$3&B!j]j#g;.A ٨1cȒᜅZ:*رGpf[V[~@"}RoNK.TC6R͓TO< Q$I|^'I&dy)瑴%!G)H3WgIx".M_odG9;=gfDƏyO4S#uE=5$)e(ud:uD[zӤ)GY^SnB $c =}Oy\n{+Df'}Z869QV]1y7 9jSAgNg$jBmML;JڏiS<=4Ma4iBʤ&g::a}Bme; ˚bu<32VSx&p*_/];`LsR4U!z+ !}^J@'H. ~%ge+1L#qJnBAw[mC ЉDCv/}'TM T=9g^H`s @y Dd4ZŚ>$ ?2'yO¯Oa4-ԌsύWho78w'AIlqE'zujϙShv=dkGcΝܾ\} jTCfLFPW-!$+Ő 2~?;:"$w GUAFXK'߲% mY2 U"٦y l\nsw = SP@#.馅))c#I+ꇋV[pl`UIqghMBV2+10nFF<Me8J"θ悦2G0sJZ?aKEk2ɏpXߒ (/3˕l@H|nI;m$"\թ(23XYS &Ѻ=r^OY50y]'Ɩi=~? ɮÆ*0d8&x> am'i)cC<[nd*~xCHTlh EtY;㛹o4> ^V6\[=cS Ni %vQ$(./G16,BԷo*aܼ;6Fc.دp5Fb-J/%‹T cimYfߓ +#<2;c, \)ST3C;RcLDowFo+!TލltiHщlԠuJ\ݟ3MIuu#zA2[InFq֠IPDҕ [=FR n2SdUzL&'I`Ԝ xTz:;`W"9M6@KEUJqq8}#G4й,ȕF#L{sJ0BչW%ߝɹeid!Q%QlXg{'EHNB3[oywDֻ6N}ef+Q &^"hnz>X:BEG%Fh`Ax'FgX _f!Fn ^I> ￑|l88 9˲3_=!%sPi*w7ތ[~L®XJHE\I6Pa^s9UAD\EԍM$nXJ3\n;ё$Q1iNYy6IhthvyԢcWiUmM<䑉5KqZ{YE elڭzgE'uFZy6W;~ ?7:ՁT8$\sF4*k"Kgo'd"ߞ]2%<\Xe2g#8>Uɰ˪ȋ;ti1^/#߼%IT-{:(@3zU&1c G9 X*r¬Ww#TQwܛ -/ &KXƷTZ]l~GECv(_> DS)e ^&0/~ D)qiP9yG\ĜB glgqŞӀZSq ˰GA@}#X{7oߏdckI<+8SԽo.U;d#l37>{nWCS3%u'g DϓX57:+/&?w:jo53"PEn7Þb/mè|?wp &!@.h暋2,( 'QGSr9ExY4[(e祁F92G^Pj*:_Ȳ$Լ}ZqIZ((pd0fHoV?=.e߰Qmj.xm6CnȩBlB4\u*+#pkQMT-m.>SY}"1oeIKB=.[?;`F/ˁd~ǃ\RZ6=$;4i| gsux}֯QO.ۀALϱˀ#C=ld)wp)[Ĩe]C`d8~ 4DRfY (e*a櫳9Pb,eZ&13= ١MDEg}CHUQ&σ)HF[xh &&FRqEVu's4hEXx{j'FYA7nWw{ÔU:ef) 3*5%oIY%^iv3~!;}⹰sxu FE,a|a Iedȉ_HDGlmD!}ɾPWy}4ѫ xx=R.*Qr,<އ/]ȇYہߘpGdnAHzҍI&(sY\^0TL >%!)b?U,(;W;)߉m ^3C8? 4>b[\lZNI0w9D z"@'Vw_@ <qHOJ 93/7W_ՅtL^,T)\'FT:,@|,V;|Vα:2!JώT֋_W#`c!d(i82SLy&WV"% ?N>,ޜpl[I܂=/5HCet573'@V]g2'R8MR92<lEfK~U|;2sZqb ~ԓ1cg%&a}Y+)cG _DӐIgV-bbEvіOZاLTڥ (ܢ- !Jc#q;Jp*V,o'BCMJK$-ڔ60zN9 ,WFv"G55>]@eϛy9_V|PX:CŌBAlAltE;>Vq䰈$2BTٝV,0/^W$JAGUr)R ]\p*\FjQְuIu #ٞHHS;.akm%5O9O\(5\4۵5/fY'Cx.vsԀ!ƶ:痜RD{+` RWo#| t1Rvj%"?Y{C`gIyq&8A`+ۜ} ipv޽9A Еl ؃ r-.=?>ޤ9d{DCј r @.%h|yI >UH۵yO +ZǤ>S|%@2 EXsٌKTrscQΦ<~"QF`t::5rYBJ>7Gvw|(C[qZ@Y2\q`>=ֳ=U>ԒµnZl~sXA^H߬㑂~te}259sP l s7Q=q(u4Zbp?Sl7l3*QG08@] ۍ;<ﰝ6tYC.'oC1u/q_|]E5gHfh]Wv +]2]{0+Eœui JT"b h2[ C'^򔩷0Zdr $&Koﬤy#^,%eᲷ-]#3b''2Kf/!ST 5c5#;j?丶0w&1'W*vcH tOJ5}@LaYL[ѧ񎏺Jga/lZ 3S03J6te1,gA*y kÈ_R.¯]U53Ja  * `B -i_gۖ ^c|ma'>-U: 7-[zuW>K<26MqIJ0yVřhl#Иs2TYADZ/6Dl]H*7[TP8)>7RmtR@*T6 e.,~"5İ!I<XFkU4H * LeEޏ1rx k+X %e|SDdJJ;dtpO!LNS${45Bj0&Q]36v|ḓGp/=&fe&'f%|"I2 I]s\ DX<[m>~ HD :9vG"PB>~]_2HZ)#L &sUN(X<U%C?S l-Y?VF=kO$9ҔajRr7BKGl2:+J G9]=7z*1"|+fl15R8<4.*Td0ILwQdj9 ;,ݖEQU 2^K~ZmN>TELnfQoV; G-x@;icǻr@)9Ci.!Zq5gcj f_ZX=]oبĉ"@IDÀhSq{z\“RH7[HC+0&V\8TE|UiEv;f{m^ݖJ8L-g_BAx+Qa뿾ڙ@H9ХDbVFf@JY mnGRr !h\=/{4`K~fm΀8dhru)JfamNU pDy̾::;ov+*9  r~U0V7CܥLoe|G *(4r3%P͈0RcR'\߬1: zSﮏ@&s`28esиUˆ)M6CP)85BɊz3 fQxs&ըvDs$Mdɖ5 ջtKFjBY[ZljD5Ȅce+fOv|KM$q5&qxPmG]py\'3w( Hbay}.} X4!]xdeIXY:eNAAek RA6dP_b(# ;xoB?fvsX2yp}oVsBx$~&VûauT㵏{Yۭ8"d3<,DŝL\-!EM]< q0ի5\I}I"E[6su'K^ ~/N^mH܊Jg)0[UL&`X,RBr-A,)!C Xy N_g]5`Q&ծ$XB\ΧLbO;5 eZvWZ]mG eܟQqK)F`2e3_?,~z` xj)}:?8ICPaee+ER_|&D;c"z%BZ<$\ K sr,Ic$g[Rw뢔H/QPCa]$PWJP;7RGt94!yu޾Ji`!XuҖ%zb^ы'b.DF)6%JuaP ,nt漣PV~~Pn].:jݙ5)Fb _Rs'ZJ̳۾xYgn*_ VܫŋW\uXfb-|,+&D@$=72^"Aq(?ؓS,*N&!N±V7}fq;G\҉Hc& " FD^Ցx> 鞘Q/FxKtp Gm%U&2á @hQ ܝsѰV8cr2}0j%% eMjqY%\d83dĹ% ={sA)X-Yi+yʗbe#v&iB̓ NҁXm݁e=\ puȁNGY14E4~vus<>\VE|E}z ]cgWe \ge;1zȊ)A!ĝv7__lfMkb%8tbP=hcߢ_<|xpCc`#5LaqPQU=Xۢt%8"+ w bN|)01*$ήƚ %̞0mS0**'bb #|XNS? fe@c`tsA'~ΰRn .[ 0˞B}֒^ lֵvĐ`:3KjvʲWHd*+OtQ8ODu\kҹJ&+Np:mRf˴mqȳ'>=-GM^mcZzPbb\v ,; \HKe|m,ݐo7wԉ"mLͨ EV&AR7R\LR( $Bsވp1*s0Ὼ R'bIl ot%ɞxpw'EGz OQ3ˁΌ`{}"Mf:vЕ37pddNBd6XӘE4 YLx: }6&lN8Qjo7˳~:hnޓhs&j+--O!Te~M=owRV,7,Sh~3APE$Qcwgڊ !W7l6fOT&;9yu5`_7gOCv$)-S"gc'%CaՃo=`6}YQұC_~z7WWlGBD grJ.4(aLh@ۑ+pƩZ )j$wu{rSַkuUNсkH)62^Ǝ 3/!9g ~1Wo?\~-/_q}GXTi3db֔*0Qv?J)7.ξ]\odV&FHynbzA2§!FV<沠7UϹVF3-GCQxGgzVOb,ps =T=L]bqΰ|ym:]gqc/XӰ.$zi7 <#5`1rib\K%\f=iZ ܄) gS|gًOпX&"D" _RIX6yR01ClǝGe   ~ zVX7Tȡ.5џ N G`,ƬNfJ$7;md +t ACK]?/jo0`+&8d;RFAECK<>$/'ρGs8, NbJUyp{lHI]|I\}rbۖ"z36IpONFqcWe />[$~(q$U#GVgOg_̅<1%NsvGo֧Y>'nrXϺnJ5o!cvd߽ʼn<|{!~ *Hi"`\U&Gs渺?a2QĻUIl40/%7Ƚ6֕|?Δ& -)a᫞R4GPOr2G`(z"W=<(SXi=IT'r*7 j"7k}^, 3tVFHEi*@ء_7xvlT<ы֟9bIe5M2Uj-aס"#:lsS˹ c'p{giԌHfH+QqAO(iwl cp <׽VG?Ll"#&g0a)TܩjT‰؊Ef`ȩf0j9#L֟FP5-P|S t"_|!^i_ W͢hĘ#:4ak=L)s}V%pk$))bA欴Xo{Q} &T ʞE$Ѷ8qؠ!-vv,YcS2Y*%ߡnQQ6PpEP& R!(C:+,H}|,*E3)9DO 96`gY+.U hz&/K'vA5Tpny(fXI/NMN WYcJʕ6[LZ&ImwW듾Ud(Ip#YhDL5F;kļ]L˳~]?Y>.VPH`PIc-$E??&Bro4?WNTuB82Fn?]ޝeˉ'$Eb| 1p:|Mz'HCcv >hlynIx@*Jn*d6&Ҹ#V8$"TB9w=5|h-DDD1]ITL6_6,e.#b4 h6ZwǡC ӔW}-;j է!4勷gOd 컿qhhk G~vD7!3kyS=DC`}nz|o9i-- 0 H!)>n?>#f9ZHYBccq&5"IGA[Z+ W9K2paB)\OӽțK#ExBdž<,% :ǣ&oLqx9ϱg0_msI`2c+CZ33Uo{GlncY:GY´|&a0bGxjH{ʊ &x'!<[4e w2Ϟvvn$Q!瞵FR `Uk-pt̹VFk_\ћR'wELƎ^=R2C_-yK8aԒ3^,]?l%|$tR_e,Y9'p_#q|j~&QJLI ]|0$Hoן0 ^Lj@#pŝ$#2("a>m{{~y2ʐiJbcHQ3^q\S䣓:)L HzNS;61=<9+ٹB)Ea bMDT qۗ?:|!4= -ybj}cVz@J8y҈pd=Aksȴ\g3bh,ʼnoD#ۊiY^YDȰN&|V"++eShYeyscR=9]K a031Dz?õ\oٸdx 5n|"y@ 1w䄷ea5|}>f}ybJɻ7=nf 1p oduvRm]#-qnYb#k L;-Vu"\$1m"!YiGUժ8L gW?lo73:}g̶r2$މ~ATw'Uc33vn^pV5OOQzp#C&E$uHc؝Hg'=ձ=" i 5YEB+?&P'D^dn*\s0M+9 vKi P2e;'Qe89+v;O4pve#q%3ca~vr*,O"A"uN%(:b 'I3-y#:*dqF7`rnfwV4G4nT03H+PG@\P}OFNPOG'8 [/L dEgMD=qBݩEBِ#c*7H: e eCHswfp 2d)ҎHkj|##B4>5-Zf $ j| .+âigieEʡt2dɺ,ǿr'eN:>Zy%wآ9Q[˵b}q,n@!!PlzGnW͝TG Dm16{LRh06A4Df#}Qy~;R(F* #]hm8OKm#1/5qhJQEg ˆ-OG&`zH"ߜWg?Cѹy)DF굚 <õaw7 㿄fo($U&OHlMSd!:&!C$qo뛯 ƣa.pUnp3XAq=3U p,{ NW0Bc]}RCx}ՠy&pdL`Ojo_aJ9U=4=qHGH%_<=5!5T`c*MEL瑩Ԃz'aLp##G6kZi}|uOAW4Pes5 Q އ7H`3~yT1!UDKfa%vDNorIMhK9C81يh=l xإg7 W;.JZ]g_'J QUt&5j]z|qguO(UR~Thp"7=qM3Rc"pC:y-ap'Mu '?-l kҾN8LmLnzќRՐ6d`fŖNc5sjSPKE0:dh@6t~`ͪD\IB;im@>;ztNpx2Y7\+ޚ7:Tsjsj`OU,X0oڞIkavL&dJ{LIuQ=bAB#+$Bs z~f6R07T]sY.'B DvwwѦwֈ9fX[I lrlҦQ{N=@frD #,C2z! !2qw8f}f8^ El&qF* p7Vu {5dCxii:$fŧC[QY+ = $RYn~rSui].aǾ\5[6'2%X9M-#5_@Ŀi%V :Dy9H5, Nrw %xK5yI;: X~f)Ӂ!Q^9[@w絋ʊlWyG =C) +\ssji)g="ȅ;.9W>b#jbBO#K|h>:i褡8ݍSv=y(#`fQd:c/%eV =hRɷbc23F`Mv}גSY!<5b+#X]ZOmR;o>ccp|+8 lsXy,go~:{T-ep %5бR"|`49Wn_;;$qjuyImK-xAk]\rjkn9ƞWso1L V 8$M6s8ro PPЛ`t:edo*"ɝ3m  XdǦ1BtiN>u}s/xemVGB첬8W8efOސ\gY|R~yG30B96`Q0H5T&,^wif\ýTz?Y4JXDwO5#G8tB|;Wi!z bw7 yN:~:9Q ai56x}Pc1u('rҠ L*u,4!GDXN$CӹD-B"i^K&<.#frd.W !I,f{b .ny\-~<)씰 F4,^ʎG[ۏoZ,I3q>}t`M/S-ޓ,OcMɊL7|q} dIOTT΁9UcE!^+2vϣ؎`$,/g b(r#( iؘdj9Gn'!pD^UGaoa67xOr& K%g ĵ`H%O]_'m'w*+g#N.GWM-&4iaȻ<}q2D/gE%xj6,PޅHyq̄1.>_>UM]1""U:΅O(8!-qGGb`I @U,BaGKj0L_f"?&c e<ҩ UU#(\T/J7׷Sn&:QDS+Y!zSC}@Wxь1G|V]p:Q<֌a͂ v{*UzdͻE84 rڐQF? e:&VGo#=>׏ʞ?_.N(\ 8̌h>VLm: ~?d6Qi6pӤUe"SiANh5qGŵUKn"I>C'ӜVJ"֒9/]uvݞ4H[.~] @n'(2eW, .s~bU8”)XGԅy/ |ŶܲU掄p5ađ6Ljs\Y}~&{8Ӕ&e v:dC?Q%=MpT $ESȀeF&ib 3YBބJlHg(שibyow_o ^q+,Z:h(Za3M)Aj گ6c~SU"  3Vb:fvWk7Zݕ"2O7⟧D­U)w,$~㈪FD$ӐI@3zna 7 w'yR8*ݕ;'ӆLHZ>@= ճ:F\F.Se"q# σy#yf%:qT\h6rƣ*-T#X!1ףk2LA9uTgLTgVj8M$ki.ki 6, ag -;1c;yɽۋZq!-xIn<#k !܅z3!PY>ELwTa59.&U+H$s,_.?_ySd26mCfoz^EqovY׷‚y].7`%ɹP4JbS#y^i'Vn6PU H ɳ6aG=ԫ x&l<{81P6]q0POBW*v{ZsH&Sj-2ѳNT s>*3o!^88"m{C QDi G񜙖rnA,kS=06o4?:IQR8 |L.#If- B^QϏioTki_HK#[v"+ 3GJ+̡ 4p<ag =,)e#мH:`嗟hxG` k3]SqCuϢ-Go7 fs Rބ%Sy!v g (+U)`b:.K5 tDܽ\|YS##?XAԴEੂ,v DE>VAPͪiyD-v@v[fP3COxlԈP®JiFR#cȿDRtw?`AO,eWYvV>(7 ~f?yd 5U0i2c4{6Rixd]Ly}`/H{dK UE)eRm N{A z aFrSvLxkM Mת ,%b Ne;jvW@4/iF:tm~mGgb83Kb!>Bѭv9FFxtVR>Ht>Pd ZLj*zk{!Llf_6oEynw ʖ{G2azYwwUyأ#쎠1UU4[2.x~?rWاvG,Cw #KQG"C+x[?>=F86pxr8$4ho,0z"t=M [E6IbF"ŚŞ+wL:p=UvtDb4 A?p!.3׷a ݜW`KFX{;1{:2#$9X "C"V.)<ȧx2wVK&֋󊬣Bļ5CnE%fװn%Jt%1 T>lq߄w4rDSQQs=(m[7$'tL&o͉BbRgN1,$0ՇJnjQxJviH( Mg`E2:MG#v-glkTkDb щ$xxDFj;}9 J[(7XSpxWHNlוڃn؋ariC]`3DT F"RY-'xtKe|cAAY!emFxl:3E^~޳xClDGG3io'j6Z/HC젃"rX1S-[q 2ڃSgQxFeѐOR4e$HiՉJ{tsdOUmguqykܲf^=< _m|o$Gfd9sŬdU|&~|l9)tlRȡUWÿ8 0(<.P`{a(䆝4fb1eȐ֧6g? S8/+U,V:ɢ4)!#z'1ẑ2 cIz`+ɤfkhxIꮤw4@?;7n?\qsoF5jrdEiVU ~#__aKvMleF{pd>Ċ{v5;"v o#ZƼtKGmm$r!sƉMLc_43e|" ,`+ˮ7RC8J:G=a7,Hp;w7^nf#ɡ4Hq+撔lW?xjkhoy#+6.{U3PzL']IR͋i˙"zHřqSios 3k"Z7ٓ#\e8ibaSL=U8C-SNuo!̕XoQ vTW*<p"FsS}6S" j_N|y͎֮> ޏ&0" 2-NMNFb-;9/WOۏ7ԡ;͉*|.WZ̝. mh4Ь=ϭ/wrzjC̉\bb,9k[AYK5k^?a`D= @ fԟ\6><+l38ۑqlD^뽪kO ϧyHeТ)!~lZaKf(~J;+٘1Ӟޙi)A'ST֢`?O.=Eo۠ EiުcaF+\YuxIFƧNJ'=IkIܰQ|~9/F|5թA&  zkOp-+RAޞ{fy0+O;<^hT}ik]+ SFT6!EȺFgkd\}QC1 @Ґ08ܝ4EJYX}Ғv?ѾOz_؜Td% lK ij6.l=7i977Y&(V)A]t]{;-=DٽȰ),Z{JL" aBbܻZKՉ L)SyCݬa;9!8Z"{F)rwgэMy~c:bE80/7kf61|-96.X, ~Yz?'a/Nq0yv2yZc]NV"=EoNf_s6?+VyfNLFi+ކW8U2@{6ǫQV8s±m\ f^2yjz O U.g4}\Fr ګS,.ϝ0 Pz4X1v/Ys6txMjďMȭfst@ȄAq oJBַ1Kb]#72x`Wp]@o+KS;W޷VaNlQ%sd fw=Նۛ2V!&r@V޻ҦUBc,$vqRvGBDr.U"/?lSbG<Κ{-Q"CPW9ŚB,w`#ew`U$&|Ď/8DJ{Gv[ +>LL$Cr;CҘ ޴^1=Ǚ#cVטFkU:>Rg۞#S3SPQ:MfK 'L^n.%SC\ yAH#/v1ĪQ8f(/A fg;8 ~L4݊.!F]8^6Lj(M.4H !5q>aaSˤgrǑ)JZ4NШ =3W^! O|I:uF *yaaj.J#'O6#3 TUf9#]'Eƈ>"f'iBSLq 34H̚z6?q\GFN"_釿/ hZ|}|5)3[?nhw]L03ޟ\4 4gkk}i|C- ;"!3-غjW$8=0Uoe䊕%Y,ݕI#T)#XC:%#MXK'u _CSar埼L5?{^~zI2:2S.XNBWo^%U*:ԝ<ߌ`&;iN"-_v냼d{b5C2nj"*] E~WrMN7lv%QIp|&}zpR9bTzba#a K+Sbhګ6B4a&dlj ,~!~fES IķLeJ]%^,cBaY<ą9sV΅/3  3UꆔOoV7`H ۗlg!D8ݑP`\$kBl%H&ZLrqCvo?ln)>Uì"eH}M\I}!c/XN:afSA2ۍ1#H0%Y=㞙s,'>G٦RΩF  ݹ=gLME _R qX xp=R7lm+GErW}{ƦLlnB^9 bʆdD[5p!No> -CFw~9 N 5~m9METS)FZCh3#P֮ )"M`uD[D!]zβtEYM${Bl]ci܂%H/ eHJ$}FOh>O!W]}^EXaB8)1"1}{zhq 8b vCHEi0Oe-հGi J!OBivH|"w"g*:_2Ows')vIUV2vwכA~/ݒ$XKV3#tyE ~L$B5ʝWf B`Pfyv ᧪!]y !4Bi}Qg ?odx _]U{+6'^9 /_F,KlRX_Uw-D`6ی`w<O%0" $b݂P`U)A恉?۬n3{Տ)"H<{z [MZOK3ȩ% gw͟ͷQ]-FTxG I>LsvcTE c9k1U$Jw8iU)NƏ ;2T"|s ^pf~d%D>wXK?&Bb8Oly1Dɝ! JHBDԴjpeE%z ,__; ^g>^,Ręc8^⽧`vNK_n+g#l(FG'8[ WFɅq"'GNq=Y[+#!}R{ԕ8NEm,Fj/LǛɱR>8C:MUZ.L0}pgVscHuKJJN243Ǜ+H݆/θljx[L0ϯqc2&DJ&x;AEԫ oovߨ5h`0P(''G$U>ys!Dׇ0iϭA7V2  ;C6zEICc!1VJGx)gn焰=jgJ[GZq&E^\e576n:D C(㎠lxa+pq}ǘ#HؑVb+B `uQW5-_noa-Q*A&YNPJn#PZ:9c +Ni TDI=UL[qBCWa-/H%aw B+eر&6g͕H6Xײ1F>OnTKx x6 @D_89oY8tr9[e(r/QӺV`ⓅMRmJ\JAL@oMȂ5 ;M,p9 n :>pl)3p8\l9x566n#SQ}~Hu+C`L* )sU#f=i#m0'옣uF庙LJCrp~嗕*(z, 6-=#'lDkApyrlR䊍s oN[EaW4(o/fleQ_B+}(eR\i#ᐣnrSȢj91w?rs$U[mKGFtrc{~V6m8"iC rmrRA@r?S)KPW4n.Z. jې 1k` ż7,Rn+I-r5#~Hmw5JhGV88OeN15_~󆔗Cc{\o\\lƘn4$:J #)ٷPJwAs[CqF-M6!4@Si0M#4pqy(.vddy"8aӐAtJ?[Z^Q*"O,JډsBo:Wn.NY>ϸ6AG<_,T`Pl8ЁHC61XGz)[y踹JQu"^Lt_ S0S"X|B2Q怙|2npJͳ2lS 3U"Wih0FT-"z.& lBٛw y-&c|SbǾK辯|;] R\X#GNpLk.{q&eU tQD8QaTCS ה$x|R]S.P4tI% 6!L]>l`/9;xD|ukJ.;#3,d~ըHbv~w4CH y"BOU [29qVY5c)<ϪdKK K$kԽ?N°|F6,6$pY0S;E$$}7V[^ A7[.\ wVq8An˜YuӨn^)!%f1^- BJc>-lNӁB3t|;JQe ȡj_էx a5~ -r \xO &ڜ &9 I_mTXS &$RvBCU%Oio27eaWSr%V O Q9Mx0AcQٜ_(cc0D}/}\%ҰfEh'MU`)iEc㱵ZQmA!J˙&p>3%xH# KJAbN@qO+ )e9 |扸Ʈe@b2;fɼ01V7G=퉔e}ܬIf\k@8 0ZP0GrIƆ/{ݟ^-Rd*RbfuMjvv#] rVM“74R6f'1#?{'|TvG⵬ M$1}}iX^5W5RD^ \B$I3H/DNE'(:Y4:ݿCtDqJkv`uս(IxvOzyٸGE::NJg`|}y :yA\o-ݔ\+[HCABqc?JJ1~{{G6= {NlSq"=d6= $"Iz0z8cIӆ$rdӰ<RiZŋ0az,o* m}/`#|~hdg,+386dC=\K"GbΒ!G`lA\׈n^^'\nFa,jtLz-Ɂ_zaThE2HxjpYb M] ֱha{񛛛CWZ%e&a$-9݂B>[Tm9b0bFDx8ݘ',z0q2" Sऌ׊T{I an0߲Tf6HgDt᭚\,FM&X4'O^f5FRx\.EoSTGфvDJ4M""pI88'31s{?\W-"[3Ig"Niy( !%w[r-vah/Ta99n`q9t`?7r]t!;%8?y#l#+$"xP^Z9-<ǀ7irin-c/I8!.=ȗ 7Q@MD:OvNPHbq.b6}vD?=+Ԣۛ7Hai,Y=;@Y;*mYB &4<6pH[p0A,q8h^kjyȷ[u];)oVOd $$&N (q `ۛ9 юsc.e;B C.BTWmVC;I_c b$YA6/ $?OpNX^YA%<_׆\ z$4ɬת^&/F4AY@+q|Y$U&-EnYv;).4lѽ=+ZZԘLG> IEM1%L2__ طBY!-Gv߿~4"SF'/y0'8~i lc;6) B,4"U2{Ew1X.K^ 9L$fqZ|B:0Cpu6RKAFF6jZRy&P%Y#gR-sߓj`gN+6ɤjdu5`nnlO*Msq$$ Gt 7(n?3QkNR@ Y﷝3IDoz*8&݊QϞ 3 ,P%IQD.\wzUrje[G2n6t V? Ϸŏ[lzx$1cMzu,_3pvUWM*JEF.D}.J6i2dGS1<([Mu00P0yӥ-qT~}w a2\rw"=^'@:QWzj\6 hf*=%*xĮPK~Q8Y.,߮?+c侎,e !"`X$"ެDr U _(fKѸ,B _p]Of,v^䋋5*@Y<,܌L$ܳ!.Gr'Ky{(>/"%^V)k+`msy~ڪui,J33K Zh?meVbWSO)X؛Ӆפ:; i$b/D^8yNStHn)X2Z]~3 Ľф=T9u TF؜_i,"T0ƐnrX0q31C)(Lֱġo7690ͱRKJJ);qj"TBSv8e&vɮ`jIsK*-vѣe| H=}ԋ4TU-[H SSKvyB9DWϞ׷$PY2q$%  2\kɫHnַWowwz{#)~Kf2%^vV#MuxmXr +QNx7U /^{"mmfIA~lZ0;Ґőe{0ƒ ҒaYz FdV%J$.Ha>1إj%5>h2y K< 4:OO.R^ݒWrtE 2lx!\~ToN} l $%&Hdض9vDi~|^<1X%ʤtw`pȖM} mp^nKٛ{$hS"r92NQ|p,fsXglwi^-ʷMXc{_~NtnOgU *(V:aMN0gJ w խ<`p 㪾:c`Qcrz#,o8zm7_FqF:Un( \7ZC^;"81#7,v:jdnRuOVX mx1@n3C:&x9-#*Ͽ_#Pi5Q*QJAMf.k%G# ͳ7Y!fmnx9zQ,f܌Q`쐺XgS>R:6{s8(q&V"> ҾϰGYUFH9H(ttgn`}%#w:S<n7vWCFюr( y>0Ng^ɒg1IR| nP$9Ch0wԗ(-!}̟N6BKh:Wn4ϡMEPQ.x%;&;`"0{ܛ!MeVB!jbaDܤRGq`WD7_!|p1C{)M)aU?0OɑNJ9" Kv IoGjfA² C jZvˎ ]lD&ʖQY&~l#,ZM;yDnR Fϥ%x#{^^9 kDVb0~Z~zqnK`JӨiU)G2:<_[`ejոjG3xy}^($[ɁgA! Ֆy.n泣g P ӜoEy|u!CfrH~|dn;@z+tYC$_d[3}mg*IՔ8vNwd󓣇Ȥ^bU?z"PY,o2dI-"B!zf¥cӆ WsR)<\Zw30zAmR{@ 5 qڶ\RE)Hn!5-͇!' u49Y>ֳoWg?7oe*@kF0yXS˼y|mQ4HC%5Bd[Z6JO˗M~T!*&SkihdGǧONl,ެ?:"{* aT& ~8->"qt}Vsؽxj0ΓAZGDZX?n^2'2ƨIsR8x3, 5nz|}F w id%;irqHz<=',d)>4;2G@9WJi>H *TȊq!:3r0-5R7dpU8$oPZ ؃=/v_iޝ>j`c|HkߢIRFhF=8DOqXXL&]3iSUsRJTf "YnL_#\qc'Qg_?q)~h)U'@b݃sRՋ8AoJEIQ n]ORm'<4כCp*% -$ aJk'HjAyϱN|s!P$6pr"0 1k#< &KrOS0m)- S,0+h2r4ppaR.̈́ȁ^jF0`DV4,B`N298"K˰ K6@ d:$8 iI9(L <0:\Bݞ`)N!M! ;xPi8JNu5c}pj_=癝gp,f/ZP0LVz^;CHMVPhXz-=í,G&R0B՚k<" e/$niZfTę@ LV+0,ύ$}$7aC6U`cAtZs Pcq/Eg?5I U")9!uX.|aZ%_o67Wf&?;ɩVւhUu&ʱJ@CfrͰR 3 Tk5_t:)㏛Wc@Q# Mbeߐw%eOx򪈆(DˁpiX̖ l֟$6;5 .dDˌӒ83m0,NE():Eρ@_4_XZ)HV3:sĜc8ZiBBZdi80G*UV$}I0{Rh J"2 myI*}@I[@83y"ʼn)$؉-.KwVۙ--/L30IzA,!y98+w}YxV5YƓCx2xTD1.\\Bԥ]clpLBeZJRRƭ ^VL9+zBfNVA¾wE27@/?>ϔ{vNSV?}$ܙa# ,ѸZD60ȕʹ̗Hs蠩LN+^焑q%j@?b"H@9ÖT9۟\}#L <2oH Ou;5f޶ טY*.<%@94ϗ!"TJRu΂ser1Qf3ilv( Z>3XKeʞ_LjY}8˃َ@_8ja}|mI_ns~[z:e݂YɧFA_tp]?\A!.dR&B.uCX)T:k)ڙfhD&., r̚480Y.cv47t}ce/&;f`M[c{E~w)Ĉb+g% E#6yj Dyu^ {Qouu.gIAL%hUY{HNa ueZԂpFU`/H#Ok?b9%S馐جD(1d9/ΞųWov2y{,O'+s$] 5fLҩLmmj8 N뵀uE/{y맏sN,%2LIuwSόSv>0-,N,L̆YNG=Gt/$uM*YifX*]fLW'&3L˭F8cv5&1+=f.7  Á|-0}&XĢ:6M^ IX\*UK:&;I܉Ѡ:ٯPi!EYKX3$Ii,7.>nO',nՇqLhRdi,3\t0nE >e 9Y(lg/D-OBlH252Pð9C !iL_OpAB%RRm1@J?͓o& c#J<^+9h痂_)NT5Bb :rw*+ #S#"\(u'Jx2\xJq$kR72 ʨeŲњx4 "hՒ8wQijpܱ—wVuW5:F'y<&O)+1JzN0A,z0gr6o,Z x`JϦ9؏x H=ACLz*1V Qx䁌OZ23'?sʮ)z ?Fℏ(xRıӔ|ƀEFlDiPr~꧜ x 'P^+/ 738Ů]B˘˨G/,g]no?>&Hg*Q,"S.W"d^^.Q{WON &Bm Mً-6Ers[@%u^nov_קZxy"a@Y?x*qi N{緻w[QhC[C*XyRx!)oxbv`( (P7F*̉*MBEX)vuE.)DkO3gJZ\pR}K.6xλqWv8]B_i9KB#Y`_mduw7 $g=/7АFЪGμ:`TXG-f~U3\bK QO=.ad`kB8){D8lI\zˀM=珸+jĮ}Jd]-L,VMqi! 눬|M)Yŕ癱<5*>ۋFG|xa kZZ3Jy>*0^Eg#g*SO}I33Kx1[MTNVHbȐ7mUϴF˿n7?e@3* se'+-O c"׏+-So[ ;8TF.2`S4X?Z%C.][AhEB`F?l>n/O<#9QޓNL^g-ADQG{" E(G@jwOW e9neCķcg]*u=~Ƌqu~@wlݼ[_L'V ҌuvffL-d_DJO⬧9}ȒY0F5YN4OC{$)I$VfXafե 8k)W7VHX%XXS7ɮ avٔ'BfȰOQTNjDԧ/ʱ>I*#̰gm7wnF«;&Ú$-Qf_lHi|2c2rbCf%MmGE<>q`"RUdQX1r*~UwHsrSaV,]diؤ> Axb v_L\kr<#T#S:̠&|Nɹ a1KT+#4LҊVƝ AqaMklS?*}avFL>BܨxCu1sA~?$}D{vGOϒ1gbQ ֌) BP9 azT ڧ>/7/)0 gT  %N es|imBݼ9SLXY*̪;}$]>s5{"g6LS55:c<kD'أ>e59z}(ݲwN;zFĢs+MO(t(gWg]XGh)9:_zR) Q3ګu6̑4g?ᐪ}Bi|Wx|+,PTi"}oɵHs ` ёovk[慍:-y%)埀\zVIO=+mGЗhOA5'D姽bDt8~j{wp;_<7# VBHpV4;jVYƓu,w^,%ef$rk*9X u3'{}Pzc/Q!,-~;J Rii\Д*x &əؖ /Ӫ7S]OMsT1Dr\[35xyCssAPڀybT_Eb N4<53n/EbvG}]/HXz$$5>91mFb|8 M4IЄDkL$4ZY#EfG$џ1DL䵵NeEQ iI7ʖshNK$+e):? \l0-%|EǷNy43bS$I̠N$p l6hT-" HJ +Z8Q14k"W8"asM Ae)vrj?̟ESތgsA1j͗6L9҉QH&!G#CG#BLcnBWrZ?T2+a"S^BAH-^/3OQK<.t[L M`H=ޑ_u\SPK3v~&}eonnށׇIpMV->!x {t 6e6zy2է(LV81T.OP){'gGeD0㿮_wey9hx˗pfgV\9rJfOS"~r^g OƇ'c:YL :E@v̶ Ȋ&S.(e~mf6b{}$ `C l9b Ζ/5&`=M:OJ\zr5LlwYy0qҽa/xx G`W8a`7N9LdAk8]Bybgv0%^R{so@tnҦɔ*2 sl믛!5o͑U2[ff"ƄLl|COFR*V\'KoT,iYr {T;rFcYOGxVQ[Xj/~Q=/se$Ԃ( i߭ySn| T86+5JevP.-#ņ$!\mKZ@tO}w8!ӞQb[lqW(3/xHьˊ smmkGL3 d}D";w3;c~ӺIbP"U4͎Ke3~>Տ0vШD5p)<5|a-~UnA D{τ]%f *B}=r3"Ƨ'y'#.ģ)4t TCeIl3< N$( ulu*&Q6ImDyX˕LHgBdɶ$kANQ ׶4AͩT5GpkӸJkf۝Yʨ'w?Rkb"7-Jdn} 'pSjdm:"R?b _aV@X )vO7, + HETlB"ZSi~zJ#Yg6Rcޙ\j82bzNfKlw/b[KdskkzfB] fL>d2Slx'4қ/[޳ X'"fsԆ)ؐѭ[r]o<(>r(䪙ȃUȑʟ$j{19;6AP¸ϞZAn8{Pz~nYy)QXD' "y`2j34zY7!Sa f_yJ|O?c/}@`|6#Nhc 'tRH}~)X\S8b:y,jNn,6Ha 슜DW#^AmلM WeMf^ڀ7ddGbHƢy`iAjsWW3\ϪC T҉Dks(LddiAo>ܬ6g_7]g#:)\:R}q$}I?Q)7 E*Xa7lwZ6߽}=|1vCjE,17)э}K1VHş}~v+Ii'-HIDCGa+e ]ܘdiJЏĵ`m̌HH8FhDFƎŽH԰uMp環+=V6SdO kF<*G}9\TQw© a:fJT2h EMc4+Yx>wB8dCA|xMUl^^Sr]W2b?h8@`"]\~Tkv5rJt1QIFgS;.{7aD( {@6f>nZTSrG[<7VF4 k#D:BZlǗ'* 5W|NطoooFy_mφzoY|fnA lbxf!O1]D#?LX%qd+QgNgR1._}}^Ӷ=C7Qȹ8i2Î^ G[2 4况5ܠ\ zۺ na@'RW:$Gr3x&7RɅf*3ߙ]2Zz}Bw2.Era\E5TP!WH3ٻ0MkO '(9_o.#h{g3V`>erR ;p>aEȓ/e]sI !6؄ JFa2Y "pN9 2cZ>drmK9LA!PtJ8f]v)U֗(? ){N0/IlO2Qˤj!K͎` ^,߾{'7p.UNf.Q{ ̝sh!!b}TYH < v]C偉\ G (BecA8LGVfEf[gS"OO-E_PsXH+bid[ձu8Z4Of!}8 R.'@sgpн0>c+$!A{$q,TMTD!_l 1\FGX`\(>BaiҜ'dg)Yk3rqvӖ|~,}"B$q!3Ur\n&w:ed؊0o5Ex|}ys{Cj% vx-W~s{xM!)1<ifOBNPf '0{ңdʛ=^~ 뛗A, cYق|<-P{Őu$EnE"cӂ0-Ď_I6hv6 h^ア?狟?+Vl }+ObiJ(E'Q `"? VD>gJBX ݓdؾ'u0Z%*L4ݭ S?U-( I9Bf[*UM6ޑ:ǯe=Ş-ٵo9 ǜ4U>Gmv*7&x$s&4/Gb^#`iHv&NA6yC4(Nq8f}bW{ȲY9H؆'Djd({4a==,a@α Jf&b`qLL+Uӈ2DDC-H[) l_6G>yJ-ܜϾ?{GqJ-"fLQ 򻟐C[|2'v`@t!Ձ0ĩbtK*W%3}T<˝Ka器(_vɧ9:qwz.*NI yU Ĕ6;pO|/|/r"?\J0[y~(f: Ŕ %y-]^nnοNpC(4$$iA֙}z\fe{_$znpnpGt&dN?(7~< Vfl{TL"gp0Ȑ ܗe}V#ؿ?ϓ"Zq;w8)[;>i@rb#@J6۶_ 4@HP@"xkݲ!Bm_ f||W .{}<(|xfge F(՜0RDG Ir ]~ܟ)AO]FaެTd8ȩy NXa O@ɹ儑~OT:k<)<1k"]$DR 5Ul߯o,~0}2KtpX6SƎPTMɂ3__[)ݚ(<ɓ1#8T,7r^ 3+G#K68At fĦqB0~֐ {l?;Ez.koQ&W\§ )>#u(rEtR2\;"7g܌Ӭ`tlDm6V2$+v uQᱤW=.P(&Gr_}#כck;kY=I )+ &\^v p#*I+OeG`=ޡɀ.3~oytzuy;Ln&5A,",lW:QZ98+ pBQ/C{uCRnw[V>5ԞUS5QS-aw^|$*uTE϶pGf69ol6H ܑyP\-1ޔ`IUܞ>/{;lL.+3QmfN;,lOʐ"9ƒIN׸LTBHW8<1Nj?f>W01< :th,FfzEe,=[; y /}Ãl~1Ā" %zD8\U~)~솠⯛ ܚ|č2<Q4BR)Ha!9 -PbY. "nh[>n.]rw;CxE02o]ۛ[lHC 1MĮYÁBe3a[_~"Sf31Jʴ<9} !T,$, @A`݌ZSGuOY37I"V|,7OǛi:Ј:ɬ36B@is?R|4WgI\:}٤N§\8k3RL,|2S 4#%j5Uqz8GXZOj^]:*4Ψѳ/gxpRC4UefK_SDkE66rU"'.aWHf1J,e`X ҒּyKFF+FKȤw#ai\920DFI$Gh1qFsK9Y))i$PjR؂粪_9clB L ő&AJMXzj\1c?Iܙ $at%؎ R S4+y4]L"XTN>gxzd m"$Yt TGj+j_h:8F'".>d0pGNjgxܟ^3^-Y\rȽIUH1K$ !f6Thk3}lۄȵƒYp?oa {2$ &?(u|M^9km2) SڠAHnRp'W)@ OÞĮMMzvvq)%xOcF3{? V܋`$#A:+< E=fFBHCBHtc(b8Vw/af~Ƙ(g'311Gy߬B!KJ|5H]n":JW;%D]z9YnEqfcpįXbt\.,Og4}E! ȩ-ɨN`^S)ucOHkQp~E?xLgi3$N#yə#p""< 8ָ~%oTOKjy<nkwkiNepx-kxVu~K4)hq$gm bKɈͰgWfم5NXfkا{}3pxiM<"&Ne_|^TrϖqVӱ3Fl%ሰ p]vĹKu>?8D."pRci r^Xc+3qV'K~Nfx%E*}x~}'lFQxef3z tؽc-&s( ͬꗻ.o|9YB Ra̚Sr#ٓ(p#{3@pms֎Sv"Whc%91?<9i!M41.+ L%5ElJSeH9OCyI Iid TShui!~{7,9?Κq |-|F@Ry-;QNHp8U庉Astn>- k EX //vSG}TpB쵩kxU9+VѝcppőMS1#0!긐}=ǥGF;ƀs`J"$ ĦdEsC OJQʚ2oS!rX_bdxL:mYcꙸN]$-V{rlؑ(JYJdјeSU"ߪ4m77e[vuBA 2d:F=OU?ǐwHtBFAjxlT m#yYx2WivjYغŜQ[Vv]'-%ǕX(aPOMCvh*ʑb~wGݾ $I֕љuux?J4`/KzxIF(Hi(H="R IL ; 5]UFg'XϱaYDbd ~rVQf 9Kʺ=ΊTuT= 8epu'կwdD 7ܭ-m@ґ͘HgjF4+!=~f (! =F 4UaXDeo"n]4+=aXx6S,^fN xO ֎O+=#];z (8P ^Q'AgGF-H/Må5j8(/[J)~IڇI&&ֲq}ә*Lg$+gˊ?OsU2|O<Q*_ X 6~fxy@=I( {*7 EWYLp% Zr a藟¹ >! ]fm=ޭ6aV" tsnv-f:b.`qQt6MY'P"+Qopa¾LL35rJ]&1.Bz]W~Oʭv)-aAq=䘹uLW4:[2=❧F gë׹7"PY8$[jEy u$N(I]~ cJ@9DxBȝ@1Pe 뭕vFûw/\l֟0MyGvhgXrT|n78G! YFx`"iyu9uEM!?GK%biH㑪۔C${NI4#W1!"m>_>l4 ap~&T56)Zr yHԯ=77*] {%s"i9 i:TO^ or9@{ l ^ntuHpX6 SJ:8 K:8M{z?hSGTg&&ڻFXPf2E_O~_z럜($0*Ѥ 'ۓ.P0+o]3VoZ)9s 泃"pˉ ."f)⤥P" 0*`O!x]A6Wc:ŏQ55"8άj*`43|NqB+-rfǾbEޟRSSYΚ*D!iq=qu yYvZv1 b+I:,/%. Ft y?h 6ԣp5W=#zX'//z,Sy2 SԐ<0}x8p"l #? -힜ywv`l)Ý aةrcU? ºʐcX%*e+9Lꈨ?!3pQցi {|H&)3a5N,mÌ 8R~|%(cu˶$DeuwiqRn}y nZ#$ vg&̴ore4:e Z=YZ3 <~ba[a&zϚHcFv敋*EU-()`Zvuww>=6ie `p /C!njKڻ(lis '7uȔG,#/xtP9}CG K#Kl !I1Ftd_TwS`s'3ʱ9KEc1zj3)VcC7'a̋8wGXC* nl(LcQ\]㸷 ?$ۍ#Bg0?ic %,c[u^3I#r%cDN_w|> *h|G9.GdN5MaxDXrd hUcGd L* qgĪLX5vx~~f4Oe@(fNN190qD9_ꆴ5IO)NPVTW6;'aAoQW2?܃">> #0ǗVZpJ #a? 9|8!dJrwP8}&l>F˾U,LT;:qq:Na[m>m9VɳIgȟ4e#;gŜ)+Y?jG:q}):9,e6(4!g\Ig7E7>$@WjW`_QIXjy~؍Ư>ll9=M&z+ӘBaRa_^e_-^|C\!4f^2  `_6箮`#{ I;B &N",>Q9g+8L>s:3LL5u;M-$M^48F4KQ,;&M*]i5{c_Øq6|ƙ z4d;-8nGʁ2r7,%jD},#sށhDr׏WkjXYp Nl&!aY\n-ZݫE%ÿӉ62dpp0w،!dRpT+ң s/cUM SoTC>"vfu2!#b LpJ +v_#n%sl(p,]Q}+c%t: okF@grr]N'V!YTZq/XD_UI2BZё%,w)1#WM=vưOd94d ^ņ}{7meMG`!Q 0RRse1-y:YY"F7u5QgfO k.|s,0ńF ^ 3ѯ r@,V_(HA}A2FRw&6T%1M /7y㳦ɂo?Q]e΍V]ٱϲU31:XXy8Z>9A&m=0k"7G@k9wڵ -~lph&! 5f_qʓSu/f+18;ݬսpC (چ&p*gmp:J#Y?Ag''aI, 2-8%b4ڞܥ6=fMPi4}~E'}f8&W7'}Cl Vg#;6/qxS3gvXE-K:?o+L4hoTHy-,Oٺ}Q:ZFsCVp[-ǧtML7qg8*@eIzB]>Wm@xب)qȚ\Qolwk)Dgz~ۑkpJ>@$)^ֈ quߖ^iC$NSSaz6k =M/TԊ҆E|Αz}DZiSJl[Нq̄AԠz{:YOPA>=}zzXׁ;v8ӎ+16ƚt&oqfsy]-'\r3DtDl9ö8UQx"]`,g8g8oW"v|pF6,D8#(kHKƟv :̍9ĭ9Lm*sWW!(,b824[*_ox8aªJm$4 `I`7wldt ).-sSW" [Flq lsFA1<*͊5 eخ',]G͗ǟ~]aBX˰q'RZvRzESiaCƕ]gcb$FKDiY|=ʔ 0۫"c̉,#YO`.2P xRdvsX=,~Fw|gf!iK+c̕dtFX)^wJ};# rg` ;Q?5\;T#X7Ԯ,8N)yr[H8Ne&']l3j=6 0B ːIFFCbA?yÀ8{5Tl78PWSap61Lξh9%l7R5ŽDsODU 6JJ&W7;b b~$ؘ4lřfDI|~|}`4Mث7θVp\$טK̓L@im-:ǎ#{,KIYSZmj$sj`8VIhus?j⸬H¤NeсzK;09T07XlW*xYđ;#Y`IJ@JZc?1>(5ʕ~h%$T'eE'DG8~Jgp4od^18El{Yǽ:OҿȏkMB; 1#g~1J<;-\nFxDR#3BM@:6R;'z+L{Ll3<=<8ĕڏ;gMQsd}fdR\= 46v#?TQVag )s ,=Gt"VZS~6̶J \=Ր,&9yrY}+Ll3ſh/2dcN52Fi -OYHRjd]VZ<#@K ƄEi?F<1[o)~I!pPuIǛPcꪬnOhxy$3D"Ef&zbB/(gX:)D7]*$z_;{_NGnG'':T|8W+͚d'Q~T.V0ݭWG󃚼׎mp]4[t`#2x*ŏUE92@57Rr64QlLi;Oԁw-q25n aBDcbYJfDݡJB!cB06 %A΅1!ɭ *H١ёN*ҤtlH!|>>Cʥu=%rg zvbdV) lDdGyk> I +}sF:cC}ՌpA %qMQKtRD5ѧAwW7/t$k%ìxO-'RqYZC=wu3T@|ze2ɬP5+M"|:^VB8H,//H.l瀷`&IrÅ2[S1Ho絖5 BƢI g8#kj:01{ 1,ldڪJt {}CR+Xj_ן x8H-Afʣ`2e6 }T,@e% c7N?H3{BfZ+i5p-Ix#>~]V;'NZ0F4n\(&޸rt8 ɰ q#xGjdf&R K^l>nmW]ry4$n|7n0 _ c}CB+Jrp{`,ع@l;]{1^`떉M!lj֎eH~ &ӑ )yW}_cڍeJHFT#٣P w2*V7eo]凞x &oBXgM"5SOaNN\u: ;:)6Ꜣ3%ϳێHQ%b*"lu:Q=5pJػ; a:֖%( b6+j>I9[n7ƱW`xm@Fѱ}+!׋R} INv:u!$ ~MkQPX|*] cOju+9tlDը*nq~RpᓩH6LKFjg^痼=!6Ku[>8U*] bS;W($9sqJԁAXR"䳀NDؓz1ɐm "IUYza5/7ȧ c0X!LZ.^? nRhkN{'g2 c#HFjl.~|qv\Jş`d6J? [olnBzYS2$~[8ސraLjq2q婆rRD1>Xq AuD=E{sL+V47܀ȦKc.?l.`a{ ̪3ޒq?3!+G-9H]{?8{Nx bbѲ=0]. ou:qI^~ 'XX]ojs{lYD̲.;BcdS]3Y> _Fb4'"|v;9ɊB?SWQ|`.ilr\OM~|qΪỷ(iO;ՁNa=oêe꽮lVz >22BܛuGHǣk/fb494HiVHӼ2} ;4z/xb6#H!aLK'ak,D2]\.[ǻ߁h]IȊ 9NF,ܘ" c{sWmeYsŗDv(Caw݃=~8]f4 9)TIǒ{\)w^}^,L$C%_]#۟JM!ԍwoQڰhj'3KJp~DH꧋Og?@SX$ig!;n7ϱ7lUI~VTT+B9].ۅ([u햰3U1!+mIӊ@,ʸǕ(Ib{21LtDxqq&F3gEigJkyHؿmvsKkaQMi:S%D"K5(a/5Ew (9!S9pʲCmܔGULp{SZ9ӄꟾXSVMQ*l#cLo# 鷗႑=uYߧNf,>0Ӯs-FR/ob4Hsr(=Zj"BCۇDzyŔ8& @91%T0ҘM(8a,">]% @j@ twwʔjjYMQla{7<ȰlTc-"ly2(l p#rI TiƒNdFODc@[]ji,A4$Lcb2L0̉恱IkPkOcۇo+2Αr&fI'agX`>sbBh- aɣ7騜sl#&O=.=QEsӚtwb%unNW]HP﬏"1ZFPMa±& gN@'('v^_DO5(ѱQ&zb) (+U: G;\r9pgi@"‰"Yd$VPaէfd* J'o s:h"5 H|ǢKH@U% k*mNX=rQkNLp'D[`kT]0xG4j*pYN̐ʲ.# >0~5/yYxa X*E$Vjn- ޒp" Ɲ8rN(I8vVһIDTݲҎsr V` GRvvvho0!ayl⹤i*(?oL9%扣Lp™SSaxyq~Sn3f;[mdM`.BdV'z}D3lw' ̸)y,X`K!-.&azÁ?ĞL*1N|C H% L>[4e#WO_qb KuH=RyPx d䅡̖h Ȧ(]BVv9~QzDFYN3Ŗl@ R|ţmD#_US1ɄboR D†R~{D0ʇ xI(rd@2 XK!}A )c˙.lʊ6p.@$leŽmgo/7ۿd6י4rs1d/*HSe8ydȣ~j}M7f1Kh2deTKY&ʜ_0Fͅ=Uƹ2q3B ]#r|Y2K7">8?ǿf88zI F oοpZ7YG߲f4IG\R  [֏K&C~3?cHrsU|hߴ2[(Ԍ0xUNӆ'%ac<߸u0E)F1N ',c @K9yl@ k&+Wqk;Ǐ O 1$Q9CdXv;d#q׏/ڛMjZZK6N%7K\@xV_55K=ԁ Y:%#Pp(coá,gĢ"bb[gI@iHWHMu(<`EL8V,9@oܡ.QCi}'ژ;24RJ8)kf`!7f~dޕ+= CE%t&eGdu`; ^GV܎z/PƊ LN\JPVr۔PpI4yU?s'Gd{X5 hI1̙$^j3ӝ484&ZR ƜZ1s.K aH\! <-U(Y]Ř38ε̼ۦljvn>L0T,$_C*_VIgN0@Ŷ% &8Ǿ,2 ψ%S}'nli2)QMOPHWX:F{wyY}WGӖ\U3%g⦙"1#V8?Kn pEE|M+$ų9*$`i<$M}^OV1cD2OؖjOذ?;UyakSdda`Gĥ2)wծɵ: ep $ewh |`r|qQ~Ec -UHSmA#,!|}WaVW&XزRJ&޸ۜqh^.^oq&/WwxS;uҋa-gd`Q//.R@ێsT{)? &npry=;1ˉEGyKQ߳SyYϢ7ڤi$LzziVk^ 톕͎tIOJޜL<I ɬjKRRw0͐6}"J 6H7Ap"E~14"ȸ㯁ҹMJo buƲO:@+WKI|[ѵ&0Uwo#H II-GWUQ==HO.E2\睊x˞^R6V>R&y&a<7,V]C˚!0ǜMloB<  [C?N*h!@_6Ꞗb\ 2 Rf-̹0 j{Z6_8#c8-$!<=ZGhL6Kd]r<[#L)aB +rug$+ޛ,Q-kkD~}aͿZ0G-SCr+`4Np`n͐\<57Ѭފ!C;ImC?';iǂGG k3R'(ktt=ef~ >:pB1r2xn3BfYJ&a~ɐܾ`;f69" AeX!U#(*2qunbHgDzbY =Qk?Z tXciM"<nh<0'y$lKG1.D,I&@>Hiaį2 Ø5T #E0ugm$P~XsĎ+0ɜ#]h$%Q0yR$TyQM5`[ΚbΏ#IԝEj<}0ÖD-saQ I{E=W~QͦWʙd,J rVW죕h+(DwPzƛ|+)KU.-n\OXTu\۫O0ruT2^rkeV:L(9'b\>g,nT՞,1w1ac9Vw]a2x3#ܯ+Lؒ-ĥNsA||[pU=%{dSm0ojІj,`Sp4ZSe!ufa8F#~ Kmw `>8"j?"WVHf77[rR\RQƐl5,8QlPÿYeࣦb3dAtg!w2lj(m`#[@_N5ݥpޣ,,0;l8CrۈkˈMr[t>S)Z|EU̱ d-yϸwDkḧei륌'$,{]5#ﰹۛD-D@%@G)6 = 4 _Hʜ 9*;xBS5S})pX/Vi=\q޴Gl(-gjZ;lɺ<0Xd;['荔3"N~EU R/^<~f\qt #ņ7l?-eƹ{X^3O+r3@mji٫\Uv30ȧR<c(9f$j8&x~`4[ݬ>UVa!}K4+C@Í#v@sGA7LE)C"8u w–?ZacWH>WLEJq8&ݵ_ڷ(5车+VđSvԬ:p xmu\7X/yue4iXVHUMIt/o\]]f^yOǂэȪ>1; db&w_OmM#Q@j4M@'YxKHf5ai'w7r@{Ke>4`-YR"Gfgz~x+PfDd]OuɨCaS|O#޿ke!x~~8`L9~ d IK3Cu)*~,":TL %`\H${՛fgّ\{R%"Pc_վnnif~ur`]#({d'i윛 ,&dN0^KT% r,])x6Y]ϏJM,rV^~cp0.%u7Y><;)$Q?>+8'çLdw?_kU88JScݨ).cONG-Z}ĕEŕ(*d$~4XM! l0ƉF2/Ԑmop&"wY\&Yy΃hӛٻkيI X C!T5`tĀunr'jd6 Kbc aW?0.Q]EMI^q 2잍L0[i:9`Z) x7{ڍjTٮ2b4ٵ|MB[DŽN ;'['5QyٴŶH1Dk %8$5)6P>a9R'pDouΐ2c ᤶ6rDV}B:d&Sy#?2k9bL^s@JvX}v,Oqq_}TaN#dw  Nr_~"Бe32!e[%b2O;)]>%e[{ܭ>=fsNک9L&֮$t7_'[dgƊY2c 1pJU'oofu孖K|uݪہ%߶axž1S 32qc(0QAVrvm%Vi+[k.TWWxFu*1~ֽbdq|^Rg}{>xI7%j4nBoj,8w!YNq 0#{j8`-5Ňg/&lV=A#4XHQ˪z=_ ! ;+9(398 RRh_>YY(yE1]SqmKU{~(_N[6bǁqG?&u4cV2;ř kI0" zܯG4D@H qD)gĦ$ǵӫ>f^f/݄z6hDi=ݗódV07_\n@<*?1:SD*qR:ѦQ64 ^I??FR=WEGC Kh@ɍ6R.L1[!$ai䐬$QnJ'=*xjܚ'Q PN|U2$'l2t|: G)?GW2 v)+mE׶[Qlq#sMt=2ٗ!~R}c-**efde.M7cA?_.wo='N>iT㐮H$r[AvG.Rm0HN8I1RqkQ+ P 6$>e% B" qbbl&v]fJ{Y [rRbln iVH*s| >u7i/rX3_&fuAv%gOjV|P9gکJ>ژS{뚬3?"2ŎHe~eQS gug܅+B@<,TT&RsEdZ?NI%Q})z*Eͧus\CK]wCfn-Z#{K?R4rkfHehCIFZ_4Cy,_d8|#W߸l3e (!Dx_&͛.GrPP˯d&7Hsz/b;DuẀ&>$Xaxx WiTvd0ATz$|!\Ltz#ޫsƎFtϑC$.My_NFŦ@!o6. N,MtkF |e_U^kJCð "'/8-&i|Z/G6cͬ!cKA\zv+cO1vvSy2(oɎ?މ7 ?3cFvꤘqch)t,)7fW}>l#WiH`j"E3oAy||G:KoDTult6So?߬n}B1Mp#ΚUKBV62b#zI ^:(?/xT+%zJJuɍ2Ev#0Ȧ2yEl٦/$7/Lu\1CJ%Ϸ8#o(ɱ6 NZ 3GEe=iSdnӅ3&; E`Ro~z Fx%t.,m؎*y_ҒIˣٹnfgZ`{OJ)2YToI`cT\[dw )rcD>d9Sl0 3=ޝd(h\Dj -wG1<-pwUb}Zs`!Ɋ2wh}icobWv":9a( >(%MUEGلHo?@&>u@rq֚S % ]kqJd`"T# f`FR!~qώv:3` Q啚hyEcgh,lU?Z5gFBC4cW?>W3O .=R%͇Q1z{h +=lH]ቖx9*F2-r4,F6c-$Ψ$1l%or;dy7/_%lxF&Z 8BܛCLdy$G{{b J?d3bzH+e[R1$̬*cG2(ZS$D j=8BG}P}3J3K0٤@7D#6GlK `,WF)37~W.-rd8GJıKQX$=ENs9"= BI944ˊZ/I0t|9DAb{s2Q8# @p֊BKw߿wWG4(<呮o"h,{67(a)adT\:|6~x.Mfc2 |qr3lvisiGN 0A-[ iw %[ǫ_uaufr 23FoJb3!h¸edJ}|G)+Dv*Im4HOi㐾ظ@Pt$ZbkRZ[X4|q^~-g%'&jXu4 d M,%='IĽvZϤvfҹ$@yM[frյuzUǞdg.6p&Cž$hkJ|{t6\hL묀Vi Qkn"컺ZIۣ&KN"ı)Y$ۜov.LaTmi]-.MeɳEpD u>Yٕ 3&N<:"!"^5wlng&?&3~ut%Vܙ3?;`E숸b KTYiIWiIW؏䰞7SX6n`i@*$U "QzC0^XEM&zfQfCB%R'f75"MMLO |TY,Zl$+KK~jJ%ZNsV)[ 4bAܘp4&{ɊBN]&H;vX ~3mo6ǔ]B?IðsB[Al~Z)&D@389 8' P~}_TmM"JQ"G~T$z.kM.C\j~)Q b^< TTqDfu'©@8)Ѫ4N8/?ÛWB|"Nh=mff"~^5((ůw۫kLq̾`Ɓ}@[-%X@Sr̩(xrE$&؍e#k=rf,w |t|Qfl͌k&IxC RH8HG+_Tn#GFGrB߯2a]}M&6p"FH=y!T2!s vu>O~%u HZ}37QV4?u[Q=R+SQ+TtH0Õ'Lp[!d"9fyaut'yD8 4j j?'!#\s"g ]da`p&b^_m9stW%I(fsf{T&/bݛw$)P ~Dh'#o~~zձ:%NepAڠ=QZl1rnJ(EE4 8P<N Y.DjGm OL$+>*2>"SCP5i~B]ST{̪iKb5\3bVV3h\%q( .?(kJn~SXH-'&--Ui S~_Q1zhR+Nm&ᦹ?q8zjόHRzBK6&q '5> -R Kmb%eoUɦڷR<,& =c7?Hz_7XF'rNu&v*8q7s)%Iu۶R=Sr}\ZGJΈDxɗX6}!dLB]GrP*ALb?P,E2T)6j/¸ĖC28ECIpej!Ĕo-D"ǨPױ@^95O=ꬭfđqkM{X,}x[FJ)ł`;:\$ۨf+K/oηwR\ }@˙^]#N?Gr'c6u~{j_*M$a^Y FR{]^F}|L\8E-'%(6kI>ec;L6+N=~Ɨ羕.Z[:Q=k L;zD !,i*|wdϓĜ$`9b1V7.<6Y^(tѴְH#wq(|lmmpTܧiݪtPc'SgXgĖ^߲߷VL+efQ&U8bɔaǮ]\Mb( N,f>*<1 0gR}f;87+~D#(ɋ~w}wZXf[0HdT,ѤJ#^Pr{{/c!ǽa&-Gac;%OW_wj*z0"!c]rG~o8b?(rhٛ& >5aoR,׫Sö5i3)L*-::kfϾO LndOqON%"pBV w}*=y|ṊJ;g5QOԗ”&4rZȽW8 4"?G#_ĉ6qk?`13m\o39=&1˳yF 򦤗ٟ(}T1C(H{?l?Y/`lٗB ʢ68~>Ȭ?z/_כ$^,3.d>IaLgK5ן/;Y9> 5L6#īee/BwL̫si_"(0P7dȍc" nwozjN9鴒oL<'6MhÆG$|>.( ӧANE$Tr`}[}]_^V9[jꁨ:H"QS0r‹<k x8*QIϼ%)V.xLv%W~nowWl`9M5b 13 V*Iꧨn,BW_s2-$BۣY<%;. Ox+"8Uq1ȋݫF'?MJamN/%6l& Ҭow*zMB VD^2Bx=3lAa9la l6'%D~$5:WݲN3㖮Q9Yނ^,#<+rBRiMr$tVd #ph+=fmuyu-AbL94W/jr oXd?YnDF<:e-88R ՚@axFQVi81ctd J;b&5װ{!7_9d _bbRBٹXݝCe_R؀ZW6?=+qZ11;^roט쩁Ánjgye(k/L5Nx'.77_NlNٓ#eRZ5|:`DȊ5=;GpTr,g]dbbƾ*KqRSqC"#9$HW㈬f}8㿋,]ǙdHcڏm WBy8b%F\/=3+V@nxw}'kqIJ)/]M^}7{&ޘ_cϾ+OԷkl'8؋Xvt+3YXZ>BΝ擭Nju%8Q{:/V_oO-44Ӓ!Hmő>4+]$D|`1&ݓ!ԡ#7r),H[ŕ4? :qtb;Qc`eGL{0" W+<'ƍtzuo66N 4tF 3^{:={c5lLT=*Lh5IZinU@ol,KkEO{RGl GTP6(wI^'yDMDkh"Scݑc ZEt39XW6THsy (Ǻ&#>cRfCk+PDyw%QPǓ غW[>N=gl%~⼘yCi"XxRZz}~>}l=- Y }ҷ8wxųy@!* ℁1=OE7gTߓQ, 来e7GEuE"`D|q&[}\]rݮ7W{W>Ñy''QVB窎@3-l_K|,Y]vZؗ7=ڥ9Kxesi7cd6f"#w}/ };-6*Ay1i)~=)OĔQq!7Ep}" <_H%qpٕȆRS5r2ؾ ׫SmqᲳ6:Vg='C6He LF`ӿQïJbrE:1 `K Y2+?kg/6ʇrCȺzeٮ:̈DU̱;#ܢa:gI@]Mŕ(k`OT™ sLY 4I*wXem%DhEXGMom׹C; vlY}\ 'vKgT)Қ6HTnf> Vlh>j4SrqY _LԈIND}庨˻u1Fl<BP0)6[H($ wdn! !ȢgrUEr،i#Z2b%w]~;@n˱GKMY*\{Bn}-~$0E%+WYf8L^`vSlXicS\tO)B;1WvK^ Ȕ,y'#2?t }u__X["d~ G$oa4%=ʺ7a"}F#Qݮ9b<Wf.i_nNqc|oW0Gջ 7^u8% fMNOS(1 %I4R1djQZN+N 3\qDHpfje_4Ho8*-\E?.9φĘ!5Kel Hfn=C@qNz^zXC~&_v~?<z/2bDgR8ĵ\i|fd}9iĜǤ-O?kޝ_mn_ DQ-Eli ɞqn8~x-<#ta˞?=0uUΡ b;ZDK^MnyׅI'Jӂ`frO7oN)O+Eў2%ʅ7 a-@V;EF+ࠝ^՚=hfSp{Z S b$ wzz=N&[$4EŅH=/{aUP?v.BOo,CHfm~dv4e Tq1.ܹsžì2Ho䵣.J #K bsIQ* 3TJ0l+P*r$/G-5bo,LػBA>6Ka⌞29,ޭ/WVw?@M͢$TLBp5'c^-WSRC5+ۢ|KsΞ˂<^_I*Uz/*|ۉ=+5Ri% G?^-?Z% cP%%B+7N;7%Rhd̚q Iwk[04hIԳB0I:**jUBYiSDUiG.܀E5"Ź\, 1 &d@cC1Yi~ OsUx,R@<6yҹQToOޅ##Mm, ~<4sw;$1+jsj)kƒaM(yFT5"A& #̓TnX\*Gt%֬,9$- &#8h}(N>S`,9FM-F5G*LYynIoKkRtqO@F䧩R{"y?Nt,/ZKކX/hMSsB}gS5TIq73Od9K8/ڇBT()K08RE pp.bf^ʜM%jE[׹%(2W7x=Isoϛձnot=_$'UV;ǙFNJä[dKc祋-u+l-Ae)\eCJ |b鈛T>UL*V+S`sXK`!_}${WkR(}{gtpl""[?ˊ3 m뜳]zOOqDRq~qjQ{|8p+񷗙C?n\JԾD"N`BxO)gGGҊG2YTv'Q?XX$} DPۦf9c}}\Q&DaYF`Z#g3iKN7G0,{'t}[DTL~~uzzVɳK_3`#M eabcex ~ 9Ɇg.á12R_u/8#.=[Pb X 1`'s~)qsB-5ԏA>'YNws?dnDe\|ʞ%=u.i4 {&GQumnF۴`@|&S2'KD`{q3U6 '( Gґp(/j 5ߏIJcuaCf5y,~׋ L{ݬ.h'6dJ,kb gfz0{(eQ,tb$QͫvIV3]WKYbenq'r|{{vs~'F3$ % 1PiC?xx1\ݲ ac\kQ[R 2 7vs"ŷ؍'<=.^K+t@pEHC"7TQtBaRAj4L ٴ܅HhԀB~`ov)śrm3>0 h0kR,=S[eHt  ` tlPN|7)DmU6Q:5Q5mn:mvuj'+PR&i$+@0S%J_b TNв}ǚ2=\v斊9Rks`H-t @9#,ow'Օi>l/2Z"Qn4= dmK4`<@-@r쯑d-dm~y o>=UuTwcYݒ]PƑa.͝+K[ɻ _;J%l˭صw6JQ4rM5Qy w?f얛+>xCYv 8#hrts8{(Xq >}^KA:Lu!s31i1|>_?;e?Iz6B/vLTUjڲ̷_)Lyx1&y8&KۙXn 8Y_Qǟ٘qsi}w2!3z|QR@SaU;H_y)_@IFHߝU6J/gB=q@V9ӱÌFe,,4 /NO`~YFg}68)g3d&9XԖUvp'ڃCМR½'f3:"ȐnNtԞSñO8QS/'3l8X`{мˮh="r`N2BJ2 O{'?{5񓈎^}xMwC?xʜG_3v2)5Q:鬓tB^IGi# .P l#ׯB8"ctc7!>Zث(E]!lI ggؼf1*@[2fggə`dDSKH+juL%qHҜU?GM9b`X+c5HT3\쉆 ?~{`,}-틕o wYYα_?"s-/DLF'0wvIP,֍ S'k)|b|"jm'ga".LLTؽ :.j\]^5dz9D*$2|]҇8xX2 ,d*O=~掬 (,D.JnmO:7b$S(͡ȯɩNrIK'd VYZ2lnhƮy5.U:@y?zsz)>9e>zDSSuVk`(v  W$AH#P6\jfhSQ/{ .AX8\8i,cQח#ݗae%'gGc0l&;90)w n& "~~7ܯ'd 6tLsquc ͨf\1cåLV~>gb˾`*|SoZ<` utBn8c*]=* bqr4+X,ơZtT3[E42 z`QMx͹s\M]hPȯ"TLnT9IjIQA^?[w;^mx"0JΤ֒\Ԯ)|[c9&}K36If F6 ҵ 8a>87>5qJLfJ(/Lv5O)do0Fzd'sH" @DJp2R9 j:0&8 ,U"$(y2FN&I26_{ijGBAųgSkǠHoC*Cq<''H57XEv7~-܏47Vv5dkW&.a\S%f97G( 8P6/+Ik 4en%3[#4Sm2V$%yzjMBbp!Jz33PnOkS38A8L38=B/?􁘓AwY:p\Ҿ@X2O$  ~BN4LOY-kXŭo״)O]Ō:)KW ]00/؏ #S`ε.X[DA+kg/~@mPX4g'N@3h::?FD8hqu/ GiT8sﰃ4̩7Z$Z?ٙqLJ|ܭr c;9+U-1 BKhnx4d]7gNFYO=[|ᇣ<=@ ֮X%Tiz.fY:רHZe ero~K~vO؀2U0X6*%tceee xokEe`A0L{0Ep Jr#c)фřK7 )VScjؙA{﫻o؂ޯ6,r.XElsUP#\c&Dc49(%vr%ѫٙJd$j b4Ĝ~z.P-K~9VSK׌ ɘ^%Ϗw;& E+ G~"rmS)׃%cԬ4xc&I@%l0:_Lm}n,^?^/l?sHWB.6z-pdfJӘgc0쥞95+G8?;FLA8)֌HN0Oe+c P6T)xB5bIX;t| ?%Фe1>;#Z~~.=:4ǡn]kgeNא h6W9o|e\y&9 J_G=x<Lor\]eLs̑%Eǂ W*6}a<82$3z=r>O.63`ZsдH,.11lj0`H3ݻ{ӼOsՀٞ!p&㤐a2;e5Q9 ͱ)x,/{*:mtmxzXUl$g0Q3wL)JB>|[Ld ݱpi&2=@mOÄHG>Ȏmhew$`R],zC~܈!zBAuɈp(aYDN}8.<0M9_]~@zp9-JLWq#Q֚lK,W"JϚ9%:MFW-]3l!A>kӣJ{: ]`Dsh5*h9l[HA#AS * ,gޗYV՗N3ek~Zz63LNnDl"o D硪0sEc ,k?.A{RhD/Y2b#uk\,>R@KZAUAu6z&y8vwk7WׇqXZ'X+qkEf(U'q@]HvOB!xJ[.ʽ4|B@/э@q&:a(l%;anl,IN~ c/+#X#R P0: ƏEw=6A+}J)HH3cJ;"iO)~[# Ȝ9Yw)pّ+'(LnuqxYR,7Z9 #/yFXGYN o7W)HOe[򃎚IJS()dKCkqgsH}i穟s͐(%(ʯq̒͒+Ϧws2l}y Ff9sb@V4 -07IJ~/LWzxB^)̠2zh(;Ɓ@[#EV  xHi'-v^UP53)G.;矦#g~D`oS0njKpPvT [mGDHӀylb7-y3oDZؚ'֮flZsNlY%cĚD t`7FD$iʶכpG79}-*LIpDyHU /t(lvao "쓠v~YxY>U4Z$&2Olٵ<ωXG2m<KInYkLs@x}d#vҌg>~{ԣrVt&e'*>ʔӤF7ގ' cNa֒H>☌Kiq iwMRfM}4ˑ8ϸHr"ጴn0č dWgeFjs&E)_DA&M3=F.)Jyd߬p0U~[uf^R:!Q ) j' H[o8R2\?U@RFG 1Ɓi ]:H[ ?gBcqg'U#oXV-B d G`pƝVʘ^P/o52} }VԤ{ yeQ`N^ױ$X54C$RTeNa!: UFR-ap>" VsXKO $N:o@#6K#r RXd5nV페ZxBQdIkfd9e(&dTbC ԣrlW>ԎفD/sN:4c>p!#%FYVXE:l1UUo0<dNy8zAjF^"su1F%i=KKP1iOt`yadJ69"@{C'84dv"Zi:ễs{tL94pc%G3J[yxV6|=^JO$qJJ[-xa_ +if)F)\ MVc${fYEEJ3G*Pٙ, ^6rz~{M2) 6v:5x*h>sKjzA_np_b!Sq\ַ1C^E T& S3@XcE}@+ R%/Zױ I 1-TyՑqxeDNllzY`T?-~|=SJ(IqU2!&.ŋ^!YZSRe 06 y16 Xհom瀴e.L~j4Z&dW - ay.),g:+&oϏ{kLpJj@iI+^&[ N2,gRz #pX+4*龓ͫ#FquB f6$O1tୌ_bVF,L~kSKebz'Ո 7C޽<|c}Kڏٕ@iAq· (Q֏Rf' P_S\fCLO_7\696ʼGVK" l$UL9Z(cF~h3@KM gua}_QYq,ĩFxMm) ;W]c?2q7iv9iFh°Tm$ScBN>vZ.~|KFڍ=EPėH!XBzAFqOkigM!D94oK{яTs/o?8rH\,ҥI$¤5HC |ξl. {`WŒ5,:X ,va'Dswx5RpFQЇm$A<3xHOvhI><LB麣 O2mw`cK{XRҜ50~uxblٝҶUqc"Hv?Rvj2{ 9TD$ԆK-1BD8ȉ@lo/-hKtH[O e]Iૼ^RPV?8Sca;R}2K,3޼cx6Xm~dg7,%g҅ Ád/Jf{dȷ:Tl^3D͆x: Cg)T$AfC8ۆ*<5jIs8>aC,<#x]!~X׫SΏY6tj"ƇZ9ʅIT"&aYVI<W YQ*E[ YG} /Z8莜1n5XTfBaV.8н0xT#zId6hߟ57M2v?%F9 sщb?fzDq/Jyat\| Q;h0=1v0-"Yɚ rm>nQ#V}BE@EPi߅^*_,ZrK%r86 :jt#8}4|&kvP+ ұ^%j#٣ʶG^# `SjIMg%Q$H+пu]N;*m.?ffNʩ ƚk򳬬ӻm3,듺R~˟Ϥg*B" jY<_Ym=Qd .<*Fl6gĢ"5BrWR.?8lN/oJdӛ K']9pNK5KCB`v&K_^.L0i׍TlOu}sH˲پMk=8y}* ^NRP~]3D5htZ2b߿oz/ǜe{N! [lBPW|n2w{ J WlcV@ů~"~|ƭĻ zHKaQܦ2;Zj˒r:(m6Ӈ%N;؊ #@1J0M4ӘE5 -Or<' 2zBEN]䏞xԍ) ;`8/N`˾uS~}t1B_'Vxj2&dhQI܁|i'Hh~Y^Y8&#nU~}~djiIYQXYz DOػ)d~Y]}7}v@k2npΎU{b|5Q[~~YI"SKdnOJ^4XmnNJl%RDϖQdRY?/?'"T^ɼ VP,'(Dy^nZmAfSz46U ]J=apZxm!-ǖ"sGY60=vlc҃S5"PdǨMMmrLHz}Gӄ1=CwDUrN'2.6W'ˏ*dcS&QI`h%KE6#Oͱ94'|D^?n>>^.n*6c%xq.ޙj`wE͉c}3fݾ[ݮ".0ɜ(#HbgZ@V"vO}if2F&9gitZS5nIRc8 A8f6o{z_lavu0(?k 9$'&lm,c@}%`#ŏd&Gװpxɕ,,0rh}%Hہ2lD noCkʉqXCJI %Ƒ;3f|6W߾I?yt) L>b=fp"w yP=3u8$)g 7+;(TXR{Z@,O%RՕWx<+>647b _fLINNgv[ک8'W_oFu`|"IF:O@| J~ex Aw) A;^#fdzx~'qT`>*\FK^lq'K!!#eC:P6$:j2@;zB"2͈{R {T]4%qCio>O/ߜ}xmv?ԗUz>R9:-) y2~5Qv MN.L7 z S{)+DgSsp 9 0(D<㛰: 3 VwwsA0ѷ5Yy;o 4:ĩ?2wJT֤W:Q9{ZɬDYԱ'n/&*z8n8~- esw.~zj6-6pqfU|&bekL"k>5iގj}BIc5G;>~tK%PaSqU )o֖M'k݅+?gk^m>#vV:zDF#MaY?RK<&O=8O=NB94%:tfNkYO350x| [֚^29ev?YdlKgo43AlCf1 PA2sdZhd;u:&uTeu1f(b_]:&q:=y DWS yQA]l!q=M*_Q'a'#_k#B6жID]g+<^YūCg6 כw[lB@)өٱV8jm9DNVZo#MN:tg-(kE,/lrOctey'OISʳbQP+IgKb_' >"?oGvS6;a7!x0 |{MʜL5RWNQK9(@\y>qW޽o@d#A}H1]a|b$O7|$[]4,gD$jvFYaK"1adfTOl|E]ɮ?4(cLv6ƫp$Ɏ⤂^~ىzb5>r"Ƅ ؃C36Add_?ߢ\'$ cΜ4DUr25vf03>m``fwm&M@y-3dN_0IR!2 #gdR{-9`= i 5V`~d{bs;5>I*ьSfHѝ$-bD qm'G~yT ffOϜBDeFjUA49Ѻcb,Owݎa}ԏ+yg1 f#p2Zqq8 d,K<[׈!j r5HgwMm'5t-å3t6yR&E+| 8st*G.QA#CQݒJ;to>Xofq&͈9i'2FDS8'0҈kGMF7î>)Vw+9ߖ˽Ȩ=K(D12/N bQ<0lӧՖ ̎5.dOPftZG?p6F* cMO$7놡$5k,8e q1q *U@U2UɧbY)qVW} } ِkL3MT/ n/?=t$eFMuvɴ p2l?jq͒uN4X d9HTeЏzX›[{7\H'KuQܔp+1kpjF"GxIKH,'F_wo@}|!L ~rR&yC4a m̊j#~2 [pj_-¨R* K&7r.LK_9j{X'6 ѹsy~#8b@os3xw}<ln2|5rXIQK9tܻg&؁mt,HYc#Di`=in%7@̑1n}lKVɮHN9p ^2r37q(OR%O '"M;-uf^5R~Ng- #cK?G?$"3%E':ڀmx(Uu'30DK|9)*V:ju3%/ݻcjDR#3.~J~ /c džzSyo]o⵱At #`Z gPISQe \1SB33YTV+yŅDYe/\~[-\GcџWaꈥY4EA]ɂ՗m"..EX׃1ytfƲ/;jLR@Re.D %:PnjqOY ]z%>@EHeJ2F{pyU"d$妹:Z]%:80zLP4s1ԯ+fU[0ߖ""c=y4 j] MFՃw`sHv]Mټc+|{A\_bux:ߍXj0idsG(a%`yF^|˙}li9ak\c3"D 352A<,ҋRע_IrxKZ7"v7G !jHysUދbXQBj*Ѕ́r8O_me[ȇӤq9k$NT-p1pYs@a5C(fA.6c~d蜟k)2˹DY Wb ccALl9QɚHPsƂ8:v! L!)~lg5"Xg31mF,ZǙ୿ 5~a*a")?eױm 4SCmBWV˟:% $@ISfev-պ?vǘe"E$lNyє!drXNg>b" N"}Fvpb\m6o#D\o̅FKxw_7g1io޲2^f۹I9Î2E ~TS!Qs 9+&'CNQß2+DL+'fyBXيų[ٝS%>+ 1NEX g}L0ī{2lpl~&c+~ۓZL1HG1+]J[.jg7/dR`V.zz%{ʘoNvBB**W٣xۈj5Xߛ >>@>$c|פ?olc=8 dMɾ zh[=?7g廪=YKE &?U3 ócI &9Tݞ_ HI#@52)o] j㠀Pou9@LSM5z~@0Uΰᱰ1aU#Ix䣘 K]Z ~xwo.bӒLDx/,b&k#"+>7> .0g`_RQ!xAe.NE)wmS7_Z\LӤdU0mt|3'܌MbO>=)Y7EKQyBxe=n)V ë>?=@ݍԓgBgg%$&O#`LHm>pj&s6dR|O4MÛ'owqsl9~8+t4WvRNr5Gd NHd, 꾞_= TL%/QGSXaxG}x"O8'V؉GIeyR}Ȭ׉e,"¡\I?2sx˸QfN}BaDD)=ӄ"D.÷"7wO[,Ҕ% ?*G3(=䆷{l$ٝG5-N (|~J! 6k:+'5lԃ+apab}^yڧ!:,x/>~lS&"\<soe$#Pry59:]IHp!p"e EdiΈM'Utx%ǻ' 'ȲZ zWF"5l '*,?Ym~дIe<p2a^Iq^7[:S.4-ǑS/;dG}Z]ۻ׼`&)^DŽ2@SGQԴc2%1Ӗ F8`ie$7+dؘq*Tu{ (?AEOCTiA#S[5Bkdjrjf2vNB;+?Kϓ =DC? Gb@O5ÄU*̷R*iX'py@x%!V \#="Yjp|Y]ob ^g}?ȀD:̀!vl{x\DXS]#b(d*1 dyn% i#`U0,#:?iyOW/ZǁC`(]6#L$kУL`YIۯB+70rk1WLZb+oJ[ž SZ{/ ilPd^e<ɴ6p~=MDtA&=>SnpFcAn((^GLH A6RHե0f\/W=M*2o9祇4ʛ o՚9,b}v}TR8Eg';b Io?$q̧1 M|j37EW xMx[<Ȉ2exbP`px(4d_M|E^"B4EL ~,[bao+tK"ZFPw[4qY—\eɜ9%3,0nj:`cnhD 8% uZ} lqZ[*T61IxMEX jIZcOFҌ3JFcP0NbKʶfKCrDCU!_ɜd'\:V ~(;~BЕ}3sE_>6yb /UfYPSO@x1̂8-((xb_q)DBd~k YhDS@x}p{H>L\RjT$ժ'yw$0?? 5(DED= (N@}OK?`0 d8TlZ2gn: ~?q 7qICPH[Bl>_^_5CXsp{~Z}xҸjrƾɅU~͐` @F.wWIe1v8-3(<`Lm%T뱥 Cm[^%+V)ff"cQ >?r7Ml;9$-&.! (XuI$WGAn~^]m>߱ų#aKn BYv]'ݭВ=0.dNo5 79 &08C8UɬȬ:gd`_73ndl0\d+1gsS}3x6H0z6Mz*":ߐ3=wm&zHDUlqUNY,.p8f&*šEs<@Db0ЭZ8l[ ^V Ӻޅ2cB/Tۙ}F)G~c6+Y`ie::;{MNp1gUcfp{"u.j+n3NO$̡3{SXL7Ӌ롏==[mleBU#JhҒ˭M |I?}/=e7t2kBHW!H6D'=4:$l.Ybq)ȾVAT訷ޗVcj^r0#5xmƇ T1W_w94?{.*3jaU00r5#;+MK3w o+m 1+?-4 KW&:W\M!pQrL&u8Li9`sKA4;}/\I"޶T#)h -j0&0?bF*m74 ae$õsB7 w9^}XI9Pʙɑ] clj5!Δ3{nb:z'oÄ 6ZI nq~!w_ȼ] Mh$feL8wZ-{LE3Ouvl qI!6_u'iL6Y9å4aV 8؆Ig|>'Y Qdo xy/û_ObnX 3R J<.?,b+ڪʈ_c|v^@"L݁r͏$8+B֙ LVk^TT8}jy|$uT$''weHAyy5LOwBq̝fg42#F5x¬z^q̕I.`MHadf/smb,Z y[nˬ:ri~;xQ1QӺZH 0y&ffFG6XYQ@O, JZN̔Ίݎ,S m,z`i+/dz,1d<Ýeߨf)؆)1鋆NB6Oz s>GXC{ &^`=>Pq2O?$ i LEQUS#xBx"*`F9bcdt 1`ٶUBپ۞Hͮieqj8 z^w97O|0`{&ȼ<.u0l }Hn(7ߗdz1Y#N>gJ5E [=\*RjxɏM' Nsc49k? ޽t)V [#y8,8qJ]UA֓Y'IMF2 ("@B@3_+IֱJW!nO@,i 퉽{C;Q"kSgJ3@CGN(>6\[G9bU*`A?p \.֋A.m"x;gsRبh4i3ѴñrEx GftXWij3. "a}#'_09-5ԔaM{fa_Upmϓ{*o@9щg@aՖkQzX ʜ0 W} pp/.+ ylb&)-/V:gStkov9I-HsY84*/H309`.XN;VYp\ YcHFNH ؄:hN/ +'9w̎PS+k6 =Ralpx H@S.=wK*/9/LeUS$$/ Qn׫ E'=К0^ lMyPl-$k( FtC ;Ɯ`pNc@=N͌Y$|@jz"ł8>Frζ\}ۏJ1mf)K`tFv6'#ç@V'rGٺC:&Bsg+,y!$EQ8-g^w>̿T?Odm, ;ߣ9˰Z?2.jKdMEf!*cvksHC[*2FG;Nq*Yѻj L{[ٲRuhH;1Pp QE^<΀yNQ"N{"~]F:v'W&NkqG{Ne)j($+ ,Y-{|ຽxj+HNuv[ L3փ?x3Vj<<:EV@g#Gia V=9S\bK)g/o!1<'Pa;fOz'~~\e6\%iJ !O={yĜRR^T)KN Y%C趴)׌Md,;'ژ|ee{ lI&bWtj@ă@aFA1!YBN)Ui3~ɣd!k8/zX#}nwLaO[y_ŭ=QFTdS[1X 8`YTϬ$/n(5pf)l=b5$$UBsvG~Xԁz g={I]mȻp,b<98ZS47n@0ksHwܟ=qOOrHS@ߘ&;O`9q s=IR0%`EQU9v.N0e!l!'[bŽ)7BHE͉ s@[FT4R&t QzuUh V2DrI1;aZCN1-PxKM(yҢy-aXc*QcNlOx7ȵ! COx={:bbh>N1T,jˮdݏY$l܃k@?hdcRM̳)qg^h.Dͳ[ FZL F+LE366Il1!$g?qf~+L ͸ !II7LHoaSLJù_+V7T-go#mƲvdU<s˘!V}vZӢ^nrѹ4ˑ< G&/v/cF_T칫IKLgK5q޼^E/koIkN50ܟϊA \9J(vFdChd()f3ʹ#o؜v @0R*(%lmh؀"|Z/~^o޾x 0dWS_%KzIf-!9cyu:2#*;߬9@XNH-pܕ\eQ w@ɞ_v'w-H~;>vxNQ`:϶^Gi;5pN6-S"IU~II:'0;=ڦb $?IƉȝ-\`灊# ]mU|M^[ n~Ĩ",vj}7LN$i 8[C09*'d_H܊Vb+Opo)Rl/ٳ[ݝG@81}Sd\)N : _U%X }QRM+r@ ]B4q~AeXھ-rh8p̢.lrs59zjzg椦)ǰ\KDqߜI)KJxury-)`_xTF٦ yuGśӳ_7n`@x(w,g| gQ2 ?i NVЇ#QV +޻k3qV,i$~I7"8;~<c??ąz&&"s 7)5VZ8J4GP '.FhT|S5 GFnQV*Qy~߭GB\AbjV:. E &Rv?뜙5[MRWf"wE$z\YW+}L l ǔ [ҁ8ۘ5F ->oO˯H(d85' >1`+ķhS0aqKQlw! wxHf\׌N!< +Y`;IM>ٲ<ϭn9j18Ic㥍Qo_g֘Da'㙙Į|e(Y!+ADOo;C}"dO+ 8`±NaAfec;/c!{0fzTٔL8 9Px~kl'c&4ZT;$l㊐EriQQ|QkJα-q? *5*DדcXfBFi/@J| =)yi\>?8GC}*^c*j[!8[:>&NL]P XI ϯ丏lۻ-=s|3j # L6w+ <,$ޏNGO8ǍWz0݋MvmwO3)c&<U14#LdAA$/ON[u`#%R/CjZj9L$@N_NH]|׫OHw">6[RC-;qI-`z# 0 IL7‹iJti'|(_mc_=.8XVr^ɵ졦#W>]/(P+*WGo| 73TCF:Ʊ9˜:h{Yb^hߨKm/a&"~@IJrkN3[ s-W }TvM,Ίugݹo8n6rTK!1$`_rz; !MA%6W<^3l#bj037Q ֲ+C= IMzPu{yi/fsڒf/W8!˶NW:z{)`%kaOyq!s6e"0Pdd@B9ϾF?^i^_Pk:E`㽡1z؋4Vo'qaRo)cr{5/Иc$ӲFxpDZըIeQP+DjbXcw0XP[.ވy|:;L+qV& oFIROqc ՚2CY,XB‡ML)WbVQ]zNIG}'!XA*%`g.4˞Of9,{~'Fd̷. NcR)JXt*sp78CovJQhm(Bm¢)7WIw Tz%TX q١)wHެ2ab _9w[ߞ@c0eDzԱtYMj1]"t V׺px_z֯ o!ijF WUCigȆ%Sa.kF@ߌ>):)+,97/}r {c}!,C J ۽X2(*ؔ%NУef?ڒH]ȤTHfbH3`( Olp.GvT0;c@h2#e%SPy%l:N3Nԋ=kM&0a+At%o ?7iZS#[[kѻDH2OdJ<&W>9 yQ|s msh'yJKfon9pB2rC_S&89\\]ߟrKnf,yGʛh]ȟ˧!rmϯ( R>b KeOrAzĔL 3<^ 1  ޱN)v.)ɷ l)Tdb.q.dCFM5X1N[+oYFyfHan%s^3UU\>e Z(H2ƻo>VFrnuϋg T~-Gr&p yi W!p3LV%[ﵿO?G= ؏}ʖ6R zE|D3`|_MAؐBSp<E?c!]-|8D[8y̹[,N2B=0F\(a "OZ0B"'>\"1Y/TdSK"={{/Jrd*H)Fw-;VeB)Ӝ qT`ITd8C@iWYmOJ2؈9gTްp?}/a6f 0%e)V|?" ANT,}{op1|׫EWsJ@%2 e|YT FE&7Wc?ml>K+bTAedZ.5'_׿6HwBT1gXtmiA9!) x8˲٭I23S/Vh9\ ӓ mSͤD&6D%ْ8\yu6}u7`zDqڨ(8nҢz{ξEF 2*SB&p,R*,¾<"\.٨KIkWn-T> ےaT=u2ai9v\9)V OӴ<:dx;wNyNSvK(E7yh IPO*,X[ \m-C|JyB`7|^%?Wʹ״h!)dA;@m0kfm ?h! ֑\1Ir3%Wv3<]HC5[".IN+eZ1QajjfgfIm+g^/b^#I$зϣaaxuaU.ldQvsxή6!#;! Ri{?J k2UD@A>+k:e8#ĎξII ϋ΄5skȑQ gHg+ʜ쾏!N$c%[Y# T}-#E^ x+D&^4Cngd@j`˻A[nQf?ȍșsS51Oⲝ|^<\AG_ni_S{ }`%v6 4(ctD+*t.^ D^D3r9EjN(ի %g258蒼WP$vv|B$Hu)[(v|oevx~%ēj)H+4Q3]yJqW~%]ˮRH'f= 6!\r%KIuXmӢϋ 9l_ޟ!X5kc52`%\%S5viu"?efπ8>Qf14>[ E8O~s]e=ϜlckJ廗$D3vYaT˳%ȄmZh/q^*Z`E-Iv4yfc#y^9t)\D+7KpdN`38eělpRx&ZP{O$3Y3xԼH|@Wl?7y{ҕn-bDZ*rIFm&8n Bi#_N3Y"+LJ}eoǬ2 ',Мh_O :s+</OA<^=NG؃⒟Pz#\$2NiYq ёv;S"\ 1-\odaQy /tn`샧lN30ZR&@?IKYE^ l>eیB,: v%ŒGj&O46d~j"%b)\BVݑC-($sQ5B֗ P,ޖw/Gbׯ[Μ{r?Ew֚n~n vrss*ۿ@FKIFa \Lh/1Rzx#tme_# !DT!#,KdD=Db5JպW_4@fҠ*80kk8L{-bN\9FI(ezJ礗f#)hUq;x)617=~9c]׽nm+cpT#q &[i6ȼRI+>S1qWv*(ԔΨc]Z%*< e8mɎHѥqUb%!.E>] (Β+fIu$D;phUlZh~pBkpd-vMܜ_QYAڲJ=̮RL*w[_?*Vs)`RAnJ8B\)[us+̬ovwQ+&9ce3\2a \H*PV ( @~鉬wS8 V ŗ!`{ kE_]}|O.>)c CHh>eVϝ[E]ͮpΧ3 afJIJ`?G)د>՞>lciN1I ha􌢐"}R264+ۮ [ԃr,-O9T:+!82FC}^(p6:өg^HG(ǖ^n9s\Z묃.] MŻX1Dg)lHuvqimI6f*3=DiM<1`5 /|\{Sl ya!Hͤܨ1 Ӏgz\X&&~wcԬoΎ P{TUyiYZ .ݺ|e D=' āX>Pc&۞5:%r.v:@3i -ǡc^8Z%Y 0^_?e0d}'UQِYW^C2 :pH 1<ȨIY$_gOZ*.V$mC6 w-"ߗ9bCp< -B~>j&Νߨe4e[!QiߎR.#ɹa (ch5-kK췔Us8;0; wkHY pឌQ-Y2[Ӆrn3.Q)/ ٬6`0"x;\mvOr0M,g?rP{ 8 `u-?iI# ^!_ NfiX<9'"PNi"9@Sƞ$ڟTf{ERӾE&fr‘+aЩ&jL:q<5)Jw6 g۫? FqQBG: ${epFR]8&L*"@-[ &Ltԇ%$g,a] sQ JlOeL|b=<\&+T W*ĎY7nKݷ1%l^7(6YMj=N"9}gq'AՖo{.H^2 ȋ3"͍( SJ>Tup{iRpG$ec3s"|?h4d=R;<VoqM@TިC(r1UZj\1$$(*>\`I2+D7`}JIj n尷!RQ t@l[bd[QH2QL))׎gqo'(ޯW&l6&=r6<,&)COԬ5^%ҷ^f漜گ]–N֔PCƃo Črb#v"%fꄠp:UxәN3q׍)atL}8!BC4K3bZGRdq8i]]nߓ&x%vM,y$RqY;_ NIJ9݌A0X?(j>YT]_D4/{SeHqdH x?@ 3ۦr%yHYF6LPE0#˓a;vd P^zx]?/i:o2^ma\"'8Fβ 0U5ײ͗cO ??v9rѳ lЯ5!ئٽ|_~,GH%S%?wn^ņ#+{k F}It*u )ZcAXTp^t~4 j.Fgа1`DZQ Sx Dh]a1S&0\' ^qg.z rDE[ ,H<8ﯾDC-NR~|äpY-ٯ)yS1Dn8 bS$:\y4eh xeᄍ:M>@ v+@3i]-UNECY`^:gXVzAhvI{Ŕ$m^|z$Se_ϯUUItlH(|Q$YpNӟݍ`3x+TL'ݨL,n`w?Rd{q}jtc KmcbP ]0, #-F(r^0u<ܜk:}ūD| !t<~`;){UG-#{KnI['Q "Kl F=rYdQbѢ!Tb $+qe}uuw:a*?6?bNjkB>2(cv>{uzut$5C|W26R}ҧu4HV !Uu =*zxVlq@+0 V6X]iHs=¯ʻgyl{)eդ*%'"4gRwY:9w#$GeCu:n0-u9QY_m{שO)Nuf%WgnCȪL匽ZTYΝC{^II w$ h1.m*mFpXРc(G{O}$cY9Ha9Yh^3uPʖÀUB8fUY{Գ-5 >w.Y7&Voѕ8`PםUdΎ,@G-@l5 5vg.xVR2xd%kwU?؀]c_Dwt"3 _k'R}@B6ũnWk}T lx!preb<"ֳmBx56*rb q9G4_)ZOKNp$'Qo4߄7ϗW%8rEm%n;"dfY;24(l@CTڤE߾{];HcGVN\vaS H,Qwr]> /$<[qI݄Q]fPI;khfce>X/Ey+YUފW@}ԳZI!ba`\J0Zs*^]a& KvZgeڄS$N=LB<33H$gT2A&uHi$ڸ͗Z%VCF@QFYKDL92R'I M6PBDp"آ\IǗmA 3ʽۼGݼK4Fa;#XOGē<1 |tݵSI%MP:|J,X'jjxa_͓m)7o&$LD(M/3R Lx mu")˚-s%Rm 3 " ĚCƠk@pg6KFNkm;{_FJ؋cg)X0sr=lifMdƿZXG*7ʩcx`/U$McfEXUX=QAxVE>IR*ܒAf7pi{t&X 0!:`_(NG ̴X1.Ѷ Phnd'YyG%I9 "&@{t}ڷC=قL=-لsEd85u{=?~ Qx8{I䤌,1zM 881ը$^g$3)!vFpfx|~YnVHG[s ]zI*gYZߝ..:0&n_*W"VUNWnrn?-2fpyIzoN 9`'Fu*({՝׋mq+B$4lTm;37w wjg@[OTB&S&iuX)%Ϸ8pFd<# ;f&h"&xedjHߑ , 9ȕ=DHe^›iz 5) GX9FDzd$~CY-Uw?>ToeM+Ԋp$x*MUh=Lgͣ枥Bp4V Ĺ#1ۓPDZ6R6r⍖rSjeNb=Y4 գ/(e4T5K! {QGS$jiKrNq3T# y+m7AfDUaMZ'@v k_[sD:Sؗjb~;!J,=_:aM SF(Vijhi.}K9"vB['wECGDҕI: u۫B%$pAA4V٭نCӉ֯'i5'16zAH"X5f ?2y$_^lWm3;ID_b>_FsLODRGv&| о0'%pwO+6娩#NOڒfyt=n9TCp@etpU2s#PXD9^a Q$y\n떉(he =j;X8d꽌60{eD&lVGHhT,< P~[]ݯ1>ZS64-y Z:fŦ3 ɲD|UݒkLwQQ}0YϙpD4Lg|ّ"l)AU+Z~c>b;1O hkNae} ਍e7Hc֓H2ap}uuf{Zx ^?v'|{$ʯ&UuL8eW2P şr?8(!V Oː1HcI}SR8Iaq39;*lwQ%ɟD 3~~ԻXw$_NMpt vzw|O(Q~i=\~FgG8lkoIq2" NTqy ǩ H5>~&ؘ*)*bYoA> 3~eJB`3gHDbG ~dNٚ Pjj!9 XqƜTe&? L ֋7dGmdaتVbv4OEDߙLHLKg$^L.e3=K*"&}/?PH}}+Lh'&zՉEzɂ)s]˱שw8 呦R1W6sH>' -pҚIn(OyDƋz0%Nfks.//^nVhgg"]h+4]|1A}*ylBn*;U}2ۈm6Sk"tIFqBr!X/iC(H.QIZp->F²Ց$q δ4cbp͙ kvحw8!MMB0J9 w_3;Q W"j}'ZT92h4{U:2/UZf@*d~t+l}wɑYj+Fl,?J:̙Mn~k 06P+AG#|]X˨9 +'"~DaLer~:5{4X,%gˠ؂7""R0G8x_8HW6$'ξ_s/s:3x횐ݡ$XkO5 ztaynꊕjiNjLNO.aR5kbs?RVٟDD3;kgNAv#֛!lC}5Ga+[Xbr';aPBNs~<+8JX*dbRSpl*lwY/c|\ ׅ̤ϻH [Ѥ/f<;5c#:#r:^j 2 .^!pPlKIV6ԹMyfM}|`6UGclkN,~ڬ/xZESJ*,jvFRى\6uR-΂ ZǑoVGBC^Mj7ya3$f J*ʒ)B MXC3違ENg9Ֆ1◼5T>@Ɩ-bb5kbR&ePh"7cgᚇgrg=HXZ03qxBGnՇ;${;Oz*LQDor)v}~}J)ȋ]XzTљFd?_vdR*9A`CG86ea]Eqd3@CF~D'P|b_E4DsdTQ ':cܣ!$q:lng֊{n> b1+=8V{.i̇if8 d?kUހC>?|:q.د)uydHz8T쟾%f 17}"PZ6jq6x>'GմQ䒙E^J702rGVrMzy!"5F?Ͼ~4"m2El9d.;Q.-GjFB68 vhRQ8MG{>}G`¨l=PyPӝ+鱧]qDQi7"{&vjS~h)@{]k0򌂒c8 80'Q`»9opROL jS=@d үUHKed< j^C v!7YiCWa2Kbǯa2@bMeK;: nP~,EcnbfBLM(nd ,Yt1ȩ3ο){ge-R#SA=PMctZGv+ L'ilvo?Pr@N;ٻ*oN +2ioV q{4Q3 DwΔZhdl&UtpݎtCU泼oq( ;A)%iAe83za6 vOh wt.Bf(5Ip7W2 ەI =:22z0G'g6mcZB Ta,EI'dz\1":e[hbX* WU,D 8Yɹ߯ܬVS+lTAh'eސ }҂)4%ᵞ#Wv?fE#8#(Z( zEc}i?fWlّ%}Bmaku%yyԑ!O5 Jg YSɧU3VMB/GL;M #9si)Q@ (;k -^mIqIKȬDlܜqzr^cpNlL8QdflCNj]_ G4Ƌ8L|{%]J',u$9%.no2 GSrxSl9iQX:E..k8m>|29";{}QbQ; !e}1v Ͷ8گ0_XWU{dž ξqp,Sdm`LV f_e':l @f B )R lO&N h` PQБ"L.Km}8\*̅Ak}"rqf&kƹ;9Zh0 SW>^t<>a'HٚXM)Al7>L#lriζW{Q+xiT\gqߏ']f.@Mbzyh%7P;zpH藇ެG2Q1 tsr1a(o3oT^جM8JQ:EBlV15\z};dDT&8=:#$Nތ35īW#ۙvpS*#ɚJdhl@Pxp~uˈQ2!HsV3Dlho!_qCaݑ 9reQyVxvTnrδY0ΕA$sʀ]ovSeCds m&`eDr>Dyl^hG;Cx;MX 9W) .2 lYy N&>~ 0xv⒕}s28%@RQj!=,8x]칦VMs2IrCܩon8}G5 lIrdL0 e]YhFʾ^? quWrɒ3vu ̰'<ZJPڴBԐ_$z^/d.sU^$۰# R6 t8fMm6lb^>u1[H V^ TFw ׯ" t(~eH<[R<[e@^G /LcHOo,P[4 yKܗ/fŎ  ҅"Br/3)*yR(8$Qe)M>b& ΍hID=S*=Xp = Mg޿""SIgRJܾcazu8?X y0m{T!@M'IH6%ZY/Pܕ]q8$C>V)v 0v}ss\~b▌򇸰C) 蠚8 f@EoQ&-^OG@O7=Y 8 y~;_~EĽ;I]#ǡb<%=;srlfG1af:]xNhgBB"lЍ`He"7x_XGo@!7,3/]=ӫCR[ቄNL5``')cC4<lc Ts\ R D>&NptI1W:3)5,8J缨Ű}VI0?aqp@XGHqPCMm)W3 n$IKޔ G |Vw. ٥à&X-lMd9tH5!G4ړS5̑M.K#翌bͮߊ~GEdrt |?Sj2BP+j>÷VɇrrVn/b[c& ?BXśFfX$@3i((Ñ;rY3iѓX 5[WͰ QKI1"&Q Wc RsVbmvmeJvzXhBiFw)ZEb=RHl gEfD )WP& < 8Y&-/W_~W\{بpטiߒ6&;Q5fn~RLVp:f˵[.@dvxcc=ieJ֟J?Pt(5fD4kࢰ}a=9ĺiZ-i ޅO0LNL%XQIe x+.gOu7)$_ x2V 8pQa3*܁z"Lf([Ɂs}}udJvʢLzI":2 B,/`=r2JdgvsswВ &|jGj2K EXfssРs dY!.(n(|vz[*ʒ_u&#F)T%4\@QCҁǞ)q?+_)B[LM߸~~~htѲq|#"bg2LvקL&Kx`!MWv{4=bNәޱd6{z$+2k}=-[`VI#QSH<<5`"S#c"6̙, `rxI֖;B)ʧi,Lt[.T߯'l8[}\\ uPDDe,h (|wj=Z?/.W/ܖ嵀ųWgFЛ́g8"mAn8g[Nqk&yҐwVde2_>'IXw=jix6ғ:BZe'/illnͽ ϋ\iC lѲma_U_ nη an%@;tRC2 IrohBr#7I#V&<)Rrkbr˷XCNetNZu?v~pxy"L*SꎇҩYgZP`_NC$9,kٷ@mg;,i'_i7 VrXxpi=@ǥZoJ\ 磰r{'E55H!+Wc};l5<CLKV 9 e$>-:^ t*?y8ѝM&U+xuvS2F'dLjT27{NDKKZxK3nSBVvZ_TηP=͗QeHf( Lr,uZdOAwisi{j_{$–aO'_V9ZӨ^W$%46Zjc' X_nNpN$ۚ_o젚k!W{j{xr).ȐȤ늢paNRH+z?cB,&ι!<ЫZ) پ>q8D;- { fE>TYT_hWs]<[)#)Y@26 “RX\v-YRE1#=r&ɣ _I\.&/m?l{h&ӑ Fґ?SGQa:&LA= L~B( QR bipʆ]N!`_X ,*c"XjjyqH3gaz1GTdgdF0! \SL @4>!`E``W<ŚD;2i$Vq,XYL,` r/ǻ?d]C&J'sib+ \iҭ9k\oϷ's*SF'9T@0@DXr{šSyT H0ȴ;\4JLY/OJfe3. (3E Wtë/9Џ3p-=z7,."eaf<['e>mUQP|b CR]SdmDpKʅo0, ^Yj^di&쯬2XKDe&֍jyu37Kb M֒ 3"@'$/`_EN8I2t pt= rLc`}PXDH$]StIN;8t L&2.gx$%=,D8VTu'f[h5Ɍm"fF7p-2U%LAp}A(Hd#abiUQFEc-( w]d՛^qju⎢z! gɟ&H|V^D=M?>U|:yf-b*km.TtJJ5bxlb#MIAݒmN*d\ա!)}7! c}%~L'i 2Ar( ]9B&5U95 b|6voՕPW ۢL>,`Sͤὃ{$ (sH0%"q a%`qY]}&zA-} [\dQ`oQ3eU&r>C5yJ/'=F`"8e]y$Fg3gfcvOg&3s~"KڀHmtac t{9DQvEb瑓8ZaLCμ}}$UA]\C=Qό׿ kNsq?p;[Rr:$):^L0W 7H9SN OMzQ՜}wp831XΰMv[@iJ)JJ/0|ullhPB`<1te_~6Itk!['0IrhG\#u詎))h  op}46O4/ v) $%[Dʴj 8@*0T'#prRRpd'zh&I)!rxⴧ}YB2rJ*-FNr݋ZqbF9"!.bԀ0GW2y O>tf<5A8NSMto׻׏Ȁ 9MKlFӕ\Rc}y%eSlzJrI K5~H0pLS 3GE>M\ڃÀ瞬=bz!p4ms&e[c3|u0tfx=7Kaer(<=Ũ F, ٗ&'AÌ![?ӎ-lbsLƕg2q;iwXmU ydoN )t8374 *Jax~szsJ@8zl)!=_hx^-:. (?' q:7*΅Dnԝ-Sk731X[na՗ xX왒դɧP]D|I9) ؒ5j,d2;H 320)xɖ;ā~sz8.Ͼlnnl)\)yJUXil5ug Ʋ^}N1ҙ֍pܞ#~bg\cpfGތ5_2Uތlp\Ims0$ʝgvDvb",L9Q<`coZ@P}С߇(xiOK`{@%Bj 8c O:{9F&%rµEMbC@#V)ZGH?A7_'A-Jy΃'*h6-@ijK`hs~}8Dk0 B -Șs㐯[tjzs`:d>~Wd9D"ƺ,ѷNgYM(8"IpI' `t˥gf\gPLiƩ2ro>Jag.uTa"~gߪ>3'ZWJhJs8ެZsiTF[ZX~XBbFd9:džs e*k[Q߈R?*%v#8$RmlSڕ`>Ͽ4{E#gQmM $Who`KZH?feaTXjC_4jա1!˨Ý ߙ>:qhx9Up" 7eF8!ӳk.%$f,jl*[ p6YHZG!(Xk ;ZD+e~s!ϊS90jhON |(bxΤS'wa|hƏ](TUlA{48&t%"v)aF&G&X~J"8T -w"i^]m&n6j-xK؎2tRGR_(>D qX*N]. ,Ie®y߽p02gH;wg*_I# 0/Z|+_GʉId5iGlvD0;:ҵeH$NBx",lOzCZ#Rcg(BeiY=T*NG!=vdqIڈ 'dQp۽xy{x+!A^ '5<$#_ktܿxq}GHQ {&JfGGCTg_dI;rw$f \`ÅE0܀>_?6w`֎E"3! SVe'r@#PTef31Lva*4U~KOj^noW;^#,U_R26iG{ݘq 'v}}Ȩ "l6cYldƇ ÓbMv9E Nvqt|I xyW77eYE60B "b?O~޿rW@+Jzё}uە^Ͽش)s%DL#\Nt٤M?O'S}W#^m~I}ffG&aAe5`uW!oTgcㇲǥ+EP 𬜰 ?N5l{S2@,V֏8r&?s2̀o>r>lhS0r,5-Cxڎ-˛?7BXKh@HG4rrl1ױ$;ڽmŘ~)L x'\Txū/emVywH iub2FzVSܨǓf>$ vحd̕.R2L{rM”O)hX~=ő[Z!P@3a %Q29Mo 1]z4=50"&΅3-TW`1XeȗbT'IλsӰ[SH:`KҔ9jx1l" 8}}Ǟ6[1qꟁjI޳C8p<;y9ӻOC \\udw62U(3LDZj8) 7/` V0eQ1|9zsg9Np3K ]XG 2{fg^J11*np{ }9@VMsnU{9 =F$9jm RTn;sHkN vٛB?tu27R턼OR>Wx@ioe'G T P!&$o+LvWdPvj5kQRdPVIId@JifgSapD0;1`dcUay_ CR^8?TQ@) hn!roukNN9/ Bn,W \J^rH?'^O,U QO,)<+afjYPm8Ne-̰$Vv-vxuBΞ!]TOlSQnecĔ/O2/kk9sE #1/Aa1L~2Wrg!%ZkNy ,=[G&gN/)˸ ]BHN& ϻD*=Τd. W+@r4ts ~CPH=glVYᫀ$=!wݧӡ\\Ldc*|Ӥ';6~ݧGXWt UN9K+R/N=];e!O;ƍYQwSE(e 3nߡEIlj8hs@(ٕ 81H=cX_"%*lୋǰ& zu[Z{ƹg5 =`"uy`{sգ8{;)#{{`/ul8H^`bdCW8vHqt!ᏏdR \šNdIt@{*OXɜ4OcrX:8;[sp_r#W8N0GW2\uB{bbD Gj4!|[2awzxeJx0.>zBͯJ ooym)LR;6\m:RN%a8śsvFir>+9E{k(>oV7x:NzĪs%H7Ck"ZV_n6_NwoOGa"KiOV;pa MFAC1QP3X@-S݋#2Be97V}sxK=|Q#eݮ3*BIQ&1k+#>C|}<Bfgras9GJ!A]mdPT$ɜE @["wk*$=?nyKY`e#ji,ޘd,Hvxe}R9;RJsH'+r[y'2Y:q`?78[ @3͌ٱk_ }; DZT 9XD"39WɊz(wx/,kq>kϸcU)|n羑󊌆^m.ﯩϟ-)LFXE"~"JzQ[\imnݸ)P>3!"LnXx.w ~~8x' {@4,YDӜLTNWR$ll+8X{s=v?'`GLe*ˉ+dٮ9iv|ڃÁ8W31{ SSv`'Ѹ6{C>|sfd<ޤB JY/2i8'3gaZl%Xz#9TQߥy0Tg'4=j[;4oaV3,fVJV2hX:铏>ttb &r "W9hq*ad_jdiX P q\.`|2Zq";X`ǎ-"ZWI~+XնU]N%g Ϙ-`E_}E:}pSbQړGPwdИ9pK@>ÿ4@&mvFE2qQP6hʶ(}cM{j#aBuf˗m)ҨC 0 RsЧ#/ YX͈%(j(pe"ةO]~FN/jt9  dbgJ)nDM)MQZ؏GFakSN9Pl7gyuy-ޓI#L-ȡaʩg|`nΏF*Ԁf&9#(9 o'#oY%zQLZDj[)~}%92 l٤^b\6}.@҇d#!<+yv8GX`5~Am` aLȞћL&?e/u1RQs9/G l7 ƓGkR2 䌼80>XD^EEik%i䙘eN3^XI1ULa-vhlC|/ SmZN#J#wB ~_Υ8X n툎ㄞaFk x˜43 N;F9s5CLqĦ_)9$K' `qҾw#[dS5cIcfZY]]kJū_QW}V",h `f&e*lQ(;s|^3%$Ϟ_^ʒ3wx?qܞ̘?)YS{t^N2-{_fqcť$۽X~Q6wD>K|fqzEs)DyIJPp얓x9K/: Bz}{7j(c5 Z8<:n&`pu eu!?P5%+tpk iNSͧ"%92u. rF̚`u~)*'&ю_K<0PݘG:G{)GgrE"E?i[zbiVbq S14w@85ŔW$^T|دo>_+.~[}GnI6N0dF_ucհzlj:lq S&$E2k{2!IP+΀HHGf4EXI_LƔ¬4Pû /PW#ݟ9V%Jmѧ &EgQp.eȏUNENs4ALXFލ]_ 9Qq^IeQH P+ƷcF6qDD"RX3X'[K-uqx0 7fV[D)h_mU!I&Qq#j\Ǟ5GJneX雹 7YidʾX xWx6iȰ 6.G 7OF=G+; a 3"*#.26 u0KMpo}bY78}dyR%f- 3ɧOFf"f֏Uv&jv""~L'ؚI=YG1CNX2bמ9vX}=,^Ad˄"{cϨo23ŦM C,b//xm`6R%뫂`稬uf.˰Br&Bd.$aLnT%]z O*61fԘ7WXf"6`IYǹEDJp@EH_\, sܙf[ x1p;M'`SǹyER8TZjr(#Ib3E%'ݙ5N/:dNY^ӊ&HGzQ{^`ey/dz£pjye$,/>6y/IH=Eغ+ߪ/;ZӧX9e:P'2~Fz?2 :f/@Ey`0(3ɤυVp,@zEpcfU~`zOPkB\4/Ȏ[D< a0|^DF|)D;!RXx#-|2`?a)60B؜qJ|ĂyŊ=Bġi>:!իR q?bUB@>5_^Ե6fK?WO9Z,?.~Ϛjw}\ $#3vJ4S>DLIݣ4Y?9%fg)jZHM1 Aa gU6jcXg_@F$b^:q5@O%UԙB>HXT@x'|p̌Ua5m6_I"9!Wȋ z).6C8eVȰq.k=or,5\0T<&-DLM9: 񁽘>e$;}PK0KGi]˒Gv-cz Qf/n[XeRF} XՉtjB3 0TΝ n"~}i(,j6Sb -c"I  U@mg%I[$RNE43SPTbDHş6 xM,eF'pl"ynQ'Ҧ|Z_ #0/Oi=Y@Ufp̣<1 ',J|>?f8c3)3$m:h }h)WLcodWT4E򦐧*6jhOx|&xI3f{m Ftb'9>KW4fyB8sVFځSnK5jѷk@8OцLHݺ Jy^g ~f$;(p,ȶ^LȖhK-Y2|FB*Y t60a+e3IBe0}زt/NYGPL 7[N7Aӈƽl7RyiKz⁆blFlε#ucd\6&c~:\'3"[;ZDt{]s$dg,vjQVftno~梟UÏ>M2b Ӳ&1?<Aj1tFsEqf_[aIM8u{6#_0N-C `{u\@XsB- , Z)>*߫eox9MD3܍*bAY1IJ} lRnpUQ硘 bjx!i204Nf ;83)yb( œ M")XMɒ Vj-!p}wL0X{Dp)95jt:We!;%*i5*՝&K ,NὪr3L2Y;'/PM7,Tlg;ĝzO<=CWlFIB%Y$qnݥ=_i{iNYt=x)N58 ]-QcUY 97\7#8ױ_Nv-B8cN a6$A<{Sy ^u(Hb %%4N"[y c1 ÔZߵOmS]Eg/\oaziF'n"o5||{P qw N\%I+H,s J!a !©3`AG !YigpU8B͑y!-19*&]pૡqksh]K/b8 m`f?8^cXzCq!]7ń˲A/d.g0ZjkdW6|+ 9} -3n{mb+yDQmUv'}Nẏ[y"Q^TcW@vvG`ͫOIy r*bɱgR%ٮU s1Jvnq5~30TȈ XK78H,F?[(N@,ƙ :S^Ǎ2WO%\>5 YnVD$pTF0mO::+ gAOE4KHa7+Ԉw]^g B vͷ HypőLөJX8߃ߍ, ÊZ[#Fc5iBEϻ3 /v_6//?-" Q/+BzxN5ܦXU9 y(;Z>|JW\Zhw!mn^E=RBek̍\ XQ#+jRK ʭ]\L3 ⒱ݾ |&I(aCOY<-KX~x]VyfOި8<`'$ pW4 L~ ^22Ǹ| QfF' w7I-%.'d%=yǂޑ5Ys#w%oIY6';eKsVĺOZ.aGIxi=XepS5 sb 67yRQ% QΫ0Ȇ*npB.iǁ#Q*x>U粮Nw agMz,5&Y%!,!.'7gB{vpLI(,2kp1L}>B-I@[6]#t=fucK[D 0@jgGf$wba0o'b') ͞4QYo%|3:{馵#{px^1h$SB|#J?UO]^NR,5rijBT(Ҫf7U9p*Ӭ/6zhҸ<[E!&6C>6.77WVn7ղrT\]7,ШHW$\L0WtplDLowGˑ̮`Rrq\tC)(Fg[;X֞SB4ṞNNur h$D N-Ć^^gk|.jXLsG>ǿ!Ci%`!<^}1,)i̐ >#Uv" eEUeYow_hؼk?ѳk8TcוgV9yun}}>~]^گSF!v%A]r@3j\)vT%8Lm'/Gfq;S:46E/9T;JYHř8327\Ӽ_g<>?ːj<.AnF-5ضw7f4XZ;z&ɍj9+A/H2L7, X o8D غč=,E{M" :K̅Mg5amWh~ըTĄqi+#T'>,+L0^<*.,luq.T-!pdJV"-=ĒJ6fjK_\]nY-gt()צ}v ,7w?n 9ķِ܊Ҏ^2IL~rwf\Ni\Lm pj@.֗\D0t`nR3O2ӏ>R#'3d$uzmcFt !|$ea+V%#TG"xGFn`JIsq'L6w 2l)Z˒NP,G5L& fx^=Z`IP{55@x9֊tdYv$@Ez%6lIT&ρ 9vrؔ+~d!fjzw 8$xE-mz< <,`/]%S5 A~fIƜ`v~*?뛋O{[e4u%0ddXaGIMtm~0>BDW-uGf8t9]Xq8ׄfYˉZ,`Ⱥ9<5ZQIf^p{;\juۍrTJ*=Kh9 3N x}1z+ϩN܈m|HM '͚.y I+w7Jt<^36cAҳYDG,TĺAxFO&KF)$T-r`H Hp05ůf7 _udCo@G?n?,o7%IE@#ORq,c1vxu˄nhe6lXF葂bBTlON**mG%vE.ੰm;\ =qQeG2@Hf(Ṛf~{@dpU*J4Hc>{iWZ tPfr/^[e_GnlaJNifhrPɁWҍD.RB' aVGG|T^]ɚauA$RocLC;1YKfhuԀ󵈉>wAO yF:Xors ՎinLQy Uc"EF _Z@1*KV5N'u r92=儣 th%&h %.*95z&`-.Ntqb N Iq)psk;+Il@4D&;9've#DXH-ixmn PMw\H {*!OZ@LJK ZdB88Xzc'\`߾ݷg߮Rk_0͕0u/xw@FK/a\K}&DZæVYs7+֍ͭU̘eԎh,l8vqxW /v\S6ZZGC 3'.zHRiZX倧MrF + /d:d95O}t?J ruJsFߙ\J޷]X3[7O*kȨ httlA9mŘ!|ywwupfF3.K#P _Uaƛ<^]اf @LAH%ޠ^Nk ;Wg3!8U5--[xT֝QaoNnȫ_-6 !xu^A<2o7OԘ_IGra\a@) }neyX-,Emw&lAP[ٙ Ȯ J %sz?KWy'7@׀LdRni,l=e B7YCr)P7='{EetzIO;.~&1@eE6'x w?X=>\CݩvVgO& A`ڇͰ0_), tLԡNByNIa.cߜ9իg/%U{*# !ۇ;S>E,R_c_7~WHzhcͲqm@,cRfGƧCXbYPy0L98p+UL{"~\^ޱig*_ |`Hfmڙ:Ȁo>ѝ=ns]̘ii sEf]\ƍݗ[{Kd'(s2̈́mٲƴ)#Ύ7C{r} eVi@!m㞼B!-{OV*RulI(7 pnF$8:iuIN"BF%-#B3sI2%b1$56γgcU8i9J2V&r+4MIpz-m3l/^nsWGXA*u!EG0Axkvg4[Q:500TUͨ&K;+5M""zZu &+n"H5RO =@+iaB2 8{[eYN#Vy٫\)|sIi,~ۧv3IF@VsFD 55liHuxc)h=o~^NZ W$yۦ䱔ZEݖt@484MRM$É e?__Io\Q:T;d8 ?߃nw9'Fض)V:ƹh,`-A.Bl]?wk&^'ӰPo7`I g&RMËG<\)Rd,FiH3Mry9i85kcb"Iز_SbL2{ n^of?:3ztN$ M:I={h5m bs) VoooI TZf;X,ѱF. Ck =2YT;vvsN'=(}7jL$`]7z095"4c&Shё'qb3QO״?`t-:752nIϋsB,Ss%u=R>,v³ $L&;HUn77ϸS2 B&ǩ{4zm#γNvdkG` `. Ds6_< ԇxM!Ϻz (0 -Ei[Ԭ/e0'Hvx%-6`{PD.[!}ίtyCJ 6 ,l53_WXDž!`.MNR_zDkeΪIa-L{Zx<(LJ&RJcWjL( C$0 lj։\È8Obd{lY^ꞯEf8GG)Jdd =[+;|}Ğ{7M{AUaL >Pm?mU }M *Wc* eJq./f o+&&l|@]+"6W|_^Ld;5fG˯K+ɸJlg?y-Utk7gfrBȀא P3_س*hGb;g;`]J%3 vБ 1S"ʒؖ1l+ 6i#0XDmX\m{J:JZcvIB <zi΂nU>4 'uu+f_7"ͯNݚ9ZUj"fGAML#yruCZC5ue;۟KO竫IϢFMN {G!r'^^o>nbM.Rx@R5=*$܁k`HL P!p6yf L%svCf[-^ 'S?S#<9c1?`V_(ϡiM _NiJ"zfbM$):vqÁd)ɤH،?tFtȭщ+k~ Ԛ҄hDB֎Sq@'3a@K#by a;s]X)ա'L7ó1#s$$쯏l1E y'{B}ʼng8m'`tY4+SFGnoI@=)FaYkNpa+ {2*]NvzdFhܫh!XwV .PltpOJt%0Bg_k9X_?oV,M&X*'ݙ%SS mT08i"\f6Rي1[C%icMq8I>rMMjQ&hNpW1/5 L0!v"1@Bcu0c 5+`uFҹ9%Ajh=[)INԾ L Be)'q uoz~M=U(]P&Ño6크X߅Nr{~V?|W.3,$3[?#(YK @Y( rgW3F63`Y~ӓ^Ļl$3g L#TUJ!(mƏ_r x}?FX`L#ԑ3VRKrQ:TO^(ZAKL @,[Ëͅ4=E< )4%ݓ5Bx/$^Rut+g,"!Apvsv9yzFIi(i?8̷1d KzZ}4,&kz=Q`cE  3ϛ~Nm*?8fP: , 3l:=:* ܓIg-"⵰ߘWׇ8nZcv>H}pgYvz=so_:YgNm ;`DۼhJ Rd<+}OЏ  GͲ2j>_鱦w}&v4Mc$[e =v3F)dL'`TFТlj"Y;MNa[碞r_{MZg9FvM!IFå`9:6v SHNQ p_X],iL'&pqt61E%js ǰ8vcćl{8q$%ʑ,x"zTZbD/CBxxVgx8'my;$C`M ÎuHb9HlcO9V:a(+"XIRgO۝TӱNp2ވ/2C >=kW2ܞNgj@ ް>XwlZus"bO>l>b77À)zthUlѥ!Q3sIkG_lNNeyJfL@Q:I#^wf`/=;9W?|ڈ4}V,wq$9P "k_IrCqBaىZdL8;e394<}>250g F^@<⛻[i8E'2!PB;_/kؤQQG O+4\F,s #U+\'V[ #B~O[؃ʴZ`^8[edDnQ}Kn_a:'u/(+R!ec#ZPOl'4Jx:X*<)xUp]WYKg|Mnޟj;kr ;(U$!Mα003DP nH?BIrA ^k`1sެ2-A/ۋM/hzrs{|yP(U%2:iwjؾa,]++<V2G)Nelް:1@w/*2+fRPM\a?UX[bz{"U3tr煮mC(KXbEVoa"9|A,7Vd> {=L,Hح&Ȅ5ٳ X'DV4U'w<(R|G/8.E߾|զiMHO$=R|~|{HG%Rl\93:M6r#~'xv<]As{ G`8` @H@D?${G>z`bj!CE5 V*r oPSA3NpL &&8p+L1D>۾NL8]o0\Ίusxd68$ޜKgKNnfCfe@6>_ʥ&d>>nxFV2>>lvœӁѽ%!w(|򞒂/_0'ɵ%]NEqE4ۭ3##/A+cg/red+ gYax{%5㋇;yV}Zȣ?L̕eubQ=p})}O&^)~=p+4fl Kf v3͇^xբ fs*B!D 츑W˅XB&^X#'E # 2"D&sUym|$.VrK5&+y+[De%3HoQɜO舚>ÑKȶ #l'BaYP=;3fΓjus#j*7l8D5g5l[Xq4(Y "{\;1WMIB^ddGK.qކ`\@J}*٠w%U=12lfsubM< -,[xdk$O^2qXìёФQoiܬ6pTɤyB ,z̑t˧wϴWdH$Pq(+6`N8ĝVZ y biǴ,=7>!ldDky H0[]יdqB RwRӸw)iT'+*lbE( ޴d?`hmtqZxOy]k?|wFozd1 _vOݳ}xZu=N4evEH}E5QB~5,~`?hda$/?,JǗ\|5#@'sCJhX)L>mR"Tze &XÏ_J(͢\eDT& .j3('"-p1%<8/pP/XnY]ut!HQZ[v%M3͜Z> )l$jYé[@fC,bi)aj1ܴ1NyaqmHD=Y! l ct~$}ܣ Bxb8Q.)S?:[W/_)ISuƩ9"90Zm0eG~~Ւk#Ѐ;U[{:48=l3nw)14\8؉`ssQ?2 dT63v7sjrҙxVfW45$~i~N'2m)9!|t7yX(|tjMoHN?ЩSqAk' r0|Zf eAl$hj Pm2 iTE|EU,in/4C`2eʠSNO.x]2m~c-|A'Kisvs&-ggUQi N> ku ^˂)ҳY8; F +=M,XX-j^ v\_r1 0Y`uVWa>")1SP I^Ed $CbW><5)rzVť,1& xVw}i* J%2OA!pb;@~U.lkOmS-C]l^&&nUkjZ:HyuyKs;%5ż֌=63x! Q0liN& &K]c!MLGf߇a2j>0#25vN=6D>`ñ%ۥ1vyauvɤxꦲVGWoh "bffJw 77w,Ghɜp39&^Ʈ7#E&[q)T'xؤK-02Y #`-"'0)0~8sm@MF!ɠRمM־d$Rk~aUl怛{'rL'Q4g`KR8JTCD+'6ۇiL@%d8)Fp\3P{ z]|/,VU] >FG(2zKd&N3T3 zDHEb \LpGNYoWo^w'23DCI4Il >jJJLpiw4Ƨl&y"G9Y5-w2綂:[wʌ C^JOW돧&uAZDDYMm~x->@鶻w/p=`.9A'`j`3f-j@9:!hG gjŌRE[)/Y]`=oQࢉs`Oa(Kh*|<2>,[$\*.t,8hTtcH:JȪ;|O5L 'IU#>] ut'&JAЪws~& !~N8¨4|d @~ͱlf6ꁏoM"YN2͏x`BW}$g/9 2qL0 Z/ {qD^ SJVĞsf)WSFbI]BXS$x6IU@̤.dVf}Һf둀3Yꓩ+&|CP)M$I$i7l.c.3aTP{wfyZN"HgpOFe2=hU҇Xg}16&{n2:X6W9>ի-DmFjLRw`.6 #N"Sy;.sXDǿst#<[rϾӿ_Ͽ?Ͽ?Ͽ?0Ax#intake-0.6.5/intake/source/tests/data.zarr/000077500000000000000000000000001416666122400206105ustar00rootroot00000000000000intake-0.6.5/intake/source/tests/data.zarr/.zarray000066400000000000000000000004671416666122400221300ustar00rootroot00000000000000{ "chunks": [ 10 ], "compressor": { "blocksize": 0, "clevel": 5, "cname": "lz4", "id": "blosc", "shuffle": 1 }, "dtype": " out.index(b'foo') subprocess.check_output(shlex.split( "intake drivers disable foo" ), stderr=subprocess.STDOUT, env=env) out = subprocess.check_output(shlex.split( "intake drivers list" ), stderr=subprocess.STDOUT, env=env) assert b'foo' in out assert out.index(b'Not enabled') < out.index(b'foo') def test_discover(extra_pythonpath, tmp_config_path): with pytest.warns(PendingDeprecationWarning): registry = discovery.autodiscover(do_package_scan=True) # Check that package scan (name-based) discovery worked. assert 'foo' in registry registry['foo']() # Check that entrypoints-based discovery worked. assert 'some_test_driver' in registry registry['some_test_driver']() # Now again, giving the special PYTHONPATH explicit via kwarg. with pytest.warns(PendingDeprecationWarning): registry = discovery.autodiscover(path=[extra_pythonpath], do_package_scan=True) # Check that package scan (name-based) discovery worked. assert 'foo' in registry registry['foo']() # Check that entrypoints-based discovery worked. assert 'some_test_driver' in registry registry['some_test_driver']() # Now again, turning off the package scan. registry = discovery.autodiscover( path=[extra_pythonpath], do_package_scan=False) # Check that package scan (name-based) discovery did *not* happen. assert 'foo' not in registry # Check that entrypoints-based discovery worked. assert 'some_test_driver' in registry registry['some_test_driver']() def test_enable_and_disable(extra_pythonpath, tmp_config_path): # Disable and then enable a package scan result. try: discovery.disable('foo') with pytest.warns(PendingDeprecationWarning): registry = discovery.autodiscover(do_package_scan=True) assert 'foo' not in registry discovery.enable('foo', 'intake_foo.FooPlugin') with pytest.warns(PendingDeprecationWarning): registry = discovery.autodiscover(do_package_scan=True) assert 'foo' in registry finally: discovery.enable('foo', 'intake_foo.FooPlugin') # Disable and then enable an entrypoint result. try: discovery.disable('some_test_driver') with pytest.warns(PendingDeprecationWarning): registry = discovery.autodiscover(do_package_scan=True) assert 'some_test_driver' not in registry discovery.enable( 'some_test_driver', 'driver_with_entrypoints.SomeTestDriver') with pytest.warns(PendingDeprecationWarning): registry = discovery.autodiscover(do_package_scan=True) assert 'some_test_driver' in registry finally: discovery.enable( 'some_test_driver', 'driver_with_entrypoints.SomeTestDriver') def test_discover_pluginprefix(extra_pythonpath, tmp_config_path): with pytest.warns(PendingDeprecationWarning): registry = discovery.autodiscover(plugin_prefix='not_intake_', do_package_scan=True) assert 'otherfoo' in registry registry['otherfoo']() registry.pop('otherfoo', None) def test_discover_collision(extra_pythonpath, tmp_config_path): with pytest.warns(UserWarning): discovery.autodiscover(plugin_prefix='collision_', do_package_scan=True) intake-0.6.5/intake/source/tests/test_json.py000066400000000000000000000041571416666122400213130ustar00rootroot00000000000000# ----------------------------------------------------------------------------- # Copyright (c) 2012 - 2021, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. # ----------------------------------------------------------------------------- import json import os from pathlib import Path from typing import Dict, Optional import pytest from fsspec import open_files from fsspec.utils import compressions from intake.source.jsonfiles import JSONFileSource, JSONLinesFileSource here = os.path.abspath(os.path.dirname(__file__)) EXTENSIONS = { compression: f".{extension}" for extension, compression in compressions.items() } @pytest.fixture(params=[None, "gzip", "bz2"]) def json_file(request, tmp_path) -> str: data = {"hello": "world"} file_path = str(tmp_path / "1.json") file_path += EXTENSIONS.get(request.param, "") with open_files([file_path], mode="wt", compression=request.param)[0] as f: f.write(json.dumps(data)) return file_path @pytest.fixture(params=[None, "gzip", "bz2"]) def jsonl_file(request, tmp_path) -> str: data = [{"hello": "world"}, [1, 2, 3]] file_path = str(tmp_path / "1.jsonl") file_path += EXTENSIONS.get(request.param, "") with open_files([file_path], mode="wt", compression=request.param)[0] as f: f.write("\n".join(json.dumps(row) for row in data)) return file_path def test_jsonfile(json_file: str): j = JSONFileSource(json_file, text_mode=True, compression="infer") out = j.read() assert isinstance(out, dict) assert out["hello"] == "world" def test_jsonlfile(jsonl_file: str): j = JSONLinesFileSource(jsonl_file, compression="infer") out = j.read() assert isinstance(out, list) assert isinstance(out[0], dict) assert out[0]["hello"] == "world" assert isinstance(out[1], list) assert out[1] == [1, 2, 3] def test_jsonl_head(jsonl_file: str): j = JSONLinesFileSource(jsonl_file, compression="infer") out = j.head(1) assert isinstance(out, list) assert len(out) == 1 assert out[0]["hello"] == "world" intake-0.6.5/intake/source/tests/test_npy.py000066400000000000000000000043541416666122400211470ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import numpy as np import posixpath import pytest import intake from ..npy import NPySource here = os.path.abspath(os.path.dirname(__file__)) @pytest.mark.parametrize('shape', [(1, ), (1, 1), (10, ), (5, 2), (3, 3, 3)]) def test_one_file(tempdir, shape): size = 1 for s in shape: size *= s data = np.random.randint(1, 100, size=size).reshape(shape) fn = os.path.join(tempdir, 'out.npy') np.save(fn, data) s = NPySource(fn) out = s.read() assert (out == data).all() s = NPySource(fn, chunks=1) out = s.read() assert (out == data).all() s = NPySource(fn, shape=shape, dtype='int', chunks=1) out = s.read() assert (out == data).all() @pytest.mark.parametrize('shape', [(1, ), (1, 1), (10, ), (5, 2), (3, 3, 3)]) def test_multi_file(tempdir, shape): size = 1 for s in shape: size *= s data0 = np.random.randint(1, 100, size=size).reshape(shape) fn0 = os.path.join(tempdir, 'out0.npy') np.save(fn0, data0) data1 = np.random.randint(1, 100, size=size).reshape(shape) fn1 = os.path.join(tempdir, 'out1.npy') np.save(fn1, data1) data = np.stack([data0, data1]) fn = [fn0, fn1] s = NPySource(fn) out = s.read() assert (out == data).all() s = NPySource(fn, chunks=1) out = s.read() assert (out == data).all() s = NPySource(fn, shape=shape, dtype='int', chunks=1) out = s.read() assert (out == data).all() s = NPySource(os.path.join(tempdir, 'out*.npy')) out = s.read() assert (out == data).all() def test_zarr_minimal(): pytest.importorskip('zarr') cat = intake.open_catalog(posixpath.join(here, 'sources.yaml')) s = cat.zarr1() assert s.container == 'ndarray' assert s.read().tolist() == [73, 98, 46, 38, 20, 12, 31, 8, 89, 72] assert s.npartitions == 1 assert s.dtype == 'int' assert s.shape == (10,) assert (s.read_partition((0, )) == s.read()).all() intake-0.6.5/intake/source/tests/test_text.py000066400000000000000000000070501416666122400213210ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import pytest import intake from intake.source.textfiles import TextFilesSource from intake.source import import_name from fsspec import open_files here = os.path.abspath(os.path.dirname(__file__)) def test_textfiles(tempdir): open(os.path.join(tempdir, '1.txt'), 'wt').write('hello\nworld') open(os.path.join(tempdir, '2.txt'), 'wt').write('hello\nworld') path = os.path.join(tempdir, '*.txt') t = TextFilesSource(path) t.discover() assert t.npartitions == 2 assert t._get_partition(0) == t.to_dask().to_delayed()[0].compute() out = t.read() assert isinstance(out, list) assert out[0] == 'hello\n' @pytest.mark.parametrize('comp', [None, 'gzip', 'bz2']) def test_complex_text(tempdir, comp): dump, load, read = 'json.dumps', 'json.loads', True dump = import_name(dump) data = [{'something': 'simple', 'and': 0}] * 2 for f in ['1.out', '2.out']: fn = os.path.join(tempdir, f) with open_files([fn], mode='wt', compression=comp)[0] as fo: if read: fo.write(dump(data)) else: dump(data, fo) # that was all setup path = os.path.join(tempdir, '*.out') t = TextFilesSource(path, text_mode=True, compression=comp, decoder=load) t.discover() assert t.npartitions == 2 assert t._get_partition(0) == t.to_dask().to_delayed()[0].compute() out = t.read() assert isinstance(out, list) assert out[0] == data[0] @pytest.mark.parametrize('comp', [None, 'gzip', 'bz2']) @pytest.mark.parametrize('pars', [['msgpack.pack', 'msgpack.unpack', False], ['msgpack.packb', 'msgpack.unpackb', True], ['pickle.dump', 'pickle.load', False], ['pickle.dumps', 'pickle.loads', True]]) def test_complex_bytes(tempdir, comp, pars): dump, load, read = pars dump = import_name(dump) # using bytestrings means not needing extra en/decode argument to msgpack data = [{b'something': b'simple', b'and': 0}] * 2 for f in ['1.out', '2.out']: fn = os.path.join(tempdir, f) with open_files([fn], mode='wb', compression=comp)[0] as fo: if read: fo.write(dump(data)) else: dump(data, fo) # that was all setup path = os.path.join(tempdir, '*.out') t = TextFilesSource(path, text_mode=False, compression=comp, decoder=load, read=read) t.discover() assert t.npartitions == 2 assert t._get_partition(0) == t.to_dask().to_delayed()[0].compute() out = t.read() assert isinstance(out, list) assert out[0] == data[0] def test_text_persist(temp_cache): cat = intake.open_catalog(os.path.join(here, 'sources.yaml')) s = cat.sometext() s2 = s.persist() assert s.read() == s2.read() def test_text_export(temp_cache): import tempfile outdir = tempfile.mkdtemp() cat = intake.open_catalog(os.path.join(here, 'sources.yaml')) s = cat.sometext() out = s.export(outdir) fn = os.path.join(outdir, 'cat.yaml') with open(fn, 'w') as f: f.write(out.yaml()) cat = intake.open_catalog(fn) s2 = cat[s.name]() assert s.read() == s2.read() intake-0.6.5/intake/source/tests/test_tiled.py000066400000000000000000000014541416666122400214400ustar00rootroot00000000000000import intake import pytest import shlex import subprocess import time pytest.importorskip("tiled") import httpx # required by tiled, so will be here @pytest.fixture() def server(): cmd = shlex.split("tiled serve pyobject --public tiled.examples.generated:tree") P = subprocess.Popen(cmd) url = "http://localhost:8000" timeout = 10 while True: try: r = httpx.get(url) if r.status_code -- 200: break except: pass timeout -= 0.1 assert timeout > 0, "timeout waiting for Tiled server" time.sleep(0.1) yield url P.terminate() P.wait() def test_simple(server): cat = intake.open_tiled_cat(server) out = cat.tiny_image.read() assert out.shape == (10, 10) assert out.all() intake-0.6.5/intake/source/tests/test_utils.py000066400000000000000000000110311416666122400214670ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import pytest import datetime from intake.source.utils import ( path_to_glob, path_to_pattern, reverse_format, reverse_formats) @pytest.mark.parametrize('pattern,expected', [ ('data/LT05_L1TP_042033_{start_date:%Y%m%d}_{end_date:%Y%m%d}_01_T1_sr_band{band:1d}.tif', 'data/LT05_L1TP_042033_*_*_01_T1_sr_band*.tif'), ('data/LT05_L1TP_042033_*_*_01_T1_sr_band*.tif', 'data/LT05_L1TP_042033_*_*_01_T1_sr_band*.tif'), ('{year}/{month}/{day}.csv', '*/*/*.csv'), ('data/**/*.csv', 'data/**/*.csv'), ('data/{year:4}{month:02}{day:02}.csv', 'data/*.csv'), ('{lone_param}','*') ]) def test_path_to_glob(pattern, expected): assert path_to_glob(pattern) == expected @pytest.mark.parametrize('pattern,resolved,expected', [ ('*.csv', 'apple.csv', {}), ('{}.csv', 'apple.csv', {}), ('{fruit}.{}', 'apple.csv', {'fruit': 'apple'}), ('data//{fruit}.csv', 'data/apple.csv', {'fruit': 'apple'}), ('data\\{fruit}.csv', 'C:\\data\\apple.csv', {'fruit': 'apple'}), ('data/{fruit}.csv', 'C:\\data\\apple.csv', {'fruit': 'apple'}), ('data/{fruit}.csv', 'data//apple.csv', {'fruit': 'apple'}), ('{num:d}.csv', 'k.csv', {'num': 'k'}), ('{year:d}/{month:d}/{day:d}.csv', '2016/2/01.csv', {'year': 2016, 'month': 2, 'day': 1}), ('{year:.4}/{month:.2}/{day:.2}.csv', '2016/2/01.csv', {'year': '2016', 'month': '2', 'day': '01'}), ('SRLCCTabularDat/Ecoregions_{emissions}_Precip_{model}.csv', '/user/examples/SRLCCTabularDat/Ecoregions_a1b_Precip_ECHAM5-MPI.csv', {'emissions':'a1b', 'model': 'ECHAM5-MPI'}), ('data_{date:%Y_%m_%d}.csv', 'data_2016_10_01.csv', {'date': datetime.datetime(2016, 10, 1, 0, 0)}), ('{state}{zip:5}', 'PA19104', {'state': 'PA', 'zip': '19104'}), ('{state}{zip:5d}.csv', 'PA19104.csv', {'state': 'PA', 'zip': 19104}), ('{state:2}{zip:d}.csv', 'PA19104.csv', {'state': 'PA', 'zip': 19104}), ]) def test_reverse_format(pattern, resolved, expected): assert reverse_format(pattern, resolved) == expected @pytest.mark.parametrize('pattern,expected', [ ('{date:%Y%m%d}', {'date': datetime.datetime(2016, 10, 1)}), ('{num: .2f}', {'num': 0.23}), ('{percentage:.2%}', {'percentage': 0.23}), ('data/{year:4d}{month:02d}{day:02d}.csv', {'year': 2016, 'month': 10, 'day': 1}) ]) def test_roundtripping_reverse_format(pattern, expected): resolved = pattern.format(**expected) actual = reverse_format(pattern, resolved) assert actual == expected def test_reverse_format_errors(): pattern = '{month}{day}{year}' resolved = '20012001' with pytest.raises(ValueError, match=("Format specifier must be set " "if no separator between fields.")): reverse_format(pattern, resolved) pattern = '{month:.2}{day:2}{year:.4}' resolved = '20012001' with pytest.raises(ValueError, match="Format specifier must have a set width"): reverse_format(pattern, resolved) pattern = '{band!s}' resolved = '1' with pytest.raises(ValueError, match="Conversion not allowed. Found on band"): reverse_format(pattern, resolved) pattern = 'data_{band}' resolved = '1' with pytest.raises(ValueError, match=("Resolved string must match " "pattern. 'data_' not found.")): reverse_format(pattern, resolved) paths = ['data_2014_01_03.csv', 'data_2014_02_03.csv', 'data_2015_12_03.csv'] @pytest.mark.parametrize('pattern', [ 'data_{year}_{month}_{day}.csv', 'data_{year:d}_{month:02d}_{day:02d}.csv', 'data_{date:%Y_%m_%d}.csv' ]) def test_roundtrip_reverse_formats(pattern): args = reverse_formats(pattern, paths) for i, path in enumerate(paths): assert pattern.format( **{field: values[i] for field, values in args.items()}) == path @pytest.mark.parametrize('path,metadata,expected', [ ('http://data/band{band:1d}.tif', {'cache': [{'argkey': 'urlpath', 'regex': 'data'}]}, '/band{band:1d}.tif'), ('/data/band{band:1d}.tif', {}, '/data/band{band:1d}.tif'), ('/data/band{band:1d}.tif', None, '/data/band{band:1d}.tif') ]) def test_path_to_pattern(path, metadata, expected): assert path_to_pattern(path, metadata) == expected intake-0.6.5/intake/source/tests/util.py000066400000000000000000000015171416666122400202550ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- def verify_plugin_interface(plugin): assert isinstance(plugin.version, str) assert isinstance(plugin.container, str) assert isinstance(plugin.partition_access, bool) def verify_datasource_interface(source): for attr in ['container', 'description', 'dtype', 'shape', 'npartitions', 'metadata']: assert hasattr(source, attr) for method in ['discover', 'read', 'read_chunked', 'read_partition', 'to_dask', 'close']: assert hasattr(source, method) intake-0.6.5/intake/source/textfiles.py000066400000000000000000000106171416666122400201460ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from . import base, import_name class TextFilesSource(base.DataSource): """Read textfiles as sequence of lines Prototype of sources reading sequential data. Takes a set of files, and returns an iterator over the text in each of them. The files can be local or remote. Extra parameters for encoding, etc., go into ``storage_options``. """ name = 'textfiles' version = '0.0.1' container = 'python' partition_access = True def __init__(self, urlpath, text_mode=True, text_encoding='utf8', compression=None, decoder=None, read=True, metadata=None, storage_options=None): """ Parameters ---------- urlpath : str or list(str) Target files. Can be a glob-path (with "*") and include protocol specified (e.g., "s3://"). Can also be a list of absolute paths. text_mode : bool Whether to open the file in text mode, recoding binary characters on the fly text_encoding : str If text_mode is True, apply this encoding. UTF* is by far the most common compression : str or None If given, decompress the file with the given codec on load. Can be something like "gzip", "bz2", or to try to guess from the filename, 'infer' decoder : function, str or None Use this to decode the contents of files. If None, you will get a list of lines of text/bytes. If a function, it must operate on an open file-like object or a bytes/str instance, and return a list read : bool If decoder is not None, this flag controls whether bytes/str get passed to the function indicated (True) or the open file-like object (False) storage_options: dict Options to pass to the file reader backend, including text-specific encoding arguments, and parameters specific to the remote file-system driver, if using. """ self._urlpath = urlpath self._storage_options = storage_options or {} self._dataframe = None self._files = None if isinstance(decoder, str): decoder = import_name(decoder) self.decoder = decoder self.compression = compression self.mode = 'rt' if text_mode else 'rb' self.encoding = text_encoding self._read = read super(TextFilesSource, self).__init__(metadata=metadata) def _get_schema(self): from fsspec import open_files if self._files is None: urlpath = self._get_cache(self._urlpath)[0] self._files = open_files( urlpath, mode=self.mode, encoding=self.encoding, compression=self.compression, **self._storage_options) self.npartitions = len(self._files) return base.Schema(dtype=None, shape=(None, ), npartitions=self.npartitions, extra_metadata=self.metadata) def _get_partition(self, i): return get_file(self._files[i], self.decoder, self._read) def read(self): self._get_schema() return self.to_dask().compute() def to_spark(self): from intake_spark.base import SparkHolder h = SparkHolder(False, [ ('textFile', (self._urlpath, )) ], {}) return h.setup() def to_dask(self): import dask.bag as db from dask import delayed self._get_schema() dfile = delayed(get_file) return db.from_delayed([dfile(f, self.decoder, self._read) for f in self._files]) def get_file(f, decoder, read): """Serializable function to take an OpenFile object and read lines""" with f as f: if decoder is None: return list(f) else: d = f.read() if read else f out = decoder(d) if isinstance(out, (tuple, list)): return out else: return [out] intake-0.6.5/intake/source/tiled.py000066400000000000000000000105211416666122400172320ustar00rootroot00000000000000from tiled.client import from_uri from tiled.client.node import Node from intake.catalog import Catalog from intake.source import DataSource class TiledCatalog(Catalog): """View Tiled server as a catalog See the documentation for setting up such a server at https://blueskyproject.io/tiled/ A tiled server may contain sources of dataframe, array or xarray type. This driver exposes the full tree as exposed by the server, but you can also specify the sub-path of that tree. """ name = "tiled_cat" def __init__(self, server, path=None): """ Parameters ---------- server: str or tiled.client.node.Node Location of tiles server. Usually of the form "http[s]://address:port/" May include a path. If the protocol is "tiled", we assume HTTP connection. Alternatively, can be a Node instance, already connected to a server. path: str (optional) If given, restrict the catalog to this part of the server's catalog tree. Equivalent to extending the server URL. """ self.path = path if isinstance(server, str): if server.startswith("tiled"): uri = server.replace("tiled", "http", 1) else: uri = server client = from_uri(uri, "dask") else: client = server uri = server.uri self.uri = uri if path is not None: client = client[path] super().__init__(entries=client, name="tiled:" + uri.split(":", 1)[1]) def search(self, query, type="text"): """Full text search Queries other than full text will be added later """ if type == "text": from tiled.queries import FullText q = FullText(query) else: raise NotImplementedError return TiledCatalog.from_dict(self._entries.search(q), uri=self.uri, path=self.path) def __getitem__(self, item): node = self._entries[item] if isinstance(node, Node): return TiledCatalog(node) else: return TiledSource(uri=self.uri, path=item, instance=node) types = { "DaskArrayClient": "ndarray", "DaskDataArrayClient": "xarray", "DaskDatasetClient": "xarray", "DaskVariableClient": "xarray", "DaskDataFrameClient": "dataframe" } class TiledSource(DataSource): """A source on a Tiled server The container type of this source is determined at runtime. The attribute ``.instance`` gives access to the underlying Tiled API, but most users will only call ``.to_dask()``. """ name = "tiled" def __init__(self, uri="", path="", instance=None, metadata=None): """ Parameters ---------- uri: str (optional) Location of the server. If ``instance`` is given, this is only used for the repr pathL str (optional) Path of the data source within the server tree. If ``instance`` is given, this is only used for the repr instance: tiled.client.node.None (optional) The tiled object pointing to the data source; normally created by a ``TiledCatalog`` metadata: dict Extra metadata for this source; metadata will also be provided by the server. """ if instance is None: instance = from_uri(uri, "dask")[path].read() self.instance = instance md = dict(instance.metadata) if metadata: md.update(metadata) super().__init__(metadata=md) self.name = path self.container = types[type(self.instance).__name__] def discover(self): x = self.to_dask() dt = getattr(x, "dtype", None) or getattr(x, "dtypes", None) parts = getattr(x, "npartitions", None) or x.data.npartitions return dict(dtype=dt, shape=getattr(self.instance.structure().macro, "shape", x.shape), npartitions=parts, metadata=self.metadata) def to_dask(self): # cache this? return self.instance.read() def read(self): return self.instance.read().compute() def _yaml(self): y = super()._yaml() v = list(y['sources'].values())[0] v['args'].pop('instance') return y intake-0.6.5/intake/source/utils.py000066400000000000000000000230271416666122400172760ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from distutils.version import LooseVersion try: import dask DASK_VERSION = LooseVersion(dask.__version__) except: DASK_VERSION = None from ..utils import make_path_posix def _validate_format_spec(format_spec): if not format_spec: raise ValueError(('Format specifier must be set if ' 'no separator between fields.')) if format_spec[-1].isalpha(): format_spec = format_spec[:-1] if not format_spec.isdigit(): raise ValueError('Format specifier must have a set width') return int(format_spec) def _get_parts_of_format_string(resolved_string, literal_texts, format_specs): """ Inner function of reverse_format, returns the resolved value for each field in pattern. """ _text = resolved_string bits = [] if literal_texts[-1] != '' and _text.endswith(literal_texts[-1]): _text = _text[:-len(literal_texts[-1])] literal_texts = literal_texts[:-1] format_specs = format_specs[:-1] for i, literal_text in enumerate(literal_texts): if literal_text != '': if literal_text not in _text: raise ValueError(("Resolved string must match pattern. " "'{}' not found.".format(literal_text))) bit, _text = _text.split(literal_text, 1) if bit: bits.append(bit) elif i == 0: continue else: try: format_spec = _validate_format_spec(format_specs[i-1]) bits.append(_text[0:format_spec]) _text = _text[format_spec:] except: if i == len(format_specs) - 1: format_spec = _validate_format_spec(format_specs[i]) bits.append(_text[:-format_spec]) bits.append(_text[-format_spec:]) _text = [] else: _validate_format_spec(format_specs[i-1]) if _text: bits.append(_text) if len(bits) > len([fs for fs in format_specs if fs is not None]): bits = bits[1:] return bits def reverse_formats(format_string, resolved_strings): """ Reverse the string method format for a list of strings. Given format_string and resolved_strings, for each resolved string find arguments that would give ``format_string.format(**arguments) == resolved_string``. Each item in the output corresponds to a new column with the key setting the name and the values representing a mapping from list of resolved_strings to the related value. Parameters ---------- format_strings : str Format template string as used with str.format method resolved_strings : list List of strings with same pattern as format_string but with fields filled out. Returns ------- args : dict Dict of the form ``{field: [value_0, ..., value_n], ...}`` where values are in the same order as resolved_strings, so: ``format_sting.format(**{f: v[0] for f, v in args.items()}) == resolved_strings[0]`` Examples -------- >>> paths = ['data_2014_01_03.csv', 'data_2014_02_03.csv', 'data_2015_12_03.csv'] >>> reverse_formats('data_{year}_{month}_{day}.csv', paths) {'year': ['2014', '2014', '2015'], 'month': ['01', '02', '12'], 'day': ['03', '03', '03']} >>> reverse_formats('data_{year:d}_{month:d}_{day:d}.csv', paths) {'year': [2014, 2014, 2015], 'month': [1, 2, 12], 'day': [3, 3, 3]} >>> reverse_formats('data_{date:%Y_%m_%d}.csv', paths) {'date': [datetime.datetime(2014, 1, 3, 0, 0), datetime.datetime(2014, 2, 3, 0, 0), datetime.datetime(2015, 12, 3, 0, 0)]} >>> reverse_formats('{state:2}{zip:5}', ['PA19104', 'PA19143', 'MA02534']) {'state': ['PA', 'PA', 'MA'], 'zip': ['19104', '19143', '02534']} See also -------- str.format : method that this reverses reverse_format : method for reversing just one string using a pattern """ from string import Formatter fmt = Formatter() # get the fields from the format_string field_names = [i[1] for i in fmt.parse(format_string) if i[1]] # itialize the args dict with an empty dict for each field args = {field_name: [] for field_name in field_names} for resolved_string in resolved_strings: for field, value in reverse_format(format_string, resolved_string).items(): args[field].append(value) return args def reverse_format(format_string, resolved_string): """ Reverse the string method format. Given format_string and resolved_string, find arguments that would give ``format_string.format(**arguments) == resolved_string`` Parameters ---------- format_string : str Format template string as used with str.format method resolved_string : str String with same pattern as format_string but with fields filled out. Returns ------- args : dict Dict of the form {field_name: value} such that ``format_string.(**args) == resolved_string`` Examples -------- >>> reverse_format('data_{year}_{month}_{day}.csv', 'data_2014_01_03.csv') {'year': '2014', 'month': '01', 'day': '03'} >>> reverse_format('data_{year:d}_{month:d}_{day:d}.csv', 'data_2014_01_03.csv') {'year': 2014, 'month': 1, 'day': 3} >>> reverse_format('data_{date:%Y_%m_%d}.csv', 'data_2016_10_01.csv') {'date': datetime.datetime(2016, 10, 1, 0, 0)} >>> reverse_format('{state:2}{zip:5}', 'PA19104') {'state': 'PA', 'zip': '19104'} See also -------- str.format : method that this reverses reverse_formats : method for reversing a list of strings using one pattern """ from string import Formatter from datetime import datetime fmt = Formatter() args = {} # ensure that format_string is in posix format format_string = make_path_posix(format_string) # split the string into bits literal_texts, field_names, format_specs, conversions = zip(*fmt.parse(format_string)) if not any(field_names): return {} for i, conversion in enumerate(conversions): if conversion: raise ValueError(('Conversion not allowed. Found on {}.' .format(field_names[i]))) # ensure that resolved string is in posix format resolved_string = make_path_posix(resolved_string) # get a list of the parts that matter bits = _get_parts_of_format_string(resolved_string, literal_texts, format_specs) for i, (field_name, format_spec) in enumerate(zip(field_names, format_specs)): if field_name: try: if format_spec.startswith('%'): args[field_name] = datetime.strptime(bits[i], format_spec) elif format_spec[-1] in list('bcdoxX'): args[field_name] = int(bits[i]) elif format_spec[-1] in list('eEfFgGn'): args[field_name] = float(bits[i]) elif format_spec[-1] == '%': args[field_name] = float(bits[i][:-1])/100 else: args[field_name] = fmt.format_field(bits[i], format_spec) except: args[field_name] = bits[i] return args def path_to_glob(path): """ Convert pattern style paths to glob style paths Returns path if path is not str Parameters ---------- path : str Path to data optionally containing format_strings Returns ------- glob : str Path with any format strings replaced with * Examples -------- >>> path_to_glob('{year}/{month}/{day}.csv') '*/*/*.csv' >>> path_to_glob('data/{year:4}{month:02}{day:02}.csv') 'data/*.csv' >>> path_to_glob('data/*.csv') 'data/*.csv' """ from string import Formatter fmt = Formatter() if not isinstance(path, str): return path # calculate glob expression glob = '' prev_field_name = None for literal_text, field_name, _, _ in fmt.parse(path): glob += literal_text # condition to avoid repeated * on adjacent fields if field_name and (literal_text or prev_field_name is None): glob += '*' prev_field_name = field_name return glob def path_to_pattern(path, metadata=None): """ Remove source information from path when using chaching Returns None if path is not str Parameters ---------- path : str Path to data optionally containing format_strings metadata : dict, optional Extra arguments to the class, contains any cache information Returns ------- pattern : str Pattern style path stripped of everything to the left of cache regex. """ from fsspec.core import strip_protocol if not isinstance(path, str): return pattern = strip_protocol(path) if metadata: cache = metadata.get('cache') if cache: regex = next(c.get('regex') for c in cache if c.get('argkey') == 'urlpath') pattern = pattern.split(regex)[-1] return pattern def unique_string(): from string import ascii_letters, digits from random import choice return ''.join([choice(ascii_letters + digits) for n in range(8)]) intake-0.6.5/intake/source/zarr.py000066400000000000000000000055441416666122400171200ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from .base import DataSource, Schema class ZarrArraySource(DataSource): """Read Zarr format files into an array Zarr is an numerical array storage format which works particularly well with remote and parallel access. For specifics of the format, see https://zarr.readthedocs.io/en/stable/ """ container = 'ndarray' name = 'ndzarr' version = '0.0.1' partition_access = True def __init__(self, urlpath, storage_options=None, component=None, metadata=None, **kwargs): """ The parameters dtype and shape will be determined from the first file, if not given. Parameters ---------- urlpath : str Location of data file(s), possibly including protocol information storage_options : dict Passed on to storage backend for remote files component : str or None If None, assume the URL points to an array. If given, assume the URL points to a group, and descend the group to find the array at this location in the hierarchy. kwargs : passed on to dask.array.from_zarr """ self.urlpath = urlpath self.storage_options = storage_options or {} self.component = component self.kwargs = kwargs self.chunks = None self._arr = None super(ZarrArraySource, self).__init__(metadata=metadata) def _get_schema(self): import dask.array as da if self._arr is None: self._arr = da.from_zarr(self.urlpath, component=self.component, storage_options=self.storage_options, **self.kwargs) self.chunks = self._arr.chunks self.shape = self._arr.shape self.dtype = self._arr.dtype self.npartitions = self._arr.npartitions return Schema(dtype=str(self.dtype), shape=self.shape, extra_metadata=self.metadata, npartitions=self.npartitions, chunks=self.chunks) def _get_partition(self, i): if isinstance(i, list): i = tuple(i) return self._arr.blocks[i].compute() def read_partition(self, i): self._get_schema() return self._get_partition(i) def to_dask(self): self._get_schema() return self._arr def read(self): self._get_schema() return self._arr.compute() def _close(self): self._arr = None self._mapper = None intake-0.6.5/intake/tests/000077500000000000000000000000001416666122400154225ustar00rootroot00000000000000intake-0.6.5/intake/tests/__init__.py000066400000000000000000000005061416666122400175340ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- intake-0.6.5/intake/tests/catalog1.yml000066400000000000000000000003311416666122400176350ustar00rootroot00000000000000sources: ex1: description: this source doesn't work driver: csv args: {} ex2: description: this source doesn't work metadata: foo: 'bar' bar: [1, 2, 3] driver: csv args: {} intake-0.6.5/intake/tests/catalog2.yml000066400000000000000000000003311416666122400176360ustar00rootroot00000000000000sources: ex3: description: this source doesn't work driver: csv args: {} ex4: description: this source doesn't work metadata: foo: 'bar' bar: [1, 2, 3] driver: csv args: {} intake-0.6.5/intake/tests/catalog_inherit_params.yml000066400000000000000000000017011416666122400226430ustar00rootroot00000000000000--- metadata: version: 1 parameters: bucket: type: str description: description default: test_bucket sources: param: driver: parquet description: description args: urlpath: s3://{{bucket}}/file.parquet local_param_overwrites: driver: parquet description: description parameters: bucket: type: str description: description default: local_param args: urlpath: s3://{{bucket}}/file.parquet local_and_global_params: driver: parquet description: description parameters: filename: type: str description: description default: local_filename.parquet args: urlpath: s3://{{bucket}}/{{filename}} subcat: driver: yaml_file_cat args: path: "{{CATALOG_DIR}}/catalog_nested_sub.yml" user_parameters: inner: type: str description: description default: test_name intake-0.6.5/intake/tests/catalog_nested.yml000066400000000000000000000002541416666122400211220ustar00rootroot00000000000000sources: nested: description: References catalog_nested_sub.yml driver: yaml_file_cat args: path: "{{ CATALOG_DIR }}__unit_test_catalog_nested_sub.yml" intake-0.6.5/intake/tests/catalog_nested_sub.yml000066400000000000000000000003231416666122400217700ustar00rootroot00000000000000sources: ex1: description: this is a sub-resource driver: csv args: urlpath: "" ex2: description: this is a sub-resource driver: csv args: urlpath: "{{bucket}}/{{inner}}" intake-0.6.5/intake/tests/test_config.py000066400000000000000000000101051416666122400202750ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import pytest import requests import intake from intake import config from intake.util_tests import temp_conf, server from intake.catalog.remote import RemoteCatalog @pytest.mark.parametrize('conf', [ {}, {'port': 5000}, {'other': True} ]) def test_load_conf(conf): # This test will only work if your config is set to default inconf = config.defaults.copy() expected = inconf.copy() with temp_conf(conf) as fn: config.load_conf(fn) expected.update(conf) assert config.conf == expected config.reset_conf() assert config.conf == inconf # Tests with a real separate server process def test_basic(): with temp_conf({}) as fn: env = os.environ.copy() env['INTAKE_CONF_FILE'] = fn with server(env=env, wait=5000): r = requests.get('http://localhost:5000/v1/info') assert r.ok with temp_conf({}) as fn: env = os.environ.copy() env['INTAKE_CONF'] = os.path.dirname(fn) with server(env=env, wait=5000): r = requests.get('http://localhost:5000/v1/info') assert r.ok with temp_conf({}) as fn: env = os.environ.copy() env['INTAKE_CONF'] = os.path.dirname(fn) + ":/nonexistent" with server(env=env, wait=5000): r = requests.get('http://localhost:5000/v1/info') assert r.ok def test_cli(): with temp_conf({}) as fn: env = os.environ.copy() env['INTAKE_CONF_FILE'] = fn with server(args=('-p', '5555'), env=env, wait=5555): r = requests.get('http://localhost:5555/v1/info') assert r.ok def test_persist_modes(): expected_never = "never" expected_default = "default" with temp_conf({}) as fn: env = os.environ.copy() env["INTAKE_CONF_FILE"] = fn with server(args=("-p", "5555"), env=env, wait=5555): cat_never = RemoteCatalog("intake://localhost:5555", persist_mode="never") assert cat_never.pmode == expected_never cat_default = RemoteCatalog("intake://localhost:5555") assert cat_default.pmode == expected_default def test_conf(): with temp_conf({'port': 5555}) as fn: env = os.environ.copy() env['INTAKE_CONF_FILE'] = fn with server(env=env, wait=5555): r = requests.get('http://localhost:5555/v1/info') assert r.ok def test_conf_auth(): with temp_conf({'port': 5556, 'auth': {'cls': 'intake.auth.secret.SecretAuth', 'kwargs': {'secret': 'test'}}}) as fn: env = os.environ.copy() env['INTAKE_CONF_FILE'] = fn with server(env=env, wait=5556): # raw request r = requests.get('http://localhost:5556/v1/info') assert r.status_code == 403 r = requests.get('http://localhost:5556/v1/info', headers={'intake-secret': 'test'}) assert r.ok # with cat with pytest.raises(Exception): intake.open_catalog('intake://localhost:5556') cat = intake.open_catalog('intake://localhost:5556', storage_options={'headers': {'intake-secret': 'test'}}) assert 'entry1' in cat @pytest.mark.skipif(os.name == 'nt', reason="Paths are different on win") def test_pathdirs(): assert config.intake_path_dirs([]) == [] assert config.intake_path_dirs(['paths']) == ['paths'] assert config.intake_path_dirs("") == [""] assert config.intake_path_dirs("path1:path2") == ['path1', 'path2'] assert config.intake_path_dirs("memory://path1:memory://path2") == [ 'memory://path1', 'memory://path2'] intake-0.6.5/intake/tests/test_top_level.py000066400000000000000000000105161416666122400210270ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import posixpath import sys import tempfile import time import appdirs import intake import intake.catalog.local import pytest from .test_utils import copy_test_file @pytest.fixture def user_catalog(): target_catalog = copy_test_file('catalog1.yml', appdirs.user_data_dir(appname='intake', appauthor='intake')) yield target_catalog # Remove the file, but not the directory (because there might be other # files already there) os.remove(target_catalog) @pytest.fixture def tmp_path_catalog(): tmp_path = posixpath.join(tempfile.gettempdir(), 'intake') try: os.makedirs(tmp_path) except: pass target_catalog = copy_test_file('catalog1.yml', tmp_path) yield target_catalog # Remove the file, but not the directory (because there might be other # files already there) os.remove(target_catalog) def test_autoregister_open(): assert hasattr(intake, 'open_csv') def test_default_catalogs(): # No assumptions about contents of these catalogs. # Just make sure they exist and don't raise exceptions list(intake.cat) def test_user_catalog(user_catalog): cat = intake.load_combo_catalog() assert set(cat) >= set(['ex1', 'ex2']) def test_open_styles(tmp_path_catalog): cat = intake.catalog.local.YAMLFileCatalog(tmp_path_catalog) cat2 = intake.open_catalog(tmp_path_catalog) assert list(cat) == list(cat2) cat2 = intake.open_catalog([tmp_path_catalog]) assert list(cat) == list(cat2) cat2 = intake.open_catalog(os.path.join( os.path.dirname(tmp_path_catalog), "*")) assert list(cat) == list(cat2) assert type(cat2).name == 'yaml_files_cat' cat2 = intake.open_catalog(os.path.dirname(tmp_path_catalog)) assert list(cat) == list(cat2) assert type(cat2).name == 'yaml_files_cat' cat2 = intake.open_yaml_file_cat(tmp_path_catalog) assert list(cat) == list(cat2) cat2 = intake.open_yaml_files_cat([tmp_path_catalog]) assert list(cat) == list(cat2) cat2 = intake.open_yaml_files_cat(os.path.join( os.path.dirname(tmp_path_catalog), "*")) assert list(cat) == list(cat2) def test_path_catalog(tmp_path_catalog): intake.config.conf['catalog_path'] = [posixpath.join(tempfile.gettempdir(), 'intake')] cat = intake.load_combo_catalog() time.sleep(2) # wait 2 seconds for catalog to refresh assert set(cat) >= set(['ex1', 'ex2']) del intake.config.conf['catalog_path'] def test_bad_open(): with pytest.raises(ValueError): # unknown driver intake.open_catalog("", driver='unknown') with pytest.raises(ValueError): # bad URI type (NB falsish values become empty catalogs) intake.open_catalog(True) # default empty catalog assert intake.open_catalog() == intake.open_catalog(None) def test_output_notebook(): pytest.importorskip('hvplot') intake.output_notebook() def test_old_usage(): assert isinstance(intake.Catalog(), intake.Catalog) assert intake.Catalog is intake.catalog.base.Catalog def test_no_imports(): mods = [mod for mod in sys.modules if mod.startswith('intake')] [sys.modules.pop(mod) for mod in mods] import intake assert 'intake' in sys.modules for mod in ['intake.tests', 'intake.interface', 'intake.source.csv', 'intake.cli', 'intake.auth']: assert mod not in sys.modules @pytest.fixture def tmp_path_catalog_nested(): with tempfile.TemporaryDirectory() as tmp_dir: tmp_path = posixpath.join(tmp_dir, 'intake') target_catalog = copy_test_file('catalog_nested.yml', tmp_path) copy_test_file('catalog_nested_sub.yml', tmp_path) yield target_catalog def test_nested_catalog_access(tmp_path_catalog_nested): cat = intake.open_catalog(tmp_path_catalog_nested) entry1 = cat.nested.ex1 entry2 = cat["nested.ex1"] entry3 = cat[["nested", "ex1"]] entry4 = cat["nested", "ex1"] assert entry1 == entry2 == entry3 == entry4 intake-0.6.5/intake/tests/test_utils.py000066400000000000000000000035071416666122400202000ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import os import posixpath import shutil import pytest import yaml from intake.utils import make_path_posix, no_duplicate_yaml def test_windows_file_path(): path = 'C:\\Users\\user\\fake.file' actual = make_path_posix(path) expected = 'C:/Users/user/fake.file' assert actual == expected def test_make_path_posix_removes_double_sep(): path = 'user//fake.file' actual = make_path_posix(path) expected = 'user/fake.file' assert actual == expected @pytest.mark.parametrize('path', [ '~/fake.file', 'https://example.com', ]) def test_noops(path): """For non windows style paths, make_path_posix should be a noop""" assert make_path_posix(path) == path def test_roundtrip_file_path(): path = os.path.dirname(__file__) actual = make_path_posix(path) assert '\\' not in actual assert os.path.samefile(actual, path) def test_yaml_tuples(): data = (1, 2) text = yaml.dump(data) with no_duplicate_yaml(): assert yaml.safe_load(text) == data def copy_test_file(filename, target_dir): if not os.path.exists(target_dir): os.makedirs(target_dir) # can't use exist_ok in Python 2.7 target_dir = make_path_posix(target_dir) # Put a catalog file in the user catalog directory test_dir = make_path_posix(os.path.dirname(__file__)) test_catalog = posixpath.join(test_dir, filename) target_catalog = posixpath.join(target_dir, '__unit_test_'+filename) shutil.copyfile(test_catalog, target_catalog) return target_catalog intake-0.6.5/intake/util_tests.py000066400000000000000000000033621416666122400170350ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from contextlib import contextmanager import os import posixpath import requests import shutil import subprocess import sys import tempfile import time import yaml from .utils import make_path_posix ex = sys.executable here = os.path.dirname(__file__) defcat = make_path_posix(os.path.join( here, 'cli', 'server', 'tests', 'catalog1.yml')) PY2 = sys.version_info[0] == 2 @contextmanager def tempdir(): d = tempfile.mkdtemp() try: yield d finally: if os.path.exists(d): shutil.rmtree(d) @contextmanager def temp_conf(conf): with tempdir() as d: fn = os.path.join(d, 'conf.yaml') with open(fn, 'w') as f: yaml.dump(conf, f) yield fn @contextmanager def server(args=None, cat=None, env=None, wait=None, timeout=25): cat = cat if cat is not None else defcat args = list(args if args is not None else []) + [] env = env if env is not None else {} cmd = [ex, '-m', 'intake.cli.server'] + list(args) + [cat] p = subprocess.Popen(cmd, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) if wait is not None: while True: try: requests.get('http://localhost:%i/v1/info' % wait) break except: time.sleep(0.1) timeout -= 0.1 assert timeout > 0 try: yield p finally: p.terminate() intake-0.6.5/intake/utils.py000066400000000000000000000216571416666122400160050ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import collections from collections import OrderedDict import collections.abc import datetime from contextlib import contextmanager import warnings import yaml import sys def make_path_posix(path): """ Make path generic """ if '://' in path: return path return path.replace('\\', '/').replace('//', '/') def no_duplicates_constructor(loader, node, deep=False): """Check for duplicate keys while loading YAML https://gist.github.com/pypt/94d747fe5180851196eb """ mapping = {} for key_node, value_node in node.value: key = loader.construct_object(key_node, deep=deep) value = loader.construct_object(value_node, deep=deep) if key in mapping: from intake.catalog.exceptions import DuplicateKeyError raise DuplicateKeyError("while constructing a mapping", node.start_mark, "found duplicate key (%s)" % key, key_node.start_mark) mapping[key] = value return loader.construct_mapping(node, deep) def tuple_constructor(loader, node, deep=False): return tuple(loader.construct_object(node, deep=deep) for node in node.value) def represent_dictionary_order(self, dict_data): return self.represent_mapping('tag:yaml.org,2002:map', dict_data.items()) yaml.add_representer(OrderedDict, represent_dictionary_order) @contextmanager def no_duplicate_yaml(): yaml.SafeLoader.add_constructor( yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, no_duplicates_constructor) yaml.SafeLoader.add_constructor('tag:yaml.org,2002:python/tuple', tuple_constructor) try: yield finally: yaml.SafeLoader.add_constructor( yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, yaml.constructor.SafeConstructor.construct_yaml_map ) def yaml_load(stream): """Parse YAML in a context where duplicate keys raise exception""" with no_duplicate_yaml(): return yaml.safe_load(stream) def classname(ob): """Get the object's class's name as package.module.Class""" import inspect if inspect.isclass(ob): return '.'.join([ob.__module__, ob.__name__]) else: return '.'.join([ob.__class__.__module__, ob.__class__.__name__]) class DictSerialiseMixin(object): __tok_cache = None def __new__(cls, *args, **kwargs): """Capture creation args when instantiating""" o = object.__new__(cls) o._captured_init_args = args o._captured_init_kwargs = kwargs return o @property def classname(self): return classname(self) def __dask_tokenize__(self): if self.__tok_cache is None: from dask.base import tokenize self.__tok_cache = tokenize(self.__getstate__()) return self.__tok_cache def __getstate__(self): args = [arg.__getstate__() if isinstance(arg, DictSerialiseMixin) else arg for arg in self._captured_init_args] # We employ OrderedDict in several places. The motivation # is to speed up dask tokenization. When dask tokenizes a plain dict, # it sorts the keys, and it turns out that this sort operation # dominates the call time, even for very small dicts. Using an # OrderedDict steers dask toward a different and faster tokenization. kwargs = collections.OrderedDict({ k: arg.__getstate__() if isinstance(arg, DictSerialiseMixin) else arg for k, arg in self._captured_init_kwargs.items() }) return collections.OrderedDict(cls=self.classname, args=args, kwargs=kwargs) def __setstate__(self, state): # reconstitute instances here self._captured_init_kwargs = state['kwargs'] self._captured_init_args = state['args'] state.pop('cls', None) self.__init__(*state['args'], **state['kwargs']) def __hash__(self): from dask.base import tokenize return int(tokenize(self), 16) def __eq__(self, other): return hash(self) == hash(other) def remake_instance(data): import importlib if isinstance(data, str): data = {'cls': data} else: data = data.copy() mod, klass = data.pop('cls').rsplit('.', 1) module = importlib.import_module(mod) cl = getattr(module, klass) return cl(*data.get('args', ()), **data.get('kwargs', {})) def pretty_describe(object, nestedness=0, indent=2): """Maintain dict ordering - but make string version prettier""" if not isinstance(object, dict): return str(object) sep = f'\n{" " * nestedness * indent}' out = sep.join((f'{k}: {pretty_describe(v, nestedness + 1)}' for k, v in object.items())) if nestedness > 0 and out: return f'{sep}{out}' return out def decode_datetime(obj): import numpy if not isinstance(obj, numpy.ndarray) and "__datetime__" in obj: try: obj = datetime.datetime.strptime( obj["as_str"], "%Y%m%dT%H:%M:%S.%f%z", ) except ValueError: # Perhaps lacking tz info obj = datetime.datetime.strptime( obj["as_str"], "%Y%m%dT%H:%M:%S.%f", ) return obj def encode_datetime(obj): if isinstance(obj, datetime.datetime): return {"__datetime__": True, "as_str": obj.strftime("%Y%m%dT%H:%M:%S.%f%z")} return obj class RegistryView(collections.abc.Mapping): """ Wrap registry dict in a read-only dict view. Subclasses define attributes filled into warning and error messages: - self._registry_name - self._register_func_name - self._unregister_func_name """ def __init__(self, registry): self._registry = registry def __repr__(self): return f"{self.__class__.__name__}({self._registry!r})" def __getitem__(self, key): return self._registry[key] def __iter__(self): yield from self._registry def __len__(self): return len(self._registry) # Support the common mutation methods for now, but warn. def update(self, *args, **kwargs): warnings.warn( f"In a future release of intake, the {self._registry_name} will " f"not be directly mutable. Use {self._register_func_name}.", DeprecationWarning) self._registry.update(*args, **kwargs) # raise TypeError( # f"The registry cannot be edited directly. " # f"Instead, use the {self._register_func_name{") def __setitem__(self, key, value): warnings.warn( f"In a future release of intake, the {self._registry_name} will " f"not be directly mutable. Use {self._register_func_name}.", DeprecationWarning) self._registry[key] = value # raise TypeError( # f"The registry cannot be edited directly. " # f"Instead, use the {self._register_func_name{") def __delitem__(self, key): warnings.warn( f"In a future release of intake, the {self._registry_name} will " f"not be directly mutable. Use {self._unregister_func_name}.", DeprecationWarning) del self._registry[key] # raise TypeError( # f"The registry cannot be edited directly. " # f"Instead, use the {self._unregister_func_name{") class DriverRegistryView(RegistryView): # This attributes are used by the base class # to fill in warning and error messages. _registry_name = "intake.registry" _register_func_name = "intake.register_driver" _unregister_func_name = "intake.unregister_driver" class ContainerRegistryView(RegistryView): # This attributes are used by the base class # to fill in warning and error messages. _registry_name = "intake.container_map" _register_func_name = "intake.register_container" _unregister_func_name = "intake.unregister_container" class ModuleImporter: def __init__(self, destination): self.destination = destination self.module = None def __getattribute__(self, item): d = object.__getattribute__(self, "__dict__") if item in d: return d[item] if self.module is None: print("Importing module: ", self.destination) self.module = __import__(self.destination) else: print("Referencing module: ", self.destination) sys.modules[self.destination] = self.module return getattr(self.module, item) intake-0.6.5/logo-small.png000066400000000000000000000030241416666122400155600ustar00rootroot00000000000000PNG  IHDR.#'8gAMA a cHRMz&u0`:pQ< pHYs  YiTXtXML:com.adobe.xmp 1 L'Y%IDATX NjTA׬0 QTLxЋx*?ճI^P1縦..*Ŝ~[3ogF7,W^OOCC}2(-[!K-H~9gu#Y5kSXņ~+m?1zqlBx ?S8WQnt\b8se'5|9N{jn:`@~ oZ]!X*4 OSX*8$Q*l nLԒk*!J>/%9gV?Y_Ax&TfT^ɡYW+^ tY% kᢰ["xb{$I 'Cq-5fMyf^(@I.O6l$|O>ȍ4IY% UպIӂwp2B}gV&H1f갟k4i^tM:'}[&X8NUS6~~>=X@+*~:,?Ka!o-#B܇. Y]'K*,?*7iN)^(I$c GXu׋bI8x !="f.GDž3Ò^K›bׅIҗH. v&h+B$M _C^ y>W$טo~;s 9.kM !o D>ޣ_IL"y2䕝$7Ҽ3}Sq{(oˆrp^>$CLϬn91H|Iˬ^j# @~Nq^l#]3}Y6G!>FR;8?:HFPkr*7s=Jގsu9 C\m87BSތmncį$/1)Q^ʍ}?Mr>_/5IENDB`intake-0.6.5/readthedocs.yml000066400000000000000000000000461416666122400160150ustar00rootroot00000000000000conda: file: docs/environment.yml intake-0.6.5/requirements.txt000066400000000000000000000000711416666122400162670ustar00rootroot00000000000000appdirs dask entrypoints pyyaml fsspec >=2021.7.0 jinja2 intake-0.6.5/scripts/000077500000000000000000000000001416666122400144745ustar00rootroot00000000000000intake-0.6.5/scripts/ci/000077500000000000000000000000001416666122400150675ustar00rootroot00000000000000intake-0.6.5/scripts/ci/environment-pip.yml000066400000000000000000000011551416666122400207460ustar00rootroot00000000000000name: test_env channels: - defaults dependencies: - python=3.8 - pip - pip: - rangehttpserver - aiohttp - flask - appdirs - dask - jinja2 - numpy - pyyaml - requests - msgpack-numpy - pytest-cov - coveralls - pytest - fsspec - intake-parquet - zarr - notebook - panel - hvplot - bokeh - dask - h5netcdf - intake - netcdf4 - pip - pydap - pytest - rasterio - s3fs - scikit-image - xarray - zarr - moto - toolz intake-0.6.5/scripts/ci/environment-py37.yml000066400000000000000000000005231416666122400207560ustar00rootroot00000000000000name: test_env channels: - conda-forge - defaults dependencies: - python=3.7 - aiohttp - flask - appdirs - dask - jinja2 - numpy - pyyaml - requests - msgpack-numpy - pytest - fsspec - intake-parquet - zarr - notebook - panel - hvplot - bokeh - dask - pip - pydap - pytest - s3fs - moto intake-0.6.5/scripts/ci/environment-py38.yml000066400000000000000000000007501416666122400207610ustar00rootroot00000000000000name: test_env channels: - conda-forge - defaults dependencies: - python=3.8 - aiohttp - flask - appdirs - dask - jinja2 - numpy - pyyaml - requests - msgpack-numpy - pytest-cov - coveralls - pytest - fsspec - intake-parquet - zarr - notebook - panel - hvplot - bokeh - dask - h5netcdf - intake - netcdf4 - pip - pydap - pytest - rasterio - s3fs - scikit-image - xarray - zarr - moto - pip: - rangehttpserver intake-0.6.5/scripts/ci/environment-py39.yml000066400000000000000000000010201416666122400207510ustar00rootroot00000000000000name: test_env channels: - conda-forge - defaults dependencies: - python=3.9 - aiohttp - flask - appdirs - dask - jinja2 - numpy - pyyaml - requests - msgpack-numpy - pytest-cov - coveralls - pytest - fsspec - intake-parquet - zarr - notebook - panel - hvplot - bokeh - dask - h5netcdf - intake - netcdf4 - pip - pydap - pytest - rasterio - s3fs - scikit-image - xarray - zarr - moto - httpx - typer - pip: - rangehttpserver - tiled[all] intake-0.6.5/setup.cfg000066400000000000000000000012021416666122400146210ustar00rootroot00000000000000[flake8] # References: # http://flake8.readthedocs.org/en/latest/config.html # http://flake8.readthedocs.org/en/latest/warnings.html#error-codes # # Style checks turned on: # F - all pyflake errors # E101 - indentation contains mixed spaces and tabs # E111 - indentation is not a multiple of four # E501 - line too long (see max-line-length) # Note: there cannot be spaces after comma's here exclude = __init__.py ignore = E,W select = F,E101,E111,E501 max-line-length = 165 [versioneer] VCS = git style = pep440 versionfile_source = intake/_version.py versionfile_build = intake/_version.py tag_prefix = parentdir_prefix = intake- intake-0.6.5/setup.py000066400000000000000000000057221416666122400145250ustar00rootroot00000000000000#!/usr/bin/env python #----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- import sys from setuptools import find_packages, setup import versioneer requires = [line.strip() for line in open('requirements.txt').readlines() if not line.startswith("#")] extras_require = { 'server': ['tornado', 'python-snappy', 'msgpack-python'], 'plot': ['hvplot', 'panel >= 0.7.0', 'bokeh'], 'dataframe': ['dask[dataframe]', 'msgpack-numpy', 'pyarrow'], 'remote': ['requests'] } extras_require['complete'] = sorted(set(sum(extras_require.values(), []))) # Only include pytest-runner in setup_requires if we're invoking tests if {'pytest', 'test', 'ptr'}.intersection(sys.argv): setup_requires = ['pytest-runner'] else: setup_requires = [] setup( name='intake', version=versioneer.get_version(), cmdclass=versioneer.get_cmdclass(), description='Data load and catalog system', url='https://github.com/intake/intake', maintainer='Martin Durant', maintainer_email='mdurant@anaconda.com', license='BSD', package_data={'': ['*.csv', '*.yml', '*.yaml', '*.html']}, include_package_data=True, install_requires=requires, packages=find_packages(), entry_points={ 'console_scripts': [ 'intake-server = intake.cli.server.__main__:main', 'intake = intake.cli.client.__main__:main' ], 'intake.drivers': [ 'yaml_file_cat = intake.catalog.local:YAMLFileCatalog', 'yaml_files_cat = intake.catalog.local:YAMLFilesCatalog', 'csv = intake.source.csv:CSVSource', 'textfiles = intake.source.textfiles:TextFilesSource', 'json = intake.source.jsonfiles:JSONFileSource', 'jsonl = intake.source.jsonfiles:JSONLinesFileSource', 'catalog = intake.catalog.base:Catalog', 'intake_remote = intake.catalog.remote:RemoteCatalog', 'numpy = intake.source.npy:NPySource', 'ndzarr = intake.source.zarr:ZarrArraySource', 'zarr_cat = intake.catalog.zarr:ZarrGroupCatalog', 'alias = intake.source.derived:AliasSource', 'tiled_cat = intake.source.tiled:TiledCatalog', 'tiled = intake.source.tiled:TiledSource' ] }, classifiers=[ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", ], python_requires=">=3.7", long_description=open('README.md').read(), long_description_content_type="text/markdown", tests_require=['pytest'], extras_require=extras_require, zip_safe=False, ) intake-0.6.5/templates/000077500000000000000000000000001416666122400150035ustar00rootroot00000000000000intake-0.6.5/templates/README.md000066400000000000000000000010211416666122400162540ustar00rootroot00000000000000# Cookiecutter Templates This directory contains [Cookiecutter](https://cookiecutter.readthedocs.io/en/latest/) templates for making new Intake plugins and data packages. To use these templates, install cookiecutter: ``` conda install -c defaults -c conda-forge cookiecutter ``` or ``` pip install cookiecutter ``` For a new plugin: ``` cookiecutter gh:intake/intake/templates/plugin ``` And for a new conda data package: ``` cookiecutter gh:intake/intake/templates/data_package ``` The template will prompt for parameters. intake-0.6.5/templates/data_package/000077500000000000000000000000001416666122400173675ustar00rootroot00000000000000intake-0.6.5/templates/data_package/cookiecutter.json000066400000000000000000000004351416666122400227640ustar00rootroot00000000000000{ "dataset_name": "starfacts", "package_name": "data-{{cookiecutter.dataset_name}}", "description": "Star Facts", "full_name": "Your Name", "email": "you@example.com", "required_intake_plugins": "intake_parquet", "install_local_data_files": ["no", "yes"] } intake-0.6.5/templates/data_package/hooks/000077500000000000000000000000001416666122400205125ustar00rootroot00000000000000intake-0.6.5/templates/data_package/hooks/post_gen_project.py000066400000000000000000000013521416666122400244310ustar00rootroot00000000000000#----------------------------------------------------------------------------- # Copyright (c) 2012 - 2018, Anaconda, Inc. and Intake contributors # All rights reserved. # # The full license is in the LICENSE file, distributed with this software. #----------------------------------------------------------------------------- from __future__ import print_function import os install_local_data_files = "{{cookiecutter.install_local_data_files}}" == "yes" print("Don't forget to edit {{cookiecutter.package_name}}/{{cookiecutter.dataset_name}}.yaml to add your data sources!") if install_local_data_files: os.mkdir('src') print("Put your data files in the {{cookiecutter.package_name}}/src/ directory to be included in the package.") intake-0.6.5/templates/data_package/{{cookiecutter.package_name}}/000077500000000000000000000000001416666122400254415ustar00rootroot00000000000000intake-0.6.5/templates/data_package/{{cookiecutter.package_name}}/build.sh000066400000000000000000000005151416666122400270750ustar00rootroot00000000000000#!/bin/bash INTAKE_CATALOG_DIR=$PREFIX/share/intake/ mkdir -p INTAKE_CATALOG_DIR {% if cookiecutter.install_local_data_files == 'yes' %} DATA_DIR=$INTAKE_CATALOG_DIR/{{cookiecutter.dataset_name}} mkdir -p $DATA_DIR cp -a $RECIPE_DIR/src/ $DATA_DIR/ {% endif %} cp $RECIPE_DIR/{{cookiecutter.dataset_name}}.yaml $INTAKE_CATALOG_DIR intake-0.6.5/templates/data_package/{{cookiecutter.package_name}}/meta.yaml000066400000000000000000000010101416666122400272430ustar00rootroot00000000000000package: version: '1.0' # update version number if data contents change name: {{cookiecutter.package_name}} build: number: 0 # update build number for minor catalog fixes noarch: generic requirements: run: - intake {%- for plugin_name in cookiecutter.required_intake_plugins.split(',') %} - {{plugin_name}} {%- endfor %} # Add additional plugins here build: [] about: description: {{cookiecutter.description}} extra: maintainers: - {{cookiecutter.full_name}} <{{cookiecutter.email}}>intake-0.6.5/templates/data_package/{{cookiecutter.package_name}}/{{cookiecutter.dataset_name}}.yaml000066400000000000000000000003221416666122400344260ustar00rootroot00000000000000metadata: version: 1 sources: mydataset: description: The Dataset Description driver: parquet args: urlpath: 's3://not_a_real_bucket/star_facts.parq' storage_options: {'anon': True} intake-0.6.5/test_requirements.txt000066400000000000000000000001341416666122400173260ustar00rootroot00000000000000intake-parquet zarr notebook panel==0.8.0 hvplot==0.5.2 bokeh<2.0.0 fsspec aiohttp requests intake-0.6.5/versioneer.py000066400000000000000000002057351416666122400155540ustar00rootroot00000000000000 # Version: 0.18 """The Versioneer - like a rocketeer, but for versions. The Versioneer ============== * like a rocketeer, but for versions! * https://github.com/warner/python-versioneer * Brian Warner * License: Public Domain * Compatible With: python2.6, 2.7, 3.2, 3.3, 3.4, 3.5, 3.6, and pypy * [![Latest Version] (https://pypip.in/version/versioneer/badge.svg?style=flat) ](https://pypi.python.org/pypi/versioneer/) * [![Build Status] (https://travis-ci.org/warner/python-versioneer.png?branch=master) ](https://travis-ci.org/warner/python-versioneer) This is a tool for managing a recorded version number in distutils-based python projects. The goal is to remove the tedious and error-prone "update the embedded version string" step from your release process. Making a new release should be as easy as recording a new tag in your version-control system, and maybe making new tarballs. ## Quick Install * `pip install versioneer` to somewhere to your $PATH * add a `[versioneer]` section to your setup.cfg (see below) * run `versioneer install` in your source tree, commit the results ## Version Identifiers Source trees come from a variety of places: * a version-control system checkout (mostly used by developers) * a nightly tarball, produced by build automation * a snapshot tarball, produced by a web-based VCS browser, like github's "tarball from tag" feature * a release tarball, produced by "setup.py sdist", distributed through PyPI Within each source tree, the version identifier (either a string or a number, this tool is format-agnostic) can come from a variety of places: * ask the VCS tool itself, e.g. "git describe" (for checkouts), which knows about recent "tags" and an absolute revision-id * the name of the directory into which the tarball was unpacked * an expanded VCS keyword ($Id$, etc) * a `_version.py` created by some earlier build step For released software, the version identifier is closely related to a VCS tag. Some projects use tag names that include more than just the version string (e.g. "myproject-1.2" instead of just "1.2"), in which case the tool needs to strip the tag prefix to extract the version identifier. For unreleased software (between tags), the version identifier should provide enough information to help developers recreate the same tree, while also giving them an idea of roughly how old the tree is (after version 1.2, before version 1.3). Many VCS systems can report a description that captures this, for example `git describe --tags --dirty --always` reports things like "0.7-1-g574ab98-dirty" to indicate that the checkout is one revision past the 0.7 tag, has a unique revision id of "574ab98", and is "dirty" (it has uncommitted changes. The version identifier is used for multiple purposes: * to allow the module to self-identify its version: `myproject.__version__` * to choose a name and prefix for a 'setup.py sdist' tarball ## Theory of Operation Versioneer works by adding a special `_version.py` file into your source tree, where your `__init__.py` can import it. This `_version.py` knows how to dynamically ask the VCS tool for version information at import time. `_version.py` also contains `$Revision$` markers, and the installation process marks `_version.py` to have this marker rewritten with a tag name during the `git archive` command. As a result, generated tarballs will contain enough information to get the proper version. To allow `setup.py` to compute a version too, a `versioneer.py` is added to the top level of your source tree, next to `setup.py` and the `setup.cfg` that configures it. This overrides several distutils/setuptools commands to compute the version when invoked, and changes `setup.py build` and `setup.py sdist` to replace `_version.py` with a small static file that contains just the generated version data. ## Installation See [INSTALL.md](./INSTALL.md) for detailed installation instructions. ## Version-String Flavors Code which uses Versioneer can learn about its version string at runtime by importing `_version` from your main `__init__.py` file and running the `get_versions()` function. From the "outside" (e.g. in `setup.py`), you can import the top-level `versioneer.py` and run `get_versions()`. Both functions return a dictionary with different flavors of version information: * `['version']`: A condensed version string, rendered using the selected style. This is the most commonly used value for the project's version string. The default "pep440" style yields strings like `0.11`, `0.11+2.g1076c97`, or `0.11+2.g1076c97.dirty`. See the "Styles" section below for alternative styles. * `['full-revisionid']`: detailed revision identifier. For Git, this is the full SHA1 commit id, e.g. "1076c978a8d3cfc70f408fe5974aa6c092c949ac". * `['date']`: Date and time of the latest `HEAD` commit. For Git, it is the commit date in ISO 8601 format. This will be None if the date is not available. * `['dirty']`: a boolean, True if the tree has uncommitted changes. Note that this is only accurate if run in a VCS checkout, otherwise it is likely to be False or None * `['error']`: if the version string could not be computed, this will be set to a string describing the problem, otherwise it will be None. It may be useful to throw an exception in setup.py if this is set, to avoid e.g. creating tarballs with a version string of "unknown". Some variants are more useful than others. Including `full-revisionid` in a bug report should allow developers to reconstruct the exact code being tested (or indicate the presence of local changes that should be shared with the developers). `version` is suitable for display in an "about" box or a CLI `--version` output: it can be easily compared against release notes and lists of bugs fixed in various releases. The installer adds the following text to your `__init__.py` to place a basic version in `YOURPROJECT.__version__`: from ._version import get_versions __version__ = get_versions()['version'] del get_versions ## Styles The setup.cfg `style=` configuration controls how the VCS information is rendered into a version string. The default style, "pep440", produces a PEP440-compliant string, equal to the un-prefixed tag name for actual releases, and containing an additional "local version" section with more detail for in-between builds. For Git, this is TAG[+DISTANCE.gHEX[.dirty]] , using information from `git describe --tags --dirty --always`. For example "0.11+2.g1076c97.dirty" indicates that the tree is like the "1076c97" commit but has uncommitted changes (".dirty"), and that this commit is two revisions ("+2") beyond the "0.11" tag. For released software (exactly equal to a known tag), the identifier will only contain the stripped tag, e.g. "0.11". Other styles are available. See [details.md](details.md) in the Versioneer source tree for descriptions. ## Debugging Versioneer tries to avoid fatal errors: if something goes wrong, it will tend to return a version of "0+unknown". To investigate the problem, run `setup.py version`, which will run the version-lookup code in a verbose mode, and will display the full contents of `get_versions()` (including the `error` string, which may help identify what went wrong). ## Known Limitations Some situations are known to cause problems for Versioneer. This details the most significant ones. More can be found on Github [issues page](https://github.com/warner/python-versioneer/issues). ### Subprojects Versioneer has limited support for source trees in which `setup.py` is not in the root directory (e.g. `setup.py` and `.git/` are *not* siblings). The are two common reasons why `setup.py` might not be in the root: * Source trees which contain multiple subprojects, such as [Buildbot](https://github.com/buildbot/buildbot), which contains both "master" and "slave" subprojects, each with their own `setup.py`, `setup.cfg`, and `tox.ini`. Projects like these produce multiple PyPI distributions (and upload multiple independently-installable tarballs). * Source trees whose main purpose is to contain a C library, but which also provide bindings to Python (and perhaps other langauges) in subdirectories. Versioneer will look for `.git` in parent directories, and most operations should get the right version string. However `pip` and `setuptools` have bugs and implementation details which frequently cause `pip install .` from a subproject directory to fail to find a correct version string (so it usually defaults to `0+unknown`). `pip install --editable .` should work correctly. `setup.py install` might work too. Pip-8.1.1 is known to have this problem, but hopefully it will get fixed in some later version. [Bug #38](https://github.com/warner/python-versioneer/issues/38) is tracking this issue. The discussion in [PR #61](https://github.com/warner/python-versioneer/pull/61) describes the issue from the Versioneer side in more detail. [pip PR#3176](https://github.com/pypa/pip/pull/3176) and [pip PR#3615](https://github.com/pypa/pip/pull/3615) contain work to improve pip to let Versioneer work correctly. Versioneer-0.16 and earlier only looked for a `.git` directory next to the `setup.cfg`, so subprojects were completely unsupported with those releases. ### Editable installs with setuptools <= 18.5 `setup.py develop` and `pip install --editable .` allow you to install a project into a virtualenv once, then continue editing the source code (and test) without re-installing after every change. "Entry-point scripts" (`setup(entry_points={"console_scripts": ..})`) are a convenient way to specify executable scripts that should be installed along with the python package. These both work as expected when using modern setuptools. When using setuptools-18.5 or earlier, however, certain operations will cause `pkg_resources.DistributionNotFound` errors when running the entrypoint script, which must be resolved by re-installing the package. This happens when the install happens with one version, then the egg_info data is regenerated while a different version is checked out. Many setup.py commands cause egg_info to be rebuilt (including `sdist`, `wheel`, and installing into a different virtualenv), so this can be surprising. [Bug #83](https://github.com/warner/python-versioneer/issues/83) describes this one, but upgrading to a newer version of setuptools should probably resolve it. ### Unicode version strings While Versioneer works (and is continually tested) with both Python 2 and Python 3, it is not entirely consistent with bytes-vs-unicode distinctions. Newer releases probably generate unicode version strings on py2. It's not clear that this is wrong, but it may be surprising for applications when then write these strings to a network connection or include them in bytes-oriented APIs like cryptographic checksums. [Bug #71](https://github.com/warner/python-versioneer/issues/71) investigates this question. ## Updating Versioneer To upgrade your project to a new release of Versioneer, do the following: * install the new Versioneer (`pip install -U versioneer` or equivalent) * edit `setup.cfg`, if necessary, to include any new configuration settings indicated by the release notes. See [UPGRADING](./UPGRADING.md) for details. * re-run `versioneer install` in your source tree, to replace `SRC/_version.py` * commit any changed files ## Future Directions This tool is designed to make it easily extended to other version-control systems: all VCS-specific components are in separate directories like src/git/ . The top-level `versioneer.py` script is assembled from these components by running make-versioneer.py . In the future, make-versioneer.py will take a VCS name as an argument, and will construct a version of `versioneer.py` that is specific to the given VCS. It might also take the configuration arguments that are currently provided manually during installation by editing setup.py . Alternatively, it might go the other direction and include code from all supported VCS systems, reducing the number of intermediate scripts. ## License To make Versioneer easier to embed, all its code is dedicated to the public domain. The `_version.py` that it creates is also in the public domain. Specifically, both are released under the Creative Commons "Public Domain Dedication" license (CC0-1.0), as described in https://creativecommons.org/publicdomain/zero/1.0/ . """ from __future__ import print_function try: import configparser except ImportError: import ConfigParser as configparser import errno import json import os import re import subprocess import sys class VersioneerConfig: """Container for Versioneer configuration parameters.""" def get_root(): """Get the project root directory. We require that all commands are run from the project root, i.e. the directory that contains setup.py, setup.cfg, and versioneer.py . """ root = os.path.realpath(os.path.abspath(os.getcwd())) setup_py = os.path.join(root, "setup.py") versioneer_py = os.path.join(root, "versioneer.py") if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): # allow 'python path/to/setup.py COMMAND' root = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0]))) setup_py = os.path.join(root, "setup.py") versioneer_py = os.path.join(root, "versioneer.py") if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): err = ("Versioneer was unable to run the project root directory. " "Versioneer requires setup.py to be executed from " "its immediate directory (like 'python setup.py COMMAND'), " "or in a way that lets it use sys.argv[0] to find the root " "(like 'python path/to/setup.py COMMAND').") raise VersioneerBadRootError(err) try: # Certain runtime workflows (setup.py install/develop in a setuptools # tree) execute all dependencies in a single python process, so # "versioneer" may be imported multiple times, and python's shared # module-import table will cache the first one. So we can't use # os.path.dirname(__file__), as that will find whichever # versioneer.py was first imported, even in later projects. me = os.path.realpath(os.path.abspath(__file__)) me_dir = os.path.normcase(os.path.splitext(me)[0]) vsr_dir = os.path.normcase(os.path.splitext(versioneer_py)[0]) if me_dir != vsr_dir: print("Warning: build in %s is using versioneer.py from %s" % (os.path.dirname(me), versioneer_py)) except NameError: pass return root def get_config_from_root(root): """Read the project setup.cfg file to determine Versioneer config.""" # This might raise EnvironmentError (if setup.cfg is missing), or # configparser.NoSectionError (if it lacks a [versioneer] section), or # configparser.NoOptionError (if it lacks "VCS="). See the docstring at # the top of versioneer.py for instructions on writing your setup.cfg . setup_cfg = os.path.join(root, "setup.cfg") parser = configparser.ConfigParser() parser.read(setup_cfg) VCS = parser.get("versioneer", "VCS") # mandatory def get(parser, name): if parser.has_option("versioneer", name): return parser.get("versioneer", name) return None cfg = VersioneerConfig() cfg.VCS = VCS cfg.style = get(parser, "style") or "" cfg.versionfile_source = get(parser, "versionfile_source") cfg.versionfile_build = get(parser, "versionfile_build") cfg.tag_prefix = get(parser, "tag_prefix") if cfg.tag_prefix in ("''", '""'): cfg.tag_prefix = "" cfg.parentdir_prefix = get(parser, "parentdir_prefix") cfg.verbose = get(parser, "verbose") return cfg class NotThisMethod(Exception): """Exception raised if a method is not valid for the current scenario.""" # these dictionaries contain VCS-specific tools LONG_VERSION_PY = {} HANDLERS = {} def register_vcs_handler(vcs, method): # decorator """Decorator to mark a method as the handler for a particular VCS.""" def decorate(f): """Store f in HANDLERS[vcs][method].""" if vcs not in HANDLERS: HANDLERS[vcs] = {} HANDLERS[vcs][method] = f return f return decorate def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, env=None): """Call the given command(s).""" assert isinstance(commands, list) p = None for c in commands: try: dispcmd = str([c] + args) # remember shell=False, so use git.cmd on windows, not just git p = subprocess.Popen([c] + args, cwd=cwd, env=env, stdout=subprocess.PIPE, stderr=(subprocess.PIPE if hide_stderr else None)) break except EnvironmentError: e = sys.exc_info()[1] if e.errno == errno.ENOENT: continue if verbose: print("unable to run %s" % dispcmd) print(e) return None, None else: if verbose: print("unable to find command, tried %s" % (commands,)) return None, None stdout = p.communicate()[0].strip() if sys.version_info[0] >= 3: stdout = stdout.decode() if p.returncode != 0: if verbose: print("unable to run %s (error)" % dispcmd) print("stdout was %s" % stdout) return None, p.returncode return stdout, p.returncode LONG_VERSION_PY['git'] = ''' # This file helps to compute a version number in source trees obtained from # git-archive tarball (such as those provided by githubs download-from-tag # feature). Distribution tarballs (built by setup.py sdist) and build # directories (produced by setup.py build) will contain a much shorter file # that just contains the computed version number. # This file is released into the public domain. Generated by # versioneer-0.18 (https://github.com/warner/python-versioneer) """Git implementation of _version.py.""" import errno import os import re import subprocess import sys def get_keywords(): """Get the keywords needed to look up the version information.""" # these strings will be replaced by git during git-archive. # setup.py/versioneer.py will grep for the variable names, so they must # each be defined on a line of their own. _version.py will just call # get_keywords(). git_refnames = "%(DOLLAR)sFormat:%%d%(DOLLAR)s" git_full = "%(DOLLAR)sFormat:%%H%(DOLLAR)s" git_date = "%(DOLLAR)sFormat:%%ci%(DOLLAR)s" keywords = {"refnames": git_refnames, "full": git_full, "date": git_date} return keywords class VersioneerConfig: """Container for Versioneer configuration parameters.""" def get_config(): """Create, populate and return the VersioneerConfig() object.""" # these strings are filled in when 'setup.py versioneer' creates # _version.py cfg = VersioneerConfig() cfg.VCS = "git" cfg.style = "%(STYLE)s" cfg.tag_prefix = "%(TAG_PREFIX)s" cfg.parentdir_prefix = "%(PARENTDIR_PREFIX)s" cfg.versionfile_source = "%(VERSIONFILE_SOURCE)s" cfg.verbose = False return cfg class NotThisMethod(Exception): """Exception raised if a method is not valid for the current scenario.""" LONG_VERSION_PY = {} HANDLERS = {} def register_vcs_handler(vcs, method): # decorator """Decorator to mark a method as the handler for a particular VCS.""" def decorate(f): """Store f in HANDLERS[vcs][method].""" if vcs not in HANDLERS: HANDLERS[vcs] = {} HANDLERS[vcs][method] = f return f return decorate def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, env=None): """Call the given command(s).""" assert isinstance(commands, list) p = None for c in commands: try: dispcmd = str([c] + args) # remember shell=False, so use git.cmd on windows, not just git p = subprocess.Popen([c] + args, cwd=cwd, env=env, stdout=subprocess.PIPE, stderr=(subprocess.PIPE if hide_stderr else None)) break except EnvironmentError: e = sys.exc_info()[1] if e.errno == errno.ENOENT: continue if verbose: print("unable to run %%s" %% dispcmd) print(e) return None, None else: if verbose: print("unable to find command, tried %%s" %% (commands,)) return None, None stdout = p.communicate()[0].strip() if sys.version_info[0] >= 3: stdout = stdout.decode() if p.returncode != 0: if verbose: print("unable to run %%s (error)" %% dispcmd) print("stdout was %%s" %% stdout) return None, p.returncode return stdout, p.returncode def versions_from_parentdir(parentdir_prefix, root, verbose): """Try to determine the version from the parent directory name. Source tarballs conventionally unpack into a directory that includes both the project name and a version string. We will also support searching up two directory levels for an appropriately named parent directory """ rootdirs = [] for i in range(3): dirname = os.path.basename(root) if dirname.startswith(parentdir_prefix): return {"version": dirname[len(parentdir_prefix):], "full-revisionid": None, "dirty": False, "error": None, "date": None} else: rootdirs.append(root) root = os.path.dirname(root) # up a level if verbose: print("Tried directories %%s but none started with prefix %%s" %% (str(rootdirs), parentdir_prefix)) raise NotThisMethod("rootdir doesn't start with parentdir_prefix") @register_vcs_handler("git", "get_keywords") def git_get_keywords(versionfile_abs): """Extract version information from the given file.""" # the code embedded in _version.py can just fetch the value of these # keywords. When used from setup.py, we don't want to import _version.py, # so we do it with a regexp instead. This function is not used from # _version.py. keywords = {} try: f = open(versionfile_abs, "r") for line in f.readlines(): if line.strip().startswith("git_refnames ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["refnames"] = mo.group(1) if line.strip().startswith("git_full ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["full"] = mo.group(1) if line.strip().startswith("git_date ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["date"] = mo.group(1) f.close() except EnvironmentError: pass return keywords @register_vcs_handler("git", "keywords") def git_versions_from_keywords(keywords, tag_prefix, verbose): """Get version information from git keywords.""" if not keywords: raise NotThisMethod("no keywords at all, weird") date = keywords.get("date") if date is not None: # git-2.2.0 added "%%cI", which expands to an ISO-8601 -compliant # datestamp. However we prefer "%%ci" (which expands to an "ISO-8601 # -like" string, which we must then edit to make compliant), because # it's been around since git-1.5.3, and it's too difficult to # discover which version we're using, or to work around using an # older one. date = date.strip().replace(" ", "T", 1).replace(" ", "", 1) refnames = keywords["refnames"].strip() if refnames.startswith("$Format"): if verbose: print("keywords are unexpanded, not using") raise NotThisMethod("unexpanded keywords, not a git-archive tarball") refs = set([r.strip() for r in refnames.strip("()").split(",")]) # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of # just "foo-1.0". If we see a "tag: " prefix, prefer those. TAG = "tag: " tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) if not tags: # Either we're using git < 1.8.3, or there really are no tags. We use # a heuristic: assume all version tags have a digit. The old git %%d # expansion behaves like git log --decorate=short and strips out the # refs/heads/ and refs/tags/ prefixes that would let us distinguish # between branches and tags. By ignoring refnames without digits, we # filter out many common branch names like "release" and # "stabilization", as well as "HEAD" and "master". tags = set([r for r in refs if re.search(r'\d', r)]) if verbose: print("discarding '%%s', no digits" %% ",".join(refs - tags)) if verbose: print("likely tags: %%s" %% ",".join(sorted(tags))) for ref in sorted(tags): # sorting will prefer e.g. "2.0" over "2.0rc1" if ref.startswith(tag_prefix): r = ref[len(tag_prefix):] if verbose: print("picking %%s" %% r) return {"version": r, "full-revisionid": keywords["full"].strip(), "dirty": False, "error": None, "date": date} # no suitable tags, so version is "0+unknown", but full hex is still there if verbose: print("no suitable tags, using unknown + full revision id") return {"version": "0+unknown", "full-revisionid": keywords["full"].strip(), "dirty": False, "error": "no suitable tags", "date": None} @register_vcs_handler("git", "pieces_from_vcs") def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): """Get version from 'git describe' in the root of the source tree. This only gets called if the git-archive 'subst' keywords were *not* expanded, and _version.py hasn't already been rewritten with a short version string, meaning we're inside a checked out source tree. """ GITS = ["git"] if sys.platform == "win32": GITS = ["git.cmd", "git.exe"] out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, hide_stderr=True) if rc != 0: if verbose: print("Directory %%s not under git control" %% root) raise NotThisMethod("'git rev-parse --git-dir' returned error") # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] # if there isn't one, this yields HEX[-dirty] (no NUM) describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", "--always", "--long", "--match", "%%s*" %% tag_prefix], cwd=root) # --long was added in git-1.5.5 if describe_out is None: raise NotThisMethod("'git describe' failed") describe_out = describe_out.strip() full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) if full_out is None: raise NotThisMethod("'git rev-parse' failed") full_out = full_out.strip() pieces = {} pieces["long"] = full_out pieces["short"] = full_out[:7] # maybe improved later pieces["error"] = None # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] # TAG might have hyphens. git_describe = describe_out # look for -dirty suffix dirty = git_describe.endswith("-dirty") pieces["dirty"] = dirty if dirty: git_describe = git_describe[:git_describe.rindex("-dirty")] # now we have TAG-NUM-gHEX or HEX if "-" in git_describe: # TAG-NUM-gHEX mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) if not mo: # unparseable. Maybe git-describe is misbehaving? pieces["error"] = ("unable to parse git-describe output: '%%s'" %% describe_out) return pieces # tag full_tag = mo.group(1) if not full_tag.startswith(tag_prefix): if verbose: fmt = "tag '%%s' doesn't start with prefix '%%s'" print(fmt %% (full_tag, tag_prefix)) pieces["error"] = ("tag '%%s' doesn't start with prefix '%%s'" %% (full_tag, tag_prefix)) return pieces pieces["closest-tag"] = full_tag[len(tag_prefix):] # distance: number of commits since tag pieces["distance"] = int(mo.group(2)) # commit: short hex revision ID pieces["short"] = mo.group(3) else: # HEX: no tags pieces["closest-tag"] = None count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], cwd=root) pieces["distance"] = int(count_out) # total number of commits # commit date: see ISO-8601 comment in git_versions_from_keywords() date = run_command(GITS, ["show", "-s", "--format=%%ci", "HEAD"], cwd=root)[0].strip() pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) return pieces def plus_or_dot(pieces): """Return a + if we don't already have one, else return a .""" if "+" in pieces.get("closest-tag", ""): return "." return "+" def render_pep440(pieces): """Build up version string, with post-release "local version identifier". Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you get a tagged build and then dirty it, you'll get TAG+0.gHEX.dirty Exceptions: 1: no tags. git_describe was just HEX. 0+untagged.DISTANCE.gHEX[.dirty] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += plus_or_dot(pieces) rendered += "%%d.g%%s" %% (pieces["distance"], pieces["short"]) if pieces["dirty"]: rendered += ".dirty" else: # exception #1 rendered = "0+untagged.%%d.g%%s" %% (pieces["distance"], pieces["short"]) if pieces["dirty"]: rendered += ".dirty" return rendered def render_pep440_pre(pieces): """TAG[.post.devDISTANCE] -- No -dirty. Exceptions: 1: no tags. 0.post.devDISTANCE """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"]: rendered += ".post.dev%%d" %% pieces["distance"] else: # exception #1 rendered = "0.post.dev%%d" %% pieces["distance"] return rendered def render_pep440_post(pieces): """TAG[.postDISTANCE[.dev0]+gHEX] . The ".dev0" means dirty. Note that .dev0 sorts backwards (a dirty tree will appear "older" than the corresponding clean one), but you shouldn't be releasing software with -dirty anyways. Exceptions: 1: no tags. 0.postDISTANCE[.dev0] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += ".post%%d" %% pieces["distance"] if pieces["dirty"]: rendered += ".dev0" rendered += plus_or_dot(pieces) rendered += "g%%s" %% pieces["short"] else: # exception #1 rendered = "0.post%%d" %% pieces["distance"] if pieces["dirty"]: rendered += ".dev0" rendered += "+g%%s" %% pieces["short"] return rendered def render_pep440_old(pieces): """TAG[.postDISTANCE[.dev0]] . The ".dev0" means dirty. Eexceptions: 1: no tags. 0.postDISTANCE[.dev0] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += ".post%%d" %% pieces["distance"] if pieces["dirty"]: rendered += ".dev0" else: # exception #1 rendered = "0.post%%d" %% pieces["distance"] if pieces["dirty"]: rendered += ".dev0" return rendered def render_git_describe(pieces): """TAG[-DISTANCE-gHEX][-dirty]. Like 'git describe --tags --dirty --always'. Exceptions: 1: no tags. HEX[-dirty] (note: no 'g' prefix) """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"]: rendered += "-%%d-g%%s" %% (pieces["distance"], pieces["short"]) else: # exception #1 rendered = pieces["short"] if pieces["dirty"]: rendered += "-dirty" return rendered def render_git_describe_long(pieces): """TAG-DISTANCE-gHEX[-dirty]. Like 'git describe --tags --dirty --always -long'. The distance/hash is unconditional. Exceptions: 1: no tags. HEX[-dirty] (note: no 'g' prefix) """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] rendered += "-%%d-g%%s" %% (pieces["distance"], pieces["short"]) else: # exception #1 rendered = pieces["short"] if pieces["dirty"]: rendered += "-dirty" return rendered def render(pieces, style): """Render the given version pieces into the requested style.""" if pieces["error"]: return {"version": "unknown", "full-revisionid": pieces.get("long"), "dirty": None, "error": pieces["error"], "date": None} if not style or style == "default": style = "pep440" # the default if style == "pep440": rendered = render_pep440(pieces) elif style == "pep440-pre": rendered = render_pep440_pre(pieces) elif style == "pep440-post": rendered = render_pep440_post(pieces) elif style == "pep440-old": rendered = render_pep440_old(pieces) elif style == "git-describe": rendered = render_git_describe(pieces) elif style == "git-describe-long": rendered = render_git_describe_long(pieces) else: raise ValueError("unknown style '%%s'" %% style) return {"version": rendered, "full-revisionid": pieces["long"], "dirty": pieces["dirty"], "error": None, "date": pieces.get("date")} def get_versions(): """Get version information or return default if unable to do so.""" # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have # __file__, we can work backwards from there to the root. Some # py2exe/bbfreeze/non-CPython implementations don't do __file__, in which # case we can only use expanded keywords. cfg = get_config() verbose = cfg.verbose try: return git_versions_from_keywords(get_keywords(), cfg.tag_prefix, verbose) except NotThisMethod: pass try: root = os.path.realpath(__file__) # versionfile_source is the relative path from the top of the source # tree (where the .git directory might live) to this file. Invert # this to find the root from __file__. for i in cfg.versionfile_source.split('/'): root = os.path.dirname(root) except NameError: return {"version": "0+unknown", "full-revisionid": None, "dirty": None, "error": "unable to find root of source tree", "date": None} try: pieces = git_pieces_from_vcs(cfg.tag_prefix, root, verbose) return render(pieces, cfg.style) except NotThisMethod: pass try: if cfg.parentdir_prefix: return versions_from_parentdir(cfg.parentdir_prefix, root, verbose) except NotThisMethod: pass return {"version": "0+unknown", "full-revisionid": None, "dirty": None, "error": "unable to compute version", "date": None} ''' @register_vcs_handler("git", "get_keywords") def git_get_keywords(versionfile_abs): """Extract version information from the given file.""" # the code embedded in _version.py can just fetch the value of these # keywords. When used from setup.py, we don't want to import _version.py, # so we do it with a regexp instead. This function is not used from # _version.py. keywords = {} try: f = open(versionfile_abs, "r") for line in f.readlines(): if line.strip().startswith("git_refnames ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["refnames"] = mo.group(1) if line.strip().startswith("git_full ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["full"] = mo.group(1) if line.strip().startswith("git_date ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["date"] = mo.group(1) f.close() except EnvironmentError: pass return keywords @register_vcs_handler("git", "keywords") def git_versions_from_keywords(keywords, tag_prefix, verbose): """Get version information from git keywords.""" if not keywords: raise NotThisMethod("no keywords at all, weird") date = keywords.get("date") if date is not None: # git-2.2.0 added "%cI", which expands to an ISO-8601 -compliant # datestamp. However we prefer "%ci" (which expands to an "ISO-8601 # -like" string, which we must then edit to make compliant), because # it's been around since git-1.5.3, and it's too difficult to # discover which version we're using, or to work around using an # older one. date = date.strip().replace(" ", "T", 1).replace(" ", "", 1) refnames = keywords["refnames"].strip() if refnames.startswith("$Format"): if verbose: print("keywords are unexpanded, not using") raise NotThisMethod("unexpanded keywords, not a git-archive tarball") refs = set([r.strip() for r in refnames.strip("()").split(",")]) # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of # just "foo-1.0". If we see a "tag: " prefix, prefer those. TAG = "tag: " tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) if not tags: # Either we're using git < 1.8.3, or there really are no tags. We use # a heuristic: assume all version tags have a digit. The old git %d # expansion behaves like git log --decorate=short and strips out the # refs/heads/ and refs/tags/ prefixes that would let us distinguish # between branches and tags. By ignoring refnames without digits, we # filter out many common branch names like "release" and # "stabilization", as well as "HEAD" and "master". tags = set([r for r in refs if re.search(r'\d', r)]) if verbose: print("discarding '%s', no digits" % ",".join(refs - tags)) if verbose: print("likely tags: %s" % ",".join(sorted(tags))) for ref in sorted(tags): # sorting will prefer e.g. "2.0" over "2.0rc1" if ref.startswith(tag_prefix): r = ref[len(tag_prefix):] if verbose: print("picking %s" % r) return {"version": r, "full-revisionid": keywords["full"].strip(), "dirty": False, "error": None, "date": date} # no suitable tags, so version is "0+unknown", but full hex is still there if verbose: print("no suitable tags, using unknown + full revision id") return {"version": "0+unknown", "full-revisionid": keywords["full"].strip(), "dirty": False, "error": "no suitable tags", "date": None} @register_vcs_handler("git", "pieces_from_vcs") def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): """Get version from 'git describe' in the root of the source tree. This only gets called if the git-archive 'subst' keywords were *not* expanded, and _version.py hasn't already been rewritten with a short version string, meaning we're inside a checked out source tree. """ GITS = ["git"] if sys.platform == "win32": GITS = ["git.cmd", "git.exe"] out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, hide_stderr=True) if rc != 0: if verbose: print("Directory %s not under git control" % root) raise NotThisMethod("'git rev-parse --git-dir' returned error") # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] # if there isn't one, this yields HEX[-dirty] (no NUM) describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", "--always", "--long", "--match", "%s*" % tag_prefix], cwd=root) # --long was added in git-1.5.5 if describe_out is None: raise NotThisMethod("'git describe' failed") describe_out = describe_out.strip() full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) if full_out is None: raise NotThisMethod("'git rev-parse' failed") full_out = full_out.strip() pieces = {} pieces["long"] = full_out pieces["short"] = full_out[:7] # maybe improved later pieces["error"] = None # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] # TAG might have hyphens. git_describe = describe_out # look for -dirty suffix dirty = git_describe.endswith("-dirty") pieces["dirty"] = dirty if dirty: git_describe = git_describe[:git_describe.rindex("-dirty")] # now we have TAG-NUM-gHEX or HEX if "-" in git_describe: # TAG-NUM-gHEX mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) if not mo: # unparseable. Maybe git-describe is misbehaving? pieces["error"] = ("unable to parse git-describe output: '%s'" % describe_out) return pieces # tag full_tag = mo.group(1) if not full_tag.startswith(tag_prefix): if verbose: fmt = "tag '%s' doesn't start with prefix '%s'" print(fmt % (full_tag, tag_prefix)) pieces["error"] = ("tag '%s' doesn't start with prefix '%s'" % (full_tag, tag_prefix)) return pieces pieces["closest-tag"] = full_tag[len(tag_prefix):] # distance: number of commits since tag pieces["distance"] = int(mo.group(2)) # commit: short hex revision ID pieces["short"] = mo.group(3) else: # HEX: no tags pieces["closest-tag"] = None count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], cwd=root) pieces["distance"] = int(count_out) # total number of commits # commit date: see ISO-8601 comment in git_versions_from_keywords() date = run_command(GITS, ["show", "-s", "--format=%ci", "HEAD"], cwd=root)[0].strip() pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) return pieces def do_vcs_install(manifest_in, versionfile_source, ipy): """Git-specific installation logic for Versioneer. For Git, this means creating/changing .gitattributes to mark _version.py for export-subst keyword substitution. """ GITS = ["git"] if sys.platform == "win32": GITS = ["git.cmd", "git.exe"] files = [manifest_in, versionfile_source] if ipy: files.append(ipy) try: me = __file__ if me.endswith(".pyc") or me.endswith(".pyo"): me = os.path.splitext(me)[0] + ".py" versioneer_file = os.path.relpath(me) except NameError: versioneer_file = "versioneer.py" files.append(versioneer_file) present = False try: f = open(".gitattributes", "r") for line in f.readlines(): if line.strip().startswith(versionfile_source): if "export-subst" in line.strip().split()[1:]: present = True f.close() except EnvironmentError: pass if not present: f = open(".gitattributes", "a+") f.write("%s export-subst\n" % versionfile_source) f.close() files.append(".gitattributes") run_command(GITS, ["add", "--"] + files) def versions_from_parentdir(parentdir_prefix, root, verbose): """Try to determine the version from the parent directory name. Source tarballs conventionally unpack into a directory that includes both the project name and a version string. We will also support searching up two directory levels for an appropriately named parent directory """ rootdirs = [] for i in range(3): dirname = os.path.basename(root) if dirname.startswith(parentdir_prefix): return {"version": dirname[len(parentdir_prefix):], "full-revisionid": None, "dirty": False, "error": None, "date": None} else: rootdirs.append(root) root = os.path.dirname(root) # up a level if verbose: print("Tried directories %s but none started with prefix %s" % (str(rootdirs), parentdir_prefix)) raise NotThisMethod("rootdir doesn't start with parentdir_prefix") SHORT_VERSION_PY = """ # This file was generated by 'versioneer.py' (0.18) from # revision-control system data, or from the parent directory name of an # unpacked source archive. Distribution tarballs contain a pre-generated copy # of this file. import json version_json = ''' %s ''' # END VERSION_JSON def get_versions(): return json.loads(version_json) """ def versions_from_file(filename): """Try to determine the version from _version.py if present.""" try: with open(filename) as f: contents = f.read() except EnvironmentError: raise NotThisMethod("unable to read _version.py") mo = re.search(r"version_json = '''\n(.*)''' # END VERSION_JSON", contents, re.M | re.S) if not mo: mo = re.search(r"version_json = '''\r\n(.*)''' # END VERSION_JSON", contents, re.M | re.S) if not mo: raise NotThisMethod("no version_json in _version.py") return json.loads(mo.group(1)) def write_to_version_file(filename, versions): """Write the given version number to the given _version.py file.""" os.unlink(filename) contents = json.dumps(versions, sort_keys=True, indent=1, separators=(",", ": ")) with open(filename, "w") as f: f.write(SHORT_VERSION_PY % contents) print("set %s to '%s'" % (filename, versions["version"])) def plus_or_dot(pieces): """Return a + if we don't already have one, else return a .""" if "+" in pieces.get("closest-tag", ""): return "." return "+" def render_pep440(pieces): """Build up version string, with post-release "local version identifier". Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you get a tagged build and then dirty it, you'll get TAG+0.gHEX.dirty Exceptions: 1: no tags. git_describe was just HEX. 0+untagged.DISTANCE.gHEX[.dirty] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += plus_or_dot(pieces) rendered += "%d.g%s" % (pieces["distance"], pieces["short"]) if pieces["dirty"]: rendered += ".dirty" else: # exception #1 rendered = "0+untagged.%d.g%s" % (pieces["distance"], pieces["short"]) if pieces["dirty"]: rendered += ".dirty" return rendered def render_pep440_pre(pieces): """TAG[.post.devDISTANCE] -- No -dirty. Exceptions: 1: no tags. 0.post.devDISTANCE """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"]: rendered += ".post.dev%d" % pieces["distance"] else: # exception #1 rendered = "0.post.dev%d" % pieces["distance"] return rendered def render_pep440_post(pieces): """TAG[.postDISTANCE[.dev0]+gHEX] . The ".dev0" means dirty. Note that .dev0 sorts backwards (a dirty tree will appear "older" than the corresponding clean one), but you shouldn't be releasing software with -dirty anyways. Exceptions: 1: no tags. 0.postDISTANCE[.dev0] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += ".post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" rendered += plus_or_dot(pieces) rendered += "g%s" % pieces["short"] else: # exception #1 rendered = "0.post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" rendered += "+g%s" % pieces["short"] return rendered def render_pep440_old(pieces): """TAG[.postDISTANCE[.dev0]] . The ".dev0" means dirty. Eexceptions: 1: no tags. 0.postDISTANCE[.dev0] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += ".post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" else: # exception #1 rendered = "0.post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" return rendered def render_git_describe(pieces): """TAG[-DISTANCE-gHEX][-dirty]. Like 'git describe --tags --dirty --always'. Exceptions: 1: no tags. HEX[-dirty] (note: no 'g' prefix) """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"]: rendered += "-%d-g%s" % (pieces["distance"], pieces["short"]) else: # exception #1 rendered = pieces["short"] if pieces["dirty"]: rendered += "-dirty" return rendered def render_git_describe_long(pieces): """TAG-DISTANCE-gHEX[-dirty]. Like 'git describe --tags --dirty --always -long'. The distance/hash is unconditional. Exceptions: 1: no tags. HEX[-dirty] (note: no 'g' prefix) """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] rendered += "-%d-g%s" % (pieces["distance"], pieces["short"]) else: # exception #1 rendered = pieces["short"] if pieces["dirty"]: rendered += "-dirty" return rendered def render(pieces, style): """Render the given version pieces into the requested style.""" if pieces["error"]: return {"version": "unknown", "full-revisionid": pieces.get("long"), "dirty": None, "error": pieces["error"], "date": None} if not style or style == "default": style = "pep440" # the default if style == "pep440": rendered = render_pep440(pieces) elif style == "pep440-pre": rendered = render_pep440_pre(pieces) elif style == "pep440-post": rendered = render_pep440_post(pieces) elif style == "pep440-old": rendered = render_pep440_old(pieces) elif style == "git-describe": rendered = render_git_describe(pieces) elif style == "git-describe-long": rendered = render_git_describe_long(pieces) else: raise ValueError("unknown style '%s'" % style) return {"version": rendered, "full-revisionid": pieces["long"], "dirty": pieces["dirty"], "error": None, "date": pieces.get("date")} class VersioneerBadRootError(Exception): """The project root directory is unknown or missing key files.""" def get_versions(verbose=False): """Get the project version from whatever source is available. Returns dict with two keys: 'version' and 'full'. """ if "versioneer" in sys.modules: # see the discussion in cmdclass.py:get_cmdclass() del sys.modules["versioneer"] root = get_root() cfg = get_config_from_root(root) assert cfg.VCS is not None, "please set [versioneer]VCS= in setup.cfg" handlers = HANDLERS.get(cfg.VCS) assert handlers, "unrecognized VCS '%s'" % cfg.VCS verbose = verbose or cfg.verbose assert cfg.versionfile_source is not None, \ "please set versioneer.versionfile_source" assert cfg.tag_prefix is not None, "please set versioneer.tag_prefix" versionfile_abs = os.path.join(root, cfg.versionfile_source) # extract version from first of: _version.py, VCS command (e.g. 'git # describe'), parentdir. This is meant to work for developers using a # source checkout, for users of a tarball created by 'setup.py sdist', # and for users of a tarball/zipball created by 'git archive' or github's # download-from-tag feature or the equivalent in other VCSes. get_keywords_f = handlers.get("get_keywords") from_keywords_f = handlers.get("keywords") if get_keywords_f and from_keywords_f: try: keywords = get_keywords_f(versionfile_abs) ver = from_keywords_f(keywords, cfg.tag_prefix, verbose) if verbose: print("got version from expanded keyword %s" % ver) return ver except NotThisMethod: pass try: ver = versions_from_file(versionfile_abs) if verbose: print("got version from file %s %s" % (versionfile_abs, ver)) return ver except NotThisMethod: pass from_vcs_f = handlers.get("pieces_from_vcs") if from_vcs_f: try: pieces = from_vcs_f(cfg.tag_prefix, root, verbose) ver = render(pieces, cfg.style) if verbose: print("got version from VCS %s" % ver) return ver except NotThisMethod: pass try: if cfg.parentdir_prefix: ver = versions_from_parentdir(cfg.parentdir_prefix, root, verbose) if verbose: print("got version from parentdir %s" % ver) return ver except NotThisMethod: pass if verbose: print("unable to compute version") return {"version": "0+unknown", "full-revisionid": None, "dirty": None, "error": "unable to compute version", "date": None} def get_version(): """Get the short version string for this project.""" return get_versions()["version"] def get_cmdclass(): """Get the custom setuptools/distutils subclasses used by Versioneer.""" if "versioneer" in sys.modules: del sys.modules["versioneer"] # this fixes the "python setup.py develop" case (also 'install' and # 'easy_install .'), in which subdependencies of the main project are # built (using setup.py bdist_egg) in the same python process. Assume # a main project A and a dependency B, which use different versions # of Versioneer. A's setup.py imports A's Versioneer, leaving it in # sys.modules by the time B's setup.py is executed, causing B to run # with the wrong versioneer. Setuptools wraps the sub-dep builds in a # sandbox that restores sys.modules to it's pre-build state, so the # parent is protected against the child's "import versioneer". By # removing ourselves from sys.modules here, before the child build # happens, we protect the child from the parent's versioneer too. # Also see https://github.com/warner/python-versioneer/issues/52 cmds = {} # we add "version" to both distutils and setuptools from distutils.core import Command class cmd_version(Command): description = "report generated version string" user_options = [] boolean_options = [] def initialize_options(self): pass def finalize_options(self): pass def run(self): vers = get_versions(verbose=True) print("Version: %s" % vers["version"]) print(" full-revisionid: %s" % vers.get("full-revisionid")) print(" dirty: %s" % vers.get("dirty")) print(" date: %s" % vers.get("date")) if vers["error"]: print(" error: %s" % vers["error"]) cmds["version"] = cmd_version # we override "build_py" in both distutils and setuptools # # most invocation pathways end up running build_py: # distutils/build -> build_py # distutils/install -> distutils/build ->.. # setuptools/bdist_wheel -> distutils/install ->.. # setuptools/bdist_egg -> distutils/install_lib -> build_py # setuptools/install -> bdist_egg ->.. # setuptools/develop -> ? # pip install: # copies source tree to a tempdir before running egg_info/etc # if .git isn't copied too, 'git describe' will fail # then does setup.py bdist_wheel, or sometimes setup.py install # setup.py egg_info -> ? # we override different "build_py" commands for both environments if "setuptools" in sys.modules: from setuptools.command.build_py import build_py as _build_py else: from distutils.command.build_py import build_py as _build_py class cmd_build_py(_build_py): def run(self): root = get_root() cfg = get_config_from_root(root) versions = get_versions() _build_py.run(self) # now locate _version.py in the new build/ directory and replace # it with an updated value if cfg.versionfile_build: target_versionfile = os.path.join(self.build_lib, cfg.versionfile_build) print("UPDATING %s" % target_versionfile) write_to_version_file(target_versionfile, versions) cmds["build_py"] = cmd_build_py if "cx_Freeze" in sys.modules: # cx_freeze enabled? from cx_Freeze.dist import build_exe as _build_exe # nczeczulin reports that py2exe won't like the pep440-style string # as FILEVERSION, but it can be used for PRODUCTVERSION, e.g. # setup(console=[{ # "version": versioneer.get_version().split("+", 1)[0], # FILEVERSION # "product_version": versioneer.get_version(), # ... class cmd_build_exe(_build_exe): def run(self): root = get_root() cfg = get_config_from_root(root) versions = get_versions() target_versionfile = cfg.versionfile_source print("UPDATING %s" % target_versionfile) write_to_version_file(target_versionfile, versions) _build_exe.run(self) os.unlink(target_versionfile) with open(cfg.versionfile_source, "w") as f: LONG = LONG_VERSION_PY[cfg.VCS] f.write(LONG % {"DOLLAR": "$", "STYLE": cfg.style, "TAG_PREFIX": cfg.tag_prefix, "PARENTDIR_PREFIX": cfg.parentdir_prefix, "VERSIONFILE_SOURCE": cfg.versionfile_source, }) cmds["build_exe"] = cmd_build_exe del cmds["build_py"] if 'py2exe' in sys.modules: # py2exe enabled? try: from py2exe.distutils_buildexe import py2exe as _py2exe # py3 except ImportError: from py2exe.build_exe import py2exe as _py2exe # py2 class cmd_py2exe(_py2exe): def run(self): root = get_root() cfg = get_config_from_root(root) versions = get_versions() target_versionfile = cfg.versionfile_source print("UPDATING %s" % target_versionfile) write_to_version_file(target_versionfile, versions) _py2exe.run(self) os.unlink(target_versionfile) with open(cfg.versionfile_source, "w") as f: LONG = LONG_VERSION_PY[cfg.VCS] f.write(LONG % {"DOLLAR": "$", "STYLE": cfg.style, "TAG_PREFIX": cfg.tag_prefix, "PARENTDIR_PREFIX": cfg.parentdir_prefix, "VERSIONFILE_SOURCE": cfg.versionfile_source, }) cmds["py2exe"] = cmd_py2exe # we override different "sdist" commands for both environments if "setuptools" in sys.modules: from setuptools.command.sdist import sdist as _sdist else: from distutils.command.sdist import sdist as _sdist class cmd_sdist(_sdist): def run(self): versions = get_versions() self._versioneer_generated_versions = versions # unless we update this, the command will keep using the old # version self.distribution.metadata.version = versions["version"] return _sdist.run(self) def make_release_tree(self, base_dir, files): root = get_root() cfg = get_config_from_root(root) _sdist.make_release_tree(self, base_dir, files) # now locate _version.py in the new base_dir directory # (remembering that it may be a hardlink) and replace it with an # updated value target_versionfile = os.path.join(base_dir, cfg.versionfile_source) print("UPDATING %s" % target_versionfile) write_to_version_file(target_versionfile, self._versioneer_generated_versions) cmds["sdist"] = cmd_sdist return cmds CONFIG_ERROR = """ setup.cfg is missing the necessary Versioneer configuration. You need a section like: [versioneer] VCS = git style = pep440 versionfile_source = src/myproject/_version.py versionfile_build = myproject/_version.py tag_prefix = parentdir_prefix = myproject- You will also need to edit your setup.py to use the results: import versioneer setup(version=versioneer.get_version(), cmdclass=versioneer.get_cmdclass(), ...) Please read the docstring in ./versioneer.py for configuration instructions, edit setup.cfg, and re-run the installer or 'python versioneer.py setup'. """ SAMPLE_CONFIG = """ # See the docstring in versioneer.py for instructions. Note that you must # re-run 'versioneer.py setup' after changing this section, and commit the # resulting files. [versioneer] #VCS = git #style = pep440 #versionfile_source = #versionfile_build = #tag_prefix = #parentdir_prefix = """ INIT_PY_SNIPPET = """ from ._version import get_versions __version__ = get_versions()['version'] del get_versions """ def do_setup(): """Main VCS-independent setup function for installing Versioneer.""" root = get_root() try: cfg = get_config_from_root(root) except (EnvironmentError, configparser.NoSectionError, configparser.NoOptionError) as e: if isinstance(e, (EnvironmentError, configparser.NoSectionError)): print("Adding sample versioneer config to setup.cfg", file=sys.stderr) with open(os.path.join(root, "setup.cfg"), "a") as f: f.write(SAMPLE_CONFIG) print(CONFIG_ERROR, file=sys.stderr) return 1 print(" creating %s" % cfg.versionfile_source) with open(cfg.versionfile_source, "w") as f: LONG = LONG_VERSION_PY[cfg.VCS] f.write(LONG % {"DOLLAR": "$", "STYLE": cfg.style, "TAG_PREFIX": cfg.tag_prefix, "PARENTDIR_PREFIX": cfg.parentdir_prefix, "VERSIONFILE_SOURCE": cfg.versionfile_source, }) ipy = os.path.join(os.path.dirname(cfg.versionfile_source), "__init__.py") if os.path.exists(ipy): try: with open(ipy, "r") as f: old = f.read() except EnvironmentError: old = "" if INIT_PY_SNIPPET not in old: print(" appending to %s" % ipy) with open(ipy, "a") as f: f.write(INIT_PY_SNIPPET) else: print(" %s unmodified" % ipy) else: print(" %s doesn't exist, ok" % ipy) ipy = None # Make sure both the top-level "versioneer.py" and versionfile_source # (PKG/_version.py, used by runtime code) are in MANIFEST.in, so # they'll be copied into source distributions. Pip won't be able to # install the package without this. manifest_in = os.path.join(root, "MANIFEST.in") simple_includes = set() try: with open(manifest_in, "r") as f: for line in f: if line.startswith("include "): for include in line.split()[1:]: simple_includes.add(include) except EnvironmentError: pass # That doesn't cover everything MANIFEST.in can do # (http://docs.python.org/2/distutils/sourcedist.html#commands), so # it might give some false negatives. Appending redundant 'include' # lines is safe, though. if "versioneer.py" not in simple_includes: print(" appending 'versioneer.py' to MANIFEST.in") with open(manifest_in, "a") as f: f.write("include versioneer.py\n") else: print(" 'versioneer.py' already in MANIFEST.in") if cfg.versionfile_source not in simple_includes: print(" appending versionfile_source ('%s') to MANIFEST.in" % cfg.versionfile_source) with open(manifest_in, "a") as f: f.write("include %s\n" % cfg.versionfile_source) else: print(" versionfile_source already in MANIFEST.in") # Make VCS-specific changes. For git, this means creating/changing # .gitattributes to mark _version.py for export-subst keyword # substitution. do_vcs_install(manifest_in, cfg.versionfile_source, ipy) return 0 def scan_setup_py(): """Validate the contents of setup.py against Versioneer's expectations.""" found = set() setters = False errors = 0 with open("setup.py", "r") as f: for line in f.readlines(): if "import versioneer" in line: found.add("import") if "versioneer.get_cmdclass()" in line: found.add("cmdclass") if "versioneer.get_version()" in line: found.add("get_version") if "versioneer.VCS" in line: setters = True if "versioneer.versionfile_source" in line: setters = True if len(found) != 3: print("") print("Your setup.py appears to be missing some important items") print("(but I might be wrong). Please make sure it has something") print("roughly like the following:") print("") print(" import versioneer") print(" setup( version=versioneer.get_version(),") print(" cmdclass=versioneer.get_cmdclass(), ...)") print("") errors += 1 if setters: print("You should remove lines like 'versioneer.VCS = ' and") print("'versioneer.versionfile_source = ' . This configuration") print("now lives in setup.cfg, and should be removed from setup.py") print("") errors += 1 return errors if __name__ == "__main__": cmd = sys.argv[1] if cmd == "setup": errors = do_setup() errors += scan_setup_py() if errors: sys.exit(1)