From 3ec05584ad08d1ad1f8aca2641420199f129da80 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 24 May 2024 22:29:09 -0400 Subject: [PATCH] Updated to use Encryption for smtp_password, and added some QOL features --- .../scan2email.metadata.v7.bin | Bin 0 -> 177680 bytes .../scan2email.projects.v7.bin | Bin 0 -> 100702 bytes .vs/Scan2Email/DesignTimeBuild/.dtbcache.v2 | Bin 80102 -> 81854 bytes ...30e22cf5-143a-4b8f-bbf2-fc6f628e14b7.vsidx | Bin 0 -> 2387 bytes ...3b1c2056-f6c1-4300-b1b2-d95da77bae08.vsidx | Bin 0 -> 63947 bytes ...5fbcea9a-4cae-4e2b-87dc-11097c40ce3d.vsidx | Bin 0 -> 107 bytes ...d4f89d98-6f53-4701-be93-c2637301d5f0.vsidx | Bin 0 -> 107 bytes ...ebc553b3-6dad-41d8-8c17-1bae76b23df3.vsidx | Bin 0 -> 5532 bytes .vs/Scan2Email/v17/.futdcache.v2 | Bin 0 -> 138 bytes .vs/Scan2Email/v17/.suo | Bin 0 -> 66560 bytes SendEmail/Form1.cs | 31 +- SendEmail/Form2.cs | 35 +- SendEmail/Form3.cs | 119 ++++--- SendEmail/Program.cs | 314 ++++++++---------- SendEmail/cfg.json | 2 +- 15 files changed, 232 insertions(+), 269 deletions(-) create mode 100644 .vs/ProjectEvaluation/scan2email.metadata.v7.bin create mode 100644 .vs/ProjectEvaluation/scan2email.projects.v7.bin create mode 100644 .vs/Scan2Email/FileContentIndex/30e22cf5-143a-4b8f-bbf2-fc6f628e14b7.vsidx create mode 100644 .vs/Scan2Email/FileContentIndex/3b1c2056-f6c1-4300-b1b2-d95da77bae08.vsidx create mode 100644 .vs/Scan2Email/FileContentIndex/5fbcea9a-4cae-4e2b-87dc-11097c40ce3d.vsidx create mode 100644 .vs/Scan2Email/FileContentIndex/d4f89d98-6f53-4701-be93-c2637301d5f0.vsidx create mode 100644 .vs/Scan2Email/FileContentIndex/ebc553b3-6dad-41d8-8c17-1bae76b23df3.vsidx create mode 100644 .vs/Scan2Email/v17/.futdcache.v2 create mode 100644 .vs/Scan2Email/v17/.suo diff --git a/.vs/ProjectEvaluation/scan2email.metadata.v7.bin b/.vs/ProjectEvaluation/scan2email.metadata.v7.bin new file mode 100644 index 0000000000000000000000000000000000000000..144c3ac50a255bf9b0d2f61aa92306aa1abd4c7e GIT binary patch literal 177680 zcmdq~2Vh)Tb@-3twRgSi-g}X&JYH)o&8Uo5?1C)GwsvjFtC8(pc0i0YPxh=wGunA0 z+uCL6y|)lrLJ~q6kc5PU6w*i_q!H4Agj5nj3Ix*o?{jW@?@dv&O}_s>*;w=LsrTG| z?z#6q)EoGIi0U$(q1u_=%38y3)MeO;&`^G;qh^Q zs$6<}3Eb8Udj&7+doSoI&h(zYa0f~2(xt+5C0{C@$``!B?4-9;@X`UbUnnjk>F%@H z;$?x~$;X{uvE@SgE`F`|dDr@j*RafXzWRFa%bYKlE|;^D zO;U7z=3IWfT=Jyzxq@Jktd1-UZlvANV#WgQc9;TbeFb_LI1z?EwF7He!rbl~I$4 zgFv=a=d|g_jZ|mskbn$PkMDbvV}%)Gz{7x+wROc?oB3h0WMD@~x(iq;-Vx*H2E#$* z8H}SOuhbavj*iyEy?k3iX>T%HtmMZH>M=m;H0r%$9f{5kZz9>%LgGHdwlD8z#|qvl zFI$-|d;Y0%Y0{9!!CHRe#ECfnf1KY|kzuSt;~bfp@>)q=c51p%XbZuy&*Kz;=$jyU zeNanHPm`=gmMYy&vMox(gGTDn981LxV9O18C%t&A~Qaji+eY`A>b?e%K2+vS#o-w&%+_~v_;n_ekMSD7}Pzd&ZkFD4i8uCX% zAU9AsivX7-FY)g^XNJ!8_YDtR?0J9_VXls|V%;`yGDGtc2;YlHgs7_fB% zgCqTCNBjCOjt=+t4WvghBz9L9k?x|+XlF`I^2c=P3UjDj)7ku3Ia|&%a6T9Mm1l=e z4-JyLi~YmT<9mH3Q&m)>q;5Pn&^vmzZ}jZI$>E;iM@L27=ac@>O-LUvO-|93mNSL? zSY|Rmo`v55Q|Zr^vN<=bk7Uc2y^25VWphKt!ps&ySBSZ;;pF?2}%( zsrL#4OtvZA_fTdmU#uyW%)GEn*(uzN=6JG3(rPuN@_Nl}1{FNF15!0Y*`JH2kzLw23 zT|7USVV+T%E{}VDI2%ECrdAB5dz&hkCaC?X%lWB_uX25ptR!pmV&U4atu%AwC2mTlBJ=TDJ74xQm;JWZcxxiwR<|vf z0<6J%oW{FcI;{RjMy~R^BhKK|9q)gnzdL@iXQVscd#MsHl1TNP-tpvOR{G2rlyz;G_@XU>Y1)wVF8pM2fYm0+JN8L{)_!* zebVkoBrE*c5P*jJFAk&!h6bleUe?vt+Io#2D^25*f%`h&tIW5U%)ddxy6Ofx6T(vS zi6>P;8dawYp7h2~k?`1|Fr!1ZiiNrpjbFbdn#L8vR-KO_c>(iOw03jT$pZB2XSYx!~S%=FmV(q%KwKjh842-w{{iQcxZQ?0Ep=3}Mq3DsEi624dH zZ<$-aR6gNtlzADS%SQUooqst$4mz2AkDl!ry!67hs*YmBo1A(Dh`UCvlo=Pj+@&mw z_k6Zcy4*LFr&?CL8p0t+icfT8lRq|3i_GIlDN;%n!{^yqo7JTYo&%joIeGhUYYBCF1K17DJO5C7hEopCW=elI`mvQ+se^xEm$ zNUoW31%pO3&(;19GqnnPAHKbwn9lb1k-XNRGoeunx9=cr(XJOOI-R@fecQ4-e=m;Ay^(JT!_@JC4&a>v2Dt6iuX=Usj85< z*w)^f`N>*-iJw|5zeH>1r)&AOeSER}+FCO|Q_HXQXGu#`m*L#`{W-`s^b~XDQa%?d zsGleKv1)EXr!c?X(wR4NuCFg+gka&0*32)!e@%WU9TNEok}lm^kqFS@ei7aWMx8#U z;jyW3wNjd*XC0Vi4OH=Rzf@NTGr9J2S2HPk)3(;OjP%BVIi!z_lN66K7A*Py_*A(x z<$n_1JGCI!TY`V;5o3c-0l#x1TkySK=GUeRJ~K+EF#=%pX#i(xOf+xxqWb&_%r+`1 znz`M+_*K%kYdxJuQ#t$Tgr@vo1G;Ur4nSt5zYcJ-gT)n<&irox8EQUwq#@r}bJP9z zH#N(iPIFVXm}>&raSFssZ)H%MKLgKQ^;9{@Zj~VZCJ4EMM;m39wd@IKGU3MeH35aV6+TOp7h*-5oJrlU<9DYcl-vPTzW6SbX{IW7D z^yibA--WhwR@#PQe-F|fQdr7|IEm*ZTk(dbD^t@IDZbwaysR|#c;*lIv43=cohT;h zjqyJR+U|o#8Y9F$55}%&DM#JSUjSiYJ96x(>b+A@^ba9_E)`BMRN@0eamfeu4qM~d z@{UlCqT*c@k2R}W7KKKYlbZHNNHCpb%emuIUos*1Ms%HNuUYy2J8NaNn@1MiHMOt0|jq$>C z&NE7!&yHWsUiNft^XUinxh~@`pjc_pWVZ7qzV95IrosOuzt$UL$&OpamuCA{q@G*6 z{!_Y-h-VeU_~U-5_+{Z3>1_tt|IHTiPpZyn*8b(-ks1YKvDjb3ajK@Dn16R)(azt{ zIAsjj=iwF1dByP=EM~Uy;|BXH2wkTPXOLyu_%|dTMUw{3D_wY*DP25%=5Il#atSv1 znvh;HQ;qX?;A{-bIaMm;*h&6-(u?yKRpackQ=SGJ+uD(z2@CeWipcdkMHg$jGE?xr zM(R3i18>4(Uwhp92T4?@QpwCZ>+2-m*~#8)>o@qd!g8AO|B=tfYYNcyzzdy4DaOjv z6)IAds9ViHA?|`}(^ZW*Akmr696S!0+zqOJ&D?!UoXb?IFC!L;c@|A&NoEp>w&6(5W@k#%l{>(UMLPNcAID3P`MQdf2t^4UiN%(Jy++ktG@4SS zxQwJX+_KgrkudSN`A^$P2kPkGL2(3a$@BoB27V_hd67IZa;mE7GM`M4o12$(7m{}A z!gH)mFY7A{EeD}?)N?gq_D*xL`M(>XJA)~HL?M|j+yi`@)0b(Tnuz$i2U-E}0+W^5 zay9Gv#!LEX^_8g zX8jHDYM&pksTmkf<-MHP*53%>iFp&^x~SxfYL%v_H!VnPTJ5wd!p#tN%|~q1-ime$ zw5f&D4yYi#tq}LjhxoKt^w^)4HGookRLQdS_YwAzE}FRlj#azR!@K!QmnMbE;Dj6dKY5+hrAh7g*1! z8Ov{G31D4SQ!*OuhW#25=Av=^JtVE}^TwtxcblNxy`$Ei~*< zl6BDR2ed-3=Or-k0H1f^@#??f9pvX~$!Jf3uwL1%Iz-CSj<&>M{;upVmrLbgPkeIC zLWHi9QrC*DYu-SDfbe`h2QGlaBR?EUgzWk}|xOXopLH85FjU%T3!jb(= z`;Rs4AKf2|9TVz4>CuSsBAO#V-a^XVLsNt}vYLzYu}}K4h~Z48ja8bPj)Qf0)SB&5 zo~VN9N`zvdXciT%psvJ%CS*9)#`i{>(X^K>k6)3l%}DOCB~N$cSq!nG|8)0L zX9zkGJeh<@O(#ja7M;7%jS7HB^>cDRp!Ge4Lh1U2qMx1cP8LezSN#V_-8{mUaph9B zEVDho$5%Dge-;pS>t&IcOq|SDp3V2FG&S3b?I8h^6tXjtdXlf1nnpd(8IBo1Bik)1 z5IUIN*>#9nu9(GzUEud3eT(f>O`kJVR5tAcwAUmJdrwRgG<}wx`l9dk;Qg7ZWLW|C zgR@GNZhB^NjBt}vBy8`!;*DQDRVoiL{!b{oF*3`K(?DYcMG)XcJ7QaFhROA?T~1s3 z7@7VVu%GD+L09FfZZ!!pcxPz?J~dwTnkJJ2Fu0RosCe>0ezA2uHDmiy3T&jDC33hz zG$e_P9+ihcvb%`}SCRv~!pvDvPM9id)pg3~&h0|6EN+x*Ud|#|nf^JbcgZ{&my7=( zULs@ok~l_GcLhSWrYEB$;qMrCnpW?jRN>sHHv+^&Sd?P%)2P zh?CPYTIGzz^`!k_P_EsAY`BGts|2#QVg$3H5Rt5B-@}L=oF#9IV3~&HzK9>MKJF+r} zdL)DKu(n2MtKo5e1SW&?u|*`avzFMSqO{3`9-(NP(vBrZ&jDB)J8g0_1(N?57^z6M z`inm26lk^i0-VwX=6B+157|k4=ZZK3@qtkwu4g$@B4j$p!cj%k+S4r01#fM;`1D%3 z;)!HO7jZVvBW;^0Cj!~dWpCssr|rpzQGiQ9e?EVkO%VpTRRghUJ6Uk|*5F2av@vk* zRNIc@{5ld~bF!tFW1p!$>m0~S(b?l~Q!P^R(qPEPS;nTg>t%I zg-7Qsjei!>0;KDMR%eQ2lGNoYTdi$He(wx0YIv0d_j5?LCd3jTUp2t_zTl0Hnw@5 zE8snF^yu-U@u}kFZuMhqa!UVre9ENca=uQXXv~kxS^eX3eqtIHhemM-sMA1~2stVc zP;JJ-GKUFSf_mzV%{4IJe@i`DdP+mythn%Ydmj^fHjB(uD1?-0pljSW%3ep&aaUi= zd9j#mjNe*0H;@zB?K9znR>~lisnqNnDM$n1#tHT`LLWHCdP%y(kPFnbE9QoC>iD-y+>DSDOmu0&{7Uxgpf6$&py^ch#3>yF~{XZCWKU0H-- ztMoGYaCS3cATFQUwy!|g;UFR>FunHRhVA=GP@i0cUI9TfvuQA!I}khl4;X*=4rl6F|)zE(-6N6$>WQt-E(x-bZ5rC zrZ;~(at`Tn!>2PInNa5knURf~wXnEl)dcTbz&zM3AF^=m#(zI9J+Q1+CE+3=4Y;3( z4|)fPy$6rXi)m~YKHmzTiCb=hDz$Yzd#B{hRYh!Q=23QXV`6W;+`B-mjnSIBna*A; zMw-^;-H6yVs;%d$l&NkQdD?pq2uqXkw)gTky2GQuLuIOv+&CZ;jRt&--|?aeFB+8{ z6KNz3Rt>UD`ZlC3rn@ycua1E<)h{%T)kn1Msc%Poi=EyE5t{YQbgED)mEWh$)cPI# zHL+2~&W7An(C-Akwu;Ypk+zzVcASMyc4`V^zhAKMQ5hCAl}Z1*1xun?(%yKP0HT51 z2S_>CnafUec^!$C@s8GxmiAn`*K#7)k!$f1iPqMRu54FwJo`PuE_CW?V7yfPUefNC zAMyNn>HCED=zxz`e0*9tNxz?z+teed7({F7A3)AJ_Cm}WMfV35qc2506z*n2bB%ay)jUOgOxdvN5 z!mq^)!Lzq*V;MVh!Mk6w%KiufH;LQaC}fpv`cVMOP2xxSjpZXc$9_x@0?q^zTRY?a89-0mmXg&HqEfBVeio^_N24(9(D%wZR_y1%SRrcz_MDl*{5+rA zs|duSq>+CC=);Q(_zOg2qU!jWPr&u8n;e1|jT|P(s!E|~4q`P7e^D|~)ky`ulV1Y5 z(t1ScRX)jg)WauX8*2IHMwEbB#)&GRboifw$*nKmDnV|u%NFl1BlYom3aOw@9RprR z;UG7z5tYi)w5sG)wY1o$5x1p2&aVJkc8#w8SNYLHxKcD=ygpGK)ntrK#A3e&m%Vcg z$G;8^Aw>0A$4AQfNp)|{k>+a`DWKl~`%O3PU2(IXs-ajf-|B@4sbdY*U|W8lL8)yz z1GXCp%H}r#E;l3SXZgK3if9Vww}33=-0pAlcOSKxnA9qZjFj}KB-@(51J>1B-V2#t zI}qdB4E`?i_EWLy9FZ_pPaRhHJ3aEh9=j^96qFQyKRhrA8y)F5>zR!7`islAAx`bB9oy z4RCQ^1e2=F7Xc>^9tot?*8ccN>8#vnFi^b46&ozzB;4$eq5IU5IhBzUBdb?5&GJ83 z%vr<2#cI!>R8>f00e3`&33Vf< zF^PFv^3UP1-mLI~V)zSESA~o1OC+q06x3gmvJ3Oo&>C|!{}l)uO%0cgEfcfvf0^{l z-C^d(j~?v~=Tg1}Zqwzj@>EYV*Vey|PBEtHpIpkOe_Zo@e|%hi$NSQwX*r(o*T_1c z*6*?)3TqLI;C%(W+cQZG8NhWRe}lAxqh@|B_8TbLg{J8O%@+ONf;iintA+c!@)PWK z`{o2%tK9mcZ*Ggz(&BO+Se)~5&KNQ6WSKsGC7UnC$Mt<|nkr+3?pV*uR7Fvmtah=cQhD|PK-g<9D9a@=EBlr8ghW@qp#g7h z5jq0{4_*@XVcxO-z}N@$_)}w|@ND5f!P}~0Y5Gfrs+#s+z;6AjwN{Snz5W}4>#Z`j z>+t`F)D|4~YNKbcRD?m=?hFm;z=SHr{}+n8=%nZmo^c2H!@{hjWovn;%n!Sdy#$!d zw;F(LN#6k)qm8`|R6>g`(3{OHC4Hy+vg=+KspBsL?!ume15i?t?gVsrPRXh&-UaFb zv&AZ;rW@zXew5{M@b1xeU}k+cU&~}K;U0eM)V0v9&!iel*i<>6^Hu;~W7e2N=g7Kz zB}vPtLiY!r_OC?u&|9kC^-1I=b#gmg7)|d;{dQ2d!?_TdM>OO%RF8u0nSF zif6~mjfmShYMX?<6mCYwcRcHIh;0+_Lye5am2KQ1H`6jD_?y9uF5u@E%MxL-1t!fs zxg7tg+g!2*dnIjcGuR5QiY>Kn0#n-CNI%|91#0hX(|;1`PnZ5zr*-MHluAprZHJ~` zJEW?(#Wag~bJ_u?H_9~M?BCn%6w$w$b*M|W1H^d*Y z#r6r$0M&4>vG9J-max4S?~b4ims!EprWK}x$Jf*t>2Ag=GLCO=B5%y4EScT4wsMH4#$ zRCDr=0o~RJ+5+%^0S04hjXHiDytQ(X_cVLVx@P&uNvrLoom*=5gI)6qd)6Du6&=3P zinwFJkRmY^YQ`9He?@ml+aP$bQLpXKdHILCUBk#vz-|XcQe_2Oj!D4lwF1UIqFpLCg+o*nMcn8wi%r>@`&E7^Pt54qv{W0y*YJ7EsQov-n3xa#A391gZhVfJ2pV0U$ z73OnMMVR^o)TvpiXAylL#QXKh+v;P+VHw?^m1-){0xS942aT0TI~{o@GB3Ge3p}~H zy3cX`w)PNng!ldM-dFd)aX8lxfF+0aS)ncdMw9AX*Bm*HDE2HwUR-RZXJ`FvSnn~* zV%vIk=!~;%4=78yd;BDS)hh?m&-L{Q4SQvbtO}B|1@}8^%$>rJ_V9y5;~dn&j5SbE!+?Y$LnQ`o}q5i zq{M?&m#ujND6%W8q#F~ArVoO!EsW5coyv|8rY#$G4*`@n6vSm`*7kB@==5|xcNWm$ zr%v_sx3>59wzec&+fKE#we=-iPM&H%+0xqD+uDAr>qP&llf6%$19d%X>*&tfAgKp? z<*<%tyiinCQ7iEV;zuo(H^1)~W{P=pF{} zwIyMnLtvhB+49wCt|t_3YJ~3&;|0I%Xl;1sn6{URGm@)!M!2L>7MLN*fG&{qNOqDy zuEx^3Ibu4=8COqM>NhycMjWiL#oV%MI>Q-1b#kSb%S?NU*}{yUCmx{SrM-$47yh@Y zX_!o>13j9W0!?PqqNzy^%hlR2W?7}-dlPQixnoY)i#qj)t+gXa+pLFP(JD0j%IhYz zk+Tczz0KIDo~Y0l;f30gnR19+tIkD)CJr9as3B#-cX8Aqy9AlsJ+EqP&s5$_JRc$X z9z4U`@W=6mNBMfmP4^VD=E(LADofFMfpaB22Q?1qE>w2p&t+Nezo_ruv<6Q1`SH(Bqm8 zW4w=}4NWaMwQRjl#YW~p>67L;AAT`MtNg~|7qQWnF%L#Nbv+GK303C_;4i)Ds_1Hh zx!u;hS7QpbwxI>8*yeT_JsxW~akzQ@SKu%Hd1V~A^UdfM9{KX%$PA+zCp5-C4$6T# zDAgnERq!^sDyOTXjG}%4zy_kqy6OAmk8x8?lDt>&WuyUpXoCBty>ompgE8koi{Pv_ z`+Ys*66#qZh3ovsuTJq}bB$YRBs=Cm0c1&QnSal)>Zyxj*FH@>+D}pMjzfc^oHjnp z4jS{xNH^$BSIXIf9msumfUyGN=*`YQ=P3GVWYA3Q;>g@n<5Y-U1Ad&G&qrTti0jbo z4iVJm>;@R~WjX_{I00s5XhlB>@)~uHmmu&{h3vIb`6-gtx=j|&Zv%M&X~%j?g#yvP z7p6u^Qd!iVfVw&(XkBhz^t2{WePsZiWuEau2#Bv=h>X}Q>|O-BE{w1serA{I#n86Y zBh<|*$d1eHOQ2Y9Muq_VQc_b5bZE%R7R<{au4{3L#Nm-KyYu06csT@(a@>f<3VQ{# z511UQNFO=q%?wzL9_({4=J8YJ!L)rkh&tk535$Usvy0?n6?zri5;e1V*@b21>a$Q0 zW#lOno`|_py3QeeHA24{vW;%7rZ1S6dH!oiUtg6zkb5nuho9;^(cag0;$&yb$y6ud zyS*JJTYCCZ9WANOWJhQJiQZJIulMQKfx1p6<4oi|%joqa-ld1SH}G>4j(6#~Et)SY zm^UgJ)hn1>y%o%xL`Lsq?!th|=Z%Wczd20bW>-LU>E8nC1~V-oPSmcU-b(TgU0}5E z>7we$l?7$}HS;#WM1$t9k+HY)o0XVUEw6l0!f&uL_G6FqTL9hJizy55;1`QMjdUiT z<3y({8;oEEiEjmgs{zIfTnMD@4}B*Ib`7f*@1gPSUBbG=Cp6myg1!zCw<4?_--nE>o4nB8 z#7(Dq&SZjh<}H%){YZK5O;7RdYIC6_QEda`S60_BTRZ#!8g9ee)2B`l57JFt^Tf}s zqNP3vaH|SJF&)yN1I0cB?EkKkku|Mryk4e0EP7j&ZONO;^@G4_4wE#jTvEfdAXVey ziS|TWTeO-PJ**gO*dIa;7YGI&`WzK(@sfTRNvpzR|3^qTyST{y+G~iX*;e=w7;YIo z%fn$rfHCjIRbdW9B#LxlIo;9Y;SA)M=<0PFT| zHbfNrNkrbd&4vi;pMv!^eb*UdLRwEDfakxgxd^GqOG}sV$=}i!)|Fb0TF(KuAq3F{W+7A) zMjAPmV!Vo{)&53#xcg8P* zwEo}`(nGJ-#D0m?+PfEA{kr)rd}1*40fkQ@Y4w@>T3LKjl$n914wa`@@j z06s9AZ5?(Ek~Pq;!{Wg?%14Y{RV1z~EFW#?=HGx_)xjYel33s~Kwi8=T7(ONR}01X zg^Jl)B&4cTup|BgR30<<_KLWhXe7KdW^=f|+;9aOe zclpQsilptfLWy{HUmTlNX7qm@Rs!vy+{&+U*!&WhzC`t!+AG4i(eICEr{smG+LwJeZ*9lrBhRmgfZq~Xo&clm*iE%! z&p*}#RCgz_=f~u~SnLkeF#U)aW+|V~yVY3@Rew5)Wr*PYB-3c}W!F#G<`}zEbTZu& z>fgm@=i+o)4(a`oDQ&&D_r@lR#qNfK?RUjM_wdarhd?_y<)C{or~e9Y_S=SgQeF!! zULNMzsWRQF?1d62BhK@cpxx73@UlgrT*cSnkfp}`DcHsZbe4b`d;5F5a-*^u)T7l( z3u3G;`Wn!;sELbF)QvO#T0mEra6ycv??;lrQB$N}MyfvJk-)#feGw9S3)6@}HfW~jD8wIohV@7?fko+sTNaQD{bh#(_!ui)rb?WWp2zUhpNOS%c1 zHOBF3lJ=1#`+Da50nLLK7SLTTatj@BbCdZfLup4QQ_?>+?}uBf)krJjbO>A7o?I!+ z;9)!f(Sdmo9RzQq(LT)V5b3MYS*A^Ti~BGscTo|T=`{0mH&<=CDn69bw|M1 zSqCHi@L3gM5d(g>4*aZlIXgbn&lBY0=I3Q>uW%Gp7dD|ie!dR*ycfuNJJm3d{u{>x z-<8&|cbT51JR^f<3y?kO(nN(j#k{~%!sdWJQ%8e~gL1qMitXDS-_X+II5azSxmbgT zrM3c&)nVxtU`;HjeES}E8`$^HjcxU@0z>K~;IO^QD!Lz$?kNeh_E1`&i;idIUH0i* zzEt%ruG{Re+YIzxnJP)9BWXtrhtjI91CgkB*N^H)aq5$IKz^VK6yzbeWWN)6#HYTYbghy^=rPP=Gdc~Ft>C7pZGwK-4Yfpk6R0nF*c%L~9?vco) zmU8PBk1k5|L3L#58IaegDV3fw5&Jzr(gU_W=z|an!4X=(=_1%u`2edlQ4$mtlQ?ag z#3)W*-8K!H%ZkOQ4~>?XDhx-dT5*(}X7(_W9adw>MC(_nY>qMvL%&1GvL&n=ldr>Q z(||W9uxV5}d4y!W+LPO^b=n2eR#7vYQ7$?pCY8pRmq^1&8R;1u!6N{l)h!MRd7n*g zh>-^2OG?c!r6Dv#BEUok`{dc9@OX|ab?S?V-6Z?xz>e|F7%rV7S1 zzEqx(wQDRBp-gr_`P}-H3KpV#UX)T~jy9kaScvlZ5z2%>v-K$zEJQg5+A5b%=*CId zq?-wo6k9$3auJ46Scstq+FD1)+#Avf(hk&GP6I=}$p!2fhmUHA`*NwSR3BR)>*X?F_~PT{BIsk93r-wHlEIrw)%( zIDF)CF|IFejAXdzD3>}+4BSp$>tNW1U+oofiZ(*fo>u2Darj1L*c%fvjJ)Y?Fal+? zS*tmWaDh}cPJ!YWu%#f~T2%?SatlTfgHw;&B-~znd*c;GyexsXekEA?#%+?_V=tn` z9trX?M+=P~4E};W-U8YZv18%)BBeL}JE^}o->r7|mVpsK+)d2Z$>et7H_T zYOr&5H=5C(ItGDOOo};Q|AUBld$ zZ0=nPw^xGCrK>}7^>|;0ckOirw<27|m7Y^jnSWYVcD9}0K>D_@$*spq&KS-B z+&8BW>PfJ+hgmR=>Y-A2JOxyuf#^#J^6Qfzzb3oCe!e$DSIu#lY(@eJ3PFFQTw!y+ zOOI6l1qe9BidGmHZlP13no)QH9Sy3q!4C@WX;|&9S4Ca9z7UMVwj$6B++Fu*Vq+o9 zlH*07n#)~1snn4X_r(D38s<&heBmYh+-j#W;Dw#9FBKk*yyPzfcrQVm(}kQI9PZ^T zGPmr(!4)@;E1GqYEQenX{-N1gzRTq+z-$fW(lM;tcbWXY5~5vony};gDiHQtuJx>} zVXp@5fa6o`lL{PBuK{nLWmm_`r9rO+D{eZ%;NVTrav7>sdk9>K{_7z5fa_Zuz7=Xk zyI!Qu9e!y<0I+PQe%iPwHOIK)C zwQs;w$ATJY>c5rY?BcuT@K)1I5{it)z1y=@#FEHS^oA0-|3K$?M$HBZXYmgF*^5^K}tl8>t7pITfW|e1I zqOPbw1>xaxW!4f5igno80x(9rH4~4fCd>AsdkDsLY)%RKz_Px{LN6n4aC}ehwQvZQ zN%aL5RhF*{PSkL5300-8yzdT(9k7@CG%lF4`SBYeZ=1=U)-U{TQ`1|iIj?q|Yq&&$ z3plFu50L(Us^&P4kE>{|X}dc+-i9@H*R!`neLEOmbjzo}6!ME!fUAkg)Tu}M2`S(( zp?X+QnyM?HD21&tn$nEs%AsW;YVqYXJ~?9|ha5lcRJIOdix{mV8b@DvR2MT^CBB6$ zPFeX;eHWg?8mlYSoH?E4-+|B_HD+*l-wOEXocVC*?*x6VZW=D_U8G$Q1M#Raf>an> z&72Ahi}(yj2;usgD*rqQr4)wifnBw~(r z0e&aNd&ZWfzLdz^Qy^<`HUxuN-Q3K+3uec3H{>R6#v@{zOi!g!&W~~Xk~$dkev#fd z0xCRDwsGLHEg!Gt#>Hdb4YSuslwx{@OPwa;14D5!3c-q)jj69E2PMLRSUS8-OA68)-jMkK>g;RG)kO4v4_HmMs#PiAZ1ue$tr|^()>kM< z5BPl~><-0;Ju+Fa+lMU6B`Dzgg|E$$ki_D(NIwA5TFX~gyxa##JF3#GR+e+s#-v^V ze+cwta>w+C`LSM9q$8q1-#yqws!6#Tfk4KfOOO^x9Sm27YLa>zt95X+XxHGRH*lG%-Ky2tKZ5d) zS)JLMR7aNT@OHTk+TgtS|0w*A&o7Hk#7CiVqp8-&cF)p}yG!D<+CK*NW;;oV^yNPe zgkuVkwAjZ;bkX6KZLs|K3BV<5k9iCZ*1&XH@$e;=1w zhBAD^+|NL)!gKAeVwf|RyF{^n7VKBw-c5zDa)Bd{6ZOHZc-HCob7*svp3ZiLvF7{l zZ|*(NY)*tlk}sZY{&~=k>ne68TbBE}wX=+-6%yiRXc2$w+oLRH3bMh(j z{fT+xn`1Rvjadsb=r8MS4BgIr{4)92M?m`cblI1C6x23>s@&?f9;pFr8hje8-LqQd zSHRfgww1$?IIgPvDky7IM2AcIHIm-ttZ3%7614Bi)v=83R6Dqu%|$) zYcx{H8Sk^ej`L-P3p0MY2zfhvNI0FN`7LOSzr3kQNvv;)S<5=eP$1n7UnAvdpIwOw zH#}-P{5Enw3RQWBK1f<8}5>fjXbT+TwRf?9(}FYGUBG zxwf_rYMFAGIYSvfvJ0ZAe-B2RLaDBRejmVxoquXp5r#Y}Nw*;ba`GGN*?8D@#9Tk? zrUr&_Rl5lt)Uc9Hvh_x|dsf~=aGV-0utN;e3}mhj2Sw+2s5WZU(6;;oOtv{}3}?*G z0r`kCrgrTpbJdN`)bL=c6g8}dHg+CFsO=0is1FhHS`R~gYWm?ivutMyO=K6* z2yk=NF=QIGu>!95Z=*lR}jddPn)$j(wMIpu&(BhG&U@}cf3&F!}>IOVnbQ!vkS ze}Y{W&A~WknNV!H?ie8vrhf+0!+Q0tri`;_`sbk902jxzW{UL}V98MAdH)i) zyJa=2MAtLrUn&gQ!_9GAr5?s#fnj5eBAdP4Zqw9_zW$d%-Wgt(s7e&9r2ZPXxuv?P z$yGsRy}E6*y4Y-ATw@i-tERoRp}UvH{S%k{sz5{iJXRQ504&8 zeb)~E7J}EgjJRxD!?=WRg6>-8-=UCu$n)Tlh2$l$^y~$q1^qpOlJn_Ksx0TSu!7{&;C zjv_;$L!IZk=QM75&)nATmAMu*SGw+I$%fg#W4SN6j#>H{@zD_IyTB3%3j6=noc;$n zy;5_Q>}Deft-Z{>=+<}lp9o{~F>vY`_sV~fKJDV{+{T95wNdwD+DN-B5F^e@DhvM9)z z1Dkh&zlUb6O5{oQv-Fi-XYr@mLRtXqc5xX1E)>>-Sk=_Gr4KOaKwVYOvw3eiE z{xw&{R+7d=Z&Ae9DpJ`U4~!`z(P|QFE~>p{WqFDiwW-V+WTX~e6*ci%h*>cNTFa&h zBk5)7ryubP>wrfp>?vYchl=O&xWKsygu3Lf2W4xR1&gO~PY=Nxfb9*#-12#vTho0t zaBQr`8Ms^wZIk7Md=of4ClaWsam?8i(E2o-qw4_Cd=jYa27Z4F_(VH|n9437 zYa123u@&f%#u1UB-Bq?zw}H&nN@SXr%s!2A>|#T;x4Ip0q!%>?-a+~^=PM(!w*rGW z2e5a-pf%b;)mEm>M64dsE{OJr^UZw=@_>wZUjMPe9n?_2^A&9W?_5tVOvY_N1p3Zxf{nb>$ zHq^5o06ua1dRE<_R7dC^L=0LP?|vMoL4_ERP4ns#{>MR! zWM7{jGXqpB&`9lMk5_^eqy_VILeK=-K#XWf?8#Wk_Y$OUlTjh0hjSbx0p3l7mx`Wg z=i`7LLF(bgEM5nAo2xkLP=!t)yJj4vAsMhsrh^@z2Wb0l4)spCojF<%b^(;u3|Faq&zUx$QKb zY)!VE2%&_t`79XitWkzaXtqnA4ScOt+vK!|v=*CICo2K9&CN+DR!RYzz^Gonmy2rr zUmw3$2@KEpNa?Cq>?dJevTbZ4nd<1w=8~Q5Ub5p9iQ7eSS66IbA}!)H(DM=Ku_haX zWyBn7GU2567xgPd$C}i>!MGKBf3?UnFumA-sSK(vH(bp-7jKPkMa2eSy-QdRdrwR= z5%6_WR6$D;x}JE@W_N_AOG@(IcsRQc0i};styi}tF#vt^foQFizh2}5jdbXlGWgoxnTH~Te$_2Ok z#^=T2N~z40eoDvBOxk5-+_UlVOi04_pvI@=itU^~!81bfs#X0ic}LtgKZYmSU1ZVj?U3yo{St6Z~NSUA0CvsPa6Jr)IK3 zP<;tr8rtAp7E{84NKl>@H9P$X^ji$3K1AWvx-bv5gtDGm7w4%~Bl=6wtHDOKFK!dl ziwaT?)HjsFlbZn_1&^Si=v5ejQ6jj{0XOupW;kw7&m5&CJqA)s<6u&54b<1nNsAUa zekKD2Cx+^?i`5}`E(E(Tac#r|7dNSH)7350H$D%HON$*v>T`BaMvlUJPkkKQ4L%=~ z{q<48yWx6Ul{mRmvY#=&WJdS#Bzp74^JS7m`IrN<8rI^#b%?p5V zX_+c{7jgJBiA^SvxweGc^XR%~9$hyT_JtrFHl3G!4sL*l6f5$C0a4-lxlQ#xqxyb1-M*2R$w;qz}_E!S;eHv8|yoPaN61 zWJIe;kGqUs1*cZGTWRutnqa^yW+~CngE0Dt3kk-{@M?(m_1_pTOy{`AT9u2@R6C9Q z`{ick*MKDtVqUG3rcRdgxyvSW+my{~0l#pumD4U0-6Sv*5frr0cqE-QnlxqGR9}Y* zjUU&#Io_{__d9P{-{f?u%7J+%QAJud%(N~Pg=2I62DIBBF^yj9RK-)h5wsxaTWyR7 zrCFE4x{x>;DGTS@8yWT{)H@oO{>a(C<8&jojY_^ zg-kD?7U>}(S4pg`z6D`SO+&qxiCdQY5Y6ia(Ja+z_L=%us&&>z{8khW z+C!C%LbeGR)Rle}_FT5HR-HqmccRgWh|!&IT*a@dds>v+HKd*^x_3eSe_LUld9;Dw zjY2mTRAC*1D*GhkH#rp@qpPJ zU_0!58^Yf9e>Eu9)7vWc?I?C+R%0RirD{`OVa@C5X-x=E32}TzGrNS?kA&FnjEgQos`KWWdIcm0|Fi^isye*pHG z1=OJh3-}-c_OR=~YE%VGh(oFO3fD))n)lt`tlpaW5GbqE8qnnV!z2`{^BlB?+2i$U z7eU$`p&ptI>Y-k38!P-E0_U^j(VQAQA=`lW55fD*|7X=r+(Y%6&kv*3ZoLGuOIo}A zXA0pXVC=Hq-O#?ByCdUAK=`0!On`N6ru=_yr}0Noc&E;@jbWNmL$=BBM}hMgql#(c zitjK;CdNMoc&me&!QND$9|xAEme0aH{JN5Tn8|Sq%TjyP%}w%jYxBq8%WHV`RFZdi z1obCCnW*-xISScH9hwmJd&WxFzs`Xv}1bd{lYBIFQ13F7wp8jhSg_bH%v={eXh^K)-~M36b+iC8vfiiU)vf!jj@Kd!H_}3BotVWtU>&9l~ z@f+~iYHlN^o8mqXE(teLAfEvirIy)OoUMp%w6P64Zl+kj3HB~#Rv4dy&N84^RqM}! zuo~z%OtMo`iFo3-NNJ{jnT^W6TKC)Fa^Z_Q|0-6m_-f)HozU+9y1e)Z9o}Q|=rv{0 zU{oWVB^r zRrHNlRp+cjqzTmhec=1WpH5#Vheho}eY(qaW&H=BH8tL2)DxA@fyCP<4WcbH&ga3| zpnmE?Jg1-O{sPJF!Cu#28DQ)Wfo|@f%$xiXI&I&K`Xiweh(30p^DjA6&Xz9%-DiF8 z!zI5kQMXSTTPAA?N877rSQ>dMMMLh<2Wu zFM@*T?9?C`o z&N0XI?_g@KGe1k{8n0mJbv|>r@hg81@K%f}(Gh@0i`eN=uOTT*#5w3k+=6xQd=;Sw zsMxxZ)hcD{@z=oHZ*Bpq#Tvj7szm$)Xa{M<`H7ixk|$bn)i`6C_}4-7oLtwr1Y3|s zaOg6^W=@OcWP)lQ0=0}CaZuMF-pABgtt`JGni~>3iiJpMndx07yBo``|L`{lo~A|cqv}Br+)@3)>F97d();t2q!0PpctY27qHjM!YPvaucSV_ zsPXN1S=Xj9IoIzmnsmv7YVxFEWYkS>$YI!CAyM&$yFN zP)C@iwkDTtP0htgbUlAb9-tnq^GM))u(~aclwHtVQOLF^sVkVJqnlhVwZU zX0VL!Ep&IGB-vlG1WTi|`DohL@8hP#k+krr)KFohryyrvz?+@`r{s4R0bZH-{2<3h>I zR7~b^4%)mM)_WRc)yUZc%BE4hPhxxy;y29S*b883AwSl{->p#ux9hr3aN>SxKYw=^ z9DOCbJi6x44gg-pnHTRMKelnwQQh-xq&ciZ3TQ6;t_B_kxP4S_G0BDCffQ-b%|KUZ z51oiP!sh|~DJxXA>#v~<*H%^{YQ+S#BMzgm(QAd2P6BGv&ft8=v0 z)YG{W?B$?|&RzVrI@eOBfUY!{qVoy91D$K}>**ZD3Us~?UbfOmL7kVoerHT&7qz=V zSVyZ9HK!Di=JiYxSpi2Ip>CzI0I?b&ka|D#HoqeE)QxgT;I*w$1!hoY`sVh561|6zv0kczy!>R)q5Ycug*{K@j^Le*%8bt3pgb3JqYWHjl}B?p(+^ewEh%^>bQ}067>eAswa6 zsr5awI;;MpAg+`t3uP}au{?+G;v&=!Y(jX7#7vumu)%by2E*p!F+|FWF1VXrxv6^Z zy|+07sJTHlbVK6iUXzpOg1b9ZHmCEIGt*;s4k{Uc9vDyFT;4QOlQ*{$$gW8=)GCx$ zO(7%GDB>S<6USLL7U#$A`LMgml8WS}Zb=#KD>|$yi^#n}-Y%3214WJ}s+}LxcKk7L zUbCcoG=OLx5wa@q+3Z+DaL<#|L_2W}i4UKKSSRz9v1#gmr5b4*b(juB2m{ru(y_2Y z4SD6@^@5wLKaO`CMQ3Xw5k%WkJQRrOtT1v^%B6zdY%fz1YL5ZOCS!?d5EEd3a!I!Z zc)A=w#S0r@BHbMOcS0J$rdZ~S9Vw;x61hC0+3Ylz$;$I>Db6G7u^=Dw7jgw5RUHTx z2zMZPFmApBf$0J}5GbSrc^vV#q60DPuEOr-JCGnZjXDq!XF8AqA`gc8=t#8*TY3`2 z*VcxH*;!`pY9__yB5kegQRl9P??(w5dOTnrYHaiBv!j$^`Xc(UGWjnL>r8P?5Oy5-yG>K&tb`%Yqbjj2BuO5ke`9GTO`*syweUuHov# zb)W7!olC~->a$PAo{@5}R=`>tNlcS+EJ$JITE)cd?U{w=#n?3no?65( zg3vg%J!1+ki24-a@wxZ%Y$Lpm{GHWG+Jypf7B_%zb|#R;pS?P528h|Hb#O~K^CZB# z2TSP+ujq_DB|KQ<>3dPFFHh#sF8~tu=H?7e;JAJo4E)Bn{s~bGsAd(Qy%01408P4C zuQE2U`6!b;A$t)hha;YI!=zl}LVhu*IAR+Jt;K%{__Y}nW4#neSL67Tdg|n?%lu`~ zwlxe(QLEZoi^g6K)hw0}rCtHbvlpgRZJu8Vll$hQUERWny$bT}cKw{QmX^tfl-H|) zw$Dq$FeSGdyaqzzv>Sx-xIWvgoONvqvv9ErcKxA;kibRqS_Dkq^7d*C5mv>v(AObx zQ$2*&18^_&SxQ;CWs5Uz9s355BzU17gYZK6jo|SV6ak`ahX>3;yZ4Uen?T)Pi#jz^ z&R@P#acFM_?O-(;Ep)t`pOV?7Lwrj;M5zU)uXKoS1+k@?V`#pbEmTvyt)8mPfpZ?0 z`(1U6-ws-hC8;CC@&x($7Lc4n-dboRUm;}JIt|`Yk59Eu-x}tl)-rkgYBS7v9iMlC z;+#u^`U*1}#^c+X>9F4gc1?L$?~%ju-woQm#&e`=^{{s>FAqHr@PBU7?~M2!@Ll<- z21U4+uP)0hcq65N@q0nsYl}q>clM;XL;AKbGvmtgazp7F#BT@jsAXn`G1G$(Sms|L z;tWrgrKGYuK7w(mnvAQ?nS<%#+Mu z9h;5S_rR()YJKkc=j?MPTj^@_H^%#3r0y`WDZ^ei#|4JuQ2N^v_eFZ&2RM7n2Zr7< z?+l`u9Spu-q|lukYuURRf&d58r^_r*=A@Kkvpq#oJFNI71U zRotVdNG14jh)#Uc96{*IRjId9OS%nVrI$ic7%={1BLj-J(Pkl}ujtisp1j z=&?gZ2a!79<_h)Kck}1=LvY(;iUUa|;>1LR%OgHh z{ttt4?H1G>vZ?=b*0uFOvREZKJ|&_*g6P57^SV%$KLX3Ew;(r>OvH!Aq}c}j;|RHzF1gZs zh5Z6EFRibaicS3(_-s=dF0v>76Qt}Kjl2gpsGsA~orM3BAbifnOY68q9;o9cez{C8 z2yh-{?@BhHj1qyNPnAoPiVXB1+F1u|2UrdQn zX)22t%krnl-9|Q=*_qVAdM4LDP5O0veBP);H)N2UvPJ-5vto3ab#l?QL2@<1VY?p& zLlub*@>JJ382HDL{Z41`TP2*+5;}(zP^C0pk{emC<#S%(w|3dpcn!4s8MHevYIvEd z(o<03{1R>9wo-l;ywAEPVgCQE-ULOdtLrzbZu}fpCCYfV1}h=+b!v3%=ONuE)l`?o zbcL2wTUmcWidV37y-cfDiR)DAPk^_>t_L&{TLCn29bfv3fE(Qa;;P6mf%Jr}bCF5Z;BB@?QI#{)pZq$&wZe=NRRINz2fsnuYCDTnUYO62 zvPQ7_<;t-0rF^mSnG9-VenZ}54bgqP()1a&cOW^c>dzz7Us3wsfc7w-KjA& zFYkBgc{Nn31HOE?|7?Fxy8qAl%>y*EV8?N;6|&>rk>)0e85<>D>@Ofnuv9RPrCEr5)(h@@ z)R!RJFe)eI?CVTtnJE|klH{d4Iq+Bfow(&DmnEA!t7xtKWkhWn)u+oMy8JbO&1wdp z_pV1EUjeepT#KpH{u>eq&Yr^^5GR(2hn<-Z9BDn))E0~VEoA0cA}cMY+24`;_9fV~ ze`10-^w3*aN|;@CNeuLn*|5ae`uJL;u^FGiS)ObfxsojomHVHV#tq4_;s)|4X^Moh zj{QBFZS5D&rku#kdFjdw=WDf>;j2MrM#}j~o13qZyj~xV>?u`j>OYXWO{WI)BMbaG zz`dhki*VVPbq^cuzX8sjvPa$ekNm3KL{-Vkn>TWJwI*C7{Pv67K4bOs^*aBb5S--N zP3Bnsk!Dl>!&)={RcD1wkEE%ZWB&|YKMDOO zssD87KPmO6O=Grcl(u%A*s1??=|2YZg!)Qoo(YYa&?pIwlGMzS8YQWDCbih4CP-@5 z?HaRPW43FQc8$`m6>K+{T0(~==+FcmnstXJ=+FcmnxI4L(y0kLH9@B)=+uHbHC?Bs z>(q3eT2QAU*SYOdToT%zyyGG!NVY2SWUC@iwko=0tD;M`D!QaLYqCvAZ*SFq+LWO7 zHbv0hrU=^G6hV7J32N8YZBHn5J2YKKtNBv$I$9N%4lTAri|x>2JG9siEw)1!YDb&W zx=ZJwOVf2}x-L!7r3tz;L6;$DQ}VjB)?He`F0EjfF8;2BM$xq(rS(i{yQH+9DJ_9Z z!o_qc%{ry)SxQStX$dK9iIf(U(t=Xj5~+mBLrRNHX|bt{~{u8OIoQa+_?WGbmjC6!dAl1geWx|*hRHBGhaJm}h*(zP|EYiml^)>OOZ z(yqC*Yc9I(rgYs+>AIWh&^gjoIHjvF@9iinb!aZSCZ{?y7hR!KxhedEs|wARCRfFnXjR3Sphpr+!hzHujnbw}kU*d$La6^JW(loJLMxHb(i2*GLQ79* z=?N`8p`|A@>x8N(iG->s{84%)R7FW7RGr|D%1T1j0=~3ZRnkzaOea)H^QAFWN%N(d zsgmYP*({+-8gV)+s-*eSTue4qNt38dmry0mmlmr^nlEL#geqy2Rt8CG^CY!-lDfon z-$PE6Jl)OkrQ{{Gd6L@lN!5T7No|6pHbGLg6%v)aq-rY|LNn9KC$;iPt$b1|pVZ1H zwem@$psI?fDeCe^l;Dq4Z~lns_#>I-kC=`>l4<^k>G&f`kUf#kAI(K&CE2PZ(8Fr- zE=}I0$lFu_bZD*lBXs-`p8OG>9Z6+K{%DxelP}SXKcX3bgf)MJHGhOPe>4}>WIB?n z$?!*W>5}~MrMYxzE=oZXH5a8IUz$so)+HtR>qw?Fmz3s`(p*xSOG@jK(p*wnmz3s` z(p*kxE+;gX6Pn8j&Egwwbm6H?-RJcF4Rj9g&WRWMcMx}~yQkb{0&^Z_*2YQvAHd(Ur1rh3h3_TC63{dnU7dAau z5C_X(g6vDhJ3-rEwz1?HEVDCv7s*R6O-(H4Z`0_7Vot4_b2?itOwTBKw;;19xre{U zNA&_Hswe9R*;#Rf!D4;|G|ACnZ<5>cE);zmN>C*T2Squ`aV2zk62%8ll;^WcpZemlos!2w#vaPR}YznVI>N{zPp^FYK6p3caPRVV7wa44o(mOTH zt9iI?W!*bV3pEL86!}bz^JM?ufosMI7fiOXV7-Y5klSZhhI2!>!d< zn&epZIx(_bH^?Pjx>~8*3|YG4j3-@O*6YDpCLWIs{8%j~4_P^vd4AF>ZzN?6&hccR=uQ=MvyEQ|;+N-)oY@ZE zJws_zjd$?1qJszbn9NX{ckQVxu&%o$r##ZNtAL!{ic!(Q;*1>W3U9^Dp|rctdE9zC}K($sX$D_{2N z7gGqUMh~+cgYcue4j3h^A;Ot+y6yx0Gj2N| z2z@zT#(IM59~08*IP4I-Md0jVwT zB!ieHzLrQ0W)3vHB$y91-cxfEB{gSu9OG3i*^n_j+u?U&mPo>?p;m1#2Gku;*FI~t z@CpBX)ize`MC@+HL}MV6IkmGPN5DC`+6Bgay`@4y?!&b8Nx!+>EdfHV>yasigyg6j zbWO01-<^W|Ig2M(7aTQKE_MR;JCuW1brS08T|w84-oFp(xnk}e$w=w1@sVEHp|ZjS(pCm*7MZXL z#VG(=?F?pc+Mn{q-2i$T*o3NS-J|j@y5Or8r&eO!P15Xi1$QeT^LP)iOWDHJer~|k z2n4!198GA{m16L_o6aCgziP#Dy@5Kh0g#?8)l0|kg}YlD#A`_n_aVJ}3S&M9lMMzO zI&Se0$s0|wyjX0HVVos>1p$R*U7`uk3AM4Ko(`xmqd}6lhQ5teN(I8thJbA{HV>!! z=LImX@96C|f0a2N2C!Nrx{??sy@hi>|vV4dzJ#WxNT77eR^5i;R8e zu)Np^Y&PoHC;_ngW?o2)@&!@N*Wpmy%s+MY@D>U|EBK8z?)AOKwI!w73-MgD+p_)VW*eDw86~7o$Uh_~E7hbXqymZC0we9)ftY^+Gm+u7O zU|CXm5K_9cAaRVuRpFV|I0^AtqsqjK8am_^%j6*0W2$uo6ga~?P&UZ)u*_4KJVj~x z#0ioQ8_JQAJtk@rf`%Z|m&>5;n(Yn9Dsm_A@?HN8dDHz%EWM_MkU&rjaF3o$F<5xrvx$>o#OK$SH(5W}o zMU@~pT%X_!v1x7&CO61}8n2I9HF&tVo+lvLSD$1!dtDTeS!)@rWwMg;`LWwp6C1P= zx!j@x#`5^Ju_;!Z)9UwxFTbzxd-H&=PB&;}=)Y7CbREc2F4Vap*yc*98Ghf5Gvi#} z(AeWo%7^NSs8LVxaTg!-PcIMx?wpcWgr4U2Qqo??-?iDPDe2_#op@!^UL+)woS`dt zFBTHaTrTBvFAo;Ua8jz@Iue|*Gd|i=I~X$j^8Uo-pSYVy-JoDY4Zlh8%R(G zxZT+OMvHPDzqSmBZxSBqJn^jMf}C%BGv9l{l|MXW>8AJ=P{jG#$SbN|{CF!!+tpFE z|F6BXfRF1q9>3Mtv14Xth%F~R3rvaIG_q_bZcMf0IBC_YXX$KTa=KIRNw$@y{A-&s zq>wT*Gcz+|%FN98|IX6e_ujp`6Xn<6=kxEUvEJ>>&eH7c?Ck8U+ev7%{;}*$rSh#n zCsWFy>|p-Md`r+%`4(Lvi#nM3nKn;sEto0b%se5&Kd}wCi(QB2kek{-6r{r zoj9D#Pbc-FbJ-xjg@5{K$Zvu^K|Y|=_E|+ zL7%PisrKzDNQ;h?Pe314_c=gjnrfM+L!L|0B4b^YcvSLSt#MK5eI78c6+50E{k`)A z{GLHIj8iJ?{X$7Opq}M6!skV#NSH8FT%r$N41A_FM^{C)qF7@4{PAp>Feh(j$Q5{Oyg5N8Nr!d*SkB=z?(arVp z3ikW?ApvQ*3Y-&*u`Aa~?+<`5mwAtDhrv5okL7vj-Vc&I=MXpFq>VNPW$++^E9E{*(Neq#o}1lzbsOTU$QO*Tl0enWoRE z4=x3M)_iRLoch4W?(^nj`xp3_e2j&dE&CVwo?)0^S2M0~!IwyxZ&J*dYQUEPEQtb+ zo}r!^`W2uH^{_Ih+Y99u$Jk#5#65^!=Z$%Qh<)XpENg7~#6b0&@Iyn8zc%QUY#aqScNCh(~uVG6v~)L!@&KZyrlrG~+`L7C&D zT-(ucCGuV039Z{q#A_ZgFKDlDG#*ad0Q&}f!~wiScG}s zANgL%OAY!27yi+;p*7ljn1`JH1j-zNe%BgOBb7Kx-EYJW2(WxP4=(+ zoP{1x;;dLK@OiYRze$=wp+f4q+TTgLhP}akaD5C@(>J6m`tHeE*bF#zUM^{VFiLG z--&ctXw1w*gc%mO0KkO;IJ$qL5DhE|a}TODn}nFtDQvJ3>P zNqo5&<|VCCtlpx$AJx^bZBs#4pREU`C=)rGr!V}um>CpGntB%@uQJW8#&%w$JhQPv zbMVfYLIo%jnbsMvqT1nn4b@%8`(sFvv+CO1UgRB*OBtO|cEtg8&8-D*qDbU*d`yRo zOb-cp5v(U+{@$TtmX>JqBD^oq4FDFo;*n93co?C8NW2)>Y>O@S7u?Qr8%dmNdRfm- zmAr}MnFq6jMN9}s^?si?Xv#W|(kag7Ic~3- zmHi3}>Hvyf{&caEhqoo@2R(k|lwqLV8O6qNmxryS&WdqO6KT`^(P}1PK}9ZT0kWp% zXt#njztX5~12C_`=xrx`R&11ZkhVB&Go|2)G4(<>JYi(8`6DtFvAwTXVrlJelWvI=y@!-VDMhpk zEQQowfhon;>h_pS?PC<#!vLqi7Agl0E0rEG~ba(r8*)c(D zVdZXZ>djkVsIX&OA(x{&mWN%d#h6GIajTaeJ_W++Y6vo_r$M^3I+7j}J5FcFuq56G z@>?}J4-`wYsf?HhZ>U)dc8@oLB-`{;D4+$tFCeXtzuwcr$@W>dWhK;$V0*n0oto0n z5(wc7&YVv9b2rY6{UAT9A*Gd$g}jjuhbzH@A&4F_jNmhf&7c@c1B6F?6rYF8=--zb zZt$jyF@`4JZ41g^&NoL*5k3q6tVj%fhV8vfed)6SFqUe0w1v(P<8w1pBGbHc=MD^@ zgMepv39Zd%C4*Nh>wj$?Ej|bM0%CEVPov9qKm_hkNLMAaHs6$%;j*S}i2nP98B{`R z^Ub7)B;A>5x<8+j_?u~Z0AEl1Ult(VD972$V<+L1YD^HyjmU^bn8wPDgk*^ek_XZ) zGRpK(rBQxR8dwk3gVVrzXdVK1(hlkUhw}CA2Hi+$pZjtZv@;=^5Y8X@8lCtaW$*tF zO?cdYnOJz3>3{mT(&#-r4Xj7+5ousOdba?UX~atSNIoa274cD$C|}JxAI;~R{?Cl5 ze~SAUYCa9SB%u!aWRLk+exHxeNcnB2V#tPyO=CZOX&r*9vw6sjkE3vzfplu6F?@U) zSdZZo(!hEQp9px8Sf!et#Mg!L)!K3^pSS(j4&0Ne-K^MPJjGVNx#_8VcE`ZBGo66& zq-i)H2?-N|Vq^6*%9z2B^q{V0`}^Gy^t2o1{e*P-Vq^4zSs3cYp#XXDy;oKbORX-fz*>je`9=Kx@M_+}E!qw^iDn z587Ohg3;VxK=KlkoYc2p2y|(>UhyKpFa57&A+x;L0e`V{fa+IwW+OfO5|UR{?mmb2 zQg9Z#U$G6&%K&byLBI~e%fX!=A!LT(6#$kwKyn~n3H+vt{4DHiCxTl~tE{ZCUNP&b z7G8E`HA2r)-nHXZ6#o!2&@tIJj^*149oFO3)MIt6Zg>qy^VC2eI4Fm2Y$(byX0IiE zSvXMUmP&~8I^avfpRr+nJYX3JEl&Td^6Oq8YAj&ftHq4rWMj@ZzVB$mpifH*H4(X9qF_a<89=5O9O6f zMt|ii$oCC$RH36ASXyUx6wx?2}A zX+N*|jxxNw)#Z8 z*@E?#C@h#`KS-*!xZ)OOj{E!*lsSY}KtT2( zNetd6NxgtA;HUU&sS{=>)AVVNfF!gweuS+QX$R}!8gFUwE+v$?rdpb_bHC7PX@ia^M%4-Un$tlsbIF84|We0^XCx& zcO=s7RO|xk^iBRwHud_Je4Dy`TfR;GzQgxKspEI~*w}3~@air99=I23oA&qlyr2Fw zhHPcp_Kn)c`aM42A5i`@&!+yv@VBxb{D|LE#Aw^ht0F(<$A-ZAOc z)TtPy#di#(-^fp06kc)Xf6LE{q~dZp`~2@Lutoj+z5Us$e*S@}#9ZbW2>wRO1)MAYoxkVfo;O`}U;4GScXQm3^5~iprCKi9bBTU&@cIXZ zuXSS5=tJy7_34sp-akQGY>%M;hkk}^!~X?v8t2RX=HkLT+@F@nbcOuXM+h- z(g?wj4FIP|DXaN$r&LUY>je&z9}`nCS%4-vOnzLLiiz-@>@fK;g&*tvesNt9>zRu{ zTq<>T2$8;-3V5z+l7sUUU(+;_Ct-_dZJJ&+|MnRb^KYMN^KYM3B|pMuc7^;T&oTM8 zHO;M>fBU?O`M1xv`L{3NYk5lhw`GWYvJiy%u^v!>MF7O2xovy%;u=I+mZT7AS?Y+i zEaNk6B(`OCEC(DP36fWkEF-aP$4b7^Te2h5yb6S5O8~3}pjxt{c})!>Eo)PVw5)SP zTGsQK-jbag04H0r^J0=!OLlJLE4?K<}RR@L9Nm9O;b??R;nAz6I@%>Y#O3A4$kb(pdGpPPcM00*wzLfJk!Sg%#%8z_4NE80{-is~J#NFLVX=`e# z$-BTB8uL1ZYPRbR-C40ZUPkGcTv@kH-*`Fr^R>bvdldbYv>0G_1DJXmFW$kE_>A`5 znV*Fbv??Smufy_gdm`9z0z-R`-bKpCAx_+#xgK)`Ki8ZY80Zf!-@3J&J(tl{8^nJV zuS`LbTHY0`Xlt-)NNcVXYGlDHPw?9KIr`Q>yGCok(5=}+fy=^{hA;L?r%=Ck;Iq%F zixPplC?U1nOX4V>B@YYo9_I}=r(um^k1Fe0@1p{f&k|)iL#QRbXY}UIX0q~byHxKg zQkI4k+`GG`NmomTllJ-cOsRbO04bwEYt;FUNmB=(-mmt%8eKj&I_ozgs<(>&LEnU^f zwBD-{nbvzJ$h3A>BeU&3mB?(%Cdh0%S&hv0o=Rl4_a?|}&s8I{<5VRwJ5DFa>^PH7 z2KLM+$&h+Oj0{OPRwL6~s6?i@kJODZ4o*`Bir}WHNfciK%#{FrZep(0m@Vp1Kd^ad zD>n2d-mdvm+!nYm>7$4#mbR7b;0k=M&q6b@^A5b{AJj&&Owlu#Lgj(MelF+}Cn_LC z&Pr`1jUVZLR=0r|=xQ#n@9oda&Fw)zgzj>=@Pn34&^Na_x%Y95h*aFWD4sqG<{}T% zI%4yXLU0b)CHkhC4N8MEdY`)3KvW1Jsc%iFlv4kB@WW>xeV4SWS)w!CM&<6Jy2cg^ zf$AMNIjcyJetqO7vZ&Mk=GOc1xjkI3yxjI?Mi197r27!%k#cV)=d8oIa|7a2e`+9e zH{!3{UkEqLNqF-E_*~n)uT(g!FV)2~Ph*@69thehq}gt)vAf|i{*%8gyCK4V&AZuo zKM0)p-B>27F8zY|@V{|J7y)p8k zPX<(JjC`D@fRi>xKHgKot7DA(EKeiL@W#l`eH*z)Iz~R7r$cAGx<%O5)05-GUfty- z=9ZJe=2YYvAbO`lToA`uRo}Lh$H$%t*gMU!vRST7XF7;M)qWJF4H zHFKU=)z6{morFZr7O73Iie7Caep+!j)R>a@x#ZP1TF(zWPreP_^Z8CbIy<(_F~V52 z;RTe(dwpIT;_tMFP4V-+kbD#6=HZL@NSdU_r@}h4idGp^?O#mcgwXVAZ!ZA{$!aHZ zzl7Y={nVF|kThS6ZCh*wGk(FUF)yR^%WE|zJ^RbaKK`7e%?-l+ub{m8IVa5bO7e|A z!|3u7ef%m4uY+Mya=)6~$ycw&mOtXR*%fQNhJx=LVU6@zT9LqOA@Ja2T+?x`dZPPZ zM>Pm~Sbe@G8jv9KddS?6FvyKisuR+$FVY?cu)>{5c{Ucl$Me6RBs$xzZBo zURC+c6vnH9UPq@hjLY;EG9@j8W81Axeu)TqD+O+=vzC#JZzE$e`0?1*H0si!diCuT z8prJIFqGM{t18cB|QhroqSLpI;1l|XM@#Yq#geR*0eoC&% zEtRu=fUHTg{n&DgA8aa7_YYEmyF}QgLbq3?@S!`T30_bj!}YSIQJnK(DzG=wgmli= zn_?4PC{E}j5E^d|Qd2K63LmB9njBO)>&M7C-s+(ZL6E5T$0@v~dYGE~6Xd?5wht1} z&FzF0+kBGJql;4o&UZu9j>g^fLcU82a)lXopikzj4QX|^HiXw?5s-R3s4wuCNfekp{RV3vTHI?TIMg2 zdEEC$rf@5>bG?Z+e3@z-i11Om=&w!fD^MdCm|kk4rF|99cx!b&r<~4}m5}-x<<_g! zRm%T$^4~Jv``C0hmoTn{YRxyO&CxoCt8SvVL-b+)drdT_KdOD-q$-C--9De z4Y|krDA7&*=q&jyMb|t^Ov(E@@;+dknZx#3N)>)j74BM#Rcg@q12o3_aK%iwXy5;l zg16VIe8rr9BIkJT*le#=tiYeCK+PRnRSJKB!gxy-RNrWi|CK^(N|r>fzmaRJ>4x3r zZ!N+3ckEuz8*N}^-K+P## zmBLggjK5jl-09^3N{(^7`cI?uI?VEE*{73zyfvC zov^CTq8>HpLLGEwLuX}Muf98zB|g3lA+Fd@J-9jtloeNQN_Q`AoD0TmjI!c?jPq;2 zMVzy_c_hxnZC1Nistf1yNxCyG$BvZb;Vme<*{@Pwuj16r>4@iK?B&LNbpZtCJ6Bu} zwh+Jy2XGF?9>yXt)+8~+z1YKA4A!NUu{`%+FT)Zt?5vrga^9unUD$nzp2B#{zFRRa+226?79_TT}~HQq*~imeI?mvb?fl&;?pjx$|};9ajBzE+ux4m zPU8)(9b?;hV>h=Ncr))1c6krQ_ox>RGZiysdL-8xa$(fllMQ%to;zH9x!ydn0m7mi zk@Ou_2+9GEcpo)ZBe@omOVn%j7&&n4bh?PD<~pGJq?$Zok)u?3Fy6(~Ypzgvv&ZlW z>8h`X($%#eIXA1Su68Q14G>$*qNUF?1erOAv%PXWz8K(EyzOh(nRivW!zafg8_Ba~ z{U$n6xW+wv0%3{P*J!XdfyJB5VaHpWP$Pg%b#)U(ZU(ufN>6B8peol^gexD7mym6) zyy$Ygzq3UAd!9=y-`z_=Ka$6|!=JlKIX*lg(mtTIE z+dbI=akz#3H}T+elnLomSg}+dYTS6KdPCgnLXUSfFq%~}f?qlkEkgxXbgQ#V^B}E1 zC{l;5VAMAtJeJo4G676{8eXmJ7-&WSy&3dHk#(nQC*JAf^#kXv4Q zkpg!D=Pe*lM-)ioE|Qf5t0@{}njr^Ol`bP!H8J4TL(c=RSlcYAlp2l8A-0uQlERkP z&a<05OS&skWjAtXX;fX~=Qrvu^Fr3X{4Y-w9-* zZ0L^jF-6ppLEgH$mLJnQh+q_)>ELa$T=4`6Q}u2@9;msFpBINeCh2pfrOE^7(gE6sMTW(#Yf{T@kniH0Mlt1j;<` zS7Zd#<8(KWGD*R12u+g1l3g>my-`ygb~GI4$yHX}U&O z0z9*%-g`V{rh321ZhqXC9~%vOO)*R>}9rQ?1z5ZxSTl0K9wOrdH8Vg? zI?*(;Lr~RIjQF$d0|vpc1{BiEm0XId)r(rmd=QyxwRsl!dwVM=>}mu`6? z`hNV_QkVMDBRTrA{Wp_?bD$KNg6?UUOHI^_&2@ir&1Gl3AKA;yx7yPKNZwjk@z*)E z^nv8z4qKfS2=hINd>g{y)cTV<8$D1wRboh#d+vk5ytv~`X|T|{C&ygM!%*T>5ITdp zo%cgPUD_RaRoH)t`=Njr8z)$q3G!_4k+ZpSIp3QL{s&<4oXhe~?~Pr=sUsK`Tld}@ zgYdem1T&G)sVTvrOc;i=LNf!|GLLQs52Nt8rYgNT`<7_%aFSoTI(%L*6o~|MYHi67 z;jm9xzk-{$WhACRh-$c&MVXckv)z#Y7n~rW4H3@Z5s1GZ%?<{Q-I}t24RIE}JpLQK1 z;Z|5xnT)L6^d;PfQ6#-;>P5#iu&7E5NMB#6n2M6m@*+AGo*uP!s<;}d-V zRAq%Q{)sYc>&e2*mQ}MJRE(58H+B*YBv%i%L@YT`&eNkR%RwxMxng?v`t6m6n(L~O zqO9Xq)m0_x&N`Kfs-LH|?{KA|Y5QvaCbi<$g_LQ}V)5wBmQx!Qp_vJFtTgfmj-*3` z3wcbNaP;Y{$O7tNW$uyh7uKmlQ@~n`)rFMVEAInW<3VZ=(yU|3M)6N%2QVb3&Q*{P zNFZa@CQ%>Q@>HqypXxu3%~CM^u2Os%wx5Rh$utF6*^~Kf;Sq?aivr z`B2wRD?P->>_b_o6OEwr;m)$&JO>FZHE=E`|JIYmy((S@a_#Z=+9_*mZFy#m5dmzY z%@XLrOxx5MZZ-$0wKdPA)KRj*yqd=tu(Q-6sC4TRul_2p*5RVtr9}iIXARXRnrUF> zU`ZIeR<#Zf_Q9b&HR}`MV-?O!y^%W1d~#M>t47h1YO{gR_SWvc>YgfRwZB7E{NX zSMmN;t9CZNRXz21C0%q%3BRTcGGYq--o5F~moLbP>opO75fh zb;ZalA*DVV5B1akh-Bi*buU-*FkjU^(vdlRiDI{^M**G3 z1ZsaOxXIW^bx))!Evs1E(ro(k1&!UjtVHDz3QZss@ zm;{C{=-DGLh{g;fcKvfkRnRcP%0HKa21eF(ql*mxJPIz4tl&sw_G&{HLDVDoe2SIZ zBxzD9j<0 zEvGF>tMF9rW07mo=GmWKRbEC_)|(R-gIqao_scirL-8HWOJ$ZHD z4rrmRz$>YM+^DIKr)<;J@Vttw)1>!IzrLE^*N=P(*j~4z1!YkdE%nzx{a}@fR#iB( zc4O2YQ{C4>P(n!6*K(tl*wa?Awb+`y4nh(rp*}*=B&{VxUq!RjUOy~qo$7SaKULMw zrdeulfSS1V*H<^w$k1mcuyo!y5;|>SHo(rweGhguif7&goyMdnh^tLzh~5l#GT36> zvtt-~nkn!t6nLZx3vcN&zM6qKEN<%Rb2|d``%J*-ng>|BS}`(Zwza+$noY4L6WiIU zr1ofDk7RJLgqfvOejAw<$5HHHyd7XNN@mzCBdKLqT4C>?uv4S$5?;scYTlV?$?R%s z+Ll_>J1MF-+M>L-kLxJ%U1QOe6e;c7R;zvQrm&vTw{I}7n6EXpAKybcr$<|kykA^L z2fmlGB%)NBfJv|w?izW^$nPU_GA!9J82Oyp*JU^$M;@b%^_=1UPsTVf=t-LFC%+Ew zrw+-01|z9Mu209O$ki<0NShB(bTYuyD2ql4?MQ34DfffpRPN3i<$j2AlabFx(%#r` z*U{z=k7L=j+WisAzNX3?i7pQ2j3x}Dg{~1@)ISQn`ZX8cFwtv^(-PdO{xJwisOhxH z8?BhK2^~3wQ&lmiTnFtm{y1c~1!14JH7i-;CrFma#fG}LUuZj3NLHW6^%`eYOYf6p z9ChU4cJ0H|g`a0vwy$@`Hg9WHx!6xpEWV(6M`#+MD*R~xi!DGNHuQm?0k|^RB0;n5 z`79{j6F0VWg<`5{ZCN(U=Y*;)5{)>2y4ZDRjS5s;#_UJ!*yB!Ln z4!c~9ziX8LP09}~?bTaegVeVmwSZ0xI`PU-U1vw*+dvp7B{VpG7k^s|`VOFLUC)mV zYqg!iC#-ApcOkt(9^6((9DDHlJT3mOtQWTM?}35WyJIalE9$TwSj_K(8Jb%Rm&R)A zT49;koFWWpug@Pq;+`YF^5fkLF?S7%gE*6BPFo)SA@ra8-*rx5TK*$y#i{amjl{u^?{jz`1- z;|9ffmM81=Te4Q@i75TwfmE%_!=8{OOp5jnA55!$4~>&mdXr%r)hUW8<_{Dzl2fnY z9@?1V{z!4>htVppUo^9E=Gz@6(scx~k}K%`$Q@%N`sK4aDQ1Ypf^-|quPG&&oc;pp1P^$mr$rSt#3ht=V=BOm#1w`?!wINqMd4!9xa+bBc`A_Id z-1Ib|9;2)F3c0emU1f><3nKgKCSvcDRkC*fdqkA9EBf&Ozcr@@{|8F-+s$pA+^sU} z%V@fP!qkXbo^VKrb`uh&zZB5@-ZrfP3b`s~vos-K1bd3Lxl&1YqNMtdDckXr3243@ z%L~X|zfJ$hNf?UA6mFq&{XY>pmHaB&3wf<_DEE&^U>&ZfS0WuOds|uTjH`wvsrPUf zLb968FhVI~j!A6mCzHAUzHdH-BgrMYq;@nNI?1Q>YA>0!W=mRmGbqn{ z=~u`Y4N*D{71LJL-S@LCo=MJ7y-&I-McGZb);I;29-Bq}a35Gt{x%c5&rP-2kO++_ zNfM}cc&4j>he2ZD@ogQM!?}Twy0VDOfp-0~$)4bvw#_9omKe2*aQ#5v(hHq>3)?sk zlvu}09~nYsr)_`gBXdK1J~=A{MX#GjEKyTNih!-NG7G58BG*JAz5hDPAq#<3TOCvP zO>O;onQ2)!yB0wywwDQUK*bPY3tbFqz8=9!1AXVc>Juofv?Y`lbJqw_?VVdQlWYx_ zk_TgoGU2FAfO0+-B+DDiz*yJaekRv*BO`yj7+5DYjo`GJ<=|bKj%QukLYwyrO<3Pt zjS-`yPC{<=<%r<361=sQ2-8cl1{u5RD$q7mLTm5uk7BL{^WsXFGAWGrrXjip)LoTO zWA$w-_U>8Y0uf+&10kYV&?NFYZjK$LydZ}dVCZF6dBO+Ir zZ3~dqE}P#a{rwUt;dsE(lSxAo42n@mTR~c{DZvp?$_;qrShzXmX>DN-(gfmiS0pv% zPEXGn$k=gh24Rasu*WVH*~~CjON6B1c;w0foM&@q^SN`aAY9efd&6MByGP0a*A`}& zxm0H5ar2p*`4Y0_aOp72EZRo@kT@f}LQlx0tFyB8Ky9sbYw`Ky0*#wozJWSHQju>?PfXKf~L@awV7nxE$zG zLK@(%f>M;1uJY@&8}Kp}yoLaDI;NNCO%e}BMFhFCWLKJ$bXjm4vhp!^+P>Ms5f|pJ&|287 zJ)y4M)7~NC(G+tfAO?go3C+@RW4_<17;QjScXyTsd(Irp1_Nppkdcod?Ez_(?P9Y} zjfVhF_+kxs%eEQ%7I5fVbvIDg8)h);t}~J{TH!I? zH6X4ucTjm0-i@q>a!?hk7fVC3HwE<&sFnxabPj1A2E5MJN;{8+z_3m&N5HeSuRtcm zJPP7sQ+w0Qkl@_`F0oD1Qr#21$D}S=OqkB}$d)-0M^qCUHrD~(QbWZtZiw0m80(yh zfnhsG(^Cs^Ser1*aVgnku^}aulA~hjgm~A2x4sgd9_A47L>fVvP>2zGzIz>b+YLcA z*W}(}A*X|*9^m4i6>^SaY|iV+x!L3t#_TMaI@tJ3ESfpd4fi?PdLHo02eqJP!ME&aF*9?t(jM!^jP3R?Mx*p&PdCB#k2WxsVJA(ln^QayMXjQ zm-9%mFoY}X)wMt5sNL`}zALDCcO@9j7Z=gmOD08X*94gE++G)MQ1ZIof| zM}R8RMJu{it-FQPMW${V;szslB(Nn0W|<&_J__h!D?9K_>ZRk35vp3E00)l-=mNUM zfjY374)=ttdyFPDa6lAd7B^|Vavqi|iH`+1-_#+Z2s{qJ%1VH6X?Q#+%lA_=BU%#! z^8^sq(j~4@6+13?B53m}49t^EdZ|2MY)FUp3ZLIfx>Y@r{T9~m$$}UDOzr8XfM@#v z3F~SbJQaZLg9sob`ZQ2x8^)9ZM1>D-6N0fsrPn_lfP^>{CoN?(Q$q6@q|T+AWa0Ia zpGoo}HQycKJwxr>cpNO}o&{`;Q6Jffg>l;~sw(c;U|mQGT=X11r#rDl!gEQOW@Qz> zpU3a1vcPHl=kt@m`f6`+FyC`ttrstlL@5EOM>tr$puLbpV#!NzC9eIOEIO3nivT$; z)h%;V-pm>oo$s1I`jX!X5N$0kNM8p|1tH+Ep@+Fr>Txbs#Ns#UzQm9{9zkrhd@A zI5}$b22hux7%&f8TdZsg#q%2huaixXI6alIPp9C$$>H^#%=KacO2KhZah*XFfF>6 zNXWMf4G+f_axgns?7`yp4&duOxE*?B@2~}l3j0nFHzpBXfj;iLz+LX)+Cn?a%yuF6 zZV;B*)MUrJ2e9ZtvR<<2qT{_+GKe0iW^zL5e;?o_Z0rqOg~jicpUPVEexR89_^Ick zNGjCq*v8=lU~S`_h<*ZJC`o_~o4Gh3H9)*c_Cy{<>4Rjv3&ULnMYh$bwC076#7gra zC@3{1y%0r#!(Nm3!{k`$iZn-uR>2%n)%pl1m@la|4Lx#-fK0h+&HpIqP4%O<70zXc zf{&4DuFB-rYZ;)AyJX81YS=zO@*-ysGZIISLhwmo^Se9X3A^JlfKLHf;51x zi`17}PNAT*+TaVo)Lu%#zsRqJy1Zk#o>EzvKXe&i0yI}4neo|QDqy$zGRZTKVlWN0 z{I8I-*qblMi~WNq3;E!TxK4Z(;C!aGoi4UZgRcRYW=PA<=j;47tBgtg1}S=#F$uRz zg85d(f0G1n;&he_P*?R^Kz#vYtFT9GLj%MEV$1q%aMpTt??5|nLLr>m-vMo5TLGJ& z>P0=cDsFu6T|kSZHdc%GfZqeQ(hm@x%>R8*R@v|+NC-^l+-^c$w_^T_8h>!FKkk-1HFCtW} zBTC)%dg_m$ZPm&&5BTX&Xks$g@<@CVk{t0T@`!D~J>`_JN&Oj&^|F+=sTr!bU7qdZ z+AJCuav}H&hzlszo=t>?_P+vI1BCd&Y`1h^#w6C?z*-8{pC)$J~1%MLq>ZYGE^Ac zJAqTVA}tpHx+GBo6>)C$(HczzpM!wP8idecdF2o$m;~P9FesN|5J&Ptfb+}|H`R0L zlQr?k4u^{Lml-lq5v7Szohjg5LLDiHNYcce(GjYJlpJcRz&D*G!PM*9Mc`u_r+WrM z)M%A-#;G9AO;Vjk@&Y3OB`9##23(Q*I-8L|+ z@;t!HyCvSBUu>x12lGK#kEyx97Q;s|B0}wXl-{-gL^-2%y9a5QYQ#byYbrtv5mnrx zO8F(mbg)=e!BXB!bbmNbJHfezD8wZo&J&H+(3OydBK($;zDUwd0}QxhV5pE=2JDi3 zMUhPYZcGo7WVQ#qC$eRExNbT4(ilrCwsr+N;|j3WR>5iuRG+N`O;y-b4DqRqz^h_~ z*mR>8n)OSYr7Di(`H(2aDk1|->7$B~Za$_{BQILp9^44v&HMqnNAn4yh4mrvYGTdrhqVyZda%rtB zei@s|5ZVb+%D4oi$ZlKai>bV;NTgdXB}Zr@Ns>L0E!?;ToR!pdfSgGT)wm2OGMaIY zaE^IfO*t09h!k}@)FL&3<4*&TryTYXQ(5Y6v6{hJ>KCOgbr#$L*qDJ+sk6tbALMAb9To+)Y=#__Wt{`P<`17v(T*Oa$ zHgZHGEO8~US!!(z@!LpK2CUeK#jTWkz(cQ9MD6-!FD#+bi+7Qn2DXE?0>v;Lb1xW+ zycZ+Ihofv((S5+?N3)9V#CtQ639_(F?_iJZQ4PBam_1BD*S=90!S!`;HBgRMdkTZS zxhiIq1E4K7C0ioyp!{wCSHyr$vsZj~4H%2|;oDcv8P6dYgZd6&lsyP+wKV5@ZuSm=SZKTD_UohTfl?q+m=u!i|pE{ZFTy4FC~ z?82UMZHKa`be5WT?&<_)_?x<|LoZ29j6hUI6&havrY15`?j z7d+GMQQWaaH%P0n&na`h@OBV+@V1#hc3FN8R< zVNs@#vbsnSIc!&Dog@$DCF3`%gp2m4Q=dIRoqb!SIL1|W-d^CIzMyAfWXRRLRjRW( z*vOHA^G>aPDT1ckl9^6{+Dc<02tuy2BpI#d>q%|>d76B8CLc8oL@j12L`Za&M5w5_ zDwb>6N^u)hM%I`Q&p_a=RSEcOS7jP`Xw2${zs)g`SUYbZZBCeG{5WnTb!N9dh(Vf( zpJqWPohflI$RzcVG+QY<8b#Kbpr{Di-n0)pl{|tBz7Xsu$=7=0k1^fXQaAXDdf6r( zxZ#`-QHcSGj$MrmR>P?KUXAvED$TI8?O*R~X%P4d%knZe%?yFAA&(C2#jn?M zgT);fG_B#r_`j`mf zlY|W!Nl?B&*>|wp*=NqPR0pRaAD107uSsZQ$^)eG-nG@Mvw`-FpmJwt50k1@20a|mN{_t0=^AFIWsd-5i)*V!kOm(pM*7C< z&|8v3xzidU`p7s@5ULY>6gf6{H4SgCQl$v(M}xV|RXBoIy@IFQGd`sLQp(=4wkt>TJ7gl*ZP}xK2A+*qlY!|dAfX2QMzLKn(1UKb-OXo!H zs|oZ(P&Ojrb+;VD?_A7moh5IKvIV1pJqcX#q~#4Nz=>r7wV25?=sG6AxD=#^Eu zO4~az2Jh+MO&2-MI-~BNK7)i=>P!6KbLB%sFncCxb0TSSrt~aQXQ))8K$V|O%0dqh zE5Ruq0TDva0W?#AaOP3ZsFj~f(lT`{Y4Z2V+m3xaPOgR5^MqP>zU)`>`G8gk2=ZhW zTLNpakMRP@Tp9F2K={)tZ41S~aYScH)z6*Jz6d=0f!%3#6#8PRLZtS`i_!YO1PnRQ zRt4E6D&8|CsRw0W3f4UBau>mQ8R?5_y+#@Oyzj;|ZD9Ba2(`S|D?ziVF2K?+8lj>qu2Xez2c| z`O|7(TaIbMZy|AxQMit^95c@vzm?QYP7k(Mm9fCGlZ;zngSUa)Vn^+f#`#9En!CJ3aAbN&x@Ps$@F~s{oY>Z47 z!?y;LCabH$hjZs(kN2y>rFJpyH`v;*;R9e{C#pEX45FH19|Uhfbha4qhk#so;GifX zAC@Ak(voAXj|f(1QZWWIk=R&HN@YX#qhKwOSAYZKglfG3RGU8rbe%b4a7wMTQ~C9U zR6Y(Km;a*8lRnYMoZ9z57ySuE(x3{8a}jXktu{NK1P>0^B+WX5f(o|m5H!;sDVkP% z3S_Q`X=JU7+Fg|0;PQ?z**^{9N{fgxuUIs?N&E~b?oN*xd3_uIvp}qKBW>4-pCfUd zTjsUOD!DW?+)92Pyl@F*Ruq)VuhG5$kjrwq{{Cr)RVGC5{31x6HC=aVwC-VXUjmt9 zVXb_aUW(#=84PBX68TnNXZ<~6_fB5{jyHmWt8QSh^0{7rxV{R?B11fG8U31&M?9KY zVX(r1{5tT^#^c?^GnmPnpGI%^1{tTwsEQ=JogXr(bvu>O0G(YO)kvMg{`e+{n^W8edOGfUO1)8hBqv~OM^E^j0oRU}S)$fAnDfUnZ>-arj z2wVy^;#Arbmi>Jx!xRx6N=c-(Wmy5VQ)z?^MZ;O}} zW3{us?Y+j-Z^#z^Gcs(}ms`xFXJ>q@Q<|<`Y*+ha*TUfEpl?Etjv_@JEFAVPKwfGM zP0nU|lnzjw{!73+yP<@lE*Hw=Y{IkYsmrhd0_H^jsUv0it1)S8U+^pPHrC2(RO;5I zUxU3&?+nD7H{mkz8{iik#lsiPPF{zj`dd(!cKhzRRBQirO5mXB{tob*1oZc$E>fv} z(b^T`59zR$KLVSZ%<`v-$t`~-c})Vlh5iz)-VXd9#!`#(S8!IU^Nhj% z6qLV#f*n*YMY)l6X4Jm}ycjO=#jvFwD(uW@0JuZT{=^KPC_pZ=!Goife47rkIr}u&viQmhae(uLvJuU}4AAs>uEYuA zC{ddfmDy258pLLTqP!b4NXZSMBd}S()B$Ylgv}gQ&Q@6ku`N(Kikg5LcMdRoWW`2n zsw~4D%q1DsCR^xH{>HjXbjeEJgVsDy=AbB}!}oD@2CJhGm{00VJE;y21}t6+NNVyn zQaUv}O7<)dX2nFeT1cjO%40>Ss`6En7m==xe@)l9Q7|GdSPa5k7IC|aFzHK3UdCBb z;l_R09(&2ibBGLV(Gg%i?tPP^&^%T<98jGKss zZ0D)I6~L7Zmv8mP`l)=6m=f9lm=R}nSP7CEbl*kM5Lg9lxtw?y_es`cdde$pH3-UX z?hou565Gch-pN|%T(Eib)^+@?_Etl^QJ9Fx(PfU!y4GvjT^rQj%;t;7sEpFd8(bM1 zp?TF9^n=uU(-_f``ZYr9!p$o9@@76KZ_aG)=WON@z9((Y1clbH}hQnar5E`H7OM-iE6NlYtrCHS^Kn6QuHjK1oH4CVN&a!6he zCsO;5O?ut+f4b?bQyxF+QFZn7ilRCM$zzM+J=R(S?E3XnKRz_?HS}xgj_TI|9TIH9 zv3P;2H=WX{xI*ow~u~q+NtTf%0$GqB}GQN z;l8h47zpc*ep1i33Z)BA7`0He9pIIwrJ!k%>3CII zSHqEq>yCdwd0)Tlzb#=n8R+XHH-zh;ig~SRgM1G3c^&;RP_0s zY?$zl#gh*H{`M&{w^9UAy#l|k?$u)dwj`^KWKxa8Ypo3vF8tv~=h7kB#I$$4I$U8B zQOJyqyDL{zuhfmQ&t08jD@;V+sPOKA%QxJ%R1utd*3SLvm1^Q7pE4X~nReE?Y}K0B z<#eiR;^UU0o!20%`BdH!9J>*!qy}kU%{y-T8@~ec(t2e2A1#+o=z@L$CbKF z&*PE2ZX&h`*=1TCt}aGn*L~8(J$Kx8OLDn$)asjF4!tX~nCRWTA5Ar!w}{K|+P2+% zH8gL`D)D^xIytf~F4vv>N@-=vr26mK%vkl_ZfC~qsl{RR)I&zh4>fHpT@p@rHSQBZ zm%h9&@kjbNTO=@%fPzd}{>=?E{IV~nIAKGa6S|BLF6bK`TVw|sRCt=$@nn50TvO;o zrtgI0wriN>*%e7PBleicTz$;+sDPObkNo46pBHP#b%`z*MOpf}&0KNI@s6&BKi#tU zYf{2^*f}Eo6;=2~y;HWG=lUV`Dui!VnQ#YKU?XjvAmcSM+qN7CRC$}SVe0nhDs%V9 zXK2zw6p`3g{ZDjk=p5o?^_Kfz_E%w^QIBTLsplUY92#-wc2s!Mu;HDrdXwtWfw7un zb;((+cXhdK{PiO(y{5oz_|ssZQ-hlth{Eq!BM2HHy)ygm?#Vhp2ekjHPEU z&Lm)#QPuO0!&Gl8Swf7meBaS_q!nHw`O_Xh)+(=6239}gpt3NI*ZbVH-pFp4@W%^( z*8AJrrzCA%;f`oap9!lU7^S<(vk4QlBXbVnCQ(T;-dpUX*Lo1WVM4I>4}baj?Nh3~ z>QuAv025PRwx<+yHE+wbWOg+*ZA(5qZ~J?~58m_G`7^&+!Im60x7N-gsh1m#9n-tI zwW|D9GO}`n4`Mo%yeq+EV^OkepV?-PDJvf<1%;uar{J5l1Vul5ZM)$|H-GWlvS^I` z>s0oFLg;H_1%T_-hb5&`-Q7Ai?;U9))P&rM_f2G*f78fEdBoLmJYWoo53Ev$nzPDH zX%6;FnE_mhd(Pnhm+3L@yYJ#n-R9&x<8_#PI5tj`J+$CP;iovZ> z`Fo$f^#-KblauV=^q%@Q4OW!9Y?Y0GN}78!g9|iz_mk1uLR8w@Q^2t`KPl;BZ@YCW zUjgT)=FDwIE+ln@v}vNxr2K9cGs*Byx5fH240So|>#7P}QY%esLr5^)rXmm<3&Fe3 z7&5Wxxsg2KTfI~{8_`^1y@leVHIj)_y-XQH6efv>FAfulR?4YUM4_^Ka#q=zGDBA4 zysX1JYp=s^dF*23HoFInAyeo{bV`jT+ z%32`X;3e@HF6TU>nr{PVhd1HIUOO|w({o^V9c>Ri_R`7`tpgQ30&lL;XEiu@#Jbgq zqx-FjVYI7iBUhsq6)gK^hS`-!?;y0mvYj}RW{05=GGXY0OeK9P71K7`XjY?slQ_i< zVCbcqUp084V4F(!98yk)?EPU%7C7=^p zas}^OCp4aQn|7~FZeho2eRQ&!+ddLa%@u8@+DJ4^ZvtuEB(Y^lV8o`@c$i>n+kXr< zCQm&^+uQDjRHA$TYaS>M#@-+(oytDij;BdXxi>3=`U1!PJ6Ni z1}73&wRKcugu`#R{C*=>tx}q5yob16QtZu^d!2nv-S4XG=~c~?GQz1AGu}k^2f0L} z9dlGSrP%X1Yx1mgdL`0M7uP#W`^4WPQC#h@tt~U7O&a?y6uBHO!($o`%>ex+4n@9Ezs^j#z9!a`H}Ox|wyJ7M*}*IuLCBa)Wdu`E*$VpK@ED!lGrx(efFIBmo2jEPHqZiC2iV ztW`S&uW%R3l{P#{;%*!>-06*k+^YqYoZGVT+8GhL9|oUtdQ00)HU`I zaT#Dlc~=LsHP>gM8SX*!1)f@LmNVnZQf)b_Q$!5rRYj{UE*CxO^1pxQ_9-Kl3wq%g z)z$N{H#m1joiWmlaAU8X$U%R_6aG;iBSkp1+SWXR7z#zh)X4>Xv@%%MHg8*Q%$-&C z=hgVS#=J@~5=a${M(C6#vyfjs@`YSQobXm|Lvj4v2mH|6;lP<XaA`cvY3u<^`z@Z-jjAEGYh+$F|K2cw)?D6vyQcqxdExHaa6K1RM3lJ z3aYg>jQv6+;zR2>CO+=ba_JOd{}PjH>~}eKLRXQ*$-qCOT@2jn7u}hUz2+|+>nVKE z;;L<~(pDIcn4Txq*4X$=GK=f@tZXU%?6O52k#CPUJ=Sw0Y9v=^(|WP?+ce>fNHtKo zxj#H%?6O&rp_!%U?zbot#}n=-*_7C_4HC1mqPy~~^K?Xoq`R_f%ka9OqNUhqOp&_; z-<|jgb(diDHp%)9kj%U_Lw>lPmB@8Lg-|Ccu@1(5Q4No{R6Wr$QIpb3D4!OyM<^X`e2XPG$?48+h7qMH0h<&Ua8R@luzVHYq*iLp70O zlUdJTVHTOV+^EQ8)$=H-wlksT5#Ko+;$FU`%-+UiUia9E2|sB%al%4}nju0rj}P@I z5iud-(jy%ak}E5r9Xc%+`OjyD1|BoV9q zy2@0dT@o@}DxF=G>3FpXvqn4Q?lp6IMC4QP($=!}N7aLt!9+`N|ACz1rwMJtAsMfi z?){~Zh(qiU?x;yVo>S9oubIzlX`F;Dd^SX)qqDd|RYy>u>)IIkODfkoUO!#pYKI($ z+xn+WFR$g%)?MZ(*1_h{tji)D6Jz|%NxET`W4No5xY3eoS2C6MM5NX{Kl+66{P@{K z34FQ4I2=jDo-jVFoPPdv+VPHk$BrI5vj4!reLq`*8eTc7&-8;w+S?Ac9X-0Yt+VZC M8&mP3A!8fyDDixKbgi;|z8)XfNLMU7IJtbr-*^-EmB}*YCOIoBs zWGOSHvZeoZ-OqXEJ?G4M?sw*W-+sTJ|0f^s)j9WbeedT!=Q(q>IWrSW6pAHc)eGUj zSUF0fa4bu+ZizW7nCCbMV6(mwov{Ecl zIhNQrme?MKx%v{Y_q9*2Q1?Fm-xjL~#9kd;2 z=IX{0bum}Z%+-%2>SL~fnQItJG{jsZGuJqlXpFfgFUf>u^AH%@0;lOcTpcfi@(b3xr9FOVa8R+8$PQdgD44mi%PQvs_ z4D|H^{V?5+fs?&Je@yphV1O4Gi0Oe0oZ$f)5HD~B zrq5vDOcTInScbDhz4l?49>&0MFE9erBN!Oz1}7A@ zJTKYU%Z$A&u?05v3S+NG>{T0E$k;-Oy=G&tGxoZ~-mtMnj4hJbn>O|qV{b|9Z5w-s zv3D3N%#a+uir}B3W)6q3Vwfv#=5RPGfw_`q&f7jpn>la4Qr67jFjo%FeasvVcjYlx zA>gbSn5$&wa2Tu%=e}kRhr|6aSH;YE$CCZcoZW&K<5gQICWp~7_$R)YGx2u|6=wY3 za^Gx9t}Pjh#W02lzvr3b?;|ZmVhZqq2XN_V`#_K-Ci{&|8&ufp%f2*ZUaFZtj40(p z4fx0cAG3A{^dlFLh%ck-6T@)Pmy7k2T!0m!MOY#JPi1+B9W!ssq-yJO*5=BPd8KCl zEM)#nGk+d3f3BIo@XYZqxyTUc7aFiC0DL9ZRT{9`0&CdATCuLyfOVnz*J1e(Z&*=iX%3jHqb zt)kmy1&sfG)Q-R_VuuBGvXei=x z(tzCtNXB6j0kGQ*B;zqTX@Uz|VKQDAJ6gurPvin8<3$XRj2ES~m;gmIpt#qAS>R;6 zxF98B+`qS8Qq8|dO2$jt?4_6;0_FZH8IJ&x@zQK5W0-B2EGt&*=vAOxsG@T4M=ozN zz7I2%5BbaI;;#_$SIEU*G32k9i@#FHUnv)V<&eK}F8+N({(W=t?-%m#my5qj$X_KF zf7Ot`YA*i$L;n49@gETKACQZ`TF7557k~ATzdHQMcnx_46bhb$B;z%WIT^1-69igQ z18RHOdFDlPZOvRKR7xF}IT=5Y$?DS2JwrXtK_rHki|jtTE^EFeb)4esuf8q50gVue zQ5{R$&;pHUfui5MGe_NG4jL1JvG*_(NGyRT}dnVW~q&0XeXyaku5 zrRT4V=~m)x=_0r;TN`^a-iGkOVr}gLlJP_6YHOK8IR}v#)v-F;c{SynPbcH;T%EA0 z_8wr@PsX6|51Nu3iU;~g}>+*?9TvVuB_^>7U^x1X@9PhC7DB%ylZ?1}Z17lmWJK;GwcO_ZTCn<~G@yG# z58XAOM+DGA1A2OZ-Q0R=W^?xstK}H38wm7h4KQ~HgA07D2AI2t_F6R=KTb3E3f10A zGn?CxDEN3*-AAmwHQ)r3JsCfdz)4~~L9}oBfh8I5N0+%ziHZK48zAnJMF$#YUbh-` zb1sOJadX=e-ct#jCe~9lV34iqbOI3QAPpF7fg!X)po2Bwj0oTi4KTM&k#;C^L!f7B zz%bjxa9SbIVHz;P0wZaKKu2i6Sr#~(RtWSg4H#vC(X^f;)=?T@?&HFH9svmSTn#Yy zdEvT%RtWTb4KVkCgTRFvFvcuHVDCFd1I&%(;H&c@0V1|=9-A(4}T_GeOdGoH_g`PuZ`$@p_D^LgV>#^-VlA~EUWf6cR3Mq#bQ_?l?MT4n98dv^bs z`s)I`k-ka^EHXec{wCKhL}FA2@RkMMrs*94-qLzlY=L(PyeHPhqVK1dl#G8s*AmMt z<=ltjUXly*k!55D@v*o+5?v<0oZ?Pg@hRMs-( z$m}ETvbiwjEmMI^MRAuGtt5k#c2~Kw1@M}z;aUYlqQ{OTT$TSpp{alzv zh6${+MsB7tGdD4ecSEm<+ufAzgS;N>dGA3kKZm4Q$lOdbHxHScYvvZljC^E*j9y0!I>nK)Y$cQ5NV< z00KQq19})Bb?EP*nR|L>|8BLX07uKnp1pWj`M~+@F%iHq8gOg`aI6L#XMkk97Z(@; zJxZ<{CLgU$E)7H!ux3E6Ko+TvhtI}dV*+QS(%~dr*IqC z0w)vbFV=oq4+AVPkN^ZaK=c&pVOj58+kH<^;7)O<{!_(#nwU3U5;70+%>IpGkOrJ? z0B=Q}u2~1$%7?IK2z0OjCrdFK{@E6+d`JK|L##tI;LHf%Obr-nfni*k!^JvO14dY2 zB!RQUIzrU3Wu9$-)JySfF*{yaqeA9Unt61{JX$lKW9vSbbwi-%Xux@)?B{9b^KJGE zm>mK=Ujr_*z!(A$=!GsI8NZ0Gi!E~r=f;ZrVmEUsUE>1GW#S&^W-cc)-ZB$72ay=n zF=|&>;7S5l32=qGlZkX)ZJBF02a%YglVto_x+X<1lidAGCUc!(yqD*7Zuj+c-(cK< z)1@1P87Z&O=3_&Lf*Wl~zC+oK8gP>Zrm#N<^d=3s*#fr^fIx57fLkqa8vzLPRt>n_ z0(TIAKyTN8J0pNQHQ+7_+|3>!(7QC?9t+${00O;71MaiH{RAM;`!ryx0RkgERRbOX z5aWI6Y3yMd9&Jv>r`uk;vA+iepDsE>HkXOBLg$1JdA-_0=|f_6+!cE`WPVsPKN2!O zqM2ug%riCfqsE+!KgI=rT&$0ZJ|PSF$N9&P3!EN3X@OY;W{dSn(We9$^F)^^0bq^+ zc!BV=_~wW{6YYN1rhks)j zBJi?U=ZiXqb%6z5A@HhL7ihpj3%o|)b+IngfHy3#h`^g-eM9suS?IvEcryMrUGEr% zW3X7P?})xD!0-~|f)_&X8Fy-xzUMM0v9cPX@SoOd@k0N8t{by@UWbHE8+{y{-tLx z0sAU3eyQ2N^6Yk>^Oa^^otAsGW?vJ^y+$*y_00ZL>$MuNE&^Dm0bd&+8J9ci=1%w5 z8nE8$A?Mk>^_u+~pWVD8^^IoV;Mv}_HHPK@7b_V0~78Q;jw><6)a zuK_=L`R#`Aqh{WeGAH9diE)!=|JfGv3yb+xtUqhOW(#Z~@S9jSYXCk>#9O_5MJC0U z(A-;X`fW`AyI8ksz;+Ax>e;RVJ8V7j*xL@xy3^*ydA>c_->CtASl~|r5a=Ho@RtEn z`{Tbf^WQf6Kg2absQs# zS)e$95@Ic;0VNH9k7wW^eleER?4>=seXW$%%w=pbWm!x)v6j(*eZ1`cJ>fnYP(D;n zdCgoQB6|f5s2Iv#Q8QPH$X-bUDn|g7HDF%@;7tLp&MIQvR|BdVz`Mq)s#*89xyx}= zK0vJdYd|#%RA(^|Xf+prhnnfCX_(Zjv8KzwwpPS zuDV_?{w=O+EN4BSm0m+hlsU}2DG)np#<8AwXFuU zx4>ZpAkg+2(7^(S6M#TFXh25;B>0^UGAXIl=Q)Wf?KV(qK}T`VAv z>va`t7Y*oU0B)>D8lUDq%BJtm)zd?)M`=J$1Eh8qJvH;uHv2Km4uKx60moY4I0C)I zdaP)~r63ovw*}-j$MItAt@Y5y0w=JC6UEv`>)|8|NDmNTCuu$OjR5*;K)(o}p9Y+4 z0Pg^DvS#gXtbzMR{WV~KEoLCs&naRZpaG{^;4}gd=&2eo$O5MmfItUnz+ejuApn66 z)_^lCa3%o=^b8FcY60Ie4Ap>P78uSRAkbkNFv0>O2|%DDG~g@)cw>B)W<5J#JzKMm z3Rp*J*3q`&b6D}YVjV4do;;b-@a1up1GmM_H$ZC7aK4uP0-OCpW`{s8(108n;;{Q-&3%b2W-N=jRIHbXj*~?V+<@X<=Q0aiP5>e?s^k2Byagr@xI%#Oq7L9n z3tUA20=-fLCR*TX0ubm#4YKyTH6+YJ!d+1{=Jci0~8WDj?V^$tr`9D11tjqovH!TEHIq_1UgLv9yCB| zV|!3D&+yFtv#=Q&@Q?w#wepZ=eb`q12rHi{)`vwML-eQx9wYF$SRZxufam(@deU0} zdsXqI%g>$9EZf0sqECr+mIlo6vin!h91VEd_V5gQfIy$tfM-MXKdYIaizw$g4R}73 z{dvti*Vg_5Yo909xuT9U$QLazp8y2Aq=KhGeA zKNfXtqss%uEZ1_cu(>~F?v-L)p#h&+;Bx{H=w}-6g$2GO0D*p?0jn(V6#)ozm8fGE zy4nJ32tc5#wI0?QAoZGAtC`msvp2HqH0##^>(`ofy{-8h*1SQi>op*5fo};wpm7cO zE&}*Y1HKPb|Gj42XmkI-Vj$3s8t|h9HWBzqtUqeN&ldQFz^`KcSpzl)fGuL(tO36T zfP`3o(|}|E*ecef25buezl(L725b)iJH)zO19n>A53Z#@#ky1Uujnh0zb&wcz&~RB zTkBz$1^y+lTdcc8BMtyO#uX~+z1I;din+o?xoH#2Edy%T=)BkwX6n|_w^u` zA;8LOK!pgPf(BId0DG!hQ8QNxnJa1L${}-Q&Ae~Oysu{7&oleCoBcGPiUIJM46gV6 z#acxJ4zNHq0@cNOfCkjCKurR*#9BiGYDX+XZ4Ias0o2ie10#R~HK49thI(9v`eLoC z0SzqBkN^bQKm!_iCE1Owk!Egevo~S(rebZZ0S9^6{hP%>8qm!4(40L$pv^R(MMMuR zG@xY!&{6|hd4OF*tu%A%i0rL3pp60W(GxE4A!2Rg0=%n*ww96C&Y|LN>tc9-X%||A zc4Btiq-gJ%YXUq>jO|4`$Oqt#JL|IGgI|Z+VmfjGI*Ijg(ar)a*|qw@kH)VmiD%n+ zK8SZ@EYO8OSFs+U0o^QcBmoGtn+6nr$) zT9SSiIGI3yvG&t|0TviY;1sbA(124da2kO@Vm(y@PPc$>Q#oCL!Ll)yZoV|QF%GeS zZ&Mkf0cTj?OqMiMtY>JzFbfPPFhZ=uG+?9!&LVKOSVwBWC<}}xaE@3j zVm(&_E=U19qrFh97l=CcA!96X5qr2;tYb9b5(|taaH&`?(SUIVNSy+Y6Z2&<$|LI6 z3htvWx7o)tI|O>U22Aj>`;S`_G~kL*Iag@rD?{chHS<*wrCg-}6AgfOD7df?=tK>; zCRGmJq!8mZnthV7b5}lDe3LZyb*bbSDj?Ts=IcY|>oxNY#*DWlxSSB^4H|Hh1*Q0 zfO{=)AA$SDdanjdwZH=eripc`228iWGOo}E#X4PdhAi}hcZ9y%;~@(?%pM*Q>qDZB zF9Vrrfkz2ECf1pvk4q1It_pn`;0Xh8i+fUhPl(QncF(rypJMtsVx8>*aMzu#XDst9 z=bjVyGosH+CwG?_opaBYb<8zDYWFi&%#P1^ybv^NR$2?Bjf1KzQ~Vgm1q^&L^icRamk zf%geOpzmqG2NqaDV5wL?(0~su@DYKJ#rmNJEVIBT1R&658nD~~D+oZK%Uu9I96{Gg z%Y4SU&&9nGnute!#XIhG8zA-S`a&~*X|u0l_OB%Smm09z0`dWoH3F>GfVH7=)@tT; zp4oruuucQM4rTvZGp`TS{tc|j_<9$Bo8(+2@lXeGxBpxEzq5UO&pC+1l;PSK>R_WF z5nl_0!Dq4`LjE6e@&6d||Coz^Q^>z57ynPjkFO`<0{>#%E{6NfU%d|eWBjWCo6Sz$ z|ApE3P9moLEmYKRx%d+yf5PogGXK_;AKzOf-mRjJ_q%>i+0A*`@0xkLXZA1eb`98J zfMk3pOZ!8tJ2c?WP&t2U=D%$AznT3XvHqn2yDac8f!$)=r2&PC**o$)+7vFvt+tS; zV|5lWKx&Uw#AU{38JMz|?O-%h7Z-OiH&cR4$xt69-TqSam$rSB;apj9mv%AStjk$o z9|GmYT22EhSfC<-N@A^`0hKMVFM<8UT3G|CSfDC_{l!{E0}e1iY9J2K%++l6`n;}% zK&uH*y%;~R5_l>N&)TzwnwF_U1|l)4o2g})+ROlf)^hd3k*H&V0|`JR=IDe#T?^DB z0Fjsi)VDxMe(V7Pt*@2TAOdKh0SztCh$S@^YeNlaVu7XvAkZcnaF7L>5oj*fgEXLp z1zHk-KwD@)D+{zH0D-pBfHoF5n7|=oZKDBgEpR9S2(+yRw6j2a0*8sUod$HUz~KZs zinW6Vbh1Ea0!N6olLmCLKvx3Y#M(vFv9~-j030ROBQ>DA0Rs11ySo59WY0Q!dW^kq z-_zyi>*wf@`Do32Ohh%uXuz?d?8j>6OiGc7Qbz%a3%DLOnF7-4~t1kMuc2n{&f z0;33w7VFuf=S25#t_98`aK2d26}=!DxX=P)2wWuA3q>8vaIpn0Auv{~7mHqMdhnkD zb1jWCfHw%^H0xyn>t&kt@__Yn%{ty#Q)dR_HS+{x#)ITsyeq{zLDcb-$W<1YNZ@L* zUZnxoSm0U$lf-(B228fVbp);#>tqeM!2&lDxJj%xh)#(fqMHqnT0=K$=37GMTU=&5 z(arvE3;A!$#eaLqe|s+eJ3{_Da`E38^52<@|E`e#u3Y?ghx~Wv;=d>4zb6;}y&?a- zx%lr3`R~ice}Bk-e=h#1A^+4|{11fu59H#X7V=Na#XmjdpPq~V!I1yKT>LXa{u#OW z9}4*&%EkY%@#BsjOp zZyERy$1*W~tl2-Y`Q__amW%Zh4On4;Pg&4Pv98d7&n)mcfiJ}RnFf4mfmH;)66=>5 zu-XFh{W)vIx>^I)rU3S^PONK1zm6V-^#64j10*)|hx2D~{-pVT@%;W*&o3?j z_oum_n7#0G#|o+&f)8(DJ8E{}70i52H!xS7I+NuA6W7Qf>Me2Rq3MKp8Kkh!R4E@n$F&IN%$ zi)la!3zQ@PftJvKQlWB6Y39-)b7{?7#+KrHzqX73j!)H;wLm%6zK>YTYC!o=IpsBT z1)IGhvqPX2G@z1~-M`nUqyd#}5BstQ2(+>W>=&wkKh0dlX0OWZ`-`=T1{`34Y6KwA z12mwzSB`&yt7|}w2%v@r)bs#*Q?aIIu4U`5&H5qGS{hKt0tXU+Kucr)HhV*6hd>)>KqCt@CeTEzjWnRC1r8$6Osq{cpt%KF5NIjZ=Ay0S_clWB z*tDjrjb#qz+#%v_Bic5d;cop<3$!E9UaW^|z+o2XK;Uq(9wr+3Qv)68>SUPI{<%{w z{?4|KBS=G_okhEtrKq>!+^vgJhrh0Lb@TejdFr^Ei{Nq}X}g%q2V6hI;fFTjfFhm2+u)vx^c;aY1zA+MCRigoC+LDH{q+wz`Qv-$r zz!yQ|*QD?RQ?V;~u7)SQL0}56Z+sbzH_iB2zIc0FDOk_hsd%Ee{LoS|KB{PEK+RpbF9`EqwE`hlV19M}1bBUH-{)>v^`?v6Tw%3MZ+95H1 zb}`Wwzf6ig#!6G`(2@$3@f z2j9vHy&Mf!!*LD%uEpOZ{7uH+b@;m;e>dRoM*Q7`zbVYJI3{PncxV@qcM-S+|K5tf z+wgZg9j|%)RL1m|zCQ2pRez^%`Yzw}-M;C2eAD;(rtkAj-|w5AYRBpUR5Fc~O!u`u z=$oG5n|{bQ{jhKP5#RJo-}Ixt>BoH2-LV(4YnQ)EW~U$bd7da9D=BN;zx6zcYG>hZ zHvXQ%-yBx{w2ykmH~p+{`Z?e9^Sf@b@WOAFxZhl5?MVeVKLixv%FheA8e0rdRo< zzw%A5_DvVVvr=|VtntOydef%2b-tFbebejBH16-P!VSKbalX89U;JC&^mo4L?|su7 zebYbqrhoKJZ}Lt5Z^RxX(c1 zcVEkP-}DaO^iJROAHL~7%`|?*kD31Vwfy6o-sPMAx47)Z&DOpf+eslFMPenQqP)Gq zku@V&xJ1s<6!A?L^-Xv3dNM>YUrTY{bU)+5rF)53DRh7WN}6U&l`3I=Fq=o>&<}`s zg_J5mqM}KHsnT46GDv`bLLWJjI2|O)ruxW~D3>*{Pu4_vv+7Y_g%bD(WaL6r&cj`!ENPdoV4Me zcp*NN*Pv$e-R-VeS2Cv&Ctqe0gBcI#v6g5v8&l?5G}ktT*C`>7``OQ8V9#tCgXTuq z4S)&#xS(flgx~-0$`JTKlR5M;3D10BsEoSC9C|T$=DHzsJxaw@G;@QH zxuIrm7&14~%#A|k#+tct$lOFTHwl@WYUZXP^Ff;VppdzlW^Nubx5&oaG8=QNY|O2* zF}KOad~i1AL$Wcq&BlCaHs*HOnA>M#J}et^2hH3ev>_d?nGX+{J8I^RA#*3q+$m)4 zteHE9%tvVEBSL2Wx)pZ0q2Jo_c8py@W?Us?ZtiNz$SiZWY|KYyV?N55(~ik<3^^*a zfESnrOgm_b`GTASPZpGa}d>?|>DBn`#9r1fQyoiefdNe1G zarh7y2lQA@9_R2OE)IL7w6$>9GAgu}BQfHELVG)WhzANi-r++$e}(pOBt|??=m`!V z;(boda@U!lYCnn8-RwU2n9(2))w;(aukYq{tE5uNQ`)((0ⅆ(cK8ra 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 C7(@;L delta 12304 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%0AXJj!mY|NL5hBnHSm z;A5~Cd;<1?Pr-ih88`qw2M56y;1KvSfYo8}6*vOE21mg+;28K8dgO-@t#tY4AJv1N;g80)hWwbq07s21o%yKrL_ys153Xx}YAY z4;p}mpb-cKVIUlML1WMaGzHB-bI<}@3N8aJK`RgeT7xzr0|K%wLL_JhqCk7l0dxeN zKxfbeTn@T|D?m4JC5Q$wpgZURVnI(32jW2j=mio%Z;%A~fWF`=&@Ut~Kwgc|9}EBk z!8ITm3<4=&Fh~X0f+65KFce%5hJhPE8W;{nfEz(N7zr}KO<)wb8DxT6z-W*K#ssjs z6^sS90UsC#vOx~;gYh62OaOV{c90Jyf&x$oia;@#1WG_DC*N5PLP3iv=g;u^2LSb@42zlkk4sbSw$c@^0wZ_?ajx%lA{{a#S+)@Al diff --git a/.vs/Scan2Email/FileContentIndex/30e22cf5-143a-4b8f-bbf2-fc6f628e14b7.vsidx b/.vs/Scan2Email/FileContentIndex/30e22cf5-143a-4b8f-bbf2-fc6f628e14b7.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..39118b236f61fac084c151c730aab1ecb5ea80da GIT binary patch literal 2387 zcmZ9NTYpnU6vd|sid^I>7ey%%5HOUR2*wLdlan+dNe?+GHV_B}S}2zm+A1nm$}1m+ z&j3F@f^WR>%p+fbwbrci^XK$r{b%;<*|TTQNm?pbH?Ild=qEv~9uX?w#X@gQ!eJd)d_NjT6be$(g(V??&VG>6=5h7v^UFo!L@Pp1m4)IuJvCC~OMh zUAqaAYF)oP~46y`maSIG_mgoQr&hp+FojA2E zgf)5)85S(rq9Gg*KQ4h02|N$H4A@^tVZ;;NFpD4(8)=0Ov$q2l5t5Wh9^<`Hwq zJZc^@kDDjVlje8kDf4^tw0Xw-!7P|Rnm?I8o4=T6&0(`>j+iC0Y$hgNMV+r|j+!;I zZk{t6X47n$V`gfeH```rcFb|}g88dCVRp@n<|VUdUN*0oeeWlUbK1OV z-ZE#*+vXkfu6fU#HRsIx<^yxyTrd~S-^}05hvpyVpXOiYBlB-_$^6HBY%ZHm%uW2_ zqw#y5!(SesBs8IwP=nS(3T=iWGy{i1DU3m@=${H_!fAc-VOaJe)->ST3SDT1zhdaX zHi9?_w25dVSYMWR6WT%CGUgi63|f(;3r#eiV6VJ9YEWj9AbtjI%cqUK5{x_0327fa zX5WCev0D}WiZU*SQH(Q<^YR#y4oeehU%CWsVXqqeThI%L$upEx5%yC=Y^WX$oxXwD zJ}mTYpf@5dODob0x`dor-MqA*^VFcJEGc$u;tZ+w?m&5Vo;D|CPF?KTLi|K^>_Qoj znkv^!+K09giKk^e-Wa2|q#2ZzP7#H6?!rCU=eiW}N2RHBT(vH!noY&cL3u~atN`V0 zu&&&XC*a+4miJ4oLB~-Oj`Pw2lsCC@Z@eS=(ZV<}YieIB>rn2)n`rB%bG~opQBYk< zs{0s}?-Xm)lukhTF7Q;GWhJQWGcWFtg-2S&8{)5cZ2W)7|6OeS&0u>w5V?_G8nkx< CYrmQR literal 0 HcmV?d00001 diff --git a/.vs/Scan2Email/FileContentIndex/3b1c2056-f6c1-4300-b1b2-d95da77bae08.vsidx b/.vs/Scan2Email/FileContentIndex/3b1c2056-f6c1-4300-b1b2-d95da77bae08.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..38688bbecad850e47f3b88fe9b8b0f872df13eff GIT binary patch literal 63947 zcmbrn2Ygml_J+GtzJw3#U1uBvSb`wE3Strx2uhQHqN1Q;9ec$d5EXmZ(GkVodmjsk zy^XyWu#dgBvEAog=lzb6nft%`^S+Z?w%>hP@21_h*?HH+FSE$ud+fbiukMZ8 z@3ZrcyKldD_wDw{GW>s&>+HHL#y_TGM<>Hlx}|1N&5!T0^a!g~LIHYhJ} z!>U)mZ~Q|o>;1p0@t>Fe@s|D1YFy#S`~RRC`~2@}JgsWiek1>o8vFe3Y8?6DA8*?IL>y3G^?0qr&Jj~bt%;pQ)@BRm8aH1 z+N7A;ag8jb+F~j%OJge2nCdj9EKRFS)2h?7_NlBxsw+$FDpR}a)UHEnSC;B3Q(bkc z>yVZyORbfuwK}!7Ps?;r&g5TLk!q?^4G-o|m8J5^R9>CRi)opv)L2NB)S-};L8kOn zo-CzVd4^SK3F@EcmQsC6YgVO(Lew^;xsjkOr85huJd&+am8z=JvSdr?6jVrMRcSV| zELByes_IllC96^^4UfB&URIIHtJ1Gksj`rEPHDNa)SNY~EX}PC6fh z-KmgTX>3JQAf<-9;bm!DWg1tV=)cOcR8yI1s#8s_w9w@6$~3$>4KGWTm8r5?$;v8I zS+!bMUzzHwQ+-+bwKDx$oqmlzEu(c&+e(^TNTZAC=%n_xMsTlU8d^*S$3)s}|Fp#ndUKUn|l>D6l+@Eu`;@>5k~ob~HJ1ZeO7; zxTq>ElhUnKiFmY4#n2%a7zuZ=1f+BroyhgLs`OyoMPsTw)lO+D3Zyv^zp#|mu@qFH zG(1Iy-*FLbY)q*<;;9COk^@bk(`g!|({Z$vI@Cqi(C;KB2X0{!^ijuRS~jIl6=_+_ zDXis)a^-+&RTR@2DHX!PuOzF;aCYQLw&=O8T!W6R?g|U(6OXUM01S2YLYAjB3#mYw zLRv)I3u&ifTC-dh$g^ZpQ%q9}>D^*_4?P#s3dKZozN$$7LeCUI*C3+{BzY<%PrXf9 zF|w$t(nK|GjtUUur(JuE-@0r>$Dl6HMkUwOHn+F@g4}X5i_FOxM{y*Xw@=G}YO=*eWIs`8*2VOD4bMiS7Dc1FG5T;U#k5pPYgDA;V@Qso{#9un zC8ktSks7LGuC$_&_>^iY6n{g7tYt=~y|BhNdA5C8fkMkuRUz#WonBi^7pC++50mS&|s2CB;SEMCK8IRy1c%)}RO&&l@ST6?FnOempwE>fferRoUd2PaolvXQXrt6IPpX&6vdq%fi#5d@LDLZ_RxL zC6b_R5LJf<&{H%G11R|luO()fxrvnu^LjDbOiE1qAK28Fv=CT1(xN?-`HEv_T%@XuB0bH;UEy_i|blQg+uw20;~^bU)d z2Ck!SREGBAI=HJQL`_%@k+LDQ!9^vDmXvzOsN-l9Rf?QZvbs2>VrY*ML|f`YQB3z_D9tlF6Ny?FhRkBcbWF)RjUe-q zTO-3P6I_|b7YzyhP{}>GrS)NOvD5c;dNDxHd#u1eJ?4R2YMj-p){GxK=# zi*;2c`y?wKp)ylh9%L&7^p>e89_Q}Vs4CK}^){w-{qUh+> ztl?Qo^sV_oX!AHN zqK`UZY+;0J=1-9x^UE`DbMc$Ha-(88D@#9ArXQ-)4`r#gGSyaV(Q;d5x~)3hR+c`i zOrKS!&)Q^?yQcDNX;hXzu1p_Sr;qarw0V5-g?B#C@(ZRyHe#8dN0w=bF^=j=KKvvc zcv*U(GM!hQ&cl8ES9hIz=J1NR{W^w22YFO_?YG=Ir0Fp!^z4udF)3V9nJ%eLm*i6k z+D>UyMOwQmt-aWckQb5H{15H~^L-GN%%&t-U8YrcO{F@W4G!9b3A)R6BprMdUrmGLkN!AZkKxjPa5r+ea(Yg6gz@37t}+px^2c z13Wi2+gL=}@M0N*OJ_afg-z@r`y%vXJ%k#wbu3fH z{8&-b3tF&YOJO{$br}V0W4}ykXdzu)OqWEt*!D-!ka=ZkN@W^bt(|FIF)bPWa%H*p zR@BD>Fr{B;U`4u;jWZQy?@W(Jwf|a7XT>tRQ!MiDi%e#;d62C~bF`6-+hawoL&&xl z31V3yFO4C^gviQ}s-lq2^dQyfkWR*0BHP_iMQo_w$Q%O6$RV}{7e-CiETkqfXIlJy zzfUiw&q9;*7Zaa~iwx;9a@egx+wEKPp_dP8roWi4Q9H_9CX~5MEEnse`{=B{MkVQ7 z<;;Vu@bQGqhMeA%r*8}Cmtx{vdtq7nv@(5Koj#2%)pr~w6w`*$1z&_()-I&aifMh6 zP)KYswqg$wh1PQy4~7zABTO3f_D1fd%hUa#>hlXaVQ7yk+H482D3-M&&>;myZf*B# z=z)5+;$ti0{3Mo?Y^<>A*(6SB>54Rs(s>*ks7jwzrPpKnJ3Ouzve_h_l=*niM@K3Z+0-B{q(_SBicA|(ZA$#D z$ML0cs}os;d9#gWMDJdicCSvmN84-5QWG8w_l4tXGb7KdO!KOB4nWt`WzH(4ar9Az zCiI3X&FKx116_{~!~wFo#+#|5!;^5t#EA{{sfnlXx(z%M>(!g$bhI&i+WGkkfdd(I z&a+`cjVK{pkhcH$&)g~^Lw45Auw46D4tyBzjlUn2GmDA-%FQD`wIJJ?P|Hr(4>{Ab zC@Q68E7EL^F2hUE1U9hE;U7jZE0xyR_!&kG#|~?upQ^MLDq^)$uJeI|!wKNlK8SA3 z#~KRxG0FE?4o7vq%D$CamT5h0cy?)HNxlZfJ?AA?DMDm|V2q=QKO~ zHvRi)bUns1yiKDhOAavB#;mC4g`MDgIn2?Pjfp<8;wff|n&_;W(9fDNqp?uI1--R z=>F~WtV8M;zLfnY%0zYl>HOzLDXoR{L@_;-bTly|cY{^w#X`C;4w}#^R@yEWMQqCE z6?BZi`4SyEyE4tL*4<38TH)k+D3?i(ivzKHs?wh#o-QE4n=vEY%={P?I4-s`98=I_ z+Jf_^L@qpir_v0CMY^6DoF*`>M?rPjP(|C+ff&l7Aj~G8?8u*=nAchvs?5=p61K!Z!>d)RO>I+vimhcW=e z@pcZUX9X71o|Kq-46H7t4PzyMLDGYZ{Tv>PA0p@RRFp__m?%;2m4&nb*PS~?`l2e` z6Kg-cM8j6&aFtpWLnj|cW6NV;G9ltTnU}M3@52h|=U6{{7ygR2Xm3>-U%|bB^%lGVf zEi@b*L=Fc~jj$rlpKHp~I)%i79BrVk)~bY^Fx=>Zy6hmm)MX^@8LJEW_eZK%kq+e; zA=>*{dD_3AbLq^9VS98UuZ`+iQDAZ&8D`qC054Z5`Clu4%LOQXS_KB`RAvO7daNd@(RF|!tqWQFINv50p#6A|KMDD@x zr-(4Q##r;%afM&%hVnTUz@pf3$K*0RUIVdiL76O9*5u@&khUqN@r86$G3}MwxT)NJ zNJ(45yazA^v}p@AkD^$mps})ic5XXum6cvM$K&|b|GEyujH#z)NnVx4ju`XCEui-M zXk9FT7ZuYlxwV(2VU=lEbsC0cMvt#T9hkg$-$8G(BgjrL^38HMWL9PPNv)%>H)c{K z?kkkGO85cZUo${XETl_fykim=Fb;=)oLiNq6;d^RINaC2qSf@;+{$?AoLg^h0Q79^ z8kWo*Ama!_qQrc##00@~&;egjNcT}6vW_ z2ISr^eCc;_Hg#33pw4UK57BCC*bJT6k@am%9}8H@;s;_ciE=Pns{JbMicaJ@GbCz@ zo!AeDX)PJ9nDoq;Y@%-oYd@ppST2g~HVce~wtkG|akvP4_-9xSYDa0Yv3>jZ%i{xM z_Q8zV{$tP7oFyndjwb8Ewbn$B({}b>NUGNflZz2l7kVaVw#G^yCk6yLHz0?GSRwEd z|F>OLxG%jOE9iI`Wn%E!{^YwS6wXtjJ^HSdrG6~Z=o;QcQ#ZyqK1#ZccWtg=O7)95 zz?hYmph`46^n6>`7#j_y+9k*zM;&Tp;84)-=BZryg|r;QFjjr+9klWZReMny8enQ* zz|!7wWO!*hF>@?OvaMj$geBKy4w*C*M<#7-;K`DE;b`dTSm|LftZADII!xf=3Mw3n zPn-;s*SfsI2$#iXyzP+=Q!1)MEw%JGb4plvYa6Geagi@AVyS~|H{@GOo{g&VHq%-y zq!n?wSYR|Q^GGu6uzaQ=&Ccc82OUmKEW^%EsjVkjD&L+!XWO5sTSjcpioZvqKju86)wCI4EOUp;0U?%47fao6F)r z5>;cX4DF~b3kE)_q4{*{kFf`#+8FssvFxcsOJ!*;D@i5}9^`|i@^n(tLOz4i zbDuzN)FgkefnsAxFq5ZZQuv+UEA70R*m;$Dq&{qhfyp4HlGJuyEF0)q%=qy9C>3)m zmun&=bKleoeZJK()@HAn6Wu@bUS*kIS;h-90!-booR>(J~XVM8_mso~% z;rp~$>R(gTY6LGqPmv%Wp{#INb$CgTk8Zk^BRf)tDt@;kj(Rf0t}CWf+D_jr1Hx6( z9e5IqVHMnCj6OO-&L_IVHqX+xkoGC258G@&Fax%Gb){*gG0dYjPr%m*Sa>$HqyBqE zf2|qkAwBc;Sni)Oj7Y}Oan`LAhr#1EsT&qpgJUV}kI015Q3az0rz#oCkHbR)Gqa)1 z@Xx-PVJQ`(lCezJ|8{^D-g`E^5FX&SW3=c~zPrOMEdiml?-xTXp+SS z+C%>osxHeNLL6N##R!U9PR6q|JS-5|lbYlMgwYWPEGvZHtF1`qqmcMvY%UCKSH+uF zbVxh{lg$x3Zmv;LD|L(OS@Bwyn0XA$NJjMzk4Vzse^|Z93&m4>DnLpea7e9M*i78m!&vcB>Isp67HQ9 z7dtZclG+NjopWhmtkPF1rk|7Us)6~&t+cje7RZO*;uA;AGAm^cr+bXz$_DLg+XD7DpwgP}P_wE{=JjIW#)uBVOLYXu(n?a&?m|lm{-T6i%7I*}w{Qi|0-j5tO0rtW&rrNUj zatyb?mb0pm?qva%o%*Kqal9O%V1vnk6LT9gtK5UXFb{eJdf9GGVd_}`8YBN@(tWx2k* z!fi%3QP6xouwjA6w-BY}3U)|`{?=+NlL3`0A@o+4?WV~mRGm$Q_m*t0f%wpWP2|~* zX{*g!IV&@ap}v^bi^^jpm@BvFHHHa>R2OyLCNGyaKA}TdTK-Kk9TYnbicq5#JFlaS z`6f4pGiqTlvRYs;vRYteOF;|cbmBj^%twdjnI%`@?L1prUeNQ=HSg$S$Sf7keAZ&C zGVH&sw2fup#Jo&#W9WLmDo1r;4>BsoW(-NMQu1czemM7m`7uSF2G!-)xniSV>>Og1 z)hVU!6^ZTMkuiKw(WfW@Cmg{UXgJnFUi(F(7y|w{gdKD&KiE006~_p?VPVnU$R?s( zUoE2QhHSMTM}G{rAFX&ProUkr$|spr=t1jS-i~;F)B%qd8;zn5mubQ zx5gaA%!?01ft67@RjrA`glvXtjd_^|Nk(Id#CW)Fr08%I>|!Xim1~;J6cB3BiW*Z1 zTcX_Zq!m5}oM(aqM^`iBGfO_gVPMi(>j~^1PMr1afhnfM8OW$`K@6Y8oknT(tM?9}B{W0+qxqITGqCsq zff!tqJOBoRweT`7vy+sLt4I%2rFTn?1>@O~LOY~YX-N1npQ3~hSx62nq9QR0$&POR z%MnM^wyw15#t!A`^CS9l)sXIcD`{Uajt};5vs4c)MFVq}J3ma0u^^+0`tTr{VTXcR zI7;=I3ETD)JC6rgPZ2R{NBW*X1YD)Wnh! zmqpn0Crz!qd{I zY;lsE-!eV@n4Op#d8^45&6IBF><665hmjOK4F=s;jW+f`63=e)+qycVzcQ+l=ZO%APC zzap((m3oAoFulGQM*caiqkr41Pa05uw(AK6(gpPIHmql2Daa~fYMg{n!^6X?plA9; z`!X)*)>!5}%qP>aR_Ptbk4^E_fey{uZq33lW-RtLKl+h1Cw+n84XDuPn#YuD7lYC` zdc_XazhQWs1M@Nt-*^%i7(>*j?DsQ^4%VWE<>jh5o_2PAl8`isPi0LWmBgHIS--8U zV$Z^2kN)y-i(0V=VHrG|nlPW1MkpF<4$~bKLvj(d3gf9mhuPXD(-jZKw}rXMp}P5@ zVa7E*!s#WdW^8&s3NxM&wZh@76^E`&D7TgC92i@b_h4!$OH0HWK;Ax#lhHv><=(!L zx?w`av;!Hk*Y1$64mt(xqs-^i@M; zoVV~*XH|C06^E9}JRD#{+c(Rs>tZ@!2z*jZyOir|J?c#FugbI=D<#_d4c$>lcZajW zo;evfCZ(ma?_QFYM*CK!eWN3qNfTet=_9Bx6>9stW2?xY6>n=HozLl9o9`rf4_K^D z?C8~5=q;w;y0AvoJdBp^yBIf;MKZ5d#*A5>j*gcvN8(HW+dC0dnhkTh-XB4g&Ty_N z6^8~GeH6-}-0@+|9F0=0oYjBotu!;171QzbNKA|LIM$27@V5OD=6!r=N`K+^R-&=v zXe_TAm~QY_vA|$nDC3%SepCh<#txSYKbD=<)Y5VIhrAy#r0D&o7$Z&Wm-$#IOpz@K zmeUaP6gEjSdDUARr<8OYGaBbj7fau;O^qGslxQQnk4s|kQU^ZN>4~A1rOzwV z=hf-+?Bz9YuJe^))K-d$i6(obD#pbjvF>6FqPONcNn zFo>k{*rX%Zin?KSv#3>@ayj|51J6<>tsH2V<__vpk$!j9RI)K#!O#w=y5zvmj*ZwG zMY+lXJCTBZFMuIWCOE69v@Rx#n^;s3gErbY@QOBH$F+vXz$tNzwr5NYpI|4b6t@<; zR1T}_3h5`_NX9WjO|H-XJolrZHm_f)OdskKbwkg7K|o^}6!B3(4e7&0BWXTeN&oVL zm&lHGd1^k*53A-plT{GQ@7k;(j1i8zQ)xJ(`I2VnM-hm@dPrwaxMJLd+vZ zCB2aCpedbpQLE{E8v373AWlMP2o{9_FzzIIhnp|XOCQPL4>1zYAZ2N4r6yMPZc{VE zC{L$_hW`<+5}!#{jMm?soyKI!sl`tCx_lGII4!*xx+wdAAwKY!j{=i2pB}RVOHI_p z%>KI!L&+rDFV?!XvDUpZK5e4a3*va0YLAQ7aX!GHn3fN~+gleYV*TGs8KcH2eAZ0FTdF79RyvAV$Yih4e2jD)eh^ z{i@Pm%F|NuuAzO5cg7kfk@XHniw)b8B)Pc8==9%BVKIM^606$?4djd7SVv($axb}E z=5u|sR zcKO{vHoRIYM3-UeHO$?73!1eerOoN4iZnMqduAudCZZ-@1=g|3jW;;kMCH+WT{gqA z2q8D}Dd;U>Ep@=8W4lqAA3KC@FOTmbsUD|@ed#q0NMnRjfn9lolYeF<{6lmTE(QOf z+~UxN->xE0f<5!T3*%vVgC$cCM`sQ3l@1p5J?0mdjDI8BP9;B#U#;OO9{EoT3GYW) z*c;`_yGEx=lg!SvJ^Ss^&><6JmFob{1SYMoS)1@wJC!98)#jdsl2@OqWshBBX*V|u^PF&B2B1D6T*J# z+Z>(!W)k7?rdH@z?RrLUHl%c8rlqjbbMeyo3=)RjrI?;=^V*b;y6fpg+7rYb4k|XlIFa}Jn4lTt*Q-hJj3Tj^I zBWi}p=9z8h%e*+=lwo5SvFV_*@|W_nI983>oKL}7B4Uu*W0sEf_zLKkc-^LrMtlyz zc7TpPldeIZ=qmqWhgyXlW~W{?Vf+ohcPZJo6I6qN$%r^SRL$`PriIUE2lqSL zAI4^Of%jOpw1(756w^+^)=Tqxsw|Uc$~1ST5?eLgr$*~!HCnqpX6Ga z%K#z$VvQ;*{pxW(j{fiZ$AXQ%rd&q)YHV8=$Wg;1qhc3?i^gy8u8L;z{n)gsbZ8ur z;Z-#JV_(T?B3dbS;p(Umo^Vw@J%vK zxcT_lnDySH7sB`}`1F)s{;zhzo9i~80b~<2YxSNbcTs~AU|OlvRLjb$B96rxI2McV zGZ&VI21dTHQcG3_2*->(PJ8)|DEszoK=x?_E2!vD>^9G)v# z{z*pZ`z5N4CV$(h#lrsf_*~($=pdE^=z;vpOGk)|T!sn#%lJhJNcxl}FkfJPbQVQp zuB^o9k;Yj2$qVHx`B+69&M);~?RdF3UD452%zA8=wQ7o!4fYOeWPgGq93z?ZVc&2Hy#W+gpnXP1EisUy{ zuVwnqSD5iF$Cd1GBY&2Z|K-~NoFU^STMy)Q&M)Zn&>?-7pL3$pnpgucsBz0&bAbmg za2;zif_f^vv_^U??|BMEt&0h!)u-~bvjPv0*RHsB-K|}V=I(JR+;W}?f`J|sio@`>p zhi7eEm@gaR%->UX)CZsGx3tl~X3lN$5f{5@RKa2xS%Vjfg%f_VHryB9k~wQOGYdA8 z)OMLSl5v!IQF@{6T9>6xesImql~+FVtE?eo*j~x*HcL6 z#b-I+N6wE$O^9JsQa2)}mR@9BNMp0PCgM@}wEOujZT$~z$N$QZrGHpNTvtF{<2NGA zwmZn5YYFOEJ;Qs9ASds^4p7gszK-zHCaRA7IQWnIY;uB}7ezV_b%Luoeszcc;&4ZY zJ2||T!)u%Cn677kJ3yu1#oQfA z|9kOI&+W}W-QVBg1EBI@^%n7mLZxrzpVH6ZpY9)F9tm}SHve>=H)6qK&Erg74@J6@ z%u}JtJ=5W{p`Jg-;W_49^CI(7^9rc+SDIIuS3}w44d$(mzs$d(#r!5KWIK=K5RZ>K59N@J`St+_l(0F6-9lXGoLqKfYSHN4!>f) zYQAQ^ZoXkIG#8m~ns1qJo9~$Kn(slC_kqJ7nje`To4jg?`hIGD2BnWL9RAY$%KX~= z#{AaAbw@tmLp}d*hdEG+_@B(5q3+|EqkgP1;y$xNu+n4&9bpc1g4HIg`v@1!_E7Cy z(qVqfBJ7jD1sds=hbnJHsB|nKBcAue!PR{K&*opC?7Nf0YeIg~TISm3I%X|YzFi&W zm_5?3XY#RQgnO7A5=XcfRK5C`{T$!lWKNHC1IJ1J#~Q96#P{F(;T4%}t@|Gs$7j=p)}P%q`8y=2qs`<`i?P zxeZkL(;VL3+`;iXo4Y!GH;4B$_i_BbChwf0eh2veK~VZQ%;6c3pET1v!klFuX&z-B z4OPEm9X<{!zmpt3**wMMn~+F<29%!8GS7DWxsabU$2`wGA1eI?P=4`JsJZ!C$6s&W zXx4Nlke_rfLiybXmF_|F5vX)eLbc;r$WM9>QG~BUJ+~0*xwjxc>232J zsQd4k|8o2X=7&)Ee(Ervb;R?ZL*@4s)brms{#)}q^LyX_H&i~qKt0D&H=g61CGz9l zXxwKJ8v0t&_m_73@(!;E$s(;}uI&4N^8M8v&uhIXrz4d9*LIk#Ogz7?7=0T93bO=JvbH*O`Tg@4c=a4Y&9}QLi<9z>k z^91um^Ca_R^AwXm9vJzbW}a@I0agCr96sCOa~+=J@LY#4fc&J39KIOp`O8eUl2Oi8 z=GBhB&f)9L8ytVL!?!rhabM(jr+JU>&ok#ke)KoILLU!0{vq>W^AYn=^D*;r^9iVW zKjrY#<};3e-r*NaK9Gray=1;@zGA)#mERlYn~s0W;ddcF`sydreF$Y=ADMiv75DkO zQ4#-{!(TZ3rTG<9Ip3N;m_I>&^ucE6g>6`juWG3Dye*G>JD6#zpKdHCFeayaQKeNBd7n$+gKywh}Ck-(-bbOszZ#J02p!$JVagon( zhnpQ93BwOL%xj-WH`W|yZesFxVB>xZRK61(-qhU8+5$WQvK!@HXN?X<{$cXJPOPjfGGZ*w1WUvodmPnz!Vfl&22*x^GUKk0CD zrsI!*O2<31DE}z)XvZI8@=1B5I|1^OPDW^aonoHq_%j^lFVDyQv&_GlXPf7ke>cxH z=RkhaT!$|(FElSQFNUi3r4C8VguT?{jA3FXc$A9YZXAXbq z@K@&7j{nZ#@68{~f15v=Kbb$9zd(L;&=~bEH~DBP!u*a)uwZg@9N}t{7laWmn(fUF zCcm8&_m?!6GM6^_V~25{?}mfRLD}I7Q1x2b@vAueCx`!RuI~66hdY{`%+65xt>y6A z<~k;?8KT@S=DKEAsPelz+{5f?_JYc{4^+DTjvrtSH2H5-#Qh--Z(t5JH#F94h^l4qpXT{1mhk3ab z;iAdAqe!=;$+wXaUfTEhb>#^23(G;i<_NB6^83FLUfJZ^?g;a3LzKf`nh&l4shZvw z$Ne?Uwam3m{wP%3uQj`v{P~uM?+T?4{-i^Mdzic|iEuBoH&nWQ4)=F>kjY=GkMtWj zTxSl0s^x>V1RB?^H$mZiXuFHmLpTy}rM|ywAMfe87Crd z(!(nbzY6u-8<3y$w&UM{>X&~(-T%m8ewixLeGSzw- z8^vG|s-66e_sC~O$MX^^^tXn?HIN_u5%73!9f#L*xI0um_`Wfo8|3))AwT-WBJMXh zei&4H_!KZW((xNXe)JoN5#M5N3YGsPsQPbiZeeZ-mEYD5Pcf&O+nC#$+nLkM?aduv z*tx?yL*=`xxrgubvOM&^KU94VFsDPMKiK4J(+JP-{h8(wkS@~i6-WOb5Bbrr`G#Gb z4VCXXQ2EVq_&lik&2{(!-@h0tzbhQR8p>|2hy3UdJ4b%EK|Ozmd8gy=f;#8B-{A+$ z2TlHSP4WE0Q1yAt;m6G_ z_%9s(8Yfeg7{|&v%6U=-bmszb>STsVCI^K2Yr*=P|xvIZ;)Rl4ens>2$k-yP|xiKmH$3a_1Pcl`2)=9=7Hux=E3G6 z=Alse@d;i$-|Fy8hmU~D|0t;Pk9GWUP|uy<@QDteY@X`))1aQ`KT{L>`n%)LHRt&L zT=OEwUu<4tUTR(jl^?$c67{{xyxP3R_pf*O2J=SqCf~o+yu-Z9oM$dDAAr*9gXTl# z!{#IAqfq_vl*3P(&zR3b>FaqYJ-+PtSD@PSy1B^r-|_u-p`Lr+@gF(-2~>GsnLj|~ z^Al8ke}W`#Qd#+20&s4umRyeRGK8H!z1n&2P;PkA$kvSg3kTaQsAbQ>b=r4wdhgj-PC9 zWo~Uwfl9ZHxt+N^R6aXFwQpy07vJ9%svdhgyf0Mx1I&Y|O!EkH zmhT^J9_#qy%;U`y%oEL%%#+Pi%u}J-cREyk&vE?U&2!B;Q0dNxYR82RU+nN@Q0=+g z;j0|J+PucR*1XQV-n;=S|C`KP%-ekbcBpdiboegwZu1^<9#lT}LQFh84E5Y&zW=zx zPnyq|&-?xh4!;bgkA;q3WWEWN|JzXZ`@X{;m>)U*GpKUEG{1q$??)&-{REZIFAo3e zFdyxN-SYiuq~}+dBA=xpNz%$t&+#d6#PereBfr(5?7frY`6w>p*LFM~Jx92k@Aq)H zr^Ed6QRLgt;eqC0$8P{tZ@!KSZs_}ba1>!apN;3693Bo;pN$ec61)eAV~gaCo7) z$b8d$3#z;ipz`||s@yN3>i@OF|91E%sPcYxn2$;0IX-#|@>y@>w}it>L+NRGhgX7n zeq|{8`ZMGwt&LDR{;p+|+s$EqRWb7I1NB^AvmaFb1~@zrs@_8#-q5UrY8QV4ILO}+ zjC}ZzGQt}{<->o2A@n~1(xkK%RDHIAdVZR@BUC+hf_iQjhyUvEZVvAb_1s=i`RwQT z{T)6C>iI*=!=UuRADfK)XPHNuN11#}9r+$>o?xEr`=>a3x_K6qUgkj6;{vGqUua$g zRnJSI>T|i{uQ0E4{M8O$V_plD-;EC6WZrDv0{PK@P$0^iZ{BMzfGY2PsPZ2&A2pwV zs^>q=C(WnKr=gyI*5T*O=gk+O@_pHS&GE0B{CUX8f1$a^eA9dj>iKsaeh;dDK7uOu z6UTq*@aGPHVSZ_TWqxgbV}1)Y?tX^SBVQ;-efTRvkw3qz6y;Yto?i@z`$gaH;4r@n z7wP%4T|s{HBc5B{_xZ(##7|noVLpS7`<+exi(wJwEBVNOU9+p%4XVA}P5xRyr02Is zg8iZTX@EJ<vbmMHwK)YU{WcD7YiW^btH`a?Z8!103|Uf?zGuE~{>%Kp{18fy zpO~LJ{tJh{cK93fTk|`p{`djPK7Mt)ej!QYqX5;fRc5u>4(hq~4tH>PNr#s*mo}F% zmo=Az%7103danjmevQMOq3mrPvny12>p`XK<8VK7095+H=7x^1hpK-AR5?wKAL00B z$8QYfmnS-YQ>gs5aCl2|vg4;h<+mMFy|#CFC#d@E4pr_Rj^7(9zx^G5fH~dw4>k{T z{NZM+Im4W39%0Uc%6B$YJ&rYxhpNY^Q1v*?@n<-ECe(B1K(%9z3`crw&_Vw%I-L+N#Q$M5g>1I+1A?K;%q!=Un;0hP}&P~{$Hp5Xf@o2Qv)nrEBm zLg{6$!xuSxnZs8?+1*v<)llua(czn*>T#>Xx0$z_cR%Kp{1EE-Poc{F!u;Ct z-$T{o2lLmcQMyByZU~2sPcM4+1+5r4~4R`VZJ}Y+}QWWK;=8u9A|D~j)$uMM29yu zH!~+e%}3ipmA`|-dqS1FA5{MPn+KTF%>&JY%!AECpq`%rWuHew>E#%x`W$bb1hqaq z6RMoE96k@KJ{Lkge>v21SDDwEH$XjqJ5>JvfXe4i^Dgsl^B!}aIUlN=`yGA&s+@L-1nbw_(`aA&p7-XRC`~BD*qMpRr59Tb*SeSIs7J6Id41sj`=QBx_>$Rf%zd+ zIiEq*`zyzP4VBNg4u9wSKbpV#e%Z3wa|Nh+Rzc}^38?3na{SUz5qj5ZZ_cn)bhpNZjQ2EV=dj5W>bPt*jLp}e9`KbAr`8d>b zPeDERjQJc?zAr+R^BR=jeAoBihw=-bLOuT_RQhkA%KH}TxgQ<>i^CPmW#ts0(zk<3 zUxd=b(op%XBdkrRxk;PAydZ*Y*9bQ2F(8d>^QK4)Fbf<{-y!;P6m$ zL#X`f&0$dG5BL2MW;2vtHi4?grcmiNHzz}#%j^i1-_B6&-34kLu(!ke`2K!S&rgS{ z|6x%19%0Ugdj1%w_M8Bf{$%qs$Dif!IZ)-EYo6!$3!t9A#No@K>T^9*`WvCjza6Ul zyP?Xx2dcb#9bN#H{(h)=?w<}n<@--VmGivgUxdoW`67^&Rc|W6ZJUIH>Z+L#5jk>bWg_e=?N)O!NJnpwjPR?rQFC?g^!ry`b{j z52`-Xeg7cG9|onLSy1^O5B1y$Q2C$a@X1impXTuC<{9Rh=2=kBo$c^B=HJb8q59z> zhc7lSfokuS4qs(nZC(SF?{!f1xY6O89li}J-+LUs*Z1#(YR~=V1LlKJ`8)!Z?_-XC z+iG$dp9odYN#>T0pA41n)(%gB(!=&p z>31^!YVHnI&ppgN&Ap)NG2P(CSTe-yHtC@6Unqo0s|i<-UKF!&gJ)f33sU`TmXOE#~b|<=+LB{vOBQYu@kp2cg>a z7*zTv&1a$X^PKs-`2tjaFG02ARr3wUFM@jRO~=3E`1hdn_Ayj>UqGe%()Yi1_#5+E z$A9ne4-Wt6@J~?rl&zTMQw~+HO0x>eewOzAWgNep!^@j1K(%9KhgUIIHCHqL1eO2l z4*$jB8mQ+xn``_2I=h3k97PoQ2l(Y zd7OE?d4hSOc@k8;PI35D^E9aXooSv8RsI~`KhNX}-$0f3EmXRneE(O+rkHNH{=Po|DxVD;zadmU4UTVyve!+Zo}UQy z{AN()OoB?krNfiWtsFnq;ccLv+s^SjIJ^^7zPm!@x0~blaClFL_lD}{0~|ly@dr74 zuz84isP7-{aI3>J%~?=-JJI(~GEat@*Z&4p-*e1!q3Su;yx6=Ps@_*XrN0VFAJ;nm zI)`s`_$G&Mb@(>(cJmIXcHRS(&%NgTQ1$&MRC!ODPnl0cmH({6&zaAgFF@7*6^CDi zO8+`k|G(|{cc99B-~7<=ADJJUpFlnTnZuu(UqF@fjl_Jk_8kJ;ZGCwSR=!?D&nL>OB^!+)aFcyu%Y5 zp6Kvq4o`y8`&JHb4OPEw9Nrcx-yIy@(cH=0+1$natGTPWo4GqwK6^vi*>uMrXdYx9 zY#su2u5dI|`V*l1&zZh|miagHY~R1o;fu_R%}b#4a+!IBcmY)U`=RoA2rB=_VT=o?=bts7gKF1H zQ0ZTF{A&&`ba)X|x_6-Rf6wvnJN$veA428xiNl{lmH!n~`9C=P3sgS(uMsJ}3M$+V z>iG^(^Y4mK^<4?7{MCGab*S`f_-l~!$M_}$Gt%stJ$pxU_~ zRCxzO>FqG6d|RRFIm7X@%%dGY+dRfR);ta>pA(_-IoaXUpz1Zp;ki)ty#%V9OU=um z>T`|n-{|<8p!~{R4&QCw169s^sB-T!A9Vb~Q29Rs)!ru@{-^n*`IPyz`HcCj`JDN@ z`2tkAFPX2HuR*ozO{ntTg)09&^L?o2K5+O$sCs|m_|F{wx%q|fe{FsT_52SG{{)r) z&rs!+t(N6i2^C*3tITTOZ*MN?_@&IH9lxBpB2;@;gUbIeQ2DN5)~9V*2SVkuK2$w6aCk%CuY;<0qr*)OkA!O17{`x= zdVajaEl~MRgtFTy4sYZ8+d}2LgTp(TJDEG1yFlf;o4F@cx%)Xh9ZH`Eng^K&n}?W( zLe=MRhg;1V=1lVlbC!9ed6apyIomwOJk~tUJl;IPJkdPKJlQbr#pOxd8T=m z`8V@y^BnW<=DFq^^E~r>bFO)Td7*icd9is3RDCXU_;QD@G_N+VHLr*2r<)wU1*%_e zHE(nL9p;^mpD>(6{7*isV_J{@cTB@l6S6UlOr7}uVE(O5oaDHW<3mnF)}}gS7yd7) zlwJAPiT@0`WcQFgL-w*%T(8sz**ju-M=FIo5v#j>{8e>H#SG&wrFWt&^&y)=s$EUQN$T0Aq!u-$Nyy>R>f!P1 z@Q5G5ola>)#5c!vbKGr?`ix9txVuqkW}~Rjs3>c+rJfxf&yIdE7#F#X zkNEL%-4b_OBBmv3*b=R1;jg=QqEzKMA@ZCM=_f=zC&b-}QJ;wsGcjtoY2>zPJhfTG zPl`MzMQtZX%;YqgJhx6;rp}}rgH(OiB(591E^W&K#)bvdBXxJ}$bD^UHYTkTy}u6H z8_%`Mstr4mY~)(`NY;lO7E)3c`|-dLGpl)iUT`rau^KZxr-QA(dk-zQS`iIjaJWuHjd zCk>30O5Zoq_l=zUMw-4!@%p~m# zq0f43tQHN94>K<}*$T1-&A%{m_$l7(SXJzNLsX1a~ z;k8^Ty{x)6Z5($;#a-EUEjFa|qvNiux|U}eLQX`=!X=gexTv#iMt!WFm2FF^RxQ|( zw%R3ZP!=I;kS)kQvi}c;-AUUea+BZbf~Cl2yK=QAQj{FbzdCHYD^}i} z@|9AaZYclyqOJANd?)0fxE@Botrz-SkJ|L+TCHA>x@NM4Yqe-S{z<#aO>!_&C3eT= zJK@`T+9_dwR8Ny)~L<3hHCoDgy%vVr@OV?!!tSd>02 zo|O+&OmoOlA(e6%wU$(Rc|}RJLe?UwyYh{aqeG4fxoOBrNZE{}@|5LB>M7Zeq~b?J z{D_E`MRlhhN-3Y&o$#=bBSNYaS(>EMjHEv$vy>`V7T7&3usgY{&ZD9%^^30clx$K` zbx==9X7Ot2XsoL{WhjkoRZ@4yMh#`F-RV=skE0w(-Oc)UeCSF(xjXfcW@NpR(rrtW zB}>+|dP?>zsd8o2vQa%N+m=+$^4Q(Ob4sdp^3~n(oLxdH{bpeyn??Q_3*DKYba(TR zTZG&apWPj+9*@g${ zRR_&bk}WZo1|v1*C3US)CD|)veaKNE$Ar{V(y>zMsh*LtC;HTNzXo1*!UIJgWrNN3uR-L&#wvM~2)u| z)LrwPuJvqR{z-~`9W$Kke(_Ylc&cAKm1(mdcXU_J_Cue&m<3g5&3C=fr>-^YNh;3) zXjFAo>4QS6gQDirb1!UCxlP87dhy?}k!O_7HQRSVO6T&*!;sRvq*^A;OE!ee?v9G< zF(Jo=93QeJsi`)*3+T30+GkT2&}! z0I7P@HeIW4BsKGE#PyEWsV4@LN-JEgWx62MM)iuUQ@t)J>r?9_hlLy!a!kmvA;*Or zAF?In1f=XlvKvxuk<6~UbFH>08?WJAbdAxDKA6LMV0@gZA6PC&}$Whs)XyKGU{{mENW*8}5P z_0f7uG19GObfs>>MkG~-;c-`=sg1 zFK;2KXJwU=8Ut#9WPhae*^ev5OOujHua!nWYOAM)N1EZ>=^r&zI|p;ET1gHMIV$9s zkS!r6Al1K;gOKXk{*&rCTwWD8O==K9Qnn$^6Enl3pq06=#XPWjte zuaLb%_6gZHWWSL0A%}%*4A~rVbjUFw$A@eQIU(f4kei0wEaW7lJo5(hUw33fTsP2% z8(>3CcvksU$ze#%KSN319jWm#l$MM^HlUTESgfShs6+j%G%%EQZjRI{PI5d_Ycs8= zB-MjD3&~DIw&q&<74157J(;KFD^-$eQqRA^NUgBs*X#Me{DH=kLb4#qu}Jk{rYG$R znz&XyCH1V<|B}jI=QfhfAvX@GUTTaShs}?`X}Nu?PUIW$Fl6K#==jtr?hb+#sZ z)wL|Af!$maQuZLJl-gxTZjMwhOO8V-R8-yGha$Lyq zA(c-Py(BpaIUKvv_|#L)QLAi!uD(}{^4ES@a&*YCAypIgw50BiL_fnAeadI!$R``^ z8xvNH^4S=z45L+gO4^pxv(mPtS|OhVbo(JEz{aVawt+`Lvnb?(IK^`*O`;nVLJKHURiQ8WbcU4DpIq4 z&yez+n)xM%h16YnY)R#&c~4ULWHXFBw0x4vm8D6lMA@u#-yBl$(zHs@DW1+`B**hl zmR35ck-h0!rK@a7<*c=bq}ruZTuGfVYYa-NZcR~Q6JA8ulaM+qmsD9JBOk3^bgdjl z#|ZXwqXss7bS*O(j}awu{go|eo`qjkQonOCw`NcFAGdL`AvIN%fI-ERwPljW0>nU%e=)I>?7hO2b+~Ny^T%w^`X)|LCZBc7{7T za?{R1X_TjCdP()8`b<)-)XGXyIcw)4xn;;hk$Tf3DZOc=ODYGAYDwjz6_=!*9TWXK z27jz;)ljpzq+&FiNa`u=J0xW-Tta1K%`C>b$&CP|7%1^>RKla8tr<&s~t?X3z3}2wR&4CGu_pAmsI)@ z)KgM9jGz`J?=Ujrw5C2n05PVWx0J(JdzTH&f(t#KqX@0q<{RLwOnNj8LR z44L^1?Yd-}lFDBiRlSr$GdW4>uKG_>PwAbJ-Z?3ayyA$kLP=fAM@j1Ln8;1PqulFDI9XmUzu zate895730vsz7ouQavK6c4{XgIXCO_7@8B(;mxyeg?@HPcCs3OPEY@{xr% zhdxWY3$3ekt+J#^NtL2Cp7tK9o7P*BDob`NseHypO8IbIt3F!GHB%eimDi9Qi0PVlI<1@~vumvfOS?wx^R%mzR1R82 zNNQG=E+jV&sTOG0BAM+}l#g}~(t>i(DnfFDkUIU5-Ac-8N^6R2?#*J9kNl9NYCfDc zNt=q%$dgpg8aI;4QzJvNWY@Y@J!P$u%31cMJ)UyVib68GR&F|DkyM`9IiuDIy3S5# zWEUC>lFCJAERxD!>jX))S|=@%Q;=FMNGb>QyQH4g2$GcE^c{et%GH>XR9iIfOX{i2 z4`yRhEm6!yA=L}o5lHHe#-L=D^CoevT4{wKsk-ScsiaybJCxM3`UXO>SIBH9+#J^` zaa@%0{}gq%OKsjj7>08!{3tL5JA8DQ;(=)m0|8=i0rL?-gB!Sb@gqw{}ab%c_lCo`%+Lq^JEXZick7f+NYj zW4Crn)6nxs2Xg_98KCEH>VU?Zx<%Z-TEyv*9NC8<(>hJ?g@TB0Gli-IXv# z%~~f`*!KmDIeQko4L$3uR@`tel;eC8$#lMnUqfY_qoBH+4Wg1Fx+vdy8p?NKhVq?I zp?tAolfok02HTtdExfoQ2u#h%UN zd1x)|-L+_?^nIwjwE)HTl(s{#&l}MND*)St%G(*^X1Ep7cp#1 zia&s)v3sb;Sh??2lYB8#)ZUJZ@c^VfD*}evXw|dh@{U*!)E3qQ$!8hVq=!YfkYuwR z$>ftG&u$gX`Q_5`*#TN=sZ#?KwdG@=mhwcAtuhl?@Xc^L6eBkiM+}``A$=Zthvp+% zc~~pdFT6fvt=)gYzT5Jc^mB0%i3)eEJ})`<%pUX#xU zUVQmkwcnN=%~{e`n9X{c_aJ|(^g%r;N_JbhN?Iv!9-f8D7^TQFGD=ZD8J~C`TC1%f zXrIKQ_Q@e0CQULw06oRVBFV-WE{etp&qnR$Hg=Auc#Qa36oW$T5GO{h5Yt7i=$MEZ zD@~5*Celzuljqd&!kwh`hFvjwN(wz?>|sBprA8pW6vs|fExb@9nHP%W^F>iDc5mn% z^$8j8RNA^>&xLd_8&U1{L%0q1S+mJlI9FoS1L#^P&p}yk3;jf_{2fnt#}_vrqq+C(H7SGHi#| zE3=8;{AXy@HN*S9Vc!?9+8K$gs5MVXCvr%FJro-CW&z%WK0U8dg!0=XH4VNVj1RdN$M0%tLVmV;|{jjAM_!u8ZdSqg#Wl zvJoyt6Q?yuGFy$SP!EfOBHi5a!o$#0_BcpBKOX5I+KDs~?L-kiaZWysH)6gZ{gp#M z%@_L7&B#Y3jdN5|R0y@&yh7~~CqZ&V8m(2HwRaLP(3a=)IV&cur0-zhW~hwVBWksq zkvOXwL=5n>Xck!i(;Vb z_!8K@xo5oR0>>-N^|y^llrEUnS( zOpJ}iN$69)F?x!HMD6W6NlyBu)u@k9dwIx6rs(mq{9zF&aW-7lYQe8Ydw%1@{Mil{ zp%!}{S!mv-BL6 zkG8B@TM?ybHTsWM{WKqjb@q1H;f_xsX%DsgW3|0;a|d@qPuXK4{dpruvU!9gm`%RJ zKr;J0&bruPD}h+8b04IWnT1=Sy4)i|b&1@fel|-{UFP6@=}P{4{p6+1ie?<{hwg&# z|Iz&vJ40k6%t2nAc#>!mlCYaHth%0Z*Jn~KMc#)QiWi{~=ad}ny(X!}{FPQ$`-|qU zwEi`VQSFoJA$$t0NWOJ}S~;m59BSQBbhCD_bR_rvO_3bCDbnmOkhFOu^RKM9G!(l; zI(*(7kygfBM!hud5$F>;R;0BveAG+M@bM(nKV~gZ|iJcOVdPYq`ycG z>IWxs51Hermz+P0vrlIW(&hmxjLMtuNFVbZ)nL9O9opxxI~HqHuld{iW|U(e*&Z<; zL0!WiB%!^Gu~w6Bg+ib9nr1v|nbBorp`Lt5@AdsWZ%Iz~fm&#Xq}er~-Y_4L9P<$; zq1~tXh~9{u0+P&kLNcv)sL!OJ!py}RDMSPi8~XwB>tM4*&3qfsqx z0HczmTaWj`{ZRRJ%CF1fu{i7Ed+md?b5_**)^FcCHKXxsxEJn+2jOA(TX+=y9@;%S z6Gi*Tj+mSK(&YPg6ROb}kaJK^?Uv^H*LrB~qxH?)$3811)7d2&M`k@5LA{G>pTn$| zqek`lo|7`Z6)|q1^_w%7y}u^=Y-XdQD~2I*!!K$>V9 zz7^fjM0L53iR91gZ6aICh9EgSQsf!g2^eQ2up3B@n?6X+xQRnIRs!`T9{_2{R-m3? zE0DH5f|Ztj3j3UYU1{g=s4fu+qz~W1o`F8!qR+SVq0>$|v>GRzWcPVV?=h@Ta`ckZ zLi0y0JPOp$EDX}WBdvT1X_~Vz<8FlbgPpk?@ha3mBZfp1J87hwy)vqWZ-9Eteiw~8 z`&U%g=YCF_<~`5tNO-B!(3r84Kfd4s%k+-()38n;7hwegI;hv04+ik`Hsbh^s>_mol5I{~DF zy%L^>KGhNyRzB|$)hqtW=5B@Z#R1T>cKzttWpuD(8he#tqsi=>sXV~;h>^CuE^IsQ zQ|l*^Yz0H|*<+*$ONsiyii33XmeDHhUE@vI`|uuXJ(^nPx;_=Z_3cw+osg$!^jlFj z!f7}U&%!>j==fB7mVG+vQ!9RZnJC|`)6Rb*+zv&PolZWN1@=?DX!UYp#Y43Ra*F{; z@HX)_?A6YAb^0TkfMy?$R=PcLGsWtC9=cCs7O1)Ff37vs=oNjiURvq!JQR1ZPKigz zw@#rPYZE%bweH{|ybbTeF8Nq#5eXzmL;^`OFWj&4toWPrVBf1@rQNcUuP2clV-?lN zI^nX&|3UTk{!FXcX*C)%s4gQ1=b;)|10>(fwjY>E9!ZC44;bh!o~l3``sUZS5NUV++?~avbt_Ey%eqBA}l`TX=A5Xm8Kg?(~UKm d<@d^f-!oMIy;1%g`Q<_N=bu&oJo~qQ{s(Om8e#wd literal 0 HcmV?d00001 diff --git a/.vs/Scan2Email/FileContentIndex/5fbcea9a-4cae-4e2b-87dc-11097c40ce3d.vsidx b/.vs/Scan2Email/FileContentIndex/5fbcea9a-4cae-4e2b-87dc-11097c40ce3d.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..70aef67a00f5a48bfb0d87044cf8f151e2685b5d GIT binary patch literal 107 wcmZ>EaTnxZU~p%E02V0C38Z0cW+XOHDO{Wlsuo0n)bd05(ok9*N*hCI0FV0t;Q#;t literal 0 HcmV?d00001 diff --git a/.vs/Scan2Email/FileContentIndex/d4f89d98-6f53-4701-be93-c2637301d5f0.vsidx b/.vs/Scan2Email/FileContentIndex/d4f89d98-6f53-4701-be93-c2637301d5f0.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..70aef67a00f5a48bfb0d87044cf8f151e2685b5d GIT binary patch literal 107 wcmZ>EaTnxZU~p%E02V0C38Z0cW+XOHDO{Wlsuo0n)bd05(ok9*N*hCI0FV0t;Q#;t literal 0 HcmV?d00001 diff --git a/.vs/Scan2Email/FileContentIndex/ebc553b3-6dad-41d8-8c17-1bae76b23df3.vsidx b/.vs/Scan2Email/FileContentIndex/ebc553b3-6dad-41d8-8c17-1bae76b23df3.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..c4761bd93ba3e84958f857653011333ab5aeed34 GIT binary patch literal 5532 zcmZ9P2Y6h?6@^E}*i;+St1&iZ1!BRXTPfDAR?>oYSJ}6gEJrC0*ohO26WfWMiUXmf zhmuedNbj^1(wjs`LJ}ao0O^JFULgHHch36b%W8H0c{BIkxpQaU*s2bVEZQxl?FXdz zoSl(|;hGiGtG2A$yk)xBw0`ThwVT&Xk8IdFU97v{y#Ct8wHwa=|7PwS-n4n+^76S` z9@@V3;h|gZ>$!cG95Q20O8cZVH>HzOqJ3aWGx10dS@0Df|TgVk2{TN z(23$$Nr_pW6g}Hg+P~YsS4wxLv?P4dJ5r(t`&UBR_z8EvQ;}Mf)v+TGjrOAkfBXL%CHys-ca73va71%Sv=1%%^g?pmBxvJ!b z*UsRCB4(wV18owUjal%bO(?#sjy9vjL{~=X$b^DqgWOM>G%!Fb;eul+R<|R9U_cK; zG}w`zusQJ&aTsMs=;uou%yxe1q0OWytDwP4#g6AR=plzZROvQwVU!_q$nBYE&@59@ss_hg9Q3 zU6bEP?GR?Mn7WY$dm z6QX_Kzy?Rnx~YF^G|t5o95Wkc(`=dJ=Htw^S(qJjl{sPZCPe(z=9Ia{e7rerKEZsV z$t@NBPd3+@PchFm&okGV>&>T{Pct`|PdA@oo^Nh6FEF`GWBzBF&oVcgTg&$D+Yt8G->&@4jZ!m8#Z#3U%zR7&E`4;o7=G)A-o9{5+X}-&R zxA`9Pz2;5k&E_rUt>$g!`^@*7A22^?-fn)#{IK~E^P}d+%#WL&Fh6O2%KWtX8FR** zHSaJ#Yu;&o&iuUj1@kWRi{_WiFPnFp_n7yZUopRGe$D*4`3>`%=C{mmo8K|NYu;zx zZ$4mt&-}jm1M`RGkIWyNKQVu5{>=Qj`Jnj=^OxqY%wL}Wm`H=ar`497-=D*B;oBuKYYw8l>n|jPS<}T)3b60boIp5sP+}+&6+|%64 z+}m7WE;RQs7n%E-`=nPvbJkJXooG*nnWrK9K&KZE>lLp^nJkT%gVIEZyQ zRHMzX9A^cC%rO$$L6wQLK$VG9z8!ul{KZ#86|KU0Rx_(2Njs524LyfUrMX?uRvyxN zXbWvIyR;Fi2&zLh<{FBXN^4kYm9iZ}hp-yrxfI$6RnJ)1w5*f#C|cgPTI`*wtBktq z)5^4hoTD_i)jvX>HDam~s+e>jbP!eDq_WiBOZ!4KXWs9Es;aFBowN#_;8*8BkynTB z6m!LV|B)q$r^Ik39F*3@X$%>4Q++0N2`-gMP}NkUVfwlsPCzKQJqnp=mOPA zX%S6x=B$;k=9i6TYhlqqRSlgF-ENcNtD8$VL^ZUHs;<&HDsSB&WBls$OVzLWlxrol z!?Pmlyf#qnj#POmL#b?ZmgV0Joj|n%(*975HrZ!I&udaN#nq3fv(%0nwbL}VI)6(; zheJn0+o5_p%UJ22)6BXpq}mPDR4N<2F-2shw>sa9y07Jz-*BDpKHAy~sp4xd3eKpW zb%s04r5jY0lqy%f*YatEswdwKdYiSQs!I0_$+xi1f-00F>1NStbsy`dsK#>>RlZVL zXl7+I7TON&pjzVuYpch8_lD~9XK4_FHW4c? fd;NN=tFa&BsCK6NnM-4#AJ&?S)yZehg3SK`2;JX- literal 0 HcmV?d00001 diff --git a/.vs/Scan2Email/v17/.futdcache.v2 b/.vs/Scan2Email/v17/.futdcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..c376db7027e0542143881545b386aee4b20de160 GIT binary patch literal 138 zcmZQ%U|?{MvWf{UPAw{q3C>R|DNig)jd9N`i3v{4OEGfIP0Y+eXF>&&6Z0VQddbBF zMfq7wK(lzA^YhX&(@TpIOEUBG*n?7YQWJ|)IRbJLOVaX-a@id7DxCvD7m9s73sejS NtjkQNCDz>G006WkE<6AL literal 0 HcmV?d00001 diff --git a/.vs/Scan2Email/v17/.suo b/.vs/Scan2Email/v17/.suo new file mode 100644 index 0000000000000000000000000000000000000000..3a258d57f760932c6cb296965b641407932f4ca4 GIT binary patch literal 66560 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 this.Show(); //Attach this.Show() to the Form2.Close() eventhandler, which will show Form1 when Form2 closes. - form2.Show(); //Show Form2 + this.Hide(); // Hide Form1 + var form2 = new Form2(); // Create Form 2 + form2.Closed += (s, args) => this.Show(); // Attach this.Show() to the Form2.Close() eventhandler, which will show Form1 when Form2 closes. + form2.Show(); // Show Form2 } private void SendClick(object sender, EventArgs e) { - string email = EmailInput.Text; //Get Email from Text Input - //Checks if email is valid, this does not check if the email address DOES exist, just if it CAN exist - if (Program.IsValidEmail(email)) //If email is valid + string email = EmailInput.Text; // Get Email from Text Input + // Checks if email is valid, this does not check if the email address DOES exist, just if it CAN exist + if (Program.IsValidEmail(email)) // If email is valid { - Program.Send(email); //Sends valid email to Send() function from within Program.cs + Program.Send(email); // Sends valid email to Send() function from within Program.cs } - else //If the email is not valid + else // If the email is not valid { - //Error Message for invalid email + // Error Message for invalid email MessageBox.Show(email + " is not a valid email address.\r\nPlease enter a valid email address."); } - } - #endregion - //Check if enter key is pressed in email address input + // Check if enter key is pressed in email address input private void CheckEnter(object sender, KeyEventArgs e) { - if (e.KeyCode == Keys.Return) //If enter key pressed run the SendClick() function + if (e.KeyCode == Keys.Return) // If enter key pressed run the SendClick() function { SendClick(sender, e); } diff --git a/SendEmail/Form2.cs b/SendEmail/Form2.cs index 542d769..7a912bc 100644 --- a/SendEmail/Form2.cs +++ b/SendEmail/Form2.cs @@ -14,45 +14,46 @@ namespace SendEmail * Form2 is only the password prompt to enter the configuration menu */ - //Global Variables - int wrongCount = 0; //Counts how many times the password is entered incorrectly - const int LIMIT = 5; //The amount of times a password can be tried before exiting + // Global Variables + int wrongCount = 0; // Counts how many times the password is entered incorrectly + const int LIMIT = 5; // The amount of times a password can be tried before exiting - public Form2() //Autogenerated Code Block + public Form2() { InitializeComponent(); } - //Checks the password entered + // Checks the password entered private void PassButtonClick(object sender, EventArgs e) { string input = textBox1.Text; - if (input == Program.smtp_pass) //If password is correct + string encryptedInput = Program.Encrypt(input); // Encrypt the user input + if (encryptedInput == Program.smtp_pass) // If encrypted password is correct { - this.Hide(); //Hide Form2 - var form3 = new Form3(); //Create Form3 - form3.Closed += (s, args) => this.Close(); //Attach this.Show() to the Form3.Close() eventhandler, which will show Form2 when Form3 closes. - form3.Show(); //Show Form3 + this.Hide(); // Hide Form2 + var form3 = new Form3(); // Create Form3 + form3.Closed += (s, args) => this.Close(); // Attach this.Show() to the Form3.Close() eventhandler, which will show Form2 when Form3 closes. + form3.Show(); // Show Form3 } else { - wrongCount++; //Each time this code is reached the wrong counter increases by 1 - if(wrongCount == LIMIT) //If we've reached the limit + wrongCount++; // Each time this code is reached the wrong counter increases by 1 + if (wrongCount == LIMIT) // If we've reached the limit { - Application.Exit(); //Exit the application + Application.Exit(); // Exit the application } - else //If we haven't reached the limit + else // If we haven't reached the limit { - //Inform user the number of password attempts remaining. + // Inform user the number of password attempts remaining. MessageBox.Show("Incorrect password. " + (LIMIT - wrongCount).ToString() + " attempts remaining."); } } } - //Check if enter key is pressed in the password text box + // Check if enter key is pressed in the password text box private void CheckEnter(object sender, KeyEventArgs e) { - if(e.KeyCode == Keys.Return) + if (e.KeyCode == Keys.Return) { PassButtonClick(sender, e); } diff --git a/SendEmail/Form3.cs b/SendEmail/Form3.cs index d1e52e5..d49e74c 100644 --- a/SendEmail/Form3.cs +++ b/SendEmail/Form3.cs @@ -21,29 +21,29 @@ namespace SendEmail #region UI - //Default info in the info textbox + // Default info in the info textbox string defaultInfo = "Helpful information about each section will display here when you hover over a textbox with your mouse."; - public Form3() //Automatically generated codeblock + public Form3() { InitializeComponent(); SetInfoBox(defaultInfo); FillData(); } - //This will set the info textbox's contents when you hover over an input field + // This will set the info textbox's contents when you hover over an input field private void SetInfoBox(string input) { infoBox.Text = input; } - //Fill the input fields with the data from the config file + // Fill the input fields with the data from the config file public void FillData() { hostTB.Text = Program.smtp_host; portTB.Text = Program.smtp_port.ToString(); emailTB.Text = Program.smtp_user; - passwordTB.Text = Program.smtp_pass; + passwordTB.Text = Program.Decrypt(Program.smtp_pass); // Decrypt password for display fromTB.Text = Program.mail_from; subjectTB.Text = Program.mail_subject; @@ -53,17 +53,17 @@ namespace SendEmail extensionsTB.Text = Program.file_extensions; } - //Detects when mouse hovers over an input field and calls SetInfoBox() with updated info text + // Detects when mouse hovers over an input field and calls SetInfoBox() with updated info text private void HoverInfo(object sender, EventArgs e) { - TextBox holder = (TextBox)sender; //Hold onto the sender event that triggered HoverInfo() - string holdName = holder.Name; //Get the name of the sender that triggered HoverInfo() + TextBox holder = (TextBox)sender; // Hold onto the sender event that triggered HoverInfo() + string holdName = holder.Name; // Get the name of the sender that triggered HoverInfo() string output; - switch (holdName) //Switch through the possible input fields and sets the output to the correct values + switch (holdName) // Switch through the possible input fields and sets the output to the correct values { case "hostTB": - output = "SMTP Host: SMTP Host. At the time of creation, we utalize Google's SMTP server located at smtp.google.com"; + output = "SMTP Host: SMTP Host. At the time of creation, we utilize Google's SMTP server located at smtp.google.com"; break; case "portTB": output = "SMTP Port: SMTP Port"; @@ -94,20 +94,21 @@ namespace SendEmail break; } - SetInfoBox(output); //Send the output text to the info textbox + SetInfoBox(output); // Send the output text to the info textbox } #endregion #region Save/Load Configuration - //Save the configuration data, will overwrite existing settings + // Save the configuration data, will overwrite existing settings + // Save the configuration data, will overwrite existing settings private void SaveConfig(object sender, EventArgs e) { string cfg_host = hostTB.Text; string string_cfg_port = portTB.Text; string cfg_user = emailTB.Text; - string cfg_pass = passwordTB.Text; + string cfg_pass = Program.Encrypt(passwordTB.Text); // Encrypt the password string cfg_from = fromTB.Text; string cfg_subject = subjectTB.Text; @@ -118,55 +119,78 @@ namespace SendEmail int cfg_port = Int32.Parse(string_cfg_port); - //Create a JSON object with the configuration data + // Create a JSON object with the configuration data Config cfg = new Config(cfg_host, cfg_port, cfg_user, cfg_pass, cfg_from, cfg_subject, cfg_body, cfg_delivery, cfg_extensions); - //Serialize the JSON data so it can be written to a text file + // Serialize the JSON data so it can be written to a text file string[] json = { JsonConvert.SerializeObject(cfg, Formatting.Indented) }; - //Write Config file to Program.appPath (default is Appdata/Local/Send2Email) + // Write Config file to Program.appPath (default is Appdata/Local/Send2Email) WriteFile(json, Program.configName, Program.configFileExt); + + // Close Form3 and open Form1 + this.Hide(); + var form1 = new Form1(); + form1.Closed += (s, args) => this.Close(); + form1.Show(); } - public static bool LoadConfig() //Boolean method, returns true or false to whatever called LoadConfig + public static bool LoadConfig() // Boolean method, returns true or false to whatever called LoadConfig { - //Config filepath - string cfg = Program.appPath + "/" + Program.configFileName; + // Config filepath in AppData + string cfgFilePath = Path.Combine(Program.appPath, Program.configFileName); + // Example config filepath in the bin directory of the project + string exampleCfgFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "example.cfg.json"); - //Check if config file exists - bool cExist = File.Exists(cfg); + // Check if config file exists in AppData + bool cExist = File.Exists(cfgFilePath); - if (!cExist) //If a config doesn't exist + if (!cExist) // If a config doesn't exist { - return false; //Return false for LoadConfig boolean + // Check if example config exists in the bin directory of the project + if (File.Exists(exampleCfgFilePath)) + { + // Ensure the directory exists + if (!Directory.Exists(Program.appPath)) + { + Directory.CreateDirectory(Program.appPath); + } + + // Copy the example config to the AppData config file path + File.Copy(exampleCfgFilePath, cfgFilePath); + } + else + { + // Display an error message before closing the application + MessageBox.Show("A critical error has occurred. Example configuration file is missing. Please contact IT to resolve this issue."); + return false; // Return false for LoadConfig boolean + } } - else //Config file does exist - { - //Create an array to store the configuration file line by line - string[] cfgFile = ReadFile("cfg", "json"); - string cfgData = ConvertStringArray(cfgFile); - //Get the first line of our configuration + // Create an array to store the configuration file line by line + string[] cfgFile = ReadFile("cfg", "json"); + string cfgData = ConvertStringArray(cfgFile); - Config config = JsonConvert.DeserializeObject(cfgData); + // Get the first line of our configuration + Config config = JsonConvert.DeserializeObject(cfgData); - Program.smtp_host = config.SMTP_Host; - Program.smtp_port = config.SMTP_Port; - Program.smtp_user = config.SMTP_User; - Program.smtp_pass = config.SMTP_Pass; + Program.smtp_host = config.SMTP_Host; + Program.smtp_port = config.SMTP_Port; + Program.smtp_user = config.SMTP_User; + Program.smtp_pass = config.SMTP_Pass; - Program.mail_from = config.Mail_From; - Program.mail_body = config.Mail_Body; - Program.mail_subject = config.Mail_Subject; - Program.mail_delivery = config.Mail_Delivery; + Program.mail_from = config.Mail_From; + Program.mail_body = config.Mail_Body; + Program.mail_subject = config.Mail_Subject; + Program.mail_delivery = config.Mail_Delivery; - Program.file_extensions = config.File_Extensions; + Program.file_extensions = config.File_Extensions; - return true; - } + return true; } + #endregion #region Read/Write Files @@ -174,7 +198,6 @@ namespace SendEmail // Create a string array with the lines of text public static void WriteFile(string[] data, string fileName, string fileExtension) { - string temp = ""; string file = fileName + "." + fileExtension; @@ -189,7 +212,6 @@ namespace SendEmail } } - public static string[] ReadFile(string fileName, string fileExtension) { string temp = ""; @@ -210,11 +232,11 @@ namespace SendEmail /* Takes a multi-line file and turns it into a single-line string * This is really only here because the JSON files are pretty-printed * for human readability, but it's much easier to work with the JSON - * data as a single string rather than an array of string data*/ + * data as a single string rather than an array of string data */ public static string ConvertStringArray(string[] input) { string output = ""; - foreach (string line in input) //Loop through input and append it to the end of output + foreach (string line in input) // Loop through input and append it to the end of output { output += line; } @@ -223,10 +245,6 @@ namespace SendEmail } #region JSON Config - /* Sources - * https://www.newtonsoft.com/json/help/html/SerializingJSON.htm - * https://www.newtonsoft.com/json/help/html/SerializeWithJsonSerializerToFile.htm - */ public class Config { public string SMTP_Host { get; set; } @@ -256,11 +274,8 @@ namespace SendEmail File_Extensions = file_extensions; } } - #endregion #endregion - - } } diff --git a/SendEmail/Program.cs b/SendEmail/Program.cs index fe95166..ac33546 100644 --- a/SendEmail/Program.cs +++ b/SendEmail/Program.cs @@ -5,21 +5,22 @@ using System.Windows.Forms; using System.Globalization; using System.Text.RegularExpressions; using System.Collections.Generic; +using System.Security.Cryptography; namespace SendEmail { - class Program + class Program { #region Global Variables - //File Explorer Path - //C:\Users\[USER]\AppData\Local\Send2Email + // File Explorer Path + // C:\Users\[USER]\AppData\Local\Send2Email public static string appPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Send2Email\\"; - //My Pictures Path - //C:\Users\[USER]\My Pictures + // My Pictures Path + // C:\Users\[USER]\My Pictures public static string picPath = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures); - //Variables to be loaded from config file + // Variables to be loaded from config file public static string configName = "cfg"; public static string configFileExt = "json"; public static string configFileName = configName + "." + configFileExt; @@ -33,28 +34,113 @@ namespace SendEmail public static string mail_body; public static string mail_delivery; public static string file_extensions; + + // Encryption keys (8 bytes for DES) + public static string key_secret = "8byteKey"; + public static string key_public = "byte8Key"; #endregion #region Main Method [STAThread] - static void Main() //Main method, this runs as soon as the software is started + static void Main() { - //Set up the basic requirements for a WinForms application + // Set up the basic requirements for a WinForms application Application.SetHighDpiMode(HighDpiMode.SystemAware); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - - bool cont = Form3.LoadConfig(); //Load Configuration method - if (cont) //If Config exists + bool cont = Form3.LoadConfig(); // Load Configuration method + if (cont) // If Config exists { - Application.Run(new Form1()); //Open Form1 (Main Window) + if (string.IsNullOrEmpty(smtp_pass)) // Check if password is empty + { + // Run first time setup + Application.Run(new Form3()); + } + else + { + Application.Run(new Form1()); // Open Form1 (Main Window) + } } - else //If Config Doesn't Exist + else // If Config Doesn't Exist { - //Display an error message before closing the application + // Display an error message before closing the application MessageBox.Show("A critical error has occurred. Configuration file is missing. Send2Email will not function without this configuration file. Please contact IT to resolve this issue."); - Application.Exit(); //Exit the application + Application.Exit(); // Exit the application + } + } + #endregion + + #region Encryption Methods + public static string Encrypt(string input) + { + try + { + string textToEncrypt = input; + string ToReturn = ""; + byte[] secretkeyByte = System.Text.Encoding.UTF8.GetBytes(key_secret); + byte[] publickeybyte = System.Text.Encoding.UTF8.GetBytes(key_public); + byte[] inputbyteArray = System.Text.Encoding.UTF8.GetBytes(textToEncrypt); + + using (DESCryptoServiceProvider des = new DESCryptoServiceProvider()) + { + des.Mode = CipherMode.CBC; + des.Padding = PaddingMode.PKCS7; + des.Key = publickeybyte; + des.IV = secretkeyByte; + + using (MemoryStream ms = new MemoryStream()) + { + using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write)) + { + cs.Write(inputbyteArray, 0, inputbyteArray.Length); + cs.FlushFinalBlock(); + ToReturn = Convert.ToBase64String(ms.ToArray()); + } + } + } + + return ToReturn; + } + catch (Exception ex) + { + throw new Exception(ex.Message, ex.InnerException); + } + } + + public static string Decrypt(string input) + { + try + { + string textToDecrypt = input; + string ToReturn = ""; + byte[] privatekeyByte = System.Text.Encoding.UTF8.GetBytes(key_secret); + byte[] publickeybyte = System.Text.Encoding.UTF8.GetBytes(key_public); + byte[] inputbyteArray = Convert.FromBase64String(textToDecrypt.Replace(" ", "+")); + + using (DESCryptoServiceProvider des = new DESCryptoServiceProvider()) + { + des.Mode = CipherMode.CBC; + des.Padding = PaddingMode.PKCS7; + des.Key = publickeybyte; + des.IV = privatekeyByte; + + using (MemoryStream ms = new MemoryStream()) + { + using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write)) + { + cs.Write(inputbyteArray, 0, inputbyteArray.Length); + cs.FlushFinalBlock(); + ToReturn = System.Text.Encoding.UTF8.GetString(ms.ToArray()); + } + } + } + + return ToReturn; + } + catch (Exception ae) + { + throw new Exception(ae.Message, ae.InnerException); } } #endregion @@ -62,18 +148,16 @@ namespace SendEmail #region Email Methods #region IsValidEmail - //Checks if the email address entered is valid. - //Source https://docs.microsoft.com/en-us/dotnet/standard/base-types/how-to-verify-that-strings-are-in-valid-email-format - public static bool IsValidEmail(string email) //Accepts an email string and returns true if email is valid + // Checks if the email address entered is valid. + public static bool IsValidEmail(string email) { - if (string.IsNullOrWhiteSpace(email)) //Null strings aren't valid so return false + if (string.IsNullOrWhiteSpace(email)) // Null strings aren't valid so return false return false; try { // Normalize the domain - email = Regex.Replace(email, @"(@)(.+)$", DomainMapper, - RegexOptions.None, TimeSpan.FromMilliseconds(200)); + email = Regex.Replace(email, @"(@)(.+)$", DomainMapper, RegexOptions.None, TimeSpan.FromMilliseconds(200)); // Examines the domain part of the email and normalizes it. string DomainMapper(Match match) @@ -98,9 +182,7 @@ namespace SendEmail try { - return Regex.IsMatch(email, - @"^[^@\s]+@[^@\s]+\.[^@\s]+$", - RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(250)); + return Regex.IsMatch(email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$", RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(250)); } catch (RegexMatchTimeoutException) { @@ -110,20 +192,19 @@ namespace SendEmail #endregion #region Attachments - //Checks files in Windows Pictures folder - //returns filepaths with matching extensions + // Checks files in Windows Pictures folder + // returns filepaths with matching extensions public static string[] Attachments() { - string[] extensions; - List output = new List(); //Holds the output + List output = new List(); // Holds the output try { extensions = file_extensions.Split(","); for (int e = 0; e < extensions.Length; e++) { - extensions[e] = extensions[e].Trim(' '); //Remove any whitespace + extensions[e] = extensions[e].Trim(' '); // Remove any whitespace } } catch (Exception ex) @@ -133,195 +214,64 @@ namespace SendEmail extensions = fill; } - string[] files = Directory.GetFiles(picPath); //Get array of all files in Pictures folder + string[] files = Directory.GetFiles(picPath); // Get array of all files in Pictures folder - for (int i = 0; i < files.Length; i++) //Loop through all files + for (int i = 0; i < files.Length; i++) // Loop through all files { - string file = files[i]; //current file - for(int j = 0; j < extensions.Length; j++) //Loop through all extensions for each file + string file = files[i]; // current file + for (int j = 0; j < extensions.Length; j++) // Loop through all extensions for each file { string footer = file.Substring(file.Length - extensions[j].Length); - //If the file ends with an extension from our extensions array + // If the file ends with an extension from our extensions array if (footer.ToString() == extensions[j].ToString()) { - output.Add(files[i]); //Add it to the output + output.Add(files[i]); // Add it to the output } } - } - return output.ToArray(); //Return a list of all attachments + return output.ToArray(); // Return a list of all attachments } - #endregion #region Send Email - - public static void Send(string sendTo) //Send email function. This is where most of the work starts + public static void Send(string sendTo) { - string[] getAttachments = Attachments(); //Gets all valid attachment files in Pictures folder + string[] getAttachments = Attachments(); // Gets all valid attachment files in Pictures folder try { - System.Net.Mail.Attachment attachment; //Create attachment variable - MailMessage mail = new MailMessage(); //Create mail variable - SmtpClient SmtpServer = new SmtpClient(smtp_host); //Create SmtpClient + System.Net.Mail.Attachment attachment; // Create attachment variable + MailMessage mail = new MailMessage(); // Create mail variable + SmtpClient SmtpServer = new SmtpClient(smtp_host); // Create SmtpClient - //Load smtp/email settings from Configuration file + // Load smtp/email settings from Configuration file SmtpServer.Port = smtp_port; mail.From = new MailAddress(mail_from); mail.Subject = mail_subject; mail.Body = mail_body; - mail.To.Add(sendTo.ToString()); //Get sendTo email from user input + mail.To.Add(sendTo.ToString()); // Get sendTo email from user input - for(int i = 0; i < getAttachments.Length; i++) //Loop through each attachment + for (int i = 0; i < getAttachments.Length; i++) // Loop through each attachment { - attachment = new System.Net.Mail.Attachment(getAttachments[i]); //Set the attachment variable - mail.Attachments.Add(attachment); //Attach the new attachment to the email + attachment = new System.Net.Mail.Attachment(getAttachments[i]); // Set the attachment variable + mail.Attachments.Add(attachment); // Attach the new attachment to the email } - SmtpServer.Credentials = new System.Net.NetworkCredential(smtp_user, smtp_pass); //Login to SMTP - SmtpServer.EnableSsl = true; //Use SSL Encryption + SmtpServer.Credentials = new System.Net.NetworkCredential(smtp_user, smtp_pass); // Login to SMTP + SmtpServer.EnableSsl = true; // Use SSL Encryption - SmtpServer.Send(mail); //Send our mail variable - MessageBox.Show(mail_delivery + sendTo); //Popup informs user where the email was sent + SmtpServer.Send(mail); // Send our mail variable + MessageBox.Show(mail_delivery + sendTo); // Popup informs user where the email was sent } - catch (Exception ex) //If the Try fails the catch will output this error message. + catch (Exception ex) // If the Try fails the catch will output this error message. { MessageBox.Show("A critical error has occured please contact IT \r\n" + ex.ToString()); } } - #endregion #endregion } } - - -#region [ARCHIVE] -/* This code is commented out, but it might be - * useful if we ever need to work on the software - * again in the future, so I've kept it archived. */ - -#region [ARCHIVE] Encryption, Decryption -/* -//Methods used to encrypt and decrypt a string -//Source https://www.delftstack.com/howto/csharp/encrypt-and-decrypt-a-string-in-csharp/ - -public static string Encrypt(string input) -{ - try - { - string textToEncrypt = input; - string ToReturn = ""; - byte[] secretkeyByte = { }; - secretkeyByte = System.Text.Encoding.UTF8.GetBytes(key_secret); - byte[] publickeybyte = { }; - publickeybyte = System.Text.Encoding.UTF8.GetBytes(key_public); - MemoryStream ms = null; - CryptoStream cs = null; - byte[] inputbyteArray = System.Text.Encoding.UTF8.GetBytes(textToEncrypt); - using (DESCryptoServiceProvider des = new DESCryptoServiceProvider()) - { - ms = new MemoryStream(); - cs = new CryptoStream(ms, des.CreateEncryptor(publickeybyte, secretkeyByte), CryptoStreamMode.Write); - cs.Write(inputbyteArray, 0, inputbyteArray.Length); - cs.FlushFinalBlock(); - ToReturn = Convert.ToBase64String(ms.ToArray()); - } - return ToReturn; - } - catch (Exception ex) - { - throw new Exception(ex.Message, ex.InnerException); - } -} - -static string Decrypt(string input) -{ - try - { - string textToDecrypt = input; - string ToReturn = ""; - byte[] privatekeyByte = { }; - privatekeyByte = System.Text.Encoding.UTF8.GetBytes(key_secret); - byte[] publickeybyte = { }; - publickeybyte = System.Text.Encoding.UTF8.GetBytes(key_public); - MemoryStream ms = null; - CryptoStream cs = null; - byte[] inputbyteArray = new byte[textToDecrypt.Replace(" ", "+").Length]; - inputbyteArray = Convert.FromBase64String(textToDecrypt.Replace(" ", "+")); - using (DESCryptoServiceProvider des = new DESCryptoServiceProvider()) - { - ms = new MemoryStream(); - cs = new CryptoStream(ms, des.CreateDecryptor(publickeybyte, privatekeyByte), CryptoStreamMode.Write); - cs.Write(inputbyteArray, 0, inputbyteArray.Length); - cs.FlushFinalBlock(); - Encoding encoding = Encoding.UTF8; - ToReturn = encoding.GetString(ms.ToArray()); - } - return ToReturn; - } - catch (Exception ae) - { - throw new Exception(ae.Message, ae.InnerException); - } -} -*/ -#endregion - -#region [ARCHIVE] Encrypt/Decrypt Files -/* -public static void WriteEncryptedFile(string[] data, string fileName, string fileExtension) -{ - - string temp = ""; - string file = fileName + "." + fileExtension; - - // Write the string array to a new file named "WriteLines.txt". - using (StreamWriter outputFile = new StreamWriter(Path.Combine(appPath, file))) - { - foreach (string line in data) - { - temp = Encrypt(line); - } - outputFile.WriteLine(temp); - } -} - -public static string[] ReadEncryptedFile(string fileName, string fileExtension) -{ - string temp = ""; - string file = fileName + "." + fileExtension; - - string[] lines = System.IO.File.ReadAllLines(Path.Combine(appPath, file)); - string[] output = new string[lines.Length]; - - for (int i = 0; i < lines.Length; i++) - { - temp = Decrypt(lines[i]); - output[i] = temp; - } - - return output; -} - -*/ -#endregion - -#region [ARCHIVE] Keygen -/* -//Used origonally do generate public and secret keys -public static string GenerateKey(int length) -{ - //Random - Random rand = new Random(); - const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - return new string(Enumerable.Repeat(chars, length).Select(s => s[rand.Next(s.Length)]).ToArray()); -} -*/ -#endregion - -#endregion \ No newline at end of file diff --git a/SendEmail/cfg.json b/SendEmail/cfg.json index 05f67a2..1f82639 100644 --- a/SendEmail/cfg.json +++ b/SendEmail/cfg.json @@ -2,7 +2,7 @@ "SMTP_Host": "smtp.gmail.com", "SMTP_Port": 587, "SMTP_User": "email@company.com", - "SMTP_Pass": "smtp_password", + "SMTP_Pass": "", "Mail_From": "email@company.com", "Mail_Subject": "Mail Subject Text", "Mail_Body": "Mail Body Text",