From 4c9425f986c5d359f0ae8ee03f845f37a3239fc0 Mon Sep 17 00:00:00 2001 From: Cyrix126 Date: Thu, 28 Mar 2024 10:34:53 +0100 Subject: [PATCH] feat: beta release 0.1.4 feat: new logo feat: algorithm now takes Xmrig HR timeframe depending on what's average available fix: detection of p2pool eHR fix: private round type stats fix: name gupax tab to gupaxx --- CHANGELOG.md | 17 +++++++++ Cargo.lock | 8 ++-- Cargo.toml | 6 +-- assets/images/banner.png | Bin 38809 -> 66514 bytes src/app/panels/top.rs | 2 +- src/helper/p2pool.rs | 5 ++- src/helper/xmrig.rs | 7 ++++ src/helper/xvb.rs | 78 +++++++++++++++++++++++++-------------- src/utils/regex.rs | 4 +- 9 files changed, 88 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 87f2349..4023d32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ +# v0.1.4 +Fix release for beta version. +This version is only made for testing purposes and have feedbacks. + +## Changes +new logo +algorithm wait for xmrig first value, takes 10s value at first start, 1m value at second start, 15m value at third start. + +## Fixes +fix detection of p2pool eHR +fix private round type stats +fix name gupax tab to gupaxx + +## Bundled Versions +* [`P2Pool v3.10`](https://github.com/SChernykh/p2pool/releases/tag/v3.10) +* [`XMRig v6.21.1`](https://github.com/xmrig/xmrig/releases/tag/v6.21.1) + # v0.1.3 Fix release for beta version. This version is only made for testing purposes and have feedbacks. diff --git a/Cargo.lock b/Cargo.lock index ae3c70e..b5ace80 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2064,7 +2064,7 @@ dependencies = [ [[package]] name = "gupaxx" -version = "0.1.3" +version = "0.1.4" dependencies = [ "anyhow", "benri", @@ -2549,7 +2549,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ "cfg-if", - "windows-targets 0.52.4", + "windows-targets 0.48.5", ] [[package]] @@ -2649,9 +2649,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "memmap2" diff --git a/Cargo.toml b/Cargo.toml index 136142d..0543f23 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ cargo-features = ["profile-rustflags"] [package] name = "gupaxx" -version = "0.1.3" +version = "0.1.4" authors = ["cyrix126 "] description = "Fork of Gupax integrating the XMRvsBeast Raffle " documentation = "https://github.com/cyrix126/gupaxx" @@ -68,7 +68,7 @@ rand = "0.8.5" regex = { version = "1.10.4", default-features = false, features = ["perf"] } rfd = "0.14.1" serde = { version = "1.0.197", features = ["rc", "derive"] } -serde_json = "1.0.114" +serde_json = "1.0.115" sysinfo = { version = "0.30.7", default-features = false } # tls-api = "0.9.0" tokio = { version = "1.36.0", features = ["rt", "time", "macros", "process", "rt-multi-thread"] } @@ -80,7 +80,7 @@ strip-ansi-escapes = "0.2.0" derive_more = {version="0.99.17", default-features=false, features=["display"]} serde-this-or-that = "0.4.2" readable = "0.16" -chrono = {version="0.4.35", default-features=false, features=["clock", "std"]} +chrono = {version="0.4.37", default-features=false, features=["clock", "std"]} # Unix dependencies [target.'cfg(unix)'.dependencies] eframe = { version = "0.26.2", features = ["wgpu"] } diff --git a/assets/images/banner.png b/assets/images/banner.png index aa8870efb7c48c781adfa9481feb189c51f990d1..bc2a98d1466fa6c2bcf233862abd98f27772a3a5 100644 GIT binary patch literal 66514 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�ry7c;_C)-g^I& zZswGJ&Q!iz;0r|&WXYVAEF1*WHc?+P57_h2bPkNg0nZ-lX!U(kQx0N-5%eiVaVGBk{AtSR z3CXHVy-|e#T&fvKsmZVmn2y=rs<7UDSLM`y;)Kms>NqLM)}`v=(pdD4-AOC91H^@lRp?{ z206d#!?o;*m2myx5e1oJSD+f12SvSP7>scX(lS+>s>`g+qYHu*(Y}7^Z+~JRUw0Qo zwfqr8pSl+Yh38-gz5ov)UsB3VN`B=;+=28B2t@iCzeZE}AfR`n)9ZCZb8oBb?CAWW z{ABYVcWt(oIiix@q!2iyj~WG+A@eG+h!~iV7=Q`0>c+VXGq+Zkmu_sR_Fk9C6yKZ0 zGP5)+9#Qp2&EON#{C+RnwRbmS2!G593JclBjT>2Uad7~j#C*p?}njSD{Rc^H22L6%;T!SYRVR`d5V*7Dz0 zHtX8Lnez)15)1T7B?oD>T_*sp1CdAYm|l&n-W!#dni@W+^jE%oK7 z;ys_gAIxTZU|hM-BHxK$f@lPu8<)rwm@Nf10rOQn%*djLd`_P*TQ+WN=c zTPpv2aJQ4pH&HEG#35NokXr;X`{X|*77+sz5(A{o&o?C`!VJ-D*!rgVju|X{Rvb&i z1|kcDU<&4Ef{zI+!RLA%2NXhRN7{On-Tw8jvl)vQvzSP&?jdYS2e19V0& zKL30GdKZ!@N~!%GmN@v?!}O=8t#}#JU6jHKvQ$hvyD_d|-pu*hLQ`S_X>0mCFvu zD|T2SXrKByF{^6;^c(TMJ+b0ThVLy}ZW4mYC;!bByVddB{vGsz3h)m71|7K*v{`2Z ziU3Cd1F;g3dz#pih=DQ000NiESLWnq<*|jvLe-vRCCB7FmY;oIvf#HM_?X5Jd=AIN zl&?&Its=w)G}G6HaE=Hv>?6Q?fZFjqPO8Wvb(J^$S{w)zRuq>|61AOskh;#^y_AnmQg`^&4HeI#@J`*`{cz1UG_@_Qb~ zJ@|v6`qKMa0S<^+CAvA7{0_B^LF>UUESijV-{%INB;4chFi;sR4?u1Zf(e=iMYecB z#6XlVz#$2J9N(^=scF@M%tM&@0p7IW-6Qyz`WAey`6xY#-s*3072P=DIBY|w0Bf>nBjyFnSz)yMg)i>245GM7Dv_!EUkP8 z8|&*nEIHEn%7NXsQfmicU(gMFWIY$}8Y>L&_diO$J)rcIu(Roe7K8l|0F}PT;D<6N zlWA~#}_?}=6`U1IbeVt5GM)mh?T;;jugZnCG-5R0|a+l3T2G3 zR);pUWUbD4<+LINH2SKaf4a7AYfEh-PQL-z01#=%Sevvc^had!M}XAT+yBWPT@6cp zj{6v<=$D`gL703BpF1NdC3)4d^V`1v+524{VWIV(C_|yB!_a!f7%0|&58Hs7d#H^} z;(DfT{EhiWP5GTB!aO{}9>FjILlHGIu`r?VCG^=EnZIo#C-qgF+P~lob zl3?_m2&P+xY2$iWwSjh&;B&o>b(rl7pv^DBZgdh%z7ofIU_;YjmLJ&I$#b!%;694* zbS4A?&n;lg3?+9QDkT8)phbIY{X;<^b)ykFhk*TG+mo z`6Nolsi4RL2vO+CCtF)Och*$*9{q?PtwQkkC0Y4t*efnZBV+b{QBc&46{S^g9Ng3L zZs`$Em=H%E-tXbXBuz5xe8z4ak4J2hRV8AJB*Xnmadvj$ zQ)`bOd!xo-Zv1D-k>K4qFuVZXd7fjPR)|!&CxQ11a5^U3e8v<0^-7ictgQU(m%n_y z%0`6HO&#}0hP9=-BXx^o@#`po#H$iadXm~ASr zoL-dmQRy-3hm|FvYFS7h6>CgBX`uxXjtDX_!at-Zn4$1b?)5|xJRzkM5$!!J)|mEZ zq!0i6=9}5Msc{_hx{?sFm$U_98Dk6}J2~@pmNMRTI`jlF@(0cGn!`^?^ddddw)hqOUvLs*arpxb5m6KG-(Pel?0P~BuW z?bH4A29QraNYWuy!oe>Ig7xtgR_5N*!psm97&S7c+Gk0uza%>;LF+$`*1J0()gY!R z^-`G9jv%7t?X8YF4>`h)z9h<(-1)ir^MM}0zLmkfZm@Q?zk9T}@}+${I`+3U_&ov! zW)1F(csxEZz^_J%JU4F0NZ5I|!Jq}UkT5Ozl?y>v&bTxo?o=4_MZV4_t4S+~BcIicz*XyAbp^(Y~^5$5> zyHX}o6vih`DO{HL{qHYdUWJq&CFrF;81J#xZ?Qk4$AHM>j}(VeP<3uEk|wdufGmI@ zxTK9cMW;9XblJISWo<1r$GZG%h8qR-E!NWO#N0+W91>&bIuYI!6RfY0BoIXve>e&G zya`h1qis;C1X=sh7*MKA!y3GHcCLOIl2mu3;u)|H444FpWsEU^xO+^ZOksWtj8^<4 zOYJIZ#dO&*kEO1VtJdgwzrM}I?1$S}$HD{_KQDnPRMKt@8+I59fk_(; zs?;J9{!u8(>+!bGxoqr^(;zxaCsq9ryORg^HbJph3avj?(_-~|aX(RaWC38nac^fK z5+o3K0AAcn^{GEN$JaQR`RyuJ32Oo^nEZIBB+EW!>Um7VRmqvH1g+x+Ss_gIa~Y=) zZVNAOZ!_}JulGAU4_}^d{ z;3*!N_X8=Dd8dNGr=UaE0b*7$LFpfho9gTTd3b-rwMFyOW~Zd3%Oz65-?zc=*>j#E z?_>MR$MN&nc*%V3RsN0_+n5@0o6YzH&-;L}22KTG`(?oUL%2Q#5Od?8@zCC4b~>yd zojh7;bvb=k&zO^ol$LtRT|XQiguaeG(Ua1jb`4r%KKrFo{!wqBNUdMWt8nT&Ge=hb~V)XF?M%)PucNMEyafI*pkd#IfQ{J*ti6xIfw{vvRN%} zfWcqA=@XH`A9kk13WNdv)|(L)_#-*|Zx-Vv{4Gx12#8q*-{y8XKPxXO`{76bsd#qx zR{Mh+)>eLAUQ%j>dkVSU#NezF4MWW4!}$F*i!-|7U(?+vms1%`Gh+pD$v2XN2dD%)!nCe*Xmjw(D8* z6g^8>!|HzWE4DZ(Ey9lyn~Mbuj9U#{EFcd`Q)o@OP1uYY(Vsja`-Ggy>I?IyW;fe9 z-4AX0)Y3eB1Y|NXBjzPm)EE>~fS6I*>|^mGB;<6C&W<=j!)jUe5KEBbl~C6rGw+jyOyVPr!PS76CFCMB^l{Y;CsQ$5;%scSKIU)7 zR?9=9Z`&bRmhr9J__%ZGca<2LS?lJMLM==BLj^k?uVj_*k(WU$kCbzaQ-eI*-^!ew z9_G+1m|iPqG60*6sV5)$o}EVp){~g@e3<=1P{6h!a{dCy71GIkzgvt-3_fZ8)u>DN zlR7GpEVH{1_ez@lI{4V{14HkDDL$+WNO{lF)J!(T$T%|drxP6>X8){_)%^SI(~2_-AG28Km}R&hJA5Fb#dfKowZf8zeKE@ms@B+ zFjT>bb@<>rks7b^J}~$Z8%&HfMC(f|k-L%KDr7gEB0-q zB*_KRf5pz8+r<1{F!;pe3zMFDBopff6HmRXhR<0oJc`TNx!21)7^JOu~-7hhjw0_5J_wd|fl$lU06A1%?O4TP4;!cl+ zBWCqIfZ*TSM6J&7m6>yM?>p-}L+;QTecJeYnEY6oh6Z#bqJ(6u3`~H25Zgh5CE^55 z7a5p*xtsKzfsc+5g@Wm%>I|TY0>YYcQTY2F1A`By>ED~N0yVQB(S`$HfWa3v_%S$x zoI=awNpqOQxE!mD;!S!GjPC$fWQt3_c<$N8?1HOYaZ0W3k|Y-Yn<{4iu%6X4K}$|% z^)QX+i%iS{P5Fm*FZ%$d{GMDe^2GcTvrU@yQ-EVy#M8m-&wzIRAT;*J$($b|Gh%rU zVW&rGJ4W~W=w7^Tfi`*p1>jDEm`E;RepnZDI(gQbu4VQ@1M?GuPxm#un00+4tNiW} zN%I{=b2Vq?6r~hoFI7*=nkt8t7U#26;uQu@D$8S%_#!4z!(>1p2H)%V`^wF&9lt-Y zJ)+h?`KAP&&?c-jmP1YT4c}V(pT7HK46gCfbV=7`89Z+G-_eXUn)mW+o?!7BxWsVS zWc>bHp#Xml&x=_G--q>G)zQ}a*L~Yde)idirx^Sm93AWI;BWlkpUtoC-+8jk+}cd< zLp1R>indAIdNBaz`+oAj{~-W2Qn6W(0@}5=zPe`hXa76d!{GPs>AU48ytlsl_ww~+ zB^9l9dn^kVlhJQVWBm(!%!-&-#_{*Q5SvIBdo^MVh?@KnqYmE!Kq=gP@%FiKt5pHX@Z9zUQ}xk z6JHI0SMce=J^VAq|KK@4)7m0Rpbs??(hekOwVKi$ae2r7;nLK$e*n7-a$7YDJb}?Uj0ZUJwWsIA)(65)v{qB-2 zDc5jb>raj~n~`r%a#=b{)<{{3PR>lT6IeR5?lqWsM9~VE%MV)UdM0*CV*aU;mr0@+lf@1H`=c#QjjtWpS^M;!Z9@t5xm6oK zwp6yam)$(~49A?*^fVQMu*Kk@Xb+tWyw8onzIAtrV}bp#y1e$+8$W8?)!aPjSLASq znZNsg?=;@O{Cwx-Q)gyn8sp+)){=t3l7jJ>OyT|wt6sUDU;Qior9J!EZJ+!*cBew@ zS;!a=nf#DZHE2aY$i`#%IIKmD8wRZv#S3YAL)_Pj=I1AAv^Brl@L5Z-r73vxp|5{B zU`+E92cdxaNZ!!!d1DDtM9)NPns|^Zz~SJ5&54JMNgLq%p?l;=f()Hx^ov2EQZ3HN z)`H0=SCE+1C_S?L!Y(>kf-vQ388P-h2T=50!Oe)HKPwaO3BioM-@KdowW&;_OO_Pn z7D-^aYD!MCV|${)wE;f&E5L-$12$InV1xqTbr<^20_NWabABCy@%g}r zdr$qsL!imc+BY>Z8!Q3jh_$LN?qFUp|CH{ItO2Aj`InpIOo{7yq}+?|VfgVYMF2mt zo(jm6%y1WgRY2p$R$X&m;kmM>^QIJJ84U5}juw?$n#vLk2~Z$PnAcJZhZ{4r_eD&W zFby#@h5JO43F`6I=GGVXZ;z;jRe{>T8B{8jkVG!lg8z7HQ_F`XM`B*^cxp9<@z2WC z9O)g4&Wt}JJv%AGV2D#84|y23i&eWZaQyDO+0;xJaG3*2ZukZ9Kf&);0Wq7ZjWo$S zYO1PV+P|~$^l3{;0|Y*xuyEf#b-HIWanoYRq7ZTACU~PFQBTiw70E2 zd9?bmO&i)v?dD-STCiYZ8AnV&qz zJj&O;wRouqz_^E2jZKflr$!6|vAEzOHaH;~;vTu5@v9#v&gyl*H2^YQ7QBGLH(WAh zW?r5tN%zN{n`>S^y015JLmLul^2yR5mUh&==npZg%K+k93~klWyzU1a53YW&4OXdL zS#vtEVMBu@43kgsA)p~JE=|tp*xpndEMN-m=9nF?UUmg&38xCCm{+0`{|A@}h*_b; zm?0{L9~@xxQ|5PR^etPNw|PI4E6-*cl?KH6RH@0*nzTe4r@Ly}oX#d&XT8sP@?pQ_ zvum&ceg!kF44!Og^!W#ho_x?^Cx4N1Cq=)ec{Oo$GC15$z zkGMM*U0OAbDhR&ksw>uR@(WVabVei6m&U5k@5lxy;9W0Vcr}}9N`Y?3p<(yW}!81~bjkI&nKuxZQ%&VB=dml>AIjCdTe?3KDO001BWNkl%fII-%r3TaBBW-sg-$!}1{s$OXf=?gKfEhnuhu^6}AcD+r zrzRvNePi}~^Y-<%@MMmy!v6$8^SxwwX)|Dj-HCth0?@l4mT`!IfRBFaf-XkCb3gO8 zCV}yv%i?rKY{9%#DOc#yj2caTeEek!N&XbCd-<`>=91rcHmoo7`^+nO-V@NUqi_hg zmjfSs0|M&R{=JS3s-NiA2A4CbhGeqB70UCxzoEYIcl#sj zi%%m+HRz?M$1Kd4unySq)&?g9!y3t?Cw0+-ZCQ2xY*pnKeTaO zN1e6(t8eMFSag7D=bCi9o__dgETL+W($Qr?OjdKRCLw;`II3a0cL1cz54Fdm%CnVR!* z%i}zni&Feq@V`%>G=4pcp5x?9pyuKYQf$hcq+gI*l|sRk04luK2`zpV zdNhU=i8g6Z zrwzOJZ-9AIV!dT)bdth^1m(3w3rxsPke;m78fxZj< zdm{K5iu8It;*6y;xAZ|K_3z-Hxzo?x^C!VOB0g~R7!aBK(c=*2EEIt6DL2wlY{lpL zV>CHt+I$)gNeIb|Z%#@^W}YcA;evvxweKE1)Ow(?ZeF{~VLaSUcHJ>kNY%0#Kp)ue z0LVXo)E`?ALNvgMA}}CAkO=U<0JZ`K|HyZJh&nNH1U3|Q_(jR7so$En#A$W88$PKz z>2*@5ae)imq}eqyBFHNgnM4nR=bY*ea$^xlOXcF8WHugrWkZ-RxZ`r zMS3lHvW$mF!4jwQRvF}cD+LYZ0(tWAzDXn|rZLW8 zX}OCztu~&t_Ja;z(iIgwa3Ak58He~pFX*)T!2qg3VhIh$y&45 z@;`e9%0VCF9{y=W)}YvkFc=V-{7B)MHeVkrMV$CI&?KUE3m<7ecqkO;h&FC);Dz&3 zGE(<7)+TuT{xi==%j!rjUD(Fv9>aG|!nj9Qv9r?B*p_;7;~tYjgwGcMN=JxDpDY(Z zn@m`nYlc$IEy>7{=9v=Y(-M<)h?FIqIxIS9BMyPAF3JEe1NH%i{>oF_?@qsk#c?N5 zmspQc3rs>Cnp`54t;j9N^?|!awuh#FlpGdJqYrM174g&AzWZ+n8xMNfjl|*-UpD%F z6P6JPk0@Qt;2c+|gN#DGuoig~oUPmeJabqnZ zTt3~6KOCoIGF3h^B+OuG8MByD6;50$p7~uJh^9YS80m&E{?a9S}DgZ4! zlI+la&L6+?r?MQq(S$uT16BxE;M4t8oG0^f`i2R%hvQijuFPOFSl*pS+5h4m231kV zF{d^UgCs}eTL2`ai@Acu%3Iwo*M{P5)ckpEh0hb=SICJya9eYo{~P~(tLe$} zE_ESGLvD&zZ-n7dl-3))4rB2ehCaPWOXzQ~c6K1`VCnC6Zn8FddO2!^-pr6Ssm(V} z9CBB5m`i`Q;zIjbS$SC+DCJ_1IH7d_#R&Ht_yoK>URWyoTlxE*;F-$7mOcL`wyl9= zlVXWw42VpAgk~r6*#}w8J-;BPY6D)15AX}-A~u)`V)hfYI{k(D)ATT1d`c#f&StYu ztc5ua5gQHs{ZBfW1YPGqZzvsX)&D+WPwvg5v&lS55Lho2$vK^$!SghK6=2hziseTGm+>R|KM*xDr4<>01}Uk zxszdf>0g1i?*`C1ie+IB2PH9~p*ICIj+bsEW;DDu0*rqA6y|qAM#y6ga6?bG9NPZW zj3OqLsaRWMF>_fFPQ`yZ>!ehX!Az;kI8y=w;>qNJxzMQfEH!NgYsOsJJ9W(K?!Y}T z-jXPoOkre7==M!X`7ACj725ovpWknE@EfOqf)W+1B*VS8Ut{5&fS+jlv)jL@Jz;Gh zc5ex<<z7t8SKc^hVFA1=%AVi7y)&9)?9~TaFGL4Wb`vrcp>He+ zXLkb{j(ux2pP#H}GOQyGl1RoYD6K*o4yFS`m!J;$hYK5!0S^qPkaY^;|43G(WJ#nT zF33)Uw4WZomvuVbe1)}xxAVwZ(NzTB%f41Pll|k`Tf3xhfn|p-$Y3<#0WINH%!l30 zFLC-pTnO_;4F^jjuM1rITkN(@WQM4EYRiVU!VFA@~*$)+CVseW|&%<+s~6RlHKX$JHInDy%j_txN)&jSba)^C$1s{b=bq z4y4)3P1I<0G3ttg%v}7F7#k$$k{7YNRkEfu&(>Rie0sRuwpy?jX7gV8U8raf>j{7X zk;#t`l51TKRaz?cV}eGbCxHg)jMqY6K{DYa98mQ9jervX()NT@XdQOb(;zN6Y9lYC z8zWeW7=2h&}B6s3wzO`pcJ`UKYAn$Mi}Hkj|bm=wPLdSeEQPt0Zt z1#LN9geh$+TAhih^A`oQ`c8)h^}XQ9kv~tRV;T*)_l}TfK-&^+G6V)AynlpKYjL?8 z|2%S_a&uL=H(*d7rLv>34qnBuF6!FD0}?GE3Yi|K=nO{qzfQ@EORV{z-WaIUT#<64Y6a;~DrB3^$`0 zI5I=1ubeh34HkkP+RSO?AkZP$dY*ZGK0i#%eNL~(XY;syW{1OD+ScOw;KX59slAiF z@1x%T2kSe(2Fk{OhZf!=H;gCb+9W)V0*ECtuhEF#baeC<+&?E)aZQ@!YNTp=t9W1K z>P?@Jph%EHlk)7otit7&dp29IoGunxX&%)2ahpbG;clOMsA@T-nLvKJ)ZpcX&J$AluFe;d%x zNi>3w98FV{J_R|&0#J|s?qgor5hnAN;<&5}d|(vi?m+OeoWRnmQP=pnmId8rJk*k%V#2GTc%N| zHXzrlhTIWkQbfdxB9VG}@KOJdtQoceUImcmeuO1JD^_DeCIP|4BWz^UwWf(^l>r94`jM>O0pDrz8-Wo|KwOKx^3R_xZ?2+U|C{J6ul3 zO>-964mUSgUfI8+b5CoN52KFpc*OmND9{NQIft23p7PQg3@J>nPh>8a9mXJDXzmqY z?$s361pV&M_!8Z#)tUkf|EUtF*1vAZ11GKSDgXSC?;2G_il)D@vb5^0Lwl`t?$HJE z8oncb8{8ufq8@#71bsK@eMwMj^_NbWQ8+U>rS(e%(_7b z+-l6~QYP2T$MhEA!VDZ|;eT@1ig{ea0mx5g`W+CCB+3=61-|pqEL6L!5>TN% zlww8IpzkFtUPVI9&jH2!PoIQ&55CDy-`iDF{5xhC5Pn6E*-)eZ;J+L^$X>Xdn0(#} z(&0sX)JYRf{`s-~_L6p=;8Fld=V}1N;L~qi_i-(TLC5vXFKcC5hj-Tb zSog+Gn^quwADB*JO-_+i^gp4b=ktO(HZbaHADJm8gK7WEk*x4{hW!x;M0gmf(+(-Gz>oOZZZHL)F85w+Mgx z0iObP@qc}*ot0H*Lt-=!3o8fbpt0wB_9!~0?^n3bpnkr;SDG`<$q_v$?g~ohA{!dmAO@05b?BFliC7|Sbk8sSPikc% z>}W$E==s0rmp&*-OzTU)uMW&VMXbUv)8b=I|LZ{{#k>R_{ftx@H39gi6YJQWNn{1e zc7Pc^f?pzf#;|mKxG1+X0ZFW3l?WeBsCuA2#V^7Ia+z9%G9S*JHfZrZ5b%I_Cc8@j z*)j8h{Ke$10h?Ez)+lN5X+2Hg!c!_ZE?%wCk=06yPNy}hl$AgH>_d7V#S(E0j4J|b zM58C)>BCJ8_0R9#R{ud&NmQAK?hev^Rt!|`YgqvNs1kzkd8tQRKJ_pASGb#qI^NX<@3S0!n6 zTAfl^_5Jnl_pckq8Oq-sD1K<^I~{l8zv}=n1B*>x`%s5Qf?lLSHks6FZ9#mZab{v_ z)eC#K*`g5yj{5Yw^DZ-9HGOtA1o3f^G0_ioq_I_xGEz;2ATU|0(;>!F)5Bk^t6f`D z7Hn}CkxtKvkLRAb@S2P>GP2Xj8nvs@asU0HajXE$U~)bWT);1g221F)5e4Gt?M_GFt%a6~adLMvQSpa60h?{W2Ef4z)0V@!J0^ha(^eRxzbEg=3 zV(Ps(Cf7XDY;-{&qH;i;FToXJ_K8^|wSL$CbiV6@Ow3vY{J;8iaMB)pZ__*M&ZR41 zOl3OEv^6AIB@_18(Q05>5c5jGeR>7>q4y(bjZNAq>^E?V77ilJ^z~T_rE-a^{O6y4 z)ZXeN8Jbu`41|UOY|gCI+|vBY{+%^%96LyRwh)B`3CEyGKY+&{#y5hjwZ?d_hr|$! zltC%g5aWr6;yg04z?&RWM??=Gzi7$^fR9(;FOlB#6@&3lL@ES9D-#9cRQo;=fFO!(vWO%mh_XRjV7Z;sFlfB&PXOr!;@Bslf} z4#ksM%Lf}cNMDQxIbNXUC#W}jC3{Tcz`P7{S@dp z{#NEEcS`>nC}l?BdOF@wG4}lre4WG+Sqv2X`Dyk^=?R2OlQ@`P3T-~O6;BXCYZBRk z4BZ;-hqOVFR+Y3BVVY(nNE`lPj>e&9n*QLLqs0cHv&i-OVYnFCi>8W30Ao3 zyD>B6$Y#gZV`$_8AeM2C0V2Yn1v4PNLH2jgST^ZQD#!WsjcNCZTdnD6Z++w7?#dSr z>~zw`AV8sSL^+_rl%7oyLEi<$oMejLE6P=kw4X|HlR@kktqImMu%OW=fcYT?i2VA= zqK3}Xb<(~;^QQrW-y;Ag26G}3>=9okgl~!@eok(|^1ohlefk-hL^gz8NHf^w@!*5o z7P|)rHvlFSgWrP<5{4&fwT7GLE}C-Nf+gBGr1Oka`M)LSYOk3-D+igE3^XU9w=2lr z5qfu`P?MAoGm=tL5&1sns|C{|hjc91-(P-p+PsvEv8uGXCDD zqcBTilc8WhWb#A7(g^B&>Ft*o_xMjC(4sUt{?+)0h@FYQJB|QX;w@3Yz*}h33!2l% zeS!bTWIx)zw^0~`*kmvUK#6e~hPZg7+)2JFZ>lT|$}G4k@pzJ8fKqZ%#O^=u*;e|y zU7KxIr0f&0P%x$jmNy3uINbm6Ke={^Ws+k6RuK%Y57RS^rYr7Vd|@1a?_(ih1io9S zN4p>ow=c=paBwSNLc48|1qlh3Zk@lhU}aX}s4emcgVz?$lwUPtPHLLLXbS%u68;?_ zO>T@;qIg2n5>ry{IAeKgwjweanV&iL62s!moOA?`p3rNydn$?1zlLd?SF=OKxFcxjd7Wq%-RoNpZ*aZC2CZojc>92(-eGBuR%o3#J~WNSo6~| zGY~0Um#vNr@i8$lBaR{%17vy*AM>_nwr(hSa_2_7*(;bq87)(a*Kz>R$&kSSnNyHn zmXY{TP$@$&PQ>Hbz(6;JT+}{uw#y8E=wVR~ZZ<1{Vjoa2 z*+6vJ$xBqv_8$ymuj#oGTb&mppmFmE*Acl(6hbS~P_?4h7NhpgJjZS7@%=spx3ypO+DId&Q2{1n?@c;+V%0Wpxd;GFR{(9!jn zMy^vRl~+xhMX`)VR5bWjOo>mD=f;^Rn~_*Tz<>m4GjihM_2=bH9gV95H!~?kKN-^# z0>u<`V<}Q98N}#YAuPBER}q=~2qSc`=H4#eN0)4XHvrE7L`HuwWQpe^h5_zD#3d?$ zg`Y#U8IAq}AZqg?hTXAkh*JJ6OwZP(!~Ak=dm=tPmN3xfuv<5jmsI?C?SCs?JAOc@ zDEhroKgo zt98L;g!?@n^m$YtCN?f82C@t$N&_}w2!~dOt<&Oikrr4iVPb&tzE!rjwfy7ozLP)w z^u2~J8mh+1_q`KcCnmoC_l=UMasdah9HC*7&(QeBsns7AkF58WHSRd zI=;@Pqq~$@ODqCoKxFa-L^$^t%=Wv;aWf*rlF1^RrUNF8llILQ5dD+(QBNP*Na-9w zLwT#P)JV8gHffPDp$1M7s#Qw(=TDeX)ml0_-Z^sMzk8k^wzJYGQI$Zx7V5|fYQJxX8`7kg5s))}5 z3{Q{RH4;!uWUfD91e;;t3Cd8$sbsPdGn-1Ol!4hqpq@#IzHm_8r!Ga>S4c;m%!UL6 zxPRh&sKdu3#om~ZX)eP@g|K%Fzo`n_p9%l8F8_RNuztUd`S|znVf!8iO+nEF3wu1_ zkt`0d9|pL`kk0Xu<$e%II{^=)f~YO+hoy0Mf`iGvLN1j~5Q>dsUcaAz|9G+GnQa@& zKPov|Vs*PHzq(ik!GMqV`)fPf&2JU&J@&|^PphBUwaL-w84DNuQyuKUe`GDxFi@B8 z-}DJi!-F8}K7>f;Ucdnb1szL)#6aB?&k2nIj!OgwJN!Q8NAxb9(+S{4Jw*c2Z=*80i{`)_o$AA1%xd(JuGM zs{e2AJK*E0&g|dQs7sbD_ug@%o0w1naex3JumO_ICXh`w<)7V6cC&#^C=SV*gkWPz z8i5d662J)^gDJ+w1viW>ciEP$-g}#orqBDIGtx6-S!Ld6%A1+*@;l6U^vb>G-uKpCUXS7r*oB)K`2Y&VSirf!>cW7&zCCkuAA zqUj-fdZR@fH^0*ExW83NN&OS<3D2tbBYg6eL{fSf;6zSmTReE3wN9tQ>GX!G^O?8H zsTu8Tto4<*x7l{rRi60jnddbxojGSJHbBbdx>WPlJhC;TLkF+M^Hg-SwZ2@qziRFA zBi$c2)%m3Aw+3)mz8n{S89?G4_4gUTcOka4k@ZtROF?^ zo&g&7OpmSXY;Q&MtoU1RtSL|{Vc^G8FL8aodLR8rN-fqmGH>=70BdBE zx^U8Y3!Hol2^pK>feB2U&Yjie)~c>f4nJm*B&0m|;OVM&Ih4l_?si`K{A1-$6zn{D zw5hSK-C^%y8h@} z7+SW}vque{I=Au;{*U*4Dtmy0?$c1mLIR)X!WiFo-{y79Uc{zw3Zs4fW-`8Z7v`dA)K`DiDbA4Uyg-BCx6}B`5M3X;CjYK$t}EKQ^Lb00Y(_Us?Nl)R2jB(dTt>zvxS!WTliON=$L+LW*75WY z(M0flEMo4Ci^Tj6h5X(#_cHFw6K#Jqp8BEm6P4sA4Q;Gm=sYHo##bHf3!!SqPJITc z`Z%%aFu_SI5W(tfjevFqRYGfW|B~gZ3j~_0T_FM;3Or|5)q&n3K}*rCvqkO(J*+Bt zi_Ekf)R@oXhh+W$?450cd==yrGu=(`HwmlXVAsA&ufB`;K_kIGv2UJQ7axAS)sUNJ zi^TjkLqCD&>~33ZJXH`0{iX?VUN`B3Ser=`ENeo!#vKZ53EiyZL?til7J%_3^4>WxczW$MHwduJ>}oaf3_b85UVUa$ zc$eVq;qdz!jZVt)$mr49UH;pIyyR9pEcG|9GoNhY`lV(LCe{n)XOC~Nigr>{4RGUW zN&BGWbwtX%(Lfta!5w&)%k*rJ6b4_L!J(Oq&i;(CrLmGA@BYk>1xog$*EXq-Q(lieO%V z`ApTGCIlyl|3Yoxj2svx!2A5c)^WQioet@gH0S5WDB8>fm~&&4B3|osF469MjEKW# zIJPC~ZlH$b(+6@iYx%ss?>>>E>wmVt!RLj~gp*WR6qaxLN_L8nE6J-oViBHwZj|YC zD}^dQel zl&tU@Np6cO8f~Ys7-}wGMrDhI4~*jL$ur31{hSEW?*JmZF>>hkv|;#rd^HkRk<|Dy z1D8u>&V-Ho@smX41=1@qM z6fPW1JN{O3ey;OUVP><*N`!I8T}^r57u3fl4Ex@_kH#8$Ifu^tihMbovw2t z&p*%T+H=||NHRk>;fp;bU{QZV6A~Vs-SKUek1SD#FK`>J{9i>oUbDO?(1t!ol&@}nx zkFv%Jr(?l`phmSNaf18+Dk1TH5l(key?=}_+Es4FS+*abgF9J3(c3qC( z7|s6ItF!ChDk`n6n{rDV4^CgJA9(HLKV4V0x1aUqeAAQNqMct**QQ<6xska$%lvaw zN$jf8FzUe1jH%nSYS)25h7oMqJNdYB@;WW~a7H?H={ga=`s2=K#7I({0Hu@ZvV_R3 zoh_@vRDpC)3n#B7?jLH$8C4$cFAGVfyRv;zd9FKzeQ3?|t(uYOxTvB81}CsqFwZs9 z)>v0F%$Fz7XSbxcJOvMFu-FndS9BvBFyJnm2$5z`wW~q~e8*`pod>F0a6?^e{B(=k zdO@q*DTnXwN9mW8E8BsI0XwG%ie)N>sXy89WL7pQ(3h%^r_hyMoB5x!+a3L-oa2*64WjXpy*SRIagMU`uue~6(Q`Fc6 z!&DcAU%xIQy!mrtVMahZL?@@BC-w4O7e}x=y-7;qOQ*H=WPC#sR&-^(?rQZM55%R^ zax4t(a5;~jp4MKI$LaF}#gyR|LmHa{QS7X|YIXW}j3)Vgn-MEteRWQ0V`D~Lk%O#- z!wj53pO)w!N3F!b9*eIoBLc@u#pv@|5-TT;-)O+B&sokjumy-K9ln>Jlw4bA=qxi7 zQtbCjQjbpJag^H~HwAa*gTE78vpvF6;VJUiCp9;5ukhRC-1`Z?MU6kZ+A*hEc%XsE zd*aCtW-ecEfZqo7+!x#&alz77$-PR<=}IK;Yxza z@w-)UA>PdPibPJljpg?ctfycB+(YBJnLoz%ZC68;`PWBDZ(8$@1>)T)Eretk``(86 z_|o+=R=27)ly4@sHk+evJcLHmF}gIuW@O&y7r&exvaBo>w*;ewyDPWCwJ#yPspV(j z;1l*9Rtm3Yqq%^FD@MvES-V$%_5`*UEQ4D8w zW-h~JD!5shC|atGmif5?aXKW;W)6&w^yhad4Zi;KOWQ)0)YH!)p&E+1BYghO8f5)EFAsHb@Jz;pbaIsYW@d)%L-e>!OYVf<$@0hMk%B6{{W^aIuH%++hL^Cc zhDFpv+i#G8UCz^@g@ZYt7W>;UD5l@b7*xhfC@K=|gpwE~v)d|N7zg%a z;N#N-isgrPgznV2HhW%AE)Y9)axM)|$-4zF(6 z(x;9b7Zw@gf3I2VqGVO~E^if8s}p}pJz{jfsarT|gIXq+=al|dS+*dSS?Nu(68qr@ z90M+vupZ_T`VYsMktmbYX}?a{+!Xsdu&h`{qyo6f_{&a-o2jDj-ni-&u7px*NFA`bj8l>T#Az!Hh;R?wxJ z4Bg;4;w&Og4Q)}`u-(oNQ@T{yomQc+w)w0+1cqA*^qaUk3jLGav~g}pt#Tr(;o&OW z#`iNNW?pP_*P^4sQd|Byx8w`bJ|qXVuQCbvozxz0S0mcq$~O%A%6n+0Mw7w2Z>$@RvYqKby0-RiaS z(kuGhUOCyyhCAso6w6G-?@K3?C+8Qd8e4Kq>|AVAl*N-zjNL-Yn~j`ot2w}?SBmi~ zc`HNtORYu11O4-k6^FC(cnownVd>6%zk)XNJK?JmGzSdZFXDuIOBud;3AE&I`%HfC zvux2=G+H-*Y)h4f^FxZERA|yjr=FD$zscsg9fY>^`JGzPcHzQmK0v=Fbp5g=7Sj6Q z8LV+Z^OgaHU#NYq=Tf?_Ck5kA%BB4$x=&w6B)%%^F0vk}^@8%H@+iKFZqib4@bOU~ zNpuG~H7vHh<{f7CtnVW&kq2N{NxxCGRi?Ay5g~d8C=MX#Lo?aFkG*L=+tui~gFgdF zPcQ)zw!ieraYEN1%6BVaC)963>K<=q6V({bxXsbN)jE{f-D}FqlEw*e@byOf*R1(6 z@85&7oQ}^OxKhJ0EfSgsgOktZrQOstif_=jy_lK+_#RKGrb#Q*-MgwgRX@QaC@95f zxYMNqHj8Sra~}`Srq-@RV9s`B2eoxXRD{47Y?g z9lAZ~&}Ya{azdQ|otHhtTb9sycFDyxEc+D6EUZ+mUW}9Q}!quqnQ=V!|9uZ%-+jFDAU=M>DB;5@cUlS1T%RxC(TYIa@fr{BxVGh2Sel!w*H-cJCh zBGjQ!qOw8Jd+sa709d)Q>*7@P48Pp>?}IZYWUDgzb*;?O*L$eispR!U{4pN;0JIJA z42#%AqI9=Vi)(?SrKa|(>a8(c>9p%BCI(KkckJp!F)_cQ5X@Gx&U1%tv~L&PD#Sy9 zVk|mK!79}3?G7y!*%g_i3$shPwa%LP$g1oO`4g3_HPjuhqygIa{$k?|ed5Kf&4gAk zCNAxpst5Pc8>6-w0XQ;TfA%g4m~crOn;!kBjy(?koV*PAE@A|#nsGpKiUm=CAJ|kK zvg1Hlqz0bQA0?Mt!A*!LN=>jm4~uF5NHw zsap}wy5{V(jx*W890s-D&pc75-7&oKF%v*IjoD`d=77|8EY2C&TOaz+rBmTr5R<3m z5^G;qo}pN11kGLSTGGhgWva2+xx1?NzRO9E{Od3e$`@94K|Q)g7ABn==&o&r-xrf# zu$m+)i$l#?XU=H)e{%Kr^+Kg=JyDpE#`{VvFVi>qW(oZtIQiG6G=P6G!!l`;CVhJg;N=dV8P7F3Q1KU_jpI8D+N!>JwcVQ#T3%s?Aj0` zrH}_I!tk~Aq-}%xFyS13=M|YAg+Ue z_rT+awqi8c&%p7`tYXew0^iiFzM)`)v=6me>Gy%kr~w-a^!tm~!-EZdkf@1C^+bs4 zT-x@1i@1}Aad#WK^30e3tJlPA(49ow@W7#@olHn?GO00^FpcB;^{tXa;}hrnTZs+D z2Penh_EYgh?&YlP3;Vl{V2V2MZT0<*MS%{NhQivZ&<3Q-TOxkJC)SFCUG1k&R;inj zgWu5-rugCrvj~{eF;PZ>$%Tb^I!{RW6HVsxC^Zd=OFJQ1W3@*^Gs}&i3#@Ul0hP`v z@2_|7m2r};=TSaw#q+6GES+8X?aVBgde0wrwU9<9u05>33%N5Q4%EwsQK?ovZj_y~1)cM*6IJ=Ilt9 zbTd=2qsLr$Q5m$s>n;PQYkp_ku${r(7?>dYvyGXOcAK9&KrA<%?$nq6#<7WL6hwbO zb6{Kv7Hx4u*=!9-{G3qRWjdcOMG1y7Z^k)5w6r{%pH(8RV*&{DpzQ@Yd2Pscj5;=M z+nrYIaF4^ipY0Q@QMks&#M*bdyjgMWm{2D8DaO}lJYdW*w6TMaJZxmR3n0~^FB&Ts z-8WYJm?Vd8>tl82&TMd#XO&dJXjXKm*tKkTbt=E^5R>*F%dljv!!@{rjCbu=8+1uI zN$TMIDwvCVBnvs{N#7uC1^GLd;&qcDGVM0w=vJUzV%Mz?AcvWs=4! z_8*=bFs@?Kb`~}qTwBt<1uUs8&HV{Wy=Yz|vT>hQ-585Rjuv3+wq6tLWIbGgcWqs( zj=6oKDC?{FEiFCOqS1K$NBRT`KbgS$^cJc3h3s$oKP&YREt)MFVJQGhVP`^j(c22s zI#2Y=P3er#Qh?u4J1iC;AAx}1+EE&Z{xtyHg}vR6+kVZ{RX<*+h1iWIb8m-2JU&;uenwZ;j~m_FF_V}H0sEn93Sd~|SN zRB}v09I-}c?%F8g@>_j3JZO!N^E_#+@TwK>#T^A5EYR|VccQYvX%1qCDTb*wcNbA^K?O}U z&(@q0$`UPayeS$Zm_pf{c~cibhu>DpppqqXi0lNl*bLj8Bcn|y!SlhB@IHFs5a<<9*V{N%cLK*fvBUu_q#Ry zL&!bHfov-EtdLQ^yDpEl!mpx;$MP5VnK9C?B7`_sx>UfMRAwrqkNl6(WILJZFG&1t zK<4TX-zetwe|sPSqq8$!BE>79iyzdpYeI%5&jt3PYwrhI2h3>)Yc}uE;xQ zz3266d0u(`6#Lx0e3}d3+qrFk0cJ zmgDZ)LZgojoJUB587$iB$nV0b==Y711m3+}gE>7RTyuJJiui2L?3F1r%mz)PM=6I(UT0S9M(LeJ=w8Zlv)sq1m;T7(3t2CTG&i&?Dvx_PvFEzC8_*XA+u9DS_ZsHzN*7~L&7EWy~Djl;1c zAf8_=gzB7BjOjHT4nze=qyP9WZ1`U2#8Ll3mg+-anM{CB)zIrT#&>b7iD#(+c@8t! zT_gVwZbDprvY%nG2~tBjIZ_@DNqPfOc7x0X}kzqM^Ym|e%-kR{*e;8;? zw*xuIf){O4SU*^pE@WHjKiqK;Q-A?rG5!Ua9ncuhh+fijF$vrkfg8lfAbm&5j%Osp zP&Avyh6mPktGr{@3+s+^>@B*%p!_E{vx) zox_IqZI|^Bvh=pf>W9lyc9QYOe zmSL%Xw81jR4fb1KB5g+y9C!exSY%zHWeL0tSC5iYllfa=GUD69rj}w&Z)u(jv*4YI#gruIP_4N&OG56Sj98 z^zc7sT}U(ruEjjQ}D`4$l6tnVg<|BpbWShSLxjs-x9*SUfv)}`pMU8 z&~^b!WDhZhWthm!40p_oERua)UYBL)JS~%T@LI${R!+eeD%o0TVwR5v(%-@jl)mAF z)nb`D=j3&XY>3g%+ALX>E7nd^t2 z4PR|Cq4O>J(dqm7H6QsCv*Y9IBddbzZyRo7Pfsss<~juyC=Ds@DBj+#DHlY{Z*{R6 z+HI?>=G_^$8ubH=Id?INpTp6%>)W1|ZdN)qg~RvKVQ8C!x~LXx@Mclmadf#Y=@khd zj27M7qdD?++h#&c-ILT3b9nVg+tJ1+mS(I^BaGm#6>l#x`Rx7Ehp!vW*K1-$H=y}p zBZIY@28OD(Qy&$oDjVSCpRvs4Lby;Mc4R305~C&(z!~C*MFHSL`z;%8n_gHsT9hmI z2alzM?o&ij^Khe!U-k7a9C}WB{EvHMDp|ZnIWy*dOU|bD~xzT>rKPX-LzN5n(N= z`rcBsolJRNl?UJ3%`@A`8;4o}jd#6BR|RkKIE%tXC zZq8=zlY5c!0}p4iJCFb~Yy@f=R32RJ&)ptxuMt`|f~Gk%7bJw!O+5TM7y#9&IhSLA zEw1eAa=>N?>ZUVw2^H)7Y<)b6{94S0o0&%(TE^N+yfDS<8w(E&5XMQGEN}wtHZ`R*5n+4^H z!^UrgCs?l@Q1b{0O2z5Jjd+AA)19@MH|#RlDG+C@ z%X_&U?1?8`;L;igK;XPz064%*XZ-G^rW~&hWOOMQs03yz`cZ)|+e}@pW*xV~?lQ>sL_8n~PRa4am4=vSfNaw8((q0mQKs86J&higp1t+YMg%FZ z5#9CkNTzOuZMab!+8bUTtodAQWCaC*#yOhawf8UCL|R;mE=OU`W`u8z-UBCpNQ%ncrAzP|WD-J!XH948u5q0rUdYQAB&uvJi;`UKcdSdTE{4rnq9D-;dixT=#8xDj+QX@;4vPv8G+CTxJuXEkqdVtC|Vq*pF>PN-=v-H z+9^d~rsZ(vJsFYRUpQ00bi^wZSQsjy@vuS%@9g(|eE7jRnkaW{l4NH~|7%n^y?sqH zXUmH)j+-=6@Cv;ZEcU$jCRg}z(f@M|O1F`~v$;}Ws%P)+OV>aM;k!5(4j2_cQ#~EY z0;UHDY$uNBLOX|b$yUS;-~k{$IUnPS0TLO9x~6H$f~25b&s*f00A8SVH4ed@A(PT| zL!VH^VCCEbtLoD%RBTlZGPdl{!POxGX{PAAunXM3(comn=ld?ex;|o_2?Xo}iO?SM z9G8sNd6Fg|1-?s=;Nx}HFy_ zRoGXvHFUIpzV$?E@T_Cv{`7Vgq!g+tpGXWtp7p_OdpRR|gqp@F*J#t6uA=}GrAvf{ zEyZ}&_TBx5j@tVHCC;_Uzrt+&NiwFEsZKb#!@C?Mgk zr@fDr^iTyST$t8RY1ah6`coi9BKjqZlF7d63Fem4nnY0lL)ydSrhRgrYg_@sjS>7G zT_Z|jRuTdIBpi|a57VO5n6IUCul?1Ye+Tyr6qbD{}{+M zPMmec<3|(6g9t+0kOdmSxTAf`)^>11V!U{zg_L-W7p>slEu9jUpy7|`zj@{Ct^s{@Ha9z% zs5d0#hZff{-asC#7i@-4{KtG`iM%ey7t~e55ETH}+j+0=$9}$bZQRAMVMkyaRQi`t z25bTX`Oxj^V+{h{@uGAYeuXM59?L9Ey7B2`A_3Y3d6A3Mdn;r^Jhf%9Iq5_ZKD`FN zIn~&sVg3z=n5;$4m%~F=v54egz2sCZ6jViUZ$D{5zunoRv`PxtxPtuWY5vZMG6Z9@ zx1$%JsGX3N1b-yVDy?WQnvCdcIjcxbM)q+J!BfXRdlW_PEvJo?g30}qo5InM7kAWJ>5w^&YB3Or1w{NF9ZB!BD zg6Lsp^Uc3ZmaT{^?Cm;(bf=@|M611Dw8SUQoe=Czo_PF0OC+B1$ThmV+W?aQB%ieF2}+JR zO73vYKn=|As+7vTwIGYF^*fvX26ot*-Krw^iOQWPA_K$eS*SFzN{X^u^)czAV#NGu z%uQ~V8jSS-OllyJkNx(?L97wiHOD*#d)t<`<7YO+)-)Xwk*61u@p~J=Uw8^Ip^7=u z@!iO})BfY-_Tdw^>vpYJ8Jg0YLLQr>fU8(*tihyD9mu+r=!ZmO#{58-*ix}7fVHzU zQmRC3rC7=xZ-CtqDw(RMzbQEo$zI3{L03%V1MUrW_1G?_{&0gD`a)BQ)aJE+t;P3E zG_m|5neKE<`CY}%%*rvzsKOL1oOod9VFVxtPaooL+m+??2+knNfHCf=wm1wwvtgqW zCWx|kbSJqb>ZqA>X0o3@ZFG67`-VmnQL)B(O=JMe;g7&_3g*Om;EkR-9eCpnif8ze zyDm2~ZpQa7ryNM=K|*s~&si)&E?S7OH$Nxda~n5o{?wO4R*4*!&5R!TYHzY?E&DSW z=34K==+P6K*LXUoxH5ncFlfeD&5aotP}#Hd^Wyjdu(KqWx@W)pguUvVff)!BAwq9p zJWUG2{ia))(~}d9AH|(8;q4n9$4mNbXO>GEA1)mNn_$Ija~N%afAt!Pj6iM$qkAz% z-=P3Zq6eBpq*pWUX88Rr^sP~Cjs`skg+y}JJo4*Y?K}--wiUd`L`=yn97JQ<@Dyr% z4-zy@c>1^0&RlarAKtvXr`Zf&HYTVbgdy;_G*z5KjjyjuUw|&jZU!Et7V6qnW$(Bk z2%gxrgfU!mrDMyKX@>MahjWOd9(?iHQG@8KKxrl5vrZc+shJW%WBtfrIeduaEvrMc z9SHpNxOrlqbnO7JmO)VRoug6$1))NqZkU4N?*$OVj`r-wBR29ci6!8xBCXEv`8&?M zC_1p7CAf`$mZ&SCfzgOKLPaJg>Pg5**#x05L@FMARGuHT)>su$OF#*q`dkCl`w@Id zWC5`!GXQtX4GYix@+Wh`#(B6$6x~0v4LkIsXQ2wOsfJR3kJvPEz+|c#2f=*_nt_oe z`p#-(0q&m|f4)@RPHx4!&@&>&fNa*(Dyl_4JJ?jXY2n?Jjg}aA{a?IM0=7@bRYPU2 zUardp8mFx%yn`D#$ephn7lD{LG)04-eBo>((vqeHV;f~|3^8LUYnfeC!JU2VDax9H9&864@sUwN@< z71-W6!HmI%Y6nH(siWEQzTrP1LSuU@)J1v2{l;D{-1c#td5vm|DIJ6OknTDR^=ai+ za*!FHZ09#X@fQcso?9DryaOJ}+^J`ya@iQ7ALfsky=<=#9njGj(wEqH%C%}I-W{0; zX9mOFAr!U>R~KhN#St5pvd|8qhy4g~Cc@qH)s!DChuMwI3CE>L9D87qQ-U4$hVFhO zPTjO*=J9EDu5^8n#k;=kO4a1*H(Yy*o+T&>7>6^Nmy9 zfGMy>BydPS@+tHLS#k(wHoxH{O+Xp%9+@UXj8;X|TjZzpgH0An^5+9jY9cuRGOUTE zcExjl+Sp?*@eJAY_IJ^*UUcMp^Fl_+tNY2H)H1&JAjBdXyzMyaXiqHNl|m30V8#Bf zHIe;62UG%_#R)fJt%La;Jd{O8C9K?5-V)1?7hKu@nA&oYxO(x(DM)c=y7~?>VLq7Y z{8~e?rHHuD->8}1jMtf)>4cXdFM6j7Jrke9rtY>6AlPCwz$3){IHl31$GEQMU z!w9BEiS58bxWOo%OS>mS#0OvXlU#9#E!l1pkHiD0BYu0AQ(cX=oyU41<-G}adukq~ z5|~4^l^~9oa9#?Uj<*X}_Hf_7%Fp&uL&*ggNUye@js;@z@7R|;f}9Z=;C020MIal> zJ6cYH2a6lB@=V_PzaFDB_!qdn-rlwmQ^OId*XGf9xdXh(;x@#k;E@wVGf^}5F$8+O z`z|t~(=r8CG1@Z+EIZ&L(R3J24VlE&VhUA_fEO?_?rfu%)bMThU)bIxdzM>!>|^>f zuF@=;tjaqp6pm93Ia}y7I3xBsTvjUkhREY*_B|-JW_<5ONYf7vCvO#TmELC7Xeuoc{>7xPc@C?2m1hL+vGBy`bD{i0O?Oe#@UwT4J?$}gSL1u7`)Ns^J za6Dx@Qfn^)Tev7-;@IwK0aHNU)D(P9Nr?TDGuj{TmZh-62NwsZ#->$tJ=IQnn! z*eyX^*Y(X-@CA0`cimtzC;F)Eq8s*n_g(0-*kcnyMmQ(-DyyiR6}gpb1+{fr-xw9r z5$5w(xG?1kvGR2>I7eD&gLHC@u!)*|>jsbtGda zTX^Nr5t^j!1x2HSlH~JUL_{1dGC5}o{RvWT0+dUIcbf({6@UyqF>fI~na^2X=Xk#a zGjWk%W;IY=0?N?$(yK`Nt?V7Oe}0z zt+~AK88;f#`ceY8@mwy%GTTZJ{LdNRhY@T^I|Ad&sMm_ux*X*{KW476ZoSbH#0z8x z#!^W?c@pdX8P(Kf5mf7G{2DJDO21!4HE*Z3(inosYJj`Lutb&@t+R+kJ1K^^)3!p$ z^&TPIfOP7V`b6{{8<+W4a;G6tMEMG`x>08Rb;pL`Gup!>E}(|NduyJMk~p=5{W+@l46N-a9EL zG1j85YS?%P*}O3ykl}${g6qtyQz=qKQcEdyDj7$SoED+FUwZma0u~(umad_d!qtCN z;+6vq z3sH>6XHlt_Feu>z**IjXy&9Em{obdHY){+ZNf8T-Za68Vuc=a}Cd%)lRARDupfAaB zd383C9wiIZ;W&2yrqh%X0Uu-kCDIFdyn%lbY4FwR_Bys(#7@ekgvDzk5vt`Z**R*d*4Xe z+P_PTKN)ZOAMJLk%CF=jBR$3V6Jb*lJb0%!z568Rb)KX! zJO+5siujS(UZ)`ZYPb^QAZo9KJIsWmUYC%eDSM-A{`@niC9Vs~XN6={Cq)U(*d7K)J?f#(|MEXI^6LYbI*N7v?X&A3?goxtprk zBX=;DafB1M)zP64y-zBkkJ|UTD`s27r6Ww($K`H~4a~7@oHDbQ%R0!++)r3?Y$eN4 zF@ArKfCmEStKf{sHFQ_=g{QyvQV5_}E3$A?B-#!u>5GA{0<(*9Zu8-ull#OojRzAq zsASx?q2*yLmQTji#vg)bcBUp3rzkh`^1VJ+I?Z&~2w?%N`sCswYMV)o71@4g)3*sL zwiEbK4lww7%U)k%F#bb0ItZEB`k=Tt4%hOYL;ARo2PdcJ{c|ipo^mJC4NF3eZ(Qn-Ub>jgMyim;O|kBUHQ_nrG?{9P}+>XRhri z`Zt>HV~~k*!b|TcsNBX*rpm|FVdO8S1Q`AysorMH%|%oc>Qjrl-fF^x-uZES5r@Bz zZMgJK&GySFnn*!yTkrm{h`;`;im&R?BIlBcO_!C&){Nz}Z#NrtK(x4O1~Ko#eKYl} zIsAhm@b=c6F+V$_tm*#v$}0ZRDw;~1drt&FxZ z{jou?Y$|L);4zhmPcFv)5SYc1!GCuW2>s4&Wy40Bgl2Xcs{)u~;|dICH{G0a4l~K2 z3S>`pl(0g~AA4;NBqFIF+P9t8XlgF;`+DUdi+#v#I}}npG!u*K(&Qn`&@FH@>GLGG zb(ijKa@IemixSh0@JhT3zV&jOP~&$>;2iV1@|C)Knb>q%IWSk=N@+W}J`-vNZ47zH zw|2TTSbbySMUeeOGrv?Es`GX96&U^+*UE1pKgyBC1Q??9RYS2#zl zblJ4h%bn(c%!pW3qK9X9lM9DStj&vM2;)uuafAYRFZ`-EzOUVIT@5$0nv71#-N&?M zR+U!tH2bdAS+8{-Vnr2NG2Xp`*yz8oyd{*smC?OI@7Y+#*!FTkj+^e#f=AKEK?gqd zOJ+gw>{vzojLL{pfX+_gGjiF1lzYUiCiy1PUj>oTl)V;rh0(`+ zkm4oS6clU8tXO_zyiezMmVZ{RK9GMrBB_slTIF-kr^hZifJCOgeXpFclVfZEmNR*z zuYf@Zd*KmN<|6{TI>wO~os4R;rdL1Bhhu!vZCUna&8jh39(Q2f!;nL-G3_m0E`D0Y zXuh94qAbl*`tny?|9H10$auHiZOSRmY=^#wPRv7=jLQn_xY&vs?g~=cfyD&OCoD>+ z>V)4Sn7nVVqvCG4I1*Z8lk;Ie|BbD;l(HK`oU+0Ew4$rRN^H;D5q3+i@FS9!OY`;o zpZcqvbmdC1lf^U!dAdt?5!N^yvq(Gc7@DH%2h`^m#JyP_C7aDUD`&N&#_^9EmA9te z)8GDwuy>%gQ|=qKfTF4D;o~>ID4u1`Ou!j8x~W;*2 zein`oyhQrkZlQzy-v0Atj&L#C-HJci&%5oKb6ODL@TRV10gHQT!T;z$&uEoOWi6M) zLeX4cpVDMGw)BcFEr|J|DSyFUgXTC0VriSEI0a8NQMex2S3a#R{P;ks%Hq zI^W!JL^ZC>^o<55{%d{^W?e%NUTZokxw5rJ=;JQ3B%G!GpXtb5W-=#?zfQ!G@wBeu z+$s$mac|>^cz{T-Kmpj0i&!i;qN??XPhzP=4F9DuAqj?2N4kmlwzofGG{L;fqNhIs zb;cG~kL(W5x?9X5Jra(FmF|v!v<^p~V|hAgcACr_Hx}uyzyHS9T`cR!z({w6`bp=u8*xVk;|Hq$ zb!A8)UPjakJm**CVtAETjrU_nTgl^Fqpz+;{~P!Gz&jO;5W%FKt7?h zt^1evza%6C!I07_0 z^=kl-VQ@-lJznAuf=S1e^Eyc`O)wNbt~$?3R)9qD}C1Bw0axj&rLPmuHV~K zWI{mPgTN}Ou7!G)f3VVWKOpSJB+^XXjlfu)74s_*BX$b~uo7!qa>GFaM!Nm{^KV@9 z4=j|3Lg@@O}b-#mlTk@j>2yclZ#~rPOI2d0?cKW&1!jb}* zU^OF{q;#-&1T86$$$5bL=cIdB>>JA2P$|4dxIvs@@Fm^*Y6UCEjl zfO0RS3+!N%5p&D=M>~OeAJ%?1fD*t-~# z2w=Sm<;4FE003zuMLsLRe$gD;L8wftk`3q=_$QP?2X%FKxNC0r0R#-%@DdbhVT)mo z`#xAH;U`eth5XkqblE|9nL@b03y7p3e@EEeM*yR2j&OVXmfP)I>=wzisawg1ySyJF zwEsZ@>uB%F+iL?|Ml#UzD$wWA9b+|`p-qdTto6l*L;0EZzi>s41sooxtb!qU)C}({ z;IF=H_z`t&%iF3PsJ6||a{jvA@IQgX6y7TLBL$#!_Ipj5*qDhxXb+Rl+lC9z856HK z(*K4VFnS%s$kt(=QHgZMIhIx4(HM1`s{b4i?E_;;=|s{I`-$b$=fFai`dEhB4nOGb0-&g0q zk&Yk;FKRofrVt`>78ZuWXt7EHTC5QNAM5=aXRzoAhCU{YGjd@6{j2Y&LAKsV41x@! zWje@H%53EEDf}-VukRBGz^tBLU&qGRY4NYW%`<@T3|xDtl$g+&bp^8|jkO~GYkmI& zFt33o=4*FP1j3Q6;y?6A4*{mGw&GkeozQla%SPh=!M^_@y!2l_DQkwl{=*G315jqV zq`Rh;)vLFqAge`a?D2{G6V`uYxOcx`Sk5u)%>DywzC942(L{f|v8Ti(jb+Loy!k@g zU;nj|zqE84y)wCGN3HTNa75whk~bk#P%30+P2-RrE26Q9?|Ir1{wuV9qeL0~*I!Ig zNByft30DwpryvWNoo{8PZr|DhfLrSSXH-GoR^>lp>4GHUXGH11)5Ef{s!acI&<5vfBD_b)FfIi+gUQnh-gt*U8HClxM{T-Impik5S?6gghaWn z9H4l@))sy9JK|@p3clt~M~52>h(ToJv7bLjF{^C7C5T09VZ=UNoUU!3l911g$k(;f z0u-7?)hLy!M)cS~AUrW%}FTOYO} z$_|oPz6faWIylV@tIxI5`5V(0SATTQ+-1eq>cysxP*RdaGFyn4DoZq>kbJs8f2Ejb ziI=0$MEXXIQX&$3{P^o_!@WtvkA0UWbW3ET&q+us;8Z_H**W9PbigVD@M^Ik>+rzn zYP6epts@sr4CT8F?sJt>y$u*4F*+amuCSQ=%o*xK>LHx(Fbw_DB;q)FRM`?YjXz@DeC?F2Zl;Hv3%rS(v;+VjfD54T={q6=0LTGA z2~jnVrQ=n14>k2i@Wok6qP)3^41KOF0u~gW)6a?y{9_w&cm1|18_hx3`Aqddd81!d z3yv?5aITtIcqm#}5?D%JXqkWmyFCT&J-SqMS=&#+ zM*r^wMn(7V48n5Fp#-T3FM!xwKV6Xt>aK%B1!-{qJElC~o;Rt;!BEJEYs4p-NRXE5 zHN_V{8Y-Lr4pAa{>@Fj)NQ4sWjanH8UyUy5BBNLIzoir$U~Ti|rcv_(Y`#lHk)<99 zjL%}j|Mz|@Gk8O|uQZr*U^&ZbYX&-BJ?3le|k8d zVO5{M%-ts~lhp59$Q6%G!drN?d|lW6P|5VarAVMwk4t;RcFz>cQdfv$b6phD^$5~! zY}z1&_M!XPyYmTo=b#K9M-`zA??apGDt!hc@sX(U38~~Tx1)r~v*PaKDv6XK z3DGU>AVC+>%T6TasekxELtrgfLOEf>riS&Q;V60eByMOAVsM7ak#QJigvXrypg3-V zfNJy;h7wpV{J!u7RXT>dj>0M3e@tX4MeCnRt`$vfy%m#Ng#euC<#^fnaSD55lthY3 z9FvD3v;;UNMlI|H;&a}-Ej;-2+>SR|E}i<=;rRg%*Xar<{>&`xXa}ow1sFt>`iZ{p zs;M1ezq#GXE$O4EK9{HWhu*Kd8WQxEYXE!}bw=(4Q!VXy;;0H&33#Fu&>{WL*jPK> zsZaflffLEtNH*~j3eUW%Vwlnh+z{XD+NPH0B9OetVqZQ^afp18;DWmrIU)szZiakD z^s20y@eDQ0y+%!93s$~+!!EUQ=ij7-;Gjkt5uL;Bzqb_B$7|N$ zW)=#4$dQ&Z@-9k9@v4*$$NrxqQd-|F#KE}J`jX498hT#7(>8N9gKR?ii+3A|P2VIG-!ae?hmH+*m6&zrr zyxUOEyk4ZA1*A94BfJ5Rd&g+L4x(FT#hr5#hmAi_vZ{F%`~!1XsZ10#q>vM*nocSu zS1wrHc0PY{5UGCPpI{=5`rR9-w_#uJ+2rQAn>!=na_-8-*Y(9>L!}?8GXH!{(@OJK zoVCl^C#!$sg|bXS%t$byBvSfUk_nR7p9ABp&VqAypI4he)W|_0G>M}?Bck#v6d?dD zb{=wsNrMNM>|UIYcnslB?QWKTf~3GcNQ=lY*{Uz_JH&oS7iUkh8-9@z1+fZL{ce4n z(t(}GOyQ;QHTkoJ;6egrGPk5KD{nxvW;gRc&-da25i171WA#{Za%l6|JcSQx5HhPpzsNT@H(-|ymp2CN;R{e}o_kn@fnp%KRB z$i30?Mi~FbrE`z-8Z;2-hmFR_{)YHF_0vDFgGC{$AaPV+(A@JfONSE(LhStGD&eG) z28qDIrOVnAjPb0W`Bwxtak$-7VqXJdy`OrWl{eP3gVs4CfrdwY@{QI;WO@iZZ4A*f2Z%*{mCwd;sKZjR1~xnN;77j zwP1*kiWc$F3~Ed4$YB2a@VVLT{^l9L0fKCz*j!E<)9P}X885fJ3RoVcQ~|{gC%B~{ z`Qe`E-CVoQoTgB1*LfkENtpi{1J3GpdE$49NUt!&5x)!LBEPy{u*i*p1e{D^4I4Sm zKOqU!O0^-s$sk{eWHWTo|DvCwM*IiUmcJ6k9$tKSYN+H2MQl-!YvXUqT*T@O_52u zlWShW{iF)4zFT4uX4b3iXl`Wlw+WLU_IaJy9j=||jw#HY4NUL=esh6Ehk2*fpx=!U zbLlRcN!!86JBAOw0DlNMVrrntC|JyWr-l9-x(F&6oBf~dfE=MthsptKrT!sjJrhyJ zp=kxM(`;yT--D*$xzoLT<}`U6DocerbI+U&s{L99TutJGcCHF3gTd<5^MDHB}qkX+w8^^_?uv7vkkfvZX>|=vH!WcX) zK$Ef|`d=q(%nwvU5_bXS(OxvvF2xp{z2EEI%Lv*cuo7|t*n*kBGC83k;{S8Hh>`;; ziU=X#40X7h#-h@R+cFTPU9MRw5);koBWsr9h4DYukoeP(j46>#ZJi*_$Y@*8X$N|{@O;?vBV3YU+i zlRlPaF%(ii!%&mZphgXVls%q&o~PV8*dOYasvYF!u5P?CRdU|0wK$ zKTD?Pyc1?=N>#1wMd&Q$uq+BK*=$y>(XRZ_a(3#l)FuUv=#ntqC;d93Rsl_x9@Tbr zsrhn3^u4sp{!E^Y+epQ28k0`FS^9si6R`s(%xMdugk-?P`_AZP zrjasl=uxtYcS@=@`g*GRKPw8F|6Hld$w~RWDcF5%G&KN5@}8wDmIsuPjAu@_SPb`t zqYv`6s?KwF=r&kw%QqC$c)p#*QCt7}f`YifE+9c3B(+AK=;qLq^2qPuzv5LoG^(&R z&CjX%b~&9C6?eV4Ee{-N!fiVd2^(}V++RGZn~7+n^D@4sQ>EmUU zGf=}H=G_(EN}x;jf21@X{^Vd870jRirSD8U_KkW8EGYYqA*DP ztlG~Z;w6B<@&&XTw532K?fbIW>aNLxrq#h=d--s^L)PBO6`o-?j>=m+y4Zn!x-^xR zl?MAHT11TeuNj)F1Kxv6v7-hPB@|4&P=8>@5fxpbgyr!v8o*dsSEkystUWJOu*`Kf zTXwQc@=5XTcY0U?d4nosdpM-X$-apIQzksGf#CSJ>9Xt44BBr4d)_^=C$1}rGxwyF? z96tk5kIZ3N{orQq-R}&cyJq0{JEqDC`C*umR3e_RF|UW6LL!D?xg7$!e+*}tgSmN0 zG!J7q|JG#*U8-z~=9h!3CGOF3LTN-%GlWc3?U407N|_DHMK8vFK}BEv^$ufQI|;Eb zDBapMM`Hc?*Pp(`*XzANCL9}e`uECI63`QW6NG}9Vf|@P5!LW8(S z%3qcwuPpqeX*Vx+^Wh|j&_cLE^|yhSfww_rQspK|Yf&bQAV~d)H)F1L_?7E&Ee6|@ zB194o>J64XApekTH4uGJWetro614vws=}dreg5Qo=yTt6z0ax&<@|)wr||pXJXH4T>vMS zYA_>#JM<~WWrnObAJsqkB-a1H?54CvtVX_>Wgai(@FMnM+?qgSO%-*N+pJgwA#+kD{9N z!kkDwZ)#_nY!!0Kb31TjBl(_&M2tlIV3RNi4=J(`ev6fA(+eiX_w1HszNe-LiFgwK zxtg+-%1TTCoQc@KEPjJ?x${`ecu425{Z2jl`m%jxm0o1%t~)8<+2ee;+KoF7 z_}qbht&~Hy@4+m((DCX-6DHOsU=w(!EN|>RHh=h_o8X6R=R*?L-_T7)pq0H(5V9-d zuJKvDL}ZMkTE+*@&m&t#)-F!ws)50* zAi7`+5TO~0F^IxeiiuAvddjR~zeB&n*K<(k!Y2=I4WvQPs6jt1DzkjFy`VP_OG`o0 z%__F9#PmUmDOc%()hqUn+sL37MI>Q-5?yOEp+emk?~C2QYJnCN9rL%&#YUm}THB|_ zPP-*n%hNmbFfnC8<3sO$UZ?vv=x3zixE^YfhNkqMPi+bFhYigu17~E@DQdoq`&Z{q z)cvu}QA@o1BH9J=-!3oyEH?;ufjgCOrmGxbtRK0;(s{vUH%!$vqWqFxw2-IU6GM z=cJ!k0qxuCqprjnQum{%a5^}oDsb02rq-zzBp^wGN7JA~Ur30EKkGfk*+_!PVrfv} zZxDQ3nUtmOoh|V?nJrJR(sJDzO(PrydQ|o2^JXb0rdiXl6@TK2VRKP>Js->moW93M zuPw8EnwvKC^=jc94ty}4Zaw)aGXwiuX@>b@!-z8z1M9oWB^eYRwv<$b#>w)1W!5ta zJx*0l&M?n>#n5gGR`u+H`*!;#nCvTapB0Q&=OEv9+YN@KPULLobT_=t5Cy?%QeUH( z>udV!LP*VLdk9-E^uF&yi1aAIrjNPGe4L_md9X0Yb_%m*4qfdoiQ{xv z%@`BC4|T)Uq^yJWAM&+}%Vyw$v9g77R!?!;V}FA6WiTQ{1O^(qn;w~zisd*7-}gLs zw@rB2vS$Q0EZYqnwPTS{1;hd;+FNq25D$!(cGBPvwWq9w6E<%Y_QfsxBDzH_!*X~L z2w<0JZ5~hNMJ-<=(O<>e1kQ}Dn=b#nP#Tw>srCqH7qGq?9Ys2K!gYkF@SF3@3jaXB zUB-L#&Z=n{eB={=`6gB>alf@oEx&7-x@R_Zc&Y|rAdcB6HK>)T^78Kv%O}b-D|mXy zkm02LUJfX=S4)jMSDM-C3(LydRilqJMjtwp{Tw8UQBhC4JqSCm6_p;xw>C7fs9)DCfbRd$kQdtpkZQrp_Ye8RtOxzCW~t9GQ0 zUDEt=a0b))AUCilK+^ZH-%atOKDC6imCPV0mwAqP{0m~s?EZ5haJA`_Z2Da~FWM*= z_Q}!>H*SmJIA4x-WrEnXt{!5*Gas}*Go*KNa4P}xi;8VhXv+Cla(|R4Og=11#W ziP4Nvn{vt<9o6d2TDi90A9-7(OtPgI+XFQN?ICB-&pPhRwXci)L_3&Ss-Ja1zwJE{ zTrlhJJh@I(xdvAMWY~rrE+cZg&;O7GEw;EqOl}p3dWn`If!v>S> zkG(IRuwmp(E3|i|?2FQMWt=1=j1;@<%PLN`&!6?(%O`JfXoe2Ulj5rSr-4cC@L74= zPKP_T)%(+!n>f2Rfkx<^0E}~(HT_pR7~&9=j-{iwqmnmw?#;rIWhguM2X{s{tLA~- z(OV&x%SA3GlCf{Q_W@?E4YOIi>k?m>&z&s{7A~8aSKCI$2q-*5J?Y01MK~|ve{mgR z8i|Sd_iw`CZ>cImApoP_s(M8HbFKu}^Tc^*Ues{s7sM|@*ATpb^OjXP)9^FYCzpCL z@n3CJaEWjE?P10g@-#YS_weP_^DhnJJnr6a^1>%RQ%CIp*bhme!iIi{bJ9W5?jULV zsy&S1arkXl+m~O%yk_YYI;rL;HJDmZA7M10xzK#ja1a4#?{gE7T@W6j!vVgjskSF> zF2z-&2_@R~t|N^y9dm`g7)Q*`D3oq6SuwI@D7AyC{rQ&c*tPyE9Al9j=UPFyJGQ6k zJKMjwA;&^STiM9^{%AhL;a)5oT6>DZWJ~Y&hCn9I<5%?!P<-=z(YDSeia>_X0KrW? zDcdRI->Y0azpYg$?`~v)u8D$EHUu@Rr7+SzgriOBeK|~w_}F#DY4RL%_?Lj1_r0!4 zM)nU4@C4U^8^G#d86)Ku%Y*#KYB78A2klp;9pET)3M@FB7YWV zOy?K*dx?FT?{c6jB-CQgf}dN zT$Mn$*`EpwkrjVoIg!IvW>0v+u~;?n=SnTxG%brbnPNAcxIWen#q%RrCI60maCUti zbo<(jIqKFzLxG9K?}ouL2=D9kvB_BUqA13xb6Ayx6|Nbn8SNgiB<3uP>nd`qB#UM_ zipTJB&89EjqtbM_iN~wnHkr}eG~|BjO~!*S!;;fge~aXJw&#YCkGIg5%D3)Y^xV!g z&WpJSq&)(kL9IaQ5YFf-D70sT)$uc~A;6gx*zuTgC{dkPM_IeR#xaHj)URfSQ>luF z3AJQSD8a%Kz$dU6xa?k?S@Q9^ZMx9G9LH!!(u4X&r{~^JI7-Ou@}Nn+b%XQH7J@0w z_=X0grSolhXUf`PDk@pDCNb4<@#LI4<}NNgIpWZMoWM27d8GX$vKz$l4OpSZ73NXm zrm7qW39^Zm9O+2D3u~ovwI9*`jl&Uj(<^Mq$C&yB$VmhV9K>5%U$2kreh0Uex&{V( z<75`fNLZwz97*S8Eb1DzI$U1&{5j0jVpKMqtQOl#4bt*HCT6@lSmlA!4Q7qvZoM)F z8)aG8Aw|cZ8pUZ4^WxFF|Ja;dQm;gO6#VUs$qu3&i_?E3Y>&mq&hKGkJy=$qW@4|- zr%BOqPlgGxY}BqX@td>0LB z9&dpRqQsZ6;KO>Y&X;+~@}^!O^&AX_X)Ylrn*CuD3kDR+{s?WC{J1(@&Nq}m4iWdY zogkSf@!Tbb?C}*PZG(%0!@|Cv&PVFQ=}vBSbuTlEZ{&%tGJVvRsGq!kLi0_2>%0x&j$B54EpYLgDMew85PDc*&)@(^>7) z@B&EJmQ{8-%8jFRPbSnvyqzi0O>6JDU73ndFR`(lX@o4I+}f&Z-D;&q5D{!L5%~g7 zcsEp{{Q@ed!m#*K8M$S$ij4DzLM@RWsuVe25>P4wR84MP85bnS6bCOd%K7VHSnjWcJIfsQ8LYf%|%iv=cavP6O~xW zKIf-BN~hCmB2CQ`15JKqo_xrf{NEL1*`%YBe zl-=niS<%JhNkRYzTfp($ud&gv>s42nob0uDTiJ(wi>M#>&C7^_d6UWY5tL{~U=6wqi^* zfWy)^xmGYb2s9&_>HVUW;JmgQV}ZRW7MTsb4(Vt-!td%a#pRJ3YDmp+-l&u|UkcuzD+g!f7sJ$l*sT5$N-gP^%Jg46#0q>#T zps~G5PmvAv70DAAc|XD{<%f^XJY>;WJ`U%KNZiiI1-jueE9ZwRG|a7jwuG03chRjI zPwQz|eyK>drvA{hTz-YTCRW--Yntd=%MQxn|4L5k+ANFHC10VR8?SJY6C6`kl zW3_UUCEw9*9;oE8U0nU~MH66-$5j3v%3W+ZUo!V@nQ<+lsIKU%;fWT=iEAL@x-tH) zT9S=6ZRrCfgD+@vq(G=i!Yi6zp zuZq*ZbbYZZJ}B3$V0d;i*T*rSgli5wKg?`P9#%T#XZ+P%_PWHp$+TwB?m5W+W@U|a z?Tn--YC|E7<&*=dltAXaU2T~8&~~~<)(ocSjd0+1R`*hAs~HX&pIhwj{^Z-^=F?m& z6tCPR;V2aYYPUp9w|F4*#?)~!U|oh&0#^@mC71hHCya|;Emj&oWjp60RUNzxT@0uO z^aLK?3x~HT93E@JkkNQOJ=a*Rw$`ord72i0hzL6N8afGIz;{0$QFA`Vo3<3TmOZz+ zujygsrt;%@L=Dan<08pNAw?HW{t}OvOi-lZnspt0PI16tMx`aRc;{%r(Y43UWqt2* z!k~q5xK4dghJn>KLGmOL1FnyjB8OSfryl7BvM$h!%}jt@ftnU}2S zYU=LXc`14?v6PlysC)T}I?x-U7M6<_df4Xo*Vdpb^Mu%K{iY8s6XLTK_s%*!s6p7-^n$xXO zYCyZ`%bmyz00`y@mP}>FZk92?89L^doUFeNymUrjVI?oO|e^Vr9lRQNIug%hc4R> zeS)w}k#2YbNDRi-fCuqkU|p0wmX{G}2WiHG)y(ty+Py#WEVqyjOiibQpb<^VK1;5MORXH zBJc47_{gp|MQkF+&en23;G@S~B!}s;Eojzp$Q>IzZ{Bf~GA=uSp6daFWsJBKCsB8;#2)e;DF*fawM*r(t zl`ED7Fc_Jl^A0=rNAl9SAFXyumvh^xpi+?w;CtK9Yaw4a-LHy->Jd z4Q8`Sn^X(Mjt(mez_lb9BMYI)YWX!iw`nHx?NRqAFG;CA+Oe|X1h91S`PUvX%t|IA zT{d!8liOy>XkREtu|tMRJ>`C8Eqf>SUSFAEZ{7n`0FYAlw0etC$CExgX~_6c z`a#-Fpu~Bq_w+#*8r*h+aUJ25iTL0ZTnPhjH(?GhTbQrTu<77~=D_-+^UHDyMcQqB z{aWQRb+3SXWrOCgBgtelj?WqQz3-2X4qKrMe=cQplUdBo;%}~8Pp}o6>rJ_fgm<=_ zEG^q{%jt2D%vJSNN;mHRxKZ7q#i;2<9>5fA-ylG}q209NRL0^QooHMFmBpyRQL7CyZ9A&Z}UQ-A@?li_lhuBwZRMstek9NKjF@Ev9 z?Q&XwliFjU(PN!2B>Q*_lp%{NBAX!VBhRTc8~Xsh(D!yRJa5v~UAdTSlgs;VI|$1R zFqo@SZn?L0fT7bq$=HTe+dFHmOS0MXZIwl>RVD59=C_Y|hsAzb+jhIVtx@MPoD_d~ zI`9mW(x`B>ME(t9w7-4qPSy)}dTIizF3WN2=$^i7oI_;vESn~|zlYCg)z9xl)aZnx z*zgBcBnYPY^8AlF!1;*Gn>_#sHV8Lg|GKbIzn4I-e3iZs)9y~SX_fNiOyyXz7s62& zM&b`D#NqmTZ5$Xq;`ZsZet5wce`N=(KrL)r5s_sH=I?GUa%hk)cfK4N4`ilzAB(Q? zH;zP{DRZaYat`d*jq_bp4B@mvIY8kA8nu)0a6al?B8TUB;DUrITOmx*vWmKTOHoC^ zZr-ww3^W(rv3_tcA|B@ocC#t%#y{}a!ImwRycr%;Cx)G7q3@ zDKzQ)i^*IH({A5erWz`)u*>h#_wyLUD;+kUN4PIqJLp_a7H>jU#&jXg2S0jNz`aHL zI_k_kdRoEiY10L7H9Rwg-qoMGF}y$#`erL}b;-xwva&-nnm+Yu4VG$9yREUZx46w7s;+w&`x4uw#GIGuB<@T} z9mh~xOH30mFuvomhBmLGwuTPT^umsBh&^ZDdn3POWNw%HA}w;0vi(JZgn_~`;Z}sP z+}>x9bF?LWzWQw-RdwFC)n4B+ZrtqsO}_0rA@9cr-qbtcT1`d^FY|W0d=8q~*TDk| zcL81>Rd&D+kx$xn)UOV)tA5@20kqal{5Xb>n>qXd5>bAo833N8sUTl{)|AH4$@n@u z{3iizbl7p`=U?;O99Mf-bXjbyTvDo+Dt3)Yg2>2cBalXc3!c%?mzZT(J-+I5izGiJ zluA-74%F>#@kg@Dkr?-;`;oU-hn@C>1gQak5h-2MDLip+bj$hN#Mz|@d{lVavGk7p z#&Kc#xSmmdR7i^V{Z52A$;rn}Wev?YLmUaR>aF=K7W9OCKD++u6Xg`nCfCLeqC+vR zd$LD=qP@oIxgFPRa%f$r7W-d`5OyJ({nK;srF7?m%PCQ+!ScgBvtVoAa_#Vd+v%K{ z%$-nrah3Kv*sp;DffwL`cdfuGc=Ok>>YW4$NG^TldWr@)dy&;%><72H#>{dPyDFt# z!^q5tc+7}=cRV4KQ-SMQoAAs}eUf+f0x|WeNcKPNx$WN{aQTn;SU%QE{?AquU0tu= z18*lSGUvyw`(~kJt!>I)A9jkPx0*@S#b!V_lg1DV0mmUuw|C1f_*Y3>30ojfVPL*B z_a+`}6zHChF|Z5kff{WvN(p=XeyZD=sG?!6ZVnHRPX7( z=0Nc;$#PL|=cX%rcy6k=cC&n@W<=m<5v2b{b0X8Rw>!3CX-!h6%&>?qE#7%97=F$v zJ)#0v)pF;{xf4^#HH)XQe9L{1#?+tfJgGdM?W#Ny_PlzpI&OC{^Ia~k)+E7v@pg-8 zuj}Ty{Sylz^YpJiAz+>q=S2lxI&T?;*kmW`L)c@Xj-(nBf<3vOZB1@|>Ku$BR1-ih zzutFtN&UeBK59wBlHv5Cm=}7Yobrr?pTo&| zai`#0gBi-p(45Fl($TLsPp_Lj&6N$|%7I@_Y*X7arycw?cX-*KE4!ThV52`~w`05? z@=;na&?Kp|BKfRqZF)+z1h|97(B}Npbt-4kd2`vnH`ZQr+e!sbX5Cb%WvwPL|Blzr zpzV4*nDps%L=s~Zba7-kpZCEBo_7Te)v)VHG3ZUI>h$RY6?8A){dbSR*?>Plt%&O6-yb~EUU{M7N` zb(6sotMe*|>!OBf)mf*hrCssOcU2+_w)y8RzB^E`u(qO#+58D4*f+QE6oC^!#YA|y zTEw&Vc<^M_Bm87!pVm~>Z%sx$lC}F=_~IMYoBPo02_Wl}tIRFVo`Jw%6cF^6bI#^E zNPBoEHzm>x8-VFe1MwWcBWI+*68wZ$Ol2EHeE)Ybrr4jU2WSjg2|Vu0tx#y61qSF8 z;06@E>`$JVhm&9Bh? zqk$s3>ip3K=$hG*+bH31`A~n1*L4W5hxj~ivfKeU?>UXOl3&-uCA|NA6)oIqZaHtt z?|x$5(7&INIlW}P{Fi~Cd%j-n_BQuXvzqkHA^gD{4*in_!bh37U(vvtV2mKqoxRfM zMnsGU9wAn{kQ3Td)S&M}`V==kMXpCxZ}(k=Qvz+eB=nOIv5f0b;+_HbV0;30okN*! zu|;EZ{QyPjS(QO+msJ4|j7^~SJCrNMc&}XIuQPB6?g}UKRr*V!i%io?=H|RQ{8Q7l zB(e1sGo0b8SqTYws69ofx>3di+~V(}U|1Rnr-}|RLW5q7ST{I=MXQBzui;;QwHmQ1 zo!r669$NdRmoxg<49oehSAMwkt+VsZQ|#$P_8_xS;JJh02&lVz7KPk(o9DAWfH?m| z9gaMaO!D-x+D4Qt=;*3%KK|*Egp?%~J64Tk*jZaFy#^3`jaY?z9LEeO9qJ>AOQ=C_ z2l~s<6WS4kH-M=;kryBY$<)I6DN4NRf}^x{b?LJ%*aff6Gr^jok1#p`Y zjN$g2uCR4bzqqqQ=NjeopWUfH_;w~NEiH|zCpSPgdAM6)sQGkw2^Xn^P=>bY#bu~t z+h$17{&mUVEWax2aqbqcaM{20Y#|Z;3q=3;757_3sBV)j@#AiRde@9C7t=G_GuV3y zWa1CG5cZy$WR*<*l`lA$zI$EbOzJ^j60w4DF_}q14ij5Arl{wM5G;q6wMkwk`F2%l zu-@i+io1bP8!gd`+D(=8Ia!HwIOsD|tpz~3ucyELbwrU-6G3*%Tz0@&bGp@3j@Um7 zToeUx`l&zf^U3oGxayTcIzw5kUeTEA--cd!|6(Qf*$CGWWwW46-RGAdHdnB&8)p>} zCu9i2ZrQ@sK0a}lnTnBdI&1ga9fny`VZl=7hf=1@gEakG-A2-dTpU0XMi{=hCM=_m zYs1oTQ<-t9QHO*A+on~}{P7X~%DO_eww{W>9Yl(FI8V{9N`@mTlfEkr3EQrX)i+yU zK-|@*P3k(#Cu#_exG@;NIp0%##<+6n?bi;`TqA&W3FBJ4KXg|lk#DDGg!yfBfAw$( zfDE#HkXA*t<{i!mXJ6BVROh&g>Atc}2J6Gj*vi|1pGC-!BzyE{ir?M>jDN1hs+%o0 zz4|^P?2Nv2CRP=%0(}pjr&2#Y?S=DenzvnOO;r)dud4+oU1)B#y}m7UZd+)g_rC7a zT(4?Kj{XcCHJo`II_olEd%V6vAUXsW4@;=bzhlxR-KcIvIHhd2ZBl>6zsLFBu^pM) z0bgL?v;dw9Z*W+D%&ADJ#I_@pEgMalqFwbWzdG&%!{O3=XTlGgCWHYqL~y^(@c z!1yN&KIlX?0jYsDfv;@_Uue^aaeb8@eUvbAZ}d(sD`p?Eo~}o6RJM&_l2ue-*=x%J z+v4#s2x)rkF?xI4+CRB#C_8sqguBcDefJZ#$*&xW**B^Z?_Iz2W)@F!;Hj`~wnJU> zwMcuYrzN(T68R#%ELlv}8Y1xN3;(F!T|4~?qD(A{tu$f2{cOi2!le83395lOl`dom z&xUJcv5Ie(W$AnlEmyw+tM%P(obay?++~`M=UP-4sZTS%{IcT?lny+*^ETGjF2(SF zxWH3QWzjLWW}3%}srk!3reLgr(jkpsI55ss*_O!PeCVdLPVA6(g)$~y4$P^e`SUaj zH>#zhxl*DZ+63vlbtZhLCT97Lv4W&WzFCukmb_C4C+wq3R5?#JgS9=IzOTDYv*DGh zKCKys61(Pu{hk+{9Wih^%=exbbwOk3+0^U%WCxdBX*O~~eAITf_D6s%SoEt_>l1B%<9?CAC8ohns4VYqTS`~3xV~I(&*pi zn#ZJwHpsj4dvAG7b}J=OxSy{IIQV8M}0htM3odp*aM~$3*?agF3A)dH({I)ZudnwID zZ4Au4Etz*xvuOQID1{)+a7%(j%t^c)1J1eC<9M-u{s7OS)D<)mGhn>(LYmEETt_0} z-mS{}2qg_|=l(qLvU&|lj}>UGFx7Ay(W=)T_Mdvf25 zE{U>8#Z<{Nfn2jS>_qqj)(7GF{U=Yuc@KAgwgwa6&|C|ZB5#}j(e<~FR<|#D1V4&+ z%@*^_QrquzoS=O&WOD#Vl_hj0^4MHr$GEGHoSs>lA}^BNEA*w7H)UgYE=u`faq*7S z1v{o=t^0;Q0@JB+FUE;b@6VpTNNIDf=W7y8xl@1nIyFe(M=NdM^{G$L**zAt_^Wf< ztAFL?78v+-p{86vffIlp9Ng8JJ_$zp;j+9_jc#Ra89;LrS9&w|z9tOP|9x zoS@^51g(7g_6`1Z$O@uV>6eUQK5-+uC)vxHT}L{oi%{+$!@>&=w0gJp$_4HT(G1~> zcKr2R<^4JplD&8Dx7KRER*wJLqFAkAw*;(v(}-C=^Ys~KnY;h?Ue;b8 zP-jF~D5<{bB0KP|;0)veR9|>(ET#gjVzVPJ94&o*@*k7BUp^D`cWBz0#fWbGjEU|@~3LD+4U-;mk@`=wNf~y+l=9vh!A=4Z2tOPtff3& z0!dO(9TX7=4g7?4-z>TP?)UXK!Mh-eV~d6#mP0kgyq^b8Z2!_ZVKXw87#aAvkmmnv{^2pudb?aqozrt($PrhyYb@xZd$PI; zyGd2>^1Xp@QOSps@(BGR`8W?^$B7k>)Dl{1$R-dv0`A&IMujth{nx$liQCA9Tm*rq z%|&|z(@ zy_i%?7BaM}<@TB26n9|B>hhRiRII91N}z=m5N{4krM8k#8ywBAp*EB98T8OsHBKNL>DG|C+F#G8w(`P1YWMRY^ zi!`j-KUQ7gA=ue@8mZcP7PB%S8nIdjTYc%Iaoe?32^D6_EKZIvO{*!#QT#_pv1BED z7}RYLS!bnwv+uIvc!o1@eQc4pGO={B{JFE$sjgFJ|JA-V*}7Q`VBcN7g@na*8B2Opi0lAOQ2iK zuzLPg6OcZ{QfS$xj7U)8Et@XUa~?=+u-()4GbqYTx3p%Nb)rO2^D8o$%=RDN(f3@; zVqhQ`Xc=2Fv_19>nwFaZv*Cbos3IEp#H)H7qrl!kE>LE!!r3VIzwwi7%Hbh$toa1H zp~D?8Q;25tVb{>!wEz8hV)=T#m?l(Jye@pj-^^RpgAC&J!I@diuCd+UzaEs{)=NCrh)$z+ zbnNdHiWhep7qTphfmOlYwb4<#)T-GM)AS^e*^?-|PBYd~s)AsNH11X)W{9PME0ll9 zPyeSI22C_%=l`?-Wqz5vxQ43fgjXxav|+WB?@m(9<*bHNT}}c6vG_yc&WVF_cVQq$ z2pFS&S%EV8c<%8s8QNYgT-s_k%03g9A0tlWkdG5m6-i8rQieHsVHPH9sV!R z>ycb&!jadn)Oe2(JDiM;eezn|_Rm^=L4uy^?cu#)Lu%_fwNOQB0UOo#lE|S4j!|=) z!-uQ(2;$BwWR|`^j0vUFe^aQO)S{rLY8J}<$Ql@Jlsjd%6i^VdSOz2Hj;;1UERI>q}$@Qv>F2YaSyNQ&&*o{&JWsjExX<&bs zE23Ax|Ik!1A${y_HcKxrAFg~19PV)C+UvTU+WH$2O!bRo(C#qH|Bt3~43Dg9+IDQ) z*2J0Ewr$)=Cbl~6XePF8+s1?w+fF97oxDBI@qIs%pWS=!UaRU_XI)jhSUw`n&{6gu z>PxCLYwD*PalcA=oNRe$z9A&!8l>lv6)#u&-^Gmk?^MFH$B^%D1Y6^>vVDk(1)?2_ z>NdSLJ6#82-)=6mJw5>)g{RAD-kD~w75y)WH6T$qPS>OV#UtE}(uW>*Y z_l0LLyw0}+Y}dXHb?}Dve$)5Yw#FW*1xi18IxxZVL`!$(S_RfJ(=40xsL){rrt(Hh zQQ3gfA=2^N4;G9)fLE|rtiTyEE60F?qvZqYJR3vjfxI{~=|ZpO`cDuiQY9|U)P)d` z@El7-W1|I?(>TT$MMo@FWZtUIc}OWLBjOYk-SEA8phUwC7st}Q`k;kzvDMf3L2lA+ zv+Z@m_nutalE3omxo^*Xj=ybQCH!ytA@>oXDcC-C(E8O|D^UKXf(+t2u03$Ce5=7B zJOO?*z={8?T;+ac*M#4uf4{IsSq`^E5@=KGEY|i%13>=-f^URG!Xl!Rw(?>?%t|nr zJq))`DM|9vezcS+>i8;vqGEdIWP@@g2QYeK*>1t3&W0ldE zOv@5{?NVxHBtt>95VCFi$2D4c z!#7(fpPV81IE~uo6e3Ut`(EHQK*-vESFkU;;Rwzd>@Bi#$6w)rBrg3=uB%gNjUn)J z-Toug?Fw^zmDs;e+*9{H?_LPq5#)`vGDWR0l>dVtC22gSI6W5e1y-IaVoX6yefyc) zeTPz8F!A|p=`gJrdM^Uk9n66!In?~Lg*&dNwd@Y;fP*sN<|12JUpwpgLvc(Wkz5cU zQnaihMt9P^wZV6F728f`h~eO}{^phAHIvEjYB`nVH4d2anW80JmVo@?9nK{TB*;Ts z0a=M#LW!? z(5^FEvSraw7>qRo6=JbII(77 z9vs$_y-2$o=5`)JeovRFtPxW))8s-H)CO!9B2r39l8ln+FA`!*AmHmiX~p9l!H7?7 zx6-Q_s_%S~v$IH2y~TBMb7c>6r_w7hev zX5z)72Wj_(fFDj@MGFC>Q1t4hN#sfEJl>*uvWPDhM@z)YRXQtf7@>c_av-M?my%@k zR%^gpQAj)%66%u`Ihvbw_LSP=e=%6Fs~b$aR_?4rSh-!lwcC1cDjy^_dbQjVZEZpQ zd}xvt%GBeZa!ejDw?PU3xQK(!+lrkd9t0?phW3(PUvD6sq^5B`R zpE>R|Y1XjAee&xrr#l4Vg57BdTz zChDhv5B|$lma=bBASJ`y3x#l0K4v`7C;m8Q)Zn`vlK8K8g_AY4nkyuh*g(Af*(av& zF-7ynCG))W8MYlyrNFPxt_Bi|TvWe3Uw}VJ;Oiq!i#>pBCS*4lDk>~vK$at|74XA$(}t z!Pof$p)(dmKO!a8q7tDm0^7Z`<$^bk$w`mZPLeL^PW z6`NegrJl*zTi}v6bLn97JJ6#z7S)eM1$81-D@8_6D&)77_uhoO+H~fJ!|d-|pl-<9 zKGWaL`P|=p2dvoJuwpWrYeR0QWzcs;MMX}d)T!5(omby|NVA$TFOU6_9OU{UNN}BP zlS&c+XG_ukAFuU4#&Nc`kfw7`BIX)gRby_llYgB1`yxhffyy@P+97+YrGh2PFOEi9 z^Bd=9J>U1~mi(D?Mp73iTZRoe7Z=}7D>J!LQ#t)oT9;Z{D&z!jD0x;iRS)tD+FUslW2I)rqAr_Of#$8eK#XT2Mzv2PDu3$gr`2Jn<_2 z#AFj>968=T)R{Z5n^z!~src0iMuQS$K0cb8D?h~k1N$fJ2Q_9GET13XBA29BWVtg` z_)6PLy|DIe466@`2W+q?OCK!@UqQ&g*3n^2O;zjj;878qw_V=uQy|qeRJ^O(t9ih7 znvy2P&(t)D;T0(cFD}V+GAz86Mz^qvxH^7m@J|`uDgm?*#oG%CkIfMo9z(UWuYz~* z&ELj<_witc?M!vpB_aRHC6+HdM4MLgtp0rfO5)v6yd0uAYg^zjJf>i86^}y2?kS*{k=rWtg%!!z(z|Fg@q}Pw@GEUM{QR> zdl3w*SXeD`vU41WvsWK9fZMfx51c(XHduL>aV(c!^I>XlZmiGtiR0GWI!0=I!jAGo ziS3b@K?h#rm9@BD8EI}JDzD-;C7&bfSA>-Mg|8xAbR{q=?-S*dS zsV_G`xJ&R5RhZ&MMQyxM|LavZUukAKw!D8C;p;ZrnyF-BrxTJATOy*TgmEsDFSSSb zo>mI8(@)~Z2T4o0@XS;oIqF|Wl6JA_AG;jjZ||pcfcj}xCM;Hdc0SqCXwlQWtlYY1 zTBJf5--MT4K=+i*SFsFRxm4@7KT$C?z&}^aNfGS=vCR&LmxweD(70aGcO<@fQe{J{ z2H5~fvMKut0t}r(WD3E;X|9Xwu!;v z?UCNL6yrW7ksTioA?+eQ@Zk&mP9Nxi>M@5b>i!}~;i9dm=}t(zCKnr23D-wWECyHK zQe?I5?kY6a?KTxktyUD@lzH{Tl2Afxih&Nw-sM7Mz?3zE1kd^K+g)up(*+&y6Yq~$ z1V;jz7y>6oZeG`I9;D9swCnT!j(TU#;N|Z)%0sLZYx@ZBZy~Z&)&27t3JGTZT{X#j z^72Aw#K?D3A&C4$3$WnR55Wv`u|2f~{ka{#lP-HN*!d7FP=8kS$qz+3W&LKoHHUSUZu%OR-Sv86zBiutsojrH-T9 z9c7tBD|B=Ld%wa**?-AhC5BM^%hpKLZ@V@ofx^?|{U#ifJWmOi)hml~J4fZS@+`Kl zrm=z$cPsDiYHT!-Y(=oGtE+qs7F~#YLMK7LLxsNI(e+1=ar%dNIk53((JO&v5{{t$ z#A2i$)Vz|wR2B%xG(-HpHF*%&ta<(FkyeL8q6tj@>n`-=MXxNwBApWu0 zN2>C3sNuTY+UZKR>E0`>1V6-HN8BllrO6r<;hJ0np&-RDz z=<$=W&dbGA^|~f`(8cOW6q@`HDB~C5%84QWODB_dz+92-kiQF#wVjmJ*qt;mZT1XB zKFz!%Mg)0ynV{#OO5^$mfpf28)td;N6dWM)gs60154xIKAu+plD$43*PD=wjU4u~^ z@cya+gZ+Y+)$FRQ&e&{{oAn?{auWcg#_I2jU9{aF+LXS3nVP)SaXn4J1h~MIlmmYL zxc+NF*GT$B^t8IOzZr)Qzw8mzh_Ty*!peoNbOuLgW1>Hh|HdPrVi&xaTvr6;hTy5; zhB=wUH z4(DpRk=bzMy~&<;Tlrhg+w3l-sc*xRngFCUG>Slyq}G7E)5@P{dn4}`{IA^~?=8)m znx~Sv{wnV-m(#YHhEpbyHQ^$=W^CV%bV0%VMNJ*!`@gKSuVwu3c1s&@*ZFk$^4gx- z>{hO#7NFm%z^9X`4w&dIbLa(y0Rm+5Zwp~QTO4zRCOBly6&z{-J|4%QbYeIWS?|fn}fFQj8VQR1x~TEo6XO zF!>FdB~&Cy0kWRj?whw2(8r(9PH1?(vzWxCa_1M4%r&zYpQn1jf5c6HvW)5fb46xk z{`Ke!9Z_AWW@vlM3OEW*dR{WGHYnVEV!+x7Lh0?$7({68cUhDKzL}Bb%i4 zteSJ2JB#~mvmjU)Xtn$P`gR2D=%^~sXNK!6=$$XzA!M`G>$+Exr6c=E5bn7C=R}vY z58yA1Dye!&)_PH9J(@6ylH_Mdz3C4 z%rvp0_)%eEl$_nKsTnpQgNIfaPIqZ$XN}|8L^{C|h}^8_HuV{hb%9*hj54J>D+C}t z;>oTy(J+zaHFd;{mgJJds9Hc)1na(CfAZi^@qep5FT)JeAnpK%x5kGbHCs^kK@JDI zUby(2WL%2J!+3kWXaS9r^>bgG<2vJirJ)*mU4N*^w2y9`esK)+g`>V$3l)4-&?cJf z&2v(%%l4`6ZnvHbs$C{xn7a&SBFwS`Uf*^+6c7Cr^|YN5pZ%bx5eAK3DyLcj9qWsb zVb1p!MR<@Cw@k8p552^5_}})@FgK`q`p^c!grxW?v=KrXw&cH%bi2w!Ip%m(ERax z9*ZhEYL%%^d3MD|JpCv-mGMe?1R|gF@K840iDwdATA{rZ@y0rF5B)DxkN)>=R$E*~ z`rvxmP-b1ettEDZxq`9?R&_TIf)Y{ZK@!I6s@me~5^TH8Qwcw-l|Ny%4sG^flBMji z1imp!rF3~6Hw%Z}Z~Z8E^CNrH0g1$#*ax{+8*3KD<%tx96dxBJSGCidTUy}>!GS&D zvQn$hO|GOVoMuQB8Ho3&Ew0;!+L~Si8&6AJb+4(1`+h97Jw{o#pYr^|>kZD8(we~+ zFQ+josgbhN2Gre}6rff3*CgBGwCGC24j!pq%F*+>i7j}${kj5E_Hs$EPf;K8okFl` zQU{etJxaBq@giV*$=-O&(n%)dHX?kU-H9h9kVn76fG3QT#DH2jP$is|09iY#ovpyk zKzMv`cfbdX(Z2s~M(_5VWT`{LseA`#qrATcPSE;Im_J?-{Br@hesVabR!*n4IFQ(q zW~Qk$Ji;D1$-yztEjD^gjyBo@d%9jCH=bA)FH_9lZ_wHseX@VQH&%0j!T%M>O=zRYwo6eWx`gzWmgc?Yh_;5zv3 zU%u?m7;j3A$dB=Ne0%UO zeks|YFPUbC{&6Iy64pY;OW2{oM)C(6)#GnF4%f$WZF=F_PkPR)noy*#t+tAtlVo{2 zWjoU~;a68er|>5_=|~Kfz;31FwFHYff=wQR4W2WDwo}748;}FSz_Vp>|G5R_2@TQR z5l3xC%RiU=rJ1 zQ$o@sPhKt+a{EccTGXrK*pUH}}_WQ?CkqYFs(cXir@PmKS9%=m;9)vj=O)voo>V%fxrf+!CgBlQ2SCLAp zNsa729^1FeuzW%vcd=fz)yB?E1mvS40(yVt@)|InvEv+Pe8)XZhOPiF9mH_ExcM~f zJ>p`Ie}pA0z8dnr;UP29O!APDAA-%!ZT5p@lc*oD@nAzYKiY2m$jy)ZMC1c?%EhxG zT>!Y4TPbhKU6~bqkMCUxJeD-JQq#}?@}sY%Bk-PBJbFenKP(}sfx7aNIgxAI{6CvL zV(@Evhr%({vmfkcT zdn+_EZB;T;g2*w=UaeH#pD>n-I|O-!SvEFPdS_|B4P8pzH>W6w-ZWp3lT z>CfrzluDmKZ-}=Z`DEbdN9c67U}avmcjG%}d2jHXHyg*z(GU%p1~|C0tm!tKWIA&L zcm=!VE#lI5U687V(DU*tL@ z2Mwffe>0@u-7i$rSy?4wW+_VLsNzLKL{=o(jUaD?A3`UShn)}seJP^w(81qxLmfK(vV6xrN zE9l)MF#s9dSI24epJ=ksA*KD-H?EP`u^Ak%Cja7fl&~~mOneDJInlhyK ziOqju1p^D#RIkqrXpf6+^jxIR>PLf0p}=)81Do(DpYF4;Ucm$*Pr2lZq7_u-XF@Zw z!%GLGHw!#JQW?i|lf(*fuYBCmeIItlF_HV-7i)pEurrU;yS2v8m4_y!bi)D#i*Z#J zL>YORx5;H<?NwOeUVJfEvY4#oa_j^Rg zj?TLV{?Dr>d7pQ-x-ZUn zHDj6Iz1^$3c~>ZW_tD0*K`cz-WHZ4;gxN2lY4h3lH0e7V?~x=F_$nC)wV9C$?N{Y% z-=7$NuGNksbm3o5Lv5iz+#N!w2aJHdcvL@hg{3?lK}p-2h6<;$gKY?ySmhS1bv(p= z-kO<_5o(!F;z8%=iqM`|>~7&7vzFwdM35*C2_QLds!piVjQ~>$CeYai=HIr5bD~Li zZiwO|Bu>n!UveB?|E_ymtk6q@u2GcMJ7i8Sw&j=f_cRvC631`{QG0z9gU76f^nv*-*tC ze+Dr>Sh$La$O^Q*&TM^v0Z5AOwY+EJSEg{*GSlnb9bzv(T$1F*VM)-;<+B=^A0YkS z@GS)urV_W9;Wa?W$69|wAUcOXAi#dGbA*;k&}Zu){0T*{+sqbonEuk%$tE(^>OsRS5m*C72QeAJgsN!@AIX6^6-#`o2qjmjZs^TE?v*WnZ zV|24A&%CvCgmBtU*K>Xo*%ENFrKp-@Qc>du856c;I@YL7uN=EgDQJul_9sSUuEp#Q zACpi-fZ!T6sDQ2;GeMmuRtVrZ@J!o-t;?$&d1e7SK-CD=hWos0j^g5Fp*(=A9V@@; z16=CkUEboNU&25iBVQU15S~?wKMWAQtL$Yl>D9rM8P97n;NWe|S8sttrH~{TMMsSb z`gY+K(h0xId$T~HItzc#bHIhP^xG3^WFw(t(_5qnJS-}TviVNMjc*=2{?G~OFvsoG z57!UIc-AIfs*U)Vg1@lw^~u@Jh3^6t_%t;2_}Xpw(98_%OcE`f7xp;x`f$7u?86et zF#_v?eMfI2WRiQ5Cd(a=Ahx}>muP2{0?EKvW1HDDY$^gkbIXskA$Ov8+#P;_ss zc7A`l(`rqXab-R7y?yNA)?zYt1aumTTC}L6KWp6Z$oboXkLS+FLv0oYi@!qqup@UqxdVu*)sZt8c55k0_h(= z!%n|_UBvw|pYt&gRdacwe2k2d&D)N%Evprd{I!NbG})X-m&Q~tF+_ujnHZ)7xXmaa zf5GbIb|S4BpM0}0_V1KzXI#_W6V)Hv*H&#QDh5PGSl&SwC-dywvT7WGX*dV2d@`RY?5VI-`D{KrhcJyBb2FOVLObgK0-A5dJp~zGY+$H zpb1FeIm6C&aFWw2{r$~4`;t&-tf#u7%XhWMP}BHoW#Rc_t6RuxfTp3*ePvQy1i&1@ zgB$9~L6@T9Mv!Ra$a+GFGzB6QHH7)z$o(D#%h}NWR_j;<{tX zioQ**NMPElredt`H!zV7?f-lNk*zc;4kgtr0V+a>tIhLIcf2koAsg&!FG^lB^{1%G1@%Z(Shhvuh92>#Qj%q&;l07ag zX>|8KE(bkE1YsoRDoJt*g!D7PaUw&b{U#MyrDgj@eRbK(@TK=K?f^Wr$#7Z2JIf7? zzMTEWRU;19W>*E65I{@PpNZcmeiF`C$b1%FJ(F3p@1j&Bv*r%*W;vb~iPV6%xbJhi zdSpFD*X8|@X9wL7m@%~KzQ6iF2PN7FG@aT`?Id|N~(Kn zhMSG|p&hYC;blJ${b%Z=x2<;l0C}p6?7JK>$iQeKvZfR*sSOv|(Vuh6%%F(6I_M zyAEG3OyQ$u`)h43jWvuV|MamnHfnF1g`KW~O@n+Vw8B_jrO8_IhhxJdhbg2Bc4Ebn zcz3)gq9A^__Q#SOjXH~q6MTG+S$-tc@IC1L>Tay|)iD>|1`qY27u$%zFu=}IT1WvU zM75mWo!cVYH{=b!=`P*3HP>?8jMb`%j>nd%LO#Ga(hc1OdEXJ}34tqpM31@dGaMu` z{tHfSe2LbHm4kmlK6`(--|_O_!_0T=pz`4Cc`Q}Yb?48}y z=~3KPM4c%#D37cDp=$`}tKR+y6$+91pfGU0;Eb|pv91y<7ljoExXpFC(}&+q74cGu z)N@u1ZV};UU?*?FQ?u_HrK2%9A1G8!(@?OyiE%>iXdth_uM+puuKTH8-J0}|%Owyl zb>U4KWLYs_9w{R2Sv#&QYuAG3;Bf@4!(yKf0DkX94Sx*uv%%ZYQ_YDTr z`Hwupnoz`@pb-q6W-vpzQnbv)R|(?(GjXwbE$F;z*?3-s%}h;Ad2Okj%3y;DJriC_ z`_?qez_*zeb-9_c`Jyr>jO*WcvWVPnPh#jQB^PlitQ~W<&e>yTir0QY%33Zzm~=Fy zo%8u7^nxW15{&TKN?xaf&>)H4NGE_HrA-_xhBR{*P*C7W+qc)+eog+>2;A`5F+Qk6 zrSkvr`V4J8xdQE$I1H!UG3>7J{#qhT_{sAmoQack{wNbEvxb>^`Y6z9w>#X*UF-3D zf|U`dIHn%k214`Lbb+}t8)eIcbD-){(a2zqLeohd<*VhWY$7`0_RZbd6@kD@Xf4x~ zz2RA+S%fTaYru0HtN!gKc|XC!1hh8N1qN>KNqlZ^rDNqbK3;lJrq8Bfuv%fke*d(Y zB&o&|3x(~e*I3i2*DZWX6LtesUeQN+OeVybjWwKXT|pik)Rl~U2zU7`+YO7MizdJt zUe;$%OLN-C)|FeZ#W!C#ajkZz^>6!E3P94Ofl69xMCoH-i2KEyK+t-Pm#$0t`QQMu z&y+QdMBrm0Fi|S1rDf64*ZZ!zyI;MCSA=$E8Xf4j%9v{;t55!uK=w`9WxHb;`Z7~= zLEcs-2q*SdXea3xoZ~+P+3mWk`JFVW$k544;Bwg|)&BYJ$#~)UMdR?pL+y1nKz@sO zbTom8m|f3&vhCSChP<%Cx1{DyHOi_OvVvGbqb1RyAtscW}!v z=jS!??{t`Yf4VNN2k7nmZlsXGB}O1Nhx4y;&>Mca5FQzz&s)`0EP=tHqo54lJcqU$ zy=e7anB%mH3iROh{{tocSe8$Vi^AUb6+E!gy94xG&%wk$aN^;PAZV~LQ^9*Tc!J;8 zJr~mJY~w9e%F(!LnO;MR@8xe3GHaEPA{am-`4q(&^ue-XFrP2OT39XTjCPp3TB&+OH)cD& zHC`h0(Ootpi+!#TK%9AZGB^g~;6X*~Kbj9ern z{BI2^B4(cWIdbvoFKxkraId&P}Xpj;JoTXLHeda+> zmXntWngSSm%>>SDMjQ0wK1PilGjEs4`UXjtoi6jY*qyyi-FeB=KSImB08p=Q*w*_k zX_6pN$2w_mkYCyL>gVySTPbCuBVulcoTpCd-`e)0V5DUU|KHcl4=QFq<3+d-x@31! zt@r|7DTRa5n3>SGsPqaMcb&2sA|B8G#kNF1m%Wt}UqjWhf(grSEJj-2;`Kbz9C>-+DSOu z@2fy9Sedz<;CgV<>=kXpCx{=nF>*?`;a01I%MK~|2pP!ZHDB;{$!nci=Krho1f_Rl}@1oD(s*EqCr zj&%ZE7FIGdjr3mTGr+I9>OLxi>@UFthLi&^BMQ_?l)gc3Vv96(H6| zecl-1+0U6%`8R4n-G7l8Q~qxcoW1AkhC8a7_=fXh0u>dXU9`aEKY(20hnfDD2XOBU z&Au$0=AZK!c(`~I1#jN0d39nM> zYO%1CW@>(KEsDffQtZri_wQoSgq|p#va_o6)m~Ab+Ya1dIM(ptEdQ>nj<(xz^K32w z>FifoE>a3T|MzV zhJWcY=F|I>l5i#6iy$mq3{DrDegzg;sq%;EyhpR9Ge&8WmZZ_90Lx>CJ z_l84>m1ugY0z3=YGw3$W#k$7;5YEqbA>zPBdYePU6wEJ-_PF>{dt+WMG$d&;BNPekfP68l%4``T=Ba6NQodG{W& zBu)NRAmSP}t(41(>t+c~eG8faE{FJ=-C#7mNvI6gTJy(`Q0l8hHp7KS+lvQ@zthi{Uje7evLG89k(VL1U)1iL^c z{Z$5Y2D$p&*|JII=gNLdIYhen0joj9`rRoD!>L}|y4X%F5h(BeGd6`x5PKyJyF8{W zCU1R3L+60kfb)UTSd+`zvdLh|1R=c`r6I)YbVkWA`D!-rd*7Yv1Fi&4CUf ztEQ|W3Z0whE_^N8np(as?q;J`&*FKF7@n<)YyG9PH5j_;p@9xGbVuVQDlR+@nh#wm zop#$-zV^UDQ^y_OCaV7NBwP}IWreZypnluAgf*V?i^XvS(0Y(G%HM^INx2)b1LFD& ziqqXE;lKorm<9L*WcP(;NuaRG9#et@7wg@|?cChw(dU!lLsU|d z>9-Xq7?jra=9;Fu=jg@p2o#?Iv?aRLRgWDHwv%)gm4)Si1*ax)#YX#Ob$J{{FaL+R z_3k}MC*`S4=A%O4sqLi*!@>ah0K{22(q73l4Ms2Dp@NbTZN{-HOw2~x+hat&sL}I` zIbOb=LZec|ih~u1vIfp2$J&ajSFfj-)2d?OUt-@+vitV!Pa;9GRFi`Lje;oUCQl%y zDv5$OEcfZ0-qYvqG=({S9^5QIRnXYybetGfK^K0^de>oGbI9juQm4799lNCqjc0^` z>K*r*h$F>0LYAEb>L&VLYehxRfWvw8soMI@2TU2lHh?yO&suSG7bH?JCKe#oXQ2om zHokiF>7WU}R4pA_nASUew$;abnDmYG=;h5xY!kkJ#7|2;B1Ss#<%(X@iol1SY5hc# zfBbvZahs@&Xj_gP{sR?)e9O4eWn6lFIX8-|9M%C$Eua*>P$Jsv;lXs{{okvh)c5Dz z0I@uR9y)rZD4ToyZeh(55-@wb+}1phUN#0c@gh0J_pzeo*0Z#sLl?d=dt~IF z&F;wS72||GEGx6DKI;0uP=V)Q|<_8;)WAh@?tKwN{jy258jNa}K z4GEP#$WfjD^?myY{>boH*3vc-e9LC)G|;3qG&i}OBYj(1Cl*!^yqaUjJ|=PaRGm{X zcD*|ywbN5m{TunNBN(_GI4ZIgXbE^N3LW}O#2-}Ue|-dA~miQjstH!}wO% zkHe5Y@iJZiRun>4uogn?@+WFaYDz`we}WMP#0-mJtaDr#eXHJyL`ctGeHMuKBE>s1%O6OO1+<0sXG!8TFh_qi?yL5k5f2wGwo-=ekRqA#wYiYjB4ToEe zD_x1Eh@^V{Q$$pUilBZ@!hnZsVbFBFxkF2!pi9Eq4SPJ*327p`iF6>U5|oGYyShBuvzy0b3GLl%d^4D-xztik z!smu0(%dZyRhN&Q$~9ZOl~wJ7JL(HWtBbW{Y)SIanG!4-x7UB4!=42KYuXNKZc7Hr9K|UDz(a2rH0CX33kda)!D6cN}1zCsQLASO>Gk%d{+-f&*cb4)a zJbeD^r_vKe*njz_wA9ECoQ~DH^^M4s+Gbs57sAdeLt;N(Ls}&s?_8bQNMJvS#$3k* zn>mwftKPqTwR4WI+jv>gIKk>o@r6r(M1S0Wq-%t~iTXU7Sg`ns_G%o3Yhfx_rq8Y0 zY*+q-e1?w_^9>CSXWqjUa_q*hfFgfQ#_2ygMsNJ$?pz(aO(KJ`msqXOAiUb~pt!Sk zVrhitr$S0WxhDEW6QYItL0KGtD#)^k6ic z!?jXGaHp}$n*G1^(7T$WJ*$*__&vaOMh%5XWYoWn;JNbotufZj#Ta_by>CS&%~A{0 zhsKqRojSeR)l-liGDjGY%WIXMPUZV=6(;FKrbON4zAFVSu>h`|fbBlg-&8U{y(Xx! z0<_-ddKRIV#F%@S)$wc*1$4VMgD{ez#Y6-g^DtMo+@6K_n*dG!@xH+STDEr=T>&Uw;mT;+HZyTz-X^XA@APbp4{G zJ$p*3bX@nSZWW-V$;r5uX#92f%RrhxM~gylDEj3#KCTJFCCgX!^7~wwQY*Nvyo4 zphN7)zMGH0;v!tJkM_h-JMn$7|2L3BB4@Ha? zhQbYBgrjVBtyd0951Ii-%-x{$k=K*f>5RW>-ulTa~W9!p$+){WDb#ZW9XcF6KD^W?BY>BxRL zNND47FK}K~RNLt3smweZZLK{j;nhOch*!cPWu*--kynh|?I&UAsYfyw*An)E#uC$3bK~p3Q)dz3OSJcn zS=04@hnHinlbgxf5J?8xJ^{`fegDDxVI=I$7n+_=g`}gfnLv5TbA8y?LN6-=v5sd*5$lKi_JatCee~PazwFnCNA;wM3;Yd zY!>LB^-%-!Nk0jIgYWxhH6#!d-fGo9y>;Q~8-`O(`4T-VLPa*R|6k0%GRmJ+tMF+D z$HghVCPiqya4Nb-RQsb|{G4;5$+4wI4!GY_*JXf>Ja_9+b(LwON(fcke;>$Sb_{Sps}~+j^b# z@44cI^Z&8f+LdjqYwPFg>!=(tI7_)Gz(Aac#B=-{4E2TVg5n9GScj z&AvLQW`c;gBzCKKxy||DyH`?(QjU#@Y{i2Bz&DQXJ8OeBXe8k&0jTwB$v?iezNfiA zsz~!5mT&$Ru3^6DB*uE0Q;0_iL9K|FfTpQz&1(*8_a8aR9}5j2dEOr-v2s?8w{%vW z{R|@no13sW02$Vz@eg7Dng`^uS}02ml{w5)`vMwf&n zn4(f>_tKVKB?xKD5uDm}+Em#0p093V*|dv`q2XRLUL%db!~1(5U=U{f(L$P;Tv2Ve zw(1QN9nGdlq@ZM~x2XI!Y{w;?F+o!~YySNht6ORIB}05&)2L~3~%iDMYDV< zVc5xb&cvo5at0Tz#zfT0<)9{&2-Mhvy#I&)gw9ykQTE@cr{-E*exiQDaMS&|>l>cE zq;Vg2wnxzHb3jB4C#_!L1TjVRAztDT=$`IjBx{$??)icXj*XOV7irRwcYr- zl}hK&n*P>T(1%nUOkN*OtNf%_5fsB_Uc6}GHDt~lKd^IKGkj1gt(h?)f- z_1ewiUAal5L(d9o>Htjc1fmBgs23zu&8D=4!MR3_n#ORXPk@RatL8I=N^ZK1^dU~3 z8_c2W7Y&{NyNrhR>>BUR0o5f9$8CLmOJnVp)|Y?&+__D$62WLN^YrIJ%&WrvB3boc zeqSuSC?E+P!nX}x+=ppZ485MEXEP+dZkugqd4XqXek6EDq?1!)DY9|puOp6sBPZM_xf`|W!pu&z45E5n{%YvPG7JDSP&* z&#V@q6F(Vkq z^paA{o6G75_L0$2GKK-{J#HZQ^w-u$>N_PpSB-$Qis!orQ7tiQC#D$=IY|&HpW%Bl zsf1VlCeg(Tx%(;Nt2d+O15rA9T#gs#7nAl`>quW@BuRrujBjL7&G-`O?y#Y>hqr8( ztD||W>}ePGPK!~4tb}Mn7a`m?I|nCNh;~@_yUzl5aKK3c@)(vMEYltHugo+mj&9!6 zBK_%MMvD;|ERF*K<-M5H{uV(qVqD_k#;`)@@R zCi#-4!X_A8bK2a9Mu_IWv3aUwTc_pTR+sL0ZSCiktYDR*#)45UF@bI{L0o?|786zr7TYVaOwn<(Jh_!?In?9-D?(|flFH+;8;|1}Yh4C+Vr1xXr z`?y3Nl%cmO_qpCO`BSHwu<>C8CEsadAf*Eq|0L69=)Nvyz+B$DMCjqQhlUNPZTk5O ztWe4duOXY7YoK^cZG+4jIRw(($a<0a5%+thqzw@TxPkoV&ngL^#@TNr|6J2syWOnf z0cD>EacH+*DygkPaXy;oJILh=P@mZqq)M4QvZjpVDx#9plLm>^m3|K#OWU^ufK6atHrZ` z)qoPTYT=`F(7PntGuO{RnM-r;X~;pbytIOMfCYGx|8YH`G|dr-$G{ zRCC<#z#>Aj52}0F_?MPjru3wFoTfH;QVw|p5QL0LYO#&^jI1IO0rzIe3s+l$XAkxD zzs4+TOSoXqO}d)Cq12bG8BdtG2hX#g;YLFMlA%7#Y$|5(L*C?yf1H2!X$O!;L{a)w z-a_^{#y3|-awlLh)?(DNK>$Q{x(g9Z)6CSSIu;(T3AgBqm0uv*;dP--DLajpXQdU=Zn(wd0LZq;Zt3P#bLKeMz zNq`tD9RZ!Qxm8{s!HQ-hhk24?;*PZ5dM9VI-uZciSYcJdmT)vkTCAlR0$w1H|G(bz zE#Hg8R~8T36%0p4{@h-~D7_BUpmHe{PYzq-E2J{>^Gp$`%!&$eS_lfpknoJ6c=^gi zhu{z(1f4e&@=9jwSIklX_aGp#5{A&*8D>668QOmF*DA((x~+7_%9FQuRzscc#20t# z8$)QkU+=$t=S{Jh7IqI}OQ_9Vnx?|bHFit9%`%Gdnu&uI&j;zb=TC+XxPrVz; zeUrOeN~vRBFN>&P2zX{yy1TIMGbO>ZV9TPLlpneQkub%sBwaKc$=Fs4Vna~M+;6iY zAR3>T2jv)!*>uhBL8hDlmgNB;ez&b`dKA}(+e+sYjb6J{7(yM!KlyZ=uM_|hhKhLw z=f+l^Y+J6X`KHGU0K0z&`ugkxA>cO)^?R5ApQTX-&&uN5n;mD+m+xK3G+)A5(j3vlji zGWa%Uv>4SQ<$0EcFu-yz zeJX?{hK>W8@luGh5bujH>53q#iWfx;%qW<#@9XonGYJA$W|psH_#e*7-$~+u5^zJh z;A8imv=H4)O6&ZuqnX8$#@Vj>Yv8;2lw@JJ&jafd=DBnl&klX->h|f^`^}xwT*!8+ z%02B_*=~sfm0Jd?Z>w&w91aV&AhXuRI<&bJUmk=nhFlSUryl4Rrx)_Ns3hR6r2ZMG zsR$FjT@9<~h2LqrUA*$Jpr;jifyiWsFMb>dNYc%rpr5yFvjo%{`4k({EwFg_QD{@d z&ojuZ9f3(flNp;$F<@LuzPC4V=S(EM4k4zSqUq}mh3ouyxUJLEgW(rLUB|N0hmJ;AA4v868kf<-1^nqsni7!43 zTskoPxmL!rWpohTIR3$|c7JR^tS?L`TT;KyK+v3RuQ?wr_4iW!5hC$ebiU8_acqD* zH40(k2t)3*mzGsts$OSWBB>p6`$Pk)=d!MnhqTN5x_nc}OffDcU-#sKJ-3RrbdJ{v zvA*Opg&dY(2$#WG!Q8K;8PkvZCpt>Y0RR=(M_)S=v^R)C-lHOLJN*d@!{tVs+)fL> z5UyZDS+#IxUnf!^D7#hbv15xC%WSISsBG;{OJcjGUcrs1t1AQEOZLsoX}IoeX#sz( zs^d;r4zKpV?)OopIC8aGbNliK>8ximCIHq^Mvb>4(kU(k#}s{SZO{rDeQ1uk;iy zU5}njn+B%R8x(}|+=v_!c_)34p-xvODd68-SXx#lN!}Kn24)mleAxOb#r*&;9G$8e zg`y8WyVd{{e<8}2Ikpe~nf~|kUFF|jhP=6}@!WYqXh~H8cD4P>`SrGCGLWT8j~`Ft z`ru_e!FagaR2AwRrd!PX$5E$nnz6@?fEicZJ-<|r>#>7>DeL3Ius+GTO2IdGxwnEb1QdNPg7sct#avt9{5cIg^wI+tMnT0$tb-iz_MTK-7X^5 zPjbm^BEy7+-nMAYN#iG*^SKlg?wBtA**(d1u_cCBm-AJU(Na!JspMeoS~Z;W z8o7$=;G0wuP$CH!^?sF7Ww*9FR!RKHIE`sc06Upj-@8~u{*!V$6%5mfMma_00!Pc= zI@S!|ZaWIQoP$q@Bf3$-b-f_vTl2Z`(&kGhgB82yU>Gnx2J9=BceSs-c6aaO?>_J; z>$?}NP(s)n-L;6}vhnZRnUBD}z^D;<*$z`UPFBc}E3fxjiUh2m&%1S97=r4|AmG4H zjI2!GuS^;evP7vrDyUnnpiE;7-q6XHF>BBWe*Bthk*n40s?H3PTa<|zdE%@3n-9HK z)zsU4rO2%JMMt%8G8mQzBSD;@?^JSq6a?;sRCVE&!`)HtmzIL4tOQ732>=Y^ltZc? zYF-`ACGdTynKfr&ry*_5GQ!}m>PUVuHTF@cx6K93ua;6SZ*=c_F7|Qn%Zm|A-PNdU zRB&Tq`zIV&w&4h8@ofXf^A!Ms->N=P&`5O(b%S|NAbmtJ;Psk6>yxU*?S^RKc+i~? z&)+1q=i*MUe&7TwMd^RBiZaopg_vm9-Wdn5Pr<9!h4*jpj@{G`evA))y}%R5diiUX zIvWfVZmDwkrwvwkn}_q$7u)kM7Fq+gxQ`D8^Ah)}L1+{pg08v<4_+OmZ$L7L`T?(B zF1oqeF(3i6J2RbibY`(ijq{xmoa^rP&JJ>auXn;kK8&bF;K{^Ofi^V&Nlc~dBnMixlNOE0bR7zS#q?@DnpR+}_E|0!~e_n}_s1|XuL z;g53}L(GRHsb`cMpM%OJJ;6z#oQ4?udvK`tQL2qTo8wJktqmh#!`K(|uRD&+c8~Yh z@{=F>kAHW5Vm;V|Z)whenaC zx>M_MsR{kKkJ~c_(d3Mb*DC)UK=C7%NX!p>=toJ{+szxk>ejSi!7v50c6krH_6#4< z$`LhQG<-T@{|EP(rB)^h_+B!pG^C@gxw<;q+4{yzetrEorx;l~zah?V>u975Rdzxo zZU`S2RMB5Udz}}9)ow%4T`r0Wx4MQ+78g!kxd?8)txx|%6!A4v5@wYgqzS%eKFco1 zoylZc`6^Kw$^J?jyA_6MnPZ%@?{Cu;YQLK%zMR`=1A>LM*CgAfiX)Kh^bJP$LS=Kix@g@moW?_rEX5o&S7LR>SYCRSSM7zeeK#kYx&x?8jS20^Z8#Jd zMvB}NG~A(OT~3q`&D50`H6`tSH>-PIlGbajKnMY%wYck0zbhmJ~b^_ z42H4q(8&59m{l5>WHq)zR#87babJ}nStYSTW(74K8a2GjtC*0usy$bLgGeHnpLk3_ zHJM*~a1`%GZ+4m{_?_9?o4p1UKJqOvfO7Cg+Jf!pX9q9JsdMZ}1y$J6w%l}>CE+Y^ zCp|!fnnrW>mrOvtgn+23Cj1IJRSK5_es7`s}3I5)NabV>dE4Z2RDek+T# ze(YIO8Vk6{ETbAJ{yNceRkXgQwCGIU5?hqGRfFw9iwo1DhQEVfqi#4e8S6n}XknPA znIsb#V@3pPH|#~rX=z?6D*ky8lbJLPruDfXslZ}s81ycO(p$mWde%LxG7aUU8FU6Z z99ILO!T6(2L6ys_ z)dnz(s^D|9IDlIO8m1~@*z3$O$N3L%Q6v@2KaK8lNq=0Thvqy@EBz$27VW^#iBRr{ z5>!nbX>(n=02d=jyX!S(w;zwHxWf*l9@S!e@Y{~LIrmN428T0tYA4*P#CxZIy9dwzv3W%FaeurRN3Qw)CK z_tUeU-srRD7`*OjWZ5m> *h, _ => 0.0, }; + let hashrate_raw_1m = match private.hashrate.total.iter().nth(1) { + Some(Some(h)) => *h, + _ => 0.0, + }; let hashrate_raw_15m = match private.hashrate.total.last() { Some(Some(h)) => *h, _ => 0.0, @@ -779,6 +785,7 @@ impl PubXmrigApi { accepted: Unsigned::from(private.connection.accepted as usize).to_string(), rejected: Unsigned::from(private.connection.rejected as usize).to_string(), hashrate_raw, + hashrate_raw_1m, hashrate_raw_15m, ..std::mem::take(&mut *public) } diff --git a/src/helper/xvb.rs b/src/helper/xvb.rs index c52496d..c4e545b 100644 --- a/src/helper/xvb.rs +++ b/src/helper/xvb.rs @@ -5,6 +5,7 @@ use hyper::client::HttpConnector; use hyper::{Client, Request, StatusCode}; use hyper_tls::HttpsConnector; use log::{debug, error, info, warn}; +use readable::num::Float; use readable::up::Uptime; use serde::Deserialize; use std::collections::VecDeque; @@ -196,6 +197,7 @@ impl Helper { let mut last_algorithm = tokio::time::Instant::now(); let mut last_request = tokio::time::Instant::now(); let mut first_loop = true; + let mut second_loop = false; info!("XvB | Entering watchdog mode... woof!"); loop { debug!("XvB Watchdog | ----------- Start of loop -----------"); @@ -326,11 +328,13 @@ impl Helper { } }); let share = lock!(gui_api_p2pool).sidechain_shares; + debug!("XvB | Number of current shares: {}", share); // // verify in which round type we are let round = XvbPrivStats::round_type(share, &pub_api); // refresh the round we participate - lock!(&pub_api).stats_priv.round_participate = round; + debug!("XvB | Round type: {:#?}", round); + lock!(&gui_api).stats_priv.round_participate = round; // verify if we are the winner of the current round if lock!(pub_api).stats_pub.winner @@ -341,8 +345,10 @@ impl Helper { // if 10 minutes passed since last check // the first 15 minutes, the HR of xmrig will be 0.0, so xmrig will always mine on p2pool for 15m. - if last_algorithm.elapsed() >= Duration::from_secs(XVB_TIME_ALGO.into()) - || first_loop + // check local HR, skip this time if xmrig is not yet started + if (last_algorithm.elapsed() >= Duration::from_secs(XVB_TIME_ALGO.into()) + || first_loop) + && lock!(gui_api_xmrig).hashrate_raw > 0.0 { debug!("Xvb Process | Algorithm is started"); output_console( @@ -391,8 +397,16 @@ impl Helper { &gui_api, "At least one share is in current PPLNS window.", ); + let hashrate_xmrig = if first_loop { + // check rapidly average HR for first time + lock!(gui_api_xmrig).hashrate_raw + } else if second_loop { + lock!(gui_api_xmrig).hashrate_raw_1m + } else { + lock!(gui_api_xmrig).hashrate_raw_15m + }; let time_donated = XvbPrivStats::calcul_donated_time( - &gui_api_xmrig, + hashrate_xmrig, &gui_api_p2pool, &gui_api, &state_p2pool, @@ -406,7 +420,7 @@ impl Helper { XVB_TIME_ALGO - time_donated, time_donated ), ); - let hashrate_xmrig = lock!(gui_api_xmrig).hashrate_raw_15m; + debug!("Xvb Process | Local HR is {}H/s ", hashrate_xmrig); lock!(gui_api).p2pool_sent_last_hour_samples.pop_back(); lock!(gui_api).p2pool_sent_last_hour_samples.push_front( @@ -454,6 +468,17 @@ impl Helper { lock!(gui_api).p2pool_sent_last_hour_samples.push_front(0.0); lock!(gui_api).p2pool_sent_last_hour_samples.pop_back(); } + if second_loop { + second_loop = false; + } + if first_loop { + first_loop = false; + second_loop = true; + } + } else { + // if xmrig is still at 0 HR but is alive and algorithm is skipped, recheck first 10s of xmrig inside algorithm next time + first_loop = true; + second_loop = false; } } } @@ -461,9 +486,6 @@ impl Helper { // Reset stats before loop // Sleep (only if 900ms hasn't passed) - if first_loop { - first_loop = false; - } let elapsed = start_loop.elapsed().as_millis(); // Since logic goes off if less than 1000, casting should be safe if elapsed < 900 { @@ -676,13 +698,12 @@ impl XvbPrivStats { } } fn calcul_donated_time( - gui_api_xmrig: &Arc>, + lhr: f32, gui_api_p2pool: &Arc>, gui_api_xvb: &Arc>, state_p2pool: &crate::disk::state::P2pool, state_xvb: &crate::disk::state::Xvb, ) -> u32 { - let lhr = lock!(gui_api_xmrig).hashrate_raw_15m; let p2pool_ehr = lock!(gui_api_p2pool).sidechain_ehr; // what if ehr stay still for the next ten minutes ? mHR will augment every ten minutes because it thinks that oHR is decreasing. // @@ -699,17 +720,15 @@ impl XvbPrivStats { min_hr = 0.0; } debug!("Xvb Process | hr {}, min_hr: {} ", lhr, min_hr); - output_console( - &gui_api_xvb, - &format!("The average 15 minutes HR from Xmrig is {:.0} H/s, minimum required HR to keep a share in PPLNS window is {:.0} H/s, there was {} H/s estimated sent for your address on p2pool", lhr, min_hr, p2pool_ohr), - ); + let msg = format!("local HR from Xmrig is {} kH/s, minimum required HR to keep a share in PPLNS window is {} k/s, there was {} kH/s estimated sent for your address on p2pool", Float::from_3(lhr.into()), Float::from_3(min_hr.into()), Float::from_3(p2pool_ehr.into())); + output_console(&gui_api_xvb, &msg); // calculate how much time can be spared let mut spared_time = Helper::time_that_could_be_spared(lhr, min_hr); if spared_time > 0 { // if not hero option if !state_xvb.hero { - let xvb_chr = lock!(gui_api_xvb).stats_priv.donor_1hr_avg; + let xvb_chr = lock!(gui_api_xvb).stats_priv.donor_1hr_avg * 1000.0; let shr = Helper::calc_last_hour_avg_hash_rate( &lock!(gui_api_xvb).xvb_sent_last_hour_samples, ); @@ -923,8 +942,13 @@ impl PubXvbApi { if !buf.is_empty() { output.push_str(&buf); } + let round_participate = std::mem::take(&mut gui_api.stats_priv.round_participate); *gui_api = Self { output, + stats_priv: XvbPrivStats { + round_participate, + ..pub_api.stats_priv.clone() + }, ..pub_api.clone() }; } @@ -1085,7 +1109,7 @@ mod test { lock!(gui_api_xmrig).hashrate_raw_15m = 5500.0; state_xvb.hero = false; let given_time = XvbPrivStats::calcul_donated_time( - &gui_api_xmrig, + lock!(gui_api_xmrig).hashrate_raw_15m, &gui_api_p2pool, &gui_api_xvb, &state_p2pool, @@ -1107,7 +1131,7 @@ mod test { // verify that hero mode will give x seconds state_xvb.hero = true; let given_time = XvbPrivStats::calcul_donated_time( - &gui_api_xmrig, + lock!(gui_api_xmrig).hashrate_raw_15m, &gui_api_p2pool, &gui_api_xvb, &state_p2pool, @@ -1128,7 +1152,7 @@ mod test { lock!(gui_api_xmrig).hashrate_raw_15m = 7000.0; state_xvb.hero = false; let given_time = XvbPrivStats::calcul_donated_time( - &gui_api_xmrig, + lock!(gui_api_xmrig).hashrate_raw_15m, &gui_api_p2pool, &gui_api_xvb, &state_p2pool, @@ -1150,7 +1174,7 @@ mod test { // verify that hero mode will give x seconds state_xvb.hero = true; let given_time = XvbPrivStats::calcul_donated_time( - &gui_api_xmrig, + lock!(gui_api_xmrig).hashrate_raw_15m, &gui_api_p2pool, &gui_api_xvb, &state_p2pool, @@ -1171,7 +1195,7 @@ mod test { lock!(gui_api_xmrig).hashrate_raw_15m = 18000.0; state_xvb.hero = false; let given_time = XvbPrivStats::calcul_donated_time( - &gui_api_xmrig, + lock!(gui_api_xmrig).hashrate_raw_15m, &gui_api_p2pool, &gui_api_xvb, &state_p2pool, @@ -1193,7 +1217,7 @@ mod test { // verify that hero mode will give x seconds state_xvb.hero = true; let given_time = XvbPrivStats::calcul_donated_time( - &gui_api_xmrig, + lock!(gui_api_xmrig).hashrate_raw_15m, &gui_api_p2pool, &gui_api_xvb, &state_p2pool, @@ -1214,7 +1238,7 @@ mod test { lock!(gui_api_xmrig).hashrate_raw_15m = 105000.0; state_xvb.hero = false; let given_time = XvbPrivStats::calcul_donated_time( - &gui_api_xmrig, + lock!(gui_api_xmrig).hashrate_raw_15m, &gui_api_p2pool, &gui_api_xvb, &state_p2pool, @@ -1236,7 +1260,7 @@ mod test { // verify that hero mode will give x seconds state_xvb.hero = true; let given_time = XvbPrivStats::calcul_donated_time( - &gui_api_xmrig, + lock!(gui_api_xmrig).hashrate_raw_15m, &gui_api_p2pool, &gui_api_xvb, &state_p2pool, @@ -1257,7 +1281,7 @@ mod test { lock!(gui_api_xmrig).hashrate_raw_15m = 1205000.0; state_xvb.hero = false; let given_time = XvbPrivStats::calcul_donated_time( - &gui_api_xmrig, + lock!(gui_api_xmrig).hashrate_raw_15m, &gui_api_p2pool, &gui_api_xvb, &state_p2pool, @@ -1279,7 +1303,7 @@ mod test { // verify that hero mode will give x seconds state_xvb.hero = true; let given_time = XvbPrivStats::calcul_donated_time( - &gui_api_xmrig, + lock!(gui_api_xmrig).hashrate_raw_15m, &gui_api_p2pool, &gui_api_xvb, &state_p2pool, @@ -1301,7 +1325,7 @@ mod test { lock!(gui_api_xvb).stats_priv.donor_1hr_avg = 5000.0; state_xvb.hero = false; let given_time = XvbPrivStats::calcul_donated_time( - &gui_api_xmrig, + lock!(gui_api_xmrig).hashrate_raw_15m, &gui_api_p2pool, &gui_api_xvb, &state_p2pool, @@ -1326,7 +1350,7 @@ mod test { lock!(gui_api_xvb).stats_priv.donor_1hr_avg = 5000.0; state_xvb.hero = true; let given_time = XvbPrivStats::calcul_donated_time( - &gui_api_xmrig, + lock!(gui_api_xmrig).hashrate_raw_15m, &gui_api_p2pool, &gui_api_xvb, &state_p2pool, diff --git a/src/utils/regex.rs b/src/utils/regex.rs index 0c1d523..24255b6 100644 --- a/src/utils/regex.rs +++ b/src/utils/regex.rs @@ -150,7 +150,7 @@ pub fn nb_current_shares(s: &str) -> Option { } pub fn estimated_hr(s: &str) -> Option { static CURRENT_SHARE: Lazy = - Lazy::new(|| Regex::new(r"Your hashrate (pool-side) = (?P.*) KH/s").unwrap()); + Lazy::new(|| Regex::new(r"(?P[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)").unwrap()); if let Some(c) = CURRENT_SHARE.captures(s) { if let Some(m) = c.name("nb") { return Some( @@ -177,7 +177,7 @@ pub fn contains_yourshare(l: &str) -> bool { } pub fn contains_yourhashrate(l: &str) -> bool { static LINE_SHARE: Lazy = - Lazy::new(|| Regex::new(r"^Your hashrate (pool-side)").unwrap()); + Lazy::new(|| Regex::new(r"^Your hashrate \(pool-side\) = ").unwrap()); LINE_SHARE.is_match(l) } pub fn contains_end_status(l: &str) -> bool {