From 50c1e2cff868cef4d7287c4370546987b18387bc Mon Sep 17 00:00:00 2001 From: Jake Pullen Date: Thu, 23 Jul 2026 07:48:34 +0100 Subject: [PATCH] Batman --- .dg/telemetry.yaml | 1 + .gitignore | 203 ++ .tmp_dagster_home_e8m4zq2a/history/runs.db | Bin 0 -> 180224 bytes .tmp_dagster_home_e8m4zq2a/history/runs/.db | Bin 0 -> 114688 bytes .../32f542a5-d346-4f9f-9770-8c8036d72111.db | Bin 0 -> 167936 bytes .../578f973d-2672-4656-9a65-90fa6a6996b6.db | Bin 0 -> 167936 bytes .../6ba93bf3-34c3-4a98-9926-b1003610e991.db | Bin 0 -> 167936 bytes .../bd2759e0-f8cd-4707-8fde-a00bbae926f6.db | Bin 0 -> 139264 bytes .../history/runs/index.db | Bin 0 -> 172032 bytes .../schedules/schedules.db | Bin 0 -> 77824 bytes .../compute_logs/cdzgwevr.complete | 0 .../compute_logs/cdzgwevr.err | 7 + .../compute_logs/cdzgwevr.out | 0 .../compute_logs/hbadlfla.complete | 0 .../compute_logs/hbadlfla.err | 7 + .../compute_logs/hbadlfla.out | 0 .../compute_logs/pnhwptsz.complete | 0 .../compute_logs/pnhwptsz.err | 7 + .../compute_logs/pnhwptsz.out | 0 .../compute_logs/btltjhmh.complete | 0 .../compute_logs/btltjhmh.err | 7 + .../compute_logs/btltjhmh.out | 0 .../compute_logs/pptlobuu.complete | 0 .../compute_logs/pptlobuu.err | 7 + .../compute_logs/pptlobuu.out | 0 .../compute_logs/yyfdutdd.complete | 0 .../compute_logs/yyfdutdd.err | 7 + .../compute_logs/yyfdutdd.out | 0 .../compute_logs/ceizxwlt.complete | 0 .../compute_logs/ceizxwlt.err | 7 + .../compute_logs/ceizxwlt.out | 0 .../compute_logs/ehulpuhz.complete | 0 .../compute_logs/ehulpuhz.err | 7 + .../compute_logs/ehulpuhz.out | 0 .../compute_logs/uafuepcq.complete | 0 .../compute_logs/uafuepcq.err | 7 + .../compute_logs/uafuepcq.out | 0 .../compute_logs/uzewhfes.complete | 0 .../compute_logs/uzewhfes.err | 7 + .../compute_logs/uzewhfes.out | 0 .tmp_dagster_home_e8m4zq2a/storage/customers | 1 + .tmp_dagster_home_e8m4zq2a/storage/orders | 1 + .../storage/orders_aggregation | 1 + .tmp_dagster_home_e8m4zq2a/storage/payments | 1 + README.md | 61 + pyproject.toml | 32 + src/dagster_intro/__init__.py | 1 + src/dagster_intro/definitions.py | 8 + src/dagster_intro/defs/__init__.py | 1 + src/dagster_intro/defs/assets.py | 78 + src/dagster_intro/defs/resources.py | 14 + tests/__init__.py | 1 + uv.lock | 2812 +++++++++++++++++ 53 files changed, 3286 insertions(+) create mode 100644 .dg/telemetry.yaml create mode 100644 .gitignore create mode 100644 .tmp_dagster_home_e8m4zq2a/history/runs.db create mode 100644 .tmp_dagster_home_e8m4zq2a/history/runs/.db create mode 100644 .tmp_dagster_home_e8m4zq2a/history/runs/32f542a5-d346-4f9f-9770-8c8036d72111.db create mode 100644 .tmp_dagster_home_e8m4zq2a/history/runs/578f973d-2672-4656-9a65-90fa6a6996b6.db create mode 100644 .tmp_dagster_home_e8m4zq2a/history/runs/6ba93bf3-34c3-4a98-9926-b1003610e991.db create mode 100644 .tmp_dagster_home_e8m4zq2a/history/runs/bd2759e0-f8cd-4707-8fde-a00bbae926f6.db create mode 100644 .tmp_dagster_home_e8m4zq2a/history/runs/index.db create mode 100644 .tmp_dagster_home_e8m4zq2a/schedules/schedules.db create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/32f542a5-d346-4f9f-9770-8c8036d72111/compute_logs/cdzgwevr.complete create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/32f542a5-d346-4f9f-9770-8c8036d72111/compute_logs/cdzgwevr.err create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/32f542a5-d346-4f9f-9770-8c8036d72111/compute_logs/cdzgwevr.out create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/32f542a5-d346-4f9f-9770-8c8036d72111/compute_logs/hbadlfla.complete create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/32f542a5-d346-4f9f-9770-8c8036d72111/compute_logs/hbadlfla.err create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/32f542a5-d346-4f9f-9770-8c8036d72111/compute_logs/hbadlfla.out create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/32f542a5-d346-4f9f-9770-8c8036d72111/compute_logs/pnhwptsz.complete create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/32f542a5-d346-4f9f-9770-8c8036d72111/compute_logs/pnhwptsz.err create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/32f542a5-d346-4f9f-9770-8c8036d72111/compute_logs/pnhwptsz.out create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/578f973d-2672-4656-9a65-90fa6a6996b6/compute_logs/btltjhmh.complete create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/578f973d-2672-4656-9a65-90fa6a6996b6/compute_logs/btltjhmh.err create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/578f973d-2672-4656-9a65-90fa6a6996b6/compute_logs/btltjhmh.out create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/578f973d-2672-4656-9a65-90fa6a6996b6/compute_logs/pptlobuu.complete create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/578f973d-2672-4656-9a65-90fa6a6996b6/compute_logs/pptlobuu.err create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/578f973d-2672-4656-9a65-90fa6a6996b6/compute_logs/pptlobuu.out create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/578f973d-2672-4656-9a65-90fa6a6996b6/compute_logs/yyfdutdd.complete create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/578f973d-2672-4656-9a65-90fa6a6996b6/compute_logs/yyfdutdd.err create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/578f973d-2672-4656-9a65-90fa6a6996b6/compute_logs/yyfdutdd.out create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/6ba93bf3-34c3-4a98-9926-b1003610e991/compute_logs/ceizxwlt.complete create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/6ba93bf3-34c3-4a98-9926-b1003610e991/compute_logs/ceizxwlt.err create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/6ba93bf3-34c3-4a98-9926-b1003610e991/compute_logs/ceizxwlt.out create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/6ba93bf3-34c3-4a98-9926-b1003610e991/compute_logs/ehulpuhz.complete create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/6ba93bf3-34c3-4a98-9926-b1003610e991/compute_logs/ehulpuhz.err create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/6ba93bf3-34c3-4a98-9926-b1003610e991/compute_logs/ehulpuhz.out create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/6ba93bf3-34c3-4a98-9926-b1003610e991/compute_logs/uafuepcq.complete create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/6ba93bf3-34c3-4a98-9926-b1003610e991/compute_logs/uafuepcq.err create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/6ba93bf3-34c3-4a98-9926-b1003610e991/compute_logs/uafuepcq.out create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/bd2759e0-f8cd-4707-8fde-a00bbae926f6/compute_logs/uzewhfes.complete create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/bd2759e0-f8cd-4707-8fde-a00bbae926f6/compute_logs/uzewhfes.err create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/bd2759e0-f8cd-4707-8fde-a00bbae926f6/compute_logs/uzewhfes.out create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/customers create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/orders create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/orders_aggregation create mode 100644 .tmp_dagster_home_e8m4zq2a/storage/payments create mode 100644 README.md create mode 100644 pyproject.toml create mode 100644 src/dagster_intro/__init__.py create mode 100644 src/dagster_intro/definitions.py create mode 100644 src/dagster_intro/defs/__init__.py create mode 100644 src/dagster_intro/defs/assets.py create mode 100644 src/dagster_intro/defs/resources.py create mode 100644 tests/__init__.py create mode 100644 uv.lock diff --git a/.dg/telemetry.yaml b/.dg/telemetry.yaml new file mode 100644 index 0000000..9a76fe9 --- /dev/null +++ b/.dg/telemetry.yaml @@ -0,0 +1 @@ +project_id: 09398737-3539-41bb-8664-f57ee0ef9b08 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cb0f8dc --- /dev/null +++ b/.gitignore @@ -0,0 +1,203 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[codz] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# 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/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py.cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# UV +# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +#uv.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock +#poetry.toml + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +# pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python. +# https://pdm-project.org/en/latest/usage/project/#working-with-version-control +#pdm.lock +#pdm.toml +.pdm-python +.pdm-build/ + +# pixi +# Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control. +#pixi.lock +# Pixi creates a virtual environment in the .pixi directory, just like venv module creates one +# in the .venv directory. It is recommended not to include this directory in version control. +.pixi + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.envrc +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +# Abstra +# Abstra is an AI-powered process automation framework. +# Ignore directories containing user credentials, local state, and settings. +# Learn more at https://abstra.io/docs +.abstra/ + +# Visual Studio Code +# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore +# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore +# and can be added to the global gitignore or merged into this file. However, if you prefer, +# you could uncomment the following to ignore the entire vscode folder +# .vscode/ + +# Ruff stuff: +.ruff_cache/ + +# PyPI configuration file +.pypirc + +# Marimo +marimo/_static/ +marimo/_lsp/ +__marimo__/ + +# Streamlit +.streamlit/secrets.toml diff --git a/.tmp_dagster_home_e8m4zq2a/history/runs.db b/.tmp_dagster_home_e8m4zq2a/history/runs.db new file mode 100644 index 0000000000000000000000000000000000000000..ece1e0fe1604fd3805f7e6586ffdcedbf1f9dafd GIT binary patch literal 180224 zcmWFz^vNtqRY=P(%1ta$FlG>7U}9o$P*7lCU{GRUV9;Se0C5He1{MUDff0#~i>bt* z*CoQrz`(%B{~M%6f&VvO2Tv?-9M?}C6|OEW9?rF#`W$WS|Jlpg8Q7Mwc(c_qe`4-p zmS)<*l)*TW(VF2J{|}Hx(r~ggySS+=V*a1=lvP&AL*{EhJ zWv5mu=_r&X=9H#tHik&Di_6L~HdU7-Cgr5U%!1KUP%}duoqSx8+{MM2nWEt77vk#f z8l>RoAEMwF>f@uMz{LsDn3QFNwA4)iZZ661XgiLVo7OnQE6VWB-C4|(EyPL83$6MpaJ1)ri!zR8;UYE z3ZfWRkXTfbS(2Hb2R2XwtAPkL2t(mw@x`enItp;EX08~!xVk7~qc(~)MTvRopjasu z$7%yu8eurZ#X1V51u2OosqrP5xv9k^iMa(j3du#OC?c9^qU_?XQqI{K@6M4=n4@|K++9Pw&5ad;@YB&wHVf9pBDEElBo>u`Q;ve0kG~^0zozD;pot*GGTfiA zypAnDhx&O2hPuMDEXaM%{(iwBL5`k&Aqr{PpmMS}9x2@6Y!p!i+C6E9ZK zfHC7UQ#83W)rHwWNuB|m6pIUUGD}k96H80-!F-4d3_(d!Btno)+*p{g5-b5Kq_fM4 z_je?|DuwtAE7HkSQWuTP0_zP4n%|=#!c5!ue#zs%Dy_tE%C5d^-sqvY4Y56D| z0Tj2OND;_J#U=SgiRr1JECVa%(GvofW+Mw9ySTeLW1~7eXyGXdRD~gzJtz|VPcQhXpH5R?Z9 z#aj&zySS?=W1}=8xJq-f;}es?6%Uk-FR3g@O+pgqg}NFku#jYtb%DbQNlrlnVl>!D z%~){xvl4=KZuE#@L%F}QJo#ZIueW|IaxySS<Gw4iBdK|d;*sSmC`8k@J50Hy!t?qN2#-rk_X&GVBgh&RL#VsA`gW*3*2XKWS+has#2Erv5#P{Ir@j3=yMYCu&3a=!p2 zmBAH(lbe%|zY}(8kWb+uZf1;{)bWKB+yZb@z>tMa+*KY|NWs(=#~Z?#tc~T2kklm$ z37OR7{JfOJqRM!10g_r=j4r^08dB)ectQ-+#)W&*)DV)t$ZQ7YW~LV6|78OR-=WW|IpSz-7)-Vj5GnN5a`fq_AupO=Awft`!WfR>lU%Lgo-5Ju_1a19J-x zHdY2pV@LSFE66PP7z?sCye63#8e90VvNAX#nFJfbicbX1fh49E6K$HIk%@sL3oC;* z#FKEhWu_2ogo%Z*k%2QaD}%nVBho+@cyN|zcbJ%1S{S-Au`(D#+)sh7OFZ44M#Q;FDKGJH*)B$jkuL)o14qVc;*~@8v(hzlQ%E|26)Qp_Fb% z-8vcqqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8Uh0o0uOn0?^ug zX8w<$fYRpw&HoL;1aXHTo@c z@KKx6R+XtPcTfJm$1b8~!j9=h@9FB8v2)7pMnBwc=? z?4!-J{AG#k!r3o(BsotM2>4(lH@$FLQe(*^l^=>rCI^1$R1?;CCVxsoXyb<(>G~!U zua_JmsaIv{BDULAcLiTG2%H%6@ZtR*Ur)Y#TF)N8G3Q{W)8`c{FKr1-TAATfY!&o3 zOFI0h|K~Y={_EOHc+}OlH?+H0DVBEXGby#cqsi2?LMCA5k!yO&nmrg9X zxO!)thuQqC4&QRZxqoiY_uqc#-}QsjdiKOm2$^~O<=exm0h4daZZfX=?X)Iufzu<` zX{xpYFRtI-wY9Q7y1ZnaS8Uh(j7@zAwj%YIv(d=bUJy;|Va zvu7G-=6~ln{JMMf<=NE*7XJJlO<6g8j=#6Kvz*g^|N4LGG^SL}IbWC-mCuR##^~*n z;Z#&vT3Pn%(W4w|^952XY7R)Ba4!s0@K>)pz;yrno(s>+p6-+PnlSHZ&iO>6FFD7Y zE`PkZ{T=7LchS^AG^-aT{D(=E?lv->Xf?c%w7e3Hr<}y1+R7p@8H|PXt?&mXN%3T=fA`%)*NTN z%{Al68PzMBG8VWL*UUX#^l|RD9G~UN9;eyAzx|t*{WjTZmfPQFZ{GSpzkdDs{yDDK z|J&4Vo?5tFF1OK^Y1v5`cdjR=mEt^Pqb(RYju-ppJ$6sb*nMUDe%sS^*Lx!GX4jM*EEF%>S_RU7w+* zLA=p1!~Y$Nm)@RyaPKYg^g!o5(f?z@Z<%b6vH##RrEx<9$3AW5_8Z&I#vb1!`Ks&a zwu|<;jPe2hUw!yp+*M=|c=F!nY>x)zOX@r}4rwD$d{nW^7ye=c)(n6dWkZVyif4&_EwogPzx8CS#sqUL)qK9oX%e_LGs->x_bl=2zxNf`8_pWbW>q@LP^!a&2>F=KYD? z9o(k>#P7~rynt^ZUjw^c@k~vb+n*)+Ogf%F&S;w<^4Z?l;ACOnDTTY9*WY<|Z4cLr z&9>ZaQC(Sl)%0gcz1AJ0)au66D3_=!o3Aol5uBE4we4xu6zd0;>t3=8$@hCbj&{ro z>RzVGyEUUEXPxN$cNs2kW4EZT<$a~7Dr*&{VXI~MUTm4a)2ojTO%r+y4l?_%-29ST zOm6Cu-?!?W>n1VxEk7uc_*CL#kp>s@K8E=UN^UbBTFicCacka&XQyv|_|<&oQ$OpI z`3nCR7#^87J=%?V^Q6O5f2t@-LXwL%4sJ1_a%>`7b;sQ&JmP%UtX5q zeKULis+*QSen8oc_pPP&rt5Ru1F+M$&{3>2oIr@4dY!ch;@20*=df&ehk8ms$S!diCb)?dkgd z`RC&HUjJ~<%jXNvy`%fiD=4AfbK10)_3p#%k!X%y* zd#qTsRIE|pvW2-?@)DksmJhv(q7#Z(9Mk`@-|k2&U3Rv*@^0M3=rfylJjqDw@ygnD zMR8hcQQN))?DtI$imHg5`&*Z0J^5Oxk$L|4_RD$)Gc4!5{>`U+D0N{VD{S9`aoP1osjru!B@D7)ITYk9uhp3K0@EaiXBeeClIaC%YE_hIJqTT>pd5O+Ut zU}l1d#KxuXg%Wx$EH-jH`zBwEGvwd(HYwA!3zvk{n-yP=J-P7Hbzf<=^OJa{a@8+) zoz}4L^}Q*3GOAO3c`r|W>S%g~Yo@N|R56c-Gv^8KFq*JUed?v=4;;dB&f1&$ybgbR z-7cZ4AoTIBZo<^xJC9vyXnwVA*`2L|b}R14S8o4hc%oJ{>e5GxnQ<#7{A3F`@Uxa_ z|CjjA`{$4Sn%fcg+xB3x(BHcFw)<^z+XBS@URZKU{?@0$jR9Z&+3e7i zHhptHk}JZ-*(3V@SCh93ey!iDR_XI=z3}f4@7HQu)s)+QO*>gu8lJh&YHotdayL8A z-k-0EjAG{n=(n$M|FOLxNRoT?eZ3P4=RC<=`=#qm`_ZilrPCPY{gvkVUiy?@f4y>X zLS<`p==W*o)>TGLwD=_2Im zwEz74?jCXV$C;LAE=|_iU;EC+KWWoB8y~h1sE-m-V)XM6Ev7DzX3d_T^a?rx!LF zF6;TpqC6om>BZVbhPg3GZw+1_hzSgyuQTD~rIe`4?gjI%mL4-XH+#Z5=hja)+Fe=v zA(N|9irk8(W$6e7@di5|$(R$$ZnsAI{k3zS4ksO+$`txkx-_ywbMmUR)2&`z&vIhY zRIl_$EN>8tYJC-9dC~Ki^Hi0)YLbgP+tw*w`RviSD@-_M^4c8p^{b~}&3Mkwem1Md zM4n$o*e-zG=Jw{h0tN?*nCA;UYE>*>aq{5~v-hv^>Z1!jWk3Gp?DjJ{U+?l|k=&Uw zA;DYDYgnuK-h5w@zdb4=x9%3-rDm>KZ4Va4PdZ{K8$9d9stADq>jivi-Fmz^*Nb%C z$z0#_@0jtkbN8|NX4K8tN6T$`ERF|5=dMj4FB7oIli$4iNF zZ>v2ltXFLg6JF~2m2vv#=ieeud_8>3vZBLBvOi>B`?A%WzFMW93RwF=yo}Ln?h@(K z>knOfe&vL1vbp`n4I6hXH5N5Jlk0JHRUV(~))!&XaW+!w3qIVt_am*vEMa-=qlIxL z7rq^4@8!GoctgIf)e0lq%ZHz>ULniwe)Yh%86Vb}%WR8axpM5+0;vVHA;;&LIB;9# zs_}EpElaUddwjE+Z|%3cYi_zP-u=<_{Jbp>?WY8N+4~`}VEu~O&z~B<6VEG(h?;ig zZQl9G??ip3|KIU^!*A>86uGx+4u`sJb4qt-_s*Ix|4nYPVynyEHu2CWq1(F*pKf@# zYfhSGU}61DvG~1a>76U?J+x&QSaKKkTKcY}8AS_8I0e`Ip4Ee%teucSG);ODUq;S()Fr z<*BC!WGCPJw2$wM>GvgHT#L)BKCxMt-|zh-U?X3UvBhkG@w@Aaw<<4s#M{hf?loVq z^QG6s_Jo_iThen?&R_1eh)c^VxG8w^chXIvJ3Y^xGGn)7Kss$pU}Q$U ztkLVBdHW8WNq){2^UkwaZc!G$<+>>8>z4oLZn!4dAXS*Oz0&feIorRRMXyVvs|?>I z>&bO%_}QoKiF&eDv$RKcUFgBjkvqdO3a#c%2|Vf({jpY8#_;I7BQ{bOKUQR_1ekX& z?w%Pi{oRh0``_*R$Hr>DLapVUkK5bHdw=Shp5CK-C+@RFk8YgN<};M7;)Td(md&b#LnSjf?BN|808w*z`&Hy2So%SN2Rx5Dp4cc-6Dy=8`?Z6|AkRSDje&IBt&Ij>(y8 zUndKn6Wg_;(Af6Xwj#x?eP&A+%`~6+)IrMdyXUiR$y1XL{1;)0Kl6K^_Qdd&uNfE^ zlsQ1V`$SgS}G0oD{G|4a}#WK+% z(K6X2$t20#BGu5+)Yu@A6QtN8Imyy8&B8dvJTcAK$UHGE&B#0{)iN=~$lTC4Imy_} zD8(|>(%6UttT-*v)Y2r?G|kY$EXly!+{Dx{IXTHFDcQ`(#L_s`G%YbH$vDl>lpUnl zIN2yI(Ztj;&CEE>G%?xCJlWDb#V|F|*w84=GRfRDF)h(3)!4*@4W!t}B-t{_z`)GR zB-zZ=#30qk$RNqsz|zzx)zrk)EZI2Oz|zdfEIE}Gq}bBTz|=4;)jZA2+}t!J$=J{! zImyh>(j?U)&C)2<(Adl((cIY7EQJN6*w8f5IN89|IL*w^EX^?4z&ORw$Slbs&D=OK z&B)ly!pOqdB*`!-g&CySz}UplJk8wLDAClwG|@OQF~uas*f1?E)i}}E(A?P4(7+UXF4GHuiQ#_I6G?enwtp?qD9vL6KNS9WfdLqaiRF0;3@?8Un*V z1R8T0*%{q1!P=fFFRI*YqG`BD@x3Dy_fVr-g%Y)%K zgLtT8lcQsBuxki0)}#5=#LB=#&)Ce&%+P>7eg!)e&7V!|OzaGnp^iks{{BHOo_>xY{$$3Xsh*LgrKy1>ef)*pK z%pp5=%|WqiW^8O~JbgIfm~MGn9jz|AQ|e|kt_2{}1cv9rfI32#kin zXb6mkz-S1JhQMeDjE2By2#kinXb6mkz-S17LtwQ34-SS=Vl)IsLtr!nMnhmU1V%$( zGz3ONU^E0qLtr!nMnhmU1cr48jQ0PBb@YyUZZrf&Ltr!nMnhmU1V%$(Gz3ONU^E0q zLtr!nMnhmU1i&FMdj3B+7)FWF5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c z)*&!D|39pwchqyEAut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@S4gt{oKO_Hj z2L9_{?kF)D0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aux1+IwLbfXj)2| zp_!R!imsWVv7xR>YI2fpVv>oWZlbw?g{859VTz@hA*lb)ATV@1HtN#R5Eu=C(GVC7 zfzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4FS?aV08UI>0vgiV>ARtLtr!nMnhmU1V%$( zGz3ONU^E0qLtr!nMnhmU1cq7&ure?(F!O%|Ia`PSH~%*X6T}_GqaiRF0;3@?8Umvs zFd71M41oz*i~Ee#DUQq4`1ljGwZ zgM(c|;=TNxfV*^NTXmGhxAoBS|fMe&(=B}MsqDXD3hd0=hDpb#q0FUro$OOH>LpQa&{_+ucTj+TL8ia7Uf1p*+ykxJCH&R=AZa@B*A#F zDtPoF)W9~5G8EQKZKr=;RcAh6^WP+5|ZpNEJ_ydKa|P(t!Ct~7&4Dd>iST~v^t znOBlp1Wq6*#f&dFwK(Ueqy|8h=qMM_tOBBbKHFOk|5EX)sf>KFh zI>bIbXyodr7ZoJOXXd5lgA!wPj1s8miBYmrhyfQq;F2gtNk<_DTDCx>KqU(Z!%CMJ zrCLzOq%>n)W0PcKU6Vvh3tdY~ zBQxD3Ljwb2Ged(^OG`s$kV0dlG*c6!L{r@qV-qu7lQhdTT}yLw16_+`3j<@b6mug( zLqjHY=1@*z#%dt_|6L6HANcR_pW)v%JOX~y7o#CC8UmvsFd71*Aut*OqaiRF0;3@? z8UmvsFd71*AuwD*K#)b5kr8Pz9}5e*2s1Of2on=Oi!vuCk}gR9{}}`SZ~ia*Z~31M zm(UsY$7l$QhQMeDjE2By2#kinXb6mkz-S1JhQMeDjE2By2#mZCU}IrmWMp9hQ_Rd@ ziiwGZg@Kb3-2dnM$-uv#zn0&c@8`%1n^7N+hQMeDjE2By2#kinXb6mkz-S1JhQMeD zjE2By2n^>CaB^goc64Nfo)&<*U*5#b%G6BH+{oP6!T?joK+n*?(!#=m1-}W#MtY{k z76t|;7$z8*>6scD8kku!<1@j~%Gg}b+`!br!VJv>Ln|XoJri?dBLhn&2aqo~vHAjZ z9sq3DKdK2J8Q4hy;Ql}VOVIrPSN`|>FNbrSkNRyi1V%$(Gz3ONU^E0qLtr!nMnhmU z1V%$(Gz3ONU^E1VJz!;FU|?hclgwZeH2=>4ng8d%$iV-V|0Vxj{)@vt97a7j8Umvs zFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aut*OLp=oenU#6CnWbT?8d#9n%t&k|E@o-i zngL!01_lAHH4OaA_%ryW`Bw7<@(J@E;|=5a!?Ta4kcW|bId>+v4A+{W9yFuw9}R)g z5Eu=C(GVC7fzc2c4S~@R7jK@L1-fkud|4Oh9xi;> z0DAMYGK89|6JsCjk}j0%yr6=RtGsOZSQ$dKMM*IXdgB-9wyy|YR)$bxS7LO-y^eHu zAMzc9@eU~N%HshCDlw;z!%c=?gho!Fa)Sev82g~^)W;L3T;M<@#W3VRJ=1{{?vdGVnX_)${J-`OANXpPSE% zx0An{?-U;=uLu8TzE6CHyahwAwitEsXb6mkz-S1JhQMeDjE2By2#kinXb6mkz-R~{ zg@6}}VKF1T!$e76Q9zx=T%D0{H;`X~MOzfE4ylL7XToCaif{{Yoi|?Ud4PvV4{+o1 z02etP;G~`hIEeHBJ1!5fk>deY>Un^LNDnaM@&J=Di?J&wJUJ7WguwlO-XI2kZGHy6 zt9+~Yuk)|rZ{!c-tLF>h)8zffdzp6yZ!K>SQmz?gj)uT!2#kinXb6mkz-S1JhQMeD zjE2By2#kinXb6BqK#L`mk*HhW1q6sz%Fj=e#ha~``4e*&vozBdrVPf3jMfa-7^X8!M>3o!X0kN9xT!2-BV%S>N@_)BN=1B8 zX&Q(TynS&|x`SXz<~=Eo=Iq~<1NCdZeh78Pga z=fxYM3CIy;2iQ&-=O94if%oK$%#~^19#~=+OQ&UZlFxXCo z5Z8zh5D#oMoEH$}>FXF2so?Dzsi2XW0#@(lALQ!k?gtWshJmI+kgJ<(kgK1wYcR+m z#jwE91o_Uz)yFl&Rl(UY*xAv=l}po0f=ygglra@0u!>6(OG=B2O7n^(q25A`28cY! zIFK3z4G3Q|Rh(ViP?WJz5XG>9#G;bSlFa-(uz?a-4MeCx7z!7QFHSAdQGjzbbH&)j z)kPT_wNb1oO3X_K#Y(X_RvW<52*V*R)=?-eNJ%V7jW5Z}O)V}-%q`GSNG?i65z$N& zWf!*=Wo+a`wyronsWLt(F*!ReGbblLGX)e5V%RK3SBP)|l5TLa4Hsb(*A`{0#jqwT zKM7>KC{E+E@{lPf3MyAh7_?17^nHBn`?LN%<+2aAokQ#}omj4Y(+J z)G4?)hPZ}!`noE(xVkxp`h+MrhXw_?`h~=U1cO5yeFH$53_T4Hsjavqv8V)`aunQr z{2jshH8n2b!_=L)Xy_8)D@m(LGE+*_X`dQa`f~IQAo=MmBq#JNZ}4= zqlhXXmkUU$Q3?l`c(H;8j2WMqqRFMn|AXO|wJ5Gq9+Vj44MC(xgdm%^u`pvLJk4g8 z6~||%Ru;#X=4BR^re>EF3qg|^)MJQ(1WhR@1!tEPD`PN!n$0dN z&Mqq!gc=1&v0%kG6D-&iaLPa_b@3OdT$+un{OscD>Wqz^V0$z3ic1pnl2hX|^V0HB zI07hcL6IVmjfzY1ixSgQL0JY?%%dj+F3m<3K6Y_;b;d?@c+kRA5~vD8E_+ZU_@VAX zgfogXvOZ9Vqev=fz`4+>v{8*092`yD;NXBugPefE;e%QWi5e6sJi!51ho$&HL?9>+ z5Q?`N9(Hk8RmMhXL~xbnWXC5agDV~=9bZyekeY-f&I@%lQeYv;BI^Q&6_T8S2E=Hv zk(#mGY~s4AjOAD@N4Ag$uZ5VFfCE9Zh6}Ific@n^lS}f8;xki_?c&C3S3Hs~OnZ?e zHFG)H#jRBt8`-h?E*?^bBU{Wxz+!OY0*jqsam^+Tc6M=9RmK)!NRmSebYx37pq4-r z9Fi(L=?xs5@M755NE4-OfcOM14JxHk?!37j3 zeP`t-fh%md0D6%CQUonRp(P}jra1?jxVI{~%q}i3&)6&u4ntT4S`25fpoAG*7*ANi)PSl6yj-HglAK)Q#fN5Eu=C(GVC7fzc2c4S~@RpdpI8SDFiN;i31~kVeMPOo%VYPF6r^u_2kK$)!0u z5ivRufo*~bKGa+c8lV7;aVluQ#Xy72qZ1LuWKTq>3$uY{QgBQjf&v>ltUNknF*;)b zn^z)k#$wn_M1cDLj0|TPK!}n$eNgC~XTZqD5W9y#)+o_5#Ujbl*gP@OJk8QD$=o8@ zG|9l+!otilInC4{$uKF^JjKM=qGHb5*q6n(cZmKEw|LdQ%~-nKyz}of6~EWlveT2^ zms!o`X?}e0QJd0Mm8mXwPyWBhF1O3)q=4>8uWK`p@Top{`0%@*49h<}3$vF!xFPM9&(D2NugZ#%D(pUE6FK*&bbXmOU?=$zu{ZDu4uP(YCy7A~Q6VFA{ z+J0FiU4EhLqs_GZWr^&<*)Mk_IZqS__+TS9y>MDmW630yABsyR2Y%^P6V`Ype@a4V zvmmDIgS7quVw%b*A1z$7>oEY=);r$<9PriIw&mO-q=U}GO=M^h2Z3#?T znc-7x74$btI{c{r=Q)1<>)K0r)YY~(w7Xa-mUikhDYd@j&UAWE{4Bbupr6%5+rz2>lW)pyGOqgV zv?gzX(<9eus&|^)@#j~1S$Uqyn3Fy~iLq<4(fk94%tgO;h+WKgo#y5` zQ`@V)CiZktjEm(TyUx#DGnRNRT(Pz4l)CH8UIl$N-JaeBuXYIU;M>7yxc0(li_Nj; zzr-rm9A~`EHRH({)hnAa7Pu7G%spN7aqhPqpXJIPr`f;1{hOBkHrZ;H+uvtz-ugek ze*O9WIj-0L+thBJTDV;hK5gdq8{5vt z9^WMSs_W>si}tyU@&W%}efVA6Rb&x(^4{ibj|SyS>O3|NBNdA|TI@+~sun-Zy+*D>UoH^V6SKpMI-UG21@>{H@=iFGD0t%W-rdp#ooQ0H{uTb%cJIvlSclJ*6W-2@)?Tdj=hlojCj$az@63Bq-Bj&3e*zKA2labZyjDm^gSLR28f99WL?(UrMTaIIL zZF6Sk{fXTj+@}A;@6KGjfNvpR1G`=EOih{FpC$TCI-WnyXqzGO+1}XTWMSVag}a{D z-+6Xz57&#$w%lz|U0Hn9^k+%E)*YkN>c-S4m#8b7uQFT_oR(^}?P=8%>j#$WUa||x z_j^5#cFYUvUZ%>sHKQbFo#^~`87^;Qx2Ue=eWj=>YZazpt7Z6JY?;5)tB(#%6M75| zGW)OG{E}NtZt9ZXx9XkiCNcLdKPZv-RN`cj1{d=_hWQFgZZjWR%zkEZYu<)ur*D4v z)qLhtKkJkE3jY@v9+@{i&iF{$3^(N;XUtlUFm8R%{Ew62xZ|>XukM{kM3z05yAx<9 zvm(jIez}!IC@cTdoUL2`PEh-Cf_bTO$+oUzQQd_R4;F0Qu}wJ2X(s#kC6A*QDqASd z5tMgdUY6f|GkgE4o0dQ1s>1}M-_DTQn>G8{Irh7|4bHmHW2`YctA6=Te`eU`O}Dn~ z{Cx9C?2Tv2{{QW6KAW8T?zq`&$;#ZvcYX#P((Cy=aryN5J)cind{3Tp+wa$#nw3fF z*EBgcw>}n{>@CG1z1Vyg|LsY4)Yf@Ay__ZFnkqN7H0#~w73OXtSKYeH-=^eke!D1p z+2b{{&M`Erbp}o`(Ce`ow4|r#IOC1aG3R$5?5GQ@zW-C@yrS;?vqvt=TP~=Ha12+R{>WcYIaqjB4&(ht zBEjYj^IjWYacs78_XyKk1D z`GSQ!iVq}iF=s`Y6*FJ{F7aR3cdxzcx%{>1b0-Gxy}c-R)~&Dtj>~t>)z^!cS^oHX z_2%sD>H7Zp=i>HW|8URbKSyOq+KHsFHNLaHN#C5N9Oi!D*Li_cicikoJ9%hAJaSog|{TRuC7TlRWfyRxhK;5F`j?B;I|YHM7LJ1g@0PbEj@Wd7PdL(`-S zI)4FtWn^yg}GYt5}uNl550<_6N*?I)Bm#H?novJDH^mmt=y7;2u#q#FQr>}>)Y0RR0GB028e|F=qDb9vx zgk+Nsdj&GhSEyu}{y9(Kh3=~SecQadyub3@GnxIw_rJ-nkiYLN-`w$Q=39Ney88AP z3FZ}kvzD}Mi{5%yd$*@e*XeVn`xZYayV|pBdA{79%)rYm<$un7?DGk5dQs8$VdnE& zQy#AncRz4oW`c;s#-;Ct5_&EyHgY`sCSQy*ZRrn9Kv$W z+MD{k4u5;yE}^R+^zp84!qne8k6meKezk4covng)EAGfwZvSO?qE6=a2oG+Y$HM_F%Hm-@5qY_XJqCoDKI^-Ez==jn|8FadMNr-juJK zKJ74j@5?QUwp$i_H8ZFeZ<3o+E2(bSe>x>gB>BO{IoED4Ha7HJ5Kx@>SY}dBSa8a# z*+1Dn2tW2ZYg^YBdihm-fUown`Nqw`Tl1y5&wV=oZ0fs+a~`WVWrmrZJ*ME-Qygjf zag|?I?|q}Rnq{pEXC1#1`t0V31-^e*xh@XaEclguv*q5l`)zXD0>uAbSaM4K)~CXa z0bl;v?9h}peRDsOE5gRvBl`bWleY_gt>3Fw>GNy7@b3`s*J@kUl-qtyJ6Tp5p1IFz zZi35lH#^VXpRbCHV&?_ux36&jvArQkl6&=iy%P)PJjq=9rRz=m(X9!k(-`IbmFD?g z`jlUPy>f9vWovcl_i5+WRYpy;_$1mn%RPBUZCu@H7sdm{3zmM0>E-ou|JRvaY#o9%NxiLv^4PGCJ2@IaEGvVZ=l&H(@1@o?!9y2*Nd%`;B z)=xItU0M7gldDsT+=`}U=?De!20I_gm=nrww?_K?wR4{iCmo*36#7)UG_pf;@~X7c ztzKQva$?d{uk=SOZxD-WeHCGO(esz{RF%7Gl8Zar)+t{3?9sR@OgLup+8p!stEXSh zc+Ss$Hmk-&o?k`SE`Z(U_U5|+1_z6n=LJ_cZ5NdS)S&-I@FzE?~voc*a?26ly z*Suug^@=0nXG8_QGDRmgc=5Y&*zRpjiq?@*y6fTKVdH4S5I;j<>CroPQNvU zRqa^Gv45e9-r&h7h%zHHd5*fKHR(aBdx_O zVR`MNg>fYpz8z-o<-7HGL%y!n3M1Rgho7xpAQyIa_rXvsRgwm z$LE9IZ|mq3xwmT$hq`TZN_S`X&YCa(O>VMctIOUt@z5us z+q(>(Zg{wBPMT(5Vf{_9_`PQ7oh$A=wd77Q=kh#q)MDY~tE&qygc_8ZmCZTV{O!<+ zs<|p+QL(%9mq#5wb9;BQ+^2gNJCy#;Q2Y2l?4_w})Ju={8Rjwhm&CVz+w+unL++kS zDWcn1ncuhNsiy~IC*S_a$Fki_5G&v00ek@BJiTBVUlQ#cYA`yX%U#DldA( z+stO}HD9pvrPsvvgqy!x(sNbLU+%StOUo*_DR}dD(oLZ|JkRhYEB((#S$Jn9quu~t{c@aVfEHc}Tq zR%EIKn0GGjo*6Lx-Hw&}-|hRy#%jJot>vAM+uO-|f9jf^-lKab?z2UYZk*BPGq)~% zH8y^BuRb9j$O+p-qX{JdaY~37<#sJ)@Na{3f7{< zGp~Q%EqyX3#8r&rs&Px;)K}qKukk9*yXO>H%e~aRc=h5RSu%FkmV4H%KehGpa%t6H z+cdvq7}ehKeNf)Ip}o4vDvxDV%Cz*zoA)N)$``Bh{Gxp?>Dj7BCSh~6%~)2Pa@;pd zJa!*XnaR1X9WMKgi|f4qZF>CJ^hx=;#Qtqp_Do9<4hmCv)wAU0l0Cr{tgWk8omliZ zZjRiJ$(d_kCkvkw+qI+6*!I=7BE_wJW=j{%G@tp@LCWyE=d*6fQJi7R{nb<#VnYV}EoipKkuk!1e z%DZ*j*Ujy``|gd29NTo}ZeG__DpOtFe%b$?(bIDZxCfr~%5QdvP(i_mx!Ujc^DpX9 z-=eW7FLy|!J$)dZd|-3PvGTx!?FNei4Szq4e*FFEuJzy!cvQQgPUA+k(=31{Q^ znfaWDY{f1F|IXQGefj+B>&v4rclY&`UEQ_LE97fj zY;0`E)@!%lmV3HguiA09Ilz3oL*mEEeuJ9w!qTeG41CXDG6n|p>Ke?by`{|bd^-Qv z|3==8n^^p+7%y7;>Hcm|RWniCxo4M+b!}pC z8BY&5y{J*>?8j2Q(?`Q^Z8n_Sr=Tl;cl+(L*KQpzG3ovF_U3N+bL-ciuea)6_rLa6 znfBv(m0QHBS$rm2_KBRB?z(4!)wTjAfxhRn?i^cx=t9}b{Qp07e%BhORj!Ztzt}mE zZM|Ay(7ujf=VP2Amlw56EUZiI$?$rwV17zbmv_r28LsAKhfXjGtNdu0|LUE@WTwxm z$ugh&EuwZ=OWLfcEfh07vis}#(xtx4r#~{Ecah}iZhf%ZsGuYF_MK9l*$dZ2w3QZ_RBQdg{QvRyQ7W8LaFx90pWR~M(qwSg0DZEw}sJS>OA2h?_V|?I^C5| zPCoj;7ja)}VQ1YQoBg})=rx`H^!#n)?%1h*Q(N?YY4}WD^vPnO9 zrdM5B8up<1_}s+;{_*#|>&>rB+i#oyou%dGtwr5aSXvB(A`TsjU~crx6-=smnAq|E zXJ0n!A)cJ~8b>bof8NWz{N(!W&)>|;c=hqiqW*+kjc*H-I082T z-bEkh+xC3-ug(6smpj9df0J!-c4|m#y!2#SNv%6gkoa)OsxA`96dUN5q*n;&f zA1ux+mw(-{3#%-jHe&6gK8I=u|+tlVx;D-_hvF4U6J!YNnbHP<(O!-o|r zcd!4G{xn&pz=ro2hxT!gY0iNXA6S2|2pXQ^IeydR_{DE6ruOIBugj-QtJhKZ&+?PK zSMl4TFS8WQ4x30FOy8!d!ndMU{=-)ADd%vxo zHMe>F#&pq*SNm38T)i#xUCo8P+?Q(}NghbQTw`|j?~F84?bW%nt>^pRYt6O$_~rfP zT)W%P>T)*En|R&q++2OtH-{|dS5*DHX)(XI*#6kgw@c2So32%sG`Gnh+CtB8=aR+^ zhEUOn(xR9=*jk_%;_`;;h?0->*NU$8NvhvikSCH(y_#y*WFY z_r34u{t51>Z8~X3Z!O8(KQY%bsgz~Sf4+q>PWRr-)!~_y{9%>0WMtlw$jYQWv!r~j z@0U!y+>zqDwpt=*?}O@s%W``fgWg{C*?4|_`vkL}7oJN5E3=(F#GllfXxHAdDk@8m z!?3qF*~smbgFDB4i6BNzcY%^?^&5IK;?i%;IsN)u*PWz!M^)X8lS6_oFXh{)GuikH ztKE-foa+=87RY@wzCClxy2(2$%m4j)CTJa)z0T?M$C&%&5`uc%s*?{r(qTEy%`E>r zTbTcU$&)}!DOurKdyD;l-o5&};IL7CTY}2XyRuK}^#kS?X|zQyO3sPU^m-ty;{TxN z9zV-o=dWk4mw6VhJomtNv**1p{)_#u-nVU^dpq+&;@7JD<-Yxf4X>7XdS&bmy}ftS z>?4bJyoq^i&6O8^c188CXBTISnfewSPwy*FX%cceUfgot=K3-j_q`TOZ0A@OAL!7n zoz9TlA~%&YE3N*s$AVA$BUc1omh$rYT3%d!cdCq5{oO5zA9PLzto-nP%L$+-lDV*)nwWK+D`V7x7fUerKizUqZf>V1Q|l~l>E{ztw#-rr-mhcUFkd1(>)prVHM7G0 zvtQkk^wZMVBJ}sNjW2Be=k%2vFY=3;>brSUrWspd(wx()I?YRivj0pnd~B@CbJb?q zI-~P$Y`L$(b){No^{&`IwKwDmX?IQl?2Yqj@Nc?{<$l*7i zV(#DTm$x*(+W&3V6T_GL{oVxYuAO~lR*%H1Xtng!yS+YNeaoV3W%|i8ODAmlgX zsw`b>57l#POx?KQSBWFvQx*U0rQs>|Tdp@8vpGJYD}M__@o$Ph8(uz0