From 5f7c730c82376f47010640c389c9e61106954d62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs?= Date: Sat, 18 May 2019 13:48:29 -0500 Subject: [PATCH] added Vulnerabilidad MDS en procesadores Intel --- content/ataque-mds.md | 77 ++++++++++++++++++ .../05/core-thread-sched-state-diagram.png | Bin 0 -> 16993 bytes 2 files changed, 77 insertions(+) create mode 100644 content/ataque-mds.md create mode 100644 content/wp-content/uploads/article/poster/2019/05/core-thread-sched-state-diagram.png diff --git a/content/ataque-mds.md b/content/ataque-mds.md new file mode 100644 index 0000000..51698c3 --- /dev/null +++ b/content/ataque-mds.md @@ -0,0 +1,77 @@ +Author: Jesús E. +Category: Seguridad +CSS: plyr/plyr.css +Date: 2019-05-18 12:17 +Image: 2019/05/core-thread-sched-state-diagram.png +JS: plyr/plyr.js (bottom) +Slug: ataque-mds +Tags: Intel, Ataque a procesadores Intel +Title: Vulnerabilidad MDS en procesadores Intel + +Se han descubierto nuevos fallos de seguridad en los procesadores de Intel +que tienen que ver con la ejecución especulativa, pero esta vez son más +graves que los que habiamos visto antes, al punto en que Intel esta +recomendando desactivar el HyperThreading. + +> Intel denomina al fallo como 'MDS' y recomienda desactivar el HyperThreading + +Los 4 fallos de seguridad han sido anunciados por Intel en coordinación +con la universidad austriaca TU Graz, Vrije Universiteit Amsterdam, +la Universidad de Michigan, la Universidad de Adelaida, KU Leuven en Bélgica, +el Instituto Politécnico de Worcester, la Universidad del Sarre en Alemania +y las empresas de seguridad Cyberus, BitDefender, Qihoo360 y Oracle. +Mientras que algunos de ellos nombrado los cuatro defectos como "ZombieLoad", +"Fallout", RIDL, o "Rogue In-Flight Data Load", Intel está nombrando al +conjunto como **PEGI-13 Microarchitectural Data Sampling** (MDS). + +Al igual que otros ataques de ejecución especulativa, estos fallos pueden +permitir a los cibercriminales obtener información que de otro modo se +consideraría segura si no se hubiera ejecutado a través de los procesos +de ejecución especulativa de la CPU. +**Meltdown** leía información sensible que estaba siendo almacenada en la memoria, +pero los ataques MDS podrían leer los datos en los diferentes búferes +de la CPU (Hilos). + + + +Los investigadores dicen que esta falla se puede utilizar para desviar datos +de la CPU a una velocidad casi en tiempo real, y se puede utilizar para extraer +selectivamente la información que se considera importante, podrían ser +contraseñas o los sitios web que el usuario está visitando +en el momento del ataque. + +Intel dice que se van a necesitar parches significativos para cerrar esta +enorme brecha de seguridad y que repercutirá en el rendimiento. +El modus operandi seria que, dentro del CPU, se reinicie todo el ciclo de +recopilación y escritura de datos cada vez que se llama a un proceso diferente. +Es decir, los búferes deben ser borrados o sobrescritos cada vez que se pase +de una aplicación a otra, incluso de un servicio a otro que no sea del propio sistema. + +La compañia Intel estima que la perdida de rendimiento seria de un 9%. +Una solución más drástica es la de desactivar la función de HyperThreading +como protección garantizada a los ataques MDS en los procesadores. + +## Hyperbola GNU/Linux-libre + +Desde Hyperbola ya se ha estado [trabajando en Mitigar][MDS] este fallo a nivel de hardware +de Intel al mismo tiempo se publicó una [noticia][new] en su web oficial. + +## Vulnerabilidades + +- **CVE-2018-12126** Microarchitectural Store Buffer Data Sampling (MSBDS) +- **CVE-2018-12130** Microarchitectural Fill Buffer Data Sampling (MFBDS) +- **CVE-2018-12127** Microarchitectural Load Port Data Sampling (MLPDS) +- **CVE-2019-11091** Microarchitectural Data Sampling Uncacheable Memory (MDSUM) + +[Intel Analysis ](https://software.intel.com/security-software-guidance/insights/deep-dive-intel-analysis-microarchitectural-data-sampling) + + + + + +[MDS]: https://git.hyperbola.info:50100/packages/core.git/commit/?id=25b9c740344ffc4bbdbe128794fc24c3b990ae59 +[new]: https://www.hyperbola.info/news/hyperbola-users-are-now-mitigated-against-microarchitectural-data-sampling-mds-vulnerabilities/ diff --git a/content/wp-content/uploads/article/poster/2019/05/core-thread-sched-state-diagram.png b/content/wp-content/uploads/article/poster/2019/05/core-thread-sched-state-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..d7968de0bd17b5700c0268da792a4355ef91443b GIT binary patch literal 16993 zcmY(qcRXBQ@INdhBqT&{(R=T`_g%ePTduHyOd+wccXU=khdp<9cgxGmK6M)Vp+fgmrPl>_y;v6c^LJQSK7t>gKYxyokH5aY zuCK3udU_@-EQ~}Vudc3CR8-(_czAfYj*d=$fB)t6#fuj&Dk>^QMn;m5?!Lah+}zyL z)6?hY=WBa&ySuv!3yV%pPPVqTd+42-ni^Q6(Or0W%R=#8PtO(R+W(V|sj2DB)kVfv zzwcZ7cQ!Wjb90Np*c}7IVXPtwg}PHzygk_R@bLK9Hj$j19Ne(Bv3Kq-QF^zraaUCI zFWcOvaN+MU=KEh%I`Y@YJY92h^OK9i#>U3Bwl<&2m8*@3*NN}LRI5%eugk}i6crUu zI`M(ypP1|0ugixp7!2wUMW-5K~`;nU4`>~DVUc~&?;f3BCI5m%K;kWIB2#JQoQ9eGt<>BpY z=MDlgT2%Ls>)o}s#*-xEJ2~r$+q?WiN)V=_&-C#k)G+|=E32Owu`a4^WG0Tv9U)P zM%|NZ>qzA4>Z(QjkXFR!yV}~kj>Ws}+`F_iw6gTa(2hGFpFIzc9}Nu?bX*4nM26<@ zvS=j4IxHG!O?{c{>sn^J(?a&zuFcit%czUKh`PMP zy~aO)8tNKhDQ+)0{dZxfrJ;%y_lORJg~f;kR#h^7v$78lDtIyPf9O}SLnvo8KPy+4 z2P}(?mn%_&hgld&K-jElGcoUK>GlbfK~e8Kp0HBj^f5k9Pg~+ud>pYvN$>^t_uB_i zpX1+K7s#&44l&5QKHj6`D3S~+>grNh-&ylJtlOnEZ88}^0M|bZ{=6exeX26RJ89GO4jddZWfVf z&ta@|h}T)RdTSb*<$wAuvk7P#2Q09F#A=K@9k_uLu4_=i0yuh-)`1k>KV<|Qo$(A; zXEmNbU`1Z^#1gU4B+ij9&bA$pUP- z9n!j$1y63CXrRUx*%w|!i|2#}`*={MC&$DfDD&noT)mkDKrl6`WLynfj96tMR*fdz>JatGZMI z{m)l9v1R_1j;QJMhP==lBiF>ZMM$ymzt`QNk*f}UXV_E$VZMGaoKoAx z2gOhX?eegjBpQSUxTT=wbt1!%0l+_Yl`(?>|&fyZ=Aq}i3TX&bL zs?~?I@#<0SUH_bVT4$PjeQ!$7q5rGRfAwk7Zn%-r~n|n(xv3CCn>&!@PGqF^U-8N?Nqv zqP))|yZ4BlfkEH#Ry5`A_23zrHrk zR<&`8%5E+ezuFv097L)u7k;&_kg7cu>l(F|41BNlAr-nP9;~$zbJEnpH0-$>T0hz5 z13dkFr>U_x5}y2Pv|DJfdgOOI;t)Um;5+-H7lAz+;qc9Cr*mhd^+$Q{h75Q;r%$K; zSI{Ch_Ps22@=sBd!@*`gs?NMtxqsW8~y4DW1 zgAW7upz!<<$MH`assb=QZ|>7Stkl{}Y)@u+-?~wq= zm!PTSdWZv-!1Aq_sH0q$>F0{5_x#})d1m23fQYi=eZ_TN=*C2q4m|?W(fs~BZ(E8@ z&ViK$uskyUgR)>M)afQL{xxfWf3%JF08%TYU3!22HGB=<4fvn?KIo?WL6BldYBG

ecUs0_f+5F_%PnDuUbvP-}o>Rdv)1`0z+?Em78wx5%Mr##|q+G|@N(kSxSM8uzi4FBk{?3Ftuv+1Wa zAXsC?7jm^GLwzxCl{E4Vq&uCc{7?Ned^W3b9fyj4vJLQ$QY*8B+?8JfrFI1rd2mqq z`x?ZTGfzI0x{}XjoiAU9;!PrnXKJueA{xYb-y*`{AKO=OuWnvu31uRGf+=UD#HEcE z#%$lYYnAgZT8sC4sf4>ebqwbjs?Ap5FGu8tWq3&>fc`#2-T{Wkv|0|2{2>c9g{&{G z&PoFI#G==F%Aw#^TD2ynxnnPLu;w&+aOl)rJo6U=Av55pj`1w1W24=UU8GRraH+4i zA~G8_wdXo0-UD^e%DA|HJ4?3%9!|7Ja?_}rIdl^LSUQxBL*(EAXC-k7b)<7O_-+)$ zEmm_g3j6{03sAOT9jlT=HBdR@oLu3HJeAlG*YOT%D&E8H^mTO%zl#n`NltnZirj8G zN1V)&1%M=WVug!8NHr2FpY>+X^rd#+_Ia+hgyw1$y^muaCE+z&vTeI;DKkvdnUJ(& zTrA!TuJnq9a8d!nCdQ~+W^g)qNv%$eK;v>7<~J%BSLa}-hV7<) z{xi2oN57~}mbU%`mTMe0(rPvcGB#6LR;U06i0bW@u`!?gMxQB1S_)UR>S;xnXROb- z?avMr2&f88#XSJ*X-TEm!cjdvvQ>M8Qj(SLIZL`G)Qo>SIn#7m?Gwf}av-!s`4wdI ztWl00baa}mH#n%vCQ80F*Lf{7<4Ivg;nZV?+;@7kMv|xv@EOS%o+pD*k`CSQb2a1f zexDQ1fbChyKfHInoqLz#KThiYAi{mQix6X}qKPlh=iJ=uT-iyWaP(Sx5M>oPB2aiYGKEq+d97)X4YB z+}g}~H{u%m0(7oxp@20gr|!#4?$@fGqEnkz=Oz5} zbL=JPr>$E5(eeIsF*(*XTwn+)kXAW!s2xrwRSI5tt+};!zxf^WaRvVB2h8NI>ojo; zz%jn8Yx00wU{vKCsV=O8bfb-jWjod^^H%Wt_0`$<>?R+DkS1Q8#j^F=3X!>wm#jZ# z&zXQ05W|mXjW%m*)=*5ED8I91`NBrV6yU@vgzmxU-$%h)xVPmD{aRndgQ&)JOZkTm09#@{N_zZfq_6_vgv+OADV75Oi7bc;VC!_NoTS3Oq z$nW>;Ik8&>LgcE`Q%p>3XzFNcfvYu_MWC)d?(BugKu!Vw`yqr*6y;O?CXXcQmr0yE zsxVD9&Y;Qh=oK8!EZu3uOYT$sDp}6DwE#C?sWC1rVn;oY9;I5-r{B^_DeSFWo;+}8 zF`di+HyzCU1J*TK)NI-J4_uB~z;`dr>5mzeUzKT%5~gautvF30@V+nI-Au&%jT9*; zGJU#kzIP6NH`FXGUPl_$HcMnVmQp9a-fd6N_T_^euFqjQijhw99}sMn7WQi?qL-p5 zu~|KEYfT#H4&cCDX`NC=y>CHx+7W@4{fnk08tv?a6O~Z4O?2$5>4uoZBdoWl;=9g)cS~$*oVG)5c(S>A-`#mZ zQ}zO`cktu#gKOCK>SEn7=zIc|8rG=r{H3-XPQ=-E0BYm*BxR(hpQf8r1PF;7ZM_Ux zDL~(!2n*oQBFn25;zY@&5cr;b9k=g6&9XN`!mejEgc00Of!^{!NSycYNp~*g6bZ0f zeDKEP$`Xb!0W733MJ{bfJ8%)wDs#Z zAK`NOLjfm4q%QKojEa*^iMZG)Y09bVidv~?r@>=4VOJEZ@bo&b+;Cf%x|DTh7F52u z`Unt`{=T|Osbl88VKd(*s^xcJ(KQr$^zzmU6R>}*pzEp#XSX*AvsZ%ER_T}t=q!{u zF@}oc$bEuQ1T)@XyT9T5ay7twwuG+f)UKR`~WjZ1P9vqYm-%_p>v?ye9kU@o2wL%WS0m9ezDTcW{$D zR~z1_p00Sx)CeY#Y6On#qb?LG?X&@A%t*xfd61wLRBOUzg z12{a1x6nbOLc&14NIaFFV@21D&7x;v6A*4c>kJ6;A0j3C&GIg+dEKs1_+|pt%;hbh zb&od$&Z;!3Ynq*+c%|u#rDRjq*iksOjVhq8Am{pm8=_q{_0G$?rllfKz|bFN7c$iD8_Py@`p7~4%DdB&&Tt_ z^OSuYnuApWmCJzr^8mrJfsnF=Lg<}xPOEh_VpaS?imW#w6{>vZ6mlvOY(o3MB96IJ z=PW#VwOJA=IJI?_hQ3bsY7vW>a)z6{CFs=4*yllQF*w(Uwywq=(&VK$(%yNFtY5p< zJpi(ik2v{GSTJ--U$ig^3t`Q@i2PLt@x9Z9iT1$c2*oQzQ{Q#6a@n}JT*=0K*rTs4 zT9^+j;k>vgu-&vGObEW6xc-sEM(p6p@_{UG1$^IAvU6{fmV{DzAZ)$Wn=B|aat z^S~L0d9#*b+l2Um^Ta(jAHZQB@!5gGV@)4>v=$)r{^8N}hvvAOOJO#p)@kYY1AOoNE z2I}VYeHPR~bf$gOSdrn5s0k*W8IaeDq6Dr_zNGI>38)Xhkl zI#*RYgg~VCfM8-QS~&?<5v5g#7HiH=gR&yAK@wTy>B$Hd;QsdiZ4R>L5v}1>uN|oa zu7vIfDU0O(#dO|uU->*)=S_!vMr_dGx3iu#C^uwE0^uXn9x8*0Fqj-nu_jPacUZ^?y43OGxe4>RhcMg4r;Gog# zPGbS4|3Mv5B}>8`qcHn7Ey=u->wDSclFb7B5Yq~S-Q#))JEV}hYpmJBK*y6c`v~}! z`e0Dz)OX=r-nTQ5I{kL7>2^u}{%skewFvfgGJH{w04MAwbg65ycPLHTsn{LD`QNVf z!fc6HWoSYKn%$Je>bDrMp#t}c%>1n_ebvrN$Cgd6GKAo;c%4y5d@7)aJ{-9{E44i1 zmq96vP4EAD3oW-!|G=eYO0Qq|R9nrUSnWNZL)Iss3KugYvO@jr&M?PZ&uQG{a2V5w zUYD-Jd|7|~Qcr57n5_2v0j~ec_;i?KTVNbrZBG3M5+{O=Wv9d?rM?7IC#Vc*koNmM z+==QKEZX~O3HAoxKzhLSc=aru{&b8Z`ze*928PhZ7X22TY1S`XjlEUZ#idh~*jsd= zvW9?on;Df5lbFR0TQ=u&dQjIzg?Kvf8*QbdbBApQz<7^JRoj}xE}(^-f|KI;HH{Oy zOS|eQw(}C=?ij*`fv7YE8Y8E9mgTB05%VRb?&t zAZ#Ma)YpPzK11SYNB+>mzOUjOKrH^NMIn)*cFc4XiBU%ro9C)7%1Hfx?zXXW^8_+F z>#MVMNElZHBmki|H3$5PgOX@22s}Lz-&T@&wU(hIZek#eg}oK zlEM0UP(9@Mo?>%&JBo=y8CG22Bt$DX6V1qym}{bfCGRlb7=l-slhPo24)DAiK7m40U6rH*@a6ET=A@l%4sv60_R-z}v)`M6N~7C5PsNz;yL?M;NC9TF{! zrJ6n8okSzbjI2L)Laq=)O`mzq>$LVKJKq0u5o&G%aeSsq>T;;31E2TtM!xe1J{|8f z`YS(53DAj)^V*{RUMS)_fjT&{>jFh{T(D9pq=iO(Of~*-2P3Qi*P5POMokrg%Vb9sCMr~<87i<3 zSN`3u6@}(si4ikw7+3EM>=@n{`?7yAhn|k=(4+i8YHJdeLo^&|Yi@i2ow)QB7>^y+ zX8}UQc%8gs1v#kCvJfY)+w45yl8@3@VE#q*prS&_)&UlbVOp9lg#m(+p>61bto$%3*kXOtxg817}JLt3d5impVf4jr|*SLs-nA*OK>|07 z1Sb^qw0q05wZ*f;v-I(FA22G9l4h(Sy z@>lWT{Si-8_*KV?T!Sa9vGBYck6D?YZF2(W#PpOw8u0 zH>h{s^D1_HNo$TD92|oed}~qUPGSPc6=5ywGf>Fda%xu>KzScKoJ!Q})R{8bH82{?o_-(#94fS@#D>h;%iPrq=1c}_)Z8?Ez~0R{SC|>21)pc2Iqu<5 zvf(m4j_wQy=ZzijVHyjl!yBO|>%|4@Y0`3Jf5y{I&*eNG8Pv7<$t*VUF0jn z*V2J}V=0*gz|I9u2M;PRp~@)Quh?I?f9~R?WX#fxD8kI_F1_F)`Q_iY&^JT{n};|D z3$tmr?|RlWVvcc7Q48s>*2^`Zge?`psu&B@&>XS8fMK12`Q!a`P0TiF((7`F;ycTJ zd1Gt)SZFF={>UYf;NXZgL?n+-DlHx=VY?!g3t4|wfHq~kS;_#xZovu}j7W=fK;h)@ zgS7~B9U&+aacy^UnG}#JFrP6}%CVOUxfyuqE5EvL-WUGjo$QC1imQSObW#LbvW)m5 zWYhUSA=X6gvQ!&sf?Z&iNc8!Qw=J(ePw62>O~AW+w%>S5`eyp-KQ<2U@|FsQqr>zf z33grH=fJJBf8z1&TSh=WHH^FL4^hZwg_cCyta93|`NB6%`jx8MI75Pu4AAcB`nk$SM6bo=&ALX3dJ?o~c~o?<(syAll&U+vm}V^luj@*K5`id1 zX2S$rab{fx0|{pPa--4V7!C>1BIg{a^=V>N*LL+L~M-b}^cf+8LN@lhj7S6#GLy609_WeY8^e7bShoxeS5_U7$5iAQdV?6p2f))C$~*XQ$_Z z^peuTzUb3m*};|tIo4K%6W4KF9LO3rzib*fn#v>yU%_3=_d*<;f>Fn4Wb-2#w|$&; zw0QNynTp?}AiL!$r$@48;f}wCi}D!K&JjZ&{-~?7wfW1xp_1>dtT0`7uVe>#Z`x1W z&}Q`=DZB)`Fg*RnYIlcAwMQ5I&yDWYPuFf8RNZ}rBS+C&B%9oZHn_=6Q zVlBfajP3_{bS_s;A{;W6Y^NkQC%)KyqtSbB-NP?txUN$vW&?iSr5B; z+*+SA`?~kt;uX=Cu3d+B%iaA4d_*9x(Ln8>5i24erm>HotEHWlxV63A5%>(gYwb%v z^->nI6&%D)M^X|vyMM4NI%`FW!>(O?DaSu6<)GC5P$bv1Mo5 z!8YO~Yfogg*r5B-Q^c23;(%PH#t{&#fN+2_+;1)(IXB9(W>r)8wWcDOVMZfW5NI46 z_{tC<(cnLlRv!mrc~DGDk@f8!o+7ucqXAyeFb}&Uj6z7C;>?mM}p#jGh ze}FgI5%fGebVsP^b*#pll2p3Gt%&U_&#w;TI;I8g4QB~lur$h(ctuX_Of;c+vf#`2 zF%cd*)S6zQe@YC-fCtsOg)I%LUgVBLk6)Di>-OcSOv%1SWKFK?vp9oyf-Wjqq_pEI zUHx^+H58xGypuNKKXBIeGtg;i3k9C_Pcxc*L*#r4(u0YnQ=%B48E-_vy;L8l98V~S zl2}!=|uaCTb`!v3lN@cWK z*w4GkKZ&q$nk|nTkB9c=pLvy}L#4mF8@K@+twEVn3b>@%6MFDZPrNi9F~IveXn}?>Rser)&LsJSxnUkFDGLBte zfPCRd#o~lX`-l zy88p>x*h%@Gn9^|s!5Ya%!BUX&pqiI^E01Z-Hq!%rK)qFC+P>_Jf&k!Eu#FhrB#>I zyX8s{h3nvygnwSnr*Y}~ENZ9|a7PZ{)zDydu7Rxkw-(;{?TasTLHyl4qC$~vbm&rT z)_~ld9`@DDVOTrCBf_Bw`^`!7Kc3xepNsm`1!M+z)rh}dJ% zZ*DQ@X~&mtK2~HZBA9;eG~Y%rRKGBTLOliNs3G=+AtdU6w_Mah+b$;E&sHO$;A<@2 z4cnSuKJiofGlWV1-@MVqqpr7*jROg!mVBtY;2Y~lL8}rJPqW1VR;s7`6Q@)%$Hbvi zl6NA9DVVMd^PI-aRb&=|XZ`V|(14>nm?PLveXVre;7i?DqTaciZc_A9v}+l*>#)pN ztNj!Yz-Z&EBFA8Es#wu5qH*h`haMZR`noA=7=hT4e%bs9fwRlw$1}pP^#JYnSW1AQ zGB`B^MsxCqfTz~v;oR6-kb+hrn1jbxIW*#&?PGI=bphTS!;@(Gk^RS7)PLR?zW^*k zCAGT2JG!I$-4@7(WVergb8?HjdRuS4(#lr$my*Y!ExRxha`(qc(T+1I25k1$2m<%0 zuhel4Bk6>d4gSr)Qe*>x?F1Kk{V8xyrm+FwZG7N{8Iw-p#c_DqC`n~t1Z}8LbY)rXx_B)EHx3K%Bp$Q$Ey1a zN?5$+$0VU{87<(DG5k|92bH*KEv5~+VP6@#Ejtphm>WKSBg8C1`Pma=`w!s|?44QSeUeTW}>8BK$WPZ)sVY#jeq4$&S>7B`jkS z*&%|uf0sJemktUM4MDZm1>!xmL=?cLnl2>M&;+rO5RbNaP2m z%%uB0!=tVQvs=EZ6$x1^#KExY{7^yqpO^$sHB1 zC9k3*T@w9xXSfc^U|G zlSe||m`&va-UOv`;rpN8ey+0C3=-{F42naDP0Ly}Y#>&TcOhrV*nRnOS4wYctxeki z8FiFaBvet(f+IeMFX`!KgGWneSzzVrr~rAM@3FZsd25z#btc}5llYnMd>W%9ZGHhr{GbU=;PVT$E^ zcq3rLZ0=>xRP#w&<#se5np?{4NqcNGEBBYqe|rXAh1qLiX|flzw<7E3A1#8)gZ#a9 z>nP3?6{ZF(J}&UgiA=;Bd}F~%h3a{_N;k;=F(+VA4E{`X7}1nn`~)zqO)|v?Tsg$^ z4)U~|>2K^PJA>k2D-52`IXWv}phh5Ld3*9FZv3MH?Wz0+)t>>r3FBZkv470z2NC8U zZ{O?x`GFmEP-c1;KfnKdXt(4qahE1@sCV_-f3<;gS?cGI-j{!JTzR;?e-3DJz!jjg z*h4eY)UucXsl7X~hKJhKVde?`Gx)4>j_fiiuc)a1xckaPI%Bh6CW|xv$pUu-!BAgQ zOO0dm5M!rO^nE-JGBQ#2U_r@Wg34wQhoMYbj)UX zh>X1WygmAVs+|QHU!XIOv~^!86kE&B%K!Y9n57M~Lk)VrNx$ponO-~lT%NnG;`2sb z@C`M#*;m9=CiYKA)U7d{#|GdXuk0T{#)JevHMT z6*m(!nQkuiUEGo@cb-6rnxu1_^fI~1EU@X9$#2M&Flc=jaPq8qQ2h*&L{RXb-KDhu z6o}{{hUYCh_HwS{X?&hnO0O(ze`5#O^>z0sz$az;M0*X+<0j(C7hM>gY!<%BX$%fv zyMQjsbS(JGPih^f3apSm5b=ZvwiO;FWmFE$E-&Kz3NVY&UDQx&SGy^^jy&kz@oy+x zbJh4GrYikDG{io-3F)DOPVPwhWNBs*42B5I?8lvdln>dr_4Z@@}uD%{}oO%AlbVf4?tzqM~_DjR0Fh1#E6<25=7!JE6TV*$~-SIA#fSo}zziT8~iK`C%YJ zj9y~=^&4W*+3-)RLy}C;eVMK+6>0(fJ^Fn29@mDO%o4JZDp|+UQ_?<=UTpX`UrO33 zq+|DU;N0-QeJ60N-cXbDvh_v9&l0fAZ!Wc$uTyVTT`;a6+$w6F8hM(apZRPK2>P%J ze__@XeP0$^53dzJD$^0yqgzR{Au&|vNqv!{$nKZd)fKO7=a=Q2f3QHJa6;DcOmyK} zV&o1eCHn#3J-_rt|Bp4Hd1_c?dCbglKCjGOam!hXSlB9qyZc?LBWVE8;}m`YkHf26 zqx}A9UnGkVF!+J`A)lq*o!W8?1zuOT#D4>xaZiP=f85g1yXJa*YG~v*cFRI0eJVXg zT$>9DKbftrrvAFA;P5>UoYPZxyb)$?(aArHF?tF;+mW1;pZhdYG3#kUpe(ajSlI?X zTvnZz*X_7g;t}nW7oRrW9-&?C!SctG^nOWZN@I(RhqBQy?J*Lc@#GT3&jcyE`}1$q ze+S(a6;Fq6v=FU3(j8~9Z+ITcjV#<6GiD5i`9nNCO>C2jZzWvKZlk((Ih4v<#h;*l z9nVfySL^@DYGk}AmeNKvv4_B(hKQFPRdCV#=xQY{%c}FX{nL1Nnb@lcOA5%y<_xM& z32m^SvMTqorZ86>OM$-GmC3;&Hrl+E`g<&9o%QI{dYs8J%i_SP{2{m1Qa?$r z`6YqlA!7(4oaf$BFj_rN(}v9_ps}~R`tITDJC?e)m*O}#71y(A_KGlq&Q^+gNC!gi z@JTd;2d}7pv6&6vt37zK@xkSVgEmiPhL_KuHAN|7d6~+1D3-!t&8JU-rVICaTwGlp zsEBN8Ig&uuPUyq-;s_^+P~e=t2!8$6#J$(=H19(@c55 zmcREI0%!FnZH`dgr+F>z)v#Powr^Erhw0F6ocPn~5ZheWyhgU0=4l>EW0RXbQlBmD z4k(YCH*o|y8SEIqtrw!%y| z;d1ha@s)3coTn_Pl=@gfDT%Lmx8A52q&2d^U32aPNxwFEsAg^!x3$dsn?m40=x}a9 zz!ZBs6L7vn9NF#NtSvn{6=~DyF2RF1vgu&dpe#WaX&u_e>M~H&`K*@`ENSCb4Vt&z zV*y1;;Pa{Ma#=mv*fDhR;W9(197lw^%@p1$+kFZ8x;a-^g0qJ2KX}R2zgW1%)!M8P zo_Ctb4Y-D5`5y$jeC)QgF9!9hi03(QXZvO;b`J3X0$yG3(5@@5R6Z{?4T?Lxw1n6W zQ-}G5`(4#8u`0TGc$oU#DLw#meC~b8TyIO^>a-{h%u`vYIO#Cs1b}*C#+{+zU-2Wz zhu=MMz)pvRArurh$G(J*bdNW5LzUG}QTJJJn?ikg-rnndRDWad@UTN>mZMqVR;F+F zC>DG9OOVtBSBjgT*RGvyqR@v&%5THj#~XAn>+Vb1N+G(kM|4Xr!o7v@==rC>{Pi20 z{RzVdDSsKLhA2-dlb~(9H#C#DsAbeL&M(tMwX?ag-=sv(4IY!~SL9FvikD@|S)>QE zH8o$-=q0I1<*iVxV4_s)MUdVg{f@j<*DFy}yWW%`%cD_&t?FxnzEJ5le^z7{DEw_f z<@)&C*b~MZnl~#Pjp_7^I2?J$&n(karFo@WQ>Bp%x4#x`80o5~BK$3PoLRvXr*lA?RZ;qKY2OJoP=cK<@AdDcOK|(z z-fZ!{i^6B|8f7{s`h`8|4-@O|J3mP-#Ym}{CeJ_oHZ#FrW>w1 zKBt5BNiAOt%6T-+vo1}gMGEH!@3RO|Y{;#cYHn$19y2+pwihC$q>8oq)xMCMHtu&} zOLd}VFwDIotW(ZM_~dIETA1C6+Q@_oRVOhn0St!T2M(EUuqQX?$z(eX^<@55%+2<^ zRihnXzWu``a`sP+5NCB4_vO{bQUU}&v6_Yp-Y->Mbj-YZ<@Rc*V23k8VYRV7Wj{QP zk#6C{9*S+EDW~8xpXh-jNxJbV%s8d(;cF8cfzPB={4AeME#EISXadA$l5DS||3P44 z7IU+p;77o9tzfcxb`FJwLb#(mcL}3 zhVYz)Z>X8ny=91c<)}gOVrE8eJluL(Se*qfv-(cYdC0~h(Z1JQ{e29MrI?x*M@UD& zlhR8ztZ1J?T9TaCWZDXqe3Ih|~ENAk-d)2cHj;g+b zzV@k8ybn$?A-lJj-wgj6N^zcgnZ{~4E!7b#{#gw^vK#%+vY|J)sIJcb_qS#B$Xpn_ zbb;%I)kH;9xI_)*XbMwqlslExyhO~M-P7G@>%KQ(Pe|-<-BWX3D{;s$-#-K!82PF6 z>+LmWfPBHA-98ffn!{&J`Kx{@to@^rz;jk)0aW@tE53z*?u(GAv=xU{?LN*qG&)3nwz*q>Q)ZSNC6Sx7-LJc^sw7JeX;?`k%#7HMZU10 z&Jub``(`K~bXaP(2uQI@`Vmg0>nQ?x7dCV9V)qt2g!tCplB*Yke`E~KiNE2bOCu z|G#{(d$ox@t-R0bIv@r{IXV9RohAIR|N6}Ic~n zCmqj&HY%t8`R$TBUTcLw@vY4_RIN#HG;^=!HN+b|>rH_R-P_OLB)(8p?crAuGSjg=6j8`rpN zKaO1pOj03wK?t>?q$W^8iatpcS(eZ%eUMyADk@S|!Xc3IMgizZLq@fdz0Y1vI7}qA&=>I1r z0owj)q>w&FABygh^b6Q&jgb~f@e$fF>J@l37*3ZU-K^7lss7ri*GM0OIvq(jkj`~* z3hCxBjU>{wL5XJ4wYZEV(nnpCP%l+l5FW^HQ=~;wd_;nD(DR1VX{0AbX~5Rnk4Yol z?Z`=Fvs`PWeN>OhFp!=I)94YbLZpR8dX-pdCSAs5m`IluSok*nB@t~gMv~kIXNJnJ ziFAHizMcWmVu&;$nG?6m>e1ZriT1K?^6{c?VH0 zolDq9illoTLy=wYZtSF9(^{C307!ZzlWxNrWQb_d_+=y=Nk>D{k#sa99Z5&h(U5c` n9nEjje_Vr>t09{nlm7n!uI_Tiz&Kg100000NkvXXu0mjfOa$-( literal 0 HcmV?d00001