From 91095ef96a90f9f98c1009c0cd67d70aaef338be Mon Sep 17 00:00:00 2001
From: jubnl <66769052+jubnl@users.noreply.github.com>
Date: Sun, 19 Jul 2026 19:00:40 +0200
Subject: [PATCH] v3.4.1 (#1606)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* fix(transit): lead arrive-by results with the latest arrival (#1479)
MOTIS returns arrive-by itineraries ascending with the deadline-adjacent
connection last, so the visible top of the list arrived ~2h before the
requested time — misread as a timezone bug. Sort arrive-by results by
endTime descending so the connection closest to the requested arrival
leads, mirroring depart-by.
Claude-Session: https://claude.ai/code/session_01BCrZUoPzHZF6H4C6avMXoz
* fix(transit): lead arrive-by results with the latest arrival (#1479)
MOTIS returns arrive-by itineraries ascending with the deadline-adjacent
connection last, so the visible top of the list arrived ~2h before the
requested time — misread as a timezone bug. Sort arrive-by results by
endTime descending so the connection closest to the requested arrival
leads, mirroring depart-by.
* fix(reservations): run AirTrail modal hooks before the isOpen early return (#1602)
The sectionItems useMemo added by #1535 sat below 'if (!isOpen) return null'.
The modal mounts closed, so the first open render executed one more hook
than the previous render and React unmounted the whole tree (error #310),
blanking the page. Move the memo above the early return and cover the
closed-then-open transition with a regression test.
* fix(planner): only draw the check-in-day hotel morning leg when provably at/after check-in (#1597) (#1607)
On an accommodation's check-in day the hotel -> first-stop leg was drawn
by default for any PLACE first stop, suppressed only when that place was
explicitly timed before check-in. An un-timed first place (e.g. "Home"
on day 1 of a driving holiday) therefore always produced a phantom
hotel -> Home leg, regardless of the check-in time.
Flip the default to mirror shouldDrawEveningLeg: the morning leg is now
drawn only when the first place is provably timed at/after check-in
(you dropped your bags first). The drawn map route, the sidebar hotel
connectors, and the Google Maps export all share this helper and
inherit the fix. The optimizer anchors (#1321) are unchanged.
* fix(notifications): never fall back to the admin ntfy topic for per-user sends (#1608)
* chore: correct shields.io url
* chore: correct shields.io url
* chore: update helm repo link
* chore: document new helm chart url
* chore: document new helm chart url
* fix(atlas): make Kosovo selectable on the Atlas map (#1609)
Kosovo's user-assigned ISO code (XK/XKX) was missing from both code
tables in the atlas pipeline: the geo builder's A3_TO_A2 map (so the
shipped admin0 bundle carried ISO_A2: null) and the client's A2_TO_A3
map. With neither resolvable, onEachFeature attached no hover/click
handlers to Kosovo's polygon and the country search dropped it, making
Kosovo impossible to select.
- add XK<->XKX to the client A2_TO_A3 table and the builder A3_TO_A2 map
- stamp ISO_A2: "XK" on the Kosovo feature in the shipped admin0 bundle
- guard both with tests (atlasModel resolution + ATLAS-BUNDLE-003)
* chore: normalize docker image references to mauriceboe/trek (lowercase)
* fix(memories): honor Synology skip-SSL on photo streaming (#1611)
The synology_skip_ssl setting was forwarded on the JSON API path
(login/browse/test-connection) but not on the image-byte fetches, so a
NAS with a self-signed certificate passed Test Connection while
/api/photos/:id/thumbnail and /original failed with 500
"Failed to fetch asset" — and the TLS error was silently swallowed.
- pipeAsset: accept fetchOptions and forward to safeFetch; log the
underlying error on the 500 path (without the URL, which carries _sid)
- fetchSynologyThumbnailBytes / streamSynologyAsset: pass
rejectUnauthorized derived from synology_skip_ssl; log on failure
- i18n: replace hardcoded "Immich" with {provider_name} in 7 memories
keys across 14 locales (source of the reported "Failed to connect to
Immich" banner on the Synology test), fix translated placeholder
names in tr/ca/pl, and add a placeholder-parity spec to prevent
regressions
- client: gallery provider badge matched 'synology' instead of the real
id 'synologyphotos', showing the raw id; label is now
"Synology Photos"
* chore: make chart.liketrek.com the canonical helm chart url
* feat(plugins): prefer the registry's resolved store screenshot (#1613)
Browse/detail use the screenshotUrl the aggregate step resolves (cover at the latest commit, or the first resolving README image), falling back to the docs/screenshot.png guess when the field is absent. Fixes blank store cards for plugins without a committed docs/screenshot.png.
---------
Co-authored-by: Maurice <61554723+mauriceboe@users.noreply.github.com>
---
.github/workflows/docker.yml | 1 +
README.md | 18 ++--
SECURITY.md | 2 +-
charts/README.md | 4 +-
charts/trek/values.yaml | 2 +-
.../Journey/JourneyDetailPageGalleryView.tsx | 2 +-
.../Planner/AirTrailImportModal.test.tsx | 9 ++
.../Planner/AirTrailImportModal.tsx | 36 +++----
.../Planner/TransitSearchPanel.test.tsx | 16 +++
.../components/Planner/TransitSearchPanel.tsx | 4 +
client/src/pages/JourneyDetailPage.test.tsx | 17 ++--
client/src/pages/admin/AdminUserModals.tsx | 4 +-
client/src/pages/atlas/atlasModel.test.ts | 21 +++-
client/src/pages/atlas/atlasModel.ts | 11 ++-
client/src/utils/dayOrder.test.ts | 10 +-
client/src/utils/dayOrder.ts | 13 +--
.../hooks/useRouteCalculation.test.ts | 52 +++++++++-
docker-compose.yml | 2 +-
server/assets/atlas/admin0.geojson.gz | Bin 4355588 -> 4355580 bytes
server/scripts/build-atlas-geo.mjs | 11 ++-
.../nest/plugins/registry/registry.service.ts | 11 ++-
.../src/services/memories/helpersService.ts | 8 +-
.../src/services/memories/synologyService.ts | 7 +-
server/src/services/notifications.ts | 15 ++-
server/src/services/notifications/builtins.ts | 3 +-
.../integration/memories-synology.test.ts | 82 ++++++++++++++++
.../integration/plugins/registry.test.ts | 17 ++++
.../tests/unit/services/atlasBundle.test.ts | 18 ++++
.../unit/services/memoriesHelpers.test.ts | 58 +++++++++++
.../unit/services/notificationService.test.ts | 14 ++-
.../tests/unit/services/notifications.test.ts | 45 ++++++---
shared/src/i18n/ar/memories.ts | 14 +--
shared/src/i18n/br/memories.ts | 14 +--
shared/src/i18n/ca/admin.ts | 2 +-
shared/src/i18n/ca/memories.ts | 14 +--
shared/src/i18n/cs/memories.ts | 14 +--
shared/src/i18n/de/memories.ts | 14 +--
shared/src/i18n/es/memories.ts | 14 +--
shared/src/i18n/fr/memories.ts | 14 +--
shared/src/i18n/hu/memories.ts | 14 +--
shared/src/i18n/i18n-placeholders.spec.ts | 91 ++++++++++++++++++
shared/src/i18n/it/memories.ts | 14 +--
shared/src/i18n/nl/memories.ts | 14 +--
shared/src/i18n/pl/memories.ts | 14 +--
shared/src/i18n/pl/places.ts | 2 +-
shared/src/i18n/ru/memories.ts | 14 +--
shared/src/i18n/tr/admin.ts | 2 +-
shared/src/i18n/tr/system_notice.ts | 2 +-
shared/src/i18n/tr/vacay.ts | 2 +-
shared/src/i18n/uk/memories.ts | 14 +--
shared/src/i18n/zh/memories.ts | 14 +--
unraid-template.xml | 4 +-
wiki/Install-Docker-Compose.md | 10 +-
wiki/Install-Docker.md | 16 +--
wiki/Install-Helm.md | 16 ++-
wiki/Install-Portainer.md | 6 +-
wiki/Quick-Start.md | 2 +-
wiki/Updating.md | 32 +++++-
58 files changed, 673 insertions(+), 223 deletions(-)
create mode 100644 shared/src/i18n/i18n-placeholders.spec.ts
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index 341a06438..23615353c 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -208,3 +208,4 @@ jobs:
with:
token: ${{ secrets.GITHUB_TOKEN }}
charts_dir: charts
+ charts_url: https://chart.liketrek.com
diff --git a/README.md b/README.md
index 2f4fdcf8f..65477543f 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ A self-hosted, real-time collaborative travel planner — with maps, budgets, pa
-
+
@@ -31,9 +31,9 @@ A self-hosted, real-time collaborative travel planner — with maps, budgets, pa
-
-
-
+
+
+
@@ -176,7 +176,7 @@ A self-hosted, real-time collaborative travel planner — with maps, budgets, pa
```bash
ENCRYPTION_KEY=$(openssl rand -hex 32) docker run -d -p 3000:3000 \
-e ENCRYPTION_KEY=$ENCRYPTION_KEY \
- -v ./data:/app/data -v ./uploads:/app/uploads mauriceboe/TREK
+ -v ./data:/app/data -v ./uploads:/app/uploads mauriceboe/trek
```
Open `http://localhost:3000`. On first boot TREK seeds an admin account — if you set `ADMIN_EMAIL`/`ADMIN_PASSWORD` those are used, otherwise the credentials are printed to the container log (`docker logs trek`).
@@ -217,7 +217,7 @@ Real-time sync via WebSocket (`ws`). Backend on NestJS 11. State with Zustand. A
```yaml
services:
app:
- image: mauriceboe/TREK:latest
+ image: mauriceboe/trek:latest
container_name: trek
read_only: true
security_opt:
@@ -275,7 +275,7 @@ docker compose up -d
W7v1#?m387q+v};pGjE+E zA%Sw4sAa-hzIq9{zDAC!QQtz$dkM_+k@$Ysamqqsg(BXDWcuaZG5=VqlW~!0t#YLV zv}EBZ7HoW|?N{>y<1{F)bg-MjZ_X_%b6hrIIk{fL%LwNGQD4zIVvNZq6(|yqAauUq z=Hmqa{zE+i$Uejr^+*yL)2FN)MKIS<-_RN%-S?3bQE3 zb}p&MyTl{HaT?&!QXWCb+W%7Sw@NefbNid-Q$-4} ;%5`+G<6_!v4G^I=q6I()eQfj-z-J6CcDeTRh%oivJXEmNQ+D*U_q%pG zR?UFLav9n3N;OAu@~F*C(Kui60|6Y@2G1^A8YCajU-DHn_0q53s@dIJjo;9}QR_Q5 z=@9TFg6$E^NqTR^a(Sxt^fu=8bM3?Cm;3&IZX*WIV et5P**k}sY}mFe$S zZX@i@lcQ{I6Bi55dS_NQ2HLRD95Zrwvuu#-s{Qlit3TrAWdPk$lV?wq8b6KX8HQ=& z&PQIhIJ|7W>2-xDLkxYwB`TO d6jm)w~9$#Jz-~=%S<*wuYazT(=b=^IGD>DRZ4xrAvf@<@F!k5(ydU=~{I}?uQhKx(|NrSAtv{ZzSS)!Ezia8Y&tc}e3U7;1 zi#4IVZ+xg~#S}{?|0!*15fhZhdsNvMJY6kA8J5+;(|z-iK-U n<
~@nlI=% mYINGy(m z>{hW1X!vBnl0U7X;Z^*+lXKi?My2!cs6yQ;Lppi2xszuh&+XeBw_?ht3E^*siuxf? zsvUpxXj8Y(A#~dHC|Txqd>1JHV%$17EtS>Kx>zZkS_l;3Wq=LEZFbX7?VWA51;0(& zuaeeSjgjM~@Q`Ip@Fh5L0vsMTF672+a)XW2hHq@%5mByStx=s9;q{)&{K0wK|H$>J zP13J!pa_k5yT_AzufvEz6M2WRIA*1?f(_*t*4W(27du=tOCl@du^tFv9CTI@JV zy7o6CTG21aRDL 6I6Y+ap z=vUmj@8v**=eL<>JaGhp`z~qQrQ@pAHBH@og@hdLWqr9Y2OHNJOC1U;_rD5ciF{!y zn2F#4`Y)TmiI?43put9h@oXdXo(!4{E!z}aKY9s2RwfD113>7(H)WrlU~+83n>zUw z63h{=pxrEh0YH_P;3W6NIkt(Jmjg*A?u>w_pzkDfw<|~kI-DDl(>WLzET;0H2~ZF) zH;_R6W@KoR^@=tyNm4OVUnX) WpsL|uKQ+N5aFphw41pJh0#P#3IhLO4~kGxNu(HseO z{-il(70G!NJL9oc3(`c3)kYH$_6)KS`ESwKejLfx1LlK<6H6ogHYm&lsoh4*sEhmb z)ZsFY3NL8YdCwIadCw>p`LsNW(mAA25R@C*3%O?I%k%Bu)z)L>$Q%Y6%}qbX=5H)U z 4Z<@Qj6017fXm0fS;IV0K`Qn%pe`G4OHS~pv&7e#h)hDjndb=?! zy$ahI;BdEc$%p;@{v!xJ{Q+)+^xL07;v!%CKU86Oir?8pPR0Qt)*K8a&jRvdNUL4p zF|a48Zf)GY#1cFa!5oG3hu>n1TsvV~uF;8+$pli_xTis*n{V-Uv~J&maUvojb~f=u z{S(Bowof;eBoyEZ3o!@de {Q67g0Czst=Kf_C{S1 %&q?R*wq=S$g6keN3xSR>AmlE^!RWZi)G@p@<>l< zMR{>NJ(urWSp4A0 zDTkYs1{*$TBaKW1{6;W?4M~6mtZcdjQ;b;}#pM*?x4wq7>0^zlYt~~Q1-)uW|0_%& z?fA&icrC^_Jp~kzQI_E &d?8~O@s}5wm8xzj*mypB084G9M&c8S!`J(9K1(LIavo|nxj+QVM zfss^3wADwqrd09#CXZg$IomhNpov6!oxRaZhh&;P! G{$M!6i!{z0F+iw zVaZ~6xj4gK5B}~y2%6oz)FeGcg#ZIzYv*cdE358AJ?DDFWzv_-d!o# `fGoUWh?{g5W>Q!FT>xAX%MDQf-LHbVoHW%r6wJ^W$7_u6&{v+>-@c|)B zh3}`pxg8wq2v0a#7gOGsm~~QMjB;Ljlf3$G@~+cNMuUVLBRx5ab}LZqNzNj)M8{3b zE36`Or3?vIqi0{PXJJf|f&Va|vbOt07`0^AM71^(_%xBwcniztF! @UKdWfQx74AjIrdhePwShHoj&eokL_YYL3LkXyPa^{>s#rkdn%^JY1%!J) zV}gwCpATp6Q+X87fl%E%h~Y~APc9XO?@W-L`c?yk91;q;TH&MQ0Cx`TD^zk9+J~vm zdpT#D+$U6%^tWPkV=CILBf8*Qt7)mPjcD>%wQzBd1BC3Vg5_aHWYW5ZS%c)PnUd7! zg=skl^q@wC%9Oa0eBwv3fHwRz(qrLi9lL}0u*^;$V4V--Q5*~;&w{CCIJeC)hGqFV z@%{Qoo_svr5_aBMc)rdCO{?|E&$;02mU_fkQ~Zw^ci3w$j*&e`r*YB|3WXD)`lcbB zgs|Hd`-$=rklZqJj5U~Ei~#+otR8J8>G_btEz~a_t(dPkMDx1xT?DNjFV5wWZj&v= z6!-=(I|n$=>h@*m>iWJvO@xH1z=KXlKeH5PFy=$oPsnekFz*EtpneX_#j7pMey8tm z#u84?g;Wo@qk?g^gC}Wu4c*?jyj_Stdg&E~H*8L-2yz8A*$`?g(?817J}G*;uFp3> zX+035O1pt5$XscohqMW#@7gv*N7WDS8pS*c0XKM_h5SHnj+4+-{zdJYxi_5=9tRY4 zp$!apwki^&$1pmW+y-=zWkx2ix8uC&B`d3!R|czu{2O)t9waCYBW~9lLw?* z&&3=(+6esTVm!3ikKyarveYMiN@M$^ZqY>Sn&M|n%&NF4)fz{UqJfk4fhqL!gXZf` z0*Mqm!Ldde?R {PE4}bRg`IJ%T{b67R~b6?!?Zi!5bUk1l3lvmce%?EH^p zgqA~_3U+$h$Vsm_*#FCI29f` )_Em7Kip(CN?qwkZn>FLgBJ3pKi&yLUCaTF_HI8wWb{Mw;AW)p5aEo*& zPLL)G`~pdt(F5EZsk$r)heaCXP#N=Amv}~LR=$| AG%2j~dq 9oZJRfJzyAbf1ruK7UM6>db1*OAQR>Y%i-LXod%rm_bBH%JZNTR{B)uV zPmPp2Al}{ao>y#jU*Rlbd5zTHS;VR*q3|Ji^{aG9x}gJ*&*z85jx61$&-lmx+;M4! zRaojVZu=Xw+T^N%l0ROwFqUHqG#i%CaDHD%*s 4eBJX|1d@=(9QOiL!S~V>JSN v4m z!$;L? Yx0kXu1@4XP_W>>jG#j4n~tq*2{J zYXr1;O(&MpkhOjR1zcYy9EzQtMxcbIW~V_ms`?XeJ W( `7+%(_%hJi-3Lx{9G zY*0`IV!NxVNaMSY?SP$kl+c8jgZ_~rp+|TZ7X9ClwUute5e3YOl6!$#>LTWld0!3v zmb^iM_Nfk!9wc0Bb#~an&_1@|1~#sh6o35gYZ;si>I~aU(ArBV+rw#*xRRUCtMNzH zLLn=%X(mMt?9E6)0Vg8;tmd;YU!ZqFQ6foNZ$?r{bNWONJR4{_^x{dsVvQWwkOXkC z=R`eW5Mr}aLu3z493Q=q=dMESDm0z^==oz{V`_vo_L2!%+^Ru2G5*`pr8GHmp=J;A zC1^6i3P@{OGICA+FKd1cwZ0v{))!$dq>a^tNufq@pqYERs6tfoQBR3{gsv`iPM?)9 zB3TTZlav`i$cv=Zc+EwmJD`w{OxSTWAl*$dqfs<8x7?_+T=QWtZTSb*M4DsJRpAF@ z@fdC+R$M(5((9kp51uA0PB~$WaFJNri^vg8k-giT7H@Y#^Ek*qAxVAOlF%2cU=Z8f znXzqTp3=h7G|M@|8QA@ <0#Iu?;IESCbRkB*lD z6i|?A_emfz?^#C241MLcQkrz mq&4ie>8bm z3lBVVl=2`67B|bm&rI ?I_Oj6ZWer??$8oKF)8b935M4TKnAPffDVl__bCkYkD<^ zChZH6ihkU&y2~ddPce8r5?OJdt;!qU__2C;E`IA{baCO>`q;b$MPqBi XSFUc8RvzCqm!z|9? z0^3H9c2?F9aVOp)kNVC-elc=ZSGGwFpC*6b?3|0Hrmkgav6vj?W-q!6xew*-7%KUU zRwjG}f&xM|m33wBG%9n 80?r%c{bxMr*v5d1bPicg0CC^ T}O#A-a9ctv?Xgsa-wrqlB8>9m9KeQ zw5`JssUKAo?v#*YeSLO$O@3 OclBT=_%G9qEqFnyRnL)) zj$d8Ivcp-tKz<%SRw48E9+zPqUcoyu>Zxq->Pon8C&_z}ka6hqcO|j7ptzK>WRP>n z@A{h=UcEamuBk2H@L9rCuoc;RIN11K%N;Gb;YdnDjnIKe{5NEml;86y$5}{Nz6$0t zZ|5StE8AI5oY-+-QL&EQsRrhu8MI4hRh3yheh!NCuC2!o%&N`|c}D{ckC|S`{^ZT~ zSS>c$IiIC>iB$!moKN2N(X)|0RXzAUO!1#o1A5KYX}}GgDYH$cjxXCO>C>GoNWjX+ zEat+Q^vTZNx0Cx;H~^uhyQ&}Nt9SQ{PV<)3!X`33Ib#OM8c8*dF)5vZK3jpsp6tqf z7m$KaFBLi;@^vA#r_LkN38F$)wfcRqp{mh0J*2KtG=09JT4NWj0y)6O*V{
%>G t+U;-aY6y!a0T%q;-DfRCavHi^gt}P+epO z8*bR%VY)op9`2a599cqmS#|WCf)*hhB#Lm=ki`Jb?~}8z@A?1V2=G&$al(YXvk4Q4 zH_qetrAeIICQm9EP(LvyQJ(UDZcM0C0g9dZ=wT7ll4KRr8t+^@1=CaaTxzaXXnJ>* zmY*p=a(DM|<#V+E+*{ZD( z+=J7S=-HuTklib%k^oDTi+8d@O0tV z=feHm<|Y~Zn6vSGV;1~4fjm3g_xJkc$$RMK(rrQV8Ts3n-`komSHqIef6J!2CqF)A z7Cc{QzWkn*40-&u0=xi+Wd$$8)X#_KFMm2}H=fS?Znm#>v`4}74;M}=Gn#3cC%RE& z43OGSgj+|VNIsUne|_}7&&%NP1WVrwc1Z!v!`ioXynUTBWr46jM=5czZ2l`&y;_HA zX5Nw#QT}?g(T_cyl8OI#LU{D^)EhAk6Muyy8shVD*i|_QnWO_b(@OkFmxMCKQbdlB z$y>6 |4e+vf0+|{c><|lS8AzR zmob1PzfObWJSv&9%h34!=22`OyK)O1VFVMhpt(W8PpE9-Gln(1_<0jxTRK@4RjXMy zEax(zq9Z|M|3#YIs}>yru>9yl)R&cjv$Wl}4T0wgBoem7j#Q1mOqFOO9%|WBfARR` zI qNE`%`r71 |51VQ5mZ2~fi5e~8AI`8xy#)zbef|{DM!=G z6>_u@qWp!2SGt7^qH!>RWEne~7RF9(7_IJqC-6;dvLK?`+9=ru)N{f8Kkwvm2us+_ zVks*f)M%A;Ly9*7NyO& |D7$tjL3B#cQ9KT%1w$rhx1(oRws$)?q;#AmKMKZ}6& z5?;-lCEQTjb(-RfbI*fbSEVp`OC{fb#S~CN25axn*AP{FpOO+ZZSC2y;C_xc3KogS z!m2~8A9C2N6;+%;unf2Ytcu4D8Hq|O0DDeKqyq9Fy(UECUgp%*c`oEvE=8r-)-6z& z|3<9T;!Y6jwe%n^sq}2sqes~zZN;NUXV<$A&zl?9G;x@}@Ww(|8-s5YNg0aWBLf zuz1u9^Np2!*DZiwA(@AT4{Qaf5>!ZroC=?w3ZtG2*PK89?b|MsPP&hjQjDGh{w*bu zDgMKY_OV?0PXmwEd6*!^z{tyiK`lV5SM(}?qQ=ijin38|@I@DEKywWlQSM**zpo{$ z%U*mm{=~hF?4#j%V#GGz{DCe{2s|;A%S@R0buhYF#=K@_y;%$n$6~F(!M5k>kZHYA z`J4R2 ciTc=ZEdeYOQ6qs3U}J zZz)p#CsNLk#4V3a7r#dJ`#TpClXV6MXNJmS$J^4&s4vo(%COE_gq!2BO0SNx_ZpUc zd;GL}oQ00D5WV2M&x$4TgD{zEsB;Sc0zO8`@j{$VnD0{OKg}``4awy|ov})e^IFi) zxkYt0X62o;AQ5F41jM|MIc!=fK>(vM8Og9j6y_t^sKAZWtKfBx?-b+ 3P{Z3_CWh?sR5}xKkRzGh4)Dj+b1_!LuMRHvNjJbtilrl;mb;Bjy zg&j2JYi(Iv!E4t+K*IvN60)F{5bHVh$6z`OQ5H0Q_On0}yZn)E%@H!Lf0e Z zmY5ch2*&L! TSL@eO`Rqy1&a!z>+92h7d8PH+3>&%E8m%O)pF8X5i3T1~nKbwH;8C+R- zMqQ0LKyM(8iLsz4a0gxVPG8quEOkFpu9iX!S!rztQ9~c=fH?H+=i9#Lg5!Rmz3=H_ z|79N+IH!V&y L9UPe*}%6V1#>^Osf#HMb1uENZDJ^Tj!vBefgwD79|^k6Z_KTY`>3|jKpRdb^byx zD+nVp{#DkL$Q8SgdgxOPbO)9szxr6tD4O$;@g08P90oFKpl~cvawQ_8yO>c>Ede*S zec*CJ)3{z?_JMQi6&IFIE2PV;X$L&1z!Qaa1ex3uJO89*ca?X?rr}eFOyfxmqHRk0 zNYE%RYe-h24V$c)wu3c!pd%-VOc6vSB}u<|E_s@~k1WKv0AvhBc_@GTT|^1nGHU6| zm|Y*f74sQpO!K{!qq_S%98z$sbJaW5QgS>n*E!`g&e_5EJh>3VRCz3#lKNn*MvYd} zrACbc)RHSwd!d%%rcn+SKe98oInt?GwTJ04%=}y0SBcMGcvjcG$|GAXOaHDmQ4OHo zMLRQ{&wi5$v_=e>VSH& %R3 zW(XVM?$+4dQ8x0JmvZoUUbkSv*OfK)*e&MhyYUC;Li)*`Z^b$~Tn;HOF74KBULNv- zl&ufd!kmfwmF%eho@dQ$mMURAci8HV%Plj+e*lV^*d8O3;F9`e%DS^6tPi$as+tUL zd&35zb#VM$FCXDVJErVJorr fg%n zIKb)!&YL>8^x#Vd`TkjktV=sVBUrWsI-OfSb;Ay8+U43*6;y8H=|pWAJiG5bnzJAD z=OmF~l!|G~OCiO+WQxmyF6auBR)Vzp hxA^~6){#G>LiGRA69pk(#2z!Tl-WWbnOCy z2?<3I(cI!bl@Nu8w5px}QD2bcM|QXT?=`^QRZj}y$3En~+C!beE#Iv6&})iu<|=jW z7wd7pc )rhoiW12*y1_O>5Pz*sw0)0F@-z{| zb98mg|ECmtdA>>C?{^JVhJA?}<}YJ81v=FYwSl$_EGgqZ;- zzh3e)Dc8?6D3A|Z0-lBVbWYD7mnN4DcceR6X#1U_GN{Tnfe)b`a{Yx`CP;AKpN%J} zw;_`yc0^`be$1Mi{`%LyA3f~5qI}Pv#u^fC;^hVlAg?Ft;FG{D`NcW={KdkJvCm?Q z?v;N6e;+RPNfT{!NQe@QT~por>rk&mAj~P`KRDey-vayPl8*mZNf8x0Cq#;aKp6W} za(QV() j{wa>7F$I1u>|xXvR#UWgMfx1<<8C$JHpg7`Zbcx*DhW>E2E+JL91!BS>hp!~Iu zB=6c0q_zc@MO7pzrBk8n&_-(6r^vN^R^Y${OWoR@PL?1`8Y%fa$fwo3xnk4;mA#3Z z7Uk%XG>MYvDE!M=r@7eVTE(5*J`UjhcL3Wl$y`JwS-TI -GcpMHH;MHZoG*-=cvjwg#4ZTl5sY|jScq4C9sOAvUhRyXV@7TL$4Kj#Rh6P z)={Wp=T}JdigIx&$?Zyp{K9tL;{WQexmu}6O&pzKml>QscwP$cC8Krpx2*NyC5qHY zQ<5FK|0;p3_K#FZ`(&0BHL3zXl7@NyxnEdfJVsD~7clxuF hEu<*x8>?@;VgkpoDiCP!(g zbMN@SIEw2oYC_eqSy{sf$G~TPm8sI%h$lHeM+m%gv&ErS)e20>0^Fgt#2(Eod~9c2 zrlmTvK!hC~KWvmX)DpU8n_8KeLs_)GYh&a0ozWnvMz4f4O17z77~76<7G9rt1R?L6 zr%ll{34sv1?ApinlU)h3XSKaK8s!}>EaCr*0(EX{7%I{t*x^!j#aC*`E#-+y!0dj+dm|uwqYl~qZB_8LGW5J#V >#$3o-^I5NBy)fN zWtqUupbMoTiW ba@V~6O>JHlv8&c7<3m^WHMcWSk301BC6yZom!RdDT?Tg*}YpkcshY62s??K4$ z&B`y`yT=p@NxqY0=}?1Lof{in)R<=*n3TLoqDQ7naId4j`7GWvnCB#hB$5jbXskmZ zV_5H=x^ttz;DAF+AR>Fbp`vDlPUB#-46}I;D1H4&Om|++N x9)<$6oL-+qr2( zeQbHIFmP%Q!s4_r#gusb2JC*oCJr`BP0e-x#4b!nL{Wp8VEvUL`_8%Qe _KrWI8ohI&;XvWP0Cbe)D;{Kb_l_)-_?6`BVlBlBBRJ zwZcG?O<}$H#;g1bR|y)(VIaT*iDh|sA*MEd{3FkF)V4FNePH}elB=Ad=GEv^`>}`K zySW8|0gVi$B<&wdv{6_#MWQNe;I1<=o5CJ6Bj3V#^wufPC@dN9Yx#GC@_twwJV>OH zenr`#)|aX!cM*sBvHX4>6~et#gGpo`^MICpMDAAUwsf5JQat0v$^d9ZBzP8~yvDZg z4E6fe6w$%$bo{(AC3#Ll6@06~98^K4Ah7deHQRLr$8guT67tiLl*Eb)b2;a~xr~7+ zJqHg;J07HUFEAkC-aa?g>YQ `!TjBWG0IVBgU _5j`)6?;PN$pMe`GIuUFcVwk=?gevF2`RRC;(qhn8!R0{e^jUCq z@482egOpbf`B=r1w%Wh{N7Ge6Me%;^p9o4zcXxM7F5R#!-6bg WAqlUAv+jhRn(s zPYFf9zO4$kUp`{bYboKi3)hJL!{vdHxJx;FRy(ry%7Ku=Yj1PN9*euyr8kCS7hxze zD _a02soq;mn s!3N L*I6$pf}o7iV;$cYqIyBu@ ?PJ1rQIUM&%k?>`=t#HM2Lsw`j_3Ge%-RnAtn*9hAihlpS3{s!)Hmg%R1 zSDoOOi{W=0X(>!bwSi{#RD_3YlHo^YWmG4eOP_4MNErXVvdHtGruS)(J8^oe0TKxi zl&|Ok+ai8lW-fu*T$)#Be#XBeu7DrEqk@WKDh|^we7c|Crb@@|2*fvMIDY}wPlO>r zu8S+#)!`%kuUn4b*(KcteE^kiwKO7!ggk}~s<-{sK(?xwRWSMPx=;rs01P5j=t35J z1&Bw~Y!0pQH6)U2UKxlu&>2#XEg=pY$u+<;gR5pSC}|z9!%ygIKCLR62ru8d4KtbM zi7YcXsNuIyRy)sJTBfVNXs;!9B|Eg{ZatBjbp0yw&jEm|TossGjB*!RzRgca8O&Fp zGhM%Q=TpKTzKu@OQJq`JNXSNSl3j>O#mqDDIEe8Id>mHBU%ri=W4bzJ?TacGioZl- zFQxPhL~%;FGfUUe6zIm`SHh3K9IsUm3=|nd6KqBD+fx%*$e7I5LTQ$xY`82IWL8ET z8oT_n;q6BfAV*etE{RdM{w! WPWR^UnlA~JOOe)g!*_jIa})|g zQ_a}B?`qGTFV$o|j`{=|&jyChF0_ii4g5O$uz%(Wgy;q@lFr@O83MQ6dPFEF;#@vI z4z%sCZ3!D$o<4v7C4z=tG1bnhqUz-`wS~M-bZZ*QpSab;yk~MXsN|J?CUP9IkXOm5 z5uesyg3X(u3YN8MfT=BtqgF($&b`iJUc;la0lb2J`Eb(RY!l0|^u-))7y(|H3?W<6 z;1CQ5{2D7>wuw))?QZq%0_*vHXyoJ{Xy}Qh!BA3x<$MN5G6c!=Z81nPh}M7)ybF}X zpfBia9fXo;6MC244=~p$yUxp@{A0@`M^A+H1{J;t;*AR|(1r ;K1R|TcO)5ojF zm{VKb8V;7UA1-!NkjJ2h_lrB<-j^pp3h&G8jSdfFojc%r?&Y0ISa?eKSg<%Ne63&P zTuRB%~GAt=<=|y#ygx~MdAuqh`rTM4De8r!{HF5trc(_s$ z+)-)yp7oUTpCmAUIciaU#6o2-AX_qN@`wFrIwM&ZpUkZOonF`hmrG)E&Plh;tvabd zJ~k<0>K27|6N3he@okwr5CQ(Jq%9+Sm5n>DsgmE@GS3eTu$x~Qbr+EZISJllV|+cC zs(ZdVBe!`sRt+-QOpZ0|_+5j->s#M%=f7zEX4TzI^k!~nHqXg;o{f2M6;N|m(O13S zToSUjceoOXZ;geAx>LcjC^{T}kYp*ULfh-nP;)1uUJEKGCtuS6oiJo5=-NPziB`2d z=Aa|Lt-MM#@zVm~C`vnX&<{UkEW}Z?w|R{*%9%YrnO4+T?LF-3n8L;(&Pg$XjP1R% zZ3PlaPSLd)Y^oPsj2h$=7qbq7-xNOc)=$E~)D`eNj!__!Ez(yPxR(Sf8MA`6+jR4> z2*U^lxG~>Sp#b{&VUd$Os9Rg}ITPZnmqpG=*QX+7H_4p>QWeB;*C;Q;=uUXF-SSyQ z1ldHSQGRAu!OCceN47d7pgx%9o5rs@qWoAqrZ~K$% HZ7pXcb?qe}s#iLH_*)oTQNWz1ws%9jEQ_?N zq);dr)upj6i`ZawCd$_S5+v`7ibTU+%suF#f|4Hrt6==_L(`=SYZnHxAi~+9>PMnK zcR>nD`^4T;%l=(efz #w z8DcD73po!)>a`Uwj-H&j=#>7360Wsluk(i8OKR75!j4qHMG-`d$=5xoAII|uP1`6; z$FFdU3!i@l7e)^cZB8Gep}-FPM%@xh2Hk8U2`{oqQtU04>$QAZ04>qmQrT_XA?1@v zt1_*jesea1wlVRv&~O%4oATl}08*N)lpncM7Mtp=9 !fnTq9;l$f$XVh43;SQpUS%&JkWdz|}xG6Zt_H1WH7$1I$^u@y>bM4@<64bdEAQ$9mhYDAs>~oYAo-{0JpEe37^OZP zabW}qsU?{ zCs6QT?spMv1?$r`&0e-WkbKHhp5+UGW|}qnNzb zRSxS=Kr04xT_)_CFK`430^PF6gx!b8?WWGx61Z(agw(Hj1ZT8V1@2L&qo^f9JE-kk zF7M*+RSy&^X+pB7cewTw4qlF!J 4s;bP%e{U0{dBw@biL>b+|NoqT^|dtKW-%g zPlHdF=ZWh;(DmO*si%ucP@o@_y1(XL4?3@1e>`)2I$wWi2?90!?uYKKhd;-yPd{s= z9#2}2Q=YC$pMJFh55#%bppyUa^l(c3bUFx#&fM>;|H%WZ3tEBe)6%D#Eo$I#)-HFK z?dcYH*rI;=V;*!nDD}{%`M(;1r-#zKphs!|xGwE}+S-i;t~%ErG|YehcdL6N64bbN z$S9p(T%{J^j&NqSQ?cBX-iZ}RjI25%{K9Q>^RJGf?|0DE>;1e}wm-Zdw+-#~F25hA zNbFc_YOE-$morCbTk6GEf&Em<*&L_%2&;aTxKtPIM469oMR&q9=QGg5!=;ta+s*)~ zMf*j-?AS`bCRO?vrV2}LkY*l9ID1nbn>yEgLTMLc%LL8SN-oG9FRZ;%dvK&GO6mHc z)LfZEHicWMB{OpSMpQ;^^^Lz^R9izg*QX%8Q8Tis<(|SAP&WEz2g&{+-F%L&3j3 zk!0|L7}coIb5u1#rLa-qErgP94`3NxRy7Js5I;^;%$d@@^rWA|HY{`!jbNBIOpUEr z+$1kAq@76B=fZN563CBfP)qeJRKWMn>oVkmb%!zq?O^FjwGJ0QQ#bc+>TCZ 6h*P^+i#QHf&TYDLoE^jzx;L`>v*0MIJ-Pu{u@ zc0a 8Oc9a2W<#H$QO0m6 z>(QNWJgapb3#fT&PG4LE>_1Cd@8+ceH3Cr;#+&>;zt+t@T?e>XDr qw1|7 zyTL9R$flBbh`?r-nrq%4=e>*}l=8N^`&4eil^3=mI{Z_IQ#%R(Z&Tfp>7Q5?-EZht zRC!xhC7z?g7hwzQ-|A3|H4#eX26-jzG)%)*>2E?a|3j&Wsly7b;iOAq%5oUPQ?EVg zqycs5CGGs%ou%g5Nx3EN*MIMg6>kVZCUGVe#A6ciV9rvXKq9!xrK%S7^J)jfTX7gN zE-SRk?x-an17vaEk``e?m6B9ts~~04S06}Y9kxd6LCrLg_3wbr+N+Y_2dLZ|x(D9@ z1vsC%3&YHXK{jP6xkAL>h^0>JrJ%jeS2UC_iB;zwHVAEkP+`VVt+y*p9s`;=qYH3* zY5Y+cyUO{NA{tX=Ya|D{#P{>*_B4$14+k#Ia?W&%K=@Xg&g-qxiJ5r)uHz&ABCyUw zZ`
tBk3;5kD|lo4kG1?RX_~ zGY6o3@Ab-KK3ezta8UaW{5*bLE4=MXlzO_qdKxr;xSo}I*mH&608f6c &Bo-~Hg6g02|7vv9Yr6_eS+v%4&kaD#Ovr~2 z_-2p}5^~`Rryt|6Pz+N!zC~o3uL0I5_3%>Xq@#`u+2>f_y-Sax<4t{4=DZcjSUS1p zq8CM{bGYo=j$%$meVqn}&MUS4<%@Ml5y+0l+GE0xhi@Lgpt*jzt*~;P+Pspx?5tAj z-WqKddN9c`shpkc-!{^a(&zdgT c@^l)LdAtMUpD4PYQ8HNGe Z@ zsNxfBzV|I*M2!ZY$5uT~c;Iu7fd>H`LaXRnYrok-gue#-_7o3Dqd^U3`GIbud>2%& zKcUJ|llJXE^{I;&CO>@Zxxe~$wJ7UyR;UtjCd(SJU}r!mkLnGCXhpfA3@ZydRZFWZ zRK$=dE5q!1e+BrbCle6gmB<~u_!-1Aqhlv`xHOkRwqt`*lP_9srJE2Q{w~XZPAOTJ zh1q*O9mhb04@#>GPbp)YX<)-1h $$(5DE_uM_qaQ^0=(e z9ff;3K@2^HjYtK+!)sx#NgjpV_KiHw#|HGiE>9L=zKoeYIc8j0ZvXk88zUOp3+?0R zo?g9uEiHEJ(F}W$ZX1z5=Ft0C*a~}>4a4oq7npLBj_7ewiIll>IzBS-`xu{(8l4`k z@70tHh8nL#9T7C5M0^)I8tGaZ?c9U)3I}tzQ Fc>dnFXFe77(IoZ z75C^&W$d{q_I_uLOW5t_Zhn6h)i3e}0jXdpo%f5K9vAsKObk;PMITZ2y)%oYR@uL5 zZbihllA#r^L;k9G)?}=_y4-1jK?|S;3Q!}B@_7h^ `0Hq>`4?j-X|xK_ve8)%>Fl`7>GI`>19$-S7u9Z~U@Db*dSyHBIj zRNBW>cMk1}Duv&Z3Gfd191uMfsB4Aq%eS!e W$tj0s zxQ1&+jf#hE%+pxfz2~A!q*I<){SPy+`FwU_a+aki`>(79SASzyxxrKYaw+CanDoZw zX(=7Lw_AH;mj$YPHX4ord3Ms&>lkYR?}FDFoqGa``TE(P-7hYmJ93Kv8;pJB0KH;X z@m02o3TQu#khd&zUFbSABq)}P(TITcaDh=brUBJhPoa*@fCTzUypiETI^6254)Sp^ zhY)W`JZPvjaW~A}`ZLV!ogn?R8c27v2=<1Y;w9uqhJC=HWR|3~l;pVkXze{$ry+BR zRq>l&`KT-j{PQ=oB{1S~+YulzaL%_V*TYqIdm(5RpVI%R_hghd0c99mqq TVnj^~9tg{}$+j6Nu2WyJ3$Q z)&_jiEElJx9SF$K@U*nI(%rZqd!Zh)V)~%AwESuBBl`v3IIq~(>PJBBm46H$UK~0M zo>WGKx_hG_pnO!UFq>!~BWfrf6Z0liRK40iren1Jrv~N4Os>PcQnK}>o{c&?KiiKo zR7SLF%zA*16kOrQI~1j qi^Kmidsde@ETF;Hfn{T3;t#7 zckxqZDV-uK+m9Hy&>k)P)l0lL#zhE!GYuP}|E7~z#7rbYG3KteOcglUv?%c-H@mX? zB1U~^5#5WB)tuH;eng+sn~*j1HlW#fksoz(`Q)=zy1R>5Ef8j#%{k#@N^18((flw) zcf@m(`EWU+_V18CbW@c2BXJksgs4!L*iPfZ14V{Z<+t6QdqYOams^u;XQKB(daUMA zGbtC|@=WH6^N5!4G6^S6J#y9tGFJQce7>!_G@x-w2l4dhk5WOD;>cAZoFi2OoGZWd zAJ&3Sy2S)|fM9{W9-}DdAo@r )_-o$sZkOZXz2-O9M3&B zME$KaoGegwYy{anE8*zF;JHUvnZ5eA!$UYDgV2#-zN+(S&HC6oM1jg^J^FlvuCm7H zjl`R_-vZ++f$WBq#o=qVXsyA2t48?<-f^A_w!xHv^>1{$0 Pr#F)$3_Jbc z&E%izvTn1hDVh
?U29^u!wd|ompfd-Y0X;qrmzv1?c$EZ|SDALl{tH#}DcTKs z-3f~EhLp|3v*By(@M6RoJ6a|2=M Ede5kvW=cp1m$VkV8g9v0^ z1N*0d76b$RF%oXGUA0+RJb_`Q-h5+d6Pu~i0vU5N1DfS%gWhN*oMV(_H{IsgMcH6Y zORPMZZWO@xgfga8-G0iny^$zkprx&{tEQ{A?Ux`jbWikKFnd3~BC5Jz7G_&r4>)Aa zYdgU{()@6csfzYVWh5z_@;6A^M&yqSxLWx$QFD45)yVeO!6U~797`-m$5?CtY%D@3 zqbSiPAS^(DP%wJCkPbtItmNPz(rpot(RwhViGt>L?Ol~D<|Ee|Z*Ff=$A(Q4X(AiR z;+p-{Nw4pr7j*3O+=8p*Ux2ya^|^!$%s(|!wB2_75rzuTRm*OMw(kI1B15=D<_9}L zaS_VqDjHELGV=;I%(eA>HbbwtpqPYT+|xH-wHf^uBnS*+cNI#l; <2&y2d+JGKarcQ-(8M8HE1S z{uh!mGWL)T0LIenpu~Q^ia@HX1iDJ?2_NuFtYp8D-cyjMSlvJ%EBYmJh|7;_TG(VK zlAh$3hy%aAp4HFXKX=XsSpJatb29D wnhJHb|vyZGOPg-;c^ny}AFUK)naLsuxQR zq|q`Ykf!yrAyhn|S|2&c-tL~2z{O)KzUKd>aIdmu^*K^~VZ0&Tfc^$i-%=ZqTm1k} zK~lW!`Vj-EK$KSJ%uUqlmZi^6a@*yngUMP@m#QPfH5v}1GRg?|V$btlXXN65*u%i# z3C$ekoqM?~*raBqvWBRkj3Yv$IEf8-Q)QqUX|ZJn9Vv$u&WsrN1X-S39D0_T=cWA5 zkSA)_D1&rP40Al-6#OS>D76=6;Ye^A28r%VX43K`w&BT(XE56NDt{(+22r#Ul?zV^ zfjMm+*TTFHskDsCA3r9;l$< EI%=` za!~a0$F&sLgg`#RzvLBTnv)vdy_&8{#Z@L4sTwxb#vnI&R`GM%n4+HF;HfqUNO9`> zBW=dsZ!HKB{7o&XZvq85!@eYNibKUS(G(=#l@aBPpqZq8TGgK2XUpUWRy5r`gV&B0 zgJ%AJ;oQ12xsB#-A0&X+376q)47=AZyUD>pxtx^N{6YBahR5dd^VA*-)C*>fE3Q@= zvF3xD0o`7h^F_H$`I+hA&0wpcROHFPe72D~9QHb)N&{I>y!kF1g3f%B7$NI&LwBkX zWe=#ttC4)N@*+n_LBI}C#cogiS$!%)8_BboXPW4Yg3zRUad{vW#>y;o-kFqr9;J)= zd0cXsg;`Y@^dcMMw>ea750ZLisVZkx=U#^x*Beez%&)hyTR3~o>GJ*cinFUAd~hf$ z2kr5oKP_kGaeLndUZD^4wI(eyh-fawm*Xl7|G4rhD~KAZIBCVA#l*^GOLhG5d|SE| z*{3RVc24mQ3NRAFlT(p3vzU*W7x6b(|1x|FDoK)!<&l$th3mMx^+EO*2B1mVuyO*u z8+DF`4Jl1{mtoCAxmr;+hs1A)65a^wmBIQ|uh(jxXl>IwnLEF$e&atL>BJgckP5?N zDo y3mb|M5FYS1HVQ+C~fuPJ9nribONJCs{;tGa~Fn8u=kr?d*OYS zA=p9CG*{(k%kVPyKG6k-_dwyv=rtSda(=86>^ty{FYlHAU`xXk_sP#pH=c7J%ejv= zY!CwXERI>wS%EtICR^RxzT9( TH&mqiG5hfC z%p>^Gq2%z0^CVWPJKo>2oh7JL@d;l(FcrGvHM+8sT4m}yZuAGaJ(A9H*9nnZoT^h! zP~6Nqe_Gl?>LMrg0PXTAEQ1#}wHyAGjf+AfjCrSF=&Nq I)!JZ5hqG`#K0h#v{;Y7coIPA@0^p~h4ZXsT)+ zjTtgpPjdr9CIx>it3zPr*9I1PE9}sZiOu|M5d^ZV=Ix6RWiS@#{2nzmDv`Q~UVA@d z|DL4(A}U)2M1j8qgmMN-6w~2)=c|o4@54j_rjHNxWM{}4AD!KqtBKl@RrCt7jVCv7 zQhjD>KG>k_#J!Kxpbj$8@YDeQXU3wV5`Tw4!w2x+tNfIlrS>=oJkH3PUJ!q~8^k(i z_gA)Rim1{sM*&sFz74hiBDWD*^=nCDTXZXsSJT#nUW4-k!|mT(UF|Z)A;CF(WFJ<{ z)pH(u{SJ0jK_FtUlcdS=z1}_3!Xs>?*^GiL;^KX>Mx`fNt45I&&;YhJtYCO5*iTT; zm+e(e i6`iQM zN7uIA7=6CS>Es{=noOp0{(GYRtFDnST~jhGWZ#4pNtX8YV4Yhrg9Wo7z#|a_yWAL) z+rP_vxtu__$=3U`+sfB4gTX+>L2lnx 7Km)QQDj%tFyamWtLVvY-&tm6 z?VfCE-O3k_fD!jQvNc;MbHknDR9T6ucMjz7H4564SeZx5l=N=otCEiBib}q7Td5Qe z$zNhtPnO9@t%opNw=neIBruBZTy#@ *=2WH=VMCn8$~Y|F zD1%~|GpAIPCANe3hv?&Dhf|YqR+Qtn5h{ggPG5$UB1UX ui4ooP_z zokiXvK^A2t7;pI4vl@?SirF(~TC^GG5CLF@-^*sfFdN35b({?0n9Mu0-AMb)G6s zM&b{;FKiEerMp8|#1v45mIp=~II X0VcQFJRzLDE2$% z_`hm$U+rAPe4&gImrnvS&Y#GY!JnKfh374!H7AE|BmAe2YTS9&`QT;(ogNfxtvFkI zUGrR7pDZYPeaBe!xQ#?HhLvFB?#S!KHe;NU*t^EyK$vy$G8_=vwW0|FKLap$|NkJA z_LQuQZA+`Uf)$v |C~*AX6nU*BC l0Ue&gR&IjOQGnvb$=y}b=UPvzwWNfrM(s|}RKQ2% zD+xg6MJalZp)JxsC|*{y{NFLP3InZv2*8y!US#GMaS=uG^>z6dLH&D*@HaD>4Y@Wy zw|^A6FnqDc#vsN^s8-o(Zu#(QDEDPCV|ST`E>!eoRds%Lyj4{~RyDbzPyuR`!R?1k zcz7!BD2d`=L?miBJsZ*|-8#dqsa6_Pr9|1aiV2aqF9L^e-KSTlej!9k4O#6vx9 u^rs&YFi2aze7-|6d3RF}{{AA{GYzwW9y<2&8>?h?j?N|jzzR;L>U3^|; zhn7IzG2x$nU+8y5IvJ8W5#p6|$$^G8Z4fV~`!OrcMWcdv+_<|s>8Q}}uytSloam%Y z3~=~S@)j+0KW2}Zby%r!?Hnmj(3s3UIVDu!kXoYx0crREBKO5ivnG{f09=y|*$X}3 zQ9<^_OsF}zvP0#Nywe?RworBJhc~oTptT0!T4C{iUal8>kMA1DvUa4^v0UKQD0})Q zs-|(Q7`*-F0>WC=#N*=;t&%OjUR3yi4#Yo(wEvB!J}s@vlWkcK%E|~!MsW~1F1R4? zXc^8Ow}!ogMA;q+0R?mu4wh|1doudNe yv3KzJPw7ou5Pyw&+xb_&yGSxSht6~1NN^QZ)rTdFVEd|(|E>xR{P zb8FWkU&>Ait;c={5C1gkFxM3xmV>)X{>)!&^5KY9I$|5q29)JK(3TY`(C!>r?ouC) zfBAin(M2zMw|_br=t(U3wDG$vCnpe^9VQ1ix0V5!W0nz-libh9ijGOiBl2!1&piI+ zcSS4$E|zb>$%dsV=sNsw_gS)H1jT(KlveKYV9qi}tZG*8Bq%x0(|4+jG5dV->5F)S zp99YmVB={fIR mkmn)K$B=9&IeA 5SRYXlpnB*1PSNx{DPZ`Vv1dfP= z3S`=S`Qz1Slr^h|tn;gS$fmy-r!W~ggH&su45c7?`L561z3d-9cFExh&Hydic*ldA zw={oEdsx49@C#x0L!@4#J}{g@!`8XNgRl&R2L=k>jdFS1U+xsgcCR>#vU0IqcTU9u zyxWBy@%!>9z?T&^V$w&tmXoFU=eMe%-IZ_Sjq<2Bg`oaxi{yho>DhVr*c_JJFr|!4 z6MkqJQ-DsuIQ(38cmIPsUj2L`I>T @vMJMVN73P(g!D90EIqG0wL(- z@NAGuIUvrtG5Qaj_aLV55Og#uJ5rqqX?Lms(%A+0k(!(8j08S54Flu5^0cXBlJIA h2@d*n$>m()d7B>E z@!g3VydC=ZygR|&Iw%01^YKD?XRKY*Nb?2GHk}myql^!LeX rR4hAbt1{ACJ@LgoUF?N*?*dmSca}nBu~7%O)z^3ca5{?yMgD4abr~@ncX-OWcf5 zz;KX3jn+h{@h`?c&W;^o!VzWTJI0lj>uh~!QIMtgk@Sy*rg(tR=^x3OQ#30xoaD)Z z3`W0QuH(?0*^l1qzN5+@_mIH0d$hlCrv$wA-Cn=BT?dI8BfWQ`j)n#4Y1nHzx17k` z>#*yGU(J{(8@?r+{aAnD+8Uh$M}?u!Z7Or~23jZ-O}r^Saib(`t|$qVIPjL{tmtLu zMfk?qB0|l}GTdCpdrVumuvgp{k14y)I97Cc!Vygbqe@NW*kXUebv}l4)@6{L906tr zZ7I%ePtIQ3E*|my9})EvFU%U8Ch`qBqcz&da(4v8)xYBo-=My8Y?`>;g;Yf{M<0?| zblLnjDZME8Uze68232iB;DVIyMA#CDxf^n}cYnIzh}$+;yXWF02Hu)&fKngeCM)>v zKgv9L^WBAF6U24Eofz%_^X`J@DR3y>+!GdZXn5x>X2efcxYc;aL5nJR`UHpX$v->% z+%Qwr-Mq;^HGk@`e{juknR(Ny@pGU`I^9a4pRWd&YqGJ++%X4F&wt>Nut@)z8tHs% zl3t=0frORRFSRa#PM5KoRX#ikk>8hvAT+jpQJpwnmlba`Rpy;@8*=y21`y%F92^Tu zy!J 2Vp8w_s32zDnRBYT$07eGxWu6zA|eHsV?Q8Kd$smNZE*gbJtewcx>r56 z3A0%r4vpYLUhE=d=#Fkp`breAndaXFUDxlAI;`C6yEOJl?kW0 e1}Q@d=?AWe=N;9L^)bc7_W$me+YutmtR*EU(QJCB@}LEc`|g;cLcQXwOm z%WJWxX`N!dFjgS5F57sG*P?(Q2m7Or!40~)JuIwF(SJdmZ{}cRxm_r)54- G1IM6es6s zww6+pXZ~MTnzf^6Lbbwa(HBbfG3S5F=F%<}ix6dGLe*+{4~{<0*6^+b>!f9kuq|dL zr!p{*848QO)hty%-Zc#`(mo6+U|sWE(Y~ZxKHqL++3E&x{H6@BoUWmREzS=F7$!ON zk2p6a7v@Ai=Nx1@`n{wyl5FqXLpkrb>U7JZJvfsFqs*=Ev?`xiknVnlw|5R)w1zO} zNG{~oV{`nzSV#M&$(UokNK96BH~UCH8m-zg6zvT|37{tZ1HMM9>@Ya5PLuk-EKAgW zTU4JI`+*}s+iz=oxqPzCT7(a0`;3><0-O}mV?6h`>sFL&jL`3LZu~d|mTl^&{xNfL zq3nz>3h_(L wuMUdON?r{!!}OBYB8>!_&78 F6u9*jVSt>B!N6W|1*(j6hgUc~3wg~OD_92$1Sd)8 z=vf~X&(SkaIe9IIbZu_js;r*_z4A?cOmi=cjp(0iVv)YfUD_jn{n>``6p~B>bXL)! z%WPkH$qUTrVw2*QX;~%slqX4?lGC+uB1c&u7J^=c!Ge)q^a64{n^@nQ2V_-<%K)@K znv9*`jSQ!zddtQvi*TNqXAVGV5xpClf`yRc7^gP>8+O$J=Z~~3&@1((FI2q;IQhdr z3hbB!ipderiD@=A&SQH{TX0BU%= ^lqbit2XlmR+uA^-?OI+ z#*q)0)G#0gql8`Dn4g0NT?tE^CV>!rcmr(djIbr3|Mwpxc}#5_!RNkP&AmTzr+=c> zPvKL{!jWDmAGNtxd9=%IM-@9s SSfPL%4aJ0lihPf#Dz6edg0|aRP8RvA Z&se1MT{-VI5ESJVf`vS^VOlUY0`S^BSE{%lv% z|ItT$8YiSDc07-o8Iz3vcY-Erb^*L@k23?$a;EGlTJ$PW-hQgC#i`L)JyyB%7ox z)D$Lh{sZ*I?o;5KRgPa_U-$ux5{ Ic6S}t3pcG~zQH)a0^-)I}n!ky3_Nmx?2L`vP`T*Rf2q{_XFJ?{i zkkj%QSCQkQb)BgE*Oj;tOmS&atc`d>5N )o?pdxaJZkU&a;^c>lnBZ|< z?ur2)E7+JG_o%@OpE)Gk&Qv|OV&vChPQ{A C~NMir7?-wY{ zCz@bHk(Ka#?ex1esxul;@{^tHddGTOqo60e*Ng%E$hnY?;;%zouqpNPtDkYP%jgQ2 z^vM0rp}0s0%BuxTaTgw>l>xUgg`QtyPQTHdL)g Q{I-cK<7Uy;vunaUCR_m#!o<-5nVTre6jSFOa-X=$(%}bsQOs0l<(~=-*xT0rI z6L1hMzH~T@ZmC(ot2>Jvx3Xv)>yEbwBXxUWx3u9IbAcku;=JkI&i|i7ziZ52RhxX7 z;lm0Az76EmnI)nZJ{?4RD}Iy$1*kF`X9he~4-6 Jeodi5hXedt_^i zvWAUCu6Lq@eaz(#1&rn0)(4YRk?lScWn;Ydp~qb9-5_Nwk)oW&dG>+d&9%Sh%fU $GbN zC!EsLjLDUbAK6Rh(fVREfnDUTM^0|hB!xEFvWqgq_L=ejEdrJzsedqkhMC8C%Oprh z47&C!eX%K0vJnZ=q?l-DI`9qoP5d!>RJhJg0NEsS{J(^GcdKE0H@1 8DJi{7v26E{W9PS~Bb_%=1{)IG{1qT1g;3S!O5`obf?uG$Foy#LOPoY(4=|Sz~ z{bZhgipkbtS`l`6;oEV{O6{s; -#Lc z$5{kH&`RD{FN-STrC&{n8yz_+5O;woYyabd4pn}MRLqK}3t`hF=p 9)Kwwu#ezU0Z}^JvYJb3XzY)HQ?byjWA_c71@7>kJvIz?K+886QRT5w61Bgi*q*c zNW+XU$s`(M08ocSlVE|RyVE6PbUQ}!q!50BM%*`zb>{5NKll}*;@PPb Ij0?>=z9y-~*Pk;9iK(s0q8|A{ zhoKm228GO?5J}K>B=2?2I4uqdjeuMf5fN(Yef!C$yGro6g1X%ilM 4wwR%@DGGp#uo%a~p9f8c_;q#d=WC-Q-D-D!1C8gK1(lbMD0n z>^bdp#dfwvkyb)q KcxK}Gpxe?ACP2Z6VXMjWBiUzI0r$a&l&zXBVAApATvQU$dqEM#Da-rG z$|fjc!sbwtiVfivak2ODlwecbDU(Ey>J>Ymm_@obQ gRuv~-aIP6cM8<|AmUrTIA3VVK;m)-4WVksimF!O|N+2z`f6$0SPo}a&9Dn= vfn>XY^NLn4v;EsSl;v%orcmeSf{_(U*TVfcv61(#*x&2n25w3S*RqP zB3bntPw3m4ta?|5XI)qp!rJ58- h_}xO%G)q| z-B)pt8U^EU#Nvi>eh52{bgexvPnpF*(dJ)agdE0yf$Kzc= (Ibm_ISEp3B;U#@IV_^Oq`syeHnx zSX~BY!rWVr5)`u(v^%WOXN&rPS5E34^G@OA22;jw$ f>(()Ryvyx$($K%Rq$2kU$lyk@ z0I>!N^4GVv=)qsiy0GjOXvnx`^XpoI_?|bd%aeV6H}c0+2W+Y`bror4wBQ=Xti`Lv zx8RykdvP<4D~+o@b=mn#8MtZ>FoxTVB?R{b2+~6|nfif5l!C*-6=WIdEd3>(8Lnlz zpLfk#-`sE^hTXEy9TiNaY@TyicV}OoU(_TRE1E+B1cl3!juv_Q2|0%3J>psWLG39y z8J%;mqN&T@za&2P3irvMUk{{`{-@o tC na_?TJd%USQ&;UvRp>rzT!RLEPnjROJti}hQ_OyN(2WB zpi| 9zxidCGtqc!yPcFAP83TK1!b;3D2%b u^$NOhg&0# z&KAwHFG~4#_iMS4H$Q*B?{WV)gwn&AS4;jSC;?SAtto-;aY*UVK$jYApCW-G(U-N5~JVaJv0*RxrY%3WLbJ(Hw*bv3fp@sLvfNdlYCu_;78eR8lcwhySTCozH z;h7kQUeHM_mePbz4H1wv<1sL67Z?94+NHIX?(mU&?Yk!3L@ITWbNx;Ja@8DJm%^W# zESmbZON~|8UbKLu&}-}(T9gfz%yAAnu`GSgz !XD `DOiqRbQc&>Lcc6{fV=Dg+w7O+B0wNSkQahEy5L=Qr^#7Oy zRIACvwdbs0YjvBm7yH3YvK^aWQ7lpAmA?8bc`&mlT&&<|r5vyZmZTp`_Xg9}0b6W7 z4upGtt8pT61Iniq{wRY#MUG8-xWC4ENr#wt{vS O)DcvdEA>EC1cXvrk zj&ye;-Q6J|pp 9|zyXY@*{_~wU+eZngLdSFCik^vc9G-70!>(juUN|N@; zMrRKO=F?lbt@pn$(60?*?v&R p%WUvh-m zFi2i)ag&!`JnqPB&8LD<5IXkV84)JjZz4zo2BzZh&DOxXvBxc`ttS@-LhLwkzufH6 zpx@|}fV(tS b&Tk2oK6#9Un@>>P1?+Cf?=-d{W%s z5C)YK9|czEdP3!wh?wLM>=1LjYsaD&(;I6yFTVZ2-of8rm3D=mw9QXL>ISx9zrnbS z#_R!YOAe7#y@)psF5YG3m2#15jwAt}v7u!zAkuri{3C*b;7iju$Csz>Us-k3sQp}1 zVtT!9j|b=RF$nziKbjDOlfPLbqtCjDAS;3h#vB@B;A1E(9 5BhX?Hc6i$Gf_x2m% *1$$^%jUcrRe733Xr%oY(6evIO>E;>p{Iyc>t96mffiuEARH tLvf0A!Qgd1}-v}C}VsU5u*F_)Xv4zj0tVRwi zv-1h8-~zi}AVJ&~dFBy-xhs|FH(}AU_rB)R$YDENVIYJ&5%$e@7D+Wl^y4khUoFoH zi}l~+RqdKhn!TD{6;2hN74VucPxi+n#*KVWn%q&EVB1O(FG?=d{trYU7VRj{Q-$6z zivf1XDkT|Nuy*VS;pFp+->n-Rg4<9=8KPz*R|+ uqS<5qQJT@C>CA z(lAA(VaNlCb*%qE4N z3@V~F&OMPQT8{VTBh z(RTFdD2ZIIwR40Y$^t$Cp(GM14PGWAa;@h)5U2miZ1z>irwi`s*&m#7b7_p=YK~kx z-XCQ)B*{r4QJDSm1oMFK3{=UOy<+ivQAS5YnQ8gWoP*=T3s$W#8aU2seKTaSDBUrR zR}$DE;gaAA6)JP|NG^fer~X<_3!d+Hb`D-c+G!dT7fQ(lm1TmOGC@BwL6a3DUzAV* zaG5A8i>y4-Nb-sUE*)Ac6x^u&W|6&WS8>N)SbBe62TP4fN?ni!w|eOXeZSVaKo=Ix zmRhWpEF)kkp?sZSgqBj2rHqxdgh9tm42PL_q-Kw(lcWBj> cUdW4P|sUhu~E}-w0*(|;)8_4;hKq<0^s^mM>M{{X7nwNJ= z2r|fUb0=_eT6*x9ztL1v5fUdu r$0Q7=Z(rh!o;$Bz z@HbR=9m+ oJK+W_K*qhY1M@V$r~PH3RHQfFMiXpR{{>LVH3Kpb~um z8_(byLstB!IvWPhDR@L#Id+DAECkLR8YCg@;qWuPUuM#4 h=fc>94~Kex%WNS4FLHj-TQYJMqDPKtSUNquw>ESd#sV@!8Q>6~3PvE_fgW{6i+E z5vBx~yuO4F4j%pVJND3vigO0* HHK+(3}D(9WBOh;_{^2}pN;N7 z6gB+I@N|r0E1pV&XiZ4Sq?H*r+9?t0DUo8ZsOd*ywbwKe<5;+{ZwZ$^70$p7m1D!Z zn-jxw6aP2-#9s0Bn)`4zf)nxW_r`8Q{$J>Q1aFb$9U~iXg6bFw(R 2df^vQUz45sHV$>9*M kKCnQa0C**pvKYe0UcdNSp^>!N#XJ33d3HY<1H`eRiLxcG8&1(i(2E*@8cr>pf zW&))iDY4LJUn0zh5NfABSoV{|@QaC)nu){$G~n*JNJ%Y)u8IL@R(n0ohlCgWvvHfR z7CrbU7J=J(L_HA Ryc|V zK3(Yz^DZaA%aYQB`JtA32B)(Nd)=Fz5C}_Qhm61QCO7OOQORYs`FFSf9oC+9`Kk&4 z8yw8Jr_6+-;zBsWPTd|OD6ez}md+U4KroQV8KA(-_Y_~FGNv;AVE)X{`{E6!#ou@} zTWI{+=`rS`Y-ED5T@=PQnc=slYVb?*N{9(92(>v##nu-OBCAojb`ThhY{ULwnM0mH zemN~eMDsT#*VNa@P>gTlsd3zkz_#>jbuK5>L;gQ;?$PkFAgIF-ztiO?yP;`=feP2h zxq+SR_V$SMB971_fMM~9w(ymVp6pg?o=IVAz#Ba!a0a3-Iup >MHlhYdsa& z%VO|W;~LAiw{aZ%noD+_HRwIV1%d(6TMYie&E=hm+(r@g(NXlQcPs6H8)#$#Cf3i3 z@a(nL7?*A9WQ#?}sc*LHO8)qb?5d{dR;9nqL4>&hSAeRR2#54<|sxH|*rutGJC& z42G 2$!77VQ=y$vXgp#0t3mD6ut&t ze3p_EIZlkDUdH)-g+G#%#1>ogtA`JiqY7w}+*9*RNOS{NJ8Ve72Si=@^#b-1W(Yaf zD|8{+BpnzH$>Urh<0C;~M=!daH|5hF#Ft2pt5{VOZ}lka07lj<1vczE GY@NHT z`&Io)i4B9)&E?ItFRpE_*ro5llE37b-%%gxcJA*B-*1bssg!qDpOyJpA=(T`z0+U4 zOHY<7NG}3ImY>|;D@91L{Se=9_43`hw>%@cV+WS0G_Vtpr3c^yDK&2I6=2^xyMIC? z^sj_``FkE+I;n+s?&Xe2nzpb!XF!xV>cV&TF;^F}$L+DP{g+U}7Jmc3A5HJ1EVg8~ zG)sxO42i6uEEZhnZZo_~NUo#Hx8ztil!dql9R`&KJj7z_+)PzxH3JPw4lDrqm)=1R zHjo)*z3>oI7n-AfCDerh=XT2Nn)blf=+hpP>=*s3vf$V)Zm rq=}1)8%|R^J21_ zABGSFL!1sEfP7` mamr9Z4)EK&%%+8q6)8Zhi`$=)WT#oLXz0J2s(-TB znibYaNt!y=J-I(oxD#Etc0O>$_aFL?QFE8xB>PmBYz5}D;KsXr8g`SZ6AMFvvii=F zV}jhxX({TYenT*sS{Nmzag_?FOv=qXmweComSFbio|w40&p3`7zdAbkmn#sF66U!n z>vTs}r}?K(zI|)VK_w>k{wopDg;TqR0>t>I>$ljB)HGVi DIh;{wD%8Uw;`ge&c zlcI!uFYDiBs1Q99H09~*fb`|qTrGK!xmtHmHyBxcj)HSJAc&I1L_4r)gtY1R*k^^p zH==MPn!iNwn(tO2pQX%rfx)&!FA3y~GA&iAMOkMh8zS@+-%*;NMQ1XX`l%P??h)54 zz=49XB4Nv`=uFTX*Wj}URVyE)O CCxh_-==Z64Rts}ILG z4y9Rs#0I+2-s(NWs8uGo%UPzaOIW3U8%o1@gk0}O&9vvBR5BA-#hw}i=cdo#NqZr# z)3FW}*xK&u;mV^7{O?VQf442NYv7=ZFwK2 iQy@;pP4ODSmte85+n@ zcT?)cEk(2p q&sz$e6T_RsDcBO?4filSO11Ip4 zpHa5RdvBN|*$_0sZ#!yEP#k~a!8tEUeh#?r{;lNUgiG97mXa$y&^p7x`cN$J-hMX` zm|tV z#kUybiSSH0EGo3P?U3r)dJGGk&W+ebt!B9;)JW#cz#o?C|8PV7a@i^yV!=|8o8IbR zq@c<^QmtgvYB0l=^Ra7po^vq8F$&)iAVTLP5u8#s&6y;Jl!LM?rz?KfKzo-VH~el; zJ{uFOll`puqEhD-(ss)22-;sFg47uX%|b8T@Rf2#Wfih@H_mgX*cfRGG__} )U{>(;0 @Bah-!3#y?Q8Ye z;p?9iujb#j7EWC)_{}=01{$c@`X9}Q2pX!%m0?>icAD~h{*$I>lV{B4K4%nsEYmXO zQtBS99m5I&s;x&jxQ?X>F>(5-g@QjSm!S~C%bW+&bRGvTf02*{fWcO-Ev{2b6BJ8T zrBuFUWy`UP%5Qx1&iuRJ@L=fL5xdWSxL4d+=0_*OYw|?1ULaWiL`eQ)|I&4EXXWeT zTfZaw&poNC4&*H;J8>)fF9UM1U56GlhxutXt4p~qTa}iH^S$F+%sxln)`7wdITU=x zFMQ^VOG?n<)eyH*V5^$;M@C}koldvi)e3(uySi;c$qD|CI4$|~U4qH@cNiaQSIw_f z8jNH=1EeSI{I+134O5 &?z8JUJ5e3h1d}IX34mexE`Q80wrh `XQM&=(F5m=S>&HKzH4HP%o>cSkyLs@*BR> z&c&i)^6a9_`&L6JlL#dK^J`C3S+qV=_1Sa6;ZLYSuaYEa=_h87z?5% z*sb2oX|iXVcDcPyr<}wfk<-dPAp%dVg#Vp>sAcmKA sk_yDN(40n zNj5;;u-i@9s>IHh`xIkKz{I89mULQyTVHjK@g{qD>WXw*47RqKFBLF%l<;_Pm~c*8 z(91C0bkEHm+2N$fu95P7Rp!m~5izs8s5XVR1{D!2J*~7S=mH9oED7qk?qsg_*sR+f zhw~SEjU75X<=w0ePpC`ID?sw}EQ?H>7Vuv)8z>n`6Jgh=@|!BH+yo(C)@G}7vJy$= zOltJldFK*WCE5L{Hq~OV?HmS~#SheX9&t?0JZ$gTbCln8+j(cF$G&ywU*nhkxe3?z zVTmorAM2Q4@ ki2~klOEh|K$JM?ow_RQYlej#x(l5r2@#?S@Qyok8C!cnVgsyRJEwL`i zO9;HGY4gC3S&Sw29#gtFS#>DQmmx{#BbBgALPn=ADjL=xE>;}SwYQsJ-YL73IjYRz z%&eB2i?v~8ZY$J4bD$Goln4Fa+j@g$YkA_GGh_ExynF0|n%3nn@H}rLzNBs!w|O6V zgQ3D6wPn4K9VU+7Ea|$0e;EV8WD)r#NW5p<$3+9l#I^b~Gvu|ivUU-9b7L|dpWhLG zjvt;~kfuENEW}H)EO<(SNXqHBzE>=n!+UDUUItE%F8bC>H3W0>bHE(K5(9pzwtb)7 zq9B`r^GCljLi@HNQ`%B?EtPnZR+?26E|s~as5) R+MN|i)aG#q{1UW~3F-zop0 z^SL?Jq8e20KJ##a1e|{57ADC>-0GDtRwUOpAdYVW(x1^68T%^V$M3Idb;~z21 5VKvGu+;GX{Un97A}?MJdidD$9N1Q#}8xyvIbccn^WT*1bBaPPrd6PH58qC zw=B!h8m!o7hjA72(<|4amq+d!|Ij)Ur~x9?P9I+3k6%9`nAFG>*LJHO psE;cFqk=fMZ-kmSs;u+~xa|gx-bqZbugb XzcXc|vx#|mUVk3o`xoNu((kG?bleUJ7ly!Ugk2UG7)pP1`6? WOLe}fP~+Xc5drf02AL7nDuz4sHXQmYF{NMz2z~_ zop$BbcrT(%PJd?l6(paxSCtb1VR)vQB6KxAL{ zd$pIEcCaFKY3xo$!d-)IGDgI5$1+Nvl_-Z7TRBIe#OkwLcEeM6Z)LI#;9O?1TdIHE zV2**R;orKpsDAqmi YE@x__^oF;`Sw^(}2jl^QHupTBWLP@=5f{`J(-Iu6vwF-;nS4Dd@o+7r zys=+h68K6g+-4m4*M%13pIsUvT_)JodaD~*N^tg#Omp_kW=m*@*y5h#(!X96c=Iwo zOM_AJ_)RsMj$eUPYiy+<(-k2NR>H>D%Y~15ALAxr;IyYug`1J|VK2P>pD2v5U+_#b z9tqFzA;tX3Nkl|HP1@K5Ye@mUV?inS=LOx5x+k1?suE5s9*6gULdec>nMcTd$W@@r zBVz7Gs4UA=8Nvt{t}qz6(S5%pkY_*lxXjeLme~pR(V&UXh1}w6E0pB4Hx%|gH_%f2 zu= 8 z6keBd4NX)p^8hQT5US}==)HPw5h$uq8|qd4!}}{CgfbD7wfsQ@r4F*ZzpvmbONb>D zWQ(au@K(2}SAs(XV k^CjuuR&IHk}P-W?8PYt4F<(0273{W6Dv?)9bv5InzsqPvzfI z+s~xuf>y#qCc4Qx7yibsN2~L7u%IHxXs_Aoj5aoM#o?}$%4c2FY?okk?2^}OQtA8S z`hX><{&qo=^M!_{aj$9TQ$eAhS%~+?K0Np-2y*-=A&2QlM)#EK8pvc zzl4B$b9gxH5b$GHDF0XVqL>^8rT{bUwX#R8q|SAe$O>*vg%0&f4~$18nUz15;v*Q> zjE-$&P8cHni4%N;jQ*%Z9Ro5gV>`6AHAzgHjzsh-h7t}R6K!%qw)$scc&b_F0=Mm6 z7nJza+d44#PIW74#4APgDI9M5A+2<{n!2NC6YF9Z?^u#)!=C8aRQH^L@N|6plDmGy zfVh!*?5XNv#N>+ib@H7{I;i-O_atc=aF(v* (@R;LrF_k{g#%{Ar zEy=esQG9eL%*x7ddhC{@DtTd#^~w?uq>Wkht`ZVYxo7djcoXp+R4yyG;?wk2zD*sX zXBy70j2l!UR%@-|*{<;_j>>$JixODMy(g?|vTyM@Sra2UW)=AP4;|D8jWK{iQNcc3 zJ=?<-Ocpu-nXNoVrdN7#Aw+owy#Hr0SDfG|?y_yGH?v+#CevtBplqHMy1xac{Z=2O zE>0^5yH=q{&^2!h!}3wMb&;*P<@n{zjWO50syF*$OO0Wli_6d| qeB|qp(LxBoU-8 zB4?;3Am({@FVZ_KkbfOmEx0(H{KUFti!3DamZ3Ivg%e_)H<+-BZ5WiC=aEG#0uiPB z-`q@FU9Op|BGYALb(aP!yo&v`4UbFPhpciU!QpFR cWT`Ts>X)5KUwF4MSW9M4FMi?r zc6go36b4z6S;=m0SHr^l9aXqZ44^D`oqq15hQ7DC6nJpikS3WwGieSCjEsq$S|kU9 zE`_@_S5@k(o2VZ-oH!i78bpdrF{y`pLSt?<`n2k|VXsfGzd_eDz3@^`^WU%^N@Ujl z(|r|FcOU Rcze_;Ov%33g}-F@9f37XTZe2>p-O}b$%kL;|k9=0+xXkF{!8$ zSJ(k!^1orTsm%?h*zWn0e*|iPjfou9_ P&_dBJL)=Zkvr$H1Y+7 )1 ^DaFa~^i=p`eTue`#g@x81PSq=bqUd-y<1Y1Cz+%Jb* zRAl)2H?N)w+PWPV^Yt O$XdE;ZYOOcXgOXAMUc8on7#e{onyy2R|LuCj}NBO zQRZ!?;&Kl;z3p*F^#WMda??v;a;kiFl}G4vIcBZSJHyb3sT?G{q_85ein$)uLKDX+ z&5Mf8>h&M5RA_)WMlHB_4xJ)=yZX=9RG;RJNbVX@IhIB5(7r{Oz7VxgJ&3H@-_Gu% zF5O4v12nS+^hA+L4DpXsHaPlP4P^u;F^Eyq#cLuR3K!4u?Ra~nXl53%_ieq^DGS6J zuC9Gsr8g>=4FgrJo}9eNRTg#pY7m%4SQyH3v+=a-M(=^I&dgFy8H-FmC;mPziz+~2 z)w!CHYx#NU0x}y0>3m`oM=*nJJ!K9t!XsEr>AZtv 9kJ6C;%a82R_5My_Sr+pousLs{a)cHX*d!8$hK#0#7o$UH*EpK$Hi zUXCWg=ga^|Yet9~g${3iz7oPLdK|1CLQbO!#$}o@y1kWdIlvz #C*-b9B9Gf9OUGRTzYIFwm9Lc_f2TZO!S`l|o~SKR5r@SG9h>5FVjMuiSYpEO&f zhN`5ze+i6|_aG+rO)EZVZIXmmSh-5(&-D=bRYTD;(gm!K`SX4{_*>eiPu*-Ut%(a4 z`g1>suNnH(c&ilL34h;Ug4A~JIEepP{8ZO`t)_EhWPWg*o9p06U}x44>S<(n_yu(y zVoe5AG+j^XppI% r_7(wZ`~Z$A @sU8oh4etlckT+?KJAyTQSE?5NmZvY~eQv`-f`Hm9 zuc9sypEboKnM59_FGL5lHloyO8P}Z5|MU* 3XzMd;rPi>Sd;abP#$ z$MYYxWR^Poy7Iw9QooW$t%bm(omi{L-DGlQ-?*AJm@94Sm>fb^8qQVtsD&vt8Bs0M zG((@#!`7Zo1tXvFb#wkLD(;5kf9O(!pi#Lp9&AXb)448P6UB$2@L(6_%Lf3mBrqff(RXs1DTF^2J`Uk9 tq5L3 zeM;G{BxsZ06w-Z`x8`f|4XnBhHrCzg@x$$7_}%2Ap~wt>q9LJnrEvN*&_a$Oq?#`{ z?N3A-3+sQ1nda3BNGaO(K*uYvsytT0PJ_w?*YYHt{)nyRN`p(M7-aDje+U>Wsz38s zc;Ke4!Kpkcc&o2a*bDr+SU|R9oEdA)+ImNHC#SCiab)!h5)YTZLo(ArMM;~s4L-V` z8ee+T46NDEs#@*t*;TItul62jx+|=n_@}Gk=N@2U%qX5FD(6}oV$!Y6U#@#qhTdkF zRqOxq&!<)`Ny>|YS?8U Ze6=& z$8d7C9c$L*#GjrShZZzX5s3hH=-P?+2V(CLr?v{>Pn`B96EH2lowcv)wt$U$-D?#G z-Qsd@1a5XJzv`8AVCn1FK^1D-1Bp`&HaNnZlwXuy+ENxw$FNzUeZNRs8xt%_?xBv5 z^ Yzh*cHTe5|DJHQ~=Pqx#jU_7VEAB8Z4nqO^RQ=0cTAR|7OpG{j2c$DKp~k#1 zObgKCLlVxKfhbRGS?3!H$#xy0_H$>j>T-3#m~>>R6 x8dig%=fBBHg?v7n78Jj-Y2B=9OyjA|R~@gm?@6gtc0C2rr-9B^0}jq= 7|Z99?DK#0UEMVPXP?_MzFY(7gc@%4kCR+(MlY8bUzga##Tgl3cURGm1l8ipk+ z7LGd5D}yQJKvh7}uJo--gT)ix0dhGn`+pZiIs(i2%7x^h98t5XiMT!nRpt?diD^y8 z4pBHj@OCjTVMp#IxPyr0Bv}LE#)u9gGgrYu0_=?MzCm$YG;P*6%d$SNaaI%dzFz%3 zehwwn7Lr{|P;aX#TS3o!KC%@90qRw9($TBak# MuAJBK6%I`64!BzEFgy9aY9a3uI2vJICQz z&C-nCpeCw^I#7z3zTnc3FYM0Q3ji3V{ppq~qA}JQqczpH<0FJ&WV9uS8|WOS23&LE zI|1XP%z25TzG_4`@ iR$O|K-@xi|K} zJ7{5?_)S2}M5Tleqr0d#kZ~>dF$OUOHp-(JLs=e-o2?~4Va=@=eDpZ=S+3;(qU44d z4^tK>xk}4TT-tjurdtHxj?8}6z^#0EW0kLts#OS+=@n)l*xWku9|?FfUn#LHnc>z; zeNYD32}L@W7A)ZAQ4BtR>^hJj58e%!SU9Ne%SkL0)tZ86#Ge9)3owbLuYG(O+!u`A z;{g~;2O&54wYmZYMVA}}eSsqZeDBUMn>X&{=wXZ|B{ keEF*@Sa2M~P=M(V@m=*%nnL;>Upx`=zFP7m!2P}`NK_*q; FAGt7Ufu_H( *l_n`~FQoO~w4lzgBQI{TqF*)2;Gd*Mxxl0h8 z;#6E4^d%#rb^=$vXfYpc(PF93 dXcP0|H-%@y9O<$j`KMG*Rz}jrzF$M4AJZ!d*jFxp4_FmTuViv&K zd;;y*;%*0__h*48QZ4U#uYs?alNb!>O%Y%~(XWTXbJxV+*%sifKB~%6Cf;&A_NIm2 zOI%lJ9;)CRY@>U$n8V|*s#LfNu0JgsOfwt#t1dkTNx`f92%=$5D14MOGw;)CFwddb zod$V$If0bA6uYRrcJ1%$$wvniKf%{k+ffGV4AH8AUyeuNb2 !QsH&A7RR@%-)!Ofl4uZPa%p=X2MdgNYb)FzH+Fs@OA0~$TfOR%oKrw>+} z)^P$&c8J4 Der#3+E51 zd#z9y_a6EvHldtE&k(9nY1U;C3(sVr%=;PHGff430kB*Vec>(t$_p%DRFl$zTP;pJ z%#$Q(fq8v(J|m8j&6rzXJP~oj+uBfcg8ne)grpPe=yI%eUZ45q=<5_p#f+TF5SwBJ z@i2d$B%PW}DASt3N$~xghK1XlY%K{oCBhv~9OPJ=W43v= zoP~jzI&&OndRuWQk3MwUlMCsaEUQ{bzZ$yLoB2kMlI Q}JH{}}HLWtl358V%JzawEIIF{($ScF=WxT$NduO{rb>vjl2uD;1&kYMK zYR4 @v<7_}aO=tT-u zALdBT8*Nx)riTTUK(2AH1EoYcb$JxtL~yma4f^23ZRkoJz75|*5mFQJa73O;zM4P3 zy-U-_UyUBjQWIL0;=EWY7rCO!6