From 0d581cb07f545a9ef87a4584f2cf95740e29130e Mon Sep 17 00:00:00 2001 From: Soka_jplr Date: Sun, 2 Jun 2024 22:59:59 -0600 Subject: [PATCH] validaciones, login y envio de correo --- Base/universidad.sql | 30 +-- Server/ActasNacimiento/SIU241000_ActaN.pdf | Bin 100194 -> 0 bytes Server/ActasNacimiento/SIU241008_ActaN.pdf | Bin 200644 -> 0 bytes Server/Controller/Conexion.js | 11 +- Server/Controller/DAO.js | 102 ++++++-- Server/Controller/DAOCarrera.js | 8 +- Server/Controller/DAODocumento.js | 12 +- Server/Controller/DAORegistro.js | 5 +- Server/Controller/DAOTutor.js | 24 +- Server/Documentos/SIU241010_ActaN.pdf | Bin 0 -> 31415 bytes Server/Documentos/SIU241010_Foto.jpg | Bin 0 -> 23918 bytes Server/package-lock.json | 21 +- Server/package.json | 2 + Server/server.js | 74 +++++- Server/utils/logger.js | 27 ++ Server/utils/mailCtrl.js | 37 +++ backend/.vscode/settings.json | 3 - backend/pom.xml | 90 ------- backend/src/main/java/mx/uv/App.java | 132 ---------- .../main/java/mx/uv/Controller/Conexion.java | 57 ---- .../src/main/java/mx/uv/Controller/DAO.java | 243 ------------------ .../java/mx/uv/Controller/DAORegistro.java | 45 ---- .../main/java/mx/uv/Controller/DAOTutor.java | 156 ----------- .../java/mx/uv/Controller/DAO_Carrrera.java | 38 --- .../mx/uv/Controller/DAO_Documentacion.java | 107 -------- .../src/main/java/mx/uv/Model/Carrera.java | 94 ------- .../src/main/java/mx/uv/Model/Documento.java | 59 ----- .../src/main/java/mx/uv/Model/Incripcion.java | 38 --- .../src/main/java/mx/uv/Model/Mensaje.java | 31 --- .../src/main/java/mx/uv/Model/Registro.java | 38 --- backend/src/main/java/mx/uv/Model/Tutor.java | 58 ----- .../src/main/java/mx/uv/Model/Usuario.java | 187 -------------- backend/src/test/java/mx/uv/AppTest.java | 20 -- frontend/src/Views/Inscripcion.jsx | 45 +++- frontend/src/Views/Registro.jsx | 9 +- frontend/src/Views/ValidacionAdm.jsx | 191 ++++++++------ 36 files changed, 451 insertions(+), 1543 deletions(-) delete mode 100644 Server/ActasNacimiento/SIU241000_ActaN.pdf delete mode 100644 Server/ActasNacimiento/SIU241008_ActaN.pdf create mode 100644 Server/Documentos/SIU241010_ActaN.pdf create mode 100644 Server/Documentos/SIU241010_Foto.jpg create mode 100644 Server/utils/logger.js create mode 100644 Server/utils/mailCtrl.js delete mode 100644 backend/.vscode/settings.json delete mode 100644 backend/pom.xml delete mode 100644 backend/src/main/java/mx/uv/App.java delete mode 100644 backend/src/main/java/mx/uv/Controller/Conexion.java delete mode 100644 backend/src/main/java/mx/uv/Controller/DAO.java delete mode 100644 backend/src/main/java/mx/uv/Controller/DAORegistro.java delete mode 100644 backend/src/main/java/mx/uv/Controller/DAOTutor.java delete mode 100644 backend/src/main/java/mx/uv/Controller/DAO_Carrrera.java delete mode 100644 backend/src/main/java/mx/uv/Controller/DAO_Documentacion.java delete mode 100644 backend/src/main/java/mx/uv/Model/Carrera.java delete mode 100644 backend/src/main/java/mx/uv/Model/Documento.java delete mode 100644 backend/src/main/java/mx/uv/Model/Incripcion.java delete mode 100644 backend/src/main/java/mx/uv/Model/Mensaje.java delete mode 100644 backend/src/main/java/mx/uv/Model/Registro.java delete mode 100644 backend/src/main/java/mx/uv/Model/Tutor.java delete mode 100644 backend/src/main/java/mx/uv/Model/Usuario.java delete mode 100644 backend/src/test/java/mx/uv/AppTest.java diff --git a/Base/universidad.sql b/Base/universidad.sql index 833c897..7b9e789 100644 --- a/Base/universidad.sql +++ b/Base/universidad.sql @@ -5,7 +5,7 @@ CREATE USER 'UserRemoto' @'localhost' IDENTIFIED BY 'password123'; GRANT ALL PRIVILEGES ON universidad.* TO 'UserRemoto'@'LOCALHOST'; FLUSH PRIVILEGES; - +drop database universidad; use universidad; create table usuario( @@ -21,13 +21,18 @@ create table usuario( curp varchar(18), rol varchar(30) not null, idCarrera integer references carrera, - inscrito BIT + inscrito int ); create table carrera( id integer auto_increment primary key, nombre varchar(40), - area varchar(40) + area varchar(40), + campus VARCHAR(40), + descripcion VARCHAR(600), + mision VARCHAR(600), + vision VARCHAR(600), + objetivo VARCHAR(600) ); create table tutor( @@ -37,20 +42,20 @@ create table tutor( numeroDeTelefono double, idUsuario integer references usuario ); -ALTER TABLE usuario -MODIFY COLUMN inscrito int; create table documento( id integer auto_increment primary key, titulo varchar(40), -archivo blob, +archivo longblob, idUsuario integer references usuario, valido BIT ); + +drop table inscripcion; create table inscripcion( id integer auto_increment primary key, -idUusario integer references usuario, -idDocumento integer references documento +idUsuario integer references usuario, +idCarrera integer references carrera ); create table registro( @@ -64,13 +69,6 @@ INSERT INTO usuario ( 'Juan', 'Perez', 'SIU241001', 'password123', 'juan.perez@example.com', 'Mexicana', 'O+', '1990-05-15', 'JUAP900515HDFLRN03', 'estudiante', 1, 1 ); -ALTER TABLE carrera -ADD COLUMN campus VARCHAR(40), -ADD COLUMN descripcion VARCHAR(600), -ADD COLUMN mision VARCHAR(600), -ADD COLUMN vision VARCHAR(600), -ADD COLUMN objetivo VARCHAR(600); - INSERT INTO carrera (nombre, area) VALUES ('Ingeniería de Sistemas', 'Tecnología'), ('Medicina', 'Salud'), @@ -127,8 +125,6 @@ SET campus = 'Xalapa', objetivo = 'Nuestro objetivo es formar psicólogos con una sólida base científica y habilidades prácticas para evaluar, diagnosticar y tratar problemas psicológicos. Fomentamos el pensamiento crítico, la empatía y la ética profesional, preparando a los estudiantes para contribuir al bienestar mental y emocional de las personas y comunidades que atienden.' WHERE id = 6; -UPDATE `tutor` SET `nombre` = ?, `apellido` = ?, `numeroDeTelefono` = ? WHERE `idUsuario` = ?; - diff --git a/Server/ActasNacimiento/SIU241000_ActaN.pdf b/Server/ActasNacimiento/SIU241000_ActaN.pdf deleted file mode 100644 index 36464c78a6fe5b1d5096e90c0034c20217012ef2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100194 zcmV)5K*_%)P((&8F)lL-CB)_O4?5av(28Y+-a|L}g=dWMv>eJ_>Vma%Ev{3U~pWz1@O{_FdPcTbOx{O|E{=6^5#^Wk#5|F`?| z%e&*l%i;d<@tGo*`>*a#FYg{7Uk-PV7yfj-+<#nUDE#;=a-s0qTC>cT_kXZeexHD8 z{BSzHdwj9|Kitt+T0Gk9Sq>f^&NL30$H&w2sP=H8^-z8;=y*JzX7fPR{ORsv@pxSd zwx2FLt&jJAZ95OgMSek-$H#Xs&qrxJ9uDtbUS6K>8>7jIRfpj0Yp!Stb4|8s)zn8nlT2s^ktzv|H8N6#fo{AODY%q3@UD z%l*^&@b36>lG^$5?#z%c2pzw?J3T&c5Ww;A_;P2p!}Ige5(268aDkWi3p%052N(#Q zDg|_YKBig`1~@%E9`9!31CY+syYtfnq#J_HgkbD+4(S`{jxrC&C##_=&zLi$pC8T} z0O>RR3h6F$e0MsZs?5`a{VITtKD;|TARj7q8EPXa%JAP*qJ@X2CxFLy=fedm4Nys? zJ1po9;Q1nZ)P8dCu;0@$mCo-TPmgKog`P*K=Xc07WgZ{8(#e*Xa{yrP{O&}BV)Id8o2`}wf_e$PC`&~BVT1BEyr!&|uL_tUBBgxBqN zBorDc;bM1S^$Cqe&d;Z3CN*i&O>F83nejWV_HSqm&KiNn;JuOR8=7%MR<3cQul!D{ z&}f93N0yYxJyKL(7vi9eTF6Y<4mKHURTDF)`So zSq7nBE-0?^Rj3p&Tf*co6JnA(+R~(=>Y|&gr2;Vd#Z8x){5F*dRG(;xj-m`U;f&3+ zcd(-kF=<@RNCx}epvNa5fTu$Y?Z`}uB>-HW@#3DS6yW_G-Cz;jAn2$bI|Oifh(hz1 zGmhF0Tn+#chh;LLPZw-CbgCMocz(2bsy|D|L3cC(Ucz7lkq|TcDx)JqH!d5rI!ZN0 zC;b}op*I(dGjy&*cK`A25BJYc8kM$dxs%?5Ja4?>%z2G0VIm&}HvqX3uV4q&D_*0$C1`FIC(IUP0#;M~;|hLt8T zgfSuY^#sq@dzC8vc(Ly+z3QaOz&`*`3XE+55h^|2AV!PzP{1Yg%t+h-js#|aM-e*b z7X}$&05$3Jk);UW1v^R^CJq42?!l3O3jye;Ea-MkQE@MUUY>U7`5E2^o%54~Hvs?X z37Ze}44pAJ@?)t1MTQ}~E9NUreUJLS(AmT30wsF?jKlWT{R^|%!^;M}@TWrnI`V|0 z@CtZ;x1cP8FL1O&tXWjkG|v*wq8$Ju*Z_JKSLV_SpLBpQ?5z|4^LzmzyaTL;FG{-0 zAbkAs7u9!zSP@RVgN;boGe$7l;X4()9io zLLBD@I}344jNV^dGU;jqwDyeo*|UaT0;eZtFEo`(Ri+p`vWtQWF7oJ= z&hx8oy7WDs^vCq9nYQqx>HFhB1J_R-5S|avLw07YaQgVy(4z`N88($t%A^$Fv7Gh- zT%Ymv+2^h@tUk<%O`5svMSz`qm3gGqE8r51zFTEn^030t8Px`KVH;K(4K(^h&+uK? zG*wqm53~S3cs(!Y>gq9V0ThEMHu{qi4LqpLRjD9$;Eo23&uZ*}PWbq?l|3Ls$mR_? za8tXk0Yn&s;{k1*K&hA|A-%ea8L<68tPjqcbOV5mApreLM;pNJbozF@8p<$V+{I8> z?RaFZRB!?8IhB~}dN*`t))QdoSY^&H4)F%CEqq}_g|fZGb}kAG&DfwPqF4e4>1kij zM@B+!s__B5zXN*4E4nIkscveNa7u||_O`K702)UEN~sLjGOfBA<%OXc03}$WoYJXO zWq@#+)w}>U-D7nN*v)AsbFApqg9fvz(aqZImJ+1j4Mb7s<}9OIS%$PhcrWlX2@m^Q zjSm3By{j}p2A6=;pup0mcmE7%PvI($x@sVblWn3 z6FZHuC2@~Qkqyy3L8Bg58Jr`LbM`BE!}teLvFvADUf1ujZNW9^5@Xx45Vy8ZFKKts zbej^+s@2dagoX6>{_$oQ+%}?198h!`HFIqgyN8HvBAqUk=Zx=PZH7R(GmMgk-oT zj-4bBGYVLK-TJLZgaP6RuM$wwku9(8qIY)nn;QCb=t71rkx`K_=3t`b{yvYvJF{~8 z`!O_~mM+Ekm0r1nT;aYF`j~)NXjo^mjU5viE{BSjo$d|+-~(&nj(_$x3&3M|q`N7T zX)3xIIvKv27*N+MD5GAjMG>^%_+XEWDQx0SEodlH0r*#JoT7mR;9ou3^M+tjo|v_P z&|6APz9roAt(~O=T3990dnTEfosf1&Y@W54AOzL0soA%^)acs|rJ}Nb`8Z&=;a?PI9a0reW2M$KHg^rwK1bQZr3-CxF6V@nWd{cm(W=gO< zG~hWQ)+AOxBZ{LM^7GWF=oDdr3n5QRJQ;^di8BGu&?%_-flf9@qcx-Buqc!O4Zg+U z;ppVXRCZ46=K;qTTI>f7SUkiDykF!xTZjVAMyzSAA);Gs_u%@@YQ)deH-?OA5Izmy zi74!Aej?#{PQcEQ_<>UsadxJ2Vl#{_qqZOc&ZG*U$Vpkz?Ew&pn34ceT4zsd+}s{d znXVa79PJ|Pnnsz+^8uh6Z-72x>}M^dAvE^P48jx+l}8AdfU5-3OyiL`5S_sNca^eQ zRv|~`0Tv~E$~-dbRto4UXI}GRAd4Xqp?6oL20m0$DW$+;Hh2AI=v zoY|yPX_WEY^+n%JDx5)7JX|NrmOR8`dBR`JfXdAiilNVbR-(->{=1W@8k z4gyrv8Y6&GIbPBywC~6SjP@xkpeOcdCoK{GCufvPhX;_Q?fJNu!8lGY5*}0xPCXIC z+*@)cJ2ZQ&beRN>3TyOfv&-2hf=b0+mtj&zkJ5)BnuRPa-Y~}Z3C%t{5EEt&%6!Kb zo91sP$?L_hG>xMkR1f>~@DG)^Jf4IwM^0z%REQ_?Hna^UXL1T0|DyoP{d93t0rd3z zRM7FnL6ntH%aq~R20%?aoZ&3zIH`o?KcuArl}=Yn_(W8Sk_$wqQ)xmOO4y5KSSFT1 zrC5)^=#yP8&%t0-Jcol$NrxzLIPfnHI3b4VxVsK5;vquE1ujut z2vTM&frDdKrqY1XCzi=n!p=zTfI-fVkHo_z>?UjY8~|B7HXt0oaB`h8j}Q39;g~I7 zL7d;gAg5w@r73fSx_x2=Er7Lt^c;VnAp8N!TtzjlG((~BDpF}H!}6cT8KUQeftg_> z?cf#Q9)qEo13bq3&$!mCS#--ITYMxEDN~H<8A*jan6v8z^f3Ph=!OSzz0eGPr0PzsnLv1;CEIJP^ zekpTdM@!?6^&TFWG_z+>k*i~~~6Zk8QJL`D=ZqSx0Lg5^w_){-hW zC}CVix~@pW;vS?Znwf-hvPHvqtcH+qpdWM|S*ad9SmL+gkRiM3j($Xo4upC7DZ6Fr zBxD7GqK3vX24?(?1&qJDC)blP1_KFV#dsACBIl$O;CSN^Cg>?KQhulF`AyGLqmf9= z^U3NdWeP!H7>h^ABDIQ}m?BmF8wWB*!0!yXRLkOGOc;v$?rs_LdX0?3K+Y862D&rM zHpT`Vh|QxAoH54}6NpkftCY7^5Z)SPax_o?F5Y1T#}{CwStg#L zQxVJd*&Ia2go725++YIN0svEVDvGfkWG}{M<7IzEnsJm)3^&y@+=4Xj9g6vf5<(zx zsOE!o)F~p1%P2$hnMeldN0(ut$FtRNzRpGshQNlewE$TBvE3lYPj~^(MnBm^xEKEF zo~6yBl~cU@U>_%T&-{s3Pr0|Su1P6|$!+W5h%ypyy_*QT9<`>K9y+LmTPIdh9S9q|mh+B4KeC^F zWLg?>exA~~#j;(zDL1f;P_&{sI~*}i5(^h!wpsiy%ot781a&O6K~3w4)hP!)ugFUa zb3eV1mPV9R)o6hB*c&l@NSt*9NBB*M{n3HR+)_kDiS7?di!?k*+7hfoPAzQ0JOHyb zDsis7prSJ%NuOC#wu*tE^(CNbE@oOUYC34l_7jqc2`y@~;zo^fIGwAil5o=AAgN7g zQd<=_YRsJ^7f6j=Bmb2eSp{a5Hzc(Qu}+-LJ?DVGD+U@p#j_)wC{@j_Qf^xxgseIt zt9quO+(yMfMQxYJpvHkDxiPB&d7IFrwkqz_aM%u`TTM+NMO`>UDBdEsK#SU}xKW#G zjL+afd1(k>7Tn3QR2$MrPdPL_sl5ZTrxU_Q%I$>MLRAbj#`J|rL^E2{Xq7$rf*jKcO=>J6 zqvB4@vBzx*HRiTq3rE5L4M~lj7G%|nqY$M@#Xw^eS_$#$SRHCe%fbt>pHtxM3lE_+ zb(iJMbf9aSpR|^6L%n)glR#CBcC=~iw03C}U+GaqHfh<%Ad|0EZRcyMAATKYYrBQg zrjWgyY?${`_C6~H8olgEU{qE9Jyk4f3tH4>#f{pM5R9EVrEv&?6E2a zD&9Pvi@lGkQd8wM?v2`n7PVP%qqeMowbIK*W!o`=Af+46hk3)M#~B`lPm?No`f!sZC2?)aX{3^`bVRMQv8xsZAv%=0ODJN;e8p)0A7( zC4Ncfjaji>71sCF2ac79UJPnwjs*>BfjDAj`x0s`kAfmMJVp*e4g@e+Ma!|lVdNZ+ z(Bp#e=O%dy}`M`gEW-vsT}*ocO?GaZ2+Db znSpqLvy2BW1TG}q)d;nbJe0Oh?piop_CN%{vjiOa2B1Svk1w(~%1Fn7vAeTccY~-h zG1(AKzlg9CSn+^)_Uq}vXzFQE!Lf7Ov07@t#<8HJyUa2Meeq{FW#!c9ObH@C*%Cq) zX<5ghj-iDIM*PJh?u$4;W#{Ty2gAi=$;G4w4kvC4IwBF0*#t@>HlVZyIDx;P$MEI*@P zo32m0Sr##&xkp%bqX7}{*SgHPWN#n?LMY{gjOU!SRtJ?l2TB!WsR^x$v&FX{j$gQp zWJOveP)Un{00_%+u>k;WB3`=z?0XU@Ul4I(`p@zF2C;K_L^~&8WAPlot;u8nrP4K- z49M=%Hy3)chpQTrCrS!GXmm+>F4D4hwV8+T23byTrrCL2B9`I#b9_YIvy zlT2~^3T?wvBToVdPlUsqO-Tvh;k|D_v$&wiVnf;enF2;|3)^?vV*5!B;wE~wjBIVS z=N=tWl03adX|cSrhk~5WC$v<1YUvx$oJp51(>0DG=_^xWSVF<<{vtg94d6yZNPoF!)dCf7|GskPZQgxp#vYxv)SB20CJ!zyObyD9Iv zCh!+WWGxb7)YOr=ZVcVup^QJemT>LT5a)Yl>eYF>R!hTp`j;sl>!h^xWx-fYMr@=Tg>W z6+Cflm$HUfs%an$4k}27OR6q8Y034E>4Y=AYAM_>5?MtTl^daN-6SKQ>6rZ&cEEz7 z&>NbD$Z0NNB)d5*bGQb(v2y>63A+qjDlDY#)wh|W0UP(|H4AB%8TP%XOkgdf6Dn>t zD%FKKblm}EGkV?->c%`n5PR!pYw7If0@8SlbZBxj*i>dWx0b3;HjdAxx^>T|#ZD?c zgKxgpf`-r+mFni!QUSCyy&|SSPZqQ)=2vwz&I*twbV@)OC&*Oa4PZFfO3U#qgOzh& z)l{mR9BOSX(Mx`HOh5C{NH(z7SC*&sRE>Mo7S<7K_-Yh0e%4D4u z3`!}xiLgN<$-_*84fDjPT#r=_=a(rW)XCC^IvcHD0- zEZ6%o zqK>xRHD*8ARAkdPu)71dIyiWNFA%9yW+Hb^%+7@!ypbX@G#Or%*oG`#XQ{!fW4SOqfkUKEpn&Z-||lB9U#wHQt4-D5Ihj3Sh5JMTbb?p(sRE0i07HGMPr$5 zvtp5pVS+#`^IS8slPOx|II%amWDTIyV^$QhL3G9EjJ!@z2kr2MPm{T8wudzl*S6lI zqzfI|t39mnOjcx-3Rm=+CFiO=Y%AK|w3R7S-({>hW96F~pcy}D;S+(mmzuK{hIfpM zyiwwT5;pcC-QGabKfO%(T&1w0;+zGY%meDt(ONBuJV;wU*?gQ`NvP-f7hEyPMhX|4 zT(d-$JR7NTV79kjmtxjD={PS+AY3R1@m-hE9^;<9jaYHzY;{qKCg*d0+4>iAa9v-e zruDa^mhCTjF07?KDfMWr`K%H9H)lsY=;vDhz#g(4@zor#Z5;w(CylJ=O|48EWA~UY zj17)Qp;8}|uwITep)}hoB)X2K8J94*)Kb)&GvlN*k!nv}SfwUclhWwT*4{wWh1RR? zpYxqN#Q0NPbIn>!eIcvQ3oB01t4XPQv)WsI#=6)|?tPv!9a2zwQ0ldElkvhPSCi7@ z{I-Ag8Mimt7U~sNIs6>5$A+$nx$=@tC|7JWd~sz%@TG}O#|CF9qVH@)DCJgpj$kNt zdl}Q3)9{y`%4by$&J4_Q-1N4+rnHc1Z_I_G)a0rujou)uZm;|2&LRm8-lHE`KxU3` z)dBa%TXXCP$ucraWMOPAPrTy9>VIS$xmQcMfu-EU@WTm?42*ZTEQgBvNEKI=z0Xky z*{H|64e|a>ZUAf;<5st?7MA!VCkt{xOch$}260NIfWq@7PAZ9%!a|2Gfwx&nl<7l9|)N8V#Z-;77|)+ zvek>`L0TEU4a?~jhZZSS^5Q&;2&%}E7cK{Zqz#i6H(mCcL2&IC^*h_U=D|LCoOLsf zI;43lta(K+bqikU5X3}Y6EWys8B7~CbWXmyCc3I-26@QacSC!j#l%9wGx|JqT)rk& z_Te}p*F$V;vyX`l+ln2vz2&MIDYx2S;>5P$-8V4kO^jI1*?eBxFxVn51C!pwwz{+3 zH!+mFo`sWVTm{=LjNTHE@u>oP%RW|#Y{&~2gQ71Jb5=qhYnCGJAg|KeFna{8NqtCSo9_m4 z#n&1W`iL(KUuYVu#*rPCdV7j)!z&)Dy=+Z3(kT~LNb|Z%6|Wh~S(9D5V{T0*-5Md5 z2azdfr$SQW)yIjsgX4;o&xEeCXb~XOKuAr^0ls^ zddJ$scyIW2GG+Ecm7Er9tq(!TzRa(z=zIV~oF$7cF}( ztht0c`_`=$lA4?|_gs77QYaRHcfbO9J#Vw&iyzQ)x%7#VoX6^6%^=4-uQ8}&<+nV< z(=dde*PvXcNUer3&VWe8CS7zu(4P<w;{tA)`eP$>Bj~xT9oq@y}Zy{duLnCLc`~D46T%F8zJSB1!^X0^bkKoCuV|FE{Yy2MV{2;&-!I6_` zGi=;aNzvUv00d;6$(qgtOuM#i>5MYXpqUv1qMI+~Lr=op?^ghutd?Mxp<4yrO`!s5 zS&1KDDBhez&JD5c;*rG2gK=ZJz&>sv?vFT8!xOYvgE?2F)Em&M$g!ozIyEngeNMG>AYyyEK>bVaK>v}kc-2T_vbO(Fw}*$a~A#!f>V6p?RZ1K#W5>R0k8 zt|1OkM=7q>@WK<61juRiuFU}OU5w>$wPrv`1~NDd>4waXQGlZ@l8k-`;0Cbg#12H4 z;Yo*Eh_T{Ka4Rzbv!ZAmej4)JIxO-!LseT{ZNjsouK?~#u_L;WyfMqrua@EvtX*^59F?r^%|o%N!*#hUt!_uL0TjeaHuY= z=4v3Jj+>wRc^HVqZn== zQY2oIQrslHn~2#N=_l`Dcd3>Kyq%bo*{W|+JCUHkF`h_C7FrXT@?Y2(rBLV2KJ|KZ zUyXNU);i!cWL!!ez$5k6>SJSTl;DBKKd#2Ic(@u%4DZF2Z&89PPQyjIy+)J+hijLi zVV2sY)s!|_ZG9e6Rx;sgQ5u}1tKDAr1)W17NkiTwqd&+Hd!2Ski;Pn;Xhd4?C$j1N z!dmb7BS(Nruk{}G9zuK5`-!3KT7! z`D|>+A-32xr?e(@MC44exMEj5=bKro^?mkc8^N1#j;tDMeHeRzBfH?G?{jqcN9p@Q ziigmeBMmecxoY`n=>fxoS#N-+P>AUu8Ia~FpKQ!=M)?E+uKSN+ zJUxRfxg<49H9|d9z&F~_r%@_cHma=i?5FSmrSJGuU_nQb`!!G-7*7Nc&GDUpoc9xk zc#S}RmGTshTVl|spWJ+f7Td)eEL+H6S{5-7>5ozyLU_RY_GN#T3Sa4y^t&b>$U#tW zHdlf0Jg}1u$tIUkZCf~a;B&3f9Z=5Bh#UDc)lNw)Wje3qbeikpKZ8b$6)q-v@ zWv&ouRViqh^-+Ayn(2|r;j~D6VDwSx6c0Wt-E!FZYD`%(6g)q-%DpB3T=k|TnP2QR zXud8*kL&?9gaaz8CF#!{3Dag>I9I*crM-pZe8#DS$SL;h*76pjo{OA!Da;fYq~3rK z6oJbtTDK6i$PLNdwMe~2bj@>5VsUi~u~Q~Clqk{S>Me*97Q#|HR|IaZA!sqf;pFZ; zd<$Z7MgCW`ZXsw9USlS`qV)!Zie6K?2JlUAWZBE^bl!qEA4JP`p71uVq4G>~_j1Wf z_v;oi-}0K&4FV-^d){#M21I~{`QwVKTL@aLZmgGAJ$wz}N9Dj`spu_&Mc{>&hAty{ z11h_rJ-*99cuTtpaTYd$sO+ybu5NB31Z|0@tXd55K)$3N+e4B_H%gp@Af=tsL|AwY zxI$`F!yX!f7NIdRW}B8fv++Da6DtkHIbf~c6>U`9AcK|!mWbLnD(z8asO z^C1qx6$Tpm^K;}nEb@euc)se22^?cTJhE|mFm97~>t=rvuEkj*-GHEUHuv@R3VR+r zGcZ`<5GvMp(DP+o$)fKobX7|sL^gN8ID>}RsCHIpMyL9}5{LKuo*b3x$@`3^`jkQpAsaOGNJZe#=0Td4hm_BP^~P zr3zyYW#)nPh~G-dvqO=zC-1~t&*X!Ihud*;j9d+Lydi-h)>zhNf z1@&!lgSk(P~mw*ZaJ*lUH1nmqKW1_RdA@J=uAKIpe98&Wz3G@agNHu z;BocZ+BH_IhXdPtZSChwyiONkJrt1>|hf5xWZjC!LK`4r(yN>vZ<-KR0N?X*Wdrgz?I7Q^ZA znR567<5XT+ECPO#vJpyggrY5N^-u-luJ)VNFiX%jwk%7I$I=UR6tY=Km-b*;r4>W# zN`|{0R(>IRL{1(Q-HTWB0Jag+gy7xRBMqFAO_48TN1*(om zS0p16K!J!w*svlU;v%kejoEJWY(hWB?OWEMbplb<(C_hXa zJ@+fJ#~e=$EmFpu-sj7`>Z6qqI*zAWgdgPR9lf!j^V|UJv16gmg8W!6E{p)FiKGEr z0$T*op?yv;kP&B3B80v_Gj!-ZZ+0O)`hDRu33dQU+W}*qQ2`(>ZYXkG9B(ZE@ad=m zc)fN9O60J&%8X&bdd{ZA&4HUD@4=-KhFJ%JOv+q_;HGD`Q&xkYKxUrQ(SyR0n+fD- zCZjMRcB>{14JvdK>3eBywKM=4*T2co4TvO&i%zK9woq9>wd5$wGR@7T()`}`i4$OFfxe@)@L*0xAE*I3rkuFA0j}#GlYdK-Vn_rN;rv7&{3Zf@~Gh1bc;d3E4N(# zG?1P~u&M#juC9MnyUQ@+<~7_V!u~Hn-YThf7F4X;3P!tx1n5!uTKGMYJ z;xUofUPCNGM9wvPW)VM^J^(BaCrLxgLS-2sw=`u}g9@$!-^<=wDnPr!f<4uDp{g>t zGN#xrDifG3nSEPj1~-EW?2RtG>JtJ@_KSpPH;E7v(cd6fRQFBY&ASE6#uqfYxu}dT ztd<6l8Jo|*D!(qH(}Xe3ZXPDETAI-4CiA{jW*6>OOQTP<#^izK9vIdbB6xnmdX5#* zU_QlAjq|N1Mzes$9&~0IxKOJX6{cTblXt?amIjbDhHpAZxS%_h6cWP(n#u&GY*rcL z6LMo*GE{~rMoX|aW#b(Xx^>Dc-MFa~r=vgwdwsgOpyZVMwOqr;Y{w~~8=AMA;SkqW zfqAGKIw(1hN(AP;^| zcb33QF5cW86Ln`vdFFl_vl9megg4=hcnaHXGQ2SQ_)Z9mJH7%~ErK;O7r$Bnmx)!< zN=PYR4F=+1l%J&fRtbFt#miY=YH-0WHPCw=^A1%%(vcipU*)!$XUck^gq%;lAUpt@ z!Mpa^^o9foMGnH8;`5th#`^6=MeE?!lbMvZ*~EoLzBZ0gnpSMX@M;14`OzKxU7usg z5h^BQ8K%1e+YJVho6lv}MRSD1g-|0N=(f_Qpg` z864tKi9H)zDHM@wYeHzP4}}1b7cGEVhcHe`z6}k4o5tL389o?LWw@jkfQV-ShJodV z6J-F_C6DEcW3m(rB0_5swleU?T1Fb0zqzyS-oLRgt-+86+F=BFD)HO60;>|;IzaRiH-;md6zq4Z_Zr+Y(u4j#m3(h zB7v@;L;=ZKKl+6>%lQ4;T$Eyem!=7}g+06o!nsAq3^gYdzQYiKbG0V35}$h!Ak4^Y zE_?h7uM~*M!1OVcH+Z zKKWE?2v->tp-jw?awx9>yXnf!T|_Ej2~S_M#K2G=^SQRyW670m~L zKS?A(i2x*0Ody?vo}WgzDw9vWr;=ky2|qAVC5k%)Qayq&_Q2j?s2Y`w(*&rATq}wK zScYVF=wKyI_UsgR`MLm-Jp&K`nLyZMqS9=vRAuDm7U-5NQGy_f+?8aHI4&s%NY8B~ zv$6t@fdP2*TM}naU?qmjlsn1{Dhw%)fC``{mSE5c=T;?7+6t=2VJyXtqack;fRwHQ z@ZS)wb<&6rFW;ad%vilry2dHY zRe;~cE)VQXBt5Em5kJFa9#y6PRlrNw)-jTkVZ%~}hV$BmWxRD_JGy}3jnF|2H46{- z)x#|rs}yma;hUD(Ww?f5NPI5N66|IuX+ye#1B(2yHLXOKgHT+E@U@%*ctt17u{8U< zkUo^}-PsWPWdSBO=t`CBgaWwfHX6d52Nb=dWy;{(v}<Dx%V(Lk(&s zDyZ5TvmUC%up*H1Iyej@i$Oa2VhW4-)x&rv9%8!!3^fej{HDr4vdUOO5|MWzVC4fo zX3oL?=M33aTotr@5c6;Zh<^&`fXNyot`G!#MYJlB+cTgz(X472M#^|&+DiFiOY&DL zUD+-|2j;p=wthwBoN>g}BHt;z_>zw;p$-n4?6D^fKoqioGwwq~tB%>Da%O-?;2#hd zFjPD8F$&=8b^-WEg8&X8K8FpVybKZCp^=;h36QH*Wr*kj;77%&Qfk# zs2hXL@IZvFA8`!}7?sM`8c@n)V%>p~L#U*Z^RlzLWuoG&;aLCyYN8T|x|p}0 zIv|;Ha2HUiOckY2js(0Jib@YLPkLyFSPwFBp>y0RPKS6i5Gm*&aTYAIS3pTY2$Nl9 zaHg!(>dx5gCSi2i?*ke|Gk4U0U_LnSR~QFirXcenJ?av#0Af@sbN zu$~XdQh!w71TP^D1q26V>an)wNSNm97dd(`FFWs>>lY8wVzBgT1B`8e0>aLy&5;fE)5Pmn_l!3o z^H(z#JLj{^6?uZxw9QuJL7n15 zvu9^-0DqF8KDxs>8gFo|&eE6x>Dk%sx3UQ@WT&*`t|g7EaHfxp>(Jc#_ARqv1K0^+ z4KFZ_64gFG-C)z3u)|MgKh+D!w!1WLmzG@u`<)@JG9$sdn7#oW1KO$VHI@tnaKxwt$8U?2_Syq z$NtyT>JT;6<_#c+GSc8U4Ow~X1fPErjlOxufD+v-Zn0S~Q^nAkQKILDE-{BaC7j;) z2d1}LLGpe1r<$EWvrZMS^)A+nD2$an;G>(J@*p(eyf{lRm&1I%0mqh$07deq^ka<9 z;k&cp_i_&_70E*jqLb{c`Hn4+@1l5p1;~({aWkU$tZ;$ohR5a&K`S{%oTcCql8%Ib z=~7L$7VjWY2}qWbN_)sb4xYgV@iihe29hhcOc{BG-Q;31`i8@apnTiP9ZhB4d5wt05e(rGT1q*W z-@J!2u+ihZkdYVx=OVl)QlH831k@b>2ZbaNsXMOHE@PSBfvr8RGSL4RV+zx2_v_&$vV;XAEMVvC2Cjl2>M$e1*y zTpN2+{GcqPNxTHlc-ScYlWdm>o9z2&NVjBWf)h{&nef z%R%|KuJ1CO81X#c2u9XJf8c9i%5~}#I_q}@<-hBy$AyvqLrj8;ZE|d81k;J5$I3u- z3yK4?c43qwVqRYi-0Dtjrxyc|q-$;{g@zH;Y`3WB4^ zj*9O+XxW^IgD^qyf9NTRYMeiN$9`a$$yp!CfY@p>w=)5Qbc@M8zTzP}5}L}l$8kJ3 z0`>4mqXr9ZLKnBc$wDNF$Ufm>@_indErfKy z9IOlqJSKhh+Zv6qklG+ipbOdjMV>?n$Snv|eHAAH<0B|{%;^L>Ck2BXs%JKT`< zd$d9gJ^;IOhIj1+hQVuS$jL0z?ao#PAM>}p3-7t{=lw6|pdlX?Lx4?S1#Evefo}j9uN!2E zbhI)Bmfu$bo19I7bsae2q~53N6vq-+{oXZpCrkkI)+lGndCfi1RLJd3Xz zWD2ZXX@S-6U0{o|7TBya1lF9jz{YP~PqO3*ocLL469XbMZup`##F-j0iJT&Tng!Qo-1*`B@bEKnQ(vUUq4u5=R|koe2;g(GF|v-g5{T3Jh_rXUt@D_V zh~PLA^yIDxM`eEJnmx4~S*M_EwP^n^sXA#5eWKcwR+I+A$dF28BV-DO_=?h@_@!V3Q& z07U{M4!$85wlJd^Hk3$ZvT{dC9pQkzL+lkvX|_c5kcQkzZXE)khfm?HB-Ow!ItGHv ziP9PT#hY$rx;K_~LGA3X@P3>V=U*KFhjOjPkK*r6uQB_yYo>1dd; zCrG&gL>h-8b{RP);YD?zXIh1EMKsf~&KvIoaIledRHn-)l6;$`sZ4;=Ee|vtxGvM& z5IZ1Rx$$d&A;wmHQs=QUj=Z;i(>J;cdqY_2)#1RZ+kot$zJBhhA(fLe=s|^D)asMs z$i~-%a^)T$iZpG)n-BTu5eLJj)e+yqfbD`O!-Tuj zQa+GEZ9j-zjbEYyKp82y$tVDDDqtOAHxlt!-=oGr(R(57*j=u6kl!{8P(&>d6_J;G z`F)mQ0jUp+&<@Lh+;WFVDsVywz=oJHJYcp1Bq-2p5|rrTU3!FfvczB)b%23rlOR+o z2??-K+o>3pj9k)^V_>)|kB!@FxdGr(iCzoLQ;!u z6{LKhIk*nsJ*6wa8xqi2Wtc3`8OJ~>bTYA{y`=)GaYCsQ?lJ@qvd91wl?iY*L*BiW zHYnWCg+XQTd)p@~vCx%zLWeHcO`Kzne9|i+t+MQiU>}ds>;O?Fg4oiTWzbzV+D!#> zr@tJUtd<5~C1&a})KP{%)ps0VD^wPcmh9$&nwzG=uoS;HeWDUG06BcCPjr*%GG9>4 z*QPRf9Q0>V>uxfa4`6n4L4(0TWp#75w7SU(LJW<@2SipPO}ij;A27hj+KoC{3L3#G$&G zMX)Jn39)vI%fJ^OyeH3QpyH7kgtKY}jRP(wMs$eYLzN z?!i{l;{t9T&r(=jz$^-Z_)!=VJ=(Aj-NeL-h~#fs{>Ftx9TB%1_xqAtGI>M5f*fDQgmNpv)I+u@K*7#wj-(AcHQ~Z=X9ER zV|N+@*zKp!E}*lZ*V=k3XS#^_UqaeA$>8 z`;EOO&MS-TB|l#>#@2Z+``FVMlu#{s82W3(aOgX!m#~we#b|J>&CgU0^bGO#!KT%c zWs!sSUQNxE!h6|A&;~gy8yGFR`lkm=J$bCCmtY#9kbnE${k_?XV!sEuOb@>DKogBBt#q0zYS4U2TgyRn?ux{4AfMbf^#z{|g7EX7 z6bn&FKiKk$Aver4HOun_^|U5yOukac%PQM~U{aCHS&^rQg{&aANnYL249We#Ulz1X zkOTX%>_gNS!8usHi(OZh&q{?trKK>36JPWr_+KCffOF&+7#?fCmB=(EDH_^83HG=r z$daCGWhg{9IZDDx|6mX77QuaU^*F(BKNX@zn~V$2V-gD2=3PV)vzGl4` zE=f`BaOuYjWp34<9mH>xVwaX)qT($60%vSp^6&fy4&iQ93>Rm|${NDLMZf3-*H}6g ziPuy%OzuejrzkW&7t$UGLcj~o&B%GG9hpA`I}DoU_fJB|oIkK~VkL3Yzo&=H!=}UL@th zva%6c)ok?-Aa)4w76(+GnX^b)DlyLPRyCy!{aDJ6;j4r!L-|TFMB2}tCDfpmCs^U? zJ+IYos|BaoXx0?7Oc%3n?dmk2xs}tX1}x5NdruvL(>a?oq0~z!A@pBDR0bDs|HUk< z8LMoW$BEjWUKX%X+bz0zc9QnE;s6l~2BgLWM-5hHajJ|8x5N2HYp?+i3$tr3B^sSS&eEd6jf`5 zlGegdRbA^vP3Rd@1ab9il2csHT7qttLLN;#{2E=AYhK0h8xxkbN$c~YlD2|C$OyJY zba8_>yqjVcRZl5!TB6#E_T{Qpn6ts`RAxL$+7*$vB2yqE^^N3LY8xwrn zBXPUITwe&?D8MN1r*cGNdvJp7wm#RUBJJLYd~88Ev?slu!5KYubpn1=4=?Vv7~ABK zaQ=!PH0;e$NJM-mVxNWZC?CZx%`r$zK-@YCsz=k>0+fut{emTRf9X>WLm&@ap03MoY9o3NCGSD{dFh(d(``(e(?#!?bipo)!!soj0}H-wdP8buHU zlu;tFWmkuqf0_~4S#TO5A?ahvLs914WPZR|M zi$O3c>pW(nO0g{=P^e&jf_HF00PXipTrSRk5DSIVN5U&5TQpJWv+E=>9r>*EAI4Si zr-j#|6aL6NvZVy63+>n{(<j2NbWXN-Cn_y@YO?XNB@VZwUl)8+1=;~Au&Qdh3a^9wU z1dFMn26WwnErgfxWb9P2N32uO(S?|B1B1zyjztce-8W}gC%Np%Id(oagY{oJ;+QMW zRDO^|EtJWeZ}x&H#a#VsP%Woz&CG|qD-Z+fv7=zcSMsH!&Ass$tpdG&hXca5I zfMLjyhCkb+WYaN~v1pn>(e+om;h&cM(o`?Bs^qPvNWv?3EF$ma%V9RZT^Rseno}-HxwXMlyajS&imQp2N#;3Jb%jsR%7mKc+-VPhq zNS^y2l)^nHIKdhr+stW1g{I&Fvd?rc{fNClYRi_!?@|y&5d%TY!(oX-iDad>{H)jRS zEgjk^J0q`P7~8TuPQw|yW?1_zomu3U0;cvht<0@#y@cs6p71UU;hkK#pO7%v`6FJ2 z6GJ#NP_-NPwdP^9c5X_tKiefe45@5iAOy%}P!@Ya8@ZLp|2_trSITaNMX` z0EJ`x-#>6RpBoJnzO2zgFeY)CGL40Do(w;%GBj84j1ino?kPN`lU?)e3)}|OAY{y4 zhJ?_|=#Tg=U-(|FX6O=0-l#@;)X_4X9|ebFYC6fHjje@rKwCyoGXKbLT{civwj>lU z+s6ntxY{Rb#P&?@(z^huMN(>rFbLk!&8Fr`$!I zr;miynK6zy8~zKWAj_&QCp`1`C4GO27P+v6!-^*rHyB=S*oUZ6jt@{l(}8}{1rJOF z#rCRz=KJxBQ%&(Pc@>&dbo>feQGDYHmm0^h>MI?T+eqk6NCgn7VE;dn3Oo|uA!wWJ z^ZCAa-Oi3qudtEdXIYOr_2Krh{Oat(fu7bf+$3s9Q%*_{$=TE$-FGz#T8TDY366`> z_fN!JG0K~coPyL!NM(k3qfNqoAU~lXfhyf zc|-4;p<}j%ehc(4+Jey(Mwb~&&H6xd!Mm(>22;l2-t#aUf2fFqr|Qkuy+6}w9TybEO|tNviScLUV_f)!GlY@GNWOwS3`CO2k8 zyNYUQy2zU1$!0>D7AbymGBtFGUFhewe(T zd(wNcpeq>B?VWl`pf)*%`QTb<3{Q}W&g&lpOroD)Xe*Vh zMQhj@RIcKMvQOFO8%+9lAMHL!BEG|ZVW7ARI1p+@aqHYbHU_i}bs9z|YEsN!XGY9< z)PrC_Fz1Vght>p0O$;b0<>Lwp(U1&Q9vLQop=}%qn;=ik#Ck43H#E2Oy9G2`*%pkj0MDA2HG<*`0OBQ zF1P{07yU`H+E&9GNU{Eza!#?$=bI*meoH>XD@Xh>msG0D5c(LJ(OJjmOpUd$gK!!Ti`7hf0|Mg$pSr?k z_NUz^3N{H0Hv1uMhEvv1Fs9NvXf-t@0!ns-CL&h*8cQ(Nqs^d{%5D$$L^tD zRVP2{^mM)IO>2<#5NNiterBi4il5r2>kIp1T3afL=lh)dB+UuLA7xrYLD4es*^uam z7=mhK*JyDUJTLcSpb`|ZO6RBFQB@%{h|gv&hLN%n{6#5{3kNDbkPE7XlW@~KU@lPV zafY{~*~;GF(pASFyQWa-F{d_=(}fw^O$l2PA|`WsXJtD!c)LmYWY@bxkKjGTif{u`sP=s7%y>P2A&ur9;Vfpf3Km}f_cEr69kM73ODvT0sozdM1 z$ISEjeZP5eZ%zF_Z0w#iTN+Nyk13*;|5EMVL&(%G=)&1XOG(xYgD{ z1Eo8yk$G;4h7%$6hJmZu@Dp68d-Jiy!<^6DLuX99S2bC_B3v)`jbKlOXI6I36DV(* z^p17DaaFAuat?w9tZP$u7^5Ej=jL-I1mXaSta?5*qc%U z+&v0Rlt|t?3>CF7(1L8+fZyK2vW<6z(0=Etb_KVY%hLE=zu*OTa1cC#FK*une-YVJ zb#<}PKbrg}G-@aDcZW1jBp$t=5x#mNb%I5*JM&%WUhgkQI%OTh;26ym1~4Qp6w242 z5C+);kPbWx8cnS2mgMEqQ{&JHPSUBy<4&_OAl`!<7_Fm zxWT5wR;Ob)Z!P1iF9p|DF$xv+^MtnYJd}VjCrtZ0n(+Od5nj;t;q{k7;fu?fXKI@h z`byAS$fp8 zGnmiPSa~22^0|+OEDGe0)6gS$c*M+{6_?Txc8|lCz&-nea+RzJ0)7=R_WJtOs8G=* z9Q-8`OG|n7Yr+ep=hXZ%E^+nV$oiLl=RD%sgr*rL`b`m-UR74^gs|Z@qr~Cc4|3VRePf;XC-I#dv(4iUp?0+?~zoS0AGJlmiSK-s;~ zup=e`I`nvF)+?lsP*@n5`yTlxXhKWfQrz0`GW$#4g33KsZo)N>IMnkj>~K<8k594! zPA#RI6hJ**U8TH-?kjm&Eu`VE-z-?yc-xLa5v?+GHU{vATsYE2IP}vGQ#njsfwK@i z`Y7O;g_-U+iK5i8&2o0blDybQ>}-DK58v{0TI+u z%dT?lUzwN<=d3@qLEv_q4>5j(Hlvt~#5{V7p3;UpM{Z(j{1Alpul6vqAF&+R?qWy2 zrr31A_?4Mx-?{}%*dCM`3AxZ!N++Dfprv8gzW51m4@mc9abZprP*~5a$0OP_s1Hpf z_~J+-ss4?SF>8<_&@xeaa+Av%A^6p(2&2A#5Nv=vS)*W$Qf~d;j@YBcGwj(;)mlO; z-qh?mlh4f-kcHGkBVmPrld~UmAf#IdAUz8z#iy+wGnk%u*Z68jE+U&tuNbsf|I3LP zb}tX$a;2~IgFXKg`H^y6jtz zkFdVtPw+f-QfF0t$T5E}o(YkV3@foU=e}M&<1(`J7Ha;!=5G>?eW)x}2+wO!IP7h> zt<$}*+50E|7_=^s*{GEuDN^#{S;@JDC7_RiVhwHHOd@Yei!P-D7T$9lxMvdGSX$=9 z?9G;h=u}!J=LnG*7zXCa?N77%VSf+w0J?bWUx|^0HlzVc<(xU0{uGzceg@kwLdD`aF`P+HWs_3W=r}^|M-^x1_8b-nbT9INh~$s&LvS!q zf(Owc`j&Yr1sr&Xcs8?uEX9dR&aCRiFh!2}7Se83{e&366Xe(F{OS!lr%~1 z#h--1BP|V#vJl#^`RS_-c}B`TNem+KV`*?!0wtr@ssx~6twx?QcJAtK5&qCuX6F`0 zkho}XW+==PJ@Pg!)A&oypousC*j@?e2QF>j*4fWJDRxK%&Wx7^%jn#S6i}7VE4c>W z$LnTx7YCJmxXiExz5=pe=iaCmjAGt>^w_i+3^QD3(lTN}cNxdUMmcoVXesk@pDH`8 zw2Or9cx2(*>DG-F=<(;Wg!QfrDPx*E2=z?Yf=YpE zPQ|6N%N#$%3Tiz~+Ao4Ma%qr{C8Z0$jaZWvVhLrKE)?zU|l*Pqn9ZaC)oty4xSe$Cm^PfY4|c4II&6}p5?t7ZF=9M z(g}+`qDj^cFD=t(p=7xI06tam6Lgj1w_OqE#BLQ2cXN^yNTy!BVN?F(w5&2tfd(xG zh?iM3_QTCMuaz#L1?GN`58ODc%eJ5a*(3NASZBWhEC&x^9%*vT(U-Cru#pQKkT(Hm zkf~YJhXAv<)F)Mi>e{kjzE1s2tAXaaG#{#f<^&nodu|n)J~MQ^^A>hbp0l5Xkl5UT z?EMiU@;Yk_G#5-GJ`c7^JETX86Sk%L`ipV5K7!O`^T?R{%P{=!@zlotf)f2r3A714 z=ipO9&tk52@W>z-fRiyMyRY%ET0`D^0XLy)FGR&%li=!Mk+le3AK@@IrF^qABHzsf zi>8lEQsSmX0(dK1_KazdqOX1-`c^wBk8vJI;;hs5UT6Ib^QBus_3osY#8Jg*Sc=D! zw8az*(P$+hC9DlcsJ;Hy#(U_+m|z|epN55@FI$(G#$*c%{T;OVuuXs1Hf2wkx&EY+?*#&tice43 zXJ2a1UjnOP=a3Ggw;vs(4FO<3s1+J>TRO;4wm~#0o41zg!G;P_QpY!&9Uw^txE8MH_Qp^3K_pjK^;n;xx(K)Y zo9%ju#G)Nm`Uj+d>HZsGOAet0BK=WRd!b4c4~mlmkqjawh_CrQRvyr4gHUTs7pa{J zF#gIE?j8`6MPP@!DzMp&wPExsx%$O2T1I-0ngHtO0J9RX`Q!4_7l8(aGF(${7G^Xl zAJmNX?J2Y2y{vK-rr|j45`aW7KnQZs#NSV7@(43gFejrKzF0OZRbb)E%}v#>n;REF z;0Tz4Ra9B&%g}G4(}hL-r6xT_UL>x*f%oFsst%{s($s-#1zP+0#jIT;=35C2bjrpF z76l`C>Z)>G!Dq+acAqmhK;~IFK81m*;vlANoMlVMsP9eYl^Pf}$J{-Ck94u*>S3%+ z@1R7~28|BwYeK};`3;~deg=tur$qT>UUxG}x(^>O2ewqyl~Oh{0>_c6;UKFHxtchl ze~N;PkiMo`E+&1<09~5kl2dMjhm|YiC6g)lC+Z7xJ99Pd(#j<`{GZXg2Dl1%DsOOu zk_HjjKnpS9`Vsg(ahU`HWe+EZ-42nXvw74Lh7Bni3Ym5(4+X}OiG0(b(Lr%oo=opN z&2KfcFiTC0MEhc@QY2^wq|gGNkP?=3fSKU};%KLuYnCn_I zgv0`ee2Oh635*S0Jx%0!{<`Qa`ryQO5r~ogO0E&KgW5b?;w5u|Ic{w+-gRv_>W){l zpM!*lu{dao8BD>KD>5qaOJ{if$$Lc!hGeB$dSOZW)rx0PqP*$cyfBXYW%Re4P2BS< zJ+|%fl}wbN5g+~x&l2bW8T2Hw&D0a%U4rg@S{PVS%Ko5WFq-XFgw$Q$XRtHiTHs*` zKF=L*XC^Cu*f{~;djO#-lovb}BO&INYG_hu3<4#~Z1Zk<^djIaHfET_>o$;Vh#xZx zcN1`oTE%4+H=dCXGtLjt=LFsT8V&X)&>$?L35pJxTPQX~6v+L9dl_n+0agXaeGDu( z{7Wek%Lvu}j>4G8B(_Z|J1F0*jvEWr^Gy@2q1J6vxeVyT(uE3D-l2kjic9{Fr7Cm` z^R~%GSOv6{bMsW2W**Z&#BvnCxv-pVc$tDmc$?ymdDx(bP+{JL!0Nv}k=4lfYDbNT z8n#s9e->}butpbDv|j=b=V6N47BT^eC3Fg*bDYH~Db+iWp-)2&CMOrTVqjjzo|j91be=B=z7S@XG9HQk!9uZX+)F&i?XNJ;% zBx?i;e3s8~7re?FCz1?#TFCE&=tvT!?r&>cCZ_p&UuW8(^Im52hx95s=fZt29vaS2F^B3Z%(s$uIb^z#adtyF*V{b^FR(V!t=-i&jUIZ1p zcvhMmg}a+u{Fb>$5vy-wM1bA#pk2|B>n`Cm%B_xxq3k-bV#%4G?6TCou}OjP9wsS7 zaFV&=S4F6Uj2DBm(Upgy zvC&D=h^g+-m1N0;qVAaCHHN-tHy2xfu?TiIUlKl0_ik|3eBLcQKLUIxK8{{WeRXc8 zaW~JXUTu&#uFZ@sAHS4}pH z!u<(WE8Topd~l>L3Yy%AP#UQKY0;Y%>a#dD54j=xy>o~vf2Pb;sp62=bk19FXSAl| z%aotRmVv62Uo%-<)5={U<`)qO=hQD%!{4*3593~y^^>>H5GVOub&Fz3nR0SWGmkai z&Tto;l|u0t8E(HMv}7q2F*TzL`z%toEh~fKOsGc2g9kn)Pxcj<^UCQymg9Ff znU8DBdL;uQH{$XYi6b}+T)0el$rp{&E}7u+cl+aQ zFy7ASTG&m{Wn*qI`#VCq22Iqs6E|qP9cd{9W(2(95p6)cl3vQ*6|N(HbW_}El67d< zEz+zex@Co&9lYb`D0y-Bx2`9m7K&92Q9_mydZR7=Y|A?B$V$}WsH-k==I=naS%-um z{pc#z(D=p_hElh;7?MO`to~fUg3W!db8H!Xt)EUHNjcR=FLhunhkXsXQPz_ytrz*6nC~#8(U_ zy*=cvT!T+z#U-7x^;J+BN`w=F)ORd)d6)oS%KLnnNevOmGEWbw@p$HGlUw|QAE+>$@3BiN zjuMeLqLbY~NxBVewVUBMBm7lAzJhAQ?U^dUI`JJvd~JGAYTQ!_@-cQZay3YZ1GtGo zenJ2}Q7{sbDVE)7!xF(%gf$TZZQ^z_2-K1`!t*!1w7$it6~R@kt!j{9hJ3PMP{vv^ ztO@+zMEz^j-q)KcR7ABd*ug5kf-sVU>=+#=NI?X8~2{Flc%KU3uEniA*Dhq>cZ zW~X5KNO#JLq)gc>d=yAH%~L88%#ltQ3I%aky`f(Aj+V$~1SnZWb!OE<<1v#VIEovw zAUR+r@q%M1ShNmgA7QuHJ|hWJoWF5?(TN!-5YsNAh-#TtGpm(|IPrdL&`{ZNIEc8Q z_cfSXZdPjW^r&vm%!OTDq7*FlVxYLg5fL?;G3F}{7q%m7@ zY#-p_DukxPunQTXlvSyuT(i)Q^cXEql8aWondwF6JrJH<|>r{Lr~~MHWUcF zPC*(azm2GKehBQZkQDTeb=TjorE1c^UXJyxB5azS0agi=K3{DWjU<2-F2JK`b*bF5 zo$JMSVkQNB?c5pD2Pi5PorFcY34PA0nJbG51 zxEi`Q1s!g`a&_5CkH!K`3$0jWY5`J5vJRkuk6KUx*|(3np4SL&=qUNuHtcWH;qWFI zxHNS6tb3HpU>8=-F+pP=oHNdUNICL!Bf+(lOi~`sSEM7sHIydjZ8CJR%$u@~^=})b z>u}vcvr)BZwuQ7a`u3BJ8p6R^=nzNeEGXHclq0tuwLwaruX?sVU*Cn_XzY$MgbA=F z{CH=t!``mb9zVT5T|c(Sy59=`&TbKJ3h5k!&#|9mWsf^Tzd*aLxLp#@{G8{f`Q~cl z2bbv&NNkEY^7@eWwMAmfO*nhw0eliWx}> z%^onhr61@x19&2Kz9uePEPRbVNnx@dXX2@6Rjn=|nqxU{8!)M9?Pzb6ghv`%vV9F7 z^O}NkmEKMgtHa4~aty>HRyXOA?sEhk#%XKcKr=#8_hI}Xi!b~(JZyXnGR*YYkrZ?< zUY*Hg!h_vwO}{lCb=?k|@oK{z3If^Mt|3qdJ^LtC2W9N0!krTBi$hi8I>{BgPC z=id6ca{YEa_c@Q;PVD*Nd^gHypY^*b;$X{Me@mFq3-;ab<--2sFh2*Sh?xQGUPQmpwjD zFZ$P?_j|AO*FCQ3do~Uy*ip{2t#=KCKdFdfxYc>+j6X z-RvpWwO6otG3yDcoqaV&xybG$mW$75=1s90#I_^C8kE9OhX&i!VcLb|@>Z?<8y;hD>TRAUj zmLLgOkU_@f#r$v7tGrt$`8(18K-ikLa7MV_Ym3GG>-FsX^>)Sdr2ZSf<`4lQF79_v zO4*M})@OR(Kfm?g?oN7Mp7lSN#GFhCku{{gfXb122;bGI-qSVT_-*+G%6+_i+yEyr z_p0aR_>u7AAZlmlb7X|RyW{ib;XU^Z$>O%=Ixbm3(eHC_gMQoZbE@U@eC2UQAXhA? z?01;{j^<&O{q=LyVfXVv%cH)ZBE~1h?9oTk_4SV5?4tT#g04M4f_e7-i>cSKdHWve$zg(5Ed1=;cPv*i_Po_FD< zs&0=9?$x?X9tEbPyv!8`Y8zXUo#!|tGfq?fQ)&hS6}uTK?uwaHHxnBA69V%sB1IW_ zMp(_{p?c5jp?mJzzI)F{Meh6YLQi)cCe*{Smd9`3mQ*dy+SD1p&)3%(*7(;M#)Ru@ ze&63yJwEQA4=nlDJ%XRtAJHE>pI2x=kc98!d9Dqt%msTYLp*^lO}FD{6Vb)dA+t2H7JuEbg7mlIw5IY0@C{m`mK7Pg%`>~zIF0^q53Sn$yC(V!nH?37 z#?UWxh-E%+g z7IHsLq;GsrvQlqGY6=Gia6j&kpl$Xy=(|7P23F|MUf8dD-rmmrE>ntZ_Mz1ha~tsw z-4L{fXP1N39&K5o)X?H_Yv5%)`QS3dcISCg!PP>~kMg2ESx7X_M@b%^t!%CSGzNgO z`UzchMjp*G((JM(cLd11HW=rNmQv2fmGM79G85H=7~G^NPqrbW8@tx8!Sx{-vM2fe z+A?r)Y4mDBmWfm*#YQ5=Y3ecg?3K`Ymaf4JEVzAJzUzFIc4z-cTv6Il``q!lYv_5Y z$b$4Y?9>G5G%H_-f4*O7uB2iiS+0CmB1^xIOz%e3Az@F? zuoQR5`?^`nU`KU)@^?@k)6QEPw^RQumxA;Eu`a;1pxRbL_r~$Ty^ZDl~YT?@Vy+fYw{b-;g_lMs{!$e6B zhwsaTz7d$;`;)osuEgqN6Kvj2Q^=NkoA3m1EqHj;_kQof3!2$_9zJ+pSiPIRnYnxN z?o!ULfag>9-kN3X|h+R$x-OG;s-jx{a& z@wAFSIusfiNMWba^biV;MJ>}x;s*XpRj{MpCYJdbf|{!ma`yX;M4;p%3Xxm_-0 zgwYZYCDyy@WN$cRpI$L-2N5l8AHxd7_;-Dn+LjV0@i{3AXu;*Fz{a^;$hIM#5mp#KQ z*!pU%$GESLnE&$(u9@s8-RFrn^<|Hr?-PrSR-{@Y%t!L#?7c<*El2k~xBG41+NA?b z^YdWfX(adRQ#_=h`{@t2?EVDOjw;~7>NQbgfuQw=mW@mmFY{s@7bLfNin-Uk$%rh z_P&3BahpmebUlSt=jLF~?wfvJ;D6KALKx+Eglta8n*Pq6k zfvSzc=^>%<DYpP$D@Y|xx7*4{%TyAa_ zA!1L!R?piSz3)RBKR^78vCXjEA4H-_xFh`Tk6E6#k?WqhLJz{8(WKfq!ftYv`zdj6 zn73FTra#^nNUR4=l{Z5tJMT5@$0k&?2wje4@Lz1q11$pAz(&hsPpf&TrolgNd)^L^ zav_-zYo@{Uxz(WE&^O!X%s1RbbKk;^A1L*f!>;+gKW+y;tv^#nU*mR2L;vKuSHt+O zb+z?J@7M;w3^4BKRs>W&--zo_J41EOHDg8u*u<)86-}D?+6ycin`%3Axr==E%un03 z*ph_zKYsth28mlzhrtbFM9~E#0$|)Nvh|IR(i@A!hmDsFNWN^nUVA)sH}h+it~R0Q zVl29K;ylb*Tg%|=a7w(4qOu<3dl}?ShoZCIrI|@bI7FGpP@VslUin9ow~)G|WX(vD zv?_KHOSQN2^9l1?>PYw1zH&BGTidoFr6_Lmh2quM?N`Q7@Fl)bO(v;dWuoFJeJAQ{ zKnfU9?jAa$3=)gs@!Ti}lOHJgB7fG1!{bRS^bVvq?{dABLlr)Gi5I&jURIzG` zQ@@19g(Fl&k*F#hAqs*Mx#qA8-n=kY>x<>x-eL0OJuWa%lfaFGakjvAoyq^X?Su$jA3waoTKnbx;U zOQt;TT8pbV@qUFOG=~%$xnPtSyR%%Pr-(D_<>kFteYDSupTTQrw*T<`)V+& z-;b%(z6?S9@Nz;=a#|h;RYj1^4YB(v_g`lmTQ#^`B=1Us+kep8ZheRDW zq5xXzBIuC!Pr}b|q)r*W5#vrLDd$vKfuCUbUX3}Ek)Ux6=yfk%{ijWRMh)LO8<19{ zQZvU)y0la|Wd+I>svA_+MxZojFe`tUuw_AH!9F%EE$`Bm`OMBgrf-A=l960LTnt#M z;-=_@Cp%Vi^m=#r>@H>J^C;C*J=%#n8%8BelF4^amB7E+%gWdVQ;rNt5$Po~N>%oi zB!9gTZ&?<5ih(Dh{;}Cb3QykaZqJedJQE0+^|K~oWSL3TbEhJ8qDfe67*dDujE6*E zZR7sg)Odz3ENNy6+M*!+3jWlN*=s{ZDut$X)XOfblZQ-%W7>BG+C7%u5#+`ciclZG zIBRDBKPr>9i7gaY#`sjxk#Kh!C_8N6a|rp6t*PpQ`Q-;YN7VaC$7>J%rhH*M!WCGv z+njD=QJw@p*H|xsPA6Q)w`#l*Ego}ma za9~h%sE_3xjB=!8kG(L5M}KAo&B*K=yS8|v!)-VM#GoHUtcah-V za)PXr1CoQzzdxzD_hw+(%+pn+5?sgnDTE(n_g(t>8)Wl-5oUMbv+gbxW2{(TvawRx zTtxgZoih%JWFxnlLRMN)sJOuv!e>yGSp8lyO|Y7yeG}+UAxBV)BAFeC=E6MXmbE_SOI3Hyq`&Jji%!_bhkk2} z0*;*~in5laq40GDJ2E{+^$%4?o;R9hHuF@7hT4fu&FE?^5)!_>CAD$(oO%G8wCM-0 z6zl;NM925m+aYBD*KRD*W+vgU@=WA_tSa3~jSF@`N=K8dyyS4AQBNt$>FFTT#}v8S z#xDt8PM6y2%Tfx?+G!kzk-oY0Ws-i+g+6qaEANpdxjSSm~Sj%HV8?`zd@+>R-E%w)!A8` zxY_v=YBTKlR4g>@Q!{E2wmx0nZGly8`cgr;5f;bH)vY;`LVfdjXsM^4b4M$KW{0M| zIk3>xV&kR7#gxr5UejAw5v(|;n5;%VA@*~%;QTpD41)EAWPVa2=GRfopH+r>;}lu~ z`P`E)l=K&uzbbCg!wKL0C^uf@+1K-S`GfW_g65)y!w5?+hyA8Cv%}~wy~SA9^xcN} z={(=}I>LhOyyRXeU79)cm!`ghu@35=Fc!Gg=e+daZ!qA0ujh@z6gDCGj-69g70j<+!AzX$yBlwF zyDAdkExUSj^~>Mlan-sj2lTrKcP^71E3RK=yxc*1#N))N2~K)L)RULHDleaL!lT*Zy6irP?dwgVx?QhNAJwtE z{cOU}@_E34=@;id+ga?(N&%?wRqK)yP*kIaj|ajOsn+H%rgkR(CgTR4{pIlfOWghU zotcr1k>hXkKZSo+{w4TU@pLc+&?^|4|MTi(YUcuA0X754zLiX!?OmOWO`QSk|EdtS zw{rouI|Kd_gabRsnwnS|3fX%Av>AXEY>Z3*c1|YUFF-=@f9v^s-Cuow^(Z*m8!MZ- z0JMRpB4R+jrXDT;T>!nXy^Xz-vV)~mI%+SX9{}TV#mw(Lx`d!)7!O+Rj#nRpm zKrd)x1E3c%b+a@!6_(YM1~C513A+C^jKAgo4CCJ<@QnZVA28X*_^*_I^fLhHg)Cj1 z6-=F!4Q(B4Oo85{SGN3a3Y=(01}2ujQ!HX{YiMZ)w15HVDPUR2&<+@F|0@2i`p*Gu z`hOA3+x97=BSV3J^lm!QZZz9&XaJAqmRi%5df>aQ_j1RIu0IGrqzC{)3>iX{0b+y@ zCLkUrWELi<7AEW_+@Bu>B>@>n5gB6+`70wbS{*W;BQn-4G9hd{azs3~WIXyloctS`8<$Lrh;s}c(w2NY27e#p&#lcxbNLa+sSVWmw#Nir6s2j!b z8b!Gq#i3n9C|ty_TtwMj#F6er=qGZ+LXxCzF)PCizMeC@=^Qy&qttEtZKn`=j7I#1&alof=KrL~=HFv-~ zaUj5QKuL4JQFp*tarnyafY#!G=k9>@=s<{cgB*8*Eq{YPbAwNRgIaTgYkz}zeM3Na zgOYoLqkn_3bMubH4`MC&Wc4?i{_pkZpBVZZS1ioT|A{rGzaj9yVvXsa&*%R;Ad0$d z)3Vzfi=TP@M78V}64zB!O-)sQPG3!qIuS~CSZk+pa+^E43vj*Ss;?#>0kR@=U%(L&BT1RH%%`s*`lZ2KQx3L zSo%%*A%$sY)%GtS=@41_xf@5 z(duUzL*pnSRYH;NFheadP{-IMyoHH1hKj=@s|g0c!6Kiu>>xVE`amk=A>)`noxb zUKbf4`0nuIKl^-lb9U$VgFY#F9T164?hK^1+T`0LbRWqwUwPC#aFE_9a}?H3_(q1P zE)llVGE(j+jW=<9;Iqt;XCF3jwRdyjB8_0;`1``8R#oNrSYhU`Nw$FK7#@Od1v_(Wp?>XyepUA{Xzyu!IcTp^o3a<+06sEb_X@j5!7KdkX6 zS_6bWi)$7=@*ZRI0^m`4U%THC)B)}-XFC{;yMf(oPBSuG;)`Q>P8#=_xM$DR z4{u}(HyMZ0$V&_DKytLVH3Xg0S~5eXxxQfCa-82 z63@{r1nWVIC{5S#_tCLwn)Q3vtp<%K!Dul%<+ba8T%SOiCcm#9kQu+D)%vZ>inA^e zeF@$h>HhOOXfD5_)u5q-v=?`W`;b}5b&K3Ei=a}xIu?Z_UB>FbT&{L^j^^F`jm*%1 z81d!|UeyU?)JW(I_LAR8Gqq~R@8Z=p;)oRP?{4-F%>CQj6S_8#!?Ww->E!RLBg>34 z`r(S-_gcB}+j(%uoM!y{=Hh6q?#6t4(>Opp}S+LVTLkO7T z26o9mOL~{6?(p;G<~I1Zcl^A?p2EKaeqyn8YT2v1YX|&+Fu-Ql?!e5M1z4UjNj5=@hKW14`{I1 zx!ANk_vT-`Id`TN6tnuPfMGPQx_ zh#FT9wDMNu!6m`F94Gb?C;941i_m#-BR3D!?`Nj-PkTxcZ6w zPdAQC1J=J`6`lY;S#te*k{dsxxv1~o5!(SrjtNi|9E%g?vdD#4Z9kjqpVYsFzY;rt zr#{{gT22Y*1wkFo03IY5JzN0bmX@+s)T*Oz*7uE;~uhQaRSGN1eR`D2mp>(01n9&_LT{J z`}pU}7*zj`7kAS=j0y!v&dJMExq(5N!^4fACq|g|*$_P33S6_a?@oyBj-R;9_i)ia zZ{Z0Iqj>!tc9`(irdDu&kh@K1VnMmPqo+8N>hZ%-$LtPS-6_LDa63eB(3$Z!4=ffN z%I2H*`;fGhvR*6C55wV zojn{3`_{jqdc=*tKC1m$!m-3fcLpBZ*~0Ome%n`SsAi0dZCop3e%~{)&d4jrasEDB zrOZW?DC>dpf%A#n-bh2E22E!KK7zj=Xw@|?e$y&^T_=q$!HyfNinw{&s^1tkUyWFJ8Xhzxevg{o7YB-haLS-K*#c zj2?>YcYY{W+1HfU`_K0u-~Hj$$JejkKimJ}&BtGU^Sk|<5BuN0e?=(i-TVEAkKcUx z>g$gmg6u~dn9|veA-Q6g!JN9l(_hcxV+3!b14#0|JFu(Kd;j6t{%_xWc=_&|X!6f5 z-n@PBySK^7J9*rX0ed2L2@W=f%i|ip*SvDf~ zHxH}*}sB< zR6$a|59(PFwg&VXe}Vq9(HT`)FzG9Mp@CpX8W|O<+LjjP`#SnK7&{QZSdq8;fecbv zYfFg*=ppLi$~lh+uV~O^st`8Q6M1+z+QF;^C3h)-&_9A**U>*KGSFWwT`mY|4Jlal zp`>NSq88BWDTqM~i*bL`e1#q@NRdkMZ7E^S(-Rz&hGYg;3sRJ_)|OJ~EuwL28v2Jm z+`F9}Q0PNJcSaDShpq7J`wBu{suDJER87%`auxj)eITP^RfDquEz%l{jUEkB0~z&( zv<4ERcz1MSK>mUCkWpmCC+a#8hrbZK!n+v$m@4;<;ecN6ncYmqS&?uGdb=WQ+8Y`5 zveuRoBh6l}DAC|oq1|j*lFeYj{skhXlVZf-;X=ODyTWAeQ3{v)}mwU zPbc)c<~oud#D+Z>v>KW9+CofZ(NgQhD2^FiNQ_y`a_b%0{k%=p4u&;WiPt#5GZ)j)_ z=yM~`Xyl6M=+W?tr&L!g_V>7e2R6kZx*~zZ*(jBWn?A5^+~;8_02}5L-M5Y*ST}8O z4`+i*DV2#UWtbKTLJCHPnIF~N|5LRC1V;PnoETm zmGe=e`#Ek5r@=piZ|>EuL%|YhA!`zk9z^soj8-Q?kmmY6cE>@%P$w~i*=qiVPc}Ek z;PeJ8(ZX9GW9`Rs@W`BYVJ=&(R`2l%vJ8 zj`18oDFKJ=_cv%OvCe@ofCd2!!lg1<=_y3@yCX`UB?#b!mUJ@_SaNTX`wPw~AJnoQ zEY7`+LoSo*)^J@oCpm@Y@18;f2@UaZ^d@}znnDo7wO4_93N><%RnBFx>d?ow01rssOl3^SZ#<>T7PR(2)PX_qo8*t5@x% zD3m!EZPf2Mer+&D*OP+z9*!q-XS6YpG+V6!gUg<6=LQ2);T~seFpv|&Yy3KNI8stj zfB}$A!qkov#A_SAHLO8M6(e27A^T*7G#2!Uuz%J_gjqnEf+dPVOq0nCMaAVrEn9;CuTliQReSZncLv1N}w>r2`7cKeriPzL}?EvZ1N2~^85rh zfhFLId3t|9N;h{dkvAyL!DX!=%;O^n0tdp9v&;mHPeS_TZbJ0_npGYb1Rihhtu`UF zmB9Xl4ghy990y~QgzyX44d7)%ERsYCJ;n|J5)h!;Cm^jAXAP{jRjmNpA}#5jLl4B7 zWq_(9kRFhlL?Dmq*;Whf9DvS{^_1d(TKxFuxE42<;`;+9;2hWNh&>F*v!v)7T10+~ zrJjbccZ9U6jK0nUN{*Zabs1(Yr?-l2LWo@njJD9}6+mbO(6=7Oh8S7&mB>5duTlbc zj%&Ad4q*BR)I*(gqMBXhh|sp~Z`9fDyNw^N7U1P>@Y7|`SZ3g{#Zgimf=yY|d$J2S zj`IM6;I`YSYX$%!Ox_8px8YMP5S(9ej6gM(DUS^v0dUo2SfQ^-f0GXT2@hpBXIUW$ z+_SFVp7;m)M)m_|=m8zE|IEn=jfx2RipbYWYeK9)RD>2e8O*K?tqBcUc(}~=4Xpv; zD{@*B#~?WGAuC)^yj%GqjpSq+4%5L{TeQgj#I}Vv6XI-$KSg&i=r>X_fg*(0067&L z=<+uzbs6RyE_6{r7`Sz8@4BTp0O0`O$T2NtG?tV>PM!qYoWq?X)NeR$1m=NR;KB+h+9FZLvn4K-%#Bj4_D9*?t*(eT;vvpEJ9@pX1a{6}A z2WKeaw5^~W0KLyL*Omd`h&BOEwGR?!n|q@(%~@Hb{~>8pC~+>-xPu8HZ+BSu+a%2p zaR}&evyW%561`(S9yS211(20Yh&W_xY-2d^LTK(ek`A-alsq90NvY;Mkx78#1J!a6 z7a&AJw%UZul<{0_p~A7(Ee8doC3Y>LR6xqwgpJs55fQT#+gh_J-kOLNDS|a|EXDaS zwuMqTmxLHnlH;t%Q53_U(1Uq@_e87^5h;yqg&IKRNevj4&}Gx&Vl#SoAH&$Pc7vdd zXcfQAL3+CbA~!6d97yJE4pEJM^lep#*vgDu0v3m(WSj&J@UD(0Z9hX2JI_S$T##p$ zU_CO$HumBA?;IPNwxO38G#Id3avgHHe5Mk z%R(3L;Tw%+(-dRC7RcWxHchn2m|#w*VPGY;AWS%A!7O)|ttOBNU=6HJ{=PwWaOLhl zHYpzV(o@^)66lVz+fhTyJn+O^k3%%5Svn>qmY8{chHJVza3QCx#s zeIu8a$#gJzhU0nGMIrL<;nXFItHNg*t^FlLc!NvB#ub;(Jq(8`{tI*I4wM-CJ+q9! z;zw7LMOJ%Ky)xV^tLwD3uKuS=5q*cwA7L$#h008Q;p!L269pUxbmhNlhEC@3h7$O zjy?e0a#cpPgF~Pltsk`JgXKp+i04rme8z1h0r+Dg-i609x`j`REnOAlG1Ao*B}ziO z9;}uqo4SWmp;8$!P}VPgHj=rlH1M$j_u^BkPW4@OKa~MStv1BxaBLQM1s=q$tiGI3`?etV2Dv- zT!$+>71&IO-4@ec0E32gc0ZN?vm@dL%$J5ZzPs1iVyjB>E0s(THG;r~p9NpQj;-BI>;S5_O5T+`r z+vIdEn0bSo10^D%-8E;Mclf4jYq){hW--JpOI(=5NH0AD!8;z+A_sO=alu5aIfv$QU%X6!gaa^~jQ=>mFAm2Omm}ObwY> zsSz9)R#6JAX^+$qQ^7$yTS^LPq1<4QB*dPZJ=TOg8@*Fyu~B%l=nWn%8C(ENLEXZa zJ3?FcrqbUN;fM@rbs`pVR#f8lR2l$VlBhHxmT-=2LQUA+=bFymv{c~1A)!bhssLdL z4=D#0LwR3F5NZU2Jz8rF9*ZSXaqy3%-drm*f*~T^H3aEigS!u-|7b9KI)}2QCQpR7 z7DPV1=@8UQwxPTTB`A?sx%Lm)2Evf&oH=d{nXq7NdbD;vXpCcwZKU}#{+QetNVq(N zsVNA`CwM?`o^dE|n&PAffXL)6mAI>*RSk25-{ZJh27V~x=^)b*fSq>&w+0!5W%iQ= z>7P=Dlrsksa{McR(6a`pWc)4~?=qxI-Ku!Dq#sL(xML!Kq0)CZ&(uo~a(u(2i^~q# zNnB%FS|m|ON+(WE?75||5yS^lv5Jrgo>w++YxK(jV+t)Si4grr#GXMZViyysdIW11 zEJ_)@4~Zxu5$>%Pf*fNMv2M9Kl&~$uCAKUT;~~OcPoxJeXr&FTk&XW0f?BEuf00We zr8S-f+!F*Qm={{Zz9(itK|4f_0k#ZkY`}R1y!oL5EM-uR7?z~MAzav%Xr89f{X(*N zyh}(o<{-dEHWq|7NVV1&>QyXBJt=iZy1m&o+cVoZx{C$1D<-zG*MWzi6<91NIp5rG zqGJn!?9K6))|i#7kZ#>4C8N9q4nVrSMy!W{=S~`Z9;N7n2Tj_gqLfHjuhHHpHMnX@ zNTE3I_8MVi*xqujYIZLS{3#W$>S6J5_i`Ab!xI?&olr8l14t^}k7{XljK*1OW3r4g zn8YwR-BoXc0jxbOD3l_(X)4{T(NY8MEw9l*%txMO9&&71sPZhAf|yg>vTLamd<<V1;mNx_< zf7l!>6n2}9M3D8+z(AM~2UZd$T*M&?_L1%dgM>kltN^i@ECGNqyTJt_BtD=$k6KXH zb96RHCpHWVkdmj;EQ6zrY@15>iN?BSOL&DD{E|H~ksw?UR~eC?odh7afl5T6IIs$L zj0lSCU7`KNuYm{$5RF!x#Ond@uG!DELiKOvt~$?AQzO@SJw*Qzog|D>q{1e`leyVa0kX$bNloiAhOD$p zl%Ze2FChdv0HB1e1fv`;qF5eRA#~(N&X0h*6k00l)<7sQ)r~B78I>HZo>X#PNOrX3 z?BPf+A-NIYGEcH+pO*QR9dIVQ_BbrnO*n$h=t4?n0%U=S7>F(;@{@RY~XmuM_S66^F!7_k~r8|Em$BVAp~F8Y3N&KMdWM6uDppQ zeQaFhgDIU0SWr7FC&oykmnqlci~~?si+C}k5ZgTG-}HuR^^|gCyUmexaW}ExE_#s| zt$LWWDHm8E?Bq*E1V^gXi74IVZo#rw^kKm^oJl?UiG(cUfeSoHE2NefQj;%^NymXa zi=7@bDH#~1x)+FlZV1LVhYBN&r!bOl4gEweJ^lf~MojAlYkK%$bvv-z*wVxF`c}}m z)n{T}W3110MUXR7*BSYHgpn9Z%pflbvO{DY;Yef9ljo+#ZZ$3;f{~X`07824$GA73 zw}NGazrrk+80BmuuG}nj2lhHj#(PAgwmo6TOU(_%!nPDqKi@K1T7e>_F`u$%ex%4U zaU1VIO&$wdYcF*-JfaZh#*CYSQp6ry$0$phDXGK~i*j{a@PKt6b;k`t$DVWDriea3 z5t-Q=dL7IL#lngrCtAvOsatpW>~+elcua~&g10)h6bsu>Tm%5kL_bH>XPa85)d#~LGi8zWPgy-tjB4rOe|a?V8EfypE5 zhnYw##n5`5%^8^b7{o0%YA zlaj~6?6sp16j>kh0^+7_VNx8keNrrmZz#@DSST)aC&ekBg`(qn#^dbuq`20d6sLwe zM7RcuD%w7-sF)2IuC0d0ux}|&IgZ*(-GQxgTq$<18&i&>*Q53#$AQUX&l!E@yuO%LLHpR4 zy;eaSK_WeMg>k7nFnLt?&aSR)uhS}QC=P92D9*YYift)YiuTYs(^&U9S{}8hrI@YA zqobhqEVmj8clIj&QV;e^Z;H|h>dif#A$F5_y=8r$%wn^ddWQnxUZB*?O4cR|oS zJt+beUy(&lIKwR8fkAU(*a~*Lda^ik`G|`Fw{r~d%3~1s0EmU0H|XIdautVI69Oee zkfadYD6&na0v$e;7$hgo8NV5MkFJ*<+26%|k<+%+O+C zK??^klJUBnv@$&}&dGxo13=)JdYo+#gb%)qa3P<@iq_GC36nJAbtpE3Zj3}QBc3=e zJQN~dk-I!gA$=6fbBIAn z3lE6|EkZz%BG#plDfG#bUTd1&mi;LW zC{pt$`Cvv&3cP0>m>NW&CVP9u&TO|J6gKyZ{&y*6H$j1-RW`#khezm-y-`L9Q z#IRW&bxWQ6V#fnRXv*f0y(<>G`ptN_E)oojv1NwE+-Xd`XpH04wCQ4{-&@)vXtU)Jb8P6wl-tyol&^C07|Jy7ISRdckzXGpMVVU9#(1hjy~fqJ2d#m% zc2J53gY0=~5cSMP3uMS~@Za*;&}#drEn%g|HK#1A{3F}Ufo^N70AoH;lm9ZBG)@`- zT(BS^`qV1}YfqlSSy+@({6GF z)6`)d3Aqxb4IVsiEBm8w7(M`{Jjdj0i4&o<#bsSBt{e|cb7U|#U&JTPypYqTgshO4 z$ZQXpaw=G*f-6Rd^o*s4bF7>8CoVehIzXZveERU7GIWjHG4h8=`l1(QdM4oLuws&eGs~oj&#T2jrGRK! zNmFTsf*XMo?(N_gfbB&Bky)Yo;I=ekCqYOb7eQ;-1`6OK3lI?I^2r9^d@P#IGI906 z903)811l=&x9HoYUo`=TA9{I}xympLBH-u+3aBs%8n7qX(h3DP0C2SM3&3H9fL>6n zY5IqUF}BV?5W|y0GGS(lO2}>nO1=|{k%T?m2tyZRB-6l5Kp&l@FYjmPXs6+bmQo)Y zh$|4;QbREYaw9PAqN{lU7(W=D)I8%?Hxg!-X~JFc>LiEJ6v18#sIHtDuRu55WnAhw zal&wWj)U+VN%diNG66@DeJcXa(T*||V$ORz50t=k#jz7)ahIGJ%xv>5x8Z+3A?9VZkdR;5l+i!B=3==e&>{-lUZ^L)zw2H5YkaxFYZx zqFecw7TYD#&}J{iNCVjL&y%CfGJ83sGm(;^^s^MwFIh`#)a(&~IvF9->QMvXB92In zt+W!`=*85jsTUJ_q*KuIVnyj5X4lZfz~GHsLoxIWCVgK<3^D6aU&NZ8{Yw4b&>OsP z+{Bf&pa(|En|&(`UjpwbWa<4Q&piu)7S_jSp6vf91(TGQw-w_~pfv||b}^&?1;Q$8 zKMR4@n0JlYPec>R)s1ncguW{chAgQU0}9!=`q>oL#iM95~tSB+El zk?4h7cvPEb$B2dNLSpW@uo11v!C6SGk>Eb$r3_W4(yJ&X{ej__JLV!@ID!`5Ci_Q_ zA$tvbq@pYsn+*>4V?1*1(B>lyYReoL`h5wTHfYWR#?A+_Nc7a$$y-UI=j)V@{lxv; z$jmWmTh%qSzq;7b)28Oz9bswJf@pCfb6!tu@?Z2f{hV!1c}(57gq3{dm!vYniOVPq z%S!ihq$V=w$;9S7DGXZpw9Y4~^O()5LGVQkY0)$F@myw8U#5LTjxa>R6LmM%){TSd zZdX3L)nPSb+ zZ>hC|jHCdxw;`!9 z_c;b?c}}dQJ}I@nRC`lDZLe({)Or3rd@mlSmxnjWhKX_Q$mu`NBEl-L=wRnfw1Eu1WRsnQC|>DiBm*c zU5XhbuR&{IFlZ2HQg7)zMhv*LT&t9{2G+8s-_AxX3VFreTO~q+eH|EU3U|ojN z_HANohG<-Q(3lYTx-mh8D^-jcTaTS52AsaynpyEj9wPY^bd7Rdk@R61u6I6AsQ^N% zcYfi?MEQo;jv54%bSQepna&{?F(=qks71awBtmBg64&se4Cx6czq3Rnot)P#G$~=8 ze9OU8>?Sp!!4)0AG9VUXv&q$jvO91!ppw+?28-rn1uePr-$;POn|M>Ai`bKp_Z$Lp zczJqaybsJ16XU5PP5`P=1f6kX1}ym>2qY(hI`O`(P)Nr@0V&i05msc;Z#nxZRYTk7 zP*x1t$Czzsvu_HCjGEV^5vyigtSY^0na1Ko= zRhb2d#k9Yjb)BOH50bXwG&pw-X|%2=$0EY;KsC3lK*y==_8j zddTp|gIixu1+hS!1xfYJM`rr1T(-5mpJ|XV<#fqP2SHAb_Vo%5NaE?;(5Fw*aUZjN@@rag(Fe6FGivv z=(?kHM4{*-IW{HKVumnlUv94Ju4!-wfvsi`Jb4!i|HD2%%r zlB)knC{&cMf}yikQ)jo$2eb3G0#=J7`t_A@4)#1p8PJZS1KcJysOGYSdoY1kj#&no zFyqLMA}&gJp=X>_`O3JT9N>J7&}x4$=# zPiY6>+fEAHyLJK*PpuKKX_j82mSbj#TzRu7D&aIN+!5XI;A*lPO>cXEWGI1}`5Bg) z`be&%+qS@#IW~8%*boQ6h&xzG8sq0|B_UXAPB@-%pE`NfZD7bo2emI;3>}E(MZKO< z;rZw=K^B25a@zpfBxcYogTR<|rdQ-c=Ts)_*WANfj-frQ9`s1tc2#R_7X#^tz-WguhrM$Fr?e7g>APw*IXqdvj?Tk%^1g?;0rL-Ikgp)Pjk~$upDVhW=jPu zLp#f~BnFiML`!sYN~?_DP>{**S)VSN8@!kNmVt6(~Kzu>)sxkK#P4J`$}sr7!If@dILM4M?7FE z!e*X8)9w-CAdFH3iR;yJMM}C8H9vtdqV6`xdP)V#)OOhW#2B_eAidHR4kPQrov!-b(_m5=E+R3Z*JpXeq+w8eIHH%>X4kc@~I zBqggH^Ol}6Gv^4g!`sBLI0QqW)zk?j#uHAD5yzy*w@W$Zh9%Ug!Wc~!7>LdmA0yK0 zQpJsw17c!ap7 z4@B$`bBFZY{%~KA^_@d8HrKa@f$jfU#A^{BG$LwxMT274hs1y^EOf+B5!4 z=*ydYlV{WSyydd;cM7M&;2dfO3#c@w(uKzmob!% zk9Vx}mV30LzfO$0>ovyrGKLMK4F)!h+(bHmEGQxG(XE!m~{7P1)OR<_w}Nf+!9J<8z%JUpDWfrH8=!Yw_rf8o&XpN zQ1KGhl(Ia^O~f!Z&1_<^rnnV65Fti@pJO6NjW2JI&IpG8#jpl8%8|rISUIt#N9>xL zhKBISAJm6DtJ~$eUCQCjl7qDJ!W$rj{~}$s+LhiYS8d22p*b$a*v8}q+3=LyS-V}X z`c@T%P%C z=uIpl+rb}hKWn_>%chdpNrc^)o)3{6%VvQ+bYnc)Z8>~MUo?;Nx_F%fJIBLlJoX$X zhw51&$SzJr?D(NEEG4qRfW5r zP(IU2K+YRI-i;W5SBv~E2PZs4E%=NXCw*QeV0VA5Fv+|CV8270oC}QZ`voE@LLH1K zVjc)<6w+pW%St@O0f2YLMS~#g0c-=D(~YLPjP9LRtOx+Y0<{e_;Ifa&rd7_* z?iO%8m-@uIOsVcn=V1)@f92*W+p18ZjX+>+-;7Z$GE7mK2fN< z2e&@t7g{W46Z!I>D}xX8HG=XJqwo#7WTZ;55%f;TpyZhucY{Pq{|BPf2#+9WBtJ?K z1xO_{$mC=r)tO7oY9U4k#%vGCkoG0!={QqU=ao4kB?7a~J0};Po3RX|>f>(IBS&XW z12Ls;G(F0}p!1%bM3)|Dxd!nq8rmbp@u&r0Js>g_v}h48I5Bd>lLu5u#4SZ}C9;tf z^{P}$l-{r|uTpPWjd2*kUZ&3D?@(61#z-@g+53UmPlm?ND|tC3M249l;7d>z|J7&3 zbmDo6)e@<33XGok9ir4*p5S9Ta`2b{_xA$8YZw5_IrmeLvhiQ&WEt1K00?d>VW{x# zxh0^_H-WMxvaEzSPUK}zZ6WvVWsh-Z-8%2&*&5;mi=1JXY%Z9n&au;S))mIIjPp_v z=An0776e=F{Q-EHrEmc~K3OOc3gq?*ltz1rL_I8WWVsR}u~hJkYS>;=G6^`5Y%c^h zu))=!RJ~c+D+E6A0eH%L>7TX?vXQ0Va&SH4Yc6Y_Co=myvE-Dsa!~5t%=TuV%_NGK zh)16>dCa5P=bejrA+x=Sb)P4t?(=Lf5oI;%;btJn7-wqYzS3f2Q!=b&gd7=(K??&x z#4cXroERRyJHqQp3A^WKmzVYmkq5kp$au!ISc)DRY;c@$o08H*vOV=rmzk6>s)p*E&fT7dHcAby1|?3UlJiIXQ;v9OZ22+v zRf<0I^;zb~A_qPi#jYqaiMr1NS$HT6zPitY(&$aKH~S|K8g2IqvlQ0~+54}Q5~0lO zGlwjeV!Q@dO{shHxPOift5aTuEn4)Mm>6jw@=zFI8_b$J0D40fy5pP(T-69lYm_2n z#;Z^V`z<1I7;y%CtgfZ8pzV#zy?=?(%}5Oe_Q*`!5NI{gE24s z#36bv#ztdeJ5C2Zq(}s-#GyY3-g_V&wd0DWY2N4~9^vUMRTxnNc)(6r(^x&rejq7P6fiz$ zNEr@FvkU=`rp3ol3d24ICElw}9(W-=DG~Ubh%z=Nnbh47L_MPvQI7*tJhCXWK|)s8 za!*vsZ8J5_SDV3$$FD*s$6j@0WTx`sv>0b%Mu8EO z%6d4)i9`<{^%=Q;Dk2}6Nnk1Yi+C=xirFy`=LYdKoNa8f!i(9$csn?e>xtjzKoVR` z*BWUCz`M&6a2V;58D}mNlwlN+4Qo_V!Lx}8fE5cMzpN?5m}DittrOR>4&J@`1 z&~W6Q6o76BkZuy%Od0aiC_^CM#3px54?z~&&r9YuOr$PL2qbfS!(~9h9N&*>AiG%X zOU3QKbcoqjnG`RVEAuxSCkilso#nB(hkqtSE_jwPFe5qHQR9Nz{>d#d*r^tSzi2`$`ENiKv1y^s~cNp%MkKOAkvsL zA2IZlU=-z6^HD10m;^w2R1Pecoa_&qEr{r}F|1W7cf&x+8!G5!mhnXx8xC%%!=rMs za`chh z8J^);&lnI4&AdGzbp_Q*`$ataghnN|VL z{u0oTTZ!qA1`j&49UiV9^H#n->7oOsse%U+!Y$ zoQok$av#-brAteUtqV##jReG(wV;!+ktp*J>;dHF$+%%C4IVzz-oU(R*yJWxUx1wJCTiz0FBDdeHKdk2JZ~!zjwa1ZUbw_2dmaL%$eEq7 zB0J?Y_LRvb#62`uI358hh_y^eFLoF`4<1d7?Pl5Z0^9}4`K->jcqN3Y2jI^mC`^sV2k#sSJ>n$(<-v2{WezdSUQgpd0;C0RV)*e>PdRP z6T@l@7mbPF0VjfmvOfbc9g*OQv=R%x;*5WxR1)m=pgm=3yg&;uF#2Qs631rtQG{8N zrHcB33?2psf#h^hsvfd`>-Gwna+rOVhtWs9Va8hhO8W3snB`cTnGDn|OoWr{L~xjt z*Fcsw8B%tFQ})tIZ1S;;8Z~_id_k%`bt2~i8L6158(K_SoKV3>h`SHSjzz(3Y+o@#1o~dT~I%I@;s2_fe&jg zn6z+5!GcywH8^D%SR{WwX3%1ur5t(=F^VlQ?m``jMQUI3fb0vIyv8_o0wDa8ra>>e+|&|UOzJ~#ng?mM zel@S~HOkTN?9rg!l6WjHX|-J?5rZMjxzO_n`rI#1oohYsa<+*>7W135sCuN{HrV~D zV~;TUi9z+ng{+GsY~L4bw85gCA8_e89rSplAnOj@UdpAtgPzghELVC3Hp_96#R;JN z&34rfuXbO?W(7}@=i06k;id0u|(mfenr z1T6PBGh7+R6XFZ>$k9X%zBjzZ@Y>mpf^ksETOCKU3?gWb)9e!md>1n6;!v{<++e08 zl9<(1q2i)f6s6lxPHlBdX_+Dzc(h2?$JS2A>+#RFCP!xnC zzAHNp?%p_;!g&|EQJ3t;WL^t>OqJ{e1dELq5OuQUFeJIlD6`$^NW%zjs2wLjQAKaE<(d`LH9J#d#z43NQN zxM|g;D3NWBeRlUqn!s&;Hf?(M$$Su@J#IQG+ z$4~BW=GAmxaZzwwuH>A9YbcSu2#-IbsrD%uy#2jmpoCM5FZy-jqHk^=km-zLCh)GF z;X=S$lVItoG} z))o>)`q2b|bW3gOvIc7%VZgLz8BHQF*?HDPuhB37|gtAuhne@lOy6dmJPmv-DrJ* zbNr%xQ%F*BHm1lcmTEiX6;;Y6O!sZq{J=_NJ2ZN+!%)Hvq4aCrA`r>%^mb@|XDF&9 zv<{8KGVHZjUCF^Oo}L$jmtJAfd`(#^iW2iEH(z-yO)!>1LOl}p>;&=pK*mY_22ArG z`2x(Sl9=+L+0Ei9+t(;2z?WEtw!dl7d6->&uwv+DvGCB0jidNN*UY~~D3%N0K`&#a zZTp2W{c%=jX%Rw6fMwnZj|l=>Tw}|r$F`xZ(S)=w)Oi-)IT5MpY3G{Tc72^bWn~c(Gar>j*~P`*?rG>F~wmR zM4U3^2NxAyq&Y0jry0$rpDBDT@+nkw0 zKLJ_ZxYQ_xbXXZWcTTKAxp?;bWkkG0IAYkK?lj$1AP%i53uFAg+QNS)vXzp`qHu(G z!@s0RQ}~ODT$Ek)JVp;zMU#+K5{POFE`YV8+J9fHY3|EX{NlqRwM)|0&+2@gtG9+n zy+=1f&GdjULvSZ2j#l!Y_#C8>artA0EUQFSKtUjr!VGoR4C#TLjq zW^+|CmPBC34E`wN8TE!$S;sI=x?|&<$7M_9NK?QOu#>e$tX#R`FcD~3vr#c6?YyRC zrA9Ebb~Fm9_zwKJoSHWvF*fCf8*fuDn*Tx*))H%{L_|=m;%9$~B1aOjO_5ccgS1er zCO7`El;BYFE|se?_%EkumhKBBt@KSkGiXv!$pF(SD?Wm|?e-cJ?$3_Q ztBn#b>=(hi2VY#!NC}yS#EQ3YYXF)Ff=Fpvbl8w8R-Q~uokd4$k^69H<7|@c00=V0 zlT`PwR!cz=)Wl5&N@32>p1T%k80IAz9r0J(VEAEXz@*BAbQrRr$~*-j)-P)|xeffF zO)pv5#&zKx)o_g4Ju@clWA2vi2d#c`gOZX`6m(ip=Q(N;p_pk?hfDQf5q8uu*xhh* z7*IMKXIMZvJR=byySdfxh=*tXrX^u%0|4cqs-%;r>K@aeM0y&mG@!K}Y)^&KU|l2t zM38noiVQLRcVEdq+k79PP5=E5arKl!u%R&t6ObPab}A*JLynnhPj|yoFsLd#h}5Xr z&@QG+u85!?ygzgo=lUp5(K}yheuQU&GH)(S`shb()T#6nsz!}|_wMO?>M^E*g>XZ^HyabYo>jzh#Hryr>Jy@mx+NW58;u^1x{db(1oEUVc% z4JSgpN2()J)Rtxncdg%*j_LT8&<#ZDN{7uJ3psHux%zM#?C;pamL{W6f8kv-ffEE= z8eXGQpP)(n)GvhNNo>UUDb$hq>xa9VZtB0-lOyE#7E`eTIBd0TSshAAwXVPFt4>zk zCBkU6f7s(sjT}?@NX*N@g?oYx9cU>N(`_!lgCIeiljo6h?!}0VXV7SLahIz=eu^5_ z>1&p=Qu9=-iiTPHlDl$e6;rH%?K8TF_937>3-4Oo^I5pK_sTMgpZh;Y0bMfk5dWwj z$txPAZik+#t;QD5AF%(FC0;e%TnicWdf?DV9n?1{?S4nVG-1G&p-PhpY1eK8@3bF^ zYFVSugWKh0pb<3C+{MiBy@Lq(=#7neuYHHGYoU<)0BB(9HoAWJk;qXO&5iP9X_IonLyCpM2;^rPbd7rQ&^$?30`520*(lcW+fe0OQIs;pdgiO?Foa-a+0}!E|eKJ zUZuGdQN2I*cpaRA{&tJqr|6(e9Yi||EV8KaiW@|){CA`{BuD#i7lvu^RUzq$?=bNL zq8U(z2~C&^Iu4hS4z0VkhT+SuE~8vio}W*31yb4o4#61QE7r)R@~1;^amC;ch-A%2 zW0P3RQB&(XmVapsMZv&J3|a+tkRF%^xk!kTOb}|u-e3tNNJzQYF*4pUcuozlm?vo0 zzyY=@AARUxc!zP8s)J-H(o191C?!G$=&vLw2|z$fbZmLC21k@pEngnGH-D1*@n5Ez z5FW#*5|OTN+0UDS{^j39((~fc;Zi^r^8&WimzR?Z5-JfRY99k+AHOpf>oMs3ks3J~ zoPas;R5BsQ-_K0Vl|@s7nk$}?&Q09C|m2t4ppBI>ugd%V?G-c`Jn1rxvw@srM7?Ezg>{CjF#$1cKq^jpo zb87a3i)IHlclT$r_KExMG^w4#+5mi`qXeWgZCclWtvYYJ&e65cV8(;!e0chPk%|+< z4Z}L@n;-_)Ja-&@7`(zSc)Qg+2v@C9{@vO?ICz+hMWC#wSid{%&5vK2t7v(eZ&1Cv z;uPfY-j!S81^}c|%^d4_5O^O!{I^DVyc#}~Rj!#lid9VZL`zaFxaNVT=FqlybeLZax%|YOA^0!G3qc zUCO8=(Dbb9XnZ(abzQr%3cGwwQR2YwVbiDUv_-Syv*WZ|i{f4XeJ#|bhHQ>p+3z>e zGQZzNU80vevpSSg0r%31M5H0p<(p<&mc+gJpW`|RWSJYgOFA|H-NqcHbmpMemjI+KOS!u5x4J%h6a>Hbi zAy!_26y2a3(pcs@${2cVu+&kU9ByJl#-KY*u%0cBmyuqepWi6Tk6%phGL-%qIwYq> zWGpz$0DPd#1xNS19u_-gV^+>?fGD1_Z;2rgt)hGGx;I>&o7niT4!Km0Cb62sDTxSB zH)k{>gSC&-aoFPUUEdFkVuR9@{Kk(Z@nwfv1WdLF)Db@v3D2dyxWW?J+6S8sQ_wbS zl8K~2GnPpANqn>KdxdXsuuU1FSlNXu5N-QGO&spmH7UYMYXM;%N zSb=nXqVNlUn7({!mB6b`kCJ<~AlrtQARn=xp?+vL>e@RwvDdAFW%;(v`i4pnx(VFN zokRJGy^*c#+~%ovalVfcPaJvm=BW*4^K^egbbohSVyvV)2++5-z2Ct?OvJJ|A zHudl>Col&SeE%xS^d0vnI`}$!lR_jn&SP;MDDcI1%F#UUy6G)pI%M3wHCD;gf^uokh}!C}of3c&f$9GgCK8#If(zvCST`3xdw)dMuVLiDFOxkBzC3;EuRx z)En11CuG;kV)bQWWt>F1$q)zBu|sX$JSk0lyIR9!nZ*`~zz+yB6gGwPAmCI2Un1=8 zlo%$y>Bg%%lOr=W?k-yXsw!jG;J<;!z2zXZt8-^ewmRJ6MO9QV^!p z>)o4l;77YO880Jzwd0TcTWY~xYa7SaA~uAnGKFAw6a>GykOb>zBmFs{wb^;JzmSel zyE&@`XfEVc$DtQYi(4SNhl-Opt4F~SDd)d5xoq}pmA2elQZb;k4i&uJ&3XHs+SxpT zhI>r`@i?n#WX(I#n?oi}8!i>3DD8;+Iu9n&cWw5gmC%YZBE11Vy>Ov{k+uVLQjrn) z73>(->sfL|8{k)}vb+2q&*=C1NWllI)O;r#aRCurtzG(;?W=F0juaN|22Ki*K)Rp2 ziAfl+fuNLrX1o_9+$xeIkS5pT>ck}Y%p$l(TJjP%g?UbWaX2i`**3p>nWTRhJ+JbQ zh+xl{Boq>cNn3kpcPOpUXFmg}1lu02X&1i%&zMT0AiLbfSR;uy%g>w4!Q-^a{JRXR z3>ToqbnFfcQH5+%J<_)K32+o&tFwugX437CQ*d)fyzSWSUnX%tQ|n~u|NdLcj%9f} zE(nh`ynJbQeCH7y&$K}Q*9Lo%+vz)n_HaYI!?V8tb6Nc>fMP~lL@7=^Ziu_1k4r1_ z)Tqb(Hl_r0l)L|Dwh!r|B zy$;P(?rk#cDAm^)Zs zmzF*XA|+Cqsr}eDjfE*y<#YMlG{idJpg^w7<+Qw!kX2iZEYw(M9~#GP>?6IBT(G0D z$J2!iV4J6;wQFzkZ|9&)fx-E#E;5dBGMp@A(>x8B>@ycZGv0n(HYdw3e_A#-P3dR# zYHUy@eWi?N_}jZ?Kyp6=-Ot|Gj*f3x{gB6w(jt5rR>>vHp_M$p>({6i89re#nSS|Y z-ElikO4ZJS#jIF%R9?y@+SNA@tdWZ)yY$Dw5inC0FNe97vt{|0{86SlYhK*KH;h3~ zL3U~2KRW?gyyGg4`r{#nDZSF@oVN8|b!#4Fjym~fm&yww*w{JcV`Oj?+0r}hdf&@l zgte^BzCSQ(R5|T9nPcQsWWjSRd|%i!%Ghs+D70dNm;oSm0aC{Ip4)xKKIoJ-e>9+7o0_g^>rJzhZE$@Lb$7kMFz-a3tj z&I;ALf>c{pK9iy18bQ~F#ar1)zGva&-wPlOi-+Yj?v57UAFyXAh<{8Eb-d0~)*LQ$kPbUx$+j0&27JezYbPu@@T+7Oxk>!%60s(h^994x zLy!%5c=)p4LTjPiya!xpe~{(gj8?&TyMvj&QkutcVQR%v@9=1Tg zr)_Z0@feDh>(^~MO=h#(Inwr;b`hz$BIqPuJS=*GwdNFX3$lD@zA7g|>U%hJG-+@&YriFZ z(b3{Li@r-6iI<=!k-r9!1FKg@}Q63!q_F)xpEXN3vaUdKV_-Gp`uo@nlUqHi_hL_ z=)Qb0fbTxQooB<5o{qtHEwFlML%aw$q|DB8=c9ovFXh%hg0S<*M4%Kbi}uw~;CJXc zVBaN8*Dovz;Hiw|ZG(Nm*E>V7wa9Pw@5$b0WI{z*c&nbf7BaS3UwGERg@p#&#rN}U9v@RX~j_ag-J z;M6K03@9}FZ{%6RhWmI1R;?`u5T~H((;#aD%-$DUeu337;yC-w5GiKO!j0nNVrhE^ z{z1N4J36z1F%yFIldb;g@_O21GS0rDhoW;n!>B;X>W zOH31)P!UuJ7`!+HMmh(CGPNUqadmDG%}kAh7D=+Lr0hhgwRu0_%WP!jzHGx1;hEa{ z2+g%EOGA|o(I9P@k*uUBQik|OL<{Yd!-fB8^+2qugT$7B_O3-Kst)Rq+5_-5Sy-tIt9wWFd=x%0x4U|n#6L)#Fi6g9a`m~t1MkL zD>3sxZ^H!PBFmtF=3{UD()5@ehs+@DE7eE@7!nbH3Czi)ioEZ1TE5)e<&SysZbo#7nUU_*%b4lx6yDGtquwx*rdAD@#EfO zE42kG9669v>@S0pU+POoV%ZDeJw>1zNUq(3B4bGCmrd}U)|h!(&c%O zTX?|y*(BZE2*qZ)qKtcK^!zZutwI$K<8TS-N9&QQ@N@B7HcB6wsg*)3#-sCt^Ecne{a25C;O5 zDaraf@u9_z-C|Xwyzx~Gt0Q+}FwGDu`%Y!f!))r@1S8shxq1&d{<|EKIE6q}Aa^*H zf{8_-7!`czsbn$Bxc|fdmBJ10!o48<^fxijJrd`BN0sq2MR_;{A&_WYdldWF?EQWw zy_6=n`9$Lv=M1uCI@E{0$w!X8MO4|nLVii_+Kt5aAJmq38V9z7CN)!n1DygX|NFH_ zL;t7FlS{6jyk=??KFU%`zVd%&-u@2bYVG)g=TZ!7vnke&zTJ*c=!=C+0td1(6lHA$ zCL~QSj}j5JXtZJrilkGuSz-eU)$N!Mt_p?iSO77D>y*QUaSiY4iADM;)gQ@Ya9noE z-3)=R?z;NFX`uw>HMFB1!7TKT8MjB!0L#z%&T`6)1!;5{+xOcAOr(S zjfccsBa*Q>jmFD#lw&s&r))P@z&U>xR(t+7 zLZ&Qkb+wibyYdl7&d`<75E3rSf|oy9L_0m+PbXZ4Kx5!kZnxjvU24JIH60}JJMe2M zciZ3V;cn|aFoq?H6*J)dngTVd2Y_r{CV#s>K=8$+&=zzeCiyaLmhdk4Z*Wie73npJv43waFHO$7<9bNZo(fb}hCj_%grr8*8MIZgfD8O1n zESbV$Q36#$d0m~Qqc2v5FST8_zOvPvtgJl`xHmS@nzxxIU8?ZqgF^rXLBX9;%^WpJ zZ&scSrjxrfFqUp8B0+;w#c+LVm?V{S!T&JygtAlea`vFPj&x=p_iiP-5DPzjy?GXT z(<81_`w1-BBd=4u&n{P(79;Y=i?B=P||`qX7G`%O6fy-=8fNCYvTq zO$^(`4qPo24oqP`Tf!DccIn(Z@{IyTPuc|{5w@OvaJ`#me@Ido0N?61DdY)gqY) zXcw3~OwXTk-^OM2r5 z;PNKKaWC%Es@VqaVT21{{A^0F&Y%CbS3mEzzIL*4XR4obyT0AduOqITodc1aDa1}i z=}NNX^I`^aV^j8rOU|qod9cX3n&<4 zMuZRnOHtzxk-FVX3bVfi>CETt@bGbrK7roWqtSoXlKd(g3KIJyiXY~JrY`dqUoWYl zo4t(a8w!I684wf#r{iU8JJ|VI_BIrqj5;h6CEL5V8< z$q3BxmL%p;d>HGcs0rCX%g6k4HPnEI8BgSYGLjp(UV@u4+I}c-ws9qx*#I!_GsWAwE7kIzDgJ9J9?#ebt7!PKqn=Ds4W+LAgmqR1<6{mX|O&V>I z`W5_)%E_PzVc^}#C+KAxi@lharD49T-8Y>l9j>^oZ6R!|R7UI;W5UKV&R?+MZ2S)B z#u*l2-%@zzDT_?Z>D}#?_gCweSajg5tgg_oW%l(I2@qT?SGTvN8tQbo9Sbd~-xS)) z<)|Km87pxdu!6aD5Q1rh(0)f-dJ@0?td)~&b zkh|wK04Hsf}noVEs?=qyI|lasp0Jmi*9pvkG<mbNYel>v{!v`{&zn54;TgLJEBL?D6@! z`A#xBy(T13y#3*0QDm>5e^S%^w$Sm+wB6(V?kKH%zmU`m*h5SF=I5N9E(MQhx!Vo7CM^W+0hWHOfZyAv zs&*-z|5|W^h?jz#<5klHR$E2=2^*2v?<|fFLkr0 z*12S>s|(XX(wSW_`>5yRd}>Nz@V~{{$+RA`YW}6P`(P-(dk*B)`;?#t&Y}YnKwER*t{;6md-tUa;UtApaSesu=^O`RxU6iB`^AHtQ{L~p; z)89Gu^c9tAQOXSzjxyo8g|NVS1xZhEdR#BGCe_kDJ z=rkZY)bnh*$^7JZBGOm#l-=>WB4;J&X@iSM@LZt+sKK|lC~U~fJ65u))%)oI z1N(D3^(UPuU4Dsz54%_K<A(m-Et*e@S8(XCp92>AI)&*{_P8?XTa$KO6tGTih zFkH0iXqoy-KLio>c`2v*$DkAFLX@8!jVD-EW}ekEbp1;>r%rWS<#N^h#Pj1g2Ke>I zPylEGoG|=ccnEx%0%A8@=}OA9tP!S?9BH|&op0F}Xn+6RQj_P(R&u^hGW*CENlc%g znG}@J{HAav2p1AhlWh~vWTAq$1Wl9B=G}@URUIW99?D{VhE!^d>V@R2A}7MyWF*lM z27uOW>@u4e{byX8I#mXcfcMc;kFRQr!LtYNVxwOdz^(Ke4~hN~n?$3bF+xo)TdK<2Oxi!jf3c2#$;;hDr5ew-;?!fibRoJ@Ul zxq<$7Z%Z*u1DwFKB{|Q;cTYn@#A~asY1NevbtX~#lZsPOQu6^(K2ZbL*vVb3V6kz2 zH{>J&w{cAFtX!yjOmp#XLp@XTdElV?vdY%PH*fZzZmTZIsI`d{r?v}Po3kxTcq>*4 zLY-!h=6oRrj+b5LDToMHhjDuKno}HniR!L`maKdG2ilr1c^TQ!p5_s{b>*u{kr-g0 ziZtjqjSEbHL+2#N#kGAw?Sz8{Gzr|(c0P&M1xJ{Ir!!yD-_azzQ0cCjlH6ary{bwz z%xq9KS!>Y`CYMjnh=hhkhdgwQMh00?JHTv^C8dD35X+>{lMSDp*Xt4`49Pcw7I^L= z?^3YnX(-O~@}i}i*N|ht(7P6sV8oKF9`AEDY1DuV5!vfX_5zXs*M+k2N}F7+LGn3w z6|41x{A2WEMGvsVF!1i-;o2o$j^1WHzq6`9a!LS6ihA?uMnfOny@XlR?@u^p7~4T|1gQ1c-y zK|k4``8*qHI+!jDG<{g35zLtz{43Vd?Pc(1sNrx;gw(|n=iy<=EsE3kR%`C~K9l=4 zM$H}ZV?QC&?CAXc{s3=ZH!}j8CyI>c0!=qp@7;x;*3?~PUtUW;mD|P6G*HjorB(P# zRGd!I>hQEUy<5i2V7U-ZiYk>NE7x+S;1X2fv*vLfdJr-&!juZF2D?JEa1#Ax@D{xx1PTqINo&z-Rv4Sm+6@gV^{(VA)+vt$Xm#G}Xb295?$1*hVK4{*0T|K|jz(w3 zA5-h?(6NWBBvi+;fIN(x&Wyon%phXV@F@$fD7ha1gFi9GFgW|-+4 zO@3ar8Td^qs=n_4oq`J@;LDqk;V63FrC=Sc+5J^ZF1Yhx251;}@O!o^z3{d=&QRP$Iy7SDsm+ps*9_SPq#QPvDW{JHqff(EGyY1Lq!Jgi%tjuSLl^$aCU`NSL zwD%59WaV{S=g{;8bD6ZPrYOH%tGq`l!<4l(8A{nY8Ct&a7kiCD5w;)a;Idkhj7ASP zu4I}c{4CyXBPLU|=kt9wUPu!upip`4g)CFPl;&Ax~+# z+uIR9o0T<>!rZaB~};HzPELdZLNr95Y?HMjX4a&;Jz zqZ%{6xTfdzd}t+b3K2Nb$+WQn=25dS8(3k_hZK?+!1o|edjZhud3g_fQ83>U1nzSM z0*S`haMCm8Qb%u(GzCa-4Zaik0|ein-n9acrz86!9ap;pA9tMhTEuY3zTp>n%Vfo2 zhYJ(z%oBgFC%PFS#X_-AzyrEQb`td9B>XS7Y>-jwa^5(%(8xRE-$`TRK*f_-LXmhe zc$<;bmD9se7yU6+{7G?|skXS=)rbg=1ZF@w|2di^TgXq*I+y_du3&5^6&;p)#s<(j zqpEtU8$XYxe2c0)-|anBV);q0^hJ||y4?Ynjk6~&jr@tN`LHwhYs0BloU%ZEQjy;VF05{&Nvq?Yys+Vdl%ZHH`OUKjObBm|5{mZSDg{7z;u7=$13Rr`|u~C(4 zs0Mfj?2$XKozi?;pIe{X{AdSF+wvPDH?Y2M-nm#(5iS>NR-EK}Xc-s4{nAQQhz@pp z3TMaXY2!CPv2M;zJboZo1I!rBC5eh$WE*W{9rJsZU_|7-icN|D&yZSkqAjZay0JK^ z3j~~yNQ4YcT;CN$tZ&4!cq$q96z?;8CO=A+FhsJpZHw_z7oX&ZiMkcGGUb%GShk&5J60vAv7LAxd?VU!O$5oqN(>A?}gn(3Mw zhX$Lu3*(=^`EPn2ecH`ghr3$a3|CV!7I0=n*Hb7Ki@n3yBdOq~G*ei$@q_XlAYpCU z9LvKVlx?>yb9Aa*qK;xMcrLA{?teY$vs{2NAl+EAO1rX&Egs?9#~W|2IuJL`{cKT% z59U&6U68zj^X~P?>zdsSrB4k8kH(6sPa&82Q{+$a$4CB~lKw7}h&fM^MRUeRP8{lI zCSWEc&*rR^$l-yVs}&+03b^kGCr^x!$u8h;UuhQ>WpNk+Pqfb|MKz6^6HG8^WL1V1 z?o&-go;0u~x8i_3;5|SYt1M*o3UrYETjson`%9}CkNVQ{@wgoP8&$F;deoML8FqGI zSkC-WS_s{Jeh1%^D!NgDsw$ocL1bo&J5P8|oI0x3HJ62Dstuz^rVNq_(AeD6D`;V4 zw3XMX;oa~;m)$Zh`T#qg!vD4DR7W@bSgwuJpj-zUL&0j)%+M?(`I^|C-zQ=k5emA` zwj6v+b~Y$SQzh#X+_;Y4k>Xmn;Fj7@UKXbj-)_%ZvAT*>7#BB8V}^{mI(zE$Gin+p zxm6p$vOuWcPb^(9wgz<(jxlVEgz|UA>AQM><#i+~mfXcH#yFO^lFGh#y(nA(4S|8Rd%)TNFcX*V6(a)JK5f7$}YhFAmn zs9(Y(HLgR|k<{#`mx1avr?w4o?fmKDn*zeS&shQLHgow?;~$s9Ydt(e7@|A0#nSxc zs!9a|SEF8%X8IPs>()=`r%fwQZES#|s-hbn)bS2iRHamn37Jf2{D?>LZ{gCDKdOe~ zoYet>qB9NfybS(LJCI}1{P{}QtQ z-??(u|3TjZ{D0%M|Le^EDG~qwS1kVzk^VpL;=hsb|2#0) z|0l8iKM1?~Hxkhg~k@wT7R1o;2Y#U24cGWoc5#ZTvLx~iZc$UpLua_xZZ4_Ai$U^|~<_wU?W(J#+se#o{PR0}bBLfax&;23vGo^0^}H_J?> zpXaDj%BoaG(+}XINUzpCNVPrBAI3KZV5B{Sz{-tWzz@?PMJ7c*w$Yuw<^au(R%uVh zjN~0<>^{N1Q!4ZZlt(tjfZAmV5K5f^=rQLX8ZHy{S~PSXb%JfC4!Ekd-< zn?tx!4pV;L;zNQ`Pj_hy*28ljHwBUW9Z}%>IK~dsqo?;R%LY>Qmma%F+6UwuMJP+G zv4-c^WCmLDUz`{oeeCcM>5xo(5<}CV0LUMotxo6vSm7WuS@%-R zVMp9p-%k&*gs%rn@gH7ZES=zsb8*hc|Em8H!U1^uhW2wx>`NB)0DZHE7RctgApw2R z-HCjZjvh77Ouu@#KDrkSKj2l2@+F63joKy;?7Gt@_2h?@6>1yV&^k4lScxjwgbQ{8 z;d8w8z<*&TnbX$t-!gVM1=>ABS~1gWGxW;28OJGtD(EnSjF>^f<$%V52v@;!%5i{x zy~cR2!9UYy&$*(!T1s7oeKdOiQ8_Ka61K#2b??AJx4mBTsg5hL)(Yu-m-@SeUr-f! zp*CT9!nls#smG{VB5RkkqY(hRL@?=F6Z%d(){rs4>YWWz#B1 zw}5OiM0D>tLws zEWNY~&6-26LJ)dg#34Lr^~9OGQW*pqArWREM@Txh0DHX;@^{bc4$uem!%MSC;g!C_ zR6s8QtIynJJ<}AgQ0~uCAaG{`R2B`&WV@Nf1wGdwU zcDY(ZCrDPy*Do=)Q-e8zG$Hp#Tvcvz9q&B`>uP7HY`Z9GV_t#Vl&9J_Wr7P0HM~bM z!YtW&Me-<>l8wH61CXZ_6F+);d%gBp@h%(%IWlE!!58!vLiRJU6}M-4No~6lPE|O9 zN3%H`ta6Mm=vVGXqu$#f3r@M)AJ78aBHA>P;I>wlM}AjG%`o~KTYz;sN&=V#3RP>_ z43ysj&T*i>kS>Kg2NE``R1Vic?+JLXf^*n>x`+jM3*9g4B@^)a3cT_22q9B@N2D6~+I84z)jp zq^v#wgbX7!chZhXHlCml2X~J6qbKm0w8;+m!1>Vf-ZA}J@vU?0h;mnN5^8jDIWYM+ z=>eqiEWNF%Y*XYUXwo$tDh})wr|O#8tGRBJ5S{neIjn{y{56n? z$Qikreu=TKizH%m88fcGcssfC`x4HeY1}P*#_y-mw#B+hsQL`mT^!la4ih9s`Fkot z>DnFq(M``R#@IApHUOdO;yy}D@rsxaExdb;)FKB|U!EZd|Kl_2Cp#-7CA$+kS=F(ypWttXu zc9io={jyy4&Hs+3pRSB@NkTGQBVM5QaJsgNw(WJ23*^<{3C$aYK1MGpO{5Uo zcCM6W0x2nhIhj=D&DETg2~&T#EA={v*Gj4e(y7q8S@?9zl@0I6Dm216QrVnOEX1dV z2Nq;=A2r=EEL#DDceO3f zq@$nm#J`xWuUs4T2L-pG%RfgyfGK7dGA-JPMiY~lRm4#CMUCq4DZMAajRzc4Tsb{E z!5-71lMadcl7@^goeE2HBj0cPs--EK%+l7@D0z#I=ZyzbSWIx9=|`J3sK4cye3?O$kjd$yHXrt(BWvMPp)gzn$g3GznIWzdm*gkLu=r65gqnvKc6 zR5}-|kUfq-+A`v$Jx-&Oq^)X~TI$v4UxaYY6Fl6o;b<%^D0k@(POlwd%#O*a?%i4> z*|D2d*Z=U~WQ9o}h}c);It@L&A3FxEO66*1pmWL58LIvl7lQ-b;l|2z2R{5ID<9#a zzYOWlx%4WI07L&bN+v%jW@uRQG_NoU_P-`=7U=CxPWRgsC`|{$$rZ64BD2y^JHk>M zcOII4IO66|9k}<@`WL5ti@(CT3QWQ9OJk46IoBxox%T3qxHx*;)E^nA+zfqnUOYxD zeCmvz#|TK&r#hvb8YYBF#kCxwjx!><_MHXh;*`{e`w~2T7CwV|+{}|||C~~1{}0-} zGPtf?Su?wh)=X8ug6RFYaP z^^(+k+uz#j>s2c_%|#wGVR%mYJXoqH+|w`Ix*9$%q{pno)zw{bMbmu!^8#5{s}~Z+ z$DLYNHy_b_Zs>7X*tGJuV!I4u2X#dR8l}aA;I{*TrG)kgS8MagahR><)oI$5CPrR4 z;ewI<+18NDVY{p0c*L-&%$ zAWnD`4D|jVQpuS2=JXmMOWB=SE9AfuRu2?KgX8_2NDvvCsX5L%L07w+en5qdt5LBFI7VIdaurU|+09F_}RnB!Rj4 zSk(xFWcSNPI-odJrM1$bzhMzKyczSzl6kBg+&v6pu)#cOp%rNu*S~RuMO(HFK_i_Rz_c_SCszj9Y|LpfNFOlGaz!%FQ+MjvOp z7Wg&Rh`x~QGOR84q8C7!W?URm%V#f1V&||>FF}?>h+SXe& z-50bm$JfT@UtoSnL=Ts`1JRHT?{jG2#k?tn zl#4qK0(G4s6-7DAi$0BUTC?yK`0CRvOYgrDduEfpGAY3fTJNsr=x1cBx-lG-G6`vt znm5>BW-_iS&8Wlf#*aJ{0|gr(GVO?2xuro#KHLIx0%K5;GVwF_{^TrI-F0E>-qreA zsX}RTl32QvTGX>GHIvE2a=uuS&@4y{L6i^6qcIANRzaL-!6T-3^ICy42AZoMhz8B# zbR&fO5Gm@ z%PVOeO{70dU)MW`$!RijLto<0rgd_?fo7$US~EHZ)G%L4%9C!Fdk+V*T9t@)f2L=q zcYq?LaS4(PH%KA@^c4JNB7Zw50~zke07rGqpMhC-Gpvv#uXDQsP$# zdc@~&)k2V?@>uO~;Z0eJo`N1OK9*qd_AekTUMx6`;ZH>P^WTqTcw@M05vY2zxyj9| z{+QgnzKn-w64EoY$|zb3yNI1=lLXWNAY->2=C0#be4&rfYDM}1B=otvfWfiKSL@8}Rjx!j8DDb=%m>%2j~ zGP7P9Amj8HH|&IOW3j% z@^0%qx28=YmsgHfo((sT&91+N5qIAj;R^9^11p^tzlUAi!P4M1QqZZnrPBPMKtrP5 zMqjRQN4zjSI8x7U1-xNT?}}tX?!5)J{8eWbeQYSfax*Vhi8epf(QdrTR>$fDn9?82 zeruf5pgx!C{26$O(77&StX&N2Px*Bfo(Z+U;o!&++7>OS&t3}0Wl-GO7QFDtjKp%_ zcwhGN>ox&>X4L!pDcI%eqTge~$mwiByugJn$vTegvqudc?Itum z(N`Mj%~*$JL_|@J=rPykQ}@d?d3R4vZAVU?lwYpK>qX;d9=y~{^zy*yXw2n`%Q?mo zKo-)HTg@Rf42?Kz=i`)-4?|0|%>f6Bu+*f;u=&NL=msm+v1kN4I}-Uz2nAe%@oQIj z;91Mxj4;{BdGyafbg2krTm}20T-|9gV{cgNK`=vU+=&oqSgKzHM#EZo$G_pxQ7K$) z1+>B154OR1eyIvD6Oj$1>$w~OyiqM6z}grf zyJAr!i+PZ6VX-!>AmtU@QA>dHJ(be|QFKEV7rDchA)tEZZlJSrnu$SuwJ)R!yO^pb zC5g`8mPo#swWEv?IO}KjVe<>>7#Fu~Qv}*rv%?I0GYRE`F}X|kmK33w6LS0hHgDdQ z)f)KiEstp3RF9sMa@ce9v!t6jzVW+&`?O)hE-}+kYr!xKiL$h>h!!oGh*1uv<=59I zI_rlA*k#!7HoY2n7?+H9_eef@>aW6^m?dBuiXAI>vX@z^06%fzQ@>`A@ODt zJCps}%P_*UvC^ulF^wXhmXvLwbf!(6c;tg-2_55VTO^72OqoMlWM{v4E>@9Mwoq|s z6_Qo3tq(DYOV@c(Yy%PQWSVqVDh?s9N}ApOECX-A8G_mHV5<>SIq$jJsAK@%>Y{Q? zI8C^sfGx7o49G-$|7o(HoE>(1>p2qP?X!|#_&EYt|I;hQG zyASeqazOef&vG$|lJRjsXkEfwH6Ualt4G+Q4UMknt z>SX+M9_cx!4Kn62MR@R!fN+SaJ5`7M6MYv1x+z=%siOSD!nrKxao0%(qFE$6v(zI`i zi7ky9;Z{JU`#Dn6AnOr~6oC>%6{>s)m)^W>dTt5dlgyldQxGYe|AM3XtI z5TMsR(x#&ZE%IXkI@FE48%V9AFSF0tWo^tdG!*!T0)*{CN#MQojGS4eQWi7y1a_&x z|00a5r!K+jade!rAh@k|b^HfHUwtC6Llbl=98{(=<=&Mq7q?|6HK?e)hk>A5WCMS1 zB@^iZSOfBb@z}PL+5gi2OIBJy&e6F41P7hWAeCT>M&@cHuE|om248vQ1ilP|%cH%Y zvkF1rLI^M3DMhUQmp>LkTSLJVefXO}6QxuOjemf>Fpbm;rwGNceytu1E)g~(4Kh;N z3Rs378H$vfXPikV(~hZfcBP)hwv+g$prqavzX|eD@Dzk{>J-wce$R>NIsfr(ElWr9O^GVpyp>{YBGiRzojxzL?WBC91cqc-dXf4x!jePC{YAl}YP)&>;ECoHI`b z9S)4#wAscM>$1WjxuYQ$;Rc+|@Gm`@ZY8RY?@!Aj4Tv=j193mDG6>7NyTPJa7>Qxm z_#74KNo*W-)s0W-<%7KUTD@&(cldPBRtgk|ha$Z>A;gXSw!SN7ZJD;bz_GdaVjBc} zsh$Hoga=ZzSQs{1CJ-GfQV6G73VB5FA!V+f*As&W)DY5Ay@JdyjxiD=#{=t%_B_w& zUB5A+?iYRX-UnICC81x=z!C#5-*2_GbtT#Gl@+IIXaya$L4fH^P4pzRtQlLCzp22) zrkkdE&wKiAqJvS69$Gchnan z%_9@|VSzNS$X?vaL1f#5Osi)HkwZas8TSi4aU4%qj@)2kGZ**QyMku}+qY0lDA2xM zVyKM6)ry*`P-8ya@Osa{UPgpRaQV0#?VMMOnQ5G9;EGiD z;uf`Fwz(u_`CAvLhzGh+!%96sNCiDBL;)X?`~)VnNJY5|44U}j@~UwElglDHN&|S6 zZR03wj5P$B?2EKq+}~{zrK*|pb{9I|?V7=P=u_Xd)+B7fMxKz!O5LUC$~x)s=7P*) zXxQvo%@19OEn7$j%Fn)p&4mR)DEV)2k58HO-MO(zuR@d2BcEloY03br;2grOlQoXr zQ-Sd@_y%iq1egf#BK?9bR=%WJ32f0jrZB#H+p6@D{rU(!;9X861~Xgy^;`oHSTfK{ zVVbKf)Y@vZg%{#dh=Mrxdv0<0thKi29k^+W-ws3uLuA2aUMN=+@cB2vJ_kG1nhl{37!A)%SBH35Dm&6eT02$(|JO@fC< zW-a^3rGHqGC*o&QRk+E!3m(X@qXH=rS8pavm3MDkdx}xE!F7m*%lw)zcX+ufa5|7# z!6he)Wz$;3Wtc?PFFEja+(DLShDn>qX2&p4u@(K z9P3tmQ3guX6Ide0L2`tuZ1pR+vdpV4-o_+6g)0c@=R=<0rs#6IVVJTb_&P;VlyVq5 z3UUsAL$f%zJwBIc*#H}5n~Lnu{~$BX%8~>cSA&xvWkP_qZkgPDUCi}n%IGOLpw;l$XhvR?Gc1xbWEMq>rtbO&K-DGr$cM)3jXS_rzb==h=|Dzj7>@}H^c!c zWqd!E5Yq+HCqu!P;l(01V^0b!HqD^JB*s*Xot)d553i&WhGAJ`nzj_y&s82Eby(V< zDe>YO!77X|IT?OY&_IG4*L|(EAnti$s7Q^pUTji!Bb)%cH7F3-Z2RpvIp?W1_iIyn zCyhlIK0&UOxRH6OnFg^Zkzj3lrwx3+``TO#o-j=2npKJ~+Vs_R9Y4nvr>UmzJ zzpOn#hxlwLe`VM3=dua=i{bwak4E1o=w#(bpekWYryD_wcXcfjb(-KAjlt`bNu^BHs&u zJHAV!tu4yveiw2oD|D^4rK(hj6dcxqX1I(lz@c5sr_=6m6HZ*7;ONs)U%bBK zu$7Qhd`9?IKD0^QZ$Xhrf9SZbUmB(2g{8%`^K;@E#z2W;&u&tW=aDFuk7ul|#ziD% z*4{XRV+^#uaU1${l6N+FY}=zKUQTTf+GE^)As4D}U#J1%L}mT?w+5?yk`9>bhAh52 z$|5DlqI4LOu+Ghldl=RWq7{L!4}>B_oHaBVq`+APN537Am(hNy5b|mvcrDumA?0-d z<&G?J1=k7*d;E#7*mTu`cqSj$MIEkAkdP=-IFB)f zK@v!WI2?-~E9fg>9+`sO7@=8F;5#oZ&YU4!m&-V)@$BuZuNk?QHP>OqUuNV2_2z_l z;WmIWVsDZP6E1Cwh3+`vl5z5pkrHNvZCP?nL~mLtgpTv$QDb;@_K)SWFLAZ*wA!5! zk9;LUg0OneHtsGcLs9PWsj2&eKaAbYEHGQj9a}e{_HWlhb?y;H-=g%I8Z8EvmP=eIyX`kdH={S7j1kWButdFywr>*^sX7w z(27ALk=<6cvLzQ3ym(+yU*q7A${JB{$asidRi;C6FWDyr;Svo+-*E0&Eya;q3R!Ck;fP?5ubtJ8wy>|Zd+u<>}ajY zI68%j4b%RH57mQ_*|H_H6xK0j-yP`2K5LBTuu}5&mMxi>!KO#8oL_@Y76NfsL*$tX z8Cy{|c{(Wj>Sls~?bb50NWC_UNFHmkOrCNo zgGBn*q#75(bpkPau0Iicg?&Thi2*Bf90E>daa=pD5}D*|J9!uu?}6%g98sh1B!s22<%Tg15n17Y=#UC+_=8%JrO7c$SzP3_W>Z`k`%Cez zLw6@JU-wK9dzKrEp{Qx)B3|g%jaO9mP-9LsT+hRodhXx=>yZ02>vDo^f|r8Gwrhw69B9%98H=Xfwh-<@+He0{HS>Uh1d%dPMz$mRCjH;LJl`7%pwx~nYg z6^Z<#g=9nV-gU(_|Y()7KzjdZfH9F2JItf%AryZrm4TZrk9E6i7 zhq^qeXzWpf3NE;=RT97p6s@er;aY^`XNNnY97)-F0!8d2>eI{N2->1I*uAzF}|!f zGa$^jQ({(y%oQh;&$8;Mnm+&nRGNNN#wg>8gr1%e$Pyp-V%p(P@n!%jm{oyP4blv@ zt==K>2r;$m%U3P+J$q(?jeIiY_pU9Tkb6_otiyBn$>L5Big7LA! zYXE*qPM)j$DAZ4W)QS^T`>+~y>j|9;U}r3^^0a*11Uq&=0ox#atpAprt{{Lunit4A1N5#*t0RU{yB7PKkB>=z1^oI+;N`azq-=iPvf zzjj|4lx*YjYXu9_*FjS=+F$*nky1rv4pnN+-oS0hCPo5XmQ_4G>}p+L`U#C{?kP6F zeLt9L_HrwL16wC06#vAa^@b32}m?eM%g;Hum5_?lD}F@xe99%k!aiy@E{ z#=N?8wt1hj%E=3CJNR9hh2I;~f>^aQ3gCmj)dn?mo7}&tAgW%4R-T%(Usi?h( zZ-;e*ILCfKZ4`Y*gFoP9R_l1kn5}eZ$MQL+@hTu&0uE^L?BtR*)Mbq|sISDvk7mQA zht*6OI#5M$hcGk%socXfTbS|R1ntcPFY`Q#e5cqHiR2cE+2H~6@vRaMgOi+ktX1Qrs4V)8;d zKOoCBe#$1gv@5X-`o7U{BQy&LgM3vR%~ZO=BqQLuECHFQDwif{NWk^SHnVeqPqQ#g zr=#I<0|eaPAZ4S8%fq`z>Xg(haVd0N1`DMv8d^cBmNTofG(+5hz1YDAaiy1gN+j5* zn0?ae+wa4SN0PTKBZjn9Hg@XLT`i!^8eieLn*OD_+>oP_gSK=YwP|XCH^vL88f1oz z3Su~)B7i$YdZFRu5W}sofCh&H24*0JNjqgoo+XFrRGeV^%~7 ziU+;ub;#zR`|CSryug}us_K-bT<417mghI?aS;1TzG96K>3Aj)J>^0CFlt}FSTn@T zLww-^kCW73vGP<*%pEs=X>$9ok~7^31j0pe)j8)y$jQ|Nx)dCj-HV=#TPN^zhf4{s z99ab1LL^W}JSHRBXUa>Pu2L;3yS3oX#-}IKj@1mX20HV7EzMHumv21hzz@OSa~4`cS1kw=I5nJ?qptBMctH zBM0L}B}Vsu-IL+*h8FFRfzd(?v3)=!N7u~&Djs*4>b$XGp)4DYcaQZp3^R}??`e=@ZA`vmUD)ycI_H6R5=HA3)(|hK4(Mav9L~qvv#DJ(+E7if!j!A;if}&YPqv24A7{-sI7CUXZutLywh8V0geRAsbxk{eqfqgEQxm*A0I9VRCN zkaJ^}6HH|{+Z$!a3XzIyeP*1DgIju{Bz@qN4PPPY%`AMylqmEpq>Rd3J01>|)6C*i z$%mA%lv-S1jKWq-Dc_3i9^sK97F__{P$RizL%>rzBWnI2bcH}#&#?qa69=5DOzI?LKQtt1`aA|=$LW#(s5SZ12{E)7z}uv&~rPh)vz0< z+jq!J((_cdBON_W=pkIgCI5-`j|Cgsw@%I9qz?A7`bPCxmm2B2<{g_}lFAFUond6w z2}na7(MBB#RdzI)`?OlfrdT9RU|!pZB=n8%-#7L%V6F(B{y3H?m74_W=ORyYO~4>=UbP`wBpU0-Gp-DOo<}Y5Ps{@`=j|ShDv3AqZc{} zho~L3LHh|&cGDvGOQt$200gN>EPl9#;wK0VRoP*Ae>snRC7LmiK584I87e8p;W(wn zA7R#r7p7#c(QP7K+o55O-XO_irz=8db&uijOl~ao;T5IAJCdwgE{NFYj!pM@utSKJ zwsn`5&g6Sy85E(sC-yrTtivj6Sl3oYQne~=Kae$sX3~kC1yinWWKkN;-Tf+#P>{0Vg2fS-$<=)|c8ytJbCASk^Q#i9gDDw)CiAk z2aY$pVZzij`IRr=>Xz&2Had#I1Wc=3`3?yNh>&XaggaYK=?B7n-2&4}+?6 z438y0Ga=$2ROV7x^9o!;Lnait+51qsdaMRuf~+wCsl#J!{U{aOQD@AJYML}`(HD^h z9{@5ekAq2Tc0g^SGtxXs5x#y*68W7XpcXwG!hM?kXu_7=ZgrvSu#3;glD$ea3}w%3 zmAl!q@Y-wEHWX%!83YjxjE;%p9G49KtHY4#JA%s5bIL_*+E2`VshxovkKOwzzJO6y zr@{vmo=f4^jk=h590;GW-dPvuEp9vLGbAl$WR)Qd( zJ;6iN0USaT!+27C2p5mj;zV55Y?z(1Ohu~u0FHKtaM|Uf2fvz@j}vt}(lt~G1>~(S zdj}mHCcH_MfEOl*4Jf$rq(KOhRU_gEp@;A8vXQbNzD`E%Lyg78#SilH6oHv9;;;UB z53ycCOWQGqJx_h#mSYE9*C!?Kq@KU5)av6$b8<($%K8Z1>1&d^5dWx9&Oz1W`v{Fc zYSPosd8@ajticX^V&6jj+IjbKeHr)m4)23nR2qdZt=^vdt}(p>c5)*xZO|U&?0>@L zzyRU*voG}7XVp&mS*--b+(1|TW57G<{Apilag-$vs3zUla9RIdoi#kt^}OiS&uj8n zwPsg34nLsu#0>t(zzR8Nb$DE#ruXXMxS)0XkkMjyr@$FO8)EiWo8MLU855Q5iTif; zVH5nl*ijYcK^ZTDVBL^l#E?TK#ENNoh{0k88N5V?%r1a%ey={){6JSWg^QhU&77M^ zTM(H3skThMsAE8*!kxc9?vJ=NE*4Vx4T6M9P-QK4P>^@7$Z>i~2`892gmP5`QmP#LrGmy!EQyft5H{}JZ zd~f^^xaU8;wmI4Cn{30S;6?G@QU8+L^%LJ4(Ldf32@Jmv&L+3}?(TuW>7h51z5$+z zj?WKbYf?PoI&VDTk^LxWh|kl<=kib&&tt|n>6X(s@K}B;7Sr)H`ggA4o|R-SdzN}R zKLoM}KFkyC$qFmxA;~+}YwDrj*`rg$1HZw=d&J!H!>_J1$YzD+`>yoEnMq+gX8-(TeD8(jZBJo|_us~+T?jpffpQ|J1wRUz=^eGp40iy05lpKHW>PicitSK!L@zHo7 zFT1-XwPE@_lb3GT3hJY9ylL16tY|TBXAMH?UH0r_;9T(KrqPGH$X6K%)4wk9qb@sl z&gJ1TbzIH`QI+5B&i9$P1>k7XVt^2#W(%mJM%Bd-f&B*rJuzJ z)$?rq&6yMy-h+8MSs!ha=!5SS2d~VG9iZzjz~AH<_RI744pCumjIynA8@jx`pEY<( zSfBokH?{ce_Swlk=KFrXw3EsGfqS@Eu$GME>u739 zSF|L825`gs{i&R*!g zh!KCt6J#UwJmw;C87Wl{!^)`AY9{FKA}l-w#B@Rz^A8S+r=t73emOxIA{zGla<^!4 zjf0cY(0N?x)>KKqgD%<#cYHH^;1;leMq^1+VOgMaw$ zhXB?-AB(TLusLszC$VwCy4K}~3I;((((~(GK6}?r-??V9+wABb3MiHzBm6hN#jR}j z2XCzZ`7^Y=_r-uWCv{iHb1iQ;%;IpIw`>vdm*kRcJgMeQ$f zL;Y6H#Wiy8YC+1S2k5KJYh=6TL^;5B-(i41o=vJd8=r;k4EP>+?ZN$~g}V3n{CsYI z?qhRqzC{Etf_LNw@^@dZ`T-@~-oF)%=Xau5Gb>};QF`1i!b^6#zxsm{p2#zerz!T`<2z(~OQSDh75 zeyX#vFn;zBFtLB~8QE9>asb(po%2(ljew1Vfq)f|0X+>{Yj0}KFqW?7b*`j3vTrRz^ zp}mBOg_*fCG$$Jez}XjVB&+d{|bhRcE`bG_N*gWtL!%*j`r4aM2ZW%1`oA2X)aoirzn{hd+Q#jXIcp?zY)k zcs^L#`CxZ)N*#PpYKU1S3ZT+Z8fci=scA`FLZZZXZs-&(j*qV>hv|@7(ue8J>6jDi zXO%V_q2S=I9ie38-HzqQT!*D5kEn8Gl zirTLWeH z62ll%g|WnJ%1%qYQc%0H!|=jxr-v85 z7uS@Vh5Pl}&>kUmSQa*y(NU&wlW)iPBc)6`aLBm96i&bv)n#d*0l6F|NEj%E2tJK* z*WlgnAZ$%(`XPp78`#@2Q7Ms;(KI}YT@}}d5NtRE5r*4-XvHh2?}|28gRNStu`Z+y zVk5r{TZcfAtzs^?7Q~FMDixW`ydqCaSp(58r9ve^z;&73rwt4;zT*I6$ed6YGA7~R zf1RYR2u~g1r%dK5&6B;%@_KJ!M?qW@V~& zK40^>O~Pw_TAU&<#0ByFWdUrC`CdKCjUFa$ObRwCQH2VrCL-6^-C3#$l&J1ueF=$>f(iZlrO;$C$o*A(I6*W$DJIb+rAy8IdL4U z1^1+~F1k>PA1Sq^)!@c6om(6Bd_>58u_Ri(SB19Wcq?dj3&A2D4fy>rAleFF6H;(L z$38irNA{fqYkh`n+rWbe5L_uv_)Bx(>X%?O5A_I?ni!p25I5}wVi>}c*h2|9>|Rnt zLw@4n4f%v|sX~9+y=NB533p>c9KIm5P;OBw5=C`Lyb@&SZh07labN}hMZYCNYT{aO z-HQV9wyN$1K7A3+XNqaQqg~~#=l=B9ef^=WUM+NRTQ?L&GafEOFts%S@}ZO$_6Jx( zpQ$;0M|dDL-}yVuDFg%~cpQ-~Uo0~Mh{+lpylU2aO_>b&`8($4Sv*aR^D}{4#7E0y zPA>Pv9x)TDq+U`iV$89D8gDrl^NG9>?`l6uT9R8$P!~+n?-EW~+Xlxd z9Cjw4kLJl%BE3S|IB=c8>NG)~(Cy>1&kom`5)PgWSyQ;|1*U-{)!H+% zMR*nrSbIoX&-STjfDB47^Kd755JCj~bJ{`dggtDU(rX^>VT}g@nlO{6)7&EOk*S75H)w3}^%p@c5o_4sd7;`EZDE8k}L ztjdBDmw)QIjirjXgMsG;v}_&D1}mSM(3LNgtPuwjYPrav977weV>yQ*uJSfYYE+5O zKjxAV)#AsuHrnS%jCCi$OT;HD-PYR}42D)gBOp|^(o$j%xll$yF_;iCAVUj!1( z>(=?JQhY~t{dj$}O(wU;sW(w7v58#!4}Vu30(h@E?=y21b;qt=a=!L1{7;;^t`|wS z#fxW%C|?oz+l;s~nA)E(<+~*B_5w0S7%Rs=7&Y8kJr_%Lf4ZoZuc0|O_e5yCunr`P zQj2u*Dtl;}Qb36&NywgOIHsMHYL+dPR+d!+3n;*TB|1j%EZ7?Uqq&{V)a zq7iB$5Ig0IFrbC)x!-1epp#{QLu`a+X)8eV^j#RQq7^$_`S(J!W9oLFgsThmdK#ue zE8asMS zy?MuCqF;Jyb6`1f-EVO1aVDVn(4N7f!k|RoZi5p2`JWf(FHJr6}yp*4Ev5l@VF(2{7M51UG zbnh(*u5loFKY3%6uDbXia5HD{PjpfQp3jLwhD>pyE24ilpBRt-f%c}smmAG_-NzrY zGq3`JPPKWN`Zy8cVFylDw3tA2$;m8H14U9t-KmuZf*q2H8&kZRNprx9%u$~#o$yO6 z9D~h^2i%|=@P)q6;b*mvm%heCFInFgK?s9w_s%X1{PP?$x4NC5A zD0IY|JT%7>$r+u0<4Uo<@9;vZ@UYtncvCaWRt9#A+xt$+?w*#^a=hOTzTykUg&~aI)$y~b5EVUbxh*#d>_jVe( z-$c6o!YLQ3xC#OdQUbV{VGsN`E4aSh> zg8oPpw{`gJwsw39`j;E75!%tJ3`x;C5SL#d>W6C)d8UAPhBJp|qpU}(;VxqkYnaQt zN*kO*7+uo&Y`i?b<@9Za(}hRoR^r2~kk|)bZTX<~Nn?tOt4d%j3uLlaEbEkQYSnps zi)g5-D{I!;^ZRm9Ef@4{yfq`A>dBb&?F)JBYhzu~99(VTt-8>ZVko{%mI3Wb9hZDp zUyXN0-=;TZedo`rvR|%IV;`+(s6U*G3*n>ToSOS^MYhB zT`+oue>rq{T zrszw|5C>@7_u3oa5Xh^jw;*6Xa&z9KK1(?VpEmYy7TD^Ab25vTO=>IQ(oEzgC*}yf znp*xCT#lTB#(Y;g{?(<*77_FHV4rD2?c153$Pzg+uU-g6pPMs<=M4-o| zVNxIA>oCk1f>2oeQEDskG2!>t73DT?4aNO|@h>&MpoSVQ0T&L1RZk)n63D2Dt-5F{ z4@5Km6cI_&I^Ssg{;|`Zf_7ZfplQoy&_9+aeM>eDp7( z#9bhwBr2EKI>BPp?+B@3#;8>j^5fFT=pE}d>Y;WLXYky%eux}y4=QZ9Q0lQ9RwFps``3FLSms4px zPD!>9yu#E4?I-;Qc>9S6K2ZVy#jyVi-Tq7VPrRW28@iQMQ1RyIW0Nnh{%&ea<@l(Rg_`gd){XeBo z9YFdooXo}yfQ^i-fD9-Bv##RM{tdyia{f02|Ce9=JA(g9@P8n9W=6o#0X{_k724^q8%_TY2tGy~ zPD93HHTT;=R^ncsgK2uL6PZWf^Dm82?UB5M__*jAb5$j6HrCw&axyec&!nb?qh7Pq z%;1X1V3snZ6AK&HwzImWpSp3QKBgBI9Usbslc(#49Ve|5$Ic%YH*J0oJ|E{V3QVHh zn4*fhZ+G?W#V0Qwv~ZeyoP8_?*3Qnsx9!DCLC9^CeGl1>)6K;YKCcKUaBtj#3T7H} zq~&2Z7G~*L`KWq{-wp>)3R0`Wp%Aoj%1>`B^mPr~jrV@nAg)J$l@@mHaM=|~2?-ND zCX<~(nDY=7JIR1cJvIW!`Y?n6k20_rde-k7tmnroq(>9+*X6+10YNW^HOSB<)0 z0mDjR;g`78YFC^;=FU93khsszX-nH0VS{qQSqa&AF3x|_rmlnr$>avd4}RGfw{TU} zqHI#ODtisegn^T(AKwK*2cLxH>9{nKd_RsN?RjDb^D>(s zGq|SlGaT-p-CO?sDiBcLW}kvX9IW?MJ+ov}m7O3d)cXKDbjAhNbcJoUe)y*aGn|>V zB_7u*_e^uh_Jp5BfDnwaR+d$zfA}1x|MzI6V9%?IcKrtW8Lcef^sRA!#|KdT0Pb(U zmRdDS>a?$!YC+<**{4yA{OC55)2l0u3dk`Q+%4_*RP2HDFFT~@h^?X)MK%%3mc|S| zbc0whxZ!yjb+&w8XN;6JO0>$Co>Fk&%L$IjqW$e5@gayAB)h?6BckVv4h0AOv9fXAptFvd=tdd3$bU(F$V9X)f{S_H9Qx6CawiyQ_e~})S zD7gTlHyIJ(PRXb1N?|exJu&Bf|G*jO9p+-j4dXU6?6w|c(3Z6<0HHZbxuN+vSsd_7 zr8dzJ33}g0E?{+;RhP8#Bc@= zv&blPJOzPNKDBa;gDUQ;2;TV;DXJ+XFzEE)cyNF(RWL!49q}w(lM{qLLp))M)n-^%?s^f>lwp zkSmcfjeX8D5Wld5@F&`9q*Y^1bk8iz8-r*JCF_y;S*ec`IQZgFZX$DkBWtBud-o(k zHsyVV4exG*FZl78(bYF%9^$>{s26u?F71h154pB-KKl-~Nod{Uw>xjP=BaZTw$`cr zT*RwYZ1td5;}!W3-O-d7uv8P4L(Aaf|JB}CM#ZtTTL*Uu9-QD1bdVWb1HqjD!QI^@ z5CXy7EkJ@h!QBb2f#B{Q90Ghp&PmQm^4{-V>;Aew(u;xVXR5lZtE+lZ``LRBv?(Qt z@7S|0dL1qVQj{}g1siDM!-QR=9%N&y_lWpwFgX{SbGEg$_0AjXU3+0+VZp&vG+otC z-Tl)2yZ9Bh%8)s36D6XBORw&D;P~lot4q-OLzj>35D5tcRVm>}W(KrM&yHq6(@W5bA1=rDeAOdxXZauow-?&IT8BYe1(=U36hEH`<5n+>UvQp!!6`M? z@{H09(l|5LA($7$!sxuw29w3=i?WUyEA6R6C1eU^+{A>0H@E*HJqVP3)j_cq6J zWIae6lJMfvK8Sn6a!?<*xcT{yCH9GGf*kYIy%3^YcOCJGS{h5)D0d30LZqLckzqy*eIHTz}1z5i*d(&r2!pyN@&i;ogXHpa5tP`bc_cbK%kRz&({x=1n}7 zA#p7!&5AShn5%);qCAze51D>im$tmEM<|PI3#^Ko$qTG1qfFS;%7@%IZbVIs^z&G}}Xo0DO^a?z>w zVpD2CUiY#aJYP&-vUwUNk6Z&SxHh<`vm$(!+MGD+;&L-s|$1&qH?)^IE-*#ZK_w^43}erh7DW)z}$YRJc9! zr==IH4@_Oi_Zh-GGujSdzCmNjZ=Oc>N=NzR}= zDjPG0Vw0~Q^F83l2EH0{*hx>b2<{$O9(0EBT~09+ec^PdI&~FWSoC~B9~#Jsx~>O% zr?Yb`d8ZJJ*0{%CN{pGAT}+88pnH8ugi5hXAYCff#)xZ-SxeZG{!rhPCEwK&!GOV# znLu&N9l7|8bpYhUj?owS)cT7kDjL=YRF+68sF_KZq^=aaIMg>zdl`k*wfXR5Qu+ds zR!-?G7I9~*8}=VO*p7{g)Op0@aJn|ef_DiDIv<9V^Kl=DPh$@l29gGL##^Y27Nc-i zf^x#Fn5C$wU6NVs_IAfXuq5ylm3)Oy`Cq6YD}GzG0#!N5;p;z2peo`L6eA?Un@n0=L3); zUsVliRHPHL_J6Hi4w(f&5*JlbGU~1Pny!_I84V1kGHQrCZs$GMaaaT`a;9fE&k9^CTY# z^>aw8v293=5%FPhK!_B-i`Yf z8A!h%rjnpRRoW3vM{G$oAocbpBsV)YYMIMm@jHIqT4!rlLZjxZZq{AY{*hH^K z7y|WTj~LqChRJ?3F~h02Tb)`zn=F3+X!OfEZ+&!BdF2^g32$@Q?%o_4q_QQB;HFIZ zsFTSj4%uR3j^>xiFFvD=X`>ZrYxu|dd2U#clZ21DNLq8RCB)I57drN~_EjTLj+IwQ z=$(Eg3A$q{AfJA~dIKj=F#X{1E}-|AVORLPY7cfMe~n{L+aU$D`bP91w%odUyQ-Rd zEQQKS%Gc2p+30;4b5Vgy>K%#sw0qU>$kMl!>NjMG1IY3nSz@_2M*hB}{U;Cq>w5Oz z#0hB?85J3+|39<@rb7G-E&YRB{ew1%m>L-w+8J8ugN>ZQ4$a_&xseemlY=&xwqays z`VDI!Wm2+Mwlcj>eK=o+e}TYD_J3m*-;VM9a{tc3 z1MV3U;1&FTOSx-C^qI9Yql=zj1*uU5FNz_~!3#b^aEYuM--G)&`tjj-RK%L!T@(4# z`{7Rbb=%^7DaS1>ZevU(l92*pOuQY3jwvR2GGw57cM?v8vgwe7v@~mJ(4to=rc5e; z7-;<96E&HA5Ivz*1<7H8`GLHCh1Ki!^DL%VFN7sHY6k=}Drgfn3g_r0X&HEBLD|&o zCh48P+~&X%cG3v)$4LWGU+_0bv7c@|HE1Y?Y1V=f&bg~}(qZ0aBww+lH@Ub(_@cOe zE>n+yW~6FC&}yIHQxV9mC?UAz+FjN9RlliUAG5MUTr%c3_NLr==g@X(QTR-485e{5 zrTKptOZR9tlx*yw|oA*Z~qxe{}Uecp9ax4JO~Wi{EN}?e+Uk`2mF45gYE<0 zFZlal`kOKI2M+oJ2mOJA{=h+h;GjQn&>uMH4;=Id4*CNJ{egr2z(IfDpg(ZX{}DLo zy8;97Z#d}RUuN~s8vfsKke#F9UmyGTFQ+7JZDswRl{A3A)DZu`Ii!HU zr4RoDoO7?g_#vO+07E%{zrfm;AMd}%{pKeYH?!)$LQ2sCR>=Zb zPtSQepNxriwCJRW!_!J&_XOYOT9G_RXcfwb2t8`EUN{aNQ`%mBg6h0)!|##WOw32J zZVI?OuR-oEO|(t&M2=s>f1`6{leAt)6Z+PFZ*KI%(rl5M%<+-aRNEzUc(7?wf5KNd zhIoeg{`O$)tHWnQO`;^rY;XJ9OD6T*>>7%94s1}5jVvary52baNr*AQ z6+(WB2rGQmo)=%pxK`wwe;>^wRD)5>qEnmWJ%|Pe2qz|Oz`tdLqdsLdTstHb?x(5p zCxXAaplTEkTMZ`vT*Ux8*9$9+^1|T?9~@Agdl9L8IL~M~w7@>{*mQ{>$DyX{qgD1x zQFV=?6}C6w{DXCc>dhS_jR?yw{{a>I&WK`T`$66NHt@fLME}gF|BQ|}mjTFSj{y!3=fMCMfzX($I5a|zz6DcPP8{+R0Cw3Mv{`N!SbU)et zAxM4OyKlz5!ikj>%!vCL5c?MReyx8`1+Xsd8@l?}E(RNdWyP}Q~h zd~mRTzn{;DQR}OI2#oR% zHckX-Oc88G?NDJ@rxScxtcb*IUD&9R5G-4_dk}_F&cX%IE2t?8Zuk4mupgR$RZk1E z+|K(R2M6^F7Z+uiaDfuUk0EJ^YU~#t>fLr6Kj0(*n~sm-BME!2R1??k4NlD{L9LkY&pONQ z+!(;DtS&ckqp9zF81qgf??$cK9|JYqy_skXO&bk0KMo3aH}UU}G7l6ftd|kOd#Tcr zFqCdO)JQkC`sj{55WeJSqsjhYkP=n zzYe#yY8_)pAg!zQDu=N)YlYJ|?7?XmenqS^aPC?Mqix#COSsI7R<-DdN&vlcz%=9N&YlbG%I zb4si6qlomIY-wtmGY-^0m}Si(N#&QEr!u&RCQ?1=QgP}Mm{;b zk_l~a$hwn{qX~_;^-GrP?qS*ls`t9m5yKOVYbRBb^DyScK7-5Ta&!LhfNqKS_Gc;nTHI zKT`E>&f5vv5{r0A)tjA-D70kCM@3-8J+yMs(Hnw|TD^`v9xg@XIP=K4dl*k0I+Xt$ zW4f=%3H}g$xWWUEOvWXmfLSIIxk8cJc6RIa6y+kE(z5T7ds#M=){t-}1+sp4t4Dpt zXDgSS2Rs4db%$(E2)SuH=D#?e3-zg*ddrMxZ1wH7TZq-pl zKCEwyJs)d*yT8EIQv+G0&^&~39A=>JjZoRX9%Qo}_71Ag5xrR1z7xnsxtjY0VSp9) z+js*17lj2*;7QNcKE}+`d5O<++MgmARAz{gxF{Tg_f)ErW?4nFlQBPE5rZ;ktS6v| zN*+N5KN$-bzd`K7?M1HASxy5j-Nsr3VZMLR1i5VgFi|J1U^ccZa`;UXpoDrCJwDPnTda+?&o0G zPsmvhS+EMbvZ{4mg8e_}0)zdlMGfZGmcqx`w;>WrD6vExxs|GS?P__WG)_LV4XhZA z3kP(Q*I2$!FVZ2)5i>u0Infy;s-qj0CT|i`?gt3MQ2yN3KoZld%u50}b(zmY*xSs- z?Y_B$o94dQ=_Cd01Y(@6zLFi3q#}ptsymSBHE5&5LY{c7<=A7dQ`)o?X z5r1b}S|kpcCjoCurl3nxv4G~MW7OMK?+FvV4d)42eU+A*bZ88SzFX z8p#Bu*&KErI|<~XGAhv(#`J#5i0svoLlfUBp3Q2KDlTD)-%6G^KY2ga*hpACRk_mN z-h?pg#xR>piUoXwAd>m0kVRWx?$h#2Opa1ESyGPn=LHWv{%fNJ>pRB>NEDl2l!px; zJ@*=%epZ3t=OzT5mT4p&dWBy4B5tqX^fd~Qo(gSSM5V3U7>tL5owZBd{5@G_O+Q(*w8?1YxMthzk=t=GE3uhZ6y*fJ()6} z1T_`lI7B{`QR4=gXy#4ZO*ENpPTRe$F+;bkr7OYrOp=EJFmQ)JOg<-2MIi?>j5Hn@ zmr;y$2-OOp#gjY%$b#gJWaGEeSUpQU>iV^q#_ZIB6WIuPolZ8}oZvvxy{peEaz+@_ zr^1Ss`8G8eVlz4&HK;3mVP~Z#R$ied>}Nr-9i*bu`Pxz;%akr$}jpRZM@tfkfv3mKbCm*Ywta0m-D zF3y*lV#60$>Pd|PuOK>$)>Fpw+(bVy!fSn!+?!RXfik}|r>V<>HWtYS?Dux$!mFxa z?mnhOsz5v)$`MXkm&;N=%HA>--4efeO_S~-09os3p?tbNCon`3Z2 zP4J|%N!q`MHu&sS{EQE-2)Z={lRpujLnn<%A7TLbOFkapFyNPA1Gm>g8tSZ|1ktfA zFqPYKI|4^zJW69QUX`U6V8!@hXpTrZR(WTQv=VNFJ`ljk$L7Tg8tYwzAD`ghVQXDH z6moN`q30LK=yW5s0>n0%d#_b9AqwRt;icy8rY&eblN}7TsHYFD)uB|#PqLr;a9zDx zrRuK9&nu9(yglT2N)^4Psee;1wk&w(jH>u-kW#TxQ*%x89l5HCzKpiOI+ty`dd%(Y z$;);eZHh-;O3TFK5tW9?@O8EEt6?#(RC;M~Md?_~@adedv?>TT-wkLh$R0y;H(yLl zh$=3G=^Wf~oENLRV+J)YsY2J_)|ibrjE>K0w9R8IXt17V#}S|_wtw~nir&?`LMGou z@m+lob+Ucv8Md>S***<>Eh_<>(D=i#RbLxqDe1G`}XIRlS zB)Cwv1_ky&bEmqnwqgWEpu;2Jui>}Ex-D(W0~^{8JJ2#ypSoiVIE^bsF1JDEYJ!{` z>Vt&E{Rjo!;rCc7WHSPh;?BGQNT(0NlOvhAKJ7mCfEQC!t*I`o%^K99ZufLg(BoBW z8RCav2nIka@}eX9({V|4qhR+H(a(M4;EGuZ8$;vd>aQFM{nWZse~>^lJw+0+bWn9y zB#FG6G|L;0S6{chvv1((*Q-oK!WgTR#l1Sz=}CLVtIftLw^Q8jv?*V0Zp$^&?40kc zF>kFOv^>2CrGqFhs%X8O|F1Xs)@9B#-Qu z5*yj^N-|DG&1t)t6yiEEPR{t`oaj0zr7w!hj*|ThYHf>2ox&kd;H@90{vslpAg%+1eZqi~IYj&QhATVjF7?qjRwV&!$aS)urI7%8r}iooAiz>aCJ{ z3_PCLYaMkqpwzD)5Fa#J#LcLn@Z|)vtghKJ+*At-vl|GUVjMJd^m|02UrAAhS`BYN zq7-v@X2;nD?IKWZ_OIES+RJi%Rk5Mf!51|KEKgzC(yV5rF(yfT9}XyE3&z{OX` zUzZ^6poCPWbN<|@Pez+I^5eiRN%AazY8Y22fq}IX+gp)gsmu<@OLU@(W`eV1QmEB2 z9GDnmG~!iO;~)nN5EZAsE6j}@EQTWfupOEV6GFw~X^JGv){iDn8+0jD`p5NrKMv>x zzgjg(UUjn4P156bs5xd!dawQpLpiuN+q0-ITBX59EH_?vEDgoS#Mx6qu{8=Q?XLRsJz@W zW2-M)TSZyhE3?@NW@C)>BE~lbGoZBl2_Fm=B+D@A#L0c&Av|%zVOE>kmj_gM zADQ3ssg^ZHUr<%nkxqlVhJ2(%I2VCV^QcQ+H-OERtqln)C^Z&EY70e}zI zdfP2ZbaG8*<;)4YJ2sBcx$9w$V!awtZ=0Z?!#}+2c;?WPIo^J3WiZQO;*;n`-Yr;# z2@%=q|8OMaFzBHB3C6=$QB;>VH+ikyR&(1gaou2ve&wwVfvCoO7Ns_6_tquYBNK=A3QJb$M7IacL!%ye*L1@&mXEek1m=(ZtuRs_u26FkZn{t$zv@qe z&5ncPJmEqRib^)zf>g_Fde(Qk92M0@c3`X(Ll!P|x;z-^t)!P`J*UQ%QQ6L7+#o2EPS?eZsy3km zjVk*igBp^PMe)0po@gS-jX*2|(s>Dehsu8I!YC*yf518di zy|`gZRP)eS-$OU(ZSbr(rNI}~l(%Eend!1<7}vc?Y)X0SisjWY?i!+6<7LlPfIVer zCbx0Yca(GcWrpPWMgPVawXK;YvF9!ITQ!d(QCLps*%Dupawunhh_KvVo^}x?8{?#< z=Xvqd87JqM!%x)|(3wT6!bTr;VxA`CRWCzq+#Hq*?!OS4-C6Z-+}de+yCdxY*E?VQ z;$?Rzrxr>DEE9<{s6_RK@p2t>6%(lO;A>j8d9KFIdqXw4Cj}o1Ab?JEa(K?Z1WLp? zD7>;QI3eh)+nvy;pN>$(wtVX@rbAHmv8=+S4n~O+CAzWuu!OD;4Z@aP7zYn(W7tr3 zbeGR)F-|SgPkyFt5>?#hA#&MqQCqQH%cGSE(m!r1Qd*7o%M!3d-@R3hu z#vD_rgKl;+^aDd9>My%?tZyF~3^w~8e#WFC@yO9Ezw2Y<)X3~9<+#2jaiX=We=Yb5 zJJSGd`q5eQjgUe-wj7IEiLb4zTsB=d-=55)qdLeKo2_EIm&t*z+K3E=U~ z-%$+;iiAfqq(B`;1bp$LaV~_olb_TXOJI3LPk4O-dzK7pPK@N9EXRNGAm7O z7cFycQ}`|hVSID@qIfWnAjhnFV4biRX&2F%aZ*n6c3%Ast6XE>`U`0TbTVr6c`_FN zyI`zaf7~S(2@`mpB|rpPx^vMuJ1*Ew%SZ>$qJCr`Y^-9m3Qu}xUGHSOgPz99`FUha zset9{;BmWDaX%M{mf#2N40A}^rt}n>*u1gL2TiKHRbf-37ySsla4}vh<4MGISTZs zmuQ^2F(9o*7URn}S-~`_o=DxrsjCMJ${16Lq>7T9UZy-ETd^4N5nk+y-SQgD4NLH4 z828j<20SEc)BX&B8*QnI9D(o=%BG{p&ZlFDMHz7Y?xlKKqf=GNbh&YQLqU?WD(|Hb z%Q&~eAaT?2^tJs;aofi#7dstVbkxl$hMSMKQ2PQRiOv`7lz3lYZdy-F7V1k19OiPn zUZthe+B01!>4q=ww9m!$6Fv6nUn-F25wuqBAj5~r(Qzo3)1&;q4&}eYk~dmU)KV53fG}1n?%T=Oyzqgd&Kviz-;pb1n%g2g zSLrefBp2Jt>(rm>#+B9PTS0ssy91RMaD9uGSV5C+$kcS$+4C;0KMxJ34+(QUFdH*J z2)}8F$Lp$J$~YBvjB19>qDm|JF{3kJIDxBGED0m$0%P@L%zN&c+$wWtqg6?R*};j! zp+Mgdi`?u4nWs0|xv-l#%-j;&oa6r7TjVJr&X9Gg>o$$1q=SJlkl2>lF|DTdY%BpX z@(Y%;qRw^Ms?Zb4X0*nz)~DTq@1*$jMrg!`&68Wu+8yPWNsPDOD;HPgUmKmKsCsiq z#M~u+l)7Gnp2pH!saKB#1PuuoTU-o7-#8w&!L&^Y%~8D@8yPUBzYX&K!anzy~8I-drN2xLBt2pKwFO!uVpvbrse=?%(UPgF#BRV3gHRG4vnR5819Z`Xx*f#mtUE? zE26yWz(ZE#v@-4`KYU>Lk-|zHDd*b{GoV+hM>LG}7Vj7nKO3l()v7P39p;`I%Rgc( zU`fdhNX&fP%|%X@x}k@xOhqf+|4xZk=_`%mXtGmqSQ;iAKQo=oZ4VK3pOYTWF1O32vRJpQIy^Pk21~0T0uK%az?ijD zCEO;2!hxpjlRQf&T+q`--${GJTebZ8)<{QmMuuQc$2lHpH8J@Q{gW#D1Gj4aiqSK@ zbL;VncJLxLK#L&KV>IkN{si+T3?alF*^RXmNo|kiO-+)^dM4i6#cO_vDT22*yG%*V zyuoPO=`;P^g4Mn+3`cK}^Hn*pa^%fSV6Z%No_Wt@56=u50G#$jG+-ye(i|c}1t4;E z7qTy^S61FJ{BT2jJnhkb{ByrFy&>O?N$bOgGyyBOb!J4TMaCt&`CzN2IQ#T;ZLCdG zA1dfNs^NA>PtkN)B!|%y56yIUXgYMI(=g(8v;{64oI}yRyDBDiCX|yCRMfLG*bKB;$TNMG-~EZC2jl~Pz#2N& zQ8BZXFt8TxRu8n+%HG&)-xXb~7-&OaN5%%`C7EUG9fcokOTyJ((E|KX z=6=t(e9JD}XB;?KIDp@Y$ZX$}m^8+w4h;GxhPn<6_9ljg4h)6{j{3R|rq))pKgxdR zzte!d4@hMdNuPry=Zqjm7E*afT{{OiQaO>Q!r+XDp^L*mb-t6IX#~OEgNCHfEG!(s z#%#J^$3RkHVbT}(hcdNtu(mgOLHkdo?_^;b5iV9{uy-LVD;o<4Y|6*3&df{={`pbz zK4J1biK1lc05+}rc0piSfjtD+I1rhCZ1+wJ;53mD>0dDrh#4%$|Mn@V)!#9& z)gaiF;pZ5Dg%e!s=NJb7#12k~-ETkYg5QIkBYuv7>wvZdeG>1da^M&cd=Gw! zvD`~6evNVdUY8a4`#FHW#W(;Q?7yD_#QbYraJk>k%K_lLcgOgtEnpuEu#Mx-F>wDe z|JqkzAH(13a)Owde{Bo+e%z}^emVz`l@sjA@JkHvd;fv^`L}TeXTU&rYj$g+v2nb^NweP_(j(=Sn_@M&MwAvxwt7jBV-N17ioI6#pwsrtpll(Qg zpII4MlY(1yFJO5l0+!M6062jLoIqv}o1q~<*GS(0q^rx$!NvwOU}qaC#s#dbLZ*+xDr)WKs$}jW=4kKa=wR;PM#hW6Drs%!X6{19 zDrslzW-e}S>SzWC_+sv0`67Xfo0EeNMMwz6)y>7+*dE0z`*b~0SJ!>x`8n{w^XdGd z{0DL*{lTGaYmG*{d1OZq3o_)f)CSEjF5D z)iObF+EcixegTVoi0JeKsXDT+LBg9uY0;gky0W5^-g{5?U7HPU#BbpKzpwvK1OM-6 z;HUe0Wz+qkW^@0;Rdw{WO~Fq(@XU$oYuq|aE7cC2`jyi?WJf;zvURl$RrCVqm-_uH)Mva)e$4=nnnE7H>Nz`|@;dNfb+k9p;iN-ES( zuJWm9?DEH&eIm?+zeRyp>#p7D1ao8+t7i6;{g|WbwEualMQ_e9J!G2a9YANF3!`Dj ziL9l|cb6dkz|NUjq+*zfnwc=e%Xyo*Mj*6Aq*5+< zG*Umb)V@<>V$V?c%hKh;KgohMk(;aZNtQRMeB~!hYiX)0@T}E4OGn#;?-`Pc9CkNN zV6&h~u>SeElFy^8V;bhECIrP){Ci9=bzN+$zB7p($T@#aHhw@ zjtTCSJ%TDJg_00d+v$2-RGU8rrov^K@0v%}nH$0X3V(aHOV2YH$~$%L@)-Iu5I@uE z%`X;(uNe;4$S60++;ER>;4Uwgdic%<8J=O#_2&Ppi9TFjMvAO73-GN;;8jMWCI3$# zAz14b@zXm=ka9^|F04<7vsfZnhbsSVXG%aF;h~bRj+tQ*i3fjH^_pkK=(@UOO@`I( zrqDEajzNHXOo)=)1CXS#yjkk;Ft_1QQn$!kh5so!5-O>>=khPX4hcBZ7Q>Uthu?RG zv2cZlV3F_Nbcz*G5u5W3?o?mf+jvGFbD#v~$eV_;J%_YA+VHqe`Uy>$i*0|j6Py9zQ>oePK5=p2ER8}0Y&xV|Q(rKuPW|YZQ-Sh^u2+bec%hJ8 zUL$6v=K4;B=VfK1jCyn{?f~|}5KJze9{A*dyqVPs&#_Yn<<3l2mS_3*X5~-%iy>Yz z1nd<-R=>oaZtnzANPve*uCJ~CMBsACgzc>-)wEywczCt;O-ngU!~aeqP4Vb#UeuV`LTJH) zJ4OLCLxD?9^iT|~)N|lM{q?IR2dkLo1eO4nSbN4;RrVL1 z&CHdAznU;ilS1sx3V-FBY*a>QmHL#X@I+*IN%>}yBJEdyG>MNZoJrO3?XjBAe-O6=+4`W`&aUG>+@QJdM%uxN?T3a=+$rPUE}6ZKOF zHrDB%9ce(vMZztnl}P-18d9)<*QE=lgTL;yUXAcmS020md1$UTJhE5q%!={I--&;v z^3cz_fD}!tl-R>Z%`kjsM-v)zgpgDkBDmeqz`CPxx0Ao z)YSj&xyW;%62yWmyU%K)@)`99qu}6l%{2aSsZw$5zaK{pMu)cQj{zk-)v;)w3B3C_ z)=7YEw(Z*G-$(Cn-KEo9XR`ms#}+c?N{}y*W*nKC+O-aoZ>*C)LcvEwGtD$Z=#SvX zMXSI83}SSi?qpleCD5aY>YK7*F`tfHi}{BAN)H;tB}D+F9amCo@o1SHog|m$_kfV5 zb?OOGYF9r$@#wcdA`Fil)t_Pq?Omf!c`izjgVO)_OQFhy0t=+8R}-x#W*N-4y<6B#z&)CVSQJb&danKcjE-Q!EpslsLy+Teq3Sas zg3~zdv0qpeS}Y2@Htv^3f|B7C(F zYh(ZXt`)9ScqyB2AtGBH(n9*>Q;nJsoj+}Ayp4%jYCyIMvQ70aXD7K0}FeC_Xe*qFKnZl}n6M9k$aUt6;&a z(BFqQcvImZi0YWFVf#|Ncm<2&8c4*px+?>IXd)SG)dLEeW8W+xxL^Ac3dMfdh@g?d zJ0pv22!6?vScGZt?wMc<>Wl4ZPvc|F$@dBj5)4QBJr$c+hgT@u`HJ9 zRdo$pxr{OMzNSxB4As&l>TNdM%!EXRlJLQaeae%+4zC3|BWK{o|6<51xEyn#FrZ}W zRB5^pIui8rOL2Tjf|QVTa<>8X?>Y&SOd+N)gyNT_N$Bx8e8MF;E2NNH=wLL<0-5m0 z!9UR~o*uagF8yNe7`5>Yj?Bp#@vTbd@C^r+s=^F=e;++n}-tU**7So%(?_a*I=Rd-HfYwpMB| zo|y;f*&J$ULxX4mOjeW%2(omU!L+wrC5EV;41%#mO;mJ9uca;Q@ugX?k1r?*{4IDD zUSw0Im%Xh4mW{Z#YMogWpT&pM{Pd|*>4s<2pbits`U79B_zva}GT@Ojo5O;-ey7bw zK<=ksmv3y9xSr)i_=!U;Uwiwbyobd6RNQ#{Q0>c$Y-zE5`AluxWJvEfMH?;eShb1dN1CS)*#7{P^}^5Nq^hp#e)2pxT;cIi)sYHcqfp002`TYC z1vedH$=|k2bf+IIXGB;Fkj8vI^MF$pmU+)4IE(Ox)^sz&?|#bP2{sM@(KHM0%yglE z@B&L-cDk_6;BL#T%o}3B8!5iDl~OCOJu= zeQefox5t3UGoGua17>E1s`hJEUBjpCEXS^|4jh`YZ=$sAcL}4aQb6VbyCX#--8$t1 zbf|G_T_YhPaH``z>ekBs`%f@$&Mrj6SeSvoEznhv#`dsX>d>+`S- zcN+)X0D_saI`fMMj|}$QczD;}#YG`VNj#;y1jC}=Dcmyndi&QF9jBrVJ;PXLl^bkM zY#m`<=hY0`qDV!P_$5jaRi8XIOOA^Q`*r4QQ{PIJjW>y4|GX}CB(-NBTxew&+)!3; zKMZ;6EA%)U_-;95Xz1eg;C>$^~E#Ho{?A+?E>AOwK-X0OXF(UMyODt6zYUE$FDNTw7Gx=JKP+q#D~xo#5}M-uiO85@p6YoGFx2vLKbWg;2dfe~h8P`Sc>QrFc z$Z$VHl2)Ci-$cDHG(@rYxvKzKUIT{KlS=VEpJF=J_eINQ!#RFCG_w+_J;123es*?7 zg4>@xG{ifiI9E>iJ!XL&xIug@bAhm(Yut#pNxjav?$$|H#)b>xOe5|Li@7Pdc-q;N zsO=b7E?JgvII-Khmi{(UEgabE;(Jzeix&AugxyU&k&Tau?K0q|oeph~+O$x-TK~wn z5I(4RTbY$#VX5SLM1yMAUjgnjKY;*qxp)e>Jkp0~IZykwM!G8AruyxfVvp{Oz{Cml zR=TRY^H|-mUkRUz^u*&jq*eqqlSm(xgbjX))8`#5sk;f6A~NPmkmH`Zxi$6kM+ zMtd!dCp5J*?o+3ElnBYyj41@ln-3=@*hxjs>|`N#$4mb}QrAh@N#Bw(trfoQP#BBI zOcXL5EPQlCA+JWp9x?QuI}WN8pK!j>5hdb|$`XwrXHS2R?Aln+-ux?wU6g$^)Qd*e z=3~*thghqmMZ1sRAvAuK7f*0TT@C0QK!J3GY^yAjQsf-T_yLY=FR9PSOd5?=eESUi z?5eEcENL8S@AGDhRick6OQ5X$@>jetGP$S=ReL7Ed~rSISz4d6JmDwkM*5Rw2h=xH zKu0lG@TxUl2xfJgiy;KPi+1c0oLyU5*n7uF*{xFYijOY59d`;lO(7Y{CXu^DS2(>0 z8p|fF{r)qwQBwJE7TG*dI$CeeIBe`a92rj15GvsZ8E=T<)WlT%0p4P|ys1hSqC60I z1Iv>F+#p`MFcW9$!h!LpJQ4a8)==QY85jI-^l7KE@3)Eq9RncNo=;~y<74-ES*g!A zsa;vP`Kmidkc zl!<6>650&@44`-Wd$<_re;qsT>7Z3V4$Hddi*Af|Jxv)%c}J~o8^x%ZqE_S5@$#L% z#z0?7rHQHx!gJ-~@^OButL^EFYtegAf*F?e$SBAMb?PQu;(4lNFR`Ch2$>LHhN7I# zZN+;*61Xo0DpZggE0L-rx-@dQpKh|}JtkqjQ7fwl%s=?nt7e$da8nof*Q*>xoYvZ5 zCbd!zUt0<$B)}M zJglQrt{P|1t^QZ+oV@&ZLOFEcbsp7x>3U1uQ^dn&`+tSC=s`97)LZ-5!!d|-a z5+OJRaZ(j9U6ogVup$UrcHl~^ewBt}j;+SKUX^{0z_F(MtU5*7s!y zD=@(MGg?NClqwAFX?v$cb~H!`rC1XkW;oj;><_-mEt;}}LfhX-JvaV4bZyH1H`R4} zn0LVk9q%Zb>T{Wzw#KYUTpczwjehuOj?_`yH(_-;cR z4(?0MKV!BzO@pg&3GD$1>si75v?w2LO??p=`P?QS>s-b$jU%_k)v=R0XWNs*c#{zQ7d3+?0auAi54-S-~2jj|gB zPu3r})z3QXpjQu$0+)Az{NPj4ICm>S=Egh=fzQw;i#^Vf9`2H{n2_-T0ENESyY*hgaU%yPO+5oW^(h{p*?Z%9r?uh42+}pez-j zaLtD;>nZF?2M4zpj^jE$jR}MO)WZMLgzzbC%0U%2pBcFFXfEN4PE3f4?3ykyN?Nyz zs6e3fqxWv#@%ebg*YT-<*&UI@?Mz$K)yTEKAe;!@#6bY!v<{mv_gz#!U2Qx5P5BP7 zl~<_KceZtkN5)|DvtiR|i8xZR@JaX_<%14(V1hIfTpM~dTl#y^k25xlYp!E14?i5+ zv$;N@jPlrfe_C&eIW8i{5d>fGK1?MEo*ZL1RIG#B-KM$~bC>?tmz$B%F}q;aI&;;)q!RLPMc za6uKOp}nuzv5C~UL6BeD*-6P#_0379b(5~O()}PhjPjWvmj^t>a>#8vmLzI%ELn6Bl5@1pKj{;Zi(FX#NPT} zb$LGv^K$aqRg;ga7sbPV|NI?vU+r}>r#sNOSj+e5HP9oELE>8>e{>#!hy+x4CK7!# z14L}4^YQA)J4Y_|ui?hY79OH5^BF>xu6u=34^w&xTrHedc2nkr}+aCG6W|D>et-lHHO}xB#OQ`8Jj?=D*@$m_%2-S}HoQh1Bh29d%j*8I0A)6(fei!^XQ$1#;nXM!j~mi)JVZ=Y_1EPn`gm&p~2 z2mFh=A3HlrMGTfCd6b$xIQJ(yK?iBIJI;RC^t3=BLu(v27sA5qj}#Yu-VH7lY|mTs zc}S%Fn795^cOwS#5@t3JBCyn>;+(>aYYr=tMS@G`ygCzio!bg+S;#J|WXf6|dXO0QhTW&)5b9G{=^M3G!K zLa2Xe8ZcsHUcVSDylZGAxLQt=A`zeSa;x1)?i%($gf6Jp*~Yf-sFL9_FfwgF-;Y5eSj7c4ZkjCDL)l!`BlR6va|P6Jxt;-SVfyd<+tVq^y; zAx_=+R^DtH23pD8Z^W(wTSc=}sA{DkcLmDF@5cJ{PWQ?tA zs`guWHlLlI(+o-YJgS8WQRt^boU@oQDm56gVbQGK30(In$%s6Oh+mgQ6u&Ld`cR>< zr@d@&|1AZbMCkjxfB+-qRE{ZadHk*~_|5IdE+5sS8>0eS+x`x|ZRZ)EGH^c#1JJ;3 z_7DdXL@&LvyJ%NrVRv!B`>*jO8JjItY~=-t&4)@L%*OEF1^dMDZXVM!)QmB?VIkDv zBS(*F@G~6eoFkO^rW6&Dk7?XzdGpC#=>zAeX)lsTB7a9`OwB*>pAs&kK}h2!GKs&1 zF_Cx1so~*bEDZ=nUCgv1HmvIZOvcK&>O>sIsaiK_=F&^UGr=(Ttj_dhS3yL|6miF4BqOALTj$aKl6tA8bv`$HbFrh0gV`*Zc4 z`_#?FuCn&s>L!`0(_5SW-q#3-x_C*W$y-uUVKmZ!0V`Ce5hGLTs5SB|9fB02*%4Z2HXGw zm}!y}8sUVm`T?ppM-OTJG<&Zox^8tO{#7vS`E-!Ih4Go6Go_ZU)v|a#01cA z<|75hYgcg_-G^3T%PtiNvhlBR%B=j##GH|C!`0= zj6Mg?kcR91_faQL0ZcDGAVC7ZkIsnclM+OnX8NLw{n}~M;As(dUZya^H5jz3gxi-!HX_0fqTzcRA;^u|a$Hg>Sv$gvqL zj2riE7|3%N49*`k!#Lfw1PnH-Q<!WZ2IQz;U7Cj!$%rJL}iaLh(qY`7T%7h5IDHvmreUK7j(mCHJ7 ze~j~evp(IH`!0|_@H~9hQfRsL`TAC<&GX7Mx=A+mAWeXQ5TA=z(EInkj<%XcD{onG zMfbebAz^#KR6<211`TFp74)gvO-u8k9Ef$kv8WJx+1Bfu7i>9`a1FIXW`w@tJZVvs zx7zf3evA76!#1Mi(1aE~qjwjz;x7HcDE)G_P2@p9Lf{!O-Cr9T8&eaJ*_rQiG zy7g-YYArJc296#AGTwTbsCKm-GspAK{{1s~L{n1{AghIRgzez7oSxd+pt>qV>&cUg zxIwDpU^tqo%+J#WkYCNky67IUuRr_Xr@@>0j3~-QB$9dUE;Xcibh)nz-li?CX(*`x z7)USmAhUIjJ5YOi`xJAwv8%D9om$RSuF>wC*w-9LcL3--GLX=Af?nm@4rD&}I4>WS zqH@q-RA%1H9-+og)Zk_6Bn(0j57$EXdtmRq-~XKd>%E(Zj4f268O2C>OF~QqAEZW< z1`mX20zRhbFTk3C|Mmu%757)FT!`n#uEy{z1=0>WT~6oUQgiL|ag}xUDzoPT0S;mq zR*FofW2#}UF}O11Vc}cn{eEc#5^~xXb(Pb#bd~EY`|;+eyks31VX;24f;7Js`*2AX zR8@#UJx5sp*1kb#PQcb&;zEI|FzkS=(;B*E^3!QnM80rwE#=T|5Ij`U2TejXMZfJ%aj+Pr4q@U+S&L$jiQ_{$Bcog zt8HKc6p&`|kqSZwG)oFv(cp>`u2G1S`rk;3D9ND_3%ei3xnrEaC!E5k4o6Dt$-n@P37$6j@C zH}yq#pdVET8|mT6tzKp&tWXn&QOmlq_C}c!<263HXGXXAN(za8K91P&Dq^)Hrv=dy+twrBaCC4{mhVNMc3eFnqby%@Uhpd*F-XI3GWU_7v@dF zyB2{1#|0$(zUy_==+>9bE2dXgZ(Lb^1y@UYmBL*uULqoaG`+NNdB?%JmUN_-tbXcN z_o+;@7&N!F$d2x{V2P)0vASmX@p%%&=he+xr>ahBHW3PB2_pglX}Sk!Gh4Sg+?G$1 zi--~mM&z%0{D9kMn7Us3OWL-FMskD=OxXeC7f_4?+{D|lvreHqCqj>?%;Ep#t{^iF zDm(Q@V`c`|g!gc@@w+I>(s3x{um8XvNbh$5o(jmlmU}iyTVE`N{JbZRy~m;q0(Q zpYPpdJgg-}w3W35&3g$Zd`>U38F4M~1lFo1eKKPU$Y<3EI1>@IzZ>p~z@>c(eAHDl z{C>)XjycK+ctwSYdprTIi4vN_>c52xT)bVrs-d?i<4hVdJYcVZ8PH&5v23eV_CE#l3Dis$edG3>fiN~-j zaJOq}&To1{LN;XGl+d)_nU!AIs{<(N1wd@2X(1wa%aU>XBqT79!#&y*8M75C=BpO9 zZg$?MqDd)h*G#DMyir_kuyNr4q#?PqY0D|I@$QK!TWrSjb{J;)M-paE}ZN86wQ=Y)qIZ+`=tJ?d#(oc6*n5tOrTRs1PU_YCiJ)?{$by5G?iRMDrI@cFz1sb2 zteK{DOf?3s1vL^#ACf35d`9JsNn(Z&Gc#9L1^jD1N_#TfZ#dD(l4Sc=-*1tOSW@-G zp(fq{y%(Y1vwTZf@BbKl_yLJ5SA?_<`L65;%1=*TCB_X}Ntrg!qD7h(4XQrH_kE%8 z%uvj-SU%B&V*4+a|Eg7nOD|5e(6eExKEAbf47{5H=wpB+S{XY*4sMDB3?kVVx;(J? zbXWAkf0i9<^OShA1wi#oUF8I3^i<^@LiZPXj3Pk1s4;JUDo?NrPTYq*1dAs9+Nyu= zPvIdnw}5@JcD0_U81LWk(Dvt7Vmz4Nsc@%S>L%yRkzlS<2U!L!By@(d?_=;+ixFFx zGM4PUFtN4mDPIK?DmA27516@jxDqW4yE}XwZ<9C+Jf3@?2b3Hs|J`_8&#qUOVw-*( zzL)v9!mhQ;vn$iPGXA^0dtBVDH;Dbay#)4pn0D%&fI{>suyHae!s1$U0-o}oZ-1&P z*0p=84venKX;#x$b=Tw3cU+!;TSxb|uID*80v}xVENT&{9shIjgO$1%PkD;|I z<9#k=onP5_8G+p1p|N&j$ipP)1v#u93DyB^%q$#TdwSk=BPbv={EVqn~ z_eE8Iiz?x(Em@}4ev3nJZ_am939!}OT`&wHZb#qeoH`;!gizx5i7X#3-`)POUQa{l zPYzT}(5NmGpFOOdj$lxxh6hTABl4m_gkMHXwbkp8;XZ&}`o_j<8@u02jR?*Z1Q0A1 zp10Fr1BF)8uDyC^heWxQxB_D4bC;`>hw^;VY0~(&sA^Hq+@_BFVvAj_vh7h;**KJ^ z)@40+ARWJ*%p~@8_b3pk$~W;gxSu(l@w1$G6Zm*_ei3)L%rU)5*%$D^Znoq4dl+WL zdo27`TeVVgBsk6gid?1;ujjmH0Liw@>QDW?*B;-mWUSSD0)xjuAjX?$Ok~SLlZ{_7 z9G@wztwfMRI(1rC+W)5 zTie)HHSQ0urY;1$o9Xwjsi6;{r-~3Rxt>9*@a51jnv(kTsc@R*#R`b{GJqS>%v%x( za3l98Z_K?}OtwxfxWA9E8Yru^T*j2iAbm)-5DT1E!_c(Uzb+Kw4c3}ZEw!>dP;ykW zD)Y^1eLl+>e|_7x7uTSY|7T@WA^WdzYg*knt3d;2E5s8Ol~H2@b~>43$dhLi;|3p! zi5sPe5w>xacvGrn>B3D#GHG6vSl=WyOFPHm`x=hMtOqn2e4LNp@w9=Mw%4A{!rloe zJ1#0LrY{OAytcZrM}!$!k10Pt>jh}8K;EL`FZr^apkOkZe*x#*<%Z^n?odiQA z6;sx_yxgj=d(EY>laDyp?QxZFFU zUm=Voz?C1&7c(6#$a}p_T#Qkn+0mzCR?J(jLIEH2uP~D;gcmYD9ZI0k5;^Gu_`pC) zm7`X|0|a$7^u4mY?4Ojx|J^&KyOJx9#q=}F?C&FxuA@1IF4ixXF7TE=p)zKlhaCkz z|4vUYT13e?SC=qnOxsI&@(6ISFdnc!xd?=&Xu^7)XN%-%vrIPXl@LNBBE6)C1u0HH z9@|EH@<{SehOR(F!X*{Hkhm=s{>9GBN%D*xOafpq+!qUHC4!k^u6Lwye9+$0I<{5Ydils1ax;m<)t^ExBsg&vnL-c83}+;Codr3yL~$L zz0ghmGu{F;300MFyT)xZmwN}5rtBL5Zj(y%v8}RSVw+hv zLGI-$8=N%X)wL3#62dPf>+4J)KP4M3JL_lMI`Z8dGwBYza-9)pN?P%h{U4Irg4ByD zMQ>kV_6mJiz1dhLc)K^|qG!QV$qCXhvZJUW5->V+aO%(mS_UX`wpTffE_Nvd_rNo9 zc;>u#Ow2l&C!@oxQ?9l3?Zf9fUc>n}l>k}sn%+{V5$K*W6WoC9{O9@k z(pOL^{!g(js}>w+H&N0}r`^6+MRJWVb&>T6k!x(V9WVENpd7cm`7lf6xMyuS*tB0a@3BbY<~FL_5PlWWCyA1LsySmUTjDU$pPZROyNMQG z5yJ?bBRHsCyZKMtyH+!P;ytwdydTw49=(l)s~79lXcampWYxt1m{?ad`?W;E5eQ*CYuB) z)~H2CHnWq3zqH{(aji<^E{e-!eejFLk&GNTqJxJNa~c6A>NJI8JJwLkyhmmuD+4?W zl%KBiPXRIoBnaU(b^Xwc$&474Vsg>7P_5B#^%x=zW{6n7+pc0 zgws`m!g>B{NJ?J{8*FnPG`ZV*;#HO1EZ?jfBFum3-BR<(Htr(>7$VP|WxKaMz70h2 zgRjsH`t4isHu{B;D|>|RosuL%1CCs&GWSpTaK%v@G8Rga(O*{=1>4wW|F|`2yCJYS zY64^c^Q1@SkazaEy5t!!=%914o0XUT5hnm#%(kf9ZGWKKFN#(wZ~mJz^g#jMbFyH2PjD7tR5^a;zt_@iwRRAUc0Os)K zGKHRiGIWIF;!EmoDhLKK%-d|~@4lSW{X~q~l+AY|`(Ia{!Il4N_)BdRLXmsSPN~HG z35nO~U3^){`_Tkkjlv@=gfi}zihgJ6fR(c~*AYS%`y<;Ck}bHowu(oAQ5u=}bv=od ztS?-F)H9jKY%b-QcN4gE^^ZTH@5sSS(>iI0l#A?^6Vw zSgHjFdd>FvmHFZrJC$ms9zgf+WE8V*XS>5ax~^L%;ssTgofd(Pdlv5AdeYu-i{^@+ z`~3hTE>kP(6zeMF@Atfqyv69Yq7eziKl-++$AkZU{dy(O3{W2n9*(-<7}g`Um(3nw zeIG83`0zuFo&F!AXO0TE;z%HfS!acbxxD8|s1H zJUA*o-d(j1n$iZWd2Wpb`gPsLdcu1AhXfcMb<=aY-(!6tz04m z#48-?t)x7!DxAY*t7yqeR+GcGh<%8fgsAFZMwhjFhWjV3;3p|JsExBMdFM?U;eA+g zT^Dt~^HgxW8`?GDnfW0vKV>XuD!YXuFz(kRjvqNh_u+NAz&JZru*opdp^pE-p!q$E ztE2HKYg-!{K-elz*K@YIT@_9F`9IESZUzM2Rhfo^`ET}kXyfwk{_Rd3C}i`y_Ra=u z_6LqKF-@^l^1GY@{UQ=IF&C(UM6CM{U>hAyTuuR?NkyRlC7DALB%F%=W})%eH# zKfR{3iWaMk6TK?Cy_}j_Iwx**I`v(Lb-)nO`pB#yv0(1$U(F$Ozkd@`2ZW2lcV<96 zoI3Gz^fg#CA|G3!>YN=5gpOdIui5cL5e!@25ZWhqck4)VTPWi1AgKmw!v|TvpD*r755R(rY&`KyPSMxu zN#K78{13Fe<6$0ucmN9txc&+s15&Fu2vHAcF3y~}NHzbI1E zr}W8mDPe#H>Bas8Hf4?iYl;i=`8dJ0DQpk@Mh(wrwEv^fjI|w(Mg+s~L zI?r16(PpOh;T+;@PEnz;aq3ljng{If>@uZcyd4%bAa3qOoIM~eJOn!I%E~n5ng~xj)n&3T zpb4-a!nd49-ICT!9N%MO$`mh}aNyW}^vN=@Abe~1+kGqC!rK`FO5cx}EM#;&Ri~b} zg*6@gj8wH8=l(Q@sO@T>h* z_vrd-X8C){=qfH93djweWF*k>G;%;1Neq#0zVA-C_Ow`DySenaG|B{M;U+* z$tfoJeOAXnjxaSXheIR;v69sVoC<^E>6llYF6g10`{%$dG z%2&Kx{f`WvzwSl3Bs)n1YPd?h2sb*D!{wYh<|)^bM{0*l z8nhaExkkxIw$5^w`E{aBiE_b>{_jqbSHnU@;&jRs@N9SxqJG5qfaj;@jjpaX7cOr$ z`;1#YASQliZ)P0b4x7R9#FO$-SB(R{s;g+tbVuvb-8>^$iCmN1CJa(U@_{`!1cYHp zW6IqvB`kdyZDs8|03UQ>Q!M1Q-3bum8MXuVK-7HqE>l)g`EFY0vv+-~kR#;zn+{!p z24jDz3Y|o-vW$Vf_}x&y>@g((s#ponis74$0B}k6BRo`;#7y1-@Wx-E(!P2T;I1Ci z-cOy~T|#?x?rGkyfT6w&&FU#hU}k}iu401GKv~EAWOQ{=lWWcY02lN}4t zsbpF<+2JrQRKG(mk@#2k*gH^XN~bMCG0PA*i>hK!`6A*-@X<(D{|FOP zU3vFT8Aq(4UJEa8Dk7=Zr=olcaNGX?+n|>i4is`D3k@)nnb?hd*!%S z^iQ#knyl*5AA#N<72szm=f38K0I@302%qnAjM$-umw;tC)(FFrqxs%xG#oH zD1x5WZtMj%1MC+c>bm}&k2!X=+8+oAY`|6pF+jNo)e7^%y^p@GAJxaM^fr18;@(eM z6^Zfr*T`ymHBVc8k$(~-g44s;?S)u=Oc-fae>`eWQ_K+xylWijEe73*dn5{gi)otb z{WerqyUbf2NS{^HCzlBTBY*# z6+b-LCmlP1C8!^Is1+}EkzbVn-KMbyO<=H6&wsI0xcl#ATPQD;T!c zl9O5^;8C*KStZ@?9Dc-k$6z;b9!`O z;D56IxSh%5Yc46$-rd!^xGKmLHsQfCn}ApY?t>P~9oeS(lekl%W#%RP$7lE2cCV}Z z#ZIGZqd5dVpKUTT0mWa5G5)x-+QNp<)YaDBte&Q=)x$R1egg|f97y1=mKP)W zBE&{Fv=>1G{FCNHrKcV~(59}nNkptmyw|^s{w<~`ED$J@*uhm!)%E<64qs!)>5c;hWj%gll(Omb#h1+}$7un!>Gle1T}xz&`@|J3K4==yns8((8OJ;=1uGP)OKlLzGm|xv;*O z8%W~4E<uTk2B^&t1><6yR)`E}+~4LnK2c0bL(E%~v@ znR6Klvlz*`L?m3S)xNp0Az#i;6bJmH+H}8{Be!&I`}kWDp|3Y#4(Zp5`eqMngOT$m zsh+3vIkTu>z!3f|*0W-Y=D4Yr%WFVGmn!7&rScQl2ncj`u=YsoEOwC>rP>v_=I{Pv zo$|H@IaptICdR`1Tb9TF<~6dVM}u#_Bi5yEe4$xbrY$t&%603|+~co2-LszlGWf;S zd(s9d^zsaS+)v{41D89l(ni1STyDwLomFaiOXW84|9FP?$1m(Y-ju?CL|UoFfOwm< zsrwX4Xh)eu;hNN>be##y6-@_8y4hw*^5^=VV86D;5j zjWR|2e!0bim$@QawZJq&PtR2G@5X%q>kV+VbH+vYw48MB-J6eH>bVDMS?>4JcQwa8 zDi;No7Bi4D&s4hc#A_h1y4KYm^uhzTZ77!=h;&<$1T^j1ao8lVNE}dYcLA*_d)|+} zO+=&>BfY>pOZfG3Q|KA;{9tb(bDf#&*u-i0Z#=Bf_I#xoIOg}&a07M>LS}OhK`10T zBXqCg=>=T^Y>{FYB#8+Dzzb-lc}LZl1)4{(HlK{&|2#GAsiqF``ZJ#ckYq|K5+q;n zES%Yj@=t*t>_@?yC!Qfig+^YhJ(0zz)zsZ&Z0toZ-^YJ{yu@QeQ__JtZ9r7vwh}Pi zJvG(szrRn?3;#L_mDC%p~g%0GQ|_&O3mL)z~NiuX?b|rCtsZE{-oUcxJ4B71jCG zG3Xox1l)&t6A>9<(Yu9Bp~uZE4!PMKeUo%zoOi$+X!q@HU>@{-?T-u|;?Q32<2IqA z5fz3Gt>i`f#WXb^bw(&oUC(vyf1@VL?uTELx3P9NFUM%afPSd!voXV2r=76w!bueja<)Q6IJNK$B%Yr z8CJHMUBdTIh>w^6fg11W8~#Aze;%rvx~$s6@vG|`m{ZwXsv_})4%7&2D3E;O&0w>F zO@e!%`}Vh>1oJBC`BdfqD_)1xeTTZ03%sdvW1GHu|16NXac6vDS10to`mP-UXOY;G z-V^?}=}owUUV7GL=j-(GZ6jbv?PkFpvF8rDiY2Vj!|Rm+0{-8*V+h_ypSwGagYzG)9|P8Y zSgw->dUcDPS!?>XJ>||l)tp|TUvo(aTr4%4YsZcKQTR9FOxZaPq(aZ?K&#cbR$8#C zn;z9#%T*3-obR%Tm0zX6KJ?KFn!&f^J1lOBT_C1K$ME8_y$7 zadM?VJMxbv=+H$*dVzb?&1DXrGM75GyMI$o9MbU@qznsZ?5*w zuer3h6T(-E5~3$yLP8P+z3{qN_W^hQrN_g6_LJ+jK#VuTwo;P>Z;6lY3oNb7Tt6lL zjmk91(Wmh0SXBK1t+mrNw=uk#XaxhP2Pn~c{$8H2cHb<_hxP8(eq!ypwCF!00-69o zaZ|B!o@Bb{n|&^P?_L+dEh(T1bJ|&n&82_<6CK5Qi9D3X#~0ghMzSIQ>)a;(xD{-q z8#{6w>ED6D-<* z>r`deJ|ilJ(+{zX#>^}KKa#EjDvI}uQqs7DfJm%#H%KjuLLbSO557E~VJ+KN^KOovjFpE5P{Zb=qE~h^ zwyW!??}geLf3bt2-B8+}N*?<|McPyx4XYim|C+sa@~Ly_yY+SMgCAP)$=Lk_mI@K? zw$qcXJtq&4DjA%kgQU6*V_Qp}3frw0>(=)oa3YF9Pyj1m%`Uqi>=HX%h7dB!H2{Ed zUh>G*)t4-U?HaLwVo-$kf1W_jIA}v-@5hEWws&aGLu1zJ;1>SObS3A9|lEI zTkUq3Lg5-EASqR0P}|M#eZcioZGF`Kc>jq~!hnU0x2{t@$X(m6lt5Ieje7ZJwP5|Cz8m!JA!jrfohheehDbZNnj)HTl%r79R1}we@CQ z$SkILVI+6voiaDJ75tR7uYLyn=VOz3>uIpTdVDamh`*`l46(P1#<1UTJ%x|cW@m6p zdg)(}JNS{GT|QC5gUqzR2pM#a-Ppj>N4McmV%J*6w0K@c$x&2(+G5@LAppU@Y<6xa zvhf<3c>(Ycc>NEZ+qS!&19qlYap>`8@zCon((kVY!Is&;8X30LCBW%(LWS}XJ6Oid z<(ZbfckHA@1$sNDxRzN**&O24m+uCS;Pf9-+ZNVV2=@W>@^H}68Rmbs%vvjau~97s z7$l!*(pd+5Kk!gY_5ov=?Gr+EysAe@b}cJ3<#iPE+oU_kV;&SwN2c56pEUr7@7`E9 zPB2B8P=)EHU$FWf*f%v;ox-jE#*t#^c4LNb)Z4^~jwH>?d+aWidV4kq?O6CO?66v> zNTl5t_=B?B!R}aa=N+;R;MLah-WiWYyF|PwYu#UJIH@E-O*Ul*_#PmF{s};?YreLc z(8q4NpU+JYbLWUwt4FwE+u7Frde@4n_HX&u*rk!|t#$i>@dmEtE!5S3)l6SxxYhI` zj_WAsh1?T)}k)_B}km15b^!V#pMtK2inO<@oIxw(v@%^%MgDy*b zKj8aFoZg_w320(ZtmkmgVX; zuhF}FpE-9fr%X?dsmx1FMbe`t`dgK)DDPIPtMT~s<(vDIpGB6x;pzD5|%|Z;fa^aFd>u^ z+_ZE({>9kx=v2bd{XAP9=6q|gy~kJbg$T5- zjUa7C{b?845ak}c`L@d_KLLA5__ZdqpYg z?e0!i?nc&@zfN)BAO5C4v0hC;-XU&b`QGj}3-gQ+_l$fIt=jRT4a|O9ne!?_49|%} zCVQG6`&F&)k3@sGG?kb%6(<4SZHb}YZ=cM?sTG5z(jo-Oi5)pqfa0Is*BqgaIc}+Yl zjf#gJkj!b`<5iJY81nm^x-w@3(^jlP!U~Kja7m{ zl6coqJicmLab^#$X_1K;(+U^gDuhn<%MB)Y$3Hlb{HZx?s|o{Y(@DkW(Z_G+$8FQs z|L!?^I4JTlo9<|J1c0+=}}Yv_c_Tt&o#>9&0PU$#n2z-hoO*)=-*( zOh7J&s90?D7yafdz1qNj+cs`sLF}Gn7oNKF6U2NCiV$D~cOPHiF7}BbiBl;B1i&N> zq=%#jnEHVQ9AsQ@Dzp>FsCM61>#||RbD;5~;Q!Je6%C)k@Z3Z3h(B_(#^IQo9fufI zC0!CxW2U`-i~9w+;bi26u~22CddAsksJbf*?h_ujas?+(OUllJzgWhkV>(;tey{+T#c&Dr)yV_4l6Bjnp_j6t= z3n8vQomKsuu#?KPK=7hJlb}+A%b_-RmUrQ&>xW30QP!3p1*dNvybHz16r?wQ3;aYt zyc)a?Rn643#8uf)G?cONVCWi`sQQZB_lZqlhKRfsUmfE`mG|Op3c=H61uf!pb9|C_ zt1(3a`EvcY)S+ZO+l3}WiOvgjl&-_Cv|S=cA{~>ouOg6Q(NmGq*y7M6YFw_YOZhd` zCegi5+?VB^JiL`o9h{`iIfs&+wg?Bg+_FXR`bIr|HXyY>rn0BCkD?tCqh1ohfeGsB zH?U!q*1V`x=U2gh^Ql9*(>LL^gDaH_G*{#-TW>SYShgd-Ig`|UI4Ehy>0v{=chO9I zqniT3CkU>_S$!w~EnFkTNgtw%XW$o$!Mh@1soz5*6e9!)d^c48L`~X9<&UI7u%X8?>EvjpBUu^PKV=+%SeE-R_pn#JV0nXnhx<3?>-e#W8ghix9M7I8n zi^)_N{>6s_A5`o1jOJsftb-6d7wS@F z`|)p8=D331Pv10oqVC*d7f9@|C9J3>GR|>*--81yX!Dg;taTb4;bhSjSCLrYZLmhnqg$&+NLvmZKCpif6pE>cqDI$`tHVaM`gX2)h-g29QuS6{r zPqvljF{xDi^F!bL_%Y9g31j;hgc=NvY)$#8&0dr1_!|WkI;k@ zC9R+#QCrh?t>s*_>|n{v2X4C4YVa=L^9!Rckqj|03^F&S>1k5LC-}T&(%vCLRK?q@pw!AVLH7D$IB!(r-ShHqnP#o7n~O66AGmGKp-0imDHbU|P@5FN$+ispTfg z-G;3*TS7#T#P7<5W5C{8Cqt+pTYVE~6l3P;gB{O!smOCs)CHIU>nd3al|{(erO*6! zC2!1q5g`%fO1MOUrvkqiJI^I1+=z=m+yu9hpz}<(LwEGyb5&__6yr&s+h+lPDRIMZ zyI!VKi48Y7LlPyH)o)dFlA<(9#>+rgEeR=v&Vmt?C))%5WjUMtBhI%HXkLqGt7tOE zcbgIE+%j-)Yfze-K_}i*LYzv@cpPegWT#S>&D_F{F0BSpPb`}9oC8EpcYdDZ#RdED zryaJ{h`x7fd80gn)@eMfNtbnZZM+haGAbq!gGRI?mc<(*czUqP?)S zJ}k1a_SRnhxHva6H!(jo^LOU9rS)EN_WbGB%*f(3h5qC2^#-<$lkS>dKR5m*Vw*J> z_C}hRp)lcE#*QbGK4f3v7wYMF#d?ZJZ1G9%_m+W&R=1<}Dd<~!b>^o3L z*DZ|66fX8#MV4>g9+1_|`EQlxDfeaE+6oA7C7?IPmEMsvo7>~ zt|)cVxu$awWoNw?Gxl&XdciV1pN+gsaerHTH8Wu^-OeupBZJleli@9L2E}|GwuHDtn1Y?FZv*KC`f*G$Yi#7b;A2gq3d&IaBA8I zZ0LjQrQfrhi7XqP8Pt<=Y+?R9r))QW`G_z^KT>gw4C({r;Q8LEG2Y;#n&#gXOOS|< zBz_=A;I4ABwEt;NvhGQd(~q+5(EuZnn%Z$gwaovQipf^|!{y0owI8%QYrd(;LQ78< zks0A@*Y|yW8j1+YrISv9*6D)kRsutd^mjm5-o{Q(_vdRgTv>z& zp%FY&!VCDn%|*QjA0!<;i#&_33?MB>ge?CMwO6{S9P&E2T3$>|Pi}e-+?`1q@3gDJ zv~9NBBJu2x)uCKxvTaS+Uxvw4sxYgtn7gt^Za%(PRH8BonM!l}(n805FlVWVG#k&d z!t77)_r==gr9O=WR{w|mQ68=@X_fV1SvmngElC~I0z@Qkgq0EaZ(q+b21xIf)9iuM z3>v$&R~U|7-&WZt?zz=<3jjo%nt!>gb!y{+?3MWT<0(=R!-!Wa>~V}C;?~ToA>IX= zNb!7$+X_T0yTt!+S5&7bPN%llPgToc9_^Vy|1p$h$nPaTQ&FMxHTW@R zs_PF?otl7k1QMq>@dJq!zDu65+VJbAYu6kFqYD=j8m?SXv%e3X+2N zJPBAKBu;4)p+i_uHza-J2O`=oR)$O|oj2(*Kz;bwxa<=2&c#tF=PDN+l=AJV@GPx^ z9R-GW`{O1PrU(=cnT&nDqYB1hbl8eU=_t?L0;I4$=^%14)yGHtE$+8+e_;azCh^_c z^!95r+2*}D4P&MAsrZAWI~R_VqqDB-u-*sW|C%{TUL{01ZtnXvuU*=Ec^ihq@X z&-4D#V^LY!)6q6E`QKJna^c}pJsehYHC`NKcz0KLOGxGb-u}Ww%K!o&OY(8@Oow() zC3hMPo6e5G6it5T>>+C{@KGM8PlWHz)wm1r>SUn%wPNOv7z{8mxPA#4d%}$7 zdEwrxA^tKopdP*bvaN#%?crEo``m7Ha!K8mD!u2YNA%5o_J{VGFa@N)2v*#4yK_>- z!N+mOVYB zFF&_9UyGhjr&rgQ!m`)lFUia?9)&~5$n?UrR)3Y7Vm{j7q#N&e>!z_IX+_hef7MUAMe;8|RywpPZe!%xY{cZfnfW%e+)pSkK<`=o{dUEZSde z)<@sCw}$TULHSJeD;LuB7xvpTqw*o>x|s&j8U|nl!x?@NtHj-B^SYG?Hmrr)3Q(Jn z)6<8ZtugoD6j3K1@dKp{(1)+L$+52O*E#KnaHmDwqU`Zgfj~l;H-~6jE^VOKx2}w= z@w8nFD_T^~VJ#C=2mYgvkmW3igq(3R!kBb{^bTCF^S)%Kwx84(f7ZJr6lC-e-`@Y4 z27Aw$)D0nz;@t%D;9L$NPBIU=mHW&+<=WpZBA@PB$DjxI4RP;_1~9lG0acn&aB-|3~tthKGu$!!8cKfE*vwm@q0P-IOiUxOxww>(U&#T6A7zlIHt9&R&=@-lPp zC7(n6X7z-*7n=5y7K-+h!0NLa>eF2n7%;RyujEc^+BT1tBele8i4#X(6(J(b z^>&2k$Gd=4QKa0WZjdDHw$CZJH4i31i&ZcB{v4Z}jo-b+OobibuaLUovplFju6Tle zEkdQ&Z!0C9>@jvvmX^2Qr06v}gqD*F;>no}N?U8)j8`}I&SvNdwn`-Y3>rf%>AR^<>rN^Q0FD zX*RS+0~LIfOzP3fHE-^;*f#|({Vx(<0xQ-)dLj%#HLEU*JHA{6y0m1kv3CK#kB4q0 z_@&GSWBK{jf~aw*IC{Lal(au6%f>~^1=MK-ni5;d*`mNw-g3|`R=_HH5tlu=Cgi^V z>ik26P;bSwI%JM7wU&Z6( zSYF*pbW3pbfNXtqF-m0R90UA5GzvcIqVpkhgHCPWl)lU1dW^Q;!7Mu|6tB^$&pR$E ziuH+J9r>+up~!+D8hBnO3(LMkNRKQWEj*E#0^CCAo`X99?lTsg-m@ArFx+Bsahwe=ev7@RpoKWE;LAKQ*@0> za?il0U1RyrX+aakZ}J*3ozfGn&*qA{Vp5{J;agYcYP{h;MhQEv?=pI};8{3eU7jvO zQFw0ys`_U^ZLb13}i9$Y-lWz|K2fKvC-axv2K_!8x9wIigm z!bi0t_Zo>djZHmJVk=fxal%4`Ir+)^lt_n-Yr#O%*n>?GUt-nkJc8J**{hsgh?3nE zX{fy_OcB|;-H3*c_7V*k4PpiO4h$!mopEj;6u12>-@HcUOB>1THHUrmR@9<%nz`&N zMGZYy{DO{xbjq5*4Llq0%hDaZBc^Ky1;x6Aii3vFw{dde_Fy%-X(Vl_=0J=|(XSWj z=PgvV(^a3RjHUu;pqt9(m-Z~5SCpN-Z9eJf5zLU^)wJDq>tz@m!BH3Gt=F^MN3zn9 zfB7$eS!1A5q&oiSGJ}sW>J0y|tk%Bk^9Tjk1df#R2aPx$Nzk~)gtKOixd)K?r|QMi zNzIx?_VlbWbh+MUgwbP7#4Sk=^)IS|hx(a6jIf{!Incdj+50H#awYYn=YEKpx0!>x zo#!nJCXC?B(i+(0ga+Or8|?BPo%n883i4O!y6ehNOetaq2F-cSHGdJFzg%`Fcfs! zY5_?~8~^@&{5J`0OaGA#aDg5NMDb`A z-^bSP!y#HqqPO8a*q+{Y!fG6>`M83wq8Lp>k=f|XeO4kURi(r0HvYsqkty`!7JW$V z_NRwdN?4R5=WV_+-HK0%kPCyjLpg;Nqct7^m4oWylx=+G6)KrxZVtik6rC+HhQif+7YjCA_`VT+BbDdjb9WJ z{AOvqnq#UYK++rO=*2Z9qEY`RqYi>v*c}sic^|u%0 zyCV%hg_~0Y{Xe1f$PiFEY`)s1!ff69$_ z_5@SWROMj%aZw8M3D@snZBNix*0|HoioHzFvfEg^vX1ULJ*UKavhoqc3VRHSx_sL| zy=$4_Yf93blB%%UkKv?~`Ga^|zFucs4;Y=Q&^_F_+&q4x`b6x2@h7l5Z9!L?qP>T3OXj921!XrtPY)n*IJbt@m+ ze3iTTD)h0tWuPSkxvwUd584V%NJ&fwn3A(Ugj6b+p$QUsJZ}#yfYeVsi*^ohgH#c{ zO8nms51dbPzw=LYWNsE#)@s3eNwpHw(Bcr!Ev)P_=R}4=zx`$Cne36st9dvowddf& zAiBem#?X6pBe~0q!)~ohDe)ggh3~m1aax<)rn*{YOQgp2;)#Oh2mo4BytRC_&QCt& zKWQ(nsm|eD5zs=*BHJ&Xs*ibB*Up2!>HBbim%=D%;V3bex!8v}bvOvnlPVH;M%_f2 zkFq13i1BS)uwLpM&yqr4<6Us5+a34k#ywPrC#DGDA%Z>`?sysNaQ-Wb!Y3hPCudW> zzA&?pDO>if<5JKT5y5NY`%!arRn@XJV+S*{C(lFdC)bh=VvnBCA&n!UoB?Kqk-MCU zv{nWZrsm0ZeKH73u1JCmlKQOkBb1RfKcavy=+63CZo|=B^S&-Y zSO4g_ufr1%(r^mG;-0+audYMB{;sY=hrC6N|*EX>CW_W6VBSj$nhB|GN*y-fRAo7jPIR3~_(H%I@ z9#E*y0_UkOK@nSAG3SN*k~0ATE3%1{1S$6LEW^Xe26g0}>z&zMsjJlvyv~0`>lw`) z3H%EM3L(AW2x_Ge6yY;T732D5XFKDKI|TKaxydFb(3z~;fWK3f$fIGST+hA~4X?W} zIWT3%k1R)T`;n46-d5j!afrVZD1qa3W2V7`FXuwZxjyL4L0kN`xgv$~BzSQiElHou z*LAM0Y4asXg0N^tNQl!w_K}ou#g!Osz%IVo;@u}Q?@ZDO#KEzNsn|cdAV~a(h6kRT zXmEr`y036}Q9xOU4YqT-r9^NUE`Y*ZVdk8Mg%|hK7-5GA16xTPC` z3mn2;AGd+kfst{qS;#xvoKM~nc}5nfxB<0sY{LF=dwCZrmrpALGn~gS7uww~cdl9P z(}NNh(bMCO=jPUQGnVK`SFy1aZSpqROQ|(8;6S8HWhR^UUobuTam&+nJRCL!d)lYC zvf0yIZM9(BeA51q`Kg^DcE2wc)#u_VqjbCaW@p~bmMfBdnK=C-Gb+dS-q7nKU23_< zA{zHuTR+9=hPoYG3jgVxjJfz~ZmM#V38NI+Os*D~IeQ?N!E7;N3!eF4Rrh zUR^H2eo+q7FwggEdl+E_8N3YN-wxRhA{Uy>2UDP(@33Wlp0ItBST#aItbiJdk^A8- z09H}-qfik{HVAK(P(EC9nTu{S3;gVOKF#^lbe~aKTU=LJTU8WC4|*C&rtsv<&2FA; z>;>XT!RD`f?<|9EBfF&A!Gol*<^f;W1xb+k*VEH#IzfX?IYMBOF3SZ0#N^s7+2{zj%luXX@QkB1C=`dr;TSdiFB*!k|wd5-PQWTef1*c2e*1`TW5 zN-tq#o_w%>&<%*`=hMl%t*eEgncwuz#-=;ZZb|@?4m9CvT59(>b>ofDxj##Knl915 zFV88@Bh#7-kmK|p$AEC=83PLv?1yX{_jc|$I(Beaq}tt4G$}0BIIq<@`+HvhSkcc} zdy=^V<1s#?r^14n1MZQRS5@81ydJ1x5T%mYR=oErgyjBU^5Q^Da5=I| zxn*);B@!qQ5(k?HU1y;KS{S?Tj9Ryu!HQAy4qQ6Fa1Cn*NB?53j+%!eK~DdiM2~kf zbI;uL`#4zBxbG&HtqaokLaQ2;~&LBe( z2-u~3lIEP6vvKMjzg_h&6!3mEW4;-UWX37-($z5!B`zr`B4oOLj-=m|wHgV1>ik`_ zQ1oW|-cWScc?gZsf89QQ*wEC?R2!{C=5|52&6)|eDo(_M;~WWZ{HsLv$L$3Au8RM0 z0&^Ru~`xrHQ#((J5HoxtZc+^t%!Ej-l;7>Z>El%dv*YyL7T!IFv*1j^+f z;?!P4U9NJ!+KiLzf49-vv0fCQQ+oYC6tgAwE9=^RkPQQh4FYraT9+#bkmdxT-?A}4 zsS)GI`(tOSA4Q)c^;v+Pb9Hc}gdrKJNpz8aSkECvbM#g_g~A{ySu-tN)5FmmH?r*YY2zzR?=c=ht5hzwB;eixng7Mz3YVtL#D+)IjrA$pr6`j|XY`BiJ40u^^XMe0 z%O~pRtE^nJExsBje%FMsY|umlCYO$s@!-@d%;=aQ92i`Qc845I@F$SY^UECo3MS(> zK#N-J_^vRh0%VGoZ!OoGEbqZ#jR`+jmB2MvF*X(Q%Gw{I)_tF)y_Ix4sD8aOP^BPC zFSxz9&AQSFD4c(hKT0o=+E_3i=VRzKOyq^jv^36r>K5cS$)MaYHF;Yk$CwBpdaYYc zEe=ZIYX_?lfH>~KwgDQZm=Z68BD+DI0W(_NUoj`C>!x?u)aM-&9CMPJH_8Iv!H`7P zH$`S&jjkbMi->blVa5h8&jSXmX0rcl234Gh;7eAz$e*Xf6`mKwSEZMtOj}4hehu4i z#47H+(G~=Y*c8|v^|Lod#i@-wwk(HK!fo&01{QbxTC?AP(m*4aE;{U6Wgb3luX{R+ ze=>AYvHiKoZAjwFJ^Ocw+DbH^v4_pLgGcb?))BAT{f`&NI<1G$2AMx(rDJR=;Ic`Z z8^eLs=O$o-oLLZI7ZxS4~P*SPOo59S?2s$|M1{NG(d@KQ*pMjLM#eQ|=;C zA$%xK?g8{F<{9{DnxZsF&@QY$=4qw-#(@2e+$&t?J27J^{V~7ny8Unir%WF`48`6S z{gf0G!9EF$KHASjuX#63J?+VWTOW&hNfHFpaP56xLEib*^l|@kf=keLx>RvhydE9! z*eoL6uWEGe)%ZN2ElMZqp{KCl*(xq5wlCRO9aha7eERfRLr&*HP)vK(RW$Fh z=Rcb@?BzW+8{@<;DEN;g*O>iZF0fJh1P!+;inYgK3&y;~YMk(XMv(=4Au}P88OSAPEJuv&G9?f*QlK|LwfNU$5vvihvr=TXbh@hGJDHeCa zmW%}1v9*cvxkB3Z=L#D8uVdcWb;Bj7Ch96?NAn)RmcSfWk+_P~e;4j;XKyo5VRE*J zX5MytT-V8^Nzpn6@YY}`h0g30;v_0qZC0eHth_2QV{#wjaSe=4dZSVe*FV%c}%#NjKhdWa0TaSTXsd2Dk6W9?UT` zv_Dib(M%){X&j0miEPi}HkCA>+0nijrM?EV0hd(<#`Ut-P`|4Pd)NohI_BIo=!_j(yr)=Ll0u}Fxuf_ zJ-dS2b~y}(^{}oggBz{iI;*Ovt~#Hc4*Eioc)cL&;4`6F1y|iWZj02NNu2CkWb~dR z6CnN@_&HI{7TXT>*6}9_ zb=%q71uLIOP@X(n5{bFF&Hd~xEGH_XkfFaxUvQHXv{rT4fvY-@`z+shyfYj8;e6MO zwK~Uj_ZyN|UzVPf;^Xk2{uLn{`{Xkn{d||!AB%d}#T;-F8I~O)4obJOJ`A806DnJQ z>j^)av(v0wLp7cD<7GIOi@_e-@`NZzm82bX;5RUUYB%*HPh|C7wo|@W8XluI2MB!c z5YPfz0KnMbC4L0((2l0O{=hW*L&~x$hD}p^JNp`c8XLe^1Nl(ba!em`zj8VU1bIve z5<|5M&%#85#PAFi{n9PpD1MLA~LWf&gqkfPvGO9oh4mxvpuO zXM+RV*csfCAlBifqEELB-u$n9qvz1@YZm zp1d#!OL|vw7tlP@kLvxC&kFBW=x77jHM3a-2;$v#B&^MRb~mR|m@Ne=em7b!SpAer zPBb8j|KaC6=aajgrG!yP)=L3a_pls5NdRjnIau%QOoLbv1~1#cL?=3ssr73Fytb)F zNO?LEn*}@?}HGID>|!+9LT&U>U=2?I%k;FMFZkWQxS}IVP?y z?FBa0#YL8OFPQ%nfbv!{Ku>p*uK*_Bm>78<_V^2EiGQL}oKT)7u7OHzP3l+x17XY0 z&mko41`JvNmd-b3U#}o_L9C4bC?f1N#wfdUQ?o6eM0%wUk`T-~jBwC|LQ z{3~FUgS&hY^8U9)X>>vFC5>f7$TB~e$j02iw3M^;A_QY&ifoDFeUG^(SHaTz;TmMo zVq3=e5Se&ux=p~f^H8o1cKV~sV0}vgzIwb`&@%L}eB;TjCdF5S^nMP|SKVGlu{GYV zjJz7_P7XrP|I{wVZ;=L=CK;UnDR0bI%mM9x?$4jSU@HSI>x5zrrsbm;#06djVr4uP z1qWu%HY##3MRB?9?0g)cn1Y21m!BLcx8S4qpDKKmF(R0zo}9>Ufs6P&|Kr=NdIeE> zB0%r@I@wcm(E>K0hw@c`yxK&P&MGz5SsnnyRhrLa97aqa1sPc7^gaBnk&am znu(Mj5ox5vMeortA89~9u<)FDgoE~rkKsaC7J)2&-@BrYJ1f;XgF~5p?(U78Kf@IJ zs)=z}_x)Zi>VmzNuJ=w(HNoF;VR%bkcDDE|Z^068UFa(YPA(@lR@MRx`b7bqg;w47 zhLR$R@pRFZqaFLalXXAYyMe)vlCIhmEvxN9EK3g2hBLol&E$a4w(9F+W&1>_4I8%K z?|7<@MaMyM5r9&lG*%q+NX4lb-N)N&&sa4@Qb4?{ zSHU>en7+cnF7yX^;#Pd2vVJR&APW4u1F?7C;oVXdx?cO+AjO}R?4~F|ns0FRm7XT! z_Ti-Ke4&czih$?WsqJj4k-3ZrdK1V6IEG>pqUhCvqvwywXYMuuN`al~TH+yA%ka-h z=lJ+^V$kegp0o*q(ba+L#14mcBNWy%HY973LvEbNg#0k|>MwYDloD@ok3vR_IaqZ{ zKFa~hIAB3Iq48_3Hg%dT`*$%CR&|;RCbGU4rgt9$soEcJY54${Mxi!qn-98bC&NS! zJ)=1Vyi}8Ib;_@l0^c9V&V<5434kn#_CdmPg`X@WY2>-zO3F~$#19Q1KHG9yxdpgI znk%SIIyfPEJ@_wZ%&iWo1^*%}rk6d)YL~HJ?(>B%_>nRLbb-uD+~3<_^f(V34gm{m z?4e2tD|VzvW~@E#m%t>~7$BB(sCwKJisgeBanVuMinFU<0~~Pp@|WjXkVG1bMf@xp zpUpB$R1#pDH?T?#!;Q%X{FnobKZyt)t2h&5}KiEz_`c|)5N?KuENML3@U!j#nUqvBl} znoqWHAnixM1{Bosyc?>1K$U5fGs{thgrGsR;kOM`biGMr@j(@2sha*~T;#a%_^olR z;*o%l|6t!e*QXAzilVk9$MrD3m@#DxfL`$fW)GXkmu|g;LgD+Dof_SHkIMQq|D9{^ zk`8|rmoU(SxNZH>H+Z={=^?pv_UZ8e6}rYwfBtS^BY^ybF;ittQy)>zot*zLDq z==-w-To0gC@#Wg zBw6$M(CSU^Z>9g7-owZQP1^qN510<%4D_8|qkl3W{75juN{Mtqqub z#it@)C+7w1xF}E)KOhYo4d#qky=VMaioz3TMv)P?uwqg^5b9mZi{}BLxK+K zqGO*viRT0E7F$*aq!~28k&O4+_{}K$nx?#%N80+MsD^r1JvF+K9qJHSfN`kvw8O@t z5}8u~E5^-r|f&lZnK`IH*j{gZnR90`ZSNMHPGD~UyA+<(<8)@SKgKs$*6b1sh6JK^Vn^B zj>7p6{MtkvU zN@-CV*w4JceyiWHQWs5}6A2rNvpF9@LL0>0(R?L+@5YYsmG)!#XmsKp47%emSB86) zBxQC`c=7*S{W7(;!f=KiKJ6Dp>2Am$L1z|3`7mo!PRH{u6sJ8I%?j_5)1{B|tK@H3t6`k)+um z-_eE5F)N0j2n_$m_c`9J`t0Zpf_zjvTH0Xji_7F+W4Q<#-9CYKzXi>;d9v}cfq2pL z+b2a>S*fgE_T+ZCB^0|?wM)Evui!1`eeSYM761X7qt90D&eu@Iy3u&16>0d7f4dLu zCiMyEhY(mW7FxiqnmUt2_;O4jY{gO5rKILggP%Xu{tb@+(R<{uFuoHS9MPB7`lE(m z5B>rWv*?Z4&o?{ylK?x}oWCiu1q2Y?sVZ|$2DYz`U9tVXvnqQM-1e=py=yz#l137? zvu>ku!z%%LT%h#(UnEMwh9^<6WdAEO*ezlSDY=j1@t22O?yi_DQ47&M%&m9nd39ej zN&c9T1VHEJ7Sw#!`GRmiPk!eo5yHamN5lK}_v_=<3WVeFZo`i+3bxKj;$Lck6_WwD z=@V~rbs|#iu&IU^nMN6#zW4Gp6k&g9F+7;2fVxw_2vqnr$xnoA@1D=u)1Q~yTb@1H zLw>7O^v)^BZ$lnl-H3y7?Or{*-{dRR`j)fP?~K_qYaafq^@qW3qz7-x-I2m$M1jGL zuqCU2!V6y!cd<>Tl}(SJj$8e@$2lQM5JhOArFC(s?Ys{`&Ap+D&g^BnuX)JSl8I=4 zlnVF1lh^D1YU$+UoM(PSs8d46kz-Jm7d3xIz!~rOov99DJoO~%VCM5v3QI>(Pr#N+ zCVQB%$pcUX@#Um8?^a2Sk@R#OF7sz1%7A0>pW-W;MpNdPB+1vt1}tB2kBHY68H{X2 ze4~#hf5)#@Q3PTr723kgWk{h{u{XO9x5&W;QU#1?=uWbN=N&hr`cdDwr1j~S3sE3+I38)^xMh@^qKE^iwWFoJb zZ($;z!smA#NZfSlq`Wb34k)>G?~I-Lq5v^74u0A2JqDN*c{PfAZh9|8Pv_SyqF&6q zwxgwpKdZ%>J!i|LG;zyR#`EphdH1-)rmL+2vUs{t&#tXlkJ&q^-$V1Tu&n=hB3Ol? zNAydC3`~Iy(UlG<;4@Vh>b?xuiLmSBEWypwn`0KnFS{6RvRs&otrnX-f!;NQrI1|` zH$Ke|5TxvE50?M72H|084!7D*Bah~uKGdH&o_!hy2qj zQiZ)`NVEZ`u=v*J-?I5%UjmSP^;gI75w!aR!Xdm<0Gus4Hltk4@)w)y2&W>Y*6aE*?M?)!ip8g*9PssRksOi$j6bJRvUY1=k*oW0iegK`6 z!T=vbYfk$Fl{Wd^BJ&WF zT^*3q*z&_*Jubt3_wg53W_@Ig=znVU%Z3Imb>coVx>a#YbG<@4eA&4E8Wx0#hO;vfYtVLV|A}=B#Rw5GJazybArxFEv_uEp$a7dR(9(aXA$WcUP?y z!Y=*ElNPn${|16u{isdZa!u|&0wPG$LMC7tMiTb|s1lg#F?GH=>a#NVz?;PVEQLO5 zJ8=7P`p(J8hUj0!`pkvGC*RNVOet(K0gAL-&J$BC5Z!J~H2iBlaVona+63|whDN?X zf|zg&C75t9X3qyE=)yu2BO(-`07F5`O3!M3zXz9jV`J2-h}UOq$AhP`^9*ON-j)QH zfVAUho)HmPSau2^FZ?K7w7J7=9({%&0QpHb$>@KUrIQI68< zp@*2@T5+P0=EIb;B+B1T_&A)2DC|CJV=MbO-h+L7V`5`rl@I-@plsV~&&nwu}Mm z#z|fq(y!HT0Q*SHkpI6~OEo^hR(=btY+Hb7x!*Ucr8;?=#Wp-jW;xN}7siIe1^2%`e18}W2ua{c{mB{yR1)j}Eogpty>|8iQJ5L)z$EGD+H+lD`cVdz_2CwH zF(6T?ydjU*^tjw6eQtDKl@$yuKFK;seGTpZb0TVsFG9&q+)NSSHMU8@5&lw#4o98f zKU?S0PN|ezATWW%uQ$`id-D3dq4c9T6{)t+VXZ(uF&aSk^47ULdhILvL0-cMzN=<- z7jvJuUag%2$Bim28L-?Bpyz$J&KBnSclE z3O~EgD}-`USAH2_0TD4{XK*G_y@RLfa!I@501j;XF!EPa__FI{HQDace^R zEQAcr(IRje4-mvgNdFZn^m-|C&IApX&xQ(?q$5|;wp9&CS09wg6zm?i7fTOE4Nb=+ zO-_`Z#l0OD|K6+l+`o*Pt2!3m86`%|??4h{0-{AK-ALkpG+kv-RbAVryFnTb9g5^Z z8l+nk1nDjb=`QJdDCsT*l@93!={O+W-QCT%cxS$u^UrbId%5nq;@-H$0#mP!q4=3s zL$5SI%932p&eFLD&*(~~1V~RLX<+OjioS=POcw`m+Zg_`)fl|AUIuuAk?cD#87B2I zzWfS7xm|Y4IxlQ~ZNl=OZz#-;oT}>C@(tQov>*yZoz+imR;~{9%yB)$sC7SZEC0e% zGkkH@Rh3kEqpMO{z`B z$IYuhd9rbpAMa9KPaEQ!k;C;tVT0WKF!^L@^)n4 z@#&1p$mg`a>T0O05xMh&S43MFz$Sp-O?Kj<^dGBL5$Ik|P?Mhl z_vDMfiS4SW!h{3(M~7#ahLM&1=~wgK4QRsI=>lCL#nx7hPjyT*=Pbdmo~Eu6LiMn# z+Q#ij#buF^Iz+xQKP7LT$d}_eZ>OL}H-5hEs|^HkX1@;d!*TbLg^P(*^^X&IGBCbb zkR%Cdpk%THMmKnh(jsmS9EI6pzF7oTc=^oQ+86%PwTTifxYu}V>3_)7$o`^TKe>W4P`J%I!m~$LYeG= zDBUT8Ie#?C^hI3~RtIh+X1`SbgV0a@Uc8^0bi7$iGY}U?%g@G^W*9fi(QsZVCS-c$ zYo|4F@$d5N?(iR%gl0q3x`(7UbeOE+~Rd>}aR|&>r6xhtv>?+wtxL1OsT} z7Gd-HbJLrGnR%D1fPQyUmYf4Rd;YZTC9j{UFMjZ}0opJ^I~)Y3Q5$sDg7l65k1Baq zU|F!Kcb}{6R^@k0;-_id?=I{?5M&x<{#+gHB$cT{+$GxkviDUzF}X)tZ^A)XKMm4t z4xc<;W(s$u;2HVffkV7yec>v6ft7Pfs%M?5pq+KjgC7~mP=WMWzyzmJCIz>OF@4!< z6ArA-s)qZ}x*Gg?`!)eLe1sU)W`x`tQlhl+@?Ez+*!|$->3@Vd z5CFX6V7BKXiT|Z5MjBhK=K9K}?k7VV;Yie!X>{ozmUbNOA(qWWdj;#B=X%gT6}M-Z z(Ff7*{xx1O!6Jt-!K>M(macYG1JaOD`EnSq$Xk-1pv^2m!#sAmMY#=zx%={`v1r9F zEnalEjG^$c8ks0scpIZcv(KC70?;}F9HK%L+L440tc!@&-su=+lcA8o~Vx(#33 zohXK=$rrPtwVGsI<`GG{@&g-k2y$!!nPt_OW&di^V>Zzz-g$BLMfodoXk68> zpC6ql+@&yTWJXFz9N{~$&1bR!)jb=XoMgx|^7Eoq3Us9PjS46ex61Uc*v`5qAsS%q zL3iHpUoZR{%D&-unK@^PfDK3=6tib&C@P$)px$!Et{wm;3G9oZ13)(uk`f3mjUe{a zJ3K|>vt8_l!0bN&M?EQLR0|ASt6h6?qVnm^j_y-S2{!5RRi5L+ws0$tgFGNr)P33;W&i~^;IntzWgr@Ne7-iVEW74WFn#z*a%92Hx z{mb#Q1;B7#Q<{}ON`kKR3pJX;m)q0QZ1-XnNss}gWiWM|U#xcR{p~YxNWQ$S%y1D; z?@j1M=r~g-WwNl!^d+;$d?py4Ey=+UuaWw~EOTcNKgeM(Cu` z-gU!yHoTnizp-l%pku~E3&K1Z=E`-&&TxUXfo&gOHy|!;S0(Pvw?)Mm!7&trNA)(nT7rx435}fJ0!E^ ziWayf(Of<3Z8vB3i(-2T7fs>ki|vJE6t?@@)(9_oxnpwWJi(z0PD>&l zq;L{K_eu)1ioVPX^4Mf`na`w#JXH*&bW@caQ$=Rk-Y+1fSW|eFqKV4oD7qT&A_IomdYnA7MD8 zgj7qK5A-SR#BaUkY2!B}7gyN6o$iqAan=wa=K?OXjA16i>K90_3#54p{LPgR4Zc_| zE8YoSa$(O`uL3xeQa@GHiE%VsS=qpQ^MhCX%@%t>jq~}(Dc(l&LQ6CChbj_8u4L6? zXZ$QC^W#M9z|45VmL>kx^C(=9!Srs=r_VQg7NSgRC@I2OPu(WR`tg3svCWKbU(c^% zkZ|A&c2jKZ7|lMc(y8FT{|9q@uH9`+tha!Eb}FGA;28~BSBbh0xLLGJ+&{pywNfVb8jdGH z-1#MF7_icD$ssd7@3)TJn2Z!zS4k>^Z&YK%ZdSc6hFg zeoAq2Vy@#YOiX$*CcJ1j<1J!u&16~lNvs-f(64s#eZ3=)1`!Et%~u9H4L4vB2<(>s zOuJ3;oQli}g#cLBZfE=EW>VyTHddeB4n*dBpd0Ln{Vao(qntlDKOC1b z9Ax>0k0DNi(IhAU7X!mL*v!&~D2tAzlymG{AxD<>O&v%wGrsptSt{ngGnfYa;|6ZT zgg(-j%L&JV_tH6$BKG^R{6bHlud=SX+{CNKtfPUUG8a3sID+zJgJ_qGkc$G+s!Y-6 z*$8Brw(IMbi?*<+i`@YztYsCrN%dE9V{_mMI4_R-I^19t^Zw(H4(cjv(EpkAc;JA3!e%huW3$VHJAG2= zq9Z`CFHPJF)4z#?laF33&~$jjfBzxP-Mq*(a!B{^0#(CYt9O0KY6siTwg}FOUDA@ ze#TnAR0K~_`TuHs0e9Cj}`Q0kMxU-?8qMC;r#frKhta$S=yzIj@9G z0~Nw7!hk?)7%bE2eKk{qgfWNR?oy&SW(hnhfFaeFAHa!>V5%@BDh=qrpy&Q^niB?; zNT3zEtd{DzH8l6t>KY}*kUdNj8ozrS)}p&`^V-3kweFcTmz^~4Zu3@BjbP3iAS!)D zYeOlm6IcXKzjL8M@7jp^KgEL1M&^z`%7ACseXK|2QWDw8824q&g~c36GdKg1hABn3 zjFxZZJ)wQXMVT$3El!_;>(3U69)pAai#{ZoaAE&M>azs-pqs&U6mjF-%mCi zzWVfrLY_NSi|0ys#FM(9O^ji6`U1#u6ZY%u)SK!vQe5dpR0v2VOcmx^u>FXM{M~2; z;LHV{Nub@-kc8mhy5|z59bpPY)9brVg`F zJFs5!WoBo6YQ8w}eX#DRDSjaQGat|CcYnY-jUS|+Sok~Xdb9-c%;sw8)f&n1@)bxY z;Pn)o5A?mxodev%Nognc}nXDR^*^Y&|+fv{JKZ0CD-L|4XhG|E0=zI%5H<_%*tz) zj=ONcXqGhi6DupAEf#k37$-ZjIM}PAG!UgI=kljxW1L2>lG?t{QS5u9l(Dv}f~&Z( z_LsqvGvCHefp1i#K(-a6*kkxh;k-#D$zq#<5C_0`w{$#vKG+G2umV8BYN-pT3qNwrd(DQ2?p-;ukFy~9>yqkJo>bP zr_?HOvm@rn2!`VJa~xl2riJweQE(fxNW?8=_2yfYF`3N|_8NTCx)r&a&k+s#S{MPA z_zl67vbCa|89od}MZFCnJo(gQuS=)48nsoBOiYoxqhCdy!99s6rylB1w20)52M6a3 zVIbOuidzU6#}DPzriPT{XTMIY9(gbypovruByFhF@qr_ z@JMB)H(Uulnu)36I|HCCV$rx?Hz`R5aJ-)V+ zuwvzCto`m@!k^@mP-9Yt%dKih%W-~tT*X~SOax+pw67N{r2rW_vDK3`7Fgia{ZHDJ zFyTXeL{99_vrk|2Rr+L<>;;V4mDd98)ye4mRJvAJEs3=h58q2z+8D|dPCLO#uM_O3 zLgNfn)xHE2cq!3Tbd^jepPi?uYY+S+`z*eFH~_M4dFgcr(t#M)3>%8qSr~j|&0Mke ztb%Vd3R3ddCL=0nA0CP!s|3inKpI07uCn%0l?PK$)K%zCq4+meLkp5BM|I7KmXDK; z;#|>InNU{iq4(_L?}k!FMtXx)$iCz%0Vx4gYgux6b!QbO*|TWXz)TbA=!(QfiUbE2 zDaxW>D0+P{uefphZN^?|M1M!Rjp#bFIpgbjnStuTnYQEROdS#d#Un4BnuMWTtSqJS ze@^Sc{g%Su%SHAh{+$(Ds|O1xPI|n@h2%7|KAZ;Rq)jW{Fb`FFZZo8`Ykj8)B-5QY zIJ83YWm-S{yHN{V;A!z$=wf=m^0*f*iKc%Y6p@M5Uw!9!@X9B|9~S`*jwGp=(Ahb@ zHjSwSrNrf)XH3%GDmRp-(r;Uc?^fa93?F(>lhFnUND=&?!L2;}v%J>hpDjMcb93k_7dUQQ z>b@rn-csDU;|YcrzG07BYH9PqkLwxMYf8%ih9MsMBTt1(zJYPJ){LDE@ag&gytCNC z29xT2oF2%r{9E~=OQxOdNz=A#1!i$+_pbiLK317&E;nK-;v30%|II3Af1s&ch09Qw zM{qouw52Am+%9-7(qo8lIvK&=a&ZWuN;7k4+AD7YtOhh8x-2sFD|!A)DG!6c_2U&# zch0irdq#t-v)Lk==oCr6{=ncQ5|`_$xZSJ)2QpcZ@UzM`NQ7v5=6v77w)5Xu=!^Q` zA6sj7ha&Dor5MqPDTC{B&y;@KN$FPuF8(XR9mUx`(cWw&wUrY?w*zho1bHY%$k2k4n16#^m##=opJQ zxn7eTLgJ3|8=ztnZFH=c(+C>kzf`H#F9!~j-qd6cOIiNuqH0FA6QXSY(=9js zo++i&Yv^}wYMja~tsSMs>yi2}bUJC}S|d_~o5MYMEjvLmQENZFsqqGLAI9CZIckeWks7OTWa_ilH(7~6+P6#au#1dg* zROLfS0r}3}I0pCK8@JZg{=j1>mr4E&jpTAnF29={aN`?^&{#wA0V%ze#uEU3;x)kw$RdPS-Ohx*Q2M##%0<_0gQZ zRGHJyY_j*ENIO(sHD>W<)A~wx{B-%<_RJ^(;fhMYkM(MFA>?Z04{V(XS{TyZh%G6C zQr?9K%48sW=Q5HhyX{Y!DpS*>L3XXf+HYnOYph_8t{uYFbv@XO*i<%!OBWM%TaU4P z6pFxCgiBW_T)^3e*@G^Kw_x$XI_HEsKfmU`{5t{DmT!qG!5i;AT1;z-d%k~^G-*R! zkgnC@H5?@`F^2`N|{g{qM$Cl%W(g=>@S%Q_i*T-GJMOfeVeg?qp?|6kyk?w(LttmvT7S)Zd!- zkp{pmiQMI@WDnHosGeQUC~k!2&fpV5MKH*23&yk019Or=_PmCN96X@%94*PjBkkpe zkEj@3wZnlo?Fude&FCkM!3~}hR zqjGIb)g_iX!)#tUMvIs82bX448!G(Q*ByMG{d1V1bWGEBqvuMjjYBUjd{UGJ1n4ao zFYev3NBOj#;W@3cJx(nKPJz zieh7gw@;sWSS{AzOplD`$BN@Bf6nQHPp=u^oHoNnyVM#_cj1GBgKJgEmVWrKWan=l z|K)}In!xZ24~k%9$a)698}fpnjDV9_VVyk?r*ue!5jB$|~7c9~Hd|&@p;*$Xj$W(vZ>)#us zqp-3=C#-ibxoprjCgt7`)|RlmO-HF5lpncI&eFjn^)c(n|7U!1DHBP;yq)jm=}l2| z&6XWVLAIWk9e=j&$kTHoaa(?W_HIDD6sHb6ni7TO1~Y+JYbIX)3L5mSx9mqQv5(6q zYTz2MIV^W8km(hQvK-GLiEe+Cz)Bqi>W&R=AMIhv zWwl3eoce&pv0J_STyoPBIh0{>RKIJ}s&NRblOvt`a2DvQxK6ny&P)=^w5M0!(y7U8 z^t%OjOHm1s5PKN=owwT4+m?U45<;9wVwxL624@~_5q{_idL(!3$KdYVjf39`I= zlLE7Q5Xxw}!4YA=i<_>j@RIMj~3lpAMo{h*V5e}22CDM_byv!Q<=6LOQN=Z3*aqsfB4Ab z*=MFK8+#w$r0+HmKP{ksV4#+5I;%fLq=X=WOAhDzO*FD$fD?*BW-X)*T24B(4!mnS zHi*P z84@pnMT#EU3R7UB;#g`b`|YI-%AC?<;rYYY*>2DT2p)?3&U1XhLT9Jam8)_qesOPE z<`8*^4sMp)^>;}1+p7AQ!-q9#i?DmX_l4+4-rxlI z)F)cF)WQ$~=7aL$5HpSnYD%AKMX{e55acZbIJjdq8n=mCwq5*Q_uW~5#j@D+q3D1` zda^MEXz%ozTzRmsmtXeNWFEa5Fze*(&loR96zxxg$4OB|K`a-x(K;+-Zyb6ON zx$K}WwAk74?(c<+(@&!F9E-yls+BW{kK0uJr^y`3*1))7-1b+jk}AO|e<6gn#uPPe zFdiicT2qbt8=9HzDJXXC?7i)J+(My+6}BEc3pQ%sD?9B)7Fgh<=@?AD`NLizCp4n_ z%hvm{Y~}AnG$)$cyv8XFPj0!&qbX6>-3A}9qF<$I zLB=yz@D+qQ1&RBwoB=EG{2`kPEvDjb@yODtyxkBUcuGa&cIX}w(AuM-KV078dHCM} zPisrP+f!W1G^WMcmy9SyDSjtbE>;n-)@^;)_RI_&x8jg4#~V;& zh%(@d7gmIS?DD>nWg~p9wAlUM9#2D9zgzw%4!XyxE7FDe%nd(l1SxOW_tiePl^x>( z&aWMDc0JsqrjHV8=%iqu{bn!OWi=hr%aP>Qv+c@Y_zxov_zDU zUIfV>@a++qcb&MIqTZ{iw3({nrgj%P}L<2 zHCl`;3ETQLw-tfHzZ8i($tQFwO?K%$>H}U5u1#fiUq#UH-^(r8m>z?hp7fUPOs19_ z?T=Yyh@~8fYl`M_@=)|Rx^BW?{*F(0!BP<^9Z5po#{qXf$LXNX6F$tMXoa%9%*9=E z^h~qz9mE(qiWCi@J4SPsKV0)7jIAGlQ7+#j!oz|-g3Hkgf)ErkzeUfn&fru2&O`N zFKQ6QXzhhpmi$i`%A3(_pju#rfqjGzdHGfii4+5DfBmLOKtLFRM*rjN1^Z{k=>9FR z5?9Sq7O#x}1&sD&C1LIeKUam`O_CuU3sNeM|%20Pf)3v#zGUXs6Q?G zeDpZ_V7AlQf0|ZMd(;T#N9SW4U+;@UM9LiRg`0{kCoOfvsIp_)<4YOp8z@&!2IBLD zOv2>WJ5Nb4iQV}NLxs>y#W6MX|21vVpnlmSYR6;7(2yV(+>EP;XXt={6%s1r^w%pe z*ed`r=5G*lCT63rx!)?C(bPy#q3*QX4u3JTuo%>(`PvYGHtWR_01`18U}Y2Vr|XWF za{m_gmYDFDF@c_fv0NV;Sui6IBYuqLP;GEB*`dt~B8oop6Ja59Q#7Y#$*)F|+%%C3 zs5^%eLa~$ZN-yxSS3wEv?!qUo7U&P{;I{nppEmQ|>$KpcfXmK#;d_sPsi>Pnq-_ES zSXIO3K%;BGcrW*1r*m}<7gO<&Bx#<5-6uuIed{{)`Zz`HgY2*jwE&^Zx=q*0KT8bA z7s*yQfA)6OVE!~bS&}tN31Pke@-aV{iiUJ_wlP_TzC7-5YNEpEJE1-G4x_|n8$j$i z@2U`Su(?Jrj#q5@7MOcHYMMpJrv9}`_H`y6sWG>rf-`?X5F9-d=MSWipte{%G6F1h zme`|NGRkIpeyg6Aumz*g2UjW@r)6nMhtKxi?^@LnH4+ivzHTg&Q&NU>b1*S?+HOl1 zky7g34@iU}ej`;ykXK@e3pJ`0!O;5JS=+ z;m~jQQQea~G8IA(qnS~QVIA7-{FbGIyPG6qqX(MjQbT`IQW}8rLwbu-9FJIcc;8~_ zy*&v-)wi-~Wn=l7RjQ{wJ6#i}SLcc*HpUXX#iQFYRdALW z_9uoWb^)D4>NroMqu{mswgqP|F39yFjr4ziG3}*j!I19fax3=VX%8AJ;sDWia1dSVhM|6=0hZ_gCCT#l&~7bJqQjRz|3qI+ z6H48+2pcr|cxr8(r>XDWoak4jbtG{iJggUb zuNt+4rv1kh@1dD*YxCLqv(M<*ZQjjiue->pAGrNr3O1O2Y%zmhVW%Q~Om_Iv3j!)i zU+1Ov&UQ{&gi9H@hd{Gq<8D0pw_$cL-x~hd?!W;i&g=5ev&nXCpTwUQWJ=vGg z6Z!RH>h>GlU$67ko@=;EjG`vYR0WSWO6LNR_`396wiY(!@fOqDJH{bS=*hdes-g5@ zqFb-k8Gvp`;6X)r5XJFqJO)U6%Y4)bELzEVcoeUVl~hL9j(C%K3knM@EX=_#F6Q5q z*zv8NMbBNS+mTqy-ZkvXV_U&^R?Jc`nrW88#nfIKH3<(SAiuwtV%dttYY^7v(FHU)^UzS%bKFQJ9MZ>*RzglqrBo5XPDUF+d9;h1MnCZlk4v_S{ z>@hRGYEOD~fV@b}cD;e*yR~Y^^nJ5f4C0*%&XROe_xd{y^u;kTDf@tGGC0^3xx7C+ z?C1Nm=c`G-*jHRm!oB$1vW1xDTC-m-`7=id*K(am(Iy@Y;N9^^J<8olUzI|gTLjfe zm%~j^A%btJ@E}Nq-~S*z_vMcc2aHDLse_m=q{LmfIS}pG=Z?`#>tZv47||bP{zYds zg{6$&-`{ha*(3KfiFELb#b|#2$GEjmyd${$R6S$!kG)e+#P-3FZR=sr*`)V0%CG73 zgk9F>9CTAR1R(-|l`su+a|`w!8*hvFvx|>mY4l?*^P185HMHTX5M8@h)x$Sl>is98 zlNk4d-4CgmCH2cNMbWV84Db81S2)+okn8d7Mflz#YHME}gVoE*kd=e@ zT+eU$MNMYETSczUxy~zL?~{)U*4G2qVb+BksF!LpE&6jQmRKkA-VdPbpy=>a1bQ8Nr7k+r~Z>Jn?KvdYY)UxRmoCiGY>p{-5nL~ z_Fv8)+{HrZK(W+J`&sb=8@=eY7=PVj_r1jIE;yXzxW0PEmEO-kP!81RPD9Rae?YZ@F)bXk(znTRIlIXH6F)X%dz#8BYx_vSl3;q+tjUcJ2ZNLSu)$m{7 zaQvS+x5pB==XADkDy?acfrI(3VLZw~L>4g#D7?Wmh2HBZNQ-ZRiz7oRumSyr{W4ID z*L+|8yQHL578Fg9#3Lu=kDX2?twgP#EI?!R;772C@74{;s6&-PhYe1<%6-*P@R98q z!cHI1i7KYv6bP>_2j6Dwubj^Dyp~RqVVF%U`DKqCRDx!3ont9-w;Y*$+Fo{nH}gfS zb0bxOzXa-+w|VL8#5$fP_91@S<8FK{VWBW)S>CwpfQ?RBV(nGSqwAy+Iw)dT;VPyI zD)laX23?p$)`A3Y>c5yn%hM<<{4YS0Au++ua77 zLB`xM2=rDr+P{T_bpKi3h}Kxl`piB)WoF%91>Gne*wE-ln)35LhJ{BGW&J}nc!B_xB=jjv>hUc19WNBe^)(ptO+TQ#eu-#0SFDkPy}atnxv7gt9Yn}? zM;`#}a0ts*Y_%2k`Q!J(CD_}-fxf!<6|os?lb=DBEnY;;UI@J>fgibpuT{EC{zn$X zt7xylk%)y3SB0durq%Iwlo*UBCUiw;Yo&~KJ)9M$EA7*2D3%x*9-s#aur`IE%}`g5 z=gE81NuCa1Gi5|Euz;qTA+OvA_l0h-SC0zsrph?~fO+X}boSe2-GRg!35W`@-nPod zt6}{X2NA}(1JRTWVBGhK9ZXsYmzeQ?!2L9f+WI=g6@DbUm=!wlLW|t7`}ezfMPqq4 zJQg}(c`5V0NmcYXkuKDp8A6AjQ+d?-b&BZ23Pl*t0hYPkpp6IOOQ190GTmg;h!gV2 z)H}Jyjg^{{I$c-9Lbnv!g^3X!@L=idtB8ym$0a0$=_X8>ZHV#EjIN8IH#T-AgQ)y< z@f?KN2b7`T=)hF9B9M6$njeNoc8|>a_7Pnfj^hPGtdxHR*N&vhml4q+iXweQLg(A% z%=*G)om1h*?;nsbKEFK%l$3R!*5OrqvGwB$$(DGUL~@zM*BY{u$!ye8<+|+!#2&sS7l6M?&3GkrT5}%ClW~l%#tTYoB4Kd zmpU08Pbs8TB}QHVOSu}?m0KEKR4R)v{Ooc8wUKPdHglPVJ61g?i~!6MYm%#Z@=b_6 z@5pJ>onExgwQ_)qNu0qw{Y(V(efo_n(JI1%5JP(()tl26)2*HZ(~b7-=?m?1+sxij z8DF=2<>aDn%@$~Iy=;Jmp>jy!O!FuMLUFKUGjIuqgx$HBBQ2njEUT;!OPD};*B{gnYnToAZHOoE5^TWAWWbd-xIDZWd zXBTw{w*Si-U7sH(>E$#P@mij&jvNY=$s#@-<;UL@&T+VLvPJ_|LbI|oJ~84umt|OR zaCMklGqSv5ryf@BTaT8w&`4H{YizRfLQXUOfHpBEx*tbItm6%rIM;fh+w^e@v2}pl z*D%aZITFv2A4wi0r#br2cZPrDB4++7q=u%^Y)0GEk?{J8$$n38PKH(zvMpDa_FS*# z(VFD!`}f0e-=!*R45X-w8IIr|q&vRzF}&2t-5KVG!l#12vEwbqroJ3*Q53?9^I|@L zyABUGGdmPQkCWZ~9(j@f%XJ@5JnUo42lOveaDYTwKZcZlc8*=ykD{3Spp?}6^r`g8 zBRVe*Of_u_U)5Z`#xAlpu5r99nmPb zqvroA;~?kEI@X)jV&yNfzKNLia`lz#l@2eBwX-@ri21s>zsP}V=J7+tpovZ;`Qn$_ z?o<8(Q6L;N(e$yjw}Usfi_Tce_V-E|YLPVsxDCFpe`NNg4NX`iUVi%UaJ$2AdiVyX z{vi?&P=|RVdDQ+`ZWO

}|+ZPF}@<%@N=N@;AjY;_!cpcd!7dqF7K-?Xa|bx%;?X z1m6^AH4v4$j#qU1me&mXxvM%9x1C9g$p4Fu^#QIw{ov)7A|%j#b~wD#Z#MVeY=|;^ z-Dw36L?QN=o+M;JPExi^6W=I5;1S<@=}IILf??+dMr?Y`-`N46dZ2CBm8adrv^VyXZa2sF6}q()%&-#kRHG zh^X>m1BvSa7WokUKQrhf#{#>iYgjCj8wPRWAHFDYnVg^^q~~N5rPYhiJ4=FQ6NLV0X#D_X zQ}2pDwAt|$K_F|y>IYaQ$$lzaTT;76d3tUtJ;|D|A1nX%KKWOfv->=T z;)!$r`xkGRkNDbat=>O3j@&YD={LMZ-o*b(VG`RfdaFt;nPNg8;>4M5e7Mdw(sFF#n7NYWIvPj#%E@&2lEJ?HX0++z&Z3rd# z$KM)cE(T9IjmQr5Yxf%zmfTMe4sBiS2>i;6S+7j~#N+gC>`P5J!}w7XRjZtn0u>H) zXRdJChd(JeQDtAvI0c3MDle1jX=T-Rx_7yrRs%6FOiLT)P}d0lsXAfQkI~R6Dh zlw~zw{wak(?(?vI70}r=HB8T@wGP&E?jS|_B&CYuCriYem+sEtG* zf(xg~L+mv)mz`pJDVS%zu^J#AOMgq1#BW#&3eET3TC0Sr{7zUM@tAdv{KS2o;}z{YlZ&4-R7<|)ETUwiz{wf*47`qFU!tJ2@L zo=>?&`Dc={Tg;ypTkbf2etc>}b;&moHD!-uU6FIE@%6O`vI*1OqiH5iBMs?JbjlB` zYVa*87|8>X+innqUq=g9{%iXUma@20duX)BTD_Q8@KK%T7JI*8ZZ6Jew-#U1Zp*uDer_Idw>4cGv5uulVlNEW6f{UBHUqM5bY20&OLwox!QsSn^jciun z0BuQkx!c^36VLKZVjZx!v4^4oJ(_)v$dL#+98b&+Yi*#10_N53tRO#380sHG=h%Eq z2|?&V95`*OcohHl)DBybg+6dVcGFG_AhWKN15R4yBKB+?!abNHmu*!on9&=`%bo=M zS^Sq%?#t7QQl%vRYvC4PK-Fh=U)7p}4YoFY_Pc%G+7@|VNFu<(?|J0ksk`&;nJXW_ z5OTc#Vlr{iaQZFnbhx4=dbCC57XF%|!V27WZA(W=?wGeSyiig8l0DucAg3s&M&Lt& zd&AaiD#VFR;<(-)z-cO~ckMKF`7w(ls;q7G+V{f>@@<2+k8Mq>e;FI+ zx}$N!+}&so<9A?dJuwvrN-?>(Abk-Z63?1NZy4{|)QQw57gSHr2N(1aKN8}ee1}i^ z=%CsZz@F?>w8u&ic%c7mNf8F-J`q1NSLDlMMtH;cndQ52$bmk?MzQ$jE~KW3tr7R`$-IbmuyM{9yf1pDy2sBc(Qd>L+ZusEHHOB}?d`FE#z` z@tnb~liNp5IE3aaE553QP~3s!DzM99e0rA?`2i`5FM2K5=xIazW*|_)sLv;`qXVZ$UrBz*T6 z=&kYg!(By-@7^(~DYpdhPzvzpA8=#2?yT5hhk*;fvdxY4P9mu|)Xn~5-TCB5w}Yj( zA660vIu0vzT*%B`gpKq*1b4Vb*Ej9xgd~#{ho))+d}NXEUu7IkX5(t$3E!AnC1y$o z9D<}$o;=PA-DZ)6j34Z7cbm8VFX%*5@=I9KtOlvsuVTWxay-JYN^=P4XeFR=Ta8{% zI?Bl?c{YR8f130m^KrV8Xl8}9FUoOwfXa2PqbO#`( zjz9da&OJ3&*gZU!B&}Q?@e9-B&WH-9I}x!jesagFHA;oHNK`oa$*ot=GjkMJkPs(} zdj30ESu4z{*Se~WPf5+nOwUYD&wQZfIbNIJ-{0SY-6WSPCOX8~A8p z`QXz7-=SX({^K!&Z6~+z2^(M%(%Yotu0`Fmm_sgl3>Xmf_FIn(2kRr{rGqy($mdW6 z#dIc!Ehpi$)M1)2_>a^^Tu44a@L!|gzBzDVi;r4x*vN9Fc6`llG$y%Tlc)Rg7B&>) zh8cCS_geNGGntJ2RqB_P%T;2OP7|~T2k6RCs>D2|&`Xwawaw|mF`&qG~RW^#t31%gO;Qc&CBYsm;&{!vnqYtyb zLVHe6>JA5-mK9pnNhgb}vF~e%worDsv3%1g-w*Hp2dla1Z zRWp+sB7SCrgTpvjET|~zFaK_Y*;*c2DAqi=@RYH(goE8n<1<`q0)AMrcvGWiDn_;+4NMCaFOWEy*TA6Wh^5c5U zRD#6F<&tn@`|-}JG=7B*pkMc=w(MSUBDpL4lOyubkMLYeMZlo>m|Z$y(#B9@>S37d zTMjzMP^Buoae>SFx&pR0kH4Q<0;NLEAspmMY;B`bq6~*mHuO0xO+dCV70*qb2tNBe z^=l&9+m`R&Kc4b%WtEZX9ya04&8;n3Gzsb{8yXG^TsU^OL2$13bL9XaTY`v{t4)Oj ziV1ahcPH+ykdz6L>&!aZE!2C9nE8#P6X-np)et`JNnX%8jGDry_1>-75%|-dEHpoD z|5fyeIr2%lwh1w3%Khd4*|ydJZ9NWP8%Y33;^jN_ypCt!B$dSH42GBUh~4O=NoCFF zG$YxoT1kt)oFv%OK%si%)=;vE`HXln`%7O{)+Ekrd7?Q0%>w=n$~-|IsA}9 zMY)f^?5`HbZY*Xx&GtNaeAUpMWQz_5p%5iO+*i5H2fYz2xmBvz;jGqsN2I}C_@MEQ zoq;|NA{vNO2;BCK9!2t>M_oE6Olmw=Gm0?T#xd24az9`~g)qnztp@VmWykNMb^nu^ zYuW+I8%came1WGWh-H?|)XgitH0@cG&~dP(GyFF|VreczSrT=|?L=_53R1GOW%sXN zWl#%RUk#BpetI|e$8*!mZ}N>u3H4-?*HgvzaHkqcX=RtcpL?9hF&kEJ3@v7j2TwUs zuCr{f|8zW1GhC#pU-E_!8eEi2kI5pzmHTeLVfh1-TI)%s+<7OgJcxJwP=qU}5#iwN zfYiQIIj*`*Ht+09Wf38`!KkR`OJXH-!9Ot&_%|qiT{@XSjZoETQXd5$u{kY)EIGD2 zZl8whJ5mJy`R>l#zoByddM};VBnNo}n^9A33Mr0@bMeaG6*Ybvi9{6|Mj}34hkjJm zd4rMq*4v&j#^<>-Dy-RXTb2(jf1iLFjAQbBLz0b9L^z$j12mT;?v5{lxQ>IHr)=BlsclLtd3bv1zRAnjFWr~Fc6WZBWZ1H5 z20+=Zk3M?|7iua7izPyL`O!~1$|oIF6(4hP{rCLM@wHTIOnc%Y9b7U;lws#+-@*8o zypOv)hyz!b%-#uOG5zT=)lYzmN2)5gA2{$$97_W)-fLsn29qr??SefJO>6hmSjWU$ z2Obd0W&;k+qy8!J=)Y#HDe0v2(Ms9Ue5^+vJM9HHk}}@ncTQ;aSWiBgJDXJ;{sjGR zUPJGg{Vzt9YQ7YypWy;LkipBTd=W=Z=~-+?9JShCz%%4JFSNK|dV}{E~1X&FEHT=wUw_O-y~s$TE;@jSjo z=TSFv+tePOGBvUn=9Ub(UbcHl8&&w#nt1f@SY|GS8D;z|e>vgg?)?8qy2kLlx~>`9 zw%w?))2OlC*lBF5v27cToyN9p+cv)Qyx;Hq$aU>|pS@095LtMV=%g+l&d0)bK>HJ?0}`o-mVV1~`GNDE4!a36{+9gY-U_ zBJ#H1nKf4zQVEgI$HH;c;O;DRxQ+o0%T~zv6IBiH{sdEyuuw=g-wMhjT5jtYqG`54 zQ~+Hsxz4K)x$&5{6S4@_`}6DuX@D0bR39Rb_kMDjfNj2M!EkN@y|eqt`kbRGE<_zn z^k^*ws3#I&W{K#EyG(3kkNwZvGoP97y(13%m#iaTIsb zrstg+8CY9}T(y?P5;}P8LJ+~2ZZQl5E949PYfCczx0+u$yr{As^y?{;H@N58+)EJ1 zH@4-ABTk8J{VUZ%6A<YBm411mqWX_Q0>=-C#IqOEI;XDHVeU)-=gTuQg$ zDgv!uu2S%e9K2U{yT3l5n>xCTAXxk}LcaNTTy{A0v;0RyJj*7t;W{PtFmP#d3%WIf z>auf#rY%gnNk5e*ELB;He`gjI09HZ;8|at$`)xq8Iz~_-LaA4R;I-rpEg2raBBoC$ zH`{E%uj5Bk-F%+OlCn^4YD6Q)Q6_C}& zRIlv}=XP9qH5K#e=^aHP*l-1nEUIAOoGE);0s|+}y43NcIE~q7{NJ3jcbQTxyK2Yp z0V(KnXiD{aw#IBT;k4?Hdik%0tE~sDB5m@;{Jb+?_hnLltEMfW zSKRjHAEsoN56*+NJF*iy4w`EEk9yo1$fiAw6^fY1ua|SmNRp6x#L6s-jadiOXc@tP zw+Jb{;=-KQ`-3OE`)<&lR(ngZT>>N8_Bl`aK=naR_J>+NDCoLZpDMCW`SiN45~|NJ zMmFguyjX#QHxM=CU?TL}HJnFW5by*|EgG0H+%UMIfP&cMjWKh9rb*+|h04&TF*p_< zF(4wrVYtOhpfqrLAKT{v1VDY27UE}ly>ZzXKqu9@+8AEw%!gUwifm)2#KtFT+R>6O z;0|lq6Guu*0QDm+HTkUh4J4RMU)t5pv)-tVX^VxEOJ;Oq?dXZKdd?z({-I5dSghb* zm!>7gO-~nJ8RP*n+cej84<;yp->={3>G8E=g~r@sG#lC9q*@x1h?ORy09Lt#-&Rhy zExG`P-zyb>hdJ5Cd?H>arxUJO#F@JK00wMKsezzs`3HS_FgZCXCoj+IyS(~&y8rK+ z07W)(81R&Tt^bU_f}8Mmu*Jb64jGrg_N>VV;1hl;q6m+9UC|Nymg|ymSD5WE$saNx zc|ys92t$^A-<N zstOE6{=AU@AqdV5s3MrB7Jp?}D-1InCI|`mc9E^+p#>HH0B4HtIwwwMBT zz6dofC2PVGL)`Qvbps5r1p}av2ldkfkwh0G1CHU5jHM+h9ibJ<#$)2Ifw>o0ov|QI z(gniGp$PSKKMfkN(F!#uc6RP*S$EwpmkUc2F@wmLk*gTdkqelFW@OM9m8ltq9`;iG2UwR zA}0*PF|LH?qB$nx)NNvs7`~{F^Gb?D0>ux1zYBC=nngX72YbI5AM9_IQKNWMpP#-8;ua zHn#hQto|)CEltSBym95$CdmVp3nv{!8Z|$ZFK%n|HboXa*2G*bRCA258Zb0W#&pg-NVx_Z0!f_AAU8dbxc39Q5Y(5{ zNt1#>ZMDxUbfO=97ljad66^%^m=h2G+v-WRujjAfNXoRXd1hV~OIsn)M zADL8f2K1}C+4cVA{10~c1XEU0 zYMa=d8He*QslU=&5EiOW#pq5=6xW!TlOY3uK7q?hQUB~NW%BGRZDqwhWtQv`9hG@; z#!fB6{z9j8=Cl_%=Vc7KN&v2ziu7)Zf+}+PZ3&nMWC$o6zk)(n@=T2PU*C(qEx*N2 zsX}(h+dL#~okCjiypF6lf^%5wOSB+oM?90n zQ%M<&*^BPncyeBjH|~3_DCj%Z9MkWy10$mW_QTx~GB8b<|5+d7X!Gtq{DljuDa|$| zrrNT>nk&1KGY{rP)X|+j_klxg+^-1Sujp^cER1|FFxzdJ)xn6)?2lJk=@bozh(HhQ z&!J2E(?P$cn{3t?5MWp0=Dgy4>@M+6>;Bv`KZOh@YgrnY9WmTe%cKU3_#xb^hUSmL!AxFM{@6!2s+dF%JDRy5WIQ7O`2-X11Fn!lkKs-nxppc(Nn_F@!W@A`IoE7YS{5BI4S9!^n7 zD33zr#aqP>de=hY=>G?7xZU zFad5D19@E$!ANvX>2gb8qUFd6;FGH^F(&nJBWDMUsn9o~Z$`yg=SF6XBd&o;T%8mg z+JFKk8Fd7hnfAv+tb6JGva$x`TUD}~#T&z;@KMgR9mqf_5YQzcww0SLX?xi#-#nZC zH??n0XFJuTT{_Xb1ECUqHRVD9%#!~L27EzZT7R&BV6oc853q#&4;Y$hqTv#J)lF?< z#R-Yq3Kcj&u>8%d%?xq-f#g{Tn7C zawFQrfCh{J$P^xtvdBIr>43vqtB^Vdu*NT5!5M2DzWaN;GyBqZx}Vxal$D|J>Vp#B z3QYWDLmF6q>Ee>p#`t#~kJ2pe#okr31Xu7BIU6%PT@xi(bQfQIr^WO{%7v*xCR5)w zXXCs-E!!niv|gCja4h44`0^c7)F`|5wgj$cobb3w7~>Oi%h~A zY0qDOW56+P+|}O*6*F%O`l9QV37(L6H`^;ud|mbmjFbYg*#EVz4tBqJY}r=Ejnuqz zOv>ra9n#ncZiM)aF9F?udererG2T*>DMJ**NnHA zZ)y2{)*4V@v=99?MofA_N{MZV88y}&V0LY*sw!e zMT4EP;occw%T5%8zA0D_@1s@03Adv-VhgB~2{q_U3F2nk^$3~nb+5eK@$XwkY8JU+ zxdGpGH8_+BejGgKD`o=fpa^T(e?|)#8c->2=yj8f;#!*KrJi6N0_sUSzBE!bMx5Cc zqVBc!5E=-8x}PcL1e2jz9n4USCJU)X*|Ks%V` zhtKto<;J-I<)|Ws@`BPaJSeStcFdr`*85NKeEuGYaF~D{Knd1j@>j2o(~r$-J`r0J zPwDmY4$Nh5ge+M9pJoADwm+~@wzkk~;8H#T+`^ooA6h+-sNTX(%BUv&KUK>ZC@qae zO%Ds#Z+0(T3GFSixj1t1`BI?$ixw(wopgcP+JYY=t)uvQ$PXmuSrB9n)b1v?9ujh) z!Rg}51SW69r^E_?-}AXk7Xxo<34RO-A|ppX%U{7s_*j4xG*T-9A5;Ok2@W zL(%csP26Hq;y_14dc=6{V#Kt&xX`$+Y<@YuvXbwXLle04)#0dWqI@{!I60io8A+CG z9T|xoSPKLYgnT}u=wpDJQh~-sqc@F`<=DkU3m@yiwWY%C?+xiaiGo;1W9=-Dz;zhL_c(ge*nV^3sv{1ncSmH7II`VWNXRTc0*?zPFRdOx z^~5+2#XDo?US%WO=G@&Qf z{%4EGWrsrzu>yNGVL-Vl2m^ArgXw^r^`DG;B_$<70B2f6uG{C6RZ=aT9_=ZdqP!6SA!sGPyB(h}SnHLeCU!3#$=8UOAg+_8T+5AnCjRZNOUw6T(!5#|%OV!lM>@K`iZ_4Qw1~(445Ec2{2V8{etQShbCWD8D=k;Rj zw0IEO5HYioBF``PZ^r#dVEz-tL)Z8>z@!?NjV}2Z@qotx_qO9G#)#RA*mg4Pjng*m ztbR#gyF5TkXFp2)C`v8t2?}V{Tf1XMbryGpnz*i~F7^wxUVt%_qs-gcADem$kVhf% z|DNO_E|Y046ONT}a4hR5(|-^j>HrJN#Ri58xM-+%t33=gjGNZchp=8QJYSl?|7nYR zjBu9^`GF3ygs|dqv9em$PmrjZXxIPDLZp=4Gbdt5W2DhC8yRB6b-qUF8$c2MbIvw=oPWP~&cRq2gf5{{%ah5R~*>sEHs;=Gi zl_Dq(jnV1v?&J%9*oXQL;&{*G_z2z0vx%-W8&UG^fZ(g&;v^!6A8Wc?9Kb4oTz8-E zaVx9g?_sM9-vZ>)9QbBbjA_SMRpf66%cTLOvQQ$Jflo z$)Wi4x3@2gF4nJxX$a1EK=V3+=Mn(R=o7vZzFRhke|5!7`NudoQZ%K|X^Sb_ACukH zSavH$xz={7G1Dzp#fTRjs=qU9H|JTk2@zd|bEghU9E}*2SGJ4l`O)zI>{~qs79qc&{ zGR{q(PFxS~!59xS`EG}q#I3LpB-^I+jA|VQXEw@OYEN_@9$ z$}D0XpTSXC0?#k5NOX?b-?2Kj%lRKiyi-I~E&OXl0sWT*!&bfSO#MOgTuyo!y z4>Rj7$D2bRgSSI_O&EzNrU$%UE|>ns{4$@_R7JSX0Eh;u2%Aw3lN6!hu|XM=c`N_>~Qw4FP0--H_VZV(jCQoKc0MJ*KLN+_gS!bhKp?q^O9~ z{YA?8N>t~%)YwSiRMO$nb=BH(8k)XkNSBV1p9{$;EF&%|Bd$g)I~7myglBR&szyv{ zy<>7ZAo9*|IyTweSqcl$t7053C-6u@S@*J0-#g(i?@h}MM$eOHDlR9+j${hnfg3uL zb1@yJD}X%M(bRc*06acyEgr0V+P_d(R6E>*Nnu0jVUfn3qTrgx^u42t9URqTUSzcy z1hneAh1s?)Y;A8kdSu!D!XY~6Ey?Y`fY~B10@`G0)ATskGc4jjk-*bipieWSn+ z4PyAR51r1YZ{3TrE*v{4Baa1@%-?LO|KI^F3%@!Ic%^;Pa{~uCi=wQAYD~6oL$Eow zoIIFBlf%taiV+@6u2MHnCXmM3#WAE;)o{4F>1}+ary+v_-VDnNg(X5$4-cO5+*AfQ z(S(<;rGV7dAo1|lTf2Hk>c3TDdtfj?2i_(6 zV6gSKZ+4VMQmn9$%)>fXO*Cwb9KvKLUzJo?4Ryk|U9jcApA{jcvXTbRHq^sM_7^H; zIggWTu8Y@X&F+oRQQWNULZndfs;jle-_+qi-okJBef7?mcE$?ICy(7&`eMV2Y5>VL z2Tcs%1=QbYaMCUxvXUcCtlEo%-nJtG_5TS=HRFGPslH#43Ri)NV5ziQWd~O11SfTg z)R~-cAR}^nqx1t+j>-Ol(V$5aXwH=*HYhn<%X^qirswZZfMl1!cu0*FkI3B4e-F^= zC;EOj9Xn(Jcf;}(%1!eXVE<91yZI8@@_c9V@}t=wAtW$$D^^=yN6{Y)yTd143T$9H zkz}_lmss+`$+}}uoks67%;rIdlh~B?(!wA3(U+xB3^SYu%hFa>#(K#RJ1XP zYCmB|d%Iw(&q12$ttPe;gKkEV;Kur1EFr7kb4&S@v@t20Ty6Eh12Iu&|C+n2MmiP6 zsT1E;bDyd^s{BH2Y<`J66LYu`?W=lCh`$}~UNw41$4*bf)D=ATSTjaoSy(0yaD!T> z$Re(R*HtsM)fh!UNkI*=2UW~t`Ra<$od?5-Z z`MkGHB8_qU$25o_{Gzcm#I%9GIErVgn$x31h2J!3k;TGgKce;P79T`Ikfg{c@-ZoZ zD#N|k!s&vsR?HaS81O<&t|5VwofF*@WmK&@3>6UD1$X89DYNU=07> zVBoLR3BW|!5huFm27oaE==#lIR}Du zKZ-$)=EDe|anK>sR)pCG;teodeAxAvaRb*D5L5OM-|~7CNv6mnk2T+@9M9a80XPw%bOPR_%{4hbeB+YVQx9m z?oxgGT7EliZo0i(`#Sn`x>DbC-%5i^k40JEHIGY%V_+;&aCIebQ5G_U2$^+REmM;4 z@83uo{x`)(o{5C@ zpZ@%s#mUx`F-cTyZ&@_T43u_Y_?uTQt%G|`$JbG_J3>jWpTP>Nc4i!W)MG%YMW}z! zp7wJmbQ@hT6hYT_ZQ~%_AA%Yjn0qRN3Pf8E#)S{UnA+p**JrOG_>V+VZjlV6JR`iaH}YFV$-(|LpeX8{+hGkvyK#r5C9B6sV3 z=QDsE62DyCm~d4<2b<}9oRmDckYak`I*e=NgvCewL7{4(N^q@aYwD4cjqD3y=x-qQ zbYt-O79YZ$1*Wf!Le%=Mqg*#iLz&#>0`6mD!=egu^I>ABLn8gM%JtAIH)P@6SR{<* z(oh6KL3+&mnBWpN$eMfbSkOA%KbY2X?6mxpAsO`D8Qrk65~IV(0>$^xN4VdED7Qwp z@vfmLz?k_i|7_N66Wh)?!haH?5sDA5qhX0lOcCqbwKM6uaJ36J>N!TgbRNEpscR|R ze5XChTTZ-0Ek>&8UR1#k#q?pOUj=z;+#Ec9)!{~OObbxGNJouXEp&NaHFTY{V+hjB z=GBJpGD$7*0(%M|m_gwKOC1AiYL>;_%iG}eys~}&vUxd8u=(xzRJ_xv1aUs5iN}a@u=ZuD- zp~Ym9APUW%ZfyX5FJUBQEyop!S2PxJqhQ&PIZV0}Kd0EM^H$0w7J z;!fOiL)KefmEr}IL&Q?mlIz{18%gV>tZ5VRQ9}DnEb2 z6&!DlgI{^N0y5b_gega~X7ni@ple_?1?O}1DT@w7^+Wr!+H5EI zE!d;yrI)@mJlEp25JVOT)kQ=S_9QfO8Y1)a!wM@lfF1DtmBPlxYJ}HWLYAx~UMQeo zOnk=Ed)(%~YOLJE>up;}uVu(^bJ6L)-2$0e(~_wWa02YM29h9D%%K~6XnKS>Tu`k# zRejWqHn1^Kp^ytkXp$@P*&j$<-IvdDRL5@-+gpb9D}egdF08Bza$r&LQW3m3%1{9^ zUMN8Vp;YfqfWXbopYK=lC=DxvLM*t<~$`qs(YB#CVV6-2Vwcoygn=Ge`kb46cC1ah51LUXHCX9))p&bovv0( z$N5wSg@=}o)|!`RXC*>#dy%SN9W1OmQeK;s?bk)L&H(U{we&Z9K@6!73K-QcZ>#rS z3|(Fs`scj=e5Q_+k@=XyvN8rsO8w{gvyBGa$u4aAi^-rx@@IVv9ul=FsJLs_tWLEjM3?8KZHj#m4+}f zIhi04QLu!&#t?CWab#=WlT+7Ji>9JYcg2qv6&?nQ`6me>L_0Yg`^0$u75evCe7CuE zsRJu4r*3b%7D?_*<}tkp!4@3rSXwv0yk2@+KnOMEMX1q3aXuasSu}{omzBSL*Rh>C z*coEc4dKfB_BG+v2fD5lAsX{v4Q=;Z5ETl5jhHXqwMIh3y_(w-%aDP^v1wwrMGOO1 zB^EK#6e)ng72VC)O;8pqo25{y6Cq2eg`HWikk=>&*eP5HEd77(=ieXY3P zuk9x?^}MI=gERae#mt^6o|n8%9o9M)J}!@U9UY#w_=uZhKC{u|8tIm~F1m z{nYyGPCDxINcG3et)!?JNu8zb&L^5oDfPAM#yBPG7pEZjpaxhYQs|W;Hg+$fMf~(x z`^sr8>M~TPmvfH}>$wM^ju>*U`1YP^6%Yhi{=DW)r?x#*+MW8x3Q=^jv^(=W>m~h6 z_%Vvqw?n==oX5qN#gEW64tv60wJQlJH~Z(cNWU>|lIW8X2RrRYk@1yIjpTq$# zO;OpXK?}z$!CbxP&~;D#3B2sz9xBQVDl?~(p{cuHk{<)G_a6<&$bu^t07>7X%@~5e zAK*?d9)AMuffaD1smXb=m~?o@rCZAHM&65UEke>gqkXm`4+jf*cDFHiCL-Agn3XSpniX^1$w z!VH8H{YwnzReQDO12uwgI#~nL6&MC;u<{4U%g><}LISVsySnKS#q z19gu>bw?eYa7>Az_R?^gwOstJ$YLHioC{77uubwq_?NlFZr-G2j9pG``f-6ohCT1BX^ThLVVBo%o0ivPENN=RXR;*FLpXDdVBV;F+v50&-iX_2P zgODJFp_VYVD`Lf9?}P%;$d=D*{1d13+0)LkYQXK#q3coF;qcb&%G&+%?<60 z9XvKcBNm{dTuF`pD|#{MG%AJ4W%H7W+NlVJh9gY69e-X{VfER4O9jsQG(r*^FYl8BS!LUlP6e?2Ws(7#ZYBEhg*v)IZ_*${e1t*)Tjhb+n zm^XQ{ih?;p>}Oi@+I2#f9)1KL#V2X!-UyV}b0E}jsFLtuniX!3h9NGo036MFhwE%( z64#dGaeDIa(gPd|t`Q>@$6^uterh!p%X+H#7@+Yz*LGg+AOGauTAHcn<)iz5Lw5I!gEkOssGjMw!E4G$v^QWO}49%Hf`Yq-2dBUXw1U?|wORkUPF ztl;liF03TAA5Ym+`ms0lufJWB&kPL@MC)r!aXxCi{e&F%Jm9GioZ&Q&M?&*H`PzW4 zAaj_Wo6CFP9Efa}f%+%6^i8|F`J#R8z(2|pN=%;ST#2r};{Bxv=^}L~NsHghJ@1?4 zF-n?ZI;%>#eTGjU!fhm3oHC_`8U_&$UZ7Oqu)c%)$BW!hVG8^+IQcbCyk4rs&%B#b z7~#vEzcx!0vV+$l2aq6M&-!R^BEwaTwlgn!U8R|l2`nD#%Hl*@a2wee;nHOSjy5BV z==5VBFHoH`Jo#{dF<|dC-(t17e4~n~76Sirp(IQxWie2fr==+D~sUY9&#@Z7#V$VBh9pG6wg{yo5*Fj==tD}G5vZ}$;%8PTP>Z) zkp+v2EmkvP5X1;tzGBWQl9iv~kKl0y?r$=XuhVIyCrLxa%?GEa=m;lAj|!aDQV2eo z;q}l_^~Q^<9UJ5Khpiq(+f83TxBNZoSfME?HK{GUHJQNGRjG^35;2Sl zXuF^W_;$LKK%u%iJfT6JO>f#&E1FJF>tP`>aJR4NjepqIX(e(nOwp$|OL0sslT1;t zfHc87Klv+2rgBM%5@_18k@@FKczJh|tLUpD85&qk9;*$T*?r^LQ51yt0KK>B`S|U- zw^|8(-xBh7O&pNPM$3tcp*kQZo`Gig%H>{97*=W0K;KVc0h+U|w5NNR&gSb`Vet}| zNGdb7a&AO8)6HQ6x^l7v$JlCYf3NGQz5oI2iUdxk)U>ReJ%({I4e9Y4tj&qrKr&nn z%6C(NWB*QA8Un!#VWx3?RSsI{jND($#vI?(n4QyQm`It!hcK)AA8k<*Ud(xH(clTC zAalEBMc1(KVx*-I5#<&9yc#H9@7LhOb)Cm8Oi)~AU5N~;a$Sj2& zpLMo_fN+Ib;aDitpqH%x*Vj<@vvMV*vKX~%Hy}G%5q1ysy5ab+EY=!!jU3IkfkPVP z;m}>Gi_tgWuu>^&!ViFN8CacJ`5p?&PIJ!Te|zL+j=t049^>5l3L7np>`B<8gxSJ9 z^Zn6cOMxJh;e$jM|752>+-+?wQBD0@y`A9%@h=Mfaup%x!uKy525%!Oly3BTm zks*KRSylCxQ8 zm;_A^z0(L-xQ?Mtut5}u6WoWLIRD(aO`RjxSSZ5!+v zST1BKZ*_JcG0@i=)K~49U-5t}&>ZUwZ zzN7g!4nkkHYmhx{d{x6Xk6rksi$Mp?8LQzYX{x=S3%8lhf1`4AuH`jr2_C0k6SS9V zt@!k?SGF0Y8U(AYM7 ze6deeAoiX`V7Zh2wx=y2Rv08|f>4bnXmeOq%hcH+hh_=Q63i*?V z+?IcI!bp-G6M8Rn+;jSK;F+_)@!J&xj-SaQSosPZV3D5xKWw*6y{4LH0_kNmJca$=xnREmGrr}RpgNbE` zuIE)RSK{a+$u*>ZIa0=%_a z_W4)yF*)hh5=QE1X_VNy>{7|9dN0qtPqaBu%#AFbzKG$2ltu0%`at1Wvas8j`|R2U zvo4PF?DdhsfJ7Igx>$A0_$pmsKDXtM!bc?`Rzc*jJQ! zRcqe}cvQDts#$RZjm(4~>C#)+**ag(-M?+8v% z^FL`pMd}jHZ`=$Pa*qlOVVbR;_bt;jAG_DNS8qB^OuXk~NYMU`!E-ixF7&)zjcr6| z37{|AD=E%EIcL$pOu^#u>Nln;*VUy)!az?IbFPn}7}I0tIN&|Z1s#u}=I%k2Yzb6h z!^?4PK&wCyP8^*Y$t@{S6jY%$pfJ1W-yVjYKQFK5;k7biquu4Hh4Wl1HEzxjM;2_w zjUI%ymgZV^cp<&Uuo`;k>gZr1a)aQjG;a?bMCmPnNh+Bf2FdDbbb){(sfVpy&Sw_# zLdnh-_S3)X=H)i8)1tt_JQpCoP7<=^_qWCR25JP~@g%sG{~Z=X$+UCD>fr%iqo{%) z><7{o&+X>!=`~HSnu^!N&E2)x;)nJvqpgon4Q3V!Q5d!Hz94pc0ys~0kKX@orsHqj za6$b`Q?r-_V?;GQo%7(c0D!{vj2ECQpf||PeLQh~_Wq}%m;76daqS`e3WrGBg=e&c zkzy`FDeWNFA~qb{Rl2E6Tq;LL$|P~<;fhf8om5lpYp))j2{*G@qQUQ_2gj3_j+O=0 z3Vni}={GB4^C{m0d)EcV!vVeQX%E)MboN~cd5x$F#Lm2(H!`y-^-UYzVsLLoGhmUCmX>uwis#rAnr2<$mWgEdxfaMKms2QfT zH68jaQ@FlkFPx%qxuzNGt7@%&C6kvtKiISbqOh>3kBrjmmsP~M8Irfsr4U${FTz#X z?d`)FgF)@i_x{xVamu`9-|=r9@LURN5z(ZOd1y?W(*R3qiSjz4ij0gbb^h1G6ggWt zak6Ti*ZoyM1vfART7G1@)epPcx7sPKE;xLx;h76(vH1#hz>G^{2<-M##u0e@)B(4|`x3L4s!F-Sb zIeuKWTu z>xKf{Qwi7D1BUl>J9@rbS3 z-o9Ey{G<}WMm{jbsPJE7zf$vzd(H>r6^2Y!OWOO5>Q0F}VX&%@Wh^{9+g8zW8=^&( z*GqOffmd7FAQ@98GrL&=f@5HdujSe&%nXATMC1vEm4XZsU%W>&9@f3>YW&HCo60;M zQ3T4{QiJ;VNw|qRu;99=!I7}Z{;S&RRdAc%>N~;`EOe;5CmC57ZJIl$DN%#w&(k8G z=8gwA)2!4@c)ls#UqNs~Knq{h%rOGmkppkOhU=r9^KKsv>4w1R}(C{g@>rKq99C&#QzVT$Y8dZ1kYg|)SYQ79CyN%lR z)Hd_{dhkoK#CQ?00M!Jip%_bVVdbr-vK$7dq&79*2$oDokl9;fBj*kN8x|R_LoQxK zHGrK(6}zlq;JOM5a;!xVcCwZ=__x&EyG;}FRwzAlrYHxHC1j4$le0v~e+i*$U`qQk zFrM;z9wC77>l1o^@sR~bMpGFU3MQ>bT` z{=*O)QiDB2G})%(BJy-X-Yi*fyRlJtH@^n`V~5jq_&&by4>;m_XBR5=gHOB}+9}8w z#+Nf0B{f-cU{vw8Bd{p;{*STUUPIU`8dgoo43Eo)x4e@f9+bEo!?Lg5@|M3uWYyy1 zXxc?n?d>4^jsb06PZ;!CmDBP^?K>Q!Bvd&3#``tNpLoLPo;@^WNTh@K56cU66t9mQ z(rhuSpZ&%tRxI7r?L8I^UWsw2wooy!wzsrSG=+W~*)8Dc(ny0;Pv4h8K$hQWL&Ob5 zAhaRQ%^ZMn7SQbm-e+AOeVq36hQkNIzN*oMcvU5Ty^h@j~E05T@BV{lxuMCm{qx zRMb@ZCP#zx$on-b&zo~vS_MOv8!KZ%@A#_vVv;5s{h=wrLm%?w3NT85TdcS+`cS$ zXa(=?QisKXtIm?ZFQb@~4lkZ^J)t&tPyp?e7Ob_sg$UA=Gf0Y(^m&qqdv~|}uqcmv zek0#?_@{5LSUI7<&SfdUsdaQ2cORM$L*T= zp!D+CTZ7xI3W^ZgUUVG64kzwfDUNkQlef+5pBWlIB5XpbOpGzG4S-ek^f#l#Sy_)^ z9<*fNTk+PunK&&ER&`v4Q<{nmD(#J|JYl`9j+1QYJ~etHr3c=CxYd1~!pdOK5{Pp- z9yNg~fonYl(#3YOMu>&3K=@BU$=gpuU_vKl3pVBw9u;o~FVUnL@u2;q>Ggh~BcXk-+{}KJr45-Xa10R_rs9Oa#rj`ob@Q7f zwkL+wCV6I8tE5lyxhA%7Rh)CRvcP9~x&;-K!(bGLzdNC>^^UYB%p9Ti{xVJNgZW(e z*cM=36ge!Q3KCd)$&_{_G^uE4wf>y8X<2!NJQ+}bC!*8N!w4~PRFdW=C8CGm*f~aXX z<<|_Tf9KO1*8Q0Yd@LpCk1mvPb9Jg;N!~p%{W?DtIZbN#l62yDwLSHCrVH^3M{u%Q zZ%);lXEiWIf8I25R_boGPHm;EU7$%CYk$tZ=cDv^{Ne0sph$csN@2?10_-rl?uC_4Qq^zdHk8WpE!&>(xQRA zu@yp4tF3Q>M~&uD30&0!%b|#VdYu_Do^)hn3ELd8CFotI5VLJug{Nub4d{l_IN3$` z3Pdk7Dg> zehEY3{DU%>{H)s!-5=JVgA(WAUAgc6C`7`mzUxDq;yn6_z0pR#-Z%fs+P(-w#Sz|# zN?>>;ZSiZo99ui~%V5@u>T`XLk$my|KC^#q_r6i|skT=`oXwXlPPuq9nj8UWbS`#a zi^QYXK=swS0CN5ja^3BDW_1@uzy~PO|2|_R=3^q>}stle>?Ik-x02*pk!y_`>$`l`5*q)O+h0a zhMpiJ*B@)q{Arq8jHpK7<=!#2jZ0LK!s-xWDLIZtR^ESF<7@Bf{VGOzC1_{n4o`ge z46_Ih&sy*Gncw}?;^k8V5Kr{ zbivjwOD|xoPzo05=pkfdplK(nq$2!_3r_Ft8j4Q~8^;*sXI9|mK_(aH3IQ&lG@`gD zrKwD*Pj3kLb91>!_~2j~;J;viKUP)=126kC@0yzXX-$UwQ}a({N`Obb`j(T}Pep+J zJZVFc0IgIA*urz{WogN4O-b63Q4#ckrdc0Q$dbB?X zWo?qEmnP9wDi!_t6uV{xz54g7VCID=WeWT-04yM}pH9+5?L31|EaAI>{S4N_H2=wu zOFM=%&0owuuZ`K%nre6B!~@YSKl2EtJJhF+2x*Xosl}*^3#L(Uon+j8=Mq!hZH4f_ zb~w84&dx2S7CHgl*3k@IO&)4(p&sS@w^X+8d#Kk9?K@<2{(fO(S8Z+$6USX%z{Z

0D63{-O2QzN6?0?9C|0RS%=p_Yh5}I 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 z zunu;nfnU?OM!{^rGV)hnO!M>El5JIS`uS5A?3tV)fJ3o}Lq3%Nb%nIS&|_?W04~H! zqYI)~#LdtYn}%M03l{>GR#(@;vaxLYKn?%^wt@VQRFch26SDKswZHePafPN)yGFSHzQ z6ir=QN`6gibji_&ZMVGZz7DPNvG<6`eZW8769Km9_(AA@7bqS&EvxceprZsz{v#|a zSIZ(=0FqH01vY8<;}7bC4mMrcMjOg*BY>YvOFCWztCcfv=>ZhrtUQJc!WMx_-J~l4 z3+#Z1oMcFC<%ks~C81fmH|d^%TgE=9gNSA^U8y_Ze=~&L&b?~88Cy%J+wFE3b^(FM zN6@tX@dR)#3$aIGMMfA-gwUZK=~O)rs@9HQ-?P@`|f6`+QlY)DH>}z{rF9NW&APCV}^XEriiU zcVrJ(ZKa5#)8V3_fQdzc=0X~{R99V`sRl{Y1&NttfWbrq9yC+LqK)@5a>o^k9W}@f#1O4rHgHeJ#vlIF&G+p03S5Q2+3+EY8C}z+71cCt*dJhmRcLv zBT&8b581v5qNu5oGD^YU#eeE3Ab&#hk%a`6@)S;5XrMci=8YHVRFHqxDN_m#vLxDW zXRP?yGy1mni?&ZBX(L5l`AZ5V`gWLw*2uzF=pL_qWGFw~B%0D@j_wQ6TH55Enm)y} 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 OIJ};D zzGFKa*nFE^m5+ZE+f)pNmikIaMn!bp{B|@RKUDh`XRhaKjzitXq~NGPb4B^6q7VE9C=a^ zX7y0p;0%&jce1*j7jWgt*Z7&tg>*5pf7WWi_QgP2uIxh^|H-r~uem=dMB!JQKf`;S zQYdod$@96MT$Yn*0T-}=KrCQH83OPXD5x88BdELTY{HbV$7uAgJz;@|)35Cmr&-cic3`0>! ztak=c4Sm84njre*saEXU`#BDwFRzE!a1K@eLXyKS!eX(nuo0@w=Ru-T4A*)lqJ^?M z{W0R5B{`~Tk-8VQcgU^6rhP%&nC31py1)GQre{2?v*KU4eIxg%21{f+3-Fg7njU4a z@Mg;yV!t{?h|+*Q0oETDsfh2k+y&AYhQU;_pmUA$vr}?>{Q02~nYi3c6tK6uCADs{cEhXj6P5g1YPJV48{>*UzkOV zoZU^HesQa(aNDz@9J&ekITjSZ%$B`=d;0d+$X?gdGHr~@JjLAOCHeGgX%77#4Ia=M z{C&BnXk-V&t@F3REt2X~<5>7s7q3+Ml3LkMII^7s*6*k+3j|cF{npb{<7IQ!Rkepr zjlP9guw}ekHO6^^O|4r!@?t~gp_Z$o{fo|^l&l90QxppP-O`Ol1psfE9qSg#Sb<`f zJRM0zfSx*|LrQ^`iIM?S2Nhh#Pyx~erPfAWJdE8`220+E$E!cMxESPYKrAB4v+XxS z@v;8^z5>~|<>_+<;O%tWwB{Y#3HFFGPZ001LO{YB76Bt&&({5M}hvhDA%1+HpuUAthXxt(60) zWfPg{sTGWV54O8+UQQZ|N6~WHAZ*u;qU1Qk-Xhuzb-=kkzHmC^Zk7wpG+VrGAs#t{ zD&+VT45O~{8i5GTBOGvCIBT(&AVD`m!aiuER!UFtBy?I2AsdJVnsuyNbeoh0lssBy zv(*Fw;D(O}&BkS34EsHxG0X{RG|tsAETvS&QuXGW7lzD9;9{=2eEqqdnR)P9j&pIC z!MA@0d2thJA}y^@k8Ee>16f4SZ!iPAzM$TI4e8JG#{Juctf`YMkSj@SFrDkv_8?vC zmee?0;T&Jj-im)RBtQPk_S(}>ME!VzbG}iH!@R zQ?qFY$5HjDCzee%OfCILJjHL}bd4@3MCcB;_0EP*QdlmTfPsWTtK4YKg#$^Q=5Xtm z6v`euXij_qH~NNd753T`>yr&K88lO7rUATeUgtLMovs|hEdtsMNrn3Ys5Up~e(rQP z9EEeZ@z?hRnBIJIGSM{)z-x! zwGoMi2~dJ{c!s415Dl};c1HlhGI=rqZ)UGVsN5Mxo7SE5GCHhkw>tvQ?P;5Jp8;xi zk>Asx%|DYzwS`BQ)6EUE8PHuBwLdK`^?1hd`AC?^e!06gO-1)#H7oGQ*FhsUmN**p z{uYQI7W1!iU~f9H7soU3Rb7;ZU!oXsMA(o2I!$6pEf>{SC3$~7Jxk+QxD;nvb;a6! zGQeC@(`LBZbTUxm$WN}opYLJ=_;w5fV`~C%Nhqeo(wSLABDp`2<6tQyR4UcPg$r7xA~hM zhPw_PoALqdV(v($VWW16C0GhNjZ9f?HJyYDmkPLPt`=aJuYc zJ8DMP_!~r`Q(}8z�xw?DH?K*QC}|(y9HhX1N4BtCz;6v7q2wTun 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 { if (err) { - console.error('Error al cerrar la conexión con la base de datos:', err.message); + logger.error(`Error al cerrar la conexión con la base de datos: ${err.message}`); return; } - console.log('Se desconectó de la base de datos'); + logger.info('Se desconectó de la base de datos'); }); } } } -export default Conexion; +export default Conexion; \ No newline at end of file diff --git a/Server/Controller/DAO.js b/Server/Controller/DAO.js index 7c17740..f88b899 100644 --- a/Server/Controller/DAO.js +++ b/Server/Controller/DAO.js @@ -2,6 +2,7 @@ import Conexion from './Conexion.js'; // Asegúrate de tener la ruta correcta al import Usuario from '../Model/Usuario.js'; // Asegúrate de tener la ruta correcta al archivo de Usuario import Mensaje from '../Model/Mensaje.js'; // Asegúrate de tener la ruta correcta al archivo de Mensaje import DAORegistro from './DAORegistro.js'; +import logger from '../utils/logger.js'; // Importa el logger class DAO { @@ -9,14 +10,14 @@ class DAO { const conexion = new Conexion(); const conexionEstablecida = await conexion.conectar(); try { - const sql = `SELECT id, matricula FROM usuario where inscrito = 1`; + const sql = `SELECT U.id, U.matricula FROM usuario U WHERE U.id NOT IN (SELECT I.idUsuario FROM inscripcion I, usuario U WHERE U.id = I.idUsuario) AND U.inscrito = 1;`; const [rows] = await conexionEstablecida.query(sql); const resultado = rows.map(row => { return { id: row.id, matricula: row.matricula }; }); return resultado; } catch (error) { - console.error(error); s + logger.error(`Error en DAO.matriculas: ${error.message}`); return []; } finally { conexion.cerrarConexion(); @@ -31,7 +32,7 @@ class DAO { const [rows] = await conexionEstablecida.query(sql, [alumno.getMatricula(), alumno.getContrasena()]); return rows.length > 0; } catch (error) { - console.error(error); + logger.error(`Error en DAO.validarAlumno: ${error.message}`); return false; } finally { conexion.cerrarConexion(); @@ -52,9 +53,14 @@ class DAO { usuario.nombre, usuario.apellido, usuario.nacionalidad, usuario.matricula, usuario.contrasena, usuario.correo, usuario.rol ]); - return result.affectedRows > 0 ? new Mensaje(true, usuario.matricula, usuario.contrasena) : new Mensaje(false, null); + if (result.affectedRows > 0) { + await DAORegistro.registrar(usuario, "Alumno agregado", new Date()); + return new Mensaje(true, usuario.matricula, usuario.contrasena); + } else { + return new Mensaje(false, null); + } } catch (error) { - console.error(error); + logger.error(`Error en DAO.agregarAlumno: ${error.message}`); return new Mensaje(false, null); } finally { conexion.cerrarConexion(); @@ -71,9 +77,13 @@ class DAO { usuario.nacionalidad, usuario.tipoSangre, usuario.fecha_nacimiento, usuario.curp, usuario.idCarrera, usuario.id ]); - return result.affectedRows > 0; + if (result.affectedRows > 0) { + await DAORegistro.registrar(usuario, "Alumno editado", new Date()); + return true; + } + return false; } catch (error) { - console.error(error); + logger.error(`Error en DAO.editarAlumno: ${error.message}`); return false; } finally { conexion.cerrarConexion(); @@ -99,7 +109,7 @@ class DAO { } return null; } catch (error) { - console.error(error); + logger.error(`Error en DAO.alumnoIniciado: ${error.message}`); return null; } finally { conexion.cerrarConexion(); @@ -114,7 +124,7 @@ class DAO { const [rows] = await conexionEstablecida.query(sql); return rows[0].ultimo_id || -1; } catch (error) { - console.error(error); + logger.error(`Error en DAO.obtenerUltimoID: ${error.message}`); return -1; } finally { conexion.cerrarConexion(); @@ -152,24 +162,31 @@ class DAO { ); } } catch (error) { - console.error(error); + logger.error(`Error en DAO.traeUsuario: ${error.message}`); } finally { conexion.cerrarConexion(); } return usuario; } - static async editarAlumnoInscrito(data) { + + static async editarAlumnoInscrito(data, id) { const conexion = new Conexion(); const conexionEstablecida = await conexion.conectar(); try { const sql = `UPDATE usuario SET inscrito = ? WHERE id = ?`; const [result] = await conexionEstablecida.query(sql, [ - 1, data.idUsuario + id, data.idUsuario ]); - return result.affectedRows > 0; - + if (result.affectedRows > 0) { + const usuario = new Usuario(); + usuario.id = data.idUsuario; + await DAORegistro.registrar(usuario, "Alumno inscrito", new Date()); + return true; + } + return false; } catch (error) { - + logger.error(`Error en DAO.editarAlumnoInscrito: ${error.message}`); + return false; } finally { conexion.cerrarConexion(); } @@ -180,7 +197,7 @@ class DAO { const conexionEstablecida = await conexion.conectar(); let usuario = null; try { - const sql = `SELECT U.id,U.nombre,U.apellido,matricula,correo,nacionalidad,tipoSangre,fecha_nacimiento,curp,inscrito, T.nombre as tutorNombre, T.apellido as tutorApellido, T.numeroDeTelefono,C.nombre as carreraNombre FROM usuario U, tutor T, carrera C where C.id= U.idCarrera and U.id = T.idUsuario and inscrito =1 and U.id =?;`; + const sql = `SELECT U.id, U.nombre, U.apellido, matricula, correo, nacionalidad, tipoSangre, fecha_nacimiento, curp, inscrito, T.nombre as tutorNombre, T.apellido as tutorApellido, T.numeroDeTelefono, C.nombre as carreraNombre, C.id as idCarrera FROM usuario U, tutor T, carrera C WHERE C.id = U.idCarrera AND U.id = T.idUsuario AND inscrito = 1 AND U.id = ?;`; const [rows] = await conexionEstablecida.query(sql, [id]); if (rows.length > 0) { const row = rows[0]; @@ -203,16 +220,61 @@ class DAO { tutorNombre: row.tutorNombre, tutorApellido: row.tutorApellido, numeroDeTelefono: row.numeroDeTelefono, - carreraNombre: row.carreraNombre - } + carreraNombre: row.carreraNombre, + idCarrera: row.idCarrera + }; } } catch (error) { - console.error(error); + logger.error(`Error en DAO.traeTodosLosDatosUsuario: ${error.message}`); } finally { conexion.cerrarConexion(); } return usuario; } + + static async inscribirUsuario(data) { + const conexion = new Conexion(); + const conexionEstablecida = await conexion.conectar(); + try { + const sql = `INSERT INTO inscripcion (idUsuario, idCarrera) VALUES (?, ?);`; + const [result] = await conexionEstablecida.query(sql, [data.id, data.idCarrera]); + if (result.affectedRows > 0) { + const usuario = new Usuario(); + usuario.id = data.id; + await DAORegistro.registrar(usuario, "Usuario inscrito", new Date()); + return true; + } + return false; + } catch (error) { + logger.error(`Error en DAO.inscribirUsuario: ${error.message}`); + return false; + } finally { + conexion.cerrarConexion(); + } + } + + static async editarAlumnoRechazado(data, id) { + const conexion = new Conexion(); + const conexionEstablecida = await conexion.conectar(); + try { + const sql = `UPDATE usuario SET inscrito = ? WHERE id = ?`; + const [result] = await conexionEstablecida.query(sql, [ + id, data.id + ]); + if (result.affectedRows > 0) { + const usuario = new Usuario(); + usuario.id = data.id; + await DAORegistro.registrar(usuario, "Alumno rechazado", new Date()); + return true; + } + return false; + } catch (error) { + logger.error(`Error en DAO.editarAlumnoRechazado: ${error.message}`); + return false; + } finally { + conexion.cerrarConexion(); + } + } } -export default DAO; +export default DAO; \ No newline at end of file diff --git a/Server/Controller/DAOCarrera.js b/Server/Controller/DAOCarrera.js index d18ea20..997727d 100644 --- a/Server/Controller/DAOCarrera.js +++ b/Server/Controller/DAOCarrera.js @@ -1,5 +1,7 @@ import Conexion from './Conexion.js'; // Asegúrate de tener la ruta correcta al archivo de conexión import Carrera from '../Model/Carrera.js'; // Asegúrate de tener la ruta correcta al archivo de Carrera +import logger from '../utils/logger.js'; // Importa el logger +import DAORegistro from './DAORegistro.js'; // Asegúrate de tener la ruta correcta al archivo de DAORegistro class DAOCarrera { static async dameCarreras() { @@ -9,9 +11,11 @@ class DAOCarrera { const sql = "SELECT * FROM carrera"; const [rows] = await conexionEstablecida.query(sql); const resultado = rows.map(row => new Carrera(row.id, row.nombre, row.area, row.campus, row.descripcion, row.mision, row.vision, row.objetivo)); + await DAORegistro.registrar({ getMatricula: () => 'SYSTEM' }, 'Consultó carreras', new Date().toISOString()); + return resultado; } catch (error) { - console.error(error); + logger.error(`Error al obtener carreras: ${error.message}`); return []; } finally { conexion.cerrarConexion(); @@ -19,4 +23,4 @@ class DAOCarrera { } } -export default DAOCarrera; +export default DAOCarrera; \ No newline at end of file diff --git a/Server/Controller/DAODocumento.js b/Server/Controller/DAODocumento.js index 4d1dede..6b55d8a 100644 --- a/Server/Controller/DAODocumento.js +++ b/Server/Controller/DAODocumento.js @@ -1,17 +1,25 @@ import Conexion from './Conexion.js'; +import logger from '../utils/logger.js'; // Importa el logger +import DAORegistro from './DAORegistro.js'; // Asegúrate de tener la ruta correcta al archivo de DAORegistro class DAODocumento { static async agregarDocumento(req, file) { const conexion = new Conexion(); - const conexionEstablecida = await conexion.conectar() + const conexionEstablecida = await conexion.conectar(); try { const sql = "INSERT INTO `documento`(`titulo`,`archivo`,`idUsuario`,`valido`) VALUES(?,?,?,?);"; const [result] = await conexionEstablecida.query(sql, [ req.titulo, file, req.idUsuario, 0 ]); + + if (result.affectedRows > 0) { + // Registrar la operación + await DAORegistro.registrar({ getMatricula: () => req.idUsuario }, 'Agregó documento', new Date().toISOString()); + } + return result.affectedRows > 0; } catch (error) { - console.log(error); + logger.error(`Error al agregar documento: ${error.message}`); throw error; } finally { conexion.cerrarConexion(); diff --git a/Server/Controller/DAORegistro.js b/Server/Controller/DAORegistro.js index 290a668..6ccbfba 100644 --- a/Server/Controller/DAORegistro.js +++ b/Server/Controller/DAORegistro.js @@ -1,4 +1,5 @@ import Conexion from './Conexion.js'; // Asegúrate de tener la ruta correcta al archivo de conexión +import logger from '../utils/logger.js'; // Importa el logger class DAORegistro { static async registrar(usuario, descripcion, day) { @@ -6,10 +7,10 @@ class DAORegistro { const conexionEstablecida = await conexion.conectar(); try { const sql = "INSERT INTO registro (matricula, descripcion) VALUES (?, ?)"; - const stm = await conexionEstablecida.query(sql, [usuario.getMatricula(), descripcion + day]); + const stm = await conexionEstablecida.query(sql, [usuario, descripcion + day]); return stm.affectedRows > 0; } catch (error) { - console.error(error); + logger.error(`Error en DAORegistro.registrar: ${error.message}`); return false; } finally { conexion.cerrarConexion(); diff --git a/Server/Controller/DAOTutor.js b/Server/Controller/DAOTutor.js index b1f8e65..c9f5f9f 100644 --- a/Server/Controller/DAOTutor.js +++ b/Server/Controller/DAOTutor.js @@ -1,5 +1,7 @@ import Conexion from './Conexion.js'; // Asegúrate de tener la ruta correcta al archivo de conexión import Tutor from '../Model/Tutor.js'; // Asegúrate de tener la ruta correcta al archivo de Tutor +import logger from '../utils/logger.js'; // Importa el logger +import DAORegistro from './DAORegistro.js'; // Asegúrate de tener la ruta correcta al archivo de DAORegistro class DAOTutor { @@ -7,11 +9,17 @@ class DAOTutor { const conexion = new Conexion(); const conexionEstablecida = await conexion.conectar(); try { - const sql = `INSERT INTO tutor (nombre,apellido,numeroDeTelefono,idUsuario)VALUES(?,?,?,?);`; + const sql = `INSERT INTO tutor (nombre,apellido,numeroDeTelefono,idUsuario) VALUES (?,?,?,?);`; const [result] = await conexionEstablecida.query(sql, [tutor.nombre, tutor.apellido, tutor.numeroDeTelefono, tutor.idUsuario]); + + if (result.affectedRows > 0) { + // Registrar la operación + await DAORegistro.registrar({ getMatricula: () => tutor.idUsuario }, 'Agregó tutor', new Date().toISOString()); + } + return result.affectedRows > 0; } catch (error) { - console.error(error); + logger.error(`Error al agregar tutor: ${error.message}`); return false; } finally { conexion.cerrarConexion(); @@ -24,9 +32,15 @@ class DAOTutor { try { const sql = `UPDATE tutor SET nombre = ?, apellido = ?, numeroDeTelefono = ? WHERE idUsuario = ?`; const [result] = await conexionEstablecida.query(sql, [tutor.nombre, tutor.apellido, tutor.numeroDeTelefono, tutor.idUsuario]); + + if (result.affectedRows > 0) { + // Registrar la operación + await DAORegistro.registrar({ getMatricula: () => tutor.idUsuario }, 'Editó tutor', new Date().toISOString()); + } + return result.affectedRows > 0; } catch (error) { - console.error(error); + logger.error(`Error al editar tutor: ${error.message}`); return false; } finally { conexion.cerrarConexion(); @@ -46,7 +60,7 @@ class DAOTutor { } return null; } catch (error) { - console.error(error); + logger.error(`Error al traer tutor: ${error.message}`); return null; } finally { conexion.cerrarConexion(); @@ -54,4 +68,4 @@ class DAOTutor { } } -export default DAOTutor; +export default DAOTutor; \ No newline at end of file diff --git a/Server/Documentos/SIU241010_ActaN.pdf b/Server/Documentos/SIU241010_ActaN.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ea877e689dbb2e6a5ece9aa0924c016ab51a446c GIT binary patch literal 31415 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 uf53ZVl^2Q-w^Y_rX5 zwv|JaV;OUd#7NFI=X2^CiRhpMrcjPiNp!%JoH8Urib;wbLn7k-Ontj++x`39-}~|S z-M@dn`=?Luy|3$fzuwpN`FyUAZO?buoRIZCv*4SdZ$j@(SGo^3Ac7NnO!lP~i$1OY zG_RlyN9bb27AFJWx$t~iODYZzbNEyJQG-x%LAUsv3<6U2SLu2W0Ld|^j$7M!3wKBeu{iT-F&U9TUnw`-3cFe4K)5E~C3mUWI ztA#+_gq8=#UTbFCcFUs>o%O;c!Ui5LQw>yq$uwK|^qoTIB0rQJsaMiD;@jjxPs&4Q zPydmU&%Lu1q1`DEh4ivd8@guB`Ha1|-|9Ar3L++@sPU#5`E}_wc;*DOIa#1{sn5pW zNk!DoRMGL0fs(y`^!>gk--PSAd?|EJU%l|LWTd3aub+Xyfz^UuCBF7`lchQ{nnk%PAvh9yWm{grsn(WApeaSQI zMhY=X?kYB`&6c`y!eaPpiJMScr`whEuekYpz48TisMO8o1CXV@zT7jjeAd0|D^Bn8 zXf<)~znc^~as9xXyY>B+eU=cftACic^?aUd^25;&)@3J*&MVvdgY{EN+!XCb?+RWN zp0V#-YH^c#_+{(~!Q|0I6+sI7$&#K>`%158crMQ6oUYu-B?^X0me-**7{1mlY zW%1>bQBTRz@Jg3&(dK4T+YQ|XtKdt+}` zmX=HFjif&jxEVt2L}&OLeycD)I5;<=gfh6d(XyW&A#N|$t7kD-Z~t+s`C_w8dcjz4 zU)Q2Ru$?XbV)FobZh<##X>Mb1xZhl;MbpwJuaLJvEwvT4i@S^`JwbvlPTFx+m3BEv z5X&;#Jr;T1TaeE-f?wP1DY`}#=&8d)mhw)Zl6w8CAE%iw&;=h{((+G{JJ(g`98z?m zgZOFsK=kN#!QPdNB9r!(@+DA^Pv{PA8~ zu=K#eDSyGDn{S6QKhwj+D^@KyN?B-VU;=XV-X^(YE>auvR}Q)FNNb<`L{YptW+2=4 ze3qh|PSE?DN=%e^1E9g}U`lsj+we5C*5{_X3Z5p?h`X zT*x0^TH@2|KLej$)lS`h>?D2G_?}zh)lwrL{!#IO6ozNIVb;#>bJi+FF5My`B5NeK zZCN9m*}Y-{48J%qMjIN%wX5;8t;409{^09vb3zG*%YV`^RFK>-{G8~gm@ilif`K(| zmgddf&Aa}-?KG9{usc|_=qcgG$#sJ{I>+@W#AhE5CFEJFTui7&))6v?_HNJ3o&+_1 zG{atdq9++mcYGN`?>>Gur%*0%ZIJzagS0(sTTftDBtLWMU#F5OW|*Y2y}?61VCUQV zvg?}1J5u#lgWoZ@ON-5oZe)H^2=6#ybNR6oh#FUt_gsA=&Z;i@Qh#*}^=&3YF9ehS zo+8U9TkTLf;a7#JdQ##PxO<8ibG)a^5_7+E0~Nt*cu?g=9PBwlYX^e*LMF(#Z-g+U z1HwH!7?(wOuKq>7L#cItiedBMV==NdVF;^?1T#K0D;wsuUx;&shMAVWCEds&4j3i7 zH4nhXeU3{SXy({_BptHfk>2Dpk3^=oX9Sx*qe9?dlszYvdk(iDj}i5@!%VcjeG+FmkmL}&t`)Ka{4HmMn}n^FY}Tmv^La#+?+1eXujhb z{c=>ZQ~%(e)XBY&tW=~Bb||s=HO5WFydWWKqC@LOzH>iCCjBv-3_(p z#iRp^ZwJcW%i=m8{qRs2=E5aHX-#Qvu&?PE;%)868dgf3d#o);A)e1i%$+{Ru6B>t zHn209R7{T7c0=G&^s`C^-wwJu=S(XH>=ZJOJQ2z_%-0_0A`o~u7*wpDAs=fwvqK|& zE!DA$qKua~Nsscq@OZL`_w2yxQ%5hPKg&8`qlQIA&Qdp+5}SK<+_sF zv){gY+dWxmsoi(o_#>@kW#_t6gyVP4-`HBH&=9T0rEDOFZX=7IP?CHeh zVubhjr|g4{7fuWs(6T&{{(7?Pk`GyO z>O$x?n+!*I#zO{w^FE`3sM(AKE6gdE+n4!W2b*mqYFuDSMBARUKYWYn*~R3{4hm ziiz>Cx`>t<&G64Tc9gj0#UEv2<0pd3%}1>B-?vZ85$anO&MI3^1Q2zU<`T%Jg$Q1^ z_5q#`$EZ1xwv)%se4wpc7i>hmL$NDbe>lF0=nMwApAyjMPYx?LZ%?$Syqn`HSZrEu zO}IL6^AfT4YU+}pPmWz~oZdjS03s9b8dRQW-)?R;uRuO`bC$YcE_r<`y#N((f_FUp zr7hq709BChefsfkM}QZj&Klrd zNd{=^G{zvUORqL3?t$x0_a+++p^m)RQ-wBj=7rg8TpbMqw3LTo(yXZhniO+beAW-bofAZwdc8@+O5d+!-SWO%6lP2iN0wAa~n2< z*u6eQW_UCQzkji3>_gtF_r|m^H1E*BHiqb}oLe6+=kKpIFLmDtbL)f zo$&SGV(CfGAn0(@(pVB!!bAtWuy_Q7jGxc;9&Nll8-Q-IKV0)-h{rBEfaiffum5!J ziCoGDvx<$7^Jx!PZVNk_)e>~ACErtovdW)#wio|#gpj>~eA#l$JM@mls4#`+!F-!j zLY%(0zTTmLL-S+!MZAn%MRxzfmOp^M_8Rd_&N;WCUTS@NH$q$y!AO2v| zemO8@Us|dsT*KE&P$6|=T{Cj^0f%>MD`l;~4B@k_mtTJ?ICDgN+}LotT3p9YXBmZr zjve<_CHc4Lx^D@oUZS4ew1kh(S-iLN=~CF+2p4|D%yu4Z+;CpZBiY%E6&HDp#mnnc zMO{T_dE~cvf9l-=RR%A5jNTf*%JTg7QEi%Heh~ozEbq{ZYV%;jEpq{`vGc)PU-kxY3-8tAI%81FU7O`YJJ+f}yG7aTt)+E3 zD~BQsRgmL`oAP-RAFP>;nO@E4Z}s8|*ZCSoJF_pHE0lO;)q>2>8LnM2VSE#N_`~-_ z>?mI|%ga1a_$J2a$g1RCcrfip^V09-SDIb%$9bbmAg{)Yn{p-{Xr5J*5kfJy*d#mmt*zuv#}>q%Bw4ot<-%L4+u0fDK& zA6>N`mPv`WL(kXUBxf40Cvm?QrZ$q#kE zSUAS!3vS24i2G{Hz+H8>c7R)vDq5hw&0 zr3C|UD|@t|D1^?k%-`EGg#wm+o@9yxP&MN}>Ft-c9K=ii7hVGYg)yZ69^@}&`R{c7 zovy!>fxqPZ_v-pPU4JP9f64jp)%DlX_5HRFY{G%9;?G??{+~|)K+OOgC;-^w|BHu> zU$M*pAjjL?Aqd#sn7L8_!v6PqU%!5*?^n{yGIY?=l;jK{xCS#3bOltf-9UCl4Qx^qnm^9VkNL^JZ0?phj{km1c|L-154Bx+`!NC#B zl;MBE;E*rwt41H#RPzZk6EhNLx!w&VySI9?#_jQWaZyFM3T>M_r6%hdOuJ8*qMyl7 zw2jnq-BB^Mm{v3!PIm73fX-I0g*F!LzjZ01)IpxgFp$3^aL?=7N6lNkv@Ht)2`*Ka zH`<2peUi-(7LXLg3iK#deF3$7TmAWq*5E5_R8aCQAFh+$Jm}7oOZATMjp6M|f})zR zvc{ynxsnRe>*aZs&TI3UY07od`2D>jw|s2VT^TGR6-X0oXPo3}(^`Ad|t4O)`iZJNv zerM?`tx*n}j;%RewfZ#h8x>&J_U5of-nJ%8F@09%{Yrpl}&!QzKx0wsU9!J$kH3yV#a`Mp&Z z8?esUY)DnMSl|F1kG2(~d0a42v>{2m_yj$+dRd>wPa4P*5~t8>U749cbr3WKui z0O(V!{Q-U)bO0qg*y00VZR|D3+_>UeIVJx9_(-2!N6Vu4^nd z7?eqC``r%)XBG$g-G)N2?O$N1W&9h9AChhF2>7wJRYf2Hy}ys4ib4VFkIe?$%YND@ zz79Ys9^d8q%0C`{(EsO8Jl{X%aqy*l-(~|;a{=L_npDgd$xGA%qZ+ z5@M($2n>XpLg+n|&`ap$hc{pqLws;A}W(|YdWxpP1NeD3mv3+FFhy?piRmCIMI z@Ls$53-7fX*REXoMc|hkxA^$^`LABTEhxYzc$1Hx@4t|oIeR+i=X00Nox8-xdxe+p z|G1p|&2!`8PyaeIarVp|o}X@)gv!~;3oV~$g#B=oYzt{PH(KBfE?=$n7Cp;q^@Z3Sy30swb z_S^cX`%WPpOPcI^a&pk`R(th&d~*i>D*8WLHLu@9pN zJI83@n^rlGOO#!K7p7HOCCr0ef?Qj%qq>>V%2Hn2?vU|DWEEkN|k638P&Wa8l zGIxzb%`|=qW_{-9hFf%`Gx9BJ{7fg0$PJ5o+{9{N__5*8j!^a>Olw#S)W4F;L4MgBe0eBI3wzyP zqxLkOxKeClwf&K~e``7qzm;R2<3z1VRhnW^<#tYSBwHH9mR?66{<7QOhdQ?H-{F65 zG8^n9vJ!5A8wW9p9!|YY!Kl}&R$4kuJp0lClT)uZm&Qpma&PC$KITh*i4nbpc4*HTT@Pgq z$dXkG`XDq-04tq+^Kf*{-9x=^`Ky!b5yf@JW<9<&ZGKY!~-kaijk>~gSI3w?Z!WB!qv!MagRFVrE|xvI{_k;nnXhn)1HEF z`kHVe=$fA&&}9QvWR1YpcDTV_-yd_90hkw5jF)8SI{N;0!B&YnC~aRwCWKn)fPNU9 z(pT>yeGBvV~#?!Ny&>Z#nx%J zjC5AFE^~j2eqj7X7)qMWanpn z$2EX_=-9pE*n5oq#A+g9$2yHe+sh4iNT{y?q47hmty)itrx9~j>$g*Q4KhbNNFOj} zbNhLW7Om=-<-zoFJ)A;ZCP^)2+`ZkEcdfztR=!Pkztc?Z`Kj_m2k&1jc^!Dz^l zB|@?y#kOm}wXIkH@d^wJbXcx@JEqwSj&s>~=<1|Cf=<<$9u!)1plGn4=85gxK^dk7 zh1=91){`D#A@#Bgkg=Dab4-ta5-!XOwY@heuN}Fr%;a1-(0QRc3_wlvSXks-B7@{q z;LiOd5pU#Sk_L6Y*P76uu9n#`86+HQZ&KeV7(bQdnT{PEx7y^_ZY)QwVw6@O6qDq* z?X&h3i{>PS*6ifrm5*dc7T&)CQu8t59g75v8H8p*eDVB)k}Y2rgB+DCr6;TCt@ciS z8GYm-+dmoGtetA+oFKq#d28nA`R)D~`dpQ!}3P(TDD)TZvsbr0Gu|w11 zpItHh{MY~d0TS$at#=0Kp&$6TJREt&358B)Tco)iu07EQ5P_!ep#(|_RdbN zCglnH$&xVxuHV3E)?W%DU`WG~)s?Uo9dn#l8e&!A5O~5fd)>}?w26=sRA(w9ROWx7 z0pujF@_TJdh~4adZlqe+w+Uw%je2-4`vaIgA#6^Z!YP%{jZ`gmC+;jiUmIsq6a92FcH6S2rB;!-BZomnTO|JE*?4#O0 zc&8uO_&6IsbaLl()y&zYMoY-61tgWpXyN<~Zst6Wkn1RRR)POku!uwo2c*7Qwul)o zdh{I6+;(mSh8~wi-6+DAnBIG8wvTNu;q34&I0LN`SIfPC9LliuQ`@}|?&WHLA*lyA zVr(@ktJRSw^XMyUVcfB$$T!oO9i;99EUhe)1=m#%jYFoT0|l51^dL?DLt{~|hI?k! zpgF5Vk3+5ao$oPBb%K&*;QVr~UJ8bZs0Kze`2pmS?bg|jseoZAQd#Hk--qTas&eNa zbZ1Azych=uYN;y|-O!;vQra4=4oj6K#NTAu=GV&;nOmq-G!dqW6%Xc~<&r1L+Ki{% z9ymF<%81ljup)+4wwCz^3t7)~6fL^$$0S}5rYt~k0rCuLpcmk$aP>OggF zQO%mNza9w4I)!Mij;x#0f}B{|GJ`M|Wk`B*nJtoFFtVRfqgBmXL)>40$CvU3*wVii ztfx8VyJFJVO)l*js?IJd4;O-95}Mig5#xP}w3jL<$JP=Xh}COCZeWR`Fb;_PV;S@Y zD(U0mVE(klF8N@n#%jz7(qDmv!Yt*U*Yr^}8pn6im~6ce1N>p%R@(s8)g}f91ii7} zX^*SulXo7GGB3Nd@qX0c#m*`L>ZpUiuH49cezUqZLCAMB1La=+7o+Nmu4X{MFtFO_ z{tCoqkx9zNh*F1ME(`lz-Y>@Uu~U2l)1kw6$9YBjdq4!GT5L8d3y@e`JgklDKHsI{ zy%XdJ7*%@M?GNM)+A+lL!gr@x2*>Igz|kvUisRde*jASZMYaw&`Gg1ig2dZkf>$Ka zdS()I(=s6PDKTlju{jryV;*Vv6g4^34ajNM25P=t3yVH52(yf}MTn{wvl`#k<%@M+ zuX((G06T{fdp9R#0kqFFrdjduJpRv=XtnKOVW(z24+I69d3-et*rl#t%X_j5D;jDg zr#seb@zI-&`1Yr*@px~p7bp}fJ+=zoQrM0O{s=7^Au115djTy2o*a(X=N=5g_9`AJ ztC|Ob@*irv7^z$dS&{3|P?H*=4uSBX4{`QM`EzAZSqi>n^7RW}NEAUsNE-?bP4h5o zs{k~@e_h5|O_!tT>gOEIn0Qk7yB%7%CJX}RFLRt@iAY;K52OoVm9v5^3)O;;tB++l$figbTgGw<}tp{wS4G$*NcIqYirKtYkQ z`+P7e_B+30Q)T`GWxczQab?HRw&n^Wy;61aDv`Lt%{=Ru2;wE6H}co7>E&ZJWldN1 zwF2HMIqua?Y%CZGIMXr{ye-q0UglcU8mCxdlzGT_F9F1NY+avl#b%+SUtf<5m#Cdsz6Mwz7&8Ksazc1rKyac|~=y12AJx+qTv^xul^~ zp@&vK;=?=VU@|gdt!;JQr~zU^PHM|-U6u_$Y$3Zxika<5gi1xsow&9MI{$5qo|H?*JA^R!I1X^w9? z163W-wm{w@T@kjk_NYmHg*Ps9->aElb}UUV8*~|NZ^FudOokjt)EZqJlcF!?UEca+ z^UcO@zAxUhGCjHPLt6l1$K5bH{q~Cl!@Z-+r9X=QGXtC(`T5&3qpbO7HFT@Q47%OU ztx#*Z_PH%jsQ&jxa8}swoL*X(CW9@v?3dk0|2e`a%oO>u23@9sB6(5dG(-be{Jl|6 zq;s0h>atXvM=ik|i*_~@=@41{Y=;po1bW=&<1X>e8V?kVx%pvRHJynCRcuV7=?V}= z$4ck8oHys`B3pDLCAdx8S!zg8{5qSB^o`df<%Z6 z4$4k_=-3wtMCbQaPlByX^^D}lhcU4U@dv_f#=)U5-wC#{ekg_raRlh{N%8~bR9-sJ zh!A>=dwfO*uj~YaGSUdmXj28IN+o?4_8Cd}$(~J!H7Rp$0O|cIX4t zDkhw!!JO=>B1kW6pIM&;Pfz-cr65L(lQ5DCA=kX){&iRNj?h* zvRy9RuAC1>oO3bm;D7b}gvXZm)K4Juts;Iz&Y)pI#E9+g<8-KB05@lPe%`4cbdC9G zO2fmU=6H2*E&50K}*mLRo=ik=-W8xnIGDB-5 z@$RRM7w=nGGL&WuappQcOTO%(HJ+dU^&hz8%uh*QFP1#I&}AfoVp?3kRw_$FgEF^{ zEDQAtlhTg0tM*yq;?6dOx$cP%B+y!#H`6eV1!+#`$eB&x*o~CUTUu`NB_r4lbbC?* zB|n;9eHm9zc$Bp0a+_B(z)$7k!7cl*Hp@6MO0c$s1>wt|-+tQxP$X+=z9qKmdr7lqh` z!GXQ)n`gKSmtQl8na~#nuUR7<-kMg_Gy_Yi1Q{`4zpBIW-N?Z_;TA8;k+L_#ndyeV zKq?4wW<}WaZN0tk5xhi>Q}82ft5uV~+x)7@EBgOHl4cPm*6xg-Bh?N>-KH{Ib67E` zxD>Fr(&o0F=JLQnHh8L)-MiNI)IWI7|5#9UrBM`F|Hu;$e_$NRNHz=aQAf;of61mf zd!YwGO*yUgwv{0f?vXPTyyljw!skX}NEU)8On5H29Jb(_U#yo8>UvlpSgp zZ2N}DifXZ*2PlY!cwDHL&Gtk)jsD{6kctC1Ztt~ck%L@|qF}w>K&k&MeQU@vH9lk5 zLR%{SP7ANzKkPe)Hs+RclegPM1WN-d1^TUqn^ao6no}~S%Nd#l*!BtsyJ&9}l-9lG z@G8oE<}*L7=cP}ST2odEhJAZ@> zGf4xa;8SmXaVO$m1(}HvSlD&$etd{lghtKKOMm?mL4_Pm?KF^PxJgYYDD6fP#o9R} zBv|AA}`@ACWhDHpV-4-YV){wo;pW;2aFCQwVgi&5wGkEZ_u3fz%-WV&EnGl~6 zYLj%JxmN4VUO$Ljqe6GxE^P(3DC+v3@R-`^m^O>Cru1cLuWP{{PIxZZX}bT;bMrsQ zOP;fRWv_3}Tm(BD&;7DX&X*q(^1f_DKjDc9y13Q|jz6@12wv+sRmK{({)r2V_+8;~ zAEiux*8J2S_mF!Uq(Mn4y)mDfYMz-I5m49ezh9|E+vkT`*hI@7+b9pH?`<$(ySoPi zdMrdd{((&sij`po_JZ3 z&|9ynOD6qqy_pcNTuZ1cAwl;OP9u7$+myiNyu|`jHqr%6qmk!YmT&I{w*&U$gB#6e zW-F&_29Trj@*skZsn3p@?U>xa`eE=14}4A}B9}#aXOLXP8rT>^sDK8vq=bo~BHHWj zg-J8D!%IrHekh0xVCNn*64W$mzBE}^?tXAM;Yl{UVS{SuAmAR@zA^r1gxkrku~AUB zQ@raYx*X2LEp8QCJIRBSdoWtWI~xgISEa)g`f}VEj!*J;TdWH9eE02|$7&oC>ZIp- zLD+zKNRmLE9Y@LKcEh;9>3A00Z+5ldrFYAg*M!X zVz>NW38lLgvJxuY>?G3H`P8NNqj z^_`16%};%fg86+>OvS3-LrQEpoLAoPrrWr+pY`kv)xDV5EIZF?ys6m}5U2WeeKvuy zmj}OuJ=7a_EvdQR)^K&Sv6(lx2^11%p{>@bNq{J{gtyK%E;^5^!~~^;v5EG67_i_-0x&`7`2KKe z%i|NC%1BO}sUOEwzd;DwixYHn`rf9*NIEc(5KF(E)$QO`A#u@;-zON1^9wPTi;SXV zt4v-V!Zt?hM$Giv9bcRGeL<(r^C*A*PyBQHwH5WM#4c_ln?7~r2`W9-F+siJu=-RJ z(si2E5AbolGo&zvX2@xzELa@f|4O#nt+$O`S@~QS4eTgr9M+YIcJ!`mObu>}mb6`5 zHWa82DRRG+?Ci(k5NsW4>&-s|{MpAe+nQ!2b; zVqE$2;d{jhkMD13Tc*g!L*ta(5ba$zw=zH>r7u^YX|I(uwj&onUkWtLSz82F##_HK zaoaF0>`-4SqQ`^Gl!Mg}B$R-<8svrPZU(8%ph)>TJt^cI$<tgK))2! zyB*ktg`J6G{_Lzfar%IOE@_qKA>A4@-MR8-+Bk$ zBhqTJpNkgj=(dd7_hV~Bk9cq6^=mk8@}ML<7QPBS))%|=fFl!Rk`>?JteAyt$QPpd z$Xs7Auzj70t$o{#_Hgu0Ti&ym-00We)pOuDm8^c?sz(>rFkg-YWNoYMj}9Z9+C_v~ zt@k8{eWqhe6~mQoepm%)ZQpl{_!Fj^r*3W6yJcP{XH0p1_Zb&hk`V7Y7SSy3biFNL zcRmw9B$e>pe6nqaeIR`x>Nid-^U_k$`zN;6t7eC24b`d-NY2|5`NYo2(FkaA4~6by ziMmXwJwV`&DF$@YNm9~0JUozKZjPIJ(TLr-?`Zli&<>3#eMww2FLN%6|nC~u3= zF`@L2o`V(j1z^lf3PLA^8-b93D!c*;Ppq#9G_O^D-jFLLklRa zPJQav9E;Bvm1**dDpubevj=K-e)Z*BUYCGVk)~l@qAy$8{B-rlbggie>hbgC&5EW&h zUf@yA+HD}NFxUqRdh4I*A2~7aSvlFCz15IJe`V#WnBC$V(j_qRqF&2yK;ZRaeMP~t$ilOqm0#6X*6w>d1LY}a!_YpaXqK6tzB zs^#AGc8jen`m#n_UU^+Ff-6N4irf`&GQPMyw-@)8b)J;xXu0^bE*@QfoU@(bIVv0m z^Y^@xe|)E=r$l+tWGt|s5h?>J9Lakyxa)@TIlAR!{st#xF6gkDEpeA?`KOo#O_$_k z;i%zl1rL=6Pbya8n`1?Dz8z8m92e>p)^9NFMx6}K&n5_S`LeC?_3ax$;Sx4A(ZOKG zt703Oczw~V$+GWkI;yyzJLE_7*n6(gzIDN|-;teQ*#t?(x?b{4=BjQ^CJl6b&vjE! zk=YG>g4g;qC)-ORw8_|^eZLYM#T4@ca}?f{(pFvt(cm^h|8xybX1Oh7#m@P!AQkjR zt07+cqDh4cvZGL#XpS;-Hdee&YqDyX)I}_Fip? z$|^D!41+>F^ws9YtC$EO4xfsG^#HoXtlpo7iq&< zDNq(4I`;hK?Khx^SyA|?2JxF^B1&RP-7)n}Iaw+D(d6orvdF3JtjpG96MmiG{XDDS zJWTx~T&X*M+UM@y)&|Y1v!-kw(_;4j%5rFPX9SNle9~v7Ht&T<5Kxg|dx)b4R+x3; zEmN?>Z(lsll|ozWw|4ixAalYKU>HQPQBevz7+O&gYz2tBSSl#F$ifn|EiMfFn@S&w&WvygDLGKnGQ|~ldlTtM_6bjr^q^0n?0VvH zp>2=Futw{A2AjI%!@ftS=G#9_mAVb%PdWhn>Cl&N)`6Hx-WMl0y?W|2WF|GxvZz)0 z4fsp236spKjzdF|{B)2|2*w74KWI<)-U!2MGG z1Hw)o9KWzAP(Ix|hw|VD9))*fv5qy>r|syCdJSTrc3iN&aM%vmhtY#nB4Etef+83A z_9lpooKKwYVZ*3M1=M@P)GIJPy)S5PNoSvofuGs;|YCbRg!spRnnP)Iw$mS!)^tg}ej{*;8({d7#`oB|hQdLJN$I?P-KWLffT0~2;@Y5#_L3+C% zIb`&%oPtxCjWU&6J8PVnHtj7roBI!^kbG`n_?Ao%tV6aQmzJ{YCs>VuEJX0cMs6lLydq?4XraF~_@A+L_kN1Vc8>qXv^30;j4aHW>94BBNkt)Pd@s^M zv+K(JAjzbvw)_>GZ{>g!NxAi5v|>Yxe@ha|B;iY&y9@+YZSbKF)8^jCPkJ_pCTb9u zXKLg8hjOoabny!|+{nn$l57q!D{8nJvaIc})Q9{gOF;=o$q-^EtpE;{0dIKk zA;rZ3J0_IPn{Bd%Vm3N5fYNB&&lH2dh!iR1wl||%*IE{OJT#9IQ^>%GLPj0gCacX| z#I{@2GHMtW)F_wkO^Z)^VnTfmEa>8Snwd-cSaD0_wjnUDbPMmYxQiokt9~g$*E5aoFGv+>+TlS;Pz9IB5 zNv825g#WwMfMiG~`Rl)TH~f-3vb`;BybWXZeu@=YpH0SiU7DUP+MZz#*(^b}j)JSw zSW%_BTr=ywrOLg!=IHs&&F3LrAg3TLDRfr|+@Zd0Jp&dCg!Ts{I8na2>)aa(OSxOI z*FMh~u&!osjP={3HT!YhS#nAH)qAi~|K2L|x-xJ8-B03t)aQ{xv=%_V*hgDuuYbj$ zb==*lJg>^%M;h;8cuOtNP7w04^lC_Ji}9>tTL0h-#?25{6EzY~Uj$)=jif`676zwRbOn-tN>d6#n#;QBsr+c;1p*gT9MYjHkZKad1ce!+;w2@d zXymGFycS8g5Cfx_o!YSB{c={7U>Dyv0>Nd)ko{m~QCn)Ez2zHosId z^x+LC%r%Bo(u;!&B)2OkP|`B+%_?lDq}$a{ukI5bJ9qM%*nbXg63xuQuP{;+o+cQN zeu<2Q$Jo8>j&H-=VHdY_yeZiDsADr~$w8IAI^p5{#7r5I^Y?14Bi~x7aQE4UNk5#; z0#u5)y{mMsE)T}-Ih1)LXaTRf8H9IL&qzXZ(mHwyF2qzj{{@=ga=yP7I6b+gV=`Uc z;Jh7D23*rlNouX4I%w95?*|3R(G%}{o2W1956a}$*{R0fj06co*SH^|L&nLzENh*j1JtY@6IBGb9v?IJELQ!Rtm34VE z4MY6bl;`ry+bU=v&Y=lsSf7}|Wah)M4F9B;0SVoOFB?-Q=u;~WF2FF~nd7caoRl2s z$r$3)L8oj045hJdq>8>AL3HASbVllJSNTW$Y?0Z{R-Y=1W;XIJveXx*tVT9GeK~tb ziAuR7iBP8Hl32{HV0{lb%&0-UaoTHA$t zL98?ZE>r=uDc7L$9Nd3qcdDUpr} zBILRb7I`dkOie?9tOSrywQWUEJLus2#z>_9j7|h+XM+U_~ffJgUxdsZ4fO zio5$8ew0JA#y_+V@0>wB>?hUORq-v5GW=W%oEnNhP2XMU(slX)EaVg)L$Rfco(Da0 zIhGF_Yi#BtBW3D`r9U~S-HOM0GL1fe$Ka%ks#3;2Z}?KiLQSw7>u=)n<#kvcT5)pHA9WVWI)n_^CNi(w;E5zSy z%fZ22zV1Nv3!q{mqEGR;09Qii7;idGmW6xh3WE8QkuqHP5wt6vQb{86%jsK4GbdfM z4%%D+rbuDumwlyjw#_&yLFOHHC8+0ejnj^FG!QAEz%qwP_q=ajO((rLHqCs!zCRs7 z{^x}{BlP*R%%z9=C5H3KOQMZf6EMI}RokFib=h^ts{_8+Ei>;=O|J6g6{UNxD$oEKnP|C*^2kzmtTl=x@i2p;5GCpzYf7+>F5__T2J z!Y*CQdX0uvRLlyGj?}%hKf^?DtUkb-fG%rZO9j=hyCCb8p-@edrc`@+)wfpO09xTq zYWt@OqC@~)>E2x8uu?<*3?16|$f2KWu$eBkNS*mSm4V|7y%|^e6i?B8F+II(vA_N! zo1zYQF_sEppkd2V&nWfaw-rZMHU5|r*q&bTv2c+qaTmfYbYLypTSK#s%78;7Ll5lo z1#fATg?2LfCzx+S*gR+a*ucu$k@wM;cVSMbZCzJS9o#`($o{;q24I zy9dG{Fuz10jut?m0;|>j4Z`v!8W4B9^yo0HNolAq(u{(Jkxgr2Hs? z?}Ayms*Y}(|6EauQ}7DRKtszC7%xYM}+L zaMsJ#zm=%ZLbKU39yLipsrxaH)jjJq{BJ)y6S8*nub=)M>GH&_JTAOgw7P{!PU3yd zH!T4avaPt6tkhrYgcSvccbl$D(!TcZ-z3?CK}4WaW#a1!~W6tcZi+psZ$_F zxWNtoraCjgEXZJ;xFFO12lL7R8LnR?|xYGv< zlGl?e>?O;~&S|TeSeRnFX%alwZt>NS9XjVp*`x1p)=fs?bp7!{L19yZ-c@X=_rH$8hq{sC$3I!BWG7R5hp|(Tv zb{cft36Eq?BvU~1E8_WkElxnqk#VT)kRGSKjN+L~5Nb}_TuigXsx}LWT}$AK;H!(> z4P(EkS;*;^!PBYMId$ZRmJ)DD9CC`BHngg`^rBAl%b=K@DW1fx^rNdt>Pu$4%CUmL zf1b92FQB0`m1$cudYB+`ksGr;iUGg*P$)D-{x&Yq^G66^rh2=LSeITAfL0AsNW!Om z^SN%&3Gk}17p}@tWvTD>;Nxl&f9+(l6~Ak*bs8T_z9YA5uZ$|BE+R?0au@@P;;iJU z6zkJu!mW*_wn}YW^YKS=PebyoS+k69yfw(8ciT|hunu->mfc`3odNnJ4_z7ROaA@k z)z<*y6CO-2kC9p4za_ZS&Yu!I_<3wC-i)HW>+2>?cruVn%@9N@<&!tj8J22p|Gu$?8lR>ZWHEE- zap)yqU6V}a^q3t)cJcEZ2~&pBqWfj(E+{Ys-!Ot+j(hQV3RXxGVjxnS{wPLBWRlnKP6J$!Kh=Nw$<_cRPKWgZ6s8Itv7zE6^cglu%4W+6v;7+lt6Ak2j1GeN% zwsU)*f&pgE%^Oq2G%8xPN8?GOhK=p@1qUyejzy44U4WDodVHQ}ZoR}qtTx3OcUxxb z{oF)wBIoZ8q3dzQ2k3r@V4V5=`iAI>5nfU~9N*W^m(gx{D$Wv* zcU5r_7qI!M@68=_&%B*Kxc>L6z^bD_>CV9=ZGUddBxSW4!6RgU!t*=Num6dF{@?yH zg~6mkFr!A&D#2b(yEz`SS-8+TZcj0r_An{m&%@^USadIB?YhHXhbMI=77|622@FVw z*^82IN5G);#A(uDU<9caVrNxms&jukH9NQ+GcTOTj$earYw)GRJ2wCZdE%~p6$_he z5izXu@63{7sl+GjdSBC6G^qb2NpLTtP5KIml;91OJuY;uV=L~5KXGApGi5_lK0*?Q zJTYG8YGEF63g$L$S1yo2m=bPF#BklHi>7n#g#VSuCwn3k7pO}Oc zTuQp|MZ>i%x$FG)hHLuFi+jxX_3gR3Xo#UjDHPT|L9oHzS%19YX4{eGkh@l9?nnkb z?dWt@2I%h3>Gg*y=EP0T0TW&^YkX7^fsN6L8_U$qP4tDpsxL)Ot(o>sk81=B#80D2 zR?|x4UwO>`=6U;{Hxu^z+1`Zt{h#7eRO8XoU5{J2yfSvCwI8@qCp=FMOV=H*H50jt zC6NMd%Xx(Ka&RT__M$+9bMVfqbeB`z<@5wv`hjQC$92Y<|4!|*eVBvOM3$~=ddMYu zT>Iux&S6O@AAB&!v`{0}G3Az5&TLkwxad9?aiEZ@+!{zLe!T+O){+AQ^f6k`L(-$N z3Rk-`2J8D&SqK3Ut^uPEck|Zgx#Ub&TLE2ES$6KQ3qMM7fVdra-}V=Wr9ZL&)F%ja z;iL*laN$a^7kgr4X@MPR@G&MJjW=6$*l`2Wjo;!j<&Gc8dF9*r%q8-Ew{NdobHkaw zfE08#CRlX!XC77mixJQlxdThiz44WXOWDZeIeatKXX<+L2&d>r>*%;_%LZRus^1rS8=OBplub{U$*jhdlhIBrZr4|D z#jZD13?!h`%qU|mTy1U6Ty>#!vopDUeOZArY8?<(l4lmC&m~8&9sm0|Akk*aUJn=$WpO=(e&=s7esC3l+b zm}AY(^W}v~>~e;4gN!|lA|G8S<5nlpdQ(UWL)Nxha4GbJ<&8*4stst0g@elLZgxUu zb!KKPi*%_i-aR%Pz(bOh4lF?!?mxZcGe=!uLf3Z(Hv$iu%M29|3NE^{iRrc)oGRMK z_1o6oTolH+wvkB1OS5+LQEz|4(SA739C%tv5w(yZcxAg{9sR=t)b;CahX8kHy3EDB zulC_RmX8-{SO-uR+X(F2NUP%nbOw7y6%SgP)sF*}6tg=kwgXk0X$N|N3B@5_-Lx(R zs#Vt%$~5a3nQ?!@^IuR72Xx&27MJ3HOIaq}-#$$oT7GUZ)9sL%ADFE+!WKXcV-@Gn z-ZauK;|;bGMvy(s z9tu5fbFqm>+qVm|gkb0nj^dnjgPrd{OZ_)=_=gVvc&BYi$2vYY>6<&&3HvB3!wbvUckLpG((H>siz@&B4QUvy`OQ_}8y{O~6I2Eb{yn5GaU4hmh4Nj21 z{TC*5$l9Y-f)fTa-rK@mY6}ydyExNucU~7~!iu#*a66Za!J$~;0B@r~vE%Cs!?@hJ zHIh<9gUM8?WxF;tzT`eU*uh9r*K2y5SS8}mN9}=pWA7{&gnna3G>hdu?&*ET+!98V3e4UxA5t^FHdvMQ-cr zW;=rHQ`|h?KdjAkNNzHI@wImDx1C{`lmmWe#eX9rZ|r4l?_96^O%N+q9(G1)pgY(- z??sn)?`e#$AXVG64%?)YSkx*`#sq%z?$Y(ja*_@_qDV;78)s^Az zZHLagSqlb9KtMqJEq9saXt5J)L;q=;m&NP6cuZca0v~w&Ly7^{_XJa3lkEt>l}r=v2=ybfla~o z*Gbs^jG3pcqooR0#9I^ANbbNglcrO%v`xmnv3xJtr+59>&d_z-mDN1eOrJ(`rOtop z(E>hT7x*68;IKl^1$i%DOAY+$?Ysi6KGugXLh`+8l0h@9{Vd#Xj&IqC{!1`j=sDXI zC*y-0Yx;%uIwV{whrrt`OIgp!CO&fi#0BU=E4!$x>%|ISeIX3+gq zrPngD2z+QaF==ZuE#NI>Td|kH8DO&O1dl|V<7t4I0sb6b^EjW&CQ3F~UtuEjKx!MjEEd?pKrKxZ(CiPYyIm94@YGM zRAvW?cR~t8OpO{N6~f9;1-bnpQh0g)&;oeoQINTgtM~D&@M4+hj!9O)#{^vj(ZV%a z9u&&jQHNR-c_2YnQTKkSYhV<60*chef&Bt~)Y;!@PrHn3VAls)IYVzDbbqc~5$7X0 zo-)%0>DNGJCD1KB%@2(if{ba{P`A#^V3_Q@a6|^1W>N7+mC|L+t%>Swla?#?P1@fD zXn{YhKj&!HC%_#sw-?X>#0LSiiGHpHlqvBwy=t-W7O;?!tL;h{Au~}*BFpDF*4Lv=|B`NA%5i9+f!xzn}8o|Gm zqMas{l6Ooif1uX!{km_z9J?(0?|9Y`46?zs(dK z^p;|{xBFsu4>1Y-%uR6F4E|7qS0v9zcs*S4k25#@(qlsey824VnqS{UW!RG>ddGoC zzjS6=O6k^caS&fYMP{;^|D1l_``q(~4qTNOJM}O^JF_~@A=*smb$HJtYgu#wVB4Q# z5Rg6Z{9H!A=yRNeC%jw0T>kx0w<_IDU`z~o&iJB_ZGUaOkBynw>A~GDk)nkax`s&T zE-AY=^Dnz6waG~lEp`eDDUbZd$qcA}D=V7w^WXpfuL}fWOID`dr&)Qw+N@E21~+wU zspMmJqo;412m3=n)Ar0)Rs{YN9%F{N<<{Adk*^!;NpR~$x10NspSL>5j>IDc@7I7$ zDfHy3h!G?;2dfZwEwymeBXt(wp*FF~7xCLZxy5NHRfE^OL{@VXcncEw;sp)5eY@qt zG9R&skaHd5l?l5SWX+DLzaE8(B5D|*IM^;O+oJYEk{Vt|ztV{ijL`{!QcxYPxSSEn zsZJKBgloVKr_1}veC+op)ZFi^r(VO%Ny$;?jA2cP9UJ@x45sFlsofp!hDSlo&wZNo zFl_3Y#(w22Z?}DqDHGneu`sLaP$=KZIl^UtoCCtt)*_kfG+mmljknb0WfP(B!JXwU z!7k~>Or7@WutQ}XgV;aY>kzXBra1gVXW;~FdV0Xv*fmV)!oj3e6euyPqS9VxV{2)O z`YMI~_Q@es(w0{Wef!IB4UG4-Z*>(dJpTT6tql|LiV=^I4Kmf@022>4<8}0y7WQ@k z?c>5mB4P?LGeH*euPH%pCU0(a5TU`&BGT_mwW1rZ4-6n1QW8$Xhtg8p>T#p;4LLU7 zWZwE7SO|`ur`v+eEUz|#Ey|g<#xJ%sg7YBzbqj};!I5BhI`?hfoNR_TA@^TSWUJzl z@FazWWs{ahIqH>x0VOW9?{Ka<_j9rF{}bpL7v?6=+TN{R-pf^%cR7D@;?gxb*;1U6 zHrjU)OFR|)WHa3rsgq4^%cH8wN>ysN^k#n3r){m0ZYjwZo&0IXx;z&;%8qd&sp*rI zNK%W85{h2NA5hg*9mze+$6RW4YPPBKlh>qZRrM-~&Mz4Vc`S7L+QrIpi`kQ<^zThZ z-kej0*!!NIo#}{LL2i#G<85N2PYGcaVamKV_DY(>ZX5y{|Fskf3~$C{I3g(ock>_&S${UlRRq;l1q| zx^B5~3wX7<-AjotV~}~iVj&r%`FQpxNYnN2;pg^)^#1@`+S_TpM>tqtVMlzPT$%O$ zi`1HKziUq7&gz|NQ(22rT%XRBo~2satZGrKDitE~r5A&^_-pZF)|~+gROxCJD^iDL zIkq&7KXeq6d_0ZII6pRgGX15uG~FwGcAuRN6Lh1=^}mMy02f^Y*Yv5vI;9&L@=Gze zsG{;!T|0VtDtRn*8%8XIinqMLG2kE>>v*1j(E&p_GM zxYcz!RMb;@T#@jHk6*Now54&UbhL2}W4=rO04KveedBLZb3`vUe@DmiNEr$!2w%Z7vySdiNmZ$uVqGgtqS7_e zm6NH!rzDXHJd})hWDjjBsjM;;n!~|no56Fs&vAwCMwz~c>METr)K*%gB;y-;ic21+ z>X(MyOGB+XH&4`Q$xC$@?#I3l$w=W#WO;|w`zPR!#kE4MPL|XwVw~HZH#hx~IG@Py zdv_h53!BpE^=_kQy~$wLYU$}$>~GiB&HHV~58T33vyS)2%+D=%k55~MTbp97tz2IS z%iBT4VWM`{jyX+bp4v9}eTvL~YkU5XrArZMt{FcfDlH|r^eQFD(c`f?W4U(Lbv~Y@ zbs0FtZ#2zcqvKP0am)K1TBX0r{SO6wJ~bQTBu&K1`S(=liNd6uBL4ufgr1ReY2Q2_ zMqFqSsHO5J`WP$ji>F;bl^H#gy|}Fl%Jg_`p6h*PaeT>}_1{1w+l*KCF|+77#ka6+ zEq!Z~Ya7`rdbLSD8)kl&L{!h@{{RL?)1oAoF-z`-#;UGs*WqOKTWIy}WzJc=+4Ni@ zlaz97x?fJxrm+}v^+8*fnr4O3Zl)zPZ<;qxLe?oL^1g;*%Sxq5bHn->S~jgLL2>Rv zpONIDX|-n!3=i1iaQ{a@9J4})UwZP>2Z?A!ZeI)!Cr@$ zi!-x|#Bs@%jScg{T$b)*8X0f?q*hz>MB^+o%ciN;8to2|(62A5w4+Xwmn{6f@o%mt z*4<&KUrM8uA2In$*&jvxVR-Eusn4c#n$5xwH76I{`lI8QRc3OYcgf`R-^Tdfzuvs( zpX7T_Sf2@F`LmWnQtnfjM|0$~>g4X+rLHDF65h~-URh>~RX7o%0d{OfY`J#eqS4LNK^E!4+$Ruwt!25Q>oc9P9GKe>{$ z*6wYt6`{Ym2vsb6K?TYWvZh(=9tN?&#O$NNiqcc$TYY15S9sa&Mv8OB)J&(BX7 z{v~>+#l2Ro#;2%NjkKQ>oVZBib*`mWPEwPUpLss)^G@Nu?3A(>H}c%})pBpMG1V)1 zl9QcH^InCoI}*ul)LWdf$QL90MCB)jyCIZ$_v1MAB?jf(3)w>`vp2V}Qh5oBxg{Lq zBqKG+E#D|gj$D%8h?c!cC&$p7MO>PWOZL^iNBxT*%Yw8gvF%-qUotPpqYj-n70kWO zi=%pu>!-DgT|(NUrBaNOZF;0@$+fxrlAM}L4uNvd=>O5a3bGB9%TU#Y7eUGu0R;ez{{ZVeEw)2(iadkcA`0y$}E<%P6 zbZGF?Ey|7xlDz&;n6Ox#uGj8+qZ~dvk(DgGh4%2eSY5a&_()AW#|B0e)AS_h?_G;a zqkCYg*hicq&+hoX98B-vx%DOZDSH#NcELwYg6$MeI(0UilEX95vuivTVQa@RPxK>u zH>MViic$GvliO`&H^PqJsgZ>lM}-yrk4z{@uWzu@zRxua7)P1+JxOd&Z(^QAk$#1< zmvUrL=ftIwP^SG)TDNJnj6ZT;g=sY=v-B-=ruOhk4doGy4^tqm@J3OLV>x$>d3Y-^ zxqL^w#pJ@L7bV6y$@9O&*TfyChq@)rrHyFR)T_nCIKEiT_!)jGPI z;Qs(DvZB48)coMp|%s9avx zo0V$Qb8WwNV&zp-sNmPl?nX-X3I;IgCc zM|+cP_bQfhTS!+3p-hJGf)$Lh*trRCdABrNg!2+$^r@76nPp4ZlBnKG3w0MPqLvXh z_i$OC8Ne4IJTuou;Wgir9hRa>jNDimiZz^{wh2_b%h=BiD!G2e$xm<|mzph3FCS9< zz1wvgQ{2pbI<6D<`2jRb)hK+p?ETKk;2*?Rui-AQP7<8!X)|e5qTdnsXBD5%#JEeg(y^%D z+p(|B!!vC0a$Fy=J{owzqIiv^Tij{)l=oDMZV8*jDS5MLMMvwC@wcITOV)Y@`jy6= zdr}H7K3?~a?0uWz561?m0E8+7VCN6e2OT1(X#r%n-Fip4>4$(Ts3&e+C6$-Z!UDOxD^J0X1iuR_}9H@B-PIxQ&)=%0oE_V=9gAz+XCXUH z)DWL?)9fPf5w-O!`i04EEV&-x3TFk#RKafoZb4{!^z~v_3`?*(VrGw6V$MS zmZeIaX)ns(W2vN>fAKwE{YAA07QYP) z{{Y0V_zQdKcO?j zW_NK2m?vCXRos z_}$f-=H+p!SBzx;0Ft9KVd2~Lhc7NqkJQeq_>btmn~djms?mg_^*(>`FZO}yx_vs7 zbPIKVF3O}OjD1gmZ}pqo*|&9hTH`<0ES?DCFNBTUJQ@3HW#-pj@fYHct~&m6g$ z3ps!I>G~Y1b*o&}b!t?Ur1^WBc|6HSIhXhjYaF(sbg=R9#m>*j%O&Yaa{Ws(p9Q`C z-M*z9xb9`M*W(nv-%;P)6z)U2$#M$_wD^@`v)rqSMH|6Q%#_ohjw8FRn&NqK|+i*o(nL@_-V`8P8$~dzDha6iDiAUu{A7U;*B`)O> z!9=r=rI3Wwus0D;D5w;2D+iJ|DcON}z6z;uTgfQ2&`M~Uctxb}Nk3)<$i1D4x4eRR z&PIKRvq#k8+*Umb?tbMWva^zoKT#7gT#VXT8~2ve#!yYfwy`&7ONrxzPX(AfODvnI z!C#*dJNlejSty&yXD^rRN;R^GnOpU1B>0@AEQOZYMLed$mji$Fn7PSVz8*+MOqV3f zKXFd~07`}OmfV^t<}v+$M{Aq8BPn3DzmhVZO7H&wgt2?f!YxW$i*8M_bkLJ1oywD! z7$e3RCyq;7vhaz9mmwY*B=91(#{^p}l(%PqxFH_wlXwDKxMimMm2x215{o5*+*u?A zdllXCyp%!q`T=RnlChBnu*%1<9-4CCtCmr2ns_7x*J7#R5bQSrCbCg16jB?2mK*F< zCPowE+>(0B?pzB^wALr5Pkm%@I(^7O)VyxkWSb zw8}fgt9S)7lAsFX zf`9-8JNEPfY4OO;eMqH%1k-5%xhU8Y+*MBny~A)>c}padEk;}tivsLr!z$iOY5NSY zC!7(_BwU(BH-R?9GS_?%Qze`Maw(iaLmdssVR;EmWzsa9iBj zSVKL)oIY~wR??73B8`D@w9#f>yp;0@w%8Mk&Izs&ZaflCASFC5#5ZS!!C8@ya3=?j z2`+M5^(MFiySQX`6lkVGDtp*ZCA^Z0;30B7uu-fciRBVppqPnIFF9nrNqR7qkIKo@ zm!TOhSx7uc3(erHequQ)o)A?sy^C2T838u=D;W__EtQXQ(P;2FCF)k2OFWj|2}LXw zW7^S*4W*P(z6h>zR3;08nGdrmA5fH{OC&%N$RZO0tfwes0aYNRPyup2 zr5J}Ph6Qkj5f<7!$XX;;KBW>R6cVT};_O+EsWmJhD<_5*Be_g{K&#^4$ymQYDTFYIZ5u#?MH0y%mH>%Z`jy#|sx1LtQYpzetf!KIQY*PqQHfo@Kp<0L zaYU8?v$2zm77Lqxgm$nBDGU_DB^87O8X(biuH<%s4Wns2qi7J?Hj~?dv2fQ7s^HkV?vkm8UQwv&RwDw1TB zI07XaC4r6rh5{wGC1U^)?p=-uC}5IU3DT3Mnk*=|wqJZEL8XvrjB-s=6yJ1_IP&oL z33yjI$z8ufk@Y5;K~YD5qE|U6z+qvCVHE6`PXJA@o(OW;CD;k4g1d;vv0Q; X;$ zQ^^NPliW4l*bH@C=0Qc5naWk z_$md}F6C+ZkcuUo0d%(evAl-PK-@@_?yAnJL+K0ziiEsNMAfc_LFj#W?~+ zGE*f0l6fZ=?pux#T%fdFZ-OLLvPp6UTKQRL1=RftP9YT-GI%WVT#Mi#EFg+xDRK1z zO)Lu0000e*-V9^arGOKZ$D54*vWS! z<&w&HWV3*ZOM;PQdy#VPf)i3haxFF!_X6^H4e&xNlY9Y81;JFak~sq6mIHY$HX_2y z%1Z&XSzXJCeLy#Wo=C6-tg=h$dVdLm4vqq=4RXq0^eRMLFcqsfDEk+7a7SQFLZ9X) z;!#Hrf=Og06&w37rc^=k!32@@^O)0D3YVVS}D)C=iHj3FLJ&_y}-1S zSu44+_u-`1arjAlfnyDKD0&?RyODJEg`&X-4U7%aQ!E= 0.6" } }, + "node_modules/nodemailer": { + "version": "6.9.13", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.13.tgz", + "integrity": "sha512-7o38Yogx6krdoBf3jCAqnIN4oSQFx+fMa0I7dK1D+me9kBxx12D+/33wSb+fhOCtIxvYJ+4x4IMEhmhCKfAiOA==", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/nodemon": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.0.tgz", diff --git a/Server/package.json b/Server/package.json index af45cba..93d2112 100644 --- a/Server/package.json +++ b/Server/package.json @@ -12,12 +12,14 @@ "description": "", "dependencies": { "body-parser": "^1.20.2", + "caller": "^1.1.0", "cors": "^2.8.5", "express": "^4.19.2", "jsonwebtoken": "^9.0.2", "multer": "^1.4.5-lts.1", "mysql": "^2.18.1", "mysql2": "^3.9.7", + "nodemailer": "^6.9.13", "winston": "^3.13.0" }, "devDependencies": { diff --git a/Server/server.js b/Server/server.js index d167e60..9b4fa0b 100644 --- a/Server/server.js +++ b/Server/server.js @@ -1,15 +1,17 @@ import express from 'express'; import bodyParser from 'body-parser'; import cors from 'cors'; -import DAO from './Controller/DAO.js'; // Importa tus controladores DAO +import DAO from './Controller/DAO.js'; import DAOTutor from './Controller/DAOTutor.js'; import DAOCarreras from './Controller/DAOCarrera.js'; -import Usuario from './Model/Usuario.js'; // Importa tus modelos +import Usuario from './Model/Usuario.js'; import multer from 'multer'; import path from 'path'; import { fileURLToPath } from 'url'; import DAODocumento from './Controller/DAODocumento.js'; import fs from 'fs'; +import logger from './utils/logger.js'; +import EmailCtrl from './utils/mailCtrl.js' const app = express(); const port = 3000; @@ -19,7 +21,7 @@ const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const diskStorage = multer.diskStorage({ - destination: path.join(__dirname, '/ActasNacimiento'), + destination: path.join(__dirname, '/Documentos'), filename: (req, file, cb) => { cb(null, file.originalname); } @@ -33,12 +35,12 @@ app.use(bodyParser.json()); // Configuración de CORS app.use(cors({ - origin: 'http://localhost:5173', // Especifica el origen permitido + origin: 'http://localhost:5173', methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], allowedHeaders: ['Origin', 'X-Requested-With', 'Content-Type', 'Accept'], credentials: true })); -app.use(express.static(path.join(__dirname,'ActasNacimiento'))) +app.use(express.static(path.join(__dirname, 'Documentos'))); // Rutas app.get("/matriculas", async (req, res) => { @@ -46,6 +48,7 @@ app.get("/matriculas", async (req, res) => { const alumnos = await DAO.matriculas(); res.json(alumnos); } catch (error) { + logger.error(`Error en /matriculas: ${error.message}`); res.status(500).json({ error: error.message }); } }); @@ -57,6 +60,7 @@ app.post("/agregarAlumno", async (req, res) => { const msj = await DAO.agregarAlumno(usuario); res.json(msj); } catch (error) { + logger.error(`Error en /agregarAlumno: ${error.message}`); res.status(500).json({ error: error.message }); } }); @@ -67,6 +71,7 @@ app.put("/editarUsuario", async (req, res) => { const verificado = await DAO.editarAlumno(usuario); res.json({ Editado: verificado }); } catch (error) { + logger.error(`Error en /editarUsuario: ${error.message}`); res.status(500).json({ error: error.message }); } }); @@ -77,6 +82,7 @@ app.put("/editarTutor", async (req, res) => { const verificado = await DAOTutor.editarTutor(tutor); res.json({ Editado: verificado }); } catch (error) { + logger.error(`Error en /editarTutor: ${error.message}`); res.status(500).json({ error: error.message }); } }); @@ -87,6 +93,7 @@ app.post("/agregarTutor", async (req, res) => { const agregado = await DAOTutor.agregarTutor(tutor); res.json({ msj: agregado }); } catch (error) { + logger.error(`Error en /agregarTutor: ${error.message}`); res.status(500).json({ error: error.message }); } }); @@ -110,6 +117,7 @@ app.post("/alumnoIniciado", async (req, res) => { res.status(401).json({ error: "Credenciales inválidas" }); } } catch (error) { + logger.error(`Error en /alumnoIniciado: ${error.message}`); res.status(500).json({ error: error.message }); } }); @@ -120,6 +128,7 @@ app.post("/usuarioValido", async (req, res) => { const verificado = await DAO.validarAlumno(usuario); res.json({ existe: verificado }); } catch (error) { + logger.error(`Error en /usuarioValido: ${error.message}`); res.status(500).json({ error: error.message }); } }); @@ -130,6 +139,7 @@ app.post("/traerDatosAlumno", async (req, res) => { const datos = await DAO.traeUsuario(usuario.id); res.json(datos); } catch (error) { + logger.error(`Error en /traerDatosAlumno: ${error.message}`); res.status(500).json({ error: error.message }); } }); @@ -139,6 +149,7 @@ app.get("/carreras", async (req, res) => { const carreras = await DAOCarreras.dameCarreras(); res.json(carreras); } catch (error) { + logger.error(`Error en /carreras: ${error.message}`); res.status(500).json({ error: error.message }); } }); @@ -149,18 +160,24 @@ app.post("/traerDatosTutor", async (req, res) => { const datos = await DAOTutor.traerTutor(usuario.id); res.json(datos); } catch (error) { + logger.error(`Error en /traerDatosTutor: ${error.message}`); res.status(500).json({ error: error.message }); } }); -app.post("/agregarDocumentoAN", fileUpload, async (req, res) => { +app.post("/agregarDocumento", fileUpload, async (req, res) => { try { + if (!req.file) { + return res.status(400).json({ error: "No se ha cargado ningún archivo" }); + } const data = req.body; - const file = fs.readFileSync(path.join(__dirname, '/ActasNacimiento/' + req.file.filename)) + const filePath = path.join(__dirname, 'Documentos', req.file.filename); + const file = fs.readFileSync(filePath); + const guardado = await DAODocumento.agregarDocumento(data, file); if (guardado) { - const cambiar = await DAO.editarAlumnoInscrito(data); + const cambiar = await DAO.editarAlumnoInscrito(data, 1); if (cambiar) { res.json({ message: true }); } else { @@ -170,19 +187,19 @@ app.post("/agregarDocumentoAN", fileUpload, async (req, res) => { res.json({ message: false }); } } catch (error) { + logger.error(`Error en /agregarDocumento: ${error.message}`); res.status(500).json({ error: error.message }); + logger.error(error); } }); -// Manejo de errores app.use((err, req, res, next) => { - console.error(err.stack); + logger.error(err.stack); res.status(500).send('Something broke!'); }); -// Iniciar el servidor app.listen(port, () => { - console.log(`App listening at http://localhost:${port}`); + logger.info(`App listening at http://localhost:${port}`); }); app.post("/traerTodosDatosAlumno", async (req, res) => { @@ -191,6 +208,39 @@ app.post("/traerTodosDatosAlumno", async (req, res) => { const datos = await DAO.traeTodosLosDatosUsuario(usuario.id); res.json(datos); } catch (error) { + logger.error(`Error en /traerTodosDatosAlumno: ${error.message}`); res.status(500).json({ error: error.message }); } }); + +app.post("/iscribirAlumno", async (req, res) => { + try { + const usuario = req.body; + const datos = await DAO.iscribirUsuario(usuario); + if (datos) { + res.json({ message: true }); + } else { + res.json({ message: false }); + } + } catch (error) { + logger.error(`Error en /iscribirAlumno: ${error.message}`); + res.status(500).json({ error: error.message, message: false }); + } +}); + +app.post("/regresarAlumno", async (req, res) => { + try { + const data = req.body; + const cambiar = await DAO.editarAlumnoRechazado(data, 0); + if (cambiar) { + res.json({ message: true }); + } else { + res.json({ message: false }); + } + } catch (error) { + logger.error(`Error en /regresarAlumno: ${error.message}`); + res.status(500).json({ error: error.message, message: false }); + } +}); + +app.post('/email', EmailCtrl.sendEmail); diff --git a/Server/utils/logger.js b/Server/utils/logger.js new file mode 100644 index 0000000..cd849fe --- /dev/null +++ b/Server/utils/logger.js @@ -0,0 +1,27 @@ +import { createLogger, format, transports } from 'winston'; +import caller from 'caller'; + +const myFormat = format.printf(info => { + const file = caller(); // Obtiene el archivo que llama al log + return `[${info.timestamp}] [${info.level}] ${info.message}`; +}); + +const logger = createLogger({ + format: format.combine( + format.colorize(), // Agrega color + format.timestamp(), + myFormat + ), + transports: [ + new transports.File({ + maxsize: 5120000, + maxFiles: 5, + filename: `./logs/log-api.log` + }), + new transports.Console({ + level: 'debug' + }) + ] +}); + +export default logger; diff --git a/Server/utils/mailCtrl.js b/Server/utils/mailCtrl.js new file mode 100644 index 0000000..fc62c44 --- /dev/null +++ b/Server/utils/mailCtrl.js @@ -0,0 +1,37 @@ +import nodemailer from 'nodemailer'; +import DAORegistro from '../Controller/DAORegistro.js'; +import logger from '../utils/logger.js'; + +class EmailCtrl { + static async sendEmail(req, res) { + const transporter = nodemailer.createTransport({ + service: 'Gmail', + auth: { + user: 'drannet9@gmail.com', + pass: 'qnjkswqvuonuporj' + } + }); + + const mailOptions = { + from: 'drannet9@gmail.com', + to: req.body.correo, + subject: 'Registro', + text: 'Gracias por registrarse en Dran.net este es tu matricula: ' + req.body.matricula + ' y esta tu contraseña: ' + req.body.contrasena + ' No se te olvide anotarlas bien.' + }; + + try { + const info = await transporter.sendMail(mailOptions); + logger.info(`Email sent: ${info.response}`); + res.status(200).jsonp(req.body); + + const descripcion = `Correo enviado a ${mailOptions.to}`; + const fecha = new Date(); + await DAORegistro.registrar('SYSTEM', descripcion, fecha); + } catch (error) { + logger.error(`Error al enviar el correo: ${error}`); + res.status(500).send(error.message); + } + } +} + +export default EmailCtrl; diff --git a/backend/.vscode/settings.json b/backend/.vscode/settings.json deleted file mode 100644 index c5f3f6b..0000000 --- a/backend/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "java.configuration.updateBuildConfiguration": "interactive" -} \ No newline at end of file diff --git a/backend/pom.xml b/backend/pom.xml deleted file mode 100644 index 7390a10..0000000 --- a/backend/pom.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - 4.0.0 - - mx.uv - backend - 1.0-SNAPSHOT - - backend - - http://www.example.com - - - UTF-8 - 1.8 - 1.8 - - - - - junit - junit - 4.11 - test - - - - com.sparkjava - spark-core - 2.9.4 - - - - org.slf4j - slf4j-simple - 1.7.21 - - - - com.google.code.gson - gson - 2.10.1 - compile - - - - mysql - mysql-connector-java - 8.0.30 - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 2.3.2 - - 1.8 - 1.8 - - - - maven-assembly-plugin - - - package - - single - - - - - - - jar-with-dependencies - - - - mx.uv.App - - - - - - - \ No newline at end of file diff --git a/backend/src/main/java/mx/uv/App.java b/backend/src/main/java/mx/uv/App.java deleted file mode 100644 index d2571b8..0000000 --- a/backend/src/main/java/mx/uv/App.java +++ /dev/null @@ -1,132 +0,0 @@ -package mx.uv; - -import static spark.Spark.*; - -import java.util.HashMap; - -import com.google.gson.Gson; -import com.google.gson.JsonObject; - -import mx.uv.Controller.DAO; -import mx.uv.Controller.DAOTutor; -import mx.uv.Controller.DAO_Carrrera; -import mx.uv.Model.Mensaje; -import mx.uv.Model.Tutor; -import mx.uv.Model.Usuario; - -public class App { - static Gson gson = new Gson(); - static HashMap usuarios = new HashMap<>(); - - public static void main(String[] args) { - // Configuración de CORS - options("/*", (request, response) -> { - String accessControlRequestHeaders = request.headers("Access-Control-Request-Headers"); - if (accessControlRequestHeaders != null) { - response.header("Access-Control-Allow-Headers", accessControlRequestHeaders); - } - - String accessControlRequestMethod = request.headers("Access-Control-Request-Method"); - if (accessControlRequestMethod != null) { - response.header("Access-Control-Allow-Methods", accessControlRequestMethod); - } - return "OK"; - }); - - before((request, response) -> { - response.header("Access-Control-Allow-Origin", "http://localhost:5173"); - response.header("Access-Control-Allow-Credentials", "true"); - }); - - get("/todosLosAlumnos", (request, response) -> { - response.type("application/json"); - return gson.toJson(DAO.dameAlumnos()); - }); - - post("/agregarAlumno", (request, response) -> { - String payload = request.body(); - Usuario usuario = gson.fromJson(payload, Usuario.class); - usuario.setRol("estudiante"); - Mensaje msj = DAO.agregarAlumno(usuario); - JsonObject respuesta = new JsonObject(); - respuesta.addProperty("contrasena", msj.getUsuario().getContrasena()); - respuesta.addProperty("matricula", msj.getUsuario().getMatricula()); - respuesta.addProperty("verificacion", msj.isVerificacion()); - return respuesta; - }); - - put("/editarUsuario", (request, response) -> { - String payload = request.body(); - Usuario usuario = gson.fromJson(payload, Usuario.class); - boolean verificado = DAO.editarAlumno(usuario); - JsonObject respuesta = new JsonObject(); - respuesta.addProperty("Editado", verificado); - return respuesta; - }); - - put("/editarTutor", (request, response) -> { - String payload = request.body(); - Tutor tutor = gson.fromJson(payload, Tutor.class); - boolean verificado = DAOTutor.editarTutor(tutor); - JsonObject respuesta = new JsonObject(); - respuesta.addProperty("Editado", verificado); - return respuesta; - }); - - post("/agregarTutor", (request, response) -> { - String payload = request.body(); - Tutor tutor = gson.fromJson(payload, Tutor.class); - Boolean agregado = DAOTutor.agregarTutor(tutor); - JsonObject respuesta = new JsonObject(); - respuesta.addProperty("msj", agregado); - return respuesta; - }); - - post("/alumnoIniciado", (request, response) -> { - String payload = request.body(); - response.type("application/json"); - Usuario u = gson.fromJson(payload, Usuario.class); - if (u.getContrasena() == null || u.getMatricula() == null) { - response.status(400); - return gson.toJson("Missing matricula or contrasena"); - } - Usuario usuario = DAO.alumnoIniciado(u.getMatricula(), u.getContrasena()); - JsonObject respuesta = new JsonObject(); - respuesta.addProperty("matricula", usuario.getMatricula()); - respuesta.addProperty("authToken", usuario.crearToken()); - respuesta.addProperty("authRol", usuario.getRol()); - respuesta.addProperty("authId", usuario.getId()); - respuesta.addProperty("message", "Binevenido " + usuario.getNombre()); - return gson.toJson(respuesta); - }); - - post("/usuarioValido", (request, response) -> { - String payload = request.body(); - Usuario usuario = gson.fromJson(payload, Usuario.class); - boolean verificado = DAO.validarAlumno(usuario); - JsonObject respuesta = new JsonObject(); - respuesta.addProperty("existe", verificado); - return respuesta; - }); - - post("/traerDatosAlumno", (request, response) -> { - String payload = request.body(); - response.type("application/json"); - Usuario u = gson.fromJson(payload, Usuario.class); - return gson.toJson(DAO.traeUsuario(u.getId())); - }); - - get("/carreras", (request, response) -> { - response.type("application/json"); - return gson.toJson(DAO_Carrrera.dameCarreras()); - }); - - post("/traerDatosTutor", (request, response) -> { - String payload = request.body(); - response.type("application/json"); - Usuario u = gson.fromJson(payload, Usuario.class); - return gson.toJson(DAOTutor.tarerTutor(u.getId())); - }); - - } -} diff --git a/backend/src/main/java/mx/uv/Controller/Conexion.java b/backend/src/main/java/mx/uv/Controller/Conexion.java deleted file mode 100644 index fb0a76a..0000000 --- a/backend/src/main/java/mx/uv/Controller/Conexion.java +++ /dev/null @@ -1,57 +0,0 @@ -package mx.uv.Controller; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; -import java.util.logging.Logger; - -public class Conexion { - - private static Connection conexion; - private static Conexion instancia; - private static final String url = "jdbc:mysql://localhost:3306/universidad"; - private static final String user = "UserRemoto"; - private static final String password = "password123"; - private static final Logger logger = Logger.getLogger(Conexion.class.getName()); - - private Conexion() { - } - - public static Conexion getInstance() { - if (instancia == null) { - synchronized (Conexion.class) { - if (instancia == null) { - instancia = new Conexion(); - } - } - } - return instancia; - } - - public Connection conectar() { - try { - Class.forName("com.mysql.cj.jdbc.Driver"); - conexion = DriverManager.getConnection(url, user, password); - if (conexion != null) { - logger.info("Conexión exitosa"); - return conexion; - } else { - logger.severe("ERROR: No se pudo conectar"); - } - } catch (Exception e) { - logger.severe("ERROR: " + e.getMessage()); - } - return null; - } - - public void cerrarConexion() { - try { - if (conexion != null && !conexion.isClosed()) { - conexion.close(); - logger.info("Se desconectó de la base de datos"); - } - } catch (SQLException e) { - logger.severe("ERROR: " + e.getMessage()); - } - } -} diff --git a/backend/src/main/java/mx/uv/Controller/DAO.java b/backend/src/main/java/mx/uv/Controller/DAO.java deleted file mode 100644 index 366f1b1..0000000 --- a/backend/src/main/java/mx/uv/Controller/DAO.java +++ /dev/null @@ -1,243 +0,0 @@ -package mx.uv.Controller; - -import java.sql.*; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import com.google.gson.JsonElement; - -import mx.uv.Model.Usuario; -import mx.uv.Model.Mensaje; -import mx.uv.Model.Registro; - -import java.sql.*; -import java.util.*; -import java.time.LocalDateTime; - -public class DAO { - private static Conexion cn = Conexion.getInstance(); - private static String nombreTabla = "usuario"; - private static String colId = "id"; - private static String colNombre = "nombre"; - private static String colApellido = "apellido"; - private static String colMatricula = "matricula"; - private static String colContrasena = "contrasena"; - private static String colCorreo = "correo"; - private static String colNacionalidad = "nacionalidad"; - private static String colTipoSangre = "tipoSangre"; - private static String colFechaNacimiento = "fecha_nacimiento"; - private static String colCurp = "curp"; - private static String colRol = "rol"; - private static String colIdCarrera = "idCarrera"; - private static String colInscrito = "inscrito"; - - public static List dameAlumnos() { - Statement stm = null; - ResultSet rs = null; - Connection conn = null; - List resultado = new ArrayList<>(); - - conn = cn.conectar(); - - try { - String sql = "SELECT " + colId + " " + colNombre + " " + colApellido + " " + colMatricula + " from " - + nombreTabla; - stm = conn.createStatement(); - rs = stm.executeQuery(sql); - while (rs.next()) { - Usuario u = new Usuario(rs.getInt(colId), rs.getString(colNombre), rs.getString(colApellido), - rs.getString(colMatricula)); - resultado.add(u); - } - } catch (Exception e) { - System.out.println(e); - } finally { - } - return resultado; - } - - public static boolean validarAlumno(Usuario alumno) { - PreparedStatement stm = null; - Connection conn = null; - boolean verificacion = false; - ResultSet rs = null; - conn = cn.conectar(); - try { - String sql = "SELECT * FROM " + nombreTabla + " WHERE " + colMatricula + " = ? AND " + colContrasena - + " = ?"; - stm = conn.prepareStatement(sql); - stm.setString(1, alumno.getMatricula()); - stm.setString(2, alumno.getContrasena()); - rs = stm.executeQuery(); - if (rs.next()) { - verificacion = true; - } else { - verificacion = false; - } - } catch (SQLException ex) { - System.err.println(ex); - } finally { - } - return verificacion; - } - - public static Mensaje agregarAlumno(Usuario usuario) { - Mensaje mensaje = new Mensaje(); - PreparedStatement stm = null; - Connection conn = null; - String matricula = "SIU24" + (1000 + obtenerUltimoID()); - String password = crearContrasena(); - usuario.setContrasena(password); - usuario.setMatricula(matricula); - conn = cn.conectar(); - try { - String sql = "INSERT INTO " + nombreTabla + " (" + colNombre + ", " + colApellido + ", " + colNacionalidad - + ", " + colMatricula + ", " + colContrasena + ", " + colCorreo + ", " + colRol - + ") VALUES (?, ?, ?, ?, ?, ?,?)"; - stm = conn.prepareStatement(sql); - stm.setString(1, usuario.getNombre()); - stm.setString(2, usuario.getApellido()); - stm.setString(3, usuario.getNacionalidad()); - stm.setString(4, usuario.getMatricula()); - stm.setString(5, usuario.getContrasena()); - stm.setString(6, usuario.getCorreo()); - stm.setString(7, usuario.getRol()); - if (stm.executeUpdate() > 0) { - mensaje.setVerificacion(true); - mensaje.setUsuario(usuario); - } else { - mensaje.setVerificacion(false); - } - } catch (Exception e) { - System.out.println(e); - } finally { - } - return mensaje; - } - - public static String crearContrasena() { - Random random = new Random(); - StringBuilder contrasena = new StringBuilder(); - String CARACTERES_PERMITIDOS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@#"; - for (int i = 0; i < 10; i++) { - int numero = random.nextInt(CARACTERES_PERMITIDOS.length()); - contrasena.append(CARACTERES_PERMITIDOS.charAt(numero)); - } - return contrasena.toString(); - } - - public static boolean eliminarAlumno(int idAlumno) { - return false; - } - - public static boolean editarAlumno(Usuario usuario) { - PreparedStatement stm = null; - Connection conn = null; - boolean verificacion = false; - conn = cn.conectar(); - try { - String sql = "UPDATE `usuario` SET `nombre` = ?, `apellido` = ?, `correo` = ?, `nacionalidad` = ?, `tipoSangre` = ?, `fecha_nacimiento` = ?, `curp` = ?, `idCarrera` = ? WHERE `id` = ?;"; - stm = conn.prepareStatement(sql); - stm.setString(1, usuario.getNombre()); - stm.setString(2, usuario.getApellido()); - stm.setString(3, usuario.getCorreo()); - stm.setString(4, usuario.getNacionalidad()); - stm.setString(5, usuario.getTipoSangre()); - stm.setString(6, usuario.getFecha_nacimiento()); - stm.setString(7, usuario.getCurp()); - stm.setInt(8, usuario.getIdCarrera()); - stm.setInt(9, usuario.getId()); - if (stm.executeUpdate() > 0) { - verificacion = true; - } - } catch (SQLException ex) { - System.err.println(ex); - } finally { - cn.cerrarConexion(); - } - return verificacion; - } - - public static Usuario alumnoIniciado(String matricula, String contrasena) { - ResultSet rs = null; - Connection conn = null; - Usuario usuario = null; - conn = cn.conectar(); - try { - String sql = "SELECT * FROM " + nombreTabla + " WHERE " + colMatricula + " = ? AND " + colContrasena - + " = ?"; - PreparedStatement stmt = conn.prepareStatement(sql); - stmt.setString(1, matricula); - stmt.setString(2, contrasena); - rs = stmt.executeQuery(); - if (rs.next()) { - usuario = new Usuario(rs.getInt(colId), rs.getString(colNombre), rs.getString(colApellido), - rs.getString(colMatricula), rs.getString(colRol)); - DAORegistro.registrar(usuario, "Inicio Sesión", LocalDateTime.now()); - } - } catch (Exception e) { - System.out.println(e); - } finally { - } - return usuario; - } - - public static int obtenerUltimoID() { - Connection conn = null; - Statement stm = null; - ResultSet rs = null; - int ultimoID = -1; - try { - conn = cn.conectar(); - String sql = "SELECT MAX(" + colId + ") AS ultimo_id FROM " + nombreTabla; - stm = conn.createStatement(); - rs = stm.executeQuery(sql); - if (rs.next()) { - ultimoID = rs.getInt("ultimo_id"); - } - } catch (SQLException ex) { - System.err.println(ex); - } finally { - try { - if (rs != null) - rs.close(); - if (stm != null) - stm.close(); - if (conn != null) - conn.close(); - } catch (SQLException ex) { - System.err.println(ex); - } - } - return ultimoID; - } - - public static Usuario traeUsuario(int id) { - PreparedStatement stm = null; - Connection conn = null; - Usuario user = null; - ResultSet rs = null; - conn = cn.conectar(); - try { - String sql = "SELECT `id`,`nombre`,`apellido`,`matricula`,`correo`,`nacionalidad`,`tipoSangre`,`fecha_nacimiento`,`curp`,`idCarrera`,`inscrito`\n" - + // - "FROM `usuario` where id = ? ;"; - stm = conn.prepareStatement(sql); - stm.setInt(1, id); - rs = stm.executeQuery(); - while (rs.next()) { - user = new Usuario(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), - rs.getString(6), rs.getString(7), rs.getString(8), rs.getString(9), rs.getInt(10), - rs.getInt(11)); - } - - } catch (SQLException ex) { - System.err.println(ex); - } finally { - } - return user; - } - -} diff --git a/backend/src/main/java/mx/uv/Controller/DAORegistro.java b/backend/src/main/java/mx/uv/Controller/DAORegistro.java deleted file mode 100644 index 3d7ae80..0000000 --- a/backend/src/main/java/mx/uv/Controller/DAORegistro.java +++ /dev/null @@ -1,45 +0,0 @@ -package mx.uv.Controller; - -import java.time.LocalDateTime; -import java.sql.*; - -import mx.uv.Model.Usuario; - -public class DAORegistro { - private static Conexion cn = Conexion.getInstance(); - - public static void registrar(Usuario usuario, String descripcion, LocalDateTime day) { - PreparedStatement stm = null; - Connection conn = null; - conn = cn.conectar(); - try { - String sql = "INSERT INTO `registro`(`matricula`,`descripcion`)VALUES(?,?);"; - stm = (PreparedStatement) conn.prepareStatement(sql); - stm.setString(1, usuario.getMatricula()); - stm.setString(2, descripcion + day); - stm.executeUpdate(); - } catch (Exception e) { - System.out.println(e); - } finally { - cerrarConexiones(stm, conn); - } - } - - private static void cerrarConexiones(PreparedStatement stm, Connection conn) { - if (stm != null) { - try { - stm.close(); - } catch (Exception e) { - System.out.println(e); - } - stm = null; - } - try { - conn.close(); - cn.cerrarConexion(); - } catch (Exception e) { - System.out.println(e); - } - } - -} diff --git a/backend/src/main/java/mx/uv/Controller/DAOTutor.java b/backend/src/main/java/mx/uv/Controller/DAOTutor.java deleted file mode 100644 index a713564..0000000 --- a/backend/src/main/java/mx/uv/Controller/DAOTutor.java +++ /dev/null @@ -1,156 +0,0 @@ -package mx.uv.Controller; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.ArrayList; -import java.util.List; - -import mx.uv.Model.Tutor; - -public class DAOTutor { - - private static Conexion cn = Conexion.getInstance(); - - public static List dameTutores() { - Statement stm = null; - ResultSet rs = null; - Connection conn = null; - List resultado = new ArrayList<>(); - - conn = cn.conectar(); - - try { - String sql = "SELECT * from tutor"; - stm = conn.createStatement(); - rs = stm.executeQuery(sql); - while (rs.next()) { - Tutor u = new Tutor(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getInt(4), rs.getInt(5)); - resultado.add(u); - } - } catch (Exception e) { - System.out.println(e); - } finally { - cerrarConexiones(null, conn); - } - return resultado; - } - - public static boolean validarTutor(Tutor tutor) { - Statement stm = null; - Connection conn = null; - boolean verificacion = false; - ResultSet rs = null; - conn = cn.conectar(); - try { - String sql = "select * from tutor " - + "where id= '" + tutor.getId() + "' and nombre='" + tutor.getNombre() + "'"; - stm = (Statement) conn.createStatement(); - rs = stm.executeQuery(sql); - if (rs.next()) { - verificacion = true; - } else { - verificacion = false; - } - conn.close(); - } catch (Exception ex) { - System.err.println(ex); - } - return verificacion; - } - - public static boolean agregarTutor(Tutor tutor) { - PreparedStatement stm = null; - Connection conn = null; - boolean msj = false; - - conn = cn.conectar(); - try { - String sql = "INSERT INTO `tutor`(`nombre`,`apellido`,`parentesco`,`ocupacion`,`telefono`)VALUES(?,?,?,?,?);"; - stm = (PreparedStatement) conn.prepareStatement(sql); - stm.setString(1, tutor.getNombre()); - stm.setString(2, tutor.getApellido()); - stm.setInt(3, tutor.getNumeroDeTelefono()); - stm.setInt(4, tutor.getIdUsuario()); - } catch (Exception e) { - System.out.println(e); - } finally { - // cerrarConexiones(stm, conn); - } - return msj; - } - - private static void cerrarConexiones(PreparedStatement stm, Connection conn) { - if (stm != null) { - try { - stm.close(); - } catch (Exception e) { - System.out.println(e); - } - stm = null; - } - try { - conn.close(); - cn.cerrarConexion(); - } catch (Exception e) { - System.out.println(e); - } - } - - public static boolean eliminarTutor(Tutor tutor) { - return false; - } - - public static boolean editarTutor(Tutor tutor) { - PreparedStatement stm = null; - Connection conn = null; - boolean verificacion = false; - conn = cn.conectar(); - try { - String sql = "UPDATE `tutor` SET `nombre` = ?, `apellido` = ?, `numeroDeTelefono` = ? WHERE `idUsuario` = ?;"; - stm = conn.prepareStatement(sql); - stm.setString(1, tutor.getNombre()); - stm.setString(2, tutor.getApellido()); - stm.setInt(3, tutor.getNumeroDeTelefono()); - stm.setInt(4, tutor.getIdUsuario()); - if (stm.executeUpdate() > 0) { - verificacion = true; - } - } catch (SQLException ex) { - System.out.println(ex); - } finally { - cerrarConexiones(stm, conn); - cn.cerrarConexion(); - } - return verificacion; - } - - public static Tutor tarerTutor(int id) { - PreparedStatement stm = null; - Connection conn = null; - Tutor tutor = null; - ResultSet rs = null; - conn = cn.conectar(); - try { - String sql = "SELECT `id`,`nombre`,`apellido`,`numeroDeTelefono`,`idUsuario`\n" - + - "FROM `tutor` where idUsuario = ? ;"; - stm = conn.prepareStatement(sql); - stm.setInt(1, id); - rs = stm.executeQuery(); - if (rs.next()) { - tutor = new Tutor(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getInt(4), rs.getInt(5)); - } - - } catch (SQLException ex) { - System.err.println(ex); - } finally { - cerrarConexiones(stm, conn); - cn.cerrarConexion(); - } - return tutor; - } - -} diff --git a/backend/src/main/java/mx/uv/Controller/DAO_Carrrera.java b/backend/src/main/java/mx/uv/Controller/DAO_Carrrera.java deleted file mode 100644 index 34673bf..0000000 --- a/backend/src/main/java/mx/uv/Controller/DAO_Carrrera.java +++ /dev/null @@ -1,38 +0,0 @@ -package mx.uv.Controller; - -import java.sql.*; -import java.util.ArrayList; -import java.util.List; - -import mx.uv.Model.Carrera; - -public class DAO_Carrrera { - - private static Conexion cn = Conexion.getInstance(); - - public static List dameCarreras() { - Statement stm = null; - ResultSet rs = null; - Connection conn = null; - List resultado = new ArrayList<>(); - System.out.println("Aqui"); - conn = cn.conectar(); - - try { - String sql = "SELECT * from carrera"; - stm = conn.createStatement(); - rs = stm.executeQuery(sql); - while (rs.next()) { - Carrera u = new Carrera(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), - rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8)); - resultado.add(u); - } - } catch (Exception e) { - System.out.println(e); - } finally { - } - return resultado; - - } - -} \ No newline at end of file diff --git a/backend/src/main/java/mx/uv/Controller/DAO_Documentacion.java b/backend/src/main/java/mx/uv/Controller/DAO_Documentacion.java deleted file mode 100644 index 672fe82..0000000 --- a/backend/src/main/java/mx/uv/Controller/DAO_Documentacion.java +++ /dev/null @@ -1,107 +0,0 @@ -package mx.uv.Controller; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.Statement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; - -import mx.uv.Model.Documento; - -public class DAO_Documentacion { - - private static Conexion cn = Conexion.getInstance(); - - @SuppressWarnings("null") - public List dameDocumentacion() { - Statement stm = null; - ResultSet rs = null; - Connection conn = null; - List resultado = new ArrayList<>(); - - try { - String sql = "SELECT * from documentacion"; - stm = conn.createStatement(); - rs = stm.executeQuery(sql); - while (rs.next()) { - // Documento u = new Documento(rs.getInt(1), rs.getBytes(2), - // rs.getBytes(3),rs.getBytes(4), rs.getBytes(5),rs.getBytes(6), rs.getBytes(7), - // rs.getBytes(8), rs.getBytes(9), rs.getBytes(10)); - // resultado.add(u); - } - } catch (Exception e) { - System.out.println(e); - } finally { - cerrarConexiones(null, conn); - } - return resultado; - } - - public static boolean agregarDocumentacion(Documento documentacion) { - PreparedStatement stm = null; - Connection conn = null; - boolean msj = false; - - conn = cn.conectar(); - - try { - String sql = "INSERT INTO `documentacion` (`id`,`acta_nacimiento`, `certificado_bachillerato`, `curp`, `ine`, `ine_tutor`, `certificado_medico`, `comprobante`, `fotografia`, `constancia`) VALUES(?,?,?,?,?,?,?,?,?,?);"; - stm = (PreparedStatement) conn.prepareStatement(sql); - stm.setInt(1, documentacion.getId()); - - } catch (Exception e) { - System.out.println(e); - } finally { - cerrarConexiones(stm, conn); - } - return msj; - - } - - private static void cerrarConexiones(PreparedStatement stm, Connection conn) { - if (stm != null) { - try { - stm.close(); - } catch (Exception e) { - System.out.println(e); - } - stm = null; - } - try { - conn.close(); - cn.cerrarConexion(); - } catch (Exception e) { - System.out.println(e); - } - } - - public static boolean eliminarDocumentacion(int idDocumentacion) { - return false; - } - - public static boolean agregarDocumento(Documento doc) { - PreparedStatement stm = null; - Connection conn = null; - boolean msj = false; - - conn = cn.conectar(); - String sql = "INSERT INTO documento (titulo, archivo, idUsuario, valido) VALUES (?, ?, ?, ?)"; - try { - stm = conn.prepareStatement(sql); - stm.setString(1, doc.getTitulo()); - stm.setBlob(2, doc.getArchivo()); - stm.setInt(3, doc.getIdUsuario()); - stm.setInt(4, doc.getValido()); - - if (stm.executeUpdate() > 0) { - msj = true; - } - } catch (SQLException e) { - e.printStackTrace(); - // Manejar cualquier excepción y retornar falso en caso de error - } - return msj; - } -} diff --git a/backend/src/main/java/mx/uv/Model/Carrera.java b/backend/src/main/java/mx/uv/Model/Carrera.java deleted file mode 100644 index 0d2d0aa..0000000 --- a/backend/src/main/java/mx/uv/Model/Carrera.java +++ /dev/null @@ -1,94 +0,0 @@ -package mx.uv.Model; - -public class Carrera { - private int id; - private String nombre; - private String area; - private String campus; - private String descripcion; - private String mision; - private String vision; - private String objetivo; - - public Carrera(int id, String nombre, String area, String campus, String descripcion, String mision, String vision, - String objetivo) { - this.id = id; - this.nombre = nombre; - this.area = area; - this.campus = campus; - this.descripcion = descripcion; - this.mision = mision; - this.vision = vision; - this.objetivo = objetivo; - } - - public Carrera(int id, String nombre, String area) { - this.id = id; - this.nombre = nombre; - this.area = area; - } - - public void setCampus(String campus) { - this.campus = campus; - } - - public void setDescripcion(String descripcion) { - this.descripcion = descripcion; - } - - public void setMision(String mision) { - this.mision = mision; - } - - public void setVision(String vision) { - this.vision = vision; - } - - public void setObjetivo(String objetivo) { - this.objetivo = objetivo; - } - - public String getCampus() { - return campus; - } - - public String getDescripcion() { - return descripcion; - } - - public String getMision() { - return mision; - } - - public String getVision() { - return vision; - } - - public String getObjetivo() { - return objetivo; - } - - public int getId() { - return id; - } - - public String getNombre() { - return nombre; - } - - public String getArea() { - return area; - } - - public void setId(int id) { - this.id = id; - } - - public void setNombre(String nombre) { - this.nombre = nombre; - } - - public void setArea(String area) { - this.area = area; - } -} diff --git a/backend/src/main/java/mx/uv/Model/Documento.java b/backend/src/main/java/mx/uv/Model/Documento.java deleted file mode 100644 index 8fe8a85..0000000 --- a/backend/src/main/java/mx/uv/Model/Documento.java +++ /dev/null @@ -1,59 +0,0 @@ -package mx.uv.Model; - -import java.io.InputStream; - - -public class Documento { - private int id; - private String titulo; - private InputStream archivo; - private int idUsuario; - private int valido; - - public Documento(String titulo, InputStream archivo, int idUsuario, int valido) { - this.titulo = titulo; - this.archivo = archivo; - this.idUsuario = idUsuario; - this.valido = valido; - } - - public int getId() { - return id; - } - - public String getTitulo() { - return titulo; - } - - public InputStream getArchivo() { - return archivo; - } - - public int getIdUsuario() { - return idUsuario; - } - - public int getValido() { - return valido; - } - - public void setId(int id) { - this.id = id; - } - - public void setTitulo(String titulo) { - this.titulo = titulo; - } - - public void setArchivo(InputStream archivo) { - this.archivo = archivo; - } - - public void setIdUsuario(int idUsuario) { - this.idUsuario = idUsuario; - } - - public void setValido(int valido) { - this.valido = valido; - } -} diff --git a/backend/src/main/java/mx/uv/Model/Incripcion.java b/backend/src/main/java/mx/uv/Model/Incripcion.java deleted file mode 100644 index 7d5dacb..0000000 --- a/backend/src/main/java/mx/uv/Model/Incripcion.java +++ /dev/null @@ -1,38 +0,0 @@ -package mx.uv.Model; - -public class Incripcion { - private int id; - private int idUusario; - private int idDocumento; - - public Incripcion(int id, int idUusario, int idDocumento) { - this.id = id; - this.idUusario = idUusario; - this.idDocumento = idDocumento; - } - - public void setId(int id) { - this.id = id; - } - - public void setIdUusario(int idUusario) { - this.idUusario = idUusario; - } - - public void setIdDocumento(int idDocumento) { - this.idDocumento = idDocumento; - } - - public int getId() { - return id; - } - - public int getIdUusario() { - return idUusario; - } - - public int getIdDocumento() { - return idDocumento; - } - -} diff --git a/backend/src/main/java/mx/uv/Model/Mensaje.java b/backend/src/main/java/mx/uv/Model/Mensaje.java deleted file mode 100644 index 7c3c541..0000000 --- a/backend/src/main/java/mx/uv/Model/Mensaje.java +++ /dev/null @@ -1,31 +0,0 @@ -package mx.uv.Model; - -public class Mensaje { - private boolean verificacion; - private Usuario usuario; - - public Mensaje() { - } - - public Mensaje(boolean verificacion, Usuario usuario) { - this.verificacion = verificacion; - this.usuario = usuario; - } - - public boolean isVerificacion() { - return verificacion; - } - - public Usuario getUsuario() { - return usuario; - } - - public void setVerificacion(boolean verificacion) { - this.verificacion = verificacion; - } - - public void setUsuario(Usuario usuario) { - this.usuario = usuario; - } - -} diff --git a/backend/src/main/java/mx/uv/Model/Registro.java b/backend/src/main/java/mx/uv/Model/Registro.java deleted file mode 100644 index afdbd2e..0000000 --- a/backend/src/main/java/mx/uv/Model/Registro.java +++ /dev/null @@ -1,38 +0,0 @@ -package mx.uv.Model; - -public class Registro { - private int id; - private String matricula; - private String descripcion; - - public Registro(int id, String matricula, String descripcion) { - this.id = id; - this.matricula = matricula; - this.descripcion = descripcion; - } - - public void setId(int id) { - this.id = id; - } - - public void setMatricula(String matricula) { - this.matricula = matricula; - } - - public void setDescripcion(String descripcion) { - this.descripcion = descripcion; - } - - public int getId() { - return id; - } - - public String getMatricula() { - return matricula; - } - - public String getDescripcion() { - return descripcion; - } - -} diff --git a/backend/src/main/java/mx/uv/Model/Tutor.java b/backend/src/main/java/mx/uv/Model/Tutor.java deleted file mode 100644 index 2276127..0000000 --- a/backend/src/main/java/mx/uv/Model/Tutor.java +++ /dev/null @@ -1,58 +0,0 @@ -package mx.uv.Model; - -public class Tutor { - private int id; - private String nombre; - private String apellido; - private int numeroDeTelefono; - private int idUsuario; - - public Tutor(int id, String nombre, String apellido, int numeroDeTelefono, int idUsuario) { - this.id = id; - this.nombre = nombre; - this.apellido = apellido; - this.numeroDeTelefono = numeroDeTelefono; - this.idUsuario = idUsuario; - } - - public int getId() { - return id; - } - - public String getNombre() { - return nombre; - } - - public String getApellido() { - return apellido; - } - - public int getNumeroDeTelefono() { - return numeroDeTelefono; - } - - public int getIdUsuario() { - return idUsuario; - } - - public void setId(int id) { - this.id = id; - } - - public void setNombre(String nombre) { - this.nombre = nombre; - } - - public void setApellido(String apellido) { - this.apellido = apellido; - } - - public void setNumeroDeTelefono(int numeroDeTelefono) { - this.numeroDeTelefono = numeroDeTelefono; - } - - public void setIdUsuario(int idUsuario) { - this.idUsuario = idUsuario; - } - -} diff --git a/backend/src/main/java/mx/uv/Model/Usuario.java b/backend/src/main/java/mx/uv/Model/Usuario.java deleted file mode 100644 index 845c1ca..0000000 --- a/backend/src/main/java/mx/uv/Model/Usuario.java +++ /dev/null @@ -1,187 +0,0 @@ -package mx.uv.Model; - -import java.security.SecureRandom; - -public class Usuario { - private int id; - private String nombre; - private String apellido; - private String matricula; - private String contrasena; - private String correo; - private String nacionalidad; - private String tipoSangre; - private String fecha_nacimiento; - private String curp; - private String rol; - private int idCarrera; - private int inscrito; - - public Usuario(int id, String nombre, String apellido, String matricula, String contrasena, String correo, - String nacionalidad, String tipoSangre, String fecha_nacimiento, String curp, String rol, int idCarrera, - int inscrito) { - this.id = id; - this.nombre = nombre; - this.apellido = apellido; - this.matricula = matricula; - this.contrasena = contrasena; - this.correo = correo; - this.nacionalidad = nacionalidad; - this.tipoSangre = tipoSangre; - this.fecha_nacimiento = fecha_nacimiento; - this.curp = curp; - this.rol = rol; - this.idCarrera = idCarrera; - this.inscrito = inscrito; - } - - public Usuario(int id, String nombre, String apellido, String matricula) { - this.id = id; - this.nombre = nombre; - this.apellido = apellido; - this.matricula = matricula; - } - - public Usuario(int id, String nombre, String apellido, String matricula, String rol) { - this.id = id; - this.nombre = nombre; - this.apellido = apellido; - this.matricula = matricula; - this.rol = rol; - } - - public Usuario(int id, String nombre, String apellido, String matricula, String correo, String nacionalidad, - String tipoSangre, String fecha_nacimiento, String curp, int idCarrera, int inscrito) { - this.id = id; - this.nombre = nombre; - this.apellido = apellido; - this.matricula = matricula; - this.correo = correo; - this.nacionalidad = nacionalidad; - this.tipoSangre = tipoSangre; - this.fecha_nacimiento = fecha_nacimiento; - this.curp = curp; - this.idCarrera = idCarrera; - this.inscrito = inscrito; - } - - public Usuario(String matricula, String contrasena) { - this.matricula = matricula; - this.contrasena = contrasena; - } - - public int getId() { - return id; - } - - public String getNombre() { - return nombre; - } - - public String getApellido() { - return apellido; - } - - public String getMatricula() { - return matricula; - } - - public String getContrasena() { - return contrasena; - } - - public String getCorreo() { - return correo; - } - - public String getNacionalidad() { - return nacionalidad; - } - - public String getTipoSangre() { - return tipoSangre; - } - - public String getFecha_nacimiento() { - return fecha_nacimiento; - } - - public String getCurp() { - return curp; - } - - public String getRol() { - return rol; - } - - public int getIdCarrera() { - return idCarrera; - } - - public int getInscrito() { - return inscrito; - } - - public void setId(int id) { - this.id = id; - } - - public void setNombre(String nombre) { - this.nombre = nombre; - } - - public void setApellido(String apellido) { - this.apellido = apellido; - } - - public void setMatricula(String matricula) { - this.matricula = matricula; - } - - public void setContrasena(String contrasena) { - this.contrasena = contrasena; - } - - public void setCorreo(String correo) { - this.correo = correo; - } - - public void setNacionalidad(String nacionalidad) { - this.nacionalidad = nacionalidad; - } - - public void setTipoSangre(String tipoSangre) { - this.tipoSangre = tipoSangre; - } - - public void setFecha_nacimiento(String fecha_nacimiento) { - this.fecha_nacimiento = fecha_nacimiento; - } - - public void setCurp(String curp) { - this.curp = curp; - } - - public void setRol(String rol) { - this.rol = rol; - } - - public void setIdCarrera(int idCarrera) { - this.idCarrera = idCarrera; - } - - public void setInscrito(int inscrito) { - this.inscrito = inscrito; - } - - public String crearToken() { - String CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - SecureRandom random = new SecureRandom(); - StringBuilder token = new StringBuilder(15); - for (int i = 0; i < 15; i++) { - int index = random.nextInt(CHARACTERS.length()); - token.append(CHARACTERS.charAt(index)); - } - return token.toString(); - } -} diff --git a/backend/src/test/java/mx/uv/AppTest.java b/backend/src/test/java/mx/uv/AppTest.java deleted file mode 100644 index 6284b29..0000000 --- a/backend/src/test/java/mx/uv/AppTest.java +++ /dev/null @@ -1,20 +0,0 @@ -package mx.uv; - -import static org.junit.Assert.assertTrue; - -import org.junit.Test; - -/** - * Unit test for simple App. - */ -public class AppTest -{ - /** - * Rigorous Test :-) - */ - @Test - public void shouldAnswerWithTrue() - { - assertTrue( true ); - } -} diff --git a/frontend/src/Views/Inscripcion.jsx b/frontend/src/Views/Inscripcion.jsx index 5a826a5..24b28b7 100644 --- a/frontend/src/Views/Inscripcion.jsx +++ b/frontend/src/Views/Inscripcion.jsx @@ -37,6 +37,13 @@ const Inscripcion = () => { idUsuario: 0, valido: null }); + const [foto, setFoto] = useState({ + id: 0, + titulo: "", + archivo: null, + idUsuario: 0, + valido: null + }); useEffect(() => { const fetchData = async () => { @@ -112,7 +119,7 @@ const Inscripcion = () => { })); }; - const handleFileChange = (e) => { + const handleFileActaChange = (e) => { const file = e.target.files[0]; const fileName = `${usuario.matricula}_ActaN.pdf`; const modifiedFile = new File([file], fileName, { type: file.type }); @@ -123,6 +130,17 @@ const Inscripcion = () => { })); }; + const handleFileFotoChange = (e) => { + const file = e.target.files[0]; + const fileName = `${usuario.matricula}_Foto.jpg`; + const modifiedFile = new File([file], fileName, { type: file.type }); + + setFoto((prevFoto) => ({ + ...prevFoto, + archivo: modifiedFile + })); +}; + const handleCarreraChange = (e) => { const selectedCarreraId = e.target.value; setCarreraSeleccionada(selectedCarreraId); @@ -159,12 +177,21 @@ const Inscripcion = () => { formData.append('titulo', `${usuario.matricula}_ActaN`); formData.append('archivo', actaN.archivo); formData.append('idUsuario', usuario.id); - const reqs = await axios.post('/agregarDocumentoAN', formData,{ + const reqs = await axios.post('/agregarDocumento', formData,{ headers: { 'Content-Type': 'multipart/form-data', }, }); - if (reqs){ + const formDataFoto = new FormData(); + formDataFoto.append('titulo', `${usuario.matricula}_Foto`); + formDataFoto.append('archivo', foto.archivo); + formDataFoto.append('idUsuario', usuario.id); + const requ = await axios.post('/agregarDocumento', formDataFoto,{ + headers: { + 'Content-Type': 'multipart/form-data', + }, + }); + if (reqs && requ){ window.location.reload(); } } catch (error) { @@ -300,7 +327,17 @@ const Inscripcion = () => { accept=".pdf" placeholder="Acta de Nacimiento" required - onChange={handleFileChange} + onChange={handleFileActaChange} + /> +

Fotografia
+ diff --git a/frontend/src/Views/Registro.jsx b/frontend/src/Views/Registro.jsx index eedd0b9..9756d14 100644 --- a/frontend/src/Views/Registro.jsx +++ b/frontend/src/Views/Registro.jsx @@ -34,7 +34,14 @@ const Registro = () => { if (res && res.verificacion) { limpiar(); - setMensaje(`Alumno Registrado Correctamente. Contraseña: ${res.contrasena}, Matrícula: ${res.matricula}`); + setMensaje(`Alumno Registrado Correctamente. Contraseña: ${res.contrasena} Matrícula: ${res.matricula} Se envio un correo elctronico.`); + try { + const data = {correo:alumno.correo, matricula: res.matricula, contrasena:res.contrasena } + const enviarEmail = await axios.post('/email',data) + + } catch (error) { + console.log(error); + } } else { setError('Error: No se pudo Registrar'); } diff --git a/frontend/src/Views/ValidacionAdm.jsx b/frontend/src/Views/ValidacionAdm.jsx index 73749f7..a869e98 100644 --- a/frontend/src/Views/ValidacionAdm.jsx +++ b/frontend/src/Views/ValidacionAdm.jsx @@ -6,6 +6,7 @@ const ValidacionAdm = () => { const [alumno, setAlumno] = useState({}); const [matriculas, setMatriculas] = useState([]); const [currentMatriculaIndex, setCurrentMatriculaIndex] = useState(0); + const [boton, setBoton]= useState(true); useEffect(() => { const fetchData = async () => { @@ -51,99 +52,141 @@ const ValidacionAdm = () => { fetchAlumnoData(matriculas[newIndex].id); } }; + const aceptarDocumento = ()=>{ + alert("Documento aceptado"); + setBoton(true); + } + const rechazarDocumento = ()=>{ + alert("Documento Rechazado"); + setBoton(false); + } + const iscribirAlumno = async ()=>{ + const datos = {id: alumno.id, idCarrera: alumno.idCarrera} + try { + const res = await axios.post('http://localhost:3000/iscribirAlumno',datos); + if (res.data.message) { + alert("Alumno iscrito con exito") + window.location.reload(); + }else{ + alert("Error al iscribir el alumno intentelo mas tarde") + } + } catch (error) { + console.log(error); + } + } + const regresarDatos = async()=>{ + const datos = {id: alumno.id} + try { + const res = await axios.post('http://localhost:3000/regresarAlumno',datos); + if (res.data.message) { + alert("Alumno rechazado") + window.location.reload(); + }else{ + alert("Error al rechazar el alumno intentelo mas tarde") + } + } catch (error) { + console.log(error); + } + } if (loading) { return
Loading...
; } return ( -
-

Validación Administrativa

+
+ {matriculas.length > 0 ? ( +
+

Validación Administrativa

-
-
- -
- -
- -
-
+
+
+ +
+ +
+ +
+
-
-
-

Datos del Alumno

-
-
-

Nombre: {alumno.nombre}

-

Apellido: {alumno.apellido}

-

Matricula: {alumno.matricula}

-

Correo: {alumno.correo}

-

Nacionalidad: {alumno.nacionalidad}

-

Tipo de sangre: {alumno.tipoSangre}

-

Fecha de nacimiento: {alumno.fecha_nacimiento}

-

CURP: {alumno.curp}

-

Carrera: {alumno.carreraNombre}

+
+
+

Datos del Alumno

+
+
+

Nombre: {alumno.nombre}

+

Apellido: {alumno.apellido}

+

Matricula: {alumno.matricula}

+

Correo: {alumno.correo}

+

Nacionalidad: {alumno.nacionalidad}

+

Tipo de sangre: {alumno.tipoSangre}

+

Fecha de nacimiento: {alumno.fecha_nacimiento}

+

CURP: {alumno.curp}

+

Carrera: {alumno.carreraNombre}

+
+
-
-
-
-
-

Datos del Tutor

-
-
-

Nombre: {alumno.tutorNombre}

-

Apellido: {alumno.tutorApellido}

-

Teléfono: {alumno.numeroDeTelefono}

+
+
+

Datos del Tutor

+
+
+

Nombre: {alumno.tutorNombre}

+

Apellido: {alumno.tutorApellido}

+

Teléfono: {alumno.numeroDeTelefono}

+
+
-
-
-
-
-

Documentos del Alumno

-
-

Acta de Nacimiento:

- -
- - +
+
+

Documentos del Alumno

+
+

Acta de Nacimiento:

+ +
+ + +
+
+
+

Fotografía:

+ +
+ + +
+
-
-
-

Constancia de estudios:

- -
- - -
-
-
-

Fotografía:

- -
- - +
+ +
-
+ ) : ( +
+
+ No hay alumnos inscritos aún. +
+
+ )}
); }; -export default ValidacionAdm; +export default ValidacionAdm; \ No newline at end of file