;}T<7i&%NRcjl{Wfc04@d=FCJp@y1LqXsZ;$RVVL zX4`H)uxqT^mH(*z-k_GL+(12~UKrG-PED{1#iTuDW?=YkvJs-JWOlwJOuM+)bUH76 zw0Y(m^w<4b$UFehq!)1ks-EJ?@mp40q;~U%WL;V{TMnUv?{ec~T)^+AuT=V+i+rsX z>9f9c>NbZlE{u#*fosD*UY{kZh}|1j)+kDhQD-vx>`ax}c)-b9ScBrorle+40;p4C zEu&YI9(R10x6qq^wKZ8<@&VeHP{!Gmc_ZYMF+oewS>DnKR3RvR7QU42uX?b0AbiQ; zgtXT)-^1R`g9cJhQX6`}nvM-mtf>qzec} zW)r8;cO>2Pr>fZVD_Cv;m(bAy`LSp^=%p9O$UuwYr?ae+ 4uuEKk3D|uKib_?FqlM)+*3cWFX26-rk)YfC>6ULG;5i#q zO74p_qiP)${2=rTIp5RF3OQC;+dh!jOHM8YG1}k1j{)-Weg~e;UEmS`P>=B3r*L49 z7DfqpGeD;wc*D(cW0u`oR?Z1j)J3d0zWVTXb^9+j2ORF^F@g-Df}d%m()U2%n3P%0 zGG~UIi4PD3pTccZdQa{npQ~xk@ypcxMTG^=Py0#>X(MqlQCfNTE^^iKZN{{%tXRb? ze8~X$!iTueXs!82qt?|_sYSMxkX-nYjpn4XvW8W6#O(L(&XidA2#)cM%`g +UW}6VcLz>l9NOvSnEUlQbQf!Lh)5 z725REt#J;)F_J~r{329hf4+O5R%Yap5o@+ (ZgW2G;8ne(Jo5Pm)Y@>QfMkGLhda=$+ @B9r65$eWOJeisO|*Okx&Z zcb@&ZsiiHdrLFs| z~G@f1@dVcB X+|RsWfZx-w+4#Bj9t` zB@5fbVy!`8XDdy8Is-FL)_{Z6gjhB^iVD0jd|T#YFM*M0M?4H{ZgVL1YlVJeHU5=Q zKNi|$zvcIQ@l%6e)M--Vzt{LmKLAiBmb cNU8eS=A&p9^b8DkHq{Lh-c%VNi7^3~@j=!H1=H-_YPhkf
lCN8qfTeKhMlskM6$kRR^<*$}LxC9}1 z`FQj582Wy>3xUHHm|p}v`KyDdhKeV77%E;Xpirbbu_C$T!s#Ft|8=syHLM=&18L&0 zqiN<$OSzb+@r!(|?wl`K+A$GH;2ch^)&m-KYbNA8dI*~oYu!Y(5XX7DG#N!&5mBS@ zirflFbpDE}BOwexG35;T*n<;d_OnCI60h3_3nE$*_iYf8l2=!FE*@D@J>*Y&$2yFW zo8v5<2^GdL8HUhjR|I}BZ9ZBK!ZNgzIMMb-c_@JeCH% ov!gDL3eCXSA)|OJ19ZDKpBU9ldmFEHma3%$6|L>)OQjgkl{Rf3( z#J~vXL vhhaBnc zRnO5OHfPfsP|Q7K8Bc}=*Y&3D+;yscbog(YCwteq5jZR~D_%w9Aj)0SNF|5d=XvHy zC}Z@2f6fePiT;Q~06?G)2}`&;&B!YqajCV&_g4>z-}}1U7B$cEt|$d*Pe9Da%QQ%l zN!T?Pg-g#Kfl|-I!&uya7V_meZWIXx=9it6zW@^y8nA9Xsxc|`>;rD>m#bVCMt5I? z9~nATbJ_5lRcC@+q3L9M2gy@$EeN0N2C_ZM>nA5{04%4=+A^QRrY}0OQCG+#n Ah9NNn$%~fixq26w|ntgY(*SQ1TiV8?eZ9i($F;n z$>cc9iY93-SF(kHpe60e(=yX{-6Q;Ojt)pJ;$sI4HRkL}TMN!%x}EL9s&_Uma=12m zMVauAPS5I4QZkZ?G1(4XwlWC(yD@YSWvKT8W8@wUn|T>ILh5PKPp~`{c>%<7F20e| z)MScOwQ>G>Y-&bMLu@Z>1Or)5MpVyNqbYq50Zm>!(HA2sk+)XmHG6W^<2ly0l&mxs zw*lwZM~~mpzTR~?LZypJW#zi1nM2y-C$3X7Ssj1drM;gVWeZl=?QmilUT)oTXV0l> zn-XJUfFxe%Q8Ea6b%-`+Z3%E?dWWKD*vSwg0D2fz?I3KOxL;MsR!Ua$@p0g6(3k;T zh@^Nc7sG(ykTR=b jI3`P6kld3fcZq D%&VpvaL5 z*=75=7ew%I+**a{i%IsN?cWe%P4Qh3smY2)r}_NOL8_SDeWvn+O79maQs1V~nw3mV zA4cNw=o(*4OXVLd1E159&!eC{o ?WUNg&_0YsY`h`ucR?<3FcgRP6L0 ztkS8g?vSAGo=?Ts{VKOv?PPE-js+Tk`@+^g9l%QK9BXJJH#yVCse@^%5^QM^ph+rf zRfB25A_YSZSK0ANneKZUGl7kQ6>%U0k^<(NJ0}x&qon^74i{xe(-YS8=zaf|E;0F= zW&QaVV|Hm$r)gIU6kUPROYz6>FRaFVi1qrStemf_j3ag!e+(&>C3w!ml4+B3Bwt`b zS6_b o=?}K#k-*s zs}DUrxaJ+kUAIYHP9 YAcoLJJ{5e9K}MXY&heLKg{Hm>VSpF6Kn{3Qk#}HAx$^W{{2VuL#>mRQ%v$*E zO-oDLbQot3XqY0%>BYeK*L$Y}eTD&izX4|0U9{0u7J$QCsMG?(B_L4i*z``o6d0N~ zUxYoGSZ^Rkmqng;9ONz>m 2>A=j7wPbLqtdvj1NmF%=^$K=dxh%d9d7^HXg#jlHB zoA4YGq0|U_E?$cNFva@F2(6irlNK6!T9uAsbw+pQk&WnEt#Wg=b2+H^Rs{ESpWtlJ z4PX}VZ+8}*p^#Tky-)YEpTHl}L2nHcovc4IsKP#SHW 8{q3Yr+qaPg}0SC6 %MkwX~Xs= zqgj;>A;ltBNg|?QJx#f 3Yl?e*n=IMEwo}2#lM2o>L_B%! zls^80R%BWmgICDm$S#8aGp7)DRPS_vYR9HMJ?sOs;Ty;5E947x_!I*@A*RhI$7%r2 z%C})&SG5E})nNxlL$P}{H1u>8yQ4ts9W(GDZa ?)=Bz)8? zD1D-UlvCH3BQDjcP5PW{xi)S2!{z`a-tn=P;ecU0CPT1-Hw*5fIj}V6f0u1I!PLqD zBF*d3#Z5$Bp#l1OfjoEI>zCev6;vZP&5G6F6pXj6W5B$m%*$vVQ43r4vm8?}b0As? zXM^`{fcz4~*dOmzD<~c%y%GNX8v{t6l=EZYAlXsa@i)DaPgFWK4X7qAfE0-Z{X%fm zZc)G@Wa~8uu-DuBhZc3Kep_X_J`R7@;y{qt{d1@{2_Pob5T*Oy>K0+kc&RfS01DZg zC`JHKL=WRM$g2CopU99M0cQcec7JsOM7@M&0eg14-)stO4sQS{c&XFDx~caW8JLx= zott@_3e#|1mB@$ug~Tfo1ni}Tw>6PZg*BvB;M$Yk@v*;r0mPE)vnIZ|yCZnz$`v+5 z8-sLjIuGKD-8IVx48zvVU*hvJ3~v4e+RVEg;e2k5sY#-1`FV%5ps9R7(l>2x^L^vu z0KQW3xSecuq7vjL-I?IV&*+pO0%8&8OZ `{gc3tuuVS6im6# z+MrfGEa6q>LpfInlgQ`!w1*~yT)*PRzLt1)?K3LK$&7e==bp#50yr-V^73&$Lt89e z@0l_9Id2>YBf|(R0yCqE9XdgTSm`a&{in}r@71&4OY4cT3u+}#^Qp(80mvaL5F7qY z;mVanWo2a!Db~<$`5c22)o)GWt|=&WD0fspyHE1xP5&WI6I%5Ay!h(M=MeMT3Ls%0 zDYf1#u6!jNGt%s3FyXu2#j|Ak{d}J7maj8AkZV0V@~5Hwt&^60a3W1lPq%EP2IRpQ zRu7M@Z|xlkNl6b(1K}#2D&N{nUIqlp!J`3w+}5!&b9U{cLnxJeMFB<}+`3BhMR!n1 zkq5Q@T?E)S4}hDI_bW8lE k!gFn>PU7ntc z*aj+c4vz3}h4)mN$`3ex^&cFDf0Li3R#sPMFHK&S#B7wB);>VOF_FtK%e<<>KA4)++mK<9`o>&tgHa;FuU;{O=B4nZi5WnD;_CB2o zs*WAK@pa}31I@0|+x~ZInbHPY=I2FEF~?bITCy-a{}XPhpWW^ir9WO^B|ARBS-?_W zUS5`#Ea2kcIF*{oig$Qfr*wZMpRv)n>Tv-I7kv|xW=E*{!`V_So|Dnq>G%o$%b!-z z5N>36JOI( RfE>Qc{mP+T|xhX(Yo^M}pQ_ch&;SI3jZ^7rr z7GhIlbDEsjc-e{3j9@ O5In{!)Cr@W0*+4HT zHSsbwi;=K=iz2j(@i)vS5;hX|eW+)|!zg>i3OFtUm&p{_g437l0lPn?_ab>q*FqQJ zx_XtqzJ<29i;>{glzEN!&Lb=#Gz+fVwNqU@0J>lSgzORHzn5o{1Q4*&*R!g_w@r|k zbu(~FYXjVp^G}9JLa))n_LO`!&TYn5c^@5+gYv%M##|Gx*Qf@Tuwma~*e>gL+rip2 zJLtf_h5)PFGb1@KR$l;mS4pR4E)il8tLY~G{zo1jdOJPn-ng!=u5yQvH8tEWfA|%B zd1+}*F^k2mr`sZ+-SU4t0i1C5ck;l9GQmH%CFd0AEV`WbZKHcD;oo5~cb_RUI*P^f zF|vp$NoREhTy`%pmG6lgo>O6+_FiXv)2A$*@+NR2aPiKwXLy5D3U2FNbPCe!Cof*y z5G+3h*-4kvbK 5g-Io^@F0EQ`ujeFtvXfom)>{yjjao6r7R8I0*9m;Y9no!zTcgJ8wWhLdUMJD?YR za=Pu*h@x9_#m 56qlarInX9w33|2@XVBT)OV*|>Povs2&r zDD5Q1;WFpG3P)6zy=3Ueq2xr!Flz3KfW5^5X3qZ7Hfoxi!Co(t$#Y`pL1!!x@Q3F4 zms6(y!B|B}IsWpwp#N668#_+RHgn7p8e-huhw z0==Zt()!;YgtzfzxPT+~%gs)R;s)13XZ|e;h9g#V>}7FV614LFo{rreAR2+p@^QEq zyi=O|Y^%W-Yygpfzq)G4A!Q&uo(&<#_@3-*H?%;V_`iwO9vaMNhk(9KhEeUbiYhgY z1FZ9Z-3ChC*A)ZNhwA2x@5_I;g*|;5?fM}=kLO>VK(fPf?|u_Oa2g7-EB*C~K2Gfc z8w-off7j*Xp|VU=xYp&GR*+^Q>O`KGH>rU^&@*fBNsR5sUuFTu6!Cq10~OS)aQ}BR z*a6ixz}e8ZdhcSPcP^7^N)P`n54{K)sN-_Jz*fxnUgrMqR`g!}*%_V;C58f`rHerp zqtFS3%F1#SFjPL!|JMlvK+FwQCN4j6f+{h}mxc0R13@L=egeA?w=ytRem?utM$1t; zIIrfZuc$mwWn*KLL%w=!6?Af7uXC)3Wf($RfMAIIK_YqoI}<@HVHZgkc@oekD*@+? z=kGu0@tXuquu;FF8A47(#LA02KFDQZ6;2R!nK(V~+ae<3;N+xw*YRj#gzAi7^Iz kGW5CpPtTUPmt{FaNqo1b#?zVa79H*I`tBRDOR^O zh0T?nog7q!tmxOeOdD_XJqrh}Kh2hwxP_h|I={y8 w$Ea ze8_@Oh>pV1NG2aBu)mHalxoGIv`q~+JBFUTY@fP3_kyL`?mv^7u4wFD0$KRoOpR?% zug>nC8$k;Z$PfV`q4-aSepjdyOE)?@zjbiMrzI&EzY#^Pjbw65_D%A$E4~zc3)0XG zlBUa+?h+6tk`KJUkiinxY8h*PUC*5S-qTt5pJ;)2`(NlF1VV>gxsvxN Qm}OApLN!&_zJf)#&63y<{1 z@ZWqRoeD(puTpgmJ{#OIhaN_|J|AQQ6N_0iu#mq94FjMi_SH_W)mg)Az73Q?8YqB} z^B=x|T~~<&+!Mj*>`5^Q#n;9@Mwd$krv8%>Zt3ZTVkDO%Wcb+vHm+SNs{uRDa0|r{ z8ft7mTrJ3TsmE05fE-9blmRMpLLUw!vBx1J%08ojjwzXzHgLOlCGhZA?RS?Z&Ay$6 z%b^Ly)db)FY5~#!LbpI6J@=7B(9%L97R8(wg9u4N;id|sg{^d7h~vxqJY5y@`-H;H zqxrM6HFZ|EvqCZZmqQZVlf &D)EbkQ9AI )Nh1;(OfwU!cfWe(D *Lh8&H8ce%WZP&6&zOiOjq&|CsypyXJqm^?1^SFsO=hL*b+z(q<1 zkp)-GrWSyHw#FOX;%mGbQKT)v6{9cH(d6z_HIR`l37BDj)`OHMbq3RRnW5Cfm-zsZ zqka;bUrm)A<`515v|Ae;8~@2raKTbE55nFDNYCB%{KS0rpSvt09$&iZzTq6GM7lGI zx;_Q@a^TLu$spBf3Xaf o0awkiXa{S$1OPh&r;+b_55@dL<7aky}^tdp_T|r5iMl+b{dhPi4@bX zsJHBdaWP3C?_4DLqpGxNZ$xexhawKy>(-P`ub?fX(vY}+`XD78j!uO>t4&(aZ1Ro- zJPxN?cxiOR)&-Q?kH)RB4Cl^qIQ>C%&weld`RKR+9H%0~ZQEj%062t#WhGwbu>LvV z7Dejs>e_~#S=QH+BHX;+0a@IqFOGIA&^fHKQ>%vKuPFa%$#i)j_@Vp0p%Ok{z_Iik z97}lzac55f4v)dcP! %dm_4Zfb<~ z{mLu@IB*$nJ;^|k+BhG(yad^+KJn>1=JDws3k~aggR&esUwqulcwVRIOdZ+&YaXo` z>W*dUa`}L!2pt)eeSB5?= Ehj=w|?_cw_z72fIqFN(<$GD1cO*ScsFom##|k%s8uOTa>$ajQuV ziwv2i>rj=wIPTGo)9DxDXQTjCxkvE{$Q>W|n_V&= rLH66$9;{o%2M `c3km`NiVCMnu%-5W~ zbAg38N!jdkCooO+_U&|FhPf%;zq|+<9RFnxbB48h76-`qM-E|aXD)S>F`n)BmZ%U2 zAQ%?4!lW9uaCMQgS8zU#P$jr$3Xs-zL_iaYG!HQIxJ5%CU!Pt5^2EKf_(;%6oOD^t zk~x0;*~7o_79p?s5ns3y5)v}R&*ZQS-b4h=5I#67!5#JPZ{L+xJBu ?|onZ0LO$QoM2-!;gXHf*+&ki&Ltcu~$^p_Dl=YHN+PlfV&Jp2PW{La=*V{ zetMA T^G+rPXg(MeRV*5x zZ+n_~%zS+wnp&A6I2%#3TCTrG3kf)dz6iZ-i5y|&QTrR9HGI3}^fVELyAUJg$t)ik z7ayyYtvvUC+WN}4sG@i4Go;c;#}J}~N+>;~qI5S%gM!j9bPb>=4N^*XC@I~eQi6bh z(lLS{-Cc7x|9kK6y&v8WeBsQ=z4x=9y`Ht!W WFrE?AX_1aXMl9zRfz9%ARK<4>&ta!_ji|VpDUsfdJwuOF%N 8P+S?>p4Ru|6>p}UO76NZ=E*T}H5 zCqHG*kU87mj^+UEF4CRv{lH*#pv78p|F9OL8;c9xs1ow&>+0i(Lv%Nq0?7WA9LIvM zcW2#%e^UgAMN$lg^qC>)seWmfzZdVEmzC5^q+lIW8B31gH{$ZyS53Y&QRxiRahN!Y zw(~&Rcr7hZkJy_^6*h4l!q+u0P*HGIU~%Em|5lLd#JJ7suzj}fBGzy@tMFp3APtl- zneR!UO%2pV1L!NH@eQNB`iu5cHP*_Ve4bw5Z-|KmQH%!y_`K}cJsy*qpy}@PNP;9y zQ5V#4_+_viu3W35Id9fRDp-rMd_-7V&gziVUL7!2%d+f77Vh|HYl(P6zhsRRvib5I z9rd4G?PQ-)_(W=V=3);Xn@t(|^~=w4z1d$kgc{bM%9Ec40XI+b1nk}%)UYFnx0);3 zL8*@{#neMsg_hr@uTX7RYubZSfaQ~@Y>H2V?ak2#g#*J6r+*j9aTR7h|9kjb-tctI z0jz_Q(6 OYvbnjvxC`}iE6a)XwE0?)%u{RiB zPM234tl<3kx_U)4wfZcEA+_KXd3i4P=#lu=N2Y5;WXUmB`P1pGh3S`~Ox{%X*tZAA zJ`3c46uHE)0s&%3Mf 2=$%d2PyE{76Zu`-}&&j?gSt12Ypf0x(zrHg=W1025G+Hb$_IqkhduSQ8I z`Nm`a(B{uQ&i5g;3MWrxb6t| nWky?5 zw^|Tj%FJuizn)93&|CDkPjJD%3W3*D_os(2eS aI|?V(AIY z9YwXh0l){Bn*v8a$GnGx`Y9MkBO;v|k_7yM4vnWnCaUu}8t7d$M5FoV98wpEOBcg( zX$P_tMmJSK{8{_eNL)V`zz>7fF^ZJ;8 V1#4?1EuHuPYOWM>hp`UHbv48O`BXN5}7h8r>R{4 zcgUf)Q|8I?e$eZE(TVCKXy?$(we0EM<@BISV~yD-RVOFDv5SBkFPiVJQE$+%7=~^V zSzPQ?{D4~ZbxKEwrBE f(0U}~&+DSBaMmnkV0+4&qh_j$@ z 6?-sqAslPCJmvsuFQxQh+iVWKlf*VL?^ z0>Vr5KbE%c#QvZaL;O-t-A||i9>1loRZUK(g)mY;wbe$1Id;^(?A)tpk |@ *rk6RnpaZ zw?WlH{r;#Kgx^HaRZ D`iQRZLJMI?+w7+l7$o@j;>ol&ljzK|Yks|@#jg`~=ukBC zJ2Sm8S(g-(8*;1AhuFzy`?@bF{XKZ+sIrR6$@5Jh15mHQGvtJSRYww_y?m~gbda07 zyWM0BPev0mDaOkFfJq4R!@cYCT@S8i9i4)OVrW&^LSSsxHOuL6FZA_ZyJi3IYj7DP z)2JEm;_ZyHT~o12Qi1vS`-moKR)3M$(}OjTOT5}@yNoExdav|nNM<%EZ~fkbI}ueW zCf|DmyOqJw^A;19=72j2vDAtRJoUtO z?B=RCIJ(o7wXJSWOc)KjCbD*P)h;zLV6*+QV8dF>3nN~0Y{EXDkWo}pQ4jm7J#+A7 ze>>ng;k{HOgn kD z=64xxd3T% iYG`aa2a67pIz z$fkUwQt`!*%WON2lf!kUek zzD?A5-0fCY&bJoVj!vx=^H|5bl-}^XBF#PqyuSRnDyPmH??y`#V_b8KV0oS#lkor` ztfFloE9QaYv9+l^Jw4pwhjZlrD%J{ZyC8J=(wQ>c;A-tzn6Ig6p_(G}^b?phtOwwO z`Ap6QYditrQBm(=sNMAWPG6f&)hlr;wWvFvpWwc~K6-m~YZ4;>jz69-YyogLu^Q zQKyKE&eT&ps1fsMDd>pTeKxH>CUIl9%7I6uTsUt~Jhn|vo`NNZRqq{{&3Y1u&cY~> zrET1cr;Ds!);$< }T0Zz>1$;esZXc2$xC2Z-l#bdi z7#^IGAdqW03dW>b+77?u$0*SmXevPL1!T@uCSu8(@cGA+rCs+x1hJG)Ico@96>7sC zGPRvpu}sxD#m78LY sCl%AyXaXRdWb-V jMV(BT}A8GoG>TIst8&p_rWg=I+e-Gyyxlej*%8!`^ zERVMqsc%i`I;2;18Y`3z&R3xX@BV{^;Uao_LM~~@w+Tb?vI9WB+j-jIQEFbFoZs=d z&RL@{zrheOs`Nx&{>Bs{SOkt3s M6RnML&Juv5?R6M=m{Mu7jfm6Z7d3w$d?t# zcGM$@@0Y5CoF^h^cdpmi(P*ev8=Cx?H0~(L48ZVt7SN9nV{ABawv^vgQUN`ZAaqP4 z$9S3kBQ#cO;Dv4GZMfWZF>isiC@H`1J>z{jp@aa6X6NF11C|wT?rviK<1h70OmzKQ z3|(||-AF29c#}oPOZ1A!JXS~Z)LZS=vOLzbM4P0etx|`@3V9AznT8IG@h3iZwmq z{FiU-t^L-6+3z)yq8Wgwe*M8ovgydUh?=O#g$oU7E|aXUiFDJ?ob;Vll45cka!X62 zx^1T)FSU`ZaA(>;7r|1Xr=p7&> {KLM4%Aot}2Y-Gs=b@nhVWi#UQgnqrDI9;v zs)uHy5RkDYuw4k}m!*3H?I`wdVJbjiCT>_SeZe4kiUdDoz-!@ye jWxqdK4^_4^zwnj9P7AoevQ{+E0qCH>QTC8tz!Eqo1Qh z3`seo9FwV8SO)Smq@VPO<<)a?7cdusG>mi3zi6diD9pN+Smd*1+VvVptkD-uCrbtN zysGU11OcZ9DM0&5^w3el!}4oVLV>kzA^WJUPrwQr=P(Xtu$TYCG9SDn!M!V^`&A?m z$$;Nlep8o-WVapw*v*FlQ22j$l(kI$caR0YQ1Q)nzQUlH tS`}WVLh__q`oEm>}RrnKPa?&5CK#5tx_6!OyUhqiNIRPSzQh>!Z z0VZymft$+2koR?flfB}?eM9nR;A~U0^|L+@y`hLuWTws4&KitoNBO|BB42oPhHo!F zRFUWa2Sb1f1fp<|HVdr1PAS%s+p5zHEWA1eJSNaM^mPf}{XQtzWa{FKfhv^|Zxc27 zpfK2$_4Z&k2!Dg^y9hNaE1)~%0u^6;#mA5F02j#e_dEPVYNi>!V-gF>xI5``kBgmf zqPi!q-M9_UzX|#?Axnmm36Q^P0mEQhFrXg1SS@S#v1xGQx<5%x64_05YGUZ=I!*@S zLZ5(?;SOAmr{H6$b$w=3yTdzVR4;uH(LK#aWzaR;Sv;Us-ue5(eP9vzVZ>c&r+ Gb}TnX{G=Ms#Jv$$TM^;~lM0fB*cbehl~bN*K4)@8dD?mN`LGB>1S(QRlkQM%N$ z?(Nq+g@Og|2Snq@^S+%&q?+Zi^6LeSpb>xBqB$hmf$ZeTcTQo)YqcK(+CJB{w%p zde~%^ui*{2hk&Q-exAHx#${9+`DtDAW}&@ko->=ia>>hZ6}xY@4NL*@^1vgQAH_NR z5T}1d1^REok&ZY}87M1)6~xThKF5m# IitEa%p`$~{`AdG9)3?P3zT6Rb(m2dxDKpDizBIq^qzR3$ z+PtY`g#Lm5t1Bag8)J>#JW;J3%Vow;e`PsYIWN2;E4>bH`;LG yBgNKI7S%n7~fB1FtETHpmrSVRpKS)1-!ufLPe>x%Zd{5@7;-VPYs1@}PU2z~YD z%?QY20fq0eR?g5yh(;%Zrcw=|=)oXiahlCBN azP1XK^-b$$&|}MuW6{&9(-^ H>&@9P^9ZbN_VuR x;CP5{p&14mA2X&sOpU_`IC+?Yle)S73p{Sve$2ND`XIlMSZGNhzKy9jSpH=K_ zml|^rQxUh Xw>Tciu{GVX9nUkMSk4hD`AIdkn*Z;I@sL|Frmr00P z{bgam$_vRej45Xp2{*xfZ~y?^pN-*QL@+N_D7Y5f8ok#`j7V6;l@SqIy}iB1bLU$p zfAh#E5)&UAefY;DV#-H1<9BEUvVWITBipqH%8(t5LhM;VL8-|;u}aWouqn^?h8d?= zY# YhQHXY0N1J!9K0lXknKh;0^Eb >Y_oo}H zWcc1RsPt0Ld!KtyMk115`l5q>u3`%X0~2l-U)eE`&Rr&DHic@;o{&q_JMQ!yF$t{- zahix5RS?SzY ~mj{nGRVN%fpv_?C-L38=f%Zvd)A6MnY z?=>Tmk@(l9J#cP&+lAA_o6^A4PwF5y@8Yyo4&-~6@mVR|qV99HD}yq}0TGBgJxLv> z#>lS8$0Vrv`J0(R$1KA-(Jg}6u(-SMuXLU!hQe-715~S@zp{@Ff=0{DIupYUjsvy{ zxp{e?ZKjhq?w{}cI72!W_+3vVN*o^6ruD}P3vRvdeV4UFXcK_oaHJcYmI?i<#&mw! zy1^|e8FEU>q|#li2w#EPJ};;zETPqg*)O>rkND~wCw?sJXmCir65aOSS>clO-kM>S za=VpXp`&Zq^X@hA$=vyg(97xfuS6U@RyqxQNh*~A+!uZ~d3VWO Ad3U%s5K&Gt{rAO0^v zi9 k12gZX7fS;tntu ayXefTHp2HMpd!{b`z+e2I>9A+v+m^ug z9F9htUed?%j5BxVwt5M%q@Pm2ync%|4US)94WpQoZWw|f>inxc0tlG9Fe}M_I23la zsWifVm=DVllDln1O&PU2l_9CGbi=};ss%bJKLfOPlL3}CmGn8fV(AB`kIp+JHOS(B z{7tjf ey^*~U)WZJP>@`)8^*>Z5n0rea5E9v`6FETL4GJ)Q>PCYJ$ zib90(9IWM*RNibSnJN@YV(zR^Bq?c3^~Y>X!9}Sw_4T{f__1mKo=bIBS$F3zcq1*a z(t+of%~*as01S-whb-1W$ME_owc%8n7VK)|5A3=1gQJb4n7>*^Mhr@y3|va{Uy;rD zime_^J`a^K%z#D; c!PE2kEA=l120gXH?Cg-dEP>L z)xX#0Pt=+S(c0eo*ZP7k!twXoMJ|>ai9DnV_^F&5UZ;{BXVm?{v{Tu==^w>@X%mE? zHz*(kZ~2qBh>}`aQEmT&;1D^}(=&78>!amg8i`$U5s-*HekJnjlYs^zIf^0+)-y0Y zh;2KKIx-8)1Rcn|CR-Mvo%C$8kIi*a8{x6_WXAW =XOl^_FX%PLPM(li2u8>`IJ6K+7BFF+<{yEU2s`^~KC z0eIiGR$hrt_joeZ?|G0nEyv>k6S;xj*X?nipXDuN9^M@Z8dv0N>pd@gC;~r+m3K^D zI6tjp5W2e~uuTqJv;|tP_4NMunzHWo6y4>X$8~N zHc=g(Oe!_{{I);bUd*%fG2&hE=mx^&_r65*2A##i7p#_p$WnTg4iSXnLP>y5^YzzF zi;=Edn~fLxpC1SU+phxk3 &o7o3Zq;mY!xz0AB#&jn`@2#j#7ZFO)179ZBH>qUmcVpxwJ!iegZ$!R zMMT6 >!eJ{=iF2O4=FT!_I%3*ot^oc{io+3E=B62qC#a z%8_q>#PWC?^U_X&1}f-|sS@ _Go)hn_|k6qPIh*Mwp(YO z_lZ|Q5Yqr23FCvr?yNw08&33Qe}JkENF17u)}LU5aaTkwDBuW>2fN-mEBLa9!50o{ z$~IG72M$K nYgI^FbL-M_ZyNPnrr@6%}^(jB34MRjy@r zj8hLV6-A-#AJV~~(ZhReC2U{$`YIYX`RJgh2!hVPoc-`$h5@J^_mFXQ@bH<<_5t1A zctYj?`iq>+5fQy6l$e+(uys*?{C8taJhAMxod8@y|0~EhczAdU!CDK}tlHBRioJ&+ zTcHU4yN?55xEw^N;xdzIE1%*K0~3t>%d=yPLy4wvWld$b2P$;DRvpVjzdqhZ21mNU z;!@n-(y=tAMB5vLKhvyqpP~imUJd{cuah4+KYRIS;e+v78+>lr0E@Y*@t58=^Bk zz Ek(0_)Wt{B@l|j zl )Bsco-ftiQf;%6Ki))=@8XSJM}i E z{~5}$Ctv;Ttof(icHxW6-@*$G>Rx (d39IpkOIAOcHjCgAkdqBW z;x|IaE1w1@l0Ng=RTP~sfFP^Sdzn;N#j8Fk{ y%+?JwfM$cqcy hvfw*)=#Q zhm960`To?XaXBTsCHadR>X~eaOU%pf(
jSlhP<7hX~34W>}w4*Le!hA{#$7 zagv|p6DfNNbY}*G7))fqN8nf?(@dU50~1LhR7Ibn@OlVX@Fpp9U&~(EsN=Qw^@#&Q z`6KDkEe}ck;HQ^z-emNV!W`Kl95%71KDqel?=L7Rn7^ahFntN Y&Oo<|9-qf1q<1E-`vnB;W$#ggy!CY0+ zCUD-nI<}C*9Xjts8JQh}TMYJtLr1Uyn%+!#LM+i$F`NX+$wrY$IPk5$=v1{-ijlW! zR1@x(5Jg1{y%~hoI~cdAP(e`Jxg|O5-|p0n_q(h!8|K$}p*ux=uuGk5syI%Ct7+N0 zm7|(dRy33<=V0pqV`#kVW$E0%7(-ldy|Mj1(Jy8Mc6oT%pD%*=0V5U8i}TT$TtDlz z*ZKZMZ{;BwNvE;0H=Wp0(H8F=u74EWG2-*FIEMXJL}U`ri4_>OY1%JlTSKvdThe%8 zu;z>Xi$_UhmuA4V)31pudzBV9AXpa8Xhy2q;d{d`xp&MgT3=s(saSvDjXT*N&t|X? zH{cwd!{S*m2dDWMN7ml=G(xqtkF2D&lY<3aKZ!*l@><#nxd6d9>#MQJ>(fLXICR!h zB}oK-JT3;5`XKScj7$D+t2YqW?XBlX*yz<5AE30*Ob@+zxrT&;SiwhZ_8Yp1X6mjS z6|Nuvmgx^Ex9^W87=PVimIzJHG5!qKh5k-dK#JYQBhG~BF~a>pLOl!-s81;S;CF28 zb?}v%AR0TErm!)dw {hM)!CRb5t5Dj2scpT;W;ix~y9bGEMDiNN9?ygLS%igsh8a=V+$SVKL{ELKp zE3WG4gNVxHa86i%RdRG7p6XO(B}7l+kVt05X1Z5F016cfM|kJ6V}{M|)v}xh2`(dr zRfb6Hq2mY)zn*T7(guoD0>^tkdyd5Z!!rDbb6;9Wt@yU!3LC+YF!m)Vo}41Z(Y{uv zTy3JjyN10KX2CqFlTF!)%1efTC?J9$pm|0xp4 =;8wCQ?S<-7g7G0 zo9R0_NUQrU88&hE2>T)Wp9IGh<6b|pdAn9;+S#&Vk<=N7N1%vs&PAPqJ6suaH{fPE z2gUGha}!(WTzS8hBrZ0X{eAoNk~3msOTidAHsIzZy!Ul--L_ffOKXk6Zl}Au8#m8= zx1d}NP#_l9W(y2TSoUL(T?@WMYYaaOc?=#0Y}A4!eti=oT)HGp2*9_WEZ^z8nrE1Q z)CGyk;$~jXpruzRV2PyZ;S35+xJrar=qC=FK)Nv=Gj1UzW51Fcg_*U-*9Wqh{^Y28 zrD`a3{aNIiF$v=PyaM8w5a^JC7iw;@5sTq^KSU@}JX37*)-Sx^GIU$?gTy>eu{OQ7 zOCdv^5{AfaayDKFr;q1}?9EZ*g+cIms>p4ZuSyVb4FMA$v^HNBh`s|f>e-<|s24B_ zZ%=+4>93QH=>XXcS;oX~pqx+y%rKH#V1KVe{;g`#YzhpThuQeDF5^|##CBSCDF58k z2Fo%|+)dcEP8=wk;?qt%{LFnB!+OgY!i&v_0Bz!5N=`m gXx0?$T z`eq%mozkRn;30vPR7fA$6Iq|Zoxy@odJu?S4y&Q$k7?;4hj=pWaND6TGQ~B}HR*&% z)QMr*#s27hkcePj=|Bivi?@zwS&YgG8;v(@gC62>G0^6Og+D>t8|u8Ck98mbqMO~_ zU2eX*t*T96mKQ-3tK9vQ0X6p*MkP@3B9815>^&4`txTzjr^+dmdUmYb!jzpMinGLW zW6Q=cthyP}f5J05o7o53StWs=KLNWesWe^dK{x&Qr}l+}QzB%0iAUlHN5J9&3+bmw z9@w%%a=|kp49IOdfVE4O+_c~wect{Ir^1n|iLx?+L=2Wag3T<$C*as)$PR4>+b9Xh zRYpQoAA_1HObII8VcAlUgC+l$Ec{ gXm<10Ao;bc_ct>=;aU9e>o%JOV`xpq kp;tz2$dc>?}$3Gg!}0Q$Ge}aOuXL&8xOkq-aso%;%oBk0fC|}KoYjK z%0*xR&;_`wp12gzG6$|YWJeAa+yVL|?WBZOa&(vijI`lOV)sA)qk^jfrs*;ZRPY02 zJK#5_IF$=5U?;A`2bln@*HagTodV7P5E}+Q0+HtbodvQWao@jhZSb 4d$c@9?+5wpaTX*37bb4KM(tNy`jsOOQ0!xnJ*)43 zUvYNmDXcYr47yv8==N@~D)Y`k-+4tNP0JhQ5~^hql=kdUk@DHkBV`^i8)qka)l{bk zEc+EC(t%Q9uSD(!DoF!LAp1WDk(yQH0Tqe6A>e6z6bNbl&w2lQ=n;^-6*$}^5ySbF zNR}&k2k#{imiLlfU1O^Oz`X3b1^X-JJpACZCLSSO?q`Ah7JaVvTWl#(fc0N}C@`0U z->zV+qyu6Tci&yzN<-qu2aP$7f)*el)SewFQrTMpyEdj=J)$3?;r;(Pq=vfM$nXDm z`4q2nl@BWdr =jIKI0`l>yW2^)e0i zkj+O@;LBeBNjwhrx#W?!o g8oana`%^e@c`gEP(kvkj*%x&v1wo|Rf| z(O&rH>?bezt8*(E(Ic|#ySVu}?L@&vG1$^1aCTk|&Lt`HlRz}GcWh`uW<+1Qg W|AGS%mx-^LOzz literal 0 HcmV?d00001 diff --git a/config.py b/config.py index be71e20..9eb19e0 100644 --- a/config.py +++ b/config.py @@ -1,6 +1,12 @@ -# config.py +# Админ-интерфейс (тёмные цвета) +ADMIN_BACKGROUND_COLOR = "#403d49" +ADMIN_PRIMARY_COLOR = "#ff6347" +ADMIN_BUTTON_COLOR = "#444444" +ADMIN_BUTTON_TEXT_COLOR = "#ffffff" +ADMIN_FONT = ("Comic Sans MS", 25) +ADMIN_BIG_FONT = ("Comic Sans MS", 40) -# Интерфейс +# Интерфейс пользователя BACKGROUND_COLOR = "#f8e1e1" PRIMARY_COLOR = "#ff6347" BUTTON_COLOR = "#87ceeb" @@ -14,3 +20,6 @@ ADMIN_PASSWORD = "admin123" # База данных DATABASE_URL = "sqlite:///database/DogAcademy.db" # Обновлено на правильный путь + +# Иконки +SETTINGS_IMG = "assets/settings.png" diff --git a/database/DogAcademy.db b/database/DogAcademy.db index 3f0c2bb68aebd886a5570d6f9a57693c7080a3dd..695b5476cb7740bca6d4b8e67b68641757c9941b 100644 GIT binary patch delta 301 zcmZoTz}Rqrae_1>$3z)tMvjdMOZYjM_^&hYzvREZSy13KzmNbE3xlL&RbozQL1Jl9 zqM?!T ;M2`^POn` delta 57 zcmZoTz}Rqrae_1>>qHr6M%Il9OZeFs`Cl^dzuYWnaG!tjOL=J^{}TiMCm{a?|K?Bn MLJFH%4F2!~02`VUX#fBK diff --git a/database/__pycache__/db_events.cpython-313.pyc b/database/__pycache__/db_events.cpython-313.pyc index 87f6cf44fb94cbb98d8ed16d816ec7e7c547552b..b221d7677ef6dfc9ededc81a4723c231931d69fe 100644 GIT binary patch delta 20 acmey(_nVLVGcPX}0}ya#*=*!4U + zP+>7hc>}`}ZlP|=3oIf=3.7.0 diff --git a/src/__pycache__/utils.cpython-313.pyc b/src/__pycache__/utils.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5416ad6e5ead53d4902bf81f66799d19791049a2 GIT binary patch literal 442 zcmey&%ge<81O@wT(w772#~=<2FhUuhK}x1F1T#o66fvYTYBD9mWIzg-q4;wUSXC%P z5V9;t1rV4*C jxW!?Uo1apelWJGQ4djB&14Y0GW=2NF&rHmWl3=v}T)1?Z literal 0 HcmV?d00001 diff --git a/src/admin_functions/__pycache__/admin_logging.cpython-313.pyc b/src/admin_functions/__pycache__/admin_logging.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0a722fc15f8f81fb8fc6977b8d6eaf3884f9e3c8 GIT binary patch literal 2010 zcmah~(N7dd7@ysp-P=1r6wx9{>!Ln*6%kMqK{PeB*1&O5R%jDR$g;P0oZRiw**y<= zI_!hAwSk(Nk~Fa-O&@%tw6t0)wtqmAS&M;;nl!C1zL8R5(x-m2+)-( 5~y3m1$0KM3O+C?I2tC&P2z@!e` zE)y9rT#JaJ%OFE3A*wv(ZsJjaNuD Qal;6 eO3U!c?U8#+tx(pz*^qjv!O3f>uwehuhte-!LyKzCcC_W-}+ zU!~u2J)H){EZBolLv9Cm`Dw8B*1uLp#gU5Foow3Fbi;PFPW|a-Fpr81d)BbWaMH28 zo6-tD0D27qnx)_S<15^Te!MP**_9d&ezs8@{#B+9SVkgkr(AFyGM!8=Yr71)15TcB z-%)|^{E{**%0V#P?|1{}cp%AiCc_kKc*w953^B>F6E~%i&CQL?hxRu$?Qd$)nwnb= zHs*H2G6)J12WguLzP^~a836A=@N@nsoo2F;$fj+$=E_AQle64^Iy>0f*qDoQXP-l! zr=NGUVV3=I7S1{eix{3m;!&0GThByqkjXKl-^wsNWSE15^M C30by6KKX^ynEM zpIyK`KJJ;vZ$Bxo9FM&po7_hCCTTYBmk$@-Sj6Egoui!-^;5ltP9HZH=d@}M-FJ*5 z$Jda0da#otagMZ)wojazI#g))@!ll`$&o9u(bz=QL^s`?D#Uy|z>U_RcM7rlm@Gq} z$mF8b_#NSST>cdV)H|pn2Soe1I;2Z_P!se}3l@ FcltOi=9_=k^5>P#pqK0-N4W4-IF=;1C z3eiZMYy%6zsWqbVV{9 mmZ?XV^sG$t`J;dSqlqsAz1zwWQIM= literal 0 HcmV?d00001 diff --git a/src/admin_functions/__pycache__/content.cpython-313.pyc b/src/admin_functions/__pycache__/content.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..67ab3411c3d4eb75f86b761fe646f22754476143 GIT binary patch literal 1001 zcmc&zO=}ZD7@pakP1PE0rTBGPMGv{;WD80WM3G`OmM+ml17W+Fgf;t-&d!SUl(q*w zdg;-F$J}Bum=-_&!Yo({qdn=RH);NW@9d_fAYOWLV4s=y>)GLb-WlZcrx2{Q-RZ`@ zhR{!C94xTYHMj=bI