From 01c79bab6aa9629eabcb5ff8599e257a1af3a9eb Mon Sep 17 00:00:00 2001 From: drebs <drebs@riseup.net> Date: Fri, 27 Apr 2018 19:32:38 -0300 Subject: [PATCH] Add blog post for improved data sync --- .../about-us/news/2018/improved-data-sync.md | 64 ++++++++++++++++++ pages/img/pages/mozz/ascii.png | Bin 0 -> 38505 bytes 2 files changed, 64 insertions(+) create mode 100644 pages/about-us/news/2018/improved-data-sync.md create mode 100644 pages/img/pages/mozz/ascii.png diff --git a/pages/about-us/news/2018/improved-data-sync.md b/pages/about-us/news/2018/improved-data-sync.md new file mode 100644 index 0000000..ebf94df --- /dev/null +++ b/pages/about-us/news/2018/improved-data-sync.md @@ -0,0 +1,64 @@ +@title = 'Improved data synchronization' +@author = 'drebs' +@posted_at = '2018-04-27' +@more = true +@preview_image = '/img/pages/mozz/ascii.png' + +Last year, LEAP [was awarded a grant from the Mozilla Open Source Support +program](https://leap.se/en/about-us/news/2017/mozilla-thanks) to [improve its +encrypted email +system](https://leap.se/en/about-us/news/2017/perf-improvements-soledad). We +would like to share with you some of the work that has been done as a result of +that, and also thank Mozilla for its initiative. + +The general idea was to implement separation of data and metadata for encrypted +email storage and synchronization. That would allow for two fundamental +improvements: a better user experience (because the list of email messages +would then be able to be loaded before the actual contents of the messages), +and a better usage of systems resources (encrypted messages were previously +being treated as plaintext strings and thus consumed lots of unneeded memory +and cpu). + +The [roadmap](https://0xacab.org/leap/soledad/wikis/2017-roadmap) included the +creation of a platorm to assess the performance impacts of proposed changes, +the actual implementation of the separation of data and metadata during +synchronization, and some specific performance and scalability improvements of +the sync server implementation. + +The live benchmarking platform that was created proved to be very useful to fix +pre-existing performance issues and avoid unexpected performance bugs +introduced during development. A CI environment was used to run performance +test code for every commit made in the repository, and created graphs for +resource consumption (time taken, and amount of memory and cpu used during +execution). The quality of decisions made during development and the resulting +code were improved by having a live performance-wise feedback about proposed +changes. + +As for data and metadata separation, changes to +[Soledad](https://leap.se/soledad) were made so that encrypted blobs can now be +delivered by external aplications directly to the user's database. The main use +case for this is for delivery of incoming email. LEAP's architecture is built +so that unencrypted email messages get encrypted before being delivered to the +user's mailbox. Metadata will soon be synchronized to the user's device, and +the user will be able to see the information associated with the message +(origin, date, subject, etc). But the actual content of the message will only +be downloaded and decrypted on demand, when the user clicks to read the +message. + +Other than those major developments, the MOSS grant has also alllowed us to +experiment with multiple possibilities of performance improvements, as for +example server parallelization, usage of different asynchronous libraries, +Python 3 comparison, usage of proxies for load balancing, among others. + +We very much appreciate the support from Mozilla that has allowed for +concentrated focus on Soledad. The work done within this contract has allowed +for the creation of a system to handle encryption and transfer of binary data, +leading to a much faster and scalable email solution. The critical +implementation of a benchmarking system produced clear data to find +bottlenecks, drive development, and allow for targeted changes to increase +speed and scalability of data encryption and transfer chain. + +LEAP looks forward to applying that work to Bitmask Mail where end users will +reap the benefits. Development of this new blobs system and its future +integration with Bitmask Mail will be a critical step in bringing easy to +deploy truly secure email to a mass market. diff --git a/pages/img/pages/mozz/ascii.png b/pages/img/pages/mozz/ascii.png new file mode 100644 index 0000000000000000000000000000000000000000..a613848acddf7e6eafe9a4d51c0f3f899ceb12f0 GIT binary patch literal 38505 zcmeAS@N?(olHy`uVBq!ia0y~yU{PaWV0y^G#K6G7^TjBRfq{W7$=lt9;Xep2*t>i( z0|NtRfk$L90|U1(2s1Lwnj^u$z`$PO>Fdh=h(%gV(!~A#6A1<e1qM$S$B>F!Z|+vd zTnYX6<KuaO=`#hxC3mtiF&$LMnAK2ranF=x9T{9prcJ+c#YtORxA^Rt=&uGx&X#Te z@^Jl~s~yqrq$<R9C+g}agfO)h88QlrBsK)LpMT$f-t2y4LYp8XWBhshiW-aJXLCMV z&NohfX8Zi}&mJEUS4IW~28LU0tg#^K@~^M2ot>R;?+lvhQ`RnNwcz99<M}r>Gzzx% z`5)6_XJE)Mm+C!s_^`6BuJ78g@-_V~o6db-sG+W&{^G(yR#sN8rIQx6_VtAFF)&=H zn>1-s8;@j?ME;3?3qrL1{`qrlP2}RMS-TI+GmA6J{MstAHOjW)!-FMDRE~*qSTZm$ z{L4N+&vxR(iM&Ftfg-LO_w1=T-Y3h>Clj%&L{m0(*@q7wY^%Rr;8%FUz`*cheeiNW z+iy3LeeIS6Xt43i?a98rZpRJ_O;@$axp#J4ynA<V^!B`q7cT}aa$6j^qhR6Y&6_7r zzTB<9FCsWtdFk)pzn3px?tMEmGn0{#@t2bd@2b_SS4Z!u*f@Fe<mTq)eFcsJC02KL zmA>AyXHSUM)isfuSFK+CmEZK{yxUVJPBhHBV^LjQEiFBJ!GZ-xjvTRGS^na}!sUK* zlVTbtFf%Yb*ze`#6%!NVlOo`H(ZI%{;=_Z7huc4Y{`~#zZS|#VqPDKuvBSa`1U9c& zk@5A_)u1XD7nhovJzM5Zm>?i1xKMw?$!?QtYa)XqA}YSUxw$$0{IX@sUR_R3N(u@N z?w7HgG<|w{X6DYKr(TECP4mvbon=$`sYlZI)926H+S<uUNo8+t6smvSwPS~fxVZ7U z3kM5-S}-tV*n2JgbZV-0+jQ&K>u;}HyY}p<Q&F2zPCE13Zb>~Y_HyCp=jW@ds-&h} zSnfZ+nVtXFj~^UO6DChK&bzbY^YioEO%tY06_t{jHGjT7M^k&dyO)>O{<^<X*B3p1 z`gCjk|GHYsy1Kd`HhcU1PoAXY=jS^L=*91ok&%fB2w0%Mq_DcD?pRjH;wg`wJ~gfV z^~Esx*pDASEG#V}BmR8<eSg~3=-}Yw{QULtuNXn8;lSQ=ADZ|5`@Ch#!T^msckV3n zo4c##XVK0WJ=>7@`1=p$XzYxMi;T=nPFCh{ijAE+cW!KM?%IFBzs2Kg6uTaMK5t+D z?vCYU#s;T_JIdb9+9%WMq?j6@HT4%0tK)_Z8!o&o`Q;?F{kQ}-clWPfRfnhiez)6y z`Q_B~^!z(JK7M(5+0xQ-+qP}d+j1uA<z+_h-MMpT^6|c@O?nFsZ(735z~Hc(lZ(r$ z@KH<R2}O>kPJIXI`g3JvWqLX~Q@k{EbV|y~uGx#o$<3QEL7^+DqM~B6Zed}ep^p3f zd&~XjZ`opEZEbCQJK3jS&NlDfp3Kx#)xWE+X8r%N+}^YB;<nt|ERH)$Ux(Gy)P#gg z5h>cT=H8YqTNW%(I3{XkvF<4Y1H;?&LoJ-YRv(T|J2ge~^fX;<O%RCORq}F*X7Cq& zR~Hu*6%~oN6N!hmWL}=88yyxE6%`YcQ_;WX=jZ3==USWV>-(?1x@`IK_SV*|YvwL? z>#h3zb~`s0SKhrnkufoUzTM96mooJdXfaGa_U7*H?YnkGt-hLNA~n^kRQ>C*qep#b z7&I2LI`J_uH2mk5sQdA-{mq*<V$(NNea)(_{>?65^Wh-7d`U@3&G)<IU-@|@3=W(+ zb?VlwUkBOcuc*Ju55M|gUugZm&-1Ilzx(^3ng84S`}IFQJpA=#dVJl_kH_Wtd3oR7 z-28lzYj@iDd3QIJ<=x*GyZo~4zaNk9?k=zY@vz-B@Xo&4-3lDu({z45Xy$+O_U+xf zclZDMmHk(CbyUFnoyE`n=Gj<Qeo8@vSk~b--sAo9{(gSTwBH4Ic%0afczBwAykB?& zD917!*xN0<8dMev6oE)^AtT%VhX0t{((YZy0`tDkVNhgeU@+*`=u%sE<4Mvvz2Ye^ zSwM;#%%;zuZ(sc_M_gPyJ3G6+{(tQ5vaQiq%RlMvKEsjBZ(1=eXyupBpQAUY^@goB zja|PadVAi!ef#qFd~|blJsNADlDqd=LHpC$@BXXJ4+;<e{_pqu@9*#Lum1kdw))!~ zi^4|_54Tt5Hcen=XwVbN=aILod2pcd|IhRF>*DwCD}8-Uf8UQqn@!^WG|#-<c3w+g z|Nh40<BiPhJoP8eyXZcB`gC{s`+Y@EyS`-K&p23Un0Ty5^5)H(A3uJ4`t)gKWo7ZR zGnN1Uet+p{A``^Gu)uhhVe&C{`I>|`7mvOFdd!ab&aTqzx3{*=n>Vkltjsw5+?rLZ zE<N}6@c8ic>(tXv8yg!XB_)s9HO$IOpR8;6afRi1A=ix?He5J)^5mbY)2C01a<z8; zUAuN|?3Rp)ix)3$Za%!scQ#9N@ReCQ*CH&_&&`pvF3VXTw|C9jwam=S!a_n(7xL}w z>?|!U+cck_oBR3eSJOh7-l_R-Ebg5QG+q**p{1o&VY|q4O%Vgbg`KiC6$VO5kIMGv z=FE{37M?t7R@IXe6Zh<~@%BDFRXhBZd{=L;ZNUSF$jHcuh=`DokmjN@f5i5@-DhL^ zS!I#5dEOlR`hRoF?@5|wP3im_ySpqmG4Ua&xSeO4eQu@Wu~RcK3)YKGb<*~Ae>Nr` z=Lz2T_uK6Y7XpNjUv&BDD|h_bryq~|&(Ab|eq&?u)~#FjXdMJqnz3C=m!{_CuKjsG zNZLDm_0|1<zs=qf8x{5H-Me+?BSS(|a<fgOmIh_|{q((-@r=_Zt?qPOaPa59-|yT1 zda*b#FmT!Hty{Ldxwp6a`@6fWjx+3PceyP#+_*n3E^g<}otMhW%E~scmN|Cn<CiZn z8<UQ1Og^p`yKBkimuGDBcx9|gUhI56PuSJa$mr9}^!cK$A8)45w=H_&ar)QUBZYfD zhxVO1bt-gq7$}b(J9g~;{r`Kv-<$kPQowa$ygWO@g5ur(|NZu#WAX6i%bQOY8%17z z|F!q>RIjBEzh4#;6SJDTuF&uD|5+C-mM3=oe0ybmriKWYx%u{$!OQjH_r>T<pB?=E zy#0Th!beB;|9PsfsHk}CTlm6&nB8S(j~#OpXxX*P>ZOj3uyx*=Id9&)>6JF0XIE>b zu73R5wX)OGbla{^m~k`TJpbMlzouRP|NYk0(b0?DWm53qz~$xs(UFl`7u=63crZ(M zx#3*D@0b1UUESToLqk<nRX=jI9(ekgfuW?#-|lBhP0gN-?xI|-v9WV4pMH6H`S^#J znwQ1J+;)?;G5^(a_wzgV>gsCWBhtJqEG#*<x8<Ikr26&i*JIy68Bt$HXUev((n0>$ zu3YiB?ds}!_S@|F^Y3rVy=`P<1j>JvpP#X*8_m3#9~Kstwbe>bFYiDD<KJIjySuwz z-`>97?%s=x<E};bYrpeK7$kgtcD9{Q_R&*LP|3Ng>FVn6`ad6!8yXtAy1GWK{njpD z$HB>Y(cUWIK*M?a|99s6Nc{KbXYuoMXHTELoVE4k%a@6XiO;UQd-ZD8oH;pZHJ1c? zBn%JTyI1%9-Q8o~%5QDS1XTsPy1JU0hI_=X9cW};ym+yxly73<!|e5YujTCTl{8L! ze{b*At5>7ehAqChB4pLHuhAJ9FRb71F|Pgf<>lq&>tl8X?V7NdS#J77Wp_0dl_$@i z-``RA_)sf%{@$<GlKX9sofiK8*_M%k;l-X$pFYj2erKt!uI}x9dSC7DcXxIM|G#i@ zvik3DZ?)(4TzO(D+7^F4|JIh1=g<4=P3M;~(J(Z;_{EfGQta-sojZ3%MnrIwzw8Uu z-65rDX!voWyPV;+{ad$g4GawA<Kz4G?OR*<no}oEaPaVK*|_oJ*RQ@lK3A4YYpbiO zrvCWw(9FzCYpRxtii)=O>eRnwKR>0uj9I@re7%-P*QQNImychJ__?hAajxuEHG6+K zi-LqdKR()4eVK6j>AZRKy2W(0^!1-_<pfuz8OLI6oH<_@S!@Kg?!m=8L&Lewtxlkd zAh#p5@AihezrT)c?=<)<?r*&e+9p=!W^f3vs%N*l!`&6iXPjvw#n0crWsAwysJp3U zTF6aeXC8)z#1jY8RTgaBa4K=#k|j$No!jnI?kU{9&opyW9Jm>rP$wzEz`)QVQ+|J* zZMBlJ^6q<et?ljaZ*FdX%+0{S;MBMK&6SnGymc<Y-`d$MQ;i~%k`_g+4bu>Dbab3K zb7tF5Y5TzCm)AybKX>}H_tK!VvrJd-+I4Hgie72+UAuRezrLnxWp%6M=dn|UVe3;M zjnzj#m>3uuCOp>D*3<;GPJ9eMO3&H2aU(mQjE1&0H#c{8S69}A{RiKdA3Jhn$+Bf~ zmPIQ1`sXiQDtdZqYMZO9O~r=~4-fzR`SbU;x5lyiHWu|<)h;Y7)YQ{^1~Pd;Z$aji zom0G?PSp;Vich=y<CD=$pRkaSE4$0{9R;$ovSegrOr&}{|J2phojiH+-o1NG3Nia? zEG;Z{ELh+$|L32dpXbe+_iRf3BAJ6fQVUE?O}~BnW@>6Glf=L<tM)#N!-<P+d-m-4 z_Wu6+$B&c!P9)Aq`W3G^W98blSN~@xCN8}E^2^NEuU|{g;YwZOApCU346EYe;^Td? z)&Krf@)?4{+9CSE5v^iYR@S)|g^P5TZLq8T6%rEi;(V1+k8sQForgm=KQ*x|UAA;7 zD=TYZ4I=}C!->M_zB3FI_4MAIJ6%{>>g(rc*2Dhn{CxZJcX#&eu~{27d)_=bF|li# zCizakyd%ytCgx5Hr?AC71_p)<<!L32Gne_y{B$dOeQJ98@1H+CHGh3&&pdqQ>2-el zKOdG(kNfra`~BCiUoTz0=g+6pO$se-ZO@)R|NZ;-`iPB-QguyY{T^4bI$D&!yK{1~ zy0DNC)Z97CE2PbGZWR3a@$t!%CwiOR6%`c^xA8{rtFdGkXK48Uv*pNE8A!5LWOq0L z>hV2@I}R!z85lrKZH8MDf10m^%0OB}5Y-Hz<_!Y_xGls0(a6vu1IiU(Z43fM2UuqM zTzj&fX`-Li%O#WjtX{_I&ppq)<UaS~nc!BHL%4#l>qJoB_{V&I4<kEe#<gvr-XQ}+ zuH<3igUq0Cu?AJ;AX{EYTw5P6FC}&B(el&(E<9SkJ@X&mYT2@sKR-T7o8=_5Ff;7B zcU$9vVqCzSh*Y&+x5p13PMkJvS=j3L1zg#Y^Y6bC-hHMt|Lq24OG``Vc0OGVjR38w zJf#c`2cAB5Se-QWaEzy?r*j*RVUPK%SFi5X|Nr~%@9*;W_x7frpC_#DXH)Z|K>gO@ zbNBv<?Qb>l3t4@&nVsLy%PVOPGXsM_(H+z3Z*Mw#dQ5y~8Ya7ym6g@h)Kpeh#>L&6 zV_6I`%x{bP+`WI-YTMY<oS$dgQw+(q&#tTt?zjCmBhjm<=+iRa*?<20S+jO+_19OX zg^!Ljv-5K`Ex4E=rWf<#&6_t*o_u-Kt$*#xl^J@G7<oC$YdumA)w!f(%fsNZx3`|Y ze!V(C!>w0p>iqflbN;DGX7AtljiX6n@=3G2J1^e7ySFylyjJwzzke@ZzPwZx6&2;+ z(D3rFQCJ^mXJ=>D)~JO6EUc`lX=z@a$9`EVD<|LCQTXlKH#0LcM@Prb&dy(6OI7>S z^jAq*mAqIPyj<crq>%FU^z7{J?oK@QxZmC`{oI`7<9%1JU6We29<yt^%)76%)6>@% z)aHnbo40i7(^FHmmwqwLz9u3jHqW*i)V*D~a%G#pr<d2SXS4H9oj&c}FSobg;i0t8 z<|iY5_ilAB`tac3;dcJ#&!4})z1`odv!kP<zkm8RVId(UC8emaK2Eek%joX;$?E>| z43pjJ>grNcQ+<5S^vPN;DG3x=y1D46y+qi<M~{MHV$N8AMl@=b&MXelFp=s_^h!;A zx+-)v8;?Xna`NN%@BiPce(x!1V`EcPT)fog=FOY)=FMw6pLOSX*4AI!@7GP<=I!l$ z_wL=Lx&HqChl^&}L|nak)obacKYyNWxgSxz<k)=s`hAX;_Wyn?-o3lJ76kUro*f+) zHVqv9hD{10qN1L+rFz}=??3kI=H<)9N4rFi_sQ-qc{#~%d3H?H<gFPdQmsx0E!Y`m z)a_@uz;vhgU`$+G-0$!2zkmFg`DcRP^4~9)&tJ57@#<BpCQX|3q^L4Ab!l&JuL4JD zX=zzmS=(uj-uDd)L$r8}BO)SRlvp_mh;SX<ntlDtQxEwLR!58CXJ=;T@2mXv<>l(| z^{*bg3ICjZb-~|bx0Fry?c2BSqv(ygy1Mw9kF6SA=k5Rh*;)MD=l%4~qFGlK9RKoP z>h*JMO*Zj|61$l_^YY%^*qD5NzWw<Cb_R|+8@Vz<=R~BgTd-h(u)3eg&kMER@0uqZ zXgE9DT;8h0Lx3ec{rRCoPA?Z8I^>j|o__cYSL>p6>&_W0^`CDiDk}O*BjEqeJ4cTm z-5^u@@5G4{D}$GNt!4p9lq5r4ym)?-^mGAmhkL?=2?BC*_ukaa)Ofy4;&r;c{r=qB z+fq|fV)ob7etvfLm+(fP{jE#DrMlrcMo<~}ZWgDo+L5D2C71QcSQ;rRD%#usKh`TP zt`}4BdhPZluTL-cnYk(F=B7ztu+)3H-%O*UA0nCAcz*o(e4f|7{``E<aKp~Z%F3v< zX12DrIyydH^UZQ^ZAv}u<?Y?w-923|cGda#;NZtEUaSbw`uzDbuf4zY>HMCJ-=wqq zIRym;gH9~mKVfm|(>r3xe{Isv%-CD~JuEytduvp$+v1>=JoBG|8+~^a{t2=u>gnYj zYT*QxFb&s^?@Ud*lwtDi+qdWE=3ZVdgSDk2?z(Z+s;ql^D*3?R^Ru(7SFJMAdH&?& z<l5igrtW)uz5cKMT}v-mBQ4NtJ*>x;ygqKP-LDtQwg3M9{?5+A5)mC;U0Heb*s)ia zd!L#g1Le=-Upm*?fkB(5uJ-bqn=`+HQpc1jQyv~}zkTDzijY+kCJ6l9s)}g$Nr?SE zt-t@vtE;Pb?V44{$M7JEuOZv=-7;QjGa36j8%xWX>s}-|IXSiQN^h(AS+t9ZLE&K( z-vZP4fIV{<KrzMuYC$tF%oUp652{4)R8b5J3?+sr<sU;W6S!jAGOMGb<HwJROlw6& zMJ1&sJH~ec`%g16Fnp-rv}u!*v-9WApIIG0eE8tu>G|^ddilFdcR0OwF)%PVtgrw7 zkE``jyL_F1>&EEqc}Jwd6{dqWH$T6>hlhZxp^eR)dyvXCD$>Q}$P&-VE`fi(@Bi<c z&rsf%4I1r~`t<dyD2t-G`Sf)Vg$yMbcT~hdwJT_#fdT46WS>FnW?1D5QVNlVs+Db3 zjb$h)Gn(mhOTcyFm%hn-4L`envj2D=k=g?qrp~aQ6Tw=dW;E01|6DPPIEKgaU+f`< z-T7>2pdJQl8Dzk#W03LiO5Z{K*jsn7mbttBf90M0cj4xemypq7$>+Vj^7eIy+j!5) zl<Uc}TV0RlSRdIZe&C1u^SA%mcwg&0c3FI}qM~BS(xoe}zUsSkZo-5KH#eu-|9mp} z-Me?!*Trt$lG7jm_uR>ol2#=dj*g8%D@~@ghw?4Z-hbcZAJfYV3!M`a6U)lV?(Qo6 z{QZ0V`@P?@va)!LU#|?&y8N{M*URO0c6QgUU9+>ZyS*(pdz<a{+5gM-GweS6H+S3I z?YHX~o@KxOxy1Lg^z8I6TwGjp=FG9WYje5c*V~5sFHX-&+O@T`wDkS{|8@WW{oP&u z{@&*F^PR%#a&|R4ZgxS&urD2a%o`~3|MUF+Hs5X}tNYF2;NzS2sCUz*O|0BvJ9h3o z`LxK~d^;<**p#VLIhz7vWA~<<6yoRSmzI`}kH7D4_w&dX3!Az>Kfb)YEGr|Elbg%T z#B{Ivy=||Xvh9+v)$IIobEZtW;`5lHL`=8htXajW#r<}>YJY!gYHE@;&x_enka%v6 zrLdY$#-BBY$;Wc;?YZf)@#Dvjd3ky6{c?Nj{#IpWWxc<*ck-l3QHJ&1<u}j#H4R&{ zv25F#zh^ck>@#wYKChlT_x_hXRiOT-e4T}rRn&dOwbtji-2HQTM@!hu%TgkjqCPMA zxt5oof4*t<wVlP!w?w_2svTbT{@&jwll{%2>s(xpJfB~G?_hk1{ogN>ckkY<(FN)d z-p=2zt7`Z0h%l%}rK58tYinz3Yqywg)uT>zm%usZ`Ed~u5qWuexw*MvVb>=6+wDv~ z&L{l1;KhZ7|NlI<*N@v%@%UKppFe-5$5m;Xn1sZC{r2{@va+(Ttim&w2lKcrr9gwX zP75<8>_|T^XK%lMwt4=nibp3VD)0aE$@}kqkRk59Qdhfv`fk5}#9S@y-TI9=$8O!+ z^i8;^;pZutT-*6u^8Tgm-<WH#9yD}dVzOo5zPSHuuFXw<=XGLZ@pC_UdHJ0&c12H4 zaEt4`koQF$*9xl2&3(JbwOdA3_U+rZpwXB#=f3Fed23^LU%Pzy^0{+)&(6#Y4Gmo@ zU8Et>)z#H?`z^1(|M~d(zgs_A2R@EEH^<Vr?9Gk1y;YIX(d=w&YAPx-{LHT@ZokUE za^=cn)5La_zAk%v%e3~~>hSfqZr$oy^y0yTfS8yy{`)IFKDw~b`K)}qsHkYs&Y1uC zd3o!mPZw8YcQ|oz%UtX7K56rF22YRmN@s1gQdK=#veCBs+n$n_lm6YmU;jULY0%cB ze`Z{kUw&(I9QynHetv4|(^s#4T?zL8`#S!=(cN>?w$7ixd?x%^#_OL;N<W)R7fGC3 zUH$!CX>sxHqNiPn?OWd26o)(YX$CKQ^5jW|$*ixhuiJmU68y{k@ZrOsKYw1mYE{_! zxW6wJ_j|p}-~YEPA|j%&@Z<aa|Mg<)a(7MZl{N<@3UR%d6)RTEFit<Wdi}mzyA+QH z``emkURtu)y&u%by)Vtx>a_UcjNttFcC}^i?nH)$hDJyKzFU63wY7C7D4cX(w5QLj zOnZH8tyJ%^YuCR0`uaNPQSo`(@29lai-?Ne-BGxB#fleG!{cUJ7BAE2>g(%MRaI?M zbnln5JtNs}o`3Jm>C@E@Tg9E6oW68ky?V8G|3Q@}3>=m&fg+C|J(7`?EiNkJ5jM}g zm15B;k(`*g@M@N8U{6<<kZa)TtM|(9*RGwh|LE?T-M^#b;`WulzsD|LQ*d`zsTyhm zyIpfNVcyP?my<Sc{=6~yxKxS9>vP7rQbi`!PIaZFTZ2|!d9JUeHEElvRIlCL%a@JK z&BJe<J9jS6>`4G(Fi>l*=9Ml*cjP9ha%}bG6rGEYCLBg@8=BpXXup$Zf93l1+qZ9v zi-;^)vV=$4%x8Yx+gn>7JV^K}$iv6CZp|7I*N;cV<L4Nqp32|<H!M6HG)C6i(h?CB zWoFIy_34kFKc`Ne`tq`=6fZbgUFelIkE{P%YHq%Lvbw+7k3Vl;yqGa}?%f<v+A@im zVER1z@a<FgcPX}S{CoBH+wJ$OzP?IbG*>s<UXgvq`ZE`=efIo)CcO9gOhIM0HF0}) z6@pUH<z<TQlQoz7&#(J*QvL0lH&RCwkJ(wBe)?(GF00Jl+qP}HIl*~hz@PJT`*d`o z%%5D?UHUpKE$!Kvna1<$e!WaPZO${t=X%k*J3Dt4Kj)LN2v`_kVPR48^=kOC%e|#1 za=$uH{+O7RwMwH)SlusXOGcohV`JEAT@8(jmrJLs`OVQ_<vcx2_w$!8TQ+Xw<ly-6 zWU~L9IdedXBk#_MvuEepR)2ePa`M+sOH0dn^X4s6s(d$z@lN)qPoLzf-)x*;|L^CS znZ}Nej&1yVKcBO{yxiaXd7lh3JD*M2n;HM^FLv+eld;$!`g!~Lf3G4VBR$ijq_dyL z=Gb3&y7g<#CBDz0lRuxixY#{>ZB%N7wCc<J^!e#Z%F4_A=2rdtQyD0tt)(^V?E6QL zf+8X`a$lQ&5#a)jQ6_rLx2xq@zxBe)lH4uI-|v>+Z(w9L%fDCi;=;l-V|MUp#i2P# zfB*d1mV0~J#EFG}e|<eW+uYsNb*5jqhRCnzIijMXTi3|D1m4+G`I%dPk3v^cLBWPC z+su-Va5xI^$=U2kJ1bRQUY?zuU0(jZ^z}8*->XBk?0-CH{`~yB_i7ob-e;Za^9<5u zq9P-I{`gVz<)VA__jgy-mn~f?S>67$FZ96P9j89_*Z*0ZetzES@b&A~ug{<Gd3t<Z zVOiO}s;{dyuJ`8&e)RaUt&I(6e0<faRmsQucJACMc`x$mxzDrjrGEY_eH%1M@$UBa z^_w;YExuUu|L=F_cD~qMB`Z72X64zhmN_uD=l`~O{<p05cUEpa$(MPza@pT-%Xj<# z|EvH1`+n5gZ--jBFE8`WE}NQsv`cidny;3o=FXCrK@kxV%{idal>7g_ZI9lb_cGWl z_tuv$m;Jrf|ID!{Ty*lb*1eNj$2$a-A3c7oAG2e@)vWXL?e`}fY}%N7+${QEpRDyP zo7X!Ebr-w$`+0h<T(xS|x^?$<m9AdDe*McY?sAnWXJ?sSy?T|EmG$AnhrgKex699~ zd^Yp#?d{jETrsg=&-wA;q5j@4lS<sTHZ?V^Sg~TFvU}Gei_A+)=GXmNxo(}FzJC7Q zU8Ude*YDrblbj<1DkgWAzhAdv#f7X(+ZNx4tp(U>X=z#f{G6;^&5nn=SCt&rUd-NM zDfnWQqWk3g`X)cGHjAY7$Xb6}U;lS?=OQVUe{b{aKY#nSZPTVt-@e`3Rhqr}x%tPx z9Y25ezRj<x`E!`xeocTz)t4875)waNE}#GE{2J41e!_3npD?^D__O_M&81~Oeb1~u zX0=50`OI(pmfzmrmlqI7$jyEG^r@({^zEDz3->37u8-R*b${b4Xs6*?{SuM6e%muI ztJ&Mz?~Jj_xB!|77u&w=<oa9uG8P7Pe}2f>R-JfS<nMppwOefJ^y%i&``i|9+`iqu z{9VlE{2)zD&BN{d+c$0uTp6OMs2CX;x$LsBkr5L!^HTZa9zH%fh4x?G-Ti%MXR&*~ z94`-#iI2XX-aOmtZL3$W-nw<`>ea93SQdMEd%Fhucz6V?zB+B%G(9~%<Fqpu;?0wC zWa@su-7c)=^Wx&-cBh3OK7Oox+-v^j?>Bh2<Ce?kAE^Ngj2~XFu>?1T|Hp1jJlyv9 zc)z;3`ejkxmX;PCX|tT4pPnvbQ#ma7K$k^Ezu}|*f96~Z1<5{8<M<X|`5I8O+TjGF zgFuUY-Ug07anP_LNDka^zQwk>=8HX;$pCG;Lz?!W?nlG7!~FFZ|2ND7x7mMXvq<kb zIH9imGNVDf;eUqzva5Rn7ZmS}{yghx1tY_SodrpvAafzz9>^dZ#NY*g3o?}%7#JGN zj({ec!2O0M1&KRNvbni`e|=rJaN)BjGWK<U+IXd-URRh#>L0&bV$XbLyMueZV_}l$ zg`M}9D$j0XMjB3=eRj^|$;KrwE;KbUEe)z{KmK~#tG(S$PEKj(=Yg7oyLRu6-(7b0 z(k9!w&}%MWv)GSou{WgMD|sKbx0#Li(*NHVocTR<Ir;hHcNQ(Rt9^NC>3N&aKC7?K zn=-{D<-~+z^MB8N!wVkxez0W8l5MNEI}5sgwEzF}d~&~S*`p(!4<00F-qX<5j^2>a zID7W&7`^i1;^++tj**cwJHI?W-tRx(?(V^Z2d`Z-Q&4!Y_xrue874tLK{>3yzklo2 zt^NJyx8>fxwP-#gXuMK^qbVRVvhvjxO-BL0c{Y)tDI!p96umv~?3ptnEQ-3ixzEqd zonQ0Gb9FdqF!00)kI$dm!K3fX|GwU<UH9|p^mli6@7}d*+0v!9zg{d3dbB0;@|v}4 z{pVPKN?&1hzli8)|Ji0|U4DIfdir?3{QQ|SE5E+FI%Ud~OP4OK3|`LFG-1Mo4S9EW z<=);lb^3Hr5%BfZ)%g0qrK`UiGc4HK$zaw0t^Tak>W|mfMrU7N_w~z{Et@ybwk%Ey z4W0UL;auzTUq61Fc=~CgvU}W)0>^m2l9DZZ_wHT1`0=Bo-LGH0nzgq4@2{`=dp<O2 zbbWqycCz22>2kjwb?eJjy;zuieVy%x1I!@HqTg&?zWn+6{r|G+@}E3=R#jPf_vgo~ znDrZX{yH<$IQe+r+pDXmZ{1p&kdWZy)b#QTo9c`IriC)n-oC!3-|Q}}jozMpecj9A zxV=?ZuU)(5QpF5uoQfQssO%03q+ee^llqI@db768Z(L`1pD9*iwG2a)lA4;Dsp;1f z6O}6~E2mAH)~0T)s;XN1`K<ZVr%xBV_s8uhSZMe6#l^+;|9(8axjCJii|fozz8^oI z&-eH6(9qNK^YN+q_w)JJm&WPmO3KRkcz9}_OmtWCopnX5Iy@-o(W6I6b#>z6(;q#0 zv~9(9#|I0|D?dGvG){Z+{CRj-*s&u=-rU%DxTK1^FF9G+tw+H1<IMDVH+Pk;c3Zr0 z>(;$>e|KHkvwVJC)zwv@;`(uWDnCCv+AV&+_WRwFlhtQ?T;E;#`r6OW&+pfKJ{!2$ zjk9UO#EFJAKMMXXR(9{361F93`+P=*HAM_BSXRrR4h%{^U%75wnAX%^MMcHMU+;(7 ze>lMW?22{erzfC#<kS>R-l$I>kIQp635bhdcdK3-pkX5A`}m8TZI#K)_{A4BM7pf) z<Bq+`jp<vy{CStCcAu<u*~?3+bN#O8?AjR0SKPOF;jdp+)z!b7nwq9enUZ+8?d9e5 zvAe}&WY*NDbAnrdCKK-|Oo6Nl5_Y|K=#bOut6hsEL`7A*7KN?e`+nc=S#Q%DLirj( z`50mY5)&UX^V=v)KAB=PbMoZNN4v$Belboz*CS^ewKV8ticxg*?OC&={s!N<d-tpK z{{R1WTW&ow-`?KVw)WqjpKYDj*T={2ulw6BU-#o$bpF+=SGOL$XK8J1e$y#D{JPrb z_&pUDZ{FPb_EoNqs_N1uOP)*(kNf!TTUl9IUw60h+`8SzH+mY)Jag#Kqf=A0<>cfP z6&3H-exK{3W?l7Vg#yRsw6ju1DISi{<{bwg-#p9WWt}B|%j3+!O}W}158K6cA{00d z&Hwjhc~=*gqrkSDn@SvqrfP>*eR*;5)n6WlgsIF9>Jd+0+}@t=>gxKqBtQRs?(J={ zd#gf4TwiWZp1fM-?7WHhcf{46%3i-$E%vdXoZP>6yWej+8t3lf0!o6<p5NbBTkYa< zWUjn^^4D1!&!3&0y}Rt~rtRC!=jQFG3yO$Xp?~2<p-I~3XJ><+v$M0yTbKFFUl*da zv{`Rw)z_@;d3Sx5m<Png>FLJzNEj-anT5^YSNz=XaJFU7SK|X(><6^i8}u?TXMKaJ ze0_TtFJ2t9^33`3{asx~HK#yhi(Xz{-rm!7qt)(iTftgXRP^s-fBl;1?S29+FJ8Rp zxBvI!P%HP^edWSxJ{d)|2X5##KYsK`&1c4ivae=l7=w&H%R%+Fl~vT@iy~rT`@Y@E zJ}c**>^H~a;|b;dE7z|5`*PXe(b4hOmj@3Xh-!z4h>6|XQ@MG=h7afK|9yUNu-SJB zXh`S(uj~8Q#qHHvTci`c&Bv?1tE=ksS@ZqB-|c?&>Q(;!zu(qwzZbP7BM?;Zfzq99 z_SD5EE1j2L&PAOl4m`EL{{O#*28QhHY<>OpH*Q264(;Q&`{A%O$kM{X#ntudwQJjQ zrY7InQ7B*gWujf+ueI;O?q~P9CFkdZmVOog`aeCs?&a0h;iaWt=gO}?_El>3#^9i! zHh%fM<mAOcE1jI2Hf`GEvphW|g@ujn){PrKe*IEYQ+w5IR3_8=^6u{MJBy$9$=OOt zNMy{2i;1zR{+1IS9-f_@9Ugw&viRAQY13wT{Qq`4U)^WMg~jgttxgXgKmL47I)BRa z>E5n?(Hdl{E&uXtIK@~}@Mn|Sg_$My;t#(q(Y?PR@$kpT$0tvoJo~JqkdRT%jSWvv zPv3qjZg%|py~jW`YZR!K{#e9R!M)_^8&ih3{h)EidwUoeKr{mb!yo;3pb@=e?`EVl zl{A*#o_hadwNKK&;A8#r`RDo<-=F=Llfl9Jo<QVN2CM7rFK$<z%|gsm`|h7P(-LW- zdehu~aR!E1q17@D;nN@$b)Rs4$$|X8+~83&9_eMU!Kx!a7(p!>2jg#VZVF3EdfH1A zzrMD1W$^NSU#~^;UOIgE@b@=2o&SSoOc@tQf;v2JHXi2*{`2?m<;$0szTL8AOG5)g z=ItY<{JYEEe){?~R6}I3Tkom!=gni2-Q14tD17|p?c3a(oTjFxCGm4FPrtuo5u2&h zGIcezRadiGodiWhrp%m~X%&kxOLl9{zslclx4(V+Hoo@jRkoMT?R>VSuS6cR?=Y8~ zt<ES=#E{_xoxAdKL0)pHm^=H&+K)??EXm*ZbJ?CfHD6v_<QCU6iGBR!<mB`-GbYZT zA0HVhDJ;A>`FJ1O)7k%Gi=EMDo#tX$fn*l_Z(r^2q~v7#|9?IoYn;~I?Oj-C2y@OB ziRorcb6<&8&z`QVJ@u4!_&SL=wz=R{mRh=Dpdr&GOTN6me*VlSQz=mHcUx>2xOn>X z>!3v}J(7<fKYsk=NlId3;;z5EL0|r#O4+n%(V}~MtGSy3f`cDFc%X1KTj%ci^ZJ&S zH*epL7HBy=U7wwuU0g(D#)|Dbc2rzg;0Ow&$Nl#AES!CPd-v|G_4W0&me*&HZG2fN z<iHI|u&L+HodcEiiC+Kz{T1ap3hG<^{eHjv^|iG(zh6YF9@6YvmoHf|Wy+L2pH6At zyLa#0xpReug}QlrM8Z89CnxUpT_!FjX7}L$^Cit_KR-Wl{Wz0Y(5Ps9%|}<wdl_#Y z9qm4M?p%-jgL@^rKdUsPedLw7urhAr_MdAjQ&OJ%`1m;e?5xxoKc3tFj|5d@D*`mG zt%*$D^@m-qBH`z!r@_m7Uf$gN{OaoPP_3ymc_B+E|D4v}9}^b#tv<d8JO_4IcqY&F z#ICL`P&Kw%=2)2hET8Y+zx#W8Z{EB)dy}Ep(oKsNIq6N8w%b@}R(taQ`~QFU@2&oR z&vVa}O^;a@G#eQDGi5M_SvIW8In=`0Yj5rjUTis|vZ)BEh&JD|;Lr?=#gnN&R;*r~ zT~xHmZ~5irJTevr$c3%$y~~)3GbQa{i-9)8eXN%}Cf%fP1hV|{BlDfjdD-(=F4zb< zJTKh6J`z^)?PPlio{X{M^~x(syRpB%-oc?^>(;H)r-$d{<ZR~k@br|ltJ%@p+v~NI zi<9%@sZ&NZCD+%*=H=yGVwDT>a&vP_NLbL@+q-`K`jYC^YTviqEWzmLxg5?>_n-IX z_V)E#HeJj){_oRi{k>IRSFKx@_x~~Lg2x#){!AH$Vt*UYEn!uEm2+dm!yg|XpFDZ; z%e<LRuvwi?yNmWPFuZ7zPpGhF*;RIe5z%|vrK2a$4w`5IFIIqdoj5ET{MMY5-@tsF z8{EkO&qRazM9_Ya@WXP@yb8k>Mekh<FW!8)u3`Rzt?|q5*%-4RF`!AFsQEr>kL@nP z`ezH?CMWoTyK@)HB0x)Qp$i`1mNS%C+zDfSP<qzp@~*czyZ`Quw!PV9n|$u=o~W3) zFV*k;j4QcR?gQ$dUHDo$?f27y`1xfo9`3$z^81^Qs-Pw7<&*zKKhL|n>*udu`#v6% z78MmO4~qJ|eSUMr`ENnT@2}V2|L4;E`|*0y?Y~@bzF+%Y7SvbV;qDo4GkyB>_xJYx zJ~dT);>3wxI4@{Tnlx$OuUFc=Zo;y%fA18Z7c636XsDhQqxb#$_x`><yTV5;3LH|s zX%7#zo;!EW&(BYP-;X3;-`*)}4}L%OtNyF{3v-Le`!{y}HkzqpXc)LQOk1RD!GZ;6 z&iH8lJ=QC|e&4TElP6DJy!i36v$LcBm~PwnO<Mc@5mPo$aq-|_GiaUi*O!;me}8-X zwm_$*wzjyqm^XOS=FL~Lwr;tbvY)eQL-uvO`1tr%C&R2OEB^ecxqSTSjGmsJ!pFyM z-oAbN#tjx$R#i2%SMph#?%kGEKX&EnRo%EfH%^{BdGMg3mDR4BdPW=LeYah{@ox5w z_+-1^Z;aX5+11sTyLO9Ry?WKN(`s(s-Cd<|adBExv#za)yn6L&P*qJ$&HsOY-|v2J z7abiv*Uuf4blzo}=iRZW|Mv&9z%A>FhND2(+NjW&m^m{+ATlImOV!t`%l_BrFV_FJ z(6K5Rtwf(BWS(>5!|V0?=UEo3X=}fJadENkJ=x^9=3)Cbmeu|Fcs%?1y1QF4g9{5k z?yLR1q+-q5UU~a}H#R1>Y2L5<otu%dqO(qzMNw1p<?Q@@n)>?kwpCvawQ~E)izlo3 z&$CHB*7N7jpHrt!&6qJm*1BwlUEFqSzn;j=X`lsrkVUAoXU)2mQz!iUYKnF5+ufai zP1P(de;${w2Q@|l125j%n!WVMj2SboT)Cp`-uL9`)5xf(bul|Heb5B;q?UM2Hp{tD za6Rsx62qO`Gp+~r{@EqQa`4inO`wIOyUWE{5`TSpDb?#H;>yq8f9Fn&rhi%4w&lyy zC#%l>cim-|0*9-s>!odOivzW$UfQ;Od%2%q-xl54%l9|gnqI5B{M20U?CI05+vV#r zo>zXou+aIu?e{qvT@xoxJa6}VjYijbyWejnD!co9nZ5AUt5<9<pKU*mK92pZV(T@F zk6*r+=o~-8Hrsxk&z0Lx{>@quc>mm;J2CqD`kB#d!$3`}OJ$jvD|heS{c!WIudlyf z4UfNjl+*E8uOP#nQX|P?!Gibu*6|kq`}6s{u)5!$)A9d=goKo)pVrpa&dteTaa^%_ z_2$i+SFc^08?)(Uz3&p~>P3)E0U_(dR!=?sbXob4h~8tj@^}3?wlp#_GBhkqYwD?Q zbHelQ?U9s_m@#o;;s3wiqaz|>c9mp4IMBG<fBv>jn~bjIr=Ocs`T4B5|9rdJudhP? ze!r!g;a^tv?O3n0|9rc-lP4!<XYU5>tGFeX{B_$k3qu>d($Z3{)<bhZUhR2mzHPr+ z)|%C;FZat^TU)=3F<Kg=`F6*VLx&E1Fwp{UOZc_hLJ>Uf^Fo7(iD_Hz?QJP1C;j?W z1z9bjxp%{c3pZ~@{=XPdzppMZFmQE!>%&*CsvaI<&D_0U!GfbtC9?m&o%a6OGti*d zmd}kFHf;)8eYLQ#keQ9=#r5^^F)=as_tmalv&P3p)ySym)s>ac&(9Zk-T2Y=_!)b> zy1KgC+j38zII*Md@2_WPXY=~s*|oOL%+^nYtM#822YC69<y+xfTNCPeXNN~bym<9W zEBE`$%gYxna@xP@!h=n{yQTBN16_ToM>+(*efze%{QW$mR9L^o%WIlmtX1kM5zWKs z3so%=JpBCjO+KBHerCqTl#`RX#r5O%)l~lc^i)^xc*O7g?SI1KYfInV+4=J2OH)(R zojZ4e%D3M#9TzTKD8E;k{tL8{)gLtU^v{Ve8MM++R(7gaYF%C3<MU^q$xp|qm#=OD zd5n!m;=|A9^QE_?BUaMt>Ba3TS^1Okm2BVk+jrv~1(y8P)zyvNmUDCSc{^>@bMw*H zeXMcJD48CAV@?iNL$)Quox9nVQcG0S)a*W;P!0_Z{rv1~aRCU-Fwc(*4W0TW1GTo5 zKm7dNt*xieo;`c$kdr~t!Mx4t-?O*g3XiLFT~&U1n(nk|)6Q<&fAW0zv0M3TYJ}%s zD0_EDQbHmlJNxysXP^Y~ZDzQB{63wz*(G0Jg|<2chJ~f=x{p4b`=-!P4Pz1Q>5{#= z((2Gk{flFa*GlvyAjZ}kPJX<WV%;knpZq)f(TTh}I|7#mSz1}?#qHU#Zk^x$H5<`J zgZaMNo&I^5;ho*OrwkRb<v#oW|NDJmq4U@0j-`t}%?!V|5S+RX{I7Vo^LbHG(Yn~( z-`?$h?>Eb2<>jgT0!0iC&NZU!A9lS9m{;{`W#D4BpFe)w*;V>_@ArGJOP(69U$i*! zA}^?!Ae}T7v<d{;DRSatkZt!-lQzki@b7-RT$RTz(S(YMAE%~je|_maU9a}p%yggW zmo1ih9+S)ZptCgS<@4v;)6Pn*4a?pY=ea%aZcT0N{ffuE$Lw`V!>gt)Wc^UJ@IRvy zAH)Ap;zkiqzMXdGN$o!09BI4N@J(zP-`b~r`C0z{UhUIUQ%{`m=+gub6<bZH{QRu; z+s*VQg_>_S(?Mf*LUZTLvHSDkux0VHkg%|G^K5^wum8Jx@7~(#ZC(olc;sv<uCI$N zEG&HXWcul+|Ni~Ec=4jT-y8uJ$K~kDf1^%?g@<pi_?V=wuI}!Be8vok!&gNQU;6T2 zN?TnSb*bN__3oVYYj$z4oz~|u04=a-sJ{F8y#4$M69Qsl=FFG@TIcloa{9SBFW<b8 zk&yUtLb?CW+TRDe7iBzK{ta~>g#w46q2bDvE8Y8KPM$u!dCQh7^HsK$y}fnl(4o!g z=Rqs}K0G{pRxEqXoRgE)&(APawzuEEX_JwfTH5hG*<WnZ(R&#g7?u@Ij#<#XZ(FKS zpvZEcnL#lzZyr6GG+{!*5AQ9}+j1iJR20U<#JIS)Y<_AYX&`YeY0Wpa;H>QI&6_q& z(~10a!I?kz=BA@Ad#6pC#?|U1(6VaPs+X6S=il8Gx{FT*qd&ya^x*B=z4`a;<mKfZ z1&WG_{`~o~<dxJGm;dWG7VX)yXPN(eyR<VB^78WP>gwFw+?Ri|Lc+-E$&LN>|8Hze z{{H^HecBm`zsH}xzP|qV&!4)Ho1VO{|Nr~E{ePY5r)TRPk2savDs!pLX<<Qe@ocNo zSD&7q_6^C6IE1=8!fWZKZQH`;gL41!%brK$koHNmIwe{?F$nX+Qo|h1_TaE=u%16l zs;1bnDtZZXiwwgp{U;elPrqJ|U%zVAuQ!{|D=8`c`uci%*40(tI4$$Cw`ETF|Kj3e zZZRE;@^>-&>;7K4bm`5TH&Rc&fBJN5fBpU~rzXyxy*h05*M&!?YKKqpS_*CqynFX9 zXxIMz^^>2zxVx)V+s^La)9LYg+S=IyGYdei)$Og>mJQY3etzfd|9$K)eSM9yNkCTi z@5kfv@jD6@J~ppLR0Q_*|L*K8{`~3FmZ;pSs;Y>H8B-Dw#V*zj49on@!_LhxO#b%n zZggzy+N)WnQoUYFjdI!`eX1>TOrS_%FiAW)Ni~1(*J;ho%?ccOd3o#i|NC`XfBzlL zsDHm+uLte#dpbQH)O>SxcCP;RW@pC5MK?F6d-sD{PFJsPt^W^N>LzblwB%o8{omK| z<?rv^T^+vu;$nCI*=D};^VZB!^_~XW;P&m?w|DQ}ffjrG>kFL(>KHGb9=B=RwzP%J z3=E$OlSCWVS!^x5$jZPV%eES6*>s8DoN7?NWdZNTQ;ZMZJ<iHukj<T!`T7sE`~p>) zp!LuoH4dO=EV!hAEPDe@^nh1ZL)C)%8>nib9hNgH!jOg63>Vzs{h0;clTW6UFg5U* zp5Ibh2UQ7K0fuZT1H@G1Sth7jP$YvELxY^A0P560dr1swlR6i9=!1kalws?+87?e6 znPOzc=+HhZea3WTL%*|yxgzr!AZ`F#vf%Fr=kx~7X(gcb_R$yOgYPLQDDF*OwwO1b z`-^Eq--mT)VptY9pEW+??V$bWh!z8AyX``?@78Ky_gpwxpbP3cDsaTyy_g2^`GvL} zCZMey4v2c9L9h3AGsBCF&pe-n9<xAv3UP!$(FInJKVUo%8zrzIiXjmLb}?))4ibbf z6jByxT;c|4yTt*I_L5AanLU0C2llY^StA9a$)WAnQ4B{4)C+Y#6pbF}fw!B^o&Imu z12%aLPxZOs>=zoJWyMWqusXEd?U@q88Se)>%0uTwurj<bk!Rg;UK6@%|G@tTQG5&z z&kx+>W4PeC@f2ur-vZvkP99JaLYga#mD;Yz^q8f`yx<Nexc`jeCrC;_ausOU59Buj z!E-@nrbgEn(Clb~*&+D6Wb7;-wZ*~*EEo^iI3p$O@}B(Npb8e=qvx=E0n!SZyklT^ z+b*xi95qoDv_suW?XT$_UZ#d^evs`7?>LVsHE#1`zpx9udFM{8(afITmzW??RB#(A zIOj1-Ng^awW;h$|3jw(wsh7XN`>~m6!kmW3+{YA=;s)Qo2apN4;tdu;v#{jAiy||9 zu65mHDETwpSVFyo>9}};j8IXD%N$EK1_p*Z!iw(col@_^tUJTm<G5gJ0ak%>0wlQB ziWjA%r1VIepSySO-mzn98X6jghJjxEJUli94;r?_hKHx;=f{VIr77+AQJcK)(Dc8K zUe{liyuP;f^QTWiD?>J?on5tV-L>cS&t|5FXkFd?exG&On+R*`-TVLleIFFtEv{cy zR8&+@(9zeIS9V`2Bz?xb88cRdtrq2S4G0KGOG`U_OY`ZS9fgZ`@2=jScb8}O7PO9j z?XU3oTGNUT5A6TG^soK(<>tQH-7l+pzp67ZFkEnT>cdjy2mRvK-?O3gby()_+4=h< zjZ!+Ao0~iTEYk2259z3%a0$z%_u8x6Vmd#*@BhEI>gy}>dlky6s!yBw?F3j7&(1P! zZEb}#Gjg)BvNr!tiwI{%>(^%$TC+N$Y|3Bm?}N7cz)ADt<9_?N-DPi=`Ofa@?*9Jv zcKM?toR_~!z4m8dU|1k*_;t5TTwL7c<^J-<X+8b@{gWq8ZarH6c=D=MTKxR|Z{Fm% zyB}XZzs}0YsOZ*~Otnw{x2r`S-u36tpGlJ^@7=qX)p1A7&!U2Y0!PQjDVx`=J9p^N zp<B12ZoRm+_I9tdIecf6GKZ6&U*G)s^DU>hnXe01n=C3S`t{x2Xn~elv!vMB*?ZkC zH<fwKJU`$5{mYk`Ysz}v9=~{@G4=i1x3bdG(lRnRY1Y2q)h{efQ<B^-$a0MH`1Hrz z#~#{B7NubBb?@xynIbpKJbzx)+Ii;r^ZNV!6B8E(tu&dt|D^MZ5UuR&?63c$Afu>r zc+Et>dkJ!&UF={D5nVn@o?xH<*^A}|J^S_R7u)l^xt7Jx&YIu1sr~ik>gw>NA}bxV zwO5}y<+XDCnat%c|FO(?bkKqklnKgyO>lmHZEf_&k015-|JhV>woQS<{?CWQJ(9+8 z^?$!^*|G(+%lYP?U;eM!=AZlf_wQwJd!<MA4V(16d-r~SdpkMIvZ%QDYF24<i_Ej_ zmv8K-dC<r{O+Vf)_0*Jkw$*Wat3sCsc~<V(v**#HM@>ylvvSfOSNVQdKOn+?jMHKt z!{ZIX2BqsT+ZUJYO)5Slv^sq}XZ^mVy?yrNcmbC1@as>Wr2PHWpuq9@`T6<Q<#};& z^TJm9`up>9a~t2imU(%ZZuGV_TefW3v7_SUrKP!7l*{j(n>9<y-Q9g@(9HSs*Y6K- z5op2Ei(T{*<R(yNvFtdubjcDPdAmEuj=3!jYHevrNllfs+m(7+tko$nI5;`&A7mS) zr?`rTrq$fM%gcQ0>gtMi)?8TN*xA|1tG6U?Ltu3D?u?5{?(WCq_Eyz?x#+%3`o4ve zsZaidwW)7&{=}U8_xCq56VsZtYxnNila!py`}xhCoyG<R7p`5qcJ^%U?QOZsUYp*X z?+||J&1uPmIR!P0#}c1k{d9D({{BBkW@g{w|NjzCly0y-;$$YF{@_Pb;f>a<AJjae z)_%L}Z$H<j(#Vzrlv%zy^X-h$n|yLf^<$<3vX8V?4g3y#WPQAWJNY9>-a$HRfBf|9 zPv6#;&-m<jDsycVsC+Hyn6P-U?(z+LKwZ0%l@kun_!fB?BvH`c25n8vdj9(L?Af!k zXH1$qcWu~eR>ui{7ak1$(%EaQf;v;Q>(y=D;}O+HMn=barPK5C^OKW>MMS2|n31vT zp0s)1o?ow4`}z6x_4Um*&%Y*qV?oN_{f&){?0hm4w!MD!>do7?r%#=dXxef7C(5}Y zUpOVyW#WIa^f){9EkhsrOZdS3h}Y!bRQJCa6GgFK-%d+jV~b^vlF#+siHF<b>;HZ| zGt)RSGSa<YE_YjZT*brIwb9$XZr`u@e0GAOvy6-k$T6-iE=P_Z_rA@^3EDsccg*2+ z%eK}X`-5{pZq{GMpT}Mzb|0+_+4hG0mGAV+7W*;Q8T8(}chAz&^3t{~hc2g_{8hg` zet%widU#ZnR@b8?o|DVo-cn`yzDK_P&&9iU_k#8e?YnpOtgg0pw;ki-mdD=n8wzh6 z-EvFo_~U;2x^HhH=lV^bHLL2yg@wO<{gSW$Q~2V-LS5~(<?ruZY71JqX64Gv!qs`J z=S-P0WzwWc;c=BmZ{NOs^QNVq-no*0_v`=PJ$%^tR#|y@{x-wAyUXX>RDKeVuPOZc z>gxM_zw;g)>2%rS@E?7SDt><*B4G56ZQ9DU3278ez|~MsZ(aWVePLl?XYB&jCU-8X zc>aC%uFpk(z^g0OI1a7-fBxRw<EEv{djI=tFgePya$0O%;GnEn_EG!6<;HV6wuE+` zTC`MlZkBe`^n)uS4rU$?yK?K+w6ohR?DlP`O>|!qnzE&5#n!Og+?>}JcAeSK)gY~* z6v1Jr^yIsH-DGuU6&<w+Pe1=V9KOTWa_9Nd_~++#p7Zp3clY+@bpM!`JH_X1(^GyX z9&VdDeY*G3phky)$jFu1;+-zOzP{_$t-Ezv=a+xvj)I4CEQ{HArA$g+g}h~Am{<Gl z=9@P;y>6f1Y(6i<J3+li{~|+WMzv4n@l~0Zm#vN4TLs#6mwvwP^I7w)@lRe{*^qdc zPsZZHrAtNg*Vp}jJ<}xf(!pkSX=&-JSzCivmXw#9@B1^yvUr+)eBIMiQ$acA->=uZ zzFl1GzI^FY&8ernr|a$g^=kDme@W}IH6AKad#g-W^1L{5<VZ?-`sag@AQwF5{&XR2 z<_G5}^SnC(oi1O$el0C6RhqbB*|KGa^|Q8DUOP9}dhg!7vNAF(b8E#9?O3<|ctHK9 zPoIwUN`p3<y?duO{j~L8p7~L0<F@6@jL;G5J}N0G+1J;1>)ZVLf0h~=CvM)Xd~#yq zt=n-g?X{JaovS5V{J%0<33a+CO%z}UIiZlDGGlU!R9(w$k#%u<e?6J(KW+N-@?B5T z=htq_zP|47@9)AU3=9l6nCrMc?A!C<5ckoeN56jkntg3eXIIy&lFF@7ds9zOlQd2f zuwr0f2q;=m49db5g^OI2c9y@tx2yEERqVZ^M_n~U&doCIzQD-9aKP`wK~N8cA?*lc z+v^l?$)y2lXiox_Yz(TP?h1n!AE;<s0O`Y|%Wyj83vspHV$ZGPYb`sSqrN^v-9Kad zG#kZpXPD0zZ;39++i)JF!9f1@|AeUl8dt71efzL$!`niY^(TZswb&%q%w)e27jbvT zhgh(|&(^g5NC2-O{QMBo9EVs4agW2vi{3kWnIC(^O;rEF{!Bvr*!0SVx2;!uxnYi5 zRj|PQ<o$pD?!?!A4Rvv8nLRuD|G&SfMmKkrzMeH}))(<>g`h<8Pd9p-hl-H8x_YO} zrrg`x{C;1)`_%f)e#O}P>p<+fN$O@3)UBpYof;Px7khGY-d?@O*|CprzpQeQ`{pFa z)q1FvTm05J!?nk*eZ6XS%Q@$5<I>(_{$H1$X)av25VS%sHTCJ;-Q}lGpH5CrUhY5t z-oMDnYQDc7H1qeYDLX&U_TIgF$NS~~Kb;=mCu{xff;0cqCr@S+{Ct<UY2jO=FD1@@ zUq;%W6wW>`y!P3%XX^7Rlyr4{w}YIyHej}vzeId-f4=zR<mc~yKUui*bAW<CMRj%k z_q*kHUo{+krl{)vT(0)Z#qam3-(OnlJw;}UjG4jF?Sb*}`a+$zOrAY^=C$<FvuA0_ z{&Nfx52eqqUG}^9c%Lk2$K%6K$9~^`DJgunOfu?BKz-FU|4&D5eRk0{G%UQeC3EfC zwY$<wZ^>)xT1wo{`?~z_j}QC&<z`v)voblBm3>R@w_SF-#*0tdKIPA=)$8Nxex`1W z0PQDQ8@>J7)vJL;21{?95t%=As;HdYy8A`n-`#C!XxOvI=J9IK7X7W+*GuX_EB5Z* zz1wp7{&SJ_xAhtwKD>_qzbk$}XxG+ko61lB{{HU$zC8V}ivJp0e-o**2b<aV?%kVz zZ_mp8+x&hfORKU!&fa7H_VMB0c9l1{D_6uOyt=aT<jIp$WXhK8-1+mt!DjuvUoKr( z=$w9L#=$Fxr(`h)|9N+Jx2>&hcX#(!>C2ZdKP{?UzPhxaAYk=Xsa`cbJ-@{lS6qF? zE?04&<@EjYYUMj(w{G3a&M#N<X5;aDb-#0!VKFs1`}#UwS*tHcI)!tuUCXS`S@0yG zruREEkiI#|Wr=I(>wo|9<x1VPwn>NMy!xEm`OeNZ&wp`Y;l+y=eQbSJhS?syzqh*l zXqV`{d!X}|@`_{Ly?hxN5_08b7CXOOOlauUwVS=}M(s<Vos+S<L@#ECLCOgMgbO}C zKE6J7_qM;ctlsvAPM7If|M6dm)%<{>3GHcTo$oS%s-KjUC0nP<+)>#MTC5zqCF5c< zzuk_+!)^EfJTq@?ZMC$tY+=2&dd(Ug9i2D#|Nr~$Z~s?BMrO_b_|@U-=h;@5IXE~h z*Os)c`qC+^UQ#b-Uk6%%q84*+%k8C?*T>txRnOr4x?KF1=e&r7d7vGVnwp;fmzmtE z&$W=3h=2U|<*6E`PaDdg%?yvP-MVJYn{NGm8{Qq<_I&g8*grn^7Wdozdbj)ir>}+U zif$Z>T)O}7+x%vB{<z&`x!Kv-vsJmdxZ3z+Z#~>T_11gw>Tho(?P`9Q-><oR;X=Wq zBb@p9`G2kJ?)?9B%zWqHPi@<>PfgKm=ab!4`+Hl^%0Ca=<>%FWI(g)Xi}GK?d;Xt} zgnd48;g;1|cI~~V4*rmO?=OD+a46rW3u`J@?7uZx-M>%5u!%qHX2r=w>Go9{4o_Nq z_%pZcys8U+uY;HQ{Cpk%|JK*Psh^*n{rB(R-(O!pfB$}eSLy1L)6I+Ojs$rBetT<k z`gvi08%3c`HeM+a5s@var>9MuCieKR;U$RO9t^x+m$N^A|7*#UgqmuDeX%k8s_c~+ z?`*Eb*BxwP4T~+};B965{(rUkk!j$<@)z^ue(uMoZ4P`p^y*mad+_N`2I;ykt)LO3 z12sFq11AlW4s&JZ*RUO%xJSwV1;3BAUXT7~hTGh$rNxoUQJm$v!MTY7U)1i-J$>sB zlk(eXH~r!+`pvtLr(5YXXD0iM^o;E<?j+1NydUSDBkBIB%Vwdy!OtBA`_3@u=	( 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 literal 0 HcmV?d00001 -- GitLab