From faf659908ac3096eb3e375ab64f8fd70bff154ec Mon Sep 17 00:00:00 2001 From: Dillan Laughlin Date: Mon, 6 Jul 2026 09:05:52 -0500 Subject: [PATCH 01/10] Add Image widget backed by the standalone sk-image plugin Port the Image display widget, the shared-library picker in widget config, and the Settings -> Media image-cache card onto the current master. Image storage, processing, and caching now live in the standalone SK Image Signal K plugin (available in the app store); the widget talks to its REST API through ImageAssetService. Declare sk-image in signalk.recommends so the Signal K App Store offers to install it when KIP is installed or updated. Registered the widget with a lazy component loader to match the current widget.service structure. --- .gitignore | 3 + CHANGELOG.md | 3 + e2e/image-screenshots/.gitignore | 1 + e2e/image-screenshots/Dockerfile | 10 + e2e/image-screenshots/README.md | 37 +++ e2e/image-screenshots/docker-compose.yml | 10 + e2e/image-screenshots/run.sh | 22 ++ .../sample-images/dc-electrical-panel.png | Bin 0 -> 164880 bytes .../sample-images/dc-electrical-panel.svg | 33 +++ .../sample-images/safety-equipment-plan.png | Bin 0 -> 157145 bytes .../sample-images/safety-equipment-plan.svg | 21 ++ .../seacock-through-hull-plan.png | Bin 0 -> 138506 bytes .../seacock-through-hull-plan.svg | 23 ++ e2e/image-screenshots/seed.sh | 18 ++ .../signalk-config/package.json | 1 + .../plugin-config-data/kip.json | 1 + .../signalk-config/settings.json | 5 + package.json | 5 +- .../options/media/media.component.html | 35 +++ .../options/media/media.component.scss | 36 +++ .../options/media/media.component.spec.ts | 87 ++++++ .../options/media/media.component.ts | 88 ++++++ .../options/tabs/tabs.component.html | 3 + .../components/options/tabs/tabs.component.ts | 2 + src/app/core/interfaces/widgets-interface.ts | 9 + .../core/services/image-asset.service.spec.ts | 92 +++++++ src/app/core/services/image-asset.service.ts | 113 ++++++++ src/app/core/services/widget.service.ts | 14 + .../core/utils/kip-plugin-url.util.spec.ts | 55 ++++ src/app/core/utils/kip-plugin-url.util.ts | 57 ++++ .../image-source-setup.component.html | 121 +++++++++ .../image-source-setup.component.scss | 226 ++++++++++++++++ .../image-source-setup.component.spec.ts | 204 ++++++++++++++ .../image-source-setup.component.ts | 253 ++++++++++++++++++ .../root-modal-widget-config.component.html | 2 + .../root-modal-widget-config.component.ts | 3 +- .../widget-image/widget-image.component.html | 12 + .../widget-image/widget-image.component.scss | 28 ++ .../widget-image.component.spec.ts | 69 +++++ .../widget-image/widget-image.component.ts | 52 ++++ src/assets/help-docs/image-widget.md | 49 ++++ src/assets/help-docs/img/image-widget-add.png | Bin 0 -> 104719 bytes .../help-docs/img/image-widget-cache.png | Bin 0 -> 39247 bytes .../help-docs/img/image-widget-options.png | Bin 0 -> 96615 bytes src/assets/help-docs/menu.json | 4 + src/assets/svg/icons.svg | 3 + 46 files changed, 1807 insertions(+), 3 deletions(-) create mode 100644 e2e/image-screenshots/.gitignore create mode 100644 e2e/image-screenshots/Dockerfile create mode 100644 e2e/image-screenshots/README.md create mode 100644 e2e/image-screenshots/docker-compose.yml create mode 100755 e2e/image-screenshots/run.sh create mode 100644 e2e/image-screenshots/sample-images/dc-electrical-panel.png create mode 100644 e2e/image-screenshots/sample-images/dc-electrical-panel.svg create mode 100644 e2e/image-screenshots/sample-images/safety-equipment-plan.png create mode 100644 e2e/image-screenshots/sample-images/safety-equipment-plan.svg create mode 100644 e2e/image-screenshots/sample-images/seacock-through-hull-plan.png create mode 100644 e2e/image-screenshots/sample-images/seacock-through-hull-plan.svg create mode 100755 e2e/image-screenshots/seed.sh create mode 100644 e2e/image-screenshots/signalk-config/package.json create mode 100644 e2e/image-screenshots/signalk-config/plugin-config-data/kip.json create mode 100644 e2e/image-screenshots/signalk-config/settings.json create mode 100644 src/app/core/components/options/media/media.component.html create mode 100644 src/app/core/components/options/media/media.component.scss create mode 100644 src/app/core/components/options/media/media.component.spec.ts create mode 100644 src/app/core/components/options/media/media.component.ts create mode 100644 src/app/core/services/image-asset.service.spec.ts create mode 100644 src/app/core/services/image-asset.service.ts create mode 100644 src/app/core/utils/kip-plugin-url.util.spec.ts create mode 100644 src/app/core/utils/kip-plugin-url.util.ts create mode 100644 src/app/widget-config/image-source-setup/image-source-setup.component.html create mode 100644 src/app/widget-config/image-source-setup/image-source-setup.component.scss create mode 100644 src/app/widget-config/image-source-setup/image-source-setup.component.spec.ts create mode 100644 src/app/widget-config/image-source-setup/image-source-setup.component.ts create mode 100644 src/app/widgets/widget-image/widget-image.component.html create mode 100644 src/app/widgets/widget-image/widget-image.component.scss create mode 100644 src/app/widgets/widget-image/widget-image.component.spec.ts create mode 100644 src/app/widgets/widget-image/widget-image.component.ts create mode 100644 src/assets/help-docs/image-widget.md create mode 100644 src/assets/help-docs/img/image-widget-add.png create mode 100644 src/assets/help-docs/img/image-widget-cache.png create mode 100644 src/assets/help-docs/img/image-widget-options.png diff --git a/.gitignore b/.gitignore index e1e4f519e..ac5c54dd4 100644 --- a/.gitignore +++ b/.gitignore @@ -47,6 +47,9 @@ yarn-error.log /e2e/*.js /e2e/*.map +# Playwright MCP working dir +.playwright-mcp/ + # System Files .DS_Store Thumbs.db diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f21d2b42..8d4efd789 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# v4.9.0 +## New Features +* Image Widget: Display a picture from a shared, boat-wide library on your dashboards — a safety-equipment diagram, electrical panel layout, or boat plan. Upload JPG, PNG, WebP, GIF (including animated), HEIC/HEIF, or SVG (up to 10 MB) directly from the KIP UI; images are stored on the Signal K server and shared across all displays. Pictures scale to fit or fill their widget while preserving aspect ratio, over a solid or transparent background. Uploaded content is validated, raster images are re-encoded to WebP and SVGs are sanitized for safety, and resized copies are generated on demand and cached on disk. A new **Image Cache** card in Settings shows the on-disk cache size and lets you purge generated copies. Uploading requires logging in to the Signal K server. # v4.8.3 ## Fixes * Radar widget would not confirm targets. Add missing sk-ais-status-plugin dependency. diff --git a/e2e/image-screenshots/.gitignore b/e2e/image-screenshots/.gitignore new file mode 100644 index 000000000..6e6ec5daa --- /dev/null +++ b/e2e/image-screenshots/.gitignore @@ -0,0 +1 @@ +kip.tgz diff --git a/e2e/image-screenshots/Dockerfile b/e2e/image-screenshots/Dockerfile new file mode 100644 index 000000000..62a86cd8c --- /dev/null +++ b/e2e/image-screenshots/Dockerfile @@ -0,0 +1,10 @@ +# Reproducible Signal K harness for capturing KIP image-widget screenshots. +# Bakes the (integrated) KIP plugin + webapp and a security-OFF config into the image so the +# image library, thumbnails and on-disk cache all work without a login. No VOLUME on the official +# image's config dir, so the bake survives at runtime. +FROM signalk/signalk-server:latest +USER node +COPY --chown=node:node signalk-config/ /home/node/.signalk/ +COPY --chown=node:node kip.tgz /tmp/kip.tgz +# Installs @mxtommy/kip (webapp + plugin) and its native deps (sharp) for THIS platform/arch. +RUN cd /home/node/.signalk && npm install --no-audit --no-fund --omit=dev /tmp/kip.tgz && rm /tmp/kip.tgz diff --git a/e2e/image-screenshots/README.md b/e2e/image-screenshots/README.md new file mode 100644 index 000000000..3ae62870e --- /dev/null +++ b/e2e/image-screenshots/README.md @@ -0,0 +1,37 @@ +# KIP image-widget screenshot harness + +Reproducible, **open** (no-login) Signal K + KIP stack with the `kip` image plugin, seeded with +realistic marine diagrams, for capturing the Image widget help screenshots. + +## Why it exists +The image widget is split across three PRs/branches: +`feat/image-assets-server` (1080, the plugin), `feat/image-assets-client` (1081), +`feat/image-assets-config-ui` (1082, the webapp/config UI). No single branch runs end to end, so this +harness builds the **integrated** package and runs it in a throwaway container. + +## Build the package (kip.tgz) +From a clone of KIP, integrate the server branch with the UI branch and pack: +``` +git checkout feat/image-assets-config-ui +git checkout -b tmp/image-harness +git merge --no-ff feat/image-assets-server +npm install && npm run build:all # build:plugin + build:prod +npm pack # -> mxtommy-kip-.tgz +cp mxtommy-kip-*.tgz /kip.tgz +``` +`npm pack` ships `plugin/**` + `public/**`; the Dockerfile's `npm install` then resolves native deps +(`sharp`) for the container's platform. + +## Run +``` +./run.sh # build image, start on :3015, seed sample images + warm the cache +./run.sh --down # stop + remove +``` +- KIP webapp: http://localhost:3015/@mxtommy/kip +- Image cache: http://localhost:3015/plugins/kip/images/cache + +Security is OFF (open) so the gallery, thumbnails and cache work without a login. Do not expose it. + +## Updating screenshots as the UI evolves +Rebuild `kip.tgz` (above) and `./run.sh` again, then re-capture. Sample images live in +`sample-images/` (SVG diagrams + PNG rasters; the PNGs populate the raster cache). diff --git a/e2e/image-screenshots/docker-compose.yml b/e2e/image-screenshots/docker-compose.yml new file mode 100644 index 000000000..8c0cf3854 --- /dev/null +++ b/e2e/image-screenshots/docker-compose.yml @@ -0,0 +1,10 @@ +name: kip-image-shots +services: + kip: + build: . + container_name: kip-image-shots + # The base image's startup forces --securityenabled; run signalk-server directly for an OPEN + # local server (do not expose this). With no `security` in settings.json, the server is open. + entrypoint: ['node', '/home/node/signalk/node_modules/signalk-server/bin/signalk-server'] + ports: + - '3015:3000' diff --git a/e2e/image-screenshots/run.sh b/e2e/image-screenshots/run.sh new file mode 100755 index 000000000..68f214061 --- /dev/null +++ b/e2e/image-screenshots/run.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# Brings up the KIP image-widget screenshot harness and seeds it. +# Prereq: kip.tgz built from the INTEGRATED image feature (see README) sitting next to this script. +# ./run.sh build + start + seed +# ./run.sh --down stop and remove +set -euo pipefail +cd "$(dirname "$0")" +if [[ "${1:-}" == "--down" ]]; then docker compose down -v; exit 0; fi +[[ -f kip.tgz ]] || { echo "!! kip.tgz missing — see README to build it from the integrated branches."; exit 1; } +echo "==> Building + starting (open Signal K on :3015 with KIP + the kip image plugin)" +docker compose up -d --build +echo "==> Waiting for Signal K" +for i in $(seq 1 60); do curl -fsS http://localhost:3015/signalk >/dev/null 2>&1 && break; sleep 2; done +echo "==> Seeding sample images" +./seed.sh +cat <&Jcy#oH=)L z3h-h8UT4k_rx5>pgv2A|?Em_F@?|npXuz2>(r4tKKGyOeT0x)xdR2QUbiMJ+r(lKd z$7I9`f)rm}jA=VZg?#1%5L`iD-KgxE6G4sf1DrubSD#+GsP*B_y-#=KsV50^gL(rX zwo!Py8g<| z`i`)GGsG8ep7Qo0=M2#Vx5O)Z;nTmrDIE~&a>~#C9!jeQ5plJ?*VKsp>0^@)IK#K_ zmmj|QA%pmwN9k65@#v`o0|rZE-2JzQx~WKVVa;kO(4zFxX+i;x5mzUk{mYG|zmQ*? z>gqq+V#RujL{6l1&O`M4snV7{6Ua?_vpyl?d}NpGU&L}@&6)Z%QJ);s=adc*QKY$% z5b+nWT%4M_@s}q$SE3bg#_NpYI-{IUea=Ey-ogb>$K%?;ilScVnz{g85QFY3gL#a z-_DJJJI|3D;wA>j0i%gtQBSwxK_QIK=7F*bweyVAQ!Xc;Cb5gsH)n{sbPsJ5W4YmP zDCS3#J7O(;yxV_}YQ03&4m6h(-HIC_wVdP3MrGT$@L7mlLDh?$Zpv@E5m|0^CvAq) zt!Tp?JsswR>kX?`zYLWig>_&Cunn)3QO8r=Pl>T9vOPxFrCG}mu@{v;8Jo5uT}iPv zKR2h}F@(~qA&q$VtLf2S#6U`Ntuw(+AWPNF&08e8p@6GWnNwHDqkJUo9Sk!P$53_G zU9$MaslUsAJLR>?cIo!OY#7|CYx%vs44aMtnBOB$Cl8D*$C#6Eu-RgU3SgFsv18=A zMV?)`+HeTg09szVVc5j_@!HI(0=-8cNDeOc^rS6to@<9cL+0wFdr{@-SHZP&wM3`M zX~zjp{pSqlY`4CI>hKa*lP^P7`i0D1=}N5ee3k0?!e?l}94U@}dz#yk)*&Cv*G4TP z9Y3sb_>y?Ct6taT<@a=vtj~+DLb)wn^Q<2(Ftn~a7H;{%tDhLdF35PQ`;zv&nhmIh zkp1|eS*Y%sr|?_ z_kOqjMyTl=Eo0~QmjR-QF}HF-T3z7kru%jWJ(-lo45#Cj7s&x9mp+RDY1^wk_+bPV zWt=KdOAUhA(=w;(YWeTv)5D!uL0NMfZC$muPH~pAwE^Zn@3x;=Zg9$G>zNh86RFm~ zAZVa=fez1V1xKz_=oC1S;_Rt&)T%>7;z_$n;cZ~@;7Jp?3vA9lpj>@mKD9-ODfbQ2 zVs9AzsS^O;f?FwHlg<6jcsO;g3p>E6I@-=SM#RJN4PeVoEl(sCa`yPCPIvmws?x<$ zO=m0;%-_7DpEp0bP^*1AXn)gr{d$S&>DpbSf0L8+I;}t_q#}`WZKzOFWVIsSuw1xA zq^2T_{uH77hAtdMKBF4CX>JbV@X#j88MgKxM51(41$sH307JmKs>W@I5CmU8T{6-) zchCJW4}3?@3HfTrvp`&J26K1o)pksSN7tktIKPOKbK4^wne4_7j<>y zUFWPbYdq+krhNK8UE@EfEO7kt+jk_gP1L2HI2Yb}!_+5ldS{9sxZXSa7xOiIF3mhp zy|~eS;y96F&1$p36m|NUX9Bg(U0BOZYbrZ^)&ivIFW;;;4521X2s&-y0LQ-H2H+(v zPv)~zhfZ{^{R4pZ`CadiTs_rt0alw90M0otAMl(muA6Ehz!1Nr1~+7$K4oW!b1qz* zQhpY0^S5W@zat$`PRT?mOmezDUwr-yK)IX-O5uNb#^_tX5G@x?i#Yx!CQbmqYxbEN z{N))_D9J8P@yMJHR(|{!F=<=^ApW~+1E=fR8Dh)lz!2%huG^FUMNA*w0dm$V`+Ds! z&v;J;7-C0ngQ@1Jb_9qr{@@Z^)gh z5HI^~Cy2S(j<0>I@iH)evv(NU_L;rX#ny9t3pg*jjm4k4ghTTeRY$NqKfVH~V>l{| zvj5!qeWH#9GYoa{rx~hBhE3!hg)Bb;m0BrlbeN{4k(J?kCzb~buZWaJHi}I8Fp4A+ z{ZZg(?GuIGZY=`+{{PwKZ2i(qkULsR8Cr}@a-V>0V}@I(RrV^)8bct5WGyIW?-gc- zM+2P)#FBPH+}_jsbSs-Zbr(Pr^6W`3K%gnne8T=hGGx4%P%UjTviG#{V0Cnu7qR%G zRsLXCe1hWgQn)R9UeSI`xA~cn2F2D^!bP{;>+KqkZv=f9KyozI6h{?$lA!9j!5|js> zMYE&r@u5g#n@6?<`Ctyzo8L#IFB21@a4Zbt%H~7Fp9c#;C>4qAtEl4u zf=n=DLm2Hvjm#k_kg4a&h~r8io@I^SJ9yyz^#`~4>+|wEjCoyN&9tlDM% zIKUyJPH!4#4=frO-COPZJ1s2!Wq6Pp4*1L2&&F}3)a2NY_o0WqLR^!9ehjDf%3Ic` zqF@@)kq}A#!3mF|+EL!oLOm90zcz!$Eqs(? zvWel+g`a2k>9u!IkJUkJ0?P^Js;d`drx}6|JkR_x>l@_Vk`Mj>Q+&5V_!`J4a13TQ zDv4j2A>7OM3$N-c^3raTj8GeQu=4xIbl&p~+_Uag@MqLx{bT8DF7>i5hcZE47RP4T z!!S^mMUu0P{KJq((+T@;S*tCQJ|YwD|eZze!c5Z z7LvD#yQIcOfE`yfqfIN(V{nJhaS^5kHkU@gRam8rr~liN04_%@c=z{{>2vhL>~#4m z3==z5{9D}JVGtUzMd@RUk0vp`o;#w}v|pvvWgWD4FYI-TR-ng2}tM9}r0cUe3f#33-aOKxqch+Sspbb>_+krC8%i+? z{w@|?wbie<651y96mq%TexKj4z|Faet2+jNM&n8hzKKh5EjtF`t1|j2wwIBm%@K@rh{eyUl5MW6QU8gG z0F=SEKy@dVu=Etk&g2;Tel!{_Gc zb)d!|Q*nyUubDLElaSD7ByCzK9XCjn)b!r#z<06{45NN{tes;WL1j@VXLU8sI*DGa znw zh=YEeLL++7+V67NM^NI)tYk=t#8z)3nXda_pPU@2$*vod%iZM*%bPt?107o5~_5 ziX3aospxT*$5xgguGu0XsurKbwCw)<&JlRYDsAWP3aQ=Tk-&}LD>BfC_GYk%ZWK5E z#I4O{OJ}K|^anDP6<^>Gm52~^tY&NhBa%%i@wyNv?*)mYs`Uxh9WP3e{B3k;l<(ns zi&^?cD961|*+=GSH=U23C`?BX*Btv|>x|n-Ex(1pGL;kbL}G;qT_cXaWLey{)SVg+ zi8^BW%EfVex*CBiy2hSJxJ!dK@)ng{dt#vm>>b@jYDSazMoGe!W}aqwBxp+PfWnUa z)5@HJPBmc&<&^FXpgZx^GK=xG6LzGuN0LtD(L?FD08WwqOgFncTuD5mV75t${my;fwJZBO=k53vptW zxl4{s3zEi;eGX!ajSi96bmJ+gQhz z!!GZ-EYy59Osb}21qIezlZ|OsP8LQ__#gZFm%N6OXWKG) zuU2LOIy8t+m^$A)3^l=7rsf{D4x9L6_m_6X;~?2CFR%SdvG+`(uyq(KgA-rfKkO4v-kz1ww~M0o?Gy+nHx&ktx5jvVy-_*JKNL}tgpOz| zD4%F2*fZ^V*SL;qBuF{dMmX)T%0-sN30TSUsvVgsEQ#ob0(|g@#K3ZI}@J= z{moG<$?a)zf1;ML(q}BkZLNc zg(~us8N5e#l}qo68{q7A!VFs;B%I|d7T}ypKeJk5*+)cexi4#(!sFKPNUG>k)ryj@ z&NVE6jXpTiS22MQu3;2woG(A$`v9$X;?LkdbgS8KP9Pz!25?9z*%h|2r*w(Qi^efn zL!J1ba=EH0h!&HI=Nl3aRdK8q3XX<5RXx}(ulz`4Y$?F(Jzfl1Obxx$8KlV`5Rogy zAA?j2cm{*I8JYNQ!z#96ZbV2{qoRr;Nb9Z8t6yh>X(U@|)>dbNG~}4+{WYh&b?x+F zilO5kGJ(=DL668Mm}X0gwY~R?WJC&%KPmE3cU{zd#eqBn4eA~~nqm0tZ$H4geW1>S zJ!;u4_n*Y$o?uLqJ?G<$Ux`8V2hfwLPl=34_Isi#h}4jlSMfx~4vzdSw|1Ia^5aU$ z&w216_R@OmM94|6U7JEWEe+Qtmot$!zY(&0%e7X4TCMVwvQG32soB`z%48HcNcfhG zT@GqCd%R)U@uhMSM^@Op8wYtSUT$GmhQTce^S&%dK07{{dBupHE=K8|osa|VqK;Y_ zaB?ao`L9r+%DmSfzp3=@Uq)_u7qAdkU6;q(RNO3YMGGCaHp;Lb*9yB6p^7#YL`1Jn zAtytRtJZ>gv-lWC zoYZo(^LY8pO2c`U4dQ*X0RhT?EFzE$O|X-TCY*%+?K$<1yrrrzz3tXxAl#wPO_{Py z%Zx`HkO`A`#GteJM%4@4Fgoh#D+@WAGtE>k^ayo8hRgsI+k||-r)2f>U5uK)5?5_5^r%|yXe8+@!<1np<<9NRA5pHfhqD;4R(xEG3t)occUIdxG`28mUK{16}9kU1_xA%j|lh{YHC7$ zyC-pi0mNkuJxl4OAJ>aN54r} zfORba_lWQM?2cIb+=o?oLk-~M%z5L|dYV=vsi92QgxeW+HhTtsH7mP})(ec!G^iJ- zPA;A)3}WH5xrl66@C+HjDrz;S0T5w7YV=?;huK*RKcC>pTH28|-?wJ{&9Av5m%F0@ z;;*R{YZj4hIxGnZhoZxxQl!wSn%I+7zRYxV-2|M3E zt87Sp3Db?ar556#MM2@m<)Ujz|8C%ge|5)G)eMeciP0(WtIE)-%eTTJi^ZSE`|UOmGFt#Ng5pPFzom;} z^~k+J)>JcWl+@9E!fTjWVTg?u3h*=4V)?h}>^y)79+1;l-yji|ayMluft?>d)i znP>!JOzoDK&qmsgUQCG?+j$YHnjp+$#s+aZTiyO)wU4#-$nF(h%UyT0|BaADP_lv* z$gG2_+rt4DTll%5q(2%~=+!V+00JT)j`Keo-)m8L0rC4gZ7+8FO7%vs?d2upN(2Mo z@XOH<#;V0%6jutJYxBgJ>^Uo)zf*v-(y<6TkFE_@Zt)6AOAa}t;c$h^_-EoK8!yiJ z4KCiz<$OA8(at|aptL?+%2OGAsVDXIo&i)EQdU=bPNc{8=9_qK>06N!f3BW7wDIUU~Yd+X}7_tg5tUDk-ou9GkzS9lU`t%fRWCd4d5s4*~g2f z1{zsj#Vv_x9xSFu)hKIx(B6KCEF<_a**Qv2`7f(=;YMu3^0Xy-+&*ZH@4Ug|)%4Iq zzY1kwpzXnWBVG72rsr53zndY>{L~9%TBsq3c~?Msa)Iibd70~&W8cR4u4HR0 zDkr$8rh4X@Pz`Z{S9@An0{`3Xs{V2GeXV)0zx&M7#dj zF%ZrUu{?pCFtGPbi0ckF!X>cGFg^teip*=4qVaM>NdUWWec#f62tjA!!{NM6uCe^! zkQdeBKJq>8U5&mp-rG*pi?3ZNZ9#sATf9=N>cKFL$m|4aLy!mcq`3ja;6;D6KI-|*Kw$FD9ESn*+-GH(bN0QjE=LDu5XPV zcV2KS6Edww&JUX$Tdjx`UMb$iHiR<2<)%o{IC~cjKwcJ3#8Q*6%aK2U z5W7xkhX{0TYl>|~eqxdIsX#kpx;{QOMpml`)#sJS(j84c6GkD$cN4zBEBh_onHm}-cw=_RF{Q4P| zx!nv$=INjSFl*Jm7}Z{(BVAK=wz?Rl&yehm9pN&w39&1z9h$w4y81Fvz#6XWBEo%E zlfD%Qyi^rh^aA~3aA6WsbbQA4G!lCsKrUFJ;)H46Li)|}d#-7Ml#~=t*sAm_TSL&& z)xS2lKw)9RLkML%yP1--?OcC3K?g0l)J7@#OMot}j%zyXPPjNO);-&uz&oOxvY2GV zpASA5uA>^`tHUBNys3c(5&n}TOTmEGVkSh|n5Y6Qq`%scU3znb5)55;e1tzVtNxS3 zxETv1X6F0*UYPvOC@2`E)L?w(GZVn?^XM6kig)i0ka$qowF_&6g%+h0lvH}{E;*cp za{J-(THkJ|D^DJhyx3FL+9?#yd-5hIt|lzg?NS0IPJSt05^DbV^OOPC(-%+9XUT8* z<#r5e>)6<9rp(=;n?m-yUlLeJaI7s}pJDfSTnPX?&pAf(1rBTvIq{nqK8_`<$3adO zt8S|Eg<}E^136gAdZRM%Q{uKU^H?pffKV4$WsXFc2!xx1Wc1u&}s%mt!22KaTy5&xr2=h=#3WA82% z$^GvYk>WzZVo|L1jPflPPApU)_esz(cm6|{+;0mdL1cMMS-DQCne#e3bETg#bUga_ zg8QH=L#@xgGoyr;(hG+lwY~?l=RImRC@&?MFF9$GsJ1(6*6Wx|r5oILQ56`)#E|50J0(FaWTPOste=*$ zYz8`FEfG$rl*{)rMz==x-6tbdD-m*)BFw7zohR*;$S9_`R-=Jjup8a3iJqqQ%Z8ycebSL$aEZl zE5G8O_)|moL6ex|_-F`nlt#8Y2G$u z6^<%Ax=mi4>yjEm#po3^lpATSwIDj_hj(ZePvk0^zQscBeM2A8kZIqSeFmpv=t!F= zXg#T$$ILVZs;xX*mbQ9W;WX*_cQ?drj}$##w2hh0KUjJL^W2>G)K4^v zOD9)b#=Yf#{Mp8@#Yuf&neDNee{9-34|aM(lRX|7TFbyh-`g8>P{B{-b;B)6 zLfEbK3Vh9s#s9K!g%XwGRz-oZ>*$6h30#+GB73OBvLjoaEYuN()ZwlFxInx{aal$8 znk?sQQnsBYPd({OvOk){*{u90v^a(!07 z_t0lL?I)}tcpwwwTeO*#ZJ9eGLSV`^6p`fO=Uk(Q=NFxEdL@?BXjy!>y*F9J(XXF= z@+9K}Fnx@OaJS{5Vr`et6l>S6T`(@Sa)={e<5V;bG$Q$?4K)%`_dE9e#$|UOJ>k16 z0TpOai~bOZxaHZFL1&mQ8}X!>P3m6UresA~OyNM&Q=ZXIZ_CZ)c`JmW7S*0BG<5EF z+;H;)8IU}SQ?pL`LyWWbrpwV(fv2QoFtZ2ZseHfA79z&1y5i?(6b`ga7NuNZ9_h;} zx$gVr6J98IY&xLP}E(_h;=VKQ!B^iAU$Da(G>_a>Uz0!#Fa?Z719!iFA73vk+ z8`rXPHfq3ZT|K|(bqLv|cR1cLXLWw2!fD%;DNnI+YqzQGlVp`tGHBcGZS`%B0yn%@^|sz^3{^Ei}GSmh@P z@4x!Ka-*H=9lzbjc@A!Y(&rRBFESBs<=ijcDW^Al5}83ZNa__U|t~45k+A zB{lNZ1|(O;Y`NyYGrF+TD?@`~rIET^xvZrqc-0{2RvR_HTjFQYkdKVa4}#7(o}&!@ zolbIol475EX7(J9c;E@r`Orn&l^{~u5Pbfwj}M5xs(oCW)X`~dZ~aO&q6Wy}(tzIE zev^eoNxh?{mg~|SYt#mt?w-5L#-?&83H}Ul-Pc7rSyDO+&(b{XHTGG5=C76t^~ROD zFADM)2$nZTL_uIYCS**>VS!#x0i3-PW#sl%clM|Jd%gMP{dNthT=g7_47qA?1Ve8d z=~FSc)mb-5J%(+ME0!K?#Z}MZzxxrqjAc{BDgh=^$#doI|N!fku2@Ak<(3iK>5q1)klf;nlQMT$bnd2G!=-PDSXHJUVQe9OP z`|bKXTK{E*7x!BAb;cS(Z`g;GTvtrH6B_hn+0FPam$AnY2~N)KzPRh+l-SE{@VnO}9^3c_mhI8Kz8pVn zzy2wm2~4~MM8w@U6d>nL*78jdF`coi*^3WPFeA~G3E!p)>$+I{6TR40-(E`girPKs zxMv4#KU(qk@fTlSOusGSu(jAnQqmT5CD)}gTL)&VjR!KQ23aaeX>98uBKCv5g^1<$ z)|8KIUYM@(%e?7jvbiBk09R_dkmv%L<#b#1-Ja9^IP;l4H8OT*%$rYqF8VWe%-_g@ zMsh2lW_=#B^CP^+`|)jm`gRBagoq}&pcUnQ`UVc0vXPF+#)4}p(?cuEU7CYAt zX4ph-@>TyNvE{m~5Oz0=?3>PY{PwVVDgQW`pw0Nh{%NGHaRlYtWi}Npu6$E28EuSyqxz@c;$|#K>r~fVdPnVV zZ}Xiyg}Y{=#+yA6SF<}&{zCkq-y*ZkbvEN5OCYnSNT8~aSR)_( z(3(i|+Fqm-vJ6uG_DHmk?aRnRhjeCnU7JX(n1eOpfGKvZIY@XmCN|te;mK$xdy37B& zd4-{UhtW=wp)5`wKkCRdvy>tX=lahjH6^)jgzezGap4JBKt`DNvqx6N^c$+@9yj3m zh9fKTQNxqpHC4s$ZiT#S7c}xGNLMXoCOGt^JtO&&(>XwNw(#Adcj}pK_EnDa24&L9 z3yerxM3%;n_@mVu@l(yu=6E5uAb+lVPx)k@gHBGal2RQ@wIPtL}C2g1e?QQAjoTE_L+Ko zZ1F>vM6Ubc=KI$Jd#u{3>n$vPTT)*R^7y|8x$(wm$Jokd*4C>ksoCj1P7(*#4S=f% zL#>u}N!CejnY)`9Xx$jVh${tt2VgZ@=e4Z{S09CRDh40l;u@`M-|xju6yvix9W51> zzc#_YNqEQekAwns8s=x=?OP}yt_Rr;Xq%Yf@al9_N@5q2btSv)yH<6W@<}|RL;`z z>Rqg~GnmiUuN%1^I|{w&5tFOEvermls;MF&>iq2~>t&|%gf7EXh3LUTO%%c%2WFLh zU-Z%By;504s}n#vyDv0&=r($W_S$Hz&H#*fQ7otnlk9icCTu@GMbhkMaVwX!@|vK} z-rMis=r@IBiIiFk;p$j`f-ZKNjO6MaO>UpOm;G%K2hrZWDw`SqZMAo@8t#Dl=@10I zFb*)$5KKY&+%aQXiLe|Z!3(ImvK!xGNb!eC9T{`&v znQ15!ynN(+avAr-wl_W-ZS0T(`m9jW33Iv!_9I0jk24NL)zxmsQK{eG5#F7vF3P-2 zq$;r=y`V8tmP?@5J{ABfDl7T$ECgJ7k-80wju9WpJ}C`@{nFx{=k#+YU?RIah8if0 zzzk%S(|y&-%qS@_gxg<=tK`ZDGTFksH}j_zzi{^{zQjy3Ck#bRPWa+#_*tfq@Krb- zJP}og4l}0J@^W45?Uk=(65%y7-K*a0hSePtZa_;pEPt@0ra>d^*VrFY=el?iQUdo& z0cQw(M!jZxi{{Z<0NNWTG2!{SuD3n`!E2!>V)@BIF_stB!s7jCw5ae^%Bb^`?nWvk2JamT~5lgxi&R4w{^O4LjmKXu>Nuk4SOUeF)uk@?B z8reEnG8qlMG(!GV3rH89aKuQ~4!?g4)vMme=QAFuidlb^@(+w%DzE9V;?CzNdL}=l=z({$b!0)!0cdfUU)^mUr;ga2wQ5w|ODxpZ+7`V#l-1vbX{Wz(Pul-?_S3UAe_9mzQn3gf^ zTGhd_-6!f2IUYm$-114kP`cM-307N+59EhO3vfYu0I!^(Qp(Kd|1$>h))vvQ{&PlE zHX`yyp~L=i-k{i+CL2VLETSl8Fi%&?{*^*wG!rx*_3K3<)S$8*eEreST9>=LFW*os zI?fc7k6VQ;^U&2s2WhUrQL8#R8uJ^0Tf1{(cE{@Z8#fTC9$iAiR!sv$B-{J1|D+0R zPfA}m&24{k7&mBpS@XSS1qQI1!^I=1y%rlnS2W5gEmgkE2|J7l(v2e;j{LeSjg<#Jjp!g> zF~340jTii$>DP)GRryWb)U@_cS0<{BJ>GO4TqJJ9#7rBnCj0#2@a~TxmlrnO2Q1H6 z6CG$pLekij-9oZ@y_s=mp3$+HGU90OOGg+`{&Z38j7*fp zZ+?(&ah4O}!?XKLXH)ytaYkuZvIt*B6GxsSP}v9HR1tsEUGCTD#keZ=m@^`iZ-@)i zV#sDt&OEH!JlIalg)OhF8&%~sgj8c(bMDc9FvG+N+LVC2+A`oByj3ILytlW5Xw)r9 z1?x)2{Ei9k-i;)E6Q1~_@5DxC7-g%kwr@g`yu;?TZ(6;{W2rQsBgZ{(^;C`*Z1eV! z>hm$1(J3&dMffp=X8$gK5M4M#pH#&zFXnnjt&(A!Inz~`Qgehe#e4=9e#8^|3V;^e z0e4@FEHD&t-DvXXhHO8uo{iGHDb%TfFvw&7~=Lk+xmeY`ran>g&4IJGQCseJ^U;)x1BHtxng%&941bJ`A z=t^vQ7QT4=RW+^tTS@&fE{Fm&zjMY8iO^o0=dcsrao5I>b^IE{X`3m}adZ>#mGIAa zZ+K6wx3`-Ku##_xB^;KmmQQ-2B==uCs*ASZK+mfl@{6a|7y^63@b zcim?wx9T#eiGJ=)*d7Ko9}hz&_7^HAF{`PVUVuBFsfC5Ic>O%uo1uZ`H?FhaU^&1g zFFX40&&BR{=zle>`{C!lVeRTTBztI#!EG%IyGAahn5$1zn6}d=-%=*ESyT< zA7vD_eMyDR^UBjb@8|-$iFLOY?LikkzxtHhUQvss42VpIzS~^k+k*i?kz=JMs9@qn zP}3Wpy0YfHfl>$-rJo)`1(JT$Q%2CtRC+){6+RFz;fxnbrx@ z#F0_}1Ht3Y6wuett_IX>+f7u*SsS;YjpAm&-HUAfK_nFY<)0|I<(a6LaYs6a;5je@ zvY4}w^*Q==-{d_KLaFaDzjQk%5Jd-$)4mcp5Qn_OO}^;n6Tl9S3b@$Tk*&=SPQUnv zN&H8Gzxj%jw|aCKp9qn$?V5A#-}-m|+h%(bSpRkj|J&Pt`>Fq@D*Zp%PkraHrvATs z0sLQO|KBG1KQ8v)ZkPZ2CVI}t!2STVoO<8zsecgN|4EzGi~^|`MdFu2zqp-5g{vPN z#-<9&3mvH#gu43+tWVt*p#4*QHQ<tN@ArL5d0T>z8TW;c0Zgq0g*4My|l(I`z{x&cwKqdnLt+)S`_y6fWfl4Q# z*lRJ&=`C(V=lX$dA4L8;fd5M1zY_Sb1pX_5|DQ`hjf1Mg^pfb^57x8^IJ=nmRU1#Y zF}*iD%kzU1w7%BDW6j8LhsIAiaPUqG+^?G*tj-u-`*8k0&c!FNx?Lw{?y*j>JWEF& zvY%6{a4w2t63Qr2fq_cdH~wO=NAt0a9aN^bm!J2J`WLZ21)Nkw07q0X*PyL~wmYI> z!?v6^s>)}lu*=M<+dsa}pq zW8)ZZi-27$jN7s7_heYq};3Wn~Jkp@3xbMzsYpv+S7|tvHt6M z12^sg{mze=w?}*-Q6xI(eYV|)rV%3#d{l0#r7AG>biFr8Kd1Em$seo`c%Mi&Bz0Lu zCO@c(I{hwRiqb-E4Jn({S<-Nx>x6)a#o;(l?^}_!;vp@@tVcC+Syt{$jYyh z_tY}LYghj1(*xqd*Tl4oceqnk`B}MM5n?E>4E!^*(xO0fwxJ5O>nvDj>gwAvdFQ7j zl%J!``TxN}BX`t@-u@zgMbI{SJpa3R2e{dd%h}N~_#cHg)p*a@B6ER)wBx+|<{r(= zkxzFO$6k(9-)q?Y=G1T$ozDaYCIg%`#lMToA`2fDS& zuN4@0B_A8rj{6->haNgL`3_{Ov)c9N$CZD*8y-8-qnUNp{bOgH{!KofG!FV4%{#fP4A=}=HJJi z>>rZdRy~dO-sxnK+Q;J@=GtQ>7TA;%4APqu+T9NydX}8@`tA>`XC9K5*`mj&CAaR= zOwAnozLctPNv|$zjC#}_FXXri3a>j}trD$40cB7nK*^2%Or~-^5Znvnc0B>s+U3(h zAst1jLls0P4}w(=2DX54Y>tdbdJUBHeXsz~q{~V`iFhSnZ}l^ms;M908}6{**cDF!Q##z{cj_8#Z5Fu zE)DbLv;l1~jsjLn<#fs3-6R>AA>A`3sF$Kx3_Y7tO5i`l$8JNUz+J z1#8p&OWBLycgd@Ts01N9aGp*HmpC^(Jy45EU{ab9wj<-(q&$L(Du2u-1?hO|9p26qX@5k{WU|a;&8sI z@hyp;j_%`L;mXb;pMl)?hbrPn$;nkMUnIELiJ8h#-8O@aJB%Lbik4u48CW(Fo0|t$EF)3v^>$T>T#PACnl3 z2q1QLK!GiEsVm03DjA!fIT&hAXN_%E{pw~^ivoik zim{_a5ypst@VCkPJ0;98#4f zlmaWelM7>jI&YL$ZCo=Pne3^nM^rG@h8gHrhsc-Jyyuc2idlI$Tcn&pf23E|D(L}T ziMgjXpA!VVi=6Mmqb2wEEF9N29&W9%D%fh%>#s8V9*jhaW25UrP>J?>JV&x?NfH!_Lpj5 zq;)oN(4cmVU~I?q{0O9^&( zq7=t=9Is3?J?Tdfa@D7NI+a~V;5kMtF~!yx8at9!Z|)cxlLhmPD}O#q{is*+U`+?+a{@5}hkiNtp%1ESX3c-%CR%To*_BcE+qHS0=)) zmirY~UC>~^a?pqNH5jFP*=MeqPMQ=%yI;z}|g`_>A$YzU4zU0~I z)H3#ZeRA~BbMu{2f3+tCrU)cwH<(>41n&Ro9W6IX?8R+AR+fw%m~K=K)UL}39a2fE z@?e4SIM(flNO7)eN0Dr!jTqh5e@WTz6`45=eCL;zAji|yj@4djJVpep$EK^0dhKE@ zn8d->hQm;6MiKk6rGc!`!Q{-5*mT)3<{JFS7efcjj#!@3C?n`kb>-%&6?lR!&^Dyg zUh%PIkVCUN|AvIhoCxw6crw)@km9~XZRUFxp>4nF&H`0s_W|uv`zn>B{J=azol+eh z!?IU_1hEC(1fb@*>MN7>OV#m-ppsethJ&i*fXs)=H5Bf+bzQ#MD=ks(LSsV)3)u4A zYp5YN?raq)zc``1hk0hke>||pwXYikQA3p-nHW~f?Od8b)1A3Xa!g5eoj|!_v<3(X zROut^n`^4MYYw(C3E+_2($VB`F**PJ3`~LTfPSi$BXEzqU=kt!mE87 z4DepJX#8f6ro&h7S;>5XLU5sgxKuy}MhrChMhN}0Kr^dw7k3njtHYu14Y|U`-3BM{ zs|#HvrVT#$!vR&ao2@lws_?9KomR`^3?aX-kJ>;2Q9V*@3|U8)qwl9;C}L1we-+Y7 z9ju-05vibRaJV6Gz-5Rl^slN?sfUlklQ{0>nSL)R3H9gauG_4hI&7<*JPtU!smQXZ zPH-b@|0rZTK7#6Lj!3A$>^7h5RpRMpM^~lPYs1^he%|vZoB$HG2U@t5Mc5>Lj%zA> zkz4KY60L42nebN)L5C~qmS1wA=Z?MKHnaE*egxFl)v)Ael6OJ}=gW$CKN?qbf!*U6 zj7G#rrHlV&;lSX2Y@}iuo1GNOjnDmX(oMfc;d1MI=H`P%Ad#}%i;e@DI``!-8-gn> z7X=xz*-3+#=v5Q%Pq>!m;EcUJH|^*AaNFo5lw-3jZ}26+U)7v&Z@VMKa~C{_p*0&N zOekpG?gSU|)x16gqb!n{pB_GHf#2O-jtfEdX{6ZWfr?-$_u~D-(w>pl9ubLy!f(bj z;=iBVhqqtEm*dgml+4PrnA0)zAQiu+ZJYubIovX^-bnG_xoX0PbyHvQRB z^hI945oi;YA1APRHtgvBalCYL9X;NyALt&u$yc#RXL5ck;R;j*qAMJO(+li&!NwQW&gN-Dt@s|{?E}}3&VyQ(#PCW^mH%A* znv%(au=1<$tOb-1JYe03kKuj%VrRuN6@&Tra9RB$&C!TvE!S)G8L zR(IqU#N$bXtf$$nkQKT;SlYyN(IM#a>A8}vgT4OX45nRI_o3Hqzr(ey`uW6S;O^Y? zyztpX?tZN0t$X7}N#kKl5c!px{>;5Q1!U~$c>P1lhqY9MqqP>NTX}-VyNb-ApweXm z-qu}@i`Fl9oshqo!7^y!V~6u2)E{#!vz^{7*R}jUV_x@bY&T)P*+D#LTH^$^=C4%G zqk8-HHP}v&#-2E6WwD4FS8dz-Z zg8MIGwK$SFU0TT5{BN(km+=Ue&=qnm#o(K=l3<3t>@*Um+QrJYKCWH{#3)82fgI}6 z5LC8`0Go>C_EpO6O^gB;yg5+wVl8!W`OB}0zRolxQEXZMfT-Y(d-Hj)U*`h2`Max{v7f*lm`;cUgs2?4S_hqpdx&?Wwe zgZBdXW8EXhZ-W*xsQ9+@k;pv{%5&Ip`e(A$%zem~2w+u4x6Q(pzhn& z$KU%Vmjq+GGjb;IOP{ZKj+@DsC*$9k1l`F0IBva98$8i6u27x{x0-ujVUd_keLNzyKPTHq7k>|kljobdgH%5CC$yZJ>6kg9eYX}5PyknWj7P`bNx z#vXyUq?Y5t5!#g=q4Bqx524QJEqL4~_x5_!)}4lz)Nb_dREuu2E#OO!V0pV7FjE~q z1JM2~(OgnAU8fb_oGY>`xrH>o)X!BQ^LAP)EV;%IahlA!BCdDZ#dZe>M66Txt7fdS zs=@Q^?a4Pm4GySTI%e7LS!Xkx8TfDKXfWM<1wd3eEE`_E>8o_O3=FP*i@EzH^@2wY zAJ20NhZ8}IQ0G}w6hN)%nxb*@&BM8#c_2W&1EiOWf}WG!^M&fW zt=$GBX9b{w)N+*(tru#l&)IHTAH*8dUQbl_hwb*q=S(<9t$5k-l^es>5a)7{4j5e~ z`?-#ao`-2j$aOj`JC_Ls%C0I+3RG>2+(U@Ep*}`W$0b6?7uZ-&&ZEt@9~!px!3%Qn zHN&5b;y%n)#Vz^=B2u`i3aAt9&-)X(~UqG5>1g zIP}=V;(FA9KpwLA`J>aS)p!DUQ$?W-IrbPn7qc2U^Nr)wN(5(|8VUmV()KPKuo>|0M<<1`!7#h5KSXRYAAnKeH9c=!ljxx}WyT~brYxa=W8aPNJej;ExO zAEcTz;CU;*NH#Oo>aX9bHY>59c!{~jH+=ouIMOxs)qN*%1EqIEk_F8E!}+!Lpl*#* zBA?ZKMK;vpN@&#wW`6w{NJpJ?uHTw;P9H$;6VY^8HPG1V^j79@(e|GOqj=oSLdz#j zCe5ZLTONNTqgpw@YOKF+C1_tgGNX~KJ0=I?C9vHX&Mt!oMJZx^xF_gVZ{+vKF3VS( zMDDgDM8p1UH!q+PXWkoa9u`j6_qkqy(k~UK%5nu-$o>OuRBm>D+AKZdgzbeWK#AU!~`B86)Jt?AZdsvB<@*+W598`cy%0E0E`#q3H^MrG`$C_-cc${pXb0xtN zF&l1*wA>sxdON5fheto0CA3mQ|3)9Nu#^mrCzwm*3J#PEYQ}2YElHLMy;e+)dU)Z7 zFK|CD{jWBs!$5^!rlf^ zye800O*;u;CCMSVZ^tjPBql9sv(QBBEKhyz(SwDLe|4qzQlypjQ`MNa_NsG4$TQ{EOM{&Kd1Sj6PyMpiF)O z{?mzlc~e3ts_vVe?{BJ0bQ@ir730W$=CI?U7!~YBIFw<;@^K75TTT}^KVj3?S?PKU zogvzIaa;T*$XPJ?$^&nFnaxedp9$f#%7{n;mUYd}5Z3@bv*8t^@&EBm5g1n#S;TtADfKpxQE zAs@V-Dxzwtc=kf9J>krS?Q@-NYk4!@HPOfDmrw({$rXI~a)0?vBBNxOTKG>8xnbNc z3}_YR$ob{YxSppDx+U~yJy`zd{$)o}ni0xtWtLA>3{LnUwVd?19O5B>{?a9ToY;M{ zvj#QR{bY1-&Q*53@``5ex+9k@k+$Gb*f|6|T)0BUW8xCT17D68cD;{-I67UnJ9t+{ zT=FLI?i9&%Z%-($#M)W6NZC%R?ileYCZ>R~**@Gs<3~mQagtx56wABKn>|!d zw8;9-AG0wQVh`u~bT#2yk!VxK!yhcB81|1X3U=*99(PL0ymKM(V%ru2!Ak0HWoit5 zgu1CmSTxv8zs&>1%l+3TLSU5Ky&xj{sUbCT=_6du!) z+2+~RHP8rGVa~jDS8oT|c4w1=&={+>D#_7NMac21) z+l>Rhr>qHU8Rs9XGqWnR*SAgoiJPp!xY0hAOOYc}>;~?+?HzBYr|akH&!-2Gdj)7{ zi#X&+NLB$*l6Od6n1XzUB@29pap@XBOcN{G3MKtb?yp$G<3!eyqbxe3Z=)GlCd!te zmTcit*c$d(&-txD4dXoJTn9{E`6OH}W{W=7M-lN!IBtgN{1j5PtD>@;47W1YPgrT~ z`-)i$0}W}au3V|^?W<*?@~`#cbV<+{=qo0!c0EpEo9@W5r+@E7MpmOFORanrY>eoZ zZQPX+Hko*BaZh1q;JbRHq9|-r(7(^O?4d+dF{pzz$1a-drKE~adm~gObu9A40=0a` zQLM;{1eLULc%Jw-x|MD+ev???`vXLi{DJ&8_$vsIexovc$xBOC`zbE}3@MbFfk(xe z^;Xg4jYCF4=sqJz>LP)c?QLLzaekLsGicN3_EL}i3(-y+>p_GAcBrCxw4n3zoRi__^nwDC9~+?4Qd%-R3999EV>-Qnx2umB*?{o#C*_N==Z3_Ho%G0{vuWxx(hR@YisLJ?HmUIaYR{ z_S{0hS?hLl>}JI)H|Nc*+V0@>5#8f^OHwqk9jadglibrES;Vr{+#?ublZzaQOro#Y_0ql>brt(r0 z;=z_G?QGdNR9%yx2(q)>kNM#ScC!?jVJ6E;4ZAgqO&dikhYD;4#b=}zcO^J1Uvmxj zs`wLgSfFOE@?j-6V0}J}Ch<@yF~KxMxq0j;kvMIH=ZwruMF5WXY-X1? z&1@+KmJ_1DTmM1**xtvq#33=X~vS1j`)onQKOent!Ge#`s^jbV)o#3 zB^clCld3+2=pftja`8lX)vw}UY8NUO-{sO}qld!|^)3v!Sjh&G-B=rOBdx3E*2blI zp-S#ikt+FqIr@8M@fnUS)gF`Xn zr+F6NHk(U_e*|}(h?-pFeHXlUHjcZk5%&*_n6TLEZN6weXLCJiaUU*e+l=n^4l+4G zE22b2jA9gE2zZZQFqu1-HeN#@AEYAKAjo;e*=jkTMw8m$lI=T-iGBV31#;92G2tr-*9-m#EvJrz1Dx8E5G7fisc!6fS+*EsU)jIqoI{ptv4iq`S2Iow9dQ0frPn~O|U!L2?<*zWh(&~+E zN}16QuA^KyiEm2<5}2`!Dv~5?NrjsE!%2MLy)-UY2ZJI0TqWKjtA)D$)3X3Xt0>AA z4F*`dG1vKOirJnE9zv<@{4Sguaam@sRhO;#ZRva(Xnt_>S4Ie=Ci8bH-wK-ZO&$5$ zpF|w&1?!yNg|Yn~X#($S5JMV^f7@!NlT&B;hk#5!Z-(HVUEo9}%dc$m%wE0voES)H zh%8KwpZD7a7n}0spNoG6E}9jVspIu$QwZ{O8juz(SdUSliZNqd0Jj6u8y(*q*!g;# zm)>>*>pw1Tl7Sj>xerbQ>nB#2z+C>Qkj>?+u-sOtWO5nG&QOB=qF>de_kL)Tvi$g! ziOw~VQ}jZs_Sd*FkiH?qb&P`U4td9}w^lopxmp=PRpudg_eqN&x9LQ}6AaqRr~^sL3oH!2oK-W!sXJQ5qn%U79> z%&!r(ZKQd5a$l?++>Pu)m%mMhw>t7~-?(BdZri28NmKG7eO^gfn5)yTiH2JbZ0lR= zH0fXOPK2_D)hN}4JzNcra#?PLp@qB@miSZ46Cz`j7WRDa6a9t0X|D*)(#41uCuTPP zH(~KyKiA$=F*D#fUNtMzo^E?E2OH!T2d`CmfmdjbF>f@}+)wH7Xa-Z!y1TZ?PTKEF zn1Q|!lhtIFBqnNp1carWs|F-b&DZ1Qj%KqZK#P!l>!uIV*v6lMShgvT-LCw}#5C~` zlJGY~X&<;h*D3>Yn|8U^BZ2~}rF!X1xqT|xtCAw^#u0(6k1?;AGNW6+Ul%!!IuFb< z2YXwP1PeMV@L?=$mPNc%C~dv0X?h-i;d&U(r<)nwWb)P;e9{FE6y~N_1DWdcvDqIc zF4YJ-!YNr|(kV6G@vEFajtn1po}{5!pysrah|ggN!THV~*LFEpI3nP(r=?wt#0Igc zWl1*Z@jpb0I(4ut8iZEZz5X)C0eUK$Enkb;^wp82)3}NW3@5%jyjtEypNG#yrCC-0 z4Hube@~W*ZS&^|buodwhX|Ex6@Fbbl8N?oFW;GRsPvxl%0=H1hg&=?M^?%I=pCURo z%juWG00p;^a(|$0tU*jZxSon#i~h5k$e*jmy0$#arfJ1s$YE~kXjEY(FW$=N;q~_8 zyAMRpM`|j9mt1qXd9dzdROM7eeSK#c@TDV6ggu`>hFC}C2J3^QDs4M%T6HE@OLixv zWZeak6J|_1WJrgrB~mTH%1uyAgU@prF`EQZGbD|yg(|dft2yZ-SrbH8>UI1B(bcG1 zVp6RumBrC{FX}RK=VJjroLvf+IdYVp2RSwJwZwiDo@MmowC}GAV13Oi{^zKv!*RIp zjJO}!doISa>bj}Mlkk~V;Y{L5mWc2zQ9`j^=r*SAaiuH}bb%*_a66t<1f7-FGP#J4 zl(uj8gwU2TXWL!%j`bU%O8ZEPAMXQjblxkOm40Az=?GqH?4gFU_M_Ri+x4`3E|Q8 zN0Q7A{mr5Tml=)APtHpAA3w$%!>39-{XQV_-k*||wp@ME&^g>3oahkv6Vk+;9JEWJ z;Bd5i`mW{Ak1T`H?44U8TQ3eni^UDM^dmLFoR>rv_ygl5S;3k%Ucp*Hl@hwwwiu^` z)slp)_}41YY=4CZ9`_lRxL+F?%0>IT3O8$L=oo#u7{%^NdsAY^cA}cJ(pWd^(YdiKA4iTRW_>p z`-J~YeUYQQ;yT(~V#-7k##KkRJ0@F`ONP?!h$CYcDXG*;@iwR+q0rnvgD0+b1!q*4 zc`{cXuZ#JsMxn;_nci`7X$!W8B_|$*WLD#GqhetG@2tsKh3EwOkHkFYEQdlV)HT~I zrUCO%FR0*K>y2dhXMfE8YbGng^;ew`$c(_YEKZzbTVGYaN>`d|wZW6{E;K7hB#c)= zgOJB4fT>clK&>?MQgsL+Pa1OgG@blhVpv zp?DD21S;`6pub+74G?Km&4+x<>HZ6#7U;U8Ic=xF(+f}VMJj-3GPfTHlBy|u zKNIw-u=YuPWABII>DL;0MJC9f0MOa*L#_mcVATQsXy&WNajngK%@!*yG4rF>FR_F1 zVBVbc48#}-$xw#EW$;%irA1#|klCt9pP5K*zoOpU2>9`4x~|oz2rBBei7on_1}ufYqFJhyWhyBXYS2rUl^pmt%Nz+|p9xprxDpxoyss z+I}c1YFj+3U@o};;klAT9Sq|K5cszfRJKv}y&oII85m%rVBJr^+v4L!YuMaQ_gY7( z$5KdchYAzy1bZRhNrn^Vrx3ACPK%EQ*yFV-`4Jfhlb{8`_9cvGO*xM^Bdi!oSA~CL z@COqf%SMT<@Nkbual;_ELDnR$rIg#*MW1zS_7`XCCAZmh;YCFOv##DlXosZrt=q~s z`W%wRZ3fA5wjC+Yv+*E7r({DkGbGzOF2{6^J@3=qT(?TYjUEi}LBbo6hZg)fsu9j7 z3K;Y0f@%*S3998$P}k=fFm=1&d{>`Udf%PTOJh^|+97!q;UdxsAYnry6x8*y#r^DH zkXpP~bisnBi(~cX(5A1)jNCc$jybP>0tFF{pKE2SqSTOkvA{QFi~OixiK&=Yi`Tbz zzbSM->v?uh|9ZT?s;?QA%o}RVTtMhtUk4gNP4j0^prs-EWqiw`AqI5y)~LlqAGV>i4k>g%p`RQ zIW$(%`|Ak0ahk>xq2N1F`tyh8-g1!Z`ny!8K`+ctHL{rBzwX|#x1M;c-ur;pnrl~- zxrfy6)k?1oYvOc8U49Nr)1oDEyZ;cryfLQQZ(DgGT&)keN^I-$;xJm|K8eB-3IS75&a)N1+_hGVQ(}m5 zg93q6o-a_;w|fa>T=YfwV89r;Bx>d|tC6b8aSs$26lkw?yuaAxR%;xtV(r4^)Hw$8d#B^Bt3+tO?_%qP&Jy&kECFfc)C! z>wum0(QND}`iB5RF{9`ZJm%f}pYW)7xU@bmTQ>*XJNJn&B2SdFC!&iDWT74KyQdzV zYrbQVZWMdpJQr`!r0W_jZ<;#PXI%aP6B`gWN*x zD?t(`u7GT}vqUp_XNS(}=G1mqv)oVZ;JT8#8ugErsaS0J2JL>I`22z>(W1v=LRF_*q*^qA}9~{`Q_SmqX{- z{V{lcvtLP!*ZZTbdA=JxFuEiS$1~R2@M(E{crReh)i+V_jEWb{bN46Luud9!IoqdD zJ@Fd2E*7ZYhgx`|+zBlhpjAo_X~@yl`m=nLIYeVuL5zm^>HSfq`~E8p%+X7o)2B60 zn+et3_4gAU^_j=MBEhUf?E!E;8bhREsaM@Ud zrdI%+_q=mr;??7IPfX9;eEMVYc&t$gKZ0JWbGAf?c;@u_F-Bja(*yU^(i`GLe%Ki7PdFv~C8JK!MpSx$*W(1)=E*jaP(@auMLAg8nz11n;PnlEyoR!tv+7a9wccTPncF4Pt*kuy zd5q(zkfPgFgEWQ2Lzy-p|5y|;TN~;k|8jVI;5z8UU~TJu`3-JX`SR7#2{^(b3=7>Y z=ZCduI~NVvww_W@im}`~Hh^ctB@Sj=YL}C^(S;rGN`3jb-`Yg*vL&-^@tk;VB6EM2 zj~_3O(udTyUIl&)dX1Ju_&Y)aXsdIthPEqtcXj#{w9ySv2S8Q;d4TWB&vnA}&i`_0 z!-1z8bVnSI7IBuNqJlwcf-VedM5cXBXOT^aEY*4h0C}%wVvW2J zu>~yw_QD^B+BX=PH0KGAllvIiKF8Zo5^FuB;{&ctGsngNb3%TAu_Qj(H)GqH`Y=|Q zMK$W*-=rKc+8S|Wj5gF(Q?1U_4OWdV`o5or_+88YQQp3A37=W91|&*Vm>erZ6!KrSNwPuj98tH~qpW4MN=kAnQr&up1mF0WyDHH8 za?fr8eiPtLQa&O5I$Fs=z*C{6qT+nA5lKGcclMr9qn>DWXZK<7h1kLDSbY}2f^ zHIi8DOagJ9DN<9Ra|FHRK!*mC8BZQ;aMd7DQoKCF63YcW4solcEUYP5LFXD`vMjAf z^_o+_-g9G_Otna4RuK^lqrjx}g~NSW9S&FI>2Q~w=Xx7mkVd?w#bSfxL-A+)$o;eW zUQ`;_E$Vz|_T8Uq%?rJ~Sl`2hFj7Si-KKVW0(0=^iZX!-irGA=agEl@G5=8*e2t^R zs~E`)7i@C3oFV?l#^1eXD_W1Qv7Xg?eh{OSNz#ANYOPozXokaLzK&1#!VQ3mc^D3f z_(zZ^`km0y*V+`@5(#id=|o8U{ebT;-oE+#85`^#t?@tzzE08Q3uAl?Qh!R(oi0za zqUA81Vz^cAhN9yYqV@BQY2B?hgDX!5ibDR`v|RL2P3yTssO16dF9Ui7s|26IggLCx ziTRaWj-i`_@IsuPkCu2iSLcc%$Sg4`h#aeFi<_(M#@>-{5inh%Z(NQR)CPVq$1j#Q z904gP>?)OH*cS&)FDblMli!Rv!|?sJd zEA{(-;bKxK!X!+nw~E6SqXDu_k~z3!vE-Y}q@b`><$6**-LziKh zr9Q*icnI@H6^Z)Yo!-s*waN9IX*nlz!g>J3iG-i@V4+$C>!(Hg!)@>M3m~!G8Wg9; zBSYt}oy45}YP}twSx;_d5y&3?e4GaAeGp+*Ey_ES{WV zs%QclzIe6ylxxL0DGWAN7qJcX@9@-X!B5(baYiu z%YLumezwJ^u8n<`zbl1IiWoK38SQ45OA4*lQRbC@^%21y;Csz6A=zy#e!7XN=Cuf5oQfRrfa?Ow`?0%5Z(+>#jzY}4{f;86V&XU*T zmdbcfYx1c17<#E~cn^S-|M?xSkr-^DvCf@eebbHB&C9?4`@dLfa63svYLWioRDTPs z|Mk`P1bM8DM1=VV?f?4q-yizsQ3H}%6@Z1VC3mUh>Zo{%3;!w+ADo19z=e8p-^>-4x6Ocx{r?8wSSz{eb`bdrA-BuE5a{ zx_@Ww|2Z_u0$`#^{?BCne?D2~gey}2;R5(SyXIj3=QVC2-R+(({WrV?SwF5b}%)|It z^o`BcpDzdI8hbpWwEvZwQSdN;M-k{Gh_geQ#{rP>((+j2?6nPrD3TA{o7N0h1Ki|)#$)8s+4%ZnRV%ZguIDoQTr4^z)tmCq)p@gv`prW1?l~FXjpzPj86i6 za1?{0Eu7*X1MbVf3wmmJQRo}(mB4UyJj}8@sv4J^R$hMyyrkzqJH`ysx zE)K+H(&1O-B&YcwiR)WO1BmP;&{-H?ic(q8ZWkGfw^H^wcWtf5wDW z3MU)SC`Ds}PvHgixcvqB7Of?mocnhS@{hI@JNh%8BlnzFD<6%%UcE~1#F;>*RX>Po zY3KP@6CnAEegE0r!O%@D4%f#XjP@Ty1ORtv{w&66e&dmVIIyoA4%Z|VV{rHB_sco!=zaw{`&8-N>hdd%F6@i-`V?L^o=C)m@~H|1!=N8 zj2_J40yqjGoLI0i=uza|Oo{G>mDGl8B&wTi{n@6|${n=1!#X^73e>nfa>U65ctTAvR z`h;{ng|-KR>UQpOj`j4!#5xRu70%xHQOnXYosMM z7Wek16EpSji;nqJUHO!9AYWf}cc}49TPS~s^fl*yaY&<4?4R2&`zgtWb$>E_n)i zeqt_dJqzKzX+VLq!evkrdrsXP)o)`gcbzo7-OQy(wJ!PF-21Hn^EDLLrKSEmbZxCO z$atVlyVMKTe2in*+~6>Y$KHIkIOC$Wu%uoRgG`XN^zxWum&VK$yN?%UOtiFh_q93n zXSQuB$n7dN-TQ&+z)P%lQo-@Dwa8}KjSE21dIh?#sh4DcU5o=q_><~2ISz>oOeXS_ z?O2=1()(TY;zeno%eF*%UzWY%DiBDQ0kGyD0LQsZId-=rdgOX{=-~48a(a86<%+@g zpYJz;l=xU6h_~1XJF953{K;yA4aH?|;=MaOVp`X~hA8Lz7jBm-qaySiPCz>c>YRm< zo-H;Qlfk%{-ZT%UvAWPkR?V^u9hdGniyng@Ia~66Mn#+H1+|jT`N|VjT8^_KHo)w3 zy?*I-(zE4gTqx7_el<2CRcCRoFP=T!i9g%8aJf*s!F4hx&$9gR zlFT_=CGV|TH3x#=oh`N2i?;DXHuYMohIq0M zPa}5Wro-BOVY`zOsRPD;OVIkTwm$(DEYMU%`r^}WTk*e)9fC*klL zn{H>mC5DsNd|W^lc_Nqj&m#R+z1_<2U$fouJ0cVj`qPcILuouJPxr^7D#D#-ztxMY z#OK^IKGfO(QDrp1Lj$1MF2a{y^+pH2<@L0ybT4S)5*;Fp3pI)zi~<19FAhPEy^It} zp4Gv#D%CFlL-*lF>>c{V#>YrfPMwy!2glr(#=T)b!b$l09x*{INVYJeK{yJ+AA^wX zQC!uT)C+zMCM;jA5XBl1L(qxX{zxrK5hS@34n3?EpTA^ruipz&B!vQ%-h8){($;~< z74K~;+odvb-nBbW*X zZ5-<@W~e;fOHml>g=!pHAD@RpqYy8?9gw8 zf5DFc{t_JU!ijYUBn=^!4f9e}{Yn_3ssx6=EcT0tQ4{~EJoR$hPZMV+HjYVS=8g)@ zaGrHcD5Fyxak#(-px^DTaBJ8X-f17B4;T3@nDCZl2lew+Nk*#Hv_>c%bIyv?B<4Wo z;z0RemG#O<{Y*o(C2+)Bz%|1IFmaUVfuCs9B50-FEM8$Z6j*aSZS9wSUTN`cK!V1M z=r$~L*DCkaTWFL^V2jEy&d|8v2Z}Du575v%O*?4mN9`#T~XJ13d zInEf)YyFu#j(bG#L$6_hUREG4X>Lx=0MHoxGc=|C?6KDW_iDR;$@wrsY$2O&V?Sf6 z&;^Wxz-wN|NmbHhdb8iLGF3`3!MNh|4XI=xmF#iZt? zjg;>i=FNUUURxK}nVxTt#3fGV4*FWUS=u6J;bIcsR119l@Q>YaLO0edg;`v=y7~u) z%1yNo#2^dsbq+vD%4}iR_qhA^@-?{HjM>gSAt4=m3Y8)1+HwUI+U@T)n{Q)L~ zxOBCjJxI0@-O(XfzUt^l!Ume}Enk+9;!FRyzi=Ggr*3^Zs~i-< zUU{Az6;^3OY{=pyed`?nz6OM30poe4+~r6`1y_fz_lEr4lf4JfUch0bei=TKit=QD z^j8?rW?{&Fe}8iKc}e7F+4ce@)iYWa{|5)Zzip=6A! z$~89+^LFcSZ{aGqN+3<6n@SS#r6|PN>jvsRu$p{Sjl7v})BL8Baby>K4PuKlVdw=+ z6Coy8_62x<9=IOKQZX4&?!7B?`7W{Q%e?YR{9!)M?`)r;hH%vij-^W0lPPhouRZcf zea!65zl4nWBl0zSqO1ot1h+o9#z?roN_6~bkF1EWnA~0(4q>aAJ$$G?e+b$243B#W zJt7=Q;d~3WG96A~1PXknO%~D}LMH8zi-P~jPg+kCljlJ~ZANg&oe(-W=DmpiA**q> zRmgsMxo$+zTGnTD4Q)_iW;eUb=23({Vc@8CjP|u<;i}FX@tt zD-zp2AR2!_JtAo2@l&@(Ow@lIw>4&O<~u=}>uZ0TFY(tU#$LFj$YHC=O?K@tmHF|6 z54!Rr#SQ^o% zMb4WcjFwX%obOLp`ch3Yk5Odmuk)E+FkA|^ItWO&4bCo!hQ;bFV@Pg(s#ffqYC{bQ z0d%d5KDl$vzFo+N$nKYDNL9l1ab6=7P4^LU>Ab_!OR{@J9ayOCkN3#JCL}yI>!cMc zh(ow0U#(xqfDmM$dJOX8=LEGoTqs-5GV; zx6ZOweF4)9eM8g|U(cQ1Hs7_4ND;I*feYL3&jp+6ho4Cd+G?IfPQ2PTyw7un2gFUl z3oBpEPCDIf4d8UAk;0zx2r^B>d7W$ji_w?-$kPU=cH>jEbcvXD9ki7)2@Aq*o* zdBY%^#Tr)s_@0qep-T~nEiL`MyG77s#1}T$$TS7r2I-Z?BNxFUh<-eq7U|qU#GU|= zuSWQ(P2$Ncf2B59cxWZEGKTpd2N}!H=hkNNJ>V!w)7dU&BH|y{KfjE(2Umtf3aFrO zbvn*K=GzloPP60l6JH-5TKt|EEVUy7uaygFx$>>+2<0=Ng>R?D+h@$Hnv$HaQU%*) zfVdG9UJ!nXe8*dmD1GvRcb(uhGVFLwTYnof2MmdCZQ<#=7TMvl^6$a@UOpa!B~S*JWFvIdNs^h))kS22F#u{pmFtC>t%Wh&{F;0VXmc0(uLIf2PiUFUpQ^)$LMz>Nxi7LN~h0I;=LrH6rb#3}hw^LHWq_u{`%5 zU(gF?R%fx7hnZm~0@3R>JFE64Zay19!~5~p>=r!Qy0C#GDbe>nUS|)Y+Cdpgit3F) zvITkFVR?4d@<Lo;VP-!LWTbr4quNvy&guJx{i-#*z}*jQjdECl`OyP%Mm92N#-ZWG;QEhWifqU!+B3xNm+!d?n zwx*_32lIrNazm#XZa-aH4_Ci?aA;vNKoCJ=UKiE|V?8Tl$$Pd=xf7O;zx>Z4c>R2- z`8x>#NdggQHB)Rxj4e7Xo3^rm( zvMyqUYbdaTO+W^?-ekfMF%f0X#noX; zxbmZ+H|&+8EQW-V_nEO0T2j)8wxk>?S6||lOszK$ad=YEPGiC|Vor{-Zm3ly`*h`uT?{@gS;ZtnYP z2}w|~Mw}p3mYdLUzz)C_{={H~kPTjtrUfQGT6O-QK$fGY09pKs_2ew9m|Xu$GB{J0o&XQk?s&Gtt9>uAg0J&Pgr&szKH^xOmq--dLDPl}OAWE2^&=Dcx(ggXpxX6mnC6cu>U&(}N6e!7zd2+7{GNmV#oKz%)-i2K42mOF4Gn=0 zkab6z#-rizgUFnqb&xPDo9El0;& zGd@3XciOVqRqsTFn6ICLqoEy7kM0AAdj7b<*;3b^?8dz2C(G_R+Q znC9SibiP3O`ik~N8Hjnv3lb6bF%2~s6A=^Jb_XF=y9C=;y!{+S_`5ZuYF!lcT@bRQ z5RJe0Z8zS^&_OSD8k%IrR7c^Q;%kKj%6rvZdit&|z0PX&(odVo0kFLpa6vRmzob45 zlnWq2N3Ixz*Il}^GR}h(Ugl&bDj@Q=F+Z&JlE)wnoVP0qYOWEDeLHuPoP%ZL7fos9 zZr!(|_zMabJEAopS!@E=0Ws)a4s#0s2%m&RtR1!1r;AF@IW4IrovyEZMhHZPRo#^J z-z`g9_2_@Hs=QvdLwMZ#K~fUGXw&d9>N8)TF|Ht`Ft{0JxtlQFzUbuD<{Y!@m`GW@fzLxD5}E)$G`9a zUAX9f?PRqzRUPL~PJqp{e z=I}{Q;+u3S>RSOpLnSLt{;}rXTQ>^^s0qYP$GbD!;TZ&O%*mxLr@&4nM7|SxOHZtK zh7}+$j__r2{LQw*KVqa2>5pSSUq9(BSXHmGqf_&0@_=s;KmrogX0effgtgs34lidD zhtWO=J-OeaY^H9Ue0e|QiqtY6uj5kx)E>p_4HZ6|4uzB__V1sCJdqQoI{M(5SkDqOY z^-|!+Mu)foK|_uU(T7!JD|hw9hN67>FXkOD5;n}zJZnCHIqu7aPo-hr6m@ch?XR{p zSIBh#1buor3jpYM>i$??IMx$uXx0*ET|2M4kia%`Wl#-*YO_wmj3shHj(C0u7A$Q*E zHzszvPsnTFLo6A5jXt9_Nh7V(OJ7B)C=U<3I8a+Z;1xrDw}aLNhe4Oj`>uywRd*6DWi#kf{fzS3l)p)YyAnW1e-y0X)qqq+e z$VTsIps9z|I0eFyf5%L^Ui-H8go7+-w4$JE(<(p$5DEUTv&{+gCVvDkR+Fi=7EVYa zO4xTC8AnbZ3|rX%&XZ){ua4ByqfCXnzd`Q0pV_t>1E{b?17tZ|VdR7iqj;_(eZdeC zVpw(ws&)=k|LR2KueSFr%uBFr!M64Uc-Q#XniZdAR(L-<=b9%A0A9XP1sv=VXhI@MSQsD zyKkrqdi@;-z3^}Ja6PKtrZqYa^_%hq|HWL94#OYLZIn50s=@XbOA1^bu|X}ZJ8msq zr-hA>Y%;=&(qg17J&$%M%9q?r<=iFf5-oeWVvJw(+@5dqu60IlKrY91kAAbq9@fo7 z8SHjJAg7Hf;ZRi?iy)m0Ad13*U3EY97NRU@?3}4X;)hx;!sQzYyOBvlt4)6>wAAr+ zHh0?P9Mu&0DXa8W3w8)rbYW#O*2ituH96I+S6mQnL}3~elx>o+4)0-cJQIOSxmBN)po zR+`|GOcV~4F{X?;9+0d>+iw}T)@AGIPw`AfswxD2Ah^`GJsz)gc)O8uKEQ)9q+=^% z=ZVgP0$m{u-F4PNqX@SPBvb}dXu8YT0#JoLxLugY_~7ymZxLW$)mY8#8@4m)fC7|| zyR}^)@Pv&IQ$(Yg(Uf_zf5H7eFzYEo(O=Li93y}Zr>Z(0$J|wT zZl-zMM6`k6#Zj`B0}>G!(qTpsGSY;S63y1H^CGT4-8TAzo0Faua5Z;Gq+GUjMK)VJ zO?e1o)|iw}?Pcl$gZi__UAEV?Fh!ug)D0HnOOuzW(=L&Zp^o_2qldL~N|QOXrGBoe z7VuFo@BIX!U7g4Vk>NR9&(+02FAIi0MZ192yjyZABD}JxjaoSH65q;nZWUloz2pnE z%0~ioJB>GKH;#)s&uw8q@58e_E$nPh@)&C!$?Ft(DOMUbl#)0^UAd0FW`&5Es5CzM zA$8srBh|n5Wj%k&#>@5?WY4&@ZF#G5i z6hPqxg$FdUSe4TC%G!|^| zl(aKz9ynQM)T~LJI8J7t*Z}LBU=9fV21MXkwHHQ-!DZZIrQ}*@DyauD;=wjXA!A_b zQNe@BqWt{n4qAOj?53c{{i|btTTF3xUe{Dw|8nD8#+_(ORVaZ4E~3p>TBROtyJ$)~ zry8oN(EGv_K}T)AM`R-0Ni`j7(9on~G|M^7yE`y@OWj{!uD=ijX{Imsb3~sXy@!U5 zFAhB8CkG9 zG;xBI$SLDYHczAH=)6ktR!fV*vy6p^Cx#=wn0}v<9gJZOlEhU#!fopc!@*fla@^mf zZSL0g*jZz=py;*7>N$67r*i=qr_pl}C7GbDu0(CBnH87VMYnsRvy*53?T?2EStkm| zLXv(H!zUw{HbLVfGQCi^!`}@@;2m7aIaENZWvfK&wlPgTkv&&U=)8agI3mrYD`-8T8d+FD_>c?a&8T3qp)tNjVty^9d|PN1 zkhY_YHMK4F6`rT{R@m0;q@Nv**6e@<&!>PRk#-JpDnh@x;estDtns!H@(E4>a#kD> zdKaUF9(SDdVJCf^4LpmC;87zMuLUx?!`Utx^8;}p&tQ^xEDseojao)}28kupeR^&u zsbjcODUr#}uINJjNr_rcwQ3fXt0$@p5hzX8Yu=fSf57vSb9QRm>xlep;eMX()QyLi zD#X;d{?W8}KLp#?_qqKWlM@GA*6^K{w?BI}`iS-Rg=r~UMcwHEvmozK_sYJd^MzxV zs5r?%zj>)GikURu_w)_m9kS_6r)uc*%kNkXBF`TC8*==a68v3Yb> z^CG|F3-cjVt7Ft6@L5F&CLGqXA9my%EyHC~P!TIBGn8v1@lVsqCEFpaw_xd(Q(x0C z=z8A<&hZ@&0Fa?7f$i9>p9wpkHE^DYSOiv4VI!K$r!`y&D8CKxvXw@kf6o{lOqZN> z;xd-&dpL}Z`kjw{^;^xGM0{0v zbEe>3&(YS0_`ODxG9B5bv^Yh=5~b%uCwss}{=%v^z_&`?0`S_wrpZ@4KGn4>-cNz- z>IHlkfOfm610UB~El!w=3{%v(>0@tz9Tl8t6#$rp=4X5_P|E8Si0{aBm}48SFrcPY ztfrBjVzUq8o%Ef{!2E=3CZjoYiOnQ^&D1T>xps;A!F?e-z=kEfBL&m1ZBc^QU2Dit z^H;cPu*%_bn437BoyhF^rB00_`K}3b^I4(ALXAq$1E)G`D#HpY;jfNJJn~bqL>)RH z*LpI&BFS>5&J>e+1gg}ZqPrsqwSw7IdU}kQA}NK>_NRsXscMmO!B3MAJWsg3=odip zU_N$=fs)-E!GHbvdNcN{c6{ynsa6dS{-8cQxD+#LqnmrF@qm-u5ON*512V7fY?+ho zrdC(G>S6FnU9+9`6*LiGLmrjsISWj@A4uh{+R~ju3&?LKN`P`J?NeEk>E$=|xXb)N zgUa%hjrt%6?RSEf6o~hR_^q-wA0P{hJ_lIxl=DGXF^paeNSdN636CF&ESAiH^6?@S z0Z=9|h@^S>Cc#3V2?2*alNcfbi{9@3+`-#iX*D}0f78Q|=QwRB|06hXQxQr`o~#Qf z-F?}0UbBny*sm=g8Wx6Xk!@#Z69aLQ*Sfi210&_&XH}4Tw=rEBQ4o}o4apqsr$h!P z6}69n>^{QP8W9Eu+=mUjth23EH7Hd{m9AbR>2@!EUSYV2xwe&2aLXgrM851)iBBRT zh6`>*lfz(hCS`g&|E`~KR1npu-Kf-}+~4{;0hm?OP+z@;6jX7XU9}Jia{}k@l85n$ zIu3zHZs4@qR}+;HdU;A^-6U_#CmZ>>zgO4kDt_nDTEcZ6C# zJm|uMBH=u4d}pO5Y|@Bvv@$_PBLLsgb`9X*PJ0yF4L$k@Wy4oy8vN;w1i1$Uo^aBF zk1j$%ZTC`U2^jkC3EIMW7pe8%rP$zb5nE++OxhPGj;f5Pt+AqewR0ZpqZ{6aHY|XAT)Zf|+%ix!#i5v>mTA@2WC`BKhm#}b4!FMrKH{H0f=b6`;o_&&`rLujPvOr3HEk!BWh2Up3m(826lBP!&SpM zbI6uLl-17}PKV`tukJ>7L)iUeT0NqT|DV}}3cfYTM8Atz#y>W8!ZB`ezYSt@LXNN0 z5z5|D)7p3VRoPPh)b()6E|QdWh8j=jAl`&0v%fXruEoLC;C^M4bA8#N)XrSy7Q+P zP^UWl{5-|8ms0l3+|jhqFgCb1v89mf-Cl0&pxfyA%c42V^=@%Oj&{Vn*14MKdb)mB zp>*}L$72^xq<~qi(cCzt23!VU>j)|m^7cG?CZ6H}&4hfrZx09UO!2$K5}5pwJc8fx zgwGGxT{0#i6yqdj9bUK&5x%lk7Ae18_8M>{-cD85S#Q>Hd*a4ByVqNRantj8h6CMC zYYsnW^cUeyP{tehf0sho+?l{vS^knY75vWwm z6oNFtc?0#pax~&mEjpFVtn0P)D*DP6O$9YQzjs&bvka2|&yWB$`Ob%Mi!U<;>&aBK zQ84hx&UvvLi-X^>TxdycVfAgZi0T9#@K;S=Q=BNXETd%Yqw=gAq7}lWzX|C<^t~?G zgV7_vv;Cffy2crv$=4a@FVUAR$Cq`zmO*f@b>LuQ6V*L2qgiY3r%|z>m)__}c;JFo zs9ciQZgMy_f^sA>w@B*33BRErWrWErU+yE@>v!G0ZFM|h9C*z@e|mP#G}_2jmeFz$ z>8|eaYuxOpfveNkSN2|QHFi*rak5qyeEdPi(=|uwCZ%f_tXf}pB zJYmbHyJM}O@1UKq+&2m&!PLlLj96>n}p_9z+^4f0IXwPA}yzorbH3_{oB+$LNycqt%Zm|D6mNbn&^_n}C zZFG(Ni{GY=lOIgUQY&Km?L~PvGLHf`I?bKJWQnH z)`MhdX4h?c-BZK}vN}Yc&3dCme$pwtsOQ2p>$mCXw7q_NzB3p60(8F!uCrkjQS&>$ z4rJ%g1;;~1{fB6rB3j&s7-aiQmGg0b`7%cS9pi$<;zlo&Plvl7KXj!$kz6Py6v5Q) zy;D4CCq=oBZ!N$U_vvF9poWT~H@6Mbq!okYB_2*CQb*S;Uz`F$$5hcj`JPs%wuxp3 zmYma?oN+c4lA6@MSiT&|pAS00i#Cs7WG|_P&1fUQK*QUrjL)d!X3^^#sKr1CLTM}- z1|~?8{1p;*T;9+RgvzP;Zf)t} zme4{<{t?&rDnMPV4k;{-xmIi%`BN0A%1KE|%dKLiF-A12=2C&4Puyy-|1d9vhHs^6nU)M(eMWVJiFMD z=X9!Y>n!6Vq4>XDXui=f$~z4@{@r+C4^>XTi**xS^>2`=#ZOV)PQ*_;`ug&SG%iy@ z&Q^zJ>dM%d>M{AZ40-jpGztJ`=xTAI>0(4Y95(dPhhWE^NTNF&=piG_KLe)Hw{@B^ zr5esU*>0;Ut7cL66-Loxl@&@vWBs$jIqE+m|F;x?%OIfD&i+(%pd~Smv5G>sNgzf& zi&2#GhVO7v^!^pAGa3^e{^S`&r{j7HLzpsbhM#lqMO{n2Wr3>;n3BRw~V3 zr-bJ?6G|v67ls8^cX|HjIhBypTk(GGo1dbmluPG}d9UjwCB11;_^zfKaqQ?cgue{KQSla>ZtLs-Uph_s`}i&^diOg3$(iAMe|lM*RN$J1{69 zpj<=#V^jYR=K_$$1Q_H}Mj}f7v0uK7f&csCc5+7aUqAlGzxk?D0_3{7r=7+7e_Lq& zh$a60S7`C&x*h96Lj5nB3Q+-Ueck)9295vR*8e{2^>o0AVf&1T{*Q;~zrP3-zZ9XW z8H5Y}I7I%LDgOC_e*FS$+^hLO{P#}&`9(h-*jvTj=B(9!obms4g?#H?Op=Q&P%!^& z`@g@S7rpFlin_?0QodlUa~iv(!7e>TXsS2U^* zPNve)1}hpqKY3OHA}PS&gwM`sBKprT2g;&!zEH)SuL^yMf-MwOiehr^`UQ5oqhxa} za(lY&*CC3nKc9sw1ONT(*bu_YyYr!rX5Yr-4kW~m8}%1NzCvz%BM3!H8*F&6Jyhwr zfZfuuDDkfnK?v##rlh1~bmbPEWZ$?EMHIea{tc$2tZV{f3TJO=8ZRI%VgC0F*7-8` zZrrRb)J6`A#qV?c-YIR$IKV?_Ez0xg`l$HJ=F8_=W0h{GMbZD*0eWvX>}1i@FG`@! zK+JaV!0AhQU#48BD1(Si$3QSs_RSg>6C-EB7@5&YF z>VKWywf^r@jTX=RIJN)oSp0@94zLrlY=r-ha!VE%GY;6cjj(bd>y#h6j~+>eA`<1( z!l7Ov63bxmCH`xgAVo!ZL$4!(Sd-xe^ z|NTKnfZW&pK5CaJR=kcu`LW*F?mv8w>q#%O^25nc2@aEDXR%%KE2u!ESY7P$)4wYe zj1WyIT+(i2x{uQc^4>!{yy<@w1;FN`?*XHB%6+=2p>qxou9Q^jIyT-rXH(hN4(F@b z|GFVUU!kO=q@c)|DGy+Nc^jn>jr`+o@AU+x)*;W4cRzXiJBGzRfF2MHevtmhd9_nU zM++^HX{ict^|Jg=Z=r9F3&?bt9br=y>cp5ik0U+($@V>^f(*62a9fVbr4D${W zG+~nm9Q9a>WH|*DRX^YzqvYV=h?!7Nc-eq{0&vY(?{{ZyFeJ$#a`UAojK_g!$rsm~ zsvpRL(_)rX)azb`N+vZEiwJyrIO}y9ua=`;q2EyWUe{Y2n@JsA;kQYKd#M9>Of-Yt zd05N!y5v1M&+}JA=e>CurshLM?XKPLEB{xGsk?YRTd!yyW`p<_ASi50LqGG+$m3$$qCVtDmP8v^rGByV*({=2ZLhCbE0)D-OulOKMlr z_hi}=s=c4R<{C|+I4hYxgVX^ymuT!g^~5(9#5YV@>Q?oSsNAQWn3QGstM4mKH^g0c zpY8{Zd$%;fP0XR8rs-QR-6x7aH}M$WE_$G^DdE$l%@?VqDd$HnI)a<-rk@w?GZyVl zS{B3C>Q)E{RnxtmUeU^D`aG~&{6fCFJBYUQ6Rx$NDIEuiA<^nK`%ORU;VxIYR$0uJ z>i{uluN9ti92aWF8|6rLeqi>UVs`vfe&6QZ}O>{z^?9%2N&AwA7Ru-jFIXxVpmRMLC7X|H~p zPYJX+n!1RjI8jm=gP+;XKM$U5N;zo1UyQ(%(O{IQLiH4 zb+S9~I^uDN2DcDV++Q74F}FFs9CZjj)am_Y4lixFnDza> z(PG1@@@!GN%J{d164|HlHw^0XrA<$6!D&E7YH{Y1m7ZkntDRcYnc?NGzm9>_m+P%h zxuBO|%ib!>&9ck+keRsrZwqSW0!1U!(ef-M=F%3YA^gt`hM^2$Hk|QFQiNrECnw}k z8%z{rXqaTgQEHITXSlzDdmOm@TFMrVcMsT(MF5A4Rf)xNbsyHxEFhTK?lxY{SOW-M zG}3OMkZmP}4+s4EoZD9^+Dy#wj+tXO z;khsOqYcE-wJW%K+vYS^xm69s&M3+0vzx)BeLwY%m^cEmV{|5~%@fuUHb@QoV!9M2 zm^eE#Ao#3h0V^kWNI?bAB`5N5wpknOzjMUV4}r`~=@P7EJ2iE-Za>1a^{C3@u)kTW z381@F1`<(M{M~7PUIz6kt^AL7eJ#(%;nv^4NM~e|1)6dV87ra(+N8dt2s`OBfMzn6-&qMQf8R!YEj@9e|H}!VB>K$kZeh}uT%Q+| z0h6fN*mY2^O*xae@<$>fM-K$>5i`tVHBh`z3hRYoFWsetIPdI~@EVZ@}SGAzWyQ6PW5dgq+amVreh0f<=Q zHK-?5Ppc3M_xy^CfUxS}uMO96BK`FBlHY&2T?1f;qdtZb>_iTR@?oR$WyWa|jVh=v zH4}L%q~N#Z0q5r?w|EQXzRk+2iGTxgZnfo{>ZI02XYhEal62!CB?y|1Hn%JX(Hl~A zAdx8+2>Ujb8ynA^2tVa@vY25wItLx(Dr;^1;4r6s!kTQd`VP#z`wX+oc1Hbi@i`RE zi_3Of{Yd)lMA8B@yv~OBzN{l!8%%$rzBCSU~;Fj1Rx-6n)BzTaE>FN~C4ccF&iBB*D zpGQw5F(p6KZb1|&F%8Ha5MXZ8Cf9@(Y{$nRE6W7hwcfo1x*3}A@~t?;1raL?Z3(oF zOP*yJUdntrH+MF!`=7s`m7QtOp~38RYQ*r z1W%7imHWYJek*c+S7BXCuT3ZAD)k-+rt6Pm%yuXlV$-E85Yy+?T$PG&FZ^{ecZSt} z(6;FLd^By3uCBi=*B4{D;$6)l8O(OAt`ImP zS!9qAxz%WOG>?4rZl*txxrH6w2e-_{Ssu+{08?4L#xD@DU+`cW!T9iYk25b_U3(eG z&Bbf~5@^pn+QY&-)*IdCKU8QQ`h*mNNB#ji=k7ZTVX24&C;mH&oM+jgij4Rw37})< z)V-=I*zXueMwTrv?JookD55;zBuTsBtIa0n;~$`i^G>k)q*aU6OXFYTzWoxdQF#MK z&KELmISiwB#3)3Di#kkVwfy06dTTQ8f~}lasra?5;SPVsfi^C%QqZ&=<`!susch%( zUpmp4=JZ3$<_mKZS~}<@$J72nieo)868iZ3sSzC0479gf5I6kh1=LR32&}0eE9=JP zvBr*)deh3 zqhOoCqlIeQ*oo~-3RcedAf-kpu+#8qY3evDKOZztKvFul>o^7XL8`sOm?|A%=X+gG z$`DVPe_?jakjNDCevsy6q}#i>iMm-$IF``aw6z|$Y_}&(*A9FNRp79qQoBHkb}!`O zmeH0LCO<9Y5&p-xMNhEjyktn4uIFieGirE-IC}doS$xiAJ@6umDdq=aK6x_yY5k3W zsEPr=2NNS)+fh+(R)g!MrsK)MX#`l<_aPOUzC2FkS@LSHn%(+ zvgala*_2+6l1G^t)K!U=EEZzmiLOE-QYAscX`}d=160+J+tL%9)Me%;^0sufOt>f_ zb`4n1N5>$Fk_i0w2@7{uQ~9Kwtv>^iHuuf%>y9TT;k4fzUGI-?yD%_i?GVhJgIm~y z_7Sq^n8WkaNGPliG?H;yYEQ3bCnvdj{&EEV^WzECN(^lF_tI1zI4D&e&s)m+qdbDG z+?|YA!5~z}cpf08Z%a6LQMF8={)uw zalFpw62Exg>R&o65^aLqPvF}#0Axv!d|eddcDY*2#{fGXITdm<<|UpCb3m0P18(*K zi+xHSbQ~Rz&?+=y+`0MNwOV0q~ zbl)2h(679pzy~~z2Ry+nU%}LYQ|`0HuJd|Ok#cE#VmK*WWZKsqE58wDw$$MM z>dw)6`Zn4D#58ySFaU-TLIva#kG5A-@pznsU~T(c(pSXkgh_v%$Lbr@D3To%KnOh-o-}*!n^Pdg@Mb5ZAU}Km5$@n1c9*f%HguQB}I= zn=+^6JPp$JklF;1^H*y;0~?7RI3jl39WrpsdE}3Nr=J^_;hx^e1a!~GPin6CIWmuY zO0LQJcjPeskS=-Ou$d-x;8?$)?ySrFT-hU@i+cnp~quX_( zCjxU2nO@;%4yUw%5OI zE#5VY!JWg=>jiDs;~!wb;a5d~a;Z_V?7lii>-X6V^RTk?YNewMbQrDpX{bt%_lq|EeA%E#f7rvU z6yY8Tw(_BmD-ye?T&_YU!5<6+P?pLWp3Z?VO^sSKe1{SJ-@~Ra<_GiDFS%~sk2#i& zPQ$AZ=@G1l?Yx9Kr^e!1CRp??yI_B4pt;l1AB3#u2k;*4`N48P?Q1~=0fr$bP`0Q! zM8~bvqX~S;q52_%i0t;Z~rD+&vUsS^zI~5kqBA()w{5RB!%qF?FB2Pep7qT zw3qHHU^7Hr`9mdbn$?V##hp`l2@riF?0PJ)<`AuszPO)6;PP6rz0+8X9e5woFU_&Z z5TEYY9F_P5(5)fnQ8r&+X`-?(ZfKjCQSzXm)5NoIiL6OT26lNf+u^ye=At18g-@#B zfg)OQpKqx%l4S5W^y^aH=J)LCf2<=2OT0<`W-s~+)}^om37$-Xlu@H*QV@9M_+Q%} z?v70pU(@j!hBG7y%JtyBTiC6}0}8$#R!U4F#XlL3LLTUK4bIj_k7g^3?aX@pT(Iq| zVkF%X-O9*uOjR0xI~s1eE;P<8R2wwwf@lT!9z7V= zp!+4yCLa?7}StfXX#zr=>4Xe{nK-KRAXD7|uSBbx!i`3#r#%xx7CMJ1Y^6P+Z7FZqJ zJ%U2F?}I=7LM+EbNVN|_60j?XfMujF3_3Gn*st$HDV!-&*&1&PaN?Zc-w?OtDD1u) zRH(3xn60QB6sTG()bB=p*#DI8@AoJ_-g0xHw8JAWdxZRZdvP#9a?%)hS3C)Fba|av zxA5fqz0T7o`sAA!{F-LwB&PxhX@#aEzm)Lpdv{o=9$b05<_>O1$~wPnbkyC|%gTOJ zikr>f?_ay;l5{>+AOwe)1&7XTJySZ!uRK^k2Kq2)NO3eEO;?~kCd@j!if7=i9q~MH zRDv2sN9{lKpOSb#I z#ulfCjD>BDz!FBOW9Sg0ig}STCW{OW>Vm2oVPf@JWw|;F2Ej4{P_Y&d)O~yWbzUVW zz$wPYz^ZO`@p|{i>S}~`Sk4!g?jN5`S)$)ph{VjruP=P-Y^ysa``xVf9rVX2L5>ue?E2wN#tS-67mwF? z%Q$?@jXJz->7Gn869_^XjhB(l!z;+k5ibe07ZT&23Omg?%D2`IKQXeQ!1V#aOGP^rLA(nPCL{xq zj_gCIj;~}!B=Ql`vL=SP$R|EAsY-#vzb`RaxNquvlNo`QOTv%V;CUdaHkd^WGlwSf zq{lu7tO@%M!^YHZQ3?0p+eRG?GxK=EFZi_JbRxVck{T? z$Y;-oX|Gb>NKAAe)cHgEHO8(UA7fC$K-pfSdv1uw&E9t{*TtgC!J}iW3u7$$H+HPK z)ve6Pk?_y(zBkWzZcA9OYhuZ zA|Lm7B}IZ%7}ST>6T;}a%U``Cs4eu!NvD5#SE5Q}v9YyPoxV-8QTz*9zcwkkhu!2GF^U%j2 zc*lg?dAXloI{Hzv_o3>((feK8dsUtlBIl(oOj*m#khMJw_#e&l4J4q3@9Oi|(qVdp zeo{p64*lbF4vVq_12d%~o_}GFrU2o${mynd3WiM>BJ5dUYfBGVIleG}WMgXOXpA#~ ztc@LOAc{_|Yd~RdH}5i_sBlEc#ArwiX-qF7g%Hu0`bM4y3|@-|Odboudf3ixX^`i|$QI>2vtp zUw5D&-oA3 z^E0uv9DraqoBA;FpFSzu-qNcS=6K6lM2$}M@7`?mexIM1lz|eLbXS?40zj@rZQH;` zjs4St+~;iyDr$E9RWTZW8yI^1a6OFqD*=uzVf!1#(9DWpPB&biFgn0{ZnSEa0 z^C$&bmJ779Bt}Q;wjfa~G3sW4*s#?mgUm3^+O3%BuSU4AVo59kWO44?Gv!{d9mrME z|2d4L7Yy0T%|&yQGPu%YUR$qKGKeTcZ7~bP>;YkO^-TFr(ZSH&&x_~*2X)(b2Sh}; zBPZu_f(7xm%Vg54xKL;wNXDSahL0bZH{^hy94 zAwU>{*e}vojgb{i0zCs6fi=2qj=`UOrb85`n-x=SGS0-X(L2K#R#a*)0(ShE78GO_gWO1*3GldU5|2m(6Y$Rlb$P9VVFI#k z2wW_Ime{i57fZw+M@*M1a~lgR1cS~+tZ-eJ6+=@;T1aKAJFcBN%fS)1Ey8cpB zmi?j=k1X|qY)f_h)oqL~z|wvaDv64J`3p${g{${i-emM?KoS)aMy^!$Gk>l zx7qtT9>J*|`F0btL|K1NAjWl0hdK|X)6~DVEv8G|ZKjtRFQi~&nOJa5x1KRNX*;dL z+IzLm`q;@f^>x>DQQBZ!8*gXATe^V2#=%r(EiOjmO4{@Jpm}CzLhZ7e!^(QPyfXtd z!JNd{-}3$ZF>bg~I!b8Cxg;K&3a%U8We6ZQXsQ0bIHCNiBf^BPSFv_mUF|XsbrE;|=4W{0dBT&3|7qG{4abK|8w7GlI zQzWIQELuRioD&&a60xL@b5n0~oM5aqgM(EfS<&oVOaod~(Vi{Nui^30-_SDXfa-)= z#D5z8RbFm#`c~^^FM44t1DF6Q1ysnZu;NB>jRFdi?B|CGLfFL`@T_n~@OzUZ9!H{V z3J?(xx}z^Elm1R&x>?TPV?%Q^UZx(%Pv|>)E5Lww&$9!b076mgM?_UR+>fSp_$i*+x1c>Dg`Am zaQUK+Tz#MF;6|?47d{c5E(On^A-9~oV_UJEl&Cp%J>Q;BygM|Ad4*RWL0Za;0t$ky zec=Mo-C^`LAJt3VxUQ~Aq;BRtGBi_kvuBBTjLLOfq&t)lg z8PAnVGeb;zT4;TH^9l;h!BTvLY>ye^W~$P5@PS4_0i}QaEC~?L9WTW3msJoEf?+}{5Hjj` zWq`X+>dACS4H$M39`7H6#e|x!hUY&lf&>{*d!RIjlp`Uy*BFMA$LrL#w zHna|t2I&nM1s{t(eP1@Umf7vG=whp1VG ziMFvw)u0_eAFOhCwF^B{a08a(yZc4R|6{)bfe4wnG3ib4>UBqkZ*9`}`_lR=9&NPH z1**tr2~OHB|Z?$WMcD{~RCpW5-Y`m}jlHKh_($@wh)7p;i)u5pg zB%r^g&Lv*uc6q>k9lUc2==1mRL~9fFNzM;6VC?U)d9~&D9C4%DLby$ zzo?0uQL4s1R1;2eT`Lff@0;e(uBv!+cOqTAaV{c!O)VeCf@_PUKc-Teiv8XNU^9;C zT(@1it4)Wi+Fg!`Syn0Z8&w1HB{@TRv31tk^SPZxf{yHmdF6h*GtWc00ciMi`{6@U zV?yL6@kkOuW2f^?r^h=-fe{qw+C)9O&6hrpvL!mdKY|S)mI0PO-(zThiVOw$@TTc& z$5pvA{s!t_e1eelYuu|P`MCHHOHAvyD%ulfF$LppROK3f# zw|~{n(F-r*>*#&!eXI~HeE97FGm+?^mPYPJ71!L}NV+ii$mNx@zUq4R+jqthpy}INSii=(A;X%$3afri zQQDy6T88V}F1W-N^WzLu`FOdbK$l=^rls!U&3DxqYq$N`#N3~$QkJ}#o=xARb~coM zz9_&HcU3PsFbCVoV!J9{xJo?Yotz~fP9y-KAM>p*a@(gqg6jOA=F=xxrgiL>E(O*k zR;S#-&}fB*{*3<7nWuZ7?MeLeBr?- zlga*!8oE-JiwKS1<^UkONN)pmLalC81BfDaE&?B!$Ah$X3(e?18g-OLF zX7jafZ9CTk#Z`ZvBagUt?KKTh_KGdm&F}myh|QO5a=VNlt4&*x z6a77p?gzYYW|2K~MZeEg8TSis;aS3jKB9LA{I$%lm+~RQw~G}3%Ru2#K=>a5ZGuYI z8~G1u3PW-c(a=0HaYb!8`>Q+&T#!6i4MUUyk_-nD8C3?t@%PziD$80PBO_aoHppP# z>L4QVeHd##+FN~B=tQSh@V2b!G*3q)>DQZdw!&t{70>hEo=H1b6~%U)1&;EA+^V>QCX7VyTVlHg~<^nUXD3(Qovy;?0ZM4ll>Cdc_MRAR3m#wKFzS z*76`ipr#PAq8Fggb)RaVoB1PJAPeK1iVE9d-vG`P+UaO8TEQ(vaQDB7Lo4MW4L-TMO$=_VmiMT?5qn6 z{#}nvma(eRV7fu&iyCxo+A?5Dw>Q&LWpZyGxkZMto9DpyurzBI>IQCu@phMFun696 zzd`UW%Ytt=msUcB;#YpqhCdT(Ew?7P6EzKXe5uk%=@B*u`nzWVC700fYoFKPE|UzE z?m449t1!rbk`F(j-dJ?{yMvEv39Vn-uSK_I+;ncYU$PwP*QWx>h6M{~9l2y*P^-SNujQB(&17HfP-iqtNP$mKzXg;Ev%|)^0d3Yg`y6paT@e_e%8M^aQII&!M z((=F?R=u^clNl24UW!C#$tkm`>cm3J#V%e~P0Fm3u$0uXo&J&oC%UMM+NsT+tD}Wf ziPmd8vUevy1R$=K=hGf_gANcboKt{k@&yKyY^}4)o_Xq^JJ$`C@=yIU0n_|=N1wrm z00fZ7+q+-dC6U(8lK`<@*(q(f@D+~SyXd2UFh*-nD@BPn1MOBh2!&|>Jp8KZyCe!M zJGq2%DU@ck;QCVSvLb76Y?}TiT&r~@kkY7)g}J-d5A-J--{U*kv|P+7h_b~AUAFMI zN^!FEwBm48bZbJSp9o)@&aZTYNCR&@H}6W*Y`nRH^~4{>ylVW={Ef_Cu%>j|N*rPK z&Z5q8HI37HZoD4ZHls&13%-_*%S$D+0fS-p5D6j!Zc@T)AB;0^z=jhq zF-V$G8rQ4%5rM;YG};g>?%A8jSU=$b-+Co{Z^%gY!`R2=D012;? zvMiw>nG{`LYkxew1C>4nOo2v8;Tzf*{C2VowpIMk6&CeBnwW~qZciSsCs(&T(pX@K zV_k*~`VS1J3ggetqXg+T7M$#pt2huiqZ21J+xG7@UV*~H-XOYDAdP0 zZ03!%UqBO5-$iPl71M0`)!LiYw(6}p-*i;K7v#nH;V@J%fQQ9z5%Huyjo&;W)%EJL zTdq_fB9_thv9{t*7laaa;S8VGE-TGV+iWICOF$d+nH=xJF|(-BjMUU8w~5hl%5T4e zPy1qN(?dnpRFKH&&UjL7#ZfHZ1Yv-b#<@3KxBW7#g4yCjd`` zISjYa9X`fmWWM#;Jf`Sal_!>Qml_oIT?p&CGl2V|5a_39W&+>gwlG~CYG}`|io}0^ zp+q-q!(8GG=-nJN3E?PxgvyLL2JrYQ&I>0oYV zbINnqp7K*}ko);~+ZZ!QO`0@-{zg+u8SJoyND(MYG!jlklztq1IyFff8^7^kpIu}o z=S37RWQ7q@^ttxSJpPYGj~Ipq=Ulp}T)V0LJq^vuug$xJgm6`Fy=1{Q9H#axP1j#m*sdrX-qu)OZYpUzxMz(QOT@QvH9K8RU3CFF;X+1{9 zboGnUQ^#)P5sfQ7>m;vhmHhoH?{jrJTyt1S7lbzVZsc9NbE1>wmr@-fTVaUj68<$SWrD<2pA1*nz28r5ooNMk#xR2m#GOl8UMty2-zRx zbszEYf7p8quBy5=Y!vBELApC6r5izzR8r}d?(S}+I|Zb>OS%z|?(W)j$65PPpZEQ~ zG0q=2=N)4Y#~zA{xz?V0&U;?>6}R`G?V1%P&(v%Rz4%X#@ay-T?WvkaL1)9C3KfHF zg{FTu{;e?-+VU?6IBl>)%@-@=IH^jdRWlNi0LgaZiWUw(pHVzrG6h5r$2jzIaxz9K zym53@dg^-zBV6caoDA;ZYDAI1Jyq?yHv2>li|Iwy<8=c|#$tP+m&iwzMvE|hlDL%3 zD==Sw6T8_&NFguFWiEPm#wEwo0i%avtp4>Em3J^?G>g8<>cNI)lu8~n&0eY1ogX?b z=yDcHCJWi`kXs`Eq1Tdf!n43ynYS3XwaQ5G;5lT(d-A2q(o}?pVY)$c7EuB5e7@PE z0go3|@0$j&p;)&6eYo{h;i+f9ZjgFU__*Nd@%X&|m72NV&{ zYOzqC2rS(^qrOrG{uWvP3MDof0aKxEMo@6eg6`H)$Z%#{I0l5!`$G)j7Uga=_R~n_ z!xill9_v+aR2Xj-__~LugL2-dV$I%vP*1>XlG1zX8>KEIE^99*z|STOPhwFT3uX1YoQ?womdi|&9>XR8UOnC z)7MLbxGW#`cmc4bBee@unKf9ne>`6;*k?yZ(T;E)lP4eVhzZ7#SV-z%*^T5~lnvF$_GNbx*wcaw#@A(E5!X+*zgVn4@= zU39AV3F8^j$(D@0_}mpyb3DWqjm_)t&7~~8*5P}~^xCYJ z7mCgc%VFQs9Esje|BV7wrFkRLDAj4)+W$OOWcY9rLLCDBVs9D-4??fKS1yv?Dw>+8 ztuXlIo)`93S#{!)l^sS+Pq|fs$s%n~hOg3|2~(^@vsHApQuz1C{#l2u5lG*v)b78b zd`$sgfsBKxmmR7;wOMvY`Jv55Thl zqikTOzMahaq95Z^t8FsC9AtSF0)s^VRm)QxISXr0|J4v3#yQix#;q(#Bh~Nu0}y{d zK?b1`$0;);yg$XH$}5O8`>b$QXe|_{1gXXv5OUe-<~Zbuo#OL<2njMEN}cwSyWJ6x zlVmh7&b6WbBi8CCgOu!VG`@cQIFPM=#`)&~0P7au(exIm_P^~KR{e2Y`R{-G_x&G_ zyOqO#z{!6f!vFC`_$4@|Csd2N`M*c?&+qv6I+W<@U>#NI_0MIndh-9}^%esFKXd*! zr2jpo|IMZUAAjR~{Au@*nq$PF*BKlW{0EmP%hXUp7!*V)U%w9fJks?uH&=4-mw+vs zOF)_=J`GKs+)!8gTF$@v%(wVHdOgyTU`dv+-nZ^PMe!NXyFKkbdBQ|sIe&kaAz-_^ z>Lcl9;ZFQd>Hg2!8w?LQNldZ+=54Q7H+C6ih($*H&BsfM4IlC&I>f}-8%zgEugmkT z?noC~gYAhJ+b?dp0#up54I9CyWi$*)K$-vqn!gSSfjJ*j+*!=oPK5keprA|lsVMw# zA(b(e(=sZSMs9Nv>O}58>tYlfJj+`#VrMCy(_kBLjQ6ph$s!7dqkHoAj};3#Aq+}_ z-3)3Ge}qfG#_5jGZtdb4G0$;)r+4ZGjkYskHW}l7dg^&_0{x$bwVNDRN%c=lo9_u< zF~cl8s;*;(HIJTfL-@D{3`*)XzfwX8tbq3p$^X3-1Ap?vZw@8O7b)>+R^<81L1c^o zaXl!HkkkLlwMcz%NrfZWV6|*3UQ-uDLEVO?6PMtRx}gU%f6`trzBu9TBLC0xJdw{* zO0J5D0>VKM`8N_F_+5~&1%HBEGQgYk@0X7nIAN}&)#mFHwUWR>PMml)CTW|3R3-7> z`|u`HXmOUR9(q`yy^v<|+T zhO%2Fs5-kI;nW}rMQx7q@3@4C!T+Dw!{*b~EPV$)l^yi@`i*fMk8exLpZ~5GCQOJ` zWAqfz$2wrKO;!c-?@fOpYcB+Safv;AH;F}?t@l&8>|@W~4iIZ(`26%ZVnfS^g3pN= z9`y0!TOhrMkw!iv4$vln)8{U?`o5AR0t%YI@whb4UOd}*lR^Z!nAlhOxRd%-YDC{Md$K)zQ@4QTem>qD>T*DI}V_59YOUTM5Oj$rWwShQ2d<}t4X zrZ=bU1DS`|A2{9ONd(P&Em|;rY`j(!f0nCH%G7y=V5sN0=DYEge zG8B)@ddPbrH#`M52$_Ia$@BR#F`OfIr@X`8Va4;&aC#W8%5-axevc94kN7ieBMSn>o6_y*+vRfJVAgBFyjI|Co(613vIkGvHagSWrzY*`dSX6+a6Xql1Fgpf%-nfxv>7rbrtul?YpO6P0Ani4r8FFu9iRXP&` z0H5eW1?iOi>~}nvW&)bm(NV9LD)rw+0(;6A+{pfHYxuF&Y-1+=Qq3F3%^sZDgpFB^FljP_mBJ(pn&pQxmejrVbzU|+1vOQh)GOq z(&AH_p6yNPuQ&j7oQi?&Y_qS|1^=!PKqDW~hdcfyl-3x0EbJo{VPTny5Z+v!MQRJn zmnfc#MPgn;?t1b2$aH>`Uck34?hKp0f0{|1f58yI^1v{M0S4em-0w=_j*kg134w@% zDS>CQR9BiWYBZ8sN|d1sV4hV5HY3!QETb4h>XhZFTuzZsgaY^}Ty{0*^dG8n+s(TB z$El=&IJ8zzAvjb*7G;6@()k*UYJ;n+qWi9s8r&(C2ON5h*>hf;|J3Bdau~wS0W=w& z60chyLV;)*X9>4UEEO7<@pS8B=cu>U>CN^wO-~zWLj9icw6l^xYijuQKZvR@B!(P7 zE5ms5y>X^orDoB65c-&Jsi_&Bq#2RQ5#4CF-B8Ta2N-B3N)$z6P^P|@l41>Vadnf3 z!2ejT<*@{Zt3V}}3v>=$c?2|YNEGXU(D_R0o^V4Tq;u0SiyfLw_y2yY(X z0^l%xrd3pujP-n_NqG_@B_pE*%8CWrV&%xSKg0fPprq(NDYd53>AVj1@l?_{L%`YB z1mNeO<}2q&$PzI-JT^IiRhY>D!61!0x{e;k#)3hmB)1%hy2=OV8G%ZRXo<3IHk4W| z(@m`^?^>&2ma_o<>$rq4r4y4M)j?gmDJlW5iEa2w(9`1uR8CrQP z;3gUST{fOV#CKW78q zchr~xozYpdUcPRQM3W%CxMbxxJtdw>37`^_IzXsa?)S!<$cLMpN`ng@OFwtL#@Vfq zh$Q4;1cX_WO__8^HMOcjrJB{e3R77-rqe}Rb}Nl`Pg8fMU)e_|XGF`NbZ1!}TjA$% z8GfJmHo?vncGyBza*%6SNpJMOYdHL@jm+1(k0gS^ca9E6K`0>&-rzIo^gpq}&sJ@3 za2wc4Jjn0L%G2_L^>yw-@756if{3j0M9ihq$Ju;0e~@e0>U!65?{&F9Gc(YjlF_OG z>vahS;GgwR-?2=f%h&uZDn)c0yAhaYXQ1!|;h6! zMUSbg^m#@mhW{AfgFGpE@&i^OJ0!Zq4H2xj#xiY(Fnm|rv>T#iy| z@9+gWLwqrV1wJerqexN>5y(NXzCtv zt5s9}>HfjaW!|pGevZtXKtBj(WDy?A1gG z{w!hqT=mCTUzuc%0oD^0rDY)&NHZ&|e9k}nwIrz-!bRgrr#DKc+xb=Vam-GJ%jX%t z(_viaH6J93{6rCyJ1zD%E*8*%+!VBJ=f}^`$V&n7qKVoL@k$?xqtLIHrP25Mr89kg z&EY<_l(8GCv7TR4kM7NuejheN0<9WrJAcSZ{dT^1=<0TH9d-?D%RppH!^q~=$< zV8w6+ST%ZtE&Kel^|zQvd;^QSZBKE(ydDZij>g{GLe&zUtV=Tk)Um<6?Mi<1W#$Ir zk3df8-a=d3a^Ews#*hOgR{U`CW4UR4MH;}N7(XwmPCs8ejH6RjDQjkp;CX3B`!Mlc z?icHr=~Nk$D*acBb93(F<#QQ4E+c#H`jGx6wJMWtt)ef3t8d1$bj2*P9yhL63~t7< zx8p`}G6aZ};E^d0IEYuVdBG8AIc)Z5{G+&eLMROza)q9EdrfF+ z*!maIn~E6?t@js~tjFY_E|$yt^juMuIK?%b5&j**cR}L2^em^w=A0l{tvvV*rF=Qf zTh#yyZyH;z1hPT9In-Yma@vPC%?-zlJrg*)3(liA9A>{X1l>UbTU)73?+43*Jh*XZ zd)Ei(O8~|{cUQB|WXUJ#fQN#zR=1xnmcN%T@~`0133=xRT_sXkv!L0S^ zZRHN{%0oK8rX@IJS|C{T6P`%> zLA0l2X+z^{I-q9f=~K(D0V%PSoKITi60Ps0bFG~GqQYVRObHfY@)xPFCr`1f()*oc zS36ZeA~r=z9TJd`fN&|JOJ;DLF@#nk_kg$=YmAsd`1P$H_gCuM3O$g^l-kI6 z+m2o6HdTbwN1CI0@JtxQCFwi-;AZt#U}N`#_K!NzLna0OO@TZJB8ab?9DQ_ z<9HfkkM86fz#?+7w%87y;-oi1YJ|0=E87Ym4#mIm&b>c>#O3(+7X6mkXRDIhJTt5cPM`rUw1#VyD z*d$smxsROxK96`qSH(bFe9c~QPcIvoqHn}iLBkV)Z{uHZ_!pS9?mhaJ|A-uREMqv+s}N z;f`;=KJh=^YzX$+`dc=)utll zVxB~br^-YfQg(|$C6ZC>a#zPW6YR=Kg!#r@wSc>D|Ei$Lwjy-v_@P9&Nc_35jpCS=;M(kU_D*F`)rGgESFkzxFJE! zAWw3=ibjT4XSG6YIP^Vmb$7h9`Qh$-bZNAY)EvU~=zjV|NHT^)Wi#ZRk zlGe^`7Nb=Q8vF1pmvSzdVn!{2f!e{jo=|^LiA5v#Uca`gM;hI3D#3QJYr^@(!WO}F zc|DrgGP5?BEOU1#A*J{^O)q-*`IUpC2W}VZfUFdSH;a;_4BS_X?$gK9APf_lDdNt! z$Lrf2z^-4**1i`|APxWq9osqANg%w}fg@XaD{@L}D>9K`-QB+Pe(sC2tb*4YFMglS zHqn8WhwU;&Oc1Mh-NT+a~0A z_{%W#x)=p&_21`U!nR+z@jv?_Daq_lk6aq{A%C|)?h=e?Ce=m$cacl+KFT|=bX)mR zGbMU#cQW`UkjvRrrAXrwr^RAH@!ItWJoRnFh@S!~%MU!0e15M}1aTd;%lCRs4${`? zzluHlp;>&n@2&-IqIi%SYRjt`j5c}Z>&$3gUA0Lz!Y(iwJ_~k=J+hf9)vds=CiA_&0CwtcmI{h%cM259v5ge4+mt=YJjJ z(J_4x=uJ{sPv)UsI0tfCOb?qtU4GMCUD}sN2VFh|5l>5rK1}({d@Pt-#N;)aU{4B>?FM*;F!Cta&1#so2V+0ayBa0Y@P-xz9OZ$ z{3AKd<{QEd&43sP^vcaItCu2uQ2zjVK8)lQUTq+dTft9q=t&?#H*Lid*P*fsF{6Uz z3cpee%_ZP9+oi8X*em9>PgGGp^XI;b0b|K*W_u#iv`bw;4mLg(47TB7>l}7(=4_lPQmCjWlW3!P50|;z&c7b0fjDl>&kg z=OAE3qm))Del~13%EPL)A=l_hijc}=X$5(_1@$^DoKy_Sfo{U2&|rj+6zhs#C;EiqAe1IUhb2FRW)Pp-xOv}1iF z$sj<(VXqsNgi!fybXP6PV_NY=K62hWIX)M@HQVOrml8v%tT3PZXqP-XU7C55hHR}9 zd9KxB>t2m=Qy>h%^*gY63)jYBnbv0DwH zXavQOR(^LV_}oj{ZJz1wXKU|xC6W~j99LV_-?|7Auxd5qmgr>ZM-C-0Fi0mReg3g9 zo;Sn|Q%8REvdNJJzGJngdleA;y0?o+&Dj>R8vGhwZgtZv%@ZQL+>q>`!OT+yEsslh zXonSX{~A()kN&EJi{|xFj+F~Crxv3+9J_Dz2B1?72r_)gC^W9KP~whFg+m?-a?V_8 za+>jC-sb-UtWW}s-0uZyXOFL&)DDP}f=htF^4061U^f@RGs5;HQ|c>>1f&p$M+EAk z)70b-6oAFihaV0@IPZ3R$>z27)F%U$;{j7E5pJK7m%BZ6L3S#2=?fMj@~sCMZVr(s zhtEJFromCln~bl92jK-3hSEh((DM43%AOm~(d9}p>%wP~St5GWlNhiE3+17%y_Tqx zu%o}J2L?hu?sHy9%YbDmDIbFHFRu5lJcbbF^CgYM$VqN;H^wb<5d#)Wu9qHnkG*E) zdF;pEAos~6lB3;E3!nKrgDn|GHI;o|Gj|B*$u88qNKz$o!doWLgCp3pF_N!NwOsh7 z%#gWdf5Ja9H9vi5QDIW48 zIhrfyM=SE(EO{KXUT@{d2lWp8BBq`JlD8dkO4Yj5-IGeidMde06)o)5IywG&UxK^S8F#>n&iw0ccm8T18MZsV1 zCy_mv*ooUcNs?%OBS>trfE}O=g#i?0R5Ntch1tNm_=p$~Aaf+g_{mwGG}V$(8jym? zUrWc!kdUBO&co7L*3H89&9P62YP83~X0t5%Qkmg}+!`5oSk4wywnrV{P}1*}x44As zcykGTrGc-8D~GqR0YaCPk9iiL4ZB;nn+}L54p|Lb-asv=Sj-0#Vd{sz=f;v@QAp;r zC{ip{t6U$iQa0O3;``ICLPvn6mXl0P3lbUaPxE@lcG{&)Q)lt|QAiHJFRBPC%{+ZZ zaK!;SjDcFvU5wOf?3gMLy`mI7lk|k@I8180+(g1(o38E%pxd@AI}p>FF8BBJoWGGD zvruur@ZYIgnVZ|mU{HJ9!YR?HR^^dRZD#{UZ@8p1d7$z0@-YIM@kcnJd)=fi*DJN(a3j@ZUv@VPV*ySzh(rw zIC1$Ic)4&z+sS~<&{6krE!^uMRH7K3=Ml~+NJ|Ummr8FXzWf%h13q<_FK}(I-TVnt z3Odo85jt7tSRcyUPN@Y%0Kcj?bec^yI+wpFph&K7WqUT?v;=fvt3Q9qr*65|w2!tV zX|8I&MarjZxv?Mv38R zuqsS+hWL=3cy&CXN`uoo$OeD&#NyttT%N7+R=FsB z;KTMPq}K|cgRc=a)-rd&k7Uk^sw#eOu9KF>e|9e9T%5**Dd>p<3e4jsrZ~8USW6$ z{3{iS9<)HxSDhYcg1OgA&te5d9V8yRCc}<1TQ>ABaJvqstXBPD7(NxnEjsR`XE^ID zK3>FjRH=J7k)}5}o)!Y)Rs|TW&C;oTItqa0c5zC`wYB&gjNc>%)7gmKmXo2Y!XaQG z6{m#T696<8Dg4VC{CYzGJsllQdJ!FsM>!v!1fLwmT#cO)T|KDvyl$lE5QMXOQHqZX z(4h0>u$`&f2|D|Ux3K3=&aL%?lQ zKVHXSI~+)-)-Pk61i`es-<|fI^;xySOu|*Z-|yMUv`Z5}|CVFXe1)pYjcoow>Qppd z9BFE>STRsf!|$yHm0V9CYAwq2?ma{j2|lt z$@_N=gw)H9XSK*(Bb(O@x7h}g;N4}qJGfJ>tcS5(R8(v-9AxqGU4$t8 zTpzt}oK{Bt0FQwlIkzXn^m=@C0@ThEO6^s-7+TSm$2y>8)C*f{R#94XVx+@NMpR_j`7O zsTMwrWB^+sL1(xtf)>hZFj~N+0jlwNmoCU@^GWOk;ZFn08~O~{XQMCvsb@?#*;Ttw zOr|WkF!e<5FL43jCQ^VmS_)=*K9cip$7dVq>hmAJ#;-z-o+YGJXVL!tpbsG_#Kv*9 z7@Xaz+%LB&yL(RG%quj+(@2%(YdKN8rfl_ZGCg?E zv{V)EsN!-B!Xc112j~&#{vKAr!zBf~yFXC(4_L5o-Sm1%l0!j9mfkDN9e1Jzai;=Se2}jq-3!7!>{itqHHxHnOwCa zOK&7F>Fwj(d(47g(w3R_-8Pd44$6lTN+nU#bYT zp9y&Wo6EV0{sNcn`fxd3%xS~o-+2YR`4$2Mm%N==Fwp+*zx}`7>xBYWX1#2h`}B8| zf9X2lS^WFu^MxFk%N(t;SN}a9{=$HNE=c+v{E;e_r>6h=4f)R%{$47W8rRrD{y+MSqwH3)nwuL#=R|lcjUW*G-;tK7$wr0 z{ks?gF+>uiUPlbM!W(>F7ExgLCtYM}ULBqkZ8A);{GY5xZ~;j!$brx`#uWro8@k$XN!5!Y%f)g zd2f|Qg8hq(o5NgW{_ecOkgU=G`jX^vX+k7lFw1k~?WT(rTs}#4Xy*JI@CT!cj99_3 z{)j~Sc*5WBiRB;POd!wwt78zp05=3&mkk5mFjaHk2bOOIkl%(XQNjM#vq~4%LjY*Z z92a*b$&tc8zD>4`i|GF6^26Zl8zb$!vTZ9GkK-%1z zEdIQZrs?_zD*7w3_$3Amf7d1P@ZZ|!-;w?MMmQWJ>%b_y)!LDZ7ooeaPdZGcG*^5m z;p2CiPjt#nH7{uugdLA($rkD?;sID>a7Djwu)_~d;Dr*<2yjhv`7Y>mGe(B@^mv_d zNnQ$wlH6_2HU}6zO7wcdq%)D2CoL@J8>E12fb_hh)Lv1StA++{AVh&R(VDsTXM$ST8b`1e8GXO~)`@jdq5a&`X1 zz?xVPID#Qv--}N+g)^S|XUg70P#iI*-Ykokavp#$e5^KN0_3VGN~Kz|2lma5M{y_z zGklqO(h2<`STy_#UjQ_c!*ag+JdKXu=E0wkyFy!~^fOhlN(p=++V;H8LVl))++aL2 z^B5IL!*zzv6jVmJVtrYfi=!!dE3?qO1|Tmcs1TG}PXTZR>089DJhfBID&uR*xfYk$ z5)}{4Hp}$U%dunv4%5xJM_$voLzPRh_?W!+1GhlfXEBM8qlPE`tsmjX#}Vmu`O%j3 zqGBpRGA*DkEx6wT-6zcbxNG(@T8KzEK*C|9omsZdp)7D>H5|{)YNEeOPfDV-n6HZs zji;B|W6Lv~8PTlL>#_Y*_%wY@O%oLG-7%dP%zfQS`NVEC2xvvq^}$%@TVkLLr2wU$ zgn$z;jMMERHOBJGU(%&`Htv|@r&F`Y)S50yxL*Dce!AOm0-Is&g$L%vi!{6&Rf4ht zIPw@)t4taV6&iqJAvnUoWxeuU*E)8IEk@69h49j;*Vl8tD8%W6wsQbuN+>RGRA~*1 zW^)*fv!7xKZULZ0LjX@cTjJ8r=NpBzf}D~of9jMLmt=ZrG~699u3-fOlQxcN@&>z|3*g8(1~TZA*tvl}xdFQhpWu*S^} z*)r2%80}jxaDQPlz&cc zyxyB=;4RQ-4At;ha;WlrA}m0AS)JkV5n;u~v1b zi`CO%cXptWsD*-Si)`b#vDI||?0B6?Qv7855!_$oLTivcXgs0JcgAWr6~&zw!*&Lt zH9VqrAc}bTvcji%ozxS{ypN+Li%89Vl+6*m(BjTEmwAuq$TJG4MK&?PY(xZpD{07N zD(iFa7xa{3DK@X9Z=ciONK?zF&@R+j#&4J+XeCz}=1BwbBSo?VJ8*6KJ0meIT%Rgx zSeV~Oe-p2<;bIo#%V^ZgYlmt$+hX{V$5npC%$0c`_4$3Uhzd&wrWzv>N0sH$=jww- zikP7zHwpoDZ4Yk9v8~_9^a<}4R#RV#V38M zsE=UOAM?G%V?XH>JLy%owBh&h6M*&{f?IS6`fB4e()LX6nM1|n@|6uUaYna3+?e%Z zy?7Flo|{+a61Bxu78f433>_b8jl~xMS#w)6>vfCMd5ltt8r=->t3{Sd;ZtgeAVTNk zdEJf{v+wbpdpijWmUg|a*4`qtxc<6y<<8f8Go#5YJfMej!_#j8RbSRRYhd}WfM|-t z8sp5s<9i^}dqEuB&kQC77gS?It2t4^1<&D)RDzVkc43S75DDn^73&=b!! zTeV`Jq{x}#eaArd{t1XOXu!O(&z$%=O9hQl>VLLpYYgvt&7BdGHr8OQ`xU^%o8n#M z&7?-1ec?k+C+*^GrduvR6~80o_gbh2kpe1#>q0YBoz+K^O-Z{XOC*pmE}t%A;3{_x ztky-2NY~^EeE+jI3+5U;vge5!Kj>k3o?SS^22R=tBC zH}^hp756K&iiyB&`z%tet^^4=WrjHcAHazi#QPI~2C@ znoWP4gh6}WtKSiKyFjic6r*aW6jg&fT*vlFy1&4paYuR@!8isR?Vu+^f6OA-it zc%BH|V^yYH~`7D1zuth`v8a3%kKA zPAK}P&kc~`gj(rIOJ%vDuU`sI9a~Nv2ci(vz#(V!;ZUj^xakU|Pff=;9W0BbaLE2F ziP-X;S#gey^fMlrQHFXo(FXeQ^m#Sg6dJUdcJ8`&qc$}u3^NMRdomvgH#REtNGY}d zY0=!atbR$XK|Ay1 z7O52JqIcG`myc7G8=%)3746z@Ms0B$8PrdMe)R!es40YYe&!0qBLuY)JwMg5MDw}z zgAd_^@WoSS4nVYsywC=6E1Eugc(0EhLA^pFb2ux(D?<)`D0>V4oi6~)&-uN>8d(6j ziS44{gV5vd9s)}GPu$sx;ivp)p}ipAdx6wZg^-D9q;&!cnZQy4G7hKjK64jGUcL zj2=qNuA4Q&HwoUy8t?b=$6PvK$#%gm@nfJ@%%5Kl>Tf6Wo-EgHfhzSc-$GN%Ln8bL z!?nXp-oy7wIs;Tp{Vy&(S#Tgnx0yZ<;$F6%!~l#=o}Lrmpt5i;r(u7@UgadxZ~s@J zN&13TuP$6A8%GqwnW6I>3U*?Pp7mvTwAM!rmj%JcMLVFAXu7SZ2#2UbuvIx$xmr?=_{XFceELw_#_X&|9~B>LbZSNXphaNh`a6=3YXWB(dfCSqyYPszhTD+_sg`0oJ zU%znNGJ%IY>!3^717x;+2NJaGed_aBN$ZtPV}4ern5{~gwn!b&>GOt{*O8tEHTL30 z+YrA$E3IETrrq4eKM_XOcF$_)z}g*M@#4zA#IbomCTT&^zvz{+7KJrMwio^MZFj=j zpG4=|3)Y|E;B+Pl7`3KQ*Bd#Cz0l}J`Z5xO!Oek@YYZQC$M3D-J2KJ{IpyH zNm*vE2eQ^sdfNdrucECLF^8Brv$AHvF{aB#GCw%8a!p(#v?A_@r*7xNlyjDs_{p3O zp&H*CQn9sIGGN(G0BK7W1DT3#gD<-LOwki|B_Zb+>;;SS#|=NqL5e^$MVq+i3)Z+! zZVUS^q8H(nN0YgAg>Yr)+}Q0toj4^`U2rjgka5A`(1V|%rIdMhfh*k;MH5>B@L_*{ ztpDbiWdmimp;!3J{Q0RIiniW(-f7jw*bA{RV_K z!q0M&Duro>2HrVrGrh~FD6TVuW0rIik&;91ow9a66MOd82AEZu5)U2v;DZ&V7rhhZ#hNa@>od znx{46-uR?Dh8*WJ6UN@6Z8R!F1fO;E1q1iuCj_jAs4sj=v#>9B(ABD0Rj46KhZ8=O z8O4&@6-V=*#xaGwzxoKRa{vnpG*vS6Mh!%3?h$SWP-9h|HYhzCTd*gpyYqt9?Ib?Z4`gF zkXYn2f7DStv76GzNVHI<57M4}CNBjMJmS03wB%<8ePg0vfnC0C_lrC|jS59Ln)X8@ z5j5aQs|LE%@*V@ zz;Ij0Jeo{_%vz?FBFrM)O3f59ey0f8uw_0>Yy#}&PeH_K?7K|Xn4W6Ltw&x z6(0CVm5zjdA=qqi)*W)@cSb18X-xYO9yIp69(H+@HA$B1dzvD?mTa89#Xl%pxL3%fH@QmT7#*x>-c4p1J9rpGdOrMm zH?C>+s(lPuejefZ0a&!We*koti*^KCP8Bu?s$TI^5KQv@xFF8B}3J@6}sR~w1U*Sl+a{yKu- zLXM%WnwaQmiT3$k=SY2T28d^$>dXtT=zHGQTfAkraJC35Mwhu3x~LeXlX=pU;!-)m z{i>|wJ;G&pMw!`^P0V3BKFhjpXz&IJxdiYAbSS7tY9@{mO^(88z>TfBA*zQVD+W#t zxnb>amliqYg<+KDy%jDpc!_IMxRKsMDn4X{P|&@rbq~ZLvWl1iRcu_8+qs z+0N40kKT=6ZJ-JEk8Ql9SDI}^)vptdG3V);mC(4y=i`SGWnWz(fe$~eHvSodx(`Aa z|1PU8a?_yjEHM7+)C;Ht=fLvGxyU3gQlAnaS9Dy?c{>APw21GgV&IVc6sB+vZM))C z;s>Ey#vWGKw~JWBq-t!2&}4+ewcn9ptD*;W%%L+1s0GXEs_Sz+A3hKyW%GBT6PnT@ zHlrL;;FJQMPq^6CGmYKK@rcb+qh02e(3i(0&yX)-0wU? z;?YMnQhzaFs*mBdLpJhj?!$QY6Y3q+OSx6n0nXs^U2r7N4i+z@|hon}P9G`HH% zAOJCQi;Cr;bC(UUPu%?Jv=ZwE@)BN!!IxQm5!!-s1*a7cAUI2aoCe`iSFBCi_yT$Q z2hZ252+~3;N(9k&iv^vYcpdwx<&RcZ?N!2^ZMn8EX4~)ymSHh8&R$LaSN4bH zg3lU3Rcxbk@-7deL8#(~3ivFZ`cv6VEZmVm7}YD0QE}fjwM5YXL|%B`Qkm+}1=mUw zh!xpx6VCN%kLb2;_$Ln$K}_JL0YxtW@K!CuWd=e+VtV@;Fi6qJ-MNxNw{VBYO4@E? zPnb5Ik+Ocw?Kd$}4T5!6q;mmFkRyShgDc+nNmSAIvzX=lcrDP^Pv_UG#I;&8^M-0g z9CxEahvdd9oM&^0d5RsiiU4d%lZ-DHp`cZ*1-Ug4c@%2>GGOv!e+jxX8bLW)4VMfR z*=dY`DJ;prNw^Nnj=ZNTh&Kg>_`Sd=|Ii*e?3kJau1wVGsPmpq6stpMc_Jz-#}(%2 zi0O&NKAc(V&L5z@o!UEInECly{C4;8x;Cf~VaQ;nL(tPWr9hdYKi(T#;1k&iy~ked z%w(=nPDQGpoGG;!h7rWj9))-m+FE4u^M*famz_spC;Kgu1*eUB$|+)??uLljou691 z3|Z4)37c zWS^p1X4eVKV2utZqDtrJFDNS?C@6kBYaM^k8mnKit$s>n-KuO7u%~@f19Jy@8fi+N z%{bsxR74xdiD(z|=(X2|x(DFXcy{T}NpO^5-@&ylj!%sj6U9N}4aYwxwUaJns~6pJ zeo7@#+iwm&2y}_3D#L0sSGL-2Y)m}ewzGE}%)rON(soE%t7r*Ow76yCrk)^w&uF`K zXLP7<{V4lrT`x(!!;F)b4pb*Y^kR%HUmm0^80cVHG%JQzGKVu0dm$Z8G5|PZtK7AJ zOESX6sv6%LjQG1U{~@WS79 zR+IHZyP(B|!T{B3J;M5)C|yyKUtw?_wEH}|-ZsC|?cR4_Ztb&j62aE4HovtUZ*f8D zpyYrass(+>=m6t)bvM6Wv>y8)Z0ga!gf{rq38STKn}>W07nS?di1V-+1Wi``Fz^!F zm_)_~<%R->PK5`rGPby5fh%r64_HO!5k?Z2G{4)vAY{!Sx6oY;h{j)^&YVyl@qu)A zLjTqQuZR6gX^pX^dpq)ciy>~Nc(G-F-Y|)@{Tioul=Ot!LpT7>r~a7j4bNBSsbF~m zN$vUt_IvndABE36Ovw@PM1$w^#4R12RFrD^T-D>Fi%_5$e>#yl>i7+42DnoI!L&+N z)a76yZg2b0e<}(v*a0=92~JACGqE5H@a08^?5{INZi$amHBmuA{^q8cQMXNeVt`Bu zKV_{|etv20W`yjmUV7N;bNuR%5ZUgj`>5ju^Rh6ae&u>06mCtu+x2UCG-JDRfqkM5 zXH%oT>{+7_pZag*KCF|;cDUthh8tIdf$Mv(**#9`EwZb4DSEBskmCBlo_!ToVK0LJ zANJldD2}ab8xF2Pg9UdF7F>b^C%C&42<{Gph6I8I3GVJLgS!MzaCdjNw>c-tInVvR z_0;$KtGkLHP1p2H&z{w5@4eO~=y&@h-UiHVms2Q0e#V|m&395|1IkH@DX))UvpW%i z_@s#7M3`Ez*%Hd==O~?H_IK{aEtEg*45@ls4tf=U0$SuZ;sTiw8J>_46qH6~6I@uk=&JLOd7?5EeF{(gY}m=O1ibNbpZ38Y zk+z1Uv(xv9Rr1AwaPL9G>%pfK9JSBl7fv9X2)GY6>R;yjVwLQTkS@*<0G%PFXm;~% zZJC9DtlI(#-;G7uTivJPVlN?N`a9aqp~~ZuzaC=CRWn+4d_o!kF=WrcjeoTk%~LPz z5wlh#2zu*+#SIw7;GuVNdl@gSYF<}h365hU_v}uVvIRrb-U{O~!&oj&Nb-Ut%5I#u zph_D6_hXk&{WK!Nhh#MM{+x-IWv30QSqzKe z&EZUOBVz4{_*~)JJ&!gv)R5K``4E%Hr62HMvvOfNa!8|P{TLFYbjVNuxYx56RK*Uc zd|K&bf$1HT(mWOlR$k0@>)`f3nO~%J>zvNjEMp(rziTfw?VrU%&?03%Ycz^Z*!8!% z3{ICOQoAhgLK!uUyPZY-;V`#&eqis~W~z*cjeM`!Iql^=LPGd*AXNyzTf8#^g`J~( zvW_Ct3t_Y2g(O0*d(aLMSNz4HA~TaoD1KO-8kh4yLXG|R2?UebB2lE&wc&K_4xXpw zj`-7Zrze&%TCfJKb&O(F#}{A!T9Kx5C2v;rIawJWa_W#yV}Ai)6KyqHv!a}nWm-IA z-=(6)Yb7|U2e8ovC8eciNF>UF;Mp%w0(j4;)fYug!3DMv*CG78eAz>zPanZlwu2JCgMN(Ji~lQQT_m?!#CRFDwX z5L!#|lzBH7Zoxb(w>Ckq?KeFCqDlY#x#e9u zzAK>Cay>TE>;g}T@kQVAc=-{AfZ=sp z{HRZU%jBnJKH=C2o$PL*X+~!WEU-fn?h)rfnOg32A@;GC%^U?g0elKhdBi?Ta3gA< zEIkAJho56zS18WgKi@?VBm&j9h<}0f%isrv*!TAqktk1QR*G=b{WP{^VEJhO+X;tzs@FYu2Z>(B;YKbg%;)|0>CV!GE zDUP*gQx?3fcNGflyjQhP-W z@~^?6jq-dA1$eqzC;1wSgA!mx)llKpA1EmU7bR7@XFJIS;7rTg3oAo>xqWxjMXv`x zq}v3g?HcD3Hdk#5tEq?*6hzBI#ZttB(+h_C$4VD$TSbC*_)K$zDEufc!AsVp0caob z?XFjBqBsvuy62%tQAkNUMMx+FZ4uDs=I8gh4w}7hwx$>Albhx-r)ItATAIoa0M9Rm z>7AV&IvR_%*qnL$Su6Y9eV1M+)Hg-#_I&7h*LiQuz(^wsr7lZB`oU&`if#IRXYy*O zu(`5!3ABn?AFHg#e{yg9vW{>>YYix{da*s1U07u`De!(X?E@}34Prx+WcgShe5{ciKmZ4j)+?*5PcSrLb%r;*nv4&2; zdabRLwdm!@0RFZxHxe`}KiU0%lz&T^-z11hVzSEPoaiCY9GL#C1z_Bzb2(SoL!@4B z=8-hJ-+1VC?lfuMy7ZZMgdE#bsutcs$Ep z3tcKZss3Y2&qE36s5A5Gt7of^fox_nF6yg~I`BqMD=@B80C3EIdgu$(^9(SrHg-#$ z#59!9gPMU#E}Q-x2Sup+Re8^SEPIZkVB8dOTEAS2LjkX(ariK_9q62V=qAXNE{RVbwV#YEdbV8f)7~WuYGL}|U{2SR)5uTn z0VcP2UN;v`3BeF2>o|Jy(i5m$o9*);bmu^<6UdOgP{CA0Q6}c~d9AGlXPVFSB`+yP z_$@&O7qI8^jC6qw%=CsA)JU#NQba-&e2i0dQJfWvzXg{BHVKzplRaGP-t>#^) zE3${G)#uB5SeSEWWf}A#&C;Yx>)PAc^aAnPjA5X^Fk{i(w5!R~CSfNbLOAE#?Z2r> zJHUU2As5+-N79P+-0T^TjU>>BT+k%Nlb-QsLl|#bSQn11xsUX@aoM#hB zzix85@8#*0i>J6M_DCdiI2D9GIwUQ!69|raolI{Uk9CIdY-0x(;lCWw9Ouc%)6OtqrBv7J_0(LVc3A+tCQ1V z=))fe#4k#4CK_k*V_!bpt)jXIJrptt#EGk3-H&3jm zJ>b-3WC~>maf0~YKksUt9gWe4T+Ek;UNmr(!?m$P9z1RWSOtIgztH%hA6|0GF4b%0 z+ndbO-VM#!o_=>HKAtJ>M{Icm$a>?K$S(ySiUWwNhjNK>9(WerTU6Y%*;Zm)BO;Fz z+T=l`a%S|}TH!84Z@dEq6jFe@J1?z&hkw_X>m8TQ3w?6+mK4{V`U|R+lNx2VUPd@t zkz-qB5<>l5LE)YEZaQbv`GLo_K)+ckG9X}`;~Fbc!9H7w2V*dmyvJ(c#<66#oaY{w z*?g~xCuTE2i6*vOo|_UyO9xtr{jOEz|MnJzFlo)2rb=cz{-U!T%ai?}C1ns7O28rvXnh&K%AS^0S*B-3Ffe4Q zwH_BM$PX|Zi37Cb=+?j5)q4BG4ppXu-gJLC$9I^ze5KdyH|C%h31}Pj%e}cv0}Gqw z`5-|hAJRNn{jix5+*Ma+fw?b;Mhr9oc0bD^2rV%=Q;i!$J}EDc;w?MY zW5ffKyQaQ&wDt^9JvTDvS|EE5Cnithm@P}mD1^-H84=GI0m5;zmGd|Xa6oe%_qp`5 z9mesyxJNY~7TX9c!t-pw84>eyxUQoTwFmrbfK{R0%x@p1A?jx$8-OlWacs&W`G}Jx zh%+O(v$r`2`YkgGToiH4G7f@(N3vJV>1??Dl}QYUJFnxC!O z1nX;2*F-?iO(>vq^q!~@RON^k@tDOM3dL?QOp!}boC6v8zynAle& zu~y7bOgjMo46R8>rik< z%bg-x285pv6nwHt@bDPU1hI^#rx3sNs_*#F(&gghAq>L!livK8)+KT0HOC?GB0uhS zSgQu9x;?wnkma#XGoZe8PTI|=)94fzxfseE_oN=q1qF?pv5YLZ$tX!u2rr24u@V`q z0{PJnqH;Ikwsq=br#kBWrNE~6ytaeQJYLHFu6X#B>D~P>aU_7@>SEKSHJv{W4Hvlb zy}RxqmQ|UZJzwiH-t=_mwP||LOh7Id8?D+E#!Jn{g^2>RDSI7;`HI7GE}Y8zR<6S8-_iqlql7-!m zwmi@QdN|4>d-EUBFYg?Nb6C=-sZ;To@cAycUwHTiUm^_0>qkY%f43od&Dcq4k@N0O ztBM*i!ZqSoF7tw}p()k8>khxacS-&_SQvb@uK|7^2~IyF$F=iE2z@pD<~CH2v)rht zVOM_z+YOgUtwAqsF<+l2X&!qw7yRv)#O_CRZ@P2x zZDxYWyUUnbBGUcg5|xIq#dZz!JR`-1+1-x`EcpFa9897)PY0^PLX7UU9Q+G&D94!B2;v_oCbcyTdFkF(HsfM=(c z!gd3Gtw5tTy_RxykY6q6P&;4BPx*_Sgp$v;VYVkU%S={28a?$1b}ZRFl*fxsM8Be~ z&E-R{6d#RIU9p)~28P(2m{&StOh1ChK2yr63w$y0zd$W(^y+l;&p?(`Zo6rE!Rv}Z zQbMqnbt4q);;V%wT?E#YQWs;K=e55A+PqZ?c#|BwQZ$B6ShR}jY9fZu9GLh-SWb~G zmLS$S;+HfER7y+2?3w!y7OJ&8RQ1i{jwuB1W?dFMMJ}I9A@doe1IA7}vI(Y(NR^B4 ziTzG=72opPU{$|H@Cw>fUFd>WgOJ-kgC@Y7VD%n!6>;l1^$kXMJ=Ldu$@+t6%16*c zN5tGky44?gf%n=o2k4-;}ugNSO>%i$aH zmoD>RJ80nQZtP9ubSevha8J9$$|HKxKIkL@X^R$0EiWt#>>7njT=B~aG$?&}I6$&O z^G5ns3R<+?A{%i-Bgf%+_v)P3F&L;}?8I;{FTl8Cct1*ir77`ID|0M1xwAnq@U} zlWCaHiG$*9TYAnJ74kcEhnW2=E2L^6r5TPBC-!Sw=-EB{QBQIrf$T>XaM9E1FtKUv z6s<=g%=jbqq$A`=*mPN!1~kZLO`rq4V)y4JG{ePCYFim2`RR)rYKy$^hOi!ZIChVp z=u)9$w{g@K)jSW&-xAZOjg6;|jXR_VlTQ$wSr+vRqkMVZ&xH)df_zj?qHior5AA_! zjg4!hth5*cpq2|CsR@4?AqQ00$`LI;>Rt5r+a4Gkgs{Lov_MHJH6JHL@n=Sroy8ukL)+bRmZ!W{rrOpEM zs3=b|4&Ky0-Hux-bEl)h-fv)-!eB`f4HHc<=l7l$d((ubR@lGoNybH%IzJiYZi*?m z#;s*GQkZufDon9Chy13$_(HRak=S$>l&ii*m*B2=hk?^f4U_OdozUQF-T!8H$O#i$}k-q^0eP;<^-#jP4;nn7$JH zGny2(06owDQYJFI?3SvSh&JRiTw%ZmTJ#I!$ZIYM85hro#Hgx=+FnmV0j%F6C)kO} zRlWtqU2b9A`Nk}ZPyZ9^4pHiT6{1bskzwSC>=nVEw~rJ8%8HT4L}V+pvJ8*fvIj}z z*Sm`(^{bjvCE9LeEA?dCq>53|YinOL><#IOD*^;i4{LinB%+C zA1%7}an@O9rP|yjIMes7%zG(wJfawJo(#0X9LAUXQ~%cc<$C&Q>(pYKP?NxBkpzkE z;S$Y;QH|>CeJW|j7YodA)hYI#r4+>4)b=a#DDD;lbbr2G7G~=ji$Fc%*H~@QRZ6vo zmB@$Q+|6rcF4$rpLiJ2xRsvrB%Qc-pku5<2_e2(fYpxnU>7{;>v=7W(R|Wr@{NcM* z_Yk^2YyqV&m!8Mr4*XH@|Ib%E-Fv_j!A4jYn%MuJX#HnE zeltMZpM=@#I@N!xU;p2)0M3vF0QZi5LUx7wA7A}{{EPMqfQNTbcAxx@v%hn~uajt` zz`ch>;I#GpdvN~q7-ajTdHRYa_Sb{>{~Ayd5d0HOI{*wX0Q;}s><@kC_d&oDQ^_`@ zobP{o(OdW@s=%7)5zGH`0Dhe$(FT5=AnDNcf0E1Zas1~p65%HX8Yz=sxX?dzssDRO zmY)LhzoGTt(E2-q{=bIST3E#9lF?gS5Si#FDUcrwr5w>YRv(rDstXknwdmSf9|gDb zULFCr=amc}#G&Nx2t@0G29#qdML%Ij-@zc#+|$dwxO^R2LVHh7E4i&F9^R{Pp8oG7 z0!;-xTKcb8JZhA;D-=0Oz-!+JN`ofjmO4W)D?apaOxL=EtD&d-^LTb|ll1{= zEcza4gY|W=$vAAw2flx@0!SWVZ75l51+(BoGT8)Ax#laNMWvW+!9LyeA(-Q=n-1{e!kjvL zIzkDexPh3`URy&VOV{7-77`>JPYEsYaK3ahdkbc{hdc?2;w`P@sw-Eo`rm+7APfZ2 z1s9;Cy5UKxL_-v_*;Kz(|0}B?KD|L86Z_mNEQNAoT0Cms(8+&MY~jE8CXl?+&XVZu z(qLu;q9e~IJG-6jPu?k)06%FiKa%)VqeO$)-yON9aef+Ml?EJD2nAMI z-y5~=>GD6TFu}7Y9L~*xxjKJ41}6%0yKrm{Gp^#l?oAo8-a)|yJ|;%3UVEYiJaY6W z*9szIq&egHGbQT)RhfT&&;NP+5d~5^k(lr>vWW!Zsq&TOlvslj0)X1zJ|y!_at|F4 zy82BP=xC{ys7KD%A~xQ8-``4y>oz$xxjAh1;-q>PTq3=oAz^C1Nmy8{btwg(-94^N zl^Yql<|T|K{!Vyfg%;zJtdgx@dv^SjAZFko~QmNmh0XvYwAO+yE(RoAD0YXGpV{X@?^0)C0f9zPF?2qT2G zVLd?}=N$&X8Pon|B-5;P+;pi}Au|WL;X+d~Pxalw?eKhs%P`R}MAjnTq7>|%N z5a~8*rj^EO$VjV5y_|vlXr<|l*tYrXz~RdsKVVRQdom!=8p$~PEcS_2`ISb4b?pKu zY0_+>5^Uj6!5*fY0NbPSYAqMH^K2ZzkaM22dOG_9=cZSNaN`Bx*%Il@^Ig(51Jb{K zYd~GhH%0#}2;fjiP~f?)uJjLJ`NK*Ay8G+ZYPzw2rkrU*i)Cw~V24=PT0voHq`jS; z{ptCnq`iHG%Q9}g;=3>?9;X8gdmEpt172>o6XTH+oyJSshwth7!wXG-exXz-4lorP zegniZI!|WJ7BhodHHx)v@mxmBVV~nmX+k#T96@7p|e0M!v_;>1f`Z?I)I8IwU&pJLz1qIV$M3X8PQ-&r|vyxbyvb zIzdTqeM4?#7ias69WA9aAyqI7c&Ou;w5T435;qCpW+aDq>obEnZ2`n5%>FNPp*tWk z?GF2kKWzkBKc~sgHw-xp$8)@!sj(>y=XKnn$ZW=^m5f!(QeqBrHkC=Gx{|N>@(gS= z%{9c$BiI)KSY8y1`CL{23wE*x z^x#;-=d|wwb#&Ki|Ks}c0YC5MFJZ;Mr!Qj&P=N|&l4_1zB3(3ign>{aR35bI&)(jifl6vuBfIOvEGMu@V`2bg5J{w$R7Bd))SJwd(M0JhFzbeOXl(yFyJl@C*%5K8FQl>gdpacJmM}M z=6rS%bZ~AZa!gY&Vc(W|H|$RLNDwGU@;d&5Gn0 zR{$-5Ok(&$+r;OI{l|Il#;W(zbRyw!{)Lg;k9VuMF5kH=eQwurl5tTFamuq<%#SYv z5S-D?h(l(MSXehMM}avMtelTgDo5&#{~R2I@=HH+TB!BzB6HtJJe*F4R$(zmalKzL z)AU`_jQMKNb4?csDJjGo_^bUw3}U8_g^7CG%)B)=YArE|CUU;kUH?n@Djg}er z4F#_WBV`rBp+5-p+a@OaxG6vQT+=o!3G(PAyJxmV4+@EQitg%zyiR^_bH)d&#d=oX@e z^jJ|SD6mw}IF6!!gK~YJN(%zmbL1cb@n;6OOW7ZcNBv+l?E(}7i<%>>`Q4$}kD5=q z6Wz^u!Q`o~YX;d92d}?#YvHm#^;x{Y9+R)!mYO}P4IkR+OLIc*Z?`bzcI>6GnSLTv z$dJn)z-hatqu?8$3J*FVzY-v1rARA3>{9c(blW-ZS$i^3uwP%1QEBSZM_7Oa_$P9i zuP=9fnxDF=4RZjLd%fdw;k*!kFU>e#(LMx`S|6M-Z_)<1N(J3e#_rDNhHKl7ih7H_ zTVYOmOU!)L+ozZ%p|E*;JdgMABTiA}d5Qbk&VCYVmH(k7U=W%ljl|CyVWbZ>yk<53 z2@ZUvRjcbI2W68xl$?Blb^u|SEBB2KC$)cVu1*q@U%%5O?stt~T4-s{;ik70Ny+C{ z92uXAcIQn1zTff)_7;7nm^ZzV&*Qv6@udL;k>hvvu^b&YD6^}PI|&n+yA#%NESog0zRc7%O$XZ$Fh z;BFZ%=i}l9zzwoDoD0Vlka@sm>#l$3-?e$)K|s}->UoBK-7N=?TyS?_wSbifo zz{@Lg?QkyNXN3k23q1Orn4ZfW#b8~ApK+wM%3bX;x$ULHnVc;8bZAiPfO^pQ?890= z_elRNJ;iHV<|mXmT9~alT++TVbG9g2-yYB9)*ZWQc2+SUrTMiQwdH}=c0KNbB+mov zd_7iOcE<)vBj`(;XATvPw47!MUA97Q1!1LMbXyc8+BB(@0LBn44a)?8ZJNC0>Z_gh zEBBRv7BxGKb+?zFT1D6+T5)fVR^=qlU$T#_S@;t9zAfbck#z(mWdp3)gkIjG@iCiw z9=P3)zed$r>B~)x)HO>b96|en81|Ag*6iUD{90LyiB=aJAiME$3r`^zkli?$aCnR! zBc<@DJ_KzxUOvF_g*DP3HQ`vnc?dLqmsqS-Q#1(F%Ito3=5hz{`V~Wo;{YC+F8=DW zT}q1noZ+VPm6__!m1#jW*=WF$R4JqG(@qJbP8Q+Zz!vL1+#Dr{Lak3t+wsj;L{!Y@Xn+Ez{#yUYw|g!$K=-zRtcu^xQtka z^~Bz?0dkpu`HdIr{7|5tp(xSMRS-lyN6^>Dw}c#DX|K(Wu`Xp7ve zhWv7E&bsSly+X{bn(VFc_{Miae_@QPc6b=3;-fBLl zxEW43W#ZLTpLV3?zg%Tw{xMJg*LGg`$m5g@0HR+EX4U)sGfHHVKwCz#Cpt{h_tpm7_ zsEfK@HeKF0<*V-V+|&W>`jdLiYitIHL?A6Jzug%8mbp8mCONy*W!?S4l?l0RJ@^|O z@Nlun0-HSCN64~U?zm?wV;t3h3TkfF%bJl)5jyLaFNln|Lc7(jK5d>1 zP2N^M2OEin$LchC8W0WbyQHMT9lKV~9ek(;k9^q;ir3_%g&}|{cZI4+?JkC{k z5#dksCb<^ta;X+E{i;CJ7|wrQRr2|yc(!H~R(DTiQ@he4CKYtqb0~hjUF}rlg0Olf z_r^24Kr=$(f(|Pv(<5B@9GVzjr`- z(3vtAHT|BnO!2vU%Aosfd#uvMf{S^}^=gO>Ixdmy$++Gy=4soslV}EPLO@S?+e8hx z&!!CUMz~#(aNAh9aruV>rVy$l)D5R_^sZ>zTyuO(zem}vKG+hWrlYT{LeYO}RQBY; zE&QGa7qdio{9`lK+@JJ|fvrr0UE%lF(l^+Uxc zW2*j)FG3=nw#egtd>l# z2q!Yd(bt-Rj6v&|K@|F!(64~Qn=lp^-4y+2po!EFYQAb_vL@>JWZ*V>S>vRsL`7}Y z_LHK9efatO_2*%Mm`DE8Dlp(hQ{mW$;UH;a&^n25eK+*!OF7c;2XgCq>we?Kt02-k zWXiup9DYf3MhK!%0su%~dqk6o*g&L>0q>ZIR`~YUN!B0*08a)(o*#$7tI23n`P>~q zc(ESO4Bs~@)>$3uIXu5ly&ZnDF>=^E)Q9GR#`~NIR*aeCG%9tX!bc0uCVu7JvjLT` zscv0|p#?Ibcg)*q7@dOk!Ara>I+OwBFyGn%on5@8^4B#P;tYC?M88Nc5+rQU%=LBe z4J_2DTzKR2I1JmlmT{MpLrHwv+31=duc6>}BA~jtuCH@bdp`i8#LvyB_M-DKhp?sR z<$_yn_c)pj*HL1p@io#^lj>m_Rvzx*lE!PwXMds^quaN`^SMco&q}1?}K6_9)4cBnQ2-((j_f?DazUC$ErYqptIn->W?kpQr=WmQ(BlztM z!}yJW_g&qmABj5#n&pO+SR&TdYR3^ntM?q1b2M2M8XE79+eIr(-)*GuH*J=~Ro0Yq z%JX{&;?R5*>5)xNvXDQRmo%~+?R;c|S?=P!D`fgk`p4&B9ol(+VSPG>VIlshrxo)`xw7a5GRg({3qT5<<=bAaid7HkQ5Pp&-O%*ZY$oVU)VIkYPf^3(Wm zh)}@4){9sxn0@m&(fVp>?#HAqH53!LSNmdi#?mg`GZ4`{iPYBn@|6!9LX!Vpd1#3# zEBCq7jgP@pP~?IHP`*)F257#l@;HS=9_W;ib|5Pr&{Q?&BtMJNCZMMu&%>LEAcD>;G5 zSc~(O_{VY!X?K>2G#UJk61DCXeU^Semuz!xsA@F{-e@yxw|*R7!l2BQ&m~fjyb{u8 z7bW(XwQ@gDlQ?K+kK<^DVY%%yh38S#a|-7=B$o`_&Z5dV%M5RtM_8aFL9^&}8z%L0 z<&*-&(I(}Wb}%RuW2$yCH@t3^Ya2ZUo+y)v{}C)D>y)}kM>Y{$YxKcnt^=+m^JpzO z-!Rft*?EtPA9f*AJUr|6W6u}DceSCkzF4Z(EPaD>oAW)^$!*$;wKk>G=d%s`;rFj{ z9GI>5)c2Qc0Y`#sykmvp49)Gp;c2g-(UiO=q4$6jfe7Ubzt68^H-|KQ@N~zv@m#;_ zqz}8{xhTM{LarTdWnv5n6?FFO7GIAGZNIN!A#}qR9^Ged?kiy?- z5ptZ-<;0YkuBLMfZhA3nl~ptF&Fi*4+=H){7QdgPX#_gGDl(E4kaDh_Du=UUDy59h zpY-fLAs6>7ceE>3iYu84U}S!2cD5)t#cA}n|1&6_B0^!6M3t8R;z;D=ysXq1Sg@J5 z<3FQ1p_|LV_(+PbAqG8+-OKxPJ~mGFqkT=vT8SAk9AdtS9;(Y?z%%A^=YzTQxILq6 z6?bA@s+Rn4E3w6xd9gIF0CHDg4{f{`zZe5CiF45Q3SY0ffbaNh{7ba27vsM7QJISQ zfZ6wNoeV#pU+!H5W(pP=-g^8jci2Sce=TgQVhCS?Ty8`OEb6z&0ABo-d+OdhWHjGM zY_=IOZ>91N`>xg-;Atx5QYrv;HW{pb@?}c(qY=Ku9IS>?j_op;DQ8hJVGA-=1LBHbdsy#NH^4O%HL+Zg7Ro8_swVgn(IQ^BGXC5MbUq zn7--23nM&*$88uO%ZwpB%E0JH;X2LOJN7)Y{<=h^L|fF^5_L~fIa>;A(~iStW^E5g zQEVob?z9e_B1tGifawWdt8Mp#gjyS(FKapS2|xZS?>vPS%amdRNB1XhJ9T5?Gy|?oF?3?}a`FiqXl4 ztmeEsyM676L{Cobcq`cFx$jMyQp~IH&5OVBVqD8B_?GNWG_yObx*6FF1Yp~CuDQCt z%349wFNKaa1AI!w678h=tkugBz1kse=fkg`={Iqj)9FQQ>(P$^$8i$arws7aRv4Ow z-kaWsg1Z<%&1^>6@sfY9YGA&Yo{7se{>lO`+G^>YtU$hRmZ?S1GDC#&yS$fMjt!e= ztPmOz@4!{v?-D+$A zWN>87{!B=6n$=lpOBU}|TUx<2ZKf?CNdrS%dYDm<`a6#UTjJKw=tT8LTLF=~PY~vJ z_?(FCnBSAx#C?Lit^)y0gZZ%{H-~$Pm>(20811H}!n5^JZt7e!JTW;YP`?EFwn$hmFy!p3So!sfN2pJVNhP2#pQMou46n1xUZ-}-}| zOk{`5wbTxc15^EjuO+Z#ck}v(mnlauXI=Kz)-?6uUok220iX#qX=v~yPY(vnMGUk( zJgBbj#Lq-R%v4q`F?mXxO^Zg{;o+MV3XCN0OS;S~bPo;h0oCF`b2B8Edb84np>hvu z$}Uda*6McAyRc5@oLRu_lU`Ss7>cQ3L?Z`g-FErz`ao-YRlw_(r`w`Yu<&Owj6Wgy z>BbOyqk+vbzY+B$Zdz25tI1Y%w1@r(h%!dZlEeB{jtqk}y3cp`7xpe>ueC)~jVXqh zD;$q8D(R0jSs@R@fn8>T$Z+wj5l-LF-z5vc$p!6Xsr@rkBuc-2V2CA!ngdchq0Gaq z&v{7G`$bpb3|%ob-Dw`6YqUcr->zBYN1LsxluUa(Nk1IP+OPgnVrX|!5APZ8P7*B8 zOUV<_f~Jd$bm;4UZ}~ZyEiFhY%>}4XsH~K#-Z;dL$<6zDV(7Y;G+N4X=~i20pT;wT zFOG0ItK?;l?l}z4IAy4+6hp>BNj7W%9!S4I5wlglv686QCZ68_s0~mA1;szXItH8F zo%yIS%9>n`?*QcV^L+dR2qBk&x@xy^)7hpt&qwq*zPhb`t&8r)bDD5lf< zLNG5hTvy24u#Ew?H22SM~B5bf9`GFGkv;yAvo=^I6Y1@h|H9cx@ zYVl2O)CV(A0`rs&<+4adg8qVJ$qwHy0br0Nxi1(3p3@k*yA4~FhAc_EF0Xm>oK5t} ztO+t)mAqyMf=O@7(AgSN>DAQFyPp}z$WBjNeIvo|sV%-Jr-1Pq+z0x`60gT(xze|f z2VP4;O>{kTsP3wZ-kaBWcr4e}_(AWcL#^jSG|^{?QP6E+)vIhlnX75{5IDMP%&#v+ zxcp2RJ>6~cBnM^gC1wp{048^DC1s6`VQfxj?fB(Vt0Z$%hdye{~~(R~%rrcJ^~bS?6v2U$eEK%*Wl1it3a zz9L6%&kDhG^yC~rc=za1_+$>)z|O;H#aD?3B`mR3$Mda=Ww!S^MSkSD(N^L6&5?&QE3vp?$L^V#>Gvcu9T z&=8za8P<1ani3}pbi{G|d)hviHs`>>A7y~lkV2!y&@%UC(e)BVnyTS+j{@8-0&%Lw z9uKr^5Rt!>(*eBt2|K7^?n~{kXXUfHuGd)KVGZ~rbY^-HOeh`=CTJXJ2#YB_xk4^q zd;;9!Rbuu%tap}h{e|y5Zcf7|+C*ur%8-9ScZ_jBE#3E|0Cm}kYWlG5_Kl{R@JGfi z+Yu3&I!3;ZH z?NFd{Lh$jWw5C;HyESDF$h0w`c{+^b1hO@RQd`+(3QN*Zy>nx4&9Vs;>6_A!5^l9w z-bXB*9)jynF7R#M&vzDaw4XK|^%quHtV^{avdFy0Z+4~HqIP(^rlu!8tf~zZKqkD4 zbZ+$(_|gZ$w{F%*+gxt^d}+ArO!LO@idj;IuO#({vp&Qu%<1FveAM1u-$VanL{s>Z zh_Z4tpsMi#GY!t>MT@pGV*@-1N>LNVE9H*Zbmp#v^`Mm>>&h$a$Y^uR$Y_{@x|KvCz)0it{YNAP}aBO8GTYib0+g*ob zayy<*Ob_Fca%;!xc(*WXGjQkQB}E0R%KqWU*rzP3xh~(WA8~pZxVcsuX**<={)}6^ zd~QZMVqtfx-S;ejVyc`qSn2YaK2UVv!Nk*_Eb)TN9SVBB>%^zG`Id)QNn2VAFNc&+ zAN;p$wCxOhtN*0c$0DFq3f}z?)eoCQ}f^G(KL;D!){eGiy58#+)8ofz;$`!dZ=Ti{k`8Tu!r3c zkSHfjPY^f<3K4}KCAP2p2^|+=0RbYjxj^gt9cd;6s%D1<2JJFI>gY;BhB6Gag|!;% z;3=>T_@ZD?d59Rzv&YK+66l*$9rGy@9jJUdTX`NsFaThe-;x8~LSn00CaD=w&%Qdk zs^ETOVXRu0&bgcDi>`_?2~Br9$r?IrrMVeOw2`<>X{zFceql`0AFrbal(#r+zubFO zp@_>Dsk6){c}Vg-nE_L0sqAvhBw|ZXqIF=y@(y-(^m02M>3_=%?d!G2Fa28YxAPLZ z{|eZ#n(VCgu`0M>=HfW)?gO1&VAX;c<*=^iRBnuZ*>S>Qy#Krk8r4p76sNZUOCS)x zd;>7g%}Zfpw>}EVqR{ES6IzL?)%AJD#P(q_-Ct4IApZM$fQBy)D=aQ^$}D1We#<*I zY;gY9DF_^G5_XH9WB%j}lG4syj2!C@H_rPBKTyml6p^T|yuI#!s8xtD?(WW27a}&w z>o|xKdg{e8YLI14unsaNdXc_8@|tP(N|cI%}XZTb0pd#snoC3g#mK1MA)P7t+i?RDpTcl>CkleSw?K!HkQ%}=|u+GS2m z1pRUziw4awNTUQTs&`2=@eKQb3^rn*io&GO?MO`8aFK44lsR)fh3Gww%o6(bgi&~Z zAiyL_g^1o}PB>821=FiBOw!w;!9vhikO11q7ay$mXR0+9+q}S02?l=H^v)z&F(|ka z9Q1^{bti&B1OjWRWk@M~sm}@N9tRVOg;~zVxN*x8kV34bzcS?4w5g1ZFX2S{D(KG9P4*f;wce{jA(F`I_STF8a!IA_ge6b&ou=FaD5&g#q z=DNLOT~g@wFr9KrG_Z1l=J~T}cE}fe9~!}q3TF(pJuVr(tW?x=FfY0n_b_ma9P&K^ z?NcuWUhWyc^xnRHKD=T6ia4s|}B!`)g+u@-T0Uf{%@2?|CFEjB$OK=Lvr zekv$NKU?|svuJgIia7BF>*NQSv0}{w>DF)cKglXNs7R&rLM(An_MzYBo|+%)d{5?$ zL%Fo&ImAC`N=p?wYU-7}XP?^?cEjC{l*i`bARsXm_33n>mRsQSv(;jD{|jxf6pAMQ zh+48(CYhjRvrwm7W2u?C;VCO1gu0M)cTur4ZGJk$*ZE#)Y>6@|1;=V5UosZ?MOx>o z0}qTY`PV&CUtFKxAqXEPsC=CVy~j$$zs&7H)zvAJYEqa4mVEmpCRU{b*6oqIK z>NPTbTo5~YcxF8bzq)3EkfY*2d4J0z*Whxi^^>N}KkS!V&2nsIG zCop8Nl)jyD#p|8}k6kX9!Fe`{%#Mo-kY!&7J%XfD`&}*b9|w zl)C+;!?8*_9B{y2h~HpK*~R_~*7h3E{%x?Ee<>-&6S?tHE{oFkYztkZ)|ApMTeRaJ zcpT6pcn#y>N2cqsr-%FHmhQhIs&bHn(tblG!`LWx(_8K?Y%UfGrB{ZoeSFyqY?jK zvGmjpd`~U7&oZ-U8-MRl78Vcw!wvW=5Gqmy0Tk5UbhVOC#iKPC>R;ex!76n9k3sJ} zGWSsbb@n&h`FB%f@Cp8Hs>{wR_0Q=2iKJf#XjV^P>>AGghhJCy$D921ZznPUjW*g) zsm%P(%l||j5Sn5@X#V$>{`XNL#LYAPtp)Jk5&Lgk{r~&vBeAJ+`gq^R2Wl7nByqe# znJw7n7eyU@^J%T$Gm*PF@I_=abu<9e&9v8l6ySDWllXFo0YLG7rzUP_&CP!DeTU5$ z*FMHBdxh)vM9J6}({WK`^h!}ChW1fKs%F2dGk;xW4wM8FVwql0GChLixqW;ICEC7+;GU^Le}s z4m?>|C?yxT-L${tFn0elSx}&j1LR@S9KDv()9aJI ze!z(7N^L=(Yz{NUtYQk6wnqJP!?vFUA*#KE-43t~xPr=>G19|x8$0g*(BIPTTtP9UR{B4;EWc^MG5JW#d`zsuk<4`croz&5( z7=Y*b`DX_Gs0cYhmwDC|G|q_Y3ZTyAlkQki!r6b%+F}T2@?uf|dCzgUi&+CN_us3P zUsD3!mR!1UsBtWWr7YHogZv-Jv;+w>wBU zy5J(v+ix2DH1(ldCS)1abOo#bM%5c83nKJk?ZUIpKPramB$)?U{=J5JT1L4)k#P7A zSw;9kptvY*NaJ{J@1l3VmuOgnIRi^yQ1m0LeUFnX zP%Yj$vj-H*fQ1g}=2VkXnZ8iIa(#uv%~knoh1)6BCfA58*y2rU1FG?TgA?HHBbl$9 z9~B*7b6KKO;q&+)s8YF4fV}nN!-VY&=WrkX+=5F2 z!3pjX+}&Lg2tk7e5AN>n?k$PwUNK>|MfGL@yCta?FTBX zC}HfJVS(#SrO}#`HWIpL^pE4=iur0qjJEUD%;+9vFy>Hd-SWOURUkCc5ee)Gw;pCf zMcWgTS|Qgyw^=@jbtgq!zDo{hn|QeQK3R4hXl?PlO67Apd_$n?6|#~J(Bq=ropw!~ zerOh}hbyhOh;jm`uhdA`J*vI`hajTGmM%Ail0H78`71qU=!xz|kgTb$ zt=gT}mwX`Ewrv+FRnPJR9b`UhFCG5|<9AZqUGwbpyYFCP5iY_Y(@@n}ExZJPXzRI04X}FR@ZA@L>#}J!)t3$3T>H6Q$!V+S)P3ijZYpb z0o`jr-u#-+lx(_KV+tUY<>#kyjDA6<$U!S$Gt6&Uh0pkMgNaus+YEcGwX6Oa{wW0@ z+aY01`B0IU0E6)Wz>xI1<^b;LIGNCz#PyvlJX{a`(n}?e=hrKN| zH)7Wb8dWkC)uMcxmJPWEfGoMQ1%2ovi+>?9vcpKt+}DRMXM@|2_;~5c-007L3u!}rN3aq&B1mqNyRHzgNZkMs*%W&;DM~ zq7-%zS#D$>t*~|_*M-TPa{$Q9<}!T3=Gg1BkkhHLFxget7fLQj}%7X>@RF*08Gsac~ zbUaOcs-I_hV`IUyWh(~~Az2su6Ciwoqc2Q>lTGGyRevS}5OllIStt}`orl4cCUhFPM(}~tU%7;`u&ICa2O!L*UTYMxG4M^-ol&K(i@jK< zsuw!yQ%RC$TH5SdP=`c#Qca3O=-cSHjVWj=72?_W4b<<(#E zg01rUw?~qJnOx6u10bgiZd`V!>DH)%%;8oqXk?QU-`{Op>MiNL^|zYOuW$_K`?I}8 zz4A|*9i($RZoTLwF%N4pgDpy>dALe=IG>W2i#e??))?ZGiC2o^!~O_0FrDW82oGqU zna=m>IQ7a!HEZ*HBB#(QmoNWPNj*LIMysyUnWWgyVw{E3RJ>bc6BbD20Xs|zKFsBs z0OL=0T%3Ml7=W(g$JN2CBmf_E3jEf^Xa8`^5zbxt`{Xer9!=M0M#Y1Nz@U@UVp2U< zK6PI$PxFe{r?;{P)jNZHtwgcViB897W-zYOd_%k?@?9?D7_aon$#T`l?I&;?0vnsgsixz#X8c{g3_f9PGC)*UV-HRV)@Za29Hvi<->T z`*zuz->z8VNp1`!V2TBH8qe900fP4X=pkm;Mmu%t+xLeJ`igmS zIy>j9`+THkeu32G1bQBc5qRO7p0|&(K)JKP^rTu1`Bo;Hi;CgyBC=vq%w0LLcbO!<|DSr(^DHs7#A6$YQ2Q+RIBN=RkS7%@H2ug)(n1YwE6b0}4fj zoyg*96CeyHS+!m8YJjiyWZVNidhT`i+z-l+##`UFEa2x>eHu}4&P2-!l0K>YE>ewq zxI=xOc}5%e=)5U7mnmj3$ub4Ylk@)E$!9Jl~7Eai)T94f5jXCpXrGpf6z4;1ebh4xnMHK*#OfC z+g_T0Q8PRCSZuP?+d>qfJHn9!KmlD4&0QZa7sWXT=DVg>#rbp0P_8AH1@j@SOd1dN z&*VkR{PLzsC3IUC%S~D#mWQdnn*g5-pm2V&M-9t$U3Dzu!T`+yiYpnIv=D&_LDE^l z*!|}!f`#VFfD3HNs0AY|Q~jrBdMZGCEtx}_7JPM5Rz_mHIBi`THi3nf*7}M|21u3W zM~;xWeOPtB@y!nT9xBDhwZvjPK@VVp*I+kZZS|fk zx>-nr_>0U(m?D;)2?ykq08EcAogwX%%R}v;f$w6$H*IhZOf?*QV(qDc?OfH$37lSEI=JGX^(tNIYNH{T8%2?lto*9g_Uu9zdB&aFh6a;)$`EZ7&8s**JhlVMk%7WaaIj&_ z)532AI>@Jx5EuXrO3q;O+S-rY{FSiCD+2sEVZ%TV)`^@_Ao&JS*v(>%7Pr!uzty{t zq@ZFVStf}Zjw1NBdXsGxUe&Eg+WM-Ut$cjCFG@qI^=*?OnKuxVVj(RoW@{9@?a%UQ zv&=_?U8j`i&-e|4$aS0EF7|b)4idZ;*NY zWYeZ|wIvF6ida>fcxSY-)Nno=Bi|2@Rb^f6f8xU{<4+A2CTj!KlQ!e#R-B&$-n)3;;O*3E?H|LQOO!1r8~0h5?KWk$5q zZ=Hp(K=;1KL0LW2s7mqSQkC8bBkW@0xB5IE&?ljQru`A2S2weRa1Zm6u%LobCe|o3qzbfNq43u5CI0jVcGh7)+j$GvWo5 zD2TXCiVqiCq*01iXMk?Y0Vrdu9xA@>I^F{vIP{0TUf#`0 zB}jp;ZmEsVSFAV>kn^d?(J!@1A%A=f1$iJ>neW?ks9%jOp*S>M5sRT)6{QI{N`c`B zd7~RiXU*?^8Dv^7)r(MjNT_fCuwg>Cip^2Nd40H1vqPr0?4E}|f=S1M05aEs&by1P zki2wkH{$pEvqdL_Zuato8sWo<0$MA+H>4ja#9&Yes}#s|>DMKQ@B}l(hE(O^Y*hkE zg!&-sFWDz(ebhtC!z0!c*rH4z z;)cR*R#@;Gb3=ge&Zu9%uOGSgHkMgWq^De3XVOhInM>jGS`YXOZOk6{R_Mv8)i>zt zTHc$;`iA?zA%p{DYo7jYe)<-0$S~G{XF&0i6qcEWK=Vx?SZKfL4?#1z|0R+a zms395_A7;$L~qFVPER}v^izNRN}M}Htgcx(mjkr{Ucbky#UW;M2u2=u78&jk%YBmP zXNSsYl*n>1S>E>^SH~rFx3HurF@@s#Q7Qa;wk2SZ$N+s&va1%f=AT&J59`4x<vZ~{`i$Xqz^YW^OP5bMv~Uc>tbgt zA=j*E_VEM-K}QQqXpHN1QAg%8+K{_GCQ;EspqWpdI1$OkjHR{&t|c{-mBAXwX| zAn53R2)Jw_o|?(LCZ4JXT!RZ4zj$5{I$3w1aBhBO5nb+$TKgCMfk7ygfScigcU7H& zC{)Po2d|Z^Q@gKqA8~6QM*E|wLm_Cnq4;m7L%8e&GBlk_+`6i;b!)`K`pS4POq(o> z*Ni^*!&p!w$d*)nQrHMxZED7J>+_DTbMuQIq4);}ihfL=&+b^MST`oc|1B+`j; zg+hW7I&!u_i)rV*y{;&*dMrpP-(N8Pej(uY<`yn6@rCf$7)kT@JoD>B zT-HnZw2Ude00r{_8Qx^~Tjy@R(oY!yKC~`8f8PcCUCcF zu}7!Hkb=+mUAN;1^px8~`bNy#7*$)~qA3S)T{|9pa{xlvdp3U23O4w(wD*XZ7|LSh zhi%Q@t@Tt&J``%Twaypmgr(u;|GsxVm`n-!Q7e;JIqEL6G^fZA2P2s|`96G2a7(!q zx~#q{SDVAOL;w4ECX*JET=2jxq)tyo9aRs8cUM|s5>@{cM$e|7?~_@3S6RM(L-acpR}MbUvE987o|$s8=v zUkZM=O}QWzbpsc&K+Ntg*-yIUNK<}RY9dX7xfM@(BHI1-0w9Su}7h6GzIr!18p z8BZ>v0Xk8O_caP$Eram9k-Us5@s`~!Vl-xG-C+qfzs|3Dx;MnMc{Yv$JVuhZ=g49M zO;2CO36Kmnv@Br{5h>IG;43*tAod@Z;(lT4W>>7yqDl9=D)zUK;dO2sGjVJBh6etj!3xU2H?g2<10q@zvgG ziu>U}-mtN$B`saY0Fwm^AT_)`>in!G{rn^R2JRFbiS_BWolsMD>z!F&t*CTCK0_8`HTkP#|jr*>P2%aZn`&j?UtB^N7<7k&p5?VqPVUUcW0!u^s;3*kR zF06Z2t&6{AHdyVk(SjUC7Hc-^&#C->5W;NOipS{?GIoV4s4_8eGBF>g^3{!15%krz zOT&wg+abO^9efz`ewq>2X=?d&LqN~GoS?!M^VD?YLVM|_Ljar5NZOej!UrImU!*MiwOf<|sP!Z)8w*#Up=4L1NM#<*%SQp(7!lxpklVIE%T84hRi(;A zry3_}&i)WGy=hz@aa$|h#DmU8Pc40y1}X~Yy&4U(iP7yx zE87_eg7dY;Q`u!9;VwZM#^EQ(-+@ z^cBBI8y2%*>q*@jwn9xYk*nfr@(Dxh%u@lQC>|j83tV=hj-BD>b3Kezq?XPBsj3pp zr$*Ss%-l$q324y<2^wCy%V3aqe-wXC2YaNjcrR9mDVqXt+UIKhO9{Yhe0e*0+fM}r z^yhM`|xim#QdQTIs4+94>v*+>s! zv}2@N3^<$aZ@btY0Mh01?1YYC0lDTLu~QgbuJjd9G-9eE&klaoR}tjHd^( ztWa=@)4oWy#&AP>*wJqUH0o?hoZ?I6Dq!Hx5dj_f^Yi{7bU7Z+zO*IIwAMI!6&x9I z5|KA>#WbB#Z}~nmqJ0&UE14G6s7o{4_q1N7z~3H8Ww>}s-BHmdp*aG3;`2LyK1Dpq zQ={tBEz>GXOL2XK^3T9KpWcYPYawYetQ~Ds+qw2cra6%61RqAQ!7sYRcWk<@}I+VHyx>Pr! z#oB22r*tl}8oA%!YF3Xg2$Awh;CzNd9>ZeBTdA>O)g3&(=!iJ#wm-%2-WlPBp`SUf zw{39TnjPs>cUy>4+q-oSj-6v}b{jc|vc8-wn|{!Fbv zZa!6-YK5l1)bE^y(Xvn#GS%>()}MEsju)jY(##mk~}3 z?yC!UHHw?i9nqE%Fv!D+^JuV3fog~@=a$@{$)Kb3U*3TZoMH*l#0>3q5S&3!JK)-- zwi3fXelWZZ zkmmP93*kRMSQ3VH@DX@hOjO3{X&Wiwud|njO@1q|jBuQE>5DjGdmOVD5n{0-5xK=u zTH!h$OXD1RF@fN~m&U=gIg+f#)OIeFhenv>&(v&~R0!uLe!9%I!o02h>&Pf>b2Q#& z*>gVlSw-nzurFCC3N)4qOE^h^bk($I7Xx{q_iz`JfUYGMaNb7uat2SgsRd%wKC52O z8#C3PzNTGZ7#&j?(4qK>0=|6tl7LB(kVHtt6N$n&bi(n_aqkF(I}Wr8$Mwo4=N1I4 z?n*PaY4>dgAFEav26pP=Y#y4J+ZTnoKOu0 zDToq(0QH$cZ%qDt0rzzZr7|B_ypv-Mx&pM~^}$?OL3#adwHAPD8-9q0LZWrH#gw_> z;`qrdD`VLO8;=3A@)Pw_C9dxkKv2>i3RCf!f{;VUarug#%T~ZUOz3p>>rXqhdtpe! zS-e&@z$@=jj@a{RWzcoiGyTPzs6~8)aMbN5%kO=M*C)suss5-m46od7vHf?Le^OS% z<805^j*qXi0|g%;9WLa{3t^iUPan>}SuHYamDQ8yS_iV?$nmab((vT9jWz zO(a?kw~YV~Kw#3ThrrvHxdo)b+J4?8VnH*wnu1^o#L`H^=DOSl+lpoZsTJY15wssso@G#m$! zYyrJ|Tw-wd2eAVMF=M2>PM40KSc=k9I$!bq+^pT;s(vj%#@0AsI8-I}8E{BJI03?T% zCACjnFHs+IDa{!LJB)4<^boYuZ0AG>zcd{;%n5ECQrbcs=MByZwMc_rz zXhr_5j2{4E_Z`$3CNPZ}H^c5eWFV>j>_DwIJy~gd=OECIBm~rmJ{4B|)s`TPK?5`Z zzI-^p-KFwVx4Axd#gZJWhd+toq{k@4CVU&nNW!sIUXzftuoHNk7lU_HB_Bke!^!Ed z@ykX3ZB5JDnfLE{igk8gx|Cn~-m2*#Tp0zuhIDwI42A*jaieuCV&0Fo-f$&kWuI&5 z55bl;u#9OZ3wddmO>t6D-Pe*OB6+q=tPHXAEh8qgUPY`muLH}Zw4P3n= zD5~EA={;b3EE5tKS_=SC&M~2-B6uLsu!QT!O$18?vr5hlyL*NXSQN(+UvCkN?&Z>( z6QKF5qxhsxMC#wXPreQJx!Ov2;FsuXQImUflH=Q$PU>-QS=Lf^JXEP%2+!u}a7rfE}eEf$F!Hwss2FLpTZFtg^z+;E;y3 zBCZnot5QCGm`X*;Yjv?L>ad(IEH;K%@L9J)^xF&(MRWPBHGEYYhu%peKJ1g9W>WR=B_?SCy>{QBL6izon_m4wNMGai)7Y;E+qoLdpkAkNM_oqT_Xi!b-Y=L88YrGemM(=~5W}Tk$ zSGC>Z=uQAL&w3kKVc2Z5k<#})7r#UkS(R3VS(L<6`FtU@5U}jS=s(G43SNrwsoMwL zz}>kXH%DDI;4^9!j_Y3K0Fo<;jZQ=*@?| zAPfaSX)ulbtu0`q{n&wy?-#_+vB?K!=&NL{w$Cvf5Kyyy%l(MTR9(3jnhMp zQxoV9Gu?^6Z&}RwzkwK0?R&3*Xl`3F-5l1|!~?6py~$n4O6J}qh~(f8+)8*J&Y-`2 z2n+qQFJESn=({2B%%UBQx#Sl$(`kQK(17qX14ja#4cB7t$@D~UZ6m)l2$SsU_X^d5 zLr;q<2}wC?4+1O(W7H>6WC~qXc**o)8nCgq=D8;c75=!LoM7_ z=gaKpq{})-QVizQmN`!&@`slV7sLG(V`)4IN216tzH0Wf!C?tQK?5(p5>c?$taG_n zbZZgZq~)e7tA}oj6a7lyHLF_YiJw0Kd@QM`UF3pZK(BJ{=$P!+rRFl!0?FV1iiLt+ zp>gK3bY*R5=(DV&^mK=5=!>NAhk`*O_XA!&y#1tKt8Hr0KWV{So>}Z*4O%1%7r_4O z>`?ym_~h**pc`iT79pooVdaP^ZA=HOwr!7t2AjXmZNYeILL`P@5vpcT>AK2f&Fgav zrB%cES?JFln61EsjDXJ@Jn-JRTzQ=c}g)r3ELQCVHNS`N^Ilthc0h% z_HYxR#L?k(**cbwa)-r=xfsXnPgYOP8uc_4UpKiNhs{W5tp0WBNT*!UB=(g} z72Y8Hy@{f_?A)C6!_w~IyPE2rh!ktqDLvlre@+noQ5couq41sFv4l*_sC~0C!CvZJ zH(c+Njwa#WcDPFuAPT~<*gC=b=gPkcKtFO3dEON3dT48E(kFA5CcuJkSa&~ib{h9u zJhci`I!_@Oib0w!>ea*loZ~ax@M_~`Q%}Qr>wtvucnymLE&fh&@!V7Fi~b|(yUx|t z!de5yKSR$U1kL7_yefd{*>jH>y3AMS*#Y$0E=ovQ6jD)9NoZ?p&wD2gq0~&=o5A0? zJ6!gErek8VVM-Wve*OI9$o+%`P+oHOwRXWVk;RB6Vx_;)k>#>w2w{K9GAF-@y5pPQ zF%hnDH}1()<@j??!chK$FmP@R$sAzn9x*Y13%J$f1nSSlBax4Pg5i_lI&qXWTPqK8 z*x>&&&cNAT$C|Ct{h1Vhrq-Vs3d}zPWj`p}u$6a>e-Fby-}~zw*4h@)f4=;m0sGG+ z`IpW8=jA^Og~r4)YDog#3$;MYSE{^hi4+a- z_y2NW|L2QY3QSLrSaf; z7oqwuZ##n;H2=#5`rCgo3xK(&abdvSok{OP#OyEC;cI5YkUdpQ-lE1{vyQJ5cn~{a z_S!kLne2sgd(SDmBjj=UP4a9k4o7J$r?~j-w8`6lcaQIoVa|}xqEk{{Gip}HI$hu{ zEmm8eFpe$ME-7)i7zdqW;~0UQvHiR(}I>tnH6D(#nyZJEqA8edOqn*YffT z2!X$fE=lJ4lu*}dBMeJg_YlD~KJZR<18>};iBYo_WmkW6R<_dOE)UKXR{5vM|9sxh z3)eteSlY^FwN@;iS>w%DczB;3&iNu_Uu5J>zxy|=??n8#5o|T9o0c+-r2&>8!}iad zmaZ4QSI|TM?qFEobo>oXv~zOOM-u`byq;d;#6%Cf$>>1bX$<6ndp}&R%D;J6J+cO|+EN61InMYd3!RgtY+b+%iDs98gG>TpEL_E? zwE@XRD=9w2>~iyv%#~g3B>qoB^p`_trU?T~<~UiAvvfHk4cUX&$rCd`%qGswH=R>! zOQxRGfqIi1tAFw(<~{(UFxIc2eH*HXr%^ ziNB-4|2i%3REfid&CSi*K})=HO4={iJH;IXUmqg5z7@^St=DjH=vlMq*#;#&JT&LJ zC2HgTy9*$MuEVeeQZ!~!3HVyTm>VAWh}F~~hlD(yp`e~a%xV7dm;ZT}6f7+AN#+d& zMTWb!8*ZZ%Otb8+$?T=#?~RQI9iUg|;eY*_Iq)^XG`r8m%kIbO#mg1>*LAPkNoKkn zSpLmQ1Mbue3mT>wy>nRdpOgQOcmBJmz*x7^ef;qMPWgX*koW^I9|Kt&asK`Bg~{)M zo6fQw#Qt}~3mm~80ULN4F+m7*lP9M6D&70T?^^iq5zj(O2 zPuZQZ^}8funHTCg7rPi?kKGuXbISa9(z=rV1E9K&f5)FZ_PaNRLfGw{=DIqWgh4E&iN006tzSo}U_-g`l+P-zVEs*0H zPCb17i*!WDodm6TMEV=kG}j+MLtMcm(>?qbA0CrrALO&)VML=kM33OPU3 zI=bPp1k6zf1Ar+4X9MKlG>sH5&?JI z%8~_HkvYPDa{&iCSTDN8ZU8D8*m7}!|HN$mAm0LMi_#&5wP>`#Q%HQ)(d1Td{JeSwrj7-N~`@-fQq{ zKjCFyznLA0Yymbje<*)Prba6A`X<{kn?&nMVooJBy{}|KdvEuaeSg)-J4k)k_F0xa zU(;#hCMwQ>?lZSyr|gxDMP+)b%+AggU#cO}dz2EkQ)8sk&d zi^1c+YewBn)nJBu+4K~(4&9;S9j*uaO;hfd+A1{Lgwd5nZmkJe&v}aRJnso&UlWl9 zl#170@@8o~B~cU^Qxa=UIpB0Kva%|O%fEXs=mEZ3Q=!;lZn`dttF(5t0=-W1FG*}f zygvF7PvhCxvw4s2jhW+i#Jtb^0&{Nr{QgCekA#1nqlLu9pDS&~I)vO=ew7yU8*Sb&^b%T?km z$Xcb(UPGhCslsco*Y-9s#gIlO`bICE+GcrfKq(IlvON0j3%SDJu?YxY zoGsC$AkJ=nVBmHa(Jdhpu)BRT5&d#K>3YCK)lwMJpAnep99neZ)irm`Z0?*7iP_w6UCFO~JdIK?gbio{QqSkdmdpb$9fblc3Cc7oron8#mxvPF zI~>sJs`c1ce#LlU|#9QYxg}UbN;r`?Nk`KZVPamyHM9Vw#B6&dzAV*b7PB1Ia^5~k0eo*Wb^r6%ap<0Mqd~%1xZ~~Gr){Bc(iI42_8u_^zX>(o>J_iu9k0HW`gO?UD776C$ z$Fu3nx*KbyuiQ3orye{@0+(9AQu;2X2o8E~Ub!#uV=--JGgXTGgtK)Mv|O)`64Gx1 zn`$>S+thrmNPNZJ$CpMCeH*D!INlWp1}xyNRma7?7#iAk zuat#t@kUTZYc@$}O20?bzU?V`5F`GTYQB%BhDXT6dNsS^w!Y`LILO<+Oa~dP8ifRY zO(bM1G+3+tlx&9J*4EJ_T4F%-&pc*?`^{IAFnvKQS#+Yqyq6#smkpgaZE44?Oi<%v ztGEgPXwG;h_rY`0`|zexUaGfj))^5UK=mp=8H%Xc`NHso5Py8Ga*QRg-Z=5c8lRDo zTj1wCq|>J1-OKy^N{q}GDeJij;H~6Vwn?I%JrE;oxU=nVYEmp2OmN7R9vs;X@ z!Dc6pdK{27+>|}K%*gJx)|#6fF&W|&?zQkb>9^6LM;(`7aPF$)Lk=s8hS|*!8Jo`d zgrb9G;>$hTILlqHM(XaN+eun4-rx0|JORvAd={A46Q)lY{$-OV!wcI2dRd~eJV=82 z+<6EUCX7uQ!!DqujXontk_ubD(Tc^?YOpb?&{^&>gcGURWsA+${nWSmu z(qkx|!g9)Eq1=$6^7GZ5mdW*um5MjhRVZvrDbGm@p4a!Ni^j1p1E!(zB)bL(w9?Y@ zH^&7g)@9tVyNroK+?zg}8oLPDbv7J*oT{3+ncjJ5CoD5(R8k4ylMgqS1xnm8F?uD{KS7RKEvN(n2M>>4!D;1Q%Et6OowTAy~PR_s} zFE>dHnrAgzEf>~V&DYp(uQm>3A$SV)Bs*m5j~dXirUMH;Uk@;%R|i8ABpH4t2fF%| ziyXp*Q#Mm`6IXd{$YE&gfvf^IyYJ)nC9hfiMUqQyMD7`mj~|`*aP6D}+3h{jaG`b4 zsdS!>$Ru2G%bk)DIM^#2-Gl;1$fbxcC(-(vmo|<~bjNQeEp4I%VPUFnIIyO2v|LX< zf**TB<&)8RFk!As2ErD-Ai+Wx0h}&EI=TMb5F(2JdwGF}u_)-Qs$Aa=)HKjq)Uuw? z6`|&Vl5bEr5p(2+}x#}_qL?3uAcc^QhANJv|u7-@?6=)v4WSEyWhKM`%B%rgYf}9XS+6{ z>|Y2+-v++bl*ARJ?jyJd1~xUOV)WwCw_8LiESrk>v<`z$N$=Le)r>k5ca-ZITq8Mm z%|YAr0pB%~IuYF1M=orW8FPMJ@VX^|;X{_ih3eqqYWw>Kxo-4JnnJh*+Tn^grRTXI zIASM|+_AZ&!)fT1-xYcC5%1bPkGR_y5>u;=)|=(M<*q*ZK3zVxno3bj*P6>}b5E&& zi>wQf{XF%Af12x*`ReWwC}kvJyfM}K;Vyfe`s=Ml6VvpL0FkBBpE_()$LO)( zeNJ>d%tU)Bmu)%c#g=UT_O*G#KZsqL6;gUjx^__|mwK)mcfiQTr|92I6m)TMFWMC%6TK5yL_{ zd5Jy55>xVZ5qSt*9E2}R&DX{NGt{1^YEw0rnDTPr;4Cj)fDt&pM)lME0YDgfw(K}< zqFAHQSa+St|oA{Sb7ea}6&>i=Vd zHfWx`QjAjeNC#{hD+o@qF1FqaXn0J9Z`5teN0~d+_i6N*YUJD|>c^}z@83!qd6*p< z8xXH5(<0$jy-NUS0KU~$b;Lsv$KmNe{X#NTP(#z} z>ij3tapMicgb_(y{iC8}s(o#D&c~b8xnuXA;=g!MqdGt-Cq7|1;5cqC9gcBz9ceDk zS6wx_G)nSAZ1cGyGkK8bgF!rpheTFr;b%O;!kA-eh_@!#KB4=O)hS?QE@6wIZ8%Y?>NYX_31A)H0> zpoZKN1|c2gqO~+vs0*@@70>+)-+NBOycD4>R9$m&CJKs)WS>#(Kx>Yn2L}2j4svh zoL2g3Q7MEtmFyOK^e*T2ijFatFY=@oBJUUL8NqfB{n)->Gg-5S@9bku<3cG2iLO7< z`ja@kU#0mTQrHskAtfNV+ujW@!(wF3ot>^ezNj=3X%G5rvf>NbVzDgLeff|hahgDI zyrP*t$Azv=lPL2EJ=W443l#AZ$z`-_^p**zqiD1yFbMBN#Mvg zMT|Zt;KdEy9_1?g-nOO}g8=sgJ^_CS?5k~9h;>N>7Z6n?@mPa&mC|qZTvrw7>WdD9 zd~Rg#z$ZR?5dMc7A&^eyd4cn{GVtsTOh5v&;8{9-6=hfIJc4`IjK!>}WMC6#NfXJj z7pF$4UTl3yKb%!pO=f00dAfy>iASC^r}H`my7@%d@u43F{@p{fE3!9*%M$ zyITpJm*bZjj#?@rE)Y=(%bi6s$a&5~UUTgCc%_14SD7{$yMrIWgTH6|>a2$d5=^N; z?t=d$P3ck1YAx?)*r`U0T6;b0=5%#Z20qBKC-(2n>Abct(VXw`0%B8A`2MvLO7f<@ zc;T@XZwLl+(nZEg6eX~-p7iW}Jn@Ukbf#sGZ(#Zc-zZ`^vk+MH_{GES&^E7BZi5z# zSR+`SbVji9@#Dx?%l$7KeFlc6qIBc@JnxOKd7^1LusqTPqZbJFQ|OJ?yF?C668IMA z3M9=Ab?K06OSbK5_GT;os{t-S3-^b4>@p@>PbJ@KuoXQ7y%@o{xv79~O`H!AjDyW_EKXY6o}tNv155Rui8f zQ=S)<1LQRt&Bt6-X+DS9aIQ6&U$?J3>%Mvf9p0}kHu8Q;yHHF-7syb{?4p~SOwKi68% zi4Vd~Ss&X`m=h{9d#3W3j>tQ|SV)a0VzJCTgLc1NTPXE*SNMBI8ilJb#9%8T{b^iB z+1z6*4;2#4pc$-Y$py-7E8M`ma54NUkaaxdi^Y?pW@PFsI&JumS>;^Kk*U45yT zJY9WLh&+0EgNAicLNJElJ_ZmRa5!t+NaPK_we=+(XCRiXLgX&iVdVXm#5IC88;zpr zVQ>-Toa=HxUk31tEXRe8S$cn}3op&Q&W%vE)jIWYad%E%oU37YKlfvXywap&zi57u zH-%7J($dQ!s?VBueERBsu$I@NyxDS0_n5|DvJiGhet7Rp6n?_#ssjQZvE1Jx>FuLU zna?^8=9^C~ok24PH+pWB9GHgaUev7KMj(6CoynKG%s9jhXtUNQw`C&W5)U`;=h}W< z+CWj7+{|cOrUMUqTkOWC;HcB|n2ZGPf3&k(ZLK{qIo&1|dS#*Jn}}d+T?Gc+z1o&0 zy>ZnKyd!ly3AD-E;^m-R^7+it8!K=Ngf1}qVxWzMF>g=NrpCldE_LghkWHlnNlYRQ zg)UV~wY(ZL4Rf`U0!!a9=cxL%Xrzur&>lsE!rm`u?eb3KQx9X};q>(DyQwhUWU&%s z)&Oa#>9gs>zu|jG9CZGhl7`eh56V|JySa89NpUIHIjGroD>$}TTroP+FPK6th1ary z0+j&WVM;X@42a7%_T`0=4(bhk1>j^EzT_xVSDOKH!Uu?M)=*W2N0d4@_ZRYs8!q@I zb(UHNiqYJ5n(5GiTg}p?r!d18f^L07r_~_18xcgb&}{QNICQ^Rj$hH9hh}l$mppFe zuiHU%cE32iId!DpqrGD7jg3bdrV7g*b0P6Y7t}@_#X+yrIdv%MYU-HAo5dkTpSVYV zMX$DUiY_TvK!{{>^*u+IE~>DSzUUws!8H(3+3}_VwhR#2Dw`d5)`~{f3@WO4nc{8D z?z#*0n|W7)?<+Fn zF?oEopCEFLO7T=rLDQS`Ru@v$Q=7FdO*oQL`}C$f5O4A7I1fWH4^|d|n;XRMrjzfE zzHOmFz?6CEpLOdO6H;EJ#AY7K7ai zII9_{n*ukvKZ%26uQeN3;P#dLh?}nphAK$n+Rw5+!rm(_`&rvSjgMfVy_5KvSYLnI zrb#T}e#+dI08i#iPOOeR!)xpuPo&p4ize<8Gyk^z(n41W)A^-Nu7;xx)Y~POxcK0K z!WvM{7ouS~*re6RbUpX7hG3Lq3zO4PBt*QTLYJbWkFr9X3}CAZDUbKn6?wAP0p&LB zawp&z%*QNMXIJa=_wcSY+s9XIv9`Teuf| z`*cvKnd=;M75W-fZPlZY_oBz|GoA*-g#=sx%lWwH>#M!DQ=@70(-ObTnhRG0wrANR z?Kh*Kfs}w1t1ZL$KUKE?0O7ec+2-}R3gx&FhWA$Uo|Ao8|K*mUL;b-|aVY=&=Y3}7 z8)MQpzY=>(=8u7Lnrdv?jz7}ZF3NM0R4#@eAs?pxHJ#&P>} zO>dXD8SCo#&P@_Gxo)}z_M6kVh#CYujGa7LjJ+ro4Qy*=!qozht9_5|kxO<5n8WP~ z|A(!s4rr?T`_dp1ii$J_AS$4wG>C%407axjX>bFiH%6)m2q-CyNVnAJfwZL5fRWO% zjT$4j_xk>RPrT3b{>6Zud(J)g+!LSpey1B%Kq;?Fd~MBHP)#ESvd2N;OTD|odrYMh zvCacfa{v$Z@HYYrH0_O=WDPX85V7o2@KtWHj3hy^trIIIpB^wspJTC+5QPX4@|x$l zslj6WTqS)QK(=x3F@1CIWzJaU;lF*zyZ@uWn{TJ2M z4Jb@@i|0?sKk;l^cDBZmKCAkJge`v@m{Hu^Y-U3^Zc4yBzTB#|Z$7$Kl`@kb;6)u{ zIrF~J+k>^>9#ho5;s?yat67OITq)%gkN_0d-CKf!dx&uM)pMhj&w{uOg1L{N#JYj! z@5hEl(h+^l5MzqHk#4)5MF-Y{dIFdDLvh`TSxVScHE`ncx0Lj%)!uL|*Saes_<{ZJ%s-7Y1%f+I~v74-U%H+gGJtR3$-%}LZK zxaxQ2Ihwh;enL(%VAmhO6@r5s*yl<$rD;jl5}yZ^x9afg7|a(Bm+4+@!d-dowT*%0 zSNXIxxO>Ow9EoIn+Qg=Ly{RH>uY~r!%V|Cb}**+ZjdzDJ}J&C zy}#F;S%u^%phAWFEjA&4w7_AlY39f`M=hnq)rnQr1ug&SGo`j}=rg4y$b*87#dQB8 zaGWw^xxEn6Qti<^$0<3aXkD|?JR1Nc`}vRfBBPe>MslxNOl{If{Z9vj zQ?yeXpsr2cHI(_CTCwz)@`mOiXRN2z^#G*|CEvL_ZnWZHGLH8ng>t7UyQf9vbA{ag z9T#IRea4E+R67JKVyIE#k2wn%Bmy&aK@_U9hliz01*PyF4pX6nQ8%vDwNwN1yUGQ{ zM674PO)p&m2G3MKAU=v@3k!Qg12!Jr5U>nJ9++*dzhB04wsw4As>NIpYfiR3H<^?8 zZn6%4hiP@KlKLGmw|PwG>FEqJA=?w(M!km1ncZe2BvQ4-`+Vhcxiuv0msgC2k(N4E zK|QsiyEy+yV;2Lalf70ZZ~O}YrrFPu>?$N{I)!=lAaPA%ucVplbt)B6rH8$Wi(5FHQ$itWY7A=y-UXGF>HVa!l-!@&t*bX{k z%(=Q}BoRfeS^2|!_aDQ?_Si)24{p}`H0LrZStr}lrLS49PcE?=dOD#X<`(9qPlF90 zb6!KWE3nc}=+n*IF*run<$bC|V6hL;9VD=)zmWz%qS?%$xLKP`Q|VuwQ({7`Vv&mC zHE~IH$GWpAt`!Bee+lv@<9O(>+=#Nc%<*ANMf?74N`S#H42XgOmX3~LFrH?zRUZc#)NBJ_Bm;Lf89 zj5^Q=MVr~>_9+E=SJjb4i^ypArIP|GC&q<6_#f^Q0Z!FnSXmA#ZR+(UKZnJ+F zMG>psJP4%I#jm3+#KVP6hl}Kj#T?ZtdF({rN+=a|j+{vtyPj&PA#N|EiykX7`~`As z#>UxkCzQf*x#qgY6jmts25dQQvvwxqQL!;1j;Io%X~2?E38MG_Yz@-*>|>_y zFCg}_+{4MMdL~Drem7fybY04CMJ?@%Ey(;eo+0O1E9o#XJqcbs@D`k&j13LAna)QWCJa1Avb&C#|Le3 zJBDR(^roMt(LG$IGVPZwZMrGtdrUJUI!!2?J^kjpGY^}=eI%BwHNUKOQ1S*avza35 z=;>F6aA5*=(m|?tM~@=Mn7>`}lq=%KF$!XV9(clXi+o6?dEp0N_%)eW;>6d99b@fB zXrS`GioFlc`9{qma>O!IVqEfxWgSuaYYYB+5IL?VaiKFZQPEAto6NmYss*HJ0kq0* z>sQ&XLdx3Lq_)bfxUe1wGwTxl1 z$;wj#N;$_k?MhL%d|DbQKZGP`Awi~^T$_g%oMw;1?z{CJdVvSFSshdtj!Or2MC~Q+ z=PQr6B<8Tk`W$^Z&MpalxVEtkY3}hZG zXsd6tI(2+Y-d-!s3!&?~Z!YdtZJ$$79m$qBlc5XAsH@Jc3J$70cDig2l zM{cAz?Zi~jL;%DbA#q*&+4I$os=_|E)7ROW!%I9(hXv_RO5?wz<&x`J8Hy!g&Nv?N z1=%v7pU2$s>?=pvO^$_PA?vhuNg{75IUm5QF6WeVrv4-Ul5?g6VxzPh&mYBp<2TRzGb{|@=v1zVzBXt|dGqI> zDb}5(Mw{#At>|S)ZeaRc4#k=2-Fk~3<&Wl_UOP6Tb3wfO5-b^KA;toP8AYPTYe|E1 zv`dh$${%QmJ2WCagJzIi52P9vi579P1V~4jo8!Y`Jj@IqsiYX*oE~Fk$u$@#ohwEu zgQ~=vlj3@U3?9jqYA5NlJ6hiEyW+dpRNpw43{w*NxphE6cu&3jT>>*a>vv3FI#xEF z18hD$Md$P=TIP-OU>uGn1iX7av5z&Kfp*;C4BA#74c-$QavO(N=DY$M>!Xa47e-eU zus8!FBZs)$q1iYZ+!1_yR)RrW_~3xT=a*?^Mtn0_qy-glinAx1oAy!joOulH)vAm)m00)wKg}%yQVeAn$zg zHm4^ICl+=?|3IzV3Y1KfpGQl6{T1=eurc!8rq}vjH*i`5tE5G{U1fG7cWpdof;8X` z#)2v|QQXmBM_OvcXkq-u)=o=!GTxU*>`H9YgAz<$_kFXmuJ!AV&0pc2=SbX`X|9Re zV@FWW5bdSoOP4RdZxRMr1XW90PlN9D6d}Q!sqdd!X>5Qj!=uzno7;PG6Vottni#5r z#Bvi!Uo4Gh6;9Hgr37cRJjJ#=b@Ze1amuP^lDy&coCegdZwBn7A#I&>Dq$tre}Zc! zHUiYDu*hetW5XC7F5Ln%8ceu1+Z*-_O?8kMTYqEYhYo;zY*daGFErd}em*Kr@$@)* ziC_F<1+3F^H|9E23!EfB4yd=BjZx_1EE|zM4_~m%TpV?bii9(%dg*v2afdxg0>DTk z9EZJApgFvCIh_vgF^zU@ zF!LUop&p4+g4)nXy(WQsNV>irQOih-x1ydJist(yE?*k&K4@hx9j!t`fZ4ECZmPQs zA3OH=#a>JpxgS2=s4BnzNhPFLECrV^dsA4jWXG%WYj^bMY^Uh1;wikS#6c2i5^sZK ztGqkHdRw2XQ#SWdOgWixbA_nzW>RM$7b#HOhqK&}1os~PXqW{x@|Z{#(Q`CccfO7o z6{u-=2g#*)*pVElQn}`;Le)O)R~W}}ao=-M@egcFN$>z`WjT5uF+Dz`!WmhZ4^Y_ z@XZ7H03UyW;mb3_KUtT*u!o20yd~h<>e6uc*vK(CrWiTDnl`T@GoyxO!47>X0f36_ zTZ6b2|Fcfs!8!8$VSaVf3ky>yDuw=7*AZyLZ}RqzQUIcyPV=vG_aC1E^Js7EZwRU{ zhdlQRY~!AY7O%9JW@rn?A3u7tlBlsYTjj>n z9ssJF11&}WtGc;G`WxvT&5n3i)~EcD7eaxway-?XVvx=2{HxS^ zs=&qb6gPy0g)i5!55u*%@7>Kg)>%3KKK^$->aRKfRYIwm_69?y!YdUy+R$LARGY(n z8uAEpKm`32`N*C5&!_Q6yIwxxRVe)0hHz%NJsq*;*MWF-6(IK8_9O;#OEgNUm}mt1L|045ZOEXuW!H9<^85ZxU%W7=_&n9ifm@Q z5w<61{9AX;*X{bR2bbYPe}n(=gM<&u;K61Cp7fvQzlNT&9~7l926pg$9IvTUasF2s zz#@I|@oKc7D;?dF4c~I<=c-V8ocANX>~dLx;loZyV(gt_y{9&%6HR%Q;+gQwZ%>S0 zX5MJiU%ar)%BtyVG`fOnsw>XOYTK)AGkdn=4hZ6JxMS|Lr#qLtmVJJ0FqR6?a4*&O zR9*e2GfXL%?uNCUD&7>1VijioQuvY% zy<&MqoPwH-=O;ChnroJa>3#c5iKmW37s|x|p&#W3aB_-LyR%tLy|^&#zq+2;{(j)W z2gWC|Mx=eNrS-t;QvPTnvK#TSb<%N83THOzdRdpb0F3QU+mg!TS*C?)$> zrAITqR-0V#2Y(E%zn;^}hrBH#!4aw)gH17V?lU%IEkiDyT-M~@NV3~S8ZFavm{ zXhm%WonOI0%`NCr8)5`#gWMB0R9^L=Yn8LCH#KpxB1-o5Z2~5~PmPiKPPjGy)v!SP zphwkjXLo$N3Ja+2!oFD?DJu{-%iLO545Kouq=6%95^a@;xZyrttVzu$&M)p zR_~b~oK(!U&om^M`4Vl2bq~aDP8Q?(ql5Xo3KgZ*m^2Mm*mLlkxBU+mDFk;3H`8f_ z2Qu(M7PB>y_Jv)x3tECYTNXB@^V!&B8a1>icGA-?sV(%=-k+Hc zU+K!N_d4has&J|Dx2mW++Q78cDlf4uW5(BQ$k2F+)1pFu&_L%ttvEkG^l}VOXNdf( z3CuC%u4@iYFa&=Ckr=^gm}XA*cLr4CrAt5FClVgR^!k-4@-d*T{auRV(?0Z#+-GOm zofS-X*%A8zQc+h}?;cFr9q)Ht=SQQ!>~p6b@3*nnq;au+<(3AK$XDLE{h1Ph)0a7~ zc%mMOawWvGciX-SR*JdE8;nq&c`p3#IgI@&uW;4=65EuY@OUi<;Z&vtuXZ%i!k^_rT&PWw0yyX$F?nCM%;+`v_KTDshHJNtK= zlC{qG#IfD!1M7hj-%;kOVk^zz)1%P_rZ;eq3Ffk*95F!oD>3~RbKYK*+0KB;Ms^@Ycw2ky)i<`b zO)37{HIhOSSD%!yi(j)u<)TVxKYQ7kiv?$|WjH`&XJZ`(B`fvf-5n+-&G;&`lxq4T z&N!#iNh@uh9l_|Nk2gY~f3jPDb-+VVMv-{gGvyIR(^d+z5m>;9>yA&HhS(HhkHyG8 zFH^x8#3=i9KuLrig>~yX*StTrJb-zXJplKq6`hSuazRhzq`5>3vfk^9b#g(IRbZxA z5*x8Q>^d}YVR_rc%>boyzl}xn$!e&7-7>I|iH%L!i?nwkc*W$XKhT|??o=?jMG!I5 z-5^pWJo8@L9mpz6+F;-oFRsd;he17c=t_{sM>!r(FGS3}k~q!Bw^v*zzsC!#uGEkV zX8*D-1*!_`UYrQ9$9r62O#@UkHf(#QB;zJsKT#^^Ur3JswyY&77xhMDz*5Q= zwhQeRVH7|7d7zHhOKVA~+`Ms&-dJV{i~$yKf_0vo_P=%s_D{*PeGUaMP*q@EnN7PV zk+EFjxm+5)+-1?LV>X$eTCZ82-{OScX{@*2{S@pextYtDv`-vkAlradLOAZ0dW0B! zUU>91ZYfQUWWSeg#jDHudk6Q^%Hm&j0XveEqBB+@Bkr|MKd9myu`{)n)pGXbUWJYm zwq+HN;z@5sXo@cQfhQrLeS-;0|GCsLr>obdv6h;%>}RQO#N8R^(6juP%RaH`6_S z@3K&~m2G?_7^NJ^C4UE?v17lgF{=6QwPoGFc@@DswV%FRHvpp>lwU`2g?syZwa!pb zA6C=?M%ez8X0ppCas3aIJu!{Mjm(oN(}^aJii&vkzx56~LTTcY)eN$4Z?=SC0>XVy zTP7Qk=l;WqChFoT9mGo{?Y2m%1xCmZ`>QZp|8{M|QkO*Gpns%R0VN&7BX^D6E2nDncJL?rX8h}5z zZ3PU3OEe`FLAU8ls*nC{^sO~>_Sub_R*oQUUT-9>p2!dz0f1qiL&L2vJZ4QIb&^tD?iv)QbZiq z0%s?2=n9j|y?#2&@B_&BX|RF))(l)#!q9JJ!2f2uG9D2`;JEAl=C`uCq5Vj1)lK;? zeUTEcEv1HL_U5W%K@8th<_HznbCiI$_X5K` zA9RvVuHNv_LyAE5y?g+x2VBP0(GINsKj{Y@ns3#3{8+y;d+>7r#JkDPCi+@yYn?h7 z#k)(D;BVA)xM0!sIW*>Ba9CxG$ZsQ#L9!hvxc=J+H6zEGyylmndMFp*dxEx%39eXN z+$rDlY4~-N+$f?O1W1}x)MEPNrsYakOx@MHPE~|B<>x;Hv?m$KS&xhd*!2E2LGlh> zq|zX$30Sh__tEOXq=fDX4)r-znZ+L-H=wH@>iVOm6-*P~8E9LduSbu0)_s|FLhJ0S zWHkMDk0jjbj0kJ?NiY?p06k9!8;4l}jw60e0@w#vm0(TWB;0Q7D4qZa_QoOXFaP~D z#m9B-8}kF{MRW`b=`x3}LKUB+%~|7vcc0VRJDlm8>ch@dynJy^s|v7n2?Gi_^~aC5 zVD-@Ur#^OL^yT*0S9-QzUbamFGPs-8?{JALW;cW1MePt2Yn)4cUzU4#kgT+QLb~-t zKGNBxEjY769#AY&q%KTgI#T^|QWshN+VuwV-_|X+^KUdafqd$I=3(4<*TXFpRFE>2 zo?x;B6_R|i9!oiu3~T5xLTC~;V>$I6^n=^^(T5%}6CB0Q%Vl@!nt#d&bSh`uqkE?9 z_DZYqt4N=5#@qaFvM;Cdn_9?NyrG*!WcSRp?5T}s=4{57*GmzzTNS=)iRZpE&G_m^ zj?Imphuu*~P6&u6-S_Iq_N#qwSaK;L!qMHcQHTMtXDpb~YJ&My2tU(_W4=k*NQ)v4$x2Gkvm}KJ8d1u0B4o ziiI1A`~kjZB#lW7xjs=ehGw2Cmf(_=JpVfqQdh*Qu!NtrPF^vIhTB|i0FFq@HZ|&G zL6|t}bC|CNfA=tk58cVO*lp25NiINH=^jX}SalLoOvMT2?28;Vu4I4AfYMfkB_+t4 zj!Mq&k7ne9jjd1s)w#okuI@@9%#oCs##)F@ZA^!IeUGnJ5t*d!&RozTGcO+UNOe)gU_UjXkv zAi=`?Vuv%{UBOHsknWhDJ@g&m*>d&jMCI?5>DkMp2`-@0DqP0Z=ockbdbaTfrK9E> z!i~@M7*&E-T7(XarQl7^0Sm*OX;|ttcJ~pdXN5p_{s?Q|m9L+(dM1?)F3C=)uMv)H0?p4|W) zh9r^>!d<)Q@5d_y4>!5gBKunXNfj3_KU4ss_J)UjdL15QK3Xm?iOBsm0U51}Na%J- z4+Utvi9W5hn1RKu77AiR>iru3bc4&;q>nqz*sg6B6$MgVqwQ*)jV@qZnun`@Rel9- z?MS=j+;E`PhRPerjgMNL+`U-p`>ucGvmI=s17H60M1cwh6`21Mb^~Csl!t*s6d~Dr z-f3+J+Vn-&3-zcQI%dxeZ)Dd4(D@B#Vb)9E05Ifz{&?9JD$k@%6$D6b*EA8({9!W# z92kuIphx#`ad-gz>@A!_H{gNY!U=CueK122mt>$m$K2>#7IkR7`v$-Z=s3YG7|uD) zt-l4d+9Nkdo8#q|0RjDIt3C0=m(Jh4K;60R=><*DQ^=_?wA6_UA_q^VR?{FWyxww+Ai z)E!><#OEW+0FB!Fu^sAZE#7Tnm_6eh<4#?RnY_k3x;q<6ff96E zkm;Hh%9b9S$8jVZS&Io;494SbE(Qg=7_8u-U~~bDZ z(oK|E5cPV}TuD6*7&Xm&vbY_|X=uDKwR?KOFAyht3DGm6E+fN?siIooQJyyp*t$+# z9H1m0H@kROez{UTE~p+$jp?f`IbHSwZQW}z)$% zSsTt;hT6GN9dSkKNk_^7xpG1+dc)FRrX~dp$tg9nRV3ghzyjIeW5YAG|xDeKkA z9Aq%N)|eJVszz~tPYlDa@8=j_V><*WQ(u(g10@zx{s#OiSpjJzd3;`LTCIB(?Pq(d zSiUwaGN(CJ%@78dzc}-Ruir$-pIrWIN9|som70M{RK1&lx!>r)PjijSHMgTu&5b}&7>y(Cx zK)o=8nyOl}eEOSXjbnRr^rJprqf2t4v7KM{5b%={)<4he#8^N(2T8pr$7ai;2d7UB zuiR%ZKq^zRbVhOG9hsdD-%Da9*(yYmjPq3*<*Se}{i#^|DEB%b*$HQ$bY#XhqRgXp zR^WHkqB!@1S|~yyV*xws!&iwP&RYp|B`=R2oisFGpxF05%5QlpA#48wWSwMymuP+7 zqhLR*0H_T$oeU1Gb1}uO4KvM(6eft^BU#oJleP=8MI0y1VOXSu@P=-T zn|*clj0wYo-?A4>f$~f`5i3lR9)8O{H7bJutUUPY{BHkB(-u{?fvUy#k_>5%N`8b$ z%uoT?q_p?Fe41^Yu+iOt{-X}hK-O-Oj~kuV9DlBR zWPoZg!~4`$P>j?cCg$&zGg=xzL^pa*FCWR%sj2Z&|3<5uL5@I*(1TQ|8;Vi}!gV|B zIJ}$Fm*7$d&w}Es1a_!eIl>M5kySoLW zZwHdi0CfHjvDH(Q%wV;USR#H{_%Kt^K2ss;6Qy@mR-0C?@Hg8fMd|ba(o+2ImqWJ4`c*W z&h>Ca1lay`{HP{&Y5M33ghpa6tEIQFX&+n*xDPJ~A#`KnV`DcNsH6 z78Vhfq&WY%h#c*HroyEU9_hg$Uy3$HfLCmWCT%oRHqFd{!yvG$nkw1XfYwYj5yLV< zS9sugPeB{!#i{;?1@IC+hWI==1VrdDI45qGu>B`}%Nx+#efg&G;bAxSLB)N4fLr(H z5D%wczILAWx)QbXl`EH}gvl6!)}pB0+yjc6g5M8WJ$%LQ;?5v@ z-dN!BW`-eGuY~<@%aE-+-Y^?3-dY3ij2yapy$9XNbwf*vkpTTf?O7$KlIJ;SEf5}? z!1P{+)*_e?)Pv+KJ1)xQCXgSI(OY?|Zd`Qg@cONQI?U z3-jx)Xz=0RAgMWP+Ka{JBKa$+S6%bJbVf-7QeMZEJGXDeXT|~C+a!Dm>L{Qq{Y$rg zp^TNB;o8Rp*c7a9cI@?N%lD&moWB^bBYh)MRiGZa6xh#fzf`mOhB}?Tmm};sfKHD< z%{zSI9GyNTe=C%ad)0i#{5iUB21bqA(n^E&OQxb<3cwrX!luuQ<#UoH3aY%o!@Vme z{`*dcLk7q-Dmq#BA4M0tBKM4UBY6-Z5tF%$>^T(g+M)D}SVtwIx}L#!pLezL%*B`| zCNZ9X$cl)2^ex}u{R7Ud^TTX&# zFn9IFxS(Z%woxkIL2l!rXa`tk)~?y|_r{Bn^YP!|mw2kPD2_D{_)Nvq(vz8Nr4mnito*eS--wnt>B8J zKo0fcbM2+RyOQ0jQ+$@Y*FzY8tfUuji84ssC4`U;&2^`T0{Tu99|wOWGFGJw2E5QO z*7`vsKMdYBKl#)J!Q>&)nu>230uP5l>6*D$j)RHXyA&(-9^V>_w|u z;rST@nKK6HNv}Ihm5!3WO);T`M!5MTTQ79H9kskWO%(@NG{_0vk?Lv-_VU=Lw~!s5 zc>jOEKhuoO!SjOVjbB;@(45+a4SwOVSm{Ad;W(#awaB^H_<_gUG9u)9l z=*#uau%;k$GjyZ8fMrY@t(Z4#A8V(<=DtgqenssH{b~Ks@m(3(-SVc1)3XGF1mz8^ z3D2;MOQNk`9a|jMXEOPyrFz2YXRl6QST%^I6t>+>de0cPEZLXlX#%JAw(#D3QMz0* zM%{F@>{6crfyYZ%R!IM;{xI3-D@}Ke$j#|0mEUUS;vubHm%>@c`^XjQ@taEn&VW@s zeavoPY;^Q(&t>>E5d{T3f!69$KSF2b%Fvj9mrH46wcn=)e;ZaAf@d%KRzAK!gWsNQ zatcFviXf@(WRB`;&{I}5J;4+e z^2htT22P&8t`mq=PhAY8R%PwqBU82Q*+T284{lLA7GlS%BO!Sh=>FPDBfm3>Ybuu_ zEp+uYdT*2nD63?fCrb+5i?uBWAuPoM4GpF^U8m=F;^H(fABM=cPw8;oymJ}7Kx$Ci z|9r;L1@OOx1FK^#bt99`$p%mPz`5wl4(LX!dSt%eS_Uvuj0xuO6a9M6XTEghHVaVy z!!s0_abi(#KY5*e2o%n?7edcsR; zR0U3#ZB>rw3lncjkXa+%$|Te`)vZ;C90alP3T@$!fGAAAk7ND@T<<{@(N%o8_fd|b zDJGTYDhI*hg}XsLr9%tEcS@&j*rh6}crLz*Gm}PV0bx32Y&<2&x&aBeeV~MmqPNxa z0Ie^({&{RhX4V~XsID0^S)0BeHot5o*0sf&+=~soyu#_iJiEHYjY?0KQs_k_mzc?& zvT_om86?2QEcz83;KTQ832^o2iAAG8q;i@OjflM(Aa!2C?^AOFeyE}xysP??y>M8h zeke9&70dGr(9LfJJJzR&UQYTZz3{`yrvKQvdyF9+_D=pd-lC9$c8nq$VL#7Psvr=V z+`PImpeU4J2K(y8j_KqxnB`?U#b}c%S#ncu>-D->qA`j!?LDzoyAexz6r+$bnPU7ptUPft0MOVc$#h}OBKabR=TrE%%A&d++58iraTU~ zbIU8r;XV8!Th0}A_#SeGG!apJ(Snxk;eond?|>0;-^oCTkfvvr!G^DHc+)RpAwElg zX2V^-m{)OD4i|2-cn~^cTMRM^BU4fHt_m%jjPm%~%K+&4Ccc>p9=HT%X&0X!T>1vZ z{KR^-r08UC&V91yiC?(Ny!%^lL%b|GO+TnK2+RnNAV)Jg6y;jzWa!tUuZf}aljw@H z(%AF0{?2o^IoajL;%&(jcI}WN>?e*snb=oAw5f;w1y1aS=A!=E|En;Df8!Gnf1IP3 zMCQ{u;HT?=etg+}e<=Y-2JtZ&axW0gm;P+;NpKK*S4Cp|X~;RT(m5vj+S2;6k3ReTsp7gAhzui6Y7zNpXoS^phK)Wt` zJ)uee`hS7qv#fU#vgRrHu2!h%HMT*KB>>u%<mdu#Cw_Qm({o7z1l1}5Y_IrAB=LoTLE(0bBfl#L$*Blac`pd3wdm+mSib)V_Mo_0Bc)8Sspv8PX;a+W=(kr>|WP7*J^*C5y1YzXD-TOLvVF-2A@ zu1f%-iY*=dY*tE#nVS(dualygX1v=iYdB62GL5x-uqwki1@^)m6m3XqAm={RvV{3prNp_bF{OR+?XQ!O~`Ljm@Y{>CN| zurmLl*W(?`qtyETi0H)gIML^8%yT!gQz@mHjfzJaTZOgUFmal|nwe7?H9_&A`!#j$ zn5z@h&}Zwtj=PTELM8Q$XHr=A0QMw0I$DmrkK4@F(MobTr*z$Eg6wo{sJPyJHFk}P zxoT_;K#&{fMwbUrVev||D0kh;z*bdniU@}-T?&1`!Fji|P6Y4y)9r&~X_b>_as0c% zr)Sw4Cc)G>#t6r^i%Z;upbtkHwUY2g^WcF=<3xi#%*IaLbl5HO(mJ?pLJ8pKcpM`= z@m*FYjgHre|C>qrGXy<^oswHJN3OaClZnz}_~iC&c;==W_0@pYmIM zQO3A{dO)jHw&P9`6!0~V$*1R`432}&E6W8r3i%?0P;I16j$b%xHSnE@>9`o~-c zJJE13|K9I7dO$E7qNi2menGxh(Ql8%aud}U|Jag@eOmln8F=laHcbaGeE9jC!5HK< zH%{mBrzed9T$iCUkOgA@*$?v4?r-c+lfJ3ZmJt~b?B;0Nn8-Qzk5UX%j_Pl8n;<+M zW#U{~po(t1mzKZOUfLS2bBHSa*`$A44PB14`XTFu`f6tuhRLxk2P4{3uE89CqvH{4 zyysn;=g`k9hRF)y^N|zx#5A?nqz2KDS!`;#>omJ_66x!DU_V?4%IE163=aAC4$!^$=3 zjPsqDs+)M}G4h5db*~tM{~TNY8D+m!9!T4FH}=;(hx&P(1cdu1_yCiYfI}&_Gba%H zxec750$4EvGo%^*j2ZRkB|Z|qqn|=I?=zpLja^#OoN;r$Fcr}p21-HznE5iCR15tZ zw)7wD)?O*Fe8DH0u$lbSR)c)#JAG_i>|^Y%vpT?5&r7`oD)9!UPao#LA-(^N$Qwv~ z@#aLe-j2ApQTr89hVfKYuUpQ#RSB~((Gj1RmZw&QgBY&@qCp_EFLScq-=?8IUZ-2S z4W2QJ$bGUaS1HfVq+M^nje2X?dX18qmJbk1#GdW>t4^XKj6f#RsXt49l81hcYb2Pv zv~+Y(l?it2&6qr(d!w||bsfj&`6b zvtC52)X}L??C9gMDqGxX+Q3SAeMLou9n#J-!q074k&>1f&}p0rd~(^)7Y}l1sZIE> zQ-5x3nbrItxpKAKiKcKEs%gnZuVvne!(r(D_seAD|1CvEzVO`gXS+f6mq+14P!V59 z(%l!|YdqdFHO)3#6_L@#eJD5TY57F3_ zv=q|d_%!YMwRaUrm>W}E4c~?rJn3k?(GuKHm46ieU={d9+HJT{)1?xgNsaoOrR z2k@(}fKal$otD2gPh_*$)r^O&VqZ4p|I^8TYdeT4lOHp|n#Jd%ii3(MTm?a8cx&_S)(_{UYQu#op~C&exMufZI4 z6za1b1UTdP!4)gp zoc6YqYfs-$Z0o*`9^<4eXv*?P=6Fy=NBD90?%UzZW~b=N%`X!hMLaW~o4qeGZ$)-K zAte5@XYXAtyYquL#qEjlL3sFZmRz#e4?kE|H*7P7A5yoS=ig-Gmfm%BSKeW}52>k% ztC7m~y($rLCeY4Ysrk4!8K(Bv%kke^o4nLDzdj_3D3I#T`0N5YuBm zIk+5$?^)_jCuu4@@!2*ND_Pl0{aTv1)K4UCtsZVa>j=ckTT0p@d7$qnD=PW^d2yxN zl-E8)AlnUQ_n!IlYiqGc&1NM{$i9e)cr6`*AAYm8kt+`Vq1WQuMDnW{Daw%kF(c$0Dscc+s-OUb<#E)4h3Ypa10dfSmM3^f& z3}uN6Ia?7~bUqv$m0NUbfc7yz&HdZ@6;yQM2gchL*w&*FfTr$`=WZDb^z7GjuXdeu zEO!>W*P2_Sv<76B4=Oj(V1%iysm|pr`u;~aSXhC8i|_q+l?5-LE#kjm_}#l3Js~IV$~`A z5ar(ET)H8LZDN_-jnM%WH;~I~TE21K45!KATsKk1#3JTu zRpk+X&;0O&p#te)2?VY|D zAi&Cw6^=c=Pa6t+|8+gx?ZMGu;w**`ZRdU{i7r0jlG$8c$}77LP(LBj()DufUP#C_?l zkGCvOe{%Cx!Z{QTh=;$x|Ds{&)ytrB&M+8DM z-yeVK%mHptmzf*1)A!#tliy9YSZg3r5T@edh0T(#eT=H!#lj-5Y+M%JRLq&;V?>z2(uSJkr)CxrzThp$TGIiJshK){MvXdb zY-hp^@4@81?>3YrN6{DoE(BL=0@$-`feRwy6qa+m7f&F*xPyK~V&XLPFlwyN}0laHBYx2SL+TrC{ay(103qDsvw8y zcIjIuj`1!&Cxz*!_fuhGOa&p^@_s!q#b@~%Ig+NHXD;crWsB^O=MNolIb$a!bY zjD%)Q3&Qfn+|~HYWD~3;JkRs9UJHkL!w1rGtN}5>5kNu7vFeR_z;SAg8 ztPN7Zxfeb{!RYfmY`9MI7;B(lK$Vw01~I*XL0cR}ywq*ugxypLvjLh{M-+&ZteLSG5We;zs!j)!KbElotR2TIblk%b-=jREVC zdf05(1+1zCuI@B`ulPhhjDq(kKPbsG?m-^+A}JJF`=sMbrL!+lFV#gVe%f<^Va>$i zK+8v_{SF#jJ^O9LQYmZlT3&)YtW9tJ?F>bI?XomyuaIvt~#ftIEz3CRAbA_|U*AW9Jgl~F;uC?M4ajG`ce z^ezI17K#u8B!Hr*p;!A% zdoW)$BXBs7l+jT>S~c8Wv?b>K;bV8%Q-q`}>LO$5>OoV%UlH(TnK=*0==`THFTCb_ zSP+?Pm0IL3t+gt)`OwpWH&t5hv_Pt+T>fFDUHaT2PUneYis@j4wc3Xgy%iF@uR(^? z3qGhencdl#O&W3&7)yJ+4>|NCV#Xq5H6`G#`GF1_+Mv45eG%CPB%(__tGL$31rG0+ z5!}j2^b=}3`7sKyL3Q)~1qw1!ngwXT8%E}w4#WT zT%usJB%Q2P&po8vk7-Y|fU#*8 z=U$ZPuqf>k#p0a|G7$3+orh`u0P^eRxVZ!LuzjWj59=;(a+pz0??$ zMK6eS(K}VT5183m2$+<2b!O4EX}jff$ab+;5p!3W4OjS-;Y@9~CVuwSD)By~|zYgBq=RJcAak zaO^E@whfPhA;ki5?%`{3I7z#w)XchS>rEqgU32bhj*KqkHzBuXRqH?&bbbaLY(-6T zlf(QPL9v^2w`U|nJ`o9VyY1RiH{(R|We=J`tF5&BYD$oDl?9_V^Xpkq0pBgZa_$5A zh}+r?QMR%VlU4IHEICE_!UtS-#0^}V6P~yaQuI}H7VK}#N{`kq;n(?L!;%qjMig>i&+o4wV4Myy1-@voN=%Ga_lMWPZcxCOsY(YB$ z4i55D(He1KO|WB|LFv}4Q>}-ZAmwI=<8ljuj~{~Bk76G1EM5Cec;r(#_Z*uQvgHl? zmW_)UUz^=ZM))Xu^WJaTB~u#Mbn1O{^kS^MkNL32rb@9L0^f6JiCi+0lH5ncH+mrl zn2Wiwlu^@aRV&U^BehfLa=wpvX0=t1ZJP@LdpYL;dFh2Jk8Tr9*-~`>vqSt?P0His zIyD~U2V6Bqof##<7jMJTlu6|>;`8ej1dKv*01?!;Gr^Xm1A0b*Eh01zer^hja$E^H zV-P%{AB5K8nPn1PTxKZk7Rhh>YRA$Cid1hOa%s8tB>^tWQ`X$Pkk$gLZ4N<9$~?Z0 z*_w~(_BGJT;LpVtHKT0bX)$6#G#6wN&GUbN^$K*3*LrN(nq6TR_$5n?r}~y-HeNm) zCPOw_vsj=v4qjW2*nMCagr=_^LmQ=puC?G9m!6LozFQYJY+3kH5o#3fjpGBT$KQ|unhmkv}}(|kPR!9n()+fLA?$$9H3TtmPg^`6R$~oOp_dUJJJVsNftJCs6NN0suyn;`p|eOniDm zsVKu{A;ifa;yzW+hmP=Fi6qnOUnTfi(fPR6p6ss4xY`Cz@AL#gaQ<%8ATh2Zt&!7` zxI>O6U@Eoxni3%q2n+PLTMt>^@+)7{cS6mKDy$~u_xg33vI=pgjZ>Ca?-=7Y<%!_ z3V!d?lfS9WElK!tKe$eqQB*>Tkz4lTxV=)_v)+J9mNWa>>*;TXVuHp#!FG)meVYSY z^JzI}HcNGSS26goS`hOJkzyW+@TUsyq(w-!v+sH$)VgeFtt|XLU}MwF&0p-+ z)?Q`~XPU%A42m(tZiL!SaCkQt!6Mbn_5qwZgRH^Oc5)rq2a)&<(apz~*`(~4oAQPh z?^9p7>!A9%f*ov69h#+^nU3Kd?aVE@{x%rZeb?4KBM9sRyFr{9OE0 z)@$iIA6|@UKa0$Lpq^#=>bUDni(C3V-A&u(eY$ip(=Ngx(wiyQV|67xOs35G5hF{gGiyhRi_+coV$n~F)JJA^ z88W7QM2+%KSuP+W#C@&RXjns=+j4Q5>Y0hIvOH%D@2;3TGSP{lq9_Zq%LIzK}>BQshinu zk=D||usq)?FsBs?hNYNI_`AzF%j(vd=39#wU(>G;b+8ZLK|NYwbnb++yq>}ksyU%W zikacZRp10gjRZ;_4(kkJ%^4zlW`puX9M;rVB1x)FT5{uehD&C`JT#(rczqO@uz_|- z^04p&XQ-BO!FFTDmbp(u7{=J+Qwi^!EUN(fWmq~frj&lH32f;LI%G@x%oryfw~pH}(eFsldIAB!nE zl}`^X>DrsiGkH_fd!e!vkyFC9Ypnw&TzYpcdK;q#be@VAU!I~gqXJ2 zdGttewFK|zX>n^QSu|U_%Sm8TomZCF-C`Gcb?$(q2IHoDb_|TUrLor&${Ymv!gY%ni&R*ldr+(S}f#hq*YWXv+P^ zKIzor5-wN|8?s4OmEoPwDc&;dj#Gjk%WG%{)iEOy9VeryQ}6G`Dn8$3ZA{aXmDmALM@+a%7HW&P&%fM2+aeG%u2#u$gHs4u|ghq)s}Ybil9SKk8+*>xykLh ziM6#$YE|d!;l+o(aAlcMS(0AIY~Znpz#XRj7OzJD>ZYc%&9ic%3ecU< zNr1<_E|^?Bd6@P)f0c$ECQ3o=;V`$3giuZwIu|8~&kL*&>C%xMwOV=n?#9UR_{&nV za@UTeYOha8&L6sPC8(4RQA&~LIvbcbQtKWAGv&Oes8lRQj`K^8Auy*SW*q#&$`fWr zk=dsG#OA!RgEdMz%F%gZ`b zVmKpYWakeJi z9}J=*3Krw!wahHTtErR_i!qA72Bl>-6d#oCiCx|c1J|X%c z*j;IzL1ybx1CyP8(5{iup~5xkQ?5uu%*xCS165r4HPbE;x+iK zYaUJnX~XaJ=bmjs8W`H4OIKHSN8CMay>@Z98KaSJs3vo?g|Jz! zvFp4gXX2`_f-TsAcfvUq^fa+3gE~TJUA^V$I70RLRWXHG7PLw=gE%K+>)%!kTA=nB z>(ut1UYsSN<|~KOp%|GwEtcXcHI=nuh-Bqq>i2+bJ^CGU#f#56#yPw@X$Pk6d(syV z!N<^Y#0M*u1YIEOrDQ+HIH&eHc`lv1>p_~KG9;`_H(ZI)rbZ&JHwmVg!t7cZ*tfgA zUpCQYMg~*cv~2Rqx2nx-mAXAFO3__%K}Ye8s<*wo&ql_=+P zpYz}Rha7dd?NV={)nwGV`Gm!5ntrKHr>?3L1T+AI)Mqo?^f55=1`9j`1? zXO32Ime)xT32RW^ynEMsqBNT!^r4?v0vEgk1h{O}lAZfYeZaLg`KSxCNE@+eDrmMHsfOQF23bN$*84QW|$AG6(Ss_{oJxh zv8_TZE^qCj*ggTm+iwxmN73F#1FUo1zXw0O9SUDQOb|-~)kwD9=q*1ccv@t>A)I;u z3rRDp6PeLXEP*qeL{%m8JT2pzAtzg;Z|FBQuQy0?6jWqS_JE8sKcdB(_S50AbY3ML z{W_5>EY0QiW8#r*wNywdp0*Zd-%vH%bSK-cwDffi^ZrE zmvL*u%Z8Oh0daoS7`?uA(`C(Ea5{rZMK|xB_#W2O5?X00NNl58Fqh$c8*#fXSrL4W zDJH3F_3&&Sw*lc$Qf&;JuI8{R@`JUx;`%r4m-;V6UDB`NMgZ;=7OKc|DOS0gb%b=S zW34;TrlLS&049PVEhj&p7L#n{|Yi0f2Wqm##3h1EIz$L?M`HWptyktanA>2E}tcw`N% zX2dyt=aJs@OE;bEYF^~`HS2ZBl?Ml6%(%^LN0>v7P)LHp@7d?O%i4l+zj#=0loExRoL96TqBLp-D(a z+N*NRWiEyr+x~8II2XtbLD}?BmGO6x7hs?Zt2A=(&LVO@I2DBwq(T^P&d#ZHF4H%F zN*&u`!7NdvA6GA@;FQ=?<%M_spuv6w@`iUuNtLz2tY1y@t*kLJZbc=~D&@)t{_-~*;%EbbYb z-0Nl)Z!*aN@?JW@IyufXMOWBWKDDd-Y?WJ`^A<;CN_U>T-+fmZzEzG4@3>{#15TE7 z`uGFU@l|Z+PH<4m6~ih{az|EGobW9^jV5gaMhB4;2vVbOyhb7sSZ(4|!*x7s#l=i5 z`N7Bc+34Csb4^7Fm)B>56+h9X>YQ-gXPr9(jt}_NcKv1d3TfQAra9L;90r}G=?5*mV@d|5=JUodZt9{Zg90jTin%rlXXc!+dbR+3G zQ~gRFV|90&XIHVbVNgd>ifLsuS!FIi$@0zW=LxshrU%~>Nwg6HiInTA>j%U6Xy1^m zS;mPAnaZVW2s&78dbYF=b61*{>&y)>trWVI`;j*H-HgPGn-Qk4P|!!3c~V#NenN$+ zbvuu|ELy^jxrSMjJ;Hk-#?c?V_u5oYFDmy^?-6;~h84+1{>9}=>4!^nH76W>@pKYu zP?!18%_&*kXEO$1%PQK)pq`F0NkbDs6e)!&VhG@P)xkruu8so-hnpd;w=B0ZSsUth zU0m_-WcfSLJHv$cSD)Bq7q~06=G0Iy%&xU(Y$_i4N@6aYW;7ekmTG7=Vz_f5BS|J8@^w{okA>@A_+E- z;Fv&Fk*+uPk{lQqk4A+hY{c3*-420B>$9@vMwPf|GAew^6DNeZ4n0{}7>6$|IYt`- zTiKlYAa?EPa4p}BsNTum`D}uvC8spN=p97%v^la7FUm^5*)_f9exh zXADak=ZjsWnppa3I~xqRozUBSv|41mRt|sJ63CpJ3pUP5@UX%Y?qcKx7l@B}yW*AQ z2adukO3C8ImUFsW~oN+A_7- zmxr+`v+xveKXrbRLeSo_^;2%OWgNTxCUQuH3w`Qv%x!g6(xGCgOV_)%`b-TILrC#3 z%ec%8lc#Oxykj7hf)*Fl&rOB#U8tMFWO-lyOtc?Z5o}tZbtl4ATIrrY1c}WdK=zWK z3nkg?gqInM3*62tUAlAXFx5@2x}u6><2QNDb6t_S0}Hj});4+^NC>1}n=;~o$}*tF z5Yob%0G85@z&r8DIEqAq3^e6+{enadP~e*5QAeM7e@i`Aox@73UDqx!Zb?H2pQm6y zeO267+$#}f8SMh2B}v!L#C|e1?oB)vCGf#H+~4SlgeB*%Ou2OdrOg|N zym&j>tH2C_PnG2Q-4Z4Mwdju<5gLJP)$6I_Gv>_NT{Wi=sbT^z)=3l~DFU}QV5*m` zI^Ks|ti*>UH&gfR@5e+qh)`bz?IutMu)@0zYOmS51kD&&f0nyK$QixDG8kwRT|;Jw z6hCNln}mD}22ZNrMv<(>98Jm@vxtpjKD~;4gs1E$Z}2VLMyRT_G@`s*ra)LAsG3rX zH{J$%m zz(9$aJvH-48O?WYNa*lWUds1qP;e1YBF8ckRjQ}nfu+>!>ZS-k@zMAp@d&S^TK*27X+m>mA1H%>-sdtV3a%_0oiZw+giL~|XhYDI+f z(JBX*-ifC8mnZmbw5rrP4o<#&)OG~vAHTx_OkX=XYGa~Raso2Yj#4Xo#TE*s#}{PDh5M?s|6zPv+FL7lkqI*>&>+q%&n zw6)x+pFaDbgw8s`<$kx{1Lc38=S6vbUk11+q%TD8z9F1NrWrM8nYYBF~A$Sny~XA>R3V-8-5@l76xdQ#g=>`#lb$Rwn~OkG6O z7t8blDXCjAXPY8>5)QU1IpR~@RQgFy{-*Ffnb)5A9@%67IoiOj0 zDmSwUbf~nVQlAnu%2z7}lIcK?ay_6r(+uSO91;NGawGZK^ycK^VOGxP<7cq%mbNt7 z{02IM-oa)e>JFCe!|;I!);)8naBeQc5T@1d;R_i$O_nvzfOR)%h?UMiP~=H@F#)Sy;ZeY9oQ7)18FxZ~* zaSMiGtDL@q4?Hl>9WmvHbfr@CAiU!E*Q%;?AggMk;G9rl#|oo7XE7+{2TbWF4J3zG zQE6l(@6(XjkooIRiGTJ2U>2vg3r1{uxwLebfJi1vN%RiSvq?3}!^ocRyxPo!Wo0e3 zh163Vt%)wqGed74o7X`Fdpx(y_O|qY%j~mo*i2678$mkXqXkm2-$M--_+<>f#Rw>s zjV+OB17;TUtlLK|K|}XtfPAOXV)zRK*boxgq36*q*iXc)2X|@2Q3V_vIM*|7eHk%N zF8ek9nJOhq`$iUq+|k!|av@|Yi1j`ZDpZ`B9(;AL?%l^guHhTv6@4mg1IXrU`>^DY z?5)1s+w(i;J4IhqY=|UDufpnKZuUh>`9^OXSPp5hDo2Wb5Y#afe@AeK%mr16Ylxm< z#_rp+(amaC=ev6?c`i;4K{2Z5G!yi1HtnAYTrvs44-yhfHgc)^oSJvXP0C*>ln)`M zcGqq)QI%VhM0;I#d5#(G&c*->p4w{p$RkcBX{Hnp_lWDKYkkcOa*3Kr;n(3mAM$Q^pbc92rHW2 zTTq(WaW$7$aGJpyz}!*BRgDl*RwhUB6Ks{^JSllOI-kOT49yHnS?7nW=^&Q}@TAG| z@$Z3YlYt8lsfVJmt==!DUGR3BDw_i?>|c)sPAewEq|p2mtigABW^^$ujlc>b=ZsYk zu(!x@B0awGF@{i9nYGW|j{+zBXpfuw&yPnH?KgUOl4o59QFKInvklX6>Xh>xe6i}% zom62lrD*-iXB!7LmLceuaEb)G_H5fBjGbcoCJqRpT3fT%97gq*E0 z%H*h^ixo~_WV8DWThRvk4aGp8cSiIXO4yc+e=>$K(Dt%ge8qEUYID~|9fZL8C{dzV zOw3f;-yub@y3DG5NlSwE0j>t+JkEEcw-LuJDiKTc6Mft6AH`4yl4Vy^7dkWb%+2DZ#&fj~cR*93frBxbkEf$O`uj9xR z?}aJtjh6UoJFNw8Kt#HwXP%inE(MYgS_NVSn3ZR`?%BQ;U<|5gF~CxA_6r z=*`^6ffYekTJ}PiWvT#dvo%Xg(H-;bs|L^6zDC^KR0xo5&{rQ%CoyoCwJqNWrWiI* zQA?dreDy|!$Vj9xgNhapZu-Vl23`EYYRVoG((=pFIo5N8!!L}xa`HLZ`^K^nHr2c% zCDKcZ6?XLU*l6(1q@m5ji(KT|EVU>!++>OFpOT=i(%e3FpK5GMA~i7+zM1t0ZG7N* zqR9l3MK0RiBn>~fsgDGoF@9++x53^K z9Hv^cOD_2A*9vv6lK>HyrZ^>I>5i(_sqIwFP`?83EM2dxE$_OfI2*<3k`Ukokq@$LOUuj9uF&pka zrQe22Dd&3+BZ65)YBoWP;FkrrR&JuR*`i^@tI$*g+B(&+CmM0*%~us3&uilqs$fMe z$05Sq$f}WpzM+i4^q9==FjFmAgJZSgwk3#C?I&iTAEupGGR`uqEeiL2}D_EZC%)aqi=10 zLcM4)b4vZZ+w9dhJu`yWzQhORSd3(l0T%kXht6-JFpcTY>BTdqCfA>+em;D{ri6Pb zEx1)y#X2cki#2T>qGmOXF?V@%K=}rcNqqaU=Kynd#Z|oz;mYRca#9|?SL}KnMY-eA zXM_<^G82D$!M7BD=HVBzKa5qg47+$bp7$y2JP+^91O-LS_0J2gd+x{jJ@cL$NKt!1 zEALyFv+>6xhjlqumo=lADroGo7}8bIKYq4b!)Z@Y`+4~cYkF-NCp*KyYYUFuS$4r= zd1M*IriElyjJv!$!HbWV9N`~{9I8@eXu%&%**l;fy-?h@`8tFtX!15`0~aG)W;mPJ zt@ubqPEHt4la^;u3wSHmsQoo;R5@!;U!yP$Zzf1rg{@$ zy#-Oc@~#EClD*R0PZi`1*s`(@TVER3$&oa1Bac>hx0K-=u;-=isLV1^cnhlsse>E; zz4f^B1-;)?hh;es+{*e<;}@V9xEadswFmS-*s|np4kq^?5F*STqlDHadivVb%E4bx zs%SI-RVRPygi9lwWu33**En>_6N6Z*1@?%Yr3%&+J;pDm$(n=w4ztvbY+n8Yuq#VLN-Ol`Yi;2R@(D2gPpoZ$DSb! z-w4|(Dy=1@vU_i!WRzUn_>J_}-`?j-(*Tlq=^GF1*f)a>D3{-Na2TE$ludQZ4X<8? zrgTP*Pfh?|lK2mk%jE1GUp(V@G0abrHw%fCYRjk{&p@?jwTRjX$T8^Ht*>47ns5w9N; ze*d^*fis8mQvTZ{Gd>}|Fljjr?e9qi*<)v1k?5@`!;XHNSb0-Zx#z}ed>4#E=yuX} z$!HBs85mVH-C&Jf-Z(7Ce&*keFhH>;Cw0Bg`Y<_Mmbbdl>|_VQD+u5-O#hkH9}u^$ zM^NDrZC+%UBg}|Tl}&KTkY3S2R=FwrM^t;i%$8@7wD(sFb!I=vF8fwdFhE1o9|s$i zZbbUD`>e()6hmg)eArcE!Y=camBWuOI7kqmRsuy2QJ_H-7 zO@7&2?VgJ1_;O0v^E!ZSL4F|*9=N~xai#wC1plh0`sx#Aaj@ezZRVJ8-hxx?lZv^T z)bb**n$CY1zCSJ$I>>S3d}M^ty6_K-&|ewsLaza8NbzE>*5QA=IpFfC%K*bKraR>F zL$StRf^8=wHMJb@l>~$mY>JNnUUjc6g zF(5Z;${`k}`}f8CK2*y`pdRif5AxtYW(rKIE`S$^N&TEGup<9MSC+gg9PuR1FXgSm zxBRd5UJ-wnE(HV5Dy0v=pZCfaY$rCB7?oUTy=YkEKL0!v(mE}LWCqIrCH;RL2)T!m zZ{8m&Is*M>A5yg36SR}EAxwIsH9y&mP;1LHNQygckk|`d;Q7ZcsT=%P38|zF}0S~U1jk+c|#AyEYn13AzRdakV6to00=aUbrf>}$s*{k8|c>(}w z6BwXd?z>9RR9whzH?;yMoi;Q=KpymYB>(+QedP&T^dAJ7>xqT9cNSp9_CEnOmO=}t zH*gccUci&bx&gVptDebN@;@s~BX5Oe*H%-NNBp!#yMeFpP5Bc1#j2H5fyvhkBaP# zvbyI+){F6h_2#_hMfbcDlQDG}&4R)BT|5S)ymGk3^ncl~f9W9m{d*TmyI7#~D3$qO zpzK31D}ginK<4*(VLkHJ1A$_d?uN(v)JEO`^`&Y{FB*++_6_`}M)%KYwmiL*GFXna zWn|`+{d!?^4S(DL-@2hd_lb?rqvX#voTp zFP5}L7CgV9Mv7PmHBda2 zVQ#rJ{TlS8`;^oHKU3d-?5j)P+a0_+uXrn2P4*VvzOiK9IVr0{1%K{V?uHzhJk#EF zJFCijTp<+LVmn38+x(DB{Fg}%y#&;DEN?Ocl57^g=@iwEl7vemn@{WA?%dPk)u)w-A4fXN4f{yOUDnq#qQGZF=TNPG8@8_g{76 ze*yps2eYUSJ~VMWD5|p8cmCBWO|0X}w3KGN)o=f?>VMs;Zt&1t{OY~$z+Or&EXHwtceKj%-@$U&f`?jS6tp0qS z5W1q^lAJ}2Dv-1`eZ#Tno303|q@80s>)MiX2_>U&uJJPu)>6cGCwTu?pa)9sc?082 zgIhf+gI*ak0{;=@Ki3X0_5PeEcSXt+R8w2`R}Tm`VI9wn!|wGrYGUuU<&}{uN3U#q zvnQ7@`wQ%xRp(LzZ|AGfW@wRJOfB0#;d=bVr&(3tv4R_f}*?HI4TP2t80hs*rVn!j3 zK%KNLsB-sq_uQXf$8&L&WD=xuuHo}9SXYtaofNP)1Y$Abpv2|>}6sKyLA64Z1(MYuVo4j z+1?ATwX`;uEvhdZJH1fYwezYY^J=~}EO3|>dbMZz%WDR_w=$;Vda-!QTLGDXB8pnd zf0p<^E}A{=m)!C(ItWOsH4p(8f$-5X7Dd0}wnp5#ftEcq8<$)SML8g=CpWvkZ~)B} zEws`S$hV}WMJqfXGFAgL5_wqiVE&bP?sj}p0S_n8$>1FT)@=O*;O+fUp%9>+hU}q& ze~}UpO#TfS^_I|bt4>6sjJ0;4dyH``0q9uMAFw0h$&+qiiyEW9ZRd&xJmEZj^S4d9 z#p~|yikjzBizZ%N=v6F+LL=A;z0T0k7*@;Z5E_F?^|5A zlYS2n;^}VKy|4SVVP~75VG@Qea&!vCyRA6= z%J;V))&gLNmOG}~k(QyCssUWMc=TZHw%1;A1kkmzt(aN7N?I&9K!>#%WLjP?>e}d4TAoNe=@P|nJ z1fl;!LFoT4OyD@X+%e+XjvYI=n}Bu#94pNl4@G$XPRCu+ud5#!zPde4H_E{?mULqq zjvvs>vOBrJZU;U7TOj`pguV8u27u3A{`phqfnOe@^h{3jW)0{ON21Li332V literal 0 HcmV?d00001 diff --git a/e2e/image-screenshots/sample-images/dc-electrical-panel.svg b/e2e/image-screenshots/sample-images/dc-electrical-panel.svg new file mode 100644 index 000000000..3907eb469 --- /dev/null +++ b/e2e/image-screenshots/sample-images/dc-electrical-panel.svg @@ -0,0 +1,33 @@ + + + + 12V DC Distribution Panel + + + + + Nav lights — 5A + Anchor light — 3A + Cabin lights — 8A + VHF radio — 5A + Chartplotter — 7A + Autopilot — 10A + Windlass — 40A + + + + Bilge pump (auto) — 8A + Fresh-water pump — 6A + Refrigeration — 12A + Inverter — 15A + USB / 12V outlets — 10A + Instruments — 5A + Spare — 15A + + + + House bank: 2 × 100Ah AGM + Start bank: 1 × 80Ah + Charging: 60A alternator · 200W solar + 12.7V + diff --git a/e2e/image-screenshots/sample-images/safety-equipment-plan.png b/e2e/image-screenshots/sample-images/safety-equipment-plan.png new file mode 100644 index 0000000000000000000000000000000000000000..0f8123f46797ccbd365ce00feb5643f9c979b7b1 GIT binary patch literal 157145 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�%G=Hd!E}+gb2nJv?ORe-9+AAdB$ph#i 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 literal 0 HcmV?d00001 diff --git a/e2e/image-screenshots/sample-images/safety-equipment-plan.svg b/e2e/image-screenshots/sample-images/safety-equipment-plan.svg new file mode 100644 index 000000000..f5d771c1d --- /dev/null +++ b/e2e/image-screenshots/sample-images/safety-equipment-plan.svg @@ -0,0 +1,21 @@ + + + Safety Equipment Layout — S/V Test Vessel + + + + BOW + STERN + + + Fire extinguisher + Life jackets (6) + First-aid kit + Fire extinguisher + EPIRB + Flares / horn + Throwable + horseshoe + + Review at the start of every passage · Last checked: this season + diff --git a/e2e/image-screenshots/sample-images/seacock-through-hull-plan.png b/e2e/image-screenshots/sample-images/seacock-through-hull-plan.png new file mode 100644 index 0000000000000000000000000000000000000000..f5366bb2eb5963dbdf859fce4203082ef879ef58 GIT binary patch literal 138506 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∨L>ZHc-Ge0eWTz?zNDqW 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 z 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 + + Through-Hull & Seacock Plan + + + + waterline + BOW + STERN + + + Engine raw-water + Galley sink + Head intake + Head discharge + Bilge outlet + + + Close when leaving the boat unattended + Leave open (bilge / cockpit drains) + Soft wooden plug tied at each fitting + diff --git a/e2e/image-screenshots/seed.sh b/e2e/image-screenshots/seed.sh new file mode 100755 index 000000000..52f2f314c --- /dev/null +++ b/e2e/image-screenshots/seed.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +# Uploads the realistic sample marine diagrams into the shared image library, then warms the cache +# (raster variants) so the Media → Image Cache card shows a real on-disk size. +set -euo pipefail +cd "$(dirname "$0")" +BASE="${KIP_SK_URL:-http://localhost:3015}" +upload() { # file mime + curl -fsS -X POST "$BASE/plugins/kip/images" -F "file=@${1};type=${2};filename=$(basename "$1")" >/dev/null \ + && echo " uploaded: $(basename "$1")" || echo " FAILED: $(basename "$1")" +} +for f in sample-images/*.svg; do [ -e "$f" ] && upload "$f" "image/svg+xml"; done +for f in sample-images/*.png; do [ -e "$f" ] && upload "$f" "image/png"; done +echo "Warming the cache (raster variants)…" +curl -fsS "$BASE/plugins/kip/images" | python3 -c "import sys,json;[print(i['id'],i['format']) for i in json.load(sys.stdin)]" | while read -r id fmt; do + [ "$fmt" = "svg" ] && continue + for w in 160 320 640; do curl -fsS -o /dev/null "$BASE/plugins/kip/images/${id}?w=${w}" || true; done +done +echo "Done. Cache: $(curl -fsS "$BASE/plugins/kip/images/cache")" diff --git a/e2e/image-screenshots/signalk-config/package.json b/e2e/image-screenshots/signalk-config/package.json new file mode 100644 index 000000000..47cb6490c --- /dev/null +++ b/e2e/image-screenshots/signalk-config/package.json @@ -0,0 +1 @@ +{ "name": "kip-screenshot-config", "version": "1.0.0", "private": true, "description": "Throwaway Signal K config for KIP image-widget screenshots" } diff --git a/e2e/image-screenshots/signalk-config/plugin-config-data/kip.json b/e2e/image-screenshots/signalk-config/plugin-config-data/kip.json new file mode 100644 index 000000000..bef401d9f --- /dev/null +++ b/e2e/image-screenshots/signalk-config/plugin-config-data/kip.json @@ -0,0 +1 @@ +{ "enabled": true, "configuration": {} } diff --git a/e2e/image-screenshots/signalk-config/settings.json b/e2e/image-screenshots/signalk-config/settings.json new file mode 100644 index 000000000..f2278bf9c --- /dev/null +++ b/e2e/image-screenshots/signalk-config/settings.json @@ -0,0 +1,5 @@ +{ + "interfaces": {}, + "pipedProviders": [], + "vessel": { "name": "Test Vessel" } +} diff --git a/package.json b/package.json index b5b94dc93..ca5a09e37 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mxtommy/kip", - "version": "4.8.3", + "version": "4.9.0", "description": "An advanced and versatile marine instrumentation package to display Signal K data.", "license": "MIT", "author": { @@ -59,7 +59,8 @@ "signalk-tides", "@meri-imperiumi/signalk-autostate", "signalk-venus-plugin", - "signalk-victron-battery-monitor" + "signalk-victron-battery-monitor", + "sk-image" ] }, "main": "plugin/index.js", diff --git a/src/app/core/components/options/media/media.component.html b/src/app/core/components/options/media/media.component.html new file mode 100644 index 000000000..6559ecd00 --- /dev/null +++ b/src/app/core/components/options/media/media.component.html @@ -0,0 +1,35 @@ +

+
+
+

Image Cache

+

+ KIP keeps smaller copies of your images so they load quickly. Clearing frees + space on the Signal K server — your originals are kept and the smaller copies + are recreated when needed. +

+
+ Cache size: + {{ imageCacheDisplay() }} +
+
+ + + +
+
+
+
diff --git a/src/app/core/components/options/media/media.component.scss b/src/app/core/components/options/media/media.component.scss new file mode 100644 index 000000000..54b578096 --- /dev/null +++ b/src/app/core/components/options/media/media.component.scss @@ -0,0 +1,36 @@ +:host { + display: block; + height: 100%; + width: 100%; +} + +.page-content { + width: 100%; + overflow-y: auto; + scroll-behavior: smooth; + padding: 0px 0px 10px 0px; +} + +h3 { + margin-top: 5px; +} + +.image-cache-size { + display: flex; + align-items: baseline; + gap: 8px; + margin-bottom: 8px; +} + +.image-cache-label { + opacity: 0.7; +} + +.image-cache-value { + font-weight: 600; +} + +// Horizontal gap between the Refresh and Purge buttons (footer is text-align:end, not flex). +.image-cache-actions button + button { + margin-left: 8px; +} diff --git a/src/app/core/components/options/media/media.component.spec.ts b/src/app/core/components/options/media/media.component.spec.ts new file mode 100644 index 000000000..946cee554 --- /dev/null +++ b/src/app/core/components/options/media/media.component.spec.ts @@ -0,0 +1,87 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { of } from 'rxjs'; +import { beforeEach, describe, expect, it, vi } from 'vitest'; +import { SettingsMediaComponent } from './media.component'; +import { ToastService } from '../../../services/toast.service'; +import { ImageAssetService } from '../../../services/image-asset.service'; +import { DialogService } from '../../../services/dialog.service'; + +describe('SettingsMediaComponent', () => { + let component: SettingsMediaComponent; + let fixture: ComponentFixture; + let toastMock: { + show: ReturnType; + }; + let imagesMock: { + ready: boolean; + cacheStats: ReturnType; + purgeCache: ReturnType; + }; + let dialogMock: { + openConfirmationDialog: ReturnType; + }; + + beforeEach(async () => { + toastMock = { + show: vi.fn() + }; + imagesMock = { + ready: true, + cacheStats: vi.fn(() => of({ bytes: 1048576, files: 3 })), + purgeCache: vi.fn(() => of({ ok: true })) + }; + dialogMock = { + openConfirmationDialog: vi.fn(() => of(true)) + }; + + await TestBed.configureTestingModule({ + imports: [SettingsMediaComponent], + providers: [ + { provide: ToastService, useValue: toastMock }, + { provide: ImageAssetService, useValue: imagesMock }, + { provide: DialogService, useValue: dialogMock } + ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SettingsMediaComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); + + it('loads and formats the image cache size on init', () => { + expect(imagesMock.cacheStats).toHaveBeenCalled(); + const api = component as unknown as { imageCacheDisplay: () => string }; + expect(api.imageCacheDisplay()).toBe('1.0 MB · 3 files'); + }); + + it('shows Unavailable when the image service is not ready', () => { + imagesMock.ready = false; + component.refreshImageCache(); + const api = component as unknown as { imageCacheDisplay: () => string }; + expect(api.imageCacheDisplay()).toBe('Unavailable'); + }); + + it('purges the image cache after confirmation and refreshes', () => { + imagesMock.cacheStats.mockClear(); + component.purgeImageCache(); + + expect(dialogMock.openConfirmationDialog).toHaveBeenCalled(); + expect(imagesMock.purgeCache).toHaveBeenCalled(); + expect(imagesMock.cacheStats).toHaveBeenCalled(); + expect(toastMock.show).toHaveBeenCalledWith('Cache cleared', 1000, true, 'success'); + }); + + it('does not purge when the confirmation is declined', () => { + dialogMock.openConfirmationDialog.mockReturnValueOnce(of(false)); + component.purgeImageCache(); + + expect(imagesMock.purgeCache).not.toHaveBeenCalled(); + }); +}); diff --git a/src/app/core/components/options/media/media.component.ts b/src/app/core/components/options/media/media.component.ts new file mode 100644 index 000000000..2ac18631d --- /dev/null +++ b/src/app/core/components/options/media/media.component.ts @@ -0,0 +1,88 @@ +import { Component, DestroyRef, computed, inject, signal } from '@angular/core'; +import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; +import { HttpErrorResponse } from '@angular/common/http'; +import { MatButton } from '@angular/material/button'; +import { MatDivider } from '@angular/material/divider'; + +import { ToastService } from '../../../services/toast.service'; +import { ImageAssetService, IImageCacheStats } from '../../../services/image-asset.service'; +import { DialogService } from '../../../services/dialog.service'; + +/** + * Media settings tab. Hosts the image-cache card (on-disk size + purge of generated variants). + * Kept separate from the Configurations tab, which is for KIP config management (backup/restore). + */ +@Component({ + selector: 'settings-media', + templateUrl: './media.component.html', + styleUrls: ['./media.component.scss'], + imports: [MatButton, MatDivider] +}) +export class SettingsMediaComponent { + private toast = inject(ToastService); + private images = inject(ImageAssetService); + private dialog = inject(DialogService); + private destroyRef = inject(DestroyRef); + + protected readonly imageCacheStats = signal(null); + protected readonly imageCachePurging = signal(false); + protected readonly imageCacheDisplay = computed(() => { + const stats = this.imageCacheStats(); + if (!stats) { + return 'Unavailable'; + } + return `${this.formatBytes(stats.bytes)} · ${stats.files} file${stats.files === 1 ? '' : 's'}`; + }); + + constructor() { + this.refreshImageCache(); + } + + /** Refresh the on-disk image-cache size shown in the settings card. */ + public refreshImageCache(): void { + if (!this.images.ready) { + this.imageCacheStats.set(null); + return; + } + this.images.cacheStats().pipe(takeUntilDestroyed(this.destroyRef)).subscribe({ + next: (stats) => this.imageCacheStats.set(stats), + error: () => this.imageCacheStats.set(null) + }); + } + + /** Clear the resized image copies (originals are kept and recreated on demand). */ + public purgeImageCache(): void { + this.dialog.openConfirmationDialog({ + title: 'Clear image cache?', + message: 'Clear the resized copies of all images? Your originals are kept and recreated when needed.', + confirmBtnText: 'Clear', + cancelBtnText: 'Cancel' + }).pipe(takeUntilDestroyed(this.destroyRef)).subscribe((confirmed) => { + if (!confirmed) { + return; + } + this.imageCachePurging.set(true); + this.images.purgeCache().pipe(takeUntilDestroyed(this.destroyRef)).subscribe({ + next: () => { + this.imageCachePurging.set(false); + this.toast.show('Cache cleared', 1000, true, 'success'); + this.refreshImageCache(); + }, + error: (error: HttpErrorResponse) => { + this.imageCachePurging.set(false); + this.toast.show("Couldn't clear the image cache: " + (error?.statusText ?? error), 0, false, 'error'); + } + }); + }); + } + + private formatBytes(bytes: number): string { + if (!bytes) { + return '0 B'; + } + const units = ['B', 'KB', 'MB', 'GB']; + const exponent = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1); + const value = bytes / Math.pow(1024, exponent); + return `${value.toFixed(exponent === 0 ? 0 : 1)} ${units[exponent]}`; + } +} diff --git a/src/app/core/components/options/tabs/tabs.component.html b/src/app/core/components/options/tabs/tabs.component.html index e344321dd..1d7d09f3d 100644 --- a/src/app/core/components/options/tabs/tabs.component.html +++ b/src/app/core/components/options/tabs/tabs.component.html @@ -12,6 +12,9 @@ + + + diff --git a/src/app/core/components/options/tabs/tabs.component.ts b/src/app/core/components/options/tabs/tabs.component.ts index e7e6af17d..e9f2c8c1d 100644 --- a/src/app/core/components/options/tabs/tabs.component.ts +++ b/src/app/core/components/options/tabs/tabs.component.ts @@ -6,6 +6,7 @@ import { SettingsDisplayComponent } from '../display/display.component'; import { MatTabGroup, MatTab } from '@angular/material/tabs'; import { PageHeaderComponent } from '../../page-header/page-header.component'; import { SettingsConfigComponent } from '../configuration/config.component'; +import { SettingsMediaComponent } from '../media/media.component'; @Component({ selector: 'tabs', @@ -19,6 +20,7 @@ import { SettingsConfigComponent } from '../configuration/config.component'; SettingsUnitsComponent, SettingsDisplayComponent, SettingsNotificationsComponent, + SettingsMediaComponent, SettingsConfigComponent, PageHeaderComponent ] diff --git a/src/app/core/interfaces/widgets-interface.ts b/src/app/core/interfaces/widgets-interface.ts index a13e9ade7..af1b723e0 100644 --- a/src/app/core/interfaces/widgets-interface.ts +++ b/src/app/core/interfaces/widgets-interface.ts @@ -386,6 +386,15 @@ export interface IWidgetSvcConfig { /** Used by IFrame widget: allow input on iframe or not */ allowInput?: boolean; + /** Used by the Image widget: selected shared image asset + display options. */ + image?: { + imageId?: string | null; + imageFit?: 'contain' | 'cover'; + altText?: string; + /** Letterbox/background fill; null = transparent (dashboard shows through). */ + backgroundColor?: string | null; + }; + /** Use by racetimer widget */ timerLength?: number; /** The next dashboard to display when the racer-timer-widget counts to 0 and the boat is not OCS*/ diff --git a/src/app/core/services/image-asset.service.spec.ts b/src/app/core/services/image-asset.service.spec.ts new file mode 100644 index 000000000..373c5bd0c --- /dev/null +++ b/src/app/core/services/image-asset.service.spec.ts @@ -0,0 +1,92 @@ +import { TestBed } from '@angular/core/testing'; +import { beforeEach, describe, expect, it, vi } from 'vitest'; +import { BehaviorSubject, of } from 'rxjs'; +import { HttpClient } from '@angular/common/http'; +import { ImageAssetService } from './image-asset.service'; +import { SignalKConnectionService } from './signalk-connection.service'; + +function setup(httpServiceUrl: string | null, configuredUrl = '') { + const http = { post: vi.fn(() => of({})), get: vi.fn(() => of([])), delete: vi.fn(() => of({ ok: true })) }; + const connection = { + serverServiceEndpoint$: new BehaviorSubject<{ httpServiceUrl: string | null }>({ httpServiceUrl }), + signalKURL: { url: configuredUrl } + }; + TestBed.configureTestingModule({ + providers: [ + ImageAssetService, + { provide: HttpClient, useValue: http }, + { provide: SignalKConnectionService, useValue: connection } + ] + }); + return { service: TestBed.inject(ImageAssetService), http }; +} + +describe('ImageAssetService', () => { + beforeEach(() => TestBed.resetTestingModule()); + + it('becomes ready and builds variant URLs snapped to a container width', () => { + const { service } = setup('http://host:3000/signalk/v1/api/'); + expect(service.ready).toBe(true); + expect(service.urlFor('abc', 300, 1)).toBe('http://host:3000/plugins/sk-image/images/abc?w=320'); + expect(service.urlFor('abc', 320, 2)).toBe('http://host:3000/plugins/sk-image/images/abc?w=640'); + expect(service.urlFor(null, 300)).toBeNull(); + }); + + it('is not ready and yields null URLs before an endpoint is known', () => { + const { service } = setup(null); + expect(service.ready).toBe(false); + expect(service.urlFor('abc', 300)).toBeNull(); + }); + + it('posts an upload as multipart FormData to the images endpoint', () => { + const { service, http } = setup('http://host:3000/signalk/v1/api/'); + const file = new File([new Uint8Array([1, 2, 3])], 'map.png', { type: 'image/png' }); + service.upload(file).subscribe(); + expect(http.post).toHaveBeenCalledTimes(1); + const [url, body, opts] = http.post.mock.calls[0] as unknown[]; + expect(url).toBe('http://host:3000/plugins/sk-image/images'); + expect(body).toBeInstanceOf(FormData); + expect((body as FormData).get('file')).toBe(file); + expect(opts).toMatchObject({ reportProgress: true, observe: 'events' }); + }); + + it('targets the right endpoints for list/delete/cache/purge', () => { + const { service, http } = setup('http://host:3000/signalk/v1/api/'); + service.list().subscribe(); + expect(http.get).toHaveBeenCalledWith('http://host:3000/plugins/sk-image/images'); + service.delete('id-1').subscribe(); + expect(http.delete).toHaveBeenCalledWith('http://host:3000/plugins/sk-image/images/id-1'); + service.cacheStats().subscribe(); + expect(http.get).toHaveBeenCalledWith('http://host:3000/plugins/sk-image/images/cache'); + service.purgeCache().subscribe(); + expect(http.delete).toHaveBeenCalledWith('http://host:3000/plugins/sk-image/images/cache'); + }); + + it('discovers the width allow-list from GET config and snaps against it', () => { + const http = { + post: vi.fn(() => of({})), + get: vi.fn((url: string) => + url.endsWith('/config') ? of({ widthAllowlist: [100, 200, 400] }) : of([]) + ), + delete: vi.fn(() => of({ ok: true })) + }; + const connection = { + serverServiceEndpoint$: new BehaviorSubject<{ httpServiceUrl: string | null }>({ + httpServiceUrl: 'http://host:3000/signalk/v1/api/' + }), + signalKURL: { url: '' } + }; + TestBed.configureTestingModule({ + providers: [ + ImageAssetService, + { provide: HttpClient, useValue: http }, + { provide: SignalKConnectionService, useValue: connection } + ] + }); + const service = TestBed.inject(ImageAssetService); + expect(http.get).toHaveBeenCalledWith('http://host:3000/plugins/sk-image/config'); + // Snaps against the discovered list, not the built-in default. + expect(service.urlFor('abc', 150, 1)).toBe('http://host:3000/plugins/sk-image/images/abc?w=200'); + expect(service.urlFor('abc', 500, 1)).toBe('http://host:3000/plugins/sk-image/images/abc?w=400'); + }); +}); diff --git a/src/app/core/services/image-asset.service.ts b/src/app/core/services/image-asset.service.ts new file mode 100644 index 000000000..ca7e0014e --- /dev/null +++ b/src/app/core/services/image-asset.service.ts @@ -0,0 +1,113 @@ +import { DestroyRef, Injectable, inject } from '@angular/core'; +import { HttpClient, HttpEvent } from '@angular/common/http'; +import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; +import { Observable } from 'rxjs'; +import { SignalKConnectionService } from './signalk-connection.service'; +import { + resolvePluginBaseUrl, + snapImageWidth, + DEFAULT_IMAGE_WIDTH_ALLOWLIST +} from '../utils/kip-plugin-url.util'; + +export interface IImageAsset { + id: string; + name: string; + format: string; + width: number | null; + height: number | null; + bytes: number; + animated: boolean; + createdAt: string; + url?: string; +} + +export interface IImageCacheStats { + bytes: number; + files: number; +} + +/** + * Client for the KIP image-asset plugin endpoints (upload / list / delete / serve / cache). + * All requests are auto-authenticated by the app's authentication interceptor (JWT). + */ +@Injectable({ providedIn: 'root' }) +export class ImageAssetService { + private readonly http = inject(HttpClient); + private readonly connection = inject(SignalKConnectionService); + private readonly destroyRef = inject(DestroyRef); + private pluginBaseUrl: string | null = null; + private widthAllowlist: readonly number[] = DEFAULT_IMAGE_WIDTH_ALLOWLIST; + private configFetchedFor: string | null = null; + + constructor() { + this.connection.serverServiceEndpoint$ + .pipe(takeUntilDestroyed(this.destroyRef)) + .subscribe(endpoint => { + this.pluginBaseUrl = resolvePluginBaseUrl(endpoint?.httpServiceUrl ?? null, this.connection.signalKURL?.url); + if (this.pluginBaseUrl && this.pluginBaseUrl !== this.configFetchedFor) { + this.configFetchedFor = this.pluginBaseUrl; + this.fetchConfig(this.pluginBaseUrl); + } + }); + } + + /** Discover the plugin's supported variant widths so we don't hard-code a mirror of the server list. */ + private fetchConfig(base: string): void { + this.http.get<{ widthAllowlist?: number[] }>(`${base}config`).subscribe({ + next: cfg => { + const widths = (cfg?.widthAllowlist ?? []) + .filter(w => typeof w === 'number' && w > 0) + .sort((a, b) => a - b); + this.widthAllowlist = widths.length ? widths : DEFAULT_IMAGE_WIDTH_ALLOWLIST; + }, + error: () => { + // Older plugin or unreachable — keep the built-in default. + this.widthAllowlist = DEFAULT_IMAGE_WIDTH_ALLOWLIST; + } + }); + } + + get ready(): boolean { + return this.pluginBaseUrl !== null; + } + + private imagesUrl(): string { + if (!this.pluginBaseUrl) { + throw new Error('Signal K connection is not ready'); + } + return `${this.pluginBaseUrl}images`; + } + + /** Upload a file; emits HttpEvents so callers can show progress. */ + upload(file: File): Observable> { + const form = new FormData(); + form.append('file', file); + return this.http.post(this.imagesUrl(), form, { reportProgress: true, observe: 'events' }); + } + + list(): Observable { + return this.http.get(this.imagesUrl()); + } + + delete(id: string): Observable<{ ok: boolean }> { + return this.http.delete<{ ok: boolean }>(`${this.imagesUrl()}/${encodeURIComponent(id)}`); + } + + cacheStats(): Observable { + return this.http.get(`${this.imagesUrl()}/cache`); + } + + purgeCache(): Observable<{ ok: boolean }> { + return this.http.delete<{ ok: boolean }>(`${this.imagesUrl()}/cache`); + } + + /** Build a cache-friendly variant URL matched to a container width (null if unset/not ready). */ + urlFor(id: string | null | undefined, cssWidth?: number | null, devicePixelRatio?: number): string | null { + if (!id || !this.pluginBaseUrl) { + return null; + } + const dpr = devicePixelRatio ?? (typeof window !== 'undefined' ? window.devicePixelRatio : 1); + const w = snapImageWidth(cssWidth, dpr, this.widthAllowlist); + return `${this.pluginBaseUrl}images/${encodeURIComponent(id)}?w=${w}`; + } +} diff --git a/src/app/core/services/widget.service.ts b/src/app/core/services/widget.service.ts index 9b2c0d4f7..2c4e932ad 100644 --- a/src/app/core/services/widget.service.ts +++ b/src/app/core/services/widget.service.ts @@ -131,6 +131,7 @@ export class WidgetService { WidgetAisRadarComponent: () => import('../../widgets/widget-ais-radar/widget-ais-radar.component').then(m => m.WidgetAisRadarComponent), WidgetLabelComponent: () => import('../../widgets/widget-label/widget-label.component').then(m => m.WidgetLabelComponent), WidgetIframeComponent: () => import('../../widgets/widget-iframe/widget-iframe.component').then(m => m.WidgetIframeComponent), + WidgetImageComponent: () => import('../../widgets/widget-image/widget-image.component').then(m => m.WidgetImageComponent), WidgetHorizonComponent: () => import('../../widgets/widget-horizon/widget-horizon.component').then(m => m.WidgetHorizonComponent), WidgetHeelGaugeComponent: () => import('../../widgets/widget-heel-gauge/widget-heel-gauge.component').then(m => m.WidgetHeelGaugeComponent), WidgetSteelGaugeComponent: () => import('../../widgets/widget-gauge-steel/widget-gauge-steel.component').then(m => m.WidgetSteelGaugeComponent), @@ -532,6 +533,19 @@ export class WidgetService { selector: 'widget-iframe', componentClassName: 'WidgetIframeComponent', }, + { + name: 'Image', + description: 'Displays an uploaded image (e.g. a diagram of where safety equipment is stowed) stored on the Signal K server, scaled to fit while preserving aspect ratio. Upload images or pick from the shared library in the widget options.', + icon: 'imageWidget', + minWidth: 2, + minHeight: 2, + defaultWidth: 4, + defaultHeight: 6, + category: 'Core', + requiredPlugins: ['sk-image'], + selector: 'widget-image', + componentClassName: 'WidgetImageComponent', + }, { name: 'Tutorial', description: 'An instructional widget that guides new users through basic navigation, gestures, and dashboard editing steps.', diff --git a/src/app/core/utils/kip-plugin-url.util.spec.ts b/src/app/core/utils/kip-plugin-url.util.spec.ts new file mode 100644 index 000000000..7cbeb1465 --- /dev/null +++ b/src/app/core/utils/kip-plugin-url.util.spec.ts @@ -0,0 +1,55 @@ +import { describe, it, expect } from 'vitest'; +import { + resolvePluginBaseUrl, + snapImageWidth, + DEFAULT_IMAGE_WIDTH_ALLOWLIST +} from './kip-plugin-url.util'; + +describe('resolvePluginBaseUrl', () => { + it('prefers the configured URL', () => { + expect(resolvePluginBaseUrl('http://x/signalk/v1/api/', 'https://boat.local:3443')).toBe( + 'https://boat.local:3443/plugins/sk-image/' + ); + expect(resolvePluginBaseUrl(null, 'https://boat.local/')).toBe('https://boat.local/plugins/sk-image/'); + }); + + it('derives the plugin base from the v1/v2 API URL by stripping the signalk suffix', () => { + expect(resolvePluginBaseUrl('http://host:3000/signalk/v1/api/')).toBe('http://host:3000/plugins/sk-image/'); + expect(resolvePluginBaseUrl('http://host:3000/signalk/v2/api')).toBe('http://host:3000/plugins/sk-image/'); + expect(resolvePluginBaseUrl('http://host:3000/signalk')).toBe('http://host:3000/plugins/sk-image/'); + }); + + it('honours a custom plugin id', () => { + expect(resolvePluginBaseUrl('http://host:3000/signalk/v1/api/', null, 'kip')).toBe( + 'http://host:3000/plugins/kip/' + ); + }); + + it('returns null when nothing is known', () => { + expect(resolvePluginBaseUrl(null)).toBeNull(); + expect(resolvePluginBaseUrl(undefined, '')).toBeNull(); + }); +}); + +describe('snapImageWidth', () => { + const max = DEFAULT_IMAGE_WIDTH_ALLOWLIST[DEFAULT_IMAGE_WIDTH_ALLOWLIST.length - 1]; + + it('snaps up to the nearest allow-listed width, accounting for DPR', () => { + expect(snapImageWidth(100)).toBe(160); + expect(snapImageWidth(320)).toBe(320); + expect(snapImageWidth(330)).toBe(640); + expect(snapImageWidth(320, 2)).toBe(640); // 320 css * 2 dpr = 640 + }); + + it('uses the canonical max for unknown/zero/oversized widths', () => { + expect(snapImageWidth(undefined)).toBe(max); + expect(snapImageWidth(0)).toBe(max); + expect(snapImageWidth(99999)).toBe(max); + }); + + it('snaps against a caller-supplied allow-list (the server-discovered one)', () => { + expect(snapImageWidth(150, 1, [100, 200, 400])).toBe(200); + expect(snapImageWidth(500, 1, [100, 200, 400])).toBe(400); // max of the custom list + expect(snapImageWidth(50, 1, [100, 200, 400])).toBe(100); + }); +}); diff --git a/src/app/core/utils/kip-plugin-url.util.ts b/src/app/core/utils/kip-plugin-url.util.ts new file mode 100644 index 000000000..bdf81dffc --- /dev/null +++ b/src/app/core/utils/kip-plugin-url.util.ts @@ -0,0 +1,57 @@ +/** + * Resolves the base URL of a Signal K plugin (`/plugins//`) from the connection + * endpoint, mirroring the logic in kip-series-api-client.service so both clients agree. + * + * @param httpServiceUrl the server's v1 API URL (e.g. `http://host:3000/signalk/v1/api/`) + * @param configuredUrl the user-configured Signal K URL, if any (takes precedence) + * @param pluginId the Signal K plugin id (defaults to the image plugin, `sk-image`) + */ +export function resolvePluginBaseUrl( + httpServiceUrl: string | null | undefined, + configuredUrl?: string | null, + pluginId = 'sk-image' +): string | null { + const configured = configuredUrl?.trim(); + if (configured) { + const base = configured.endsWith('/') ? configured.slice(0, -1) : configured; + return `${base}/plugins/${pluginId}/`; + } + if (!httpServiceUrl) { + return null; + } + const normalized = httpServiceUrl.endsWith('/') ? httpServiceUrl.slice(0, -1) : httpServiceUrl; + const root = normalized + .replace(/\/signalk\/v2\/api$/, '') + .replace(/\/signalk\/v1\/api$/, '') + .replace(/\/signalk\/v2$/, '') + .replace(/\/signalk\/v1$/, '') + .replace(/\/signalk$/, ''); + return `${root}/plugins/${pluginId}/`; +} + +/** + * Fallback image variant widths, used until the plugin's `GET /config` advertises its own list. + * Matching the server keeps client requests stable and cache-friendly. + */ +export const DEFAULT_IMAGE_WIDTH_ALLOWLIST: readonly number[] = [160, 320, 640, 960, 1280, 1920, 2560]; + +/** Snap a CSS width (times device pixel ratio) up to the nearest allow-listed variant width. */ +export function snapImageWidth( + cssWidth?: number | null, + devicePixelRatio = 1, + allowlist: readonly number[] = DEFAULT_IMAGE_WIDTH_ALLOWLIST +): number { + const list = allowlist.length ? allowlist : DEFAULT_IMAGE_WIDTH_ALLOWLIST; + const dpr = devicePixelRatio && devicePixelRatio > 0 ? devicePixelRatio : 1; + const target = cssWidth && cssWidth > 0 ? cssWidth * dpr : 0; + const max = list[list.length - 1]; + if (!target) { + return max; + } + for (const w of list) { + if (w >= target) { + return w; + } + } + return max; +} diff --git a/src/app/widget-config/image-source-setup/image-source-setup.component.html b/src/app/widget-config/image-source-setup/image-source-setup.component.html new file mode 100644 index 000000000..96eb6187a --- /dev/null +++ b/src/app/widget-config/image-source-setup/image-source-setup.component.html @@ -0,0 +1,121 @@ +
+ + +
+ + + JPG, PNG, WebP, GIF, HEIC/HEIF, SVG · max 10 MB +
+ + @if (uploading()) { + + } + @if (error(); as message) { + + } + + {{ liveStatus() }} + + +

Boat image library

+

+ Images are stored on the Signal K server and shared by every display on this boat. +

+ + @switch (galleryStatus()) { + @case ('loading') { + + } + @case ('error') { + + } + @default { + @if (gallery().length) { + + } @else { +

No images in the shared Signal K library yet. Upload one to get started.

+ } + } + } + + + + Scaling + + Fit (show whole image) + Fill (crop to fill the widget) + + + + + Description + + Read aloud by screen readers and shown if the image can't load. + + +
+ + Transparent background + + @if (!isTransparent) { + + + + {{ backgroundControl.value }} + + } + Shown behind the image — in empty space and through see-through images. +
+ + + @if (selectedId(); as sel) { +
+
+ +
+
Preview
+
+ } + +
diff --git a/src/app/widget-config/image-source-setup/image-source-setup.component.scss b/src/app/widget-config/image-source-setup/image-source-setup.component.scss new file mode 100644 index 000000000..c4a9cd0bc --- /dev/null +++ b/src/app/widget-config/image-source-setup/image-source-setup.component.scss @@ -0,0 +1,226 @@ +.image-setup { + display: flex; + flex-direction: column; + gap: 1rem; + padding-top: 0.5rem; +} + +.image-setup__upload { + display: flex; + align-items: center; + gap: 0.75rem; + flex-wrap: wrap; +} + +.image-setup__hint { + color: var(--kip-contrast-dim-color, rgba(255, 255, 255, 0.6)); + font-size: 0.8rem; +} + +.image-setup__heading { + margin: 0; + font-size: 0.85rem; + font-weight: 600; +} + +.image-setup__error { + color: var(--mat-sys-error, #f44336); + font-size: 0.85rem; + margin: 0; +} + +// Visually hidden, but readable by screen readers (status announcements). +.image-setup__sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0 0 0 0); + white-space: nowrap; + border: 0; +} + +.image-setup__gallery-status { + display: flex; + align-items: center; + gap: 0.75rem; + min-height: 48px; +} + +.image-setup__gallery { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)); + gap: 0.5rem; + max-height: 260px; + overflow-y: auto; +} + +.image-setup__thumb { + display: flex; + flex-direction: column; + margin: 0; + border: 2px solid transparent; + border-radius: 8px; + + &--selected { + border-color: var(--mat-sys-primary, #4f9cff); + } + + // Relative selection cue that needs no bright color: dim the unselected tiles. Works in night + // theme (where the accent resolves to a dim red on near-black) without harming dark adaptation. + &:not(&--selected) .image-setup__thumb-select { + opacity: 0.55; + } +} + +.image-setup__thumb-select { + position: relative; + width: 100%; + aspect-ratio: 1 / 1; + padding: 0; + border: none; + border-radius: 6px 6px 0 0; + overflow: hidden; + cursor: pointer; + // Theme-neutral checkerboard so both light- and dark-line transparent diagrams stay visible + // (the old --kip-widget-background token was never defined and fell back to near-black). + background-color: #808080; + background-image: + linear-gradient(45deg, rgba(0, 0, 0, 0.22) 25%, transparent 0, transparent 75%, rgba(0, 0, 0, 0.22) 0), + linear-gradient(45deg, rgba(0, 0, 0, 0.22) 25%, transparent 0, transparent 75%, rgba(0, 0, 0, 0.22) 0); + background-position: 0 0, 8px 8px; + background-size: 16px 16px; + + img { + width: 100%; + height: 100%; + object-fit: contain; + display: block; + } + + &:focus-visible { + outline: none; + box-shadow: inset 0 0 0 2px var(--mat-sys-primary, #4f9cff); + } +} + +.image-setup__thumb-broken { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 100%; + color: var(--kip-contrast-dim-color, rgba(255, 255, 255, 0.6)); +} + +.image-setup__check { + position: absolute; + top: 2px; + left: 2px; + color: var(--mat-sys-primary, #4f9cff); + filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.8)); +} + +// Footer row: the image name + a 44px delete target, OUT of the select tap zone so a wet/gloved +// reach to select can't land on delete. +.image-setup__thumb-foot { + display: flex; + align-items: center; + gap: 4px; + margin: 0; + padding-left: 4px; +} + +.image-setup__thumb-name { + flex: 1 1 auto; + min-width: 0; + font-size: 0.72rem; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + color: var(--kip-contrast-dim-color, rgba(255, 255, 255, 0.6)); +} + +.image-setup__delete { + flex: 0 0 auto; + width: 44px; + height: 44px; + display: inline-flex; + align-items: center; + justify-content: center; + border: none; + border-radius: 8px; + background: none; + cursor: pointer; + color: var(--mat-sys-error, #e53935); + + &:hover, + &:focus-visible { + background: color-mix(in srgb, var(--mat-sys-error, #e53935) 16%, transparent); + } + &:focus-visible { + outline: none; + box-shadow: inset 0 0 0 2px var(--mat-sys-error, #e53935); + } + + mat-icon { + font-size: 20px; + width: 20px; + height: 20px; + } +} + +.image-setup__field { + width: 100%; +} + +.image-setup__bg { + display: flex; + align-items: center; + gap: 1rem 1.25rem; + flex-wrap: wrap; +} + +.image-setup__color { + display: inline-flex; + align-items: center; + gap: 0.5rem; + font-size: 0.85rem; + + input[type='color'] { + width: 44px; + height: 44px; + padding: 2px; + border: 1px solid var(--mat-sys-outline, #888); + border-radius: 6px; + background: none; + cursor: pointer; + } +} + +.image-setup__color-hex { + font-size: 0.8rem; + font-variant-numeric: tabular-nums; + text-transform: uppercase; + color: var(--kip-contrast-dim-color, rgba(255, 255, 255, 0.6)); +} + +.image-setup__preview { + margin: 0; +} + +.image-setup__preview-stage { + width: 100%; + height: 140px; + border-radius: 6px; + overflow: hidden; + border: 1px solid var(--mat-sys-outline-variant, rgba(127, 127, 127, 0.3)); + + img { + width: 100%; + height: 100%; + display: block; + } +} diff --git a/src/app/widget-config/image-source-setup/image-source-setup.component.spec.ts b/src/app/widget-config/image-source-setup/image-source-setup.component.spec.ts new file mode 100644 index 000000000..186562d2b --- /dev/null +++ b/src/app/widget-config/image-source-setup/image-source-setup.component.spec.ts @@ -0,0 +1,204 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { UntypedFormControl, UntypedFormGroup, FormGroupDirective } from '@angular/forms'; +import { HttpEventType, HttpErrorResponse } from '@angular/common/http'; +import { of, throwError } from 'rxjs'; +import { describe, expect, it, beforeEach, vi } from 'vitest'; +import { ImageSourceSetupComponent } from './image-source-setup.component'; +import { ImageAssetService, IImageAsset } from '../../core/services/image-asset.service'; +import { DialogService } from '../../core/services/dialog.service'; +import { AppService } from '../../core/services/app-service'; + +describe('ImageSourceSetupComponent', () => { + let fixture: ComponentFixture; + let component: ImageSourceSetupComponent; + let formGroup: UntypedFormGroup; + + const sampleList: IImageAsset[] = [ + { id: 'img-1', name: 'a.png', format: 'png', width: 100, height: 80, bytes: 1234, animated: false, createdAt: '2026-01-01T00:00:00Z' }, + { id: 'img-2', name: 'b.svg', format: 'svg', width: 0, height: 0, bytes: 500, animated: false, createdAt: '2026-01-02T00:00:00Z' } + ]; + + const imagesMock = { + list: vi.fn(() => of(sampleList)), + upload: vi.fn(() => of({ type: HttpEventType.Response, body: { id: 'uploaded-1' } })), + delete: vi.fn(() => of(undefined)), + urlFor: vi.fn((id: string, w?: number) => `http://host/plugins/sk-image/images/${id}?w=${w}`) + }; + const dialogMock = { openConfirmationDialog: vi.fn(() => of(true)) }; + const appMock = { cssThemeColors: { cardColor: '#1e1e1e' } }; + + const api = () => component as unknown as { + imageGroup: UntypedFormGroup; + gallery: () => IImageAsset[]; + galleryStatus: () => 'loading' | 'loaded' | 'error'; + galleryError: () => string | null; + error: () => string | null; + uploading: () => boolean; + validateFile: (file: File) => string | null; + selectImage: (id: string | null) => void; + selectedId: () => string | null; + deleteImage: (id: string, event: Event) => void; + onFileSelected: (event: Event) => void; + toggleTransparent: (v: boolean) => void; + isTransparent: boolean; + }; + + const fileOf = (name: string, type: string, size: number): File => { + const file = new File(['x'], name, { type }); + Object.defineProperty(file, 'size', { value: size }); + return file; + }; + + const buildWith = async (imageGroup: UntypedFormGroup) => { + formGroup = new UntypedFormGroup({ image: imageGroup }); + await TestBed.resetTestingModule(); + await TestBed.configureTestingModule({ + imports: [ImageSourceSetupComponent], + providers: [ + { provide: FormGroupDirective, useValue: { control: formGroup } }, + { provide: ImageAssetService, useValue: imagesMock }, + { provide: DialogService, useValue: dialogMock }, + { provide: AppService, useValue: appMock } + ] + }).compileComponents(); + fixture = TestBed.createComponent(ImageSourceSetupComponent); + component = fixture.componentInstance; + fixture.componentRef.setInput('formGroupName', 'image'); + fixture.detectChanges(); + }; + + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('ensures the imageId/imageFit/altText/backgroundColor controls exist when the group is empty', async () => { + await buildWith(new UntypedFormGroup({})); + const group = api().imageGroup; + expect(group.get('imageId')).toBeTruthy(); + expect(group.get('imageFit')!.value).toBe('contain'); + expect(group.get('altText')!.value).toBe(''); + expect(group.get('backgroundColor')!.value).toBeNull(); + }); + + it('preserves saved control values when reopening', async () => { + await buildWith(new UntypedFormGroup({ + imageId: new UntypedFormControl('img-2'), + imageFit: new UntypedFormControl('cover'), + altText: new UntypedFormControl('Map'), + backgroundColor: new UntypedFormControl('#112233') + })); + const group = api().imageGroup; + expect(group.get('imageId')!.value).toBe('img-2'); + expect(group.get('imageFit')!.value).toBe('cover'); + expect(group.get('backgroundColor')!.value).toBe('#112233'); + }); + + it('loads the shared library into the gallery on init, newest first', async () => { + await buildWith(new UntypedFormGroup({})); + expect(imagesMock.list).toHaveBeenCalled(); + // Sorted by createdAt descending so a just-uploaded image is easy to find. + expect(api().gallery().map(a => a.id)).toEqual(['img-2', 'img-1']); + }); + + it('rejects files over the 10 MB limit', async () => { + await buildWith(new UntypedFormGroup({})); + const big = fileOf('big.png', 'image/png', 10 * 1024 * 1024 + 1); + expect(api().validateFile(big)).toContain('10 MB'); + }); + + it('rejects unsupported types that also lack a known extension', async () => { + await buildWith(new UntypedFormGroup({})); + const bad = fileOf('note.txt', 'text/plain', 100); + expect(api().validateFile(bad)).toContain("isn't supported"); + }); + + it('accepts a valid image within limits', async () => { + await buildWith(new UntypedFormGroup({})); + const ok = fileOf('photo.webp', 'image/webp', 2 * 1024 * 1024); + expect(api().validateFile(ok)).toBeNull(); + }); + + it('accepts a HEIC file by extension even when the browser reports no type', async () => { + await buildWith(new UntypedFormGroup({})); + const heic = fileOf('IMG_0001.HEIC', '', 1024); + expect(api().validateFile(heic)).toBeNull(); + }); + + it('selecting a gallery image sets the imageId control, the highlight signal, and marks it dirty', async () => { + await buildWith(new UntypedFormGroup({})); + api().selectImage('img-1'); + const control = api().imageGroup.get('imageId')!; + expect(control.value).toBe('img-1'); + expect(control.dirty).toBe(true); + expect(api().selectedId()).toBe('img-1'); + }); + + it('initializes the highlight signal from a saved imageId', async () => { + await buildWith(new UntypedFormGroup({ imageId: new UntypedFormControl('img-2') })); + expect(api().selectedId()).toBe('img-2'); + }); + + it('sets the selected image id from a successful upload response', async () => { + await buildWith(new UntypedFormGroup({})); + const input = document.createElement('input'); + input.type = 'file'; + const file = fileOf('new.png', 'image/png', 1024); + Object.defineProperty(input, 'files', { value: [file], configurable: true }); + api().onFileSelected({ target: input } as unknown as Event); + expect(imagesMock.upload).toHaveBeenCalledWith(file); + expect(api().imageGroup.get('imageId')!.value).toBe('uploaded-1'); + expect(api().uploading()).toBe(false); + }); + + it('surfaces a login error message when the server returns 401', async () => { + imagesMock.upload.mockReturnValueOnce(throwError(() => new HttpErrorResponse({ status: 401 }))); + await buildWith(new UntypedFormGroup({})); + const input = document.createElement('input'); + input.type = 'file'; + const file = fileOf('new.png', 'image/png', 1024); + Object.defineProperty(input, 'files', { value: [file], configurable: true }); + api().onFileSelected({ target: input } as unknown as Event); + expect(api().error()).toContain('Sign in'); + }); + + it('confirms before deleting, then clears the selection on success', async () => { + dialogMock.openConfirmationDialog.mockReturnValueOnce(of(true)); + await buildWith(new UntypedFormGroup({ imageId: new UntypedFormControl('img-1') })); + api().deleteImage('img-1', { stopPropagation: vi.fn() } as unknown as Event); + expect(dialogMock.openConfirmationDialog).toHaveBeenCalled(); + expect(imagesMock.delete).toHaveBeenCalledWith('img-1'); + expect(api().imageGroup.get('imageId')!.value).toBeNull(); + }); + + it('does NOT delete when the confirmation is declined', async () => { + dialogMock.openConfirmationDialog.mockReturnValueOnce(of(false)); + await buildWith(new UntypedFormGroup({ imageId: new UntypedFormControl('img-1') })); + api().deleteImage('img-1', { stopPropagation: vi.fn() } as unknown as Event); + expect(imagesMock.delete).not.toHaveBeenCalled(); + expect(api().imageGroup.get('imageId')!.value).toBe('img-1'); + }); + + it('maps a 401 delete failure to a Sign in message', async () => { + dialogMock.openConfirmationDialog.mockReturnValueOnce(of(true)); + imagesMock.delete.mockReturnValueOnce(throwError(() => new HttpErrorResponse({ status: 401 }))); + await buildWith(new UntypedFormGroup({ imageId: new UntypedFormControl('img-1') })); + api().deleteImage('img-1', { stopPropagation: vi.fn() } as unknown as Event); + expect(api().error()).toContain('Sign in'); + }); + + it('shows an error (not an empty library) when the list request fails', async () => { + imagesMock.list.mockReturnValueOnce(throwError(() => new HttpErrorResponse({ status: 0 }))); + await buildWith(new UntypedFormGroup({})); + expect(api().galleryStatus()).toBe('error'); + expect(api().galleryError()).toBeTruthy(); + }); + + it('toggles a transparent background on and off, seeding the opaque color from the theme', async () => { + await buildWith(new UntypedFormGroup({})); + expect(api().isTransparent).toBe(true); + api().toggleTransparent(false); + expect(api().imageGroup.get('backgroundColor')!.value).toBe('#1e1e1e'); + api().toggleTransparent(true); + expect(api().imageGroup.get('backgroundColor')!.value).toBeNull(); + }); +}); diff --git a/src/app/widget-config/image-source-setup/image-source-setup.component.ts b/src/app/widget-config/image-source-setup/image-source-setup.component.ts new file mode 100644 index 000000000..7344a0495 --- /dev/null +++ b/src/app/widget-config/image-source-setup/image-source-setup.component.ts @@ -0,0 +1,253 @@ +import { Component, DestroyRef, OnInit, inject, input, signal } from '@angular/core'; +import { FormGroupDirective, ReactiveFormsModule, UntypedFormControl, UntypedFormGroup } from '@angular/forms'; +import { HttpErrorResponse, HttpEventType } from '@angular/common/http'; +import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatInputModule } from '@angular/material/input'; +import { MatSelectModule } from '@angular/material/select'; +import { MatButtonModule } from '@angular/material/button'; +import { MatIconModule } from '@angular/material/icon'; +import { MatCheckboxModule } from '@angular/material/checkbox'; +import { MatProgressBarModule } from '@angular/material/progress-bar'; +import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; +import { ImageAssetService, IImageAsset } from '../../core/services/image-asset.service'; +import { DialogService } from '../../core/services/dialog.service'; +import { AppService } from '../../core/services/app-service'; + +type TGalleryStatus = 'loading' | 'loaded' | 'error'; + +const MAX_UPLOAD_BYTES = 10 * 1024 * 1024; +const ACCEPTED_EXT = /\.(png|jpe?g|webp|gif|heic|heif|svg)$/i; +const ACCEPTED_TYPES = new Set([ + 'image/png', 'image/jpeg', 'image/webp', 'image/gif', 'image/heic', 'image/heif', 'image/svg+xml' +]); + +/** + * Widget config sub-component for the Image widget: upload a new image (with client-side size/type + * guards + progress), pick/delete from the shared library, and set fit / alt text / background. + * Binds to the widget config's nested `image` FormGroup (created if absent). + */ +@Component({ + selector: 'image-source-setup', + templateUrl: './image-source-setup.component.html', + styleUrls: ['./image-source-setup.component.scss'], + imports: [ReactiveFormsModule, MatFormFieldModule, MatInputModule, MatSelectModule, MatButtonModule, MatIconModule, MatCheckboxModule, MatProgressBarModule, MatProgressSpinnerModule] +}) +export class ImageSourceSetupComponent implements OnInit { + readonly formGroupName = input.required(); + readonly accept = 'image/png,image/jpeg,image/webp,image/gif,image/heic,image/heif,image/svg+xml'; + + private readonly rootFormGroup = inject(FormGroupDirective); + private readonly destroyRef = inject(DestroyRef); + private readonly dialog = inject(DialogService); + private readonly app = inject(AppService); + protected readonly images = inject(ImageAssetService); + + protected imageGroup!: UntypedFormGroup; + protected readonly gallery = signal([]); + /** Distinguishes a genuinely empty shared library from a failed load (so we don't tell the + * crew the library is empty when the server was simply unreachable). */ + protected readonly galleryStatus = signal('loading'); + protected readonly galleryError = signal(null); + protected readonly uploading = signal(false); + protected readonly uploadProgress = signal(0); + protected readonly error = signal(null); + /** Screen-reader status line (upload progress / completion / deletion). */ + protected readonly liveStatus = signal(''); + /** Per-asset broken-thumbnail tracking (a variant can fail transiently). */ + protected readonly brokenThumbs = signal>(new Set()); + /** Source of truth for the gallery highlight; kept in sync with the imageId control so the + * highlight updates under zoneless change detection even when set from async callbacks. */ + protected readonly selectedId = signal(null); + private galleryRequestSeq = 0; + + ngOnInit(): void { + const existing = this.rootFormGroup.control.get(this.formGroupName()); + if (existing instanceof UntypedFormGroup) { + this.imageGroup = existing; + } else { + this.imageGroup = new UntypedFormGroup({}); + this.rootFormGroup.control.addControl(this.formGroupName(), this.imageGroup); + } + this.ensureControl('imageId', null); + this.ensureControl('imageFit', 'contain'); + this.ensureControl('altText', ''); + this.ensureControl('backgroundColor', null); + this.selectedId.set(this.imageIdControl.value ?? null); + this.refreshGallery(); + } + + private ensureControl(name: string, defaultValue: unknown): void { + if (!this.imageGroup.get(name)) { + this.imageGroup.addControl(name, new UntypedFormControl(defaultValue)); + } + } + + protected get imageIdControl(): UntypedFormControl { return this.imageGroup.get('imageId') as UntypedFormControl; } + protected get imageFitControl(): UntypedFormControl { return this.imageGroup.get('imageFit') as UntypedFormControl; } + protected get backgroundControl(): UntypedFormControl { return this.imageGroup.get('backgroundColor') as UntypedFormControl; } + + /** Client-side pre-check (the server is authoritative). Returns an error message or null. */ + validateFile(file: File): string | null { + if (file.size > MAX_UPLOAD_BYTES) { + return 'This image is larger than the 10 MB limit. Choose a smaller file.'; + } + if (file.type && !ACCEPTED_TYPES.has(file.type) && !ACCEPTED_EXT.test(file.name)) { + return "That image type isn't supported. Use JPG, PNG, WebP, GIF, HEIC/HEIF, or SVG."; + } + return null; + } + + protected onFileSelected(event: Event): void { + const input = event.target as HTMLInputElement; + const file = input.files?.[0]; + input.value = ''; // allow re-selecting the same file later + if (!file) return; + + const validationError = this.validateFile(file); + if (validationError) { + this.error.set(validationError); + return; + } + this.error.set(null); + this.uploading.set(true); + this.uploadProgress.set(0); + this.liveStatus.set('Uploading image…'); + + this.images.upload(file).pipe(takeUntilDestroyed(this.destroyRef)).subscribe({ + next: (httpEvent) => { + if (httpEvent.type === HttpEventType.UploadProgress && httpEvent.total) { + this.uploadProgress.set(Math.round((httpEvent.loaded / httpEvent.total) * 100)); + } else if (httpEvent.type === HttpEventType.Response) { + this.uploading.set(false); + this.liveStatus.set('Upload complete'); + const meta = httpEvent.body as IImageAsset | null; + if (meta?.id) { + this.selectImage(meta.id); + this.refreshGallery(); + } + } + }, + error: (err: HttpErrorResponse) => { + this.uploading.set(false); + this.error.set(this.describeAssetError(err, 'upload')); + this.liveStatus.set('Upload failed'); + } + }); + } + + /** Maps an upload/delete HTTP error to plain, status-specific copy. The server is authoritative; + * serverMessage (when present) is preferred for the cases the server can describe. */ + private describeAssetError(err: HttpErrorResponse, verb: 'upload' | 'delete'): string { + const serverMessage = (err?.error as { error?: string })?.error; + switch (err?.status) { + case 401: return `Sign in to the Signal K server to ${verb} images.`; + case 413: return 'This image is larger than the 10 MB limit. Choose a smaller file.'; + case 415: return serverMessage ?? "That image type isn't supported, or the file couldn't be read."; + default: return serverMessage ?? (verb === 'upload' + ? "Couldn't upload the image. Check your Signal K server connection and try again." + : 'Could not delete the image.'); + } + } + + /** Maps a library-load failure so an unreachable server isn't shown as an empty library. */ + private describeListError(err: HttpErrorResponse): string { + switch (err?.status) { + case 401: return 'Sign in to the Signal K server to load the image library.'; + case 404: return "The image library plugin isn't installed or is disabled."; + default: return "Couldn't reach the Signal K server."; + } + } + + protected selectImage(id: string | null): void { + this.imageIdControl.setValue(id); + this.imageIdControl.markAsDirty(); + this.selectedId.set(id); + } + + /** Confirms before deleting, because the image lives in the SHARED, boat-wide library — one tap + * would otherwise remove it from every display with no undo. */ + protected deleteImage(id: string, event: Event): void { + event.stopPropagation(); + const name = this.gallery().find((a) => a.id === id)?.name ?? 'this image'; + this.dialog.openConfirmationDialog({ + title: 'Delete From Shared Library?', + message: `Delete "${name}"? This removes it from every display on the boat and can't be undone.`, + confirmBtnText: 'Delete', + cancelBtnText: 'Cancel' + }).pipe(takeUntilDestroyed(this.destroyRef)).subscribe((confirmed) => { + if (!confirmed) return; + this.error.set(null); + this.images.delete(id).pipe(takeUntilDestroyed(this.destroyRef)).subscribe({ + next: () => { + if (this.selectedId() === id) this.selectImage(null); + this.liveStatus.set('Image deleted'); + this.refreshGallery(); + }, + error: (err: HttpErrorResponse) => this.error.set(this.describeAssetError(err, 'delete')) + }); + }); + } + + protected thumbUrl(id: string): string | null { + return this.images.urlFor(id, 160); + } + + /** Marks a thumbnail variant as failed to load (tile stays selectable — it may be valid at other sizes). */ + protected markThumbBroken(id: string): void { + if (this.brokenThumbs().has(id)) return; + this.brokenThumbs.set(new Set(this.brokenThumbs()).add(id)); + } + + protected refreshGallery(): void { + const seq = ++this.galleryRequestSeq; + this.galleryStatus.set('loading'); + this.images.list().pipe(takeUntilDestroyed(this.destroyRef)).subscribe({ + next: (list) => { + if (seq !== this.galleryRequestSeq) return; + // Newest first so a just-uploaded image is easy to find. + this.gallery.set([...list].sort((a, b) => (b.createdAt ?? '').localeCompare(a.createdAt ?? ''))); + this.brokenThumbs.set(new Set()); + this.galleryStatus.set('loaded'); + }, + error: (err: HttpErrorResponse) => { + if (seq !== this.galleryRequestSeq) return; + this.galleryError.set(this.describeListError(err)); + this.galleryStatus.set('error'); + } + }); + } + + protected get isTransparent(): boolean { + return !this.backgroundControl?.value; + } + + protected toggleTransparent(transparent: boolean): void { + this.backgroundControl.setValue(transparent ? null : this.defaultOpaqueColor()); + this.backgroundControl.markAsDirty(); + } + + /** The opaque backing defaults to the active theme's card color, not a hardcoded pure black. */ + private defaultOpaqueColor(): string { + return toHex(this.app.cssThemeColors?.cardColor ?? '') ?? '#000000'; + } + + protected setBackground(event: Event): void { + this.backgroundControl.setValue((event.target as HTMLInputElement).value); + this.backgroundControl.markAsDirty(); + } +} + +/** Normalises a CSS color (hex or rgb/rgba) to the `#rrggbb` that `` accepts. */ +function toHex(color: string): string | null { + const trimmed = color.trim(); + if (/^#[0-9a-fA-F]{6}$/.test(trimmed)) { + return trimmed.toLowerCase(); + } + const rgb = trimmed.match(/rgba?\(\s*(\d+)[,\s]+(\d+)[,\s]+(\d+)/i); + if (rgb) { + const hex = (n: string) => Math.min(255, Number(n)).toString(16).padStart(2, '0'); + return `#${hex(rgb[1])}${hex(rgb[2])}${hex(rgb[3])}`; + } + return null; +} diff --git a/src/app/widget-config/root-modal-widget-config/root-modal-widget-config.component.html b/src/app/widget-config/root-modal-widget-config/root-modal-widget-config.component.html index 7ccff7076..82d90c703 100644 --- a/src/app/widget-config/root-modal-widget-config/root-modal-widget-config.component.html +++ b/src/app/widget-config/root-modal-widget-config/root-modal-widget-config.component.html @@ -32,6 +32,8 @@
{{ titleDialog }}
[color]="colorToControl" /> } @else if (widgetConfig?.autopilot) { + } @else if (widgetConfig?.image) { + } @else {
diff --git a/src/app/widget-config/root-modal-widget-config/root-modal-widget-config.component.ts b/src/app/widget-config/root-modal-widget-config/root-modal-widget-config.component.ts index a4febc42e..c9a0a0e8f 100644 --- a/src/app/widget-config/root-modal-widget-config/root-modal-widget-config.component.ts +++ b/src/app/widget-config/root-modal-widget-config/root-modal-widget-config.component.ts @@ -25,13 +25,14 @@ import { BmsBankSetupComponent } from '../bms-bank-setup/bms-bank-setup.componen import { AisTargetOptionsComponent } from '../ais-target-options/ais-target-options.component'; import { SolarChargerSetupComponent } from '../solar-charger-setup/solar-charger-setup.component'; import { ElectricalFamilySetupComponent } from '../electrical-family-setup/electrical-family-setup.component'; +import { ImageSourceSetupComponent } from '../image-source-setup/image-source-setup.component'; import { MatTabsModule } from '@angular/material/tabs'; @Component({ selector: 'modal-widget-config', templateUrl: './root-modal-widget-config.component.html', styleUrls: ['./root-modal-widget-config.component.scss'], - imports: [FormsModule, ReactiveFormsModule, MatDialogModule, MatFormFieldModule, MatInputModule, MatTabsModule, MatCheckboxModule, MatSelectModule, MatDividerModule, MatButtonModule, DisplayDatetimeComponent, DisplayChartOptionsComponent, DatasetChartOptionsComponent, BooleanMultiControlOptionsComponent, PathsOptionsComponent, SelectAutopilotComponent, AisTargetOptionsComponent, BmsBankSetupComponent, SolarChargerSetupComponent, ElectricalFamilySetupComponent] + imports: [FormsModule, ReactiveFormsModule, MatDialogModule, MatFormFieldModule, MatInputModule, MatTabsModule, MatCheckboxModule, MatSelectModule, MatDividerModule, MatButtonModule, DisplayDatetimeComponent, DisplayChartOptionsComponent, DatasetChartOptionsComponent, BooleanMultiControlOptionsComponent, PathsOptionsComponent, SelectAutopilotComponent, AisTargetOptionsComponent, BmsBankSetupComponent, SolarChargerSetupComponent, ElectricalFamilySetupComponent, ImageSourceSetupComponent] }) export class RootModalWidgetConfigComponent implements OnInit { // Property name constants to avoid magic strings diff --git a/src/app/widgets/widget-image/widget-image.component.html b/src/app/widgets/widget-image/widget-image.component.html new file mode 100644 index 000000000..85f1a3006 --- /dev/null +++ b/src/app/widgets/widget-image/widget-image.component.html @@ -0,0 +1,12 @@ +
+ @if (imageUrl(); as url) { + + @if (loadFailed()) { +
Image unavailable
+ } + } @else { +
No image selected. Pick one in widget settings.
+ } +
diff --git a/src/app/widgets/widget-image/widget-image.component.scss b/src/app/widgets/widget-image/widget-image.component.scss new file mode 100644 index 000000000..db3ad1bc8 --- /dev/null +++ b/src/app/widgets/widget-image/widget-image.component.scss @@ -0,0 +1,28 @@ +:host { + display: block; + width: 100%; + height: 100%; +} + +.image-widget-host { + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; +} + +.image-widget-img { + width: 100%; + height: 100%; + display: block; + // object-fit is set from config (contain | cover) to scale while preserving aspect ratio. +} + +.image-widget-empty { + color: var(--kip-contrast-dim-color, rgba(255, 255, 255, 0.5)); + font-size: 0.9em; + text-align: center; + padding: 0.5em; +} diff --git a/src/app/widgets/widget-image/widget-image.component.spec.ts b/src/app/widgets/widget-image/widget-image.component.spec.ts new file mode 100644 index 000000000..02817231d --- /dev/null +++ b/src/app/widgets/widget-image/widget-image.component.spec.ts @@ -0,0 +1,69 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { beforeEach, describe, expect, it } from 'vitest'; +import { signal } from '@angular/core'; +import { WidgetImageComponent } from './widget-image.component'; +import { WidgetRuntimeDirective } from '../../core/directives/widget-runtime.directive'; +import { ImageAssetService } from '../../core/services/image-asset.service'; +import type { IWidgetSvcConfig } from '../../core/interfaces/widgets-interface'; +import type { ITheme } from '../../core/services/app-service'; + +describe('WidgetImageComponent', () => { + let fixture: ComponentFixture; + let component: WidgetImageComponent; + const options = signal(undefined); + + const runtimeMock = { options }; + const imagesMock = { + urlFor: (id: string | null | undefined, w?: number | null) => + id ? `http://host/plugins/sk-image/images/${id}?w=${w || 2560}` : null + }; + + beforeEach(async () => { + options.set({ image: { imageId: null, imageFit: 'contain', altText: '', backgroundColor: null } }); + await TestBed.configureTestingModule({ + imports: [WidgetImageComponent], + providers: [ + { provide: WidgetRuntimeDirective, useValue: runtimeMock }, + { provide: ImageAssetService, useValue: imagesMock } + ] + }).compileComponents(); + + fixture = TestBed.createComponent(WidgetImageComponent); + component = fixture.componentInstance; + fixture.componentRef.setInput('id', 'w1'); + fixture.componentRef.setInput('type', 'widget-image'); + fixture.componentRef.setInput('theme', {} as ITheme); + }); + + const api = () => component as unknown as { + imageUrl: () => string | null; + background: () => string; + objectFit: () => string; + }; + + it('shows the empty state when no image is selected', () => { + fixture.detectChanges(); + expect(api().imageUrl()).toBeNull(); + const el = fixture.nativeElement as HTMLElement; + expect(el.querySelector('.image-widget-empty')).toBeTruthy(); + expect(el.querySelector('img')).toBeFalsy(); + }); + + it('renders the configured image via the asset service URL with the chosen object-fit', () => { + options.set({ image: { imageId: 'img-1', imageFit: 'cover', altText: 'Safety map', backgroundColor: '#000' } }); + fixture.detectChanges(); + const img = (fixture.nativeElement as HTMLElement).querySelector('img'); + expect(img).toBeTruthy(); + expect(img!.getAttribute('src')).toContain('/plugins/sk-image/images/img-1?w='); + expect(img!.getAttribute('alt')).toBe('Safety map'); + expect(img!.style.objectFit).toBe('cover'); + }); + + it('defaults to a transparent background and contain fit, and reflects a configured color', () => { + fixture.detectChanges(); + expect(api().background()).toBe('transparent'); + expect(api().objectFit()).toBe('contain'); + options.set({ image: { imageId: 'x', backgroundColor: '#123456' } }); + expect(api().background()).toBe('#123456'); + }); +}); diff --git a/src/app/widgets/widget-image/widget-image.component.ts b/src/app/widgets/widget-image/widget-image.component.ts new file mode 100644 index 000000000..4a85545a0 --- /dev/null +++ b/src/app/widgets/widget-image/widget-image.component.ts @@ -0,0 +1,52 @@ +import { ChangeDetectionStrategy, Component, computed, inject, input, signal } from '@angular/core'; +import { IWidgetSvcConfig } from '../../core/interfaces/widgets-interface'; +import { WidgetRuntimeDirective } from '../../core/directives/widget-runtime.directive'; +import { KipResizeObserverDirective, IKipResizeEvent } from '../../core/directives/kip-resize-observer.directive'; +import { ImageAssetService } from '../../core/services/image-asset.service'; +import { ITheme } from '../../core/services/app-service'; + +/** + * Displays a user-uploaded image asset (stored on the Signal K server) scaled to fit the widget + * while preserving aspect ratio (object-fit), over a configurable background (transparent by default). + * Requests a variant matched to the container width so a small widget doesn't fetch a full-res image. + */ +@Component({ + selector: 'widget-image', + templateUrl: './widget-image.component.html', + styleUrls: ['./widget-image.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, + imports: [KipResizeObserverDirective] +}) +export class WidgetImageComponent { + public id = input.required(); + public type = input.required(); + public theme = input.required(); + + protected readonly runtime = inject(WidgetRuntimeDirective); + private readonly images = inject(ImageAssetService); + + public static readonly DEFAULT_CONFIG: IWidgetSvcConfig = { + image: { imageId: null, imageFit: 'contain', altText: '', backgroundColor: null } + }; + + private readonly containerWidth = signal(0); + /** True when the fails to load (e.g. the shared image was deleted from another display, or + * the server is briefly unreachable). Self-clears: the stays mounted, so a later successful + * (load) — including after the URL changes on resize — resets it. */ + protected readonly loadFailed = signal(false); + + protected readonly imageConfig = computed(() => this.runtime.options()?.image ?? null); + protected readonly altText = computed(() => this.imageConfig()?.altText ?? ''); + protected readonly objectFit = computed(() => this.imageConfig()?.imageFit ?? 'contain'); + protected readonly background = computed(() => this.imageConfig()?.backgroundColor ?? 'transparent'); + + protected readonly imageUrl = computed(() => { + const id = this.imageConfig()?.imageId; + if (!id) return null; + return this.images.urlFor(id, this.containerWidth()); + }); + + protected onResize(event: IKipResizeEvent): void { + this.containerWidth.set(Math.round(event.width)); + } +} diff --git a/src/assets/help-docs/image-widget.md b/src/assets/help-docs/image-widget.md new file mode 100644 index 000000000..76c1dadde --- /dev/null +++ b/src/assets/help-docs/image-widget.md @@ -0,0 +1,49 @@ +## Using the Image Widget + +The Image widget displays a picture you upload to your Signal K server — for example a diagram showing where safety equipment is stowed, an electrical panel layout, or a boat plan. Images are stored on the server in a shared, boat-wide library, so every crew display can show the same picture. + +## Uploading an image + +The Image widget in the Add Widget panel + +1. Add an **Image** widget to a dashboard and open its options. +2. Click **Upload image** and choose a file. Supported formats are **JPG, PNG, WebP, GIF (including animated), HEIC/HEIF, and SVG**. +3. Each upload is limited to **10 MB**. Larger files are rejected. +4. You must be **logged in to the Signal K server** to upload, delete, or purge images. Viewing images only requires the normal KIP connection. + +Uploaded pictures are added to the shared library. The thumbnail gallery in the widget options lets you reuse the same image across widgets and dashboards, or delete images you no longer need. + +## Choosing how the image is displayed + +The Image widget options dialog + +- **Scaling** + - **Fit** scales the whole image to fit inside the widget while preserving its aspect ratio. Any leftover space around the image shows the background. + - **Fill** scales the image to cover the widget, cropping the edges as needed, while preserving aspect ratio. +- **Description** is read aloud by screen readers and shown if the image cannot be displayed. Add one so the widget is usable without sight of the picture. +- **Background** can be a solid color or **transparent** (the dashboard shows through the area around a "Fit" image). + +## How images are stored and served + +To keep displays fast and the server responsive, the plugin does the following: + +- **Originals are stored once.** Resized copies (variants) are created **on demand** the first time a widget of a given size requests the image, then cached on disk. +- **Raster images are re-encoded to WebP** at a size matched to the widget, so a small widget never downloads a full-resolution photo. +- **SVG drawings are kept as vector** and stay crisp at any size. +- **Animated GIFs** are converted to animated WebP and keep animating. +- Image resizing runs in background worker threads so the server stays responsive. + +## Security + +Uploaded content is treated as untrusted and is checked before it is stored: + +- Files are validated by their actual content, not their file name. +- Raster images are re-encoded, which neutralizes files that try to hide other content inside them. +- SVG files are sanitized to remove scripts and other active content, and are only ever shown inside an image element where scripts do not run. +- Restrictive response headers prevent the browser from treating images as anything other than images. + +## Managing the image cache + +The Image Cache card on the Media settings tab + +Cached copies can be cleared at any time from **Settings → Media → Image Cache**. The card shows the current cache size and a **Clear cache** button. Clearing only removes the smaller, generated copies — your original uploads are kept, and the copies are recreated automatically the next time they are displayed. diff --git a/src/assets/help-docs/img/image-widget-add.png b/src/assets/help-docs/img/image-widget-add.png new file mode 100644 index 0000000000000000000000000000000000000000..4e073e270241d2347aba8e7a87332499b82eec95 GIT binary patch literal 104719 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 literal 0 HcmV?d00001 diff --git a/src/assets/help-docs/img/image-widget-options.png b/src/assets/help-docs/img/image-widget-options.png new file mode 100644 index 0000000000000000000000000000000000000000..620777bf9f0eef8ce442950f4cdb319933f79314 GIT binary patch literal 96615 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

-hW9#}u}0T1>+F+@W`gQH2=yV}wNp3aVd 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 Pdx4CkqC~OS8^8Yn6okN= literal 0 HcmV?d00001 diff --git a/src/assets/help-docs/menu.json b/src/assets/help-docs/menu.json index ebac30525..04ce72a26 100644 --- a/src/assets/help-docs/menu.json +++ b/src/assets/help-docs/menu.json @@ -18,6 +18,10 @@ "title": "The Embed Page Viewer", "file": "embedwidget.md" }, + { + "title": "The Image Widget", + "file": "image-widget.md" + }, { "title": "History-API Provider", "file": "history-api.md" diff --git a/src/assets/svg/icons.svg b/src/assets/svg/icons.svg index a79915375..2a2810dca 100644 --- a/src/assets/svg/icons.svg +++ b/src/assets/svg/icons.svg @@ -249,6 +249,9 @@ + + + From 62edf42b0d14e97acc5525749d1e8a7e3aff8f9b Mon Sep 17 00:00:00 2001 From: Dillan Laughlin Date: Mon, 6 Jul 2026 09:10:48 -0500 Subject: [PATCH 02/10] Assert the crew-reachable sk-image mount (failing test) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These tests intentionally fail. They pin the Image widget to the plugin's crew-reachable /signalk/v1/api/sk-image mount instead of the /plugins/sk-image alias. On a secured Signal K server the server admin-gates every /plugins/* route, so the alias 401/403s ordinary crew (and the native element, which sends no auth header) even for reads — making the widget unusable for its intended audience. Also covers a configured URL that already carries a /signalk suffix, which must not double up. The resolver fix follows. --- .../core/services/image-asset.service.spec.ts | 20 +++++----- .../core/utils/kip-plugin-url.util.spec.ts | 40 ++++++++++++++----- 2 files changed, 40 insertions(+), 20 deletions(-) diff --git a/src/app/core/services/image-asset.service.spec.ts b/src/app/core/services/image-asset.service.spec.ts index 373c5bd0c..5341faa25 100644 --- a/src/app/core/services/image-asset.service.spec.ts +++ b/src/app/core/services/image-asset.service.spec.ts @@ -27,8 +27,8 @@ describe('ImageAssetService', () => { it('becomes ready and builds variant URLs snapped to a container width', () => { const { service } = setup('http://host:3000/signalk/v1/api/'); expect(service.ready).toBe(true); - expect(service.urlFor('abc', 300, 1)).toBe('http://host:3000/plugins/sk-image/images/abc?w=320'); - expect(service.urlFor('abc', 320, 2)).toBe('http://host:3000/plugins/sk-image/images/abc?w=640'); + expect(service.urlFor('abc', 300, 1)).toBe('http://host:3000/signalk/v1/api/sk-image/images/abc?w=320'); + expect(service.urlFor('abc', 320, 2)).toBe('http://host:3000/signalk/v1/api/sk-image/images/abc?w=640'); expect(service.urlFor(null, 300)).toBeNull(); }); @@ -44,7 +44,7 @@ describe('ImageAssetService', () => { service.upload(file).subscribe(); expect(http.post).toHaveBeenCalledTimes(1); const [url, body, opts] = http.post.mock.calls[0] as unknown[]; - expect(url).toBe('http://host:3000/plugins/sk-image/images'); + expect(url).toBe('http://host:3000/signalk/v1/api/sk-image/images'); expect(body).toBeInstanceOf(FormData); expect((body as FormData).get('file')).toBe(file); expect(opts).toMatchObject({ reportProgress: true, observe: 'events' }); @@ -53,13 +53,13 @@ describe('ImageAssetService', () => { it('targets the right endpoints for list/delete/cache/purge', () => { const { service, http } = setup('http://host:3000/signalk/v1/api/'); service.list().subscribe(); - expect(http.get).toHaveBeenCalledWith('http://host:3000/plugins/sk-image/images'); + expect(http.get).toHaveBeenCalledWith('http://host:3000/signalk/v1/api/sk-image/images'); service.delete('id-1').subscribe(); - expect(http.delete).toHaveBeenCalledWith('http://host:3000/plugins/sk-image/images/id-1'); + expect(http.delete).toHaveBeenCalledWith('http://host:3000/signalk/v1/api/sk-image/images/id-1'); service.cacheStats().subscribe(); - expect(http.get).toHaveBeenCalledWith('http://host:3000/plugins/sk-image/images/cache'); + expect(http.get).toHaveBeenCalledWith('http://host:3000/signalk/v1/api/sk-image/images/cache'); service.purgeCache().subscribe(); - expect(http.delete).toHaveBeenCalledWith('http://host:3000/plugins/sk-image/images/cache'); + expect(http.delete).toHaveBeenCalledWith('http://host:3000/signalk/v1/api/sk-image/images/cache'); }); it('discovers the width allow-list from GET config and snaps against it', () => { @@ -84,9 +84,9 @@ describe('ImageAssetService', () => { ] }); const service = TestBed.inject(ImageAssetService); - expect(http.get).toHaveBeenCalledWith('http://host:3000/plugins/sk-image/config'); + expect(http.get).toHaveBeenCalledWith('http://host:3000/signalk/v1/api/sk-image/config'); // Snaps against the discovered list, not the built-in default. - expect(service.urlFor('abc', 150, 1)).toBe('http://host:3000/plugins/sk-image/images/abc?w=200'); - expect(service.urlFor('abc', 500, 1)).toBe('http://host:3000/plugins/sk-image/images/abc?w=400'); + expect(service.urlFor('abc', 150, 1)).toBe('http://host:3000/signalk/v1/api/sk-image/images/abc?w=200'); + expect(service.urlFor('abc', 500, 1)).toBe('http://host:3000/signalk/v1/api/sk-image/images/abc?w=400'); }); }); diff --git a/src/app/core/utils/kip-plugin-url.util.spec.ts b/src/app/core/utils/kip-plugin-url.util.spec.ts index 7cbeb1465..5e8af0d4d 100644 --- a/src/app/core/utils/kip-plugin-url.util.spec.ts +++ b/src/app/core/utils/kip-plugin-url.util.spec.ts @@ -6,22 +6,42 @@ import { } from './kip-plugin-url.util'; describe('resolvePluginBaseUrl', () => { - it('prefers the configured URL', () => { + // The base must target the plugin's crew-reachable /signalk/v1/api mount, NOT the /plugins/ + // alias — signalk-server admin-gates every /plugins/* route on a secured server, which would 401/403 + // ordinary crew (and the native element, which carries no auth header) even for reads. + it('prefers the configured URL and targets the v1 API mount', () => { expect(resolvePluginBaseUrl('http://x/signalk/v1/api/', 'https://boat.local:3443')).toBe( - 'https://boat.local:3443/plugins/sk-image/' + 'https://boat.local:3443/signalk/v1/api/sk-image/' + ); + expect(resolvePluginBaseUrl(null, 'https://boat.local/')).toBe( + 'https://boat.local/signalk/v1/api/sk-image/' + ); + }); + + it('does not double up when the configured URL already carries a /signalk suffix', () => { + expect(resolvePluginBaseUrl(null, 'https://boat.local/signalk/')).toBe( + 'https://boat.local/signalk/v1/api/sk-image/' + ); + expect(resolvePluginBaseUrl(null, 'https://boat.local/signalk/v1/api')).toBe( + 'https://boat.local/signalk/v1/api/sk-image/' ); - expect(resolvePluginBaseUrl(null, 'https://boat.local/')).toBe('https://boat.local/plugins/sk-image/'); }); - it('derives the plugin base from the v1/v2 API URL by stripping the signalk suffix', () => { - expect(resolvePluginBaseUrl('http://host:3000/signalk/v1/api/')).toBe('http://host:3000/plugins/sk-image/'); - expect(resolvePluginBaseUrl('http://host:3000/signalk/v2/api')).toBe('http://host:3000/plugins/sk-image/'); - expect(resolvePluginBaseUrl('http://host:3000/signalk')).toBe('http://host:3000/plugins/sk-image/'); + it('derives the base from the v1/v2 API URL by stripping the signalk suffix', () => { + expect(resolvePluginBaseUrl('http://host:3000/signalk/v1/api/')).toBe( + 'http://host:3000/signalk/v1/api/sk-image/' + ); + expect(resolvePluginBaseUrl('http://host:3000/signalk/v2/api')).toBe( + 'http://host:3000/signalk/v1/api/sk-image/' + ); + expect(resolvePluginBaseUrl('http://host:3000/signalk')).toBe( + 'http://host:3000/signalk/v1/api/sk-image/' + ); }); - it('honours a custom plugin id', () => { - expect(resolvePluginBaseUrl('http://host:3000/signalk/v1/api/', null, 'kip')).toBe( - 'http://host:3000/plugins/kip/' + it('honours a custom plugin id on the v1 API mount', () => { + expect(resolvePluginBaseUrl('http://host:3000/signalk/v1/api/', null, 'some-plugin')).toBe( + 'http://host:3000/signalk/v1/api/some-plugin/' ); }); From a6e795f706b66bdc0c286746a8d40da73a387900 Mon Sep 17 00:00:00 2001 From: Dillan Laughlin Date: Mon, 6 Jul 2026 09:14:28 -0500 Subject: [PATCH 03/10] Target the crew-reachable sk-image mount MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolve the plugin base against the server's /signalk/v1/api/ mount instead of the /plugins/ alias. signalk-server admin-gates every /plugins/* route on a secured server, so the alias returned 401/403 to ordinary crew — and to the native element, which sends no auth header — even for reads, leaving the widget unusable for its intended audience. The /signalk/v1/api mount is public for reads and only gates writes on a read-write/admin principal. Add a shared stripToServerRoot() helper and use it in both resolvePluginBaseUrl and PluginConfigClientService.toServerUrl, so a configured URL that already ends in /signalk (which the connection service accepts) no longer produces a doubled or misrooted path for image and plugin-admin requests. --- .../plugin-config-client.service.spec.ts | 13 +++++++ .../services/plugin-config-client.service.ts | 6 ++-- src/app/core/utils/kip-plugin-url.util.ts | 34 ++++++++++++------- 3 files changed, 39 insertions(+), 14 deletions(-) diff --git a/src/app/core/services/plugin-config-client.service.spec.ts b/src/app/core/services/plugin-config-client.service.spec.ts index 6b17ca6fa..fc039b7cb 100644 --- a/src/app/core/services/plugin-config-client.service.spec.ts +++ b/src/app/core/services/plugin-config-client.service.spec.ts @@ -63,6 +63,19 @@ describe('PluginConfigClientService', () => { expect(result.capabilities.listSupported).toBe(true); }); + it('resolves admin routes against the server root when the configured URL carries a /signalk suffix', () => { + const connection = TestBed.inject(SignalKConnectionService) as unknown as { signalKURL: { url: string } }; + connection.signalKURL.url = 'http://localhost:3000/signalk/'; + + service.listPlugins(); + + // Must strip the /signalk suffix so /plugins resolves at the server root, not + // http://localhost:3000/signalk/plugins (which would 404). + const req = httpMock.expectOne('http://localhost:3000/plugins'); + expect(req.request.method).toBe('GET'); + req.flush([]); + }); + it('should fallback to /plugins list when /plugins/{id} returns 404', async () => { const promise = service.getPlugin('autopilot'); diff --git a/src/app/core/services/plugin-config-client.service.ts b/src/app/core/services/plugin-config-client.service.ts index 95e5316c7..e3f655cc1 100644 --- a/src/app/core/services/plugin-config-client.service.ts +++ b/src/app/core/services/plugin-config-client.service.ts @@ -2,6 +2,7 @@ import { HttpClient, HttpErrorResponse } from '@angular/common/http'; import { inject, Injectable, signal } from '@angular/core'; import { lastValueFrom } from 'rxjs'; import { SignalKConnectionService } from './signalk-connection.service'; +import { stripToServerRoot } from '../utils/kip-plugin-url.util'; import { IPluginApiCapabilities, IPluginApiFailure, @@ -608,8 +609,9 @@ export class PluginConfigClientService { return path; } - const base = configuredUrl.endsWith('/') ? configuredUrl.slice(0, -1) : configuredUrl; - return `${base}${path}`; + // Strip any /signalk[/vN[/api]] suffix so server-admin routes (/plugins, /skServer) resolve + // against the server root even when the user configured a /signalk-suffixed URL. + return `${stripToServerRoot(configuredUrl)}${path}`; } private resolveBooleanConfig(configuration: Record, key: string, fallback: boolean): boolean { diff --git a/src/app/core/utils/kip-plugin-url.util.ts b/src/app/core/utils/kip-plugin-url.util.ts index bdf81dffc..1a6b42208 100644 --- a/src/app/core/utils/kip-plugin-url.util.ts +++ b/src/app/core/utils/kip-plugin-url.util.ts @@ -1,6 +1,24 @@ /** - * Resolves the base URL of a Signal K plugin (`/plugins//`) from the connection - * endpoint, mirroring the logic in kip-series-api-client.service so both clients agree. + * Strips a trailing slash and any `/signalk[/vN[/api]]` suffix from a URL, leaving the server root + * (e.g. `http://host:3000/signalk/v1/api/` and `http://host:3000/signalk/` both -> `http://host:3000`). + */ +export function stripToServerRoot(url: string): string { + const noSlash = url.endsWith('/') ? url.slice(0, -1) : url; + return noSlash + .replace(/\/signalk\/v2\/api$/, '') + .replace(/\/signalk\/v1\/api$/, '') + .replace(/\/signalk\/v2$/, '') + .replace(/\/signalk\/v1$/, '') + .replace(/\/signalk$/, ''); +} + +/** + * Resolves the base URL of a Signal K plugin's REST API from the connection endpoint. + * + * Targets the plugin's crew-reachable `/signalk/v1/api//` mount, NOT the `/plugins/` + * alias: signalk-server admin-gates every `/plugins/*` route on a secured server, so the alias would + * 401/403 ordinary crew (and a native ``, which carries no auth header) even for reads. The + * `/signalk/v1/api` mount is public for reads and only gates writes on a read-write/admin principal. * * @param httpServiceUrl the server's v1 API URL (e.g. `http://host:3000/signalk/v1/api/`) * @param configuredUrl the user-configured Signal K URL, if any (takes precedence) @@ -13,20 +31,12 @@ export function resolvePluginBaseUrl( ): string | null { const configured = configuredUrl?.trim(); if (configured) { - const base = configured.endsWith('/') ? configured.slice(0, -1) : configured; - return `${base}/plugins/${pluginId}/`; + return `${stripToServerRoot(configured)}/signalk/v1/api/${pluginId}/`; } if (!httpServiceUrl) { return null; } - const normalized = httpServiceUrl.endsWith('/') ? httpServiceUrl.slice(0, -1) : httpServiceUrl; - const root = normalized - .replace(/\/signalk\/v2\/api$/, '') - .replace(/\/signalk\/v1\/api$/, '') - .replace(/\/signalk\/v2$/, '') - .replace(/\/signalk\/v1$/, '') - .replace(/\/signalk$/, ''); - return `${root}/plugins/${pluginId}/`; + return `${stripToServerRoot(httpServiceUrl)}/signalk/v1/api/${pluginId}/`; } /** From 38aac858e4ba1b9d86618143d10ea0b486207fc4 Mon Sep 17 00:00:00 2001 From: Dillan Laughlin Date: Mon, 6 Jul 2026 09:18:20 -0500 Subject: [PATCH 04/10] Don't block adding a widget when plugin state can't be read The add-widget dependency check treated any failed plugin-state lookup as "installed but disabled" and prompted to enable it. On a secured server the /plugins/{id} state API is admin-only, so ordinary crew got a 401/403, were told the required plugin was disabled, and were dead-ended with an "enable" prompt they have no permission to satisfy. Now an auth-required/forbidden result is treated as "can't verify" and does not block the add: the widget's own endpoints are crew-reachable and render (or surface an install hint) on their own. Installed-but-disabled and not-found keep their existing prompt behavior. --- .../dashboard/dashboard.component.spec.ts | 17 +++++++++++++++++ .../components/dashboard/dashboard.component.ts | 17 ++++++++++++----- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/app/core/components/dashboard/dashboard.component.spec.ts b/src/app/core/components/dashboard/dashboard.component.spec.ts index 74ece52e0..df293089c 100644 --- a/src/app/core/components/dashboard/dashboard.component.spec.ts +++ b/src/app/core/components/dashboard/dashboard.component.spec.ts @@ -18,6 +18,7 @@ interface DashboardComponentPrivateApi { nextDashboard: () => void; previousDashboard: () => void; loadDashboard: (dashboardId: number) => void; + getDisabledRequiredPlugins: (requiredPlugins: string[]) => Promise; _gridstack: () => { grid: { save: (saveContent: boolean, saveGridOpt: boolean) => unknown; @@ -134,6 +135,22 @@ describe('DashboardComponent', () => { expect(component).toBeTruthy(); }); + it('does not treat a required plugin as disabled when its state cannot be read (secured, non-admin)', async () => { + const pluginConfig = TestBed.inject(PluginConfigClientService) as unknown as { getPlugin: Mock }; + pluginConfig.getPlugin.mockResolvedValue({ ok: false, error: { reason: 'forbidden' } }); + + // A 401/403 from the admin-only plugin-state API must not block the add — ordinary crew + // would be dead-ended with an "enable" prompt they have no permission to satisfy. + expect(await privateApi.getDisabledRequiredPlugins(['sk-image'])).toEqual([]); + }); + + it('treats an installed-but-disabled required plugin as disabled', async () => { + const pluginConfig = TestBed.inject(PluginConfigClientService) as unknown as { getPlugin: Mock }; + pluginConfig.getPlugin.mockResolvedValue({ ok: true, data: { state: { enabled: false } } }); + + expect(await privateApi.getDisabledRequiredPlugins(['sk-image'])).toEqual(['sk-image']); + }); + it('should save dashboard configuration', () => { privateApi.saveDashboard(); diff --git a/src/app/core/components/dashboard/dashboard.component.ts b/src/app/core/components/dashboard/dashboard.component.ts index 9e85956a0..3772abef3 100644 --- a/src/app/core/components/dashboard/dashboard.component.ts +++ b/src/app/core/components/dashboard/dashboard.component.ts @@ -396,15 +396,22 @@ export class DashboardComponent implements AfterViewInit, OnDestroy { const statusList = await Promise.all( uniqueRequiredPlugins.map(async pluginId => { const result = await this._pluginConfig.getPlugin(pluginId); - return { - pluginId, - enabled: result.ok && result.data.state.enabled - }; + if (result.ok) { + return { pluginId, block: !result.data.state.enabled }; + } + // The plugin-state API (/plugins/{id}) is admin-only on a secured server. When the caller + // lacks the rights to read it (auth-required/forbidden) we cannot tell whether the plugin is + // installed or enabled, so we must not block the add — the widget's own endpoints are + // crew-reachable and will render (or surface an install hint) on their own. Blocking here + // would dead-end ordinary crew with an "enable" prompt they have no permission to satisfy. + const cannotVerify = + result.error.reason === 'auth-required' || result.error.reason === 'forbidden'; + return { pluginId, block: !cannotVerify }; }) ); return statusList - .filter(pluginStatus => !pluginStatus.enabled) + .filter(pluginStatus => pluginStatus.block) .map(pluginStatus => pluginStatus.pluginId); } From f3662671be91e7224b27c28981565a4fdca86191 Mon Sep 17 00:00:00 2001 From: Dillan Laughlin Date: Mon, 6 Jul 2026 09:20:53 -0500 Subject: [PATCH 05/10] Clearer image errors for read-only crew and a missing plugin On a secured server a logged-in read-only account can view the library but not change it. A denied upload/delete now returns 403, so tell the user their account is read-only and to ask an admin for read-write access, instead of the old "check your connection" message that blamed the network for a permissions problem. Also point the "library won't load" 404 at installing the SK Image plugin from the App Store, and make the viewer's unavailable message say the image may have been removed or the server is unreachable. --- .../image-source-setup.component.spec.ts | 11 +++++++++++ .../image-source-setup.component.ts | 4 +++- .../widgets/widget-image/widget-image.component.html | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/app/widget-config/image-source-setup/image-source-setup.component.spec.ts b/src/app/widget-config/image-source-setup/image-source-setup.component.spec.ts index 186562d2b..7b676b608 100644 --- a/src/app/widget-config/image-source-setup/image-source-setup.component.spec.ts +++ b/src/app/widget-config/image-source-setup/image-source-setup.component.spec.ts @@ -161,6 +161,17 @@ describe('ImageSourceSetupComponent', () => { expect(api().error()).toContain('Sign in'); }); + it('surfaces a read-only permissions message when the server returns 403', async () => { + imagesMock.upload.mockReturnValueOnce(throwError(() => new HttpErrorResponse({ status: 403 }))); + await buildWith(new UntypedFormGroup({})); + const input = document.createElement('input'); + input.type = 'file'; + const file = fileOf('new.png', 'image/png', 1024); + Object.defineProperty(input, 'files', { value: [file], configurable: true }); + api().onFileSelected({ target: input } as unknown as Event); + expect(api().error()).toContain('read-only'); + }); + it('confirms before deleting, then clears the selection on success', async () => { dialogMock.openConfirmationDialog.mockReturnValueOnce(of(true)); await buildWith(new UntypedFormGroup({ imageId: new UntypedFormControl('img-1') })); diff --git a/src/app/widget-config/image-source-setup/image-source-setup.component.ts b/src/app/widget-config/image-source-setup/image-source-setup.component.ts index 7344a0495..fe858573e 100644 --- a/src/app/widget-config/image-source-setup/image-source-setup.component.ts +++ b/src/app/widget-config/image-source-setup/image-source-setup.component.ts @@ -142,6 +142,7 @@ export class ImageSourceSetupComponent implements OnInit { const serverMessage = (err?.error as { error?: string })?.error; switch (err?.status) { case 401: return `Sign in to the Signal K server to ${verb} images.`; + case 403: return `Your Signal K account is read-only. Ask an administrator for read-write access to ${verb} images.`; case 413: return 'This image is larger than the 10 MB limit. Choose a smaller file.'; case 415: return serverMessage ?? "That image type isn't supported, or the file couldn't be read."; default: return serverMessage ?? (verb === 'upload' @@ -154,7 +155,8 @@ export class ImageSourceSetupComponent implements OnInit { private describeListError(err: HttpErrorResponse): string { switch (err?.status) { case 401: return 'Sign in to the Signal K server to load the image library.'; - case 404: return "The image library plugin isn't installed or is disabled."; + case 403: return "Your Signal K account doesn't have access to the image library."; + case 404: return "The SK Image plugin isn't installed or enabled. Install it from the Signal K App Store."; default: return "Couldn't reach the Signal K server."; } } diff --git a/src/app/widgets/widget-image/widget-image.component.html b/src/app/widgets/widget-image/widget-image.component.html index 85f1a3006..141915bd5 100644 --- a/src/app/widgets/widget-image/widget-image.component.html +++ b/src/app/widgets/widget-image/widget-image.component.html @@ -4,7 +4,7 @@ [hidden]="loadFailed()" draggable="false" (error)="loadFailed.set(true)" (load)="loadFailed.set(false)"> @if (loadFailed()) { -

Image unavailable
+
Image unavailable. It may have been removed from the shared library, or the Signal K server can't be reached.
} } @else {
No image selected. Pick one in widget settings.
From 9a0d2d2ab7a5b3cfc015f09a4a1678d260998325 Mon Sep 17 00:00:00 2001 From: Dillan Laughlin Date: Mon, 6 Jul 2026 09:24:26 -0500 Subject: [PATCH 06/10] Avoid a full-res image fetch on first paint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Image widget starts with a container width of 0, and an unknown width snaps to the largest (2560px) variant — so every image widget fetched a full-res copy on first paint, then replaced it once the real width was measured. Request the smallest variant until the first measurement instead; it's cheap and upgrades on resize. Make the asset service's base URL and discovered width allow-list signals, so a URL built inside a reactive computed (the widget) recomputes when the server's GET /config list arrives instead of locking to the built-in fallback. --- src/app/core/services/image-asset.service.ts | 36 +++++++++++-------- .../widget-image.component.spec.ts | 11 ++++++ .../widget-image/widget-image.component.ts | 6 +++- 3 files changed, 37 insertions(+), 16 deletions(-) diff --git a/src/app/core/services/image-asset.service.ts b/src/app/core/services/image-asset.service.ts index ca7e0014e..c40e421d5 100644 --- a/src/app/core/services/image-asset.service.ts +++ b/src/app/core/services/image-asset.service.ts @@ -1,4 +1,4 @@ -import { DestroyRef, Injectable, inject } from '@angular/core'; +import { DestroyRef, Injectable, inject, signal } from '@angular/core'; import { HttpClient, HttpEvent } from '@angular/common/http'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { Observable } from 'rxjs'; @@ -35,18 +35,22 @@ export class ImageAssetService { private readonly http = inject(HttpClient); private readonly connection = inject(SignalKConnectionService); private readonly destroyRef = inject(DestroyRef); - private pluginBaseUrl: string | null = null; - private widthAllowlist: readonly number[] = DEFAULT_IMAGE_WIDTH_ALLOWLIST; + // Signals so consumers that build URLs inside a reactive computed (e.g. the Image widget) recompute + // when the base URL resolves or the server-discovered width list arrives — otherwise the first URL + // would lock to the built-in fallback list. + private readonly pluginBaseUrl = signal(null); + private readonly widthAllowlist = signal(DEFAULT_IMAGE_WIDTH_ALLOWLIST); private configFetchedFor: string | null = null; constructor() { this.connection.serverServiceEndpoint$ .pipe(takeUntilDestroyed(this.destroyRef)) .subscribe(endpoint => { - this.pluginBaseUrl = resolvePluginBaseUrl(endpoint?.httpServiceUrl ?? null, this.connection.signalKURL?.url); - if (this.pluginBaseUrl && this.pluginBaseUrl !== this.configFetchedFor) { - this.configFetchedFor = this.pluginBaseUrl; - this.fetchConfig(this.pluginBaseUrl); + const base = resolvePluginBaseUrl(endpoint?.httpServiceUrl ?? null, this.connection.signalKURL?.url); + this.pluginBaseUrl.set(base); + if (base && base !== this.configFetchedFor) { + this.configFetchedFor = base; + this.fetchConfig(base); } }); } @@ -58,24 +62,25 @@ export class ImageAssetService { const widths = (cfg?.widthAllowlist ?? []) .filter(w => typeof w === 'number' && w > 0) .sort((a, b) => a - b); - this.widthAllowlist = widths.length ? widths : DEFAULT_IMAGE_WIDTH_ALLOWLIST; + this.widthAllowlist.set(widths.length ? widths : DEFAULT_IMAGE_WIDTH_ALLOWLIST); }, error: () => { // Older plugin or unreachable — keep the built-in default. - this.widthAllowlist = DEFAULT_IMAGE_WIDTH_ALLOWLIST; + this.widthAllowlist.set(DEFAULT_IMAGE_WIDTH_ALLOWLIST); } }); } get ready(): boolean { - return this.pluginBaseUrl !== null; + return this.pluginBaseUrl() !== null; } private imagesUrl(): string { - if (!this.pluginBaseUrl) { + const base = this.pluginBaseUrl(); + if (!base) { throw new Error('Signal K connection is not ready'); } - return `${this.pluginBaseUrl}images`; + return `${base}images`; } /** Upload a file; emits HttpEvents so callers can show progress. */ @@ -103,11 +108,12 @@ export class ImageAssetService { /** Build a cache-friendly variant URL matched to a container width (null if unset/not ready). */ urlFor(id: string | null | undefined, cssWidth?: number | null, devicePixelRatio?: number): string | null { - if (!id || !this.pluginBaseUrl) { + const base = this.pluginBaseUrl(); + if (!id || !base) { return null; } const dpr = devicePixelRatio ?? (typeof window !== 'undefined' ? window.devicePixelRatio : 1); - const w = snapImageWidth(cssWidth, dpr, this.widthAllowlist); - return `${this.pluginBaseUrl}images/${encodeURIComponent(id)}?w=${w}`; + const w = snapImageWidth(cssWidth, dpr, this.widthAllowlist()); + return `${base}images/${encodeURIComponent(id)}?w=${w}`; } } diff --git a/src/app/widgets/widget-image/widget-image.component.spec.ts b/src/app/widgets/widget-image/widget-image.component.spec.ts index 02817231d..4d2955c68 100644 --- a/src/app/widgets/widget-image/widget-image.component.spec.ts +++ b/src/app/widgets/widget-image/widget-image.component.spec.ts @@ -59,6 +59,17 @@ describe('WidgetImageComponent', () => { expect(img!.style.objectFit).toBe('cover'); }); + it('requests a small variant before the first measurement, then the measured width', () => { + options.set({ image: { imageId: 'img-1', imageFit: 'contain', altText: '', backgroundColor: null } }); + fixture.detectChanges(); + // Unmeasured (container width 0): must not fetch the largest (2560) variant on first paint. + expect(api().imageUrl()).not.toContain('w=2560'); + + (component as unknown as { onResize: (e: { width: number; height: number }) => void }) + .onResize({ width: 640, height: 480 }); + expect(api().imageUrl()).toContain('w=640'); + }); + it('defaults to a transparent background and contain fit, and reflects a configured color', () => { fixture.detectChanges(); expect(api().background()).toBe('transparent'); diff --git a/src/app/widgets/widget-image/widget-image.component.ts b/src/app/widgets/widget-image/widget-image.component.ts index 4a85545a0..d3fbebb55 100644 --- a/src/app/widgets/widget-image/widget-image.component.ts +++ b/src/app/widgets/widget-image/widget-image.component.ts @@ -43,7 +43,11 @@ export class WidgetImageComponent { protected readonly imageUrl = computed(() => { const id = this.imageConfig()?.imageId; if (!id) return null; - return this.images.urlFor(id, this.containerWidth()); + // Before the first ResizeObserver measurement the width is 0. Request the SMALLEST variant then + // (width 1 snaps up to the smallest allow-listed width) rather than letting an unknown width + // default to the largest — a full-res fetch on first paint would be immediately superseded once + // the real container width is known. The tiny first request is cheap and upgrades on resize. + return this.images.urlFor(id, this.containerWidth() || 1); }); protected onResize(event: IKipResizeEvent): void { From 9e876d7ab78c1a0cb60b98aef91cb2bea12a8e84 Mon Sep 17 00:00:00 2001 From: Dillan Laughlin Date: Mon, 6 Jul 2026 09:27:00 -0500 Subject: [PATCH 07/10] Document the SK Image plugin dependency and Node 24 requirement The Image widget's help doc and changelog described image serving as if it were built into KIP. Say plainly that images are stored and served by the separate SK Image Signal K plugin (1.4.0+), that KIP recommends it so the App Store offers to install it, and that the plugin needs Node.js 24+ on the server. Clarify that changing images needs write access (a read-only account can view but not edit). Also make the help doc's image paths base-relative (assets/help-docs/img/...) instead of parent-relative, per the #1056 guard added upstream. --- CHANGELOG.md | 2 +- src/assets/help-docs/image-widget.md | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d4efd789..a60b3bab8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # v4.9.0 ## New Features -* Image Widget: Display a picture from a shared, boat-wide library on your dashboards — a safety-equipment diagram, electrical panel layout, or boat plan. Upload JPG, PNG, WebP, GIF (including animated), HEIC/HEIF, or SVG (up to 10 MB) directly from the KIP UI; images are stored on the Signal K server and shared across all displays. Pictures scale to fit or fill their widget while preserving aspect ratio, over a solid or transparent background. Uploaded content is validated, raster images are re-encoded to WebP and SVGs are sanitized for safety, and resized copies are generated on demand and cached on disk. A new **Image Cache** card in Settings shows the on-disk cache size and lets you purge generated copies. Uploading requires logging in to the Signal K server. +* Image Widget: Display a picture from a shared, boat-wide library on your dashboards — a safety-equipment diagram, electrical panel layout, or boat plan. Upload JPG, PNG, WebP, GIF (including animated), HEIC/HEIF, or SVG (up to 10 MB) directly from the KIP UI; images are stored on the Signal K server and shared across all displays. Pictures scale to fit or fill their widget while preserving aspect ratio, over a solid or transparent background. Uploaded content is validated, raster images are re-encoded to WebP and SVGs are sanitized for safety, and resized copies are generated on demand and cached on disk. A new **Image Cache** card in Settings shows the on-disk cache size and lets you purge generated copies. The images are served by the **SK Image** Signal K plugin (Node.js 24+), which KIP recommends and the App Store offers to install. Uploading requires a Signal K account with write access. # v4.8.3 ## Fixes * Radar widget would not confirm targets. Add missing sk-ais-status-plugin dependency. diff --git a/src/assets/help-docs/image-widget.md b/src/assets/help-docs/image-widget.md index 76c1dadde..2fac698a5 100644 --- a/src/assets/help-docs/image-widget.md +++ b/src/assets/help-docs/image-widget.md @@ -2,20 +2,28 @@ The Image widget displays a picture you upload to your Signal K server — for example a diagram showing where safety equipment is stowed, an electrical panel layout, or a boat plan. Images are stored on the server in a shared, boat-wide library, so every crew display can show the same picture. +## Requirements + +The images are stored and served by the **SK Image** Signal K plugin (version 1.4.0 or later), a separate server-side plugin — not part of KIP itself. KIP lists it as a recommended plugin, so the Signal K App Store offers to install it when you install or update KIP. You can also install it at any time from your server's **App Store** by searching for "SK Image". + +The plugin needs **Node.js 24 or newer** on the Signal K server. On an older Node version the plugin will not load and the widget will report that the image library is unavailable — update the server's Node.js, or run the plugin on a server that meets the requirement. + +Viewing images only needs the normal KIP connection. Uploading, deleting, or purging images requires a Signal K account with write access. + ## Uploading an image -The Image widget in the Add Widget panel +The Image widget in the Add Widget panel 1. Add an **Image** widget to a dashboard and open its options. 2. Click **Upload image** and choose a file. Supported formats are **JPG, PNG, WebP, GIF (including animated), HEIC/HEIF, and SVG**. 3. Each upload is limited to **10 MB**. Larger files are rejected. -4. You must be **logged in to the Signal K server** to upload, delete, or purge images. Viewing images only requires the normal KIP connection. +4. Uploading, deleting, and purging need a Signal K account with **write access** (read-write or admin). A read-only account can still view images, but not change them. Uploaded pictures are added to the shared library. The thumbnail gallery in the widget options lets you reuse the same image across widgets and dashboards, or delete images you no longer need. ## Choosing how the image is displayed -The Image widget options dialog +The Image widget options dialog - **Scaling** - **Fit** scales the whole image to fit inside the widget while preserving its aspect ratio. Any leftover space around the image shows the background. @@ -44,6 +52,6 @@ Uploaded content is treated as untrusted and is checked before it is stored: ## Managing the image cache -The Image Cache card on the Media settings tab +The Image Cache card on the Media settings tab Cached copies can be cleared at any time from **Settings → Media → Image Cache**. The card shows the current cache size and a **Clear cache** button. Clearing only removes the smaller, generated copies — your original uploads are kept, and the copies are recreated automatically the next time they are displayed. From 22abf43b4e59ee3e895695f458cd89020a80ba88 Mon Sep 17 00:00:00 2001 From: Dillan Laughlin Date: Mon, 6 Jul 2026 09:34:03 -0500 Subject: [PATCH 08/10] Point the screenshot harness at the standalone sk-image plugin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The harness described the pre-split, integrated model — build one kip.tgz that bundles the image server, and read images from /plugins/kip/images. That architecture no longer exists. Install the standalone sk-image plugin from npm alongside the KIP webapp, seed and read the library at /signalk/v1/api/sk-image, enable sk-image in the baked config, and note the Node 24+ requirement. Document how to verify the secured-server role behavior (anon/read-only can view, read-only gets 403 on upload, admin manages) — that multi-role check is manual; only the open screenshot server is scripted here. --- e2e/image-screenshots/Dockerfile | 18 +++-- e2e/image-screenshots/README.md | 73 +++++++++++++------ e2e/image-screenshots/run.sh | 10 ++- e2e/image-screenshots/seed.sh | 8 +- .../plugin-config-data/sk-image.json | 1 + 5 files changed, 75 insertions(+), 35 deletions(-) create mode 100644 e2e/image-screenshots/signalk-config/plugin-config-data/sk-image.json diff --git a/e2e/image-screenshots/Dockerfile b/e2e/image-screenshots/Dockerfile index 62a86cd8c..374b71867 100644 --- a/e2e/image-screenshots/Dockerfile +++ b/e2e/image-screenshots/Dockerfile @@ -1,10 +1,18 @@ # Reproducible Signal K harness for capturing KIP image-widget screenshots. -# Bakes the (integrated) KIP plugin + webapp and a security-OFF config into the image so the -# image library, thumbnails and on-disk cache all work without a login. No VOLUME on the official -# image's config dir, so the bake survives at runtime. +# +# Installs the STANDALONE sk-image plugin plus the KIP webapp into a security-OFF Signal K server, so +# the image library, thumbnails and on-disk cache all work without a login. No VOLUME on the config +# dir, so the bake survives at runtime. +# +# sk-image requires Node.js 24+. The base image below must therefore provide Node 24 — pin a +# signalk-server tag built on Node 24 (or a node:24 base with signalk-server installed) if the +# `latest` tag lags behind. FROM signalk/signalk-server:latest USER node COPY --chown=node:node signalk-config/ /home/node/.signalk/ COPY --chown=node:node kip.tgz /tmp/kip.tgz -# Installs @mxtommy/kip (webapp + plugin) and its native deps (sharp) for THIS platform/arch. -RUN cd /home/node/.signalk && npm install --no-audit --no-fund --omit=dev /tmp/kip.tgz && rm /tmp/kip.tgz +# Install the standalone image plugin (sk-image) and the KIP webapp (this repo, packed to kip.tgz). +# sk-image ships a prebuilt sharp; --omit=dev keeps the image lean. +RUN cd /home/node/.signalk \ + && npm install --no-audit --no-fund --omit=dev sk-image /tmp/kip.tgz \ + && rm /tmp/kip.tgz diff --git a/e2e/image-screenshots/README.md b/e2e/image-screenshots/README.md index 3ae62870e..5eac45532 100644 --- a/e2e/image-screenshots/README.md +++ b/e2e/image-screenshots/README.md @@ -1,37 +1,66 @@ # KIP image-widget screenshot harness -Reproducible, **open** (no-login) Signal K + KIP stack with the `kip` image plugin, seeded with -realistic marine diagrams, for capturing the Image widget help screenshots. +A reproducible Signal K + KIP stack for capturing the Image widget help screenshots and for +verifying the widget against the **real, standalone** image plugin. -## Why it exists -The image widget is split across three PRs/branches: -`feat/image-assets-server` (1080, the plugin), `feat/image-assets-client` (1081), -`feat/image-assets-config-ui` (1082, the webapp/config UI). No single branch runs end to end, so this -harness builds the **integrated** package and runs it in a throwaway container. +## Architecture (post-split) + +Image storage/processing is no longer part of KIP. It lives in the standalone **`sk-image`** Signal K +plugin (published on npm, in the App Store). KIP ships only the display widget + config UI, which talk +to the plugin's crew-reachable REST API at **`/signalk/v1/api/sk-image`**. So this harness installs two +separate packages into a Signal K server: + +- **`sk-image`** — the image plugin. **Requires Node.js 24+** on the server. +- **`@mxtommy/kip`** — the webapp (this repo), served at `/@mxtommy/kip`. + +## Build the KIP webapp package (kip.tgz) + +From a clone of KIP: -## Build the package (kip.tgz) -From a clone of KIP, integrate the server branch with the UI branch and pack: ``` -git checkout feat/image-assets-config-ui -git checkout -b tmp/image-harness -git merge --no-ff feat/image-assets-server -npm install && npm run build:all # build:plugin + build:prod -npm pack # -> mxtommy-kip-.tgz -cp mxtommy-kip-*.tgz /kip.tgz +npm install && npm run build:prod # -> public/ +npm pack # -> mxtommy-kip-.tgz (ships public/**) +cp mxtommy-kip-*.tgz e2e/image-screenshots/kip.tgz ``` -`npm pack` ships `plugin/**` + `public/**`; the Dockerfile's `npm install` then resolves native deps -(`sharp`) for the container's platform. -## Run +`npm pack` ships `public/**`; the container installs `sk-image` alongside it and resolves the plugin's +native dep (`sharp`) for the container's platform. + +## Run (open server — screenshots) + ``` ./run.sh # build image, start on :3015, seed sample images + warm the cache ./run.sh --down # stop + remove ``` + - KIP webapp: http://localhost:3015/@mxtommy/kip -- Image cache: http://localhost:3015/plugins/kip/images/cache +- Image library (public read): http://localhost:3015/signalk/v1/api/sk-image/images +- Image cache: http://localhost:3015/signalk/v1/api/sk-image/images/cache + +Security is OFF (open), so the gallery, thumbnails, upload and cache all work without a login. Do not +expose it. Sample images live in `sample-images/` (SVG diagrams + PNG rasters; the PNGs populate the +raster cache). + +## Verify on a SECURED server (role behavior) -Security is OFF (open) so the gallery, thumbnails and cache work without a login. Do not expose it. +The widget's important behavior only shows with server security ON. To check it, enable security on the +server (`signalk-server` admin UI → Security, or add a `security` block to `settings.json`) and create +two accounts — one **admin/read-write**, one **read-only** — then confirm, in KIP pointed at the server: + +- **Anonymous / read-only crew can VIEW** images (the widget renders; the config gallery lists them), + because reads on `/signalk/v1/api/sk-image` are public. This is the reason KIP must target that mount + and not the admin-gated `/plugins/sk-image` alias. +- A **read-only** account gets a clear "your account is read-only" message on upload/delete (HTTP 403), + not a "check your connection" error. +- An **admin / read-write** account can upload, delete, and purge the cache. +- Adding the Image widget as non-admin crew does **not** dead-end with a false "plugin not installed" + prompt (the plugin-state API is admin-only, so KIP treats an unreadable state as "can't verify"). + +> Note: this secured, multi-role flow is a manual verification. The `run.sh`/compose here automate only +> the open (screenshot) server; a fully automated secured e2e with seeded accounts is a possible +> follow-up. ## Updating screenshots as the UI evolves -Rebuild `kip.tgz` (above) and `./run.sh` again, then re-capture. Sample images live in -`sample-images/` (SVG diagrams + PNG rasters; the PNGs populate the raster cache). + +Rebuild `kip.tgz` (above) and `./run.sh` again, then re-capture the Image widget's Add panel, options +dialog, and the Settings → Media → Image Cache card into `src/assets/help-docs/img/`. diff --git a/e2e/image-screenshots/run.sh b/e2e/image-screenshots/run.sh index 68f214061..69752083e 100755 --- a/e2e/image-screenshots/run.sh +++ b/e2e/image-screenshots/run.sh @@ -1,13 +1,14 @@ #!/usr/bin/env bash # Brings up the KIP image-widget screenshot harness and seeds it. -# Prereq: kip.tgz built from the INTEGRATED image feature (see README) sitting next to this script. +# Prereq: kip.tgz (the packed KIP webapp — `npm run build:prod && npm pack`, see README) next to +# this script. The Dockerfile installs the standalone sk-image plugin from npm alongside it. # ./run.sh build + start + seed # ./run.sh --down stop and remove set -euo pipefail cd "$(dirname "$0")" if [[ "${1:-}" == "--down" ]]; then docker compose down -v; exit 0; fi -[[ -f kip.tgz ]] || { echo "!! kip.tgz missing — see README to build it from the integrated branches."; exit 1; } -echo "==> Building + starting (open Signal K on :3015 with KIP + the kip image plugin)" +[[ -f kip.tgz ]] || { echo "!! kip.tgz missing — see README to pack the KIP webapp."; exit 1; } +echo "==> Building + starting (open Signal K on :3015 with the KIP webapp + the standalone sk-image plugin)" docker compose up -d --build echo "==> Waiting for Signal K" for i in $(seq 1 60); do curl -fsS http://localhost:3015/signalk >/dev/null 2>&1 && break; sleep 2; done @@ -17,6 +18,7 @@ cat </dev/null \ + curl -fsS -X POST "$BASE/signalk/v1/api/sk-image/images" -F "file=@${1};type=${2};filename=$(basename "$1")" >/dev/null \ && echo " uploaded: $(basename "$1")" || echo " FAILED: $(basename "$1")" } for f in sample-images/*.svg; do [ -e "$f" ] && upload "$f" "image/svg+xml"; done for f in sample-images/*.png; do [ -e "$f" ] && upload "$f" "image/png"; done echo "Warming the cache (raster variants)…" -curl -fsS "$BASE/plugins/kip/images" | python3 -c "import sys,json;[print(i['id'],i['format']) for i in json.load(sys.stdin)]" | while read -r id fmt; do +curl -fsS "$BASE/signalk/v1/api/sk-image/images" | python3 -c "import sys,json;[print(i['id'],i['format']) for i in json.load(sys.stdin)]" | while read -r id fmt; do [ "$fmt" = "svg" ] && continue - for w in 160 320 640; do curl -fsS -o /dev/null "$BASE/plugins/kip/images/${id}?w=${w}" || true; done + for w in 160 320 640; do curl -fsS -o /dev/null "$BASE/signalk/v1/api/sk-image/images/${id}?w=${w}" || true; done done -echo "Done. Cache: $(curl -fsS "$BASE/plugins/kip/images/cache")" +echo "Done. Cache: $(curl -fsS "$BASE/signalk/v1/api/sk-image/images/cache")" diff --git a/e2e/image-screenshots/signalk-config/plugin-config-data/sk-image.json b/e2e/image-screenshots/signalk-config/plugin-config-data/sk-image.json new file mode 100644 index 000000000..bef401d9f --- /dev/null +++ b/e2e/image-screenshots/signalk-config/plugin-config-data/sk-image.json @@ -0,0 +1 @@ +{ "enabled": true, "configuration": {} } From 68870f19febdb9d0b3a087bfeaa86b56287629ce Mon Sep 17 00:00:00 2001 From: Dillan Laughlin Date: Mon, 6 Jul 2026 09:46:46 -0500 Subject: [PATCH 09/10] Don't eat a host literally named "signalk" when stripping the API mount MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit stripToServerRoot ran a chain of ../signalk suffix replacements over the whole URL, so a server addressed as http://signalk (e.g. behind a reverse proxy on port 80) collapsed to http:/ — breaking every plugin and image request. Parse off the scheme+host first and strip the /signalk[/vN[/api]] segment from the path only, so the authority is never touched. Adds tests for the signalk-host and reverse-proxy-subpath cases. Also spell out that a missing library can be installed OR enabled, since a disabled plugin 404s the same as an uninstalled one. --- .../core/utils/kip-plugin-url.util.spec.ts | 21 +++++++++++++++++++ src/app/core/utils/kip-plugin-url.util.ts | 21 ++++++++++++------- .../image-source-setup.component.ts | 2 +- 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/app/core/utils/kip-plugin-url.util.spec.ts b/src/app/core/utils/kip-plugin-url.util.spec.ts index 5e8af0d4d..d50bad24b 100644 --- a/src/app/core/utils/kip-plugin-url.util.spec.ts +++ b/src/app/core/utils/kip-plugin-url.util.spec.ts @@ -2,9 +2,30 @@ import { describe, it, expect } from 'vitest'; import { resolvePluginBaseUrl, snapImageWidth, + stripToServerRoot, DEFAULT_IMAGE_WIDTH_ALLOWLIST } from './kip-plugin-url.util'; +describe('stripToServerRoot', () => { + it('strips a /signalk[/vN[/api]] suffix from the path, leaving the origin', () => { + expect(stripToServerRoot('http://host:3000/signalk/v1/api/')).toBe('http://host:3000'); + expect(stripToServerRoot('http://host:3000/signalk/v2/api')).toBe('http://host:3000'); + expect(stripToServerRoot('http://host:3000/signalk')).toBe('http://host:3000'); + expect(stripToServerRoot('http://host:3000')).toBe('http://host:3000'); + expect(stripToServerRoot('http://host:3000/')).toBe('http://host:3000'); + }); + + it('does NOT eat a host that is literally named "signalk"', () => { + expect(stripToServerRoot('http://signalk')).toBe('http://signalk'); + expect(stripToServerRoot('http://signalk/')).toBe('http://signalk'); + expect(stripToServerRoot('http://signalk/signalk/v1/api')).toBe('http://signalk'); + }); + + it('preserves a reverse-proxy subpath', () => { + expect(stripToServerRoot('https://boat.local/proxy/signalk/v1/api')).toBe('https://boat.local/proxy'); + }); +}); + describe('resolvePluginBaseUrl', () => { // The base must target the plugin's crew-reachable /signalk/v1/api mount, NOT the /plugins/ // alias — signalk-server admin-gates every /plugins/* route on a secured server, which would 401/403 diff --git a/src/app/core/utils/kip-plugin-url.util.ts b/src/app/core/utils/kip-plugin-url.util.ts index 1a6b42208..9adddbd5c 100644 --- a/src/app/core/utils/kip-plugin-url.util.ts +++ b/src/app/core/utils/kip-plugin-url.util.ts @@ -3,13 +3,20 @@ * (e.g. `http://host:3000/signalk/v1/api/` and `http://host:3000/signalk/` both -> `http://host:3000`). */ export function stripToServerRoot(url: string): string { - const noSlash = url.endsWith('/') ? url.slice(0, -1) : url; - return noSlash - .replace(/\/signalk\/v2\/api$/, '') - .replace(/\/signalk\/v1\/api$/, '') - .replace(/\/signalk\/v2$/, '') - .replace(/\/signalk\/v1$/, '') - .replace(/\/signalk$/, ''); + const trimmed = url.trim(); + // Split off the authority (scheme + host[:port]) and only strip the /signalk mount from the PATH, + // so a host literally named "signalk" (e.g. http://signalk behind a reverse proxy) is never + // mistaken for the /signalk API segment and eaten. + const match = /^(https?:\/\/[^/]+)(\/.*)?$/i.exec(trimmed); + if (!match) { + // Relative or non-http input: strip a single trailing /signalk[/vN[/api]] segment defensively. + return trimmed.replace(/\/$/, '').replace(/\/signalk(\/v[12](\/api)?)?$/, ''); + } + const origin = match[1]; + const path = (match[2] ?? '') + .replace(/\/signalk(\/v[12](\/api)?)?\/?$/, '') + .replace(/\/$/, ''); + return `${origin}${path}`; } /** diff --git a/src/app/widget-config/image-source-setup/image-source-setup.component.ts b/src/app/widget-config/image-source-setup/image-source-setup.component.ts index fe858573e..7644721a6 100644 --- a/src/app/widget-config/image-source-setup/image-source-setup.component.ts +++ b/src/app/widget-config/image-source-setup/image-source-setup.component.ts @@ -156,7 +156,7 @@ export class ImageSourceSetupComponent implements OnInit { switch (err?.status) { case 401: return 'Sign in to the Signal K server to load the image library.'; case 403: return "Your Signal K account doesn't have access to the image library."; - case 404: return "The SK Image plugin isn't installed or enabled. Install it from the Signal K App Store."; + case 404: return "The SK Image plugin isn't installed or enabled. Install it from the Signal K App Store, or enable it in the server's plugin settings."; default: return "Couldn't reach the Signal K server."; } } From 37632cff10605f113dd7fd665963fe76863474bc Mon Sep 17 00:00:00 2001 From: Dillan Laughlin Date: Mon, 6 Jul 2026 11:22:14 -0500 Subject: [PATCH 10/10] Update SK Image requirement to 1.5.0 / Node 22.13 SK Image 1.5.0 lowered its Node floor to 22.13. Point the help doc, changelog, and screenshot harness at 1.5.0+ and Node.js 22.13+, and soften the harness Dockerfile note since most signalk-server images already run Node 22+. --- CHANGELOG.md | 2 +- e2e/image-screenshots/Dockerfile | 6 +++--- e2e/image-screenshots/README.md | 2 +- src/assets/help-docs/image-widget.md | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a60b3bab8..0cf072fa1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # v4.9.0 ## New Features -* Image Widget: Display a picture from a shared, boat-wide library on your dashboards — a safety-equipment diagram, electrical panel layout, or boat plan. Upload JPG, PNG, WebP, GIF (including animated), HEIC/HEIF, or SVG (up to 10 MB) directly from the KIP UI; images are stored on the Signal K server and shared across all displays. Pictures scale to fit or fill their widget while preserving aspect ratio, over a solid or transparent background. Uploaded content is validated, raster images are re-encoded to WebP and SVGs are sanitized for safety, and resized copies are generated on demand and cached on disk. A new **Image Cache** card in Settings shows the on-disk cache size and lets you purge generated copies. The images are served by the **SK Image** Signal K plugin (Node.js 24+), which KIP recommends and the App Store offers to install. Uploading requires a Signal K account with write access. +* Image Widget: Display a picture from a shared, boat-wide library on your dashboards — a safety-equipment diagram, electrical panel layout, or boat plan. Upload JPG, PNG, WebP, GIF (including animated), HEIC/HEIF, or SVG (up to 10 MB) directly from the KIP UI; images are stored on the Signal K server and shared across all displays. Pictures scale to fit or fill their widget while preserving aspect ratio, over a solid or transparent background. Uploaded content is validated, raster images are re-encoded to WebP and SVGs are sanitized for safety, and resized copies are generated on demand and cached on disk. A new **Image Cache** card in Settings shows the on-disk cache size and lets you purge generated copies. The images are served by the **SK Image** Signal K plugin (Node.js 22.13+), which KIP recommends and the App Store offers to install. Uploading requires a Signal K account with write access. # v4.8.3 ## Fixes * Radar widget would not confirm targets. Add missing sk-ais-status-plugin dependency. diff --git a/e2e/image-screenshots/Dockerfile b/e2e/image-screenshots/Dockerfile index 374b71867..a8bff5d52 100644 --- a/e2e/image-screenshots/Dockerfile +++ b/e2e/image-screenshots/Dockerfile @@ -4,9 +4,9 @@ # the image library, thumbnails and on-disk cache all work without a login. No VOLUME on the config # dir, so the bake survives at runtime. # -# sk-image requires Node.js 24+. The base image below must therefore provide Node 24 — pin a -# signalk-server tag built on Node 24 (or a node:24 base with signalk-server installed) if the -# `latest` tag lags behind. +# sk-image requires Node.js 22.13+. Recent signalk-server images run Node 22+, so `latest` normally +# satisfies this; if a pinned/older base image lags below 22.13, install onto a node:22 (or newer) +# base with signalk-server instead. FROM signalk/signalk-server:latest USER node COPY --chown=node:node signalk-config/ /home/node/.signalk/ diff --git a/e2e/image-screenshots/README.md b/e2e/image-screenshots/README.md index 5eac45532..8492f808a 100644 --- a/e2e/image-screenshots/README.md +++ b/e2e/image-screenshots/README.md @@ -10,7 +10,7 @@ plugin (published on npm, in the App Store). KIP ships only the display widget + to the plugin's crew-reachable REST API at **`/signalk/v1/api/sk-image`**. So this harness installs two separate packages into a Signal K server: -- **`sk-image`** — the image plugin. **Requires Node.js 24+** on the server. +- **`sk-image`** — the image plugin. **Requires Node.js 22.13+** on the server. - **`@mxtommy/kip`** — the webapp (this repo), served at `/@mxtommy/kip`. ## Build the KIP webapp package (kip.tgz) diff --git a/src/assets/help-docs/image-widget.md b/src/assets/help-docs/image-widget.md index 2fac698a5..e531a9ee3 100644 --- a/src/assets/help-docs/image-widget.md +++ b/src/assets/help-docs/image-widget.md @@ -4,9 +4,9 @@ The Image widget displays a picture you upload to your Signal K server — for e ## Requirements -The images are stored and served by the **SK Image** Signal K plugin (version 1.4.0 or later), a separate server-side plugin — not part of KIP itself. KIP lists it as a recommended plugin, so the Signal K App Store offers to install it when you install or update KIP. You can also install it at any time from your server's **App Store** by searching for "SK Image". +The images are stored and served by the **SK Image** Signal K plugin (version 1.5.0 or later), a separate server-side plugin — not part of KIP itself. KIP lists it as a recommended plugin, so the Signal K App Store offers to install it when you install or update KIP. You can also install it at any time from your server's **App Store** by searching for "SK Image". -The plugin needs **Node.js 24 or newer** on the Signal K server. On an older Node version the plugin will not load and the widget will report that the image library is unavailable — update the server's Node.js, or run the plugin on a server that meets the requirement. +The plugin needs **Node.js 22.13 or newer** on the Signal K server. On an older Node version the plugin will not load and the widget will report that the image library is unavailable — update the server's Node.js, or run the plugin on a server that meets the requirement. Viewing images only needs the normal KIP connection. Uploading, deleting, or purging images requires a Signal K account with write access.