L=ySZQe4uW+1somw&@A!ZvB?FQGb
zI^i_EK=@q)FF>_(WJg=+h7E!*Xz)hSMn4P`c;ZAN`qGXBxqrPv(!~mkdvfMh{GQ{t
z4L|Xg?;qZw@BQCYn}1y4iS7Q%sXqF*!rNA^p~dTt#!tCrd@(&A8RQUlQ&0QRd++UU
z8~)w5eBW^U(VP9!V^2CUF(Q8+$py9ZDskm^((a6uYO=gGb8Ksp
zq>YKG@rVJN@iV_63se3mr4tBNM@u3}g$E<-#5s)M(syKv%{Y%%IzWILg}P`n@?>LS
zab#B;g`!7kqvoO>z7yS)N22ZoSeQTisb3jB@af<1KMwW33eO2Q34P|b$r>Ts#%N0F
zK_8pUZAZ@x-*?Z~4}bcONBw<*_}sNr{AF|Ib64G+gp1}!*{>Sio-SMd_6Cu{|P
z)>s-3qB%@#whKLL7Q5BGd?&hrrvwY~#KzI#hwuNE;Vbp}oPQnmyZ)N)OZujt*|z}q
zwtF-1vp@VrA2#_5#BaFet@@vV?;h?u@%rJiW+tCVykaRIRbNq|1GJnbuZt@JoG?bk
znJ+i7#aNa~Vtf~bi1`H%NKL@RL>M$g(GbbyBotJ+guYdDa-I0l$1XE4Y=k`9(FiL!
z7wtj(C4CG)|6OWXMV*R;n7!tfwE52L(vEyqCdCL;jnk+EKZXM}m(EPF;+AdnWcz9Y
zrC6mJ!SZGmwmU(Q;Wm*~l~C<+WyjSh-2T?QEr-Xiy7`U6gQxHG2JjC*^PB#M9p1<)
zoG#o&5wR$a=%0ta^`-~(Hs9O)z>j|^e#NW)B4gLXt2lezp0`u{JwNeWbG)!sH?fFD
z=S3-&WDk;a#xU);ZcVg9FwVecF=VAjACym;rR6&1mT2+E+5o)VvYZWo3x@NP*HdSM
zJu%wJjhr$dV2xLmiSnv6F9m4l;E^)Jnx4{G`e`WSVa%S(F3Ku}j|S%%pxVBgR19+r
zhDvpT46}<$Z?5St0tOGur7}ms=a&7jzU}wxU-xGJjsAz8`$XWSSQoiouWVtL&+^}P
z?55!_KkyyCli=&Z`SjtQF8-_NV;|p?rW0^{8buyJc-fmKhR`8-O)Z*j>LjlJWT__u
zd{4dvgq5%_R-d!>{Rd*!U9NzEH85<{9R_0%{;C&c4ZC1yuw1F|k2
zb;Bj$(M>_g=C$>^Q#prKu7X?`W5O27$`qR%8v(9sqeQkyiN)Xrp}M}`pMMYnp1X?J
zsu!v*GPffS_bv{k8d(!)m4*2#K-N75J$FLP))_Oq@d>A#`vVl9P(xow&9h315U^V@
zOefF3n!TE9!rKn^IKbh}4$A=TilA9+MEDW57Dtop53!s(04E_6;eL<|rKqvgrjZQ4
z?nkC0N)m0Chf9Vksey8$MK-mRGZ?mQ*i6T~)M$z^A;w)8{XEjuI3uKFy{0_2J65S(
zO}!{W^e|VlqIYvqSd<#Bn3>$NW6O!-eg2<$?3Z=b-yHtJJ>TGO3+8hNeW}){AJTcd
z*V&bB0SeXAO{th!SJU#0##Pdmi>7WzDkTI}7F<0*2IvKwef9TIriyLYml)`nt`nf(
zc0s|{2RV*Y^$U9{?M0J`o5Y(tRRu#xR|S<(g&ohQ+xid#%yTBiOPBZ;wm4DYLzco#?{$
z^@t5Bt}g1g@;1t%kC8oRT3aiBMzuA(U+*YzNATzGd5{0jzuyGr`iuPrm$ZU!>FvRL
zLRU0X4{+8k
zN1H_uxas($bYH5aYyeKLdRBeSbsM{{m~^*zt(V|?CbO4u0Z@i&0fR$ez7aMkLy8GOz`NdVzXfCwf(&^A1ZH+9WkcuL0$
zWs8~NW3g=ixbCRTM?XhD9e-p7PG>&j&w~FyAN%J@&&u%q+zH4AcL)D}dv6xBYj)lB
zy=UrCYN^$lrPgeaEg3<;#@M*9MG+jZY$YKO;DQTCu$|l_MFo73jG0NVwI
zGE@jSfG{59Nw#d`L6S8~-ReQ=Zgs2Y>2&uwedd$@@4wc6Kl^>p`2@
z^X#?P`mbTHJv`4lzu2-<9xlyt(6M&mcpzD(kXt>@2smP6o+Z#5w%UmKRwFnSxF^u_D|Yrc7(nAHu~yVJgG09;M{1j$Cnovco*^Hn+O-l8MYI!NEi0hZ?*Tn5{Drky^A(Z>S99J`y<3W{F$3
z<6n)mscDeRE<6ONO+a@7`unf+W}xtb+0EJ^$lwye#jFP%%-j~Of9$wBW8nKj)NT4?
zUj-jshhO@pVg!~;(m5_`J&`WBXy6B>DW_$(4N>_S|FTRpQ2X>8;6A<&fR2u&*T7Vl
z;ajLv(kaH60iuzQcGK2DPsNZPsNxjcgCfNYJ~kML-Vx#r17#i#bk*fzc2vG57Z;G&
zK_fMQvJJKWg;?lr>Ji)=N&-wh%S8LCue|-6yMEoz5B!&J`;#(LdD?)!sAk+JbP$v;?fY8HqpL%Do7xB8^6k4B
zoNdJ=jhUX?3Ec|Mal(ejPy}>zy%8{fGy#|c^W%PF#!1Lb65u+RO8&Wko_{s9>h96<
z5tEH9t-Q4l1^th?3WDIeAl}ciFWU?WqmS;V5=Ty}&vj0#hKLL_pcI^s8Z<}-g+o--
zVRvGuQ66T|^%FQAG`DOcMlfT0sm-9#hpOjW=8&GR&i>#MnQHfIYMVh6&2wT6s>F06
zcuwGqKG*S~yMJr-75$7jPYPbvrMuAKcU6}n7B(}1fp=}Gn#@mks?KgS2^+E&y+J*N
z^nsp!ySwN1yoyoK!Gd2~^tM#Ou^z^{Xh-E@PtW^u2QU_8ccoKb*-T=3M-6sd?b$uR
zurIiXXe^QoOK}%jvf2YXMlS|6ECSavyx5jS+ZQq3!MN@P+rSnd>+;L3MVvX-BcFRP
z)9XE$o*nT$#94htfOiIZj7Y>jmYt&9F$@HZ<46GGtwtNlqV(*T2X#0aM5S&_&|#u(
zP&)wcoz9XNs5U?E797?zp;-qmns44S;(yXBz}}trX9IBj>Q!ZDSgbxqLS->q?4zEx7W
z>Exc*TY^dS_q_RAR_}WG8~qmH?OOZK&A2RMsTkCN&m1$Kel(9~=FNo{<$OXAol@7C
zQZ1m+Or@G%v?;b;u(nkjO7nq~^1%8ch#h1q_K+K@i;Y#mckR4C8-RL8vX?jBRF5l3
zIwxt)!g}9)^_jB7U^cvf8Aver@y@zwLpsRYPF{Kp3VXFbG@z>rY|Wch5MRiRwac+4
z$K!gV0M&yeJ>k-!(eGxat!7^T|Gu|;+v+dBu||2niIKv2J`+>|
zi{2j9`?3KLyRY1O(y01X3Gl)qi!hzU?qwFD__-@;NmW+oRMx5ztJ%BEkk@4s3VR
zs%A4q<}!wQm_?TuPwPW9FXb}zZ0d%3?*w#$Cdoq9GNSzfeFO1deaGdu_?K80iXO2+
z@u~$hN1d9`WXRa3?qn2R3gKIqMkW?A)3Ol|W?RD|w>eq6M8keCcL+r~2!0uRo>h9>5Xcp;UiLU=j*pB`6UR#*hs)wdENMzJ^1rRDz1-!K_in>+o
zTvX!&;72b{o;$s!XW2{W^4@A~ANJCIDwJS`%=$w@u`-kVwc-+kF#`PZYJTl%>&
zJxR%jni$qxv5lCzI+2x}zB+qh5212k8?j$A2#lv0GN(x!f^{0-RkWyUh$q(0l>r8t5ocqb3>orqyuRuLi)S#Oal#TrlUeFem&+tu=>Ew
z-@5uM@BD6m4H!IZEZ$-ubs6bv+-z}wY4z{a*)ywSXHGg^kE{EvQwLvHTcskoaD+sz
z9-1e5UAXk2^B`zxbzPOt^0Bswc&BJ}rz$=w9P~P@iD>*DSNpmFkcT`Y+c{ew0TQPU
z*GqEM^MOl-!f?&W8X1czT?HJlNiwoM*&MsManiD^K2!hX$!BUJ%{IOcbcLIs32~t-
zoD17C#|ya9QgG2UXAA<`T$TR(n``kO;Y&fZ5pI^!i+1Ww)c&{Gq)whay?RC)H*Z@W
z>sZ7EIV0>j3D6um<#_^M?bot|9fO3Ms3`@*=Y+8LVILpuN*5kmlm3V=<_orG=Y87%
zcr2eUTfMMv#qkp$xi!kbr0a%k(-g1S%SJolurqAc)hmNz6r-#ENuxYAgKxum=-DUq
zKma3O-*Q2WTfCI`}~uIO}<#LU0PmkorSfIg_B|%
z>S^D~Ggd5N{A@pJQDqbAdpLBzcKk6vo;;{w89Vf_wi`ruXwB5<-5U3j8{|fZZ*52a
zWTnino0FV3`Fz7GZeIOGee&;`gI7&o1r~+Pdfmh<#a*>Gue@**%)0(=w0OtjgU>#`
zdRBJ1A<_iLl6o^Y$9zK$oQDhD0_a_xg$ka?0#LR_~j80sj9b{V6^$fAqR
zG86^xwtYy;c`uZ&0x>#l^Gh+>0FFJXE6TIwv)x^Kh0!WZx%wkU{!)h@UNl}@?Ow~t
z==Ma%a_@Kk2=Lv<9$NkEeIH+)K7Yoy(7{}4z4Umqf1B+fQ(vm5bv&E&U3#nXX*K{v
zocdTBXRfoJHxep21118R#o<@4)bi9Y7bsGM%i(#wG;98O5(=e4wbfX&}b
z3)8!Fk8ImyLY-QD>8bmyRo*twWxuS|FfyQZz%6=HtJ=}sF5L~T@3=ab&g~{GCyoNX
zXtry93Ft%G1pbY_5r`)M*%)4U*`{lcYbL{4@`iYfyyyi{iWl1D_Wyz7kFU6kIkfqE
z2<~6m@C;zi@s|(s;DLVjT+PqM*_YLX^@NlmuvK+fidwpfHge}1tQpF!h??tou4{iw
z9gAt=jBWJxukshf^&=a{^RkkC&L?{(0y8U`IDr+57VrN_?%g*cF|B^}+)FM7
zpXh{P!E;Ue_xJpk?*?A{CU7a;CSO$;fl!s-tIYK2L^&DXef7HrL_U#t>G7JxiszToAGui~%X=
zh%3##s`qaLP%^S8Nz^Fb>XN#u=UtRMJC9N*={go+B~e2S&?r@&8_1gDt+;Np?A!8M
z1-T1}uFV)!C%zDa$CO`v=HZQxz{VfLU4MykQvW)W8*#Bo()TgZB{z@0G{0pmAKnb~
zp}T)`^>6R`kNPMu@2qQFq4)J%J=y4w)i(p}
zxzJtdd15@Q&JDKh*>?+~Vi5me$}+7wLa5!G3+i%T&Vi#?X5E6b=VhNZ0H_L!tP4pRFMi2lHhL*U^GSsj3Cvk=yUH|JSV+LshH8L-D^
zy?GMw6OY|4UKy8##m%h#QlZJqwqqlH-wEh(Gru|bGxz?^hV<*#97C)SJX|{S6KG#}
z@}AX~pMJm}R;mH2PR?B&bHW2%bD`!2{b|dRp)-=yY~zIC@1X7m#$Ve?G-z5yCr=qO
z%1AD7sS#0XeH6_a*pIR=8$f*@5b3N0RLxm`ouIiMeIKJHoDvL%3At<;u_x0Wtr{{C
zHx~Q!_zphBHytSSZXbV+0lDL12x=>$eMrJjJaXIWu@g^i+y&U=<$GGoFFC9{y050w
z-l?t)ke3I4<$=$vj-J-7b-k{2S@oHbI;rPsK63x3{3ak`^uZX4R_{EA95mC0;)#$+
z#<HT57
zTJy=r?)2{=9?k|eFH*);N6kC+pYiS^y)e9SB!Vnam`!!zN!}1L2PJe}j;bk)7XC87
z(a|!C@q(5rW~@X#*#>U}-uJfb%Ld@CIoZ`=cRKy*gwX6XT8!W`kZJQW
zAaCxekMkCH&7NZshd|h+DKb5*Hw!k9*yodhAHDyxt0#De*;*$+?r)hwv}4*iU<|oB
zWxh`9o4|sPUTQJ{O+n|(*|V#+zwCATOu+kB*Xl<@onK@|ET_%(BH3Gt4gX1v$fU`0%nXoC#1k%%_DTB&^lN^w!XmIE*42x7hAzLY@Mo}
zu*S8#F@OrYiEE>~T%9Kj#Jb&t
z#+uoWvQKX43SFZtsaU6xP19;jOjJlJdP{L$yE&l7)W8Lwr*g`6TfiJ<8AOI#dbOj=
zNBbFi29`E9x&8gcuYJ;QHQlQ(#cY@E-8MSBi`6KXTxX|sxvJZ6^XlrR#+*Q{!}
zdi`rxKlttstlo9Q8~tOW*rZ&{cVvZJuxamReMFn`EqdaQpF#IR^%$u;3ACMwU1M8>
z;^&X0-tmb)RHj^5uG2CttHEtSPEk4s(
zggxDA%o%qLbLLs^7@i~G39?Rot`@V5KU&x}7dW<4m{ZfAfQGrYF2D{(R4l@6ivtC3
zFU!7c0Q0h6I-ZP?oH{B`Nu9bKh)5>}7?gk>*v-sfz@_Ej^yf*z&Ma9C)M7X)W74#a
zvA9wY#k1F0jS9iHm5x_y7+bvLd4?3@3nVfwfMj3d&iZ3*u~ePP@dDS)(bkv1oiVNM9P1kg+3sAevlo7g0Z&fP6Mf(gavaZ7z%?VCICl%+_cqbG|O4AHfSkV+?d?HXX
z+$}5jtKOP&$^x`9&je0oQ;6I;c;z=EyxgA=5zW3&D
z(@SG#RzLIA-}apVcQZScy7F_||GleszWhzP?bo;JP-1VB-qwcqBFawDB?RPb!XLi(
z6RTgj|I@2OhuDN!vW=hu)J;gb?4}!{#aQMgFI1;26woSA@Z~{dW{|%tu|aFtwcCOA
z>xUJE@+Q!h`^F=!_Cxc+?_X%pu2z+UT{XFbF-BlINMaH>WuNTw-#hSvs?=e-sO;o$
z#tzRI`N$w*Og7r@f!x;P8NUCdFF0d{WuO#fi*9qQQ}`pg{k;9j`&R$%F5WAD)(;U{
zu?^XXSzAvDajWnm%mg??%yabOuGh>v9=802w}0pA18@Cy#o3b`9Uq-N(R};S&ARRX
zfp65}zk$Wi2cOpMjdt`$9Kj97t`J@zGCeO8`tz|zzO?$cU-@-^W}&Xu^&CgWZS>7?
z5{e{r*;I{Taf`P+##cT7f}H!vczKT4gXfENusg6=M05Sm@yS-q)*Riy#+U1o?Zf{ZEPz*+FP*YHb?@U875N5ev+nBX7a_>-+t2{3@W3)CH
zoUxb|d%A*XG5zw_KD~O=^{@7K<)7C^a6u`v>+Hq!IzKJqx3g`^0(JiacfA7?8DD0?
z6_eleW77Tyy}utG6SESw(no)J%>UZe-_+vI6Mh!k_(e_^#Ihw2`jXNv(_E{g3cTsC
zTC+@_S^QvVQ&KMtBbEI!VmYS_nAp+DHsPTX(}Qe73{ib*?%#anH&$=F_NLVz
zzUiIyMU*XHt6~tQ>6x*Htj3a{YLEVIU@;TfP9`PKCh(uXwSL(1r`QD4Up9o?_Ww=Y
z_Va@uzVc&po4xSodLtw^XWh-d%(9`2!7ku47U8Mp%72fZfc^1XKfHS6_>-%{-1^5B
zDrrpq5OZK|uthB1B#oefG{dUoA}ISsi4GA<*axH&we7c&@}+YTk`Lt|w{&;LV0drJ
zK5YOMyt~w=ow_$KV6@g2{gi`&>m-l;QX@SN?>s3seWu;xvKFLywiTyB51@#qc_#WP
zy$R)C-0{n+8?Sl!>Mhs5rWVjLgJR&t)d_Z+m5a&1x10sf*L{8PZQt&V@~7|lZGCIb
zsny$G{`%E_^X@;lT=^%R3*5!mW_K#k>XGi%S3hJtVaP|Ff`4g+R
zzU(!tho3#_JC`?J_v(JkzlYAB%k)GS^v|XQ$icjtZ^-t=T-R$
z(<@?%VFb4a#J+3*es8`yoJ2A(=|6p1lGKP64ixxV0UZ?m@=x*r06tksL_t)Yynw4N
zKEjKXHa2fI#K3g$7e4g&;V+N);J2U2EF2<6bVQG_Z_~?BYyv;{O&?gj=9*XTya`-r
zYO=a}{l?(^@f$u##rrMIL~b<&L<@AxO`l%_5YJEeR%cx
z$L^Y5?sMjaY$f%FF>>6q9j&ywU`Qgq$GLA8Gp2QifUTWXR~${-g>ixhco<}m00Dv%
zWN-@sLa-pg-EENI?(XjHI_Ti;?(XjH{__2YuMcYVK_B$0uGLj_?_JlX)kOt~dM)Wy
zR^GAN(qmHpkV{F~EsL_Aw--u@P4Y&d-1KNg=Q>L}^^BA`q(r$V7yRnwW?P2G@^U!m
zvXRcnC@ZZ&Mo6V={-IEfL)Ds3#{;&P?RTd7J;Qr)xLJB81NrMRW-dkuoy%-!F8uq?
zwO${8p$peT_JDp-
z^(E8!X3QlOvgaSeH2t?<+e~ZCSbm=G_!2gfbWw-z@z@5EK-J3$Fo%y&A}LB8OHT2L
zAD}L?n59Q#`_b{BBuz}B+8g!`rO_KlYrAimam^f#Z=Od9+O8TPNF&ApK=Jv54}F!b
z%{S(7t(?Q;`xA~_hTAV>TuhgJzfT+a8am}yq&&mLEmd}#j1XzIl-8oS?L{*~JZ=&)
zwN@ckxO>5+=^^eL`_9C?iwzo&eV?Zd#Bqr>p{|uv1W9Oi2Q^#grf0Jr^G3D!stil
z4HMc%rygv1br1S_WOX9Yt4Yx?4;eF%K*FaT+K3A`-u;6$hcN?r;n1cjJw><1Jx}dK
ziKk}cbS7dK*7LLgVHowBv8x^R
z89(#eqP=~DOoS-DnyQVSOT8USeDUuWE>6pzp<6Dj*8!xI&ggxUu{vKhpX^18=v^%*
zhpc412AOzmPRC9KyD8AWMxwmtV>|r)j*X9ne8%(CaYW{^S*Y|Or4O(DS81QG!3QsH
zx9fSbBe#C%d9=xEw<~zEZ1V3YmudT{O=dUq`IC=(JHr376ZsQsxmHRx--#TU}=RGDHZv%RLDtJMAMXB~AM(
z+p11FJ$>=($BnkV;EI{enAeX(9UV6W)u#pe%=|-dB&;&_zs1j;a_VdLxg9Rda?dRp
z2ipRyxI^O#wT!h1?N=SA?;=kDOJuKGvJinBPV_3>%1sU0Wj3KU(g`e=mjgz@=BFD<
zzP)`^CJSbPt7D90HD7s8ou9BXfD{2xXJmM@f#Q&H<
z6n5J(Tfehv)G1k}3pe2q^;e9CJh;zuFBUuR4j0(CIxi(E!`>{_v`NQ!mn8O;JR5vb
zq+%e!-~=E2W|2^!%;m+g>{!7mK$0gavbyhuIjZEA@sWQliAW*BoP?=EG;tV&`C^Xm
zpA}9XXU|)Dj^pw)Q&Z|`v&?MD=A?J~>Voms)UB+2u?TCY?UW4Xv?-?LxA$uT4cfW2
zpRc&K)2&|C=v&g6AkoBWkNuDF)B;IFYl=Z?n~yXp$jJY&N*tg$+m>6DO&>KrLS>DZ
z_jg+zkbT(=*lfl*{;z<2hLp>N2*Olx<1n*!CUx#kk|W
zZYOye1P(FynZ4t-R19yf8GF(K$q6LJfZv?0!Zgf`>Odew4`ZG^aEy)b1I?u50{w~a
z*-P6pwx**-O@F|Q)>;|8cbDPR@y9~kmORNmJfWV&5%H-@t|9^N2kprqck&wUcJ~4I
zYhPS!^h}}wKlzq4{2u))OVo+QLHAvb?}RP^0a{tBk+{X4SU?v!ZEw~*V?WcQ70Q?2
zSahRLBtE8LdVhHGO))YnyH*crNZY`-MQbxx%C#sh`+u#}FSm1tpE304mx}Rum%sH>
zbZX#Zj%k3FYbFvTSQ_QY9aD0Oo7IZvQD(|WC8e)aKiKddsmq?sAJ
zABbL}BJyJW*#}(q>Lm<~{3k+G;=T)m&%o>YuIq@-XV!&99BaHi{_yb#2E9PArV~kkQ;U?-
zy#iLn+a&&b_fg{cv!eUAz-Ht{ZNZt^ar-ms5RhRF)7e?Nz93+_VC}J}EPjk9MEn~0
z)^Gis&u;jrzwLpo6uIT$nC*3}^*O?0*)hVE*v$ItpEU#)Bipbku?QyNhn_qWlJ74T
zo@kwqLu+@st^z)xm{100`d(v!xwKk{4uDZ%@|(M^bOYJG!jCQsW_V!fw?+L~;gEQdpxZf(vfyp}x(3O-BmIRxX?%KEX&*DLkjp~Ssnb}{2Y47G
z;FnTg()PrcPsg_8K`T-zEHv7?K_=`*K|jA2mQ?s#GNF@j2%@u!#a(nsgGc~y_<9yY
z1a&rrQ`E|Z<7wP-#F^?mHV(ln!yn*gZcJhx$Agi$(C8#BDR3ax82r
zrr^BZn7KgG0Sw}?GN8rs`K<)k-~Xfrj1+-}c6=ixA;cW>#ejMbRox#m2($QV2S@$S
zSAsdsFdps?%&ph5hsKTTEtgSQEpJ*p*PF%qDa$WQ6Of{F<9PTC_^haW12=SM*`T2>
zrsoEwbZ+J)n}Y!@_B@Z^Mrz?vRCd=-uDgaIVcd8?6a1Daq@khOoT|l>K89scQB|?9
z%daBq*tJPX^d1hlFC;vUUV$)T-Ycaab8$zIs$hvtU+}q<(mrqLCP!1lP4jNc1@6Bt
zuL}ycf3OR(g<$8E1{GgcqFmB22P*wKeP(V>8EH^9X+1~!ia>(YQ_;VWU|laA-he^o
zw+4*1*I-D+oA(;?#jDl(-RuWHh!f(($hY1`Kf2E5@BemDBU|w{o8I2^q}kdWnfUXu
z6A%9{Kda1ogUfHNYte5efAv>rGz&>ZMoWjpT)7%L$2wq6E<5y2B81hV9waqL)d=W@
zS0ykk!rcdPe9!S*BI46;n~AJ&lYK8wJJJ)~oiTN^L0&a9vSfleD`DO@EOh1RQd3F>
zSo$=&IQ1<^eZldSJN&|Z3jsPdw|L3}i%M9r=sjH1F}VPI%f@wfVYgS#;p$vr7edO%RN(z&h4}g^1^S+DRlSvBSt-=!T2`T(ZkMu
zUg5<~nSV{Tsow{3!_Y0n`$$n&E1}b8d6AHY#J1m%H?>lUCuLWZIOU6&>wQNe^vrar
zN2_n4(yxm34mj0Sy*hzaC2N8A;+WRL@4jpfy|uK2N%furouAYgN6c?Cl*8HZ(46(f
ziPRBh`Rk*ieJ#c_K2*!0VqX2hPz+5y^oz_-&WprO_@tdLTluul@pZP*y&k%q0^ng&
z?OTyu3yP7$b6Thd*S>y%^-bv7B!?Y+cY4QH(sqB^oJC&0Bq_Z=L=$@u%}Kmkg{glj
zyv@#y^f;|4eYd{1a?a%~!(h%2=o&1yp%shVWu-G1(eL0hSptPI=PQvkg^9=g8$ojcD#d
zX%eHIY@jQV=~Bc3%{-kH*7EjhNLd_l-WOsSz19%((>kcN1R`pA96}e1c?dPU%Ac|6
zoVsVN69QdpMdwaOlZxNmX8{OSjXwU1e>j%4YKLkU?cr3@QA9`aBi8OmC`&!BdNbAC
z`+;jUPc>GL3A3dT=U&@&j9-NAQhIg&Si-NkL%0d21?iS?|bi8g|@=jjuvOdTmzCbD)DPM4a>tM6D0(kqU|+q
zdvo`dGv~yeRA2573TGG54-#j~e+eksl~f(|7WM6Pc@1gUl;=up(FCf8gpUAIYr|D&
zUFYDfj8*;<^dLR4t2#neG@8RM$%MzrY4`o;GT@ukW1+VdZKJGNE~M`2
z#K!$g4#hWQvlG$9a*QukV5H-Z*omhx2G79&ofHHGtsnVC;sHN4-AvOD~u`YH}J4THz
z&YEV{D9S>eRZ;3tee+0+QM?5Z7}2bir7d(fCcbe?De*YW9$&epXY<3Uzc3OW14vVP
zfa*4WUeGP)bB)=DkvE!6j(94wezA!yjgTd6BvRT-s#WO{E9Or#)39L2
zsV4RApVBnr2UEJ*Eb>QphkM@H83C9EeD^E4StIKkT>;2JF_xwYG%VHSyD%fD8
zaINR02f1Dvpf&Gib{^NJu@j5+VF|g`er;Hv8n(VRAak#9t0C7LOB-uP@338ibuex2
zt&c(Ac%#DMKQ>^Ys%_Cw%(c1THp8VAN;jl`=!?VVP^75VB%m(&`|Jt|J5rSl$oR{?
zxH+FT4w!b~O4`~7s>zs+_TWANsmQ^V%&m?1zz$-6c>c$OY1vW*8Z2TSCvZ3@xX2Gi
zt4Qf@LE2A!y7ZdKDwuip#E<*Yili}H^j<+7lo(H6zTdDEBC22b$v#Tzp=)B7d7W`u
z(oA-y%oi%93r>2ue%H&M&Qvcqj$me|WXRB8D~>Ss%{Br5n9&Stu?>MfO>VHthA{DqFjsFD$TMx^cY
z4RF(hk%Yt9iUcIN_frYDlfw?vfVtsh7byw`i}?LYfBfLuYdlTx--eopM#9X)FENzN
zv@pw?&pO%389y1dtzo=6CWSdZLT~Iq%XORn@JGZ6D3e=30pksRnhiL|8Z6fQPNOkD
zq#L@h%EN4E;Vg$E2nCY~LyO=Jpp1up&Az3Sed{HO(@wOf?k-vz&FeR9v&&jVQuA`#dZKt;>|7Fw?a7ZC~gk1vTfy2-vqhVl5Bym0cTQzYbi>u3b*B?SJ%#
z%f^x~MD-RjYNtl0$5E1AYbU;OZxUy4_8!y2Q9furut0D~Xmk`~`HCdopXQz8Q#B
z7fuNJ@rhg*gUJQ)hPQ9XZ;VZsezhG6YfiyS>l?`9&Rw(&)>6}-T+KQEVnDfp=Uabx
z+}e0m;o0%298J=>J<8Jt)9TNr+)CrDZxis5Nyj7HWK;=QOiiDQHd;Euc=saH*BP3$nl
z{RQT9l9%dLSPh{%)-vl%#c+^GYIt#(ef(Gy2sl6cIuo+|;SpZ6z`sY#aCH4h&v^V&
zcHN)hw6%C`JT6ei>DzLgMlJhWIx70AQj<9tv-yd{?&y~}AnK3&Xhm7f;P?D8flivq
zDEy3q
z*jKG@?T;P!N}03un5`dsF-`Yj^YvDjdHS`3{ZEzM%i)QKP@^qpjsx5_g2-6okC|tx
z{O$Y*H$2nz15?{C!$(!DRV`0Emd@bdxS9tv1#Uoj6yNjVgnB7K_jRVqn`mefPiE1y
zR(f$ND`igTP?^-gX%}kyE~R}=RvBJL&Y4aDclmlZl(6?pfU(1DNh5B&ECw>Hr6Wi=_FVClKHvqyuk5+
z+h<x%q9j?FmhWg+vTW0RLQ}5W=Wger1vcb7>v$J*%
z3v=NnNg+aC`QnG5UI
zYyD9|*OZCs`ag_3=kiok>Nivq%gznn&sYx9XImJJpJt9X$uv+s_^2d54Wn{Ihy4Qz
zH!{IkSM=QWQnom5jOE@#EE|q^tdLf)FD^DX=G*jcSzBE?w(TqzuYDL|<0S@pF&{ZL
z3U8QZ#O>|(fi9KZz*whJRaS|+56|Ai=u?=2Z&
zCseN#4*>iYjcTLJFjSynHA;tyMKO4DQ1-TRRVdf8T`zdCgIyj^{s(O%;T*)_xt8`s
zS!>u51W&t+^;(|*UJAMhQlT$t_=^-JvJ;Vye)?@q)w&ocL~M`m09uLJP^LNeys9{E
zzq~zcj@|J7Tqz$R);Y~Y6H6a$+E}qD7dlWv#klBms-i*OEzn$rzaCU+U%WvMDWNVo
z2y5Ach
zhJlkX6yBvGhf=4Q(I3NL(U&hXfcCSG^OMIcJxo=dOxZY@zraQdBt0G6q{XVX8o~?}
zxR*6ah!-7L7Rw1n73i^ZIPIEqid})PFn&S>zC--6xBzB<`seN^Vd=KSi@E-D4oH-A
z2_1HRftDDrh8#rtF@^wJ>h{U#oElpi`+63O?#;3
zRz3W)(EQQx;1H?SVWjb9VC)cc^hc?c;9q2M+=MMc@Mxc_mPC7s8K-v@Q
z^!uZNv23MMh%PeRi3-TDmeZM+j?#%7*ddBxiOrK0DBv>ed;V~|{F)
zcpcM`9V~IHZH!^V1nnv4vI*0Sa-{dfN*69wD>K71G#*&~S?L?XKVukdCY=0@j$>V?
z+Ls*Q4+V3wZ!QMW+4qcELI%B@yRxengcmOaoUh7*sSe_Ge;p(FfUvNq9IVH;4b(}T
zda2Ot0G(5X*9=E<4b89)4N7!KU3%YI14^geJ_*Y3avgGivvHg?@~1N
zEgPky#$Z%1G+-%=l`Y>fPSe)0p?%4^lW^@+G^*4htj-g`zKHSwKlKzNtI}8hg#Gh{
zGxOSxRt30xilM`%qtvAQJo!w{b$sT~FfCTW7`VO1+MGVnGZ0*Gh4A1}3bR{#Xad
zPd%6h7|w~ET_&PB{vLy4Th><$&Z(zbzZ}mq*a(aGo;EzNAj^kP6X(VaRhDrw{
zRj&@Zu}~U$s&}~vwQVAR$>99`TzNQ2Q=b+X@|QIAZ)X9lpUF3lgv+S%QC3<7^?-Kj
z4f5h7?4Vp&F$)argv5feU+jUH$C{aHlx6XtRQmiBR|N-i_$*}FS>Th3KZu0e_Nuc`
z!2LE=>(ZDW3>%dOC)UX^7)}+6U;f=BU&;626OldP(Mt#b5vcDbW~Tt534cG6OR`&r+2n9fZuyt4vqg?2U*?5|bnLZg
z+y-8+O0?5Q@2V7NRdDL%gqKgY(&ETREt~X8I*QP+Prgp~w53&oTBzAJ_hNT&^V6SP
zgbH*XCI}DtA8YK80zXn@AYC@6ogdwCRmZn5a3b>dkToCv@UII)y7-sQDD9t&BDo+W
z2^@3eVG-uJpf4Ka`@NBOd*pMW%*}PMpCxYZx`Z~Tle@(Q?`LJ#FETjO{%##(Y{hS%
zwJGerq=Y97sidImRM{~p?*%n7RKhW!L2t$HmIE+G?+oOq_1is?$YI$X2WVQqZ9v7j
z=YNVX0O13?=bRE_%I!32k{4`b872n%MlMauCAvkq-qj^)5zIRRz*j^9mC@aS1rwa}
zf6LRULVh0|`ThaIvqefS2Cb@jM03{n=~qWaxZCliK2+19Up>|PXsg+3yRdz(BrmDC
zaTPI5(}z*SbcLOF@UqznXktQbAW;bZyF!6OpL2qgj3vkGxizwwo7uYmp~&ftT3EuF
zCYr)(SuBoXc&XqJ+)Cj-csIYV_P4+6y>CUX+HM#sw{EwPA~kG(qO+ZaDoJpOQ_CZg
z57zJea08wU5p6tc&r;}~&I+u}@gR+(oBNDIjyyBzc=#-EFDi^0%4mIuuwIYl>O3UW*YXH?-)rd_39
z6Q%W8WNkA@Ihx56ObAb$lL8$pT~yJa2iVhj-J^I$w&4}ZCvOw10->z9qv!TSkbw
zh3ZtyxDY;VX#o@A8K@IAiA^R>=5#YS9ZB~5P{*nDjG2Lau?5g;{4?Vf%J%QS=6F`i
zm_2#MOnWs0HnLQXPaM|%@ZU51j$jWji`egBDt3v<2vHgDF4th2%`>NlV;viT1nJq3
z0mAV`KvhRKsEX_JNmQU=4!Iaama_JW(#`)*lpUY})kxCb;*1i3gI0ss#!aQx3w-Wo3&Y=~u-Gw)mMQ9dLCF0#1gdwfuKR)Lzx_L#gHl
zh7n4O#3*dT`f32!gM*)n?SRPdu|!4vE8Ee0Bl0K5`E!&m%7t@C=0C%#j2IB)SLw{~
z$Nz8GPYsO!N5;SVD^MxY<77;`<#A8>O|&)Eq6|w>G8skCG!&iej3T9hf_WnqI~6tS
zTJvOYJmPDissqxbx7Rp@Me=Fz-Sj&+?O{v2Ps+ssy%gGCfNjpgFe-sWY%Zt-N&1~B
z-HW22KvrgHy!d%n`u)r0F{uL!G>{S*VUh|wpKln9XFbKGp-XUFjbe%|{mN+fUyd?s
zY0hd$osK#BZ}?RIf6dR9O|k>@0jRlrpM})t^=dge_D`tC?@$ujvZvgMQ&oonnyT<-
z&j{rCO8t&*!ilX%^lRVG8}b5L>9&TI)amX!iI~b2jK`}$GYHT}Vi+Sm^pqd2vBsVG
zX<7$J9X=U=3q+=9Ui=c=Z|nbDX7@dJ5(QuT1h3cBG24%x?lX81LpvEw{_C;WmG+QD
zP_@9zqD%fF<(Kc2CaET1l>O)*{+`X3U&rvw$Xi>mUyzQQ|)
z?GRm;B9(>~9gjm(ENn}8ozfI-wO0EWpg$JtKA@J$)NI)gD7z&lQnVP>gU2|?&x{SH
z_7zT#_zHL~1Vb6vt#3#?e0F%eHK^LMVWKCuDCiG`HDAa1Y)$}k0kcpm7@HWLf@z~s&413>
zK$wV6ULKb80~Cd0Bpr*>{ShRtPm);f2L#Em=aFCN>c?3GF>_JM0e)^g$;4@ZCD
zumydPX7z6ot?Ik760NK0clM%t6O^5ew5$BJGEDn3$x`H&xtc7rSLyU;&DzabEwU3k
zRy(LiZk=JP9}51!eN}v<;Py;(bt9>Q-e(!m_7c5t!luUCpN#ZGzILsburAW7|J7YD__Wg;>!fk%KFZl$Y60YaA{TQ11<6$Zsx8#
z_i&Itpx^$!8_FwiZ+|AJQaH@7`m_$)h|{syg;eFl7wmjkk4F;x5Iq07gMf+lKplFVHGBKjxQl&7LHf=(aaFz*bL@T@h
zX~Ls2!FHFU{xrl0CfMW143TG>n$Vj`rd5AaAM6|M)-xt(5%Tl{0ZHtZ56vpcdvdiK
zOUefsGWCMqibTFK{j&cu|0gA$8SVF4-{VtH+|JrJS%hzRe-9ba__(go4|zizq}A9w
zI>RozDt6^>1V4qbXBM4i?KC)kyDluhukujq-k>aH2qw%#y%lcQg
zv;?ocjdqW7&m){gRMCd5&0Lp}dcN&E~yu#iY$^>Dp}pu>HFKtxs^C7yhH>EEpO;
z)!lBS%2(e%VSqluS--0ie6-=%H1}XrAAqGW;AN~i8YlG)nWftW5T7!}fon0*0u}-3
zZaJ4jU%CXCuXR?(Q_hUG;okKolJDfKg|@hLq9?OgbGpE3iFqn4AKLXu7{)Bxe~m?Mn!g`5sk0*vYl!{>v?KellepM5Xgf*BU}Lo;nqjAF%8
zy(na*X{x)^JzmBj{Fet->zDdZBsVERL^f}B^&E_>01dK)A(Jw~Kq*ZfpDHdY-e0Sp
z2wSCfM@!Kk*pTH>87efW!rRXrN_G3@1pqLNcRPT_ax<8OQJv2Dxe|2qKtFSks_53d
zUY~;2ZYdcEx$8uBwk;)U_k*7P`soKH4(YkH6AVE2=vO+lUUul!K2g@j-KX|c=?JuH
zF7yc65B%6W_HK?8gWG40KM=o(Z)!?}EMQDwomk?%NQbJ@cDu1^#uxI~$i7b}dagYf
znUBV7r-=MZTWp-$;A?WOv)o5Jx7uH7Bcx)?1+!A3wa&VH5z
zMSiTzk5qk!gU(f9Os<9MzvW5Ve!FOPlqWRXa9F|Ov?7Spm;O~Ixh>FSlutuY(Vw|X
zrr8FVM|8NA1ifhd#s0IMiSUlq;GUBLnTKweo*v?_Kj}HgIlFRfQ~8@~!m~@~CQN~T
zA5L~jpM+9VzkE*5`F0UY+poZXGVA|x*P0H!Q^g9!bD^HWNwGEM)sY?VczXv5o03~a
zO308#v)dE?NY9;p!H4!&Q=Alq3jDt`Y9WkL1t;sZh;TuRq0KLOq1{pEe%Qd?7gdS<
zf`K}aaOE3|UQZCz3$1R
zZM%b47yc7;??F;ABOCZ<&-mh#esf^}43}8;m|Wig(!U`(eyz$~VzsyHA;)RW_ARqj
zHt5#^9n@SKX|u{tMc_)o2K0FN5naPd>Gi9TOSEoV1Diz6@W~iV5E!w*9+`i>f;fTn
zJcbWCDDp(dO&dm(6$D+1GB*|Nw&NKdCur~Un}6I>z7aG@*iH4iBG#H(H%rBzyA%|(jV+Vg|XVC
zjr%wp{;9zG@h`^ner)Xt5z97Qt|I=Z_cw?l&3zAzEV8s3wuDkVpLh`ZT4A!6)4U*h
zRv8|nVe)y-nXC5y5d+UA{pzFux|9p2f7m`eR@($=m>;F(CWnVJ&2pat3q7edPG1cJW=boKJDZ_5=gNh=yJi~mKP{$32n
z@DiFDN8qT>o?cTTYury1blqQWJ9hu@cJ?W^-LD+(vcZ{f-;&bGt$n5&?8c7$(%`Ty
zjO}$9A)<~G1*O5Py+!TW5mKAB%P2Fll;M2){
zF60B_Dhpe#$(CWt(txQj@hAh@a4vtF(JTF3P?p9u-BE;HsYvCvTFr!RA+$=tY*
zeUqEz7BW_y?SVSw@{G4B`1hwoj}7s+Vnx*r29Jt23xt(3<7i6X0*krcRsU;CFpQu4
zVsRG8bcqe}r`Ol>pmV)#``XI+owNPE1PF1ReynjZo$wtkQEZxhB}&ZmkkjZ^Eo5;>
zfSQe)&&Q-PLz1+g={*qwJ;3n79pzmA;_E@m0&kUrnP+rE%8TE$8O_r;h6Shh5y~jg|;@dM1*z=%D)4ipNG}Q(|47m_!TA4X1Ef{MQ%C
zQ5Bc8{~r8UW$P*@`Sbc;X-J)}w%ec9->2JMj}G$MY}!Vw-(v
z{HJqBLS*zn$*-m~2ek^!zsl_BV;6fEVcx&yNgn4O
zw+{u9FI2z!AjvJ}35F)KE(YBRGyJEVEXZYaiM6VdpYeMbObPS`d(&B5^ljJ-+Poo{!(KiZ6Q=hjb1+WPi%Co9
zAzsM*50XH`(x9UDUcFR0%^V9^e{p69Iv;HDW#R{D*&}_r8VhK5TBRCHf?lDQ2Z(m(
z=pu@>+Rs^j_{mYf#g1d_bVl=qq-TeyHT1PEeX7{s)V1|sbDKuMU}&yO7X9)xDSgtV
zc;++$F`cJU&H;73{0=Yuwn4ov%f8p1r6&;G+l*RV^uTtpOaAvHx4M^r8gx>{sme68
zTzf1BkXteNbARHmxRP;(fX({;TW8?=oo4&PU^CTDh#<2E2*xPGIP=H?hC;JTHq`}a
zl_1FM!pR8(r*_rU;K-y7()W=L@7wIRd_3AN-8L4yPPuP=UB+xLOb)1EWG{&c50nWiNAFWAudVqP}@oH
z02$;cSC8~XplrBn+iD9-bNMssbGJF}sKT%_T$RPQoD+!o8d50H2-Kj=nMdy2?km&h
z959L&2>tMpT%ulFP)zYKa~5APgbWfq_^sKCMq8vEPf^l_GA+aYkFM~O36786$mDTe$A6z>ekoV?yqa(SiXC~a`f^?K#_*uA
zd5NR8gNVr8UlF&u0`qBrb}5LV(F-HpFd1~Kfhl;^+f2rLKU0(GHcIBQOx6|>2>*s7
zSL|?w508#?LYlL36p0wzo$=tX%C+f^$R=B%-|e!%fVKVC$LG`B_y2ZF%^ovagB*xw
zsZ1;3^5jCx*1M*^C-RS6g|g(5osGMMEev`~Fc7UT3=_ioa15a>&FG+^CYD@-7
zpLl83`0L+rsjY!6g5t>aj&oo2Tqk2IGUt#Lpsave+KO~G&QZoxe@Fw1#4@UT2r-Zf
zf`5#r{BY&HtFyr?kaWl7HeHPFU0Ri|W`SsqE0B$rxcoLP%jep^|MoWilFt0**>01%
zz+mBV=X$N`S=HiD{je`8FumbW_c3EeZ43wxNd+p?m#HnX??sTh?991lIz8PXdmP_-
z-e9#HAEjz3$)cmS6O;;Qjt`!M{CtZB7u2a9j3Cm9PL@G`i(lZ}yTb?OshQ1nJVlSqYf6$*2-@Lu=ijUQbH(@_%
z-sPyfu+l&N18OJru1(nR^(Z_2jVC*aY_B#Y*+SG{dHy8x?e%u?F3Z;9PsF;?Z^+g+Tmxe)>4tfpL#AvAEXb
zlk)n7=KKBnL#MJ^_wgGJrDH@htf>vXOt^QjiEppJ)lkEp1OzGErL!(x#n#=sEii{z
zy++@pvg9H5zr}zR`QYF9*&)D^8I84M5QBt;uS33Ld@SgyiW_Mqn~wzUn-P#z
zzN_Q3wJ2&AlA?VE&U9W=lda)7-P|F2Ugf@bN4^ilVm$#poJTV0-(T{`&;*X~UHdb2
zm^uqybB@83FFD~uFbtYS3-ih0JBZOQ$r;KTs*yqduhn^Nck^(
z^n86Onmbcr{2n^4_n$u*0dYt+DD6j)*J9HrLZD40bi=^n(&t^w3V|3{mt+k>)Tu6u%QLL7>rz5)KNyC4wJ_lu
z|7RhG)T1c+N%cj5bKq~J@A|$VVI}y{qKFY$_8W4fNz;+Ie#H9y1H|o#>}@4-?e3cF
zo%M)L_2J`7CqD1d3)%tRjKGvUo0c|YXG}A|?m9HUytKh5W2VqFA9R-rks1_hYnl$~
zj?Vs|MS=>C_w`rvb@yw>)_sVk{r2s8$1~zsdPPh2$lnf*LmXIs?Mn<=?7ZLG;dKSh
zfYCV7t~-`EB@Vsy>ZB->3;LW}a&*h9?^RnK(a`lHxiMev&D55lgC7^v$c6xF&RqpX
z+(v0ix$p=gPu(xQ!d%RBoczPBR3^lXr_$ij5Jl7d63r@V3e)eOW4nF;{yM;$X3!}p
zjI4dqNeOHb>I)vlUm~8^f0Pw)IEi@nI1LrNq<_DbeJNScxNN-IPkwv+?g`+f=9&U<
zgS@3v94;oB)tbzk&1|Pt0B#QtD-H&1LP(?0&EBOyjd8QIT8|hZ?z10}C7!SQ+Sj92
zj~mg-8uv>7>>|$bzWk+YTWX9b?Jb5)Uc&KB$~Q+Nbk^2tAwad@I$ip_WA}go6T~rO
z$6bD1$;pPl1fXsw$#Snv?NqA`QEOqwu|pCJmliQa3<5cmVotZC<3(EAUC8GO{#HJYZG6MLq~
zT0c7?0~G2=MaxY3XF!=mhO-ml)$9uoaajghKHa@v`kuERVzq7yHXj9;uiHMPbR&-)
z()W*N{w3u%tNSz$s2gDuF1@yQkfhV!;t4|S4hmpYwudF43o%Gm*PrBUFHvIp#&G=f
z6!NJZq&H|cghwEbl64V!jk1;p=7vgGRj~xN#7e($}lh
zRnCk9cu%gNd-@C=5BE5v*msuRb#b=$6@EIUJ(<<_{o9_Z{S|a5*#&V`*HrZ!-%0
z?GFq4XHOSaZ<%CIvovSUQC3%-46-+)Xqk6Vb&pC0lcNa=O(^3HxMf4zt~G2Z6l5<4
zKVFBDmDWqjP__Hf0hJexlmnWur?Z>gf!cTFf)CzS9>bX~=b24!7@Ti3fsodxz3zFZ
zQmsqMuNI%AFoAXueYGK?04bqQfa^UU4fO}E+6W9nbw#wIA)nXADq^V4Ah0^
z)Fq;1t4HUxb?=Nrg{My`w0;F0-$+PlRxRm;LGD!{o4~Ta(kF>y8_y7M-Rl{2jpV=R
zDQtT(*M6w`_@m2uzKtZaxp|Org{GAXAS=58J{osSmj8~NHw(eK!@d|+viO2Bpa5o%
z`@FHP2pc!6r}Y(tjxKod^zbi^2+k2+qaBV2IuOrUdacXw^>>=Jw>_&z`18iia)|qf
zX5H|X{`95K981&vfyl$lTf$jOcIn~;R(6dAl!jHL8X7A`QcGeGAQr9@F!DiPG+e>>
z&$v_nTT>{5+9t!T9!L?al@{@@}!D
z1x2>g&VYT2h>NU$oe>C~9kSE;PK<THo>d#_~9
zOq&nLlyZ!GSZgP)9G8Sn#bHok_}faOZ4+=Nw$FGxgV*!Jiq~4W^RPH=oWb*YQrs`Y
z|9T=aE^s%~D!cYN(Te49H+;YPT(wNncfwvV6zE25imSM-*V&j+UT30>ke*7E7fvhA|9pN~Nf2bH!dVdt#UYaof
zSKi0~rD3{Y{hm|><5~baa*C$NtP?jFIz9z%Ey7^XHI+yp&zwc$tP`R+lX_D3rc!(Z
z=Wu#o57jeWsjcnb>d1N)%BBlAZ>&7B5k=J$%A~p6-3%)9kEipwA3em%3c5cn9B#`B
zUiGl`let|j#A5M1jchyeJH6~w={qM|I)q2A^eGrekB53B#YNdQA=a&P~4=96S2+@#%!gF=9FCsJiB@rhCASX;uV!AYSlU<1l}
z9c(2)frj-uF*CrufG`z+=~>~6!o<21*SMC)R@KEEPQMRPM%ugdl5vft7I0#yCGO1Q
zw?eo8EngS`&6;{J!zViB6uKaDPlV0ST5W5%Nuu@TpOy7e%`bQdD{&XY&{|ck^e7|K
zXD%~A9EN-N#;-3LSN1pYbGC+GLQQB^7}oQqGmaSyoQO>o0@rqsC8ZaY#*-#Gk*szP
z{n{atjl|TnXjbavQ0}%`&f|lC_Hq(J`4G+!tA{
zV`{bK+bFO7M!2BiRI31;>>Ovk*c@+4B_O4AR2
z2aQkKCK9g=JSq^IV%^Sg$8W6YJM-287WW~PHku)EM%sHnT4g3ccW)LP{n{&3gH6u%jRx_3M2yy>2*J}ISJw(-TEJmo1RQ7
zqujE=veUs?&$^K#kol>&Ubo`HK@gsS_4kpP=94qcEBFQ6;uOYU{{gIgmCvZ{@u0ob
zrhBU1o%ny?&;uNC#}nyx^xK
zCZ71LpIpd{$5?G?4V}`5-sbbUBm$l-neAGvY8t~GO{2A_57wDOw;%bwJ0+tJ#
\ No newline at end of file
diff --git a/docs/leaf.md b/docs/leaf.md
new file mode 100644
index 00000000..9e675ec9
--- /dev/null
+++ b/docs/leaf.md
@@ -0,0 +1,474 @@
+Leaf 备忘清单
+====
+
+[Leaf](https://github.com/vapor/leaf) 是 [Vapor](https://github.com/vapor/vapor) 的轻量级模板引擎,用于在服务端生成动态 HTML 页面。
+
+入门
+----
+
+### Leaf
+
+`Leaf` 是一种强大的模板语言,其语法受 `Swift` 启发。
+
+- [Leaf 模板语言官方文档](https://docs.vapor.codes/zh/leaf/getting-started/) _(vapor.codes)_
+- [**LeafKit**:Swift 模板引擎库](https://github.com/vapor/leaf-kit) _(github.com)_
+- [**Leaf**:LeafKit 的 Vapor 集成模板系统](https://github.com/vapor/leaf) _(github.com)_
+
+### Package
+
+
+```swift
+// swift-tools-version:5.2
+import PackageDescription
+
+let package = Package(
+ name: "MyApp",
+ platforms: [ .macOS(.v10_15) ],
+ dependencies: [ /// 添加其它依赖
+ .package(url: "https://github.com/vapor/leaf.git", from: "4.0.0"),
+ ],
+ targets: [
+ .target(name: "App", dependencies: [ .product(name: "Leaf", package: "leaf") ]),
+ ]
+)
+```
+
+### 配置
+
+```swift
+import Vapor
+import Leaf
+```
+
+设置工作目录
+
+```swift
+app.directory.workingDirectory = "...."
+```
+
+设置模板目录
+
+```swift
+app.directory.viewsDirectory = "...."
+```
+
+设置模板引擎
+
+```swift
+app.views.use(.leaf)
+```
+
+### 目录结构
+
+```
+VaporApp
+├── Package.swift
+├── Resources
+│ ├── Views
+│ │ └── hello.leaf
+├── Public
+│ ├── images (images 资源)
+│ ├── styles (css 资源)
+└── Sources
+ └── ...
+```
+
+- Views 文件夹来存储 `.leaf` 文件
+- 配置 [`FileMiddleware`](https://api.vapor.codes/vapor/documentation/vapor/filemiddleware/) 提供静态文件
+
+```swift
+app.middleware.use(FileMiddleware(
+ publicDirectory:
+ app.directory.publicDirectory
+))
+```
+
+### 渲染视图
+
+```swift
+app.get("hello") {
+ req -> EventLoopFuture in
+ return req.view.render("hello", [
+ "name": "Leaf"
+ ])
+}
+// 或
+app.get("hello") {
+ req async throws -> View in
+ return try await req.view.render(
+ "hello", ["name": "Leaf"]
+ )
+}
+```
+
+在 `hello.leaf` 模板中使用 `name`
+
+```
+Hello, #(name)!
+```
+
+打开浏览器访问 `/hello` 显示 `Hello, Leaf!`。
+
+## Leaf 概述
+
+### 模板语法
+
+一个基本的 `Leaf` 标签使用示例
+
+```swift
+There are #count(users) users.
+```
+
+可以使用冒号和结束标签为某些标签提供可选的正文。
+
+- 标记 `#`:这表示 leaf 解析器开始寻找的标记。
+- 名称 `count`:标签的标识符。
+- 参数列表 (`users`):可以接受零个或多个参数。
+
+### 内置标签示例
+
+```html
+#(variable)
+#extend("template"): 添加到模板中!#endextend
+#export("title"): 欢迎使用 Vapor #endexport
+#import("body")
+#count(friends)
+#for(friend in friends):
+ #(friend.name)
+#endfor
+```
+
+### 表达式
+
+- `+`
+- `%`
+- `>`
+- `==`
+- `||`
+
+
+```leaf
+#if(1 + 1 == 2):
+ Hello!
+#endif
+
+#if(index % 2 == 0):
+ This is even index.
+#else:
+ This is odd index.
+#endif
+```
+
+### 上下文
+
+
+Leaf 推荐用 `Encodable` 结构体传数据,数组需包装,`[String: Any]` 不支持。
+
+```swift
+struct WelcomeContext: Encodable {
+ var title: String
+ var numbers: [Int]
+}
+return req.view.render("home",
+ WelcomeContext(
+ title: "Hello!",
+ numbers: [42, 9001]
+ )
+)
+```
+
+`title` 和 `numbers` 将暴露给 `Leaf` 模板,就可以在标签中使用这些变量。
+
+```html
+#(title)
+#for(number in numbers):
+ #(number)
+#endfor
+```
+
+### 条件
+
+
+变量是否存在
+
+```html
+#if(title):
+ The title is #(title)
+#endif
+```
+
+比较
+
+```html
+#if(title == "Welcome"):
+ This is a friendly web page.
+#endif
+```
+
+使用另一个标签作为判断条件的一部分,内部标签应该省略 `#`
+
+```html
+#if(count(users) > 0):
+ You have users!
+#else:
+ There are no users yet :(
+#endif
+```
+
+### #elseif
+
+```html
+#if(title == "Welcome"):
+ Hello new user!
+#elseif(title == "Welcome back!"):
+ Hello old user
+#else:
+ Unexpected page!
+#endif
+```
+
+### 循环
+
+```swift
+struct SolarSystem: Codable {
+ let planets = ["Venus", "Earth", "Mars"]
+}
+return req.view.render(
+ "solarSystem", SolarSystem()
+)
+```
+
+在 `Leaf` 中循环它们:
+
+```html
+
+#for(planet in planets):
+ - #(planet)
+#endfor
+
+```
+
+### 模板示例
+
+
+入口页面,通过 `#extend("main")` 将 `mainleaf` 模板的内容复制到当前模板中使用
+
+```html
+#extend("main"):
+ #export("body"):
+ Welcome to Vapor!
+ #endexport
+#endextend
+```
+
+在公共模板 `main.leaf` 中
+
+```html
+
+
+ #(name)
+
+ #import("body")
+
+```
+
+呈现如下内容:
+
+```html
+
+
+ Leaf
+
+
+ Welcome to Vapor!
+
+
+```
+
+### 扩展模板
+
+
+在模板中使用 `#export` 存储名为 `body` 的一些 HTML
+
+```html
+#export("body"):
+ Welcome to Vapor!
+#endexport
+```
+
+使用 `#import` 获取传递给 `#extend` 标签的内容
+
+```html
+
+ #import("body")
+
+```
+
+### #count
+
+```html
+Your search matched #count(matches) pages.
+```
+
+`#count` 标签返回数组中的项目数量
+
+### #lowercased
+
+```html
+#lowercased(name)
+```
+
+`#lowercased` 标签将字符串转成小写字母。
+
+### #capitalized
+
+```html
+#capitalized(name)
+```
+
+`#capitalized` 标签将字符串中每个单词的首字母大写,其他字母小写。
+
+### #contains
+
+```html
+#if(contains(planets, "Earth")):
+ Earth is here!
+#else:
+ Earth is not in this array.
+#endif
+```
+
+`#contains` 标签接受一个数组和一个值作为其两个参数,如果参数一中的数组包含参数二中的值,则返回 true。
+
+### #date
+
+
+`#date` 标签将日期格式化为可读的字符串。默认情况下,它使用 ISO8601 格式。
+
+```swift
+render(..., ["now": Date()])
+```
+
+模板中使用
+
+```
+The time is #date(now)
+```
+
+你可以传自定义日期格式作为第二参数,详见 [Swift DateFormatter](https://developer.apple.com/documentation/foundation/dateformatter)。
+
+```
+The date is #date(now, "yyyy-MM-dd")
+```
+
+### #unsafeHTML
+
+标签就像一个变量标签 - 例如 `#(variable)`。
+
+```
+The time is #unsafeHTML(styledTitle)
+```
+
+它不会转义任何 `variable` 可能包含的 HTML 标签
+
+### #dumpContext
+
+`#dumpContext` 标签将整个上下文渲染为可读的字符串。使用此标记来调试作为上下文提供给当前渲染的内容。
+
+```
+Hello, world!
+#dumpContext
+```
+
+自定义标签
+---
+
+### LeafTag
+
+
+创建一个名为 `NowTag` 的类并遵循 `LeafTag` 协议
+
+```swift
+struct NowTag: LeafTag {
+ func render(_ ctx: LeafContext) throws -> LeafData {
+ ...
+ }
+}
+```
+
+实现 `render(_:)` 方法。传递给该方法的 `LeafContext` 参数包含了我们需要的所有内容。
+
+```swift
+enum NowTagError: Error {
+ case invalidFormatParameter
+ case tooManyParameters
+}
+
+struct NowTag: LeafTag {
+ func render(_ ctx: LeafContext) throws -> LeafData {
+ let formatter = DateFormatter()
+ switch ctx.parameters.count {
+ case 0: formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
+ case 1:
+ guard let string = ctx.parameters[0].string else {
+ throw NowTagError.invalidFormatParameter
+ }
+
+ formatter.dateFormat = string
+ default:
+ throw NowTagError.tooManyParameters
+ }
+
+ let dateAsString = formatter.string(from: Date())
+ return LeafData.string(dateAsString)
+ }
+}
+```
+
+### 配置标签
+
+实现了 `NowTag`,告诉 `Leaf` 并设置标签名称为 `#now`
+
+```swift
+app.leaf.tags["now"] = NowTag()
+```
+
+现在可以在 Leaf 中使用我们的自定义标签 `#now` 了
+
+```html
+The time is #now()
+```
+
+### 上下文属性
+
+#### `parameters`: 包含标签参数的数组
+
+```swift
+struct NowTag: LeafTag {
+ func render(
+ _ ctx: LeafContext
+ ) throws -> LeafData {
+ /// ctx.parameters
+ }
+}
+```
+
+#### 使用 Data,`render(_:_:)` 方法作为上下文视图的数据
+
+```swift
+return try await req.view.render(
+ "home", ["name": "John"]
+)
+```
+
+```swift
+struct NowTag: LeafTag {
+ func render(
+ _ ctx: LeafContext
+ ) throws -> LeafData {
+ let name = ctx.data["name"]?.string
+ }
+}
+```
+
+`LeafContext` 包含两个重要的属性