From e46b72436cab6d66fdb0263e0bf14082195b754e Mon Sep 17 00:00:00 2001 From: Simon Glass <sjg@chromium.org> Date: Sun, 15 Jan 2023 14:16:01 -0700 Subject: [PATCH] trace: Update documentation Revamp the documentation for the new features, including a description of the new features and documentation for the trace command. Signed-off-by: Simon Glass <sjg@chromium.org> --- .gitattributes | 1 + doc/develop/pics/flamegraph.png | Bin 0 -> 48224 bytes doc/develop/pics/flamegraph_timing.png | Bin 0 -> 31305 bytes doc/develop/pics/flamegraph_zoom.png | Bin 0 -> 25465 bytes doc/develop/pics/kernelshark.png | Bin 0 -> 29617 bytes doc/develop/pics/kernelshark_fg.png | Bin 0 -> 28899 bytes doc/develop/trace.rst | 281 +++++++++++++++++++------ doc/usage/cmd/trace.rst | 163 ++++++++++++++ doc/usage/index.rst | 1 + 9 files changed, 382 insertions(+), 64 deletions(-) create mode 100644 doc/develop/pics/flamegraph.png create mode 100644 doc/develop/pics/flamegraph_timing.png create mode 100644 doc/develop/pics/flamegraph_zoom.png create mode 100644 doc/develop/pics/kernelshark.png create mode 100644 doc/develop/pics/kernelshark_fg.png create mode 100644 doc/usage/cmd/trace.rst diff --git a/.gitattributes b/.gitattributes index 1879a2dfb3..d5931f03e7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,3 +4,4 @@ *.bmp binary *.ttf binary *.gz binary +*.png binary diff --git a/doc/develop/pics/flamegraph.png b/doc/develop/pics/flamegraph.png new file mode 100644 index 0000000000000000000000000000000000000000..dbdd27e6d872668dcf6f27174382371a75751e9e GIT binary patch literal 48224 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 I>UQD(3!}{74*&oF literal 0 HcmV?d00001 diff --git a/doc/develop/pics/flamegraph_timing.png b/doc/develop/pics/flamegraph_timing.png new file mode 100644 index 0000000000000000000000000000000000000000..b388b8b9881f26a3fc8eab4676caccd22779149c GIT binary patch literal 31305 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 B>39GD literal 0 HcmV?d00001 diff --git a/doc/develop/pics/flamegraph_zoom.png b/doc/develop/pics/flamegraph_zoom.png new file mode 100644 index 0000000000000000000000000000000000000000..38b68444b7ba5cfaa34d9efe6773d697efa5ff13 GIT binary patch literal 25465 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 literal 0 HcmV?d00001 diff --git a/doc/develop/pics/kernelshark.png b/doc/develop/pics/kernelshark.png new file mode 100644 index 0000000000000000000000000000000000000000..3450c6b5fd37c849f5b3f5b1d6793b1883d94bc4 GIT binary patch literal 29617 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%0D)elj${nci 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 literal 0 HcmV?d00001 diff --git a/doc/develop/pics/kernelshark_fg.png b/doc/develop/pics/kernelshark_fg.png new file mode 100644 index 0000000000000000000000000000000000000000..a54efd1c4cf8d6d6f2f3dc5085fba167d01ebefe GIT binary patch literal 28899 zcmbrlcR*9!wl5k*K~O+JK*4}gr3gyLP^3wZ(mRNB>5vdQDkvZVN^b$_ReF)oyA)}m z2pD<~BmtziyYSol?eFe$_kHi2=N~w;)>vbXIp!$8G1gom&!GzBWb|Yp5Qtn!QBDH{ zx`Y6Mh#*&pfGc~dA4`D$E?G;fNrOP85m%4RE(5>snk#Ckfk0mDAkgbT5a<xN^m+vZ zf<FX-)?R=>kK;igI_G4Rx;Sv-__?Z<{Mp$VFuZZ&1~W6WfPjFNl~qDQg0{9c0)dc| zlLPMJa5xMGQ(Idb92}gVpWoZti^H7(cLW5^5VZ*A1ZGe$NFYHVxHmYVH{nL`4Y>rl z{N8*F4ij7(+>7f?NH}9=2BtXE&eyKR)XL?{VK8S1#943e*^L`#!NF(R+Go9(-rCx; z{QNU3t23*7t9(p8b1<`2t(A6yHZy`5qz$@(xFJw0AXh8LT+7Uy&s>YEwd%DJ$QMBL zBD8C@ac8(-OmG4w0ds}{Awa=rHxkaY6VBv<&jj*o^O*&hK{r5h+HzJ1s~gNWw5_xe z!H9(XgxcQP)&251VDT4V8c<Eplck?l=RaPmD9C|=FM}0<A0#j(HF=Wd3zQcGLAU(w z0mP0zN^;U#9uph&SEnn#nPC`Q8c7xT@x5)E9xttbp+eB^;Zehq?j0$QC2Xm4a?~2n z5P7(!r}mB)FZ3UtSxs3x317kJDasfe4>DZ<X85;%GvG@gkWr~B?CrykAW+i<vs=XF zL$ZojfQdc%#OuBSJ0DJZ#exLn%#Us%8ovO#Blj>5(qK*u^5D5tMg$UNxQMv`QcX+o zubpZwg4_arT+5yk#jreaBLTgbx9m$rOI(4GfF8E+PyU=`8~}rwZmm!dRFdm-@&wC; z3(8sXOu_=cZasAomW;!<T?~PH#?(rDfxHM$SG2DFD6%XsM(t>%RqrHIX7l;o%th5g zEUbzIww$3s1HZ*iO~&7}PA#OZKID^ts}Mh~z6Q&=|BaAY{_--^EHD4&hgFG*#52R{ z0dUhSDvGB4ZFtz{C}piuOH^wj#O;J96!)-FCSaM2XB64YG|328FYx~Yd9ngE3NENC z>W=MsHWaH$n)u;_o7b=2xJRj5O3pQOf`ikNNRhGI-zijQJ^7~Ep4&vMWzU*X?}SP| z&2Y43J6r+ZLK6noryE9eyyl#I(8DN;Dcxum>iix)PK4T4&m-fq4BDyWy7xd;ty|}q zyJ5FV1!ESrCdW9rp~)Zfs#X@AnQJjZMNW4jK%JGpklylJc@5esrHmQ8r={JRr1TE| z@q!~fi1Zl;WB?gKffp>jiY!p-du*hI4YjXe&DcnLo}S+2eMD$Y(2!di$iD9e_Ic$; zTN^B}3e{?({B9wo5_Fd`y7pq@6GW4AaC2gOMA?=61{|xZqe->fQ1;Ev72g(AG>hcn zfMZ?m!sB#*D-3tGu8W8bPe(-iK9uh5DAGrpzv;%8)XNm<T(7zpnJw!%o?^zplHFS< zW9dq&5t*cJ9$s&hX2Re?q{AaA1)rN7c!|OfmAKzBPrR39czg}sxmcD^oQj9?3w^3* zGP(C2g?8YBv%K%8wLe5fbu}kJ5kt!4+@YJ`Z8uiN0<53T@b?HKL@)0e>#gY;;?Pv< zS+U1@@8TO<nK;>AMvMB6ARWC8Z>i0&1_-OmADt9NZ?KSrA8hlSxEW|MUz3bC(qMFE zB`QW;|0%_$S)q!hC3I_G#!=^{#0=wD=8r6$QiqI!%O#u^U%2$;kn6zxnW|LOhisg4 z*KI?fF^6J{&&Cg2gqT)H(Pc4jbd~62<PNAyFPD=ybM}UijVirXDYGS>c{~1o=FXDb zWvomy&3MJaoAeqtnlF%<SPKTmV1-XeEWt!`cjE%!C3*?eF<|c}Kz!A#i;9-`GqNTE zZX}Zf?&2(b?kVHvxBq@o2SW-1&4?DFG%tdhT>ky89gL%Z?sCGA_9MMp`5DwWDF)CB zJ{33zMGyZ+>wr)VS_{oswMtRqfakWgY~(+-eCaYTfSez?p){$XdZP!EcEWVE?Usq8 zw{w@W?phs@9G_GMJP)vcb@ow_2cnw76S3duaE4f+0G%d`fxAC_{e(bKyVpKIgZ<>F zBHi<FTG6AK*~3Gh-r_*cd`obJ(;qOY(5I|-B0hiT{`I?@Yl=UuP@VdcXFDZhwPxE5 zn#n?0a*y0MHiHi(%1E!Xy}TQALQlrlburQ{ZywbmNfIWZBZJ5nzp@{)KkflbhX*_d zfr1K0z{>oIpF_Coav(~RTf%DS!1bp4uM$VSE@2ZlpBqLB3mq8|yG-iPgxH!7Ue1FE zbtT4k-lbe)XO0mylc9RdsJXTZ{e%v@N-4z<0YzCozXF<xww#BA4I;()Mx=-q_My)Z z``T*ye9FhI)#2eU5}&wbvoa4qPtK1#DRh^i&cr!;&XGJXr5mH#eZyoY7DP||a*$G4 zQZ5q~q`*PuYb^m{iUk-NdviRW@8$cxiKN5i?PxoVfNwz4Wfl!u7N5EoyT0@l<b~yE zOBcl6(&h1Mc^KT;&0-!?G97bq2bR;p!v^vxtxBcId|;lgu$>MeP4ihEDuUdLY1V@U zi3IY@H#)(BkUY#G5<17hg7%hLUm&1;>#w+lU0l}_1l55QIwW)QF}$rL)sj(U+`_CZ zmF<~8xIqpi0T*-|(>2(Cv55{a7fM6-%4IdpMkjoxs#H3=ZTokp$ljIkYuaJlInroB zZ8h7+d60US#muhuZ>|P|fx>2vQbBigDWcfZw(M_&>WDjnFMyyg!*Bx+X`a<7i6(0Q z8bh)w{w$g+b-xo#GUo(W2;xHNY4@EDg)IL%6!ZF$l2Ja8p<}Q3Q+Ts&%AI28j&V5q zX1V;mP%w~VoP65gX~MTJfs#r7<pVx)fK%*WMxE!H0-P2I<b1~l4+8ZO|G5HK<BUD9 z_}ArcaR04~OV2U3eOUx#0_e5;odQUE&3>OMsEPSstgJ$Dg3|aC{R-c5mh%K=^#<1# z`04J3irTQZY>HP#4NV^880ll%b-Hwn@ls~yKi!hpyvM3;cvGAHlOk^VIv2%NrSDR~ zx(8xoNU75(DX`=II(j+Pf79~7I@SO5fb#S>X#Hr}2dkTUmT-KaAhmzo-?(e62NDmw zjEV}1X1|wUGuDfR-a-d1s4DVL1isM<W>t;9_NYE2AX`mIJKCjH_@VY3KgYuR%;>Y{ zmpmsgZN9|h(dPA=9`AD)AQmo|`kco3@3!_!a{K>25SczE<fuBlM{O@Ir=AedIj0xq z8$qw%@eG1btEN9Z^fe2MPVRapo6k?W$Q|7Cy7E2$Y2S;@lo|Gywb5_9q_xNTyA{(W z_$@i8Gp*9wlKACtdRvXQ(08~tqqO*`U>2$}6T~T|@hsGj>vV4VtQObPf7)t#vhxHX zd2}4KH5n23%ja-T9^prbvpjIyxs4)fg2t{vmFD;X=X{yi3g@_*$iBqKNI6&aRWB*m zw&fGIrfi-(V(2-UEF+vt-6dg`;r@+!K6hu%#h?#5k>aX~(4M5H1+ZnO(?bra(})wT z<4&fth2pd9y%Q;N*fNQKQG*iZU=IBpv5?Aiyj+GL2F%4!KNnI+DaRRiJ6k{l5&u2f zEdNkHdaq?)>ScNJO1OQ?&A?0bOVBo<T(VX@VFdGd;}A-ge_S<xpG0V(Tn}+N_biB+ z<%P!Y9DnuGM*;o}D}B1D{@D#Kn1ciBb?g&F!@;rPE}l+Gh~($#MG$S7976Behd?F$ z&<)R@t5AAQOkT*BgaNQJ)p$#qCx^Id-~Kac<mH;<N3m=C!$@W`iJI41cCck@se{da z`;e3I2>+JTqppa9WhKlkQBP`2F=|_l6my}8rl%vu@Dzj%!?6ZdeFUNd`RZdMA611) z_rQynh49XKVV;sWYf>?#0Qfw_zx}Z`%i_Uptk;S5L3!f=!yuK{s`ZJM@6q7$^zkwG z!JD%qH!)m*A1#PiU%a99NWJ)krwC%k<EOkJDU8X}vQt=tW|R1sbh?s>{miH)?NaYA zHOSEE=|r3^aQHvIGkt(gJ?{Fw-{((Do~Y47K5v*NDs_0gJjc)xbHVvL8HRKFuC1#? zQ6ZdzJTd!*Y@bp(+*-6K`DywCEmm@e{qpVD)$3^HsxWwp%xHXf{J=n9nV-(kDzqRq zWBXJWrRe^COv*oHheL|@Y+vdaejp-sP%yh)Se65MTP*2&I!@`opV9vq!`ZmsY%O)X zzTFsY+HicVFzt8f??XomqBIM`MY}v<-noNW36CG;@SF3uM^S$-Ws=nXwBT?L#&Kg( zFDhI0;O7l&=sUT72A-g8;?}#SkMW+-s1#h?Rw~anvD6NHxuEg5d0A@z-N6A#>e)fR z?>XxW*z*59PY12_b(I0he1@^f^!9&B=KseG|DP}N3?O5L@n1H&jzq&_-!-1pHX>T4 zPaO1xmtXE(Oy~;AA{?XSynbz#Ec|-!iLqTa85yt2!Oe>r(4Ou#9&hPF_ZR&SCRIFA ze=N0X==mAnlc4a_b9HR3!}T`iMWvu3=56%%YfVqL&fqP4{s)M-+@GN)Rj4aoA-_cz z%(`mGw^0J7{6F&kn*MC07`$1~*eKWTP8Y=H>E+{fXA78_c%?7?GHN@?-y;?$cy;=@ zyCz0yb(pVOwU6jE?qk9j68~XZQUy`wtiK{M0zS<)JdzDGWM97UO9Qc=^ae~arhx5} zx(`3VC|XXf_7#7a-XBGdU0M~jI6f(;Zv;o7G%p8U`s}Gz!GtMoAVsm|9o*TBd(she zOtssXYtYx7(5T~j4c1B7xdKgyE<fTS?W}qxHi}gCx6S|ByfcW}o}4?v?@t$hI77)G z{I-2J3qseRT&DX*H?|I6+i4&SG^zzzHb00<NJ_jFy!+HpQP~z8xTK;PlsO&!4rdhh z0Hw)3K6CVqU#IOI&O*s{Jm(G;nqHh(;z^x+61`Y~J3c*{Q{j|qv_A7Q^*MWRv}<}+ zdf%@fzFdoMG*e3}4)wP<I$p!#W1f~S_3^d&=?){sZ@#524~;xw_;lAyKBl~pZ48-s zqSqn)Nnq14{q@4}C!IRM$78pBz?i%%<mQ^8HQB?;L2YsTWL&3I8+T_Qq!_awUkX+A zUX9Z#ujNhn`nWdHV)DxF=8_oNqqZkLO{YWP*DdCqyV0=a$>N5Ems=6jr|&s?i%(|} zrmnXS*RZC?a|l&L!_k`E6w#5y<RN9_sr=?5UhC@0p6SV9&s?qD8Z>@Uj4%29!{)T; z4prOxN;a*N5K`TEaeJFKSAnbaTqzB17*1Q~`d#RqM`@2L<CWAH-eKs9cu3KS$?Qf} zfw(pY!x#ryyKJ!ma6f?I5~Efs3#(S4`hC?QiNOoMEmK{SaJlH1R`djXIY&dN;ouO^ z*zu0k&1v7G$~Bpj_p5!?WvM$mW2#0COR{3?sirrjHg=jCsDH5bJuA+FNUJ3bwVB-* z^&&!pO|<lX5`?dxB`B#)?$jEzkit`p6%ZHMxedgXZz!cR8Yp2nm5i(|93_1o^V3Or zHiC1DBpSt1+?!XjDUNw`z4ER{?X$rW<H)^P=ll2gj-vTcEXCJGxxX(4jnXGe8uy;+ z#LgVrU=9u$Mn~pkS|=Vhp0<xo`<wbWz;doT(BJ;9D}gz9FnzkAJ2niCB~tI^ZDIaU zqZjqsg2y}%S0bs{Tx;+)yBGkl>}j+qJuA=_HZ}_Q11pCFcHI{AYIyz)Urd_%^-F_V z8<HGiFY0k6LqC=$APy>|z6nWE`6X<2%ewg1Qlvv6#By@<f}ISV_9QWUGIn(4_bS(J zb;TvXk0_$z@gJNLGLOgi8c%IEf8hQ0Do2r~<v;4kf1ij*E&hfr+ug?Di*g}sXt1&d zJEwX#N*k_1lmU_MbGlDzD`shm*!O)OX_X)BlbI9!ti&WqlojVYdr~ME-L(qKVdHdQ zSqVpsM&K(Ri8=TLVLG24MdJ_kyOL(sb9fw3+e(B8Ao%`1noD|?+Q1|E$nxO#>SVE$ z@8JiB<KNi1>PGILLB)-Sl|MC)yAL>z-ZV$tH08^J(C9`4iyUp$1$%l|pphkti!UO6 z?X00#63rYK@)cHTF|+gC34U|!onCGCVXf7f17N(pSBiGORKIH)M8E#fGgcFGaJrW& z>AUyfXlwE<X?Jy9J$jV_od`%{yqN?Tdk_BSGJfG+<C)3vfxym*0g6R1u!Bbvy;50E zO>5cqSkv=4n*H_)#pI{U&FzQ!E_Y7}rAZG(BKj74o2J};-&IWv+)~p{AXY<b)zwES z+|u3s@nD%8^)dGHS4ex@7Cxsx{^RjnLHhowVHPAce#z&hM9H&8bHm0%+Z@QWe?gLj zBz&2MhU8VplAdWn??st-C<De!Bs5-1fkXA97m$|pJ-D}i@BbzQY0gn<$`6Lm))zhD zd%yC7q0lwusU&?gp}(+Tq{MW*8So~aL1e;RIZJUTrq02#FK}zAxIyF)Iq-+Ej<OQj z!?qj%!rb28o30r`;=e!?OmhW)#-tapEoYQ8`CAKL^IDS(&#;`uH|)2Bt@~`Y%O4}G zw#_&R(>3lucA#o(PPiLbI_>$7tm9<rvmD5GI;nk3tRm9nM3@5-13|ZHX2|ql!OQns z;}+Y{e0UJsvha*A)&BsL*W-X1&$(R#Bj$ZT2AV1T_Y(I%r^o+HIsXh{lN^r_)PbKl zF<5I?D@5@pPFXp_wOkC8^-gT(P&_tV_tm;|^nDKvA<gtK(l8aBXdC=X?aL38tGHJv zoKR8k;q-}oE_f%|A<^7kM%xt2+Z)0GJuIPUotCX<YI6^H40VcbPs_&G(^}ZRcHen7 z$R^0Eub+--&nGj8E#zEbY=GskipPeiQjl&<O@DIuYFDl>{GDa^T#8446m+nr4}vlB z2^`rLo?(3&)1@TnT&l9@LSA)v>DpVIak(e|mF_s4mN<RdM-BZ^&%J8qkrxqP9OPM& zzkGG0{KrZ>>%-(fi{x>Re^7yf9U&Z|7mQ`*BZb)Vd3B60qwK0YYtlUK==KdMA`UWf z-x~$L)KDojD0F2CboZQEIlI7I!d3K+Z57jK*qul&n|$s?{AxDTBCS6c!?!g5EiQ(K zZ$(lP&OugrXBW<K&r_vU4zJ#!t^O45FYrzDDdH&`&nc^sEB)!S9|{*xkq&QvB8Hm{ zVgKZ?_Ewn9u#vWKY<b0YDzx@=k|1mdCf|LrN^egb_mpn=Ti~L@r)hAzBD4wrHrt}S zWE1R0h&3T42X<jlCgjtrpKEr)9=13SG<a}YrQ+jnxWaFm1owOiE-u7yQuEH|m_D5r z<LcB1nW5KCXtt#EQa2Z^^UaLQZP3$}PO{UXg)uqxm#4>`^e4VhGQ0-Q`7SW1qv`#; zK4aoqQN$fNoy#0#9$z4Jr&Y%kw|cyIRI11(bi$S2+NG;}*C@-E`*FUXrsbO}v2$Nj zwMooAb?4TvKp8GwNVUk^4OY7UIL1rhn|PV1_Cd%+#x*EIU?83CUBits3+fh9VdVAX zH=JoMU29Y$bOoF?o<E2)C@MNPk?x0aWsM5*rosV9gzUhe4f^QyAGhKPxdzwd?`JF1 z{yVh%mj}$NAb{3|tjh(=Ch{`qbyQ6tPSjEAjrZ%fXSq)huce+7m}r1jD+$?Y2GFBD zebVd?bP1Z6?(au*vjGJy;mv=uV*dYGaR2Rb@zuUF5(@M9e&|(uY1<+mgFT@`p;w)$ zvj(de1FD=+m6g8jTTA8Wi-yk=<7z1)q*^P7YAacxU*jO~pr?VE$2p&_Q(3Vc4G=c; zdHkK`P_XBEFUW(8+~>b=C~v!t&2CzM)A6c~ZOhwnO~nbaIu-D|7@`{19+Bfbx(nx^ zYaC;xXmw@xer--sv)&>7EP83NsCB;I`Ri}T2O*l+MM(@P|EUu_ca3erMRHh>zY_N3 z-Q`i|@0KDIUg?5-2r#4nd%G-zol>#^A7T}%vM{Q=O2H<Ju^r!I?%SiI)oZ;MhY?)~ z8LImQ_c*>?6f^ae&E-}7uPg}ZBc_0Fwrhl})Dglo*4f|ejnEy}@vwlD`#*Y&gZ`y~ z9$yr7e1!C^EKiMVaE{qX^b-Ws3eXpJ`>hK8e_vo6?)lJ`)K|vo+28P>tzBp=j*qA0 zy)197%K&wjXAPFHFJQ!7Z>Tai>{a7rlo0%AUT|X-ngT!5$!z(yb?~32*WBiWkUQ-J z8X#<bZoL5?5X8emg>C*XixYDyVP_5Y2w)#WX<C>)Ntg3;4EWSWL3Xv!?EftI-s6xe zdMB>w)4H^hCi?dW>lKpyy6!9C_`i06ZPfY#s1Nk_E>Hhbs@JuKlRe3^j3E52fCvzb zq%Mt5@vQZG^zlaO`ftiJe8W5?FBy!)=>3~-E~mDnHZ_>*D-`?J74LaD)JXpl2Rg4! zG~C)NM4=2YlGlc2Om5|szr09J&`W4A(Vw1^?f~*F2qbyE70ZO*Ao{;{WB=uf|8ITU z|4hj<3O-MGGC+?DwD+HL*ngV9`%634AJhxn_P+mN><ko7@^^jx_Y?5noRl{U^1uQ5 zwkjtD_cEti&PtoKFxXGZ86>DXgshUllW#hBudNp5>>2MGHxxg3LsNr5TD-mL!iGt+ zHaYnH3vImqyZE!d;YIHBXM0+tgy%(>kRJ(S25z`jUiZVX?}fl4gHG93>#`&Ucn=l7 z4I%AuRijJgW={}x@>UL{-v*J=Nw(6pxgQF;4t3)!sqhVVnv}i`fg^j@2R^;x{iw3q z=X}ik;hE$~9`O3+Ln2G^8dRHi2q_Itzd?#Bk<Au!Sy?Xwk(56{Oo-n#dra3?fFoqQ zttjB&hH*ecnMDuFl51Vx7M?x$dd?%br<zNPw1Rck|9;+6NcN!0?}FFYsYXICGPP9S z!jKYWLEwst@oGAs{J>-y%C*G<NN)h0ynSf9X3v{Uhp|=E6M;7<AzA`QPPPbk4q>=t zze7#W5pc^HAXDt{gCB}0R>D1BfRG)|!R!)g5rxU}1E*U&yn6{#L${4WQ(+Rr0$yKL z>cJ@;J9V7$i*@VS<vt)iqAE@N)KgZhm`RcED&t`uGL{e+lzh4FeMvp_&eb!jEw|u& z)sU8*?G%k4_c?=fp`QZ-MT+$JUER|v)tk)QVL|d~yi}t$^Ts?={V&NyW91sIsx+3P zP2cEZx|9lFL2#>|#;+|Yj)XpjM(1WCP_3by?1l0A(3s0d)NPhGT<>+iHJgz=L{U?X z_jjvmN5Q$R%*u{#^F`gIh2M|Xe(GbTm0qnKCxKCCkRw8p=$3!WD*VtlwbPUU^e*Lx zgPj?L)xLkIQnsNkaZn!?bVwj6G;VECN(wy7h2^lLY8eC7sO0!i)bbUiN~6P>v9k-u zQ1*QOt0`LAiMo9Z;%eQ4akUMuuObJt9}L}{{rp1LP{yuBi#>R<if7`zZ^1iUG^^ET zigE2oO_a3YdQRh|Vw5bp<R%JT)|;n~&AGPy)_6pozRF=FqG1^MF<N~3r=K*GntfQt zbvXW~A%@eFL`M+u4R>j2JfP69BJGjgs9>PbH%oB7=WMV9z03g*vktzE_AA6o_71`L zXNTa+REEbQ$5;9+rKJi;6@TTw|LTYtH4@){@Gjr*Cf-`e7%ehtHf;3VU>Exwp)q39 z=XQ`q)!9?<#cIqQCdZevYP`49edEV%_mdJQwj&<gmdgO%dU2hCDN7YW<rkuLdHj|L zc9pML5uxWMy>RInYCnhVk?t)Osn9J3`Ajd%LIY<u>!itajR&K98_3r}a5=Z2Rj9nG zlO+FqNZ}^)E3#snIU?O?jlG&Shw!mSfaFBQp^wJ$?{aVFUZOJ}+~ygj3f4CxqaU=l z9FZRlGuY^bX9$HQLlG7U<vLr6i2Kt?x->T^3K$QSRVf*C98p*kQ!yFm{mPaCKSokB zPO5Yu4PU?-xuaU~c%hK0_CD7`yN5$y$*NvA=Iio(IHE$O)}8TmNODEwfzCo%c(nN5 z+6)`vo-%@ps%HtB15tYpv_bXh;vJ%>WG%o$LQuz>7(Pj=FYr$L7Y|lHtx{?}(LuLN z?7@lO^Z10Pd}5y^H<ZLme6(ShgyryK+^Y12e6!&>mDoPBdB`09s;M0wmJ^NA{9NI1 zv;lUZw$6(X-nrPB(@1QNG1GtUhEekT>?R+wzY^war2jiO3rFzN>#@GumX_f4P@sXD z6v^dv!ZX?*3um4U7=1Gc-nplr4e>Pj%&*Enb(*(!x2d8{rSv)C=hxsh1)XCj8J?5E z6kNP?TH$m*m0I#`%q&E=u&<VB+OvLiVYSUSIS;vJeH%k+?kkj4j4~g7b+%gkMjqjT zez#LDqfMs&e6w^;)F;HRz==`=@#^H-M;c~Z(~JIj>dFYcP^Dc%PlxN|RvD0Vg)Df^ z$VuTFoa%1*Pe*-|jvBxFOfR6bS$YI<Zngbyd^9ZIm0BhtYDu=3&xVE>kXJ?tG``V- zO21;Ihgr?qE^|>wEZ82JAoS!5Kk#scXEW%AC%vbwq1P2gMFHh&$u5P1KDW&mh)~uz zZuI9OJclga`FW&>nlUNTQiObpEL}<J5NLjoiGKbOzam7qx8$i)SP?ez{)3dA&76sM zQ1@=Qm(8P5aDHdZc8MjtXjM2mP+Mu#!)hZrGmSJM>B>c@WeDz4V2FbLht9;?{)I|c zm`XLx{eA2N0CQoNds`>eKd5qQA#*3O0eExtLd0+k9pEr#fEV-9Ay^QC7M>#X>c*GY zS?8p^o*|TD-#hOKwqRGo?+c!)*@oDZJWu(l6V8`&k54X-gBsQ9rY7!TJsmaH)cJ8t ziLktER)p1|B@D#3Exd`Z0mR(=nXE!ajxPJq;uvt}<pM%nU3TzS4egi#o!3-NTg*Hs z^6+<DS`MVot-l#Ha9I=D{Npvw;{vMuB7jK0MdFgzhGqICkc+<?MzS-ur^W8>?OF@K zmOYJ>5PcQd+xGj*<2Yx<X{P~CT(i@4J>ZEZ({WP^ofyz@OfwY7sG!%B7yk8X>;F@} z$HRjzf?jjSuJw&(y&oAR0>5{DK}d?&g-xhz6%K>AWiP+M0XcK~d^`Y-YnDaaA^evy zGOJl+_08u1oVbus(+4l>LjIll1f0d}TcVYGHz>Yt!GafV{cdn860JkG^~^XSQJA^2 zj)T@icDUnd;}>rvuI;$Jxho&7MA`qCl~wseAVGIR@Yu52$4)6WaHLyT>4Qkn=s|6C z*Iu_4*2H#%(r>?q3Nzak>X|>JQ)j8=LyA7QMIhRq?P;be<I-I$c%3t8vAS8z=+<Uu z5-qK~+U#U^iKCT|lpUh%F}ezk4~|>?`erPTpV?)|0<KQ2oRpmRLm6Ys8AgiC3;pU* zX;dbSV1H|x5AjsArHa%sg3PHDP5Fo+W&rGdARfFr^sN|I_|<%d_&FOy!$W7KuWB!5 z`*F-_+`;HvH(5p{%A8_R;}byy#b*12*#t6P9h@(b>8QmYehhXH-%mbKqaJlG_B=AK z`{uy!0axw1NXhL|mRM2#nL19jEA#0}_&2{LQ<jOw(P3LpyHCMZhPlkVCU@_9fnC_P zxIQW<bY9?l>YmlW7*{s1HAk^B9E{iz%Fotj#?+dIUg2$7a#<`>R@BZqK%I+4v$Dol zjJpri2l`KJm4~utn@3sAOxrd}@0CTCaaTC>yxn@L+GFYsrPlFpk9)siOfqOeSc@06 z*;nxx?}`*VSy_etLW4&&^*(WZg{)PO+D^t|)&&d%(r9l`%8rC*T=wVo%(`5M5M1p3 zp8ohTFZtvy;|4J@@qYRm&7hXWCI3N!ed~>10pR}fS2{@<F*Ip0Y8OcDBBLET8k8}4 zK%X`@+#*T2NGOXc`Qs&h?cYcG>+YNtVb!D_JZ%sdr)~CI-OdGd&S#^aY6jIjyGpbc z*9(!j5*3@lHyDKbgq+~dwxrkNQp|JY`1*HTaJD0Z-Ei8le&tNb-i}U8aVkw#nZ;s3 zxID@ZR>Rmrfl)dr+3H@t_Mli9i6h+mS@`P<1UL*q=2u#Zt%#A38ac{c`xL(k-W7Yn z!5bqJBKe_kfHj581T3qh7w5x};0vj}0h($b&j*yDfw=fN{rS`6M!5K=&o&9f9qMN` zj~X;xeQgtZKZe)l;BLM_NqmP@mv>X*nyoP7;tiU+hx!#X7(p@G@<I)Lc+d#cM8Z&` zyg{iL(tK#7fuP#GO1_SYQoB?fVRn)B(gW<kV$XY9Sdf*uluD}3DwIo;mDvQ2YAxy> zx`z0z9m@8>x@$#rh2q<F26)iPbY$k&F4UMLtq(pv7d`y=$>^IKrgVYY-+lRAY-qdB zR7P#6oW8PcI^*9XKd>GrznKX2r(PyEKS-I36{K!XGT%>)PrZ)}NfS-nE5CFca2)wL zA#Q7zayTc(Y4(S#@m-!dn$Uu&PuI5-r)F&fJ__}Bbhev$QmVd+FKe)p3lpK1x-_w? zp99fOkjM71uW8Xl0u^Z?8p%&q#?G=jbiD#cu;avGq3klW-mL4IRAqLe9}_bz!>%ZI zqN2)-Tk>Xh9x2IEM}|<#&-yI9M^O*4hbUIDYI}Y+&9qH7_#8dTMuWbP50z>o=FO76 zP9CB2{^D(>#oJ7s0c!5Lan$hxV6KjsdE}db&;dtBJnMR5pYAA;r@rnZf0>CfBp1!I z3c8?&Sr9fRhR<>4txS<Q_D<cxLYA}y={Nwh5=H7pH5Zs`{n`(i*rV|;gt$`8s@f?q z-6zRW)xy3Gbl}XEszUk&lY4e)sz*ey`*5U9XUywq=}fU5KTLy&OE)L`1=N-pBdU;& z{(+dR`qGMty~~XUE94}?%{M$<FQmlKzqpK==if)ea$Y5UnezEv>8bPTHO)$R&&)G4 z(rRGYV>IUQJj62TBYu(iTS@hd59-eA=UvbdUV{P$<_yPkA=78h)YFZoIyHeO_wL*} zUdoU_?na7p3pI5=#T?A;CGFpXEo<b|v-T^Kmt4fS+!lv*UN|3@DIiV{Oiu}XXLa(3 ziQqs(2NC%zN;ee+=w)v!u+sZnZxH(xoinNL#JL}t^+MY3)*PZBiR!T^Dztg@<<Dr2 z%X^nTb3k>h98)MMrseDIUpcfQC1{y^v<sVh$$1<WT|ir>usIyd>#L?X#qh0NZsUdI zPo>4jEi<>v>SPgqr$PQF%l;>=B3O71YmIx?_^nwUXr#|f^9Zr+Epo}5X3s@jCZ~bf zzky>R7}E0QLE~#xw5{3VvjyzbHOxXr%h2@L^`urrsVZV>L+CTzyn%U@9+^K27RFJO zQw3XPaXD&m?oqBOil^K)QqShtaTwieunfW-_e=Tgoah3_KMjf@FDnrb?YJJ%&CV>Y z@t+E91qk0+cgH!Tnfb)yZnE?YRkoKrdPZ;Tpt}~XY*hYB4=z~(_EuYH|2F!&y6)zw z&gg32+ut!34K`sJ8xXrmK{$hK|M~#Z|3G)Q|Libs2SvSU<%?P{zV5_wr{VsX$_Rt- z+k?LP2WHz)gxpu9qoOY^S|l3FdbRrdL5Y;U{Y<GS>QE24lPf}*-3JA?_P0cC+fKz% zrFs>mWj&007?jl3sZNz!V8EnJ!rG&0_}%3u^=E09;Y)mb(Ofa_x5?A)b*XG5GktK= zbe~i8GRcK>$pJf}=HC;IgUNSwb1N?QJ{mI`N#lY?@szh`7Js%Jgao%qPZ8{S=Rf5_ zmK70!F<*bZbmynI+wrQnrkvwD1?Hgj?D(_*e<ou08+e^I>!ImXSG#s4ZXAnT$XdG$ z&+k#)_~oFK{xS>qDL1dC_7>ZtT8+f1pnS4<<(m4#VephH-R25&8<&Sh>DqW(*h7iM zYzv{Unp3Zyjni_<!yk&)p}~={FlQ}U{zPt4Pf~pxPw$-!c7~q|(b7K!(?rGRT;`XR zS#GyR1{N}D^l*oFhx#$|byQ|ITIwLUbWGG9=WyA<atfKVAYA%ZDsc_@Y-%Hvk<KG& zGNsfLig3>nB!93C^UcB~-b!Za;ffIfWK)yU(J-|)Y}x;8lIheT3O8K%7>`B{y%gQm z*x7&Ve2>Oz*-_<*E|#J|+$FaqJbfzY>Rx$8XT@DL?*{!AA+7p*ven+hvl0Lt@2Jo4 zAj;4}ZBx1S7GGujvj5P=?gQ=tO+%p;YTo_ilZNMyP~o@<(JV-Y0eYIh0Mg_2*{~zV zyNjPRb=|rY_8$JZ;G(h|o6iXNvspUzxR{YUsff3~5$0fd10{>7LKr0WRUq1kxW~zK zAxRJPO?XDYv3jNNf?5k4zu-%y5#{wIxZHx^#*&XBIJNAn<6q=(S`-v`7>5=U3J{G` z+2LN&HGT#7B6CAYsAjT~i7*nEOCoiAWrw#)1SPA0l8viI(AIU>XW-&39t?mD<di;_ zVZNz{uD`8c3om)UU{&dWaNeV3Q%)i9minF);!k$Uwe}i13vihy<pksotvX%oDusW7 z>ep(5-|PJjY|w!-P$l@!-_7GPNfL-z(eNDJ3hk{>dy2}CTFF?r6+k}?Y_sKaTU+k; zTSg(`E82+YTP3nPm*J{Xp~lO26Fa??efvS=%K+dFrd<K!3qX$RuTDRGb}tR_Mr{Ya zS!9UdZsh93e%pG2*zfZSE%UGT+UX{7%r1+4;7{7;I|<n;UQt?X-G#Pu9y+yadRwz# zN~;hiGPJkbijzul3pJv;2RaBna|Naan2{J(fg{1!t;rL`GN;AogpcnABJplGetE?; z`)SNd;+DqFTv2M4yRhN6EIY=EMJ>Y1Od%uj26UL!`Up5GUW6$-LKv07k|`406V`aY zkYV}};uOj}JjK5GRJw2;!gnw9+MFk36!~~P_3oqaW1##kD>)N>c(vXjW9wy?+ix@V zKIlW|EJ(JYU>+p>k}Lmx5#x)on@C5G{86&#A5~Mly*e1Pv*TmRvqPt|!=STrtDV|m z<g2~9=DW~H#Zk0en6t3j%?})*heY@R>tobIz)+GACxx-BmTD#`)?Ld|^UM0;_aA$t zSf-buZoyto`Nm74R_PI168(|W=v*GnN1x-Q5|rCOZmR9rMekxdP4A>O1X+5-npD3R z>A1y!9-{m1D;p~E2}qb%FM1U!^2SF7;Z^x`QNG$zYu|WuWti1PwtT!x5b(tO^k|NB zmDs7FEGGj1!pN!(U*(>!TJycHbmpnU;#ACjC#rf@;g0Uo*%qAY2mLsw@z<!C;*v0n zouRRe1Wq%_=R)#XlL@;f@FVxByQzicuv3Zxjsxe@KAWMAxtGqFkjFA!L`RGkWvkOk zjk4*PQjRZnM?>(O-(Q@D3oVFtUlj7s@fZXjq%Yh5d>Bk5;je(Vq;J~BvcgQ_AI!Ii ztPGbB7kOYey>(WgUrpyNA}xV@;Vn?qyCtZdFqn(nA(=b|qqPKz3$Km}=NGpzV)Q9T z-<e=5@-r$v4CMRwWOFvA)utU8y@p}Nn?g|1&%fr6phU)uubpRZd=8}GetFf8b>QST zJjb2|O?ZpbBhBnx$&-2-j3b40S`wa(A&*Chn@Ti+E=8hq8bl{|-E;&JP;=$HtdcT9 zj6To#FhaLQ1h@9K5~tZuMqOh>&A+zJBGyZj1rD-Z1u}nHfUe?$QRG+tpxwSKsJGHT zv4qD;IMKh4fvji0$G5kD<;{sA_Ihb6cKi6&K8nwBmT0H+!lAv1QU91P%(<lR#V%2~ zEJFAw?q~~6$H#R|LlTkVpGe_%%?A@#_8iecyyE8RB5k^-n{V+ZiGOAtYwci&*ytHU zvJ{m**1LWT+D8>%v+u+qfR}cNU2#cjCe-}-T_4pY7)b*zXde|?_iR5#g8zx>C%U+8 zcy*~?%_K>C5N>}9z8pAY@>-SrVe{CDs3{`lVCW~z{<UQ4AF`)ZsPb!ksQIq3`uouV zhMH*Bim`|LD5hm>-^KJ-SG?_eMUv>~e#4ol#VrnoXZMG|Obs~sX?RWr<v;jIGG{!i zQbX`AVI|okQeMb-U98@)b|Ap{h|LFgzqS6EbM|^}k9j@rTp6k~y{SYus~L4oHn4qs zAKmMYL_L7{=CFN7S=l{R1_<62fDr{Jy|~J^O}F184Y+_;hLNj&v_2ThO}Mpm+<K$* z&GOBSWyuDd`NM|tPZFr|k;Y$f#kH>zw%6i@@f|U<Sij(6@Ah&PK@A?_m5kv!S20rr zgGWl`Iqmo#T1N7)@z^>f1>+ypsdSmeW&Z&AMkl&(6)$2PFQdw@7hZ+mK0X0VvttaS zZL&_Z9rNtsIi5UP?c)mHhVOl*w<FtIrKsP5F!o(KzmWs9u^Moa8s=)V4Ld8W(|*4@ z|2z<c?W31WFZO<Cy`u64_wD~NHvnHYIHX+wi4bo9mYGriml6J*;_u_}G>9N&w$%xA zZe*-pQHI&Nel<0lS@dE9PDOwB39=!f$Rl-GUtPR1OU0C$V(D39<pug>GGoE70-rro z46R_<(j}~cXn>1)-<ZT#Z`{h*7}BEK;@O$tjlT>w0arJPl|)gGX&Rz_fBv??vGNu7 z(alodk$6iI9i9VY4>Z}1S%<)aIC5FB`QLO+5vBAJ-KPGDSNuRe7+vBj^WvkGbHv7{ zq8>4TloPRSu|RK1{)9A87nO@`tzmhqwk73nHd6kja*@FItb9lAIJUI)wgkZ)bwp(C zO1N;2NEiL&h)4!JpWJr1ukKRY)S+w~x46^6_t)bZ9cf!+%Q=yf_JyjhxAirV<zX9a zl<ULD$U=cTn`>C85=&V3k<|FxpyH!@4Y>8YjMWWDZzY*g%DgNWmKeGdW0*n`I>|zR zeXU@(eL2JI73NZnGf5h0Tplh!jO#n+kHo21E;XCh_7F<-ww7iQN~**j@9Hjx$FDl2 zv=L=5FvHG`4Y;tf$#uUn5=zrOSsx6;Ca!ECS?;D<(W$W2JTL)Ad0b&>*xa|&5k)E5 z&)hz3%{~tmVvI*{SYkXhBpZ5jh5yD`#nR1@l|;p2)C>Dm+(0GvwEhsK`KajEHNP_A zzxcK%M4r-Qo7iQ9U!fxLERAqLnMYR2A(T0JenlH7zCRcMw<msFe3;BmCg=ZP41X`m zlFG9EOU$;Hm`<Fp%N8#tPbZwqdlyb;uKw#3wvYaYi}6x;jexadex@BB)}-QY+QAeo zESN{)MV|Kt;c|to4NP`h%)q~@=4f;R`ym~!qR>hS2<A2gPY}hD{2d@va|Vn|9hmrH z!lvW}P(*(;Fuh7)x4sg<SOmE`0lCIi{Gd|aLQTR3f2o5fHBmH<Zv&ZMQ+PJZhzS`j z$ODW<J=$lOIc3!vh(*^;_ogoAZ~TH_x@3G~Iab0;3sP@QbAFwN_(pkKsuWDcHgAh_ z1Z;w-2YD$c)z`O4!tt4`wux4lVZGu8-0iNPv4wkRIRXJL)izd-c=HOfhfB;;e5e{m zH+pVM_(;pr0wyele@e_2({FR0ljb|xi=^7^U#nPoq7x(V(dkQT%lb-OuM#{%<oOem zj@y>?-=u7oUIccz(u700cAR_kO3T>E71KSx)+ggNdyJTPVuBj1Gaj&_@%6O_8^}+Y zqX&?s`zfYgPxRiklHHAQBi}zpK95u4d1=?i#<X)UB^P4Ygc?vm?#eXaVrrf^r9)1G zO&>ptq1WT>EM9$sQ~Uynd%U3xL=?Ws?}Bw-AWq+Hl0I4&b#<sq@CF>_10>(BovxzX z;)}gyWT<&z%j9_*4_?IBzcok^kG|*m%j@@pCkS5n1kpio1CGR^<MgJnreYd|Hy{Wn zI&)sm&R{8kL-!R3BjSkN|C+zfYvh0CH6WLL{4uh;iN%_fQ&yazwJs?%jrnpib&Z|8 zlNFy7GLKNLPb^qdy@xX=G{_=4me#gCcHqwxv-_@^?nx5hB6o5ih7yxMrdS>*Z4KJu z0jlcM$|1e)1;w?5>DlFX#kCJy2=K--9FN#W*tIFd5vn+f64=U@mTXddKA2goqje5W zbjyD1_UNPCPZ5^R>+HPOMTQt|*8vqoY0cp^!1l6m*Y{DaW4<4dsQHd^jD;Sb2`#0k zE!%S)(!6N+@j2TAa)aIxYXT5*y17{ia3CJs^qz!3#V6I?@7(tOj&-rrTu1PGOpi>J z#uxO@jEqUJRNTZVom18#|H(GBH0W3nfwLeqAbdCsax#Fa_5I%j-aZ#oG9<ud@g!w~ zz4h>;gth|8jU!;M9z|W8L<2B0=IL9^A_tD$p(e!|>NR`4tCFr^f%li^td2ZKiBmOA z8*q0v-)f#O0}~#)iNvIARDQLBV#8NWFkLgg5sj|aMGdzAy*MNfr+LJZp7SzvA&A>G zTGw`!P$UKU+*z}Jo8XlKX9?Jo*p7j??X&|MQT&tGEbp(0$EEx`-&xo8J#76c+Yn>e z237j9g#Yz@28@+4CiZWHrxD;xGni$;DKr!6b2H=|H|?R3+D&68&kIvF3cf}Bb?w<0 z7)Z?_Bjvs{dyhPV&Mk2kRZhH*!gqXSIIg@l^*^+;RGgL_Q{Mprj-RvbOA2K55i#|= z1OTC}H@=v->)3?#%_Gi@yyOt-j{+GVOzN&UbxC5n#uA5*02|vBTwcU}Tob{Tcl<HV zpQfIJq+FG#X`hniH;G8wgbVTS9rS;t7^7rcV}x&|_+Yffe|WZQz-ryD`(O|kF$wqX z6*KW<u3Gr$(BkCBvmj>WN(ks4To>R>16e==fep|%<jr~MuDa1X*@;4b1*`Q!JC^Rz z=Uszwgp5x39c;qK0P?I%_3*{rnOQ7_DT3pA(POQZa(*W!Z1|?1wYEU^)(>x_`Re|U z>jTKwj>E_(UkqHlc3YT*p-UQwS%9rk>*co?6pv~Zi58>Ko&h(a>@e+*a33$D{qBpr zj5vcfOe_tD7T1R4i1E?PcZW_u*v^fw;dboGea@k80)J+b*)Sm)6yUg1|M@-6u+)#H z3LF0LfH2l?u#TN-M<?snC4Fav|FJaiQ^ZHlBR#~&J#XuXUvB0Ztyf|K?R^;C9s$p| ziW^$P)|$uaLvzIN46^~n5FZT23<!1AeD?VGd`w*hBEQn9yY4>ZP~XQ>m$5KObq28B zHeiPRgU)~I4EXZmkrPv$`%|k3OP`#iq300>iwhYMcxU0Aa_H`#z5Aiq;n&R`5Oh8P z^2PZC+nQ~zUfG8Oo{ihf`eAhmiBEs*OQd?FXxsnMS*=In_NV}s6$oRd2s+q&cSjx4 zGC&n|@FJ<vyp8P^rtu4e;ZKOAZNTvvwL3k0gzum~xr7-9oj2!<NqsQSSU$z+Nzx{a zm<PrE1FBK@VEW&7pT=Z4C=nGZm;&FKXyix$frW{#E24qXS7HDOgzP`9J~AKRREKrI zE>L|8PPsIdYY-Ja0b(g7=D&`C?v#OQkFiJ<4!~$fqzyQt8Enxe;J10`qhR}&mO>(N z^vh|2H@RI^DxZy^G9fP_aF^7|U2jL4nj*HTeJ~_VW0)Cf1nuMc2&JtMCazb5V4)kO zV3C_tGX1IIB`S!~)IK1V9ssPX+M35O=wqZj6mOT?fr?rQ6}p3QMDV$czoo=%0vOis z?YW9K?i4|ikW+AzGJ86fYo)zS%+Fds5lgqHn*_ZwYF?q>t~O%-ZbWY0x-_{;Q4HZ$ zpsG7WC8hpRHl!2V_cRBg_DM5QD7`K-<_RPJqa0NoWvT&w8p}L5$2mSas^$Fr*=215 zmXpUBH4k5009HN;)FT9VwQC*D9_A&oiG5YiBdPPmrEeOqyER#3U(1F0yvTmKT6e8r z5FP~$qXu{NEw3zgo6!RiPkwCbO|ka{Q^eK3CMUO3OVs_Pi0S&kv)FK3!&PpO`~2yt zrV+cvy3r#pf>~iH;<T@uyZ0Y@0VZ}!!4<;1#wx_3JQJR=U}p6>l{Htx@04k7prMHO z<R=5oze33O2f#oWUgG%U8hxIq@}bpw67o#S_rU4l-;<Cx-TS9@oZWG|(2>GwKewhS zztQfoS3r;zk!l_TH{jg+(8w4l-Z$DN0>-iQfu$pPCy*y9o;P(;ooqWP3?Hbk;Y6>y z`>%aS&Vg_P`@p+M8Y7gJKliEH(hJq9%o&+*Yw1D1{HZv%lDwKAbiT{RW7e_1{N<=i zzpf4y07U*FVRy)UH}HII;Z26&73tA2usgR-XwbxS-WPL=w4pa|yL2h2<<_qD(U$Q3 z*2sBRd~~&%z>xgmu(qH~gQ#cG<NFnq8}teZvA+~X|FRE;uh$zhsQG@)MQlWJ=o-+u zK1RcVT^qA}ir^YotrSPzmvt@JSuuQ#Gg_-4xoC<&*!TCm%WD|<C))VyttA0Y0-UXy z0KkTV_g|gwzjwj^J_b7CULC6{=P-TyiCRg~I3Mis{v!h1wA-ZtH*b(p9e)R}?7<?L zYJDK$A@x}Tg%*ICe$X}DyT4q3;*vCEP5J;-83@<-#;tFo@ekNL)kvM%b8sF2ag?!S z4%QrSIb&YA-srP%iHijIbe9=Qph)QC0skLD{4uzn7;jxBi%2K$o}C;seig3w(l!F% zSiFXnJg2L_Ly4Y}G*&O$A{(lKWJT=#v={K83w6+L-VpFGJ>uo!0Gzu|)K{#*7vq^` zgGtz(ep7sO*%#9Z^h&dOHeE}cr!%wXVyVih{UlcUo(Aj*T8O36P+XfLQV1*1{@23^ zgt+{yn?-0Ku>$y<X)N(HmbX)$6mdC6v%HXQwIH=}Vy1pNZpxP6CxzkELB#nSp?Z!G zPi^$0<WZUc8f8A$7kc`o>+#}=9Pp(EYKAkF5;JZ^NFlZg$pHX?=6D9gwiH#nFg{kV zVID4qrM3nzS4{B{@Fms`fBr9q>5zr{XhZQoQbs~@x_aHr34XlZ9Wm8w;UcDc`~x(_ zh3t%Z02ly1ClBq2sio4fI9XvWk4q%Mj5`vhxO6o|i1Ev1oy#ygsh*@_@8PI`AxZwr zrh5g4sJ&NV-Jw9;E=@|Q$r6uz0faO6TXk4SyJWzgeHD!d2m-Tyk=$?{@O4h5#B4Jc zr}<2Z)>R;f`T^Y!ldtNYgARjYj>_M9=#h!6jy6x1CSn+2)=ACYH%2OMc%dd|Bz}p` zm4*Va=cr@#Dqv8IE1X=~f?_d54Y;@+IQ~^w-_>&Y<!_v`6iE8fg_v#QsX22a&!}cd z<0U!ploJ8?n(H9?I>oh9KdcM@<z^E70_@Nw-81#fNySUx^Vt3mC&4!<2kcqQ6Q%f` zUp#|hfE_3QX;1KD|7R-+WV%NrIx%x1{^fs$xBI<d%_v=NZy>BNO^Fr*sFvd@Q!bXx zf;M0;VhuYL+GYT$KPr_)&_hcc)f0g7X?r$o`!V1MK+9;(%k>YDI$QbGE?i%q-{^$W zD1cJEnb>tdp0ncSxXwF<q@2M{&5mTuU2|W9Ruv^JPL9<Jc=#7U{!~rITCstq<7wR` zeKWq2d?{;K$Myn_vD-jV?QB`lUR><mKjZrq2jHy6Vo33Wp`R6n3&v>z9;yAIIftl8 z>Z=&f9LUCmU#_X?UP|-Pt8)!Gnj&bgYs>z$idZ};R5(I4mW`S&xv!&<9+o0K0LSSW z-#lD20ghP0_9<BW?y6etWAVi}EPNiT_GIjr#OR;Y_2>M93`mD*#kI~?hTm12AQ%DZ zvdEU^z3kjqDU46Pol^ngJw?o%w|gM?xJ2H`R~XOy;@TL|%zj70`VewwVs>N<<8$BY zA1$)-FFgif4J-Gp=DB`1`(VDl@L5LU3R5`&s`{gc8+8<>d-Fb+b_fOYsyt&>dZp#H zsm?sl#k>Zb4nZ9FL{kuZwX2}md(Ujb6UYIb2dMMLk=6q@#d>nv*<)lUpp)0Q7se~M z6##4mG>zu@Q2__t14!!dhEA{F0BhgOj>Hzb6^fm$@E}diD;SqsK;T_|Xo_IUE6pa5 zp){!?@sx`bf9%Z}qfg|6sn(P@y8W2sZ&ljm1{`oCRN5QB>^AtnO1!_D-`~f(D^RLP z=f%g7cKfJp&*~e<zxs`HfOJ|x5A>y)TDJ=$X67WVB8nkhAFVMOMYGtHlK5wGpavXd z6DY^>TVo6T#kvmq2c=$z9>s%EEIJtqSSwNE)-mIF#|aj|0gxVBaFG!+_$Vboz<+tO zfVpFR0Ic3}K#bYMVR>U|{t$Tspkj>>xl>Jm`yX=+JObKCk=dEtS%>ruI1NPhSO(B0 zbZ@|AKUQ7sivhlxf)sSbFf5wXyafagH8lSQJ>O(AAU?q3hmhPyD5<GMyWXN*Xf`gr zr{;aJ_rJm;MFY+l9`A@Z8XG&=<i(i-N0DtF7yD$i$@^g3WMq!GNq|W6%oL#s&hA7M zVX>zkbbEj})}cN|?PK*o+^YlPUdp*BbrvTNd@xLSKs`aYD*#~t&IssQELKLgo<}Q) zDZ&_RQho}c&Rf&^8IapuHdR9tC%}S$s?AIkEbfEBFJh;(gVaZ-TgHGh89EaE`So9; zey(Co<fAmjfCb5#?iD@$Sbhq~Jb=_jm0u{lT0d+%i#@%##GQKSZ$;Vl6#Sf{k^rpJ z3}|nkmt-#8%eCMBS7%=y59R*8-*Q4ZI4Mb*v`N{QqKu_Yg;2<HVy4AX*}_a?O(n?^ zm2Alpp(GQ^GS&!%EGd&1Ym70>$TDL|zV|bub2{g9ey`u>bN=Zip8a{h@B6y1>$=}h zIENbG7Gw(jOAENa_`zmhC8D9JzNr&b>Cb3Ek009i!~gs_(t12niqb3vu~a_&ZIqW8 zeZp%3$<4t)MxD8OdR`eQlu0G)jv7c~YK*}Mq}KFLJFZ`_cAq+z?yd?XdS{nE_Y<qp zK0JRL9y@D>nQ3K);9y4nMd{hC$Dw9?9ZsArhNCsal#MSo*9mRwD^nQ>(+Ywtf0gmc zsSKWo5tgl6`JI1;<X3(o>FgzX!wo#S)Q2)X6(+WcuaA=@RIu#xoJ|f8f<Z7lPnggJ z$f~x>VE>8i&p{Yfc<ewRJALwlbRsl3w#zP>Nq&T$*$R<yPwLRpqtp9gtlcPOxcoY+ zFi8Kt7`ZLaFfHUl;Owt3CPpgocD1o=!i_oLz2~nWgXo?31Ki=n*AQ{$535fqt}11) z$MJsl3nzgQLiOptn@P{~n#4!1TtkgF)tn-AHIe61ug{(syM~OA9hYbg;@oQu6bpH- z!F+_$^r5&6(w+4@tR&$|!l;&2@)XZL?gNQIMTYdny&Zz2Dh_i;IM4JgeHtXo6+lai zBeZk{*>}-jM+s%IM01rd^vxm~2n-UY_N&7<SBa$vx~s(73ji`6-voF2bM;bAMnPlq zIVP~uBPd?P*{}lHzv(}Jt`(%vzSTuHYO^3OInm~9Zguk^I!D`5{EQu`mj`A;LZ4T* zump2Q-hiI8=-4ktB0ZY)+!ub+D-th3wx>jO8s&A@AT@g(j!MCZ`%v(nVe~4!Z$pOB zGSBYETNcHw!OO8GbH9-2BJ{es84_J?*AA+`1O%DLt0SKrN{F-1HQ2@52c$_6Y34T@ zuNE}Li(FQR7yB-1`(+83a3B!4@CoQ*SR)<!``dz4&JU%mKFisScd~*=L<jj7uZ%a3 z=Pi+wU8<9KZ2p5<p_)U%X1QdC*#^;?07mAh&;(?eJe+nLRH#3*$Q1=n4(B_L^y`#$ zl1s1&3Y^3BtUC~^6{n$iGI(S9P6w~H7L~&Ew8ha+?we{ldIqebSTb5*22dPnfAYl` zoA=9(vbXEu_XL4(T>uA@X*^ysN~bp%i?r$_;5|>}-BVA9AMqtO4&9A?Y}AA*V#rRM zXCqe?Bed!jjNRX`1lMhzoA9KR4Lze<u6?n_6o17tBdHFY!w91!b=DE!Fsn1IEd+DY z)6wz#TO=E;8u9IyTj4F0q|Pd?<UT4<UeJCs^oEc520dfi3)HEs6Ra260PJpUjK&}? z{ax&-=%wx6DQH(CLc*TsK7FqJAjWv<vrlj43O3&jIV$gq(^j6x68yb-$m9}o=W)*_ znxH=qt(;Zrz>L|t^BmJ^WY5e6EFo9&57sw<F&K6*9c}rzF{hL4Ymwmp*5oqxv}*^$ z-efkgO6eH9|M3CJXIgGYH+#^KnpEoCnWO**u^o+&<et5=1?5ETq=nr##vC1L5Qm7K zP~!D)={P(o)9No*+l>2{i_jFcCyz2@RvnLzNcDg6#r#Y-W9|G{3t8839M8;~@XOKp zt(0+iip0hpZZ9N|T6SGgn<CN2hClM(f}oUzPZ>`#*_^kpb^Dx2v`onj%cNwhJE+`E z3Vf{rBo2O5=%aU1dJ{*~3PKN31Rs}1ZWR)za>DXuQf@FL{5n--0fj-sO#=^H-6*xX zYJ!0njs+<(3mrI3lG?hnXFp-BDT|n}E2hIp0txU!<oI1MEsGcbyOeJQI-#O6yN8Ym zp;dN#*(!7-Yt5-UHw}5Uc@U{+YOl4zrrfo~+MmfKTfH4E68(X?6*)AZ<wKz-oqz52 z1nMn<$K=*F(_gyjr4a$32SpTV17_4?y=E#EScGF_u~$X_KgiM|`B%0b?>OPMnNx4o zF27!frz({)Y$$ho?0XLofbSvlYH3z{$&-(o5s>bt1B|pTsNMRlR`A4)$!GP{vEDGi zRjmp^-W#=WR2wWo3l=2f(d!|~;_QRElHhWIq$%8d<ZMgMUE}6l<-~U(XasaFp?rOW zrgB5Rbz)AEDdF|Scm$*76Vd!PGd4Nq){I?lMfp;m{St1Cd$|Nla!)3r(@hQhJm(wu z<Q#I25cGiG8^=?{h=_2>7@#{#h9}sb&kky5<*u0}vGdQfA3c~X&N-#LFx33S>v$-I z07WCEW5R3t3cnVN?FaE9Pq}Fs#%z@k1~S)!KM-hP3I~Cn8||3dGh>V;816_&JXm58 z<<i;C%aKehn`}|{`~ifvH~MoxX!^xIdTGU*4oIRgk}ubq8|uE_DG=f<o-5abTTnN8 z+a%ZRI3bey{#A!XY`F1wEpmU|o@PC7$i9Vl3L#O)jL1eE{>3X;PsG5m{|a#y>S|-R zPqtF#Sx2f=%m#>0#L~wu!vjx3FN4u5fK)#)dKuCRtgF+tQj3u+F^97k0Z==8<kqf$ z8oHol95I2H^M{`>>J%bvO4QE%ggx4yjQ$#rq?sS~H{c6k*{h@yP!?YNlaCqX&L93} zc^?Y8Y{C*UIN|UsvTwP8FJ)HDdbvXA(`iy=mG27CQbx6c?*_;p1KX!aLIr@nwNu8g z&>Q-J3hmXp8ZtTf)8E^L31}=kx$fM$OAJx+7``ThPbSPq@xx1vIv_pHPLV_#fpfOS zeZrC4<*<azB`<sR2zohhPQ1=17HO;~WrV|@mDPhn+sPk&0EL=a(G1tf-k%>KldUBn z6+@^Xh@p<9qRHd<z`AG=@b`#bI;%NLdYaNr|IUXcL^NAEcNi#8>4KsJ8E0Jj@2VNY z6z;yjG|@xl3*Y1V&~RmeAw?omq?YN_MkH*a;nYH-c(NEpTI9q&Y#kXT&oFy1X!v4E zd7Mt~L@mP-e1~uOQVb4_2i)*%imDXekap-hu9S$bCS(=>DSnxTC^2gA2<KLUU>>?A zKNdh#pJ$ZFUmu`$CAlQAc|W4D3sSPL;UCKTmvxbj!ILfb>5sUA5d09hRzM8lk!M^& zN(ny_GPRs8UUbd>2}w}Pt9+LrhKwI@atb=u8vZLG+Z7n>3WIidkq<}8Lbh&Y(OiJ9 zsmtLVns|q+YS(J?a`>uZsD$4cQF#A%oEeKMD4Ao05T^b~yT##dWIA4eTq^qcdmK?E zV?+fHhl{W!jXM+VhZ=TQWu<8tB*2AV{nind?z`>!hB@OYrG{^j(S_%MZZT(dor(0i zS0?mBvQ`)jOKAZ|MYHI>-6V?ogR#Q(1mHYyuXBk-IrD3{Y5+&*-GAV2v@e=)>HPCm z_U}I&rsz6nqHi5dd}Dq7;u9_0j)CdwK)(7YWx<ap^E?=Q;k)8bm)z#3IosqMlh1Ry z9+0x`P<Lzi`FSa`=R20$Ub_Eu6Z+`9S<ewdt!K#Mt3dxc%^T>N81Bvmh6g+vmwpRB z+0{_8^>jzx%bm`T#*)jj8P7NP-sYzY-M`q+)QVZnyC>DMrQJAnxl_UJuRVb=;o6rD zO<BJQXhlT^441xh)9UNldQiO}`{KFPEWb1PQHQ2WVuT;2gthwOYX)+hYly_6?0M&V z%z+>JX^+k}>vEj6!p9lO<^f}I7q~rK!kQfeDa!}^b*+fZma<MywIe(6$w@BPy8^6Y zSYfplS??!jEh9bjkEN|zMZfsFdqmbDvcb?<Xc=LJRoPO)fUr0_Z%|b*mdr8)70bSq z(R);PUfPuS^7!Fj0E~UAF{JEBeg5dZ@5>Q*h<5MxMRs}VuUb~2vz^RbOBd^jyUqU$ zt<K-FH%@-&3{~(zuXCoK@EJ@{F57hYWv4j?lRE4O>fEFITD}zYtV{EaTY%kjh((27 zGo+LZVYDe$T&)##M>lA-VCQp13DWBPJuS4HXx_~6&t}C5!PmOuI}=u3*0y;9C((C~ zIpp16y)N15<Cr@w@!$Y-DtM7p90x)DHgqhHWxNg<STr?(XAYNj@k#hl!l434M`vcI z2$8ZGvgeqJk9`ELecpW6TBsde&4-nMPL&N8S5MR$I69rU9GvJyI$%KJ5Xv5|2XSl- zhr-4ufM`lL7<}>zaSKmJ_}4&yBJ%g^?}cRP0XT9yOF92&>QgmghKE(_raBzFS!(WU ze6yTo$NFA#%JI~s&q2u@7vdAYr6(|O(;Z>PF<nkRhubfNQ(hpoT*DpJ;;m=3Z6mm# zk=?12GSX2*-}i2-g7Y)<H&3(L1I^*t6TA_<(ngP^^<GMzuGom#Y#F>ld_p;M%T4`t zpmk-O-{Nvh@~y}2Z;W!*LyD0mg@$ps6FMWA@12n9^it0GvkAl<(OB7>k_1bs#aQ+h zAIhwngDthwyZG$7a(MP;QpWUesE9KOqFx)#`xn=Bm^N(b9w$^_Zs4CMzV}K(4+}Rj zw;frc<R`T}w)X3{53oE_%}sr+A^Q$Pg6b9gLr}*9d?+&G9%Ff=zH3uShDND8QFUM4 z?FSq7Ag1hvq!sOCvkoI+Mo|8|EwHVenlon_UiXA`#|{Zn3t-DjYd#2QmZo&ZBmK_N zmyvp^CUQnnwYNJiXwIzR$naMo)Ty=SUUbS}=56rZ^{+%A2*(ODxgA}7kTYC7S1pD@ z?8|N}`}o7y&@|5^yGLZ%<=%GXR?vebo!$;b(rJik0WAGQWJY$5ZR3*H-)sB!tB9fc zeF_sS==Yq6mSbDVO(>@_jJML0-HX-e&5_s{4Nl>swi0r^p<oNj;o;lRD4C-wwwW(p z+KE)*aZ(0E5eaHRGpavYD;#EGZodIwy2~f91c!%{w=9fpt5rXx%haZwJhJCjAN>Ky zoi|I98vLF4u{B~hKj!FeG>c%3mlvQ9&aBDFWBRy07z{%$6Lgj~W$G+sL&z{E`JdGd z-i;3X5dU3k+b$6qqTQtdq66iR!pOq-Of5D|%3V@!#<QvI?hskq^mU+qgX`{QRA01K z$ltCCFBZQn^}>=sGm2$v2<{nL09%@9Z@nQ#Zkf`6qv`h#b^h|PpZoYpDy_)gf4`^L z&?tf2(59Sit488+`;4kyGMYB)1@B~xl{+fAcqlR+muL*uFW(VMU)Q;cmy>$?T0pGI zDNclYshc8|jo6>4)l{~(9?Hauc=w^3>*_`w*QcVl3DvLZ^T_Pzj=Q|!wI;=Lpd1zj zqkVf%{YryMI9A;J21f|!x+N2R)$Cr*IxU&HnPy!(>xM7~=3|YRbIdnSe%&UdP6I9` zcG&(a9#g>uG<J0z?zkxuwuxL~elA5h+-ure@YmCUI(yKsy0=r5poE*KCag=4vDFqL zz1lvmsQN5Ak;MbUi<(KZp9a$HWJau~KT!KgL~mjfrcOgrw`Hg7BUL*c&2z%Bh-Z|F zP4m6SK#I9Q?Zykq3F1BqLh3E%Pz)uKtxz}kv4n<ol&=Hyto-_{2pC2nXB6%CmK)#O zsF{)6ydD+5?z`$cPqnfXT+Nq#`KfVbEpMjLa~g^QxqEdAH*0kcd9Jq*9Rf?-Gk#E< z772~}dkak!X&m`5a%D&&BJkGuPh`4Kl0zzM?21uP-xpG31jFK+tIi+rf}&|aencBf zO3Lw@%zX6)))(eFH5XwCqdfl_Wps+AHv-dHGJE^_!3M9mym@#}hHJErk@erm@-V|$ zcm>_j%%B=^03-{WQhd7WLSC;+R%3M`64HK35dAGBafFVM%nf<1wM4!(g<RKa=UNO% zPUwuQI@V;a`nxzVrIvfHUMys2RFi%0oUU*A`VcKOONtXZgJzn9j+6y1)a*Ud5u-9_ zQ?XXD;znu}0^c*S!tA{;t5gjWYrqXKy%#aC)v&ra^dd0YWhR{3N6nu@&NF~2GUCJ4 z++wWloAC6Rf-?+X*p%G#(+>Ys{irb;jjL(nQvebr9<McbcKq}BjUK)^P9%3VEJ4O| zLRLS-0NVEhqVEfV%CPUnWWc_*H{ZS2a;XAl*)3atMn@Bwq9;;c)Ax0%39&P5sdLzh z`ST7t6?R$YeI&Ubh6B1DY3_DyZQNWpYsq;S$!^u3AGR>WS8y2if2@F<LtCf_=d5M3 z^{j+)+#FkxTYX`^4hz4F$_O@Y{;bTy>;pF^asu!N6aeiJ+F}p;boxI2sJ=V|cDV+! zMg`egPq1kCOU1e;9<|-R55UyPq#~wHlT+4@+q;?h@)OFXjI6OU5-~&{VPvp%84=7} z9}tVeKUkP}6f=(H*!K*XaL_Qvc*XtwH!mDQ&VT=joF6guxY2-ALjODIiU9L?*BM!a z_@L)2c_iNa3!iod;X3NXd4|`sHR!vlIDQx_-8C8~u3JM5A~=+b!2PVQ>Tci7Tp3lF z;+aqWu~(X*+dW2cTFflE^zBl~gqKC<kCQ8IHPU*~p%8NWW}JTQ>{_M`B)`nk_H5XT z{XOcVVHarHD5p*vDTDB^aC<ALKCJdbT_#R;IXkMgKpFj=U1MwwnIp`cOvBaW648y4 zS{oG&UDMGi!#liyR`cbzY$ufNmdDksO>gW2BCO!DxIa4xA<toSqi@zcbD?7HDmu6S zj`26eOoYtw%$`i^RP1geYl0bb-O1ovjL_V}g~$1o&pw{Y>=%KRc2x`$tDthA&O8(7 zlv*%)3MeSkmZW*3Qb`XE#_2m*f$^nFdGf|$5YKJRb+IOnxSA+UYh{BJKGIp}dpKVP z5>AopoGK6VFLavu!@GW$58f`W3vqo$bBXn;ykd_fv`)!*ucW10=m*PrtBW2YQE43k zuF2@n<sL{$T0L2$;*q~#1+CggT!5Tsz$4RF&xY&Bk(L4+sF&S}a$vzqZLv%1467rd z-wAME-^|>hDGqNii-vW>QNB%KuKlh9vuu3&d-u!61jn|P65*76-uA|X-pDyw#4^@1 zqp9eT{|nUm2LNS>M(q%^j?6ihXq!!(o!UeC)lISBOBdN%tUk;*bG-eoCgs#U&;8L_ zbpoB>yHkP~^S9e(zY359K=}0e=2wclh@lYs<yu_U0u_k?ljI##dd%{ziRtI-5^4{c zQf+9bq^Bb<E<{RT_1)*P>|1p~Dgkq3XF%#mhqsW=(WM@R01n0m1eO9c@vNQvHNrJm z{AJZ$&9u{N9&b0dp;$FN^<Sttn;_#7@~7-)1?0CJ&tID1BKfwm+7n3$Wr>W;UO-Ga zw~kiwlPdYXNJi1k3`wrLCo(uw4@cQkPuAS@aJeX{av@_}o=HLr`ui0yG8dOJx&@Fa z{exim?=1?w5H}juSlcMkfZjUT_-&`wH_2;TfCal3AoO8USUKd?tO`)g%h#xX(OeI+ zw?n^Zxt%7@Yo%|A5DN_^>W%s;17C%M1Zuoy$k57&@%<>4U=Ud^FFeZ!#970WH_6_a z@bWHCc=1>H5BrXSJE&CoIjTq-V2J<l%IfrPJwlGHBm;7mL`lNN>tAiS<d600{T0OF zW40Fd1TgLAPaxiY-HxTMspy`Zfe_9S>$PlIX$X#ik>R=HNL*viT|z(u!$(WOnMQXu zfV2TC>+_?Z0nIntY%=>vkhzRIj4bz>mT4YgW)~;ok*LZqcQ)bH7D|xlrA%L_MN-n) z+3P#`xsL7em13NH0m7F!H(%_2AD=43%h`~;>be>eK>^^rp3Bd6Y>G#?y2sb1Jv25z zBUH4O_yi1|a17C~)H4yRe!$dI=ZsryPd-BvCh-z016K>ccDWV@A+fPj$bJbT1`Aeb z%O=TLm*1)!t=tm^=-*dV6IQ5|GBT=)evtsBZ(_ozr1IH9ffH;WeeRLziF?7VQQ2sT z^npmYgp;qvGb`>8y>km*K-!KQq$PR<wr_z!3x!JRm*;hc^7glb(}x>s{&#xJIxl&! z=g$#IIeZ~=hsI@1^|$OmH~0VnP$%5+cu89002SHphh^-)7hQsZoZY-!x4^L(L^8sC zUN==4A4=c@Cf%^>sCftEN<9ym8qG#81J`et^}MB{Sx7x01>XQr8NjPRh6r~nm3?{* z%s?A_C|x5jVO-xEH4AHrC$Dz*t5Jh$#J-i0ren=7N^h=mW1efqZHK5<tQTpw9L|Fk zCZrK(c_@~>bS>E)0WdIqE`Doxe*;RQv7ia{)uq&mpfN+rO?e+w>Amm<ZZzHgVvFz= z_u_X)q-hPAJtzA~4HsSTWZ|iWue~SwRuf1nwF$}jH)P&#CLu+I)u5o{E#*atRY2a# zu)KOlG2Ag9k9ytLn(wZlyEflRj<`=+VJ7~vfB&hTQhO{L5nCL0sFG9~HuN8odt*w< z2$UmU?4A9%UA)c{>@vA%f+aWy!inCM<5r|AG|b^A@=^$=0k%%}oTRSDh{5^N%i&#B zhmbHU*|IY@2^|GuvU7Uw6bny&rwl|Pb(R#O@|OQe(Tb0A!4fOCGRMw5B+lwrwnL(G z_!e1mbHXH3vMNdw)D_BjYd?SAe!{^(uQqW>jaia;i4rh{0384H+Y7gUY|OwMiUh7O ze~(H3`}=2}p<9P(v<4O4DC@z76)5DISlC{0AmsW|7EJZ5P#GaT4~u&NQdoj?3iPk# z4bwLGgQRkFDD2HAk3xpWI6i#F4Pf%CAeeUi`cCw$3fT|#ZGH3&C3fF{@{D{nyuC`j zOs=g(;83iZLVBZ{KLI5EJE3-Ub_Os&j1Z<7(t{KzpFd{<*{^st$qrjY1p#s(czAb} zWYDyR!AX|swq$iFeO{Bd#OtfD?3rP_aJvs>siqE?5->g#Z_%hccc$j3l0Y~3Bhs#; z0Y8l2qi0wBB@cMp9l-qDUQ<$3rQPmwQ7njrI_4{*yFs;q!!-U}*f*gLZB)p%%6EHz ztMZ{ar>~paZnJ#30Src-$hoKX0^8UvyojTMD|Yg_AOP-P05h0B_`S)t#$aWntUnPV z*Kad=_CK@0HG2b%&YLhluiNO8PkJKc>&L}iJ5k(bnum<nlV2E(6L_-e+u_aG;a61V z<8A46KwQS944vBdm(YJU_CRN)Yj0U4)4J{(PQIJIp^*;C2SiBGfZN=Xp)DRt203ua za7u;_T7%m>D!i02wp|OFYbKBa6kIo$74HXf5r0lD8vHpYA@+e(;`*Vn7r))=A-dFu zGI`v<AfgFV$yF=(Zw`@BG|eb>E>c-YdJHE&6#+pN3TTYo?mqC25lqEoz5L9$yj^kH zV1!dkeET%1{Y{F!<?oIaZ@nGeTAki9z+R+Xn+58!b_2O&UNuU9QviscP?P|r1XfMg z_U&>16|k6pO6MT=w*DdTkE`ET3jz}nV|$M?T8vwBK&#iwb-vBV>#Oq<)2B&g*S^MA z+#-65OW_MLr=bgqvR=eaw!-Bv?OqwudO8kupW?$!{!~b+$tA&S>O*fMi1~2UaOG>9 z7dR-Wba}}@>q~C&!KNCv1TDjNyCXr;&tF2>@m&6c(<u9-sFxU)VD6bMRBx`e{73KM z?glb9&SMDM+k7T9`2M7qxT*>9u+;STV+<igMdvDc6hmnITL15=SZLRZ4`Pi?*8ra4 z*E$(B4+-}6xG#kkM+*jXZ`bN!<uLDr$@{%ibN5)LawDD@e9R`)+2oRnbjnjAdW+C? zAn!}UL3Sc|kAU^Y<ayn0LjuO6eh$_3<*IPwXUdDm4qz_}4PpgP_9wu)W^45+mVY!G zV&EKfoo&Zlb{i31ct*tU)Ku3>XhWA)`nsD>(L7jqp*Wp|HXv~>KhC~;44UKb&p>m$ z;C#I6D=$vq=l!L62Loq+PgBQ5!2FTRCPZzAMi0LBc#-c{p#X|FLK=gB9r6!F0s0$H z%`*CbRs?-1NJW6gAC5Uk96isb(>EM@0+u#*FTHbgbA<dU68U&Wo$iam57iKe`mRkP z5kGR`FA-mpawor1L~8_|ZEmr>J5;7EzLcuiF99E{1BR4@v^O8=?5_fuFZ$Z#FtqUb z*(z+FTkW8mZEHlWIKtM5FH$VR9gaQcO|yT-#w!#a!>855Bmi^i`iTs5hIICUNy)tN zIm=2;B`|O_Qr`i-oMVv-ihSdGi_R4E=Y#Dn1!KQs*=E*`@9G$R+`8yTHPFcp5LE60 z+g+sj+eeH~IqBYe^!-^4M+h&1^3th;PkkxVUN1Dx+3o|>>IU6~^A*PJq^FAfla{P0 zQuqoMGzQk5x^(YMd{@*kjVGmk6=}lKc@#Q5xDO2I;guJD!4ec;V)E;ME+m+r*12~2 z0tQL;@)j^%Pb3@@X>$#Z-8<%aKX3TS(SvxyD8aP5*dP?CCH7omso|M8BKj~gqe~Fd zS{Af;?{1)cVaUiWqkkmFr&~4luT3vFep0sW>^i%v!DIAUKBnORES#s^|5G^seLtaN z8Tc^&7yN%9@Did;h1q{{+vm+Yf@1!EOfH~c%Y@c*%qK3J5qq1gPf}L&ZOdOf69GvZ z{-)v3`}L4T_O3BcsYJ!+@5sIZcM3tiDdCW-e+cF+WNQ;HX;fUj>-S5ow6L#ug(!t` zFwZ#W6$c?!<{Y;rJ#Li3LZUZs+m=wHecO+u*w|N289we5$~{EznI^@_aW0_GhoZBI ztD564QO7-9^#Om=qhD+O_GBZ;iS&+KVgaA>@&OMFhYAMSw|MoVclMTVz4!i6FKqjT zlsoGg1<Z8oP#A!T1u7Uc>wln(uKAJ<bj95W0|{Z_T0!ZcZc(1GX~$8)q^CMIXc@I8 z?o%o{UaWa~E^`v`_Vmxmf~F4Q2$v{oCQ}Y^h@#<U6!2$LV&)joF&D^EC=rUW7f6mz z@zktR#+KgO$**#c6K+glY<R9LTfwME!wbjoF3Wn;)VFLZ)z<_*qBOcb32k1H%6QYD z4y%H$9BhdEO}hD0on0zpr<)agf+UL%N7dttJR<JU220><3t(KKFQF6)8x!7Fo2kO; zhze37up(u-$W?~ba#$-OGHLywpod^nyiCtgLQ~_CXdaTg<b%mv#jIcDp%X-}K-|3A z9e2?dIcbkOZrQ>)%YAG|mB10d9M&RTyO)r4eHF6ar@8D0Wbsd-|9U~N6>`YuY20@p z|BiE3@Ab#$z*Q`Iu!3&$Fmc(UQCJam(M92$hyeJGN4JKJ6#ty;qAR?}_9}|;vJ>!` z3aQiTmV>aes>Z30aPr-EwU_+ui*P^wTVB&Qzl2>7o?rXEffs%$jnlEf9dNTfjXUq+ zywUW$lkFl?yzNFM#f^HWoi{2gDywW%+^w#tq`pgaqk)NO`m-DGm7YbC$X+(5aklDb zkzH*UAsfmmD#<DBGKFn-s;aA~$|x$TD=OY)zl3iH{<MRWi_LjE&;R!heHjAxVFxkf t3??piIKpW++eP-yE>5;`?r<_&XZLe1IOftaE!b$0u8!fsto^61{U6i~X4U`z literal 0 HcmV?d00001 diff --git a/doc/develop/trace.rst b/doc/develop/trace.rst index 5c7802da51..8425d843e9 100644 --- a/doc/develop/trace.rst +++ b/doc/develop/trace.rst @@ -15,12 +15,16 @@ Overview The trace feature uses GCC's instrument-functions feature to trace all function entry/exit points. These are then recorded in a memory buffer. The memory buffer can be saved to the host over a network link using -tftpput or by writing to an attached memory device such as MMC. +tftpput or by writing to an attached storage device such as MMC. On the host, the file is first converted with a tool called 'proftool', which extracts useful information from it. The resulting trace output resembles that emitted by Linux's ftrace feature, so can be visually -displayed by pytimechart. +displayed by kernelshark (see kernelshark_) and used with +'trace-cmd report' (see trace_cmd_). + +It is also possible to produce a flame graph for use with flamegraph.pl +(see flamegraph_pl_). Quick-start using Sandbox @@ -30,7 +34,7 @@ Sandbox is a build of U-Boot that can run under Linux so it is a convenient way of trying out tracing before you use it on your actual board. To do this, follow these steps: -Add the following to config/sandbox_defconfig +Add the following to `config/sandbox_defconfig`: .. code-block:: c @@ -75,7 +79,7 @@ a trace: 16 maximum observed call depth 15 call depth limit 1,275,767 calls not traced due to depth - =>trace calls 0 e00000 + =>trace calls 1000000 e00000 Call list dumped to 00000000, size 0xae0a40 =>print baudrate=115200 @@ -87,7 +91,7 @@ a trace: stdout=serial Environment size: 117/8188 bytes - =>host save host 0 trace 0 ${profoffset} + =>host save hostfs - 1000000 trace ${profoffset} 11405888 bytes written in 10 ms (1.1 GiB/s) =>reset @@ -96,18 +100,107 @@ Then run proftool to convert the trace information to ftrace format .. code-block:: console - $ ./sandbox/tools/proftool -m sandbox/System.map -p trace dump-ftrace >trace.txt + $ ./sandbox/tools/proftool -m sandbox/System.map -t trace dump-ftrace >trace.dat -Finally run pytimechart to display it +Finally run kernelshark to display it (note it only works with `.dat` files!): .. code-block:: console - $ pytimechart trace.txt + $ kernelshark trace.dat -Using this tool you can zoom and pan across the trace, with the function -calls on the left and little marks representing the start and end of each +Using this tool you can view the trace records and see the timestamp for each function. +.. image:: pics/kernelshark.png + :width: 800 + :alt: Kernelshark showing function-trace records + + +To see the records on the console, use trace-cmd: + +.. code-block:: console + + $ trace-cmd report trace.dat | less + cpus=1 + u-boot-1 [000] 3.116364: function: initf_malloc + u-boot-1 [000] 3.116375: function: initf_malloc + u-boot-1 [000] 3.116386: function: initf_bootstage + u-boot-1 [000] 3.116396: function: bootstage_init + u-boot-1 [000] 3.116408: function: malloc + u-boot-1 [000] 3.116418: function: malloc_simple + u-boot-1 [000] 3.116429: function: alloc_simple + u-boot-1 [000] 3.116441: function: alloc_simple + u-boot-1 [000] 3.116449: function: malloc_simple + u-boot-1 [000] 3.116457: function: malloc + +Note that `pytimechart` is obsolete so cannot be used anymore. + +There is a -f option available to select a function graph: + +.. code-block:: console + + $ ./sandbox/tools/proftool -m sandbox/System.map -t trace -f funcgraph dump-ftrace >trace.dat + +Again, you can use kernelshark or trace-cmd to look at the output. In this case +you will see the time taken by each function shown against its exit record. + +.. image:: pics/kernelshark_fg.png + :width: 800 + :alt: Kernelshark showing function-graph records + +.. code-block:: console + + $ trace-cmd report trace.dat | less + cpus=1 + u-boot-1 [000] 3.116364: funcgraph_entry: 0.011 us | initf_malloc(); + u-boot-1 [000] 3.116386: funcgraph_entry: | initf_bootstage() { + u-boot-1 [000] 3.116396: funcgraph_entry: | bootstage_init() { + u-boot-1 [000] 3.116408: funcgraph_entry: | malloc() { + u-boot-1 [000] 3.116418: funcgraph_entry: | malloc_simple() { + u-boot-1 [000] 3.116429: funcgraph_entry: 0.012 us | alloc_simple(); + u-boot-1 [000] 3.116449: funcgraph_exit: 0.031 us | } + u-boot-1 [000] 3.116457: funcgraph_exit: 0.049 us | } + u-boot-1 [000] 3.116466: funcgraph_entry: 0.063 us | memset(); + u-boot-1 [000] 3.116539: funcgraph_exit: 0.143 us | } + +Flame graph +----------- + +Some simple flame graph options are available as well, using the dump-flamegraph +command: + +.. code-block:: console + + $ ./sandbox/tools/proftool -m sandbox/System.map -t trace dump-flamegraph >trace.fg + $ flamegraph.pl trace.fg >trace.svg + +You can load the .svg file into a viewer. If you use Chrome (and some other +programs) you can click around and zoom in and out. + +.. image:: pics/flamegraph.png + :width: 800 + :alt: Chrome showing the flamegraph.pl output + +.. image:: pics/flamegraph_zoom.png + :width: 800 + :alt: Chrome showing zooming into the flamegraph.pl output + + +A timing variant is also available, which gives an idea of how much time is +spend in each call stack: + +.. code-block:: console + + $ ./sandbox/tools/proftool -m sandbox/System.map -t trace dump-flamegraph -f timing >trace.fg + $ flamegraph.pl trace.fg >trace.svg + +Note that trace collection does slow down execution so the timings will be +inflated. They should be used to guide optimisation. For accurate boot timings, +use bootstage. + +.. image:: pics/flamegraph_timing.png + :width: 800 + :alt: Chrome showing flamegraph.pl output with timing CONFIG Options -------------- @@ -138,6 +231,11 @@ CONFIG_TRACE_EARLY_SIZE CONFIG_TRACE_EARLY_ADDR Address of early trace buffer +CONFIG_TRACE_CALL_DEPTH_LIMIT + Sets the limit on trace call-depth. For a broad view, 10 is typically + sufficient. Setting this too large creates enormous traces and distorts + the overall timing considerable. + Building U-Boot with Tracing Enabled ------------------------------------ @@ -148,6 +246,26 @@ instrumenting from the command line instead of having to change board config files. +Board requirements +------------------ + +Trace data collection relies on a microsecond timer, accessed through +`timer_get_us()`. So the first thing you should do is make sure that +this produces sensible results for your board. Suitable sources for +this timer include high resolution timers, PWMs or profile timers if +available. Most modern SOCs have a suitable timer for this. + +See `add_ftrace()` for where `timer_get_us()` is called. The `notrace` +attribute must be used on each function called by `timer_get_us()` since +recursive calls to `add_ftrace()` will cause a fault:: + + trace: recursion detected, disabling + +You cannot use driver model to obtain the microsecond timer, since tracing +may be enabled before driver model is set up. Instead, provide a low-level +function which accesses the timer, setting it up if needed. + + Collecting Trace Data --------------------- @@ -155,21 +273,22 @@ When you run U-Boot on your board it will collect trace data up to the limit of the trace buffer size you have specified. Once that is exhausted no more data will be collected. -Collecting trace data has an affect on execution time/performance. You +Collecting trace data affects execution time and performance. You will notice this particularly with trivial functions - the overhead of recording their execution may even exceed their normal execution time. In practice this doesn't matter much so long as you are aware of the effect. Once you have done your optimizations, turn off tracing before -doing end-to-end timing. +doing end-to-end timing using bootstage. The best time to start tracing is right at the beginning of U-Boot. The best time to stop tracing is right at the end. In practice it is hard to achieve these ideals. -This implementation enables tracing early in board_init_f(). This means +This implementation enables tracing early in `board_init_r()`, or +`board_init_f()` when `TRACE_EARLY` is enabled. This means that it captures most of the board init process, missing only the early architecture-specific init. However, it also misses the entire -SPL stage if there is one. +SPL stage if there is one. At present tracing is not supported in SPL. U-Boot typically ends with a 'bootm' command which loads and runs an OS. There is useful trace data in the execution of that bootm @@ -179,39 +298,11 @@ the OS. In practical terms, U-Boot runs the 'fakegocmd' environment variable at this point. This variable should have a short script which collects the trace data and writes it somewhere. -Trace data collection relies on a microsecond timer, accessed through -timer_get_us(). So the first think you should do is make sure that -this produces sensible results for your board. Suitable sources for -this timer include high resolution timers, PWMs or profile timers if -available. Most modern SOCs have a suitable timer for this. Make sure -that you mark this timer (and anything it calls) with -notrace so that the trace library can -use it without causing an infinite loop. - - -Commands --------- - -The trace command has variable sub-commands: - -stats - Display tracing statistics - -pause - Pause tracing - -resume - Resume tracing - -funclist [<addr> <size>] - Dump a list of functions into the buffer - -calls [<addr> <size>] - Dump function call trace into buffer +Controlling the trace +--------------------- -If the address and size are not given, these are obtained from environment -variables (see below). In any case the environment variables are updated -after the command runs. +U-Boot provides a command-line interface to the trace system for controlling +tracing and accessing the trace data. See :doc:`../usage/cmd/trace`. Environment Variables @@ -264,39 +355,94 @@ a trace log to address 10000000 and sends it to a host machine using TFTP. After this, U-Boot will boot the OS normally, albeit a little later. +For a filesystem you may do something like:: + + trace calls 10000000 1000000; + save mmc 1:1 10000000 /trace ${profoffset} + +The trace buffer format is internal to the trace system. It consists of a +header, a call count for each function site, followed by a list of trace +records, once for each function call. + -Converting Trace Output Data ----------------------------- +Converting Trace Output Data (proftool) +--------------------------------------- The trace output data is kept in a binary format which is not documented -here. To convert it into something useful, you can use proftool. +here. See the `trace.h` header file if you are interested. To convert it into +something useful, you can use proftool. This tool must be given the U-Boot map file and the trace data received -from running that U-Boot. It produces a text output file. +from running that U-Boot. It produces a binary output file. + +It is also possible to provide a configuration file to indicate which functions +should be included or dropped during conversion. This file consists of lines +like:: + + include-func <regex> + exclude-func <regex> -Options +where <regex> is a regular expression matched against function names. It +allows some functions to be dropped from the trace when producing ftrace +records. + +Options: + +-c <config_file> + Specify the optional configuration file, to control which functions are + included in the output. + +-f <format> + Specifies the format to use (see below) -m <map_file> - Specify U-Boot map file + Specify U-Boot map file (`System.map`) + +-o <output file> + Specify the output filename --p <trace_file> - Specify profile/trace file +-t <trace_file> + Specify trace file, the data saved from U-Boot + +-v <0-4> + Specify the verbosity, where 0 is the minimum and 4 is for debugging. Commands: -dump-ftrace - Write a text dump of the file in Linux ftrace format to stdout +dump-ftrace: + Write a binary dump of the file in Linux ftrace format. Two options are + available: + + function + write function-call records (caller/callee) + + funcgraph + write function entry/exit records (graph) + + This format can be used with kernelshark_ and trace_cmd_. + +dump-flamegraph + Write a list of stack records useful for producing a flame graph. Two + options are available: + calls + create a flamegraph of stack frames + + timing + create a flamegraph of microseconds for each stack frame + + This format can be used with flamegraph_pl_. Viewing the Trace Data ---------------------- -You can use pytimechart for this (sudo apt-get pytimechart might work on -your Debian-style machine, and use your favourite search engine to obtain -documentation). It expects the file to have a .txt extension. The program -has terse user interface but is very convenient for viewing U-Boot -profile information. +You can use kernelshark_ for a GUI, but note that version 2.0.x was broken. If +you have that version you could try building it from source. +The file must have a .dat extension or it is ignored. The program has terse +user interface but is very convenient for viewing U-Boot profile information. + +Also available is trace_cmd_ which provides a command-line interface. Workflow Suggestions -------------------- @@ -329,7 +475,9 @@ There are a few parameters in the code that you may want to consider. There is a function call depth limit (set to 15 by default). When the stack depth goes above this then no tracing information is recorded. The maximum depth reached is recorded and displayed by the 'trace stats' -command. +command. While it might be tempting to set the depth limit quite high, this +can dramatically increase the size of the trace output as well as the execution +time. Future Work @@ -346,5 +494,10 @@ Some other features that might be useful: - Compression of trace information -Simon Glass <sjg@chromium.org> -April 2013 +.. sectionauthor:: Simon Glass <sjg@chromium.org> +.. April 2013 +.. Updated January 2023 + +.. _kernelshark: https://kernelshark.org/ +.. _trace_cmd: https://www.trace-cmd.org/ +.. _flamegraph_pl: https://github.com/brendangregg/FlameGraph/blob/master/flamegraph.pl diff --git a/doc/usage/cmd/trace.rst b/doc/usage/cmd/trace.rst new file mode 100644 index 0000000000..3bdf4f0a86 --- /dev/null +++ b/doc/usage/cmd/trace.rst @@ -0,0 +1,163 @@ +.. SPDX-License-Identifier: GPL-2.0+: + +trace command +============= + +Synopis +------- + +:: + + trace stats + trace pause + trace resume + trace funclist [<addr> <size>] + trace calls [<addr> <size>] + +Description +----------- + +The *trace* command is used to control the U-Boot tracing system. It allows +tracing to be paused and resumed, shows statistics for traces and provides a +way to dump out the trace information. + + +trace stats +~~~~~~~~~~~ + +This display tracing statistics, as follows: + +function sites + Functions are binned as a way of reducing the amount of space needed to + hold all the function information. This is controlled by FUNC_SITE_SIZE in + the trace.h header file. The usual value is 4, which provides the finest + granularity (assuming a minimum instruction size of 4 bytes) which means + that every function can be resolved individually. + +function calls + Total number of function calls, including those which were not traced due + to buffer space. This count does not include functions which exceeded the + depth limit. + +untracked function calls + Total number of function calls which did not appear in the U-Boot image. + This can happen if a function is called outside the normal code area. + +traced function calls + Total number of function calls which were actually traced, i.e. are included + in the recorded trace data. + +dropped due to overflow + If the trace buffer was exhausted then this shows the number of records that + were dropped. Try reducing the depth limit or expanding the buffer size. + +maximum observed call depth + Maximum observed call depth while tracing. + +calls not traced due to depth + Counts the number of function calls that were not recorded because they + exceeded the maximum call depth. + +max function calls + Maximum number of function calls which can be recorded in the trace buffer, + given its size. Once `function calls` hits this value, recording stops. + +trace buffer + Address of trace buffer + +call records + Address of first trace record. This is near the start of the trace buffer, + after the function-call counts. + + +trace pause +~~~~~~~~~~~ + +Pauses tracing, so that no more data is added to the trace buffer. + + +trace resume +~~~~~~~~~~~~ + +Resumes tracing, so that new function calls are added to the trace buffer if +there is sufficient space. + + +trace funclist [<addr> <size>] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Dumps a list of functions into the provided buffer. The file uses a format +specific to U-Boot: a header, following by the function offset and call count. + +If the address and size are not given, these are obtained from +:ref:`develop/trace:environment variables`. In any case the environment +variables are updated after the command runs. + +The resulting data should be written out to the host, e.g. using Ethernet or +a filesystem. There are no tools provided to read this sdata. + + +trace calls [<addr> <size>] +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Dumps a list of function calls into the provided buffer. The file uses a format +specific to U-Boot: a header, following by the list of calls. The proftool +tool can be used to convert this information ready for further analysis. + + +Example +------- + +:: + + => trace stats + 269,252 function sites + 38,025,059 function calls + 3 untracked function calls + 7,382,690 traced function calls + 17 maximum observed call depth + 15 call depth limit + 68,667,432 calls not traced due to depth + 22,190,112 max function calls + + trace buffer 6c000000 call records 6c20de78 + => trace resume + => trace pause + +This shows that resuming the trace causes the buffer to overflow:: + + => trace stats + 269,252 function sites + 49,573,694 function calls + 3 untracked function calls + 22,190,112 traced function calls (8289848 dropped due to overflow) + 17 maximum observed call depth + 15 call depth limit + 68,667,432 calls not traced due to depth + 22,190,112 max function calls + + trace buffer 6c000000 call records 6c20de78 + => trace funcs 30000000 0x100000 + Function trace dumped to 30000000, size 0x1e70 + +This shows collecting and writing out the result trace data: + +:: + => trace calls 20000000 0x10000000 + Call list dumped to 20000000, size 0xfdf21a0 + => save mmc 1:1 20000000 /trace ${profoffset} + File System is consistent + file found, deleting + update journal finished + File System is consistent + update journal finished + 266281376 bytes written in 18584 ms (13.7 MiB/s) + +From here you can use proftool to convert it: + +.. code-block:: bash + + tools/proftool -m System.map -t trace -o asc.fg dump-ftrace + + +.. _`ACPI specification`: https://uefi.org/sites/default/files/resources/ACPI_6_3_final_Jan30.pdf diff --git a/doc/usage/index.rst b/doc/usage/index.rst index 13e6939b38..cde7dcb14a 100644 --- a/doc/usage/index.rst +++ b/doc/usage/index.rst @@ -84,6 +84,7 @@ Shell commands cmd/sm cmd/temperature cmd/tftpput + cmd/trace cmd/true cmd/ums cmd/ut -- 2.39.5