From 0d16e6ee53f5f1fe5b97a8bb9ddd96a44dfc7503 Mon Sep 17 00:00:00 2001 From: gesellkammer Date: Sun, 27 Oct 2024 15:53:46 +0100 Subject: [PATCH] add test notebooks for cropping and root tree --- docs/assets/notebook-reference-chain.png | Bin 0 -> 110051 bytes notebooks/test/test-crop.ipynb | 443 +++++++++++++++++++++++ notebooks/test/test-root.ipynb | 253 +++++++++++++ 3 files changed, 696 insertions(+) create mode 100644 docs/assets/notebook-reference-chain.png create mode 100644 notebooks/test/test-crop.ipynb create mode 100644 notebooks/test/test-root.ipynb diff --git a/docs/assets/notebook-reference-chain.png b/docs/assets/notebook-reference-chain.png new file mode 100644 index 0000000000000000000000000000000000000000..4a03eeb71ea35199de6f3872e85bc00b6c8873a7 GIT binary patch literal 110051 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
}VhjN{$)x$a+tdEZjB&LdyT zXRPCYH2v}*-Iz*Hd);8Skt{xrVBC_gnlIGi6SbbunzK52t}gS=P_&Mvl=GjISIHJ4 zCQ8!E{z}?b8vn^|H@;Ry)NFw-nblM`ETw2ZW

7h6em6B{QG)HnQ<1ZgJv3ZaHr#tC zY)t=F1yE3@JI1SOs$Cv<-bNu?*MC+OU%Pcmam6z4vRih@>&Q>R zZu;d?wx=>F8?7v4ZNNEdov)%C>5WO)(*$~!*=@>9ruo~vEm<# zyR3!guK6?1SL@f{%R|4_<(wqwf3&83kv7{gl)|-rGlgy}k@jy?x>G?=SB7SDzPslUJPOB2YEz7r#{IL>o1G(QS- zt=Fsl@Ts<*ar4`GG}?tUC5BRh})?8$PNxNGQ73>QbsDr=Jc}YHd$$wVGLq z{##*xy8NDcYG#Q-Q$BI9%R!F&ZKMpvvyorXs_rN*yPJ!)vYui)ODXd-}nao|3U z+W)=-$Nx75-v4%Ou!VX=u~d!|vfk=b#b>=W`_y1WPSo0DTzXvb660R4BR_nh$+~i7 z;=j3>n@iGI*ur;?Y0sT&uP1J%M&8jWqHN{%jPS8YZHfHM=occ>y~Gu;hi}x&d)@Xf z_r`&{m!DoMH~GbDAa*_^XM7huKkEQ5=rGrWb?vUkeMLp$l_Uq^&0pnvs&oZj0+!=V zp%m;nFH4!#we4_;gIm>0RB=@vW|*E!Vfmalk9}i%@(%~+T}Fqu+8Ni1>O> zmO>)cJ!3)~eB#^p?hUJ#yvTe8@1rKXHY?i8O*oqWvh{asFqWruy&?;{vVP3YXz{my zr$_g!e(`lgF${jZ^SrCCua69+CJbJWiXFA_`4dtVCi49^-3vQ$urPRl-hnl2qotnEBuw15y%xpMl zP!f~GURX7s(R)aye?TncxJsJ-Bx-rmrjdz<=St;dM89#m)B33A;e<(<&Fl>2-T!`a zo?Lt>3PbT9l^uR3k|o`fQBh$3$eCm&~7%N-~ zq|{*)6s(jVVuH<@nJs+rD=8*hZZz7f7g@NF5Jn-PswTU%(T6HbzkOh@G=F&%HeTbz zel+C}wKcAgC}6bQm*6(gsMm~LShw3FX84Sj-~2*T{>xG-A=@;z$eSv;6ntiki`N}| zz9|hB*xMg&OuRNSI@Te$c(JSWQ+Vrdp@O{{jn2rZsBHBjosEgoPW6gY{5+yoy~zrz z+bk^4vlXw4(GQx*MnN?viQ!)S`p%!3FiFVnW~$dAH9T5dh>jSKkm|ms=BJ{0Q&qlt z9j^7!f?Kz4r8hmU(Wh$b=um0&{k!HWM-d{99%~f^_p73V}28~7v*bPi~@7^8MzW3=PoDt8M zf99KZc_)?Iwl#=oe`_`sR&Z%zB|S<4n-Ts}YVTXJ=Xu>l8q1*-o2^2C4!Tlzw%Z#{ z#nUq8(DZd`bG!s+n9mLK@2Glz=qa^?r_gYgf+6gkjmgTW62s1A>XbQMzY1*JiHQl^ zfgX;VDhV1!Nxe%3u!;C=W|GWDzV57Lr+x!(EBZ1iT5v#|p2WJ67M0i^G;Pgt`}UhL z9ghfTk$zWhJtn25UOQFjnk_!U)C;{I!9Alr8pRBzh}V96vpXnadNCL|Wu`wK)Z;(Q z7%J^4+1RlB@Zp2!9+t*Z-a#9^&~KgR=cnhpyF4arNraix0A{$i(rK|v}7n*6iE zbEz?S`9>EP78dMkr_0PoLSZptgf#SVFFJ4jYG3`4E-NQ@lZR)g>R*1{NY1kW=x{u) z+j>*hf;Vp55Zh@ZYin;${;5m=6Hr(j0&@@YAD?|-dWu|d$|_oN(+%pw>lCNqZ?WLC zBUzqW0h?`z-{j`d`@XVv{XoNV}8sD{gX>sIU0Px$^m|EemX z(IVX~j}N%E`>W67hZl#Qa&b6j;$C^*!-yee%ez}XVJVcXC_nrfbN;UZ@9b@4bEP|r zEUL&_rDXA=U%^{HjtzS`U`*T*>1+fU@mj{ z+6*`N=f|SgX?sJwb z`Gg11&D`Lkz3yqvx~~`HYgd0rv}s6yxtI+1?|pJ|KdjtJUf)-I=%;FG6XyKyHl0Ob zZomHB61Xu_Pb+lz&(CP#HSE`@x^~RG)KXF&fWy3379D5t!jx zucJGN&Ca3gxr6I6?G(2~cP`xls6<#;7`i1FpT#I4K)lz&mYL1JZAocq*LzJ~zrIaG z!zc84J=3>1Bt)hiA{o%FDn1EV^&|;9Ap2%#X9tGGP>qv?`B-6cw#w>kSX!De-er*n z%g)5W}HsTlKl=0_@#-?HAnlu)ho+)X7i7r!^Pfx z*|OD$fv^5LHT#)!1t~sg-FvuBM6GGE(ae2G!qKq7e($($yVqxAWGo6l0dxnqBw5sj z*P!j{1Y=2Shf%5ykYE&Wsq%E zjN;L`ublUJk$PEKSQiiObm#F3G3%z6CI5bB1Z^h_NYDCgY;0^>k>rO@p4>C+Ae?>2 zhEdfgA2fF zZpYPADR$SzZ%oVfZQwATtz zlFG>hUZcxUpL3P7-o5uWnqbc{FbpCnV2=o$+6o`XR;YNw^7ZT2q*t%D_ZC zxVUu%UhT5yRcAJKqtTN5x5a0{+>1U}<9vn+&RXf16_dJ<{d3)A>b=QC!R|7Kum7_9 zxTS!-gF|;;UmG{!SM?(AsfNHM-3;Cx%*?XSkatZ_%ySNmmnnZf*0*opx&{V1)*P>1 zyS6;p$aj>lnpJ;(vflTJKMY!BT%3;kTe!cx0MMQPPOTAy8oz%1E-9(+SGh&?Qmj^2 zfByllO97vTUl(jh7<|{heEH%@=jbdG+xM6WMK35g$`YgzW2eWy&f3J8G0cKnHtOrpU5>nb42Ygkq`r@ z*oMN}Subk*W;H30q{sqqKL6thLnhQ!!ws_Y()X0)+*fi5&$h5IEZb^0B`}d1wmcqT zbWUfZkm`oUrhk5R3`jLNB;?}B!FnfL!W@BeY}Q#x5LW)H+R@4~3&1ecB95%I0+xE+ zADB?#biyCvbiF5z8d`!lkMndJCD_&S)1ZgQr-&u|NPkiaFmd59PpgvC=idP(v>E=^ zU=pq$B^)rVEhoMO#>Z3XzFZ!p5jcdt;;>mh7P}gMtdJ!1{)TkWyTrt&_wV1&jYQ&! z*}?9lGSxkj`%N^&za?8;-1dCtg}hE2ABR&lFZUjqJ`P%)}OqoJa2at5Rcyuii#Q9VxV_Q!|&B`r{xp5Wo@cwgP%Z z^5LIg2JgAt?39}V0s@1|Z$50>{1i=AoK?=~PZTV5SW#3f(&>jO&=ajB(M`Zr*W`zT zA1~~{{LZB-#;KmDb*_~}axqf$@Ah>vMh=dCmjS>Wob~%E?uQ%QF#4$hY5;|yfBEvI zwrw-6*g1NkFI6)2S^DE21zMFi<9Nyn0}f^%fqo&fez)Ol_o@8wZD!^m*zzf`*P;^> zwH8TnFtQd(i@%_+$V@1sb$Vhb7*RPo^&+rLIXO9(e|+C&z^U^(bp{sy$HV=PeYGbM zfyD!v?BTVWcGa`IJz~%Hm;lj2|GoImg!g{f!OsS-(?dSf?@g6MzL=6w!-EPcL2Ekb3os9g zU3Uy-oh|$uK&L>fQH4ZAEWvKr?Ke{?(t$a$Dg`tvSGUnSMK3TW1ujzJbmLxOjy2h!iJ8%*r!$8INevj(8T%}JjBW4}9KPv?z z`_ad6`86%O8V&4cjZ$L;zqRs#OTY1kQ=2~bhnp`Sl6GX2O$+^6-x5uZH&R7g~Ga_sao zBYjjbh%DQy=~2sT^FCizzD;fdN1$x$>^#N3;`HZd^QJQy89dc4kl+#lLGSSQhLb;e z)i7P7*h{rJ$Ly4*3z{-94|CMi|G{@?>U#f+ODp?WhLwuB$0mPnnB4XMTqGMIrsEAp zNHvdFTe%2(y*te(a2RkvN?HuF%-k%KAoL@^m)m2yK3JVxdw884C?yy?iPkljngrQh zqL~%q`7L6%s*d+msn+S#;!LuKb4N%rv^A98S_#lX+XY!cMMWi^&+IB}N#eD&HL<|){v~=uhooY(oMgc{5 z46=pi)54%PZ%~+zPyGD+8Z4fvJnEOyqYB!hp$__;=x~FZdpqMlG3ceISlGGT`EsTG z#)iGI92-;B(I9UPWynS^uzepL*Ua1TL~rW@2FL}~PfALvlSozQeP~X({KW23FG9W% zx(F9N=y~aU4SEPXl=-y4rls)DNZuZln;qy`r-wV3F-eBwJsYdil!w1I55eI%bm(c|tOD)TBtBg6h@PBX1d-EWV}4Aj)!P>E(!RV7;*?Ij)CjWCG% z67B^8}BZ5H`FP7;(H6Q`h9%-#U{fj@y7+4<-2`PmA?xkyr7q>QQpy9H8$^WV8jKZ@q* zTdEcY6VZ0Cq608#Y$^Z@fV8;| z;!W4Z;Q!B`ZZ&oqmjZiIfGYjZUGo94L$5RPx?73{F(_AR1)9fd_gL3NcFytQ1Op1j}Y}} zd)v0KdYLB0b^a27Ho2*7P9k=W-Z-w6P6nTS1!m20uR5o7wb8;?>$U1QI5^ci9kj@; zDeAiu*>BtmMNLT=-1>VC<^nT6e+;r3m+Tc2cmn~G@1b?d!Ovbn2;jfo^VmyIlBV#N=90UZ|^39-DwYpLaMe?MI!hj+XxX!a|oooT0QT}DqY7E%=YXu7)aYbO9Z0=DBJ`kOjB;^)AhWim>!0jFU~3(%51a zrVt?hrFHtLDmz2KkzNnn*w)+%g5vv)Z!s|if^Ju0F~&*QI@isT`Wn8quHkV!v+&1n z2K=7}B~C4A_)MEp#64VLAi15aWgi1ZeOY3FtC&43xD|YG{TwD@dpwV!ui??_bEX~m zU{GtKrb8LsX6we*(;k37f%(B_rUNB1f`(tj>Zn9@Mk6n|N}F@m19+D=Oi=9mpvT z1OMuENlXc{dh>AZyeC;zmXMI}HaGV>0I?qu6T>Dq4^^uQUN!1V-r|H=WSlB})%YM+jCpNqQ-5#`{IRy*wsX$4$D5V2 z2;frJ^>PZ-l2iODz|MN`U7F-at&0s5@x!od93ToVE-s>($4hG>CpVp8RaOXyHD0Z9 zs09cxGN!eOTgdfdBm@WpU|`D+?@xC!QP0?ZIVw4z_XXYp1nG&bEjQ}AsB;E@2ULUI z35e4GIN-y6seAZ`LSgID2^j^2C4k{O{P`f~=KwQf@Y=sJrtP5c zHkO`DST(;%RZou*<^(87?~;=@31*IG8Aip=b~+hW%<@l4JGxvp#@_=cKB0-vUKic; zVK~LVea1q}vBo3!>G3*!0lea@=U&8C{dxVHe7;3pv*wenXocvJZBEwN?0LFJF;Psf z?)-jOWMTB#7YOAGXE=rtXD}X2+!MA~4 z8_y}Gxd)PiC@_`-@gH|LR~AzX{m&JdEIN)rGfN1-Co%ZM3<|G&0x#|`Up1(K<5hOI zIJ7E$J{P?6TrFVi4-Y9F-3F~zD$H-Mqv$G4z+uSJ=Y%mLzA^B%Zv~84HyYuY;Y+_FZrJ@|U|QU(k}7lCL_s`m6Kh z%Jiu&;NtR_4A6l+B!{4N@Qb7!9m{NVEv`FQQ2C80m!y0IX)Xk$by9M2$ChZaWfOkw z{Qcyv;mV;D3!soy)7CKPsU*F{fI|xdyoZhE4YTyQw@$97oJVR*EQV~$*B1rju-&4l zz5|GkBEVSiF>Zi+ba1d*V%%5>f-@cQtT<>(P`Cyi;na?Qes)(5uEk=`%X{7om%BeO z8~TXBD0K=eJ~>wXP8z&hSGcq(kC+=WBl_{G1wOjK=vPS*EmjLQZGryg;QGN;Fd$%e zdmL`)1NLYr$p$d}B2O&>c0Cz2wJf}q3}7Eo(bFoE%5R7sNEV#{Nd(|EOzHvgBkfsb zY<9+Cn91`C3j~(rkN*AVVHm10=U8W=Ud;6@x8J-Vyb!{7M}_>twRiI>83a|>1RJ3m zKT<|0w3!uLbmJJ7qD;Kxc%1#nT3 zNtDHINL}g1N$8vM-kRE*ahMtFB><76R(YKYT)hg{Ps+%wmHsf$N6abN+6m(x6Y^ay!P)X!DwG_^dKy1F?d<{&>Hj%A1E3pNViaC2K*P$Z$(EM#_P z2$5g#ITwRUCZ(b>joYi@>CJe-X1BMj0OJA&s1@l`u3zQ}XeWMAQQA1pR}VlB7ZVq6 zPa>>n8e0Hh8I+pJ05AGCcb!bqnGi2PBe}V`8Oyko8ZSVqFZZ)DtFoqMC_s2U(4>4; z886*<^RAYGh{qHUA0I!QL6ZLX_?Z8jErCBOMlKK}ON0JT{05bpCMG6bOZFgq&jXku z@7;HEb=8}xa|;O%C$}m7D8~d>68_jQ-R4im+pjY|7%%NwXNCOaSIWx1Jcb=}C7tvZ zD%4HCM)yVwv@~j+IY6b$Klg@<(r)miwrMzK784UQzkbx4eT9J`3dRQl!l`&)Uu0ur zL*1A6&s1jJ2H?{)GD0yZwnrEm7N*aekTzoedwCfzMvlojprW0Kd+S{L#fvu?8Mna^ zMZp03CcFJvWQO&0K8)*KLc&|{8Ri>K|Kb?R=MNVCFy%JtAur)^DVll{eKO*bG7XCh zu&qPOrXJVD<>>KshM^(PA3uHoT5SSVeKyLkAS=P7@A^9(X!kgM*#Gy`a-u9e6V^FqC}3zww6De$1fF z8aA26Y=c)qY3aRM&tvr7%(XEa;)b8Sy5BUzhM4|8v0f zG?p7BpZkJ0S+VnR6n#HfGc6##nJ0J5H3uY?(;eEb4KXb*F1CR?H~TB>=C3j{GJ;E& z^g+XOPV9s%1~tn0&(Axx{jIaJsr3NyofEw+CV|yPcfYm-2p`VV!N$)167X%jJhS2D zK>s^2a&S%Kz@0koUVF;U#R01|BnII=YAQq03!gjU_0ql`9)Z|sH{W&%?3FL@ak*(C zQ2F-)e86H12@8{kPR*%Z<$LFO*4+2c(%;R?sl?s+=I7_RfgwX=1B)git6Aw8Iy&d< z%u~DC{*mYI7?@6;5M=1;>heuZO|24Bc@Jacq^klxQnHAJ{l_kqf&ZvwYrM>wp0TiZiWMYEoDvPSPSeqTS(3;&#x zbCEe(c0=krd_F|Zl#!Qj6Wyu{XgohCLIcz+v6+=9ailMzGT^3abNFe>_aIZH{7*?w z+&Yj{`2Dgna^~niOMi1KmSel>j&Q64e0A_m45r)zJ>j7 zNFV$)CTBFoOORJfXJ=}Bi3Yw_3?#_3T(hmMjq%Q%OF+2-!ompdUJKJ$n3x*6|`pL;vzxKt*?iHV5MDUiv|Cx zts{cAofh3OFPOSAnA!=*yKUE~-0D^b73k47Mqd?#U4l2sQWT97ac`jC7L?Ek8K_- zee>qR#&m7v%axa}GO)1ChQy$?=~zJi$rnJ=XXppEPEHg7*Umf_x1Q&|;2(IVC2%d# zpG)^(Pork4pj=+e?G}TgajykIDyQxfkG=qVEcc zvq4D{{B0><2x2$No57?Slz90>0V3#=i2VqHHwny%ouIl3ya!I6maEMH_*gHd>8yX1 zA-Xpe@UR-Ebv)>XsU7peS6~MGp?ltE^OspEB^(yE#Zn+_vY^4JXp_I8-i^^usW$}+ zd+qs+^N$}Jt=HWy`TK%x)ojW)4}uT0B79`bkdu?6P$&CqhUIq`XF8+8fD|;D^3Cjs zc>ufxr8o*N)g+1UKI3LdYm}1&2_+@vMSn(#K$!Hb?CfN-t&*)cAJ2Xb{i^0gmw!2N zoBFt(QV=KW9#L{o9;ln1x5c0}5TKNI;#}S?u_E40ei_%eFWzsW)FfA|B+f(;9LgngNmPa4`CnEFBc`;H|~GZ`;_H{}y@-_IGTdYJad z*bwkFD<|hQb_#gYk1;WCsZagBmV7B{Jg*VT@NF#mjOKl9VzK~k*Xm5YXrXqse|C!d zWk`}?qmslut|8iJPj7GHM>|c@3(!Q6!bjMX@bQs@qNq`AZ&Z3uRO{|FsPH5) zx2qtXbbx4p8gIn+gY|$>4}+DIj4S{?UaeUDyiz)hez~VlON{$z00D=UFI~TW{mS+0 zRxzFaW%S-UqQb&b=|437^&6C=m6iQu-kX!g2L#-1{ci*m)|)~?R7e2ilVggk2Pr^B z6bjfMdy<5g=0-#sz_*t#-%eKA7(!k_MpjnpvK~T8+H-{|Aoq^FsHyN*NlL|_yVmSfLGSIbZe|CAs6nEm$riwl6ciK!(<`1i$b0SX?eTzAc(%mlWA>h&&6Ad1(wh!tyWB^O zq#D3IePnFRj9TAf3}{A0ci+bQbrHdr@53i*iuM^~U{J<#z6zb1($3=y;!PlQb8~|U zQ)b@9(?Lo>!4!J~hcWi%qTmQB?T6`ifLyHPm+jmmsFnI89TvN;KrDn-M@NU1gQFd8 zE*rDZ-r->do7>1Z9!u&IZ*K|CS2b^-<&1UF!mp=|ty`(sBq<5PKya_8KbrMv99chX z%C_RB0&6=8l1=F2;|Z&jvv`<%LTs+F>;wB+w{=C z@i@k9GAX!p>MlY*g(g?=_6DBkbvZdX+w(Iw$m=%G&Niyn`tP~T);JM>M87&w%JS2^ zTp{kQQeIjb3R+0n$={L#F=z^Sl9H0}IEP=Jse5|`b#-(wk0=AwAQ4vV(V|A51g`gE zsBcd%uODDQQW4_8)=A6HCq%VvjR2&eDk&*3C?Y~yRH0)h4Sq)VWdeei;L;TI5D?P| zy;FVh;-{+(Oyl+Ol5}(fq&EaT&Or~7NaQp7Fk%6zw|Oz(y~7)B+#TberGo)Im3EiW z%-i^!(w+{dp8qu1GtB>5rw!OI?Co2#_s3Qch3bCIoArW?8dU*`Nxf0Q?}u-j^sy0t#^9Q8(e%RUgPM zBj67di3iZW`i$@O8JDW66b=oke2j~0)#GkzZvOmZ`h%PEK}*X6?v8iS(KsX|B(+B9 zmEnS%9MW1lY>wycz!NF`8Plq&#;uKr-PEV|Rt62hjyD)80zp_Gz%T4xD+9432I|uS zmq=~SPLN>zNAlFiT%)u(pO~55IsdoiWB5Hy3Q+01$tT{%Kd<6?dwVwzGZI+nFMLwF z8l_9N?_RI*cVLuh>yy8(3Bl#dO;luq3l+-C#emiP8Q~L*!FxkekO;-f%37?IAT33z ztfpqX=VdLB2+Rj5elZBsl3tL?Z`+13WdMn&`MQlA@usoBxX?u-Vn`rc{3D+44%Vt2 zBShde9UzUMUp;j8K%7%jQZ%Y;^&`fPi6pq3oS@F_-0iF3DH-y<-LG4QGN0P5k8;4A z*8?vICQ$u?0tbX@fDJ*(Mo!tA zSb63Exy)}Cmzq3E`fiZi-Dy$;fC+dd3R)3L^;IWCzBue?_mZx`4p`c;+=LIn!@~oh zrhKIMX5<#bd68y;_3qBi=`l|#Qpv#$3dS6rY>KLpXcg-KACQ69@00 z9yofH^X4bj>U$kj-e)^ccx2{QR)TQ}uBCnZb`@*|^A{;N1|D!xT#aYEim4JrC|g@w zUwP)%Kmtl`pn9l7qM&!8(E@m1($g)7h*7F5X@I*S*!X*K@#n^3(&Ef*qO%rp((%UH)kfRM?mA8%Qx-C(xI*MrAy=Dpc5E|V>$lSJv;tkb|j_k}ygBt*fS^l~6 z;l@ilQyfFW%*@Qy$x1GO&!~_~1Fp)SCC2-fD8)ZemxIn$SITGNjtM$oVV$VUvJ@VI0DKiJzqGz7R=y!ReBB|&)c6Rp9 zW9vI$vo#G54`+>Co9U7O@y7S-7RsBbeCgonXXPe6?vT^k>eD2Kbrb@;V40)~)LKpX zS~@%Nk=_8S3?q7j-g9BSWiaelWb&_p;ZccYM3-4kLrLA+?$CY?@+c94XW~8PAW_l; z8y)L~c*4%%VaK~0(rrhA2U(mD-uF43oXw}f01rgU0B&W0xriXSPa|-l*SyrAuxKvI z=BnjU)VfxXySTUjS^~9V!l(gp&(|{J+7f#pe2)(urgNs=!w$XuTdin9(K{|KjwN<~ zQAr_F`VoROU=abpVxugb>$VMNKwDxS&LiNOSe>6ATD0(gobIQROYWmd`yWJzQdRn? zWqO^_P)rv2{N+na*5nG9)zC%hh+lJolFG`)_Q2J(N>z9?Xl{~~i3#^{`W4Vr zL4z#tPTIDx1~dkR1S;W028L8ME(g}QUii;`b#-F3c&KAHiz0{EBeA{x{f9szENcdr z?1e#q#ZUinv06J41XxHrRE~QuoZbP_Yi4G)4L_)%0k8oFxx^bDVuORyB;s$tuzQ{$ z4R!2NKI&8FK2}`LyOHv*a+!_lsEp)PPy$CRs(Kyg|sSTbobocoUhN>0t3QLqNB+G zMk9lGacSu@MC>mT5h2G+0E(|q4?xri`61v%aF8Sf#`Ju$%Zy*Mp6T|EYJF`!?AqWA zP}bn@9WP%ivQ+*HMQ0F93xgmSBNJ0*hX;5`Z$O>m^GMzK%m|J@f^@-FxFaMYaudFe z1US;__s=+c zKX{~9Bm$#Zb3}uo_)J?n{CICAy{@iKVgDxTD~+8<^1#>2au&ZktpVwPH#ao*`IXfK zvYfyezkK^P#C)1WqWZE}56i&7px9+g=WI>M=K-*)KLx9X>}MW-;oOhR)2GsKZxJN{ z_N*tUR{Yq0BFTz`yJX0n&8x6magI~T8;R%Ee~>O&3Bwc7no-VvQ5M9`IWi{e1!OH?_BCP7GTV&d(djCkb7FvQZ<#o0;o}peRt@ zE7z_WM;{-f(TvQ@cnD7pAdxVQHWO$Aec$%<&V z-_>oPCkDuy`ReI4{UsDnqy()Vd%0;h4Ls>_MSc>#hedJkp9iT#>KO|{vgUujiKLh@VXyM=(UYX^J z?tYh=8U-;Ut^W?1*s+BTv9oOw&hoRWqn6o78!p~1Mk!v}l&q4mFz1qp>t0$B?~*f>ZyEKqR9 z6{o2FkOnZWYPFQdTqhSp!)tCT#*5g%+0FkEfB8SsSJ1ByQi_-b7QgxGhNMP1U)P0iqH~CI&AJ3xyzHKxia-d^CwanLb3N zt}JM}-4yqTdAc|pGZ4iUTyNch7Ry{W3UgXKeFDP<0>>y{*h%Riq$7~2eeOPJgj3Vg zc7UfLvxf`j4mJuAiCrPPgvbY~F7)Vn@A|Rr+{@uLNg2e8F7j}X#I=jZ(; zyiP(opE}f>t4q$Pvc+f&&d_H}zQbokpO-!Hy-%}f+Eel$$h#zM7Q%0)ysYzMDx;o` zBqb{=YaY}BJmnGgz|&62b3Y(?^MgL;r9wZOQpRY!XK;#ZvPRWLf6)6qfC|XSgfnE+ z=;6^{_9WZ1Z=o61q36Tk@#IQZu3q(r12Gq%ScAbj9C5YP5_5Y$FDL-lcn#86|BjHe zW&0ZwWZvH1+zIjqT>c&NFm6r~`;B2}*B&v>De)gi55%rYF}_mQ%1`IJZ~O1W3DpFv z0aE&Qzu+tig-1dkj)67=h1moEY8woj8|>@^4l4tXfEGw#&K&M)SCN9OL`FurYt`Dj zE-WGvD$Y=-+Zc&hH^91FmlI6PEd|ZG3y}>5s^h~bdT~So0x;3q-i`}*L2dn+npzMj z{tzb9gV#bZ8T4;|z;QHylAWK1cO3nL9^SU8ah+sH0oV$Zg2CItEP<|!Nj3MnvDk}4 zY8j^?_*ajQe_b^qruE3*v%2wWbd-KwDW5EQhA2Yao3N&;s;R%92&8u8p^$J41jY-f z3`pmOM3hqBCBq`m3uow<*sgrtZk22FrBQ7pP zs)6n|?%4oWfdud&|4RtF3p@rPAtB@-B<#w-xHwAfSFh~A!9fHhDbNanNEjlat%GX} zp2kM& z=HZ}eJ1l_h8QKnP%ozdNoNK_m{27tPhBC){>xy#%?Ysr5`ZB6tkxuQOD_~%o(c@u_ zv-p)5nTqA^=o@_lRpVnvSrq_H+ZLd0mdQY_8+JQSAJiHb*0&+gKeQmrpRO-LNB;t)A zJpj0{Mao$>*_QszxZWK&mj?O+R$yQt2)pRzL>oXXSfvw$KuqC;Fde)O!VoJf1!2OJ zz$u6lT0zMyKFH@>V;u3A*70Sgk@M48%rC1DEJJy^j&F7g zk3qrx{H#-?kr}pbI>?-eiuL-VDfa(l0lQV-9wrbbo|1~=f*x0#)wIDtEg*zZvG4*&pzkpYK5C~as{{>5;*|A4>@v@dY#z}T37D{(718a%)@gYr{|VpX^1nX zyO6CczMcfB>izZ=gaUP4NEHr%H7IJgyQ)b1K*U!WES z_6N|nG1f^?2zm6HQ1H`vJX;DA&M;KrLLdiWI@=%)c@ z2S>)rCk|O6T4@Uqo^|(b8$^eK;kpngMPjEKH9PgTtVXD-z(fg9fC;!^VL zpPo*}(nE~{<+0*T1yXe{LB0cc3GKfLuz5ogKI3)ts)Nc9BA|Wk?SVuP zv7{g;=kB2LfDZzeeJnON1Lx3Wu29j%fxyXhszS`{W60ANtxW z2Z{h6nqfE{}W*-mn4HnPqx+8?Le>)!g+uj z@?6q#NY&n1b9Hw|WKLJeaPdHr#BuW%1rXOxpvLVtZa~l(pb6s60Q-a?hKq9DDCull ze0zW7T_Bt${S3u84!H%8XntfXF~CCy*r5+pvT3nIciTcJ2I8?75)u;l-MzMTuplUm z$Q^a{^%na#=hmUv?Y8Hn5Uv8x-Pma9+ZjX>zZzwx?^Qo^bbRk!zw;>>av~}2e zL6Fjg;3NSkeFo`YMZjDXU~?ODG^2C^@gI#wBS;697EV2kzM6IY{mKI*4FuA{-a;NA z0B2Cz(K`$8!2p9}3lB)a4!CfiGwv4X8_>GobI~K_Ek3<#)7P>j#*6U+Rx~Gvn_+NP z06V9qc}cLcPMdNo1!l=PB`p5Dh00kuB=SHa8<`l<{;Zt#K zB5EnCfh)M$k@OCpwhq~o1?cGG-;4;5(=K&;1ERB(=S~3pg8UzV39F(`POIIdr3_={39lJyR%;k}1JMJ7*UqjoPeUQ;AvU#=Q{i;*a zY%-%WT&JiLSP|sFNMHlO10h1|pM8`withEU;9KKQXNu|+O+G3&%M-qisDT~-QAiWt zR2-7ScO1;DLVRMx0`lv{a*R3ui@mpsiYsf|MGJ@E!JR+^2p$OT4nczxJh&&g6I=oW zf+V;T+}+*Xf=h6Bhcm0w-*^5!#=be@jD5EmebLN0&{q$fCP{{cD!huXTT4|vsDkhc&@Em{^`RC`q2GC0fm?qsIL?74R zc|CV)95x)fbakBbP&K;=l3W;zpPwIeeE?e74q%KRD30IWE>f@qZKMI~1eLBi-|knh z92{6r#>5<|fuj&3jqu|g;#YBBa3H{JlvMyU5;E&SpiYImUGP=B&^Ev@o!b)!3iy+O zd<$<_FjO!PYCyo+u}3}q^!0u~Mwus%!hgkQVfI^Ya;KRta_2hIaja9$Yu22`fd8-Fv*3kQ|S zP1|f37GJvqWeboZO-5US5aR6S)()x#&;cPMBMU;?B7FP+P}zi{FYnBSvj7<2qsmjI zI(LQ`fNU6F*SrUMkQLmj#icKlEei`|P<|lU>%nDjwh|Q}***RJA^=SRb9Q`<`eUKh zFM#_&aAm(BSYiY!Yy}!zXP_*zTkpdwwO;@U4%+PjAp)2w18TUS+eq+nM*t@W%>#5c zfL)^n>hq&AM=&M@l4l;EhKUO}*cCt~bpZ2Ehf&e%_z|pzY1pM#yrvyFX2m3*`R@WK z4#y0I@?3`l0_dY#^#lPn37`W70N?`534F{mfV=}!zofLZFaQLh^$O@`z#`0@5q{sG z%zf~3Q#GTkdW8%N7Ac%UARGn`Q4etU@vKH6oDKc0twOv=zuH9a0Xe9iCP_@1>)E)n z^xnOO0EE|19MLR00<#~X06l0pfyrjpxZa}gBkPA|Pwj%=AHbJj`New|v0S}hFDRfd z^-)g(n;Hl_z$u23#h@hvn*vnp(1VGs)Hr9V45y0YQ}ysuy?2nkrcO7e1Ya&jnH z4a&?NhR-=5D}jXvt?tClWn?6l{oV|;6n#6F(=ebfEDW2Nlmt}V`j@HLhVSTie}M85 zR0|-7hO`?x6PRWxp@2h@r9^v>vD1!}3F?Y7S3Y3%vI7tuEo^ zm+wP^Gd9Q(HDH{@^4glni@5{VJI=x0ULin#x3#weFSYl-;L`qFwZuQ5wn##4SC!G7 zTR4&$(3nA`1-N*4Ab+ERt)zMg)$x^r@WJi&0UHX4!tDr+pcNGrflPxB*u;*aRjY5H zaM&G|0faUH^*Hid`=ggZH8iz#Gmv6`>UGVlmF`)|z}yA0vm)3TUJs`!P%jj4pwLaN zR!#ESbCUt4!xxyFfPl$hB3BWJTZ7_h=SD}d0k9DO4k#EcK=m^DJJ9nmGBQHLG8Bd{ zeFPB)^eF&a23#aN;JyIa3}PbK2_ewqu-xJUG;+8(W^BZY;OCHkm17u))KH(wB9~kwm}loSw6sEi)j3Leyh8#)s&X)-JUSYxL;)A=%Yq1W zuB1GUXizZG4N6jVle?h-cUa9@1r&$`rX1my(fR}NEb)A9Z^5br0s+h_=u1{_0kYu> zqOSo^Zh-Dyv^>@e+TMdQ7AQY7pa{2xCb|(DF*Y6^)R?mZ+8wKJF0d-KZvmwJ1<2x3 zfycGRe)}odt>2Q9!vWI-l+WlO=yn5a5&);vZ~x>!LYg-xmLI3O+S}p4p##>vE?~q1 z9CbRrmfEMwHJ?0iN!1tWP;B@QqYxhmzpU;{bI#SrKq~-N5vZ<1xbQ8H;fH|UvQX6! z=o{ z0`tUHKn(|ND|R&gp2=Rk z+DB>0rw_1|_Fppi}= zdR`-d+~pe)5pk6{{gG9Jj|*vJS)3H}EgBg&E;yI%fb?Uw-%@A*!fQZjL3bx86?{Qb zM*+icLa+SligHfJastL!gP;PB>gwtmODpsxRR;&3Sk=1ab^_-Z$X9X0^NB_va02i@ zRM+PQ0i+=%C_F$KgmR*wODlxIA&1XPro<{?Ec`WUy1cc847d|us-ooOB~439gUWJX z;ow$)ND}B0p(T7Bzx$Fh)3=w}7-pDw4?oWi!HxqrI0K3uP}~MsI-vI20mKGj24YDld5~yg5se6+$wyJM(|eb>+aHJw_8%xx0K15gz+odU zE&T+FFarYvw5k9GvhaR@%6HsBzEB4BL-p2|0Q^V?t>e+@sR*d>p-L}s%HWZZsCjum zkRpD{IsZN-vnkLZEhO?q5*Ll~pIc-IhCV{Td7}fN4b*4=u!>Tk+l5M#zN7u+mzNhn zS}*}%3-PpZmvQ5&_`cKXy@LX~D-%Y83=8Pyz=;WEXmbs25j;I;umBQ3AWyUf>H^}F zH9jc$(_(=-$aaK``-c@VV3prJtqA_H;YMp{{0gVWX31=W;D&iG`VwbN|!IRaen zu{?NmSi-Xa$;MJbT3mK?atbUiW&+bQU;diyuwdRg#l;Sbyge<|=oI)0d~x1Deh-azpk@LP zCb(xR@PyEwfOH7J@QL5;UyyKi=rnp1nZ5tnh4X_nf`XD{&KX1f{iqb~M=(tQnupe5 zp!WwNWs)U8Lje`)3usOU!aOLs1+6X+F-T3>Wy^nmpk7I|=Qb|?oi`10wq*gsEuoAp8Mi$a$?zRYwQw5b$Zak8 zacEOlExnG1!NyAJaL-3xElnY)^()|#zkmM@Jt+XNgZiUDA_AzMKPbV$on#ag6ijXZ znl!ib0Q{i}CcGJCC#bBzzJ!KmfCUABY7;z#wxuNsARx81v-7F1cPng!$=igFEJAv< zUns-}^Us#*p$HDEJWKs3eDHJ(F`W__ps%V#r{}JG&?f@y1P*G9A<0%JZg>&EH!U}+?C>0QbAnpi*<%6C01o8t?&uwqBvJzuy;a z>?E-AJn!%M_ESzH2M1h;J6jj5lnRn_#{2w9gTC*ypuu=zz1R>8ij-xj4IfkBPLJI< zSwJ7mAUHe*0s?A)go2?U?EtT50s1Y#-UJ=46P+KP;nwrty#YaI;dFnLaziK#RFpvU zzXq5SSV+D*oV!P!mmD`eG?PHF2H+h8W;H0;2++1?;D3Vs0!aL(HC9PCLNKTA!#-fsTB&JsN|~#8(!u^t59(K05eqZ z6yEW0kqqoGZ_pQk79^fuk47>X)e&Q+lUN=pPlThK8f2EeBUE$An05zW~BZiw3& zSUiBd9oh*mEG(FFj|DU^tolCjhXpMzr~v_U2@T<*qVT}j1a!{`pjU(L&hGBb@bML) zZy<(ton@!CK%hYm`I)Q)A2PC8_6{Fv=Htn$OOXGerZf--j+-CvF+pu@Z~&Sk@Xs^H zdbMB503~PxRw*bd37w-y_v6_iHf5nBr4`}nt6Q)Mm_ey}oFi}#waGwlpko+1>km44 z1_(%g&ii@~bMWzzfsPhR*aZe6folXZ9*c$)%;DVK?dG$`@6>;zR%EOMIQy3Gh?#Tw z;bC&6t(}4I3Yt~`!~gmz4o+t?IFb3s*WkWAZq8c4+zY7v5zHQuxg!~7fuv4Bpd*Mn z&GMC@+8!*x`aXvevw)X?x_v?P?gBtR;A{(GOKWL_DE}^o69tI*2Cv2hVIEhc;A#O5 z4vmw*LkG}5AjrwS;^0RUnjO~zr;U)!6bp=iV*wq$#$f0rJvhtYNN!F1!U3`=VAt!g zyMtf>5dmQ2pm7QMfdI5h0Fpl>p}aVZOuc{C--!VFktUT%1`R7rR^Ls4E(B1DQ2aKW zoG%1i!LbeTS48m)#l%=p<^r8~1ehPB2PC)PA>%CNPw%EF{W=2FwjtOtKqQW&prQ>J zCXE+T?f{d7zA)DSI-GwV^`8SUI9XUTo~@Nqo|tBk76Kt6B2sVm!Uu7Xg$e^2 zVF?YPZw;Mk1b{A3rNBT9%l^=5Cg5oQlMsZVnam>J^U2g?Igmb5va{nshulJYE^xqE z($X{w13C?S0ORL%d3o6l2wP_J2^wgOgH{pVfa-xxC4o+igwpT>$$SamD*wJUcnV`v zl7W=U@=D;l=Z&F_B`__wf`b4>e~xWF)i#Jn_yv-?B7>0E0cIeK6zd9*a@!*V4NfPx z02TnIzI;LZ{O{Y%YeBD+y0BS$6Q~gYVh2T{kJq|E?*o&XcL_WqSb@)N zL2J? zfBn3C3*;}LB_O#2z&1Fk;G7^qgCUr85^99w1XyP9>F>S&9#bq~u%!-OjCl*43&J?v zoS8w3Iw(g1(m!-WLa71lznd>26naU%d6)E&5B+dJJUu}eEBH5dU$3P@{&U?}!jv}q z2>)gu(6{Yo{EwHwqW=90@Sfm-{oNDD&){(>|N95X|MPbg{(F_k&r<)#`#{Tz|Gbg+ ze{WtG83xqr|E?bva0dO~5BR&6{(mhIq;E>c+bs!d#?(Lng_N3|e-jCojROH)8wygiXnD-jUmO$;7$l`y2#RYsd2K;s0m> z?#}S0JWf#f=MvB|7~+y*R?h;MvWp$3um2FA}*X9`H*0=fZo8Q)3JqB4i6f5`JYo2Rb+`6>{$QH+5 zR(5es!N=}V9IZww)bJpz*aYs>{j93IpO3QicsJSR4$HKdBQ`y~I(o!YGsU}MSt~m` zTRN#Z9f>GcD70xITll6!a1!n`BW_tpdr+V^k$O~dGz!(QYyIo+N-+wP-qBW(t+ny( zP}DVhvKz_O?n>Y?a!bz)SU31Q;_$CKFTDtg3_UbIk`USeI2Q{MQSbnHiBf>G(zd5) zbk__nIy_jG4ES13)SX5y1X)?Gg$@Yj4N z0*_C;vV)h(KTTUBoAo#q4WN_VVg@|x!Deu%w5gxFi0Dzhl&)&rH0Rf1k{8KQ>%Y}p zA+_LzkxF@lJJd$*w$OU?H)~XOXech+-;AA5oo-~0;L@^=uB!6T+9e*tLg&-9Fi(Q` zP+|FI4|lzbi%lvN!=ijov*-LY9_w+Gj+EjEzsXYGux_{G(@`@E_EqNNFz1bVH9i+I z0}+M6$BCC=+<1Xm`V7QAdC`$oc*BENguPj{HIDfL{7qnL`3H-p;TkV;;g{Oo`N6lP zN6DN;iAP6YXh$M6zf#~AcNbjZM0;#`p__J$Jj648DPN+rsZyamQ8N5npc?)t`eR% z8I12D8)iW)m+}_QvRuD65VF%}`3RH2vLSzub%8Ye(RloG7W>dGesfVY_wQ9=rO)ZI z0=gQZtfl3}j{4I3oK_-LFgy1W%#z;`ReirV&Jtj+1ZB3*UQgom!RQi zv6lp6j+nY5f!&pSTWKD!9#>sL&@Ir?=AQIJb+h%$t*qhWHA@1DlV;->#fQ=rczz$7sdWJWxq?;o12T1Q^w#zHM*q|)b-((mcFOV zxm1%hs1;5r-q9KmI29RqCGf|hQ@s5tt8?}C_Ci`}a_Nj{&sRU3ey6g$U?6;#^8Q!N z1v$yyOkAPlMDTsiB&d#QVW1M=WiJRM5;{mmq5PoaRt8R`1 zcR7}>`0bZ-ms4z0OdUzv6+;8fbEZ}H_Xw&6*ZYS?1i!Nh$PF8P`QqgYjpY`}ez$1Y zl(+wGmaT2t6-+w)YEtYlUUIaFQ8K=}QNmC5;m6Qus6R%0`xJSc`+?kP^<-rM^;HC_RSWA#l?nvPoZFZLqul#!l0p9FYmdR{PYhwDpB#;D z^Y@M)^auKd+DRMRW?Ft9mg$~)Ey2aEqFRo>jwpZ7UmWNi^+mW$?$Nn@>#xGvMgN1M zENy2gPIu$2?>>F8VcPCu+Fru1@ORjCU_TaIM>qC>{SL6hUx;#kW3l} zF_u_4+-}fkF|F2heid!AooUW>?0!t@cMd$ydz{tm=b!sjda%v@kw;me+jEWyZs{tZ zker~yo|Wi5H$usxynEXao>7@c@mJ%d2D11ehRE~e3vwRC=e6k^=RBQ>ou2M)Z%HOb zL%B>z<0T|@FRlcd45!b)di6|2Og=Qte`30b;|q9Oo^p6q`*x%#H;rqvahuaEEhE6e z<(&S_@%F-Yyj2g2N%3tAk5x1exy{%3DT;mKw%@Dng(7okSj?!e=WjSat2r1jrLf*V zd>VCpJ1Nph^?1nkh6P9F;Un&;l4}W=fAcZLqw$-^+3ZLB?aYs!I8)^$u($i(if=F} zbTY@r-ozcXMu;9g5XvR`R#$o1<7%T_YKuD6&kG zm;d%^n&~olTcq!`zuSsS?qy6;zT1?=xWpHCT_%!wj`LOT-_)d z79P>@JV|K4NLUL4OS$B;MF8utBlXN~DS`UVIegV=OkliIJ>WJz`l@)R-X)`BO_ZY( zV^fw~%ICu)#|I}lAMFHQ5<%+zhf*BT8sbD0Qs4zB)6iSvzq%|S)j5GNr9oMSgCtey3bBG3%*?pX4A$%hRZ`SznO`>|>-9@jJsT7Mt{t%VpQam zg+Xj2#au|lqC9bKjpO$W_cwjR z{`w?DTpN=kplL`K-0{&rhEcQ%`vf3PfpmQ$~O0b69(kuoTVoae)}K zH<#6wR=crL z7~kXJSkH~_X99e$v!cUQE@v$lU%eT~c(#A1?qDOk8~-9JIyvS%(%4(@HMf=%?UF}b z!EA$6Y`8g%j`>&TYXnKX`r|UoHDe8yqFP+#ImsixXiQ(H-;Z*?+0zrZ*maalTG%v> z#;Jasdm0{>j|O=~EIpq$_*P#%)SJiuVDSEgOvCLUWM1x#!VjcwuJQeo8tre!u_-Hc zUUY(yzqu?1x#F~jUvE!J8E%uajbUtwDUN}k+? zQ5AfqM>A7D842Deew0T*4ndH-)hP}(S-1Q2=V2V?i(g42Yrcs#?ZFytaEqj-IhWkEr?wO*)tEgTHq+5h`IA@Ix2a*+>v}hN z+R5Rmqr#%Fnk0)oqIa1I!X4!5E-g&#?DpyN53?SL zPW_3Lv}|5GWT(i4MX%(?rB5)Sty7NKV@gi%M$Z?N>}iolAhtwbYz70f?? zGjp!cPOCN&3E8K@XCr7VDjjGv!e-GZeN3#0%j*2;VN$+#JclT)&n{}`snW!GzdT3# zFc3G^A@)L{wwI*eI#f(_U>aZgHD-+9sEmKtd8RjU`W9VJ?mcFcKRFUIM3KP!^%8k- zZ07B=lkOurOycXERaW=n)*Xn?_00#f)l_6$q+dMS6v1yo32h!;HiqOPj7WD5hlkP* zwg^WR9B#jSLU|J_ApLHZ{pWzY*ha$!RTZ8@pDwLuOu6VCO(9vO(n_>fCk<6sJB1XH zHtqG2&!50wIXZ91qf6JVGWC{ZPp*_Xbfei*&>~l4#<4e?QVa1 z8rra36bpM_Egcm!uRST1cwXFBokqmbG#>Z&{Hv_Ja9fH#F_jp8WEsQo(D zrFd%Dy-FqHKRUtkiU;qb^FtT2L*DUPJ;nCjBT@Wdzuw(5isoA|e95U*sZCz>dh85s z`u;r(ti_Oq#Zc|MtB#c6(o~YoRMt7`qR6KUR}W48giHk=*-_~cSntm`_NF_2le<%^ zXE`wnLU^GJ`ERM4W(n;X3j^#9Rri9paUf*SF^%t%Nn=LPDWa|3h>E|wT`%)Vgy zDSBe`<;vDRI?snMFOq(PI$~XMik3K^f6J#$-zLqa@n^1j-E01oaduzfh4$ZXrc+N) zy=}yObvltZ@!LmSoG1ond6Abmq^@<~Rhy?V)~uTY9UiSkj5b9Rbth0|>l@J{;Ji}3 zyx(vaBa4h;_Gh^CIL}|z!X@Vl2X_Um*yz2J)V;eHHdc0$>G)0In(C5ssj%FmRB>6c zJU@TQ%u>d2p|ceTNrFkUK+NbIARaPP|Z4Z)8mFZH)tKE1Ld*Oa0u7Pvco(hbDRJVI1zpi`8 zX{}kV+M7v27BSSqF28XZ)wJ_62F~UIjA_q)&u}VqXNg1GL`qELkq1;*xeWCBI|`y}_L?Wh_OD4DY&qUn|HUR`DJA{M(+0kQ?Jac89# zGQ?7$-UJh#KY2;eN2?rW>w`T}>>e+yp+vQ1PH{ubu^sclkj=34cJI|)d0x?Yjl6Mk zH`|7F_08hV8B4zl-Ia1-I8}t4OAHC`!lW&|DuK|AM6pXtzqZfsvsC)uh54Dj^(9LR zP}5A#`>Otal7PEbJG_5$(bW4UuQY|$C-9Z4(7XQ4(kz`E!k5K{$L<0zy!?c*I3mB zizP|xjlQ2VSKz-GYF{r@wmr5LQO(YJKhLvzTNoVAwxV@+q$A_*idn*>jKFXc*7+SX zpRj(9p1cSAdC?#x48t-0|W@4m$O$v_;|$4Ccpr1`y1 zR*`hZJ!M`0)zibBwMk*s$zZ+ic|+5dhq99zT#3XsdHaaIt4zVHC(=F-m+;{hWc>G_ zdMQ7amCmm(QC1r(rU~@Q;dt~;YqkUzwzfSq)lU+CqPHHYx$DEFI`?nn9<6-%P-_HZ zuR7ry{rZC)%&RX>`uip3BRTK5S0Gh~iX&Trj5I|^5CJx?dWI0j>(k?=&-LU5`MxHZ zkUB&U=8`-fHb{u$R>V|FL%813^h?|sy^6Emq~Rj2Od~s4;0)J z_mkK{hcj;iNK06Pmt1?#=;xA$9@+R0Ptw$XmC@u@`JZ&m3TQNA^3D#m&%N>8FZk^> zG~b{6&^B0DriDd>jerV~*}@n|C|&y{-yt#I#Rp>_^5kJ5Amg+~_Uh&*QAiW{qDwL2 z-g}$WEyao&-B09}q3NQ}*s&OcLc=RhRyx1b1W7(eNv*j~8(FiE@&8iEy;7)&`N*zQ zU6*P0X6>#^wq|P<{>={Gbs>XO@rvem#7=2EA7XJ*0e8};oM=K3YtPIYvVVmt>rzv@=;rgy}#7-&=4-i?w`Gg zURzFDN{$(eIleZr(#~m;H@@VpJotMmo=oiIScq9<$X>cIyE(k5p&;{p9`njw$zzG` zfd6Pr)0UPF5uew>o6;$~++hx{x7<_sEE;>I*0wBWvq>#?bqcV!YkXa{CE^l)75 z9NtFgR(6O{j%@|NF47LYjUi~@^NH_?e>V*iSN|XOnOe;K^oFqvQ1i$-jPN(S*l-q6GkHyU8K5zGr&eh}wUZJlgqxQ3rFP4z*b zGBDz!QBWq&U0~koU4}q{BgDd5Q4WfF;}ZKO;TU@b);C@G)YXuNrO^++ARJvu(8j!; zU+@NgKjGx@QcrvXwiaY|w(UhC728jC0R};01C8HhC0iT&kxC4QxkR<^$@ym81KMAR z8?I#$&Ii|gS*xGco41gcNGd1G>(#rKmI-pW9scE};dqgBUiRA7!O0(1aM~2ZT2pCL zDzYYxU>*;`ymEJmQ}XA=7rE~FK}%Tg9Cln?CzDi->$Ug^A3ZI6oX8+V`RL-j>LgSW zK|+nd6j#u|hHCFP*ivXFja|Lg;DzS`#m{XI*3U0L@Va5sDC0iJ5129q-5H`g=I3R& zh&a(~^mE?Hqs_lo33$wS6;+|*3p<^6f4sl(9yy}U$56|&rTzt@;b^4O(Y^ok51bC< z+1_bab4T`kq0jX%Z^hE2dB4DQ`-DvTe#^ii&56y*(kwsayEd3Els^CS!~DL|LeN=# zAliqy-)jB|!AyM(ug<48ZrdjAq>+coF|5*z_oN>$`F|ww8m}+@yop~&`knt8!Lg`l zL<7vuyZ%@xIbbD9h{svax%n>R89{h?<=nb7E`P=JZ1B4ZIgNS?;$?bzN{{@F zk%iyojoWhEk9_Q39ttmG$_aQYM{Dqsse1HKBxbA-4s;HFkkfbelJH+7Z5-#%9J^M7?+9Zdabqx-ntZkMj#&F+nUr<~hWYJ$$716%TJFW? zt0Ot+qqcYa&p(zmPM)W3rIx$g7^lu~w`!0C_L#1%O%LdEV8xaN)qcPn)EECE3d5=ZK$Z9$6v3+|^Z(lEGmkva`(J|=_QG={(ZvtA1;eSd@7kJuEF zO;I4xvE9xYtBkuJcp+ZchJi`d{q$?ON!#btw0N%Q%G+Uow;z+YL#zya9L@+jbS<`~ z2(ih|SRECjmYt8pu_8ZOLbl3|i0L8k2sZRa;*)}W;mqw#gCQ{}1e+LbTl;puToDLu zm-`jfolh{{NpX}~-I=HpS^F5^_)QaEYu=0fQ7DJW+s2c;QyoYy#bkkvZ=2G$&$-x| zs3m#%_`|hX9!KOU8j+`@&(|Tu*pmF3*!a7=^$S<`t8H;kM|X-O)O>F@3A?L;CwTea z`y}f1;Zw^l#X7|oSTaAq*uo>T=f>M3+wzM$!~Ph8@59Km^e^;!z6-iR?)dm=-%Q7^N) z%wS`in6WUytiYyP={5l zj+H24Dve)g&}!69u6SMclII%aw+pVx(Nq4V2aC(d`J(0qA_Ki9pT^f-U!qiNbk_Y^ zUNR{3YQrph2axFm$|Nu`OYMFc%KzDRu5X4n?099`L(i5t0t+VK3dOm;&?BiMTax_| z`hMMHCGZJmj_|;D*ceT8nJs~t(o4b#Ji2s+^*$PBH%|WTw}h9s?7}GBZk+W8uLtT^ z{inwBGf$0*L~5mtygPI3TH)bMG|SDu@35nxH~?c^192Cyi4G?QdQF$j=t!1)^=` zr(3Jw@N1P2nh>K2(sKExY~1@u+65p(g8PK|{-}~=rdIlV1>cl9iwv5#mTM7wQ5&70 zn7F(QEf#cZYxSUWmY8E}D-#+GI>V_xTI}7UmAR!AgN0Ic{<5z2-PW-3(_8%xVs!4z z`NbNN=vn!Whmb?V?V6X8!C7_O&by%2Eyd_PdT@d^{artD=mQ%@VvT>)dbvWDMkX!U z_v?q(c-{-;i~VKwhnBGmX}y7jbIuHiHj6%wDzC%1UOZ`W-lw;o$L5?S^=;k1OJ&t< zn{PENp_WUf<%5h9V03n7@@+L(|$e#P4Rp|5HvN91h1Kqh*@BL?%qwGF?#X4@20t7NYr{tc8p-!O<7u zQRclXLiF80y^E=1(|F@)L6V7`5e$EPrncpxCc=e`r+e)e2FIJ_rTu1Dp0^DM^SCX} zC(PkQp=mNNrn@gQb9CNw37I_U9KFt9P9Ldvu8jP0WN5*%+0S5mSc67}I@eO}raSTA z3NPNof?Eo=n~{3VS~Zy9Loozz&{y^LNYR^TQ*JGuz#- zOZAUSAUZCm(XQKxSgzLYZKsyQz77(Eoh|2OhRd#G*w$0{gnW|Y{WGH=no9xqnMIN( zW90bJE;pK-T*mICmb~ZJdm7u@_IK~)HKG>k#QhvD=Y%I@njC)8-~Qq*H9xGn*JNOjoXgMmfUEWl=gm zN7?A1oX*HA`4A=_lXzXVcb!+vM!)~!f}7`nNHu!i|$}z1@K&6zyJ1X-M`* z#j(}#$Yfk`(GRf>s?j-dDF$7h(b?Fz2uxzJ4w~tQt9RVWs8}40;%u&JD7mw${2x3u zSv8-vIh%g}US;$Av-Qhizq<)KL@|%`eF1U?GiTikPj%G_x`;n2Xl<8$1>}`kxz#z& zF0L|yUm00l<_2GxGzwHI)FBaI@q86O8$!sO$dCSbc^~*@T7o>5>wZTDg^9!N^eC#W zwQ$`R&*a6y=)l#h*q+n?qfGC>`WiP^X`eCltjC6or!gA?7l_wxrr3%WutsO!&T^XF zU4xsEjOrWCwTMO=E7{EM>g-9GH9Wb9PW9ORar;U6HDf4Ox;~g$>dJ{zNS73m9~4B% z$vv<-Yq|fFx$GnpBp#Ogj}}0evN4a~sRYlfW4iO7VVc|;I-hgt*B)dm>Y%uw(u3Gx ztX(l;Q1nA<9`0h}bZ^p@(O9d-rC!z(lCQbAF{Tcf4^EzIuY%px1J{uTzK=5aW}3oq z*qs-?PHC@f&NB%*;;i+>~Hn2 zjD90oJ)arYICFhPt5BA0Ph9>%u0un#<9S?@o9qV_tlWmowG-RYAjz@P;pgf($hd{y zU2W<+#Q8sT3a&rnBe0Gf){Mhpa+5fw)snB1n|VG>oSW)9=FYC*o^+l*$rWt#TYSuI))+-fdXdp! z$#PpIr^cCUCN#kd!EEdi_4g-s7c1)VA6#SE@zFCg_;Hs`FQrb-HHG+lEgQSKS+zQ$ zq{6x7^zXamfk%e~#IJ54Ghp*KlebH(4gO&qIsq(#FxKJNapR;rJ$pPAk2WKaERPk8GV;;>zqgm>>k zu}N9?`3rr0Hzi(OmR1(3^k5jEw+a57a06Ksa=zn}#7;EW~d2Cr8)r zUW_m|mbUf&bwcUIC&dYxsDAV=_g$l3zMEP@w>+^1g`efo%zKt0z#oRK=-CPp3RhA{ z?T1GTPYGnY+!$c9cagDuHQ*Pk`%YNob=Tz`M=?j^Xszu>ZE)Uu#7drEXn}du72KtqdG#Fk%Zv*?@$u3BUaom)hnJCOzag~`0 zHo6u0>(out5|bv;o71uhA;&%`;8_tBebn9)itGn!zk{XFz+O{W9ltzPT+<5T8J-!T ztTIN=v$hzPH%u~QA2SmF`Tet{P6*6DpMi~S7xbThV-Xbm=T%WrJ#TODy`j*bmjC{q z4-D)->jOsGz`_6fdw!eblqJg>$tk6#_fqp76*cMGgk7p5867?M%p0?wIM`)Y_=uIc zA?eBCBfEPm?wjqA9pN9Cc*aeGpdwZKw7-4 zUD!-QI(74W`>{)-!om`QBStcfY7RjY7Z#k<@xw18>e0L?io|`=WsM4M?yzfgf~Rk0 zH__=6>ad<=1uiE)^)YVg<~Z#IWJudKoMuIE$hY}dh0GngGJtvc$DFFyZnIf;*FId}N_KTZ$?dd6TtNGu~^=6o#><8Y3#M^7#zD&GXwQ_f@ z>tx zQ)HHHA(UA3BDN^W-*^ZzLZ}jTkzxC|#z|z>`Wm4&75?wxSx<6jMe>2|z9}3T;p%)$ zPA=(0SBGaNp9>-TmYl1`1Sy>s#=6}yjM;gn-iQ&1vEZF0_bsPhM4i3_Ih96(Xg|eH zCzbK*gG_aX07OQKURZ>2ZS2RrdIL2ne(6W%4}w01jj^VYtlBmN&x6iyO|L$p5 zof9cjVSBH2jwOtCt8rQS9c9?iWLGuclTs(W*73C$%1!=?k``U-sA_rv7C-$P ztGyWcwebAw4n2ZY5#9`=>U9kYTIS+eS}A$T8n=gUT- zef~X`*S!Mwvv00qbl11wk*vhr9p~Y(rOr({j)&>8e_yH1?_}7ipbtG(J$cOJ8hYe^ zNPZ-0im%6HaiqOS5z?W5wv-`}Fl<}XVQSfc>&t_!X6t@Q9OgFoW?TiO#{Ay^w61pj zN-z?}N3Aa@gpYqK1a{NJaJhR9`$yjE$NLOj zgVnw{TdPI9LB0ZurUW^PuF}kOQ-KN&b38}q5o*D7yNh?6oJ#)&G#%w(mmr`2wSR3} z8VV`oomN9BPeGTdhK9g6XtKOHYBKW4{f+X> z0yZDdgcynmPMe%%Ta-VEZEG!qXZ$Qovg$)aF)f+jr`Z=*W_O#pY?+Mn2Z^02sK$CL zy5j0*Id;n(4BzQZ9Q?8V-9xCuwMagQLRR$|dHU>#Z(UGNhkq2#4`EF5{|;h!^ApBv zs3Q`1>^@$2)?BKGX*XjC_l6-}ydKKE-^Sn5Zt+Kg5k$(-GMM4-~u@)JoA&xo~bDY4dFsTtk*^Yk2roosL2NS2%)18&=A$> zV;hE^{(X9i;b8n(NolDMn7#$R*!m3`R>PSHnkYP&h6P6Yqhb7Afl;pzAdWULpaQdf zv-vi4Zy+!bLbQN}A=rQ4rKmJ}p&tU%k_`7Zv!10G%ht#JcXuV(Z`>RO7Ee$^)}nGT1u#1p-G;||q2_@;nfXFA7qAu(uwj%jtyuoPKJd3j^|iz<3Znink}8$>zTQ~fNB z0)pyTxEMh@%syT#>sxm3)e+!qQ$y#H6sJu8jk95ohko9kw7QebNO#xQsZPa5B0L}_ zx$-WUll2ttPG`e#&+;I+B5FkW7TK$4+ZT3^37DV2&-Wttk&jOk7ag7$4$q~UT<*-A z3*o(^HEAu*XVR1XptH&FM*1iESV6YFZZ7E;8CT&1IIcdf;~9Y_hB`)-w6zL~(vKTj zCEC~c-0yh4babcm-k!)@nZJ8f3{9riY<=B~p#FD5=uo;)P?pShAA}+*|I&spzBSd) z8GlAIgX0q``k_8L=3x0tqs3*~iQk)R@qk$!f=%^bRm@XPXd0LOX#1JNy9}$p|T+DE` zSjp^ePEkWKA9~t#r{sy+HdWk`yh=8jc6Pdt_IKsZbfYg}U}NBJ&hvvcgfwX&XqShE zb46O5yW7EC{4Q6~CF_W>P2)%w?gE`vI5~D3fAGU>)qPqGr>QsWMBc*GKcY!Y8@U}H z_6o2}I1=$+Kg{@EV?RgBfAy|q`v%qS&xBOsJR5}72EK{=F4v*(i%ocO>-GxM!r}9kSGk6F`x;pa^t2H>df2X~O!?X&Oakc)Z&)5AMc1 zjac5*^3I4O2&iTXJJHzrTm($QKRL(fOvU7>R5i!-x@VAegjlWS9WROq2AGu^Ss`Tc~+=NW&UJJ0TLQ>`by zfh4D0@Iu^kYHa5u`{m`~3csbkNt|Nj%ZPp(l7IPu`8(Fx8Ad6~)R}EvYijKF9U_Mv$ussCPmrkuAnJskw^^x`G$9F^Plw z{OoTCYMeje6{HNtCcGb1;jGRNd&C=U8SH{_u)uBYd@oUQ?G9UaJG0))i5!!FG>;9u zr1&jjN$dLz9C0gN)DObTCxus);csw39Xdwyv|B@a`$RTCBk2&N>KAaygLfoBjvP4uX311#~9Y`1>#O#SCy0_JjGdkW@`}n zH!W`w{c-UY9OcSze1?;4jVV<4)-(6ud5zui%PLV*g%dn&{4a3O1GcuX#u$I2PsHZh z6-Ap|oNjcE5-;#*W1pl>LH>zEi{CW(a`hpQ?{uz}uY7*KIn>RVr^anY_}eXK{U?;F z?)a6Mcw`@|A`asehaebIoldtyJdyffoRVK1-KJZg5MBp(1;81-TEW3Y==oUGv8m)4 zLvVL*Ut@QUIB?W^8~x*-V6cS{duc`2i8!bg)0s4=#%%TAIWG-Ms!gWYtVkIUJ8;8v z$tA8r$k%jDUM&&cnU9yQUzWR~QApC1FiU)(T46oe$-Q!Ky~~oW;X;2-`-Rx!mHvtM zduIy+w|6IV-ij|gTeXVA+l8q0q=G~mRwyPI*-=8Wc>{`dgC8Dhbvwd-Q`#PVx>Gg9 z*a+VbzLpxIx!$q7TP#-v(Ho`QfR(JSqSoq?)g7EuJ5f_@_4EvND&RCoa7#X zF`c_Nd)Wr9MU%HIViZ9RgW8{-*FlF*5D>(XN(P^N@naC#oL$N|xv?VDczI6rEa<}+ zj8Oj1)sdh4G%b+7Ijgb5z|e5zFy*1R)RJ`+Rrc5{aAg5qoy~)cDtY+s>)$l?C^gI> zs29?8_2d7c?k%I@%C?4G2o^j9cL>29f=fZL5C{Z!_u%gC?iL&ZBsjsfaCdiicM8AN zp}SA_`A(1beZTwNd&gzej~Y;ns@i+4xu5mSxz}|4Y&u3{cYn?>plD$jTpN)tca=Hy z%^kEXZd#L_=u4y!@JXa!Zk^dd4|*&FEeS=ctq`+6$8ED&xtHqs4Q0Nj&%g4$4-rCo z4#_(PEu^r|ZzCK>{U>$&i%I@<(fo%+tUgR#1AfjISiO~im*3RU#|c~zd?^n)3g&(M z*5O91*GLc8wiY~Wc^(!Ly*w#61nPzWtM%li=kI^LYaH_@O(UrOY?Tqg36}ZSBJED_`SFTxz^^9z#si>D^ z?AXiXOja`C-nk%~U3{6zpAo+wq*X4vd4m!_+4{{`rcBuS!bA}%*NoUhAjaxwhun;x zIM6s2fv6egL=_njS0-2V@ku3^6x#H0G3XM_QTy|3R;?Bp5&|8vH2JwXB>EL$dH}A@ zmze@0^UU|bEbdHsLH+G6KSfUNiEz%<$mrbK@fFEGJ%24Y9Fm@4c@(DO^gzsM z)l8tLgK8ISDwhXJ-pAQtAHUMB3*xGsx)RJr*(wXnCakLvtSc87nl$8t%P%v0w_#kc zh102GW}A4Rl6=;K7~RwUVOJ*GM8sy3Jrv{t&IWhJJPk&#RZDpx6OGqW2aj+S98@^- zOQ`7|DRu!BP6vQT+UkN7-H+n}wJ9ZfH;_Z9ao5l@ZvQc;vwghX%+fSME?DnKYUsEc(G)P6_5_(!4BD zhWP|L)IG|B3J0lNqN^E5a`AAvUq5nfp!p}L(McAf*$U>fW zO-PI;)&lGbF?C7a7zh$(r2PmSnFc}eID2^^bG^XK0Q(aKIAAw$#VF~qf<>eCXg+Pjk>N8y?x9TC=vnM3x1mz5Ky z_!9u1?liiV+JY)BTf(QIM@E`X;shv+Ko=X4G>j7EQ zAxzrkgixUdr{fXA6z%H>u?B7g4DlB26y9rz!I$|e*~ z(j43sJ07@6Gw7{=HC0%o*j=mBIZ^;)@bFgp&m_hwWV(s)Zb+Wzlj_tH{`_ zK)HV!eN@sbRPS-tftFH%_P;00F zrk9i@+-m9aHQ*?_#EDHfv>>tk%c)=oyjKUJaWwjJuhew&7QtfEH+Dq*N{32f&6g^ZQY@Zj`(|6f}AbaJL?~(O= z#C*UTERJR32$xpa@513Pkoh~?PzwdGop>nU?SZY+(yrf{#6+1RLy+ORXJ_J}Tc+$y z_IctmnOz4?qv|OGMirLkWW#zaS}S$+G-<7b|hFB>r-MzUpN@pdXUIkyIHphmIi5il6MP|_r_LaK~%7h2Obx>qJ_ z*l(c??H>gA3gRpyQ@S5p#8TKvWDbK`ysB~3XJ!i^{B`AE7k%4KA9jgPuYj;rcw!ig zGZ;B9LV5XwSC<42_%?kD^bq)Qqh0gv(SIF+O*#=_%{`q_Qc_azE-k(LW*cg+tC7-7 zJtO<}YjpIJ-LRxTF8H*@Q?yx5vb!lW0NKl6Y7!j8WsF z7;=JJtb>2fJ{$7A#3A`pziYlA(EY>7C;y9Q{v`qa#Gb#)7TTW0MH~fI94HQ9lFbKuqDCC&TNL;SE@-=^ILQX<*Vb zSPlDw1&P4!hdDn;@_JphSbt95QcQIW5)*UAxFk73*J)G%(!%#VSn4U`SVEJ_tBK9c zvth90Ydr&~C$7nn}ElC_ky>?bcWR7Ut$L#~fLrLQ$5C=s)Y5{kihNm;0_ey389G!7_-c}qM-DeN| z%y%K!U6}S2*`$^NjWUA%XUDo>K#kjsX{F8;Qo--cdi)VJc;O*)e@^x(tN-sfr|cg% zXN;zx3GoZ2qaP^)(KT_T-e>Kw+K^eq>YS&G@EsrsBVyqb(MHtjV@CWgg2S?daQkb6 zl^-wU**%OEI#89~50k31EQ5!9qquk46h*AI&x_LOWnteFt@6DcL^gh(Uz6lf4@{`r zAMJPHkC(S}=F{YhW&0KAa5!J#he~%wd;M0EW253OK=YBGY= z(WBG)y$E)KKbJYj5gwE`iHF6yW}(sj6&+Td`Z!ti7(!6j44OS{M_d5h9E1cyTv$-P zJ~GBz)5} z(7Et^hB0s7;o*!`Ee`i(0VFnzR|yrjeQ{`#d5U#g2yr&~7r3cIMjwv5DgQt`uV&8r zi=xnx@D!_48A>P#&Jqod%+Fq0)!o@2+SnvhD^d8i(>gA7H%BYN_;0Z7#ap^^@lUqC zUGA{E0vt>pM)N8k&?ybdZ62vgpfan44$qE0)DrpQ4`*T08$uy{p*MRKU@+gE(;sci zRA8>H$Np^=YHb%f=9Q&n2Yn9X?Idw9c{op2wGKyKI%lZs4?tmUE3l04y^uv)s-o)e z(Fbyyq~{m|`<+JvCIymO*!nRg&@4Fkeb^eL^!3J8<}cd(J~-*4q0%7GE}b25%n&N0dKoR^!B^RaGEq*w~O6ZE>=Fh z+rQFAdBIG%dRD%kRJ}rcv7-c2bpRm%V-&c-aI4yc#qEn0toY#bWQOrSW~aeF*eP9T z^w-!88tWi}W`xj)UvlaqP zW)DD4aMO%+pl40E=%pC?CiU<7B%^$_;CFlyU|49&edj@;G{KF5cqS%d3mviGCQpHQ zMERBIcs|KkI7TYP7ac86+F(1_=Oac5rF4+j-L(bTP%9!#MV)78CsOFgG*Nk}C@TP( zi>q46?-w0s@X`X?n+76n38hU7c72-o5=QEIj^CR${L zX_+{EGwYNHA$>`$#h%(#Gzh-0t>8QSC)#GSZK(J@>@?s#Q5IR(%4CRR*7vHDf+fO?u$NNhO@9?O z0$6S0Ax(@fRgIxHJlC1W+)$DsSepKbtBZ;vD-X2~8D0Pn^~gblOsX%OuFk8ISMj3* zpCIX8gwABf0AUIf4mxsYgp(E!^-lKF%gWi&ZQxuT2z}-HXLrz(CNH5bzsolBSrFYp z5u49>30IN5fSS{_(lILZ*i%XIzB*$j9fTY8*^5LpjegGteq*N)B)q*~w!YRY%} zY%keLN#-yd=lSd~i)4g1a*3`8o~2RakZ3cxPX9>V)%EvA4}8%C=hijxU^S-NF=0^g zTmWkS<}_^e%GDXecjg8Hk2}+MGt4QG~Ysijemj~(iMp|s*hxE8j!i5_f<#uVwh!$ ztIeAxg4n-fR_!xp*~t8#!K`1$;>{ayPD?SWp@F%;kO|fzNT836c`z%V$*E1MsGj}< zrw0Tfm<~1dh7LJu#)nz<%u)vqmUl z1jQ2%i{c`XGuH*P!Ws1s| zgO;~B{NBD9a{4b zIjE%&_&XHo_An+kGX-$bXO?g>KaO0-rViiS8_>fKryN1lu$y8utmai@Q-|NR68?W* zD{20_R>~c13+HoxT}WoOl6uS6iB)=S>{o+`XZ^5dFrWs6%fR2)ku>0;QuzRIT`PYA zmCh7cgiwEiTD7Q;*t|>ByTW7)quonz7Sd2aIDYp4am;(Gb)-F=MSNQ0xEpw>|5x1F z-TgPMG!*wdW~d6mWkG;(=xmX8Dmqm=jDUAb?EV&QejNLmvY#=bm5O{Qptjd{(gJ-U z=#-dCgZ^*OfeO3f91HvM&!0c2 zQ}Q;IuFNla*gnnab8*Gb=H$-UCiAu7O{f=QC|w}b_5u(fAo3b=w8ITRj7k)_ zUN=;gc1N&ryD+`oTt{&_UH-ORr+pdxK;Sfk2F;z6R=s8qtw^qGYg51$d-b{d9WpVT zIXZgXU3P+*YI&^rQb3Jo8;#>nx>6V@^q7|wUY$hkC$%^ZhUOI0ML-vGINOAih(aDu zGqon37CSjrlNF>EDm%syV*o`5Bq55ToN55a8HB|@P!+DE4f=Hqxa9l-Q-gI(r zu@iV)>+63ick^Wt&qMi=Xqq^wua*+n4x??-?RTAUrmO{U;rki)Nv*nUGcgh*=TlYh z0b6m@7%#1xz7k42Rp!t+uU>a2W8r>ENrUPrJ2V$>B7DJpJVT9KZA`H&7tf*{F1b-> z4KGYsg~wpjxjlcfI~|4oE1o>r_L9gc3 zJ9dGU!L8U&yLRFS;sdK&ebhfHWvZVLi5_)nay1ByYvj8`tfc1RX)FAe2 z&(6kpYjut+K$c<)?(k0eL$7LWka-|Gu9NL-+G^gXh9vYpk>2GKR$?_CE4l95p=>4Q z1Afq2)`0tq{1g1%i&|?n^O;_qtC()wCI?nbMIML9lrzz4h181F&IAkwRNIN2%+xUi zY*(7>+RN#%v!UcF^EWjko%^;{g#%U=`iGI;5!-xLXfdo7IxW-ywEWg zt6M_Kz-AOfYb?v6GONp-4==I=5w*rQ^KkGXBjh}P@V9^IUZwt)`au*mwavK2R-0o} z5pGDd$}TE?cRn}*S2*Qsdv&G3!b%{HBPiIILHdL4PdbOO)eUl!pxJ3Ye2z};W`yDT*7UP%58jd-u7AZpQC%HSjhYBE zRig6~;7(lEn$-F-G-#G0o^nD z;@)3;B~v?~U+w7P>{*DP-6=l4>L8K?TE1j0^wb2F^No6pO4jeYF(8&yAzdlPRG70q z)l?=OZFj$(Us3p(c!1j;{1O;t#QyH=g(v^Em7qSgmc>o7I;xZUytC&WQH<_u_~Kch z3K`5Q&Y%+l>+J6MSCDFr64N5S^J#_WiEbCax>t8vtC$+cdYI%l_e0AxXRnLJT;Xm} zJwBE5XIo?P_K<{=498EM-J6y;qZ^2NC|J|Ma#zz^-G`PfDEc${c}DW4rEC))sJZqY;}DhRMyqG3WsU}bFnz%e2LTS&7JgsdS*A( zSH$krs1)4~-2PcknEf2WW40eJM$sB52Bm)u$Zyt2wJ8Cq^_C1(z6<| zPhY!-+io)&+Q_noQr7Vs=|)lpCs!oFacBHMG>&a_6diX}HR4yleYNj#_7VQ@XaqY+=aH6WKIK7bjotL7j5DH0UQ~bh0*E^)*pTRqV;N zYrIPFe$$cp*-CNg8N+!yyqf5zyG?+DTNYU*%Q)>DVbb_;{LLD?Em2mO3Lrw-X!(Ph z|Ne6X!zi!>SGhqWyn0^4^r#3>!~V`bvWzg#VGjIC$lt43&}6*+kXE1n`V6myw>Av! z?weJ&Pt!!>raz@A6nX~eE0;5cfyuJ%VQis_=IMO+zTLIwUi@jh9Mq26!@Rze^tJNy zr??*4wnG)z``jEfk8YuTy27E%>dq+$8|P`m3SWAqdviZ;GM+gSk+@hIv0||gaQ1vZ z0Wa#SUgZAh!7t^KR2mqdGeN~n;BZgJ56#)yz3aPZ()pB>7FV(6Tk7nfhU3}9;cr{) zrP6hutaWm0ft~}dk;=T{WiDq8o+|KE%6l4+n6+LQ?^#d zwVgwZ&Ejc^W)Vt!%Ipi0vw5Q<`e1)*u|=HWIdIK}eWl4^Ko56n16&fui7!$=SMvc`!QnJGkr@SH&!#nE>C~Z(N3VuL+vNAr*`j%fGbbkk1EORiHt>wXBWA> ze)5JVLw$}()vT%AL+~Y@Sr)rJX^Bh2X@U8&9UO(rYx6-Jd)K3%O#B6>89WU?nrWQF zrSc^^DLJ|TID9KtQAY?A0#nRf_ziN~=-9nUYLPr*3Zz4H=$P zPpOChbho_OSXLdC(X81iHyP>q=)!hD%G zGk9A#?Z9LNe_UIC-d#P}042$h8xQNj?#kB+>wD5)q9<^qzEyOmu_^s)ZhT* z(sq;UJ;LeuN_Q}uMIbkP{s))waZCIs^Nz-1=2OY$JeX1ssoF%TK&0)uZT?x?3UawRW4h$mUqr>5aohokh<+wGtkx93#nruGOn8zJH z`2=!&D{nU^qsc}^ufNL5X;OT6MxAR#qcuK8DH*{tC$h^eRtrSx-BUWV4 z&f%YF$N0ZRJ0Wj3EkVhV#e}s#^fZimo6OWNxX6eef@ljpOOmTXeS~shL>>p*FI|@v)7A&tgFl-@zuSX~SBybWzfOGGcK(uQA#jbDPenoZP>^oq&y-D!;O= zGd+aLqRE)0f&o`V>zXC+u`+mV4jHGlqxzDJmJeV0@VTleI#!tH@si*GS(!aH7>dbKnkzD=2dp^WYgK*Y+ z0>74gZG+4CHd&Ki%KTeP*_^c#0ySmKC{#WZ-U-3Xr@Be+3K@DreS=$vY(3b~ysapD zb6gG(X@r?e(AJsX+pW^YE(gmuixCKmxS(4eYDVgH=%4t%BC0T+Fr*Kw7nwZ)2Ta7u zr9tmZ0d{hNVit5oWTU(0%Yyn1pzD)nh+60CF)w%0gcYXu2O79so}}pOd*8J|Yukt= zKV>Cf;A6i1-ZQYC=tD53siJ)8R}@@kpVE{wp-?Rea-&Z1Zx;#%G2eZ%T`Yd(T-T(eJVhD4q75)&+DWj(scY z@E>1Ra%BFM_>PtnrG_3oX@;ZsXh{4Dqe6J~v? zG}K}yWVmLO*i^y>DyV_8_b3EKeE=pOI2(~=!p4Wv+=FunOfI*_#8xB^m%(WIiv%lO zJp%osKC_D{2UlIxyk!o*MY{PYI1nPSuUi-Sw; zU17$XqOk#YaEyir?J!OYxNep9tV2D*bJLHCU*SG1Ykagbdp8x!_I&A%R;~113DbUM zGYehf=0^0yU)jCzx_>57i_~?jNj+(;OIOu|Z$)OwX@xgJzaEZdr+Plwew%8|NafTL zcQC4Z`)o`hTA5Bp{b|fpf04sKw1KdrZ0_YTTL5q|Q8uU9H*QIzC#@nx(vs%Tqu(l~ z#&6&wV5mv~P;x?0(Xgu?Y9|K5J|h58iM+Zz1e zCeAVR_g)1>;oyqH(vmdong13nHT?lg8^!@9UybZlZNWWK!QC43U2z5zl37#s@0z>n z&aqj!c9H%oSR(RS?!147h8o#_f+Ztmsvo)!vh0^lDe!4SE1ealY>dFlh{x-&eA8mk zz_G5!FT@!$`_HgMbFG1MGgjj;WUXXq0(zTnNL|G=URx=akHU!f5V z?MLDZ=-;^s-1qVsrh=#hp4R|x-u%NeWNjk#E?;-qTD?}yFH7j-u~pu|;D)fNysOXp5%qY+wX15soJpFIWV z8%mCGhn+%wcBk@PgX=;itH}#9DL3~$-NWJ$;8V0KNRGn`)Nx(y8M#oXY`0PCQhz?kx=_&sZD?WFq7dZ0CX4d z>40s&R4F$G)AW&8X*i=VNjl@lqjN&H1J=aLY)}k~2@RPeUuztyt%=q6^O4E-9^NJL zA_ydh82-82*x-s&)0y7WH#5j+lJeugdQFJQ7O*l~V-}Xik!rQR!_scjzFf9?{H~1i z0K`)a!UbC7Xs-{ul}$_a>&3+%_UMYu>jx0ebe=sN;^Mk&h#;Fkb;SK-F=xc~sd|7yRIg~EhSjf|qks>&E61Zc?qq2_u ze3`4O^v&ct7dM<~c^F8oL%C)Sp{>9=?XZ8?8Rd(Qv-pA3tOvUvQZOv%>d5@?^++-) zrMs`2fuvjrj{B`fFRfZ+YTNa}O-#P%b&gn#{LtZOsLpkBJB899QRBvdXX5c%>E_oC zt?n44Kx9wwgLb71ZN;=5IQ4OsZpd&80Z~bVK(M7$_4`U-24awOShk~&|1k#v@0WZb zp*es~JdaAkw2wEuxSvXkZlsQrIucI>d+dCa+(TZ<*heTpN>jSFk08iknwi9r!FDQ5 z<_7K8(YHzX%~kAky3nB!OBq?q6e|=uVm~#nqhNJOZx-5{f^;Tb)jhRo*3<7%u)T5# z(U;Wv^xPkIE_-Cz&1c&ZwD{Mg;ivX)aR=(p75RgmeHcBI+vhMXZ8wj^>MlDozVj}K z|IRPGa|HXbx}k<=eAKC?FsAx%hQlRD_P$TraMAKF2S@{@E-vou?JM2|8gP+bM3ldt zBYl0BN9QmZ_G)7OG59>;h-@Ay?^8HEd^03zCEe^@p?shoZT`10(b-2vCs62*FwGO* z>tdDGEjjXe0S9Tt9y0{vgdF8_yK8rs52?4HLOol6YVe5U7*kt=&s@wWR=F9v~7}FlbXp&}XfS+R(KiuJA ze+|Cqt@qO;;EhN~80ri-r5DaAOkyK=55dsUjP_9(+}S6Ro-@v?4Qhj91*w+96L5ox zpX4CoXgKi_9Y(k^X9Q6ha$Lj&m-8VaR!&Hs@Tkob6i3~n?68Nz+^QLpV5i@su%RAiHuu>@;hV%>#R%IrE` z(%>7@n)1bz4>dXOEn%ABo}DB+k-3qyyBui`r4&-VgPc}0999+Wh{_Vfnht={3KSoT z(1?RHbS8yEQQRcPX@#oGK1KnjQ)I84y+R21pZc|70Zm&ySgsPB<;*B7jt1;5rj2~% zaO21LZ3BB5)0Sq^m0Is&kGM1XeRPJq=vd~2qvY2M9ur2a>Q!t(>`hrs&b{f(sX-@* z&W1u{j1W7vDA>XYXPXHby_a6yRcY5X$E4I0(Ia0Aohn2T-Vf&gqltW`S$pfg)yoSM%?N3p~K z-OGV{s;~)EC7!!%B|WKaos0G3e3v%qgT!6S7UDl-mIXf^Gi-POLk41*}WpYrJs_Szpnfm)h=dk^Gm?j{+s>m{JPzJkpmMx zpI~z}_8mH)jHe^taRJ z%V4VdGgR39162G-HuzTi7X!mF4O1*?CuUu}%rW*83eS13wltMnD%dAVnR z<=*e>dz^g|J?vy)oWxK$t<5mS#}~)E-+j7!fNxT0mHPa8(aS>;uvhuRws0X*b^f7S z_HzFNR{WuDf?odh*$1d3xWrTK42&b?vc#`7jVJo%+H2@qtdzsw=nh>=+-=zUX{9uQ z`SlNSrD4SBcmmt|%M|Ud_1(|2!^Vw2-xWeO@JwVO-3lrc4%qs2w;i4(^FB63+^Gt? ze|uRf1=io8@xa3#+EMMP_YOT}>p7|3&4 zw)Wu9ThrMxz5SUU5gv*``=d0lz+u3qx@dXGNDZNvMCW(F8_Qq z5-}NA^RlKh5|ku(Pt6t0l=E2sxi^Gu_(VMdQ%fTJhCJNpqx$E|yA6rHZ$H8aPQ>!u zID0#VJ zk2FNI+>uX?GPDPm)ywj^MUpA~*i#bDw`2P6X;__%HhCoHafkG_p*gfkkMk(-4lg{eRZ>GYrRgD-I3^~$YRF6VAEM~!CtYNxZzby+92&=6JAW((Nw zcsgzKX{}UGJfJ-Q2!3E%&AdFRTJ37AwaYZk#B>#S zse~F##-s;GPKT{rmjBNPVmhToIR42b*E{1-xi#`DQX6AK1Z16Ua>Y?tU*z+$t|H9g z)jL~4u}JdupCJom>3&cg9i4qlWp7ss)|?fQ7wL1hr2t7OYSfSMP{u%FZWkzrh-s- zS@OIOIijDlL=UF_$`U2LQn4h-PL279Z*T`(Sw%KEu$m7F*=hGHao;g6y&U_yGU0l@ zGA2|in*2?f>@OrcODLD+@#RwL!_qp$c`6}*+h8Hq)c`OAvOd~A1#8YcTuq7cY& zjbKFDq4CPirT?5Mf@S+GW#S*ohbgn*GOBN=!4lGZWFYxqg5FuBW%_4!sQZh=uc7!2 zcLc>}Yv|=#j9S2X2cKmO`)<$p(*45*ewLp8PZi%VrFSnRp$p`xsbfc3qiQF&;pi8KMuWj$6F2u*$L$!Z(*-xHVT&RH|3FqcOLq8aMSKoh`Mxip zjUdGKI4uweTKD^7$`wi{=!@UO8xlL;HNKLs`n25S$=F$}3vbfW{7S+KhxDo>EEO0P zY;7;kMmVdJ56BYGP4iicG4tnbM>HSvIa^iIf16jqjw%y~x2Ap4^{X<1A zhA*pkE@6(v?$B7I646q&g&(TE@-X3mvn{4S#mZdYfl7Z64olonpyK!cZRk+>IvC36 z)*EWlSqmY(3(0?LfjSf+Q(5yO!b&uixMhwUUnTZ9YfPad5t02&LKq_rkAUDLhEIRGt6D# z+}7x1bZU^34BbTQPR)Rb#NCm4w0u-KlE%0V^n3Va`S&!C%s-@oP`g)M{_mxMMEzos zfKy?(ian-U4C@InL`V&>pbZ9IPO3^5M4&pvw!!j4sed*A_LW_@NEk>^@+#G!$#)XEjOP;!BEZ^V!Ub`vAUR=0#g)^L4d_ zvmE^Pe3;WwFqzmal*(a*D3!Yjz2(anCMJwF9sA?UGqk@Otl*~S=Hp8PH{KoR3p4B= zNFKa&*IHk=2~AF&7+4c88BU&A7uVgQ+wvY7wD&fTxgIihk=`E&lpxMl8>~6`gC*`Y zF)%P*;p3|r)yX1l)Q0sG);flzBo7biS+XLMD->z<v!&TBHhR&V6``7X{|1n7<95MX=K$6Icl1Q-;7`0uE z1G*(BFd)@wfsx$Z4U|c44;}Ux=CFwPGLARroo^|f-IUw>KZKH0H}T|m@zGF^J#naT zr(HcS@g^#N1%n=wOb9_+L->{oGw$OfqAv4t%AYI_=Mr;eqH?|t#;N}bG>Riux^-Yz6E(WM7U~9697Q+9o{z7JC|Ky%MdWnH zSZ~{bZwpvm`wFw9aeo)Vqdap7aJyV?hOTow>H6fUy$~B*lr)E$|4Vp;nCm0h2GVV= z&r!oJAsH?@(`Ix4hp;Oc-c;)1vvwh^PhsI$4V9 zLa7P=9>g!XGZz?frOJrB(|MC-<7{b9v2?zM5&t|n4aH644Tt8ozI0uywq9_lOf(Lq zCD-`Dn9i~8Z7o6LdaVlqMM@>28bgJ~OYpE?iLv6+>*3QVGbrxfPGMpmM+1c0Z zn#f=$OkO4xWhys+==nI@Wm{DJoT>N*^H2A9tYAqR5UdofOpkQ0B*E0=y979g+ZF{+*()p1`n zKXdfy+q{e%%gLpqtfs7}&`<2=&nX25^Ku9xV#0a>gVSd^kzB7(^M{(M|LXz%vnyxP z9t5vH6DpV0c{7&s7Gbg(89P?hn5#58+<|_T3C`cgSa-lVqLrKQ?MM?2M zdR15usnD*QvHus&6Z@o%gBcNA?F4L_6>Wt_Z#3R0+S{X*Lr;2x47l$-tLH!@!;^8- z2($7UKXm+c5?dw1oSLqb+}TD@TVi99Vi@8{9MMY7@zu%!j)<%2_)-Mf-x47Z7ymI4 z^1*mep%GjZ&74j97!FAXjqzlRGJEN_MVsyCh7P$ zUTv~isI0V>@dQgBwfXwKk2G5?ZH8^lXQNg1xmnM+wHC308mdb9D60d-ySuy4FfeIHI`7mBhs;Wj@9?&Vv<5c58DdG>xDRy@ zNxx<_Vn(&IC_yy)xAGBxqmF0Z*tpKl%=DU>nc?n_*Zn7X@&8w0;n857cJ%0p9^Y^S z^6uY3!xoWG!I`_P%_v^Ko)xZGt`>! zPGQ4brT;;Kb;kAmHO7}O4-_o@v!H%yNsY=d;J{M?9M(fyWPCUkI0q1I*!lk&Xedoa zs0?k{&)=9ykiyZ>`-xUTDBvS zhOdL+QK>eEw?*wZT_I-3zq2HewRJxy@Vp@j0y50DezKMt==<2nkIZQKHP6H2VPK#8-|-|UhhJ-q$-jZ)yl$9FozP%iy9eDLf;pv?v-gsJ9W$Ci+Ttac&jsI&a zRYf(;D~rXC)-_p3rrXdhC#S7*D`$CM=C&yTw*13J)!GC8*Jl}|>o__Z!zm3mClhYb z6_n`5dqZQ}hEZ3p^AD$LCm3aRrNr2k)jCcHH|)cSkHyj?oZ5;pDY31t{WWD$-K*cq zLH<@c-RzZ)Nq%rQdWGxuQb4RqWX{t}skF-`IF&?jqZp?%4_boa82VWlzbbQ~n2G|& zcBU`)Ix@xy9hJTLD;&O4hf4X?KNdeMKU??#Ji@iyLiBq!;(| z$=sJ%F3@-@i=7uTiD#fOUiEVZl2cE5?N3`r(pzWweg%L$Uf1T0WY?!ISA2DF8+%pM z)Q$>iO|k6r&wpB?Gx@br0L|Yl(VFKDqkKh-Y>juuxXS^+MT2WVO-*oFhHz)1?FDGm zT^sONT0aw89=@Hp8I!Id+Rs-wBTlX|Yf!mR@%7pz-^x677<>ZWv@gYrV>=e(^?MI1 zC)=N09}*vfoX3r<7Nd-m)#L?CHep@t?|EQX#?4tWnt8md!S`8N8bL~L<@4SGq|bJb z5a=|0qnaJh?pgIdTovy<)pi3RGcwj$5S5!vIf4lvB^~oIjXOntINFSsY8t=tn6*c8 z+BpUTB4BZ-&=j6rj9Egt&V$kvmEc>;l24<8e{D!1v85GDwj7Qi@(qJi-)wYpZ_J_V z>@o3>NN~9wpDBuW;KG20+fQ>q9i}D?GUXx9P(^NeeOB13e zm2&*2A&okkwg?VO*2o8aCZ@a?V%E?eTS2?Kw-!e;uZ;#R8guorRDwfni5?n8=nPMP zW`Oc$eEZEua+HWg#irD`U1w9$h8pRe_2XQ>w+IIMp@ebg!$iPNTw@*R&YdASD0!VX zV7kF63k|O}r$-Z*61SHxW$@wh-006kUO6|)C!uhYliMiZYZWEwTWAhn5R%8$^C@4I zu16Pp>0}9Q%UhV~k?+@T^5Zyx&z5gw4ff}iQ`w`c*woaH9%CbWh*eN`{_by6HCpeF ztRb$Wl+o!o42BXF@VNR_%dPR$uJm*$5#7BqdMJ0;?$Xr|Ydq_c3VOPRnsl6&hb^IXX70{Xp>8(rg)lO=k) zYmy4gMAS91)uv>qp6RU-EQm7j@RB%l=@HEJ+1t{jmfM=rR-oa-ZJ+h|;d$&$ zK{s9V9SKZ6Wnf*6Rx7$K+-U~Bn%<9N(DeDusaZz%xn=Q|_F<|~21;0x8x$Xbvl##< z$g@}J{;>a(emx(k=A(gIB;xMgcLmB!>}|)s&8Ep@r{U1?>bwA^``tw{$f<+2QZ=#q zxjvOT2kgg1?y+1*;N)Q6Ymd3+6vlDHaz9b#G9#KaHBhR83A~6(%FVPPV&WxtqAe61 zhJnS#Y~`X|$On?v7v7_XwZ`3%Zq*IQH6n?py#;nf!5TPdI^7Tms0p&NTjW3kBMJwr zm7&>=aZ{F?Tz3hV2~OC&h9tT~;ziYoB_GU|%t!ay+Bb>QfME*mlO1Ufohb^ESCH`ds}#j!iOY{ui|aFJbx=fjW3 z3!%))92)CQc)ES%{;lYRiyiFdxlB_EahLZE@`ihL1!khR2OG)hl*iL$7%xh=<#sp& zWjHRjk3FBlGH7l`E7B{xwjN89YFHxn^R6f-5R}((`KkfZd=)|Fu?u8hfdm>H9RM+WBGm&Uf@RJN0oY(4zmDS(_nvgx~0P#!wEA&)r z+Wp!-NGDiWG8j0*h0DFf-k*)Tg!L!c*hv0%qdyHRxbE|_;jBmX%=@|_ z#fKTnI2q*oY!_60W=Aou2bWwHD$oG}62uB$&)BD%4m;k+IIjX!*U%`EHd>S@E%+J8 z_6!ekog(#`_$U2%Io#=B01QVrWG^@O_=a2d`tzWK#nF6x<&O4uHNm@ z$kNklvpm>@@P7Xh*RHKF!EdxzNIUI5zGRYBc6PILgwWE zl>FOXEfeC9|7?y`q-Osx$0ho|CAa^qs8iJcRZ%B<375H>U5S+H;SsJSpe%&rIK4^0 z^gh}T0jFpXxK%?Xaq?< zIoTu`NEsyQ&WwrPLNU7vcV-K?c|W>KJ=k3yFM*PG-4czbBk__;kc3Z6>0;?$JG?%a zwnuo%DVxoNVO^L_CsWZ1(B4+>w-gaOl#i!KCgx;A{GR;gB*fMMoXeM;Ceph_tN8T; zVJe!Jg{)=J7=Qwg74?3Ia&xb>hEFRhL$>;A?GlPK+q=rB7^H%-LSQH z6~sEx;s=(85dlBlo9hyZ18d%9(35MTn5p-#}9k2;LhAvXtM#d4b|jJqa*9KYrn1y_0$4ZuvXt9*7I7>8k^~G)h>xu z|59UkTQT{kao3Xgry9c)w}jDOOX5>VI#T-JD#M=!k%6u7ib(A(F11jIgu~JXlAUrwD z0F;WxRNrbV3!I7QZ}l|JA3+X-C|V9gfgvb=?XhUdsgT3lJt-0TkvgA zn8mhj%Ja*@qB0>O++!B|)7xZKt1r4suRv}Dl||Q{J9^WlG&H2=nQ1#6U0U}ecJa0& z-BSHzXlN|9=Rc6l#Twd&6$a^RbDylY98zsUW2FeucPG&LB(5q}?!xJMUaottx#K&y zeP#MB*8WI&as0QEN|=ABd9dTZ5X)U{nbwJ^(8D(HQqk=3_Ekuv;`q-smB^cccgU3N zU4mOB139I<%MgYp?2OGPC8$AQ2lABgB5-tv?$K5$_R8 z^&!JrX76ePfj)8BD?&4Q0DA#3N5H@CPDu@ssK{`-L+1AQgr~|~sx==8V4MlXwi30= zR+6Ps4D}X-ihQ#EzuNoCuqeBBZ5nCm4r!!Yq(lj647ywC9*}M%M4FLOQlvq;8R-(~ z?yi9WX2{v|DEdC{KHhg9`}@9q>|fvf92WQ7_gdGw*168}I@c{Ft;vBAdo*QU?MGK1 zN7sTuv3z1n+!3pve4NuCygl8YB3`pZoY_{kLb!qa1CT;QOKoVo+EFOwXU$V}g4CGN z{w!DJPPx&B?Vqtm>kO@>+Q z`~1iNXCC-9YYfJw^~LX60LLN#(~^6I)x7)!y1R*;3(XVrW}im>+MPyh�*B)k22a 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 U;Yl1HB*aHiPEEG-u}RQ>03aV*rT_o{ literal 0 HcmV?d00001 diff --git a/notebooks/test/test-crop.ipynb b/notebooks/test/test-crop.ipynb new file mode 100644 index 0000000..6212a87 --- /dev/null +++ b/notebooks/test/test-crop.ipynb @@ -0,0 +1,443 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "18dfbc54-b95c-4d21-9c0a-a829e43a339c", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "end of score.\t\t overall amps:\u001b[m 0.0\n", + "\t overall samples out of range:\u001b[m 0\u001b[m\n", + "0 errors in performance\n", + "\u001b[m" + ] + } + ], + "source": [ + "from maelzel.core import *\n", + "from maelzel.core.synthevent import SynthEvent" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "d6d978eb-492a-406d-a12f-a65073fe74a0", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": { + "image/png": { + "width": 781.5 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "sc = Chain([Note(m, 0.25) for m in range(60, 72)], offset=0)\n", + "sc.append(Chain([Note(m, 0.5) for m in range(60, 72)]))\n", + "sc.show()\n", + "# sc.play()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "c0e642cc-6a10-478f-b773-33bd105d6b92", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": { + "image/png": { + "width": 597.75 + } + }, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "Chain - beat: 2.25, offset: 2.25, dur: 2.85
location beat offset dur name gliss dyn playargs info
0:2.25 2.25 (0) 0.25 4A F None -
0:2.5 2.5 (0.25) 0.25 4A# F None -
0:2.75 2.75 (0.5) 0.25 4B F None -
Chain - beat: 3, offset: None, dur: 2.1
location beat offset dur name gliss dyn playargs info
0:3 3 (0) 0.5 4C F None -
0:3.5 3.5 (0.5) 0.5 4C# F None -
1:0 4 (1) 0.5 4D F None -
1:0.5 4.5 (1.5) 0.5 4D# F None -
1:1 5 (2) 0.1 4E F None -" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sc2 = sc.cropped((0, 2.25), (1, 1.1))\n", + "sc2.show()\n", + "sc2.dump()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "da6c9b0f-6724-4b06-8821-8ee363305722", + "metadata": {}, + "outputs": [], + "source": [ + "struct = ScoreStruct(r'''\n", + "2/4, 60\n", + "2/4, 120\n", + "3/4, 72\n", + "''')\n", + "# struct.activate()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "b893683f-9b91-4cbc-8bec-a61a3b247009", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": { + "image/png": { + "width": 829.5 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "sc = Chain([Note(m+0.25, 0.25) for m in range(60, 72)], offset=1)\n", + "sc.append(Chain([Note(m, 0.5) for m in range(60, 72)]))\n", + "sc.setScoreStruct(struct)\n", + "# print(sc.scorestruct())\n", + "# sc.synthEvents(skip=struct.beat((2, 0.)), end=struct.beat((2, 2)), delay=3)\n", + "# evs = sc.synthEvents(skip=1.1, end=3, delay=0)\n", + "sc.show()\n", + "# SynthEvent.plotEvents(evs, linewidth=2, notenames=True)\n", + "# SynthEvent.dumpEvents(evs)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "aac62a0c-f254-48ba-8894-ce5e265753e0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "Chain([4D↑:0.25♩, 4D♯↑:0.25♩, 4E↑:0.25♩, 4F↑:0.25♩, 4G♭↑:0.25♩, 4G↑:0.25♩, 4G♯↑:0.25♩, 4A↑:0.25♩, 4B♭↑:0.25♩, 4B↑:0.25♩, …], dur=6.75, offset=1.5)
\n", + " " + ], + "text/plain": [ + "Chain([4D↑:0.25♩, 4D♯↑:0.25♩, 4E↑:0.25♩, 4F↑:0.25♩, 4G♭↑:0.25♩, 4G↑:0.25♩, 4G♯↑:0.25♩, 4A↑:0.25♩, 4B♭↑:0.25♩, 4B↑:0.25♩, …], offset=3/2)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sc2 = sc.cropped(1.5, (3, 1.25))\n", + "sc2" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e161be6c-776a-4531-aa59-8d516a933fa7", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "\n", + "\n", + "--Csound version 6.19 (double samples) Oct 16 2024\n", + "[commit: 937aa495e250d758efaa28e9697a8b75237c80cd]\n", + "\u001b[mlibsndfile-1.2.0\n", + "\u001b[msr = 48000.0,\u001b[m kr = 750.000,\u001b[m ksmps = 64\n", + "\u001b[m0dBFS level = 1.0,\u001b[m A4 tuning = 442.0\n", + "\u001b[maudio buffered in 256 sample-frame blocks\n", + "\u001b[mreading 2048-byte blks of shorts from adc:Built-in Audio Analog Stereo: (RAW)\n", + "writing 512 sample blks of 64-bit floats to dac:Built-in Audio Analog Stereo:\n", + "SECTION 1:\n", + "\u001b[m" + ] + } + ], + "source": [ + "session = getSession()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "562f1abe-18be-4c65-8489-f49f1b02e629", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "session.dumpInstrs()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3929b90c-c944-44cd-bb91-a0c3c32af81a", + "metadata": {}, + "outputs": [], + "source": [ + "defPresetSoundfont('piano1', " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2f2dc844-145f-4961-9223-49e760478408", + "metadata": {}, + "outputs": [], + "source": [ + "session.defInstr('reverb1'), r'''\n", + "|kfeedback=0.85|\n", + "a1, a2 monitor\n", + "...\n", + "outch 1, -a1 + awet1, 2, -a2 + awet2\n", + "''')" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "a67f1315-bab2-4a92-b19f-2d365a3a3ab8", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "410e391491ea4be7ad15bd926196a21b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Button(description='Stop', style=ButtonStyle())" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1187a79efd90428691c27e415f70ef10", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "SynthGroup(synths=19)\n", + "

Instr: preset:.piano - 19 synths

\n", + "
p1startdurp4kposkgainidataidx_inumbpsibplenichanifadeinifadeoutipchintrp_ifadekindktranspipitchlagivel181920...
501.0064 𝍪1.5430.25000.51182310.020.020100.1-1062.25...
501.0065 𝍪1.7930.25000.51182310.020.020100.1-1063.25...
501.0066 𝍪2.0430.12500.51182310.020.020100.1-1064.25...
501.0067 𝍪2.1680.12500.51182310.020.020100.1-1065.25...
...
" + ], + "text/plain": [ + "SynthGroup(n=19)\n", + " Synth(𝍪 preset:.piano=501.0064 start=72.853 dur=0.250 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=62.25 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0065 start=73.103 dur=0.250 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=63.25 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0066 start=73.353 dur=0.125 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=64.25 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0067 start=73.478 dur=0.125 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=65.25 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0068 start=73.603 dur=0.125 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=66.25 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0069 start=73.728 dur=0.125 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=67.25 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.007 start=73.853 dur=0.125 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=68.25 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0071 start=73.978 dur=0.125 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=69.25 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0072 start=74.103 dur=0.125 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=70.25 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0073 start=74.228 dur=0.125 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=71.25 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0074 start=74.353 dur=0.417 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=60 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0075 start=74.769 dur=0.417 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=61 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0076 start=75.186 dur=0.417 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=62 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0077 start=75.603 dur=0.417 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=63 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0078 start=76.019 dur=0.417 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=64 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0079 start=76.436 dur=0.417 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=65 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.008 start=76.853 dur=0.417 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=66 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0081 start=77.269 dur=0.417 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=67 p19=0.515178 …)\n", + " Synth(𝍪 preset:.piano=501.0082 start=77.686 dur=0.208 p4=0.5 kpos=1 kgain=18 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 ipitchlag=-1 ivel=0 p18=68 p19=0.515178 …)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sc2.play()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "d4dbe28e-d3f4-4391-b573-3e8e95948240", + "metadata": {}, + "outputs": [], + "source": [ + "chain = Chain([\n", + " \"4C:0.5\",\n", + " \"4D\",\n", + " Chain([\"4E:0.5\"], offset=2)\n", + " ], offset=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "26111a23-a3dc-4b17-84ca-25659a552eaf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(4C:0.5♩, Fraction(1, 1)), (4D:1♩, Fraction(3, 2)), (4E:0.5♩, Fraction(3, 1))]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "chain.eventsWithOffset()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "5e55c3be-bf08-46e0-b500-7a2759eb146a", + "metadata": {}, + "outputs": [], + "source": [ + "chain = Chain([\n", + " Chain(\"4E:0.5\", offset=2), \n", + " \"4C:0.5\",\n", + " \"4D\"])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "8f9e3679-6caa-45b3-835a-98ad1ddbc657", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4E:0.5♩\n" + ] + }, + { + "data": { + "text/html": [ + "4E:0.5♩
\n", + " " + ], + "text/plain": [ + "4E:0.5♩" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "note = chain.firstEvent()\n", + "note.dump()\n", + "note" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "e3822a01-4cb6-406d-91fa-081a6ed710d6", + "metadata": {}, + "outputs": [], + "source": [ + "note.offset" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d19244bb-b846-4855-9581-a9bd1e888062", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/test/test-root.ipynb b/notebooks/test/test-root.ipynb new file mode 100644 index 0000000..0a9a0a3 --- /dev/null +++ b/notebooks/test/test-root.ipynb @@ -0,0 +1,253 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "b12fc76e-b8fe-4aa8-a93c-4dfc0778b45a", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "end of score.\t\t overall amps:\u001b[m 0.0\n", + "\t overall samples out of range:\u001b[m 0\u001b[m\n", + "0 errors in performance\n", + "\u001b[m" + ] + } + ], + "source": [ + "from maelzel.core import *" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "b0084107-46e5-4af8-8f13-1c5b18565823", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "Voice([4C:1♩, Chain([4D:1♩, 4E:1♩, 4F:1♩])], dur=4)
\n", + " " + ], + "text/plain": [ + "Voice([4C:1♩, Chain([4D:1♩, 4E:1♩, 4F:1♩])])" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v = Voice([\n", + " \"4C:1\",\n", + " Chain(\"4D 4E 4F\")\n", + "])\n", + "v" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "bc2f88d4-c3d0-49fe-9e6d-78911c34ea82", + "metadata": {}, + "outputs": [], + "source": [ + "s = Score([v])" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "446eff9d-de94-4b6b-82dc-26280d0ae995", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "Chain([4D:1♩, 4E:1♩, 4F:1♩], dur=3)
\n", + " " + ], + "text/plain": [ + "Chain([4D:1♩, 4E:1♩, 4F:1♩])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s[0][1][0].parent" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "1bc1c9d9-b5b9-468b-a24b-5e9e42543524", + "metadata": {}, + "outputs": [], + "source": [ + "v2 = v.copy()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "462cc3b7-87ce-4fa5-997e-72cdf952d199", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v2.parent is None" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "fbbca1c6-7876-46d4-a874-6cfabda0533e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v2.root() is v2" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "060773a4-d6df-4bbd-8673-322bcf23f77c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "Score(1 voices)
\n", + " " + ], + "text/plain": [ + "Score(1 voices)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s[0].firstEvent().root()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "0d110f6c-10ca-4a07-abd2-eddd94cc9b4f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "Score(1 voices)
\n", + " " + ], + "text/plain": [ + "Score(1 voices)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s[0][1][0].root()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "4285f73a-8352-4b6a-8eb9-48e46519601b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Note(60).root() is None\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "47ee3599-294e-4347-8e60-a0861d388c6a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}