From 1edd85486be4bd8e7df2159f19de6d70d492cf8f Mon Sep 17 00:00:00 2001
From: Maurus Decimus <11444311+mdecimus@users.noreply.github.com>
Date: Mon, 20 Apr 2026 16:35:21 +0200
Subject: [PATCH] Bootstrapping fixes
---
.github/workflows/ci.yml | 56 +++++++++++++++++---
crates/common/src/config/network.rs | 28 ++++++----
crates/common/src/manager/boot.rs | 1 +
crates/dav/src/request.rs | 6 +--
crates/http-proto/src/context.rs | 12 +++--
crates/http/src/auth/permissions.rs | 12 +++++
crates/jmap/src/principal/availability.rs | 2 +-
crates/jmap/src/principal/get.rs | 2 +-
crates/jmap/src/principal/query.rs | 2 +-
crates/jmap/src/registry/mapping/account.rs | 46 ++++++++++------
crates/migration/src/lib.rs | 4 ++
crates/registry/src/schema/structs.rs | 2 +-
crates/registry/src/schema/structs_impl.rs | 11 ++--
install.sh.new | 3 ++
resources/schema/schema.json.gz | Bin 138690 -> 138746 bytes
resources/schema/schema.json.sha256 | 2 +-
16 files changed, 142 insertions(+), 47 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b1f7c79b..cbd1c942 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -43,7 +43,7 @@ jobs:
if: github.event_name == 'push' || inputs.Docker
steps:
- name: Install Cosign
- uses: sigstore/cosign-installer@v4
+ uses: sigstore/cosign-installer@v4.1.1
- name: Log In to GitHub Container Registry
uses: docker/login-action@v4
with:
@@ -377,6 +377,11 @@ jobs:
needs: [linux, windows, macos]
runs-on: ubuntu-latest
steps:
+ # Must run before artifacts are downloaded — checkout cleans the workspace.
+ - name: Checkout (for CHANGELOG)
+ if: startsWith(github.ref, 'refs/tags/')
+ uses: actions/checkout@v6.0.2
+
- name: Download Artifacts
uses: actions/download-artifact@v8
with:
@@ -424,6 +429,20 @@ jobs:
archive/**/*.tar.gz
archive/**/*.zip
+ - name: Build release body
+ run: |
+ if [ "${{ startsWith(github.ref, 'refs/tags/') }}" = "true" ]; then
+ awk '/^## \[/{c++} c==1' CHANGELOG.md > release_body.md
+ echo "" >> release_body.md
+ else
+ : > release_body.md
+ fi
+ cat >> release_body.md <
Bi+JJ)khKqR;QDsL;9%qmaMz>WlvGa)_wi9THe6z zmr0kF`xYtOGl?LScCv8EtmWsmeyI-5*%9?tZdH$Xe>cOhc&pmZQyDAmy;h4iQ&*?e z(JUC<3ol7{*ZuCCRq-vmrmrd>y@jjlC|Lw9DMVBwU9p1{??lU)dHV)5dXpo>5LEjZ zBQ#5r+?pWOwO#zX+!~}wN(aD*B6vIc^5~E_aA#&>fWv>|XIZ_4hh#Vc2kd>&+J;1% zIj1s}e^cWjKG?HNnDoPNtfBYlj2lujH6w?32|=|1atf7}OE)UaY^8J|Eb2Ht;X4`u zt1z{rTnz_XCfHyWC9app`Nzv^X=D&(V94Bt5OPu~O8nM?(IN5|nJpa=B?n>kK4y0f zQXEjjP_C`EYxYMcO2Wl$@Nkn`JQr_Mq>-GdPHWqoT0o_4jhstXDzfv1Q#Ew ziAgFpBu_T)=Lt}$^mZ0!qUJ%6CDB7*$sg&vG;Sy6sYgz~jtS0b)3kZe-z0@Ia@~aO zGabtE7{|wNj-5G{k~|qDk*$y*f02q(e`3-A7Cd*;u%(+ooJriv(b}nQ xjSlqAa=h44+ubhN$vDmigxZ#|TE$*iYWfwqH8v{gcP3%laXQ zBEo!%rI@EOc}4NdB`EXorC9t9e=oXGLd=$b8~MKcCp%}0f8(Vh|Cs0g0B09}J*lil z=%6G1nLfyW=23RL$YpwHdG;lv!EC_R>M%JLowhys3+FmYB?8L(6vtYMt4bBGBpr8( z>5R)&4YVwZ6Uyh?qu(8j%_&c85Ap(Z)hxF_FKk9wgPP9fm<$=@WI{@Of6mF*7sQ-w z=X@MzwHfC`>9lh^Eia4M<*NXbpoiH!lQ+&QFXJpY-CcJ9706X7z)=*7sRv5-;L;sh zH|8~b4X7#$e9$#)vr?%mnE7aN9jgr2PT2AkQwSo<9-iKaqUqJ0#s^a@k~mWWdX-to z_dcK9So(B_7w9Ef<}Ff^f7Tu)9A=C;8bvBemH#)a3o!1Qp{XodC^m3ZI$K93 ^6m+P;ZjBxa5eWUX$UHIX#>%$lBA({F|~iBa9b>m&A2)nw$)x0jjzW+ omE_Vi`GU3;Un0 z2qP|&EPV8I>Vv%HU>I)&>Uqm8ae;Zr{0LLv_^MRLBuwEfYMlkRFM*6E%ZL-EMX(&H z*UVmRqX2{kz|h53fAkc_kA9eM9i CNH zzYlDjauWHrIzQh4yL4oA;Rt^?;-Vg*Fr-__Qd?o~I`C(1fBwwPpSk%nH~&_+Is79; zlc7Z&z>Kmkr5++d^3#j68qxsl@GKj%cN}|&gy?|Abd_i#SvOp36YKMf;rWhvzGI&6 znCCl2-7$Yml4%r>RDBj_-{h+SZUH!r@Ib(5t@I%r1t%j%HX-$r$hcwkMWGG0g$D%t z2K`GCTSL^@e{qQXct{`nGG&$jxa2%@x8gdMK-t-HG6|nJ0}?A5F~xWO>iO~WEnZAi z*wDWFMnOW{nNiM^psAP%ATExGpRj&cv|7V#kO&-GnHC>-en)$vEeeQaV@V!kb~c-9 z#M(oqo98RL|0`SPgn!Dc?774Q|1`M%ggMOVB>PcTe{+}XRMKZ@(dVmtdsq4O!_4wh z $*9%e-wqnfK-#Jm3KW3Sh{Hv6DP4%LAaGU;Y;t}TwDy&MazIq@kQ^nlFg zr|y@MD3XWSc|2YuVVt|XpK-GS(MH%^+r$c7Ya>6uvwzQ*_V4`mGmaSkwHGXRcDH*e z-X!V$f8EmNHNOa*4E*HgqJekIVK-)y&wTn>CHc%Me{(8H2H~WJhX^1yU?tD`(r@sQ zbqmdc<2P25T##k3D=x*$$ e V(>!12eO>30hIf|PUf^f>9wu36f5#8P>A^Q? z3B}9Sz8BSWK0PP)xNneiw=Rs=Srwk|^o{RyYu=V2m7YoqO*>ZYT*e*twC{{A&$oT= zf0_$Nk{sH5nJ8!N{jX}nFBbI)b3`hVky9q%&n;{#eR5u)*@Kg4nxruJ+z!{^;*STO zFWYPYn @ z0GnI%`m(a>^Huiz8h*ZS|6X3hU;B~;`fPak4&ep4rHAj(nEiM0=BtPZ<_7G{=Kg3e zoB79wM>{qFLS+muz4fBd&w`qCXK;0g!rY N4XzaM)ir&s6d%4si`omxS5tuGC*Zt{s`O{e&Y z>L??(O7s-bRbZC+=nR_SQLZWNQYWgPm4) @BJ6C&$Q%J*fKZ8bk`kIBH!^np)3T)-zIrpDR;|~4(f+Aa=jJ#|k zH0$7G=ajQ-Tvu$Wz#G=E6z#j-3Q;n(RO9}9dx?0*QW)>v?gjBEp@P42EEbanlszrZ zWv$k&umkHk+3>k2u(kE4f1(xk*!tu?E995WU(;OCQ{1GV)3C9IZ6dFAF8s5L_vGH~ z&5$zTpPrnkvZtkkYH(5Xf0M(A_WfTC+44@Tt5(E jhQjwj9*fA_wn63kNM9OTe4 z^FAfHD!bQjt=s;qF4w~Dy*wLydgZ3o%~sMwvE{D rd_iu=dKYSj0)ghgJZVkH $gsBp->!?4_3ElbY#}_(B+u zqU9I`WQI`YzO4c^_fa7LqUmYt$Mo(Fpm-UaZu 06uYIu&iyg+pMhsc}V3>(Rm6fA8HO4Q9TzDoz1VMlE^) zM^^wJ0$9i2y;~=hvD67R5ZM|TiPOj--11A-U>_Z<8cVpd+i+2XL=KGoc~jP(35F)~ zPMSOn^tY0I*QhwvC-u4|%`f%zf<3xQ@x9VUpLuG|==O)8)qY4KJ7YQH@1Vv4osb{x zaY2Geav0Wge<;-_d`-J>7hA1nn&&gul(%vi=M71PJP9@@vw^2jx?1EX`E6jcEuPTj zL91ZgV|ga5SuFY?UngZ+rj+1e>e!M7?juILj!zbgAhtY)&bdLMuv6+$^|bb>Yf+69 z0T-Fi|8#Y7gHrwl{I@e~zz 9ARMWLAh+2UaE8ZEZo}hyubYZT4rsB sL zb|;K2f1$JsU1ay5FcwPrHQ>kYrsn@^EXJ<)f#oq5von)3S!uC}n>Z_@ugyvXT%GYv z@O(95xsiU$-QiXj*`A;8(M48xIe)eFz{7AJlB}}cMxf$I4)7J$P?8$$!ro5w>)V}* z1R|<6RxjM+1OC6tg?DsdxknBUTzvZI__)j&e~*q2>@4TFdQ`tV*1*uo?zp;f$A%Dm zf=1kqeq|P8mEdSJSpOC)(qObTSFx_Q3YYg1e^~fwE^4~qpZ^GIlKEW{z1r_&jAC_7 zZNZ=>qk<0E29|}`>0`!5Vp?x4GK3qDfsIYI J9;vZbs{AKjr(5Vl^bC^L#yovVgu1=DMq2sA@&EoBCO9nIj8yi!!(c zSQ^==i_xvAC*9&;;m?ODoYHpABDrYFmRsoS5%Dl =?TrW9g@Bq$dSNMoS7a8PweIS4~+b|Is- z4ONk0DhMIW5MTi=E^_yP^+aMV#RU8g+7Lg=_Py)7950O(=qgp93q0ddnVbFi`n4En zA0AK9<32FW{Vhawi%G1j`n;H?SmsU~y+U~Ruzs7khX)89ar70pz^$PrNkrhXf6#}+ zT(JCFx8T=z%hfj440iF)F72UMtQ0D-t<<;)i_Xu%oj;zVXq5@khaaTfO3%uOva3 z5AXrF%LoR(3?2fDDlvGl`e%HOL(sbl1qU$~c{e{;l`mD*8_z8Yo-2^UxsFu{l1(U> zPLV9ANnvnqJ-fbW*xXiZU4R27e}qXQ?5&!atctlPv)n}I@GENi*nrZ5PdvKe)zo^G zGiAgxSc5o9QZDK@Mie^BBi2=VEf#)70Mv26Qqu~e!ihy7p7e<%w3J!tD8}p2YB%dB zC(=sM2MDc-s57Xn5}q&kz4ME6f}OtBOWCQYZ-!av?Z4I|zpEmdbcO`Ee_oY!xrh>9 zh$MC1a1NDF8@{4|J$iR^`1Y-Q))F<5{n}xv9@~|=R}M9 S)7ahlZhUn1XF?DS zC9U&QMw{ThY_SDB0-$h2e^ }4Wkmu;jR107OmPmp%SpAZ7+wqn7} zR-uEpP@MTA9RC(1=anOvXjn8;3;`wW6^9pXBSxqU*=0Bn^Loe_qKF#yVSPV1=nkth zo=FE(nyGt7n>fOG8r}FQ$RWA7n97gl#msjkTE|bQE8@<@p&i~{f9~C+32Z$+t&|S6 z#R?{HIph+#2m1#O9Nq=F119|PRX~akZxQ!)s4fpN8`?7R)9_bzFZwDV9@T+(^euo0 z9X|x@8EFTzkckv{ptC&s|Ke9|UMW`zu%JO(IYN;Bk)*dnZI@vQ2ZtI;@$ZAf(gJpl z4#d0Wk7=@8XvK&+f2uV#1#M8c4oz{;j?aujwck_di-`L8La{H7C4UV=0= UXYLWU-cQa!8YKJnQf(o zcIi>Kcwq+ya= Agf5H^9OGTKs&asE^k|8?)cp@&(VSfZmcPaT2e9nzAMhm~fx= zuqVGR36f>3Cpj3qJZ+t)lC^xT&O`yTKI58je>td0f1U*!he+@+-&TwS;7wj%55Z}Y zwxx77e?enP0C;GDc_x#ppVRBxfwxG&8fPW+&U6j{{_}?<1ta0Oo>Vm8Wcaq~hyKd{ zyr=%ef61t-iX1$OFh2n(DvMN5o4E+sxuy(c0`}!T&f-yaNJ%!pIGO+kb`IzDXQ}8^ z?p5%1?DXEx!cmpUyYjW&0Hr-9>9~l;paHxSe )c68xz51yuUkS~0X9(i+-6GPxQx2kO5NlmqC>RMU= 0mQQ>MQDyE!4>~(gR P+Hu2E zsNY>o!7%pEeU{CAQVUE_VbA$vroi=LP59g2&Z~l=$l+IaZU)8cWK)Z;I8*S8%+#ap zZzizXB!rzJ|HMDiok1y7OBeJ`A-q s1i-eQ$9ZZEro6Jm4^dO81Csm@XJ&m6{tIs; z*yflY{o%v|WkB#W3Ia@|iQ7f`e}Vm-Z3nH308T)$zoo6}S)>-B7}NSz#;Q68o3#b4 zJ>%|(UF_N&>;nb&cW=IXd-(m)+Zq!BX+qmLp(;mE_BSH3m8nxAIwI> Hg_b<_;HCg0@O~dK=AF{sDt~Bn z5M?Y699(GL)tzL`^bYntT0fnGyi`=sonm~4MUb1uF^&(9jBAe$G*|r+ (Sa-k zMs)Dz-GMFtdilaT%^oanx0uPpU5qBlLfw*0u?V_MN_XI8Tb5NZ7P+#s08Brj60;pt zr0?t#uC@ur0(9p99^*>eE ^@w4zy#R!u}{!S zye=?Tc7*E9TH@~_Ar|y>U?2!aWqQ0omA2h}bb~=jSP0FY{HPM F)>xY)rv!wbV;RNV@O_^9_krYVcLB0BFn{t1@QR!o zn xefnqkp=wL8n|c&SLOopfV@1IZ y3aCb~of{z&TFGQGcLE1Pes7O^0$ihk1`+UyN<9M}}5AIvQ>fK5=6aX LPD(SgMzRX!@mM{ke5|6UVWG)gsV z$&^Up@Ox9#VU&ws`GWbA^@4#bIGzUC6#|kK>Wmf{K{Q54V+bc4nSUF}JLQo<;g-*m zu^_*EnZ{e--xS%#S?h+gG|BU*Il3i`X&L0=au?)}0lrHf6ONLT3GL$gM4jD_#5Bk^ z!nJ{9p_rQlpjqZ;obO@AsVFG09!1-}FK=a%xrPi%)|*q^N@Za{1d>qhtUd~>w7t5D zb$zDbruCLZaW5PlWq&LUP9DPgh0+)i4V(fASiO-!?c<^{je1N{6D}Git%*I{4xQDC z5@*50o~ek!)lBeqm2Q2v7ZIZw^a1BKSmf*E(pfA)Ig;rke63hPJ_o1L+r3T5U^zfj zTnP$%J{i(e)2FnsD42-raVvzx%V 3|9gK*!_zaO$UU zMB$lbo?aUFOP$?f5e^%1?Gl6$SXk@6iB;HR{cBed0`r9@fuDZ$%>Zt4!td^%{m_v* zR@0BNI7B>1KG%Dxv;_lRQGP8RvW1bufI&+Cz9E>Q5+2nB?C`c7 RdUn`cj+yLxcR3~RFv)E-{pe?HZ?){ngdby5 z;hi!PwFmrBnq=^jfSWR0L@1SygKSG1?S4O$ut-~t)?|W^Qtm1Z2Hy|*p7({{pWud^ ztm?_IY(Ow*53S=g2C^MZyyyc!Sbe&xd)^EJC#w{RHh-k3@Mj$Ai@Y5(dXZi8yQ+OI z)%qvdJQ<@@^d;Y9S&ZiE+Sg^3yJjL=H}@4~Oc2pu=w4!p$`SFQOJzB+4k_DzBT^+# zIJ6ZaH05GEmV3iw?-CV;FNed+SDakS2i&V18n~!kk+qP+2iX{by08qL3j +ryt>@2z9&%xb*h82F|y@KlI) vfRQ==+Pzgia5(i8jexcXu}lz(mY2VjxW)$-OlJg~f8N rfPO5C z*0RKBS=N1Hmn091=9&n1sD3mgs>8C7QnV{c1_Fx8mCRdNy7XwjEEfocQ5ZbBK%B<> zl%d_mLf(}=m0_=*i+7sV`k(yCy?>e{=@=~&i7lKUP42BhM$%!MhVW#wjkAc-op6EA zIe+)XKyjM3*khovY&i!8&r!w~XFa6vVzh}&!SzK! ^VgvDug(Ls%TNYTD7kbftN`GgPQc D{&otxIiHi|<7m&QUHiyo rs>RWF7@8CCcY^Ic96k Qu5%C6MyP< zkHx?dKiEKNGP-c)XETwiB;$0+xF~$Hg{j2RT`1&Tv?54V01mY8{mgEl_!V1~ymfZ9 z!aK~r5Y|1G5yu*IVVvcGKmHP!V$1Tl5n)6+VqbCH3S+`xjfkU?xGYTP{(M2K5LXV^ zP&A|ZJp%f$%9R*k+>AWVMo=KhmVZiy=Sk#Mf=&+CXx`@_$ZUHU#gepVu_N^sy1s%^ z6)~|y?Z=n{a9*B$dc|*0t`p4)1VFDyIB*wC!ya;yA~H+So=tA~7W|9-5sB${D;7T) z^~@aPGMR?75ke`VpEt!0M4njX#fI&9X345VLnaC$AIVuH9SN`iyA5#Bz<+0-Xi`3S zq7qgtA|tU85xwY*4HHiKTpU)RGAQ#j4Z`AR6|~wt9uT2*k&}gz%#>4hldQt5ebqHJ z#y1V-!kJxsd8qRQl4%*uf?m|Fxl*NUoKU+q(biywsWZmqbX#O2>5eXExSl#OHZ8B< z36v~DJ3SdCEjPnELCU9#seji%bP1p+w9*2^3^!7U9F#ShwL^fgaDf`2N>pmvxeiJ_ zq)z$B0M!tRVs&`JOo%kF*CZO%3p`rfv_syZ0GIz)eq#_-xm~Qn>5l@|v>KhyK5Zec zl2%an_z~Hk=sr~UtB8A92?U5(sUA{_Z&){7p24qFI(-2={EF0X%70 zlhc(Ro7*ru?Wi6F;qEa3$fdxH{FRc^rHmb zh#!DA3!>j%gx0C4eSb%lR%cJ3O~bG>X>X%wEJ_wLv^fUi?Sa~?s?3!J^CVwWg;mb* zqwBMn#fd)!pK4MUY0Z?LhW}gsqEsW=A6gsz;+?C1YYhr15ak4!)5p?8dzLO9$NU#1 zOqES-j~WhtGsLN#m;dvnhLS%3d(E%Y=?&c9N&M<1F5?gX?|&;)*OY{uotOVv-}OIb z=a&i>IMS<9FS;?WCwS*%?oJv23T->JBQbgf?E0;~qqp0!Us7ahsWSRE!g^xipVd#y zk>1#X0>#POi9j!mrEz4y{*Q0I|3O4(!S>j41Laf|sVbQyQ+J8X>OsY5t(`jWc8g~M zIjYOD_c_;nVSo8;{Sq_H1!e{T`j6x*QC()8sg0sKHC&ifGIo0cYipV(cO@<^C4a&* zbpFI@9gB?#DZyQXPkvP?M)08!$kBH3t$@;+o@Y(^{i=a`mzqKB!-U?h09NtU1u`ZS zNI8HsqvB%=nG 6y(teeBTYgX-gSiV|vZ5^ylb8PEleKV=HhwY% SLBys zHdow a6 E`Nz-uJS}iak13~O<9jv>l4JD1a|x% z&{-o}E*3yvhKXoTWrgPz5KRTKrj6x%Y#nZv7N|82Cryl5;=`vezETkU!Mssg>w;im ztu-&kyZSsB;!*oQfAHSDEi#Qz)@6}p3ZbE91gc0Hs5kZZe% 3r866=J;zVgGBFKDM`y9E*A7T?pB*Ji8o4OLTx6WH zaDKeO6f=|sZ-XazG)BQb=nR1sD#;V;%F4pZKrt{{FfKFXRblZHdev=Y@U&|GPAFc8 zGGUXSfj_#J8aae~N||I{(A}U+eZ~$6Jb!@hbeX}T_CP6!1AtTzyKf3l=wtl_$`5IX z+wb&+*=X6#W#q2{ke}Ep? z!e6hFCP%vN4F;En>t6S?g@Eg8cl|eQVr)rRMc75` z8WVF4hq_2=jM)Xz-M^@1g4vy-h%3@MELjau&O};n`}vY;BucwfO4!4Ci*6|wX@8~~ zNH#7FAl%8nrOE*0sqV<$SY$(D$9>Fo1slqOHtxNs&>`Ia;abDJwiSC>BQK*feISB> zz0wC;xSsq{#DfYFECIb$ql@l5+_3fiTU*HYw9l+}C03!5-zmB|JUS?E%dsnk9q8S` zkjzQ!M5?+{61(h=QF3>Ku1aa01AmpsV23xUH-#Q>*KwDwJm%h&Fb{|Ctmg#0T#}@= z^W)L+arX?E@~Ot9f{Ijq{ggQ 35ONh$d-MQ a&(11{k9;l lNUY~mZaEg4qD`#n$zo_cYBhhO~lAUiu5o}lJ`j+-LcST7*0 z5iVvRDwA8$znOlE$4tgIQo);TE?~XwrsZs7yQgUoAOh9{i+>Kb9K!9v+#M|BAXp%6 zJ+Q7$E-v>z++JU81!Z>f ww z^mUWe`Oexd@^)$?^Zs}vvKJYwTc$KJ4!CStIbv^AN~#i(%MYb(exs#0f@PdBepZFQ zg`Og{q{Zr%KYvxAepSh#sujaTvjZR{15(F~5on~^LLya5K?Svr;~G?m{CXw%jGR_n zRV7L}^yD(-b-|rwy*3dLD-hL(6j1hP5U?H{|8QjA_W|bbUq*o~zNF^vKEbRD_S-uX zBTDyZ5wKZ_jtz6Yz#gT96g{`$l!u5|)fbW^T*)2F#D7-$wFHgtK58ZtJ`%H}G>aYd zd^XbS>%NfN+rxc9X$n_vrVQxuSFp(nO=p8orEJOKp_;9Q97(FuKAl~sXH4rgSz(uf z&EL4}O8XF|`4Vmv>LBlrqG+KLiEcMzfcqyN^v^hE$GU+MrJN~Qq0PvoCei#waOvb5 zx(`Q*e}70uW#^P~QM4xESw!(l{nkAxm&;W^y?Iy95EW)@75cPK_Kj<#bf;Y5L~wKV zKed+gr#y%=8Dd{9yR(e%@tjv(F3J53?qkuydwKie)I0qC&B3c(3VD#Dif99LWy7pQ z=~UyI{IUfpHO@F{i>g`Th?%$#=Kc!yd%PS4B7cI;SN`TPr~;GpUSyp?xvWD$XW*Tp zEUx=CN~pE@*4v9oC{9Lfowa=O_!T*9&dx6{emcK>|9=@_N8cYGy(*9;uR(#Xq7XC- zqO9rky^H}E)y>%}F0$B70SX4;8fGS_rB%Lp`|j{n%eB=F=e>km;#HwCRlzSWI3may z^MAem(&3_y>nPySQd}Ay&HsG!Nj`U4t((O^mHdS2!sy{R``$&)>C$ji s4c-mg @Jr5{CxhU$$R_2~%=MK#cr!9gRDcvu(I^A~gb&Wk&!^{ 1l1S?)r>G=6FmYi3W zo-1O>ii@{T42Xn~)|?*_1ELM(|9_y>fB)|LAL`@|hB%WPSN0VpX0f%QS9E6oU4K~* z>15UY9{K6^!~bn{kBC|s6!r21_XVshC~lFv k=qGI)2>2$9qLc3nIL4 zc8G70PiQ^@YyQ822#zT~{#%&+72n~jmqy*uzxtd}7Jk8Um&fCs|N5nncz=2rl0p4N z6D4{bv~t__F#2}_3Fdv*!@zXo@Yq$BFZcGv3mYRW?|hj}l)uaK)+4gji|J#M+;0@y zqr3t{Hc~Btkq@S$ afuS7{#iGT80vADJfsj2W8xB@Hj$AXkMEr|_M>NKz(DZCT;*3P9; zAzj7=g?jDtuUp(-bAN!tIx&j6-47HkbDpML_ra+&X8et1t+k>$&V;KqdoQ)D5#HOU zC$%no2#=C+@QUqJ3iWW!qt6iq0fX#=5TKMGBt9X%VUB3_s&2C_4S(EYyIxRo%f4Kq zI-1VyY_)y}mCk0%ms8~!76r96I`^@Vi7-=C$c#g>tl?I $F5GQK+_mvDisY=rxWRI}Bs8uhLi~B>PgHMV48mwJ@9`y<6)IZ2+avP*P2udW;nY zAmW@x8d6=+3A@ohK7XsGOLLng9UdOcE6A7Mj^~aQ%LYg9jt)UvaB!gMkOjf%Wv)8d z2dln4D&>zHum_8jOYZsEF5I}MUMI3m`X(y#C8lveO~!+thWw~Cg)Wh|-T *-CcsdkG DEqgE`4%DSa*4 Y!6AzNm7g=ViPVE{pr#APDqN zux)uVN+M84j(?V@Hue=i6e&D$ER{!?XIV2-VJlw LmT_z?ZPq#0`xkuG=_h~FHyylwEYj2`Vb{g4B?1z- z!!7Bds(oXQP72~9GW!W$Sk~h%KFCckQ?rRu!BLgFp?~#_7Bu15a+gyF31fc`=s+;f zo?g&xDiZ$Yp40Vv)$TEU%5RvON08+KU3~(H2&m3Sv}NFv@L}Ef<&XEXjAgLYpkI&8 zv|PiPZ!6&JSU`u^t={2vWxX#IlN#bPjTq&nze3?H0I?e_z%M}ndu0nIk#;<_I8iCe zWU-rN&3|80^}*M{;o+M%M;6Yz^YCtGP4$R6UuH^mMbPHYOe60Mh066ZXN^izu#esU z70r^S+{)F ?oa*40zSgS=P!V)q3-w}eNyie%YjUhs(kIB7=APUMYS9tF zv+e-FtmD5|<&y23Hvo*!t8a!@>|qNPrPB-X&wm#NbqV|2i}}-ws(B8qa}>PsS5B+= z5~CBuzcu^Z3u^O%?TR`L$gz3#n~%RMx^c{j_lG}tFThUxLTgEX+S;W7ayPxH{Dq(v zG#~+1n5sZbKE8j2`^5WyyaVrl{!gm&_*a%xa2^;)pF}*z_vmNcgee)?x2Cas*4Mek z=zsE_JuB>f`wBbq_ZKzmdpd!CqtUjO_P6zcbinb&Pb0z6^HD6ejSgX(m+f!*L@K$b zMI@h+JA`MZ2$SKnsP?1o6n0VJw97G2s};)uo``f~+XA2FUq8vPkz+XbZ&7x_H;v7- zyKW#J31r=)@Tl7sLhw39uCX||v60Y3@qg9R-z|E>1t$d6-?OEpy6C}_CDGD+mm G*%-1_S)^i-ZDb6ZyV4;aUW-}k72S>F$|*c=<1TaECAUY;L97$KL4 z^g-na&E6x4d1X%@30W;Tr$p>m0Q4)Jw^C}N3RUhrydA m-XeD&QvajId_aVVmuqqP;2MQ&9t6 z=_Pc3P2JYfP^ u!wFk0}JInuu7u&`X<5y`xp%ae;wyWZvXAMroP zc&<-A4?n&?Ke;`>)u!$f9e-$Wy^cTF>!TS-A*742NWv1AQ6u~Tw&`bUG6JdWd*eK7 zj&LUPBiknEp7?Kn0M>6OlKKdz@)&3{0JBHV$tKuL@UM#qq*kn^JH`Jbh`zhPPmwJ@ z(O*Zu6jqH2RK+-sp1)XjQ@I;w+OwOOt>$OYrMj^ur`MD#-o&_w^M5)0XTsnC?TGlh zbf6ImI^nV|_;|k@1Fot+iX2~dtduk4ap 4+$MeOcgbYX`*KIl1-ODud_j%NO$N zi&tel%a%;r)&;u<^ZvK@qF`m`EHdTZ3XF2J-f#pa!4mCB|B%Y75hZ}zAj1W5Tv+{E zY&=FbbYiffJ<(qTjekioXbU$UOpo;m+5+lf<1Yi1%w0B2+5;#1> 0)G5#W`x&^@l*4-XH+2M;qH&{$M1GqQ1`S68+M2CqRKc97g5xeYRpY4Ol z%KgE@pMOwp`^}cMfMW8cD=fbJlsR-8LMiIlc-UswVv%q_CVy)bZpPbzrkg2BkHX59 zcVI-zMGV%q@;#8Bn|_3A04A%RN^7N{FP-R2zL94^w8-=%4HDx~k}R^XEAy}jt|bY< zHxm{M)3ZizP0ny#)U8G2KbQh-k!GQCrS>yq^*&_B0s9Tr%beAVrPpDN8= t89Gp zf$hv!N|QBdA%7e^u?Vev`~C5E?=U*j!mf%|bv#17jSd zj>qKpTc=CQMhnWUN#^7I=YM+t?LJujm6Bs+FJGVxy>|yhd;elrAXjtzm9+g!d9$ht ziMCXGJAYc_j<{U1Ra-SU74vQ?nv&cfgHC~S+cV^SOWIwG8!8j0v}=4}dj{R43_&+| zGkOJV#q7}ekQYe&w$C}%bLjt^*K7PwO2K8O%D+s1+k0VD53D@)|E*DIv>OSI9Rys+ ziU&KJ@S)bacSjM2Y0zBmW8{x!BFcGqvNsqGM1Qu^UJ9~c{nC2X2#hrfc0Euw ogIoG;)(Twau@HI9NY~1VZ9>P6C z?Z?c&5BlA;a)k+EGdmI=JH>&h{#L2gRDW!M-dJDt;rB)qvr%KDH`jIwkm$};sM{Bd z9QYiEFrn>O2=L)X^S<{+GtgU&@|MLS)i2QbGKi<>B=)`YyyUYKlziDukbbgCG}T9n z=%JUGQLf<9H#|;?9O$5(%ks@~qO>8}@ ?hKkh220K(JNoYEzw%< {`+x1v=fTliaYPRfzI*fC+r#hihgKW30P+Udio%+$ z)P9z*0tW$gW-{L&{&3U<_Asu8J&eCm*uN$IjcPF;EW{XZ;%9ZG@qCOM 29r&^hBZX@^B&0A{T94$A|m0jwy2*_#8W`Db6h3bB} zR!{ihf&KIx>vyq+?!#mC{`utR*=Yi|S{VCzk~(7p1AE4QJu>jq2|VqcEV!e(txfKL z=gYd5oJT&~NnyS^B{M}8qW7R&WkTHbxD6^D7HH(dGLnlIilK_HNi6 @|3x72c*0P`jB7Vwo z;&X*BT dvC22XjT#*>UtGESk5f&%y~ogERF&IZl$q2E9ZXs7W>&PTJP z3hx;!7BhPgBKm+lVv?A}l2TC`HWg%FTDIcOud4;jr5C#` rCSgV)o)iM>!Gs>Bo9ucfj(^e@-Sc6R{q(lJbfO4*^ -d77oees$(4Hs}E2Foya7jqa< z8!w|qT7RO4^;2Ggn5<3gE{3SUlvkJ&MwGARz1bU#ssx4`zKdxLTgc+`b=nja8d7V` z2NqOC0=o%y?p*N!AQ0J+8dD?5G)jo8btZB;zm)u2M6)lbXRgMzB1n8Z;bgf*r!Ehz zvgpo6j&h=(iZsPWsgg9p4 K~PYe{q!**>o^oUu@AmP!uL z?-%1Xa=qZ&G@c;k&8>%|p|YxqPWel@O1R>{4RExS+i7(5oO7$%&<*> + GbkU)jH zD0CFi;~tc}Ny-`1!g!LX5<>ePCvs+_u$MoLL eBo{?Yq010Td*=B20l6SPqicyG(3Vx!421?5LtCl4E9(2+uVEdAke3> zZ~d0ARG)FRC8j7F*=BfxJA}(E|9@3xdEI4^gdESa iD8DoB ttxjQS6sedF3pKo!&Aqyhg z*j6qnf%L%$1i@@=l#A3TCFCO0lO=#fg4wZ`(M U0$}D-+zI9jrp4hbyZ}m@i^h 1ha#UzZQi%mW#^G3MtkiSsMjU;MlO+-I z5DA@>535?G1V!he(|Ii3iRv6c|2{lGz=9R8=E*W+9osGOHh )GfFVR(hBoQN|jcw@&$R zyv~s^r9}8=Z-3_o*a&d6+1lq=^xqCZw_rPXwE5lLBJW~{O3oini9<9<6y?Fw nZ%e=r zCMw!h*?$h$bxk>LQ%Hf`t9&zM_bviy)gT~@CDH(cKpEn;&+rbKcNv;;s#fm^i-o&+ zQDeuD8FY+dZUFu1#o4Ww5;_axae?Y>Is_K8w6niTWY gHd=u$L4E z=Bv|OH@i~@2*j{;gpLkGlte6}u)%6>4dIulHGg!I`=V&X$^m@iYf1q*80fMeKxPRi ze8)dZC&(}cSs_HVf%ME`Eel(dU )vF}NiPvLR=oc7{5(7t|J4idD7mWHCZwH9zAoA-|Hzr*w!$8X;p zRez4-a}JJY*6_?4I iStvorBC^KP}L)40K?>5 K^e zP0Pc4Z&Mtj3i#%aRE2o(`s(89T&Gccd{=e-xl<9WA0|{6|Aab<>XCYoKbOqz(1X<) zeLz8ZL0K=V+wM$A)GoP CFtS SU5fW~v4?FuZOYI(>%z#V4R9EcHWz_j76#cCm$WbOlPbh>AL9r?AUN$P z3GMR5Uhd}7 V!BYsZ>?Wv-zxurJ5C`yq8qG>BH^y)vG=%Q<*hxexSw7H qRf+u!rCkFG#O>5+Z{CE3sAp% z>Op9G{V41-T|jjCoYIr5#tp1|`(%_@pf_1i!g00?ws;S^)O+d3R(9z+4W}Wh_9{i6 zyq6@|TvL@LCE2{{UvMFz%pTB0Bqw5T+K^56)c7SH4N^fPl~msmbANvv^hhNHMhha@ zKt6F pNZCExYq{PU;S|?%-9?UFY z(GK)c7DG{B>-^*b^ncaQe%QABjLZfp*0UzbYM|mD?SKvAI$%XA@^1v#Z_-Xx1FOjL zLE7b@KGh}ZSUCG8Iv^J?Z^L$>!NyjApeYZhw3Yc^4l+AM>R=%?%8IB)(oz*PY`5d} z0H#PKBeM=wIk?OVC|k5JCKAhPN&twaIMfTcjdq5|xGz%MN`K>B_hdp}$m-^@vZYoV z+wJAc?3H{@GOK5)5`NxBVvE*hxH^Mdi5t9Omu1^otbXFdAb&4Y-wsB?AMMzvLu4FM zW;~H@NT3zdgkZd|N=9qMa}i=4;>$BDerCnr1S|gf49bz-sLGr+3U@DSw!Q?Tv9Jwd zHf5$E*#+u--GA<|VN6*&xmk^ATKWDf _Kq~Dmnl9})g+*-MD_i0(c)N>!-wg33P6ds&}C!)3MP$G+h zb3N&oFXY-@ypk5_+hlZ~o!vQP0kj|6v*pV7V^Km3+fuY$PU%!d!fE`Ge%a+TQm_^H z8)t+NW`FEZ8k%z-8F+iafmHmqx?^v@KmP8WgNE*EascbL464j7vj9tj#;yt~yu(T} z+^D<6qXW(!k)?uZuAAFx{z0RV(vHx6zNee8&tx`uk^G#b_gF=>Ms4#*O>9L@6@GT* zNmFRkrO0%%;&ak^_;#IK3k9_wzWe^oTa#1{-+#P4I{fatqwnRpiMp2CwfKc$^iB_{ zj-CUN{=Nc{Hco(qoAG6GR>DLV<2napB8vhjFtvb *BZuZ(RC$igva} zlq C46V`@os6a7dqr&`7_R&2I3Zf8SIg}sVu>?>kTO7 zAAk3TKZAU<|4NC4eBp1-@$Q4wO&UzXCtFeT1$`04pky|_aUpi2muDtIkUgfVtR#vQ zV#}Acf7q*hsES- yqS+UH@?7t^v+Oewsy7pP GY~I1Ah`H-m!2>gOXeaM$V<4- z{0BfFF5;EdH+mZ4y(bs9g*0VTd(kdFWBgg1F)l+vhYsYTa2#~05XbEAmZz%?uC}s5 zDu=-+MGVVZrj8|UY^sF$mgv+&Ss<(--}G7RC4mIbxFq%ARBTX2uN7oOMGnA*3V#Zd z+P( VZ;9mxema`j-VTJtOFy12g?D)Q{lE%}NVG75-qep+`D7%$oG^VI zC>65MT7;u2nUa%d(D2TX5Y|Y25`P-K2nd~q39!gLj9CBzBs8ooL`zVe>bi08^d8^n z_LqL~WDT)c9Ks3PL01RJ0D%v0dw$`MIiVwsM=6D2%UoXP833g-5>hE^EM zQ-9>H7FLHNYltkv#A7z$O-|i2=JeU^xU)cBk`5|&9Q63>XDozN=GPQWQDTRz@OE%0 zblZe4fox{rhJT6@k+M^&&VL`{qI3_K`n4KApy^Q~Embm97tis{!a+th)q5(7%Kv7q zj{J*#48*^~(Y^6^lB<6wF<6Czfe_f_kLlEpMGj3>>vfjIjZkL>9?x}9ZATN(3U}e0 zeCD~;-Dsr#nT%B(rQ%n7-N}E?d<@SkjUe6iPt-5y8Ls_B6d?Y+WPkZsZcI`-62&pq z)=)VpsLITTMBidpf)%=9DrAt`^o5!9c7R2%fyP#UpQ+9|MNGF%F;*98_zmP%>#CpM zc=nA#p?l8jw&<$;##l!bUisPBK%1_2Y;kyW?RyW&-a770HQ$>aTqF-XKe^B2hcHcI z wZhHvv1dw;NnHiRczsx<24y_XjX7UGyaJubx(K7=-yQKe-MA;b3GLKqUi z0DO*^_^ioqo(i!R#L!Qwzaq2i7YA$D5Wg>VUY48Z4j%vS{rJWaBSBssLUp5R+WM@N zqP{BRW*g3161rQvQ=V1NZ9?U}OtDTQy}47V^rrZ!;k9b?N`Fr~0QV~}DOh7{voScM zX%ND;t6Ju>HBoNOioO-hGmKpjUz@T0%V0K2Ko66yiCgYm%J{Uu4df~?yP&rKj|%P- zj 5x>CW9hN6#|Cwet1C}+Nk~^9g&ga1x4JCwgG@_811q;ocqppl@j>6N; z_oiq;3kt`mZGXAt$yKdEHS8e<{V99=HjktLvJ1`Ff%}paQ}&E6F?10j_vW|=k=r>O zTNsdNNDul_%gSkzZI7#M%jEmN_V-`^FZq1?U;BQx(Eb`tL+!7{O#AkFe_#6p8t&bN zvG$AE_;ImU{54LO3qLCU{`VxAM}F})N&-ai#ZOQ3D1Tjy3TM6&B}gQemn-jnjOMo| zF9(gxPte1W1cW?tPHs=V2W+E gAl&PQ3f4`8>s@oI=4`Z@H1_d~jbRH151TN qis{T|{+v zR*52rO@Et7@O0SCUQsx2L2YMO9qFx42vbn-q*-vWa6$Poc@(gSni^y@BWPE$xSbfp zJNq;!Wna0t=@Zy&F*%<_NfSZ`Hy^z7kC)e93#R}k1{}2kQ>7XCI D+i#zaZQTtWn6g|qq68$)TOQ7$FgFry`l&u|By{YZ4nthl?HPx)x3F9 zSbvp&>iCBrT00{#Nayj)k4J$kAzL6m%j9dc0IJ)!>-}Zt?f!TBhkx05wGCe>22ZAI zZcgNEAd{amJjl3{+hIrew1j?j`!2I1wcYv+3kfQ^4M(=T9w3pVls&SxCf@h~y9kdv z;WUJDkaD6^W%1BIwWzHo{J&KZMSn8E9Dfdva%g?DQNE;dv|REMb2|vo^ymDp2m~|h zgJ%JXU3n0(hZ^~9#BBTUA}pE(7QX$?0@=(-Z}?c7m1s_^gUV0izUVuz&MtQs$i Yb zCqI!x#-FZEZaNb>To(ws6{*4jHxt!q%L)o|-VKDhNR*;eUe-Q5o#H7l2jSw2K33jK z=`OUZqVWK{d(!TL{_$1s{!~@hM1Q&1L+Of$&gugSj=Nyjg&?<8I2FU7bRqNnIo W1C}REOm_cr4)U=u;O*%;HzVy95=!)gotygj_(qQ$?F5$K&E23NkXHHbcEnLgj z1iV2r@-y9X{5F7lqpXL}eLjV@M5}206_&H)D&NkUhw50AY9AswU7V@F3x8SkP!7j| zLRpb$AjN!7V;NY|M}R-@gVV+G6yxQaQ(T FjEVlmotPEh#m*Zn3kXv3glLuInykAi6ufwV$=yF$%L2 zc*;KnH3|ncJ3jM$ZhzhNO=IUVdUdhR3#@zj;dW!ju-f;7@Brns{h!mYg|q1A+l!*K z0B3J47|Pbn>EcZCnLCq5aBET>)xPdgq%*+($shSHqVEFzgBYg{{cD3dkp9gs7=;5g zl7<3AY8120y;4muTtU@kU_^-ZwqRm?y<)OqP#c3(w9=!^M1LeVQCO&*&Gn-o@T3=v z-<`VQn|@aCeb-hlbV*cwK+@%Dv)wlhg%ZL&-wG6#OQpcPC5W!jPSqA7GHPubA{MMb zyF0q?@)*724qF82Lz13j7WEE5p$ioScy1lIZ|?cdU=1;EL pE;YN&s}IyLSZ!}Km+aq=T&`*QtUk-4#eAZt$pN@XPQja>BeOQk z+tM}<&49$PPP-{Zxh-rY+;?4x%ZRMm8dTqa77Y_a!-=lpOi~^eY)IMV(D;6blo$m$ zJ7BSuuFx?7x5&BI)*qN 8YBZ|2XHpv($4c0J8> z?Fbl|b$5*J-cmZ4x5P|0f>Y((q{ SivfDvmQASN_@Rge>q z+Z?(15Vn7jVq+dP6=u>7p*$utyrTKs-mY)}k}yRj=*U`V7XcfIuab3_xTB|r>BZOi zuU@P5prqWyT{5xat#SIG`hwS5e!4L|{n_E?+o@$H&J?a;;thBAHE<>uMh=yzR)& zH$+|<^C&ZROQ(f?w2%PHyk$(keZvc|-MAm}G&+ABO)NoelYqROE{{GTUL)(XOS?)g zkM?5O&=Y-SP3N{-*}&u^M9FkO>E>#0wgv10nn*BRkB@dOKN5L)w*y=lkMS{-q&G73 z%)-?^!ceJ-O)E@_s RFcFmY=yRel$h zC#@SETPi6{>^hYn!zioQd@wLYo@FWsHloNR$|pX&9CUwIxq``V{YT;EEd$B0IIh?Y z4tudaIlHNzI4134VatR}(P~8&I}0ahGkdsbplkR>et|YWQOwzITn2^v2^v}?@0Nc^ z>`2qMJhL-@Ts9JcN#$4>d?(_!B5$3%tHy3vs?Uf?l=wB%=l--V? &Zo;_?>w#HIVSVB)IgcfItgDQk`b;Wz)wdV-Y$cF{b6v;bPpt_h zQ(1|CW1ukvDwDKBA~+>?lq^E Pv%`??MQ~mFW>RGMzO!3bY z|9heM&*`&h^Gx!;8 ;XKUSM9}cYk1)2M?ZLvhh~%-22p=-*tPkD! zo}P1RD-ec@^}*BY9&G`%Wx9U>>OS9I_777z>xNEzm}f%YZv0yz7yl@hbF3-ju|CVW ziq3HPrw;*qM<~+O#nrio%gZblg^(*Re}M!8fxd<+lmrDa;W|({v)V8_Nk_8=NA?O5 zM6O9Jyo?rIAM8S6l+K=7*?WJy$=rATc#TOv{kqY5y-)w**^6M;=bV30M0**{ZwxXm z5iN9_Chkh;!P9~QK)j-%^ar}UyiyqlHmB9*G>^MGbp4NmcoZ}Ns~UPy@DM~>g1OFP z_`*>M `U|er!E7M23ZMnG^$Tjp6vzNN$Z?S$J5sLLU=NB8Uk7-R zJ=hlHLoW96GYAau4>;W^XYj&e(S9mY{5AmF)x``8y CrkC`WiW;PpZi5=)6ai#mQePypeR;qGTM*f zbf)?zkMf^a!8lybRUhj)KX4wbLpR+X8B_t7DecI?{&8`?-K>61T-lyZxwMOI2Mci& zvkvhCYUXD%bc+rAB07tP=Y&uZCoJwG*2F<~lnkRcplP)21KmY)AVDh*$iDam0~djj zBEv}VdH)dX$|Qf{m~oVHxlwAN00UAf+j1IkfhHh=_0o&COD)dub=JGMZsR0%-Nm>V z^d@9iMyXq -7cfR>VJmSnH|1---H&evz9eo zM!{FtuG)cEORGAVAzRT@s-2hUe9$k_FiD*ui1Mqd3bJgMlp{3x*4_{Jf8xy3zq{%u zbwH2HL~VcfFngxzXR7`!Q?<*7?3u2g>H4=!*A6eSXR>}K>)$e2yZpeO>H3+jf6H`j z^YnVA>1Ue$Ez`8sm+P6RpNaanO4M$Dt!|2a3UHo;(K^M~r)jW4b+9$n-!SCTL-#?j zK>rUd_FZV1u{-60!-A*UpQw|Swn8wF`>RqSzGZ)WA19BoOvu+wTie#Wi6OmbVK%bn z4ip~>xX2gC7jf)h3V9G`A)mp5F-KKrjrksE{`a*^T~4(*&3PNxD`D{O-wvEexi(+3 z^d1xL4UB|)UlUgL8iO-|cSj~J4-@Fmx0ghqK#4HNSU*U_E|^%`u&QMmwk1m{<%elg zeQSR{^G^YJ+seEa3Y9XMVMyF;MJXb+3Wr+4kbr*fGsPu=e9QSLH-mU Fmt%e3AY5`Zd__XUn_&Q8Is><$m<&r#b9-_8L3wG3~rg0{|2@<29z7 z$@15d!1P9YL}2^>o+a`A^w*sVT`=S(=1qT}-=RM}8Rb@gNULwPN}GtnPsbw64W4cQ z%3x$KT5QklK(H7YLptSjFz)6b6hDxEy2$v;V5KRs#86~} zNp6>~fQif(T-ebDAEs0SEB6?f1qo9;S{00CK01TRaYT2bm5DWZ*SS%#SygqXw7zDZ zoHePeLwYX*+%U7t8up#l5QfM3B~pLuD@^#0iFaR4{3x^4*lygu%vGUmP*f({28t{! zM$cX&xXI*}JaK9wKekhEd2sVV&v-` WSP=o$C1sYR%hTW>aNUw8=# g-@Pa+_uwPR{Kic(H$x;@5gmVHE;bZU(g;C;BPVRD |E4N k3Hs5}N?22gMdeRQKX__n-nT9aDvYCtk zk=w%FtyB@MjX|YkDq(+-s)HdR^ngx! knce=u`|pQ4=9!T_@%ygFbL{GzahEP+k=a?I)iHl&LG5x_Cf>gS7oY)X zEB?wqI!Dpyu@~sPlTT-&k`(-nr(s74FJT@Ga;u(g;oFJ^-uU <|GJ>pHe-(1$jyI=BiN`F)f|qFO+{SJFp3ZXQHy}@N(ddil&CX z2%hYNPZuZ?l#|%IlBK()Lk*m^!h%=`KXvQYAd;JC Gmgd^+Q+L;%>nhAgYMu*as9lvve2Uy3`YKT_RVEl=L zRBcLOc8;OO_`i7q(kUHneZ$Cd4#)vS#B!*$6H|l>0ge-NiB|V K9M zcm_OvjVO$*PW=e M$IbLA~zqwZU@*%tkk1EUEu4M*vBBsaWa2e z&V#nNldZb|*ZooX^^Pbo(l|el$2NgwT$;YTYt(m5zYjU@@K?JJ3ZlG_sm2H fafb Nwx}oUE!+tc0^ZDbb-50 zr+y3ygtWC!C?hLm nDF6VRKmQ-`VA6g&f{xOy(4FnY^l2U*6@T?_S zZCqxy;>lV*Dpy4n*x$@W{Cv?F>If0u dC;Y{;htXCuC;+qP64;+ximId%u(Za-4&Rw<}fjEy;_c#f{Z~C zki5k3J# |~s_tC?77KbWlY%5UU?PU685 zEYw+c8^pn*?qE@ub^tAqXj}$~HbPHI=&IrDMON_$S(0bV$?4U(h^&9hcvf^%UwH%? zHb4ufF!Xm0PyU(&D1W;ZusZ^*wB>0bhun2s^7z5P=>;nBq?5Np7_>^^)e8X*1_Q@e zLenuK5S~xcZ|_cn7jW=&CSDcK52sBZPGXjNnXLvE*G5+lsIhVNHq&Ps2UHDH-{uSO z`@{{Vi16*o+Un7vru}~$YTg6~p%xp)7l|do;@p2a$+5IV-pXIx7j0?#(jZS)C^YzM z>%SX3?0`F99SxgePkhncMHM`pdY*lex^3|-4k5>O?sSs-(OKY+qtI5MaEPDb3CZ7W zm;#w&f}YbMN9y=g-~pr!hP(HS`Nkf +o3DSRQFl6tqZ~X@QM&8px ze|BLLJ%ti=@8V1`AC9 _N!mhR?w{CGU2hwO_=zlm8PpaZzF`C0bx;H z8kQwCa3W7e^h QLe-hv)9V)!<9tGveyza>>_B?J-H>9jxp~D zC>>VRGDi&~!^e2Za2m#>2@oT!x$fV)Tx(qa@BPtzGMQMc#Qw-ytW9+A_&d9~`_X6_ zv1)~c0M5eL%K6zyvE{Dy6UJd4;(ZR|+U&9PRV05Da)*B=j%cFN=5ojG&cBCwZZiw( znk%q%tUPWg-NQB1P?Luw1ej(^v>GFv&~=RQ12D_Hvswzo9|v-zd@GTYKL&8L7#Jz( z_AZS{>N&!6Y3AmU99AHaQ_mIPAAVnw(+qO`5IzNCTO65n>D2nmP(?ZS2?O+|w3dNN z_E+m^{=m*Ik<~*6!PFMbdA SX^D((KEPBg$jemB>vJ&%RsVl82&;ZB|T>6mojRtL!7NjZsPLmf5)__*ZzqtL3i zvgbAHulDpeAs%qjsox7_<}$@rE7Gjs=G&F`ut;@_v}JN`k+p1tFi?@KtkL{2jI!Uj zml1!ub8N@Q2ypWo@-X5J?;`h|;wL ayNLg+y1aVV*6t#UgYc><80|FOiXoI Ky7H0Rnv ~Z_kOc^CyFsRZIG~)4=~M-yMRzmUF%rCWrN&2knE41OOa1vr#-ze~Co}OkaN| zt7saG0yML<**3PV; 6}XS*m)Eb)KVDu-Tx|;C znur7VoSE(9moE-m2D+;Hx3o;hk8<=9?*khbx5!_}VAbd~^%D>?x!;beMEid&)09;a zZnBL7#Su#{wl43X@^!hEe$}l119xn?zCeY&*PYu@O+^IZ>2gb032of`%EVe^w@crq z>cu&cW qjc1>P@gEiQFTR)&)l(q>jCie`oe zgt}7QI=mgHL5xZ^q@`k`*9U)|73|-RG^h@{^N@3qI(zy_QNhj&wKSBf@T;N*5sL3` zr!WNt ijClPNii?yUUStJO$SGRu;JPb^0y;wm{ z*`hys+wB wFj;&x^QNmx89-*2;Ix&HnKR_Z0% zgLA#}APw1CLTAFzD|~l^$i*DX045mE0mU0A*kl;6Awv0 zr|a%riB|=b$&MV%^Io`i`g|5%`#fd0^D`7FMH^HChF&DEx(7c*iN3LQN!^`B<<4rU zWU8Nx&VWZx4(c~Oo%tp>c=GV?JKychPS?$JzL~i|XHOpl@DqOpGEC{W{sCeaCe?Dk z<#2_chu}r|Q5JX-X4=@@qCmfwFz5%V2cD8PV8eFh)jreK+7j2%Cb{5_xq;Jx7@rr2 z>)kFHZ5;y|-L{+6{C*EqqBZ{Wp{m~FzrbWQ6hs_@vDY2hq*zAzHx$0{b1dR0LQ`-a zo2Z9`mz_Hp9~XbqaXs&zB&K6xH<|)Je)q$7zyJL=(Z1*-yeC8?t*3l|NSwEQJ8wZu z$c#HNA+`0OS8;mU@tfRiAvqOash17Mf=7f!x05b!%rJM^c&EFg$92i`bL^d)S#-GF z^rukVI2iT$9w`Ur%*YP1p-5?)Yy_`f{nEo6{oIVES6F|7DIkczwE11kgj4Q52K;?> z{|?OndX_R|8Ih?#u`KJ=r&!Z}6e6-*_>eVV&2t$ e$bI5RlEmE9YT)oXGe96H66JGZ)WzKM^SO0yh>5-9nH zlUP5&dOIc+-f$Y7>M%oQpO$dYtkUurN)MGN=DebIU2QuoHI};#CX2HVAEE)0TuaK^ z$$`CdhSCFN0&Cw4X}er#OpQDHhEpSDih9=-|3rT$?dqUiEK;{a)v&H16XlDHEcwxB z&$`vl-ns+%eR!eDgB;tfKJuSvd^ cV7HHA(V8k}>M(8EhsSiT)iVsXDnX^@E z$24`BO_`ygUym|}D(C4~Ui0?m2DchzaY~fj)FfofkP|96p(b+ew_SJN>+(H=WrVcQ z&4+&?|C*i=D++&zA($a;SDr>MW3x2bWm-?mSF$?3vP1P%O|kI2C4bT;j;|8-Q*Xae zlDU62J_be0yj^u1boFL;;KVN*>&wRat!yk17r~~g)6iC4(;rqC#oBKh^j2koD5LXA z%v52W*t&M5A{|H@$A0Mr)5i8;NmfswL0o@T*Y(Fti !OBCtzDA)QU#dY90-eFyE+1UUX*dik$!;h0{}Gk4OWZb)%kT0bv(E|a2e zv4PFHgi*IZN@PGLlWQ()bzs>e<|%)mr;w6%v(9UqQ$&yDdSW%>hqC6=u0%t)C1^`4 zXCM2iDDQvC#5a?lpzn>{u4p&Y-xBJS9lviqU?zJz<1z5%cK)ArJAb*2zud-OZsRYv z@t529AL%w8uV*r_zml}_YC}j0v);xyliCmhUx$Jtvid}{v8HS1)fai`7kPi_7kTNU z F1tR9CUG|8Y%V^r)VGsPnryW9v8D&$3nnpuvSbW0 zV1w4kJ*k}c^xtI?)R|600R`M3TxPfJ?2!X?VB5@l?0U4uK27%5)`5Dof8dZ1RzXlM zIyVf$z5^pc8)ry>|C6CG?)86ajle-o _9J{5OJ+Y>)Y2+6iivz98{)5|m{&Yb( zm4oaSKLpcpialvb9ZKOtV@`vTV0BLf?XNL3Lh6<^IY#ArgkbkYCw?qLS8if^hs|cs zc#PqkaAgFALxpCD1?SjKNlIHnb@#&O{EPuWlTkj*o~IC@;zgnsEB=33a4nE;C^xV* zAjAtIDen^gIMknbr+p&WpF!Ydb{9a)68f-gg1t@iPl5ZMfAuS(ob9{=J{!zgma-ji z&VEw}XZ`^>e7upf>BTz3C)i)xruVR+x9i{A=0WGp#56E)e>@@hnhk9HMCfap{WOO( zboM{rj)jx_b9HrC-lcy66qK_I{&Ek(fwaficv(&Hkm>{ w@ddT_Ug>M@DU-iP(st!b*r0sB7pQ01kJS#icVFLp;dgW$oC1h4fu ztXn!|VEW)CSzl9_hKtMdi`U0zhgM=|qiMA5+AH?FxHK8a5P5$FJ-;o!B}XtFMs|9O z@Cm{_VW#g4YqTgKwL}R5B7{SMD|n^A5W|7Bk>jQ4TG$KIdCkva9CeU~(-A}tbsVAw zE|S~wu5MS)cYbFfP|Q;;6s+r0ER?)IBrq56Cpn>5nrb7dqO*nPp~UO$JxoP|K5@6z zoP-P{AZs_PY4v{;qB|kB8%m~&4v4hL)R%lJBcc2*+nvsVp5x@**16~+yAW*PE`(%R z9I#nd_e46#N;a$J35k`hnq9t!=Fy@l{^j%}Uc*+F`>ED#6u2dEP=EW)cR%zTd@OKC z?%eNw{3hNQ-*YHJe-VEBjh^H0C_Nm=@BZbxZ-4l~NJ@WUgx<96`;^3D-hMc4V8hol z47J_mWj0nAEpehjSlQ5N*1{BgsIG3I0jGtdNw`IkP6Ki_sy__Dz4L*GmqNLk?O!ML zjwn{MCj^J|c22>DJ{u~Ht3s>tYYaOHiyOnF^#gG2esp{h%zn{Ne$h|-6}lV2?kh zoHVibZ%%*r570Hvisi6~I-<-qcGb?v)D`vt`|XvBWwqJ~cwk%sudxPN&X>H7el5Lf zcs=~~HL9=(gy^TBb+ejh0P?Q~j?WGjD -r`h5Gq-4s=3H*zaJA12noY{)VhC2d|wGa)X7`&tDpWKsJy1mnLNcS zo`2w&=QGa1GP$qB*BYL{G(5E9{(H|R`~7mcJXM09xdR3H`HF$fP1Z5mP4UP7{y&)4 zPzJo@65|D?h^o6o!Itpbq%Vc)k=J B8g;SQ1# z* _tN4H82EqpXRJ@*-H*s!wLwx{_whKzw&$ {I%fEVF!XeDIW$N37Xo?)uLYOy@MZQI^8 IDTpKQ+YRf( zK9u)+B62d&q$N?yreiBqknI(n7ma6+U_*fAL;X6&l!5p4n+XW)QJ{h3rbnK`AY`~i zmY4eDYrc2`i!b*>ePtuyr#^qOgA9{4IB&giO&quzBWUsV7Jc#CfIh$CuG;I924jMQ zK`CDD+x21| 68QJ=#4E ;%z-;{sV2S>L5o?)H; zILvRtG`ccsDNKOu*G%@lB0EV RFY4t?wV49-&5^b0tTmhC>%tm%sN9&9?%igK7=m zf~u~9y*JVO`@npc9qzy4387WJ;~6HK?oq|WS55Wd6}cm59t1WNdntquW(g`-nCX92 za{&6}D3@2jC#l;J0R@i_)m>j+y;+n~l$(1eAqvY0u28k^Hb#Hkm~4o* f*IYn)X=q+Xm N!(&bK|ThP`SE5j>WO4c0%D^t+%*&Z7#ixB4S0E2*&`hH#mXDSRswHlez z>~GF~FJFJ|L^6L=Z=I)iNXMAXnf#ez`o?Sq;GJPa{Tn!F&onP+giDxI#0)PbiV!SQ zQc|U`mYzu#HfhXt#hcRLz2v4;KNCKBlN+87*nj_us!u^FoPRIu9~VbP?ceo{`4%1; zl_dTFELGw`xc3!|&$PO2=XB(f+O+%W#fx%TKL;sHQ`Udar|sg!-M25`oLs*^n=E)4 ziRq}@?~$>CH&mEbNMgaMdM0=fk`sU_lm2(nLQ30(CckyRZkFrOkD8fWP~h~9I+-Wl z*WhT}&Zt=Bx7T@HN>|Cc!;FAM^gsF@#xIJ+bvkaJ%LVqxe0FPXUaj))GfLG8qRhQs zYB4dt7J`4 LRM|ROf|KmnDaS+iv`d zQX^qu(e<0CkZ*eRasNAml^(vWT=YKmyb5b6v6la+K9;x#aa$@uVD<$SR`cg_g~2d> zLMNaVykW_fNGuaUYx+ DFuiTRyJ z%kR*BAfissF pmKAnl{z+#!o2 f`OWhJ1h)IjW%A)0y^!SztPgnK(IVA@rAoIl4c|Q@6rtb> z%HJAW=IJn)r_!vv=)Q&_JihR6kLA)AX?&Tk-~4pV&B2yERJ=SX;*0_HTg5zH%GdA} zT@8^V?j)@MruBlc{XB)v b>Lu`^oGpLqki%ldV&=RAAugvo$ihe^>7yBX>ZWBm zeSeq`GQ6df!X>#GSxs+I3T(8%7GFL+H WtfC~jqmYA*2kdaR zg01rUy(c}sLpjC+PxdVP4qAWp%w1i-uBsWjK5Q9hlPx(&cOcKxobx;R;t!A15C~08 z#YHGR6{oCwc6!qmFqBY8if?DpOetV?r>!;Rn_9DI(Kin)1NQl=Ja4p4(YSwXCUnx2 zbi7n{ZuAm4zR(77`0+xoN6ATF)nrS=$ 2F=G_>)mj=e|%EBzC1ro<-eRR*Asu`Umjdc ziphCABGrtsWx8lkU=Nt2L@9sJ4JM0#cCg!BoUSbzj8|q(wqBSF{`!L)66HK7SIFmR zKX4@Y_5J?5zG)VEs*feDaEXCR2}2N@c T^!s{oXyV-4okpb$n2*XkuIBWR40GG> zL4HGFnBRU6^6$^O<)ND9{loD^ad L zeyY=5^i&a8_UH T)gg`nQnO<^a%@i-AV851Itt-)IpJE#uiKTa1n`_qXWcU zC|#rU%i}ZB-~L>+XyRdvN>Ykt(iWHNvJfeb@s*pSkJM&K>99ZArd_lfQ1p_zqL4`F ztRvoFOgZ>>R gi t)GluvgUs)zQDG}W=y~8G>@SKyL+)UWg(89N$r8;c~f?``|}&%%GS3&?}pzC zm!RB6xa4WwoK($?T3Ya}kdLVn<;S=LEdQPobu(VCQmxp}iBe)qBfBp)!!g@3X@JAf zSZV7<%3<)cj }OGJ+d=qCJ8?l{I%ztmWd+t1<)ti(;5jX=H&{LfYn4$FaeM4 zHi!Y$3F4tJr|4) L!ZY);#J$OL5p1Gdp%|>Chvdgm*Pn=&zrVehf-B8?4<;I6lVXq zG3IGkHz@ lAd0$-FyIa7NyJ?4ih=U#-dg<78a;*%iatpgCW4 z2=B+>T>M#*gw8Rr87T5G$E5#u bg~I~-b~_dSOe&95 z!LENo5pY=a^=3XFk^jq>(o?U2Q+T7T?!%G?&}0Sep~)jO274b#P8)<519_*Uz5PVC zu~+R0Bh{q!*#@r0c`4k$)4f|G=tayv+Z92t_0zI}VO!*$ Ra@%LQ&pMDWT}0_*DXN}0*LIuTJp*g1bE zQ|hm8@=-AyR`j5G(55@}*@n|!GP#bIcabC{n=_Jyq;p=Z{cUtHxykFQxig%stkH(X6ZYb^k=o!gKke!fUb0%a`