From 9576899d1a5f7f840ceb599715f4d0528feec1f1 Mon Sep 17 00:00:00 2001 From: Stef Date: Wed, 23 Apr 2025 00:22:11 +0200 Subject: [PATCH] 123123123 --- AT_frontend/app.py | 17 ++-- __pycache__/models.cpython-313.pyc | Bin 1064 -> 1929 bytes __pycache__/server.cpython-313.pyc | Bin 4129 -> 3064 bytes application/__init__.py | 14 +++ .../__pycache__/__init__.cpython-313.pyc | Bin 0 -> 667 bytes uploads/image.jpg => image.jpg | Bin 34129 -> 18236 bytes image0.jpg | Bin 0 -> 18236 bytes image1.jpg | Bin 0 -> 18236 bytes image2.jpg | Bin 0 -> 18236 bytes instance/data.sqlite | Bin 16384 -> 28672 bytes migrations/__pycache__/env.cpython-313.pyc | Bin 4546 -> 4546 bytes .../__pycache__/7a26306b04df_.cpython-313.pyc | Bin 1284 -> 0 bytes .../__pycache__/ac8b1871be3d_.cpython-313.pyc | Bin 0 -> 1897 bytes .../{7a26306b04df_.py => ac8b1871be3d_.py} | 19 ++-- models.py | 32 ++++++ seed.py | 6 ++ server.py | 91 +++++++----------- 17 files changed, 113 insertions(+), 66 deletions(-) create mode 100644 application/__init__.py create mode 100644 application/__pycache__/__init__.cpython-313.pyc rename uploads/image.jpg => image.jpg (53%) create mode 100644 image0.jpg create mode 100644 image1.jpg create mode 100644 image2.jpg delete mode 100644 migrations/versions/__pycache__/7a26306b04df_.cpython-313.pyc create mode 100644 migrations/versions/__pycache__/ac8b1871be3d_.cpython-313.pyc rename migrations/versions/{7a26306b04df_.py => ac8b1871be3d_.py} (51%) create mode 100644 models.py create mode 100644 seed.py diff --git a/AT_frontend/app.py b/AT_frontend/app.py index c6640bd..90560ce 100644 --- a/AT_frontend/app.py +++ b/AT_frontend/app.py @@ -1,13 +1,18 @@ from flask import Flask, render_template, session, redirect, url_for, session from flask_wtf import FlaskForm -from wtforms import (StringField, BooleanField, - RadioField, SelectField, - TextAreaField, SubmitField) +from wtforms import ( + StringField, + BooleanField, + RadioField, + SelectField, + TextAreaField, + SubmitField, +) from wtforms.validators import DataRequired app = Flask(__name__) -app.config['SECRET_KEY'] = 'mijngeheimesleutel' +app.config["SECRET_KEY"] = "mijngeheimesleutel" -if __name__ == '__main__': - app.run(debug=True) \ No newline at end of file +if __name__ == "__main__": + app.run(debug=True) diff --git a/__pycache__/models.cpython-313.pyc b/__pycache__/models.cpython-313.pyc index cac5294aae138a847ae3af9bed71f5782e980e70..f92f762a49fd36e0e96f9b30ba0aaeba444eb2c8 100644 GIT binary patch literal 1929 zcmbtU&1)N15P$onU9DE~S8PXi>pFHR-9kg^+B9)Wp=s*aPOOGJ2Ye7LD`~B+yIQ$# zR}H=i3Z*p(c2kUAtn5>ift4g+C_P(p>&Z7{XsQFx7@I$BS zFfO_ko}wXh{VG@1F)u!7SwU!rZrQR!Fq9gh6M#S7SqDDCr^~a&`+>uPVi1-Z4~jSI zbIReuC(A|1)$xMM>l+NqjTj2SyTHC8t%2d@omM)tmEX*7 zPwmcrJG(!9n7-1y(K2#d3!4kurCs;2`@Q&GZQnUGroa4{T}+~!>$nP9q|P&7|GVQ7 zmH&IksRRhQfJvOE2{Ln{pvpCgWyT0K0PF@;i&=noZaPKNBVf3yS8dO$KX58#?0iBZ z2x#pf(00g5ua{WJ$`$Vfv4pIQd$=>ADmf4erW8kh4OCpm;fpgeWiAJfx7t0I;g$f; z90y`~bO89ez6&Vi1KmO{C(1r_7y#BJZG#MrKGa*oV-Jni$i$Gi~l&YtOr>yFrKxn5a%WyiU{=#2b60!A?am!F`_VBy-}}wj_q@0)%M^HqrxPZ zmiY4I5}4WR7=ui zmuPDfVDa&I@;U4$ed@dcmcL>jaXBqg88OCERAFj0WvblxFa}5b6uknjJbP9ZME6`y zf`gr)96<-~`8;&0gk1vVfe?8CG$-LNk^}TQfkAYgeDLfsrx=JpgJawzt-+B;dR*)~ zpeUHy-!++#7QuNHVB|#8gkXK)jkz-8~X1>0$HUG{0 cF#++|$O@C&gU1Ax<8fIS-JbcKz!K&3Cp$-m0ssI2 delta 606 zcmeC=U%|omnU|M~0SK1x|45f)oX97^7&B2lmL;8ClVjpMUA-Ql)KrETh9bsbh9ah5 z#vM()XyOdi}I zoyB@UqK#p4A(Jkn*yQ<4q7!8~T{3`T#Jd})7!Aa*2MJ8JWtOdHvScda3}yy8m_?KI z7MD+cdU|S#XGv=AOHe2P-N&AinwD6aQ&PkY*@ctHdoh~NhiEFeMvNZjIZ z0s1&3GdHz}8N_AI%P+shl>!ulm|P?ZQVBAuNDM^Oi-Sl>7y+`gSO!S6G29Roo-R2_ za)!}->zURYIJWa_;@Ql1QP95G3!)RG$4`?DVhvkyYEfBg5!fBKSbg(TQge#fV1^=D z2eR!JhfQvNN@-52U6CS#B?AK^P^?%JNPJ*sWMsU{AbXcV^a~pkqiKgzzelIX7X~2n S3l}4!1LFkIuM8j>>;M2nVR~r* diff --git a/__pycache__/server.cpython-313.pyc b/__pycache__/server.cpython-313.pyc index ecdf14b5004edeb1ae1c590d00c522ff1340ab51..0b96abd596373bdf2b734cba5d66b8c45b5826f2 100644 GIT binary patch delta 1706 zcmZ8h-ER{|5a0Vg+vktOacsvSxrP8Sh0uz8@+A>bB5X)e4pgeTwJ!E0G1$Iz?<@$a z>Hw7pq7okmYLF@c?F)UVRH;(cm;MKRuw^7$2b4U}2i_bd53Q<7ojoTi?Mgd4yE8jG zH^1N9WBHG;Z{6#4BN(B-gn3)IgFOieOO79(^d@}Rm+)i1j8fvXOy2$PnBI==eBVAQ zr1*EJVaS6FxGUoJlrX)swSQCgp;Wu#QrzQ^Vajut>geu6if8MlB6XqRO?Mn}>}9Zf z72iHe@sHC=;0=4H(v}JGL$r|62^oaP z85zy7b8I~Fnwa9WEnw}_l4h8;aNf|1x!J`yWwRe1ojN@Yitm_aY8f-97fO^ETL6T7YW_ zFUpD2?@h|YX2@zQ`M3|0*KE!?#VqK!%X;O?^~FFnh)tGd+(vxZtZJ$_4yt2&ZRzfB z%WaXbVs~R-fBa;uwr!}^HoVL~_jj(wMjPGo!&47VHM-<89v}{BHrcR2p}nV zd$O`^q!JvhdB%R;Uhy2Ru!nH~0^?oeAs%aH2^TY)JcA>I1en)guAhO^?ZCbJ=p)dq zFFha72D09jWb1b!$e(2tdYrl|cKEjVrJ$2kk+pV<`y;@X);Kq$Fyr(V8)Yjl%4LGa z|Hf7b8J%VOfkYyj`eKxsrQ+O_EiDk()5TI@M#BI%=j`J&-U~r&VY9r);~q>9w)w0> zD@^MP7F|wsfnHJHxt~%fOW+?T<(V2LsN&Jwz#n9eCMTBX*)`J6RY_} zGnX+2i^V|`ybY%xaW4e5Ia9}(dE8HQ543VVmr+T7V?wD`#rXp1b;GH33nH(f;hdV! zSx0?Q_%*>*v7lbivVfA!VZ8*nk&K;guo*zkW@mIg?^M_p(`nLt=``L!eEdW>>~`8n zJOrGolZ?7V*j)GMbtfT%a z>ThtN+n-n1of`~I(M`#^;t!fl5z*ZB=+)@*{%bvJG)2YM8AJz~L~FXYY$GejSH`MT z{~8^pju3|(O`;LO7R H3X=W@0PdxV literal 4129 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 literal 0 HcmV?d00001 diff --git a/uploads/image.jpg b/image.jpg similarity index 53% rename from uploads/image.jpg rename to image.jpg index 80f57d6abd55680df56a3cff13bfebbc6d7b93c2..0e3f4a93c504f9eac6b5fdcf400ae187e3ab1cb6 100644 GIT binary patch delta 9 QcmccE#k8l7af6LJ02RRl+yDRo delta 16028 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 diff --git a/image0.jpg b/image0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e80034ce725683cbeb3158eaeb44d6cd0869022a GIT binary patch literal 18236 zcmbTccUTi&^gbB6Qbj>}lNyj7sz4~xdxrp01rh|L3kU%b(9k;sklqPRsx+k+X#t{i zrAn7BEo?sD-|lapXaCyWnJ39S=ibcBJ9FwLJt7;EwQc`~Pfr3jh@W4JFk>Dhis1)DP(%)6lbtbFeWp zvw;PLxy7}V^mH|qG}Mf&{hf@=JuTEUoMT-*gF@a%zSnn5%1#JF`iH-V|929+$8>aT zOl)!-9CC0I4HNkP=k4w*fchRD93P(m?+E~(8jpY)@2(HPhPziH9HRd~{hu2iJ^>*S zG0DCAq-3}bO%DM0cmxFagakxHgoL=>A-Hw`AvMuM4pAlIM~3z!PrPWv!jlT_aVpn; zqcxiP%O&pM{q8>LV>)^UMs6NnJ|I6xLQ+avMposys+zinrk1gZshPQjCB)I`rL&7G z6z1dW=O6GUFeu`EWK{HrkBH=y)U@=B%q(PKQE^FWS$Rce!{^4P=9bpBFFn0|{R4wT z!z1YFnOV$_pL6rSSJ&1zHn;w4?;IVUoSvOu{JXsR4;LPQ;D5pT-^l(SxTtZs@CgYC z2uc3Kg@+%2`w&nQ5^;zUKU6X#vG;oPL@fLsjdD^!{kQv^;zoaI9lWPVA9I0zb07T& z?SGK{zXSH}{};0V4ebBMH4h*sz{9;f0%`ylu=kp;n9xgm@V9E1)8MP;KSXPXu@zv( zKL;A3zkF-7ZQd?L?o}Cev5SA)EN;02Sec%TSvGBq`Lct|>q^^hw+m!rr^Sf5pz$)t}?n1;;`&t}FF_>ykZ<&Pz3o zCsGGhkn3{Rkrwg9L`KQ>l6t0v5wx4VMV`faHr@Bx6Uf5&RS1{$d88H9qj>L(r+RL8^mUf2{|^pwV&`)dh}CG8?}>-6(GF3@#@FiYl5zc@aVf5V z{KX4-x97=R$!3Sk6+?4l0wcED2JJ2gJMy_J=$;sJ-)FtK8#m@_*GbdIzV`XC)SM3#4MMhGg+gUgY2AXa{u|KZ7Pa z+u|kI^Nh{x&;m#W`=+NogEEv-*zH^T92Q1AKHD`Q#vjF|Yo zvg3WT8^2WSYAh^+&}AdjcTLMSihph1cbj=<&`+A9aE=#ElxI<^SE_2u-|_$9A;)GYr=7V zcr_y>=d=RfJ%P7kACg6Bz^T_Qx{j=RnjMd~nhq5|j!&cDNMM81Q)KJLC37fbRi@@6 zRfKc-L;Lk7XPsM;Sf)L+{QA|nyl&J_DvSa-9ZZKNY=hEXGuA)zh0IR-HYLq&c&I;9 zb>Z%fngGo123J!@)OV|x5M!!DV)PRo%llP}gvJy^>()<@MHRN7^FrPoeF(ZS%`OT= zk=D;ay<4*~S1gScwH{#>sfq4;7}a3P5@5#C`B@zQ4b9|Z&iAd%cBUVG-xC4Lrl|o+ zI}n|E{9$vGCcqT@=9mzHoGDMbi*_+L+kNYhfeJf|z>%aun&~Xc;2G*gfs{xOdDwHG zj<=1~gkOL8ReL@X+65`ZLB^H1+^d(~5Ko`9B=&^o%r+dv>%(;3Hn5$;tf)_Py7#8J zS07(UC?f6vku-)HR2nSuf7a2$FzE`usExXObCxQF-R+P#zZUf^+Wr@kyA}G^YK35G zF3T!^c)!WcQkm8gflvk3l>Qo})$Nzyks5JpW7J(ir@)7P81O6Q_K~-$vI;fEU^-k{nS=QtC^H| z2YAr0V1>8kf|55$GiA}0J%8jG@RawT6|M8V`o=shs5RLG;nXnWPdYP3U|3`xZ3V$n zH~$Ci6s3?^hBXOJt`ix~CXH6Pi^^X|T3p)*A;K}80fk25vt51Lpa8srK!#nbdA~wc z(k`+6<@!PuuF9%0-})L(!=I$Z+KfTQUPjatO+5SuiXS#)@${rfuB$GM6$`$a@}g7f zcpP@OyW>V>t)?V+--#|MeM{wnM#NQMY{gXp>Z$PCig$7+-M-4d6HA3zy*w z4b1dwjS=MV1j?czZ|_2MGm2yD5=q< zm=a{sAFLyx#R)u0s$b_Od(~-5i1l_>lr5F^+z8aUk*+f*nC5z(Nu@1xNo;TtRjxGX zpVLbGcUeR=SK{kI_ldxmiwqkf}pyTjk>)DzdbZc1VLvEi-LG{GbNJHU&z zSzUE+FM76p3=@{xWvAF*|V4vyVJGU#c`qv>Go>^Sn4hBI)7*8)CoX!5 zR)>g3CzH3Td}5AJ!%I_}@ZmS_@NVn+eC;Tnukg>_+6UO4{t=LLoM}J$&?bPYEXLM6;K&3C*~lO6dy)h&V+w90G8F#kav3Yh>W#U%s0OhdV9)# zMms@LHSdJA`MPvtZOWq}<)x`NMql-ue87#@bcVDg8POh$Y4@h^&d|+TU-}^-#*eo( z7<&oS5g(Yl9U=XY6zgC7%eOj5*O+ay;0}-uBhqvSIha|hlZ#N5DEj}hdprAxRUgF_ zHRri${!E|NUpOmpclmSS+tOe}`>Q(uU%BIR@vl#AS5GBu{#}_>EIdh*r*Iz6#W%?-(MUaDG6{-fGed6LmEKU5CWJIBWt-POC#gez zM##u{nMy>Oe@;nKCWvbh`W!7^F`p9sWoR1_1YqfGt^AzxeL2le5}}0~e5q2TP`W0r zXucJ#baB$lJHXTdRg?E%r*F&PW1kR#Y>8Yh4kFuTHjb-VLI&7m%XP=q59LJ$yJI45 zxigx@nDiTW0zQ%t&-Jtr0eD^UsJt9{#FlBq!1G#HD=r@P_~e`kAn@TYzbbd)KoR3*AE% zW{q_DxyyQkW<1a(mA#Ji4U9o0=p8ib6I=^Q%gNocE^=r_vrlLWlD0Q5RgTnmW+2Vo%_f|5rrnp-@y6C2T?C5w9@xQw)+820%>xl?doY<6dwIn=-N17&?lHl)A6;P zaUJ7TXkkCTPOHaecD3X#1Av)1pwd3g{8O6da-d}z<)1MD^861{51UNmHyt73R&qeD z=zQ8tKD?hG)5wGkHZ4AaNuSGUF6qe2edAwV;f71(igy65=z8^M@H+sjvAMKcaW~tM zaQ3$KTt!J;w95B)wF|f3Ox*7P7$0*~*G`agv+~PyEWiCPQXe?21a{v5ag0Pg3*8Ia zEcG!JV&V!iA}IQsHXOJax4>22?`OJsPUq?3{aG!L4dws1i}Q0933AyuKL50OJ<6?a zwe1!X(wF}#98>z`hh376|5$rHY`87S-$f3S_)##GTOL;2Bv(6TnsjXzn<{czOp`T1 zBU-`tqA>zRrr*#0AoiB83~xR;j2=4ldM2}^A0VGF)-U6eL)qk_TQ8MN-R{cb7PO)p zwfI^}s-l#WRZwzO)wl(4h1uv(zGo&nU))cEZd7|UHakuWmK_LnbFpB1!a5tfL{&oW z8W+tvOGeuK)x9!4Xstw3#j^gaG+7^=;Z9#cUnvU7zkk}~x%%P6(z($$dLs9c@5_8u z#n+mJ_rY+6I{++&;VJM)JxXc7$I?&YkBSer4clbBS(dk%mC&iY1WkUD!)P+^#MHGf zaz^_^y*&k;_;BLM@cWN?M56WwGiy)EmdYVUgGgc>8v{ENeGZuG`tMNwK@^>UR zCVTrB^;u3*^^p~VLa|w#h+ug+8Re95fS=! zy5o~P5RdSOw@!lxFLd9ONWL}p8u^^zwfr`Dd!qDdVdc;rpu@AGFp(8WMN2V!J9^8n zgsy~nXTDk*cGx1FI%U zIjulVjGfZD>U2=qq9pawn7zsOE4a2zp5&BPYEd4*W;$U437vUzLpVf@9HQ=vOwF_c7k)OG*}cbO7ZFp8;t_9NYI)0 zLHFkVUbA=iQoj?Zd{byYAQ0X(oU71;=2~}5Q5Wn*4x|jSNqZS|z$Itd^Ryz1d zqwrGHTK0<3B7R%xv}~o$t&Iu>(`2-gp}6iH5a4Yq45GDq3du4$#PbgyF3)jisq`Sw z=gEs`^yzYa|j87pt@lqC^t1=gY*Nx_#Zuq#D6HG|Up|+sx+$ zI){ca_Z`tc;*?S)K)a{Z}Hzu0Q_&k_MU#>%o}*k&OuH-9dFp4K~m zp`|;(V6|FB(aYf**y5HX)TC%UieAdSy9b)|(ojW9o9p?{6lBJ$qpKD)zp?aNjhmtFm0y33 zbwX=pFH%p_g4M>JtFlu+b;@`q`VaXw$am;hnh|)JmX00$&Ic2N7l^t)cu;=|OJC4w zZ5^LTrQFz+BiPj&rCPQBH&q@Z4tb%tSIu-%x!@7uU7LUs%}O|u+A>UrcdXm~ zdCP@+Pa%O=+cPa_*Xu#aH3_S+P?`J*;fq#WgT*5?^V=6xn8;)W@3NE1mn)c*?rnU6kA~=-V z(#KBaU2n$Q)yq*DejTI@a#g3Wd~%>NbF^>9-oD%Rp=?~p2%5{uj5Q5WhHOWfvx!p@ z8N_So6cmSwPtXP!%m^Mx@@q&6H<3CuekWO6PeH~y`9MB7k^IACLf8&bPV1IAcw9l# z8eEvlM)oal^dq`T^d?!BVz7Y^Bw}O`rlY>CE>0i}Eei_~P+uoGn2w(~m~Lm#Y`C|I z{ED1TEn^c@vjn%P{*1lxExmF?xq8|jgr@%6jP=t;$JDib%379QZ4@C?yh1niz6a^4nreXLd2BP-@qJ?86DR=2HuQTi=_)J;wu{c#L4u?V6>KWo8PdF>Zua#|~-R zqz2wdEZkGG8`CKAgOdFjylF=SEf3s;WFsV4zE2k8{OQv>Kzqz6%M~W6y#*nrBZmpL zQ5VP=#8j^GOZ~kCPW|WfoYS{%y#}>lA%j;2qNzqximZ9_<*?r`9>h(~9?jREjfOK2 zpg*TfRxx9XND}L7ygPo)KIqqAPgF0_lxxuP;nnLY7%YRdwimSiOxBJ{Q_p$_?=&4= zKhkGln9y=j(Mg&bZVIpZI}+V#43PRu^>yY*xrp9@sBC-=e?o5j(lZbImwZiLAk!6BGq$g5>RB@F48Q^f1l7q#q%N(pNlKV)11ORe+Wd*8nbF+v<82YRW8iX89d})EFJcatseXEiBqZ0M2wA+H79vOKwm6t*FV*5&mtRwtf41!dv$xXBibO zuy{m=HnrkU@HFesTE2x!gDe;uBJvq)lQoE+hE;}AuNR>z{VNvH)*8QA`QkMm3v5<9 z$Fxq5dQ%6gv;gY4cW7glRR~$y{yU-_{c;PL+aZj%Ef8w@cId=%;K2SyEu1TF#dG`% z=5Hly3e`xVCn@;vP@@grXok=1@C~#L=Uk;CYeA;n^7j9PJcYvq1$E8ex(KnwxM=}u(nuB+M z$_Tkd-f#@sY4bAh9;4j^2;L$`lL8u8P?(@aH8@^VG zYn3~I7qr{e@rF!E4ZA&v&TfkSn}cqp6wkZd1j-#+^h-fcL3US+gy8S=cL4LNsZJ^r zaIQ$iwswRL5fAtvZ#-e?N`id?6b%AAV!JkZU)IS3qyT{S_j4vu2xASXwPW~cvGX9r zT__~T@b#lNMQ@7izyT;8AmDKk$j%S}uttb08Y{kKCUVoA%{&*go$6mwKnH}`oqQ{X9>q(leR54i(Iw9z$QLnTYc29bqRm&N%FAg?5(0J1 z%69-?<9qrC2ytXA(%gZj67Cyng8q2he^WjNLJHy2uVGiQCQ;INfGs4}2ZSs2z`+V<{hMHGe$y46)0v0n}YY!I}K5;2Q3?Y`S zY`nV`yc=?76~Df`Nhq&`UE{TacJ(i}uF!FkKd^z=Cdl%&zk10F#LL9jfz`HR)c2H)`99v?#wCylr4oLP8;FaONIop8KCp0PGX6DjkPhB$%l z<`mZvH=*RMj;ns5H{<<@1I|J4li6#|P8PGI|NFR%26rp#MH_{#R_ zSuFp^)ROsw6{nv1MZ0#u7h%Mn-T zi1(b#v-Ez>7f~hsQ7dYw1UYkw-`oEEVpkGwbi6Xv8*S@jFxzXbtEuxe`JE`&F@Z$e zYvn8SZGk*2jC_fNrk#eoqr7NWmuJu|)N03vuQYsp2(e&8fUR-y{h(h-79bgoUN!V-e zy&*U$bAJ3pPz`2Zyv#a!Io;jhaR->Y*`7o6zd}2s;#hZQ!Ls1`gJ)kteJvvq*%f4_ z6MKQUXI~7@&d0YQeXPZh2Fe2EM!S%Nw?|$JFY6OqGY{e%&`%;SG)d%Zi_VSi-Z@cAHCegRR}r{-0mr z4b>>4Mc3hrs_r@5Gn$w;Vo?BJUTN7Gk1PpwJ%c6SUhFw7urz{J9x>Cr!!3R zt}m-(OpQv*$d!zW_??%|3xy`ynNQZ_!KVcrCH{uNMV)O2u9Yjfv?cL*PC<6t7OWgG zTXDO-SN_$v&cb4otlp)K!3@U!NyFeEM_~qumq|WD<(qi*h=Hy0$`b+F`(?ySTEiIR zgRNzx!%}*q+FZa>_%dy?t`Ek217`SXtlwAS(c+1lfNq$a@ih4kl~(K|)s|80hhn7L z$BslD?J;xgSRfM>aH++s%9uU%?Gh|C-P@}I!6T&+Ht>2VJCQnRvTjyI4_$6-V6 zTL<~IiMyvSI5zJeEeGN-A*=havK`60sZG%lIfPIKOvv*udVg>3(aaJ16j-Uu)Df}y zAhb#D^$^JzrxYf|H49{6ZqAfZRst*?2&cnO{UO&PVh3|`eU9GeB07K(81*ceRz7zt zPEW7IXXgrdlFd_<@C8sEoq;lH?TUYN!WzO~^L0hGI`_j(MO>x!?amhFa)Z~&g=P&m zM89Kwb5QM!G0t-{o7h{>jt_i7#bViaI?z8veqZ{JB;g#H@(=LI_fTISq2GJ! zP^L2MWwDeXjyBJ=fsb)!cnN$$^m6KZd%|1;?n;AgrCAdwL!6R^{dKbq_yYdg=rhTv{sCYS2x(UO{K<871|V9T&~xZVCACva!qk`BSGu z;7vtOfA?0A(fK4>JuVj}nK8!NI8g_mR?GkCbupjd4mcNM*&-!xJG6K>0rC+GeE(~; z2BOcoF5&4e#?t8YHbRT z6pk0zC;%g%t`>Pk9e3U=ISy?{z$5;)|0_uIMzbj@cw=lb=O?`hff#Z5El zw6>bQtrFZyD{wy;E>_?c*OsuGwNYFycGe%;g@HF|Bh*+QGm zodUnlredK*@*MUgjf3HIOp{AY$h)-gSu`x05$G@Qj3$fiOOtQ;LMj_%OUQVGV%I9j z_mg|7OY3S*v&_!U0ZvNm+*Yjemwe~ol=9(6ZKsyGD0>vza$=|>2-$#1p9FY#DCa4e zoUypBe{(rzUweIcT0P`m*`YiMDA>%E_InlLOqb86Hp!zDUoH=@l3G zo?LlN2~+#q>$uU%a6t<>XX9b=aIl9$UxTL()IykO$($+bFpKx z;@?U=3MehmT=D+w%w~jH$?GndmNGVu>gU!=2`Fp8kLiLXCU~cLAASKkdYJcmwy3#d zj<$bwAEsLtnQ+S_o`nk~e40(P)e2{f%*|Dn)BHk7-{3Q{MlU2S93 zAw%TjgV!Oj5=;?M#~72q!zLe9+kff(*kBB6Vfa~;%492TC!d-rH{Im85sa@D+4-57 z*8U82kKDNQ-;jXeSi$@-!@YK<`f8MaUlnjZU>k3uk8C;7`b#HW zj#{7QO;sladS1Y0|J`>K0=FAWvA(3KHt}>@?3Mjd%y0uGZdeaLhhy^5HSYUaV?F5; zdg4}Q8R=3+AJ$?vFCc%)i>Ml09LF(|Q~jlT&u zu^B+*d(GDuNb4RqnyPZ6282*D9_)~nk5X#Yy@UuqRENVotm^pGe6@SEn`sQ1ua$RZ zWL8Kwm19?U4 zKdiy~x>|JYUyyeO|F@yoqD@&o-QbBgL5uRNxxb~+-z>%KS5u*$&Oart+f~vjr!837 zu|}z1VnsdET6tot;wjd*e&DHfV&#+m;Sc1AzEC#*`;Xam3{@U2eDl8*uozT%zGwaudurO9 zfkC`27!O!GE0*3?FX5E1@bANPrff==fz9V zTI9m}G~2T?|7O~u;U$}>bvLG6!*;Ae9eWyh%RjCndZS-fmB#%~`nu_Up3V>Eeg*+i z=7*vdjKQeR#WDF5YsxnZ)5t%*!TUmi=e-_v`qP9yTK#HzLVx;^GN+?mC6+;KkcAOg zvw}CdUfvtixX?*`Cp6y4;F$d%a~`rYqfko)W6MsK_)9Bl?d-}2Xx}H*I|i3h9z_M~ zrpA^{6ZyaN5ddr50W763O@Lb7hj)NCc_N*SloD@4PXSydt|DGA0;fQoS{xEUhuNDNAFtM+a4N9 zC_G&L0A97EaCmVC7z)77lP*q4Pdkj+?T7^i^$x#N?sBV)Z*q14N3y`e5gQ)xkXn|! zlS$Jozf10z(RVD>Z^pC>w`&@hvc6H=u+Q|cev{GQx;#~jFB-@dy#qM3-O}kJF20}m z9ABAXYwrN;bM-&yYkYKPxaz2y1+P1yzb|uv-UqY_+&=luX!m`m6HbxKx}v_1rYS(Sno$3nf4DI57|QBP+8jzs}Ex2ziwC zM&!~)vY0ycH+f8>poF}#+k3SbQhl(X`wLpG1*6GK&=;nBFYAGplbxY%tsQl(&4c~Y zY%8jb=A~X_FX=wdoS%fc3VjdWzTURxjl}qbP?e__hwg^v8mB~>Z0J_cY9caQG?#eG@7d~E0~PE4Mg_^jSui!c!$l=i|{!ugj#BVi2f@J;?CS_j~UH8~W&Bruu-o$$;f?@8W z;4x=Jxl^_Ofr@$yCL)h{TDS8~gV=08a5q99dcR98Yi-w?m?W!5NQ9%qof1 z&Onhr*LaX&55EcZ56D#9><{8sln?9he*?25mLFRy|YKymoC;^Pax-tu!|?ggrPQB^+H&8}5u3%#f#0 zQ>wa(%H{5e=693Jc(Iw5A{FP{LV&b9spn!*2Vwj@8V45D#JsfnztqD9RSDl&7!GD#A%BuY zvqCySKeOdRqeeyF=*Qnk?5)Mj*;Hr@W5sh8b(GS}5Q^#^#Wv0o6-aI>Y#>+i%V#Ty zou}6yK=mq&EPG9Eg6HUjO)GkW7Yh+oiD?_KmN0j@g0ap_bHXQ{4`PyDl74G>2lcK4 zHC`q^Yjb>xCyjc&hG`vM7Y1jR<)Mf-;g>sb+0Ckm^91DPRMktz&x`WV04hUk&9-c8 zFxz;_zA=2l`DPcqcd^+0%Ktj-fFHOP^_sB2f(o)0xwnS3lHh1dOxCG2siS}u3%jrT zYig7?bH&r4Sml?xO}vCq+`Zb5_gl=O4iN z?T?7+{#3iAmoV&6fGf~+%}MAy>fU)toE)l=chZ+P(Dthu{vLhl&Gt*e)}-X;3yj+K z5pOXVCEB6M>zZEw_M`q^qnJQ=yZY>(n(%!mSj&fl;3uSGt!>Gh#+=79dCn>Gxy%m> zxZF1zV>zfIAFj_4>oUdZpG#r?o~&T{Z~XKr=PO@GbS< z+AFtK;?pYVasE*LbKU!7$?MmqR^i;$g(e&NkaqF6S!Mf{j`O|jGxEbg2KU;c1rfZ? zUH+5a?{lv7(ibS1Ml_{^T#yOCS}|~u-(!+_X*|L2u@9Lk1BdVL)Cij|Hs56vLmRhT zx9HOe?LsOlKTzI7xO?n;;ry0`>T*r+)EcyCVawi-csq2@wTgHVKB0QEP0n^Y1(wBG zfK5(c11~eMR~7CkNB3o)uwWl`F|t%$TGY9K?dA3rIs~zRt91Q$rY}ptpWKA)ce_2j z2}-D+zrr^9gTP&2f zOyl!mzQ`RQG-cla_niTHx6WqI zwgUR?@Ts)q+8Vrk3shL3>fTUYCs62R>tu8K;9n-OuAc8Xk~o3wHT0*W`urRmX8fKy z;Wy2SO!ro{;pQ-IY9eFmTJHdY@Gn4RM8ezdlc7m+oc=p;R!qm$&kYj%hQ-s~ux9NE zYyGWGv+{Y7b?vxluZ3;pmXEdvp)e?eD{6}hcjOIZ3}1W!lrE!?Nig#q&%Mn!yV)jP zw@MA52^<2)nueDMmuP%}cpV$&TbE7`PQz*5xv5^)y>rtA^M5GWGh@rCsI;PK6v`$ z1kFQ9Zymu{-%9_0k)MRKS?d;#TxX{>4m;*8txr3gQ_RU&-qqPBq2J-{2xK>60AHQ^ z-Bc>LBFe{fuRk=~#hxkYUO%;oyzj&0Yi|@q(#g7uFNzOP6QeS;ypR>_c;BFgCsBpu z+fekW{k<+<5#1ZJZ6iq2hCe9s7Sx#cHx9AGSCmL;@z2#*KdN)g&)0D1v5d;^+8~wR zUv~NWncvk9vr$s->MF1(oc&l$LC7c%;s(*Zqf=0H?-rZy5BnrF^Z5+nOpCSdI{gb> zj>(A&3V#_}nC|cnUtP6V+4DPq-PG*|c&l6e3R`*6+ZTl~MDbGBG zMsd0r`v<4hf6lwj8&CVm{Nwx$cAx(z)xi(#+q|8lgn@**{9O<{m(IRoA|x8{wqvse zT>lXexx?S138{3^43wt3UjG6Jug`>2SjZ0T5sB=o*U`8>=EM$q z9v}kFp9PVsRChOt>>LM8-G(EO|FdB?H#M7>M0TY;^n+{0x7aZSH_ej9EbWz z@q-rg86|4-F+o50JU6zG_8qBr0P3Q-y87AXe0Zm!LQ%q6jrF32{&Mk&^+jm~QGAq* zj?c-gjNj8!iDb(J<9_}sDJ9dr$vu7U?`AtS~$& zud4kLT)UJMd8jXm*3f`TUl|b~k|0v->x{6)q4)M5YND=&rDzjfZVN1ppig}^G|GM+ zY3KTJ#Yt#R7a<#v`#lMrCdJb=MZ1rv_f409bd@4E!1<>X1*^c@N~Kkqkg8mnVmZU1 zuOoGG|LkRzwbd!fE%-38@aSM+o2L)}hba_<25g|BIcww7a&G7ne+Zn#$VjP3wE z+SoB~29O7+4Y1q&oBIynH1%J{CY;S_YKX-8t@<7`x=-e;MyLL)WK8HeiILwOz(-g1 zAQ-vvu|%Hl+*Mu2@7oSE+KRQbtz**l+?6tRmvd%XuR&hdr>!u-IqVN5?vMlHbAv08 zfyg7tnC<`z3Y$p31Z6ieQ0nD_Y7h9U5NNbTHB3w9fyDyjbnO!FNwMsD_X;@IVG1Gh zU@W3~2>t=IapFmYJqtJ~!uS*`WSFkNe05jT0|QbJg^NN;%;N zc_SGkDc8}*Md|F2>$jg8r$cyAitHKJaeCKJ2eFn&vkz2K4M`Uj-EJAzGi1Ptzs8a8 zmm^M!mhi=WcrPl*kKsY3*MyxTSl`1sZ~!Dg(e%XjdM0uKgNg%V4D}uZm-W%{PGa$E zyGjyoEqY|zjk|_Da3Vo2UM`ZtH73~Wh7b$tvcWlwbcguY;(QD!r47m?l+YOqEu7!_ zmos3izF%5}150pe_AvvU077r!e`wCU1K^d#0QId&o4Fk4GroJ`a%r^b{q3z~G2ARK zN-6RnMo=FS&c{>26%}gFfb0zJibT{C{*lwUyQkXg_?CPlhg4X^fb>HhpQ& zM93RIYj;LprNXv36gWnc9Y=#Vd0INMQ!jd6#th&`t*sNX=!&SkGKYP3JY;O94Du@{ zJW?wN#?ufgBAHL5hEcN=3`(SGZ57a>p6>jrFdKWR)oy|DQN|Nmj)ktg;#}DQB08Ll z?C$SdF5cHUYO!zx|7DDAY8!XQ6)SYXcp%Dr?RXpRR8|(-rA*>?0HLbO>3c=Yl+dLQ zUd;{Q%{d-`Z_m^f8lx2&FEj7G zde!~q4sbCG`iWzlJisaQeQfrPY%4e0 z3jI)At42T&`t5R~j|knKS@%BHH){OHRJW}D|MV@~Bf91;$3DjO9d*B*zMKv`E6Rfi zeYO2;1%Hk8WeWDhWIH~GbpdamvG`a)Efn|yOru9yOc z5E%Yp2Owyw9I~-g51)`I?t`Cpejw6G9P|A0^mK}$u9zX$$kqB%jE-==FvE- zeJx<;Zj60s5ueL{1<=1X=`;BWpdTbIwksnF!qwZ8$3GVnVH3ubsI(Ek5$J#7aoP1k zy@X>ZWH>f}hCD;z4p2f9p27CUP=_)`K7{{^8jtt7Ns3+!!+bADQS^b#`Xs?k`QYCg z;7`Mx@_x|Kgb~mp-P+&@Q=wdUMyFAG%RRbj7Fge0vg;ZH{rYT7=KDn216h-%*CIb1 zIh&M>a3q7ZiMpDx?jH1B2`+D+_^6XxkXz)zwCol-X9*}8uK2zf#M&5@d2eP)shB5> z6k1ZulNrI2oQO8SpVp^g)UxB|7NQ_DAkc@XU~(fg@FuhXTF|n6g{Txqw%?$yA1nDX z{CcQ@verV%Hb53ao<*#wQmzdJRZ_Gfz2ZNOMZSyoK z(q_=5Kz+NbxBN(IlP`4QQ2Q2%J(HqVG@3msl`1GPVKRE&MRz0k98`&@&yU+#}GIc3<1LT1^*I z`er&*vlU%ysc_8dIzXiWtZ3rm*O)#Vay>1 z@Cz=K2>vw5RV2;?j6?Chj#Kbm!Wi^3m;#8yX&-AUOfFjoUW{1~|0(a`8>}e%Ie4AF zG++H_Tk*TqsHVBt12E~txIp>Kry+6P^Pig{e;Z}RwL!)WTcZ&+|6)Ff~zqd z0LQrr?+fG3B1Lt(ruWs2MN;?>#ru<;?Rd(KbHekG5t?%~WhWV#TetgU(j7%|(`aqR zn-c;pb=*~b??GQZc!bbD<+xF#m(q`<(gJ%z|L;YAr`USgFlM8Qko!uMRaFJ0+HbwH~zU5PKtfQ^_`l~_i z4lQsXYlx4jj{l0s$-M8C^Jk?NhU=LqZI6+aTrvvJM%IO)nJ<#YRiQ^JY^#+&rWK#2 zFB4CoOvD%PyE%THocNV*AxSu0hX2i~y-P5ZMP=;O>O6Q4FwNUnKc$U1|1d-8Dg`y0 zN^0=a1a{9GU13B!Y*myxSfk<%B*u$GvHZ}k?CZ@2-Ie-cDRnf?NU>h_Z%m@b342-H z-Pm1%J1QF@&ccZwUsg$Lk<4og@zd-prMc6(0zp|j&mCH_>yK-9Yn1c*&w(E2qVGdMmawv zHxArZ6NRYZ<4tg)%NyJs_!KQaXE=pj)Wl;Z~Bpo|%!X zGhexLu$%fRZTT+5zp8vN$T#eWT_Il@q{_+7Rtr{k4g$rnX!+aBHnnD=ruBB zMQc)6wN9@`zkcgwk}l@6t<}SFew}bQ9aRAK2J^?|56V{*Q2kct#~(a@-!(&_tn3wz zh;V^800p(v@PhYI@i}M3QnlNrI&X7Q5U)S5Zqaz>^Sb>QRMN=6rE~EMj^8{<86{|9 zE+->C>I5qMoTW-{40OaXD+7zfWhAu2vnN4NO^ly@#={e(U_w}W6v;dPDaAFP+|UXC zw&F5hZ`}p-vllfQ*|*Wso303{th0QBEa44w%WSEP2|)-o^Aj92Be zwwolhcO^5b47we$154>k@qs9&BRso6Of;Gj-#B!}{0sQF5k7 zPwbpx4aAgX9Z`nuG0-JMYr|l&PrnjpU^GJynn4$~^!azRbooZah_o4{yy_EHHE00~ zcfxknLX6mtL2kX-SQatu}V1c5CtkHoSf&}My zqgil8v{W!pyp+fgSC3>Ydz#0FA?4@Rw{^ktsKL*AqZ~MeMn4*0QIavT zq7i2R4r==%p1o=!pkp0q5mDpXhmL8s>+-u*iEvo z1fXZufEZ)o(<4$=q~0-2LyXV>MmVGcj+F9!sNC4cIG_d<$7(=2b*Gkb{4~`p?acrH zb;n8orvyFCJIcp%KoL4{X{tCBu99ceQ=u8-xS#+j;+Jo)T97H}N*AR7Lh5jRsj9=$ ztQF(yQARN2cc298pODhwhwxRPn}%uIOo}>C1tyJ&wSb>{+rDwTZp z%|FYNft(7IsTn7yN^lv@XacN(kPn-hSmG|3+)ir5k^H{(6|pMC4FCcTInF7|0(Z_T zd=vDg7zBDy1vw$u!H3;7awubERvGu^iDUB+@qj5ToFs&C%>yi~Di7V_q$s!;r(m2N z+|+Y_FWhT|BjYAZ@u@`QJ)4x1SIQXPpQeXc8h!gW6@93Iuqrbd11Le_jb z9Pm3+5x(h$zTxfFmC(1Nl-MvB(@yS3NUJ zxNSK+;(;9Iw!_Zb#%cm(^2hGZD$Ue?Y1D{r#;jbHS5#C2KXXhBXA%SVIH;Lr#|c`} zMupg%;0`J_<}#;%J9nTAgADRuY~q|CxQt_N4QT~no3W5OQ(p`-f_Ta1ff?XS=rc`Z zk+OIgtEE5(98-4X@V=es0*l2wX}@;WtJj@V@2BZJa_A@cdi=~d!DU9vc$Niw0lk}8G$s8JI0Dx(yaT~T0 sERC`GtpkN^!ExHT>t`t}lNyj7sz4~xdxrp01rh|L3kU%b(9k;sklqPRsx+k+X#t{i zrAn7BEo?sD-|lapXaCyWnJ39S=ibcBJ9FwLJt7;EwQc`~Pfr3jh@W4JFk>Dhis1)DP(%)6lbtbFeWp zvw;PLxy7}V^mH|qG}Mf&{hf@=JuTEUoMT-*gF@a%zSnn5%1#JF`iH-V|929+$8>aT zOl)!-9CC0I4HNkP=k4w*fchRD93P(m?+E~(8jpY)@2(HPhPziH9HRd~{hu2iJ^>*S zG0DCAq-3}bO%DM0cmxFagakxHgoL=>A-Hw`AvMuM4pAlIM~3z!PrPWv!jlT_aVpn; zqcxiP%O&pM{q8>LV>)^UMs6NnJ|I6xLQ+avMposys+zinrk1gZshPQjCB)I`rL&7G z6z1dW=O6GUFeu`EWK{HrkBH=y)U@=B%q(PKQE^FWS$Rce!{^4P=9bpBFFn0|{R4wT z!z1YFnOV$_pL6rSSJ&1zHn;w4?;IVUoSvOu{JXsR4;LPQ;D5pT-^l(SxTtZs@CgYC z2uc3Kg@+%2`w&nQ5^;zUKU6X#vG;oPL@fLsjdD^!{kQv^;zoaI9lWPVA9I0zb07T& z?SGK{zXSH}{};0V4ebBMH4h*sz{9;f0%`ylu=kp;n9xgm@V9E1)8MP;KSXPXu@zv( zKL;A3zkF-7ZQd?L?o}Cev5SA)EN;02Sec%TSvGBq`Lct|>q^^hw+m!rr^Sf5pz$)t}?n1;;`&t}FF_>ykZ<&Pz3o zCsGGhkn3{Rkrwg9L`KQ>l6t0v5wx4VMV`faHr@Bx6Uf5&RS1{$d88H9qj>L(r+RL8^mUf2{|^pwV&`)dh}CG8?}>-6(GF3@#@FiYl5zc@aVf5V z{KX4-x97=R$!3Sk6+?4l0wcED2JJ2gJMy_J=$;sJ-)FtK8#m@_*GbdIzV`XC)SM3#4MMhGg+gUgY2AXa{u|KZ7Pa z+u|kI^Nh{x&;m#W`=+NogEEv-*zH^T92Q1AKHD`Q#vjF|Yo zvg3WT8^2WSYAh^+&}AdjcTLMSihph1cbj=<&`+A9aE=#ElxI<^SE_2u-|_$9A;)GYr=7V zcr_y>=d=RfJ%P7kACg6Bz^T_Qx{j=RnjMd~nhq5|j!&cDNMM81Q)KJLC37fbRi@@6 zRfKc-L;Lk7XPsM;Sf)L+{QA|nyl&J_DvSa-9ZZKNY=hEXGuA)zh0IR-HYLq&c&I;9 zb>Z%fngGo123J!@)OV|x5M!!DV)PRo%llP}gvJy^>()<@MHRN7^FrPoeF(ZS%`OT= zk=D;ay<4*~S1gScwH{#>sfq4;7}a3P5@5#C`B@zQ4b9|Z&iAd%cBUVG-xC4Lrl|o+ zI}n|E{9$vGCcqT@=9mzHoGDMbi*_+L+kNYhfeJf|z>%aun&~Xc;2G*gfs{xOdDwHG zj<=1~gkOL8ReL@X+65`ZLB^H1+^d(~5Ko`9B=&^o%r+dv>%(;3Hn5$;tf)_Py7#8J zS07(UC?f6vku-)HR2nSuf7a2$FzE`usExXObCxQF-R+P#zZUf^+Wr@kyA}G^YK35G zF3T!^c)!WcQkm8gflvk3l>Qo})$Nzyks5JpW7J(ir@)7P81O6Q_K~-$vI;fEU^-k{nS=QtC^H| z2YAr0V1>8kf|55$GiA}0J%8jG@RawT6|M8V`o=shs5RLG;nXnWPdYP3U|3`xZ3V$n zH~$Ci6s3?^hBXOJt`ix~CXH6Pi^^X|T3p)*A;K}80fk25vt51Lpa8srK!#nbdA~wc z(k`+6<@!PuuF9%0-})L(!=I$Z+KfTQUPjatO+5SuiXS#)@${rfuB$GM6$`$a@}g7f zcpP@OyW>V>t)?V+--#|MeM{wnM#NQMY{gXp>Z$PCig$7+-M-4d6HA3zy*w z4b1dwjS=MV1j?czZ|_2MGm2yD5=q< zm=a{sAFLyx#R)u0s$b_Od(~-5i1l_>lr5F^+z8aUk*+f*nC5z(Nu@1xNo;TtRjxGX zpVLbGcUeR=SK{kI_ldxmiwqkf}pyTjk>)DzdbZc1VLvEi-LG{GbNJHU&z zSzUE+FM76p3=@{xWvAF*|V4vyVJGU#c`qv>Go>^Sn4hBI)7*8)CoX!5 zR)>g3CzH3Td}5AJ!%I_}@ZmS_@NVn+eC;Tnukg>_+6UO4{t=LLoM}J$&?bPYEXLM6;K&3C*~lO6dy)h&V+w90G8F#kav3Yh>W#U%s0OhdV9)# zMms@LHSdJA`MPvtZOWq}<)x`NMql-ue87#@bcVDg8POh$Y4@h^&d|+TU-}^-#*eo( z7<&oS5g(Yl9U=XY6zgC7%eOj5*O+ay;0}-uBhqvSIha|hlZ#N5DEj}hdprAxRUgF_ zHRri${!E|NUpOmpclmSS+tOe}`>Q(uU%BIR@vl#AS5GBu{#}_>EIdh*r*Iz6#W%?-(MUaDG6{-fGed6LmEKU5CWJIBWt-POC#gez zM##u{nMy>Oe@;nKCWvbh`W!7^F`p9sWoR1_1YqfGt^AzxeL2le5}}0~e5q2TP`W0r zXucJ#baB$lJHXTdRg?E%r*F&PW1kR#Y>8Yh4kFuTHjb-VLI&7m%XP=q59LJ$yJI45 zxigx@nDiTW0zQ%t&-Jtr0eD^UsJt9{#FlBq!1G#HD=r@P_~e`kAn@TYzbbd)KoR3*AE% zW{q_DxyyQkW<1a(mA#Ji4U9o0=p8ib6I=^Q%gNocE^=r_vrlLWlD0Q5RgTnmW+2Vo%_f|5rrnp-@y6C2T?C5w9@xQw)+820%>xl?doY<6dwIn=-N17&?lHl)A6;P zaUJ7TXkkCTPOHaecD3X#1Av)1pwd3g{8O6da-d}z<)1MD^861{51UNmHyt73R&qeD z=zQ8tKD?hG)5wGkHZ4AaNuSGUF6qe2edAwV;f71(igy65=z8^M@H+sjvAMKcaW~tM zaQ3$KTt!J;w95B)wF|f3Ox*7P7$0*~*G`agv+~PyEWiCPQXe?21a{v5ag0Pg3*8Ia zEcG!JV&V!iA}IQsHXOJax4>22?`OJsPUq?3{aG!L4dws1i}Q0933AyuKL50OJ<6?a zwe1!X(wF}#98>z`hh376|5$rHY`87S-$f3S_)##GTOL;2Bv(6TnsjXzn<{czOp`T1 zBU-`tqA>zRrr*#0AoiB83~xR;j2=4ldM2}^A0VGF)-U6eL)qk_TQ8MN-R{cb7PO)p zwfI^}s-l#WRZwzO)wl(4h1uv(zGo&nU))cEZd7|UHakuWmK_LnbFpB1!a5tfL{&oW z8W+tvOGeuK)x9!4Xstw3#j^gaG+7^=;Z9#cUnvU7zkk}~x%%P6(z($$dLs9c@5_8u z#n+mJ_rY+6I{++&;VJM)JxXc7$I?&YkBSer4clbBS(dk%mC&iY1WkUD!)P+^#MHGf zaz^_^y*&k;_;BLM@cWN?M56WwGiy)EmdYVUgGgc>8v{ENeGZuG`tMNwK@^>UR zCVTrB^;u3*^^p~VLa|w#h+ug+8Re95fS=! zy5o~P5RdSOw@!lxFLd9ONWL}p8u^^zwfr`Dd!qDdVdc;rpu@AGFp(8WMN2V!J9^8n zgsy~nXTDk*cGx1FI%U zIjulVjGfZD>U2=qq9pawn7zsOE4a2zp5&BPYEd4*W;$U437vUzLpVf@9HQ=vOwF_c7k)OG*}cbO7ZFp8;t_9NYI)0 zLHFkVUbA=iQoj?Zd{byYAQ0X(oU71;=2~}5Q5Wn*4x|jSNqZS|z$Itd^Ryz1d zqwrGHTK0<3B7R%xv}~o$t&Iu>(`2-gp}6iH5a4Yq45GDq3du4$#PbgyF3)jisq`Sw z=gEs`^yzYa|j87pt@lqC^t1=gY*Nx_#Zuq#D6HG|Up|+sx+$ zI){ca_Z`tc;*?S)K)a{Z}Hzu0Q_&k_MU#>%o}*k&OuH-9dFp4K~m zp`|;(V6|FB(aYf**y5HX)TC%UieAdSy9b)|(ojW9o9p?{6lBJ$qpKD)zp?aNjhmtFm0y33 zbwX=pFH%p_g4M>JtFlu+b;@`q`VaXw$am;hnh|)JmX00$&Ic2N7l^t)cu;=|OJC4w zZ5^LTrQFz+BiPj&rCPQBH&q@Z4tb%tSIu-%x!@7uU7LUs%}O|u+A>UrcdXm~ zdCP@+Pa%O=+cPa_*Xu#aH3_S+P?`J*;fq#WgT*5?^V=6xn8;)W@3NE1mn)c*?rnU6kA~=-V z(#KBaU2n$Q)yq*DejTI@a#g3Wd~%>NbF^>9-oD%Rp=?~p2%5{uj5Q5WhHOWfvx!p@ z8N_So6cmSwPtXP!%m^Mx@@q&6H<3CuekWO6PeH~y`9MB7k^IACLf8&bPV1IAcw9l# z8eEvlM)oal^dq`T^d?!BVz7Y^Bw}O`rlY>CE>0i}Eei_~P+uoGn2w(~m~Lm#Y`C|I z{ED1TEn^c@vjn%P{*1lxExmF?xq8|jgr@%6jP=t;$JDib%379QZ4@C?yh1niz6a^4nreXLd2BP-@qJ?86DR=2HuQTi=_)J;wu{c#L4u?V6>KWo8PdF>Zua#|~-R zqz2wdEZkGG8`CKAgOdFjylF=SEf3s;WFsV4zE2k8{OQv>Kzqz6%M~W6y#*nrBZmpL zQ5VP=#8j^GOZ~kCPW|WfoYS{%y#}>lA%j;2qNzqximZ9_<*?r`9>h(~9?jREjfOK2 zpg*TfRxx9XND}L7ygPo)KIqqAPgF0_lxxuP;nnLY7%YRdwimSiOxBJ{Q_p$_?=&4= zKhkGln9y=j(Mg&bZVIpZI}+V#43PRu^>yY*xrp9@sBC-=e?o5j(lZbImwZiLAk!6BGq$g5>RB@F48Q^f1l7q#q%N(pNlKV)11ORe+Wd*8nbF+v<82YRW8iX89d})EFJcatseXEiBqZ0M2wA+H79vOKwm6t*FV*5&mtRwtf41!dv$xXBibO zuy{m=HnrkU@HFesTE2x!gDe;uBJvq)lQoE+hE;}AuNR>z{VNvH)*8QA`QkMm3v5<9 z$Fxq5dQ%6gv;gY4cW7glRR~$y{yU-_{c;PL+aZj%Ef8w@cId=%;K2SyEu1TF#dG`% z=5Hly3e`xVCn@;vP@@grXok=1@C~#L=Uk;CYeA;n^7j9PJcYvq1$E8ex(KnwxM=}u(nuB+M z$_Tkd-f#@sY4bAh9;4j^2;L$`lL8u8P?(@aH8@^VG zYn3~I7qr{e@rF!E4ZA&v&TfkSn}cqp6wkZd1j-#+^h-fcL3US+gy8S=cL4LNsZJ^r zaIQ$iwswRL5fAtvZ#-e?N`id?6b%AAV!JkZU)IS3qyT{S_j4vu2xASXwPW~cvGX9r zT__~T@b#lNMQ@7izyT;8AmDKk$j%S}uttb08Y{kKCUVoA%{&*go$6mwKnH}`oqQ{X9>q(leR54i(Iw9z$QLnTYc29bqRm&N%FAg?5(0J1 z%69-?<9qrC2ytXA(%gZj67Cyng8q2he^WjNLJHy2uVGiQCQ;INfGs4}2ZSs2z`+V<{hMHGe$y46)0v0n}YY!I}K5;2Q3?Y`S zY`nV`yc=?76~Df`Nhq&`UE{TacJ(i}uF!FkKd^z=Cdl%&zk10F#LL9jfz`HR)c2H)`99v?#wCylr4oLP8;FaONIop8KCp0PGX6DjkPhB$%l z<`mZvH=*RMj;ns5H{<<@1I|J4li6#|P8PGI|NFR%26rp#MH_{#R_ zSuFp^)ROsw6{nv1MZ0#u7h%Mn-T zi1(b#v-Ez>7f~hsQ7dYw1UYkw-`oEEVpkGwbi6Xv8*S@jFxzXbtEuxe`JE`&F@Z$e zYvn8SZGk*2jC_fNrk#eoqr7NWmuJu|)N03vuQYsp2(e&8fUR-y{h(h-79bgoUN!V-e zy&*U$bAJ3pPz`2Zyv#a!Io;jhaR->Y*`7o6zd}2s;#hZQ!Ls1`gJ)kteJvvq*%f4_ z6MKQUXI~7@&d0YQeXPZh2Fe2EM!S%Nw?|$JFY6OqGY{e%&`%;SG)d%Zi_VSi-Z@cAHCegRR}r{-0mr z4b>>4Mc3hrs_r@5Gn$w;Vo?BJUTN7Gk1PpwJ%c6SUhFw7urz{J9x>Cr!!3R zt}m-(OpQv*$d!zW_??%|3xy`ynNQZ_!KVcrCH{uNMV)O2u9Yjfv?cL*PC<6t7OWgG zTXDO-SN_$v&cb4otlp)K!3@U!NyFeEM_~qumq|WD<(qi*h=Hy0$`b+F`(?ySTEiIR zgRNzx!%}*q+FZa>_%dy?t`Ek217`SXtlwAS(c+1lfNq$a@ih4kl~(K|)s|80hhn7L z$BslD?J;xgSRfM>aH++s%9uU%?Gh|C-P@}I!6T&+Ht>2VJCQnRvTjyI4_$6-V6 zTL<~IiMyvSI5zJeEeGN-A*=havK`60sZG%lIfPIKOvv*udVg>3(aaJ16j-Uu)Df}y zAhb#D^$^JzrxYf|H49{6ZqAfZRst*?2&cnO{UO&PVh3|`eU9GeB07K(81*ceRz7zt zPEW7IXXgrdlFd_<@C8sEoq;lH?TUYN!WzO~^L0hGI`_j(MO>x!?amhFa)Z~&g=P&m zM89Kwb5QM!G0t-{o7h{>jt_i7#bViaI?z8veqZ{JB;g#H@(=LI_fTISq2GJ! zP^L2MWwDeXjyBJ=fsb)!cnN$$^m6KZd%|1;?n;AgrCAdwL!6R^{dKbq_yYdg=rhTv{sCYS2x(UO{K<871|V9T&~xZVCACva!qk`BSGu z;7vtOfA?0A(fK4>JuVj}nK8!NI8g_mR?GkCbupjd4mcNM*&-!xJG6K>0rC+GeE(~; z2BOcoF5&4e#?t8YHbRT z6pk0zC;%g%t`>Pk9e3U=ISy?{z$5;)|0_uIMzbj@cw=lb=O?`hff#Z5El zw6>bQtrFZyD{wy;E>_?c*OsuGwNYFycGe%;g@HF|Bh*+QGm zodUnlredK*@*MUgjf3HIOp{AY$h)-gSu`x05$G@Qj3$fiOOtQ;LMj_%OUQVGV%I9j z_mg|7OY3S*v&_!U0ZvNm+*Yjemwe~ol=9(6ZKsyGD0>vza$=|>2-$#1p9FY#DCa4e zoUypBe{(rzUweIcT0P`m*`YiMDA>%E_InlLOqb86Hp!zDUoH=@l3G zo?LlN2~+#q>$uU%a6t<>XX9b=aIl9$UxTL()IykO$($+bFpKx z;@?U=3MehmT=D+w%w~jH$?GndmNGVu>gU!=2`Fp8kLiLXCU~cLAASKkdYJcmwy3#d zj<$bwAEsLtnQ+S_o`nk~e40(P)e2{f%*|Dn)BHk7-{3Q{MlU2S93 zAw%TjgV!Oj5=;?M#~72q!zLe9+kff(*kBB6Vfa~;%492TC!d-rH{Im85sa@D+4-57 z*8U82kKDNQ-;jXeSi$@-!@YK<`f8MaUlnjZU>k3uk8C;7`b#HW zj#{7QO;sladS1Y0|J`>K0=FAWvA(3KHt}>@?3Mjd%y0uGZdeaLhhy^5HSYUaV?F5; zdg4}Q8R=3+AJ$?vFCc%)i>Ml09LF(|Q~jlT&u zu^B+*d(GDuNb4RqnyPZ6282*D9_)~nk5X#Yy@UuqRENVotm^pGe6@SEn`sQ1ua$RZ zWL8Kwm19?U4 zKdiy~x>|JYUyyeO|F@yoqD@&o-QbBgL5uRNxxb~+-z>%KS5u*$&Oart+f~vjr!837 zu|}z1VnsdET6tot;wjd*e&DHfV&#+m;Sc1AzEC#*`;Xam3{@U2eDl8*uozT%zGwaudurO9 zfkC`27!O!GE0*3?FX5E1@bANPrff==fz9V zTI9m}G~2T?|7O~u;U$}>bvLG6!*;Ae9eWyh%RjCndZS-fmB#%~`nu_Up3V>Eeg*+i z=7*vdjKQeR#WDF5YsxnZ)5t%*!TUmi=e-_v`qP9yTK#HzLVx;^GN+?mC6+;KkcAOg zvw}CdUfvtixX?*`Cp6y4;F$d%a~`rYqfko)W6MsK_)9Bl?d-}2Xx}H*I|i3h9z_M~ zrpA^{6ZyaN5ddr50W763O@Lb7hj)NCc_N*SloD@4PXSydt|DGA0;fQoS{xEUhuNDNAFtM+a4N9 zC_G&L0A97EaCmVC7z)77lP*q4Pdkj+?T7^i^$x#N?sBV)Z*q14N3y`e5gQ)xkXn|! zlS$Jozf10z(RVD>Z^pC>w`&@hvc6H=u+Q|cev{GQx;#~jFB-@dy#qM3-O}kJF20}m z9ABAXYwrN;bM-&yYkYKPxaz2y1+P1yzb|uv-UqY_+&=luX!m`m6HbxKx}v_1rYS(Sno$3nf4DI57|QBP+8jzs}Ex2ziwC zM&!~)vY0ycH+f8>poF}#+k3SbQhl(X`wLpG1*6GK&=;nBFYAGplbxY%tsQl(&4c~Y zY%8jb=A~X_FX=wdoS%fc3VjdWzTURxjl}qbP?e__hwg^v8mB~>Z0J_cY9caQG?#eG@7d~E0~PE4Mg_^jSui!c!$l=i|{!ugj#BVi2f@J;?CS_j~UH8~W&Bruu-o$$;f?@8W z;4x=Jxl^_Ofr@$yCL)h{TDS8~gV=08a5q99dcR98Yi-w?m?W!5NQ9%qof1 z&Onhr*LaX&55EcZ56D#9><{8sln?9he*?25mLFRy|YKymoC;^Pax-tu!|?ggrPQB^+H&8}5u3%#f#0 zQ>wa(%H{5e=693Jc(Iw5A{FP{LV&b9spn!*2Vwj@8V45D#JsfnztqD9RSDl&7!GD#A%BuY zvqCySKeOdRqeeyF=*Qnk?5)Mj*;Hr@W5sh8b(GS}5Q^#^#Wv0o6-aI>Y#>+i%V#Ty zou}6yK=mq&EPG9Eg6HUjO)GkW7Yh+oiD?_KmN0j@g0ap_bHXQ{4`PyDl74G>2lcK4 zHC`q^Yjb>xCyjc&hG`vM7Y1jR<)Mf-;g>sb+0Ckm^91DPRMktz&x`WV04hUk&9-c8 zFxz;_zA=2l`DPcqcd^+0%Ktj-fFHOP^_sB2f(o)0xwnS3lHh1dOxCG2siS}u3%jrT zYig7?bH&r4Sml?xO}vCq+`Zb5_gl=O4iN z?T?7+{#3iAmoV&6fGf~+%}MAy>fU)toE)l=chZ+P(Dthu{vLhl&Gt*e)}-X;3yj+K z5pOXVCEB6M>zZEw_M`q^qnJQ=yZY>(n(%!mSj&fl;3uSGt!>Gh#+=79dCn>Gxy%m> zxZF1zV>zfIAFj_4>oUdZpG#r?o~&T{Z~XKr=PO@GbS< z+AFtK;?pYVasE*LbKU!7$?MmqR^i;$g(e&NkaqF6S!Mf{j`O|jGxEbg2KU;c1rfZ? zUH+5a?{lv7(ibS1Ml_{^T#yOCS}|~u-(!+_X*|L2u@9Lk1BdVL)Cij|Hs56vLmRhT zx9HOe?LsOlKTzI7xO?n;;ry0`>T*r+)EcyCVawi-csq2@wTgHVKB0QEP0n^Y1(wBG zfK5(c11~eMR~7CkNB3o)uwWl`F|t%$TGY9K?dA3rIs~zRt91Q$rY}ptpWKA)ce_2j z2}-D+zrr^9gTP&2f zOyl!mzQ`RQG-cla_niTHx6WqI zwgUR?@Ts)q+8Vrk3shL3>fTUYCs62R>tu8K;9n-OuAc8Xk~o3wHT0*W`urRmX8fKy z;Wy2SO!ro{;pQ-IY9eFmTJHdY@Gn4RM8ezdlc7m+oc=p;R!qm$&kYj%hQ-s~ux9NE zYyGWGv+{Y7b?vxluZ3;pmXEdvp)e?eD{6}hcjOIZ3}1W!lrE!?Nig#q&%Mn!yV)jP zw@MA52^<2)nueDMmuP%}cpV$&TbE7`PQz*5xv5^)y>rtA^M5GWGh@rCsI;PK6v`$ z1kFQ9Zymu{-%9_0k)MRKS?d;#TxX{>4m;*8txr3gQ_RU&-qqPBq2J-{2xK>60AHQ^ z-Bc>LBFe{fuRk=~#hxkYUO%;oyzj&0Yi|@q(#g7uFNzOP6QeS;ypR>_c;BFgCsBpu z+fekW{k<+<5#1ZJZ6iq2hCe9s7Sx#cHx9AGSCmL;@z2#*KdN)g&)0D1v5d;^+8~wR zUv~NWncvk9vr$s->MF1(oc&l$LC7c%;s(*Zqf=0H?-rZy5BnrF^Z5+nOpCSdI{gb> zj>(A&3V#_}nC|cnUtP6V+4DPq-PG*|c&l6e3R`*6+ZTl~MDbGBG zMsd0r`v<4hf6lwj8&CVm{Nwx$cAx(z)xi(#+q|8lgn@**{9O<{m(IRoA|x8{wqvse zT>lXexx?S138{3^43wt3UjG6Jug`>2SjZ0T5sB=o*U`8>=EM$q z9v}kFp9PVsRChOt>>LM8-G(EO|FdB?H#M7>M0TY;^n+{0x7aZSH_ej9EbWz z@q-rg86|4-F+o50JU6zG_8qBr0P3Q-y87AXe0Zm!LQ%q6jrF32{&Mk&^+jm~QGAq* zj?c-gjNj8!iDb(J<9_}sDJ9dr$vu7U?`AtS~$& zud4kLT)UJMd8jXm*3f`TUl|b~k|0v->x{6)q4)M5YND=&rDzjfZVN1ppig}^G|GM+ zY3KTJ#Yt#R7a<#v`#lMrCdJb=MZ1rv_f409bd@4E!1<>X1*^c@N~Kkqkg8mnVmZU1 zuOoGG|LkRzwbd!fE%-38@aSM+o2L)}hba_<25g|BIcww7a&G7ne+Zn#$VjP3wE z+SoB~29O7+4Y1q&oBIynH1%J{CY;S_YKX-8t@<7`x=-e;MyLL)WK8HeiILwOz(-g1 zAQ-vvu|%Hl+*Mu2@7oSE+KRQbtz**l+?6tRmvd%XuR&hdr>!u-IqVN5?vMlHbAv08 zfyg7tnC<`z3Y$p31Z6ieQ0nD_Y7h9U5NNbTHB3w9fyDyjbnO!FNwMsD_X;@IVG1Gh zU@W3~2>t=IapFmYJqtJ~!uS*`WSFkNe05jT0|QbJg^NN;%;N zc_SGkDc8}*Md|F2>$jg8r$cyAitHKJaeCKJ2eFn&vkz2K4M`Uj-EJAzGi1Ptzs8a8 zmm^M!mhi=WcrPl*kKsY3*MyxTSl`1sZ~!Dg(e%XjdM0uKgNg%V4D}uZm-W%{PGa$E zyGjyoEqY|zjk|_Da3Vo2UM`ZtH73~Wh7b$tvcWlwbcguY;(QD!r47m?l+YOqEu7!_ zmos3izF%5}150pe_AvvU077r!e`wCU1K^d#0QId&o4Fk4GroJ`a%r^b{q3z~G2ARK zN-6RnMo=FS&c{>26%}gFfb0zJibT{C{*lwUyQkXg_?CPlhg4X^fb>HhpQ& zM93RIYj;LprNXv36gWnc9Y=#Vd0INMQ!jd6#th&`t*sNX=!&SkGKYP3JY;O94Du@{ zJW?wN#?ufgBAHL5hEcN=3`(SGZ57a>p6>jrFdKWR)oy|DQN|Nmj)ktg;#}DQB08Ll z?C$SdF5cHUYO!zx|7DDAY8!XQ6)SYXcp%Dr?RXpRR8|(-rA*>?0HLbO>3c=Yl+dLQ zUd;{Q%{d-`Z_m^f8lx2&FEj7G zde!~q4sbCG`iWzlJisaQeQfrPY%4e0 z3jI)At42T&`t5R~j|knKS@%BHH){OHRJW}D|MV@~Bf91;$3DjO9d*B*zMKv`E6Rfi zeYO2;1%Hk8WeWDhWIH~GbpdamvG`a)Efn|yOru9yOc z5E%Yp2Owyw9I~-g51)`I?t`Cpejw6G9P|A0^mK}$u9zX$$kqB%jE-==FvE- zeJx<;Zj60s5ueL{1<=1X=`;BWpdTbIwksnF!qwZ8$3GVnVH3ubsI(Ek5$J#7aoP1k zy@X>ZWH>f}hCD;z4p2f9p27CUP=_)`K7{{^8jtt7Ns3+!!+bADQS^b#`Xs?k`QYCg z;7`Mx@_x|Kgb~mp-P+&@Q=wdUMyFAG%RRbj7Fge0vg;ZH{rYT7=KDn216h-%*CIb1 zIh&M>a3q7ZiMpDx?jH1B2`+D+_^6XxkXz)zwCol-X9*}8uK2zf#M&5@d2eP)shB5> z6k1ZulNrI2oQO8SpVp^g)UxB|7NQ_DAkc@XU~(fg@FuhXTF|n6g{Txqw%?$yA1nDX z{CcQ@verV%Hb53ao<*#wQmzdJRZ_Gfz2ZNOMZSyoK z(q_=5Kz+NbxBN(IlP`4QQ2Q2%J(HqVG@3msl`1GPVKRE&MRz0k98`&@&yU+#}GIc3<1LT1^*I z`er&*vlU%ysc_8dIzXiWtZ3rm*O)#Vay>1 z@Cz=K2>vw5RV2;?j6?Chj#Kbm!Wi^3m;#8yX&-AUOfFjoUW{1~|0(a`8>}e%Ie4AF zG++H_Tk*TqsHVBt12E~txIp>Kry+6P^Pig{e;Z}RwL!)WTcZ&+|6)Ff~zqd z0LQrr?+fG3B1Lt(ruWs2MN;?>#ru<;?Rd(KbHekG5t?%~WhWV#TetgU(j7%|(`aqR zn-c;pb=*~b??GQZc!bbD<+xF#m(q`<(gJ%z|L;YAr`USgFlM8Qko!uMRaFJ0+HbwH~zU5PKtfQ^_`l~_i z4lQsXYlx4jj{l0s$-M8C^Jk?NhU=LqZI6+aTrvvJM%IO)nJ<#YRiQ^JY^#+&rWK#2 zFB4CoOvD%PyE%THocNV*AxSu0hX2i~y-P5ZMP=;O>O6Q4FwNUnKc$U1|1d-8Dg`y0 zN^0=a1a{9GU13B!Y*myxSfk<%B*u$GvHZ}k?CZ@2-Ie-cDRnf?NU>h_Z%m@b342-H z-Pm1%J1QF@&ccZwUsg$Lk<4og@zd-prMc6(0zp|j&mCH_>yK-9Yn1c*&w(E2qVGdMmawv zHxArZ6NRYZ<4tg)%NyJs_!KQaXE=pj)Wl;Z~Bpo|%!X zGhexLu$%fRZTT+5zp8vN$T#eWT_Il@q{_+7Rtr{k4g$rnX!+aBHnnD=ruBB zMQc)6wN9@`zkcgwk}l@6t<}SFew}bQ9aRAK2J^?|56V{*Q2kct#~(a@-!(&_tn3wz zh;V^800p(v@PhYI@i}M3QnlNrI&X7Q5U)S5Zqaz>^Sb>QRMN=6rE~EMj^8{<86{|9 zE+->C>I5qMoTW-{40OaXD+7zfWhAu2vnN4NO^ly@#={e(U_w}W6v;dPDaAFP+|UXC zw&F5hZ`}p-vllfQ*|*Wso303{th0QBEa44w%WSEP2|)-o^Aj92Be zwwolhcO^5b47we$154>k@qs9&BRso6Of;Gj-#B!}{0sQF5k7 zPwbpx4aAgX9Z`nuG0-JMYr|l&PrnjpU^GJynn4$~^!azRbooZah_o4{yy_EHHE00~ zcfxknLX6mtL2kX-SQatu}V1c5CtkHoSf&}My zqgil8v{W!pyp+fgSC3>Ydz#0FA?4@Rw{^ktsKL*AqZ~MeMn4*0QIavT zq7i2R4r==%p1o=!pkp0q5mDpXhmL8s>+-u*iEvo z1fXZufEZ)o(<4$=q~0-2LyXV>MmVGcj+F9!sNC4cIG_d<$7(=2b*Gkb{4~`p?acrH zb;n8orvyFCJIcp%KoL4{X{tCBu99ceQ=u8-xS#+j;+Jo)T97H}N*AR7Lh5jRsj9=$ ztQF(yQARN2cc298pODhwhwxRPn}%uIOo}>C1tyJ&wSb>{+rDwTZp z%|FYNft(7IsTn7yN^lv@XacN(kPn-hSmG|3+)ir5k^H{(6|pMC4FCcTInF7|0(Z_T zd=vDg7zBDy1vw$u!H3;7awubERvGu^iDUB+@qj5ToFs&C%>yi~Di7V_q$s!;r(m2N z+|+Y_FWhT|BjYAZ@u@`QJ)4x1SIQXPpQeXc8h!gW6@93Iuqrbd11Le_jb z9Pm3+5x(h$zTxfFmC(1Nl-MvB(@yS3NUJ zxNSK+;(;9Iw!_Zb#%cm(^2hGZD$Ue?Y1D{r#;jbHS5#C2KXXhBXA%SVIH;Lr#|c`} zMupg%;0`J_<}#;%J9nTAgADRuY~q|CxQt_N4QT~no3W5OQ(p`-f_Ta1ff?XS=rc`Z zk+OIgtEE5(98-4X@V=es0*l2wX}@;WtJj@V@2BZJa_A@cdi=~d!DU9vc$Niw0lk}8G$s8JI0Dx(yaT~T0 sERC`GtpkN^!ExHT>t`td{;Ez_{p;RaFN-gm0Bi*rc^Lo#0s_GF^#Z&+0|X^Cq{X#VH3TSa zELrSbt!ya0I9S;!={>=A&Nh_t3bK?6YSOZlUc8(P%#?1PW{!3qzLdh0{5XdA0u);I;Ob*Y^M<9Aw;&9O5W= z>Sm}^Zup!biTP;M5_P=<8dGO9T;}efZ_x=q5D}AnqNSr}VC3fE<>LnlNJ>e|$jZqp zXliNe=<4YkSXf$F+t}LKgFQUGynTHA!oG$_eES|5m6V*4nwI|KXGTF`QSq;m(z5d3 z^$m?p%`L5MefWOxDhmfz!C^O~LH*DA3pwlj?2Ny_S&3@Y6wI~cOBFF5t>b?lbBZa3 zup+U#$*FgqdK|0nM_vHcp6?+;Y>{q^HE^2fjxYbNnB0S|J`?l-)J+rPT!Rr-a~km- zx~$!Y_k@M*4>VF`3#dF>`E2s!&*QhHY+KJ+^==*snh~F$uFGidM$d6RBHhKa$^Zy; z;JJ^tCP9>%YzT6QCB?S;O^F+V|HcY1^SpVc&omTnIrJI>OAI!Mo@r#lf+A7&_C@+# z?w`i=o;d>K+&?_yQn$ps0ESb$UjR5pT@{4_-C5OE+NhvIR8v&HA+FSvK_b&1y{Kh9 z)xMf;Q-waWd%8+jX?MNnXmYyGxEu@50eLR~sHZ91==?D~jsiPA#eHuQ1MvkAp!?(0 zeDgwu@iRx)AUs)zc49wgJ;)tnU|jn-sMxmoI>X!|?!<; z3yW3fS1$lv6OXYnatX_w%^UnKuqi8NxqwcZlF{_3x8iG$$Qut2_yAr2kl0tdNsFVQ z6a(oN@!03HSapUkfb+IZGS!j%JEmc>GNLw+^bVVlP87!%#0+DIZ1Y|BIfn z63kd|noqKtne?J}QO&4>-4sGL&vfmXK=Wy=XR409HNH3%z)lP_qmhQi1=mS5s1^ii zWRMYjlhU3Ih3lW6OIw|zK_rl~$iUCL0&LNNf}{Zx{*+mGH*&8HUWR7^F`Ve;i)5_h z!zPda9#kM^wP(Y-KL`cX3&i@zY+}{*4nKo5SKxZ*2Prfe8^r(Yute{6T|d|sf6cpo z9NqwEYUo`4z3|)qM$}mFL8v{aw=h8V+<0eQYW<_$kMq_ls-8_~f!}uZ!L#uB2RKcw z;o4o2c(FWXj8S9dyLO^=+0hx%e1aXF=1;6|k6K+pdkrE}!13n_#^?*v+!UDTWUczH zU&^n?T#b^*D|xy z^;#g$$c05F3$lX~+|dq$`Z~Y$62@CY)5S8d)>XAt)k_{gA`zfNvUANQ(%i2n#1!gEQUIrGg97(6VwThdW1AMSE360LZaLLWa#^A9G9Yt69L6a!K+Ps8CvrARF||n8&hnnc z3@tMnb`u_#CA(_cFD=0-z)Mo~LYI_lHTvZxtmoSDuB)tJiUDZkccUh{FW)7 z=KhMQA3O>V#y{kc23XyNo^H<^)4t_>%Ll8<8MdD5z{m{Da@s#+*g%D6BgzeTjN+$}NZt^sC zpJ%FnW01L&kl(@^C%eIwII7^pn?R_+IY6pik=@C$cXlp*#_z=Y1XolTqAC69{aIO(eb5>)v2exsoOSae1WWvI}ORz_4w zNmkmy-9gx>7HOzerK$gb4xp<&ib``}WAv?BA&RXF8}fx-mGpc-D!76Q*IiemNh=tY zXu-y+*(WW&1}pNqeugt>6Q~Dlr29+?ODm!e3?!0^Q77>eJ$pQsk{d5EmQW(hhAe9P zvqB_dV7XVWfAY^oMMPqgzyex=G%rT(sx+ju)gCfBLeDZM9N5FykDg_ zQpa>KS^n^+#v$EY#K`ni)Svp`IVjc6M`h=IAki7h=6Fvp1;gwAr6WQjebG;_%+6my zqWL9Pzuq$-@X8XFH_4=Gy*=|qn)uh1pi2~GV_G^m>kXOS!wv(*$ijP9vN?$>p)li` z_*0Aav+PO+TB``P0Slnnx645{9OkXmxBGc9xdvr}8>V}Pt2v*<5!222DNGveXqUT8 zKNXv3-J&iWX`SwxVQb&ZgZTd$xa&LB#V!zAj%RnrnlV+4#dp>vY+|BqQWS$MKccu} zO;=TQxD?CNtHq(2twQ-rolf>LxV~T1wFuo_Kc|*()~?En>r1#N>qHM*h-|%jkF~rh`;UqpwH+i=vh0Zj)aLtKX8idS8LfaHw)s4psSp41=aH3 zArdXGjfNA@O|@P1y6FxDM^lpG6^x*}_>lJiXnT3Ok=r?|tAdBSdpa)3AXr~^28pV1 zlG0fYC7!Ae6)1gO5&56B*Y(y7P5Nk?QjJxOJShy$zq4%{&b#&u31IurE%G>Ii#*xX zw=KW1EZtw9+jz?uwJ+b`Pe3qw7c?~gp$w=yU|@tT@HBIGQ(dLU8CrxbBaY8wA$97D zyz#&`cppiF2*&d~NH=f-C5Mb?Hn5Ho-9gC-E)@H|XyBh?bkqi2To5 z<@}RiMJ36`n4qX9MzN&24(E0_OMoyo-%ig9Kw%M;s?;Y^XaeO)*lFXQ#KD!-AYp!r z0ECQydRA%#)sFG&*(hYYo8bltO%M(#JstT#o(1Sra!)dY{C$J2==a~8;HLy~2lt;Z zkOQ;7oe{W<%x{8-D}#uCy#U^?W8E+*48q6hX&~#dhL`vc2*UWevG~CT45B2WBme^j zE?KD9J89Z42l3ptT0-B8CqK}YUEu@9k5U^NlD6i4P)^Pb={;ciU4HR$qIy(w=v0~8 zYDs?99}gf%6{mEI6Y!|c92A)P-4S6XBr`vo-lFC%cQxF6PXIHBsJ8<9vJ67LRZIP@ zGq?7{SpSCc77@;vGE1=XDVM3j8R@ilxXQS8Hx6x|NvMro&^6CP*nT~0F~H^@hIN}Q z4@qQw)b9@BDs0qU>KL#|w(|vRCfCvC+WD|8wdreCIFrf(88Z?cxX4t493<3DwM zdCwx(GHrcwacQ*UqrIxiGwtxXZDxnnEp_PaZM7+{Ue+1oSuP?W)3z+AN@28OGLLWw z%jGmGbX_Ka-I{;j_gQPg;C}f+44>YMS(TW&k#0F+gC1)OMi37Aq&|9|&fkpG`OfQN zkQ_&zu1YFdU|`n@GBIDKOqU)SMogZ{Q-AW+MY16#D^Oc4m+Q7c2fu8|*xp`Ggo-J_ zSCr#GeNsG5;-^!mUYvaSnH(;2UC#+b!EXY{;iLqIC1;c>;KbJaom5XwJ()Glkcq*C zh4PnGiO360tDsWn*mt(zr0HsmsmM-O(R@z~4F(JYueqNpHDhXOS3h?o31+MC<@R%p zu!!k>7rY!H{dTuNClFgWi;-;Hl!?6iFRUh1DOB|Lzm?U5uh6S%bUHjr-QBtice;z2*Ro*7uCMmRW2!tc$6_$)X6%I zHQh6Vy(94;>MF2ql=J!Gdg`nv_ve3#_8sx`Z)CyR+|3CqUH1VkZ9q>R-1SO>Xcg@x z3NKV}h9e*QkO2eKDdsVm{9B?%TEw5fU5ht{Q%e!M2(j83;P;ivILlmdq9l&#t~_Po zICJ9nzU6$n3TMO4A-`Kd$37?8XjhiJPV%lMLm<7K2>7A-Vy&(_xIN|p24`YAp>MKt z%;gSC8qV7*$=N0Br6g^$5rrM8Z8K#nafv%%h<~~`>t+C^5&t_<b}O`CB-=nE2B7(fb*Cn(Y|8C z?5UrU;dKA7j`Y(7im-@O+4huNj7-^wYx1B`errS2=(}mWsN+mA=g-8zS*`v-!90zw z%I>E;YB#hYqZ%ZOZYAw;Cs_-!L9v5Su8cjJG|ERR?@OXIPTaSUZcWW$kFQBX>>~h- zw;#J9o$jibNnWet*}ptF))>e4oDcccj}9FIr*GB`u?=uP(d;}4F1%^}+7^-~T$el6 zz|6)1n*F*LMK>`*Ow}Noj?P>=x#uf;BfT6x( z!b~9!;r?1Nkc;#7I^#IOh5%F!~z6Oq8QX7keG=21sHIVo!5DfwZC<07(psnj-^) zjc5&0CVz<X}+7%6w)O6qJAB34&KV2h!l>!C!tSkZ6xgJC-DeuP9Jd&=vwQF;Dn5 z8_+=I*NQ|Yq=jM#1sgGSlK|P=9r`D?bSP z9?^2u!i?x3Zdjx{9Mns{nqviCgj3LG_Uo`>%BDA8&;%)@tBoCcRaWY9$hDHmCxujB9FQBzLUY87`4gli~no{6Mh$FsxzwzFVR;u(j#cD*!FXuBtwv-3glE(uUKobbu_L|A+^%iWURx)ur(P z|G9OrqB^9V3iZ=u;`B!uvH3q?awRcQZ?i@2PM?<;@TGH?<${c?F#RkJ;74Q5%Uf}l z$$$JSlkV4sK$C(weh&+@bhu@-X;8VvbGqn8V~K4Jo`VP~v;jJV7Gm=2$>Hs68M+O^ ze0M^wAIX0VE!h7bG{$?6be;}oIwPyc} zOb%rOcH75f4qTs2c&kYFll}6nMDb{>CGIh);*MFXP`rJXM|Qyv@ilVf-Fg)bo?&4> zOu^|wA$M$lax8`Exl^jpQI-Y4m1;rs$@(~XJwa@7;rISHnf5Ty)Ur{e87fh-Ez2|a zO@>TgBoX~FDZzw^kunl=-2BHWsESNfLmu_tf?e-@dZI}xhLq8lr%93@UfJ6YZ!M9K zGsJUmVh!Wu3He_De)rbY|0rC}%Xu$)shBFtFouB-=na>>NR-@>3E*6%sCDg+tNm%l z(ed89d2zbdt4ovavM&IG`s+1$%I}6!o1;{_t^3_iev_TE(YWRsMVRm6f*1!9Zxw(E zhS@`{<+{r50|&*@|EN}+68}_?wq74Inxnrzt!R&X3oFTcZZw!zI?HPkU@H^L6b62T?2g*Zde>xSRqvW+hx#xvaS>mXU{; z5a}yy6)7=ljAjjlk~iqdu`NU;#te+V(?}zGdpEx@w$;VT3;sBT(&b)GXUrkk0XMNZ zLg1fM6)sS|?E!dwh(@7Rnl`5FABgemMkhh6eow;m&FWn9&%n{WgIMRgkDH8NTB$mw zSIY@wA#0Pzw>;|sH0|UjLt+D5loY`{eRoCgzPLZr5Am+ab*uh(m2=Yu74M^4NqFOA zWIqO;L&jsE6eT+h>PT`1wE9{JfFXBPM{S}Ab#PW1tWgyY;Q9mL`A_pV4zs39`uIvc zCDe8ksMVav@h(9iFy~i=)aD5~Z|!EX8iZ^7B5jjg?B73SrcQLn+G_L!j=0tbu;wT_ z;w3^>7BBxvR6bHjAwM-EII3Rg_%FQ@rWhS?##>c_7`RjDIeIW%;v3|agb3i6(2298 z#zcTcr5&>^Ndnrx$nVUkYW?_Lm~L4h9u^Ysrfb&qw67&GCTO|oc~!a9!Tvd!#`{F` zr@GOP$@!x!?NM5TzjJ(@23r< zZwLYfBMtacI50rVTEOI^j3M==aFe~S8XaG^*`Ia5l+?cj{AbL6N{`c9;vilmJoa@;OEzJUk732bgO$S%{t5s#{0;3Ig_43`Vp1R@U@5lDM4mf^{=7 zIWmlWt18Kk(u*rCCc*JlYPE~W*t;V`A1rKgB~b0_=yBkqth>&IF4Sk$`o;d7&JLuJ z+dtmyTTquBShbrYxsS*>BWTXNZicQa$Zt$>RB$3h=e^1MUjQ|#^({6USQ9OP zwjqmh)|me?h1^Ac(tg(+P*1&gjtf^e z_yarrNB!u-Axgw1a{rOzLFd>ouYLS7(LrM8Ne$i1aBc4d6Z-y7TBpSC_h^{l~O zt-6JiwqLu#@CwltN@r}dxS-2VPf!CTe5M7SB)9*Y?f3||inLCp!ki!t-=H&1N z1MToPw-XiCO_x!YAC|%8t!49XJIj8nMG@$fD`@zyPIdeCgoHm+J8w&z;+L^|&t5As zh&y=DP4{+MxzKo(iIbxRLA$PZ*lq3WLnzxx|C=+|~Ruwci|5UOk8l@^v1vrhKoQzZ|K1pgM9dtpElBfdOf6KV7 zH&SOpW}Pxb*9K@}c5*wo5__&I-#Qn_@2VAp+naqoiJupXSP=VfSylw9C?`lcq~Hq?MlS_6q>e54VR5yZ~135|sEa zSyJl{-TNQVXO3f!-H~g1P#}M2zqV?WW4c{h=ZAl~eD?-~l=J0q2gfDa6>th!+u30d z{iE3}CaFK*n!YSgU3w5@_@&@2Q4HP&8S3YK#)agT6SWeLpNv>yV_3U)+A=b6pENe8 zp~NQ_VNbU9{dE9G%s><03d(J6!QT7&L9P9&23Ru>OEWI5UNs1A|C2f4D_$!G!ut{7 z^Fcj*@8LR$PHIe=T9+5K)z&+%J*9EmcDp321sUZkMA zYnHx=tgm&WL_H#=l)pD&~ zgy*J%;CtvQe$Z2q#y~pQsk=)_wkL+-GYK}Sr|5IRVoY%gl+|!YXa)vB=iE28ydx}# z1m^k?ZpFU8Z%jEDt-=9*OTged>D5r-b3t|&K3Mq4=Y!U($`lsPzZrFdbJpGeMwNpn zvskz%*46F>a8}X53yuv^GhR)|7kk!Dugm^tx?_{@yV6#M*Efq0aiLL2F~Yb4?|6vl zjVjS7WcPldGN|wO*#)nraTou|&6l35E9&X;+;AP~TgfUDkm%(!T3>E81rPa4DM8Jh@~@FZWe1{m1IeAl5yQ1V|8|lLK|R!T6i}6@ZS58x zv`tJb=hSJ)S@RI@WEGN*w<-9sJpnUlQ?HyPH%v&~i7t~h+(!(UqWl6VhehqAV(R*% zPfH6b`q;$(Ns`1idV>Z79VGsX>U8>Lw~8fSLNmQRi)_LLQ^SK+{y# z$q~e0m#slqW>Rl~iJs-+-Ut>mOX!z64x#bJP0{TCDm;uxQ1etOy~8m~U5=A=y5ly) zuvPdy{}Zv|&-W7|-&8l9L^bL|t-R7WV#)z>&Ykgo-v%^{3=R{WmnRyHLR*CGZ(^E; zwjG*0nZP92Xmm)Hu#kTbI-)ThFMty{^Je9N!PX_Bu$B2vl9Wf1&uhZuHdxAqc# z)VxaDnuU`EwI=YJ?BcA;7}IB=T!ZtjPLpE!Prv!pq71Ti3cq|QHIlMv#bPj(Q9&3T zVi)i%C#Rj-Y(Cpr;N#=u9({y}XT`A1SDOrd{BFdC}gslAs+%A!z07_Y{$rDKu3&wFY#DQRqG=5SXp`@ecdd(Ar+gvN4Dm1nneQJvt zszUi3DP0W!bsSTwLZNY#QAuQfF8lWs)2r>+p61ETI-!u|!tj+bYEzKvh*`2`#J(Zo1U=suh#%mG;3B= z;&(?%tCzU4NSK9XH-)&k`N3#~H7bl!tG#{L1M#2FDmsHL4HLzL!5R%!OreWXpVikZ zRA|C$weVsv$Wv)Px2wfcu#AFA_K;_j$a-nss0gAU8)pYg-q4N!P2;$fv)AM_5Jr$PiWFj6FNz1|?8UaoV zVV{v_?Z0p>3;r24GFS2ssN}Ef3CT`}s5?rhZF`9EmR1~m!3sJcdKPUrO>O{!caSfk zz5pUClrI`YzTuEt0%U_#5qahZ3wte!`jDPIPx_eKvESE~5U;AX3O_L=$h;$*H75m4 zcyGKnt#3IS>N@>B?)xdLjN)?&60_dTq}#9wRu@<2FdmMR6i2z?GVxG<8#n=2!V8R|xNg91w(mY+%oXh*Q84Y7z5eZNrPsUZfX4k0PwJ?JYrHX@d`$Q#vGI&i z5gL8M$Y*Bd#AOy8EaA1f2%QO*7jB`kmxtMilu>1l`zZhQ*Ed z@TT2l5UrLk+`jSrcJ2gpO zq?IYjLHZhog2NJ>mKu73HFo=a^0ov5rnJ&%-T%XJk9B0wbmM1|Opy)dGG$jC=Yx&Ftz zS4$Kok_Y*k4db%S1M1-Jrsxw4UEytsd`{M(yId^sODm5xq*x2i49?8j1)Q=#B!Bt% zJ*FIz@IPUHx)T+ym(X7T8jM*FCs|Ivg}DhJ`sC>}|4!@5>zX@a1;10nJXbkz7LDlc z(Eqe~e0>3oNb&t1C4P2f;)R(sX&h%*)luTzKID$ovNpETB~Tn6+4h6mUBvIvk4i|g zm5TX=V~?tgx4uM8k8sR7KF4ZLcG5o+zX1N_Kl4DwX)egdj^f3B{fN*U=kE~)R5upP z?tx_`UjT1`6>v?gg?o*7d<6kzwx_eXg!FJN*2VMFf?Qyq^)gjRd>cAzB#c*caHa;{ z95gcb18xg_4SZH07+sH5(!6Ea9QS&s9_Hw`QnD#mQn=5fcI*Uq1;;n!zW_qe7wXS{ zZE`M=4|VLw+V(%Gh{V~?MWkAI4ZJ_Ey`r3L>AhlF&Pgv9FY#IFPbV>kB9CGL^Q;O$ zJMkuh-ZeS%Z>xUUa=K%RBSrwR1HXbzqBlav30R+#vL<>j> zs1!bxIhP!Nz#MnSuUXc{!>+_Ytl9LH%%5UcDdvAT^y$z%;K^rjzV(dv{=RRJ(zrs)n2n%aY= zGOB=QMQWLzoy|B7b)By?4LaO0twIx$H$D1SED6Bgu zOOesI$dm+>!Ca@RP-BputQ-~buhCupk0F2|z_i+`%UR#Q!SQ_`*v zg%2PFLKCS8FwwP}+v-RsN1SHB*cb2I^9l!nns?0Kx^elgcp#eSD{Yd|@tR3ZXMYk2 zXt&Z`DANeI1M$Pnr9K4E53?eBq8ywDSAMx|zNXDj+x8Af2;z7qNS~|l{op4%j+3^! zqLxrdb2R}X0(4k5yZRDzdT%KQj;QY0O^@s^(gKVua(rOT2kN%#IOoW4RX3*+1?^WY z)bNPuP;d)kwqf8W6(>Fzlx3xo`4PU}Z~uT`Z1QcB4S$0zgL}!;XtOd4`-^XtvF27> zJCOFH8^J&~gEYDfII;QixgjmasPZzQ`uq*49niCLzx{!vcrr*@oH-+mFx2GIcoZuAoog(cz;gyQ0tupm1-jnR-%t z8+iFAZmkR@N6(}fgy67^E)@RBKW{?#YLzHCLElIZSV%mQw_WKY2;zlzW@8^H7QD>kwg-C zd1aZt-YY&NqiXQ`rqTizWpZboV-^UdfX(XGIf&q#k<=FqyWy9@KJo#97og(i=w6*E zC*w~)%65Yh69lfet454UqGixwOd~>3-7XGa+%U)WKBa7)poP~D3o}i*Y@aE`Tn-is z`EzvKFA^PPSyX|WOsFD;2g0;!8?jgVNXH^%Mn;K12MaY@ia#Rayp=;897ZgCGC&rd zg2Zx;FrNKq+EB%RZ@ZI_3k^`kqko=E7ZhI=eAF!sAUgZKq`$UqQuCk`p3f-w z5s~tlXHXLA@HnaivixabL(C@XoGprFaGeWKB{fhH+7T*4^j3mJ_3Jng;0@Z;cDJ|a zRhi3^@E5FQcPcqh1g-@!24=orgEuW(=X6>9DXqw|WISFR>_p*sFwfp5uIApr5%MaE zluDAo_xxm&fHk~J=5O6e+9M!c@{L*OCjNw^@=&Nxfbtl$4|;f5@F;p9=1r?CG~42b zb5_zOs0#JF{-|abZ9jPd9KNcPHug1nf0jdomH4%At53x)jvk1u4|Cb(@-7=ze>NDi zj^l$x$s0qe#<6FSa4cCG%-FGHoaNw6&z^44N%bJ3bUu!ywYxrmfglI>sq6$(K-d}Z z{AAGGAg;tM$aP4cDAY&&ueMwmOPwjm<*ydug=34xQI4OsL<$3(zDz6SRsizemc@1Z za0h|p0{=qU#on94PpO@gnB7$ehT=`yNmIiCmJbZg{4E50{kOO)mXX@~Oos1{MjS|$RS=p&TV47p!c$%V9?v|aJGi8!#in&& z%tArKi!zpwO8~mJ4RzEXmVJA%?SG=Q9V4Y>+1?|@&$O)a(;g~7_a4Jfe? zibBJ2r?TM$-7+%wj%Q0tUCEly{ndAXgURsS;HLsA_8^Z#$=5XA5Z@nHeGfX;tSsUhs%~nl!qFCJKk}&@d3czuH`(N_?0*pa z!I|VPqaA^E1LLn6XQ6V9{*b0ED|G$z-epyn8KW(kb+hlP!3>RbEQY*~-qQfz5M1v17a zZo(RxjtOoCr5BGqaK~AO(9<8~4_k-MM5{Q7mD~e{9i#k{6ZOwmjo;$TYwPGB?K)^2 zqI5iMZ^{+cSV&pUe;xZ&G)tW<>JVv7G$cFLe_poP*wD5;w%d%UFe&le3cIL8N=!*L z)ehMqNswRFDf?NkV`)oNA%nSIEN6Bf6+Zz{3&K-$sJ6$J`uHfxZH%7qcKDYZkELoJ zh&C3U@UFn{xRO;ZA-9>@DVgcS?W0n!?GV!H!wlrTj?PH>a94%fWz2B^n zNW8_(7cU-pSpSJ@Ym?nC29cylvkHrnMEt!LdhC5>pLO9mxCWVhm*vh}QVi$>05D7P zo*def2WP0#IrIj)_Jhi5awsn7{A60%+*59 z$KbF75qkXVggz-x-SmaO+QwjE`Xoz`gC&k*qtSHoyx(KNQSDEz8e1BK6&K?s`R zj}Ftw*j+M*aNgU4)coS^4j`|)x7k4S!)c?Z%GFf4IrrB9a6eqy$1H=r1ValNta^1~ z?A>Rq<8cloyjbPt^?xUa=!C>JG5QcQE$8N!0GC|2mV+ynt@QK9A^5ZQ)txvMWf$hU z6oX|hPM6s}vC_QzxJJn`-y~$^>EgSsEVD;IO7}y^qLxe?4$kOp)td^9(6J(-t9{L= zoX=YD`t)0__~*=?FOa?$DT|z)k+zk-gf8As&vMm(t*yvul!st>Ag-K!B0eh-9?s*i z^u5l0tY_>=6&1MG$<~i#w6BWdPSZ%wab;D*;5&(5Iwbn7*iW=Sa;;%;u^C}aRb;FC z#(qBO_UjG*ir}MdHKH+xoSIeW6YL6bQ?X#eKIfvOW8he0Wrud}>ehf+>9*13D{>uQ zv5ef6^Jc|>Av=hc`a!2AwBg5TV`&x5vYF(bF&EGh@z&=B0D92*EAJ@sttde7>{ou7 zJ*Q8)QR+06B4chhS2LYRPRWJvQQPb(bwlu1wbp%Pt)_*mk%keL<*n32Uu_`bf!;%0 zjgwIEyqMUQx6WDgT2?A)GBfc2c$KRTknlRe%(8u&EDSig&Do)t)3$4k+_IUM(ae_e>4893b!^E%q+*-%D;~~otJB0n~Jv59+FYzI!d>eAv&4A?CnNn z@pPD@{>zcIV4tHUD+@NC*U_1F%kL2u|d@}TAs2!AZ;>aFsGDt;_4eMKP`<+|5X0s zI;ot7{dt+kDAnmomS*6?UeN{qnM`2g6qr``f=(Du^!qP%Pkt-P$2my-@YAwT691~( zzHh;%mJu|=)q2@WJ3$(lag=xhOhc}%epI8o5UQNmxC|9k5_ zT56^=z!hsN#gs$d8F$O>Md57Too5uq5V}XrGPg>Wx|Z{dRtp0h%pDV#YLH z^BlReek-ofdOt1*RuIpD1&yGPDVG?6ItZ+cXa}C7EfV}0^cBh>XlV&ORP?XnKxD3K zX4JlciX6d@sFluV7j$uyVebs@A}`5EZPRlKo41U{(z)uE%P$IB(APo}kLM_5M0;NI z3v6Eiv3fy-c3`{5Yn=uz{8gYr*{c-&d|t}J3T+Kxr9v8lGRh4}TWH{h@s;p!?0HupNZ)=iQDl@!;OPb9yZdik@7GIECZLs)+*r#d3KpS%HuB=w`z1vBBLIeB%PrdjF=@~vCDy_U zjT>(Y(7yXV;e{Cat6KQuTu5p9tQ{*HQH&A(KC9}qBTSE%qs6Hq z+pERjd>NAk_0RZtD#rz7~@C$uwd<*rgMrze3&mpnUnIP|%ZKC_6@(p%J^z3{WFT>vYYH}AX= zm+M<3OX$&by@h+769_3LBzL|rB+c$GGEEWyG0sj;hX*eIvAI1?3a5MmJ5BhjYb$kb zP|EdQ-Mq$5Vw{TKrE&A%36DqjF#$r4fY(%aa>DVV=%D2x0&f2+CRZ48b?!jyPEm#~6VT(BhOGL%>hBRIzlx zV$mt&>Qi}Ex@l;afs^p}2_D8+XWoLJgB0Nc0a1aFZDPb5T=8d=QsuK;4GjtVGiV*X zYY=e3&-nupjuh(e5RK(OCSv92u*ae()fKh|Hn%IGrrWLc5(h9r#o>3W^i#%s(36Ag zGl5JwHo<}!OPp+)3>M7zdSd<{WL;4|(+W zRr3Vz6ZyBS-h#U*ls}qFuYS<#?rmfN)jOrC5LzCe;age>QJLyJWd^j7mSthRpm1gZ z&!U9iT=jTUPa>f;X^)9szW1}&>}YK>F7m>1%Kca6Gxo`78KQNozf|0(5}%l+G8IyN z?qADLzI4oo7SBHh<4zXx)^ zN73+2qxkaz2-hdP;HT~I(3tq3(nxYB7?0ihfPN)?b`>;aCK_SCLn4w5lqN^}WHH-d zaj%s+7SEcj`Sne8)m3TWg1zj9nMpp|w+1^bfiERnxUa2A@`Zb7h3^VjYB(94NbNkL zSLC|`DZX7Bz8BPZ)SBj^)L<{nS^!n8H?HkGe9f}{%pbCdGAa5o>QqC}tDSv#^IeG% z6in9o#8gv%*8Hve_xcM!?dm9*am7-hM~4LS zM8p%Ck)N3SqMn6h?F)!hjJb)ofdmUanfm@U_-m>dILk{ahsX^^vUP#`)cGQrfi^a>Is~BY;K1Qz&&qNFjUWc*Q6UoQyCsMN&J$;~$|qthbqHv7t_8{lrET?a zt3lM)MVuwdg_k@;7I903uNfIwlX-uGGFlE^=VUb^@>cjE*ELFp+^L(`xVoH0qOm{? zbw(#}Q^vVKnpm_0U4X)1gpAWLO)W(&ZxdYd|14cgQir@0RGQ?FD#LecpMto`>iE0j3AYGi^Fd(&F z%j#1>^rSx0Va{)~lg*jwkbU-LRXud@IJLZ5EjJ`n2E@2K6yf=p6TJX-$iUPH^Rk=I z%1;b+B45uV{D}$Ttwx^b&T$$ff`qz1P>b@V_sP`O9=1b-U3xo9po z#(lT?UQ8LV1X047FZpJsK}2?vl^CDmhvipYSw03psLQ<^RKy)StsoIf;uz5~O1?uk z307-IpmoH2JC-9*eHpo)AKt<@Dtp`1gPVnzVHcs<1W#p3U?Ok1qrW>Ysc zYI}QAV@yskcTBetK-6GP7}a9JIw4(9;7Z7|M)FR3OQv)7V|Qm0$`V=bOp( z)~PPc1H$qee}9(Qu$nO()h)8g$HwR$)|`YKieJwy2*ZJP~7SKj09dycmDvR}a$y+;E#-i0{{M5E$u_ zX@u$>Zs-!D+@UN5i|ueVy`L z$m^VP^;wC3_-``g>C%Y2(>Gtz!~Cz4vrs8yTzGtU@nK60;2+qKLw_F8y8WuSRN9!( z9&4p9@}5i1X=P!QimB^M{>i(FErX6xU6gb!&UFV}9i|VKog->o3YUhu^sE@)ZDQs` z@xz}S;&ohy{Rx?dMf*?GRX#{7XTJdYA>W#E=>F1le(1Jo4fT!U}R~d%tT*K2^@Nyo;k(SmzK{ zZP}(Bg46mB3WG8qRz8b8U((cAS^gIQ7TADsVHNUU0r&+6`q_3XZj|&=2dS#k-V`NJ zZ(+v=f%P>swihy?H*c_iaStDf@BFJe?gfZ(A;A2rcvOosl{SgY!G%)QF5yQITd^)iSm&Uvm6@AHoVSKo*r(+ked=Vm+A*5JhTtNB zoEm@H{{Y&nB;Na9y$0-dHGpqD==)!|qQP^2?Syxu?XBxrBJbXwE{Cb2$Y$8SZ(4A? zC%s||fP2-eW6{|CD6#`~+4l{`t)zff65Nr{)Tww!B>ojHBe}7EtXgSSGG1QHu|pW- zp69S0rn&tc_5EMOG3z(JZKafIe2ZP<8(4718Ovbg=NLHjs#n$@+ZRFgM-KuY-N1zH z9Q8h@is@{n+7&^E~{^3k)FQmcSe`}&UJp@v3#OIRQ+6RWCD zyRrj?`CNTQc=ZR`z0shzy|rt5n8cB|$34Bl?0xIZd~Kn@rEAvfZcfi65)LxJaEx)^ z1(*H;E0VMw(=?~OjJ+pMdu1&(?AJ1|3z-{*0Q3W}tsR&hN9R#QjKC6G@~4zwdYsfY z+q*j>6qS)C#XSx`8e9x;$26G7a!n~Mvw(B-q&p4V2X>~GQh6l(O*nI$fPV^!vD1M_ zWAF|@JW`O$jDSbAL%0Ld4e^17Rp`4L#Y;qusdXO^cyC9_-Cx;2%f`l#Z~p+k zM?a-sDjzA}I%mP37v6sI?n^6i+&rb5{{S5a`PWCJ{0h4=6RK*d5@Ut8=l=jg0=tbv z;*NBMWZd^C%{cEnY(tI)DyHVw=7O?@#JA@yJHNeXcj&(LIcdt!uhxjdkiyw&R^{8R+ zCA^dQ*V4^(DeCgMVt*4rSn0KY9(Z!sQjU9FK`s^)D$!d*=I1@bjz3&hUDw3TM(c9v zULCoUKXvXT2nXOZ{OWs83h8$9MivAOk6unIZY??p$IBXz!kPn(lU4Elr~d#i7TSDm z)I$&_A6C!lRx}+7`L+1w)paYo){EVulUr@Vv(QmDPC_3i)g_t(?oy{rz{sAj&WWM;{8hE;`i(=KbdW4c19HCbI_6N z(*yqiuU_TxJ5m~ci0i*>l8v#9@=yN&Td(0>6{_jJYv$N9GNw@=cpoOR|i zlGMfAanzbjnrmbn9^I)kTiBDJ@RUaCYl~!>-Wdvq26;9q10w*QGItKOs|J^IajM0q z2%0O2TqedHGJ5?x=cX&2@V2CMy=n`RM#6ST2;*yTbNv4R3iUfHn^lwKSGOem#s)F} z0O%wG_|+)Mtpe+*+qQ{gCWx9u_Hi3@h(y0OPCavhgPwEiURmOw4_)XpFq3rlE^w2N z&^Mv}f2DO2-l`AX>X+x(u&CPlCyAC@>*g#7ICa4u;Hj+PLZnNTNHd1e^-H}6Tea0J z+Y-S0mpvSGDt(B^KU(*FKgZS@y^3AhLfnixG36V$HRVG^&|fV*+_51!AUco8ZNU92 zqVR^B;d@Zc7OD17avDj1W^vm9kTLE@=hn2GR`Nu}y^}k5{8Ul7w~5E%D&4P&V3op2 IZ5%+JTg7-+G5`Po literal 0 HcmV?d00001 diff --git a/instance/data.sqlite b/instance/data.sqlite index bdbf78bcfda55f83a3ae91a6ac731370cb60b7b1..39d42f7e3e3d6a8e8b0dab87fdcb8bcdc83d9545 100644 GIT binary patch literal 28672 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 F_dmZGXsZAK literal 16384 zcmeI%yKfUo90%}SJCOLXyS&Zoju8w}qQGe0I~xfJ6D%%=W55_B8Y~ApV38MK&>a#* z5FLn;n)=EU4H7jqCA#wJE2vIaq5C-yDY3--0q`4nymhc%M1Nm?MJ=)5BjSsBZs+d zHIAGdR{Qm`_R7O$vRRyx+l!mM)VSJeR$*0SWQO+I-CJZ^iCgA_TF>NmR<2BkL4T#& z`|ZKKCAf=kcODK_H;&t*lZlZx^3ZA%!*+{c3zJU)JaC`@3ZMWApa2S>01BW03ZMWA zpa2SdCjxPpJDGN*RopIc-CZogy72!0JNa^P87P1PD1ZVefC4Ch0w{n2D1ZVe@Kqqm zpDb*>{~!MUPfBNl9IDP=YbcjVF3oAK zPYX^YpD}Jmb7oVkjikpsDP@`B+-O06_N64_A{A26pFAm%V332*MV=Q(isC1LOSi} zeqTy4CAF}U?(?K{2KGt{L-+bpnx(1Xu*N;U6iBGlWtQ&tq@X7xhc8moUA`1ZD9v3; z6HjW`6WmJ6Y3xgZ1h<*tH1edNC%AGhDAv^>T&F diff --git a/migrations/__pycache__/env.cpython-313.pyc b/migrations/__pycache__/env.cpython-313.pyc index 6cb1fb1a9547950c7012c2d48ddd4c00773bb142..8c50a3ebeb5425560d2777f35b4ebe5c07635d94 100644 GIT binary patch delta 28 icmX@4d`Ow+GcPX}0}x#L!=AB`=MNL3^JY%woqPa+B?zzp delta 28 icmX@4d`Ow+GcPX}0}vR9{7B!(^M{Esc{3;TPCfv4=m<6d diff --git a/migrations/versions/__pycache__/7a26306b04df_.cpython-313.pyc b/migrations/versions/__pycache__/7a26306b04df_.cpython-313.pyc deleted file mode 100644 index 4437c72ae548f491b9fb5bd26cbf8a63eaa91076..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1284 zcma)5OK;Oa5MDcu* zUf_s$s0fg_mRtWyK?t;PgG+CP2#F)JPE149LoLnh?9A*uKX)=26~Q+<{Kw8D5cR3m@Yy5F^6TF$Do1REjFR)CeWg?ynnp1(Ri zkq5C{oGRxhuS`#r3X^$N-Qz{(1SST}1vc0p&FqyQ9Rt9jKh(J`@Lulyvn|J6{?j0I z0eZV9#foJ)mJUwv5c@oo14}GjK*gS@B{Zp&=<_~0UVp}DCvl|i2^o``T!NV&D_W{A z-{Aj|_^q!xn3bL@msEIG+exQ3EV&- zyV$qGRi;|tbtkZGY^~%J!dJlt&1lJb$R99~8cd!I+?MCFRMii$jR}*rkT|~06b^(H z$HQ!Ri8!7?+BMvs4SX6B!|}uSsKcvbi)OigmtsQeG;Fli>y^N4dDstW{gxBnZZ+yl zBzS<$u)4TX_Z*uTA;6H<*Wg7Y^utHL(rmL-s|j8fCTAf0DIm&GwSj&}^5ezL#izHv zfl%G7KCxch*qVDb_x#RwaaWp%we}0L)qd9A7I#N3@8Df&CN{WlZ@jC$uDzMxsq9K6 z(0-Q2K1gG)Dj%iuzthR2Ook!Pe+cFy5jYXRh7YK)4PVA0ewMfwH4xaF~ zqIBdmNGxpy>wdTCvv5BLL^&q9P0w%6KfU-#8jT+023Shht-#cEmNH!IH5{`SpFVUA z*IdP3n`C%Yh4g-Umf`XBgKL8rzPYLcYOqTIC%B1yi|T9Wkp4fU6t66DSqQ5cK5_zR{B B4;26a diff --git a/migrations/versions/__pycache__/ac8b1871be3d_.cpython-313.pyc b/migrations/versions/__pycache__/ac8b1871be3d_.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..eed28ac0069130e28da332b46cc4d1327a04c125 GIT binary patch literal 1897 zcmdT_&2QX96d!-A?KrzpX)8tA6v+e*tg4j6Wka&6kVwMEW}9pjx2IaNy!PN2`D2;! zHY}$o7dTd>RZ&~1*K(@>0e=EVmJd-)xzS5+g>7#fn6cN1Tdio}hNXG)X5Me!yf^Q| z!%9U3^do=CJ6j?Ezq3XD@gruqM479=00lR(_i)KvuS z1Zr!PG&Fr)ug}fDKBw!Nt~XBW4Sn&{{DQu?yr`-Vn2|M(@NsvOl#AM&k@@LVp;Vw_ z_zm^yD!6bU+s?f_*a2Xc`gVc7M)qw>Id?cy1YbZXhmxF|1@#eY2!^;U6wu@Kl?sS7 zCb_0;rZ-B4yiDKxDQ)E^acsq`t8>|YedLGsY@d~a1>1AR7VzUe`M*SOWW5GFP^)Z`%3DDY??QJgpoM`6@4N5N+*hJr5ZIjn zl2Vrm9=uB5i0(@PjJ#xrOrDKB54z0+hM1@>MPwU9wlj5vo3HU?3PW@eBFlyE+r1z` zEURlOVr4_hPFj#wl3v4On@Fp1&H;c0|Mkew2IxhAg0@z1lF(Qv@A}Dmy^gts z;t!ycG~4IQ(D#s?&<=u4YA2!JJJV%E(=qhPG3Y&;EAH;IB#%Fn=x+v~u zS%Rue$m~NWC?OMWyc=a9(dhaWIxvG|A=%j9xHR{(sIezu{A<66v+3d5B#|x4jUCHk z`3l31?~Lxk9|m^d?7*;(SXUql8vR*Fh23QxE<4DMoE?i62@F^Xz%GnjY{gNU9Y~|6 zpEg%H6UJ^YfNvsJO{|+@osx$F$8mq~5+^>M0^IaHF#S*gk%fN!P% literal 0 HcmV?d00001 diff --git a/migrations/versions/7a26306b04df_.py b/migrations/versions/ac8b1871be3d_.py similarity index 51% rename from migrations/versions/7a26306b04df_.py rename to migrations/versions/ac8b1871be3d_.py index 75e10d9..e762caa 100644 --- a/migrations/versions/7a26306b04df_.py +++ b/migrations/versions/ac8b1871be3d_.py @@ -1,8 +1,8 @@ """empty message -Revision ID: 7a26306b04df +Revision ID: ac8b1871be3d Revises: -Create Date: 2025-04-10 20:56:03.819230 +Create Date: 2025-04-22 22:32:26.012696 """ from alembic import op @@ -10,7 +10,7 @@ import sqlalchemy as sa # revision identifiers, used by Alembic. -revision = '7a26306b04df' +revision = 'ac8b1871be3d' down_revision = None branch_labels = None depends_on = None @@ -18,10 +18,16 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.create_table('plate', + op.create_table('AllowedPlates', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('plate', sa.String(length=40), nullable=False), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('LoggedItems', + sa.Column('dateLogged', sa.DateTime(), nullable=False), + sa.Column('allowed', sa.Boolean(), server_default=sa.text('0'), nullable=False), sa.Column('id', sa.Integer(), nullable=False), sa.Column('plate', sa.String(length=40), nullable=False), - sa.Column('dateLogged', sa.DateTime(), nullable=True), sa.PrimaryKeyConstraint('id') ) # ### end Alembic commands ### @@ -29,5 +35,6 @@ def upgrade(): def downgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('plate') + op.drop_table('LoggedItems') + op.drop_table('AllowedPlates') # ### end Alembic commands ### diff --git a/models.py b/models.py new file mode 100644 index 0000000..a5e1148 --- /dev/null +++ b/models.py @@ -0,0 +1,32 @@ +from datetime import datetime +from application import db + + +# db classes +class Plate(db.Model): + __abstract__ = True + id = db.Column(db.Integer, primary_key=True) + plate = db.Column(db.String(40), nullable=False) + + +class LoggedItem(Plate): + __tablename__ = "LoggedItems" + dateLogged = db.Column(db.DateTime, nullable=False) + allowed = db.Column(db.Boolean, nullable=False, server_default=db.false()) + + def __init__( + self, + plate: str, + datetime: datetime, + allowed: bool = False, + ): + self.plate = plate + self.allowed = allowed + self.dateLogged = datetime + + +class AllowedPlate(Plate): + __tablename__ = "AllowedPlates" + + def __init__(self, plate: str): + self.plate = plate diff --git a/seed.py b/seed.py new file mode 100644 index 0000000..dab44f6 --- /dev/null +++ b/seed.py @@ -0,0 +1,6 @@ +from application import db, app +from models import AllowedPlate + +with app.app_context(): + db.session.add(AllowedPlate("MUN389")) + db.session.commit() diff --git a/server.py b/server.py index 92bd37c..f730bf0 100644 --- a/server.py +++ b/server.py @@ -1,86 +1,69 @@ -from flask import Flask, request, jsonify -from flask_sqlalchemy import SQLAlchemy -from flask_migrate import Migrate -from datetime import datetime -from pyplatex import ANPR -from ultralytics.nn.tasks import DetectionModel +from flask import request, jsonify +from pyplatex import ANPR # type: ignore +from ultralytics.nn.tasks import DetectionModel # type: ignore import os import torch import asyncio +from application import app, db +from models import LoggedItem, AllowedPlate +from datetime import datetime -torch.serialization.add_safe_globals({"DetectionModel": DetectionModel}) +torch.serialization.add_safe_globals( # type: ignore + {"DetectionModel": DetectionModel} # type: ignore +) -# Web Server -app = Flask(__name__) -app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///data.sqlite" -app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False -app.config["SECRET_KEY"] = "bvjchsygvduycgsyugc" - -# ORM -db = SQLAlchemy() -db.init_app(app) - -migrate = Migrate(app, db) # Saving images locally UPLOAD_FOLDER = "uploads" os.makedirs(UPLOAD_FOLDER, exist_ok=True) -# db classes -class Plate(db.Model): - id = db.Column(db.Integer, primary_key=True) - plate = db.Column(db.String(40), nullable=False) - - -class LoggedItem(Plate): - dateLogged = db.Column(db.DateTime, default=datetime.now) - - # Default app route @app.route("/") def home(): return "Hello, World!" +i = 0 + + # API to process vehicle @app.route("/api", methods=["POST"]) def data(): - # Check if image is present - if "image" not in request.files: - return jsonify({"error": "No file part"}), 400 + data = request.data + global i - file = request.files["image"] # get the image from the packet + with open(f"image{i}.jpg", "wb") as f: + f.write(data) - if file.filename == "" or not file.filename: - return jsonify({"error": "No selected file"}), 400 + status = asyncio.run(process_image(f"image{i}.jpg")) - # Check if image ends in .jpg - if file.filename.lower().endswith(".jpg"): - filepath = os.path.join(UPLOAD_FOLDER, file.filename) - file.save(filepath) - plate = asyncio.run(process_image(filepath)) - return jsonify( - { - "message": "File uploaded successfully", - "filename": file.filename, - "status": True, - "anpr": plate, - } - ) - - return jsonify({"error": "Only JPEG files allowed"}), 400 + i += 1 + return jsonify( + { + "message": "Image sent succesfully", + "status": status, + } + ) -async def process_image(file: str): +async def process_image(file: str) -> bool: anpr = ANPR() - anpr_info = await anpr.detect(file) + anpr_info: ... = await anpr.detect(file) # type: ignore number_plate = anpr_info["plate_number"] if number_plate: - db.session.add(LoggedItem(plate=number_plate)) + allowed = ( + AllowedPlate.query.filter_by(plate=number_plate).first() + is not None + ) + db.session.add( + LoggedItem( + plate=number_plate, allowed=allowed, datetime=datetime.now() + ) + ) db.session.commit() - return number_plate - return "ERROR" + return allowed + return False if __name__ == "__main__":