From 45fed62a7a6cb65b19b877b43d5f2aa5606492a6 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Mon, 8 Sep 2025 16:25:02 +0000 Subject: [PATCH] Improve handling of invoice amounts to ensure correct data processing Refactor the `amount` field validation in `Avoirs.tsx` to use a Zod transform for robust string-to-number conversion and validation, handling empty, null, undefined, NaN, and non-positive values. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869/KZQgDPI --- attached_assets/image_1757348664830.png | Bin 0 -> 40135 bytes client/src/pages/Avoirs.tsx | 17 +++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 attached_assets/image_1757348664830.png diff --git a/attached_assets/image_1757348664830.png b/attached_assets/image_1757348664830.png new file mode 100644 index 0000000000000000000000000000000000000000..72bbc3c07d2d761731c9562851349af86e21c002 GIT binary patch literal 40135 zcmd43byQZ-*Dm@3N_TfEor-j)pwiM^BHi8a(xrful!$b9BOyp5-QC^!!d?8nbH+IL z&wI!B-EkQ>w!7C}YpyxxGoNP>uB0G~fl7)Bfj}_i-b$%JAn+^@2*L+sL~umiS!51u z;G9%sB_O3kSKj`Ulrzmv0JzeAkte5?6EA z-(T?1RQtGwbbN%~KhTao;9q>075IZTGS%F6BlX**Wm=-nu9Z2vjdp{EdfUJEUS9o` z-PNzWCRkMmC_dm(Tu~6H5sN{M49zvSu8;;?HeXSvu1dFMZmoEne|NevI&>T2Px{jR z=g+K|l$6v9Wk&}%92}f437o~)VDppfe{S>F*x1;5Re~1$6vTlBy!y|pOdW{Bz|V_l zBj|tY=52@dCQE&?kwifK57bIpI`kclFB;5v8aOx;^5`s5DjzL72y)P8AykZAE{T=2 zTk~W3X_UQ?nh-mZc92;w=iWIY(5+C}@4b z*-0V9=VzrGyUxjom4%wY@wy{D?-&-w(qP~0U~S?#S1ml3mh>a=zejaBWHuN-QT>fz zuVrU2*~$SuTtvqF*Iw1EZ{8X;Zp~}4x0_YLVagJCW64vACa-MCBFO%M!tc6qu26{n z$K3D(X_Dj)RTLz5?MO+aRJRXGBEL2Dy3doBBX6T~f93v`C_&Sx@2|A&jTPl9l66bb zae|i8NJn(eb%YFG8e|pzB}bd*GPO|O84K{rz0dY%dO%oXynC+P3V8yo(i6EDe1|r%cOLo>Dgp{*l!H7uI+)V{!z@(Md`Ohf~_@2{czQk_18O7Jqe_~w)S3@Y=YDUR9s*=IuA2wQh-H^zbe+R!ol_E&ci-R6ccS$H9vwU)L_ zlN+g+n@ZzVr4j3;f2<$HQxi0cg7ZqI8z=^PU-vKX&;(6byOuH!Nl%)gMW|^%Lqf{3 z^(STKd(>Aql{AXMxmjIp`d+jrDOHz_?$|&!Kaa2E)qs%86SlN!>d0H)kod^gqBxtx zcIQxB`FCUL8xG8MZf`zu@z}8{`{y{nw^~hcULKjeV{~tc=|5X#TguaHfA)OL`;QrM zO)OajInc?$2EC0QDd)St3-i>xXpNlBKub-2g=h(q3lz~(4-_J!-{sxGM2&68Rj4fC)nR3btgD$c>??l{o`+f z)@1%4cAnd5(Y)8vFv9iIE=XYTuF3HKi)<1e32S`^+{ywDwD-fXL@EuL2de0J(VE^$ zQpK^Q0K4w1<&IodU6JIc3EoL$u|NA{$h5Uy+)Ma6#>nK)AjShcg5<{k3 zJLc=XP?8_s#_T=jmIqUelltzYvfzhXr|)j7LgD4s5>_xnjArZSy)L`|*i|PgA%?2k z%Vo?mzA-4>3PFmmdN;%zPA-~qS)RUOWhd8PHsJZ6ue9rF@3PJ>L&#UBjA>2>U&aw7 z+wXjZBl>q{D9*&XS;=S=-%l-zvd`g>7K#Y>8x9%wVx)J#e0|2c+%ysDEZK^23Xk?4 zQ&ODA&F&friEiBBx%3y5kp2l2YDf2-=Im-xhlZ?Gubzc4Bj`5f>G6cbo;tFLYd0@r z&keXA0}3i=Fe$D|r{eLQ9(2pVk`t;gu|Wmi0_KK32KcBQbKNmE9GT zpPJAXlJF?L@fM0uG8_mhP(!KN-XVv?5opC3tiriu`OtbnBz)!}RyRsNBo01Q#b6+wtF+Jiiq{vTihMA~8 ze$wh~$sVi!t-Z|G&K_DvKkx z0^K13mVvq-BYJRlSfMB@`lyWZti5b;iLk|6&yGP$so4o{&B*@EOszGRqoRTARExg`nzp=;GAA6Ob&Nnd&}eGXyOZT!B)ow<=(>A$WYw>1vc zZ83vukU=X+vuKSB<$wGj#eAY;QUq?tcDwJBw#g!%RIl;~bg(-oBv9D2sAvoog0JK2eq=OvS88TDVzVmqD^iJuE-0Z|~5 zTXKaEfJpz9`@eHj?e(COB$|4~l`6wcM1+Tfv*3`YNZHdL&kzxL#9ujCl5@0EetHt9 zh)qR>6+Qb-S6WKSxhMH_;H|uTM;8i5c+nw$Wqp0Umq4-i^{97OclT4i^W`VFV!Fy{lrcSH<&t zMCqVIGrevWU525FUN^>gILZgEWs9AM4doJ`jWzwk1nP$qQu0z#yoY1bk#UKMFWC_x zre>1z0=mAY+WMmTq zZR(6MRK5V4Xf4NsijJKfle8wOJ|Zma&`3*5E1Anj0Ae_~KZA^nj2$R%ZchJjHuGs! z+LlQ*gXHe=pz~=QiXf0zDerZiryBD@0)QP9vQSe)s?3KGAp^-G6g{z2WffTxLx@Rg@MWM5i`nE#&qfQE^6t^+ zb3U){udVBxPWmNAgd1ML@c~CePQq*}I?Phk%aDnUt$WVNywi~LEq(s{yQ^9++Typr zZ-WO%pi&YpyfaSG3*&?bJ!iw0%=irk!?{$PDbZM_1g6|Eamvv9tnc4 ziRN%~N&pelea~VfkyKQB#hiimqbc6~Rf#)hq#FFYi}lrx0MnlY5&c$3G{x)bOQAkY z^jounCDarQmsCBuP1^-)?d<|#vC%RLw(PElw>rAffr0S%)s7hWl#~{fGitgYq@><- zO_h;nCHoaohBBIs*_zZCna7X#KyR{&nE1&YK22# zj=HXG57+`Oe$T+c`v#AukzdS(ZAbQupV0yX`yT!T44QYg!jMkZs~!n!4-D#_ z-(q+Z{{1wJ0C}kMq;RJB0;WRn857a>$P8?**K&-4usP>jN+PoK5s@jlIbNql?%?7M;p5(ftXJpBF1QumTk z$9kQTn%WEf7Cg~(bz}rc*4c%4%Lw-Mj_z=Oy*(F3%dK!YN1Hw(6&1$qr7yO=zW(*m z>e2Cj?+HPmmW(-J2GtdF45jFE2(WF}!Zw_glq4?ib1CcjW(slffci2U*7*&`{rMK6 zpiGjWcb|8*M?^3&cA>Pd&t5$&x{Z9kVVipl>^7FpyPM1T*uVMo$^}mt8kz_UH;KbQ zTuBMy+$!?6B{^hj(UZ)?AXTMAZn!5lvm>9#0Qx&F{OecTgoOHxJSnMvuMfM4x}^jC z{r#Eu>=IS(M57A$+^>_5s~#(1uu5zV1x8Ji3XZn z3M90Db&z2cP2UiDFzM%|-grAxdr2XT6jbB-ORl7h!&79OfF}*(QRgf)F5&>sN-`*D zWG$P0wcD_2hV!ZuI$gWQ!ELKa6`nS^Jn%)2&&iYsm$yWGE##s?(GS^x1BL>zUtK5h zzW=)g@h4Gbpu14RRUn@Zh)2T1A;;I;d1lb$X8z%KEyklHtdR!d|LA>6iFq^^=w|-W zJ9yf%X0?WQlln#%RX>G~F!W(D%FMtoBFKw3+vLvOdhUcsz4(6ObIRD?EhP?a;ylbF zDc4(+^TU~if(M!2jaTS?mvY}lPk1knX8lEd^>nDt` zbOqhli9MZ0}E)qX(7ycLpBi#u|j^#%3> zJt9{LX*=&4{?IydO)uj(ZSx1Gan;l>KD)&Kd}gyg6v^bPCP$-bnPu`U2q7r7nW2LU z#t5?%qLU?k->=W#O4j7VMN?~Rqmdsa@Td12hgQ_IahlVrC7hj~?e;~LPrDUyqJ2^% zrLn_}Ois3_zU=>#yN<5=SXII;JX=OoEg~}AXv3hwp$kt=KY4j@hD|zN#-jfWQIdWV zcESKzE@6tto}iV;kF>-IAdcK6eO|Y#N5-V9Ja2h(6ER^pE#>mh zi~6P{*rPh12Q$eW?xRGIXEyQ4e0+zLDwxckLgNIGa+9eg1-QRUOITEXoM><^_t45T z0&FFuc>1USnH<7C@cz)tlM0A`H8+CkE0Ws_U+h;Y=w9*X9VUOah78(UVWGis7NUgE zP$cu#i&qkofdQxCqYI7mvEq-rSP55wdK|~nb=Cn|WBSmfBzcg1so5-I?EW5ppfX^) ze^*j2@c!FG@U{5oM@4Z=cB1QShxQtj$3=|Pj<#x7-*zNOgFHJz0vz(l3>Ga?(rdVz zi7GyCF)Y~1Sv_q$odNMHC0c;_-^`jXI`N7M^kaw+A zOY{t}LgYcUrBm_{k%Ni~@|=+!@ia;X-zpHh&^1)|5UxxhKq>J^-NBXA(ac;|#24ZT z6DQ~DrRHGu?=~u_ksG5oaxcF_c>CJaa4mB#IJ_o?SFK{8xWBj2k-%5mpgO9NP;GzJ zSVyuzZS{16g|VCv^^DHgM7y&`c5PfeSFNM7v$J47^DVDwyKx2Wg)ymimn+Vu`?drv z*Iqgn97LncJSS^e+fM7u`~x;V{&x8{zfDV5%x~zEh;Ti(ASp z^KX&hN`B*k?He~YUZIO?2nhAXH#P{Elma1bSGzbwW29U*x{Ad$PFLstd7rwg^hq?F z3~Y%?VzDwjy{SVmJ(@cdV?!I~|1FZsrq$8^Fw@m&K0i&Hjw>h0&i+j-R4z&y;hDcL zX%8v)(4ieLN1L>phfjGQ(nEQ$hL8J^`Q`k4p{Fc0ZDWfykB*iSzgDn7Nlsr#fc8XC z+xF$QGoD6aR;}iDSxVGm&ZcW@U7cRGT%Lr~vA7HyQDiEMYO%k$k@YIp2-dlb&5m-( zkt)L7jFoWASc<(i(wydG-59#3|MIDM&6id5xvX=gIZ4nvIOCdPMe$#1@ueF{7hseV zY|yg3)@Y8 z&@W1i%)Tk>q92u%{D<3gQ6sw}o?QOTHD$5>$r}-GJH#J4b@;rpnHdXNDokJMov_YB zW5oQHIaiIfb8K|U+E+A((%(sYdj1-#G*hIYfQMY)?AZ37VB_#tXvgKL=vG2V%kC2CKcSGkbw zxKN>j!WOv4q@3W1ecQREwEQxv`lH<86uwcTkgkXiF%o7bbX4#yF=AjLC2dFb$WN-y z-w2-Md>Jv`v9rQh?GH?CS^3Cmwe;!&6_f0o)DSFJKM077Wo*I^7ur3?lhUzu@3G(y=oT8-GUTFF2`#=z%>ojTI2Riak|+kJpk$>e8_<$u?>+ z^8%TaA7X>o)x|BlaEcXwDDDsziH=QwkxwzXf`bp;1`||@SJF^v%}SEzhYKIfU=wah z#=&eZI!3I;-!m+#WpeVv9P!|6*SCqf7%|lajF*gZm5SBR{V}h)b8IbU;(1H!o0?W8 zzuf{0#0 z+WqV@%=!$ndUO;`I7pYJf-+X|zy(6e=72i}b0V(jqa7QmbgiV?dm^cBXYqw&&1Tr* z{oLhrsYJHe+8+!Egya49h+ZBn>dHZcFNeXr`1XBtp&;6 zUEuDvw6t)3`eT*9me(1R?uD)HyV#Ld*VC5aNeOabVqSAT&#U^Iyd(fCbBYnV@g8tW z`a=D+scZH1#v?H$^S5dme-Q|*`zW=2c(?L7%bfJhZXF7T!LQ4LLb`BEf1e*E05z$` zV$~lqT-;trR2Us#C37Bnj2EoMvS^g9_9YfskS-EG!q$cF-B#`-umV&Hy8MV*W5YRO z0#yp6YPpC&Jd6~DVdEKi>o@QE?YFu*Ojr88^b{T^ICSLyhfcz2YM!m9OXhvn-D5#Q zz@)$a&ECzev-oqF@$_p&G4>=nIyy9r-HGl>I}z#l<3FpL5P#crL0ZmoOyJuDL`UF0 zqy_U&)P>uI+xV4sI7uRQ_P>KhMX{QaIgRp^V)$y`8Vq>vnLT{=q5VNh3ov_83ryl8 zw&M31O|&c(fnkpF8S86{#h$R(*iacC-oZ3_+8?t+37=$CRB-h(ghn^;ei%=DR@JHa z^ncPVA0}xFH-x#+pZRwJR!Ggto_IUe%X}z;<*5Yn;v+iC)O=#6*aQkQC^opoH{C3{ zY5b?G)9Cg8gf<$F%Y8>^ayan0_wNuPz{TfxUpZY)-M6n^h8Gnc%+Ht(c-dh(R#tt9 zPmgYRoyT8t^mHuw7S;T{&+{hSy0wKAyH#)~&*dJEe`Y56YVo^HTJx*;=&vb$>+qeI2JRg;8{3Y%-6lCcl94w~*Id`BuybY%#%jdz^I{z%6I85lR>GR3Z{_q;ryIByMfW>#d0o!*; ztRb;wghZ;UBNa{>**%^5Q{0vOmj^QkYI#dZ!36!S1hX|3GqXEmW(ux6B08K{4GsKY z{vIAht&cHq8V^J&6((HoRw<5x+rewRtFB+;6XHW4yAyU{;))o*EA3jl+IunyMK{V;CDf9~*wz)4giA>|Q zP#zvtizFPWnuov*#}Ges797WS9YdkY$kp0n_Y=6EL12o@awDJw2C@jjJ6^u$qG%3q>-V>Kf zs(vt-4*R_{+4m3?&WjXDvNw$^g60WWEc}#pMSI3u_354$WD?m*S-zbz z3UifIq1VI|GgqJ2ryZ1-KPtGa?pd~B_QX<_lt-<3Lik$LyXM?31e6%@--lKo z0by&1-ehUXZzZ4m`=U7ha&4*0|9RL~5c zyX^XW;#(iT91k^?ZD-%<<2&u|{4Tihzna4ru|(mWd_~UX{OC$;ysGy`aIh|RBSSqe zq~#n?nwwkn5YdVzn2S|&RaT0If$K5HA%5-qqx_LFBLf))qkCA?`$+9m5C$9^f!DXM zikT9=zLY;qRt?`Ob{d4w1#fhu$rzsfxft2K*QGScV8Y5|OAei`J>WFIml7H;;uyHO znXdgz2f70SIhXVLV#U3htD!I3gVcy@_DLbVYZ@hfwBQ}DwSs1BNg6Ka_0FfK9;r`G z4IDq)!luAOf=oAgF@&H~g!>{;2Kl9n?N3*dl>9ImXx?*RlZ+LC9S1gkTwg9%!Sny@?G}CjgeD_=Zed2Z(K$Q8q*feT&*6oajhrjhn&>U za#6uL8>sqL=pUn%x3g7fz^(%owvdV@0uB6bNGJr|q{R%WTW|MOudi>7PZR2nmC9N{ z50&3;WsWclAj&89ZS1xC&eLRPE8K}W*D z>{Ms$mTR-|Iqkj>a6M%9-nCh(z;le2$wT=KE?(PSLD&|xkL&zbnwyuKoz)(ANg)V_ zdFQvDrEd|RVuZb$T4%wOppmN&3)wzhmK3{bu>QvlpAzEi@H)%e&&S&bddVot-gAc4 zzEgkTdF6+%osJ29K_`gC|HA30u^^!c(#=sO9`ahR_}y_~MNWtb{f9R*qme$j6#;9W ztAn04$W++O@u%nQQB=W}z`fC=p(q=!rKNW7b%nI6t=X#i9hG8%83n^EC<&fJC03j> z3hC(C^|v?5Gn?K^3RDYFz{3YQ>|S%VuUvphuX|m$wpZw(hVSj|!;)UFQ|2qVQllv4 zCK{4R`fFkbd!i5nx6W1u_`=Fp7#5SwP*pN8Sh_hl0l#S!Hb4V_x7B1*HzobIvbLwQ zLhtpun2-hZSh40M+b;#m*n;?;H5mWcmz2-gwv8adXx13>BZ@pYLk&0NXDZBA!8xc) zspe&geS963$@_F6efP?BbtjjY1m>6cs2_6`%^Glt@uS+a3>_-kAD(@MHIqckIN&8Q zr%hf{;@%lI&omF%)Mu*K%;IiNid@grf?1p&zCivkY zPzmLo=sTHo!L+E4EZuyBhnhwKHB4k7WXkGGDoGIqizoAASVp_ z;X2h&c!>pc?i~Oxo?bdJ?}27#!5&uQjj7Z#qzB!g@Uq+QeDh?z5`7*tKLtbVxf~1` zet6+^_EBU_>@2VCMdrw2{!pDdT(!*d&NtFn<;fvF3PS;emmHIy}ST^DOp<){Zq^>Iw1$soat6w>4J5)K4i2@E}=c&NJUr z3)f9QtxY|`Snt~^7pc66XKH+k?1y5hgm<|=H<~#|jrq=_J76h*F<}4o3-#i1YG$ZJ z2NHUWi%W_Mm4Mb1siWFl+-9G$N?ilL4J4oJ_JiyZIN%t~-*G!xrWZuhDWhJ* zup$GDAu647<}=mMcY&Q#rf+FxnY>1#-}L6{1TKoJkET&TUIH~C+Pkp#>#DV3Ku>BB z{UiV!MYXmtseB?Xk&4Rq7@Om<;jlEgjTX(AsjFV`7S%G@_qxqvzVBPYSNQL+^I&i8 zW&%BqaV}oHv08*DV*g29>VvdG%Ge)T1?HvE+}>0vPR1-P?P^Z{oAd2gI5?xx%Q^j1 z<^Q+r^?yl+K1>#V+}r(doG)#izeqFlR097?TWvG<%}G5h?5)as5A*$nCL)fObK{z= zAH7N~t~Jr~gCAm=4rTRWRDgP8!dt2I{Hf00B}OfgCt0PrC0AJT5g?&L!a2p zr%MjIsbYfur?pc5FJxHb{`bv7=Q|T(~Eam#eSgmlztUKL*S zQnG9+$0_gbOG*k;DJ{r1pLNP(Sk6|H5c*vZeDiHXf7fOZ(uyU@YO7-M{+G~qK417G zc0CC>x$yeinEru*u1=p@!<)*ZY$fKC%kMM9cSn9X_4S(b34j-IL}z)!$jFEcySwP| z4?y5DTz*oRMWl@ZGMPs+$v(N1SPQ|3i;G)!q+nuV+Ma8w z#3B2rh?ACa4Acc{c8MpR;Z@_FxwnZN+fl5_sjQ)uM zy{~R12k$D1&s5R2>=!0;ey!Y_>A+{kD7Iu zU>t-*ji2$rZWvlM?_bt397+{UmT(zgbKY0jrn?g)zDgUMPN~O}jm>P|iX=kY$b7td zJ-<|dHwmktw2VfyQ%Da42$he`sz#g3fYggCoO#y-Kg<# zHFVN*4v5&l2iWy-j>on8gOK;tL7l>0sXRzM*bRm{a-9+AKlp0tMz>w|ZAtRkr64i4J0~b#9MAZP%Er@wsPMk2 zv>YAQC6ax4K1qE+Ed~mT`dwaMUGFhUt)^a84 zpH%0TyJ4kX_GhD*b>Q*Z1lY&w4vpjp>^D+{=LEARD`B3Cx=h~KN-hds7Qo&gA^ze) zNNa7Gelfs?R<{z{s9#k!)T036AAwliGR}QS-ok=WA%hPtQ673s{~_3QQC}Y!9la~D zUqeYrWZhAiIT2O6#7POx-}7P@GEt=-H&HGv^Clo1_mYd$zfr=C?FIO;*g+3b_cG%{uEs4 zT}6_Tl43EPj{~yomBW>ojt&XUelJ#ed3oC#JfRP%Jl&gYIu6&{T-=di?ZHWZ=w80e z{dfAUL|Z&>%xG+rjW69>{aWj?6HCd8JFb5L(0jO(ennTH#&JjiV!G!0_vo~AbX*4| zycMTgnGV;-M(;DYaXt-w|Ffnjgb7Na_4V$irly9!17jWbr9A3+rDHbh0au& zuN<#*#`SL?qoTq?GzZL+HXtJn?}!qQMg;TLs(&lIzkuc zW2=L>pt>E&%EMFZiHC0aW%of^9hBuf&WNZ*L@1vm3#nm1yU4YX@+Bc5_-{PD+MV6| zk9B%Bof-fAnw0-7aPi%9#PHs8%=jBDq+0r9DwbR|e~>JrWpus!k9CsDK%pVK9DcdB zH9tHoe{;O+PN1{z4LKr+DztJy!}mY1DR_SFDI5sDyBzDX*Y)x1Yv3p?np?j6-k$G5 zL9B341p&YkH0$}pUFM@{)t?SPtS#TYsyn*^DlQ> zo(4y@H*n(}ja~iIp&869Wu>JHjcdm%k{zui=!n%}QTgR|u71TjTigkzOBwa^4ol%- zN|Z8~6av9!OMV74<>2khbv0HF+aol2j$e5|3v^m62@uiAks-vK_SCpMFZc!@%a@7| zB-vko8bs{t>>g7T3AjKZGwS1Ab3WA?FVVre@$eu%FZ0X(RF=WHk!IA}D`jcP`~Vy} zIN@&6hwpuM;MVa9AiTtHOJQ+w*bp&KPXTm9ghsc6z}U?}qRFeX2m*<+QL4Skm5smg z_5wGo?{Cbl73WcEw4+5QOFGN5hmE{e74m$DkSJ&y>ps_LqkC+UKvaG&x8$Pf>7UIQ6xx=H>}QhM2uQ=YK}>Jeeyj zJRA-JB(Q7XczeNEo)P!vazS1w1kyZV+01PeIOd&<#}I?oU;TM(vvGr0zRgdRl*c-F zC|wX?V~_0qdTqMV>@^sM}r z3Ir@E86G!g*_&4}d*kk2D<{8$;!;ylA(}V+9B-%NmbtrDOVpcK+i-SvcEmie`or;h zz9iQp{1y-B5P6@;gTWA!>CeQ0C1Zja*zaY$&n)AGGa7wgG^`g-%afED!E@k_-$drduSRqmG^DZ7L zj1WL?xfe}bn{*;3pAPzWa;lnbOk6BI-XjH3`H}zr{W~nmIwmiZa<$q=wUs23Lmxf* zDNwMXZ>;<&Ei|zlDW?$<67KGnl9Dj=SPmFMXRaacjF8f6@g$HjiQ#-^I#v8x_4?K_ zd#TOf`YP)4Snw@@DC}9#Z+|!hq}7%NC#VNCNOD+wZ&3zQd7xZ9VH~a3^F}3Rz``~M z*wfD7AzudRidf4q?@Sj#S4L3^BQjDA%~qH+^~*IbTE6kT+zn4+P;^XXY&N;OMC~!n zd^gtWH%wv>OIALdZrZ4~XF%_I*?D zzKP|i=O`|x)3>qCA^@M0)@y8HVzb&YJ7iw;pQL^utqpQ=ax#+N(lt@{KI88*2#A}j z%(S$HP|H=Hh5xE_(<`PzQr^>-x)wAZSdv}-&#h@V(Mht})=4^h->_;7n$SH?O7#>6 zfKv^4Qsz155UZE2a00Y|BS+ea`v2RFJO)T1B{TI~vQ92>eRrWD%kj_Alz>jiHs(!{ zMvmm2D_`1o)&w(C)8&RwnE@a@^6|Wo@YT;yN&*3vXSAf^)0J)Z`#xN^eIPMI2Qxld z^oY*k4dBJ_Ky7Bc`txhRtFd^)2J0;RmVDgLq6@B#ZeHc_$jQkii~3Qv-W&=BLqpLv zs2-M(G^;${5PDZ)iGu&jLYKK(7VzeM?zAv;8IrE7~;iKz_X1jY< zMzSS4u>YNI^xLm=Jm<#1>I8xAw|Uh{QXC=dvk{)As}K-lTwwBB|? zMnMGuSXM>`F+}8w)%%U*wdFYR8^;%pPSFs5fbt}i#3)z|TG6j+tkA%_JTLYG-X*c4 z+=S%#w#u^Zl;ngMWx0F+Ds!Hl-(Xc&bR3(V<( zo)>Uyq%yAp0?`kW;K}>54R~Ov9ZBiO{sX7z(0ONK&lcPkWi0Hm|3r~~+-P_~`$I4m zfCgY3h6i?5Pf6;@X@5K%WH@PwRaCDU`}Hry&V7D6y3dck+xPd!_hBo&ylEBtp;Vjz zAqEEr8%`Yx6AOEy`|4F84#$!Qe99z?kPMAo4nPtxIX|OwxWDEy@*=~-9cg={d;6Lg zo02kQOE#+g0d`mM`Hb+sdiB%&NsmDD+2tJIz95jQnW$mWJM>5q7?#L&8&<_#S=;f+ zy@!~Gq5Dq*(fgK9SgqQpZ=Mj?-eifguCDG*>nAfalsk9`n@(+4W?CKfixckbZ49YM3k97BznK;O#;6_ZLh zgpf^}&!+4Z=t4m}x7FK06Ca>O(s`JOr{^i0Lcu26wJT*MkTReIJ78 z&W_{Rgehgf)Qa*xFj*gEQwks3xA_8KHr?WdRcp5dlHx78RvVr3!!aa9VHh_+Vhq8k z05#P8Qk3d>F9De22c?62)jXuQZ?^5cOTM9l zX*?@;xl1T5NGT*F*Q;m4D>;`T!0W`G?}h&Rr;>nA6sds_|2KGj{q^+@ji&1bTb1OUvaDs-!XF`iPP!|GY#U zX}H^oo1-f*WV+n$Ot!3cX+_Hf z9Us$g&s2e|MQCH(_k5e{i2%<3Rsy;+hRXN;Zvm{9BHXOy%@hvF3^@r2$=eTd4$N(% zK170k4?>g&OH>{n^u_uuh@mm$(s>G4$QOw=Q!i7{fpKuAohhqPCdj{g2Q^~Xu-(+f z#ZewK)@*nZa>+!Ihs#8hnoJg_Jh9P1SR!FZN$lOXq7PznawtRe3~NOkZO$`-D+dSB zl)_%dXPbkXw+l~%#gl1@=v5=%m{-;FL#UaVQH_jNlJ5=$K|BDfCUEa>wq#zsu=Y=z ztD#Kj6B=KmvEU{Zdc1#Ie1G$4`@(Y|^9lzawHxE0DfzFdgl#E`t*tG5fUz~--da6%w|CpQSM%ASE;*PjO3@q&=D?Uq`P3)jC-FKj=VQR+*u;IO1Q zw)tCO;oQ;}AVO}wLHo}dhE!g9u!sT^2<)FirO;=1z-ZOa=I+)O*-TeGY5%{1l`#MP z8#}$y06V>**C}zI`Ut>63uU%nlh+_a3yZWP@!dOp1LiBfI%Iy52!!~F@2TzvpEMf) zodp{5KeKGYmWGDrbvN|ttA5KJH8(dtsv?%d1e>a+CNkt$jj`+FN9{&aE??bS3?7?n zgfyP}016%69A!;DX93YXpfG=)$)W4NU!*beQ!7}h6tI7aBHtrh{9sV^Q7)xIHHbgp zR0jMW_440{05;S`GyeRE*C-Qx#2?JjM(a_fxO7@y+3`^A@jkSECGxPWXT6ZHd`kLu z=Ad#(z~K!uM_s6$jGmu${KpqP!+hhSJGP<|&AfW}QgIeo* zgeTUf;PsYR(HPtY??IxdcPv9DSx9odduWZ48Q_N|OSGU*JV9{-)ei^F`g*wUPi+X*y~jOrHqAV?ZEm+O>ZG zIVIl4fx`05ho!hjKLe05!-NBpwzil`i&kTx=Q=$953Ru$lb+v}6^+)hr-zpV=m?PI z=`WH5yUMMPmjZw%`=gMIUZSv7?e|}@1D((AxJPF`S8g(=J9xxgo6;68jq<|*$t`+d zP;l^w42<}DU{21!99p&RNl?+iTJVcq-Y2fV+-59ux{*oT;_5msTOmN%dmo1QfX3o? z-`e5ntN-AWJH_{cdwjzMPN~Esq|?Q*cnOR{o{w9z?X8d8lc->Ib}94?iyu7sCBct_ z*)lya_^vif5uo|v1!^Dp>Q=3EC#-r}t&6sKrW<_79G#q)SvmCE)=na0r+kGjedzv| z!TqmgPwR4cg~H9M3$8U7Tg7kPhx%w>z5vvAB;NtjAIr|}O{25lTlY>|K=7ITQIyJK zUnm!JKmxcGd}ZwMFPyi+euQfbZ84V=M?|)_Eq9_3pF%`quU#qP$`3W3g-!+mC@Auo z1JE_i=Y4zI*J4ELDW}XfWn(uqH|I?I3sqnHUf){xv57PDNv{L(|Es## zA=z@<(K&|a0uS$SKdoGB(1eI*;DrD~6hbT+!b-!NZ2Epgy||^I*Jw2NE1GjFZS=Ag z)4zCsb7z-4Y|9*um;4A7Q_LOrtrliF!r`d_Y%M zO?LsF?8(5f^7c#}RYYW@!|63w6uBT~3zhG)m)$S<>ish9(Mw~5o8?rU>)WcvJm(jL znRQKyCQxCmZKFbkiT!&jAXhvvLG*9Kt)t^))YNTLoVb$$;CA#{IEWj7nhkCx}D6I zB{WUW|5LVTdzvhDP0CrA_pa5Kj_=b3DJFv4{Nx9eCtmQ0*8Voi)xq%RyqX&yUo-g7 z=f5NctALHOz%Uz1{{SRL9I3L>a2tB-fClDs`Qo-e|MB`yE2eU zIUhb?E4AtZ)k#MlY)_f_qx-o*5Y%a+*aHo;$*@MVNa!+c!(GpIGZ`UB(*Km~Dn*rH zwCORY;{mXcfL+|G_HMbw-~z&t;72#Wi)y8WpgQI1Rvcxno$$s+02aJ#Z2n81zMyN& z-E@JK+sggo_Q_nRI7O&Jc>bl4<`=%ZXLCTx)cwTX@;*`Mre@~<;qy7GjA!b4-;f&B zXm=Hf|DvG)x+lX)vNDu|I$Qbtb3~t<1BwmPPm{OPb4y&HMoT4W`HS) zw*v?jp7aO@z)qZ~Yk}*^GikyBbGf6^fc2L6`DCS{RwBh+$*E#YLuCUmkRp6!2a`iQ z+ujGGOP8YUKO8>CD~ufl8@oTE{Jyk>EdVEk1Ft@AH3G5HD0$W=iWB-@tUR?48@JnH zhkRxqGCHPsxoG|vxP8|v;*ReL%jUVmiTm?;B9xfgq@;Uk8jcZ0N0#kph|AAM7ARddJ!rV=s1+Y zs#|KMiIX`m_lNK_eqX4>hT{)@oC!*FmYTP~4ggmjX^qTc(Ha0{f#hhzYO9{MTe-;Wva|H`Uq^?Ao1^PtSO{ zcXiTDygWSNcezi-&MFje)qoEQbl4o1qlqg45(OEsZvDM|P7gUTKI?hNOlVV=urr{C z#rwC3jZ&VN?V+2-H$^}L@&QUoq5(SA*8msr?dk&Iw=(lj#*ksFp-6-?fv!+qB8_LA z$V>o=HO2Zjbb!>CYQnrSIe1hzUMMRH7A4;@V88}7T_98Z6P^=_gSUh!pNI;6pM-6( zOMXGYE>`Iez2ALQa(qq;d~_0P>J-aezV~kP1=RQkg;-GF1ucXNmhWy+m4EJ}>gC^l4A<6(ylqU=F!8XFqGGQ_vj zd3`Z@C8N|+$&m)W+Vtd3Ipv(&@t4L2g^APED_C81O;{Rbru-kuU7Fbs4=E=^%pvwp zZauASkGKzE`e1%4Z24_nvbj5t;7JUB13v1{cXA+?IXS~xG65bqe=3WH(rcB;C|#sg zyI8M9@N9ZaKFZ@{HOAN z+y}qgPDf7)ZF)p3)n{Yj-pa91Px@72&b15y3@Plofb&*?SRM9*9Nl@ETC|l&jpbY+ZYHtRfebfIfXWTl# zVf6*377mVbw4r8!+$$1%Vb3gXL0MuMCSf1amm2JyRaS0WwI1}zOCDs>p|R~=^JvE~ zcaizsDcMB^H04H{$dTd~d(5bAhk;iEDN4fgWX}b!vfMj8dsC&w0RL@&b`|tPPv@H5 z0MjEhhOxyN(5Y8KqG_5hqlN$>_A@#YO_}&4G~j1^zchFWV=Il-_%j z=*MFCzu$PCsr7p0jTKMUDK1!JO4~>Q;z%+pE$*RFv~qGe93!*D=$~ix&!G?uQob4% zVS9*lkD}Pce3kvt7*S>ZH>DPl=coPTmTZBS} z%uaR?qkubhhA?H|`&{ssOB^4B*5wuJ`Gbj5l2C11Maol7saY5qSyY)IC72My_^n>aqO3bI-Zmw_nxkI``G< zuC7uP*n91@=9+8HF~|B+|x}u7eop*ZHxq6%n!7^p}>UFG88#KH5E`(3yhKExk z&edJj+E^*MFV$i*tAwj|qh3;12XO-4Crs3*Om)RF4%Jf9orat1X_u-Z__lRxGc2~W zMtYR{^|jD0mtXmpHT7*7{8U)R7`~Cfe=jH~=(fYJvrSsgNjCBSh6R>&_P&vKl}`_c zyd{rpVjgHc2FM`0Izrjr?rUMuUIP4D=N}9AJ844=ks*iI1hTeBb&>UjVTs7&pYMkm zefx4Psr~^q2(WPe%ndTUOV=69VkQax2wycO&*V$iMut#UWhsh*1y>K{$D*51x)AkW zUBqW8r1eIu3Lg9-2c_8mpCMOgbDvtBdibnj0d)BHy_JDnV!N8!};28-{yp;}bL2^>X_9 z)WeIi3Ud2X>>dCnwmHKt?Ci|XVa#r^E#tHzMt{Pq;Q4ninfmq^h02$tH`7QiUajze zCbM5?PK4kU3l!Wo2g(%?v2%Ph^>=ZySTC#1VsMw5;J zPgFHZ`DK&b03GcF2=d7_$s(qj6Dz+he+u^H+`>PZIgMAUy* zXdf2mnm>w`zY4hqzuxcX3)eXARHK&~X)-Zba%w(61LLv@iCg zOVJ{kG{6)!+b^lf{1F8x)H-T%0thL5Awd6^ic02d9hxuRwSpK#zo&~%ds8oGj-qXH zb@aV!>UI?8R|<_IrpBLLLefV=pndBh!$i*F zw%v#*(vLxf>l?1JFyVEnE`QY>(MF5BfVgx0Ag>?!1f8h+REN7Ktfr%adHSQf*dM9< z)NoNvZMUyNDPYgdCbJtd%i93XAjP~h*aAMZm511nG9z@5wM!NwB6nX(1%P3DeY+kS zfaR9C9pEf^AN;G~yLBiP^@S9*8x4+D9Ryq{LI@}(UtF;I*nn62*cRU0ReT5< z{{v_SB0-DTvc|Ypj~Cm>&*O~FLh>oG+0&bZqugH@$=)*|P&z+WOcPizznFiYX!GehHlm1RG#bnVh+_WpBeAXn`+tFl)tW=H-Z**mG3YG zTxXIrAb`PuLIXe%fkig=5Hu{rNH}+f_4|POUwJr}#88YJ470ZydYUKi08Exh_sK0~ zN&W8n$@lr11GQU+1ubjJ6sh&TKmq(I6E6NG@GnXZk3&C$@h4vNDn9-N;+;;xCFK3i zyr;Fs%bV>wjPZ(Cw7R-LcEMegXHo`|O7xqHgPO>y)C=d)!ntNoCic~yXw0O^_UR6+cX?IlX56Q{T{ zp2|+cPx&Ko*BAb{Vbilw6BO*~bn~cw* z^SHFS>946_Y*@}af!Pa+bt$cz@qck1P%5g~*l8}A&`S@ui0x(V4n*)Htw^ev!DPeE z7N@tVDfIK>v8@+fttn6m73&E_zQ%NiuQhDm#vXUQIMi>-?;p0lb=@W7iuOpEgO!(1 zF)ax7Vv!1IYJr{2eBwr;du9ih=kSKX^rO-(0K z{u4zQyQ?PF_I$HqK9UJ8{g!iNzN?(bj#Y*FGMl;j8EM;2DrNH{`xG zjGT+1nwpuJ*+>-ez$WLjz184P;|Cf(<)q3kx~nM;_$(JWw?A_6=pr!b9|O-g|No~x zo}(pNVxuMBVZDiq{#uO2= z4b5g=!yAvqBHyyIJkqjJ%b^i?J0wM0oIbl{rqG>9p!xfS`iLV5Pq|}lUnVV{koMV2 z>!~;2CmF+vS+go$YbT4|BN^h}p9D+?t~WOtPf8oivg~S>xg`hV{cg+I<4UwvTvkKl zTM4$UR(uQ!-u&4XhJmhid3v(Vbt&@+gV{szDNhhv6wl{ng#`Z?D_z|)+Ms3P`SRhH zR&3E;hNY(e9Y&n`+0N1IUY+J>F(yF=yp}}os^y9cYtB17_8exOZ|k((>#v!~ieHCB zR>Z8jdX18w9LsH4WWIxD!Wf0*$Vh@6uUUBRg}?UpjvoEuheG+HmvkRo4zJmb2?yU; z5jL8*@D-a-6!PS(wy+CR-@gBT#pg_(5H0qpJ6Ekgac6Tj105lRv$=O!+qP44w#{?C znX$E?H#4erob*tTEb~C3&%4Ges>+rw-?Uu7shY!@3GyW?WAjxWB7c*PwhdAZujT2j zIgD^+L4R~3ZfZhNzZ?8N7ZvKHbp{PPglCf7 z%Pb~yF!Qm^Y&;agLNGLSB8zy4KY{-KU9mvVnJcW}wMWZ}eHmKBYHFI*6=wp`$!E5= zi~>{3pB{{fsjHq~t{Qd!SQ?=CQ%7jb50^A5ApVU`9TRZn=lIMRbDf?f)L|24C20DE z?V9-kKFYn*FsjCBPhS0Zy4^w~J4mSFCFz~jGCUiz#zl)`gVIu&1nti)e9Qe|dYQ1b zL@4mIL7C}_EBV4@U16ggl}jgUXG|IDCnQ*yPFz@TRc3nZ=5|)?hG#~>lrD6a0)XG7|w>RzW{^7K|^-IE0iKr^pA~s)tW&HaRQvTJkwa05uwuPD~?|be? z6e>8MP;;!dgD|64-g=D)uW}C)4(m97aVVVAqjLgm4i;tl9^X(u-K2PGbk0SGaQ%7 z9Yqg^3*`eGu1GW+>S=4);@kdLMHta??T7C$?wT_^Ke6$=TX;YaF+fCI40XZU=gbVs zv69uHhN4}*v~(=#BV6Ks4jd-f0T^dmOS)GVQNh8&+e`NX3;o~CR=o*ya;R24!6ipM zmu66&Y!tgfOISGK^20fc&sT{(hJ%x|UbCPo^a~F95xdA0vI|gNsfv||Q`#*X>b)E( zCxFEia=~f*F|_BiCZeX8m@%HGsH=7!vrwb?T}n9QwB_lf&Mlp51+^0*b`6Fn5h#0q zD#9n5Gw!lDP|fD#a-u<{vf2LqEhUi)LkE<4!`9Uvkd1T)dcHg6MlYX3nWO?Xb?T5VZ%;NcPZP;+@a(Hb}goG$}t$6o^(Ni|JWqxd~bap7!V4>{! z@1I*abLGt2w__uT?EGP#u~25r`kI+uGU@Vqb@$xV@<4U2CReadIi{v#m^}OKS-(eM zC*h?xeIbz32)mv>psHkCE|{95!t+%D`!P zIff?ga|VVNoAi%wkn56rf4?FS*bRd|A+={(-r1~>(0ny};e>Syb$to{!N8j#FAk@c zwN;Z9tJ`%K%Y;dX4*Bs_0=xrHm+ioo?0t>I`8PG97P-vLi)Xb;Em&0Cy{Y6i@Sl^* zhnc*6Q7bvMwe;jZ{=HYcrVM$zZ%8^~v++RwAxb>{arE}RhNeJa!Wd8R#k!N+1zVk_=adcze;WxR~=eE1Jm z65q||A|hAbp*?h9HiWXmZ=T#wyGummv~HMQjdEI=S>GoeLYp&LS!Pr#=}fUCvc6e* zza1)#gr3}P7d;3GVgazub}j_I)~!v&w7G~VmH6aL~cn-pj__AO_RC0F&$_( zH&=w$q|DspoX^x=VwrAOWh`N|lTVewVkQ%Y48H~~mlC&Ag`S-KmdMzaYXIfVJN9xB zcu|>^ZzkTzPN;AvFHklI7tT{^m${b}CR7__S2=YIu01Iuk8G!}Pfux2R}c#h+dv(5 zzn*apHh3<4g8BmBcc6j<|JWjfKXLv5atu3o6;u(K0y&a zS)`=Zq2`!VX6}iM(mP9%U2i;MNV#eCReGCL+fANZS)F-q#w2Ki$53il8|o-BRQJ$G z=ZfiXOkp;hsTHP?94raLp!)U{ncvKmE75effk%|KTNbbW;-?Voe4)kra6~zPh2izD9`&I=yBp95mA)1NQStnd%AG90HEZb@!$e|>(RvFhNmv>o zl_))ZYw@d<>7ktWf!F1$Fv7uSUYgW>8)I_$>lf#b-wh*0MoL#}X2x;D{lXJwbH&Ed zrHpB~ZrAJ!*#k$xs7RLR4Tum};_tZ)jUkNv-o9&-{xK58!o*6lKe~ahw_qCv+6lp&)Ht}6EZN1y%2!tgbR1Zs%Y&vD{K@;Dm zn}wRxb;Lz9%_f<0)oaA`D6pW@sjqN(2og^s_JyGOXVs%lJ5|pLKzwDr_mhtNS2wc2 ziHHjo&y34#Idz5 z{g?eY3>RnxKj_uI8?Q_5R$prtT{>B0Z~G=drJ$g&XSGR&Xw9pt-T-h(He6zN+5DGJ zOY3<+QZS%p#2-93XS+NC(%2*UA@Hw$5CpX+cc8$5PsyHLEuR}sBqY1FN4`AJFbP_I z#GY+8^USx$*!crgZ{ECFTU)Dwc3m6#sh6Z#$QEfofor{FFQnKJC8eN8_fNg_TMrL} zAPBd<_PKd%b`}RD)I-C=#6(0WU8ptPgTm zHm#Ta&h39ERtlU`nR+tSE(2m*Cj%|Df(tXRaBC=QSG1VacU~L3;^|ru|Bfi30I9=W zDV<2Dyk=HM(@S+Fcb}OskOdkO167=mvki<6vrhGF9I>)qFlAuMWHuLf1G zU%$?cMjm8RcmkkdJw7waKHb{voa{GzHa;e=l2*;mA^=YoNOVLu;_%k8{(8(Uz99RHm)(v#-z8BA;e z=>0qYygxP12LRod@@Vx>1jt0HtLf;Q(^)vsu!ib-#W3;{}x9!P;q-!{U8F4#{sny*l#sE*8+HvaPX4 z?+orvR|kH=1=uimwyhc{y{kg(guoqs=(m~~n}<42uz5q3+wplf(>{0L65qm)uhK8x zMZitCTziL&>tF|c9^O9cd>GNa1Lu&1Fy%W#4&-<5c4g_&w|%`&Fk-wdlivBMXgLQ) zpkJ#MBnt%p0knGG9R1MUY`6|oD_gA`+yU(4Mcujn)Y<&;d@Yio&!4^SZ_c`SdJ^E) z>{D_&au_@gztO{ZW5r!E_8q+Srcz=IxKALgKU`g3WD&_=p*cx`%fglsK2)I+oO566 zxT;q?R#$s5OTgye8u-bl(sudch;x18v%lEeSNZ^2%{ zq~RL}-01}MY#KG6#YJEKRmt?V^s+ zU`v`#K3=S309iqAv6bPTv5N(q$&aJ<@!{POk3tOsz|YuazPbZi`DOeJT3uJ=mHxA5 zw_hwMN9+6xF^hsx{m$NcW42AJLG;Jrf8w_1UgXZSiP+n7%U?kO7dZy52A-SXkst<0 z8}r$E*@!Dub6xuG8&*#;bp(zMy)L6rzG+Zs`ccI`3nLZy;d;l zbG-a1d`{-syDe)3oRX=n_1qQ`v?o$jQc_S?XEKwu?zFgY>k)-A><9r53g|LR5Zhpv_E|~>K*~#_m4t(>QQ)!KS_@C|x$S>Nd~aU6*lnC| z|HGL(#F!Dtbt`J-F0I*{Us}NafM}^NTU)&`Qo!lEqbl{{GS`t?vRKs->o zJ18Zj=!!@>#*#3PQI1Yj03-YFBFy>Jzr*=;lG zfl<4tB8}HGTSiBV*>Bd+Nr+ER=^pp>l|BsAZF2mVFasl}^kKexJXL|7gZmsHvJW0S z5C$(FxZ;|o@!C(}CTBs;wM&dRT`V#@BDzd+2EkqlTrNOHQ3bE~7w?}u!g9wQcOVJD z#=9+yheSd`0_6_FM6|^7v#xu3JYk%;b_0>X+ghiF7QG(F3}x5FhJzuF53`*SR=f#C zU&*O?t3YF0K$*R|Q61 z050|GS9Ob!tDKyq9@xj{VT4RO8a>UT)1wD7p|vTJfXT6H57AQH-ZT*~wNX7iU^!as zsYX00yv~!2f%nbRz4yfG*%OS{O^a;rafP?Tlta6=e_8iwji=Avi)m^8o^q;*!Giiu z7PmL0rF=6LhZlent`Ypd*a6iXuxS;!=U1Ni>Z+zUc;b>|KdYBh-`|wZGwr|VW;XH` zhIM>$Zlc7`oiUobE8KP`)B^>t{A#5F#t{o1`das1T^CXaN@{p%zO@@HJs$FjZIl~> zL3w>KjMLtA>Ky;!kUTZ7^I1avpA@lCv_6xK0X~-@pD(=x{s(DK$|)}^D&0Aq#F_&Y z8t;gk5Mn=tdb*vWB3cR|Jg}r>&vFsa#3wsR4W7O+ZwymBUA!{hvAMXw$3 z;ms^NU`8%?6GnNkoq9Exk0fhdrE;|3AaI@n`wZe1o~HA$6?U#UU2lXusjeH!)rTI0 z&)|caIy-StU{yDfZq)rVMTO-94cCR}=;*#&CoZ@hM39kzRh4~m84)!#e!QZO*>H(| zOApsiFp5A>T0)^A!kaf|^-`{<0oYo$F^~!=4ji)ai{Ir~lim#bX|x(BR`4@r9BAU> z>3cry!FZo18o&B;jZ`9#=ra4&z*VN(CPNsNYMw9I3C zV4mND8B!fc4IrjyYHAWTmiCpm1;-y)JiZ1qu+rdQ{EJjoXrsP7hx0(hlDdW-uR&#@ zyuLk?g{$|y;XD415qu=;%fI5eT_>(bIxZMlYqNOB$!z&_%<$okyi`Hxr5)D4x~7g*d*D8P;aQ%+$2?A?3!*5w1de{{XPZ8UKf z$wdW9?evfQ*lQq*EkE2M&fF-N8;U;a14~O{(<|4^O$miDj+%fFus#hS@Z9MQi3%?L8D;d1T%S$PA zl7|V8P1kzG&U@o4KBKOO1aCypPI({SO5D{+f zg@Q6bxAu>cv+9+L0^q6b$v(R_??O!eArScYGO>#15kU_ac3yT3WqWeV%(Ax?(2${T z-JtZlo)MG=am>?wX3=YtspydcuEQ_{Eu1OmO4MkKLC@c|nW3($tM^My8Uo~T z95h08^&uC%lR?a9uRp^FBEOZM71d@qsnCyZW6iVgL{htbQq5cbcEGMVbrKk&oxD+w z8Lv3qvm$E@qCml8oM*#fDnaKI#Pf+^PzJK|*5M2bNa57RvA3G^JZ9^f| z36&6DyZaQWs<#^7-(gp!cnlh@b#Q!aYH!E*ht)I?UI?bzJnKgU9Nqm_S^+h0F%iw& zfZfvdTa$ew#`$B2XYoII$Dc7TOz>R~D4e(Z6N~KWu>N+69(ujhs#O+s#Fdi%e>Z}rKO85xs?hHAdtK>$v6?MKWu z;7_eksYee-toaMpjFyUWwKv$?M0~K}eouft`76h?%ocbRecjxQmOG&8x??e+gahg| z1Q(O^rwI^|1I3`g;Q}cl(*vRPcWy`WJL}6oltTz^UXK#=Iyx$o?k#j(ru>IhHG(03 zTy*n@a-$J%ti$b10dX17sDC`FFaAFE9sB8s&}KWVRCioA7U#Ie?(~@VodY$Vbci&0 z!Z$F$Mr^hL%2i;zN(6#LQvXqlQ`kntcJ=Y4j2FO&illDVE=0MBrp}Qg*Dvk+Xl#1< zBOta284EAmIy{lwOi~5g3&al|?2lPY2Q3`prB$Z4(ep>&JLJIB`=OI9-HnO}`9d(w zM}%|Z-|Gt(-Sba1aq}A*=P41R3>R*PBPM?uLC>Os<*p1dsW{yd&m`3@d)Fma(^B0yE?QCRhcq{QTFNblEBiU_Xk{l+*OMpHOhKQ=%sY}ea*?GPolTPN2PE8^`(Q_ zFGxp$K}C$Ip|NDbB+f2Ks-zi6@_05)}$jG^&tISTi><`dz_?vGg>~_#?22b06?jG?KZc#mP#^cIswG@ z^Lw)q8IjiZxJ<~fWG(KO?~BosSgt9!H+S?GSP;y3B_ zK>v7v^XKZLl6g=aJ0+#~rxa+bFr`Y1ypcHPui}MmQS~}F!UcAH$nf~kw|sJ3G{R{U zpQ2A6(*jlTU>Egg03SqLX+P_(3;wS#)FZ0*Vo9LH50sJy3+Cl6UAlA?+yjih4I-T% z3kyqj@RYGGYNj(nCd0PV7sS_Kgq?D1{}QNJaD2Yu31z~!HYTdLn-YM*gVx^b0Pb2g zi$(ZL)?T=?`Ut-sz6!Gyx79(M{3v`JxH@Z}M3BR17p;}7h*wU#Q&j@2NA&WFwhx>6 zS_T~CQ;|*Xn%kjGit$`i2fE;I?`qM#)C(5e3ZaA|8K4qoLP8|a#Q(foVp?$y1@rP- z1o^$t%ao!LZtV4O@c2*x&1o~;B;pcZ9xSfR`HmFV4`y7X4dJ9BPME%nMtc@G%QnO2 z0TBzG-+6EH<68V}P?1w}qO#jw3f}qP506N_)k~gdzb47IOI;nP$R7}3VLGLv0+c{@ zcq8QaQywrX$o?G_>RWdZ9v-n-2N|v>BPTq7U|6k8uBuUJK>BQQ&`*ti?jLs6K0bpc zHoW}%L$_hnkIgc_mr(H*+AbPB?`e7H3egzs{-p<#G7KwTFJMm&?d3>XFu(^eR<9q7 zwHpHU=)HO+K{OAj33{5-Dt{Ri#LD~DDk@9kbryoYd*A=|%kG&sibf{*(a1_qtI5g5 z#VrmQ5N;zk=`|b8@XBaFN=EWmw6Vw=w68(C=KIw5NtAnYIpVb1Hx3vrTWGZlgx=l4 z;wq8bk@{k;QdIPLB|$&>F6VkhhZMMucH$AE&w>2hOyFRwakV0ONB;Nl7?^Y%W!u6I zQ&)(GxdAFoxpT*29WdGs83G2h>PPdgp+>_LLTu6ab2NgKsJM2#WO?<)ABP$EiVS_){+N(#%Ovu0H z4mxnupO=x6E3fb)*l&#Vdk?(Xv>}Q=uVX91WB#6NY4~UR9Uo;fW$sJXe}ChAvOg&d^5lPnNwI$Zi;rW24T2D{^&5>?;>)9V{{`=Re%B)Z5&D(dAmAs$$dYD>0&E2I znj8u#@2~&ux&Ghyj|>?Vl?ln^-?sNPw=XmsslSn9%Nm5!i zxhUoBI}M)557v#9ll=9dey}FIjX3{qoh}bM*ej!t8`nFpe-3P`3G!mSBoTV`97mu# z%b^C*6P2I7?(gF(6EV_MHM7(4Y|r>=kYZ>`kYV_p!+gu+r;zo={k`y2Q@ra9?{5U2 z4Qf6*IY$xn=-g+5)yE^5v)^zmJ9kIIhj`>V3_FTHKkVtbxt^nbt6@gbL37sR97``# z+L4}BhGM65fGw_Kc$2XH=8FnxJEIwYeopHL-KE~-;TR}a|13+~R^eXZiFr(h@3(%w z6`|9?B7JB~LXm{!AsYNTN7yGZQ;_5g%DwVhn${Vg#0_-iH*`@y%W?RV5PRm)A_|l{ zrAL+}!FTp7CXS?MN>w`6NbfKI%ji7Z? zpS6Tpq2_9udbB|=XGphMcS*j zX6Du4`yA8*WjTEx@7C#G(PGWKwo65@_88}fF<+o*_8V3*K1?S)i`RBT?Ijbb9;sVy zh`59W{zwiuQEd<7>;~)a4-BL`;d}NjE*rtT)^kryOJbIms3U~jbdC>q)lyZvz~=F8 zsJ(i+>akVF`GIf2aY;!`5C43W^IjGnUXgcVNr>$+##o}L`nvvLftixMeGy1VGCH(N zUbZjn27me#Jv5|6Kzm==B7&Eho?a}7e-JhxO=xSQ4G9fRI6d6H?uAaLPaIBAWer=5 zAZ6iS%?lGSNuU&$1kcBZ&@@O3(Z3_?_Rzl~AB#;892~4X;q;`?HoauTH9RLbcY7<( z2zkw@^XA8y&hSJyPODL2vVV89kl=CN#>U3=+F!6mIms5h4odH;y@Tc~HcwdK-~`v` zw~ju{hwbzzrA%5Uxr!I*e7z^-;NZ~G*~z}?EFskWVZJljq82-hTTj$ya&cm#DU>xF z%~SAsmfVl5oZ+F4ZmwJ9NeOR#U6WDaeDxi|xy8)N-+S5m(|LnEOC<>dS$ZDIOS2A+ z0~~TrhqhcsyDP(CLgtYRQl7dy_ok+&=e>BWdg3hTp*z|5FUNriZA{&I!ef86%t!(L z-kquD&y<^0>?)1(fzXrsa2lDoxC-mGD+geo<^^%}b)|3Lgp2`ST^L9Yuc@io@_Tb8 zBq%6GyVREX`gL(w?Nqh2%zYl7 zTTxsiJ+PxQ$FsTz?P2?bugbX9FYgw*9f<{;uHeG!ji*yoH1eMNnA(h)T0lO_N`Z6u3lnIdPh0?T6L`#Ulk@BbtfEDjvh(g z50}9qymEUbgV$!EX*{d-SvC_tzo?#`UVNlf&^rR!jJ>^PUmu??t41&XY)3Ij4fiAtBH zJM|6q^U=5@Jy5}~w^>QUB?P;rGuTPym9El{WK?W-;t$1<&(o{*Ud*5q>nWEa}B z+qoVE3947>NcqRTTrt_?AKeX34rnnu_jW{!50%8`Nh*{Nb>!)(skz8fsTLRn9C8;! zzB|j)y5&7=4500`>D5jYu^UMaxbKn#(u4BT6Uy!RLA7)ZiN&!uXYdFJRDiJLZ_FJu zP0_8axLeWsbAM>);w%8Q2bhrE6xH^E`ZrxOklMl2h*BQjW&? z(Sebez7q*w*DJ7#SZRC4*w|C>_mK{Q+xjAx^hBf<%t{vq^Ek@y+hrK@Em;n{qU3)W z2&3{8Gudq_F0-Zm(~bxq3 z-_zrKHK5!&;;LC(TnPj`nyYO>-HYg5u;LSH1*65Br@KC*_n^Eqx zYrGKL%P7mr!L=UX?;T3Eca4`urC9`w7yfZ^FRPFC84Of?7l#uIzsn|GaeP^ZoFFLQ z+9NqPb4)b*;Xa0ls25{DqteVjc{%StV~q^f2BRIoMmPi96ujx^L{#w>Iv(IP^sBXvLzPeR`(% z8i;y+=fppnk0r|q6NU4d)bwI-@$ z(5>e0MfSqh1{^jm&-2aDigp3i(PLv*(Iqt-Lm#;cx>C?4mxzg@vkCnbb~Ehe_SPry z@NeyB6RB80cZk`$Dkj+U)BHLEL$cebpyNa{Bj<~S*aidC+D+%cafY@uEqaLhm@*XH zZ@l8pG&tpTLN~?{%#!vpx&OdKC9Oku`bi)0Hh*6*-2Y_20^K-sXzCcJl(kNTLiKQa zlJ3E7&E)a%ZjBd-PD|} zR7!P!+O3H877jB>ES~TA)313yh6~IbvCEx8HPzx?O4U?H{w3PW&xf>L}nY4P1UgMmUR(WjyQU0>IX z;5wA7Tgi-xD8O{?uzrD_zNP$_P2@Et)nw&&ekP>H(okB8jWbg18k?e>=uHQNx}t|Csl$fvDdX-A zZc9h`Mv+v!$-=BkM8?D*WiY-?*F3Dqrch~m_Q`dGN#4eTm7&1y10LY}J~AP{`wSF3 zwR6xx#=Xo#wz}R|^L@|#tS~>%p+D&0VwWMDFLulFH}n2+6|6&{_R>JB#HwAU?y*|( zD0a0}7px;PX2)=!dflT5;z)TBXqI$2X)AZ-Vt&Xrnh=Y!=$2;o zsbDJC?(D-L(KNDREyW2gHdemi#Cg7s)ZwGt5;xci)$UJMjk4LABVO*$l|lj??NS@` zNV!u;a9(S7WN>gC_9tS;oo|L)iw`S}D#JynLRw zbA&RcF59bB%158ZSfg+%FmL=yscnGOT*chgS4E8(eSY`2CwWO-weybh_GH7Y*T1uG z<8`g9do>OTj6_%JY85c2xVXj1L4u`O)fMRr@p!^{ORPx~Rl5enW zTs+Kx(*YPu%%EANwn=aLm)iLr+DKZ2+vUNZG}m?$E=*) z>3O#bHQr$@6kxwGR^k#~ro^5LPs4mcZlD@jEFfO4d6t=eFdfSW)Up;|D0y#%_3)^d z$EJl{RC**fpspf+m9_tKrl&qzK7Q$jWryD&`R&;cnXtY1dme<^492U)yE-2!IW_F8ms9TOH_X-fknmbecqW!>7MdNP<8)bW z+>l&f|7CrurMpvevxr3dT2T3a2;n8MX9x7JiBO%G3 zOZQ4y&Ppw)&FG!!K>Ls|ZW)P+`V4^mP1CcR&gd)T_WKb(U|Ya7PwyW;eAx+>4lOew z&f+j_B7*b`{*)iIuvkvdrvCWxn%j<>Iz=fl!$K`8`!MfO@%}HFkC>OJNRzBC4-Hr@ zJ@YL}`cxYe_|z|_tmYQhip$Pea3eb{N{2Oa9rJ5yYqvAM=>CRe$Y@;CZwvmf zDlYCh;$j!SvH9r24^lANBqbtBYHPdIdH>5|OXkVoNRKR-2tEp}NEf>)#UFqqZ_l5{ zWe+j3@&qT+8)}u@xhDT=0cUQG!p=wd+QY=ok`SkARzueL%QESa%X;^3b~40AvHXMv ze~TF(g|6Vh_aYr}RHS3PH_U5So!;|!en0*4)@(qh)0NEC66fY~6<*NdvvG-uCYz1n zXo&PbR;;=bQ1B{?y}N*BrzMYdJ;r&t7|JUBkjHc=eTb6FEbWF&4B|@sYN$vAshYTT zM83MU`4VBFp&8UI|8I zPJO`i^3u5E_J~!0j4Dm-@E!AgX8HNqxL1rD`9kdsPvT0=@)qO@dw!+5h@mU=>NC4$ zy7zexJT!?f7zw8edugy5FXg=yAG|6tkm1aZ?|cSn_x_R>eivw@e^3t1do+uxX_5!vnbzlgoM3Yv!^jgg@fv@IFfHdcyvG1L0m#&e)&b~)N5XJra3JV z@#LP|QIZMcxD$Gi*ICir`^`#GBUE!SAh^PIbN1D2{!Ip50%|gu_XMiFi)U=M9=|y$ zVO7I5Vk-}{7NJd?YQ19GRZjD^=PtjnldSF)=axxx+~NV76k#q&?1go{x10s~S#XQC zmQq|aIWq*1aNv052}cFVnDmfYp+S3OEciO{(1d(-J3E%2`^4)J^M%CjK2OVy8I6v8 z-N=)D9JM`o`3ynY^|QHe#_NG>>{eF@Qy5LO4pyJh>F*5^f#N7bQ`mE+SP9l6Odw! zHRmwHMvXDr&5gOrL|il<(qeXte3QJc7oXIjZa!pY%AS#SA0^zbqUz3MeDB05ekXOk zpyP5jzBN{ZtYV(oTxSFZO1}JqzR$XDaEG~}slVd(^=$SP*Pj`AgZ>O?RxfRhW4; z=L1*%NKbHl&fyu9t40U`&dAcLjLfHvo&)9@={qC89W`-K!WJXg=gk+DJ2Z5s|Geq* z+^h6L8x-o&y6w_hf$VhJ_6t{9)t1&l#*sl@*kOz2URipok+HaXat7n5A{Lh<2I@%7 z#-9XjqjfKZSTDY;We~%cSKndx3|y11KkjsT=0oGh>Nm|9nao{2O+@6yG{QFQ{waIq zx+BLenyZWO%jEYh)@9ckWS82{pw_x?p9t>EC{UDfV9wWjupY7FYQ|8!|kq20w~ncFakQ>4tODRrz>X z#R6Yfg}&A|W$hvRf~N|a0s~c%&fDOX!t0-zlC39!-kPG~OJ2u7t-Wd(U2Kq2N%hx1 z2&3FJ`|)c{mKNnsL9C32p8FPZ%^Dl!-hcbPwy1h>Qc1!p3dKa&5Zg+uia&Q1 undefined), - z.coerce.number().positive() - ]).optional(), + amount: z.string().transform((val) => { + if (val === "" || val === null || val === undefined) { + return undefined; + } + const num = parseFloat(val); + if (isNaN(num)) { + throw new Error("Montant invalide"); + } + if (num <= 0) { + throw new Error("Le montant doit être supérieur à 0"); + } + return num; + }).optional(), comment: z.string().optional(), commercialProcessed: z.boolean().optional(), status: z.enum(["En attente de demande", "Demandé", "Reçu"]).optional(),