From fc09e8a6b7f4c8a754c209d5d90f87527824be58 Mon Sep 17 00:00:00 2001 From: rays Date: Fri, 18 Sep 2026 14:09:38 +0000 Subject: [PATCH] Favicon, level file icons, and a feed error mark in the triangle's column - The logo as favicon, squared up (it is 128x121), at /favicon.png and at /favicon.ico outside the auth layer, where a browser asking on its own got a 401; an apple-touch-icon on white (#32). - An item not yet downloaded had its download bar on a line of its own under the file icon, lifting the icon above its row's; the bar now sits under it without taking space (#31). - A feed error is Font Awesome's exclamation, hung in the margin where a folder's triangle is, in the same column; a folder holding a failing feed has its triangle turn red. Closes #31, #32. Co-Authored-By: Claude Opus 5 --- CHANGELOG.md | 9 ++++++-- src/web.rs | 22 ++++++++++++++++++++ tests/ui/app.spec.js | 44 +++++++++++++++++++++++++++++++++++++++ web/apple-touch-icon.png | Bin 0 -> 20206 bytes web/favicon.png | Bin 0 -> 17373 bytes web/index.html | 15 ++++++++++--- web/login.html | 3 ++- web/src/feeds.ts | 6 ++++-- web/src/util.ts | 1 + 9 files changed, 92 insertions(+), 8 deletions(-) create mode 100644 web/apple-touch-icon.png create mode 100644 web/favicon.png diff --git a/CHANGELOG.md b/CHANGELOG.md index b1b2df6..ebf5a2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,8 +19,9 @@ The long form, with what was wrong before and how it was found, is in ### Changed -- A feed that fails to check gets a red ! in the feed list, and its page says why, in place of a - pop-up per failure that everyone saw during a scan of every feed. +- A feed that fails to check gets a red exclamation mark in the feed list, in the margin where a + folder's triangle sits, and its page says why, in place of a pop-up per failure that everyone + saw during a scan of every feed. A folder holding a failing feed has its triangle turn red. - The theme is chosen in Settings only; the button beside the iPodderX name is gone. - Add a feed asks only for the feed; Popular and Directory in the sidebar are where you browse. - On a phone, an item's files, with play and delete, sit above its show notes rather than below @@ -34,6 +35,10 @@ The long form, with what was wrong before and how it was found, is in - Switching tabs straight after marking everything read no longer shows the previous tab's items: of two lists asked for at once, only the later one is shown. +- ipx has a favicon: the logo, squared up, also at /favicon.ico for browsers that ask there on + their own, and on white for an iPhone's home screen. +- The file icon of an item not yet downloaded sits level with the rest of its row, instead of + higher than a downloaded one's. - An item you open stays read. A list refresh that crossed with marking it read could put its unread dot back until the next refresh. - On the Unread tab, the item you were reading leaves the list as soon as you move to the next diff --git a/src/web.rs b/src/web.rs index 65b0491..96e8c62 100644 --- a/src/web.rs +++ b/src/web.rs @@ -65,6 +65,9 @@ pub fn router(state: WebState) -> Router { .route("/login", get(login_page)) .route("/api/login", post(login)) .route("/icon.png", get(icon)) + .route("/favicon.ico", get(favicon)) + .route("/favicon.png", get(favicon)) + .route("/apple-touch-icon.png", get(touch_icon)) .route("/app.js", get(app_js)) .route("/login.js", get(login_js)) .route("/inter.woff2", get(inter)) @@ -477,6 +480,25 @@ async fn icon() -> impl IntoResponse { ) } +/// The logo, squared up with transparent padding: it is 128x121, and a tab icon that is not +/// square can be passed over. /favicon.ico is the same PNG, for a browser that asks for that +/// on its own; behind the auth layer it answered 401, and the tab stayed blank. +async fn favicon() -> impl IntoResponse { + ( + [(header::CONTENT_TYPE, "image/png"), (header::CACHE_CONTROL, "max-age=86400")], + include_bytes!("../web/favicon.png").as_slice(), + ) +} + +/// For an iPhone's home screen, which paints a transparent icon's background black, so this +/// one is on white. +async fn touch_icon() -> impl IntoResponse { + ( + [(header::CONTENT_TYPE, "image/png"), (header::CACHE_CONTROL, "max-age=86400")], + include_bytes!("../web/apple-touch-icon.png").as_slice(), + ) +} + /// Inter, the pages' typeface, served from the binary as the icon is, so neither page loads /// anything from anyone else. Outside the auth layer for the sign-in page. Its licence, the SIL /// Open Font License, is web/Inter-LICENSE.txt. diff --git a/tests/ui/app.spec.js b/tests/ui/app.spec.js index 8a35e5b..226bc33 100644 --- a/tests/ui/app.spec.js +++ b/tests/ui/app.spec.js @@ -1085,3 +1085,47 @@ test.describe('on a phone', () => { .toBe(true); }); }); + +test('a file not yet downloaded has its icon in line with the rest of its row', async ({ page }) => { + await page.locator('#feedlist .place', { hasText: 'All Subscriptions' }).click(); + await expect(page.locator('.ep .dlbar').first()).toBeAttached({ timeout: 20_000 }); + // The icon's middle against the date's, downloaded or not. The download bar used to take a + // line of its own and lift the icon of every pending file (issue #31). + const offsets = await page.$$eval('.ep', rows => rows.map(r => { + const k = r.querySelector('.file .kind'), d = r.querySelector('.date'); + if (!k || !d) return null; + const a = k.getBoundingClientRect(), b = d.getBoundingClientRect(); + return Math.round((a.top + a.height / 2) - (b.top + b.height / 2)); + }).filter(x => x !== null)); + expect(offsets.length).toBeGreaterThan(1); + for (const o of offsets) expect(Math.abs(o)).toBeLessThanOrEqual(1); +}); + +test('the favicon is the logo, square, from both pages', async ({ page }) => { + await expect(page.locator('link[rel="icon"]')).toHaveAttribute('href', '/favicon.png'); + // A browser asks for /favicon.ico on its own, signed in or not. + for (const path of ['/favicon.ico', '/favicon.png', '/apple-touch-icon.png']) { + const r = await page.request.get(path, { headers: { cookie: '' } }); + expect(r.status(), path).toBe(200); + expect(r.headers()['content-type'], path).toBe('image/png'); + } +}); + +test('a feed error is marked in the same column as the folder triangles', async ({ page }) => { + await expect(page.locator('.feed.group .chev').first()).toBeVisible(); + if ((await page.locator('.feed.group .chev').first().getAttribute('aria-expanded')) !== 'true') + await page.locator('.feed.group .chev').first().click(); + // Faked in the page: no fixture feed fails. A feed on its own, and one inside a folder. + await page.evaluate(() => { + S.feeds.find(f => f.group).last_error = 'HTTP 404'; + S.feeds.find(f => !f.group && !S.feeds.some(c => c.group === f.id)).last_error = 'timed out'; + renderFeeds(); + }); + await expect(page.locator('.ferr')).toHaveCount(2); + await expect(page.locator('.ferr svg')).toHaveCount(2); // the icon, not a "!" + await expect(page.locator('.chev.bad')).toHaveCount(1); // the folder holding one + const xs = await page.$$eval('.chev, .ferr', els => + els.map(e => { const r = e.getBoundingClientRect(); return Math.round(r.left + r.width / 2); })); + expect(new Set(xs).size, JSON.stringify(xs)).toBe(1); + await page.reload(); // put the real list back +}); diff --git a/web/apple-touch-icon.png b/web/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..789eb100166489d08968a07e0dcb96ae76e5c7f7 GIT binary patch literal 20206 zcma%?gz(seuoWknRrY2I--s8ywnuxc48p z4+nUj8RoFhIeYK*uJ!&_tcJP*9yU2P2n51YQk2yKe%C#JW1<5;-;JU30>5Z26}8kr zpa3Qi2oebb-2pE__CO$SZV>3e90U^00D(x{vRgF8fH%-Tswl{U{yl%?wU?v;uV8p7 zsmWm+U=iV?k$sP)t^|S9t(0V?KKLyiw;QBU4EYP*Sp%Ze^+55!_sSxMi*iFlpN`eapoZa%{Oed5k7%n}-ycziyqCsS9kH_BuOKdhwgD_{ zxP*2fo&SadE-IMUzp%o<4K-hUWp5gTK}L(iYQw~nM*byMIC~Xs+BIlbx@)Y9$N_Io zp-xEcUwoAtAZx>K8I2@ecXCoW@)|GHhyEXb{`7q6+moR(!aMd6H$T5mwiCJeEZCzq zd~W0CYk{X5Tgejgl!N98?e&(+4to{G2BelMc^{OeSfgs#c_{JSfsbr$S#JB|uOsrI zJx+o$nZ>S;zZ=K{-Xuy(dedkrZ~G^)kEB?W#T7^zq^D>Vuwbh)z0A(erXAsx)r@3` zI}*ISrPNY(8(+^%Uqil|Fvcv>8fJuJ)3KXl)yZi}Vutan@qC{Ej?dO)k%T@p(wIIEgEFJt#=AutGw&WAD06qElw%o`CXap2_oiMmC|%5t`{V4L=KU~)zW8N4iA+8^ zvky)ivchTu2Dx=kYLK4Ku7aZ+6G$ z_lVC7Lq;ZG7oF0x+#%he3X|uY15fP@I`{FkVWp<3ZBL{8==#9|(f`QwOcb z?D~Hyz&!S$cnqOgbs@1JrBAX%m4b*(@Q^2hKso9d?WP34>lL~<7No#=cbQPx==vBn zSYhdY_PM+1yF@0xYMf%}Cp+Q_s=qfcH{I(hhw((S#IZ|awMBG;fRA>ZzQ&bdPzu*A zj}lJW@TV4=K(QRvA{!tLT5n8)J0pJsW|pgxaeP?$3ws`UFr-VdN~wIFldG3CPDKHO@M%p14&kI1gFJVS9rfa}npWKua#N{e zw}MEGN)3>XX#TJUY-3+{!K^WdZWT~bFd+o%rpSKxQY5;UZeZ)@+^~J7sbSM?hpT{d zD#P!^#qN`nN;Hlz5hWsEYSCg64)O%8n;{?hBDHzfpz-S(;T?$kav+`1$2rv%DUH+^ z*YJK2D8Vr$fm^NTOzis5Ck$E|8ynNAX}gUBgEFij4rr%NWsoYF>0Vo-rWW&qL_|a| zRx>GubK|~1?M~G$+`nyQcQRU5k1zK|V)t(}9z8cSz^P_S${{9wDW=g|{@HCLKr50E7fW~i6^-4JCc zf&wcYSkcEm%beqOVe&t*tR|f64d?mgyBLpKzqsmlypSY_kr4~N1HaD|>-G~v-(6Xf z8w!+Ls$f@9d97%yb~ueOU5EP7aOLx>ZnP@L<*}Mk&hcIwKf&H2Pa*qS{0aX`>rSd*;udMPC$PY>b8;5Z%yM@H zxyI@@QU#e?dDN1Glcx5)+<@me;=LM0HWj5_5}{jeEz%a4U*;RD#<^F9IQSSZIA&w+VVA%jiD|f5sEG54;b# zc-iK6jx3GY=bq5s{_g5N7^IIK!+@u1{uX$f=IIPWl_?Eor3wQVu=JR7cRf9c|NZ-y z{T*#%6$SaeDIubs;z1it_9f_m>7oqB@G&HC5E0oT~Teyco_{~JXpB8=Dp^h2bAyjO)7m88o`(+y>`d}X1%%bTQt z{9a>q;PH_Sb4B6$QB<-L<-K>-!PEX_%i}DSr$BMxzW4P*)o>O4~_Q7<~hdKwW5Q`fid?_h|c6>i6_#|r|YV7vwzoSH;WS?HZn#u z5+Olb#ba+!GV%ZR$CKP3LjUTF~eE*~560js#b^I@bDZYyz520SU-<9i{cca^Ywg~Ash7ir(&&!c;u+#9tM;=Swt z9@n=X5$la2wkI54SAGGJWvxB%_v)$~Y4lh0vofZd#tqI6Y`;u#$GcYS113lLnU49# zai-n2A%EjnqiTav%A=QJM<*wn&u4QJ?js1jk$HI7l^Be`AOIr0EC26<;Xop3IPf}3 z$WPSm$Yh^2@cVmkh z*Ge(de`+0iCPx)~odS>ZWn21)kX7WGJA;{U-!#kSaURd{&$}W}EqHd}s>@c@zq_h) ziGP<8e%A-DIvy@mf-Z)b0hvefc*5jiE%`ksXM?2k1`U`4;jO->n>0@wG-prur!uV8 zC_ctQ*FoY6K*(Ng_2nVO{qd?$G-bQehfC5suPkE6<5X1WmWiYwfbyhc-lQ%I)K#{= z1{U_lS!+4YQjO3P87~i7NaQGa`}gF8v*X|6=~juvBWqGp5_gVzr-@`|&@EBt{pu+# ztk3MB-wb}g{!bjLB`hJ)D5qLh{1X_=M<8xU5wiE&eZXiGJv-?y#iwu1UBxlL6Kffk zTau-4>3Mf(^(v<0#9c?icY*3K!+xeYTZZ}oF z@^>MuMZLH6bd~?VET$Fj5ZkoY86CtfH34g0w>bpZTX{U5|HD6E#t%9P_C7DPhzJxb zgXj&nPht~D=0o4QNo(C-=;gWJT6pgtC zRLSKw2|q4J1^ib8VHk(oSxbM45tmH9g<0sjI(wp3hHYz+#$=N*F)?SsG=T2S_5?P; zfdoS3M&>R5SHI?DXIeUUtsO9_l9U6vq`Pn;FaLneeR^0VlA} zG4+4a1_fLqCNy>vaYnDm?9w*`k6gJ>-8}WK6B=5Sk5QYclIixd_$&W8y#vGTF|t z{frg)xgVsbhOB2iagsH>tfjx;Q&3f-`lDs+gH+ql5Kl(@PDi7Us?M{m14Dc}Q`DM+F#4FDIv68IU^S%GnikE#>)S z4${W?^rk+8(BZao_?&xIEuq+`;a)XR&*8dbExqX{j|(!|j+xdfk%yng1=kn*ylPX# z-5PX-ZCGQJz4pwlf&YaZ>YSP#c%CGzc4+i6Cky(1H2Ii zC7Q^6*Xtx`BvQV>`2zCGh-7F|F1nXx+$>Y~RwMS#kqoo5!e1Jfa zm6aY1n;V?<38gL0oB8w7u%#8D;bm+}P*|xoGZ@w0c9PN@M9M%K`GEyZBpR9v?r9SQ zP0;duCutIBcMoO*ZrzY+1u@!n*k zHSG+gRrAbFWXc#*!4sy_zz*wyl(C=al+i)~ z>E{*{l(7ErN9gA6up#yc{bqRO9<36zmd7z`?kCSCoNi1}2pMA^vYDd^l+LX^1 z@22|lp)cbbg`v^%#O-FdTkR*Egu-91IOQ3mx3EZeHI${vPCA0{)<@YzsFTl+7Wu>i z|Kj#;5CU-=i2aEiv-8c3u{}VU!7&|>^zfr2Tm=P%o1yn1;e~~-AI8=n@TkRunq;K} zzZjL~??WmNpS%H?<7yK0S$73N8>fwF|T+E}F;eVfV|Z;jU<( zdsFxmFW)c(4{e;3mT{nvC%W)+(!Mq2nXoihm-%Ga={+H#Mnae;pOXHyFZq)`4|Fyl z1LE!Fg*tKR1>10kqj>XC}Jmh05L)2 z9Ab({h^?a_f=4fqXBJT*(pAe+gg1Y)E}JXunTx6y|71^{$`~zOy;uxxoj7r{p{=y9 z3?CtYUUvT3z}^}{jj2jb8S}ic0G(i*b|JF6WK-+iI9i7%g%Y4xgCkZ0Eq)g ziLjcOZ6>_ZH-_&_>)bom@(|23?WlAE1u{q3% zAr-zZzk78Dh(^J}!P*>MB|n@q?O%S^%5)8+4w8^0ydm_Dtzn^!s$1qnSwc!t@pf>U zn!_NT_dBVot9%kp=T-BsQ zJs@*kBmQP7%eFb+UsEjS>&*=|tx3K7r!(nh!xAN#yTcMsq%dgQSp{LA_+0D>jpCFS zr%d7|#f5v)d^RBDSS;q+FzD`CdCc^FU8bTSzwD0g_0}1c;8aEtYyEQLp8BFqk`&|Y z9gP+ngq8cm&T?}%E{sPeAcMzyHZeNwXRwb?bjkbgn-32w^K-@YX<4(Ji`%to{7hkY zPmlK+${RrD06hDfquPn;*49>^d!v$kp%+4dJ8aAB*|-Cld8DbrQlwF&cnTRXzPe?O z$PfrUmnJc?G^xwT5L@@p*ahc}@uoNOdfHzx3yc#7E#PQt|;2c`B!qpB%m{4QazT7{!Ooq^R}WZM=mb`PAk!zP2k#} z^(orY;nDEI)Gt^11fDuW4zZvcLbITAw5OXviI3c*@WN#AvVLh3^QFehd_6fEXXH(t zWt0(h^BRmn%}zvyxKCWd11YuG{HV=-Tpfq7zn%}Yj*ntC)5?k; zs^f1@KxZo1kS>4Qw(ht21$_4F1OrXp7oT||j7ieFh;w;MWSYO;#mRxclWot@Byv@! z$~~tE=l!?{ka7cwvs*ww9PlVVhKABShIDGGtji)Rq!}*{Ya))Q&vZN{_6%6-acwML zx-h;FtJXz}xmre#D3Mfiazlb2HyW86!VM{{k#)=f_JwyeQ4$BCozhDeln(KfR?vBpL z_~#PWJ`-seS}&lROwZ+1F4Ru)nEcjspufNW!gHsGZvZG$xOsSl?|V6@5D0zgbPkwB za+pI1-6jRL@0|kGRG@e;y6Y(x`b0UiU-#mrYnqH1#iSZ@yK?4@_AxdUWUyXa1La2~ z3wDZ(b+?L0k;W3X7B)nL(G>|=AelL?0Ty8w68cGIt@$w*NX4R11Rw9M=~ArGBEh2K z5lD0|Klvp=cFv&OFJ-!49~6LKMJVRMKLVikH7yoZS8Zo4P2KXlySt?LF_}K!bg9Zm zE!51NT0+Vz&&w1{lq@DLs~a0J))5?Xcg2@jVUC~{brz}-j!FGQ0{yT0hW;Yxhm~=lMSG8my40i^&fU^o1KNc6=#xTv^hWd zvn=(`U4|Ek2D)6IdV`j(1UpNMeWNmY#&$h}uIKbv;yw=9!8<~Xpj(MYlP7FJ&u#*C zc5d!Resa3Ff<*iVPX1IsR!^4jROtvUB`O75=hn;+7Dm<4y57>oj~1oOAbVmpLjg2R zxN$ch1>XQtY1g|;IEa>q?E7o#f5^V*p*;#YCJAptqa=z6&b)m{E_tKb(V$>+^Ix@; zm+UjXxG=S3oHs)sHSN@A7~Zfm1!;ntnwq)*{mS;BzU8e$aluroJ9jE5qEHsv+AmaU zI%37!4X8D4>SV4BxHBha7)7-Q_W*a+*t4mVmiBTvDSY^ki|C%pcM6VDOIlovo$)|0 zg~iHju5H&oQf^5niW|$ohC4wv4;8ute`|QSA#Vw*qCuvx0~#F~bUK+mOU9aP{C)E0 zgj`yd(6Ciq$T%F=cE7}r_lY8V6azxEB!xT??k=b{Mn9R4{mQdWYhic-WG$2ao8jcY+S@?F;oLdqsm*~zY#G!}oWkO{OBc4+*sz?uRsvnu}4`QD% z-1>mTXKsZzAwNGi6!X&(Ea z2GhN4nVe?!xm~z_`qsk{ZtEf@y%>tT_Dw=>R*Yf{0e5yFJXacwff+MAHmDU*zYDMmES>F72s(ro2Hewb z1+=cBgN%6V4WG*G&AihhZfey}r|sWcO%uT+({~_B5vj^c*y*#z)RXSS%A7T3#kE+& zn)d4?(sXfNf1~kjCi05@9`WEaRG{YWzMjCgvPb`HYtD;d%h;5vQ4l#O(xV%xJ1gCV zv~CF>m3b3O81rJB(}tyHHWP(p@v!oXQG9L+wn4gu81=GIQ{dO~we!k=!^(@_2Z3{k zZdB)D6PYCM)z!JbPXHbb*SF)cg@47{iTwOI?I>b(Ps2yaymk!{LQ>Rl!;*avS7 zlA13z?va{4lHvm!pcaauLssocFzNGFU@ZboU6LQmaQWI;JVG6@%a=w- z7|ut4M9}pP%`Ld{cphJtjxY}Asu+uY0!5n=7b&$U@v)mT=oIvW{d0*Y7$)1eE<-u- znKIX0m>)lV*xU1;Pd(q9YH|39cel9OmI1R4;pf#1rWlHBvt!TNed&&XMElWF*L$E` zspXkxw4+~IE77>@EEe*hALEW~(Msw3aomx2ixmcJT?1RVWI5b(F0YcHBh!AG6S2gc|qDUCay&tXMDch!mn@ zT?}QG?JeRZ>rW}3j`?Q~gi3_35%h`!kOEWe+JQiVb8I8L6)f4ox+SDzm0Pw_z6x%n9l0AgT#> ztz|i@!HGdB;qfg8)btZQ7p-!buo7YaXQXs|+~GehpOjN06*qrv6CrCzicV+}i%74_ zfc;e97a}p+xYS!`tWV)c8UqG-H$74Xo*ms}{mgqSQaL66@l>9ItY~cGhnj^goBoJo z!CfEdWE#|X?Sah1lY*H&z@Xxg+3I8A+ z=I3?Y+K4>)b(4!+cT}ydN_2#4mELV`)P4UCP6OrW{Ph25=)w(;T<)IF0u z{H?Iw8EK=7TTRwyW-Szr%LBQl+J;QGH1qObXcG*iY4LD|lQ6QgfPpMbS0ua33bgC+ zmm-_wBS=P>P3$8um-;Nzw1b?KyD=cg2h13wkUT?y?<~@d%k|)0z%|O4*sa%1ZgJFm zRWt534%pkSZO46V&GQA-C$5O##=Ldro%e*4xeGlMH?yA79^RA5OO%4V3u8En(m0^6lHV#F1Hkmzk8Db?9y? zoXamd)O7I|ypi@qY;?i{as5 z*)s7887#Hh{>JY-@dGSUG&PNlOBwfVn0G)0%hM@A1R62R-(CrUn5vXI?a-4<>g4@s zWh%;vFQ|^PX<0qd!icJeoCRljr&=$<)_-pcW71R_wYju=z4<{|X@3m1UMN1Z@G8d89DF*DSXDP z4~eb3H#3z>>yQ%fbt<`7e;hi@v?#s{Sbw)*l%HRY(qXSuJ;Hn}pQ$5NAwc)7gPj(u z+NzX$uV_N7<0ffmGAKV*;P;nDHKEB^Cj5->)B)Cy{H?j>*wkRLT~sg*arWww3Y(>~ zd)#!&>k=tBt~s-{KC(G4lNFou9QEDlO^;RYvX;*BP_rHVvis(GAG^%vxrkKbN!YSaX(WrSDrYr$C2NoC;Ihg4l+^re2UQ!%f#AGoaMa9XLTl<@N zmU-Bk`$$3f17dGC%!$Ku!%Y-33-wi{cUM;3>B=>7qSrp8H7{{tB4-i0%@LXFz$@s5kUo3^v!gBaHRKV4J&s<+2r>z`^rK{A zv!FZ1%wNh#Wv)*%VzL~(f2+IKR2S7Ntov(P>gtoEx=0jtR3~RhCub$BY)Wuv;_6*v zv-OvF*8nQJP?x}cHH7B7d8Xvup1B#RJD@_!}dnez_8)Fq9hB0A85_QVuq%32SeIHpEa4C&jm4eNdNuTf^N zR&Dz45ZzS2HM^hAmtVmAMa5A;ib&?Pei~JUVjfeTmd0dwR<9qbcPZBds$~jA4r}S^ zI@7Y;i^04iq&t({jEZPe%V@{Vay_2a=5-^zHJ>@#XGF*)BF;E&pW5~MrtCgXl9{bl zW3X^Ny6tDlBvoDu+L(^RvPj_UJ>7k^W$Gm^jiAmBI|&oszKwna<(u)%>ABo&du`g_ zampFG*S4`!mE@z-Asu;? zx>od-n#2%KA^Z7!_VM1ON_$@R)mPO=akkjdHJC65_E-hkc7T~apWQ#sS;f}f%*y#dCTsoqW{|djFc*1-bpdTU_zVNxZ zQ4e>ZXTSu8S()>|Y|A|N9Z;eat=^SyxLQ1lSeWR`L5e&FlW5M??kBivAh*@Nh34Ot za}2oNH9bQ^SRHo6*RrS6GW@TPTT(v5g^wz@R7UeM1r>zbtHR#5rH^{4n?KJVsUjMVQP9S zjYr)s<eDwsRLkx0DZP}+)%N$ z1eMVDeYYP7WaAF+XaB1em2&-J2^$}liWg*!Dn%P~*q2W;&TSt((MN)Oz~QhL;8$at zuEq(F>a`}Z(QT!eF?=;T-VpHCq{)~k4@xA*N*m=ygu`F)tA z2_;fWoz)epNPqj^({V_0%M>YyD@ZQ66u`^gLk10HjL0*&OUC`&e=FKoX;TF z(vPRxN>EO7TLV`kA)f^`dW%)vJxLV}Q!I)bm##=Qmn37P=01$(uclsg~jH7vFLi4GH`AsdXWiL$_)lvcu1_Q=YTD@-BZ zBf?ch#xAC5oa*y8kWMKkzVlVll#V0f9m}5`^~r*@P+?=I8N^-2^VHbKO}`nf+E=f$ zXH6N#6#?xWw#l)+ij$`2VvI~ZYo6s`?V3+2r-%r8x#|Cm)e)is*k+4Yb@S>BL%~}a zstmpM%KJd^?|{Dtz-vaav!>JJ$02X{>u~n^k(B#1BLe|@-Pd+-KA09^Uu*1B&ECU~ z6_M4H^pFt&Uq8-M8cIsJy(@+8-*e!uH&*&JWJG#zqR*+YI;z=Z zMM89=h;$=p^`{fO8%__^8IbKVi+y;0A6`2o-#ahmg$Wshb>G_oa9hZq;vS)#-yZC# zjv`YN(ri`+VKtNSFfF!U{z+ma#TIS*n+{BpnKlh%?fh+hh#*u8$S7EQs?ETNa>=gy zQaG+)cBlWyBQ+mPp3vjh4&}`;A5yOnjsz)}l0;G45>HyQ(kde{ewq3^qMO9Dw84ga zaWTg+TDB}0+v-;(53iVRTlieS0wA}dIpajD|D_pOH>%I5wn8@y@@1`MF6k*1b@J3Ss)*j zk6AXFx!OglTw4FG2n1D{{c8v4Mw}$NIX&R z6sqS&{>(l-F3M;vvVG>hprr1lA11PODOSC|Wx{f0Rgc)4<~CC%gKkOclOI0@LQI1Ys*<0j`%ov@3alCE zU1yw8RjpB#(QlKTd9&3d`a?hs0N@uuCjtPkp~7&*)FhPDh>9EJcYE>dia3{7&ACsx z{9?%|>OKCAoGn*cfuB2@sjX$O~^td4sb;ALyAALFUc0DCKDIy zr4i+?9~VkfZDSCU$@i8#|Lm@ z%mU#fYf{FWQ#$tz{2)%)bl0oll}Ee+G8sBpF<9Czi)Uw-6+rcF`pR>#el^?fAw}$B zC>n~3RjNd}J8*3Tk{%s}e`VbM5tR}cKiw1p5#G<+@})BXeTMxSY0eeHUOHknIcfRy z#RVDTmG+UBC_tgA7`!g;L92W%gtjO4jA{dv8mIlPnpAL_hclkZJC3ndDsh2@!e;ygbdqt?0!w51ElZ}iTt!B(GA_zIO z#|F1@>+w9t3HxL11FD<{V1&OeC|9;VZDIOT7Geh7#Km#*Vh(+NC245IB8#tiaFBEP zqsuRIWAkIU7zrE;X1SnL2mY=M@0bts+JBEO!VBv5s zz5c(afr`yZmkU^+xk`4XVwrlrgp*K}GtbLivNklnupx^uZl3JlF zh&zpxB9cx_0A02*UTeC-r5IS zYO5NP@5T&@L_&YnV8w|o3|4`I-hV|(QQrJ0+-)Z&BQXMLaKTduQ;Gs9zZ_yNk}d_K zia?HfKKNpTUVCoXYyn6cP`OJfE;raDa`6GD)90T!ZwkkHybPP}I6 z$Ej#uik&Mg86b#@>>WH&^>z>f$F@2AQ8DvV;9&>W5h4JBdZsMa)=Zt-E?d@vC|q3O zc=ur4^+N9H@&-ybPuy1`TzOP9m+XTd6roYl2AJS}+^utCl!n<8Cl}$%An^q?L0BZW zv3M-Ktb2l2NtmNi)ZT+njHMeNFjrOkL67fF&1V2aT!ipgaDAxvQ^ z(x!`hUAIhCWRS$4vkVU!7Y>quxE?M3IZR){fpsMeYND7hV`5TZ!ZgzFvhx_44EWi! zmB0FnKhSdjbvV|K-9)t@v=AQeD&b49wASqS;cr}CtTrwJfV_zx3pFMh^B2noHQLv_ zVgQ&B0B(>@*4pERlN>8Jys?_R?>kU!`O8O4`!hIA-m6uJ)61wi?xFDH))#liWvWs7v`tl_t8 z0nt*)K+32goFe=>B%su+p8X2<>;ZFCodyjZo{LeetcX^ZMjRy3cgxbhf7?6+HschZ z@uDl=dJU_S8;Na98r)*M`^kE2H;!-E(ctZC8Yi&tCHg#cAVxWl#2$$6w~L^Foi+P+>RTAgzc z;4uR%%kSl7qXM$>_U`MYr+M#g!#HHy3Q5XcwejFL?NuRvjZSa;V|i89mxl7pd-ol& zx@iq}fip+Xe3nefQ3Vg8ZMWdOpCj5zvA~Z!@b4Mbt5Qu zDV|vF=Q-Mb-_&%|hzcFxt_**~N9|G7HRm036Bg^Y&@BKXcT`PCsPT>3urh6773HH> z;$;%YWtj%)eG1X|um;fU16$_<JB47f5y+&*7%&9oTX@)tWE1hBBtZj9bMF$ zR%oGvFGFJc(6M4@_k%6O`8|=oRUv6$B|jN!b|7XU;R=obw;D6jaN*@$u8Y)0Ak%Sgs(beD@HpiIxsp`TX?4fn$Wh!(T?LVZj2D-F^Jh_$_F7R5r|Pzz zP}n4d6X&MGElcP>D8sV~L z89p*(U*He>Yx4!YPmV67__ebxyUKPH1dOdz4wI6YqZV;~J5L5Qx)=qLd)9d4%#>(I z@f@p8?IYu=?q|GcC*()^H=X(iHr;tbYN}@!1aw4HEy%R40=^O_(0BwK#WSU2r{$*1 zn*&fDi7rMlt>Jk|>-;cKU{3#Iq1py? zr7Ie()T~r1in&e@%y5jF!tviCrM1Bx`*Drz=P$)cKPNe+hKXt~J#(HIit1xxEdJyB zKKK$4J1yo3=rW{(kZFT;m{JlcqaL3+E{BqWp~!iVO^5Qig8fm3EvVkyE!Kbj;~zGY=1G~zP@s#U38q)mR%O->HX^z6$zYHK zGm4T-TERdc#HP?nb45pIlNx;75Cv%yg~SUSEL|%Bph~ zj|R6r?&99JLmxMJl2~vFZ#vNT)M@gM@+;_Xs2S02?CRhC#z9P;|IN#g75z>>fen-z zQgEfxgy!If`p{UnqGFNZ0;CJDaHg zRb=7SJ9HRTWZme@7|rDT9D=Q)ws^-V4hsyZ`&b$Yt``AT zi#MyjT12Y@#Kg8Y{FC-cj%A8(zU11F3W=nnkwyu7alH$i?}l2Y^%Y(0H8Klk@J$B> zE2`MK0?{C5;V*|hewEL~-x{vv#V;%%v=PUb6;3AhzF|M&X%&ZPbBf>2qCv*h=k*1v zEYnPP8(fxrv?Ya*8d%{!%9@N}0E+|^KfjuV#7;>3qf|nH}T_mB7mEYYX_aHgcKkHV<7xb8%+ zljs#o0b~3JHyPhBDjzG>KqUUOEu?ZJ|9DJ`4Gi!MSVgtST1h-)@7)4?!rEB6E3QEe z5yxsn#fvQEko^ub1fmR~XMx(4y0Z<`&~9!gLX&!XWgd>#pE!U5lqYLfDKVKIWwp@s zLtat{zF9uLV zw?WZj-?yG}@Tu3=WwK=l`2B+^u9z%W`dkks+xBhC8{Ewntgi!eW4Lk8@2(vm00?g2 zedwJwMW2tG8))Lv&D|YfhSA4G3Rr4vWHTIncgJ(yB+k?$t$uhBGNW_0*~$+ZF?}^q zmrjKn0Iwh&#o6%3RU)Fpm+|YcovtALV-O9HuflPY#XW1Pts@4XvtqlQ;swzh;z#iq zC%C%#Hc8wKhW5`?C#WO;D0>+|;3u*Djk&k8)HOrKqa5?}%1P0$DBH6zXr` zm#p9m`UN>sSfAJeQ=^x-LOMyt`x2mJ`D=s-7g;Wo?qY55Wf%bSY(Pa`O86NV|K z2_bK~OeMPWND9BA+A-3#9Fsn(hwD=Ag>0xVq>Hkfy=v2e%!f5pN;$mj%33Qo<@)NO zOS6rYtzH5YJpY&09x;0&l6X2#J_pq1bD!(?pbIRZkJeS?kytLQww5o_0+W?dzVHQr z@Bl4k*Hxj9W1tp%s5gn#yQ<>l*`Cb}2gh|V_Xl2SI`Bod%Rfr&Og$BJmdgL;W(#hb zOQFzRGyutq<0&$Tt^xn5C91WL-mv>LZRf^{RzpA2UPIUQO?r=~j-KGL9qDg?Z?|s< zWM3+2RVuvm>SW8Z6PQ_(als6qlUdH-o}NJoWVZPI{{#o!oC;nD%~j4#9Ds4YT^)o} z1w5AN5-&JN@w}ducM;559FTc#Qy?)53R?%7bAW!)Cf`$P@y9FeptEj_rqF*tPonsy z@BqN^0I($dUVLDSM_pb0dA$CXwq)#!jK)9&FQC5_}LlB7ogF;a+z%c@Nkt`=KvsPfoD{sY83a} zj`-YrM-zPYf?6UZ0cc0+b8iC|D~D-;@kdB|5gmwjSNzGW;Xmf4#PaG`2g_si18;_j z?9-*N!^B83#&{D3EOBFAv-E4kAzuPYlo&EiNm?U$6u4LS(#w~~>n-&XM|6%0PT(W4 zPs@uIC5SFK?-hm}Mf9y6gT1X|Nz7vq8navn%mx`3b6Yz0KoHGL@eQkd#>4Vl?0 zxb3j+ijB6_yu!oWLtC463h3qD-)DWk`9KrFLY3JTz;rxA@wd0lCcm5cXA!|b4-62e zHv-r1sl{)%Uq1J+-M}LV00h~w))d(0fXj5Ez&}1Z0+=8aNaFDQ04Vs~Nc16j{eod< zXHlNF&#;?V@8XZHeujQG{%|l+wmUdVGM(ht|8#Qh|4g@k9N)&I94e>!I)zYMwj{?z ziR4~P(N;Gaa;Py@4x^MBayAtUwYxhx<+Lem4s+~8gb<67V`VXiB%=H7zIONh1HO;% z><081n4FsIWy<} zr9|6!^G#b5pfJw^?&b+;{IR2XNKy9I!ab0{M>_I`4=YJ!^donf(uXf?Rb!L-Od#R& zkuxOQz8gi2;hm+F8}24s5Z$352jUkKFNO}p9}M{V#X|;$>!l?iUFH=S5@d804=J=h z3EEx-8W8}JPX0S!@swQ?J_1v=QM3e`hUW-?DE%yfT>QpNYMS70-8t<6aYfC`7ThwA zj7mM9fGDh$ulaN=YxtOVT7#*5m12&D-uAGav){bK1lpJH1*klqAG9o{9%IO z!WPLtDHE}AFKiLnmUcnOw_He?6lht;b;RdoIm$vui|n+?rEPF+|HVg)b;q&BGQx zS=tY5fJecvT3}bsfA)*Q6;Id=n>EK4CtGW-tjxJwv3Qw{kPlpxY){JV?rc3~BcV}R93wMUsIY~)>3M-n ze~7z{G&$jTAIPeZ1Uf1(e76n`-YwV+2IPQ+QNHg>X3i}~CQiQ7ciuunAnHKpB@hAM z_q$fGlYqlu;KvR@BD=I5R5(TqL1UqAr8H!4>Jc>RLQ~51AM5jzKhr{158t31IC|jR z^byU8-LxIkM(&xLkwz&(+PX`PmE4^XGv^q;g}V6~c9b879o5}m^Eu>|dva~K$=>MK zBgd8N9h!O!LD@#mn`a|e)hM{eP ziw*b|@3&t|_TAtFcfLJY@VyQ`6oP8%P^~VunJK|~n22h%3Y&`8cA>oIBssLMxoNaslQ0<`~H(@h{0_Hn@O3+`6v&-9Ov3fi^} zA9??q?dhd~&w*v9Z|ep5=1$z*u&UJE!l2j%dS@e$7ozE^EMC49UvQZ}7&4<0OqFS< zGm@Vhr6%Qn9im4=ygL1U<%)psWNu;60)%J4hs-{us{~T4EWLW3viLKuo$m0xi=Hco z&t!+l3J);I)7-dFiyzfc-*hvWaWJbyMMuu1A(3s2(#q10`%vTNv;PG(QQ@SP2J!58 z7LC_cDK)0BTH+SbXTKa#GEcA~v+t%}%equf4i--numb}g9TlfFWUcO+HBT^YK$;fB z6>mgRrHT$FB7s226yosFkmEQD;sV93R>;gG!&hg%K=eY~H+(lTOzLAzb~Dkc94gI7 zMK4TA(-ol-U-80iE`Te*uz2l^kAD-bZt5@e?iW=Wa3m6q_o7|{n?Z0$h&R+xruLQZ z1m0OWb4h`Ek%RW{FA1k|_AZ{yRR>))HvQe&kZ*L2uq?eA!FNh8ka0G-#sddaj0dON zuV)#iB%xb0d#5*tn{w!buOrIQyCcPv8bo)u-!p(EEcG4)_xdPxU?=Epd>)mAx%Ca# z_x99}{HraylLN=MxjiOa-W%-MTaVtMPj?u-nM*0%gQxS|0B5b?L#$vW;4v0qk8!df*}1V?wWb@(u2<;Fs| zw6bh5>|U}DPdVbVIn^o~(u`|KkmK4bx0!gcDvj`??k}D&yLg*m1q@W!erBhky1Xcc zUNr|6k=UEC6Hq3zPi~!aOn(l$37LiQQIJVk4Or(ulpMM|A|f^l@WsWm7Z zl=9b15lqz4UxVX%MT(Nin9vJN==p*%b-taYD!nWvy9$k(IJF zo6x_H#HphONYLM`3u{uVon2;l$kS5B1R>PR2Qthss2(*Nbb6&Q5z`0v;S8P_xq`b| zEkCV`lTQvffzjCW!u$j&Uu|*>mfb9RX@=KOmi(=^u|G~NI!j%VKub7FB6m5TFBf>v zG<1T$eUjS(R)UxnJXK2de|)Ex)ilj@a7&4N{3iDA!cRB|&Lyh6&WoHZ)DtKWfK+4bLVC8vm z(faIP(*?UDZ!a3X0PZ#|BfmJ~T*b8=A3>i``~2FEs%aLfi>)}K5x7W|nEHI*S7v~jK{k0myRvTDxNO$+ zUGCbtU{t3&6!}*?_Zd^|x#3Ts^aWmj@}8%vB^==XNUZH7WR&Ga|m7~A4QjYDIUP`R{ zK`wuWSYciR36FLd(~y-K;GF3no+9qta-DA#G)fiQZ~FtrL2VZ!iwnzqPalAbfC91o zW-EB5mDCPWfjk5t%^(&^%$NRHeG*h^{q}jmjw$`Z*Ph#&mGW&VJ|XxwTuBeU-I??L zMFF0C{86;`&;Z>qF9~bxy{FoNt=w_@S4s%TED#?X!NXVk9{ha+!1tgE0;W^umU$YB zw+vDifPW_LLtku5^ZVRa6dc=olhgIT)|OpJ`Q&}tq5pyN-_|CU)>n6752u(_7;ce! z$V;8sIMOZxbrO@T1Hy2|#33Z$&gbKj1yI@ep4aK1H|ijd&{X+pYoLefZ9M+r0p$0U zeXgp*c&)mEjFhaQUHBIFg3Vy51bbF^;01GA6K|2Tt<>@P0nUO9267hwwHRVbH9u*$lEMeEH{HJ zsvTDsqJx-##3LhMdS_gub>Ya`Z|8<~EP7PmrZZLWREZ4z!Yx?7zT-Z5G%abJ(y~4$ zbCM~wHXyzD9=sv(X&X!eanbJS>2Yzqkm=`;6Yg^;F|STbSBr<9Lehw7bA>Phv>rbH zAgg|B4mO`*Diu>Q2{oF79{N7F{O|t?&aN7o0oc}j??SIH=`|)#P Xu6=3Rw6&=)1k8A zS7VJrw%M(~7w=qsNvnDG*gs!GmAv&}P#o5JYPbn22CEpQJAgyxvQ+o5mKIg2XZ)1) zm{EvT$diO?WNW@@&*S2xw7Il&Gd-T+Nk;Reb18$2a?*=YsC(gC=hl(GZCM13lDp9t zE7y&Z*Fj{5@!q}{E8Vx4U|z?Qx<0LwHdmDi<8@Dp{5iua`0m}i(jAq!*efxOUuAOojP3DR#W4jm&fuhGx*h1h4=#$$#qL>YwKiFlZbGXf2YYlMZq6O|IS6B z+4|nvi+KfXR<*sIUH0+C75Hd#p)@t{G2xtHUl^|UgKro~x}#l1>5xG=*$Hu{^B#N1 z2|<2MCBaqtI4(e1WzSjmn?BWkOUGVXFgGPDg zPHo+3+sm8XA!3rvGp_XEBI%|aJqlQJV}|2=*g7XFsO>@FLJ-mzIJAIb?hW`L92<>3IXxBXn;x_iu2ol8|N8pj*EbEl zuI(3d%B{vX9N+Th(<(mIi*oStYOTuny@~U@ESszF^stf zjt1*(X|AZTsZ*w+rtWrWxq91BUq8=F72Z>C`!17!3HI>e!_T<4#6B{}eSI}5cBCpi zM7!&VO$Yz$!2CRYeSQ7MrY5C(L+(FMubfAZvL!Sr2#2b)*U0z*MX8j1%)7)L@F2d%!O&0NxD1G z5yggl-S)K8^=iUvmCm9W)ZnXka8S7ib>VZfJ$k*JF_g?d(NFI|qAv0GMQwHUG7sxt z&FJ>~@Q>~7>R{o@H8Zv9Po6AZNC>J;{Qmv>TEcw$?M2&Y9w&Kf;qX@T^^r9EHrA{^ zz>y4M5@9M#%k2`)88)`zG`4q|6T`M!000wLKv7S(_LynlJwthT1+NWpdY=ilo@ z9^LisTapohfq36+>KNLtPG;Y>RPadr9Z=8JAHR{GRocK24}!>d1kDBAXLArpf4 zKHA;|tC^|4iv0EKSA*n1sQSKi&c0>)MGH79$=(~u>-;x|{6}D~PHks@OKu#eKJ>Oh zX3xA%&3Iz@cXhSL>R}p+1pg!NP>D|IjXo-f+MjXpKH`zHQM)ue2SR=?6(ODQw?{<5 z;Lg_R1tAv1mc6HE1W0b3CRlJS*>Q@EKK}09+S=S4_Uo6$m(kIu${Vh47TT_E44a)o zjXu4L<>%*rZuI>5f`O4yZ?ua1O=G`03AA~R&uu00(f<2UPkGOyv<23*w6tjV%+rp6 z0YdlIOgkgjJVU;l?{>mvJ*h&R1)>E`83?o6%+HPBzP#D~j2(8u0ecr<>z3Z68l6C#3 z=wM9dR;+xUy}+YK4L9-lKcXEj^^n+LP75SS--YbvxOWV&& z^$ZMX5YjKJ3w)CL#aTM8ue}fYBJYNS^Pf|18~!gfQBhsW=T%MZxD3s`X`mm{xGyQ$ zzTLblc_3Cwl()WRZ=T-w-cEyJ~~zN!i-e$aE<%);W==FzC6&&8?t-sxxR_A|M% z%F6Jp|ER7t`^A|$blcDWYcVMI1_k4$>qu;(ns-T<%-P7b5=5i#im>Fuj!V{E5_~^L zGNUQm3BgAJ2vLZJGL#WoW;RzvEckbR@AUS`-0O$-4i0|cXo2)af{zPl!f*v5awlx+ zjNb~IaWPz2jZSXNPSGVgP9RY}jlu<-6=#&Y1_J0MZ3gYVOuLL9g8lsnM2%U}G@ zI5;?NXgk_#d0&CU-C1wjQ>`Z)wQ`T2KP|QJeN{Yb>}ZuO$%vboL2nfDtSwrnG?CLn zK|vw(`_6?#crGVM_{BPa0E`~3N;V81cWcD|k$z1wzuzIAi`z5LnST9!|y z=k-xm|K=t)!5Bxt$E-ig*Srz$5sUl#AJ4jo`7b9x=D8k{&iVN1<45fAv9oX#E+n*k zyO|GEk&g`x!4ne`tXPouzwVvhN0ER8NFKHeLhU10fhQWZZIJYXZ z`OS&~gO{ND) zg*gTj{636mCMo@p)@W>yr-cr|dHGZ?`a1?{!P`0m z!--lBP?oMuQ9<|x6h}u##oF9!6hfd%Thq9=($BwJA$4k*d%+Zdu%jgy8XD4j_N@Eo zPg>p~Kik~Y=J(oin3&}TE6 zvOaJ4w8wp2Au(gVaWvj9q~>2}J#hNTeA8oI{AjoGno8OPjRL0x(eP%DeD2Lu>7)(6 z7syN=OYbc+|NaOhrarNh#IwdfwLlMTGhQSFv)6WwWy? z5AT=5okV54LTl-X+SugCovm2HLJlIv_W|db#xS*s>@D}*+ybAW%vY$s&(13nD^zYj zrPW3Gi9gv-MP0l=@`aaetk~>K$Z(Cew6wh2C`jIqeCvq|_V;Qn(_{Bk;K3S7 zi+0R7wX?S8iItweY8I|f8hqA%)VqeXCQ>jjn%MS1jvMP^e*ljlR7JYuUYTv$gCBB=v(O$FmrE9*3 z)Phn!DG*I^upG|6eCl&^Dh2;L|7$4uX6Eh9$=i0JT?0Bu+iB~b_(k8{x0fTYDqCHC zZ4_noRbKt51RW2t9j#@6SpsuITU%6OB4wg~l4svNcY4U~af4EPmc_yNjL?SphB{SB zJVbEIk)!o(Qnh8P`n>qJPqh7={MXC;xihbqOP^nDPH0kGMN6J_-n!l@%5>kn`sA?z z!jIqU@6hvWkGG!=`uZykoBS5e%NM%(`s8!JaP~)35Aho|VhaiiWLtExx{A4+F5}A) zX=lPVLwqB`jH-EGwyW$hv_&eaEBJ1QkBReZ=W`Fw`sO@-Ivz$nRbIOA&b{mP`$1Oc z5Py3a0|SGk>(%-35abZKxH(xm`m@n~g*eDGhTr=jeER24Sy1naCOYkeRo_hSogVCW z-!iwiM`9BmZ^)5$9~e*kG23d+TqoIV9A7U|6TX!lPh~+Bri|-*0liDNFYlWFsH zC(-HI*{4hD2x&Ae8A$XXk7ZjM;P6`f$mhs6W^XNa?uxw z(q6J$z99J*?jI5nm%67M0jxT4h1O^iTu}J46P8;~=kI!yx3#rh^H)4?e`D0-fER$E zrKj&Yy;?1_@l8rf(%?%*a%e@=nNQ00sj-tauq)?P=M~-CuEk4beKyf=={6D!9W1N% zic`G&2+!WliNSO#6l7+kr$@9tdHXPJRJ-&)P~LK8cXAi@qOE4^Uyy<5A2gOM60?{{ zvWzWvyPXNk{v-ZUWUm`?py0d{O*~L2{&d4QjB}!JzcJ^nt!>U%s}6hGKknjoBk_1T zH?LBY8oegAC3c9^hHCYvZFHi1rUNrsTYM5$`t29W97IDM)!c*aiQdp4`$)ZnX>+x? zrQorjul}gOnM_jINxD(@bE+ZgH3#~?HiLx<`sP?XUZ-zoynOGO;(CVeP;sml+xt~3 zG$8SG;AY!HwKs%NN7GQ^fW7Fpd1F$`(5nq{(ePB!|2+oKc&WlbclQ6R#c8KSmjDH0b zSyXb$&d7RPar$w3=JU(;g?=#6?asG`&&?Ut&hD@VR8%O{yqm4Bs;&K(@x=a&$$%zd z&9HByE{l?hJ);O0rMU{`$`WnAt>%xsJYPxKP4(u9kr2_ZkoD|E#>GX}KG{wPv!*m$ z@!KM;;Wd;G!Y2%i_98*bd`9JlFp=Crt-$l(s&;TFx`LAi-h@HO4KyKF;Qk0+m>*|A zzsy-HBJ)v4Vn0LI!rvY|1b1a}M;6(7?QjMgzA_iSKlII9b0FvxR@T?ySdwwjk$2bc z#O^mCm`j+pU0NDFPWeEDMJX5fMf+T?yxS}((%?=cuSln4sac2IMq;Xp#qJ&&Q?feq zOT%-~J=R6UZxOz7$Xw1I^fEjJgC;@9^2+lyozaR4b7EK-@5HAt2!w_7=7tj6_5FG~ z##qdR%b$uLX_Kvuo5SAt5u-%wUqk^(q?IW$X~us$-CxRJD3?sPWUek2Vi3!0#wGr8 zP>ic!Kx{&rK@Pe5v&o;~a*;q-Of0}c9~58zt!987G=0Zmf+bnx7?hiVB&SJ{Gqq)E zX-VL7K<(q(Fz-$b5EfoO<4?keKdrH9-K&|h7^=LZk79dF){D2L_dDmvj6Ey~pi@%C zWK6;+c;gtvR2nOtXMydU{g(io39IK6c~^gM!kI4P3BlXeV=B;`dRe6g zMMjb~RyvL^TwvT9YwS@~ zwy;OPo;1(*d*AkCu?VcAuL+7d;)OCzG4_d*u-x5PlwT;knGZvVD{CN?Au%O*QIN2_ zxCp6iJ)wz;j{a&Ts8KpePL&mz`ui`-xNORGi%#j%U?R`-j~`t;m7o6gBwnd#15A-{X$7-FgsV%eu4%oj0OOK+sASnmCyH*CfQI4j=1l&+g0kt%h|y zR6{tnQ2AI~=U%8b_piUS2AA^+!NJpWvjj{OXs48KJ)1VT+K(7R@TFm#B2N_)$x|3R zVe;AEEnHoxE8EVw&#xpv=c&OEN65p%JI zv=hh5LzQ|DT-jMIH;xH}ZJo34vZv?zcVcZg~N1Bf5?~(Qv z03rNKbt{>}n86&RnzwK0k!tqXo~~^|mX2*Rmx0_50i&7lmQ% zjf=~O9h2-`h^@oit|ZRIZxICdFN*ms;u!m2y%+o|tic5PuWP3N^pVggd~O&q;3XSI zLy4sjMJO}&+>z!?L2|EYmnNA~(&Jzj_3%h8nYPWKeoDSlbq{2sV;P{IckDGP5%2DJ_1iH%&Oa>|8 z$j3*hum^nkU&d?O9Ow_e*}GL#yh3o zztVMc-TQPzCN?UQ_Z4f3YTC2s$7ERKgDzI`68%J7{ortje}(w@nRHxw8e7@7dH}&K_C6WE-STHkN^sg`8bm#$A2UrGG|l$RuBe zg6B*(K#+>HFgH411Z@JjU1w)5ys%Iu+#ixE|1wuu$aO^IUp9`9zYV&NltQ=NpA1uq z1Zx0b1Nc>XN(RHlbpJSAf848a*#~dNUVmgBC2E{XmVI4wn^^-bL=lds!963u28k5+ zlkMqcs)A%||2V-h%v53H*1$niF^5TOa9eo(yan@@x)l+4AI+BgZXPmM!J(Et9gH9g zuI38Rcql@^CfjObb4}zs`a7Su03goWySrWWJNf8`m1it(jb2_w+@1Nn1ZErnwat4T zsr|XQiWQA0n->Vh9pe>JPg6~Ou<8(SmeX<_dFjb6hZBf{Y}p z@T=yx*x0t*hc6+HWDBR3BZqeiyazU&jkN5F=A;m?@$Fn#vpgeArgAD#yBw)>m4JPK z?}Nr73eZ< zWW?<2aE-W=PV<$^fnvP7Tc+0F9vIz?rbdxNtYHiahBXdY`}Rp2A-$wP*99+XO^Qej zcN*x+LtIGQe_%@5-rLKYd2ROU6;J1hy?MHyq7V*^hkby_eI8w+#28vXqV@Y}x)jCC z*3E@dMF!h5EMv|aa}z>@BFb=K$cOtHY7pkGubmIS6Woxgiz26&`Ijfx$t(UwGe^L> z?BF4}tQQBoQ7=oH(g#<6U3kHl)=sIiO*a?iCU zV2PQ3eZpUF)}H3f87rY8@LCBKpi;o6L0&(oM0$gp(Xe8lDPpAOQT z#P7b{XJux}2g$j=d3n_Y{rvsK(IcJjF%(rV4jLL<^5=$N#ZnsO-^X_TjBOp?Uw2^) z^U{DZ`Vw%XiY+>-Nc9R|+z=l*j+H=V9*eDr2}eT&HUa?G0hkqz#QqJDHK@>AFLt)j z-|r_*mmTeC2`aYCJUs3Kz{L-v`3IdKT&DtTXV=)#;m?Fo_|prs z1dm9jn*()9BfGm;rDf9F5A>=Fae+&{oi( z%KJC78&@VL(3ZYlx(p<5Iz*GmIEi{$)km5&LE!i!((4Ib^{Q6Q_%eCL+JnW~hFk)* z(*xaj55G@kZ#8S5aQd#fL9mGhZY6lPNtuYhirMDs@c6<>=Y1p1bd!}?D6^XbneSmR zxKqyPK2s|g1#QT%iZya9qCrzJFu~DDl+JEMlar#4?*+ZUs>n+xBZVeI`4VkqY2|>`eu(I`+>$1x=92z%j*B*4d zq{}y9qzT|mdIcKBF)mCo{s`iT}=07-`5ln=qYd zOo-~u*CzHvMQ%(Z?86fjhE+r4YmP7TI4ppDST;lXO17=E`gHV#x7Y&+%oGJG82ihq zvN91BZBta2v(dkz2B1ZBL;x-)vZkelc;WQ6i+Ch)el%sc9J+68#|6v@PU_we@geua zFKyNa)--Oi>1h_J?3;B&CaJ=tX&=jRlnZiI32^05@?%_q^3ce^S6om|JSXLXUWCUs zCnQ6;{CQEy{=MXQl`o=p8eQ6qcd}EpF)PtyiV4iA)UB_)#2j`H#5*fARQLYZp4tg<$K{{{cazlky18tM(7A z+ou=PGc)fMo!t7Jje;w-SiJ8-YIuA%WxLUFX3_<9Md4DGbg)5vmfq3|CA=q3^^IU- zpYQAoDqFyXUyi1-Q=;#=oMRv~ObFJO3-?{K162CS*$}cXPpuMqMa2@8819o>!w^+9 z8>-NJF20!GF0k|mB>4VFqEtB*U5pmpAid|llpsx{W9(3wS-CY0V5i9SB}$cw(^Y~@ zS(^=-6}6c@>%lZ`36S6hN}IxX5_1Kjj#vB0R>%9WiQ5L@7L|oatO`b^XiU(JtbqCC z(t1n~M_i)9I!qAHYP)_?DDE4v9etJxTo{?XI0jFafaMNo3r1pzLRH5ow0bc`YrmXR z-2pDUMwOL+P&B1vy$Ya4joIeNr~BVD>YyK_J-+9dB>w(xt@+@oa*CGfxX6|p-=OBh zBz%v<7d<%oeD(6?o5>x^ABz3=1BPEE_z_cbYNaz3{y57V59a4WWkZ&<3^j-%iR^GR z;Q8q}h;Io3&trsVWF4r5=xExT$)Ov)PuUGJ#WL|}e?7^{$_ic)Cbaln;9N8%x?}xC zX3(BR?RW;xhxRASmeBu_ZXB6Q#3fIyIq;f>q3C|1)@KIJ97Hn{_Rd677kno3r~0EeIR%I2Re2aF^5qmYbt={&j=)2ub3kvHas8?uqQwc*W)w=E(|7;d8eJIA^U9>?58Bcr8I;xtS z5-o@Qw7H=FTsXrmo=%W*aB{f=!DjhN&CDk0z7KNBEdRFPvN{Q)P_P~)B(gLlp+E{^ z1vlr2N}3kB5%)C!JQWag@a{a&Rk-nq3OMToag8C~#D&uYlxfwNn;+u*yA`f=07LSPz=) z$?+h}D0nCmtBAzF6Td_8gkO+gdtT-j_TJ&XgJ(y+&!I1C!+Aeuw;_h$tSqzOL_paw z!#Y-4*`gy15ht8lz5K!~op}hFFSA;XK&62!_tMIcI#1cVP|7s>emf;|NEW6MFX%*P+#Y@FjVBgh z5?krI-0Cxr39frq6vllRmyVj^wZaqnN+X7g&T%mom)zF$>N+9X_e{$Ou!A*=%MeEnr;6KF%XhE{rg;S zL*`Mq7kll|J3F@1^%<-gU;OMKarX`ZbEJ^2^I!@upP^XrtCLponwwHI zMyQZ7j*}HpLPjSr%fWZRO3u`{cwYmi?JcQ`(RI7NA3F4^cg7x)K7@}Dd$LK9zEqZ? zdX6W;SsbIrDh!pT;>c$;W0mYF-x39Isdf0{Q0AH^wPsZzfcpOgI5>p#;z2({u!TO$ zsHliYr^jAvFqnZU!sYamgmA*e?qnKW7*`U2p1tls^V*m9Fhd4g%K#B}-270zStd4k z*UjKVh_BLk2Q_m=7ZW+OF~$f(p%MWt_kPNrh9GAuUY)bI5AlRk!&Kq25xtWV_QPQC zk;1v(Jt3Wuf7+nWEW+M@T+Q6xF4T2;X=UCZ~NyH zeM&dv1Aq~uQtxetdm)h7dc1zbQQiv*mHbb~Y7^vQ5))Gk*@jaKksYjEdWMFwReC*N zzaqitHw+s9TuxXo^XBn+(=OAdo7-=*bFXj4O3@PMoPg62OP;Y>)JDeiAx7?eNEFzt z<4#Im?Rzr((s8vw>#3|Uvh~|Z;PzZM-aA&r9THW=f^ZEiZq@6cOEf-|G2&UL(*-Vk zq%#+##3(btFXFEI}f&zh>d^X@k* z69WPWDA}$T&vet(kPba^0w@UD>xPy@O?Gt+yyY!aLUCDVWl^P_I3bbmI3k z6|aQF#gnej^xAZ}`B33wJ0}pup}<+Z_0%BFxX)4|>azY2Jac4p%QC@$%;EdglxB(cNT=0z+9*fmY-yb1 z>KUhfrRmhn*FC~fY4rBy8azGPB0J$@4uFANKVa0~rM~Q{4kkG(5nekx}GXC4VeRmX41A768_0-JL_Ts|LT?OZ+mV#8@qboo!vyyl7W|vW$q^K4D^s`sV)3dBI=p7gs(7un}I1^MD zYlYCqz<$`&eXOeTmCw5`ov+_(pUQxFM6zNCC=y=)vvr+%88$gsNQ*i(i#@)(CO`gt zC&E3ElCj2Ra(Y9VglJv1p9ZVPIqvwVMpTO_5V*qg)wURx%6O|w2r5%>ltM-_TFk#zg zJtuhNeTbWVK&TGpVL);EZI26&bq_DYHqXDb_?fy7M_NCq{(4E9t_TZZCKO|D{C09j z263Mx58l0Bw#yj7EUP;B`i{nU&a2cfsBu#54?^qBNCMXvG6Mw#7VET#IdUfg1)8rh&LQxTWu8(WN^A zX%&D%qds5Thi$8hb^r|dP%_x`Y{6k9L-64TweW%q?@Lm7j;xBRuCI~FCo&lCu4$pNX+0C8w{^m{nA@JG!zq6pkg z)>0;(iAkDU__&}-fZe>4Wbx}a-HTY;A1xdIDD4F=pohrirHXok>-ZKg97_^9!v96a zl^gZPbJ_(N{su3Ad|jI=NHC4#;0-G~GZm8w@)9lk85Nbv5yH$~ie-79CJD403y%{B z(+oTKrtQKWMyZQh)i-~{WsnsLqoRP~GCzUXS>Nlqk4H7dZX+uGis%u3|Kz7+uuymR zu)Msyd}T$b39V~--yQZ}lrNAfY++)DpIHFQ^uRt{iLQqnHs+l1f-=r2hTXnz6z+*k zdy{I~aqk&cKVa&(6Hf}&tCr~xF{NN45s8XQ6}U#o!SDDZFBYE>^uxOl(u!<$Z{E;L zb$}-&6#`4oQCW~;Wwql%IWa>t&}1;p*QRi5+W;mRM1YCv_a$p3`54ragZ|&LFd4w} zF1i_4OFq{b8gcybv-Ecso2*4FA=Cap?%CPdd6lkc?v;VTb1hVy7f=eI@5C!mc0G^{ zV-D)hqYBE!C8asPB0F(aM;yX65m=2do4V9LV;o?1fi`I4d{rgE#h<*2=<~*+m#Y{S zdC@&7VpI707;w65UwD3k-4?y8xyF8^^C8*q9i2##=jU{@!|p*&uffjF^dU7 z1}sKMQRAda%i3h?IY}u~Qjly2e@MPNRua{kM;7EIsq`Q%;W*(pe#HH_Enp^8*(poP zbcD)GVVp^|A3$>Rj7zaK^dIO5UZx)!*$qzHJzU(Pv_meguftqAgDTQOw1mQ~m%wUu zF)Qijj*hn>|Dq+|ftx?>5m$bic&5&!cARC2cGvIU>;Okpz)F_xF}Auc%EC}f5PQ@~ z2}dRlJnr($ep&@9Ovh6S>D9#WF$zP?A(jF!`G-12in+rcyF;snlI^XU$`1V_aq(6XGpJNIGq#)t>`5-Z|efyEy2ugXXg~KgqCfX z@_&`?Of&TCo7e>RF!JG}N2dBzK#_v`$GtV+@DM9G!jepV@YJFGtCa~ri|Y(_X#G|r zKY8%LQuOW?qj_cxL$p%2r|&1qnQ5zO`#AP>nnh+f-q}Yc^ja8OHf<+ppn~Xejr>h* z^rG*|qMFGfZLA)uFA9@!C%(H&i8MvI!&!ndA7Qp?BbTx{yvY5s=k6@}x86%9b4JJ( zf9GCz5pxnXf^|cBzTLJLdNu#Nn(w|za&j_|M*uBkq`$v^tnF#_-N&lqlnE6UD15`I z-mWejkep0rPkLTP>*o)O`X+=ZyFL&PhFHh5-Xu7X|axXpRx0l9^1ItkOl~zm<-PRf|H`Xh8`~=6~LIdFeTBq(^ zcl`K46rkVTvDIm>T&(>eyZH}}KwsSVSKQIw!X)T@nEL{rS){6Nftoz zYn9*lm5&P9ca4)cG|FU7T)jdN{3JJj>p5pJ%%!J;EB0|{TfOXINYQ-vX!3dXs_#OX6^Lq<@wA#^6e65=1z@r#}NJJZdsD-sP*MJahIK-L` z!u5{hH0?9@f8|+3ghOGX^TaM;>|H65sCeRU_JfPUtm#1%`uVH@*+Alac7~$nH&%7I|2_;7KfPEBlZ!(W z5@wsA%v@a=GBEvvg91U_i1G;__(4Q;qe&s$Y|0PAO~mF7+?^hTJg6TkSm4_gctYrF zs*!>(*QsHoz!g>?@bKYO4)vf3stbVdl8=BF;N9MDTlg7cKw;z0bu;hj*uquo*_~hI zYl7KpT=8yUYd~^gP)?;>F#dup+jD#3qu@oy(e2RLCf0Df->A3&YEeNO#mShs1Zp*{ z;~6ug9s3a+mK?>nF&x(#OxK_EGW!kYkuxeNkl^8?#Z-E3nY#gSxRmK*Hoz z4sIob>mA)4i*GL-)}WHFUc60xJ>pmu{cJ&#b(9)!|d0 zu`X#Wa33$zFQO4`CG*3Yw`nSj)tmHW%19}W^T_s0c2x^CvPavIDRXL(_Iu~={N?xwHW3=*N4HXZ~pN`H@h;0CMLeYfnmNy3=6UY&K+?*6GxCtD%f3WLfZZj4yely5q;UgLf=y5 zLh9$9NT0J{pAd(p2$f_$LgkGt!*=hv%Z!D;89uM|srU>VF`^kG-@Ce`i{{=)CNXw2 zl0DtbaYJ%4$#UnhUzt$^PT#^1JFdSo5)Q<%nN&9XU2ZNMVYhzERD%@n0~0w(gdO_x zbvusqpcQ%de-q0gIjZ4AU67(-swd6#ySt9td$pz}gwX~ndJbx@>FPc@p9YVS((wr0 z4Uc|^eqN=)KdWa{yy!bAn(jv*o_my#aV4?Qpal6coAjuq&@Ck9^pdxZ=TW68YCvA= z`QJfZJ3Bk<^S_DDJAwB?k2}$zdug9xqxm|Tv*3DZDaZbJbMh@OFYiwP4c#zvk^KEA zu>S={tIvfB@--+RGHu+)_d;lZa=-#pfJxn1HHHXC%MwC!XtXu0dsqTU;K9h|If;{7 zPda*#s5Pt8=KU)O>ps#h$PcQm%m%A#k3OZoA&YP(W$;);iv8KfG3=L}6j~C+)1!e- zI>Dta+L)tN272{l*tWVE2)6C}K_w>LcT-HF;`!ieo+>;^-yIwre75L+Yd>SplYqbV z54qTA_vqEn(ItS}DCB*8H)o&jvvzU)Gxr zo#+63{HgC6wSr~B?7tt;=smL=D{d)%OhvVJPuSuv6<3EKib{|;Xe6H)f#DREhKF$a zVYwNR_N-f~p@aA@#~tYvswS{miKn18<2;kwkCUB2%N9*Y)y(t&i^4yh63}%6dYAYg zX}Pq-1e7WOIidIZqbc@xHU1yraSjYWH_x6wZ}+ydLjzuWuElk4zTP%%z4`hJ&_7hI z2)n-g4(+>pdbk`9|)!+8_UO>kb(1% zM(E2URqY`P703U|zBCoL;3e?l%FSZ`Lu0c2iHPKJOC}Xyv15z@(bzx}>0pGi`WR!{ zWCq(uIOB*&I&aP1aeTkXw;Suf<$6sxV&>H{CEWCL^YeXxdjEGvV1dg(H8%Y6cH16D zx>RB?ke>eo*!qF|w)OAdzc+J&!#BO?i2Yy5&)*O+c}F80YBV^t0}+)#zUfhEovJhb zAH(IR#ok8yCkmLpK-Cxjjm&%B-pL7W&66P^kPs&DW0XY%Ab2rV7|qIQz4QlPIj5?c zHG0RTDV?We=k8_e-0R|6M+@PoO))xNEw9<*v!jHQD@^-@1(_ZNkQ?Ggy51@n>j;4f zgbsZTJlBN}F!e#icbJB&kAQreo=5#@y+F}_vHf5_TwGoMvEKhS32?SR)~~dsSI41| zqk&x!Rzj5P@#X?CnYA?`Xuki^x9+8-rR~qlb$m`^73f7^Sj$YeLc+z?^9>nj{=+fe&xqH&YAM^8%dEt>%X3(&$*MyDUM4M- z`trWPKm~m@8*j8W!PCEKs;dc+IZfGPjrdY9;Ydi=ik}t^Hw5b&u9%cc=vJ;V%-M7H zn{va-kOn$Z*?GsbI2y;Pxtbg9$EsJ`-X8s|;f*P{lgE!APtVT-tBW51pHaF~&cNpZ zn=a5I1Q*cnPTEj{>)720bRfi2&I_*uY2NbRyVq)-`uoOZW4u7-3)-oUQlUeb8K z0`BMszwz+8X6;U&>r;uKmye}ejb-X&HF;<_McAF5{@2HSQ-$5W1JP%rxWEP~rqmu1 za=gKZ0tFUq%9&vRICSoinZS{^uvc2tWTv=9t=_lVYYS;eSk4e}!iUDmrxsToKd zdZsmepogFA{jSiaC+%D_`^*D(l2;l3Jz1;T72KZ`ABT)GyJh~=5qLHU2jKDP`SKu5y(DdNL;bcSehnoIS#Ff}W#10KWMj&>w2W0dCN7DpZ&e^J9 z{>62n8nfOUdC+~B8J}#FH{Ezx^Pms7-hgw@?%lhP^73+7&8H5tM`AE32-Aq!4cJ(q zRQ@N7Df?u|mj@tZozhU7I&PpRw5MIeOdaoOb0>bTE<0_W+hzDsztd8oqFkWm=;d|w zryJ*z7Kc+3xTVCBKg9@z_C@|#E_uZn@RRuo0+Av>9DFFu^T*SUm2^?e#M1W>+2@sF ziE!DC*f-x|@Lee6fDw}LqpORH-RZ8;&t_+0(2D@6S|7-NLEWYfx9Yxr2eKiM^}uB~ zrA989u~CWJSykr{nbL{oz!Yl zH-1#0CYlt zY-UydfNia@$^gl=%>(uzJ6YFsXlh;(db~3-N0U??BTKmzKzt6?0lTx_?>f(VL%&(`OqST%as= zp;ZMO)FygB&y^cnlvpd+@v1KMqpe4~9&e@&H>DOY)#HdNNi@ky)K;_1Y<*=#Wu4o*4YhI#3!Z1s zs`ehc?k<8r2Fyw*btEE=)tuW_?A2QyqDq}oY3N*a*=%z~J5ZI&H5o?1nS8`hB*x)L zM(#xAmScA>S)~hos03ua*9;jR9uC}}z?tK>BFu7^7AXx3Ou(8Imw`r^hbF6f>Hb=^ zWHam zWP`sPv`e&$SA=IHs&0U?ReZ|XI!EIj3rTnTN87aCQ$jHJs8im(QG}bI@PW$@0(skh z^$^I0XHb$H2Ozm-US4#-?t%~CANzylUKmFC)%@&icloo1{XY}xxEL*o3T&ln zul>m*Y)^anG|-uInE+Sj^uj_v=y<9c8j=GFO-bPEhyD$+`0Eh&VMJg)$2 z@+!$<&dDfQQ~Ab!?_$B(D7m@fZlZF*98jv6y4YVg<1)k)n7*B@zZ$%)E_TrLPwNfv zWFnA$suwbH$N%3YlnW;946Yhp$>AS0P^9xUaHWGT?cl)PPn-KoiRbEvWgR>jkf2uU z&Yx>Khecl8zpGH7#S|#LL}R`!*<3NCTtHrwa4llKJuIvynv#`u^QyZ~a&QdbHw!Zh z3pcw3D#_k|f!&&!zx`6c*!!=AVWS-sGz>~j^e;u29xl(AIt5p(l)}KhN1{IT=`=r6SouJHCX~=ha$NYu^ z%K!p`CRyKh%BHSCrGT8^`lZHE@EuvWRE1H?NpwR)!_A}$e{1dKn$PtbaC?gaQ#^o@ z02rS@S8DSGC^-3^w?zP7LJu@709c(L0Vd! z4R3Ewfz$c))!Vke?Ela$;9z_q!#q@NqOTM8IJ;QV#SRjaM(^A*m(Nbtp~#ebuj1>+8&;~}6)1s+!K^qS=FClj%l_gnmrQn{0dlx)+@ zR;(r6`qHTMlAIg#c;%y3eja<>Jb#wtY*4OK0-A24sVk|xuZ^R9KB_DwcWeY{Ku)+( z4~X#rX;`wZy1KgYf4`X_FaMjqt$N%WM!a;*ChJtfMM@QQJb6IOQU#eBK2kdhzP}HQ zey-i<%MXRt_xkNGfyJ|?x!L`>)CCU>OQ=t|PB=XsUE=J{NoD=)&giLo>nI%^oqooX z{u8n2!X}I;i~Qe_m0JzGrF+6;(XFqfr;guhDnEBN(nSRwEQ9f<929$P?i>wHw9!=X zq|LE}^9`(T`pf9QU)L~s^r`)q+dQ7p)D5VG$({@9oACdt{kc^&zEy6WC#|{NgdrS& zuS2m!n>@+l%EZ=oC%EJPR%=#Qe@FiN@xO%->f>dDfA#e}n$|_>AKrpa-tctwb6Mw< G&;$V3G1b@r literal 0 HcmV?d00001 diff --git a/web/index.html b/web/index.html index 93436ba..629627c 100644 --- a/web/index.html +++ b/web/index.html @@ -5,7 +5,8 @@ iPodderX - + +