From cb412ffee461a6586d8f9d584a584d3acc0d8478 Mon Sep 17 00:00:00 2001 From: Dominique Fourer Date: Sat, 13 Dec 2014 19:36:26 +0100 Subject: [PATCH] New Plugin for multiple F0 estimation (wrapped from C++ code, see fmultipitch.so) --- timeside/analyzer/labri/fmultipitch.so | Bin 0 -> 348856 bytes timeside/analyzer/labri_instru.py | 2 +- timeside/analyzer/labri_multipitch.py | 115 +++++++++++++++++++++++++ 3 files changed, 116 insertions(+), 1 deletion(-) create mode 100755 timeside/analyzer/labri/fmultipitch.so create mode 100644 timeside/analyzer/labri_multipitch.py diff --git a/timeside/analyzer/labri/fmultipitch.so b/timeside/analyzer/labri/fmultipitch.so new file mode 100755 index 0000000000000000000000000000000000000000..f9765b15c4889d57e8c874a55e56eec46b891020 GIT binary patch literal 348856 zcmd2^2YggT{-10D1Vju7h&@zM6tkO(dK$_Cp&62Zh-F!JH(|pj8+SJ$!4?G(6cKw@ zKveMTU2I^(Ua;4*pmJDFJ$wCsXWq=tytnhVBzS-K!|>j`>Aya|DLK_WWqejv77@Q} zl1)Uc2p{K7?ZT3ZNIuCW!^t2rkaWctnkE7(fI>O=MuRAiSN6+)Ih)YHYRWUx+uzG3 z?Oz&UWj8{~dk|JHLAnE_hQFUphJVEaDjbeL+ZAmTAuhrYe5XOARelolkGngYi16;7 zgwP<;rz0KN6MnRQ`l~{^+P`*mhz6RTk3j3`i;#^lVcHDR*6p9c@jso_{nR0sUU+}Y z$v0e7zT^NTnSSVQ{Fjfnz2Y$fm=aQ{#QWfVz7o&J`-MuJrf;ysH(BCNr9qniAC~w9 zO1wAHuTtVP|1FkyUy2m|qveImL4!=#7aG5{J5R)e#&-dJ#gE3vTjDb;@oz2h zhj$XCjrzW{#4j0cPQSqtzuyvnVVpVtGt7MaseKHD6>$P&NV5-&U7 zoWI%-~s1euO3d$wqVfs7KB5*Ddk2Pngq-o-)Vxf7%?scZ)gR_ce3;WF=1f z|NWaXoyLE9U&bjs&-%a|_kAeiH2-Ix%Q(&d;uq%l$CmgJ-juNl^kbkee7icBp6rA4-FGMCxl#w&g{M=6d+A{^J{j_R(HaMN6y2cpZT*OlyRr-$ zg~lD=@9Up&kh#3PZy!SLIov_MbnyKDB4lG;HkruNPwJ6H&i~E9Y$96T{~XnEvcBBbb4&domo=1p(g&hCyD+w97 zOvd{UBV^qa2icG3pB^RT(~BLj*^K^P33>L#&}>50@<7sy%zOnl#m?DeFi(GX1$26y ztZ)1p*i`R2VDTB{*M3dNOS@;25j=kTWJ0zzILKis&eD1pkcAb*{@l}Lu zddoqmTA}UNj3*>k?;v=v_y;>@kpaLz$b!XJoAAvZ2@ zkUe?&&7hAdpbr86zTp4Id&>A;{eiC{2WjB>AN~L~=qw{ld$u3oGR#4!nxy^vd=epNgdC&~=eNUA-!jyP zY%G2A1%yPvZv%P!*6#^9caLmx43BTS5b*!en49zlGcQ?9$bfeoq=2W_gFb%)eICi< zhm;d?CFog<=hsbU{+@mu;%7?wy5|K#mVzI8^73=1ApHafS(|0_ujp>jkHX(qgV9c( z>L8^&|HA;(Q(g(rg`mGZ91o zVa~Uun}fX2)fmrt;P-*xcfr3+w-b}RSW-*K?~so|p5-10{#V*xeF-6pAs=!u-rj(6 z|NG4R|D%tPZf67Dyg#e!37K=Agm=SA$RC9sdR$G&!%sTM!5rS3-UPiV{Qk%QGrwN~ zMt$i5DZh)MAC~scj?3>)9*2BU(V$GW`|+dc(m|es9P476PBNeab&8n+a*W zT3~TS^y&8MN6!00u^nXWaz-`>BI0;Q0gSe_!-p z(EB8dya79qci%&2@asc*kn@)lQV#wIAWqwRq>PYpKFOa8S3$l*9-~^8?);vRxAv0q z@}{+BdGPyvgsfEPVfAN(bnl-{cIM?{;Fk+Q--6zTfezo?&q2VJtp0uH;|2OSyfjKSld=%~t%M?jE00r@Z5Tl8P}G|+!1 zFW(RPF(3X8O5X!Xe{%ja(4Vk}j^*hG|3paZ-r3|39)B9`?RB7oM0va`I{w3HvcK(J zp>H9N2eSHlksj!8UqxOYbtm)(=w$>izccjNFN(dg1Rd>LDET{h2J9J(AD`KHOM&<@ z*jEsPEZ!CTdK>inU>?5^@+Js-Mey5bjOS#GN914dDs0qUgKNR?ay#O|4RmLH5qfv1_znW)5m}xS|>~VehxrR8X^1FemV5-V-B(z`KkV? znLx-dz=z=X?!(Od6yA<>$Ui|3{{p?J{B;QQ<8z9=mA?r51$$iZ*Da?IvS5{Le;xYw zOsyPG;{}Aw0<#JE(huq9kCXj>=0RfO&(VdjFCf1JeY63P|LN@@F^C{Kp1VGR{hTH3 z^*jLXqv4Xj7R`kITqODHw4*Uy0Y6jzqVnq3=Ll&6{{(payk1%4b!Ghf!QNPXrtII_ zXG7l{BEeo^Gx_ftU+QE5-@_5$Fq z@bmLe67p47NgvBVUwr_N0$$(NQbLB!g}uY$?~H|f2uk>F0HZ9QFX4X~^p``?U+5aS zCtunVk6HNnThK?9!XGzQf!|M(@_gLQgxtMN>Z3dm@&oAKC%iwCj)ERrEcNyK=+AHH zkHG&6*^svbrTliIy{Eu$0-mSAK3nCL^O+$x5c19k4ssOmPx05<+svPb!5%1AUeFErKS0v!$v#5vI7{;9LF>)@*zX`hW|qkQh0Y}8Tgcab ze7w63HuK}ru>X2I=^%F@ozm+iQQ#Bp590Z!pGe5;Yh--`kiYd62LYS1@m+8Qd*o(*CLP)Revi;HbV*KFeGG6|5#8v)2 z;~!@J%{m9;cggupSI~bu?0G?dmqLErq43Xj`$pRuTlT-{UkmAUXAZ3OZ+@_G3+tu zlhM4r`ptyw3x3;=$NxMFK7B?0_X5ApeBMDIMi@TcybAL2aR<4Mw|DF(#3V1S0->q$ zVcFdTbK`7M%*#)j1AA?$#9!=4Ge2(tJsMqBV1AAj6^ueCI{r5mvsyz4<kX(vuwX7==I{44Sx>h&%i$kc^dR8@OScJLO#A;;$vqJ-ZPM2 zAQRT!L6Gmcu#d!ehKwiV$a+a1n_oBEA6L#X`%}6=K8-n1&j0G6KUMki4hT(^FYBj) zKGA;xpI1OXx9uzGXA8!63h;%`tbda(H2at4%r?uL!LI->zsmXd49IiUKeoUDdtsoo zAAi7jbD&SarmX&Mr(*uQN{)ZaTabTPZ_7tIm0t%>1V2N53i#AsN62CSlJm(kcF7`R zFrTjG^__g6Szg_a{tW?s1-&m^hWQVaKtGH6@Sbts{i22+kWxl)w^Fc-4 z4T1k`B<9zpJpVVRK|ic^#M>Ww9{36JRKV|xYaoB#bdWQ6{yWDIvUQ#;zwHUkpFzJO z|L@-eK8pRkd8=8z9Q8OMhhY9A#@qa;dH%i=_(_#Fqai4lWBz$CZ-0OA`vKs0G5!g^ z1D^Y4les*7(&3mt)k%GO;yl;`=Su$ld@LbPLf;nf{LjxIWXUX*@?HAvJ~$n$@4q*>k^iu|p}FX*L@W&XSzf<=`l72xMGj8EjR&xUjn z(od0Ba{#}46n<%c81U#K{b?(}Xtx5M5G$A+S40T84E-I))9+nGh~`d{+TJ|!4fd;-51I7&tiTt4C4b? zvHCxOetQ)9P1K*;2z&AZ=^wua{rh)U2l+ShQ~vw_{H)50kK19ttd{&7JcN+VemQ^M z4*9SM`dHMz2=dqUnuEY(W9@&6_HMaQ+JoQR2l=SXPu6dS{7~jcr$JtpgZ>16_q_o0 z^Ngg|hu(%ffWOVj$2W5n^tDgIV;kbXAl`$gf3wysU$Q=eyin$su`95Cq}ab>pCBXz z{UGYUw|f@Jf&LNnQwG7;74#|i;lT%BPeLCL=IxFAFZ2oMLCD9=(C4o|>ma?e40tRb zZI&lzqoLI^Bs^aO;&%hSguc!~x$pOu?N`A5yBho_;IkO^>V1&+G*0DxZ}6Kcf5PC0 z1>gr^fB&~P>=maY?$3Mm0JHo#{6WmeuwD@6;~4^YEmr2g|M>y-JM0B?gV_u2Er18~ zg&6No=+AFT`nc|ZkHQb#Cc)oQDg7Zog1?6=^6ow`#z>?K{_ir6kmsQf(G5mVd1zRb zKVMym`S(kX_GiM=px?kItiFBfu;&K$ zv`8O}j;QkKfk%*Ekw;m_nEgvXq5dzG`VZU(>w$+${#^7LAuYc+;`4#;zrcLBukMm`K|aAA*_+pQ)}=@XJq+XVJK;Zl8~#VZzmuU)XBSKV%5@t+7uk~D`=5#V$PLn; zQoI84Ws>awXBWf1dO?nNC(uvmSV=z{An)oS?*#q0W}D^HuNcpNfRCMd|GvWWRlpx= z!Jv*o%0;_G$`Zi;RL*EB)^W{0Q=%A2WbaiQ2iHzpt)F)cN=?|{a0JZnEh1` zw*VhkNO->hc~k)UE9Cv#d-mFPC)FmbL9Nvw=B@>*IA?z1VG2zd>;G( zkVlBJ^4p*8ZJUuQ%974ZBYVZQ!-em40BkN>v~@VZ*k|4G2d zmrok&TOuKQi;_anDqK7{q6 z9=yHk*UiKhYnt0lio1bwON&F{gVnty=dkEZo6+GOU(hS`KvFOl-$r<^P@ zaDQXJ1TcY>66j-O#)f__~*|0S?jpMyPG%HtC~X8+Q^*AU`)SI!rI zdl2j4(0_t|KSBPtm&*PhG8}sZG5-_rsHii`i^KbXUSUt}$J_hmZ1}%mpEmG#CGg(| z_#emPm!E51KlmDeFDaDu|9G@nzI+JASye0L)1koMBd=h6hS#?R^q4a&o9)4-_}?4- z$$|eE-Ddd9J>2YH+TbVTh~;wr6_x8JBFF_s%c8W-&s^}M!2eXVuloCT z24U@Yvebv&$3VW#lk|HM=;eCAU(lCh0U<-7pCFPMJZ`%e@=>AJhfV_iuaWbO(J=6O zlt_7V<|}6T_8j2VqQJ}jE#~Xkk0a>s=;Kk}nG&8@Iv{iMrF_^M<@Z8)H^`6E%^blKl|pr^-ye*w?&m~VJOlD>9X1^$G8 z@MK*-L~E%Vu_Cxm%(2M`M(6| zRKDJDGyIj?Bz(Wx4F5j#6Uczg*RBEnRDaZ2uvcGI^yByEfPcqH{7wmAKLzx;!0*Ce zz#odd8(0td4SNu1VEtQgD)v*s9t2oe{E8LO&)_E!kIsTW;|!^9^Rr+N!rpp-=O2mj zy}3xH|9X#E-qqZX`2y^vIXwUUkjL#<{}c4^%zUhe!5IWK&f5PB@cH0&2U!GwQ~1n= zzE$PbaSvnu^oP{9A3bK4Pq+R7euTYo2(Rxv=%05n{}A+W^AUtJ)H&k*%Rd4Cp8)^< z7#Ef27k>hK3;ZqQ-DK=<_!RS3h@LA*cb zLH_~%04p2MkuPEY3*^fwJl+@kwLZo8#CQ+;2=*@cOXNR&0rvP`CFciAAjljFe?JL& zRQcy~*aJNYsBo_!shJPd>hjKLkH0_IV)&HWU0S(#K+cs``JXIzVshjrls27tQF;M#cX> z4DwOk4_mks{3(w(NEY~=<}Y?*y`^5#^Q+s@U#0#1APCj<=FhH&e*8er-}?5zd~<{> z{|D&dDbT|}KAxeo&HVf^5Z?p#x=5db`oDla8qV{-GZ*av|EQMX-}O55gCc+0ppRdK zJ{IL~$_76S#(opPfy%GL&jx)19s<5g&IkUUmhsB~Pjx;1*>BMvlrXx@$`=6tDnIY} zDKe-447$pimZ^Yo${p>MZ3$bCHi zMR)91IZ*DG`40&31@Kp?=nwdRKFW*so*seqI@nW!f7T=8UUMb9PJJ2n0Q9w>=i2pz z3`Tnb9^0JQPd`J#`>2PoKk!=z`5b&p>7fLGI28C3?Txz@^zg3SPx8w)tcNM{yLFH^ zDnEX{2j(NAq`a%%WaiJlkT)v7O@RD*5b{vSpY8i#eGT$*5FdZz_wdg_e~bQm`+%N6 zF9QFAAQ+~CzXktqK>4+!W%~zS0e|QgiH}dAFK#+t%Cp={;ct0Kj(6`6Aul6cw7>Wx ztOqOd<$!l!Pb&6JHRP*G|2+W56}vcy7xYNsIiME%)nJc+3{WTbqXK@@06&4BS)k7* z(C0{=zV%_qj~@;H0WH6>KlDSfwAc2Jz#fPE5coM2<-*WMyYupAU5NUhb&xZ8d@$tQ z8DC;O260;7g2&A8z7_Lxbv<)^8^#M`7-(euy>m3=?>yPRP0z#swzH)7G8mFx2qA%w zbAjJqAWsFq{Fra%msmUYp8{V)dHw%ghqIv{OMSdc&n%O_rprv&tI!X7^8E8*ZymT; z>Whl^;ZMYVm%VxVOwj*t&=;cpGr->qF#mV)^gZBz->UfIzJ-2K`Q@?Q% z^65;8zxUBU)qnHDu~^STy5R2%H^Bdb{r{7B`7ci-7%hifJzx8zN?^z?^ z0e2Mn1^fUp$Hwy;I(E=B$bD`od`~>ZP zi}nk6{XYSJy90lMp7&i2e84{v;ORpz!utAil0W93fc%R7AMy*GPe^|HG%JgQ2TFVT zvroalu*YFmvhnem}gFN{N z@WPHBHedGd#p6Ja&^LmAzMKX8z&;W1dIN<11>`Bv%IfK{}$OrjwFpr;l3#OCsM^JoIf5ZU5_eur6mj(&>7yMC!M19wRe*Y!gzvN@= z2ZVo6^lwEz)}JQH{53EnTd#MpbKq3o4t^Q-D*QbqyuOz182<=q&u;)AUpY+9zxJPs z@xqvx&GVlO#H##!R2cK`3njfAP=@tk=wBgU&UqI49QwDAmp=gmIcl|jscL>j)1$>+jd!{mM~7Zky4 z;6wC3a*%mFvp3|+^&~sKf4Ua_@%!@SeDfIS&uPOYK1a8~{|x>*p7#gjL#_aS3wrz> z`uF$=GXJP`gcL)c2>jgwdhb&r;lCF0S3OVC593$QJAI7)sr-M@O7nTAyFfojK))Y} zeo%cHfxb}pJ5Ij@^zx$I-@Od-Qk4hqR${)tK-$m$L`Q3vNd67|hWV@FZ?3uw_8{z& zC?EeHUxR+&Pa4bPM`M4+;eW{a%ap_5kFJ&U_!Y+2AO0PniSg_De}I0GF5q|M&d_I& zS3*AxSq*vqwp>ry2L8JO{0FqM@()geeWKKN*1=fst#ZWu4L`ns^D?jx0zAJH{QLy? z8DfEzzuF7=4SMd!#z%K*9FQ}H~_pdVBN7Dh%1E7CIedhxH(|}(p zPbj}1jPVb{_&^pc{&NKWX+_@Nx;yqqK|X;Gat2m4gmb3@=?SI=**fkIN}*OLH$l|Nb!H_xZ@A#Zy?-iq<% z&Vl_0c`V>{80;hUJm#+LnD4_r5cr+x$9!SA+z)Ur>N^(o3H-eR!L81}J+OzqR_vkP zKSEzC>m|jQA6LPi5aXNSGtbXQfIeS-$ieQ(pzx{r2=XsW&c{#O1@ad78qVR_=!E>h z{6pZU_6WeEPSWFC(CbaGH^q2j`(ytp^qb)SH=$@|K|UYI>)ZMn=v%R;|8YL_1N5`N z-{@7Cf4wF5JH7zIS`2!9KFh%WZJ_UV(D$CazFu#d{g+>4!#*4)?d!-@;Ahao1mvgV z9k&_vDCb9pA>lRHTSIw$%@vTpkmmxQeIQS^EAy*U?}L0(__r=Ai?{|#d3XlOtNe?p z82R|eEHWK*N!x!2h+8FkeULxg7F5vU8ryOy6q5$oy=bHw0 z2fd7t^5)xjF@D(BBYAzF0&c2(6>7kKvI``AZJUPu0T`cv=ST3@j8y1n#GU5-7f+lC zeq1N%yZ5c|_r5CW;c(bL>i&!`Fj0K@D2cy&!9On0kD%`(Hp1SAKW!}U?;i^=Kf6lm z`{OXamoPrCJ>&mh_cNbADlWi!Dg0}q{KsTchg^d=;8D%fdqG~S>qp-niGAZO zs1JCd^6%+8FkevMz4>SCe}H@v_QksoK>z(I&)?18WaigxyTQL%D&^rPqs{y{q&NIU z@W%>yd&4{MH!1StLyWHh;}h_@9gJ9ZqLi0!LH>OV`7HSRO2~^fioCcT_QHpi5}!9< zd@8>LilIM_miSo@dA|Vl3HkEmAy|*|%lKD|;orVq?spxG^cxTU!`^)_k(@w(rG{!6V{iME_-xNxHI^_!ZZ#Ou| zR@6`V_2ZjhuYZdDe~43jU3W3)5%x303XAUx`27NV2W-URQ^0@feF?k3FjLpl1~sES z@b~$U3$(r#=m+)wgg-FeK>-QxS>v$3B`D!L7Vy3i@CF;O@;5`!J`VjR{lHe=s3|>C#`d9`bW9*ehUbR^Orx zuxA}|etE;A=JQ>v@p3utx;_@BKLZvDiNkw6gvcL*6Wh{Uh-4#&Xz);5VR|rLV7nemYJ1KkkMhvZ=p= zfJ_*DZ5aalZ;Hh49iYc-jAu44KjNRTXFrkh_M!*P@?d>F?1KrCo*n@`srM}$0(qiezSiil@Y zi>E437mUUNk+C6fG#ZE!&+O`0p?7Z7&)$lBfncbX82^jr3TR^uMq@O4acw9Zj?@zV z@OYZS3xfVy7nv}2tfy#X!AMr1&gb()X(6Z41~U0EB9t%kctUmbwQ)gxWecAEP-ROs zMm~F5b*$7EZfFVxS}XkSu`aitcFXA;KfdOuvBvj$Qd=8a;A!xNLSY{gQC*vXob)1uEMv%x!!2d=Ltt+k$|_MqQ+BG;Bi-%cnq-2n&l}RSwzPd zjrn~eM#w<|5|Ie&QaBWKSB|f$4p)2Jtie#UBE80ZHE62XQ#qM-)G{_FADe4@K_D6n zHq=DC4S`C3Fj!k#OG%=&)zcJ+M8g#Iu{KXj0U0}M*61-69*TTcTS-g67Yj!!YOB2! zwQl!Vr<=lZnzOJvScg(I;c#efxD~*oHM<)Fk-9cF8X$F{@LX@mGwsNVYPY9GQ)JY* zKw~%<4K~)%{PakcfK1Psdjo;SE?pg7gCHmonxAVA^+%5Xkuk` zy5(zY>oaO^93Q%@zmT?u-T>DWFzAho(br^smZB)wi-FHshLT_sU$_wz)9i}{!;NKh z2r+y&!$57rTP@qrH<7%L!B%%Yg_es_d2=jK?F&Z&tbsH@?!q7iR>!%=%$Pu$BEiO( z1%zsM3&Ao5wdgxrJQq@;(Ev!1H|j%n55^x2M`ElR3QI5^jaN(?1!`?xeTF1QR8}!Z-;cP9u~A$0U-VO?6zV=F` z(8JNH#e<4j6E{G_QNdAC9q>kc^Tv7`{XxGs7Ko8LrIN~ z1Wt%IAnWG^sy!9&l6mQ zQv=?{F@WSzL4R!CxIokw2{u8NQ5+CRXKFM#i^msuVqs4uHM^!(jH}R(&eTt8@+ke} zt(vm(t#+S>qwm6Cxa4O42x&P_F7nYNRmRwKft6XaN9&m!sI} z^2}t`9h6=)5I6DS>B0^Z`YoQIFX$ZQnd+$v#5^@k9%eXG)y&$ej+J?UKp?WMqO!J@ z2|=f)3IdYa$wn{rb;?0nI)hQfH67%NzO;Rhz#;k~sJ9*!8zzDxus95)E=o*Ov`%%* z$I8J7~0t1e3BCl#UW61j$Qj$t!u0 z9Yl3Djl>NNvpqv&(6$Cij-?h2W99^sR1FG=M+-{SOlguED+19$iOZFoxYXKZ7X&GB zO)nEHedFnAcB{TV9nqH1rs#~?RfCG-h#8$%~>dRpUPH2@bMl?8Aq@tFuSS+7!pSQ_N4K-l}=%~+C09DR)c)$ZAm1(ckx(j-fO|;Q5yw)>)rB&}L4LJ+Z zm_HzzGm4@VreaiQrfxL}^-RNLxT2DhP$?`*Rba6Oq*>Al2Ll~36+~sKAQGK7JQEO% z29_W<8BZrM5JU+8P%WenoxZrnlf`OI+l3ik`fc9c?n5OTNy*}c$-_@3ZisKt*m8>6$uTg3J_vJKO@&?5<*29Ci>Er zbV*R!ex{rNC`Os#pf;vhvRX>`nbeX7D=;!uAWT^yqb4$Ej?td#aUEuklzmgZ!i-(4 zZsAU|OGaIw3}o#=at5L#Y2qQO^AeXFRLaeiV}ubIcf&{$v$Au&sVmTddM~ZiW|Eyb zcVybRdd|+4hPY{9%gG7pf{D4ZvMp#yw+BVg1d3qQWQ!x1_do{Wy;6ai50o4)fhTYrO^_f z;yB9^J)kMoy{=YhYSk>%4%|lWaVMf2vjyAwV)i7U&rg^7s7aWBYkbvXJ4HPyi9lbT zS+|B>PMFr{OT>F_YEeOBqC+G_MVZr)O@(m@L8tEkFk8+ydRD|WbcYBmWpk>MuC(|$ zwX|o_b|yf^MTxh9Y0h}uDq50Mp%DSBF2nh$?T}Dzc73V0CvZ{J>XfP1)3L~IZb{Q+ z;TqNU*M9T{zQv9P$;M2=nu=vkcdWRiGG&%#w8|I>eAFQ-vsA8-FdSSUWyPPV1&J20 zM!#$XxhRo2AT*vuqoqy>a!sx9SDFPm+j>Yh{`kCD;^tcs*}fptmq;LnbzZihYj0>! zh`XHys;cGUm&rm;1KloUEOn+-ZAq|)9V6HT=$R^O!v;KOq1cOL%(CI723C;~+Ys5p zUqiSBj#O90l(_{dr;L-6v~G21I_X{#Oy>=+fodnD8e@`1xI5Dr0Twb9$T9C^dLR(& zqXU6(a=J0!p#y-(O-5@nJ6i-5xf6AhFlEi+NX)P41}a+#tSy?9;Y5iP1JElHj4{#=2&2#2@f`Sc}Xz*%WLE@2GvJ zY#l7#=CqE3rzr&gEuC*ez%bYCU+hT*c+iXl&tLDlO$8gx?idrz6f$i~H}Nh2MzPyS zE~CK&3qmKs{ zY3?r~9|{bR56(zsL_R@ zQLJh1FG4W|22hN{Y#E{0ub`MM3Z}3SH3L#noWS#PD!_d{%o>%>j9Plim>IH4!wEZ6 zgl8&Q9SxMx_E9jOK_!ymTH)`QVJM4br+?mb7kX`TN>+gU#8v#C0uV&JjLRowp zCuTy{A?w&lx87%1-G(m#WLRBn;YUp}M7@m`_g2{> z&!(Umqws>tbrv&D3(PpRsgC*FiW!;`$W&hh*oDo+tTr?C0^J-1IJIIq*<>7dq-2d; zhEbLA$TKGueJ`XfgZ|Rd7z>50Yiywq>dKae0M(3XC}lT_SvQISRJswGJ`Hi@=6j2h zkQcLNg(P4YOiBeTJHxp#QhOxGCBI~O%+#o?`I&oRkuR{==q$)azA)onP7M->jN9aV zh14J^V~NYYr)=Dr6ABsy-<6rT93V~k z1laMVKx#A_fJ-5u>)n|HO=mAF&fX-<1v1H)xiqcORYQw_rk8n8RRj(x@Ko%Obv?Q= z=PvbBvlT)&cJmu(~tYo#*107a!-UrdTHfvMt4 zU9L<4dB*#wKnDTVP3l20uU4X8nMev_6_cJ)H#pu5M$X%8V}qQ1*>ij_J&u5r%?8IVpj~MHl5{yr#+th z8R5xq!BfWNisAW9b0JevV8)T|uqu8+t z+EB`EjTS+tDh9h#45>T`mMRrvrXeVo2|-QF%i0j|2fdBB<|`8Y%i!U1s*8p3wbaf4 z2gbYtAAx|X$y9<`=N*9)k{*;v^W+Vs9`hn%hDuDuEj@N<2zwm5;U^UxkF4n&PYQ=KVjl+@46W|B3JBahbHKSe6wVq4?^op;Q4j z1EI=kH13)xYw)&u;n@8<0KnB7oRy0byF(?i2lw3QCGFGiBu0n%^GGh3Z~h`hSg*gtQu2R6A|-z)3){c z9ci{2yEg32R<6^meX{3STA?@@kuYMZ4s}}sD>V+&q$a4HZ%NpX%&(+3J?-2bq9}89 zaMRNQ|KN^HOI!T^zP84W^!Rz(=akXePTx++E ziAxr%#6(e1W+vGIO5V6e;9WMjheCrBWxoRU)G*(wGB?3m#0QLA8mS5dvRIkc7aJQlp(^ zGq}Q7I8TCPmN!$B(n1OX6?csufh<3kZD`liMwfjfHpsCrkOnHOH+)$4o{M!&?ix~P z%_3&7vS|{I;sP#(l(gz|vPOR<98=uE3yoM~uq-rMSGZF3+5&ThmECOjkF36w`2h_% z7+=|A>w0tn4Q5zL1oyjz8$4d04>B@-r@ANRt#g-&)j;qdZIYda=2IUWIM`8jv(d0irD8oOe^vWa*(;_DR`8Eb4TuhZ^;+JLom4!8(ZDj+RWhdqVN` z$7LP+iw^WK7%pF?jcFGhP`U1uKhMh!9kY2^a;ZcKhgx}TK9o#V@jO^TOrJSZ+Hv5&d7iFhSw4Qv6r!pl7bbgQY*t}Da*EMVQ$#)#`y1G+C-f+#EeP)>x zvd)VBAAnQWtl2x?ad7JDP7O|-3(}5|H4gm*%dS2>%T74vQ|!)6%d*q?t*-L-Z_9 zf?c7YOj}P%%SACr;PsUS`zlFMrlw&2> z>%g|d^4(ErDU(AImWmbPhi}nzMnd@iV23NG2E;Bu?qqbPax$8C+|Q-glfYkHNw3|2 zMO`gU8qh{G_lYvFSx=c@-cApJ8GAGU8D(#OCiqP$7}Qx^(7fx(@ay1awjGD@l-*I! zoxy$92^vV*lsa+?Rdnp+Ohzqod6z;ViD@mCqU~oyHto_I8V&KFkWYt1n@(_=CyYir z9htJ|>P~Ix>C7b921&U%9T~GR;i_z{9sFmfWt^DSzm0d&WuDi)tpw*ZM9re^adJ0Q5-w&v?W^qzvw7VDcW^3(eml2 zU5+Dmx<)dZTWEJ%><~WH)|?)rCgq!YIms1#!=$~3{k8bcE~}@UCepu0PFI=fq|Dt? zRm09RH3S;ynLf5#j!q)e?~0AJE3ZUQ?fR568qqm@twwjnl?oY=iM~Q*>yz3|%Z3*w zcDXpQCH~CKS(`4&%RR8=ro=dEMm_o&*r8e@o+`lfObVK_bGDwg11Y7r%`74#JZnv2 z3qFODA)|_Qw!NiZhAacja(bAqY?K?LY(#HHy|pn{P20pe1O}Z!_Sb;H#%Yro7o@%nofFHkY)f^-3_bt!)usUI?7YK+cm_V zNpTI4WKvuM2BkPI#t(+0>}r{!3g`xTeWdyOICkMN`>Pnki`ZA49ukdS8a!!VS5mYXlM4I7VpwreW1p3cI1Nk-jHK$fz(T5gqKhd& zDiLBo1c@j6JaP0@$HEav!a`34^wE(`fyRcgKTyplF3i7-oAd*%9`D@fSU>UMVN5fX zq(EyEO~S*_PNlvuD?=&J!aeu`3n_ko5`X@4*I~K474+6p#s~0!>rg ziOn|fkLD_H`${BW+-~A5tF4VK@L(YH&mS)cMsW_Ja(s)g3IL+YJLvO-YojsrzM;a0 zZ%*GlT-6ebc!RNMg%5|o>B3@S6&OFS8TY`dH3yZ7gXvXlssR;`s%(xO#X6dHFBv+* zg-y*dw~y8^A;4=$w>PYUU}0S#W}u{q4jGuPXE%S<%w%zziM@!+D~(8jQbfoqmf|cJ zOaExb=uoh(5tn4DR3ZL^MmQ8T{t#s~edE{3vckpHfmm~sr5Lv=ScW3ND8Np<^Twux zy?z63N{5^U)!vps!e>#t-`uVE2%QB+k!jurrH!&+Ew72eD^5X45nU7p2V!WHy38z@ zK_$h$P?-PK90LVqVSQJU5_7s;Nm@xlS4!Qj0bg@0purVq9G2|y*D_O=VXFk#4TD0Rx4NuahCBExNnl_q4Spz%apK97@0I8jjsfTg8LC|u_(Fo;TA{jXQC z;!0F*2;e>?6oo;euDM~>8EEv*4Fx>G+KO3Gs!-tb3gYxwV=Pb?h*aQeOHA=vyrJfR z+waET5MqCOUhKmtYzi-^2x42AqOYhMGZJnH#{wP~ieu}>G#rXY2L6>^>#J)CpJh|= zmZo9bNCldsC5qXbCR02&>M*+2=w-JrTh9GD3#Wx4PC_jqcQh7kz#*%k<&P^ThvX>c zpQYPkq)BOQqR1bJ`sg1*tYm-f3XW@!amO-%K;ZB7HMLRXS&EH9ckpKgTZ0gfe&c>W zOAe>2D&UPqA!Hi@jbItS-?*;Pl5JG9tuZ#Q8h4S=(b4-C*iX}BS&KJxg$q1>C+ah<5w^5w$>$RJs$>2Z7!ry?04*^)4k$%?@HtZ(09oh-Ur3Oe z1Kp+~A33PKku(RRKy53=U)O4&#g(efeXydTc!IZ~!RrnJx_-L2MZ7U@BkM^a>?hP@ z*HOD>ggsgvYtnXv{mpg0CAJXei@vk02l^&t1@JB?23gY-ROPP17|;a|Wn)$e?qTxN z!@NpfBpC>?0;9yZX%Ns8a)!GrP?I&Uvt(f)5^kF3jRtVPTU{fpM34*3D8wA3kWRS9 z(}hhT@(b%D9_I##mHMcF_wa_Bd=>!@7GT4UQyRS0sT81v{Ad>PrLXFGKja`p^ zejDc~aSfpr`Ys{uWRnTKD&)P=2}BG+l9#n4mz&&C1?_B1VXdB$G>Sp-QFtj@%HomG z*J1jD_s}ii8{zO0ETJzbR4+`ysr*Jr`Uf3MdQ#^(g+~th3w$f?;#Y{(@Al8s@-)4T zhELpZfOi4*R#FZO_!DFaI?w+mfg&gxbb`VxOTfCuTu{P~Ugn^qnbfEJ#QoIluO7xC zVRrLsC>&0G^Qx}Bpp{6me~OVk1xjrYa)^UJ7;a4OuTSb)u{J_!iCIdjuQmlG#2uu{ zAGo7)1?KdR@3gf$Q%QF*vcs!l=~_Kxm$GHepM^2bmzlTWia+9IQ=hSanEH&3uCQCL zs|5i*|g_=7EeUm^Z*bVGB9z0hkfGy8*jDN%>*)abfFA7DTE=P=_p+fB$y(^ROF8B3grS^Dr-FKG(@_0X{W?- zoXRu0Ks#l%28(utb2@$FYs$VUL+~q zM|6$Rv(W~HiF;!pN;+{7wyq7SZ#gYU7-&zdYwAe6;>da-k)DU*w?2Sh)U!4={BGIt z#%FSteM2^7)7#U=rIG$t3;h@%2UH=z^j!w`Q)r;6*B}5;`Zva;tToPB3RTiuCUgbU zqgvsavY1npZiy#$1FlttP**azGtQh6@ysj?b>x z&H6TCQ8*Ih!ni(TeCb?KJL&lgxT~Gwo-aElT{OxtyKs@o+LJEfB-WlZJFC62t-@I8 zG#*pK{^n4CRJOTWeIDbJoBo9c`Xv(aV0ouH76~@iA%5iCdi;SF57s0{$6{DV;Gbzh z`XM-%t{w5RV|nJ9wkA<|RdXYCb6InYj?N4R{gpA%;&{5?!xoreRga=;5sZq88tDoi za}O2I4Tqy3h{kXuom#WC4X0Cy2|rTGjKTwHWGwLqV%}iLSrBMwinXx~U={G~mo&A- z=7k$&SKM(6!YJn|2%G@s2%-#i(s(1ZM^1fFTA!vFs?QUub%y9Ae=+#z)2i2|8>l*I zqt<4fC9!Y}e;KsR6OQ-;a8P!BB+g<>m3r8u=;<{0%}Q&%A^4wT)=nqj2qZvV;1X#N zLenO5JX;Z(KwG>zfhkv=&xgOz+Td-h3t=r~GF_UVX0FQ@Zfpre@VDo98CO9hP#28S zKSmeDMg+Kcn_`gy_rfG4orT^=ohKId7~P}$is&GM;Jk{)m}fjz+@^%Vh}O1CKp_55 zprX_hW(N`&d*+cbK+>XNoy%$iNJ#kx>&8{jE^D?I8TIaJOWZulyDUqIX$(ogSd(0@niD_EvjWW1vQ4^D1#~rwMB!` znr$e5uyvF40zrvW^`QtDS}ARB~C!>#?3eHsOlV47=*ytLIHuo#x&4;Yw6BF0@{*i>{z zVX;MvJ&6;HlIA9#7k@`o*q>r*PzlF7A2d!pd7J6P0~MOZdZ}TyMP1IOHcxGHqmRlR z4_)78mW^A_wa#MfbE2*S%*j2C&7n}daW*N@f!bAQ{FM>LO!zw^*m~n{!!j1%#%zK^ zX=_SDoKB@GrUY>g&ul#L?=G9~g*M-dY`z!Ud@r&2UTX8b%;x(j>vzTI6;`~H+Amre zonT0EDT3TOJMgFrR-Bu?M6*u!GQ@PUY1O%<#f{@ArtV#;fHXWn7hR)s%FAsfnaK>9AD!x zEfpv8lo)iSCsgcPqflkm2{dpf%_fr<_N}2*>PC|B0W*ozSqlH7EG8^St`x{D7M?_S zQP|oC<7{U^+>;kgBm`NDt5{<5E>=AQ7Um zCe4kcFa46UthS!y9dW`tfWK2Cp_%Ac07mlVFcM}ARV@YvA1~@^2;SLw$ zf(aA*n8vC|CWC_LYAaiDrJlb8VKuFY+O@R0kcZvRppmfY)DNqZ)i1>pq_(q^owtd= z(ZxKG-o{wPTsA(d@ZuX{Iy@|^oJwa{dLMLLn7KTOZW@batyrc`u0<@4>3D6n$>KT*hjHl_n#Db@pi8@o~d`*Yb zP!r=ctLRLJ5Roa3Xb~sXG z9KbX7y+AUK$0jS>Crtm0`&f^=(%ySgYLemf>_R$noXRw+pKHBv-oQi+h2pCz6eOmO z!QjM}BIX}Knt54^p0a|V!+*x%dy}-2#A#imOz9>}EWqp$wjODo{v`NjC?Yg2-lUz; zIUel`;7SeM94=V_)_Zn>F--``YddTT2qR0kK+Sv!EtOh+EH$=b__-XU2$ierN#Rx| zL}`g3N*OUIWfNqFJwR}+NM;aZ*IZOhuFb3s9a@De%&EG1pB!!EH8+2;4r!#?VYk z*)#Ru2ZwAyp5f4TaDNwiW8mxzp~128zacaTm;^$@Nkh7GGfH>)n5dgh`B}0s#j?K@QuR#rcj=;b#W^l8{x-ejHxvB5VTm=HxZke2 zf(d=|l;>{;*HPG1WLPK01j44fs+GnZdCU)v^G>+>jG8t{3;$hcXcW6NgU<0alcm2M zX2irsPw{$$@G>>kHj4c3f(feYY-P88Xtc-#i-96%slwjw$Vv@$L&^QCFryMZHs&m5 ziK%RKFcnocI_SRBjSjl+bfbgrJKgA@`%X7H=)RZQe5V^7bouE<2h(@%rWBCTw>36?gS`x*uBW}OqRS;%Evdr! z=BgUir^6MJ4Pwiha9GlcS=w*ZnV!H%TZ-vGAvR}Em}xmO_czf~?!rhwbJUCP=PHgH z?TJoQ>vET*H60v45^i@{AQYf?J4UJeWBa1(n!ORf$Ll+xIT#5@HyuZ5e9cAHO%G5c zti1fKL92{2g7JHCl*cr796L)yKqBktfJ)c4;|!Dly&a*ok~Sbn7*F$lCB125-i)a; z+FZ^SoQ0t69z7f`gfsTpYXFLE+E^pB}QU}Ht_F>02=Ia`x=A2op7<(8s&2d4d-zO$; zO%GbQN{!>dR#swvC83z9$s7Go-4*cB6I9s-Re zJNT2ja=OLXuI^55F{aX5XM4*|CAHg8wv&=R6`C+^n@x=Z6;4H{GJz`lE{IRf;=v?s zULb^fR~YY$Gf2~F;KAWeDkj|&w!+^#zzzw`iG|L0!A2;h?2Km9U*|hRWlPGIjXyGJ z5?cby#TMH{$_wK(2=j$gz7s&NoQ!+^D71}&pk+9=H1lCGG+c}>gh*4Ep2;wLeHNvY zruayY)3ujDIjIZKhAiWL9~||f08RAxXl1dph?B8Fn=YJyhW9YO*Pc}qH_ZgVJ4Dyx zAv;?@&q+uqu`lq9cf2na{OG6*2PKSNu?y(`atLWDT>wV24Ni&_XJJztCv!@;iUl{z z>z{(lZJd>DQ|RqMHFS>SPNnh9prI={6w?B~`dLVVQ6<=;n3E9mL5a@Eu8UebL^V|5 zCKG|3Z`%wCfG$xMu})~vvtt0DB?{IgWS)XmTlfpMp@iY_wd_b`gl^DzX^F3et}iId z3rUgE=?qcPlZ(0mY5Q$$&sv9N&niteU6iP6NS{eplm6tV7y~;`tLvc6iBWSoOMChw ztL7pW3P@R`3762|;u)N4!{vwcwqtHYB)e5K*Yu40&%_Xmx9SWhr z6bHL^nSSK!m})cZ0wBwFE7$+*u36J)cFbL~<|_Y+yJk%-a6l`JrQN!gg4ncW7^9`& zA^U=+n^WyhIw$ZlwHL)61WEDAAWh=ILdEj7Ro-h_TgRc{CsNbPg)@2LPOk*~CGA8~%_eX8o04rvA;ZT4k^#dDepdz>{glOSlo^DS-FuoNI4-nd(~&1HjW(Di*)&t zIK~VectEc?8^T+^@xj#QeSm`AdiRNLyZy?*?~yDufQ^uL=y9v3O(tP)FA> zmt$9+*0gh<6DE?OJqPB@IPUUYhnJV-o$VmI zKAuZRLGH2md2jY9%e|D4a@VfeztgTa!1|) zqFJ0NdWz9X-F%+dmq)jKPj9NK=`2i24B@n&T?Mh{w* z-*fxo+?;Wa`~f|>3?!2m|JZk6xr5|SC+EI2oK){#K8UpU9peB&Y;>&b6f0$%^#Gv#4+@__MDYD zHF;S*N%ySmJc3_tc@NTc^QVL?BU$Zx%t2{#VNQ0pJ=$IE`Q6L2%aJ3eSKjj6ytf(# zSFKsOd+!6= zr--9CKen87E9<>88Gcw!*{1fcxjpk7?KxSbvOQ}6IUXc|>2gglznPTEPf@3}F9*3_@*i?NV?xn%d;nWcF<^}cGcKWjK? z?AM;}cFk$pYcTB<=|fhzAJ56k&uxkfsOd>^dbN|6MrD!Q?)&GHteqcQ+iwWj1D)PT zNZG9XT?a4fJM6JdsF%wFJYxvW2rUTWw*W6~JaQ6$p3I-^{7E0DA)Jn|h(_=`17Qim znFz}e&PF%~VFd#Hp(E^f9)F&X=fwzM6>>TMb|rsah37T=ojz9a_tkh_i?Ei*#p8Os ztQQeHZ$!8m;Wqy54*t9g&%60MecY$KZ@~M52oED{MA(GzIKmSMPa@FYQwUG9H{-u& z@OTd41%ww7wjhY#tKtRE*AQMucnjfegm)3>?>&U~5&nhn0RsJfXgtWrcz%ZPZ-njq z+ZT9#h43GQuMxgMpuca82lJ1D=I_tq z`5eOY2rnUQL7>0a`15W4d_&ZI1AMgJ{_yFNUgpU!#Z!3TQ1kXo^}&mWX@k&ixq!S`Qz+V6P&fsn(r609IRyCHN(=!vik0+b!;gRm=t z`1Qm4ZV0<0?1iv5!afN5BG6wxo&ymEBMe0thOi&PaD@F44ni1-a4 zz7^xW1fdLJ6vAN$|3Ek#p&Wt!#`32d&+!No5h@TSAxuG-iZC64{;K)22G5xYvk;C( zn2m4@!f^=n=fTs9;6n%?)FG(9c|0CezSrY@K0=6pYrwM+p$XvxgeXEY!U6>PYsIsT zzn_TbsR->nz6j4H2xlTJ<=>1_#{bKdZ)fp$7@_R99M2U>`nh;N58(p-?Ls^+;_tM; zrOLZe1N11qU5RiNPrDk=RS2tj{8~J(L%1H{2LA0vJa6Xjw4U4Xeg}`=iRWDi_wx7# z{-pUH#QVbtk03mTuo>YQ1p0dx&*u?d`Qh zgpU!nBGBI_cz(*?Y5X(1{~KXD!WaDeSN!=OJikHs9^nUspAp3G7rg(@_2>lS~Z+ATR;O~3lxfjCT2>T%Hi=h7UmH0sA zUCkrj2Px@8@jjf#55RK-!hr|}@oyvfla_TV@1iajz7-)9Ba|SNB9tK-HHXCo}<-&f#yF2YKL^Z2(5_>-2qh`(Qq=OxN_wa!cN z{W65h5w1YE3W5Gs^XD2o*CJfc<2Uf>eTM%yL@!Rpd z1L1CjdlBwKxF2By!UG5oAv}Vx3E@$M#}FPzcmm-`1p0fLKcB(#S^oY!o-ZK0%;PlQ z7XJPUp06UjhVVN7_6DABBD}@pH2>Rpe+S`RgnuD?fbbE*#|WPysK3t;--hsS{{3@2 zzeM;7;cJBdB7BGNJp%pxi04lTKO_7~zvZycB#S>C{MiLh>O&E~?s)HkurtCg2zdy- z5!7EF#QP%jk#N~J)Sr6 z_nYv%4dD(Rzmq?Wobvy>`S<(qyq~{s;Liu~dL%9A9q{q(H}p%>-jUUa@-wk9{k9t*;7KF6)YXK^6l;8&zaJE$)7LWdeRZKWfSh( z=lf%(ei_(0?ukcVd$H=h_tw4opz4ULQ}4O!Yq(Xgzf9lbd$w_Ux%w_Mfp~)feB)J2SG&1KrQL{jKYE|HpZsFMR7$ z*P*-bwfg6lZM%KHru_7){*S%?4y)=|!1m$U#fY(h9V@7)*s){B$X4uFh!w?-T_bi; z5Qq{)v3JFe9lNojVv88DgNkAYv7o^k%lAAp17gfM@B91Xy{_+%b8;Q;eb1V;X4dqz z_F9{r=VDe?2wGUeHgt+x-sN*9Tw0U=Z@a3ymiK@CC~MgqPqW!I+~vCGn%}E_lXsM^ z+V+;&*ze}fMjvX<9zAlj)vql|H}L8bpVj?P{$=~$JLIfWwr;n%4o@nS9#G-Mu>KGI zV@-7@d3t_sYSW`%)nS(=R^RD4;OD%D9DN=x4C%h6(7RlYZy)_owMuQv)gtRkwt83E z;dB4)>yzucj|!-`x4cu*(r0~E7unU%xm4?4TJN=8_-ET8r?zctnPuzyKA#W&_4ksA z&1dh3Kj=EV&VynNX0ME%=dyG|yI!?&n{&>ZF`H+=j}_}aWgpQyxc%3Cnle4YA9em`T_1dj>&&+eV+^Iz2vtPPK_AYa+!oH4+^JLF`u2SU5 zrc<_Dm~bg*Vd|I8g;%ypXm&iMQnkMx#LOsgHmT9L-kZEjw!GluFf_dDnki}H#&4P2 z25dV95O8WwnI?x(T4 zFWQ$_Ry)?c>Y2o$(@Rav*?M#C4(r8^`0%yc8-Myz=v0HmsoV2+8yepvwEpaf1A{8> z+j*k?lrbF_TNj8wlTdD;)1mh-pD)~+y~)K(JqnM?v9*1bMIl2==H7X(Pf+cIjypH~ z-KhK3+!3Qit>A&HTJ}7dtNo3kFYdW-@LbWT^nrUj9P@~qeLgmuzHG?iN`sfp@Lf`) z_k?quqi#0Z-=L78xbL!vwr&Hrujya#)kWbqp?;H>ohy`i-+6JK0YPoUZuXe8EcI;D zDQmap*n4Q*uH3#JSv!1A+L&`k={p0b`b}==w;^x-BfYZU4k)+j@2mT-6iEr3oUn6M z_TNf)A8J^~u({3U5jM8RqeiwaeDdPztFfI!%q~S2y|{C7o9o3d`)u8A6}s?oY+TrJ zzxu!Kbk2IHoA;RLzoIIc`Y#xfY~B$cv7+J9_>rB92FSWAqQ{2~ zF)wEgn!UTh(*ccZ+XoG4GJAIqTf27;5?Um0*m3A`?BeitW#{zGmA8N43k70Q$6adN zwbA@j5AP;?s9HYwSjs9xG4GGf+_PW$tL=3^r;Tq0bz1tk&L49^2Vct5*uKP&=q1+XkFiNBoa-*dHJ*_1iK!|N{gcAD42ZQl%2n$w`Qd+*yA>W!IFx}`^vfiItT z^lGy8^#zZ|gW5;Gd067v$Ts6vaWCL$04RKhL!&x9B;2@rKF|PHs!SQ^0<2`JYQiG+XrXSy=C@8(NOM zlzq-Kf8VGpAxCTY?nqhPaOwW=nqj#^LU;XepmMo(eP-S36|^gQf8fA&zByw&ce90|NoZ}r85p`G8it&Mh~o$+%)Mo;xn34z_+h z?vn52S#w%6_V0P{{+vnk=Y4n>6P9gf)U^t|`nCOO@YY<@lA5=_TV?gRXSJuOS=4^P71J?Wldl<8dD6vyly2)n4ABZH&Y0xA8}7 zc9`7!zFn>S+0u4L2R`W@yL4jJSFzXHnNBRZ^Q-%^+~VZL!I7_8v{_s3K>>Ro=RT_{ z&F_8n*YbsJ3cg=9xaERp{&k)dh%EQ^Q`Ei(dDabRQoPES@_DOWp6qfgtU=Q$**Y)m zmTkqfdXb~8LI(8he%-cI*z5O;Zr1O*ujZQZm0Fh?npo&vr~F;sdZ(V+Vn{F)x^-~( z98sm}cH6`5vkzaNHRpZtK6BSr-CgIeFd*^X6YRbuZCp zmevYEWuK(zeSlwnTV$zy61J&5gw@`)@tIa{W!S-;y00-!&Av6yf@?yx*a~vxbLu z#+hS!f4(_u&g1aiH{70|+j_7_sYt(z^G;6dP{6*};GW%{zv@u+!hCqJbHCqqqGUwM`QQQ#m*&_qu<@~1 z`w!OJ;#BIGU01ib4o1+Zn>jn z;Hkq)C++-g(zHX)C+3{1`Egp@$DR+H&)>NsIWX}>n%J;6TZ#M2ns9(ybbCdGZ=aj2*dQX*_`3|&?eCThNrA^r!&Zl$5 z?hMP>BB^EZDxtqsepqGr@MM=hZTdx5h}zXGzDBn$0WY>Zzy4y&2luJJO)MB>ymV&M zsmJ|)NqhOHD0kFsITz@3a6*;A@kcM8@@*bzRc3#-A0FC?9OeP}z1-K8>d`&cqtDA_ zol7UzD6qZTp0k|_*moUOUnH#C6}zOV)1%*$Zmvnm_RN3V5&u5FL<w9eH=t?WLe2BQRY}qJN-Da(tp$?9$Dc0;( zx9c|x&fA>&i=~9ANJyO*kD^`_>vOyLqqslr{L-`4%w4%VhsF1JacFbgjvL8_l$ynU z*t_26X!j3&d;=<4k1moJSUdNo+4~kxDb@CYf7aVe%T!nxd4G598C`mJF^76=bJ*N- z&e|P|XI_2Vz!l&DeGp&{TmZM%xl}l-)>Fl%}d7$ee751*szDPNi%*+Y4{0}rQ+t*e&x?N?*|PKV9Kj%}pT?Fgb9i^phJ*JNcB*6wa*JwptxK1l zO$%1pwIjCa$R{=PO?2*EWbCa8V_xm>wUWCUF_CRa|eVOZw%P@yu-p$&2#PX3Es9WZ(v;ciG2=c ziG9-Qbc&(u*uUGB{oHp@#MmRgt=i5Gel~CUo=FjBOEr2CQ?*>_)ra@&DN!$adE0uq zrrapt9Z-5(+u`p9dX67HqVUE;*G67WnDp+#Pra*`ofLfCIqrP&oDYvSPV+lZq3Vvr znA>SD*DeoquV3lt+C}5$WZBW)qeZWkH+PxW&2B$C`=t9GW&5tI_HlpDh6xi=tfMb& zo^ZbZ(}i74%+3H@r@-StiOYrC?HFHIuOY}H1F5l5@ z377j+&3p3WipgiyHc}k79T_Rpqc~{@Mo8`)rR*!Gb46dKMyK&}On*xUyRBE#KxNobQxt1i9 z+G#tdb>6?~w+)|?Z%$h7u^w+a+U%P4p>SK{*!=mkZnbs3e)xEcr+40*4a${Lb5F#; zmR5hC-8^l0gVU#bE$<&Tcj^6JFK720aB}YJIc~W;bLOAs{BHY8tKfMLXEj({?AeR> zDben>>$j(s4)zL;?mYSP(3XYDW;wm|ud&`6YwkSnQM>zxr)yX3cC0yZ*W|g?t(#?Q zQ*pbc@Y1(EFEo2os!OS^TlTdpGAZ^z`4c-%7u=Dp`0v*F{o9+0%xx5&HD-26pO73E zZq+(+WPa8BZ$_6|GHum}*fCpnEgtjY#O1p?JcDy3S&8FSN;eE^9}@q(ideRMveUs8 zHx4fCkyzkK#cEHxu8yA7&9P_01s^)vEcbTnHv5OM`TGvC%otN@z}a)v27d8bAI-iosm4OLTv>zP`doOwdegq}nk_5r=-F*YeYco=)qGod7H+-J z`G;S3d*IoUY@TzXL7OrX^@bjCUE%sOWV|m4%4XP+#oI0GI@WQ$cl?KP%L{y{TqN!1!2Bs{DA+s6?YQlf9WyIGNw^( z=iQw2@N_ba$IXUgaDSCT)_)vD#rjYGew(5?@{j)-`D>`!M@3Sh2JyfD{#OG3D}n!& z!2e3%eVoKLTB8fzM`KC6w-Hu%2_{y)lYU^XF)qJj>~H*g>x zl{blA+HItpGoDj5Ansbd&54xTv&ii{W^U;}h?aT@#rS*%l-n5Jt7}=LmsOn8VeVzd zXXo?23vDJb1=*=I2$MQ$X>t z=43pC#_b1e6)O}|Y@lh;99Ue1d(>4N-AJ(yo?7Sr{qWEj*$5Afk^43(8t^a^y~|!j zf6dQ$aEamN4l7PMuDD*)2@f!Fdo#^Dn(s7oMXT*6HScIHJ)^?6YVOhOjR&B3ydceW znuTLjcwNoqnm6#U6yqEJRBWV~hKHmW-U<&okv%l~YfjUQ)I5m?Lm2P1W(hnXLT|1) zT62}=Ma}n`rSTvMpA8O{_s^T}$9H=>8^Q7i$&C+;KhR65N z4AR`AnV^{k57RJSRZUOLV9gzx37Xj=b-pz{HG?(xXx`P#iHCG}{5qQbH0Nuc)O@B{ z2oLlyeq+s{nu|40YQEGgy-US!rx~QVLo;48=WZ3Rf#yKX#hNEIUu%}eLq*KTmKTbC zX^PV|`7jQ*n>DR8b7*>FKR$Clgv9fDBS<`}FdyTD5hGv(`2(IaB5|qR5aWgs2lN09 z7-7e2Mx+1Hcc8zK9ninX?%a+sdLXxhYq=e4%I#n;9uFh4zh(^L(SJugvK!)&Be^{X zo*U(M&{s25bF1b??uYFyxgWRz{nUV&<|E33JcM!Fmlf|j|8vsc`q*$WR9Gu}SUoF$bX)*M<&`S~)6rOGN^)-30!d~qeks+ARsRZ-ld zxe5;@Go9L16|ZX^#e>NV-&tMJqo(2>&C9ivSFf#jqn_f%hKdCnD>`Z>HBtVgsbX|< zMJGI%%ygP*`r_ea`aI2!-pYdqDz+J{_}fs$_juTt@k@_XY^Uj~xn8rvD7C$#X6@0+ z3*g~o?muaQVua=uO@RlMxxJj`?~|0@)6C_sJVvu_fbw4h6+2B=ED@|&bB1E`P{oC_ z6gP({UYo7hVTs}(&2`I_AJuHUR{45OpY_V`Xg-fr-t&Osk9gRa=aD^1@em$5reD6G zSQ_&sefo99#hUvbDGxV;SX51Cf69&L8#SM6mS8_X_(}FtaKN969j(DU7>CHbc!qD2 z;wr3jj96Tr!g_{06RWs^{Ubl>zo6o>!itU9PYPh%VtXuz=b_o&z~XFQ;BB@qFp=#G zJizt^wqW}Kr?CBiu53Txan={;#QFj!vA)0`GW_TE?y+O$8oF1AN7U2rJV1z#~;(2MDUTbM5Rk?DfQIK^vB7hbjvSQzhc^j91( zK=CM#kMIjTF4$#=;!w6X_&Ck-=ajo?da{18eUfHA4|owFs`XOr-dnM5U&a0X6!+d# zEY9?c;yGAN!SjRP)7-}Vz@3>Nup;9XLwnH7&v@`u%|nb2Z_4=KU+ibaF>kF>ysGKA zTKWAAitQs5k7*X!sN9M3sGShuXB69ET}iKraDzRbOGG&NGs4LT&c|SD?pFfO6>>jt z821AgYDQ_=o<(>`)H_)U?@RpwI-p;XrSYy2SqABoW$}C@%iR(4B3TaO*Lko!*0W>< zJda6M#PiT(CA@z?R>pJute+}ElqYe)wS(tZ70<430;|C_?;TeDWD8hbV8T^grMcsn z@^Qa|HSmlk#~pClaj+)FfoR2!C%{^Gev|3d#`PN8p);O0jR)(X{_p_5p)Q^`ChOt- z!e@#xnsJ&BG*dM{YFa&4@$+fsCE1H$Z=^0}g^yF&>Tr12BGST33Zn6Jl2r z#a6D0o|6^d^0?T(Y&tj{&*W+@2v+`)^%{)hUW3mNB1Q9fJNQhLcWZDC?h6b8=c2#- z3eH2jV0q0)IZTBwz&mAZrweg@nl^6mC3p^AvsiQG9XOsLytigRg!0W-z-4&0o97E2 zV|gw|J#ai)g=d#F7i+dFgK*r)h-Q7Q!}~TokM(E=P6*$G{;PSOHvv?<=3K)a;Vl{)9uk#pRYJh)YeNY>`fboUvyI9Pt znz?Y_#drzji2E+2KVH})N3*^!3o%u5mga=HDtwyeJk34}Rk$11cUMt=GZib<0$qOwxF3&s&=F%&4F=Iovs#ey zMw&%A?wSlD+zR2iKz*T^`$y&On$5B+ACg1y_ikWTgUG@Ctqh`BDL7uFJ~UggHS?F# zAi`L0xeOw2PsK7`icVudyl7q64$Ny1H8k(Hg6A`cE9~$24dMd(9azf(7Bt`l6`N>Y z?W_EO=DH2a122KL2GJAk%UH-D*0Ed*+^%NWF5mM6G`?W~+ZY}MRVQh85~BY5F^Flxn! z7ru9z6yr6wj8A;eG_nkW}Ie< zW-Z=N!S;)6ci>`!;!~qyNwz8s|6b z*}JInYC9CCaeXk>AR0bW{JRV|-XMaSD%NbKc%iG}Esn<%3}Veu_(X#^`Ud%)gm%jH zi?2bP)Vw%GxyMAs=^O{K{oJ46WYm8I=w}djV?cj{=z1KSihdWZIFs{Iph2wCY-g{0 z@IdfaoNq~RI{Gumf3P{*%WnqpYM0^*9uL0agrX_c#h`?|5bCYX2b#& zzMSA<%R7oEFZ8u=Vvfk)2X|1JI-?mw`jK49IqL~d1oflIgjym zmO;$aT&20=yws^i~iCY+=ul~P4Ec%rA2X?zhZ|C;8BC9+Y&rx5ck<$k7M1&b_(9& z{wEBg1?w-`Ad2);Yls67+>(;!-NfBc|GMUFq04I-4|4tUNTyo&YEAn=+&wEY>pfpLoS(j9F7OK~6P zC-@hRC!j0mLGbk#MQ65W_zJdXuyRSoNX{Sd2nWSMr4+O2Z1WL*5Az_;18naGJ}`)Z&fr7LPi$9@kbll=kFhT80VZKwxCAC+{rD33eqs>5 z)!-=@AK6~P*|QbTRsf$H#K->N3xk-*`4eSgU^_yY3SYH-I{PK!H=Ck3Q!~&Jj{iP%Q2dSk68}ZAec-=O)$y;v zDCSNBjYctl35dMUt`C}x;$RS%#VF2bUe&Z?Jt6$$3dKvBcQlhZF5n#BXqwnR;U)YP zD{I!%j0`}yl~Igld7(^-vt5FDIbVT$%7G}O$80AETWtX`hn?CB<}`|&`xHCwS6r;= z{k!swoPQCo9{YVRqlgX!t&JjHGxj&-4>gyupJELXwgKUJjAF@o5M$CxS1`X(bYS`g zjG{Ehn}R4$#z)=lWqKI1YDX!Kssa`@il)~TO+1dBQH)}{vNwu3b-@xw5pYGZ)eS`- z%{{l2FHBS%^+0j1X5d5Rjakkmk-vr@`e^IviUorei(FOoM%qRPqj;iupXtNx>nV2C zv}XMy{9|{;5KqNUJrqr>FKj==^Db=^C;G$77{yF{HkLJt#>k5iZ7+%2D;mX9t_La` z#XC)Rv@s*f#+v;B+=VhEjXM-8uwSB&URt0yr51?3eQFGdHrsxzVh5f_4djFOlWH18 zF^+4_MlqrY!s{Sj5QuXeoqGcQsDzM?`!5*tir=J&uUIuqQZkUPpww|LbJ~r<*zlzvb@m-{cnLN z+xw$I7o({2E7%ynj!2>|V#T1e^2e%-ZfKuqTjX+vgS(4^&5dF+>Xe+o z{lMRGO!6S>7o6Wr(Q&%sE6q1ol>1%;Ti`gC72j)S<93ACj#I1?uQ-SOxTR4%(9HS{ z`D=~+HS_X%37#ep5A0!3+`)DYH{?-_(R`>`C$9>>WUu&TyW&!gC)n?p=AW9cHJ#7n zm~Am0v3%PbMJUS5*wHA4bW_Z`3H%x3z)G;IQJmGhbrjy+C>)D`o<`AG^M^oq4~(ad zU@xO^V!ePNED!J!`*|OuFi!^i8O4VAV1FEk>kMzBXj={(WE8j9{|2L+*x!d5MU9^j zj<)?-vvCvUZ+k2LfMard?Tv~~oHx<-i*lX>_j3FPJ#u0@c;8wvXFkRD`4!C^H?Tds zt)eT&9(pX!i9FC#alDsel;(1r3%8%pjMaRrxsvS^eQ;s{aFkK>j#T{dfMR}4d(8@( zwKT8AsCZ|YZ}b6w);qXcvj&d~Z^ZnAPYNlvFRWPNpkk@Rimy&6E<6Qd3~W*t9Eax! z6BK{Atyn;_mgWr2CwJ8L51L7d%HL@gy{o*UW*^N_n%gvwXx`R*uG#UP+JA=T^83o8 zG|y{3)3kn|wqMX}_fUB+&0(759;g!Kc)Rl^GO3-mX# z|8j({G76s(;2NW7RZ`KxLGhU8;?l||R#*JdMX{Ntzh>XYD!jotaII0qv3$T={Jv-% z%1hH^kL~L*4q?nB&w45*ZUZ-9zS;>!7)3J2txYHoj$2?%HiUyG@`Ia=q7OckUW^a! zW_nwUq9Csqwi<=A<|xe>n!7cxYW~P^1o10qKCA&pUfOg8x8s>jl%Wx2mYemo1M4bW zqmW0kARM&i{XXO&whw%_Q6y-NV?DrwG-J6w+hY{fxW3wl^O>j^ulX5$fZ;X$6emT2 zzawAA6l=2F4q!bQpy*u}#8~EX1w4dxGxK=_b<1{&zSgt3qIC=HJrz4w1##>}7Z4Z6 zu800e9;t}%Xw+9T#e;5&x4psBMv=mK`;1Yv7zqAh6n29ZtFT?1Gm5tuYmG7Jw`@n} z(JxCW=41PTTeCco<`ITp#JZLFyNvk-c{k!5Z1{cnRio&~{jXs?$#~!wwnMPfP%zFY zqJB|a5Dp?w)yshx6IQYvf&ES?Ug`#7O!$@g#F&yD>mNg+QH-nvziSlh>M1s?uh@+H zBfJ~S7ku6se1P`Z3Vev`2s`i*uA{ggSepBR1-Tzsc^3E>?J-R80s5vf*(kb~0iPH} zqUK)~t3`~^6UkK|Ap(vSjFb|!8EKhHIr+@U*kGkGrzNP2hFODloxbS?5f#+ zl=4xUn}e0No}uGumS_8ZV-$CN71Jgwesl-l8pUz+5#u|I^OqExdx4*fqT&|h|1YP36ltD zqFCKku@cK0;luiYB~8MK`6y))zNC8L*sYKTUtl)taX?-?7~zeo<@1gGUrkX};9tkG3*ii;7?+ zq|b2$ysJ5bKdK@Bn$YK!( zsqh9S(U$w+hfVADS1dkX@j1su{LpE980cyex!8U!CQ(Fl&jRJgHILfC-ArQTXvL%k zU~7|bXsG!5XGQN$in%%dWBWPHOEZ-ZWV=Q9YR%%ylsD77scBxW!tbnAv|6V)MYG^~ z<(Ga1+n^mXpJ0vNU|W;eta(s#H~YD}NhI<*zMV-d&WU(njON|E+IgM`f6wv+?O2as zMa>SH(^-B9|HV_WY7fP6ngvfOucoeof`v!cxN!XMFCz-^nI*RxmN9kKD zfPN?^)-$+}?Pn^+k?M+lIW7d4#BYojXcB_?1Mg@SXSoHLL`#40SCfcidjzj-1gD|? z*v`Qpr-IYbuQYvrQy#4OknL!ON$li$39QET68LZw;)NppGT>~?M_m;cbW?oH_Bh8R z(liazly{o1*jIC;<_69;i0_pZoNE$6ngQ9Br)fGAP+p~=V#OG69?D3QY3|5O|{ z2V8`DZv`&KyjKleY7+iTcLm1(+u%x*_@G%gQF-Hgicd5baC}*X`tJ#@Hi_NO(9YMG z#1(SANpvcUaJ-8aS`)-OW_y|{wrQsLh2?|rXRHslZ65}+zc>cd*T($=fV4l>R%J}f3 zn(sCLyspA0^1KdWJ=Q}pH`h;ap9Js_#*=;^evmn9f5n2DlLo+#V!gwD1&)8D*l#X) z4CBca@HobC*82&QsH53+h4KNK1#7@hBA%wxUic}@xBC0!l} z=fImLaoiESg?{L)7+MufzH|=2gs{U(s2!bV218HFw%7k1M3;SRQ!v8-Rv0ox3(Fki6zUYkTs=I1@e*`nYFybE|nu_x!jzfn(` zwK=bSG>MM2!B1FUYo_qJ6~BdZ)dAt)3!X37iuH>h@;=CZZ8VFaEN_!pbYeRJC*KCm zX0d_oD2rL_Ynw?50x9tSxGKw`1>5kGw`;jVl?}stywhX`lOIq6lez)HjAR1m+%AOoi$f79G<7W zVzlOD)(65zgeclCQtYC6Rr9mvoW*MULCyWEmEYC$Sfl*0=H_wmVrEfyykdPGn8K}3F1f8 zKk>Q(+{1q1XcnRXSk5fYZ&I`#0G7vjjaKaK1v;692itd5v-oK~h#yt2%k=QW>Zdes zFdlwneQ|%qM9yEe%_5fTHfOW28G`V-X7PyW)Wfeov7I$A3tyIBL$lb;_5w~grMR^v z*vKr}ay-Njv@c_O_{l7avwU66qRl1HViq^z6yIn%vpqF6i&>g8ISw_$Z%DEIf%!Fe zbN$iWEb_8nfnznDc-;VRr#V@3fuIz zu?L7BwC~wVF}SzlfWC?kIgexeebxh5G92uQe$)``Z5G`$e_?(1F^j)A9``fj?-_vo zkuIR&d;Ei@(1ssU_*4(Ul{3^onqxui$fWyop zlI1kqETTBy;m7qq#v**ASqx`9a0KTG@QxjbAKYKYel*G~dY1*qp?zzfXTOI3*j&+7 z^L@IrzhnDl&6Qrt+XgDGY6ap)`~P4+nSgw-|AH@nQmouW(Oa{atMWXP6<28vouYi@ zY{j)azlmn~orrM~#$}H4zGmUjS+TL^GR=>gO~rHI znXH*-xeC9id0X?@S`}VkonokF>GjIbvt1ya_!i(~v)Ei4^fL=PwhMo=aAEtNY8LO< z9ss1NjK!!)y~s_CjZ`iTmkrCB@(@q^7Goa=V{ zk%op_;9$E*#kF%m{NaYt4j}$;!+0mf%j_TUOD>9Y8!JBB4~Ck>-w(iXYSzKMXO8 z!k*Yvz)=T=-=+(I&3cu;ty4nWIb*)3un$- zo6&#RAGesrYpx6N2P;}!SNx>8zAGGm#Nx6IxXUa`v;23PMQt7rf4rh!BDmKqeC{dw zYwo(Q{GR5gitznrk;d{mfcj>+9Kv}FgdaAG6Gy?LX0e{_;h0$*pRZ_OeH_R5hc#+e zydGmF@tBJhiL`T&XnQuKJ^q#pnN0{=67Sa*C36a4PkuHE2NLg(I+A$rsv_AI&ux%+ z@2v(o8Q&|CHI1S^iE-40M4xsgQO9oNT6~{M4mJvRvaS#vNxYZWnZ)~@-ANZAyvW8v z^d*}J;Z3^YeOl5Dzn4Ka$NQgTHN59R=EVIXGD-+Pa*+^$q&43AB-fk847nZGn`AY- z$4;UREg~zM#4>UU*8gO6lUPg6!uzIVF{9W*j={V^x(l(JY>)RwNwld$ht0F^)Ve#3Z@hApFQB_^m0juTe}V zC!53!GB@g<9AFgl$ToPdj%+K$GBU|1!pYjGf3g$CJ-OX1wvZczh$M^Q{tbB+-#3wA zsDIKK&!7SF|ye(3+?YV?2djY;$+mzab%>4x{e$b;zrWKoQxtliLhp zH~EJ_>?iZ!y+N|C5K$!76w%~vlQ=_S?vEjRnM5pE4E>*6iT+Qzq5jEM_&$S7K>sIy zL;aJOcb}42*Qb(Lx2BP6(EmxixBih#6hiz3dZYi7i}CBckne?XCYzW=eG+Rd7jmXaxRMjl|H;j` zze?iXg*)kF5FJS$^nY@nNpvR%q5jDTjQ`}12H{N(M*k;=p#I4)^nV$S@t?ec_rb_` z^nd9l5lFs6{gWM0|70ZUpWKJ~CqvQy$vl|<$!Dm4avl0VS==ZhNF(Z>tbp;K9E$Ou z#2RBi`9|P(jzE8m|Kw+rh$eqW|0joG{3nN_|C5W2;tH9?AmYe{82`zWcrJpxhvyr~ z3#flG3%-{o2V(puH{v-^vHnf>8!xCS&kk0EulmNFUTcnGfSXS;Qc0 z$#7hMkvyIIsAWAQx(xgO&`Sp@x`Y=iz!-oxKpB&TEi zCv)NcAvpm3pTv9fok?em|KvKO@FGn@bO?BAm4xOjy7`~5&V%Q{0(`!F`4SZ6lO?G% zLX({G;GdhW1`!Z#)$If$3h@Q&F8sU3N*X`qz$bJDA(9iZ_m?#`bZ$0#0x=uUJ$>D=V)Odlb=BHe}VC7n^d-RSPpYtY^4F4DQH zcW1hj^!ju!y1jH4x;NcMx+{GIT}bDly~oj0KO? zGimQd^hoJgFbMB(dbo5idIUX8ItD!99ZC0-&a8Rwr;m_6gdRorlFqDppP{=;_o2tq zU8FPX-f?s%>67S*bbIN3^d!2C^gwzlT}Yo!e@9RK#Pgp)7Y2Bu^f0;=Jy!ZWx(z)_ z`Xah5JyQBIx;;HydN|#Y9wvP)9ith}UwQ-`s{ow8^euE3x|j4wI%YGRzx3U7ce;!8 z{q)XsC+UaiUUYluQFL#*jr3^x2)dBYqV*m}PyNXAkD>d~6Q#4Ly{FS-rC*_k(W9iZ z=)D)wBc

httEQC(gE&bSwHhdg|Xi{~UCIQ877Dx((fm9xFW`9an5P zf9bY#TY9AQqI7$DxO98EBRx#I107d-IDhGmbX-y5{H0fdZKi9`gD4%^p5l}dX)6e z^hNYY>D}q!^l<53^ay&G^uF{+x}S7!`hNNd=|kvIbT8>6=x6Be(tYT$bQkI4=y7x> z>67S*bbIN3^d!2C^gwzlT}Yo!e@9P!FZ(}TU^+=olpaR6qQ^>~N4KFzNnb?AstD&V zeHq=J9xgqc?nn=lzLt(vG|pdo1l^fFLi!fE3*Ae4B;AefE`2xMo$exiKfN>EN%|qW z7u{ZZ6y2L{BR!fvf-a<=p^u}dzLWi*?nh6Q9!sB2kClFf9!8In9!Fn9kCc9k9!?LJ zo=A_Nhe>}xkEHuaPonRqkC6V99!2+(o=QJMcbA?Ywf+-I?B*?j*fF-HUE7-G%N= zw~_8jA3+z=-RR@!sc&Ter~A`jLXV<*NgqK!LwA>s1u5#E?jn60J&x`qeG)y9ZZF-BoVRS2ctn_(w8+w%VMRZ$wr1WKUdwRI^aJnNsO!`{76WvdG z1l^fFLi!fE3*Ae4B;AefE`2xMo$exiKfN>EN%|qW7u{ZZ6y2L{BR!fvf-a<=q4OuV zlT*`V|EK%W6Q#$}r_*DlU!jN5qol{t7ttf7-=c@p!=)$EBj{n$AJ8M|e$tcZ`{^U3 zKcz>}y`-no&(Phar_p2SF4Eu8Gt$+>GpI-dYE(vx)a?`x+C40K0Fs-JR|t-I?B*?j*fF-HUE7-G%N=w~_8jA3+z=-RR@!sjp=Jr~A`jLXV<*NgqK!LwA?% zLyx7qNFPU!qdQ5TL{FsKOZTHE(QTv$(o^X|`gHm`dg@Er|LGztJW+ZW-HIM7eIDJ0 z9wmJd-Ig9HeHq=J9xgqc?nn=lzLxGp_mdt$cczb!zJ=~W_mUn-ccZ&Y-%WR?yGY+p z?@V`+eu(Zxx0fD8_omxOkEV~H3+ZR*C@@4(y!3N=uy(+=!@u) z(r?kj>EY57=@IlW=@00UbU*1y^!@Y^(x1|!=w8xO>1XKf($na%bQkIG=y7x>=^yEd zbbILnL%Vkp-A1~Zo=O+et?2LQsV`*zr}Ou?lM|)e(5>jP((}=6=uy&b>9+Jp>A2B| z`lp9Wx2HSO!=yXVo#=kj9qG>W5z;HtUFcrYo#<|Kcj-0g?sOOF&h*Z7C+WEHj{2wD zOLw9321c@tbXWQax{&ThA4gApF8e>-kDe&qoj#o&D;-}fp#JGm(mT@^(IcgIr-#$S zrF+pM=wZ_P(j)19(!J^X=_8~Mp-0iZ;2yybf9{a971wnBC+Z5kL-f?f?_foY)?&10 zNWeH`825K_g#_U1O8iZFhon~6CnUfL5khw@!}V?G+(r1e+_ht$jRDUMby7#!hvF9& zg$Rf;1j}e&<^?c@+NVzHFON7Ten|Z(3|_pN%i7c8ouK4L2>U_XQEVbMy}m zx`Ge!Tlw!z&!qUR43~Qr{r|M*Q?)1ab^O>9J45Wncfpoa6weT3ej659lEDyr zIw%$?P!Hh$;_V*l;3%7N(V?ymH3Fink0qIpC7OdRX(2foA;cps)G{Nul|#|sjt;gV z9#4UMAs$J9O^8Q6AV-LY4PX`GkpnQN7f8TUGj~KOg<2M+2Zjc9N9i5-@%ozjh@0=U ztAh=CI}+j1aUfeBDAZ%ocL(~%5!7MVW*pX%@i8dMdY-I;V^~J0!76N21vu!PR_S20&8guuCALXaCnm!Cnh2|>Kw zn6Nxbes-3h_sh@BM#Az)`B@%ic?3Rxe+uy~t_eZ%P~9CWCIra?b$4(`2$F~C?oc!# zNFJoSL%xI{9wMQ;Lk|4keA?{LxfE_|v*!d@ZW%(qR#!dCE$fA{zV=~$J*~I z|H}7)XgL^R&~hwsEZGptmGq*=78DkXE2B*$xYSSZJagKT$ncb*A(q5{R1PCp&Lm{9 zbubC^)w3Brd33jbkL-Eo`|yA$SCy5FQ6j*S`0cqS>T{idf=DrhowhuXIWh-W9vCu> zF7+%AWW>>rGo6HP%WT2eiA_$AMZsy_UKFriB@(4WU*UV5eok?(9iU>|i&nd@Z4!{F{)a=UbpAgdPo`rl)8RN}PS2SP zcaY%@--SELaHoHSqro8@-4*+WxVz$WF#pA8H~AU=;&UtcxmBiO35aq?PgR$6K$Puw zAsJ=+U2UXCO+R;*nNxZoQpOSiuNH<|mnga1=r_j1||4a%Y0o0@qu za#7D>Ydr^Jhfho7=QMi~h6Ah9TrcTQdWb++j*Ku)eJWl){fVa%|0BloDtI;~)Drz~ z6Is;vfnSH9Xw~nd(#r&um;MoRZm=a$&cnuk%)?$-g=CtCsp<1@(MD05FQA5U!(-wXKfW;kF#37a#m9>m`2`&}mEjDs|9+x)Dxw|-*cRnJUYU*>8WhKj{MTCLf)b}L zcl+n5XFgVZP*JQ9P=T3STrrhGrn<&EPGkPj4t;D@tnaH)hvO7d@Kpj!FzWWP_~qW2 zOOKZ*>17ZaGz6AWag3)bPDc7??!VtN{WuvFS4vl$Otx>PWG!LoaaEc!@0P&y!1y3W zmT4m<%l+#%tot)r=+`5qSCM5|`eFWW>L*p!kH<0~W5$zf`;4Rfzpa^e_>$w>PKhd( zYkZ$d8Ed_7I<2bb%#%hkzjOHhAadau$nQT+TVgq8Wt31vdI|lv6dchW8E+SE!>f`E z^@vcdS#J7Afd!?GK6&WV3BGO#;616)T$?@!$u~8$ zg#jOeb4(4e#9`k3mmSk9tez!K&BWol=js7cUGAmF`u5z^?8j|=@Rdf2ISdyE0hX9= zC-@kB`eoUCg3?%E*uh?2=E`%H%_KdXYbAY+no<(ia>o*lCd&hLzKoM;1hQXLTw#u3qqsPs^NiC25(9`@2h#Z|3FX&S>Gh-pD+o$!5>M%(IcasQ6}jN#;`v zjFx#yNIt3qIm}W23rK${5m8er8(fhy4>Ln&Qfk z^e%jeA@a&6qZ_MBsq{X!G$TSrKT{_)B-3=FLbw)4FMAb|xvQ%XE{+(-m50s8oTS%t z1nz;WINwynf4J^SPY3mxsR8_7TqyZJ<)x~=gig+dMyD@cldq{^E5sx5n|_1Nl4<-2 z!7Yh#P0+~xPtmZ<4md7X61W+sZncSjnbNHTyZvjjq3*celC3;__XLr?EOSuHGSAfS zv!S|$i>`?KxUC*4@0O$&SG*_IKIxmIP~!2=<1J4!FGOHfPShHrjYk+?$gNg^D^)X_@jgx^BEB?b~dQ zF3X_{IZw|Umpsoi?PDF(0fit(AKsDpE-M*Bgt|dt9c1KCg4-O3n_gJ;Ea|s7;^lBI zYf}#(9F_3VKbozno4#L>QL_DUdckq&$3ZJsC)f6yV0G#0km-Q93W;lNgF3?EFs|Rz zc+XURz*%}?tWQEhB4t#FC5h#jDVy?2C^gf$`;`9=kG)0lJ)=S`QJMG6xJ&f? zzP!bgDV48xf7Iz)p6Y=eT?eDQNXGAypahfjO#)k-Uhw>)`1j6MevWJXG=8}~KCrd( zuwQ4`&>+shAs+Ua2y(;+F_OGs@d(U3GssJcjO!Y;PkJ5b7H=K692q%niN+By{6&Aw zetJX{xL>1S%b8HinXel&6*%sRsC{EHZ_c>6#rkT7MQ3RGqLP)F=~h_$^90WbuGs&r z+>%}83XJEPo}G-#yK>m{e<-_r*e|2(GS(lu9AtrJTnWYpF|xYoTPE}Jbt;e-eHk%B zzh2_8BU`S7re8&5Zl?d*$Ny_~zYY=qEt)+V1@3<&WgZ^P@kuFz{vRipxkr1(;k$&) z^_4L_eV++-zFVRC8=D|i_Ze;D`{>_wzQj=dg@WEUQ|J5VAo`y=AHM(yup}A2ZU6tR zkTKcWW(6wv&+fSjA^?lwT6t{HhwO$)Ra?e3RmbzCp{xSHW`b#?(CzErMfY64o7P8zQATMl`v; zl}nGWOL44MtT?HpA3VX5gp@p!)FL5ArrUU|V|jymPx{~(v`k;|x;|oErkh;Q;Hwne z<4X^+d;E1sRW}x}5XdF>lD8T3BKFp3EYa{Cj8$kxq=$&~bxmcHUWiyOBrFd@@_IJq zSfLM+>0`q3=`xC%2Qw~m=Rf4l749v+4h>=?ekuCxWpH|CY`z9}W{$t6lwJ<%yS7F+ zYNoH<(s#GjVMVboPfjFcago(Zaj{Cs;wJ6(G3hq{aNBRavpr(@N3(V_mg?zcd=Tk> zZCkt`O)uJ2-)*U{r^ad6BD>MolltZm>dbn5v%l(2uJ|5^EkC`~<&B(weY(LC^Yts0 z(J|@Yr=VqheXb$>Th|Ezz7K@YPZ%{r-BDO+3Fg=Y&scr=m?^OY7l(hg+gldIOT!JJ zgrc!2mH)4H$%y|SzU#FP8Y));8Rz&lQ(4?q&-9Gbmouj=e8)ok|Jb`0_^67je|NJB z3kDK3C~DNGQK6zmMMb3=lvR9SqYy;}5lyU7UWJW{pD5`j%68d`ib`v&sC*TlO)Da` zXd{U{6g4QeiDV_(Xg4O+*hZz5%J)BK9(V5U-VGpH+fRN!Huui|%$YN1&YU^(xc7Fz z(?f_(5N87u|V+W$aPRu|$_6Y|&ozZuv=v6q&BIiT8JQ#VTB|32{cWTT$s6#i= zPpj(H*b5J&>(z1pcnAoa4(NV8k-8Rd$~rtiGd^jQfUMN%o8rON7R-1jw#q4j;UsnM zkAb+QqLpR3aBR3?t~3P0Q+Vnk!KNry; zkch0#sz3(O28}ej*`5_F4PprervY5pL7e`8#Y@WKfWz33}F?I3aQnJUT@nCIBuntUV?HRPR zkW1Uk6%SKylKviYJ9)(Yms9WjBtCHg7`0T?Hq|K+TE;Ahw1|Tl^$|T{@Vx$N^5#KE zggInGG?<6UA~s?%2aE^nS}ImZrvE_aplUYK4|HL+7)IkY!7i@6?w1^G+BTu&NL2-F zwM$l`Hd3-|^VC}ImyM(c@+I6ao5H~^=%I@`BkN(25DWd0wbj@JQJYjDEn}9-URv3? z7-CUJjRhAfy(vo`iG}-UNg%vxsMCHOt56{&J%OJIa zasSmxP7+oXE!oIEfG^04FQyh)tPQYDDE>aRWw8(EX@Z%zR4kU)`PeI=Er}*NHN@@o zHU=d35psL$*-iDVqaW4P#DTXM8dskU)9ouO%}Wc)0-HgH@u`KYD9^(sXGk)GR8w6m zd7#Q;);hZCTJEZ}bP4VT21srDLlMxDQ;}_S%_!_^YC%&cwRq>)x ze2rgRpUcsC{e?60-lOvD(7Gu2xqGYW1c<; zucqXAI#o4>X6eG`XN_za{9wi&JkDGo3I@)t zJaB?922St=&n>in!o0^Ty$nYJyL+D!l+H!Z30R?%!gIQ;ieXf5auBFD{b7YsS`ii& zR2D^}?lCID$CF7TD1syyibX_z92^NwPiKiWcd(=Zg<0|$q>pF{2$zcKpJF8<^v;t} ze|Fw4z~8Y(WQ9q2;RMP+J-aBFL`}QdyLWaBP^IZc2v63lczHkA?g@C+eg29V6+Y(KGPAW!Pz(gs508qI&p?R+*v^FCM|`ga{7k!h?#>K z4H&$6))yTbqjAJ>wv(5Q(Fnwh)UoYa4i!eLy#E_azj;spr8ba)+`#4U( z8hx7fhso9DRBeEB#FkBJFHU<1H_Dqk*-_pALI>wV{03jd{Kj2o-xVziq_0inMXDnl zJ9)d*(4>ugejthz!)5Vw8gDbl10CrgkL^t5w-AzK4;_m~edamgkhhmMcrkMKe3q%~UT* zm$p;dXWy{1+Q)_}3B04d6+Q8*wYXDf+_SbrLvpN1jexu=BGL=)nwz2e9%p-?m6nvo z@2a^zQz%LJ`5qmmq&iD6bK}5^e$Y$stL;`y>u_w29@}>85;|vf+)5O_;G9E>3j{-Z zJV0w^lPkkN_^;mcN_@<;%{Z~n{ zbG;K0yb+h{8Pd0~m+qSSDqsBV?Fr;FQ@oC24v!WuBr4}@lUE$|NI)U2h#)b12s>RMp$9*c<&o>mgE+<|0zGoL ztqC%#JWyg@Oof6YJ=A9A0}1(m<<^tKbuLqM2s_j_7Z9bWn9tf=c|cMeT?Yyfpm2M{ z)S4DC&R6S&J8G4xv=lqpMX|xI9)lg4%cSD8(+)k4`C7G~<=I}J;Hv$sUE}+|o!VC$ zY-UKP-35n`%DY%6)?;5o3?b+?QeB!BkB3q0sHr1w52n>7wN9z?K@A-h;W@ch#lgab z!J$!yheJ#5_Z?HiQ*-eO59~fj{~_k{DJyrHk<$pfwKRx0vE_;2)wx~}-jbX10Id*K zUu$o-!L_;3g>J+VFxpd!;c0As2@l?ulRD9tQgjOctX&EYjEKD5G4_C&@=8_c8g#%T zJ1eKz8nZFZg>5g|QB&Jqz2O|Oft1Tml$MEyl0!CTOLOQR>ldT3p(lYJRyZIE1@Z}* zaRz4uhw)pCwHQ!@u(W8nWD|t)a@+A;KH3ir(8sQ6j}NzwWm+hij%p<xwnV)@@}zSj$*03u{El-faUUz8(rfBKD?8U zJxeo(F=TffWa^6hZksT6ZLp+iZV&uP4K?I0pcFrg;%AG~(t2c!P3s2~a;HcrV&*Dt;z{ncj!H`D}BU@B2 z4mafM-3mUwN=9jWKD{r*-mg}J$vvC^THh@uGoLO-(}Vno|CXD4oRzJ)$;ThMH;7?*cqp4@2XJl@1gT&-+ zq5*r#`CSkAt_O%Q`oE|LsF_|sg+@5wNHe{-H$JfEncf!i0~`ps#X6Xc%UA~wvGKzX z6avlQj5O23JFe{cQKs+)k2AyvZr4n2S41*2W5IGwhMC@14q;d`-*^aopUq8WVf&Nj11cDcgW{#k9Q;)QE&O!ki9w6 zqi;&KNZSCCk^kD-qGGnfXnz))8!mbidlrZ$l9j`1gC&ll5Q`U@Y=g8vF3^Tm@R(Rn zjyVSz^e*gD&|12=OOd=)tG7%#Q3j-t$GNq+8}VJF9;{$AhWO&G3ZT1c#LqqAbpJ1F#_N;a5+cGEKdO`0&(HheInD%lW2BJ04=DJVQp3fX~ zR@Qa(D6GVgE1LK)t;MxzuS5-@-}+ZXpddBVQIBnnSRK-Ic}p}MSoXqQ)ux=P+qh|* zti`Hd;vsr#Bz?gRRqKk0^>fk6_Qp1S*a16Yw1=*C6w<5#VpUMS!OvJ=JZX(yV4RIA zbnGFl6W&-$W7Jt|SA(S8m+=CPj?>Lr9!0F^ZH!uZ`A9KNAE+mh{f^`X_S+6%26)1) zyJLSXkKRY1!(wt|(DLXMJRSZjcNf*~&~5VEe0HWo0>~e=)D~zVNux$1^Oyl`X@dKS ztM~zm&~7BHq;t(eZv&RyxJwgTo+e(8(#7B*@9SxCMp58?RzKsuBTFCdP(xR;+W@ud z9O5PaiWj;TDxo_zZspFb*VxBEG@RL8iSb69v87JS(&nl&w`Lp;L3Su^@0lJH-+5Kq zecTbRN`Xw&;zQFtJJWGrk2B4e&U8k78fUr!j)ZJTb%Fa}#Lww;(72TUQ9df;d zJ6C5qm-v3M>T7YPbJc|IVy+YyH5`{;(V41R{uNRSXR4I92`Nrz%4Ie$}=#`q^mgmuW+F6%RqG5vHN~ibb8Kd?i(2wA)lFjNb`+*fATHg98*p z>w@w{+-!`x{nJ>XOd7O0_&FxWt{p_wqvJ5s45ikU$r?~vB{pzTBpQA1BCTNCA%)Sr zcy>j1gXGosV4xUXz+sLXzLMp;_iDqwwW3q|cG|Xd_6IH^Qwta+rS*vho>7u4)nv9k z?64$gLTmsv@RAAzy4XNUmWfh=-R<}Al9CpPw|Ig}NQ5~NT9VXlC^mn_$@R+18C>E> z!~(fkk5oh_{FFE_vmv;w+7#k#Z1V}tWT}h-V{GrVm7^3wn=8c-pkpv?rKnOiKos%T zZZ2sRZtcau$_7#bp7@kqFma(}og-BV5;ej2LccdBF3LVxP++~-Z(vp+{) z={Cd>x*Q}wq_yof(w(zis+%xilJxHpSk0uoAS}~$11P%X^E4fDEyW!z2=B{F*?Ra8 z<*t?G-p1u>9SQIT30}kHGAWlU({;Iu?i4Opu^h_fhA>Dcw|4t%tb0;B%N7x(T`iZr zx89mY1p_6xnZRl$Wl?0h7DdrL%_1w7|BE|Pfrr;ysW+QpK>LU3G!u{}KQ)~=YEinF z#bHtwN2Y6W6kQ>Uqgd`G#HpT{rrh9C(#n=<(m_&ljF%E^VsNR@noQIsDx%-A*v#w^ zT%r@AAyR7I#jYZyecnbg^)+QsW#Ayz-r4vd;8>*C-Hm9K5uB)Ll_4CSLaSP-pQcqU z^#$tYw5syYC|aS-UpWXDR5nl-6wU$elD2p{b~CgMT?*Z*g087b z(;7;yF$7kpF@b^3U7CX+grtN1_QYM)rizHs3rGgtC5%g!MO5V7FrC+x(y7X>N22}+ zkTwTdx*~d*tH9>42$v}OPAYYuOzrIlk*h_kg0LW;9xm2ABgt+ajA$0np9Eos}94=7645v7N37upZslI)gzB8ej| zF#>#DPvygW^0*Txd2FBTszZOm2dw2jqm;ShIAd^w(hPSm9}0c^SCkEp<^~K(<5IL6 zk9)6Gl38(i?19wqxSY~42%CxU#LkgA2Jz%b{S#cmMOIISvaq-_mjaDgLH4+DzmSxE$D zPvCMF$6~4!l2bG|i+vhy?dDYpkz)5UGhADxX_al&rqHTZx<}Khma0mjRVutj)2fyk zpF*oDe~O|N2l&44AVdg8T@b^D+*?s+%qlyVxJF~D%n^&zG>j7QKmx^A!JXD1;~_=& zfK7+Cz5{nV6peACKK+0Zjj4M75{dMvGM6qB@g{gN?kb{#xC+cl}nT7md+^tXTj08ly3?r0-5ee0M5BhkIY)R0P8M zQR%|^wQ_v?-F-V1))&=mPgu_()I}&ER?X$HCsC2ssg#b-tD1>AtXD*&`q|H6G1F{6`K40wHMI2338{Z-)E2CYSE3+hRs+$0qegeKVcr&b*kd#^Ud^t&NAL ziaV?Aw3aL1#{8Y-iq5&~EY~?FSH0ifOmVj9uJBAfmFT*J0MF>mYwS@w#Y`sKMLyNZ z_TQ;1@;PD_AbwZCW1lLwZG>MUC+1)fUI=(4{0?-lFPLOnzix1|ErcVT4h@oi0MYx43mXHAYh_E@->ovR7$%*r@Db4^m-JEd!KD!vxmb4~14 z|61A`=4~utMlIz8(j^YUQa4rG`SBQp5FH0lGFua`%I|&0wrx0Ef*tJK;_%dNe9o%d z61#$bg7wKFwwv3!1(~^hof>lTK5$p}HU!V~@l#SZMXB}@N_dMW=a>9a$p8h{;`Lkx z&T$*QA%=JHz4+mQp2iJZ@SWEV&jRy_ztmTHb*b*jrB$CxAs<4&<=0RE&37zC4JAH^ zME;~AJ@lCyE2$BW3evNfvZ-~?kBN`2UyJu&B1d&yMepCEQdUQQ+=S3H? zK&+=8rV8u;@1!2a9Nt8_uqH+MB2o-%QqR-wU=Qm~*Td8@+45-5J**gF#Hu+5Yls*8 z=E#iBmeW0q-g)TW!>gJ0pU}fp zJo4S#G(g=<`xar+JF^n79mo2_G~wUpQ{BD&E}On(^0@yGs{d~sF#pYs`%RA5U$v~S znm?ttVAaKT8F-hE_9-~H?syBge0`7fz8v5l!hB966IV!pbsQ_KvUAV)^fIdp-Mt*BfqnpsJx@?5-cykOb z%A~DbnsIY$8+iX&0ls#mSD8xoyy+CRY9j?-w$#JS&dB-11Sr{c`XGYHLY>{FH2 z&k3R9Qg20%w4XyrTCecJxM^J@g!j&L$MUMt40!&a8#`&AH)WwCqtTPr-VD^9hGiO5 z(UGb!ciHtFNgdYQf9?);q$RQ=wcSD;#6HL=({)Eubfr{)phF~fA@07Bj+BLh{$o4R z8PF|tT=ai(1fnBVPmwdpYi@S*rMo%Zy*ufAZ&N{XX+R<(iMlq|4A5a(+Gpot6#>!Z)F7tL(VkzSsSw zjIb!z4i3!yndH|Dn(y{YawO`Db+n8co|=sX)7)ZW%QAAU*8UGB^XZpSA$p3VN~6;> zNi?VFVVy;-cJ@rk0cxfe`ZJSs~4>ra4Bk^g&O8rTAj=-vi$$?|T1>3g0 zz{~L9#?h}tc+keP482zn+9BR9jIW_|A+3K*=Z~Ru4BmL~f`z#mw~>EVy^&MB;Y$i4 zwkyyTD|Z}jbzg^E@shUl+%m{y$erx%56a% zhzSgHAvN3i4=GL$QlfTQ8ES`j0A;LQa%1ljy`@`Wg7%YEoCY<26rY$_6Qtb^tD}$` z1L6kaVwNf{-&q$ACf<1wgm~B-(O@?{_gzEpf_QyXFq^PX;_{1FasP}%v#fX4abvPm zoPhBn(&|{8GQ#lq{Rwn*9Ob}sq~a(?yqZ$L(SHMR`bQjNq63#DH9!9u=yIN|ra#NF zuZr-iaGRg(#_gtwPc%PC=_rZ5Pk`=7>-&*lt(Y+&tglsxhA@%fGJ#`4wM?{UtuZ7J z3&Qn!OK?RrxB^Qjjv`hfP2^oE@-DMWlE4!JSgC+Wur5|zD*dV`Wnd&&)BYNC5)IaX zeO7QKwTQT^i(8x9<4rmD^3MMf5QXQ|SUEqtPmm)@NzQ@HI!EYw#YeCd@^b;r>ujp? zW7U?FsLan|L^#379KWA-2PGZ5f3psD{u1QJp@VR+2DVdka&X0*9R8a>#}Q1>L+SmA zVQ@k0Zsug1K*jr*;+z%qRZOIL8rM{J!9M8r zIsCUie}-`F-%o?=n&4upF1`MEF%MC_3_*sCov{Z0#tOE1P^=VV*cLn+pj7>DII5LzE5%mNMG-{j`+V z94w6A-^5+mofmM0VrYhI7vAKQ~9M9_={=yr|?dZLNCC^s#2%?Q_#W#ft z!oejTryo2yxI}un@W040EJ|7{Wv{R>HPLnni-fD?08V&TY%H{qdzZ3CgW3%ngMw3x z2=*t`t3vTQd0HD&zHv6B@5nb(enjOh?$^NZG{uD7N*2r`_{+_KaGlmA zh{JVxY*^X+tD8>6OH85Z?Ns&RY{ZH315ET8rtDZT1z}WzVFpM+KaHQ37ayM&KP^8# z9zjiZya@3?AU+>@C#q|Wfp1^X_ z+`3Nm&`9-S?(BIHvF_Na_4EO!4`ffiENvH_0t&;E)2;I4gA7l;0$U3-I6LYs_^$ja zeCy&Yd-L=6pkM?f^oIkIg}7*bl72Tozlg61idNHg^zIt`;!{f`Q(bbm!UQVA$hDpI zUHg^gO6l%OuJmK!cFF~hg*wyDShkQ5&QV*nDk1$ixSb_5tqDHCUPk!GC)hut`RU@F zbr>G$lKkTn@Q+WN92_WyI`~JS_Vgpgb{5{cCRl3}Udx5oMN8;{3WuMr<-%)Gc&(#w zobli10?z&;%Vh0UdXW|pk_L_!tfErJr3FLH4uTR6rYrHcp4&~7f z9r$;p#Zf*MYf&($dn7B9|T-<`; zh1?z7R{*Xo?w`l=4^D&IOE1+5H>nsfq+&Mkm}%H_$;Z;tRgRWHRLj#00P?|&reV^F zcgwiR!hn_~e*ZiWrey*()8s3ynzsO;ah1pRyO}JxC5XfpHeOBTyz_4S{<-)o%cJ&= zRS%>PM)FE(Pg^b+y=s1Fh_{~7X=o65#qK7KWR0=AnJ`&0A~Gbq{{~wkr=fMns)rM8 zx{?^sYHWFun6x}EDu;GCH#%koHINwjiiS0>i9~CGdF@2x28JIUud^w zo6QOzDVdi}y-3x%ZEj@-2o>5?Vl8NBt!dHVpa{P-&5X+IHB9od z%?WB_5wFSP29zw2f`5qk0C{vxEQRT+?~UZWbSB}N1- zY-RC@tu%KoY2}W<=O>)DWfVxpgY}$PaB-|;fuN_+z@(1_YhxvglM;m}YZQPl0!NYcttPW4upn?r$!2&4hTaGAmY`waU?dQz?rO|0lU^2l6x78@TZ<}&f| z0i>-HAAdrW*&rJ^xPV$XxR9DRIFH&kI6oRJj0ERWs|Ks0!66Zz3`K)OBh@#t@`pv3 zbu>6UQXS%y5s_-@J<(uMgm=E3&AnL3rJDP%y166uSrY^C;DY8lnr;h&vs;Ckw#29_ zwO~?qKQ)rk_AQJjTYxf^mKe?NTi9mV63}|m64E!KFg;P`n0agrb+M9KH)CjwmDD8} z1GSUxv(kw7OKE5?)q>6xh`ksLU(PkT&Naa{D9CDWW;JE&^)(7$_#q;EQ=TV{;W=Ga z&RM}O{>Hpbmjy3DN62zx#iTBrfI4p#67YQwB^^D!7EE+}4^D*p9F{kmCpI((8=9%h z@b}0JYJ5B%ky!#CM&gHSDiE`^Ase+_Cy|k9VslO#tGu?_&4Oo)w&0Gf0yy>_( zS1wsq5)cb&nn;WA*7cFqW@@spM*R!bQZ>C5RW?dCU;40Wt;&qsRw!4oHiR1rp=)7+ z!xWQXMke?gF~%X3;$UsH%xP8LH?^Fn!VSZ8Ia=7l9?D4(_jOa;UBqUTFdg1c#uHb( zZ0%eU4Q@0{XQMKmY{PWAFooC4m>m8mExyRU3^E)%l=~PJeQ~=Xfk{mVzGFt^^9{b6 z$5uERT_cOSTlTE|bO+_WpEV|dNk-iFa(o~?J1F}upy-&y;0-W54}Ju$`>c3DcE#g} z0c@W$48@Z58DoYrfphGp!H6MzG2DZU{?QY%#XJIDqNHu})K<(E)CL4?iTD@rWWq26 zDZodd)&VWlC)GL_!HVG^&mjX-7=;rRorL3 z0dX&Mh)c6DNR>LAEfyN3FM;oHHSX8d2zL%A9b>kQ9UEHl;}dd*u9X2`C0rH*gL?73 ztgI5uMq4Uc;{)|bmd7t$ulS={TjRlqha6=biAYK3=BbJ1iCa-9AGxi_YYuL0_AjN% z{G&PX&b!SMyE`~7@lJblt41cm8*kx$aCkJhg*+N2B!Olc&$dXDk<4Lj`-FpA;E$64 z6r}fUDxQ-;^FnNXg?cxC)GkgoYu8T?>@l`CEXzkC8~K{8jxrqVOY&K~ik#*Vcrs1F zKpq7&<{G-Z4GDPCB;V4kcJXtm?BEtQL|6t45e_sDmIIB)gIn~1yR2eCCUR`0AdBk6 zc(EvFLJnT0#lmW#Gy*ZoRd!NPMJ02%vXF+x_u46*6yvZyxBe;;lV7hTpQ#W3-D96` zzg^OSPZcgBP5Lc_bfTL1PvLYm2xF{e>9BSJ>4uon@ri_Q_xdzMm#u=2yazlL$5hV2 zF%rwF7>v#6A)jW6&1&`pWG8dGvuJMSBSa}c<)?JYii}w6wi0;dr+ADNb_m_{X;h~% zsBMA?ww6w(wUF~Bn}HG7PpXAGF?7PkAqOlAIbd0^FHCO``!=EH&@@Tp(#vnK^*CXz zSe=0B47BG-bY6hJNezzR0*(~dvGsx@tQY3jg$%I4@j^97a-1f>J+>9ZQ?=%GxRa{M zoWPYiS@EJk^ST!58nzG=ow?AW)RvduS?3g*=)o9+H8C?dnI8p69`{wFkVI$~y6bHg{@+^8yVV?BnTOuV}H&5My zA>osb0Vp9g8Cm1w5!41&7v(8WG7z_-1Thn8rS}RWno5?0=v0M_OIvh|PC3|Y3z1RY zRtTf@6_Sr*t4i8xB$7KoqWIB01&HSTVgpaw=_PVvt;lf%K)sb^P|k9k3BXP~zaH7F z27O{2{(D~V^SN_Aw?ez44$&gLDuDx$;2KzgLQ~r>JSW!*!d^Of95aLA=46-4)1< zcB0mYmGGFA+EClx&>SEPsW8<%6~!PGcpeCz@gnqdgrAsUI*x0I(34D`Rw3x1PsIkM z!JU>-h-TJG$VAUQLEa6C*k}Z3vf;R+K{d1#uKOQQr<==X`aGK5CpnLfz4ZnzY1m%K z5Km7@n~t*05tE{PFu|S@uM{MC5><1i>%qQE5mi&Wx=ba7-5-%%g-CFCH)8gP|TtH4@E3m z6+?We6B}#;=B0{UG7M*t93cmXYeFP|tX|Ts96StEK`yL?@H-$2?3q?U zCc>h1aoDJ!$PfV={h*mACX!Ix3lmeZGqF+9rm};oH@DyT1O5|ls=#3*2eFeong+yq z{0GGS#QCA!;!PdicoX+f=3?Y6n&T|-` zc%+vHlP#Z6wz;H_6Tr58FYGGQh+jg3HuO&;v!O4{ZtyHXYIj9qa%-`LV(}V&MGsp% zmFeb*QWt%E4!c)~?E_-Xnxh@nFmg@OEE;uJHnOnqrfdEMX%x39u^BA_H?vT&4+ zXQ{aYD4YhJPD2-%sPIY(&E>gS7B`!Nw(Cdq!gCT<1)=~`ucqod4kB5kzoMF88JC)j z#w(f1l2LoHfJU=%UyvIEVx+#>;cvw95Y{_su%)GXtz>pJ4Zq$q~bi{GSjtUAEDzINeE3gQ6NfR)G zHm5 zpxIHTcOeKDiRyF;tJZ2+6YLUsyJO;;FI^Pi@dfqBt5XPOtyeoPWA9+?-U;H_%I z(NW>bxz@wv1V7v4s0%sy!O2qh%H=Uk&9)pHy6}HcHtn9_^n~!cgHR-|k3?}w-`nH& zV6ZT$wW1q=9`E=Es*4>$Atj!Om5Ol;!6?4{8CHwV+KfPyUZp8_b+t7})jk^j zhF8Bh5QH+Z%-c*cyw^&@{g> z*s%-NBfn$wDeXEHyjKq{ikLg+`}P}O=aY4(d8cw0D&csMRuJ8=Q!HYoeb+*#@|;p* z2@!K)fs0fQ&6CPm4$`JHQ%sbw7><`CCwP-Q(Q)4bW#m1Yi1}XQaOW_?xLE?@o*Kw5 z5)G895E(E?Vaf5*3>~_GLF=sI+y(hUB+^@kw-QKEoZQ?*QzUyL<%}r@2m9%*?(2Px zj|g#T)wTmu6g^lZM*_h>Dc0mmAu4S&+|3K}Itq229TP*I>}qezb6U~M!Hh;h{%vgE z%=%1u5gXj;cD?$JoLt>@zU_|OY@O4IIbK`0T`%b%!$AbsNS2#AwJ|~>(d!%eT_*fE zu6}$P(+B%?br!rIdaHb09StmWm*#bKKSnMbx!@NB!g*wPt%~+BG;e7Xy=eP8DqNMw zLsM4qNDDeF#m>rACJjNxd9ysju{(NL+F6#gf9@>uz;d{A6iOwLwYG42ZpwDom#gU# zT?5lThCMP)&r%(eN<#|0UFNK2tZmRJop24;fhmU05uC?I=Nn@v96laRjS(tC%NgA; z4^BiL~S68+6i|N~@BkU1yY*r%P+bL=IyiEi{Mcff74f#nJG5nP9R#RX%mvZEuL$%ohAf8GitSNO)dvQJ|*0P0HF)CUcLLY%z$?D<&%rQsTw#nqXvHs51@$ znI~kB%`?cRYBKR|Cmm+-_?vhO$M`GjukgY`MMO6S^lB>`3&7$GB@gkEU<3&C5z1U~ zgz`^>v1M}PFc>6~`Y2q&5$ZSW(MfQ2-~#}Nm-Fn0D|8rsXc+2AoW>%(?(uLSBA?pH z7SHjNJ(vd)Xy)j;sCcla2!riXbq!CxRP~;XpHM%0B0OiQ=jMIW5!8bKFT8?Cfh5&=A>On>b>^pQq*h{g6S*qfi^5qei(_}+WTamsa|Ra+t*oaCmmyI; zG(b2uDa9i&(2apFCQ`yhv2-_u@3>stU4}cnm4ps+25b2BB(?m=Lr(PoNYMViQTMeO z>Q0Uw?>qb!LKnh&+FuYwb+3xm@3}iq6+O z9s!TUF+<^u%eGv48P8?-tw!{CdE&)?eF>j<-oL0TWE0nmDPM3|c+N7b;yQFT>R5?9 zN<@V|Ac`|_Lzn1uv2ZtaKkkz<}1^*%h$R4f)SV$Pf> zn*b*g#sWm>-AIrGj&_AI=W9DjJ1fI;R(Nj4!c-DE5vcaEb%03^Qm>Q2Hxg{1cXfy( z=6DHHG+aaGYUTVI4|}b}W9!l@AIhby$Lt|`7gOvJxqAjE`JCnF&(I}aExsm5%V2P4 zP4oxEGWTCPsHB!P!B$F_=6VGZ{2gw&*WZC#>QNUXZ)6J*{190Q=6-jDrsghsrKCPWQy)asa3QR;Wr7;Fthi6{ zD86v5th`?l`h6niy51&<5n55PYc(;~rChV(`aA|yxXxN!iMdH$ViO+gudKg%3%W`8 z3F7NBurT)v^Ae9U{czC7!ef+!371Iv>p&k3*J?hO%JgX_AKtr2T)~V! z{+z-pn$!(I*OQaFoNE5yS$ICedy=Avxh^B~ziS2Yrd5f%7?pD*wy*F4Nk5e7S0>Rj zD(Sx@LkcgH^tqsqh3}Skd+^;o@-C0>?v;0Y@!cYMH<0gsF7Ni`yI;t=e7?I+-W|Yq zHS(?ichPVi0d=PoW_bTXA zH*Vne=-@S7s_$*ltk=9|p)2sZzRG$pgqEf{1|kW=lC$Kz#Q99~&ZnB@#8jFindUj0 z=Fn7{K1_3uO|yF{&HJB{JTq;Yf1yjr;m8YeXp0s&9TFBMe$BZ?h+J~DmlrcOBe$MW zv2MB6w=jJ+(`SPoP5TmcLS`;4v4OM77U5iHajrjhlOD3MP=CebZ;JJaM7O}LS44HYg- z7UB>`K4B?b@AEnLJ9vA7w2?jzN~SrIX`ZubKK%=~n^5iw+@x!{yu_!NxL4Ny#Lo9T z=i`-Wqm{)rL)41qhClRR8AGpOi025@Dh91m(K-hA3YP0`=6^8r=UDMbEsE6W5F}_% zNT zYJaAD%;x6TBw8!~zHc}@;#GMjD;66>7TI_2+Ii9`KaUE_bypBceMq$l%s%t-N{Wz6QlWit#aW6E2xQV z=Jaz1r%DtkIo---=h9q9bDD`X!D*4;#5P%vDQjhYv0y~Qx-T@TdL%Z>_TpYc&uRG7Nlj-b%;kda|JW>u_1D-2 z1>}ZTQJ1DgDBIim5}PnzM*M?J2t%w2f8uE(CMw^hwkLmvsZL8}T>)zOylTb1sxng9 z7pE^)H2IaxvFoE0VGl7lUYNwOx8UgXO-CmYy$9z(o@xd^2PE{(YFGz={MH|(Em1p~ zBlY%Qi$%l5n5EO0Me zK`Oz&i21*Y_p3Phk4)izs?EPN4gX@ze|enw+j|XL)RWKH9>n9$UOYY>#d_G5o3S;k z@9}VBIOu%5c>|udmdpQSQ!xIZ8>>0n%SzPxY|Mr$>;HszcwqWzX!Y9n46T}5s#gHu zi5`a{rKlk(pBFT+-$Zi-2F?K>l>D2PFSqGFya|&#*gqGS9UF~9$=EG&oG;!(@TXeZ zr^eVvJivK}h`iK;PoOf)=;j0VTy}rUOVBbwW&M^8svgvao!IcIz=@3&)VuMVp0Z`) z_B)+fOM4{eeoo{jn*Vjs2n`09=x!!5H8>cwC`H(%slgeb27pL*Ni--PK#WqnyH|INw#pGAt4e=9g7%b!4+kpDcB{|(IFPy9=8 za<@C?d>ZOt2o3F{<$0x=_`{c=V${9^>>B+PJmor_HtOqii7m}sBeu)lT;RfXwlU(e z8FHI$KQGaSAiuKy#~@MLg0Fx^UH^fu^l2>v)HMe z=bs7Dl#r}CIgc+T4^4wA>sQ-(CMV}-zpSW^VEf;NWLcIt^qqc&W$}~L) z18V??4ss-}bWJYeLfbyjR`D_E$n>Kh!OqPV&PyD^d1~!EuO#PrE+x;$2xlwnZ{j?r z|67c#qUEHA=fFU;3EVK}Is>`r8&FBzqJpxj!`f)V!o*LRd~cA?v%B$SNo0A6E19ed zJ1+*=nM`I67g#1|vUN_fp(Z!OB666x2E@=lHN@VUAL*J}I5+VjqRh(r>un-0h{!f< zOSVJ`%vcV=WX2unWQG}UeM>dv6}U=TqoFXnvVKpLp*+g-x{Hz|hRhUJSJo%mw9F5K zGCGEiztYaT74byQ_c@z>5NCPD&N5dsS8e8Jk~=|SXt$in>=$L_CEh_iSy_Lrlk9>d zZo?AKGTA7QVQ&Ej5a6KF*4I$VA$oqv=Wqwvv69bdjm}W%{+h%#F(}=Ru*Y&4t$)^f z_<{#8X$zurexGSpN*Y*~9E(~(DlgxsAr3A7B=s~E`Vb!JN*=9V=2RkH{H8s2yn;}& zvVOcMLm4{}JuW$q1!vJ7y8qtGc?xaWPX(=RGa>sdrm<3FF9oTTeXuOylRp}=kE6sC z*-znA607YEB|AP2#bwmIXPez&HuocN$&JK8&XKrNCvVUWSTJg`+hPqOzRLP>;3NCd zbkmiH`aH}uLnV#f7HuGv^|=_AB;rA4eKt~JN_}47R3gsP^~p<|%4Mv7m*p_q;y}rH z4R<|hBV z<_uz~BS(dsexJ4deUJ&if7}M)_rb*rGrybQzHA=e{|<}aRAO}x(Z6ND7h$rH;#MI$%sh4wg} z5hc+xt)x=I!wvbDUN#8}3Tud96xvU0f}Gu`EHf`r!JNH9l9+lhMTZWzXkn=J5_j%_ zt$-Id;?N|i>5e8;Hg*A)V{HpPl==NuP>>*Fgj~_PS`;y5#aw0&JPfJpDbk3MwvtVV zZ7~0lWu-{wcSx2d|9zZ)kj(EWp5!_X`T4M!c&1Rj4CMfrftHFRpRvrR^&PG=<-8Bk z5z3>>E@;w8eJE4^R#5A4N*OQ>SL>18%;QUZf^es@{$}J!{DDDQ;Lv(_lhMoV@*gLf zbSr_6GUf3$cYJ!Fiv*d@6H!6-SbTZj8%JGRN z>&*go+$?D*KMiX4!53ze=xQuB-sHQHGLuJYMD1}>wGMv}tka`q^dx#97W@OLCGt6K zv3tqcuGY7lmC6%d@xb*shw)f{C{lh65ME$K7AnX+o-JWW;%I~rmGv)dg8iOKIq}GN zxD~x!?4gYjHzeKBK;_}X(D8pDJ;|0I1b}tJ#ea{OU{|b-d@1HN#EY^YjC6FoHI&h^ zpSXmsuiPu#?x{X465V9uFiVUtvc`5uJt88@3mlgh9Bnz7wad zq+^jYsXAme`)*$1IHp`BD9w@Ze>JJ@dwrPpo>bZhNrVdCq4Pk^QYyo@uEWSvS$|=Q zRM(i<*k?V!ltUzC#^Kb3dJ*OamQOmBO4UIsDNA(Xdfb4^nfWD(!M z@s(&ep=>;-`gzn_Bv96~HflT1sUlY*ZM})W5dc{hXWb2)5>v-ybNcuofCgHpN zOp;=(({LyGRI%Z^&k-nVHpK&F9XBW%uJM}=8XV0f`Kh><0SF0fb*N6GXqHoE?ljqJ z?dahIc+|@JhCfl|yNH_|`Fx6@5k|nhMMplv5`NBcCvwOG)?(t4qk-fH2PpQh1Mx~7G%VNA42x9F%`~B+`{>?NeW1e22$4iI+Gf4 zD?Qo8UFuxU()>pzRk=v0A+JL-_`Af+%F^w_S$;)Xc!xjT+RSCIas?r{cwU`@w{oyT z3eD1rvyBSpC03)iRo0IMOC+uQ88{a@K*V71)h*%mJpx(D&>y7S$Yz$1Fcq9|Cx+MIP9D$>;URVo_GcmuN8Px&?UxkiC4S7TzuZXe z)a|t5@4uGDiVG8`a*p-L;Udi54q@66R3;1aKGM<&(*_&I`X>vs#VO1~P!_c9>{5k^ z-*S#q-G%uD#k3SKvSucv5oWxLFc&fFwl`sJ^1XAH5iiH==UAqx1C3tG!%py?q$*#(eX1(d791aU*vZ(uG0L3v*g%W-ZrCnh;5H{ z7cptu8{7}l8QrfbYr0r`f6n=sd(LXNoPUPtRMyXM&v~g^&PO@t@yMxKtH`VwyRmAf z*@I}*a*>!r%H}#CCC6CK(Yk?kKrQ-sz0(8=6GNHgd61}r{{p8d=jNTbWEF8AJP#dP zc{CJhPPIQo6Jz~P6r`jxd-!h^C$-+dI=pJJ;L}yv-87{+_5i0XQHKq zLy;iA!}5zd;y;Av@~X`@(|(`XV3gO(;P-Jgp*v!MIeUyovtJ=@gvUB z{kp5YKLCH2*4~fgoX@%EtZ>WucT}{pey)4YbJFBY(D#rkUp$*~Rc?iwwEOJC%x|dX z$Du{i8cQGzOYR<5apu3{3$V}*Y%g8rO?t>CL)NiPUScq3UY;@YQ*N0%AyQ@iY?0Ym zpN+X?_&sMBoswaSTZW%#_`ITg1>AW2cla=)=ZOYzmJpD|0 zr%ibzjr8ewlA5vpLzKy*^3PX0tT&onSRcF2img1HhW4?E2RY|a$cfh)C)Q&M8(U6D zjKgsBpbN()<}giP=Dq-rQlNu`_K7`Bm$7As5q0<@-?qkRF8~$YbSMJ$5l9elX=VMJ z>(P_LU>t4;Tv|_w_P;S@Q>V|IT`;A5YI$f@LD>ygmX(#3m0DK8p;r}LI`+!xGs_B2 z!u61X(IYRAS7T1Qh*QQEpDt6zUVPr^NSfH!vVt>bPM=v&S~0VH+K&ommR&i0+N{vb ziYr6q)2AJE)KOOXwCg5MDK9N3E}vFfc0}cZ?6J$oU2u5Q zskg8CbkKy`Uq1EK_4KdvRK~4V`PVA?@elg`>ERi#p6a5ni$-2>-dX3Jc~XH@FnQ+8 z$+HW}XBAAF9xAYoykd5!tN?ZX(X_JClL{u6md-4jHLJkVih;Jur_HDcIZ~!qgea+G z+T<&ylof=g7ijW=GtL-yQNfHUlczyzL?cOq7hLee3r;Gy>Z*`U3)YjTl@?q%dCHW6 zsTH$A1y__6l$D3BE}L0!#q`kCD3=&rSyli-upx!=y_HF&teCG`uak82w@6;^^q&)EUWxi04ePY{HQI{NFr;2@q+MS=t91I*V~+~m5VEFK zOr0_ND6-?DrdCV|m2>NWHf?&rRg=r7l$Dag%cstmJ~L!Z8hOD5BQKsbviL0Hl3Vtw z=@ru;iA|uIym6LL(QURr@BzH<818C>+_ zA5Df8hYCiXc2>c4Wiw}?-xM5rL%|hjp3v1WDwT$|;wn(7hr--l`4sOMpEE{|8+qScG~porxlbGk(<`Qw7ECKcT??jPd1b}Sf`hEnMH;%)kIF&?=M{@?c9eCN zbSOwEMeb>=utBo~3)uUV>DLpNnFVD(u9!T9TK4F{)>Ui@Gs;6(UTsY)6(+&jv?foR zJZ1K*@>v!J>0406xfBIu`gh)OS4^KiD|Gyf*`ceaPdh<0`K)7(rA}8ibJC32ldh_m z#_n$tOlrzm=ZzgY>3HY@hIYK5Iji^#N*p$&d{!uU0bQN|S;}UXUwIr$7A!9hQtB~B zmzG^M88$qL@=cmCeM2R#BxK@$R+4~D)=8+4!BO4x z*^h;bJ$fjMH|dJWv&w>wJm!rvzpVL*R9BhNNpS4s8Rf?dB?_LY@X<#LyoZ9N5NYyD z{*$K9D4RJML&q#M%F&ZlsX=F5ocWKYHkfo>`K)r}zJ4w)JJ)}hwI8mB%lkb19pXRM3X1#v z#r^vpYn1;@k2S&nqQ?sPf9zDr1|24p>?&Xi~Y2DN7jE(`;$G!YjdDb1h{eRojdZ;&D z*Y@5Q>2m}ApCdhR@l$!$-vfsu<%K@}`aJ9PKBqPhuzuOs|Cc=LxxW6UJZmjqzu9+h zq~E`r|Fb;n@!c-29$>|?Z$Zkh`}rRoV7=DQfA0WmGhct$?+{Aw?|&KT{rxMD&etFI zf7b(G!|r|*wt06y1pVvoehB@=?#H7V4SQVj;9k}vd-`$x%$`)e^?OO>^~2x&{0CdZ z#QotPlN$cz@yC7E&%AT7V7xHP|GCe4DC{1rTwgbWcjybTetaQ-h294OL~3(wtiM~ug9}+b9di2iQtoLd-Utt~{4e{gd$W-5CnR(Y{k%j!E%bvDvp@0P>#g%!FUjf*7~o&o%ev72crWYT zUUd0lFG)Dae~NW1u8YNe|D*8tf)f^btjDBy**i?pbB@$fQd4^7l1vde#y{G+MARd2 znEyiSYI!}}f1Y)D59!XlmsvBC=&fzmKAv3aeW&^_^IVL-H})N4(VheTLF0}Boy=@O zbh>q@XW#z`S=I*c=@0olE3%HWtoy0y623$3@F}i>FLnMiNEqul&k-kLdNAK};A=kX zHy*?*FT#jF^LgGUOK7G1pU}@@{~7PwOtx)rS-YBUn`dY#q=9AMlV#O-yj5A&qkR3W z2a}~5@4>ZMFztOT>v0l)75zYuJD$fH;OTeNVKY5b!QeJe-^o&a+cKnQ7y8G0#)5uo z-!qlAQT71`e9wZR{LN$C;BEC-)gHQB;2CULRbC<8e9ytSIMx3LzjcZCNx$_Yx~f1f zblMKT^@hjW?6)@a^t1UL zUEO#xyn)9b%d+Ag?-yR{L%#mhbGBuDM)i0=s`?13%f&;V@}hP84|uI*9&gNRy~x+= zJ>Nt6Hu3@WvhLq$$6Y(gzTprtHI-sc&*p@`X7}1 zq-?GOsddlTcdf^|)8qf0hsbgLIFZEZ2gb8&_++ZzHqX&lqAb|gyFT<0@9P-N`1%dc zYOJC?=ktHz6C>AWY2WK{^R#Co z?EW`i|07veoi~UvSQ(f-!YJWqKR^`~sN_P4&s^1s~=L11+jZte{D=k~W2_ub^_ zL|Qi8Y|b7HV0Aw~ay->vu*p5#|BqbjmQ6W$_4JpyBCR0z8q0dvbL_9YR*T1fuh(k# z_;KA$Ew@6p@b1ez{?9!KN&FvptgW(5cPFWb968;Zgun2;ENJpbnS8%9qi?_*RrSDT z7%J(D#;g$-vu^hsSnq>_!IL>oTVHtm&-b=&_4=RcZQbpq>&0G5f6DuF(6nXw?+I92v;0*7>kgm))7})cf6&|d z4PUQ>OAA;p`-rB=ceQ2x$?uN`tWLlGwSZOG%m0UfHNTg?Hefx-*9ZfU{wyYI0c#aS z1MgBa@OS_}AJY%y&CW;INU=ds+z04hUeCGI|75_r#{bIzIc7{6JpN4qs{^$NSoeEd zAnhxD|HeL6v){j{kJarT8Rbuehxkh&CHMtS-Cs`#SoYH}g&PA*O%hJ=mmm}ria!E> zi~MI=G(}Ld9MSJQr0H>od2CNwAtrmH{XfFQ&9Y_-e%Z7*Fa#5wi^Tnqk$KSJ@Rls= z=bqzV&9dI|Ecd*SW!;tK$IUOZ`~V)M0qr9>s`aNS%sG2L;;~jqE8gSa<1LtVl?M;H zTGl->weLAMn8>KJ@S-;J-I<@3TyhkF*iM z{n&J(;LF>;+;*T@-o-2~=kJpE!6rVz#&dBbbp`VO*u=fUD5yP#0`L1F z-SQ6w-ZukY416p2yR|QkF3U+3ugUzjK{YukQ8BMa4fuez*D!1>Ti`e=+b;8TiitJ_NWM{{_Gg%aFeo zcop!&UG&!od_M3&CT`eA7x0C^-Sn5+2SHPY@`nQN%us$Y@a_!d&j7wPL-`AUf0=^Y z{#_$9#I>K6i@-{oGvg}@7eyVY+Q@FBq6>bDVi9&oq% zbpsy&+^v3jIIBi4+Q~87?;K%+1xOnPd>iUV@tcm>U?UTyjS$Uv(DVk6Om=h=X!Zlm z112BuecD!Qfd2ycvkv@ejjsfL%qQ;ihZf*3|NYBtZn4f*;Ol|AwNrjSEKg>@M*v?2 z+)YmtfIkd;h$(-Pp5}t)anNMa(-P3o>(kxz)ByaHZg)Mk0iS_Wq)(c1cpuez^!2x_ zEuXvVu@Lxzf4b{&6!1HNyXmnM_^lc6D&RK)Kg^WR@Yzd%@9{79@*9BX0e8#a2KfxBB5cmtg-Rd_A_-}zb#w5chmjeGCaJT+e1$-Is6U_2w+2t<* zz8?7ZP5fFLZvfr`9DnToDElkhVn~+ z|20GTRg%A(ewP4$7x~lq@j}>l1MoiszszC(Vc)G;-g9UHfkrOs2c4kX2dj8)?VJq( z_5_|z4k~8|fL_2yrIa&E6~q2w9Ow=PotwTxzzc!9>3bpY5iW92J(d9<3f#>eHUcjK z?q-kOz()gjvzI(93Z4MmP5xoPhXZ%h<2c~Q0C%fj2>98+A%^X*jCI3>z)u10R=;Jy z&japOzm32z1nyS9Zs0-SZuQF>fHe@{ZuJ`mob>A!e~kk^2>3{|eshGsED%(rk-tR5or2)wrxAfqzTzRAIGVzPw@GS(@p#q8*c)hmz7?|0_52Od@J&2 ziaYZ6LL3Ml2$$`4I>U|wM*#mPcq}n-#5dl%MIcDFdO2ur1dnv1wIY9n>|zkza4lcdsqsZV&69BTD1`atOb4&o~K=E*1@}kl|=230KN)1RAKAr z0$YcHfmrth{-0e=nOI7(-41;{fR_$R3j^nt+k(|3Ztpzrq47l4007MX`bP(`;fM@Eb=Yr;N z(75Sh3h<%8-TLW#;Clgg>!(iu?*-hgAFh}A-SAG}hatb4uCuXd-5+=+T@MA#!Ju)| zbusX4;F)wC0?mBTxcS6|z@xx3>3RidehwNpT{i)L2)LWBw*a39+)dX5;WTal?xw5Z zz%K`$Nmmm<69SE!u5JQ;8SqTHS`3B_f1*6e`0>8cR; z+rZs)H46C4z}@2KoQJMs6#}0K+_nC|i!%IMe+Ar4|E0i} z19#J374S!aJp;I#{Dr{h0(X;t6!2NV z-Q+I?9?DRD74U0wwrxA#tiN}R-TuI9fR8Zo>x6y^kk$aaGjE&gIxE>o0yN#A!L-NL z@%grm2M)no!hm05;>NzoAmG>Tm0kyh$TJ%FWxz+7`Ol#>2yI1Wv<=Zy)A|UuK|9nDZg=MrWkn9e(q!b z4B)TjXKt&7p!p+c+}dgx@K=DRYb%-;Yy{qG|Lu$OL2CI9g-!~3Zo46%`w8frZD+U5 zxxl>#rI(9ra0>7dz|-~90^sw39}hfJOjQe-vq9t9{=m-#?j~aw@b$pc>5gQ~#UgsI zgWY8uN{j5kGs!p(G;62r25a`|potwT!1Ai++IadRxHtVUJ1)!t)x|LH4ycM{gWLIkh##r14 ze02uA3-}Yj)6GfP{s&|KANV;YfA5)kEE)>@Mc@GwH}uyzg1oBf#D2I1Kphz}@ON4mj1p zt&Sn!SG$x?bzBJi0^phIxB@hnfX1zkO~8v?%Ah)K0sb@KZZZx$Lg=tBXtkZmwNJ`F z9Qb9(?`9|Cfk#s0v;E5rz;DigF9JRb_<3ge-m|qGt^odE2D}M)BXGC+Z2`U58}pB}tWCf#GjaCu&V8j(pxgaW_x@4}{2$=s)?ccCcLG1u zEXSB1Edl-saJMm{0r=m5yR}6d@Fo|$0A>0xG5-|uLmjprjB^U4t3jY?JfUe)5^s1^^?h0o}MB=nAO*pz|J)v^NOX!ZcTj%SQD zzQ8cc@&F%e;$E>S&;B3yFyQI>KmqcM2L9%enPr#)npV)b$uJ-I8^HH8WiZYKJOTVA z;OXp)^tvAS%fNf`Q{AAmj&k=?dB}QrxBpr3w+Kqf#+ zR^J-ngEQbOf#(BHrw?kg7T^Z~ck>Hdf%nRgKmT~k+6{QRHYffgfM)}DtKS6RUuI~} zn}C0k0j~kx2HdTFD}lEIcdK6u@Ygcr-wK>;)=mC=EXb3+xwX#-;43oV6M#RSq5PYG z*8+EwzXtf-8S<|L{tMu4?b8DMKHzSBdMj|!k6ZqH1VOK7$Ug$O7wzxHe**C1GT6sW zzz+xRrr#Ri`vP}uf8e(qlN^)UbF3ENA>eNPb1U$NfV-8SexI_t2{#~!KMi>>%g z*dM_@Nw?da-#-<3wqoCmom(O+f9-SGe#1HQ!|ttq!?CaTVb8$+4E7WC^v77`pNoC5 z5BpN=w_FD;FBFLrP9%UtZDe%X5dw&`X8M46Xj-++CvZr7fBTZdirUw_>`%_@Hr_V=*g zq1$b@wWr^TJ#wMXU(Nq)jXo*+xAnZvl=_j_QpMiZc_H-A! z^Pw}5{#@+yv5UQ1d;XbL`Ilm^#r~LXw>{jR{yOa4(mX#`C(>`i9*W&t|FmKc!yc=r zuU()0F6TK@?B3S5;n-pQRYOmi??9UJNKEBsse*=4O zJ-+r#UlaB<*z0w>_DoOMB-4>1V) z2JC~!I2=#9*q67DqZaJXVgJa*{z1Fle-vlgi4Mma7yIgVdkFTQuyc%LwX62*X&iRH zu?`2f6PEp2GrF_?vG>N_N4IOgK~RHzkq`R{?9t3q-saH_*w6D}Z^7OVJ0JO3<()*k@v2I__^4Nu)AEB zw$bhNtHJ&N_6nEuOWW-$uz!o)YyV^a+=smd`v=&sbxGgZK%#&B*@8m62NP!n_OVml_Capv^PBLQ zgwNwHd05}2+>3oH_E%l()^{lb68KE+O3!PJD8pdvRoJ;@vc{P99J269!lxFW6>dKI z_W?@r37qDAPqPqvFYMm>Vm0>Tu`{Jv<Ev1I#ggk$%{RN_=~U`*crA~{vMt!SchLf z{Law*v}cK$u%Cu~fNs~GD{IBx2m2$s-L|-WT=q-k{to*j7yE>E`*7?Vun*Dg+Pss2 z{Zs5$xU^%c*^a@)nTx&qbcbWT9^dwGH<7_;ZW@G79X_k@ak&R@8~YpZS%Z)3eYClC zFxQ_J>`!B#=8})|JMkh9|FP^pu-~iO$-`D{t-*uwNw#}G3rNI11bcvq>0zReuzkOVbdS+Sm3>wFM zAwJ&PG93Gl*uC8|rC|RK`#?Pp?K9O<><6$<*X?efsRm*7<>Sog1xt%&s5svsAyW}cd{Zy8+qCrK zXsacBXU2IMnC0A$U%xVk<7_=2yLFueaw8Xv{W#sOJzEosy{iv<688PqdX67Vnnl>R zVRy-&a!!+_6g~@&!Dr1e`0P9epH}JPvTvn4MOt}+C$KhC<_joWd*9)skFhv>zVlJ< zTOQkeH^&;Lmv)Jg%3x> zE@dv3Wfo&`I6mISOEC5f?4m5b`ny{Cc*{qmvjU&Kq~og(HsLc6AMw#ndp|k1kY=6t zVvlyWQ|D{6`UFnod!P7p)6>wt?-+_b9J{ajq#T1!#WDCSkv=Z_Ey`;i@4f9@8`t3z z*GYMrkHN=3rSo(KOCMk3DhZ!)os_3k`uIv`5k4uMq|+dMe5KQbPde%N@-f)l9PA{o z5Pa6mblV%#7c;c$HxZvkeAsGO;}4&kHJ>7U>dEUIH=hj6XCXe%;4{k2=Q?eiuEA#$ zKIiH_^7kf!d2c)R53&22*N))RjL#rF4a%$khD*Q6%t`p*>QX0LqO&k!?TN*wN4djM ztNX;8-@U&@eJNhd6$SWJ;OA{^nU8&%4|_fKSReLH*a!Kr@5LVI!yb^z83%RsR=&a5 zclxj=Vt>Pjy#V_PANKj!$5B3(XsfNY=T7Uf&-P*uCdwx4K@|?irFwk&(>#We^TmFA z2IJ#0N8+RAK#@*R8fRPha5QX{1D^_Qj7H%z86RKs;8c9lDt-IR#U~Y?(QbKNujN&T zPZ>T@Za#XMH{f$?Cq8@exxW*iz$ttlh|h4hysp*C6OK>x9PevUFmcoH8G#SY?b3#} zan6KVQhW||;?szaf0f%FnEsmK+`c;RfABdOA5UXjl*OL|`orXN5&v&r zJ4qv7tM_1h{7A!P&cSE8=97evD2p$jQhbj0;UngXMfh~{QQkG!4^m!V<8LQEQ%FP1 zQF@)OlI0cowBnQQBcFa(u*bnZ#4QbZ#B1&=V(}S|kFT=i;xi5(U+pp$h-VOMy#>ZQEMPKj5=S_UN>G{a}bCFK~hwIPy z$Va3RiqGKd-O|wZhe_CbV)r)YL_Vd`CzAi`<5J&CEW#(4bi&+x^0aHM0iSvJM7a4B zXydyHpGEk%e(qwmZ7cTsu@84kLw)Wd>Kx3W$uszzr2ELvpo4iY7WD`|wRft=rvV>tZ8Dg$Y{sW1%i$QN-^-hOkuG6=YBPeLDEAS37n7c^`L`bj-lE)R z;;;8rn${1o_|)O!zQ;5_#$=3(ymDnazQ*wUWAItkiI3>7t-@!n=P@em2eDsqqxb#{ z%HUoAyL)}~`^PAJ#^K}beoWMPDn66(@pVnk#V5;0S(ai??xZY@_@v?EZNJiwvb5k+ zj86~#-`tbNgoOt8a399z^T~wDEcnpEvN~cGzkQd~6BM4MQ+*_u_DFFFrADJ|$W@G5ECN z<82IxHp#%J%gx@)I~V(Rq~UFhh_ck-a}=Lcx3V}NV{v{Ky8)l`$j4V%_Tm%nr7WVX z0d~&9z1T%L24gpTiwT?95v!s)Bj7;toJ4q)5pMQ0dP9i?Ns(r70MbgLHniXtt{)f*1((!h!37<9i z1pCNK^yg0L<89A-1bbJ~@HO`OW$`92E*Z$+6^l=|I>i2zvDQ2&1#xm*n>Vp`3#^W>GtzP=x zE(4z&d_2vGBA>a~Ct&wg?>d==FP{zgT-QlDd-1s!pEKRctFPsOIeadNkFWL%mp<<8 zr_Zrz_#Ek^JXQE~zr}amm*NxR!$*w2Mtm;8r?+0O$<`jP8GAVP%XB;A&-{6jx1Hn9 zKbN(u6Q9BOWOw3|gwGB5xL@DuUNo38l;ShL6Q4!+JlKg(13pjSaU-VTGK1KM1>wO`gR}A94TI@HGkH4_<>O-jGy(-@8 zCEnl}z1wWb-Gy%mVI8(r!`mEnCj;FB61oSD>v3X*f0c20-%HPr3>nC~=Ka4=zw1+y z%)jt*{G)lSrDv$W^Ad_pr1jZ&hhrh?zk4wsuFJpm;ylMI>ZbP2d?+jYIZ82xCGqSN z1@(Vd^G_7#eqGA^l|O#MzlLyx&wDynlWeefF z6o=zGQJ(L$@{E;#Mv&!5&v<@|E$ja ztMCuXbT~>x`d!@pZR6WBkZoFz|G+Hi|E*RBXCHL%--&-V{$}~VaQE+6{s0^IddmOJ z&i!NXU$6ZC*13NH{y*VgChB{KyT2`^y}op^xL4zE9U5hPW;s{*U(>;#BRA*owu-*m zfbXbWhhw(z9pAxsQhVC8rAYe_{)h4$4lWP+wu3((H(F^2ci|bw8PfNx4!)z?)27^_ zEGhW+D3JbLI`^-}{{`j$?SpP(-_{|0@%LTg3muM|MA_f(;6JUsJk(W;{bu|J^0`BX z@P9$`PjHU?8_WpKkuR<<5vLc|$*n~Whe12}-_xar(K3={n@gNor4GlVqHK8{;>^+FP&ko~`1>wR#0g@2`;YMu=WEwEqEA|gvz4=` zY?03Z4{@f59(Pu!A3ow`&4*5QpAT1$ZF8g?M|um-@6x_+OETxTI_GR6*4WV}it#4q z!>!3}<{Ino(ENEmHI3p5Pto=v_*D~jIl*jRXWc}3!|^Y= zs?Bk^NINOiDlgAjlsc0(uequC-G<*iVoYUdeyKc%Fxn{7W={%3LB#BF2s=%Q}2B@O?q} z-mLjLpP#uyOWN#{{rESjwC~gWJ*3@-@^+mg(_XImdPzGG|9SYE<$hW7cS~E;u>#-K z%J*&WzM_tG_j_Y+>n{%y9)qH1nOm{fGRrs3e+BIJf=@#G{TO-rG zM)UQM?jn3w<7?J!j^^v3ZjJbMzrD@57r0IH6=g_tt=oQlx8ZA+_g*(&w|3~m98*89 z%~2!TY^kfSSf^Y>DoHTYLAmi}`)_iw@f z{D-Cg3g7-Al)qO1=S6>Ob9})1;lEk)Ph&lJ#reFU@EeZb@AcA8{3SqjpQQPT@sW$) zzJ@l(ef-})O7lx%jEbGG98AJj{JpE6|1N!#eEY7$cjZ6Y9CJjvxvsvIR~y;`0<6pHIY-F=KS?-y!_a~^-U zDo?cAR4oqWuCkiVc|U}2HojX#`bC;ro0y{vxyRy+HFd z_vN-v+mn`kdIbMxdO95QM4QBF{>=H`rw(?0=H&mD=Id?!!#@H4FT{A+ zs`+P__58cO{)u|l;6Elpwt1fztDdY6`aF)S;de%tOEcy<9M>~HZywCw@!ijNXD)4X zl>X>&RK;@khpt68qg_X~IS!$=QEiUkpZG2inuH#l(B_znUc`Op3iNgE|F)t}PHJ;3 zxx?YOXL6h42%K>xe{=3qAeiVHfoy+?-X7Szi`Ft-i zyUno*emt+uF&u6{V;4Cb`P^fLEOR)z&uDYRp&@84`XSoz7N5r!kS=-wT16e>&?V>< zXahP^*wKaP5%g)a5Ba}{#-MA_spz+875YSBnEF6kUQQp|7Du zXy|O>qa)B&=rnXQx&_^j?n49bVmxr~7mD^llh9hU2wjHOqN~wW=mvB%x)a@xCUO52 zSnF^!qM_(EGzr~<7NJK`|HI_VeOE1%- zLNoB&g%-hk&|1{Ep7hWFbUyY(N!{R&+D^ z6S^Pmbra)Cq=yDBbU5BbL($W3COvcrT7+JME<|h5)#xI0D_Sq!Cw}j0#vNLT9_0OH zXwZGs9}P#hpeg7NXeru_`@@B3Pjodp2;EEkMQE=h4#y#MEARK?-tZtAhX&nGf1}~( zEHnk3kCvhjp$pNs(KYCA=uY$z?g5XWleuT>^8o#b#*%)wJ7^y`6rGC3qE%=bx&+NZ z8_;{vCiGp@Sj0RrpZN;y&;3j(>6D>$XeRe8nY=#_-3s@)x6M%vUxL=5$!H^*jW(n6 zQR6@K>;341d^U*&quFRU?;l!3IpN+9k}jHnR-@CzIcHllOTW;Ejo<~i1@yV3cSW7-P# zn($-j3Umj$32jFAqJy8}dU%}g*F8-;qYckeJ~U$$>kwLlu0xlgO=un3ita>%>l}{V zXe>JKIpz=aNwfz26s<>%=gAN4ita^wqXEkq$LL_R5=}&JLJQEfXf4`^u0nHPpncKX z(1YkJXs;(2XJ{1Kf~KK|&qQ+CSI~t7MhsL67(SW0jueGEDC!*D8GFpe;gf^o0q0Q(^s8P?j zL4(n4Xe_!D%|ruUB|drvT89ot8_|(y6#1k!kPf^8HJ)Z%q8Yqjx{mRS_IiVKc|R77 zL#Lp*=nLo??7zOrc!Rq&GQQDdbTe9r?ni6Tz-O3m&`|U>Gzt9xZ6^MgZ?Uey;p-W9 zXbu|i8{>(4`&Doo8U;V`F6qKs(1YmLXwb8auT9Jo=sfP*Gx6K0c3y=V)5MIUl~z#Gwn zXfqo09P7?j%8g!vrlC{N3bX)Sgswu@q3@zi=w7rHZAJS%&p!7f_QmKxGy}~?YtUQJ z73d;#1G*F4j~+q;UtphwhN8wc%8zzKi_j@(EqXP&3N1x9qm}4>v>FXuO}Wr;bUm7a zZbpMz*~fp({0pCpE<`UuSEI4$R&*SC5UoUey~uToMxl$*SmN(P)8K<>1$q=+gvM`Y z9HGb(++4N zT8$Q>b?CKdBU*ztqfetogTwJ28jNm5W6@90O!Qx9HF^-OLr?vR_~@BvGa8Qa2aO$5 z&|vftG!cCQEkK_^=cAj^dNgP^^+nUrBj^$|j`lkL8{)r4zoBvHEHoEwL~GEm&{F(v z-b?$#tIOtR-voVCFmPy1NsrV6Kz3{peKAs{MXr^p)u$XbSfH;R-seTCFnJ11G*61 zi9U!PL0?1ryurBv8iR)ICq6n6twNtbm!Q9(4e0R)h>!L~kD!;MOMhn_{(<&I^U+o` z>PN2oHr83R&ztUR=zFM12wfQEN>IGWI3QU2hwBc%s(1o{gai*5|!o&>%AWae1(X|xXA zg*Kvx(Kzy-+mrm^MQHW=wC^eSeZ)9M8_`G6BhBOg>iqIJJ9&{?Y1+78{_GM2=@zE%>5xoIzMt?y01L+RiS;R+AMPt!51|d{ z_o4JBy81${QM3sS{?OqNzsVbmjt`^$=;vq+`X#yo{TAJT9z|QwGcKZTTiGw8A*cgQ zL`%aN8|dw5E&4dR3VjRRjGh%i`Eg&29^yaO4x#*9A5Wme(KToW`d$?Mhwew4(OZYo z&fDk%G#DKjLpk>|KcfrLNtf~d0n!*nyiX|ux&mE;4*tsFI4~Oi4tpG95-ma#NoOHi zfG$Soqf60x^a*qmx)I%v?n8qroB6<)lLVM9}i_sXg5pAS>yN$z+rlA?UUxjW$ zm!bR7W;AFg>(zMXRCG9+hGwHx=*#F*G&YHGgeIUZXcFrG8P_!$f=)%_(CKI{nv2$; zGtm`jDY^lzMAPW+9m0-APar+szXkRGoI0Uvcz<{@>B3cLBDxAKLieEy(e4w8hu=+T zukV>x(KvKO3jKpFLsy_dlSmK$A?QxD5^Y7rZ=D8zK|C}L?KzqLL6gz##Cs2|g%6{v z(Q&Et>kqUkx*a}*9zh4EiM=J~>S!!F9nD1VMr+VDXg&G`x*4@ip+8XZTa!WmqTkVQ z(!CFjg4d!`(RFAQ`UAQY?U_#A=rFVe%|rus;fIEz8_*>5TQr08lCGf5;c9dd`Zu(e z_XDOfUg0>j2~9y;(Q{8m^WpVqJ-P?ojP{vEz0d@- z-$AZJv{y52g~p&ip;OVYtGMpa;pkGd7;Qx7qRr?A)Sv7ACo~NmltDY7ap+RC7;Qww zZ(X&ZYtew+%zJ1G`F=i~_JCW^8u(c|Z2>o+Md)sHA=*8YzClN#JJDqH2wH{q`WM4It>k+;QtwmR(tI>Vvb~NM~ ze9`G>zkOWu=y3E!G!y+EtwAp+qMgtTbTfK4dJugB?e!gdQ8WhaISU_jI9iPsqkGZ0 zXe%l{-}~$JR}1{r0)Mr@UoG%g3;fjrf3?70E$~+h{M7<~wZNa%0^C)a_Zdq6NV+_> z+5Y;!{6CL28i#)9BEF7jY$Bu6&|aVT8NE>P)n*Zz?)Ec!qA_C(;}les=O`aBitiTk z^#((H|BOd`jUWPF`!JSF;Cnl$oi7sp(&i{RaYLFY78)vbyj1a>H1Yllg3wQ- zUX1cMtOrzrO~5Z>2M6m!A<$NFbyW@(GoMd4$D;m4vl~jf5S9J%q!A zu3!2Yy$OQ|(S!s-Iw7A>Ntj1iOjt=+OV~)*LD)k$Oz7H7e8M0?G$DbIPRJ)z66O&W z6IK$|5;hWc5cUub6S{sye8M0?G$DbIPRJ)z66O&W6IK$|5;hWc5cUub6T0puK4B0c znvg(9C*%_<3G)bx2`dR}2^$GJ2zv;J30=P?K4B0cnvg(9C*%_<3G)bx2`dR}2^$GJ z2zv;J30+%=PZ&gqCL|Ej3HgLd!aTxa!b-wg!bZXl!XCn5Lf3DIPZ&gqCL|Ej3HgLd z!aTxa!b-wg!bZXl!XCn5Lf1XSCk!G)6A}pNgnU9JVIE;IVI^TLVIyG&VGrRjq3gHA zCk!G)6A}pNgnU9JVIE;IVI^TLVIyG&VGrRjq3d4a69y5Y2?>OBLO!9AFpsd9u#&Kr zu#vEXu!nG%(DmQMCk!G)6A}pNgnU9JVIE;IVI^TLVIyG&VGrRjq3b^469y5Y2?>OB zLO!9AFpsd9u#&Kru#vEXu!nG%(Dggw69y5Y2?>OBLO!9AFpsd9u#&Kru#vEXu!nG% z&~-oY34;jHgakr5A)io5m`7MlSV>q**httx*h4r>=z4(ogh7O8LINS3kWZ*2%p)u& ztR$=@Y$WU;>>(T`bp4+Agh7O8LINS3kWZ*2%p)u&tR$=@Y$WU;>>(T`bp3(&gh7O8 zLINS3kWZ*2%p)u&tR(n)i8(D8hhBrkoYXWj-!VFYUm#h}ucln?JEr$k|46*lGi}D( zn{4#2&8YqltJ|2-qb~^_JSBT}amDP5k_wBn%1VNx!lJ{5To^Iid~@h|PIj&%e1*we zPsSuqF=mt$l0*f_EZ~+>A(3z|7uYlD{SB) zb=_^oZLs-33d1wD>jVBR5oNHpSjQ<(_;u=x$ ze{+j}B13sD@zwb22e;ra{@#J8uNZIDTKfC~gHfaTkA}CMtMcz|WW)0{|0?)SjqiaM zXuJZxOXJtzT8+2DcWb-{zDMI$_+E{BQjvuki}pD3tIZId3 zxBz>m#w*|m=9h`GJ-5SRz7gNs66yUcnCl(k`t506*ZkLfiT(*;!#uxzJ~+jQfMZ{w z(7gQE;a(2w^Tl|$d7#rS($9j`{?X6Y*C>W(sQJMbXxt9BG8dcqV_y!xq~c?5fE!`4 z-?zaZ!V6V-Y`u&oSnMkY(>{K-(~NImalcSXf_}Esjo)DP3g$oExFHbxb@A%ST|f{l z_U%qS$>=R^802dpdXC289wS=gV0au{!u2Tj{R63Q8ay8s_aTDqn!kvj2S2LWuXVFm zx$&*=^Y{;v>D>))*YaBeAArR@kI1hM{sk7*7W_1P6c%fP;5Xq5`rC|uNZtyomndJ8 z8=uB^`qWF@YYos?_(!_&Ojysa8ZM&0#qXu`B>yFD{?EY)XIbsF5zc(tX4pwv`0s<4 z$nkM9tJQztH?fQF8VdUWD!w+@W{BTa5cQh^f6e+Je#1oA?}Ib3i{GLU_P5}k11~R$V!u|}?}T^5<&syy z>F3$Z`%h8cf5OvfUseCzuzHF7e}va*_31{tt=HP;TzDY$Q|%iEuO>akS@7U8wLh1*(FCjZh=SL_syzzeM%EkE9!uah?5aKdxe+ft z-$q+G+cOH@cD&6HzY`oXyUK4i9H#l-4`;wC{a4_6%G+Llc&irwTX?s|Mi2g;*eN#SJvp9&Vf7Mu zo&#Ubc$>)oMR_lQ`-NKhT@5ePxEfY35&w4h5c#R{EQ15^SNy7*|2j8b59d(6MWiM2 zZ-#$3*=AHQ#R~4nA;??3ZAO!{4}%{&&1Q(-z!CN0!}|O* z2R@(jsrGpY)~~PC@G|U7D`x&*!zHi2k zJw<_B)pYwC7<}z6o$F ztjbpg>+{!L@bCyL{u^){tm1zOHxXa8zxZ)XeLWb!0poNn{xmoro-ONB1N%o>^?MR- z!mjGK2@b`s>US9vl|G+NgOjnV`rQMk!>avWhWBgfe+X}YRr&|uUPG+(uVCX5t?`ZU zRJcZ#_iMNbR`E}#A-Y6a*T?nn)v#)x9sFkw93$iZ0>1#O`b07j>g&Nocq?{QpWER5 zu&Pfz+%4L&e*y0vYPH|5@N2Lt->Gc$d*ZM1yBVH_UG>-Fu)e-Dz(ep?<^K%U*Q3L5 zvX=k(XY%({VO73~@cfId^4$t&!fO03gJWP-zIE_ISe0)O2fI5-Pn9o0u(saW;TQ2& z<*SA_!(tj0*Y7*<7jUTL-e>VQF!+H*)&AGRm&1=s`#10|_*Kc1gZZucVb=ceRycXM zwSGPZufu*n>xaniJ6KKI3i1 zMUo$e6JgbVJK-x}y3y?ap$z)|TwikHH*Fwso^7B~O%&NGacv8(c=!&_ig zp2y*?NmhBjf}>$oo?+*+-ovUqFT$bB*DC)OI3K&>LvHqSFW~o{v8((?!JD-BrSKvx z{*7=wtm?DM&Hr=wLoL0Z;C-;F&v^{|ffKCyTnSHxRec_ZvtU)9<1S?X39I-Q!>?)a zv*CSO{N?a}wD@hXda=|S-NO`#{gGh=yKxxYH`!{h9QZ<*%hK$>FW`yrbje8!l;>d8 zeviTLYVmi$pTlv||0D)#|A|)pE`@h8|EvBfgsZSCu7qP@RsVXp7A9G+zp~ zpTVxm^BKGiR^{n4#4x^sRe5H^wnUFuDilI??|PgK7v*IY=)OzX|>P9OX)9|WXjWc(>`2=No;`c(!OWmtSKyk@$^tKcT$tNQJOTVPe5 zpvxE^*;aYR!-HVeKNawMFxvt{tnc^1|Atlnd=HFU>YqvQI9QF}d*NxY z>Yvx)1sZ<`zXq%Fo_9I>TUeEMB7789<7olxpKF!(Ww;(bOO|&l{4T7@dtof|9jwMv z9y~D5D(^ygFs#bE1&)DLc>)<2v9KynBwPin^2~y7g;o14h6m+a<#`#7hgErkMzJ4; zRe2KOI#{(|IlK~9<#`d-*Y7Xkwb<48*bl#_#Sh{_-KyDR;jcA&39PT@%i+D))%^S- zY@1>A*O#!qzV~OMj>JB|aE^~fa2l-2{{cJ=R^{sz&+jtBVi^(RX)3I*-^<~p*j4`T z!fRnQUb-c?uIJhC9_;tY^nQk`3atG5jxmfIVU=GJyh^i|!Y{$9e0A_Un*BpqUyr*c z(!SVL`TD{wFw>4%pYgE1KHmqQQD~JfXsqk{JPKZgU8Oe}-UzGuR>S&w{U&@EyK3*D zs&T_&dw% zwfJ|#pXl-7qwpN*Z=2w{9!J4t*I4xxf4{gEK2G`r$=gZ1_J3s_%|yH8;}$_8Xnf zc!h^hHc{V);iq8LetoWB{=UJQpNrs8uxigk@U1sm>*dK)nNQ|g?OOq#i(R$vH}HEm zTkV^BCH2F8s?7gY!M9lL`2(B|tM&{cp)$Be`p<$7!z%rE_)p5M*7)pm73T@CT5qD@ zCt%gyMeqh#rGGcv46F3_!MV3t>5t0bHy7c)GXDqRov=#(ML4L&N^ct+3aj)kx?22R zvX$N)aJSp7^gf3}V3posI0IJY4V%vWGOWs*20sj|@o+!93RdIsUHG8pFaDO+iSw-V zg6*#Ri|Mewzo>;n@mJ|T4D0)ici~vgz8y~0xMwE&d03Ta4EzkN%3lEM`-PS8J6ik} zc&8Ts^epC=JFNJZ!20@L1;=1l^Wjo>gvJ}-I9TmB#NSj>FL8aIkgbSu$bWml$@nv^ z8{+!78h#j7^Z7mSa#*!b1H1-S`TqjH2CMv{bGW~rZ}DAl5S%L0Z-fuxudat)xr|RZ zRNAZH9Q;-O55d>KD*qSYn_!jy=Wq?I@;@Pu{fx#*@aM3~zXW~_R{6gO-vg`syX3PT z+-aqM0UQOZ^sj(Nz^c8Tgztn^ddJORf3I;a{4&fkVzzH1?6<(;z6D&*@Nv>U3QmVr ze#LMmtnyn2uhRTm;FmQ2phE6fHUH`G@po~(`8o4{9loa4X6%;v4VcOK9<1tL1}EQb z)#qh62Uhbzz%}fb;DIv!&G6$emz`O^1Mu%~faFt(c;@vUtN$j!ec*GX{dV{=c!1>9 z@N`(U$ER?v#=pUZu&PhdEW`NVUaLO4;pK3sOfSBe`Dme4pC#}+u&R#({t{O8nO{Qx z+-KD%pp^E9)%AQHJQuE!>Cc13;TqGjS^r(|G+3n{aV_f)tmeB3@G4l3-i4oo)p$4nzXGf4`GQLJ2e4`nJA6Qk zzX0yO*cuPd!@V@#2A>YA^pC&;V3mF}8_g(Kr9TtCQuAL3XKDUh;0n#(R>gb>tNLZa zyR`TX@E(oZ;O}A8ekIp2|2<^I{{T+Y_=4*>Z_xNoxCv$mkVc^KD_s1Db)JxQ1J@he zQ}%x&{34tx`JB1j?>=g^e<6GhyiBI|Z}{!Utn~73Ft2K;;h=weiQ8rtM;ph zN5E=41l`R27_7$oGF_ei>Hzr@>Fc z$I1G>0zaeKo8b@P0n#3FE9(uc>USf2YMqte0obPT^xIgkVU^#V@B~=pw-27I*-x$E z{v1~67sE?oRi9n(of=QPo$FPLe?7b%R_T8Mf2P^H&SSp|tNM(C&suKv_X}_ttn5F- z4`}wOcQ8IRejOh6gjL?&^Z7k>Se5qS_+u-$n&hgm)PR=J*Sf76mh1E;6 z!Da9>*tbakf525MZ3fGNA;xnH{55>498u_ zX81N(rFTv(*OSIK!q36+GQW@EpEP^u-K>xGR{R>cAFTX8hqE;Mkb4ZHQscYeyEOl= z;H{edl6(340h)aweE!o`etY3qSj}JOF68>qI3G^Y_(^!G#x1aViS}=G<6ieEt8>3M z0M?%$7zyjo17yMa=l%0w{qy+OVg2*=|G@g^;r;Jt{tCA~j~oH(pI;Zi`sdAe!}{m7 zFTwift=nMz^U_~o{qxS#9&r8qa5$`gUYG&vpTEt8_0QXu!usc5Ps94>P4C0{=RIG* z`sX)$g+J&2r_jt|eE%Z+Q!KVEay@_R0qf^)Lty-Xb}Vf}vUZ?JyMj$ zU$(>g{YxvX-(L({?7H92h4uY;Ev)aK*TDMzxCz$xlU*Ki-A|qi>-&rGu)e=2fxp~j zGrwOY`u9$FKO8Ch`*B#kdh(wYaQ}Z==MS&B+24dqv4`O+()$En2CM7;0K8J;u1naD z!6!=p{_txWUkq=AL!~_l{s|73oCObj&-wha$nOSt1gzHU^{{%0@_zzP)$C_HtgO!Y zBMdIXuGX7eH+w1k0CsgfJn3eC5nhQsn`A|K8sV+ybTOZ=9$<7g-h%_)x6Zpig~Q?g z(!a&c{v(`>on_5Tug@c{a#^;B9cM^uGu0`JuJHXn^zKInusU#Mk=k z8+aFXHJ$^=xJGM_(?vn#OVmFM4%}*$Kh4cv=*A`Rt@x|)^f>&W#y`UK@F3C_?NPf- z<>qYP`{9pXw;AH^c8KTq{tj=!zg+tN0$=j3&0yPP+Ru61HGU|3=?0r|rL-r*%`e&v z@pnT+db8m%>ukmXnf~MOuy<_6N7DaI_?`96=Tn9Mw{XSVHsf7s?@`B}&i%;xy!Rrw z6jt?}1mC7{IlLHVnm6nF0DS&7EB?!H&TBSCVf7O2H_MH$h2Nll7hx0WErPEkziVO9zF)%!un(2?<5%!L~dA#=6fL_Wp-6^@bqv*2o2R6~^a zIXI-rn%`UDBv_625%oCAm#FU;H%@`=_>aUU(t8%JgTIm7>uH`p{g*X9C&916{rqJ9 z@W;EX&)-jZ#CM*uAbAz@7p%tnUGNw16|%es;K<$Ff64gi&vCyFtNy8jhkk9HKOKSZg}JRT^PBcO z&*Z?TN?ru_Z?W#DK7h}L1Ef9R1-_pFtNyqO9s#TRJPO<42I>C;Jo+1(Q7SocHJ>lS zs(kmuYhacCX850QU+LfXMeYaTfsz-%$L+Ds7k-3uV72~?dx`U0_zT%S&%&?lwfejJ z%iQn6V(f_a&WDe{y`}#scWFV*jxR4&*zTqCEs3gw;!=*@cO0KmI51 ze_;<26PtXUj1GhSiQkp~3;Sp{dm*gvf2v^pdVc}d$KOY=-e28bQMrlvhWy;Pz>Obr zgP@%aD@yRxjayBYaS^KLqz`v)XeHJOWnrIpqzW2iELU;aY7!n+q@0xD;Nb@y+m3jTgYT zAK>$5$|Cj$%VE8||A1ff>tbYL7wz>G+}CFDDQ~)#|3bJ{D{l(CS}X4@@aG!W!>4|4 zGphZa`R{|TC;jmAt&h4u6zSSXXV^mE{Yl=m{? ziuPRw>*ad`e()!o@ttZPSiMAkzq)a^x0Tg7|Ax46m>XZ}#*;M`^~;CXQ=d%!FUnU7 z4?ND|4Y1zd-@>TCxF6TVvQCPi1c@GNaOZ-C+QNBrAxPOGtmb?&FFX4aUhpz1t0jJ}y%3liW?Ntxo zsM-GmuYfa1%gk>p{|R*NHw7<(FMw6~55WszRlaLJGK_CE`}=SL^;PZNYa8n+tjeDa z>+SIrtnVk@hd;qTM3!gp$HYI$8gDnjN450V!Fqe0xt;Sb`~zkD>F}$tD*qdBzwTD~ zM|{E-(YC;Z`mF9ykBfKIM55Eq)@b@6T>5;0*E$BW=b`hK?e7q00)4DTU*b^V4lx#ssi935o!|LlKp z-V2{3%l8ks8dmWK@8bR$?l0{buzHE|+zadJ4g1nC>JD@MFH!&B;U&yJ0sLRgKk?tX?tcql zegAtGtgml>gZ1_8AF#f@eGKdC+jp?OzIEB_y1tzO>+9PPSYO}9!}|J`1NZOQg%8P{ z?a?Naz^)0ju`^1=ibp&>^0u#hxnT7r=UduYe!KuF`LU8@2SW_=V4-HU0>0 zg(u4NPCU%#9a{W6IH|9--+T$K*V;4uSJJ0_h7(`3&nkEy{*f}h{qUSKEI$1RpEqms zO(dL7dn8N$2VsAH^hd3q`{2QFgtTArAJz<5ji;5cdiCT#2jSI}&!7K``62o!`(6B1 zdoF=L)8c;ux55GVi~i~T8*?n>ze;j0?0;sL_U~tX0;`wEuScsQ=XgkmH*58)g8NZ_ zmEKl(gqGg;->vv3^WRDE)0+QcxJvVHgI|JG`xLfu{llugzkmb!TkR9(;Q2c0r~L1N zFTg&WyhMG!g6puW{Z25y0;IRst?&%|)%E%|d@X#5jGy4=XFRL%$M82APq6tJXPsrO z56{EH;cOYdPZvL98LY}T4PFnc`YeDC!79Jr{(eSSu*Iw30*x;^&d+!P?k&@w59{X- zAHWURFO&AMUHQ#Wjkmy&11$T<*r|)VEufmKOem7=QAm=ex6VX>*u9^gZ2B{f5H0w&LF-xqu=jT!212lOR&D*9dnAG z%YO9+Sl?eBf%W}KBp=M{`y>+4(Csf~<*5g~pB6Ot~fY8AT=8Sw;5TijuN&d)DkK zBd26mX;EH9UT#=)#L!`eFxU%otDxuzBfl(bR-Qd~_N-ag853p~RTScy5I!McR$fIx zNp4t9X{lkKmRgY%W49NU6c!g&fXOkVW)~J!B&MW}j)1uJ6Ex$yVn=tGmmXiw-1@)FNF&P~ZJEX>c(H(Y8eJ2u%< zB`BoXZXRuBJGy7+o=ikUg2*|(IInERb@3Fy$j`5sbHN2+ISl3wk)wn$rZE4C!t&gb zS@A~xEOQ(dR^$}OVkSjIq+B<$tSsv~`^c2BhP`lBX-QdyJxjbJhT72Vl9KX@=+f&L zv&BQQN(+-B?D3W%DdOVxX3WdAS7sH>&NIysk?o~PwgV9!-;MP6?hudfMtOX9sKg^?CLR`>d=g-}b^{-JY9QkyTg}F_ghJqnKtYXP(HK zk(U%1X}&Wnueicqk}p!Vn{SA?$39RaIu6v1{X8uxf_Y{}ML}6!R<1pZAzqnhFRhG^ z4Da}EMVXoxqvoc3AKZqF?*u@`Vb73GmqVRTG%*o?di zdufinqF{FMHDTFRM%)!)WqJ8wWL{NeFU>0}FJZ1Ithmn3uSa-_l2gUoT(~*c*mDZ5 zvFFpC_M(!UtRmhvCv91vxGR%KP8d77{aToqkdPXmW=|VADk)w}@H1v{sgn+49CXgQ z`3R<*sw_MIr5M+XV!LK$*vD1cC+E#5EU(Bb8(oxDUY=J@FQrxt$;vLzHUAftlUG=j zZ#e%IrlI*oB_(C~h7`NKv}8_UZhoXQ9>CQr{G#mkq8Z}9#dBt+i1{J6D5cUl^`}-` z>|A52#^%N|edda+m;(~ht{82uJykQ!34pOvL~}Tk%cJ4P=A>3cMC24?mDwxGvI;B8 z$L7SxPv*TL*;(aGeq7Xygjr*0ns9r3YP6V>DM?OV8J#~ZIklvyJU%61a%xGcdAX-n z6qS!XwiI*HNN=b;WxOa&vTFq*WCc9VqMpZsNFus2PmHdy`KeiB^W)>a%%UBqM!8-m zPaK;XZ%-4&ahrID#pM;36qXkj&k$27uhejRzO&dWPxmP1LKaU!Qke)vQCOvih}MgU z5KDLN$f6<^LaWTa##Eq&sq2`V_{YNOwn4AV*Jjo$V<&BDa$i6Xzyn4O%_Qd4cV)4 z@uQ}UF-pq{i!0okP%rKfE(YhC>$$K)v$>{=oedI|Ri1;popvc_5j2yL*M;D*$-@|; z#j}|xsv<77+lx!exa#bMObA(Gbf&o0A~n)3`b88uo=YiPuz<=md+JDW)w#B@9NWW6 zXO|b)vzg}@SZ2Mnj+8!DA9lPpoQ*%FcupY|nVeTXdlqwJ9d&ZI7f7Z zTj>gkRj3A-yV1HVxfa}wxx~!%7E>nMu`n`LM}ywCY97#9$otR{SF6W{^Bu+0`0*V> z8&U3#5o&~`x4@_+{)!e3akL*^D{h;@(%T>VCCMJyN)V!>+oPyD8D++V7D)P#$3)*)D z*r2=4hjOG_rHBkqCT;fh31xZLwr60aFC(Pd$9m66w6EJdBuBSwKz&A*7OMo>g)B33 zX#z20c63qWze7P)j+Q|-yfj1(nUI%NJc^dQqA<6jATF;wr>wA)IZX6{!K^H{HW5P; z!tE6$_7riqFkx)mSkJX{DW}-PXyuf-y13*Tc~#C^U8{7~>|)*>Sq7PaS<#}B8IeX= z$?RgW1&WMF%qn9mSD3?|(XITV=&7ab7|ODWCYP`+%Fnk_^xlDDf)Le?8O?UQtfVm4 zHCc1#6*(mJy5gLIGS3;aqjRmloETMixNSZnBG@7q+r>;>GKc+#*~xA`FLNyXK^f1STQ>{&t6`d6Ym;J+%rE>RJC9XWLeM8r7SGz75 z(aO+s#E4<`33hR7kygr`leiyX5Sxp6YDJ8l4x}Tm8=I1!Z%%y?_Q_0(V!!L`CeLYF zdAb$Gd3xbo-2>z3PWLV2wd+G>%8rFbqp8fzO6o9Y%gI~+W4)TJmUOGQ?~BlT6S{P&mqaL|SmuWK z?rSfR<&tL=Tnz!={?3tM-UWzR{!glH#{tu6Da1JHu>JQP%j59!9pz6NbzU;@vWpRW z8rE3nkQ^=cG3LeGVMyxR2&*66xGSWTbGqt8sz8fz{$ zYw}jjIo3vr+cnQ)O*X5u;o58E)^MHnXU8_P()GA7NVCV5lD0pok!D&`y-b*efg$H* zVbB&Ry~kp5vP!eWM$OlaI0umv)Eb^=9>$B+tMj#sb<@19reOScrnz2uT;BB(MGPUc z+&sBu$a6*|mN)@Brd)lDo@8!;$EJuObTKXou{jfLFw%AI+3!X`G zPgmFlwar0q}Yrd+F=WWsb)ZtgL6lZ@1{n_LYp-9+*oyXlV|Bu1F0Ib6`{7|ppx zTZt6sbvS&~;>2f99?wCOrz1<}>3=+%DKTYQ3C=3?nV`?qB8KMjp=e%NUU3c|m0eew zCr-$R*;7Z0JQ(@We7qxWu*FFiAK{dgb~?xVm~0C@9jvCAvyyYZGe6KF!}7c`^Hbep zI$!gVp{M*@+b&{Aao!xYl8Fy3;)k^#v2#}?Pj#)4*x@#>gUMX2oK+A{9mH!L<*8Fs z^39JXI%K3TfNWXhQH$Gd#j}%|RIH7O=h$v`Ye0D{XQwv++NR8TEbY9-vXT`8|Bs|{ z43~mAOtlskm%<;);*Vb(Bkiei|MkVuY1#C%VDoZuKMek#FPA@51aSemm%#T0B!;BR zH6+%&jvqAWBlnM9F=`Xpehgy`G55=Prb|&+13jP3TC16LIm@f#j}~sGyqw)Kl3N3> zS8@ltx`^ds=M$mu0Ugm%kkek!cZyB=2zPbZbmoa8M| zL`=sM&`$Rko>FC{*0+ToEAD09lZS{_o!xrdb2RTmz_Y*jfKO}*JM=a0dhYE`(&=;% zc#d!GZk_9Lhua#@G1^P+lB3p*9S=l0N$8J{BQFWI&k*AFodz~Pymyu?O0LlV)d1@> zJAIK(aXaVqIQCptJC}xRpGvaEnk#2JyH71XlJGDEm}xl=KRp&mEpFb*GSmA2S5e&$ zWoCLF$I9I`Cl5tdN24Cg>%I2Q{&t>hbQsbu(f;_jGoxFhOuI{S=4xI@Wcpu?GPlIF zAh|^w=aG8`fDaFB7?n@y8p&!^xsEr~hdp_mC>*m97)H`JA74%!dyPa|+~h zf96v_F7K4_ly;f(16}VM4bkH95#jn$E2m#`;Mix0hl89Sb#}V6`RF~K6X9V#`vfaB zp0SG#4{^$Y*Kc3r?-sbedO+bpcx^aAmMi2d1|2V z6FRG-k4)rorn3fokg2ttc{+J)O`t9xPfef>IpewC5fxy{^)=Qkck@F~<=t^@Qd?Qq z=}6sQi^rzC&cGg{`n=#&jE)zaIpFlq)|IPkxt!Ca_gc8m!G-1=tX%<~9()_`;r#PY zxSBnr%BiaB)y#mmPSi0v&)PgrZ)$7r+8|a(<$CWZk5PSgl!|c-9i?1d%jK=3l(&0F zIUgVCtfM@ffc^;`r|q|os)cKBqFku zC&T$ti1~P4r#B96MRQqj-5>aDf98{ONv@&U#WQASmF4nf05eDPY_hblvgFTt%GCTE ztUb@<|Gs%ji#Wd(_uEV`=F#o{@kuJpLpE0P{NEqlcGfl?o{n)DGegYPRy?vhhaTl= zBkN-{Muhx?tdrsCA&*?=pwu55v z$WAgk@_`4NG~L;aZcEkMUdkDQwiXJc?D#Z&v*r;(GLM~+&d+)vr^<1fy2KE1__ z_%Tcp9xCLV*N$Zy?=tZc&F9&+>utUA?xcG=z5mmu4$kE`hIHOhcQ!QtNV+a#_K(eT zoo3^5`|5tc+y2P$|2p&ix5Z#C!vC-gd6*5&JUFBg-+bY!^e`pTHXWXcR1=ddp*ZCc2{>n`DD%O=PG=_(SDT>Z z9B-X3%dNNbt1@Z^a+{nz8|Cg!H+D8$J>2uUT8?p+nSZfXBYzmP56G z^z*(vdC2bnXn7Ki!4TjJF@I=znyK~vvD_eesF2U)$>Y77T5CGo>8V=+kLy@x!^gu- zme1iMz9J_Z>zH>p9`f)oe5^`)xRkZw^Z%N=mLAEHtDH@n_d~-=GB0U(NtS_D-OPFl z3wfBy9*S=FBvqwmgoLiLGjCPhcD^PvtES2;OE!`hgT%rMvzrA!fDIBq0f`MPSYewD zUV>Se#|F%IPDI>z+!ObaS=G~}&aTSLh!ZDHoH%jfysmB+XCGm>dtx6V2G|FgQLWe~ zci1O%Wl8sIVL~qZ)Ge`aJ*!+|$~0)Z#KIWD5?fBKUSi!YzQn?C_q4=B3@kBH*jg>| z*jZwB3f5?d!i3x7t*}-(vkewF($Qa0SV66y#b47Me@!Fc z*ygs!%T!`hxeHboIumPcKKEj|^%5X!CCF@2Nsh$UXr+{@)-!LfI{ zr1jM}Ov*ON*(nL)ihrwDq@~97$ zi2R1nEHKG$c(l>5RUX4;;~IY@&Qr%<$?nPlL#Koe|tD9?Kz03-@9nq)!oy_LYLjigXsOv+7HJKiUw z-rF2HW^Z5d9iKPb@z&!Rm!^5OR0tHAJaDpa?v=bhDI#3b$Xgjm5#px<8 z=+Q+zKkF_m1p?%0!ulnK#5ez7w(KA?B_vr5!3^kE9!| zQgruRDoyek%AM$>m~ANKkO_>6L4&J$gX7m>p~a%`!u#<*=UShriGR}3JYDZJHEvlG z2&KKV>QDvQ)Pg$MXxcP!NX7VyT3PDQ<$y49xuT3-ib84grSiO@2pn2N9|n(5P!ayI zB3E`k@FEYDSJcE8GZJp9r6Y_b0!pq%-*>buft?LEk7xP>X1b%WS#!1U&u z0KI8125T?2OL7dv$qnJx3C~c4TLoO;gI+%lKL>y!js*sSkBQ-{`iH`mF|c zDBt)Ts2#wead9%#$oANs$r11RniDNapufi*YolreDnW^ozo`;|UWbM?1*8jvioMNI zpA&XHb*ghc3YN7t@Uc!^kU*8mB%6kRz&)XAUI8~u_P$h@+ZHX^|RtZ%y@x}NtE4}muFv`LD`%Q_cGTA6E zzC978tCb?+cv~V$pj8m5OhmzlS;fKB+ytyvaWG35ZCDOfMBMAWu=SUBskW-9jkwyX z&$JMy_?{(zCNrWmV|yG*A%O$IVCuSMaMbzwW6ZW>^hdTU$*O0}++n)1sY9!t0sZs4 zq`#7gar&Ec#k)3aAeJ3EG8sLN8sFuN)DDTy$jF&iGZMC`Gb5KCfrYP`zuJZ6D&Qqx z;XWWXR@b)|RQ{Yw1rpPs;5MJ64NquEl9%#Cv20LyhvP8{imvA8F+V1XES{K)qH~bT zPERh$Sm_3r)hW-%R6(#vZ=Z^_w}U4#7<+Wl-Pkxwi|YZrDQ}w+)DdFg9OkN&tj?28 zQ6ryPA)=K_2PRdOXa%Cd9l#WL@K}RRlRh(ob|qLw;IHbJotvp$p&aKGi_C4?E-7_# z7SJ)*$P38r;kF^v8!uOUkjUc1J2Y5|u);?edv5%i+BD?wS|DcN+4O{?DZu5hl6ZVR z5zfz2n&KTh8sTFI9F3ues}Adc=FV2`b6kuCf53J?B?k-79{cskfd(~fe~Hq=^C=!f zF@lUNDyXOH;YA-$sZf2e2Wd#ohSpafBplooY@Utvgzu+_nFu6Hu-eA?Rm&D|ZEeOD z(k-o&@8&L3fT3~w)M5yy&Sn@2$Gep1bu=A*F-z~sNddk>bk<_NxcdPLKZ`@;$@(rV z{0=}-Bm|qw5wp{&wu&FI7k~BPcAg*d4iq+;l7`t5O;-jqQ%#L!s?tWk1s3f5P&%#g zeuQ#va2~kv*=?an;e=g4ucMx|(G!lXzmRqO{02$}L-A!AOmsQ`xRm9u+j7z|-^;3{ z5-|>Gd3+zLI;wOVco3U!&RTuWwLtntKqo(?)pp%($YNB7g=hoULUlR0-f36TAS6Fc zn=v=p2AH?HfN3EakZ|newRp*HzS3yk>3R=B(YS&YupSkW9hyNydqpCiB@+x zB%Lmn%Tv-ToFxMgMGd!&WZUSLUD!YdG1(y&y`ONl9?#9=xcEoIEw zayQT=fk-8BO3-l=9*$pLt=3zcGjf>MOA&c=Bf^-7CcZp zlsof)D>loVX*HsjcQpr+xz@rJ9lsGp#-$34N<291vyo_%1gC#tRO4)NWszXlYkHEJ z1l^!=7uUK9!d2~g?GX~tNaakw~>W&@g=n`f!j z=FBHKxg~sFB~7n7v1KFTFl$xe645$aiEcVML(v^-u65Xps^Oh5jd)ch^lEL>8#2x2 z16D26lXD7{xND{najj(<=^o#D!6g;%P8M7O+-%csxZs-)Sh?V1tMHl=ZF?yp;##}l z(j5@Ew2~5ISxQu%VXZY$q#bXqiN1Ulh$2fdhG<#y*;Fq_ik&n_tGk65ZE+|2RD|4Y zqgL*lm-dot_6l%Ea1ty{hJnn+I}CoeNy%KFzQXPnP8&8C#o$I)_hiENHaMBB9` z5nR2#_C{lnlc6efO-Y4TY$5}6LZ4hTgMb$nyIPz?nZLa{8$rny_dv+azDhMCi+&3| zR8-M1bx_WM}~Qj=13-&q$dYApHv=*PeMJ3Qnt4lcYzm zXo|RQG^}Wc7dEXml-HZv1!iy4U0{+n-32l@-BB1npRc&I%;c+5}5 z7_PIMd`$sIe3^I4gXq*O3nWPK(BCUymHjIo8yY$A5HgPVfqoQrbvK|)LlzcrKQ)Cd z&pM$eI)IM-h<@(^(Zi`2%n}(jB;81tQi`O@G-?#ZNvCgA1JRA5K!S;>q?-_3J16;j zof-p7U(}3nrR%Z16SZ|9&==SpzfG`gJLxH4Jw}4H%K|rZyax3;Dp7K*@6!B zWmRN$bOA+L0G$Sz}lEd@!^@k}YLXSWGFkc}LV(|ESbOHj=;hm4t`T1%M?5D>g ze3pzZQL1IV9OmoQ@d!!ahf$jb;dZ%&ov~bSHVG*3%xtX4#d=myZkNL0?6KIGS^Sd zQA=<*mrSL;kzE4^{}>vVk1sxGhAK2~=QZuQBp6ExKfd*~c| z?=HXkI<|gC&*sbNaFTy1#LBKP0VrCH<&h4SBeY7!v=av9vCf{G1_ajpy*ro;LwD1Vk%SmUp`_@NmQ)}pq>)CLLqT| zZn$-3v*C+LmgeWj@2}`Ufz2yN_SkHlU1ZB+l(xhb?|L}7%KGCzo*~4~o;PtAy~X^) z;~ZgS&Ur;<%;kJKUuS6--4VL+3`y~5pg*OuzS2ne*bY^U^bBDm#~6-!?D1bhqoOrn zDAZ;{uD%@P{U*I7Hc6)e1s(n$56f#$#2kF=%$Q zx}B{rPf?4EW=HiG_(vG>@OrpJA-NGZ6uwV(FNd=k4pSr*ewdCEz*A*}gAs#vUDNJ# zJ-&t_;T#CyCD!Axq!goG~Un=udzYLo_yw(MM0$3lR~1=DH4v?LmE!k!1|zAuIq` z7aWCb@f4u?Czu0JNNF205Y%BBQ!=m97GJ3a35l_8kGmI zWGeHS_3N4KF*R`Kq(Zi7QKkBts>7sG4Pe zOs5PvcJQXQ9HC%x>m%xMtgCSznKFbS^}9ye*&$0<^)yzJK*S_0dxbr<+|-6DoX+YB z8(K;lbi=_%^m0zAz#<{T@E&-NvjzLc7`)7ukUN^A7pmYFbVW#dpo4c#N|sYtl1O|q*US$Hgr$}jW7aLq%!BJfoF zFxiY1DqQvYL=n9G*0N6`{VGVk9{Bkt1yes&#eimDITFK(_)WWNUyZ~7(|#0^FI zHj8P~(nzjqA`n>Pe$!0b_PWNc2ukbjo$TooS!Dy7GUX(hk+9Y^M z1j~(7)frrP+yn487r50+W1TLp?rm{w56M1rD}F2$(w zZR+gU7-1kv&W_o%4@G@+Gep4ZGE1-X<@#zkp)XI}md~G&gc#l23}58e39-s5Pe&72 zG1-cYo7wrC%u;8k8swjx`CVw!3hkBWfDB5?1PV$Qw=1r!9}$bjkYF9-a>K%P?i@SK z>;>A?PHV5-j+IWMmd%Zc%tEhp;gq3QHfQLA+hgVFRKLD3A74$f&fvCxGfLG*eR@Iz zeX?ApaPOS1m-*}h@85gz5)Wue;gfu8y@nq_e@q?egZu^gj&$F*b>p+!g#mtYH6t@u z*y63#^LaiVtj&mz$>GBeCTP`1;)iY+SFkB z40f}F^Wg;c=XHp5X^p@FWCFK~1|jt9iC*V$K})=)!I_onUW`U~LhE!myO_Y2@`POT z&wN;;`RqDd;@NY$Pj_dTUF0iz7~Kki2r%(3*2|s#mnwQDz2WjAUC&d69>o>WBy#M$ zIW}TA_C6S7Jjsp^(m8KXbR!2`pE5v7jgJaM!{PK}W6v?%xe27G6J z1zv6eg~Litp0NAVqfl?S$oCb3YHidhU22mgsu6F$%9a{hu!j}#XfzK}w3WpPvSo0a zKAX=nh_(MW9K!oUuqq~rjSs&eHX5Pp@0-%>dSGo= zGV9%w93l!O#ikiv0H)^6lPBQ>>HQuGnCh`gggjbJa$qvci>EYKG>I;ALX3}E5lA_n z;zk3IdA8y(8N$d?O;ZS>c@=*T zZ_M9k>5N?Z=IwivA$T&`8?$I4dC6mGU!;e+qOsNm%irt|7l`N~CkixSIH*fI(@b5@ zh7Q7=l!4-~7JH~wkw)}kRT58FIGklFj?$Zj4-?cj-m64mOvF)SI`LW5@7NzCy}|8U z#3=9a2?9d!gSn8ap3<{K$-~;i>flJSANUZP2&DW50C2}m(me!<+}yIbN_yUwbO>9P zI#u09*Y3U)w$(v)gJ?iJU{FVWhH{8j-yhQHF#?0&sTpMsu|SRL?yZm`$)n#_%}RAr zIR;dFABhGCfgELvHN0KG<_yK2p^b0@F4JGauwr4V2JZLOYC#@~j80&y`il(iC?C6; zaOsi*kFY2;J-R*BGChYLq*bJJjNlFGDsDJuX_S~f#8EW4UFECl-Jk=8hKL$1?pG`P z1xjOo(Z@t&+|UyEoDp`K(Uk|^<4cOaeRjGs_;BOmjo(3ke0CfFDlH(36eFsTx+RM$ zuNAR&u*GBj{ALDMkB2?b*u2d^DT0ua$IN-Y%v{dRkympLH{d#7#oiz`&b{nfH#;spv)#=%RaR`GT>3wHOWY98sfxnybM8 zhIc(_WIPS8=;8r@zF0p{YTK%tEN;{DtJ#R;PD=i5)@=Inu1)q3=R~Fg+{x3~)nrl( z&X*F2)ZLzX$_Q^JJZA) zUgY!r$ma)<&krM?ABCT57123X-cCq=5oL5q5!F%zt);`yr?FNdjUrdC`uI56JrhCB zY)etusYTBp3_DOH0JTbLZb|tK32sTbvgZeDR<$@)o^GTHn;lpZ@wR8>DOYh>NU+vO zewg2yyW9HsY_WwB=NhG4q&xV z5AE=XaM?WCML(3qTLrr-&0_8uOCqc&?EB!Io$M5ryj7VIER^n^pf`iDE;4AeMj|Pr zM$%Oy!I*?oz7lAKGG5HGw-X(i75DN0dd6KC#C&0<7}*Lm_^kv@ugRnxF$`rcNo$d8 zMjC(bREe)Re^FTmyC8x#=?_B8-%R>dZ&?veH6jVD19(o2k)xZ6(b6HH*Z)vSFQlfZ z+60+OODY5z=mZId8ZN59gtvXXxjK?baS(Z1+2cx!ru8+0Mex@p-=6KK|sW*Sks z3TR0yXjR>`VrKP<7)umN11Wog=fR2&BX#$+EWAw-x%|beMWPidQ65yE%Jsmz$1K}K z*n`Kl(r#ZAwDTo|Jeb_S0qJ$JI8~{f1$}G9WNa@ddu-o<_lzYv?`f(_Z1yy(sLv(i zYm=P@NW9ZR(bav*EB-qMEAXaXvsW{pS-Mhr6y6kAc74R4a3Z9L z?IZZkcWY6W6$BmrQ_1(9w6n|^Iw@<-gyjybkFY<|zy6eLGqezbiMJ9N$?zEOfRY;0 z9j>YaW6v3k4Jl;Hc0@WDB};Npvn}CzAnwNl6^b#|a*!6(deOZ07K7#wTqGLQHUBnVVgpdhPje0CdN$}Q}|*W zs5>~t>AD;{`Uzj?-cYVpNl$M_nB5j}B53^-fuU`B#W(fqvxe-D=QWH@?sefeCg(Pc z2E)p$VKfMs5~Cs0kRmr%6y@V_H(mQ#+LbuG8yZiT!@E%qf0`?&5f~g?&gbP>%vttY zEvme!UKbQak8>d~UK=cRWrEk6mhjmWcDvJK7W)2`=e48j5rT@8cA_p25p-QGjSYEh z2S>gWN}rKxQ`z}-;h`fgnn8Db;j;AFt&F+Y$Q&;(i0*TC8ac>cmzAKiE-Jg_sZp1A z0|mw2QjNa7iKm9lP)>-ebQ$!U_!83zbnv=5fezB=6zCv*PJs^6=M?B5eNKT6(&q<} z&neJBYEOX<-sgTS>?d)P@ucY=I4blfk6I`;y-jME@e{cGRf;%@Nxg8R_l_k4XPteg zx2s*xDh6sv@eViywg=qp5|pwb{kYa>7dN1vM2vA|QbY#PYsoh5r#Ysw+L-MS1z~O zXkr!X-wtzJ6Ix(?U-$9-RR(fPAG9d=J1N9U|MW2hj1qA#w7%W*m!eQ=d8Gi#>POIr9`ENn`k zD0yC9YtlONTw?x1r1E%kN7`9=0m@rPA}aZ|iw#tw-d&tpl>-n7L8g{C-cO5G{a@Ywhq7-S(7AjzITL3k&etd-GFMvO|T(})T?%kTr~uUWFZFr25_ zWECoo*h(_nb*xskB+p>Q5@ADn(XnblUX>|PIG|tE(9!eOA#_|DHj%-1uOZ5i^$PZO z0>!`bum>m=;u<}6?oYD!5jsSA3gl5lF29no10zh~y{F@&Buj)dCDI?eMra(GQ0!(b`h8_4Mysmf2yb$MqxND$mBRNv(}Vo(LGSxOn3oP84e!9S*Nm!g6un61P z``{{D-iEMgbH~mAKa#ww)4@OoH+i$zz@hLk9IJCWN>aq47^kqbD+STvZ9EG%N^22p zNSQ`dKRd39>WWW{wpSja!yBROp9q>p?at+7*W%9Qk{j`)*^{Vkh#C%__>IcM zC-pLzMR27QsEb~W$YL>muFPFxh%pHmE-~TnA@EpL;!izr3Nens-ZI3Pq_w1bTcj%W zcJ$p+($_5$<{b%YG#fo}genVEi@RYyw@Hdi+GRFD-4)*ZCI{)+87w&3NX634*;aVo z0U{)XjD_t{hzO-xWQ3r44L-=-NecZl?}qSaN2i<=z}My^GDQH z9l^^mYzg;aGc^=OH$r4Fr<@FB>kAH@hT@~yP8W+oC1e7Ouw`NQL8=!Kv~2MaWpT2r z*;w&r7a7p79u~3o45m=c48b?z>&K9t*Wl+07AoTc%lPKF1nVPl84@KFR$PGo-YFz< zx*?1Z24_V|(p%hWHYdh)G`RPN8s2gz&9k^8@aQm@+Qh;=2S;R;P%X2pb5SfC9gv@hRHA;W8ZHO__ z(e+&(MnHq^rTe36@-H~wooxVgd?lzuJDAOIkp0sK5!jv z+SIxc{4%xu!{bf{DxXOb*y0qUxz^!DiAtr&A+HF97`79sb;fOjI3z`R8YYO_)H~l6 zT%+EbMf;SEAF(-wbuXmZQQ(ixT$Cmx;vJ3`!U*P0UwefTrGex|5~P}98&Tj*`UT_3 zDXWHDoVpv*qPEKdMQBiX26=5Len{1hwGvTPYt{=}s%YrPZJE=iL9JPDfJl*7+zyS< z;DdwfF4KqFkLeD>1%QHZtL`hSHS5jhZfec?An&8rtT%!tw6n3q(6t(76Z`N+tJw?j zj$Y+d&L0snolAR}^hFbcU^(8Iq$eH%F1FQHHP!@ebM4cLU~wFChJ>iA3ef%j{bu{L@b7A>QN94z+s&FMPzGQM+$^LA}y9 zsD=75fBhrg{@3@vKc{y8^QRB^wfId1pIQ<;dVPe~_jS9=uRQ3`>uW!1+fjdd{TKlM zuWt7rA3f;M>zDDliyz*0F7Wz4-R>v;{6U9a|DfBMF{#~G@WL<*`!Uw?-$2q&VKY1hNwH1{9E>zm&KJiH#^Z}UU#=!ZTt?cVtIgATnu z{%QV-|05bx+n>bCwEOGtKIqWvvPYk&A8JQGe~*`G_vv4M*rC@i@;B-~Gw$cmh}sd} zpGO;dy+@3pf8Nx;zk}bV-Cun6VTWEn?LJ1kkJ0XH_{{vgssH!|3`#se<9_DfA9g*m@o02`STq#GVQ+nJ<#u8@iM^h`%V2f zwfQN$7@z;d|KEAY`&xfpz&pYRgeSFo6YbtayN`)^^v|36_owljVD9MmZ=l_8>A&e0 zeMhgq#LHo~&gamM_OJOd^B@`J4AXfZ?LPlUzyS^Mi}54g|82B0G{xJ_H}*f(`Lmy= Zk<^d*>(_#Izw-14JAY`tL{szU{{#4Ltq}kK literal 0 HcmV?d00001 diff --git a/timeside/analyzer/labri_instru.py b/timeside/analyzer/labri_instru.py index 2a943d5..9e768fa 100644 --- a/timeside/analyzer/labri_instru.py +++ b/timeside/analyzer/labri_instru.py @@ -31,7 +31,7 @@ from timeside.analyzer.preprocessors import frames_adapter ## plugin specific import sys, os REL_PATH='labri'; -PLUGIN_PATH=os.path.join(timeside.__path__[0], 'REL_PATH'); +PLUGIN_PATH=os.path.join(timeside.__path__[0], REL_PATH); sys.path.append(PLUGIN_PATH); sys.path.append(REL_PATH); ## can be commented import timbre_descriptor diff --git a/timeside/analyzer/labri_multipitch.py b/timeside/analyzer/labri_multipitch.py new file mode 100644 index 0000000..e1e52ae --- /dev/null +++ b/timeside/analyzer/labri_multipitch.py @@ -0,0 +1,115 @@ +# -*- coding: utf-8 -*- +# +# labri_multipitch.py +# +# Copyright (c) 2014 Dominique Fourer + +# This file is part of TimeSide. + +# TimeSide is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. + +# TimeSide is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with TimeSide. If not, see . + +# Author: D Fourer http://www.fourer.fr +from __future__ import absolute_import +from timeside.analyzer.utils import segmentFromValues +from timeside.core import Processor, implements, interfacedoc, FixedSizeInputAdapter +from timeside.analyzer.core import * +from timeside.api import IAnalyzer +import timeside + + +## plugin specific +import sys, os +REL_PATH='labri'; +PLUGIN_PATH=os.path.join(timeside.__path__[0], REL_PATH); +sys.path.append(PLUGIN_PATH); +sys.path.append(REL_PATH); ## can be commented +import fmultipitch +import numpy, scipy +from timeside.analyzer.preprocessors import frames_adapter + +class LABRIMultipitch(Analyzer): + """ + Labri Multipitch Estimation + this module performs multiple F0 estimation using sinusoidal + models based on spectral reassignment and adapted harmonic source + model. + Details are in: + [D. Fourer. (in french) PhD thesis. Informed approach applied + sound and music analysis (in french), Dec 2013] + [D. Fourer and S. Marchand. Informed Multiple-F0 Estimation + Applied to Monaural Audio Source Separation. Proc. EUSIPCO'12, + Bucharest, Romania, August 2012] + """ + implements(IAnalyzer) + + @interfacedoc + def setup(self, channels=None, samplerate=None, blocksize=None, totalframes=None): + super(LABRIMultipitch, self).setup(channels, samplerate, blocksize, totalframes) + self.Fs = self.samplerate(); + self.t_index = 0.; + self.result = AnalyzerResultContainer(); + self.values = list(); + @staticmethod + @interfacedoc + def id(): + return "labri_multipitch" + + @staticmethod + @interfacedoc + def name(): + return "Labri Multiple F0 estimation" + + @staticmethod + @interfacedoc + def unit(): + # return the unit of the data dB, St, ... + return "F0 vector in Hz" + + def __str__(self): + return "Labeled Instrument segments" + + def process(self, frames, eod=False): + + s,N = prepare_signal(frames); + self.t_index = self.t_index + float(N) / float(self.Fs); ##time index + f0_candidates, t = fmultipitch.analysis(s, N, self.Fs); + self.values.append([numpy.unique(numpy.array(numpy.squeeze(f0_candidates))), self.t_index ]); ## (F0_vector, time_t) + + return frames, eod; + + def post_process(self): + result = self.new_result(data_mode='value', time_mode='framewise') + result.data_object.value= np.vstack(self.values) + + #self.add_result(result); ## doesn't work ! + self.result.add(result); + +## prepare data before analysis +def prepare_signal(s): + s = numpy.array(numpy.squeeze(s), float); + + ## Stereo to mono + if s.ndim > 1: + sz = numpy.shape(s); + if sz[0] < sz[1]: + s = s.T; + s = numpy.sum(s, axis=0); + + sz = numpy.shape(s); + ## normalize + N = len(s); + #signal = s/max(abs(s)) * 1.; + return s, N; + + -- 2.39.5