From ea8243cb639f881734f60060b4005dc406c8af38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vili=20Sinerv=C3=A4?= Date: Sat, 24 Sep 2022 11:25:45 +0300 Subject: [PATCH] Dokumentoi koodia --- dokumentaatio/kattavuus.png | Bin 48432 -> 49071 bytes src/markov_ketju.py | 26 +++++++++++++++++++++++++- src/tests/markov_ketju_test.py | 4 ++++ src/trie.py | 1 + 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/dokumentaatio/kattavuus.png b/dokumentaatio/kattavuus.png index 85c74b1c8cf40637da9adad11927f6f9446fc456..7891f399f5e275e6b0d2ec9bdcffbb7ca87d9231 100644 GIT binary patch literal 49071 zcmeAS@N?(olHy`uVBq!ia0y~yU^Zc3V6^36VqjnhYS?g)fq{Xuz$3Dlfr0M`2s2LA z=96Y%P+;(MaSW-5dvmwc;f}`*gAeK_x!!H-UaO$H^j+SSyLWqc?T%UhuC8?Z>fO_W zmQRsddNlQ-Y1zg{8)m=nk4;#Z6aDL6?C*W|KmT6sYjiRtZIX?(F((6uVvB$idBm?; z$(^P1cmF>1*?*&EkY~^p>;0Fr-OV>G)yiwFOJCx9xG;L%9v<%r9>I(5-??YKcB$>+ zKVm+4vnA{Aa&`Gk@|dg~AA8ek**w*Sn`dpwwf+C)w8uu3mz(e3+ql)Yz!`z z8Kx!Fr1vgvf8F`1+daLOsuU#O-t?k-!^8=}`k`aaEgsUEoOhwhriom)9B|LXoT zY3irz^;eQJwGe1&YX48L(Pk5X6@0rzkEN&`ZDxMSb z-^s;YIUKvY?`~1BM^@H}W7Dh_vb?nTx65T_QL2giWc5qC{&j3kpI;-?soE*nXkO;8 zJ6q6|bD8Y~&B^_~ulD`;(%q2~dFS4_9EOC#X#cyVUsE&oxTyK^)R&fCe=?14)&0P^Zi`is@7qw24mi64e-O0S!JRK%Aa*HqRqyKc2$*Dud;Y{__)rl zLt3Ff=GlFHZ8EF!H8%r;!Cg1G-Q{_%_21uwi}T6<`yII|`TEb}?_y^}9v5KXYFc;K zi_LGjo@#OiL(5wK>1}KFG^{RPn#FKw-|KJH+sk}%JZkn7{yEWlK<0eoYQ31Bi+B3X zag->FtjyRH?)Kp7=Ja@#)f&?s+2vzmuEtOJ_T|gE-0E|CPJNZy^X$=C)3s;4oRrJv z?tH#3PwMKKpl^Rp?UY_`ob6*-T9{~i_eHO!MA?snOSd}P7BlI~T9>_5j;wz(ExZ2w znw8tlS2@YmW$^b%8TY??X+wPW$#((kPFogo#Qy%h(>HgVTcmz6-+b#eNo`k1(fKLrL&!8WOZ$-X3G>B5 zbKfP;G!X_o%~%*7 z8ob&Rp}F(v>qVE>r{8;C(G*mbJxMrHNW#;Pe~k^7f<#WTv2pS3f5(NUZd(3%bufd& zjsAUFfv5gFuXyFtnsg=dn^&CBoXk%$^^5k0M$Yp*&S|c4YKidQGpB?yLnpPrhn56g zCuDO^w*@wCko;6WDd=BLBJV5rQ@+A;Jm343tu=VMe$#_D(hYLvsf{)%0>#+E-N zcK6rwM^A0JQl4$XxY_gg-G^MRcb*nHun_+W0H` zOW)p-F;dv5@#I$T4NYUK(v=&Z#TIOgT&<_uQ#>!OcEu9Lh`6tNB1;w~z76c2KFu#j zS=PeU|kJHO=i zE9ZKi>{l+Q>|$;jRG-{=;?JdCK_?EyFR}OeHtkz<&g1-&#w}Ymswi%~l)=i-U|?pf z%4ub5yEul!@%fUa;+K}p+$qVqK<{78->NG;mUDN9+!xTvy0~=e$?59X|6IyoQ1CtL z%Xw+Ry9GB(OD8ik%*_kA$)d%;P&W7G^!2(c|2{q1`F8VsSC36xAt8?~mrvhvVVzo! zZx2V*tdCbib_y-&+$rffq3o>t+03}asi!VP+z%}M`$X==8+}WYg9b)s42M4ae)`RS z;ZyVUZ*uB!w)GyX9T#6+nb^70}RPA&(3C;a9GkNh&{qVBc<>ud)rS;RJxpMl<%hD2c_ip4KSaw0_tkSlZA2xlMc<$u6rJTma!FvsZ;_~EpTN}Nl z%kPIjbiE?~<*)6O>e4MNnVFf6myYhV{OPc|e#xDGhOC9=;k>(du6nY6P1u}xTkMQ&E#3lQbEo~ks8<-id@|>{;OZ)Ey>GWm zj5i3}TVr$U^~VSEOt0^)jaFm?RgYg*WySkk+`XHBN!DYt=ISDCpDLk}clWO~hffij z%{}4w&*T)t%d0~-7k%#cnZ0ez>5!AoPDf@bIE$A4t&0Tj=`x5SOR1cd>_e=n4jgD_%2&&gh=nyQ2Zr?t8x?tAOpN z{GpUzV;A4Ql1$kuJ?zJh$ikv#)X6S1cA}WN~C-xX{%eK0nsQRE%i(WHea$%6;?~!e z(%qKA(wn=K-{0%}_pxZTPhp~IY_m+g+HSy?-8oLO*hO{ww;WAE+zPqPQ4r=~Pc?KNd(aEQ7c>6~^f zJb3}QaBUClyIaoIHPx$d#r>DI(dM~7UtjqUH=}}YsbbV?4 zx_dQ0!U{GyN!6q@WZztFqO$zg^rebA*6(o(wQ0$lU?~PR)8#SUVH&~7@pJC(e0JXSw%?Cd zPZ3SV+14-qPI235bKv{81wW^>#VGl8))Zy^o)!A~`+Y7!?WvcxN7s7Yulwt_GxPqn zJ+be6!x$Kvw^<(&^~!wlH@UjZH}43Of=;!3XP`z>|M#nvm0N7W-U_}hdt+Uxtl+gM z#LM|y&-Zm7?(!a5H1qwjSoZVxYK7HeS5l|oPzi>-r?>}$;`<22oH70rrDK)*5i#J`gFSj+&V_SB+ zWp)0(KA%Y*!AbY*Ew*j(H=W#7$n^46wfCZq8+RYBwm)*>$(A{L-d_5AUa8Y(n#|8% zzusx;di`^8c-kl!eIfbi%jF9@gEE7Dd@jyryZS}y*LCOr?7M$w|9`^3kQiD1X4`AW zK+T{|jUNvuvc^`e;hUnZv~9cQ>ptTL<+C<_cS~?ts<73x{PubEZgq3Nw<;#< zBC4k*eym=%_nV)}M76d%w=LIHEuA0f3`&`+dK{12UgY|DT6OEHA5llnuXEfK6{=j{)x-X}s`zvYJs)IxO#s2T|UnT#tMfjD@+CJZ8 zd+~Ge^1n_?vR==!yBp1Uqw{(CJDwxw3qTRW@t29sX8y|P|8*idlTN69TzFnTZ{~$7 z@7niY`^bMF(U))nCsc`Qs|8rpJ1Rf~{j?+d7Vx|1hN|MKnE!^7o^iZd7v?Wx)>czBn|gXjyHg8qK;7JsAS4DDMsR!`rUTy0Wd z8oazM=Kk*IRVjSD4idY|aQ=Iy1X#{>E(|5c{fhX^SzTR5n0G6&M#L#CuG6yc}L&> zK0cp0!dzT;*Ngze+@&|p<+}B~zklXz*O`u*f{N!i`6W#l5}(}4y6_>+*Y?c}$%p*? z@2$Tp`tmMVKcyk@e#MC&in)8Kyq?ql&GuXSBIRrI zM2n+OEhkS(>D=|GYklax^g|b_k6em8%l)@ZZ`Rg?^X%Pn#%`uYY783B-)&Ccu2-|6 z^4^!$_M{(&-M4L1W8mmk6Q1tBLUI4L%ztN6)gM(jr}M5k$CB{rw_ePRs}?UFe2V;R z_S<>2rts~^a0|vm%f4P=-Rr~jU2m3Mdh`U>`5WiX^<=oT@9-K|Ti>|%@n-2aSBk9P z`1sbX5TEd$g5EFIJ09BdZGwH-`};P@0lTZhZhq3gb)u)_+sv(%|L2J&?>7G&pt&@D zs`SeT#?>zqj;}Dzes(Uh)^zW=ADMS!OZ03G-Kf6NQ|A;mQRV6C7s3n;1|=WXsBTG{ zqHD0$zU(5$^NwWgv@aA@D(HKK=Olg_V?x2Rt{f7jbBhG)-mUI_O( z@J(jRf$h`&Jen1Gd3tQX6CoHTp?~%lz`s_A8&%x+ZnGF?+VM z-^pJa7YnNC=}nV7`RI=PjXjrah0}a@ZBMnatoV?)!@^Yc$F;{2+qlp7u}mw!p7-s& zzudR(Nt(g;e(gW|p!$P^gVmOI7d2jAi$6Z!-8)z~?k=~$?47%23BQSowZ2_vvGMt{ z<4Zz3Z^-UH|KL#Zk`jJqk^Rp7uNHB$=haNoNS!aws#0jva*XBj>gs&QBRBtUw_AEb zm?>|+NAddCsUhopUs^6Id%Hbrf`NH(t z{;70nP@Zg6g-XngT0IYy$wzbHkG+iB`fsyZTtTxdt!)C;r;){hYw$F zy%g@%lDSy!t)zdSOueR8sG3dnpH8t|)?phX6tzWm$vQDt`L|yEIi}Nmr^~ke+)?n8w^OR&rDf4+rQ_1Y z<~FCcth`?TWkT7#nC3e-)Q^|Xtymi%JWY1`+gEdb`<%*sqH1qj>hANF(Ye~>TgfJs zCkLS;F}?ri$r4@t&kP#R>t0{m&hfMO z;LI0F3=Efc-f!Fbu6$We%_Lvu#481_zI`mHIJfZ5y1PFOr$4jzUaRxyl2T7L-|SbD z3-gi-n(bpJ9i3{E$$47san0*vGIyumsBPW)uh00Ox;i@nAvA$S-vrN^xduDg$ zGBt>*&+R+=<8$7x>reSX<)x(gw)EQc<~1kW*B8xklu^*T&v>LPCv0EPqO(;YH#RR? z@}PTh{`*^+eOGwyObj!dHeubFfZ#*Bw$50nZkKtSzq>oshuMs?B=5x1wepWAnWi4x zvdK)_D?IJ;gg5)^qi?03J=W4XRdnXO32}PfD$D(3Z_j9dzeTxQYbw_bHl0fc4<9yp z=h&eZ7m}WuGI6WUS&j>mTd$P6{K(^7HF@N$t>aeybVXE*H+z&&!5_;zRjl3`q z6=g=nw(L~C9v~NUD}tjts)jg`v&6Eiv(<8@_W7k> zrwDCmEnWSb_5L-J$^}=oOm8>*t^TLu#If-I|B$c8jczAjn6y*3TmEgFS@p?-9M2bC zuKK8%@Tpoq=Fa6me=klgex6%TOQw<%-}HN%KJN$sw!W*?n*p6 z(Yq$QLw{YoLHgCFU)qG-Ow1G;o>&w~T>JLqw({!fGQUp9Z>tD8`^9?qv~y7#^m~j8 zYQn{Z8VqtR@-EKE`XqgOn(ocA{=C~qR|n|$E%#)ff3thH^qxDrbG{wA`+n`O-(}^R z*LOP=&E3J1-F>Hhc3RKOO+R}p&u_G45m|BMq|l*r2isT}nBVK!l`S-Xe{4!g>&mB{ zp03|+)kJT95o7=Q;@j`7?|h|as4Tbay|>~0iHZBe`t#G`_X)EzG;GK*y0<;<&Bf;P zntI|Yn(_9TntsPM7tdw>F3WFL_UK8s_xyLF0e*L%>Ay<+_3eXvvDh09gO`T21-@nm zmVIS9)wA~;um8L8&-;S1)T16dzeO7CUi#~1qy4ipcYht)usPpezb&e&`st5c{bD2e zd>PZMuePa6pZed}Hg{hJgZi&GzmA^%zHd|3tqV%ZOKXlx?miYimFemC7^#_z7c5WC zzjst4l!0MM?&`W+-+T6TlNrNo_RTa=^pyS}uq;i@wen}y0%KSCrpKmteSM~%+bb>3 z`lJ3-J5%J3-35`13=D~J>+{8z&roO7eA;BZP5Zv0vSFb0Hjh~|W(rmA{K?|^a!cl^ zQ^%ONxVcV?Zkeb2&x4nVfg$nK(^)6HtSpEr`z%Z1{0%D?_60x|O2! z1^TBC$Y!r+ea?8`>}p2Y=cXUcDnw^Yns6xV^hT8?(K21@>l1Awq@s?zHC@vB>C&Rj zjw?+XF1>gD-#PDG%7PiEO{d5qK7BIfj8elE{zBGX-LswwZ*P6g zoK^k2|1W=1H{+zd{Vy)es@D`w0z5RW{-Ea{qH00pKbBbkd09C*%>o= z3cLFH7L5>wME|BGZ*A_L>AZ2~$&{GvK3Ue2VrO@m>DF!gnfg*$bb*FtVAjib2byj; z#r^Kv(-B?$D6@UvJ25uCb!*hq&0>{a@y)g?%*pxDc06_SL2u^ub5Gw-+Z1gPxm2~@ z)a9tyx4GBOKe%_R_~FlKcjxddZJb&@NAMW$@2}gqe`UWr+h57xX}->8-OYK)XFZCa zOqv+}ZBFG(FXopwmQPBm5uN!h>HekTk5W<@c|U!hD0%mdu7tz$)o0$kk+>9o@~5lT zp^d?+ocC8)e_u7PB=O+JbR#K;n*X`)+4@A&=B%8&f1QYxWBU22cGo$R*DHQ@v)Xs} zv%79CE)lY)Xij*q!{ zPQ!j?_ol~I6ILn~y>&Wu?3|Hx=)`!P?(XxiZ>?#)+`XG?w%TF!vS(s!C%*8!m}dXz zdv-u~NkNguq3U0XmBy!sY!9t_EpP1>s=d=8T|S#_f!DrWB?p=Lj(dFEnQ~<6mW|s3moCe) z66IXY=Uvvb_NdzD#pl+>e2!RlE!>NTz3;5}N+0Ql$=AxvS{^NawEAQbhhj@z=PK6p zwyW8@Q)?{5*UR#p5(6=^uA4V^HG~U zvqCS_cSiN~qG>F09oKo-0>8!VX4+`cTl7Bm_Mvkb7Z;Yza-QsC^rrRM{9CLt>U~jv zJbqtT{Q2|e#*-;bD~@y~r4_S#FUx+dC--rCf6MEAR?EXw)Wo+GY+1~+)@pm=-Wz|l z<}PcI*?p*A-CVY2$r8p%`TJg)tZtj|@kj2qgeCWyD z;<@(W<(f_UYj#WwVDWJmZ?7rr@^e_xT(mlt+3r36Rk8Gg$Ah))m^MgR-AYqeTXLDf zA>#VVH4=?s(jRYsm3(~m`HdMHByz%z&Ap<;pzwBQ8SA7eCQ=-;PYF%BGs|@CBRSTS znG6hvIu4tj_Yr)(Z%;(!(iiV`8s*e|x7>U?B{rh;ODr32OJi?uVO5ip^&IzG#cx9| z9bc*Xks8165mn}CE4Ujv$P3L`nx=i>Rk6>sj;HATAroh9*2)FLxZ9m-KKPWli0S`7W`QhcxStH*gY=|7KJsl`sT;jzq=7s zKa;Cxr(am+$wx){1y0vqFRphnY!v!7%eYudGGOO)1Z;cwZrZL^M_|M_K(s(v138OOJ-e||COZ_4M} zIkQSOZ49fm+4$tf@kuM%^iGAX>WwNoJGF3<5(C4s+Xqs+rH;?Pu{*8WXV$6eL-EBt zN4!j5<|OlS?ffRuGIjFeMjekuX6q7@7542<{k(Tlo}5#BaUpCiz^rqpFT7N}Xydln z``*sQZ)9`2gP%&8T$rhO(sG;3^<8>zdzkobuC}Ny?V9{pHB2sMcUtbNlkfHWH5d#` zOj2q*J+JXOuj=l;a^TX;1iBzxoS-)<1ygt=6@ma~t z{d=m+s8;W)b(^r1RondZqT{pd7yoTC4!vo`S*&gO=zI1Co|g|^ESU6bdWl=6pqtFP zol0&|Kf9G$GS4PC5(f*0Paet55ns9EZE zTeZ|CqF=;hcC4o+pXzwNZ8&*+@-@CaoTIJPzVN^09&PJM=kLr+|G#;*Mrdsq0KUY|CbLh+{J zgDtT-)4i@TIBdERlIUpo^x=^}?|COf7#u9GWj|1;+VHWkM2dIHP9gO#nO=6>JBjedIa`fnz!WL%)3tbF~%p(e%! zObI)#d@=H?Sn~ELGs6PoxHmIDH!kG7u5mrCd%3kuOyPr_Ti!fnociP5u}J@|`ip|% z4qxkOxP01we{cu~H)Dg|snfby?k5oOTN9Z`|drH#2H_n>IzJ~yJ(@o z+m~I{3s-6>=& zjlFvPdhY)9y^k3fI5yu}EcSC(``g%Br5!0VX6c=na?)t4w85v(pCo;zr6o^}>dh8u zdDEw@Sr8hxYtw|wnNi}C57;thn)tp}S@Wjj{`!MKErRXY>qJ8Tlt{gNa3s)sekjLH z2GDTEd+YkJ;GZY2{*IgWCP1_}^XQq`w;1kkxOn91+?48Tv7Fkxi@hfD_3>q`+{VkC z!8OSwF-z^*Mq8=th8))NfhiZOp2_ll`lX)qz@p&sTkMVwn5$W$l{S*KuoGWY)Q#o_P7#R)c?wLTWiHWz+8M zieH`;!?)k@{>;bHC)UlapX$ln;5AFbEceEdZ)ewvXPPjqIGW$Aq9@C~wYYpk`P$pX z-d%9}I zIo)=ij1+e!k(5*3+a^3U>XBUeF)%68%`UY1(n06RuV2-qaC0f&t4%X~cXO%Lbma__ zgjxCGyK7u0nod7GX<3H)%Fw8ufEkllZ~K-PbpGyMzxI#ZZP$~Qcm-c&aM-{TVRHM@ z$!jgEY!+%M+N|1U<- zxLrH8ui3grWz3_RNZnag$ zXu(EV&I3g+ZPFdfKONi`EdR-8%kkvNC2>_RKR(IYrm5T8EwVhV*7kI7(i1f{w&T-# zD^>+5E$-fPYfJfai?D3#vY6F}+_&FLS-oH7bmn`%y|X{QeG~io>l~Xa(T|?Xhpt&a zCBwBOWY>bF{nM4*Zx$LSMqG{&6cm{BMO9zjbs^g??*|)W{U#sxyL+K`;#840qg^7(9_XukLDwLEo)c=-i6Kgcpd+h{GuE+NGF1W=%y%;}9=yFk4p1scBsOq{C zJNIs1?mKJ$()CuRkA6<%O>ZjBNGN{2B{x@P-(MTg&wrU17!=mN&GoEoiQ#2vnV8*d zwsw8xIbojU*wL;go!pv58mAR ze11xbtorX7&zHC7P8C)5W&c-urux)`Oz&t<`=7t>*WbTq7R|~KAS3$0DEZoq)Mle) zZz_X5ofhohV^_WA+nkHtW+kC5c9rr|6Lp1Om(6*(c1lsTo~GuZRhj3%oonNHt~q;l zw)jfX^8a({bYlKIxbZaW^0K@)9;rw7@7?$Egt02`l;Yd>d~gw<+8R22{*ll%@wVf?pw72Kb?B$w+Cvw% zI?fJ@TxcG*yt3p~?CCo*UTm-Nw|~3MRgr!9y06;Rq0={Q+c#oTmC+QP!5KT;bn5h^9^#I@^M?)zI(gZmp#9;%OPKL<)S>9 zT8r#QO=tJM{BolqSlVxoe)wb1Dw*$w5o;#d*)6+$Ay@tXi;$12-^VNaMCn^?tzPo{ zy8K>-1#_y_-?exD%=$IH&0vjX-u1>v-}+oV0noaL=#^3DZ|Xa7{`zZq^Vt6%y%%!2 zXW1SvOWS+rU(nCH@xN4#cQQY^E^4>TOCrkp^B(J-H*R(@zkjXn-}!$#kHjWxYyAwi zD9{Rv7KVS*S<~=1~{Fp|()VG}bw?50)C5Rkrc$^XWF?kh3$X3SF>DPnz z*zA10>)e!o@lAgJ3tq<^Z3RzaQHl7=#>vcPe(~5XkJ>rU0vs?ZChkf0j9~=KS``*><>{>18^nbtc z%MH)Y-PAPQU#a}lQ6>GryWPLrcm5In{mWFNzwr29Ik1NN_b+GtJyJR0PGj}Ece0OS zT9?>QTq5%HY4xjf$JUAMe{s*Ri2Yyb_X7pj=b!xbUobS|^AhL(bNS`Ln*X0o)#cG% z=k~vA6*6z+R*v6o@u zu18(-9X9NDvEA`I?9bWRm-2l@OH;P^N6(K8Pifs4XdkTRvu}3sK8>)bR;3@EDykg8 zjR)K`yZ(Rbe)raA-|XPTnmJF@H~rgxa=YF=tu2*Xzg#-Qms@*GrcaTUOjmfAnMDS=-#1@h*(%+w*seE!^oXv15z8b!~`xest)g$BVyv z#1;P8Dk93T`C=3I=^4@N>uM+RGpO0E*7xy|Br38b)BsYZMxHA|7_lC z$jA`ze!=|$hR{2j_dDH_Ll_()ufDU-tXZEXXXa9M<#O=t?|1snGEcHD_&%}kr9QXK z>>KKFw!#l>cl1Z!TgYZUj9Ndh?sP7%)v;thRr}^)>{h1l?i^L6D^8|*#LGo(eHd0F$iR>pw)p%N z&E_bs8=n?zp8jO+vK?`f+dhO7Djt5= zZ?}@c!|%VWyEUutH(S~DObR`BcmMR0zIE)dlKHQ57sL7Ptg)CF#LG}M`;_^l5Z+8> zkr_*uS@7I0*pwY>U0QVDB=79?ZrR$CK7F#?*IJ+LJK^<&I$fI_$;kKo=OT-AJFgYb zWXQZAEazZ)>sbam4~B z-kg22lk>bLexLF-+NwJ8NlWH!n*-+O{@%~~%rNEigV=VfB{5vvGw(Shoc80k+L-rw z>kJ!)3+3GmEB5S|X1988-20=e*Pj(m+xqJ#-|L9uhff}hm@D`9)BCyB>)odw{V8%j zn4?g?ep&c7nOfc%24$~p@-8jdcCU}^r|0{1Z|)WSa%SW0soMNM?%+ME1m^@n28In; zKjd!3JpQ&MQhZX#eGaw=U$MA|Gd7zH7rs03u9r2e<#}_FTSA`1senH)qQ? zBs^Q%a>sVZSC596*@re>y&?H{*Oe`2`*)T^zy{Jo8t4uEF@Ljj*2l!RP^53 zkvQS%?7PLsdghfI9j*SfNKsCNL13D0TK=rt24C-N>U=ysW+~gRUo%vX9ua2>kTKuq z7}WEuk9|tFH2MD5y_56wKhd&?Y>-my-ds}Yw{K8o$ zdNyR(B;UUDEdE{2Jj=X0O^X+01&8;1Si~@+W})z0`QqZs^U_z{vYnkK7q#Q_+RE;< zcOn99rpNMP?oR%hbbb$Ka{9YJ3HE>Z@4K}zFo>M*J#O}0q-N)a0+;)O(N3|y`af(` z-#;_4_W6(V7weT67I57(K5{($$G;6tOKw!mouAj@x_jqq_d>gO^X;ond^mZU&$j#I znNVhifWE!c*1pXBkn;MBptGBQeDN#aq_mU9>hF)vl6zaTY@WYfPrt9m?(YJ}Y82aF zMxA|jH|##+-(|778J6qnW7!xOf-N%M{yHeOew&Z1`R@r^t{#c&JGEoS{8<$X*9$pL zEqQ&ycG2k>dNN&)%A)pE2|T{lb=6$Bo1wuV-=y~VG{rd|giovW%2-#QwzWK{p;cXD zRk>^9Bjv{>znVS7&F!YllR6ywB1mGnv@ah<7Nv@w%^Y; z5v}!H)pM};vEfeMJ;m$R%`m7s`1B0hzRguund+Z&!c^MzP-&BYxPFPFDk@x~jiTgb?;;%H~mw8h=MYC(#*wQePeb{2)k zo?p)zx{O$}LDGuR2-+RBgXFvCsF|2vDZ2B=? zw*J4f6Q9E>CnYXDZx)6Y&HntgBAq4Q{C4g7*!jZSx^Mr))eMs!tK6D@swH&yM&~#2 zc@pJnFSvO>K7Z%-WoFcexj#2oy;yz3V5ih4yScWqMJYY+UHGr(ty_Qntlh%5>_%&B zv%;P)@-_~a>D6Ljm~i*b|AjgIEgNU=cCHH9;ukKKs3{P2>hRXD?uB<)-niHY3NlDs zlQ-IwcIjp3Z+Z3A4C`VmZFdyDl?XKB_3^LuZC$GGIWzd3{9MD1@jhA;7IBFAGBGkG#EVPeDkTPJkREX!$P)IKjv0=I4dwX{7+r< z>-udQhNmyirF-VRwUf}$XA0O?E$sY*Yp&;n6<_CBztGpK6<=R=_j;~e$VUFY<5~Z8 zzgNo{rfyoQ>d;ii>HOlPcF*1wm$iQje=$uswCL=Oz^4A)$7L%fxiO#6`_23E!Y--l zTwTGMlY_V{&h@EyTsiRVmHiFvPj|k3ue{I67Gbl{c;Swn$!9-auwh^bT=2~5WKHqM z9cJ1Sp8a>bb^P|F2@N)@ejVssd)eRrUZK4stHM4Ziye`FXY7!X;yAr6Sl#-!?#wEa zO#%!;OQz5JdjHYebGs&lT#Nm`eq~UBo8@k9$&c3`a~(DNB(-_Z`tvuZJ~Hug=+Zl~ zQX}tl+122`-}me1a;PvKbv^398NKa^%CDcU)9>8P*rcJT7PmCBE96n>#ATa2=S^7N zw?DdUwzAIMyKA2&8d|Mwe^mZ1?s8N3^C|bYTuNQFWWRQHHOF76Ra3SzayGlYwRrIJ zOXY>t>i--$Z>FC2>U#ccmDpXq{|4#SX7VO!3;b=%`*t!mt2CUeE{wi?mCwO)*Jp{& z?Iq8@3M}*8y|ws(RPLUui%TS9e|)N1H!IZn#RMU#kE}kim0};)D{*;P%k|GKG3{Jq zx{>?-t+bb_|CcWH>~g;U`~t(0)za%NQvO$;HJ&zG1zplp1?BsV5 zhd0W1w>j=;7#2CGkRvCg)u`P!fmd$;0Mzk6KPqKLN1lbe^FHGcid`uqO{XPG5F zwa&RR-QUS{tG9%Nl)%qQR+E~?cfN{?zt~-2x-aju!_6yi&C?>DyIq~5(<>q3=;u48Rj1|S5)o%Zt~{)ijoy?GWOAijL>0?y=l z2h5E9mV_`TYCX7}eyq#HT<%hshJomQ!KtBA!4EVwx^{+@S+gDT&?uP@Kg;mZdjF}W z<}G#Xtck~$@l{`2P`UY;opTu9+xp~(OZFbTRn3yAEi$7ce!6tm<{aDl-!|_i`)VI! zQ%x1SFsE^MUrCSNZoZx$On$AEwo5keZm8M3^!%dRvpkKKuE@&U^JquArq-ri*80lN zN_Ne?$^+P*W-`XuU`~9)Aechg+ z%r9RZQx=Y&a%aj6CiCfwerT&+^a_2k)`hpNc=^G%Ihmn;j(%k??`c-s-FJ|Z2+ZVS zxODIGT^&mUx8+J6)(a0feXT4tG&!l%9C(ZSRPkEkL?lOIA z?zBgou~!PW3xzsFeEfOs=0w5x>wKW@Rphrz+ zy1VyrD4X-=rTO^0`mdsN^>%}2c)8uwFKP=_UKkcUwSIE+IH=h%NxieXdbh=-9KZjL za*E5%+C&eOH!&XaIIumut?ksQ)M-yj{wLp#IQF#kvpKu>=I#ZzjwIiJVGW=uw^S zuB2+{Dm**VG~-E}kt7oXgNF6K)s96yd8ZdOF5^r#HV(U~)KcesRB~hEcK_VD+kaK9 ziZw0ozSP}QBx)hv>9R|Iy|np@3q3y{J(>9Yqa>@=tfIWj$M$NNZTr&bWXT=N`Swk_ zk%{lDnX^OplyN4{yI`iNwytAKsj!r~i~0&p_j0?Aq@WNJ-X$w%X1200FicrJJ3BF^ z=i4FUN1tVlk{)|iWoex*;H-WAga5~|&M7%gJ2`%))SS7_f3fMxhv(P(*3I91c7I2F zZ~Qk-Ml1hM7ym!{7h3#%e`<9|`L(lpM~fee9)JBt#>2Ytg2m1pvo#a^yOJJ-GO%V(lqCUXLs-EC5#6SH1PiXd5hiVWaiCN&egxK-UpS< zT8C!nmn`V&Hr+d~C310}Z{)##X4CU-ryNfhmwL>e16vE=(bcORzv7p^@Sz#{Tf&bW z&HQEL8NKj;ilx~)0fsACrW1Hxy%xH*<>#dCGY#+Gt;qfS>wN6v_?*uSEi)VP-7{~C z2|V+ykuq+Yzwg|Vuk)>6XzQKT`YZnadhWcy&Cb=g`|ID=3#>d7d~u2I>2IZ;fgv|* z+e^egbo`hxe^x?-TRgLxMi)~+cDdiJ?XNE>ykARI`Xq`ZhsN+`}AMs^!rO{G=na_d6gSga49+Ia;8E=PT9*)&>X+Tl+ z>rzzf{}$g7(rBfur+4vozB0FP4 zx9?`h6O1&Y&);II&erx0HsfTNAT1?xGRyMT_Qlf|ubo@`b=h8ZeYv>ZU(U5&&`*!3 z|FES|cW>o4v$8#Hf7`Zf>Zp_q`S!~4@QoJVSy8v8Hb?rfxiT=U`1HB^CZAuKj{?t} zDBoCQoYHel}dRAnI_3306%PkWRoK;kH3t2I(wPwPN(s>5!mRcXbcJS)%s|O^DfA0un za45XP%Er0z)IEp5;I0FY`T4inSQVXG|7Tzr@$g$S}c7*Zudm zyr{c3&mB9s_UDB<-Yf6pYR)h-oZ5Q%$i`TyU6!|Q6|CMaef6;R zIXdlM7CVF5{j)1`%+_$mXDq(p^DF$g`|*`~cJpPu$$B4Ce&CK~?wQSxA9=MeSnU+A z%9I$D{^wR}>7s4=cjZNj-X0NtESGF`D^ok}k7C5JkCGSn?^|u#{`~5m`&SNrEw$tD zGMd4|EdD;~oLSg3v9?*3r?sZedidbc2{nz^R)^ERl?P|r8?2mku&i;iTS^nvskj~>cam|S`5EVFaK`HrrXw+p;l5*u=3uD<4Xc{*Kl0e_VdW3?w+F3=b5+n z{44(d{k9Fm(c;IGQ+nSqOMl+6r>$AsH&4g1{!O6N-`-;O+M}!tReEu~>u=k{PKbB7 zX;H|_AhC_tU0*JGzHax$xf7427)i>k-?gqREKKZ}{m%8Y+Sy^8m@9v&xn|(WP){CwRO^leVT2QXrW4-<}^JLWz1t+_06$2R^PHok-juq>P ztj}4Z<@@E^xmT6xCc<1@_H%ER%`>n5yR$EH(~E}lALF?`ZQag(ac=PU+2^9lH*U2t zdT{Ldjz3vNch#18)fD_Hd%SY;_rJF7XDYWO9k?a_bAi{+U5RtQuGzRRde_VY;;unY zZnLKge+Xsxa$BL7S7(m(mnh>~$0YVGabbyx+4FUl-+RA*yJv?lPWQK}D;8VIb=y4a z80$u>_g6b(`^9|!ygt;Rllo`%>&E%qYnECivmc%RKCWti#)W&UlV_BCx_|k&3{N=Y zlf9N(isZAi{y$|uX7u^el12XO*V#{8{a?PiTu%J*FE)lhmd2O2ERSuyl(Z{F(`#Bz zs;1|QHjVuO9a}n1Ov{Uwru}`@g6j`*+-p z2}+;&e&=6G`0vD!F|R9*=gf7x*E)Jn4GrVsKJI_^`fRNFvBPULYi1P`o_^ZlCB~4D zVz+W5_jbKa!q2kmeovCC&FS|4WG&O6kzV%flGe9h{tbfnE@n44+Hbt`u#DBrBXFMW z1y%+JiB%>d^`fB%SQx@wf4nqaye)diocYloEo>&m+0-TY9p5_9_Cl%ZCk@?ukJp5k zUwz22bq?o;dCwmI|8%HGICNFIn=*s)Z~5tu|6Ds=K7ad@ymeKdEgl8cv2_}L%YPH(lCI}}us?q+$1?d$@a)M2cV7ks)J4y8m=ZWiU6iHJ zY(?IFwHY0I7I~bUyp1t`QAzvEjx&cEn%iA+!}2Us4;^2ld9Ln3^&-CZZD#Z5pZ@n^ z#)PJ(8^_J==f2s$=Pa{;$`p|w#eeq7@ooONOX*I;46!ZM*T3Eg`{DHF!rPZj4SM_c z+}&RJZ1U@Qja<_F_b>bn2%RH1Yf_}M;--3q?%tWD-?d7gyjm;%wQ_;Zfqkbh9$Ei- z9pmGzhU)y;1*-hi7p#Dg2c< zw%*7)-Z^g0{OR#gxikL?om?{eq5ZeZOrYb6TqIRl-!=Ww+kId{e78l#r9GL-OV~er z;?h31CC+^5t8==y>gUaL>~Av_WO4ju*tB8IvqMwO%ogoAv+I!h$LHH)JN~b;=V?%o zIq|8h`QHA2>-KMJ_@kir@!@9O=WFFPJaX2Y@ZP<>T)o=jr+quv5CIm)DnXMqoeCUH z3LKZZ7d+u{6ku@_SR(FtQnCpo=%L><$(RKsI3aGy?W?ndgoNg}f)qC?c%)CAI(3e# z{j%Fn-YnlQ3|7wZDKsNO7^EDB87!*l5Z!w{=KG&BxX2o}@?rGV-LXGE1W#Bl@8M&& z#QB-de@2z7XBTR|EB`AIDNH~3Z^Na$akDFd;8}%y%%mw`SL|1>w@d_)Z`Y!zStkftXM7>Wj_BW_V~`F zazRnvZL+&7jFmKPCtrI%Z?3_`jnCTGyQ^IcTG6=N%x~(it^IrcGx~%SU)>jcz3EYg z7`rVWpO|B>4c^2>Y2gelAKS?sI*d+LAW+ufl{v&s)u&U0yh&8oH{^YMzP z>DRBsU6D`NQxh=d$@{|Qd++DX=9t8`yMO)E`kFI`Zse4k^j}=)eEP}nh_PRkN(c;e?_%R&I&)BCRbuC=xvv= zFX7*(x8;S*=G&igymIT$zx1NS%J%Mgr+FL< z4V`*6zKbuvEV0^qIhm_7>1+O}qf3L{XeqDE=k~W;_xa-48qrJrTlFdoc&+ue(8m;qvmv9_OE+P6>7ykhyG~QE>D_dJTE2n*srR4 zHK$gu^85Ma=+Ty~Z?y7qQUzQ$YMG+fZ%Q_M1l;-dX8goxeTh zZr%TMc`NgPoC9mNc5jTHE#@KM(_VPKdsf#choXNu96SwH)3 z`*GF(e*KxEiskE`pTGZCdC`$Cx#?y7ez!B9ep}GR+R%CK*2BcbbBeR(UUd50?3uLe zIG^rBRVD-O#fytY(=xW#el`ePJ9E|6jTi4u`zt;yZN9r zV*A&1n|~f+P1~(pF-`8Kb$l1Yg@W^Sdse;r;hQL*^*$nd#i~`SR_X8l(Z$Ko5Pm<- zJ}xx$?w$6>58v(<5M9<^S9>C5Ti-t0(g$seXRCc;ez2AEAm@Um%S{{Z-Z_z6QmSI) ztn6KX=(l1mf1`ieAEvp9y65L_iq>FITeUZJbI^{}{(0HYV<+zG_K`H?iMz1*X6(|Q zJI5o>UQ+(|D`(Aa|0I!%@_VOVxez9*%IN6eS^eq4EB5d6|6cs-@t4m{NvQE;#@`tU z+qP^IVEb$8!@&G#!N#mfJHN2)J$(J}%8d`r_nN)tead#=^&61_ zYIX6W_xAZLJ}$>gCPpm!{cW>hWNYeC%ai6Y`pe7qED>&#n3Z{*?bng(TbDoWv5ES0 z+WqDE*V&sd$%!vXe|FeGvQUZP@yh=fxeuQ7kDoe4^g^?K`yQD!%e3yv9e)1)UYmkp z?rX{ChMBu>85uM9q;x$D(Rp^}V|8SHSMj5BJJ>^e&1M)+;W(hP$nCjS#^%k&J|(Ag zw$8fo!u|e)*@7*{*4n=`+x_CiuWe^|3>Ic;_plt|d;it{thU}s|F5=!0cL*nQO6H1 zjOSh7|9R)fJ&ecgQ-1$c{dC^w!V}hpwkZ>49OJACb~Rvl5O(>hm=EW|utj%xUiN5g zewsrC;VBY6w|Y7mzwBm>5Yzl zlYhLEoFP*pQD8SI;(0exhjZ=xD3ob%IABn8u9rDnK4b$!oc!K} zZ~uRv6FBcn2^&LXRPn~8FDud}ZU3#dzAN8@rEZp-{WpWSpV8-|Q;L<|RCdqVcX;P( zciyGe``GT?xpHZ;zK)t*`q3Dt8}@=S+KdG<3u#NKf^@o?LkA^I=!#CiJi}$4QBIH<#`Do95~u-)Nrl(@Mf`zS(hy z`e!+pAMd;)bY}b1t2zf>XT6Si-+k}OhTBG)_w3+tInu&;U}?^yXPN8c9zIVgHwmqJ z`%@sx=fl#uY+QF_^#5en_`gmv6}gzqq$gWwP|n%@@p6cLs#0u{*s~|bqF3F@EzKL3 z}wNzH26{!?daLUwng&KF(?{+@jw2+tyfQO-xw8 z2?mBUlbV!jE*SjWcKOUw2T87@tw-PFnTHkTT;cvHX&k!z<%)g1-KTy{yTcQ;`O%}z zi~4rCajd(sIZ;QRfnoCp*SOVA<{OzA3})&miLczfcJ9NozGn}dJ$&}w?C6-7hQ*&M zT$V0b>iW}ax=_j#k(=2KhKjDPoy*KybB#Yr{QU0p+5LsI?$!BMB!nk@^A&CQ5--8X zY*%N;v}IZ4EZtwXD?UCt+AXecR_dLRVzYNg+04&-xBq>lcej7*leFiIsb>nleVu2L zbA{vGr8m#-_I7;Hl(^5JX!PK%Y^w$L@rugIeQ!_oe$iU{{{FPkYumegu3mjoH}B&P z#)il#lfO5{yDiJ*GYfR`63SYY9eF^5=Vtoj7osz-E97ms*>wHBQ~3Ey^Q*sJW1U;I zq;BfGee8h;4^+)vsOIVxlXKz3O{>K}ygza8v-!xfzVjpJnoGB~)c1btI2d$^>oJen zj1`;fZ*mLI%1ToadtbY~d*O+78??B&X1Dc(PFG}};BtI@q;c>H_WOKcFYh)V4{ndJ zS|9X~?Lf9r)BEOgRn>b1n^W6-qtnwh=7|b@EIeeqTE*2|4WC9ieIe^yF2}% zDd#(Or=8O+Zf9{NHC#XblPxUMQYL2kVkK?e)oa#mzEjwr`Fs8I4PM<|JKgKs1r zt5z(yUxsJ%mz$rhj%HeM**FLU82+rbasTBv?@h(;xC{R*Wo9Z=Uh=B0oqDi2^x4fd zm)7)iF0A!AJR@JpX|sm*HJ_FJ``rH*$twNj_pCg5Ztb(r%d`6eC0E)Nw{~Byxp?Tu z@AVQ5=KFLtD*gukWEZ>lW!r`YZ({lPsn(lpS|Q^aIa5iQW5xm=5JUZzJzII?Q9(w} zB{!vW)A^?d&&o;Mp7CIF!|wCHBeo_pT{^6BO2pDIuSZAEJ8&7#WU&Jb>+5EGYBH#t z+Wb($Qu3yt)$6s-cq%5(i20EFeXV`GeCB6~{lAj94{Ij7_s-mt(fxbdOJ2q4P2Ld< z7iLI_#2J=to!r^>C!vy8__pelO)plc^Bj=Azc=~&nFJRmgD6RzFmGXI^`hF~8lRs1w4iJ&%gfr2lW%md(_vtE zG~s8OaTc?#)jF0RN_*y2-AP^2y|?_xueM*?cTOy4n$H{j{LV}6h^OCU?k@Ya(_+21 z+4q_d*^T$(?i6l*`_sYj(e7|fa~b~F{QsLadL=L3oV&e8bFb9Z!;T(%^iJ0P&z zTUKtyt~={bS|p~1=clLE->Ok44-S3!`AWy?x5_(u_SD<1UupGj=VXN=t@fXd%(A05 z+}t{Ci+B6`UAeoZc7Dk{c-SG!X)2fgbG`Y=&+hX6-SFVW*}I2&e-_T;J8s1jzv zr^~rlmna>smQcFHzu}ekeb0aSSNlSPlxlAL-Xy*jGOs1@~NcJah8m$4^QJmp$5Y`*zvSy|1#v`Sg6F-!IY8;8TM-qf!W zpQ0LnOZta#oyWt~29c4G=QiDMaZkRzHn~|};wH<&$f>apF5QuQrdN{DmRxe&?UHhf zVp{nBtKJ4L^`0whMg97b6+C@*+==%^*5ILn{qg?Q=j!AZS>%6w+uZn2!}vANV=*DY z2TI+(v+M&6{@=e7|0U(rQFSG&l4n)PJKd){?LK!0G&sTX)BjKTNy*I`4{xcSb7B#m zS#D8toh2x{_Tb;(-T(d`yIEoDI&YKqmlb}&c`diE-F|a_ofAmklJXz??WX@VW;DEd zv~_dJ?g;yXXLeRAy*R4>>H$Q-e#EH9CD(8PuroP6#Un(UXfzhW;dQQ#o3XZkN5c5AO85W;V!$=w9Cad z@*>l{ym@wSJ6>U7&&F^-)jIq1&IK8-Y~!y#Rc77bZ~b3xuZrd2BhP2N6h6H7u(rkK ziT@@3yKLUiu2#jqFR3W+<-}+1`+na!%w7FKsprlD=XH%Q_*W_K<#)W4@crY~PyPLo z60_g-Ju|c_$(UL5eqYRg8;vp%>#n`!$NP|mF)Zi4uoL*CvHG#z=2^_!^rH8?%W1qN z_FXrsNkYx!@-a8HOKJCVg3oI)s|z2Mf4%VK#(C=LOAcCni(|a<#3V||^u+HELQlVC z30?T^!C8Fi`bIlR2j69?!OU})ac$_Av^aU`sh?UKsHcd#r?(>$nA%;v0 z0&FwmJQt@2%~k(+V&?B9pkafzUz`HVxbA#aloe!?Tr=Zl#dYg#>a}rmC#K6Sy!f)j z>TlxnMBjBEZ!Zq=TW5T))UspN441td^BZe!3#d(R3r=C1>$g1J?uEsglcpzU&T{nM zpQLrzIQM?7)m*>&iu}#D&j0HZXq!>F{LZcX$3>-hPwBP%buXY=9{8)%dYg8yt2mzX!D`Lzs_Qpv9x`pdD`?~0|7NbfD+9x%Q>Xq) zYo70mmN*ytVZZM3$ERkfFffE|JnzLDYMMKJ$+D)^%U*%Zd3^o;x?>A}J6kFA$7LD) z>3rY2My!w5_JYvf)IFA85j(Tr4F;oi2w-aJIKe#a)UJxdLYUU5$U z)X~4U`M=>FyK~QveP)ySKjH23=_l+@J4_a5kP322l2U)+D|(QjA=)=Q+Ca4>>gQ@d z-b>ku*t^?1mQSB#F9=S>|DBWH+X?u%gs{BIdVTaOU;FVn(Q3b66dbjMtp!-OON_09 zPr)JE@rNR}b8hb4r@w=jp5>FfZ?f^*w9SVNU+H^uT0MND^Ghl%vE+iYaQkP*td(1i z`^&4lx!CBuzOlaLx_$Mn$}CZ6hx&Ti!s(>#7D(pXH;8qJAZ7O${=B2 z+%L86+rt?z*crBZ=6OHAdvV5!g=TeaJ72F_YJPpD%=v`x@ny{aA1N|Tp7!7N!@-TW z*H;^K?tgyc@XftEZVFp?*E0)vxV(A1KYDZ1VefV4u1@S)bz$})uNzap{Ch0uVc%50 zVqK;xC->)PKX1LG`C}H>D%=9lXe_O`;y!@{$IGUT%IE?IF|X467wseJO8FL zILPesl6b}SI^w|6oT3AMYae{8RNrkr=~v%#=d=@#)+e2pw-EZXY3Apr_50qxoSkBd z+C{9iD1XrsIb-tqkPzv+PbEw}Z&vL5^;)`)-}?L=(74BB*C$G)HeHcFl-7qXoIRZ> zW9>OluCHH<;<8Ka!rihbIaNP8d8klf(k>5|-PSDzClZdX;di`Vm!Nt;|IneC4oYQK zy7&8S5*BRPvV-Axr{W0>%}vvJlbyP{gnaY4v~NgiDgTel_{UMZcc>^bIBGakNqZ<~2zh2Wi~H_z{WE%`ng6t^P3<)x~(HyU(rir+I`!Zc_W149Gn zsvenB6%*&4XK_nBVJGdr{=^=(!sfGLd;W>-s+#ui&g$)Y3GaV)fBjghJ!A1@8))J`kERGb${P? z`)a-qT4%|S;lS(1HO#BG$ndSZ95`|6w9v5Yk?(dK4{2p#_%lme#%HVhNzX3NQ~ooo zGYc-S{)l0-=b7Hw{TKBPu963ru=j2!A7@$8 z9ymp_DCv$wWX!ZhK9Xv>4YisRo^3g>V9~?0+0(O6obH{qKePAR?iJC6TP+^+zQ4DT z-N;ahQDQBR*y^R7jlw(YPQUq}S2cMbM}F25$*oz>AFT~?I#TZXWkqe@bnEpTFPxlr zwNI^`yLRf~n^%RFd_U@+q`zwu14D=Nv)N}?@NRigrOKfEKK^|6s=n%XDjbCm&+q9u ztG6%7Dft+u_UW}aE54xn!KCA3*argJf%z72k*$wq!C%4Xh zT7T&*LzK|m=Mn5zOYW_gP26zv>21DMxy|?HZK-7FSw7G0|L&jzEDQ;uEmd=`-bpPs zzBZF*={~W~^#_}L)9&59z|Y-x?~d-B8S>9x7OXk^L3Oo`mdV{PUoE3QH~s6QpZFhK z#c}Vo!m}qYDk>)?1Q*_Vo4fl@+}G*P8X#@b$~Q5yw%v0ttu$m{unf0%-lKRXahLGc zrN14bqF8b#2-zz=i74h_-+`d)k>MrhHp!4(6y#wc;hyG=n zv1W}<`px`9i#NW#w(+2NPfk^E+N#nEAT*sa!1ATdQJc0TxGrC&&N7`!0v#8bYT&t8d&a!1!rO>_Yd_Sw+fs zw%tqnA0ZDiUt#}&dW$tb-4C*ah_9ckdi&@v&alwR#V;Jb-S>REXQ9!_+twe$%Xubg zw3)R{(R-#Y6lo!_L9c4Z49jwVmWB4Wz>~UrMZC^|>}7GRny9y{3BsK4p9?N3IAx9^ z*gId8?ykEwWx|99I^fO_i=)-*HEW*e{4%_&mTv!dE>!1wC-5{jN0Y){4s2#ojX402ZA0N2?{2ssWnfwEm=3g%Khj1;|uSYUA~U>=tZMT`S~F)CF1Az@2z%mZO%Qecdy68>->_P=bt{l^XIt&>hy1OShZ>q z@3n2Vg~nEzy0)rjFCMLPJ^a&<;lZT2Tc5@Rn0%eL{`IGcO#6RJUH8sQpYcP+xHf4= zdBsuvf7TCekJ?{+^S-h3UgP>*Ke!+L6@LBp@8;inYS;f{6t(?fj9}d^GhH{)_^$ld zjh8Bq=h@WeY&>!JvtM>tWbWrZzxV8$UYlDl+qC51yT{p2<>faUnBA5=n_TkZg3-@^ zMYG?rZ%mH)^Q8Rd!|D2NqUCv){wjQXmk66cKKJ0x7j?x`y0$OUl%~~Os5$uO>FxKA z*z)pDi+V6HxKsv*hb#ZHc>eVBmmc%GE3V(FyW`d@jXwSRDF5BUmz70sQfrdmi#quF zEmjR`-ovjSn3unZ>6e^lqTes8YwFA^PHsubT5vgp@tYyDdgQLE_9M$LO-f=q|8|D; z6lE`=qc=hpKWNLZQf6SdA5$(h*Ux(0as53HLZs&UEnogS^2Byor%7`%DsPzoVeFkI z^04|wOzak2CZCKepO~*7dUyF!(4)io^R~^^a${gPq;Od~^NY`_&nj}3#q&$7=K3w4 z8>ex~uW`5C66He*&7#KA@2ieqd%*Byru(FK^Q_;={%m-ayFX=XdPY#tjOR&}LJSE_ zS<9-=-{tA|UbyrKYy8b@E4LlCr=QJwgyd0K6+Ps;;Tti#dz$1>}MHE5~lX{L;RCt^0?bGLCZ# zF29`Vx$ai3^ZJzB>q~q<9$Q{2bM48zS`*c(cD3Ez!jlc`rVC}*KJvc4RzHkuLTYJ_ zZN8iO#fgOkQm6!IQ+46oQ>D0!0Uwu7CJjXIW>*n+{pOSN4 z%JUw?ev>N~lDDmOS2rN2H;TXXyU|2NLh zZMdZkvfn1Xxwee;^0JrfKi32tWMQx?-M#spx67ov*QL*!Z?h6QJ?Yh)z=WpYGd)Kh z?``I~c{iB%`haNPAr~2i>LlkwesqvYa2B9z8t>hZp5Y^Z#^e#_opYP4ZXi=sxb7px9nGY z_vV{vH*fDX8PCa)Z#M>iPu|4H&@j0)7O!f>WOI%bR&Dv~ody}!A=-kXj{fi%I z?O%GH>G7o5`~PoQ`{S;!+4C3g3mBTN{Ao^K^Hje2rryl|-`h5?zq+kDVs#<2!6rYw zkZ{@UA41A5KTc*#4h;>xs%9B@`%wNuE8n1C+3gQpuJxBH*DVY(c)0TR`8QWIz81!8 zOPF|c;ugoSchSpv4=^;OUpmIDeMD}@49OS&b9a9BsxlQY{Ber?AJd{kUoNiapLyom z#qG=a?i7?{qtt>~6;^7O(Es^Zk2&SvhFF`?4MhHvJbjeHj=IoT#01Rmb+xdcOXo zT8XZ`^~dgoC#Wb1&gi+;Z+?H;HL*hr_P22+F!YE^`bYhnW#&9hoLTQAr}32?^X@MX zHNrh_{%786*>t;4rYwn?p6gZ}38`{qWd`-KEw&{;`INBz@<&!5h7+Cp`59((^u1Kt zc!YWN`C}oE83M`JNvnO#kWRueIjM5{?OHS1g%V{C`LAOV#}%lixnpSh8Wtwf@u(ir>y$+%QLsp<=Gk z_mv_XPLHq6w=vlL;zU(h8kU>Y@H#jD;)U-QuG@%+-#nqNsrkW9-}Z58rSg>U zX;0FN`}JKv?>|)kzNWU3H-6LE zmpAV1QZ*~TwO_qf?3ljRp`$BSW(RHDRT%XBBH!l^v#J7wMAZ)5w!7~W@aC`aH@oK0 zuNs>J5++VuC}gX!KeTAm&W9d6r{xVA7`C1{B;7Z=C6KDwb)=@gD%YG5F{ZHoIjc)#s;XV)+|OH7-=_9V=Xc=@xHn6% zX8E5LpZD)84mR4fN$yz7(dTu!a%aN%6gB_mS}pwX?9-LDZ$=rJna4g(nrU3= z(NWQ!DSAu{6P7HGvRX59xna%%g_$k~81gwDzy1+&wC3ZJNb$RtDQnNVZ`s*-UVhKI zA2)0d8>e)n1lQ$h{+4<4_2*8}JFhkgxo9MqU05VkFn#8%nvks1A7)-YV!Zyy{VBp>AS-w)Nx{sa5+p~7cUkghurKJztuc>U%>hiKH9Mi?foi z$`^jnziVmKzs_}9%~H{?u|IZyVR*l-KHa|7a}xK4s3lJ)N_>-37HGI5@Ve5(Vl%74 z_Zv4kjrm_@cCy|5)pqTM`U8u5G2wAxahDG;FuYI?+`RC{@ANmdjE|3oru!dlF8jyX z=ku)n&VttyS-ZF_`j`b&mgV0u>#xjyeX1ke=cVSf+u!BZ$K@9q?q+2;acNe!uJ3W< z$$RdaSBCyMC!K6j$y>Ig0EKK+q zB-mVTE@kJFG@WxhZPT>4UyTP%OXI&R^ivm0H#09cwP*_ujNNv3e%+bW{?t$Z_srXH zUpl+`<9X9%?zRbUXInP@|95+4@KGau^^nrd$?Cf2*WajY{JS#u_H(h{%>fB70PJ-p1WI-w)t_WqgqhnzR-^p;GmnN(Wp5_CRr|I+kL_6gITKHICT>D?jl zFxEL&wmCHD#JiWQ8JgNF*;ETJ{=3lKfORA&w?0Ev`tO-Yxc;DNaR8D3t%VOPr-umX=iC4;P zP4&n9hmrF`q?@9|325AzoEH$VTYV>!OM>3o!%Bb^Ov1Eywh3z%%M3o%NE^w zp?Cbb=c!|-ug2g1P<^BFmns8vPCxj6@WbvsVXb*_Tnn~ZscT-je!6n))t@nvYdznT zN-!`Sz#JV)+Mmg$5}5fU{%q&<^~h6D&zxaWttGFv#K33M(iIyf)!xpok*J(+nfNTFH}dikqebsFKR;K?x>`l` zTi~(K>BaeK7H{U*cW^LVm@z$A#lXvV6Sl#eAu{ncjTJ8G4n+0kKaC=dG(oe{?z3?`TuWD)vrzX)X;e8(jz9B zss0lJgHrT+kF|)1s?NG65@x{25Rn>qP%@}kOvm`bLw~N$|I1#z=jWKz#nsf)bxKOj z!Ta9l@Eucnd~W9i>vc9B3J4Cpte+R6yYptHgQW4C+Ox{M(xy$jO@3FFFJ`Lc23ObD zx9qEr4vW06WfU4d`FG{9$7~D&LSlz*sr_SSc%UOwQBi4-Aky|`bK#e+GuZ;>H*yZX z&R@7X{pI<+Rj-*|=I=TAcLI(T3A-fLzh=O?Bw@SmTlk8E&kh>WtGBF}QvGDgNuxh^ zQjC7@>&Ci>U?mqP!w=JNiy2w{lO~Hyo-*H{{L+JE;XhO7$BFz8hzU_&Xciher{70y z@~xzQhZLU}s(DY9|NW~zit|J2nnl-LYYv-+wiq0!c*?tG`oF7_O}AJ0HvMi4c&B=9 z+pH!DgH4Ct?G20CcGRbM#g;b`i*?1MN&^qBlrO%%tbO8l$*3^C%}0zD2~|z9-16+_ zJKN7eSL?ptFH&JR)_wb)=AzTz-xV%#<9KL%)cW=|1 zpvok`mbHGP*)=IU7bl-Cqtd=Mm$#>( zZ6Z?Voz*(~YlcA7ZOvn=A2$WJ^jFob{KBjq2oH!$R~>7wfe^LejP3Mz_4W} zIGEHloI#AvfAd(o?ZuC+-*@9s!KoX8$!hwy9_`Dmaz3&2fsh!(XIHMZVR;viO%2v? zX4A}&xUDaLdB(2?h1!sz!086aLxELA&HwXazo^v;-n(+bIP2=UqtQ!SI^K7^2>dOh zpI*PV(`-p~#LeqBqb%pd>N-}%|55q2NSm9X!6Ief&7NBh-Rr`c3_kt)x@Xy|9nbxm z1jPTHIep{JBW*R4v^g6#t=_(QlYOq;gxxDweW=Vja+OPr!9Y4<(k|3x$*YHfh$kzz8yVlU9ml{;Olm=483Zp z;v4Tgf_}3cS=Mu+Wf`lR6KA;m7Zr16hGVOxfA3iqb9={amD;;o|4iEL_xixCYi}Ny zx-0J4_vPv0BlXEr_In@v{_$Dvquy&h*IS>3qz}t3t1tYkyjtbNUGK*S<~>+(_UQR! z<|MhZGf(aGp1y09$R4$C2X4L1&ebi8y{F+-5&zT5`scgWC^3dDCITX1d65a)x;}YY zr@L%7{&ewbcYG~Zo4~+;J~XNG^6zooio1U={C=O_)6e_b3PaSUVHAGxQyXwAjM{k*yRWs+*I-ktBfKO08 zR4@Ljmht6!Uh{Q*`!YAYOG`b!>2O>#(opF6LyZbQw_lh2JY8B`w(`eR9)9rnT`SJ9 z(1xaUd3XLwMmmHv%+5ZbarmXP)};C0H{5@B-r|F5L!cA006Nk13+EUrH1 z&bzsn#hG0MSRDUx{C~JX?UV5Y*qG=huEpo?p84ZzKmEI8(~*?TqLZ!GEdRq%KmX_Z zpBYzlI~6#Z6z)30_qu$lyv_z5dgb^uA0bMoRUZ!EA=bp#rY9x0?@BIcx_;=}{$n23 z%6xlnFFty;aQXX|PCc8sLMi5-s*98-O?vuO<^EMJ`Ttd_f%gvSAHAL9ao#T`J1|Pa zboI02|1YR|=6>EQ;?L}O?$i5^!siVxeJ?nf8U1#@fPmb5FYje+^Gc0Eo*lmt?eXgN zA^A)8l@j}W|5opds@L!-S@ZMZ>xrIQM6w>N>{5Eg!@9?D!pee&CWJDe!0>U-Y&C@8Zt@%lFj{`C0Q zJ5thfEyYEA_db8Ut7eJA?Wgazzl`krcsk)x@tH535AQt`)j8+;U-w^UT0Otd7rvUW z$@MFD|D5>V?)!&B^3{SYKWh!{2}V8s&?9|(?zOe|UWhSU?LPNrp6aiczm9m6nnxc> z+w`xfY=7oW7SHCp$FHBVw@XXR*=9ZK_=^h*Q$Owf9rpF}m&Z3cn@zSZ=~6!Te(Tl^ zCA)qF6>ibFAZ?>(xLDdJNQSWnWKbypj@SWO^ZU z6~pftjgxg^_c}ic&h#{Fd|q}&_LQJ%XHw3pz=Ff(dj%O9^4D4S`Yo5e{#ZP&K&#hp z`Q^)hb)MYjQ}p!PV)I7&UxS->*9Y62b$YkN7}ZR&el}(&e$UL*{P@t^|F)l~G6O^6 zgqKrIs?@Gl3iZ#~>2EdHZ~0|E{hZxLOKLsbTO8T6)6DLD?OS`0(L+l*fB9wkd)wp= z8sAd1X!cv4uC_C4vi&=&8*j2sedV=ci$2eObor%8i)yd0p2W~#^O>Xf?*0RoYdSv$ zidoFv?d2dJoNh`P8m~XKc{GcKEZij@(^jXuY>|cF5I=48rlOf*n@ZATOZV68>xmMVG{OpDq z5m^@^f4>Y;VNf_RBgTjC-kNV8Z5Zxv*?Xnsaj|RN_hhzD#SgzGR_m6{{b_Eb`PsAT zN91;C%cjZ8`~F=y+qGZ&Y~{gepEoUfc>H(Ee;$^ZmfdQG%KjBDDdJD;EZ)mS7#_-~ zv)}3c{rL?^fBhS`vr?bDkG({b=&6|G!S&O%@koO_%l+KZZU4xqSCs{i~OQdpcj` zmKip1_jw=Ynt7-wS&jG29fysKo3H8ZtIfI0)XsJ3!bdF@HHHr>Z_h2guDk!$uDbLv z-Tpr!iyty`e%SRlQd)RUQksffy~c{Q=_?=3`}?EX;aXYm-Mf2Augzm$JO3LCc<|A` z_Tkf_{6>RM6{j-l*XHrPY_O?XdGdq0-R@0M3=9&H>f)>BtDK6C*==Wf=Ek2}v(H=o zZtnKo5c@2 z9-o>z{j-FN<>Oet$zFW~ zpPqmJZ~OA)^vJ(Aw=eWp3U=dZ7I%aX0_Ipf(ocNz^7g*__kI_@nVXOjCl~bk_V%wU z&i)VF#k(Z!14nA(sdj&_2nL3Vzn9h5dv?2P2sJJCujsv5YIJ7SZkw~mzt+e(Cat;n z>Zx#)^W8fuQ}^%tWchjGddM;x)n%8swIo2hXAWZN3%9TeAqy-I^peU>dajEVD5D0q@YPHmp(jMv&c&=g9I{QT7d|Jn;3yfci-gR<{@d-8owyHdTuqAz!@a<^PQ&tj9#!0;gd^4~j` z=GkliJz!q)i%a@;aNdTTwf>Iw61R^0aCO}wVOr{|6=v@D%I;R8TwE}}*P=r#6}O)+ zet&*r`62ULf9hw6ZqH5nb(}e4{>ty~m{*DliZ<@LRaLn6aJV^lb#%`9b*+qxm^m&) z;TUwQ*4nrHq~vA;s}~D95C3G?8glFL@_u1uCAn!^OK$X`FXIswI3F=t)obSTZMMIw z!kiGBQ{s+Q{B)SY@N})@!SYl6R{vjHo2x2ozfSatsCjpNUiQ8s4$qhQmpPA`PhW1f zWqK{^>L;Gp%)cpo;9Gp+Qu`OdrZWxqp?t8}M>@4-0h`4av5}@8`y?J-z%ac2& zvI%C*nw5NYxzzi(OsmZ9lk;x8uYYj3V@dzzPaG~xZH(0-`xI48mL1JqH|<2QUF_HG zg3skkeXdWmmsDG^>)Peqw8q=FoH;}1*S=(6nDr@M`X@f!j zy!mT8Z4|f?dcCYN?bnQdGS$+T6l|vlZ%ZnFv$nQ)*WCI`*T2lHdT%GNXW1^c z7FV__syqJbGd5V1Of|S7dTnEa_su5_bE6Kv{p?qkukuy)eEXRRN8^vqvoBEj@ic$M z|MxqWY?A7FVaPbW&tk^zmcu_XSJ}+5E;*!g=486os$Q{oS#1{ZB}uzqWF;C!y66QR zUp%8#|5KFcu1d{@Yp>=k35eH!zBTN5aq1Q|%`NKlbY$3-R(88=+3n2H%oBFzmq5wd zZkM*BDU1`lZ+vzCk=9#j>B_YD%9N@<)?zwyI8~C4Up}OD{_NW6VWF}&N@I;)#VvRJ zHQzd8?h$vV?ku>b;~BRyx0Ks6&Qq?7>-MgoS;kIE*`{B6 zd!Mb^$H|@CU#nPeGQ(oqVK%t5>@YpYHia|9V3cO@ zd$yyLSr$uq=C{x9+*p52`zK?~Fd^mH8_T_^9zVop7x&j)-VyfxLi(${w;g7<-qgS6 z-6N$5n%-dvb>mCjbK+b&(_({^`Mrz7Q{tL;98BYmtLKij^{#(+HClYb_diFge#yD8 zGQTcunEZv&DXfUG4CQMTI2zU*HOVztvvZAPoaFwyDTPG$Nn?f6tyu~sg5&yKfq zm3Gy<=X?CI%c%K@yKh{=*7JVLXRq1J92Oa+d`)}IY(%M_5XGN`(nkz5%v3b8$(-$F|!~dT@ z+}ZSd-tnz6ajdBzaOwf03d4hW2|KS>eO%+2rR?5&J@)ag%MJen9X$NXPe$KAq}9ja zp>+0MhIRFhIhRtnce^srXT9@Q-Cy~yWm(gbZ|97wuYA^@+f%9U8yFTAw(NxWr@F62 zch&z?e#JI+^E*i4Y-XdQ>*2Fz`qw8+mo}}xEVZ^gaQmaILhuF^{@g?tqzx*6rXPl6H?MQn%A8v_O<}Kooly0~sjLhRGDi1v+;SJVUe{)nsQh0Q7hHO$SlzLM zyZ%{fPT5CMVJTz3h?`e$N8X%oCV%2?Nazn6(??mX+zc~#bv)nly6ducel)uGOzpRY zT-S=c`m5K@WFLS3X7g7LDr9Y zd1>DC8xrpf?sopFWc$wPc~tGe{LrG@^q=!fj2ou8Jh!~&Xu1aLz{+kb!MPi>oc5l} zdbeq(dy~UZgs^qVxK0k-FA;$ZA;}#pc?zgyDR?iY(^-;vw%y23bZ zDtq;hRaU=U-#2Y~;$6*bKR^5{cfzJko93kM=j=bWE&4cHyul{UtoQ}@rIAKSCjU&U zm79KT-ipI_s?$p*_e?r&$u@7w{!Iza2ezM;1C2xoEXlTgYx%pfM4byaCe#?@=rw!h9? zyY*e})oodKAFL8qf8@X#A|N2y^=9hPwicD|f0Y*qIG+A|!|c)f&(oj1EB1T$_g?Wk z-uxPG4)E0xTMHtDK@5-f1Pk!>5|1Xer@n17Av^D0^w+A<0bJ-1m2x-{0Q) ziG2cC`W~B=@VN*(@AG$Vn0fuEX`gXWJ30BE@QDn&%dZ2r`X`^id*;x7$Ic7V&YPun zKE2iaTYTS#i*?&)->p6Q@yC%LbCZ2J*J{d29DHq;eD$IC_Q&tt=HK|`8DIR?>E#Kl zUmK0zG(G?SyID3cbR`%@=DvH4bDZt(SHAN4^0Qfc`3~uSmqphpKkRwHKTFJQ z_lEaQGoz}5ssk?F-miDR()*MBS{B7GGI#UdgkR<<=8FI2C+PN%dsCd0fPqu#fZRxACFFzdjdr{8$#?jVdQ{Bxyk@MH=<6_?T z^Xct?xXsx{+kS3ec#pG~`#M|S7E`T0L= zE_5hZC~}KM#6=n8Jh&~8eb0{mUc0UNS6QZuUrmwN z_A&3urVWhp`Id6E>i_({bf(twnx3BV^{(XD1eBRH@=8NAaD_{Qi z%c+85A&-YGv7DYD@O?|WDQDhx&HL{yi*5BD`hD5xE5Fz7n{;dbuIj|QkCs~d$944W ztg1Q8zR!k<;f0>OT(7mo>z{oBdnQIF>DOKMUjK6wN2yBBxyk!xD%{)mGpsc%-{c@~ z%$J>~m(J%;T^;53;)cg*$HmpF^>Xi380wn8zP656{nV}=$#=hY8G9YS@UegHs-9no z-^};R>@Bf2e0r}{c6EP>6zi9-HFg!vx&Pj-C@;$5*r-ey1aN!Iv~ zTJ8T?%!U5NL4NChn_kO!FrzM}iGfL@YY_tjN7I!hB~JaxM{@Sv+V5L^Sn{Csr<>m& z7F4}FvLR9U*!MQ|fVk-lyKDD<>%;VwQh-t&u3hhFZJ38xxyO&gGTwleWwI zH!C}rrh7VE&poSegD5qTGzx>8hJz}e*L?{*Hks*&#*H%l+W0f_&McV@7ChueDila zDfoIoH2Yq0P3~c(v%h|r{;@LFskm^)`N)ybcwR$Qho4XG{M2c8Y?d|go_y%RLEDt+ z=kL~Uf4As@b<0bmzq>c8-ZqPyp7nLM;GPHP?Thzp_~a1ge40~M_VUhd;S`mnnftz+ zTJyxcs9SH{o%*T+kK;eCleJ#Be!ah^%c5i3`g7$N?!BtY|Ll-)EjEV7^`xe276Zd7 zBU9D(cejoubfNao^z8ay2c}=Ycjrrd=6g4fbvq|0 zdUkuC($&^J;bXD=drnlhiHm{v`8D_IY_|sms-N9cXS|n>V=`l~`|M+RKlaOp%Rike zl6KE>Q&D-$=V!jRdS-~l)IB;-`gZo`@D)41oxZigXXT!KHqY~XHf?#!I@4Co@2$x8 zm$&y`zx=toSlEBf{qH9V3p}1*U$(ieMY;aY^py_ts(&3&t$hEX&W0)Er}(*LQT$Sm zyx18o*;Ev4pTr$_lIyLj;46VIyUzV9b9p%J>&095^@A)bZYtg0to&-QM5Wcv+|IoYcv^+y7VW5@NVr!@lDCHvSfa zhcg{qD^=@Htl|zY_uIC1(zIs7^D|o7?r__mmlKq+sW{bND0aCnYX6S#pBvv#Thpyq z`BJfe|KaT5F0s&iQ-i;&>)tHAW36XrX=?fH(b3MTbQ?J8PaDJTA}k?T_l$g_S2Jtg{T%HoYIyVkPxAuXw-owC$C* zLN!@+tB!kq{_sCKqcZJcxFlCY{j&P_;{hV7>os&Wr(V@!WVmIqvDD}Nv5msV?Bv(S zUU_+|e6zpE3Q$0-`fkSGvS>w{lxJq=A}7YP@y;nxKl=YCteXGo+dkgz?NhfZFa2}= zmh?G?pE{2oCvKd#_fK`nd)aMI_DU{1tzKWX>PO{-B~QL~eG8E}DF5YNfYGbZ-ES*} z8-h+gt+x~re3ic6Uvm4?i}7&`3=In|O1aNq%uwl7F!{f5iDCLXohXwd)zv$HD;)3n z9B(S0ndpWmdY|=QWhSxWTEse&_74 z_9yG+{r=p0to-zgb2pyd|5cU$+d*Sy2wRNs<1Xpd%kMKRxOx7GlWSb7l!V^ou$otM ztBbC0^8ehL=v_YdZN9hd?rqseXBpotdV6($PIm6C?d}XO^d2w!@kC~3$^NI4s~H#;1g*^E`StqOjyT`g zSyMwZA3jZWv#a`9YRtf}K>8D_TguucYZg_8%Ot*eprZ1a>ng(;KR&Zphc3HnF)*xp z^z5dz_kPa#G4FHc7kvqme(mxice$3$&XOD+@6TVA*B<+`r_kft_s?bb^fEFO%zUN) zRzH5rbvggxz4Mj7pVfVTF8p!#htzOJ9r$-;}l}+n!n z{C`p&I+$A@Z@4+X&#b!U&ll@YIftza-c;pXHqWc-FRgq0&*$$sJrFo|?O4eHv;SpR ztrIgIK6&#fC;gPtjGE|l@pN@==SQLJO8ypws}AJeN)N8FzFEl=Z==59)u)X!invzn zTBUW?LCsOw@#cb%)uLa$x{m#DuM1hc*ET(*cJ936XVxFDPdv9UR8%E4ZeL0HX>+Ei z!0PhO=ouw)}glp0@p;TEnN47kz*4o%Zkfd1)E8 zuNAj=j){Yd@XG?%D%r`{*-u~QMz->(!}O9 z3ZEU%EWDl`S9){ln5Fd%xb|V}H*~!EM{N-J1W``Af}yn{DTQT{q?}+D z&R?_tvE08eI!+vlE&urbKiZ%MVhLQjc5k~W_$s^$_c;!OO_;!U5OQza5@!R*m2xj9 znBBi7!ohM&9@GQiSUAl^Y2r8c|Fg{w-;};D1U9EiSLT`vsHcFXThR0neEXb7`-=pN zTAdTdT{XYMgLctZ#_8{ns;xJ+K_Sg{qgnpYA4Jn(Jz|!`SbVf zFJtZO3fKP>x2-!Iuq{pKblr#a+x{;1Jv;W-S{8j?&YUCR%UxQLD|X$wF-^>%{_w@s z<&Pe(n|tfyO$F;^-+1zOhHv?~%<|3he`2#|OcB{%rm*^GOJDc3%ooqI%jNeA6q_sl zdv>(rtaqE$7M;o4-Dj)oO?qxz`}E(6*&jIz4b#8=0j{NMlH$SwezZWx<`Q;P6@9k#>=C?cVG3CzN;o*40{IwWgnc}<{+iJ_n z1-$W_Ufx!$Ve0u+zei`uzbDt{=lYfZdC}du{&jQJj?{WLL zK~?W|XTFxxn!W6jPwoBRIR}3@hzCcx`W>1nn_cemTsvc~y@kNfiL=v;-*Nljjpta< z5iMx;enrP3>%JdJ4}Z*y&1sdHw#i2S=PUVa^Ldp~|7(gl7Ve*|mHd9qg|kYBId}W( zyj)}}I3@D8*qIyi*XMl`+#8%AAKmup-YkCmUXjMaAIG}wS@^iW-{Q;;v)LEks@K`xUuSD(O+Bmvfg@2?W3d;{#Pd#dMWRpx!cIm zv0PmCzV+hs9SH}IYX8b{tGzjS%N3{RUIiB~|8IA${9Sb}uJNH!@#kr*&3C_e3Cr6s z|K9h0{k?5R?oU{tB^TS()3N8zjv(Hwmxn(K3JMCkC(paW#Bf3O7vD>#)7|?^-kdnO z+i2ncmi+oT&%W@t2e;hI4OzP*Vp+vcuO*J6#pH&X?x%Q(~~SezY;a!h6HJ; z3k)2!%x0V>!S3n*q^+mE*b*)t?(QaGS-x>uV5uhO%C8H~^zV;fqGYKTyTmE4j*Xn z6ew|@er}0Q)%Smo=Go8N`RTaGU+(=f-r>?^uk1hn&b9CTtKFae_x-J_#oxGm_IC>3 zjX3pX?&oFiPXt8v-7m|T`TxU8MeE1^_v}sonp<_9_21vSH(U*^!{46_HPv0bV{_7v z30+dQa{Y^sdo9|%M(**0$7g@*dVhJxE1|HYTEk0E^VHd?4HvGS%|7z{_L-}}_B|&; z?RHPsn4Ne1>tXx8@8^S~ciuAQ3@F+mBh+>Okg(aW)gFB3XQ*5Wotk#}yF0({UAa)t zM$zj}T&rFRMCE^8_55Pavv(%nlHRu76Kq-d{f>Y8?7&v_I_uyc-)gVlwkw>v^iKU6 zj#pyeE*mcQ;XHov>KwL&6Q;`oL%(l7&tsjId~VGeqc76ClfwC5#T|K!Szg$NoRh@Oks~bYS}VKRfe!OnE)} z44?D96?A%0zwnIR7snF^0)x}f&a*1IGCfdrN?`xT!*gCTY~5~NyYp$0o8{$GN9RrZ z`TXc{F9xsP@{so&tNy&)yJJVm$Ir9h@GV(u=D%6``&FC%J$von)u~*MdnW5Bv19-K z!oxhzXWf1+w!U+1h4lV+x$|~}>=e9TSFWNMpZDm2&XidD+VCYz0oi_;D!1=sADPs< zI{ilK-)$M^{=ePxiC@*YqS!XwW%v8}5w`YGcFXnmE1Fk5Z+x+Q>L15$F`fsLmz0@h z|L+oX%6Hi7bL)rx)E8-Il%GyWXq?&5a@^tMyZ1k99?3BA$g%lFzIi@RLeKLQ|uNS9JsOP_SZp)p&Lu99TSZzU~ zC<8;HQBv_0j;$dop^TewS#ZoMB(CfQo-d9*rrodi!##} z{-3n!$H~cDrkO9L9~@v=F!MWC!II#vH|oB+;cJ7K7@9vmnp!<6JNdBc!iNXs8y9O=FsL{Q2HRpLrF(d{?+pW9;{MuXL~ch3(pN1Ex-$vWl_6VB>}a zVFm`3{r8tRUR(0&W%H8lpW>wcmWG6;MeXal@cqlz3(UKE8l|v+1=F6Yq)*!?y#9?4TWosHtzVttXP3%9)2XeVEV<{^k)`Teo@8pp zov(Zo5ib@xv&7z+v+GH0aazsJ*RL*X?fQRby}RL}eUTgfsFk0(ZoKz?$ogxm_pHp- zc%9d!e5UHGA=3+O+ z_M}em&!`=IGWYH6r`o?+%qSx?tM+{8dAZapLD%?%>m!a<2Pm!IQU7H7izdDjIR_7M z0k^;V?-<^neb8XzLgur1cV;;s{M2^5TI|pBO$CRx-F+PKvoh7x$6H*z*ep=4`bWt$ zA%+)u#ozwEnEG8~`@u7pkDqMOvi*Pi5ANN!tN*#QJh5l;yKnzK z_1E|=2zzHzdbV*T14Gu$r=s$IXMLKsckRzEVew3>562G&M`peZvOO+0@7kJOQ|^De zw}y>j>7tjSC0l1HW$0|%XV>kv;%a^UcF8?E3)pyH?iSYzsNa?lvtT>_TCL~D?#X7? z?~J}%acI$!>D%%@na`AaVU@9meXXKhdi)dTi_Nj|xk5ER zY_wbT=+v|MyJqW2yt-GvMth~6+Pc4Tu^*C*oL=}YC|)yn&RpsGWj(1`&vUqVL)Cbk zbZcv#I|kO9v-h7n!}jv>4Po|ee~Okl@G>}bUJgFe`0pR%mtC8_Xdf@n|7#j`>)~S0 z#oM~L7d)Qcp!NO3rt_BZbymx!FP^$bKV9k$g!7G0)03c-fqM_;ygr@#QtXf!liOtF(F~Y{MmCI ze>IA_Uk<%>*_5O2_!8FO-OuEHCH{Bb`OSraVZq1hz5h>obT5goxB9uHcj}+nUv{7W zQMDlD`YYp|S#Le-MNgLUN*W%yfAfrk=E)x0(l146qO1%o$1PL7Y+y(?p0>#3>!XJ! ztdH_CF!(fHUm&PxYsEd|(& zm-}Evpku5q@6}6ZvIX1MKfMyj(6TT0K!+emaEdDbc^Rv34qt*4x9>ZuwtkIcQ2dKK zd(-{pA0MygI}&Oa-<6m1{N?S-_qRT~^lh_${4IZ5?fn}b{VePPP#IlXUgmwuqh z{Bs+)X8wQZ@at>uY(3GvTh^~lob|h{pYQ7?Q?=DadGhuJc6+;+6u#(G@yK1$Qn#MV~+b22tFHGX=}cH>a|Qhs>e=KVcsuZ*8g zj;!6uYOY-VPv~meibb4Nee##jN-RlD^?I8r#k2a~i>gY1*~xJ{x2XKlk~Zx1+k?@v5)wmwTJk_{*=WGkAR7cX`=Q zlRGyz=RIwE{PWu3L$y0t7!sdYmc5f;&-^m)t9`y@Y=UXYtp(>w7y?IhlI(*&D=~*TTAq|$C4zs?^vRW-~ZCP}BmTvkf ztA44c-!B!d&EM#G+tfp12hYs?Z)U3ov;E#JdEF~p%Dcnly=Cb~^Z(}gArq$0T@~{w zXy?Q~^Df&-D4ns~p8a;#+;Ht!H~&}J7vFTdzp!re<=mKN(s4Sf*PW$1|9#HkrF(xI zSa5npxU#AC+({2RAAkEtp80&LDKJeD}MCU z1eQi0JiY7xl7PKyjtec_;dATN)Uf-SIYH-dZCNvGmQmnU@9Q7;H>uo?%q|ID=ouTC z`8EEw)WK~A&qJn8Gkx!s<-Iyvjb|6@&x=BRvb!hiPMVq;<9{MOD&nI@g2mUD*}s0A z>D;|@(x**Zez;E!E1PDb@YBxmo$2-dIaL$1r-|D4_zFozL`VqvJhyAyb9^~p{CSOu zo%8PP`OTuE)2iD)JMF6WisFMu7aK+{DmpoN#}c7^dwcC1-`_F6@$2T#6Vj2Xmmam7 z3u(WJk^K_2Wu@7+8x~(fO+6%}Rv4dqAG7nPQ)7@$R@XI_(;b?f)_d}fHZHkk_3`vn zuUlWZHtFxH_~Deb&}EXi`0Oy<4Mz2HY@B_^UwmA5RC6cqCZoXBYrD3*Hm~(+c=|b6 z!KdoW=QaBZzXU~j?$mkz?yn59bhPj!lh5z2MvBN*8ZHgcsVcM9>&{Ehcia~0)zVmP zUmtboWN>HercaN4e~e5>R=;vKU(ShRZ}lzvHJ(zI-=yWP-M%_!t(Ny*nM#{&0elV; zH&|PEUq4RF^*L#jKd)oYrzKJrd!N-joV~FyyT^mqVLN}k(P^Eux9W41RcxBal> zj4b`hxtwpFpJur5oO{LlcvkG!7pt)FIKR$f!gHg7j0x>~CEF*Y#aN3K#u{@S-tAq%8()m*>?n=hmZ_>E>u8fgE!D8Ox zeaz#az-Za@mVL4BKWy0d?wZUho5#mCF1~ovw8izsqW-&G@>gzGMA=yX zNlsCFzBGwNVdpyLw$_sJ4G%7@-kd+*qDXOZ+x_>C&$r*4#9;7VeY1V|yB(oFi+(Z- z{My#I*!}D4q;spzbyi2D^DR;dJl%6pq-yJ$DK>`{)|yT?*IjsOZ{ddp8t%pg?o!2; z0g-V_)pBFzzV!D`HEpw78swX9=(*sPk^cMB8X8xpXwN-t8W1+^dSHN*{Lb}{I@8h) zowzY$g-)Ge8wZ2Kr`TBEPw$qP)~yO!-Ec5vLQQpb*}=CyzU!y$TDGaJ;E{yT1)Z#I zTU{%1c~^PM$LO#wuq-jp6_{?i)L@m~Yqt%wwOAIZ0UVj_8z^ zy?(}LWoTBy#u+WUUfi0Nzc|$EY}gGMjyE0t|{ zIacjjvSXIIi7G=wLOJIPNAErJB2E@b{X1B}esSsjYwK?oF1=Livx9v$gOh^Dg&oVD zES_v_E_;3h*KFH!D?dG3sJr^Qd)jCA-j~UaOag507N_;TQR%(8z4Y_H=qd3D&)Fuf zn56X6cKO+Nr+vC^Y^pl^@c5hyA040RyVWx^2+ZKjIOg`XyzKvGg@~IXB!=)we9rC{mow7tFqN5}`y1k^Oo*NmY zXup1%wO|$Z<;&eBwfQC84GH|IK{eB4L?*r2lGDk=&|pv^Es!y7{)CWgN@t98*8T`p zJ=&Yxt#bQ7!-VUnITux4*UrpIV)1fy?rzFU?yg_T2D(XBfa|8vL>KKS;TpwwO|eWP z35FFaGrvE+?Db^IDjRd%)m!?Q7@AV=+n?|((|7!AB7ZsUz!8CGXAg^a_nh7F^p1H>QLsi>c;td*Cw1;ucf=%T=5^W@O?(I&W9j(4n)>`(zzqdTIwOq2`dW+z*lkD5= zR;5+VmJFZLwRLyw3^PSx=ZKBF7i|)qvoB4ju;?|Y5Uuv8zkEeGdtLeoMz5rGY8F4a zdtQpBIVnAV^{}|ph|A+)Ls-|xM8DLeBhy#{Gj}#Ic}DrA$_MkwYV5oB*ZUME!J zYKy^wsjR_Q8~<8QkBRyJyq1$SpzL>GLHNRJ!s)LrP1kPK%G&lUZ2jw&eTOGVK0M^! zzFj>uc*)`mA-ba3a)Inl_m8xMP7J=chJ&N;_lxgMk>%g!)L;6eShFnkex~r8ZomIU z%byBYnan#dWkRZ#^mdN*J)=G@e( zki^Fc9;KHq>Uu7CZ@W17?&ABKrPi+q2~9Q4OkCn05UP4q)MlZkr}3+s-V^FR@*Ae! zIeygZ{<%M&MGrGDG%UHiDv6P!F<^mSXZ{=Uz~;o|b`O)SqCZ$v@mMv-)i}Bdw)vfV zw&=;?-uz7ympRQ_v}R4y7Va{`M=#I*I_JMRbCRE3?Sh}n*%S?g0~YN#c6^OyYYbnB zm8^rVme|F;KV^2c`pfTLB(1(__I|77(?q9h?&7XAnO3-fU-{#Q!(Lrm1V2a_`MtLk z3-@E35?6nvdevfH-G>)HuQtD|mU77|ED5nj~(*)?ZwSTP+T?UH(yDbaYz+HU0(SG!ytKi6Y3b0ryg$`^X(76z)aGPG>W&OXX9CF=aC`~x2D z+KrsE9g{Du&hwIHXfP1{B(mrd7Z*ofHuoeab@j(hyI0QQwpgeyAQd*fGb_4nbC}lB zpR=M5Z+Z3mp2_`J-PV4~LIWK(`1pL$?l$?G$H*`h6DhsFJ&RavW<8nN!c=+e zY4Oa@$Mk+0`UKAVx?zb^;LK=`o2|OF`yO=Fc7D~*|G3rkhs;4S4xW_rTb2tkEp$-b zw_5aOoPy=M(bvnVczUX-t66ZP=Uk6FU+S1aDKB#OA<4`mrb=4ITjl;5K9LgKw7gfG zn_<%F$1Ak7Uuy(R6`j86Ps_5rvb$F~tL3i-wMb51eadF*&+})Ng*ahDL)NM<^hGsl1krxzKP3f=6R{DT-2~iOM9j9!{}X6KVGWJ@4kLz{RNNE zD2+!qI4k4!tnb7pIPk`As;PJ^bL7ka59f04RC>RDYS(nsFfH_HcI;!%bpa03 z?_4f9EpX>rmmo`{@iVrov37f&pD>1fBJp!%ZZ2c{>|Z;+_}tp|v~tq5>f0R5%Qr*{%W(I-x0oB}%gAunFlEQ|jSI6b8GZL;aJVG7 z-~N9!3L7_CcTbuw{&X61V#dJ)uOj23&t1~9Cs{UM42ZwJBYerut&z?b=PuiB zGu6~6u-7M~?CQb%ZL4jS^*WP`qBT_)Y?cU!55K>IZ{JeYy+6VVv%hu-IK7C!u&%)E z>h+V2xhK>X#;`hY?P2?xV$)L<6U*M_)~0eIgrQ|$_jc{SFL&m!GH7^rFSU7o!EW2p z?Pj7Y7*6cERh3{I8niKjmqDf3(@Y~|$z03%LieYyU}#V)d3{QM$6jm2?M+OxX0F}3 z@5{sp){tf=MjbKl&oSng4|UxSP}2(6%zAw#$99pEP8b8jg_%5|-N(B*_DRkcx_^03 zvHOeN6*~=!^`4k8G(?4{rG4k(GhNkjch<_k-eDoBo}GuT*DlyudF*JjkST-4>Q%44 z_Vm19;9{878l3)j(T+pn;<>A|K7N>0vP*5<_fUvtGZ= z3ogu$eiJ;Ci=%IAuV=4Eh&ST}A6A>COMI5)t^SkAwX-R4i934$qd=S3G&j?usb{Uv z-C7}{5Wi-p>a5P|KOz&4b=LnWQ{BE&x@Xeqry_F~X6CmPhVx5j9*gXhVtA3Zclo~i z?Yq9c{B(~#8N32@Cx)1xbC`Tuw8YBU*!cF%%YhRsS1ia3 z5BYTJ6Px3KB@Shu9xmbPS~N@d#x1e<_~!G1znB&#RxbSJzg%$Htgt^pi3|cdw;7F> zl}(;^PjcdoEl#EPp60GzXUwh zDr=Bh67KosX!}(Wh80JSrn1G_R<67*tgXQi&@H#L<7_qmr_E1iNA3DHd)tr20n$Z67S2cKxL1!qwY1&)r*n;mAwoHI7;nS32s}O$$zbEPv&yQ^wP4^`AKOw{7uR z($@B7O34Qf&O&2z!5iNt4D&yx<7>P&h_%_?*l=nP= z#W#&tty;3?+L^Y=g}Upe-j@oVF4lc!kIl-K*O{}rmul&Mop?ue!}?~2gx9u7H4L8* zZvFjKB=eD+)sl8gS%=7AJwbCV^)EbGUZ1*-h1K6cJpE2eC6 zUI$7Z%xzgJ!MYdGk)o!q*=nAHVs0&gGttGH-8BPY)08*B1<*{-iHmCigGz8PjP! z#mDSXcAYz;moQDbUVG?`!Q?5)$K^weKx%tzlo|lP68t z^XcceB_fv_gv6h8q+HcyH)CYT*z)U9`^#2+wH02)MN|3q{oBTrsD3|iah1uDSpT)5 z*Qa@D9=~@mF3cvFdwbpEcB`&;$DXgcrKRdMZFY3#-M#7Q3lA)dzVTz z0+%FBl9Q9)o{w9&&LCXvgRGFht{2nLk_Fcwb$=+c&TL?T@8jyiOgmzS8co^TUD& zPKK|lszu)K|1mS|;(8tYc>cwmU2A@nZ1jqa(=hwMAt&_c`58_9HIF#8-o<+91)EMu z6~7eQ)YjJet;}?-msRnvyh7W=XXaLCRvNu@tlR6_A0YqgqVux3+`Pgi zYVhV)55KAYzUjCAT)*cTH+?}|oBw*XCs&ydmT^hmp8omEyT{Lx6PC1wdz33ZO-kzQ z5~*lq*>Fi;^@(|(0V9KkSFsnbjdMFc@25@6=EYeReVW&?>8<67wPx?UR;hVz3+wS} zU9scT6=jVj>z9ju)OonE$@|%Tf8A-!p{t*iy_UZ;dvd+@)-8{ovWA8u)0(`u@{_vZ#EIAEZLKNe zyLBt6=G*7#Y_qN>Xn&Dma$f6do}aq4;!0oIL(xah-g{SM9(C9-*ZJ5t(=&bE`rGAA zY8NysZr|)b|Jd2D+*>Byt-bI?l#yXp?|p^ouXe1?)c;?j+YmKv?w1uCD%Vf*3W~^k zWnJ-O!oGRWwrbYP?VAwk%NROydT{DPbCsHm4f*MNA4N|TG@NxefA5qPT}m70rN8I^ zr9;PSt8c<#Wz^ZnDYd2mQ|??%&y9zp+>R=RZ!C)0s~ed9nq*=Fi&o8N5~C*7q|v_qT50 z`&(dR{x9UrWGm(6b&HuKJb%yr|IJm}qft`c6sm_ zlkeG7yu5#pyG6i>;t?2|g=}TV5_1m*R>zbTi nyl;iAV;b`FQLqggpZ=$Ax4rHYp=ij!z`)??>gTe~DWM4fj9S7J literal 48432 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 diff --git a/src/markov_ketju.py b/src/markov_ketju.py index df9935e..d7407a7 100644 --- a/src/markov_ketju.py +++ b/src/markov_ketju.py @@ -1,14 +1,29 @@ -from trie import Trie +"""Omaa trie-tietorakennetta käyttävä n-asteen Markovin ketju. +Käyttö: +from markov_ketu import MarkovKetju +""" from collections import deque from random import choices +from trie import Trie class MarkovKetju: + """n-asteen Markovin ketju""" def __init__(self, aste=1, trie=Trie()): + """Aste voi olla mikä tahansa kokonaisluku n > 0. Uuden trien luomisen sijaan + ketjulle voi syöttää valmiin trien. + """ + if aste < 1: + raise ValueError("Aste ei voi olla < 1!") + self._trie = trie self._aste = aste self._menneet_tilat = deque() def kasittele_opetusdata(self, opetusdata: list): + """Lukee opetusdata Markovin ketjun omaan trie-rakenteeseen. + Opetusdatan muoto on lista, jossa mikä tahansa määrä iteroitavia näytteitä. Esim: + ["ABC", "ABB", "AAAAAA"] + """ self._trie = Trie() for jono in opetusdata: @@ -22,19 +37,28 @@ class MarkovKetju: self._trie.lisaa(alkio) def aseta_alkuosa(self, alkuosa): + """Asettaa alkuosan, jonka perusteella Markovin ketju luo seuraavan merkin. + Alkuosan pituus on sama kuin ketjun aste, liian pitkästä alkuosasta jätetään + loppu pois. + """ if len(alkuosa) < self._aste: raise ValueError("Liian lyhyt alkuosa!") self._menneet_tilat = deque([alkuosa[i] for i in range(0, self._aste)]) def seuraava(self): + """Antaa seuraavan merkin muilla funktioilla annettujen opetusdata ja alkuosan + perusteella. Päivittää alkuosan automaattisesti seuraavaa askelta varten + """ if len(self._menneet_tilat) < self._aste: raise ValueError("Markovin ketjulle ei ole asetettu sopivaa alkuosaa!") todennakoisyydet, merkit = self._trie.etsi_seuraavat(self._menneet_tilat) if todennakoisyydet and merkit: + #Valitsee merkeistä yhden, valinta painotetaan triessä olevien todennäköisyyksien avulla seuraava = choices(merkit, weights=todennakoisyydet)[0] + #Päivittää alkuosan seuraavaa iteraatiota varten self._menneet_tilat.popleft() self._menneet_tilat.append(seuraava) diff --git a/src/tests/markov_ketju_test.py b/src/tests/markov_ketju_test.py index 3c5ac4c..4426b79 100644 --- a/src/tests/markov_ketju_test.py +++ b/src/tests/markov_ketju_test.py @@ -2,6 +2,10 @@ import unittest from markov_ketju import MarkovKetju class TestMarkovKetju(unittest.TestCase): + + def test_0_aste(self): + self.assertRaises(ValueError, MarkovKetju, 0) + def test_seuraava_1_aste(self): ketju = MarkovKetju(1) opetusdata = ["ABCDEA"] diff --git a/src/trie.py b/src/trie.py index bc01329..e09c347 100644 --- a/src/trie.py +++ b/src/trie.py @@ -1,4 +1,5 @@ """Markovin ketjuille tarkoitettu trie-tietorakenteen implementaatio. +Käyttö: from trie import Trie """