From 513fcf40d51ef7ba095412656b72bdb8cefa622d Mon Sep 17 00:00:00 2001 From: evanscjv <8046622+evanscjv@user.noreply.gitee.com> Date: Mon, 19 Oct 2020 16:10:57 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20tool?= =?UTF-8?q?s/fsimage/mkfs.jffs2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/fsimage/mkfs.jffs2 | Bin 56968 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 tools/fsimage/mkfs.jffs2 diff --git a/tools/fsimage/mkfs.jffs2 b/tools/fsimage/mkfs.jffs2 deleted file mode 100755 index 1d6e2e673d9e97afbb05079c1e498644afadce60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56968 zcmeFa3w#ts_CMN5Xb1=-s37~21As# ziDp$?bbVwMly!Ze0tSQ-5DB`h21JdD5?OU;3~E+cjr(Jr`#qD^Qu#)PMtbc-P5_#l|DH(CPuS9vD&2?)yn!h86>_nZTW{>m9P}8yXMsTYiDU) z0nzc#$rvidl~uM&(N-BR>Ecj!!M~JP0Z55;@`Y9Q7htp@K9+`5QhVW#Q(lU)%XU$< zN=H?u%vdLC zRCiLLP2%rxNwoCI_|lh0*DWt|6{V9etn!GIXO$M;)!^g)3ASJTPLvcgWP8!{KQ3}|2_)*oGAUxk3zp!!ZS{BMl^jF;C-|+H1`MD47b+L+a%oC0j^=)xs{fg zky_T&nbWiKJmsEwg_t)r_6bt{GuG6M=LCeD5sVb`m!vbt0Yg8bjqb5fr`1L;uvi~j<>A5u*8?I zc@`D=w0R|dD7+x6IOpclaxK5K%u}LyedQ&&#bsKV-{;kQg~g;h)Xtrsm0K`BD?g{O zNGtc`6cv@`5~;V0Ir98vRP&V+xxMh2^@-{`uNGj}I6Smdw-g3(j$rsnM47nV@(rD1Z4$_jG4rRA`W z#|MGX!BbpZx&VB>axx4Gv}4%<^RZ0#g+OUXJb{U#X%); zQSKAQQ!Xpu79G{CYbteQKUSUEjR9meN-KXmrLeFUWk@cFA(;1!!tNyXDp`N%_YWg| z>Z08!>!&h(oR%-^{xgX_Rx3lDKJD*jb4fXugRjJwH4iEGrrgW=So4hz-5z+8=}A|_p?693S7xlZjC*mYZQ1Ng?^O+SJ#bN z1%8S`zgB@$ZfPk}cnaLVniPqP9)!vdmgQQ&7P z@PGn8OM$m3@cs(CU4fsiz_q>ETqEB(M}fyH@Bs=uQGq)Ycs~Vxt^#)`@beV-5Cwj| z0#8=p0~L6R0w1KnoeKN{1@2bhlq*`F3EaUq3RHu*|%;x&nRHslI%;5SVs#Ay!I=TKa)hVJ(Cg4z9mVbqb}yM6U0kI)%`n#`Voqr_dQ}`vrhOuTY&rX0V0p&rzL1Ww43s zPf`73syA@`QL3Lp^>ti-fa(+ygSA}0m+BM>gEd^gi|P~tgB4uAmFg7wf@NGUr#gka zU^drpraFbRUY16aQ)v~P^SJ&PH4z9mVbqX25M6U0kI)#d$#`Voqrw|crJIdovbqWo^7Op=>^^sI>;`&omA4T;B zu0Kk33Jt+^Tz`P-6cU29T)&s<6bgbhT)&Iz6as=3T)&m-zoU8?*UPC+p&*!z`p9pl z8hdYY8;9JLU$kY+oZ8r+J>=BfjoWJ;q@wZsEThp_YUJ6$GoJnnl08Jr4A4V~2bD*O$3tn%sNa{b1fq zgzl<+z9Vzo#xB8sNb*-q7~9~`G=HB=a0c#x0q5+}F90a!hc^-iK*h=l&98yLcaE*X zshQgn-+^|QIZT}$x+jFG-3CgH>l<|mbAMKf1BIL47knAHn-_Q zJ&}t>aR$rRW(J}hp)v?Zq(mlVR33If4uC)yje$Z~%WZ(Ta!I@9_n`=AzT&{i{}T$C zn&CQvaCy@A+#UM4OAHgW48M`;#4f4$t zeCqE}85e-D4jl}E^=)b%y1pekXenp-Tc9=mk&+*fo_)X+*7G)@C#l;)>gN7CtnNz) zshy~++3McST_$yxf%I3^ZGS;(ATHKT{)ZdaY zbP49r23iptt5Wby3tVH>cwAAab62}CtW{1_-PKjJ&Z6e#+Df8!o7KeXHmigp?~s39 z-41`QqD8lID}9Ij3j%-piS1NHE`eb>4Y90~5uHba&NLA7HM%dRQs8wAYBjMQe_V%v zy^b0L_w8hLR>B_HWH@NEyV2FMj$&Y=D}WAa!JX7i(}f8Jds2j;dFG;k(&iq~LP!b; zcUFc1QVzodEskOJK63Oa`U5H!AS&2AI;-(t2$td<#!l*aAyfJPYei z!c3>5bs8?X4^<5bRm0iJP_=qF_rQ)HyWGaRfh}ZM>WEIrdbS2EmNg4e9{}wbgS8X1 z(REl9ZB*1{;48*;*mNCs=QeSVL~!aYCy0fZPPS`y8|)dU|A?`1wN)-@3;BJ4P5)w_ z;J~VHc3>1To2MF0n<%~t=XgYomD9+Dcpf#u!GveLv*`q)Rv$2O$6C+FpjI}-jB_1M zxIYy(qA`}*$29F?Klt_VyAR^nC&V%l`2I+^8<#>KbORo=SM=a{wFk@5ebIy7b`N@< zNDr<8qvhC7Q}gOFL2iu({Vhi30U*eG$>ssm=^UhCuqJ3utivh90~e-cuthE;%@}~H z20!~yuopr$vzryo7+aDO4B{gA1=ZNg6nP0%k4rG71N^!%a2w2kMH2n9OiBoIIvV4# z|Kta5Y+fgNWT<*nL9Q*N1<6LjMs55>{)+^k&0xqsgxVCERK^C1Xo$EX-f{Fp#O((l zB5opzZJ^cy|3OO#l^H}_%>j9H4dC^JBy0T*)^Jy^EF-)KQ*uo9`!vm{N(a1hD}8H= zt}|WBjRyC{+z5{-ZP-S;O}%NO10%CiXe1r3L3Oy(p@ro)^I>H4c(>H5)s1#ZZ6R@j zRskm=p|^D+R9opJt=TMr9Z=m8dKyh(eKuI2(i!f?Dq0P=k0xKDF)|ePnSx|+hem6W z0G{HmTtkX{<6g>T2=YxmQ81hYnPfzgS>KK?ky(6<2?5#Jz}V(%45YSGRW61T`vH?e z1TeQF0t2_SFK37meRm6p`(=D{}fW5Ql(6c zSHwKSVpc8^t#fybjAZnoECPacC$j=84&#-LiMKv=v`|u7#XuVkkrEE(f~{5mKy_A zSikM@yNkTd;x#L{hLJh7jr6uUjvmZH;+UxUdrH#a(<)mgLQ_oxLy*YG$c6}TDrN%e za$swkLD8BoU^4nu&4N;`eIb=Dz}iGo3|Wf+LSC~?XNhETIb!BYmSNQFW=(j=Iz|_o zCNdF2bRk2A!vojE^17i+!&FOHRsl(YMc-nkAX=obhWhqb959&R?R5Q#hwX&V!jL9A zCk&|@;4`a9$nn#wx4sKc{IkK0xRhozn64UQyXjg%W3quYl~do8$?5okX`7%ehrQ=G zrxSi$y4}G;PW`>l4EYJ98K!v?sIQH6i1t5 zN+i`#kg(Bt%J?MqbP6A+o{F^m9I#teV39al)xOKvL4^o3z4UM>6dWxYVXEnAR54O4G|oIpI8uN)+cA2dU&dlL&9FbaSCESqGDL>O6lX+cPy(x)O#J z8CW_P%xV&Hd|R#nyJgE3*cA#=ysFO-ng`N>$3z+-&EOV&BoeHj8ALfl?ca8TkU0pqo3v1Qm)~fyM+=g%95O=kIEnPTpQA-#7aIuOm5^+&O7xB1Q z?lwjboNjENYP8ocS55Y6D>>HU9(B}u@cS-M!Q_tEuD2K6hwEVrrr+^`wJ%+#%6JzP zmh+yEA;5T*k;Z1p&gbcb0lF@8vg$2D!gN-kRPm}G9&-E2qmvenN zKv$43R}&{NNONU{QWvs@Rd<4>h6D}8#VWdR&;_Gwj1LUt)9k{TO>SdiM(}II%HWqG zVDdPD;2erM2JPNyH;Q;3;5tTt_7L2U&6*Ro7t^_x6F_XHB>8{70y!TFWgrTO!PhhX zg2A^e*AD|~=g3cxbm3;y*f!!0Cy(n;74Db|CGD}Wz2pd7Rd`8&y(C>&1F9lEP$IaY z0LHQ8o3#5=7g-kuBKQ?#{Fi*ai0{S!p6`9wD!2fAFcuAW!ZO-7q5^+&?GEnXinQ7E z-R^2vUHxp;SQjGn+aA^TjWrJN`iZV#s?kJX^g+|qJ1LVakw0q5&4`MQCwb-J!}?T!(dEc%B9ew=G} z!aYN2wpNIas-AecXt@2DhSfns^X+Q$4_{s*bb;f%Ds z?hCH6ccAJeDJ~c;Q`P6(MHWvsS-Oz2gs@!GI{)cR6GmF=N~s{hc*zUgAGxD!ki7%F!r-5a@HW2B zf-RA_M&H&RVv#^O<0+^m3LGjxnqg$3ibV8p43t>NM&6g83DHI)UCB%PE=ZfZ(TT*y zf>+Qkgg)GwI4o+5JS@Uy3QD4#^Eu9t!gBvZmvrFL7-;>REVHCdOQ<>ARJr7cwzxR(3Ix&p6-)^I7fgO}aF#E|pWQcb z72CTVtnXv6MdJA$NHL3!pLL!FMr*Fz3|4B=UmUnhHc2-ZOuNYnwaEj}QQTaZYd4wA zP5#Qwg{Q%2HTe_kePpOBKqp$5Bd!*+?=+I)Iug@l=$GM=7L|niKY(`$6Sk(Bz5ZGY z68&5vykr}$ANlDQqiN`NWA|nn$IAA^geg0W9j1N{aP`UivNc#{2_%^MH><(Z%VeIP zjV4U2mu>e<#4WVe$>Yu z76Qjg1e46P-h8qwMSZfzXEqP0ImN+5(U%kOtq zAg*G0cHtia7vcn6RyGWwH4p)%Y4Z@+p`L6``-yM(ZRk+5#23$6Q@6nhRQ~y&0-=oa;CuGOYK zNab4%zUw95YLR2X3Kb2+DZ`por&|>|=RSsOt*L+Zxa>MLzZPOnmSWaog~2`4ryN>! zMvT$-LR=WG=S}?umEn0Xe2%G1`aX|aD`avsV7S)dex^#e4uo}*aGl}$0))E}bY~f^ z^`?GM8DkqtF89-$XX5 zGxZo%a2*6+A_dop`%5f%5(FERwxA{j9GXJ{wwQXuV~TaQK){g}(b+ACo(UUq7h_`s z4P;~B73@CYTCmXlE%tNNpLapjO#?rPV%&65DDCpdAfMVIp%tA2#3DNelns1+x=C%nec z)(hoDzERZ zMRu1a9G~Fg%-)jeOAv>;=tJ6Pkla;PU0cX~FyscGN?`s!VtF_?=ok$g36g`WuAPFT zKa`3E-qinMvG~af1Y^bN0yJGv08E8cysLnSf)vNhCmkH1jt9=vuaA&OFqTLcpy?s_ zsgM$T3Wz93;@e_UII+D>0nXIBSrW+*1VXn`;EQAku40$W^T=5sjyX+z|0=~2;{}T@ zS-8quS4=%bEk4mi{8w3=f@L3EmRjK|BDiQJSse43dWp(1Nw7RAS-9%j6I>Su??W_( zzpkp>+7Cq9;st@8&FC1WpBr_|xlDu-k*IyEPPk`20u|Gs$3x-1V!{muwK(EB{)C$c z_Bu2`_Imwe?5|FTF57luIs}?bM8urkI3LTl&3NHkzvb*<+h5V7R$ zzYePbA03+dOR9hjA)p0zA^}`=)m3t2!FgYQLRZb?h8L=Q1VY1WB_CH^4f6I8AB33t zWR+o-U|1*_xQf+T_H;J4&{t(35L%cl8MunfS6V-t8NOJl*n&V{=qnkxidC8d;&_gQ za%J3oE!iTE1w5?^AP@xXhyRc*xaw+?D)OO#y}B-A83imOOO-(&$f%JrxQYiH^z%T3 zRaL}hv2^yqNl7KIkdv%7aBlk$=*;Ogf`slM3S0~m2KF7Hi35Kb>ssX_e}U&T2G;Bc zR4xkAKn>U?tP;0z1Z3zA9CPqp5>b!glXE#W6RHjzCEwaYt@A!>t^F_#o#; zy@Tjo4MtTF+u%kpa`s8Fia_96fyqvGq$)j6G6#vlHd>kjQ_+hKE=Gr8rhcj_hCmSG zl47{(YG|zT0Zw8}{mTcHRtXI9(K3#to*Y}cmB#BAv~&mV#_01QXA{*# zxYt%WDL1JDKnuJE4aHpnB4E=*BryMgP~;r5AdeE5w%^M^=cSvVywK7G0`3hc5N4^6 z3+-$H5d|%@l)&5sASEzQM+hS*3!@7NqYwgNR7hcS1w<4i>=kit#_^e4&eSt3ku(*g zQ!d2>qNxzoDM!x;J7t0@fW5FW;FJQmiUUS5Y@9WbmgNMqo%m@}W=Z*?BMp*hn>_6Bo?awMWG zFtDxDUsWlWgYqA6KAM%w#g3CGv7uXm`xz?b3Q%s9lq+aYD`Y0qTCHcPlr^AyP*TLG0Ng%crF!u(h1R)NkX=~iKHYSBGr>cRVzK0gM!vnAbQ zoyM2no@)m`)qpV>OtC9byB52$GloYYrz*5KO z$TS}s13BN)U=Id)ho$ed!%Fm6PGP{*HIP{?($4aG+$#zk!m0iV#jOhw7ddX7iwm>w zSrjH^4#|5eD{egmm5vQD%ie*jHC9oKpb%4Ct%ewavU}16+>?R>+>>JjpR1^GLY$IN zh@lukA;uXYjG!!xE+C915rpwv62g@EB!s=9E_vUtu!cPxUC!SNna7JRA50HNmzPxm zGP)dU5(1(|m)lh)4kwL)7bFu`Bcsc7n_Nbhr9>;%J|((PfG~B3MatJhc^VUnD~+zl1l5Bo6-AXsN!58&S#pJpDmSWp6jkn*e6`408eOY} z^h;DK3LJ%!iUNm74U@j65jyb+N6rIRp5Jt~L zG~syAhr&wVlPCtsZ8OJ%6pT6LO3Tn5qWLPsePlp*Ui`12(Ds&i;|&$)+7k-JG{bi$ zgA4Hw+KHo9Iy@j4`xjk+h9V8XR7n4tCLp4Kf5|7|UA2)1HKDh_(a3u^3PSM_t)xQ+ zw?Y>Xaix$+g={55Ktw@aTnk|{0Hh%F`f^oeg0e8WfUuc@l?o~BS^*IS345xMW7K5! zrD97Or8pG2V7Mn>qwub2HDYY-=6D_;x$U}oDg_~$)>!{l0R)18IZ^;uX~`DHAapQP z#7sZkWBGY_k1<3t5e1HRY0&s!h-SB`zo~K%2+jP60VX}Uiv0m|P_8qJSst)h{Dw0g1FiApS>4Bp92XmyZ)lF*i$B#KDk{C4PIiVh94ETLWabxXSkp$fa>GL@^!X zud;BMZwwrMTUdgtoTCv74u&YAoBDEg^gtg>#0&vAazPA1k$EP*9t-PRh4B2v`9hpOi9Hl8aZIZ zzQ1WQ1uGN1!a=wKvXZ_#C3r|ZfmXca`U29RI^C``S(=)jcYc7Xg{>R<6?g7J>3e73Fp z7-8UMGWIS1LPuKAjHy41i47A?JJA+8v(R$8k-cy5C~_k`sgc{bk%^*_|9v;s*)5bR zEj)JwEu6tEv|z5G8-=19(j(ky#x60!lhTYg=?bRGAOnnj6Y+*tM;r1Qn@e({^>FT#z*jjW?P5W9pPSH(heO~VwCahztDjmo`$#msty~_Vx$fihjpm< zD#7@mg97o7SdMtJqQLr}punlDz$ciMFv4}BU%Vp`x2EnzD0{q!Hu~cSabIm=!t7T?jH&TW(o!3sle_QPezNYNn+-SW+O~(X6~o9 zT}s;pcH6h3?bb_LFBVeWi7YI`>Bf1%vWVwHYrulh6_fP>*r-OZSPyLADU~J7T0+%Y z+>!!DjWw+|uvB|GW5)9Dgy0|c?`-JjX6)I6!QXl&&V$fA?9B?HQyj+zG)P04k*)fl z#3M2eJR*}eC+#Ntet$9oVl!@HAEsRCz@2g>;G5rv`6l*ZWG&y~#`U)%rE#_48vl^Y z=zY;TSig^R;QmJh>-Wt1Jy?%`{D@@z5!d)ftOqKQPU?%mglA1mJ=fx97tSi!k*IRYv;t=}nUHsG;A%ZOpbve>W4i)}=vL5hQ(p-{#DfWU zA0RPL0W2O&NQ9Wcdb;n~_w&1`!w2y_cE{~IThm%EGW+gjSR=maRJp_BBq@+$J?oJ~ za{E5PLJ>7R7gv^&RQv#9uB}h#@7D7ghF|EM0U^+vKEe@Mq(!EJs}Kf)H)y=t7hUGNG%xC z10*IxfuwuVs8NB3%aF!hh$~ZHyu@-bO8N=LX&haEW;j!GAv5SC0TD&R1Zv8U_$K8# zW5GmkRKWf>LNLKtFkOIVln_IO6g*l$L?H$Da#ynYU4oZ%=e~rs9|Lmaf48gJ6O0?7 z3pA1-NW!9f?;og!n62hh~hBbp-^H%Aws zxfBJ2Qz4sk3Wz8$P}MX-crbc)1;%UWUIWi)zO$|EDQoQ4YysBl@#WZMga^}BhAli1 zVobgMHnsBvV{PaH+Dt+LZK#miOcoGPVA59&5dbQzCk^}JKpIt=i}_2d38Oh$dk7$4 zcqoy%!0ZOj)KepLAQ9Bykzg#I zE+9Tb2%|!ZpCKTkXqXVwLgV{htfukhoo7vma}eY~q>&T4@MXG=nbNN->aig9C9+2+ zEc=Ee&bUNFc<#o9m$`_F`1!go9^?=^TxH z5i@mBnFs`?OC%FjIX96^xILZ6Oz$q1w&2~VVA3QLQKT8zxJah{*pV{Rqbd`D(9&PG z3iY^(lt=O;VnfP2`6>^A!1D*m!_}&O0NQ*#arVS~Nh%+Kz?UWYsG3HLy=<%tHhs+W z^CG2J1On5Al8LKu5jk!2K?o_BG47$eDz}oCYQAoDr#|h}@X!>!LShpA{$Y|)G%#_J zkvA~j=s$3hSxu_CMB@HE?Ry-cuhZ}e{BBcZCl;|jg{nRTfRy= z^Ax)`Fv0E2Jxt{$5V&VcZm#OrgV*MR6)KqThlPq22n4=?l8>sD4RJ<8Wy?`_49COZ z1#n;~1;3c;pRln>*6`DyA@1s`2Jn!jAf_zbO+nh=UbSnPP84wN&6vOB+~dN|O;nQ- zHn!MWo@!Jr1GTA7SG6P%#NY9{unkuuoM}1poT2g%2t3my4^`Fq0W+>(rY{yK<{%K5 z`bs9Ms`CRjtYM~?R3-v}sb#a!j;o3%QCvBWC*k=AVZrpUFUhRkj~}w^8vU zX!8(jbFQilfuPL{sSQ;-jwrpt+SG?ZFJuKi+xC#RiskL~D<&ZjfQiQ=f;{JNBWL<@HkK z5eV`wmGZc%^kFRZA^Kdm`;ct+Vcv$waahf5KH^jCMj*8LcAe-0RXg@!4?=^z25&>f z)E~yA?%1KVEPT8woIns>EQNDb=}-ZroXDVL+Z}p%ePoB8=QekHl@1XIZT|e4=nz#q zbO_nTx0r%>j9Z|y-@Y-3<51O|S@791HaKLZ^=ZdwKcde9Zm_Un0c4Z=OIP&oOz z9J>uX(uOAOdttO8Ft+x@NgaOgt5MO&N6r+nm0!Cz@>3f?Bj4?hZ$fW72Va34c!8n+ z6{2xYif{ULTciFOuITrRxKD^H@l!@*HN=VrwZM{#u-s2T#w8vps0>_I*`Atk&oDq} ztJ>ww?6u+-Y5Fag*Y)>fjHn;qAw(m!rZaKOSS|ofA{)xr7x3?|dX3hghy0mt%gg9H zPK<{zQ(uY`u*`W>SihEvcrQlTtDv`@dia4v8}KUqpO{N#H3>QXQ)45+4v%CvsUmLE zRg2$jbiZ>nJYzM4K-L;6tj1S~zKJ#R2MmNGQ?xUw86KV)pgxhOXdeK(W#F%%aIg-EXQO^T*vT;)^|R$w z@JUAWu&Om&4PiPGU2rK^k66`mRJS!e>eK>%ddYh0#yt=(VATX;zxM*xsK0EnjRV`} zndn|Uy=G?H4Y(4vJPEd-V5kMsh=ZT8qAF~fO%b759Q-m!q#g8LLqi`>N;W+M-`G)+ zr=)^fj8&OxMHAGP84kiEm`zTY9Y0pWlZ556R=-NH1SWtQ@_I@=kPEfmV$nP%Y0ikG z!Q^k9j`lZW`iu5!)%K}>R{L2rqPnL9aUztUX?Lp4AZ9qA7un9#CxRs5B?cJ!C8(JC zMa(q-Ttm&i=b?for=ZFDCbhN4VgE)wRP4|+{9hB?8Al`CiaPz!A-I972T=VSAuIR{ zsu0soQx0)-Ag&MNI&!Mq3Xz7Mh^B%Im^}uU&@>dB$JK|aF?@ovgtX_5k&wa?7Jv>h z8{d`fC((^qKGN8lSLD#UrE&6%QdKB;j2fJTFF z(p)t4(?L!_bt2nBx*Ix)*CxK*r4wnh6IbVZT6umE2Id`jC zELAw)hel$azJ3OV?s3Qf?{}C@)VIOUQ?SA724HMLTFV{x9ej{ow;T&)`P& zIjotq?LoEGzd%=OeuYQ_{hOP^0elenWB`BGNqrMRXMw`>Hki=6A26lr$&YQKtAQ}| zCn3$$9}zMUyKj3AZD5g27Dm|#Hqn4nZJ;k2u%E?WMJ@2)JPc~Hnpls&w0-~!Se?2M z+%;JAPvr(Vb1|!WvIxAhYhSjuxeP7CY%fDIgP&Wh+&U0=yuD*N&g(0;avI~CWcE!! zFVNLQXko3%wW`)xXcqW3Of=D_W)+(TEPl6F$kz2w5o7oKpDAGaE&|&oux+B1LGVVT z8oJV<>tUNl{W8eG5R*P`T!yn6a=gjIIIUS$0fInxG(i?0%?9XuCQ+OE6===QEF#)^ zght5vRYQL?CTxEu7*6DEb~k|Cvi*y~AkP+1TaAH>xU&gDt@5=(trVeFCD9-cD2k?5 zEUQJ-kW@v24Vtf&U^tPtz`TLBEwxSuH~XqsIQs#GX*!D(!L|&A21niZtk7>f>!+WE zcErG(i-gm5@**-Wzn%hGeFqhVR^QAgt%&vbjygioYAJP4FP$f5pB^~(2&BpP_!v9* zwGTqyThR~bn=SOE+*ZR&tgLsT2)Ow1@K(O}Bq5D~i^b2bnGx##hi}j6-O-}V7-=W) z?|d48#=wqeNSy4VWLIP18;l~_liL4h!h1~8hZTK#y{I9GuSJzz2jDPxI; zFo}>NoE&)YR9*pw1|Aj{jzBdo3>wrIK~tZmis}MU0TWT01CV{9@4!77Y-R9+H^|SX z=I95xkuO5+PR(k#zXHLT5WIQ(b4a76;L9GxXK1YX9eu;u7f6Q-K^lIu=v#}}bKxLS0Beye;CbGs9(Cv!Jwd%BTjP&d|tH2fme zC|3UoCbGJ51+l^bI=BSC^P-a%p^lHReR1IM(_w3;bgrgB1H#r$u+{9vYFaNsjiP3T zqULJ!m27Kor(0lPJW4i%rqKV#UWDp~O~e8nei7=)wKcN$?h{z4tmhnKkB%sQ(XzGd1#Z)ojDVgV*2AjAZd1H3$>1?FRu&N*zx21Wk=aZmQ%@s9x*mpUFeu&lx7TcGG5qwCHI@TY z9y>I`BIv#~MiKq*S8MfO^L=G?_6Hb6QGHwX``P%}&}o_`&e%l#qSLK9$4YvUH^obM zTuU6gI^HwU9hRXOYQ3!+LDleM?O{51Wy>!hL^#1wT}R4@S7+02xSjFvGin0YIQqm* z27cWHf#iF^4Sr9!AcdJu2Q83zx`AKj%6o+?VQm4X_q!4w-X+fO$zb$Fgr)_P4s1wA zFpqNu{PX|?YIsFCcv_KO*tPi9lTd3BI1+~zX#r+&EjY{U5Q_Ot;M^UoFwwdbFJ#DW zkrGOGfF#|yfjjB2lzYkDA(YykY(htLC;pi3#7A@|@p#?oV|Rz%LF2%vx8Nlq&B2#B zI;i79M!-K|y@aYg5{~m(~)Y7u)REj=c7NXGi{cl-&lFuqKj7SP%e(ZN%Ut zEW1GX7c7eLBU_wI|5v_^0ZQbjfNcH~f$q&7hWqD*D@xkPaC< zk!eKm53z#X09NdLP`GJ(@bM56JOXbBj@p=qN1^ z*)Vq&ItX_@wzFg)7*R|ZK}9dChcsb2s|jJcu&QTDz0h~W4s!-ddt@UmTr9-F=vag> z={^mQBy|eRtoZ-&Nba}Q#(>#!|6dx(&&9MxXQDQEh3KdVVaQ>QiCf1RxS>B=Lt^)> zlY#rF-J(*WpfYg04p;*Rhv9)k8D-!qMWfchwGPHw(4x^DF7jl{Bs@*0P-tK> z@>1dKmJ1<*(ySjMpN__)cVg1-ruUG6cDFR0p9E4Rp1p-0JhuS|_!gFixFtw`A(F9T zEwtEnx5fk74iZ45WP30Br7cd(NRWiX7*q3vz^ll(ADHB1CyM_(hpxae7ODY+r8fU* zd_^xAGdOubXIz0+dUY097z*>!WTgT~S+i)l1eRB7pt(d{=z|Dzncx<6u^zVh!}A|W z47~)8k_txzB?Con0ozhdwhZ^-DtD#gNA3z56yb*w6Hy7%%mz)XuN5~Z$d3Pwq0S@e zv~}cU2=+kRcxxUfL$-A|d$4L@g~?U$GPf8%k}$lF&BXiIcm()SkGJ5LGA*(WETEV@ zzTLz|VgL_AJ2xvbJ#h^m`Uixy%iFytBq5%qbJoU|iY9@wO3L@73Pos#`pt_4en%}U zii_B@naF5*vgAPPDBFRl*?Ruh z+HkTPp^aGA1N1I9tm_C_o%E&iRGDT}I8~;a@D9kJc}4DQ*^D!FQDGeW_Ua$xG?nJ3 zY@TT11;6lrLDK>dP(9oRkkeoTH_92XOh%$`Gj=H9FSgepxM0J=e|d=HB5xKE08R#B ztRG#1#G2$pV(nw__^h(&!JI>X=w*}?v)IQU#!kXc{X5W-dc04thzrBS)}KV;i5#I6 zGzqtkPRipcj!e*$#-5FW2MZ{^wYwX!q;Yh`rFf5^P)Pg{CPV)$(;@eBroPX&eL%5+6B@&=!jFvU`zPV2M3ao^dra3J zJciL)j91h_>t=eVBwqcP>6;Y+NZ3fm#W?ZHq8@{`lkhBuxn#dNeGlFlEFQnFuMqoW z9`3+Fw2u2sAmtw-?#2Z#H5H3pmZ&4E%kAt8uxCG(Z1A*wD~d z5YE)ABnjr6elA@b+c!@@ANj~)TLT&m90Eh5J`+g#1b@Mo(ASwv!Y@&jKRDBYdqaP5 zl8J<-m$0UT!OWVTgNxu6Rf2g*EMVsJCi=C3xuiLScLMrGDKbrx=~iWa{(I{Edw{dd zw{g)rU%vOR^#);E@rOC!xxJnS8a8pq?1u4EcKB3%FCyIZqxBW4_`6uV&k{eM#P_Vk zTl(0tP32G6@f|+yZ!V2#J~tl*Kj3M8i$nTViAI)n)U5s@AK2Is`yK zN7(gBhLM=?(TEN&kVHLMD?Gso1?8-P|7XLg>(Ie<2qbIW#`M}o7wr%2_p#!{rH$&1 zuHB-boiOeI=FT8H#P}Tey0aHO*!T#}qk=ws!7>T=&!^gYksGb0<9b>lYU!fc)V~Ka zotiY`?UN1Ut^OMFR;>KAyPz$wej7;0OI>J9cxfF*FEAdX7EFe0kTj9AQwnyjXa+$P zKf#4x@p*>n9FI#q_%j5c=@$Hs4G*2um64Hx`!bLZd>^sdZWDor-j@c7wQy1npSAQG zH+UCikq~W8uSM8fi`N2UDle%EHQ^_FwrFA`(ewh?gsMu}Dh)7RylwCc#Gu1WTZfs< znSp}@w5RbagTYSK7BeFQ1&n1uF|)U!v(R@qlcz8`9s#6T#9@CO@rf8h_MC=}w4U91 z7C~v{7HMXSdqM+_!4j(8#iqD&$xi%PJP;r%HwIR(fL)uh7Yx!f+<96Pd4@Qp&Je7ehjCpsWlPrppXz6V19vyFkr{Ac~%ab=|mFIr$areH#*%gEa}&R6~Sp=o6O^%PWu3mUvMA0le}|uE|eb*Z84bj+Vf6WLq@GT ztI_H6ZRg>&%1N?m*fZRG73no&AqKj!U7@tGgEc|x!hhC^?MhVtLE2!JqXo;4j_*ST zx`*H1T*XaNtZbQtHc_rMr2~l8Ga#{}15AY`l}q+$zOzA7YbIim0a1V%V4(BhALs|= zJwW0c!;SN2+L-Yi1+nme-MDCh`v}fsJ?RJzb-10|nKg3{PZt{<_DFQ|YO^Se-k&aBCeIFp25ddXim9;=LI|AXE)p|btl_h=ZmE@n>H(vm=iHPCE zUf*cHMx(&IB_rGgpul>O6o`aLw<>Maid%#Ea>YXu5XV znURCD0w{#8_M??@2z1#xUFdSDtxEyvatGX4+yi(O2@rHz4qM~dUK zw`~=$RiOA@p180j?8!k(|N08?wVe1n?Vpdlmg3x4wcOz(iqt=6| zXa#{VvKI>clOc7k$XRg;X`e1A{aR^s>=!9~fyWO(MenYnoVXhtq1?6$bC!T1Ht&3S}YgR{Ty4u~922E%EGfc44M2{D*|l zNLhJdX?dYB&?CN-#dU9`-Ajvmo4;g!N$J88 z^go4-Q^Vl;9Hm)6yF%9vbHR@+Ja>KIQAIdIF(w&NRNQ& zV_EIkRvZ^IY*-k^+>2&$QAXhjE}6jv$1mvoGpU`Swwx}cr%`{`?SKtr>e;%`qPhc01Qyy>u(o3b4r926A|{}&jfp`gPcwYUC`1yPhVX@ANw=s=a| z0HMsxFN}=wLL5!g_G81+R=#g&w_-;je)@+(%aZUu)Y{-e5Qif|-=v}y9jm6Wj%}?o z&~6(?^01C6LdW5RVjUBi2wfuQ=ZH4spKvWxztj?gpEQyf>Ng7f6H)ak&^$#n5MIAZ z^^YUV5G843TIUeGh~4cXcH>V7kQ9#HXpQYQwoOLlRys!Mq^V5+x7z`Hj72U?7YH80 z<2RpU^a4+QCk2UPg}?yRo?+`vRwYjC^aC6 zxcTayv4WA2)aEe~V(^DeNQfKnEnns$T~^^O#Q;dSxsusdUSIg_hX&Eo|dt3~`B)k@j!@40j5diAyNI{Ovm(o5k8QiZ zV5@A1HFn_sJ&ghBlyEoyB8ROe6u;fN*B>DRiOfnis9^1Qum9NLHdgLI6Gk<4{)7j+ za480RHU|6GM(S6_I%bC)F<62}BkGvredGq)>{o}Ldv6bYB@YOGwfZ8)L|ENiNuw9j zG>(mV`;1l$H!($ZMk4Pp>g=h)ontCrpfQh;E%{%;A3|VF-FVfi@RPUkj0tm8kM1Lf zC)b9>&|6XHkLPxQQ3YoV>m#%p$8MQ$*8}i!C12atLJvQrBkK~AT+~P5a9q^Ge<}k( zqlIHN1-o`PI)Y;X97W)-12tUCFM7vc+Uru)g3yI?iS1vXzpwIHTYe<5lXvus_|o5=2YYTw3+GEgJz{V@F(4?M^Jf9`p_>&e&XK# zAKZ#M93S{*38qTbH@Bf(fAR}}t?uNV(;~v}U{~F6;{Ec(O`yA4;-pCKP z_=D0q|9yAkd*c^=`Ym{F1wA-SzsHk+>^smHS|w?3u)Z1=M_Txze~Rbldy{U?&-aef z26)3ho{6>UWgu-dv5VVFGtQ?Z)uU==W&$f_zGY=s~u$!GE2Pv zva-^0AB+;V+u%XDgClM2onKg1#vSGcv%(E7b_^cm9h?d?qnUE35Vi?S2TK(B@eRAs z1%H+gb#m#KPZ}Z0hdR_P`2V)tBjq`I z^y+?6gf}e2=EBqIcrXS7=<}DCU`THDl$Ul&ca1e3JZR?)@}B4Lm6ke+a?0m?_R3Gps2E-EaUuLyI@Ecch>=8%K<;Fx)i+=85PFWS($r#l8Ej|OZk zyjA@Sx+E`k(1?rkq;q%2g`_LWQ|TO$gx%r(Cq!3vf^?WmEN^t)@Ij-G*D|}K)_v}O zNndmVdN@X0D$SsE&sXV(3>xbn+Q9-s4>g`yaf5cb4kcui<>YDQrKLWtEN7mFwxpV; zJjd&qTU44mUqfUq^ZT>{Pf?k+z*9cA)a#+ri|w*Dw{YGFPf1>3PKj1j=<^kMtXfIw zh}!n=F#?9aal$oIZ*a}AJUJsLkJd6+oF)jN9CH_=Cys@Mz5++` zqREq!98>cJqR2M!<^+Hk8egbes-cI{&uvg{{SlLU^5V^x~gekh%T^M~u;Y99(hx!nnJytKM4~p$XS9o;8W*B1&$t5Am zl#x=dq5dPuQ82a@9V16^`^C&k^Mz;1gy~mJa>0t%c#4o&III}}FXW>xn?2QG%?OsV zh@>1l$tGNW)%1)Ru4}HjYDU(TY13WDG14S)yocFhwOLwDV?2xP!{>YU+$=5sF9f@o z_ZYd0?SA7pue98r;1e=tOucHx)S1_(p1AJhE#&f+Nyz3M`;kuV6(OTjdf|ng3rZI< zFQJH!KDJ2t!(dQ~V zFflOfx?W!%s9Av`VHjmGVAji#9UyniaYU>W93#XeBzw#y-td~jjQFy76%+-RFyka* zw3dso#x(25RwX&bh<2=Vju$$BGMwj^3-g zFz4Lmo_TbHOjC+R0Re`j-9pmDN*9&||KPRHK?_|W^FSSnz6(pRN+SHsr}$*G<#o)( zI0Kc3HNZh3mLz9}CG+Ab#Y@Tmjid}k5-+_%R3|#3Z?;mTLjiG8Mxgc$URLNWE6Q06 zn`4b(w9m7Mm0my$GJ8;Xt`+$NWt8PPv^J9PYb7n4G)!y>m$`?dump~et(fF0Brat& zmtK&8^wJ}T9)_OhfuY$E%aFw8(W)X>Tbf0Mz8-ddoL-8RxCH8p)y|Ph*{WEIMWQRx z1?{@>QViMLLSJ!?cfP}s<8xq@9+aGND`F^Jj9%13yNb3>9-oI;2Bml%Q+es)uJIL^ zY#v`J(x?(qhlukFu@$1kZn(qhI9CdJF&vZvcy9PIFML^wEi&R5C`6a2-AUNTVM|4y zUu_rrGbH23v@7+Yc1yyI(FBu;DYbLC5@D#ZsQrU#M31D07v^8pOVV3;>8cwUQh9V^U5Fs3;CAne`rsmt0Yazn0h3tIn7{&-L z+FmKFJ+x6tBa@P$5t1KY-Uz?1u*i#KU+lqE&dd^=AC%53k!!C=IB1mM)<{sa>G&5( z&$p5s{*pqU7ZXaX0+K-*&czuY4>f#r5h7oy!&{7KfIO6P=Nzw0sZ!8_qqwl7u-IQr z{;URkF&hl<>9T7F@zoOYTcZN>9XX{RGSLV)eb zs{TFrI0oBLZ$!5)&nY1O}j4N>CJP+mTM#SJJvDEj4!26(@HtSn)-NvV0M z<*DA(($rfrGx7^ATX3x>wPUEX+Y(9nnGL;7I-*`N)qv zXrl)VtzAyZt6Wg|2oDA!1?0z=>*T9{%sYO$JL~xPU*qqZe|-My<{lq!$#+Y-=R44E z_M8~MCFj@5QF%h%{jz)~Th!l`?dHqUlH-^4K2hv=zLayG)U!g?GjfF7G+Dn$%CXuz zPvXaQu;1ey+AooEr%5_`u!84p)~!W_b0fS2v5->fX_@#&qsJK#nPEygv=a{ILMpi7&6y80joJLoOChw#zA>=aDh`|?aESXGe~nn3P89k z#ieL&)fn}?tH8a;!y@V#?r*$fEt0AD3uaXEEYT`)Z{)N=V2sR>Sp_SR5{^| z0da|`qcBJ3qdhaSPH}q8mT(LyE5$Kc-cV>BKJZ9&MB2dW3(OJC4nhm=|9>rKh?Q57 z^|c5+{PLXJ(!h%6)XFLVeQUq@F3h6kuUY>GVl_G6XTAt*X%#nupRXwdCMGtYj z_C$Y?R8Wl0FZGw?p=afM z@Wu@v=j-9*ZVQL!^!|49)!iRCV`p)<`;XjQcFCID;L|Jfo*1?KlisWA4lF(=_>x7Fk&zIOKaj&(P?Z`t(2XKD4zmhAud%+@bHExvlg z{v(Z5?^RyAs_2x4we$0C{dw+x4!`BO_o~@3r+!q_H8*!c!oUC3E53TSqh#DoiG}H3 zq-DQfe#^Y4_I?pJe#-tXSNx}{*S`51daU{P+6|W!t$JnR2XDRpiSy?z&;Pxsd6a+l zLD##zJ~(jwguQ=xKKY{yQnk;nuDJTc-KXU=ZQF2U{kiAweD&H#R&IVbVa?XMC+cE{ z#4p#gUiql!u7SamUcTq{(u?|}7tH$0**V)MjL6?ulXhT1*IPb`+2Yu@>cYhLzcZ>{ zzGc9Mja}D#vF*u=_tyoUdaK)_(LZYm_pR;zaKBZ(KYzW~&3BHNP#phB3_{WmMS7TvZc=B({U;_td{XTraBeYDP#5q$0Buj}f~+m~-T zdhqN|=T05*ao-yyUK z-ul`LMVlKOm37~2e0AHSJr8Y+dvxE+zOhr@|N5nc`yTIm!6#iRPdnf}`J~*xFB_Nl z(4{vQ_gZ_y&9|QPZtpK14|RWV@QYfHm!IgiWYU8PZTp^%zo+2)m~(#F(Y0{Sb#s6E z>pV}zEn|w#_(#|IB@52l|4YlT_lz5E{Wx*Yv`^=i9^CZv&)?PGcX|D5r@w#Sy6nKy zAAE4fgM0t9b4PQ^jPDO#_0M^)@11wumS;Zgy5X`b#=PSGcv!FI^s{=r^y9R+G1<3v zNqghF?1PyH=dJzjzLJrP>kB8Zcs1v*XIAEKsohsPXw0F487mj|+!HtDq}Ml{7JJ@B z7wDPw<2JuJjf z+06-|x5stOpM6qHpU@MY`wL&3+x}i?eva$iqSF=~>QVdczFr^Btn6~-j#uNx=3FrE z*`H3!Zkj%&aOx)uOD>&u^WGN^-0;Ci`6nH8wvB84-8C<6`SY7ky#Cpp@4hl67}}8B z|NE_5@7=Na?c@hvz2=#x*ALXkG;Myc>xX|EdfjI;x6S+L{G?m+U#**#vorRrf;kTj zE4}b{^(U?W(|tYPIP0K(L-lvDBVx{q8+Qb^Xy+h4v}J`t&N#f*EjJWOM7bm{6e>Vz zqFj#hU6gB47I{LU-6+q>$5SmRQ&Glu(X>M-hoCg(;XW|REqLKU0m^UiW0vJ8TWISKDM(7I__ zSG+^PfpR8FC(4%R!H4p4dNUTv=1t&3>BmcJn@|pX9qkexWnw(~g)$lC16$B8$~U)y zALZh0;72*S0sJT@p=?4q6J;C9B`6cSYud9YlTj|%4t|ub9pFbfb0?myK{;)ADAa(m z`t4At1?9Ua@${tD=daKk<&!9#C`arGg|bl|L0N$^gt8W;{x|TWbfIiPc?(MIBu#q) zr32*~D4i%{-vK|$Q&Co+bfBz7ISOS1%1cqUpqz$M>j`_Hbf7G50zb-Wd%=&=`~dtY zmwpI-lualbP_Avpc%%IBWAwY1rv2#?^c!Wj1L!x(3s9D!bfK(4Iq_524drZ#xhHu7`uqfA4Yf%0mUWhmF7tU>9(Q&-I>lTo&zbfSz;5DVd{ay^W>b%qwR zC^6=&p55YWV!9;~yg&Xe$_|Atlr&UyP7hxIj_B9UMqe=(wBCu6d-t1`aMHr~3hlBp z$6a{w!1DlQnn@^o<%B{|1xoi$ygT;tUR|f6VTsQ}`9Elv=xqF*Vf-?H2Y~-^6(75b z2}p<4`1cs_FGb*=v++9tA2v4>!po_`@^1*s{{r9(fnTfQW1qJ9yWp9lSAc&u0{@ha z9|-(d#Ey$m+WN;O#Sj7MHwo}`#E_8@_~AA_5AZpNE%XGJ%^&--Eq@vC;}Bz_>9-pA zH-OKHkU!g&zZ38-h)FkfQRK&6-^J4J3*aXfg+hObz&~K)yC6<(Dhq`^K+LiAi`%Oc z|3H8S0$;iS^40dItca`Z5;udD01eq89dv6JhC;eZ7pK{J76E_nqEP7a2>hisp8nX@ z3yVXc>mbY4BX)*ur{{tH0{9yv@YmY-J-`pRH58&Btl9jF7|r?}27Wy7yHtGacALK^ z{QMB`Z-CC`kE@R*0_xvz;H#E|LQf%9h4GJfxA5t}ce@8qR7KeNRol)*z(0wn+!G@3 zJs3}RUIF}l_lH7Xsd#r~T---Y0tzuN*Mlzop-`xwI$l@Y7gyb7gf3f&c8$Q0Ph$Y|YzPF>!|j)E|2E{9`Dz06ob7Vh6mw!Mph|9oR8 z^g7TsK6ayRpB2F0{u2V;ERrf-vj(?;D@UGd13y;ziluRe|4ThB$eZd4|MA{heAKX|7<%D z-QhT)48YXi$3S;iJ>rEbFYZ!%K5hYi4RVZ$pta>J3HRp!@Qug89|b-L{Cz5atYP=J zKXRe#wnxX02mVdq8zcC4*!;7BFWM0bA+-qWH#w}|?Ia&~s1e4eh4GI8KLL2BioY$4 z-vay`;AyVf{ht@c9{|1(_z^0;AdEi>`~u(ysrc+LzCRZ5+kn4J#orpnj|cuy;7?ZZ z)5G}Lz^?$Frn{}*lra8w;1?Z-|1sd{uc$@i-va!#$H5-}ej@P0)b{hk?H>hxI`Hig z^YsUNzV=6)AB0@>QO7(OG$}mqNT0)?`wThpUx?9~ z|FO^5`t(Gcr@xb%AA!%Y@xy_C3HWGvRyy!69tU3p{0qSUCqjO^Eq?{@_r4nnovGq8 zMPEt(=Yd~#9Q+>O?*RV0i1GZ|9?!$TPe(4lCj#GS<9lMF{=6@G{2dN_@HqH%;6DQX z8dd+;E4c%c04oB%-+Q5uhwu}7C*B|H>fP_YI9G2+br)CfAuDuu@8r9?x_hTocAMVY zS=2ivt#@)-?;#U=J0|w-2l|P<<2hen4>?ZAq2abZl*jJ@JO%Is3y6~7UjUvAIIk-T z?zhX|EbyBJezU-D7WmBqzggfn3;bq*-z@N(1%9)@{~s)ne43NHnJ7!E&$Kn9Pseh# z0Bd{}f$MdBoD9Kj8~!9e#DbS;bKUe|T?;t9Xg0eJy<~{J(w)l~R3G ztdk0jjuz;%F5bx{pB3S1cdV#mOUs|zZ)WI0BblVy3WEc0c#K$dsQ@?lv%Bg>7l+$GBoWcigW zf0Sj{Q)K(Hyg-&?WI0)u*UBhboGi<0WtlHa z9<<|p!4LV9Bx&dmC(?)h+#Ah)@=t576U3rdOM*xHtbfGGC~JOMbY=3QPU5Y3VBxI? z!M8@idnMtnD0n_w0?pnic%E#)H%q+Lu2mMui%+BA7fAeR)j3l{GJ~yAhGfq5 zm-zgS(Mc&uqeqPLb8X}uBS$ACk4_prRKT@kNJotrIabmN8Yq|KE%5rv@jGHIsjvjk zg_dbac;L~Kls0kd2w%=TS({hlPnt`=S{+fCrzKIXfPSN#l()D9KVlc9uUuf{?{Fe2 zS-_QhigJiSUX>O3sL4Wn)32bkB>aN55V%tM@v4^ODagt%$IoW63i7~f)dWXYPI-CG zV!>fu-<%6FNY5!Q%th1qu{M1raVtXNT(4J4!lRw^^VJhD^skUmzC&Ygjb}=%6E&QJ zOMsPMF%VxJ{p1wDD5tUbXT~~F!~B#02iL-1ygY=f+PSz^`F*iY#`+}xK(2+qI`WSO z>PO^2R{N`BolLw+0+P8F&I7G{OMmx zQch^`TX`lu*F_&IuN1Xo?RO;*SQBmitvrtImC)x7QP_E`)s9u(2t4J8R^7@I*Gc|t z$=^|b3D$1L1=-Z%xAM|Nxp=!Jp_NB>>_54n%5UYlvn0Qj7ZX2$I`UKh$gWmAv-Sn+ z`T&TJmG6t1Xv?~$lH#q(-_*xRV692=^RrhB5nqY&+A5c!uJV`3{HIJN{teaubl{U! z?cNUj);=crAwgl~^A>$a|E-bymi?U%IhoWc`D@R%I7R7*tZJ)JC;ct{mY1DO(em>D z)u^>1Aq)f2N)%KgdjJGS$PKtcj=?Rs1sYMw0Wi?kbUK5nKw+?z-ObBOcY^88H2Zyd zX|rZ$8dRbGa9YXvuadO*p?0BssDV1fdxW>#AN`vcTY1u4#JS*w3f?#CbN?=hoxyXi z+pNSt1gqyKe;N79mH4M%wfBhUT(gh(Q8yQ1fAak7pI&m7e`>sz7gG~d>UVg{_v1cq zNmzW*dX%-mCmS?4hGzh7Vc7rx From 899b034e3de0538291111a785b025833d0be20c9 Mon Sep 17 00:00:00 2001 From: evanscjv <8046622+evanscjv@user.noreply.gitee.com> Date: Mon, 19 Oct 2020 16:18:59 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=88=A0=E9=99=A4jffs2=E6=89=93=E5=8C=85?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E4=BA=8C=E8=BF=9B=E5=88=B6=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 6 ++--- tools/scripts/make_rootfs/rootfsimg.sh | 34 +++++++++++++++++++------- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 673c0988..0a7cd5af 100644 --- a/Makefile +++ b/Makefile @@ -165,13 +165,13 @@ endif $(ROOTFSDIR): prepare $(APPS) $(HIDE)$(MAKE) clean -C apps - $(HIDE)$(shell $(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsdir.sh $(OUT)/bin $(OUT)/musl $(ROOTFS_DIR)) + $(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsdir.sh $(OUT)/bin $(OUT)/musl $(ROOTFS_DIR) ifneq ($(VERSION),) - $(HIDE)$(shell $(LITEOSTOPDIR)/tools/scripts/make_rootfs/releaseinfo.sh "$(VERSION)" $(ROOTFS_DIR)) + $(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/releaseinfo.sh "$(VERSION)" $(ROOTFS_DIR) endif $(ROOTFS): $(ROOTFSDIR) - $(HIDE)$(shell $(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsimg.sh $(ROOTFS_DIR) $(FSTYPE)) + $(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsimg.sh $(ROOTFS_DIR) $(FSTYPE) $(HIDE)cd $(ROOTFS_DIR)/.. && zip -r $(ROOTFS_ZIP) $(ROOTFS) ifneq ($(OUT), $(LITEOS_TARGET_DIR)) $(HIDE)mv $(ROOTFS_DIR) $(LITEOS_TARGET_DIR)rootfs diff --git a/tools/scripts/make_rootfs/rootfsimg.sh b/tools/scripts/make_rootfs/rootfsimg.sh index 733ed41c..f3ca588d 100755 --- a/tools/scripts/make_rootfs/rootfsimg.sh +++ b/tools/scripts/make_rootfs/rootfsimg.sh @@ -34,26 +34,42 @@ system=$(uname -s) ROOTFS_DIR=$1 FSTYPE=$2 ROOTFS_IMG=${ROOTFS_DIR}".img" -JFFS2_TOOL=$(dirname $(readlink -f "$0"))/../../fsimage/mkfs.jffs2 -WIN_JFFS2_TOOL=$(dirname $(readlink -f "$0"))/../../fsimage/win-x86/mkfs.jffs2.exe +JFFS2_TOOL=mkfs.jffs2 +WIN_JFFS2_TOOL=mkfs.jffs2.exe +VFAT_TOOL=mkfs.vfat +MCOPY_TOOL=mcopy -if [ "${ROOTFS_DIR}" = "*rootfs" ]; then - chmod -R 755 ${ROOTFS_DIR} +tool_check() { +local ret='0' +command -v "$1" >/dev/null 2>&1 || { local ret='1'; } +if [ "$ret" -ne 0 ]; then + echo "$1 tool is not exit, please install it" >&2 +fi +return 0 +} + +chmod -R 755 ${ROOTFS_DIR} +if [ -f "${ROOTFS_DIR}/bin/init" ]; then chmod 700 ${ROOTFS_DIR}/bin/init 2> /dev/null +fi +if [ -f "${ROOTFS_DIR}/bin/shell" ]; then chmod 700 ${ROOTFS_DIR}/bin/shell 2> /dev/null fi if [ "${FSTYPE}" = "jffs2" ]; then if [ "${system}" != "Linux" ] ; then + tool_check ${WIN_JFFS2_TOOL} ${WIN_JFFS2_TOOL} -q -o ${ROOTFS_IMG} -d ${ROOTFS_DIR} --pagesize=4096 else - chmod +x ${JFFS2_TOOL} + tool_check ${JFFS2_TOOL} ${JFFS2_TOOL} -q -o ${ROOTFS_IMG} -d ${ROOTFS_DIR} --pagesize=4096 fi elif [ "${FSTYPE}" = "vfat" ]; then if [ "${system}" != "Linux" ] ; then - echo "Unsupported fs type!" + echo "Unsupported fs type!" >&2 else + tool_check ${VFAT_TOOL} + tool_check ${MCOPY_TOOL} BLK_SIZE=512 CLT_SIZE=2048 FAT_TAB_NUM=2 @@ -73,9 +89,9 @@ elif [ "${FSTYPE}" = "vfat" ]; then IMG_CNT=$(( (${IMG_SIZE} + ${BLK_SIZE} - 1) / ${BLK_SIZE} )) echo mtools_skip_check=1 >> ~/.mtoolsrc dd if=/dev/zero of=${ROOTFS_IMG} count=${IMG_CNT} bs=${BLK_SIZE} - mkfs.vfat ${ROOTFS_IMG} -s ${CLT_CNT} -f ${FAT_TAB_NUM} -S ${BLK_SIZE} > /dev/null - mcopy -i ${ROOTFS_IMG} ${ROOTFS_DIR}/* -/ ::/ + ${VFAT_TOOL} ${ROOTFS_IMG} -s ${CLT_CNT} -f ${FAT_TAB_NUM} -S ${BLK_SIZE} > /dev/null + ${MCOPY_TOOL} -i ${ROOTFS_IMG} ${ROOTFS_DIR}/* -/ ::/ fi else - echo "Unsupported fs type!" + echo "Unsupported fs type!" >&2 fi