From cff2ae54c4d81255391bbf1ca0034ad6982e9cf6 Mon Sep 17 00:00:00 2001 From: jiangzhonglian Date: Wed, 19 Apr 2017 17:06:39 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0=206.SVM=E5=85=AC?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...01\345\220\221\351\207\217\346\234\272.md" | 45 +++++++++--------- images/6.SVM/SVM_5_Lagrangemultiplier.png | Bin 81895 -> 104623 bytes 2 files changed, 23 insertions(+), 22 deletions(-) diff --git "a/docs/6.\346\224\257\346\214\201\345\220\221\351\207\217\346\234\272.md" "b/docs/6.\346\224\257\346\214\201\345\220\221\351\207\217\346\234\272.md" index 8b90446d2..5e3974356 100644 --- "a/docs/6.\346\224\257\346\214\201\345\220\221\351\207\217\346\234\272.md" +++ "b/docs/6.\346\224\257\346\214\201\345\220\221\351\207\217\346\234\272.md" @@ -53,53 +53,54 @@ This is the simplest kind of SVM (Called an LSVM) Support Vectors are those data ``` * 选择D会比B、C分隔的效果要好很多,原因是上述的5个结论。 +* 所有的点看作地雷吧,那么我们(超平面)得找到最近所有的地雷,并保证我们离它最远。 ![线性可分](/images/6.SVM/SVM_3_linearly-separable.jpg) ### 怎么寻找最大间隔 > 点到超平面的距离 -* 分隔超平面`函数间距`: $$y(x)=w^Tx+b$$ -* 分类的结果: $$f(x)=sign(w^Tx+b)$$ (sign表示>0为1,<0为-1,=0为0) -* 点到超平面的`几何间距`: $$d(x)=(w^Tx+b)/||w||$$ [ ||w||表示w矩阵的二范式=> sqrt(w*w^T), 点到超平面的距离也是类似的,需要复习一下向量的知识 ] +* 分隔超平面`函数间距`: \\(y(x)=w^Tx+b\\) +* 分类的结果: \\(f(x)=sign(w^Tx+b)\\) (sign表示>0为1,<0为-1,=0为0) +* 点到超平面的`几何间距`: \\(d(x)=(w^Tx+b)/||w||\\) (||w||表示w矩阵的二范式=> \\(\sqrt{w*w^T}\\), 点到超平面的距离也是类似的,需要复习一下向量的知识) ![点到直线的几何距离](/images/6.SVM/SVM_4_point2line-distance.png) > 拉格朗日乘子法的使用 -* 类别标签用-1、1,是为了后期方便`lable*(w^Tx+b)`的标识和距离计算;如果`lable*(w^Tx+b)>0`表示预测正确,否则预测错误。 +* 类别标签用-1、1,是为了后期方便 \\(lable*(w^Tx+b)\\) 的标识和距离计算;如果 \\(lable*(w^Tx+b)>0\\) 表示预测正确,否则预测错误。 * 现在目标很明确,就是要找到`w`和`b`,因此我们必须要找到最小间隔的数据点,也就是前面所说的`支持向量`。 * 也就说,让最小的距离取最大.(最小的距离:就是最小间隔的数据点;最大:就是最大间距,为了找出最优超平面--最终就是支持向量) * 怎么理解呢? 例如: 所有的点看作地雷吧,那么我们(超平面)得找到最近所有的地雷,并保证我们离它最远。 - * 目标函数:`arg max{min(lable*(w^Tx+b)/||w||)}` - * 1.如果`lable*(w^Tx+b)>0`表示预测正确,`||w||`可以理解为归一化,我们始终可以找到一个阈值让`lable*(w^Tx+b)>=1` - * 2.所以令`lable*(w^Tx+b)=1`,我们本质上是求 `arg max[关于w, b] (1/||w||)`;也就说,我们约束(前提)条件是`lable*(w^Tx+b)>=1` -* 新的目标函数求解: `arg max[关于w, b] (1/||w||)` - * => 就是求: `arg min[关于w, b] (||w||)` (求矩阵会比较麻烦,如果x只是1/2*X^2的偏导数,那么。。同样是求最小值) - * => 就是求: `arg min[关于w, b] (1/2*||w||^2)` (二次函数求导,求极值,平方也方便计算) + * 目标函数:\\(arg: max\ \{min\ [lable*(w^Tx+b)/||w||]\}\\) + * 1.如果 \\(lable*(w^Tx+b)>0\\) 表示预测正确,也称`函数间隔`,\\(||w||\\) 可以理解为归一化,也称`几何间隔`,我们始终可以找到一个阈值让 \\(lable*(w^Tx+b)>=1\\) + * 2.所以令 \\(lable*(w^Tx+b)=1\\),我们本质上是求 \\(arg: max\{关于w, b\}(1/||w||)\\);也就说,我们约束(前提)条件是: \\(lable*(w^Tx+b)>=1\\) +* 新的目标函数求解: \\(arg: max\{关于w, b\}\ (1/||w||)\\) + * => 就是求: \\(arg: min\{关于w, b\}\ (||w||)\\) (求矩阵会比较麻烦,如果x只是1/2*X^2的偏导数,那么。。同样是求最小值) + * => 就是求: \\(arg: min\{关于w, b\}\ (\frac{1}{2}*||w||^2)\\) (二次函数求导,求极值,平方也方便计算) * 本质上就是求线性不等式的二次优化问题(求分隔超平面,等价于求解相应的凸二次规划问题。) * 通过拉格朗日乘子法,求二次优化问题 - * 假设需要求极值的目标函数 (objective function) 为 f(x,y),限制条件为 φ(x,y)=M - * 设g(x,y)=M-φ(x,y) # 临时φ(x,y)表示下文中`label*(w^Tx+b)` + * 假设需要求极值的目标函数 (objective function) 为 f(x,y),限制条件为 φ(x,y)=M # M>=1 + * 设g(x,y)=M-φ(x,y) # 临时φ(x,y)表示下文中 \\(label*(w^Tx+b)\\) * 定义一个新函数: F(x,y,λ)=f(x,y)+λg(x,y) * a为λ,代表要引入的拉格朗日乘子(Lagrange multiplier) - * 那么: `L(w,b,a)=1/2||w||^2 + Σ a*[1-label*(w^Tx+b)]` => `L(w,b,a)=1/2||w||^2 - Σ a*[label*(w^Tx+b)-1]` - * 因为:`label*(w^Tx+b)>=1, a>0` , 所以`a*[label*(w^Tx+b)-1]>=0`, Σ 0~n的加和也都大于0 - * `max[关于a] (L(w,b,a)) = 1/2*||w||^2` - * 如果求: `min(1/2*||w||^2)`, 也就是要求: `arg min[关于w, b]{ max[关于a] (L(w,b,a)) }` + * 那么: \\(L(w,b,\alpha)=\frac{1}{2} * ||w||^2 + \sum_{i=1}^{n} \alpha * [1 - label * (w^Tx+b)]\\) => \\(L(w,b,\alpha)=\frac{1}{2} * ||w||^2 - \sum_{i=1}^{n} \alpha * [label * (w^Tx+b) - 1]\\) + * 因为:\\(label*(w^Tx+b)>=1, \alpha>0\\) , 所以 \\(\alpha*[label*(w^Tx+b)-1]>=0\\), \\(\sum_{i=1}^{n} \alpha * [label * (w^Tx+b) - 1]>=0\\) + * \\(max\{关于\alpha\}\ L(w,b,\alpha) = \frac{1}{2} *||w||^2\\) + * 如果求: \\(min\{关于w, b\}\ \frac{1}{2} *||w||^2\\) , 也就是要求: \\(min\{关于w, b\}\ [max\{关于\alpha\}\ L(w,b,\alpha)]\\) * 现在转化到对偶问题的求解 - * `min[关于w, b]{ max[关于w, b] (L(w,b,a)) } >= max[关于w, b] { min[关于w, b] (L(w,b,a)) }` + * \\(min\{关于w, b\}\ [max\{关于\alpha\}\ L(w,b,\alpha)]\\) >= \\(max\{关于\alpha\}\ [min\{关于w, b\}\ L(w,b,\alpha)]\\) * 现在分2步 - * 先求:`min[关于w, b] (L(w,b,a))=1/2||w||^2 + Σ a*[1-label*(w^Tx+b)]` + * 先求: \\(min\{关于w, b\}\ L(w,b,\alpha)=\frac{1}{2} * ||w||^2 + \sum_{i=1}^{n} \alpha * [1 - label * (w^Tx+b)]\\) * 就是求`L(w,b,a)`关于[w, b]的偏导数, 得到`w和b的值`,并化简为:`L和a的方程`。 - * 参考: 1.【计算拉格朗日函数的对偶函数-下图是参考小象学院】 2.如果公式推导还是不懂,也可以参考《统计学习方法》李航-P103<学习的对偶算法> + * 参考: 如果公式推导还是不懂,也可以参考《统计学习方法》李航-P103<学习的对偶算法> * ![计算拉格朗日函数的对偶函数](/images/6.SVM/SVM_5_Lagrangemultiplier.png) -* 终于得到课本上的公式:`max(Σ(i=>n) a[i] - 1/2*Σ(i,j=>n) a[i]*a[j]]*label(i)*label(j)*)` -* 约束条件: `a>=0 and Σ a[i]*label(i)=0` +* 终于得到课本上的公式: \\(max\ \{\alpha\}\ [\sum_{i=1}^{m} \alpha - \frac{1}{2} \sum_{i, j=1}^{m} label_i·label_j·\alpha_i·\alpha_j·]\\) +* 约束条件: \\(a>=0,\ and\ \sum_{i=1}^{m} a_i·label_i=0\\) > 松弛变量(slack variable) * 我们知道几乎所有的数据都不那么干净, 通过引入松弛变量来允许数据点可以处于分隔面错误的一侧。 -* 约束条件: `C>=a>=0 and Σ a[i]*label(i)=0` +* 约束条件: \\(C>=a>=0,\ and\ \sum_{i=1}^{m} a_i·label_i=0\\) * 这里常量C用于控制“最大化间隔”和“保证大部分点的函数间隔小于1.0” 这两个目标的权重。 * 常量C是一个常数,我们通过调节钙参数得到不同的结果。一旦求出了所有的alpha,那么分隔超平面就可以通过这些alpha来表示。 * 这一结论十分直接,SVM中的主要工作就是要求解 alpha. diff --git a/images/6.SVM/SVM_5_Lagrangemultiplier.png b/images/6.SVM/SVM_5_Lagrangemultiplier.png index c98c5aaa176ec9d49bdb40db4b1b29890e8dabc5..c5dda0071fd1d653b734b87881fd1e11bf7dc4d2 100644 GIT binary patch literal 104623 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 * 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 literal 81895 zcmdqJ2Ut_j-!FJ*(xrod6a_@O^d1BR1VjX+3lTwz5CYN#5)lFE3IYm3q$@4bmEI8% zk=_X;6zK^yKnNRu|9#*0?%uoizIUJd?6bSyWKO=BGnq4=GjnFXZE`+&z5p;A=^N?; zWMlwvoAd(C7lE64!5*#vU}6G@0{}n+ki~calq8N+1mGbh03iQJ{%<)HtRE@P`T$0^@sYoLwyA0rEdT#I))~ce`_GoKfK64Eb}N|!c;O)MY;Bz_T4642X>Ao ze`%Vn`#M}R=xq*(Ljjf#^^(;USFaWH88o=e`?B}C> z@7|q%>ilmW4#)p#J1`>kw=P%1<0*}(AVkdtqxbx3{*wRApZrHAy~|@iXA*cCQkJue zpEHESdy#laXP>A3B>o+VmkRRt`OAMN@$64Y4J7fie|fim@z}roqknkvzfjnp-Z$4J z-Ns8Kp83(g`0Iapw}0^}e|cwjCl^u~Ql9{l|7rt?0|46Fw*-}Ms7h)7^X-4(0pb-v z!ub#V?P-R`-j)`mPi9iOOd1)t06{<*xB;jFQh>Jq<6shA0MLc{ggo_dbN3h2Cf(V` zg1S(MPk{g9r;>t(-pGa6KYc;QIrtxW&|Cme6#@W?g#XBU zlnwy(O#pD|$A9Dr=KuhcIsnxD@^O0V^so9zN3ui8|Iv3pS9!UA%9AnZ007ne`T5>8 z0H96*fU`H}=cjq+=V$q(>y!Gd&Fj1kV4)!|reLKYy9$uAkWsLZop%8Or0Ycy``sbaNE$x;=ZMoH3`16 z%VSqJcaJB2{sDnO!6DBgUq(g8yo!xWNqw7^p7HK|W?p_lVNvm?&m~pWHMMp1U%xeU zbar+3^nUOAF+4IlHa;;qHNA+&EG@6B{#jec?e6U#93J71PyXT}11SCli*)=Kvi}n< z77{LUN=gb!>c6H-ysF3?=~OEh#e{}A2( zP7MFh#lOV#?{rS8gp5=NB_$;_>CH?}OV9j2P3Lo@$x-fn8epIxBMl}B7C;L)Bjm+h z2mXJMD9(TX7g$=t&ps3MD)1HyqVWXn#nLtZIip{{o0OSl4TZdtEMs)RVqw?tEVy2@ zX=gb_ud+Z5b*!YzIOOU#caESkS3SlW*>`T-8*zK$u55=@g?F!l>K5gQWWaZ_GOn3ZhT^kxZP~1vx-Wia>KK08TzN0&R^A; zE>k_|q)te*8SynYl8-+^LgU2z-RAC_*)+7iQV72!`7COmbAq+BM%Gwd=*K;mmsWyx z>gZ-}qaU02`xOu~a83^QS%W`BePJ*WCL3m67isk6w_^O3yh#!*LkfyF#8G9!gN}kP zUq#qiRB^Sn3PoV|?nEPEV_vk#{aJ0#Z22abp}km`v^%XYc1fK~{Pb;-zUKO;-f80$ z^(id^t%HocCuCC`)tIbM*9gYbSHoi0!jng*#mFdKf{@9rUdf5`s(7JACWdtZro0yr zdx!DOnlZzXXH^gGyy~1>Okxzl>1)~>KC4S1*bEPwRza6ip;&{-`_?~DH3C~#lsAtT z&jIS-NSoh}$F^!WCZ%LDXXO=3zJIKVu)Mp;_8YSSzPomG*iabNQs{EJwViM4?8TDi z``X9HfWOvA*`z$R`k)G)D)Qr(*nzcUhUcE%4>8&{(cu;+ycllqK5jS6U|hqRswFEg zSj*;HWqtO8<%PPr<^oE9rfu8L>}T!nUDF|j*85R0cOSv0~i20iy9Kk(nwupUu-8fgXb)=6n}coBCDKdcx7 zDf~e&Z5|}QP_|M!DNNg!cM#b}&$-s>X2kME{~j1gxgdWR2i`Knt}aeQHHno5_iR2u z;oql>N$uAsopQ~vEp~J@no>G1TTgI!%cRTwIk@E~@%6wy zisSCyy)PsAtm|B|cDX8y5+&rYGCjX^6mt_rNLa(;;#mK_9qzhUth=0Vzicvt{I=rK zN~^^FR0QmsS#ED{c}W#EH>W+Uk1}pb(kc10Zm2f<3zgh{rDv5(A)!piwDmcluWVarK*KqX;VRcQh-J{R^pS_(I8kbV2H5A#^p^xR@ zxwEk9?u9uhs5jdlb}XNQNrv-oW*v(J;f4MfNi557z{byki#4V!c!8V0AK+i%C(JTT zl8oiwuz$I>MvJPy5=@zpFGi1;J34#ZW4puDVP&xp`&?4$cH&N4;n3`BfWr4?c9i}gZ{U$Q zT_e2pVrA+4&7-5El=9lB1QmIQx!ZxgtmHSBUs0w;%-4Yg5WIbh-z!=K6~B&E*!=iC z9l6|=c=U+jrnGe5yV!Wd z4R{6SnahqPZ;NR6KJm}cD5Pq5fRZRYuHn#}6l>0^A1FEp^usZF?B=B91`AIBso>6m zPSvs|kD^I~vS6Kw<*^0R^zC^$IA%rq#-diNA^2^I+)XM~VNxTJ;Ef5LxAx7g$c>ZH zqc{l(o$>uaR`+o`VxrpYssI<4Cd8ZnKQ2*uR!G=3B`yBAtNlJwc3eY3a3Owc;Acy7V%7_A4UsWNW zhvnaU?^xI2-E7W*moc50j;+g=v}($ozU>a)-+K*0b*kjizc(_@uRf?f2L#g-MaLYT zIrhx4-&bZmzF~NSdv~->(?{My?0V7UaAVcAyq0@s>00h{_J^_6xbl_4j|RD-Q2{gM z{4&yhTGN~;fhJYU>ATPT4v?iAhT5gz64RxziG{wFs$|!ZgS&$`y6brbPI~P3$n-d{ z^;?~|L5xCR zCw>E>)NqYx=z#DavYEf!g0R36-+!88c5SGQwr*>i{c~v{+{9}V71Zd8uQ|MU2pSTwda69>zw!Ro^C)q1CBYZIgO{yWGdh^2pX`xVgw4W50p>rn z%3Vm7n(rrtZ>_I-ZiISF9T`@q=s*COW;fcRmDY@mbKn{T#yOVxi}AYF3KVNdRQ`Q- zC-2)1Ek16hd!A=R!^DGf{P%hwZdTHocDeu38(m1iW~YkKcxf=E`^5TrlTc}Jzx`_i z=lq#IKQU1ON#|<`x6(vJEsUYN*Ipb}i1VPJ@5ju**TU5Bdl+ycygHz_yOlE7@087< zDPqR7Zq&hw`w}y!2}bJ*wUD6Oa5McvP}hKU50SYtrWf&Wgy2lh-cnWD6ul7g%Ev{U zmy-@Z_u_(l-1Pl|!t0tCXfL7RP~MU)!L<&8Y&;qHwyj_WW`<3-)~qI+18#g=9r^7% zQt73ig6qv4lvHIZOq#5=*KO4K5@;~g!p`MRVpD}?Z6N zxMpGtf?=8#KL^^ttOr_*b9iIJC}|n*vMT{mlv6X8t*_k>_I<$wxHZFCU(kFnpHs@^ z-p@Fm>^AZH!Pjc(lNTo;*YVG!@pt0*A19{sp?{aoC{|2o1c)Z}y#fbI@ck?Hh^j$C z)=@<3CYR?qkT;$@o!n`6lmMc@H+JS+s!TN>-GR_)Lz(-(PhBP>-D(N^;OT9GB0e-X zn4{Hg%aQPBywW}djdR}9sHJa&zMcG~<}wj^`Mx`PLoIea7s5M}c`74+&{TZA^qtR7 zpGgnh9L42pg(})JDdI#zet4)rp)~@xrhJ-6C|zK}i=qhe{Ho``myvToxtzPz12qk@ z$&takX+DHfx^1nYh?7>yo3aZCKD=@}@fry9TUtXs=<~WhT0Qi&vKOTHg&IZydobqp z^aESf%k^mpdgTHATJuUo^Z~kGXI&J@D!F~g1898_k;IA`vKwr+^ z!25dQ1kgcowM^9KKnKTazh_XGZ}{&ucpyLqSlB-7cqXE3x_%Tf5{;-Atyxfx~_WtNqh|Zqz3qQHD{LM=56x*yoZSl!p z26x6+H*;}8ckom=XxB4)g8W2_1bD{2^BO|JV}hyFUXbcl9QW&E=53LTC5u73)1U?F z%{i-td!a-^LmLpmxaT{H9${fQ`W3fTK|7#{Gg)6y{>dOs7cYFT~k zxzh3s;Y;Af=QH(yV|d`nUjA7FWIIEVwoh2zZA&ei{ZMzU$weJF9z$(Z!CyZq_!TFe?~p2E|730zkc;Tt6FK$cfoyRyJ=L89DWE#edvX+ z3e!Trs*u?Ukg3DJoHb_5u3=7p6qbIhtk{ovDg4m+a@^VASuv3ue|i`Vk!hz#!|?_% zf#;9MFtrwkGs8?Lh2d>iSx}6lIB?uE(&L1RBXZ-}N`eO$&z94WonX4)2B))3$j>Sb z?ZfcAm75#QPQs8o&MUuykxH3FQFVNZ(HWOUK)B>wS;O>J!87yJT9Ap?&ib+IumjX{ zVxB;(q>m8&B_~w7{-^%4TZ4ETDGDx@6i+@ozmQD@ z*R_&^=z=>JmJ2eis&Uk2xTFuv!Yohd3P1K9IfRBAU>pYw22E5$>sE|^4Q#B>9c;8@ z$y}w?hh|uf+V3`4ImY_WK`M4|)`uwkU`Q@(M1Z-836toyMdTy)vDnz$JbTjUgL9{sDsR6< z{_tEIOvnLnLGdK|n}qIp5O<$UJ9Iy*Nv%&wmiH_in{Ti?ODMYsn-O65&av-XPQG1#^Jv|C zE%G+4ycnG>?t2?@vV`#F?88B$F#>;mr^nb+{oP9R>fJr|{0od#kGUy*d)CjqD>6V{ zO8i!}m~){1_VT@Dq@89#>;5}LB&vQQK_f(K3%Q_0<<4VOh#ml;?nbZGNT|O@$1Tqr zP-Qy>EI_zL_mC22B~4^fty?UonqbpKUU-aMU9<3`!;!mhoPDfZmY3^Q-6UQcLS{c? zo*o^3Jc}m4aj3(nVUQ$Vw`a9I{m|~wl!=DyalNX6YX@WB^OHmf>wwLQ>{5$d^3f zV@ZYRy`tvt!_w~_xo0i&j=tGVxe0oYe25$nnBi@++j-vPimHJ}fu_`kK)zWUkmm*cV)rvpK%sqOtjF52!aEa zcOm%|0kVjqof*^|S*NM1Z%7;4^e*?6|MD8R^PWC3B4Wo8g>79F=$1)D)fhx=6Wp-+ zm__Q&WV(LP7cUp6ntJnH^N4H|9qq&THthuK+!&MH5%?36zAcxW1`y71$I`znJwBOv z*gJ1Z&lVauQZ-WjfkBfD*8pUXbZA3l8! zM8KM#LCa4(|JbeeBw8#Yk_lWmwod+wBpqc?A8VDtpHT?5vFnHCwN%5b<-8x#U)I+T zV)Ywu4TZa%S)*6JVH*v{K}wS|9xdX{ObX+N#j@R(6YNA5a&$PTTb}KKV^M5G3W6JM zym+ydCrm2d1}7aum0frayjuEZv*q7xZhV!SzxQES9rrJ#@OC2(WKFcg2 z+uRm4zWy^s^>y};Xjb$CXKEqEgTVy22NT~w?tt5ZOys;=hHYcljpjoHUu~0=X#YxM zY=O$1ZK2DUav!JcFK;p9dn4lzWHaAnTG*ZJ{TjvnIMZ#7el%AsqDP>9r*kky{bP+!dZgIyY=}_jGT2BQhR*kziczZnygKt)Zk{V6Gp8qq~&( zvWD;N5*xm+D!=3h9B^7M55NFy0!0H83r-Jwi;vMu)osbV8xNa##}Lu8lJO*R4GhE2 zbXvjWvC)-_p8Kpb>vdIaKSHRVz19+ne1MOWKlu~ zm&)mkh`NNVfl)Cr5{LP@@K@XlJfAJed(;IfH%yTVQy@fs3tN0a$gE^{arRwm6SUSn z<$(1%ieRbR;c;3_FcG_c0LS;Mu-K+k<&r(Cqsp?`pH)_-@&FXp1ThuUbq-V?MTS{~ zU>e1|01tZz9M$n>h4{$(qvifM^!u39;(3#Y^KPk}!h7X8 zs!vspgCLkjNb=VE4Fs@hr@(-EEe*kYKS$T*p$^V+#LE`8Akp6+(t9wN9S<{Za%2kuJ1*un z(id;9IjUm)7U4-CE~Z#S4OeW9))tr-|H~|hGw}&Z<6dWDe?2Qpf89CoZVSUF5rr?r z*&n{bubztHlP&O?i@Ydmf=&{&a@NB_C4F7QR_RBjiX}sj1}4I0<)V4#r}dS5e$OCp zl)8Jt*h$N$393uIECaHP)ogoW9`9* z!fpE$94iRyJ(=myj!dQW*6R8Aa(V}QNAZBtPnLzmfsy+wR^iXnTvdR84ae3~vM{Y? zETSXPtvmBANUt|3U_jT#QixJd^5>gW;;x|6rYFT=>?o0wz*RS{p^lws8^TATp~;<_ zb#W95DO>^yBkD`y6;FX46X#5DCY{mtPy^B9dMQ$WXJGHZ!8X*$QiPF9q3lFoV{rah zCT95$@j5={)DqSMyLOhd1>*^J9JEh0!1@Q`Y&OO-1Agj|EEg?zdMqwY4+>Hy5T=eQ zP7kd~pb_p>((kdIhY58E?XeqIYsRG?xjQw!{Gh)ZP2nU|>eHI!xgx`A7c60p4_Zi` z>|boo?jkDTT$`y-@rm8_Z-k{&LnbbhPu>^T*-QLry`znnz>eI*65r(FBRd1t;?{2H zu|p)qZ_9pqumpr!Kk)vxVYnw|yi@gH7_97aQh;3U6)vZfwen3Q3`0J3pA-f*C>L88 zpk-pN;B&E^_Sls-CA9_54&r;M4$2Axp$`gTuU^K?^6SAtV1UTz4wA#SI$=@hiC6w$ zTDvfr(W2VWQ{$!Dv4D+lyaPHDQiADsN=rEOe?&~Kv^v5)nW+BA|KXh1M<9b^?tiO? zXc_^No@0iE7c8ix1st!c?Hnx#5tg|FVsRH{G z`!N%~8LwpNI?YFj669>}F%2_|&N$UH-hbU=(T>bm=-8jQG4eLt69Xtgt>#%pC zHe3i3{azrli9TQN>Ywqz3CHm6?magydD%q$?v5?s*`8w*He(^9bB7GCyLc2y)Z7Sc zSWRr=dV+HCeD8Z%vhOH=?s@lpW?D^J^tV4cqpropip>wgcL5RbyT(FqRq(fH`5 z`hD{w$Of+i*a6xS(+$U(n$i%*)CzZA5$s7eNDdEv0qiio>foT6)e~By*)`Mqq4HO5 zT*T4+Xg>LYXEFp1-9=R5J`=SK0fwcHs~x!JARY{PI0Rk5p>;toc5ms&uAnq!XQQl#CeM)s1hHm`ijr4%yn;?Ke#CjJz+pDA~o1N@+? zVH!ASbU>o3rgA6fa&2?d?Sps>)z3Y{tG7}`KUhxji%NZE)di*i=OjGEDPM3!?;$Hr zs~z=fJO%mc;QNkC()2xgJxR%dC#9Q4xk!J~bP*IrhNEsXeV%?|kSHZwgX1ssQ#g_x zAXW)e3j3Ziz5ODvWu5my$gav>-^iDwj=fDyMo7&ZORs(y&E|2K_Q@!)3qu_ql>a$J zJR1TdTI)=cU`lwmUIg7fIAXfp#K3lp(z@Yc{7>7mHYv$rW^KCX&g**N$B@;t9GM!- zugS*4{kbIHt<1&Z9gD*pNci}~2)Jd{!8Gs*-!MGXbLV$vt15hdm}P9A z6_s=7Q3lQ19ep=HFjYPRJY-J{-`Lk$3`&?lD|aF;;+KVX^&6e3<_EWrKk*8bhw0)j zj-ZQ4+EKg-p4)Q)V%@H@1=%_%-EtJUeYO52rLUJ|?7J`2+*5I_LP_<>fa-+MuRUnp1A z;bUr?DP9yA;~#D$C1i2-zJ@BY>+p@Rqxi&u@%uYw5|!6zAVE=&PW_s$^r%gg<5Bm= z$_Z3xL_D}oZ;4-Ef}ox6n0)b1rH=Xh%s|u-r{M+LZQkDt{zYM&co8(5k=XCZc$Rw( zJPu9}U>@!^Sx$J^2Q4%Bnr`U)gNXI5jlkqcNH(827!JCB5`~2Cgm^;6b52YMVlt&fn(g z-Mr|-ihQ=^(>4;UM-kOBTa36FG-NLriqUG{vS{b>xia@jmC3IH@V*Fe0^!lb0l9$xG z&iIkXXtQ`zrlGzS)L4;|cn*NF_BA993u1cf-~vse*wuxk*q{o$b9*LhRwAFGM54NJ zJUm@cIYm!Wmm)_P=4pDUfh~^I;5)sEPsM2UXmJNC-^A%xv)WC&XX@9x<7U2^(dxvi zb3Mxc+}Af~cbtJq-kdu%-2h(-uoVv83DYHc4xaGD*0c7p%QgQL=bZ7>XL@}(IZLnz z=7{NSvcMX5KNGg&kHj!)%LJSQoWbkrA`y>lTwP**yc~!Me9Tmn;5J|TV|)3c+m2x$ zI4ER5%)Yg|u_ZnfatYt9W28lA7Pyxh}jZ40f=sP1l&CnnrHp=IsQp z-F|1ZN$b?MWUXiv^qC`6M8s{z;f%{+;L~WW^0kU%hly~dV?>q@AqY3v&Gbs?93Za< zGkom1*chC?i-rR3*S1#NZMI?{Z&^XzJ;pNqdw$@CbAS${iMK|()&?zVN*GTl%#wNg%eKh|b5meM5{AuWW?wbfoer@VnwfDkrI(bbbC~r}{%K<1- zOhi4O&@9zz#mrNWhbd}B2AEvWr4>1)gVka?+~CV|pvtrj@q%A| zG%N_)--)?3dT{#|o21;0$cK{plQ8rd<~xV8-dQQhoSW54K?;4)u!dA@WM#WVcSp6o z>Y;_-$W_-_SXHdVZeUtth+_B=Fm@u+%Ui}D$#f&y!O7r+J>$X73#A_J*UrAwE#jZS zSvkBl2itXUDF~j*;e%+Er>Xkd-tajfk+b>$91FXQr|z*!&n^qD?yTeKK74a^z)f?m z$ z(~DxQ0Rg|i0u&U_#XP%Ps0e;o#1`42I+7bNEjD6O*PQuXv z3VH=Ca}i}&?2r{77|F#FzR=i$J>uBrC`cV@DLDs3OHPmEts0Gs5DI=UF>KIFf^T6q zTaTS)QGIcSEod-=&XjXsJ+1DmkYGZj`8?jbQ!OKArXw>t1LBvj;b?5z$6EU>`O>7b zkoRn0H*rs57B=@J^Eew?dlejh|4`Oj86(dF8`DP8I zGIn(wTK+E2p(~5W#$Z-X8erN;NPf2Mo~Py@{Ws_YIYe1odqTx-cJuOFa+E?S-_zAD z_hhBqr-d3**#)vaU9z{2+#a!#i8uL36y(LJ*{IDHewyt4Y-{2ynQ|*tdiZyvfuO)< z!$RbK$+L?Q1$fW9CKCG3?Pqdb1p|Vf+Ri0gxjwRew`(XoKEN(Whf9vrVkGF|Kr4ft z6PZ<$c$LKidK>Liy)}J?O8JM7S8vigT`-gnGY_AM**Ylyeq!R-t*LHWJ?te_)2t@) zVtiO3?)q;hGiHb-5C~Yl;h~nJ;{D#PvdVrUo&}jpNiq74L6LNV7XsZw_~RN0d9+Ht ztaR>@==4h$h`314rgMT@VIaGiq1WsABf1JHDZQZ#eD`82mM`C=P?*TfLd-3+%p536TNAEKnZ zt|ZaC{qW|p5r@9%12Q{yGp0a|H$zb9jf|$z!WNVuQU#xZjbCi-;bXvuqD^DA6gMQ7 zIafqp_n_u=+R{MiX8ySM+J?4y`PZ^XH2fBd+n~{?>YeC{Fd=M9hl#pz$U`-&7u41Qx6-hx9yDzp3}3h!s#qZW|EZ%JUzL* zElJfOP0*%`rZ39~ObhX*U;Z3&GwXi+a&s<1v$^zJ-mA6H0MxH`DKEs$60S_gtWU;J z#e=dSRy(ct^lH(vtw(QjVrDH*u9MMFGKXAf@o7FwfxFG1VwJ$0F_BwRVP;M~(kbh6 zlp@6zuXiZ{br-j5Ew4$niYPWry{wIooZ9C28Qj_qW5W?+d>0WsYn%=9Y5uYzwX?s4s`M56hqYn{57qEw*r48Cv_U7FWFmLkVDvuh-Q2CZ>HO62 zrx1;)#$^}lQFb${rOgbz`qkrR>AqcwB0U6uAB6u*5;!0Eua{^f2w#jA;0U&E z%dBf&Kr)f!aEsFEE;~L2qbtgkxEfVTx_zEw#Nm6qZz=w?Hf$a}cGnuLY~d4CgyZ2t*w$_oON%nT> zIPn`*DYNN$s_BWMBwWFqd3N+E$4YHWU*me=;r!Yd5_I*-@nwHH6{Ic&hjFGn*p+Ly z`2_UY|5THIl@s*f&=>A)bzpR+UR%2H2UfKdfb2g9X8h3guLyyPTFFI|g=| zz@Mfnj%r4PbcNG#fd27v0yCQ+UmL5$zCkaKX>33;?Gql7a3eBQYyU3cosQN2Bmy2=nB=K*z$$}e z?%|D%T%YzIQc$bQ5JMYU2{kCS2`Ein^wE?!>}+dgZsNsBXxHIHUj*1F8uJ#|a^yX< z)n!kU^JPRb>`+*-`D^qvx9#)w zke(35H9KVjTWJ@Hq2>Bqm_A+r2fmM8;)zt6bZZd z{+@H7MjbYj(Ev@}Ze3)ZK-N&#Sp8m1!Yk&>RqdSKs*6yjI(~1=@>^_Bpc28^>K+P? zthY0WD#Fg!Vgy*9D53Qt4ZmdCOeVjr{>9wM>`J}!rEO`!dZ{;#AcfmG%sndz&`N+a zfOtLn&ayl%z_n&SFA5CjG zd?a?{(C;i;L+ca1p0r9uL(!uFVMaVP@{qyJwbQEvo3jj}oX7l) zA;lR+gWEWf{0G4us#G-)&uc6GoEZA6J!I2LxYvH&z6(5-9JY-mxA))Erg^Vc;{73yAia$i%DNF5}DkT9T>uJ1*aM67z8t)Q9BQlQ4_3 z0+2jxWJS&k3N0AfUv=v26^@$yd=9wumU5NoEPHbZ*|!u>80)22$5B(S)h|W{M?vel{rd zcyT*d-Z(pVH6W3!P1E){a!@8&v=dP~(L)M|p~naKw_L>@MN6Zs$7|`8_q=kGmv$HB zi=5?B%HPg?b$%@mwt$V3bP8&3BHel>w3k~rvST7;x?TA7aResaaOjbb^K#%fbJLq@ zxCgkW(R>n5*40I)zDjAj6hf6(Anv~!Ha{Z0kFp3?F>o2(H3|Ey&>456lnZO8T5100 z?~k2c8&q;=`U)`mOR;r=$bS0^FwPso3vH)wrC0Y~dA}6HtuJjT8o9CM&Sw5Zu;{%2OU|EJ0boR9w3D`dW3QOm}dtu_;r5|EFvTIxcNA|mP zo_R)zm*YsWqS{N$p*#T`j9`6*!3-EV@n@!Tn-({IuZy2&blyawC&}EQ{ zbo7tm-E+h%QZ6e;fdnOx+i>e+rl>$LmrRS&#x%kg@{Q>@|VU)6dpOnSA6EacZO zGo-8RWWu+&PUY~XhtXI|H@=*JD&4(!aj5}U%)t1U2V$E5cfNldvM`{f)T*7Wa> ziB`>gALe+>-4Gx2Z2?scZOi65e2OpiLZEGoABQ_SL?k*wVQ0F&O3kb8{-XukdOa{9dR zE4FnVvdk5baF`+%+Kr?E2XpmiK3lf~<*^&nvw}7*nA7~x2I98=l(}(;cs%i>RcY+i z{eVr5@`qE9R1<7Q492}?PMqTfrK_YR*GJ)liljIR!-2kUhU-5u9PD{@+IsBw-;$(3 z;QuWNem?eJKPUem-6lqHKK`G?(zJ?B%D{yCbp-JUJU^h>57#*dSQJka2Rzv>8wx-1 zp^y4Ci@iuo=?l(jKy5-R!UQu-$-;S&7ky*Pc$+DZ({{Aazd!% z-VKQEtnr@%<&DzF?K|}*HE$JDN$wo##y>5m0wwI$U8vfM{Dow8VqfN97nG&@dJ>}) zbd#Sq_F-^^H?y!LkLaC+?<%VNV_&=?*L$8lwbil?m2u!BlsT&+-R}BK zPmh5m$!?cFgqHpa1up_CIR+|J?cWiT~6nq1fBN)F(CB z?qHWns+rD;miut&={w$N!Fni!w(*i zJG(w`QhJ>)^*Xr6KQH^zXZHiY9h@eY)iiBx3N;`9iDtzLfM}Cy0M!-(9KGv&deL z{Lu3D>+3|zV~4UZ)w8lNi_-@l0yPG4APzm>T)g+Nak%`QWQR&N{ox+7><=v+cMTV; zf5TY=w5CVU1y&%c;g-wY3(XXknJNL{MiAHGl@$qnFXJUirtI!#KBk5KBOeM)!AS+P zh08%dkZT<9?4*z$*-Y@G5A4=KhlS9r`jXA?fy4$M1#Nr8Ik zFR@GdT+NFZA%z8OsM?)el$rvQwk?RUvs*dVmaVn$56dXdJqoC+{1RJ~X{~ZU@q$h2 zAF43*JmN5zhX7wlG{yvV4l=HpE-b6r|Pqm1$t9GnR{%xfB4r0#~&5uV_~3&QlV{`211CEZOD;rJy1$v0n! zyEnvPX=`bTn+le)}1tV-P} z+rbO^UT$Os;-?lb$xk+*$24#0FIq_CAMBqv*@1``(>YG_%)mAV2jC9K)5XBn zs`7InW`B@&ehz;Z!mIz@Te6&g{bwgs&dswY3tJ}VV^ID~F3cWp%p)$EsGw&F0E)a` zfYw%_--&hm&U2pmEJ*2^BPDihEPKgQ(!96OwyNRAcfnU!Pl;|+73pa^#ekU{gQ3=V zc%A_ylvhZx_9f?Vg@I)XyMei8qJ#DI;-coJbKvJMgk;%HFUD(#ycfFz@63^2NR)h6}FM7jR2*NdZsKV0%HO7H1&Xs%G?(|R{`BA4z#FG>0 znvy)k*X??+=IzMz665>Rr`a#!u9x-y%am1C4t+4xq*(Z1BS)|~=I+Sm?>@!u&N5&9 zI62$*uSkEqF#5w#qB%O%`}s7c1Ni{$u!gywS(a6Z@z$|nt{exLuPsX1oR-c!- zQUe1~`Wv2Cj)V1%6T|he6o=*2xF${>(eD0J0j6N2Ev-meq|N-=wOjskwQTnw!w7xT zw@G>)I?{RGnhJZZ1f_!UCs{@grnM6BRk-oQlHiJs4!heahZxg4bN$R0c!LI68d*Vp zgLD^f_{HtPr`<4&h_=>9kRU!%ovFsI!@0(S5F|$~1nwHqa@C@Bz*{d&#LU>ep516@ zZUCv^xK zeC?1)`w;rBL(rx1Tj|ix6%cP1z`kElMfSok-K2|`7?vL9_)br}4hzHzYcUhKHlER3 zlNgIAs?Mgh75tXKcKKE3Ywfa9%lnuuk*cwifcp1^;$gc>%~=Ejp)sdbFKpygnD7{Z zLA0IG_hcpwm5OKCA2`YeQ1^@SRZSraOG}!$?s_wB`VAu#yvLdvL8VJ1`O3xpf0d90 z|3B5FK0WPJiyBzYZa$$5DU&X&YPfkx$vKD9mKis8Tjl#7cZ&SH z7Saa5Xnm}}8DonI$&S}Z3a(m;(^`DfMA{Fe3r*6(R*;P6$5)?&ivK5yR>=2eCMVT2 zlN-0jJQFEuExT|py}rKOiC#>|S6)*7_02vCr@^}tG58>?Xr~sVVxQuffCKJYp~e@5 z3z}eu*3qqwY6(u}*&lx{LoPj(yP)r564atJq+y2qW9~s@#_{6q@41@SS59{Z{~)7G z7WcWg3tBgE8Dc zlI;uSnW{AV)wf&zJHdCp5jqubSXp(JNDwNXDVhX#MhZ>%iz=dsBM2I6Ofjhm9AOGp zw0?W#yGz&S%z!x?kDGjPHI$| z4Wj9J@-vKi?dALYJ84LTw`m#ScBeyQ*Xu19MXH{f_O)0ccTKn5uABpuAI23832Zo- z&gyiCmH|$4DX=j~r&RS(K2CVzk3g3x3n6G&F}R$_9V~hq$NypI#U5${T70|8W%-t; zn-5Ko>MSU24@F?xSa7Vx+AlmubbqO>f7Rp=B#jJbJHt;e#$T<^rxX&ZMCONuiuQJm zISbHl5#*(_mJ?TPGY?e>KR;}7;u^Mk)ILn)C*75Q$vZ9^2P+ZN>b@LoRk(Gn?rp(D ze%b`8_2(WGe-};)bUYE^=O*<@1(awxkxj6yJ}ZTZ<9RKxcZ;!|o#P&GZkE}0^i;Zy z2*pww%?P!42*)}MzV(I_#NbFylK#p`BRj#G9{0ad_uf%Wckh~a5EKLvK@sUHRjPEP zic&-b6opWPsB~gLdJBp44$=h#M0$+^0ci=nh=6qI5PDCj0YaSbb7sxFXZ_}xbAIQX zdEYhfA1q*HEm%o*_P+OhUDxLpz(KaO@g>bZSuqV@>i4*z{jM}EI@jXLTFM}eE7qxX zAcZtsSm{P0Go`|zk zl@_YEMg`m>3Gcj8W3^CQgJg1FR$(OFKP%+@g}93t9(}epntbW6h9Yb{x>OQL-`lsz zlECc_QFQSEue#jUjO2JFR0yJI0=b>5hwhmjrRi-Sl2rV*3Km@qmayAocK4mp8FSRJ zF=>sUwIxH?YXb63fhyPF_wl1i`Cbn@Tzl!0deJ@8I{bs#o>E#@G+Db}%027#`4=CT zeGvX=OBlF+r|DMw1ky(-m|BE7;)U1-lO?emly#p5MSa!)7svJ5;tHB{pEt814`WcT z%cd$cwP~+~xom1tfNNz|xX~=3?x>(FR`NM0nPsS4NgGw34HuBOBkJnz=_GsPLB2NQ z$uW1n*LBX?YjB0^t#Rbzi*+CCUv`R$LGv*z8ki^OflrT-SGRjqS>c9|3C)eBn%gZK z&7ygHi!i3U_0=CM^ZDK;-TL9&bh|z)Tw$es>jt3Bw3OoWQ*oC3J5@+K2UNbdamREz z%u#OT)7g~o5QfD|2-xRf9hEo}jj?d|F&2fO=?AqSkvpq#g|wi#4`xOD`NZIP{V)~& z>w!%(_fnekIcJlgYF^MQSs7IsO@xfj0_+Nc_W2^k_B?CzaIl(}V%o`(LodA{~J4%b_JI@eCX3gBz=OB`uShXYzgZYMFBJg;r z?}2ZN%{;Vb)?$PonVF^boiP}o;<3QmAJ=I?qP1F~v6t4>L}fPAZHL4U1Ag_!P^><_ zI&6bMmrh%PhotGnHcUqyEi1oOMCYa18w+WMN&alZgP4253ofed)r*}qkhL_qa&x5T zOGu>HX5??P!(0M(bDqEj8K*mpF%f+oVR<>#T~<5f$-HIv277Fs))UWuZtTNM4Ft@K zWnM4x)Clg3J}Xp$WOu^m`!9u}@rwp6*P(lWRc)MAP}ZNVrbr$&Xu4BmV34OfO6EiF zuOSs3PTwBXb`*8U*c8Dzm3=0=m09{fgF95KX18vY!c_>PN(dyV|#P9_Zc!^;O zzp&u7>+#Em9A6DN#5A=z#>PjExzaMj=dy@*AmI&QLh=bGkG>xTi&_Kr_4(?}&RU)% zeEOjyl`Vg*eVzioKyJIfX5|M!03fq`8@MO`EaOoL+N#kE*v*A!N5_60_DAe2?2P+1 zCnGtOv`4I+zH z8q74}*AExf_w=2m;DbF&9jxOY_kyWTXpbik6WT1IXUnT0)Vj8)cd2?WyEjbkF z?j%~@s=(ndVsQIM@#9@uTMk^oqrRxLnpEo+UrbM&6R^ zGKzSI9GpvZI(&`KjLe?sw6%reI7NA4_-H>1JyxLIz&bKeuhw;LYOqA)syUSsq56Y6 zZ^f_DNlOVN9ldnzS|Ffek#pIztPOAky%%yG*)Do+aI#IoqU^P^%t&&9C9eTZvIZa& zSgKBZs4?%oqP78fly+r2X(YBe$DXV#&69As<8QY0pe?}eX_sw}mR z*mo&axN@&_JvRIX1snH}q|9XG@!) z+6H0#1A2qaaMVDm9FcZ?|_Ja-j*L3UuvZQLqtoma7jF2(A;8M_aIDRJzuZ^X%V zM2X^5*Z%23YZe2#o~edH1)6Se{ZM+G(legorfm_`0@c-%XLG6?Ysf2ZhGYBkOA2s* zc+uiRw%)k-r?TvJ2Rzhh%MktFd)mGOj^cQG^mGy5?xZVR=WOZA**G8HdU=`!7!2*V z2!*{kI8XoDr64=Ha}6vMQzWF8KdpPKC09@TkQSO*|Cq@MDrF3RL@EG`9_CPS>;iWX zb9nWjl6nWTfIO3Q?kRXf24RM5zS|(bHjfHNUKwG9DS>f!a;t5~g7fwlw9fX05BTfy z(+ae8+-W@z7Q+*<(I#cJD^8?~Y;f5$<2Tw6tZYxX zSfCzNjWNi3;y1s~qCdje*%wb6&Y&~J;8s>QhmGaugL=wF{(sR_UQYK1Hr(^TGka_xKOk0D~kqb}(o>II((@W`&l=Wto*fTFug-G0hx>Z==^+ySw~Dj(hj#IjSJnZjLvNHHX=FY^N$aNfd*RZPMA2(-}Q*n$q_y>=n7q zZbR)I)_yIwcHZam#d}+jxEbcNK)@A}KSMpR0JKVjRHT2evAun=nS40WxbIw|c>N6s zy>1*26*6elT&#+jal(EfLE^_usoCmuAzRQREwaqL5Zt)%d=j>q1i5 zR#Mj_ujGc@W{fh;sVMZG_Vj^dkU_;NqLU;`tjvc$A+SV>NS{k#a|$VM_y7Lz!x3%v z;!~e1*(n7+I|rzXUeDXg*u7#kDn?AXzdLT_d_tXK-h4tZ?`Ca^p57x?9$FJc$drWM zr95(tYhk~i(x~39`iz5S&T<@M`0-_g>8WfrN>9Q;!n4BkcoNd~BWj6v(r9FD$xoG% zZJ{-jt9~#f*gbEeH@^^M+CcLQq`)8&(BLP$EDoTebVm?etAHzN{^Q!v#sok@(7DwA z7G@bH)$qBkJJ`_tyAr%LCg}j}tRhNunp5TKFPQe~e^51QJ!mC4A@lRiL#j|>f-(bh zKc7eAbEJUl7bf%>8${YWA0Rmy;zP3Mxi1jen@?gR-TX9vepx^4vlyN1jtUFfWp={6 zIM)_st2AamhYI!a2rZc!iso%*D7p*xnIAgaGKb^hXKf#{> ze_IgtCIKV78hhbko++VRxY6TNgd_o(-BVZ}Y+b*L636gEDg#;LX8L z*G~{Vbk;$)oivNGG5#Bp>)hYaspVbnqIHPL7t6TrHLiT z7G1C5%Y`ASU`%>1yd$F2gc!1KKGUCe*%F3~So9O11IITri?@wcG1R~^Zw9LytuHb8z2Uags9VMO3uk&KN(FwzqK8EE3MD|snlebCY`4K!5DT^c3>2wA4JCeCClVonsuGMk=^sH+i z)`HUvEb^5f96yQfwx$*W^+`%ic>(*cZ3`qq?yG}^5`Lt*#Ph9erxZ)fePy|}t~Nhi zkC_|zln@eYUVijEOhr_oPbIER)j&^MWpUu)bire$(~IIp8AC{A)Af^>`sEC5tu1V= ziLls-uvkxi=+ep-E5PdFA=6Uhv0!{gRE_6Eezcz>+f4~ZiH~g+$Vx6x__TA(LHL4> zKc4z<1|K%CnLj222(0nmuHmA^XUs;Fk(^xfn#CHS)Zu+?_y6GboKCtmyN& z$Vn7fmgU<^rxbpVvrj;Gd)xSVE9*xkIrGUq;?8;Kd_u*1OtsfTk*&p*-Y6Fg4}RC(%L9?|sK&R5$4t zG(TVuj{=W*|A4w00pHW^dX*A%9>VEmb{IhvDeFpda(FT^1 zzUm#n`GuQ)GP$b4Pk5u{#NTM;`Kq=fV`gM9M6C6xBAhW~nxxP7yfvzcu~l}qefG8#z@@A;vVlFO?R~LHS>ldq8Q`r-0y{3Nc{VUDt6e`N zlc!=Z@7Jj0XiAz_0}D)~gsr$XiI%ZmN!XSdeJVUn{zVqR^CvCL##r1Q+RhsjH2|=S zox0a&Z5iV83igb@2?s_8a-nyRNY})TY6&4&e8M4gC{hU{KKiP*0d$?e?`JB9^Y-Vl zwe8sa$<;dDL|N@>fCTH z)c)r21Ib6QR@U)wh_H>M3i&d0-_^7RTR*T<=2pwZKK?oGmN$i9yyS<{-z%WGG@|3i zq3Y;oqVwDil^u{_qVGsWA)TPE+Sk&ZR!+4hC_oG!W9#Gy@2MZVsYZMvbG!TPf{}s+ z$QKIO)+2-{WSYf#eF^F#wcV(&I%{lZQQ>XlHTa-_=y_=YUy^i<@nd$(ZI@^F7yO%w z?0<~?3bXhz|Npf=>7Vrrm0O}KRg~)5%%hAyK8U3g!lM3 zn#R|TQ_xb{s=mj?6LqDjl5!2=NX!9Hyxh?ZCP0xHgrz))-Rkvi13&8&-O7E7H!t*9}ZxW2fvK7(~;7QZu`HUkNckErYihpQF6;J^>s|0#l_}u#AcvguPL;&`}KAW;Q^i@6i$fk9Jzb$9cg>CrlmXNGHdqex;-fwTL{cB(`vpvSO~G>5!~ zeCrenp=+?6kJNo=GH}3f5!!zUjegMoGy>-<9RDulk>wkBPFyl8&!>ps(nOyc>y0z} zjch-TdI!H~jpsuLbeu*%ICY+U*C{azX5jet)yiF&h9^L{18dJ6zJ+(4i;X1TYPnxK zSjrEDuW;L03$r}=17c;45vs_!sHbE3QbxeYImjn1^A_`9Y4N&z>A6Y`IAJcUQGb^?UO44}iwyv-oSW5o3+(E{GWub^Ual*Y z?)vj4bc;RMw(Op`2J3&^3-q(>Nrs~&YkZ|S(H*B#EAB+*To=zP9g&-c_W?pDT1a5y+`v+}44c0jio zh!3$ar;|IFOMnh$wD$*;JaTMu>V)XAxO!jxM`qR6CSiu{fdrf~MHineG!lyC33Z zWlN3ZGZkC``*-x<(cZ+Y2iCh*;~h66Spa~&%Y|AIv|QcPOmt-y%fhX>`%E)?q zq=f~>EQNQlo{XInLs|Jf*YFZ(7N4MO1z15#glpuh0|#_4;ros8?e27W;V_g{B*nz< zlFACo4wL&`@+jztJ51`qP`Qks&AKoP?%1X2FCIYNCzrK5 zrbA@1vo*XuTT#&vIu+6GA`Sd(o5#ed{pBL}L%%l7pOlwP?kfScPnqg@_%l3pn@;1K z&SsyVrg@#A+q!uq=aLdNd5Y?Of@&T-_5-@d63nV#_l6DESn(szx>~IvNZYE9}pb^WPf*qo9RH{TgbwhX(!!}pA^maDDAk7 zm?wZfp8pq;0YIi(n7ypwd^xowN5@g@gVvqD&K#%L#mWm*~Bc1KC>2H}$X`?ug+H~-@WA;<1-B>2~ zStZsM8=m6d7c=(DeiQIa#FsV0vz~-9ug&6Lq<>#JOX&+`N)2$G+ ze@JAo$+)FbaH3+0LBZ+Xu$!v*bK@bvI6A-d<@qx9$jksbx>i2v;HJ=kwz#eM-DR?u zKViQTypaQ_w*d&QtQH70&|#`yC8h3fv9+)!oL2DCaB!Slfi|I$5sg=hJ7CVrir5PUUqE(5uL7cTb)gsH;fi#-944$$WK)N8HKUrthpmyE8p zRIu5V81NvC?{~@^B1yMrZu|j#*2p4Lb^_Uhu|T-qSt|S%!LkFvF$#bB+UYXU8!!!S zdTlZC)Yj1_#+#^h8#W!w9&Yr$S@8IB=zA=#hslZ`d7DvwiV)vFARQ{v9m)==@TuWq zudE|j%_6x2Sh7?C?Mp5|o7ypFwQm(Bt7w949*&rSW3M14qp(KL%#?&4tpRS zXtTVNhr>T2ghDX&H8lZ)G+Sjk#$UpLkqJ#t6+m~y%F1?Nd6o51I#jD&tF5<^LTGq? zMMQOERexF2LMQk%%EAt;=NwLjepH$}S=W3~kv)qz*bv_NJ=UB;$SAVU)8Y7hU=)R! zgDyJ}`HX^H#exYBad+N#zQ#o(v_&~qR$^q|J=$t+_v3?|@)09jjo3N^FdU=@DXkdF zF`Ia3w7}*$Z=4je%nXWBR?2(pwmZqZKh~-mf?*EPq3! zlTySdVQLJ%Q8ZQ(;d8H}+oK^d@0b_k%i)~U{osamaTE&4n-<$|h8bOd$IXh~37L@T z$iyfSk;nyboOXCANs<5iE!KONy02wg_+6H=xb+8gacpzr4@jNG92gRSbOxFhBS+@U zoy?Z`dMm*s)-e^%4PgYFdQNfYJWbc0#Q9g(R~9uzSE}9-Fn7$|Kyh%hGy}D z6ZF!j5?LB07ynS16S>m|a4>8?XPojd-&wXY8qr_b?0n^ z*eLs?L8nn5)bH)=5poXO16fj*jSvdXEGSrKdZ}Tp@beJ0^yAu!D|&pt|D{Na_- z;fZIp2_ubOk8s)j#_jg?Skq@41tqX-W|fVTU?Ug>I5(k_bgQmEY%6~DMTnog!`+wO z-V^H>IQxxr-pgM}mZz8PFnsv7fi?17>`;S~cj3drDX-L=s}@S%5|T7T>aS7-v&YOR z;3^8vZ@vSHZP9yTJDFQ2Z%@Zve$Tjz8kId#wr1DZ*NLAX?JRlvW<4eG;KhRxH@p~h zh_3TItkw8^9TPNO3$#M`)O)AC% zW`a{Eif$tlMC8jMN#QxCF-0X_At$rCDW?{{XOMR2DS!TWScN8dhspS=|766;m?oQe zkejlUTBa|QyK=IaS1rhr=E7FQPd(}dbHlu?dn*Edu=UM!L|O?VluvM1@PW_-WXMcB zGnO=d9C<1~=>?q|+bSU}w2W4dp6Er@`C*E`-Ivw$AH8=&#L|BlPyH2DkD&G9@7GRf zY;rOMH$hrOAFX17fud7~g+w!9Kq;j%)oZ|M~|Mu4?C7-_8D@9*wT3 zsieH<&iCc>9%O_`{YT6qrA6GS={kb{8}UUQcOZSjdfM3%CY`zL;9G6L;*&=blBID; zR16IlJM%0x4Wel!klZ4#frHZw0`VLg(`bBDG*);R37C%aJWU^w?mM zOum=TsQi4Seof5zM=x?67@dO+jQv+7p`XiyH10@e3`F0PyEgIlnFjOu;D0if{+|i& zasRV%i!K$pHO%=D_(gXpLEOxoz11uU<@xibS=eyEYa3oB?(HOwuZr(nBZzYCWcITN z1kbAK8$3g(Rv=t0*WWqM;j0~3fz>zc7$UT_HK*O(d4DStUAwUH5u=EhVbgEnzOtRt zGRxpLGQwX04=YDmJs>Dvj=JiCcacYx04js7;=^GwcforebcpUli#U<})dx`>$5eIx z0mYwPG$rCpG(`uaAFVE*O*-W)>5+@qJPvF~-G+xQ6L&059ct5Rh^F-$H4hh@CS!5- zqez=s5K;K)C$m}7v--iZZRW5CUnO+H$19^hQ{9s}0QA=h$~lj$;#CO6eukbey<=Y= zyRVLK4_%4iwvjYly0>lk?T<|I5|vi_sANYH<7blnS#1^eqIt0e(RL0K5mUYLv3Dw) z@gXn@M}NN8o;>8kp?Xaf+8Vrq#@(B)YKOhw|H3dXIrbKKaS{ zvU@s%cVt+0pSjf7*0#%cKeyj`oMuts0rRQvklSvE9jd!?4fYfhkX+jf^v3`9Qy(w} zXDF)tMI`lc}L)gXXRfx`p<8H7pFRiFm*!*QP;+XL52=mFb?7Lm>xSE5fj zy~ajmdbY1CeO=eukw0Gg^k+%s2Ptz1NoXeoxqk=PU@3qgOdD7|&n-(g1u81iC~A4F zboyxeXzV$mq&*971_|BCo)QRvQxxZyHie~;A1MX%a+&pfsG;U8*#@RL2#nU^R9VUW z*CC8>$gLD(f;Bn2P*3lj(qt;F&}=YZiDxkca{ z4gLe7*&pnwn313Dmki>ldY@=Lxm)o%M33HA^qR7%ADU`2%_5jnNZWtDC*Q}@1aRS(bkC9aq$)s%`_S@lEx!NaV+{YCp(#NX=XBgW7 zp&%wZohJ_V&2Gkeb5@wQJ3G3_>QdGTzv8;61cuHz1sQlDUpldR^;=}MV+8De3VSQP zq4^w**`1s$QD|eQ^cd>9-~+B4&`@E9>~|DcR$ zKK=1xU+HNRF;JU89VV(GM0!Dth2azFWu|!j^3_AGC2P?903SJj zYhJU^0(v?%1Sv8c&UZ}A`2$LHKk^JjTqY^uFP9ZTGj9yB(M=oS%!(G1y~`Og6j|bO zt}2EBX8nu)78%c}hF_(R^X-kE99QHIC8n8GlTG=E;tiyq1hEp?##1Nw_0equ-ptch z(^Ax;cc#UYQtpeSEMrHD%#DYEs{!OZ395IazGx;N6BTltV^p>eATrj<7`#hZ0a)$;&uyvq zn->l38MRmG1eM~{WeP4HK}sN>U%W)y>Q_RdUSOYlLmIE(VLP*wVqsoJjxm%*nkD2H(|6>mst54UvGfl&Vh23?y6arD2V@FsSRh- z3cj!M>ejOuT=r#o%eXAhY~gmD9O~Rp7OQv4*CWik44=j81F5>9k`w|awRpqg@|ZM? z9vAx*Tk$<$x}ZDUI$73G3?yL3Ya7v5nilB{wjPRb(XQvQ88RF^ptjo-zg24misOh_ zr2O?E_r&moIC*G)_R$eTMa(iEEf<58-x_}Vwsd|sD&$GiUJsA2Yw5d+rA_e1U5*Byz@%2_&R9)@w!HRUBrcV3Q0_o z@fWlnPkzIG8{Xo<4mt7w!3{_4*Ur3-4DQyvjQi4}hQCzW>;6JP3gs=G#bhu{xYLDg zz3F0KdKa1S%Q}oz#_o!y*3Dn%1`Hi{N=tc6oVIzYwcMjkwP@&SCyMD9^@3BFffsw53U~DgjAB5hHagvc53Ez zaBg-Lj&*LdM;KYS7E|*}h0A36Q9RNb(#w%n75s)aMA3u3LN?KHZPmfj)`-!mZ1&3t zDx++Dz^B+X9z57HvWi*WSxw!}s*;O@gFh1)S~4l?8Y0O|svPS^KGH|mAN}fJ@@5vZ z3OC6}plK^Nj@z)PoyUe{U98&jBJm8s)n3(+BcaQ>`Mf2EVcD@183~1~N?AStH>{>j zxIdx>c@cBR%x-TjlVgwsg`ICmd4%r~VbZ?#!2b5TvKx{YK-}}7Pqxf?r_bQ3gt0K- zS_GkRP-U=$dJId8I`ltle4+Td+R|Zsih7p!wHEx7Tgh^KOo_>33nR3Q;A{n8&7U=R z@n-2qR_nFXjeb7yjFjHIsZ(DaVjh0OY`9c9ny1YO>{(Zk340S`Xq&$Ivq!c`VN;#rqZNM};9<`JgP$jg=Zjv`?^1@2EdgH0HQHiQnFiEEn z?4_H8f(|;9ePxEG6w{>qw7q7Lp}U#u>T-Oy!3p+S!bd)wo#z@=55Eu?f*Kx{!{urS zL0}dYkd$`G%O2+3qi0jSps0x^OJE=?&P;KbV(K90Dov3lWAYYs$@gqq*b$|FvsL$W zFwsL_Z_ED3RT?$qy3P=UyxJf~&}uO{!GxmhPYy=va>2XyC=AW^`{UtrKfxc~UF5F^ zD(v)D@|8g`8Ne~x{%m!Zm9WT4ZOL&|yX` z-CK)s3mP+DS(B%&jAx#zz0sqX`!ovPV#iIZ>JWE;sdf6LPL3q{*VeMxSJ3F>b;anX zEW4KO;bv4Y%?H0(mE!aoP=e!T>4*kYN-D~*!mP&1_5r;n*b}{Vw&W|YdeT_tx#*|= z8E#F~Sn%3kRZ_%dD1vo8`(g%Or&^urC)D)PP@C6>AigwI&h>}c{vwN#)QF-Y>6`mn zq0ff=c@t|I)su#@=1q8SX}toWvXE9V_Q%5*Y0`ZH88xr`@WI%DVo@5qZ`gy$wZqaE zQ7Rs(V(%_8Zd3Lghb^eY%}4VCt+cap6;UXgj^$?E`OLI(Uc2|T@i%gxEerC|P#03g ze9sm$Q9DTFogjgGrISb#2l?9t%vDyUWP7LY9T zTe*+-En~oGJnXG$xP+=&eIa~k6E@<6dW#PQ^vaZ;=bEpv9h7>A7ql1XbGE&^ucK9M z`K|}+%Gs7r0}uqJPkrk;2`mrd`k3J?5Wym$e>suL9bLK>Yf-sd3(w=jYI$(lo|hMHH-s)gg5VGB0o|3(>!{;Ux4 zm-T=ac;DfdpRLorvFmj^N)D@^u{vn#U0*;fa1!-NG8fe5E898NC?VyQ>=d{jh#L^? z36?L2la>pUD5f?2dF6X1uZCi>?li=@d@vDH`U4V?P}Wa6a=9P{(HO8WBha+~9~>n$ z<Z&fIqHV7kK*TaoisXG_BR?WM|z$7O6+JHWh`0MGMU z=lh0R1W&aQt2)9;n;;zgW+2JTZr{#rw}R;|*~;~i-UUsGnIe)qG4zWUdvk)xtg%>a z(Z=!DuY(aga+UqNLXvx7$3LUI=n_nf^u%OtmDWScPR#08M+-+I4GaqStWMSn()>h6 zPq-Dlq?$}S+jl~>7qWt8tH6;5G)~zz=%jS*WSPWETX9UydTIc65~2rZfN)O2MSj6B zf-k$haZoes2=cOBo38Z0d#(pLpbPhuoGtuLMali941j1fXHs=4Yz#Yqd3a!km4YXk zdITQjaK=%Cd=`(2kWgjUwh8^FSjH)$!kuzQtGi}>FbeOS>SUb!wuzx+d-844WoQBG zv**iC$0rf7uv7E(Q{j)V@6^Qzna?zi6?h~8$iE8iD)FX0WT`y_pS}ix;z=;EY?cYI zdzFJ^@6AmRv;M+L6c`X}&%wdCEiQL=^LtT}MP0Yw-h73KZb!In=-~Ho+-<6XC$iyl zy=LSqvGjMM#hKc1WZ;tlK9%acsmYjf&n8hQ*=GHosvYU=*nWS6Diuc13*3_XQYF+; zG}jPpP^sQLBUO9<2i1zBhU)_0Z>-clIKnJ$A%&;yhjh22zdpy@rYopF!ej|6o=upf z&t7iu!!H2y#Ii!_JY$p|+Gcl`+Sj=mb!uqpkdt?BcF;h6CuUZ(pfVoDTDZ=Uh=6*a3GN_q3o6YKq^+@OFeBy#8`m98S$1AYCF35;YHNcHd2dUyg z$3f@z>&Ir>{&A@3iPK|Z34YdWzzxZ`#>G=nKcu847^wd}#@cQ>PqflXix{(gS8?no zhHe1UeriE78rsR>(hsXr6b`F#ZR9b=!6}3LN0dm+PjVB#sZ~Ogjc5jZ!}3rJ1)~x>_@V`8BxTsH*Wb zRA;bkaCC6|fff+@s~NNs=G*)^Cg&p9nd&NbDK^&CT(8l-1hU5B z;dA}7bjh)$b;w#a%Q*p_5DAH=M5Vd7wCY-(F7!yv^6Wvj+)9e#&=;(e>hK;ma+a0E zh=)D|&^>@+JH9Q$a@TmWlQj*u41f3SL9TR=l@%rA9EtI)js*2yV7NL-{&k(OieMYq z!B*aEh<*eL(JKtE3g3ILP;sFkme)btd=~d7<#zjL6oiFp45odubrs)*2 zZ8M3Ak=h}5AH{{<$p~aO3`6xH15Y3w`V&0Qh_(3CAszg3DsJo5I$QLDMqyQ~Bj42Q z8y4AjIYn&BRh^OeEl$M3%@ysU zP2qCC-*iD*m1*r4;cC7einOb83L7qj(L^#FBDLz7mS|m6`ysU*OQb-#j08ZZAs$k3!-@G43Vd;XI>`* z+Lji)?*P{gp`^-*_a!20GGTR-eMKZ+48#@vEr~P$R zPFGeDw$b2OXK#Xq14_QQZt@+H8Va3NZ(HhT?m zV{GPOG3R4eI1x5?vs*~7^0uJRyX+iCwUwcyvyTXFlJnr=7|J~>jMlA-q+2S}9=R&< zV9dKNL9(>NysLuy(|H5X9Me6NA~6!DLjgo9dLTe>dq-yWs(m%%D*5{0XrDIIy!CV5 zlyh&ewi>pHIgTIXx`%EQ6)xuKwt}IP*!r5@s)nT5hsMpS_AFoY#V(6!+c z@xxCeRmkh)pLKsgkxJse*RvfyOgdcme5$hgTSLi_^M-R*|BA&i{^%w0suvy5#s9E$ zpesALhMh@cc0EZW_O#D3h^sIlT0CbchB9Z_-&pu1-ACnbEOGxXc~A#9UThoBJMlJHSR~?$5_^nC6 ziBpc!;Ut+LO%F)=su%ytv^I)u5siWL=%T`de`q0|`w#ri@SmjqQAQF2=ghfrs=?xL zfwFC5$FapEiRFhvyYbn|oD4#KP|H>$A52#E`0tGx#_5?Re=g(1V$2Lh^G*!9R)bEb zeD0toE*!_rV2=^o^KWx_;)W63NfWkA~}9>I3dxrdXkm%N+StTwM4ssma$m z8g#l8AI#~JtCQZ28@Uv`e)l+}lghtO%EA*rG(V+s?%Obb?I#FSVY+9=fyKBpT{!*$ z>RntB&HKHoON(Q91L}VvG2u0TK;pF?)Wwwt$A3V&XY()If=c>U|g^scPz)U|S zf?P{%EH~W&1GQJ|ixGFHtJAvNVP)mw{NK@;zhCEOz!q&Dojdp7*ddTsDj~s~d&>+j zjuUTpVzpQ34-~=GqO0&TMfqKW`W)&nryYC@e?miVey~I*Cj7cWZ6LJbzYm$H6KC&6 z5j$HfIAa!`))_C2JU2~V+mZ$<`E}S9eWE2037?7jCXn59>Sasm+`VJkv7Y#R?-)|> zg|q{^v{GiG%D0C;I6%gOhfRs;hghNjffArF9O{#99y*)*B|IQ7M`c=dUltffv@bGz ziVE4~7Wmw$tl?Lwq4rm{m6BKNTcu|G?{g1USd~MdyRq%Ez%0CB;zB9>F^~^!nWcw% zJl#eQfS->%KV$k0uOHy~exK`E{7=pK@8$P#Snvk0mqyMq!TmnNUkvT5Qm#?AQELx4 zx!VrKJ#n#k!t`i9SYYWzC2Xz;SCQ~6En_B}tlKEpm;h0gGAVD2VhgSr*l7)zWKmZ__;N=6rnW#~i>--5gdRa5}q8+xq{wb@gps#Ho z>4N%P?lGTq(Y(6hCNp;9dvm?0dHrU>u~YG^x~uMtgWNb|r|x)S^0-RW8v@kH!KP0B zZsxw4zT;?X0{y|r*3Xn%a@XtT6BZ4R@2_P-M+8ebj4%$fqN?3&(`$=6dt;<=LP2ZR zxX(`OjC2E*VA1GTMD*2nkuHcPDx(lq@^BC`WAx zN1+IQFRdQ(;Lt-8i?&7a3Af`u6G|>ho}dq0r_M8tnGr%paZ3jPL~mn{ePj=5iZuEk z0Xn7rjw}Z3{7u5;;00YSw~DbUYUgX^wc0mR&ONfCj4!3;?9je}QvV*jEoxOWV`+b- zd}%#5%F1>KZTuxEMO;7^$@vFVe&nZx^i40Ct7B;{nY};~!vGc%T^MQlF>cocwVm{& z+5O^-$&cgLnt0wbPSm%2fF4@J=yxk|Z+2!oJlLz5 zubDncfMJj^e?VS<$it)LibDn*#D@9A1kcxI8{&VmoI85@p>Eld`lL|SZ}a-Cqs!?M zGmT*&U`ECrV626h;mjY9D$y#Xi?5`9%V}fhwFQ&_)+7jolkUg`E8S!BFO7qGD#}A{ z1Lo$jD-0qgl7SonYOBJ7g++#go(OMcr0;0wl;k9WEdW zipnAc%lP;w-}Xsp^9BIPwEq$);GZ#we)(IP*)eq+zD;jj}ukaDv{(HCnvyJ^e-Xzzk=@n z{VS^Z#kbW9_HwZMroxM=p{i&Hk_NFD5DVXu_>@cO+zTfGx*fnEwC}ww?N9Y;%QmWD zWvx=Ne;kt*Ck`gEwLpx1yRoI{=b__{%d;7KF`musisX*dolvoi55Y5 zS377l1dxqy`?GfKs^=6fSvU!|%)dH--={bbfZX-GhG^e*nP%E)CHGIM+@6GY4j-ZO zcW%Gmy2#6P^)M}UN=@r&J_4U_;lEak8~GmrkpCySxikMCEjIrTVUePQzewya3}WdE zL46P%^AmeDS|ijfRybX;R<1o*GKs{YAA4ma(` zgVJt4Gb>Z>uV^OxLq~V~KJG}1V3I%u;ZajqdrCT~^4TPmwcPziv(<>yTvpSemt=&T zu0kVK@>lZrdE&W{cXX)w}Hj)@RBN_wyeHsFy#Y>43~Uu z`3&pN^Pl+U`Q#kgfu?hAfOX}%dSJ~!Wl*f2-rm5+{%c)HeM(=(UNUk7{n$u0 zIO4}Q_k-g3>BD6ym>)#=45h>$!jfpx-K3;=uqsv4{41g2&*OxV($3%Zwe%|T8{>&L zcl2jZrfb@p0~~9uh^t0dd@7Czg@=Cob!~eP^F4eV1$F?YWRoxApjM==V?`gVcNKq7|(D1v}u7@mArV za|jv}ybt4ObaUie8D9{w44+1oaa{%+!t6UNL{kDk?;46uMpF{FulciFaajF$+EI`? zd|T+xdnIjerWs@MJTulVuW`3GlV}GhPB2!5ZJ@)(JWXc|vL_J?)ew5xvokZNF@$LN zDXcS7!kHwS_@Vi^&Qqg-A5!LxNGs~=(G5R$#iE--o5$2qs&w`mq~$oU7j!dR23Xe{ zb_;+RPPoj2wXwB5Ngw_y$?5eO?x`Ch7PA6%-)4tZdfln|r`1}n`5&hD!Wk$f_@8?k zF3Sp9&Z(n24hxhn`KJg}**T2KyiBBO#yf)Db}XOpWXVKhu9ZYc?7Ji1&?#@@b z&~LYX_m8K6bfI!U-f4qyBi+9mstiD>8)|c_U0*Q%k@vmBXqxJm_~XpGwK)Jml>~J@ zc|fu2&%1q^t$9}(-V{qx=158L^(d76S14r&tTQH)e21X(L? zZ`1ZiWh)X9BQ9hpAi~-AhuQi}PTs_b+0%sJ88`=b+3q^RANA$KGwfnxactjNt8Q>{g!LW)7fzq+rupVj?8;TN=w_|wZ87{9}6ONqWcWR3s5P$PX{!bx2F(+>vsYQt{w+;fR zM~qMr^AoV0jIVl4+vH>)3+lGxQugcTu*SRzO7Oy|IY6C4_vSjy_b0;b`c1)Nz)<6N zh*zceH+xW@Kr%OR&gSu|b?)$L58pkBz3lm#5_~TB06tzuUUcCNU^!>aStJNammhjP z7U>wVveD~jR$5#>IH0t$rLwkGn7XzrTdj0aVFMx)eiyTi2-QkCzEbf1ZNE2t+L%ad zGM5qDmg04A(rqRHvc3JqQhTOO(#cn}_PMfVBWb^>o}3Dsmgxb};qd95we9srFGu&K zs+bF2B@8oFffs|HaJcviy~bMmf?$_8B{k9BVmUDf_2225ZwkGoTls4xiS@Iv?id3v z`BUUEgS8!>JWiCVn~#byb6K#(VZ#MfvV4B5BhwfaRFtC~RPrjh-Mr7hi1je({;%-# z8O)04W-VEOB^t#{_17#fS)Xo<%ui@+kt!UOKS?xr4iA&NzJ#s({~W__RVi=A{=1wa{oQBf5y4xFu7YxTiS=p1kRHx6aRRSrm1qg+1Op=jrtu;w}S zKp7vGV!0Wl<3VC|;|nCCCeWXe9CSqy-`2d0LJj}G3R=7$4mjc##DEjk%0Fo_N>Tc2|SSF29x zS=iXm}8<5NJDNPs>$T#n)no= zl=fkmiz*Nb%&E>>TSLl~J`G1-veYa4BS)Cw~z!_fo7Bqc$hlXZgZKZu+vN~)*Cd!cu zL5@z`PRcHtdOoC;F8SlkmL*$YKd(3FHdODln&SZ_dw%w!A?Yx_;Ct%9F_X^ih05g< z+iv>J6P3GZcbMs21P_C?q{93cPQlug%mrDPVpJK97)1;g`f}onvCONdqP=;870cDm45NVp?bUGpjP*;tJmJ>@WrO zcbZ(I29ag@Ojv_BtjTGV=q|pq2)E^l-#021OXNo`-WUy*l>{$xaLQKXl%E@adbs2~ zh5BS`vgI|05LmC#+trfkJ2)X8dhCs#o&j!GSN}I57yq-1z?uKDtA1BEtWkVdqOo}c zKs~g*6l`j^u1!Dld#1{?;dgBNTfK7!3Y}AwLp*P9?tU-2+w?;q>>3Mm^jD2SO@aeMLZPA3Do1uSdW!o%a0GUOgBn9(~U`DD(QQOPHu7}iss~e0Y z+Jpl}!y4I_u2NR|cffBB$p!zaI z&2R8s=or`RSNFC%3Jh>RXql09H~*a;Ab#}>OJmZ)+c(}491M==f9TG@7QxcIJz{r! z9}-2WwgD3*D2+6XYlUscb=P83M`ve(4EIb>2vEb;O5!Ef6nLzDUn2&;8l9=U%9)}4 zxu?K4mG_-8KKWYEVBfLEP=l(>+im}!%kP9!^&pZ3ta?+ktk<7>s3W9)Ek|F7j*o1u zqOH&#CbPWcHF;ISFbl_zh4xO-FOqIRnl7inDFCeR91jFAEV`t$+kBzr(fLQNqLy zFlGF~RgEF98$E_3M%lYkhvTA_gZ#|(R)`#?c%^<}6jzK8a6YW}2E6GuPj z4_M_6#MqT2&0IjapQ&H_TOTau_?m10k4;Fh){f}O1(cBM5QD+N>5|%N_Jps4X9+Q| zu+44T4Stu@pFs7l_8|WS=bb_Rk>a&(oH@*p6G-QzE55Fl+yCy}e&zKbRG&A+voVIs z5-eRP{Y221BjBa^RUVUNPH1)6Nn3NMS(3Pvugxi%8dup(iFtNl{1ln}taP%usUl#l z2H_s+02*0^->V1y9k$ff!Yb`4%m>(~O({2cHQL$vcEs#fRvusOW;GE?fjlN%+7cn0@;*gT}KVM^3t zk1s|+e}Xd7-g_IBYflX*v5k6`j)RP(TwMb8OtoJJ7g(oJz}=bV8ok5m?(%g!_3f!`X$;p!->_YEEf9&;6m=^_B3KEW_ zRbZkdTBe4_BrWp{B~#AcmvlBq8=UYV`6w%7(89$YBS*q~MlFGt-)O8#I4;b;213NA zWGK#L)aq>UE(UO_o#~t5@uEY^9i;4If2|+x0QMTS5DkG$NqBQO(sCDq0(j`TV1p6l ztsvE1?RF`VbUZibt&auM#Pj3M#$yrhEn47r$AA+Gkl8(UjiE~5Lp>!=;Xg7GT}#ED zJH_%W*4q0VtpFHt3{@kzWSxsSH?#mqBC3W4<>8jZPBNaFFFn6>u!1`8Q1n)i0;@{ev5tMta`8Wu0zQQ~Z&1 z^C)pR#3^pyR)TXZp#hA-SJC#S6+g^40F(9NEfm`uentTMuC>7NK@#Xf4b`e$3%E}- z3sjR`AO6cJI@xx7r`lCXbV#)P)2+g)q(}Y8OMhsBlt<4+9ejy z01D;DJ=Du&dWxJ4`8`x?ywSACb}-=J4_L`vDE11+^J<~>)=mwhFq;!8=vj&s$?C_W zrxb;P88^#t(Iko1!d67a`V+#^`QpGnxxaWs*smPgSYx%P0(R-u!H&x5I>3wGPxEnyL39+zICL}ZU*6_;C{?0 zl9OWRSy<5cHvY5jmfxq{zm-a4R}RGM{X@6LY|vyep4MEhZiV&x6IWdKmchrQ+I2`` zyA*irfdQ0vQGLfGie!GulCH@K6>KDJ$55?K9t4#=p`ppHF$?z^0q2>rP4~6>b3D@a zX}jKkUm_q=yA~KIjMQWV>(ds_wrL;dJlpjW>v<4+gC*tgMSDl_!B80UeZh+#-TxbT z^eelSrFT482Qr8@uCqmR3&ny9;LOcc<@EV+RmzKLlf2T>=TQHmWz3ok00}Rw`o+a zdx$yAY0Zv=*i?oM6-d04j`RIwh@kQ~DlTA^RPnkYF0#oQkXsZ0Li z_0wcd`VZTg<|GNZ1(P0!ki&WZ!ycJy^a=-+8ox7Ywdo)KL)UTi;t{9h1GIUL)x@(2 z3+*d!@9@&CnN1MxXk^vxOm5Ag-s!KGOdjsn1yIpUr@2Tj6H?nkNloIncc2+h(cg>_+$$WMK}4j|aM$Jgg9v)9cNK zp~1!R-{lA6Bh?}Xn182o=c5uPSNihfL->DyF4<|jeAjIJ#$Gp4#ibqTlJmB<+(p@X zJf*d@a}zuZCZMO|4_=(+gv&nQPeQ6sn*{PjdO1a_79TvlGw}MHzM00Rv0OslMUR!N zOiB0t1q8}SaSUBZ+)*lX6;*+ZVbFt>TmGQ)4XE=$^!kWNs3E>X&YTR3;j#Ba?kPvb4dt0g0eV|Ji~Exzb;s{8H3WB2(f z!eyIA&IL0YPlE(#+dtoxS*KaIGl@*hHr)7pM|3>LsxrI}Rgc>|A>q2=WSRN?NQk!Iy)KQo@=ih73KZ!Vkn znho#Kx(F#4_rqd`Ts#G6c)P|i+r6;3>1BJbtV=yGL26N|k!jurhyo#B8(cuY^{ny7 zvM{+RWwn1aW|+m{u9fq+tbCZgo#qSe2(_AKo2>*S0zzNtBr8H+dkS_?ErU2b5_DG( z9TEmW0_T+uu^_vAL8=nP+?N1~tvu1A>XLSY0(+#&x}Drh)sen-#m>d|3?ogKApvxZ zq%&w`UQA~`JD8@J-IsT3lGmsLEH`ESEwbPR#6!>WdCy|gR?#T(ZE1x#<1M;Si_(l( z8=K-bhceiYQ{c?&99S6`XnQPDeH7Mz8&2VVL>7%{*TN_24xK=vO0vL4$&E@TtdWNa zyxm|PAC>AMh}|evrFa&cHPK~jJ*6``D3JrOa8r#uFuBlY6uSkMggk~05=&B1OTPBF z>`FhxSE^E(bAEt9!gD1hhpVqLHL?I@-1q6oek>0QMU_H3=2@-+wZQp_MU)|ekxLf~ z)7tCqZdJcSQ;DlSD6e!w(s1ivH3{FJa402$e7KO=eJaj??eH2sSU&J;YG`cAQ*q97 zXJ%&;)6m}rU0(%}p1}Xg^#t0c*Q6}O$HO;U+hen&yteKO@dq1E4PQxl&vI+RBntH% zwdudGorDSJ|AXXPw{>ZqAFrRNmMNXs5^2uS+honq(n$VA{`fdfF6nbkmVMIGs1aNn zIN;a=*yPv~Ja%n;XNik>1O6jg>su?+TGs(s#(AhcW)H^Y(R^GQU$u7E@SKvZ#h<41 zuPxKB;vSmrBsRSA9&HEpT1gC7eS_8W8Jpa zs5gfq(;^?=HE=ke|IT7;1o>A@y03mc*PErdcoi=oO}po$lpxkQQCHL{=87+M<+bfrmrB?DUHR~BAM z8@c}n=p3=363tbzl2&Ex`4w!<*gbSGW$4G5pcV0$031Xoc{ty?L^Lu z`Q-^vYEm>9kQgCi%)F$r5l?}WOpGbDg;KUU(1x{AE&Ed4BJ#*#_65QP+88EiLyVznHa(5!)OIo z_+*hu4Ca`c?-w|3s(tJKUfe1P*mbwSkQo|pW1EdX!z&g^H_j&dG2b%{{4afp59fX? zdyQz{zIE2bgU)t=#;eW9$C0EKcA2V}@6n<4G9~`5$hw*HK>v0Ax#au%tp$|KM`Qte z&G>+3tyk#AHA{7h=Q7%a2UmH+w2Iln7%rI*0XepT$>*%53 zk(*CZn*<&!_2P~yD?mYdG+m%$B2%rlT6P}XHd~Ra7*OBlvEdAEJ8on%b+{M@%uye_``N&32CP@hO62oNk}5qwe=Dn|cprJ2)HB3T ziG+%y&}LUG`ybQgf9tZ2!sO5eBcNb|_fc2;X%TN}W`PI47b3DydKWJy@HDyQwcu}2 zWpzx`h#5W?J_c&>FcN7iMV_*tv-v5a+kmhF!?Rou;_lBA3JbJt7?(2juf#R4jlkTr zg^Z2rBqgzrKYZQ2aETYZiHpkPo^0oz*Wl=)-9|>3jmr=EN7==@*K4 zLt$pb>c)7m<#ael^YTFIa;6*()Q6#d{2zHr7F%0HNvYy?kH+dK(!`Z`>jMjQh_Qzt|?A&9PGXk zNVe|GimV>`lO=d>=o~XAzSFsn+!t!~edOV+=8#tFjH<%i#`YhID(o+RCmH$(L8&aJ zV0&dZQU?@zEbBc4jHHCquROw2%cZt*Na`jbssOU zoJ(TT*A}U%l1IN&*#4^pm`1KrHBNKM^nI!mxqu<3npTS8<7=f2?HX;OZ`nMOY-_sM zslvX-e;($_1e-@EtxQN#Elz6}(nkwMiPhULg8grOAC&yD+_rmG&+yl*0O->htipaS z`!k$q_o+MNr$yMQ^C@`fD3Z-o?`+(iwE-ai-&sp`jcimKD|JT49XUpaqPntD9!mpebYBD4z!I-w& zd4aGQCD2r>y&egWRGTuyKJm87)@_;RJ@^Sv_jB`y6TupjAfC?MG?Dccle>UTI^(Oc zF?!pnF+2ggvPpIgoCTo{k6|3BYVp7Rs^N#Gqg4xP{RI@m6Ahan(awBUm(#3&=w9FP z2g}^NZ0#O0lP54KMclWZLO$_qx9+}sOZtz>Q3z%glK^{(isZsX!6n7~6kiic*tfOP-9DwU+oNS~Kji(abl&26a_w8( zWkCvZn{y~kpG4>iMz{)|!X z#KMKeoUk>~^GF9=@1tt*31=zk#iHGi=EcG+2=b?C5!W+-o`(w)EE{SrJVF2EXQrUK z=A=ipnyFHiw(HYwuAqkLUv<3*t#+kyK?&SwYd#ayiDF6+QwVAo#h*%8h0&>uYgf;h zb3fp~?Kag;HS=usNpJ%}w0Bgo5;uM(b=ET(T@3U>KHW=4cVeD}lWttQ@G;eD@z(re zk{qcl&fhwmkA`(r81dt#JEW68ig|XlSK&D%`hh0`-d`NJaMEW(-q%~7tfu& zv;j(iHCPcJoIDCb;C|p(k#t5i6sImek#XYQpt~^bw;sIb*D&8rxRm27$?LbL62fOC zwm`hp+oMzqlAzgX#-2^q+`+b9y3ubJ#rKy>B^UMRW9g*(>0M;!P>M7a=tFWcAOS|^ zUkJZSwIq4YBsq<@5M z&fQlqHi&lz4=Pf#67fh#;Le}Z%OnWVsl@GAH-^eezJ@U!h5F7X3OML&Ft(ma_sRtyua;@rzLlsr&4xZG0>HAN^%OXn#i|(?OfB5PReIP)ZpJgZxx8i?RXOvF z?(XHzAt;0_y1>yZldO50yiH`SaZ6lC6vzBHPD(GdZuoVG3HQ5}xEpgQ@E-IQV9?o~ z7#@U>St893EJ)7VaiUGhCSk%a(_O?_f6iPv?^R4Fvn^5au_zb%MC7iC+bKVE(2=Ui zf0v!`th`IA#bIM&`tHf*l2iz_CS()Ejb!;z=7wmWlOMg--{T{x`f7RSHt%9mK*fD* zt>E=ehOB+MM|7QwT-46f_)?NmWV<<;pKLkov@5;>wrd_=&dz#Z4;eH7y5dWvz>gu zIU2CdS4ltwt_7)k`ST}+K}g94BMqQ)y)V9c#8=tG&l)`NDPM{ZYOdE8@D%!ot}@^i zI;^!u50{Y%2@4ywJgLE?SB1WLMk{yRm|HGBpb>$_Yfr_9MvP+3Fvc-co6T}1;ooPy zqY1KLSC&ZPNf=a?%$&~_8&>Vk)ja*BEaNdu#LywzDe%tcIh?nS?{E-&#P&$HKffN6 z*bXA^c7wPj)%}^XFGk(Un#Mix6f!}mW$0uBJB<6Ij2+BH*TD#k{Hl9QiBg@{_T)WK zwzd&%xj3Y;a2Me^F>ZC4%z%fy3ujw}ky4=#CW=NHhVWXN&r&|h`JpqabjQih_F3Xl zObw-RYNz3IN?E;)LZB~Ss>aW{On=R7KlKRC_=j#1Lv7p}x35_PZqI7rAt9@Lf|MUX zqvJ8^;9^|6UCA0(%5?aUe<0gEDnVjLj{fJO)mNSuxfjMTF9qOocNLW^11%Z{m5dTZyWZm#7t7eK^&%C zg(F_e1cG} z^^RDrUY<75Z3dwXv$HO47L~67O@N*>nRVOrk{)>Z+`7^ofj5gkSv@o4+8CCStQ)-Y=_zUZ=4=#NP1`S2TARz^+Q?q0{~mU% zHM()dr+o6brqXc^IDhLMKaAUfaX@`3hVvQ$*ltHDvO-gCxx;tsg|JPZS^9et;;yHK z5^x}z1(hH$sC7K*=1K@jY)lxn8xpdMtNNbG>vMnjl6pdNNUvIrbMq0bJF8)=o(52$ z8HY>b$dxS9*XJk8OE-=?lH;Tn8%PbMyr#blP|hhjdj7AN{;b?$-L~atL*4`W2Khe_ z$dGt=f+fc5gcTs zG_6YE?l(Mo;t@B$Wf9i-Dsq5+4bD#09@Uh9zNYw+PP#FMp$lu9u4MMXvYA}LJ5Aj) zuk=596mZD6V5X_^J{a1p(NUU6;mXhfj5i}+G4uC{w2EMsLWT%)(!EQIS3~2<%GVKI zi7v-c)&9J>RiF?XYXO<@Jc(b@T5ehqmbOu?MKhGVISCw-;vnUUfzaEnslx#0BjqFd zaErB9Zb<1rXT+NkF6DI3IrVG=(tYmTJbRDDJ1Ya5EYA*Dlxa=|=nNo#>cCXu?9Uu6 z-hC@+eiZXtt8P1fp9$Ozu=HGNWn0=wI`zKAM~R17m&i+Up($C%AvOALlS3jMTnH+s z>TDUpQ|lREOt@8X7#PrWqaFk@_-=Q3#Va3s??4Ul3L`IUF~> z|G;N|OCVb#e)0nMCQFI$gqGQ?ACpK0s6@+m@Fo8s1)F`&n!S@y>j*us8Y27eru8>$ z-~Ubx&_@h8t7sa#ZFC?(BtLo6!z$pfKxLHaE+og}7@*+tro;u78}3;{$M5?X3|mS+ zp63+xkX2`PM{%h0RzUAl0;_}M^bkqI1k2bLyUu3o-y94{Y5<}xWG8>BXyLaeKZz&g zptTqXv;@UlB05_0L&S|PrCKJ*-xR$W`P3hd22DTGJ_Ux^uAtbv)cX^(Ta>n5t&1|w z5&>EMl=ml3=6r6_*18K5fMc5GIQeR{yc@cPNDQCLm8n09;xjv}FrSmro+!cWH_>!g z^EZhkMkr%+k0l<@5VH@CVdOJFd}?ldCq=ND(UWRCBjhB4`~;7HN|CTSltI!sWpEzX zZ^AW`_;4y~bfMAj%gfK@U4tB{W#TjU7DM^=_pQ2i@fvaqH3{l4Z$XcPre26E;+EPy zS?-zly0_>j5#qZZ6>bD)I9P#V2eO!1DH|+`8f~MZ&?b*Y@4%UwPD{ei&(5qXz6t6Y zDjj{F9VzgjK|TIj`Y*cqwu;0r8xDs61)QSP>39RiMQJm0P?Z=Ar?mXr9UEL}$z|*Mqw<|LU{`Eibn1RABnvyTwNd&p8}h z)c4?NC=bYVJ5_6hs=omFkY>Nmr%WPdgY4ry6%@F^%0(th9Clk$2NI%WF`ut1?rWxw zW%Z6b+Z4#5KXKjRidRts6vd0AMbGYM9rva4eajM@?LmA<`I0fyvTLhw>jndc?xP&& zS~#E#HNL07AC5p3$Z>|bO8u(6mALzvsy^-{hlgLiUkkRhFmsHji)#5<>7Hl?ofu52 z1J|r+hCU@N*M@NgwVtFvOPHW>!Xp)2PI zpA+aQgjml;%{1)mPFduNz)O0|dkY5wui?<#hCJsxQ;Hta-*qfL+j$);&`tm@#yrUD zlo}v2OInGU9~UB@mCq1hPiddfxzn$9_p`GgO9O`W#8hK4l7w8r-$?4>1$CJ}2!n{I z^nVsiF{#z{((tx<2F>staYPT=X|zayrD1761?~26kU>~f( zwf7_&km7;}omx|5irhltUVv3bTBmc%_-FmPfTTCSZtozHQx5&`$SqQT%TMi($Ra>j!!0w;L;uAa7OY;q;SrHREAZt9gkB`#=|TR6}_yDARuo zl?hMT#-0C%&RGo}iMv)vc^CW*>-cl>&?PJd@#`?q_t)?Ft?8?eo$j}+7w?N8$Kk_} zw|9f+4-!c)gEBkwIiW$BDT$dGa^O4CuL1j%{`H@mA$){CB+X*VnFVx=BMT`EpaN&_iq;`JCW7%S zEDlmz`5|o!Umjf9$a!^vj+UO_Z$Ajxpe8yOErn*w|G#vH{Oefwzxsjw2Yl*ZW8k1L zg*B?sHtc-zfnysu1enndJ0)4{IPIr2zhb!$ZbFRg#bY-djCX!r-j+1v4lYi#)iV^c zl&w8iF0Q96cq_%;q{qlad(4%Ty215)JZsmXvAI$BS6J2(;S;b|6aQnD+`48rZB)HS zO$PI=pPDn5h1(fm?eLS6nDB$0Kfh}KG#E*5?EqQ0F(OgA@!~c6K{mZq-(5`Sc^{)*QQSxF*xS zu1|XM$GrC3u73GD((9$ZX+ToT8{M;YRmJ#mheR>ua#3NwaC53WAQvZv_hrdvhRc%k zla>)=$EGu_-o@*T86*34ZZPk+v7O2%Jzgs6m_jg$WXb<`y5FFsbp&eaU*TAoFFq?j z_%|W(uU9I&DY_h9rO7M$V>>n=E2(k;%}fbDG^$6WPO8Q0Rd3zUiH$=pEY|c{o?~Ch z+yA|;G{-a=uDA+tioIxD?q>(>YV)>m&z?1jhBf07tJ@QjE_Daz9(&vA`znvwI=HX7 zN+S)9X)fT|D6;T9`nqg7s#pn-18#v?3s(4?5i1*lam4D>8YNN z53XKG=_@dO=10d!rM z-aP-=^l0#!rpvj-Mf$kII0;oqy6}`uFeEf&7B_L|Y~-tW(uUHgKD4o;ap7dBvJ`JT zH%l^%6)8f=zn^TvRWWVj-mFKGZE0v`#C~ylxqhJa0crjO9@mo^7fzCjet|y#v%KZ%diFCaw4b# z4DGKy)f1cGVP45PHi&aS84d$cRZsFNX$%}wOKYbxgOAYdrt?FL*bPmQ5p|Up{`fC` zN5q8|aM0r&+G^FChTmuY8gnpWy@8?w_`&Pb&+Vq9WPFdN;Dp}`_8e6?u@1u+YYpP~ zuD-m0g3lnA*!{P6?i;cWC>%>@i#skJO&&Ba2m|>Ntm~FS%OwyG@GkSt;*ju2V#$9C=l7 zhL#=Ug*#F}pDuQ8h!yI+t7je>QY+FS-2#jDesnRCki_(#Vn={vXLh-MrYO%7ScnEa z{(GSL2lElpqcRwhc=-C@PK!Ew0AX8YY;xmqkpkFpyCgTay3%N421v@a5+cI`0l#Sm zQZ}f*UlkqG;PCR&Ysl8C3^oWmrSwmQ+_f|BM;D$apZ@JM#m1eo78Z;d8#ox4yDJ}R z!T@0QU_Ss#a0s3!n%kb-X!c$SRw6k%f<x!sI@D4gPA$Yi-$DTT~_U3`ha*|klV z*5I4!3xXfZj&tkPdRm`>K2Ju|f6a8mCHE_om~$EAx@!DGCt6H6)bxa=Bchx9?|dUp z1X_8+qQ#GnIYUGe%Yp*+>i;yvSkC?G5{kMx{#@Wz*SkG-s~(!jA1e1(P*8qPrn^(= zTCMun(Cx0mTLW4j*X$;ah$k;8q6Y}_KXfte8m^>A2BcG5$LDulSWeWAs+f$fgA=2MTs0t2yN;U=8$se9`rm7StnOxecg9ugh!5SH%Z z^^hDbmy!9M$L9Sm#!n9E=$?!&gdZ5Z^-jn+E%5iPQz>k64z1-@)v-SNMww6}*9YDq zf%!?6ZF*-DFD|q{?P=j}Z?&-CKfuvh)zJpSSxzfWlG}BG@}#_$Q7*d;WupA5yv?+s zbrEw7_Ss^>M`J^-sWJ29y7&gO0N|bSeh%3juA@Gr7=L~~N*ryA0BX;Cf-q%jd7jePuzmA-%FWa1hrEP4|+%AC+o(j>*5VN%uO5H z$Rb$?`>5$x3D~Zx1lzMtFKY}KQ}qr?uH;mvOC7F}dcVO9v11N)R=U}>XUT`*VGFM`aB*ZM=y1swsj>MWZ#@_|FD$n30m- z?FUzH!B<*aIhy0@f2Pi=>GfX{93K5^zend^#_7{NHBBwYPW(DP-8sQ{x)^3bH*}^^ zsrqn~9vm=+E$6@GV5dHzZ1krLnG--uDIQOoEccxv0Naj$12p8 z8$VF1bG9(mf{pI%Te=#VgZ?(MJc?f75|!7}zg&3e_f=d?RYA;5s!Ey7v+sRQv$EXLraz9YW>NL|5m4~FOazh-$OZ+E zZuF3Jw!azjOHSVQ4ZalyurMc zE3zljL7WY6Cb#d;-4EEqwC=KOHV4Z@(k=uA5?Fe$oDFRz7u`WqAwGlG z2PCR?zNVUeV_2AVy4?Q+BYdJy6(qyoLZ!$Y_`|M~h%gA*(BSI2t=!sSCgy@WF@s&P zYgA0wa_x{57k+R7yyw&pY&7!xF`6tU=Rk&<`K3bN^_zw=?rFDOe0G!`HS;bdZqJ%v zU1XhENO$p% zmR|l?OvID;&HwMMB%_OTTF+gB`gD&e3Qgfo5;;mVPnPRx`7H z9UTF41#zKIwA^rP^5_`a&9*;dhU2aisYJ=LP|F5HtjJ^i^h-W94mMYFi?6@SItCvU zPNZ%hxRAB6iHYSlKX}|8oa^Wrsd&qxvQiSV(u0duHR;u2(E8v%m>qAY;v8qgR4=Y} zX*l58uWqoPAiHiKi1}h7q(RNoa+9BB?HWU@WD^u~y-$`ka9Htdih z9XLh@XdSHUE3HrFAxp>02F$0Ww?GHGfzAI?pqJoZ*0dNj#kJm1c}poEyv0gH(deEX zw@vknG5M3u(cZHXvZ3E{fBft_)9Y`m6{RT_B=`_`!LtUf@AlVcTPil~tW7HFsIc2@ zWm^*@?F6IH#u77c`_INzJ;^l=Xjn$&!Z#?KFXjtwYHtieq&irBqNDQYJ18X!Fh;8C zC{*^FH2`Yx)W*wjtRLs)YD8hj(}+xLEdD$YS-BVV+N}YuIace?W6g%+)6ybHwf=?7 zb5cBrH&G(`Ij2*MB~L1>My%;)tn{_*vKmvHnvbS*xAcWF4FkuyyzEEALGhV$SWi?& z|KduVpUKUjEB*MDP6;iBb=zEAkLR;Fw@k}}G((pcZE1de_%*iP%dz+Ix@NvWv792s zj<5k#pR$o45maCA1%^a=EE(Dgn1V)h2)Jd|pkbGuUDNmd{SD^6W<-B67e~FFVc@fJW z_o^h6(V!088b}{%PDw5RjtG&MSbx-9-tDF)Q-ob*tnuH4#EX(PF+6^pqHm2t6v9E! zaFQ;OfagzoO2I9J$1bR$nO4Qk^&{-sQt#K@o%VX-{h56G+`H6=5gQSSOrF%m7`Uijsl>RfcBNHd?tAS#8Tfgcds7N+JYoMsnvfY;`}P% z;Z1?ZXWz4Vsb2#_Ji}j2CbmMS^<}g@HLh*V8Rwho}I zZVYOQPH!|@@iD6M1Tuf8M2#Av1Osl2Yv1)1!5z7#wxT(ELvnq`!l`@2BfdUWrWbFB z!)v?lHF<|MnYhP*rLZQV|H|*luPDT*jAui$-nMYmC-Ak;UEHWgM!qL5 zN8`H1adl%Z4dKyS9*D`x`)}XIJjlDj@;g%?1&`jys0y669^{if%4xpSowOVtPN`~M z2F7lWTmLIGt8oLTTN5q@;^O9&k$PAlA#=$b}L;(Nmg}d=Qd|qty+Q7 zWer;rK4{|3o^I$=oLc?7aFnZ8X zd@_2!pVAJ}+i7KI_)g31TL<0&RtG4J$_aJ#y-EB;}5ZpXnn{c z*_+pP;hkgjYmrqW;rzaM1_?Kyd_At^{hg}E(=I} zDEHvM=qLL2eX}l0K%UEL8-Io1GzCeS1{T%- zcPG03?`A%b&H`MyJ&lG?<6k_B*U;Pbu-ET?pgN45QU}?LEHJUfOB=_?V@BTwz5Uw$ zNuE=0TxsAh)es{V@2{rZRW0@uuTMi@c_zgh6 zMB=KdZ)-JzX1f3Gul*k&cK%_^|4&}Z|K`h4hY?fCR3t(I>lbX24-8mz z_1&fnvVK%5`D->I4`Ed(SyJdvHIyb!$mi)5#?5}$3Bu(m+mtTu!o{u)e*13T&lsS3 zkBcPn>#%IjeH7@Iy<(gEUOmr5#V(?Y^z3Et6oYtHewbV^;s znl_?~=i?>!{Ea;fUUO?3Nl%e}MtG)AGA{&B(@^x(m3-6(xG3rdfm3c<@I{wmxP{}l z{$~>}lV&z;;xd*GAt{Wl(bv2k#t=&GzNc;-M!$w+B6W=GLSEO;5>g*t|M*p;dguYf z{C0|&<3zKz$g&pEccF)a@7%#t#xu1_DCK27n%CQ#C=o^xG$!9CCbUKBw|E9V^xu}- z-WIbj&UsZT95bbmZx*HM-d&ttWCpg6J#cLxvn^U`osJZoob~PiMTprqv<$!hS4n|o z8A-ce%%)0srN_%ReyPkt!sXt@Uz(yEf=x+a9b2I@H3NPMGaEa~ism)OZd3Xyq4&7YuhsLI*9#$RO8J(CO zE?1@2H0{@9538_@xcmJF`-ugItW*o}cEj%kyP2|+Ttp}8(U~C0@MNz5m|)}MZ4c^T zogw%y&~nBnTN_l(vhnTY@jplMA}frO2`$iT-c0lTuiNm7<4XgXN`*cG${!j}Vc|Lo z#}|~2e%TzR)*XAkb4F!u*mekIZXF|nwPM}s*MU8#Ll@v}2iCEwrHc5Xa9)qlXR7QX z2PT_%CBdO8M#gnjE!(^n0p=f;?gEpyr=!> z+?Xz3f@af$DHW0;YV9GM|A{Rg{!&2d#U8jy@22dF#R|SpVAR{{Ckt~}DeY)2r~+Vg zv}T-K0R2Rx-^|)8HeB1;y@{JG>Qsop@e`4~)3#udX?+UP7pF9Iw z*M5)u=?+_aq$fDl{0UO;{YB%AkLx9+9dojaNv1sRGIsY^=y(s z^+m5=m(jX}!>03;YvY(bf0duoeoXCiKE3x;C7O7NpdxShe5(GF`Zsv|C7T~E;5YV> zV~4jsFK0L{8Bb*y^Z!2fN~1Z|fs$fI`dTM=nTcYDp#>ZA#i=XCaeG0oN^yqIyP269q;6@#M-(43T zr?wrL1gur0(ewJ!Z^hZ)zyIUkHsBzr7P15jQnQvx&TF zXtIXp8QDKQ=7kl)4Bp2r!na3mQ*|V##Ha~1S!xBaJ}X=Qrnv-)_3_D8H>aHBEG4nZB6l-ECr_(fzV?IxE7TmcI;N9CL%! z{Ih%#`xTY9q}+39PfBhQ$e2wI4t;ro0wLg)VxW8nYvXXpM+nfphiTu*wK z2xL_ZMlby>vMSs>9goeTj!}`$eJ0BIm94=AICba5M*f=8xj!7 z9oV((xEu~*z4eDWN($;gYUS$59=e(n%23Wfe$$pdTkX%n?_MMdn@hA z{=Up`rTaCVJN}-*2@XZ;M!tvk*|vq!!&91^eoMWav`cVeobmbEo8~e-V3{wUV(Kd( zE{?X!O0)XAiV@D4qF3*#fqlbHH55_XYl|rR8qmriCy^loNvNRkfCXaL5R62@4m42E zCD|gXrM`4;U(fZ|5z1*?*~UD3T~^+WEF!@*bCx&>+VJ7}9juYd^{o*Xrx+!?vUyBU zC7yFVJhs5va#n`A^8M`-=AFz3JMk(QiY=mPam!(RcAZpgBMU-Q!;&( z!3w_Dp>1@ma;>W67j=0)&+EHb?OgQ2N@^U%fMxgGKsKLdvtp{2?j%@D!3brmfY1f_ z5nF#j06R^fz9|7S>DXCiekgUvcLh0cTIhF{rEIlBjTqs*l-$NE6w*C*^LG*=ot4!K z{Oi~dQX(~`??X7k1%rp zk#6r$hjd`}u*N9^mT#N--j;KVuDeI91ollvkZ4fgCjk z77Zn98O@^(TD+wREQ3Km8!+B#kD7_9)z9mLx_hV&gCBS>b>1&{G|wPXI|h1^xu$=} zX`1d_ILlFxHY46gMxkOx z)Ay{~p%G}Aal{?jU(Nm>u>ktpD17Ug_L#Zt=01u2vtPPeWVV~=ef0Zx7JFg4$^pnq zU9*nY?uX!am|w zm9p*lh#~zj;8BcbeK}nles3>ADE_yjUxyQJIi1f|c?n*!S6^-l_MLwE@G;aEi0ZSC{>fwzUD;l`(7fx3sBmvoDAA**n#4 z^Nt7n6DE`aBr!sP$t}_B5wb}}Np9hDriep|W!*P{$Qqpa-oqTa*g>Ph1x2XFShKYP zfV_*R+$F0O*`B)^kzlpE+4t$P${B7CDwHlVk|D(bBF*{amyHiS*yH0==`pK8U9}I2Y^# zBaRxL6*PbF4Qb}Y;3PWxVXf$k|VVORFqL!OA&@}GKos`Rj zcf*Z7UWZ$+UJh7L#u~>dIzv7g$IQ?+c9tdO>etbPsSZHDO8$kA8NS}0RMK!a;6|pKXt@jn26BpjPE{MaSd}odMtBe=`CkI&1GO@jh!JkP-p}f-k#Nh zB<81f*jG*E2-aUZ0`IJ1b3;nD8du*q_{0D%<=%6DF7w^%L6u5txNG3J7@1(@YIc^D zVP3&PA8da6AyJPRV84B>b^@`{Et&xoK9Wx%j7@%KIrV(#o!YqUKV3-S2kqauJ+P^d zsKa(Or(XZ1(u!_H-xv`uau6r;=fm#jelhLj5VwG^v~@RusBfp<8IGOSE}@Ml|a1Z15HK=OaP#(YSK ztNnrFZ{g_U{eiN+aE*2qwp-KM)ds!h3)2w6U&@^K(R?}V+yu%A9x-AUTQvACG-b_L z_5L!iE(`G{6QeHW$z_Ht(k&bbMraOW%gdJS8^m0flPHw1e2ZkaF||XF2`>lrcj` zo7JgUm>rJu-C~Z(>?4+Thdr?bKA!A<*;D6r+e>MZ0AXCv0l#wQ`v+it<`xEgDs&sU z>NAp)F#k5U4~$w)a@bBL53-z9q6H9`W?JcX;@q!fMK&YCc$VRqSV@skZBu})V73lV zyV;NgJd=IH07{J(pp5WUvIV>&BHMPt(e$-Jr4>^^uR#0Z$WfFoWup6b^K<)U!1EOE zweq5PL3>0xP*^xBJ9M6oJbRWxIZt}Iau`h1+`2+Qi$q^>S6bwH0T-Les2*RLNfd94 zyY*Z>;wFD;`$AZRfIcW6AO|7}dyX_#>rv8`2KioLS#BC4fG_?|JSx-FdIU-hQX@`4 zZ@AaAAh~l!9PFJ#Z~G|ifGgt%M8a*EAWmwcqhDK+xfMOt!YI<@dxVD#mbhp(_l&-m z<1Xh}uXtp&)q$uUJsL!d3~$fcY+1$306;eOjQ#0fAC<2|!{ocZY*$75AwYztF8_l_ zeY{YZ%az2c)A-R9z4Gcv|L4Tts~1|{SV;%gU8tc3p=_qV!^=(e$0by9%DqH9*6d;` z65Q+$hnw{ahV6GO%T5JAOnQzr6>ci;Wec0%>ZNZRN~(J zL~#zxb0QVLae32QRx&_4&O!lhXxozo>6Ndj0DpyIyTd<0Rkqv2t5O$0M0E$oR)KSa`mXd; zV^o-dr~V4C@A6?>aOjd?@irsrIG^~2h&I}K3ye8L#^<3wT&C*~`V%>xqE)K!qObfR zVwL{_F8Gs+rKMZnomlMb5^{P8rT(FRLsj^@{Z^6v#M&ta8tA;?Wy1FpI~OHN5kd@8 zI7lwJziT`%g=eKA791o8j>M{mkZ;g$LwNQ~`;@!p0`zK(wj#U2i}-5^eILd$A6z>u zZm{AuS9V{B!1N#)$XEDUp;NRrr>T`aWEN|ftrUZWymv+7$4lUwFSDXOmm4AY23Rw; zxdqAo0VLw(g@fhg3{hqdx%_U`-!-{oV79$FLQ zv+<0VNwKZ+W1TB+2zrGsS<;b5Sz&w!A7&S=nikq-MMppychY&|gnv8t1T}W>aEm6h z^u`3vfBtpNqu;yuROpYocnvY6z?7njFG%VBsuBw+yU5+E9l?Tumwc%k*>8xHcQ1Ko(qaI1`$U%# z<&L^asvyX=KzRW2BO~lD6{A_KDh9-IA4ohsF}oG?L-=dF%GUsah!76SZ@%5=aRZ&NMen-fP z-{+z1)ElxwTopU@VnH7l>dGTQ>ZPvj4*;#hH5Bj-Em|C+} z{;vg@5lY8bcYU01Yrl@}c;!?vpYGU!HDpcZ0_)VaWx{(1bvlLhj`3bqgn$%W1sVfpV%jOIekbxw4Cce1|KRt3da?%e1V%0pARJm zj!u3_&7isXtBapl2m^YFqJfgSE=ic)u8k2iMcjTIfI)K92wKqlyp7=VJidO|R14IM z@R2!)(BR6R1K5U%9$vto-a+JJnMKOi^N~MeUW<&#GzZSIV9+e<(2DAcJOLwASh00O zQ_M_)dtK5K(OBADF5B+_M^R6sfB1Vw(<1f&2JQ1zYO0F9U3gJwyFqp_*_I;mY>|(X zGVOcA9s#&_)JbNRGCQATek|5LkPTj`t&hLraDal}o>MJPry`$Tno~t(Dv2V7(VWDP zmi`AoV$iBUJeO#Xa!4=Cn-X9~TO^t|#l8Dh$`7(a3lU%agKuI-3^mh}x!4Z%%A9Z} z@;<_&+NZ3=hZa#d*XQ=wD{PTao`-DE9VXL4BK4v782U1atL0=nJ3rEn;>!bp88x-r zF11EF-5{oh`vqRTNqv*oQ(uMssa7`6{Bqn$^Q@rtQeQK?sxAmTAeD@L$yTFsTBmTb zCuo1VX1>n>z=o1>=Wr{Pk9ghy?Dn?Mmn%u&mzVeC&59|@2Uq+ zkZiHr-tPpqj9$Y%hnGGY66CQ&`)t-6II*)MY~%9RI4Z7#Q@k*v02g%B02 zLY~0$uM$5${%-fgjLQ(M!=!r}pPV|ltKvt$6Xt?<$fu2XSabcip?O$y1aE*nqNr0VUr*@PqfGHiYZS;>~(A)yUfp54R zD6*!01pY(Avy4W5V$2kPME4CZBR_|5fs40_C;B%1@BE-Ld1|IWPp&JH0uVpvf!>nW z>Vv^-^Vhb-$C#7|TJjfpXccxYm7aSlN7*?q?;AkBk&}Qr*H3h_cY%#6F5t_YG_pfsGiY(j$VumXKQ~u^xlE#37jXz z%|W32K?|$vUA0e%#wibHrVmQOf$9wcvfbw*S#m+0af{~x_;zCY12C(F-^7b4=U0)t z^#PbFmwg@2ETraM^9m|2K5FA+WG+4}khOYf5~5=Lq2ZPv3)839EUHvJi^L6`VU>qF zh0J=xfMWatSc7lQnYs`PG?<~6Iw`!(^mFOdjj(f%$mKDQBJ3l&>N)F z!}2nc30|4g4k0*nz@y(b%a+!qsXJ_b>N1uft1k6$l`;Ot&G6X9Go0bQPh-oU){Z`) z*0&P|W(+fp$Bwnv(Fmv*MSs;@HWYXqIAD$T9-}J>s7=&@x}u&Bz17`ljuuzkAvV>z>e38S-qRF`k<%BSVDXx!Nc z;3y8+ksD;U)j!z@l8L;oo+^ftxdPt8$6-EY_69v;S-5HasE9Afl+HKAmr+{zlDdF) ze-0!t{>7UNP?5SqkidcyGi=DF$UJ*%VlHUwxI(SC5k;B;n0~hwvWebloOLw>+3!h> zOShv8qxT=LQenPxcg;SpY*IX zqPzR2b^ahVh&L`(?>oec6DYhkI99-^eL+hAmgJam^kw(C4t-wv;gU*s7cZ}k+M8kc z{+UJ9pvX$cTdMbVE!|vtWY&;0VrG@39-`k{mU!5flHSEoT>2-5%L{~(XY;0Y_`W$- zjXYTM)v7Hn2*|h}u$lkCJ=}z&+a{s#EJ(VVwnA0i!<4VeofLn8gW(O*&nFAr{9@`FO zM)TUuU2Rk_x8y-1>D{l_LpywpZ%&tUA?tsk-b=!y3EhOKP0(nt`TQF%Ax|GhMv0 z4EhvXK5hx1&a+vWjfYz+9juMdgy!~0SUZGhnz+f`)l34N0p6R>-V69>zod`|#4Y!P z4x`{|tWQo^M#(o@!LVbuiR7#(FpnU-FUEX9q!VbtjHKeAWra z)Pb&*Z{5eKgRYAGu2n0|H@qPZ^K%#NJeiu7yjkALlJl<$kk&8f`M}sLh104f9!ys8-)V z{jS^g((*2Q_Eie;9P9WcZw>*73 z<`Qc^`w32AQ@)F4ql`7PB3RwE=i20DH<1f#i_lpUlixwP4Yl?bNqVP``Wh@!-q91N zfRaDWty`yRWNT6jPU5ODnT06S2Bmu|qmDJmmkti!)Vu{wIQ! zpd3Pe_z%p84-f0tY(FepmrUjCwtG1I%$d3~*vdUh*T8xS-&A-AA~&-IqPy@X#7qu(eB}Bg%>4%Zulg#qHU&pq_A0B;tVwSN!fsLDXQnip0D=hkw_k`<(3ypHNmo7_h z<#)?*X-t6|G_+!}s~)yEj+}Q-Xxs6_^7(qpr_zY3cEogaPf`Qpnz4=gD_!F!9NbJr~jvZwEvNZjql&2 zbLvhdAhxWb&?bMdf;F0ZhJj0DsjDl5ucZR1M{F5{zjk1!QFVBFSLAiu0!^?C-&H#$ z;Q-AE?a^263-NN&UaQ*%-H$JcxPDQ;$+4L6RRL3=WgHbaHk~ejTEgrog>h7K8W_2I ztK0*(td5Ns7ta)al65Po8Lf^-0HC=DUUouce{o56?uJy;QoV6{#qdtam_Xt$*I*&q z1@6piZMDT>B6!n)A`_YH;Vor8;R+2TzKQk((GGpO>zmMDCqM z5?%?0^_|6prHdm_sgUi(GtIk%+)m{yq%NcIrz87kcC&b0S4OYQIm6cTSGyhz(%n@0 zoThoc!bOvlEY~oyg%+?&<8Eq5P_Oq=@PIz8OL*h|tWR3&2mJ=uJ1Z5g*EBL)(%O;o zJun$xO_Eafc*oK}HZCM4D#`2l9Asm2;sl~0dW23>1~wRKEv5nlS5(og%}MbU!t!fdw!0ls%;HVZ~MDlkyX2U@-ACh<0k-L92I~ed z!0#v`j@lyO-u53pP^S39MFQ-HiMw6*HN_TJ&Wy@@?Uu;*05}gtaw21>vPs#frZ&zb zV0QIr;^XH4q5r%mO{QTrbTt}a$SCDnepJjq30$)9G&i2j}+8!|vFG4xalZ zROK1TBAjXukt;l^S#tv8cjxT0xj}UbUMh%Y*yK^oDL zqT#2*r7L;wMKG%wZ#N*|!V}*X9&S^koN2AZgflOKb8r#T2~);3#d-uU(2L}1THalkNs8cIWrIrXdQbdn(lqphi+BE{_Ag| zhF`G6Wxo;l@EQEx3zIdhm*0m>?9*_r@j|G{yt3z8ABdFK0M|CuL2=rzdwab4=O9%u zlNsPC21$GIPg#SWYU)oLPnGel!vwR7*#p@^$xZ@V!k_`=Fx59#cs)}lnw)0u5v_yC zOc}s0(UBBrWSR(zeuy`(mY)9jz^DJt$athm(>1{PK~mSoz(HDhtMRf%{r=x;(D7KI z`XESNl$G`>g9laE>c&@sTXZ8A@lq>Xr^Tp|vm?8)_(BY%ddcw3*Iu6%7R{pQkuZBfHTp>y0 z-%3{H)k2-?_Tir<#ka&Sad5kF2h-%e^Prcb`RZiqOK@6H_6O#D+M1l+%1O5SwcFX1 zbJ7Sc+go%7ezCjcwo6T>CC=Cp^^@r@g9X<2L0q`pvQg)aDfS)w2!}uwtmQEA_BRII zw!XTWfZ+-xFdUIi6)_%N8IftY>vDxFZc?nN9VV(Rk;(60r1+)eN;@ziMYFm~m_)bn z3KM105(|3EnK0;nzIhS=KJ7itJwD)T-Ku~lJX25` zmUduR8(O9CmDY@kiUt2E-g^JSEW%UxCfz?y;u|{f8drgs|9;H<=csF3H5VX#1vt7x zNF|4Cwat}JzaGalJmd9^G!y9Lt0pv*z8JV%k`u;y#1Kzc=w)u5Z=`OP_c-C8Jl?w~R`;R+eSiP>xQ;z)pt8;WM#$FJkAKaNB@6I zPW+#}|KAkZ|IMirfsqL@?pxsySk*9im4pO7t!lEWn!A(Vzk4i+`cMqR;=s?jb`^!j#Cb2|* zKVkxZx~@}UF6zkaok8Dt{*Ta_=_rno$6JYn!mUhzt``}QkSaea#bk;?9jSRE0wV&p zMRpSwRyG|9z0VVYaaCpX<`Qm-$LsZlo??>e?ubZUPKZM4R(sg*EH^seS78IinbL)} zyk}|a8`W3}t8`Xf#*C1M>(21x5v9_48hO!$&ySA=;QZs7r0{xvd0b~txA&V5gTBL) z^OIB}gw?wrPqF=>J1MyLK217_jals`eNpZ$zr|~6Z(w){YIn7Hjs8rC31li5!s8iZU(<1o@XxW4B*-1P?b_a)6<@(Z$F`R#iRG*IZpF9$3fvPi@23H79~V?-!Qs#2076^G1@36l%PP$!79TUbGOs&V%gzmiIFU6q z12q3*;$)la{k)5?pyhyKVJOLvppKJhvDv|qEVF&h)$(g&a7vR-A4?XLA5Mi@(7pB$ z@%P$i=|>DVSE#i)V4*F*CZkJF7$clD3BB2VSbk_>zcBv#2`}k3QHC?ZgJm-Vy%<|F z^K-RBt}k^`R_LgDoN}f~OY)mXP5!0A3$+7O;v%x)5M@kU`Y?>&$NY8|%u8Q41;w)DUJSw|aKgrMvUD*6>O<5Q=N2WRSOUVle~P(rk}s3_!^YIQEv? z^@DzMT%r`YRW^jgP-SS5^Nobw%7)aIQ!U*~s&9YYdXrk$(?c^-mb;UCceCmk?yEM6 zuAWSKdt{`&kvo8?DXvm%4LhdpLRJ+g1P;^{*_hs_1HgeGA!jj}VpEa8FcC1Q<@#pi zw}@E?x6%kue>;eiXa_3^yFZ-k?8#EkGFYeIvZ{Dwoi<}opz-C!&i9~x zkIbq0m+B={$R|Xm&)xwjUHVHk0-b>mzQ{mp0kh+jx=LbA6!~0<`&0F+`YrX|oLRyW znQ;zVCA`nIvu^HoOL7OKjc@CawrBf*x(ud+D{}Ck0UB^sbt~YU9QKWa-a5JozbO8#W88KDd0%J^uGW2)TYjovv-Fp$M*_0y78itvGOx~F8y0U=!C&sL3Q7u&SBYG@ zc|D5x{%_C2OU*YBqA(JO+~e0CJlDoaB{Vl!bk5&oV9$(Q9Fey_O;+xz;bI ziWqo3yNgbXZywZj83K2u2~#$z(Z$)vioU;3%yCDZ$|1ftl5pNv^U>*tZ(aoz+l&38 zn_{3R{(NK>5HZmeikQkTQmGF9wH{Lb*|~yJ2Z#8UTt8Z6zDqi_$3e!&DvN| zOX4{dwUhlgRm3?MLY4tlJfbRVRJV#z6_sB$u5z5cN~}f^poiK7OvFC)Dj1(#UBTuy z-0`V;x9C#?D8_$%s(WyTJ87ga&{D_bmZh(poZ*QeU+3v1u;wC77-Mr$F~h> zgW-ZNn8<6gO}h(kbBG?$E?jR}-kNk_S|?t6?fUfz4ZUQ_JAWW)ioD^%7v|cB7gKH< zF(4To&IpYj+_S${^~akj+$Vkfg&aNjg7XGck%Co{3&8=db0WMgZs_2TS&G_G8g}iQ zpr&_TUh!$Z1T3Qo88_2R)BNo%TUGd>QNzQ=O%$nEQL}dA2QfEnznR)yM~{f8JQb}B zx3#zI(k{FAfl=G>vmy)_97caZNKuA)?~oLU4~J~goTbFH46{+V-ir1tK|oVDe6GS& zh3np*N6%FUbt1wJ86)^AB|u-4{PA&T;!BE%+t)fd%2At0G~ENOv$^vLisg?%MQVh0SQ{8NGSy- z>+hyT@BXB{?OVsIHoK6L=Fw%hBeI12qRi`{bY+h8?AbVo-_h$Q?AsG-hy1DOTOGK^ z%$I6tq08LC1B@U?)1&zr^LFfVSPeyV$QQ?rwl+J|tP-50W$f*IuFGLIAo*>iDoLaF zjnN&<%qWIf-Sp}vR!e85@a!)Y;6GKAeWb}uI?^FP+h?esPRv*gc^lSa$6G&79F^^> z@#iIc3OefdlJSO|I+_e-lH~}4p`ufk6R~*s9h>g?l|kc(Q#`u2(n+xBfvld25RoNS z(DSuP76!-RyEU<|8po3pvmSdqgBn(b!~?sY$Nx3r@PB*l`)>&K|JHU1l>*W@m9a^? zi$S>@li~P24vB2rSFE08!Ltv#6wEb6x3vCPp`$Z$<4hN{UCY`?)W52m8J%zaoLsMu zDr5gdam{r)%s<|0wj-`eLY2v2j0`f;^nrsvf;KK=Nc4*@^Sa~1hj$Q=M_<-=-z6yC z5LdvAVf!Nova?Or4&9=22c52WCNN#J4*l^?KI9^pNA(HIu_GJ#I`71k7TQPZ@H251 zsYo7l0qG_A|KbEQife=Dk;ZQpmvrXz!9F_~2z6gYR*djH)#OE2-7{$Y(AQU%$L-8sKKZkts92X ziC6bhZx1b{?&1DaJ|7TJdVu;0MCOHPf~yptyE8)1vb`NVynL^K&k~%91Y$I)PWunt z1j-$Iuqucg;4?4Y^b#Q|cK%FWKWXYkjk?Y3D+kLb5!H`+cEZL>EVsCuHgeD!)jR76 zc#EdFnY=YCWWPYd^xV9+6Al^7#|x4pB32eq?cp=5%QKaeL3l_)JcQQ#yk>=wLnL(} z%f+nsfm?hMARpQJVsmwX1=y>oZZaB?1pQ)O8@XlwRU*;e!u^+vo>{QgpOgTT!=?-a z_k`zY0;Qnn&@?U|p^Z}M zq#AX3wJ*gT;|a+(`ne=^#i&EsTxq+fGj9^qE-<~+P7sUb)?RKsDJ!ctGU^ck|AazFdz~k2ZOvC^Nx9G;Y7RC?VFpt}uE0pP zeCzjAd?RQJf{>pXQDRH2#QOtb@t!sAl;;i)lSSy$?6YIVfXIl_WlFcw`Ljfd@Dy2%C=2xLc5qTq@H=r$y_u$wY2G&wAy`wR z0W(cg=W-tT3WmWi*riXVl5_2$9zLlM_64Dhdb|rNWR?R%hNP3Gbo>^_y+IYl$)P4% z7Y7EV?y`$mzdxYKHlxjEQQw>tnjO}IE*&-P_!RUdz0QStlwjgfL=52%dAH{52SA@W zN66TjA0Df`;=?+7fV$W^ttoKQefqS2X_or@7izx*VauKc?nR&I5>m4cNs17lUP~0c z>{KW;xlh84n(Hu6znV3c>@3l_o2WZ@Vd2pV%TC+^uL8*h&&W#}ZA&mpohd@F5e|ME zeW}rn-O@3Ae7Z2JxlOLR$<*nTG{Rh!K3qF#4pjpM&m5Xg!$ zR&RTBA<&cuSi21d!44d&yf>@s>ori6z;DllU+(fWJb~V)I=7hisE2m~WP%$Ezz&9> zIr#1i#Oo*JqA?$3 zU80-v942q2(mcy#2Ik1p1lRlp{)MKOeOpGE21-9>VHK?t<;+G817kU^#-^ZTt~HwX z@fO!?^jYrKL%%H9D)eQ5J)KO*n={ej#f@~$+{(5a$S_lev4sYb@11aK%e+@%Qx2B? zhAEF5KKFh;b{hQ_u@_zBZMaaZ#K^a*d^xRCJ%@O)={JV2LGQDXY7o1eC~e<^==vx9 zo_evFw!D0!3nP_RxO^TCTzmcz^1QS?asT-_wRw?VvKV2-Gz5=85tTdHTx-~3Aw0^O zVZ+7(tU!3$S4!yj`!EQ%^`pYD=mxNaqm#o5uz}5%*}XBH9H&oI(mgUnsP8B-k`_*{ zx^F`Pwe9rKCC=G|Mzu-)`^3lwM&2{K4Q*_say4s%=_d8^B_W}0V(by7l`(*qjwF|9 zZ0N4n-r`muKbU9ScPkCQ{E@L=wEfECO2*} zI0e6Z@R%yrFXHSw6l7Uh>>IbWdz4BswMrW<(dSw4^4{`I3!9T#R1RT7C;|WV%r*RF@0!mq2rWg=U=-hD*LCfyc({!;zoOtcOJS=k(nBgHK!2hClbz1R?0_2mHa z=gV{O)A*@fpOh~d35|&9dCsNvW zUc_{;)srQ-*$e+gY%hPVAS+g(qV)M{XzkbVIlFm_*s-L^{(+Y+F5Z}fa=qrW#uCbc zlJ1QK&F6SbCOp?ckTqsc`94J&(Q5iAp-bsT{TXse<9h1}&tzl#_xWgpHiPMdcbJcH~V(__CeDQCKDUnwn0*_ zafSrj@Au!qJUhLUp21i3vfs^vdF#&JHOivu6Dpy^l(Zi!YswsC@HhaslX`|Gx|Ajx zj{^lR5qeY_%$gt9+3$VrG`wNGjAgjwiph2NZIhP>Dz+*g`gtnWxCdIk|69w1*zi8) zX_V6XytNR=oyO*lIr@V+ZtoXB^PS98pCw@>$Xd4Ab@;NQ^LO-&{J&@y z`+w|cQGwnLY+L3|c!@8ZD=ja?_{aGhODjij6WPsjtFmBnwK3OO+2hSwrPiQsT5oV} zKsH<-y5ykRt35J7X~rEK^Q9uM0)8ypHKqF`KE1Q_MoC+xVmQnGr*$PBzhn)64*u_| z<$e6y^kD9HVQ1Gf!e(_EwX5e=e8>7#N9<35c5p!WGyKldMLKFJbq8G32^8k~v7O2< zGVH&#jcrGYWQ8M-{1y29zO@{C>YM#j_VWQK`)LBoeuC5+WA4Az<&H5RQ03*{7}frh z2hK@x1F_)-HxF{W<;ON%XvskN>@}5~PU4i2UCmbwI4jvQ?smO8@TcINeJE6|LEC$ut>Aj;0k_J!S=FBQC%c3aW9|11(M72!!f=xO-6iN63HuMqTwc%dj^bJhYaU zinRRxSFhA6$_oCUEL-3`)PKkRcb0tdVV`DIGNYo>$TjeiJ+D>kM=l3r3#PR1=dAuK z^y8mvG?Wx8I>$^A16Z$@;wGInv8_<iSF!<@G|y^fM!|P!wFLc_G>;J z&MXVQR0!U6U%C9&5s&tK^7TD{Nx?%NJ!24{>JljjqSuf%(HoX3R z*5ZPPJ#g^0u=(foee2ef_a84hp3t;QP?HJ`#=MnrO|FC5W0e8neeQP*1wJE>SAQ;f z9+i~iY3+Z;U~w0|z0Bs(RMlg@d8UH+gaDY4gh9V%7&OY1j}Vp05SPlbe|{zua@q_xt%) zAbTYbZD^gQ*73<(Nwa}p%z=jsErp%{y+_}jiO%*ghuDF!``TY$Oa1`88Y@^vz)()d z*pHrRlG;9mQP;OCK{HF@SG%urTfAgYV_L~9TJL!v)9z%hlp6Q7Q+-}863V9OpO3Vs z$hBL0RUt%qg^h|^9?%V5+ftsS)hC7qXrm3#;Yi2ri4-degnS;!Y1{eyfKe}KK>c}a ze_zsTgKM>4b>s_ZgQDgdVUsM}2UQ+MIueffU1VD4KAJy3iY8^La%| zOJ7%w=41mTk*+4c&UMV5oyqa8`*8J)uOq@!4K(MU%Hij=$~<$)9Nya-03L>KR8O3) zQ;Pm06Ji?oPQgStD7Ui8{=xCpe(sbUIKN#Zsp;B)BD5K`KPbPZdW^gHS5q1e7lJWNgd z9IVnZ9}S<@&{ktQVA>5g`g6v$=qduxn&iw*FKKjmT_~WQkiAoAr5FB>%fsGG(V)k zjNyx$u*)M4%ZXu8VajC7w!sj;fKM@jY(B!fZI*r+ZG+rSW$VJC4b*#q z2a{*gVVtp6QhLiDS#ML5Pf+)*hU~RN9)XToSEInXh0s}J)2+&?$t|>Jjjnr7R`LOS zKEbSE-vzh1hwVR~)ljn_8RpU;F(*KL-`h5B$NBZ*uTf7nbvYto@bE{p{`ZQ_7R&`; z_8vplI}uC@hLB<~e?g1KEeiGUvWlp+{`ga?#@sXZd(p@x3uVZ=)i449Bzda4%LwkmP zYTJ3*v!*x^_i$kQYJ)Z-(;xEyxc=RJF_XeaNQ&^_PylKOo`=eD0EcxW=XkMrSMU0f zdxy*6v_(L<{srduHHE6w?EjMz@ua+V*mbW9@yCV9^}WQea2~}k8S?;w4 z!usymrDb3tk>E_pC^fSrFh>+xQQVucLSVibpOV8?fIWeLolpBYWm9N7K-SzcN?=&j z6@Ft|E7R1yl50eYn8$`T*Z}NTmKIn3iD$rG>o4d}wd&AQOtyH8z5GLgwCT%>NB6jU z&m9&mSSAaSrxF3*IcHkEq$A$5IR4ktc}tjw7m^}!HDI=mc-Y7>l}w?|$tH0pbq+>b zUf=8pFf3>1DCuLsu{bJs_J6!W^ zErj(Jn2c_KIO=(wWMZ_KU)~wrqyGi%EwR7Jyacyc%fFA>?#TDaGX}pXeI6Ox9=L9~f+Q|c z6@l15PMRD?haAf~+dTHO9h;c7x2RT{=N~ZJ?}4Z2H+KCn}fhHx)>bGf{-hqS(Qh3 zwsTEn*6V*Ol@ymw{See0DmFTTd?OduId|9s02Tq;{!|(mB=b9!IoaaO_hYV%mOA;z z9_oadW7rrf7ehtttCM=C@}AlpkJF)x{>t2x5pwJOjCpj691~@g5(;z#F&LSKk=d5H zzUkgP{SYGU$COUPno8?*nB{c~7<)&iXRp-B zCc{5J90kn_WJi{%3QPNb&a*h&py9=JInPd*G_7i^Bx!ATvh(+-Wjf;ic%a1Uq-O*E z98J-I0LLZ0EyX+O8QqUz+Op(16o`JOLKJdOm+lrN91;gS)O7Bczo4GUE45DkI*rLkfcII{VE0~p zb_KN>oH)99bxesGb=%u#p*AX8Mxb2noP46gmEbM*Kqksav-PJ<6jir13xU9Cni8OZ zQ!uslrxTX+W&O7hSWo?a?2p(ae%D}q#>@zje2D!&}kG-J_%e=>rm8M?te`Fk&g5oX*H zhdRuHG<%CNP5I(>mxJHy$*IR5D!{(Y)Hejk}XYK?N-;2ol2Hj3M`uqwsM#ViNWWMHUzfo6^cRL1AP!baD= zvxj}p47W+~=sQ#>Pkd=!!vu;BE_N3wT?yI8Uz)K4vi3q7mGMB>(DDdE-dQ{9xhdfspE=k#(w$Sys>6Us*tFs@&L=uh%+;^E{ zbbf^F_)_q^+(%hrmC)k}M=yhYbGGVP$(sf-i;owyti~QiBxLjEZts|SIUiU8DIC3q zKc)J072q~D+i?w#cb)q84Di{Im)DD=2QREz>*k_Xd6NuJZ)N|oxqpvK@+EpIqXEp`{Q>9Ge zm(`{3K3T7-N!+K`W#lSZ4j>teWB@{gk`X~V>}C$xrC52axN>W_Qg`us^o2iL7fJ_M zly?BEykj;({v;c79s#Y0-NTJm85AiS+%G9JI$M#7{#Gl!L%iHnXnL}Equ2O#Qa0Qb zt9KYi7-q?MxdLn~Xq-2vFoA77$7)yL`mcb97hDA>}NTkC)OFULfTKSS1 zFv^5u0EGLNDw6GVjf8%7RHU*V2DsPWqetSVO=kv;maop8?~`7Xn~ZMRHm9tSVh)1J zDpJ~^9Ga5Ki?>s~$|`?OKIOjK_wua^Tjk=xAYajPhO(Nf3*7cENM;Pb07x%4{`{I8 z6Hh#Hb=|gc-QCC?A51W*nrTXMu zZZ&OxH`iYjC3FYT)0G)(PY}A=!X|M2imyaNg3VoE3Yzdd^t7>C`0>I4fbb`noJN2? z-KS&&)ew+xyUsJt8(S3R=&BBtRk(cNOtYGh;sd3CYCc`3*-cw&^}b!c^o;W#7j${a z&#Lip;uZ>NSg)~tXZb60$^Vg9u-|d-m!7(tQrTyd|)Tf+FHE3n5pK(i0407l9(^(!k|v9>N1g?3ej&OF1! ze&u6Z#6(}d|LseJ*&PGSK?E|wfELrZy3vg8$@rMgMiRmixyf8}<_EbF_<#1u!uj?& z4drJv4+1JUlrV%c#p|pbWKZ;nEw3qQr&l#(?`cxs(8cR^r)R!dzWg>Ck6RS0Ei!w8 z;`<9ysN35>>Y<>&hb^BZh)j4PgQ0%#l}v!INS9g_VFYW^?oeP0GR8t;Eogg|&qcys zR++&AFtJ}z22G5McX>wvRKd#jWn}Zc246>Vk^u=Bw5Q>$*L>Xd)yMOOk``=*s-%9C zoMX=wm3{K+!6Q#eZh{EO6au2436eyE`3(~$*y9bZ)jB2X&}=vdK7IH`^dk;}mXGpU zpu$Nmm}Mq#T;!~#>1oRFUcZR$sPoq5QjO12Rbuw@QYCHuX_FpM*I`~W#>X@@9kWxD zV77^mUox;M2-t*0J&Vu3Ts-O!*q>)Br}eCAtGMjYG8zk$JN=A45GYHjpOblsH@D?! znNR6?d$}Y#25ggg6#IeB(_GSe03AY>Vi+h=L*1~Pk<71-t_?d~wXf}`)0eT=x50uw z3#JrP>LZ$E)li9&$XTBjE|u69w|$+jHiIrcV-jLa&vh!<#q6IY!;pTM?ciw|V6`Q?ZOpohQ%EK|!L&z`}?hX=L=tlM7^nI6Q3E>`N7v{%Hn zk%uvR6+n_z9$a-+xB^Ip7gDzO|9nRy`>FR^@z`ju^iNfA>lm>m3>IawLH7SPlHZp? zMD=SxI$cg;$+!rbz9u8p#Roia?JP^15YPIs=K!M-j5><&3yE+EVE2G0M54&N)D0fl%Ch~O}B!zVYET_l;G<0)yL3dP= z2Zb<;p1nqe^DdZC96gm*eZ(E%6)jm)5fNA?9nh^v^t+x_dHp}rcK%1#{)NW&U$&nm zECk0^2n)@Y6tMjP;r_rjwX&m4g#3bJ0lz zB4cL+%60}$7mUiTX{>8Z_sy~Bq#-mTAGX;CEiP0AXy|Zfr#SVmp%-ddr2xex&?o0O z$}B(uE93pbjc&7Ds?P`;G#*trBtLiV35xz|ff?SnO{Pts^IR1KO0c@x6q zQEX_18JBTE(FYnvSL$q1Q1`m1_e0F5PnMauW-<3E4)fcL{d3N8Ep+AvO45skUNaq| z+wex0fsV7mK}Wj}tbE}abtT$D3}_r6#HS4yZDlp!WQdMa(49Ar;fXpjDS;-*xVoc2 z@7mq%cIX7Y87rd6mE)tgaIOY7^rz^e@mJN62|eY$=NGq1%eNRhme_yKMeDfXNgX0A zDeZo|QMvWxb9IBE^E?M!-DqgVy$f{C?|#DcU&29+H3Zdm5jNVb5#lyN`ye80`_)eI z+s#Z>UT;}uLTL+D@yn0+=%(a8iXk}#XwdjQQuBS>`v=Of%C4ivjI*A z7Vye|jd!^@60cd*z95<|Dh4?@!vWO*Bih8@6Ol|9EU?Z^+>C{Lmo+Y)O_gcA`A=_i z=U}=Tx*{*%)WWdl$Y$sFP=EE}ESk1`w2mky;Qy@5;iIb1tdvhsXD6e3&F_kCKO5TM zjjd$;wIY3`R|WK1v-GlZ1c{-tow7l$o9+F6byTVSJ&@z_;!Lmny89^Zk0%+`WGlO2 zaFP|MF0niYFC?n?G^t-xDgVTrm9Vs*ZWqmkRJ{&q+*d?jDm|7l`+<1?{vt@2!gq)s4B(=ljUrVO zODbm|1lP6*eGlA)sL3oHHinUIur8nO?P#fd)qyD+XF5_w=I}r{`B|7GFb-MT9j9A+ zI<8NTXgjkFx?OF*^t?jjOTiCM@pKScBzj|hg~&S>g}hT=!;k(XQJZ4?y@pY6`C?9k z@keqTYw3#eQ9i-s5AWR94+}GF^U*bc2+bEmzW+YO09na60ZB|FH_Yn(o^!7}5F5un zq_ZISN%$s{Pk=2A!fI=4w>IfQh_|cL+_K@5?aDj5K&^60b!55m76A9-wnPUWC75~R zmqxacv5OEAAOK>JD5J{e!t&R>IX|CnByQzegjKfm5B) zcnb9{LX*T1g0~!Q(3qc5*;-%d^3QzXG0=52+6y|P5maKln~|cmvFUW9!^l_x(_ioH z1t&Gq@50{qXpJ>0o9vYW*fufsZEl|wLz4HWZG=Iwx}l-?EY+;yqA|DGxj2I>tVcq^BJ^~tp7eHt%oZ@Z}B~AJ!pN*FHE#Q6=-Fnhx&@4v5U0Ox* zNZEMqSd1Odj;{?jTT&jo;ZZ58jjC81cy1Myzk#=N_Ud?pLrG0b#;J!dy+9kcgM@Du z$5;(vS1MDlGbS>npW)uXNMK`(exqF$d6~o=Bku3Yp7%MKbgyk>mfnqd49taIAvDQ6 zXe6N*8x987V8$KbDRIfEDobet3$+(#?sWLshxb}aEBh3m_{jmhGqQ`J7@8yHz)~Sdn~S z9yS)z@U8(Cc1PX9Ub5%R3Nu!1PlR$Usnz7dJvSv0F8Z}enTCFjV~f1fBxxG#8~Byh zH&3)7MSvtXhue%N=V~gW;C9lu2E&Dv*H$I_X*FK$&##n6Bu3qujtnyLXc^9{ojp9N zSHTYcUP)VE>8h^jHOrVeN?$6XcV;kFZF4z+uZ=2gv?xb>@D4!b?ycp{7|T<;i-LVG z%8QAY3#P;S=&}f561HhDSomu29Pw-Mi+p&6jx*!h?u?;w#<$KBy~Nu2Fkgu$tY^{n zc|~FZ65Q1p@8Kpb9W-KZvNaZGi{x4!yhQI4VGk4qhZR%e0xYSH56W!hhyq%=%N<*U zQ$G}*8E_T$6vup1SKqd1;G@bSxG1g!eNE`RjNqELN}1GKgBfS5Y+f#d^N8wi7frsk zdN&4enf9Oa=G5epr7WJd5}q3y$ccX+dW=oM9$_1LE<7tx7<(#LhhIcE@sjzN3P#@$)j02WYb6N3a|P+mcjw zK6akjw@5}=zs>T=%q{6U{hbFnuSf!XVrtF(0b0N;VczwhKpxl#49qaJFf3Cd(idx* z6Z^fk!%p{gQ+Lw%@op8qP_G-T(TGDM zVKFQ)o{Jki*5Hs_JG`w-S*;CQjs4|NzEgoq-@PF0gUao8tGB(0X~_A0!*(#&C_-Z% zd)g_+e`&q!jAKJ>h#j~2!>t|6%eGWUkcaZ2E%&9yF@cSqDZ3IQ{F1-i{hoa3S{uV0 zj70?$GCosGKngWDXVR1@Is`3U8^ALDHR;_!={?nnEs^fXIqk~ASLdFiAJmiX>EM8* z$KXJ|VT5^}?K*$v$O5mbs-kAn&8>#7iDAyu`vY+A4lFB11fhc&t`gy29a^tgjZ>-) z)%$X0f?O{ZSui*EN=w!{Bb>j|W-xNohkB*CjX#;(wn=y)2e>SwpR5(}t09@-w5eTsVzo6^05C^O)xx){9t&h$v^8 z9ATTsrcputSXh7x z8AmVpTp80faUxh1u zk18ifYvZd&*A&Pi*#|Pa$Y{II>$V&HxdO zY!en3X)u^i!LvERRwe+aUS)*n^iw{sw6^_0zazFeY^#=t8EN)A2}KYDWE_(j?5|Yv zos!(OVMwPOU#{*`rP1@o(@{-CwN-s|jnl8nO5SUGcQf8dS9VvrPOa6KXyxBCQ1`Bx zMLX`)Q~wxRQ0Q*j-?5yDydHj?n0b7=?_%J{XQCOw!VbC5D3|TT(-VA zX&3y;!&de+wL;z#wiI*nrKd+An=v-F-vMEkVho)uoZEYHnrdjhVWUv1wnOM(4{&yd zJ3F#YO|*QupLS81HG7qXo4nmFqXH}z4(cfP+?=bv_H2!(98BIN1mHr?RH~4ve#pne3y3dDHe<=P_xSh!Y`vtHkcpS=+lt2CSv_@XLy zaAoPKezV161`DPOcdi88xHg)AGwB8#_-iXKRtbb-dXzFH>!4sKN@|VxlKL?HNkWv{ zZW;>Y7!BVQYsmoIjLxp-XevXWn%n@%8sqxy+%Y1()`4(2vZRJr!PWfZR8eo)`#Xzn zlURM4-9bA8`;E{F@6K2t_Q@M zRC`U%$aLvFE03)3u>rDajV0y#&W8V94S>=GQ~}!BKozjaFUYY@P^MZf={%#dB}K(m zfY!&*LB1yS#zwi$lDi#aR$w=VeTeH}g|IBynVyo<%T&5{=r=v`H2!V#0>|0Q4yX0F z_hl~Kn@Ljg9wGgaD5#*9AnK{66v?NQ;CVC~1@iE>#CYY=e!YR~q==knRgt>Pm0cnA zl}Pu;Kx%2GCg*&BTsxf~_cF;4TN(;C6t6eCwXWFM5GVfb^7q{@s8477Ut-cr9G{RZ zgFW+kZ0)s6F&^JtxKUN%k0l@7`NI3;6DU>HG`%WyZTGI(@dF}l)N(Fqe?-6khOXC` zHU1hNkQF8k?j9Oae5o&ekaLIs>ylt)_s`$%$Ol0Hy>_NmNkV?ECs&)I!PczO_6%7hom({2E&_nI!=B(ME zcc9hNG9Gmq4em8I8%KVE>%uE?iIuxE$NT$0r(Le}AFZYT_51vNdAZXe=6vFNAj=*k zN9Hd|40*Q=!fnoR!1KW=`Pz5UCC5ZV12+X^Iil(N{ypd&N@vTk57v-heN0wq3MRmN zYU&M)psD20bu+W^QRtp>@ejam9I6!I%yzfRP(wgxLQww}Xgx3|&OkEGS98e3z#Wrh zxLkyvo;E#kj(Sp5I?8OHyfTle3F R Date: Wed, 19 Apr 2017 21:08:55 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0=2015.=E5=A4=A7=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=B8=8EMapReduce=E7=9A=84md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...5\260\346\215\256\344\270\216MapReduce.md" | 42 ++++++++++++++++++ ...01\345\220\221\351\207\217\346\234\272.md" | 4 +- images/15.BigData_MapReduce/MR_1_cluster.jpg | Bin 0 -> 70005 bytes 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 images/15.BigData_MapReduce/MR_1_cluster.jpg diff --git "a/docs/15.\345\244\247\346\225\260\346\215\256\344\270\216MapReduce.md" "b/docs/15.\345\244\247\346\225\260\346\215\256\344\270\216MapReduce.md" index e69de29bb..3fd7d3882 100644 --- "a/docs/15.\345\244\247\346\225\260\346\215\256\344\270\216MapReduce.md" +++ "b/docs/15.\345\244\247\346\225\260\346\215\256\344\270\216MapReduce.md" @@ -0,0 +1,42 @@ +# 大数据与MapReduce + +> 本章内容 + +* MapReduce +* Python中Hadoop流的使用 +* 使用mrjob库将MapReduce自动化 +* 利用Pegasos算法并行训练支持向量机 + +## MapReduce:分布式计算的框架 + +``` +优点:可在短时间内完成大量工作。 +缺点:算法必须经过重写,需要对系统工程有一定的理解。 +适用数据类型:数值型和标称型数据。 +``` + +* MapReduce集群的示意图 +![MapReduce集群的示意图](/images/15.BigData_MapReduce/MR_1_cluster.jpg) + +> 关于MapRduce的学习要点 + +* 主节点控制MapReduce的作业流程 +* MapReduce的作业可以分成map任务和reduce任务 +* map任务之间不做数据交流,reduce任务也一样 +* 在map和reduce阶段中间,有一个sort和combine阶段 +* 数据被重复存放在不同的机器上,以防止某个机器实效 +* mapper和reducer传输的数据形式为key/value对 + +## Hadoop流 + +## 在Amazon网络服务商运行Hadoop程序 + +## MapReduce上的机器学习 + +## 在Python中使用mrjob来自动化MapReduce + +## 示例:分布式SVM的Pegasos算法 + +## 你真的需要MapReduce吗? + +## 本章小节 diff --git "a/docs/6.\346\224\257\346\214\201\345\220\221\351\207\217\346\234\272.md" "b/docs/6.\346\224\257\346\214\201\345\220\221\351\207\217\346\234\272.md" index 5e3974356..90bc56550 100644 --- "a/docs/6.\346\224\257\346\214\201\345\220\221\351\207\217\346\234\272.md" +++ "b/docs/6.\346\224\257\346\214\201\345\220\221\351\207\217\346\234\272.md" @@ -102,7 +102,7 @@ This is the simplest kind of SVM (Called an LSVM) Support Vectors are those data * 我们知道几乎所有的数据都不那么干净, 通过引入松弛变量来允许数据点可以处于分隔面错误的一侧。 * 约束条件: \\(C>=a>=0,\ and\ \sum_{i=1}^{m} a_i·label_i=0\\) * 这里常量C用于控制“最大化间隔”和“保证大部分点的函数间隔小于1.0” 这两个目标的权重。 -* 常量C是一个常数,我们通过调节钙参数得到不同的结果。一旦求出了所有的alpha,那么分隔超平面就可以通过这些alpha来表示。 +* 常量C是一个常数,我们通过调节该参数得到不同的结果。一旦求出了所有的alpha,那么分隔超平面就可以通过这些alpha来表示。 * 这一结论十分直接,SVM中的主要工作就是要求解 alpha. > SVM应用的一般框架 @@ -131,7 +131,7 @@ SVM的一般流程 * 这里指的合适必须要符合一定的条件 * 1.这两个alpha必须要在间隔边界之外 * 2.这两个alpha还没有进行过区间化处理或者不在边界上。 - * 之所以要同时改变2个alpha;原因,我们有一个约束条件:`Σ a[i]*label(i)=0`;如果只是修改一个alpha,很可能导致约束条件失效。 + * 之所以要同时改变2个alpha;原因,我们有一个约束条件: \\(\sum_{i=1}^{m} a_i·label_i=0\\);如果只是修改一个alpha,很可能导致约束条件失效。 ``` SMO伪代码大致如下: diff --git a/images/15.BigData_MapReduce/MR_1_cluster.jpg b/images/15.BigData_MapReduce/MR_1_cluster.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6bf55a5837d5f1e4eea189d02524a9d56e60e4e3 GIT binary patch literal 70005 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 V{-X;5~f$e}&&G{~xvxXEy)< literal 0 HcmV?d00001 From 90154ca3749ddd3b5d8b23af1ce39917732bf77a Mon Sep 17 00:00:00 2001 From: jiangzhonglian Date: Wed, 19 Apr 2017 23:28:38 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=AE=8C=206.SVM?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=90=91=E9=87=8F=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...01\345\220\221\351\207\217\346\234\272.md" | 8 +- src/python/6.SVM/svm-complete.py | 8 +- src/python/6.SVM/svm-complete_Non-Kernel.py | 212 +++++++++++++----- src/python/6.SVM/svm-simple.py | 3 +- 4 files changed, 170 insertions(+), 61 deletions(-) diff --git "a/docs/6.\346\224\257\346\214\201\345\220\221\351\207\217\346\234\272.md" "b/docs/6.\346\224\257\346\214\201\345\220\221\351\207\217\346\234\272.md" index 90bc56550..a3dba2f63 100644 --- "a/docs/6.\346\224\257\346\214\201\345\220\221\351\207\217\346\234\272.md" +++ "b/docs/6.\346\224\257\346\214\201\345\220\221\351\207\217\346\234\272.md" @@ -11,7 +11,7 @@ * 机(Machine)就是表示一种算法,而不是表示机器。 * SVM有很多种实现,最流行的一种实现是: `序列最小优化(Sequential Minimal Optimization, SMO)算法`。 * 下面还会介绍一种称为`核函数(kernel)`的方式将SVM扩展到更多数据集上。 -* 实战项目:回顾第1章中手写识别的案例,并考察其能否通过SVM来提高识别的效果。 +* 实战项目:回顾第2章中手写识别的案例,并考察其能否通过SVM来提高识别的效果。 * 注意:`SVM几何含义比较直观,但其算法实现较复杂,牵扯大量数学公式的推导。` ``` @@ -73,17 +73,17 @@ This is the simplest kind of SVM (Called an LSVM) Support Vectors are those data * 怎么理解呢? 例如: 所有的点看作地雷吧,那么我们(超平面)得找到最近所有的地雷,并保证我们离它最远。 * 目标函数:\\(arg: max\ \{min\ [lable*(w^Tx+b)/||w||]\}\\) * 1.如果 \\(lable*(w^Tx+b)>0\\) 表示预测正确,也称`函数间隔`,\\(||w||\\) 可以理解为归一化,也称`几何间隔`,我们始终可以找到一个阈值让 \\(lable*(w^Tx+b)>=1\\) - * 2.所以令 \\(lable*(w^Tx+b)=1\\),我们本质上是求 \\(arg: max\{关于w, b\}(1/||w||)\\);也就说,我们约束(前提)条件是: \\(lable*(w^Tx+b)>=1\\) + * 2.所以令 \\(lable*(w^Tx+b)=1\\),我们本质上是求 \\(arg: max\{关于w, b\}\ (1/||w||)\\);也就说,我们约束(前提)条件是: \\(lable*(w^Tx+b)=1\\) * 新的目标函数求解: \\(arg: max\{关于w, b\}\ (1/||w||)\\) * => 就是求: \\(arg: min\{关于w, b\}\ (||w||)\\) (求矩阵会比较麻烦,如果x只是1/2*X^2的偏导数,那么。。同样是求最小值) * => 就是求: \\(arg: min\{关于w, b\}\ (\frac{1}{2}*||w||^2)\\) (二次函数求导,求极值,平方也方便计算) * 本质上就是求线性不等式的二次优化问题(求分隔超平面,等价于求解相应的凸二次规划问题。) * 通过拉格朗日乘子法,求二次优化问题 - * 假设需要求极值的目标函数 (objective function) 为 f(x,y),限制条件为 φ(x,y)=M # M>=1 + * 假设需要求极值的目标函数 (objective function) 为 f(x,y),限制条件为 φ(x,y)=M # M=1 * 设g(x,y)=M-φ(x,y) # 临时φ(x,y)表示下文中 \\(label*(w^Tx+b)\\) * 定义一个新函数: F(x,y,λ)=f(x,y)+λg(x,y) * a为λ,代表要引入的拉格朗日乘子(Lagrange multiplier) - * 那么: \\(L(w,b,\alpha)=\frac{1}{2} * ||w||^2 + \sum_{i=1}^{n} \alpha * [1 - label * (w^Tx+b)]\\) => \\(L(w,b,\alpha)=\frac{1}{2} * ||w||^2 - \sum_{i=1}^{n} \alpha * [label * (w^Tx+b) - 1]\\) + * 那么: \\(L(w,b,\alpha)=\frac{1}{2} * ||w||^2 + \sum_{i=1}^{n} \alpha * [1 - label * (w^Tx+b)]\\) * 因为:\\(label*(w^Tx+b)>=1, \alpha>0\\) , 所以 \\(\alpha*[label*(w^Tx+b)-1]>=0\\), \\(\sum_{i=1}^{n} \alpha * [label * (w^Tx+b) - 1]>=0\\) * \\(max\{关于\alpha\}\ L(w,b,\alpha) = \frac{1}{2} *||w||^2\\) * 如果求: \\(min\{关于w, b\}\ \frac{1}{2} *||w||^2\\) , 也就是要求: \\(min\{关于w, b\}\ [max\{关于\alpha\}\ L(w,b,\alpha)]\\) diff --git a/src/python/6.SVM/svm-complete.py b/src/python/6.SVM/svm-complete.py index 4028a6eb8..aed2e9540 100644 --- a/src/python/6.SVM/svm-complete.py +++ b/src/python/6.SVM/svm-complete.py @@ -101,7 +101,7 @@ def calcEk(oS, k): k 具体的某一行 Returns: - + Ek 预测结果与真实结果比对,计算误差Ek """ fXk = float(multiply(oS.alphas, oS.labelMat).T * oS.K[:, k] + oS.b) Ek = fXk - float(oS.labelMat[k]) @@ -142,7 +142,7 @@ def selectJ(i, oS, Ei): # this is the second choice -heurstic, and calcs Ej maxK = -1 maxDeltaE = 0 Ej = 0 - # # 首先将输入值Ei在缓存中设置成为有效的。这里的有效意味着它已经计算好了。 + # 首先将输入值Ei在缓存中设置成为有效的。这里的有效意味着它已经计算好了。 oS.eCache[i] = [1, Ei] # print 'oS.eCache[%s]=%s' % (i, oS.eCache[i]) @@ -515,8 +515,8 @@ def plotfig_SVM(xArr, yArr, ws, b, alphas): # plotfig_SVM(dataArr, labelArr, ws, b, alphas) # # 有核函数的测试 - # testRbf(1) + testRbf(0.8) # 项目实战 # 示例:手写识别问题回顾 - testDigits(('rbf', 20)) + # testDigits(('rbf', 20)) diff --git a/src/python/6.SVM/svm-complete_Non-Kernel.py b/src/python/6.SVM/svm-complete_Non-Kernel.py index 25dfdaad2..dcc8897a6 100644 --- a/src/python/6.SVM/svm-complete_Non-Kernel.py +++ b/src/python/6.SVM/svm-complete_Non-Kernel.py @@ -11,6 +11,18 @@ import matplotlib.pyplot as plt +class optStruct: + def __init__(self, dataMatIn, classLabels, C, toler): # Initialize the structure with the parameters + self.X = dataMatIn + self.labelMat = classLabels + self.C = C + self.tol = toler + self.m = shape(dataMatIn)[0] + self.alphas = mat(zeros((self.m, 1))) + self.b = 0 + self.eCache = mat(zeros((self.m, 2))) # first column is valid flag + + def loadDataSet(fileName): """loadDataSet(对文件进行逐行解析,从而得到第行的类标签和整个数据矩阵) @@ -61,59 +73,64 @@ def clipAlpha(aj, H, L): return aj -def calcWs(alphas, dataArr, classLabels): - """ - 基于alpha计算w值 +def calcEk(oS, k): + """calcEk(求 Ek误差:预测值-真实值的差) + + 该过程在完整版的SMO算法中陪出现次数较多,因此将其单独作为一个方法 Args: - alphas 拉格朗日乘子 - dataArr feature数据集 - classLabels 目标变量数据集 + oS optStruct对象 + k 具体的某一行 Returns: - wc 回归系数 + Ek 预测结果与真实结果比对,计算误差Ek """ - X = mat(dataArr) - labelMat = mat(classLabels).transpose() - m, n = shape(X) - w = zeros((n, 1)) - for i in range(m): - w += multiply(alphas[i] * labelMat[i], X[i, :].T) - return w - - -''' -#######******************************** -Non-Kernel VErsions below -#######******************************** -''' - -class optStruct: - def __init__(self, dataMatIn, classLabels, C, toler): # Initialize the structure with the parameters - self.X = dataMatIn - self.labelMat = classLabels - self.C = C - self.tol = toler - self.m = shape(dataMatIn)[0] - self.alphas = mat(zeros((self.m, 1))) - self.b = 0 - self.eCache = mat(zeros((self.m, 2))) # first column is valid flag - - -def calcEk(oS, k): fXk = float(multiply(oS.alphas, oS.labelMat).T * (oS.X * oS.X[k, :].T)) + oS.b Ek = fXk - float(oS.labelMat[k]) return Ek def selectJ(i, oS, Ei): # this is the second choice -heurstic, and calcs Ej + """selectJ(返回最优的j和Ej) + + 内循环的启发式方法。 + 选择第二个(内循环)alpha的alpha值 + 这里的目标是选择合适的第二个alpha值以保证每次优化中采用最大步长。 + 该函数的误差与第一个alpha值Ei和下标i有关。 + Args: + i 具体的第i一行 + oS optStruct对象 + Ei 预测结果与真实结果比对,计算误差Ei + + Returns: + j 随机选出的第j一行 + Ej 预测结果与真实结果比对,计算误差Ej + """ maxK = -1 maxDeltaE = 0 Ej = 0 - oS.eCache[i] = [1, Ei] # set valid #choose the alpha that gives the maximum delta E + # 首先将输入值Ei在缓存中设置成为有效的。这里的有效意味着它已经计算好了。 + oS.eCache[i] = [1, Ei] + + # print 'oS.eCache[%s]=%s' % (i, oS.eCache[i]) + # print 'oS.eCache[:, 0].A=%s' % oS.eCache[:, 0].A.T + # """ + # # 返回非0的:行列值 + # nonzero(oS.eCache[:, 0].A)= ( + # 行: array([ 0, 2, 4, 5, 8, 10, 17, 18, 20, 21, 23, 25, 26, 29, 30, 39, 46,52, 54, 55, 62, 69, 70, 76, 79, 82, 94, 97]), + # 列: array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0]) + # ) + # """ + # print 'nonzero(oS.eCache[:, 0].A)=', nonzero(oS.eCache[:, 0].A) + # # 取行的list + # print 'nonzero(oS.eCache[:, 0].A)[0]=', nonzero(oS.eCache[:, 0].A)[0] + # 非零E值的行的list列表,所对应的alpha值 validEcacheList = nonzero(oS.eCache[:, 0].A)[0] if (len(validEcacheList)) > 1: - for k in validEcacheList: # loop through valid Ecache values and find the one that maximizes delta E - if k == i: continue # don't calc for i, waste of time + for k in validEcacheList: # 在所有的值上进行循环,并选择其中使得改变最大的那个值 + if k == i: + continue # don't calc for i, waste of time + + # 求 Ek误差:预测值-真实值的差 Ek = calcEk(oS, k) deltaE = abs(Ei - Ek) if (deltaE > maxDeltaE): @@ -121,24 +138,53 @@ def selectJ(i, oS, Ei): # this is the second choice -heurstic, and calcs Ej maxDeltaE = deltaE Ej = Ek return maxK, Ej - else: # in this case (first time around) we don't have any valid eCache values + else: # 如果是第一次循环,则随机选择一个alpha值 j = selectJrand(i, oS.m) + + # 求 Ek误差:预测值-真实值的差 Ej = calcEk(oS, j) return j, Ej def updateEk(oS, k): # after any alpha has changed update the new value in the cache + """updateEk(计算误差值并存入缓存中。) + + 在对alpha值进行优化之后会用到这个值。 + Args: + oS optStruct对象 + k 某一列的行号 + """ + + # 求 误差:预测值-真实值的差 Ek = calcEk(oS, k) oS.eCache[k] = [1, Ek] def innerL(i, oS): + """innerL + 内循环代码 + Args: + i 具体的某一行 + oS optStruct对象 + + Returns: + 0 找不到最优的值 + 1 找到了最优的值,并且oS.Cache到缓存中 + """ + + # 求 Ek误差:预测值-真实值的差 Ei = calcEk(oS, i) - if ((oS.labelMat[i] * Ei < -oS.tol) and (oS.alphas[i] < oS.C)) or ( - (oS.labelMat[i] * Ei > oS.tol) and (oS.alphas[i] > 0)): - j, Ej = selectJ(i, oS, Ei) # this has been changed from selectJrand + + # 约束条件 (KKT条件是解决最优化问题的时用到的一种方法。我们这里提到的最优化问题通常是指对于给定的某一函数,求其在指定作用域上的全局最小值。) + # 0<=alphas[i]<=C,但由于0和C是边界值,我们无法进行优化,因为需要增加一个alphas和降低一个alphas。 + # 表示发生错误的概率:labelMat[i]*Ei 如果超出了 toler, 才需要优化。至于正负号,我们考虑绝对值就对了。 + if ((oS.labelMat[i] * Ei < -oS.tol) and (oS.alphas[i] < oS.C)) or ((oS.labelMat[i] * Ei > oS.tol) and (oS.alphas[i] > 0)): + # 选择最大的误差对应的j进行优化。效果更明显 + j, Ej = selectJ(i, oS, Ei) alphaIold = oS.alphas[i].copy() alphaJold = oS.alphas[j].copy() + + # L和H用于将alphas[j]调整到0-C之间。如果L==H,就不做任何改变,直接return 0 if (oS.labelMat[i] != oS.labelMat[j]): L = max(0, oS.alphas[j] - oS.alphas[i]) H = min(oS.C, oS.C + oS.alphas[j] - oS.alphas[i]) @@ -148,22 +194,37 @@ def innerL(i, oS): if L == H: print("L==H") return 0 + + # eta是alphas[j]的最优修改量,如果eta==0,需要退出for循环的当前迭代过程 + # 如果ETA为0,那么计算新的alphas[j]就比较麻烦了, 为什么呢? 因为2个值一样。 + # 2ab <= a^2 + b^2 eta = 2.0 * oS.X[i, :] * oS.X[j, :].T - oS.X[i, :] * oS.X[i, :].T - oS.X[j, :] * oS.X[j, :].T if eta >= 0: print("eta>=0") return 0 + + # 计算出一个新的alphas[j]值 oS.alphas[j] -= oS.labelMat[j] * (Ei - Ej) / eta + # 并使用辅助函数,以及L和H对其进行调整 oS.alphas[j] = clipAlpha(oS.alphas[j], H, L) - updateEk(oS, j) # added this for the Ecache + # 更新误差缓存 + updateEk(oS, j) + + # 检查alpha[j]是否只是轻微的改变,如果是的话,就退出for循环。 if (abs(oS.alphas[j] - alphaJold) < 0.00001): print("j not moving enough") return 0 - oS.alphas[i] += oS.labelMat[j] * oS.labelMat[i] * (alphaJold - oS.alphas[j]) # update i by the same amount as j - updateEk(oS, i) # added this for the Ecache #the update is in the oppostie direction - b1 = oS.b - Ei - oS.labelMat[i] * (oS.alphas[i] - alphaIold) * oS.X[i, :] * oS.X[i, :].T - oS.labelMat[j] * ( - oS.alphas[j] - alphaJold) * oS.X[i, :] * oS.X[j, :].T - b2 = oS.b - Ej - oS.labelMat[i] * (oS.alphas[i] - alphaIold) * oS.X[i, :] * oS.X[j, :].T - oS.labelMat[j] * ( - oS.alphas[j] - alphaJold) * oS.X[j, :] * oS.X[j, :].T + + # 然后alphas[i]和alphas[j]同样进行改变,虽然改变的大小一样,但是改变的方向正好相反 + oS.alphas[i] += oS.labelMat[j] * oS.labelMat[i] * (alphaJold - oS.alphas[j]) + # 更新误差缓存 + updateEk(oS, i) + + # 在对alpha[i], alpha[j] 进行优化之后,给这两个alpha值设置一个常数b。 + # w= Σ[1~n] ai*yi*xi => b = yj Σ[1~n] ai*yi(xi*xj) + # 所以: b1 - b = (y1-y) - Σ[1~n] yi*(a1-a)*(xi*x1) + b1 = oS.b - Ei - oS.labelMat[i] * (oS.alphas[i] - alphaIold) * oS.X[i, :] * oS.X[i, :].T - oS.labelMat[j] * (oS.alphas[j] - alphaJold) * oS.X[i, :] * oS.X[j, :].T + b2 = oS.b - Ej - oS.labelMat[i] * (oS.alphas[i] - alphaIold) * oS.X[i, :] * oS.X[j, :].T - oS.labelMat[j] * (oS.alphas[j] - alphaJold) * oS.X[j, :] * oS.X[j, :].T if (0 < oS.alphas[i]) and (oS.C > oS.alphas[i]): oS.b = b1 elif (0 < oS.alphas[j]) and (oS.C > oS.alphas[j]): @@ -175,24 +236,51 @@ def innerL(i, oS): return 0 -def smoP(dataMatIn, classLabels, C, toler, maxIter): # full Platt SMO +def smoP(dataMatIn, classLabels, C, toler, maxIter): + """ + 完整SMO算法外循环,与smoSimple有些类似,但这里的循环退出条件更多一些 + Args: + dataMatIn 数据集 + classLabels 类别标签 + C 松弛变量(常量值),允许有些数据点可以处于分隔面的错误一侧。 + 控制最大化间隔和保证大部分的函数间隔小于1.0这两个目标的权重。 + 可以通过调节该参数达到不同的结果。 + toler 容错率 + maxIter 退出前最大的循环次数 + Returns: + b 模型的常量值 + alphas 拉格朗日乘子 + """ + + # 创建一个 optStruct 对象 oS = optStruct(mat(dataMatIn), mat(classLabels).transpose(), C, toler) iter = 0 entireSet = True alphaPairsChanged = 0 + + # 循环遍历:循环maxIter次 并且 (alphaPairsChanged存在可以改变 or 所有行遍历一遍) while (iter < maxIter) and ((alphaPairsChanged > 0) or (entireSet)): alphaPairsChanged = 0 - if entireSet: # go over all + + # 当entireSet=true or 非边界alpha对没有了;就开始寻找 alpha对,然后决定是否要进行else。 + if entireSet: + # 在数据集上遍历所有可能的alpha for i in range(oS.m): + # 是否存在alpha对,存在就+1 alphaPairsChanged += innerL(i, oS) print("fullSet, iter: %d i:%d, pairs changed %d" % (iter, i, alphaPairsChanged)) iter += 1 - else: # go over non-bound (railed) alphas + + # 对已存在 alpha对,选出非边界的alpha值,进行优化。 + else: + # 遍历所有的非边界alpha值,也就是不在边界0或C上的值。 nonBoundIs = nonzero((oS.alphas.A > 0) * (oS.alphas.A < C))[0] for i in nonBoundIs: alphaPairsChanged += innerL(i, oS) print("non-bound, iter: %d i:%d, pairs changed %d" % (iter, i, alphaPairsChanged)) iter += 1 + + # 如果找到alpha对,就优化非边界alpha值,否则,就重新进行寻找,如果寻找一遍 遍历所有的行还是没找到,就退出循环。 if entireSet: entireSet = False # toggle entire set loop elif (alphaPairsChanged == 0): @@ -201,6 +289,26 @@ def smoP(dataMatIn, classLabels, C, toler, maxIter): # full Platt SMO return oS.b, oS.alphas +def calcWs(alphas, dataArr, classLabels): + """ + 基于alpha计算w值 + Args: + alphas 拉格朗日乘子 + dataArr feature数据集 + classLabels 目标变量数据集 + + Returns: + wc 回归系数 + """ + X = mat(dataArr) + labelMat = mat(classLabels).transpose() + m, n = shape(X) + w = zeros((n, 1)) + for i in range(m): + w += multiply(alphas[i] * labelMat[i], X[i, :].T) + return w + + def plotfig_SVM(xArr, yArr, ws, b, alphas): """ 参考地址: diff --git a/src/python/6.SVM/svm-simple.py b/src/python/6.SVM/svm-simple.py index e7699c3bd..852371a59 100644 --- a/src/python/6.SVM/svm-simple.py +++ b/src/python/6.SVM/svm-simple.py @@ -145,7 +145,7 @@ def smoSimple(dataMatIn, classLabels, C, toler, maxIter): # 然后alphas[i]和alphas[j]同样进行改变,虽然改变的大小一样,但是改变的方向正好相反 alphas[i] += labelMat[j]*labelMat[i]*(alphaJold - alphas[j]) # 在对alpha[i], alpha[j] 进行优化之后,给这两个alpha值设置一个常数b。 - # w= Σ[1~n] ai*yi*xi => b = yi- Σ[1~n] ai*yi(xi*xj) + # w= Σ[1~n] ai*yi*xi => b = yj- Σ[1~n] ai*yi(xi*xj) # 所以: b1 - b = (y1-y) - Σ[1~n] yi*(a1-a)*(xi*x1) b1 = b - Ei- labelMat[i]*(alphas[i]-alphaIold)*dataMatrix[i,:]*dataMatrix[i,:].T - labelMat[j]*(alphas[j]-alphaJold)*dataMatrix[i,:]*dataMatrix[j,:].T b2 = b - Ej- labelMat[i]*(alphas[i]-alphaIold)*dataMatrix[i,:]*dataMatrix[j,:].T - labelMat[j]*(alphas[j]-alphaJold)*dataMatrix[j,:]*dataMatrix[j,:].T @@ -158,6 +158,7 @@ def smoSimple(dataMatIn, classLabels, C, toler, maxIter): alphaPairsChanged += 1 print("iter: %d i:%d, pairs changed %d" % (iter, i, alphaPairsChanged)) # 在for循环外,检查alpha值是否做了更新,如果在更新则将iter设为0后继续运行程序 + # 知道更新完毕后,iter次循环无变化,才推出循环。 if (alphaPairsChanged == 0): iter += 1 else: From 3cb8b37cd0b11b8a880410ef9e38d3a7a3a6c8ea Mon Sep 17 00:00:00 2001 From: jiangzhonglian Date: Wed, 19 Apr 2017 23:52:42 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A06.SVM=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E4=B8=AD2=E4=B8=AA=E9=97=AE=E9=A2=98=E7=9A=84=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/python/6.SVM/svm-complete.py | 4 ++-- src/python/6.SVM/svm-complete_Non-Kernel.py | 4 ++-- src/python/6.SVM/svm-simple.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/python/6.SVM/svm-complete.py b/src/python/6.SVM/svm-complete.py index aed2e9540..743f096a7 100644 --- a/src/python/6.SVM/svm-complete.py +++ b/src/python/6.SVM/svm-complete.py @@ -247,8 +247,7 @@ def innerL(i, oS): return 0 # eta是alphas[j]的最优修改量,如果eta==0,需要退出for循环的当前迭代过程 - # 如果ETA为0,那么计算新的alphas[j]就比较麻烦了, 为什么呢? 因为2个值一样。 - # 2ab <= a^2 + b^2 + # 类似:2ab <= a^2 + b^2 eta = 2.0 * oS.K[i, j] - oS.K[i, i] - oS.K[j, j] # changed for kernel if eta >= 0: print("eta>=0") @@ -274,6 +273,7 @@ def innerL(i, oS): # 在对alpha[i], alpha[j] 进行优化之后,给这两个alpha值设置一个常数b。 # w= Σ[1~n] ai*yi*xi => b = yi- Σ[1~n] ai*yi(xi*xj) # 所以: b1 - b = (y1-y) - Σ[1~n] yi*(a1-a)*(xi*x1) + # 为什么减2遍? 因为是 减去Σ[1~n],当好2个变量i和j,所以减2遍 b1 = oS.b - Ei - oS.labelMat[i] * (oS.alphas[i] - alphaIold) * oS.K[i, i] - oS.labelMat[j] * (oS.alphas[j] - alphaJold) * oS.K[i, j] b2 = oS.b - Ej - oS.labelMat[i] * (oS.alphas[i] - alphaIold) * oS.K[i, j] - oS.labelMat[j] * (oS.alphas[j] - alphaJold) * oS.K[j, j] if (0 < oS.alphas[i]) and (oS.C > oS.alphas[i]): diff --git a/src/python/6.SVM/svm-complete_Non-Kernel.py b/src/python/6.SVM/svm-complete_Non-Kernel.py index dcc8897a6..6f2dd1dc7 100644 --- a/src/python/6.SVM/svm-complete_Non-Kernel.py +++ b/src/python/6.SVM/svm-complete_Non-Kernel.py @@ -196,8 +196,7 @@ def innerL(i, oS): return 0 # eta是alphas[j]的最优修改量,如果eta==0,需要退出for循环的当前迭代过程 - # 如果ETA为0,那么计算新的alphas[j]就比较麻烦了, 为什么呢? 因为2个值一样。 - # 2ab <= a^2 + b^2 + # 类似:2ab <= a^2 + b^2 eta = 2.0 * oS.X[i, :] * oS.X[j, :].T - oS.X[i, :] * oS.X[i, :].T - oS.X[j, :] * oS.X[j, :].T if eta >= 0: print("eta>=0") @@ -223,6 +222,7 @@ def innerL(i, oS): # 在对alpha[i], alpha[j] 进行优化之后,给这两个alpha值设置一个常数b。 # w= Σ[1~n] ai*yi*xi => b = yj Σ[1~n] ai*yi(xi*xj) # 所以: b1 - b = (y1-y) - Σ[1~n] yi*(a1-a)*(xi*x1) + # 为什么减2遍? 因为是 减去Σ[1~n],当好2个变量i和j,所以减2遍 b1 = oS.b - Ei - oS.labelMat[i] * (oS.alphas[i] - alphaIold) * oS.X[i, :] * oS.X[i, :].T - oS.labelMat[j] * (oS.alphas[j] - alphaJold) * oS.X[i, :] * oS.X[j, :].T b2 = oS.b - Ej - oS.labelMat[i] * (oS.alphas[i] - alphaIold) * oS.X[i, :] * oS.X[j, :].T - oS.labelMat[j] * (oS.alphas[j] - alphaJold) * oS.X[j, :] * oS.X[j, :].T if (0 < oS.alphas[i]) and (oS.C > oS.alphas[i]): diff --git a/src/python/6.SVM/svm-simple.py b/src/python/6.SVM/svm-simple.py index 852371a59..990fba0d7 100644 --- a/src/python/6.SVM/svm-simple.py +++ b/src/python/6.SVM/svm-simple.py @@ -127,8 +127,7 @@ def smoSimple(dataMatIn, classLabels, C, toler, maxIter): continue # eta是alphas[j]的最优修改量,如果eta==0,需要退出for循环的当前迭代过程 - # 如果ETA为0,那么计算新的alphas[j]就比较麻烦了, 为什么呢? 因为2个值一样。 - # 2ab <= a^2 + b^2 + # 类似:2ab <= a^2 + b^2 eta = 2.0 * dataMatrix[i, :]*dataMatrix[j, :].T - dataMatrix[i, :]*dataMatrix[i,:].T - dataMatrix[j, :]*dataMatrix[j, :].T if eta >= 0: print("eta>=0") @@ -147,6 +146,7 @@ def smoSimple(dataMatIn, classLabels, C, toler, maxIter): # 在对alpha[i], alpha[j] 进行优化之后,给这两个alpha值设置一个常数b。 # w= Σ[1~n] ai*yi*xi => b = yj- Σ[1~n] ai*yi(xi*xj) # 所以: b1 - b = (y1-y) - Σ[1~n] yi*(a1-a)*(xi*x1) + # 为什么减2遍? 因为是 减去Σ[1~n],当好2个变量i和j,所以减2遍 b1 = b - Ei- labelMat[i]*(alphas[i]-alphaIold)*dataMatrix[i,:]*dataMatrix[i,:].T - labelMat[j]*(alphas[j]-alphaJold)*dataMatrix[i,:]*dataMatrix[j,:].T b2 = b - Ej- labelMat[i]*(alphas[i]-alphaIold)*dataMatrix[i,:]*dataMatrix[j,:].T - labelMat[j]*(alphas[j]-alphaJold)*dataMatrix[j,:]*dataMatrix[j,:].T if (0 < alphas[i]) and (C > alphas[i]): From 11a3822879fa52a59b5fa34b411ab063c3aa0791 Mon Sep 17 00:00:00 2001 From: jiangzhonglian Date: Thu, 20 Apr 2017 00:30:48 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0SVM:alphas=E7=9A=84?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BF=AE=E6=94=B9=E9=87=8F=E7=9A=84=E6=B1=82?= =?UTF-8?q?=E8=A7=A3=E5=85=AC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/python/6.SVM/svm-complete.py | 2 +- src/python/6.SVM/svm-complete_Non-Kernel.py | 2 +- src/python/6.SVM/svm-simple.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/python/6.SVM/svm-complete.py b/src/python/6.SVM/svm-complete.py index 743f096a7..a6f5aa41a 100644 --- a/src/python/6.SVM/svm-complete.py +++ b/src/python/6.SVM/svm-complete.py @@ -247,7 +247,7 @@ def innerL(i, oS): return 0 # eta是alphas[j]的最优修改量,如果eta==0,需要退出for循环的当前迭代过程 - # 类似:2ab <= a^2 + b^2 + # 参考《统计学习方法》李航-P125~P128<序列最小最优化算法> eta = 2.0 * oS.K[i, j] - oS.K[i, i] - oS.K[j, j] # changed for kernel if eta >= 0: print("eta>=0") diff --git a/src/python/6.SVM/svm-complete_Non-Kernel.py b/src/python/6.SVM/svm-complete_Non-Kernel.py index 6f2dd1dc7..51199e534 100644 --- a/src/python/6.SVM/svm-complete_Non-Kernel.py +++ b/src/python/6.SVM/svm-complete_Non-Kernel.py @@ -196,7 +196,7 @@ def innerL(i, oS): return 0 # eta是alphas[j]的最优修改量,如果eta==0,需要退出for循环的当前迭代过程 - # 类似:2ab <= a^2 + b^2 + # 参考《统计学习方法》李航-P125~P128<序列最小最优化算法> eta = 2.0 * oS.X[i, :] * oS.X[j, :].T - oS.X[i, :] * oS.X[i, :].T - oS.X[j, :] * oS.X[j, :].T if eta >= 0: print("eta>=0") diff --git a/src/python/6.SVM/svm-simple.py b/src/python/6.SVM/svm-simple.py index 990fba0d7..3d188659c 100644 --- a/src/python/6.SVM/svm-simple.py +++ b/src/python/6.SVM/svm-simple.py @@ -127,7 +127,7 @@ def smoSimple(dataMatIn, classLabels, C, toler, maxIter): continue # eta是alphas[j]的最优修改量,如果eta==0,需要退出for循环的当前迭代过程 - # 类似:2ab <= a^2 + b^2 + # 参考《统计学习方法》李航-P125~P128<序列最小最优化算法> eta = 2.0 * dataMatrix[i, :]*dataMatrix[j, :].T - dataMatrix[i, :]*dataMatrix[i,:].T - dataMatrix[j, :]*dataMatrix[j, :].T if eta >= 0: print("eta>=0")