From fc6abd525618dd38a9dd4495db3aa183bb71b964 Mon Sep 17 00:00:00 2001 From: chenchi Date: Tue, 9 Nov 2021 16:56:58 +0800 Subject: [PATCH] update tools for ASR --- tools/ASR/linux/append | Bin 13664 -> 13320 bytes tools/ASR/linux/append.c | 42 +++++++++++++++++++++------------- tools/ASR/linux/crc | Bin 13608 -> 13272 bytes tools/ASR/linux/crc.c | 45 +++++++++++++++++++++++-------------- tools/ASR/win32/append.c | 42 +++++++++++++++++++++------------- tools/ASR/win32/append.exe | Bin 63343 -> 139297 bytes tools/ASR/win32/crc.c | 43 ++++++++++++++++++++++------------- tools/ASR/win32/crc.exe | Bin 138260 -> 139121 bytes 8 files changed, 109 insertions(+), 63 deletions(-) diff --git a/tools/ASR/linux/append b/tools/ASR/linux/append index 8c7bca6a9cd98a61e309b46d9f965a06ca0df168..1c227bf0ea13f82acb984a1faa213742e5cee211 100644 GIT binary patch literal 13320 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 literal 13664 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 #include @@ -47,7 +48,9 @@ static bool hexstr2int(char *str, int *out) static long fsize(FILE *fp) { fseek(fp, 0, SEEK_END); - return ftell(fp); + long size = ftell(fp); + fseek(fp, 0, SEEK_SET); + return size; } static char* shellcmd(char* cmd, char* buff, int size) @@ -194,38 +197,47 @@ int main(int argc, char *argv[]) } // get file size - FILE *fp = NULL; + FILE *fp1 = NULL, *fp2 = NULL; int file_size = 0; - fp = fopen(srcfile_abspath, "r"); - if(!fp) + fp1 = fopen(srcfile_abspath, "rb"); + if(!fp1) { ret = EFOUND; printf("Error(%d): srcfile not found.\n", ret); goto exit; } - file_size = fsize(fp); - fclose(fp); - fp = NULL; + file_size = fsize(fp1); // do patch - fp = fopen(patchfile_abspath, "w"); - if(!fp) + fp2 = fopen(patchfile_abspath, "wb"); + if(!fp2) { + fclose(fp1); ret = ECREATE; printf("Error(%d): patchfile create fail.\n", ret); goto exit; } - fwrite(addr_str, 1, strlen(addr_str), fp); - fwrite(&file_size, 1, 4, fp); - fclose(fp); + fwrite(addr_str, 1, strlen(addr_str), fp2); + fwrite(&file_size, 1, 4, fp2); - snprintf(cmd, sizeof(cmd), "cat %s >> %s", srcfile_abspath, patchfile_abspath); - if(ret = system(cmd)) + unsigned char rbuf[16384] = {0}; + int rret = 0; + while((rret = fread(rbuf, 1, sizeof(rbuf), fp1)) > 0) { - printf("Error(%d): patch fail.\n", ret); + fwrite(rbuf, 1, rret, fp2); + } + + fclose(fp1); + fclose(fp2); + + if(rret < 0) + { + ret = EFREAD; + remove(patchfile_abspath); + printf("Error(%d): crc fail.\n", ret); goto exit; } diff --git a/tools/ASR/linux/crc b/tools/ASR/linux/crc index 6a97c498b153f52875df297127f91c6e7ff7e093..3ba0ec2617a52cdf76c7ed7ff2ef736124473202 100644 GIT binary patch literal 13272 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 NZA5OdprVEP{|$C$&TRky literal 13608 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 #include @@ -47,7 +48,9 @@ static bool hexstr2int(char *str, int *out) static long fsize(FILE *fp) { fseek(fp, 0, SEEK_END); - return ftell(fp); + long size = ftell(fp); + fseek(fp, 0, SEEK_SET); + return size; } static char* shellcmd(char* cmd, char* buff, int size) @@ -181,38 +184,46 @@ int main(int argc, char *argv[]) } // get file size - FILE *fp = NULL; + FILE *fp1 = NULL, *fp2 = NULL; int file_size = 0; - fp = fopen(srcfile_abspath, "r"); - if(!fp) + fp1 = fopen(srcfile_abspath, "rb"); + if(!fp1) { ret = EFOUND; printf("Error(%d): srcfile not found.\n", ret); goto exit; } - file_size = fsize(fp); - fclose(fp); - fp = NULL; + file_size = fsize(fp1); // do crc - fp = fopen(crcfile_abspath, "w"); - if(!fp) + fp2 = fopen(crcfile_abspath, "wb"); + if(!fp2) { + fclose(fp1); ret = ECREATE; printf("Error(%d): crcfile create fail.\n", ret); goto exit; } - int crc_dumy = 0x0; - fwrite(&file_size, 1, 4, fp); - fwrite(&crc_dumy, 1, 4, fp); - fclose(fp); - - snprintf(cmd, sizeof(cmd), "cat %s >> %s", srcfile_abspath, crcfile_abspath); - if(ret = system(cmd)) + fwrite(&file_size, 1, 4, fp2); + fwrite("=CRC", 1, 4, fp2); + + unsigned char rbuf[16384] = {0}; + int rret = 0; + while((rret = fread(rbuf, 1, sizeof(rbuf), fp1)) > 0) { + fwrite(rbuf, 1, rret, fp2); + } + + fclose(fp1); + fclose(fp2); + + if(rret < 0) + { + ret = EFREAD; + remove(crcfile_abspath); printf("Error(%d): crc fail.\n", ret); goto exit; } @@ -221,4 +232,4 @@ int main(int argc, char *argv[]) exit: return ret; -} +} \ No newline at end of file diff --git a/tools/ASR/win32/append.c b/tools/ASR/win32/append.c index 75a71d8..d024691 100644 --- a/tools/ASR/win32/append.c +++ b/tools/ASR/win32/append.c @@ -16,6 +16,7 @@ #define EADDR -4 #define ECREATE -5 #define ECMD -6 +#define EFREAD -7 #include #include @@ -47,7 +48,9 @@ static bool hexstr2int(char *str, int *out) static long fsize(FILE *fp) { fseek(fp, 0, SEEK_END); - return ftell(fp); + long size = ftell(fp); + fseek(fp, 0, SEEK_SET); + return size; } static char* shellcmd(char* cmd, char* buff, int size) @@ -194,38 +197,47 @@ int main(int argc, char *argv[]) } // get file size - FILE *fp = NULL; + FILE *fp1 = NULL, *fp2 = NULL; int file_size = 0; - fp = fopen(srcfile_abspath, "r"); - if(!fp) + fp1 = fopen(srcfile_abspath, "rb"); + if(!fp1) { ret = EFOUND; printf("Error(%d): srcfile not found.\n", ret); goto exit; } - file_size = fsize(fp); - fclose(fp); - fp = NULL; + file_size = fsize(fp1); // do patch - fp = fopen(patchfile_abspath, "w"); - if(!fp) + fp2 = fopen(patchfile_abspath, "wb"); + if(!fp2) { + fclose(fp1); ret = ECREATE; printf("Error(%d): patchfile create fail.\n", ret); goto exit; } - fwrite(addr_str, 1, strlen(addr_str), fp); - fwrite(&file_size, 1, 4, fp); - fclose(fp); + fwrite(addr_str, 1, strlen(addr_str), fp2); + fwrite(&file_size, 1, 4, fp2); - snprintf(cmd, sizeof(cmd), "cat %s >> %s", srcfile_abspath, patchfile_abspath); - if(ret = system(cmd)) + unsigned char rbuf[16384] = {0}; + int rret = 0; + while((rret = fread(rbuf, 1, sizeof(rbuf), fp1)) > 0) { - printf("Error(%d): patch fail.\n", ret); + fwrite(rbuf, 1, rret, fp2); + } + + fclose(fp1); + fclose(fp2); + + if(rret < 0) + { + ret = EFREAD; + remove(patchfile_abspath); + printf("Error(%d): crc fail.\n", ret); goto exit; } diff --git a/tools/ASR/win32/append.exe b/tools/ASR/win32/append.exe index 3607c21e7f9f2dbd5a58e0bf4371bda103b65c0e..0d9f6258b9bef263d8c8c1e5f8d09baab167d350 100644 GIT binary patch literal 139297 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 CkPgcL literal 63343 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 diff --git a/tools/ASR/win32/crc.c b/tools/ASR/win32/crc.c index 2e119fd..99e5cb6 100644 --- a/tools/ASR/win32/crc.c +++ b/tools/ASR/win32/crc.c @@ -16,6 +16,7 @@ #define EADDR -4 #define ECREATE -5 #define ECMD -6 +#define EFREAD -7 #include #include @@ -47,7 +48,9 @@ static bool hexstr2int(char *str, int *out) static long fsize(FILE *fp) { fseek(fp, 0, SEEK_END); - return ftell(fp); + long size = ftell(fp); + fseek(fp, 0, SEEK_SET); + return size; } static char* shellcmd(char* cmd, char* buff, int size) @@ -181,38 +184,46 @@ int main(int argc, char *argv[]) } // get file size - FILE *fp = NULL; + FILE *fp1 = NULL, *fp2 = NULL; int file_size = 0; - fp = fopen(srcfile_abspath, "r"); - if(!fp) + fp1 = fopen(srcfile_abspath, "rb"); + if(!fp1) { ret = EFOUND; printf("Error(%d): srcfile not found.\n", ret); goto exit; } - file_size = fsize(fp); - fclose(fp); - fp = NULL; + file_size = fsize(fp1); // do crc - fp = fopen(crcfile_abspath, "w"); - if(!fp) + fp2 = fopen(crcfile_abspath, "wb"); + if(!fp2) { + fclose(fp1); ret = ECREATE; printf("Error(%d): crcfile create fail.\n", ret); goto exit; } - int crc_dumy = 0x0; - fwrite(&file_size, 1, 4, fp); - fwrite(&crc_dumy, 1, 4, fp); - fclose(fp); - - snprintf(cmd, sizeof(cmd), "cat %s >> %s", srcfile_abspath, crcfile_abspath); - if(ret = system(cmd)) + fwrite(&file_size, 1, 4, fp2); + fwrite("=CRC", 1, 4, fp2); + + unsigned char rbuf[16384] = {0}; + int rret = 0; + while((rret = fread(rbuf, 1, sizeof(rbuf), fp1)) > 0) + { + fwrite(rbuf, 1, rret, fp2); + } + + fclose(fp1); + fclose(fp2); + + if(rret < 0) { + ret = EFREAD; + remove(crcfile_abspath); printf("Error(%d): crc fail.\n", ret); goto exit; } diff --git a/tools/ASR/win32/crc.exe b/tools/ASR/win32/crc.exe index 3fb109795bcefad54b5c3e6458b84fd687b46701..9d626788c97ab1e12e46a38f706a50e3fe2b3eb5 100644 GIT binary patch delta 16306 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%0A{&@#F-al@Hf%8omFq{a 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 X?c_GHmny67#LU`O4rEh8<(>ZnB^vRj delta 15781 zcmcJ0d0dp${{J}-49tvd0t1LF0}P9R3JRuZhKf2GvWey{=8_94DVF&)hf;15V(3v% ztJm(Wu9+!G37Qoyg?YnrHJUc)3q^O{@E?|q&*GcfwQ_xt_lJ}=MnIp_UZ&*!W& zgV(>*uBp{lE)NJP{8IsWkCOK_gtU-Y(oRtVNzAJCX-Zbgs_)Zi2{X{)ZsS%HVpLW| z1oH{UsZJM72=PIQVQwq1#3pDFFxH6@S^Wo|C9G>3J;+lP(BJDx4Udno$=?~&{X z-ecG;yf;*bxh5#IHyi3U)$?2=A?EtsRyB+a+F&mCzW}2{%391z_tGYJwo=zIVYskXZWvdn8d+r_q}+3WXq5S6mTLy8 zu%QP?Q*U-s7o%(oXZLk|=_1x!A3+P)czqC!V$bQL9*YVm3Of z45;}5ubkG!JA4@tk9lcxT)k%XEJ7$+O~cqxeK_sRTJ$MONmzAEyLgH`<$CzHe?C-1 zG|Z>zIZ;`<&&Vo0p74IAmq06y3QOghU)Xt%IHfj(X+6`F!yzogGo8N7NKRD2%-yS#1+%J25xwrT&s?$DR030F6+S@CWov^3^XmXY>Pwq3K;l{Y zh2Sa0I$OnMNmmA>_FzTOb&twjCHK;@J;{E4Lvee7UnMpCDbGJ8Y?* zE4+g&qUF7vEUQ}}t=x6C;wG$&6INEhiqI442&J(D=+Y+o%`%OE(7m;yPpV~m?BzY$ z#QqEv9*I5v-vnO`&8ExHxDp_Pcd-R8gJ{R*`UDNDL+d{UZxU7(2`ifvTWCTZ!9NHB zmB9l-b_Uk593O*aU|qjjTe8I*Q1w^evs$rY|4n{ANrek{;o>pXg)ks?Can2i!4l5S zz!~(rIFct!9~XL)@53}wszxPH%Ps*A1AKLe88P*%6}ug5)uz~Nt+d%nbh7mpm`y{i6?7HMzm_PprMyO6(f3_|q- zYt@dFuT^y`2JXUY=~s(oLUxLMNaTHmFzyhjeNJGB>3w5_C4rr6NOwoZKpmEjzVe}AC6>Cq- zFYQ~1ePiPIy_M?2&iXyx{RGY?rC49DsTUP=Z|Pm7*mvn&TKq(<+S{f3;>J$cTWPKc zedA>jQtE2&WD);okR^9Xwl8d^>EOysFynnUI$ut?w zWqX_cq_Q$iapp43!I_X<0APn!O{!+M09FX`veVeZlg92fmz}X1zF}hxPvM-cHY}&_ zvOWQ6bQ*g;V6Jk@k2M8!3OwXTNOIkko!Ft&(b*x!sp&Ho7nm4WHBnt1(dN=$ij7zT z`;#!bnssbeV4P`i%aAZ3v8_=h(i$JgpmWt0CoC78W#Bd0_%84eCnc*k?gc z)2~@jha6hWW^{O(wr7Vsm}oP*-oelRG;(@nH~b^1II%|ItSMzd!B4vNf~hNu*^J<5 zx`w?L927qgk~cEE+h>@P%oXMWtiAu~0>r!hVpH6ZvNJerQ7<+bn@sFju&H1cnC8j; zm1cU>+K9yS&KTfV)RPjePH0_u4*ByAPZz_|Q?#eGwugxJ$kz6UqCKd!{cLA8qGR8* z(dx$Pc@f-9#MG}Ar;Kf$H{HS|!(3i$ifc+yg%EMs_Xx5n70sre?Awkp0SCs5@%k>a z?Ca74-YY*>SFL6<(}msG@9OsCR1?@}*BZ8eNS3xhZ?k$n={q4UpUp#*U) zpvwt_WR+(mX`5DHLjmv^0CU-mrWb9^Z`kjlaRC+3C_P)OHKI@NT!Hdq#O^2WSi|J?mY% z0SX!A22Ztp+`F_=ZF^F+ePBTVtlwdEVO{7-_G?(0l90d>!XuQV?^srNr}TkiFo(}3 z-$GwkZoov!ERPPrVlbCK?hbM_WSad#wDcQ_>sV0lR6l5VR}@1Qv+V(^3GYNtvLC{) z8!wI$J@Nc8PN)ySwQPX4JV)EK6#FOO#7^vn@q?gCCvg#-h@9fGIMzJb;PVf`)qKmU zB4+tc63hlz1~UjcxhGlY$oR}?0gK?0kAvZ7o~+3Rf+_3);$4%kxRo8ns*T$_9BTkM zI|SA1C!kYkGnE5Bp{j=Fd-m7JeBV;RB+?+fFF3(;QPE1)36>NUsHC1?L!wfGtj8g= z2%`v})8I1!N|@_SY;Dwhx{v8hug2ZM?cZwn+Y~WEn#2(xxc`a012^K)0xhir!*2xp z+>{vc&-NlO>Mc3cdK9@kDS(O`t?e>p_?l^>Bif(9$AhJ}tz~=x}16xoPpRZ88Z8Z!PW-2_lf@d|1 zN5g8^Itg2bFrp^C7qF&UaqlP}I5Y^sz9V9&7>LWNrW>kP7Gmb92arrk9Lz;v-dYV4 zVF+F6BPKDHYIk#a=bI|@_|!@4o!EHov!Yeud4&Bvwj*85uEv^_KNQwJ&M#&mLbe*V z7YG9yCgQK~oFYhBXsJpD_*f0UvY~OI2?n&w4&mD5jdZD##XGzNVNCtGLjPJrz}KhYDpw?CJ?~d4JrxHAmR*aS1cVfC09mKao&SNvxBMGwcO3Q*-%Ymd z`dMn*!y0`VXQzm`$9U$ExNLP7qf!~lBD-`^UQeyg>r$^^y0VVR(Uh=$$#EW&Clwo` z=NtR>#hcAe?#>5oqdwIelM`uh>@ll#Gs-TM!zc|X%_!@SRbT7o;=*W;rz{Ht2q`Wi zM9}vF2`NEcP~RXzR-i8Eh)_aaN4)^_HI$90SAyO_sY0EE5#oZf3w0mRV3a!4ji4r! zeW)jarl9OcJstFCl*2{1LARjd8cxVbp$xjsNJs8Q!-3^$noSD3z$UfG+7w$lIuw zfDXhpa5L&T7F33#e2PW^=vtIo)Hi^VuE+xFf`*_RM%@T{73C=EEux-;-ikWt_+(Jj z3qUWRka^&NTDl>#sF#2Sb|)kV^#afrQL6KMHqfCZsA1b7NBjvngCg=RsLquV*Z$Cy z{A!Q)-xw_CCS?|UcrNvUE`Y&lSU4r+$j)blz#D5h`%cuAaWS^~y2(T<( zV}sU6x>?dXNl!`IEa`noeb(CaA|*|cG)vM6k}i^TwWNQMbeD}<$Z-i=mXxfs8TOa7 zo1|%yW=T3u(uI<~Dyi%tc~iExNm?iAQArzAii!8L1nx@e!EGjtlEzEgQ_}vDW=c9r z(gI0mN?I)G5=oa!x=zydg2F%9D1jvPlW0&L}=X>7wFS9Wty727;`96LIAl#5ST`l<*+yUNgX;RwfDdUdkvXLQ@p5(Qsv zzm(Y(KL~t+w~_sjnN8DK@~~_mFAdAqRYuuVGWjQ8&_LEQ%tzB`0>rO>OAV`%+?X-T zN8ch4Jg;i7-?1DZCGj@oYZrl(WclEChgDf!;cPeFMs__bTi=polZnM|Apxu)I|=xz z?76g{n&yn{;)@_*Qk=IoI>eP_|JbAYy(R5j^mg8Bp=`%XkB5{>(X057LwsL$!BHfU zJE6??}X0@d0tBw!k8|&dO(>k)fpw8Qa$0-wJwgPiQTX0txIw+(^qb$zUi{*8g6sZPm3<5 zvh2@iRj;q?=%Tmte-2}N*#xhADgHRR={19OT@w(ppbg~tr#20*cf#1DHIX5kB=$Gx zcz)id;dMBS{dtW+IUmNhuZh;RNR}(Rv?fBi6ISiM_6Ik;j|{9Ls`|!T1|LUzn~}BO z%xMqy;pUE(d?~cHJ*FqkqdiIZR}$)LAmkGX_cqd8nnWVbNZvj>PQvfD5pR@miWK)T z+H&)o9Vg*4B_yot#kI}mHS$G?PXHdi*2u8-Ddu)!5kZ2guofkBbBCOzz@>bd+z z^GJA4=DoF}AxrY^*;pbiZ$+{vwgwwMlbm>eTj;$>cylD1vo+Y?O|G`ll9NKhv)S8Q zJ0^^i47F>;vLX7v-flyrE15(skE*`7b&HGMzHS>#)o)gxadothMX?uapHU7+vCFmb z`bKG~If@1E2vINS2SB%Af07S-+2`MK z`EA&kwmKK1WT8JI3S6>>#Mqq1d$N=R0rYwH6~!KR8@p7iaT+FODgPO#OGt zrs!?7w;Y4hj_xdy`@CSQ-PvGg5z^@-Vt|?Hhq}>x_ST_b%X6J68T7v2y`@wT}|)L+j}8UihFU8B5r`3&qrp6*c7QjGuuyJJHO|tbO zEdGMw78#gtA*Ob66a=n8b|l^-tX|24tRaYQ+A=QI^ z{2W&Z*<9O&wfiYuw?Q@u%m1ls{|4EjD>XPag#)`dPF^~3;_OK?<`9}nNmpABLL?QJ zfu2zD4ype7r%0+dO8jb4_4TH!?ONMi+2xyq17}G#@x=9l=DDn@vXG9fE6ey7HerV< zEB@D?L-g{p)NB*gxs)umxh5SVSl3(ObTZ4nm1fu^#l|41wJgkOD8(O!B5)ZQ6XH51m36 z)|~U9&l+h#O?EP!OQ}!ISKX+FQe(~6-D$Ey(`$ZDrQR;U-Fs1;i&7cIef!W4ltxp{ z&OY=ARa#6nulA*#6s07-=CgE6VwzKPwI6+n!sP4$bdWIhX$EbCWKzw#K{Q(cmj}}r zd{n6M97+>hXaVmvjK=Ehm+Tpw=1@Prcox_7osed~$@CNBgeSwRV6m4N zb<{WDs&Bu;c&J?b>664;qWIlxIuae{n}*RCj$h?mJqyGz%PYzxTi9>sP!IIz!yNjG zQW?v;<6faGiY@&9wPFoJUPM`{uZkPZ~kPc;Il_ODXBh^M=zbn#126j*J!XW5b2E+>#1x z+8+5d1ok`St63hMPv@nfXWMK(HiF{sm-y%rbfVIj%y*7JfF<4djS;jj z#wU3s9gJ~(VI+M&l77I$U!YxpX1zc=DkP83dVvO;it^Ic?*6$ChEY73lIn?zS@L-D z2HIhDnk%0@6JvUBE%mSY`31TsDSDxs_`=OdFi?1wLi0T=LmQ&*qCkE5u}!q2W&{Q` zonPNXx6-Bj-H+(wi0i^fG+azf>t>bm@GUe-sr2L-TWE?O!B!?LDWpsB)P>^mR8UjC zg$BAPK3?3og$DC4KcQNzg!)flQ!#q+l7GwNBihEAkE>}pRnon9dM!=l zySBqb$!GMmK!j??N$@iRj#?hkO|N-vJDk87{_7CR_l}bO}_z_k_SRFOhr0=5BRY-P&@Be}Z#5DTZ zP2yN8o<4QnycP#y&kM}Beo42{x|*6Vkw~S{Uqly$QM&&XeHAO+U*s!H^BF=d;2-U# zsY+!azqp%53YOa*I@3c$XA4lF>prDHHEZ_J6;vrfhHOdY>HDawr7GAS4LU<2g$Ax& zwowwuV?ZjMkbEFVosdGI71CDA0;I?Zc@4-0CuB2_7C$HG2%wTserg~3fk5x>LkfIq zKK`0MLzSE`HE^C(PqltI_-fvHCgs#TSuf^7ffT#3p9cGFaEQq(0KNwaKY%$HHm+xTPW7)6DR24n#f}`Lo}W_PQODWz{HZ_6Hn56^aLL(#<_r7 zK-v{V30q>4h4N#c&<;H87ut{ix`n#ec%7n{ZY5DX={uT&jU~5%M)Bp}QD6W5Sg-hp z!M6t>rIedm-f#w!)9p0GjQ>uIH~vn2dF^GqmI=Y5*b)A}_V~10kg06JOF09N9@%~ zvD;c6*#xoT28hK!B338eo)=lU1XKKm5X^i;aK9AH0h`B*ZWo<{;KoM;k4nMyB7M95 ziPtqDSp10KX(?DBT&Ia~E<}F(XFej>CL*5_h<39_F zmmU$s8IN%u#3u;B%NRcYosY=emd5so(LMYFUIln5F*67csJb7hY^uN3fcF%lbv z$|&%ZDtGR67O)Afc#N1z(-D=@?9NvRI7xK1PQ0cx0?yEKeFNZ2VqMG=+0DT)C_lUL z{YVE%y^fakDqd8Vjo1%J&s1pX&18rp~NxQr8Yn;Tco!$hJO z)-hr@%!r6C;g<6-ks`V=Q}lft`a(na9|Bz>)>2=gkbxPYc)0V$7hs~{Hjp_Ylsy7& zaN~Cc94DNg6e&+ff|Y~rd|@MCf6?bpMei4i%v=(Eb^8I)8O1E?AsBs-EoGfMFa81Y z7ezQ~Ark!skLUP>IO1(#?(k{3GIV74Y4E;k8M?{%(Bw zC7cHf`TtzU{u&3a;-lf01-6(!e*@SD0*ln}DgT7}yx*Xyzk!zt*;jUH_(cKVz7FJ; zaP}7gzv{*dE(0EO2go%s9!3bj$+^q8+!gWpzrpT$KuWVKANLa^CkUbGckv2=ab>lJ ze-9X4x-LZD6xe-NKB@^=3D^7zEC`V(DH?vN2~%O>Z6NCeQs>I^uRyAhPyQX4|4m@0 zT={WL$q z=A8#R>vtK)AqKR~Nz{|~yMcHXiv+(45goDb@ch6p^a(yvbn%Apsl|(q<4;^eMyBvH zcM#a004bYY`Ipz=>ZVBY>*8E-MQ)TdH{R!0+}8?Px9u6?e_@zXr|@Uddu5F)-w6Re zM+6-Vy>;l6lI6yGwg5dXdRQV@O9Z?~!?y$W8~2E{ar`PmQ5L)Ml

@a{ezd2Nof0 zWrBu((~Mi_PE1<=ak!W{cfBN9%*z=(_Z~h@jZ^r_yO0(4UB$*(iDveF9Qyn0PN^sV z0XIu}fOFtd>}ekM2Mr#3TfG^GtF(BQAkj(r>BMTa{Z%a??*Q3{+mwjGCbI>|+cGK} zvJc2%Cz+!{i?csyl%+D-cJ;7{>M=|!oJ0eGyzM~jKW6!u?3W)ARup8Kom{2?sa0j{ zVT}Z`!AWZpkdr2d>4}ANC(nX0vy;#q2<_veAJD;mO-}Yc1cUJE2Q(^L{Qn!6LH{RC zwtWn!ifS8PGerCFdk<);Uy+k>@x^&DA7I7Q8^_D7xLlt$@jX`TA&dDxt*|WqqNDYS z+zfGXnQhJWT~z(oc2=U4*Q3_vDUnpWc7YQ0*kVU6>^}r1IsDF^REUlu7fzpIz4H&KchCKORAbc1^doFYM7mN@c{=5Y#Y7ILU z$R#J43?TSCzL6>^bQeDdBQYgvfc8MPL142(Wzy4g=ZTMX%S}8+Q3m3v}2KtPNz4C6TkWU*5hE&@q( zAQOw`7EPUlk1I|w{|cGb)nfl4cA--cp7_@Jq{R{b@WQE6i{P+I6|%dJg%Gl<7F$3) zfK&kyErm>*KXs~@x{Xd_Ish^uju62nIY3IBx;g!sg4L~xS++P8*f?v>J)g5+HPR5tK z`A(vJftYx#o6^}LtUrsU$VKZ0y$r~wPDb7X(o^kjyy znr*(5pw^V|-`$iBmO@8#(~74S79yG^C&OBNL6X^OW^&=&`BMoowwi%P5M=D<8Y0IN z1Ej?%8ZG?y1EXR66zG zFc|lp9GnI+osWPht~)PimB9)=o9)pmDMLJ*+&+&VU(8NPEdw&$sqb$Bx$mU45l9Hn z)hXeYFHjX56K1cR@CSh`cbd$nfEb;eTm#a2%!yP{AIwT8C+&e`fYZ7t;(%Ool1c3i z2>(>qwsGl)rudqsb(!V?F*?c21cDEt@p>iF66e&{VsOT}w$*+ahMWpzPRPH2>{mmy=U0QT<$N63oH%!mdcLPS z$pk^B^(eGm0ANRTZ