From 2b5ec1d9b171b655fc9eab2c89f15f407e284dbe Mon Sep 17 00:00:00 2001 From: bl3kunja Date: Sat, 8 Nov 2025 19:24:05 +0100 Subject: [PATCH] desktop_app_install --- GTK_WRAPPER_README.md | 140 ++++++++++++++++++++++++++++++++ __pycache__/app.cpython-312.pyc | Bin 0 -> 98086 bytes gtk_wrapper.py | 107 ++++++++++++++++++++++++ setup_gtk_wrapper.sh | 23 ++++++ 4 files changed, 270 insertions(+) create mode 100644 GTK_WRAPPER_README.md create mode 100644 __pycache__/app.cpython-312.pyc create mode 100644 gtk_wrapper.py create mode 100644 setup_gtk_wrapper.sh diff --git a/GTK_WRAPPER_README.md b/GTK_WRAPPER_README.md new file mode 100644 index 0000000..8564dba --- /dev/null +++ b/GTK_WRAPPER_README.md @@ -0,0 +1,140 @@ +# GTK Wrapper for Flask Application + +This wrapper embeds your Flask web application in a native GTK window using WebKit2, providing a desktop application experience. + +## Installation + +### Prerequisites +- Python 3.6+ +- GTK 3.0 +- WebKit2 4.0 +- PyGObject + +### Automatic Setup (Linux) + +Run the provided setup script: +```bash +bash setup_gtk_wrapper.sh +``` + +This will install all required system packages and Python dependencies. + +### Manual Setup + +If the automated script doesn't work for your system, install the packages manually: + +**Ubuntu/Debian:** +```bash +sudo apt-get update +sudo apt-get install -y python3-gi gir1.2-gtk-3.0 gir1.2-webkit2-4.1 libgtk-3-0 libwebkit2gtk-4.1-0 +pip3 install flask +``` + +**Fedora/RHEL:** +```bash +sudo dnf install python3-gobject gtk3 webkit2-gtk3 +pip3 install flask +``` + +**Arch Linux:** +```bash +sudo pacman -S python-gobject gtk3 webkit2gtk +pip3 install flask +``` + +**macOS (via Homebrew):** +```bash +brew install gtk+3 webkit2gtk python3 +pip3 install flask +``` + +## Usage + +Run the GTK wrapper with: +```bash +python3 gtk_wrapper.py +``` + +Or make it executable and run directly: +```bash +chmod +x gtk_wrapper.py +./gtk_wrapper.py +``` + +## Features + +- **Native GTK Window**: Runs your Flask app in a native GTK 3 window +- **WebKit2 Rendering**: Uses WebKit2 for modern web rendering +- **Background Flask Server**: Automatically starts your Flask app in a background thread +- **Developer Mode**: Developer tools are enabled for debugging (inspect element) +- **Responsive UI**: Window is resizable and responsive + +## Configuration + +You can customize the wrapper by editing `gtk_wrapper.py`: + +### Window Size +```python +self.set_default_size(1200, 800) # Change to desired width, height +``` + +### Window Title +```python +self.set_title('Your App Title') +``` + +### Flask Server Port +```python +self.flask_port = 5000 # Change to desired port +``` + +### Developer Tools +To disable developer tools (inspect element), comment out: +```python +self.webview.get_settings().set_property('enable-developer-extras', True) +``` + +## Troubleshooting + +### "No module named 'gi'" +Install PyGObject: `pip3 install PyGObject` + +### "gi.repository.Gtk" not found +Install GTK bindings: `sudo apt-get install python3-gi gir1.2-gtk-3.0` + +### "gi.repository.WebKit2" not found +Install WebKit2 bindings: `sudo apt-get install gir1.2-webkit2-4.0` + +### Flask server won't start +- Check if port 5000 is already in use +- Ensure you're running from the correct directory +- Check Flask app for syntax errors + +### Page shows "Unable to reach" error +- Wait a few seconds for the Flask server to start +- Check the terminal for Flask startup messages +- Ensure all Flask dependencies are installed + +## File Structure + +``` +TV_APP_V1.0.0/ +├── app.py # Your Flask application +├── gtk_wrapper.py # GTK wrapper (this file) +├── setup_gtk_wrapper.sh # Automated setup script +├── GTK_WRAPPER_README.md # This file +├── templates/ # Flask templates +├── static/ # Flask static files +└── locales/ # Language files +``` + +## Notes + +- The Flask app runs in debug mode disabled to prevent auto-reloading conflicts with GTK +- The app uses threading to run Flask in the background without blocking GTK events +- All Flask features (routing, sessions, file uploads, etc.) work normally + +## Support + +For issues with the Flask app itself, see the main app documentation. +For GTK/WebKit issues, refer to the respective project documentation. diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..92bca8182a2d32801664ec34c00245fa6bf26906 GIT binary patch literal 98086 zcmeFa33yxAc_xgN00@u(cW?)Hg8MF#q85r0wNaF{c#&*}rg$ld5=F`vkY%x;!#HU} zCu&U9Zbcr_kX{0 zSAc*dCz)raedbC$IQQPO-Lrh#`M&S`G$|=jgUk5^`-tI>w3=VgjdZa$xViO~RinA6 z;WV6fRC7vuSbIu$Sa(W)SbxfJ*l@~t*mx@8aDtZJ>qbq7P3+fv*vx({hb`b zO~1zy4rg;YhjX~x!?|4E;XE$?a6VUXxPU7>T*$c&ySO5*m@DB*xiYSttGJxNRdQ~w z3guT{)*UY5YPedi4$tZ@>$wK5QH(Wl&0?&DYZYT{+&VGV&UFZ}V+kYL!^K=D+Fin} zM_9^rAuQuIAS~xLBCOyxA*|#!BXo1!2&=d)2&=gsgf-k>go@gmqjm!g}r+w;lb{ z!0o_YBexS_6SoUtGq)RI3)hFRmD_``jq69aj@yf{oqGUb2e%JlC$}HrdhP(iF76=0 z4a1HTlhSA?zube;h;a{nPV-Ii#o!GengdebDY$N;6A0wvn5WRfv7xBsPgp0$ulUo>WC`!);Ot$K$=XpOjONs#5QallqjLdQ6piSDe)2a_ZBn)Vt%Peo{`&t5WyH zN$rtSdsV6T#7TWdPW_ZBb$^`HXXVsSt5WZcllq*TdP0@@fjFsuOHS=mrQR1O^<>n% zeMXgMf80Euj#wX4syqkc_0Xq-GVQF$(? z@;nwN&+kR$c|n!u@i=*2jLP%-syv^Hljjej@?2Eq8Hkf-HY(30Rh}ofF9Qz^#>x4W zsF`|MmGelPJYS8<^M|TDLvixFB(KvsRcbCy>X)Nx_?jxuaGX3}kLrVOsPY_*ljo13 z>iG|d0mx< zkCW%mqDJQjsyv=yJNLtrl^PA7f!yyY)R+|G{+#;}S9#?xzNr_UXf@|_=XCBjSyFdG z*w{Nd=s6j-^TT7@FhAfOK6QF@&^sJ9@xxD^8TNR?W`39(;fII3VbclE_}IwNb77Nb z*y9-)AM1B(!&Ywi=-`=AFE=ve#jTk`X79+U;fcI+<7fC<&+rgG?5#aHe6IHBINh?0 zp0Lg{8rBVu4T&^9Ynurnwer?K;ORw;1zd(t^A+$CU)4`)y+ZR5o)D=z`2jsMs_%rj zPb-ZkU+bl^+2zx6dd_ggDD_9HW>V+1NN-O_oR0JWzdoH*&X5kg2mVQPrB-tQtyIe9 zv|fjlQE2yXwyqLQqsF5>tJ7)@X|(uve$&(XLz=VN5{=g;)my6Jb0_s)yL8W)SRa~w z`mbodYLLE!O5hSE_0Q+awFVE6WIZbR5CeMs0Ue8|Ajk_Gnl;>@i@hT)6H$RDXQ@)NuWg z(dLt9#!d{@_YXhq9U2`!!__~qfA6ksyAReM@bbf>Bc7q*`mMuH4UdkWJ~ce%tv|4J z_rSr21_n=`uE$UJ0}l*5)L7S0*HDiqb*ImTQ>di_>aONpsFOHq&woWQrCBv37`wG0 zr)$nRmpEVM&uo~su2_?vU-#U)=QlpLakhHNTE3E!F>`XRc_C{lrDIj2O)6d7x0026 z@!W-Tb15(QKGfsM`}BC#W;CX*B&E#kSjw;U=he**`%_yMhOTa3O6o&Ci_8DOzLm7B ziyap_X7|0&g^U&#GFn_8+9@{`@$tLX^ba&zG-<`0goNR4-=7-6)R-Yp>E34vaoNV$DiE3WbO#rQ-0U-@v0H8?s!h%d!KFIlBxOA zj4g@!Yl#*_uVrNRSTxtFGq!BdzoD@p{zjs4OPc8oy9saK$h2(f)W1=fvZYo3MyrwH z8;m^(rZ;tZq?}73G0syd-)v1 zUe(;9a`{4fnvSOfVtE77H08_issw+YbOckHcde<@W$1oY>j zIZn;bTgq zv@@+es^tuyGy61K<#eh(GEOx293LJ!=^8o8;G>9|T_YaX(D*5Wb8PqrU8ly60IXo} zpBfn&o=AMqGtAd^AHzfmYXHtngJT>&KEj0)Mou3e9~%xEMot5QAspwziAP2UhfW?D z=J|7B^T@DJ(nKQQ9glKH#zw*k!n1IKcksyQur~sA6Z&n&->qE;eqXyA$mycSr+FN+ z4XFFB6WynMPVToq&|cI6t>qas=QQ8apVhvq?RV?KI(|5u;29p|hmO1TVO?EA*aV>L z9p=ZviD&SM13(aCUJuPOmuremi941qJR5%cG{148WW+NdG<`tmn7S?ogFPGT&Zj#(SOl=G^M$byl0`}JpcT;=g!S$%~dViYXix9e#rp!XI&*)w~?n04x5e-4}xg& z@Wpgz934M9%!l=ZW9QIlyI7^zQV-uwRS@ao+APl6=yvfN@wS?hbs<1A-c4~{EWA*- zoKhM{DV=+4p(&Wsww%%xNa+fuY@FKlfli;5Ftzu#S!1&YllLqREG6#=TKD)3dxXU) zcRNa>_EHDkdK&>GxY|k3Rvzs+geTPL@RlxVp>EYYz5_$3Q8v6h4?>%MJ!)%MNg z4>Y=@(tx9M#yndUO3PhND-WcV&pq`{THQkD)zn~fPbj@$uIR$v3%lMoBIT+P1+CgN zwoJbvgUz0>=^*=(#)<6XUhnD7`ufI>rn<(qb`Tbg%`KfB4egDX=7zDsQ^R5X8GcmC z&=fyIla!`8ewt<}O-uYVEmE4+_-R_DG;Q(Iv`wTBq51safM?k21swG-+H%4M7U&$- zwQ!f=1tUYBIp!U}1n>?EkF!*d`C$)OATfQ)=+bkc(f za}R5bt5J?M$+2cR)*{DRCXAC6v+(SI zcf<=C8WWa&2RtJa!+4b>_JR1)&W(8J`v=AuRqFw;6?%i;f{8d`et_M%8eat{9^v@C zco;Sfj}cDb-lLTzCuw?*AdY<7{GLI5+wvZ*2KjC4dkN~>wjtcf7rkQ8D~zQ|oZ%-& z&t58nT@sYx&nO63dCO@fBo59{Wv_2hy`12VCjq;9T?~pr>prlU^sK=hLGOW?*e0rfIA&pPZ$}1qq2rgAm z|D^9AE>+2WLf%J{+N(hO10eaLct5?&`^lW~iBu)06!Q|9$gZP0aG+V*`>c_8!~+_M z^K=^~HZ!hJT8;t?-*sSbzl->#8W)5K1nda{OC+v`sG_lPuS;Ojc;bBdClK_ztvofA z$7pDHYG63&z_x=2clK{TFwncRZyTRMFES~}qPH^RCZ!4+hQ`4@*{K0rhrwbFGsZD& z+PRlS+y*|MGMc6KhV=yTE#iV2;TXlB!22Y|he?Tfn#51y&-33A5D#WIR;ZY+%e70^ zN-$k7o|-!lOmVMjEJ?2UeJip*~Qwh0=~{XLg3NT=V9I!a!yBjjZmKO?&+h3{+nJj5(&e;G$FmvV3_h$=^QR?S z>h#yLizr;5f$$9n_$|#FIcXHu8Mmx6z0s_v_&OGL*7j8C-*jscMv$N~jQB&8%wU8} z*LVpmu`6PAYrO=4*mXjN4$>1^-LwL)=p{)J_NNW>Pgz&zjBD15QC=^^awX4iW9RyyGr;mWQ=x`J>4BsuqMggmPov{)4?BIoWI-#S1oNL7AL6 zb(%kod$2|{jo4fiC`^&QNb;Z(8MpBhNc1`Ud5B1-`DQd`fKPw1b}lWLR7N~>?R?6L z&GG!s=XTBpmpHpy6W9hc(uUWMSV}tck?QamQ*Z=0gIzTD=rwlnjsVrJkgnbek z0N9fSfF}s-L|qbD9RtwnHZ~!}O2c+ZP$p*K$M9kNI0ZDVU)2gT8goMfDuQWl zzs>!jMHWfjPFxGy%2(_K%l49hy(DNayJ0S)1yO#-(}MN@w&@{b>R!iWOnS|=^kO`? zw$8XkW4hL*NBj*93-z^In)PoqX%YS#hG*Ffo=MY54bJ$d&>IY(@n;cJ!7|bz5zy~B ziV2`BED_%W*hv^%1Jn3tC@BS(@W;drDo9o{rw=j_qNQUBg{DGM zDW*cq4XRJH*!gKx`fqso7O>?TF>?2}bcwWDyL7GMpv1(^;S{!PBgX9lin&JP7R7Z` z&w7GMCA4H4=AM+6?8&*t`F-!$>S@U~h)b4!|Id;|4@O@1T(Y@r$%>-M`$W;U{o4*; z>pCX&ei!^K(B)!P{EKMlU*Rv_O1*!&{F9;Of9oq%prNG!yT3*H0{VIFBDINy#6hkC z8zv3cMHKN46+^NCfdrQ2C3qssRXXwXHzj-ZWUDp>Wl0HY6E8&`t75IK(%V?F*l&t2 zPsr@Klo~rrvL?_Z*m<80x;c926zNF-CtNW%c~hjf%CFKcpDbU+eikG}cb62)t-Fg* zfHPdyPa3@>=3y6hz>JdM0kY@>F9|8xb;2pdlwY6G2hF4_CY7|x%;BF@0z?y}3&1YU z;xj-SNZxOQPFP|z%W&Q)3nU_GLv3Bq8*|GDXZ3A0( z?hl(!4W1<3I1f)Eo3MUt{47MlUj8WQzd=c8d}J(a8S#umt?3k+rAV6@yG!DGo(9rw z=D$GkKcGS^lozz_sncPH*jA=0#J1UN(i5hWB;U!Xm@hyP9$HQ$bEZq!XH1pyDP70U zBh^1p^8bc_c&BV*#=G{E=g&TO_W5U?d*<@VC41G1E&2J~&+Wc!U9y!zM3RwzvF}3P z3;oOK)q(Wt`MtsPu4zjszj8i%-n!80&+YJ=ohw<{7tdZed(n5n_l@2D#_nL&mTB9n zS(958$|_mOEqSTyQrA~DF6TA}a+`y>t?!!*&ctck?PN`I>dd{lcQnG1>~~bo=glYk zlh-Yo+e45{TEN#69nttPWHh!6NVy@`Bpsld`F-=y0cuz>H?G*znFdhC9Zv&3_}MM% zdpb04Y{>4Z)xVjUiTInf#-29Qn@uK)cUZRO=-<*MZ_UuZm0?6YHvQNB?*Sr0#_iLJ z5K;GQK}1=N1G`uE*g3mTc&M8+sNkVK0v;Og0S^s6<0pWJq#gOI!NY_Ic$g4b4ugjY z&m=H-h~Ef!nBTny9*Sf-ThS!o3Y$b)T7Z7KaDs5pe-$s+0J`)(w(}ef3K2XRO#HIx!v<; z{JE`>aB8Wv&ELKwn6(ptDnXM~90N)j^$bcSej+FZjh(rEe{%DZx#g}&{Ji52k8>&i9{o^J@8`ef$O0iWSv;oBkUFr zy2ggjx`g>8Y#q0%2oH~|a_BhJj6sbsjiEL-{~u8%Ps@)Vp@4d;*KH14gdzr@L6<0O zL=(9YRtvMd=S~lYQ@rEe!O;N)*?PjMl7gl35Q1(f6O9Z(2M@|?;S8B5ipVG_i5!In zp6B?mpl{($5Y#RbPmG_0`WtlMxNxdc@_^-yO+$0;@Ya^*`kmukLJx17@$$Z1@t59Vy~XZQFWTc>tnab^~-WENZ;y)gR1 z*m7oFAhRx**$@J0kzWuhC=5AsLPaH^T-W<4mb8Sa-K$Pb8Z@NL#>DA_o9Q{TZ5R4O zIfbF((ok+5{jYStpJeJxoVL#N2h1hk=$TKL_r7WimbTt7x2@`tZ8cqE%kmpC1#LQ7 zOVUO2nysz3(Rj5cuc8scX-{I_@Y-`aXxORqie*Ua4P1!4;$rSX>!sPP#aaPAlr`r# zy|N0yji4oTVSiez4XX(h|D+L`Bu3yu18x82fRFGQPFPveh`^U1l>i0Id;`^G@+L`1 ze6r;LN-Y&N`HU#b6tgTNr={9_38UJ>ih*Q+}m> zy4!ZDsvl%npn7JKz6|yxT7o2#W}l8XLO;jMSqNtM%zzh(6D=aV;P}C#Ue_^x{LE<& zDHFE2qC?C5xe~uqk z7yp-3p}arGbYl{PZVGEh!bTS5e@w~0fWSjDRmANQcDIS^pLH?6gaq}p{Qm_JsJogH zr#A&nxwC^eOoc$1B>gFocVnmeRt$-s@Bd8yOxKdZg?Gu0sos^O)S1Q?hh}SnnHBRX z!6Z_LG3HNeLyo-JeX~!_rCjp(9VOGokU9DJr00@mhTk#gks(0-DsVaFPtTt{8cZ+y zKw~sopEFNur(4COp}hP#?WJv@th`W3>Ad!9Z5Kx7&w*XZO8jSy!D3z2Bg3jgla{>} zBCTZS%?<>!Yge4Pv%O!jhO%=2qX272S@-=^joB4y>z}s!olOCA^G$1x-;lFbUsr}O zZGa-AN*!NU7b*&hEP`gZf!Tu@IU}SUu<;p7#xs-n%#3FiJOkzw-p1Dd<*bUv?+F7& zC+d<{@M>L%6*DsGtx@?>@aLGQ+QyLzs@?0|Ee$W8Pw1xq%jCf|JXMjHvGj}~Cvi|J2`T^%IRS@^$c2>&s3${5pNUIRr<^p8XeKQRROC{9IxdwUo%F3J z1ABv$iAZOSNT*+u4(n{v28d+k(tI|es~GiSLrbhai>eKYQajoE27;JeI{R`9d|24H z%*#YCWw9q_mWD$b10b4n!Yx8Hks!dv4S#0HdxjroCKk|*mZcs20yIf%YLFC=!-*|& z{JlziBiq9dTUw+9{Be3n6w-U?6eIWrJtYERvc4=7L>XZ~R7HdqtW3{PE(TZxz(KH) zksl1M@|)>)F9lcz8tB`x_zrsTIs&NLNunf1xVTMB6+a4wk@Xhzt2zFMl<#k-pd>-$ z!XT&>pilayu!FRBP)CngF(3~-8KVq#Az%>X%o;B?T)w7G< zXiscVJZ)0I;X85X#!?v$l{#ceZx`_%FL1;-4x$~>p_+r_i}bkAiHM% zu^+boMc3;f#CWFgV_%eF$FTJuyid{d*7O1Png=i3IJ9-HxMwjgz7f< zH$D=mJ2Y+bJE{WaYLuRqF||9CSvGe(kXcV!VolSDA#>WYIVWJwneCh#3FJ1sV{W8f z^d?GO@PWob)^cU1Eqy!3@f*H-IDXD5k8!B_pB+RDI4$dB!nYiI7Mm0%QHw#Lqx4+mkt9_yO z3wu{BC}cHRlab4)!K?zJ1G5X>w;1aZr%f}-0dwJ;<%YRxH4DvJE!Ei4rux^yW}?>^ z^*4)%WJ_@mD~cAZcJNJiqXYpvV34JpE= zSx4w6+EmsN#F4ld?JsaSqLo1n46mS3OOnriSOmESJ+20Umf4INU)A$H_~Cmg*p2`^ z0Zs6*k&z{Aiu1eaWgh|$wU^CwVTNa@tQ#0Z#H#1tL#p#My&pvcG`}rrYFkKU(V!=b zhEQqMD}68beZ3#}+)@g4(&-&DCqnkDWqWbJUOd zDP7egH>8cWl&QYEjN5tCOgQx(W7dc<13taSnB|FMrUM77i)|PtL2x!^`p;m@$a?pj z4x`l!Qzt$2p7+ZJUV|=~AA^D4ag2xz<6MA3vOP;B-7sk7f{N%cth8%fBV$9OXPDt@ zgU8K)XYWD&|Hjt>ax%z7KuI-XgxP7tM34l7Bvsw8Xc5Kq{C`Ed-={I#g9zi(WCIjE z$gRlX%8xr--Qlb}8mD|3r+gYG$J$Yn_nY7xij5MdCERw8u^JOcK|84fC4iBL(55F0 z$@Jwh0>s#VRJc7_ z!od=>x&>B$5$#clA|L_?8(DD&p?{41m8W0_Gt5wZKmTV)%l`lY-~fXOe@mGSo^jsG z{}n~`o-?N)oS30_vU(~(WMWm_lZZs75roErMPYk6VJkIH5L0+OG#O}uN>emnfhi*2 zqmpWP_>YkMt29r)g$U+pMbpB@K*g5jiXDN99l?rSA83+{JGJ2Ur;}%`p}YdWIUC3( ztJq)M7RX#ju%>gmH)PM48G}A&$WgTHs0?7YA#=g>YT-MM4sZ^ZPH+yEoMm%Cz+5or z^_vTp%rz_ZP5$Ps!TN32wKwW_`oW6m=2HTh)&9LtOk3YAtDMgbmbF68uqR+HUTJFe zw`~tL?U=Uu)9Y@S>)+3%HmzL;HhcoZGA_0bFsos!cVBA(L&LBLAd*6LbGpxAHVdm@ zt&u5YZrWHg9Xv9mbd0uy^j-W-5PzABj%K)cFIc1)ILl?TG`q2ib`U;_WgAG|+BoYK zn?yTfhf-M|@{TRAA}A>KJtS{1a!G<@L7@82+eK_=pQtA@;)qoN7WX6;gvUh_6ym)j z=fw8{A|jeJVqb^wS2O-@9Yr9Uu)0MofKiCP;Kxq376N3+#COI@rQ**-1J`P-X9F{E zHS+%tO6}!$B4miSA8OCVxOr8_x6!lz7lB%-pYOnfi5jwaj#vTG$Hp*j{SF#+Ydx|t z+g6B!v$yINGyQ|dmIqG;22c7&Csyejx9I*^qdB7O(amPQlyfO(u5Y1eIlJY3mi(8u z%*g+2R-^XI_~Qv^2&6az39r*F!3F;N2(X{Y-R(WgP20FkND8~hh(Vw!Pn+boz`?1& zKc>EprrA;50gxpkC;}4IFk5hdD(%xMh0#0auF=6$N4UX_6V>vQ&L%S_9=8BSpsueSJiJQnDA95rGN+|p<=x9X-7Z<^DW&A9<{ zZYVW3l$f*exm-{Q$2a3BwIi--d=0hrC zfmFnTI#*p9W6H82BY^)o+x`0^6(uKuq?9HU;7hVV zn~U&GD_R}fe7YfcS~;M>TGhG}CdvuENL~pT2gpe2XZ`$jlqztqKc?852whs5fbXjDw91qt^^E z={1uuUJ9n6{a$7z4ow)yrDJhVCh$)rNWjHXCY*1F1tu*$b}3SBNQe!wWJjF&ibbhW zC8d$&<6Pp&$1u{#>QXr?mzX0{mSc(PcT#DSme`yI!@xG0sXnvM0!hA}OJa9ok3pK1 z9D#5DgyCBmlZu~)AI=VZYrf);dI0zqm{qtGUr8!_n>cCpC8AG}1X8LLMu|%JHWj;T zlJUB{Dg=Z?>cLC`4x9Tk@Q8EFH3-XlSi1?Y1wcrnAfOS#fBZjDu!RCbga`TmPSFtr z{Q{ba#w&^_oS~7h{WL#*0zRsSIcUpZn=7m`+9uO{iIJglglY-=ep1Ba2I6rbp8&f{ zs4P9LJN#*cHOdeE*^eMTddic~(@jQ*hg?N|bABiz69_3Y$Ddozz?0!F6#0^)BjhLp zrR}KlJ3y}I%pQH|#HADSc?(Yl3pxUhjthw-@acqhQFfj`uQuqcn@$4kTSLCLulIND z3AXq9_aC^?e&BM6zo33Ww~*p5XkN-`SvvHX|M9Wlq48;ZEJT@K6)LO?m37_&F;?Jf zS2wB<<4*s9hZ$mgbZB@pG5F~Dn;M@5csDFD3oE2&b;?g@C!sNc+`F~Do&(jx$G z#>56SA+iSKDk7kfv06aIV_>U2Dq#QvzY&1%e*xRWe~ixI|Am78fnY6vQ?DX^B@h}5 zc1liutiUJy|3~HhD+LOF@;cozCPn5?7@O7WPE>Izu~M-z2t#o)d#J_x8GE$>%h zfS^heYG{2w!zi&Z~RU=BlZq5H3Ud(}^qp5qV z$v_;yZ^k2wjJ8ygpc5o`h`PM;eN4Um7$De7f<$&H5*vx~-m00=KHf?a5PXG-B35_> z<|EWDl@LoyMez}OPpbl2>`|9OeKX%!8BwosOS*Cr`T%m!pNN&lI3n*u6Gs&@O@bDIc6IA1JVW94%>$WtWnN*; zla^;JXyq4S!GV~fu?#P>ga+6JOOTw1@|>(Bl?L@O!T&2O1O8v5%5rB<>>@G-zD&KO zV#RR#;3(UI6qKUXwjtQS7=BvX*%B!p1s8kV6YA}RD(0R`a05hI(qYqsV<%ynF~)xd zcWgVK=^OMjg#|%9;qU0p+Y|t=X!xH{K$yFiVK%r}qn$9jh1%*Tq1=I>g6cA-kJCy<<3(=>pU#J&EYaHgY zijb#RG@QQ5f+^2hmh%wmxkb6P|iO<5SGnjM#f-(Q-DXFL<9;;D{gwm>n^?;g*Kvx zJpY6UX`WZXwXC9f&Mag?X&KWyA%C4VuVm-Hlzl1t8%?jQdwJa}T`zZi*XrN!K(J(A zFnj+kO@SqQdgrPxKPh`9BYV~jhfW!A=#-t(6zR}uD|kUy@k?hfon0=h4;0ofSb~L} zGdmz`eWmi{%J~h8?qKoOncboCs#lJ`e0<)wxIb9Fd1h~@q~ewKm)qxeF7UyU&Y3nXVT{V)r4vj(i@Y07FtrM01oCJ-Xa zVemmSFk*P<7{W^~ON;M*pS<{QEx@tR4ut+n3#40e9Ep!1ckP`+-p9y5-9C zfy(uZ{nxvLmHnam^~?2}0`;5xn;-N){8+I5@s+y9g_`B2ErF&jS2y|(JQ!?xC|LLK z`)P@#nP{hzY>M_?*gMy^l-~GZGurgaRU`Upb&FPGNg<8BKu*gdH=VR(?!oT=wEe?w zt<><3Z?|YNvX|2<1L>7lD*S0pkY%EK9T|RS-Tb-vlcK-i%uP#<&42H3lJ!qg_Q#L~ z2o^$j_Y(XxX3Ddr+nY77Y(Q|W%+|YJcdc*(q-R~qQ7p{ zB7Qx^h;RsX%NKzLMrZva!hZ*J7QW}-8J%@ES|{P2v<~Fl61I;+>p(~O9w}7xl8Tav zO?}zcQZjMs#mQMxz4t8DeoUr3W%|egArE}d$E1&B3KKrnQs|#llNPl2`SiH-Q99_O zj4PQ+>fb1RWLD8fsf<2K^O@JsM=6u$XUu5jF^tzCAh(s77 zEt0V*qi&S!EN3yjrA#bO|3rQyQ6rLPVq-rEZNryR$?*xB@(4^VcEVbs=2@U@zKn`0 zMI#Ril#EMg*!oXYtc#UhCqzJgv9(~J9{Uo3njC3jO0i)fjla;oSp zBU5PaMkZ4PDup>|mnML?@$cd5kY#`JFCmg{s@Wz3J6W{`Gy=M}yUmhHBftJ@D!P$S4TrgS7{VmZ<)I{cH7C>-_r< z2AduX);*-kG90WvxYF3N@aXpkUK{Xld(8i-CxWem!NwyH%rI&rCxY5=@o0_Kg%Pw~ceU|qi9fS<$+0~ytA3%G{f!`*D*KFW$Bqd($m%J4|@;c2@RwoAK?2lw2Bf@ zEK>kQcoEB6VzgUWJm(1%(1NCv1}q&fD+_vjBQ(r=DEai2!IT_ZBcL_l4rq5 z3k-O&Mb6eTburemu!;q*M&dGNX8n8vR_-({;iE`MOV|h(W;i>ea<(T(UR80p#awsv zX&E2VV`x!WTpzz{b42)C)ge2XzE{uhnD1QJzo=dC_>lP3f-GU#m1C9$`}|Z!|p(c^YXxb2!WZ zHkvBiQbj{qdP~P0T(&~{Ii@BpXHaMdCW%AiCiRfS$@}-%@n)K55@kX5p-kH&Hi9Wke*p%AlVv$Av`9g3aCqHI!O*Wbeb z4)i>&PwSp$3QnAjG!ur8=B)H`MOtOSZNtC*9RX3$7w z_v}qfJy<#^Ra*R$iOQn$nSAor8uS8S_ae2}XN_uc8ud`j7VAaJ6`V#S*x*2;!OCS^ zR&Dx$veL7SG+H@P7w1&ZmB;_fea@5&=yJp=En77Ul6*-q)7;-o`TDOgQ*u-@B{|Ma zQO_oOoHV(ravT_!JZW6k%%uFd^?`F_7p0!J5CChGKyT$ zWtArN`G3U7i!+}0d5QOBm-I|(rB{}rN57c>lEAYPn&0tLaivU0XSd>8f-8%kT3QX* z8g9UhOIh14UkXH|KwpZ-mo5GK{$vfmPRtV6`291ArqFED^WW=gK4EJ(p1roKJ)B24{h}|&z*3* z&Er^_wQoe{0D_s>Q5>wtg;P{tfn$uw9#?J6e;hLMah%GNEVOSxx>q?z@(5(dWqgdl z)V)rzzemu^zEDuD`e%CBN^C|O1qw&lPPd&Dd=*Jx!bcja!-7&4OGPEIBP3uN$J#83 zh6mX=5V53mfkat#y80#eB_4qrRrcYVsj?Od)>9y>Wr4ujKo3|-_7TdqJ#ENOh>V<4 zuh1z#Xt;%BM%ZHHuv|LcNebvqLb*Oi-GBYZ=jx zh^!-#^OR<>XtDQo_mr9?y}vf`-SjoTp$7d@Y0$#pV!~@9VuReau<}1dqN1k~}B=i1NG8 z5f`Y>{u`(V(B=smIGKPkcRs@0P*L$pamBpx>ouX$GIBtHrvUYaWJ!XdV46h_@(ui*3Ufyv3_pnbl+{$21PZs_$l4m(ylvLzFY5|8H^2;@UTh5%Zo84SE!5ph zFE#|68__8hb+4R!`J}(8=jvnFG?>}DQq^;Hw}0Og!Ky)jdc{qtUVlelAiWP2BTGh+ zzo<2k-nN{+A&|ZybGj+>wk9DX>zAt=(0i)~ zwMwrZTF?d4VEdUT^lEOrUd_n9_{fDvW{=P7f*I8?@5wECsq<3j+}OgAU~b1S)3*`5_nxIBJ(2Edd-! z_~??O8%g~6wE;)nvZFQNXbt6+%FDMgrplG(wgsPm>%)O{j|7_!Ej>2i ze`0i11Jko^9oFL@>^p90G>^l+19vSwx@ns~qds76z?PHEKJD}8)d%biL2Ki}z8lsy zW?_4IXs*Uzza>!I6D-&o%-BX7EE{LEE1B7|HU5guK+bxc$T;|V&sFW!qHB78&emWi zET96JJ7@IxZhwA5z|pwuXb(7WB*{CD4YUEX5enth-kN}^_PZGiXTFnn!?YpP*hGz~ z4VddNH;gI%l(K-KeA!SP!2gDx>j(XY>LtVekip?kDGC^hmkkvG{IA(`J>74pSTgkA zw8BkG)Hb?S#f2o*i!uI?NFfA`%}A?Y#aXG#@xSIGCsb&F(Qp{Ok`^NlC48d zbH}p*AmiJP-A%e{nx1O>{Mg{=gB&KKCmlaOZL;*G8-Kb!xzBF=Yr7Hgzs|Dsbr}EJ zmE6~2{OcAY;zKAvzDSe-2%@>wi}0cbz5!y{E|BL2rmhG&Gaob~tcAt1ePBOCv?Dwr z884G(H7bi;QVNLzBZ}~RA(SR%-kF5JbipE0k8;NlGk~{NI9>zCthuBTNb!+>6lca7 z!T&xC1xIG%6^obS;0r;bETL_Z5X%pYR6A;}7nLkc#1+GX1D%Vc@{r(@cLaRqn6<(8 zljv)b@HZ}~k+RRRtIry1Z-%S{U?Tw3M;CYoE8_xWO%rH-WJB{KMR<>KfVT?rUZLaw7hn^0NIHaA z1Q(z#$r({na=enx-;6HDoib5H`y)ixi@tJj0^lGXz@N<^4?}1dj$xFjLgsNtQTIFu zF&&5YGt+`_vZSIYloLfs-!VNPoOjkcQ6@+Sp;J3Vr&!0Mc^Ne_QM4v;G@*Kb1fUxV zAA6~-B^1OYN|~-KIzsYKAsizpQC(~4(gwf}kuHVS$I+K}P6>3WTgyz_;2YyJRM!tF zs3uyF5roBb+lzoWC$Eb1qfLmgffRWJX90}%v++Ntq_X;_I7a-BsFW@$bUOu1d4ugj z{eoUFs*h20o2XFP(-0NzA=#svh7;(we6}eR@8kIcDCd6=3HL9Ez!V`heQGxlo}h~v zN-dgm2U2Uu`49OBOLfksU#JO*uEGk6;q9ji3Y~BsA^E0Y$5$coZ8-j^4yM+?*#-Hq zNERrNq_q@?J#E%9cQD{|hYCyPc3u)SKNmJ$Z3-6l&e%eAoy&Eb19h8&bvT?WAtfh} zUNy6G_P6MOF6)h~=68$B=0?6=7b>lPW$(*-7kU?uT^+glsK0ApuylW@t{Dw%%9*v! z?Y!ZvgSux*&PS_OwB>fO1_#n4mriXDrRChCb>_LP0cRz(ZpWo(mJ1sLg^de!SBry% z+x{oE4mO6?WoK2uSrv5F1k-AvwQF!l7K63SDxyxp>8%myx&xe4nm={Jl5L}mu0OtA z8j+@TVQ}GqKec1Y*0~~~{X3qGm_FBZ-TG}gx;GLkDBOgbO}e-A6$pQvW7*ba{BcS0 zwspoIuQO77lcm>XeA}Gdn`?YK*NFHXbG^8zhESG#(QX}9l;##q>sVHayvmmnWOYbI z7Y>qIi=|bVS%TNtexVxJrFfT9pINVLz(DuZDy5b4t31ZR#{rWuZ`C|+9D<3+knVBt zr_9(v@s41;pgRvQL_@I5liCXW4pR@3Y(egg7}?jsTeV@*tmw;f@V*4CPqQK)l3JkP z3h4>FCt&}8t^=q?%j!A{qo#?9ZgIxJWW zr4bPzJnf{tY7itIOv3Os9!Sz1xL_VSKJ1yuK817q_%TUEZh%!)ciekw6h^!ZG%?^~ zgi0dZGTPL~N{1a1u8_{jhI=%cSUi1>04xa{3Y_p~=$V0n3JS^)Ah}$Fs+pg~tFZR8 zpn>=Z6>tbaEX{a{nHE~jKaONwn0%f;MF~?HKsK{;$&|ff&+JP9>{)Rqcx7PzN6@-< z>B*$&{6^YW!46P@Pdfpe2!D)p7PAR$gm)6?Y#ZSl(Ez_?cBw|t+@Sx~uHUs(_LanM ziqK46(Kt2=9!qlfu+`=gsVHeI+0vdUj9SIfBhL5HS|EZSX7|d%VYD05MIm7(T-&f^ zo-A0IN>otT4%v@NSOv{d@Azp!Y&(%F!T@204M?pLpn!n^lW_7lM7U3l44)N5Rs3OU z%cE3bqH4_(fgvn+Mk=w@PjaK^g)b09tfl;8^nQ?nBNPxJ7|s;kA;{{w;(5}RQ-e@5rDg7(d!yh^`&b0Dw#f@L+03VuIR)2lt8_2)D! z?75NC?SJIZv^|ub&uoBlDndDxCqPnrsHi4X*%kqhECvRT3=AG^ z(&X&aGQ#+~i9IIsUldqyPoCdBPb93K)JB;6PSvI8YzaxtP9!ca|1JeqSs5X92V#FI}95px|?g zxu#b1wUR>q8_3rRoG=jN=x3}HSim;i2y5{dh5PFF+Z5LeX8$W_(#oc4Y{gA zh1KzvE>rZINUa|{JtD7GfqK(#-*(UqH&&;Hy~oG7ND4xx+m8dmL@Gc@iwkl(nicGl zpQ%m_mY;z#;Ivzb{q{wnTsnw9rs7p0N`$H+!9KTcrU?>!k>Y2>NsGh-B z8LdE2N){ER1pOAyO3xXkWRWQ)*^7p%1X=q=p@lfx=hzoYJuPu0#EZZmtih*8pC^9} z9uP$@R0d)19QVw}>oGl-av8cR=>J3ow88o*kxRcUQ)@EKVmV7Y-f9U|NrWHQ3$^`Q*fV$zFV2i%%k(IEL-5AR_B}`F_Js5d z@3&B#1uSJ`4E|^mMhA}!k9t%j7M28ge`NZ?%ar?P6ud?Od&Y`5Lbt?oMZjsI1Do-8 zYcm2FN@ogC`UIdz^u?*v4Mms@f4t{(3})*ER~6Krer7NZC{BPotR3~xLlI&L0J{

^SN*L9G&h4tKldt5ngX_2D5+*@eqQ^>_+T?tHL7!X&w*Qkwvm>z{PHk4G>Ce)uXQ-v0rhpmAv4N&F7nY9uqecqIl3^t3yEw#W zM$AFre+Pw=XL`?BL})X$(zq2{N#wzQ+Pacj9!#x-%U1~Io|(3NVAf=HYs0y<;Vd^~ zT-k|m+mWoPsa@>8-W|y6hu6MPPT2<-!<+7@lWoNd#)L-riF z{xaMN8LhEz|p+qsH3bcpd-uO%$46t5q59Co`;`>yv30~8J2a2BT_5>r z-`56jlpP8d9i}vo28$ZM+k=_pA3CwL?qsm#WT5CIsM74@Rhy=u`ak9LgtDvVy8_wm z{?6Uk`vRSZ{Ev?MPdy!Y^qk*00eo1T{CgXhF^Y= zp(#JC{pfZkGicIMZ`w2GD!x0kSoEEvfh@wsSM`2-&pYOxkIAvtR_z^64~Fg8ZtGT~ z=2~(Ug&p+>->Ae6iS3PM1BL6l&3N>d#z>*jvb9nFRbh<6C}$QQAb7ET!aHitgLt;B|~~LDzGxeG9Xz2 z8Nxkx5}bdM`%#t-u9^}!`(>Fjhr$<}b*m5)DewVdN#(8CdMSYuQCT3srK-@8EUe?w zl>A(}h>nsbjn5c?j@YjX9c4_k#Y9J{Z50|-?5zxs@Gcl`jtnu>926U$IN`!xcyzeu3 zz&}gD=O~wjiThQMkP*XwOC>Q#7zG3q*d7H>L@=y%8CmQZpsy7f{vT0B#%eQYmw;Ok z$haiU5fRzM$ofT;86sephX?_?Tn6l#gPCvx`Yt>9Y$dBYm{p54&Y)YOroiPl=Y)uL zwp;9Qah=;5!6M(Z6)fAz0=BYHX5Q?<3!@=t!R%9)l0(H{jXMIxoj2WZE4nk_-W4jt zsVRZ7Euq>Df9JkH?fy_hmw&^B>A_`4s7L|yyrmW(Y<%^OZjk3s)Nk#ox?{Tm%xif=L^oG6fqdPT>q zzDqL5j^w~)1@+$n42UTfjNre?jv#{nHlR7|ie-}!3zm2xKo>3$$`ahsDr;0FoR8+u zRjV9uN*20F<$=J}tG3w5xpb^FI6_IT7pn9S<{4t9Q#pq?k)qTg#Uuh7a1}^``9n%z zO75}hRIAvV6=9&FkPfwWV=U(nY~w%_P>KY*NjTJroZE4U5z4^Zz}y&PZDn&-sH)no z$Sxq@Pl>=byA;RD_!2-$_9cQNyJTV-pl;3-XUTD_>fkm96Mxzu?u^~bDH246Ta8#f zlFFq?qX5Q2ec$t#lB$0fe$oR zqm?{rTl{Gyq158#)bc=T`P{jM;$UhkDEf?sg{)vkN3@sO(z%BM={2F;>iIo^+|E$8 zd%il5-4?=$4DctLWFmjECh{kX!r`Id*YRNlArpyz8$(64q4FlUQn=}E4AnGzd&jFg z79J1Q^n@BVEjRQ)&&w&ktj^sqcZyp$tjAwiMjo*3u}jMBd^ z45XqqRfl+~;J^G-eQYNOAr0tX+8&M#TV(@~IIvYEz=CUWy?Uz&8%*VquvOHuSqoR! z$e6`p6ksZ$zdHrOBVoJc$oL@7MS!1!3ZxN)ATt&#j6{39YK(?2Gg9f%$7`fV0t%t+JZ*= z-GVu2@3;$;NX@)hd7*N)eQrM(b+$`nES`f_X5C6!&HSTKVxH%bb~%6EvJoMV}E37b}gL&XZ`kSm{)>UMwm^MZ;~0py6Vb zrJ@J19W7IYQ8XN3$*7CbZ~}j9k~W(~TF!#?Df6M=ZMQNCPF74*3X0+SUshSX3k4^* z{ z*OF(DO5BY+OA`wesWe8N^$JIb380Z^GO+40eFolKAyHK9hu4y4kdS~FOS2I%W|N4qqG&83BJ(&Hf;My*hRDR= z{O^q+lzn#PFd^`_3Vc@6STb~mM+Bm=KxN?{oDRi>ZL*p@RDE=CWiR45cKm5UJlH0Z z77VU2V&^it@gUYa13aEg^? zuvMJFceM3GXqtSHY?RH=S%HQ@`-Mxw>A$WLDHOj#Fg$@127#@I`*P3ti(!bjYw&w8Wl5fxgKn`^9NZ= zY?K09@3G2CiYSYD4Ud!3uITX)6+>l?mENmQK<9`(0q#otDi&j{W^Y;R6!%@&F>s1q z0@<1(|B}ATn=ieUo?J;&NwU)W@0di$D+u6EAh|%mfZ)WjfZI-;_MYRPK>VPv_^(rf zpU^wWo?1lV-=SwI!g5t<>9KtQ*|{{+iR+z6RH^71usKRc7M}9(Pg2>6R-RqOauE-} zlM)vHHx&CT3Vukz7zLlFpqPR$Q2;mrC!q%p?%&qE=YUFA*UV~Aj&4^@{fs!i%sb*8 z9rg(QLBgG|LzGz!cm%(h9-dCJ<8u%&Js`G+Aa5fW*~js(;q8kAu?W^h2zO>JK|6Ho ziosqv^1t}$sU3*qGz7C7aWeV)VDEB-bId}irE`Y@srA#Qcj?^B7o2opW;+hdv^!pG zo;mwM*A07NsA1ir_O-;twm`!czoY0IC3A!GMK2G3z3PUe_GZJn=tp#TLOV8I^GaXZ zaB0I=HsJu#P!0ATowJ1jGdy0mAnM0qqUPFna~p!WP3(Qwa?R#I&E~6xfeT4 z(Z_-$tohfQ#h`h|1KKxmo#M@NW`X$4VINcVao6;=PF|5nv3hf={HH6r3PExuX9j;Xz!W zM+_5bVt=wn1FT@(@`}+N0klgog|6)WrwIo zOhpoIu&MY2BI>Cqb#a{G)j+5r3r5t_R@q+Xu<7p8Vu+}GTx^K)#354HHWzCY8!NU_ zCQ`)CV$a!VfiGm-F|`T(&BlWPVm9MxP>@0anIJkeQqSAeh4DW?zyF;29W;y3@6KA` zhWiWgjC$p=yKl}aZo%66dnW%^8c8tnxQ+5#}?!9O~X)Fc!RZC^14xwj|ANf9gJgTu1TQ`;WSJ9&I4p*@uN7sk*XT^D@>C` z%f)rzBlQxfa*$W@PNp?x8`D*CMw=oR^Vy_!O(sG5m@ABhI`k!y3ofGQ@tZ0B3dhMO zan3dJJlzSIMpR1Svaus;xRN8$*cbuX)x1yM=T_~=CQsUZ$y_emk+pMqMDMa4S!K2X zXJCYc`5ou1ATFOPkZQbAsLV#ysJNuB2e>MdF^agx1t|4B)ZNQ7mX;J#sM7^$ehfZ# zB1Z&3BH^l*f8k87xOoYhg>xk1F$G#mLN5LL?X*o4NwsOkLbn2$Oy+vuswvACvjt&e}x{}|6d#)ca3_)yT6eqb5Mp5i(mz&iUfl)OMoz(?iy*WovH03NxA7`7=w_ z)^~00`I;r$x|Q6Pg~x)qTj19ut=M1E9;$4Ck#VTCBh;}m)Z89&*WOM_NUvYjBqY_} zPSqq;iMiH61u}OVauv1&3)?_Xhg=Pd2EVJzZ_5w48~nC%R^Fz_^0tPWwuHJKx@|Y5 zKLWcxQ_>^a_tQ0rDKigWeDuPj{-X6u8C~z@)CF@IrtLqs!gEf|{Jubb{dE6IZq59s z7Iy_|w+C}~O!xiVo;zor?+duvL&bITPY2*L*1qDXogZIvY+Na9Un~q3?wql`n}st+ zK_aaWHEj%aYzS@G5?a?4g6yTP>1J!s)m?$sy`lE4%k4V??K`gL2iqTp?6A4wc8b+m z3CT-J z8;bJKvy$Di@Nh7D!}PA3Hs`XfFkmYTWfq2D{vlH*AGa=(G^)cPKhF7v=3BHj-DAE^$hXD!()Pd)6n24xGx)swr?U_OXT0JY0Ob_|LKG2 z?$f%HIhg9HUOW>nF99-kNzj+2m>a|5QZT$i8N{)Bl1m|#6mqXexCvNX#`pvs=pyGP zybF#|I83e;Q_IUL)TE}UXh)lAkBRNXo;PWqvFij; zj8Rvtav>X&-M@p@N|Ca_0Sl4azv3aHCNR^<_EC>oe zkB<@P2}UA(hHim&)xrS1!iMsn#VgT9P!IzMOe}G-CuxrQ5COJ^dn;yvFA2m}vMNR4 zR_?oLxwCtNX*GUZ4JKuJ-t11Gbs$!{5p3@zd4a^fGKRGV+h&-dMePs_K(8V~HlVVn z7eIN6YBts1MLzHav^M6PQX7!UY7a31w2IA?X9Q+igbAul`m5&@HmgXIU{FaCj1w8E zu~vx?*f9T;hB;9YAn>o_0Y-QuK0*+aDPze-@XzqxLtt5w8>kQ5X65jIizL5I<3@Cv zYTO_#um|mxesiUKjJ7lyqA(#TXfOAh%P}^yT`^?|6KVA#EmtocmOIWzENzl$>yBb@V_I5=bDB1QJNR5nwPj#s=dDU>iRO zc4Ft*I22pN#&&RWgqxUvGEyF!1Rxur9`x6GY(>POnRb2~HV zSfnT#y2hQRzxC_tntO$lnYQVy`TaiMeV!7+iQD^|Kkjj|wK->>efHUB@9+DelhA24 z%X+DS^x0N#S`BL{Pr;`p?0^GYmu0;6f#KM>Gh?x^HXCdYhwG!mvD0wM51$=9b3Ve8 zu##ur+9%K7pmv9hvUGM8nqW^KgM+OE#vuF*&*xvIB4by}!X;ul(iTbK>ZkGo#`GU) znLLfwj2KtVsnh@)%C1dcAK2Bd0MYC3ItrHyk%wt(ys!)QkhY@fhZk*SY-@v5YeSTb zv@NZ3Ntd>?O<7H8OUQxouqBj_xBFd}kcJzSPe}RP`OiamMOY}~08_3yhVz>>cz-X# zCP_sd)sZ~PlQkkoIirsjv&Pd@6C-U5z*wqDk~f|FyK0ncS%qDBllc>Qval;(C+yO`O&Jq*eY`bTuF*)kFA`E#4M1*qyhs7L zvMN%dnZ8W`RuXspCsYT3LTT0|$qSRgXfRbT%wj|o6NjWX$|kisqS<`$WEryh8LBCW zWO=)+j^N)*m{p;`dBwM2l{CwUHP2tA*{Y_|Wk{~RAiWlwi*M3(Hi_!gF%*X2#~O9Q zlpAXbt?H-?T0ktZai;ic4_(M6xpHNdT&Y4U{u&McO}hI!)qYB~HKkLu5+yE7EhTo$ zl`&U*9Gww%j}3voN~4=p!ODBG^5wUYSM|#BrO3MF=I!z3oy!~c#5e3k+^C}c6gMhw zKZgKQcM)1?k}9PqCZK}YE3H4stEfLK`dcNh0^&xr8j@H+LgWnGlgtYD7Bpv*TJ_0N ztB({`Icy}XvO!qoB~DRx()d3{R<%i%RaMt7H+04ux|W-J;?2A8ecgNL``Y(#@Uq5x z%S5(B0p&4oW5t@{IM%9q5K5x|-)};ZjSSK&JT>9~K$07;&gS_l%jm<((;`MmYfPjx zl=39mh+zvDWL2<}q75i*`FC)o5U?ZWMGHnPN){W-j>73JaYs-vOU@)o^Pz)>kEFc_ z_0L}9arBYyB%RHSUBQ-kJ#0qlP|rafj|jWSI8SPOqB63@1yTIG6uf~~Y829ZNg6SbS z@`Yna^q}3S`Xc|Fd_x8zHc3ooqg8S$c6OAlrDTruJf5^)JbidwWCl~xIZ7eNWYZxn z;-GRyN)bm(1)y36(o%owP5h7Xa6hfX>u5%Tvm)}v^_5G4s<cvw9qcpej+kNxVskMAU0 zjn}x;-PFCqaIM8fa@oCicFv3A!Umg?x5BM~#X&^$D{QyLC#T{Y69A-c-ZSX2^AY$pa z0}dMO!{(&^*g=3IYScC$hYiqyTD;{vR~ciw2zmsu{o6qq#en>Lj;xA7wPvXnmBkR=4@41(85T~4l`n?RA3D3Ks+dzB}+YLGd!M9 zof5%W7qD(nXcz}iQaOK#qt-S`x~wyrpSA&9w29=HwCs!-{jZ6~X)Uz29YpvA{e z>kV6yMVoR@S}$0!o!GB#I~9zFGq)2KM0h9+921t7w4^bLU=VCWjr$Hs@y;pPeRw1W z_w;AZ!CWya#o3_EBuUnzbVm=0BTTl*FeU7^7^eIyoc^#l>&|46ItGw%Fi%OJq4nIfXvPMrpX&FoA5Dp!Q zCUfame$R5W&0>F>iwRMh`~q*cn>IK3V-nsBN-->!Tp`gFin}VN%n6t03(vju+)U1_ z5&qLlu88PDpxwqP^G{qJ+VEL0-Fs3{BjDMF_W2Ppvhzp2?%D1cZl?M*tKjQK>I+}@ zyAADM@=QM-FQ}Zo|5icmLibb-GG%y55=H)mF91(TZ|+nsf(F@(rymtqN^6NVxgTDu1gDUSKY|u7L-KB0z zFK4)BE1Kdv{qsO+N4H#mFmI@66@e{a3%MkPn}dJD?&sx+XK5ks>j zI(%k$Z1^}PT|EdqoACepWT}}Br&QRW%b1}?=f(afGgUbhkm2-Z!o@E`8U#3jkPnDz zO)d~z7rNG@CmOQi^E7&zVAP08(_&Yvly-KyRo>NzdkYE{t4KQ7t~TlK)poe%TCoNN zYr0@!6fAyqyE+R6E6pG_w!GMn;o*{dA={7)X%fEVe?mnja=Dm`N;bB}GiNj0B~aR|ZN9NDH0VEiiG25i40X08N@`u|xc;oM%=JIB%x&91tTS zp{O+68Ys^4f+?D_28x4!KKy<)Ix$zK6JfC-9c&Be!q7*p+0nGF4~LA{oRj7YW^4iW ztJ?y3c=?7!t!({Cl($UZmn@RAlZ6s}4iGNH=BM9dcw< zhLG46`73J4Fbx3<+9JvxNuwkA|Aj|BOMB!dn$aHdtim*MEIjNOU)5}f=v{{d5q2-4 z*13wOqc2U&ATn}&!c&4^P}>tVk-6G89-rPb)Begp!V{b|BkNeAzG?2!uexxuLoBL! z*Ik^-!~GPW-LE50+r2;i>!hCInsK&|!$3nI<(mW2y8 zeTw7V+PY`Hle!fi1*f7XqE<(e<}zQp z^yfSDJ4}AQj+_OOBE|#QyO1q21%-a)72y?87s1b?Oa_F zo&(wl+YLz7Oli?gJ=T z>4U%<#5&BSf`y|@@6)lmPYn#7QiVIpn?T(oSD)izMvk)A0R(0Ru}&?oGl4^Ba=QVn z^sdAzPtG`Tgrg)t%A#C*F=F=D1Pj3_*Fd#>;3H5cH;!8wak@lNCEFSPrNb5t=v< z@(pUl4$X3auhH2hsP+tSw^23s6RKkkdeBDegOvfIUcauolmqo>SGj0O+Pjp>q#}Vq zb})pKtG`2sK66!x&Z_T^h}(h5+zYu_1?*RcaDuBNZc7MAew1#Jx5`Em)KRk5e+%QDJa7d1x4?j6FIubhxQOTd zH3$PksIyN!O&o7DnRn{!>0w@#4l{M~x9INsXb2v)>vJ(+E!Or36W9Q2MX4F1X$jYj zS7+inH3l6?MHGz35D`OrCP`GIdg6Upk|D3r1}w{LWbX^YR+9IHh7P|?=Lk0Q2Qh9* zY{Sfl7wH_siJzm|&!~8n3PO>P0+mv8HeHN{{%890r?`~NlTb8-IEco|CyUeGMxCz@ zs4KE%lsq^XHg(`nLZ$K{VN{rL~Z=1@qrGn2TI6*3NTLCW-(_^fEurz3@Z>SdNzh zdm@HEtUz(i5TUZ6o5RobrZCDId7DtaW!i!Ad#3JU{CvN}MP`%5=^N1{%X_a85h1w$nK$1<_4{6wyZ%Nka!_jF=so5KHstev;5Sglf?HsQmpY z)$c*M6DnsFd1~i0F&j{5l?K>Psr*K^wm_C0dSpqYm0m0dVOx=MA44BTjYo-^bSO`g zQ0UarQHv~T$dT2>>{o|AtgHDIHsvkHK|1mZYIqAHki-fv5(rZ<#Q;L>GxMK6r3SxG z#b>DaA{8Y0m*SAp3nX*+;io7`00XcZ3t^IgWQ6)<0FKZpfSb%Ju)!#-!oQ-?F9@2w zj5Y+#@&L`=Q%%r)%T5?AFFMI{C{X*A7ryNjN+_$dy$0aJRlwp^U3lrj%*Z>g`ek?F ztM*syGm&@P)yUjzuYqa1+c#rFsAm|wx)4uc-Mz$luEu~ab?0`sf@rUzven*GX1dnt z@9~?i7jmdy_gheo7c;SdhJ5ZukN?}M1%5ZtfJ(ovMTh^NFCwVc>9W*7eUmxbhS4Zd zP<6Br*#QmL?;=h}-=0=ozh>R`)Iw9~g%g@MVJ!{Uy0yd!K>4H5p)+Skhjql4=6A}g zk_CPxZO=;jEmexZ-=V8SGb!pVMl<~jos|Rw&W{ibEMgM*Ec8#BJ}aAuAcL|Y-V7U` z9n$W1OJt3RZ0L7>f1SrW6EGnc#ro`a(zn8?Iw08D|1y{Uu@09DVSb272 z;RSeN#XW}v=OI~!kco(YeWy&4A%yQihR}y;ytJ*?4P;zEWkGJQ1L6ZSmEjQ1TsL%5 zxz&a8hQmUo+uqw{x>4fq-E6wi%29o@1?6~sCbVKff+QzODPGX%xu=c|^XXCQX=4!- zfB!T1NNZqdF!3Kppb)hX!x#h81(uLSovgF#2m0g!}^d=(p$3w@jAJvTVvxh z*u;V~HnC7<6S1zPgW-9Tt~Y&>T$S}q>jMH9rYiSLN=h~MtHbj}tL*`gpBx%R0$Rl+ zkbO@{NnWJ!hPu6{VtvUU^KFcEyhssRvb)35YT$3;68}9aZcy=KD&C^v8Wq>6Ab`UY zg5!0N#v+*q)B2GBibf`wrLLH*_CL~fMk|<6BX}Vb3(^}6N^inp;RMlDj8v>Ds8Af& z-gSj!*5r^FxIgZBKsfTS00zbRFnFIChy(*O6GHR$g$rWyz^%~0T5X%QC?S?Wz9ZWA z7O}LA6dA3^+~X>lX@>fIuK$*6OQLSWbneWSTkh&aL11P;ENGmYxK*$fE|l`=+iH#U z7_Fqos1Pbz7abeu(IdhRIBOn?d+ryU_pbpg?uBY^#=Kn$^b{HXFo@zWyKN}1n_W~E z*?SG9>t+6)t)}anII3^8pj=J3+=VhfgBfT09*>cZY=lcTA)7{%E5Z=IMDu&jCcayJ z2T;56Si{GDu1f8H?B}k!1J70U8Cj_Kd}UB$a%Ia)eZSoPTGOEY>>B~TcXu< z4>My6cG4Dn9<68#S_xY_^1iV7rOjX1{?hi>Tgal)ng4}-FYWu%*+plq{#w(bqfWVY zX3<%N^iRJvc}~FMQjfXEYPfE-_iQv>cl&#qP1ox=syACu%BT*nK)!q}syt?N?5-(M zX;K)fE5fU$qq=NMPi0WoP=5m@QjhG&E@RhOSEx&cq|rc5OtPGz_5;$)L=#v(R;Da3 zQ|_5y+0kWdF_JH396)6(sfn^RI0}>`rIOO!2}!uR{54e|lZ27TB_qf zD!?;mkmy;K21@|LhIWLq>5$NNiDEkd9r?)dk*9}7;d3C(haJ1B4+DvjbqN8G@(gl+ z%Dh}y{>A1g>rY%>8AoTDguUkv%oGJJO7IzlUm_ce&G|jZMb?IK%6PQY(+adB=$i2)+v+D#E_o^Nt_B6Og-KDK zlTE*-TtiP%h+CxBgE51Pvg^Y36+wchIsV6_2mF))wFKG~kaCM@{}_bM7N%F}6%5c7 zS^H;2xH*Jik!FMGCyBX{6IZbw?a@Mbr`ob5xr%ypq1YS~j#CbG4X72}Gf9~0oN#`` z$SUQLF<;WGNwL(l1rVp3Rx-M;|<#oq&tNG}edE{mv zU9=GY+!$GDT4=fmo@~haH3HF~su_m{Ia`|vSJbJtaqBdn^0<_hKH(k*TRTZ?a2d@| z_7P6Fe)koAw=ql<=(MmdWo*&%*UiyT+SejlAxz_BRsegj1C7xNrY%q7Y%4bgLMlo<7D((e+cy`l-{8A0zd^k3WEbxFus)%hI8}%cMtlfBl3< zpJotmPv-XQ&=fEH(pZCX_7piOWgMpnDPy;DAD!^zOm2;;yC^hYO^&QyN7QXAZ zcy^o8>&Jffsypz-BM@8_Vg$ws4?Hv)KKje(*8WF+MP+2s#@BNui}0;V5mu`x+C+N* zHY}>mgz_e^(x`~KmGy>}(r!_4=!6Pm(+ujk=(;p~*DO=b?MlC3Xj>K*e96K%ir$Hu#@(VjmU%L}xA8&L%C)(nF`J_^(nA-^5R{ z7>RPmVuMJ>J*az)q=N;^A7mGkg;FxfK?K-24!0UgDjqSXMXi?wkxc90#PE}>cT>7`*`|jEqKR!f!;vzcv4Ee&^ho+$+P_H? z))wDO=ScR&&r{O;l-A#4B0IXz|c&^w9&lMU%OrSfmiXkS64()Yk_nl7;eY>Qs^#2Y^dPK}e<;ble6tpsRWn?L@EDhYo`3_Ki%8`Wb+1rO2@93^fwxWZtM z8Z>m97}^#O?fAd~`18JjWp`f5Mdk*XpH}$PQ%?z=rv&FyV3HfaoeS<7ICL#nMBWU( z5&YxwrHT%*q9b0h6$~de zZ}k890E`Gq){DXQ@YXq%2-PixHX!ineEU10&V})t55#vIOoSWehTd?!k-K6+%ajSX z;|+@Igu1O_QP)yYuUOQZsNI~XAgiN_t%=(8@LyQ5TXu8a4-A%KA8e0`>t-k8MVl4^ zSC5JvhsC19i$$AKjr2;X^@hgH^B2U1JxdM!Vnctt0Ryt<`E;+^H#ZLQ zQN3fSx>v03y?Ri1@Zoqhoa!o;!&S4=1L6pnyW@x$J|caAJUGQu#)>897SXvSQPZBN z+OQm|yE1Wk;cpNiOjf~s5 zo%tUaauGEa5o{}F`-RqBV)gD@uHA_Z?bA;3$#=IbH@AQN%vaBRZFH%5kJ!8?-n;NQORg0TJI&F2K~Ba7}w-*cADK!DtcuTD$qU0A)9 zuNPXouWpW)AHW-z*Q8Iuva?|Nz^n^FE`{}buD&4bc~~fXi>1nuMmK zLg5pO&OusPb%L$@T}SEViRGG&^ZoIfZoyfJK9RdZsO=JJwh4vX7o9sWZkTA1ut&*M z3DcC<&n~)}Wz!T0$K4HxjN%S`Wy71B-`M=-_BXbFvvIL%yK=p8(M>BkP@M==CW4Lc zZtEATI)n!vN>nwxx%G{$Ld(vpP4TLO%QbthKKu6b*Pa&+M};T(cwa1DGe$XR^QZ1x zLA2Z;g6mG_&72h7b%~8TmNxc^8>L*akH%Mt>q2kY<6n)#`uI*P%f~)r(TkmgRcmt62VT_25ODzXm z4S!aE;+naQ%8u?3er}X>d-3zudJC29-9G$$KYw2#e*Uh)MP;k~P^0PZI%^NrnuIWi zx=?FDnMTn8LQ29Z;u$EiFA0>OVKEU!cM8xu^MGhY^+#b*{xJ}hZl^OCWHJGS8nkZsMS%4ck z#-TMIi+K9kxGN;sLhsRf7TWiUzI}1m{+qpm>!4seC{30_=k@jPI#=~~n=6SB3B#IZ zY*?Bw7bZ+TtJ5x2K@eOEDK~uO1%~`y$%p5Orm@yVmvqg%Li%N;Y!G%0s4@fguCM!7T8$-|W zBw)fx5a_X!EK_#ceA2Mk!n}Y=x~d~nY0JVrVR+IZYyR;%(gA-%b+KxqvNU0fX1}|Z z=6{uX5s@ZNoEYYzJCp|x(8ykg@sQ)52c*B?NPL3W+!%sROG1(tF)%rvj48uRmp9Q$ zrh&^!yMk3y#5bc!2Ym)&2MNtsfZRdmxP36H-EyDk8;CPVc`tUgMd<2Mp4%{O?=oHX zZ#I2{>oR@I0?Ra?{&U67$Hs=A8XOsY@@(3NBExO=q4r~F=^sjk4If)4rRkc~dv!@B z)pI(3uxy6oO1o?Z+AyHGR%zWI9aF9esvN^_jp@YkOxgSKYVg{G)7)k(xQZbN21XnqZ)`9lR0vN zNahbj;-@_k6TcqIGig)gPm)jVGOk5TN&C>J5R8q;O}-Vaq-)1;O%lotQ!69?|Ii6m z&*8s9b=B`ll8dk#o}mkDkE>Qckvv^~GKRKZq();@WXO0b=^P1lG9Uv2)}*6CDQXRS z7zO)FI&`~pEfWA2L3Dk)HoR*u!IA^$f?!FQWE+`64Mo@?MW9*sgegA)AWmuJmEh&z zYvoHNtzt=Qykz6;(uVnJp|m~WuZMF^ARqK@pl&WIly10HI=s-ewDo|v^?=ZSR2YoL zw+;)NhZDhiB(w{*-3lIG2rhN(6Fc?^`#&KZJr?gcp72+LZuaGa!7s0w+l8c!iD1=S zn-FZd6+AlM_pJlpI3VmqBsfaynDB?t)}O!PG<5FaUiZvAJ{J+o+7?ST-E4jLk?89i z=eic`Vq?#bLWgIEt`6O_-#GI}+^x{z#lR8a)M<>>pAX?kNySQ}*q1xy_@EikbozOO z=7ETW!h(d4z{A*i57xo$_=1;ut-bAr8}{7Z*1{V_W-9%DI@4;QvfaK5Uc@{6yUI*& z`8d?yDzl(O9u>(1fMH1FDga+Idi*@)cv{Ot=Vg4n-xchFgMf0HcWU4l1e}^(j({9I zeIT2c4$T@DYA9O4?9eiojHy<5s;7@>%&oLLMdHScBbypU3v9zYeF~IYPN_ggIRizE zPA$kheMr{H4vh;{04AdrN|oyjaG5n=6}9M;L#o0rYjgse99M+>>HwF0yeFsCe zPi9(3)2?|6@yzCsh%B9e*OCckG>0J~p~7@XqEeUoLekRY+W|{X5-cG_1;G*@V2PU2 zRS}RXc0`WA8`fnfQk=BR!+);hCyw9UtB7(Yf#dcE2^2tTYIZv)TZ-dXAAs%t*a3a2 zG5Sm0%{@Li7uBG=?z8ur5FgUtv)y!k3rF?s7L?;9`hBX;O%qEaj#Mi4k$c>wQl4%8 zJ|Z<}F(U?uO2r}y33{Ug<|ZAuW}YzXcCNY?PUD;Ca&0p+Lgdlb_A#=(lLNTYTNmoc zwG9)Pk7$Ej+oQ-_B>4)Yg;u4UL+}YW2U0@szP&0Ot3D@WuI_0nF+zlhGOnmoCKYUx zmJ1drE7`AZ$K|b7Rsz={R|I9C3hR?ApTa9@4$u4??W<4Hxr?X`$lEQMBi}MhmtUkp zL*{Y@Sh9EL|Ay{l==$4KQ+E?INDMXq7izSHzQQrOev1mGi6E|7Hw9S~QaCc|-Hp8`T_MV98dXB%R+H}2~qk6Rk z<#;RGV6wWWMe^j%v=VM1Vc)u;ARvih$dmxEmszS7__^Tok7Qbj?s5#hqAP_ zO?_|IqPY;OTA~h6=~yGuaY{wS${Fac^0c~A)BN*dp0u|?RtK^uSp6K!L0G`4HR~;3hBKm}N7wqefLJK}=v+Lty+K?FnYoCry21JWc zIiFL+r)C^l1c}L9pnCjM?&S)`QDa_Ax^%Wy&Iy+?SCej?T}d&Ekm6LH7PKwPXj{HU+udjz%4i#2qwOcqwj!f# z{Tglm9Bm^RZ5!5T`vbHs&1l=WM%#Zt z+a_v@Rr53T%dK0Z^}m?0YhV7cnPT|BdhH{2#yWXtxF(Bq7H&nSBHF4|YRZ06RvAVU z*6h$UtEmakgo_a>EpQOj!5Ex3>sG5Kb6Bs3I#q^Nyyvrk=Z_jV{F^quT=bmjQMmbl zL?Pmj9bgKAlZCoH(L7-TjBClX0z||ZZnE$~A$oaIs%b(zM9b7CKQI=KB5d&Sv9tVnt+&qbhlRQfb%PDf zEGqs*8bw9A#5--=lFkY`gtzcCCgMpt_C3C7UVgZ2;!34vSs2jH@&0`Q#F(a;@6VaWtjE;=L0fjQ3CUb^IPMjQz z{hWwKB+(rH6g4IC6k&`05?*;;Qvi!gm4nCSB}956U+VN1=&f zlSXW4(oQcqd~E3WX=daU@oRzWd3sAJd`||qS&KV)vX$hCd*=yzNw!RTs7BOtvNnon zM*LHlA)VS`kY;+2)}vy4l`NO1Su#_TuF2n#9C>&`JQ7jPESCsYNcL2_sn$>Lmn&;@ zho3tRqo$wI`A<{vS5%NZO`3*0`mBS>K1upDZHO`$n9vQ4orDXHWI{H`=8b1uGuahN zVTEWVsY{Iw@qIeu*4aNXsk)?Xwy?D%89x!3%>N5D&N&YEq_G$qKFbV3yL$B@G3S2b zCgdqedj7-M_PjH$>S=PYhHwsfMPcq%7RfFL_!K|O495GS-d;c`zGz4Yu1 z!c$izN=m15CaQG*mqfr)l;k2JQNE$NL$HNOt5K-L6A{YW z7hU8~#GbfE=o=LFd{PJut@%U<>`Kb6*e~137^Hf;u>Fuwd4Jshz*OE(TtU`PRl;AI z2sI=E+hHL?!?sY&9t$jF+z5&EzG1VyWNKf^*q&FiTwF2}nLQjYj-(7+!N$4!munl| z9C>48p8Ml7(+7WP!Z`>K!!5GOQpduvc&K|Rv|9}AzB(#A^hiAP=(H0v5~`YZuPe`WquB;)Td{spaH}pX!nUewTdM06 z>pJ6gT@)*4Gko5r4$eG8fv(zL-S*11FYb89RkhsEJol-uHBIMCzi`W4M*(v-vw%6o zco&r>0=3Jb%2^l&wqm`Kh|5AEE{omq%jY?)z!h4Wzxm)v&QMf_XJFNml~%_>1jcSX zSD(3hT=4E+bRYP!+fODzc_qJ*!?)*H+<$NLLxY>}mM!~8dhn@4N##<>I*7Kx>)LSYe+27M{?KCSciDfKYs2{;7TWta zTYeZQ=-*)ZVH5TG!wnWXv)M%TPWycwroS;Y-q&XOn`VycZ5EW{>(XQh8u)JM(&~r~ zx1GrmVrlXNRd6Te#jfeylig%6J~@nhme%br}5>N!9^P(p-?3YQRV}vli;v$#=2R9OhkF} zdzv-ds#(kawz?U~`j&3pjOBv!av-N=7S9ufN5GeFmpL!zWZpzx);`2CCz9v~O#S7D2!5h!$%+4XI}`cr@i=Br5XVTOpd~n_e^RmANY8r0aqUTowD(aaF$YeJWR_ zb1fiJOV3Qjo*q6v^5n?zG^(38E16nkeK6i<07<8G5Q!)K8ULS&4&4fZjb}^=Q#QX& z7v`z>dn#T;lktiptN13ysA(LNB)ulPGaXlRkUAiy2}190P@OS6M7kM~YbF?Hl>Pt>;yx<=nl2E99&t-Ab3e`|b&1#+F`aZh4O5}f zv5}!OdgA&4>VZ+%OvO(l)&Cac3pKXzVm95Xa~CfpWfGg~&8vP)vc)lnWG~yI#nzpL5P1oj-VWli=K!aMjTX zZf@ONXu%>lx2K>NM@&gj!=(|4#9kFMFHzYz?NZ5XCoGefgW)UtF7Fc}-7w4-dX5OS z55|KJAx39e!ySVwuWZ_$GUgYQEti0FpYy~^)`3VZZkjJx4pm(_fBF1e!D|yUW)P{x zO&DTb8%2NPTtEEh7mnWY z?}sLS$zLz}>*qqsDI!(xi~AdpQr^Eg(XesGMKr0!P_iZE!+=&QY19&_4&r((o&Xej ze&KY>?8bOr9foXgoNHY!ue>sHd1Q`z?aUO>)%HdV8AI|lh`xroj`?G8U&oSf8!Vg` zMsMPe`=^|6XPC;ry}oN{eUG@lC%%3c&FgMXbT&;52*IX=E41XQ5?xiZ2i|e5U-q{P zoBQJaz0;P&j$PCFP(Ut)Hj1H*^Lyfjp?zitXo8GSQ_w6vf-N8|PhXv(vEOzw(-zce6ZUO|nN&&Hv>@k~Nca+ni zD{|~dJTSd2@`NcH@uMNHFPLSsCG1qvZQd;@7?4+y4pFNF6wI5#ELD$s1_n^b))3Vt zg4FC7Kpr3<_+-v#vF3KIWkn!`M$~*7HUn}igik>@03xs+#t3Z_`uq%PplgytKz*SS zH&Fy$iRLhUt30c?9~P-lTv#V^N$~=-ZqGKK6DpBIPW~6UmxI|&$8_`HRFJ#!iwLNj z;kf@Okv^&sm-$&k#5UB4&&hDnZb^Qncb8*04H*;84aX#@pd?n1(A>yq_&jirg3n}w zeAd;#S>y)e&%(j*%y~FRjz%FkWL}dRV3nK4I@t~D!fjy)ZvcB^ongH}ez=~-(7KMw zO_A`nFwFg#$C)H_lW(Sz%H4V&0R7z?=x%rftiGF0eyqETf(nw@F%cdU z%Sq0gJ8=$CpDOVKDc@P10(P5E51)@Ets}AM$cd3LNnXbAB*TeJsrlA`burQnrr|(_0C|R^ zsd$F)-LKII_zoG9T^DyJ@=LyO_NBAHGllW|ri*<)aTF$8MJyAjH#qn3*B}4t<6nE? zN5KPg+`=>8J^vTyzw`X-hi41E{Lro7fp~HM#Q}KQ*nBe^zfv`OHeQLeG3|*!P_+3W zn*ih49QQ^L(Z%6qk>L`du;>il4uu7j-fH+_S(>ME!K1!@e751Wv!b^dq9jN-%4dcU z!fhUrus6m1?G#12d1`M0xbWo6V}h@q>eW|5mqT;@c*%yT{kL5uqN^t1E`HVdiW7q? zeQod^_qr9trfyEz@raby;4HY<|LZ%ghO&Mx=D^#}7x#v2*K+burols%MdTSg{1~th z3=|kdBj6!YaxrM6i$9nFjm(qg(H>1bj2%zU%Q$o}Q!(`fTR^6s*;3vstqEpMkO8QV zK}gl+0x&HHu^=TlN6$AR2AUa9rdh~1l)eDNHsFc6Y)pV=U@|k{96@qh)JAF)z&Se@ zL(Ey`p(%3#<4R%ZYGoluOa#eaZUf}PtjP(|V163051AFn)l1S*{l*3bjC_OPW9Lb! zp@lpGXu}B&2L11bRrd;=GT~7;tN_EcAkwz*nlOm4%0~bqt0Z*SfXycfz)%`?NkmSt z2RUlKhPRohsa$Pa50SGgWKSxM97d zZe?@|)44KspXoPgkN=#hnz~VA1Po$IR8qZ{3PzQvfC9wKf56!^PMyr}lTH|~Qdmb# zmnDf57~@UPU_gQ=S!fK~T>}OZEMP(bD*lpS0eQp`mu>LXE_oxOH!|0>V2pdWUObra zR4#dHMNjSQd1SEgY`WNg8*LbaC^UA(ecO<`(chWyRxWvKMQ^Q8w*9i%n)Vw?@4S7K7V9WcZTl+SJcde>LGzP9~Gp?$MM z3-^Eb(Z6`~JD(uS^L_Ea{;B@kuD}d`%T@8NuL^3n*}_`|RdTi9Rzc;vzRHBN0HbmG zQ)PH$Du~*z@AwSi{Sq*_-dWt+mV3i(Mmb)=B;C>BW9Lq+VJnvgZ%Fz9Dn)aJ*A8Io1Nej!dWa0f9BXf!%W5&VklPo$}caCOJkUlOL*gfN+A@Ybho4v&+z=0?@?%5%Zx+ zptV=jh#)|jDn_8$VN9#qgsCKuoq6CCDR)B7*$!3`R&Zw=lMdbZ9Xe^OCV6$73MhAK zzsgL(|3`)X6u(pU(~)u`ag-xTCk@RX@0DQ}79XHPs>?@n2Syr zjG)Rbrh_iMLCHfH5tDp=$Tc$&CF86Bc;3Q=q*K;xOQt2K@yU`Ua(L~*XV3DdVdpTY znvEojluI}T3TBjqiLs<#QP`^u2U+gtSkk-t3RCfWl=G5lg!FJGhNKlQ83`XiRkDf5 zmuw=k2uYJUU~!K>8%M=T1+V@JG1v z%J}8+xvJM*5Ntu&964AyS1kma6M>3Eq$yFoB~jm=sNKF?Rf{MeRhtr9_ueeLSs`rg z|54d}^Fyy6yK>_4iKX&pvAlWinRm)tZjiPTP_Lla_x>^-zhYd55U`pB9tP; z`0uD1g>(n1(cUt{m7ZLb*CVyPe*X=Z4fPv-3zcQ|T|v{0+QwZz(^~}`>TkhsB4`?K zT0?WWj+S3b7cI$7s*>f>8hHUek1t1{JqpDoC@cB+*s4enm@4UJ{D}LraHbQgIWQD$ zgzniPM}$zXQOs>f1|72;FI=f69pAm!v(@Her0hoav8{ zp*ZrZiX+uei7AdOx_)#yfi&4*S_E-qEoPw7D*Gw0Umd7)jBi;3RK|v3j5YMEp6sK~ z%j9hA7N#eX6h8TT=n6%+%CxQ{q&1)@bqH8WrbtXj!t^$|I=#&w(RD%}5(EPAt2fTl zqCVyDVS-BpZFH7RtWN?gG15j$Fh$azlw{~n=sgfb49J0h0euvJ5sW2p4?z{5#hqX} zl;tAtt9`HZz1sguzfjS!uq9r!Ys#*R*)lV-h;%}-N}+LWl|nA56e2T+<9QV%b`Q_q zzwGh7+VM)q%>7^Nn%YGw1!h-7(tTJtB#Qhx`v!6s`lS^u*sZ_$ppXH9dzRRD;pHxM zyL%`BxRc6|x5sI^w#ke7b*H7L*m}LdN_D@z*KE38;qTdDy57N2eTN0*cxbK7kB|`2 zVLo;o4^R(Gr$oyA-{v(*IlusE=fM$~#bhCWHn=ZXU$;=+ZE|kTawRwFSmO%F1H^Oz zu>%ACvmkSfFfmX`E9_yGg!5}yHFOaB2&T=OUFuKH0m`mrETZb=B;8GA)TL_!@1$(n z1B7!`-3CaGh2ZN*H9BFzlMf>l13Y+9 zKTI03y+v`qJR#kWSU zrMg*kfLJHT1{F%uJWGe}y^rDRk@-NjF$R?H8x1l;bIXJ?%4QY)X1}9s?K?CK5G{{} zl=;EThcJTtHTnxrejWlw8em4#aPTMFXa0X; z@|F5FoPa3gAWkJ6x4z$-f1T_`!wA^ zLs#NYW;Xy&TF;H19zFZ)C^G_=Uj9Yg1?R;mb;E{1C#3PQVX&?*;yo}!Z=q4rt<5Sk z)t0g=NCqd2;&AYd^xEsGsHAS08AvbHn4*i(8MM%)fR?n!q?BeJzKibpEDhi_I?E`I zjOqI+UHE_s_1j7MxP5ePKNU;@O@vCaP&Zb2T_kPHz8v~En6;CoISJKb#Fa}FOL2;AIuOeI4u*sfmLae2qw*2Tc)gg<<{a^0IPZ?w$UF7#d9cXg}Kc`#miX!-zzU1jxG z4qiSuci%#5Jh*LocfuDWA90r$+Icl7h6ZjvD~2Av<$L&cV|${e0c79-u2dk)6cNTM zFqQ5DzZq&sk2hIS2|H$8&`BE$IvJ?A(s{Xa_C!3;JYRV$(3S|+&Q)AKII|zTcRc;f1Q;n1V;O^*p}pAbHARCr=gIQmJ!JGAINrn5S( zWmGlW7;DEYG|}}BW6xqIUh3RuHhjmu*J-?#$Dw*HzYF#2xm3UI=-rGzzHjnT8OWou zz6uxKcG{>cZby03Y2U|LZWdSU?Xui#&!ID27M%G3XF~l4X8XSNrXS?__cfY+P{UEZ z(SmY3k5S=gkiP940+b!cNYsN^9_(<#`y|%Z2TjwcV1*shLLaMOxWSHZ90+2B2iJg1;X=Xq$s9cKikKqdZcNo~L!IP4n!w()hbnt;A zyLS!tcMtSE*xk4LFkgo&ENC{1!X?2mC&4hKBmN73T>p_E7j?p-dpSMJ!S(SVLXB=% z_SeJM3ye}x4&o{}t%$2&u}T5G{ArWa(xr5mE|XB_>pApJ>Mc#40F_c0f8+7e5#@;X z(v&w**cfG*Ig@_obggBVY&bE4o>OTHBml+y+Qy3xXPIA~1fgk6Gdn>uEAiXj2S?SZ zSHB8eye?6Tg!BPEPiTr{)zYV+2}fK%>PR2Y%Zcb7+MK_Fd;XB-{F7)#*aEg>i%@M? zYZK+QFI%T`MO%Q`iowkwyc}$b2b(jPRanrGomyFNk9Jw)yVrR={SD&%o#ZIAx2Y7aumb68~8R9G%k{4 z4Gtpw_0vx$b7RBDc}x}XGS6lfCJ9(4RM7gA)-wohkV#bhDSe1DRGXyYGgN$$ir=T= z52^SQDxRX^1uAI$@noVP$!RZ8?Xy&Tj*8Dy@d_1RqT*F5=BW5nD!xm_A{9TQ;^$QS zf{I^JkxOG?!6AyMRz?M*fSRes$e{gHJB%V}K@vsyyd9+zC#X0>#b>Da92FE=lb@mD z4Jy7u#W$$T3{0~P;B#V@G%Co29I74K6) zY3%ubrGgT`@*FK`N-oD!f+!XVTZ(i_0X$h)N)}j=1qNhc>G(FfK!IRb@CxQ^#_VP# ziz3qVOQydhTxPN$Mldnh!_#I+n)q|08F1=DTh~)(qvy^HZ|A>^Cg{Tu`)^odDHF$W z|6sUp$#CD_8ytUcu>ZXw50xJqs(x%J!=FFNaZK&~^x2E1L_y0%)9>YDclm=eN2bpR z22aA{6AbS6&2FynPPLKSbjQXDD>uO1DRgq)RM?R36GEM$d21ri`|&HOJgdWa(F$Z= zP)bcAXIuiL+D2i(ZLm{Zae19U(r~eO#*PD|n#7Gm~657f+ zE1tX}BLaKFbGh0(epa({ zMR&Yw)&gkU=|!==l=Hp6rJ4)e>E||ao;#zQl`FVYn8Ug6xLw>n?oMS1=fBgQhri3~ zQ9HslqI`mD!el?r)uDUad*5U* z`ckZ#!qSnh3yzvNSG!_tk{i^eSTzNGh|-`b&aGQ9`sD`ADOOEwQLl&QYUX?wOX6JX zim`#)#h$Yv#i}U;=~26xKR17Znr&Y(mdVX_q*zryoW?lUv|?Px1!=hJQdCPlq4iQ1 z=jvCCrPAd{ifXA&^%)!D+(vpAc5@rON>KkM&2g?}#aJR;UZ0{`s$IT$YU8KNSB$Ol zTe?B!qnbLYJb9`k&K0j1ja(g#%bTKF%BDUz80X4XjBfev@)WD4s+GQX#JRwV(atr~ z&A}Aa5X4-W8R_OBj;o@}xS6V{y{NNKC^+ilTx7*q%$3pgh7{FO%}U?f;#|p!(I-E; zG{vf^4eHJ1aW1rC%#)rSPEjpYu3intxr!B|N4~o<#j2?WrE_WZ9OtCh#_FMJs$Ut} z)Q;H)XZz@*;+vVI@!^}HhRrCA9!(ya-Ahfdh`jQ5$0DLC_$s;4_SxODo2gMF^;1Fb z*+l(RX#H%T-7~vIew0J*2hXA^0@@*=GdfeS}_LXR_!TP)oq7OS92EFWbD;i?ZaEr z9lB=v&g@!eRMo9geP?006?H~+{RR%twa>As#ZG+KC^y7jWc52^W-E6;2gW?hhtJ^- zG2nqOPgSkaw%JXybu_^ZE4XryHEN_r2RWbyR?4k5r&u+$ zS6gKD^X>C&CbkmLkycL^K^;t(0(JyP?R@dPm0oTO!8NH>2LU#;(tzytIJaZPc!A^G z^maQj?^I7gN~sJATNTeaAh*DCSoLvZ9ar%F16+vn-Ra?~fEqw7DYr=QaGlgA;2~