From abe48658a38529551cb1c65e80d866f16585365a Mon Sep 17 00:00:00 2001 From: Gregory Eremin Date: Sat, 29 Aug 2015 19:58:24 +0300 Subject: [PATCH] Add demo project --- demo/config.json | 12 +++++++++++ demo/demo.go | 47 ++++++++++++++++++++++++++++++++++++++++++++ demo/screenshot.png | Bin 0 -> 81583 bytes file_ops.go | 3 ++- 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 demo/config.json create mode 100644 demo/demo.go create mode 100644 demo/screenshot.png diff --git a/demo/config.json b/demo/config.json new file mode 100644 index 0000000..c6f716c --- /dev/null +++ b/demo/config.json @@ -0,0 +1,12 @@ +{ + "app_name": "Awesome App", + "version": 1.4, + "debug": true, + "database": { + "adapter": "mysql", + "host": "127.0.0.1", + "port": 3306, + "username": "root", + "password": "" + } +} diff --git a/demo/demo.go b/demo/demo.go new file mode 100644 index 0000000..4374a5e --- /dev/null +++ b/demo/demo.go @@ -0,0 +1,47 @@ +package main + +import ( + "flag" + "log" + + "github.com/localhots/secondly" +) + +// testConf is our app's configuration +type testConf struct { + AppName string `json:"app_name"` + Version float32 `json:"version"` + Debug bool `json:"debug"` + Database testDatabaseConf `json:"database"` +} + +type testDatabaseConf struct { + Adapter string `json:"adapter"` + Host string `json:"host"` + Port int `json:"port"` + Username string `json:"username"` + Password string `json:"password"` +} + +// conf is the variable that holds configuration +var conf = testConf{} + +func main() { + // Setting up flags + secondly.SetupFlags() + flag.Parse() + + // Delegating configuration management to Secondly + secondly.Manage(&conf) + // Handling file system events + secondly.HandleFSEvents() + // Starting a web server + secondly.StartServer("", 5500) + // Defining callbacks + secondly.OnChange("AppName", func(o, n interface{}) { + log.Printf("OMG! AppName changed from %q to %q", o, n) + }) + + // Other application startup logic + select {} +} diff --git a/demo/screenshot.png b/demo/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..5fffd9a3c002691ce84b1e585c830747fb29c9a6 GIT binary patch literal 81583 zcmeFYbx>AoA2ke!AOa#FA|Tz}(%p@8cinV%N=Yix-QC?G2naXbozmTKQ}5=S^XPe= zZ|3{|oq3sIX0!Lz@r$(jX)X&Q%5pJ`q!UC_t4_}h!jxB{6-G;fjX$DnJf6p@C`}^u;A6iK*9Xfa@5*T|Xw)p7hHxy6}aAFkw&wNLq4LReuVfaa; z*p+*d&}8E(V<*Tt$Kb2zp^T`KX(gZg()A7ZZ{>7yI}#dEL&wwmwjfq-CGt_bimBVsYx}#T4El3X z$sVMwQchwn;ZAujd%>^o-@a1EIu+qn-KAgk0IhW-e0+qKEkj9R?tq1Qu2pCA!iYVd zLNNt(owfgiWfaR>NVfi6OUCv`*|)}Gk(**?ZjIg_4O4m$U*Zln3Vy}<(8Hy0{UGpl zRZ{57+Z>VJKF6%mo4Xl?pN>Cq8?inTWDQ3DBTVi1GQ*@59085 zmwr9a*HTk!C^P)93eYHO;TkkS;uPA@`u*2 z>S9MhrwI;qvf8>VV4wu5%Bfk|k}tT?MCLL~QICGvmO>(dpv&|+*=FoYtBLqNrq|g- z1>^_Fb{cld2(qoxz3?mLW;Y2D{C@q@;5#}fZgjc&CNK*>rn*CE1bO{VOe`KL`?lB9 zmbhRJ@2Y1p!@B_2bPc-$rrw|Uq?2c5WUn^19DRCHncQx)lM~=CHK;oY(CWSLiMJ@bhus(<~?G!=~zIs&wfV@J2n2G zWlsq8@@`okdY2z(`x!br8O{onmLK`?v+o4&h5ca}5Qp5ce|{?3@_nvHNdcFuM?3SP z?o+BBN&y`Fcm0tUvcAk@5_-QS0;PoB`0%c!mZ|3C}kJ zZuC~wh~hqlREVe{s6;9oIH@svPEA)@TSDD_Mz@0->ZDzPApJ13eU;`<->JH)d1BrI zZPQ)8&T~!h5X(<&hBkme7eFA$O&H4%EH6z#zEAv~I3?Id34awgO56x7A|QJNqR zeG6R`wH|#h#PoCO51qBwA;JpeiO~z(9V;Z{%4f)z*$S^F zb^2zdWJP6tA=0#qG5}6+_k5_3Boe7bu5B(&uCnB9EFC3}Dj6jXM1sJ8 z^d|PE{wD2aK7s~%3)wMQNs2sMrbVYmZHRfAId?5ut$S^B)<6y zwh8t)%cj}>2zxmr!$;$+J>j7r-$H`Pm&S!z2U&<&w=51vTZ%Yxa!WBXNGIm9oMbKd zlM4?DQ_ETfZeyI=UkUYU2bWh1Y}E{<(PK`$gpTVryrCwo1B}doS@AtHi$cLvpGM=MUG0w zA%`Yil;Sx5$$Zr~%I2fRs9|3XQY}r5WsN7tte*YaFQ@2vGN0P2`u>_Z3#Vm`S>squ+ytD7VZz6A$9K{BG;1`NG#t8k@pikuwCP`>Y_)c` zwya;YUOc3^BDvB&T*Pa_v-~3Yr8f8ey&rvMNM*<^T5#U2%rbkcP0)S#8dkjt_HYW<*%(cPdSbQgkV?W}niomP*EjJsd^^ls zDcXH_lCLC};<$gFtXi(Mthn2=+1|QYw=gYLzp0O@irFf(F5FYR9p@hFABVfCKr)oFZTKW&3o5LH78~n{5LmW)1pfbI~NjH--l_3w672RX7rzfweHyCE| zxfJF(&ACQ{2Wl0C+efg$eYZ&1Z5%93p^l__Qsw!TU~y+vXFYf=jujJxK})%NPq~sm zXW(90aD8b%y}_lrLVZm=r#e@*P<3j7Q2)!mP#NU5v!$G(9Pd;2;C41lT&$>4Uv8&X zZAfcZs&`Q8gtu1&j_H5d?>;T3ye6u-B$?fR$^*>TBkeF^ zasD!FoSyZT8(@qUgAY= za0lT@CZCTC|YZt9pO5_ACD|geuyLB~*XJZWI`W1|&mCclyg=enECvhgzn}+S` z4=PTASHj&AlhGEkA7wF8u{pGD-M7P!2Rddas#|HRH4oFn_*}A`G%Rj!zMf&yU+c0@ zZ%#TxvgW(dsE$+=khS+4Zd3 zhw{GmAh!>k?c?#_<;37!aTL2f`EyU%W@1^Xwbo;v=?&xgw)Rx>>J=&e1fPj!BRH6B$d_CY@BeO@0x9C9v zMy8^aem(}XSTY*#p$bl62}}^6GHt(9JyQ|-spJ}O*`Cb~_UF&|R{4ExsG(m!hrGTC26)_QJ0fVC>t4g&$v-@oRkO5! zPJ0^$qzVYO;_41iP;W_}exW54NRFYPpwmD~YL03$(wv4iR&@GCHU`FYu2w*L0sL^g zasrQ5#*X>~u2z=T4xFw$M1Pgw1fHK>(-RT=Rm9PPhe%CEo7TyPGtx28|85(o%Kh|~Qy%1MY^f#;vNE=I0Q%r%XJ_F4tNj1x%byO-2TG zrhixc*QbA~a??M};9oQPd%6C43#=FKOK$q#YtQ@g9390D3W^^}LRdh_6?#7ve&M~y z{Uf|M0sr=Ecf^1^SZRvP;3Y01g3rDg3QF>n{a-FsD+$Fv<`5GoyO(EP@e3ZcUM)2~ zda9VFCMPe>dsrW(HG3?bx%12}&K4dewhp+oF)t_P7^Hp|fP#7L3k6F61^t5m>5;z| zJ)ve@N*tQ-KX3l|NI>WdB_{UoqQHj{QrOokO*xqqWPe)tt2`__pHcm%E$B$z{~1<>)C+`(*2|DH6zZ#K$blmA`$^)?#NfcBXD8}$EP9w?aiUjJR$mp}eB zzwh3+psa-dT1Y5hWwxLF&#R^YC>X7HmN(r2f4X{FQebKE|KHO7-?X$yyUMWXUYCh( zz)c%~$M@9Zz4?W%Sg16RA>cpoD_YJv=oPMcUa~bOv(eA5I;Ff9pZ;sd-M{h=zpzCc zJ8XaSb{LmoOO&E({ITG^SL&2(@oSBEa8uLLT1DGQ`K;8&iyC!*SCj|}w&`;R*HKHf zv{8Uan$wi}V2q+Hmb)qs-_?Rc-;dxUjOiC-yrI;4Zwx0Ch zZ01DEGTk0F+l=qvc^-e?6yt+LVSTVv8wW)J=#pOtmT8K9-J7gMqKfU z3!WVBO%4{LL4b#Jxfs4z&8$`Z;+U!Rzpm_@REEV>hu6(U{3ib6wHT3QEMW`6tsgv| zSxzGRLCv^13(A4jTYGvZSoEYR~%OJ7`Ij2@}WJ1@Bei0v^0JyXxmi8Wa-|J!dc7e!SKu0jmEa~S5iN?5)>blLobNcU56>~2TS zhY82JAyXZc8_U#n4D;Vcho9?(;~<)(dUy0l?1n7Qg_6TYtZGtjoCcMmE8;rU{>@gp zO_1V=AbU7o@ z>E>jcHjXnM`v0xs&#(Hz7T@QtlH+LMEQ?!3O+Qd!C|ASw`}08&Ozk&=LTPSCOvESu zJKhl3CP811hnuazAMj+N#jVpi9*J#fAPlmCR%;xa7Q5|KZe9C6Qnj4$Z{Pphz?xzD zmAzhpL+-DuJ&myO%w|zx@~qlQ^AH{PxWAYlq%Lnk^9m;apZ#=x{WC6nF3RIO_mcPR zf!R-vt(5Tr#@_d%E?yT}uB(BAG}QwN4nI18(`%#@x!M(c#k#|?q^j#>O!B(zVoFnV zr~m2jn)FlVvjC^Y;xwMTCJ%wtE!(~Ti3)ss)NVtTY*|Ip-AA6jFu>4-)VJ(7E;DUJ z*PZ19%uzyJ2~YKHuTc+{sq~z1uh4n$_z8M>8^pX*Vk0JlUWGHwV5UOfBrnm#+^urS zbs|CAV7kvX?xhX^_Ejr_AOieqO)f8j6vA*LY6CvO!1A8Q3R2pdYr~< z@#>2Yn#oSn+SB3hIjSlGhlz40mU`xG+86I`mmfd)Jl-zviH@5k$BS~G)Rd3xfc=?n zIVuhwqG{Q$0uNB;rx+YItVb>wIWO3WRS$lcPl#33X{;gbZp3=H%5}x_*sl!X-@{)d z%v43E(X^^njxyQ};@B&x{>J>?OF-Gp^Qw876{x4Vcn$l*rW6u~qr@G{B48^b=kx|Z0iyIO zwihp4r}1ovE1517_guB)_2ia)0gZ}YA@}WmHFA8nIX86}U6Yy2l8U(0xchcyaF)JS z@-OX!#!nd3B>A9=jUKwm(*2gRAy(r7@N{dnMt^^9yiSsd1vygI&P><-I721Qg;RW< z56@S5l|id_p83vKkak0`lOlQu`~j}M~J#N59R@U}Tj9*$%>V89rvl2Rf| zf&v1yoo7io8!q6xMGg-bUwV~gYkR9!V&^IJXI4GjZSj?hzt{`&xLysur5Wg9zduWV zv@Cd+?s+QFZH{4~#{ONnQ;sHG^zO%88qSP-qt;4sSyR!@ow7>ock=>jOdVH!mR6?c z4I${{qG$3P`?KL?=3Z^)-^hA=a${9?nYVZ`gFgQbS~AiR90O6&4^BpzY7;y*6HNy; zlWnYP#0sJp0D}RF!>LZ;0Jd6^a%xJ`M%ye=KVcTQ-ugY^ScXHuB|KJ6PetASk}I8^0n&fvRjYp$X{{>(UW7F0dGho9)k3jxwlpSSR?Wf4%o&0S;~5QS8!D-Mn?5 zPRE2l&hN{_0QJH#5GtPs#B`Fr@#GVj4Su|E*ek6!c@8Rmd~&AyBK@3@4*KxRga~Zb z{;U3$W#FzvL^4zCDn%-*sCTO&n`BZ@iH%l$z5%W-EwXiHO>MkIY3&r%8x_CMI3fMo z_@jKjdywL%PGq(Py}B6#MAG;jBVmz^{v_#R;xyN_kj=8@!_!v#qgpom=7Tyg^19Aj z+TZ~8i$oQ!1M)YI3DF}Da~9>@IvA(XA90HPiV=!Gs9Ducn%|xLIsC1%8Pu@sSYjiV z9%<2epl%FRmTa*vAI6N%Nd%OV^tGXc^hrtwVm5vIct)<5hvuo5-rC&yPd+*{EMD4xIe3bzV-YY$9g!kePC>M zBxk>t*Ttk0*nZjTYI4%DkY+2@MQ6;qj0WwMagOMx8^DdFCx1bTm@tfw^*xQt{0a(E z!Rd<1Fp5`6>c#V*0TrY0-7)Bs6sL|^-alNm4@)wg@T~@*zeH$QBPOPDlhxQvwr-+a zU5yt~kv`z95JpVIY@a-0`KTAqJZ+SHblQVsQ*uJTn^~udof&QSrWWVbZ>NaF4s+iU zP@TE&b34B*deu228V0c_A14fcuh4kdv`0nXaxAEM30AWR9jz(|pZaFlos?a!X^Lg_ zbDqnzHlpt#uO*=5I9B~ttcWOAjaX6II4|#k8`!`SezY-&s_HW3W@nbv9-|qyO6MaL zI+=7qv(Mpoc>DpGd~r9WI^BoUcnoTajlA6Wxp8thZ?A>cyV8pIh4;FHRJ&i<|Dxpk9T1Z&RX7P2ulAP| zv$m$In;_sZN`*ys0kJ?j7TaDREH)-z%ceTaVAZDr79+;dq}}0urd@h}nyMhIxbHlg ziVzHsHf@$N?ywiOZ6f^x0WFwrqTDQQU$@FyFXslD3h31j%yiC^Tp*&}ckB43c{}X2 zg1+GO;|WE%$(Y)-;1av0Q;4dJ-V8D9uE^G(7;akvMw_&w@Hq?ATMYxGBgYUXqs$xCv$k zG$$x(ZXjr01bkLYI*opfSxvGt$1R7bD(72$3#qCayjV8;!jp9n)2oS{*Mblt8mOtt ze}M>Ueg9>q7VlOx64mxb(zdQgI_rj$I-Slk$|CM~Ildcj+X;=t%Dp)_s-l5EA?Zk<7kXERK^>T}dr$Tfn#=*cvh z#XqZb)2&qarr0104#PJBjeo-RXQBM6?-(onhp@@Vubm%18q5fg9e{0_UQ_~cKvLja z4GKmo!gUOhMcVoW1B1OYQbo6eFIbu_r2 zF{c^Sau`%*!Rq`CDfp!kkJQ4XSRfQDGdat}M;Y@c;?&>zEEMOJG3~YeBnl((*R$Bq zw$@nhi3kh2Ido~qxv=>$PWL_hRj9IVvt=n2WidjLyEBTz5J!F`7;Dimy^MK)L8wzr z3@gCLeTyp<)n&b*;X(kRPv4c#deoyioe^8f|1m$^n-f9@R(wnDl&3X2glB}yv(zDr zP8y9;d1nMtf>Eosj+XfV`VbPdUaVbB(=#VDhL}$tmdu#{VXX2w`|rcSAdhf9ATF+f zh`{+|X~J1;_4d>1enG96Ja5vy-&O5%Q)Dtt-ykXZ0m~jsX`;bHol5h#lb^ms(|&i# zTJAKY<|<#Ut)YP~i^r*;mjo&r{3Z5m)AbcL3x$43SJ{2Lva0svb^-kI&b#0ehvWSR z8a}i1BPU3d^h`w`d3#|HyWJf z((o|zt!6#gLEL{V&~ z-JHj!0zMh5;EmONpkC=2o2pt!P)rX=#h}R4)!1N4fwczt;_U1h|Dygrhs|7=I5C1| zNL#OM-MC?2UFor4zDD(l%ur)gv@vj%^v{$SV0b7y0>jCZEt!}tXDWW#0C~{|kAvFy zo9p#2(L5X)FU^KS5wj<_mp#u0H-8d;kzNa;cRF?&0CiA(&xn=vcihTZ{5fYj5znJR zx7en&?6#F^#)7<*4`iv^&26rdYM(g{p2v`hS?T_eXdWNRbyN2eHNKdy5uZKl6eqB( zM;D{bevhfHQsNbL0o$O)J(hGMPWI$bJT_Gq_j9$A0B~V1$U@AQ z2u>fHQY>+y}Qfg2r`+q{SQ=8;Vvsx2xj!T zHS)$B2Vwj4@y31^>5q4&Cb;E*FG^aIWTuP2`{VxkJFM$>9A7Yn`2eF(!pizkBOOMdZ%xJcl>cxc#II3Q&a<*o#+eJmN>u5X4qKpyfJt@)aa<=%}h>O>g`?}fDFD|WP zVjkvph~UHf9VY7$pl!QC%VJk5%JJ0ZS-n-$^NV|7+b=Fv`-*cr<431{Lgl4oUr`Qy zhcQ;p*RO@lyZsXd0UMN6CDL(Jx~{9wqm7S=rK@9yndB?SWw~POQ0Sap-KoLLyEWy_ zhfTla&zXk$6xE%4oqaeCoF=~glJ^~FlEgKj`##`OrG;I+StK;*AtQgaH~7a5n+5Rq zBHF5pzN;FTU{knhsfb8f&bv2$iT@HENJ6}c3dEmHy&@Ml38P>4SaVd-CT{>D#^E=k z*l%eqrYaHC@AJ%>N?%RWMVK{1bl%dN4hRb-AIb9FJ7#CodcFd3=URM{#%Y(@U*Dvr zuGgV|L#=RBeq|UdJzwzCU%-?mCE5u8{2Jm-d-C!*dn(rz5Jc7d^4(Soj=d1XD*c>F zpI2R5!(FaU9+4G5mfn0h8pmT@ zNaXiT!TJX@johzcwlf^?!VuFu8~(k28PP8sTTr8oqUqfI&`P}d6ngCfdBaqm;K=OI~GqJq$ zW0AlV&>|k#VB0ydizA;$uB3^dQN-B~scV!{(du5Bg7#Rl!PB~K8?nYDlS2I1B2SXagT;-qE%GsOpu()DrVSphXWzqJSkmbDZ({lTD7TA7TchWxe9NvyHB` zsi2DDMENTv3@CXU`HqnYQl`kwD)1T|qTB{}f6}Xxnk*;zf-ywm13D&O$;nZ2CTO?rqYbiB>rGx@j@GLPZthbiZeWsNCp zGgpx?zM^&e>~_~El|@RbY2Lb71Ux?7qJbe7r!*PFNWK@Lei0Ukaxcri8jwU9qMzW* zTV6M3KH8RH9D}w-#>-Gy#GXXaH%6xV{1^1^c_1;s;L>*#@;u?W+beQMEI(uIUSSDS zbnPrOvQBF;GgGP$g&ll}P9IqBO<^I#mcQx->5c&S8D>P&Zc*{nb@6)us1XAK%ACMx z<&L%&vS=&+Kif<>ci5-k{PDe`kJ0Ph$8(l0c3^5H6thSPp(v1O;E z{5kWhMVBvc!L_lMm8`peVX}K=%^$E!b61Ujnf~QM)+ZEYS#J+DxfqZA@$WK3i#5@) zQ2qp9Pyqe_mH&Miz?@QNxzXS@tEFg-3xwXH-mcYw9uZE?xlvZ{WnCxAGTNI|oZ zj~4)qMz0v0U&XrV zkV|H$em$szoiK_s3)K|&F^U)aN|P~OP^q{UqyYXAqj`d!O}o_xz$6{U$E7UD+O0XK z^n|*xVf&=_fcUaZP3lYI4)^(pP~yo&Ctg|#j&4fH>}4oV40lrG%mM&TVib?|OXpKW z1JND_GxBtrIkQI#e+`Waj&kGODcAv=vhC!I|3?4Yz1ebsKZ^KP-? z{7gt-ld)2Q`@zgK(`%I9r_hnhFOm;_=oLG9{)R~}zK^Ft4TD;r8lsF-} z+6e_w4|AhqA?zl=tFVrm{}@WOKj|!vq@}QTPOPD1()v~#Amg!?(-*A?gmw{e0{y?* zcK@OXr082~$`ZXm#F(0vl@*_rhsQc`0oX1POy4abrMQuUHR?@#pc)+~wKW~$#Df?l zhUaEPNCtqPt!^uR@ZoX#CLFbi4>?f|(ltl2QsSk)sTi~us<-{_*+?di$~j1ae(Ml_ z08GD^I)m>xBJk0WPTfxFZ8vxxoPfbLtQ$vnU_Z7!`pWHu^JKBy`=VGlSw&^mu}&k7 ztf7P(TZSB*5F#Zur{}f)Cu4&0WA`gVUr|D)Ew7q;Z+I0dLOb7Gtg$d{PB+lFm1g1i zkTj&RS3ItF4v;w?40|IFEYKvl5xzO6$K2c>`RJ;-o-t2+s{wrJ^iM%UX4z*Jv_9w_ z2u5CZRNw#v^zc_M)>9x*Za~b;_g!_6rcB1o8kjz-{NR`9MEmFbIOd*|QwtJpbzK_& zFL7)A{GmhOJr+!6lePW^0Or4Hv}t7dvwVI!WFxUacKRBDggnjFfavG_DvFPp`=$=O zoGx(C`Wo$lQzb$f{6b2;5%6^1TD5>-)l<7?7So(8x~@lT24d>`tPxeGAjA<5w&HuZ zUJrq~T*rTGFsmU+x!l!u92E(v{mD(8B7%;~VQ)k>J2ROhurAss@i$Z$T zSB`1PuyIczau3DlMIqC->W-+{{xPf_Q@-}s$E%}$UbB`@cI}66KM>2tz7Ph02kUQv zcckIs^JJyV09$2NvrwWeyHzgHbq%nbWE)SJ)_6%CkgNV+59wzZ<~~aREEKQTbZ9aS z*%Vsl6MGRJ@bzY&5!Jk0B|aD9!s3IBMdgHAaZz9TB7R&-DqHs(#hiPQPjbb#Qq@k! z>)?!tfQb=Yr-_e^V!{EdZb854%x6*j!w9y|Dp3oWVVgpHUmeEvEVyXYl}KR99aE#CZ&4yYLfVJ^iZ zw{JcHWgNOZo@=T}fBVxrt`wjiFiZ~mB#=@6;-^CXD<729OE18yg=Vt-34owrP=Txm zmBJOs05{M_P~SihQ%kaj0M_V#OTA+Z;s1^Z^O_>Q;|Vm6({@$|LbTxtl9IFchGGm8 zus{9;CHx&opP+%f*RSfub~rDtTqVG5Cg^tsVc|Y!v|eD(W`1jE{e|a}-!;td`yb46LpUM; z%M01gZpxhn;@Lq^eyRx^vH_yCw%WfK9cV!00rlbwpgCDaps8Q5PmIcS8fS#*eeZzO zsYynv^Lvl{JYn83_HA`(0uw=j1;RG3GvJJosZazXVSU?=7{`GBJr#nH_du(g*QhwZ zUC`gMmiZSI0aaE7eJ}p!y#pZANLm-O{2g=rtuL`624?bM!U*l9Y1rTN)vAXqq1!cf-2)hCJ zpXefK&Yc_yTxC^`)^>mgR)D7SOo!d|^MRA(sZQEG8|IUP+yU1o3gd_8X&-stGT_~< z@Vu|}0X&GIy7MJ9NvE_)4xJmJ{whEyNbh34RqyNqZW%X0n}5aO{l(pg5K7{-t`ERjur z(Rtfow>~BjP6PL>*2n0?Y(h8XDc_H&CJUJYu+#z*nG!F|2eO-^-;$0D?x$q~Atb`# zWJc?e%ZSj^;W{`)OwPBCDK{|PgaYk8tAi7GTN>En4x9{ z3~d4^FOh8L2uN7ft8!%SmtEEzfjFGR{}^y8T|SenS8_m#Po>l#h=Rw>URodbF~~aO z{7c2sAn)F-!<;vQ?O}6Cy!EK<#n>O&#tm$ff^T%(CJ@O;ndhnN`mAKQ$Z?+p-1M-u zMd_a5c^3=B$9;4zrsj-ZKDeM6;{}K&1tr(eCAVnMd?(+EF2&!Ag`}(2Pp6@F}jBAeOsQ!m(smE^( z%K_nt)8n4x_@=ZfV$@~ZlO7>t6%DkRGTxTy{&tk*Yiup=mQlB?6pC@xBM_o600Jc) z^LN59S#hPb6&)~6&q=yn;6!S~B(MbsmB4q6arGSF#D0r8P(CX_joTPBbj4=VtJ20h z?3j-zmmkh;5y|B4mbWU}V+SDPa!#0~$JDTkqy~Ia)p5%WjlU!aO}sRHBHdX%(7J^L z>&obS;?w6u_EX#Ye_gV(YRKi5dlMSsS=*#GfDO`i0b1Ch$&$IeD19u-!Atl`QuV@l z;|z!XD?|*kE)&H*>g{RL$SO)U+G6(6v)obQBKOWxG&T z_lSu~vzNdajfTPeiHjW1GRDdoDD%P zi%zOUFB*wW>YxB9z+Xp3!4C#T7dR?k?WDlPk1gO zVZ2dGRm)C9;}xLN#<3^z9*M;HVR?2@$llm(RaVBRm_l@n*)B_TK=622@tffDzzAg(H_vkY^o1Cbl@{1F*S~ z=HqI(oZa-cXx5IIG&VkISNd1L=`rT4nDn^NzE~ZRIBo*sbBlmnh7`CHjUGxu@=c@N z<-~YZA02>%Mh6FBdzx}wuwD4bd}GhQ92b`4*@86BRc*UuH0{3o=5DM3$fmyK7VMVW zCxxp6?EDx};Bxa`G01mC^uTUZ1Tz<%yKG<9pLAV%S92%=m+J#+!o~dCmzC~YWacqt zbF%0!FH*>2C)jZJDx}>`?jgYk>+$5$LUTs8eST>(7Ak&?5D43jbg1+8rA_<&Wq|+LS^2I{+jxLzT1HOAuFYER zQ8$NImq^O;^1buP{k@}7T$ZsyyKQIk*o(c*{9=#x_JE^>>U2@H9)`BLqbe|6SY6m{ zkkVEdeOtqB{pbcp^KLSRMSJNzQ}-G>AD`9?Zy7gTNf{*1x?vSAn|b}N?xgGb3Rrz3 z~AD$0ZU3`RXqEoyBu*iE;ocF{i7bSk2JGWU4w(GP9y zhuT{AuWs7I=u#}W?jr*?RJBs6x3xYV#DK@Ui(N4GX1tB=d5yf-AkL(=jmF#RZrk;J zHe!!g3R{09`D|i?2KD~ zT+&QqZ!k@@^yG?`zZniBA^Dz;MKIFu}y zoAr1C$|r>;Gr6QV4aleD88f%^+qO3< z%Q-X#koQ{HtIA-d+WkR}TwC2-n;!ajDf$+3 z^`d3`3!RN=CQIF)Q9(BV5-F37DZz!TwHCp0HdGk73lA9&@Vo2{iGT3SHy+kl+npBM zXa@q8qPTD=W>VUuvDi2jw;dg9hUwso663C+oyLN3dwHKPm1{d}%I&4rH+gsG$wkZL zy0=uTGTwl~vFg(=P6TVtf~E9d^6jIcaF1MLct#fj?Q&aW15*E3nP9YSY~+*&;!Aic zh#dPudagh^+*Df_DD>`Xwe?c31VAd4JCi%bx77eT*Mf!ifq-5b%u`$fkpHr=$9XQ; zdQW;MKodCjT&4_L93-KsF1w$y3C^V?6cJQqPZ(X1zZJRro(`vI{Z{*#fGGt(h%)8U zB(O7iiIVmp8*Gn_WKK}T$Hx~dF^A`Jo{n6wkzrKoE+*6 z-6qLvb9^O=8j3+%n;iNVy<`2SXKobI#Lu=$SPUPSR#44dC-8;7>)1`2PO#naWvuolzV2U>l&TDOCcbAu%9yKAQ-lXk9~d{P5H7I0jjoekC@JTNg18V{@9VlbZ#qT59gyuVIJ;|@ai_P$J>3sv;w$(Q#kE-Zf`gAvtZi@mY zMcg&d(PSDQaa4KBnr&gry~13gO{RCh0~aPtxdyN128ukOzk$Qx#-)~bFmz_?_t zZH5@eMIRS2zx5&?%tmkW^l>Tw?i5GLe}dFLEAPKM2D+rupFF}Zl1fvSvolljShmD6 zJRv>4hV#8+$UNpr&tJXj+R-WTf*vwO4RRV5>1?QYPzEn{RTaLH4Lb^Ux`L?O+laaG zU9b2bI-M6SPt80&ds)&XDHZmghz8qlZBHLkxe58g%_1J<^tH0aUgP1Hi3aQIDIEk_ z=#nj#>&sfi%46(v35pYBC~@%#`@Dqcw}caKdOAV!`#7y%)g5A6kp`tG^vvPf)5i6r zz(U<0!G$c<^yIu6)*DD%zYuK9*?eX-Te*|n%3A~vLLuU^p zR(`$QeiA)MS+zDK&Wvlz;x;wCdAGiD$tID0VdqMz9n~#dYfkGQ5Ny&%YayP4W zFIJwYVOq2RU!tyx{NmoP@N)PK>dHc+oVR)+wL zqb?!i!M4+1#0g2poSHVL`a&d_RTHd1wCm6h&fa%{-2WV3qHceui$FE!lV_u_ocVBf zl)Y~sv~$zm?w-HVEs_GuaLbOL>Ee=~{J`bsJ?qTN|+6?%12<2ybvzvv@Ml(jdhx zWm=gTF|~r<16`&?T`j8U26}V5F#d*+M!>L~I=Bg-! zEDbcA;x;6U?l&f_s_G=35IA{33vYEhz(!&o;eV!;nVqRLwD|NvfeqoUcM@yJ{d9H| zOZ6BhD8mFs zKMa7sxctpo_*s*ToWP`9&czTy{Vd8Z88k+QW9j%BSN3`27Y&c|n8)MIB^5;y9_Sn){3fa|i(!jr%;G)OqeKtHrUv*$1gEbhB{7 zN2IF>QU{@0M|`M~rB&T8Ucr5pw|5{yrNHKMV-$6Kk1P7gm;T-LvWCv=Ij*zD@-eu0 zxi^7S>s}Nj;z#y%Vrgt?H+iBG*;u3D0=%{y+#V%TTQPI8J0!s8p83_wHKvpneQ}7zSXY3~InSRS`K8edQf{uHKvkVkMPXk=8BGhln2iN# z`zepD^1FL=b7VD0lhIHvR&!|buDTp^0fR;pm7l8J8=YH4mU;Xs36G69HG`0C`@FBp zCDO(>H_xmpCms@skh4^B(xa)qXk8xk|>NJ^ewz`qeM#qNS zOAL2*To^3IXy4-T{q6HR_z6ZvVN&4a9!y*ZlfaTX?9Dh96v$1E#})XxJ<_Le9aUp0 zM%7+sgLF2&nfLl=czdzx*b!B5&V(pFml|3mZ@_oXY3PW{*eL-f2)1J{A+nvCX&ar+ zp!x|m7S{{YBjsQk{qAz1hF&I%3lh1n z`MfztFXpol9Lyu-d-gn|0zeoUrRw$BA33=DJALv!WI`uyFFV=QhsP2iphBKAZ|3u6 z(#&#Px;ua#E;xfZOPM2jldy*{5cW;#&|1^)8`Zz+R-dN<;HMOu&`=-L>0e82+_V5lbTsV_2HF5kc( zAe^SoRj0xAqb&D(q@G}$#&u94mOOOusK6nh0VJ(cYzArB9QjQr6v~80KpFfax znA^Z^7WD!C=IdmYt6O)jpa5&J4Uvwsl>F##7^btH#YtHSHPwGb4~UK42o zh^oz)dA8mV9HMUYw21RH@d5&GAKmA9ek5#;z|`~F;Fn;jVn#1|@3mf&tE)TRwbmFd z?oidsHcGn4rp+V%{qT@Zk$sNiC#U7VN8SwMMjftlAU0f%jl`Pn1fhqRs9GeTr+jZk z9F=R{&n-!)&%2_YO1aV&bhn%PdFNCq?4}=w!cZDjOj{fR;?F>bbtb{a)%|umCI?6E ztXXb?hj57DaD^*JNL4T1*mISaiqQX5GPyd8M*J>PLzi&iM0DWAc|*T(6A;afK2X&M zIyw>)yh6&b+Qr1sZ5#RZ&9dEHaz1NK?x%6ITgf<;zFwcJ*$Q#Olm}Pl4-i_t@gJHr-fxa`%sTgb)W{vDmo%Nod(Xta`- zc>8##AweF;O{TR?fCdxY5C>+k9i=QrLt4)9v^q5uO&8!(hHf=FJ_<)ZdrT@`sE{oVm*;XDwxt!;f+Vnx^Yp&MFZP9L}!jD~zwRvs9x_>kFHkMjwl(52OZ z6(PJ{s8Pnn%hnjg0~t@&IO&7v6 z+2{-p>SZbM*7H$?96_o@N7bcy0&-m62hU^1^+H@OE4yCtD%~?qzZ~qKplo|Wp zU>I7}sA6_`9(R?}+B9Frzpl@ijjp`%IpT&*c_fVE+C})fo>Zzu$g2zX_$42|0Aa3v z)d~0e_kgN3dhvaX%!+2CXa?hYgCJ`pvM`55B`L4G0LP3hN0+kC z8j>PNrgy0pkZ72oVY)R^_oyOdwZ*hJ@lq*u3wk`1_ciL`g(kO0Z$_#a*R;4(J}sb; z>+4!i^A+{sA<@oaC|GWTv=Ry^4j?*dK5O{wi4_6eX3bS2qxxI>k$8ukz8m?xui84+ zX>1BVgiwfix`baP7klu_3*hp#__U+snMewr9C>2=;9J3?h+EVimi+l$1IBD7CJzXZ zhb?ahde)9TnR5BHp&oNF&nKQ_hV#ppAAdO5@650_@#@_(SUzTJD%_TvE1g-L)OQ`$ zT31$F6}Z>_#;WvYmyXBt;s*(1S@#nz{mf|x*wNj7nUc{ZAUkHuXPsV;%FKNyq92i% zA#5pclUKl=roK#QL2nj}S$JDyQ@r1a_qi5Ea>=QxuYPJyKst`PepHsrtBW!%^-!O< zxhou*E^$IyII&ePniqHC-WMG)6XJDJ20`AFJCP^^YfORPyPjwm#YCw7{Obtq-q0aAt`(f>u|2r6M}^&`!!T)PGxe#H#qt zyer>;;%uI-Rc5WK_L}9XcAGB`>`Nr?&kR$;12puWOO?rk?2aaUKAhp67|8_f;3Qzh zg^tHLQIfYpiS6y(yswqB#=sVHi$jldzDHXpnlG&g; z5uGiT(n#T>BNwMEO!DhkO1z?iVKsXceb)n^skRKXnDigaUzaMfeWfGWdfbv!$i0*} zYH!2v<>Jruc>uc7LkR+hvmNGr3`xYYcAftiXlrHwDY(Pt->s zC~}skq{qK>g9)jJ5(XJD6gKA)ki=&9rPid3?cUi=c8@m!k9m-nuVE0cP@z-s_xlRy zMY^`%Sz*RWA$oUer)Qb8&mr*mR|Xj^U(}Lik|e?2*6@9x*cg6FL88 zFmwZ|hfV5Dmfy^RpLurzz!|7~$VmF%*Z&)t|0cnIug8BY!GCMyf7`+T)kYa0Y1cTaq(<0nr0D>{&91vENJ85ykq+2v2~0UDiOb@ab7?0-0YA$YXSd|_c1 ze#d10q?wPN1Crjk1JloZ|L-0UqGAhjipzg?2;6#)2=wV}PPzDhER@_r>!Z!RVywwX zD*&Zp8=-)lIOt_Zs~RIw;;SRQu2MZhoNiJP!j|`AbefwP0N;BGCC(UpY+wI91lSuH zSfA95e|^c6dRz8}t7ZnPBH%v+w_Lt}p@)S7bC1>XJ2AKiT18o$_0QbHjF%Y2`^OLm z&;c_!4kG~$H~U`X_FrVbF*%(@?dpjXP~6EVv$+k$C$Zr zqxkV4KW(=Q##gtziw!IBF<_oU$lH+zKfGHZhO#rAazHnB*cP zoq2GNDe$IK=|dqv|D#9fKg(lyWk)j&c#38yp`u}DoOw>{m0MraKpuZM*>f%L4C zEulw21XttXTaV3((JnBFEOJskt$9$qItq(~k6nNuZ4o8Mm?zg;QjqX6CArY#E*Os` z089#$CbQU;UJ&l)9X>_^J09EJmCQ&+Z!pPr=%-G0d(#&5qV?MD@gM=`^J!EsP=BSy z=zU)XJ$PVMPkFO%!+js5*t5rxK6Lvh+u=u0_Rla#$M)-+_s))Uj^+`3``zpaKr3bR zY4Ir=R1x>NH)53ry1O8v>b*ammji`$0g9OgN}GJ_u07LZqHPL{o*=t0wi5a#w)}Iz ztBl?2tZ#U?);nKpuY?pvF*M0z*8_>}e%bgspZPK$2;y!ceV<>t0gW+e()nONn!RZf z`+P_J?v@wIOelPSwUckMMDtP;mrLiitKP{2+<#WU*K*BgOp|;)mvmVxZ>^@0U5F}8 zbNoz^mv&=Fr%?5c9#cVsLaV+)99cGs^ONK2dsGW|>f~T^dw)f#q^o>G;yt(1_cstB z;9yY<1D+w!yORM=K3%$!x%he+c;>tbLAlDjox9?9yji8v8tgh;CiX1-G4^NZp|4RD zP}POrc%f6c*xOYe0hrhHgd)`?x&gvGQ^2;w=mUnUl5fvFTMwZ5u>5S|xth)PwLQ}P zBks_C2$dakc4N1vOt_we|>drfB+(tNdOVk;n1nbh4huTbDy8IB*e zH%wYJmQr15*`5VYt^ofr-zJ2TvuI39Dq(m``_phM{Oq7g>U-=G7tldlHEGuR8a+me zhzFNJi=j@3@O4Df`Dv|r)NAjP@9m?6x!yED!UR28xH;Dq%eI|g|JasXiMPFM+&4Sx z6rNJg{d`;h)GI~9));jVUU`6F9!?=#>V)}T)rhWn+}ycCvHUo4f|ErtNg?ojvvQL2 zM)HGuF??RBe6)QM>p+X@C5T<1p~6cx>IgX@J$wq@1jY4D_#tMC zs!c|K6Y~W*QXm0a*4l8qCB_gX^s zGP7w{pBfqEZ15^2y0QZPwBIb$$Pe@>AKF8CJI^z%V(Kf4c;7I+sEvmH~Q)f1RZxW zGY|)DeQPBuSqrpwuId^gT36A1r&4!DwsbR~b?fV1CL>~??a1e}s_E30^0SJ;_iVC@ zDdpykx1GlxJ=eni-o&$*xmS@q=FYl)ehNR=iv8-3dFflArccRH4ntuGR9NY85Gmsa z&*!AN1D!eu7EHT97LIB9p_3+dl5j+AC#(Wdbr*)53Gs6tJ;~6}{@cj}gaKSNu3WHsr()nBe5j zX<68;FmdGc8bQoCye=}`FFiu|Af|O<LZBu7%TRHc{xX#l774!CSV8O_FTojCOrG)C{$}gZ6f~9d6XB&r=Nxecy>vPD@;;JfKnC z=gOob4Xp*bAchf4jda#sqr(<_2enu3rB(vnedl`VC;gGWR|uJGJW457 zlI_KMttXSKJ_LG~!B`8jdgr=<{i59lclFSuHQ|7l-40$1(x`)^(AiqNiEDKRpSi2jP^7ZSFnRY~g&(q??oYnP-JO z*HfZn4eGc$#k7rz-kTQY6v2AM6h$`6w?=d`2H8u$+*&R3i#8Wizv>Rg$uCE;Xf6XF zrLlUhPCcAD$`fs3*Bau+OIk!bPr^BPiry#xqKoRwrR(Ecn=312*&>3-3H=vN0#X#C z>ckr+tun)1&v|Fa=X~FvhUs;_?@%MHt%Ba%1%5)S{Ej5n^opO30#6tf6JFQ5&oMB= zkQf=MpfkN~K}``iJ{+%*WGFQ;3FAxn82X*5p{a=N$Gl~*`x-9LLw1YofzPP*m2=XM zXEq$BIf%3H2&wN(w@=*98iGFGnmZ9B37y^!n)d@jjl_+%4!jBZdz)WJ$5jNj8@qfL zmo=8`pMYU8U-(7KxP)=T?@}_3y_<(NOezo`0>&sMrE)%$&Ek?L5WJ1=U9Ya+(*{&< z=OHy&21ysjBqNfzWYfiV79I|9Bli-X*IAMPKK?|)qJA1T`wh(m&1^Oo{sJtuNFq*CGFn0cyTC>!()5Y$`lsWKgtC@^$~EgyCrR# z$%Ap~{B^^(%SBxh9_K9lwI4E`EnVuRKh0JK#1FZM@Tmu03`&h9c{<)o#w#ky=2PbJ zMp1H95Hcf*4W}^HN6vuqq6BBSOn1Igr|H?l0?79W%{JszXpjy$p2N}B;uSbv?@L*N zGnP6Nq%`}kKxJ3?3AfWv^xFzIAY!x`BBP5TYmyv?X5Q_|CPrvgilgQ0E4(oxbVKz9 zX#z~KbCJxrq6cnF!&xi$!ej7L#|$96}f9v&?fJxb$+VG@bHo>`tgbSz}( z$x8K@>-5cinP!nZ@&58?sPEzq*N-k5B7X^MC#2JB&Zj3;VIbqs)LZl50ZMT`C?@bo zO1grNWFk5G_BB%CAAPK|R!PKZw-b+ulh$v=k@4y+P3BFQ^Vjk+;w2CRhdsu?HQ=W( ztZU=iQCd>yGO@T#ka^Jj)eLT|#u0pgAygz+2b&B>me1Eky?@LR1AR%Ps93JGrlSAM z8;HsnUVy&y&?%(^;X{_o4F@&@HIhUKrxNa%=9h1fY&9P4_&p1%xR_|Q6MBG$_qZ|o zszEf3-(f3F6!*$;KewUDV97V=MU)d?7x2{Ytv+bc~%eni}+HTDy6`3A(?<_(O&lPtK_EQ#@U7As$<{1m3~NE zEdoKC!&SY?6QJ#*vleJzUsjP=4R6bOGVr+zkX!O9M>pq&+-pBm+R(!*8TGOj2YeNm z%dZTce=aAo1werum}G|r)_K{6-|m_KODfh~V9QE}jJD{}PgXh@UKRMfIX8%4uua+- zGUi)0!;+3B@D-XCaUZsS&MVgQiP3kePTMGZKW52zU(KgNWlSJU-J-E*O{X}_{OogF zVjLUIFX2Sp1(!V%c@7~b8A4vu+8NJvhB8EL(ET;)x>hnA?-vkB~d9oc(sr)Ku z5cY_MlIhoc{hrV`K*8;^LM#55M>;iWv}6Y>iG{~Dg{kXvY&u2{B5K=66tWV$ZyJTj zChyAyqwFOH9cte+=Vr(EKrn9g%Be<~tJ~nfL1_=SmyAlC%-KaK*u(k&I61mNveF{T z#|EN0LUVXu_S7s!H7+WgG9HF#8S0)N0UH!8B?%6Y(mz|ToGMW6k;)EQv?*!e7cjwl zbQIU7oLtJ-`S@jdsR>IHx1VXJBHL$-p9C-oHawR?v|PzC$MzfXBSs2|p`6R#m7r_^ zKpM`Z#8m&ml8+&7T*?o@9?%ZwVqAZ!2M#`^I}T@e2EQuX%(kqoZ3j4F6raybzpCO{ zm_0dK&(D53fy=-&w+kGgde}pGi*czP9u9n_)STp5;BMV%p%xsO-?YFZ*p}tx1hj9FoewLjUK%5TIe3w0$2ik_&rK zs(Thpz0^*F;uxHA0ZMixW~1nj_phXcq6*2^0-rLe}>TT^!;Y_Xp}bLTFM}aF2tziV^$CH*zbJ% zoWZO3igw_->Qi@!!zodKwx7;g{Fx(l#4*YYwIWO}8n1MLT)3h_e06q4VSOX+AxuSI z7_udW09Zrw1MTBQW=))GXw# zUsF~$%piZWo$Gi;{8+6?t@J*{Aaw+dcq6POmpAV04!*~twQG};NBsYcitWvZxVtx2 zH`r^k!WMcjb+H}Xo(+LPa34XuvrW67GkxETg0cF=KQDG0S6u{h{$ky3$xr$n1$dUd zW%;c45+QnzvL46VW_#$u5e6m zCEuNs(5R^L!($FiMhMci+a^+G?NM+!uYFS&Om*`{Wx!5_eoH9X7dE$XE6UN>@vS$C z>te)qg_T)z)|G2@I|Ps8Ka7-zi>37vMNJuWTPsz6quQm@L(gQa7xUs=?OY@M(D)?Y zAxBP^&{fI1;Cq3tt~X0v6qp&gmspcOJ3^dgYNI(m%LOxl&II* zwbx^FGLq^Ww{b;5Bs93UAvr@!)Os!)Ct>pW;tc}|eC;>W@D-b48d&2fid z_@}%q8C!IVb&z<-F{4Fj*dqDNtI|?$I3}a3obs~w$ulbn3Vh*=+gI?*ik0WIo*At$ z*}2&pexf;9!gCn0x~Da{i1&6M=fgBU!A*%_bU2D zhMzcX_XFt>zG>1ya^@2k+QpV776P$%H6r zI`bShQ%EQ|FN9z7dhMn~sU2W*wNkCNR!G!ui?op zs$y2>nO2FDhMunNltnX8`pa&ov^4?$|8QXVO1iUH-n zme=^6l)|lwFnI;s&2%Qhb@*7~{sOxYeB~KffZ`M56w1D6U0p1X>2%lsyd*;5rzSR? zN(cCy6;0nz-fN>q?nd3dA5mTsdcHZPIECp6_lKj(*$d+Jofg@#@~`XRXtZ#*6$bSH z1ft_I9=A{G@ZE`M=2iyONsWN(1K}?9gWk=<;vuF}dld!Z(^LD1s)LWn&r*AYpW;+% zzty7Ld}KmAPEO6wyrylCn?T>5NdEN#+_toX@v}A3I%4=+YaZNM{M~`Z=SGVCPrzU$ z>H6|qBc6EU7TIU(-l%QP6P)toL6b|+s;W_OS!HvU(lF8W2bVd{hu&NOr+gpXsXaYy zFV~Ymdq*ChM90=`R~+*CpE>}JTen{>RA0@We$!$7a2ZG1O-5w=-F6S*AoZOaY_v9E zB&y}h3<|1hi!j9kqxXdt+?UOUHz?VGzeZOFg^uqT?+Oq{(`aXqHt87<3vlT%H2VOgziiOH9ic>wdqlJBdg4bVShWVZlM z-E82ku{XlFiR!4>uqo!-ReW2{C%J|d_9}~RxUTE&%A|}bJ4GVOe{I*(QV-K3DQdG* zLgUIZdjr_?UzWB&X0w~P4HF@;YSi%|IJrli&I566yo?@>6W{HC0lF5hXce8x&Wa(% z0B^S#V##YKaqI_{eIMD0XZdX9fGH4x&Qxek0<~hTPLN5qFRwVrzILD$k zjfO8!;U6Rt2}@FP2aM#4F@lHz1+MH6++-8FQSL!&dXpAZ!hrk&7VO8FF`zkB_(ujo zVwr^8K}ON+;24w(;4T$qDR7qVal(Pe0(0H_aAxiw*@9nb9<%^Z zH{|+_|ILg2KcVo*?b%B^TTyNq3B=6zA5K*}{>YyE&UK{=Tu@a1P%Mxy#qqy+F@AKA z19Ur9|EUN0`B1^2&^GU@nyQoim8DCs0?D}j|GxcuLZIf){|mWx<*M@49k_G!w)+tK`C5_y`-!O^duJ_Y> z(yrghAm3&`S`58YBmA@-)C>|qi4@|#^(f2!?)Q&cyIx$T6VA|$$!N!`2M7Ed^}GaB z4HZT4(>;!oO_0{J1JZph9v~-A1XX4F6@?aKIC`Tm{$2%uPJZP9;S{R4#)z&dA&*5D zIm)gjA?-~rOvr?wr@fU*Ey8B_-U$BohLP<9t0Th*qp zy$F%5+ra5n|HyFLq9q6qc<83e1p+&5WmJY!F0F3yGZ&BkOFKx#7UwcZaM}Z7_V6r{ z%@t>$(l0^|rk%w|MOR+`!-D9wQaT;BAelQbe^gN@LSNjhf~Vdct@~b~h4Qi11KGEA z>D4a?eW}&txafJ>K6woNVw49%CHJfR@`@);z-T*f=j$JfJ#CsqJH7)-Gfz=-_@#Ug z_~6)On8)bfT_tcBXjJ0q=7k7PyP#ZUpx_}+fD|X6#kA|_X3krU5l-4~AcmskNc09U zMHet&eIgS{Jzc486FChm>q8X4$<+5jMls|f#pB8u3mYECrk8m0AS1@9 zCnE%G!Ip20?sNbbJ$k~jei^E4#I#%4>@xz&(>YpIesrZ5Pe4Z9oXJ42fu~2X6;)q^ z^LncPuNNK+{`pPRAuY5Dr1XCzr&;n0WNJX>@-%mW;{0f$3V7GU*+B^fiksmm%b{*y zL1u0Y>~ZOA+pcIRz9CnCUC}NXSla)flZmOogM@dnyzM(MB$p3Tr0@swECv!kL?rAS z98#blZN>B*3Z^ybIuu{TWkvN`;nLcU`uGlv-X;YU-!W8=N0le|P%i|~fkf=9y0oKF z>2Z+Iz~sV9!U$AV3Y41&OUVHP$TGQDWCUO32FBxo1TAD3KDW|+E5PZE!I9xUa485` zbxtFpC;7cylS^QgX2)Fee~+>^KORLX(X)7=AL3ns(OY=Q$;EgT>zCSH#DQ`4DFA3& z0;wsx@;DMR;Hl*RK}IKF59oC0R~8p8&6hxq>}CoJX1=V`>*4uL&lDp^(AY zN%h)-C<8ww-bTO7Y`3PP;S#4{IdM@$ikw8d`j=XpLmyF~>RkdJauB@?KDGIShE)-i zH)hoJ*#6Rsa^%0mtUdC8h^w<%$ni(dZ-kM~mS5ZG7Jw`E+<#SZ5180e*7rfsYKFB9 z5<%jZ**o^G0&&cp=a`oSn;%r~6iNDmL?=WL(h~s~0A-z=by>c(j`}s=%*`VNOJ6fz zko2&UON4C$&Tst*cQt*vAEaS_gr{o8vtT#Wm?3Oc<#-ikkCcCV087{%iZYeG4xA1XpOw?39{13{2bm4>(_m$|G#hp`U8E@YX=N17{LapQ2ra1ff!qpfKELqN+gXC^`XS62%$>+iCLN#?F+--)XhQ|?3>v>N62y|E z(qE?rsZL)9=Px&(CxByd9jw>y5Y)Lap{rkQh z!E>ir54R3`^$BW|LhPaeJag34r~${x=uz2mt#8ddg2+jVHG}IJV}U zfEPH!@(R+?2;Nd1pp z4aJ8ZdbZMQB~*3vJmI;ABl6~pMO8ET_?ftM_e)um$vD~EUZ;la?m8?A0ymvO#MaXH zcAAnG!33mn?ZICs?qUc`Iow-KM4o1J@%w_uIDMue$a!KkxYbt)e&Fd%NxV8eavB!cWQYXg)5YisgEC-Yo3rgg7akkODvU}1_jqr6 z!JQ*lwPb{|T+3P>&NCII?Q}W8*1_3Wxg2lcvCuNr^*4T92{26!CG)fG^Rr&*J761W z`W~;8!}W}c15*nqd_G*=G*1Etq0r*zcFv` zle-P}l=v>NL0Fkdy#12sioZ_qNZ)gHJB45ucwcek_Y8G%zq`fR(|kW6B-IC9tCP1Z zp>2L%zyZ$?Y@G9%>Ctj-~R)F!tb3<97(4OM9S*sz2rUc3xs*EpWoUOXsXtp&DR zS)Zk))}tqq7)j3?K?6nyWD`e5=RWC;u$zlY>+>zs--bPWU?pXOLtb9OzLfRo^~2?Z zP`SRrGm@ZPvY*; zUFxQu+Q6206_EMeiaP;MrJg5Zh zuDicE`q;*JUTW0N_Ny8G%_bPw{Xy!Vrh&CwgTE3{kVcN;_u>|~_YU9!2!PyUc2zfL zOnb>0{^PyZQ05BA;AdNY4 zs5V#wi_{bo5(zJuNlGX&ZANmg<>q*e~&!wzg9nAHz)CjM*JLtUBb*DhPXlJDC z$H@Hn^X<8W-F+GY~;RtSTi_y@9GxkPBO+ zksGA81Z%Ss)6_^{v8{E^QaI)G9lh?o$ozVZ%OdbH z-=jUIZjU(T)r>yzsO%**Do{PLW$C$fW445f98qE}UtU73B z`S|I!>QV8S5V6*v7_hIjH+YME`t;E6r_b|u^lx6{=@*+p6 z^-`4BAq%s5x@mOCUK6NK5C$d1iDvv%DfzaNVNK`SRPXtW_(bYb^8m8tXp-f11AUdJ@=@wqVTYooK>{Ek~egp0N(RIPnh@thpGd5GL)PegiIEos>mIk zc;zw)F~j`vENWrdi0iAH+ag*Ocg*u2O>{uoFxhOZN@N-DrF4>6=HSlkY z`Q&q6z|_^B9#Xo`A|-4mS9%g%8zd-2l4*>an}@ zNr|<%{tQinFR6q2i>ny_YIT+sfthFIeggzRl;vvG!ao}#LEDZ&mP{Gn#-p}e?T|FT z_v#v#TM|`%Q-b>DM1@i`qmue1`Y6b_=6bG0cxN1k^KlN#;Xn=Vm>lEaWqOg49MVH@ z?5me#aPbxcvza?lf6i`@mY=dK1R#0;%n*9g*~FWP%5%1C)r>LYjM}7a_cH}7cEO+z zd^5td< z3l%y>b$t!l6|BELe!wY#7C-g8=+6uLOUzs#ZeHvzN~it%V<&Klg}YAxNb_rG!2j*Y z_@i;!+hJo%{`GMb0dX?};?ckR)Q>$=00Yax!#~v@stsoBw}BmM7~&D`?{5UOkiAo#&uZbg%K$uee}9aQ6)Nk`81u=wq(=RZ z4~dx_z?fh(1ze%|pYNg-Ki%Tf`Ky)KV61g!1zyhsL*d{3m-r6Gnyj~BN&e5?r#FLV zh<}2k?)}%zsKL$VYeo%Oe*YX?=t?!{djMP_H1gl8qG5cZ12+>zK-vC$S^*efK-j)f zJ^23D&7NXim7;sJr8ynYux8Ee8s zg-sF;A!WkR{yI~4Qa5Vt8n56>0XRCyI06v4VJe01TDpF)ikjHax zrCb43@G=n?>kXhPn&g0;7P74a4Fizlw`Y}{Mzsl5aNkMIe9b)G=Z|TyU`7vN_2El% zk)ug0&f$4$-imC(AL7nnQT)Q^UMu#SIHnT9|-t`#s|4$-J$@;SE^0nA33@YKw4)ix)mta`) z=RpOq_00=i2paC+D9hh%dfAiVoU%03_U7Nkx0Fj&RYeb%`e{0a=u-znG)ui9CZ%rj zNYR}KbudLJZ$~oFUMv9+j+=~a$tO5d$L=cemmL42`n+*7y}+vXS4Y<{^A~U&dxTty z2Zhbb_O1i1_0P*U<6qIdU*?T;Ds%iQV{lMCD(t$JKo=p{asp}!Sb$ooyOojTcUn-c z&@*0FiJAG)33b&+7^CrL_D(g*%ua2`W?j6Uqr~403b}BS{5u7Z7p`a$CSTYnIqeXv zobj|lX+NG~hB0qXyTfgPOeHd?!oia^Ma-*`>ZHiHVM4P&yL&|t6~=r=xGK0A*KL9k z<14f1=0aTN}1c|$ zd;MzeEQw^J*^NU7(w>X`noj6gQ3RkPhC2!`r)vR>^rHfV0TS4lCj=8*^W5HiMlBCw zGYFWtkIN&Wkb{-}*6W~-M~>_Ih+Xq80Lmve@J#rEKLVt4b}M%gu-GQAyNx~Cf&&rEKYGtz97)n^h8bx?UT7M@(Nwz%^fow?Sm+!I4mS<3*hp zzqY6+o&jHQ9NumW7sNB=>wf@s$Y#7su!qZ0wH}s&NR?mcZTn?XvM#EnXW@?Dhk$|< zc4bP~p)aFy?x}8$f}`%W_-tz}OQ|Apjr_|TryjY=DU=A}BAd;=j6eemuddkw*kqv| z50C8;ulryq8Jl6`!@D!rs{Bv83RcYqg{c(b%6`L#5$9`&EG6hGgNTCPI~Porb^zUQ zveMS{sKp0__Ni~F6?+B0UgUAx(6vVa<#wr_Yb=?x8vq(cjMzw4=z&UAp?dKv;ZS*0 zV7mm6F7C*?M^=g&%A1)&Ux(Vb)k?c5No|RW5dv&lssJi{4h6O;u+E$v(VZ`JD6e!L zz#U7fO2x(+xa?pv%Wrqv(zS4Hq#lyCeXW=e(NspCGTre9@*o}X0M`MWPj6S)3?EdV z1iX1xfI<`}Q4_ibGX+)maS3qu9hRfOarF(=#c@So|DT#D?$_u;b(9ae#QOpU*p%i6 zATu%u&I-E#Y5tt7AaV&5AUCw;O7%PQ*agBX4|5ILBf#8D0`+0J+XsRg;vim==T zdQt~Wf#v6y_)ykuPv2f}QqTu0K>6uO;X>mwqoc>E76(-2T85X?qGecfVjM*fQ0_Ldu*F14yu{o=&EL zvsd+9OSi8m^^gm_EcVN@Rl+Fjz=MRu`uru8-I?($%GUeN@YPzdd6|{%=m%j`hH#7* zusA}M-SVv|huj#SIuFz{tash8=W>*l(=zG0pH^~fVIk_*>l~nTOVwfULX5ODohU1Z z?)zquun@#Km`|j4Us$`y^97Vcb{0BhNJ9$TdeW{WYyz|7GcCu?30XP~YkAD&f$8Ml~Gh}EdG;)JHpPs@%lMV43q;rLuG3HpYxvt;y;=F6dqlbe)~)Fvbv~Q3S+n7Mt*sQ6NL&@di*KLLXhHzS zVjKtJ3CoIe)f}HU3DuKzWYRV1XvL$Pd|)Fb>!P02=DW73@hRqs;r7|PbegNmo2uiy zMTmBL(I$2id%L9fZB`Fy`BJ(@A}>kf^-BK^(anipxDX~YwpYseH1ak`*<_nzpq*Ui>3omelGyxZVSDU=+PQwje4XdVs{ z+~@Zn>_dV&(3wmVnX*J&{x*X-;Z==5V<9s+fY(@`B6W2JXfLW%4Bp!(ix)hr03z67 zg9=c_(Tk7bEPbH!^~0NL-Fl!ZUV|9P{_rlhAOYO>xagdtQ<~WUF4C!_u`Cd5=XXr^ zV!h$m!lH3dVD}yWu+n0vA8(4c{fN_U%O0Oa*#vJ2drRbn_^_XgxCbL~2V)GSvdQjy zqz1gvrvZv7lJK%Jl1hNnoHkQGzm-UQDjC2V7C<|E*6P{0rh@Du728ASxi_-Zj+k87qNwVa zEf$feqVjql9!op8Z=V8f=n9Uu+b7_$|@MtxwiW#>jWnzMWGuHKJ1p;q-kJfP{QEQF>Jb6SF_J_SM(^ zgg1Le?pj*N2iElZe~(Nt%Ba?NJLmY{Kdn3QBe=%N3q-Cps5(@NfjER+EB%?Kyu9v7 z08f-7$~ZknRM~fbn`@oMD`|apV?VPFfPD@1sB&v9OL5jwPrL54w<&5obVo@HyTQV5 z2dBItt3f`tKyyW^y#}P7=by=A+vDDFc|FarrNzgJiF;{pWL*%{aWDKHS)2EfMRR?H zh`Qm1E;B1Sw!@L}ki(HnkBQo+i`RMJg@(sE;(d`#$J3%buHkvBCk}7DhZ@O-+XG+y zJcR~`lD(Vd%~lX|d3=eWq~qOYJtXn!Jw7*(pO1imDKu4FyD`(?l?1l4TNX(ewB2cy zR{ght-5a8fw?xyV1_*LLu2&s^3?sSUpzL{ovdAXyV2$%~-&baMS0az;ftJT5!C5q( zM=e;}w^tFX(%6n6MPj9}U|Bk&q|RsBjP9Cs69t<@hTp3G%(Hv1T#Pq}7#M zR&yv+6N%oRD_dTu_=Y7sRW~w(%+xY7oFf}50m0$P))4hJy!0&+kwMs9(m5hj;nb9X zWGhJOPDYaMf0d}Mu%(n!=0Qt@{+*-Y(#&|?iJ7=Zb_z}<}u-7s0zMcc(^ zC35MFUxWgQ`=g_-mE-pVcx$6VndPjy8oS_0Ck{2*p6o8Czx2VIoqw$t@GC$wlce2F zQU$wk1jHyO2eTR&2TV8GQ&O9B--^bz7q)WEHR=74l=oa^$h>^BH41}@uOpeyMqBY) zPW^EHsaAG|#5WLUI@>gstLUmDd4+Qr$1f=W3(5jiLf`c019EqNZMf6>Xf@Z4M%*jn zy>CE1hnk;AcvxP5&NDglVaK5`m;M&%kKOf==@OkB;U7L~jV-S7WcHRp6VtiX)FYd|^;bihZ;EJhr*%zQp-zTc%LX)8+gPjy9}1tLyACu6W82%Lz{S8} zROa{j5H;^ma00S=Y2jVIBp?`A)~gBb)B1u?Fa*Z}pq8OjWYK7xOjWkg$>okI_)9Li z+8d8@8SP+(OfQ@tv+qAw7-Hg_mdfkMIvcS&qc7EpH6{d5*G=`&K*rll=GVw^Uj;~D0(+CYYMMy5^m5u4QLUGJV=r?= zY5xR1C431MPMKqn-SK|egS7O}YSEOMUEU6adr!RsmOav)h6R*k`~6lv!We1}&bx0m z4U1*#2Bm`MdbTSce#CHhkyKhL>S*V)m3k}ph0Y0Si1Wvf-jLGzznbD$eD?3D7~qNd z7`z!_YblGhe|_o%5Un?L*@nb_{QkmyEr4|9yT`5nJ1YRB`2~--S$ZqZN%G(30eDvn zfPL>~^osvIC4=#}#Uz1tt;PU`{a4R50b2Oh)3S#1ci;_z-51H=@h{l1T>JO!0IQK2 z8R)|Q-x~|SD9=ZxOQ7_nm6*YkH`;f({~S&4U@>W3!{(@Ac zP>|}L$OGiB=pJ>>NVh^ks!Q6=8Gk-f)fF%&f_-sW#Q&TVS5Vk>|CBZ7-;k;ifK>ao zX%~MVOu_65c#DEmp$6T-|HcQj{t_7|NcHGO*2!Nt;{`X9b}pz<{c}< zH(m`e{9-FRzH5Ks)nF9RbXMG7@B9vi!SyBjQFwKC(UR0({p~~H)u)%#egC={CAit! znqfoczxrDX`uqRU!3}@~`=TQa&j23MD#|^7d9Yf}v?^hLeN+IHWK7626mmX5K^-wM zF;C+SGNiBp$#OCwlq{1b5VyqWLWRvJ{|@~hQ&CkBqaW0g=$|&Me3DoL$ah`ktAkxA z@zNQe?L@ie$4PKCyMsx4@iIU|^YH6V5)h!13H#DNY+E}RVpMmX+Gnp{N#{b(A4`Bl z>IE}nvKS`pUc_S*p0)(!3E?ajAi#M%lY5+_o-Lo_Ry5%_4nkO}s$x;?DFC(rJht&p z{=NnZlU*GtN)iINMdw$SJMD@tn*fJ+(a}!z$8!&r1heV-Rw-2YE(qZ7$j$&}m?B8i zJ{}>1B>@kFfhl*m&z(=FfE7r+n=0_vq&)*`DLd|0Y=W!RKGP@9sc%2@&r{D1_0#&u zUT~E?;fbxGgV^?8Gw%evX|Ru|kT6VW%_7OxqSk$zx-8?fR`aLH2X`F@2Tf* zGbT~n!UVu-y1{Xks;syVe#P4MaYmiSzq2=B{%SgrVchmPI7yi^DnYL}4>kH6L*HAx z;2)g-^r{F?rMOLWxUBSj`_nq3c5=ywrp}(MPknY5#S4v+!egbTgEWkQ#bT9GOgqI0r1$Vm?Av<10V%~lm#fm>2yq0X%D}f zX;EPQ9iOeP%d#hV_2?YLHx}UAIo8AZTdo2&BVDMX*fXbulj2XNPmsGmHa}nO4IfBf zdH`gyvgo*dmh+Ky;qR32E&ADu)oPXq zdm$N{c8uV?{oID82m~-c@;bJ81jr{0C|c&rV)3Vq?-9!HwYWi!F2QsqJZz#8LgjwZ zk}`mVX;$g~VDBxXqFTehVWm_MK|vIdFhD>Mi2(@-10;q<5s;7`T1s*VIiM0sGo;du zbV!McG?LON(gI2fIKzAGbL4n@-fwTMcm3D%&9#?~Gkf3rzOU<7m$uUROm0^ob3cdB z>#E)=nD`!_oR@0WnP_ivq}s+zurmwO zfe+M~$*p$G+^ZLZV~aWR_}5|5ulAPE4fggs(;-}yf}2Y z+h=i!&_zEVetpY%zPB0CJpE02$K8SWv0uMKrJiWbr}cCD4#4F`zQRnRR!hR`;bNZy z&+?N$?dF^=vFMRM{%YmT>g5P_W_d{1@nB^;+aJwDd7aC{rgC0Wod1YrmY0|oL|GxM>=1|6% z%z1Iyxk7Jg6q2r;SBGD;2EN*zXeKUMvg zoa*T(Gn$RfYoQqXu&~^prf@^453V*f>$i5IZvXyqnFlXZ6}iTC z&+Vp*Z-vD-uzlV>KMH{#_HP}?@CO$=r#%wo2_Wf=zTAGP#xtHFA`DUK+Ba$H;kS0` zE$X0&csqrkk=(uWx%Y=_Qwc>wt(&Oc3xb=H6upaX#+?^eG};!Rp*kLYyUCd-CdR{U z^04T!A=wV>-ACK?cZf4gd8R9nB&FG{$lbJPy_J=yfao4wp{0=yk|j2!#Z(u)>Ps+U zvf`D}zWFIlmaArK-4){V12ZIM8<&=HPBm`doc9v-%Xsr;igIt&cuN^ls1VPH51O4t zQtg*61)REnb3}AqKpp$i;64%0B#B)*Y#n3B)=>!%cHip<^a-TF40FrwX60EM=dDQE z3USia%Ay6%Yt06FeJiBlm?1#nPUtR%_zqTlU`erhXRT=DPxCa^?}#V|dj{rHypO`Y z{y||F_q~n_G#zf;vaRRVt>{XG;R3?8iCZApezoZgxi?CeFhUlVeCt&Z33AeGAHDDs z0gj+UJBo8d;H&0!Ke_3&kXP<(>11?E)K-J>q;n9!`@hQ++K_!c2aP}JiIlR*5S#qy z0a6MhsNr#G&PRef>yUv~vL>9pDeRFLuNdyR(_>kAD@B=#uooR>8q&WuWN8qzauX0f zAy|no-FZOQWT$`OcD~ix2}Oo4#zSis4Sg0hE|{`oN+J2Kn^n$>3tzMS%?intmP`U=B{Eq)%IGC^`F8a6ZImI^eczX~vwH+ci(ca>pA zHsYbUSGI79{PX&q|8zC9wNgLToj&RJu-6f-FOY9o^fWqZNu_U%`O2X*U??eP!Sqds zzq*y_zmm)t_PjE}`5}G_=b4*5;uiB6X-BDAFU;Xk=i?=_*x$#JH{>1d*0sy#^!WVf z{MDT&Tbl}H9{qRB{K@=>WE?xc1Q7t^tF*TUzN>?wsGMz;_XZ6P*`$YNKWyClh%} zz%)n%g!-edYp*dA-B*~me)obeE zWB#HSy7c%;4DJcL!qimSPUe0K+Q6)!j?9>))S)>=%viCRvVi-Bm5V$X`W+M9o92T1 zk!y8jxVVtt)gU#K&sq{mibMOInlOX9lpc;YVC}5R z?bqA&Y&BX!zk8hPNPlv;d0(bXUl zzqQ(S_AK+E#J^eF1)V5s-oCI}7^lIfeu(3y#P>He=uw~~=1$YL&Dqv_?_bJ%v7Jj2 zj#(6ZoSuH|AlWwV++E_HbK4#k!|>>61Rf}X)ZtpN@66P{!bI3?4_+#JK))0&lc@1+ zO8JrRr8rsQTMyHaQ;LK2FgvOC30*sBJ16bs<5CYP|9Wn4R?8u#f4^t!yHFNeK}~7V zEOeaE^FfU#>E3CAaw*!|vQBF(MgSf@C$7yrWbtA`b|?C+g6Clj**@szoR1THun_P<84xx#t!OZB*jWOT*?3G&dD5x@s&{F1(^A5z;)DXvrHWfoUbD)U#H}sC{hc$$Ilyra=-F9%YoZ=X$%azP}(}4&ls~VAH5o8DT* zp43j69@kH~tQ5=twvNm6&e?0(yRnN0w3zkoD>>d}h*i(eR`rDBjL*}V>V_!%8<-h0 z7i^I2ZkRzASQ#TZp1C{mGim1h&v$mb{)u%*jxd=^3k9=)j0VvP=U&b zfYk{B!edk-c2l+> z?khT0pr|ca+@-q?7Cbe?HkTZ=<~KkMxNkGlp&7i;EbVQoc#j* zo1$}Ij5PzR4C*OCgIO;d)#tdsNI}6w^wBzZkmg@?JMkznKEeQnfAC7 zLrv{i?$Kc+uXoWQ+I-?9)+_3F%S*28En$~dVTLHBfFp47qgc#04M6yr4^nh#XokS6 z#38v_FJE(9%F(Z@1-X;;)r@^NXHF3&IS*#vtu7OL|5x23J<+B^ttp@8*UhSx=c^iJ zs(ZgoG6de(AG_^kL2?t-WCiwZb3&m*TCozbn+I4|Z1NH?Uwd8hD+S~#4)>tpyxGFj zX0}NA<<5>}r`y1kU_0U-ix%&iWc4f}^#Sx(xr8$MA2i zD*#}ty&0bKUv;a`K`3c%{O>ROzwhk-?Pb6vyKuh(mhAfzJ}{qfT0xcLz^~=^rBVtu zoYhwkx75XnDt=a;h#&!?;9HXYZ%ALNpY+EEVF5Lqis|$XoBytRDONLB%_1o?Z~pr_ zc}tlhFqrEz#{a%f)bC^ACFz(I;rs8xXMKuXHP!p_FAMYc%W|I`^x^_;N_!fBe?HzA zxf*+-^7k$Uf7vG<@PMhHM4I1y83MY*A}GQCKfkU<$6)MPug}Z1I~{EaVgnlax`Vm; zbz@(F1V!MrmTgU5ow7E?B#F^0%22u}?rba;dmT9fqBj522D{^`fSy@fV&JKrB+ZEU zb>p9w?L*mFsHY{pOig_g?>uCY?l9Al4jcE<0-$;Eg#G;QMQq2!m&Jk5y#%f1dxPZ> z!kT$O5fZi#*eQ8`XRfd4f-aaSizK2i~I)zL}JS}QmNV-Q(qW{_w5t`~0Q&N2<#Y}OF~jyIidi`A37y1uD^D#{>}`*1KBlYXbz z6uoRGS`d=P&tzA>KOM02F(JD9yatlIT#uH5t(|i^M?h@4=r!G2mjm{zB{SB`-Jf6F zcoMX&J-@0~iqRBKl8D=m-wDU-S|;okFLu)CmhGHtK?=}{alQl{lirzpi=K2i@XNmE zpMB6a;f^X#L|I1Zcr6wzSbccmpQV`-71tLfZTnNAVe;EvxqpUhLOf>1#LZ^ob(kYz zCF`4#fy!qO#aEIur@MK^0Fj!?b6`HF5P#r9#M`k7d!t7*huwCzLUT;au9tcc^R4EvOK0&JMr@CcLX*sFX(A|dEMj|bIm-%0jT%BX>mo<ZIn50T&+Ukx5DRa=BO-0m4C=h4#M@1JFYo!sbsoyDDKf8F zEo3R@y-;-a8{FaOc_~6?E4YUBKa+f7>)^;A^DIuH-*E%vxMJpmS>KlZIm22c3*yb8 zp&EWldj2=93nX`*CrR=a7k`6g=C-vyXz%svn@}ATeq)<&qFQ(7f7Yw6yrEHk=q0%* z9nW%HK16h$WBC*TUz)oz?=Vt_#qxFruy~ofxai}D{!Zm z$qj+m73Zu!51!?=ZST8izOQ=}P$HM0#bE)C4tf9fH zuxCC~vq>PGA&Ud+|N9^&vHrRtWTfU&FA49fZ@%`Jo_l3%ZYid^n0Ir^Lz@76IE1bP z1;RLU0=sJ}0DQ_rlPAryuk0}-LF%gp?}F%!l*GTkiD}1guM1!wvYc=I^e$O2j`rEnnYe#f4*kd)h zcKL#;aLE{7hnns1jx0{fn_HX{Boi|2hZZyQm4dTj=3WUxFa*&Yd`r6x(C{UY?Pgai zZLQI}_?~fqQ23@Vj1nFdu|n3kY8xo?g*&L&#+*G_*6146%d$Q}F);;^qwvQvjF zqo!?F=13f$mmbZo>~+#nPUxJgHhc1=MwDtpk9o?;SJ_rat1@y1RK`5^WKo><+eckp z?{KjAbQ5sX1@y(Gb=yHhH~}5)^CzEF?pD8W>W9A`eS|W$ zxBkv)y}!>A@;k{TornEB+D$mcP<9>auo8Rf-iifz_1X4jKHJoz00nQx=7lOukd?KM zWVplG;GV-hI%)c&>lX-gI#!?ZiYc;Hx5sx0X5)X=VhWGMY0z|Ksh{5wn(ni3o37C> zGJYgh7+8L$FqvP(b1DdP+|L38+E23X+WBft3MxElPT$XE6?RPvor+O%Ji?ZsjG|*W zcqZnE*w;&wE-uVtMwm~&TL}^>pngf@1CLx(Ih_CeClV6j;>>Z5ZCX4tp%^H6$&ybVOK#4uc|rYiVVim2#9 z^>?RYoZ+;pj}ICc%pz4932gVl2bino;mq&iwa@JId-i2MB6!aLy0hwA8xw@BRaNKP z^|QF73{t}pRX!xszboKsoPNqiTAW5Y1Ua2=tA+5Jw}QhSaG=)&^c5z&W?#A0g$eH% z02T0#(9$|oPXhN<)M(^_)nJ`!ic68bpAoBlJ)cQ-1J0Gu3NhmJEDj55OVu>a@aj2tV%H$w-W?AFh`I)@M;qroV-6;Pn8y{1+ ztBY+zNCcY<3T3#5Zwy*wB(woVxP0VmifN5)&3e>MO2Cy)FkIa`(GFvQK2a*AMv`Z0 z>@4kmxVo_37)Xc^)C$FH^?teS7x{5W*t$pju~62dVtieFK1D5t`JHF=(gJD3Zxr8W z78ol)(|^J==L#QHiz6w|<~0`RqBI=R4AOJwV8V$Lv3y^=1<9*!GFvX$Dyp7_^yjg< ze#|zDv(I9`nys?)_i#KvNAjA4Rxkn9&lo%Yy&+anRVqVOIg&Qe!tuR-yWta6(&8qy`RK|O{syhu4UZVpO z6!II-Ra-IgnrZUKd7?zKOfUUV$?_2wb^dA&RsHmlk{1m(!65vEjz=v~)-$AA&V;iZ zBRG(^d*S1KnXdwXVx};Pr#skOVLcFzE1h=()5WomP|S`rDE5}zA)d|TO~aJ;UBBJ< z^Fme>kE%llR2Xs9%eBKJkR@ZI-_|L)JMt5zi3DdQ4DbmShGKREpFYB*;Y*(|kof-# z|EB^DqQDkmyi;V-8ibP`N>-8iG<}qGHf3=N_q>m?Un0kB7GO!k0ZKjz z%xk?7Drd#m6$sMQKesf5`YHxfpRuFvrF0xsBm}&l5ZZN*l*9X}p#mJ)+c%umziC!) z=o6zKFdpO1#6HD|4Fya?NKKPDZ9@@z`wiKvtk1l+wZT!7H4Xc5dE5>B0BwC%)CfD} zrLgQrh`nkQUs8aXM(iNv%jpFD!XyjQN7>drX24BbtLbawVKn*5X7RWr_@JkQfUE2B+q$(a8@QIYL8r-%F0%?xm%6zj zg;^cEeT8)=!{D1Tjlt>(#m0MsJ;>(gCdVT zlfKU^Idy&H${3g3Ng=D4@^ah_f7JLY{|`FBr#_N{-m=8B@k28jw&9qWpANTN840>4 zA*&6>L0Q?A?u_YA8WT4a22~vq`*`)^#zYko681y3gTlszT`q((T&6*hww^6Jb~QBD z6$mvplnV9*gsHttkX#1ejv#zNO1ejz2UFP$4hX24;tO9e2s3hLaTa0MZccr8A2y$p z-I=*v!Ff|5V(pG?xq_H&@rLFQsC{a(uJ+zmDxH2LW35@Asd`av??@VfBPs3GE@o_& zDp64T1y;(}IH1owguwb%l0S9&$w~$i74;+T+>kZKCXJ!aF$`yXghgV6Lu)kyqnXcCU}^ZV%MmV=pS-nb)N8*|7{?yqPzjG`D*= zhrZ0~oT|DURxRATkAFCQfMCu23*3;h2UsI=#Ve;W9PM@xIlw*RRy3)+Jh#`ruW;5E zQ9VI=Pe!Z3;GuLcJ49ZuGnt{v=5#UGJeqs%GKhkJf_@b3%h^X~es3AV;hHjCQ?_S+ zgm+}PzJ$_uQlF{#D{nY>V(#5*x6d%_!pqI5ji14;2oGq`D5Fk?2l%Rr`KDs1P^=Hp z*|A+O`-GL6H0rZfEPa;|Gl;1GgqNweQ7?~?(NW)2uRmh?xifzv&!jbqpgDFQsNWhB zp3KVB+5#lWZpRbJHxZLkfpn8s9@~Z~aN3QzlLlj6ScGFD`bcyNwsZAery^~77M`7z z9pc_Y*QJh9Tq?T8X;Vu?j$M_*uOwm&LMJSGlVqr@%aU+J0(~u<4^-_k(!I&6tlW^o zn&2zfkV3>2XT=kTGa3VR)RH%+bDZyWMvfsTH_cV$UAF|;h6t>$QQUZvuxf0?CNzA) zkOo*X+V0*r;!MtM-6L2n9gefy-XEzWS87L-;JWY=<%Vlj!h$};o|O1~p+{~jc0cxM zQf^7ZQHAg+v`d_qU01v{E^wILlZB=)-;(;+I>nXw%oHo+@5K>4ysN zJ~7)>naaVt(eBW0cGY^iZ%TiIIWp_F7H)e&8et#CBKbHL9Unb-N99s_fE-%aYUk77 zBJQ0O%7~DPBfgRg0XD;Y=u>!CM>GSyI`QL&Y*)OqMFwF?z~VYywYHFxyjSw3-%DK> z6=xW5e_(xi9AJ}n;iW+ABYuA-F;%_(89ga=osSHhs7IyJo`uHq;ij@2eKTBE5Bnx0 z+>$Uj3e;e!oaEEYTNm$iQ!xpcbp*u~HP(f;WYnfJyhVN8$z*UqUrDZYeAEqMlldd} zU)NHgBCmlBqxhhM%e=`W}c2tnkLi5v9$IJWk;!OMatr*1>KC{jrbYR zHdMrZbRg5aY(v`QLg%VU-oy=$WCKdfbCn=)1INYLPt^O^^o%&R=5t8Z;RwFN>?HIpilR(CX=!GiHk)rB7i{;raIh-f)_ z&HmC=?Rm(5dxbv!_Wp269REii_8ex`^=R%aNgP&d)!4NZt$t?KR{dPxi>xiSLq03C zU7<%^#_Tg($lIr)bX&pvEbCtH)P%dxGIOrg2PmRu%vGK8h2_cC+SZbpA%|>oO^L05qBYM!$kPY z!C&VDVxwX8u4f1N^YFR0_&+mDII00t9HbN>`UAf%l!O0G=#aqq|1vlGNm>w5v-7o( ze?D=K6|y=8L=*aTo7~>b`e$Jj0nZaT`t3u#CM0cy5(Xj!CfB(4HLtPK~1$giO36+b0-Jq5J z%K1Mbcz)z++mn&s|61N@?A%@!09=*ofM0%Jrt{J7{~dwj+u$ny>Y3jG3CNFsDgZw` z{)5B4KYj}G!8v(t){7 zhmbjoWd#|M$C?Jf8KeV$V^ub2ifC`?`EqqDySeWay&2UXuST*e7*H5v#~^fq>-W!Z zWu|U*@6y1mD*qjIhUAA=ZBExJ(l{p}bS_5yJn zj)32ZOGn4Ovu<_tCwc?Z=3*h{gxlseX)|;W2_g`kJmM{K@f!VYgf!dvG>_jL7Y1<7 zj6U@J(m(sxb$#!QZ~SAEe^D~J$-XZUN(NqpZ|7E~N`rfnErnZ*IEX< zpm|mwm+B27dYkE#Pzm{ponYZH^R@G#@K<>aYc&{YrAn=bg$&EavAd&`HnvrB>;kSU z#z@-k`8FLKB@jg=<#Cu3du_{8ZPuFX7rjlVW#5oy-^!c6YbbF5r+4~JV0=ATINMZZ znIb(7V52$)wESM?TGrp}L1=BRk?vDTfHnZ)kAz`~6PpyexJ*SZa)d!%i){8LS9Hl&=8>E)Qz?3H)OW$fh3b zAft<9N-Y`#sDu&OE2xYUk&(^8{llr=pC>~l%WOxzWwyLvrKDo#o6=Ud!hIVYF^BLw znRiNYcZYf*xgkXg+$l@<}5e<}^_@ z*`ADG>u}LRO?klhyPC~dZVu{O;oT6%Q`s;FVW37xF0tYfX}w=((hqeg20Um%qOnXu z%aLiTeWx3EzU9SyT#j5gdn|yE?h7Sd5LmDZ1xM3iiB!UU=wH6Ape(xI=qQyK#9@XO zk%+u@U@2_I)7P_&klYPDJ<=%5P!>)cD+(@^(FU1|ufAP%SqD*$aef_PyJARWSE9j$ z^xgcXX*e!4n<~D}xdtk+X_)BaWcfqSYs*A9XG4VWV{#G~J2ZLD4H;9`27=gVbAg3l z2QMozlurEhEl#)aqWNBYZWF!4kz`k5uedwQ)YV#kJK%npN!BmFErzcV1UqMzRv^x9 zl0aUt|M<`L_Zmm?dU)5|*iJvSC1S9X^$A9kEBQ9WjrJFrD5OYBTXh>S#2(RpQQu0& z!O(WoFVq+p#j9_lL2MT8TV(Lf6y(`0LK(d-+U*Jga@*KO$;*$4E@Qu$hNkV0{n;+B zX_WQBK>$tImE<3d-m{HSUjWxzuB=|II?IW51#rG9ns4>mPJz|k4oj~rNR&=ySON3; z+F)K5wcFu54F`eXc{3IUCkZjTN7(Zy$(|%NXc&>~*_e&@afHdjAgMDxkdaZ*zUhmm zmfZd6AYe06alP7g;dp&kWg>dME|PmoRX6@ZH`ZP$y zu~tc&L~JC684d#$53qN`@siT}@31$IkEp9BSwSq&As5@e?8xCZ4U?WwAsnWD{Hx%n zkXlOqzAKbuk6=JbkV|{*SMFazQYoa!J9l}jP!44sz~rpe{bKgHeBJxdQzG4&gIabI zB&b6RV6yHuGEX6@fcVN5WO>?*CpgObUqJ81Mfjh-rb_V@P&OGXSP~59NbI&1hqPHp zuK`L$!OS&XLm6MP0-F)aEWzoPwz^xU{s3o<^7oLmEb=hYYkKdVl9Jj9aekBo0j4fTz${t%anazYAFWK2`1$Qx`K|US zO{zqO1|`%!X9*Ef7X;(5qTAG@QfD|N-E-31I}rY>kHh&xwFsk^i4Delc9g&m6*RC2 z234pH3t6KV>PnrX*Pqh=)EphHmpmBZ=biB6Qs49AB|vD7S(3+ET@+$cm-PCW`iyCD zvngL;EnC76NvjmjVOPL6%EzrS6=%VLvb5P#OXa>!HCJF75&QEgzr(cR^3!em^Mfv0 z(uM$tzWTW>`7cCSiPX9;YM6;o=hd_86*DxLDYKt)WNl2mBFwzCBGm2fNID=C<^tmS z7mn!>6*G&#ol8LUqT*^TnFKDvkUy2g57u-crBZh!$HD#74s}jtn&8WqzT$Y!tgI-R z5cPSi-fqwVb32zWEF?nD>p?>r(?2L!S&k=|A3)P4Dyh{YV}>8xL1i0>j(ge$)cazy zL%K=intcoFv+fb~g3y3Wcy+IZThW4gxK&uT)M)S~`HQc-JEDn19Ps9KKKD61=CO(v z<|q!Q%#jP5c2Sc&h1EYbrKz52&~5I(;MhQB$B-$7Zq!II58oZ|Wd4y$Uf_Q*S(O>z zzO%+eVOd4*oZ#Gb%(|zZZGJ{G>dS7(R-OB!kXV~!`m(ye*2_5)lGWR}E#}SNKKRF> z%34kobTw9I_n}#Nqw@tn_EWGD8fm8U)H6cFT*BLvJz;p~fz3Q@#7$JOTF*_aK4Wz# z4r@^~2BPg|^W;EBX4b{pS7%hri5Ltuui;rB5>)TQI&lDwDx=3k&F`-t=bsaRf2CP9 zdgRh|n6CG04|`w4jvsgR*e*^kI1VexlM|YN202asUBw^syQet}*@b?!QqamJlU;n$ z#(+{n-I){D%Bt*z;Y~C{L2A+ii10O15q(Deid0qsPUcB*sU3rlGX546UvV+(xHno@ zK-Kubs}hLV)l~Hvf;XZ&JZ|ef*OE$>A{A6EpN?4-=DGDPoxOd#HZ{Cgx0@aR;}gr< z?)=U*&C)TUEGpe>scwC*YW=DL0*k$ddkmL_!Pz}{<4XWkUv$fU%wKvlxD)m%W!wen zh55b=_Qw=-+~4G*tS;NfasDVYvm9H?A!Mqij7YUl_bq^ZV??sLgUk`2J?c_hI{$&2 zhd89FKwQvHDLg{$aCh71I?XLxm~hLtKvVNUJaGHy8+LT(GbMrRagqrGj@$KFr_x|Q z=Iy3G`HtmVC~8teZPFYNrN&0n|gWo zO)VHg?c>m7EV}q6HK`0~`QB6N;qKwofnna50i3Wc^NCkkl`q*pZD7aM?v~?(vqg%+ zyjWEiU4+7RcaLBlTCO)KZ3et3#N*oq@O~K&r}{*(_0b$udxx1p4;X)~8D@eyUJyhG za)Eff<}s$5C>scW{w}l(C;nIwUGMd;z-*&H&$~R^-~>*yrR|uY4#wcrIjVhr!>*xH zrw?V8DLSMNCM%fS-Ytj1wyHf)ppuUC4#N+)9U@(YhSzq=6blGhM+99`YIB;qfth&K zK1brAXKL0kuA!k${=-ieE5TzKx2rptZ+$p1bn~AwlJ%bqQDvpFY=CPHI$mi@lgBt) zoWH0Pb-S)CCtV3Y{?`$v`Tn+cIBgeczKkn7m_MWDaP)yqLCCa)0{`^+77ft*nDR1_ zo&_CXfT7U6{c2RhG9hn>vyXZx^-%tLGzVwqit@D=URHBTpYx1tAkA;=dEdA*SQf{2 zCVX*;Ep6!lHuqgz*&`uDsA2!w@0P7TFKq=y*Lu+?fSl}oU3lEtjw6_4{YmS*Q3!{% z>41PS2cU}?(1)3$KqPiPWot6z^5=uL#q5h4!o@2>h2By=2WNMZ8|1CJz8!N9f!@Lu^*NhIQAqU5Yk!J%P;hGlPej z#Xstdf(_8cST3)tvHu#?6=Nvcr#sl9GqWPLdrpC`Zj6tXgniy9Tq%iuS&EzW>Dm2| z(;S}uxl8wPDWT?J&+yh0lezo~iFJhbrwQ6+U(CIt$!)mXO%LwEYp_NT$4T z!PhVv%>ZBWPOFfA?$wxw^gl<-J|&4QbZ^3lKraaW_^z+TizF)~k; zqcnICpiP;SFZUX{pGEwOf;O1m5?UTg_j7-oOm6P2Je|YFx#?`M_aIx&)r;Gid={7*QdSJNvi!DhH!ut%jAkNI*tOR{z zQi$YMW)yn$G+8(%A5Z)wBAwGdvPIK3AlS9wD03f+reyL*ZKuc`@F_oTHXEO<&fYz* z#)fUjwO2z&7>DQ~rw=4S99QEkZ%nVEx{ozfUw)9B)KqbJ&wJvNOAbV}jMA?8Gq?B6 z=eAh((JbbeYBLnF4xX}Mh?hRwJ$HMxP%0Z3n57bu=8)(2Hvz;qzb=n&VNnF|`~Cq< zm0eM6H!)LP#m)__F%6K=AMuDO?+R|8y_!B9g={N1i8VhGkt4kTfjG@A%~xr7t6cKzo{`}BK8kx z`u3bk!hdvX&OIC zi@ql)mq*~RY7W=;;AGI90-im-8PNS-AHY7M#C`kYWgGqkgP)GWJGAAA>hgCc}^^zh^VC14xsbA|Lqp+C{%P-se4W=&OS|GbO{%K4ef{(M@l=iqM3 z3j4kI^C2|DM}*B4QvL}wpM?fayo#O{*p9t#27kKA4j-WyVEwBS_y^gSVn)>GAKH^S z{=Cc&A7L!I$EE-JoRynUvxnM{-T0F$2!oGc>oH{fW6eC3g{9=`D8NDf=Vb&2k3BN{ zpYH{jyErH;T2tbrRsXzf3?I?#`0)=@%E2!P?DzlaE#^8u{2qC9$t6UP8OFVs|8LEC zgS`v7nlsg(yY(;b*PUDZNVA_r?I4&B$XSJcaTMO4WXIbiNd7lA4Y<_*19Zus*tGlt z20@3R4lvR#v$DW|tg&Ch7-+vquO>QPJu7*6c}0Kn)G8j@j&Tlgfuk1J{JVCeJ)A z^Y&t`gi5Fl;uYx1J3;?t+abB@;Q+(CV;>(67iLEkC|l4e8X=N!mv~Tm#~_1k{!R!P z_PsFXwPTIguO`-TDbmQ5EczZ^?R=Hq_QqqKcmwn^0+q#R=75NV6x^Y2J)hn8V#lrRE2Sb+Tg zPN9Kx(Y2R*TiRn4V0yX7*7C}RTGrs`xBfgOnTsjzbzFeSd_k@TJ-o|6tG?P{#VxR_ z6IQ`hBDTcvbD)u*Xo~0Cd`71z`mUB#5~P0fR57EdKprIocJ})mJxn(uRz% zYLr{>TYu(^;PQ|{HS<=7{#jw;_teEbN@B5C!fF!V*7`I&E@3b&JG5;h=@=z|gD+j? zQh?0sHXs9-!u4&}cI%}NFc~95b!_7Z@;yhSphL&0KB;Q2)3?E+{si zBTmq@m09;S5K=XLf$(jmHs_2-MxcSFFj`Se6c?G^`3TV`$Iich+$?}4{EV4=7%AKI za+hkh?-2E5NQ$2xOv~ci0*mPJ)w>Ruad|*1X~SpW&f<4BmWUM}uY^qgP+Q)DId>f8U*_KdNXhMzR)^DM=SQmhC9$L zc0BIYq?kjoOSMaNxtQ4arfWz-0(h-sJF7Ex>dJ2{1^fyr(uk8%uM^OSyH?wI?L^DO z@U53&?6U9sNL%lwfRz=Ige~QHYHq%jmq*8*dJ(pigI-Z>0J!}}zk2Pg7VKM&~GUP09R-?~OB9U2!?gOf??LAOtXP*@wX`sSqt&r|uV z7!*=i+GA!iK(-tQ8oMqe%c#REqgmmn_%=~aEUL5R)e}8I8 z8-MHdDlv?ZY_xBk!40C9$Vk1Jwt^b>O(E$gNn)s#>g4-^{T*zho!XXpQ)4oE>rJsZ z9L{bWXqng6*0Y=KX?L9m-y*$iP4FwOWF#TywI?}=6U)DwpcGM%&xOVrDQP_*;9g&- zTWPuA-2L>&gsnbaqH$!QSlwpCp_FOZtpLs;*ikjQUaE1mUoL` zeDdA6Rbd0!G$_q-T=I#oqo3rb(j6&1WxhpxjELtnwIk;d-V{Diqp6+~|Fp}vP5kiP zyUG$6R9DsRtB1O14T`T%BGTpUc4D>9>n&jnkD>#9AS)vj81Ur0>hT zf6$}= z6H(ECrh`Q(q+V%Nh>^Lmx9$>j}$^X_1AW)P5c zVje7tZpZY_#!S3%TpU7)N0ofyz3^h6MqPot_S$e7s$Z+I%&Ie9q(>Jbu!OoCo7S>- znP*+Ji*>gfQj-F#e?5Zt`B2FnU64qc+gyLU`t;h7N4lCkb{AoErOrlcoO=OpdP7^} zGddE_=H8)Opqa7$F~uJ<+JT$`WJXIPskhOQ`QKeGG?Rxsx zO`W3SPf?|)Azm|>qF1iK_+{JgNusjl8;C8lm_~G+UMeTYxEc45v^%hX&fKbD=jr;9 z@Iy<;bFSxVV}s*_^Gk!>FdUQelf%`is3cuAg_w6Ka}@gGSrk$EQ&sn}a{3{~gXs|A z^GpyVK-*h$O|90&WOKKt(_=#(xW1B2P9qUKqW;AEd>SHebY@c$r5n$%3DS1w1*NpEff>j z&)Ca_Kc_vLwXW2h^z^3BF!%@*fnsU2X~FHkmA7C+L`P~5P)hV5D77EkGe+!%>1wjp z^Ank5UvFp4Iz%UU=#c`$`AOxNLU{6(*F^O3QwMunX4tOFIG$t3Ecnk{(Wt#Fau4-xL9NgpZRx(-ec3ej4I}>(S$%6TTg{5s>Pm_ zeW->aVgidoNo_)v-?l(2qLsb4@GR%l#-2{KjKtjM!aYyR!|gBv;JA`5HLo_dT_1FW zi)U)&Eaf=8drnBPp<|MH^McbnY7Mfv(eYAOS@Vc+n%zlqYONIJ+?hoDk=@!)#2muJLj2UxdfUR0 zW>a`DZy>#1)hEeI@KDQNj5a4lGDO08uakeKBszXBc{~`D^Jl-B=1$B(!ZTN9P9d}G z-DfB-jbaI|EPtiDCr}%`?Ps#^xT8fcFXAeFYk%DP5?q?U;G#7-)jOX#(`^+)VwX+2 zM+HF8<#&PPtRHa#TLI&E)jZ;@lKiaURLfFz*60$YJ^d*(LL}hgHO42h23XXi^u1h*L3l8XuOuMx3|8JS zVneQ2gR7Esu{4kFe%?%f*Ncs9TWd3bZ@fJ9VmK6eMWdXWA@5=>nklh)Hx@U;30g&8j;)_4yX~S-$EIkc5pL@5WU>_= zVSYvU#MdpJsg^k9%~^lRi;i#q1-TDCBvQP0Of3R?%_oX6DW&?uR|iVAykI9JeB_R( z<1DoWpWT7`!L9a9t~Zj^NCY1R5V5nBa_6LFKTo~2Fjv~s$ZbQvul&_tM=}+Rjj*#_ zsq8i@N867Kf^b$RU3)+NdkW-29Vs|I-nE>vD>e+L{U!6>3+#_|)qjWxF^UQm!Z zNp4Rb+4K5PKZUzO>Ul(v%mz+Ks^!_&6ug2kOK*+RXsk z(r=4kYx=~8Z!qqN7y0Cly;heqPnZjP_oj-@H8^--ysl2nm;eEA0e6!c6L!bD@aD&8 zpt8zbpZa%(n>RolTwfii^^LVg>(Z5X)BGDommpvMcaV?l~r3cZyG#%dBAs^f@8}7M&1ouNa?*Q)JXp(N)Q~u^BQtBinba4wZ zS*z=n%OD%QTa2c#2JUgrc_c3C@V9W&R7W1$?XTI9t;*P+lPtkiT6(a(Zn!A=#8t`b z!4wcfAv7~YBcAtPF8y$2mK=$j{%dD#=lQrg4{5R`$3$-tnGF%GiN=Df$JfLbRqDC0 z70aY0g@(*1X_XUdJU5rZeAR@-U}nIc?$lVvTTT&oXP44x8H4$N0OeQuY^A$Cza|hh zdJS%?iP=p^VQ(96ufF#=Wjpfmtnku16ZP^-JZ2NT_7frBA4_qP^!lsvwBba$J(<@7 zg21)MHZ#SpoTzKNbvTdlwvLYF?!M1T8m-a&t_t$xV_?O4>E;u?!j-9h0d()tCDTS~ zqEIWJ&BJ;zlO|{f>h4ceAO~l1$KpWIehj6Hbk=a^f4(eTg=v4CB%cpEBgZW@YGFwG zO3Bx+>;?gniJ;~9)6>`HO+GwipMRGY(do(A`Q{N#J4|3;PRww?XLYS7K7?%{)87)z z>Sd*Eo*|P1eP+&(C*_RU)omqNTO1xhJblmTN*;*RxNY!5_*OO3a5^0X8Auv%gtGHB zJ4xc4R*?1)X%a5G%Dv()J*)>#HPfLI3sZ=M31lf-)~tP3#?@uC5_bKJ^FKO_rxrf9 z8oalvTl!Wa zmye?wO}cURTZzjv7vAABU)_tG9A_N`Z>wKTyw1 z8+b?N^Ys&dkDq}An{2=v^B;4C%l;Q{^qGg4^PK;gAM4ZKhkqar;CqC6a#>kfeDuuF z9xN*bt$4lW-N+TGgBpKHq0wlQk%KOKmD53uXZ!AQ@=9K%XR{Z2iZb&vPcq&*J|8&49M56ET7jYH1Kf+ zxo3NU*ZKu_0@T^&Uibz58BYoN|K2%P9iozYRB^3r&`Cofu$L7>SZfTVxs)e&M_|E@ zR6aumI4ojJB27>>C85q#+>e)@0amtL5_&Qtld*Fy{=ev_ELv7?OVd)Pr4bSC=hnkz zpPVHafdy?j&*%#Hx(N|jbu&I-sn#5TsZRU4RC#v~?J$PtA)n8*1hA?a=Y)&@G!-f< z_o@xU-^`BBW55)0K4yP<_urj*pHC)~hrNC-dt1=o-$Cjv`6UXIx3}7Pg*PBlLLHGh2Hk3b?&JvkwnJj3xIIlW|=`|_`ZD*^*q zI8OEOOPP#Xkb3^w3enT@DA1q~!6Gt|&-pc(Nf&;uCTwXF3M7I5qrESWhq8U!mzow* zJ&&zL<*BF$*^{+JHA!|d43&_*FtUqwlCtkhc0yq+V~esI#30L{EMpznVywUO?s+QS z_xs2D*YETGKEJ0w`snU9bKlo}U)Ob>$9Wvb3ANGO31|pyrK#sIP&lD8w*Xse7)b8+ zkZU32v{bKv+`)o?8#S7!WgA=W<9^x5zp7WfFv5$tdpZe#yGGJ5DcR3ug)2z6NwPB- z5W2eVtn{>W=!5LkDmsludOhJk38zwR8%~!v%~5ILku)jS<#O43DJ9_4y|+almff4n zh$YYWx$@QUjLaGyBLGkYsx&DjfE<3GGyGEa==*d@(`DX00Rbewrseb@;lv)sAoUln zPi(tZr3igLHGp*VsBI*T+j|#V6LGX9|Hbb?qbX_aDxE2i*xgNm?BKMtu_-oUS zSJMv!ym4T9;}Tqnt#lg)s}eHMjSol&tQbL9jf0Yae!VrgV!S7Co_Zdo$-e0zZl6W= zD`};zxpT&ruJ7K`I+?5jNZ;L;ob3NP*hx?N1#k z8lx}3^(7DOGuWmNT<#Hs22B9FA_D(bk8?WXZN_ydgv-T*1SkO;SL0>rc{uG=c%&dRZeQggy4a zN;4pMhJ6u$ogcg!rtZkrSIvKJ2A@>@o5kR3-pTer$1Mn z@1%W2#u2fjL+uX)=3X6IataYL^lS%H%e{p`V6@b<$vqRge!i6elJg-$n$-_T0zpHU z2It|e#%u$+Kh_4ady?d!ofO2)+*|XAh|L1O9`mN91;1pO4@gE~p<&bBLOzUgE(lR^iW4<)a{z`IJ+`?NWht$50K18e<0Ul`LZ8;uX_8XmN23 zN-~sJf6Mk@h9ha-Bi9`wO!=!^Lbol1fVC15B4Xl;IJYoeUeb{rihf`&*EgZY8E0wa zdV0D}*xTc1z`^Xz51-7$i`-`Q+N6%T?)<5Bbx}2iKb%2kX5=WJ3{@a%SN8qgC`H76 z!CZ_y2YHi$N9!NV*_iVLvy?YTD&l%KrvTHq@JBm)_JPoM29+H`zL8k{?gyHoRT7S| zPAV@c9-Yys3ZzK#edTNEz+X=|ZXz0RoySwdj(9wNmYx8-tUY|))T6jpozSrLkQhSw z$FeJzhSHyxtzHH%&&hl5BF=H%-jBFe;fi8YV&&PiKT=De5fc$l{V_L z&Gj^Nek39?h>6Tj1{PL-nh87X^ch(ItM|993apXt7f|Msx~LUDr8)G#@q0WPP>xVA{=8oS%h3`c6iG5Xk<|N* z0^*UaS;yQOPqQ9So6Cw0I3`6E^XTQSi_P>9NTw>o6nD{Lccwk((29hgi>Qy-^^zDX z93MG6Xf1H0d0c;|C!Py^AcU;-C;1J}d}BXOfh>1>#uqDHAb{N{h8rPwr%F)?j%OnSPLSgrq8)JP|Dz=Mv~;4RK6w;z52(6ZMqx134x*-8rZ{o=AjHoXPpLAaxu8l=ZRqME%-IV(Glj<2Xl1PEayC< zPl5M!U4zeQpUFDkF0$S`<;=7~x2rpdaK`VS?SnHHnWX*v?+8AP^z6=zsUQ0>?6y|> z%-^1g^LkyNkH0boL`Z5{MD&Lul~I+GGIhloyw^^CKYI7;F8rw^!@79R`_Hn=@|UTi zySEr2jz$HH3w&18JSPoaKaBhmrBM*)qQ)*3M6w>tjWn@l2_jt{%)OPj>_`SOYDTRC2WWhBkz>eQ=Rb-28Sc2}vd#E=1 zpbMGjd}_JG?gt|~I$NMV<5Whhwr`@@-f_6ln%S=ev4}{69RHQTBWiGkrO8qYlzgs}S{k`Z%)Y|2Hz(K* zf8EjIv|s4fQ59(?!&nnQkyak9*XDA%QD|0tY|wo? zi*pkb-K|b72mh*vRryXyJricSY|i{w{W+fHHnyhhc!3E$!!D5nihf?l@+VCeMoZ`q zJwuTCVrqKR-=raN7e<+o1_kJ~LIoU@o zqS~b4TdhI=q-Z*;ydgAHpU=W{k|DI+o5~dxXUN77AtMuIjXi*>=TF8R8^T~RL@V}d zdBq>hHj(NBv-?otMjXX(8EKiSc%+eXM!_JDr2KwjDv3)pcz;WA%O+_CdQsY?#_|?J z!M!Czxl@m}6f$|^)KXKzMC75Yu>A9dr*l_DdJCzX>d_vW%D;88zOFuf_j58smf6`C z1}`MIoipUn%tA?$F-D^{X#L9%Oy%l%=bfd(sL?OfrB0X4dGJcFMv{VA8L{{Bj4 z*`k5Igyj+8*SO7C>$Fc)mnO49v$saxT)zNgzP}pn_45Mrym;~-_v~%#y4b|NSh6yk zVb}FSRwqtBy|^%i%M_|FSy^9>-%*<~_L-Tc6pYtAqqJqx^S$zzoq0}BO%c7C#zj?d zRM0JGH2YXm#co}UnOJ(K`Y1dsppXgG3vkA@Do%yA{X$(KZ(~9Z%|6-5<&y4!RvEiF z4j}Dz8{pDE`C^yOgm0wrSz_uR{Bl{zen`i6hp7Ht=bpzNW(zZ=V*Qb2e(#aYynf%3 z=atsE@%Xfv*yNE1d* z-9XySuMHT}P}uP?k=(XhPI3F|QGwhp>zvUfg6e{Pw1V9^ZAlDt>_%#j7 zcf0%(AW2%?bC8sbGa4C%pc#9l)4So*UPH7&M;Y^U*KKoM<;e2>x&&kEK0kjn_MGTB zBgC>TqHoL9*&R8(JBYhRd~^CnpXM7BiYdyuk*ZpV>QRiS8w^z>`oz}k3K@#!4aZeW zmighG9Mm~^#t)0LBNSXGL(?){(>Ud4RcO~SJirHG$H#nvK9Rny+~QpI`+yz~8ahd#!|}XoX@4S}ZucLhd^gEtc6p^CVVZ1RtShV{j?CwFk3y1CFpG#ms^J6P1hPC}9@10YOC}M86DiN)R0v+y9 zrZM{Oqr9OCQA!r7J;6+EJv7e5B~;LoR1vsm#3cDph9n?H0o?3y^)~+F>JgWwReQRmNb1grmWj+d$`ea zTXb6P$jxwG6eIbGZ~>1`Aj=)*owO2xlu8I&M70D55&fVU2Vwi(*c8nPU39I+%b&TJ z`%OT8MAcOJ?o0}}jl2j*#SMTsGc)V#0v5%3pT?-hyLDQJ&GyO}O{rwo%X|#!TypLY z&Cu5Xu=Z}vvNnOd(kHt$f0+;k!qfcR1mH?Y7%wvleZYCpD;-1la<*P0du#f4$$G$8nNI)x0N<%Lm@MuDz$nP8aPlazQRuSH~?vOY5Y|tL7v7C*uS> z(+93pl6az@NoM=s_boobQ`PK*dOorcFW~FCE6KUjJWKJ^mj{?EmagFg{M%aAz}(wNuuDfVL9;sZ}iF19wgzS(#MC`m6)RK{>#9pz8q7gdNST&gTM zJQ{p(cghJa+3U@YFDw-+fkpLMXf?>o?I()h&b@UL`4f+jx65cV!P%8(VDQ1C`=cJc zvHVFMg>D{q^>9dT_4V*3H(CZGL1_@H+32V|2h@Z%UfydL`6h%AN`i#!ZPAp`maHIY z+4)Qz_Bs-~1hr%v_x-II&EbVWY}{UJQYAF+p(mi<=y;7i`*Q1mlR#PUq<##f!1%OF-T@BPTtT}PJKiBWVuHs zg(^0*MV=7jNTO)**-iG49~-sIOa%PoLdbCj$??i38;mNypx180RyZGCKKxa#|+L+l=kj|TH8+?n0MvnHxSz@OLiHyd0 zl1s9ezG`ofRY-hYB0j%A(I<(j(MR9cz-vq#I^IAf7d&Z=FU)YRiG*hNX##Vj@lJD< zqJwG|Kt_^Qk|SxLAp6AiV*kWy`mrQ|nR{0iG=}EnOPnqkRd$F=wf-r-7-@V4R^+szbPqhn|Ahv3C1BI zP~iL}&t-;GL;pF9r%iG}3?!`iCQhE10R;HaZP z`g+G2xH-D?W6xRE^YQ)l;OI<+?oS=f-&c6d6L1oh-N*lnZB7v!9rn&&uar<`fyC|g zN!6|E*zL-WaI|Tk%};vg-`5>|3>p6aivyg^zs!{f*LzC^DhOg;K1AW4v=-(~rlzK$ zcQnP6{<>dlR5VT6n*Ee+RnYPeBmTcfNG=66A8U1^j7Dwt2 z;RO^@^tC=9G@kiO)UlmDYB0r-)&-Cns zVrM?!x*=eZj@P53T$TjblL!H?~PADiBMf`m33I@z5*i-EdR9LJ>uo{WBt&OL}3u8gUvY zl=>#qQyaml^#T-s`I$k1Eg066a#CH^3DgNFscf}D2)GyYzq5YJi;Fg!|Mq1tP{;Ca z!AOy59T`~6M7SKiiQt5Eq)st@C1`fXirYo7Gepd0RY=o-GFscz98dhr`=)RT3V(qt za#-+_z9A!B2}%G9<-H|sh}{9w&B_ib6gW-$xGf$28rO?%lLEB3FY)ojKoZ)3C9k4c ze`SgtG0W*B!`;16xs$epH2)0N5WcjqA>1R!@9OF5ZiV3L&c-4Rx1~uVi0o#*XFmI< zyamr)ZW=Xow%z#ycR+7${Rzk_UIk`DG~N*y{@6nttIj8f7zQ~k3@09*i|(}mAA9qY z_RZViu@*|N0^f(XgU0_^)t%uiVgPZe-7(fO!Bt#U8p*OW1fuLnt*wt2MVU$t_Vc`4 z7`Jlky#6i0uK`rW1>d`YlgAu5AV%UD_QmWQ7~EoYda!|0!ezlWt75NN|MqTweaIlc z=w46yZEK5cMt{M!v%Q?Ywy|jgFz#{oftWJa+0<2yM;L#R>Ss~lN+T<5H+D@@XJF`4 zED>JD!GmHLtGa_u_b3tfLP5&$$bnRbNH#+dmzKEcou`MQ@2Ijykiw^t&udOK&iK}$ zBt5I1H!dc#JfqerMCl%#1<}Q1PlpArGF)mnXwn0k6T1Xo#GYj>0ivR!cAd+y&&+hmNS)`E89{381pEh? z+&qv}t7~A;%M!icy6Uf2sVS)XcxdWZpQD>UhsYVm8Iq$BW^@kUc@UuZ2A^MNKE&2O^y4WJZssikd$%072otqSW)2`< zw#Znsl-k<{=rf&wxsHF%p-odd&CGP8^aE>@rH5#`IwmD83b2$i?KgB*7VDW zM#EH6ys02#0<8rQPR<~Ze_kvd+ue9g6qh#o`CY67+(j8ZOYm5B^VKg-C^~+GA8XXC zD2}r_oUtN-z|EhI9N?#=T}B}8uOAOGSVN^@=RME;4+gtM=9VmS+ACNMZ%si%g~t>4 zSEP;v7Y57a{@m_yglB#2H15&NM!~eA#Jl%aTv9m{?O#utGYsky21Csbxkq(Q=(RA+ zfsl8f^aI(eDp;xIRtbDgxz1UQ$J}T0hhBTt!KN_c+5Zd7f%3%bZQ1-7G|R1x8*$0J zM-Y=k5#%J>y1LGIE7+p> zY%%wxwVFg(-xN^l0(_R&gqJKla*Vn$H|1+eK3&+?e&4W`FZa2B5?bzikDJ?crR<8} zc1Qm+eWfH;Rp!9w;8F8p)iZp4Rh;3#()Ej_;oac>->wVt6~t^w7~?C4&Jr>`zJd65 zh(3BSGQ(Oleg)`X*(QFne>|gCB3?<3Yn3nIQX$J@Ra0NHoziNOP6r7VRryvKGv1aa zeExArA(P^G#@&bfCQG`iO`Eu(;SHwguW3l@A1?y<9ksjv(H;+PsD%j&u{Fw8i2d4$ z>F5<%qfzO}*4rq_hJ$ai>NC@fw>_}{2b8zR?WZekxCS&7USUF6mTpVX6*Y*D!(t}Z zI9*viyo4agC(h2Lyu&a=w}NrPof5H7r{WrAuP986KR77f)@dijtB{$=S>}0P9^2(8 z;tsbw57--&_|CD0(t5p_w%1@Vp*T7Z2a1cMA>=mP9TaZslb;bwhzaN8A z*W0uwK;8EZ5j1$bqx1e{EFX@DXuLMxvE&H%P-t67C|t1@B8M44&EtnghpBjhlEkXo z_w}oLl=z{DsJK@p~cxzV=8zS#9DeWyb!?`vwe7R6#s2FbkfPHo;DIGVgK#A({WrMX)M%~ zW}T&<(rEzLpT*nMyLT=#@QCVNo%>Qzay(cEP`2^A%gk2p(*>H3L;e(7(kuYo9*MEr z*3&J*{*RUIAv8TB3EtWt7%@|+Q){bkJ?qYJZd8QI9aZ07IOKUlu15sJ~U2DrIdJfbbqI6F{q817>av?d6O-}Ls*NPGof@_dS^;4rX z^`@o`u5)PbO0O;DD{)*5y@T};qn?+YBcz>jpdEuwnL$1`&o<#B=6TwuahKZE6>gtH zGvjY_9Q?&xhDGis_1NF{q-pGXK z$){5=1oyhu&CiJvJtareVh4>v)UW6Cy^!qqz;Jb0Q(QV#$EX+9QiirfwYloj;{69rA1wkM47|HXtoJzVtKl#Q(VvMI2{sw(`AOTE{v&T2Hj;w{YpQ~x9r_H zW|L}iap(&$!QJ-b!)fGWWI=p1jSo{p5m*_YGEohVW2=G@sz)|7Lt%&%VB1nR`p65Q|3Z^E_Ss#r(Z4J%P4m{sqA2w2@TEu=uU6UK4V(Fb@|v!AesWNhbT^j)}qa%uM#_d z0U31e6(|q3NY5(Z^dCwuGf^`#$qXu{ z;A%ycngt6C8ELaWuTBkW==tLfQL_z+!@_kN5|>NittfqXa%I?VF)8*1L&MHia_T*) z;y&Qjq%zW%!bxqU<;BXW*AFKLSWC0-)Aj6OIG4a^_>HeX!o*v& zb*oa_=k&n@XtU7%;)ac%CoWbEtEiJWj*peD5#Q6o@MZi=2N1w zgiTX$e8-PB0NcPq(T`xj9nstGmo9hi6nJz7&RdNenAG$!Q|bNFrZFb@$~7sxT~k~iSqjdd3l z5Ge=Saw-f>q&@@L!FZ?1q@y|NK<<)^=y}NZ<=%&LXr_F8&XqKgZI&4uC$xgcJwm zO&Cpp7ZVHxs#<>i=k~3QkAyY`)E)kt*8Y#}1P*>h&u%)S)$JZdFH2$#A5@O6y>VJ&3!M9M|;I-=DdaQ+Yo` z{Vgg!QmC~ba7zyCDgLJy>#m7AQ}fgc;aBmG*i0-TO$sp%sTnww8h!ci>-N`QU`9>XBEq zzIUs?(tW`@16h=swX^!Z+!>&DvwoBZ*7ooCUM|`h)|UTt?xs7ayRY{A4rkz}V^MSl zy*0)S0c#Qj2yQ(P{pnM$y7k{iLyksCYyB4vKe*@or*ntSYRfpKufGkJBals>(Y>|) z6KamaQQBC((Au?-Q~4#}ssHJMH~hzQvBwy{F6a-U7}| zN>hZ=C=sv>s~n&UWI^I67GryLeI3Ua#UpcHp?G|1JOZehL`H73W6X~3^98S5x3H7y77HYU=D8& zYMZ(>feyJUV9fzlx_Gf0i-rj55A~iAC_nol=cUBU;sh(?IvUff(U}4T$qJ0)*R*ceJxf;~I3K?riam z(lY}3HnWkDkuiQ8QJua1aTB76D26U>VTP0C>(;;W$#Q+KE};dYUX%d@Tv_FvQqB`40{QkdXe>IeUpaG4H53d}@`1eboLj0ofJMs0 zs1}^aPt{qsY8yW)jS1wn2e_*4wHN>113p%|Kqk5&-pG9QRB1Rk+P*sBO|As<4TGzI znPvfGeW4y4`_{~(>~Oi%XjY0F@f6=ZVqv<7>ymv~MnVF2#!`G;oc0lXdKmW+l@X{( z=Yu6{9Z%|;rZ=^wO!+|i8N@!WAX~tyB39BG*$K4qG8=@&o&`Pvz%^yUx0+-IfKf*$ z8D35A@YG3%l11{wlG>lSE!N`T#p;Rax$0MO49Ta8r*^Knq?QveyP`5YBJ=*NFiu9* zMZG2vv9IHMnPZQ_;v`Q4>yI*pU=|ZImIDrs$LX50@8;ZGB=J7 zW#;-m;XO~AG=i+&_?FPCb|$)Z5$YN(1qdO+oSIKLfPjA?;AU{Vu+plSRzCn7A$}kB^Hf?ZruDuGpex%n+fFI__GS znkbk?sPaZCxGgkCjm_u8IU_udS|jy9`cpv-vI*}m`}yP@t%NgCK8Li3cQ>H(B_5fRutGE541tBUzj7WSLS1WWh!t?JHnT4-FfpcOOsm6JX) z3rP~oGtGx8twIxANd)UYA8vwlhgN^M$ z%Y+)l{S<-Nzq~^PHaRCv-BeY@Rq=9!I0_a}GP2Gu`aH54M58vrIiQEUbK~l0) zmd_(?&+ggS@yAW73VenlVv1+FkZMA83fpN}lbb9!vo5G25eLyiVMAlvxNre8?8goY-h8NSfp4jUf=h3v z$b6{Tjj7E_Upd#TG+RX!qQ7oDRZ?(0D>D1pQQqhfSvObvoK{5}KZl2sHs;5!t9~1x zKjkf~R@(-GBa5Q~cN3G#ucqDoVX#ovHXocFm+l4io=7b7)ievh_R_-$>7z2qd$@By z-}HLB7{_4MmL9>xh80)Z-!PY77H05^%e&DV00YU_5a4a$x^gVgZw8wT6#9ia*%e>#Bp zsY9-Aymod0R?tucQI&dwK2PGI+%r_yy67DSvhz^>;`y&}=Vrern+Ii6JHep3x4T2o z4$T*`yg0XW8gUUAgp$q^#V!{NaJ8T?M=iK^qNX7oqHfcPyOHoGOb)J3sw^) zglJeC;Gg95s?>@=6QNfCeDic=1d7S-vfU!$6z6dWR`aF>D@1j5gpM=`y1M!HG7E40 z<`Y4eO&toLyTF(oVku(htu9`R5F7`aWk+fx3@V;~E9zACiZS|Zi_kuE`v$t4*3UY_ zO&FB>IT7pIA){iB0h4`|ol*#4GS)%o&;v}f?)`p!rM`yj;2gr?l!E?n37fG^T&@Q! zdJy&0x872_T%$Yc+LlWpcHcqv9vDk~3Dy{%+0pHOE2~N+uFG{Bws2gxBjdE(a>>OI z1e#wTKB&AaDN6VFaK0F9Xu@Es)+v;9zutmc%A)QI?@64a**GL;72I_ai}K1W`y2 z+&92JzxQMY;o^6w@^<6GN-?D6act{pRK(a@6rFmL6H?UvG( literal 0 HcmV?d00001 diff --git a/file_ops.go b/file_ops.go index 8f8b2c1..740f8d7 100644 --- a/file_ops.go +++ b/file_ops.go @@ -23,13 +23,14 @@ func readFile(file string) ([]byte, error) { } func writeFile(file string, body []byte) error { - var fd *os.File var err error if ok := fileExist(file); !ok { if err = mkdirp(file); err != nil { return err } } + + var fd *os.File if fd, err = os.OpenFile(file, os.O_TRUNC|os.O_WRONLY|os.O_CREATE, filePerm); err != nil { return err }