From 7f387ebb78f394045855b7eeca3ff6c4fe737694 Mon Sep 17 00:00:00 2001 From: get <2316994765@qq.com> Date: Tue, 31 Oct 2023 19:57:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=94=B5=E5=8E=8Blstm?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 2 +- .idea/pytorch2.iml | 2 +- 浙江电压等级电量/dy5.pth | Bin 59192 -> 59192 bytes 浙江电压等级电量/test1.py | 45 ++-- .../电压等级_输出为5.py | 196 +++++++++--------- 5 files changed, 123 insertions(+), 122 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 3141537..695b918 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/.idea/pytorch2.iml b/.idea/pytorch2.iml index 719cec4..5cfdc49 100644 --- a/.idea/pytorch2.iml +++ b/.idea/pytorch2.iml @@ -2,7 +2,7 @@ - + \ No newline at end of file diff --git a/浙江电压等级电量/dy5.pth b/浙江电压等级电量/dy5.pth index da102d6cdbe9e64dab21f972f5fd50a949a7c484..a8343d4ff3313d05441a3eb493ceaa7e96d7b3ae 100644 GIT binary patch literal 59192 zcmZ^~2{e`M*Z7ajnMp)QgP}xZJommNN>Y@P24!f{6N!{Yp-6@ZmFAg3MM`q+y(J2z zIW$RzMhQhq)Bilr^Zx$p_j}*(d)B(wS?gZs{+zw<>)QLe_HfN`A0R0vCMzrUKRya# znqo^fSeq{ihzJ*|SP{HN-Y3@#(H{p%21y0|KS2lH>)KK7q!j{ndmh~D8pG^f956aS?-M})a}g-x0(CmP>ni~nmbhfV%J zoPQ?axG>lMdlF7@KNb<@_V*l=`g^`i{a07_e|gg)!lrwLdHgfMMZCXfOPJ^XL$eH< z@qg21x=TfbdHq9+3!C+~WV8Pzc}IlJ@e1=;lzxoYDv7!I?jlc~NOGE#52a_ji{|CqMU!Ej*MMOmK(!c3( z(5n5n1^<2h?{s;wiT}S>GPjsKk^S%J|KY3t(~Y0J7_R(vPMFtWMg>;spfgF5W?ejn z>Q9%_F4MIbm6Ok3{FFhjEE|~H&3)|NvpUi`Yl2cowhtlr4|l$8PTtup5Wl z+38Pmw380u!os0sRd5itHu_L0KbB4!D$|w7X(XADkL3@ON#(X1XgRH-)U^v?+U9!j zy*L0n*>{+AOA$sj^+Ei^vksoumcsrjW0;k2881sIJ47v(VlXua+Qv5Hrt^yIO>Q$7 zK5YksW}w2nt2o+Uj91w95-o*O*qr`;7@Mrbw7aC)#L7CjwIqpUr*(pY_GB(tLyoLp zeB+ijnWNsbLI}+66J9Nw#l}=#jH|u>^#R z%A}3BKd~Ei36<$aV^}%fu|{YCP^Ulq%

8nQ0JFZ- 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 L_w)PyzwZ4n6xLmN literal 59192 zcmZ^~3sgHesk7%yRH9NsMJY)NkyL~TsZ~OO=lMQoj5E#{Yn=1ibFMwtd(XAzJieY{;vyo_(jx!kB`=~O zGH3ZHt2truVU~**M7xhw5t;EnUTX$~hsQ)mM})`Ei&+#W>$7A|#FB_PuJgjgBg!p;Uak8OHB4#Jdi=Go2 zAF(JdW=ZH$TiIB#VZ#EYgg=fGelsjGB3At0pUApL$AraC`FBt@Rw7VT_#Nw5$v{cr zXL!P#FemF+DQ^*n_*m)5o+6%WJY~~jWjtj)MblzsGot=6N-jQD-Y-_+e^?gv*D}Q@ z;f15bqa>pKALPKlNTtc%A`(KTL0YV`r@=o=m4BJ4@v&-tvFd>X|Btt`=Y_@nm#-TC znW*`fs3jzh@?4V|JIGTsHFog7H0}6U9lu!J|3>@QKE3};)Bj5|nC!jgFU{~D+K_)~ zM)9%6ez7M1!{2}IgiY+w|I9P}%Nr)NPW@khhyUxZ*}qKl_}CGCu@?V>`Hzh@v6lat zY4w+BEo7Sf%e48IY5OnJE0&j~uv<9rPcBpOU?Qo{^4BNvj^j$W zDNd>E_ve>bmVXf2#P8#l%-y*80>c>HEPQnSF-EoT#kAD1c$D9Zg{i7+rAHn$ua#uM zvKes6$DP@}&}Lo3`pKx)mc2d`NK?LSU`veE@b*b%##4C#Q)fuXc=B4VTJFr0N6u(nT=JxXsR%g_b< z3a{7H9yt=nJ!t?hk53S`;1w(#QUc1iQgDFvei*Df4)(0SOJ6?Dg3;|36ya11V-IQa zB}XTq-dIg?m9FE1Zcc$IaieifNeRSFvB9Uuf76b++RRe?3zhY6pkr5!QSO5cn)x0@ zo1fYI%_2W4ert>`SDogri`(Ji;1a?9xg0iLv!I0<9sEkmN|4(0o70I068j;8pPcn@ z=#diAlT0M>8wPl|sE$r9xIrmW!OS}F{ZVD&M_&Y@=~J^J`qm zqACm7Sot)TWT=O~H=pOCE{x<_-W#(kjji;y?jXIlOy_2rsxq~Mmh`|`m6yDf4DnZM zsm4W{m3pPJiRJ+;bG#la=@jLQ?1Fgf)9djSZ-{Q9HZXcq81Lk`gXz4>gWZ8Oq;+!y z+c|J1D>GTfrcpTUT(^d;iroSxUk0)jUJt-iU7l5#o#aoilmNl1`;fY5JpL$+#Yd9B z|44WXL$oLGF*?IRCu=_8xuvKkpFm4*nBcpY3iw%b5I&l}0CBj`{AzZ{kg7ie+C=WrT?=#8JLv~gHnYaAO*$|uIUj<5FM{FT${6ri4#w*$!KMgz z95ikReA&AMGf(Z|6oN9zy8XLg#V>h&NxdX=E;&yo+kLUT^(f~MwH~J*you*#DZ3_z%43TAW(mp5=6pf8< zTft}H2mVU>SY+}m$@?82yFtiom}wXT{(`$H7CKT3sQ*Xh82zdeB6 zeyPMNl*X}&ZV~L!+0D6G2cay!hSpuVxZ=GxCQHjoJ|<#c&`CJ!CcvB9 zGH{RIK`_k=#Q{xYSmUM(w6pLC^v2AEO$r+9;LcHOC2zsh^4GABHVfFZOe01cqbRVp zhIXYFupg4!*slYJ$m_%&*1CTw>vy(iS%=m$+wtFo{@Uj+4;{@b_4W>A;;4bT+#JvfqtD2%IXbxek zlp{wS_FL;13tN%GsqfqZg7QR2ih4=*$ipUwy=2w>o<0v!q#YuwaD7WE-V0fZ#?MD0 zFXoNS)6&3OF5JoIyEV@G;lgL!A3!hHTfoK@o@gH=g-0}g@SJEP9jeKIc_sF=`cEqT z{$_#C##KUR${y4Vdx51N;wW4{fKS{oj@u=wPFK4xQO?9XQZ&EEf2h36W%kZvmsa0o zl?&{Fn_14MhA)DHV1YMJd!l}vHkzGOqur`;oNRO$%rRXD4tbRjbm1Yt?BpH{$TUTT zCPf_m#1m%iO~-4W9GLWxPv_Lb-m;q$HnX!SEwmwJ2RoF$pUTxUXoz_^lRqd==JMq< ztM@fU7@Q{~uN1I0J4mDBt!RV22_{UH#@(lZoBvLZy?Hqf`sbdYnO?T2*(*=}b7Nt& zgBZy6+=EoB1oXE$3#%WG!i6&7=;yowcYUdZ1L}{t(LaN*eEl$-n45vq>^SI|u#rAp z`U6g~X|OJQJ8WGtnJNF0#^mLT@V2iFy#79t>e}8^btISYCq5_B#uw)N=qok!{mwm_ zYCm;!9bDz?m1sJhgJlu3aN(KZa0w$>-r^D(H~0lS zidrsssK1SW^Hi6`+aKbyc?&1`-X4fd*~VSmbqC5uA{*-AM2-&>nYZdVHoR;-MMX?w zX+D|o_@o*2f3zX@m!kM{{t$NjusaRB=FWZWxkG2}uB1jCUAU#@j~`!d#y>5=I9+@= zo%L%X&>DuFr*4B^?kZ?I*$lU`OekvUWZ=$};;%A}AC~#3deT;Z_UqjsHgkt3Ilho% zt{o=ewci^D1Sycx#4Ic>K2NuH1dvN>G(5V=jirAR=9%|Jtm-Cmx-;xtyUJPmQ2w(*c^1ERQ~kSKbJ2iX00#jG}L z1B_iT6y-`CQRP|{O_ExPCsG#TfX!yOuwe{6c)J7UW)8*?*IT$ixeNQ+Hi7O|uCw<0j`s5-Qx%D<&oTQ6^q1G&Uxf?rh zp^?!%LGQ*x<@JFvIYy2@MA|i)`L%0 z2;bJXo^9xlWnmX?@)mQhaMzNyRok*+!YE4yr#h%da}Nzzx|EeZ(_r^b3&-^Cu#>9Y zywU1@s(zU+i1y#ey;-iwd|%9GWAaKkm&C>NqHh+n62H!GS6j#XWsgS1otl_1pqw^U z*r7@H1KKo8k9LAK1S=bnxA{)|pgar`H8rsLn zdaYAKClY594z=>)b=ssl+nJxEZvcb%$JA$S4{Zq@@aL5zwRA_|m`q3f8R?JyhfC?P z#A*^Teat_c^_puRG7_c6XK^|)!5F%@3obcLMEPll!10s{x#s9Xz1$Qoe%wmjG~R?; zJY*H;YP^ipWMpc#mc9mqjgriv%a}MnF;0L(-=lvW~8#xnWnRTkjAU>Vs;E+Ox&c$Z-vmB0&6%OkG^U{-!&26% zv8>VNbZ1#8J>2ESHr?FBWWMZSS`#&DDsIoifrZA{cy$(vF53eJZlBGx5=E_fO50u5a~9uynaPW-%=DZL4#-(TZ=1G|-tQ??BRPO> zT|7zVzf_roP+wP#F=Pe0Eo?_jG|MtjWf$HVFvlaxOh$1bGd((x7N3e?6L;k@&iOp+ zy?cO-PFJJVM`8ss@7>UTsU@baalnJ0uF$59rlh`SFw9L#M;GTwIQ`WM=H-8koRXc{ zE^|+sZ;?se#_!@~<_=P4Lnqwg zXQjS}%`=Br<=<#_ntUx8TiVx*4v#nsYds0V4$Og}Y9U;(e=H7_E9BkGn@CZZ^UMmn z&R32Z$@gr(3X^BPhbJp0le|YJQy+E*#oX*e9NzX2xm_0VVVG&(rX1SO8l z$Dwx);bUnrwteP3r%T>SEOH@n3n%-cUAq?42v(#0IxFyMki*dHd9db=3QpAE`L)Ko zDZ#dqLh8qXl$i@k*@mFvdnYfTZ?_fk z{akx|-CY9xkBWr(kv5(izm4}VnMx~Nhf_}Ad^9-oh;x1tPrZF2tUu@g^_xv$t2VD> zpA{EDvh`prN}r6{=S5kKS~6^&HicFHoJ^e`Zu9HT9pW1g9R<7oH(>N&9vyiri-oTT z(<5U?xOj0Ktrgb=i@uZeZLc&2#C+h5nuoA!g7a*k#2$99)`omW)xq3TrFdpw8Ma1i zfYgmI@Ud+SosDVWW}ePto#&Fc@Ky%)qi<2`Ib;fIYvE>^D;3)fU^C5YgnNBOd{8x# zse5|jSTiGfX>=N9FD`=ZWd?XKVlOP1lYplm>>!5^LJd8oOa_N?aPa1Gh^Q-uhI(;| zR1QWJg&BC#b|SOsmaC>$s{JAM zo??ePZrMX(wH(Xd^cB2!KP1bRV-&b0o|BzY#4g2&)%52}W0ZdcaMi~_EIf}Icej93 zdL6gxf+={+y1=9RG<-VR7DsMx;*SQD;m%Rl@u^lJ8ed-y4*g^B>xhMTd*ngRaqccA z*}jXtD2--)L(ORFNj27eLL95beAwkDRWLZon-7iantA?*<`D1O$AsA)tz)d+E0&iz=OhP-Fe2#vFu7a6V-|r8e zxmO_Jm?bWayoL4e73fQ925u_Wa<){R!rZo5*UaoY%kGRC$ed!V*|Lae(jMbpbEhv$ zu$A8qZ-?FG?teIjL*ACal@FV${}}pWlVlSVr6uC3jv2ViE*-O+%tw?he5t>36H07S6@pBSyl^n;V$M?X9dJ^DCdf zAq^ssr@Mk8dZbZK^PkOyo#j(l)BQ0h>hTi->|NMU?ktp>-GL*T1Xr6Y;B3)LJapk4 z$%)2c{)rE`et$l=^`1euksVC4VYu_29A8WbyNtUY)UdC{pD;?Ec&A6+-#x4T*^+e z7~3W`e^NjDc>N`&Ib5W$<*R6hMg=u(ILwQe4Pma_W?Fczhr2tYfnG{^!kfr$f!)G! z=&v<^q~%1}roppT=@2zK|VV_$UwcW=5hUVUQ1@*`EN zf2Qq+gFD370n3qeaqJ_KEpcGkA7)Vd@8|r(C!$QUM2w9eG>qB(`kE zu^TUufARr7bGs7S?v-cNv(p8NkJn+D;ZshtH5WSXdD5i(8?RlFK0jn&TgSD zX2Zv@xp-ktd3AilZn93yg;728;gZK7EN@b)o*ZVt9;)QR*xdP$Vm*>|p7_BhU%Nw7 zrmNzw&NJ0J9^Zpm4_d)@LpZtu`>7)`hjw(Vq1#to;fs$34tjK)j}DlJMm7cXr*Avwtbdc_pNX>e zkA39akizbZnX%LHC!qQ5Q&7nZ!}n^6*yHz=497`ArnCavXIw>Y2^DmrN)=Dm4(7c5 zPl3|H5@@J>M7z8+P%(EOG|kY#ug5)LMCKOAlhMS@za&vC`X|V?=<=2?e}V44dYC?~ z5kz|Yp=n+Q*zcJ}`^QJ}lk?U<-BM-vq41qw9dsT(I}XMyR~eRZZ5oLN7}KFp#xdU zo}IkKfMTkI66lQA!`3blVV)n(Rz3bePvt8~O(&RLu9yc8r}tFh2T80rW{aKf9o+lU z7uA<`NwXcUqp0SU23O6#a!|7t68t$zQL;yoj0aTmq>P-uoaA1dlti<65wylZ3pTe} z363{)fttQHJ9Ot6y=$Dx9uIVZv+B}#0XyKx&q`31de4QgETq}`$8q=+T{?B<2P|1) z49m`@FgsIwTp{_A-m)rcGc#wGwal2+d=pflPEzwy!YvV#nOc-B-7?MO6#Gk|bc#Gb zt9vPE42b4mt#*Mq!^I$d_7Aw+^_v=B$*>8}EYb0s8@rlrPG4;V)pCI*c=+X33Nkll z78U`t=J{Hfnk$15l6yIWfFZ(pQb+$ER&4&}DsVED#oVPG;5%k8`{Sz4a&B2x4_ekh z&u^Nn7Nv7T?x*rGbvkfS>K2uUHS+p&V3HGq>A92^yPE9J-%K`O z2VBlm>!0ngDcT;wZT8Udg(s+K2Ep?0!{9bW%kMwK)9cMg;L9B)ERsm%lDXF~ z+v^VmYu19;+ZgWqkxYSM#z1WRR7^$6GcoG8Dr%cXjeqHIBzCHv`N&JxYDAb0ixh*(VIer75!_va-S5TL?5DveP5Ml|fG zPoes`cF@=Mo^u>%SY0=xi4vX)^{b^1#0}&5%MXh9ui;`8;v5Z*^{=7rm>tTu9;p$pjCrDnchRbcFFz(Vhvaxf)o|A_l_wIgfkSk(Cb_1Q#lEE$cYWQoLVp>dWc;d|;^+T_s;AFWj>(CrBc{EpGCSFa#w z>saA=>pk9%y@H+CN>A5qg^qcH@$0QeG@)im^^pokw)pm3GJmXvemTvY>g2bu?C@89 z>Fm=a_$0~-7-^g?;kxFgz<|JCRGlXSwn;bK5?VE5A>KV5jMsF-Rh6CG?WI4iNTN3*#$-5^NV2^&&~T=sU-twe41eEmptYtg}`q1Lb>dN|vEpojwB zCh+=Ed3fgJ7#h@9f;J_Ov0+CkzI`psA*{=3$P58EW$(nXZ(s77$x7J!AOI!?T2nZN zF?Ve*W}46j6F20eV%sSi|MCnx4;=@sllqtrlShlXYgJ!9uB1V$vru|dEi+ck=bB^n zNG&mgCU~VYUpmKs5s!r*gHl<`vaIUPFeAP-#+=FgY61&SdFDFI72DfZJ;X{y*>yNErV#IT_jyoxJj1ZOGr8IBh6ej9d)b~IP3Y>1>yP77H}(@ek~Pah3op@?ObC9mZRa) zRuL}KcMa(uc?WaEs%i67XF8}^LZ?2w(rOa66 z92dI2nUV?)a6|1i+0z&G)L&YJ&GUVM6CI2X*IlCN9%C`?$3CvVWFoz>KvuWY5Nkvk zJdSMur*Zpe{qvo)=bSieslP-k4=6Fk=R>)3uDcLE3N=3<0fT~7S-)RAEnaSphU42H?DFY#A1jv6f=>y>Ze?UA&)X3&9$Tc*_mx{QLW*c=opmOU!rVw(c;+Yma1@Qs)GC z;&005-K~d`ehrYEm;tpnx|nfRm*AXFIqW+|oW~j?oRw2ahc^vo5_!kDTk4I_#m{5; zYf~WA&=BV?8%(C!!*TZLQLxTV4(DIl%p0cUb0rGa+}So?)H_@PD%-w*;-t5nL#GEC zxZAL`KK6~~=pE+6CP`h?II0ZiE9KK$KiyvR`zKhl}C0|3bXcB;x ztS@TpJ_L4}8FXn@BN+OqZ=$K8n}z z(*X-bZ+th$5qlpFWQO0qLE?Ee(x^L1InIM=>A`N$U4F9qrlbsBf7igzZ+*rMh!oa_ z>wU=oswcP5Q_4AfWec2g9nFqz-T?MnQ&^7E639RFl?oD{!HyAUgnKAkd>dWGO+0JK zzF2%FqbIdAC=&>VW*Qt1uBpdNw46dn0)6X~Ev|nWyyR*QN z+y`ZY`*8ETFxJY;K;C*GvyB7>J9*1(qbNCN+-)w0)ptiTf5~nVKYft4hGaPn zyE+1G0+fLhA5V%$hO;NHI%(A#FOs>g08>Yuq9v^k%+xs#((E!=n4A<#RS_^h_Yk_d z>M`u?)WqcXd+1`pqiP9(fa9O={EXzEI$&tRy2 zc9M=Q>!IE8jyU0t2Ag_%D!oL*e$`wL@hy{)+`*O*iH+7c+v0`*?j8M1#HdI^Y~f&3CWw)F`jU!RM+h6a($#RA^Cc_);K&gO4V$$)o!GW+gl%6`}yV%@vJ zths6xUX!~_Mbg54jOEASOQ;7#m8hK0TQwU#w?2a#->=e`u?t9Nhk$iFY$HpxA=s** zh1QKVT;e1P$Zp$;&4&ZH!Uu-9L?(m0lzf?`Q5>rODil78HF4S61bULx!ugv5Q~$UD zK5B*H+qEfVec&bC{xlBvH%PKIe#*GIK)`~0J!qSX3#-;PWP*=spmamHKUnY0G}X0H z{Erf5Sh;iIHiOt8w+afp9mXGjS_+HfO<2k;8M2MlW|OK#Smex2u+8TgB>y-Mvv)qF zDa$6}OY<4vyXzD!>iflewr11IG-b$Zx5azD@4#!>bdVpeT)n?O6l#l`*iDp#oWo1m z8qp=Jd#wtCX)&;2h9wJnS4Z;-Q(4oqBCPwq5n7&ALGeyAblGwp&QU<=X|>Vz#VNjNU*N~qrvX>TIz_`rI*Te{JHjh_-n;hxc5Vx&5gRs zjWat$qD%h3@o;}Wq_>c3x!Vl;2fc*E%AxFZj0c|ICp@9r>M^za=bb>a@M_5x{L;+vbd4xWjuHhdk{p6Ntoq}bnZTWKp z2CqhU%cZnJhRzUZS*J*BQ>4)mSy9is5FObAGnJQMiqei zJxNqce#GaA_JFTE$E4YJ!MK|;Y*66{cJaLjw_tt+o$45c_ipGi$88U}bGw&<@$WHg zLX;d1)Db>w4v52p@K%^s;X`4MbNFjJenW5kIKH7Iliw||5gghpDX(%NS9Sj`RE$f3 zl|_c}JbXx^&Qi1iEc^j7D7-`uIY6A81{(VJ;etFzQeX zb(DUl8Ep>eJ1P(wq{rjW#rCZ0pfs+i{K9X0>xZBEvhb&iKW8-K4czIRgJ}iHu*iQ3 zW&LnMrwnn(>iYvTwA{#OZ#5h>Y6t!MZ>iwCD&EjkW?cUgc0T?csT?@PY0lDSdPj}G zYN0sW;&F-pJc?s^J$tAy`!+AS>InbTwvJ3gc-U(7h$1CS@ml80Nu7JX6I0%_bWBz((M(*MSWjP{@C4{y+&^omuuBeS9=U7Iqygg^C%+ zz*zSt+#Df1Hxrc>=GsfJcF#zh*&hfi?dMR5rW6yAzQcJQAHvplsNus<7Ydy`2m*7L z(`!8|w%WLhUnwuf_Ii|2u2Lvxb-IA}l(XhSev0A30hajfY&pUD*W9Jx5_k+2tUP2s zn2KkDN}N8m4;+cZOFYR{)xrLUGI^lYn|rLDtV ze)1bGSWQMJFEjM@K0_l8J)^Eg6QIRFf+cG0fqN5N_>gdKI(S=-VY@C$F3p9j>=c~2 zmrb9xdO^ghb7Y)+4M+GdXD@%e#yx-JYK+H4V**w<=WQ4gV|S4BVO3#0NK3VEv+9 z?0{1)ZU1wd6bJWmW2R?N%Tyj>r&yBhKs(&Ed?zf-ZBQY`T_+pHMe)jR_#5CC)B~|#dk?73K6a2+> zZIJ3HF5El1lJ=T`%&6fr#082#u2(dsnVR#;R|c}HLwun(!4BsO&v*N7t%KBJVXx=I zCuEv^6z+-_(=o|x_-!*7-aR`BzE3YzAFmj}{uE1+>SP=I%rD@tx;4Q8>F*>j>}6V{ zx`ykVcZV`9WNDVLM19?BF&1;S1avJ_z}Jc1UB+ zv80~SY)<56%$%=;OE(vyNWU@bo%4%-G9ryCyPfb>K^HxG_=EO~M=;SkLrR&E#@ubn zxZ!Q(q@N&%r%#76LmLtH>U18tPf(yk)~{)7MHj4@C<{dke^cGIO?2;U353*5;LmRv zC9Joa(gX)nY#VYJ6nZMz5?%xMy)EH48b~pjo>ES>Ck&Fpg*_`L>c~BEBKq%o31crV zVu`P#;nAE|w7gfFeS0;Wob*y*$#W0t`E!YMqXkUo=q(Dia%Af1W?c9D4BklC+b+5$ zf%OIBcBb~m2+`VGUSc7J-zyT%rRJ5x&ZQbH^BC$9!_y!Etz=g z;F#vgY+LJbxU9OD3f3&ei-+aN-uV+vH#NqUBP;2w#$~t@(FCujUV~TsVy36H7%r54 zAp^q~yz^sECZSvg5>5xW&Gy0?!@Rj{lyH9i^Cg+g+f}e?umElaDDk~Z@~S<~9HG3S z%jlbGG>fm_4~>IHv%LEb_(Q~+kLsv_j2u7wu;(}#N`&H{W$Cm*Et0iL&jPWEEihBh z3_po1WY5e7;nqwg9B{=H`$lbm_VrTiiKz>Ue>KFiu$D;cWQ}&a~VS;JyY{%};urKL4@9y}NuM_PCJ+WVORps{iK6gjveL|R{ zIA&7L2jFgUjsFt{lV_lIQYd2b-YanFRW9dE8oVj-Jh>f{$ma1 z7gq+6;r$enqRWhTZlhHTL%F@b!}+`^BK)|dOh^;<-=vqDvz3KO5Z#auSIpi}@A!*M za54t6gU7Tr3zm~;ft79?R&QBA99*E~TDL$aSDZB`--V_5pSW>n7jQeT zs&Q_QQn-ncYXxhE0PDEdKv|>8DIfDNTV@B`xGsX_N_n(Q^9#+GZh@)$tLViRo?3=9 za(W)?t1tEb=Jp01WakrKz}blLyvF0HbXtEpjIL0Ip^B|k5iY16s;P&yi?v~s_)bbc zy_yte6ocFSLhwtmfpKZ-Y{=dxTv4Am+PY7LiaSHGS2LH)g|T9<^p5+`o5_YYT!jSz z4g9p-r)WsiPm(+!OC?@Wx6@Rr?{b9(vkUsTQ3~Z z@MS7J6x&Gh!9St!>KED*k`8(A&OnX#R1)mBplO5Gf$36dHp<{Pbrk92;T6tIcC;k( zI@ig6+IG0A`12W3jU&);un>~+RDmg9=5js8z}}7XY4h;G5LEBS zB>oh@x?_sWc~S}7^;BRVkK4iHIbKyihHpZxUNx5VaT-{ykYlB3HFRZ?0oYy0;&q~s zwqFrtvrOi)!iaG&I>{Sdg!$pv_yI^2`s}%nHZ$F7g2%0uY0&Oy`p~hAm3t|%g3vf_ zKt+( zR(7;Oxm+t}^h~(-(9Pu(1BLY&%NbniHY27x`xs}XW5LE|NpK@;R&s*dS7>GEU<{p5 zM5nFgan|vzp!$&*s)o48|SJYFN6blftb=l1=bqUgW+3oqlnOY>TX_=T!jItvyI)%_HHu`A>RZ zvYVgX)Cl9et^($)gP(SjLG8d8ZECF zFwLJ@ux!=wbKmyopx3i&u+;Vg_dq_H$v)QQUJVf1)Fs1g6T3ic`e1sNu@ScaQe@_L zuTY)nSY{m}1!a%=$Z1C|Z~-qU$mJF7Q*RaK$8RBLmhgNk%^tIAw3+qwTGE&z#eP+b z;Cqig$nhS7u}xj1as3lro1um5_Y<1i!04gnS;(F$&I-d1(YDS*u=jx@1`HcXnh$5N zkPkE9=Phsi{9KEv3-!OggJUwI0$697AKxxp2UnuoLDQ$6Lusj*EO#f_Rhy4?_*5)jR{=m z+H=D5w5qBH-%5$Q-_N&mWt6s#hm4v)sIj;fHF`~nfkQf!1-ALUR* zQ3Bfv)A(~{S9v9gt^C)$;~5V8!Ue}4hKa97u!(Csp}$vzWV`(^eY*(D*eJ|7ZPW4o z=LZlYHVS*54d*k9OSop^MRa0|K7~H6=6BrO4yKc9sX2Nh+`nRpbGAot%Pu{DipSDW zt92ce;)ovGJLBm+C#bx;hc}6|WSZwM!3 z{G?B>6E)z3TQ68Y-vo1(*|TXU5}EhZ2M{2wP1$RSyDjYL7}RhPzSoA4|NR6In3a)0 zVH0gg%b~h}FgVpz4=c}zLqpR9NLSFn2SdBSwr3KbDlNrg;*%k|_yD(EMV2Wa7G;yx zu7wM0oN!C2J)57hk#g5rlefYK*7AWDuJ1k=cSH_9D~=%>DHZU~&||$3W^l5uhaz?N zlRG3+ud5M1HAWVDg?VyinhX3f(!skP^?aXU33t;Wmz!yHlJwP7QRKTET5}0>Q^p<# zhVt-xf)VX-FvIZOX(W*_93x-9qDp^7?0&fbC*Rj#WmnbMq>lkKF)^BEUb_eL&wK}C zEhGogHjr&B;>x8(*uhiotZ08YTpKUS?p`k9-rttvZzsK>l2QVzJ?>nM_CwgZegimF zJR&odI~23Anl2vFVXA?rAhPK@Jyft{VKWXneXs6^D2J2${!bpP+j%xfjctX%&oklv z$RY4_pC%r)F=2BL>7Y6Hfufww(x2d7sGXNjx%<|FQfNQLG-_e+%pUOb?W@XII~-+t z)tS%FDf|X)CFq}g2&_)m(IPKvOm%(7Z@h4a3T;oV z=UTduyoV&GO=R1xIMh(KWe$m}VW{XhVL!!Cv~svd`xYIfR&5Jb+5*sZhC1*h^k}kmQyVFqcafvYAib!I^F8Y*~jfW@YQ=$HOFd`53_3;fl zxksJ))UVL7@jVb?l?O%UWB9c-+Nh!Vo_96<{6`6y3@*8{|%;)fCJ%&^4h zcRiXJq|<6IS4ax@O8wzqGpmeY>HZ>!trdYuuN*QK)U zquemXAh zKxQQ+X=u_U#qa(FUcRq;?{l7W-k*!J*IFq0sak#LZbr5-(&SV$K)%S-XsTG36XA9xmc1ti1pi8?&HLrkrjq_z!Al zN8zjIHXt3JAl@!c=9FBk;oFluLV?DRVjHT%$|4p)4|cZqturoq4o z{dhjK1>f#}A+oEmVm^xo((3xZcysc6+WE_mo;Ibyt^f_{%aUi}Av5`>CH;`uHUL*d zzeK5LE2(;fKXVtj!}Rq{;tTtx(B(WQIJ0jD&I?I^Basp`@~DR}gG%AQJ~yNI!^zxS zZE2G7dB|Hrr>}i7}6FZiF;tU20 zvtZZpyZN&cB{b;M2Y5fV8=clpLdC*JG>(lEUzWRz^LPJ*@*Nvtf4G%+z%V8HopTQ3 zo5E3Rr4?HFThOH3tFY%^D*inX#8#_$^Ijc^Xk=T0X~%YQKVPh74f%IOYc$MB)FUu` ze=@`lU6IrlEJceB+~*x#^KquBna8NRm$6iz++Zszp16gSDo6CA$3@MhyZFRh@nntI`7C`-G=FvrBjO}l#x$&!cs5v;? zTG)bj-sv;<>sPrE+wP-mRs$FRTN+nBzQt>-ISmos{jlim5Cp>w?DV-~ywN5JZ2x3J z$@dJ{vTJ($qAPu{@Earj?fNjPqZ@xaJ?G|MIuCxs-ohQXmTT>EElAew5jR}ll_un0 zgw3PJVS}73%aoYH8kd}etItM6j=i}xUN%_~uAAJBmnv7jhq z9kXksS@XF^+>qsRpkaLsCP^sLMtvE`p0o`0@91OX=KXN$oi^=R5{z}__9T66Gwg74 zfad51OuV=rGFp~GW~>71?3)B@JtU~?gBSZza)_Hcq=4U~5X&|9Ip^h|v!%bfg-8$Ut|9Mcw2o=8Lw zwQMM8=Mvt_W)gqoVH7NjbmWpZEoOSAO}OmSLh3OxrD^wtK8eXAtlniwa(D7kcH9PP zt`~!0(q7SUCmFopa2Eqk`;)$_E=&EQ%j{!BnEL!E*R9_~5|Z{u57a9DL=Hni+!#6!z_-sQ$Vo{ z%UgBcbF@J#NgW7d2Oqn8UN%fAAKsS?NkLyI(?6U+t1=mRt)=aUH`8{nCfaczkNfi1-g{N#j`ZhWTX zOc+}UE0^{NwY(8-9PLC=H;(cmmpqTD9%>}rb`A2U%P~a-4Z8h7kA?XO%vpRN_r9$H zYApBS&T|tONM429aDAF}Wjs85s7?{WGqi2aPaHf>=qEJSpz?ptRA*sFc|HSJm7D^5 zGS-IOjG9Hg$E)z3;|}aU!HMnee8Q0O3V3)iAMf2#;I$g{n6pbFXs{lTDPM$MFK1x? zf_9WVe2`oF0mr`wgfYkDk*YU+L1Mw)F(=&b|PV4yict z!7v)wn1~aS5jQ6M#8V>-+3cwrWLWbbHrh0yWpEv?zFNc|mOjhNeYwl0j%a|^!{hmY z$opW*C&8#6vP{d;ge!ey#a2!j!h(jK1^X!~th??Lx-C(p9kTV{+@b{jW$)qj6)zkY z9KyHcT!fY9_wxtL99ZL;7R;H_AdW6dhL`t+oO)_2u6%a}S4#|GTV=EOPgUBiQ^t!V zKQF>sYbWyR&f_mn+lL{wU*Q@=fv=tvjna2ve-9jk(UX+e!_eLMyM7;76j;)$dG<^% zd@_1v6mhYO4x(GGCH$=Vj8~7&p_UOdNwy~*+u~lL{>k6G(Kj==|KSlhr`Gc;R++L< zUJ*EQLlWBRjKs~_-l%-}4IJ5~!LB+L!suO+wEClo=x=}oI-1@kW4TkHSLM$7lkb5$ z9)}|@uk&wn521mECmswL&u%+Q(7`X&VvXr)wCAb}I{uTwC@CImRFd6U$WH1KeZjRx za;$gIe{5psF3~RGT{wPk9VwaWuxm4maOBZC7+qmbO&>4A-QSDx^?xP2P30E$J3JSL z8gHg=S#~sG_-KAl|6_gwo?~x@NRz?qJ$U++0Ub`7$h2DQ*xTn9IhE&H)M0iK(uSt< z0n@|SNbV08Z?#`+Q@hjS;IMKCaT3^==xi3ez=4G-O0y}QYWzdjaqwWD309mK^(up82-y$tz2?L;E#kwXeeK&gNiu(1!hK`o+B;wHjXq2z}ZSck$|+1z4}# zh*JyJ!H%O|d~=i<%@TTGJuO1rAEHS~*%2_YLCDlZHt?aQb)3lSl!v~FE%?kSRm@xKKxpvw3n_n=IQ6)1n@7S6Z}=Qa)DE}LBB&%GMRZ~0dYzm3eY^_k^d6zwG5|JV;wqo z^9^@DUy?1~B;+Eyu5cR%Cc>d6eH=GIh5pD$u|0k1qP+LB z+@st4l&fNVs{aAXg&MZ!%MjulAD~x`CJie(1>0+cTDdh3-wT=e9LGa&W0@MMvq8pjs^|5qd*xV#F()!#Fn>AuUoT*F|k0-Dl9m-4@cVnX3 zV0QPrJG<_G9Y=20rray1z&CC$epgw=^p@Vm@;Vt_YM&&WWqa|=jqhN%+K6VIY!mJC z8ivyA-Pq&x*I;_iAeJ^X5vC;{V27T}#exUTe8ymXQAxG}6HCNn>*{4t`eYFJ{&f|X zzg6exUm!07bSse z>R$BpR6`ed3C@8gSpIAx6S~qYuBnI{XuXtol2fJZBg$m_@P)^wfjwZlrWrn2rsH_Q zyP%@Kna}O45+ApbqC4U${#x`;$aB+Ux?kqOwhgIRSr;ch<~^2f|B<0ue@&K>T!{8< zH*uGL7}?&B;bv%wSjEy8oVwf|>{N1s|K3Y7PoW<-+uwo8X0E}My)RJz?JPpYAojjs zCe5E)%?~c-LE6QeRa{o38IXc+$9j_Y?k2F%d&|{Zy0OWZf%Vr#iVC&;*n=2P@cb@= zt9xH@?nf2a^S)bL$I2#=)UG0!B<&*lPxxOp#}+~8*?fM8D=JyW|4TYb_ttc>S&>%Mk!VJ-<@YFaMj3mr zSj5CdX*9E|iOXxe$13DC%e52duqWZa;hFA!l1tsjsSWp|Jtuy%f#y?$TBL`Y=afOE zPa0^$_H(RL6p1OjeVAs_8c;uA0{T66WOi&G7ST1>JyMneW9DE`?`qmFyz__UOzHV} zTc+N-59UpFXMQin!;qa$)IVbi{$7v-y+b3w#(f-n{2&7!oUoyZ|1BXITNR92f0vW8 zohtg0HE^g8^Kw<0w(W%s9yr5RnDP||h=PM-Q1G}DrJEAw<#`soiyY<6Y} z;cD#pkIf?MZ?;Q_q$f$;QNEf7bmvcW>n@?C;1Eo%RPCl^K0-iNj^7=B=FaqgI5W?%>yRKhkFB$?z=qIpYyy2sA8F2A(4OiMnXnH(MHtZiT_I4Y zrq0UdBIj(K&bqh=ygIg6bpB!}bY;EgH7-SgeR>0b+^&rjd^a%PDm9Av^qbGUi*&4M zG5siyi3mjZ|p)6oz*?onc}229#Z8%<32agTcAm*e8QZxa1-{ zf5&CPFTfp654QuQLRBzlMK}WYaF3o}XLGi%r>sep;#W1{?3bz?xeLkT+$HhspIbC) zx0GSt+Y!v}Y&^MzIWmQZXSm#@&p`ann2u>IM~Q@Fl++jin+;cb9Mm~VzfZlx*P)Lv z^q~x%9g+g(Z>0DUSFXa3jaPB8_C`#XD}wrlWFgnN32m*1v+~u0*o3qZ*lTtJ?u1V# zy`z<|=i@JE)N&=yGtn$tdp60BQzZWtnGn>tkfxN5gabpi!0sz9SkXF@rJhv7t?6d0 z+V&27WMi0OV=C2;dDPdc(_6)qp)NOeylIVGt9@H+1yR1TRyVH>~lQ_mE@Q>h5i?oXO% zl{FUS--%Iw(*fLbcN^o&=Huoa{``8i0%)Ib4t#d0u+J}KSk?40s1~x0)>l;6c$;oM zXjB`A3-{u%N$vPAtqs&0`Y^Zm4JxJ^)9S`PTq;U~te-WYucS&IUe`p!N^fFG$Z$xR zQw*-TL($YD2R{r@W`7&6;36G2^m=ShQ+B@sv5w#^31;kh$p+M_8OCM@KZfE%Ghv1K z7--EZh5Mz8n6utsINQCIbruNspnp>A+U?ai!f6=0RUrKC8G~4{%{U=PH%ZiKI2mVj zon+HX2Jnqxd-?mHvf*avDB9Vl$j+?H<{E1^f}(Jr>#tsh39B~YgRCw1W7Z3<1x(3N z@OqhE&|>3Em1%cP61tn&(~IrdI54`Ko9|TyZfkIXC=)Kk}S^m}*N2 zEBB-Ii$?rfB)BL~Wa8F-!Fh1pk-6>~LOV0m*b1e;VC{1VXp1||KfZw8jxGd=y|bC# zf)ilgR>M_R9YvpS1L*rGWg7c8ia%gf0I7~Dtm=9;JsbHK=7w9d`_`T`D$fq^sgSXZ zItV+Q4Ou~ZI*dC0m7NM#J&z2Rzo7LU;{N;M6b(+TySu&Xo z4gJ7PTxiX94SfRR7fuJ4_0`njV$4a%>euu*JPvY&)}K0V7{=7q8CdYfI0; zJ2Mk{8mmfws;+R-FS>c(o82(KM}~TIWU+YXR@^^LkAD7$Lfe8c(UCimu>Z{nN{|l* z-^66hte!;QT8!Ae`vXaLl@u76J;5_JFY*3iPxv0ENgKO9@#hKH%wN+uw>EDWdFP5) z;*>PiHU>iHDB(U(S&T`Gzi|I@rQlMk5=$~r!7Zu=j2ki%tTSU_=DZs2!k66wLmR{z zE{&(x^~oZQYpsa||UP_knRiDeeiY6lJd+Ppb?R+0y58ajDK*ZdTPk()c`{cFJqAkP{L#q3;Xl zN#>y_<{K&^Xn%knm68<2{T$9z zD^r=lR!vdl_Yl^Ef-~mCKNQvUax^`Hy(}stl}%dADvu+-nXb%bo+7(lM9?yCkZ8Pl zA)d?KBeG&Q;ap%Ed&`$#;PpOSHmw9p#|@={HNg1pSc0T|!2i99i2S94xa~dn| z8^>1Mdju~Jgs|(p6hC0oXS`Vb6^q}T0gLa=T(!#RaacJlv_DZ^psd|lrj@3D^)nY4K(0-KL?!S?(`umtI zYPp4{XAEOE-)E9xVI)&B6r3Ja6Zr90`}i*22SW#66zZ-P3>c)r8r)T=O4*q$sWC_I zFSB6q$r+TJaUNF{4d5@g>9Umij?@>L&lNd?K6l>>Y;7ZiM8L;TVl);N&(X9J721$$v`ZWS;=ueZq@R#faEU z!R6%9T*kj|@8GVTGh^N(h@ z$w*%*@;Rk~DKf@fud6Q28#I@#dK4-iE8SIgZ0%KeHo}FU>sgJChDEs6&z@FkT9Wj{ zlf1#?emprlkK3<$A9a(X;AL7Av+Ssc!V&xN(QPM6Y*%5m+Fj_JGmDw)a@6*5B%9uG z4ioSSj?QSs2>gOc_x)(5yCmE06~?yh8Oh%5vxTRBuVCH~JWi615^+^$E%xEsHZvzyH@sa1{3;lgswF& zdomZiCafr1b~&DgTL0k2vnc1gAU$8{%^ZCem-tW(lPmn?E~m7X|s?2V!6}yo@g;<2KYUD z&pN&y1v3wM>=69D`-lIc0RAKnkqe-w5ivMK$f|U$?&FfTm6PFrfi&cA6zC@EQd(g) z+*llk`|Ui~I&K-o)jowgDtq_{;}>vymIQbG*=kmPcOc1qSj^mxT}D4V1miRRaPk_0 z^KiQq+oos5xvwq3=*j#9Zv+hv@q*<|7qQ^$DHI8Ay5#j@+&XGA zaw9i^N7G2AaQ!5IzsbYV z^Dr@^1O^m)Q`L7J`te{3{gQ9tDh{4zo%<%zD$z=8uzn%V7=I8h@6zH-ilxbV*=n@! zjb?%Wwlj&z>11V)fLeF%Q^uAd%wNdWy;@!jcjeczv`;By$ig_kAO%m=*HKizF$y~W zPG(`5y5*XF&v0Y73$>2bXFEpqbANp;us`0D$|rY=j<{Lj>Zxh`J0DdrnAeMW7bR$& zdoY#E83T0-9)ORx8`rX9Jl0fF+z|R&gqcgKC-O?W=KA6C%y4$$8NQs36ncz7^Z+5!&2{(407UU+l zz~48->yELa@z!2cy3(ADRs0HLU0gW)Q_h!;P7<$<{fGRD5apszxcpWQ>Zsfp2E8VDa4Nl?Kw@Lnl_cSES&9W(KL;u zCmaEV{Yfa>xWpqBl5o)!FE%Ju21hiU7iE{tqYlbrDgSioLHa2ga$!BJn-+w{9}lpH z|3r|*Mzg}`h0L+C4*NQz*}u^z1V3^*XP>l~!RGy>BJ&pflbceZk8vr=U6?`=uqh54BEq4)4iXCs!c$bni* zS>i6;oa0`IvCV7SFxU0D3fx$-lo0CuNU8 z$b6xvI=K@yzbaDqf;+G*bTYr~UMpK2n#5nh)of$y2=?l75w|wsEB?D-ftPnpV+Nx# znTF(D^v`|)A+1~KyNNUfoPH#l8D7ArpZx{RQq~ZscLDdUG+{Qj%5Xox7k!6JX8Dt| zP);sTL&lF z3qEre3wDlntnIQByRqZD=*nJ2KD)RQ15;mdS?+q6z*m8aK#89&dmdy;N)|Iw zX5j(wE?R@Rp4;f9lrF#;X__b50#hu8u~s3EioMrRNlg!;q7>NaeIbzZbRV-Au!o;F zXN)L#;sP9Dx{ehO-9>{w27!!CI)COxJWIa0l}%0_&mvNe;>TQ9R=H#%nX0?70l|aV zyZljtQ~fDSbWF!D^!;YIAXf$h zg!&?TcK|lziXpEql~eZgfRt)aE-82f%T`fjiwm{6J^z_gZ(#D)ol4J|CD>;Ou97^yk{Q7$NFpGqpXOnYtaU?`q$9> z(E+r)<8aR6i@4>ikYC*s&C;WXqqBK1xwsz_$rt#Nvf6#T6sryg9!|l$u~OXaGDDD$ z{l#rteG)os8qx3Yd#F?&${HLK!R7Q_Jh(m=#$5dhPm_~rR>xXqk(R-~_LT*nWn z5)W@k6N|H4EJ6MjMa0%MD z(bPCM9Vd_J2MM^%tO0v{RC?2J~1LT^ic4lDCq<8B^w z9W-M)F~B$ry<6j0PU#TXQ?s4QmA%j_;25{UjC zS;y6*P&)ezGu$jkvs6OKCVT>$r`8TR(H+?E)t}ZR2^@WLB!6U$B`5h?xOZ-97u_4! z&B?uUpdR~Z=vHjwLu(93)BFmat>_f53y)wCH6l1aavCjjdx5$YvP@kyN&Nbq4eOh% z#5`&Tvvn`C$nc*GOE;~Cm2VvJP*@QwPk#Z6`pqcUDoQ*J$1ur%A!Q5722tthLBula zFkHGH?sD^CVY(-2r0m7{i=y4n&s|Pyo`ta|*1|kEW+c^I9e^=0z1;aJhJ5Npj(NS_ zAo>t{5iTtiTqdIgPAei47a!VAQ@;%3p84o=k26+L>u?)vw6DUR-0NUJZ7_3Ah=GpF z8C*?(AyX50ap%KR*|eQcQ9MAARBey5q+}OTJ?;SUDZeppg*jUi6hoG4q}inBDyX2L zLNnGypvTm;@Iq<;#;wYxcu|S?*R%O7_`+)b#`96krg98!T=^IyM;`Prd=x5hYUMD{ zk674+0yyeFPk1NKL-^Fca71xEzt-#%Ha}>_h}aTw(cF6I50s#!Kf|#kYzQ>xf5E7C zf-@^}5M=i(qq{$>KxwrOWm<^%Lz4J%xa!3V0(S zfenbCiHAS6V_=g7mG}e2hJ>)grx;Bdt0O#*w_xkwCVu~p4Qx(;4!kr_7F*5z2H(Bk zq1*E!e(MuyHcNjP*;^n!|H6@R#t4|dbO9dOP>vfM%+WJr5o>&N|3BeLV&VYTmGVtqrMZR47I1znyQ?~N1ie?@L?mo zF(`+QCm->!|690V9Ea8^hE(A1gT{|#S^gkRa#Tv?a~3O$YSK)pCTK7PoZAZxKNQJ2 z%#dk>TF~^_jZpJOneNu#hR|9U82wX%Or_uBFR0-cB!A|OwgUuC(D-qlqi@>J9 zpTc4$i4HuoL`vK3`P07+XKPo2?{gF3`xeOpUyDV(cg>mXwuPiTZY`hN9>?lRx8jtV zc(Mt;PGjbD^G#!eSn8!}Si4t;nS6K(|2@_%Kk;}zwloUtfB6ZVvnh||DRp9+L@Ew+ z`3yz57S_ALo0v& z*9hu6IGPG`k73PRNoMk03(f_fhR97Eb*q@r>x$W|bLSNZ5?r)g=x&kJ+T~26c_aI= z+mg&z$Zal*VLIG?tirU+-K@zDT!Q1KMB z271y5ZUYS097q-Y1BE$mCqCTZL$loGKyAWTa0oWQby1IS=WHqVu+yFXqJV4l zv!!>-V_2!+NsU+=4O2#EVb8~LxJ~F)JUUzjl=B*f&Nje5RVnOy#a|(JeGk2A^yupw z1F}o96?I7J;mY(50QiJ=YA(~q}iIHHYf0fUi=Zxy_|3S}P530MRPS;n-5=l;i z3SJXNKUvC3wvVEJ`<}t@=wQxcn z2$PIKZg39l4YZ?a-V>Rvp(n1&HV0elG;aE`9BBBh#?Bfg!<+;&`ZA+K9QV-*)$1ox z)Uf@~GPzl-K1PE&y%Bql91?c1tfT_-8W^N?01HM(W1rz8Zo{%kaNoy=eGsy^4s!z8 z5i1L_XtAdmJEeK!lScIH&tv{>LI9%^FQ!83dhVu8|MO-o(ejmaX!3J1nX^oODpK#(Y zO$wT8##Wc=uwFT77FINjd_Jg>gN6ktB+g=fm1mj7ElFm-(ty{fT`u~;JF;Q$17CY6 zu;SH4SnvN;$XWlyif;yVIoTJFtm@_O%&LO0@k8lntSN0+qT%Tm%j~dn6it@Ru~HFrF~fYfH+Xx z+71itf~hQF7yFTAPGu+5SeDC2G!C5&(}W!kw>UlVuj5+;hv^f9&)s;%MUS4|d=3{w zyMWtKh{0xSadu-QP7hv#w$)}#n4=;aBkc2*d&;bb}wC@spQxypBV?J=wLB608J0*w@^F%<_g7 z)%zMlobau_RpCUMe!8B!m$aeYpD%E8!b-dx946)-i-jE$%Ixxm9k@cj08ZZsf`&a0 z`PnVMF+nGkZnZXuH}_WYk?Z}$H!dWz%1mF3mUE`cXk+%Mc03z=TaEo`v|}Ofe8JaU z$S-Xyz*j3YAW``cl$_W@%k+6v7y3tY8x#1gOCJJ-F2MQwjZpPl6HMWIVSaZu*38*2 z8hULG&Hv*{PxZ{;Mra&LeGJ3c!UTw(nhj!Ak$6z>cD!-wDHu!`$bKx&BnjC<{_N0~ zaO}`($Ot*h^d~;Sk8MJhcYq66$<2n%XUwRa-a@!<3w%#GBMKVZ%5RR|3s;o_Xqa&) z?s8j4%MJ`-&U3mTQqmJ98ZM%TkwK*7l*YE_2y@S~W4Os@PJq9rIz3x(m%DM$h==ufPKm+zQf&* zems;Umn212<}{ZK%`DlSEN5!ZR;L5c?ODCaSCo0{PDT%|;?8TopuYblzhHSD=3i*I96+Fq^SCd)on@LM5WohiHg*3uO=o6>>6r~Pt#cT6#;>mS8 zDbHgE47&3lJUzCSR>sYwJnMAKUZMuN6Wy7Oi-j*)NKUq3}_H%*t@eAFE!~` z;%GW^yFhS$K7?_VgM_)dCyjP<$FsX^>Cn(L2oXQQt$lxCcGoF6&R=JmRZ8Fi^StUi$GnY@?;C??Wyz&CJ`JR9aJME!}lYwuWh4Z%9f=&7Q zgL8Qp4^3)*bp7X8Ze@WN$z~|QC5@!Albfz^;it|B`PD~oe(G&;fa4{sAA1k1g>Q73 zr96CYIfW-L?}aIKBC5HNg!k?}#PmQbw#{_`Y+pW|IBMIoJxIOwQwwMFqAJ1Vk*{y%q~=FFpbi~q9y-v)Jj{tSsD&-+0{0qGPCxK&Rg`Iq^8f@pJ_2|062ke*L$6H1FXqd-Qe#f(8Am2Dr?6+N& zd5Kn2(YIC9cX2K{DhiJD!2ra_~l2zriQuvS6?%gkxN{VmRXJgdy*(+j zQzDCkNIb830rd~9L*}hd`wdbs!q1D$WEQd~51r_zk0KjqJe4E@BAM?r5e(}SvIoM> zgFBZ^sm$jcem<9i%dBsUYN|g1+L%+e?Qwik_ZK5N?(^LaDbVb%jX92qWIcZ{HA_^N zwJeyyHx4aekIOdTrMpEqq&>-E`*S>A;!E__e*%`GZA!ao(Ao$NaM~( zr7>Qdj5aHxdEW`W_$OE%wx4_|mRFHtJ~HDebm5mhQ8*>W_>& z+1rf8!LvX|!G!{+=HmC{C~m7{DsN)`7_PM*!z(8afWgAOFj6LsvtHN)mmCaf+Cmcw zlnnDgPzCngE)?@RcnQi zPHQ^ev=HXJTEsU6IPufXtx*)ANp)J!IS1*cGV{(ouzE=n?2|NS9uL0YfP?p7d#~Vs zcN)$VE?Wqm0!yk<7vAeiH|AC*+&`{MwvZ0iJZel7R5PlCDS zdohD8vebVo6(c;=Y5JZVaYoZNG`MTZ_B>6(J3mFFdmuw#ks|pSde#(wIvB$32GEYt zzj5coRmgNML#Kifna7W3S|{gWsEaF36?m1r!e#I!^eGz5C@kAO*ql6WO=2E3H{c)C zLH{NbVXpQN;%2*&a2Rs)HylCfx1L-{#c_a5QRMP@0PWni3o7N@xM*03`!>sv)sktv z?C{H+!ExixtYxUXA7;nW37 z@v5||Fj!WD8b-&{zUvZDtQX0v|MX%3h8(-v{7-D2l8HKA->^AS4lN|Ufl^mD|Eg>n zP2;EIZIjJx+{gsTdC`Ec^ex!r!&_)`UOq25O_Mbj<)EdtGDR*J##~U~fIMX|Nkfkv z*RaF3X@QiW8INc8+!kSO0axEDN5!Fg8WOhtHeWf{IdqDLhQcafEy zCd>EO&E%H7#5DaUpd>P7_bg-C%34iabRif&?~Mc5zX{^Ef|m*o-Q|`SFJs@Lhtp?X zntb26)68qfaHOs|YUWKrl_h?p@lK7YMl55^WW+A5Dub;>$`H9(ntr#8pbMja;-|Sn zK6srp202NKe$D=X|5YDCz4fA(mukF^`mlJVwH~i*V{*H49wf zF1|c1hpUP9X8$$pVNNf~)&Y-)R#t;1h!I|Uu6qPIx#cPoK=B4yx#cAH&y_Z+;e+niV*CA^`BG*5` zl@`mt2B%eS^ykziSg`noD6v9B+>Py69H579+RW)h*I8UY)Cl^%O4H*pQ=nG4rsdcyBu2khC<)`+gRZ!qT;XXh<`PZnR8*V z*c+KA7eI#BEtshKAbj*_0IBgRG~IPM8|qpEb1Jo1vce>^zP1BmTHf<3?oOtBgKE%P zBgd@wE1}V~>o{3%2lvZb=*#6wL*{})h-i)DCce)T903iGV{U@qEg#`~14F1xkYVF) z%qI8EOmH4`gXjE*qU{6Uv(%Q)Sf#NT?wAo@JtKw$e;H@TB}$MC$_ zOL#xI5?rSn(t+g@sZwh!8*xvHo!;_@E4pCEZf{7Yx(TxMcG6l9nuBnCu>+g_d>||3 z{3t89SoFoi9fLZj&|J9=9CuN;lX(fAKhqcZV{AKoI-iMswrk<>)|=vIKV;aN0AqGB z%$UML4sk(CvOsE2hsZ|vHP?2|5c|p!<~J&vFa8i3B4Et?}5y|;5Lkj zYT}A7H^Zg~S;*TZO%W&M;P9%iu*RkfXRDRKt;B62->8ddy~G*f+!k;T`UAnE;xu%I z-^6)+QnaF5lI6YDVGTDs!Nszd%aNbX*qTe2tyBog!aTFiMUs~Pa}j1$|In!36fHli zf#BreZfJMF+F_^BLeZM9u(f2qN&nGd!Fgl6vlg7An=xkA5fB}V;U%wIW7pP=e6LW8 z#+p|{!%!8NHl_r-kLuBtY7KVy?ItF>OP0AR4PsmM)p5sd!QHq07N<2yp3ONP07oYr z<2VD|iyRILbcxgSGxA_qS`Kn;H?={XK-GM%)c;mZXedcc> zYadtbA)|5U){;HG8O8MucP6A3Q%jH zCim)xBilsEWIs6`FKb9rL;GWpygQgo17x`$SuX5Nmp^lLxeFh{-tx;;w?p&jWQ;jl zD{!56z$G+^rYC(6xouRVZJup#e$p&hoV%D7Dl+_*ZOiyXVfPzv08it5vE)P^X89+= zjQx+m@Mj*}dzgbaeO}=aH)FDMGlIaev1m8ZoNO-?L%3=z?{7UH`KFKfXp|$0|D41X zN3@uCNOn1q8&e$SfJX-cYZnM4uZuqiR)aS7e{-@|X z9CCW!FrM~Q+Jj0OTGCGMxt}H?X?;nE29hmgWK>E@gS0436iP`_z2|-!BqO9`W>iE} zq_W5F{QiS?p7WghzOK(FKOvhHs`rHh(vqltuNf4N-67xNi_!SSZak4ag?D4pPCTZh zMfF~thi`8tu?6v>M74hd9&0uuyNX1p_?SF(ox24}dx!Y!zMoJ#AsWoe?xJ0bK9#io z!Gwvsl70Q}$i$?%w#0bMl$;Y@gKX0ScJFyHtcY*t zb>7&D;j5JC%>^^5h2Sd2z)h80a6Q2f@Cjwbt~;}bEH}c0YhUo~^APY++K!Hiiy+l; zCkU-nft3P{JgH}X@+R`%XKS^8{ZBc{4E<3&l1?>P1feWYH%8Jj@HY0wzL zJUjWP>$lS8Zb51hQG;72R-yHp9kBbY6ZPDg0^<*>VR=S2@5YP8aBd;je~1>O*ZR5F z*R+Tboa0H$lL+m_@aNYuxUa4c#l8n%Q*Q`46tj-_y)uJf z87W$#&<>Yu>)6|T2`I}*;r6%2RPMG0(J)y-#ZF%2A25`ozd2^a{IWS%wc`{!_q`T$ ziZX0L_C#FxVH-?+ACBARe`Qz+H7fbxA{t!KrHwV*IY?(RcliIw`m9kU?=oYsINS$q z%WlEm-FwJdX1LzpMUL7Gm(u9=Dv%D4BH_t=&Lx>lO|NXCdii>&;gkj+#)`;-VL4hh zl7Y|U1lb1v<-}{^8+QHLm;41Y?{PfDWafs6ADQ}R0XZIbnVli2%3QrFKs940a%0RV zq+E>SsTUt1Qr!P<?~SD{F@57ZOJgL9zrE2#H1WN&XDhKbxhHsoPHz1bFr zG7?*fl3)zPTKz{Rn^(eP;ciq;JHvP{^IWs67(W;NPqi1^x5G^O+=#_#XFtQk!i9d=B*e zwaEg}cATwaiWZwLF^^xU5n-t{AXw=})(7tg`->G&+*N_PnnLvV6=yo6B0<@}9uyQ= zPkOqt$m~!nx@Iy3X5JODq)rKnoktjfWu@#$E$2_n5G5)fqiE^C8b-v9V`JEUL;r;N z^p~jMRtZrhK_WI%MbUS*_U>6=&Hl?juKJ@c1Q!Lh1_&ug+OTp84Kk5d+8U9GqNO?nL%tF+CmjYDQ}9k1s3QpB*#5R z+0RpEgJyd!t-3!8tc*3uC;QE0-S_3BSUH*R)+0yL{bmvmgCltG!Uh`KvW;d^Kiaan z0WKBJC01GASyKy1s@Km)`)qA;-5?S*f8?O7w-=nV)??<$#6i`a4z~S3Ei||1LHV~L zkoG*!L=0SFjcqJxK;LpakkgAkJ7=+yH41dQsy2Rd{E6zScDTCdFc@{Il35!K>B4}C zL?C59tk|MOPCWevQn$t#5Ag~djISZnd<{7s!6Guh`vz#e<6ITeKJ@si75L<`B-7Pw zLy`?vL6X!urcv6F)|3We$%i6#yPGhva-KpA+j6;Uixr7%{EU_HyXl5^ksK?`gJTd_ zlWCi6;YLdgKkwCgQhK2ayv4S_shT|0&P-%GUO$2CR}SbKZSE#TD;_!$aXT7ri~l}KZ0r%2hxl@ZvH)YKT*Cf%O0r;U_R%ifm7ZI zc8yvrl!qI_hSNu(t$HS#l(B@Yy!(^?rQ#(x5X2*F7~^`^gZ??1jSg4llKp=U;i9yu zG>Gkm*6ZB&yuO-OJZ~CJOAJC+&N=mr9m22IXH%uu^Z0(OB%Qf*2plbyxjn}tESn%s zZMnScI=592{puY^$fZJ$<#aUK0TAi5k~IkvCy)AFV3Da4IVCPcv^jP!|GPA_&UpxH zRF-4={Uj81+sm6+-OzAH(hwE@sL+OwpXi#Cw;*5p1p8+C0rDzp3Z0XAgwDN{OET7P zU~h;&ryYqdC^YFaJ9|nazKD&5pa0chM^G`Ddgc=Rci;zpbu=NDp@^5oJcDWc-zM6J{3QRy8=>Alrvq|xItD<<`pEE*lCF9o*--%Vxs z-~pc;+9?d;Q|CK0T)GQ+{r70v9xfBQ|Jf{0!7SBK!+V!0js)Y3$CM zjGc)m1fIDLvkUZ~Mt=`FCtrjF9bfRi<4P|3#zXp+z5JC+Pr(&&BN!djBH*!>jPCr3 zCyU&vpz0<%-FXs;m$t!KGcNFYLuK)H)@1Uokn0;t*yDx|T!+3}k+yhlgC~#vF&B+> z$$8;2oU^DH6*ueCBiEYP*LhRqR zknFhVPU4cKI6iYM7A7RaP~|LEt27_aTuz{nSj?=Dc!M2VV@b8tQ7XIP3~o6Q1;$WF z&UML>;75w^d*)q;wdn%U8CK{zkMm~=N0Sv&Tpqr(8rn?l(L+3roDaMKrWXz9S8XYL zR&Ph7GYZ(~NREG`J&Po@T%?O%b%5REK)%oRa}amL1n&Q~r!8w-I8VbNy4BMOkG#2r zdM4a1w=x9-@-l&*4o2ZvSI~$(1^50Ab8UBz92|qrEnR(2ZZmxV?TQbC?sDoj-KG+ueq7AJo7Cy^KJAWCL6RnzjNa`MkH zp{EZbqprc?>r)v|r8KZ;c+bAQJczqI!pOT|J$`O|CfY{((hsMvql2Ri{TeX{7qtV? z(=d`1m?}fARoug(eEz2lvmL<|}z4?PsN~CE?pDqe` zO48HPt*qV^O-Pvd2~19?G7kq{!Y=KTp!P(WENFVc?5%9$KbaH7d!lEHvkz}|7~1Jg ziw`KXp*e0?w^#tJ(k$pFH3|BNu_V?3fAQhuQz#Z@4t8#lnB>w(N8YN^n2$4vaN`oP z!pqcQrRWUYDpX7t`DD|q5oK~}<43$4C_%)|erI1kc!f%nf{AIg2JShh!;bvCK~)6K z!MQ`8kg=))ce^}rxRW@QCg%&|Nr6F_e3j!xgz>1d)eD%AV2El824vZjsZ`>V1`#UY z(a^d5RAfAuzByw_JFZWmxoU?=(A%Zt>NAG8rOD9yvnLU!(nMS`_auAbc0c?l;z4c4 zyh+Wv3`W`TGCG)?=3%Qv0^#nJC5^n4Rr(f1rmO9@`_ZO0P<>XhgF z9g+qQ(fxiO81|1M5nSL(J&h+4hpYk+QhCQ(SqNcy#aTGMx)DNSj#8zimv}JbjPm^t z!FHY%`EW~^)^R?lB$-6se{uR`s?7)fpx7Ypbvy#bcYAnNt-9ojrKQ8L-za9ylp;}@ zw=h2W3{ez`#vql0WZl>+D0w7>Lw=38HhU`>n46D{pOonKEh%(>IY!Ff?jqLrV(kTw z%abJ~#~{5ZklL%tkzYEtB!)K+BHjbJ$>s6XqK=RizKGks{^5kw7wDQ3!%UZyBpT{z zpj>{QnCh=$$9znQ$iee4RYeI*n3mTpXbsRtSV8S=tDy2g^|8~RPmC^XSx(LQz>C&AR z$GD76HuU^H2;&aiOtEbf&f9n!)sr;ItCOeUFdIiU9b8U@UNy02FMVcKzmg}`9o@WT ztR1=EYDmSLzhkG}V&=^*KgL|5VC|W>Sc(t{6mT zbi$2&igf;8KKtZcI=wfkleMv&O5C{Ibi;fzvPX9_IdhoMBP%3e=(QupIeg*QD>lK_ zDL1f^>-%0E4<>&DPeRO`I*3f=GH%_)un^qgf|>!1ci2Wm7I;I$v_aY@N%@@`jTh9_$wZpUWq{p`gGLTif;JY4E)(4T&F^s?aeyR zO!rU#nUpQK;^+{bjaMN%el)Pb+l%OUmnO00&X&tUebHmP4$Pg@1`D^xVriiRY<+Z{ zac!Fn{)Q~S;p$QNA>v1b;uPq!SI_WJbub2+YtpQzwOG3D0@S6HU^MdGv3Of1c<#|9ZJt14JzeS1{!GkQI0{M@x)86pi|OP2 zWBMiku%4d}GGFDN!e*C7SXTNA4_^6$Q?(lEr~G&eLI%^|BF9W@&(NsV$@Io8qekfN zX+<}BaSVzVX4Li#AyvN4v^7PLT#Ks3?ft^|vq*qOeJd4&VFAooron{nU*USHYC@Pk!2mq;8Q9oPw-k+t|PW)e+%RRuJh zJI;9Pz!v5uc>h>JcQ1L0hd%qG*yRc2Tv`TZa9)tj=krm;Is+6|+k#fiflM$f@CQqb-*V~~z>^Zc~I}URfyn~JUVob?$ zZa&Z-!)#6Q;6<-0z|}hjVdz~rEKhn=eft9PK795shATZ?=%_A9`3E*|U9dzt(4PeAYqUw$Pf2p~ zb~MB%ePkLIIMJt@Q z!VSLE0s*?oUO)`WJI#Z8mq~~{-z(ZqB$Fm);va|;Tc52_70|a zz6N(`UFtSPg?2ix!JQ>fnBg%Yyr8H+dyUM=0Vb9Ch}L9Sq@B^xNn{^w)*wT3XQR{Y zU+^+H59N8AA)U)#wTQ^kHI<7=)$d_k(80$k1=Gm{DL0~H^Ago`3>nQUiA>)!5#qZq z75A@SPe<1BXyJipuqSXYe57N{@lDV8{yVwfxz{o@l-$bBn4v~QwTxk^WjC-AT6F2; zPt4imd?v=I5~S> zl*kZW{%KDO{6WQOan1-PXP3dPKYREbXB+ur?Qkkqit)DO-n(i$m=yRj7aoYwH3nwX z^@t4-5tS!`*>4c?rODNd1+-~|A^ZDY!Dvkns4nKiT)P&e*(cHJ>2$E`I_S--L-z znhtxFiW#NAm#E2gX?}kXrVHJY;idX@w14Fbr=P#2wueQbtU#UbF~^qu%=pppz13{J z5VtpQIl*LCWirn;od=CQon+Y*HCnckb9c8-Vtkg&A#*3iV0B_3%5N-%`yn6Dv*jZM zofe1Ld7iAHz&_%kM92<~(e=x(3YK}r*Wa3~KqB_Z(09#yQM(}<5}my9?4)(XaZm%KXk#my?d$lAdh-!TGQ~J+aOV6N)MYPP&4g`*gNnW1B#lk`HDP!ecKBX+-DH) zhek|R{yk>++cfySQ=eQ&Dyr970z^}y1eX6AL>KRF>^e1ouZ5hjx5I-7O{%0F{&w_r z=P`bM-wW2Fa~AzwJIIq%H3cSug2b6RT*^$MJrDG#*$FwE%QK`wmkQ|3n`XGl!Ian+ zM3U_MI7lP~IDdK%7F69txzd|NQ&_4&f2;w_-XDQCou46g{s=ry*+i~7_=DgLUobg%nJeJ02Ah;SOiSm0)!9hI!Zk||W-j1}3WsX?#Vn$ekIPBe;M27Pra z8oX)-Y`L7z&0p+@$c&k=>A@(voRug4cG%M6m-|s#YALxlYD4{fSF<8V*OGqW7g+W& znqNL=B00rn&!l$LvUxJrI8DKst^3FMkQ1-54$p5w#Jfgt?^Yx0t}KL)78!8yVHvx7 zVK=kwPaZn%)u+L4OTlQ7B8{JO8-I6cQ14Trv~`gwjVV|`Us-3vmi(pk=Uofx(tHgy z7TD42Asd*^gR7YkyZ=CH#ZTB4bP$h4AA1K*wm9FFoKdK{PW%;pTnVk%`Dg;$`*ac-X1 z^oVm=ZYNPzr|_^=Jn3(WW%k~VVZ0|az~}U7l%74oRvCK}_ETT|yG~Jh_IV^pntmA% zrHA6xm5Z@cHX7-1LOZN-*ppe!+}>s$J@4@c8h5tBa5(3*wvVD(ySUE5x;Th`t4lWp z>_*YbAY8~Wq-VJ#cb`clvj-x{U+Gt%q4pyxDb7F?tsGW z0P^?Z8hW+u4&E2{hwwfna$@dH7`oAkNz=w4GT;Q;d%FYt4|C9d9!?#< zKf^8SE0}9qv#D2;J1xJ~jX|#Rv}Ob_HMJiu@0DQ0jricY_a8pmmIm!pXV9q51CTmt zGaNd!ie4J&gi__LAd^~z>UVWGp8Zy`MT6EmjLjrB9@_F2r;RakSN`F7wQi^r>1QQ= zA}HCU(nnL*u?wX|aq$5Ky31@IGxK8+G#_b$Xob65Kl?6qgi+^F}t4+**dR$)e+dk-R%Az0XCI$ZuP&J&R!diW*qlFfcrNZ@zsW>_*kw6iXW)ZcSccQKIatf zAF77a>RHU^uY%O}aTs;I&xgbBG^v*E4s@443*W9(W5!xZx=!DXY%{xpBSQ>*6jA^W z<1*-Um1R`u=q_M9tw_;u0<(Aq0lD$#jHlu?{-5{8D5RV~#B+z)fRnG;3HmCuY|DD| zYLUPvlFw1>!xtRmc;-ubIeuMtJK(;<%oo4A;7$A4(Q!+n-R}&Nd)~5rzR|F6Y9Wri zU&ti!53sfGhB3!G6MQ2F*@V?oa7c3}v*^ArGj&rox;ZvM@i!eZK1Bj*Ke^EN=E`XE zVm-;_{K9iKoM0CpaDv+5BHoLQ`JndMoM_z@BAKZaV*8eo-xrecYLo$eF|0uZIL=P= zQDxH3<+OEw29S$?3`lOd8OHfX)0A_W_^c!gT^d^9yJiuMFYuxvLCf)}@N1T?vjPv* z2~?eP%QZh(29a6E;Be4->h*Oo3~sh&``=y0{w+axP^%Swx6Pw(zK+B71O@nFtwo+} zF(fl~*5cUe5=@_@Ko;3AVWPRbTKDE$JbrExN&VA@!}G&o_=5_~6%!^;3ZtM|XaLe~ z>_>06Jg)1)1uG^b;X8Q?dO`aMMjHPDlU*NiXp$Y(V?=0LR2NR#;s#P7rgVdHEkcPC&Jn7np>)J>*2SGj7|OM)^~3BkxHjNSsRLcf1~k*e{vPLGdrF zPTL(2iOc8zNa1>RKLzQ3za~)AhKm^9sYT0|2oO^ykySC6M)YFa!Px#Nw%2sB0^>W; zd|aE33UJqqUKzUf;Q-@2c_}X-ya**N*8+XOL2Jaav`R$!rY}A-lOuP3G+h zczK&ODKGqujfSDHi}?W)j9&6Yj?bWx2`fn4j~(#3t{5Y;v+$Lv0$%B!1;XN@MAFuGbQhE=4O`-T*6n1T|7Z;Lq1azK22}vv7hVdu?wVF<$%# zH}LjBn#g&U*ZU6nr`-4#&qa_gDdli4I37zw`uKL0LU4aF=Sg1U0G~~p7-NTQEIy2sSazCq zdlXDHu>&u(onuo})bN7EZ+w2xh;X<9D%*J&&jp@?k``;2TdD<13m!20hbMA8eqr|0 z3vJ9u*P`8FdCCShr>ZoveC|4edsD^rAVDQVK^8za;#7 z?Gm$;%cKYwC6duw_DrUYX1&>IaeDW2FqnCGp|DXT`wsXpZCN^1VH+?sUxNBdOoMqG zABRV;vQB?5GFcs4!1dEN(}rKnTiBy*$q$-R4WnncjHKUkV)V#_KGHt}?{6VqdSyi7TKvH8lL>ww z|HSTi^vV8|SUfEaC-m>%N36Ve1Q?kAV0Lgmb^-MeddoVHWVxvjr?Vf>`>QvkHOf%z zdV?p=B;Y{w6*O`z{=+ry6q85W@w)gobgL8~j|^|a zlC5!&GNepXRL?RWcZcBS#YRN<-zRWhYDd3e5?J@Hq{?q%;hvZrgmZqrBaiZNgY`ww zl29k&7PD!0^T1O|d zPh?)8p@)6Vn{~Ay@bz6t`?ed4#C-TC1I6Iy z=U}qpKY7?NV$B`NIF-l||H-eJ zu{;gf^h=1yy#56XA0EIM-$uCqMxM-mtVVtW1VG0_eWE6*LAllmY_W zxXM=k|GhuM*W$5X<~Ve}zXtc_zd+u{CLDF~gO{rH$Qs6T3uci4x8uyJ0|qp@#0%RN zBrt zGTzgcJo0yg)mGbK*6Vf5ZucrilAA%c$HZg0mpa)q+6_kMTiLrs)wrzO1qzdG(cp^; znRWO!#%^$;Dz~3ti(mx5=q|@ne9L1qnoDu_tOJ-4Tf+5}kDyI%29%7;(95~H^rOrP z{>ba?OsTXi4Rq>+m`SJD{9VeV0`9YZQNdVxPaoS9J9*1a{lVL=r$Ik;C%mhXCAo|O z6^IqakiJHomDb5L9W7^gPionh{h4gA+ypET;b5fKx#zwxDSU8FjFd0<2)P2X%=G*t z`~)E#Mo;G^#261SA3v$%MD8nlApXFljU^TT~EPL30${bgRWk|@#BWx z@s_WIT-JOO6UJIY>|4`o->h;LK$TuJitC zO2f+&@uXZ9XqowKbiE-$o{l@g`H8b3(tiqxE8?CZ%9CL5yA<7Mt_=_T^qJa08G6en z7w=~mfZF|d^QMlu>d*mR)@b#rjm+Ts$|IT11!JtntieT5mV-Ph#J6C(XNjv9%M#qNNXT z4zpyR5c#AdNiD?VkvK&rl$=+PfMNn1QsGb3BviI()4}#W#BtoQs=ZH zOj|YtOE=#{pCbf+6I93>uWn{`ttZu8(1w+n>quAcIXJznj#(2tlh962Dwi{brd$tU z#sUCAg43rR{iN%UY7`=8u}(%sax}9lk5Hpk_@Ri7BulmsH2u zY!M?At;=DTY$)Q-Fy96SyYxt6ZUekaNk%2bN__hw2{zoKYz^UN6>(hNOwoy^ zTg;>%8&Bh>L|Jk&UJrII6@d$(tB7{kTJk4)0+or5h01O1JQwX2uV{I6v=lk4rd*BpkI+x_TsQEM_T+5?-48<-~w zx$t?HIoa@LIlbR@jxWspi8cD)qN>3J@;HoR>DGKiAD!PM_mK`^byMJLrYVgc51=ZS zRp`Ovek9@85$LFuqqiFqAo%!HOxKK{e;x|b{iZBFJhBR0oo7)iX>ocn_#+!AQV(y> zM^JuP6V){s#os+q#O%By4O@p_jnsv-aG*E+M`fc@BqGj(nUY7 zNn~pKC`24c=V5Ui6D)L_%igHrnMoI!p*Nm5z3>Dx!H?tbPV}S6`z7l|^!~7ZObv)$ zOoFq!dmwsd9;)nBWLjtZ#svn&SQq6&*KXvpAZyoQ6qf<%opO@(3$|v|cAf->iZ0^L z&tM%Yzc9PbbKHgU*HF2z9Rd>PV3VByJlb0fo7Px^cYFy7_Z-5)2xnY8;{m|MWuSez zfQDJEVUkye!IhiUusEh10@GTs52jP$Fa;RB^9iQCmnKg|M?t51l+g(_q1p~Z@Oj9A zNiElA&p7sh;*4h)!1ab^2AoHW|2Dy7Mv87P-jAte-FR)iG-<1sA~~!52^TUT??lAl zL2MA4tELZg_lesN+xak6OZ$+v{bGvvF*teuI7sqkLG6?jELT_z4ysGIYiS`i^Wt$x zcnp0*Hqt+W>&PhuVWP9FjX$;Bk_2ZPlS9#~nK}70sG>^(#~+_b>RKGIF58V9=bpWa zeUFf8V^3mWyAUPM>cV!8gB7sZ_-BY>}6<9!#wX{#yvSWOm}0+e1@pH-a}m(S&+28 z&2_vv9${}SBiCk#vD>5})$btHiXr-e%kFq zXKp+SCwb4%Cp;2Et~NqCn6euTg*om^2e$*>2fLC)sT%d6zt_uvN~}MlbXAK8O3y*# zGY8puDh;schbTGqZWT<7%Cm3u^uXu7tGH~i8F?@HhU=!c;TbDya(_t?dnhR%tHKqb z?nMpEU7C%bUw!8~k{ft`1r}pgNg0lJon?JnU$B>}<%#iiL1HHQ91dnE6T=Q3`6wPp zqb<`>F)y0=c~XZw7M#uR8qWc`R1%L}aHC5m20@CL9o%$iz^?}0zHk6OU^&|ipK7f)j6SkeK$9M$sp2HMmDX1%-!8}!~XWjaMn z{_Z$DrXqkwN?#d^T3hNbE=6<>tfWgguI}-GRU~=BSLDaUV)K1{)Lvyrw^^mKf-wxr z1Uq4|8=u|qxfD--sABuIzVOR+-KqOLt`qy~8x$-a!O8Kq?9-JYRB?_6S$I^07zd6* z+xSD)V(~(1>0t_?t0c&1;0M^j<9JUSrKn5kEV6md3UJk&LiSBDp=}>-^B3e>kQ+P~ z%DbUW*G75LPq7j-^W|i;p0@>Nax>4DzLvyv$t-flQH^MF&Rkxe8>~#;27}W~$ca>r z30G}S#mrne=cfo-)t!N)`P#%p;0!aS&Ao5kmu!`Z7BM}MgFo7A!8WRi-Cewl+|=*^ z!PN)BY}IL89RHj-lBY>D?iS%xBXu&P?J|m9c!2Va8uVkjcKzD@8FaFO8qC?=hC2_t z6Qe;wO3q$|I?nmf*>ejPX>X>}+Bl5M@e%aoyy=H565!EweMaC}7mWXG2d`o$a!K(J zWDhBdY>}=C{GSY9ZJX>V}Dnen9>uDY&>tljiNp!jdjY zDpVGXOky!=rc&JDu0|7z&SP$*7Hg{~N?X-U=!CIEJY97OGOTlf*LNM8La#D<8z$h! zWeq6(G6h8y>frjBb9m>mJ8?Q)0v}ZGK&)aqE3-6)3I8;WT0T)?RRRv7mHSEPxjKNJ zubc3{`XYRhk;Z&b{tq)t)$yp@YGS1>NJTlfINN6oTP8>l(M1My!7pQsiaW>d`*Mdn zoF68w3m;>q?Gs$=p@c)7l~BG?pZcYXFs329=(zrUG@WZktET;6-&?$3niMX<$>=1y zanc}qIWKzZ_7S}avOIjrEMu43c)y0OVisDc|Kf>8a;-pid28rDilu7X3i~4s~L`rZPBwkz>P? z&e6+dg2Ykc1hccmvSIaL4)X52025CabjwSmexAyt^!y7LNtY(spB}PxKSbzfo)U^1 zOd?0Or$BYu2grAH0*{9a>7q?j>By(Cy74o$*vEB7|MS*^GQ)eE$Epwvyd=0@y$6gh zccoq0L+tUVS75~AJfA)A0>)&X;*pj*6y&;xVpq>WUC=LP(etg0Mtuf3tuv7-bv;7S z0(nN!^U{S<`~Y(5YbnLZ!%1DG~ckXL5b|w=6)vU zHIVzNb4lkb&fB=q7J~-^ShEBz`sGv?o9>d!$QfV9#MwdQnsyti)-0xvKKNapR9(`=dWIJ;Orj_2Fxi@gQfB%9?J^X^sb zdZ9ni-`2znuRV#k)9gr%c?4a&)CjE%#K`dW68v1~M`{iUGufr4MAQEwKFWw7ceZ?i z4|mLP{a1vgi_frIT@7*R6gBd9SPeRRVqsO7FuCEWNOiiNv+5i-%r!h3#6$s~`54iT z#%s*!Nsr;uv_tIbfT{RujW*T4)d&}ti%>Vq$yCYx0FB>K%9;goo%G#xaO(0Nvb``I zlXKrg=5_=6Dl_lMLeDOmSnE{?VcfLs-i zdhS)De}ZCA*=7pwOatPofB`(Pww&Gb$&yVz9L%wGjHt~FZ|1nn9L#WDP4@;_gLaT6 zh%Y(^C^(laG<(BdxF<W%Y#eA0p@|Op zux{TI&XKE1JMXUoOaG%(HEuIZ2v`L>RJCAWyb0pNTv6jgD5>Om5yO>dF-!Rv%JrB* z)@&bG-g*}0T1?2xAKU2X&Kgw19AqA!!bb;`Nu|yMrgOsxe{8)yJ$cuF{&#W;`CNM* zza4ag>dtPw&F!8>Tq?LZzX~BmO7OhEgRaV0g>M4SV}@T1DD7K-OO&+fHT_Za^Z$tJ zuiBCi%?mNBTp4%DO=PdfB7ehREUr1sxzA?g;5_3?Ko%DwwV!u%6IV6 z<1st*@O-`9)vY=g;sa#$|r{fLFYu$oBci7P!Zbv=+ZFu#BHTjefPRZVgFJ*M*6OSqQrO83{#q#bqZ$<`?yDB-4p)~mUlyj(HN z{df&_ZkHo6cl4;Coi7IU%mUx5j%cbNL{n6LJ(u2XzG913Y7tUPQ_mU~E$i!stT|8)vPm+dE2 z7h{>O-%=FQ|H6jN(@3-F1mb>Ik#uD>!ov_}{L_*S)+7zLcZssj9Z@jjq5?Gx{EFsl zJ~D%<@9-}7EH#sJxB9=|3)(M)VY-YsJut}+%TM&OK7Hz>Sjz*d!bQnJp@Y~yo68~K z0`hEA96QzIE#{Y0v(HL2i1Bej8eN`-)2@7hOQ-fjcA`D0-Mkwty;n1?AAMLy-e!Cn zZ9~QX1fu3q0h+0m2)9HwfY8-O=4nwBbLLAa-V+p{K_`!+7RQ#~rzS^1N0uJZ`~`1^ zn{bNO0O(|xlERB7#M@Ar?yu&urt`IF!~A&WT3aHc>{N_7hs+>p$yZi(Z3Ao*?X^$O zQ2?tb7LL~rgWxmQIHh3TNwe59!oM!KNL6d#K=>tS#Zz!9k~41gKl3|!ggy_ z+FxT%hpT(Q_V-P+S~v_N0h~{-i*qq3DAU!2wICE%gSSL=Xz;Q#@VI{qPAJr-ji7ML1mj8)Hw%6XzcsU-kTT$Tu;^u#gr={&5L}xs1~I z`!@JC`WNbqM?vH0HVD=~#m+oyMcB{<)S>r1yf$=W1U{rOGjC6%Vj}&h_dWx@hop1e z_d2lthkUsQLNrKf5WGh7(Mq1rd4XcF=Jjr7o4z0YUho!=ay#9p-@4erEvD!zBuDoO z9|V~+PiCcJ29}()L(MhwS&t8T_+l?Z1gk$W+YiaWT8Ua__|`*S{lQN7awCWdE$4i5 zj$OdfQHX?<13vw4I#tv+CVdzCSi@ug(VzAvWVc!ZJzt?gl;ka`%8su%lk08$P4|Lt z#kurxMIx&$+rSoe_hNRJIz8VVgbGh(X{ECxapH1$lyi@XD0raM$Y1>C@C!`$G=a{{ zWU})Ew`cBV=%xBgkl;6&+-tIeIhQ!E-JR>Gx>khBr%j_H4zjrQf;!TF*(mgVF6xAy zLL-g?Nh`CMXkX5&SN#$mT)F~b)h9Tn>o@$>e1t6^_hY3lTb>lt`#Ho;x8B!$F^%#BVpUODexzg6>i|MmqDH8YM5aty8 z;285yc?F|qcxz6X1=$%u8cxiSAZd0|T)}`Hy&41mPaCR6zw1|H%-8Pb9N!Eza}uM3%pf1#EwQC>&lu?bS}h9PWtwv-b%TG^D`m zE1N?0kNtq>O7%?L5@V*qlEvDKm(khXmApF91&W?)xZZj`CQizM-~}A-`b{ND2o*r) z#zU}XUNZ>3N`+moGwAU{C*gXVJqh_^OoOZz(j}rtFy)3D?4D^xmn4f5ksa^BM*k)& zl2}~7Pqdib82-P?z67eK?(hFLs5DP14M>Vqnp55L-9-r{B~3&WiHeBGoKi`th(a`= zkTNtF>U?*U5TOi_A(`S)nMp$L_B_A$UC;BZ|GU=vKdrs)y`A&D`>cER-fQpg{tWhH z{P|`+Cf%F!bx7t@A7t>p2|jq#C7ZkCAb}YL$2k|rQGDO8h19a%j9iRYAX$vtb%Xgl zHC-40Nz3klr?w4zwvr*H)r08G*fcO@7+6`BJ98Vd5>8PCsxse>I*6On(JQn0uG`_z zl(-e1jMF9^DS9+%!!o$%_63GAUZsZ0^`ojye+gf*X(NtvDw6^S?HJ}VprK5+&#oYJE{(@x;gucK*vWk0uZ<1IYb zIkI|7@hqHUVMMPSGbZ0YZ-SB~MQ}#+5o`&*1pKZ5G`e^Q)jRf}_-aFXx2qUKx3;tA zSAnH&K`Aq)r;7NY6I?f}A!xn*Zz|R^?h!Iw~H#bV^Z0d^CMJ%aVxcN}pkbg3rVNrpb*MweK*_+Ia-aMN44G&9SuA*n)KSZW6lIeFx=eZ*ECgHN=kj z%KOW`#0ll)m>DHYGB;ipo;V*2W}Y%+u2}`zzrTQ0&&qJBj0v|*eKWVaYB;^wqem88 z$%7@oim>uh0N54Jpf|bC_|Y#8@2wvT7sS-@tbsi7A2*Ep#i@|-HA-~XtXF8{YeQ;0 z8ZcRD3bjf0Cq{AGgoV5Hs{HyBxizXgxcy6PX@I;3bu?N=mo1;fEwl9c6FfqD$FiPX0ua)Ds4W&!u6Ts0wy~uz{w#eIB{J$>bIo{&YY5>&$d3p>E2U_ zQrkt0h&CZvmHtp)k<3kemxC2Cdokv{D?Re43l>Itb9K5Ye6`kQc$>E!@sk~G8&%KO zKXRlFv;{BEH>iq?5UQOf#ns;w6jVN^c(g@rMsl{k)RCk1(Q7wqN6V z?i>T{Ms4y;GM7K9(}&ML)Iv9fm=1iShQ*TAVACr@av!F^5APn>YOfDw zxqaAG@`CgFv;^->P(|U927DMQMf5C0=|Vqint1#wzbR0bq&Irv?kP{%8viDDR7{W0R#wFuc1ZMW3#S2m3&EA{%-SoKnSvf{f|3v@DK) ztnEwJ+62(svUecHsTe-W&La&Ap7PV*YSUAJp7guoK(1oyKI(6@18o;s5DyOzBI#(s z%^jYBXH#$BG<^wDE_Vao9UMfuM<>zzyf5JXfx-quHqWvYh2cJnQ1Wdvmg@9X7m!Ub ze4#+Ntk{k`kIsXIN2ftkxf`9hD+6~)?|~iHM5u(-GKe?d00#=YujW;0p ztVjyaCo=C{<_S=7)Lv39n%k2lPwc!7z@0miM7i-B_@%GMTI)Mp?Qjj!cJcsR9#GC~ z)((JA+ibkB_$chjs=?_@+oMD_nzKLQMr=#FaKP>n)M?a6PP$niqx_=qg4q-@W>YJU z%6tRKjzj6d)$+K}ePvCbi!1~W`hYqf<$U*;1Wv>!3w;Dey#!4E35rHOhO@?f4$jYirIpQeL2{ zoPvQ*<3N0!6MdqljU^3HB&ke?uG8E?7Gyd&Y-wsn@fQUomF-WzYAvh&S{2W9# z4l;H#)R&A^oXD@)nE-)b=7Rg-&8WUJ6WX%h za}l6KeOW&gw4BE^Wjn#D+Y=_nl;WK|l;sI#Vyn(Jtfk5%roRK2!X_yY09|_bFghd+ zq!-fdh3660u$SRp zKK$TUrjO%3rOJ@Fh*6wf&r5795Ym-%ONDD^yOHt{`tQ)%G{WPuHuoYX+ttSTSQo*BV6`H)_aO(X^ z6yF+#UyccJ<^^-AyX83ZU{AHvqCRAk&Nbwdl!=J0BCM3P#=S*NI3rpJ$tV3mO4F1d ze|Z*u&9|d1y+JsN<>wdVyTiD`#b|m?mxcz3P}2vq>DB40NmoD{Uy>HXh1##>7k^K~ z!E3g063!}U`q_iwt!-dJ&~ChUGMUzdM&hT{N6vD6tH?FAKe*ETM|kdjAs6c$OB9w` zk(NCsRK+v`dwj2PIiIrlsoE{Vv4di$ z?TW(uvoKFxmc$omle+Ca)r(h~vvKb`CvFqTrz|lihZ5IAW43A!8Q@V3hS+@wlhROqOMc%IEYV^cZ1kR9;sS&=Yr+Ro}idvkJne=qZS7(?5Y zJV>dk3yn^<;Fr!l02P73FmG5a(<*-sc2cdNE@5Az;jB*6y$k8^jXUUwD$61C3)i-Kuu*YjT z+M6E(US5aWp4i2e^-Ln%-mj=~F^zwAy9?IW>(jvEGEQ8Ma>>(0VA&Bb;=|^y>Z_XY z_Nxbc<76RO9Fap#p0=T-6Qt>Mk?VNI%^brR2O{pi0nU3JO3gRcap6UysmL+ss(QV* zY+p}>);=9dGfgy^f7(%ad-oPUiOmJA4CUyHS`oVX@jFnmH=}~HY+JQg_0O&CkH@Trnow{6be7Ey%i^N@uRI!kg2C)VqxX_hs7LeK!|| zQSm3?+HxdABpY*9KjRiH5FziAC8=03$2DC}1;e3oRC~2L<<{=Q&HOu5a21lD=7%7| zwidN?wsLPuLgAoyGpO9S2D{z+a8vqF^sjG$_vcel{(4aLu+wKS@AGRIdrzMBXo!*` z<2Kko?g2)0s-pE3eQv`bQ|jksM34OHhPlcwA(i3A@0B!jqTV?$dw@MuHg6_-KEHwZ z`TN1BK$&K|NW-V6cEJa)L+G?(BP}WqfuwFla^FT1j8ihima7ai%FhGlSZr4~_$-HrFhonviYmEO7L zOveoqlDO~`?x=PruAOuiUF(~8_dx+fr~icgn{OuMd@l2Z`*aN+Oz(sk&GpsM498M? zdkgr^*@l^8Z=spJ8(mS5io#=A5YUs$H8Z~2nXp>n6vup+R%684g$BL;P{0SJ%>gl` zG@S8aG_2jT9Oy#Q{BQ=Id(;ZiGK$>&%u=|keM9K7%7irC-BG=`)10_`dxbj#+-cdAJTOY! z4?iMi3oEo;P$P6BnlNmoQ{hAh~+&z9w#4h7!@U4JNr+N3dz#B%Hj@ znSWdz%lmzv40XTOf_~#BXcJ_>R^3eScg%%59+{9bQ=7_fy#<-;Kf^_=1Oqz{oW7Ciw=DBOy+i&~^JyaF`41#RC)&_BUq8C4 zx&Z5nX7kAwIb7qk?^xz{2`Uv+c=yH!dn9T|#3RI!>bn>T=XO;@bCtZ7L4GeU)%4!YpU zs$$MJ=`18(|An`l(x5ha4sABb!~0p;)sf?xL5u0fwEu`AJ{MA`+^H_ueXgBrzS@SB zaf4Yd{295ws2Y&f3ngK|o9h`W9R&au^^C2JD6*OB(*<|98+RhtC&=MJLpUQ2?v zt^p}~rbu(A#`8IfLx|3Kb(F8Ggbb6%d~lj2?8uhp4U4o$^g1m2?@cO}Ac-XI60X!*dA9`V~lBeT=E(_UUk^ z+KL{w6Oc!t&!K0XJH8LFCKl~`K`&UHX#}@`jJgP@*pZWD`V5x!Q0#<>YSc&Xs|mJzwEMlnFkY$JTj~3uy6$OzuW^Fa&nU zpjcl5w(j4FdAVtDLuxw+uco8ewKwqLO)|N0=L0`3N1L4W+0U&}(TwSW+KfT(>K9IBR2ZnW^+ER94DdOtK&B5&#w!K~`4=6N)<1y9bd-{)|{Ngt%6*edJRHWRQg;BP!l>8<)Gwx! zGo=@~3zLkget971pXcc9;wv!3_##d^aF}WMT}8P9XL@2?3AFT2V)$lBVl?F-A23#z zahdgL+g&eeKT84bq-l}DnVT^^`vcGEUVzv66PR}2Kp1mT8B&%oJ@Ow4B(DBDo71=B z`AbZj&HFjv=~(=@`V(IJew0gCx(St9e!z#Mm*D!~G(6jM6DGLu=&}DMzKy$u&Jw!# zjplk@|Gbt8OCU@ zku^EHaW{$_A|xxw9wQeU5$OzHaP-iif+=y(&Gzwd!z#3nP@)>E?8t|2SzP@m?s9_*|y}sLmL<-){8ODUc@S< z9mC!Pb3qv+$%+Ig_;KO_c80A1(-x+U*6oilP8~eg9l?h2Yq00QYO?sySnkj*rXgi# zO~yEEAkUsDqi5kZFg2>d7Hf4*D$<0?m5b2IRRhV2f#xJ`L@6Y$J%Qb11kd1q+`-UW zyyI|9ysB}F8yay2r%ue{%*@ppUUM(Q$BEEMV%hx1h1X$v{&?8J^sN`^iE$UiC2$e- zr}b|7^saO{-(Oe)A%?ebex(s?TJaO*zwP0^{m8>@-vspdys0>M%4E2mJAuaBn}zGf zDq>5a7f#b+V|s%#&A)F!LNFWh+sx>Q0dW|nQ8?7kcb+7m(rQ6dNGYu5)^L+eV#(zv1IfhZZIEq0 zlwJ%7p}zH#=;{-WbeXV!%FN{W5@*C8#C63kz1Z8|?_MUbhv%Xo3YOm>LJH^7%u{peikLzixL zV6S&1 z%-CT{!=O#EGmRE-sr+eRXr*v+g=^hrcR_s7&C7I zXDCSgC_H}t2wry(;r23qbBc{Wd^B^UZNrw(go{Psomm32vU6F^)EXQ{4oBvp~TC6aI)`vTfuD{p#afiT&UD& zf3&;aCe*2P1CxTq5Y;VB>Stf&Qw-PA%C=r?*lNe}?xXPZrEmh_5oFK)TOg7!8q8km zLSb${|B>}U%lN@0`LU5O1B?h zCvwNrBLf@xSz^PeQ@%MZv>gE#o>t(5=$R11a^^z6%he7tl^FP<1VgvT(`|A(On=&y zOiHkZodK8eu6H0wxtIXI&fP%ylT(1}XyVb@!E&{Zoi9eo(hQ-6$pNp|6}{L`0w`n)nhTfYViTvRq8moybnAYSHbV^)c9P{ zp~`x|@AAKYr;Nbz&pxp-Bx?Dh$R#f0P5MU*V`**v`!16f&7-5(9sVw!ZX&;L_J2l-H2GSs*J1*}?;`vA z#6OPz9yi7;4UhPDWCA=NEWxh+UF7}|Wy?mQ-;u$qSA;}H%@2wCcj(^-F6n=SX8kAh z&tJ;y-*JC$F#n8GeEL_Fe+_c~j{AF~_-9rT> z`!BBfkH8)O3H*Pz1y45#3FH4Dx`uzK} Tr`v$vk47NL{(fKo*R}rzZuf$^ diff --git a/浙江电压等级电量/test1.py b/浙江电压等级电量/test1.py index 52942e4..56df96e 100644 --- a/浙江电压等级电量/test1.py +++ b/浙江电压等级电量/test1.py @@ -9,26 +9,27 @@ n2 = np.array([]).reshape(3,-1) print(np.max([[1,2,3],[4,5,6]])) -# file_dir = r'C:\Users\鸽子\Desktop\浙江各地市分电压日电量数据' -# df = pd.read_csv(r'C:\Users\鸽子\Desktop\浙江省各地市日电量数据21-23年 .csv',encoding='gbk') -# df.columns = df.columns.map(lambda x:x.strip()) -# for city in df['地市'].drop_duplicates(): -# df_city = df[df['地市']== city] -# df_city['stat_date'] = pd.to_datetime(df_city['stat_date'],format='%Y/%m/%d') -# df_city = df_city[df_city.columns[:-1]] -# df_city['stat_date'] = df_city['stat_date'].astype('str') -# df_city.to_excel(fr'C:\Users\鸽子\Desktop\浙江各地市分电压日电量数据\{city}.xlsx',index=False) -file_Dir = r'C:\Users\鸽子\Desktop\浙江各地市行业电量数据' -for excel in os.listdir(file_Dir): - df1 = pd.read_excel(r'C:\Users\鸽子\Desktop\浙江各地市日电量数据-27-28).xlsx',sheet_name=1) - df1.columns = df1.columns.map(lambda x:x.strip()) - df2 = pd.read_excel(os.path.join(file_Dir,excel)) - df2['地市'] = df2['地市'].map(lambda x:x.strip()) - city = df2['地市'].iloc[0] - col_list = df2.columns - df1 = df1[col_list] - df1 = df1[(df1['stat_date']==20231028)&(df1['地市']==city)] - df1['stat_date'] = pd.to_datetime(df1['stat_date'],format='%Y%m%d') - df2 = pd.concat((df2,df1),ignore_index=True) - df2.to_excel(fr'C:\Users\鸽子\Desktop\浙江各地市行业电量数据\{city}.xlsx') +file_dir = r'C:\Users\user\Desktop\浙江各地市分电压日电量数据' +df = pd.read_excel(r'C:\Users\user\Desktop\浙江省各地市日电量及分压数据21-23年.xlsx',sheet_name=1) +df.columns = df.columns.map(lambda x:x.strip()) +for city in df['地市'].drop_duplicates(): + df_city = df[df['地市']== city] + df_city['stat_date'] = df_city['stat_date'].map(lambda x:x.strip()) + df_city['stat_date'] = pd.to_datetime(df_city['stat_date'],format='%Y-%m-%d') + df_city = df_city[df_city.columns[:-1]] + df_city['stat_date'] = df_city['stat_date'].astype('str') + df_city.to_excel(fr'C:\Users\user\Desktop\浙江各地市分电压日电量数据\{city}.xlsx',index=False) +# file_Dir = r'C:\Users\鸽子\Desktop\浙江各地市行业电量数据' +# for excel in os.listdir(file_Dir): +# df1 = pd.read_excel(r'C:\Users\鸽子\Desktop\浙江各地市日电量数据-27-28).xlsx',sheet_name=1) +# df1.columns = df1.columns.map(lambda x:x.strip()) +# df2 = pd.read_excel(os.path.join(file_Dir,excel)) +# df2['地市'] = df2['地市'].map(lambda x:x.strip()) +# city = df2['地市'].iloc[0] +# col_list = df2.columns +# df1 = df1[col_list] +# df1 = df1[(df1['stat_date']==20231028)&(df1['地市']==city)] +# df1['stat_date'] = pd.to_datetime(df1['stat_date'],format='%Y%m%d') +# df2 = pd.concat((df2,df1),ignore_index=True) +# df2.to_excel(fr'C:\Users\鸽子\Desktop\浙江各地市行业电量数据\{city}.xlsx') diff --git a/浙江电压等级电量/电压等级_输出为5.py b/浙江电压等级电量/电压等级_输出为5.py index 1710d12..9f839fb 100644 --- a/浙江电压等级电量/电压等级_输出为5.py +++ b/浙江电压等级电量/电压等级_输出为5.py @@ -5,7 +5,7 @@ from torch import nn from multiprocessing import Pool import matplotlib.pyplot as plt import os -os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE" +os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE" # 解决OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized. DAYS_FOR_TRAIN = 10 torch.manual_seed(42) class LSTM_Regression(nn.Module): @@ -52,120 +52,120 @@ def data_preprocessing(data): return data # 拼接数据集 -# file_dir = r'C:\Users\鸽子\Desktop\浙江各地市分电压日电量数据' -# excel = os.listdir(file_dir)[0] -# data = pd.read_excel(os.path.join(file_dir, excel), sheet_name=0, index_col='stat_date') -# data.drop(columns='地市',inplace=True) -# data = data_preprocessing(data) -# -# df = data[data.columns[0]] -# df.dropna(inplace = True) -# dataset_x, dataset_y = create_dataset(df, DAYS_FOR_TRAIN) -# -# for level in data.columns[1:]: -# df = data[level] -# df.dropna(inplace=True) -# x, y = create_dataset(df, DAYS_FOR_TRAIN) -# dataset_x = np.concatenate((dataset_x, x)) -# dataset_y = np.concatenate((dataset_y, y)) -# -# -# for excel in os.listdir(file_dir)[1:]: -# -# data = pd.read_excel(os.path.join(file_dir,excel), sheet_name=0,index_col='stat_date') -# data.drop(columns='地市', inplace=True) -# data = data_preprocessing(data) -# -# for level in data.columns: -# df = data[level] -# df.dropna(inplace=True) -# x,y = create_dataset(df,DAYS_FOR_TRAIN) -# dataset_x = np.concatenate((dataset_x,x)) -# dataset_y = np.concatenate((dataset_y,y)) +file_dir = r'C:\Users\user\Desktop\浙江各地市分电压日电量数据' +excel = os.listdir(file_dir)[0] +data = pd.read_excel(os.path.join(file_dir, excel), sheet_name=0, index_col='stat_date') +data.drop(columns='地市',inplace=True) +data = data_preprocessing(data) + +df = data[data.columns[0]] +df.dropna(inplace = True) +dataset_x, dataset_y = create_dataset(df, DAYS_FOR_TRAIN) + +for level in data.columns[1:]: + df = data[level] + df.dropna(inplace=True) + x, y = create_dataset(df, DAYS_FOR_TRAIN) + dataset_x = np.concatenate((dataset_x, x)) + dataset_y = np.concatenate((dataset_y, y)) + + +for excel in os.listdir(file_dir)[1:]: + + data = pd.read_excel(os.path.join(file_dir,excel), sheet_name=0,index_col='stat_date') + data.drop(columns='地市', inplace=True) + data = data_preprocessing(data) + + for level in data.columns: + df = data[level] + df.dropna(inplace=True) + x,y = create_dataset(df,DAYS_FOR_TRAIN) + dataset_x = np.concatenate((dataset_x,x)) + dataset_y = np.concatenate((dataset_y,y)) # 训练 device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') -# -# # 标准化到0~1 -# max_value = np.max(dataset_x) -# min_value = np.min(dataset_x) -# dataset_x = (dataset_x - min_value) / (max_value - min_value) -# dataset_y = (dataset_y - min_value) / (max_value - min_value) -# -# print(max_value,min_value) -# # 划分训练集和测试集 -# train_size = int(len(dataset_x)*0.7) -# train_x = dataset_x[:train_size] -# train_y = dataset_y[:train_size] -# -# # 将数据改变形状,RNN 读入的数据维度是 (seq_size, batch_size, feature_size) -# train_x = train_x.reshape(-1, 1, DAYS_FOR_TRAIN) -# train_y = train_y.reshape(-1, 1, 5) -# -# # 转为pytorch的tensor对象 -# train_x = torch.from_numpy(train_x).to(device).type(torch.float32) -# train_y = torch.from_numpy(train_y).to(device).type(torch.float32) + +# 标准化到0~1 +max_value = np.max(dataset_x) +min_value = np.min(dataset_x) +dataset_x = (dataset_x - min_value) / (max_value - min_value) +dataset_y = (dataset_y - min_value) / (max_value - min_value) + +print(max_value,min_value) +# 划分训练集和测试集 +train_size = int(len(dataset_x)*0.7) +train_x = dataset_x[:train_size] +train_y = dataset_y[:train_size] + +# 将数据改变形状,RNN 读入的数据维度是 (seq_size, batch_size, feature_size) +train_x = train_x.reshape(-1, 1, DAYS_FOR_TRAIN) +train_y = train_y.reshape(-1, 1, 5) + +# 转为pytorch的tensor对象 +train_x = torch.from_numpy(train_x).to(device).type(torch.float32) +train_y = torch.from_numpy(train_y).to(device).type(torch.float32) model = LSTM_Regression(DAYS_FOR_TRAIN, 32, output_size=5, num_layers=2).to(device) # 导入模型并设置模型的参数输入输出层、隐藏层等 -# train_loss = [] -# loss_function = nn.MSELoss() -# optimizer = torch.optim.Adam(model.parameters(), lr=0.005, betas=(0.9, 0.999), eps=1e-08, weight_decay=0) -# for i in range(1500): -# out = model(train_x) -# loss = loss_function(out, train_y) -# loss.backward() -# optimizer.step() -# optimizer.zero_grad() -# train_loss.append(loss.item()) +train_loss = [] +loss_function = nn.MSELoss() +optimizer = torch.optim.Adam(model.parameters(), lr=0.005, betas=(0.9, 0.999), eps=1e-08, weight_decay=0) +for i in range(1500): + out = model(train_x) + loss = loss_function(out, train_y) + loss.backward() + optimizer.step() + optimizer.zero_grad() + train_loss.append(loss.item()) # 保存模型 -# torch.save(model.state_dict(),'dy5.pth') +torch.save(model.state_dict(),'dy5.pth') # for test -# model = model.eval() # 转换成测试模式 -# # model.load_state_dict(torch.load(os.path.join(model_save_dir,model_file))) # 读取参数 -# dataset_x = dataset_x.reshape(-1, 1, DAYS_FOR_TRAIN) # (seq_size, batch_size, feature_size) -# dataset_x = torch.from_numpy(dataset_x).to(device).type(torch.float32) -# -# pred_test = model(dataset_x) # 全量训练集 -# # 模型输出 (seq_size, batch_size, output_size) -# pred_test = pred_test.view(-1) -# pred_test = np.concatenate((np.zeros(DAYS_FOR_TRAIN), pred_test.cpu().detach().numpy())) -# -# plt.plot(pred_test.reshape(-1), 'r', label='prediction') -# plt.plot(dataset_y.reshape(-1), 'b', label='real') -# plt.plot((train_size*5, train_size*5), (0, 1), 'g--') # 分割线 左边是训练数据 右边是测试数据的输出 -# plt.legend(loc='best') -# plt.show() +model = model.eval() # 转换成测试模式 +# model.load_state_dict(torch.load(os.path.join(model_save_dir,model_file))) # 读取参数 +dataset_x = dataset_x.reshape(-1, 1, DAYS_FOR_TRAIN) # (seq_size, batch_size, feature_size) +dataset_x = torch.from_numpy(dataset_x).to(device).type(torch.float32) + +pred_test = model(dataset_x) # 全量训练集 +# 模型输出 (seq_size, batch_size, output_size) +pred_test = pred_test.view(-1) +pred_test = np.concatenate((np.zeros(DAYS_FOR_TRAIN), pred_test.cpu().detach().numpy())) + +plt.plot(pred_test.reshape(-1), 'r', label='prediction') +plt.plot(dataset_y.reshape(-1), 'b', label='real') +plt.plot((train_size*5, train_size*5), (0, 1), 'g--') # 分割线 左边是训练数据 右边是测试数据的输出 +plt.legend(loc='best') +plt.show() # 创建测试集 -max_value,min_value = 199482558.1,0.0 -model.load_state_dict(torch.load('dy5.pth',map_location=torch.device('cpu'))) -file_dir = r'C:\Users\鸽子\Desktop\浙江各地市分电压日电量数据' -for excel in os.listdir(file_dir): - df_city = pd.read_excel(os.path.join(file_dir,excel)) - df_city.drop(columns=[i for i in df_city.columns if (df_city[i] == 0).sum() / len(df_city) >= 0.5], inplace=True) - - city = df_city['地市'].iloc[0] - result_dict = {} - for level in df_city.columns[2:]: - x, y = create_dataset(df_city[level], 10) - x = (x - min_value) / (max_value - min_value) - x = x.reshape(-1, 1, 10) - x = torch.from_numpy(x).type(torch.float32).to(device) - pred = model(x).view(-1) - pred = pred * (max_value - min_value) + min_value - result = pred.detach().numpy()[-5:-2] - result_dict[level] = list(result) - df = pd.DataFrame(result_dict,index=['2023-10-29','2023-10-30','2023-10-31']) - df.to_excel(fr'C:\Users\鸽子\Desktop\分压电量预测29-31\{city}.xlsx') -print(result_dict) +# max_value,min_value = 192751288.47,0.0 +# model.load_state_dict(torch.load('dy5.pth',map_location=torch.device('cpu'))) +# file_dir = r'C:\Users\user\Desktop\浙江各地市分电压日电量数据' +# for excel in os.listdir(file_dir): +# df_city = pd.read_excel(os.path.join(file_dir,excel)) +# df_city.drop(columns=[i for i in df_city.columns if (df_city[i] == 0).sum() / len(df_city) >= 0.5], inplace=True) +# +# city = df_city['地市'].iloc[0] +# result_dict = {} +# for level in df_city.columns[2:]: +# x, y = create_dataset(df_city[level], 10) +# x = (x - min_value) / (max_value - min_value) +# x = x.reshape(-1, 1, 10) +# x = torch.from_numpy(x).type(torch.float32).to(device) +# pred = model(x).view(-1) +# pred = pred * (max_value - min_value) + min_value +# result = pred.detach().numpy()[-5:-2] +# result_dict[level] = list(result) +# df = pd.DataFrame(result_dict,index=['2023-10-29','2023-10-30','2023-10-31']) +# df.to_excel(fr'C:\Users\鸽子\Desktop\分压电量预测29-31\{city}.xlsx') +# print(result_dict)