From 4b884ade89418c5ced1c770bddfbb45f64701c24 Mon Sep 17 00:00:00 2001 From: <> Date: Mon, 6 May 2024 07:13:08 +0000 Subject: [PATCH] Deployed 9def3cb with MkDocs version: 1.6.0 --- .nojekyll | 0 404.html | 2017 +++++ CNAME | 1 + api/client/index.html | 1110 +++ api/deployment/index.html | 965 +++ api/overview/index.html | 978 +++ api/reference/index.html | 839 +++ api/reference/swagger-8e525426.html | 111 + assets/extra.css | 11 + assets/favicon.ico | Bin 0 -> 15086 bytes assets/flow.png | Bin 0 -> 108701 bytes assets/images/favicon.png | Bin 0 -> 1870 bytes assets/javascripts/bundle.a7c05c9e.min.js | 29 + assets/javascripts/bundle.a7c05c9e.min.js.map | 7 + assets/javascripts/lunr/min/lunr.ar.min.js | 1 + assets/javascripts/lunr/min/lunr.da.min.js | 18 + assets/javascripts/lunr/min/lunr.de.min.js | 18 + assets/javascripts/lunr/min/lunr.du.min.js | 18 + assets/javascripts/lunr/min/lunr.el.min.js | 1 + assets/javascripts/lunr/min/lunr.es.min.js | 18 + assets/javascripts/lunr/min/lunr.fi.min.js | 18 + assets/javascripts/lunr/min/lunr.fr.min.js | 18 + assets/javascripts/lunr/min/lunr.he.min.js | 1 + assets/javascripts/lunr/min/lunr.hi.min.js | 1 + assets/javascripts/lunr/min/lunr.hu.min.js | 18 + assets/javascripts/lunr/min/lunr.hy.min.js | 1 + assets/javascripts/lunr/min/lunr.it.min.js | 18 + assets/javascripts/lunr/min/lunr.ja.min.js | 1 + assets/javascripts/lunr/min/lunr.jp.min.js | 1 + assets/javascripts/lunr/min/lunr.kn.min.js | 1 + assets/javascripts/lunr/min/lunr.ko.min.js | 1 + assets/javascripts/lunr/min/lunr.multi.min.js | 1 + assets/javascripts/lunr/min/lunr.nl.min.js | 18 + assets/javascripts/lunr/min/lunr.no.min.js | 18 + assets/javascripts/lunr/min/lunr.pt.min.js | 18 + assets/javascripts/lunr/min/lunr.ro.min.js | 18 + assets/javascripts/lunr/min/lunr.ru.min.js | 18 + assets/javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + assets/javascripts/lunr/min/lunr.sv.min.js | 18 + assets/javascripts/lunr/min/lunr.ta.min.js | 1 + assets/javascripts/lunr/min/lunr.te.min.js | 1 + assets/javascripts/lunr/min/lunr.th.min.js | 1 + assets/javascripts/lunr/min/lunr.tr.min.js | 18 + assets/javascripts/lunr/min/lunr.vi.min.js | 1 + assets/javascripts/lunr/min/lunr.zh.min.js | 1 + assets/javascripts/lunr/tinyseg.js | 206 + assets/javascripts/lunr/wordcut.js | 6708 +++++++++++++++++ assets/javascripts/swagger-initializer.js | 20 + assets/javascripts/swagger-ui-bundle.js | 2 + assets/javascripts/swagger-ui-bundle.js.map | 1 + .../javascripts/swagger-ui-es-bundle-core.js | 3 + .../swagger-ui-es-bundle-core.js.map | 1 + assets/javascripts/swagger-ui-es-bundle.js | 3 + .../javascripts/swagger-ui-es-bundle.js.map | 1 + .../swagger-ui-standalone-preset.js | 2 + .../swagger-ui-standalone-preset.js.map | 1 + .../workers/search.b8dbb3d2.min.js | 42 + .../workers/search.b8dbb3d2.min.js.map | 7 + assets/join-our-slack-community.png | Bin 0 -> 5136 bytes assets/logo.png | Bin 0 -> 6386 bytes assets/playground_screenshot.png | Bin 0 -> 121311 bytes assets/stylesheets/.DS_Store | Bin 0 -> 6148 bytes assets/stylesheets/main.66ac8b77.min.css | 1 + assets/stylesheets/main.66ac8b77.min.css.map | 1 + assets/stylesheets/palette.06af60db.min.css | 1 + .../stylesheets/palette.06af60db.min.css.map | 1 + assets/stylesheets/swagger-ui-dark.css | 849 +++ assets/stylesheets/swagger-ui.css | 3 + assets/stylesheets/swagger-ui.css.map | 1 + assets/stylesheets/swagger-ui.js | 2 + assets/stylesheets/swagger-ui.js.map | 1 + assets/swagger-ui/oauth2-redirect.html | 79 + changelog/index.html | 1884 +++++ customization/add_scanner/index.html | 886 +++ get_started/attacks/index.html | 929 +++ get_started/best_practices/index.html | 921 +++ get_started/installation/index.html | 909 +++ get_started/playground/index.html | 840 +++ get_started/quickstart/index.html | 919 +++ index.html | 922 +++ input_scanners/anonymize/index.html | 1101 +++ input_scanners/ban_code/index.html | 950 +++ input_scanners/ban_competitors/index.html | 990 +++ input_scanners/ban_substrings/index.html | 946 +++ input_scanners/ban_topics/index.html | 999 +++ input_scanners/code/index.html | 1020 +++ input_scanners/gibberish/index.html | 950 +++ input_scanners/invisible_text/index.html | 917 +++ input_scanners/language/index.html | 1008 +++ input_scanners/prompt_injection/index.html | 1038 +++ input_scanners/regex/index.html | 904 +++ input_scanners/secrets/index.html | 983 +++ input_scanners/sentiment/index.html | 966 +++ input_scanners/token_limit/index.html | 968 +++ input_scanners/toxicity/index.html | 1013 +++ output_scanners/ban_code/index.html | 866 +++ output_scanners/ban_competitors/index.html | 983 +++ output_scanners/ban_substrings/index.html | 956 +++ output_scanners/ban_topics/index.html | 1002 +++ output_scanners/bias/index.html | 1011 +++ output_scanners/code/index.html | 1001 +++ output_scanners/deanonymize/index.html | 888 +++ .../factual_consistency/index.html | 992 +++ output_scanners/gibberish/index.html | 919 +++ output_scanners/json/index.html | 950 +++ output_scanners/language/index.html | 984 +++ output_scanners/language_same/index.html | 985 +++ output_scanners/malicious_urls/index.html | 1006 +++ output_scanners/no_refusal/index.html | 999 +++ output_scanners/reading_time/index.html | 946 +++ output_scanners/regex/index.html | 904 +++ output_scanners/relevance/index.html | 1005 +++ output_scanners/sensitive/index.html | 1000 +++ output_scanners/sentiment/index.html | 965 +++ output_scanners/toxicity/index.html | 995 +++ output_scanners/url_reachability/index.html | 908 +++ overrides/main.html | 5 + search/search_index.json | 1 + sitemap.xml | 288 + sitemap.xml.gz | Bin 0 -> 664 bytes tutorials/attacks/invisible_prompt/index.html | 1662 ++++ tutorials/notebooks/langchain/index.html | 2463 ++++++ .../notebooks/langchain_agents/index.html | 2137 ++++++ tutorials/notebooks/langchain_rag/index.html | 2017 +++++ .../notebooks/llama_index_rag/index.html | 2614 +++++++ tutorials/notebooks/local_models/index.html | 1653 ++++ tutorials/notebooks/resumes.pdf | Bin 0 -> 97813 bytes tutorials/openai/index.html | 874 +++ tutorials/optimization/index.html | 929 +++ tutorials/rag/index.html | 872 +++ 131 files changed, 73034 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 CNAME create mode 100644 api/client/index.html create mode 100644 api/deployment/index.html create mode 100644 api/overview/index.html create mode 100644 api/reference/index.html create mode 100644 api/reference/swagger-8e525426.html create mode 100644 assets/extra.css create mode 100644 assets/favicon.ico create mode 100644 assets/flow.png create mode 100644 assets/images/favicon.png create mode 100644 assets/javascripts/bundle.a7c05c9e.min.js create mode 100644 assets/javascripts/bundle.a7c05c9e.min.js.map create mode 100644 assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 assets/javascripts/lunr/min/lunr.el.min.js create mode 100644 assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.he.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 assets/javascripts/lunr/tinyseg.js create mode 100644 assets/javascripts/lunr/wordcut.js create mode 100644 assets/javascripts/swagger-initializer.js create mode 100644 assets/javascripts/swagger-ui-bundle.js create mode 100644 assets/javascripts/swagger-ui-bundle.js.map create mode 100644 assets/javascripts/swagger-ui-es-bundle-core.js create mode 100644 assets/javascripts/swagger-ui-es-bundle-core.js.map create mode 100644 assets/javascripts/swagger-ui-es-bundle.js create mode 100644 assets/javascripts/swagger-ui-es-bundle.js.map create mode 100644 assets/javascripts/swagger-ui-standalone-preset.js create mode 100644 assets/javascripts/swagger-ui-standalone-preset.js.map create mode 100644 assets/javascripts/workers/search.b8dbb3d2.min.js create mode 100644 assets/javascripts/workers/search.b8dbb3d2.min.js.map create mode 100644 assets/join-our-slack-community.png create mode 100644 assets/logo.png create mode 100644 assets/playground_screenshot.png create mode 100644 assets/stylesheets/.DS_Store create mode 100644 assets/stylesheets/main.66ac8b77.min.css create mode 100644 assets/stylesheets/main.66ac8b77.min.css.map create mode 100644 assets/stylesheets/palette.06af60db.min.css create mode 100644 assets/stylesheets/palette.06af60db.min.css.map create mode 100644 assets/stylesheets/swagger-ui-dark.css create mode 100644 assets/stylesheets/swagger-ui.css create mode 100644 assets/stylesheets/swagger-ui.css.map create mode 100644 assets/stylesheets/swagger-ui.js create mode 100644 assets/stylesheets/swagger-ui.js.map create mode 100644 assets/swagger-ui/oauth2-redirect.html create mode 100644 changelog/index.html create mode 100644 customization/add_scanner/index.html create mode 100644 get_started/attacks/index.html create mode 100644 get_started/best_practices/index.html create mode 100644 get_started/installation/index.html create mode 100644 get_started/playground/index.html create mode 100644 get_started/quickstart/index.html create mode 100644 index.html create mode 100644 input_scanners/anonymize/index.html create mode 100644 input_scanners/ban_code/index.html create mode 100644 input_scanners/ban_competitors/index.html create mode 100644 input_scanners/ban_substrings/index.html create mode 100644 input_scanners/ban_topics/index.html create mode 100644 input_scanners/code/index.html create mode 100644 input_scanners/gibberish/index.html create mode 100644 input_scanners/invisible_text/index.html create mode 100644 input_scanners/language/index.html create mode 100644 input_scanners/prompt_injection/index.html create mode 100644 input_scanners/regex/index.html create mode 100644 input_scanners/secrets/index.html create mode 100644 input_scanners/sentiment/index.html create mode 100644 input_scanners/token_limit/index.html create mode 100644 input_scanners/toxicity/index.html create mode 100644 output_scanners/ban_code/index.html create mode 100644 output_scanners/ban_competitors/index.html create mode 100644 output_scanners/ban_substrings/index.html create mode 100644 output_scanners/ban_topics/index.html create mode 100644 output_scanners/bias/index.html create mode 100644 output_scanners/code/index.html create mode 100644 output_scanners/deanonymize/index.html create mode 100644 output_scanners/factual_consistency/index.html create mode 100644 output_scanners/gibberish/index.html create mode 100644 output_scanners/json/index.html create mode 100644 output_scanners/language/index.html create mode 100644 output_scanners/language_same/index.html create mode 100644 output_scanners/malicious_urls/index.html create mode 100644 output_scanners/no_refusal/index.html create mode 100644 output_scanners/reading_time/index.html create mode 100644 output_scanners/regex/index.html create mode 100644 output_scanners/relevance/index.html create mode 100644 output_scanners/sensitive/index.html create mode 100644 output_scanners/sentiment/index.html create mode 100644 output_scanners/toxicity/index.html create mode 100644 output_scanners/url_reachability/index.html create mode 100644 overrides/main.html create mode 100644 search/search_index.json create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz create mode 100644 tutorials/attacks/invisible_prompt/index.html create mode 100644 tutorials/notebooks/langchain/index.html create mode 100644 tutorials/notebooks/langchain_agents/index.html create mode 100644 tutorials/notebooks/langchain_rag/index.html create mode 100644 tutorials/notebooks/llama_index_rag/index.html create mode 100644 tutorials/notebooks/local_models/index.html create mode 100644 tutorials/notebooks/resumes.pdf create mode 100644 tutorials/openai/index.html create mode 100644 tutorials/optimization/index.html create mode 100644 tutorials/rag/index.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..a45279f6 --- /dev/null +++ b/404.html @@ -0,0 +1,2017 @@ + + + +
+ + + + + + + + + + + + + + + + + + +1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 |
|
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 |
|
Copy the code from llm_guard_api
+Install dependencies (preferably in a virtual environment) +
python -m pip install ".[cpu]"
+python -m pip install ".[gpu]" # If you have a GPU
+
Alternatively, you can use Makefile: +
make install
+
Run the API locally:
+make run
+
Or using CLI:
+llm_guard_api ./config/scanners.yml
+
In case you want to use gunicorn
to run the API, you can use the following command:
gunicorn --workers 1 --preload --worker-class uvicorn.workers.UvicornWorker 'app.app:create_app(config_file="./config/scanners.yml")'
+
It will preload models in the shared memory among workers, which can be useful for performance.
+Either build the Docker image or pull our official image from Docker Hub.
+In order to build the Docker image, run the following command:
+make build-docker-multi
+make build-docker-cuda-multi # If you have a GPU
+
Or pull the official image:
+docker pull laiyer/llm-guard-api:latest
+
Now, you can run the Docker container:
+docker run -d -p 8000:8000 -e LOG_LEVEL='DEBUG' -e AUTH_TOKEN='my-token' laiyer/llm-guard-api:latest
+
This will start the API on port 8000. You can now access the API at http://localhost:8000/swagger.json
.
If you want to use a custom configuration, you can mount a volume to /home/user/app/config
:
docker run -d -p 8000:8000 -e LOG_LEVEL='INFO' -v ./config:/home/user/app/config laiyer/llm-guard-api:latest
+
Warning
+We recommend at least 16GB of RAM allocated to Docker. We are working on optimizing the memory usage when the container starts.
+If you get an out-of-memory error, you can change config.yml
file to use less scanners.
+Alternatively, you can enable low_cpu_mem_usage
in scanners that rely on HuggingFace models.
If you get a failed HTTP probe, it might be because the API is still starting. You can increase the initialDelaySeconds
in the Kubernetes deployment.
Alternatively, you can configure lazy_load
in the YAML config file to load models only on the first request.
LLM Guard can be deployed as an API. We rely on FastAPI and Uvicorn to serve the API.
+All configurations are stored in config/scanners.yml
. It supports configuring via environment variables.
Note
+Scanners will be executed in the order of configuration.
+LOG_LEVEL
(bool): Log level. Default is INFO
. If set as DEBUG
, debug mode will be enabled, which makes Swagger UI available.CACHE_MAX_SIZE
(int): Maximum number of items in the cache. Default is unlimited.CACHE_TTL
(int): Time in seconds after which a cached item expires. Default is 1 hour.SCAN_FAIL_FAST
(bool): Stop scanning after the first failed check. Default is False
.SCAN_PROMPT_TIMEOUT
(int): Time in seconds after which a prompt scan will timeout. Default is 10 seconds.SCAN_OUTPUT_TIMEOUT
(int): Time in seconds after which an output scan will timeout. Default is 30 seconds.APP_PORT
(int): Port to run the API. Default is 8000
.SCAN_FAIL_FAST
to avoid unnecessary scans.CACHE_MAX_SIZE
and CACHE_TTL
to cache results and avoid unnecessary scans.It's possible to load models from a local directory.
+You can set model_path
in each supported scanner with the folder to the ONNX version of the model.
This way, the models won't be downloaded each time the container starts.
+ +You can enable lazy_load
in the YAML config file to load models only on the first request instead of the API start.
+That way, you can avoid failed HTTP probes due to the long model loading time.
There are built-in environment variables to configure observability:
+ +Logs are written to stdout
in a structured format, which can be easily parsed by log management systems.
The following exporters are available for metrics:
+stdout
./metrics
endpoint.The following exporters are available for tracing:
+stdout
%_>1I=}@ zl}CJXC>Vy=*p*dUdHh<#@;xI`(Lam6=8r?)>`QE=kN+^%Y=6gBVS7x&b{Z^o=zjyy zo`KKmF!?5e_!>(J4z5#t zJzF_; OH}wTJUp@LWtu@*^ z# 9@Lk6K5MagJDiVc`vmkG<=%b| z>#OV;Jk?y!w(_ip|Ky1NTJ$yFLJ#Z9J+HsErQ3Wi+bwt)`YpbVUeM3oADC>@Z^Zr- zzLk)Jy;XnqYf90#Iggn25A~vc+5UiJn`1#g&>uzne}7Z`J!L#Ym&QLi{;=no*u3Xj zK>OQ#2l0={{{JldVz2Q2>Dd?4GydtB|MckV8UOXne|qL0J@cQQ`B%^Ut7rbxGym$D zfAs9%>38_Y>zRM_jK6yH_2}z)|6ig1KhfORZ|6-dAS^%iu1(u9?3f5`JEmz%Ms9`3 z#9l>^!L>f9KGhU-!;tFQSnXUT 1p2hva*Lu%QlusK3- zQyU-F!4A{2&bO>b+qk98Q`obES<8kIlbKE|<}%i>6Iegn?4Ono!6qHXdUy%Ht*Dc~ zX_3EW!T!F+`u9EJ?%Lf8AZBp@YudkIQyb-PGc3x>*wqHsuJc*1wX7p8b>;uqWzP{O zC}T9W-*#A)7ubDgv3s7hE+>y!TMl7en g+at2UQ9GQS@(6UfK<7 z7FL*U+DpJTcoP0|@t;@c#b=zEFlqg{``(|EHT;8ldBbOHsT)13xFHO?w*;H#R7$yV zoHYabv!c?Ey)kQ1kxQxTgeSLpMSRGf{MK@x=%PxW=nwWh6#PiqS4W30C^x=ky=IU2 z_@HCh@}quBpP762W{ MmIIHq<-PW)>AYtLo$EV+9H!?Pcu{OL$c`e4P4Smhugs (Bf;i1K+dX2Xv1a?D))-MC3D4ER1|?7<;>%d_6t$DAi$FYQD5(Ud>diSh?1-x9Y) zc^ArmNcmj&vuVF<>Yq*fWz+uI_)xNG|7_YXoBHRn-g=Mnt$YkQZlR7F-9w%5cQ_HJ z=!9>>3BQID{tPF47*6;uoEW>Eb`xKMpQ7a*kb{iem#ueI6jdg6n5ubGYiig-#k!W~ Os?FyrXfewq%l;n*I*$GT literal 0 HcmV?d00001 diff --git a/assets/flow.png b/assets/flow.png new file mode 100644 index 0000000000000000000000000000000000000000..0b3e060a5341b197c5b5bcde03fcc525253b9024 GIT binary patch literal 108701 zcmeFZXH-*7^fwwiiadx&7f`Bn=^dnZkP>PDrS}$k3yLTm=`9555K4g1yGk#i_Ywpl zbfov>#^-t8_1+Kn%l&lMUF$!K1(U;>GjsOr+4Gy<-a8R*HI;}SQ9l9z07NRv@;U&( z{Wk!>odSZ}_$y85790GZJ78HAJpuxP`CnSg0Kf}?ioA@TFLY ff!d#*EMT=4@ z;7cZpTQ0TaOiUvmpM+1|za!NBnR4|WqBH&6U&VzFmbsAmThk_CkfSlNZ$TW 9>tT#L_zoZc(T&T3CFyH_F)~Odc5w2@InC>)hKPibL z%ABT_JLt^Nq@ &mdhda$b)v`(0wNiP}M4T%&VrzuhB5SC)j;IkOX9)UwK}WmpoDm%SG|S~5P5 z5emB`67OlJ#0w2ymIIYS?)_T}dCS=GSD*mEn_`l8xBjiYm>{V9w*q+LaM$p^8iC+# z&i`tksBe+~SCfqa5dK%oQT(6B{g3Sa)rJ32l>b>3|6@`9GmHQKF`tke8o)DA49j9x zU0HY}`vFG?o9M$b4#Pf;D;GXBv74VuP8s}@S>t?iKT#n@b*2N(rG7=Q_F8E&7kKvG z0(9PsMgO<@&d7xWh7-1qT=s;cHMi@*!S&&z;i{c>orB|B06+*b0zgPOoEDDh(v##O z(FSUhq^B{gL4ZKQu!W6{Z?!V+?0_WEswr#ZR>7EfX14Jn;Fk`sC4QSgno+j>LBpSA zs>AC+Wlhog=nOD3(lp+l1LnSpGF)tNilKTmSTpXG5|!mma@1mCYtk1jI5?LCh6U4j zl27VkjEia{i!#55QxV0++ j|Gz&h9S;ILb7pZM#qg4vlUq+0>DKg-sMGT6asEW^G z9FRHDjEs*%&zMMO2EPw#`TQeIDZI-+>6amUroZj5BqD1cJZFRIRfYK{?+wzqW#Pn+ zAJ@G5MI%%@Qm3)@?EXu!07vAXc`hfdIwL5u<`0eYqZ1lMVopvbONO@Ww IO;qB6EKBdK^?z;5c25DF# z`BE*HjG(*v!Q&aCq-jUr{krDYI30`G_~}0kT$lB3-ZSJ!^hP(AH4!20yEk1U{jJvn zt2d+7($_w83k+lg#OfoJpwaCKHjBdpFmEB_MHh@jjQ>+$yS33zt~M6$e{lTx&H*A{ zUPnG5|4L0t%3CBR`{k%bndvEG>+QF{LGS%`>XOi044MnF#PxSyI6=d~+~FB|=0Ay8 zA8GM;1^@sZ&!4<||B{MSa)?oVSe|l-HYD7Tt>z-N`=;*6S=jw2k2K2=RX#paU#oh^ zo45dgcXc9%JwL>5R@GzmZiR=7q`F3w9d{P3l7&!-R&m8!$Bagm-6dSaBcs2K~;6nMj;`{%fqc8I!b>wmkQqlYN|g%RNW@ zZTJD3;o%%X$&O)L5#sC)ePfR6EZ;Cc40F+jxq{IjFu*WZZTkUj`&TfE2;a7SG8{#m z66A0~3wyJFZLP+c>a_CF^Y3%qq?Vt_0^TPLlTSGtLyny5eZ0<|J-T@D%8(}MSwG~F zOwN _Szt)(Qb>wFx;s^=_Q|KSeO~{-}W66FFI~N5tDh>oXTldXW`Y7^L_4{ z$Y^6kl!7RU0cK1a72$=tC-b#0I_Os_F7 lKd3Ch3(rT5-}0JEO9LX1 z`hz8pt;z0w7o2vkTQS*|$U9n+1#}!kN!h}Yn$Yk_f4EdT^fn+w7Y}Y $EK*i_r+4*1Ei5 oJ@{jhN2V3 zGO+$9Ga&$gv*kxx^G4I>W=Ji9uN7W%a5+Vc^Kk9y4<9<5B?17}KjUp@uV`xG%5p_f zr*S5a6{vM!^cLQz_K8-pu5~xh>$^H-6wa(?&hfMhTJtlUmI>mUL5T?}E5CkxVe5=) z{1~2s)71u&kpQ`tO2rXiZ%@zHsRPhOmOFqDG0+lMdsR*zm#AeQ*+AyJfr678IbLD_ z6n*rEu&}kmi}yg%n7VKgK}7|qt`{klenhxBETJztf1EXoQ1ggM9 E;C@Qlu^5$z19ebREnFAS5rhK9bVStsu|@)N%7sJ`=JedD5| * +tirO zqd@7WCycxp5O=Cs |O&6lvB>D5=dL%Clb_nbF!5P0Cxbf?Ak=3)NcmyvIV8 z1s~*eOluolU{Ak_obbDEpA|4(w$7QMeN>ZX!d$>{DCSN&ZUZjJ+A6R+>E9|ddqZ}y z56aGV31pM`E-E~L9o>S8X$xyNU@fTT{{aA!@MfTcDzDp4y)%he6VoAzj$%sCxRC9h zC3G*Q#4JP?5y1pCncP?`4j=N63f2i2qd$#5u3QKG%)b&Fpe`)8s^bSf;6CyA);KLv zPtgOd2eyjZEIb1*z>Eb$OX;P7WaE9}h{Msb*S>4WXw#wFYH{R*O^5Qdab>Du8VXqz zo(2j~vMjqCI4N(gzI=a?kR#h;8iY(%=7gSZ)myT7S){XOr-bWz6d^SiQw!-(Jjp6W zDi8u*`?!(jcudKGKVyay;Ln^;QFex{ELDGI1_n)#0JTB+rndVB0u6ubEX5WlbEo3c z_b;eKf2D&ovQx&T1Khi*9fZ5sI6bk$)ld!k9QzrIHgSyi&{ZTf;z*05E+&!$Q$s04 z1!OHieo>pA;v%13DP4S~#i36^+kWkGv9Njoa=czx9V6nGs?wY6ob6kS=qkuunF&}m zIPn4wrRkN2^R5z;P3Hy%y(7sp)~wLW($-FH*#)sgoDYVcbq#Gq&Twc9eNiuKNp=vQ zN^j91qPR4pHzOVG__Vr+*B{Ooc$1GQKYFLm1O)FPI@#R0B{qRS=uO63>UpY=Y;&%j zx#KEfZw0($Kn;#k6kWf2Hhu2`-R0zgG5pE8`64VZQea+J Rg9#BY#b{kjjF!Oa zufzlS?mJ~G7BR)t+U|-PYzTIJ1`EAtDpz#==VaqDo0bm@npxVG{gWAyGip(4p7-V# zp2{=uOS1(g+Q;miQP(*L@JW^L`N3qCbrg@}E+(*pI!zY00B#@fRKXKXWAWU
{2O zDwN|2Xcz+0X#Yg`5u78U 3)FD!Y~kIOP MA5&~dB;OT5nr!hx&|R)(CVhxJ&lRX$RZsz}NP8pdwMB)w zt?gyJb6rSE#9#180oXk({0z7)AC2r1X3X2NYH>AW>tH{nLpqqAY}V?&W$kVXcOMTT z@p`J=hj6)`>bs8YSPXnMkLer4u;MN6(WL$9&4Z8&TZy53rSUw*qJ=N2z&JWde+gj= z?umcYF%6ZT?d*o*sT<}Qb5tkYWk=*qq8;~?v!aAA9vBpuDW|>kq4O-m+r^?t0O6Yr z-!`A)<# F?&6V;LR$Pu$Mjg$*b9w($a~qYGcRFYvmrK5+O wB2$M~(DyVc(i-kUmyjF#dcN>aPiN2q3Uw=^<0`-Lz&gb=bN5gxX#Q*>bcD!=E zw+aNi4SzTu=}lN0$S}^39Hz9Cu#7H(@fI|%lHxxN`*uIur ofbd`t{cP6?>^)afcRn0n4&@hUZ0obP?-)t>@BW@5;y_U?0t{6mBgH)ZHSB z6q7GfQ%Tra@^~J~Q&BFc=pQzYDH;EI{NN6^C(7 Kdjbw zxxO7{?DMQWzx(0?9sb_{6hGdcqHdAN8QBlD|Gf}$^xWX(-M_W}cjVNk^hlEpmcPw9 zWbrB+!rzsQ69rxbPKiGKm&2kE!^=j*66(dxnp-4P52sQiHgd$&YyWNGhB}~V!t1&e zQbx0jQo4d2&b|iG1L}3}Yh4Rt8+dK3eBU`aS>;Usy%|7G_t!3Ia}$ioytawvvCwm_ zlGEpHeu|-T*X)WY79-OYGaXUk&Q8&3`Im0{ujg?+`7*8v^=yHL$^4v(q>X>k4htT8 zbjYSZ(mwFO^t);q;)fxs@ktWaV=!<+xWA^{gher1mO zY_9D0_^I-D>*OP4!150{JTWJtfQmqB>P7$RaRYRuFGCw_Ae+^{xoAh#z}{Bq8Qlln zFt$odiII{+x~+WQtjgiPk$kx{0yfc*8wXrAR%QG0536gkEG^uQ6(?zDU9CG!>C @S8ErJ?IZA6Au0 zc@47~n6-eQJ7`Fd$v`L?yKWg42zyKjaJwuUs8`hI)>@qUeRhxAT*|$( r+%K6D z>H1qqR9N=&Jpcs(e!4prL@>9v%jexT`+)=CS!nq2v1jl`o)3KM4myxCdsv|t56g>Q zy3N-0!pTbJsavJC4}q(kVznfxhR@q| w zDC}Fk&w(jDwnIt!fDSExDB8_@3jodSu%2Tm)z4p=-Z(KbC^qSijB)UAzwU4A)Zj(T zMo13C+yy{`{(Vt!g@5m hHRgO`6wA zc$wtYTfvXv#cA)odMY+z&8 %cACW(u^q-hLD#<~tcA!c^F z EbbS6|-*S7~8SZ`;f9?NHDvH jV|3o{+dGgaUDv)+qtGia1pPn&0fT8c%i-O$)jV(CrNcP|%i3s2D* zH4FHu^>4fLEvAPiN2j&W4m`UAiWc7rIilY`0fhMJzj~I!xp^`2C0H}-YN|Dk{LqiD z>_TYtR|ol{DVSv*#XKm-c~YTNDzNz=hy R7c+BY? zoyxer!KSM{{092hoCi`{$uD{srTw&HINy9;gCb8O&9P2jha>D>rY@cgqtTF!G+$dO zWe*e?ODxX0BgB)Sxuam7aXW>@Rr7KYWt47;=3q4bst!3F3Z2DB#$<0Q-Ug6A$J@kr zSh7c9OUzNy$MND>VDx1-@gs{Hf>a`zh`ARj>YimLd4 {748t#KW-J>vI3sVp1obMY+IHZEY5 zf`5Mmb2{8bee5U@XV|_<*jK$=L`u_+gtIB1`r2$Sjj}3!lvAYIAOfHuf0r76?pp$X ze+tO&z2-76ybc)3+(EPc6kCPXa!W6*b{8K=YJ15nSKl*uRU9cF7^B$Vr)^&mxZJ 6N@=2%!k fx#GmiqI{!I0G`=ryb-g8BBr3KgfXwz75{uezC>q}x z2U&wzgpDcJhoWlM9`VO%KfNoX p~N!%bgPVM3 J4tnAPquHQC!{oJx+n)5t(G#SAvH_X#6J(ln^{^xLu0Pyo#ceS&yY4dM5 zNB{JM8ohYi_9!bFyJxwXbtT`m7Ha5tl;h)UhAWAy OrZAKHG TQToEyC z47Y=$SyLyaE=d2<5Z7CAqd{>}Yu+ZcH02SvZNiG4F_VBAV4Q?7e!&BCz?gy5%f3&P zJm6#HI*6UywvZsK8{=^d8!jFFyjLNwWm{Iz7o~W#ss7$hB f2e zi}+0iDpi-qvPOwoiG-PMx{%pwS@#pRhn*JrFVF4VJTs0RJYV>{5@*qgPSASK0rW~2 zAiFyDlycC@VO`gYQY+g~rIs?h1$r%eNqev3qnqYGr^G>rdG+l_rqd>l9PQkb!9)h- zFpzk!y0iJ`KHZw8t*y}%VC}kErs_#@gablPZ@$i+gI8xyo^QwkKCge-Gs*QD`zEVy z(j`f3J5SKup!U#pG9~k}%HP_7o&&q%JV3!ozpu?d`ssje%}?D?ZQJRy8T+%3U5i=S zEttHixd&|rX-vJ9C`wH9zK>}@7c+g+&vn9;bkgRtmJ{K#TFCDkwTfo3*{PKt3)Ea7 z3)lkp-4q>gd_K-2wkkha*wch|*BD+OXjPV%0DGJ*;pe&K`scp6-}Kc}t|2qd^+#bl ze>QrHv|3IkArhwx9A;{&@*pYYV=n~u&w~WXtfwL;Lmv#xAZtF@neA6ZC3H|qqu}YQ zrfKu7NBTkgBmB|<+aDl9d(w5kKW~$}&OLE;<|Q-D6~e6}ig{6uH)q%vO-;>9{f)|M zx|q+kF_Hy$76bjA_W6fhadY)YmiFUNP7P0QoG^VXvu-K`i^=Qz6dvB6Fl6vN01KqJ z+r?T*OY4aC-DJ+bvC6GwPOu9X5D>vQNoCVe(QeYuoJ}AfU^lP0sW{fng)$u%-8Q@S z8`+k|I2rPKF45=f_2Lx`P8ZFt%3j{`q$(%sE>;3p5zXEbe-Kx6*my+=lghrSDGl5y zSSXXD9vvlr>Efp}U7L9*$2gDO{Qk@IDp4)K0J4FhZkp>-3AQ`G5&xO}zheP*dteTW zHNjmm)2wsGj1l({FU4BGT3`FbSY^cK!SgYT)8@%ejxo%n-De85uZ8q`*Lp4=oJk%2 zu1YnJOFHaHhcSkI+gw>Qopy5AF?$}-(_*L>V@r51b6^cQ8-M2u@%4G*LfQ&yL1 EsZ*sOxm}qt_Hv sF$D^-EJEv|y&!!vExSV|CMh zyp-{a;{N41QKpc2in4&-plK6ufpJT(wkEDWv*`G7W=(2AgRr%Qw8P?UvSA{iaIgXE zsgWN-qb;XP(uK9q(fL;T%qX0pJJH$XEO3pdJ(-3>o<^kbj+@N#&_5lYaz0cw@B5=^ zeU@gImiC}D`-A2;Lv6}xeoA;l0B6t#T955l>9b~K>lCf`MI@IHRXPx}Zq;hQV?og* z!lL#%lPgIpVut0ad3v=oskt60ho)RwY{DavdQjPX<7*aUcQ>6&Zj< GQ?m^O+`nvok zHKkA?^Nr@4l(qdJgBJT0u^{(&Jp%)H>kV-Dx!<)BX;cH~< Aw|aHZ $E_Ev5Q=mCm{Hj$Y6aA(o;@Ze^750%E^QX0-L< }x9&@ # zG?rlWz>thBf`ko*ELp7zCoSSzW!DST)N2= MGHcAk|y^&8oOLdeFKb`4HI1&WMVH zI~)Z3IH$M|BxAIQp&VT)x)8XSsL|cJYv@o@Z)<;*Ti1?_YNr>;D5NJ3A-sjBJ03E+ zpp~R9;|o*PW!=l531YKd=Si~GQa~Q3F?hux@M7W_IN5b>ZVgrOo-~fUaV{3LicG$u zZR``&YF)Uz$HG&v^u4e1SyrG=WQxXw3D&k{z45*wf1v>%2H;rt;5h>W9!}X}a?SD6 zD^!WTyj+cOc4!d=h8UG@kW;ui@3ms#{l{=+$?+zSiv&j@;?^ojem7ZFgF$2$g{+14 ze4+W3thGOIs?MS75^~g+h}fm1p&}>oLN!Kom6QjkH%79dlFjJ5eQSSe4{;JOICFKm zyjA#l=T7Kw>v~M~n8@hk$v3;(XG{CSOr1vBx|DR)VQ=)DD@NS=x(ot035j;g*A5#K ze>QrG;bE@tNcs-Qb5uk4nIgX{_5y9Mn>%rMK*oDuhmM(MqVSp!s?2G1zA4(5I$ltl zUA?1O1d>_x>w1nBWnHywD&4O|m@bYi3009RDlkb4G_51)O}u~BCX2ftZ}1Msb rCWyHnAH1Km58?+W*RSzgBRD=$<(4qLGP5}=mw671w3n5#VAU&W6o(E z^<(y=eK#6YK`*82DK3nbJB=|;RknM+KBJKmxz|pmy+!Phq^}wCE-i1IK|st=0mEQ1 zOs8?AzY!jMR9p@Z4iStxb~rrNeOy`NOWUqOC=3^pObXt}p>Mfdf!R4^ycmyY=o;k^ zXUq)b$ MYefrVac%}XR0g7X$y<0}QXVei-Zkk7Cax@0M#w9a z9@jA{q}f&!pU}aLRb+M#sGnJYQLWt&5Fy5<-p)b@;s^_!t{|%5#0lb63U g zWpq%ViH#c;K3Hd2_4^Why7i08B&$}EM%dG=X)fCKc~)x0tWTeUrPg(gL&fJhp_9Q6 zMcMOLmo&Lgqq?Rce@-`iJti9Ri}qtP(brq8#);2|KHID9`ffaUQ0KI1Ty>pm;wlup z`R9C7`li%E3BGZnwl$p2!IW}}2ma6Y@6GOP#OGc7s-btS;Bs84!rGdpcr@5Zke( 1b;FKl;tlF!o{Oz0Fow?iJeUm}$cXYsH046g)|8ZdB(M{G zyUm?PbNZYnL09D~0Sr$a?aglD#e)x bhnVH|Gx&DW?5wtUajx^<`i zV%6PjV607U>8LS&bkV%c;IQubJC%12%$J%l*!_SZw(%#EeL>6<{OKP^n<3|`H(J*X zZWi)+FhY>aJG&FxJxwl{2>4GqB*+RUr_}(G=_G1xD9B-(^cfeAA}+Y}pA!Q4TlDOe znCYULlpVoLMsqE*zkYo$pVx9(++?=!I6lt-E!lW<3tu>C0zZyciJ7XqzyA}28*+AS zyBKFI>C$cO&Pu*s*_e!CG&p|>Hpb2^%d7v`-ikHnNWY}gUml~4Cz3qaCIzb_ 8GB}$O$WOW`z%7cxq5R&7vx|!@DBy=(<806rri-Om>T^)55?;?bIh@EJT3a_ zd+**IGqpT>&Bpt yoRm^o|#Mm zqm0Ch7= zeRBmTsr~NZ*BYE#8*S^6u>;&dL7_~VS%@8aReI@aX8a4x|8!Y*m}1QGIk9 q=nh5r*kk!GTqt {YW2~iX+7!{(CZ@7v%9I0#g046`8hqinf%A9!4WMqr_aP#c&enEliTo;#|LEr zYG>8S`+<#4Ldv!il-j)7kYn3sR(jU#6 M4PqF(*Y^uWSD5AOIQX035hZH~ho0q0N z`cx_IUgV6*3I#Znh8%_PRy+1oEQ-f=W^Ba;lQkT#YzUf;4#7IN+CGSQF=QM!`L9d^ zZ4B}3ZCn{%mSE~LRfX8!X0w8qZrqgVQmw`d%^Rd=fo{8(wG@W_cw+yFCf+>+br!1J z-7P0d@SJ*>*O)B>cVMAq7ZYA}U;OhyPAIXQvcXVZAi$zHSBKQq!Si$nyF!1^6HBW_ zFA3Y&c@qCQwyqF3@bOo)z3LQ~3;*n)@2TcwR1au5GS!H43tcxZs1JQvKyBrbylEyt zr*`T^yblep=_YhoORU@Dy)J=o9IikQSb|j4=tb$QJSq;21KRqY(>U3=@}TD2H@9A7 z@<*`UA3kmQMe9m`-gi`Gf+lmcCns6G8cpJ1I4JC%NZ6}*;pWp|iEv)Ln$eXJLP+rp z5+-bojPzkc8O>Tyq#delKhYz!t#i7=$rZX1)(Q_1rL4hORts<5XNEf-O%DYvaA=SI zyvW|A^DAEF6FVv3Mdn@X?Zw8S!I-&|ZHZya*LMLT=6~b6Q9_o36 L$P0X`{#HI}{w|SyHD5O6)kTJq(3+cQWv=2h~oKWbpt;4d3=UzKhW_bJSwp zO-*M|z$}bXm<`3{r-A~k=esES&IvAaw-gwjMuaP$O=h hg`E3Jgn+{PDE_1Aw zd>PSa@7+ R7VJozl#i2$I)YrXLE3C)hXI**A9dNnUAqHpQQ0X>-kxns`6npWSBF?Ne~> ztEkX(H8_g29_`jq5(4hdH3TmYWwF-nrs04;8sB7bg!7-Q*m6vzetzSDEa@qE#$QI( zH?JUILv0Hy`Z&7reE}@~1veRy$=yml;KS+Cd^JwL;C5jR?~e!txCL82#yiK1lGRxt zSM|aB@%ybwcI!$>U$@$>s}G$qoz}=K1CYMa3-I+P>eXm+B}aBX#T&icnbE%WM=_}t z;a!CyS>^h{g|V72mHk p z{?%wPHGd868{ut)p!?26YCoBOyz(#x?FcTI1HJrXoT+1)wRXEP(8c$PE(`G(rLuT% zSd psmw^=`-buuC(pc^FsU9(Xm%dPG*FCB$R0qL2%Ac#WdzJ|opePi;$Ws{Q=+ z<4DmKa!-d<(Xx=&h8i<*);~UzvjCp|Lhrfaxs{i^VAvL MgB@;xR~2+qE0cB{iL z?yriSG9~n(vE}Hi?jWsNZ@1a~KgMSz#EwD)nvWmg-D}^mWcBDdzl)|ZOH>S #hy#E-Gvi{s1Ctr#n7rjPiuzJ?-XW| z*!9!HPfMjjrYH2c`idc%Bk|aEZ#tAjbLq>BhJy%clN)fo|LV`|2b+T^rR>Vak1W)u zlBb@2W~+YN!JGV+(t&+8M=~t7k18;5jot03XY@lvagUv5U7TOLYUuzIonAc`H`;$Z zbjh#G>2cjPeU!Jka${v+i)m8p5=$L!2E9aH{h7m^U^w8@*lG0J_TZ2;Xq1pJHw4XP zfICfHI XKQt|I@X1g+E+yR2c&YwSZl6b5uXlY3dny-f zkXU@5(Q-CE{!p&3LLn1!a^$$z66Ewp9`6T>P}n`$qO)b8O Tx#0r{KnsdYPnD?Kr-i$t`}T@hK^c(k=D-Ft)G=&L^y^sHfN7V|pP-Cjcka|QfK zyHo@|FkhI%b=RGGl`6>VH48cW;?&T7s{`h`mj156J#cZf3C!`>7l(!Tb>=_i=65a> zYK{DSelWxAgQn6Du!<$73&ySu_T`k=avV@wJjf0#Jj*grN{CoV@{)%5v@{;fs3A%y zj7}ZfCu;438vh&!*U>^w%9R}xOMPC-0{e)d$C S zXE2&5#%2nly*Xzj6>p$g%d!YYOk7+%z@*-pDrRysxLA>)8B9zSKQ&{#{m2WRmb+qf z+QIi!98WxF=AF^RXz+J{gmmp3?Js9or7JHohGbqoVKZ~^s#C)|yz|Z-ZZGQx7s!Ss@7EH={oIH1@6Im@&lH^#o_R#NVZ&K zqk_oN3 8|%GHm6WjEkwC>pvG^6l;9b zm2}9oT}Jd#^m-*rnJM@Tja!=D56CTIRPiVCu Je^R^%9KO zn)$%^1wGfcvQDGUX&gA=8eU&vG|SGw!0NMmpc`R@$rU3Em&bdm-?QI0-*2 PH)*= `@F0bzHm#c zi(Go#9OQDD5&cRE4$n$O>|YN^!!tMnR(|j8OZj_X=n$f7nu6`@ZK02y7Dv4|;VVh< z)43 )PeiID}u!7uCa4kfeq02 BNCnTjX%)n5~?< zb+>Ej_`xY~N^;ZEW32Nap<;!!Wac*G7RxXYXkzc|;y--i+H%p)ueHCmSrHIV1U&Fr zr)%m}HnA$tl>02m&p66xIov9E*>SuHd@=)LrlrSjJg8{f+mg*$z6!S2sA;fOzX(w9 zdk}*z4lIWEcGkVpWLu @8o8X<{k>t`H8uqvpSQ$Jwmn@*AMxE87TymZw z;9kfGKHTTEEnE!0-CuGbb{CPurRQN&DqUwgD@hqIO3oEp4*}nnZb#zO@eYti_#+*4 zjam3@_FOR%%}LWxVh#(t4*x ~P-(;h(WGtu)70!2{rm4eqO;>-3bGaU5eJW{s5*4BR z&ipbPS9#R-AZtIBN4FT3Iusj(+v91w;=pmufgsA8I}wS9o5i5{w! dz-d++ `x82e wYNrD;JHM7_>xeJs$1aA8Ken^!c{p{#O!{da6H^0xNncMg-#6SQs z=q!RFcBzLB(rYYQi29DXY!^7;^sLjGvr%yKndE*Wrp~)g$ wi{G(sQ<9aXOCMngh)ppSrX2@G462ZDMZC3Bz)n70b|Nd6TT|9#VE`)C$ zZ>aIy>@>$o(8X_A!ZV~qi}*OZ)X~!{ZJXKHZxpqS^E oXlFL1sKJ z$Y^Xh;qbP7+%E_gg8fCWf>@8qPzimtoo`tS&*h7!Eh*)G-K7iphTCAIzgRheU>}t1 z>5Tm<3)rS1ZaJ`pP~_)!)8G!jQJ*)hy0!~?=i|n-mL@0WO`(An(=dbf!`fEdnu&1h zA#viosJr;s #@4)C6~$%@-P4$g6#l#9uYzhO2tudUHI-6L>wA-QK+5qb~ob zap4!n%pbqO(F8i$D)<*n+Ba|I3r0+WD#{lQm{*8e8jl`i<6<=0v0bqz1*5eshBbaC z3ND-oc!dMk_KA9Qjo|JLc9qo(-E_D|d u?zZ7B-moH1)LC*k_I^1@2?FV=F$6){a4aHH+{iK^_g=Ag--! z{ZtoS? Dx?sT;n73nMiCfyA{AP71e^?aF z+npwT0l}>xu$Lc}6u6LENEQYZ?1wALNZ1WH?keEx>@s$ClYu2fVrQx}Q<>sGOQ#-= zJ89q}PqwCuL_c4XgU{Uz@ud`*7L>n0uLUw7r|&j%)=GL06 6_>hI9~Y1+_1u zz(SJb&uLW3K?$Ha$!bhTZ>eiQsaUJ8Ks(O&PxqUuq;~uG>7}y7tCN{y!@b!% CQ zZt6`IyR&OLOL0sw2Z&i}XrM$-)Gue=?EU_#$Y{n{*d0zj9CEBz;As*)ZgHYG8F3J~ zs8&OXp#lO8Du*~yPZoWh*W8S~vKDGFv(i`Fi3lftU2~zTNL8%W`=5DA`;l9Etx}Fl z5F7RvxvtRb%lN?~7;Njo>|@z8qqp;;r!@|w+Y!?g?FEt^_FY!AkWwC4g>5$v(1E=v zyd>qaw*+2%6l-NZn~bd>Ewxy8Y#uUENQC+)PkuNNV7^0hK-zvGj g XinA87B zR?mAt4p@$UWj1jQx$a8EZ6WseO(#^*r59xF&R$t1aI+)a@KR8Zk~RzW4g_Y~f4X?Q z6hQE>HPkbo;8D1L-O gz0%-(vB zfGIzr&TIYRhUAU%?Bb`di%i*P2Z!%4>FKr }Jm*n4Y*33NVAYtcgJi18#QIPh8jU|7S_ThW~EN??q zjmgF>@ERRT2UimvalbXK!a%QfXQJdN)LWj#C-&6BoZT>5wyp|ZlV4rjaB3P}@}B5E zbTB^^d6Ivy_u0ccI i zy|rb&nfXZNMQb;To@Hx@sr|$_JE6)-1GiY9;X3S*C#(5|bYZU*Rd$n(4bJ%$BHlP& zjcdmpP`zP%^`3jBw;oaW>AuRQ#;iU^Wf5CJXbFC?`Ucal3ugc!>SQ4@vTde2$u>Blb+P}Vz(b|^HJ2lY{e&Hx#9!T z03j)zl*svA^f2^fZrfb`%YDXH2hvvs$JO>v|J2_HEal3(9c~5A8_OzxO;Y4Zm%zJ4 zMSzjJ0a{aKZVA-*xHiBtGd^ArFk(SzDU|7ay3>feK4aC+d8v$;yUYGCHj>@Zo-NT@ zHvE+uNSg*kLJasOlSJ^3j^A8e>{IGjMNLEbuUIRdUSV~ofdA-(9phuXTfX3l0zgLD z_ji#x-yO;??Dwt>um|t;lnLbgCly~KfAtPFvSN4&K6(70A_ZBKd8H8E1-QjM{jS-6 z ko_w!4I6}alO9D*`y%vpw}XR& z2gUEU>oc4}*eAYYw7vK%%c(=~RJBJ13=*cYL3#_Ip%`JsSWvV}L-78C4qs_No(yo0 z)9d+QeL3=g@AKawXZ+2(0SFLT9(w{K7R`o=--Ji${78EX1S0Kz<+it8bB~qQ6?>Dl zPZ`A#1Lk-YnK*bvoe{fVk_R`slHfwEVqaZNT!91Je)w4S4im~3_~7-SZ*1)BT-@B` z3Zt8PgoIHkoMzW6YWpwnQ@6298DHkmM|E`xj%8%`c`D0h%kGmjOT0cmWiqLwcyJg0 zl#DxQdi=Cljpj6+Etzu?tc1tQp R-h? 5&!F4@UKq&SC*&$i`)PEDa8D5oc{kR!9;(B{$Kh3 zvH@w3>EBEQ{OJDq!~w7E->if~pZwsN|E&j hU zEI-N2J^2 b zku;3S1Arav@rtSF8=7u1y65)KrSSfNR}Mj-H41E;ujHq%rTHJ^OuxN~WU_|^Y@PlX zpDMka0sxF}{hi;C&$DEGU4m^D_W(~6k~vHjRi9YM%ojdI-Gxs&P}9-%I^rUZ2;1$c zl60~(9hn^lXrBT)g#Vpvfe>x8_1AMC@<>JL5H0N=WEDJhU-*uHd=!f1HP&`mZ1Q_h zP~&y~SX*`1`zkkks^^oP$uE2wt^wJ99gC8QBG|8?jA>81roC=$^ge5T>OTg<$F - ?Hx8%(t1A=%YAkx8 zZhaGUQ%!O(=-lf!i-Z@M4L`cOTz~gN30!P-+YfBB=7B<(eO6#AFD~{!NsbF1ykX{? zb4y0u28?8U?ZhWR3PkEO)iTYNj4+MgDt|jv97z&3;+ZssEvoz3b%EpSfA~I0N6~I~ z%#yvtR3v(gkRyRtQG^wv_EzUgZ1vM?P2XMji!kefS2?w`Np`yz1O=bo24l~6u2G-h z6hfvmrFD^?p5%_rWjS7jy-n8fz@EuVnmgyhq<6YVN72D@j^=0Uq%YZ-xzEBxN%Xjl zlD{sJ-67oVV{jKduzc`G_hTpMpS5}Wqx3gDG4#v?vQa2M1%j7Jqmhwt1041suCbj- zDbwV1831Ven;Zc6rk(TzRiM$8UgRK4s^J$uXOUieZd#LF=Cy%z0KxnOil{aAwXpL> z6Z#vm!BV$#|1aA9Dy*%pYXe5pLeUm?C={3CE=7wJcPQ@e?pC0}XpytTi5$*ko(7*O_X27DFd|md
7&P<@jARz%15$Wz>3>vBc-0S&@o#T;nl&fMP4+`R*i= z2AMI$X`udHWX+^eh;;nISv_>L7mrU}_kKxGKp04poxJ}~C%MsVY6{afzQg|hRhtey z_0ORI-L3ne+|g4hG`piTID|pA9Hwi+Z5Ih5Jbp`W`GU?(Dv|(G4u`~i`;K5OkW04! zDxr*8rB?*qTehcn9g_4|jmf(S1;-+1J}uZS2MtT _bsTQ<(*g;h_wPfbJRRXLBb>THH>{Jz8Oai0akL%628&yS!Ab~prf0_oC! zW >ppe*JGC5YWl=S|>zRna&(&U**5h>F2(<+RO;rEA zI!UeiFXI2;Pdm}(&%ZyYnm H08WH;)&$ &raL}g+QY5!p64y9`hC9<66XJj4G?%p4ul*#?VtsnnJny-8=Y=tak+*iX2 z)6jE2-Vd%bWHqo*NbRlC0Y=;AKNSZ8H7lv)1$%w;2!X7)_13DD!TVKkr&KZL&O+cO zOwF&9Cex @db<3xfDGCKPq~re#hI+WtmUAg#O5$^C zi?$*`*0z+x#pve<*QyEy9tm=+9ASbE75CPwwu2VJIoonbxoP?4cPXrXwqm5NOkS^{ z_7AO~ni@k8=mc^1e;bAK>F}UNb&itMELDiD70&!R#Y9CFyRt*;Px1&2J m1EVC!5cL#IcvC{Am5| zkw|6`IA-pWR n;?M z#&Aw_iuddGG%QZ~93+)!5oTTl3zG>-7Xb#kl W z`lJBdOW^ _tSw z1)KW!nkCc(3=x{^aV`X4QL@f1%TlA(UK7bxs?X$8;<~rVOUL|2s(CGZ`TTGj5@`Cu z%e{yOkzt95i3rzRTu&dIULIQlE?kg3Z$Hciow7*r` Z-+HFdcp0YX`?N zug0Es-cJ@bGYZ01Ji~OPRw-yI>p1at(bLc;A|6lu(9Oe*K4^@bU(RsWwF{s8Y+c1( zUBwkr_T08D>cT^$riD!kR=P?6Kxmhk$8=V+`!mDw$>s`n$AbC!i@k30*+c9#F&wAb z*dsZoLM)e&%7^VBWs%er25~!k5t`?UhK0LH?#)CDCMgUNJcBi??JTX8AT$x$>)rCM zhC=Mw9p@HpMkYZTQ1cRShg!X<;%HY5O;@t_MYpvLGrjQE=gM9_x^~EOOt@I3dNtNM znWrvG3X)Q^CMsoIoMk_CldWF}TYBR=9|q5~@cC;dsv&=B4-Xxg0KWqOBQxtF2{ jq!yM!|S$)Z$AdASz<_YpNE~(0LlYxg&Z@Z_Wl=gblko z`?$LSZb}i>QfCjBMI&?%-OHCBup2~dgd1y_#QKd_R!)EIqVw-G<-49~IP*DQ7LXhM z$YDz>pPdbtJ_j!Gwnjf+!`Q%?$(a7Y8RyUWx(Pn|@P;>YaUL7cjNCEXH@U0kfyxaJ zNSLruauO=u#vp;8cAv~)Xs}_6a%V0n)Bq#B2k9~IkpUF{21#Y_uXWH%jFT{$aYyo< z={XsQ8 9VZ|<-}-k4*a zb^o8_ 4W=uk9;vt0O9MQ-e#cn#{t$O7~67|FD`1V8Hx(5J^RM_U-;TPaAyT z&)_yj0V&bp_aM*{5TidsZt$7mS^5TC1a RBO3jfb#J0ovY0;24tq+m2M zObBHVnx_GIh4S~3Hn-Kc*V<}AHe=|A$)!z!ToNUZpsF>Pj-rk@Q`P)53H=~TvJ$FT zr7yw2&H6{f{^!Mk-Oh5J=is*n);{7A6soFfI*s}6CPtOwHhCp{;E=6TN=>d3KO*ir zubYe7B|vDgR-4bYNn+FE!9 *5G%izKu33Qg zXlln0Jw;nq*S8gn3P$riU02ov*L$rGIHe0c6#_pN3IS@Df%o4%fj6sKa3-$ECMm9A zc|l5l$$fuLEjgsT+PU74wAnFK)P~i@Sp9oW6G+THZ~g7;eGiy??@0(>#M+<45YD&E z_hJ@<2)G;>LFSLvg@+$e2dPb9S?iIP65-cn82JFl{y)#V;thW_NE2~SRJEnA68za! z4V{|w4<%x3%15Ghrny>pXXW@XQ3N(=-Z~noNEYWgka@xw_Gfb2s44TK(Grvw1~YsA zZ?Kh0f6l)BI~_|rz;jjqxc6&ErA%6 LrTSagC7;8b9?Lv1B2X0C%??(wR4-qkNs#*Ov@5- z9RHJL1retHBRG}{g$~ZIho;}(*59?tbpWxK#{^539<*N#JTYxCxwb>cI9j*&?q|7L zY^<2xI+ {_ DH*g}N4CHn&~pbb53##zORA`^I*L-1UM*52>m8|_ABoHmP%Mn^UAWM$$J zD5s!_8X)l3Oh@E8Yd9(RoU&ZB!ag_eVqsI`U@$J==jSfk9U<>K{I=v%j>Wr;Q<_}J z4@N-zUPM$|Dx_+H%pXx@d=HXBFffgnY+JKsUM!%0ER_A08m hkbQx z4UU$)eLf|a(32yBPDtL;`zNa_muhpB4qtOca;9B%Rz{3dP>9L3Sd4^in>E@9 J$YftHH|sA6jcl`+Ta*Y*|0LkL$NEqx2t`$T99xMg zZ9hg(F&~f+KJ2<2zRl$bnc)+N!DnXFE*q?%6$;sKrja8&;G@XZ>w;oZ$H;sOwJkSR za-7MJS)VL(OEDQ%W6){#IbsTCK_qzdIsUCs+s`&Bf1F)MNL Y2PCkCy*pCttu(` z+b-*BToS@cl{zXOC0^N8q4&x-|Nf-Y$4Nk)r=REp$Tt#W%du7KXDkNU@bUXnl-h6? z-758o?b5^NwARlXv*;^b6Wt#&2V={^X7z*Sp6@g_qEysMUE3n+W2%4(ENR8&29Yq? z#`n!skCkoIrY42%b?UEgc%I?^Iz!u^=Jnj @Hu%j`tIc92#6dBa0G5YXY2^}5XP4DZZF z@Zmc9@p^xfqiuPYpHI%pd0zkkqIjfoA%~U2=!L?Ynn`HFuGyR%{0*BfjACoros3n1 zgMUi^H)pAx`1=PRf|Mu8Pl-ys4opZBl@4-r!$h9>rcbgu;*tAYXX#l62Ewwuy}u;; zsN@K6@X_0x&zCgnPzJ=LH9tauB8HE>g&%S#9mXgtQnTXlve6X%j)pLc^?Wx2OWAM+ zgC# w2f-s>y+ft zVTD6k`{K3xfNd31OijR&hXz{0|F^G_4(F+&(%#zI&$4P|HiOap%4YPk7UoujVzjdd zg;&42Q(o4=#Qf6|@ASy63Z#+uogHOl>U+vJAwLv@K)w+eht*}!0W=H@tV)w0jD}KW zH6Z*7gO#GG3Mp_wB;;t_Yd-(l<~n-TEG^rhS~gofU{tEx!FPSQN=r-YF*O-T^5mwW zAuJ};3}=M}9Lj%!OW6Yc!YxWdNT}gA9q=q+2fk1gF;+R6KeRN890)!Tc%|Xu;GpFv zuNj-GKCAB5*RgOY1Po8N9*aox^w(3mD7kN(Mjq5(V{CVNtE!GJ)` +pk@Jvi9px&BG_2sY4nPfvr;7dDN$A zOl1rVLn9-?ROjow^0A>zUP?-8YME5`jeIv;k|h^TGRY9#deDSx!}78PD7%`sxjzpX z$ub9C4gTjoQVu_w=$w)J@5iUuH_x mEJpCxBonJf_f9)WUDhis zcF@C866?kw2)^XN(mbWcZ<*+&YTMUaCq3`oFhwpI;;AM*F0R4cNEEz<3iZ=5bo98g zWV 83Kz8 z>V^?hM9nTajKh9Cn4uQ=npf+jw36b+4VH+>T55E;#m%OF@|ev{{H`n-Us= PQ)uy=YYUR 1v`=o0=+d_m4GGruEbcl-NFwN+UDl*>ecLV zd3|_HG$4Pxh9+z~#6TeF*(v42nO!#tOpOB)2>6mXc4OpH^lUti>s5n4Klp9t!v9=# zJSwT5DG2=yM`ct&X;lDbJQx~s$mA`wUGIE6l^<1nm%;PxrdAff7g_+&c?#~U{EMAP z5z_B^NJNEHt{c>kcy4)uC)FWe)DB6VF16P2DEdY#CyjswTdoH);UHN%VQ0O-C;#ym zJ7D;uYSj4TagtX3ZcEnJopcOEw2f6t9xpgEjE0j}A8(+qgO`G{D(Z#Qmgxl42k(`{ zl_pU2Y*V>x#{2y6IgP)s3)qsg1uD+xo9!je+?}1B@zkmLK3_)%eOJuyk0J%#@o5)> zo__RI1_cFqU-e_6#~I{((m8ixW^%hV?PUCe=*D|uCWjmS@m9^UohBUM7UHFmk`x8A zkWYR;sYYfco`(Tx59}z#Wbv{U=*3tFK2h=lea@6~J|1F >#8;o4J^ox-Rjgj96pV&_1^&1lKSn3y-C!)_opEfc*tT=Z~ zDALYKFhEcEKpd(oR^5JUx^(>g$0d2Rr+U4wdt(O?IN?Tv?ODmrJNE>jdez99m!=Q~ zcQ$$4?PA=|Apf~R9>Fa2ZHk{e!>@$c_-V;m$2Apyom)FIYV *;@8BlukaW3yxP3L##PAS`AYu< zf??^Qfc*dgkq5eQp0PxY*QehNT L+#YBcG3OE zQt~rR*7^l(p=m<{9(9eCx;1`VvOWXRgez5k>RdarRDrbowDe!td1zlk(xkhdt-Z|O ze>Fk{J)tqmfI8I;nSAy)hlG0=&i +H<0@0LzIQpz8W+&+w2}9<1g9Zh%$DF4 z&Ja=X>D }9l$pV>``6(HuT{G=?kH5UX?MEKa8&{onwIG1dGtNU!?Oam%QnQ# (t!@!V9&X{L_C@JweFO$ {Fi9H!FBiPP`CA$o9tKJc#N|CP!Z4>d^5(IyDag~L?fT? z*S*#SE=M}x^4I2PExwzW%=+m*kBBsX+Mp#8lEB5w`*`8L5Y9Bd-^ G0T-UYO?6kZo z{MB{UeLA(g+?cEF`&$_tL(koowl=r%hjGEK<%Vq;!`iG|bOew 5TzHWFjJd>zo;Py{x{6>llnyUvBz%=WzfLYspBd8j}v2g%^8hMs1^E z?GcS8Vc_vK-U)yighxH#F&&9*zC++@OC2q8nEyb)0=Z4e9`iaLlFu7S?zU%u0}fmj z;Ch`QM=JV!dfhsS%A-mBS_rpCkdsyPj$bblL(074sw_9ba~hN@s_Nda5%MXafWjt% z$_O-}#v dmoU$>#(h|99C8ad*^(1c4viI)mS`*hqjsh zOZ)6_a)oB2xx7Z$EEd(>=KK9br9d$yER)5pjyAX53XO*AxIsI4xiFVH>60%Nb{)5O zcSnz}2aV$>YFVRF9FOaKF#fJ6!1DZZ6WMX-6|1y_baAeV@HDAF9|Ho N- z3qRDji5`E~EJqZgrU#kZVFi=$t3pU~olIYCj$P)NsocR(%i*F9wyx|h&-+U9w&4+j zyq>@FO`4I4nE^@3bM&cg*Auz Ds8m?@gi; o zHm3dPbK&|Dn^TdjifgL_)Ftr6tLM*J&R5*qLwmU%uE%e_`!3J s>+{Q4ht3y z2HoC(w8eb+>plrd^zm$hG35x_Qw-`i=Z|s{6}D6*?Fcm!nRicqoq;AM@n8yG^7EVI z>6ag+TLyk0izO)Pdih9%zMEhNV~TA;dRzXej^XF;`5}&4)X%6iQ|V@3^y9vs7o8od zYQdr2Q O&_*2sJu;pN!KjpD6234lnxB5|j)_jJ9`?j*5m7R~j z5Z~-CxD06%>@=pD#5Q0#P9^nLGY4d^$k)E{wq7y3_oJ(-i({o@L+-tCJ6JCbbL)gn zNUDSOH(udeY*D(Qa-T0cu>Q%|nfgzCpK0aIY?MEM! 1YD_o_mj zA&k^OfVsYO2!E5M#y|pPCtE;+N^<64BYs3QjC9~F2&g^i2D-{2tB@7@ZU2Dzt8Y@_ zIHI`$ZE49bhc~ -W zNg^3;^0}D|Y -EOe4viS%yf0vBradx+l`AEn0 zqCgK%-g6QDiA~a!G2{?H2=yPpm?_Fh6q_%_605h}C+O%s*TWQ4;{3NMUbdYkBPn_# zPrFAuu4Rx(4-Pn4)zCc8JA)Yu4x<6xX+NQu)2@uy9 67rUaU3T=QROJ)TRhrF zJMX8kHtJRGUq&8csyD|Y)8-w|NcIcZ8aPm2{ikPCxw!-O56Sn-!?$0q2E**yZ${+> zD>vz|DZRTu&gRXqpgY}3+GQiu7_j@c{i{rsC4OWpJW19{sa9m) *7KEs=aOIRq7-Lb2|# z{ZoL&3((#HN}JGal|vWG3T-uz|Kb#(R@_4HM%hqlCc@9_u7QiV3pzkd6;YJ8P}&$# z(;eO`eQ}~#vs;7N*75kFm;HRSS}SgOUe~NmM|m9ldK;44=OrDl{`Cj3yZIF6_^P)3 zM32KN?0)w@e*mVYzGP&_5(XKy3=+O*1LCFV^in-Y#(oDy9@5N}c>R4I^NU$rl^V)I zFn~9U4;vM2u f vv-a4oOuRlPA+*_Pt2@AFZ(Q%` zaw{rhK5GiEq}-yH)%&GeZ97kUUy$D7?{DFR;>h~%k)u3F)N*Z}H_gLX8;t#QpWRSM zGB_=ryNa@cS#Iu>n|yDs=d6(j(?viZF_)4+oo4T2%|^7@yhZ0H^Wpn{iQl#IeyG+s zxxY6Pd~_e%d=9P|BA(lS<9`!^AtKu8r#KsVi?Vw2{U=RJn-f9|M`Q~}O{ OA!OAYRifVYpC5b#~!|Q&klq7a&v0l+!96sowM% z9+nPyFG!CBWfZ5|%QYaq)^p?4QB9il3> $xz^!HuU${?2Hnl~`tvq_ zhqJ~qYq&Iv$F|GV+WPecXx<`7i%Z*gz|9zSsC?3P7d6kE7n1~gORp 2Z@OCt{5JKWR($}N9#CKKIz>TgW~71!ml8M1VdZ`yK$gyX3I4^D&z+KL#P&x48C zUV-bFlwO Zx+LsuTzxDptx5d2ADPA(?c CaekaHH ;CFRawOqM5fNIto8&3j!3Q?pS#Ja6p5cPP?AIsr4RJWO3x!20fa-S2Uo z(5}ULj!hA(uB`w~>1*g763qV$Va#_C4jhc-1+~L#@-Ix%b2!`JHZWwhh}TM`Fi!4` zOirU?zuMaV3K|$q#FF5cyU5YD!U4= ^p4G?Q9)ceQLVzWsFIP-1+AV3Olnz+RtH7^%X0 zq*>+wP8SaL-2=}`$jY)A4#*~ r3SP#b^;fd=PC!oiK1&Xrut4r6@B9SWt^X z1!%|^S-5F_(+__TBsI>mjZx`6Q40~Ss_LTUrqG{B)qRGaMMz;^X- ;!du z7lvG<6L?K7I)$L(*sM74@@Q7Eee<0%hCS0tM61MDb3c`pyUSW}90H0uAtknVr8E>5 z`$2rlSK_FvNb!8{)~@u!DL$^U7mK<;Mo#`}oWx3TQ|~I!a?A8l9M*E36h&Z?ArSM< zwnFU5;ZML@Teafs8Amr>7^0-?Gv-~^{II)@Ei+}zs4$ci9BUhnyf1fW@bfXN&ZmKx zt+)F`I5=eC(8>UQPt)DM1%(AvcB{3Q{VAO>%;^ldE+JfvRH~cB(Hd>nAAtT)-@uS7 z=o-KD4ZG>Yf%DEDuJ!k(%Sk?gvd!r786hbPF%Ki7cj@wTp_&!m7Fvq23%MthQCPQi z#5SM_O~9x+i)!z9c+4FipV2n$IG>~w6A@uxVd=BtQ%YLflUmq8xp}B_b3c4J8yS zkNiPtmNyfna!!_hZ^hOvF-1KwF>!82Wh|ra{K(F=sDHR2#_SEy5TTGVZ1Y1blu?L= zfg%WvO7V!t t2(O$s=_-onx(|IW=0IrYL7?v|w0*mFdSG!Js^VyAo+w}d! z<5{%Z!-wxg#e$29sVjB8zp3&Vsi@v}lJ8~tdD=h67Z&azSd4kbfhJHkqET}C92Sxi zif0F3zBvD$=*;9R?w`+4$ul{)*7VU{r3}!NH8i|vK6>=M9-100ix#Kgm=J#duaN;b z;5$Ln;*Mxi<|1}RYmril(ukya(Ksa4 c;IBGo6lY0%0O&3^II&HNZDY1grTp3ez*}0;k9VL35)GAx^wt8N+lO=YR zJ(bH;TB%aR!y$G)s=#!rb@IHG%)Z%yU|XRU4P>ObT~cWC6o2J+>SeK&diXok=Xre) zAB%S4kaBVHhdd )2k}X0B%>>Gor^qtJpAOOl$0h Bz}5eX%-j4S4Qars~P7jBc4piT%RJg-Q(xW4%=l=qPiQtPzb(~PDU{R H)weM#beK9J4Ckw<;K^%ySuWd=Z$8^?(8f5@KCpAILHMt=zAG 0;^|#!@sG^GB`pSf{)N5Bo@> zBy)BRieiAegRwpC{)K>OT1Nuip}(nX9DM^Lax&a-u+s;A94Gl_FuYEyWbw4|UV+Kp zOy>Ht(qK&H!@QtC8m|urDfBUruSf>Ubs6&NsmCI$Z-E#9f0G4fKd6d%a@g8;fcd9N ziHWyNaV0S-@mJVBf2L&M_m~YIef8K5S(vczsM*Od1}8uqB}@?gZu)D;C2oce!T4w! zxkdzge?@g)qE8+>(;D@6kM*XvM#D;FkM>n`bS{g%1fEQ8Nkvw=$d_MN1)o}Qq0!NZ zRduAr(wcI(Zhjg4{U%O+3)V=^^Xngg)+hiW`VMYiy2=xDVk%+jI*Q+&dbve^ p^{VFVrw3q-iF}F|DVnw=CgOOE+v_1s4ZJ v}dA>5)+o@wjZwi$@Y)U>u8lYm9H&ZAu*i zek>SvDCsa>E9j0^D7UWPhgj9|77zZKI~i2bvp8tc;k#whY`!ULnzwlCp=RkMPNgh0 z8epi|E;-lSHux9f+f$xtM172kg6Q0pYV;8Td0{u($?6kZOmoLWoDlvGR6_p5fXk^0 z!qLbr?xOo2lVt;C>;KHZJck(cJ+@>Q<$jcw4D-2@Z?e|R+_P7c%4(f}ai$^5rF`eg z^#-T#7m!jp4Bl4xwDL>cPvsX)ns=2tJ`O2Gp|byhfUHQe#ai3Fnd^+X;Y!T01q?Se zBOz*Z@;2+WX@t1`$iWp@*P&N6__I_W37>jPaHy?a3u4dTlL?kk3_hoF%k#WhpNCyz z(<1k-?EyX4a?KhIPDgo6IYn{WmLH!L%_BL3tg?JvO|xwYPhY#Nyl#$nJE_r0DOhMZ z83lL+1Z-y(PW=21i|bVP;uAFWEsK35APAGbkE4A+xdj_*{FkwMlZGYKW5HU}(cQH5 z^0kf{W;zWwu>>c@t@FTwx0udjOoACCKt`>?i@N8ed04tauW372aCA(Hi=)dEG%@gR z2ay?5Jn7fZcL|%W_mfIz%?a8wT6){C#8kJpjbsN<_)kn+ 8qB%p6${Z#3ce zfBzElya{T68s?_3z5Dio5ezgurOzahWK$+;` YZ5V`}EAPNbcWi{W)hZd5-2THI04L8;=MYSmsjuy+1QKNeP#5CSSIpD+*!dS{be zF`%lk3nAkOQb9K)6D5S;UYnjz$w?NWIn3sLwM*~x1wu8fYzgf=$1gr1U9SRe%ZER5 zQs?&F0=N3k$6o+s?=;muR6SR*`f{pX^z+y3D47o9tgVY`63sg`c+xK_GvCR?D%8+K zb1MW1-uVA3fV|6sK<@7;xNg&QJ6eAR!8ZE7izeZ#^Lx#O9EN{>$+NS5SEtrrf<{E- zIl4g%lwL@+xr`sq^H-F&t0Ye%B5!=@5tVz w`xDe{pR-TPC@|P{P19z!4Ki$c_91$7(mnIk11?7Ja(H!~ZE~vblZV`XGz{vFq8j zr(V8EyuZ 5fHH^y-0&PxmE3+czwCK6hR<7`{fHj?CSX?>#;b^8@EW>qGEh&c z+@+I3gh|0sn3UH%6X+4#B!~Yn T~ah9*YoIg6<9DhMayIQ_Facxs_o=Ho@{9 _^uFENCe*>cjKR&9aW3QbNf+0wzk5X4zQc%X&MQ{ zTv`YTD(P16$XZE;l@)g{Ts@dUg84LuVLyzxR+(QWi;IGSV29%Yd~eKpkdP2hR|c`+ zeALseeQy7oGWhb;k*4`I&m{;=I7gHJ_2n{30wt5!ug~9hwU&*KG9*Ylxg9H$VYTD2 zJDH)))UU~O{wD7?-r_d*N?8vPS;p5qJzq*LQtM} tRxmkii?GW{Ddnm zpa5j-Xmoz}cu6lc%lxe9;xQUb{_A3TC8e&GwOvDh$<)bu`QfP5CBxLWj?_+1QY3ti zngq~}WEy-{hjZ=i@d?!Og@shNBohr|tkKl+S^Vy23u7m3UC*9hJr-Lc4w4`jwQnWF z<$fVE#XuMNq?7AC138%|=n+KJ)I5PG(Ps6@s@L~=L;e4^7QpyHU0QvVpD2sUOHc|O z^aQj9fYv`l=)C@h5eB{`{C; 3r_jqI@%;G4nlz*O;f1xsdAL>PZ4~YX#DXK%X=xVJjjra`zC#k0BW6S8 zT90Ypm_}GLOF=}m8IzpG2(@I--U7|E?L|tZrAjKe)V6)Jw#7X)wfnBRdrp*c^?!31 z9Jv#p@*q3If|62Fkr5HCS6(aDEa?n;T{+}rz2cF_mnmj~X>Iz-N|C`pMyf&dTU%51 zQlqKqD|*HQ%1C6?2O}9Q*r6TA5^bJ1^=j_}=!unlhKRXJdC}%{Q*ym%;8v~R!@|rE z<_%H$jN3#`fTX0N?H}pd)Z}D5boAtegiigJKY(jb+H3tD!J-~sLnF5%#}eS_dVZWR z;KxkZs@Ft4O>ye m%!id*}d%iZrvHgRJw+nz8@D>R4Gncx%_=5xWZ3LLo?xgpZ{kg)_)@w zB=XH!#<&TZxf}ESevPmNvful+7<2-Y&JTJKqNAsG;m+i(Y3S14d%C-<4Q~6o%`S5` zNZ7xdn`rK0SZoaN#jgW}F??;(QkfN`qyaU_cw!D4VMN_xoLdG{4&oN`aRDJ}DG@_a zx}_yTzd)Y)2C6QLaZX}4J@fteFzuP11Nw0o49T$yI_oT(8GekKFCLql4A{He!c!jF zp;a9Aa#)1wpTDU@GwwzE`wK;l(I^5cImxMMm`hiPR*^?g{jj`Lp}Cj8leX|jNWaC( zx^ogPUr_gr)Adgj5r@)yF^ zTl3+KA> FPhHx@(`#8v zt)P!M|3noz`91R9E33JJeCF6H79vAsdAZ|!rH`E0Y^#kxqvDU>KWLuMLy}zH0x`tg z@<;!YXRjFG4||(KF}8f`2{6sY$Ga`}6j7a?Sjj@Bl$WjRq%Wnyk1=iKkq~TplSZ*< zGT!b?F#B{(Zay}qR6G@(rDznwF-(fGtvml#3ftPMM5^RK9O{rw>ljV`6eUNEAx9)v z$*pp$Q)xL{Ib>3$^e6n|93AeSE(2Ye8d{XD{cDQjO^Ir^r}o4gnC44^;e814bXkOw z($?$4h0o&+*6vQ`1mU>ZR-$62unebE5ZV~e<}VqS#D`` I>PseO8#>T#!j<9im z>gKh5I;($qHXZFa-ofo$@T;d`8Tieds^rXCWod7C-0Bj8iWiGVK(K#3i!G+pWxKaK z$~RvwRYhy}?PUJMG{-3N-3QEsaxnzOaGE5MgkS}VoCvc;<#18zOdh-6ebRR9P2e{t zB2) GcVh1H*p9R7T&w<@+@f3T=a%!-zLgGv zi#}}-CbEL{v-fko97G&=c@Y=8vB+QsJs_}=y`w&y{&~r;nok8w{hn3*6Xit67>wOO z1Lf5CDUN!klS~^Yr$sDDUnAL50hf~}8!lQo38z5yp~qmOs!3Z{Id_&KiN5ijP%lEt zmv}K+B}%$k#p6%t j+w5mxh6vc;+)~tMa zl6}{_3B~e{R}Nm(-UJ}$oL;iQ%qHDTaQueR6-3e7dq(2(Yic|%?HF^xeI1@#1i$f@ zKD>A0R>m4HU1q+-T-U~)o)07V$_Yw&{6xK%)(Q&U<%=n(c&T@zxJOyOH(o);L3D!d zuLr}$kw~bhn;xgi+A%~!571?j+mo@?&T|>#@;Qu|{$aX~-sb-I7 ^mOkAa%jP=jSzQWh7s}UB)S9 z?DY=Evs%i$#>V iD$g8_+5d zY&B>f2lj)q&f*#L)#iN!*Mo*jkiN5ndoY pP_Qyjvc#EnD6`>z9wzg zFK!4z@S8vEbxk`CS-8I<5Ifen3^o-Kl*!NI7_hMBv9)FDVeeoY&yH(g5vDCXytBi@ zA0-k2&qAU?S@dr8>BZ_djGxDcBjlfz+;|6jNDG8hk$XfV5F-%IOKtM86w~N1lulH5 zL$pINf-naTwtnI(iD%?tMukVBQN0&d5vwhbVl7m%+7iV>|M7WTvhd!uSVwVoZZ#-} z?t>J1Xj5nkOzAE(ZXX_`H=`PgTt)bih-jZPwAy7jV0+M!ws4#JJs~$u?ogd)2Xxep zxXW@CHrdW(4Q9O(U8-hw3IDSri?}Agv})_iqY?bg-$Ihnbb;qui|IiYhSLRq7FL1} z 4Am~@o {b0KXXYj+PWjNYl+U{mL$xL-t+S7DgCFy}xuk<|0=O6}6&ocqf%e^m^ z-76cY8`H0EW}b$&l MDe%Pz)1|D|F7HMo6ex;6n{m8~*5tMd~;Nsc() z2YV1@Z8YD{u9U#tEnisQsre;g)_%93f_YfY`Hy1jtc#knWavd`Edm?vdYd}B5?T^k zJX*~sDt28=PEpLP62z!^G0KBp!>d}+(r`S00WQ8kDxOYSC5~1N-EtHxD^k6sFmAjE zI5)N52%YpB!s+t6RkE&|>m(L6QsDBgawJNV33he($Hos$dnX@HeeZYvxR@bX(iE Kpiv!KKvv=~fAO1nLNaNAlTlBwp2#nqYO%7*gQ3!1HWlF#c1e&%2p z>m#Kft}ed~Q*U!K^}ad}&xe ?oceaI}|AHUL1 TM|bz^?m6?8AvE)n24i>^ z8Hd?%`sZ$k7rBxGA3pN>Zkc42=*oT?Q<+?Lt8E2_r=f#k@p7^RxXqsOX;c_Py?{Hz zpHR> FjY)QAol2?Ln1A)k;R~5Vd`5kwee-S?vi4XmNCbyTMODc5 zc3}!km GQh3&8at# h-WD5i2211aY&7h&syLnC zNsA* M7EF8%piCB)uy?EPy3>TW@a|rgZs)o9K3ZwKw z PSi|N?y%t7SX%h2 &0cOJb%jU2ot2RS2uh zLGPVU4$Y!}if8}#W9smOMtnZ8+x^Ddt0>R*KQqk ;M-kdk<*ni?>Z!+O6X%>X@yC43B#=$RVdx{^X%EW--SEL}0|SNLhzGb<37acWq- zQEdnNn>E$dJ=^|rQ i1uky zaKh&z6pSWPy-Hg?Pw%@oHCrs%`@Cw=*?K61gc$IkihiFEQi495$Z{L>Pz$P~Xf=a| z?>GAMO{bz^XTHDMCd!;4rv0JEZ=EuOa@&Zcvh=(4VGvFX%lN;s9~N$2dRm3Wj^V27 z{pN83*5&HM6Az6r9;?ii6kEcEh$1r({wj2*4{8Q@ZHDnzfp`Lwkh<|5dxA9mFD6x- z4N*lGTdF_#ZYS>rFTJ*R21jXFdI&qsZu|Uu8_v`u+GSJTM4kn{ws*{264}PEh;X!4 zuu>?yaAWm>Y2^SykBi=|B+vzP%!Dl~y1-QS$$YYmZ>IM--`c?mV(dIqO&+5;H8l}9 zkhV!&UZVoC{R0w-6=Zk>0Jy(g^eHA&*vk!kNdgs{e63Lj9mAQg0s?4 z|F+#yoH^7K!?2S(Tap<4W7jb7WuCIz>gH4N03)(Y1p0bt#TkmuIk&}DW;U!)EzE!G zjWM1GqLnl<(z-2^Gr!GkRTyDva`&rV6~d?(Es~dtIy;H-z=8A=C14kP=XbtC6mlm! zy3VBMz2^X?9R9^?g^O%H&r*p(FlNiR8c}BQe~-_pY(u6q7_F#GS#_RL2tt>LV9wZe zbgi&i&bl!WV44~)Pp4eXV-LnD!h9xQI>inN4L{G#bjA;e+io>kOU%l8p^8VrOJg$| zGc&v2e->YS7B7>nJoVSURY_l{!u17w+Rh} iX3X;A`{jOD@?S>GuOE#s})?dV7ipKon`@ zsO)E_zj=J1I5-R`%bP*2Ov^9l(lJ5CVeI+X6?pU{fE9_&q~SH?P*FTa0II8}rY$_C ztbUrwWx>| 4B9B$>_w8}30QgE7J~ zRy_}70pwx?t*Z&*CELFkoF!cyYoJ+Der9-Vu=TL3WkUF??{ff%q#+rytpo&s^pM_y zwYHtBJG@;6Y?I`&_m@{a)w1}_`tzUGA0b-KLmm9<=8YfsisLa 8mMHqY-r8xtUZ6)^%`*Dp>tOg>eGHkW9Uf)hFl40==8Doh# z=|(UX_IcxsVk%_N3M0tNo8%_`>ZI1Uud0_^`Guh4yZ<;dj7pY3nt=~0Q&^p4Sj-6S zZW2N@xjF28eE|1%dxWo9495^~nd?T6!=9etm&Sp2dnN|ptr$K2rrZ1;J{9Y5?2E9+ z_-!4+A`)R`HA+A#wmeyi8CmqS!z*~nt%CN=Bl4@!KO4iupKXr%%s{JPA`LaQ*SCCB z4km0&({5w!c{@0!ltf3{$Fxt${_b)oUjSD`|GCbF%6 1v)9*6z2ZL)rA2i~PT__JW^goLT4vQZ)Sg zhI|$=b4 eXz_c)*T5;mG+YFhAvx&4}x$G=~s)gTCtDhWwvOrL(I`2DG%Ecic*AG13e zSbXSqzRGVmgj=~dNsAjB_UIFTEdp`jHa$ rKacM^36mrliML;v*20)WH;!9P4a~Ug?yv?J1Li7?cRW*JE_<_M$8Nm zR6((l7?9-0nAQEn6L+D(3(iQASX*2#Knp5cRZ~X!U~{Z{E2R=1HS?I$TK#t&-6u%! z0eU&53MO(s{_vt*_22**gOq@UEwImbqc5u9Qw7^v8gBXqqZCd 4U{rtuG@<;r`#e~T`m=z?6;^^9 z&X+-MdDatc?@Zk{GiUA7_tA5lA7mO>*0t%iT6`yga1IJGarWn<$Px_Hb;J+idt6DF zHZ8J1l3sA*(Um~yAg;-rvDg`36x!|p>}~IZm=0I=R6L}7&10hk5imo$6QT8}wbR9G z+^w&RADI0iw?~b-kDJ7_s7n!p?(og$OCjbyaV>vO%L|qZEgHfA&T~l&2Q?ClI5nON z6$&SZ04^s7eowedd6b$AmUJowZFCd`h#jjYCnl`x?j;8rxr}pFR|<;^y=)+?X(~b| zw>GsmOmty o{(DgMzFKMr zA*eF%3r`VyLrxfaZdA86Hc`~jgr!Th6{3(vamrW{ZB&X`gv9XDVjB|G=CKl{^6ZgT z80DdVW+~vJQxSy#saEjg5iX%MQ#Y3GpP=^p#{6R~amqiNCQQIg?tg$q90ah~+ B&CJ{xWEe}>=9NMFT71*;QYvFlU@$1_S>%#O~HMi(+A;_D}=XW4h7%> zl~En4|8^FwhpFN1;5Kp`eDO7HV5E>Bz$DcaW%KI`TKbLtufnVtelbmUaldAaOyd|& z(y^xdD5TghxSKFiLhMQD4?cW;)Mp1UK>tgWm`Rz{=S^AI%rR$1%WuM{p)64d(V9-T z mKS&RWHdrfpmRM26eViK??$Oj1thQ+f= z8af8r+SZMWSlH^O#5|I?i_WmHGxBY^Uxw>huG12j1uGW?$>`Z`pXx)No*HgIFE1yr zIb*EP>|L;&2O)#FIwF5j4c45fdS7R$?PX+R%`}(nOumoH*xT>GUHU(6((x80e?C(A zG{Y+dnR!_ei*1FH^zN5SEc)?@E+>)OZWC=v8j975g@*M@Q5x|=#_%5>FX)egbrjqs z46}402@>0yX~zi+h){rTXp7&&el-vEb^1&bVCRM5$GxK@UI#-V+&=^e`9Vk#!tm{; z*H3;L2c@(XSuznFXs)Cbp7{teP4Ktyi13c||30x458M7gF`0Ud?yxN{W-BNc=E>bu zMP=~SiM1`O)BbX&i(CBnr(l`yOLJpBctCYoA(um9<_h;~n9+A2P#j1j9wBi5hu5L& zwv7413je%zmJV206kUq^C6mqbY28y54#_2%kCdDryc^%M)^jg4d+a3~%p$jRQS-gz zfrnCHg~#zG;&^@tg(P#eYl4a30TQ0ttd-t5o89y9heHx7aANRl9OlG--`4d|C$so1 zY=24#?Se#QXh@Mttj)wHOJm^#J>2E(585*@8N_M JAZiz zYrmyJ{50)o*YyuGv ybjs;b=euh^$nYA8Uj5tk2h<j`HYX^b`O)OCXYX(1M z@)WOf?U?-*4uC&WVmK`=b-nG$GvtmOb_kgmJDuZOM?=@c-}*)ZzlmzeYpg`aeE7`Y z6L-0))d!kP)=Yqf3fVs%Uv?mJsH)c5a^4^fWi6Z5=$>E2p8$76?-8aKAVTiRGUWak z^T{)B@~!qA% ?6gO{KaW_M_$0`91SnThlhr1lS75sHi^gneGaQ8o67AsYcSKQKUh0S*v6B zHq$KhMz~4IKr+h=VVX}vS+cKG0Dv9 kdJ!189A=HPz;fQ-?cQjiZhVg<2 zW%aosdcYi>Bjx3iBs%|O??AIpk-_;MCoO}lABqvZmNG;`8N0Y~Ciow=9#B1zfTPL( zP6uT;OG}vLYx&P7p(RCvI5M^9gn)$SAjG sQ5Wcg$@uy%6nZ%@s>_|*HpV-Exg*^I&|?~ zrGfz*n(yG;&NUXTA8_#s9=;DAwr!!s>)X?sNgqi%A*sse^}i{fh1Pc6enJ>v{h?s{ zblg;+%12M}3qDdIRYZHnO%+Hxo?--?HlrZuxy@_uITQ9Q9H&P0e`r3vXusSQrYU^@ zeg({^{%6J%f>@Ra+WjO@NWYe(sJQgxFL0rQ>d@$-)>RISWUNN<4&~kBIz9@sbz=0} z|G1vEPUeDD ;V(x6o9#mk3KSmw0?sK}{yZ#tUR>`nG0Xcm3Xb@KuaoYfz z|LHXzo)qe9Og)&LmzGD>sPi-~5|y!=l5)}aZfqZevuaDg{X*6eohQ!bhi^x0V+AmE zNkbaj-*>D4O?Y?SFLa?59{a)QY`+j@sI8%B=kNQEO{seclp;v>=vz!;R7%wVd+-q4 zlSjlTZA|Zvv%Q_wV7f}S9gmQ2v;TiB0CTw|9hQ|A6`6k7qW24ubKLT{Ta-~M(h;j# zs %{A1!x_;aD7 -;v!L%`4@5VP!1X) znvTl~8WPAt35u;H0^tC6X#dR++(>14=XqMaEQuA17iHAHu=};c311pU-Ep@W28fxB zC?askXTEMI#BL1T=ei`AZx!h@R>0j23k&ObS DL}JRQ`1Zy zHq+vErXT (UP4}h{Yqi+xnSTb(exvJ zpHuMIrqnb9Z8&+MFtE|S)&IHmle7vv97~mYGDvy-XYSzi{7c`eOnsq5Ka$;{9RT2k zrd4VlO-0slyi|^bwP@hq{oal09~mDb3SU9%d)gh#dKeQM0q@wEhUQ|SQ1+DX?|btW zB?_HHk82VVlV7!-n}GX#*VwA38Dk_RV~r#-#R#GT6h!y&`2)NHO5&Mhq+^}IDHPJD zew#cN7vn^@-6HVPMfk*4UEsXX4Q_}#iqFh!HSsqP6heAQ3m}TvxlZhEMrK#3jQf$* ze$Con+eRl=-M^sv$zVG!N{KR##IO#=>x<#Jrf BF{0qixDJ*RE+}yuxKKsTM zH#>eTYj)0eDR_y9l}7U7swU9 OWd! Wd!R?7ue7~8*>v_d5dcx0`QVG@%t7YT$0xRC$1^~)gb z^OGm?w+Fo#1dMFstDE{E-_m8>xYq9oItWr}8>*TT-iQG+5>$fbTOAD?gt+K7S@qv| zj9NB
mJWK3nhRSG{W6=K~ZV!$&(O7IST3V^=zy*W(l6Ici0W zQ~BSj3!CLdvkLjFAOcIFpxf)Dx(lxFwDwIGIC4~(|C|bwh~nyMSu@e|ti94Su5f*T ztSYP!qKcltU~%!VYmxc8^ZotB%uMPt4uYGmr! %6Yl=M(sH8-H3EC6!3 z@K0+P)U+G*5u`Ih&RaijJ^gAur7SR=p~JHSq$Cotoc&J3Uw-2vAU6{)XzO+P20dC& z6&Iel2XN_P{$u~r@$;Hw1BtY2j$oypwVzU2>;53~ge-AhbYk%9O5j(j(+Tz1@E=LR z*n3OS$SK!s(ue{2@Fw(;P7*JpRaLB!k;?LU?3qXd;iy+XpWc1({JqYqV^p6vVFhYz zYKc*ysvdrF<@oz;H;Qs|!+UOiR>|Tn`OvxiD3pc(nV9(4xcJzA=Zrw0Qj*CyR2EX0 zugXwI#SlkG2({5^|HHoPy87?Wi#hRHe506VFZ08tDyAOpn1llHt`inITJZ?+Kj{@p zn4~C1wR)(qMsp%ah~#Q Unlb zj6Zc~_Kp+#Jo58YxC179@^0h&`tBDo5qPWDoQQy pVS9(gK=32U zi}8MZbLzv>2-@`5I(%BQVCA(M?FUcX-GHBVNoT`|c|#c~bKL~fwrgJBzWrY1