From d2f425e67db1a956bf255c83096b3be988655139 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Thu, 9 Sep 2021 13:06:00 +0200 Subject: [PATCH] fix(functions): utf-8 encode stdout and stderr --- app/workers/functions.php | 19 +++++++++--------- .../Functions/FunctionsCustomServerTest.php | 1 + tests/resources/functions/package-php.sh | 0 tests/resources/functions/php.tar.gz | Bin 24506 -> 24655 bytes tests/resources/functions/php/index.php | 4 +++- 5 files changed, 13 insertions(+), 11 deletions(-) mode change 100644 => 100755 tests/resources/functions/package-php.sh diff --git a/app/workers/functions.php b/app/workers/functions.php index 1acde1f62..8020581e0 100644 --- a/app/workers/functions.php +++ b/app/workers/functions.php @@ -482,7 +482,7 @@ class FunctionsV1 extends Worker $exitCode = 0; try { - $exitCode = (int)!$orchestration->execute( + $exitCode = (int) !$orchestration->execute( name: $container, command: $orchestration->parseCommandString($command), stdout: $stdout, @@ -509,8 +509,8 @@ class FunctionsV1 extends Worker 'tagId' => $tag->getId(), 'status' => $functionStatus, 'exitCode' => $exitCode, - 'stdout' => \mb_substr($stdout, -4000), // log last 4000 chars output - 'stderr' => \mb_substr($stderr, -4000), // log last 4000 chars output + 'stdout' => \utf8_encode(\mb_substr($stdout, -4000)), // log last 4000 chars output + 'stderr' => \utf8_encode(\mb_substr($stderr, -4000)), // log last 4000 chars output 'time' => $executionTime ])); @@ -535,11 +535,11 @@ class FunctionsV1 extends Worker $target = Realtime::fromPayload('functions.executions.update', $execution); Realtime::send( - $projectId, - $execution->getArrayCopy(), - 'functions.executions.update', - $target['channels'], - $target['roles'] + projectId: $projectId, + payload: $execution->getArrayCopy(), + event: 'functions.executions.update', + channels: $target['channels'], + roles: $target['roles'] ); $usage = new Event('v1-usage', 'UsageV1'); @@ -551,8 +551,7 @@ class FunctionsV1 extends Worker ->setParam('functionStatus', $functionStatus) ->setParam('functionExecutionTime', $executionTime * 1000) // ms ->setParam('networkRequestSize', 0) - ->setParam('networkResponseSize', 0) - ; + ->setParam('networkResponseSize', 0); if (App::getEnv('_APP_USAGE_STATS', 'enabled') == 'enabled') { $usage->trigger(); diff --git a/tests/e2e/Services/Functions/FunctionsCustomServerTest.php b/tests/e2e/Services/Functions/FunctionsCustomServerTest.php index e14a35d93..4534508b9 100644 --- a/tests/e2e/Services/Functions/FunctionsCustomServerTest.php +++ b/tests/e2e/Services/Functions/FunctionsCustomServerTest.php @@ -326,6 +326,7 @@ class FunctionsCustomServerTest extends Scope $this->assertStringContainsString('http', $execution['body']['stdout']); $this->assertStringContainsString('PHP', $execution['body']['stdout']); $this->assertStringContainsString('8.0', $execution['body']['stdout']); + $this->assertStringContainsString('êä', $execution['body']['stdout']); // tests unknown utf-8 chars $this->assertEquals('', $execution['body']['stderr']); $this->assertGreaterThan(0.05, $execution['body']['time']); $this->assertLessThan(0.500, $execution['body']['time']); diff --git a/tests/resources/functions/package-php.sh b/tests/resources/functions/package-php.sh old mode 100644 new mode 100755 diff --git a/tests/resources/functions/php.tar.gz b/tests/resources/functions/php.tar.gz index 0f29ac9a96dc06d9ebd073628a12b885b1caefe6..13a9512301a5c0e2108a9c62dab3bc529e1883fb 100644 GIT binary patch delta 23503 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 M1J8z*x&TN60G+2NHvj+t delta 23353 zcmXtfbzBzD8!a8u(ujc4-QC?G-635f-7MV*C@m@7-O}AH-5}l4FYjKyzkBcBJ3I4y z&U4P0-8s8c-LP$4unA^z%zqUNdq2@*O^xjvKEg7t3)^9lDFr7y#|mExvl=csX*`?! ziEI`H6%WIK=B?dNmv8dLL693n7X0XwWYoANcyp$>(}~vR|HyE zK!Iz^e(cD|sP^~fHmS}SNT>!LxE2~gL6NHT&UnME)tueqXOrPz#hO*nw5>m0kA3d4Rd=^3t5VxO*MV{cPfIWJ~&!cEa4;V$bSA~D=_V$o4D85v|N`u4sLFShPHRi-Gzi0z2pWrHJRLz!e7b9m?L>lh>} zJdaimj}2#qSup1Ioh0X9!PpCZUxjhPXF?8Aj;Uf*Ar?|^k4#@x_H#5I0stx(?$v}m zBSZnun>013G1_^+w-M%s9GT7RtR@yB^U<$KmK~Thy|I~bE*c!Vb~r?Z#YPpTc6Bi1 zsBt-)yQe@To`(*;;XZf38lWV5W8y-aHj~a15l*ePsK`K6@qsF?pUewJV3%(3r!cjT zqG=Kpa*uD673!=_F>)M=%PmDM(f_F(2=9Xsqv@N33vUVai{hAA`MW^V{oy0ySr#~ z*XFIxx%yt)c7Dq?f3>Ph=!|E(=N?e{ed%2Y-?zZ*Udpw>d9zvBw0u-!^>bmfLFE{R z;IFL?$$Hzee63HukBfde?>7x}v09n>F_mMdW23`Ajzu<4`(_o7(H-oohdJ(ytS7X$ z=e`*iS{`XEOE%x`LO09ym{v12juMF&upO=YAc3)5p2r$>{552qDq+u$W4ak{g z6a3qyl84Jxr@ybfPxR-`3tryTv#i+h24e@^?J%?R)a_(_u4)AM_H%*+r_H=+Gx+RS z$eMNn^V3O#c@a^OtIcN^*n(iI7QlO@6nEx0u4?&9P7@pG3d0B>TfmYsvNg!eJM!3+ zise~73&Tm1U|(sRuG`~gHz(#wmA?6&3y)Xs@nhXogu;}!R^|^|yz23gRleP4d)&O= z<(}j4OXWVug7XVN!vzD|0X;MEJxYywGwO!&j7r@TqjqUWCFM#R=c#{j)nllfwtwY_ zV?{maSg-DDzA^s@)GR{@$HJsRa-qPim#+AeZ6*F@<7VCByPJ&-(Mgqg`rC*l_=Nl* z9Q4Akr!cB~3p2JdcIeyyYtA+K0iHXYh znNextE6+X$YoILIii06x(zlmEvAF35X(pA3N>Hc>;r_<-TOC6jsTq4Ws=26z3B&i9~U|#vX8D! z$LR0F5y{C+{=iiPI*^#PwB?g-vwORZi+Uil9dAo&>quLKV(9_}?}bedzSq~6RY_=2 z=x7$b4+I}pow{zl*w$i5(yC(26czB=XDb$lM?Td93_5YqMvGzM%Znl*U`8_MFn7H-U#gMF zGX_rs6byD94b6+{k%$uVy?S*n;ruZxV+Vw7V(1yKvgM7p_RFuG>$wOjqeke*yDEq= z=D+%O)u?q}X=r~6R(25896>~NCRvw27n~`;;|@Hp9yIWr!oCvz+<03KGA$HyWF0n_R5`e}QtZxMUggqM@)^~4kDJp`9ucs=|py+<{RsjSr z3kSM955zvjbGA)8fK47^fK^&_M9UH9_#bVLRU|vvRoyTZB(7N${kITtTX-AD_%RVv z`2kWcae@IM_q~+YhtRRQmPw)E3LG;T#;NU)sR!|H?!1(|^6;O*@sVBVCP1@88bvcf zK>v$YE*YCr^7Gv-b@xXKTeLtXd2z`STucKb^9WVk*vjv0|9JV7ADZ5g8DI$iES_HY3a0=3v% zeu7St>-Ggj_GCddEJNM0XF*l*dALByY@`VuGWcM6B(nO0qRKosZxRoVfl145&$`w| zht8dY>$Z=}i{_Nz? z_7eN+o+XuaR%?%!;oc|a$S}Rzf;OV7_&``Pd1q}g@}Ot4(6oZ@*la;wNm7j>f#C}4 zo~i;%1U@MTe#%C=@gwaOsEK^`{rSw1m*ys!iq3hd72HDvrw||=pOx@ia*b9OBW%3x zy@}&2(&EmtC?w6SJR5Bs@AHlajL*DfH>WNImB`VBN1(S{Gj{J_u!O9wls4&5`|n&S z+li!q7{yxwwpf}S{UN@^c^k~l)1O()Q~#{__}Z96epJXH(5~i>&`w@kD|yG`psj?K zQOY+ZNXaHQn*|SmGQuB)sZV?U(i3Qs(~H27brg1XXW%h1okmB?cLHh5LjJ}Jo2j4R zvvv?QEs#Xqh+ORDv~_RcJpS@ri_g2MN~)Z!%T?nX1CVa70i8mko`KK*`U3&jdV-jUW`w1vW4EdDGAxRACoCbQVfaMoX<~067k^ub zTc#OSos5re*A}}<8I_Fbp^4MZfzJ^i)Fd@y(BtZrnZ=Z%G9HXq;nb5Jj1}+RL`o~# zVvkDzBLnB-{c4*c;oQvNlkhHM zAt_@=J}G&_)xaL;?Z-x)vBf@-@t{VjfX|!7K=KpFkk6S8-@VFnsW0p7zAj5wVv3O} zUvAA-vRN|hpeFZhu@`Z{4^8`6pI%D;mjLpGt>vI|iXExE<%!^A-?l#B1eq*3u^ck8(_LQ}TqxyAla+LKpOvo4tYxwxun^w+ zh9{X~r5i4O81z*^Fr~fKaCZN#t2AXWYT;pg+l%F75mf?$+2H*fnyOGe-Hs+A&XDnV z*o^5X^uDYdfr;><;fk*uux~@-DP=r!9?~lTCuKOgLB`s_w8LU^-~1wh4*a&0^grLB zt3`_@I;iJvTg_GQQzAA&6{xZf*uxp#pFJj46Xb=7O<0qa7t?7}-=%s)Vm$JT)iU8E zv^z4^?70L%3)H)uj9PZZii+%~oyZ26)P&845}G5Ob|y`@+vH8JFa~*emu@19v}b<; zDsr&wPfAjaU(|^0snkeOWTnfk+w8b~T7!+v(p6(1ME*GIXbbmw8Ghkg;uX>JDOH*> zKFy6y3s175N&kYWxRfi{e3lb;JymTnLfz}vQiEi*S~RVu$hzcef$pvglC_cOyA5F#^K36sepoZjrdfW8t-J{Wp8@*}R4DDT*P}QSa3&T$nBRCyk46xlXi7M5r&=2zkH@{Y3q37{v zn1{bsHhw-}i+GyIbwYC5E!BbuXp!laW3n{*8}^U)Yg_roVMcJ~PC30-LhfKiFG;+e ze7GEuY$hfWGU=x5$AJ!sw0Zgu(Ij+7p>|gx16*&e3L~ttC!b1X5!4P=w2a?#q0Q)6 zZXCr3v8uNB2lw(S$-Vz#-zf#9{vPww+Jxulb!&qXv+>v@jPVrA_i6}#G*E}j@QuVP z0ll|txyC-#cg4>3_$_H<_&Yit*%*4_1v zMB{5HkqC;GWf?Fdz5Rp(X6@A4WUvk({ua?eV_BI<_nI?1$nOq zJ1=c+MveH#X6!w!gZL$G<<%F_tsa5_U4osiq)=bd2&txjE=QftRc=4drimOJMKr%~ zr6G!&;W2l5AkLk)jWm`*RS(zBl#LO(o}M@NKRe&QY~H&#c7UH+AGrUv zTtg3BTOGbMgZIux-e6C@;)(jXqkS;1Kj>MjtG@*H&di)YcU|nyc7d*8CigR&gkK9y z?xO-S4nB>Xr?yxE)@M7ojG)a8*0qpNhOgcJ+1ihQY70V)zAbN-=+@wg9K1IJlwW9r zDjpokCK^ek<9x20z2AzC=ReP4-5fUmB^TX+%=B#D4VjP`YCv%>8lCdtc}4--JgBG% z6Y0L^H9)?o0@WGqdinzcnT1h<%?F(>6x&yMs={ydy5In3KZV&sDLbcAnmDGJ+Ktig zWdpYHJAKGhVmRz5H86B~aW9*j?c=7%;%azIqiMLZ6l`NzttV^gt@(gYorEb1l#q6a zum}`i9=ZkpS`C1f1<|0!qe*C5$zs91%q1)mhQE59sR)#J;RFsD?&b_^fo>X_m{dP> z#cEywfB*;|7V?)|h~8LL(e+A{JTONOX72>7MWVvd6)A81ltAb zFR(N^q4781;FtDUu<(D2fhN|sD+|&Gn}p=qL|sF3k0 zz<<|OcR|~yE)VywbwJd;8f!ft-6YrmJDwU-?j`d<7U>n22k6vUdFYYc##mmu!GztYVW0J{se>z#rRPg8$<+(B3V z(j8C<3Oo&hfalGnX!b4^F$||6h5-aJfPx`v8!SJR5Ai!gATwv;r`?z4sCUht9g< zDn~&Lm9huX9uT>@3;!?pMFa|7NaY-s`>$Wc1_j+W?vKN}JOYf)P}gFkM?m4VU$hUP ziQLBXhvR_J9n%0Pxl#o&Z{Xeya1GIE1nVx8PFf=Fn&J0Qm^vyLD@(EJMqO5o!ouro=5 z;6?_mz5|ke{C6*?Sa2Q<7GHvu8}C-`m}taAK-wMA(=R#@lUI0OSpeY9zsyT_3qdY? zn&4-h|N4tPLUNYCjt-+r@PEr+g8aab`{r7VLlKD6ivNOPH}qofh1_5@8SMJ6cmk08 zgS)8h#t;`4=sQ?4eAh(`0pCSEfCkB6b<*pAV30NNcaG5J7#A`~xbhr9p9=Es+<`K_ z9sgIFxDasSQlu#TF(>xL`wN(M0$H3q|KbiUkJZEjNnfyv27x~nGopX>!Jq>LXli2g z7?458JaS}0qYwK5KKld6UmW>NJM#Q)8sX*&?7t?J^whas7?FU8jy&YF8{mVfiLXd( z1L7N5W5uj6=R@Fbp5uNNG%XCoz3SpEf7slAHHi90FsbC(b}Z2M3XILp^}Yjiu7I)E z_F3P6z}#Oy71!6fo!!bs>tWKYpf=P3~Ule*4z)y8dI&cQCyl z*rn-qsW`w_eucESoYJ#ux9cVoTpxVsT7bq!s3KmmdH}KiKB;=H<*{c=Bk!Gqa{a*a z%1Y_!tMfWP0zv;X0UK=?In!4Y7^S`U|9xZot^ky_zR3E0p+jC8{upB#+1M%kmLZSl z-|yPzx`j7@J^?d3AxO9en`sY#j)N~o#y#avbzaa-8+oC8j&y*74 zBe@O$zu#4I)3r)})m3)$Kj(ypBJW@(bv-){2kk%rlZS^3(i^}OWPs}YXPhV?@J@+b z;q}(kLGmpKXte_YwG02}$jFfR{uc~~$H;kflhcY!{EDvoy20v9b{Y-cF!=dpalvS@rc!zUSeG9J)~o&k|8*T6YP}<3y@JGf zdHvh<@6Vuvtecy@AG^hWiQ5Q4(Y2>38GJDRKLbGm+s$AvLy1IE-du}Tff;wVr`90b z{skC$0j?}9m)!wC(*G(ak9Y9*5+fqK@IeS#yi-bjhV$|f2PAAopvc)*G@NMv z6>(as7|~|u)3@Ua{W`k++QKDh*X{c2He#akB<`(9 zq>TVnS3oX9t{E?9R%2r3l9R#bF0k)VCORMV{MEiOTAhUkNQVo453RFWs{H9LPOtmf za(@8L5-7PBW!PZD{-8-+Q|g*87`@H#qxP3RiRRfi$1(0N|F~ZVb-f6WaVEX%OK))% zn^DjE$B>#0huwHZ=1Sdjyqbc@F;c_qcck(}@x0d49}Cl3eHZa0ba`94g*T0kHl?>Z znI)lj5PGo%+zNHucGxBa#cKMN39`yPx9t+c=VN`>eq5Bw8Rzx`2ZAdD)U*Pv9N@Pb zX}rGc)FLbJz4KESmUegB*X9=LYtt4oIO_S@elE3$cdO6Mw5U<_&24I-veT9KPGp{% z$?DQ&!lTLnqg$QSKKop^tQ0%&bLhu)fV0*nbnV##2%uox$&NX8etGKT-i3an?~BT* z568jd-yxN$dl)t>IUn-vJ2#`&2rRz9f_*8BF_XDKeL-MMhZFYKnSKaJ5P3bt4R7)X zsMex=ivCHxo}hi17VhHsb0XAnDVb$1Jty_SQq3Y(PgxdGUz5z3D8DuEU(FicQmEUY z!~9bgun;lxn_FxFv|C*)!gP#t81_14+~>}PL5vG|L60gkx`TcMBcYe2*T-YA^P76f4 zdB0>N%YrE3l_vdB-D@8)C0CA-3-^aLDk+e)=Fr3YjWkWnYbZs~{Z*zdx7~&Z7Lj3p zyS7p+89Z4CJOt%Y^1(KQp%h4a&go3;mNNMmAfGw&onpIb=40)--Xb+gF2v1? zUZQfuqN8O89}^02xekLuFRZbvzQizdx8ReEU?;S>vwf}#^6Hl4ds6hDVXzse@%h5M z6jd@0eM%xxa~Z56+Y>V6D{lZ{byR}DaIyAyE#y947-TV?hK`Z9*44sz0<$UnrK+N;`8#~Pp7y!V~H1vKzZ`IM! zNlpU$2ni{Uv9`m|uJJ;rth=#0g2H94KIM@;N#5w?ktmrXX#AMsvg{1c%<1X>MY=N< zXQv|O^1Bnhb^tpp!m%KLL*_?fUF~~Kh|2E}aYLu(eP2?YXM%zmT~DfX3T(BvJvGSi zY21aqJvm+}bY>JKUxR@~V@b*+9L0vfEV5F9w6h9HlyDn1P;6Yd`e2 zD&j@u5W^n#*UL`xPs5v1|I7V-Lb6DJ&V~+?G%fezlFNj;IG6*dRf51TplgvbyJY(XYMTH_LH50p5_PAwyom2PLN&#P5hHT;>J)BdN)PW{FaJ$HX23 zCuPEyLdj@M#{T9Z2Df@>j{U&IT4+2`t9cVTao1u%OSxQPq z@f~@Z`h*WDPrI-U5|$sX4{Ads0cUpQ4>B2Ljqy=)-#?e44EI3pevnY)8V$J=N5iv7Mu$5gx6nS|_7y>0K_Y z3LjX8N-lX|U<*|wf!v4<`hJ?c$@Tuw+57mAH$0#nh3lKN){OVNxP*rSBFby-Q$@m* zG>@JZbVubjYC}=Mw(acM#VA~!^@+SPMlz_!eTI|3<879+jC*VB$eEql$@rK?ss?wwV zy;4ZA==z0JbO)~VG_Ewo*!EH)&}84zt12)8Et;0yufNz z6rPa$;Kf|-e%LE_RV&<$B1~_*erJU^Ao&q)VZ&nvn`gVZL*mEuQRL8aYo&f>78T&{{=8AmwcCcMW5b@p3F)Nt0w83Z>NiG_S4sm-s zfjjxCVAZub74rnH?RzzgUD{UVFhi5y!TnHHvgWtKCg}b}kIHTw1NGTGi$JP0va)6> z`xh=V^fdKY1B=El^hhi@SdyJ9|MIfV%O{A8KJDU?ud`7y<{2EE_smyL55&qNr5d73 z9;0)jVWlSd(I1W09-=&f{zA1t!o z8u#Pr8R)g*rSLDhdV5f1vY1DG*+}a)zL`EJ<08Ez#6WV2wA7uM2)DGMGVNbX+6-^Q zPony}f9zIyG=*Lz5iAt?DJ=d}L0N(BIp{2%0{6gHDnTm6ewv{ZRv#eubLh3{@!>vjgi1I7ftj8=FJZcX6P@dDD&C>m-e zDr>?s-uo4>oNDl`Og!!#ZhCr1e7|0)81p+OGQX-~^DJ0=#@}49xh%icsH|Kuxu>F| zC!BIr=}z%U?mF>swg}Li{If`GO=7xPW9Y)4NGi5^M8J+9h4imyFt^m_u;bdXR3weX zf@1q9D(H!C|J+(UC{JRjS0TPeqv&nyfpMCV0#zED3i)&|RV1y71ydl?tT+E;?ecim z7g8nsZt2s|8k8?DBcFL3M5KhL`nOw{r8xL5Sy;B-;P!66Z`%g=HN8IRD13U$aVQ?x zbFg2Ajo7c9N@Kes_Tyv{L8e4qh$igqJ6huKzi4(J!efzh>?VdJT;@5)-q+nJ((PBD zot3Ez?LPvxoc$qBz^b5Nd%H7u@%QxwtTO2zJhF`Z6L937w~Ugg@D0=<$x_n3X$@c; zI?-_d{c!^SXSOt8%d+D&po*o;glh0zMOg+z&f8h{<4;I}t(|&RT9-801k+^t|M>hk zG-%X2ab43l7-*r7HGjbr5yhA4BOKvyElWYX6C5sn<~xXSE|rH(*uSdC%R$tENm%uS z7=PZ66bUCpBWpuC-^nFO>4)@~@7m^B3wl&t;V6%@0aEJQGh|#Dsrf6eLq6n`^IL|~ z`Rna`H=W#TW;MG{?3fqU$IL2T1L3|aDu}Ei$DZXCY7(ngbHiGL23=T{qt7Vc_ZYgE z2w7wFTqhrtaySn#64y{LJY?MpQoIrfxMV6t2Q)^1^_XyiSUw>cw;x@27DJcXXRyj5fRU-x4->n+pL&xOm zcXD>0tKuSdcO3Ul!8JqGHL$bu(*VFg8}$H89a?@JvJ*w2xQ`Bz@D$lrKqygvSm*t8 z%SK%Rk? z;sgN-V>eCpo`L+APAm66=3-u7%U#DmlFhlC<&ctl-l6JWrKOzgI5_2W=OGV^>*)ig zLt7^MVJ?xzI!H^rL@yS!nPri@FNuZrD&KDYTrc;CT#1 z4!`N#VM?&uK^SEqODv@qeW{qYo7e(QinVl}TYTUP0|OuHL$9e5UdC=4ZyTHFEOV9C-mSzpZ8;#EB_Scs8+FAVq-j7JTN`7i+B z)BJMNg@^0D78#ri!k2h>V>4e5e3Eu99YhWkfvBj*F&UQ#K9|`J9zwI8aPB)3G!JP- zhxj6}@U8qv%Qx8WqMA>H4%~dLn9fX zkFUo%?KQ8|F%v66;wNXSNPt0|*eW=iWuJhGxeM>!(yRQA=MjO8^@Wwmc}GrCYKqM%rtOQ~3Ox4})dAif2%Hh; z(EZ1Ok@ot@E*8N9LS_0yiDZiup%X*H?Du_{+Yb=sgNo9MDRq?UvgPMSS9Ikdqt&cj zEtBfjMkEhc{B~lWvrGGizxxyE{wh-RrDdN0K-`~h2eV+yKaI5Qz;4G)H zztUUDZ`v>F2LwJ4;@Kjh3_aStusZi7P#|bD>l&oXt^c|#=lUGv@KjtI<%irq z8*9V&sjAe0>ob!ndXhkx_$?zJyXFs=&vrhG3Y4h5TF;UpNp5@lPZ4~lrDp-C2OLP9UqKQ2HQZhnG@$el(aUv-Ux3f)%}m0i z8Jh(cVNnX6GX;ywl`K(B3kDx2-@$?G`h8Y?A1~=%X-<4H@4Nezd<@F~UwtZ+u8}&2(Mv!vbDqCo#Y- zO?#`nx_~H6?Qn6KV6nXAr29P9;pO1z)8z7Wr)lQf3t$;1eu+U-#E*+(lFa;-TcAHr zEJCqqlhPz#l2}xca9YnsmL2oJ;P8G>IZ_~*<_4CA!$RzGkGhHnDZDTPoF9>R%lsng zeOK%Sb-ATY0k5}-YY0RN=@9$Q>N;5TBYAO`JQm5%@A5p_a(IRnJeC6>-R+rqco?G zj-f8t@Vm(%8CxdZh802Gs z-sJ|b&{LVY>K=PQh3cO_>d$-kSIys_wyqLMaNIRQXZx80IR05;2hP`9I{LF6RS%3f zWaAF6Z`&Vnvanaf2_tU}c5Y+SPoW0Rv!ZJp)54l>91k|28Y+dEoMd-98%-h(C>xcG z^M@X(dd7(OowFw4-L9-jz2Eg@W2nJhs2n>y!3xRM#|2*~W1 zlTjO}+0L7!s%j($P28fCCJ2k7v_c>6JhIyPVGpD zl$+_*Xgi_Dsou?mwxZ0v`I3w;qFiK&P8m%8ev?B)2PYB#g5Y4C_c$)mVtKxs2mZZ| zApK~QkNHjV?_u5B4&Z#75i*ktPG(d zGLaa{MR<)@qAJfwB9aK45N@n(fx|DoA^})mwg#d!n2fpiH{YCC7GdbxYQK>mq~d1%8_&pms^ zd}9!7rfDX-MJhCE`AtkBX3VD6BygZ9oXjw?r;cdehr}CUb z>64TCNXZ}B;J9sdOLHK;0R*EkpukNjc^-bhN(YvPXkVDV{O`-^1mHowl~xe4NZ*Tw zLN&)OQkWnRJV|^>PYv%GR)6WLK(j17NdpKA6qRa!N)g1r1Ib~g{)yQV>cXU*gPTjb zChkT#sllJEJ~x^YY^T@lndHif!b0qZmvyvFmQ27 zT+Y)k*MHJ4D(@Wv-rw|7${Ohpb&m-#;Zw8<$rtT|j>(1?Lk&%?Vsh>M&Vw2RBNU$H zmzM}wrTFS|`e`H>2tvt1zWW|LH$I-iD63gBhE{wefR$v`6cH{ybUnsC$Qw#xT9cma zo3c%}$dML#yqVEMVjm=^U4}ayiaY*#+C-s4wjD89E#pZB?C{8HjXg-IGn6m&&#xoS z3L!6G`t0Ef2cPF0ikrTWBN$(z!afNk#Zho%ZEL*Y{kPZ%AXc@@GQ52)n!L`pH|J(T@>m*{y}sZY{OFoqf3_ z7n114mb0#mfHud^-{j4Kc%KqDP!;`hWDIW9dS^#8Fe6eWeS_lE!%dC_4aTk z6eQV%*D~Fr+Y;M?d`U!IL@hlsgbU*)4d_|6PB~W_0QBdwpUZ6A9WMp*xvXyRn6c3QK=^9oxbDfn&2I31eWO4*!1F_VNN&``Wr&# z&WGRF#0%Hy`H>0)lH*V6kTlO|(U|h?A*Epqu`aY$^x684#}ay1)+-!COvYFem85vI zjbw996F@;YS#vVW8s7J-B7Sy@Y{cP_B#k6j{r!M)zcBv_a^hAM+s5_wpUjKF{^6&h ziGeDFZhqKq(Y53VL8$k}DEWu7%UPx5g)n>V`Z15>U3LAx*eHItpr~STMMZw&Jc#QY zW1@=SGnDHbW5$zf-+L~+WVJ*gf>6~8S3Ak`B?A`8olYawo?oifnc^$H&IA;b>QQVW zO>D+62cd%KWeR3i zi?E>GO|2Am4|XhQ&AlUthW|kb0@lJF;KAVFxr#ezO<$V%0w{6SzXyjdU7VX&)CfKI zh6(5h$)UNcJGACzOVhE7E%H?z%u-tOz`<%bXTdpZJe6wCX!btwXxz5an%|n*#(f%Z z)Q7-{w+iIOZMgbk@0G?QdI%*X0@u)-neof?3MW~)G4B_kYE!Z~W|iOmCB{WC){0?b zT1sQZDZoJkYzoeqxRJ1o5Asz>QcQl{V;XN_8R$Eee!_2?lzz?jRM++by|JDC02cG` zOv@p1ng$OAK5Ub1F6AU{YiQNcefjbKFVU+o<$gStyEj}v7W6c~kTfzL{*1)B=y1@s z(0!A_u5#}-q^`Ucxdl&m_}45l`1OaexrrB>(5)|F$X`lr|Hcu~^Co{Lh=lFRlSc2V z@NXR=JAiU>Fc@KF_2ill$pEEqghX&dm_$nlFJWUtl=;TBUR* zFQ~Zj?0gQGJNauMVY=$`NmUhaoqInW6Su;#e!H}e=Ow0lmVj_atY}O{rQf< z!GkdN4A{8O1SjHF67yLL$Yh1ej9n{tjiqDQoI{!YJIF56QzFzj~byvB>d`^-=G$=HVLy;P%fCge}myjpZ*+G=G35 z-tyZV4t4$$(N_Xjf`&VJ>GRK@3O_C8@VNm6fh^v8LwkwX_c1{Q zodj9G3~Yezf0`jHgXXI}D@qG(*`dM0^w&=RrGYX7n1fp?{9YYCUL+;tmCbgsi(*AF zf*;98qKUBju2KFHWku6b2h;5+ewNKMHx=1$!IDIa*?2>l*Fk7(AYPsNet-@i-CrPF zI(uKN2Ij8w0e^vs*GDjQfQ|G4GxSX`YQLN;RtUhTs_VgmYe7*yUL1ZslKUDTO4uCz z*e^l^6!4qvA_b$o7ANbWgec5C32ZTqNa70yc#z!vd zatIK8-5+t6y|=emFBICawrY$v1%}bO2HlG~HhSV-kuQ4klsy8(rJ0Xi6dA;QqMhtY z9b$oTuvSwTRUdxY4L=d!7)mbr)hQ4gN_PLi)!mJf^`;^f`Tp?DWh4|^1JT1TEfOX2 z^1)7pj|2`=gf$a;ZUfWNxh{wGu6t_S_8550$6(MsPE?K_Lq}v!ADdu>@Z<*HR^vpm zDdCRwi>j@vA=VofF06^5c=;AgXAM|<8F|`qA6^ybNW1i`aaKB|il}V$OlXislo3lf zhW(1L`fKvXMovggAUUq3c;e_^(}>T-_m2Ut3s?GHJ&z3UwV69pr{r!;aI;t+wnTsh zetSN-@!yBIZc-uYHm>l9s^iWdoVC9JRH)Va)&?0P;<0S~^pAKe*d`pql)MZ^e56?w zZ}+IkRagmq<*fO6tKzd8g?V}oJ^BIfOs>pS&j2lkuAAO}Y4O_mNQ=}Ml zCIfXpnQ;C&yq9u{m8X-K@hX#;=ez|z%q4btsIL+l@v%|-w5Ql&W#0>0Ay=ROu&EKg z;j79!ad_6*Vl)Wvc;WjOVY-1=txN~6h;$-Rw2kejs~GX>d##j7I+k%I^jnr!t}jcwRkvbI0j^KGMroZVYA5msN}-{Sx*v0?(2YU5e9!%cvBV zzp+LVg&9@KuK9=Dn!(}0f^U)cLW>x2_Gk2Wfrk(w+L_w)pGD~ zbqmlUB<3<^JACFkPwLWYMlfa=l`BJ`FP|g?I`kjPX6H4%UM?h%KhgmWFT9>FPWF^I zpry5Ihd#(inOqN*mEznzCg0Dpy=AS#TB2<86Z&w6D71OUutli{LuIIm24K}+MnD7{ zx3Q3c(O&X^Z0Bv&{kNv2(Hbki_!d?0uXyob!remxWJ1LpX8u`Ep};jRNoFI|>n(7N z$`w8`C0}NSbeuhZkOpwwa0TCdTWSOSzm(OJ?~Jy_#{6|~o|@r2KCAz{_=pYY5a-DoT> znJ|;k`2#!a4ms?017vFKSO)LJo&JH)ghMV+TN3UQwH!rVoEad_#ik5lvU6vV`8Z>+ zI7*Xdm{^a;=s=H0-Rb8Ztv~Owa*djDojRR>p5$3U6F#^!q0XWH$bJXJ9PgHW zQ+~y3_Qf)HWrPE_GgD-ZhrUFeL94l@OyakOi9(Y0Qg<`aOc|B!+7lZ8ROJ$Xec^BC z5$ZzZ@n}5!_rY27PW=JiF4bC=`wsb#?0#;>o1V8JpGescB2C#RYft>yP#5K_I&TKH zp_0A}!=14tu!-qwrGSm}QEbZ_Jq&qL`h)5DeorLqC}=m}!!tbQO@advk2qV+z3Ltd zViLLA5yp8v)E$gCnxAKPE3ll4l`V8GMx}3bHGju8Il7R3_>-wIq6&=v^7Z(EgwA5N z&wQxz$L8Ins=>3Q*erjQR`!XTVTtuh#~(R&Sma8PfW5HsKZWl38Ax|}C!(%b6ez$@wr%@jxx97R87=K3NlMh@BX7`2I&sJ%(TR+XT~x z@!3VNdRH#Rr9Le@Ckg@xf88B5`T>%Xd+y1|7OM=>!8aEUimURLW(SC_{X)2I^4lI6EZ$Z>1C7bsmc~WP~sN)<>g^<+lN&ygJ!8zB6+&) zNv#h**!nTQe8MX#>!bZY0W})R<=?_y8-LGNn4<$ElDpNq6MH5?MonyQ!z4w;`CEJB zUNr(LR5u3pK{bRcp@xQPN61bi*RM03vst%3fDt_dC(5?xWG}qTL{<@Dwq{Uu4&Svx z6)clM{_QMn7G8hqoIGp+y0$pCFGzSjZ3 zYQ=5AD{h36YQ^ngrudgZ6syz~Hyr#tl1`g(gzoco-CG!yQl}R6*aRZDaF>C(@4R7t z+MHoVAc2&3&hoDrrVfwX@RtGEQsgn2&rtJyIe@vxBMfZl9vB@ zS-paxh(#cv~McYIS~H}S$C}W@g5af9~e(~{DWPjw}v|mj+7Q8mZ(RQ zaIx^U=rn&?^4*ZstfuBUQJST;q zm)x%-LNLux<Ned1DvMN@xKxYfm37TlR^3gRXChY>JTcOgd_ zmtaR4JwHPG;@eqYdF&}z|Cx9;9sn)2v@=u6x&NWPv9s~r`c`{uV|#mZXM6Lz_WC9~ zRO>%wB(eU}YAIm?P=2}AE#0AgRUo4G?a|mqFW`!!|94_IdY87*bh`(KXWg!{26C$} zviN^=1j0@=v98)HEJkui*0U$_fQ+*Y@5jxpAKU${L2t0V-QU^JwDo~L(6-dwAA7w` z?Qc6TUy?5fv)4g{eC-i?TFK{sAAyT+19^ORdpnc=@j1r-Z4ejAb{PZkjq`sJ|NFRN z%j~uwT`*n#Z*H|WcVqb9-rZ?e^1qBEIc2K%8_Ka^ zy2>6<$Vjy;$B3W|@rPoJ00xeiqbjH8XRGZd z{n_Fx1~KPI9rJ_28cz-*8SVTEOm$qg{XNm>@1eF(^#vtCUpxA>f!k-fc3sBjkX>+N zjjaBxYFfQ^em5G})*ZKnH?+V6R_K56HKE1nEwz?i9!do%C_lh$)p)U8Ee<3N^D^?Sb6F`52cSHa; z;cORxH#JAMlzO5VJn_b2iXvr!Yyv~8(OeO`A%lVA?e7D_aXla``=dC(p$o7kmL@Lv z^HJJbp<4$;&@zrfCAZOgxO;s7(?HzcE;oq#$ZQ40a3n07dN-huL_K|gN87KB8$`%t zEXkWhi5MazeV}VR)GP1k3XOl6a%mYiFzHpzu;vlf`~p25LeJi)J(!*apr*2;YGS&1z3(*dw&l5r-Q+qcRFOXlm_w{2u`HefiaU2L1wX~z{m(?25|qAzG<0#L4{AhESWJseMK|!&f~-az zkAa_2VcN7(FMkQeix(+zghhMeg4V>A{PUSyV~(Gkd&*fAijKk0X*mBJY_tRYqHuQZ z70!9WU5gd(*|vWfjH~Deo`mBQ8n)~j2bfD#lSxJO=W^H>re;vN5bUYKO_Yig649C{ zAO992h%Ch=2rf|!6O(yEf|;5pqxwYN5Zz|d?mfZHDB7H%Z@J*Eq-c*+vHzTH)}JJK zUbR2GisBKpwC<%Tk}EFz;Yt+!(8v%PQwu@U(Z0RPgMEJ%N}93dsW{3br&-#F6q->M z-V5ki>S*S4H52G!Vt6Z44Er;&MM`47(m923D+CpLB^=c-u}JOr-)n_L^%l*n9!^xp zmsEd0GaEt2JVUkpc@7YDo-IRPp*{|Tl)89Fsxxsg1JDz+kOEZeM~&U&+0bm@X1 zv);uUU31}iF7s-U)>W=?wHT`iI-O<}-Jf{23KLJICLc;oX7JPn1=c4b$XwH+i#W&` z#}|K#rgH-s_%WY)9@)i~z+$B{+|miReXLmK*;UYfJ=*+9H#qi(djF#c{1jf+nz$k^ zY-9{%0a=+pCMn|~yq`EAQwQKWF#yy3sIzrbV018up;QnuF1q>aY;nOUdL*l&>%QMRIy~6B=yYG7oE&xb zjvLB9!hKL)(kfaeL&89X2ic$i5l!^>&}hI|(q|lUWLC61Y%g;-1*${inI~jIV>q2| z!t0LdeF;o3vXJEd01S+ca|>UJPL+QIInJMuEXECA2k&hcP0?$w*ZYOXt{M6ALF1S%t6SO@4?OJhK;6#JJ@fD3_K~kmfQDQdq&po@ta3%9nph8>zJL z{S35lkMYeKpCh^o5c!7ZJgjqQ@6PnVfT8Kjb8$xoM##i;Hg2+qFMwjg0J>D_heHw$GoH2n^A!GW|<6b4oBly@r{)?>lGbhbPCi zM%EC{2={PUYh>!q*%3zwqlNu!bP1u6(N?U-sVf6AaxvZV8f-trIKphwp(UE?WKE}L z7^b+mN?2|IxujWZd~bhVXij2AJin%}DF6xjCq8KddBK+G+YVoOOKXv=kixUYOsf=B z+tr6OK_s@Wh3(R_xB|>FPp4Zma(|N8BbShP>7?}><}N8hkexm;0r=dsuQ94KPP>I$ z3q-T$1a$iQ@3p3KaCp|)zc@MjPxriYx_7n*j}2vwT6&eX{eXW8Cw3pCEKEhbMZB_| zybe#@Z{nU_=Va{ztWi4 zvyO3L&+Hda^@PffSrTyAt*oUV{#R3B8`u2~4=#7-nip z4sd9mKG%{aV7z~$$iH%m>dQtbhlC@#(U?|8x-3XbUsh&&`z2rb_>2Px8aW{ZZ88R+J7L_*^@=Qx4S>L^7a${M;)(X7l_2f;BuM)qB}jXr5+uBe z;I2hzIDI_>Olb)<5SOlwx_A+ad82nlRoyYImE-}P4sg9Y# zJtfco9-@cOG)vpU z9GYf*t-aR%t7Wf>x2qT*nzy9Xk{Q?9@|$WJs;j%QooGu9k;#v;NZF1rkB-C#it{T& z<8TQ5zG+XiRVjp5HGO1LTU3_>#ZB#3A~=6KRGA~NzP8~<uqlAYMTRX{cq~-#$apvZyW9PAAelmQ3u-Y=C<0_f7ILhu4qdR;neXd*3C>r zPe=8AdL5v=A#e$ndz_5>s`abxy(dBIzRITZ*LR#Ja-NV=wjammqf>F*xsKZWxjg(F zuFJRU*rgLLTyKz3=YxXwj93#fd0F-tudRg9D>zW0DN*Xk zT!riZ5FQ71Fn$S*fG`NZtVB~rCtUdH4h%qgMAlNoE%+OZ$}!ym{G5-Ws)pqekpzD~ zIczzWfw>v}-Sci#Fq0_gWw@3KEDO~G=wB< z&Qx<4ocIw@YMnq&E?Lo&X)x%@W0d| zvYU4u1>;??s;`HJQxXPCi;Pr}crTo!Nyo2)nlou!E+1L~yLbT@303wLkpX|xOi?e} z)Zyu98X8`u^|FoK!3pb!kP$PbQT6sf^;Bvwx&Z4}nY0e4)#>OsS+76WpjNCjUK{ym z;oGakm$d1K9JJ^ZCUrhSU5ISf6AeVBLr5xV@1fC=?hS3t*RN9@5EzF!ZBbhwI_XIu zY$0@6K=}+8YK0J6&Z+6R)*(e?1_h0JbI4N=ZKNKzJ)Nz&vcKVxECFx z1>i`yD|`~8NpLomk*$9j1N^H~w@A;r!)7R~WD|D^h!~X=S+8Z|RSBjEHq{u9_lWJL z5;~5)hdb|aKs_-;w2*f@6nD@2J;9iqAP}KRT|>w;8-|Qpq}wm$?pPZyT*j{Tao-sB z$bGr8g8Nq0o_(W-0&0RKWb}Es`9y7iRq@Fk;{6^yJy=FG@a%tb&>e@jMgZas)l|l| zL+!=8xd!dO?I`CbZ!Uh@JL@Qi=gR5X$@{~D&Vll5?;L(VYbw7TUc5cIyig#=+1~NR zf0UCq%HHvRlz$!`A2gNDzfaFP=jY1F*~;O&)1$)BWhH4T^uN4m;;q*}Kl!{#*FD_xkYY@Zvwsl{beM$5`i^lQU&cIo&(EINZNH z+B;KDFV9X-&O6Zj0aSZ@c>LxJTIsy&9AB(KtME?gyoVpk`P;ptBW!AA?-HOtL->^a zlhgm49sc_ELV0^~bkKp9uR8$Q-s__dHwB&AKiWHd*HnKF_TKIN+M!Y>P|Mj0W@G4- z-`;lc6}Gnr|LtEKo*ZL0_D_y4&fsSgdUz#G^x7&Slc+}~3(ZT;556?%l1!Y4s zW}cMslAu4+`#rHpOp9)z#v^wRq;6fP(URQP9_PoJrtp6dO8TA>Aou={jqN!9Z|`hY z{9i^&;r}S!OP2r@vzD2r@c-C#wia>&M6UkdjPHN{+S%N!_`j5t!v7NQUq|=viS0lb zU5abp(Q|uz0c4pB(wk|G2$v(WEvsA?ANV#-k+deO8gs(P>U5Hf6 zKfix2&tp!%(PhSSn)3RWlz#draK$Q0u;!F<6d{r)^+>|B7#+3w&|M3MZVfa{<>--Pocb9?f^5K6Q3$HZNpup$P%J*5H>)~Oc^Dr?WXJHM0 zD4A~Mb${Vv(XE^HG&G7g-1y8l0%Ar(HI4u2bi|H8&JB1yqKN-fyAqxL#16;?C!??? zT=fn1%cElg4+o{5+zs74RDT`{O~@st22-B}Xlb)O0Jt2Supr2x>lLQL9riWVQlft~ zWZe!C0Wy5?MA|(NfvApwn!I&Nh@`|h|FG12Qj5`3?7x7g@7YG~`tQzW-2U6$+^+1u zGE$2D7vMe90-SzPUerFEU93ynFk%X2Uw@?pVUKHj;gcIm;ydSw&Mbcnq9BXI9gS4` zGvijRNbAv>r-ISO9AR0wwpN>EQagVuwDAjb!f@vK)ziSrb*^W_65SORXzTC|ic)i@ zhaLeF&vqw{{_rZpI%m3y=ny$34MR0z>? zH4@x<6sSfHBi2+RTi$r0^aOQZmD2Qouy5}V*R~eXM!x@ND{=qtMy3BtNi2UjpUJax z&t585zBq^q)n};m;rp|MqIwp+PvDu@){S}TcxlG>u7y|mqDs*GtZVIfX1=8tG9)Je z&%C=aL3C|+&ysfM8^@;i=zqp|h90S7V=aHwD@O+oPVHL@>gxehw`PWaVFQs;kvmk~$p~wiK1^cf zm_AbaCvUYc#^Xg=E0_T#SY`$o7yS0~PrE>Q?U_JX)%2TmaGd+V0Cj9EE=#FqriQLv!(9#9fJ;(AQZAkxB*kO6nm`8AyqIKj!wH( z=`sxGhBi&YUm1T;#mIk8YM(DJckv{iF}S0ED&!FI%KvcSEk8!W7;;HUO zHz5NjW87ky!3ZPOpi%R5b@YpA_f>Of!;pEpn<~!?*PW1{pH(onM2R#`_9<-Ex;#hM zTWMN>>PyHsu3^ovTXGDh5|beRRrF9{MQdxxX;n}I6Q-boXUtdH