From 1b91667087d7c57c82ad51eb42fe7d8141dd9466 Mon Sep 17 00:00:00 2001 From: Jesse_Chen Date: Thu, 16 Jul 2026 11:02:33 +0800 Subject: [PATCH] feat: polish Jyotisha mobile chat UI --- frontend/README.md | 4 +- frontend/public/jyotish-logo.png | Bin 0 -> 33511 bytes frontend/scripts/pull-china-locations.mjs | 2 +- frontend/src/app/favicon.ico | Bin 25931 -> 67319 bytes frontend/src/app/globals.css | 58 +++++++++++--------- frontend/src/app/layout.tsx | 2 +- frontend/src/app/login/page.tsx | 8 +-- frontend/src/app/page.tsx | 61 ++++++++++++++-------- frontend/src/mastra/index.ts | 4 +- 9 files changed, 82 insertions(+), 57 deletions(-) create mode 100644 frontend/public/jyotish-logo.png diff --git a/frontend/README.md b/frontend/README.md index 847867a4..89b1d608 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,6 +1,6 @@ -# Ayanam Web +# Jyotisha Web -Ayanam 是 `yinduzhanxing` 的聊天式消费者 Web 前端。它使用 Next.js App Router 提供用户与 Mastra Agent 的连续问答,同时继续复用仓库现有的 Python 印度占星计算工作流。它不生成固定报告。 +Jyotisha 是 `yinduzhanxing` 的聊天式消费者 Web 前端。它使用 Next.js App Router 提供用户与 Mastra Agent 的连续问答,同时继续复用仓库现有的 Python 印度占星计算工作流。它不生成固定报告。 ## 架构 diff --git a/frontend/public/jyotish-logo.png b/frontend/public/jyotish-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4be83913f95eaed4de3cfc40b404d0720a3cca7c GIT binary patch literal 33511 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%0DC;Kjr1wyT?>^Op`covDZW@qZ)0Y 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 IM6N<$f~?W;bN~PV literal 0 HcmV?d00001 diff --git a/frontend/scripts/pull-china-locations.mjs b/frontend/scripts/pull-china-locations.mjs index 01b7f0fa..83dd3f4b 100644 --- a/frontend/scripts/pull-china-locations.mjs +++ b/frontend/scripts/pull-china-locations.mjs @@ -9,7 +9,7 @@ const outputPath = resolve( ); const response = await fetch(SOURCE_URL, { - headers: { "user-agent": "Ayanam location-data refresh" }, + headers: { "user-agent": "Jyotisha location-data refresh" }, }); if (!response.ok) { diff --git a/frontend/src/app/favicon.ico b/frontend/src/app/favicon.ico index 718d6fea4835ec2d246af9800eddb7ffb276240c..55d639560db8124b665c36a10752469bbd8c414b 100644 GIT binary patch literal 67319 zcmafaW0WSrvTfV8ZQHgrZ5z|J&97}6)3!Bj+cu|dL07zi8)2?^+@B?6)c0|HV90sBKPCt)WPxCiR6F+ zuK~&GB;e3dQ>CSf1opL&#=>axK-j=Ev!I>PAOS?MX3ZMlgN!MoUz&q5^W%{%ECvHd zp9QW#)+QTv3@A^=oTr6P1yzYmhb2Zqh)w@2-A%4^Gs`dk1>}PK>!1MZR#Wb4*(Gjr zd>1rFM<2D(i~cR%a`|d>iK)^b2ggyu7UyNN@i^Z`jvQ6Lp8WN%62eGT7AI*;0?O8l6_+?f#hvFJ z-)F>)cylu{#HIl(wviv-&_sUZjcc!#TzAr`U^BWo5`v2SrHO|cFoOwT(qi8;72ZEboZ=L%=|0b#+@f?M z?M2k82qjPu!#ixGG4|{QATdfInu)l9p(;eJ63KpH#X4~dovMvaCkO>>d0TI`+DcVD z#@a3R9@r+edGb-m!I8`>K}?%A3gr%m-?tO?3H<{3Fv0`+eTM+`0%>?Vhm}t74WrAb zaS?|E*l1Y@ID17V{#ncTt80+z5-krWP0$`+${=W0xXp9)z6o%Cx|#EUE-VNyPaJhQ z_dcdudOd0`Aujce7%2k614;z9f=*nPvH30n#R|l}nMgydR~ne%MZEkP!tl~x&2_qeys>;fxY09jsbMKie^s;dN2(THTl-b>wZN{!fEHY`Vl<8V z6cpJoZYm89c$9(>d}$&^dBM|dw}Y^XK0c^w0B4*gW5?5Ns;}&5ORz2Bbr4U%vke70 zw2vZY4#6q?dGBrCG(4?7=zA&QOJAZkk|+&HP-ouK7$N_(h{I8`x_C$QO8$3fEDUv3 z4j1(I7xAp}DXfLcR)NYc!d)_d{X8v-(+L`4z-2;TW-#o!9&p=zA|e;r`_idg$;*b)>N+Vv!I$|^nF(to&8*=&C@1! zM25bsaKL1W&&l?5MQ_XAaam-BzMR}-c1BW8ll_>3`@e?o^>`(;JbLll>t7m}+2!vt z-KN&DSkagv){lAeThp2U^ynR@KdE<0DoP8KoDO9^W)Hhb_(dQzzUQ-azK)d_CMZQu zaLuntOfk*`=duMc)9CTi+NoJMhjgfRxNY*K=A+rAt5PL&#-DKsa|JIRKD>-}4=OaD zv+8&3FRG+({1%l7*qQt)A3lR~8_oSe(pgz&dt6&S4@gsE$0CWOOJeK_RmK!{s(gMo z3x%XZ)0JF;r8&pEVmQLTVj|^m-y6}>0~(4LBAnR+*~E=7P3Y}wGcQK=ktWJP3>sl? z!`_hPq5o$3D?Axw+W(;n%vi7}nMc?NEu5)3VI-ZtPc_=u92!)$L{@xE~yxbzqg5^?cNW@j9m3(%CV8kVLsNxU+Y`B*~hIfVgiu2L3Q zzK5gl^h9q7%cxmQe3;eBfng@Vf84iwfxxz{gWOx1$pA6HNw-xp*X1fA(L`Yi8(r~f z{u?deS%((yb7NXI?#(7fkOXIbIin?BRL$A0ccIqE%9PZBVWjlds3PxEp;2HJVD{I) z-!Ty+D(P7A+KWWQ5ZOWcv&&Z#+v`I$g$x#)3Az>9&vj-QqS-lR$bcbH(MfIW_HSTV z9Wv$pLV5o;?1&z&VJ%shEO_|sEjgs(^<$t}3qCHjU+&Djn!&&z_F;bZIK9ZIAbBsR ztm%38s7d{51b7}(eI{i;doC?p4EKFL4Hx3sJ*M#h405rjjd)=&@dbJbl3jV!F8(?b z2I^1(k#n7{++OuxgdBEiq7Yb-KgzCu;EYlBXEF2;NcYI=4DRspDQFd+WX6WSl3t@- zLd2b#sEHeFms&UV{I$SQg^ieAzzmxt&|ZZxRx3&4gnm)Lh*s?uR6-?PtM>w^VF~%g zHL=T$d4C~1vFyJ*u7Q4VJR&UQ?es6MBB6;3D;u+4h>7jhOC_Jwo02=CAbX$G$+&F^ z7VeNV%!_-*A~EZ?C1)L5!boaSw^=dA@7sW3qGM+xu!WawYHLK?V<+7>>6Kvne7ic zg$`c%1FbS5*RG1tlPMVQFHq{r@7B--TRQ9Ewd}wJA59qjbwk%(EZMWphw(Q-7u#S- z!0bTBWN|O7?uWgW$lAO9C%{{s+{89Kauw{*vp-Q9=kZ{OC7p|)R7!;f3oWW)iTo3; zsQd-?>lQ^8&lL0k6;pO659tymRW48Z3wD3 zmfj^FT$j|#{@o$051u)}&iky(6{1Ev{FXD?0|iO)zkdmaOUIBmt*U!d)oAniK#AIb zbV4x})?q^cjU69bS^I&UtTZ~E!)xa2jO$xB?Mc7 zAw@rLG8c56qRvH_ff&fX&l{Xg#=P6318)aGzL6we!QFv-*?hsry@_)MIr;5=2Y2>J zm7qPlGJt$ks!;fTsTPSfpeOkwM=PKhUqaZ*4T5Y_DCWFH0Vj8T9E$aquwNCYgro!$ z_d1~OZtIlWEaGbO@|3zk$e;xNit}RNq?EHSE3^L{fY9|fE9RfZN#FY{g4b`P!&U>K zzXA{$en4*~lmri$q?B{`PjFUVkmPb*;$;4iQf}KFypG`vj!E&w-SDajXXT-|u2w`L zyYMF{b|;yIf-_L9PAvuZi|Q^X*FpxN><}|Nh8Ipy`Ur;yOP88HnWKFxn3zI6oiN)c zem8$4gcbRLKCO@*I?s2%wBtAr$lG-Br8n%9NNAFKXX$#GX@8wFfl}NqYZS8jrp)c6 zb6I~?^&se#cbraf^iIigWzy&2f<-c}LC3YJ z&&_^H%q2MQhUzc6J*c-egq$c4kb!hn<|&I?3+Pyl;livAZJgsNi(MEfdAK~KbMF_5 z;S9q?Ff1fR?%A##48O(k@$*if61qa6m3?* zDva#{{Y}MP2JV(Ez<|do>Kul@9<{}+gd0|$YWlI63pn8~@!;2t(FkVuSl0^-uU^Bl z;tJwz4xjyXC5gBqkqG?M2YeRN8Y|xxiU!T1H~jATLJ?-aNYdwpJeUjnm~~6~I#PCJMrgO=$|w0bv%=no+*XDvwKrL5BT zfKrZWHnI$Oe2S$a#8b&eBX2T-gszgbFi4%~Pu^4TH|H9jeAR<1=2 z7gtk3tBA(Nk=*&DoHhuVsqEJB2&sXMwyM5WQ49&7xQNHY;h;3l`K_b1&S)APX5(L} zX%*6rK*8VsIE{)>WEPt7>8@Y$v#`4CtN9Xi?z4bhHdAOmbXsrVNRsH%Lrh@)==S2=vr>!oov%~q6kTJr;B43L7YzB=R0@jCvf{v8>hS$!$AO#^F?r8D=oIXHSwH1)fVq-s7NHcZT6L zXv-sL)lfL{t|Y2rN++JQ=hlfHNjq1;wC7mJ>9@8cXAY2by%U=@EX8c{n2DW{qDh(M z!%^R+9pu2Ll9m9&xR<3q^qehARuR5aC-nUrHI9YLSsTW--yZOE9EiHFnhIuBYR*~6 zXv|pfQO)^<)0UfbNHq;;&>jFZ=?(zuP!0w!(GH4vq#c}|q#dUrCY&;jlevA{-?A|^ zvblS3t`pMP+G5v==X@ISYJRulMdxI{BDA9Qu3n~!} zItVJrkVtB}912AY7&(i6&A>yomkk9NK@uC6d?B`$FOun{spJR1pz_T<@Fy^Q~t_I{nWR@SY_8HSLpdDL%fX z6vtCrZ@&l$@;V-Fv`bjL{qIb^ztIX7PP4t$)Yb}SwGKUDZcIpO+*{vn?pj1^-E9`1z5N+C9Butqh+u{JWPcu}Lkx*7fJ}InYKaDH3pz(l9$t z&)^uF+i?-tkon$%Ht1a0GV`;ySMx~t`ejvZ7PxV3cD4FYH97P8G0`G-_ab9wt0B67 zdz(gITy$Hvb@8`x&%)k*hCNHi|9Jcx`Ne-bq{g-|iL5~TxY=VWzJ6EnS85mRpRL!_ zeho`@$0LJjmZNk*lX3p=vIP$qr0A2MlvS11 zdj;F9+y3UQxFa8g#D%E6%#H7r#9LmHh~3Akp_-&Jdh z@j0joE4I|o#ouSAe!ngj5{Nt1mJ3K`QJU+Y$ok|gc;^ypMJW2&Ba3itd8KWs9bwHsPod9P;%1Cso;qoVRy zj&o#f4-9%)4v>TRATdoXH<^wzg7IlJgyR&E&MmW%3LHg4h5^lZx=5vShP337tl{o^ z7sTF+WZVNj%}i{^FvQNa(8g8G^?utvt5v8H$)OY~t+@4@w>I) zH$nkYmnJ`T){b5b!r+r~`Da|qJ(>|pf#wd8vpM$jU{Q0qm5vUB>0)42@N{Pn(L*p| z5Z~F499;6aK_=OWr^aBZ?F6_grHwuthGtQ8z&TeQEhnBt`@LY93h|82%%MmjmgCh`FI^2l_CSi_m`Y8Qz6cts13g3)Iwy2D9 z(Lfz_xb0PNgHNA(8r`;s!3E{k^_Q`XRy=% z3~|&07aMmY4bieRS%@rgScw<2 zO+@{T>fSG*j@B}sXgRhStl|%=N_iz#_~{j5mn!P+3J3KXRL)qGp7|0|URxxkARUz0 z1&0<2Rv>aP2!Y^dW6%_I^j9vV_}{sLd1gBI_txq+$}{ty<-}=c_2>M~du5&u_`7j3IPvRNFA@x(gaE-1<8%m5s3fc-(y%iSv|)N5>4w%n{G+YQW}sEjE# zUou$%Js0Mm4_Ks|dz{p`HY`W&I;Va~8QG(}m>KiNp;;wWJ%=xPPy}ESg`%l+XvXk~ zeYMqbZbBYikocp+Fsc|-b(KOY=4*W7KAIOsG~pW&qqa!{_De2%@cNvd!ZU;38MmPGPz*iYfj;SE%dX_kRUEWQ?L|%0 zbvA(u)fAvD8OX4E45CRfe0XYxvWTYe=3*!gdV}cn>JBMq&OU?`*PE@fNYylXDCU)r z&RD#lswUy*hW+=p@2nJP?QDPb&(~61cT?)sN+#!S3$#>`;a{B;}LiQjYm!BI95l7PpLE9eD^G z=Mab01+1xm3{Wg8fkS6UT&E4t1ZNHLCr81R^E_PRQ3L*s82gveyFJq2?+=GaR+TZL zff!{IJHfG;K$|v^q0I>>VBjY~;c1YM%}YOwdZKhkNIus1;(+(!(P5xaJgT6EE}Wi3 zwm|eCoS+qGvK`!Lgg35P+z^>LuhVp0SZw`c2j#`nHalk*r2!!7u%38LNw$7U>e@*R z0;jf1)By7eNf+O~0yhnVqO^w@!qY?a5v{scLmwVN@0GuS(=Ta2@K<79>ULJ#tPq_c z87?Nv21#@A%|1y(yLr>ThKl(hSMl;q8cR}_ zlVru4wc$D4=>0C`Mm=>{VXc|z&6Bu)l5MX?85|j-BBDh#_!@#cL~DYWQwUKW8>3D8 zIN<9yr%Rfxq9Aa;n)KnR$Qz)?yXSQB$dgrwmS$iud?s zn_3%0hhqB}-#h|V-vZ%)jv0J#rxwAqAhL*o50*tm(q~4B0C_Dbx<|ZNVk>%&jH=79 z8kDQT`@rm$-#Cha$Z)*7anfq&n>V;JhxqdKNGcH9CE5#2XfvBSIMfmR^3etT!{Ym2 zvJ`y$mIC)SnyI87dc#sC3Py+EJ#ipaxjpg+#=>JZK~{Tt{fEU>vO~17b&IC-fi0lP zY?#L<>)6SFRT5Q|Gb6}OVjO1iqddy)5UX!{D$HeTvr_H42egpyb1U}rJ zv4+Dcg?u|g{>|v6XS9JY|75TJd;#Bm(vL18jjjm$d^(^jUaRh*ks?5EZy3@ufUqhE zw?Q$KfE?FQ2+J0GeccINNNh#I2-2bylgYl8kM>!;(%@;bdPwHTTVjFg9yihCaP4_$(cU-UDsw{(i;&o4IDb z%f}#uP+__)MB0(e6#n!BWeYxqv>9#HB z$~_9*@*0mXb^JxaCt~_dQh(J0C8qO_VDg@gJeO9C+QJd}#a<=2Clu!nq-oY|lhCB+ zdmKXW>l}2m+GQ|jUmmNfZt#-i*TYFx1HWUD1M8biwL?-p`txu6+x%_#IK}JX&Oo28 zOWvU8Ph>3rTma)hO8Q4L^5QjSAI^3EWZFi0h7Z{CA(A;op7HTHY2Dw=p~+QtIscA; z@&pOFu9|*E&e%c#G7KWFuS{%IIM&V7`!#ob%K+VBe2l=YT1qJhCl%?uFno&R`l;!~ z54y(L+~n=R?duP@ZBB3w<`}a+;BN$+x8u%bnM7aVnLHe36}HZTaE{wLRIWp}D)JoY zZ!z$d?F6Rf2*12A!RA3&@GFJcUuWL>r4w~A!>ND#{Rf%B!bV6kbu7-5VKWFfCAQ7CA0Tg9XT_P@ z{C*%$h);NhH#{-|{&IIl_D7&8=&c){HLo_9-4C+rR(Mhl&e+@rh&9hH0H-~uyp=xP zXJ|03KqUGrF?=S@>2^<8;PF_WxZQ!TAm5%WRgLRcpmk4FW5HlZS%w!Fhqac-!D4Ya8Qd*3G#d3~O9*EkiL!PG{?d)j=n z%%y+oEC;L1ai|eC5bFvsyz#~6)0Px7R|@Cjxe-$Se8SA{gw9I%&dllsSv3P{__-Z- z-J>_uYOuldT0wvsH_r4_2UHXX!{qeLBym-&yc0e#wi-2F(}Peigt}!u^N2#$FC0Yk zm@?Sj^%HIx=BRD{#Hg;q#$1@CfJR3g%aZeaa(&2ZXfI3Y*^vw|ezuYG{MUQ|1$;Ik zlR^S*1nfPT0{XWKH=}$zMuI%};n@_at~Q+D=VzFkfB&STyMOl%o}2r4Z^T|-doz9N z5bE^wTn`;)O_Yqy#!)`OS_&2;SXM{2n;$gG&~+4Z%4hwNOKiVdk-nUXmcygM@eN;6g5kFb{!A zSI#VpSrEM^M$MjT=v_jAe8{^IGf2U;Te%w8%^>3I!He2~puPDg%`TD0X?QW@>EpQ- zSZm+G{Q4)0pAferU?xt{=unv551(rAW{IrJCT`?@;uh<7T(Q8m9Obp0=_gUIl#5by zy&f;V1*1Y@Ypr39R2@i^cs+FX#9AoGOiCG?s+d_k3YPGA8H`##z=1tGVs;P!Wy?hB zs*F(>-C#)0RJb^o-b7%*N;j9jnM(5Af~GED-hYtgZ%P$Wpe7H-nU2}*dCVst0~ znn%E4cwt2=5x&mE5pQ}X@Wk~;y>PbVwDxZcXNKF~J zA}o@LUNyw3kVF^O%;+~2g1Urf8BcnGm!;Ht0PDYFF8@Uc+jbpC>J?xOS@*))--1`{ z;``zw#Bc^PeH(vCeAd^~Un2{}v-^+~rM^LlTZS>T!phm!8CJQg!Uc;SiL zT<0O5af`|d8tV_g%IgTh=H01V#I$Njh*N3H1}}|0-feaf&#(K4M~+6fXv0mm@2Fr@ zg{>lRXhhh*h?pvIxCs6P-YKD@LC_TSDnf_)$^3LcNECDY-jA8fvRD zIZ;iDS3wU=y4Ng{uw4$^c`<)Sas!oH=R=kuEHa8shYiJsBrfa1&gv2C$S;_1x5)id zeQZd%I+lwo;^-b?2LW zZgf!B`cq!yuo`1~-EqgEBOmvNWH04bY)C1^b_2+2zC~5?WrZO0-_&732PJgoiLe`Q zpY$V0_Mfb=ZPlVre%Oaz69r^K*hj)NWpFDZYRM2414~NyHL-U@;%F~pd#k{nhp(dr zRGR3oU%$D|iX!<0<UGu zXz+Vtb@-sgY0on$p+=pj^qtaehBt=eJMt`HR7++%5Kn}jF+31q-n+Ta-uX1=px6#c zg&eJC1jGm)*f_Ff35iyKCffQ9&uz_*-X@xi_=RkL0>e$A*+N5OVeSq9Nr0rEjZG&{e~%@+o9s;p??6BNzJ1 zvEbQ;Eej~L;iHi}4+-OihXtgIJx7U_^l+>?%@WQiq87LAMpsLtbqQUQA2Le1&ye6ahIYqF(BNDN`|fK|IK7b7%~r?^?1yv}DR>6*ZF6f#iaI*|#>Z zp^R@E-GBs&25DJHr-`eUfLrF(0bL%;e4dZ*mR2jh-jX=DQTvC4{B^9otA0m~;TLHMY?MYcjvFGI zmORn4(Uy4I^u2KR!Ay?s`a(Ez{H=3J0mn=sfVrV*uA2 zy65Unr|&+rKh|!zS#dX5QuI_7w-FL)D3A6+MY1CcOzww6_57=-LUd8uGvDne)`jkU zQtw$3k2)g99rPnxNEF!!Tg2zK*)5B$i`bWdG#X;&ezjq9%5W6*OoDX34s)dyh8}ys zFG`db@M!|C>Ca2K>O_fIIL_h^A)7EpQf;tDY*R#PLNb$a)rw|z!rgVLDic&hb%2>< z^O}ZUfp~A$Zp2|;3VSS|2e#@Zc+6o$1k!NoPBuyCMFWq6Bs)&(Ab<fPdpRjT^@ND)ClN1VJ=9TeU+@ew7JCCW}kjld+Uu9!klUKc#0LnHr~Wo7fEM zOj*XFVwHSH_RZ!k1H4(fs)kUJZ0Nv@F%(KUpong|F%Par5v?nLDR1~iyGSyVbxM(V zFGu##{76XVocMO{m0YN9>SdqmH#|3rG4ShA+~)re%1U2TOCgMj^Q*zc!8ShCa0+ zKU7-r5v?yATAh|*&mD=?U>_64sq)~76&=aAqXMpoA~kuDTO>B3NaiK5<~Gzx9Y?f_ zuTv#*{A_3m0`Ff96PWuCz-JFOkppyFXN+$s) zE&XlX9I$A0jfd+Pe(i?)-jJsSUq$0^Od&j19)}L#Q0bUHkkqa}Vuv9*-L^ksvjYTK zoff&-4871c1o@gOOjU!~)Ke;dR2D}~xWO`7Wq3^t{sA-Hu*?in!poP*j}i*iJ&0-k zAgbU`PFsR~P%0O@D!5GHegN6HPl-i!oQgek10nWFFZ;-MkZauh=9ibah`n)`&z ziib23bicbat6Fba41GCu--TQviH`Xat#0l}(|pw|zUnQxFURe`kL63@VSCS{G4HR# z16TLELRVVPUN(y06kKWhSOhCT61kf2xm3*wPGXm6I@ww+1@u#;bXPZ%v;z_`B)+(G zSS1wo4I1gu_Wq%1JepNZ0=Y(F@@Nd5{9V^@cC@}LX;t`FNEZyHDOYwK0eE~|n%*dC z81_H;6(U_sq{#4|%J6?`(*1tbc^bYU6(3%8EY8e}&fk*-_g2A880QkY3= z@b$?~xL?Of6uiebLCfIM3Yj^C`P88)zx&HwCY+{w0)LvNygbRYNjrK zDp?_D<t3MOx}AkzovdDGoxI9O`PDp@m0&9Gd7_a~FS3MZWi zrOnG*4{ufMGdffZUdz7scI3VV$NWLnxlfYMbPmn`KVqNI&$!Tk#J&nE$L;?`>>~pD zuh@6g0ja9G(L%3n3dTB2PesCg5`7q*NG^j!ev(}zh8&;moETkJ21SyOGHE=G-B?(t zqUQUlezg6bb3fDF)BWA=`~20TjXPPP)>yXme(F2Ptbq=A$U891|MYylgBpn`z&j6L z(OFr@MFkTU{QiCoCh|jdsHZ%h?e2rxKQ3SFW5vgp{hmk?LIM+&45$AUUQLf``_bAv zJH0S0E6K`Vs_hd|j=?w{yvMfx2KXFmx|f!gj{bi7zBDAU6rSBTIQb~$PfV1G_78ls z?(!>Cda=nF8DU+j>EXG5Hdk<${OiG&DWrQE)9@vkXnFrF8$kXw`A}T|*Vm^~x|$1$ zf&2*`+rk-M+4|ASEgj9qVi~8X;k~TLc}>CNy!}lF#^e%jlaa{Ao?)fR^C)KNk_6&BxN@d>*gdEEF{_8mfy$$bc5DA} zQh5K$@{P%MJEvS?!veF?K$(yeS@BQB-z^>uZpBH1q5E@5jB%CChwpB$TSAabq691( zX)^8Q@9AFtfS8?AE*-rp>l;5>Xc86q7oBytoHZBn*C88pD>Q6Nq$6$f&rphW#jLFu z04jH&32L*zVp4nT;LsD*os_J;wrIrCxeR0DtFGkz`oFi3P>qubz&ReI7^3p#Y#>OA?i*guXF_YSq&XbOZq)hF;)9XKGIn=?ao_&67 zySl7Yt+hg8$<2t|;)MI;WLLt&Qd`2+;EW7GM{6Xf9gAlIkGEgsQ=T(c?l_6{PpqR4>q0t@V@@_ z9G~!j*b7|eI&!sxRh@s-WS=x^Mp!cy0(pX?*+577pv46Z`h-5XU1E*g{F~K{QBQHn z$UK}40F43{jYQ6zK%SvlmKZJPfQ(smg@GE}+Kw`;BT`05%U}M-xGRJRAa+E_tRx5K zu}jy2j&Z(%8vCIW5h?Ub6&&Z6w#lWyF)yyd2{ta_IA^_^WpvcWTO7@cfjroNfmU4V z%98UcndZrK^W*&0k$;z~sR8H)xo!v^D63j{O7KNna@0kO3;a-KQdGrE3!DtxBoZ;R zP;?-22c4|Zcnh3%m2AOu6Idddc?6>t3^E6Y>M%En-~cpzXl_LFJQybcY|KnH;j$)f z*;MDy6IX>U#DjXTqk#+0J}N9CN6dB>fkaam4V?EOqN7*O;O=5-qk@i4jN)5Y*m6a# z@!vPgP0MCKz&q6mHI=Rs3iTM>!9+(E%+an`yRnMsTDJj*LRP&m)fv7ieU(VmI0y*< z%o0tfWTpl3NlsgrlY*)eO@~CnESf$D!Y#o;#nNB|3jl7Gj^$d)2&^9fKy4L7H zR|T<-XqP2v5{nrB>>6@r^u?^jegFe2B^%Z%(O55>J__m!R(gHRAQ&a1=zgb0~LNCs6Q=@5da_roqdEtqEu`Dzgv0wT7sDfhp^ z*#)$(yZzad-9nj!^f3`QwtcPL#>nu|)P>X7?aPrzK^c&NJn*<=Thr=JlYhgtnbFxH zV4$$#831?*n+e0-zc86qvPPqmz|1J5A?fMF6O%CT%VtbQ27#t};vu*+!Wq`&#A2X| z#(_+%xMZu`L_)@c9B)G``LjDP2kc*Ehz%0A1fbb9ccN`cz=P^F0e6ult3?zD-qL}Kg5CLEV^tg39T8OFpK6NR(;bG+{a(Ii(D%c^x zsdiEucG1hKls6lrLK_PB>is(Z9);`=ew$t{_wKt+8QoOBT9^7YHV2DnTJvrp28W~bCdB~flb64AX z+>pJ!(CaJoVQAb7`!|fnTh<;m1qeL~>_uv|@N5VDjZQQ4zjH9lyG==VyT_PFH&$) zJDsSdGF?h11ySaVq;P5Pq&piZu_`_h>%=h!L;6I1e}O!W2w)Ai_ukXo^S`o3I$LWU zh&XY*#_yC44a4yO$YFHZbrw1RerwJFS*7&-Z%9IAOUs)k9ww!ao^UV-uW(7EDm&{I z`Af4MsTW5Zk`1QX0N@FhRYn~|TMPwFy1gI_SV}T%&4S)0u!g3Kg_J&#w92bv_%bLK z$$~Uy6?ZF=jU^z!a;B30IKTrJJ~>pAXiFJaxPv8Ls~#lMI<1Jw0~2Om7YWTg_HawW zAz?c#s2idzj(KQ5Tt_qeJB;vW@+TkObbjvvwRt$ope-=rk4~8U9zz-iYwCgFTdlmnU?g+H!aG)${s?bUzGd4$@&l(+ zX2wtu((~(z@6rdoC_IhVp#)3va zcn@hZt}$rRK~3P-T!>M(r9J_4_m{^{ zP`xiOVIn#}nf=l|rUvY`sWB z3`G@(t=I#CT2nDsQSS!U-XEEe^~@!v<82`4EBLx346(8dnnJfSq%j2ThJ<7%8n-6g20nq?VB8j_!pzAWMm#n0gAgQHK{~eFOn7rzYKQ)rPU`Idx%VF^S#UX z!P$6Sna@}~+;W$Oa*uM_;3N{>1cu<#HR{Gb=r?f*^(!fm4}gx4xS@n^7n>_5sS2Ul z>#?OxRjVDQWJ2yyIVNN>B-1en+H|yANdc^AYc;4@MmnaAy7va-kctt|`iF|8+eN8) z2O>O5*Rh2Z5A`xIT>vlgz*Sna(FvR@t)>^JX35aZL|D-sQh0)g{+$hdc9h7^cc6P? z1zN*`a#U)pcXSrX55j5I#JrT#7>7=_KFN$4FSRO!{zTidj;>UOwLvs3Cu*OHsP>sL zbjGi-t?_YQ5Q^4~Arb+W(nT6CLMcTew-b0j1})yEJQn|)lSow*1)Z2T{=_zf%UR8` z#sK!njJ8*iq)$y93s{?FwVEu_!y3Mr`;25r0`_V?$RX`WG&+V(rs!cV!y>rP$wH3p zeb3k(OTt>0X&DLR?EM`J7n_)id$m5y8h+WqF)%3!UnLR6J!EfZG)&AykNZg|WS~x_kaD_^Z0->zlNhlqF&KFI$DrO8O2uiD!JE(v~|5@~C z00niFb`Q`c7t*Y&`E$zT(3|UtZ|sV$gx-R>HoZ;-y9sSz<#@3^8H`5j>QN~p31vC;#$E0Eu4uIg)J$vZ$ z*s_aO?bsc2;iQ7i6OQ-aU;E73-53W&KtQN6=)pK&t}dG3zL`-FKNM80FhGjK5vG9f z+sJl$%hky`R(6awsnCn_t@0)qSe?Zq#^5Pc{^|@EkfPDt6r z?EAeCKlerJf=F)ZPdUlq?w{T`4{O^CcMVD5coyyF^8?Gj*kQ7C4lUytm^eAiYo`&v z#Ce(5u;c8V-G%7BioM_8OSzE-5f_(Kk+QR8dq*dO%(Al`T2zNJrcHg?1Vao63HDb$ zaN~QXjP?e8`S@`~9@8;W)isKQ4T7MnBb3!SiezNqhc#Vt-mA3H>p`l;s;&0-%ONbs zll;_}K>h=pwIiP!mRrHM3nhRMW2=QC_sN194|XGw(g!IxYZ!H!mxzsGNW5&?BWr*c zc2aRTJ`uk_P{Uib4FIEc1+$bU+7>1hzwN`qKJ7cYC4fu495&1)4vTc#m22mwsIX;P zJB%2U@Xn^G@4Kh{B*N$k?z#aN?CC0ce;Zjr)O@+aP`v{gmQ)s0*WW1{E*;_baBl^jVdU7?_2;-t>e{uc0-kcUCKfjiA^Rx-fTMd@&gPIw!ZI4~ z0AZ-~9Q~?L85EFzMg3O&{58dK2NfhTynllD!mfD#K>6cTw04AbFQ2%6ewhRP3kxr=#qfir#7Y7= zphpvCNP^da4Gy@;_N}+)2lQS(exAtgjE@JZ2EgNuAjn;^gdBw+vnB=*t`HoSbq>7| zp`h3H1=>9hLJBey-!P&(I>8TsX2mBw+%$W$a^&?`w2YGu@VzzF9YMk~wo z5BdUjr8G{P@W{pValREn5%mk=8hX&Vd~Lx)j61g%<5qGUUI)4b3>1-YOj>r4V=%08 z%jqT++c0UFHV!3Q1S>o_w@wteQH18guXo^wjD+70_mc5F{sYgL8qDq`AlG&phDKLd z7&~zRcb*{0wXFF*JrHO8dP@F$ptlFyWrBo(cb^=i1~vN&_sE->cK!9!aA+1@q{Bm4 zsXjWVv}x?`G9HW@Apt2mW7O6m5e{~@-x2{7(nJz|9ii&PcGIDYTii^P@6YY;~(yhvZVQ z|5V5^>ve-Ju=6ti>OoD@u5x^=1GRJE-g{Ce^zoa87*Eq6@_z-pd-jY!**Q441n%O= zi++6{BJwW`6hyciAy)dU5O8;iLM3P}{OL$I7+0GALtf;++8 zU4ugi7Py>Kb>D8?hwTr$dUt=;YxUY9yhZsVzmOeEtXKLPqPrq2Kkc@foUDi&1agi^ z?E5+ns?jJKhwt@GqEZUFthhLaW(G6hRPn@jD1W-?EQ+J70qxNedecvJxzovP8*QOQqyJ!3EuCoBa z(XhnpYY=5^?e3u!#Sz=($Z|yS<3klTYORo@zc|v_hh;qrH|7FmtmLaN z>{-8`M$b0PpWnP1JtqGh-U;~s6c19LHgtZsKvwet7Ss#;_eMYxXK@@zhbz3AWyy=( zWOBVC&MP@aV37Sp(IL~+z_Oa*$7@s!hhqVF|?#@A;lnzFXz`uC=bhB$i2vj^FN6X6H9>C*xw52^^P z$F7&?hog|smYLmQM{^_UAHV)5zU{vIGQroCQ$4s~hJc|PL1p)`yh?FNC{{oVeQ;&# zfLCZ~>G28F{+1mDYwJk!McUsbwhgP`gCSWj4WoD&bt0G-@#gE+t*vrIK1U%%Od5PD%UPFtq3iH2S_B z^P9XT?ZUIKdTSHpO-(`h{b>KrfnIF$*YICk)yJC(Qt@qyPlx+oHI7Ckp7@ZNsu6s9 z(Dzp%RTB~l);nhgAJY}`#uFiylYcv*B z`2`1uMOppzGj5Wlxn5?sboL7K2MEF&Cm)zkhvTVS!2B6C#QPcK=@yNVBb6U``&-z? zht`En8CzHRk4wECVd7ASfN4>PTZB7Dd~L`Ltnm+3qT*^efLs~_ci$5es>;&(t`>xr ztz~6aG40|{Z?!+B2nA$tW6`0jCj%VYdV76nPEKIrzH^)j!_qB|JYK4)(UXPv=l9_@ z)1xPZBB_>N;@=PC1@*){UjfJv|G?u-0iw7GkNK`XYqto?!0RSgSEqic{5+tID?|SK z)E{b=q9MfhG1&5q^>s_$17u3puMLol|D+s3XNhXV`&96aNSWTb@2ooRuX02J9C@pE3keOT%uuE(9_wgJwg71bm!@<=mP%vMOVCjYOl5NcU9oIj2%G%)8bQKF46R zEu4j>(+eA&IuB36IEe_5haMkWUY}XeZyB-oMi>^S1t?U0`uX_B6AN;s7IM2wR+h^a z{Cvn%cDEdWcyTjAtg)3lvbWBymn96PobIT*Zi7L^WWGK$!4}(Q>mON_estc)I>M#8AYx>LngahNz)tCMKKT=&k zGeW!wxv$Mz0=pgy(m`IGKX$J81jfd`dWYr@OH-07_8VtrHf-yl{V|`jLn0i3bRGu~ ziU#+N5H54ZRYdpcea%wP>IYlNW+{ChFpFY>7MJbGRFFVRzmL@OpraMpn+5V+F89_u zkduwg$(e=|Ky4gHz#`Jo%PW>0tLUj~8=ULEBM?jXug`tCa-hJy#o~`R)Q7}+8D1Z{ z0K3Jm2L7ggdVG538Fd<#@E1nDeSze4Wg;HT9o)vvU&a3RVu~&e*dz+B*AeROSf}4 zBn=9vM5erIHGk7YJfi%&yWW_n2NI0Rt)1Ro-k|gUnKKxxdt86L$I>lI-2WN^ z{~(O42@!#xC1H)##bo=Z+PisUz=L?3&!|GCx~pXun<8x+ErKD>oX4z2ym>QzQWS&C zbfTm&v291RbSZfX4>~Z zy^Gygza9{Gx5|lr8CUnd7{<5*d^@(m?3mEK-}}@boK?Ei`ziZ=MVh-)hI>SEgAByZfJ#C0-jpQnu=|_J5 z(KSRsGiA>#IH5!IwdMCr@;=g@`gVZdUpQ7y`?Bk`s17Vn9ysL!PHhs^d@gq`gMxz@ z5)CHN z#FkavH1Yvw5Udg|ztC{_(2=MQyK#6m<2cnW?*5CR_w8B)PkY7gOoZ$|zFy;riIepo zBLZ(ur!;-rW<%O59YMUtA%uiVH|M^b6j@Wllidm%A~@jHH;oO7$o}d#q+7_W_TH|7 z=k(PDhh$xmFxVK4dqZK+(5cu;0F`ReQY}w{qx{6>c zOV*2$*OJ`2}95|5+RHF=2s5_(W6e6qTEFY%RM(R-ba9$-6hs6ckxPfx;ogZL^dS%EppybJ&5a-Fh46F#vJm zXrRr@{s;6|vS27OqIoS}Hj6;B=8DR@6igb{-2nQ#he7`OSG{%?rw{_0I>~T@Cw*hW zsf{q2N25o=Yu->6qakD525V1i2gi^vrWKFTEv7__KC4uQmMW_shgTtWsEN&@o;y!c z3w^L+buT8hxQ+uLpjNq5%wQKLUkWVmK~5heeo=r&{^hfX2qi**mQNu68a#I3x0@d& z#7?#Dd;k7WboDI7cj-aVZq0m{)~KtNJ@M z)WTpSMkd|8Oet-25nb@!5~+>rct-5ho{YqMR3ejpNA)WXRdsBMY82uQYcst-z3l(# zb`##kt`-U9r>q7AOH34&w|2xtKARTypZMDVd1E|QI~j(VLsNVvNEDWS5`t2`hynud z?wnop7a6}KoQ(bE4@PrPp|_{Nj~N2m}2J}9*6Lq1)? zj&1{krMC(g?s289BUvg2tTk}U1E1|=dE^-LI1MhRHDUhj&N18(O6teajlTj;Kloko z1wExgQZPEZ<7MCliO*SVYl$&4sm-`R2pOkABj$1DC(cERAZFv)dzLATqWvi|j7!YJ z{aO8tp30kBDNz%ZrM;&xCJ_qeq0M~Q4YJYU#Y?MSO(W(F0J42ve?gvz3euPF5>poEOSd@L>75RCNML}>x)7|CG(VWwquhc(&Elxx8i=eqEY z|4knVtDXTnsBz97l%YZVV?pjCB_T(wTCZdWO_5hlqRA-0*CeF@-%21S!71kts^iGQ z;FLut$y>LHpnS5@Bq|G>qq5cxFE3;>z`anE6G-?5Ni41*Vsje+WwXaXcfV%fj96|BhP4f!W96bAiGk?f8|L-EDezPK#jfVb%ux_dI+-!RJoi(kI?h>8Qo zt+=rp-AH-o+)=rV=x&Z?S+f7@c&%=89yJcUe3urpC__pp(R~kh1~kcx=O?yw4Ke3) zf5DEh#Gj?83|!J9UI+sh(&%N?q)6vTjsC@xyA(4g+W>}d{7e|V!5ZoFn`5|+m#*)j zVUpI-pezna5%6;_Ny}%SM**T3ahl*qj+Jm236jNR{v2!bq9MhUzq_$3z``8C*zLQP z+z`zH{}yFTvxoMse)w(FO;SArUP$ZLOomzLfFk{gYOB@KRV*X}c1qaN-LY60AQb8eX}nb*nfPXTIDHD7 zQD=PVVG87fA7fP8h6F=zN@WfTs|hd4_%Vf=?TyFtKr5=q2Pz_8-0+}|=JOg5c;xRfpkm49lyWqP%ETYh zhid~Riv&@r2c*%O{>f#Ksv#*6bP}RpbNyfyRkHP3N#Kq%3wjq>MnRD#IX!qzg7e@KSE{5E zOUnzDc1S-^O{#+XqMc~Ys3@*po3aRNb2!0T+Yep z0%a)MvL3{f5Nx}D3gSu$M;u^m^PnS1H4Nb}ISoqm#yC-14+>{sT?qZ)SSnx_!!(qk zXv#=0c&>T7+6J@D;#F=dGu`P}p zul#S$DD;$$P8fx%FNG4^2^Vh%479S%U_FStDvqWJ&`Am}D-<(8yg(j4QEctK*)S$z zU5_b8P&fLG)cdn=79^4oX^YE)qjhubj#K?}sF*-JTBmLI5$0PH;G~dR>XS|o3d2pj zRD3HBQwW|0X+>~{2EMCdlaMB9{-U&fr+V9*Xa-yL<((q=ADZ|Wjp0& z8R)*;LfCko;1}f0u?m5la&Ugg8qwtPz#z3~7W3?gUOpQFH=YZfKK3TE(#KRd-zkkL zL?-TvF_KId#;OCE+OZWYfeb#*ZX}}3_%*U|H5|0=sL+Jl?@y>mb{+T80BOd9wKWLy z6>C3jj@b~6HuNjRe=0c>ajxFP{EN_k1END%+@)^EeBsV_E{j1>`$t6+3VAt%FhV<%k5^$VVQS z^V#*Wja{PbO7y8@U}eP$Mpvaj2U2N~wNkIz8~ZTi2pMnT`ssSiSy) z*j5+$Kjks-`zq|B=cMEtU=SKS_uRXA*|ddr>^p&%l$gWw-0>hm0tlfcCy0v-D*Ugz zP46mtKB8(Svm&;|PG=!>G;cv3typZY>^fCWClIaTwOHeVUG_UhBEUX4*+-Ea`8gTi z2NWsY$)5n(@Yd+EMIG;g=hU+bDdG6KfCwpIHo=zXUUXqnN3;aU379%Ym3NT0={bc% zJZ##GEQ9X=KLk>0qWj!s@9CKeS>-UAceNNEa0g&8Va~mdq@!pl6V6+yU6#KLu78)z znj{$1pOZ78TbVUEmhXU2x&Bqk8#G1W#a6OYUV(P=7^58#SyUxGWcO2u2w+Fs+74XX z(;(DN5A7W4;Zcxb4kp{^q7kMQvdbc}HpS@0;VJ#ITTPV+%N1by2hcnPg6#ubT$Rgs zG;ynDl+RR_gjaSZm9;N7oAlaa5v?fK`qtTu}Cvm!KKyse$c!$%z zHuWakF#l@N+x?LUs9C%kR4JxbJFeK5DdBp?IhZA2{iwZB#Ct}jUH2o^B5$P{3Zg{z zG>or<5Z<(OMK*2*6ID(|)^A0J8XLx+*P)+INqy9=KyS^6wZq2p853-n@yRAup|e`J zMowPCiMVecUW2w07Tg?3(V0La_GVp7jhr@PxWj~JatpvM3h)aEQH4wrI6Ce-IAssG z^3AzK_OG&|llglxs&Oim=^^>uwWq*&TmtUL|33Xo4RYknicocCA_v zT~iH5AtJXJ#vjoII(T8@fxv|#8VTK#-%(Nv4edFU z(JhA%+FVwUr^8=4yx7pLN@;KWg<#!qsX;;~kj(0-G=|ln!qbeCNKF~bI5_)PnU4Ux z5x(;;D0{${jOpQM2WW?uVI-Z=X0z5^U!on+lKApz8o=@w(yIJ-fem{SjV)~&jD|3; z!=aTI;e2sG>_Zi3FVM%2uWivBI`Jo5K({FDv%dXFOroT6C=ruy zEA@5^=Bb)tyv1|`9P{_V*$_mRC6UNd{oY_w&Z7;5hC}Ia$bT3hq=FfFxa2nrchnY{ z@g3)A76h$DPR%NaFgX;&c>wVu48HkFPnK&#bA9Q{VUl&3^U=3*0{`t{}PHtWAKSjOIQk2E{ffM0>zef zD!_x5GMNc@3Db|Gac){cNwZtrcQ9ky_r~&=bF!R=_xGV~%a&o4s>1@h6)~R$D^8S? zq?ALEnEW2&ucjb8Knl9cJ;^R!ehXH9YR_ZJ$jx?SmlTmm?qj*ELz^O@Yub6)|Jo^D z8E&5aW+(G4PNI@!y@JUQxOF&nz6W-SVt@qqz?g}WX+3!1PZRl%AZn!A@Gj@pdF=T^ zdV%MC!#8dm2Fa)8H*TC~h`oMPyZl^)JDzBE zJ`4P4V8yc}j8RIpj-zhd(c1Fg=~f+Js^_EYS3*y+1E_u+(+_6c%_u4~><{<@{jJ)s zsRJ;@m41e5;!*`KA-TAZjGF~|eiKthPpyo($=k-LoxU6>g-AaBV8t`7o!7<+UbgLW zu3d-WP97$j(w6p$rppM1*CeER%nbYwTl)oNwzqK2G;V{8MoD`f3B>JV^VO+paC0k? zRmSw5Z(O1P3t9r+vr566I$++F3gfHcOW%`A<)uIq*dH4c1-aNzn&fzlB%0f92;0YI zk_$VxYf>iSuMv&w$T8jA0>$msAuHaWyU`8@XJUv&$pt^r4;nbiHEe#d z5^x%V(G??G8;Esvl6*d!Cjf-M2_TcH#to+%p&OO+5AVbHbdmoZd@YuEZNrYbYL(&) z5JYmCx*P~G5jLveDo9);WDa}aFz124EgUvQ(&525p^hdIrxt?w)5q0wg@jH%b0M12 ztA0Op`;SBgzbI=QuQ>WZNs~S*iGiDUEs508CQ0~TOOia$n1NmHua-%ykLJ;owq=uo*OXqog1+3%?+4Nj@3HvlP|wNEaibi{oGL?!zjN`#|TU;V%(2d zU|1%NW>k+A)YwuzFZAufQPA(gSNhnbo_?^#`Cn@GkRK|=P#-!#Q4aNjd5VDs(Q^b{ zF%rf<1{Q98T)x_@D&iS_dA(tZ!(SaW~UAPBSMqXYF5;Y$``5W zQIf!kU$tbssu*UmSR|4_-)XtBy(94qDQH%0xZ|xRrRfaZaKU^cGUIF}G@IX1<1YrK z4?4dCltf#wb+&wE`~s zBL#!-WOvjUKJG|&Q8WQBd5CccQMJMGJYOw1)ItStx?@gIc4;vpP;hu=VkG-z{PK_v zokImwVeV^(6@W_TppJdIPf$SAGrG0H3&t_SV>Eu{vr*aHL;Hr^nOo_^((zVc;B|0%-wZsSnqJVYi#~ih)QtsscLdkjf#g|A(YH5GB)(X^}Kl*UcG%8G`RByuH1S9S8u(qT95ChJP+=s)>#jXPpHpyjsOQb zr@*~U5|+zNT;@|h7R9L-_wa_l+F2(XSVS^kF}26%U#6&c#$ALLogm=S-;o%G zTuj`ct=N}rzZ(8DZ*{yA5M~Jj=I7 zYRA-{?d837{~fklV-ht48Cdzj#sB}QbOnAq4*Xx@{(zYI#K*<|OXT?f68F!$5cRab zw($Bg*_O$C(Db1nGF^f|Z0&?VBqD4XY)*^*EVmX%N5{{Z>tBS`|GHz$D;jG5(rDg# z7eu^R_qzNQaJ&`JeYF*ksA4)=MJc!ua<1BKi zlhY-}(|O}GTwyHk(T(_0&ovD>UZ$A;%T{-nS8Q{D+nw2bBD+)7g?PYQSCaP|Ch&3D zxTr9M^Q|=1lg`)I_2Fl$mrmk@;Y9Pc@hLTB_iSetR=>50d<@MXSW z>~*8N<4VJcu|LL%a$Bp$!nc?4)&Jvypey0Vy)&*Jy3Rb zxrhjMcDo-8Z;^Bblo3;QamwF4^by>SwQohFs#mF4nY_%Izv;b`KxE(Vwn!mDH5X;n z$NbUrU5!1+@+nqOhxEkz*X)7$(RIXio^8`p>Z|NDm*10q6TeQD-}?~X5DEQmzVzurwpLN&qBaUC?o=?*ewrWQkZGMsEbGNAxY3?k2T?o%WyrOUf)YBl!X?6ZZqg`IqYXV3 zK972R$6m(5%bgh#{UGmzp@4OyD0tFJzr ziD62~&kjGbRbF-v=lO(=(QRVQtFx(+)~zi~MKQrm&ewnI%40sIKh#adT=gHuM+2s> zd*1(zmpeY&dQPJXc9pchK8ClH6FzuMwz(HM9d#1&m*U=rJm$KC-#nHpQAGtFi!c9d zqC4dnWJzF5qc2fhVgO!*q()na`v!!C_j`ov8(tp|H!mhlw}lQKI~i>MZD|~AQ|M-s z5C!Z%Ht^i8H8kxeGB=JM<@Cefy9o;7MP!LjC;5Ac2XMd21l;T_UhI$A9{V(zn&{Vv z)?3?f{@XAWUYXcVzk5Gq575fqoKJUqQn(8DQe%BTx%*~F@&35=o$LNd^Y(mw`R1Oz zbgb62TkLi#41GUs`VO)Eb((zVsMyjbqBF5uM1(u?Jo{3(%P+ju#uC!$IcWvtnmJM8 zQ~d)lTnic7YG)MB*%a^|%B?wf@%E0|E@;@-S@rs%GxQC@HTrvEj@NeSAU>wi;?31{ zTkEBVi{-Anv}M}B?}rD>)1K7TwfdDK9pPV(pEsLc+h93y(jkErW^L+FhFY@U)$N{U z!@{P=2yndH&X5ia#FFt#%ZBUpn!5)3kW=Lj-+A zGKdpwD04p^t3hgLT(q=WcUP~<-3wnthpr_zt7R19W{3NX2uI&9x0$Us)mu%!-cwFF ze0A!4I!x`j-@aN;9q{(1*vc$N^JYsi4xk`)p~Jz z5i6c}}g4#J4$gptYn*x1$4FuZ8|5KhI{3%2!;r_j+-G8Z+@Qb+b z;}`+g{V{6>(3G6W|8-IG^)Mv+p!!qe^=4+6{o3R~&_{E+1dO2k)$*JG=4&r0-{410*pb|^Cr_UJQY=Ze%$Rh94ONA2i}Xhlxnu6!-^g#=q@zCFICxHfe1zxTd4k*9h4 zsgnw>W>#&A0wmmQT*8l*rVL!Y|8`C1V&F8c+wudto2yOkj@^vcC~MiNbpP^hgJNIl zs6*3C#apgVVra<^N@G1OukQvj*l2JCUhBDmpL`A2H>CRT%aQCjqgTU2Y)re_@+Fz=;)Y%J5k~6svq_+`L-AD^`Jt#Y`R_t4ium;*8X<`hQ~j+u5xW~ zbbT0T{&P4#RddyG{pVDS>+up{QoVKQn}1hxN>_8Ehn>$=TeZ*g`UW!f@XME_O^WAd z4&tXjbJrp4&^Xb5iDD+5bwkgXC-3X+Z`;J#SOsq70fj#5{<3o2nE}!{jmHHzh|3oM z8$Ku7(Zw~p9E?40l!M#FBDL?5XNO;kbS@$(a4FqM+6vW{5qO1`PQD0#T~2$>n_htY z;<}+Dr{B`E{~dupWm!MRe?D{y&zpft%2eOe30HYGH(K62+2+w^=;OVvy&)tN0P;3o zl^>JJMtoATOz2JgMyn^4z_=`*-$$f%wO5f%h+AWvgIl{ft0e*b)0*|Zx8GWbL>&%n zoi@FH`{p)!cLn`AT1eXVqYn4Z9;bq6KSFauyeT*p``w4=HCe*;qV0Lbdbiv!d+NpHYK>dv4)`=v$?Acv@baL}osB z#-DRewGlL(2F}qvrRI8vc=`m|S-IPy$OC08;EW{75U`ToYH#l0i&X{*)#6MXnekHO zZ$z8D@hRfAu4Wiu3V$LNTkfM<==BlO&g33-0&o$*6^;ZmDuyZrOET#{!6;6vjNGfy zmXZdbVX5xFE(fFA`4HpcgZ^;F49XfuD#R2O-(|E^rcLqLTnyFF|`kUrNx zgsYy#$$O!Iz0k4X$Bkic3ToZdl_ya{hcl(MgA%KPDI%=`%TSBra(eaeMPp0E+*(!N zimG+f%reGN=Kna%6t&292H_qN3+EeeqsVIc4Z0R1nIrE?yGW9bg;@;T9Jb^!=rsx= zVU5SpC4cLjqphpwq=d1DXK8bAwR^HM+7u?&^;8{LXm2r=+bEuV1UT*4yr9*eXcrN&uV#}fL9sw$u(b8{LO&*5|pUTQbf@&x?n zf=zXP!znG{(bX5^o;~}pJ*I_I*R>K@#58|(hu{3f0`BM4pDVdWc-6g79^EVAxzqEV z6~RU1X>hG)oz+$@Cdu{Qo&;CLT3zo72dADW;q8$M1>caS>o9=sDg*& zsVvko;eR8SlYG^!h z%kE3Vi%FkQgE3;ozU^q;79A^%`09bzVejc_Fi-+mMcv2JFCzTnzen zN%4(!eY3d{%pM%h!DtdgJZT&(xu2Di&gjytd{_=VJ@HDOoOv)#J**-bHmrWvcC?y& zCn3a>h+>0*?{&pD^cp}kflHglELWgGNKFQF&WJ()E9RPQq`7|yqnrNUtQ!5n#lOaz z;f$L!F;?QrqoTdDr5{!H%%QBZeepvpT|_#1142k z1A825D7`GUgHPwD&Q}lq*b^NB4BikIUQK_R)PtlV?YCnQB@KR2)`8xrS zE5nJUK4oE4ES8}Q2Q0`r4`s-dXMlfkAMTmx*v8e#6@O^0x{*OZw#-;Dpz zlA*MH7;Z>zRKwXo*_m9!l3+w&Vo>3JM}J)s|xd=o59V@Ad?n2<_E>~h|8 z8o%gN;zCV}=ynvtCgo_&vClN|tihB+vQaWIXvWfbj4GUpU&CPIN&N9hx6qp0>|hae z*UDHhL`)JyfCjN=E-{ns#ZfdF@8wc4^?@Zx8MJS}+TDEM!Dq&W`MG}cC6dKZsvk_ zU7X0$5uSl320u}2#S2o#14$aEq`#4-e-3DUsd4l>c9 z;9pz05GB|Q>~YAo+TNJUx|mB3hz>=30$5@7rm_Z#%foea6|Qzs%bI(Br4wxR#4$1D zg}KY1tt;myKh}*M$hqWdQS$FN6aETbCjK1*Y4`4d%Z6a<8~)7)U6vTX^g=Q}si5m|~H652Z`e(=Sl5 z3Fe8%>1N4U%A{Rrt9v8?wrK1#Yk%E`N11c5`a2<^#yFqsJBIvroV}9_?Ebsu^XzR? zL)h^2!zy9Hsz}ltjFOJs;EfX65O!^OvpaypA;TI7kbzT1!sH{3ry;IzkI`gYk{1C; zFhFWr+po>_bHaYHg)yp9e8v0&dd zYzKWZJuUYPtp1?Afp80M#=hje{unh%GK^2Z8}B}iMnu>qepVjdJxXCR($frfV`g^w zVa;11O|F=h;K_mQa1s?N7ntSD@-gr}GnTLL3!`Rc%+KcRM4;HZsW`U|>E$C$u~0C5 z+N>)Q$w?ASquw4vaYHSbO~wvnWqs0HP73Sb@GAO!N^LxX)NQf3t(A^x_@6Mzgck58@r`+@B^j4wiS^X2uKjvB zo_cyK$sscZg8!#H4euaYU*9}(c2*YF6pEA|UCu{?maJ!z3Le6D(OXZ01|6X}Wxla^B`E@Yw-W=Z%Cn7FSgm;a*R|$bwDZzGh)i zAWoo5m+xAIn&7}1S*d|!8zqNI@k?Jsuko?27*toVqT+7&nM|PG+u6LH*uC!PTCxZ6 zpV6Tn>Fr|jMO#-XA)?LT-gvK!JKazokeMJtXfCbG-+aXV{FITld}`@>_A@Rj0qSs* zi-$*D9Ze42qj0ZuFR-zZb_Qo35i@G&;2qA-_&#aS!lH=3Jl1n0Xv*R|OFuMR15@TU zRN;6mjxB{Ya8e#mHwvvBCczyYi|$KrBD-YH8lE=_?PKGk!tN-?;s&yJc*z>eD$%5a zCE?sLCGT}-!p(aQ?kk^>_Y3#W%eM2c%?JU8>7F?pAYz0&zg8c2_hm zfNN;|<0$^zAQaIpLwoi_V)=pv2KO)pkJN^RuS(D1@lGa^kTH&W){+e)hN8Wu#p-kr zkL;pyIJ|uIq*hhlM~(r^y##C;Xm5C`%WJE%zA;yK!K$jInjGt+)2-XQTG?wdV6ZZdoINWTZF6AM{!sxIFPW4z{T<4Of>*?uO&(>7tQm~;J3Qi40To}Je5GzqHCT*v+jfFGYM(gsHHLoeop}Fq;c$RVq<`|yzxia{8FY0;2Brk2%JRY&|7lvl zTe#oH725{ignv=l@+@6JI*P=ajOQ3GLO&Qx`s)66)Ehn&j1Pfl=c7F35~V{vRM}J$ zmzUS>0>eBr;nsb%Cm=`}$zz>GbaR!iYv6+y#b>0`V2r?(#g$+?UoD(9K0l6ZtUQ~| z5FnsNU{aZml?)GoXS{Z$^T6fa$vOB$E6zN(kQK2>{eQfR7rH5dh#Uz=3e(r_Oy z>!fn91s;G@rU;L32WwtMds~4!lY)cB4i1$Rv-$lUGY;oaVk(F+~H)q zua&B2v+AO2N*+9&I$Ojkb`N{lYa5HFxQXv)SFw)Gno`0L8ReRtDO1lkcF95M5{8WcH+9QFb~2MzMeklT7T=i+xKGO_+e*SUDg zz~p90fi2UptMBB4iMd+?*CEq+-mjuOe|v@#ueJvWmrZ~`UC)Hmc>l;fRP3Q-D%Cs) zD4z|sou=($5xEcH80n`_Wui?|MAs;_4T4EEtMVj+c-ye)?cmBZ{E2CTr;*m;9DchC zTP$=udY><*wtVGZ{_dK6w&O*cLQ7pwcB(*cT3sxY>^3BRh0@P!&T+fIcGK6b6 zOSBJ_;&(d;6QmYeMeHLMDhWiQJ@F%A-a$HaOgEqKEpm)XC0O2eSWq1&h2;&`w8Ozn;>H__$K4Q~rx8 zjYZ^qy~mad&kc+g87y>i+P&^iXW-$M;Te*n(~T6!fy31)vEyx!j+rC+&|XP8BgxbJ z9u1H1kXG0v)46~r&+S&vC5jBNWNC&Mk}K*HeOyeMeXr-~1ugAPcCylEc5Y_XSW3@% z-^OdS5cxa6%mM6^Am~K0wK_In*L<3@ zJ0nDXO;&{y6d7Z}-5VI}xm1Zb8G$M1TqsD3z{={HPbn|bQkdrLV_%9 z39`A`A~|MgQAdUnrGFl-Y@|T_jMGst!OQ~BJUr!$TJyCKoJj5(yMz6CwkWHVy*NmGM+BRnRGil0Z;J1#>)+2K3# z@JQ*Al-rePw8$HL?A3N(;)~a{L*$m%&FgF}kvC7|ZbS&^eus?$?G5eX8Vkug{F}U2 zoXZx*wRJr)6mNupCJG?YErU6acCJCMnJ;S|Wkdd%=giRJy9Cu2E1-EsE@p?3A1~@i zc$|^w-9?XEV1N)x7s-^Bx(oV8sf2~1eW)BQBMb6gI~N|)WE}H?G%P@_c>(U{@b|R5 zZzzTtNDba9-bejMy%9jE1eF+^Vq`7&j_613iUSw3iKD*oFTaUOrXsi@n7UCT0&wJx z>6e~X)~Z~5s$;!p$ckwczhzUt(3^cXfn)L|SIlT8R;(}BPPB-lRiKmdsKb3`qUF$_ z3~6oQo3A!LKVumzIFrG966g<~hzRx!jOK9NZ`Kj$YC@<4BJ9m%!J(-{4|lA=kzFbc zr7+G4v~*#}Ka*;m~xPDdbczMfMz(W>7(*AFNtj|Em%A_f~(VSlSYbc&jQ!^r+} zg2I?t3sDIo(>EfHavw2EsK%vVU9$`h!3E>~POz_!w{i2OIh~&9az0u^MCfT<7I)*U zn@iWp(4gY>`!YCByI(A~rl>{hUYVuA&MC`c7|H;J(-#pWAQmh%vhQWE#lXu9dRM52 z-N!FsNIcPjo&MpBo}jFmqY z56lC%8SaAyX&j>e$zx;k&ejODmBH55Iu5*D(m3RjKxpsW>Ydau)M~#CoqAl9p*PX~ zF{daB(4uK+w&s}P?O8zoK+}K+PhKFGcZ%>UObd`5)->hT5JbLbkJ$0`V?VSndE|9* zhu9Wy1=Q9_k)+2Dnm(3fNs*E-3CzxirQqT$On-ENyEb<-o#Ls(VveJh7DM2qfhQSW zp_VQ(v$`c{=RJD#jxVgri5_JcOjqiTkx zu^&`Jal0y%ceusS63Vz-66+!bYdVhAW0jAye^|nh0+kei)GRW#xrV6}A-WDm?kMg~ z9QYf&<{cXFiP(9kh#JrvIJco?vR^jUp&rvzvg2TOKRX!GQ$o=#%)*e;qwAuTf;vW*;C5+c#*fV_NQ4mkZ_ z(iqj*WrF9IX88BQR(rLti z;p-4n&Rb_J_HaAPZBpLneIFu!8K*U5fB0Du$-_1+DNKB3Jg%}o2O1Ub`C4bvHHD~{ z+cs4GALt8z!th4{XTugPLgrZ5b!q(g7vVIp#rA(+UNe0Ya! zlHdN`)Nrjc=4EEmGaw@!ksCD>UKDIwR=q<+m0Ue=@~kffpt1XxLosRwiKo}54FpQ% z{Q9q&%gxHwDq7{+-v+T#!}_LpKS7$%4~oHI6p>ciSBFp$Qnzr-8Lk>cbtFV+Aozp^ zs9g1JYOtidUGGbF=$j(4-h39cI|`%%zOkWL7Zatta~;5@O6EMwBTbEfzA8B6#K+>8 zBJ#+1C#JO352lVt$Egrv+{<7>LU?RRi#qkGS2V)40t|mus>`n}(41Hy(v;8;l(T(7 zN;vCHwy?Cf_^-olAl}hBy1ku^==Dz0j^aJ)81r)PX+~6}u<(7BDo2!L(2eAlc%>(z z6!S7L?s%oqN4U+14-ZAq-NS=Abt1nqPAWf%J650Qtbmh|$XacQPA=aJiDy3ChD5oE zY)Uq!pX~Qf8jijhly)WF3YFo!h`GMLk3S;+uZW+Kb)c*9{;pI#46*Hz?`!;%XLV4V@wJ1lMqmd#GqIbIBp=1`*YS zGVWIq7mU~*sIDQi=#!<@3vig@NwB48(^>c!Vq4rV&}~l=G;+}@#93*pv3k~1e}EPB zC1UuS@a88>NCOY6@Os-B;LBizsI)%b~lK@D}4sB4QkjhYDB z^kjUsS1T=g(b-A5XV_99{Q@!0|KR;GBDr-6L?$VZbTspB|HWx!hH@0M^}}}{5uDIy z)nJ;|{D*8$tyaT;==}s+bh|@7tWM)>o($iaxQ|U|D+8{Hk*v z+TeV!i_gs0{0c2!!cfpTrH*7@q=zgrEb;oy9^lSBzVkk&tKq7?R#+x{qm_;7!%~t+ zcye`wlOM<8@AzK&+nt|}(grU~A)k#z`-lPilscw51T84)^c-;QLFAst>yAqxn!!7M zS*_?qUJz0AupTMylmp{BM+kYQ>Wm-kocfJKXP_I-A;4xk$eKnpoK}ngh>%90e&88%*ZFR zxx0Jp?3+bFi#W6m*Ymcvh&|-^%5)71wq_{)An=vx5ElkA%ce_!eu>6IbD1r#!55J{mH-RMU zBln;Fa#m=w>PJqe^uI#=y*(ttg?ce>_94C0@MG>d%yLOXklDd)t&)*X2nnh6|!?I@P z);uXoC1w`UgbC-W@mOZDNqFMgFKtw&c~Vgd;T+{`!GlWSMN=wXBkGjo!Jd!UIkOz^ z2iEuVFQ>Ic{y#7W)a^#vVoNcvf}=%-URs@`@+(oxRru_$w_9M9!lItiJ<(`C;WuPo zV9O%MkEev>c-G8v$~KN;xS^ld|M~?F`6W7Ic^S=>jJyZ$dH_bBwK@z^s3*fV`ariF z6mD6_*4~8IdYSi8UCI7EXAArv0GU8$zXB~y#_U*JO)yJ{c(#-gX^dE-xhYPqhpyyM zEGth$OSmtJjLcEMQK3|9h$xmAp==SOZUqWOh~Y~R#-WKIt@V#aeE>&*?%Wvc?kvXU z_6!V6j>nd%DcIJYi|sS=uytlW+B3r8K-cz0`lKsA5{oM0u%IXsUD-kC%nHE5;xMvi zaxzvnrIFIHE^wlFXo(NPoXkl0aryA1I0)61p*+G^iNcKfEOfUQVE&X`OfLvQbBa3>J&h3O=Y$`=`5ffM5S~B$c@+Ae z+{4J@Uzw3T_!H*G_=KhV;8iWyJ^xS1|(i? ze0A-D1-kz*8GNN9Z|LhYkJmMLFN`B17A($)5sPlAvSCZHV9(|vLurIM$r#M?alIgZw_r8|WzHvB{)l=(PeX;mWDHsz2N zle5YEidg2Hg$|a)j-p7c*%&e>KNeZ`W~46EoeVT*VdL~HtZYuhf~q8xcsn3KBt^Kc z3K@1bXif{ooJoo3nv#Ov={Z=|QG|is@z}Ja9y?YxVP}5>24-fXCC39H4*Jkj=z`A| zVB&;ILbOjXJoL*;_*|4xaO3SrQU2(ACfrIc79@qdQkZDN2;)DCQd=OQFP~ zqDZo9T0Uz0ozRsXik;K*upl)AVO$Xd!}fe0Vr@)O;9*M!>Jzc0B^~?c6rw9P6ytoH zNV<^$Nj22N@`M=|W68t>EUigIPjL+Ww}{t~BSFs) zC1YLCQW%D=hGfiZNyV~RSyCxwr zk5&V;Gsu-t%JpGwW`H=1LP)djtb7QihDF^*kN$AQ9!-A4ntgK7Hnu-)e3M4Ocwjl_!p|43Vl-qtekD z?P&q%s)@t=DG6B6nuO&uGqAb05J%Qdz?-{TaQW~Yd~$I)K6!IK_IA^iMKr=3^oc|$ zfLx(~N~vOuuTm)>6bWH(XG?zi;Tve458>HEnh(%r-)Ln(ZyFg!o{pA<3>kd!2=Cvz zMqHg87%@m9mO?InMFjOA6i8ubtU$JdDKi4+&lMt+Lw5@mjM_?zY0+#E!YDq225B4# z^0-n|iu6z{P-DD~8M4KO+6;+43ZzDw2@bx8JMzZc{lmGxz$YXtQEEhJWzLMEw0>Lx zQUr2Dazq$Q@eut|?W>FM#q#PT%*hDFqQV%|d)i@EQV7ObTOxv)xD~*g%R_CL2U%1d zhxJpFaAij`wzX$sb89Z?EsjCHsR=_6X`v_I)f%fCvr+77gCZ9@(w-8EOmj2lh7Tt` zkC`0^QpgF-GnSOZp(e zjx+mL5vhPr6iPiPl{8bQ5r8h?6wuRCfi_}I%|t>7!P9@|0HgVT__wq$ss}KF(8v>f z|IKG;X=)%AX68g97DFf$(v<+Qv$7(SGW;Z4qwK$XH6MY={v5Gvu#7LCqBP&9uKYU4R7l4k5M_aAnEY+J7dsWM|?OHrC| zi5$&pYs9ccj9eSS79xYELNX0C$w7<*G>3R#5k2IX9Ee(97u5TEAxb7Ev}zS4m7pco zi!3OO#HQ91T;4tf8>gmVRb3)xrvxKOr4PD)Pv`fsVliU$RZK}4qEMnMKNgvmrpy!% zO+>x<0<tglt2Y}*mY3kfKow4JslkOEb+~?TDn30w5APmn#>T0BI4~~-_da0oUy58~ z1JsAPU`|N@mNrFT^~_jo>`1_lc_}!wI2*68EW)XQGMwKu9#?kM;@aLOynlQqK0h}H zCzfYmb*%^9JKPEK_$$14c%N~AC4D`F%c7uG$)S`h{tW??qYl8N0-+Fo-k!L3=LaSg zJb!!#BTs&X<_TR9j7C1~5DYpDjaCIu8ArH>k!KGP)QMF(utwtTdjU|E~OQ?+&s7Zm1 z&*cBq0qBNLj@sgMox+CH=~#{A^40KX20Fz^fV z3-9c$!Oj_hII+A0Ltnkc3~JCV-KY2Nf@p`aYs*H$twnqr)h9acn8dr6$PX>7&lo1*<0}V^LW+ zHnwJ9pdlIE83E|d55?wbIp|6YL#e(6;@CPU^|Zs*_8c^XxL`tnGaBQ@(s$($UwY=B z?(#X9V^LWw(#=c|rmH}zwHf9X#A2eqJ=5-8JtZ3(+H=ugmyXtyP^6lgB3h<{Vml)= zMmeIhd@L4E4ncow2-eStz^=J*IJzhWC;KySW_1qEuP?yGEoHc}tsK{PRN(Dh*!zPK;|^5QN=o((bW+ZRu0!`y}D*+YEw=MRXLg$a?##7wl)##bmt z#hOtk7_3R&A(Re8db5N`=1MV9W{7IB0djTp5g^imDaC>l zM*vTH)csX!osqyfnk1@fOM6{V0vyK`X(e`Q+qyUr-z`<+ZlE4 z4k&lB!1w?=OwIDd+-g58o*aY~Euq*nBNF?%V{x=E2`87O;LPd_Tv(fpiyQKAd2j%{ZM;gbhO|M$l9pz6Z ztE{zCmG-C;8Dpxk1B&hJNW4T%YE5h~L2iL+7e_1}ABX-^DIHx?_W1Y`4zaO|BMi=({>II$!N zr&pxn+(0JYTAz(e8?$j`OFph|D`NJChidSrqjlIbI}q!e$C58EtpgeUc~rG~@at%9 zW}umF>5d-hvhDffdw6vJ4w91+7$=~kUaeL#q)@HagGeNTkxGQA6Jp8D;~n_s!a_Xx z{xZmmAE1472P2F`Ov68&4n{e_Gdd+a8pO!pw|MyZX?*zFEKJS`q76p^xB|G-y$h~@ zxuM00Cx8o206PxdO=UB)0pTnWBH1DYP<(_@T$BssXg9P)mfQ%Y0x`t&kPDB8Vmov6 z7sqS6Gb2d6iP_(FfLC8sxOPTk?8=&yr_0NuNVA2VcB;%8)k0&`IXPkFgmg3pxnpip zD6)lW6kD6q0~zQaACIn_P%J2kz={b8=*$ntyowl14)H>nl_hEQ^F*1BF;b;!M%18h zhUhPgM^{!j=9kA}d2I^X)5c;&Z7M_PmW)fl+?;TfdRQXG&H$Cs?&zw|!S+?NarW3& z9NpM~Ei)srrz;8v=Evah!gw5Cnt)UNsW`hT9Tx^NacO-Hu58T1m96=>w!IKHc9!D9 zgOxbm8-alaXI$Mi1uyQs3!-_z!0+g=#;d$M+O}oVz)SMRMDnvC-2LS*sGC#;rCbLb z4x15yWFjt-!yR#Q*DO5v>L8x|coLsoS%LFgC*s4`n(*+GZ5X-tE;AK8^56?-hCYSn z{-5#mrw?)W!$bJ=^jy5Py9FEPS0csR8Qx+syqFtGILytie)KJJ^!FSvLm~9gEuTpZ zbTcl9BWCWC44@~iSpq~;LL_ozNLQM`T_{7enGxzDJ+QngSu-yumLywPb^O1QzwV;M z*Oruok;UcFn)zXYXjj@{vdj`~J|5URyAUfU#9?N9Ad1zdq}stAJ%tgNn-_xld7)TQ z6^Fj^7|hBG#j5&jB1Y z-t14t*;T1HwG}l*?)EFPkZA!-HmzQGb z+oO1P=K_ZB-vD{~5uW~X8J}KUh!0Lr!xxw5;rpA5@cpe7`0n-!e0{YSpPuW%%@f_Y zbf_DLx6Z}p{^?lT*NooDMW_n(M}V%JnSr41ETXv*{dF|7B1qp`Nl#KcG51Q2j*I!z zd7s65=@?v;$_&sp#sT?yX2`TMLtT`YrnfkW6neUL{>SKlS^L*S#|O{LiG19h9z>Rn zi`BNcyP;Os0*xkCm=@%Yf%+sYtBS^gqHuI31ktx9p*0}@Jw=h|Obfuw6n`wLh{2l4 z8E6RcgfB;cG#g_qsZPQ)`gOSxSY4ZpX=wqNUlNP8jX7A59gTW_Po$a~Fwx$e6OMI# z({b*^A-sR(3ck2;6NBIXh`V2Zj1Nu^;Pk3O?4BKnbITKPZbc%_txUp&fi%3eE)5sg zr{VI(bX?n8ytA_q@9nF^jUBlR>}wx<#Heue+@9v)17>dT#qU`9sKG}i z+)=VN`q;CVPVnUZT|9e0_x0~!(VtF#e((QGQ2tjNCLfHb0Wd?C5ro-w>tEGGe zCd)0Ew){*pS0o#Z(faAhNxYrS-$Ve$0cyQ{=dCJDAU!$3n*QoU%n0^JE>DG}g|XPs zl#WFeVOUickN)wosCTwSmPn1pKzA&wj78tLcr2+-#Kz_{EGmpflu%6Qx&G#av4mFO zYQtQysxBG*wFy|&kcru;;V5^oL%zir6nR;oxi}8%m(Ic2r z=pnxQ_&hFcYrv_c@i@Oc9+y@o;Nr?eTwIliO9RQcxGoKsHl*XqrVL!$oQb!$X5+^8 z9NgTQi(7k&@a~>cd~~D=-(Q-A;k&mm{O~?B5AQ?!@Bv1Cga7-?W;%ED@#RR@EAfVL zhKGaD(2xCm3qRf*z-Q+=@XJT*@%+c*&%vE>MeoxXb3--Ca4wXMf%-6=t&zbtZOes&0E_<3NQ#1NHE)|g)$f<1F{ z83(8ja6*yV2-yM^a>tB8S9T=2ilQ;UEE>zJ5->B?pA?vzpgGnTGqXZ4Db#~3D2u_; ziOJ~9h(M#C2TJWtNkx!7W=u%OuJwy?>CF@P=$&`){U@K|*Dt?9x9ImX2$CXuyxVkC{*9MYtb$vRnyo&rS*?4DL4sLGG!R=kScy~_$ z-rZM(_x6|J&il(T^woZ7hQ5U6A&mgEBMd@AGw`9`>-PWlGadP~7&Jn^_Wt*H{OuWh zccmBKTwwTe$npTlnUq*YLsRZ8&#i8TM_Mg|$l>u%x>h zz0=DvV_YiA$GRg)PmNIF=pDq)G+|`(5W*26S0KX#i5}XOmT02~N5*(yuD&B?DXcZq z%-l$kgU77D_eIRYI$Pfh-3h^@zcfm-vNRqGV*`*UR3gvH3=2ylv0`ErR@KE}MO7jy zZS4@pmmynifONGXvP{iT;$nm5I6t%}2co+u3acB_&|4Xcd4(~U=yb`}>OU zrxQ(h^yPLu{pl>UkMBV9U~tq4h8{9y7>xkG8K33@G&&4DfabwHy!h!B?!3DWU%l0Z zJ0GpV@Gr-py>}YJcTZzv@J(p%pM&P%WoU-3K|Ay|$fMgJPv3|3>4(rh{S&m$=v43} z$g}T2o_!1LQ+j_5?XyuQ7=H30G><;Oiw8IH_|6sl`t6(e`on{`{niGYIoyYR>t|ri zf=O67qZHj!^3hq5jCwD3gbQWx6G)IOrOQG+6z~-oFVaVy*chb(eN50bN2|gbGn6)( zS^AD-rfcYozli`KM9^gGeRffNFj-w0qgg#Z9{okJC^9xjXLdN2R7PTBV+!VH1Y%aC z5Ax(jnC$P3zLZGj8$A9WzTP{ks&z~AuDVrS)z#IvtGc`DyLC@69MAEXBOsV_0&~s@ zvyzk?M3J0x&N)d?kSJMl20;NM1_TiV1!3>s?(r_HbE`((`~5M;+HAIA@I3RG&z$dE zi+O+bJFc!$=HTp~Iju5F;d)^!ZWp#CwN=$ z&d}3%zV@{s8~Qjw0ttN4qffa0iF*G*B8BW@H=mx|qbt{x&fMz^b_Fs1;Vz@Ssf_mC zW32B!;~#R6_dh`Psf6*Na^yo*$cF2Xe`!Mgr4{+;1o-kVPf?6^Bkmngj6O#`BBDzw z5%SNi6Q3WdXMC`V(GMjIzs;fNX(}BJ(NyJok{Nr8D6eaH-aacWr`))-i*w7BQ2u*y zGwFYmHm%hE`#*^XW^(i&zvuMtf8fIJ|A_wo`3ZwR%#@w|r^$+wKg|9wgP`Ajv4ZYQ z<+Q-V8VbJ)TgUw`Zo>W4dd^Ot&WT@s#{S4UJkM^#XyF`A|NcAH|IP0?Jo{&94eZe5 z?-l2l%s_vW5+=J>;Cz0YbZ`9CrSs9-xCrNq8@PE!1&fPY$VdpGtGSu?FJAI_Xn^st zQN}+BXRV;Wr<0lC`Jr9NO2wLzO`4B0|`$YyGTHd8G~@b3|)CMtbV}>B=?WZMg-XySx~CAJ10-eqRdXAMP>!A&c?;9ONJKkqs3i8-9p< zxQg*Fb;tyuBabEsFxrKD^!Yae2;iShTt_>Q54WKh76fQUK2#?uhMv-|n!~Mq zYq_8{6Z;J-IPnkv%BtV}5BAUeSz(~Q6tithvDv>I$K$J|W8wWjPvP*~soXrShOfy6 zoU~RF?O{Y$YXg06UNhX^&)C=~vhh*Ih6MOyJZ&zdDC`P_9$Tmm*g|W>cIra6P#?U7 z`k*Zm0crx(sgg2Z5MV1+L0hQ_+9na9Dr7s=Av>rRB#7KaUG!cW;||i4aFC{?BedK( z$)mJ0w5FWqX|W}rI>Q-yos0ZSKjVV~$c6?O6Q)qS{`i97XW2Y2wxc7*fRD{ie0k=@ z@N<8LUxqW7)yNrLh&v@TA0t`GrK3szQb0zZ6H4_T(xe3{58}hGDr24OrKo{Bn zLJC0w*_S613LwhFa0~KJb;yS*kq=iO|0Ft!B1YclGT5C?@3TZY8w05=a3eSA25|v; z_&J=z!{!tY*AH=Q)-SC8+uyU}pZ>_M|M4%HAixf4Bm(TDCSo@=QM+k~-A_~e0h*JJ(3*6T)}+%sPSvC-=_K#!-1zt;lCgpI zZysO}*}!|odTMxA=S%BdEnb)3VyM%XPhGxzeC*DrXTc1=jNsGr2u9!DVZ84?GC_d8 zY-9t%R}>>3u0-~^hVjq!C_XoTQ-E&QGA^MU;ahN|KkY)jI^Wp{AfY}BmxL8 zQHtzi5o7(ijPz#k=}jE(pM}uf7DQWxCly&XWJDVi>2(QT2TdGIj<9v!&l8W*`TKul z;XnK@RKy;^KmIdE|LKo1o&P;qaenfzrhl;wyriUd+e&?zB0yJN=5}c_CR_2|T`oI3~?4Ldf?d6L&@Z)5zs?F!D>I}3uDxtMOh0|(tu{fZLui(5cqLd7lGTvXn*AMsk`XQaq?-Ce%6~Tw6VZ41D zL`St7wK=xrCz%uLr$vDCS=?@(;J}(iihupx@A!jw49@SwQ(FF(MSt}-GL66aCxzye z|LOsLd#Izq)(z*Kj;vQ$?p2cu1+Y+82R=LW-^5 zx`Ay}hHa-RdHL^r>nq>H}!73YYe2XHH;@& z*XYX8;eE9Q{f##mXtiRn!97AzvHH777JqRPcys^mZDtxvG1E{XP)kE@wpK}@r>w-esk2!B_y35&T4nZ6 z`%ZCb{US{FuR?drVsy97$Kmo)!mZX5Z?m3Ex9!9_?B;n}nFRRQ$cS_mAs-uK{PQT| zqk}vx^`bRwH|;@NcpSc+wutRChisuKXfySG8>#hMPrd&JYW+4+?JF{W6V=`uDfimI zLlNGaDEHY&x$kDmMN8{2ZI-~UT`dg}bY{Ri2Kzxkhv4S$?$`4+{7k^8ClTt|cV8d`%l(HyjyhM-L}1Z<+t zZ#^}B>#6qLK$Xu1D!n&Q;kA)+&rMR4dTpfCYXfCon<(?yOqt(ii2&uIO$^vZMX+cI zcTpX=SDFUa#~z^}?ijVP$7xDDL4DjYsU)-}9j7hrG#&Re>B_py%TgnH>h0)haHOxv zk%31d9O!Gj#X!3YUtUEq(jCv2*NKt>jJ!+dYhM;Jp#Y){ln79YY`C0psgBoAfGb)- zQRjyrPlS~HPb3A9i@Gljiv;+!D8w8=%o9EqBkwPg)MZQ%ttXYS_sNXDOJuAkk&!nM zjC4mb(B)50nuTm&;_xzKkFn9pG`kD^>oxsPWiDlkX-PeAm(7w~i+N zjnw+Ar`l&dRX%H}@>xTL*ILTG)==)Tj)!g=D0AOHna4(oJvUJ7Az~9Hf(*W!c<8r< zhkojm`DsuQDCPots0`mvRpdcxqmR%Sca*A#{ZvNoqdrm01kTWuc#7u4W3&qrWM1TH zz7}t*Zqd`^%=<=XKDIbA(BjC)7CSz)*z>6?l;M}LjJ!!?^lc&|J!y>gWiuu`Kz}Z> zK`{#`o$vue<&qgxd})#nh7_OMCPu=;k5LS_qZkt4i}zZP4L2ei7T}BauN?V6De@1+ z$lezs>&fBk+jK_Xq%bDr|4k%cUPUs}9l_w!00ugQM+u<6J%HEEt~{@E=TVs_4>KLO z7i~gvm?0h}Ct3Qh|64xguYRXkIqA=w1^hb!9Je1-chp#`@VKxAeU(M>J^%6@m(=EQ zdfqf?H&1)hVotC88G}Q!alEWVsL68D9oJFfzm+8G71ZVhPRRb~e*j-DM>aAl9i_gk z2&B|)Jr8cFQ0umqM(+*Od99_^b1ik=8>kdsz;ithrC7^DkF}I~tfjJQ zXbUe$(%+JNf=8*Rczpjn-BmYu+h|X3vkUKQZtQP(9e#Xz z>_=~_J8zpk>23_5qtchUJV$bq&B;x&Alm+tOzq$PRWa+I|KMJ{W3;Jk(hF6$_C+eDH3W{NyEQRKOW5^oKPeKjZv z+)iom9?C-xP#JNEny5q6#~r3N_An1acF`Co2yu+ow6i=)KTC7UX}SvZd0A$}%ZJAF z)Z6f`<|gm!?fB5@!NL+@C@!9@rFZ+W)f5Qeoz{>i z#d;n%Z=ld+BL!}o$@kdG0}pkIywxcQ*hy*dJ|2c0q%7``hW4^bJu zo7(7oG$o&)J>xu&GB44dqs_}A@k<}|d0lyv*A5%wde*i7=53~*Iq#aQ4R_i|4@SbV>xoM7x3{L2|hKV7;HizKo>+9Y(hTJh1%M}eX|?AkNkPt8pMk_Z=RI7$hzzN6+LZ9`hSrCPR9>uTdArj zELW_o)Ij$zxVIr~}R+HnfmR!emc|7qadB(fc^=)p%;QWgIJ|508WC zX$zF~wgo9(HH91f#S&nmzRA&Y?NWvDI;C-|oy*Z$GoQT+zDIM@RIcrrj*aGA0(BRY zV4+5y%Q})Rlz9+iE=m6Q*FS+T4Sc?i^X21f8WMH5XEKj0lLb7uxrE#s%H&%uBlp&F z@^6b!qtJc@c{a<)w_8qu-EwlR)yTD3PM+;bDRS*rlWqSk>{gK_#cJ-`t|8lgEjiBX z$aP*%w#!CxTsMsZMF&ZYm-VQXO}U>bR3s$DZV2*a0dc_S2Yj zipInF})N2CpjZcvES^n+hvlS2^&m!HW;AfqZ-t&hWDshF&Ex zEKJ(l48Fe0WK@{8-U128@xF)1`pS{@*B}#_K2Rr-Kt529{A1k&`2BUrdaIE2mN53d zkkR*rjJzvg^mP^^uhRJPB9SjIV)*hjoT1iWJ~sF=*z6-^{NUptK0gVgztNN4T6^Br z+VHN*Qt2+Z7!SuI>$OfN;D0~t(KC1dl|V_OUb*vf_&@c6xgmH$9gF_0(fz~En*ot)+@-iUPhM9 z3Nmd3;H$~BUN!OBdJUPkCrFTKznV;^b=-H}zKy28 z_UA)em^4Bj?22XRSpuJ4CNtcf#+TQ38F_P;k#|A~^7-0ZG(m!1L4rzTAF7dmtVJP# zUW4pI4YIykXz-)I z(TBknZ$3WqW4I%N!AC(1GrSJ_5TjO=m2DLUbbX#*KQTDy1$ZRp-i^95?L0?+_z97`=$!nR!hjfrAm&~ zak!iJpdsfT2YqgTQw^sZX_inEw!+I4N zwrj|+Ur&b9dQxmwk$h_f>9%XQXSb5OwkyeWT2GFL26;YWYv>Tw(Wj^gKT1{9aq1Gz z(3*OMw!6A?+&AJy@lCobt?90?;$^7?-4Ac`rrMgGCKq~}1L zc``#UQyF@d%IEHMzP!1|$Q#kR6)@gY!ub1AWbYp`_P&y_J^{Kgdez8!s~H!+Ncw#x z6 z`kK6WU+YLuwJmQeEO}FI$*Z!Pye_}Zhh}&B+x+Q$ksC8 z)^?iiT&CDLf0Ask>UU^vo`l}6X;>ediPxq1gy=0G-e@r)SAQYWY8NBJy~t(bzqx+- z_&ADj8U1hDC<-}Atp0QojOLPRJfAe<`J@^zAk9RHG}A@gHCN*94HYsimyvFvMyka! z(kxeS_vZ2mGFYx4-Et-AH&>8;Q(Tvmep7sADQV)*+*(fZ4Hc3smyl+=nl#%rq}r|| z-cpVD8_P+$xssIID<%}cc|BPk+b9g&Pifc@Dk4wtFzhH*F{fxqJWtb|OEjlkp*dBX z$Jxeo<{Q%az>xO)SEbXy&LRt5)!Nh3A2dku;+{m5jbCW%NxUU%DUg z`9%(&o@Frf^sWT{;FCKHv?tNu8qK?=U}**IZIchL>zsMh;L4i@Pu|zL(p_f7(;{P@ zmm2f3%$)9WYhD!Jpu7AweNCS9HhRlHKJrt%YYEf+vjp(>_x~rI&CBX9uU??ovEUD~ zQ|o`^s>T$|4o=7E%q#+~%qQadLgGyp6Q;L_x(DGC+5emIlOy{&#`xD^9wy!((Qq!Y zdcP2(KbtuHc_f=GCdF(CDduXVm@XmJM1?!XDx{dHamVaW1W38DoD_>?q}~v*lvK-Q zq*^W~)pCXOUW(;1lFijfHeW)#nG$j4%EXwe5NDxEjJYZ?W+K#xw_HK8)hbeKS98y4 z18EMM$oAevN$3$uLJm_New@nKGt?xUr!Mh4b@69uNIFk_;w2gqGw9$4_I+LfM$0D4=(`Op?Esldn1I0m1_GxRix!KbNwdUltg7nyv1DP+8WFWp6q zzA0tw?L$W2J>+Xo1z$zRzb$7(iido8UCif~h0?m&(6elYx-uE;NaN$otsJU)wx9K z&L`Pig=D8Ad=a-yjeY&oA&>N0!ONx$?pQ1(R`(a;uFoP;Z#Ln2vx(7PK%$8<$)-!V zW2(v>6BUw-RfsoKCP5IvT#Z!orQ9)J#vSRploX*166niGwp`8~%cUgUSW2v^3b7`O zi7{P7teFx~MoPq(s1R$ulxP#R2?E?$M$*j{+_7Cty3;1^Id3K1X(Jgfo5}IoMrrUt zDxywO8F!Y-SWT*9PE#3qjH(#%`W%f(muO76N^`nCPqIvTbWfL#TqC-x9C_ayL|;oJ zAKIhoe;mU=XAGaZ;u+{lVz4WX!DktKdY;Gd%L0a974rF2F<-h%`SPZ00`RwGjJz&o zM7;M(fM3ASiw6uo%i&XJ7N4GEFwmaD$M!_}9!1mJ97Ru4IPYrx=&5p}yUdR6lG{Ab zH|J%c6)y^J(N%Dp&IeXJE3)EwktI*_jp)iTq`TOfH|5T}sc@3_*19TQRr&pA0wnC) zC$)e%;g-kTE~qN>G`^Ex-twbdf5%iT_Wz9S@n3O0`z!vJW)h)0n`FxsG!(@v{$uuw zX`iV31Mj;i3p+=$;cOyxekJ<)T!{eD`U{AL+vG*s1?w0Rl*S1f=e9ts) z9sC8mlfU4sIUUCnQwY5L6Y0(e_}KSW8t@3<#d3%2>o|(BQED<>i8EYC*yW!I(V9V+ z&TJxd=Mr^o0g=}i5T!q#IHSeH7|bWuV1e{H)@U(tLJ5q75{OVD&O~|QJyTWUP1T4q zRU_VH8F41di85P3n2{>M*X9#?eE}i*3klGhN09ykB1}|>64`GdJirQ4Z8nnbpiYL9 z2AM9~xbMD$9M7FR@ZC*u-~md4k5CqRoQm*M5*bQE4^t9yh?0;4R74%8Cg~#8@fT=F z)}|p@i`KMjwB0r4MX3|-n*5|==svd3WdbDR6(soau_WOo(dAH-srCXgW~#@ALS;yreL{m8n=)9g58NQyjjX?g{g!KqgG!R~fx8Ye=!v!1v4)f-n6_(A8fF(V0b<_H4qm=Mb(t zkMO)LX%zqfAOJ~3K~!rCh!AAZoBu8560SFgNd1LG8!RS9e=#wJi-<8)BGzaLaYkyy z8ZRT-XerS~%ZM^rPNX1!feHaSa|zO$N2tMK0`(RUY_N!E3svGQmy&3;k|e9u(!GNB z1o+MxWVvl8$8#6CUb}hVyO$#W{S*fsrYz(*#es*&_t`03#n%r*k5eOnPt&C~=@Knz zMzr2FrRA<6kM0@JnQujRl{>HNeRXgdYa;SR~yCK>R`I70_d*t zqx+#ZugW}mS?0m>VppDIThp3qNNegfp4>O*QMx`YsS|fQw`UmfDD67UcXVk@)2A)n zh$mSV@|Q(+ijD&JtACmR?wgnZCflFXv^q3Xabe}Z$PLsdVJZl)e;T(B|AO7|pRqeK z73%{(VsrEto;K%8@-G{g{iy|%jnkatgSX}kT#x^V@427xzcih|t1}3?JcBT;xrFH~ zBt&N+p*o_CR3cPYnJ}ICgzL>E%3vW;MvI9wR3_R;g$P4cB8`?3VW>ugxEiSuZlp@M z@lryK)Cjz`h>+_G2{sV1h#*~|1d9kYTttLW4~rEfTCOG4b`$C1zCow0+;`O=%Y7#~ zp1aBQ+%MfSUg&?20{?^L`s^XwV<-9E2Pp7AL}7qXfn!w1o~0`047KsPG^Gjxn9-DO zL`SY@5uJHm>&=^5U*3q?To=OohEVz%!s%;_p|2^4{+1L5T2mQpPiNrCJwA41NHNfn z#m6W2`S>`KkL?-sx8J3&C566*B;MC2^0p?HH&qe5stn>)nIA7pym?V1fOq5B0~em= zIrI4bZCa9zsEgO3E=5;TsQQE}l1jCt8}ca4j7Mq4G~c;KYljx*l&z2eI1Kgh0c{So6`lew{f8disY#_s4;Yz~R+|A{!8{e1oW9>th!LjJ|v zU#8$w?+bF=kKuOgM?6nY!}r{D{4dNT@X}0zF3lq7(p&(UE7v%Q6>URl3t% z<;ANiPu^7f@wPgUp4t%J*GAG?A4gwf68%l7^f#ySu{DjsN9ht7K0dxn|Kq!SY)hxV zHI?3`WO^DBd0!jHyXsh8S47fX9?Hwo0A3V&@w~u|u6!rD@*L^NcI5GWJKFDC({|62 z*1P63+|{QxNsHRpi!`U`(VSvJYpNM-=@vXrH>dTE0gqA*{>f*1{oMKEzjy2B;9eG~j%8N30o|n1ts@$8`75==f z45Fthly|ie^wh`jzCND5#zgvB?(m@{Wg=Qr=x-L0N?+q0dg>E+R~yUQ>KM8!!s#vx z`!BWgb4-^YPbPgrByEh4||(CiuECq53LP`G_)IPKZt#I?n^flj+ zvR%CHZJ4;eZ%Cl0HjcNIF}yC1|1Dy#Qx~fvZ%VqRXh^ZT`kxMfk{wQ2 zIUkv(FjW7eOmEX4G0^xP{q5glxZ?**c1^-)$0RKG|46*eUOo@LlidHrQSU?x*jgNp z?}fQIAD)ccsp+_DPRH}yOuWv{!b5Ww-WTWMueFdsJ!JxP789Vmh@k62!j&ZH4$)si zm;gzDB@sZ0FazZYkiWeSGn&YLp$HL1LK&0^H&!LoNCiK=1$bSZi@)At0`wN+tF-_> zoy7!QSH@p^zC^YN@p%J51fdYBM4GN3-f}(Z4%^A}*h7}*0q(mWBHQyAd0r>U^F2** z=y|FVu2B(lm8#gQ)F&I#l5Rok{adtW+0ve6!;>6aI`bTP`oLML&CiQGcv0dlN%zZ# zA-t{#=WS&q@2X?ytxup&kf1S%_d@PP)K7r_t}2G^Z{R-@;1~MSk?+NmY!})y9C&ok zmX>sDno})lN-?7`*;I*-(dyf7P&OEdAgItPDU zB?%ajnSs}Y{40Me0YdTx*o!9s7q#94 zb>2^!;~p|x_LAdun4*vil#9%Yyh2rs9#wIM)F+$Kn0ABaySHe~xW%LUw`tFE;7OJf zow+VN&3EP519zSl`tYp8pO>RvJiWfiE3-0(^JcGaPA6x27e{il&sCG$dP4mt;b1qA}I6hEzuyP#txhve3&s z48KZIzRt+M`ffg6;XOrMe0%=sY7+NuDmwRP*Ib3Q|q_-Ut19Pv)kom-Fln8 zS7>jYB-7ED%ysoC=x?2b!L}bT+V%tHdnV(2Vj2y35x=#66Z3xsFIyfEd2JCc$G^kr z=oB1}O~vWt&$wyM#8q=9?ic3Ze(4u{v}Q@b`+bW5;o|idPt<<_tN>rk4~BuDA z>iJ^AjFkv85+Mwr2xY>rFCgIREPSub#9wd%5SdgZmzPDGE79 zN!SHS!!A%6qeo?|AvK9c)ZH4UZy1YGUZ`cDG$3sdFT}? zLMGy2xVF49>bjyj&f@BCkAu1Ed3l%ZiTMhx4d0=wF-5McF&TZ0sTinF!EoCT7;O8F z8+#{9hU!^M$!`muLIq^wUnz^biO-p7SReczha*#QJTVRXQ`2zKoPo#1Ie16}n1$zVh4@^VkKdK~_-f4~KyM-bI`aw8o-cWdAnD%{L{lYLUyUFU21^Mw zUP+|M8luhDN<>JwrA~_7PVPDHCCmLF`TnOU4AP`HxjFr|B-3q~_L5oa$Z?@F--9lp1jPZoC=H^!LX?D1sVsC?hDoG&RUz8E0A3XP z(N*L{#{*9uXS>pN&ykiiTbl0NqCV*cHSrcy#hFqWE2RAzWntQs23?`Z_Z<0NC&_U; zOpd#VqZImSQW|`PqQDE31YV#t@S+qY!58J_p<0U4NaL%&)&C5aQ|68*W+`-p{Hssp zn)){aZ2Jkr?UN-xV6kTs5$2oefB)i7gCB*0_phH2X0!#H{oi48Xfk$(r{Zv88jhMj zOOr#7^Rp!qxLufq`^DLKT%IM#c98B|g2navBB^eRj1(qKl4s*3L>eg*VXQ=?(PE+v zmk@2BA`u|MSdc`_5#|thbq>B-bMTU4E`C=R;CX%yZWm`0aD6fU*A@~ez}HvCS9dYq z+KceiUWli*P#{%&b=3&CzKo#jD+x7RMWoq!BF)zlW3is(+Zv?V?IP3lAi2IL$PYM8 zanL!+A};eV@+uY4x>QH&Q5UCAW0EnA$!0XA+@Lk>HZAEkv}Oo3u%{!(na+GSx(dB` zR_x33l7NYlP##2gc>u3U{diUC%gbV4o)&o1ndc_e{5B!`X?8Rw-=ZPWoZ47Z%A*Y_ zkG#&q2wh4;w0Piuj%?SX+;==gmdjzX+>em$ag6(JN67OzMS=eX^1L-E@YSTqPm>~F zO$zcK$&Pm6)7T(MVGLEU?KZjbMeudgOAQ!ytPH$ zUx@dWd3ao&i>LNH{I4%2z(83FAKis`X)nf8M+pxtCA_s&r0~;K!(UH4RC*a91}g|N zo+t@PRvO%~*+GWeVX}NqknMefT+gEv2A-if^de>9LSD6~iWDR;q9MVA#w5{h-J~V; zHm!GUXv?sZltB1`t^#+S6?^f##E+L{{=6#p)nr&>2Q#A+r6aO?jghZF!x*zli_}Z z9IumPyPqJ>;{^F$B2JR$eM(;Fdsa~pp!2N_R4D$z{k&3%<({bu!);T?4Yo~{!2gc~ z(BC?h+XsKuS>HD)LBHBff^xt%7p4IBJ`RP5e7?$G*%;0a^}iJnW+#hPW22YBF0#mC^6iT z%7BtY0RJnq@xLOZe?Gpt!tpP_N0`5>^YFeh7mrJ`@YP*Jpn)nu`bq>|Q^xb+LOiZ4 z!u9eZ+%GHRenkb3D=PTtsNr{gIe`X3304zrzLD5lTS>Ip!Ckk*-1k1geUD>gIv*t4 z{WuT&&ho(jEXBcs2s)HUT%$VrI<@hJG$fkPbmxXdf=7Y`nRaw!In$Nz&a*;K3GkN> zeR)~o!}EvUJS*|!S+NJ5h3<6Zy6`wt7(P3iQmkl9w4^T1LIS@m>>4GZ+LQ!ck!pOd z$7$|6AK{+ULDC)elV-PLHK?sKf+;=&`eV3zTyB;Ik?F89w$I13MD$n;k zp~&;SGBF5hDM^^*d3M25)9pVh3^k_8j5L12Kz)J)h8jO%EEGUpOaZ6UkQ4BqHh(_8 z?I8K)2J8<{;`Y8NI2@iP5y1K6ueh9^f&2Mck{R>UUV!h_dH7wOCmzU1h@J|;+KUL* zo=2G8LaFtOGE^nXc*(?ZuIUouOjL+7QYOwwiCAMn0wrP$l!!D?k_=s-&K!J1{nwf( z1KyWs;d5yw-WO)#b$%w^muBO2X)Zoj7fQPg}7c;!tIK(LlPpS_KL2*-ofHo*PdKJ$P2;#q)9>DV~;j@~p&z=Y{S(ec(z* zwv*K7i@GliUwynOHBly%N9a=$szXWO6^i{Xk?Vend-exOv)N6G^-hv+?<^P+e~?TO4u{EfJ}Sk1=OgkQ*Q1IYuk#ZGD2cwY+~e&05hL~Q6h<0T z{?YVvUuEH&r3tScN!aWnx7L zQWy&&EGEKm5rNm{609>Df9+X#UlAmmjlb4Byw3lM*M*sQd<(I^AdINX+1a?CTY&qy zg*a)>#pT>QT+T1V`TRoZ>V9!CURPD{)me(4-ckbfml0;LnsB4FM4GH8+H4c?mg*$k z+CiGl9`4#7Al-f+S+2*(_r5@BkQNo8I#fmIQ7wAycq5vU%xOuv#iMjq^%H zH=dSwO7}xPEA^7DT_v7$7P-@zFQ$ABv}f8&Enj1jrBwH;q6{bt)1@d-i$b4^WVxIm z-EKcAHoK%qw%S3`%^f6IY7l3!h2-12NVnZDeJ0&*AL+LHxNEmxBCVtj_6Owm9S$n8 z+|EuAAlPj0akta66~-Fh%S|*UV0Ke@gjJ8dY2w=49Cv1<;p`#}2KM|lT_7-kO zzr%XpcQ_oJgzNFC(iG7B^h`X?&c^NhOuVkl!Cy;c>>@(M{QsH?q1V-jG*BhVK%Dj| zlW3;Gog1p$xuHg)sWOSCDkPXLnFyf-f&eDscz6+UW(x>6m`Auc0n`)wi3{-3UVzu- zd3c=r6*tZ4lJYp8oq>}Szv8Sp6PL5|aMGNIz2;mTH0R)OW)4o8^Km=B5Z7~yCP;8a z74NGm`0FkqSQtZt)kGSvC&p|Oaps#yxS=lnz*BAaNQ#i@e3)DhO^W@mP!^&?x#+v2 zuTdLoKx3kbG@*NxW<`6ZEgdhD(Ss6q&C=lEo5|ZY&|$LWN|rB_x}wN*hCh2uWtjB$$eI zFD2s4l!-H2NcgqcgzC&DKx-C0+H-KbB24Bi+|JLy>CAK-&-{wh`B^xgpM}$f**Iv< z#OdrD9M8|k{>)r#PtL~n^c?I?&&BD?d|b~j!sWt3+%78NaY+g9E6VukEG1Zf6=6ne zC(428I*9}#%Mxx1gSeBsjt9tgKSiGJISPZWP!>Khbg7Bary)V8fGMr1=Ct3t$&)Nw zIv+UES?oersT)sA-RLTDrL)L|&H^z&vgh%A@l1l-w4~mkKGB5AXamV(6b4=-&-X0Z z9w$k)*++`iE)s8O5NE!X7>i9rnQb7_bRCfroe~UX-+ex{# zlayOK9QBi09|Nd3RliC=Kl{1uN2v!#p_vEo{9D88Q5vg!|v2vY>&^z=EQ7lPR+&U z^gNtIIk>P8*NcmBJ---_OB3ZF@cMFs^;Zz0zk&$kHAI=NBlcT4NVus^s?Bc6h~;>m zPTm?J)MR2 zbmZF7e*YG&cP9>Zs^bi#cCR@23I)FB$@M(VeV1dTSnnb6)^_48HKfcJlgvod^+Xu0 zANcoTW%%6Qk_KeE%G}STNNqR2gN8@@z*gHTToR-dwP zZHfag^1$b;M6yhmBiy;Yb3*nlw@zff(Hg=HRuQ7Nf*`%+gct||yM|b^b;OyiC)R8O zF`}z67lhbIyxAssg2iSr z39~&@FyA*7U+vYr>1ss&;S-9{5$*?@Vt3#>Y!6Su;l$54o}P~DIbq1=;V=4oy@k># zUWBnKvC=x1D)DBjB#4F1o6ER!YbAHYhOgyv(ryU?sF7hM09Tb(zLPD)pIa=|{wTvm zL>n$9#z={1<3$AP&XMHb|Ee&7vvD~uBz^{tnzOJyJ&W5XXLIYsEN&j1&aI=rVs&(e zbhSP;3tP>(Sc&f+n}OBw+1x%o58G4oaX396C(Q*oon0uYfZGKnJVb|ZRdfgwY9M~N z;f8C7G+sxn`9>0NX^?KemmH7dJn%V1QGg~7LoQMksYPAv^@-!yZzqTC**E`Rd*AsL zWuC3u-|mO|?VNjOrX}Z`L_kqNzyO#)a*h(KNJT7)oKX}6B^5bIMsgA)2!c81+}dh) zPfvHxlrz))KJQ)oSN6=g_g}cD*4nF}=+(H`&wh5^FP_d7;`yZ#ruf$@<#@hS%9Kx^ zJ)JMagK28*Qj>?uyh&JVp_DHI7te)arZNB%6+X<0$={Rm+cO+k#v&E%f|P0*Nmh`G z2(XkZx=+4}WF7aOUi1(pKvY+e8cI3|!04~q8|DiH++e69WulbCF3cqC> zRs^wt*hLYUZc4~Cx#1lVx-6hBZaioVT*|(8;lj~V%t8WUlu?5 zv#1tehAxWyQ_RqwO8-9+Q?#ZSqcK4rO^HURi!(xHlpgc@Yw_U8sq-Mr|Th3~kYtu@7BjO}Wk(EI7=ng)^0YtkAMl7mUk|$Fb2Ch3nn%xY3u4 z+e7JiFrJCW(=?NphZl=9r(cFQ%cXd^T!`mOMR>MYj3@K?cr=-X`y&~+)t`cEo$;)# zyIdcJh3Y`eob<(bsVDlf9MPG+7p-Y_EKqGqwLzn3CmKaGA!Pxnh`Oy*Uf+$53_G-^ zQy^>4K--x?K-kB1N%r&I1@6MHuFcgepA&3 zOSi=sDZ6+#CQ5f>nk{$QF_|tQvBzYI4KC!7?9lmwHK^^q4KxBfgoP2~A$p&(Efd4Ad`B+C!bLqU)+@&k-f z7-Wj#P;-=oZA1BS3!IF!!s(bDs1oc%P5f@06WKATO|n6Assq|H9nq6>5d8&5<-$$K(;plL>GBMMkow6MQMmRDvn#=RMd7< zMO&jruoGwFcjIi54bF*d(3EC}HZl2BXY}PA!BCM4%e5y?c(X>##j^oeZVbU%OE|7} z#^7eJ5O;^-@o+2+Po}f*f&j3Xi&x8ec(aoKFA%&~%*E5W96X#5=Cni6S<#v0AZ zyU~(tgSM1iOj?t7b8RU$d`I?S;a8g@C(WvkoBo{T{J;3zqkrUbT>gk$R|Vu8+k!lI z1r&HHpwL?hC4pLKNV3L@+m{#so?jWjxiEE<`YPkpacxw`8lsklE<~oRm*1Xlfi8(9 z`YF&Ww840>4W^21FkNDc*%N!PaN3UT{4Z2EV6nm;3#aTbQ%XUg1%|WDa3RME7qaC5 zpuK?sRvR#9Bjl9(*C!e=wy72vu;~9}xE9JowNV_Tg~A|h6aWC`HEM*`IGeBw=R~_1 z-L_>opj+aE-W)0n9bz?s@p5;}oc6-Svwm1^2*P@EIIea?;pTY(?heG^(S;N|ou>Kx zY_@dzc9~}M3-ETO0B@J_@$ynGV~0oM>3A?K!mXY-Y_>D zEE8#?e+OkK2|JkbYom=(6KjGqF(#;qHATJ998F2v|BG0oHE9Q0*w;I`7SV3LCBs?x z)%Bs`9cLp=K4%~NPrkrq3zzS@1$oEl>i5?u@>E2zw=zn6RZ$kGh2|7%Ji9){0I)e& zgbIH}l=!Kj^0+o?1qP5(T|b4CPo-Q-^yO~HaKUa&l-OeG%S!j$2|FxQ*yB=#1C~$k z#d6g?ELS;TxylX~PuO6*z!IbR+c1`Ag&~Or1|{1V1N3HWMPJ5NoX?=OGy_OQ2B=G< zArras%K|k~7NCvtU>%eO>!C1Mk13rfKi5|qIX+s*@zz9^mnI}0{|14?gFr!G&_Rxm z9twkuQ5tHF6UVpVbfgukqPOFWUKzXQNHgkgy%n#2si#*p8Nj?PyJ~LQ8@rS`#eMlwip7pu%mQ}P+PCE;v{2*<% z!BiNiBd2{oQobg#y)}^Ssg6ufO^8YH?i!GIXdu%=9a)|l$RQAT>!L8g2qi(LI1y%! zif{{@je zu-P7tn_W@3+bhK53nDz9Ou>u!G`w2MWX~&jN3xoOSIZK-x+KB#*>pS@jmNG27+mX) z#70X9mTEjPbLto_lu}XW0D3ZQ(UC&dY=!0oOEkopp-y0ov$6ElHbc}!nV>Pw3ex!P zXcAhYS!jvYI7>9go1;0w9If%@XooLR-2! zFp|FuV}-jgRk{bW7512~vX?9V%mJ)cJ7SGaz0r}!dijyZ^;)|9zYhy1cVVW)>I)NC zV~DDQ6519b`Zq&|$Oz4e)KN4*y^xwc`ZyIqmQMpHnkWg;L2;lqiUPEl@|oZF(L|QF zI!k3G9%>MKX(7X11DS4WkhrTO%UvD0UfRg<)j=L*27!hs3pPPnhzZKVsc~e%O2l<> z){rLdLUXbW+SBdPler&#IgYGte1QN^?uO}8Zdj`E#(HA_uC|5ZMpq>6^u^-wXcC@H zC*#FJ3SKW|;N5a2-qYOyVu0l=yjsY>(-{#Sj*`oW#C2L*ZwbVu8c$4B9K~p{GX`?^ zp;uyyuC$$KO}1piw2kp5sH18tx!_o1)CAINIFail#UcGbU21#uTk#(HBS0|jZ^+xP#LI*>JT+l&^lOxF>X#* z;;%ov#6Y$^PWmgLHc}fcakTTd6}@6h^k-XPDBqez`V*zLO!*fpf4|;!0L$#YzY{j- zv}?U1HX5C=A$7u)MkidZJ%Ec9yRlGVi^-xLxRAFEBYE3!A;%IUltQwG&{lM2n4(!k z+qkmGgDkScz$naE`TfeIs#I9R@xs*n&Hcxj-}Ux!I?kUma?8RB$=DQaT2F&2=DY|xToi_T1YM#=pJ2QX6XjLFiY zn5l5Xr86E_t#!w>Hh9(`gPw2Lg!oM?u|cvGBWH!SOcu~rQ!X(LG-3tq9$AwjRM;CF<`rWLsZ7i z+kw#{YfP5fV5-6v7wLpsjU!fS9kE*Ph*hZ*Hl+u#Ns4cB!X}-1Z*pd`*>DicXB@D2 z$_}$-lraz!Y{O&$m56tI$pk1Jqym%tNJXvC2vyP4@c9COKrIv#0Q@wN|JPsW5y!LJrX zc(as>w=3!RW;q?-u8Q$)DIM=FrQ+>EDqc(_;Nfs2ZgmIYiqsoRHODY}>M+JioH3MR zhx3^>=t$XtmPE2>W7Niy?>At(8f-Qq#t;pR2`CUWMI(WMb}q)Oa@TUV5xXJ(poC#7ub*K_*LRC>6s*0L0Rn#5VM0J=3X6wChV;~wG ziN=sdYojf}5S_`!=*`&1{Pjrw4osKr#>`23%+l??>H}Cl=Y-V;XRJvN;Y#yiTx~s! zYpsWHwe67n>y{(9*?br`o1C#xzYj~5_Lwc-%~)Wn*aA~U+cEm3OGwM2-RU$DOoN{^ z4P=Zn(fX_eTpB_LEYy(iN1}mTUs9+#vb{8r<)zN*84?e&autXP0Pe&9Ux08-6`3BY z$n;c0mZv&$eKe5gODUx`iUM^|7Gj8sa1)kZ)e23~kVs?d*60-PMqjQShVu7fv}hm3 zO6)On(h--cU9nnEkE;p5{h=s48IQ*c0>Gstyj@Mk`^)M0a9M(H*D~?#ni%g^Gw^mP z4KHUB@pw$gK(pEEho$Ocn5{U7vBJF=%(7wok?k}=ooI^2IAccrH8F-bM@lCE#2TTF zW-bNBa_c7m#2TYfKp-$;EYKu0;aU>5@@>QbkC*GMx-+b0l|FyutAn?2H6aQ(7pjE1 zaAnklDC1113eH8Sq9IBPby2kJp^AnWEi?=C&=zlm&SVpu&oD!O<~CNmnJC?fnTkD_ zuiT4EXUOuMutpT$atNEPbhz0C*E^2lX8U2>ruQ~y+-h~k%_c|OYC3=$(tTJvw-1xW zR1V&T$s%)17hAEka3Is10iY{=8`@G#zW~4xRndB=IIhJ2P~fkEJYQAD0C}W*Z*@q# z)FJVt6?avLJ(MB&B4Ya9{R;rxRFL7Wf=o|U5r3)RPoTv$Oh9Dd$Cx31S|D!xZdrLd&6{nRDf4=iFmV+i1*9M z_^_IWPnX5`xF*K8YpHm@nv8EQiSTkZ9#6)ialbzd*E{^MeAX2+<&GH3x5q%{E}W-{ zDcYH!VOOfV(0qlEsGh9d2o13YXoxkGe=RU#if<&v3k=XKG-T2wG~!wlO!#)up17|b ztv4F?X4?EzWk2PXC zM8@b&H$k6dD~7TyFjlY=QzvY(Q00K7>it-u+r3gpthYF0v+aod;SHU~aHsPa?sXl* z{Z2RB>2$%J4j0^Mcg4+?gSgh@gtgkeSU5%5!%j?>S+mSwG>6hbbM(?^Sem>T)R07- zKz&qxsRNV-sUy!v3HiQi%zDX+v%V;wtUreZf$}&&;x1##6v-o`MgnB7C!yfR}RuJR6I|gWh1==7zT<2)!9b7|z*-@q!(gD%p*>6SlZiWsjBGeOPNefb|w9Y_uI= zk8Ziq<%U~5Zn)p=fk!x3LakUxqolQq9;f2xS5_0$tV#EDxmv7OE)lQbfM5G6R4-?$zCG9F4*g0zjJ=F4w!@Vx9ie|s`p~G!HFqB%5RaIfnqdo;{Og9A3|?6F*JgZYXbm@V0X3%M2;$TVTapibHzX02ddoQa~*b4`?m zlK)pl9+j@Wl#uJK!l*pUQw^COq*PjRrT&JB90cxi0MN=?rmGTT0&)Y?`^fcDM}aS; zlG-Q>rMpN5@*prqKG95j2CYfvXccWmYckz1us~nBCF^326>VoyFd}`0%e>}(n42~2D%b8 z(Ve7&zBD5YWSC+=Y>Ern=9nnlj+wGuth~E)b{|&jopG5S>(X+FS^Vwuq zs(=g^ISYu7DKh{R{tkdJ9aMzTq>&z~V-0YQ0<2g=v?tP)6LWU$grq0U6hqloxRAFC zQ^mGeIK2n!4F_?z#}|)>LhyPr3hx#L_;5J^->r-A!$t~zyqbm|ucqUNjZ}QMCc?*+ zB)q>U#LLMDJRS_j-A*5DO5Lz}<`Cvi>}BWhhO@V`=2%yX8LPcC3rYC|0zEXv>a$3n zXupwmF9;a1`e=-m-)0~dkP74gXp1x8+f#SNeKq+6|Kn1n%f+DtO}_c~pMLF#Q9!#u z1s!q9=t@vRf08zaQgv}YSqLhbJ@ayM{Pk;Mb~KAI@<*JdYi$hFX5E7clm zV)WQ3dNaFnV#I16bk>IM9#M~CD2s|$Hkc?NCbY$s`hB?D;f@!B!FV$niT8^Fe7YQu z?>7?h!__4Gcr6)!xtfeWZ;IGwA1}w_{lyr(o(RL!!2mqy^280P3)ap!<6^lz##v>Q ziehHyrehk3253t#K+_ixG{uq-?GqD_^7YUdtH%m;(ij~EghqSx zaR8N-{|$huNL@B=PJdXkIy!Yj*Ul*YrCUaH^r~M>S5wIy+F+$>4|}fB{T_Eb8x6pl znTRg{h{K;Z67iR-BK&kM89!YY;peL&{P{{EKCKGz;bJttnF`0#;Q-w4^1==2QLI%v zV!nJ2#&hM(u^zgC6t9PlI6bt-eNjFWiV2AJi2)4106-UwF}m_tftY}OO$?wfX8?L# zZVW1#&NAlPqqqFl6Q_vt35w`VQbKQnDh5Tm7)jH^;1}f&W*NzqUtoc$d`rxhSYwHT zzH|F=xq$+{!?@n%irc+zxIgHH$0MX*KRh1~#EYq5yqXHe>!~2Tn)1b~DL=fL4#10X zA3PuNz@xsSxZCZF8?BE20>H%zYs^p#kY|QL2?5an?MZ}W4M-!ka3(|*Cqh(E6sUwe zUqxhlDSZLJ7D(Jk(KOsb7QO|UhqfS-CZ0&?q;NMCNNE0ne&#}qp@eKtawQZ{%1`2y zhiKwdxE5P;uZ_}Ymrk0f_$AaukH`@H873?{84#PXs^wVWcFdpLjnyhU+-^RE2mPLS zIu?kx^I`aQDH@;F1o&|?3BO!T!7n#N`1xiMez~5AzicGpyUTI-xEOB`KXT_2l+c%?jQ%7w45n&fBwZI5GITMLsf%HW zK1OnkFqUtI>Ei8}E8T(l@|{>cYmdwI4p^((k82$+xZUTDdxM^MH0;f+o+*Di7%yi- z@OnNJZ)bz?W;PISW`gi~j(+BgXQQ5YJm7+RJx*wxZQRb4+lN*d^`Z}E{5X6N;JN|BE(;=#^dK3iTLGK5`MXz zh+l3d;-{-3{IDL6k4rIlKOKP=BmQ{Uyw8CIAR@eWB!yirpmTslo%k>2>lsGXcy_BK3binrc|XY3sOXWfFcTfl#xr;Pt;Dq9i?^@ z+>wuG)6NP=J^VHE_wq8Z3Ij+c4ZwJ)u&E)shF0vS&XivkqRtv&RpC0Qj?_h6GzC$5 zXi3mVN3uS8(NY+L} zlo}c$)KMLxf)hbXat82LLY|v4vT2a@7)>)PBAu+?Wed^{)5Vi5NICR1(!PK}e1tBa zPztEbI)!<@bPY`th5qU&38MQ3>Np*u&MuvtjnF}Tv=;jVw|712%{1c zjEIdeo^8esUoX>BQ0n*MPMb5H4!Gm>q%YnrhT^-+(fDywh@WmI;FmjzkP!gxrr?*m zN%;9zB7WM4$M-8Sc()LSm*akT)a!wptw$IDRx4~UMtr$!<#Q9`Bv?u7GO{jrZ zp%!yXwnIaI9wh|RptAVlz%0~ z52k8hBwZ6@S=t!S)x$)dJ|+tdFkNhnxiT{>R9NCt)lRIQ+k;K%UfgVR#O>}QxY^@^ zhr<-z`{VgUAYRUd;`MA8-Y!Jo-O_QqUk<~&#Spw%2*C3>U%Z&{$CEK{JQ;Guoo**w zZ`+G&ZTnazaJiNyhp4w;f${vU7|1X{PpU3DL|SN!QNy`#Ra6Bl<7AK$3j7op0CL?G zk<9`?8fjNRhAX9bUzmUtPi)|#z(9~elh4PLSei&~qrg`KMSf~5pezrf4k!UY6E!sO zLf6h>bkGv7&*l*b0KMt@7!n&|BFhA$Vk1oCZo^#ZPOO~SgX_(XxYKnQ&xSnlX37sA zm%{P=S`>b~D!|`vB;fO%B>eqeGGq^v@V5sE_~mvye!42e535mlzYvC36TW!d=Z;%# zhp<_@4@;+PF+~g@F~d-rA^JqR=tL;Dd(dT;;m3|%0(7;f-IxdJcF_Ei-$$ULb7wTiW!~nBp#<+OW z3`?giu~NMQYjwMEwb=o;+8uGb=P>RLxZ%ODyFALD4#6vC`N#2YDGKii04rhmuo8|p z^8t7^<%Opc9(Xk3hKId}ajTVpv=8fzw%Cx;Gl=Z4SZR&fa!ZWmZ$)p00a_EZ(43%w z`WQ782T3v#^_kn5>{TnheN$=7dT6i?&rV%l-|FIfNqB7*`yHULY-9|C|X ziv3kk?yrKAfod$htfFIA;hL-uLUh{luPUek`Z5eKoN0uqEECLRnPMh?8!n#MiPf4t zxYo2E_j-=t`G^0{(tC5&yU^!ap7);Pd?i{OwKx{&HQ2 zA1+7X<3bqTO#0wSzX$HLAH=oVy;z~rc!4Fxv$kR=!x)39`shnBKzD*Rx`gViNJkNW z{g>2FN^wD)JRWF?H(<=gY5_461nP5b@kV?{nyv6F{>z2-)Wiw^00{+2L_t)L2Se$C z`4TI>JAMl{lA(z~0zjq)CiAo~RiJ~JB0bEM8ep#67>lROuu^4-%QZW(-na)hTKC~j z*FoItbHT$AcRU^=#ropq9Qpe&yt_mJPy{}#M&kWyBtEW3;myTBJei<}G#h%v`t1AP(?B;BWV%xTsEm9cWj5k=(q9D?foiA>(!iMz zb({@XlLwswEwl;=0D9<6)n`;ZDmKPcmKmnAOfX-t6_+Y@;7YAMZZz-5gRUcZe!&xO zX8rMLDGWcXN8*?3Lj2=S0{(F?0sp+8gkSFy5R&luZX$jr0IWyh!(u32PZ0pzakt|T zt~EH|@@X3^lvrUZ-vXmqrWndF#6X$>dPO?u5vrjxR+aT>Sm4J1pv!!IQyi6lDL|CF z1^QW&;CBGn5dh>jg06IC*e#rL{5&91;YY+8zYS(+aHE+T+*H0cH&v*^%@yl$7t0N~ zg$fhyQl%Mp`K$%EQMZe`)?~-s>NvpN>pjFh73mAMoCD%|N{ z4em^^I#&~>!qrBobM;YLTvMzz*BYnGbtmd@11Y-PNUAQ5V{+q=R{`r(U|9ISuzdz!}-|lne*BkfpD`$7{D>c^q^(K3M zqka#+Qf19wEZxS>6q)j4IR^ZI*nsa&(dAp?wfOoNO}-{loj)C_&KLVB^LgG1e71)Y zpW~*)=NwbuC9cZ6sml*KV zdFK3do+*E+bSr6RXDeC1~>J6Eyjbcx}E#sL!)pU#QDB$7u7- zvATSdK#y-G5fTF!@@>gB@+XG;9tT{i_B=P3rpxywDab~}8h@XVXnmf_)BZeHpeMUn zqAy!4H}7X4_sbrfKPY=V=puVI>LzP+c`VQL^N7S))}N*?>rBy+wZ?18>Z3Je z)yLIkl_Bb~(f~DCzK@bD+f6~1<*LLa(^W|(aaE9I9#xQuk1EMB=-pL8CUH@aWx6WJ zvX3dta@~|=`Cdx0B5ws*vA2S(%vVKrDnMOU8Kf?&4pEbx4Of%ZMySc^A~j^vXiZs1 zoTjWNNk=x2qARxfm8HO1=48e?^3(im--G+Im66s;p`jG@o;WKx0d-x{KI|Jjye8})zP z3SMl9R2|N@dl6vBja;GAm~$71qudD{Y)F)z~?&*Y9&$Z`$Xy*?P!n zv(v@te!rK~qak0X`(we*Brj)UoL^pwbAG!T=lphE;Piey-s$5;vg7-;WXJa#>5gxf z(;eT=i=1B0L^<8=_jS77?eDnO=zbJ+3H87HUp=A+J+Y7aWko!NVE>cpOdBZa#U z4rc8>*eA9;*daDQ*qCDKTpMHPTp4NTToG*OTpX1FvmyF zS>mbXEOyg&%Jk57{C_3KL))>yTf?!yTidbNU)!jUw@zdp`7`1dE0Lw|pqcku7e@}2*F zU*i1JjdbTvo2gE3FU32(orrRJHWcV|yVJ{QqtVrIt;X4Lv0^{_J>v!29qD%uORSs+ zQp}yZ5)GZZ67`sLiu9aXn+a07*qoM6N<$g2;@F{{R30 literal 25931 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 LrJugUA?W`A8`#=m diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css index 92919795..04c58726 100644 --- a/frontend/src/app/globals.css +++ b/frontend/src/app/globals.css @@ -26,7 +26,8 @@ button:disabled { cursor: default; opacity: .46; } .chat-app { width: 100%; height: 100dvh; min-height: 0; overflow: hidden; display: grid; grid-template-columns: 272px minmax(0, 1fr); background: var(--surface); } .sidebar { height: 100%; min-height: 0; overflow: hidden; display: flex; flex-direction: column; padding: 16px 12px 12px; border-right: 1px solid rgba(120, 118, 111, .26); background: rgba(235, 233, 227, .86); backdrop-filter: saturate(130%) blur(20px); } .brand-row { height: 44px; display: flex; align-items: center; gap: 10px; padding: 0 8px; font-size: 17px; letter-spacing: -.02em; } -.brand-mark, .welcome-mark, .auth-brand span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #c6a99f; color: var(--accent); font-size: 15px; font-weight: 600; line-height: 1; } +.brand-mark, .welcome-mark, .auth-brand span { width: 28px; height: 28px; display: block; flex: 0 0 auto; background: url("/jyotish-logo.png") center / contain no-repeat; font-size: 0; } +.sidebar-close, .mobile-menu, .sidebar-backdrop { display: none; } .new-chat { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 7px; margin: 14px 0 20px; padding: 0 14px; border: 1px solid var(--ink); border-radius: 10px; background: var(--ink); color: white; cursor: pointer; font-size: 13px; font-weight: 650; transition: background-color 140ms ease-out, transform 100ms ease-out; } .new-chat span { font-size: 18px; font-weight: 400; line-height: 1; } .new-chat:not(:disabled):active, .button-primary:not(:disabled):active, .button-secondary:not(:disabled):active, .credit-button:not(:disabled):active, .generated-list button:active { transform: scale(.97); } @@ -42,20 +43,21 @@ button:disabled { cursor: default; opacity: .46; } .sidebar-footer { margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(120, 118, 111, .22); } .profile-trigger { width: 100%; min-height: 52px; display: grid; grid-template-columns: 34px minmax(0, 1fr) 18px; align-items: center; gap: 9px; padding: 5px 7px; border: 0; border-radius: 9px; background: transparent; cursor: pointer; text-align: left; transition: background-color 120ms ease-out, transform 100ms ease-out; } .profile-initial { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #c7c4bc; border-radius: 50%; background: #e5e3dd; color: #50504c; font-size: 12px; font-weight: 650; text-transform: uppercase; } -.profile-trigger b, .profile-trigger small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } -.profile-trigger b { font-size: 12px; line-height: 1.4; } -.profile-trigger small { margin-top: 2px; color: var(--muted); font-size: 10px; } +.profile-trigger b { display: block; overflow: hidden; font-size: 12px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; } .chevron { color: var(--muted); font-size: 20px; font-weight: 300; } .sidebar-footer > p { margin: 9px 8px 0; color: var(--muted); font-size: 9px; line-height: 1.5; } -.chat-panel { height: 100%; min-width: 0; min-height: 0; overflow: hidden; display: grid; grid-template-rows: 64px minmax(0, 1fr) auto; background: var(--surface); } -.chat-header { z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 28px; border-bottom: 1px solid rgba(120, 118, 111, .18); background: rgba(251, 250, 247, .84); backdrop-filter: saturate(140%) blur(18px); } +.chat-panel { height: 100%; min-width: 0; min-height: 0; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 64px minmax(0, 1fr) auto; background: var(--surface); } +.chat-header { z-index: 2; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 28px; border-bottom: 1px solid rgba(120, 118, 111, .18); background: rgba(251, 250, 247, .84); backdrop-filter: saturate(140%) blur(18px); } .chat-header strong, .chat-header span { display: block; } .chat-header strong { max-width: min(560px, 62vw); overflow: hidden; font-size: 13px; font-weight: 680; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; } .chat-header span { margin-top: 3px; color: var(--muted); font-size: 10px; } .status { width: 6px; height: 6px; display: inline-block; margin: 0 6px 1px 0; border-radius: 50%; background: #85847d; } .status-loading { background: var(--accent); } -.credit-button { min-width: 92px; min-height: 44px; padding: 0 12px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); cursor: pointer; font-size: 12px; font-weight: 650; transition: background-color 120ms ease-out, transform 100ms ease-out; } +.credit-button { min-width: 52px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 10px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); cursor: pointer; font-size: 13px; font-weight: 650; font-variant-numeric: tabular-nums; transition: background-color 120ms ease-out, transform 100ms ease-out; } +.credit-button span { display: block; margin: 0; color: inherit; font-size: inherit; } +.credit-button .credit-icon { position: relative; width: 15px; height: 15px; flex: 0 0 auto; border: 1.5px solid currentColor; border-radius: 50%; } +.credit-button .credit-icon::after { position: absolute; inset: 4px; border-radius: 50%; background: currentColor; content: ""; } .conversation { min-width: 0; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; } .conversation.is-empty { display: grid; place-items: center; padding: 28px; } @@ -103,16 +105,16 @@ button:disabled { cursor: default; opacity: .46; } .thinking i { width: 5px; height: 5px; border-radius: 50%; background: var(--accent); animation: pulse 850ms ease-in-out infinite alternate; } .thinking i:nth-child(2) { animation-delay: 100ms; } .thinking i:nth-child(3) { animation-delay: 200ms; } -.suggestion-list { width: 100%; display: grid; margin-top: 12px; border-top: 1px solid var(--line); } -.suggestion-list button { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: #494945; cursor: pointer; font-size: 12px; text-align: left; transition: color 120ms ease-out, transform 100ms ease-out; } -.suggestion-list button span { margin: 0; color: var(--faint); font-size: 15px; font-weight: 400; } -.suggestion-list button:not(:disabled):active { transform: scale(.99); } +.composer-suggestions { width: min(760px, 100%); display: flex; gap: 7px; margin: 0 auto 8px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; touch-action: pan-x; -webkit-overflow-scrolling: touch; } +.composer-suggestions::-webkit-scrollbar { display: none; } +.composer-suggestions button { width: auto; min-height: 36px; flex: 0 0 clamp(168px, 56vw, 220px); overflow: hidden; padding: 0 10px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .76); color: #494945; cursor: pointer; font-size: 12px; scroll-snap-align: start; text-overflow: ellipsis; white-space: nowrap; transition: border-color 120ms ease-out, color 120ms ease-out, transform 100ms ease-out; } +.composer-suggestions button:not(:disabled):active { transform: scale(.98); } .error-message { margin: 12px 0 0; padding: 12px 14px; border-left: 3px solid var(--accent); background: var(--accent-soft); color: #713725; font-size: 12px; line-height: 1.6; } .composer-wrap { z-index: 2; min-width: 0; padding: 12px 24px 14px; border-top: 1px solid rgba(120, 118, 111, .14); background: rgba(251, 250, 247, .86); backdrop-filter: saturate(140%) blur(18px); } .composer { width: min(760px, 100%); min-height: 58px; display: flex; align-items: flex-end; gap: 10px; margin: 0 auto; padding: 8px 8px 8px 15px; border: 1px solid var(--line-strong); border-radius: 16px; background: rgba(255, 255, 255, .76); transition: border-color 140ms ease-out, box-shadow 140ms ease-out; } .composer:focus-within { border-color: #8c675a; box-shadow: 0 0 0 3px rgba(133, 67, 47, .1); } -.composer textarea { min-height: 40px; max-height: 128px; flex: 1; resize: none; padding: 10px 0 7px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 14px; line-height: 1.45; } +.composer textarea { min-width: 0; min-height: 40px; max-height: 128px; flex: 1; resize: none; padding: 10px 0 7px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 14px; line-height: 1.45; } .composer textarea::placeholder { color: var(--faint); } .composer button { width: 44px; height: 44px; flex: 0 0 auto; border: 0; border-radius: 12px; background: var(--ink); color: white; cursor: pointer; font-size: 20px; transition: background-color 120ms ease-out, transform 100ms ease-out; } .composer button:not(:disabled):active { transform: scale(.92); } @@ -220,7 +222,7 @@ input:disabled, select:disabled { background: #eeece7; color: var(--faint); } .new-chat:not(:disabled):hover, .composer button:not(:disabled):hover, .button-primary:not(:disabled):hover { background: #383836; } .session-list button:hover, .profile-trigger:hover, .credit-button:hover { background: rgba(255, 255, 255, .48); } .starter-list button:not(:disabled):hover { background: #f1efea; } - .suggestion-list button:not(:disabled):hover { color: var(--accent); } + .composer-suggestions button:not(:disabled):hover { border-color: var(--line-strong); color: var(--accent); } .button-secondary:hover, .dialog-close:hover { background: #eceae5; } .section-toggle:hover { color: var(--accent); } } @@ -230,20 +232,24 @@ input:disabled, select:disabled { background: #eeece7; color: var(--faint); } } @media (max-width: 760px) { - .chat-app { grid-template-columns: 1fr; grid-template-rows: 146px minmax(0, 1fr); } - .sidebar { position: relative; height: 146px; padding: 8px 10px; border-right: 0; border-bottom: 1px solid rgba(120, 118, 111, .22); } - .brand-row { height: 40px; padding: 0 4px; }.brand-mark { width: 26px; height: 26px; } - .new-chat { position: absolute; top: 7px; right: 10px; width: auto; min-height: 40px; margin: 0; padding: 0 12px; }.new-chat span { display: none; } - .session-nav { margin-top: 5px; overflow: visible; }.sidebar-label { display: none; } - .session-list { overflow-x: auto; overflow-y: hidden; flex-direction: row; gap: 6px; padding-bottom: 2px; } - .session-list button { width: 146px; min-width: 146px; min-height: 46px; } - .sidebar-footer { position: absolute; top: 7px; right: 104px; margin: 0; padding: 0; border: 0; } - .profile-trigger { width: 44px; min-height: 40px; grid-template-columns: 32px; padding: 4px 6px; }.profile-trigger > span:nth-child(2), .profile-trigger .chevron, .sidebar-footer > p { display: none; } - .chat-panel { grid-template-rows: 58px minmax(0, 1fr) auto; }.chat-header { padding: 0 14px; }.chat-header strong { max-width: 54vw; }.credit-button { min-width: 80px; padding: 0 6px; } - .conversation.is-empty { padding: 20px; }.welcome { padding: 20px 0 30px; }.welcome h1 { font-size: 30px; }.welcome-copy { margin-bottom: 20px; }.onboarding-card, .welcome > .starter-list, .starter-loading { margin-left: 0; }.onboarding-card { padding: 16px; } + .chat-app { grid-template-columns: 1fr; } + .sidebar { position: fixed; z-index: 12; inset: 0 auto 0 0; width: min(86vw, 320px); height: 100dvh; padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); border-right: 1px solid rgba(120, 118, 111, .26); background: #ebe9e3; box-shadow: 18px 0 50px rgba(30, 29, 26, .16); visibility: hidden; transform: translateX(-100%); transition: transform 180ms var(--ease-out), visibility 0s linear 180ms; } + .sidebar-open .sidebar { visibility: visible; transform: translateX(0); transition-delay: 0s; } + .sidebar-backdrop { position: fixed; z-index: 11; inset: 0 0 0 min(86vw, 320px); display: block; border: 0; background: rgba(20, 20, 18, .32); opacity: 0; visibility: hidden; transition: opacity 180ms ease-out, visibility 0s linear 180ms; } + .sidebar-open .sidebar-backdrop { opacity: 1; visibility: visible; transition-delay: 0s; } + .brand-row { height: 44px; padding: 0 4px; }.brand-mark { width: 26px; height: 26px; } + .sidebar-close { width: 40px; height: 40px; display: grid; place-items: center; margin-left: auto; border: 0; border-radius: 50%; background: transparent; cursor: pointer; font-size: 22px; } + .new-chat { margin: 14px 0 20px; } + .session-nav { overflow: hidden; }.sidebar-label { display: block; } + .session-list { overflow-x: hidden; overflow-y: auto; flex-direction: column; gap: 2px; padding: 0; } + .session-list button { width: 100%; min-width: 0; min-height: 48px; } + .sidebar-footer { position: static; margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(120, 118, 111, .22); } + .profile-trigger { width: 100%; min-height: 52px; grid-template-columns: 34px minmax(0, 1fr) 18px; padding: 5px 7px; }.profile-trigger > span:nth-child(2), .profile-trigger .chevron, .sidebar-footer > p { display: block; } + .chat-panel { grid-template-rows: calc(58px + env(safe-area-inset-top)) minmax(0, 1fr) auto; }.chat-header { justify-content: initial; gap: 10px; padding: max(0px, env(safe-area-inset-top)) 10px 0; }.mobile-menu { width: 44px; height: 44px; flex: 0 0 auto; display: grid; place-items: center; border: 0; border-radius: 9px; background: transparent; cursor: pointer; font-size: 20px; }.chat-header > div { min-width: 0; flex: 1; }.chat-header strong { max-width: 100%; }.credit-button { min-width: 52px; padding: 0 8px; } + .conversation.is-empty { padding: 20px 16px; }.welcome { padding: 20px 0 30px; }.welcome h1 { font-size: 30px; }.welcome-copy { margin-bottom: 20px; }.onboarding-card, .welcome > .starter-list, .starter-loading { margin-left: 0; }.onboarding-card { padding: 16px; } .starter-list button { min-height: 62px; }.starter-content span { font-size: 12px; } - .message-list { width: 100%; padding: 12px 10px 46px; }.message { padding: 5px 0; }.message-content { max-width: 86%; }.error-message { margin-left: 0; } - .composer-wrap { padding: 9px 10px 10px; }.composer-wrap > p { display: none; } + .message-list { width: 100%; padding: 12px 14px 34px; }.message { padding: 5px 0; }.message-content { max-width: 88%; }.message-assistant .message-content { max-width: 100%; }.error-message { margin-left: 0; } + .composer-wrap { padding: 8px 10px max(10px, env(safe-area-inset-bottom)); }.composer { min-height: 52px; border-radius: 24px; }.composer-wrap > p { display: none; } .profile-overlay { align-items: flex-end; }.profile-dialog { width: 100%; height: min(88dvh, 760px); padding: 20px; border-top: 1px solid var(--line); border-left: 0; border-radius: 16px 16px 0 0; transform: translateY(20px); }.profile-overlay.is-open .profile-dialog { transform: translateY(0); } .account-actions { padding-bottom: max(0px, env(safe-area-inset-bottom)); } .admin-header { padding: 0 16px; }.admin-scroll { padding: 24px 16px 50px; }.section-title { align-items: stretch; }.generated-section .section-title { flex-direction: column; }.generated-section .button-secondary { align-self: flex-start; } diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx index babe9f5a..8faa3b15 100644 --- a/frontend/src/app/layout.tsx +++ b/frontend/src/app/layout.tsx @@ -2,7 +2,7 @@ import type { Metadata } from "next"; import "./globals.css"; export const metadata: Metadata = { - title: "Ayanam · 印度占星对话", + title: "Jyotisha · 印度占星对话", description: "与 Mastra Agent 对话,基于星盘证据讨论事业、关系与时间窗口。", }; diff --git a/frontend/src/app/login/page.tsx b/frontend/src/app/login/page.tsx index 16af4b2d..501e21c5 100644 --- a/frontend/src/app/login/page.tsx +++ b/frontend/src/app/login/page.tsx @@ -71,10 +71,10 @@ export default function LoginPage() { return (
-
Ayanam
-

邮箱登录

-

继续你的占星对话

-

我们会发送一次性登录验证码,新邮箱会自动创建账户。

+
Jyotisha
+

登录

+

欢迎来到 Jyotisha

+

使用邮箱验证码登录,新邮箱会自动创建账户。

{!sent ? (
diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index e40a2296..30619eca 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -33,7 +33,7 @@ const themes: Array<{ id: Exclude; label: string; prompt: stri { id: "timing", label: "时运", prompt: "未来十二个月有哪些重要时间窗口?" }, ]; -const presetOnboardingMessage = "你好,我是 Ayanam。开始前,我想先认识你。请问我该怎么称呼你?"; +const presetOnboardingMessage = "你好,我是 Jyotisha。开始前,我想先认识你。请问我该怎么称呼你?"; const emptyProfile: Profile = { name: "", @@ -276,7 +276,7 @@ function ProfileFields({ value, onChange }: { value: Profile; onChange: (profile function OnboardingChatMessage({ role, text, streaming = false, length = text.length }: { role: Message["role"]; text: string; streaming?: boolean; length?: number }) { const visibleText = streaming ? text.slice(0, length) : text; return ( -
+
{role === "assistant" ? ( @@ -330,6 +330,7 @@ export default function Home() { const [profile, setProfile] = useState(emptyProfile); const [profileDraft, setProfileDraft] = useState(emptyProfile); const [profileOpen, setProfileOpen] = useState(false); + const [mobileSidebarOpen, setMobileSidebarOpen] = useState(false); const [profileNotice, setProfileNotice] = useState(""); const [account, setAccount] = useState(null); const [accountError, setAccountError] = useState(""); @@ -355,6 +356,7 @@ export default function Home() { const [presetMessageLength, setPresetMessageLength] = useState(0); const conversationEnd = useRef(null); const accountTrigger = useRef(null); + const mobileMenuTrigger = useRef(null); const closeButton = useRef(null); const redeemInput = useRef(null); const composerInput = useRef(null); @@ -363,6 +365,7 @@ export default function Home() { const activeError = requestError && requestError.sessionId === activeSession?.id ? requestError.message : ""; const isLoading = pendingSessionId === activeSession?.id; const activeStreamingText = streamingReply && streamingReply.sessionId === activeSession?.id ? streamingReply.text : ""; + const activeSuggestions = activeSession?.messages.reduce((latest, message) => message.role === "assistant" && message.suggestions?.length ? message.suggestions : latest, [] as string[]) ?? []; const accountId = account?.user.id; const profileComplete = isProfileComplete(profile); const onboardingPending = profileComplete && !onboarding && !onboardingError; @@ -502,6 +505,18 @@ export default function Home() { } }, [onboardingStep, presetMessageFinished, profileComplete, profileOpen]); + useEffect(() => { + if (!mobileSidebarOpen) return; + const closeOnEscape = (event: globalThis.KeyboardEvent) => { + if (event.key === "Escape") { + setMobileSidebarOpen(false); + window.requestAnimationFrame(() => mobileMenuTrigger.current?.focus()); + } + }; + window.addEventListener("keydown", closeOnEscape); + return () => window.removeEventListener("keydown", closeOnEscape); + }, [mobileSidebarOpen]); + useEffect(() => { if (!profileOpen) return; (redeemOpen ? redeemInput.current : closeButton.current)?.focus(); @@ -557,6 +572,7 @@ export default function Home() { async function startNewChat() { if (!account || creatingSession) return; + setMobileSidebarOpen(false); const nextSession = createSession(); const previousSessionId = activeSession?.id ?? ""; setCreatingSession(true); @@ -884,9 +900,10 @@ export default function Home() { } return ( -
-