From d6beeecabb4d50475a5be6a97e8fe91d520a6396 Mon Sep 17 00:00:00 2001 From: Wajov Date: Wed, 14 Aug 2019 17:47:49 +0800 Subject: [PATCH] docs: add details in AVL tree --- docs/ds/avl.md | 95 +++++++++++++++++++++++++++++++++++++++++++++++- docs/ds/images/avl1.jpg | Bin 0 -> 16214 bytes docs/ds/images/avl2.jpg | Bin 0 -> 37387 bytes docs/ds/images/avl3.jpg | Bin 0 -> 40593 bytes 4 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 docs/ds/images/avl1.jpg create mode 100644 docs/ds/images/avl2.jpg create mode 100644 docs/ds/images/avl3.jpg diff --git a/docs/ds/avl.md b/docs/ds/avl.md index ad005d62..337b4271 100644 --- a/docs/ds/avl.md +++ b/docs/ds/avl.md @@ -1,4 +1,4 @@ -AVL 树,是一种平衡的二叉搜索树 +AVL 树,是一种平衡的二叉搜索树。由于各种算法教材上对 AVL 的介绍十分冗长,造成了很多人对 AVL 树复杂、不实用的印象。但实际上,AVL 树的原理简单,实现也并不复杂。 ## 性质 @@ -8,6 +8,18 @@ AVL 树,是一种平衡的二叉搜索树 平衡因子:右子树高度 - 左子树高度 +**树高的证明** 设 $f_n$ 为高度为 $n$ 的 AVL 树所包含的最少节点数,则有 + +$$ +\begin{aligned} + f_1&=1\\ + f_2&=2\\ + f_n&=f_{n-1}+f_{n-2}\quad (n>2) +\end{aligned} +$$ + +显然 $f_n$ 是一个斐波那契数列。众所周知,斐波那契数列是以指数的速度增长的,因此 AVL 树的高度为 $O(\log n)$。 + ## 插入结点 与 BST(二叉搜索树)中类似,先进行一次失败的查找来确定插入的位置,插入节点后根据平衡因子来决定是否需要调整。 @@ -17,3 +29,84 @@ AVL 树,是一种平衡的二叉搜索树 删除和 BST 类似,将结点与后继交换后再删除。 删除会导致树高以及平衡因子变化,这时需要沿着被删除结点到根的路径来调整这种变化。 + +## 平衡的维护 + +插入或删除节点后,可能会造成 AVL 树的性质 2 被破坏。因此,需要沿着从被插入/删除的节点到根的路径对树进行维护。如果对于某一个节点,性质 2 不再满足,由于我们只插入/删除了一个节点,对树高的影响不超过 1,因此该节点的平衡因子的绝对值至多为 2。由于对称性,我们在此只讨论左子树的高度比右子树大 2 的情况,即下图中 $h(B)-h(E)=2$。此时,还需要根据 $h(A)$ 和 $h(C)$ 的大小关系分两种情况讨论。需要注意的是,由于我们是自底向上维护平衡的,因此对节点 D 的所有后代来说,性质 2 仍然是被满足的。 + +![](images\avl1.jpg) + +### $h(A)\geq h(C)$ + +设 $h(E)=x$,则有 + +$$ +h(B)=x+2\\ +h(A)=x+1\\ +x\leq h(C)\leq x+1 +$$ + +其中 $h(C)\geq x$ 是由于节点 B 满足性质 2,因此 $h(C)$ 和 $h(A)$ 的差不会超过 1。此时我们对节点 D 进行一次右旋操作(旋转操作与其它类型的平衡二叉搜索树相同),如下图所示。 + +![](images\avl2.jpg) + +显然节点 A、C、E 的高度不发生变化,并且有 + +$$ +0\leq h(C)-h(E)\leq 1\\ +x+1\leq h'(D)=\max(h(C),h(E))+1=h(C)+1\leq x+2\\ +0\leq h'(D)-h(A)\leq 1 +$$ + +因此旋转后的节点 B 和 D 也满足性质 2。 + +### $h(A)= h[rs[ls[p]]] + Right-Rotate(p) + else + Left-Rotate(ls[p]) + Right-Rotate(p) + else if h[ls[p]] - h[rs[p]] == -2 + if h[ls[rs[p]]] <= h[rs[rs[p]]] + Left-Rotate(p) + else + Right-Rotate(rs[p]) + Left-Rotate(p) + +与其他平衡二叉搜索树相同,AVL 树中节点的高度、子树大小等信息需要在旋转时进行维护。 + +## 其他操作 + +AVL 树的其他操作(Pred、Succ、Select、Rank等)与普通的二叉搜索树相同。 + +## 其他资料 + +[这个网站](https://www.cs.usfca.edu/~galles/visualization/AVLtree.html)可以观察 AVL 树维护平衡的过程。 \ No newline at end of file diff --git a/docs/ds/images/avl1.jpg b/docs/ds/images/avl1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a760f33ff8d39340cad33dae5bd2f13d51cd20a GIT binary patch literal 16214 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 U2VwvJzyG@*UHNy$bAR&x0Lhdu(*OVf literal 0 HcmV?d00001 diff --git a/docs/ds/images/avl2.jpg b/docs/ds/images/avl2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..70d84745b8d81d4acbbc40ad823955cb8d23278c GIT binary patch literal 37387 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 fedFK1`F|e&d?){l{O2C{-?;~ZK9Bq#T-v3D literal 0 HcmV?d00001 diff --git a/docs/ds/images/avl3.jpg b/docs/ds/images/avl3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..66da8d285d3177e7ae83a3fc1754947f08bc5d56 GIT binary patch literal 40593 zcmeEucUV(jwsvTOv`Fs+sY;cO5Q&O(k)nch6_F+&(gFm6AiW6)2q+x^5hA?@=|zy< zLQSYr6H18GFTa_4=g!Ri&Al^UnLB@cA^YKZ4u|vXwa?ybz3biY+UJw!3xG>H8rm8F z5)u-?W8x3sd>WtzAR{IH?MwWS6TcKx6cps-6x5WI7pQ2dX=!PwX=v!^886Y%Gtkq} zTw=Y%z{JeL!a@sVV`pV%XJlq!{_PI0NXQsS&f5VX0Dy#o*xTPa{BIu;Qeq!3P*Po_rXk)?bqPR9LPkbPPWD@`iFf-G z{|+E$pkTZ#ed_{~;S)-JH)fgF@!3=Yx64{sjE1m+vQJ+HU8H7ZW9Q%$5*E2~Ra8!1 zK~d?tvf3SW4NWa=o%;_S8k;;aHM4nU``pgn!O`8r)5{y`;~V@YBs45MA~GTIT~cz& z`_#0Y+`Rlx1%*YQ%PT6Ys%vWN>Ra2|J370%dwPdQM#sh{CZ|wn%;M7W%IezBb=>aW z{sI1w@ayO|yGQ_Je>Ce)mi?7o3`Dy~$;rvcDSxwzgw&hZ$QZ~eE=ylvyk$uF#Epqx z<~0@b?fC4nmWu+iMp%}ouZE~u1?A8}xZh0sgJpl8VL|^}mi@`F|F8=Mpd}+AzC1Dp z00eM)KPU1E;QzP(KL-C}bD+qHb37A0E4gYk=2}wOuRKMYIA?XYOpP)2%a3*n-ld6T z#MX86tWzc>0p1Y+d2>2F0JJaX5;@eZ>oeX3dc=nSd{0@H^l&?mD!C3o!PX2O#{qjZ z&dNJv6Sh^G3T&Y={%<)1^yE#|Drzfl_o?VC(SGZti z=*+PJWvQW+|3Y(|6%}s$tDLTc<^DN)yUSFm4QQ{VpRe55_G8_I-xPcm% z8G=0rvPas8}L z^Q(GK!N|{)Qu}c#RRRa4T})C~$x{dGO3FZa*Gs1MHtkmnoY?xye{?;nPQRD@v$=tK zhM$9L>Xp;r8d--2oCzAd5Efp!Ll2#JnBHzhHzs0!gRNuYF-^L8s8Z~A13rqUt28W~ z7x1l0a}V?IpSy7IH~R=)sPzNvcHQ%oBaH$Ve2v1chsTrP;8BKAhHgHF?oxpTV1%dn zIe^X)$&TZho`>ePprY2i4--z0+aG8_{*1(3`LOmK(}!P9>hvpx*^C;=j#uuYg2&VwYca+H6@#RrZwx+@7P138n5#Zwq!@l$F%0g=e{?sh9NJI6 z(pRH6F(Q7gHMm%|3;-XUB9B@&Es!sAPsRF@(|pBt z)suWE;$a<5q%B6nqw*_GHEVju!(le4!xb)aQWY}!MmKTqf@pcNxS(n-T8d{)RYlKq zpH7FzNJ8?=QgYiI_AYki+9$0;kEacRO5KzKh4Oywyr7XrlWa#$$uc|o+SNwU>_G&j!yUmO*DU78mpUTr&_y0)0)>ak7G)tgUKswa1%2XNOz z-nh&z2i>s-WXhFG5ULn`9Jz?VOlD~5CT6s{xhUr?`mzbzf4q{7Vq?4=H) z@*ri?M7;gRY25KcLJoUvm<2ZZqmQW9UP)L@|8Y@Fs7AI?aq|?0)e1P6^G05T^cEDB zmgF{8rOg@EUp35iTc>Kt0!p1Gy~r5ByAj;wx)jr5qg;zEYYt0YCbncVVLh@R4*Pve zd?1?z-h#~)&97fbaw(#CGmxOh12zTm7b}#5zuwCGb^u`aaVd{nW6l9s1J|%-Do@CM z963~91J1UtY#!YKhtWvXCi%+TxqFXfA^GJkL=_L~ooAl3(bpb^-r`Ndt!}ZPxdwuo zs}Qf@_Jz(O4OnmdvkVSguvz?$}f+X*cc?^lI7y5aUF%#E`fXqjSru&Px5oIbeFe%73wA zPZN!x6l&~Kz9_Y$_~s~NBq@B~^MGZe@}Gx8qM)h^Fc6{Z3qf`N7cUR);|yvi%!M7z z_$&1EcGpyDuqEI6oO35+Y@%{P5l4eQi^nOp9&)l)a3k+TC#tzSU5;EC_INyGaf@%| zx?!O0lfl?UzCe$pzFF8ctngrX|r;I`y*uLRTlktcRuB0}$zdIUctIQ8Wa`ioC4 zIXQzCnF{dcS`wS8d}eA7svHhnnnQA1LV4_7WtFjvZG&56@(6XGf%Z5QS&KEz zHhM%}LjPE;y+*tY1$EW7u5$FgwOdez$Q-?;Stx`Y$ZReSdz8i_bzVj7l@i{DKY|+{hIO$ z#g1!(uj#d?a!suLE9bCe9sB05vF?jr1v#^sBCYe6BxCdQW)vBwH%R#;OD=A$<~>D2 z8aLeM?Nx^?&H-^?n%omDY}3l?(rNjQkRRi-+%eo=yT5Q=&xzNvU(%%RUB6{)a0}B| z5+LqmO(GDbN2m~+hdNt6E+d3E(LZ?!y)*jsR=Q6E$HTi)qwgc8Zt||&e0+<8rF{}c zPjJh3`d%^xC2Pg|_I_V2&2`N+7y6cXjJcT}46phyp`Q&6*2QTgxfZRVl0G3m%}B1f zirblHzx6FH;)}~Jp$3QnJLlwvRe1>d4{*W_9^(5Sm6^c13l$85qJ_&JBd9-LfByJ_ zHcLNDhp@L07s6ydwNXFnTxwaaX`3}k=3Zo_^7X-^k`YO7SGTYDyR zqhSHG86%(O!0DB8t!@y^oG9Kp{^ZbA>Z7){%gy8PH(m7FbOPv6GMfcRh^Mny8>%1z ztoP!@i793SKVBtf{J68nlvTy)ZY;#zm0P-6NmB61Ve!b7oIvV-S}PS;lxn|-JhG&3IPEz1nUJlk+z~&6Nd_G!*lD5wAy|?VyP}J)~7{6KHNtx9iF2kO9lAH*oUp} zkWILZl8Xz|>sHstOP>e~b{^WApOMpMlBVNasg0{WdUKZP{=aBT2+HM1i5MA|@M zN2N#!a|2|A(Y*f1Tl5aX)-w_{>%WvVBs=ZpOC7ba({@O3ASS8$!;;%6hU3p1q^kVy z(E693dCSc7uajwQRl=!5tRk=`MmhT)VTg|PmSoeb~68q1>972=>6;-La&?^h^o**fXh+Gr%xR zIYpw-VmepXuTV=`Xltp|wyqA2&r4cz|JlGyGVyPe2uTmjm;k5j00JD(xRaMRh3jLU zRWye`*A=Us)OLN9xuq_u$#-a0fVIYup92`dB(_D43O!FSG^T+SEpS zPdDjaJ`;TA5-nDT;23SjjKJVkqhZ^P(l{pPnE7Wl;|t-Z8TWtUqo62$eVp01+>|Wf z^ZzkI@4qFK7tbVMH}yjyzynK|S#`EQV?Hvo;Bwo%RqqB%RsC^~SdLxw<~}n?#|*q< zl5on?d_;VE*V~5=bz@#Z1Jw5+&#T{-f#w^d4`Q1VY7xQBzn&G%pWiyNHRWYd;{O6=IEbTB` z!fUBESAex+vcmU5r;0}3fS7`^Zw;d&ZY-6Wwf68t5KID>7G0X{5HmJFt{H& zF3h|{q9MPt25gOd>wB7ky2TEeYk1FVgRm{tL_^vLNHzkQHg?^jI@{ePMgpJB*Pc?7 zP?x;2d=5Y*n8Xi!+BC8Jk1YO`H475dg40BwA<#W8R;_-8^W~1xyL~}=Mnh$5F8?iYg~%vs zu*^(EJ6hu$;Py0@cLFxrKnz}!vv^&97pl0aWz|gknwT7s+VLoy{n++o+qN!!^g{f!{TT~&6SD!O)1Rf%l(IOnZ(bm#6Uq{TxuMVH z>d}(E+Zd(@=OuEv`x<^=mm>a*zQA$Nw`SgX!rnKxkDda-9rg0S{SBw@hHtv<&0yZ{7a}8*EU=x^ z;BntLfawGhg@y;pWdeo1JF*ec)x6`M&=u(4&{dZsV59J_h|r|~ahPf_CZ+Avy6x3W z)0;!XFUh`d)MQL8f5TGm&H;{BjjmJHk3oXwFBK4y{+`J{YZA5oHzxnme@uRQ#7*9z zKYQQ*9KZA5tpk>>6Ei|!CT##{y`E6zeEUd9*B^3EEezR|G%n`kd6-~wXTW)C?Fw1c zZvcz<27d=&IsZGr@)L5irVIczx9Nu+1;l%M)W=o`X!{qh^Vw{r>=9j(s{yB`b1vb5 z=)R$434qy9{ZEah??e~N64n7E*$7}A&CqhL5_7*)`vzm~Lqf-l%NXE}Ot`w)P3JL6 zq&i?UxP#vkGD?mKBPFnTu7!546CM{W?v1@vE)(0scU1;Ha{cW@_Cyr4_)J2ot3;rK z<`_Xo*y$ORkK4ZWnGZ5`C^FJ-iT~nPGo|T>Py2sNme7%u~K*tjH$} z82lOj(G=BKoOLQCMgZ%e=6`Gr*q;OJ#eRzb#I7+^Pg(vk1jJw7KUQyaW`N991$z48 z|Ft$J#5%Vjm`zwf?EI-~s46$c!7snF4h-Qx0#%r6J&N0z)9~%GEa*UlU&MBy&x#RI z#-ma>4{ApCmz4ZArYxUU*I4@qdECX%W(4IBRIsOKoG{49epEyLsAnpt?v}M78R$jx z$G#d_-@suNXHaXl3DF^K5xwqznsqCx!q5wCn6SXAW*SHRzr;Y$0lQdrZD#zl3t!L3 z2}kFEt~t`^jUsMd$)QrgA=s_oi2yuM1Tg{(!+eLqM#Km(5qt8H?6(Mz^Vbo;@&9E6 zKya4-(Qo+ums5HI_U!l2Q5WhrxbONm;69iL_bttHb^Qyqt{wgX^PvBPdAzdd>;Fbp zL$8JzXq!~M3R4|BQIz;TX<^Y>ZtBQD+hgm^bx~sb{%PT|){I}t1A-Wi8XjQ{{Nj1z z_S6gTEyrDl`nilS{t<)MeclYQ$KFNHAnnmHLm}P|F{ro`GYE=$!VpxCZEkn2Ht|oG zw+Iqg((+dwa^?un+%fy6+ywB``&%0-EPGycL~_1B{WQyCCz!}Ae=%BYN5v)|^_R3l zL!}+ZBX=)*+0ZY)=nSwdC`9CV{E~eBwK`#!ys813^eN~%xFe>U>z(R_1$vE_ve63$ z6p>fHG&2)Y^s#oKp72YKBd6&)!!K5v8`8;ty=)Je{i=+9kl7k2e+9upu)~dXSSgJ+ z-jK}2u5YMgW1G=<97T0wP0q8*+r3YN)?OGSg6|57<_GP6UnoE7kFBDwLm&H_Yh8s? zEPtLgtzhEpD}9~YBOpp8P}n`70~pFdI%8|L^cJO9PaJV!t;g0O_^*VxR($ng%CH4A zNxec-xma_#emX&$R=Kc~&Z}Nzi>06or_+Y+iuN#XCMR^=ukmXV=Bmrd7b`a`;KDsXW(}>!+tDZI6u+;6C|LcqMlj@A9aOg5wg+O!6La% zHN~G$gxD?v-BVSr0*+Xf&}r^?m$oN(=3n<7d6rINGUG~-Y;B(ikz1D&TW~*;QKQjR z$sIzTTH7r@Xze%2vtk*d1LMSt1HIq{-l(rov*nY7@438)K^_ z?Xq8ZflNayCM+BN6V7`JNMtw8n55`Vu7yenY`L5MQVbBdQ)d^xJT4O78@5$Pe&1m?^f=_?aUvtncJF zK0R!Y%r3q3cFuU(Yo^gt#g{lT8j-urVVRY}F^l@)%3W<+`uCc!DeZK^vr=}0o*FS} ze#T1XQ9d@$wR3s^Z`H1%lk|M^iAd*xT$5LuS*BrVFWNjoWN!w49&vbcza(wkVk=*2JP=!t2 zs~pxdp4ls86Kkbhn28t!lG9$APyk{!&$uu)45A;`lvhZrx~|SHNRW zU{Fq1+mlEA-M)=0X+uutPVK`3`R~xg4qiS&3ua5dCF9~~{vh~9o*v$nflxn6rj!n- z3W?w=d`}AQ3Fnt+dB7oKvkxMHDPkwucz7!3=^U>8e5m2J;NDbJdu*8((_2)FFfWd*Ry+u&ynIhJ|c6ldn z1T!XK0Qbq%PhQA52UM^o! zt_6#Cw}rC)fnn_Ol*zC`xFbYy6D<_A<1R4k1+K{xw#AiSOHHBTQ;xMiS+hys3f~{p zZZG)U8;MpK8)TT})o zl?sM4NRm5xWwC9V%66f0PR_zp(|xHq6rbwe9wa+F zN=a6molT8%x0DC?fKKFAL*!Cfz}5wXF!TzBZA(>j*tWWy9Pczb|Ds^y3Larx(O5I; ze7U|dLnYnetv2&ut%s+;<)kojhM5Nm8i^W1-Jfw^MSI)$h=M08iBcHf=o!n*3^WBz zEz)s{9+=C3^#&bZ>Yp6Bm8HE1CMkLq+LDio%V_o`ATk(R=42#}$ z>a~qMnjKA7&r#3@@3Vdls=AMWYIQdM1DQ}xy&=ZZvQg)Xz2 z%1ttX4_FfKmU-?fNc8+AfZot86ID(%w;&^!&e z>|+=U?0FTE9VQZt_aj8$G$yRDZ!!e1@F=jF8>UIj;_L9ee4)w->L5(7y^Us)Lj45| zYJ;Ndwk|+zTse=s(dqj$VFymT*OEDnIED1WpT3e|xuyjuX8q?wnnHudlOcJu?ZLan z8hI`k0>SfL12|b7;)p@5*Q=4TgPWWn(l$@7M+9H{Rb9iUG`9u)x=1xFq|%sTwQg#O z?SLv`;-Vx1SfSbnr%oE9o1oiYkGVNr;^aSkjk^pP*E%$cQ2K_x|5hJH&nQLZl*s~l za(W-VZf}+n)_4!bb{bgiJIX(=81+;DprG?k5->-vJfVk$Sl}oILQXhX#v@AXy?iM{ z)HBKo92F#JkU7OJpW|IX$jQsKT#G`$5AVg@E6Lhbxi^T==7c#NALMs~%y43ApXZXC zuSaq>QOT9t(X+P_{rH&4ctTqrm5A@ej^|?@&3~)0rdmwKkF-o|a+x3#7P8o4hql8u zv-14z%IGGOOY2SM5p{m6_P%>*CJG>95nac_8kOZm+C#!JCar6JTqdQ&F8 zUCmpGkxjV77Ar}t>j^U%x}c+hhsJOWM&pLAYm_dT`N^7KrThH2R48UCRLE}9N-N-T z9$n0b$Ir+n8~t%X$7gKDud#8hq2p3a>zsGyE|1D{O{Upb&MIFwW^ub@yC;}nJem8F zrYg1OvDkxARS73+x-%K5K6)q8<;wv(*ulw%h;+{y=(0m{8>`iQB(|T@KdjN19={{K z`b4j;jaTtL)-HU19;Mcn$-4zp@l(z8LvJ)++%N-EnH|mbS*30wl37uGk3@aqNmlq? zl9m~h5)(c!WzmV>X|5_8q0Hm^mOu*x7_yxuS!HfgnR&mtHbx*;Y2mGS5%(?AsaX>@ z(a%6Zz{}hY7lKAkpSY0CJ7bjsf5!I z+R)9NaVX%XnMUDr+~K4YSgOR-EVU$I!PGyseHUO%#vBOQxyGToy|_Du073O1jW#=x zd_K7~cmQF7U8xzg;RRKem!}w()r_9>^$U&V>1+;fb)^VotMgDf0=861PFzNjB2Jl% zjY37$sZ!xErlPLLsOn@I(|I*HekY%Hza9;gPNQEpZ2{d6%J{SX4V;?6X>POqmC{D% ztht_ojkITM`kv^X@B~mw}x0OHEexv?0=h3G`hp`qa?r7Dy$$LqhG0;o`nC zTW5V}Vxj2_)!XS?Ph1_u83jYk83x{CPUl4q+c>D(^>PW;oglh1xqw0V(_wiv#W-Y( z58B_cceMXS3hDRFA0lr_zq03%oCACUdk(!p$$=`m1F_ynsne`Rb!>B+2`V7M8GS<) zwbRZywjb~U=|7xOQ&n@jH|v*8p92@Pg_=q5YXdfJF=;*md<&=9iWFd#*~lQN3n^$G zZZUV-5DTZpkAysb8dvp9)3T3DLrY1C`)(#xI@)?mbFrD2Zn3$t5M(hFNnz8^tG=?; zDBn2!;LMol!jcEIjVU*if6D#j9j&|{FxZ*NGR%4xCJhWdQS_rWN9843KWnVV+!8NW zZ@JT!lT%+DRL%&n&7v2<3)G}G+Y;4KjuSB}>j9T*QrZskbK^-H z(=iVZwlmKG6kx14D&YN5Ro97FdORMwq7|z;C3$a^&&{grm|;K;QXv)Wp*tur29xDJ z;~M1~=x6D8w`;B(Kdox;Wb@l0LJ+4u5xxy^h10_{qR^|+w%E`VG)>F}|66i7?yn{o zwWvRB^}QEZ>GA~>9lJy!B3P01*ntieVS+2xOYarRU%y>fX8uO|_gZxak(7=+7wx{S zx?9tSey4tmt~67G!*552VXma#pM3c_GO43%JQcXm_SyF zUsPzDHcwUa+*7}|nWhEtgI>PGi6VHcr_+CC~~j?B`j@u$6G$mHpP|$I@PC?f7b!8$kIr&;_th z5$rC(Ar~5EhCM;DjF*xR&aYM66?Reye-5>cgR(#7RcP7o0CMS z@&?_J%sMcPPGQ=LLiahqJ7Wq_O_Z2e6YlJLk3z~1ZaglgU`^Aj z$y8xltK;@djQr(&cCne*OJR&7ZynZ#^tGl|0iimslCkK9mn`W? z787py=KxpjV;@H=F;@ygEQqFmVG<_ITPF1O5?AfP#plnDr{Ab^Kfwjxd5TOS< zuSW=j!yRD|j2DIS$cgw#sFlzLOOG(sm^}caQ0>ZLap#ml-jCz}l0wG~3LxK=;&$P{Lsr`fJQ+10A5f*mh& zMK^)kttS;z>Yr5$V|H7iaRCsPxTrCGsIAShk1- zoPS0bJda2Eg_>N21y?SI2C%ZAuOVH)1)UaVL9kww;(@oQz-}x=Nl~vSTghXaV#CYr z>!Y2>Q;a5iTm^fWSWzv>iq!5w-{`N9ZDdkS5i)*^d*U?8@;2DSe?{sE=p?r=NDn3J zrhex>q*eX6v51(QZbv1*#+l;_jw#<9z!?*9^tf{X##BD-aS%Zb9~EAwI^#Dn$_a|8 zqSIMy=M`2qu19jkb`Fb4$Smq5a7{_Fd~yoY^`;S~N+$nRmPo_U$$|7gjrJhUeu5OH zrn3j8xuDNvuMi-Q3;9u%Z)IhQNW^>1ne^MbFIP*q9FWNYnn_MnTycB&uQ-v;Q>&F5 zOqSSEqI;xz$4jY#oX-y$zMg!N^l5^iE$zc8at5b=0 ze~igr4X-MWa({{Y?!i&A^*Fk`(1w$PQ)32z%DyOwh*?u*!&$dv60T^r4{)sW@{aAO z@pDpE;<~0qERF`(QtEgK2tJSZgGpM$~QrKw|!s}yGeO#2$NU4WD(0-2V z9Pq~Vc2#p+Z+%mOHp+B+PIm83AOmM^;OffL&(az03&4<*Cs-tei@>rUWAy!g6CujI z6y@0CXx6!?m9Z_B@^I2-6y^jlvIf#qo6~mq=^e+t1t|hb9 zC zy(X`m2KEx7$ogxP9`E3M<4Se2}K92wZmecjBn z>V0&WRy>(dQ%mAb&$YX_u<5iE{4H!sERt(ILms=`gszjbmufWs0*&;G`HYXFn@<#K ze5pgv5iA$^4Vcn@A}`-FZR4Td)r-DItUod|_-6xD>G&US&77VDhv961*#?9{cM ziWh43{m{PrmL%i;KRmF&P|(GN(~L8Im|@jK<7JWX6A)(L(hL-#Ga)XQSfuSN-5%`%&Wd}9)XX^d%bJdGY`?FLQqu*B>4an|p=34m1N?7n4Q zgtpFIM_g_kltA>chTFccdHV%N)bxhZHu!F{X8|+e&)~nnJE-HcR$t&*qQ!X12@CHJ zfn#<;gE3J6rhBJpM4m_a=RLuiTDHMX9;zjUDQ?mmPVY}YB4FAJ5R@+d4KB70yV{v- z#ug*xQMVrfFQ<*;pYD*+ZZeEeOJ$Be;7vlEyueCD!e40Z$C1rKZH%zit=$Jy@^o;+ z2~H)1=d+NS{Et=jDl!5}M#JB~#^gFy0sIhwo|J?TY)V@SYPP;HZ6(6_#zBK5b841x zJk|cM@D87WO|>tU>&+FwU_Ru>ZOKYEpKQ4V?mBa^o)RW+WH-|u;yJSEEA~f(oA*oH zqn~O14Y~p!#9y{?Cg^{qhFrE%Ic8e(PLtZ~TBwuf@~UbYOW3eX;7~pCuU~iSFg~PF z4&KiKzWmEwFI+Plp{*Ul)M#4>rTJ#Em1FAgqKuHz$&k}Mez%w1)HIaBY%Nzz_Ny3m zc>>2IfMg81vFI9%PXJfuthD;&XE&Rc zYd`iRH~q&%u4Z!Q zs+gzNtkBzsXO|G+BpUL?N);?vtGDytsLbCtz$QI@*m!^kDGP=yfUWR|Vd(Ds{So;X zm1DBbH0EOG5__cGdwwtSE;*^!E9Sjfm9HK@yI{mJH0nM2H+26(0Cx~mBgqq-?lR`KyF8;hoKN&KsTi6Nw=O{BQv3Ach+sR6tkeClnvuenL zTI_<+qL` zB2PnlW-qDOL}3;^{2LJ^gB5XNYL+&wM`Iav1#Hr(UzUN(-KzU8%DJ&2>=!5tSq4qs zpWG&h(bs)}M8PimB8iZS6OcC6Xd3#U+U-9q6^*{QXWfjf~b0~sJ zp=ZtklXRSff=6{VLvq&g-lB6B-Tbk}JmY-*vh*8FCOIbYCq^KYH5ZcBp&T}N%kQ%j zm%f^yf)pv}o0arYG(L-d1HJlMt~oS-W*8=&n;S)^%)r?r>ym6ISeej0-yu+E_Z*!3 z{KooWM57vIh==Y+qZQQIHqFcY>=E(&#@ZKOt&`c4KGyFAz9hLp;Ych-y1EdDIwWHJ z_9zvicKH^j$z@)@!H=d+{6wgzHV6%nq6t_GGx(mgE+aeM01s>C0E2Kkiw~=?D_t5x`qhd=K;2r5uWPtnrl$+_SaCRpA)iF3&eWU zroQ-ES9Gj-+>S}P$;Y!HUvK~)fea_0|2Bz<;BD~GQ|XzT%d!P;$0Jf;Av4L^J7Y+& zCous>^8g>bBat|WW|O4U8{jNE^DO(_-2z_QfCIRtk8(%Hy!p`fB+CiaOWec0k*udWMs+yltwf~p{U%BcE{H^(SlTXpWI511 zb~aj{WxpJ!HN5S~@oRve3p#gOX`PLv>76B3Cy(aei516BV-0>@Uu z>la^znp-f+$cUke_oDD*r`cc#)&wsw=1FHXV3pyoXfWo|HF=^!6a`4rnm(A(ycpuc zo&1(!TOHtEjNQS%!J2dc*_?P;ha{`C8a4CGyS)AKH#mj1Q^AJUMdQj>*n7xhbLD@s zv=Y4AdN9s@t(ljWrOns%&{N_Cq3pFuE}SU0J*E#DgS8K@p93srVo%2a(6Qy_6Hx?; zM!&K8bRsN3z_p?=(2d({tdUMo_VpmgR(6`=js8lW$%*ob__L8-2_*N=v~oB1JZSE% zrjW1~j>$vakOf0+QGagY5dGJpFn23uLPQQsainCYstc*>v%G6C`7=eazkz%=8P`A( z=)*@pwNjf&aEuGf+{0m{P6R#SXX;r%^PI-SGtOM}>d6T-idap?V|@;YCu(&<3kgK_ z55mh&oZp(nGP5N!z(KuO4+Q;Ll@~tH72b@EA3F#9VvYMhdE(kWBy10=i4m?USu1bj zjlu|8@DpiR zIz#N(O4=}VYlU^MT&7D}56vFS*ktUz6zpvvSCJFGi2QctCATy2ujut3B2kc6Kuwx(~ zWOcFKnxI82^gM~W$y=lTcMgS3D~Re~AOr|5ZSByRm3r<@`5V5vR_RRQF#;X5 zWiz*7CEM*{VYWZW9s?8tcwrK8EoQ3`U`_v`{!&75yDQ0P6$k$#o81MCM|`0|-LZne z%Yfvk&z|DWLXB9CSVUO*` zB~Ror!eP4Adoaa9v!>WAQ+%?6^Qbm=OA=JDb0|2dv>!Ai_Xikb0>mDoPv+?kBwX6` zl9|w48%3UCx=cxl`n9RwXVlrrF0jRC7${x&v0$t7X8VulRnUVlHG!pPB5UJk9Leiq z)-?0lF`gQC50i7rQ6lUQQntI7R=?9`*&Y@+b34#FaXS`9l724y2JisfFZ_!GFX)*T z;jswfYm*<7zroMG4O3H5`?NN`d)nhklWIISWqz8ea7SV-JI-;4V2#CpN4vh>AE1BK zBQ!A;pRsb}^1P|eOX@~nL1RMqk4^ta_)^8i+cCNrla?F8_nh-^@*O9|Q)dJDbCovO zq+IxC>VsZDcBvBs6s}!AY8SMl7b-V~Q z_%7I;o*H0qtNZwNAlPZKU2K8JrY)28MOTt=2-w%9q2{$)u7ys~Rk(FU_s~p`ulTFi zXJ1#RoDvB&S<{4Kv`O^7Qzg);aBU(vp_rb!k-lJGo~?zrPLl_Qz_z5QR4gtI|Z$XrQ20ghft@svo;U5wiMr040M zn*Cvz=pjSK*v7*p@2Jy)<3~TATBmxrQp{>oXS^=md2I4zCrX}U-)5tmvhb&}UPf^K z)Xy}}FUDs6AFjGOJClaQUKzUm`3ev5yr&z*TwQajBLQ3l|AUXl(+}&)W6DJE_fp&n zwF1SYy<*9|s7XJRv2*)I{uBdtS?>x$i8b&OprfmWWc^^aV>1E}BNDRJsEtl{WpzrU z_;C&pG5m^+Es`_Zd>Z$)q;59U_aM`v6r^F;W_j(}GtF86#4@5rNsa{X51sF{r)-<&hU#KM3bt)RSAg_{aC-71 z&(T(;XRdyJsr)bJ+qhFebBJdM<dWK0C$T%ffu{cp2Os#bb@ot(o%mzJI%M1&955oolJn)7 z{!Zcy+{d&2@sI`2jjG=y&pavZJ4DGdTXV85R9?)TaaQfD`Y+NTYQWE8srI?6Lol`+ ziw)JwW1Dh3yrWk$4Mw+(=H?{&SiH5CM3=+KM2bjj=YyIV5MYO#*`K@uv0@-zf|vT& ziA@1CYzCGhO^>~o+ZTPrSg@i&HdIKqfFOv3by@s+%}wM=v*)OAU2SASJHaPX=;L%C6QR7{{8+`1 z@#0+txBf#(orcbHz}3ffKVH2@)U0KZHrC*?#`1^HNT4XL+s!E7>I@X`hmsSMlsq%@ zQk65j2c}7<(GWq|1&mI1dJfwmgOcJ_GJf8(8TI@Y!`U8|EA+XcA|u1Sld_)%K(cY9 znnE9uH~Dk?*YS-H7hQR`8w_v94Li>}r?Pn*hPY<*IsT{np{{Q*<-Z z799~?$wRA0A(pQ!hBmZ zu+n7g#1P?-!98pkB#$rg;rT)m`?6t)@7cnF-3OCa2=?xL)I9CJ^^~wakWk#k%P}mH zZakX2s6QqjE@6AEdsas!l)4uxf5b#oE*vZn1+GjjAcivq!hLjCn>Di;G?-ZamgxS) zF@;lN6(wPGWn9JF&nrpW^r9l2@L<;k3Xu;cgOv~52Y9~7=*dMfOBZ=3Xi$I7dX}Jn zlLFwQxWzs{%?W?qD8Sb5iIHOc>GaieSA3N-dUevr>u%kFCyy4w62VHa7R+Qv@>`tT zk7tKk{TS90XuZh4FmrRe#ItZ=-xQ^kAaD)<=gcXkvuyn_VjBLA0_OkV8cAPG;1@|% zK19^^obK%Hx%NksYO1uxfC{+*s;=JMV9o|lF-DTtANEK8>my5e)sAmM@T^7HhK?_{ z&DN|WYGQXa*1lS`sAeXvk=MMGzEQoJ?|bl=u-D@2+U`n0T$^J<(|Thif)$zHol8Hj zYwWwCJ(X--vI6}~Kv>N#RA^nn96`V1l}6?zuypx|Nip1k0_A);UN)tHAWQs^cehuS@L+=RIj znxAAp%7nCJP$2cxOdG78HjWE$RF&T!LjKUIeH+)nKaDV0@U#63+0DOG4=hWnSK$PW zbAZDR>ADfDI)i`EQ-ZwNwdxLb_FHDOHVnSNvN6^IbHcLh#GTM%*DAVfF&`yYB&=^Y zq;ISHlet7gPG#NdMGj(3c-F|8O1T#GV;dET8#riW4IJYSzl+^^H=by&?)KSA^F@Nr z(Dg^7bzC1plni@Xz7<(1xUC;vZBF>6v4sOT{8Xi+)XT<>-|i7;aTnr_WTT;b6x;D3rTdp zzrQ+wWx2VEzDP11OV)|UH?I34iT*L8d9JaEe|W~GdB;xYKoqBqpzPd5jJcNPGC7ZN{p;{;?VDl zj_H4iWIO$`-=Gp>qe}?;G=Nswq9^?HKHB%ENm3${+eg&u=@qwpmeQ4}&F8K;WA4^AIxswf$+Ot^d{Dd4@H)ZEHJ- ziii+F=>pP3rCC6fUZjZ_3(|{7ksd`#kP=Yo0s;a83lJ%Slt>o{O}a=gp-4%v&`FT; zDj|LoT*c*fowfHl`|RucaV~$D#1aT|j{1yy^lc~~egbDHB9(>I*vefo>XJB~1>Pky z=4Na{WB<%!Sryl6ff$RsJfCleO-3S;-?iOUPIr(JFGK0Q8b;jpl6f{I&3s?lH1gT2 z7e>HGGD&b%bvh#iqBI3?kG-^jy2gZLRG-3lePbXv*8_Ca#7^tzfkDh0qh%Ynlhy7= zlchXl)lFM}TKd^SI&FeP?iZn=4NFK!e^(@=>g8zxAHw%;8He%amAF^(wH^3>-q_1npE_#$7{Dz%@fg7;S#OXB28 z6>$R>AkQ~nTs{~3CyY*2 zAM29z)MYowbv=DZ8Sa(Cs8hX%EEkPW0R!clRbZgpI6l2*K$4kl-8xk!-pP7px25&4 zg8w#*DzjK6(G0&9BF?dBKokma^(;MOyIAb$@iyi1oBLfm;QJ|EX7pZc1W}`=F9K2z zZgHpVAQ+pT_vSBqP+Z7kb=kgC6pUe|t%l%AI_XfCT;YKnERVXHbL}chDvf4~)FrNK zG$!Rd7|F@JbxW!v{h0nevG=R!JtwK5BlnS>W%b)Zc?4P2rXF~<`IL5z-p~)YG+T&GuVTaL#*T7;7m1dC4%1|X_dd2CH9TfFjExo z$qPArft-A;OmHh=#C;bu6=V;hZ9j9C__S%#F2{Lu8awgJnzBVqnj+vAu+W$jBn7fz zN_Yh#IBw170I4%3)$S|o?Y%3CK6N)Y$F3ckE9ou`SH=FD@HhFalX?xBKI~p{HT@2v zaTjs<+;TFiy@QkU3HKNHN`nB5(9%i-?aw^&Gyyi5izY1kbm3T=*Q!|{WJS+Ng|U56 zgX}bo#j3sS_G@2ZJ~QV1!o#!SkScLO+#d~hiC_=~)783Dy=F5f_Q55^)r|>mlO|3)uDr~05lWY;8D0y@>`MlN{mYaVAQOaX>`tH3*p%|#rta#6q7MS+&~X2|N7c3?gAW=ge2@o z(@}V4#&}QVWtl4H>24noh)g;0qeC7@}#-3|6Cfi8!hP(aY*KK=3E_JOl z3;0N;ffPu5ZkE8MDy#4uwXZ?yvI&${yT-3kUh$Z+^rhFvQ@DP{$~SWo^sg?PlO<=b z5^C6M2sn_BH8-Nr?wN-=8Bou-6pB8?ZE#Q5%nrY=6N0Y4d?}YRob?xkq)#ak+|qqs ztP{v0$kPI9ZeTq=m9X8JzHN1=aC@#y`r*P0Kp3dpN7aE6r-*eniz1uE*T)%9Cp(B^ z{-cMg1<0=40n2z;zl8 zm63A0?uk?1ivJGa8d9hR$rp%XC3tVucLC#<%Z}3pT@WmLxVIa@K1XW#MwJi(`5?C$ z>Qik&>2FvS9@BrossvWu*@41^C=mL{u03AoYbuE!!@ct8^tQMXt919KKjg1l%MBWa z_fgFi|2w+Rgi-~PJK9ETlNChgCH0LJ)cTDTGyqsZl#RD(&-E-w&jb{pFsi&VC_O5s&xtD#pQ%#e*qJPihD&s3XacYo~3 z);Gzbo`lqOef5dwH??=mK@Brhr+6$}I4+bdekDFC+A4hjM}-$$!$m=^=kl=Ge#hh?EpUC$Mpc{=&w6 z_zD9+E6M#tO7;X|@2I9bA!566*r5+I7VB-Z+NpCGcy{cz#0bQxGl4{0E-uu|5`1eG zz~b#8>jtjfx$Zz*3_0F4{Yi@w;XJ-F?>rGrK5lHhug6y|^JfJEEKqck+~m*L`y5A) zLAUFY-2)}WrX@-I>*uEK%pHw=?#Z^Gu9hD<*&JTNvjgIsqi_#Wj^h?Ax+QkKH;Wf!o>d7m(W)F>I|prtb2daLLTIOntXC-GV-#jTs&2NYzXWV&>?K1 z(?0rHINk#AoCLX_!gJtvmUojd`_YYA(0n=+4~8*oxI7FQFkl!{f@Y4DW)mIq<{LW1 z@E;%!|Jpfxi45b}n*rS*0;0p!@6m+vLs=IH!ZuZITWCT>fH{NRS~VlNE7)i*A{K#S zY|=Ha#^ohWD0Hnu&Zph+-~*n;(bv+=roG1KR|pg9?4$593}S%tsw3rRn#&VV#4w;sU{dr zvac3K-6n{bRdh>62)&{RHt!Bu;+b17{R+#!-O?3>4p1@goy%q_6`3Rv%PG zPzWldtf_Q+Ez&_ZWOMF6MB9vFHe8Y=eHqE8?uQFt%&SXS2X2o@L@5`kb;t8MhnKUx ze({bm8E)53MBaC)fk6lj;#jbQs6^P&0T~&6rH;XFq$p5MK^Ve@z83-JD-g!( zU&FoVRf$j!AgKaK) z$Dax_uHCm!j_LXv`N!X}eE!8hH$4erEmr$g-+(TkO(>JwTf`>wim=h+xyihGhxS?E z2h1zLg;R>aqw6>H8V>cB(6wB>_M$fpuuodI*e3w5H;Dj%prbW)HGzd*5)j%veGEXa z^4|2A&2of1@GiQz1wZjWaT35!{I=jHQ{N@9!ZHn}JiTNC{D#)q{ydB7o)TeOk%f6H zb_4UsbJ9H5(<7RSZJxk|Hj=%RvefY#S8A&dRzxi}P-x3JwA=fd*Wv~eRfbG?u88b# z=T3IG4aZ~jbEzi6j>x)=iEAXwIcZDSUVa_5H`*xJtB;|IEsgzDbjv48o(6lL-yPXE zPoG(_sAe3~(xfvH0wbmD+(NLu&x0Dj!aVWgJ3o&d=vq(5HAKt{r_R23ZkRo1QO?Ct z_4I`o-9(-+0Cu}z=xrVrbC@RX3Si`q7jVi*db`vCl6G!`$I-2MGk-D^e?zU>szR(T(dku85($ zbjEud>*eY?`Sp`h4M%*~$qF_7xsD(owYFK_;QYOWD{hjhcDWh4C<6#y@=Rp8P&~4J zL#RH-dD#E$ZjfU#{hDLG{0-a4l|}vH`#ZY%IQO5)H?IS8FYfCj(zg;pI|_L=#O<7H zl4q)P+@}{Gz%du84`>5s7*q1G#96Vm zl+q(;+?jVanhN#q(G9M1kG?mX{~tVd=3%Km*i5VeY$C!wyJ7!#M_=gMl789D)eDS_ zFn|O_dbR~_Y%oDL4sAT)E#avmHrFSW?b{+Z*0==XzDv!D^!5>v_~jIOd7eRAsWPoB z``Z$6Uz(n#@i_De-4=Z_mU{ldh&u7f)v2eIc7Hn4KU(p>dM+Ff#Z1WX1dnYWz=~&K zACB1Re&D@D+fcf+jpIm~T(Xpo>!!O-06)J)zv?Y-&Hp{<^iSXf06OJZ<{+g2XZ>u` zStp_0H=VUKL&27_{xdnD{r4E^U)yV-$4H7J?5Uym;TfM9&;|KLw1gXnd~);VM*`4| zrr;yVh#)?(2KeC9>)?)<6>tA`M{ZXP|KyH<$Zz%`q(xj6_x}omFQ>ri0KW^bn*jL! z56u@bg11H6>(M0w82%LP!Fdz!pZ3r|7WwMVjR;wxT-0sDvUT0)=fj#-t_(K~r7q{) z8=N5Cxp&W4uU3J@?oRXl1+pAL>)tKk-%Uz`bKca`yR@Q0a0x9^)R)REa_1yo&g#5ezEh(o4 zs#M^?7yodilfS|MjkKI+yfSDdyb>9zu$O-;Y`^+j&Duc%0yXO;J;v{D2r~`vU`t+- zTORCfe(E<5cK25gcH+zT9xUrS5B66F{jXmC;PVZ2>bvq^p-%U0Vou2(6Q?^W0OoY` zzrvgWzUt0f-n;?L zh*JLrBr=^^-lPg^o*q-Be5Cf>#BD_`N9K2QlbBE+v5k*`K3vn)Y`ufzI8({~Rg)8| z=C(FbzHnpNmimf&wH{><3AtW}CeDyo)};oK^EGg(j_6NA5ZG>{7iI|T6Z91(Ikd3| zKx_-8_kQ&++%-2!A07nI(?_o11!Qm1dUMSlFZR4KC=PGcXXsy*9%hvV`9O9RS1#y1qGOs=J6w)KBZRN8klTlXi5~%uKH51N)oju@CbQ4c_P}fTfSc;Krl@B7 z^rG0SW%NHF3dphpo*RktV2;}x+bM?bv^uL`qk?B=0`_-*pAWa%8%Eb`E3J9v;M1HK zK45|57MK{PF4#~H9?qIbmdUb6U}v$hyf`i3z;2+?axnZ!NYoEe(|5JMfA{VF@&6N! z1!Iv7i+jk&daq$ghq7Y%J|Osd`WZh|VB^>sjq2EJ5205t>96ZC)$H{-3e|cfgD~X= zeqOFTe7%_iGxX7wLM$o`w}ySu6mXEqlD$ZS={8kgMMvzV5bYEg@;l9nyzf%r_3fWh zz>(CI3ayqwt>feTSHK}+@j8qxPw43|$Xk@<_mMO@Vyz>{q}WQ|aP$pK%-m8@^9Ib? zS3(SoZ32|wukm#0@9{K`8DI$-M=Y8&+-Wv#Gj&{-nX0gkAV!>xzJPPUUJ*+d=v$%p zM8sGHUaCrZ6L(U0o6i;gW0z85uIfSdJ^wTEdj1W9p6{Hz5Ck_ORzF=*am+S)?B4)t z&@H=cG9Rp>MlbaNs$hlPVd_qwohZ4KoeA|`!5Z=GhK705>~~YSX{+rToms7uA!Tk+Yv_ftBW6Rz2K@d(O(l6(zKAd(>!FV1|PHdKium#A-o2(MN`j=rS=U`(o6MegXo z>IZ!HI?WDHfYuqK?p+?C=ctp!u-oHyHmmfQycXzn6j^#*%k=Q9Z!7<#FO1##;x(X0 zaODIwpAQm(P2J_{K&NqyDEC8s8QjfZu-sbo6MFO0xo^ zSYYCgjJMTHT_;;Y1_rdtqQuj*P=z_%v$pUI&rKYSsl^0*m=1uFtHsD?A@>YfFdVOC zDEjHRnHW<3L~~nR>!4awr&=TIjw>qefh={F*MWXCwE%9o$j=|tt;(ktKhy9FUW9} zmPNyu$rQRY9tO%W6b}EzXHl(2mE;u2N_lVd*TDXgmDk3hxA|RI`_&bdd5jn!Q~n?P}>vH8jxL_`%~MMapoC) zN27+}WbQ8;&5Cb!G6_<4UDmhdFB{=BenEvlw0o%>+Z! z8y6;)Lw5ObM&vLtE43ZlPc^3FzE{mvfycibJ)h34Uh3c zwzo5FLMlJ3GvqLDY~*^68M$0!JNz!lGUlbs)t4P9wc}wNLd~E(`vTQlA9}1?3?nX@ zXZiTrn}^1lyB;yTrkGB^4<753psJf0mQ5*auZQj_GAX>0@*c(o;>4=C_jptnn&vp9 zf3Ux`^z?(qt9e&6D!^vJJlw|8;CiG=dXSRt76vUHOc$p{v8NfNMxK*(K5S*hzkTnW zyTSl`a3kg9D`7%S!0k$D)Txc@J@JFF(yFgK2JE9d__!Tktd?}1c>=%oW5)EKc%IKg zz%^hXJ!$4=gANR31n=w9F7t3z^+8;jLx!()-4N4JY?S7`0>*IKTDeBl$NIs*24EK? zNO_%$4qj6HC@mG;^(-BAu~caw3;wj7WgiA4ibeJ!NVu{fJHuJ96$9?&q&Pbg#r%$!2fgyGydf z^vr}lq8=T=eT3*`(bk2%WHTn(lS*N8ioF_mC5*;OTr?M=Y`kd(G*GU871Z|q-@mEA zQhlgxf>Z9~h3+|4V^VUJjKNgGnTJo?51Mp}7>&^R`VE(e%;)^>w>r?KQRo-s$MgRsEmhrjQX_D(g1|g^1 zVOcnlrq^(6V{*{=?pjEe(Md&DfmCE2Z)qR5r7 zGoN*cv>09DSd~2?g<<+mf24&~)^MZ8P9n93^Fh}RxG|$5w-$c%wh_cj7!|Ig2=_aI zsu#`dNjd}rlz7p5O&2F%C9yuF@ILJrP3td9>u&Ov!#$oRw^JBp=`zXZi5Cj+VfqS# zC5QJM(g+_i_t|q>ZM+=WYXS2YV=7<0v(i(oc0?#!^$YcwB>pY#rg`-97d%wMGz zi#u1CKq5pewieJiTpE4s`@~&fH{@wdjKR&Nt?PU3BDK#xSDBop#qtx@gIc z?m(Pxy?vx^E|OzSe3*yOd~XE_8vJ8?EZ={gn@VOxZZE>Yh*vUq>2ri1B2-B$X8{CVs$Jrd)zQSalL{c?#eu`A& zvAJYwvMx=wD~3jiy=VJ}&&*+!CDv~YxU}UMh`ukbu;e>?bmsI})V1(kurs>a|Y+7cj;w?lLG%HbyM6z}|PJnKP@!Qd3Q(~^P z1P#_1zJhWA*M<dg{*A{x@e`_dG0u_w8vdUY4;J6SHyGGS+8{>S`t1Xhdi%> zG;{)Se-0Tz)?Vhcz|U(UF1cTC>bb7&*iLIc!^VC8BF%HX26>jg3@8|&h%8BAr3LG= zNEqsbME5~-<^H&B{qN(|*MiC;>0Fy=%*~K`Z8hxGj8G_kabEBVrAvNij}U1e+WM3q zVUYnyKHOt>+!JhnAwVk_977v%#x+d&Qy=xrQ38dDEY@2Mhjb_Fzno7j{w!&tawSAT zgzuGD{`>N!N7QQ<+loC8=W3ycgwV9W8%ZB*E``$xSR+I=sgH)%PAhVWdT?RB z@XXt0?^@cKI+1uqUix@h%`fUHw^p;!(kri*#J9a9A?BG${H8&Rh20VxQm;tT%j@Sp zdz!86`Tk}f!1Xxt^B z${8ED>WG{(p=%tYf9wE=&%rCgCSi5!k_{ie^hF@~76d!br!fFycjpDxl`vvP1&JGz zxMn0uE3Q7mMeIlWXa^Zx51(t;L0x`Oci!vcx(ZpJ=#vLZG-ToaWQvitmR^Xq$3*W! z!q_g}2X9plL_c-BA~5TKl^PWX%l-mplbI?u9--~we%xoOTs6GB&86;pncZS#Y|TON zmK(HA$BS8=mW$#yL+gR^by+6>Hcg<=)}4E`Glt*VCJPs%7ME$S#m;=NuJXq=YIL!F z9^D?qaC-cgkTpQIz)fC#*0dOqa45gK(~7|OY(%~&)5Ne9DVovC%fzd9scAWS`%Oif zD%hPc51vLrmYM_dyG_*_K>0S|wp6ZoX8TF;jWv75uP|R+zTQJ9zBxp}wsVK=%_I`a z=xj9(dHgF(DiwhMAh|kj^ppO{w6}HXY0>Wh{qhv#t#D{cMo{>3wy^b8=TdRv>1E=1j)HfN6riG)HCZN zGat6@#ZC15{K+PYgsCIhgb>=U-2D~yF(a3jB?Wo#E6j>epvgL{=-EYs`L6l+vw9R2 zA!TnS@-BK`V8a8(iFRi;mvI)yX$t|%P;HGbYN-kAiG^&&cykNW-UFc$c2lpX>YWRJ zxeHgOKSdZ5Zu7X7ERamAlOCy&8q@b+uhPU_8NJSAJ`?2XrIO;5`sZF(h%+-^#u24N zuc*n(y&saVhMz7T;(Q;=*WQTDIBQ31pes2DlMj4~#b|6itL7Xx$qUFPu#vg)xWQh< zsS)+c(YHs9w|`P!zZ83=k4ZSI3M!v)Jk>X90`=Apl-63dpUT;Gkh@$w1U4)D7>Xdl z&jBHTOrEFS3GA(yfU%At*|yM;K$+`he$v>&5d(T9ztcFN!&OIljlXo3_ zsPu%cSg+$tYykl|6nL3P3BF!t#wg30Yf=&rnfiHTWkWXi@_CB@O@@(5mvAA4Di;?R z{gRb#rJVTcQ^?%=rpO8p^DuPf>eR4aD08uWt*0MzS6Cu<&P(owa2x7=n|vA_P*fz= zpDmT*2y8&o4yio&9LF(QNWI+l$rL?_7=Ha)R8UM7j-S_Rc!+REUaRKobG*^J%xNnW z!yEjr0=1@*_)e)}`@`FxPB19aq>@dcM4%;_tS5@4SWBj`%q(pLDt7h1z~QVkVJY}v zn7BX^BXfi?wFREFzMI%wTWTm#7O2zD{=TYT@{~!Qx3^4j*}lj@iSPz-Vt)UD!?~S- z3bbbRcltX+WiLGk6$HJ>kwLHE66?U$yFGgX)o41ZKd7 z_zf&9T^Sx6+vNHVc2SEurB;`Q5XSTuL_a7A+&)_u+4mq|`%R?-?{rE&;X)i%&_f7> zx7n*?(=y_MQOh-X+GOQ8-79a;7pNuZJU*Dy%I9Z)Xz#uyO^&b<+%&p`roMb3s@`}2 zO#SQ}h@jCVJK5b&gYD@q$~~IXTH%;UQ7q)&%X#I~3)> z4y+H9V;dMOdphK)*GCpaKKIh%aLg@pXM%LQ7aXpKONz7$PH`*3jtE{IQ>GezfCBn# z(prQBI-q)A4T+)hW|!@1h`fFmwn(EvlzVdUXfkyqCXOF|!!a4Nf1IKa~slBB7WzF+#edM8g*@O0X(uG&U z_Nn)6D;=xI$l|Q$U|Ek0ASFZ~fGagv2{;(?u(WT?lb#O6h_|N zC8x9>_M)Au;fTnE!bZLTb(NTFYDzROpW)iStYCuBH+Wc}8;a1)dyO1ILHR;P$iTH; z5A_S-hZ77k3o9Ky9}{n>KI`{Tw)?2WxmzZ`po?(<%Z0oor(gnR+cG4k1gi+-B#bo6y zowGjXL&!~I$=GU5Wz^Dl!O7($=#mPpho=qVnt znVT0)W7AI!Q|5zTdjfy;f^xv?cy~3MtrSbejbX7xr1iRPT8C9gO|iqm2)> zFxa-|zR#aOp&9_#{=X4vm`Z{~ZgUaYW($!Ga{Z%)xYY(xgRkYk=d#GJoD^!H_2Ga( zKJ`sE6c1LKddmTL>6UIN;wI>`H+c6kfKjOwK-2tf5osG}wD;}mH3O@%v0qL`=`=;);M_E6wCKOXtYyVe!M zhqrO&$av14$rCdV_cTbeNe@un6Mp|%HqG5#ryD(_K;Y@2;LmCd8DwhoU1|{N3g;>f;hrb2?WnA`gXGhQ&-?V>h^E}ht{dx&ro+P(tsn9u`67elX z{ehRBTg9P>gY2hzG;(`QA~!}*Oa@i7VR|{cVNDPceDYcZTu?Qy*7_)1)hu>$)b836jO*pia5!e>*$vx&7#=^tLu*6f?0&L- zDkgnc{e~mA^I4lzC85d#meH*O(F3J6)O6>GJORZQPs5rC&*`=P zUV-&ThpFgWhiP)2`#3RX#3ljz<{0jLNZyVyIkAJN%;i0EHLvV@?VBiqK*o{}Vep+n zkv_9$2V_&|ptu7^g&O1kg8QD%0m^b7p44yhg}mS83%~Vx$2NPtRnF^(l73Ok z(yG#cg<++@091V%{3c4Wg?s=)3)P#!^lhc$fT+Q_7>F94{9M%V&Jm=_3>{O(Bal%2 z3*&n!(sGAJ&E(5z6K00lhWF8iomX{ZYvFX8WNXem0v0@kd(lLacRWYk!;6lb8mHf1 z*~Q*@(k8mdJBey>)!o1`Xs$pRG0r^a`i`fVKB?J1t&4KR_F=2&SJ*v)C=+EioubjH zo_W@8*qQ4gk#CQ#h}-3m)vBytFVUatpsO@UD=&E&W)))d_=LuT6S?WG+xOm9-1j%Z z^Unh6?_TpznBS2*Zf5fZQ9sY{LCb6}YS^t;_XBmXNG`LxnaRDubb+T*w$_0IzDLL` z;5tT6@-UHg6W3x{hq}lolS4D=c*k$ntb97{aguyV-N93@@Tw@QS|M>E!aRLCwtL97 z^q9K6qvNhus!WGT z_Y9!EnF#Ku`Uv37WLNYgX4|vXnPzyXi~ZJ$+vEOPQ^yLW!&{F&+EhNZn);ba5in4R z0+&R@e(?qJnaKzt#Q}wKhIC(0D1V!RIPN}Nu+Y@!_P3{7I0$MZZ8HlPgH`v7Y^s)S zpte*?e(syr6cv7E_a8$v?;L72dwj{iEixPdGMXP28P0NfiaIOMQg|APHMJawz^L~n zbcrsu$P(I}0#!fAFkSn$elR*xu{Z5lqK8LSxEhP6y0!K^XXj!AW;E+yWC)PLEWw8; zOX%H)%85mnMhSq&Th3agQ|hw(#>vOm&*YA5`=d zdvEYl z<9lE@fjVGw(IV%i%^iT!BexVbb-saXnv37WYS0~+-4yxS z$VuIJk|hu3S)=h7UlEDKk(fTo@&v67i;I^w2dcq3Mzf2VYG57XMX-)hk*nm_<^p|` zWWp)+t1jjxF#$?6S$tT}3E8j-E>PN_bsD-0Ib?kB?eIucO-h`bf`jAK=AdpF!sG*C zEHJzqPaN`P#Tf!g>RJJsCGee^0u}d3duxGl4A|c7a|9fOE2LfxlClrj z-hCQu@3vTfIHLh1iLJ|@Si$!0IY)K7zma5-a(Fh~X1;jDB3Ns?=$cXH@^au~=voil ztY}1opJp9*g(2Gn*@O(*2X^)BSbb*hP!UjdlQjM1RC4pS#fwP|x+HGA){9?f2+N4i z@MHx#GF3X{CKFrpvP>;@?c&4hS|jDgZMOi=XI@jd<>SWOMH-{;0^RLDGj8UO?)B}} z_&r9v@<)s~*_#<3DmM@&HfbS-5V>?&%UVurxCp%$V}{{^K5;@|RCcW~QPlxuS(T41 z2)FJQvRYT!3lh));fJ0gC;ZmhVV=zU2j6L?8Sq=V{8fmk7f<#gIX!y{T>vvQoGEjZ z<0Px$sRY^QCmfUd6YQ~fjB2CWr_S5eG#sYp!Iy2CK<+=Az?YieOdw8kQlE;a-Zru! zW-cadVw~1CdD}PJHa=HzA=;KJDc7Kt@u@$%T<4~3J5>6Ipd%N_j{1Fc^3-pmlM7FO zAD!IwZZEwIwps1~=FKILC%RS~~z--9*>-glJ2b)pfUl}+WFh23m zBLco}HU8TkgAGU)gze}(vQ*C@-{I0!_uaXtIJ|DaJw1eTzc*V?7>>?v?uegqq}e>R zvyKfLJ(I@C;-kEq+k*XDz#3HbT-Ujn1~TXGVO^Q@nGGRoqH|LxPMKJ_uHt( z4}sfHjMka6PCf1LJlGXT93(SBP4a?Jp46gXtF*&ZjJQSW5oc z$Wi{<$gQ6HOMlSTk3E?&n-CD`jke+%9f-V%b7RtsUiC;23TjEqTof~4l@GVS3}oZq zJK8Ly$V8vW$C8QwnNZvAr?KohC!~+nANeiZN=uz8HRbGf+2GgqHJlz`Aq|fxvb_iw zxR_Ng5bY0hzTIg0g8)=mY_?w7WHG3CB%5F=j!e!489im zwl@FSB&~1-vuE0eFHtM*a$z`Wxw53D=#%qVsomkB2f1kJ_$SZQotdHHc=QiLE7X>% zk?dS5X?vK>AF8M3g86&MU7HvfxI7P6FV>s>qw^gYjQdq_)_?Ci zD;%kpHi8lq_Le+y%u}}+phY>GT)UxX)BHpv1d-pr%$yCDV*a4$v_?hOOPf8Auw72F zel4eRAwF_!%y^