From 5a4844bd62b27443b49ba0a540be2ff49ac60999 Mon Sep 17 00:00:00 2001 From: Joshua Hatzinger Date: Wed, 19 Oct 2022 01:20:05 +0200 Subject: [PATCH] .env Standard Image --- README.md | 2 +- img.png | Bin 0 -> 23543 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 img.png diff --git a/README.md b/README.md index 669c476..cbf2e0f 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This project is an attempt to visualize songs from spotify by changing the color 1. Clone repository via `git clone https://github.com/YoshiiPlayzz/spotify_light_show.git` 2. Install all requirements via ``pip install -r requirements.txt`` -3. Create new file ``.env`` +3. Create new file ``.env`` ![Basic .env](img.png) 4. Create a "Long living access-token" in Home Assistant profile tab and save in`.env` file as `CLIENT_TOKEN` ![HassAccessToken](img_1.png) 5. Create spotify credentials and save client id as ``CLIENT_ID``, client secret as `CLIENT_SECRET` and the redirect uri as `REDIRECT_URI` (if project is hosted local http://127.0.0.1/) 6. Enter the entity or group id of the lamp you would like to visualize the songs as ``ENTITY_ID`` in `.env` diff --git a/img.png b/img.png new file mode 100644 index 0000000000000000000000000000000000000000..31c2df1a760c5e42392edca02e664fed81014d5c GIT binary patch literal 23543 zcmeFZXFyYHw=QZ~%2Gh=EI~k}OH)yLS&E2&)KEm4O7A5=D1l%BlqwyhMCl!=p(UtD zFOgnC5~+bu0tqb%AveMG?em>|%RcvoHWI1EI<2 z3>7%JR0yrXbSN}Pq6d|>vzwldwo9KhOSSuX!W!90{bsXUQv*%s*-0B8aB#@38R@)< ze`tI^`fX0x%bNpy?{9E602rbjITD(0_xSOjuv16A3Lw3>|2m+ePM=@v4*Qz9Lf-V7 z&NzB_%`5PkBQIwbfjv$Rni_h&{V-oKDa=Rd^xGm%`VU?Jj91!DF4TQ5`%B{#{6cn) z62Lj|w4aCK(;yAZl!3{Y_Wnqx-7bYmOhdOBJlCrFk>C9Q@FgJU;qz<4z-Mm#@mSmv z0AD+1>W%7WlY*L0DmJw{z((A5h(2E0U5!SGOUujG)mo!PUjQz0}5RuR0 z-U9Kdksj8?k)}$%PZ%FnnW4s62J1I;zjxZzO9kb4Rs?Cy^<4|`CN&Dev5I6z8-$d)fnTxucB6`rgrNF~ zyk3HXMiF79(R@+_)m1x8-uEvNL-BqD?LKf92%3b@V>*T;>TMB8gq^6Y2-(Mze*dw& z=OzL&CSzi5J{6^HjTkVmsTR%~eVIQw87eNS{LL*mbD=jCm_d=j_u^hPI`jha1%y~| zrpbb+v^1oew0Yo1BMxqlTlsjCBq6iG$&3LU`BeR??NRxy5bvF8f!d;i?GXi+Nbi0T zKvrD6v>oE`!FuP3@}cBwGt>N?*h2s0y5koH*~5X_3ea%}^0uPCyB^l7eC=fMNbTA* z>h0v@q-7DjLE@ec?6#dbK1_j3T)@9Uc##6WB1{ytVW48Qx{}hW+p3@F=d!wSAPzxF zpubB`n98rrS72Q;bvrS_x~0Ry2cvPHo5AXI2j)3Avhnsh^mrP_xREbcA%9bD`HZKo zL5SHlXkv3spaAH8>3cXZp;U8d-Q%I~g~Vn@eud??7J@v^!oL=Q+!}<9=@r3dHO-vZ zF2E(ivxS)%+dfI3m1K9Z{PSzZ_TV5>_cF>?@A`odl?t&mzZr%U8eQvI$oG+w0scy( zF>Ze_MY!d_-0ij=%oNq}i$bDl#qF~Lz6M4X%RIS$c`j}8LB7|{W$_J2kja^E=eIji z(rTjK*PHT`ZMNq)<3C+Zh^ybeJIXh7@H9(V#Ufb8!1fDtyd*D^!qSdXO7r^$)_pv8 zliPWr-Be0A=&yU$%twY6vXZZUEn9lzWAj};ihXH%43Q!QYt|PY4+mb>oZ@trnws36 zE1P$Hh>HMf2a~5&EkkaHoan~gU*6t2G4MyA!A{j=B(*NNdD?fU7T|aPy?P{mEW&%C zE@#!>A&XRcY5~}z()f5Z_X8jC&dWGu=0m>%BEV;!yVssWcX_%yZM~Z14GNXzPfp4f z5mW7UTfhOC7ah69%P@(?Dpv0gWnYLrtT$#dE$V9xVW@`35@z#xVyzlqty5`oscZW&Tq_3`8D_w|BJB)AF<}4IZ5y?QA7ecP+oc{)hXFfjhUm<% zpDWA*kDO)ww}<~N&iF~@t3XYK|Z_MlN!?`xc0- zyB+HMJ7f3%7N?LJjYr;>y#DKyx>>tXrs{dYbGqdh7t#%f0S(>Ra4zpXzqR-xL?YXb z9--TWM{zkaC>{S(G4~DpX2>N|Bx*~{O2ji$anqjH(HRp*swhl22`xOq6g)>2N+o!R zJ6hZO zRXYtfhY@GXemZaK)T86 z?6rVh{t;fEFK>d=BByBU3I=9`Eu)9UEd+`|X1}LxDnxz4#0)rEr`uRvCnAgqGYj#f zU0lWZec6d^smm>U9+fd_^Ly3T|6s2AdoRvpC)Ry)Qo=U_u4FlV-dl21ATUtj@d;qA zzDglvFe}%&C|>;}%U&4@kOyYKY`nWLdH+#c{iw@ODQ~7q?Vwb?7AA?Hea_@Qi;=Ix znX*$Gq%+!z)Bf}&dk6HDO@k!0*>sjhFGG6pc&Yb;y0sAM6xRUHv$d5q-Y?f_eOZak zZ`fewl|CRZ($?eBg?S)+7+}cB;b9%uU%1c{>FE6`sr1by`2N_76CPG_>2OJbpDw;V zpF4uWGBTHz)3*WU#(y>6{3;BlSCw*%tR15{;tmh6+A+r2eHWI2lvrL$1J}lP_x*;? zlWP1Ksu{)%4Es5nhaa2=Vr!e$TViAw5H@);;658#mq@M~8ohXlq2;_l3Vt+U)Ca-- zI2DVG)kpRMVbuop2GSR3A}cYCZrkr;lZ+pxw**#3*~_;P30C5futkY_eZ^j(nXAH3 z?zDrdxuG{_YF);T!$V>Vo2u772Y{sJA2|yLxvDbl==tJryCw!aU!NoziN5dqMmDzV zmN_}h5HboB{xc{P9xU6n?&$60Xs_*o@xu=0i0I_(N|Q+Pz~pp9p=Kh9+ZesN6>LAo zSx0e<+5f;vQ-0tbUm|28ZDrZC~l!Xm83{;heL>CaLk&^7f*0r*FjR z75ARXnqDlwRCIo!?U-K3YY9c2zhfia9G2HunDT|6J@kUIP?lAf{2H&IR0V<3CN6H$ z@wdnGHun535Xoq@_kE8&>McfsPj61-8x`^Ppw@d)3K>%bJB?>f9tlkq@1I~=oAs@H zb87@faaC(66k=ok#@4=tj+usob%1ug*i?ks-u4OEcqH>UW}o=yWWl_)&LH7d)rv`P z``#%TZ&n!d^6H-S`^<_1=61qLNdbR1wTQ`@1gFWGJE-!FUs|<;i#RWI0MMO7Z>E)l zAD2tD`1;YEcZA+2*F6Nf$|KQQ?cH}pYxWLR} zT|nQv2_^kLAD<7s!uNjMMLYO`e~`UM@YkB9gq`Toxc9N&$=8~D9G z&b2Kgaa)@+c$dfT%T=OdI! zqTxMQRKF}3Roq+`up$^f;Q*TG<-)RP=pZO5)7NM9%xVOPdSsznYCyKIJ~Z-MZy8t_`n2IUG9QU%BJ9ii3=CzwZt*ZrDO1LRgnhV~qolaFTidBE#Lu z)jxas*F=|WK^MBYBTo3mbsJ2}QW$Habm$B#8SKfv-%ghL!D`8{CQAv7PevhF8wcmt6y)0=1JcKDN%_&djkz#c@qTW#C@sxWcdwF;qD1n zRe`hB$~DqlT^C}-B|tK9ZIDRS^h_j_pf655J3;3XC7L}xc#py%J5$SU6+OHnXlv^P zo#9Cos`3D+*VtEiSo}p5ZVI6}MC{t<#PgkP3ldEG9HOkwp0pDamghpOFq8obQ7ecO zak_9tVg0t^F4a`<^au92U+Pf}^n=dpdIBL4Z!F`!SUY$sz2a-`H3=M-aYCqdXPVcHIBbF~YxCYC&{YoRE?MO8Nm3_W8R^ zx~9gh=2SrKY6fGk6rCekVG4kYyE3Gmjs(Gd+VwaJJ?xwroUtHP<={nBr6yg$?id~N z;z{}~Z0Gp}Ya92F*ACCkFI9M56#SVdcs}^s&9kjw_n2Mw-Ce1$x=xD8<(lxH;{Y*4|c3O zTf3mYCW|%tQn}oL zkai#y-oFBH4flZVKkKZIu2-I^-*N$uR#4Up7-3AGMn^7ZCy~%z**cJRu)g(vzLC>* z0iIt}TyfAror#BJZOv!ztJQV|IrWYddtKg{2bxe70za5i(DSK#7dWhf6>Y{q!wwrL zgCd7Qm1lS8dso*B3*(#J4wT$>ICo-OqcvAmo{kudS_FGaG)gUev;xnWjB#!6)B}j^ z;gtR96P4gwi&p||1W?C03kQ($0a;M~$A1d&U9l~lOB{UZ&dWv^%J@?I*c~mTf<$59!2H8IAg_351lO+%AG34HUY{xAa*n+5`Z#!OP1F$6 z8wbiM9Ph>@^*4#DI}F-$7Qi9B#hmo0M{xCQD_o(@aPzsi2ivf&3&nPnvb!$DQRe#i z$?Sx?po3jcgPRrB zG)$l;JgbyDuoby@I*cjD$&4Y%JtD$$;N<(cYCGGEw>0JDUH)tw_T0VNNX#9mg0Jbw zIe37XN9-co*l<0G)Ch8R)4TsV364)O3b>&-)$?ojXv)W=AO-2rVZ)U5V(CjLU2j5G zPGV{aM?~V?{%-h1J08FkpsLpt#~Z#;h!clwe9Pb@<)-go!0QRmuoE8$9{ua4vUc+F z(fc{)1Wjl{BGJ6dUsspE%PG_!$aqEX{1T&B#clb2i1fv)v0Xid48Wqo%V1FehY)4o zJ;EEB>wa%58)-F7VIgtw@uIx}w557A*RE#y^JSZuDV_52N*r?kit;0yMe4x7TIHb4 zxTf(RuFddecH)oNnh%SMvhllQ*|c~bFRNk?k0{5SLbDCXfyBnJ>EeNVdOt`ynrnCq z=TxJbrF^ho>trYGu>Lf0G_xs^cGX8K9>zDdw;{?7*w;`s5+~zX}2f zA6!5|MUnzI759={p)37^nU*cdg~acfOEK&rDjZXj6Tu>nkg+asTJ_e#(c_J~n1iIU z#8lgF=iS#AaBgjT!@v}*aB1E0(;LGT1GuESi=jj-%%i|Ug<(wVLSE5N%NRx^y=1gG zc0oFt=h`loAG&;WsHo6t74>i{Hn5*$cEi^w?y8r0DoD#$QP^31BS&2T_2H>^$W$N4 zWleIH(yPE9`&!Ou?&gq7^ThncUe5X|!b%da6fl^+$XY42k`3QzwF(RmN3yrSq`#r4 zNR{2G{#fBUwRdYvgAXx7k2q1&8Z>j_08KTAe7r*{6(ogd;mF;563HP|J~J%CRtIFZ zDAmWVt!Xmr5eFXQA$J0|+LwE6NBbcG%f;}-M2`3fFBQJ%D_Y0-`C5|9_jXX4?-sL(_p#3Z3h@&xm-~g_$YlcP%6f>+NXHdpkn(nj5OiDKtt9I{KC|u)`35zl%gT~Ez zF4e&|togC1vnMH_rbIi@hTu@?fMwBK5B_jLbBMTBcB@o46UoeSjM1mV;T3gvT~mc6*FESYlOo&*kyRfw|Fj%*E%h8~&2v)52O$8zW^Vs_)^y-A{~ zeAFROZs(@3bmm@n%Lt4zh9>h4# zM|F?nEwb-~K`xxOJJ@b7B_RUiRf-ZZ1fZ{zEKwqTZRejPax~O6x#ij;VB#EQ&cg(k zUzkM@$6mT-0FfFNmNIIlziSl`8A+^!#BwdGPLNw(Lh@uf6{ehkgtknPo_p{{A=x3} zx%Z1ev%n9X_{=-W&Zf6$`~d~%q=k90toxg$w;4Y3v;Lv${Hz~W4uRf7dwn4_er@nl z*fn%d7fxzFb)`o*9l5-@mJ~c+)l8f-Umd|hw>{+L=THP5$qp+XrrZ7JC)o22zGa@s zf+DF`t^1W1T-9TjIwNenr53V{d~uGA4_3jtQV@ha`OO(Wi@rHtKHc;F^RCo<0lhh5 z0Cr(M+JpYG?}O4aq_wsG%mFxKcZ`}RjYHT!`b$y@sj!_wvw(Nz2*QboZaI%(qPY+rljmSdWR6+#1zbVgs`HgMI z`HjmK)yf1Lxp~2dAv%{ojqvUqBugO+>;8hE-(ju06+TcTkjgw`={{h0ImjNe7~>O!Sm z6ALlRerk)zQwjwqwL{oAs@8N-+k$U3lJa0gZSkG&&e^$E_T{v@nv|w|KgDliceg#~ z-Xs`FX;W&9n+krV?1PU2Lx!WjYg-CBxi)X(r_Fr}Yuff{6QpdD^6H*!#ogHv`Bp2} zUT8ajnWzYjVsoDGxZ#$giCFY1USGAmcpWT$9q$Y!B~=!4TTJ&ncs7 z5E*xtBEHaet86X-3ZSey!@-DhScozs!2)IP9rfu>v`A8etE30sb&giLp3(olX<~ok zQtSFk>W^uDYI|ChdZm;-@b07`#kKn?+MHPc|Fru0{Aupe3ZI_ja&`Gl$-V%LL^`-4 zC>x}XdVlXp>$&QPrZqt)pKJ%92XuL~Q*kXAVOY`JI~DY!ALoQw`aT}4)ioAMIcsJ1oSMty1^D+)p@%5&Bj6?@LbJC8?rAU5h z&%@E>jvMJVCTKjQxh4F`GC@VRHg@@`N7#4fTJs*NLdroPDobqCT0l|%N0 zrD6||ReC;ZWE2iczl@6wc)hKPRNkd>TDR2hVb>kXK&BpgL&yl0fP4msLzQYd&}GW0 z;#H@+Rf8-MgJv{@11G>M_inTIOlB0on(VkdEYIKPSq^ED!>0n4cX5o&80POLJwvk7 zU!gKACt}?3(}BDe@`%;BC~z8)8~W7u$;XRd0H3J=J}VCwV~PWH>Gx%L#kUuMH4jek z$(IJ*k!~7z=!Cd)3$o9%+Jt-eOxIvsh-2o>mZaWVP|{FuBMzr{AP7AU=!QAR50hWS~Bh3wALb?_e^7&^wxfv-p=7N4( zb=UAG$1!oD(5=5J&DzveBni5oSWG^|=@QM5DyrQli2DLi>U{e^E9>d7JD=am1XJts zHR>no_{8j?NVm*sA3gg=soaXZU;C7ItiNNcIbHH@Xiei8N7hks^p9}apDcS<_iVQu zi9{j3jw__a_YHlE;jUI6`gy7+UkGs{_Q$Jlv$d)!@waCur8PUBTz&5rnt-(7Z@IqUKdt zOm?BUDxYEsm@A&6q%h4jCSdA|U7uq67ugT62VT8zzubLjP3U0j@wZo=i8;T%+J7oI zGgaD>^Ylws3Q5L}2)nds9k^?YC!$ePK6m;N1bk1LEJ0HxH#;yMLR))(fxPxI`KL<7 zt84P=R?P-M%U@VUYy2K)%|VOCodqpLcSA1iiAy0*2}QB zB5S1B>uV$4*je+tZsG)AdLf1sQuDwj(;Yn$P7b>UU zakES>{P5u{x^!w<7h~BSBp&b#udEt-yB%RrqpEa07*7l7v<kW~0ISo10-zeuXu-XjhXbG6db|UV_&$6WmnAR01KWTepw!_M0n8$)X^CI*l0ccj# z1$Z5-!cFHS@0)Fnz>bG&Jv&*m?F0SlI^)FFu|oJj{WdYkvgjI0a8hMkg&E|Glsf@z zs&nOnUhSpIbATs)%>!+|bjJwX-pTrGeH7DW-KM+)jBG(}5bVxa(@!Zwel$%h3j5bz znYeBL;1qoJZFa-S!* z&Xm7(9lD|}lTwd_R-#u1tY>Hvz=_;k6=>D9?5^@8hBc@oxQV(wDR!rM!JawbaPJcygSS`#1# zQJEaL&aK+Yi)yXmPAI?U9(Uw9<^%GD;~qLRPLbGOWDp@P-auoL8rb@NEdY=Bk6nYd z{q)quUVlV2$09b4!I(|Z&{xc2Bcoy0_Tij({L&d~Y@O$I2e6{U5hc13%eZw&I!csr z+1Ia!Wy%josL1$+<+A3AiB|rj`Zw<;tiRa2Q)FE5j?qeGcDN4aALnOlIyCFqoxC!6 zW|k5z?@Z%Bsv_acO6Bt-hZX&4uw*hN-*QQG3jf2(5;*T?`7In{Zt5=4Fqm7UxKv(K zXo^4E)L29Yue=GgGxu^&fWaw3pZ(x@L!Wqv*{^kWR!5CljJMTKJyC=!NyuV_MyLI# zK9e(b>-dmkJ66U?1&%?tqSp#NqmJ*M48L1qR3Uz5VGVKFSvF>bzoynQeX(;bW>_-0 zVq@xQU_rUYAZW~QeGsKBIbN$=)H)=jm^Kf8APsl1b@tL89n~c-h=oyKqWNI84`?+O zGFiVm6 z^fqG1CD<_HZHfkAE(f(;4k;daVWST146@Dr+Bc~*O(YzR$(lan69WfqJaXNZBAn$YO9fvG`D2U*NZT%!1u8t5R#y8q(+Z4+fL%&Q}rJQ)T+ep4hIQkt;pB+C&Tf) z86ZcEJf5uPEm(~ynGFYYt4MK|oBSkxO8Op@51km&u-;D@%Mgw&_(E0B9~8#RQ+<(k zjfw4?&f{CaFYCI&D{I6YAM5@Q*CyG*n92U#l>u9Ptdu@hV0+RJ(F`tx&iGaH8pfq| zk`=Z1BUgNYpMoAaX=q2LQt**`((Dq|XRGD>HYZah-8f8OF5?+zKOdN36!E>gQVx!{_nV_-fIWCkA;JY6j9Hz^?rRwXtX;hXY__pNel9uLHnyqWp}%)b?iYOioqqFK8)9QtE@bt#@$lpmzdx%mj8j$7>lirUuU4pKm`3aKQLP*8JU?E3 zCR*jG_xAlk6Hs6vixf8W8a7XhoILC`e@xUvHZbtBUjekqd9tIf^jL0nWRhiju?idr z(vfJw43BsUd`P{OuR`rXnH#q74eK6*@ziuQ$p4h38fnn%O}CAkm+p`kY^LE@L+ZO+ zkPGRh54ZeVN}+is?5dM~N~URdWorQ5-~Q|c(R@Q3dndtUvAtJ3W=7`;rNLO zL;g*FHWd2C!Du@p9V@y8qbC9vi6lRWHj0~07pzr!q%4V{q=xgAt}Lak`=Mgd)3&>HBnZ&$I02M+9u2 ziMi}N-s`F2kXqOXH@AWa-ToV${I?3obK7pVwq7YK-LDBcN^n=T-+FmIqqSrC<{etthG*C2HfrL91IE5 z7>Nb$a`g;frDA#qg2p#xj61lt74AkurD?k&F345$wVBncY2c!&X8ec1mNz2-Zd&S{ zVIQZeQ<@hd=Avoe!^T^iES)*M^+!Fun`J6Lj?ty8>VL6#9QP&P6JE1JhwRa%+Iso7 z8d6rw>4qA5(9oYhCE5$!r>FUf>99)-?c5qUY!GeXNOMSZj|V?$Im2K6r(nsKeP>t>ytzU*z-rrm zfT9whhyN?v08~lztZkdS9NykfA1Vq?t;}aBs#I_*cQ?FvQW~b9aXCr$W;H0!L;h({ z{pULaoj>*~-C=P92r#{?10&pKLya?Us&$xsxMtQr3CN=RFTOikkOeSjC1{8M%3e5kIF_VlKg(AF;z$?qni0c~i7ZA6^Zv zL5Qn24?p!#kyS#_iWh+NG_$@ct)Rix+bUD|=O@TC%8^cwmLyeqq>6mMk69c?Z zOc>g}tDtNSOVUXIew_@##TUwoIGOQtFg&?|Rb}&pR4nN0iUPo1tEpGav z!3E9!rbThq*NUG`mIGOqXs-;LyGAbLd#T{BR(tmbw708mc{QGxnk)qy7Mu2vc_(FL zcbxsdp;;SO7=-{Vv@&tDh)c$0sO)bQ*}Di!IcVwzhkXSsOBDe}5cd3&uYT&y3;B`Hpu_upAx)y9oeN%e64n|`PaeEiC?rDsJaG ziZ8rtOCjluQk9ozLm2a$ilx1~>Sd>QtP@)*>uZD{$7@=jL7M#@fv?MtbFW0&JWx9} z&L@Hhl#+U-veWEdk)ow0%@uU>&M3|)mqcEM!{w*3iK?|vS8kJ)mOSmK`O!uCO?(_# zo8%V1dgv6X`Yprh=2S;Yf-V*A#OkIt30$&Rb1zdo`%`#`h42Byhw4yXOUL*nELeck zB5Jm`)VDt`x74Yf%rorVc%89*2~`)LU0XK5U@Q)}vKc^|`i6&%o3ryPoYdVi=b+03 z>zms;3Mezk%+u+QKR>ZgR`+sf4bhgD*T(H+e4!E;xQsv-#Le4eTRFfM0Fz{EQE zr@xM|5Q-;{Y}v#>v|_--<@DM8(Sbla7Xv?~psu^R6$PCWvV80>F29*4so+$bL+*T^ z2TN{84tO+r!ZWsP8Z6Oz_EX=UE$%ztStpO4xeFRIwx=vDl73BVB`X;KmwemSR^{j_ zaiw$MGW&>@EQntiek%5C7Pwbj54y}9>)6WkK|%Pc(UuwSaT==8chD9 zh=;&`_a8b5hm4csH+eK)#ISMWE7@z)u2lhL&q+3CG%Cd$A?9<%J_jE4VN>_Jy5)gB z0NM8|tCgJ|I_cke@9JhX-RpciH*FcDq05ZPzy5u=1=&6(@fAM1W3i7-O$mDrq|QkW z`qQnn{ep@dfo%ew4|V1ZE&>PDI3yhm{>Ba4OB$fUqG`VP);B%@k5@cYSV-U2Lt4wo z#Z1CssK`HY{J=@4-LrA`DZS}DjE|3e{SbagvsfhEyE3z{jJaX8o^|2yi=T%S1qLmd z`Rw*STC!cr3Q+&=o5!!Rg&yqa!{7q_=&xHtX{Q4K_d}Bv{0s+{ z+s89tO;@x&Q>cXu()7~7r8P_9;$mjfsNc!l)sL@XccTn=Y}&FCa#p{SjO%c_0oVQpQ;xoqA zq8V!`{0!h%ny6hdR*x_axM4FKA3Mcw;KMJCeT_z)8N3kHCp56 zPRD(NolRltlS)hNz|;sUVhRymeI{UTvq)~Tam>7W#5k z?gy{;ZCGt1o14fj^(7+izMu3S`fZM~FiCrU#ZeKk%Fe}MZ#(t7jeqxy-dD6%8EPFd zQ1<@jW{D9UUCS)Gw5mf%jSwftgu9iF=b0+Y1v}3jF8@AX$!rGPW{FaTAnZ{+F~oa1WA5op~N zjbzKtgh?#_k~MGtR@l}SgSYQACd|-JXyYM#E+KLKC6YR^a40+*4b>!)-()^c_~`Bs zX2#CYmVio7MVH>i_43w?3wDJ;iDyIT42GCrKFfu;x`mh6AStVZk!nr3aam}yTRC1n zrO(!&$DXz+i3SfGoXq~Sw>jv#tl@Bk=p0IPC3J+8g^PU%3{gc|@>b7}YncKrYL16x ztS*FMCEsFOv%!+u&!?!$h^+ShHlv>d9ruyAp`YJ- z>KAQQUDnz67tZyxJy`SMMFfc$AmxrRHsYJLYLc(dPBP54IVU(xcZ_rT>fb8kHA>;* zhh{+jn^{5HQiTH6HH|^BDPkvup(`Go-wD>T<5isz!}AVr=1|HFWI$9#MEXILOwAR; z^Hw8HMk>}pt2uwGz^s<*4Yl~rTSryL4Y-GBr>wT~4#d1^R(cTdv?z;L50lJYs(Wxa zJ%Go;xO;Fd+iH#W*-J$+fVlDxOkSc8bS2iKlE8zla0p2M5&ksO|2_OXEf z^s#82i$FL|)n+*h^LMjVAk_hw#prx_#i_P(MJ2e4>Z4VX&i>L;wKY|w97UCR=JTlp zE6D`h{}a9L?x8kSZo-2Y)%X1h39B3NFh$H}8<3~}gMzqwYyhrWUihy$1mbc(ea9sZ zlVG~e{<93?z!FG4k*XoW!CEKXX;WG$8p*apdX}67pnvkuU{Q2YBWJdTl)dz>z(}Dv z2`fBj6RwFlhYY8I2Y3nnL2ey`y^J%6URpkp(z!ulj!WF)J7fdW$e9q8TWGLudbH8R7PwDgS9*?kcjfMjP=pO{!dlD^Es-RW8X0R+%m1Z`2h$IDJE;(Gq? zn+}<>DWBt!qCERL(KqV>0%_Ra~6{`R`x{vnDCfjaO+PwJr#n0m>y z#W#vBJ&$0t&|4K9=#4l`WGw!#49ugRd%0zB-)3l2yM0@6;6l~eQ{K!(;t1PsVgB#N z{Vw&vF51-<{Bn2GthT|j^(``H{Bo;GkAcVRuNwRDX!|)#l^+KhvEQri`gH{A8x)!3 zvCytKwDx}hJSpUS^HilZn=PHRoW7Db!pw>fKe^THdZ zzQnkyNMRPgTWw<@xt~R{opyCfR|Zf;+2YIr#CI>GhGD1UJYbBlL>P*aYm8^(v(lfu zu19nrwxmWSHI53FSEZ*XBs^R<#i04FH<0+40z41>4Zr`4D**K3vZcD%9 zdTZUCPXeW^rIjfWX3NX$%*XtF@t+w0j*0Q9BD_g0Xpq07`-HKnjZH`>;%lFVLH&Ie z6jv{7(kTRT;6s#Os9tadnKc#C5i7(Tf0y9HPRx;a$9~tpa5Ax&nZ|K#zlcD8>ZAGM zNKiR(GQ76D$E$2*?E_1{W^yx3<`HnZ?V?B>&_)&+%c($vDJryXDHoU+&XZj(O zC&^0B`qz`M!d@}DQgHAA{!NEV$H>_WuZ4Kit71Ifs6N&0S@jmv8-4F30`KlF8>k1|ZDs4SjVOO|c=t z>&>vbW!sO+Ct*zGe!X@$SjT2^n57@_zkKM&7#7F8>AxNT_o|n*TuA5xsuE`yK|ZpInK{X0q=O7x4UWn|q~Gk&_Sa7Wujn=NW?q99DLH8Jw-p zzx_&P5LKt^PQG~)(?cuK$bH0q3+d84i($$s^gCggd{oFJuy7$o8ABJ=VpDv$8=oiq z2z_FabLJFX?WhmRu8rjSdaa>pO@8&s|1r|HvJ3o=#g%kJwcT7tLV~O;F0ZUUH&F5V z%szvkv6s%WEwHj8s15PBO?7A?+-tb^Vk&~Q7%5n9{Y)!F6*3kS>_J;D6SQtQz*FY} zcDZC@sWBbX@5FpyfHOL($+=YxIWGNS6Q3 z?25_^p~F2`TDDbG#*zAf^}v)n$R^6&gLs{DRy@xxNOzP)d{!^loK7=>#=t8D8T$C^ zumr#g;?BwucqLyF{>;qiaVThFhrd6oGhun!MKlxX#-n604Ne@`GUAQ)^CJ1w)>Mzo zlOoIN^3?y!f`JifG}P)CDWB9R-ap>nCUpz(rDaXm@2yc#Dq~+Z0jE!IyP6POn7Qsr z=4j}T@90N`B7~8t?AL$z7WitHD8=)*wXeRu+=EN`csJzVDa1tbKNMo^u0Doq0G9eb zanfs-w9X3pE5`%jqk`1?VkfEnok$p4C?Cf>V@yh@<|_fV+uog1jrKoi)rh6wia6== z&LgUi5MOJ5#?b%Tp5@?&(s#%>dMZe2|hl{=3Y3?uAQ#eskDDUdZM7=ie(K21PFbQ>M&=$M(meH)xKLbXV~( z@r{4nH$q!w@CKf!Kp4bO!>vPNXd2SZG;lA_e|M~N&T3Zp@#M+_yIz-RY9L!Y2P6UEquZO z&5jLM@M3lGn3-9r@;qyVOyTY)Y$8sz+KN)D!g3r+e*ciTX|z2Ga*(1qcZ;d!OU2Q< zf4nC+3k6}n<9oxT(|Z$DpWUSS?D*Hy97siskul`YPFj5vXWh(z;r8vX$sPhNb1m;0 zTUG~}8ernotJ;~?b+IcUz9yojIH+TM;-NAv>AUl)7cQn0w} zAls_F-eMbw^wf0g-(-f@poB47bw{qr9Kr*L8@{{m{OtfwD$QTYv@X9w7I~T zDShz5W;FSq!OnIq<*}@JQc8x0i}s-3OZG%0zb%I^N_%KY3Asp88HVf1LHNm1&1+K9XfdEoByF&=|*-WaVu7YT)Xun*wMH%PqUY0UymiluiV>%aqVG6 zHT3D17?mGv86KC}RIXyk7iceG-eeVQoxMQP~WlyjQLuH}l-)O<8UNH9e{+#?mFnPg6ojPYB za1pi6sN8yiwXsf446Y-ywrisKQPC++1T{hAMfhF=K73=B?uifvl`VZ$0Idtwu;Qs;V zuHeM|$Y3A?xzkmz@Wqs8oKNLTFneNK*kUQ&tBS0o`prbyY~=k(M%FMB^7N6UuyRB2 zYzs0~;-GEsHedATm2to#&FT#XqgDH! z?cpW?X*;JNnbNz%n>MOxcX3G8#jTxd69YS{2g8%Bh-~S#xvHj^3lPhNW_MLGn}!kQB7?nKJZpXaz-6C$GAHW$YEeT~gLodbelL^wVwP3W{v+d%%)`{PxW*t3)~JObejaMvgf6OhAil=g>+&#-;5ONk^h&C&gypFH+ywLrJ>3^6{E{_##SpJlcuZ99x}X>*kI za=q>*kmIFM4UxH5~Wp6AubGP<{bxx_^}pv1IZyOgzofUys&>{b)vLJm5JH|@C= zxK9z}r10=@#=J&nS<@W=jPK2G;z#)E7`_37E~@Dpbx9OXT%gnLtT5sL{4=>I`Mb1Q ztbRSTPoJ;gfRnXsd2^$00jit6L(;r3(MzbAn_uo7hPa559U}uN&^{~5rENU5sk4bs zPv{E`{bZXb{UG1k$-!BW<~(?{Ab3&ue0L|H6E6K?R<9#2D0Qo5J{fvi3VBNo@#|i+ zHw%LhaaciP##5>)77Td&SCsNMQ9i0qZ0WhV4OvEU#%uXOoVFq&t1nRJ8&AOUWznE7 zpjRPJ_ZQ~lJX&F*`ob+b`>uVCAwB_P_y`03)~nJxQMYaAckLEIfR4lsvg1etJ?%D0 zN-E~1WE^EptXCz-4zKvVRkiiD)3+ci1ObtAVD;-&@K=@;;Q!Iiwf`k~w_#T+=X{qn zOIKNLb7oD=PNqgk*^HSf)iN>_+)T+lP4SQ-kZY}$n{HEMo?u#v$MA%B0I4iZQOP`@ zB9fw@B2XeK$l-l(?eP8q?{EG1eE2*M@O3$nImQ*}jbE&g#rGN7z z$-jUYjy@w~1pK<^J|4?5rC<4V(I}+0#s7hwagg`9Kir3%ok5^=(y)k%&e&ig%>p3f zH(UE<3+%oRsUHPr4xy3_v#$eAKjMa%>p`}SoK_Qq2?2q{wXp&!8;)`7FLq9#f~ zj=^02%0u?&PkZ}`;~@&4nc}OGL{lJ_e*mxI8whF1B`pWjIef>WH{GOt65Rn!buYFqlSB3_;-=ps|S(uzq`s)O<@)h|2wA^R@U7NmnmxSaM^Yd3B7IWI8FljU{@1~{$OO~>d#E4!g z{id0lWZ|?u!}eVIsNHTRb|3l3ljw|)eet6owikL0bI`ESp6)2s*<(5JUmm7_F;f3U zC=Z2*Q%1*5cDo-`sb64-lNVm9NYJO6&mK*p?Yt;khA94YyknYvM7@x#E`1J_I{2a+MoLN_=j@AB0*gifx z1G#ir+4x0g9eXaq(n-ol?1!`LaK(L(7vu-}OtKO4m{ebxq8_$#h6f2H@wh#HJ6F#x z@XOU|Kiwe;x%s|p%!Q@HIftJ-`6u z*B%*jvp)PG*P!3Wu&?da}uk}z5crs5+4ufv`ovgZ-Uzcb|l z4spf(1`3FEU;-K)QEwP!2GrGnufFv}WLa*qcv%~naGZ5xVlzzo#Ss;Rp`GGb*X`7Y z*ZQ@3EbfkX<9H|R6%N?+d)6+oKZ#k}h!`9=#A z{Zh;I3^nrp4ig)w=e zJaD6=qa7Z#%^53U+QfU~wDgjwsWL}f{F3z9awGq|?ySbQr7j*fd@YFhs1kOxKB+b3 z(Q7}2X3ft!>`banWHNqgqIclwUWraHoO`eNE_*+sbYY?2VdL%@?npr=mTjTCx~%Y$ z2+G%w<$pBnO4Tv%otjd%Iz5o(&#K))kgEvt^Rr7LcD1&K^Nv9vaT@)xrw9-smt={u za%s?$JrRD?Z)4~e%I=xciklX=Dcu>_n`h;bLfw89y@6N?-NMlwlXZ6FMQRu9Lwow@ zCp9xcfQVBtJOj;|3vx)~h+G(CidH;w0_lH5=_bE2pkZhjsoO}0X|w!QyA#ZW z77k)=8Bq&|AxT3zaa))V`~yMz`j&>+#Ui0*-I1JGNwA+zB|{q$8*YqArRw4u1p$mS zxSm+ZPO-~hNuC~vv$e!d4Jjz=4?BKCjm9n)pmGCLXM))1`|RdyUHi0rBB^-iK#TT3 z1my%;+t%xLi|{k8yY?IYK=na~!%K2P>G_?*=<&rFuqMG70XqMJmh}|IIIQkgT5UJ) zK6<_pFL(rFCSq9=gO3V@qVXkr-^G`YJM$PkiPCEa2f~uCGx*&`W%2AqBfA`X(Tk5t z!@I-?mlWQ%d^}=WULdiDa#!kCl=z=q9Uh=&&puVK>zNuGu^hUAftF9C-QvP*w^Me^ z4$+n>hhO&)ESXeP;`pvvV<%n2WpyRlZ|@JXk`>J?FQ4C^sF`A$zd5Z?5?sfVPrihj zT5$;jSIKk|nN8taMlN@YE~S~R)N_@nQOn4uo-z{1q8TzeA7F{Y$8cV#C@{+vmEhiX zn|2W8ub;!HV>{)|UaNgQaSclx)JV)x(kPj4!(@uvXS!Jv0ep;+Q2R!)GFJi z#tTrK$^gde=cQqMdNnoSxH8Esvx3=Wfo%~!Q|7{v+^PqIauZn8CVkLt)xLT%XtUFg zI{xq_ndU7aj#UQC@Dk@nB&^n37rMVxL6_1-caHcp?+7SQ6AZvB5}rVqH(2!aECBzWa0#5I0ud4$-e8DO=TR4j_S{j7q5pa@)9qOQv8gf0xs#L4O+ zMHKMm*G&?ez4+zf1S@+vqfI7Z2P5zxywXAvg;F literal 0 HcmV?d00001