From f0efe8331565d271894eaf3dd723f24ba3bf5387 Mon Sep 17 00:00:00 2001 From: fbusato Date: Wed, 24 Jan 2024 10:04:42 -0800 Subject: [PATCH] Update 22.Optimization_III.pdf Fixes #48 --- 22.Optimization_III.pdf | Bin 2691912 -> 2692090 bytes README.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/22.Optimization_III.pdf b/22.Optimization_III.pdf index b58a75e005200bf785912743598083c935f76229..08d882299873612538b3a80b0c5b0a0043f6bff2 100644 GIT binary patch delta 31040 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 Up~7dTLE{tPMq^-*RhL8iKL(-DT>t<8 delta 30869 zcmZtsWl$W?8~zK!!s71k?(Xhx!5xBz;I4~9a9`ZrVSyz$!GgO72(Ae(fdEhC`}?0d zPn~n#OilMa-P7GQ)pOlff1az#VZT?F!(!2E$tkdNbMT|k&n=Ctp>Ts?hY0Whe1c#r zW+c`YZ3ryyMgxkoIO!!<%P?Y$(S8|&;3nIrx1oM?3z2@9o4>D1D7G#(o?afdR?h$K zT&+K$aD&~*k?|lZfJitvZb2b%O9m4zfLkbi7oP>(6pVljnrabWI=|jrwKbw^Bh1>y ziqTrA(8+U=o%=nz)3PN11USH<;Oo|2cu{oNAH9qs+cP!H4dh5U578;ZEOQ2YUj8dK z{$&2*hd3Bonf^J`{bzBTjj=M8F|Qn=9_-@9=h-2lC$b=ka!f*VAZmm_^_&X(ibg}N zxu$)_6&<%e=u0tol2c}oF@H=gMUXLPVV{qgEz)irY8h58Gow{&C+OVYuH1jC!dJ3w z3uH024!&$drMb;r6Db7Xh$aB3(Pa;z_@YZtt~N#RxOGNV)P z)Es{lrwmZlZ>Tw8(cmN3$f#d1yOuGylbZS;C33;)>tJ`07jskdBI{eD=ZDCsOBw7| zBcI4|DH7_7OwM~;2MTc3MqVI2v2eOpO_m%)d`ew~*b;j&oVaPJxlF8|HFo~uj~p|U zr&WFhMO!+PEGT(YI_?NsJma<~r?#G+zK=0vgcE;?nw=kKWx!*ApA@%VOkUSJP?yLM zs+^4-uX2 zS8`oPjcT5}Eo=JZ_Z4})BhT8bjF!f4QC-pQpoibTn#Lz3+N))||K>|18~ee{4)bGV z`A>4YC4N_(>L_vdFilqvYUw%_I9a8cZjZP4#n*kX)EH;3A%fj^-+)e&>wdo6cy{64 zM113hLK#|MX6n(&Fv$FcZYvE`I&S^4HEe}(+`{c6>ICiax;B=6Xd@^z;fpVEiW6tU zF;)5gl4 zn+gPdw+464X|g1}oO+GrJ>$Y_U&eG;cvHPY>E-Nl;-e$QZvH<1p+MqC!iKNTt~OMK z+j8i6>}{tcNeM@0KwnH#j+gw4$UqyAT0@krqvkY}VaFg;Nd_U(E)9+T>~(Cb_5|oL4}Q zQxUoglb0LfD$hWff{g|snd*=Xlg*tLXWyzBora<*)-jj^+7&2egqpGu#VKiTiwR*? z3_KK~P1?1xfaqp0c;(AD1wV82=OIY*SG-}L+FDN1hqWO{*v`6WT?-hXPHAINtV{sB z_^EDaDPs$~Qovj~fG=XDoGQOlC>2MSwo{cy-YYvnG%>W1{=zDf-dV;G$67gogq|y= zzO>{cayOB)!!WOGHQncr^#EJLF(Dp=i;rY&RMc(PNk^ePH8S567-YiIF0dWp^;?G( zNgPb|!E9=r;|6pZ^*Kr)MoYRd?C*B$TekR+LO-Kca1+~9el_`|wx)5m3bxG29IUv8 zr5Y+kS#bqd&S-xas~{Ga$sjf1f*u41=**y1 zwBA;Afb)GuQvVL4ii(xqNtQ8eLxk`KBSJlpYUQGA4qM-8Hh>QL!N4Iy7nME;WX>0p zdgk)KiL|X^3v3rNX}tix{9fJk5HQ0FpS)a8melAAZ0a5A2XRLFX-uc(3iAstsnz6Y zf6#)I9`$mCC-qkv+2)F9+P{}ExLP#Ca#kCGcHk02M6bjvj$}(c^Bi{IYDFk<*IssI z56+^>I+s9AUB5w&`E<|AOXpU4pEzDQ9#+37%D*i_BiG!BABg&8d~@o>)TiRTO4J%# zHryk}KDL;83+>H*xnXlWL6Yc{wfic5BQRYP-ISIO7M&`rNNsH>(Gx6>)1R+H8q3_! z8-`N@`6zkM{?hv<>TFmE`55pc(26vwS4EebEl~c>^s6|CMqh2^%QYr>tDwGNRV8xs zIr%N$>W$pVB&{BIcGuFXeFKCqO>kV4I54Mi2D5eANYqfW5_$RWI~^r+w9JRc!!}Ik zsXDKcmRa#)h3YKIJ_prwR|`?~p*kNlpNc|rVkU9l@-Fbw4{te_eGZ7T6e8+&#K^_< z-{?Q)ft=Bxw7F8}OMlXxD#X+U#5DaFjPicQ4S!$t=8K0xhEmYkVQptiU?<0>$JByh zVGzsavDUdyZr|AB?14gJOGJCsq8G!DpxY zpU;6?M?5>Dj|_v^Q2sx*jF|_Heswdy<&VGe2YQ*bZM{kd0h zWVzsiT3dhJMdS?7D0d~fs9|?r$@EJKQYge@K>>X!xJ1|!i)a8I+x9?`Fe?zcEs!g+A`mKSNoV)``!Xk5}2F>1?GH||6*~e zhghFU?hw{cz!}X%wtMnibyraech4hf26mEXT&)!UZL(ce*KF`61{lQ@s3F zy9K6P;qh(!^TS_ft%e4oIm>f-d!KS8O}1M+OYQ1MS?U}gvsH;X7>YY52%YqKL5e|A zpb%hJTc+83wUMjr^J@RQ<%H)(p8g6pb4O>vG)EGT;F9OB8B>HD`^n`~^$;Vj-mizw z=2;`32A3*dZW@EUjgM>xS%A&TJ^+5bn}WFqF(%gxmB72v9bX3%p&z~gk(M*v4MTQL z&G@u}h}C%9tO9&rdexI|^u2>5>Ca-hAnDes_z|4XGj+clzbSVw=9M)jS4wO=pPZF7 zC6iiF#%j+O*i=C&Cu-jVx}NyP3)u|}Mry-ZIa-S#7Ols}KU&W&!)8!*ttr$^7v!77JTrTAo$k`~wQWi-*?f?MVpq9<5dAKad0HEjy)Ft(IzGK~(oi z*Qu#QFElb0jS`&j~D>Seu{3{I}N zczPtocrfx`*cBDLL{qV+iBhr8Vv)SpanD*AmuxkW?%iq0djD>do%67)fNXV__T@6Z z;TGSi)qE!p?x9XKtRQ!zC_sT2QyNWf9rW3jbIhba7ZAn(3MRv*!hA*r&-kDX0?x%!KG6}kl27$Rvns| zg(#}Kw8{NLAQVz9@l_he$e4iKH{x_PNn5#lfIavv%3SKgz#Z8Es zm?9v9n1%QkQAxy}(Sp6jgoi3+5Oqj23owu1kjeNpTGtv7hM|EI1YJNU?O0ABw8 zq&DQ0h#d}=FBKaXB0=T~3*hHTp9kVXzL7h_!3uz{mzZ!NveaSla6AG+>D<(KkWG3q zcsL$G{&a3?TnIZ0HW0ug1ins2z=!B@w!r@@goOd|AY^<`@BkiRFn0kE7s4!T0sL18 z3j^XqiXoz7_h>+|kTsjd8J_J{>9SGq5U$0wg*uZoNP6CLk$te)*-bH{1 zQL>UjgysETZ-owS@Nhg_!s*xAjOaqbD4c4xF7{pyR6N}2MG`EaEn_3sAK$S2>hiA!!s#xX^^zr^ILpj9kE=qS!x|p__^wFJ8y4q zatl2{<}&;6aiVN)2Q<_$=F=PJ4rnX!l{TvAa`@9K*d>bx3ZMw=w zxyvb7@b(>PzJ!``zcLVv5=N^30ck`iEg59w+Mj@SFN7;&3YgYkC$#(}8l7 zI^S<|Wdo*7p0oL*t@!!}UXel$i3|dM*5QTK)j6K!ATe)>#p;vqdzNJ5cb2fdJe(O3 z62RL9DS0hWFF4gf?AC?}z35s5C((NQOepLo=h2OkU20!>S!N$F#TO7vhaNu=4sUSk zCN0J{MZjl-?@~j%&eaN2u!kH#bt@;c37bE^|Fg?Yj*TC_l}y-in9Uf007#66nuJ5L zaP>>+HzMyYplcb0PyshFT2)baKASfnTWcuTy4)L-){hd0td7Ad5)($_CO;V(sAPrB zys-G8YP^7ngX}_qfWSNq1Ume2aA1=bGB!i6%f5z~^|oL19{%O4fL6b^smz%Nf02b+ z-|K^xaaLc=kzR1eRHg9ZYs#b1=8^ZfF6af?{jg<}*DjoHHbxh0lF2SAY;|e^4@c8p z6^IJ@m7cmPXhXKRWm$O_Y^FYYlT{G$>g#Is%-!#_9x*^E$?2Kvo25ymxqf83NmUDn zUQ|wbQ)#@s*mFu%dj8Da&(gZOOfE`z!lm!IIZ{ypG*=sFnVG0ezfP!d!fquA%4sV- zb~nz#uN1y)jz6HgI5TN?x$ojX?^r#hZ4m`Yq~Cq^UiW#F#5-(Czw_3!IP_*L>{NO$ ze9Pz)KF;z65w=w_XIP2Fgi-7KBpGCk+C2zHvf^k*SU-Km+18_EMHmXX{qSJIJ-JcJ zQV^niPNJ6e-Ac@n4tk}3Dg3pfEiDk=SJ`?jMNYVpU7ks?Ps)yqY}^V=7lNi7xlaMQ zCWh06b5b5FTVqxxl1{@Cwo1Uuefb&6fAWJ_iA)-c)4yD;5eWT0D(z|I^L=+2>;Y3+ z?X^ZY^H4#KGlK=xT~CN`-f*$XTlr|2ha&D%WA4XN{OptHZJZeC=!O?|qZlwmKLL08 z6QcdgBTYL+j@1S5WsWwEFSjgclRgeaDvReR{E4uJTrnCvaZ~Ms!h=u=D?)b0%4|ii zlL*r>UXYd$?il{T7Ct*hq4dCmvF-VZNV#pDQu(3$)q*1-VH1G)u@H@-mhf8jit8Nk zJu*xhaLB3Xyi*bxam24RRF+jWfk>KYhQU=$D)BvhO?NAL+KrRxt9)aRh#Udvh7$rx z4H0uTT-?BZeK5Ri`!p$fxwrtc{U=JH{)a_i-~tB8y{>x9eWF3z)C;LGgcJiae{IE& z2oAIU9R=gBd9#(XnuHvQir>Z>0tFd4tYKt`ob9)kf_}f)Ee@~6#q{)~zyOg7Ce_&m z3yC1jepiYT^R37nRoygV8UvupW6mJ+$#9d@gM(tP?w|LFJIKd$lR#vLQ2 zPriiB$ZuKR{B@9#@b50QU5#gVhjw_Iexa@-_K)l$Z|=`;(McIAM!(p}ZG}aPU7cOO z6_C>AZoziL9>4z}OF}0)>fIrovnnwds`=r1iQYpYd-xXGdg`!otfZF=`rPbTh(783 z^XdrW@-!MXVA4%GDQu|k5hQZ-YxDkyBbIR&Vo=>z!hSAXK%<&0ut4m8uqH~5F%N}8 zgOGz7Ciapv>*P1oAUNWa{TwA<4UD!37X9B!9d1YJ*1bpqzhjK6hb;Fo8N?gh98xa% zcduG29fh(*G*FTkeq`1G@n(3vU3p6hNU$38)Y?1h&BXKc*H)r?S4lqR&}*KQvXF)> zavW)98H-Q=dS|fmw`(jR4u`weg3I24sFZs^GOul7D$aDh#flk(Q=MAfVO?QkWe-Br z)~WOJT63F2K1~;{TK^jrw5sYk8Mgqi^vElA4aJ5zI~I!B+tD|cdpyJI|~6Ua2a!6Vxo3A5t*U0?4GAs}?CLE$WGYm*hZUCB_ETw8>Hq?CnIa@BUm zUOo`gbs(Q9lhUKy1gRY9dpw%Y%G?gWJm-2@kkE|9$RB9S*u=n9bkF9Ra*vI@Q-)Ld z@QfrYL&xveV0HwZW@KrzV7oMb_4vxNsTW=osT}h31oFI*$a_PnJxWz<*onV9)K*-4 zTStCo6&*u2+!Qh-{$UH{);Pm%jmts|9iDHS{kU*EDaGSra(pUm!P;(H;1)VM^zNEj zvAj}48!W+}G1?#Mw#*qLv3q9nLZ{Tf(~n3cnkI>rB_Sj$6^n%^?kn_qwJ)WJafg#D z5qTl657Kd0-eJPvX51DS&$;!J-Ok)FR^*Hox=R=N+dQWf|Hx5b!PiIv) z7CUN>)IC7uX?O*{fhjMYvGOHwnATMHEd+ItdIU(f}vX`gRhy>if6N-F?R*#>9}r z=Abe@5sbZeI0A{F@pNh{TmY{S1l!pR9+vN)e8Pi7xF-VBzpLRv=zI+U>2C_?U>6)@ zhV&+XSpYvD!BFyAy}yO5P*E_U&a3w75c9=^eGPR&nAFZ@W1y%5$)kw;Nf@$g#LR9JYWJ8 z1pj11LWScMn}g(U6cBpaUkrMnJl=J3chR92g9nj_HdJ#kT}b0pNIr zdD5jh@c>-H=_L}(AmeeDO(m?}Th?c#nb3x9LU_+?c3810x-Ma1E`md>R3?+se4DwFfvMIEM7V6)YFyoZUfum6+{i)O zm}|8REtTeb+ryplFI!`{*%tlYWF`;l8FAutL!u;?%1!NA>yhQf@a>0r0Vfbz*`SkQ zl+I^*!*jO;Cc~J8Sof%!W(Oge)$1b2sTue9vGPP_Qp^|IYcW>BeWP!VXbpUYc6u`V z-+E^zxSnR^weFzlC#^(VsZdBC}saL?DNzH0Vv6-DKg zvG49+nt}{gvtNCpYu_k0DKit!&@RD61bW)+tctv1$kh_ZVL+j`6wYripUFh} zGk6tA`+mE{1?cV)DmX%PRl-DxNeDh$k@eV-?SY7i5V_a1x+aCPzroYIj}sxLDAEUv z&hsV}y5A*~*^_Zbxwk2V6=0>TP%u}Zd01_ag?=0ht&>1#+p_9!;f+luJZs9i;LU0z zp7c5cB}4|*^L|(ieswZjy4VoVErDP}E zw1QY%T9pgDGs;qYrf%n3$!rH9VO5P)64_9%aSa&DNoQ3LnG(OggM(tyoxF0Sc>22i zMWB#B$`=aPw)cj|>%ic@kK1FHBS$-nA8*gUTHnsW*T`<$fG-g0e(ZIDk5u~}`^q2b zdpZ5}Klk-KkN@Ptj6%kg^r@rI7Te+SM+YS(2rx(z(cRxSHW@a|rCf2ye3i%P4taG0 z^zBS~C1QtDB{neZzF^979{`vmOrw{SaX!GY7rBv(n3Z%X<2e3(^w(N3=(Cj_;DY{q7Ncfhp@hvReHr|==-jmBc4|!H zom~3bdoov^D%lkY=~n(LwuN!-=KWJVU7O|i&ibWrW%5_S&s1WQPA zVI&z7Senf}Ia1hhq?J4>eyw$7@O zi~{GTyjA#|PoTwSMz|PinVb289&TllVA9{m6Do&X@44}rxq^gn(W+zkcljsNZW)1S zp;)CMD#Pi~60$9H@VeI;W>4Wb)gsLjI6ag7d$BSxn{&fM1;p;xPYq}^}EqEui>L|JgZOn~w5=fLO zC<>ucHJ_sqRw}1I#BGk|HbR0%Ux*8|eZR+mW}mc1^cS4NLPx7M!X6A38-I5qy~gx@ zE1Ydc=z4vU@Mc|qng9K8$d}|ZH?ZA>k%zg%sg}^z2`VPhwCdk9^M%xPu8TWr+=m`l zH(s&X-Bw6)7Hl28nUS!F#o-$74x?u=S?6QzM-nj(3sH|E-zVa_Sm!rS=etd8Xk|fm634p@&8h4tVo#a1jwbB=g zLy^TN1`=}(!?8yEN+H_3^sb+&i22LM({mv#gI&g7lvw>T>(#tkeRQbEJ2~07PJT4G z>goDUGVtE!2PWs_=cS$9vA>Gj^k}vM>h?@@;$}$=}w{jtNu_$+)@IaCN#~tfFa~G)XBHtDWsNtW%q1g zGwA*mQyIsy-Bd!_(~WUQ^{KfEwkCFpcpYKJv&%0;TZ~`V@k%t9*txwLy^owQ3iR<^ z45R)@S3Rq$7%Ud{sZ;16+my{if7$WHJ2dn;u*q~%Snchzw+abTKPM704 z%vF}-D%0r>mxap>j{L-a_*Y%dc={u{2YIm{?v@-pHXYrVj@xkga0Uqw0E)FY+|EM_rHc6tZ?t0ja&+35gW?E{(o zZXSjfE;97d^Zzu2i?nO7C6#N{E6FRB;6>kK7n0Z|SOZjao6rAJdhR((rR&?vflg}B%Uc|BB{_NYTbc=jf z*|~@>GurPRO6v|@r}5_73A}bZVWH6=95Nc@<%}WzH%_Rm*zUEHr`l%Gp1|{vl_&7;1tPRzV#?_j6&;BL9U`(+tv+l%^a9gNuFdX;ujz{ zL{O|#o%e01Xqk61!plc=>ec4WQ|0ogIG6)^n;&AZ>@R-crz<|KeVkvqJrUL3gq zib3rLYpTd5#ha8SRhv4^7MQhRF{yDD7oiK=(GM8m6o5+5gHv@oNAOS)E|NPMs}PkK zqrq>NIQ_oAo>zy8=aZ6%7Jc}678tc*KPRD6ExR)5@dRrZm<{3}F>wLTjX3oH5HVm~ z-;Hau=>ZLsb%5(l=g!ROS`ph^ILIdVbDppj^9yKTSOe-}f_6-jE(g4NmcthgW z>!L3ss7Lbkm5xqd#+n|!EX5ER^d-~BfeOA1E1_^aao#&tUXe7uQI;*>hZ(spF7^7m zsi{cd=p&)g)v4n7BIM_y$=<(f|47y48(GCXgmJXO1OXD>m4-Vs!M~C|BUm`W74cOo zmYc2JN7I&r1Gx*ZU@~Tn{;cCgM$3X8YFk`b@;JYK1hZuA90&UwDH4RGmc7(rOr9`r zmh4i|+dY5m=0=w0)b5dN>l!)O90viF+h%^HJAY5N!<5`PkSlb?D+)-HsVmeW)lmiM6b|V%N#H+a*2k z!xG>yS8do8+1@Q3=broDHr8#yK02#)VAZ~Dwb~}!S*FP^|7ux|{V8^eH~=Ys%r7+S`=lS@Nyt)aU@$zw{Uu!dAaR1+?HXrx@n1Dm$O&3x{oZw@F zyALU1&6leKyvS=}_Z5I7i(X{e7_%R0d5Cpnr`^v5t zFTH}Zvv}?><;rkt6;eAj>j^|Vu|<_#?EV?;xP2{g zAQB?F<@i2sN{-YwSS)sYoJHvpEV{)nB9YD7O9oQs6QT)W#O%1{KP!Cf=GrZ5e2N9= zpA!niw&j+Ru%~|}W|Fj*%25*`H0v{ej}8r2j5^6#E>BUi&;yZVBjsrDbMuhW8!LVg zkkMuUD5-^J;CZIC6`*;t?0%qmC3&XPrg9^ygOpF;<#=+Vsj1BMN>_bJz%sQb4w8<+ z`Be_DwZOy4zMI9Q6+@J}I@dgMC62!EO=J7h^MUr2qb2NWVD=`9F6PM=%UIA-Zgf1r z%Z2+wDteg8NDH*o9sSD+cL5%SD@Q)c(h3IE02w1hdJDcuNf`zB6uRudXdDpXgY(%w z(MFr4_P2JZf#FBPr7PU{c?FWNC`kpLj&S$VgCn>z;4L9 z-PllR+?1LN?Dw2xuk}6$7G{h8wG$-$ z9X8^mWKrQmvZm+cc1aT0ccs7u3Iw*vgb2wfFzt4V~=x_tf4$10bpBl!9dCmUYMd_EP;WQob;7 zjVY2KzG6RPJ^p~;ReA#WqMNv7SH^2BXGTe^*)zMeJdEfd&NqfW!rALk!`H%4S=P(% zGT9&Ld>!V1Nsa&r(rS{N2DmIM|ERn5SzfHyy`*Ztqn@>ME}60E^nLQSqkyxIz}kG) zZZ$}tyXU7jFTMrryhL&RF0!XFCJM(v;yMNh&nlOFGeD@3^XQOGFvzx!cVMz-;ui&x zxRo5)k&-eK;Xd-8s2fw`Zs-xiy&rXmX~yy$dhnCtdZAG$l<($XixLE>-aF2X)5h(IfI1^IAI&t$@+V1gVF^(35 zK%xAL04?TQ#R2u_%c2i{KRt$}Y26X3h?eg;ZTZcU;yPT0A(VZA-H59Nhtd@$>Po+YC{}JedYInR^QgbAx#_fxxS?50PFox5rtdOY ztS-x4@T)~+PHTA>&sg$Lj4R{Uw>Uplgb|E*m|NUzv)HmLKmu6WmK45I+2GtdzEYJ& zv8N3e*uIC>znW*Y`X|8A2Z^aAsGf6kka3K@k}SzkE|s2v?iIt0F16}!tH;Pe8KNt% zThB~cHAonSodL77`UOg7exX^qX<}#aU#kQSEtXxK5MDrkg58ZYL|sm=@L$jaE`X!( zavZO$L_($B*U7NyG+-s|c52mtjf_2>=!Rym{4XX~P6q3mgCl0Ej@$e$cf%!4%9~gS^fC)YyZ(^H2#`}Ron>_op*pa!cSRb_O~KG=p)t# z?2$epr|V+d8;M*_2FhC3rQeI1k}x)KB*LjEVT%NGKaA?yydOa6kB^>5pX`2B8c((Q z8w;+MW~*@#bB6S>%J@G-C^J7#7X-?#NBlOWLOLs^$aDPdO0ZRsg3+9q3c4c^PZJ{& z|9!$&GkxD*a&dhJ(wux;6@GlkP$GW|9W_kW8z&zjGD)HSBU!?Y(KGnzkVO6D#M)xg z@RY(ZdPYT{eX6pxXo5%4COXsI?EQ`D8PnuMGAPSxqPD$(Km;Tj&b@RLKcsH^{+`e> zgXWEASIwSXBJsiQ#M|zq48$etI*9g~!z0_oD@z$g9Dr(fB1y}O5#;kJ(F~F>|6(#4 ziRk398PQRWwv!`>2+#<4?2Ig*m;lceaH_# zU`Ch|@u1X$UY?5oWtO9WZh1Z%$7-*e<1KoqRRL}J#|-e7TQ{ey7X`5=PGuVIqH zyKF< zk*6-0)5aTO0TC7A$NMN{$FS4gHrGe1n@^p8N{w+AH!aBEpa9`+?ReJjdNt@OPUCOE z@SARuC#j9y)7?Tcg&F?v%%1tX!1NWe59hSL>_TC0DyIvOy^C`bna6788h# zeCiQm7cwKF7$Mqx&PMEnNUpR(WBz8EB8*byo0RN5V&C4v7Bh`1zGegjHnT?dRELaD z*FSnRL?y@|N`thplVZwD6K7*|zPxNcJ}}sB(ao+IJuK!kFOpxsElet=-@c4ZBWeu3 zK1WxA$CTVni@tSAL|q4;?LF&`ZizkCsDapL9#;1*&NQ}vKRTchMUO;f5g}|Wd65I8 z!+)l zLAeWnF#rIc5I8Ijjt3m9fbc)}{9lNx7)V_CUkDM88ycj5pvVZ|69&7JBjZBXoDuwB z|CRocpinzk1blc{uKzd(XtF0l=D)%}o&qZDhrkc~zpSkAV1!^eSniH61ZD&@Depm>^!}(xbHcDEl=D}oGS+5LtPLF~e0i4Z% zGCd9Gg4#%cUYg9MDcSl2Tijm+Sc;3YeQ@^Sr@gpzxzrfto!NMKHp0+TiOH)OxIgl# z?`jQP@fEofWGIX$R58;?$Y0r(*;g`3e8L-OQg^7T4wMrm=koX#ua{I!do*ZC<56Lw z`#?bRWth#I$`0<8ZYmFNd9Fw?#wI6yVSkLP3e-dCKq6hn+H#b@jke&<0I%zCRIkq@ zca&dNcyhvBomHL4Bos9|&VsPs1s|P{MkG}g_953F_=zw2TA?JOl}XAqrA5$ki22O^ z3zpZ7xcn0dn_ZYLHSLnac=!?@E*^UXiBN;lTsgiM5`#ABWH>+UvY)~fd}+jDu|ioo zBdFEOh8l-bN-h>7f7de>`2+Fvl{{vC3)`7F3I_0Gn>Y$E4bv;XP{Ug&?@FT_JK~_M zn@SHPm(oQ`D;`Av{+!PlPD`g+7s&$HREGVCESX1eOT>c5%1)z^-d8QP$_IpImck-W zkid8p%PTX*EQRXm(&=YpsHO11l;NeIg9NIvxFKaYmhm`UET{k^UKQazqBdrHGISa5 zFR>4CDo;2qDljN#BsDf$|0L+sX@EADyRM$MAeQF2ohe_xDx2CLl_2&$+%dmFq$Y&D zF`CP@O9d7V#}TC=N2)q;gOqapBq!4O-!{T$T$N89^_6=k5!7+|p_WTRl8=BlV~C*yDRs7$cQ`fA{_R$!J^e6&vSOwp*8Vyi#VxvM!Rs zOh}`{a8(gVV&I+Ju;mLY4=T5tWxD(rvKx#1@Ah|5?ld~abN3;nwrPI0nVEdGiQhqA z_kQ+t))F=d!7a1$_*UUC!ODPO9PNdFqU4c&9gT}@`PRK1KLzm@WL3OdE0FlbpUhPz zcsICx8_VyD^c-iD)4tecrY}#w(L-b1UCA^I)L*2a0Y;8H3`V=%$ZrsHAP=#)opvmV zG4=KI9K;9ld~W?@I_tls_8?Ue{Z|T$4Qthgt7n&@Zw|4rXTv=AkGDQ(@RGQXz{x1S zuC5945JZVnaR|$y>qKEm-L5ysXWDnT@*C<>7!r6l4YpguUswM_kZCdSFu zdPSE;6ue3#Nej=kU-l3PY?n1*NIEy#%4cisv9w!0lwYx$*H>#Y@9#P56FF^dw5+2> z+%q!sz8J@4D4bsy{vHhKwnvf3ZtDo3jR6|82ZV*Tg}lh?6fgIOB3+l(+@=H4My4#p zKJHcR)qZUH{pnanv_!yHa_Y;+8z7Pt)E1eaIB$93 z+2s4)uD`XBPSfwnefA6(Dy=_4qU)&YHOE^P!;YuMEJ zqoeRo$n(Dmrw79l&jMIx&ekt-uOx9i<%*Hg4EV9USo`{!a^qV&4{oo;cS!yY1)sxh zN))>Go@=;@f{b}Wx5;Ma6}opF$|Um3UTbT>sKXl9eLIOBobSrUCG6Y|C32Wq;U&|F z$YRxPgfj$qCw7E1-H~!fBUeE!oiXJO6iMZX9pZFpzXuK}WXwY(1JrNI%x90|Za$p7 zUP<#(9X){tnQGLDD#l`0_e3;QkHnvhoQm$x-kpTpL1WMFAO-O?4&ZQh+hUo2A~1^y zH*_lsYGaY?;_$cjt;SC4l5uB{SCi*k#&S`sZ}wDg>?tnOTIADr=EriiZ+*(H@@Rux z<1w;6#~tolE8;XgzWko!u0MI#d#_IqP#&Q4dmSl-FIS_~+B|4umbpe^9N3_kx9E1YEzXt6z)q_}aSFrEJBre}Iio^%FbkmTe<3DJk{ zTYF!j>xVn+{uxvKOdN-r!cMTd%XD~EKVQ_6LOLlWgU}e)dlG) z;2C(8x19ahcD!#)b$OI%;_QBIGjb7d`ePl`0lmOk^{;800+zaybcvBNb?OaADSI zUao9bWH&>+x+|KaV!|ny|F)9m@PN7+9*{Ujy4ZCgPMgUs?tzcH)38hXchLd)L1>JS z8JsTuYcE1~O2&_Dnrl`h)864S8G}h0ysC;%N3NeNI>0c_-Q&FruUmPnX!#Y!z*Y*)bad_pexVRxP^r6((1m{TcVF0rmOxdylzR-p)V8tdVn0Gf9A6 zFTjEZ>zp99x=M2X9mzoPkl>)NV~0s^Vzch2XsBLCgU_3vj@~u7Y)XF&UHbppexSV& zqosGc@5+8tGkS0j|c$kAF)^L#P;b3|Gmsw;JAREBK@<6W$kwby7yij*?2nhTyRe1?U5rO*$BB6s5AJlK4?AmU92c>K3pn@z=+9-#EL83%JoW~yo4uQQwh<6-FfZS60QJk8z z4D!d-9o~$5!?b-Boqcyl*v-yba?SBE$S#*J(MjV*$$ANX8u!J<)fk83r>TPYqqX&2?#4^X@-ZC zuB*}jmZu{ys;NQowmNfrGb}ND9E%#4nhf0rK#~N@GtW~|E(iPi$yp1D$qz?BjkqEk zH;y@`MmUVbl?~--B1Xtfh6kUEo{@hM;OR}n!#-b<9_~m^m9WB}IHEl1g{KR5FNdqG z#UvNh2+tR_E`prtNRNO*4kF#BGcU2c*7JJ$B@xHuMM-QYwse4J4wUDo0LIu|S<;C3 zkQn0)79;TLOq5x{Se~#hWQKW&s;8qA#7(846hvG1$|pXQD}0K zR+L#Twe|W)(ru@ zp@yEsfP{jmi3_hRD>sV~kf2j6J;x95#p8=NUZ{%&^tlmzXe+Ny>KfRF9VP;tuBY1} zGnQ7TW_F`pduI{eoKnwd}`LHs|PZYqtJjJCZL*7RO;ljH7e@56ertGV&w4q?#Lk&DPj?pdr<7^-;}&9dOhu znq6eG5BM{F>G+SI&-!%q{&()pZ@bbNgI#ANv%g(?nCQ z5FC_#%Iy!#c5U}=0dXiK;6$sb?m`Svg=iGhKB0dGB-xgy~mG2-X= zwm(*OKl<~`xmNLgsOzr1A-;37uk~GGAPJ8QNU*u~cDl9mJ zDiC4;wkcTBCI+q$wAI7(;f&p*0v9!G)EHzioVdRt2Sb8<8O z0W|-m*k%&tFU=pFFA{X8wTpQ+rfumXBcS5aLRG4W)w3Pl%(#_=M^ElW8SCDE`y!)7DRsY9xQ|)fX z!k9@3#c(f&=HiZrEQjtEPL?05vFoydN33xeD}okS$*lA*s4I6J%(Z3Nr6`)lcM%|E znUjY-T%bjXsTz&5;JyLU*LM|2{x9_CJl*?j3%tWp_DXb0J)@zq+pewyQWvvJs}RIV zifLVOWAA6z@eYlq*-KazkrXaW4w`djB}}v}m0u@oKanV8HpQg^vzA=Q+g=>%_q`}* z6jS_z{(pshRa9JCv@A3doZzlO8h3Ys26uM|?yily1p3?(P=cT?2$Sa?ZK; zeY}tNIrm<>R*kWK=B`z%#5%REarRnlicm)=l+OoP5l zy3ViuAa@J8s?n&32pe;VXwoDLiPpRqmxPGl$48T>|oRj`~?x{24z&Y*= zxhKoz+;Bfih;i^eo%&JegY9zwXVke)~2ZymBQXGO=F* zUb90;h=9}1=eW1RD<8fYfjVs8_)duPM<)=ngH*m=exsJ+|8+< zZhndPc7<`m7(v9Cu-bBcp(DurFp~GegB|o4oxd$$eA+SHq(+IS56CmY%82s?%(^u0 zWcC$0DR(Q}+e=YE4|WEgO}6{zwh8_ylftJY#LTz29e*x5$IOGTt#vV9a}En>U{)fQ zBtvAno*2kBeq?2g)@{{2*E$qCwNU*G$K78L@Sl}eX z@Sz}<%*uXZ_M&>7*AkRtUvDe3#QU@*`S7mIwNnmu#zn+}=7YGj;`#&rN79Drz_oz} zu>PGS#DRo%;`+k^*#4EF@%nHRV4>Om5wKf_aJ^u_k964VUx5R-= zty5|s!|?F^2gQFxiDC-P1J3^rhXv97^2t^PhKKJzp!K9r3p_A9eE$GpL54;@6=}lo z@cjdX4GE^8;&B47{)aR9jf%tv!1@m(tR@ud?yrA`H2-0{;6g2K2w?q>4$};^nJ|F$ z9}p}^F*=QjDwzBfhzgc>pg{spty7{x=uK&GPylQk5HSZDEo1=Oe{`z6X&R6KZ2z(G z45hJg`FooG?D6nGlj;dz|A!1Vq`-mptM=cU4J-)J5bdlNfc-xz08!w{XYheP5*j#5 ziINzNjr)I_b534faL+rC4sz$)> zx=koN{m?Sm-shMuX~jUoo=yZqf=ftYC!1oaYLoRd?-vOt6aN_BUp=7A;nM8sO0byJ#Okb2&&A z14CDPxtkHrERhBdZ`2xDsD}1%H+4SnL$#otq4!}vv=9bjxTL!xgp%_Jw??LyTZl0q zXSNEJ6_p2G#)NJ;4U{^4^_=>FzCn!@*=ml|>)gbhBuLcJ?W@aj_J^jlb$}duA;1o^ zOCR1-qu+#?gAn(T#(XdWf!Cz{Ly$Kz2jEM8Z&silU{nEC#mhFI;yM)udWXh-*e;L( zJGUNwkT;#rQYEint^3R=xQ8?g>Zs$Beod;YjxuJcuT|iBI|x|^p@!~~@(2KRdCSNT zMLL|!_X7?=`hbw{msl)c-JI{ogmE$AO}%-X7&Wm!d5AR)()Q2;LAW&%6rO&=DtUa{ zFwAnsTxaxoCo(4?ErY`~`!H6K&N8B*1T^HCpT=v-Qp)6K`LUHG>|>f?ravAhRzdZq zcE=+yrTw~cfC8OihT7!AaRf59;JD295^LisqlN&|;iu^drWJ!Z%L@4(dQey~wsDWB zelm=Uu0=M(Y?E6#pxL2ye@U?o@h_WzwmX_Btdu`{;P3cztx&HKNWZtDLbJ&o(O0kq z2bVuq>e=_UYvQUMxMMt&x_s&$u~I0Vz6|3L9DUm?v<>>;RNO9#JKzR=0{E)7DF%<< z`t;ZZ=^x@b1mRYOUJ|NP$6j`vKk5z*unL4I2(66ux9vEj`L71+)wo|@3@HS)bucys zMqkt%p?%mE11N4`N)P0Dt~uhsxX{nLE9*C83UsucF-D-7xx=I=>#QZR`>g_E-@bZ^ z3h+%ztb)Yr(Y>G}%!w1)Hb@y=rI=A3`D#g8yQn>U-eL-rPWN*AIj(ijdg01WY1au7 zeZQK14z`gaAwp}$wfL-~p5Ja#7@;x*IsDuWG;C}$>fe=4Kj6B?Rw z)av^+vHc$U^ykfYcTDoOedfd4+og&CbAPIrfj#36<*_xk#x-pK||nT$xI~exLSoo|pcGeb-|ZIEWSG zy8(J#?6fNo_kQu!oI^zEEzIW`{B}G-P7?B|0cjIWb%WE zRr*JXIr(ia1q_|m;c3UvpAY6xE0|PSMA(tJxRD!Kp!Lf~2S@TkRJ9vt+pE`3v-ewW z)rqhiBe`LjeN68j){iq6>@7d6KdYkiP*sD*i}L0P2c0i#-{mb!O6;Xqaw$W&P>cs^ z-zWSQe4?v$9b&6*{gX7y>%9kRi7aj@mx3*RPV(&N#%6s5z3QA*n@{r#mc7oF1R2io zR19Dx6DL_DM%nGPbQ)c|Z(iJAu5J-_{3*6#^9&sin$<^2DR2Ka7Oox_$>sG#b4m@u z&)KS|kY|X0v*wPml%7n*NgK1vN_P-tD@Xz`&q)dH-Pl_1;+v;8x4inzbqP*QO5H`# z4nRE0c~`fdLxEEjsi@f-FwAX#;NA_N=teNRaMZgjM_=HdlIjzQfRWdCLpmushlEi1 z@ZsKu+<8m*%JalksOuc~zC>R7NFJbM?@UWHyRDMik2t?_`mn@~YX*gH*|<^sq)U5r z`oqU+_T8-dqZZo})W7tkdTrnQLRK!SUg^+yy%$Kaz9+pD@1x=MjP@9=n#bV0Ny#5C z1b7s&+{r8Ne6mEm!QWJjg!Y=KSr@D({M`SNH2528HcF9_jdY(>aPuDCg3=X4ls|Te z0OJNtC`wvqtnxY=DAJ#7EQm5vFfWF$}KFxH?-<(^EuFY^IkJ7r$>4!SA}Si;ziisJzrCxZ-O#5li770?r9_9-Ku z74CX#s|ui+*-4lLc}f)}9UOqrEU%wF4oisE=AT1%)grCowwwft7z5y!Tt1RG>+#M8 zwm{4B?Vzx3(x7DUMgjUhc_)gey%h&8af_`xuR~SrP<`GH*v_m4KEP7bD+iPEaiH3h zM~Ky|R?9BqdZGD!j!^48it0m1W}vW&T7+fbE&rIUcps7gkr5R}L*DItOqG_JC9$pmF?_p|pl9bwoYp~Br zLD=9eRl6)-oSz?se7}$DH$YJD;up|&RN`yXs=g3}RB@AXmKO z9)3uDh+{rA%TvNLy0Rg7C?%cHfi@BYBU@ji=`lF1eplL68TL(-smHkcBRf43{8Nwi znf7R+bDTcSBH4a(ASeB3cWm+Yu5}S5k4ag?pqHW!@S>z?Qnt-RL5mGnn{PDD1L`*k zTUlWW{whPG&392yRG5co7SF2c5fMZq7MtE#Dk*+&Tsep|A46{*@uUY<4D8CVOJEZx zute&v7E+w*8F#&hBLq2c2!A5P_>pe#&l3dHRE=IpGT{ z?4unW(rz34{KV0UvCch=Fg<;Q+M2JtdXjY?V=j4utk)B$N`)%YhQ~Z5jk=2tUyI+;;jR!Z3Wlqot@&t* z7wlm?A|3=3r;z@kRerP==H~mg)F`&?OJ0K{hIFE@O@Ai60VDEQI;$mnO4H;>_&2h7 zy_7l%zxCa8c)lcI2!c(4eDZ@;lCy5mYW%IO4Q*Mn*&btx^hkSCp*n}Fhy3f$n@$vL z4{^Hh2S zT15FK&7i#jY0aja2Ao6}zqA#-Dy=D<(r^v6xAf0AokgOb4zcmQ!V|wR1v~5+C%u&M ze(Sf?osj;Sv+^yN0rC`p{}WieVW=tvRo6`%`aQ>D%!`=+T1J|f56)Eb4}B7j)X!3x zP2Je?}C*-uyp>8>q;)CH5wmp{eT6#u~qOG}_y?}+o6ltSGDf2F2(CH!G z63F?Qtbc!xoG)a@xR~!l9?Fo)qKuB1x#zH0tVz|N(0r9iVT&*cTs*~vh7(&S5Bb-on<H!+|!iTRLr|&;Jt~&emNi^a29v$h2u&gU{E<<`BQK0lE)FGd$ zhgii2td5-aeSqEDD+YT3rY*=XG0k{ceINTvTp(bp)nh=>aHk7f=qQ}MMFvSvuXlvAV^jX z0eu<4&PS;vRetd#%r=6T%*P)zp|PLN)2N5NZK!MIYmzeAw*o9$$Jh;i<14kyJazE- zU7pIaS>3Pk^cm)E!T4^p4?eyu-8w@K(*W6Pt(A zo=vv}tkJaE>HT8awTqupWoyGt0DWNctDfp_riL1+FYx!~>fiErK-9;(6uW({S+RzY zda?+>8Iq#MoTBGF>+P6j7&nAIYfT7ul0RfFW3=tGcrk58LJH_~cf_%G>YK5(c20&S zG-hz@uO;HVEbKclGo4J?pP}ZXL3(tP<^@X{Kh-W`IgUh)3K=&yHD}jyLqmY zk>!OKyV~)JORnA9&~Tcm_2iM+L9frmnFssrK(cM&O!ToBf8Ee%E+OnnG27LLWKu}L z59Ifo(>Z=bcaXa>(Ec?Z79^ba;|Pl?U!zG({RgY!&IJ8#Q!zm;bM9EHCOSeTmemr) z)&0xdQbZ{iU_<=(jReV`b}x>3YY}kk*TaLKbnxe6vV?ECoWkDjUVh4jY|JWe+M^$B z!{U^G^kUM>CKYdBjhIebqg9=R4!I+|U+q0dSkj6-7j_%9kC-r9OJpu@kFlJFMa*tX~fkzVC@+D zvr}57Vd;{BpZKBdQ%_hxco+ApKMZIUBi9%5)~fY}^=k7$@YKD2;REcEvF`>T+wNGK z-VlyDupuR>`FI_zUkh}7--JJnykO+$+qbjR{&{W`IY(A&H{jwdCct@xwA%vO6enbd z=*)V$)9hD)Yu5=LT+5T*wSpg>=T5|v+^fc&FW1OWqu?Jh>FQ154j^@Ps*K^6?}DA& zaqp>lG|#gBLu1dsh0#JBssMRc=%UL*oX$d~kIR&=R(1R_>)lRMOl`@a}q$Xlj*5)8GptPGg%WsdAN7HplCN>3TJ zlh7i@c-v{DQ{lI51=IB6ZYF#E1`=d{V*EJicFBq#|BZje#K#f;oqs2X2yeGnq2 zD@(+~qnl!GR#(quuac)uS-4H%8*I>w(bwnTEy{Tz`e~kM)-uC6^o}^oQI|-Y@Nj zKI~?-!r)hyyY3%tFJ$A4yrBj{IB&e)w)OA$YaR(C7fwvIf0V8Iv4ycLR8cf02)xj? zy~x^(#UnFHxxH?|J?-Ai?OGTJZ9WzjWS#p4iYqKeq8qb zbM17<>P%BrG+BJ<70K^gAI{&Ut*ggXEj9)}aUsdI+h2;|_fxtOTXaZ?(I$bR2i0i7GkC|DFBk; znq-!@j!4e`%Hzei6_z!U)3j)DpctP}&Rhv-ECe?dcY{CjP$90N=S zfLp#%VL=|^fa?D%xf*^0s=$Cxk*TpDz2AXq|0K=*4SR#orvV>ez}+s?Sl}-mKo;;& z8ITbYp9O4yf#&!t{DS2=fE^I5{J)>$%}`^3)5?G>;LIK%6J)LkSoe&j2vO5G@w?Y7N*7>DvK*2KbS1)Vh(NH(_QgaRno0%EzGMASe`A% zC-6>s*^*kNH?_?Cn)xPsFz3hvEn6fy)6hi!l1PaN9cT33HUnibU?YcLn}Jbjf`NYXBjQX{TPbu!_cQN&;_{>v0*M$z!vcVOWw>9MiWH6 z?j;tw!-{=|aL%{xMOhK{D;DDyj-NTU`~=CjBrG~X&Je^Ov1b(doPiV-)Z1y@m4ME{(M`9p-{jh-2`l%a)TzCzy&kpZU^s!&N%BNc{HUxKola17|2u^{I zGBA(WkxD{zI}W;qdL18rwa`Kh9?r45PI64MTcqJEa7gzu5~iyH#_5BKD@v#vd8iqD z4hn62h&Ng?|HZWwCM{<-@{=~w2OfMq_|Xt$MS{6qVt(65(!=Q$QDGKPy?m7>O}Btp#Gp@O~sd*d|sR4Z=$--^MC~ z0kDVMbaRS}DrZTiQy?Nf1iBa2kRhEHUA#T$B?SDwPQvnGJxL&oo>5D<8DIJ(&4M`C*x{+lI$a`a( z7R5exOH{~hTQPIfjy+J*7BP0vMyW%TNdB5U@^p!bP0V&js!IVtUY#sTNVu!bOMq#n z%R`tpSc8bH2ly-OL`91;)Q! zLjlExUaP&i$)x~t!UL>*s`-~k%o~L-cY&m{pMK|%es<3zJE9W;6&~Jw>c|7%MH|j3 z-Gv8~K<<#=LN3LPsvW2rm+K3(l58sR1}bQktVlGg2u zrJG{cOxLmJ?~p%pOt4>;aDsdy=tcb{$nwz0+mV-R`mNzlTNQ)Hk^%;(Tk;UCV+5P~ zTa$_?N(-N_gmXpFK%d2VGf<(OGvY}9Y&l09m|$GMKf4jS1PUwMpp@7v!TQXmeo#(6 zHfW>~#i&|<1$Md#`#=%=-jy{R+&zy{(M7R_E9VwWSrix?nU1)IDu;?#d*L%@=wA`< zzbyrXO_434kceNO&YV8KRrvKwZ5Fnza1JRUbohdtJ)e(_K&6(JD`(H!FN|agVj`0P z9izDitSZ$FHMvSJ$vYO@Iilk9yl4huzHI4}4>>_$_ea*amlSV4cTHYtLP{pTTBhB9 zp*Ac}-&p%`1hWe7)hvW7Iu-K-^;i4 zkpk1`9e*?7!(3{6_pP%YJx9GMx3EbnUA>pU?ZnDUeR(E-y|q|?#eG!tcq?+9pTNz? z#Y9h!3dstDJd@j86I#izz7`=Te>IVn}yVAxRA#&6$x<@d#QQ}JbJ;drP#8LrYQUtv~jMWI2;Ex*yR zbfZn^#mSx6+5p)usX5vnXszjKvSC`<*7@2DYBIKG=sFIk;6_?Q^oS9yS4kEk!07pDFTi2b0+PC;6y-XdRLEvLK(?c_Q#AUpv<7q!?nWMH@yt~+jsjEP% zkkGSRgZKtx#fhS=9o{NaQ{!z&`EGKIhUBt*CL_C`m_wOSwiRS~X7bVjU8x$3W5QwA zI=VdA(c?B6%G6X}=n2V1k5A0VScp#_0^^hMPm&8hU#i z&1dGC6U)WwiHhtx&G-46#;Aod<_grdWyy!{O1^H6f*;sfy@IwnCnNRzS|0Mfx>=t3 zywjYps(;-{G_!2b21i(8Y?i&Re?`kLs01k^T(PA7vMD&PdBnij`~k`QMt`hd@Wynq?v995cc#$sGu2W69pAO2tvKxkI^8W@E z7K-RbRvu29+|uYuWjc2prOojlG@$WyY!I8oVc8ej6WK>x#zn@rREBivO_=nq(Xk0y zS%_N?iF8Ml$4=dV(mow@MX~YluW~z29_7|L&WXkWGYroq7tY7VnMrlo_DW(IO?|P)qg|Jk`Oo!w zu$gTJ$D8B=nRI&&jk)%3(UqK*brb4LP!)7gb_7tDL`(y<{3NH~ zUY`w2eglq%;VArJI1>b_YB*I;wE_estXf)J%ijZ4@ptjfWK(R#$pw+Qr`$re9h=%h zd(*$W3!2(?OfG#j?ca_&OQZtNEIG`@a=+h;(4AWG)tR zS~@K>C+4}wr80^iPTMRd$55Vvb?Ww7%cO zJmhDJ&^NA9X@tls4IjM`kg$dTa3$>d)-F;6{kH{Z{r%o2RpF}utCrWo)4t$~reI1} z@ZK_gvSt$u;H8MbH{z$NE$+0yD{R>!W38v(kD}6nnzYL6d4cy9MZ;(H9u(oQC4odm zMr-cnEK}V*XW9C`gLy4J#MdWL>)hJOSH{wJVh)_<#@zYYwDyRppPmtrDOh@fRvMHg87{ zbe-VI=wc3JJH-OZAen0k%O5p-=cryb*Q4|O3G(-U?9uQWQWaH^vX5BU3Jp&15Gv(o zQCaEa-F`})jDT4=8Yu|egQeUM@ zeBQY~h+1b$>F{MyrC@(wq#WUaRj{{G)*Yj&=G?Yk7HrCAyyp*=w+o>LcaC3*<^qoxhR`HzjpMwb25;xI@J{r6^Of zSR*M5m)cgZm!c^kwB{P&+K4W0UhDsjLg8cOf(X9=zr!G~avS*lb*U|NiKN=_oi7@qFw!)jDJ2cawDCCB|e$ z!JeqJ#=P78{**@}ZcH8(vPw4%+VXDGPiL5<$Bi|ZAadCh3_!8A{MCc1V}6x>pZ(B%t1fAjp88wFn%B+M)$gbMJKlER>)%h8Z>76)Z+%PcWPs$+ zo0nmu%Mx?61< z=jYK+9O3Bva$x8|R-f7FDj2J~0@1TTUZ0~xfxw|WHlUj*VF-=FF?({n(bAFb7xwUm zrI}WQ(r-J|))TCTH`IG&QCHMkWleI~lsB5>Eew3)p{-JDd=eTWbq|DXPMlKb4Et!H zX{AB8Qz%jbj&jQ!sm0g&Qz!x*wNYn|;;?^Ez0K{Dd=D(lvz7OgTKK_ov$5A&-2zJ# zCh`C(4}>^6m=P_^j1~9FCM;86S#U$i2hDu9?cwLeB;#+31?;ozs`b=;btk39$v0rwDU~ThZnjvjf|9O0c8o@Lg*EcV z0{IuRl*Iye>wFs~!pwt{*=wX1%TiQbWy=ZV6B&U#=#xDhwX$Tb_B=&vkRF{%Zni?q zqa|%7u2|MAJb8kGFAkJmlcO~Tx7}9sXL>~x2D0!l1;a?6hgI_M)mlO>Ol?gujqKs` z*iRa?C8_NeT&bmkK*c2X78sgw+WWs!Mk{LhR&PngrVP1R)P>^DX#!n_)|ugQ zY#{!KXKS`*`lt!C4Vl#vkfP&Ihzfu=@JrhD31w= z&}M3FiukUyCygeHk1_l*$I|3A6^?t z_6UnphZ$3z+ILEcE?+BVUI>@nh^k5GZS(kPT{p0tRC01tM1`dGvjY5q!svHaSC<9M&cl#69N*T1W-DkzRkd`S|Ew0ZoW1TJ ztN1%*E=k2)PrY|$hxf4zmF^x!D7E$J+259_StHd5s7sn$*IO9sJjr$6;r!_m@)IQa z<0Hs4nS8x)eK~hHl$qIgdTB(u#pmz+vLhrrYvg@-X9@B>6)4xTJ*p6^oY#@9tgV-7 zbg{H({9>s9vYE)%nAhdEh2Ij61Jr*T;u|nFlbKJBqc9+|N0IeyVk^2xjuV4o;f5#h zYhsK16%!|xv~7pd8fplxIl>H%Q@{%RTUnV+Q`f|afyuey4aA$+jxeL+#PD3W;SH=l zc^--TUo;$vo10CC6~rlwh1jFCCNAT<<=dG}hk>Hw#K1>(D6Rc*uX%Fo!|1INW?U?- z5`Q6*R^W<*0;SDfX@ZDsIT0Vp44|8x0RO{G|lKKbpn)Pq?~td zZQYX7RLTSfFrCwV7bsS)>d2bKJxZ}t;fv}YhUMa&fwK%>OY$Cxbv?QgcgwKojLgG7 z%;Lv;= zJ{jWzK>*q9oyn^HbcT-O9Zl^_Cpd$MX%wny&3sf0+(7XLR4YDl^e3yA8F)m?Aj$^l z2IyWYpj4*RDJ>&(F`{J)ph38I#Tac>ydfmi!kAfCXcfBG+gMmvWHq4IMLCE&swtrc zv&fW5H@pd4gQQ-_B)#^z8EQVSQtXtv0uFfwv^wK~#SDm%nk@{v;6Q8h}iEwz!5#x(-evo*@8{jvzFC%zmQlSbozU{+ z`&vYEU4`>rdshyAb``~_=9|D38o_=IdCo&(q>^(Ew<#W9*qohuIy2##5^o8W1NBh4 z#teQpKuJwx`k-!=27l5%zCOD&pKycB6*3&3VU!juZo@F1X3P5{;JeYXgeL9+Lqp*H zK?djtGeZxdC`njl;0dBYw~Z^4>=aSTT{n|qQC8znCr_| zVllDMK61;d_wrd*cdtn4xd?nXLi2W_on@!~^((D;0)_}Pw?(J1CaiTfAVe zsF7Uf2FwE?k1v&!+vx(=(qY1B1H~uf**aQORH&U~L*)u8jSHW1TMA&|qgs2oZ>Qds2sa}=u0$EE&*23o zK(AsJY%-y)l*AY&DOP00zhZnQ-o?ScO;V1ax-nF8pN%@pU>~Bcq(XTp{XU|mzq_^7 zMYL2m*`(1Be&D4{`ZPG+rCk!B#wZCdxIO;f!!2Fjtvcl{PzCBu<;{fceAe>$o(-oR zUFRxV`@F;qR6){Cud_HX0vWFAvnI%CKr3jhV*hYO`kwh7!|wj|+n8q30;%HTg1D~5 zABKe!Rn!J-ob>m#+gaQY-P^uLI(-D(nc{)yq{_)?O@Fv-oIAgeB?K;p&UBlNJ!it8y;08{AigS{sV2_%?q?oQMyG-g#!N$c9G`U5Pj0tWH z$+(Bk&6`%SJv0%c_ZD4PrWc%jxBHmAG3~O=z|fX5n8X-w8QG`esh=n1Xy4LWS+1Fk zxMpWga`Yj@U(@eK8VNmEnAK{3;!;)s7QUk0Ilh+|zYcVhIfo=&@w%C(TWE}eqW266 z0G=bHHAGuyssp+R6s9t?G|S2P7BgGIYG6C z%ll~Dn+N-p`g}Wc)(|b!r`x2hO^jkVrYwI@qV2U-jq52sncB7VagTiEL#; zQY2mwtb*pPLmOv2um?%b@i!z|k);wVMM>__p1MdgggdW3rt@PsvfJWt!Ld(v!(FA5 zK^~SA-gJv8*0eRC4^9vI0BJcFUYq_1-izr7nis@qyi0foAPL|^YGz)xJnjS?b-pmY zZHSb)ch73QS1pRkbv5f$3d?Oh73sdEcDn0TLYJ>`YE_Dr`yQz@x@bP`Cj8(szsKP) zI!ass{jSjM(*$X$$+4QEJ_=PVmT|RTwdzJNCF5(HMq0RVl)90*UJZdsdOIm zGY5s~Vx>N>Q8&_5I@`!p(%H7NbLh@3&hwiMnJwNuTrX$mp2uFx2O}_6ou4H)tzhcHnkHAzP(mks$1bvi2PE!SBmK zCwu37vdWpW%yH+RN=nQ{Up717D?UhnzRgm-t-$e~WcDuk?T5PUnEEPi+e*~s?TT=d b_aXvl%*z5#W6_Z#ad7b=QBzAQNg@3oZ)ii+ diff --git a/README.md b/README.md index 3040163..7c9115e 100644 --- a/README.md +++ b/README.md @@ -277,7 +277,7 @@ If you enjoy the course or you find it useful, please add a **Star** **[22. Optimization III - Non-Coding Optimizations and Benchmarking](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/22.Optimization_III.pdf)** * **Compiler Optimizations**: About the compiler, Compiler optimization flags, Linker optimization flags, Architecture flags, Help the Compiler to produce better code, Profile guided optimization (PGO), Post-Processing Binary Optimizer -* **Compiler Transformation Techniques** +* **Compiler Transformation Techniques**: Basic Transformations, Loop unswitching, Loop fusion, Loop fission, Loop interchange, Loop tiling * **Libraries and Data Structures**: External libraries * **Performance Benchmarking**: What to test?, Workload/Dataset quality, Cache behavior, Stable CPU performance, Program, Multi-threads considerations, Program memory layout, Measurement overhead, Compiler optimizations, Metric evaluation * **Profiling**: `gprof`, `uftrace`, `callgrind`, `cachegrind`, `perf` Linux profiler