From b89a564fccd30000f7bb6ede96a4055ebdcf0bd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Grondek?= Date: Thu, 28 Mar 2024 14:06:11 +0100 Subject: [PATCH] Add README --- README.md | 31 +++++++++++++++++++++++++++++++ img/dfplayer mini.png | Bin 0 -> 38706 bytes 2 files changed, 31 insertions(+) create mode 100644 README.md create mode 100644 img/dfplayer mini.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..27abdce --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# Elevator control + +Project for handling elevator button with esp32. Configuration for esphome, without connection to home assistant, mqtt, +or Wi-Fi + +## Features + +* Momentary button press + * turns on/off light + * turns on/off music +* Lock switch turns fan for 5 minutes +* Music plays on a loop while light is on + +## Pinout + +### ESP32 + +| PIN | Role | +|-----|----------------------------| +| 1 | UART TX - RX DFPlayer Mini | +| 3 | UART RX - TX DFPlayer Mini | +| 14 | Lock status | +| 25 | Button | +| 26 | Light relay | +| 27 | Fan relay | +| 32 | Up LED | +| 33 | Down LED | + +### DFPLayer Mini + +![dfplayer mini pinout](img/dfplayer%20mini.png) diff --git a/img/dfplayer mini.png b/img/dfplayer mini.png new file mode 100644 index 0000000000000000000000000000000000000000..da3259d162f04af5e8b9e3731f0b824f53d20399 GIT binary patch literal 38706 zcmeFZ47&Hbd8xD8v7vaE5wTyG?7gFIkl(u5b(Oe2N?Q&tH!_6J@gg{gtW*KKSojh^=7H|Gv3OQ|G)PCqealU?svLg zfVx+ZwxE_NIXi=wA>muy3{n1|K<6ibPX9qOTw&d}=Tx_R+m9eg^+SwIR^cwXWLuDa`&519?bgoARWTHMSz`|OwYb7Ta9D1craINzeryx;atK(Yn%k8; z-<9*b7cU=1?W(vYmMqqMwR3f;VRoJ6aW*(*_Zx|DriW`#h@xh4<=k1%X->4?51KhV zWPW)!d=T^a>H-Q*!#wU+L(iiG$Dn?6Zk;t?3J!mtgooT(_rEw@SIH)?Kih7Qo9mdN z6@m)9R|B8_+6(_Ip=LZUM=FuW9rm?1G-!JKf4{a&A&T+?cbM#Ex)akW|w=3btkJ*S9M1v&VKCfX_eM=QYYOS3>Ud{7i>B$DTyYY zlY@sA+K<;xX*#Yhcdkr7p;~|DDugx5nVR|?j9#QAPch|>dBk~V`W+H%5$@NO8p*o_ zte@4>##JlQ$xVZ43jJN>2T)_zZsw*ap{cI3xvPsg;|uT)Dh%e=D1bM#-MHVcnE7(A zJNtCB(Y!5a@Nl7O%#dA2s>jH&>b=*+!MMWd?}`DEQSR5tmRh0iykJ}gYcu=k6#LTk zrt`gCdR(V^ryCVRuTT^#ZYIM0)6Ok^YbiJA0?z+rpGF;CXD^<=I2i~anH@erRE_Eq z()3pScb%)?yZBPaGICg&#@x``1UNpLn~oh(cu5Ee_ccvF19D~VCUk7g!fW=>elZQ_ z@@^LYGP8J(StiMikGZmEZTK|qnjf9gI-}|6>hs%eGJLE*`ZLb5VUb_02)F!Md~)FO z<-d;_g~PCByceV7qTErJ-{>x5?m}9Qns$7q(Wutx>Vbf;#>vbp*eA2TCLu%N$|mnR zs|1qKXxE+oO@zYMu*A@?*ZSR0W&(8H^T^X7wh+^oe;)0Ow_JLxz1;UqgI>|IGGi_o>UuJ$~Z@7cMKa{)q zy>1{>(}&ah`Up zIZzi}XWEJ6ZXQe>AwS@*Ut@6IEU7v4<+&q!0!BvXywvp$)rL>^dmu;kJ~2{-vnu|m zKQwEk4I6aAZ%lZC@wl@jd+txoZ13Q1ng+`sPrXy@b48Bh{AWHx#NH+}cSO zAnuN;QuQ@*oNOoLZshss1(NsLf?^%PkBE~uLoS^(6lc_}m0RP+Zc(TiDt>EKO`Dlo zm-+|VA=+lgC*W4qZXqYCx7mxudfK3CM#@w!pl-&0QYW z`1>Y8aPE@*VwU}pm-6&m=*gMO@L-H{Z1S98RA4JuD*^AqUm~9u--;m$G7z8UhP%8h zLcOACC4&60B2`aa9`Zdd)dobgI<)%asNgv?A^;z@y0B=(M!+Fuc~w*(wlRV&gAT9)+@7g zVROA8^Ki_-COyk(1{Np{m+Ptjv-5JV6!n0mSzwrHo zmP zWBPT=o1w3*GKFW|A3wU=*7~wP=Ib|7DPt{NwWa2wF`hb*fT2GuO!;a(!zG$P=s$n2 z039q~P0x5iTOFdx^K^qd;3Sf6LmCQ^IW@@o^iv2*)W9eUj}?mc7Aa|@-@QEBA?;b| zPdC!K&Acb++C)ax#rE#DH0!r1cWNFHts;#~Nq>=n$d7(WDXhV*HzMe{ov0Br-btf3 z_#+B?cmGg1H)?5pU%FAZPAYZ2`?}oF0`Jb3Afo;Ho1)%Dao({q!FVD@Be$D4e~?>$ ztRMRYRAex#aTQ?z0KO&o*# zxAm#c&2?NoG&r`sR!#PAdwaDwJKi(OhAw%xoXzf>Cvv?@6>l`u$S(8&SMi2CsD{Xt@I+w>e5&mjo!QIlMvoUKc8b)7@D^ zvGq3U9dM{ecRI%V>p7@I*3r#8nVa=4v?D&tgM!Q%O^cM-r#>Q_5L1s|s?HnRzdTzH zxWq_y<(+t2wz35(p35tK+4okN`R7((T6HR-WW8h`$Qb31m&FBgD9Mx{ zJyZd-uKRK>xvM1z`0l4jYacgjr%g4K)$^`~E%7e=RxL(Kd}P%aiR4A)W4VK(leOI2 zq16ED_HR4ti_>?JqJOAGN1h$s17|tK}9DQhkc;#`y#xI^*bIZ(g(klCO z#UeQ^Lp(6Ic$0bSzqmo-4h|7G!D+-y8m{&iaLcJ&fMtz0p%Pz0RsY;Tn% zYYV&te;m=NJ+l`HNz&Ce|NWCYl;93!f`@3Wtn2`<$j;yX1&snVACD^hFoGL zHKUxedoDv68ysAW5cv+s-k$19A(*;z+K7q&$?}D}VX6Mx$31bfa1jBk)CW-ajy;d1 z%Txhd?KP{o!8|7Ji#)=(J0AYI)+}Da9RLM{oKDYO-ku3ZAe!3G4mQWj7Tom2RX@r_ zXNPuiq)7T9UPv~ctd{V}Wz~Volt5q7{EysWjL-i4mu)8%jrOI||RR?lVq}HzCrA9hlZh9S~LEAOdg9<3vk2jksLLW!HT4b}h;(m`l zbUuiXYu5>6wATYg5eI(DGf7Hm5Al#4pk`8f)JP|MtGDjU2rPy7S?JYWm*-BVESzKR z@p!*laY;uyo_GM{fj`X);W%B(jSiZ4*X(yDYBZ8S)zSs?5CpJhQMLXiv9pg1JVP98 zP}0g+L#`~`5QB?Od$}4MI#!8Ddz-^MR2f18ty00Yug>`m@}SGE5zBiHlGbV^5YLRk zI_apcCnoDc4j8+4IzHi7J=82!CHa-FdSe`^Z>CRq14V1n9YekvU+MJ+l#0ZMdW73R!3W_-lf?anN>jKDtHP)e`9Ue952fS8)d-4BX&kQ1#89(=yzjqJ&CIDy@!so zUj<4}S*|;7&eT|hvLWdq}buEOLnz1$SS)Da&YcF?aaw3Lnp4z#b_y0 z3capAs@~XeLn2ZYk$vf1IxcRon6KW2U>W9|Z?szvvnGZDq_FP*fPEj~pm36y{=0DZNw#a`+CtLndjJ!eop=v{1{8NBBj$(66h z%bcIVU+gV)UlJLNH`eYm_^p3P)GbD}xjGF<9HpVskCx&z@WvT)xuqFJXia#BQ$N!e zD&WiLOslO8A~s7XsN<@Mc`S9y!dI`Y+a)n`xU7aSkkKXmdvYT>EU#-rU$`l4x8~i$ zg*m?@V(sc1*u|}QolGX;d+6YdUi;ZbnJ^Td21+?stKe3P1ij znkiRI-p|Hj{=HnYz&lMpzr3pY_t+b6tD5blbThrnV>l7;!7s9kpoqKqNjI2jA?n>P z!UTe$vlo3!x5lW|V+91*Awomo*18SQO33ae;6t{B?GxrUv!iYP4lFmF0y6Y=-}QXt zvBvsr$V2OE)@vJnwJgh|adA7xTt{Gmw2u@1|vu1Ar#Pm~nn z0Hc^TLS(=7;cEE3VDtLHcJ1P)(4~Hb*KE^TXQB%_N>e&LZ8%mghfAk_sGFVfoG}Fm*jj7*%WiC&Kby6`LdI z@Awa?z)g(w{_tM+x?oq70M>JM`J}!McXsI*gE}rOi(u);lOV|7Z_I(igxTd|IL<_O z5+)tE60qB>JD_}o68B3I{+Ba}^HLTb^qImuFdDmURM&{poo;pA4lDe>gx05PNbgs- zbayY$SEa%zHxYeytU`nn4qTa3*MgW#J@wWH|I3`Qli={e6=OV2R~*g8RD@Fdmic?L zFof0BwpU9LLEyxHW>EG3>Y$SX4NW=t0v7I1UkEXa)0%HREo(Q4IT(B@V2NMpaY7+j z0M7Pl2B#+`zbcM4V5%sd1B~GUU@P3{rB0UOP=KRbngvi51=e@X5wK5!zI-Tf#|I_t zPF_)%LaQYJdb+q8_t>o%kld6woOpIwHv_OT3S_O@Cp>;zRpaNU1LFItAB!1NmuWKt zE>Gr<>JP?@-%Xu6&p!f{hR}%Ss^i{`jb{`c!})5%QhHDR60{dbb2|k?gJ*56hLqTz{~ zF`bLa0sj@i0{PY}E83)c=ziXr^_nxG=)8X&#|K&p*u-qSdM)b@H~dH*eI`T#rs`9R zdE+r4NcMekk=Ku$yKS`Q6yUoUzLesn*U>Gj+f9j%CeS=qjd8zuBz_}nhWFRGnl%8q zO9N?wTLU(Fxm(aI8X44|R_onX`%w)$%|>6+36YHsF3x+ttJp{^sk2-gt;Aa$Sn%GO zb>A8?lx3V+qg8?di#y4Gc7O>6ZRCw7vr0#k^DiFm4@iwS?6=8nyt%_GOQ9G3lu7B! z*KgsbS(QUDC{}6H;Z$~L-OtN)jR4BiC__gIoU;0jPnsetJA^NBgLA}o8u@iJ;JbkN zK1=|#t)>rW1I&B34L_`>Lu|YDS%*)p2QiMsPM`1``ik(uCZhE2_9Hq!wASYmLZsBy z$v_ja@XVkW?Y*~aRqrp>%NdRv<}RFuG0VSkmNyFPVj~=f(KBc{)^z7t!6xuPc=>KG z=m#n!e~qDT)=Xn;v9q0)meP%2YU0undZByDXh~jU6&h5^UF9AI3LI<$TE%)9r-b#3 z5z;JOQ3A+o-^1VQop0$8;iu^J$66>N=wJ3!b9_rp6$jZKI274Ucs&A{Yihd3*J%-Y zuZ|(t;*NdtgHgJRHHGYf+~2bEfacx0su_#naY;w7Fd&E@aY6EVW9_$Y(T{DszI2ITafLq&}xD2F)gQ`6t@r3pcH7`5Q`7 z#ZauOq;PoDJG8OoJ83vpZNKPd2#AutKy)CM2sd07fQ8S7jg0Dw@_ljEt|nC8UF!7YgfF3wWwd>cXfA$ zKBzpW8s~xxxxHQcSt!KxW2f_Il{xa+Yh&orPMcTmjNjA6v)vPLdbR^7ST=WO!)caY zp7;Sicyo~VMC=O<_v`xN_m`-n=5anO@_ku`Rx@Ip_4jdZDA!(250@uj?%$ZkTGzr9 z;Ww)km})Wv?GsQl<6!-0KbiHmli#$n*to+7b-?}bO1eE*-U+cTF_bf|xv^WlcBq`@ zy$~TYS=z9@;qcxR2Z`=k!>fJbId^HaUJ0A1ve(-QCY9XX#HDsJsDQ&Xb5`%xk!IP! zx(;x&!Y6J&f9D66ew(4bG0e}z&5Wh4LrNjHlirVfW_KC7xhg{BaDfJCE0PhLtLNiH;gGLg!6?S_9Qj=zQzMoLFJv+G2ZI5wCq7mV0n>D!lb z^S#kM`ebJpDQ#Xcc1>-;PR^sx(+~>ThI|Z^ps+T9E+H9s&9%mwNR{Ygjs@Tv?teNc z@U669T^>xC{2^)sw4|(v%kOV#HjnBfFp$Sw>@YI0_AbA5NPjRrUqrI#LOA33fOmNB z8zaPIAkQ}LB}!a;Su)EeMqht2Q5vqv)u8a@~OQHdmCc4%7jyIxn!YoSO`*UCr>tI}=}y zf9&o8M|gcGh&_v-z|!M_a2eNr&iQeRTaHoTEzyQ`@{-N{44{%p+tSD2hoB)ppJ}Uz zCozY{;DwsrYSpNIkFP7i2QA*NgoS@dd_!xB&|7vxN-rd0rQ6|gtRY>G*1tkud=2hD z7%6;wp)Wlz%Yu(BLbTr_nFEi(j~a>Y$;6)@oDQ8ZmBiPvV&TKetyydf!xF0VCl%jq zo!8HM!oV^(8>+8^xJ?$wD#3w+40pRL?)~{nWSTXCa0FJn(|mR+eOHi4wTwt^9ldh6 z_LGqxQho*4?avl-9Phf0Vz*}KU4vV_g{g3uJ8lHbJ*aCMr$oof!Wk|#O?Q6CX3Zbr5#zlrNYI$K~(?|I?K%Gp?1nVm90a=>ElJ+}MH1Ey6sI#o* z)bWypwRION8w;&HZC&Wh)6~8uni`szu2jb<&PqSd#9KJYKNy<~+A}Wp5?hFRAUF}e zxdo)*W!4ftZ~{or5-tlP%r|d<^E!?R|F<-J*f{0fEuLR#%zDh`ox%DW!xgM9!R^Z3 ztH%4`rc$BtCvQx})~oO|eZEALr>goDq5b;;+zmYc(fhEBjK?pEV|RU ze?Cwy3!i(EiO*6{@H~>U8Y;O1g-sNA)wDZ)J$xp#k2v^EJ*B`2Hf=Kc_b~C7k1WEW zV^1idmUKghE+r{FfXouooU;6xq%YNNknoTQx8a)&k<`+MVwiXTy~j;WEF}8?dut8n zDxlGLjv1wG-0YB{R2ExBEXw3xQTr)(T=)Bg&-lqY^4iVwAAE}xA3^gJ)lx!mK1ma= zvd0-3cZV<$BO!e%(V1c=!4tymN7ssv-#mGGjIwpds4~;_Fh!o`OH-G(LDCCN-t!ir z?I%RLcr4z$&lqlJTD_9Kpo-LxI2bVxa5~ph2y8{-B76&IS{j5s_I5R?<`J0^p}vfv z9tWp~>*W8;bC%w;)Wf2D`5JfBkn}uY#P5zYt>r|ze<=*XL}dcVkRn+ybAG`-D-Q{%>Cm_Hpd2UbU+9qsAN1Y3rzrn?=H>x$j(%s z?^PrG^H_U~AsBKf$LwT%n%K7nRY{ArSc78iQhL~&`>>k--6DG|btfWvQisCM!4zru zx|L#+R&QQcR>3<^Y>5N-BRj|54^I67^HDYt!4*btyUP6KjJ;kAQ*wvh^rH8y1VwPb&*Uy zD`g&{H_5-8|4BrnuL+juzs&icT_e3^ZSuW@uDHWN&6aw`AWp#8cAVg?wggNuH{h`Q zapOgP)ODYskT(Bkb6mirVnBPzK+N$dL^?rAu9c1-Su<&!`r2}(y`$TQf8_U}gGH%A zw^Em80b0{-wgR0p;uaQ+ZUAEUKOx&0D6tJ5riXU=-BGb4LZ~NA8blM}6gAw2 z45`Q$Q^8(LS|wgnYVk3D*im|m7zZhU{a|5U(S2)-^%|L61p`YxY$59iBW0d0s~*SL zqd(@py*|q5uN68F$dnFyiJ?Fq-h0bjcLR)`+6-|8LEXjksu6^8;6q#oxJv_^9Q|uY;+;?w+~#(|49Xp;%UX`1b_8 z-@Qwc@s~R~bs~pYT;MF@tvm~Eb(Mz4dXFM;@i%fl#X2gE$30oP<{?L?zccZK8e#{~ zqN$8ux>J6FUDZ9?)`|GCe?|-Y!VpXp_l2uq$$Z$gVpJpTffmKt6sQt{M8!4BL6EOE zffh4M6LjV3aa_l8A)}A+P(FCbjFiNR!B1=N$F?z!M6~FKBFHvRHe7k-O3=z(b_|Ba zOtR6TV%eYG!Mb)c(p1QoC?N^>pe$TXYw+02k7VfJ@IT3DudZLX7H*u*bgs^@ed|c{ zMIw$GA+r6WvY+)i>yr|p4)|w}zm*|UdP!2%J9s1~`=;hnwt*uarOT`B*W?Dn-$w|M zs~MuBsbapWUB2p+h6o_LK<{awe?R%L_bku;=`~W+#KCU95GkS>7v_KbjV`puJ~^A! z`iCo5vGAwfxTO8%W6^QiCQr2K5I=qv4nrDy>(>|_c&mupOO}AOiv>U@qFNHL9=Td< zxQ=6?g02ysyJ7Q*umt|#Me>DC&Yp67!GECL&!ODZ@_-JpmVNmp&`e@F&fsv*3;Q>^ zdat2^leccKE=?-4L8*G#kbX5AMPXfa<87y>lLL3BwOIA|bmb6WW7ke@%5Gt!o=$&P zC6bAiLGlDKxyqQdJXcvGiHo-^S${y|fBXxmYA#&h?kI*9)(OY;ga$|6!{j4FC{w>2 zPAspS1%tJ@@@^ByO+6I>9-;~@y3bwZZ;T~i-pkkcn}V$!S23R)0 z_@JMN@(@XXhJ@HhZkG}UiZ%T+(TEvl=xkaNDArzFFVy&5TR8J?NxxLe-m^sN^wOHO zzAi^mEasupv+pq>Oh;;;K+61;eCCb6LqQx^%KBSi5dIlA6(!hB>t@t(kr$_)M~5iC z-oYliWxvA-SC@;@Y`+m#YRC{tY0KqlTOI#out8&~%zR$pg5~fU#2nvQ=J;1c!|Gz0*fxyus(wIaB0_FU%4#wJgzlDDl= z`NEC3>>O>{Iu9CFCu+l>44{s;+Vqcobuvt%>fN98|wWUErbnND2eQEM&Z_JA- zTBXNze|>Ne90LYbz(u-_Xhs5lu{8O2{!X86lD-Y%a7a3fB0?HCMhyypDYQZ{rg7N~+m)ck2#x4WHVv5d7 zi~KKh$OW;Gj(M-_9z640rTJ0Cq%lWaZSy1?inTFe{$C1G0AdkznMx4kQn3SAK6_#) zAG`5fLlh4d8#`;=|B;5*0crRTreAC9Gt4}lu&$`{w!Rf59}LIRceF_Q??Zvb3pa>K zew5h5)RX@xwQpsi;T^oTnk#60Ic+ZOEGlcRzxrAjy*Twh z+@&$lPcLfRFIG&;geS~#og6I1O%x$BZlnZtIUfw zDjU~-MqK85v|UK_yXR0<_vf;UCq*f1T?tooMJmH8#xM6#ykA_}%6I5|ZSO(F!=y7R z&+Qozoq~kI9jAdy_w)yDsB(!pg~ZO}Ikjrm^;+;jbtMau)CZ=1bgQ-&F-6F%|5>w` zyND==H1C&3KEd-CBqt~_oHVL!c~(+Abzg^e71$uJP2-Z+i~lwDeU?x;Uf+8__o5ZM z?XWe5D|#P8KmDOH4Y)YS7OhhC^YT3`*leGC^`JSLE1JJ0)d56+V@;p5I@;MC^HKqB zh0{yNkh`?j+9{IF{|w@HpeP_uE;_zdoMNaKl;4qwb5H!e%c~tgDWZVcG>`P=J=)6h zOe5!}Clof?IKUxDv*mLlcRMx#*xHBy;dL8l)Ic<(V0w`HJ zJNWQ15TB2Z_@90anXdpw7a1DnVw+4qp*!Vy$aD0thR1u=Ay`+8K0h|tgxDC}D^ml9 zf4(x4;0cCeSN)0*ewZ~11DdFrk8|@${t<90c>_AQj!P(6mJj+nkdoITgsvuMOEOT` z*rh|W?ieG-AK|vwxfoNJz5F6N)bcP`?wtC-TT}A#c(GpDx(?PQnqGn>&8zZw85{7z zn4goRgT@2DDbiqQX(XzPIMxlS1dXdQhD zg$>}pBU<J-`ok>T_thASB zyypB6!uheF+KB=j%ukTzgSP5DHdin#=B?#M8s!tuX-7S+gfIwBz<%mn2<4n^9m*i( zpM^O{y^A_UIlT8VaAJV~X1wTv9FBV1X3Ak~>&OU{eE~pZX11Dbm zg!pgoW3tfJxwmtnl@HsSF{C+4TZMBu_!p4m*8PA6bmW^q25`|_9(K-nh}-C@nb5w( zfyW+LIRPE+qFJ8INqIZM?H507V6^yNIEsV9g9*Bn z{fL_uqk!P{+9;{btllWhmdPYbnanh`xX&$FO~Nxr@Bp=i~Nh1#0VvN7+C-t@6X1iC3=hdlV+xxw#vX+ zB?LfRcqtGZ%zba{sAoz_9A6na=N#N;ha7GVbAIu4-?=f>oUr*y+S+IbY#;Kj-6*MY zMID>9YoIU9@J$H>dQG#5X~ocnZB~$*`P5Wt0hp;is1ywPnf01bjE@5kleHXN;!8ZQ z4pjlz;m&Bnyw3NY(|}5NNF7~Y+!Gr{gk!{x8AuZ>e1-sSL3t<-p58wlfbTpfQM3D( zMY!2Xx`*e80`*;jwiHL-O3nl^ej70UseV+~uDOnbPqMbvH{)A0ctN*JQ?p)k2O<`B zsMXsSDt*X!W*O?7=FU;WMhqz@wLSa(=5B5ze>ePd6{yP?m$8w+R2@Ng#(IYRBbFt$ zA5)BVPo5zNSEBY03$cS5qNvuQs8LqDkbL{y{m@p&npq+AXMxnnC5-t|at%f}nX3@3 z>7!k91BeaJ6NK%j#hRgAPp-VX0THreo4`HHI~mUBj1u1gYS!SW#d|y)gK+5$ zQ}>_14H);I>C?iF0k^D6M2syLmBFk_3K?3X9>VCbC%o)u8Hs7q1ch}6WXixz$bZvLbeL_87h zv#Fv+OW1@Vu+_iY3zXJQU6U`c8OV4NM!Bci1oKAOK5p{CceuG{8W(zv7zF;w8EOh_ zoap2h`;QW>Vh%>M(1(HZz`1AU;VD=#W-A4(`8pog3MzeY?3qhTKLDu7Dquv%Ul?=2 zM`)J#4r_WuAM>bULo2za743rx1z7wyU29Qofd0ZNAyQhxhG;J{ul_f8qN zDkJ>lo1)^>M~*$rDs{Su$--k;R@3lsm}T6kA@vqIq1FBv5PLfe)3ng`W&JJ_cV+x3F-_lfM5zPyGhrq70vvM6e^T!rmMmPTLg4*r?KMIZAvA!)*6Mu-&9-ReoT*AA8Y# zsg+opffbwW#kQf68W=$K zBH(gAb2DcIT(7?q1V~7bg_$QAZySkEJNN`=_Qf~iHbiyt;}fuNoA;BSkV0rZj=500 zVNv_H`{qQ3!e~D?30v!E1WQ-cDLDy3Vjr5;;Fj8`QEf%hP6~QKEy*ACp8=I|tb@J} z1HA$O!J!*pC+*cvrl1r5WO%7NF4%GA5O@+}Z>Vlmj951PcPQ|fU%{qLh-(K*Hz-+M zm6R?@O&V4bgjhhhk@7ZH!y=~>vhj639;D6QvY&(xI`psT%FfSBPKRw@vF!*uvX`07 zxpRlQz!Y7rM4aafbQP1J1;N0N|D9)N%ov)-9T9OqPP74b%_V}ef&jw-xMquZa&YDc?D+&4w z!hV7(%IJUr4^+%ysw`6h_K9fmAVDt+|xkl8E|4~C0>rcU4K|_N*$dH&1sPorM zl9fTf*yCUSo_Br-gT)3ODXsCl77ePHMX&559(5p6CrHW2?R*oA$l-22wrDCW13-*n z0|Uf{DLe8lfWPE#hf*I+=N1W)LAy20?{Lz8f~X?E7XLPf{`^kx(vWS3!@{$-BHvR* z-13EiH{Tfq6ZH7SXm@s1xKtyc={}v(T^)x>F&URA4Cy%ii?Tw6_1lewoBM=Ls+l6} z4XGe0)3ZLZ@O54E#pLxe;1Tlo3=sfLa<^nKHWPrhYA7MXGcUgVz<`myt!;67%q!!- zc@9qmvg*J6N?eeI$-lJ6G1nbCU;x^?$7}lsJFNd%31{ zU^C{y#Er}e`V8*0wxEV~@&XL$pZi6{H|m|K)KYmdpS;+INQ0^y41yAeS0!)#OoX&zX-c^HPt@Qa@W_ArwmM|srWmuPAlp74 z_8cZv%5@fw{~ZxO92O^SFgJeSeK4w5_WyR1oJU_BlS+AI`rDU{w^OV?8?^^8yP@GO zY$BWp=XdnQ#xlWPl^6Yy_KZN^%D)>L6(aprmNH#6~aVo?3K239VVLj7Yb`I-Cj-b zqjhN~tAFrC-~Bu%l54LTg|IJEN#sH~`|ne=6gd2+!KMjFp@_H{G${5%{OKIc!{**R z>f^4R$JqgRX0#z9KD3qYd>$VID5&j{sJ1Y@Y1#5pC4Wzxy!3oDV65`7vyv8FjE}?t z(*Zi!%-<*qW>KZtt@Op<5#LeC?T%x`KZ9S50Pv7o)V>jNQ+-!g|LLnikvdbm!Virg z(F~kz6qTV@JT~9!nG(=&_y4F|%--E@*x8tU()Fs9?s7Mb6I=QZh;W;OM~c92;?^MM z49%Oh2R%I^rPJG#kdz*l;MO|?5I)@ZmGq^_0&HQ!OO`;S|JW6k+&)cZ1wCqYv+1mm%OzGRg4xUxp4GOKyjQJCaV#h7H-3TsA2|S? zz=TMuf3m2^0ua#%TJz4%Bo9U&UudNmB94EB1#b;VUA;7+9s(T&zy7wMti;HX5cJrk z8>MCXZi@uaMc(GTF1aX{_t*dEa0Z&c)By03KUEk1^DrPUN|VV|-l_Ry1yyM~+(=>S zEu+UBMTGMVD1x8u;@6(|g3NsJRG-4BmJGyfdlLz!>Rib{xo2H1$giNGL{%?p1ayW4 zKXd&x2f$bT>#~AO|0yF7`-190=jPCpjaWh?#+1lKvJQHiKHf3?@Z}Q=QrgvH{d>)m zd;o`diB06|m6_Jpa?N5a zSCsa}WTG~_apVAuX*L<$vxMEr#h9=^vk*L5{`vqYi|+4ZP7gL$$7vqC$T|Xu7H`^> zzhfOBAi~&0SAQ4hmw{6Nmj51SE#-2$BNR0x3&%8X20K1~SX4*@MBrS1{ggf$P)}Wv z|Cw|6*890~5pYW--0nfH4GB1{8{YWG&xbej>LkitSHSo zR!_2!8|rM%ESv*c0sqV;(@{KlF5t> zdk38Knl(;4HS_^1(Bgd-Viq4K3eZT(3$)%f(2+(OYP!x<%FLxx=zIRB^DNV`_E#uq zPspP#05!y^M+9S@id2L*V?5zuRxrs>NAmk?IPaJ&SG-DDz#XBb6|{>NwrGdaJuu!E zSti zK3vo5w|Q6b6z|thCEq&-!prO#Fyp$rSX%*O0hYm0qT`xO3Ap9T`$iWVdM$g4G3|{f zkH1qLB=J6zoz~$er5RJq7Y=%XN0hXG1E>8rNMqTKJsY4i86kDCu5nT0bL1?WcE5>I zb#Q2Ugl}9%XCrHSw&5(mY#X;JY7!0uLXt_F7Zyh#|7G9qE@;FlEYf4+e9pTdt15Po zXkeWT%WIc`V=0D(juhT1NIaaei?De=V}`ztA-KR50xj{Z4^}`|Z(-zSg6jDs5OLhK z;0U~B>dVvdmW>73UO11u0cfpJgLhS>SO#H}5|i0J&hv_?DX|k>NqQFaY>;`@4$Rg< z!jg)mOy}`!=x zN`hNCLl2Kw-qPKuzseQ&Z0KvGl@NUeKx~?ZHZ;$%K=PjTnigZJaj2A!QrQQNEJ3gB z8FQ+pD?`{v>=-3jRs1qogb9}u6K|~#<9)YQS-+tg=a=s;g#0bsj#aN0vK*ZV11pz_ z@$`WVX9faUG{Ms`0M9}Pttc@7A!Q}c-X%)z{K99##xb0HNd=b z$^*$(`bERE5-3oo!Q+@&XDo5lLnD6H$k5LJ$BIi^pj(!htL|~t2Xs@+IMd^=4iqroHQ_3J{}(j!`qN* z@O7x0&;7uLu@_l}2pb#YO zswyu-#lP)Im0AJb_=x zjoO7e=}%-m&-XvwV}DLeCn-MBZ&IQp2gh2=m&;C9zkf87uaUWZMXN-eXcK+MGXlx_ z^0iG~$YWk(wdNV!^$g!_0#gnjUJgJxJOf9#E^ApHK5yLXx45|QHg@`&KL(UoTxBya zqs6NYxgdOzL|tUVtqtssyGHrRU!7sc+_f&@-`JQC98=Mgl-+DyT75Ac7o~80wyjGJ8l>G@z)az_j`+vK2Y8P_LQ&g zmJMOF2)5&ySFM016y~F&HDHeIlBf|V6-!F)#5~4XUpX^4;Schvaq4V<3yF`iQ7#fDsBN~{!Q;s1v(mmz{U!470I#(8aa$`dmXh1I?+{9*;o43B3DMTwrWCkPo!BYVP8e@kBURRxHGi`c{}P zloEhcJ3*JOpFnTZ6DS=h@BCQat!X_B+7uK|HjE41a9kkb=!In@Z3=7-z7(r9p^u?> zYVhQBVl`WxM=gGC!tjsl$fc>ct(g%kpoInQ07~Mh*YXkjk8qiiZn7>3;Y&5q6ejh0 z*)d>Ezwj6tx2Tw35ZEz5UhE(=PjJse$r31V$8 zRHM(WGkSep1RU6DjkI)CEKL)$+iNYyY~#ss-cb!GrYWakW|P49hB633Qn8ZH`12nB z+u4hEp`m<;3ZRex5ulzP3dz5hOA$l=v`H;ZNhFtbbl2Cj5-sXeZ$iHd{(A?4{?rV{ z?O$vSzpiT)se_|6MN<9r%89y;5IIAN(0C2WMn0pV{BjDc-`o%&iq}MpAw4k&Qy6|vFQ^}@{CqbQx$GkOgK3|=ZLZ+r+<{>_< zcNSNFu>h=VPmasIeOaWK0w>z!bCIyyju!n+{eISv3|zuLFihR;tF~6-dO`Y3;EBn) z$BU!RT^=hUZm)QcC?vmElO0j3*7u$7I|Vfn{5PMY^C(S$Wu&M93hdba(_!H1UnE@; z2TOZd$ZIPc+_A>y%%Hh(r1GPhodPE}g8(bncP`C+NU2^qi(@rG9z={R<0(^r4ef97 zCjV4ytx;knrooe-lA(;J@mYFz%W71>dw1SE6(a=Z{KhmNTRaH&ve0$qlmN08cH{2% z_0m!OvLR`B{qaI%@M$rnwtbEwFbsSr@by-pZp^KDe%b#nqp~+fTLw-Look&(LL(|L zyo9GpluG0nev+z*2N{~!aO`yLO94SdpL+>0qzSIJ-eL=Phy4eE#0H1Za>&__-JKa-s=?~&z8fH)#1}Ew3OuW z!3JL;!o$@HkE6*|s5LMTG4Z{F4N{oX7l0&1C(o#byB_+}zpp-#K zBOn7vNQab2cXy|BH>jkvw4{Q-cgE*=-{1TF4|C5w_r%_7ueJ6E1nf`m0XbJrWtw*U zKT$YyR>+Ze4{~R)Bsk$l|A6XEQd=+H!1aV!kI{qd4xcBzuHC%1SQPmohkEjcRQ-B+n@ zna=Dggz=j#!<0{jYzLrh@FWW7cG+pyx(^7Qt2l;;8LRq-_V3UOii7bVA{QNiI}PEH z+YTU#ln{Ire~4G~sw=G!Fn=2O9T(xeT&?8rLBJx3N53 z=!_UqTkRy@?G7URA6}1NbNBds{8gA?D%tK;N^8S#y2vDn#95)EH_rTSyn4Nn`Vd*S zLgcYh$bskb zo`%|+d$UVCC^T@jMznXSNPp9t{O34URby;^UIt|wqP&MYqw~Z_XNGwsEdvqorCIcv zVzykaqqW`SO`f#zmoTV%yjtf^mnMksX+!1BQ*Kb%cT(T`MqRx_w-Y6`h=j-0V|K^OA^Z?^H1^V9WHt}e3F-}}Mc{X3eOR!Qq;=dHCI zi`WTdOMkz`SHauElc>EXt8y|!wq{3&-ZB+yV@`G2I}f@cX1Y&T-dp-vWojF8$W-ed zFhmYLitKpLGU7Dp;p9+F4Xq2j)YX>AopCSU$)n}6WD#hqo-l10L!%aNG9BSEwLAd( zs$E??NN>OoeNxYQ1g4|V`4Nbgv2>4?xACbS#26w9^_a@3(B);f++Hk1vsWER4CJ0OtmENFeL^ z@xVZT^t>i(O87ZT2o}s}q||kz2(ok&6(||eSJ9nRph4H}7=qa7g8 zp`+A!{??gmw_e<%F#ojK!y5N&MR$oP$kO!4;Wo_$-O=*lQx_vu!E5Zh@*?C14oQga zK1y-*Q;AnuB25j~p99me_gtVRI0cH=NWE&|!gSWp%eOFSqMYzUZK3voJuG%vhl7~9 zib0pC*h75PVjN%Ni4deC)eejY>mu)88*m<1D2=~qIE1t@AUoY<2&^g}6y8|}Gr}7c zr-$!NGiCUB5B$*mm3_kvO*Yh4q1n4P z|CdLDMxaKC?U{&hHZohw>WpB_EP-^M%vzCm7r&J$Ter0L_9Tp&M!Mo*bf&n|e}}q- zJTo5}(|=I>sVKSqWii_Xk5#~3pB77i|MHSCB!HKAP&^ONpCBe9qocZhtA6`z+W)8q z@x0Ly)+q=4uD{C$p`ouE5wN`n` z?Au=qJf8|`O4pR}dzjdfZjc%WOkNEj0Qiq4@;t3c0#O=+`8jZ9+1>5JbGi;=rnAK= zCVqu-taQ&qjK_|m;?Gi&lR5A{`xmzVSsD zK*;|h%oE;d<)N$PPL4i?#f}BqbVU@99)YZ}L>`$Bn#{T&Ja5Vmb=N!w)Oo!(Rs0MF}2bn^%@kTCa6=3*B6mpO_)R7?lPEA(9@Up-;M zTslR4Vpefz>ga?NBmssO<6|CKc|hZ4g^LmZ7J`+_Gn-5B-&TiB6(0KN&I;;WT9 zt_P@x)>bvBt~%msjP&Cf6rVgK)f8|1^pZ5Xo(#%7;uK-e@tStjCy8b91Krd8#fgn; z`DQ!1i!bf4>e_>wf-iM)jI{7hLtJjPZ)wl775$%-lK^vwBZ$Q5aAUkL4&M7m=~!R% zPgJ1=_^@%hCy^uivZ`8>siSG}yV>*$%b6s zm3ae)y~w#t9_-}cv_Z!Q63uQ;PjDdO{rxft2YD88wd@3Uy$qZQ_!sW$Hj)Xuhz#H9 z3Ae0IGFiP}&m@I9ktxSjD*zr>e=XYn!u*~WmF$4&Gp1i-o9YY-k8YR0x+MQ}6qc`p zg4&g1S5SjoUu^%YoDbrv>sF=stVYMD5ExG_@;bvANDT>t+=ZmE?oMwnudOer#gCLNwd9N^ ze`Y8|NgwsC0+Hm*?hgktQ@nT4xU~vzFWIBa<$OfC_&`9Bg!u9tDBui*>Hql}luQ^j z71t;AMBQ{~?51BJ!FN!|9<6_Wy@lN-0;vtX&O8A??+u}}*Dqf?kCcqwdBDB0^|ic_ zLB>y$|BKk(z7`*956l0~0q#wXrYjj>(c|8%o(fESZBvzW)4Rh@uJ%(|iG`gebNk}6=jcHn3yk5v^)-h5akvK%hsU8c82z6Q!YgY#W! zazWlhzeudwgJSWPD+>_A4hvLU2d*nc^qS!>8TuPkOx!nzH9ub6pYZH>W+$j*pgzHUr17RN4ba z0QCTqx7#tv=}#E~2gMHhhj-Qb4n4VbN>Vls*0FT3jZr%_B^=a?DkTr;kQttwinY~K z5C9yU`~#gAEDXqW zqjAo5^zS5!KPd;(4 zS{PJkHd{SsET~VmflPOohNWQ2=nW?<$|S?r!Z5wvnRUmgDO<{zP#Z9p!Xz(ThJ_;| znqz9zGIv0EVE1ijUBVwp;%A92wvS?krRxr(0)(V%T}bb(qYM*u<$PLpX6sx4jp=|@ zl@hsW*hRd5da{lD2P*x+;$%NNvhY*H%3vdY2B)Hil&SydD$PVWtDX8x`UBFpzoxcb zQy=);m1eUX2QNE-r`<&o1uicU^66_pDEXuMmk~V;z>OQ0sy@1j*E?U?PERODrv&#S zvIls$F0(8+Rk$n-fxBc~jWnoGnaEuX0TQQywgMD`lW^6`H%a!0BTJ-O7`LK~Tl&uP zz(5@hp`LIjE!>aFbycsvQjrG{Wr2Q}Qzp zzzyiG{}F$m@U)bc!M1-LGpEb8z49<#v;N_iS8JHL?(c?;M&i_j7~m+Oy+;c?G*##a ze+hBlYEPKZ&>Q|+cH)8Ezvd7VAPigzTp6P8RW2TmCh2qjEQmzhFj6UQzHkFO5Ewv_ z(L^zChahCIOjn2D`rb!cw)EkfuyGe3UxNWJH=*p zq+*Stky3Rq6*uYKc$dLg19Aq>#E7%=bw|S2o7+E_Z8BAu2YikV~&G)CzEDSv3m3>~d{lzbLXC$QL?Ns$zLs0Sc&pu;Dw8aXS*!oo`$US=ZI zdUfCZsJ-XkMZ5=Vx+X30fQ%ZhQvp#S(JUq)`&za}@sZuZry;mI(0x5ShD|GTL@5 z5r;n7?$ZQcEylluj_X4p87(fvRsKM~b^+qM_i;k>EZ$?2dC}b*LAk9ZgOb=v`GnPi zJn#Dl2Yv>HsII9)0#gQj>`Y^_iDilUiE)Rl zXBnKYJ9@?3N!XDOzOdsqH@K_D-|YbG*ONa(fO;jXi`oNbkfdCCrg>@YYteXQr`xN* z3kg;w31rK6dS%PRSIu8l5<#MB>0rzgqyYHfXJdwD2hSC_u?q2w_h&G~XheC8@yY8p z^4iPsG&=H6?$`>Ewu$Yd%IL*&{gzfrckh1%(j9~g@F2ur+f{)wOy#?K0>Qh8zUJ*a zmJz+auPoDN4XV^Z5oh=z-XkU5p~4vXYF2JtUwbj&sC2QG;T7@pXW4}ONNKwN58}Ur z4j00&6?V0K!5gIQW?vItAy3N0_X$Q98c7Y)FRU(!zY9}dbwhcOHlk|`4k`0Py9LG(555<(Bbcip zJX|w9E}YVEn%zOLlbyQQ*>>1V?MQxWc;0(OFPOR8$(J^e9}4kWZi*h7eDc=Ag1d4h ziFyd?8OH1h7;1+_w`GayXX<@be+Ea}-uBDyiJg84_;Z0}XcR@o3``7GF(V|wwZmR( zxX?~-8R042`@{9+ztc^_V~ozJ4xMK%?x9w;wp}8|RgowbdZ&1;e|J!33SZze*Duj= zQCFXH1l#g)@XrMfGUz^P!ZGirak@A&>`823d`Mxj2SBV*RxQg^!Bj?>50dV>735=p z`Q5Xux|b)zGNky)^?%jNS~w|j1xSVEBz-Dv>YuMylHRTjemcJ#<#Pd4q4m6nz$xh? zD3{goHLuH!nC1lBrNX1?W3LbVWJOs4t>Y>0)8oY6SA>xG)_nU}UOs_hey;X@xdE{v zq4?L=i1v6!I?naORXM{9JhuqFoGj?<3&};g()`f1TnBf#IZnS(RP#Xx<9OSOA53%K zc~(;giqt;4Re&3?Zu&%*A>8SHm3?c^J2X6YLC;(xJy`zQoqmobVF4rr{&CcV!hW@X zWFi4nV+BD0M+}&ac?U(ue=Z8J7#2b&x~@kV&fWN(oFVo@KOx}O(IMLN;`dq|d-;1J zOjm#M!a$ia=i3Y&!nC-V(^0fCJ4{9i`H|2j z^o?3?J!li*wsY+lvyT3Vi)oLpo64(!A%vYTX|X%iX|oBywybZu^E3{h$@LVrF_+{x zu9r)rrs`gvu>_Dn@iB1~G3EUPFLZE7Jr{4^*iVr&RwtDy?x;ZL zsKlqHJKQnfp0eN@N``z@E!25v*bK8KfJWkcZA@w}^lN!alDt4`|D{Gv-z!YQfz8JM z)u{j!Qe3;5u+Z?s4iA`?br#+)y!YV-#5M34_3>_JL_I?OtdK1e9GU>`*B#=_b@A-E zu!_>d%GCY?xW|!Z71u8ohB65D!f3+C$|IIBs@#4m)F>IQnQ?_B#&xIIkL!PJ*5bhh z5{%b^1MMQ^!iVm+WW=_Fh%?D2yxIi#dLaJm*aTC{xS_AkUl|bW_V&N+hW14Ak;aCS zg&4GuBWW{BGBuR^D&z(3LNnSnQOK$OqE;qFl$R+t-HoW+i+qUW$I6lNeI~8uk<^UbCQgd34c%TKSmJ6*uKCg-Z)Bk-L z2$>`UzM}+{_bDEaF@=dCTdvw9?&yUa<$;^OQpv*Rk4}s)bxey)S)xbXX6O}qV(+`yI9)$CvgBAlnl5drSA43mjP zT-Ft__V{Qd3l;7OL-*o}EB2i%t052(F5*y8gLZ+|Wk0dW9G1`!G2b$q&&1#@90P-l z-By_=uUuU~lFAoE7bQ<_O&gBI<2XsMv6jq@i-*{XN*goL5@K3DBpv{+Rc?^XUys<+ zndzcYZ*nEz*Dq^yp<6!p7zvZ*vlt}WDBW=yFH5%?;smtXgIGZAfS<1OgxxjzpxxwuvJ ztOhxQ{yXw0%3q7D!=-P!4eKMm)>_H#uzn@~G75n1$z?_D8Q^c9pZHhI0W2vN-}QS-L&ct}QOdX?U-`(n^(C;X{_$3Y+ahvaV(^b4^CyB; z9d~OW4srpvJ;BO|{ z%KkMS&UQPGx-n+`JnAXLZlXQdgz734scDCNP-{CbWWMKjMr?N9qk`$~-*PPILTzB* zgC%g?$ZB;a6U?>~N5C>_5%OWE+-?VdWwT4MntjTvd!qY8`Q z@$4mBFETR`Av?{XG~m#4@z*^cxX38uR@LEJXW_Qw5bA48;bFvJGrDf=G5fAYQPeK% z^?a7RfxWH)E2WoO34T<2QM)Xgj8PY?VKf2CFnhL%VZ63A*KJ7~;CuP(3C)A~>;Zlp zcJ6mnke;_}&A8lGtX8>tn@Sm^ou;VB`6> zzeIkt%RqH{j0F^qPY*MC_M4-zOke$@BO?PBH^ zyW0+Ug|GGP`E@_rT1dg?ok^?)cSmWRiZ~W;28i$&@O6La;&;_cM+WFT9l*s`3)(fr z4A*s7(F$B+Rkeb(d!b0VW_g4@ixn)g&N5@4`m2ujO<94y(JccVb#!)$$+4XguYVyw znZV3AL7pr3dC_b!<$kg#`C=H(Fv$+;yosBQ1N{h`ld{a&j~5*q8A73nAN3;QtS`_&Fkg z8tyIDUY6yZ3&K`gz+}78SI3K&I1~u)XDTAbODNN1X#42isb)`yeM8)R$bnc({2m0l zS~_}#PTZ}6{#WtkAdUl_S5h@#JCD^5I)js{=I!OhMc@17&M_>d`JyQVBIPOMylwr; zr)4qVjcRdUVyBq%zsNN?Rs}nu;oxH!hKm-W*D?aJoE>Nu@aK@pu-=LI!-|P1jzULU zdtj=Jzh7_P^OP_KeZR5VBnMYIR+7*;wA=VTjovHYd?}Q<_tnPFZXcNmaNwVebtXRr zEY*!50$c+QXpcM$!)iUB`o=#{Xs1`O2!vcnzJlFNxBdX1dTZzC|6;=6CrpnR!U{0AMRxBOa<%)W=>ezr{~+1|u#9Ys zFvqMKK!C&jVMUC5GZB77oNlrV`QIM^wL+FpDx74bJsyiH26?NXoPg8qJbGfoL}b~^;r4%! zz7@#9b%_jx`a=!@_d5D243LR~7WfhD`N{3^Hyk5pm_oeJF>24GL$S3LPf6l`efq%h zQ48$fkPb!E%jT4b;NCYeoq%f2C`=5EWL2=CH#09_)79d&fxX1XdH`ZP^Zo)w#~*3qNMIDj9G*b{Ezb%A){+#hRwx8p&l~yu z*ZWEvuPP6G(M|r?vmYJ)ALmIp7JBeo98FV>oCO_N6l`{`?u{P3`29fgG@^NV956u( zoL55VB_(oB!1cAccm>z1;N$HhHr1p8@NhtjxYvEH(?+{^x!UHipqU@k&;kIr8U~JQ zP&6UgmigGju)I1p{d^6MIc<9RA<%!>oeCcV=)R#R{d_|%SQQ=D-S~}25SMsyRGWa{ z6tK2M>OdCb^0YJf=fSvw2=NT4=A}75!o}Pvsxf636{)TC5}?(2xRmqZIwTqNGPr`1 zDEKO&D6)Q?(-9X)^njl!_==p+3t+u_KAa}sC~p7d+1>E+q0FSTn)`S}ToSbloxVepI> z8JkLQgDdE$aAy}do|3pVdr3>!uShT864I!tXF2w;#A;^f>D1Vo$hji1YxC^!#&+}N zMV;bK9WYInwgoP&R)F1m4LIB4Pd<;|BW)S{#C~nX>0Qewr*F4}cf%x3YD06Q}Dzy(V!=nQ| zOj0C>GxLRE<2Wwe4F2o4Yd5e8X}}n*UvSwuO(^tk;WE4jY>bYMswls)MZ7uLz#@uZ z*Y#~xAYdgwJS?#UMo23;5lPc#=o)Asax7h>uZ~`2CDWCX8D1 zgmJYH2nMqu0hYrQ96E?UZvhX%BCKex^nvnT)^_PTp{Kn833G0mHa26PJ=E?%pTSi= zCXM25b)#3`nQN@C{(R+*Z8ow*b z3BCK{;Vx5equbHGC(zINgZEN|WjqwNopefdLO1Lt>AL{8s)K1?a~WeSe|tZp)Cou^ zT}p^cH(WP>tKs3vRm;fPv;-Ha@aA`a-(aLap3moF@W<;deQ6vBb~}a!+B#6ooBIY< z^3*;!gNnaosn-Eyz7bfvG%;pAj6flVl0^rn?H5bJooAdLHJ1v(_^UsTNiTq24t>KC zY0A`ao{eq8YM@Li@aXgfaN~2?p_GS~tWYd0d{O_Pv@UV6m?Qp=(h|f6&G0!a=u6H^6b-*F9cO15?HMl;deT0Uly@F`VEYw(8?7ksS<0i zJ-~_-F9sD&&nXet#JpQ15ZCndzH_kA4uD4l#oOlbOzmC3#mmdtlt!5We_qz|_4`=> zX)Cb)cmMb3=YetfF=IqOs~<`LA(RO$dhKfS!$LX2G})Py4DxjClK8YWb>vzYt*92o zM@5uRi!WpphkqaME`J&|ld`iIsr_71#VBh~Cx3>UHym&&A%U1kFl`*a692p_1P80* z-|G}?>}Ts9vhg=RXAq72RxzZ8`Z1`PLl2yL7{A@GV)HlVV;Q1h4PPI;@<;@{qB?pO z=q}eCe~fnMn+CGnred}3209ZV%_l;}6aB;;p7F0}SSTR8#ND8s&;~a{HPF=KCnwu= z-gFzw0xsuuKwKhcs|R}~E4`bZaFfpAAn`dhR7)E5b9`Tf>_u6C?$?*9U9Di7r3O(m ze&ZC`HRq5uejZE&u}9cp`r8fNeq{Q5gs6dY6-7J;1aXf|%ze(!ci)~YaWDGe8Ndw8 zxS_z_d8 zQaj$gatKV#Rd2?+mZP=7H}_BG};>vS|S>tqvX%`8L~M*P2g6z$%v9 z_4MQ$3fOH*Jox-|^Utx-i*xPk3%CK`Am?t16M*zlDjHu4r4?P(eMUkjmIKOZ${r>u zspV6TZws=PT;D z5C-;rF>6e?@qVJ%9J3YNpxXTToS@0KcB$ukEq$gR(C(^nZth0pEVk)ZV_Byz4s8$M zbDIIzmj6rEYUW!Q)xuhtzND9gTk!&p z0d+-p=S)Y;L!1v;KV13thED`fDds-DTZ6KG@Zr{1zGFfnW_NZBehD{TwbdAF?bjP; z!tgivC&DamNQ@Fxp={54Tq|V{q(J* z_bt(B%r24lf!?S6&y&wshL&Q03DApHKGp1Jk&!LzWSWqv;wLt*s3kq!u}?$#ic}46 zo~?j$PDItIG?6w*B60(lr3AJ;U0p5lhnR|gxZHLY-QisRnXt^X<9*_`f;xX(r7bY zft%{wf?LP5;)*$(OX0h6moCM+)F7N)PfLbuBN(+94BMqqcHkh_@Kl2+;Ru}A{xk%R+ozwqX7%cwwhzZzSd?Pc zAFTcMA_D5>hlEEsK3)Pr1GNouWA&&j~D}5`gYF}&Zvyb#lqDgs>0d^slFU|01 zocCngIgX8fHy+N`PbIaK=7_@x6tKdwi#Oh}paH!%t6dMO4eT z-Pd2m|GY6V4K?VZ6FLDJyw`_f`1osmC(PAq^1oZ(3PieXnZbDmVNdAFu7%#Aq+im; zxu%GUa;( z#qa92U%A?;yhJ4+7rqVGheTw^B2*u2@1}=CO@rrSIQ1R2uEMXI0w0>^+uthP-jM`L zC4-ibMkX8JzfhNZ#s-AO%>nh-)_sthIDXrwEN zWW-tp;cl)PPtv4plF)WUbAIq2!voN4?XBxhhW92Me~-cOcW+G%zG~)j?LNNaGH_GT zm?|w-mq&TCz22`2x&3Q)V3t-APVixIsr@13S^%nduAAWA z7Qgk(m!ID}!Ct$`x@BAt|0i)(soC?Krfco$Am~$O*d>w{iH54KE+0`lp}ee{DWu`d zD+DY&J_UM}y(2CkkTbJg3KDSsT^7Y_{2k40S6IRo9s!wPO5c3}o4J|FO)Y|@@nw;H z{1rK#RH-B;MY!yqFG(6}@d}UkLBi4Z*?)d7JR?aO8DRYK(RD`lO&LGz7tJdA4#a>m zu?5~GJ@MJrxj8wuiA+yQCT+o@pjivhgIp8Ky{ZqjYXU;kwx4>(8B&mw-T7h_iQmg; zsdt2t#OxU6qw7&vUmn#PVQAZmk6Co=Kx$m5K@>J_v0~I8B73yA1m(f%NYKcG zrfmg@J!nF2?fDwThy=<&(kZEREICpXsKC5yq(CFbAIU?~xhTkv$)vC^6@43{LvM(E zYCG8!t5#DprA(vX}ziUWpn~ zX9tI!_WYk!A^X8=nb6M1+-j4A{Hf5$*FH#jjj)f<&PHE@;SbWv*wJ~%w*t5AG3iw~ z2xz>sEBqi8&9$Oam&1%8(_eO^HtW~0I|eURD+OoHeW17iTpj50aT1KPo~m8TfZkQe z2K8z!3eL$B0cow5t9QKj+4tSwc~3>k+)fKecjq=3Ed?a1Km5BK!m(Q??ZquPF29tx zfXHxTv>GHn!zaFI^&o(^Qb#<)Y5QB~P@cY`2Qpw~sYLnHIgN=D${e?ElYj6_vV+FI zgXoe+H5Gg=I$vS?g*>|B9gSxFfv(|d*pn9TNsmsMQ34WTnzcL8*rX_gT1X`*MTE2n zb8&vA&%3K&bjQfsbbS9*nKArn1N}cUd20zUpS6LNvX{{tvL!1Xa^g`8?qv0>(?=}A zyuv^Ndv84CrK|(=&I?daqYnjxbib9X&q+dG`7Vz2JSw z&kh#q`HaOX*1TBok{tNkUqB2%BiXh#OV^#*pw%F26sv&WNai9Ljn=SMgFO07NbjCP z{eb&w-6bI7se$$a@5SD|YiybYr}B!qwsp;Sf=0=@=ggGCT=OzbDc}Bplftoev?K+3 zSNRAou^AWfk~9g{`=Uc>*)d-8b2xgYgkH>L_#i}-!2}Ig#w~6}eN?>+KLj$jGbOSJQ&EL3qW;0A9P}-hG$(G7?Jf(l_9g zkIdf3X9+jSQ)S0ot^ivut*aDV`L09?TV74fkp1?Y%Tup$_{vU3=tHkCiED`49Rv&RE=-)TYuXEm92fIiOaS*)957UoVlQdJnkehC3QaPv(+E zCAj-4g>$X~89|OH+v1ZQY?EIv!!uwdQ!({%O!MmrP*MUx+~~GBINA-MZe)avo(7+!RpJ2(GkZ#OL2x8 zHXHG#5n>GLoeDPvflI>gKmi3(!yZeYS=b{;D^Oh*KHWP(gE-Gv+W2Kat*si<9pwzD zDXOed-=!~xvz9Ptj|CC;wLiy^5~_%5(@cJ*4k4wzmyx_|k_;#$y#x5Ic-~!fZ~7fy z2N*(lXDohveKYrXZD*z5y^w+yIKJ%qt;$$Pa*fDU7-Ro7;1HHbXI~ov7qdw*1 zV~`G;i!xHd+v6x`d;}DH{@G<5iYXp0{UGXDHlLS=`|>QF$0etFH8Wp!L(M+VdzSnui0eg-LC)zeAq>&RaKN73mr>A0gIp#~xQe8H@CC7yPC zj_+)x50EfF*(*!Hqh~)i{~oX@c%?3%a+4?6`a242#jI22AY_1s?y7j~s2_RT!@sZQ z_-9L&0h6O@8TwJwxoAdNgNTKPLG9O91OD(tcdTDr9d5*r;Zz^T25mU>*xKaH!(4Xe z65vjB8khC(WA8(jYnqT)F3Qxbhg8emzj!^cE6^UKPvzO#BH%Osx^xJWh47LLH&}>V z?;`2+fBIv<-DV1}iF=9w(M722eg$)WDEPP)8)*|-HP)1cixf1yL zM@Zrdbi|}XXeRj_;IfYi4w6o`zA_2ve=!^3oXg84#n3>clI zIU1}hlCm}HEkCfuunlb-zZ<^`0SKh*PGl?!3EP_e4Elb}B7WIZA_H#7B=B3MopkjZ zJ9rSbhC!XyhmDADjvE?E=J;nDd_8*IC358*SVI?)(NL%D*YDN@anB4rYft7drpSPw zQ>)@NgC1z|gnB*`M4D)vW- zwufP-spRyY-5jXt56~*+dgm{MB$Cqc-;>ce8iao99#XL!$E|N0 zi^xs)?qFKxID_rJ9V-NyfVd@0Mf^z9gQ(X#V&5AX$HPt)V%ods8Yy%Vc&e4tUOnC)_vwv)NmLJ4xY* z;l^0YKQjhOVwD#(e$d7H^E3y*7f}<;FF3*=0Q!jIo2F>J7k=Z$jZR84Wh%{r3u}7^cq!rerg^3E2V1{4XYzv9>q+noWO$4FxS0gwW3#-cHXN z*JR+>)P&)Jy7}=W4U6?0+`*LTe_;l5(~xF$`E%AQ6`j$L0?mSoeW(ZiAxH0+xix|1 zqJD`n##(cRT@JemYvKU!rIR8}U5IbwbBjEx^JZ_SP@r)jbM%Yw=6Y=KRKTVTe>s*F zvIL^GLcPk--Ry9v_a{+jJ!y-%OTdxc(s@oyO2G3KB6NB@@4P;oDstxf_e}(EF=GI! z`Z1P5paQ&(%ql(4-Nb(miG7mYYcweqRq7>FH172xGR;i}Dy@7_s9e7fAtoZHrx&tL zOp-HrIkOPSqI7thIcISPzkzi}(5}Bgw|v=rRy^dDwG>m?%ddB5c~UU!P8OSlOqiNC z_XniD;&k1F8H1$Go@!J>8vd*-iHD`+eh5{aQ&NM<645t{axPn5keB1oeLphFzlpZYiK&ZQjn6xyl!@GZU@f+x(AeY-NkCC5B;}U`_I3 zL%XkjNi^jHoH_@d01%Hj{1yHTo9i&KfYEje+%Ey^G*7EgFZ5)A4Mg#q;2yXZU~CZ8 zr8f2W3JPFta0MiGaMno6(Hgs_5AbNs)uh=t{-)fMWFMf62tKjYs42U+9yTu+OL#Oj zHeJ4=fb#x2T$W10gh1=Yuvvl>XOb)v{4IY#LPJtpH@2x)S6k22f72mVUbt*Y6>HtA zwkzf|r<{0?*#C|NWR3wSt>SQy=oup)Fkl~=G4nT5Q-=JkD0($r6E0L>Av<{`WD>KSOMMxx83& zrU6j$uWT@$9f;y{bGPLGcH~3Q{#zD@%|D*xg9M4UUwZ*>sEoP7bVN(c& z4RE23Zw2Y$JVbe8r4dWwzu+w4J#J}{E#PVte~ruE>bNCn9*30gCB{yx286+jeU5{A zmEC72lSeij+5HSmb%1~!gWbN{Pb!Xl@>r1P(Ue^WDd|5M=NA@4UsVUE7b`-FNI3Qh zIuj(G&%{9pG5HPHv?|d~y`YIO%lOYk0ehu#M_yeS!FD?WRcf9+1J7%&#Ml9Sj&8xW zedopHFQtgi{!dmK(NfciLw;43XZ}5I$KS0}!i-Q|h$Kgo73c?_$o@?sOa2;)<%8eoXV6HPoJN+q}I)I)!dn zzIf-283grJb*#UZ*avLhQ~89q#~UXJSl~=vEOmv&)_drdh!AujtG1=Jo-&IH9 zZ`9(8)VT*TlO#9Lie&;MMI1uckT8H{qjYt+NBPAleeN2!;5Y&TOdb{nF$CT^dB9mq zgm?@%`iZ(G(7=5uzb76W2Qqb2u}XZQt^>_qdmp*Rw1BW`6}A9cN-lF@;(1KG9WTHs zm5V(F@voAvXJd}S$Kva^Y}he!z;ejX5jT`tXz*z99Qe9SfPA}{TWyQ* zR{PKvSW_WJ48tMsZ`zn&f=hziqMicoi{p7VJzsVF5%k}hVd2rQdRgkZ2I|Jbby*{F z!BS&ctrutWmr3QbcRZQ*Hmq-Kbf$`rKYZL_-xi+#ST6fG)c!hvm`wh#+=6e-uiYMc z_1O`xSd;di@K6M|5wq>Dz3-E6fSq>D%*&s#&41*uuENfLnyjVHPJv-n&m-C1@prTfDXL(Kn-87>#G>CAM;qPl)8xYK6_7s=bGLgVRg*>4TiCO1a45NGXmD@vhnk&ji(*5z)6Kne6le-g{d|;T1 z@)}5Clb4x#!e^`k+s7B7PAy6L_m4F2P8~I49UTA+^f|HxWV905bU$3zK4rg2#MU2Q zh`58WY694x7QVGUmf9T$pyhHd<9A@F(Chj(x@F%VsRQNb|5c)`rPce81c-rdY%aDy z;i8#}DD=tgnr9;A^f? z5^r#CND!MdgtDDCHfLRf+hI2F?g;J0}Jxh)UeN zhMSC$$@)WNXjQVNr^>2C*6s7alDt+wM+}hkv~JOmDH{I<#Sn=3XPQd`Y?u`3c8pv|pg8Rd~zq za%+bQ!tNH&ST@GLeH)K7fd^a|Lb>VKlI4ZXHybmt``OFQghx%jC{)S9QXx(0&XD%$U#03}D7K8%ns+2c5VhURv3 z%LYCR50r-s!Dpu`y3N12=#}%eR0*Y+x3E}B2-JJ8rn9;RZfuf(5u4AYIYoURdV5jM zlF81wRE;jDALg_JZFcl_iT7Er%AYX=K#N>|IaRt0hCE*pXQI))_cpH1L_W3*EcFu^ z9CgXj0(6UJ@dBUUsVz{&+W!ILj$%`tT#DH~T3QTv0{=6g`E;V}T^n|z?H1j3G+cQr z$HN7eT_HR;0A|;nPQK1SHU9jQObqc=YDMECZ*V$^b$tHTY9#EkmvZl*pRbUhx9Pcj zDK93|I2P@ouB4_s{<7gn(psV~JOg2b7^E0MLS~{E9ia{@^x0)BWHQuK%mh8kPY^>G(?0 zCfPKob6KH&b(N9L)|XODCypY30*B}f$Cvf*OdKjq-56Mg<2{}lq@`VBk7fpeOt?A$ zY%|c5Lksx%9|>z_xe+MYn}p~Ti0D6lyz)ydg9Sjghc~aizmuuB;P^p&ykeSAwCHX1 z%-uYjg1*jpfw_^7nzt=qV7JBQlARBwz~9ebf^%%PAo%JVvrxS^w}X9fqxYLcBy3N! z4D@cC^kip3;IpSbO~P3S>f0T)eYeMiQD=k0+vg8Jo82^@B2QQAtW$g?Z@qds!FQ!t5M?%1wD%m?E%bTS8b8xaH@|&bE8_6)O*xEmi~r)Cj2vv{`yfHSS5`qQ1Voe#!V77fi%^P zyofsIm$lX}v{r#mM7cN|4zXtlN1Ein;z`{g5&+HB7VPAZ8sq7L$510K)592Y4oo)F_#QHu({}=Foba0ngB>5&3 zjB7oS_kk|WE4~%56U_!|7KFX+Z1=w@-(Gb-xr4!x3GH_pH=ZfC2%BLc6mw~Dju0^i z%{pJl%BMiJxY;puUVEBaTKA|JZi=O117EHWj0%bn+!%(tqY&NM2G{bL%x9BDhMT|6 zgYZK#>4TwZQ2fre9s=P(bh|RfTJqLoY=4Igo4anuTRqkbM1+?+>sIJ%#~JnSR^Bs& zOSNm>58z`Dt3@|{-QfvTNCD|Snk*x4$c*%=PAqpj=lnK2P!~9s777}1>bzt;Q?f5u}B?IIN zbz;%~Q$3agivrvL%(-0vY_F4DBA0?0=l1EF=orQnX)) zwQ(d>8uAEgfYv^|R`=dAKQvda_ISZ zdsAw6U#()Jlfw>!FUQXC9WP+$xDGt^{>i$HjiC$9ybsK>l%8YK?sSpI5-8tbZ zz|^ty=aX!9&UcS4#koV@oEkW>7+&QRZZ?YgXqeoaE0W$TP3ci^Y&rHHXnf zq486lX`6rPYG5?T9Io7yaQtIp_VC@`#o2) zD81M;6*SY^u^Bwm`v5qL_*Gz%0%#S3jqb{2picKkrAD5^B7DbYEQ+wnn&~z3^K29E z1R>96mPIm>YSUOduZwzn09&~#D}hTd3=TFgWL;s}?x_TvaV_SUJ3oM_crqKO$`TP! zG=Lf^a}xf%0j^nGlXh;-O93nUg)Gn7VBK|KQ<78v>}>PvLKb;XZX_U?UA6r#)mpE#&kh zYJ1*V;27&8?G@)cFB#{(ytmg{b;5)xAosJ!t8LntDxnq;@crGK;&T_Zb52an+OrIp zlU4yc;_HA*AX1;He3+R&Z{k^T#g#y32k~>=IdyDW;*1BDz#DXBlElk4DK%sv$Pz3HUV5}gGsLQWitEhz$C3W_ZPP9AIvM+K-A9uxjEZ<-hz U`#t=t3