From 98166b667d385f27a36bddacbca33cc78551aca3 Mon Sep 17 00:00:00 2001 From: moana Date: Mon, 6 May 2024 15:21:24 +0100 Subject: [PATCH] Update dependencies Resolves #106 --- Cargo.toml | 30 +++++++------- assets/dusk_wallet_core.wasm | Bin 853519 -> 854902 bytes assets/schema.json | 44 ++++++++++---------- src/compat/allow.rs | 26 ++++++------ src/compat/crypto.rs | 29 +++++++------ src/compat/mod.rs | 8 ---- src/compat/rkyv.rs | 15 ++++--- src/compat/stake.rs | 49 ++++++++++------------ src/compat/tx.rs | 8 ++-- src/compat/unstake.rs | 32 +++++++------- src/compat/withdraw.rs | 30 +++++++------- src/ffi.rs | 51 +++++++++++------------ src/key.rs | 30 +++++++------- src/tx.rs | 35 ++++++++-------- src/types.rs | 50 +++++++++++----------- src/utils.rs | 78 +++++++++++++++++++++-------------- tests/keys_derive.rs | 36 ++++++++++++++++ tests/wallet.rs | 47 +++++++++++---------- 18 files changed, 316 insertions(+), 282 deletions(-) create mode 100644 tests/keys_derive.rs diff --git a/Cargo.toml b/Cargo.toml index a4f1d55..d310388 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ version = "0.21.6" edition = "2021" description = "The core functionality of the Dusk wallet" license = "MPL-2.0" -respository = "https://github.com/dusk-network/wallet-core" +repository = "https://github.com/dusk-network/wallet-core" [lib] crate-type = ["cdylib", "rlib"] @@ -15,21 +15,19 @@ bs58 = { version = "0.5", default-features = false, features = [ "alloc", "cb58", ] } -dusk-bls12_381-sign = { version = "0.5", default-features = false } +bls12_381-bls = { version = "0.2", default-features = false } dusk-bytes = "0.1.7" -dusk-jubjub = { version = "0.13.1", default-features = false } -dusk-pki = { version = "0.13", default-features = false, features = [ - "rkyv-impl", -] } -dusk-schnorr = { version = "0.14", default-features = false, features = [ +dusk-jubjub = { version = "0.14", default-features = false } +jubjub-schnorr = { version = "0.2", default-features = false, features = [ "rkyv-impl", "alloc", + "double", ] } -phoenix-core = { version = "0.21", default-features = false, features = [ +phoenix-core = { version = "0.26", default-features = false, features = [ "alloc", "rkyv-impl", ] } -poseidon-merkle = { version = "0.3", features = ["rkyv-impl"] } +poseidon-merkle = { version = "0.5", features = ["rkyv-impl"] } rand_chacha = { version = "^0.3", default-features = false } rand_core = "^0.6" rkyv = { version = "^0.7", default-features = false, features = ["size_32"] } @@ -40,22 +38,22 @@ serde = { version = "1.0", default-features = false, features = [ serde_json = { version = "1.0", default-features = false, features = ["alloc"] } sha2 = { version = "^0.10", default-features = false } bip39 = { version = "2.0.0", optional = true, default-features = false } -dusk-plonk = { version = "0.16", default-features = false, features = [ +dusk-plonk = { version = "0.19", default-features = false, features = [ "alloc", "rkyv-impl", ] } -dusk-poseidon = { version = "0.31", default-features = false, features = [ +dusk-poseidon = { version = "0.33", default-features = false, features = [ "alloc", "rkyv-impl", ] } ff = { version = "0.13", default-features = false } -dusk-bls12_381 = { version = "0.12.3", default-features = false, features = [ +dusk-bls12_381 = { version = "0.13", default-features = false, features = [ "alloc", "rkyv-impl", ] } -hex = { version = "0.4", default_features = false, features = ["alloc"] } +hex = { version = "0.4", default-features = false, features = ["alloc"] } hashbrown = "0.14.3" -stake-contract-types = "0.0.1-rc.2" +stake-contract-types = "0.1.0-rc" [features] @@ -64,10 +62,10 @@ default = ["compat"] compat = ["dep:bip39"] [target.'cfg(target_family = "wasm")'.dependencies] -rusk-abi = "0.12.0-rc.0" +rusk-abi = "0.13.0-rc" [target.'cfg(not(target_family = "wasm"))'.dependencies] -rusk-abi = { version = "0.12.0-rc.0", default-features = false } +rusk-abi = { version = "0.13.0-rc", default-features = false } [dev-dependencies] rand = "^0.8" diff --git a/assets/dusk_wallet_core.wasm b/assets/dusk_wallet_core.wasm index 23f63b802e15a7fea2b86b254b97190bf1a140a6..c0c1655ec33cbc56cb394e03d40912ec79881fcd 100755 GIT binary patch delta 257768 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

+7nCo?0b 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⋚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 z zYkRxoH_j?!Q9Q9AKqhim1D6sFl59}XSpJdLu{|Z|kx`VK-L<=Y{u?f7+wwhDB5b34 zd3>_CxsSRVDCYn82LGpmYts-3@e;y|i%Tof$$#>#=-6`2Eb6KiP}{{%43z|bZgW9b)A^<*K8N^6p%U@A*?iH@ zpKl+QV)EjPV2Hp|oCnxM|IoF0vn%axZNpaVg%?8*!nKVF%0+ycxv*=K*~!E0Ep5Yk zYp}!Ib;U*_wv4XUDe> zTcTGE`Ep*E&mi~D;ihwW*G6-c^QZP(25S*Qdd}!+gZ5B9YZYx43G7?xuI3()ctPknup3KasAj|y4JS0 zbqrf%4cy-A{o^Mzrl);<6Z^-bpWvrH9+?Jq4?YuFfz>%TH+9Y1*N2Kn^3BcCXoB6p tbJ&K<#{6i=*vS)iA3uHKexp`m)1mkI`GQe$rg*Fyj`bq@V&|~c{s-;CwRZpj delta 258295 zcmd>n34j#Ex&Ku4%+BmwJA2IDN6+j6yRg7=EjMhV2pWxeMA4`~6qV%^F(L7oRZ-Un zvZR$lMO@;+Mo~eHU_5}tW4$q6s2JCXN+Jrr_!5$M{C{6ncTdmmdL@6~|GoELWvaW5 zud2TKs_MI{`md{puUtMn?3s1$eCF|Z*n527s_?8*Un-Tl=pxTdmSPvp`+?)}Lo4PoWx$zi8FL zN%b1Cu@v4fkYRwrGze-DsswcHwyaysGud>_=k=O9Sh23DzmVVWM>qU_jfcH{e>m*- zX@N*Im~HN7@jA^N;oa*G24$0i!Jw=hQ1OQ%Ub~>z-3E^b8PR-=or3JltDzE&XUn|l zHd;@fAo{?#76~h;R8IZ@0kTmV9@HN-1%E2lqnUT|qLjxUw9D_$&c^VlM$rQchN_b0_q`>l>KZhX z_vza&Sff$HfSFpEuMWfBzrTlTHJl+fn+3Bq9`tL$Y;TbB0rgz|q34U(E%?u;F^@N^ z!kc17ON%#@@)&Dw4^q%|XVeb-SNQs5&7VDg;o_fiPr-Q$7A;{7} zlBJ$j7CLM8k{M^uId=)Nd9GxES@Y&CJbl)Z*`BL;;LOFdXU_lx&r0q+clPWvJZ;?n zqgnH2EjWF)XBGF)UOM~q^N{lwJT!my;%(>~lRP51%<_-jdmit@mqq?xOR4 zG;hx7GtON!d%+p08FOd<^jy!iJp0FUX8%OJtmeT5=gpfp=gc{?7oY19JW7o^cgg8X zW}u}D&-6UX^Ht2OxwB`Sjwa4HW7d*cp2zHr6g_9bnF~FS^T6V{KmGBH^BRYHp5#&a zyo7o&Z}zM+Jx}r2;<+g#%ZARFwRrKYpL(9=ahdH$^Uj@dE@01EY$ZIyA3+9~e z`Gn_E5&Io^k?TKIuYPi-)BV5lIAuF;!MRH^5%4#K7aFslxbX4|t>E;tXP-V-_H)L< zpDX}Y&z`f$bE}qr-U4y+{BUlTJ1h|2YZ73f^A`sum{+UY&~1co@EcQ zyV&FGIrb#mz_v2MwzHeqYW6GkTlOfsfo*2LW1Z|8b}PG=tzkE_LofBd&M(#8;LEhv z_~qK%FZiqc_xweEvGxl8Cx40WO7VH;E}ru~U%Hq7Wd3w5zng^KIHc_#@iO{5|b$?Op9--)Fv0eV2Hred7DO){^xP z?Vs9b+U4FWyq{{<`F`hn)c0H8h**h+KO zl@kfVmB?*AaAkdT-LjSzPe>0K1%@}aPV9)W7mM~?ia0&X==3z}S+%^Fe#&ESns5Gm zG0IN6Dvq*eUR953XXP<^`PEf*>_f3Wk0rAoyNPP^#eONC$zx@uZ3HUe4`+t}FW$(f zB4}vVvt#=N%a>)RE+4}>Mg3-0Vy;~t7cKcLz*dL@n^}dZe2oRnx0dIl(jBi+J=rT} zjmT`UYQ0DI>nwKg64cemy7R=mCGP~LWl=wHN+W^ag}6|vEg zeJflz7Tb&1iO4;qAzt*R)qft+{gWd;J*@i;7F%Z;_v|6`O(GPCi6v|y-tI1u2wC*g zTI%p6R293g4-nhGlvTunQz9NcY+QaT)f9~V(p)sOAo~+pZ!p$oo^zkhcAI+tN^{eF z4Nm+D^ZXZdfL_leX#LkC0lHxuK>yJO!6)r-~U_WD!VW#1OLUFW%xJK213@-!Q<2UdO8 zh|Tdz#MXK|hNsrkag)h@R?fQN(_Ha05aoX%F2%}nb~(FZOJN1OpJ8-X%`K>yrgJ?O zvx#*l=BArkKd)qc`>6rrO?q%Lh$W;4iPqE<(I#WWBDzK~;(JwWNQsrejds>tLxbuG z{i@O*NO{F|Rjk^ax#=|X%}_Ror+o;E=UIfTMn4h391~b^YB7_}d7vU2>&F-D91yse zWwJh_pCD+wN&Tm1)oD%1=p=qj1aW$F8ro)qF+4{5RqheqX0nKX7uo7`F$)d>QuVxhk9sKr+B!6c0 z;+SeyS{>E>i4sg%f7olaBS7#YiclhwEUvC*#Yu}SLWu&WoyeC*`TXc4kxyqeOPoZ7 zRYwj(QglNitcNB?xSh8|<(0&TxHy$B(Blq4QgMn41ByeWA!?qOwwhJj`%=i-mo8q- zju!2IW`WwcjXjXyBu^r0y;|r`ILRW}2Rz3C0-J z-EOf#|ja-w2t-7-<_tAN?A)XA~x5d0iEKbI#yd6-2l7-y`>v4&pe5M@wZl*VcD@2 zqM<)aRIgCCgIM7ha2CurKH zS5i^{W&fi;>x-?mWB{w26xE9+>8%?Q0ljDg#x_4>+#&OYZ4inGDqTd-jabA_2e9O^ zk|@*k7DCI>eo!MIJM9aFgA^MuI%Gfmb{(>(*(%AdzD;~MfDHpm6ZNbV!8iov7PBJr zYnhMCJ zHu6Ko2Lsu(R1`xufls9c!!=8FOwx2i9li^ri{g^)!m4E`wu>kYFV@V85w#Y?dhR6Y zVgbpmsbb>S!&y#Qx7^giNF(}+)yOmsna{5L_n3`C&GJ-O3@>7nZH}XLH4(DKE`KMi z+EPL25>a~z=$2XkSBn{}rCi(Qr8(2469ZZ?f5XdK>b1e(DxHxkdR^Ey6! zq=xMZgM%!3l2K5e)Q$%Aa-+C8;iZUT^Zb8~EC+9b$U3cdB+6phpz3NZaN@1;*cBzu zQ$8Gky$;Vqtx7ZKW^SLdLAA}X4aD|SLT!=}lY^&vof+YIB+y8@#ypf6Mwt)3Ssk

GfG@t!!bY#~rT!diW^?i$_2Y-C==fpd2{v69(1|x4S znC9Z+r`4tT_?30oO0Io`)nwmn%SXh&U;71woi_7}I-NZQ-u(nDxh)JhcNq4&`a2A} z*?z1cYb_F|afzVZ?m{aV-fSlS_m>yvU0ZlkoobHvk++s zSoB=W$9sU zN>%}fGm}J2xkkCU@$U&dJ@@ya-MVT<|1maKVu`poh?7e2I;Oe~9kJ!Me&)K8(}3B3 zeLSs!zFr#brp4P-KNMGr`Rl%#darq+LJMjETeV`!u1&5zz@mfuT~h?1AhIgiaY zr#vY2hfe(b{H!i=KW;k>em!p?Nc7DT|o)iUgx7f?WBHY+5 znIB)wR%uAyDa`^K2Y#-g+37*ztypXap)hIw;o)$iiyjGI$0vZGT0SkAE>7>$&4MR} z77=1u%;EBmPvpwH=BZB{<`5WI=WIO&J|L68DlOcGeUitYp2#Dn!fx0KlXVU<^(0Zg z)B%`BcM|O_?6hg`p3Z_k0kk?GkpZF3;mo7J1qlxzyzt~mmf5wfVwANkSW{81v{@lN z7dW$u$r98Qdw7eLGRCIXk`x+>>O#hw9*l{_{RAKs?v=Q-HepMCl3E?l7|)S_r*I_k zX_vC_3UCs$VHFRs#D)=a6FF8vso08`#^_)fKYPYhx+n7O6jU`W!~ zQf4)GwaC*AYzPW}*1&#=Wrfrp*mdq70y(YAT=c+L z^VCssAi5M0^;ZqY#SC5h}S?;pGF4Nuq{^K)yV3*%gQ=U zDH5wcZe*k^E*r_}S%=v+u27sdlI3^L?ugc{BiYH2Y~LBl#)*Y>l3hwn!0s#VzK-<~ z3r4X%*&F3xgko)C?I>1>qz6Ya17$uN#STX>Wi*?V?MSZT7o%C<={smdcLmsk^Q6DxB*rQty~hXMJ}`=PBJidffL5Cp~beioTWs@-B(x}g=inc z`eoZ~X%jogutG;;E|)uvM4c?K#-uSP;nQ!e@aDx$rGnml4k7gsSjrKj|FVGwJf!#xY@|7g*ba+m#sjh|pj~T|ivY#OM>0S7 z67%lA_07IdW&z(}{^4(+Zm^w-<@|oRUDzg7u$@7h?G!r>h04h0JHEu@^nJ|J_1vKyBu$XP z#5L~rdXzEl4)aOlZa$-vY}jqg&8B4mhYS3=@wPeE?{vI(t+<@sV9vPu?5rDzXD&5g z_-6rT{vWR%=4`+%Tng?1+J(cgBi64RjvTXACVb%(zbIs0vGUStqlJO(%@8n93VTKi zWX@W?jG|Aqor)xsfxkSSj&$@p~$KtuUtKI z+ptsJYphz$`t0hh#B?fgimjdsmzd`~cB-o2U~k!%QuYf_!G&f`MOSY*W>StbkmC`P zR)RfdUv|A2x~96~KySGhQSK$k{k?0ZhsultQfceOtiS7;O19N}_L`a>mQ$8}JW)a6 zUY?NZ-#t80MekiaA@|tbJdvRHT|AM5&c8ZbMjKV3aWVMarC@EL-7GU+lv_}?v+Puv zZ>}jm`~ii+TE3GfY7~s5Rd5P6!5UKhNid1Ra0Nll$%OieY_oP{;pWS0^ofo* z_YzMGA=K{V$y~J!Oo?RaLkP8=L^1wl;~zao@NX#o4a2`ObNF>S>ok9G9oPx8?YemB zurkuAD*y=Ps7y(gl_kRFw(ClvVtDcefmLrSUzR&B|UM8F6KYgR5)(};hv2{6}B z;)$q2*s;lM^RVkj@lKLnKr!`tffED8KUC;2H|hP;Hl@L2kMJZ$qzxWw zQ>93!Yj~E}MSW)O?fK!pE+eUV)7p4ytXu3IO%;#QM>`cuErKOmVln|k5QjZ_H7xVC ztc#p!y&iPI}#J@F(eL;46v?yytn6?&zes*gZafLc{%+%Z8CVAz?Nl4mS4T4Z#3 z!unKp+q7d7qu0#stUOGvihFxoWX>kin`f_a5(fPcjS;O8&Cxs2V6oYLW3k^FMRVJY zHK(}7PcMcpkQDyKWb4RRq~)?!bQ{=gpd&Vkoq(Xn-~wHsNb$mJEZ=Vpv3b(E%3-d7 zCE6H@vN;A+y)8?p(j#HGFJfF+A7)^=ag5ywG>`ZRFQb7;NNi6qYygU8f8~HK{s~UL= zg?b~0FJP9QXygYeOg8dQD6DSe2PlLgW*>!3jeIYKLmK%W3UeEI7lnfx`EG6w*BfpPAxan-7 z5bFF63TsDd?G*MKsjZ=KBsxmrD0EcQ%{lF*xdHTvqQ;?5*pl@c^P2YKz!vOn*URMu z@k2@Inj>IxrN5C`v%ao^lsP^2Z)gLdC&PBwyuLJLYlvtJNjoI>8Mk(bjA!5kpdES! zs5OWOV6m!)v^@5^N)QWM|WFAlQS`dn~!)Qik84%%QwQh@=#0$y< zs2~_It6Hp@P;m9Y>3HDATz_kPE}8FojE_X;p$-gLr$W1%ix^Ke?c&Kwhf$yiV0i+C zz+e%D!15?Uu?xvImt%7^7{amN0LgkUEtOmmG!L@3;jcon60;T6*tn{t2G%>Jdq=X; zYi1TKrh@RAv#JG>c`rx~TS(4QPH|?#t??;#5f@IkDA={|a)h4+0E2x9WZ)F66b-v1 zEThxg9DBk{+*Yrzl+_2NZC3JI6T4-ae_L&Rk4*hCGC3|Os61%yxNYDe?gEn2?Ej?& zs-1~9#Az?0hL}S(6k8QnTayr7Xvl!`G*)}?iLwU2dESP}Rsp|N0CY5nl0huc?bd0S znHVk`2j<$2l4xIdrG3pvM{!CuzCK;)z;qel&E4A?r}0g0I87ES1%@cQmocqLgRbid z`b26mFge(PJ-`inKpJ+i7ubW-u=`}de!~1`M?Dn4wZ9sX(j$qH;6x*E@365)Tj&7V z#0KjFoUIOd22(;4CDiCm>4d?F8cOI(3H5s4bV5y{o)VNdmp+KnbM!&!^m;I|DP$Nz zDb@OrbP7ZfDw$0QK|MR2P@M>-J0*=Kfgb!s*v*s$;c@{;l`5Cw!YT>uD8*BiDV|gA z>=Urv+bn_}PK-Ba-d@@maj~WVB)Q8x7k8<=mGaY^Wk?^Nh?uKBDKek9y)lK&PHym{ ztqmUgtK8tRZ^{iG8@k-!u^-C~9{a4^;0vt{9{Z=<;IWa*4IT`H+~BdH%MBj;wA|pa zFVhCE*I4^I7y;VfQ_cpDja+W<;5_684@N+4@Zcci1`m!wZt&RH~e#jXl?M|SmXvjL2mF_dJ#HG4FSi}s_Dbz&cBQzz|zQVf2_6bk4H~w`v=ExfWjQ~ zkitRcppB!)d=(=gtw)T8)sKP9GL}OdkY()V&BmiFc7wToWB&o?L*etQq==Fgeq&1{ERAFW7z zwO^+%vxIDUz}nfTCJHmEb(xL2dERDyITW)q8a;y?MT@aieubl`T3-VRsaKGKe4a~? zhl5z2t#%={J4O@Fk0Ef@;XLs?TvGcY&1L^~dyvW^#j1!ot2keG=FqqG88uIh!Ay>^ zak+|G#E`JWR;=tRVwR^Uyk3sZU0_+V9RHD+IHxbut85LU<<6GDSNg+Iv8gXCc^{gi z^QzgM=BasK>Mm+tmp8g1y1`(FMRFVm0e{4%GZyPK_vaO{sOis#zo$NHNc`EV08-^+)Ws2M6qJBgYn7u2|YM5WTODT(c?U?`wHS^(!$(;x2(_=Dob z(A-Rk!`0JV81M5{o}Ms*gOFR60%?w?r};ZTS!ez^-e;_>X<|JbJh3E`nxFFzOICPsE3$2w%{pNtb1s>uKMcELXJrOi>CclBUC_>Iq{FA~o6 zh_#2X(zvbABYR+-2O8@-&tGpAPanbtN}JHe@=eQWs|?yc&g63T6}CT`;oqUt*%`;r zVD0xldi*KGnj}uBfDv@!39z=9JLZ;{3r+~|j!Vp?CzKCxmT@pDhbmSGPg7m25d6-d z4vPKi5_8)Lr2zK&2}7(?El5doChzv~X5)Yy{i~*R$%8{I<}sV*4+ZB0&$F}{iFnCY z;w7Prw=@HnFI=67ombi z)~Z;>Zr#d~IZAz<1MdtvZA+^q6sks-`^<^lw4-o@r^dA5RDhi^oM*1j%daPUS26%M z>7-vr5K9KheHMAIVF{@%LYZ6$L*eE`p84kVAEv0ol0Bg~#|UP1xrs{JN}6<4#aIfY zrU+|7)(gRe6k|o`)f{>n4BNd3fO9N?F zLNzZ3)+xk@Wvh7DX6a~xJ!GucA40l)!H-cC)-x_WVb0G!^!yFM$zQc}6zB2WYG9Y zb286JVQjGx>v>BI69>u9nH-6^OTt0MX&zLTvUyNhM!L5xLuHv4j!}1Px`XbnM}D39 zLb|(2G#m3|yUCeQR^U=?5}jBykKu8Yo33ddE--UX9noMhoX#@)!No$D5(?0;X=3_pQ?&vT9Bv2pss6N3>en`+LQ<}^TeprME5s_`oxS%=e<(`O! zoh52Km+1kkAGA-Lyn-@{duxzV-(ilc- zX-lKimRM@x215q1sPUp~jNfvT$+pd#rAq8cDm zF+G~dRjg^Ty^@3@1k<7=WqL18+l4K3$UME(>zItwBbiLYqK3#tBAO_G@h~L^$0A;w zj-n-|*WTn8@YOuYrqs@eRn?fvzJr5l!x`=ha00;(jawGuv+=wx19?q>v)=(z8Up z8x2H1Bw(YnVD`{@lzXp%>Lo0CC3Uu_an_n8NL7CU{*G})@- zXEhn;G094sCT!F!#qeD7v@@z}9nQ^fETS_%N#!DLETI>da#l0 zE?gz0*Sj2jw}BIL&)%t~(fGr}Neh8{rvhl&u`{_J*rs~yj2NWXE0Db6bFF)Bp~dlf_> zseX(?>F*jKy}(RND*d`4=il9s54MI4hvd^U=PQQX+%l(6FGEeTY!u6bb^Cj+>7C`SOhKrsUFw*?4bRfr)7HS#b5te{>5@W+Ms45nox8Eqlt zFmY1>d{51%H^NWyU%tJfJ@fX8W!GREcGRxhzr))r94S}cUSZ3ynYS&Bf~@*qduzp) zpL@K8)_mGac@rtu|CgS76w^1t=irLZCR-;TZ~0D6KE8V^Q5ktP)6FFtWgXRBD3RzQkeL%Gt~* z)sSt+|5r~fc_B>4x5aF?+jc~45&8Zr)ZXX5&geTipKZ<@>d*c%YR$Z7$EM={aNC}6k zbCpd=$1ynv3%4cQgP($*Q&%s*New|zW4g#5#=^=BN3x=IZ4HSo>e?FKOZi->m7r@r zpjPU=RWR+;@+PQJE=Eh?giW5cc?x0FD##J;Rt03A0anbwaYXlxFkzGT;Nr!sL|fg#ak;w2@3Z)S<;2~0%J)gpGA z)0clJHATRwsqNB!ph^%Vq>~7)?{KcUfmQ(GT-dO?u)@4(VpXAJM%4u-=~`BZM>er? zvn@Z%ZP6=H)D$uIPCOCTfTpG@8n32!+@6VK%R&|Ef*-MRKPxVF)t_O%5(93;Vf}Sv ztb*PI<~xZoNCG+PeiG?mOP7u;a0_N}*rz~>@Y~hnQbr5mU@#)2S8f3&oV~aZozsHj z!ZPKHAd2q#!L4xJY*Hjw;Tj>o`NHCg`4)q2-2o(r$d;=x4>CO}Eu(CVa8qFEnw&KW zQ0>1JZ&L5|k2D z9^14}f7@e7O@ZJ*@&|OR9&^Nt3)x2V))#xdNYK3FrL~ylu6qQ{^FIrVPv2*{yi4#k z+$C6LdS9vgMu&{Yn*V%djdMVdtN<7mTUq}N?h!1DX;WY|_8SMA?}a;5 z%!9j2GAy6N9n0saOv@+MFx+Nij(fBG2Nrd5;~5zT;9N?eM>=Jvk(txE<0gc z;HhpJt0vOXbMuS0{*aWpX}wQ7rCW`|f++2s<`-SFYh|{s-m=Z4Y_<_4EEe`E!3}108B=;ve+{h6M19}^emx4LAIsx z@-^gw_D5EoX;iZMlVMZ}gF8^F2;KxmDd++4&NCPOvHy`9uU&?ri&%$-!eB^|YTFdT z#5u{~W3jhrjH&)~bCYT5krG%gPO|9lB?~r3o z+dHLo)GZc!s+UGszA+X{+iJe}&VVDI>DCCz#rD>#-T+#M>l}bb>=}^#mIO#=Dlgj8 zw^%ji9am#YXrc6_F2AU5X`3C zaAiISOBX%evRdjT@DirU1=|P)-jM<#hTS@=lo~U6yHyGd6wyrys!30I$p(-$Dp95; z5(v(^3`;8Ri=cQ<=Y|c37_qpE{Q(o4kEX-c1!gfySGz=Dh0~Te))0C2ENE;DSmd?B zoc`V*HT~QwZD+RH3T?CFz3+jiylH=t8G1hlPi61pW(srq`{XW`dVef_pWj;)Q}%^) zGtED~PZ#d`_m0Hx#J%GO1gLe?>dbaIyqv2u=G!0klVHi0taASV{2sBNo{#zyJyTQK z{*>)UALaEm?SHCJcM6gxgu`u-rK=P}lE#`Ih8MkkONN}Mkga>H5Tl50a1e(s&h7O| z8yI(tTO<;DKeV(cbAnn7ob*z_yovw~sG!B=ui!}!KF%$vwb|H*@qeShMbB}&pjiKV zRyMI`3*u=o#B`Hv5#945y@ZP!U z{lOs_O8btL%hD?6|E<>*I+hv?ZqeZXZi9QP&3tFxM47h1)9i(mP|M{_l=gi*oRo$& zG;ckjJ95lfgD!(U$G((ufLN4;i^Zx&`J$I$fGxkoa5x*+?A3|q1q+(b{%)MSV-Kqb zwkEm@(7I#Ko~A*E(Z&vKsZG?Kir}lqnip0^#jSpJjRb;4kbvO&dCUDBx9ZYO7Cy*Zd)%FWiwpEE>>jYA}^|l#r{YLQsw2&I88i~%?_(p>{7a`QbPo;n!0KU z3G(8{T(uX3BrfE2aCBB4*Wr1y)SfQZ%PShiRY7(rjH^3?jPAw9m5ibcJ`Ewi4hKEl z66gzOiHRZBUu7xkNBWxp+~vqG!{MBu#d0pa!wvf(NX+>L~ zFqh7+9I)KA$PtEc$7DDPWY=knptQ6=8<6^NP-n;dQPsWVHv+iSk5vAofkSDtd_i&; z!5~TWYy{ZXZ5GefTKCQlZCW@+{)FP;E7?tsp3CZ&PGbY!!#ru>!tQBJly)f6-ddQx zdE6>z^BQL5BHR}vPP>ZrGv_YK<@hGSMT<%cZIv_p=lp5MJ@c+bBXG$XTh7MdAV}3Y zXF>OU#W{(3`>=`y+h$QERjG^Ls3nUC13~fea#mSxdsL|jMXJoSla(1=T-?1Y4Fq5~ zx^i@9i68E7r1UjUU3^qOd8Z?J(2O&`_u) zO)ea+p>VTA=EQSX)!4M_V&yq8FH(50su#H{S;a8uWXZ3B^r1>u>zDK{Dap~cf*7Es zRW27TY|BfBvD2AlT=N+P&AN|{(BlV+331d^Rt>%BIa3*~%oUeUWv>)}V71rI>!G|} zVZU<>+lj7j{-Jz(@>sUds)-R&T)@QB$FXajj&50cJUffwwd)7+YQew$ zfVCB=o@!)bq~_Jq57=yR;|ciK&j;d|6Ir~kYLplD5*R0gV?2uxP=08&VqFTy@VXJp zPh_P**ZU^CAD4c|&?da(?5P@mu2n@TY0G(-I5B=&2I&U%dLBPX-I-O@ZX=tS86I2oTQaVX>Q zAHsRPcQO-zQXxuD!MU7$Hd&23h28&U*#oDt%5G^+r2thXPCS*JZGkFPc#_xdGXq*0 zB4TtL_lH|FyG1(!DK;%3P@h*b@B_Tfw@gHc%?YQrvSon}8O7e7c0|KLei% z`bf+;gRMm5{xev-!R`jgo*7vXf7M*HuR(X}D<+5#48`!-teol5LYc= z{VlTLG*!TH$LI&tE}mY%hILDmEIH9}!9sRfx3pp^M_9glA?shOnq|YZFSN7fCzyMg zqQ$TuFJkXGkg$>hh*QgFi`Y;6Z7s{d&HquHe-4`x@BAIT$TcegbZc@?60e@a2E|mq z?UMH;Cqofm%;vdEmx-Gfv--+jLC~_M0ijGZJ;92^h&gN{sBFkBaseNAAHFIRYj!4B zj}KtU45v1;B~C}w7qZ+aNern$r=hyfa!ep9Q*XFIiWYlHjGoIrMl)j1%Vy+0g&76* z_$m9XM67&@74mB@6*9(K6;$rDp&Pv7Ul2v4|+b!-s%S8(+O{WYsiWU-L?%6Ec zAqbVhCNeicAVrJ)Myx%XUFW^t$Nc!dLcX~AUVQ1rrq?COTHp{wqNPvs*v)a;yXtm~ z*6)7BimNDdz>RQKx6^Q$v*31isu+M4cI&^>1>_ncLCLMbrt8dZ2np(+w=-RgK99}P zF`F$hRm6RM_yckLW47g}or#@MwyUvu>ks3A8HsQ3`GDMDAF3jmLY}6JncGe(7JZhoyc~Q2 zK+kc`Oy!ytCl%A3PO_>7x3b3h6dlGYAd`Q5BAxNUi$iW$A4L#9E* zsh5>w*xf>o1+Kf0Q)ml0tNX}Ow4U3=oFTPk8noHm{OXUAGG|wBIcL%!U}q6O`x&cJ z5IcLzHi@D*M~E(qcKzZK}q#ia(ss@D&O1IiQ|o*KApRY&}Mld}GpQA2Y3k)?iJi+Q6z< zZ6-5?>O2vDL|lFWt2}DCbRe)Vx+YVUVMp10#kQ5@98{qVzQ+JhBe2I~*gn2MUNH{U zNRgO)AtTeysf+uFpIyk3EL+@oA!$Wcx3IDr2!FVxhYkbL!LGDoM8@I}BXlM~;lGGE zXD5O#(TxsfIfwj4rQ72{wAFRDI7^}&idgCt7t-`z=8H~U!4huGFIG-<5zs))Jyi1Z z46Wk%i{!VsA}MxZgxqx?7D9l;)!1TPD*cTztL@_X6vR8~e{F*$kkU;>ROV}BOst$g zyIFG3*4Di87Hm#GyyeTcW@I?uS=qbo%86gIDlzd^*V3Q4Ba72+g=+12asI9B<6^b& zgEb+uy?gsxb{jhyABzz$-^Ny3VxFDH*^@5bz&3SD!{(#}xhWlNc(=6l-qXQ~yQSGX zr`XoP`bFNuK51_&T_X2fcFi~0BImBc7I|dbH`pR&&KujlW{Z@$I+s}RzG|OD&e7tv z%kf3PyH~Ma=3(u#_Q@N*o!>0Zp%=@~=hSY$1Z$7A8TxUJt=&ae;AwQm=(-%93C~>i#JbLYVVX{bo;bs?HKTDB)ZYA82g?Jyuo8|Rn^dl>5o^MeS7bQf{T0BB zlstLSOSPI5SyFwBc4V#@5=6{>*~|U(6@$irbOR=T4s1c0PB64<0#4@MF5yJY-Q#MG zkY`cj@*JxdOT`Y_Gm`#@?M|Gr=`>+!m1v}I3dU*S17!F;Tg_T<9V_!&nnLqHeyQb6 zJE%Y%O|@=TOXMgQk+ijtiW_Sr&ES$*ms4$7F0|D$6|KUJ26?1zEtG8ynjaU$>wERl zMcWF==;~@4#M!vnGOHjJFxJZ3r=8CTS}N@vbzIi=h)4$DmteQZ)=ARYG`YzaZb0gK zYOnH#bX>m=oxW z5(L2QKpb#=$k1{i7I(dd503p?9>i%MT^DXJ-e2iK4ElGw;95?_P%j5ay=))XbE}ta z(+nZQ#RNOE-OU1HS}CfJVEXjd68MMEg$~NH-P5($Z)$q|T zNuess`L>DUO{f_=WVdl`zr}t?!`0I=e>NPt(}pXv@|>C3cJ6=Ge6>~9hOgXOwPEeE zquTy|HeZQ>b6A6DznA?iLaI6}c}mUXQUeYtM@kP39)tp=-Cuqm`!Vh(lPaq2YCcC6 z_*$uB#;;jvmec^gOd7zs-c1_I5}S8;OU+a$OYFRaMMU}i&`)o_*kOI8+$4;7tXN!j zKdW;j9+;clvIT=o+&F^AE~EjrVoBwom_)`k`k z4I5dln6KlrT03)K3V1`@zLAZN9F#1e<)ugm4r=jjvXVRTZL-Xi$#=3TP{*#g6Cci9 zCl35cex`H%mA%vxy^Hm+HMX{-Y~026IOb&10D+CMHCbZZ-3&J{n$xZ#?~xsMqXp0o z=aIEy^(ID!@%4BSV>hwN#{E)5gVQ0lMhAT96kHc08ABHz1TMjE+_(XBW#D=lv2qjZ zo87WXy|&RAt0eg3w>PmPU`emv%%+yx0IbD?_IKQ4p?qgW+h$l?_X(EI;sv%Mfj%H+ z0bC&tY-WSegB`C?4;t@550oFt`S-BNHcR4GctCF?4-JJ8xD3>IQ=edtkqriRbo*Ep z9rdFkZrimzu8P@%nh!cOH-7`EL4GL5+_)lGEnDp(1_B2C26VH|HZE@1!nU~71JJ`@ z$~n`$c`NJRBh^_kHg08$D{Y;!DrpPE2$cVRRyZz^s1sVJG$&854fxk zD$UUpeEtBN3kHi8i$97*zhQc|yn+G7-YoILgRGB}_SkROi1=2QiA91f}n75IS<=(wg!t_)lF1(aoLp{o0 z##WI{sP@0r?yy_#4r1J6>~c)9uQ3v>kw&5tamC}T4(rh7$J5p!O=%Rx-yUcE;+xWY zip#(zjYJ&}!FT3EG2&r%q=U6?`-^y(RgT&rmk(UfsMZ>|)Iw&$USixY6RfYh!LNnv zcUi_WGM2|yi4PxU$@tD*8&LBI+i6wW-62B+x3QaGf3|!twryioG-h4f@ag9dq&>Sz ztv%8j+F&uPFowSF!wvwm%mw0wTUnhrdOJHR2(6rDj!}MF0y}1vnDjiWv#m)!$9x9? z(M>VPS&~AZ!JvhW@}KM95MLb zcQSht!xxzJ>`DAs9PmR;4T%7y!N{7#NpufA!I8o3O>E2}&`T2gBlS8RFm=Kr7DzW0r_0YY&2QA8wC(pDr8&=<&jo( zG?yCO|Mzj4N_vsZ?R^zxt0tVgXpxG8l@WX z=F{J#?(1aTb5Y0n&obPYC2o8c9@Fc@L(hKom`!`m8M7Mjg@?Vtey&5hcN=uGjDv^( z-Or>Svgqx9gEi$GaA~c>VLyEdT+H6hj>}S7CoyCXiw{)GR@m`LUJ9N(ZE~{U%IW2W zbD^5j$yT1mze~(;lGZ2}Z$Wgf;;L%aYp1G$}TOE6u`Bqhl%nRnZXWk~td#G(& zGZTL+Dxj8S9QnH-5f)i*v4N?uvE`RwLkvi@v^ijvAXQ=5a%SF6X~*JrUPpJR8JmAj z`SHa%$qt1{ry4doB@kPb#`nGHK3RMsROYqC=rFm%g^kDP=0xk$<>H>VSb?SV4U1>r zVkIZpaAAJ3^~qFD4I7L7=3+DxYbeasOKBw===mvBlVowkg_QDSA`;UDkwcC*i@hu+ zcCpH;u>3q6buyhP+sSmlxS)&Gl)^{doleXpp%B_^@tZD?eptNO#cGFIhEJtni*CSY znegQ~!~RCDl}d`$Y~G|T#no@KqPPv8_ORIF zSlT_waKwytR>{H7G(TI!=Q2M-ExP)TG;81po}WU~Vu12nfmE4jFJ$nj9KJt8GDKPYGo0p zyaOKC0*rfJ;zECmdCg}(h{m(6duvBfaa<3Gr{7@{&B~L)V)q^vis9Z`YI?El zVIdY_Ie>&TWe=+!1Sufy9KN!~0VLygPE{A!E+GtwHG9}7^Y03BUb)^&VVw%Y(kp`R zvOa^s2loJSe}0c8#78^X6_8!+<0o~}9Ld`* z#kY5_6es<@$A#*(;{M;WJlwMWtFTyZsyf??z7Xktxu zs+s7WJPj6AGBqh^x+~bl^Dj!R!jJ|ck}vrn`FQz3^2=UgFM@TMHA&Lb!k5{(c)Pnq zzWx1WR!_qCB?M*ME07cDqs#^3XRm;PQQt@IZ%gr5BJJDOKUj|i_88bcr0(D^^oB2x z{!+a53as+BMia}n-}t*sBfUc8Rfzh#MdPdZbWEFA`YNu@`18Yg;`UeBIQek!RcK3A zhzYw`f9D&%zyinpf%3`}altNDU0?wxvj;7C@_HI^FH)>KVyq7q?75Pf6o{=5`*yLT z(8C6K+-BNqY-qN`F)TMsjJpTl0=L1#MnmUtaiqoE`1gc${HWVVi1Dwpp|-xpIvXo4 ze4S0pRX|-|0XL7Su0y>zZ-krPS5^08my7WG>?$Dj%Qa4HCvLYG>sC35^Y_|BRSWvr zyqApz{d}+&)bxbN{u3L3w-JA06G1=c{fW`1?LkHfao3&D7e4wYEbzS&)VEeiUA&r& zlqaFu|I8lyQr#5pL&A6Nm2L`GAyo&lRTx-(z?oP&DuGLo===6iQWc2H_kr(HnxY{V zjY&%z?e~7;x^@~t>%L=<0qvK5qg}>=l@K58W0gZ~Qo~N}&)D@n&`3q3zKcT;4Ldt# zo0#w+tM7&|Ck+#2F?7K;Y_+%`?1t% zo_2)Knn9t^U&}<*f3SIBrBK#6Hsl+xy^bgPKdU57c+gM9xP<57ZZjSGTY!{wkSP0KeGxAM7<7K*)&2ZWJ&41$ekg{OK>Onq4meI(it~Ie5W7iqe8NT| zN7pCp#v=7~ZB*73rwtUp#-pCt4O_1HPj-)&-LPfKKiD=VPV(~_@yh4W@;vC{d7|Yr zcCt7%3s0|q29MLjj`2+u7krMVX8L)95}u@=SB~+OiF!XDD6aJKnl1f5Ws{gF{{kNH z>%?79mAx6tv;)4LM&vOQ>y=-0*I!0i}3#X~B<&C}{xZwA|kd)3~gvuVhmYrjx|Jo|-8TL3=!M`^*)Ie~w_gA!f#+LZMy|CelElmIKOjdn9v-5H z8a&9BjcZQyv7gJE6MgaAG7J^vHYfVw`DQdFQL8l>o>Za^`We-=;^t(3o#}PWK+-O6 zbDicPCPAgenv(-S@;kdl2bz=hh{iW2t=!OT8eQo(D0Gtp5w+J91yF+!bwEa?sEQc) zz~o@W9dxqg;H|}HL(L&L4Tx%WMFGwbM76o10A?tn);LjKyluCDwl|RbVRLdA;@Dr@>_CN>o&M&mQoV7ZymQEa0&L52Zlw7Vj}elufDI)d8T zR!jq>)8i)fNV!xA6(QSnFkOTyJdlz#T0^386xlGWSc!ucr<@fl8_?>+Lfk{|O9&AIsq0R? zgYdT9c^izkPUp?5vlQA;gwHDeP#=nUM-h;=QtD-Y zD(^raKqZ~GdU1Y?C(Eog)F$%^B4Mng?U)l{YmC3rZ#-gX#X=ydb*(d7?D>K<5t)CT z%O7JC#QAyrnv}B&#MKCIaz)7T>qtjXYumll+5$x%Yq*W70#&-r6(LKvrX#3y3#Zcg z5|DgMCEjYzoDd6Oi(UDib;e9%cC5q4%4gG)_OdR9!th`zPKnU;#VGOHG=EoM{1i& zk+8Lt8WSLn#cm7N8^?IolmUVl8m~srb$B$^mLXrQM{D$W#Ir@bo`Wy@XAz&0=F8Uj z=Hb!;;>)HU=i9u+SHjQr=3Dg<{<`Oak{HCWq>yVJ20rHeOD_LZ_d z;^4`?@11YTlNXX;r99hFKWWg9@+@}hEH4u!{_6#6U z^6^GMA#)hiKE_T7C8#>STV~y_>O)4XM>Xh23$#X|6`F|M>5q%kOkYF{{-G}{b|$zt z1)NxIf(?+qOhv5WHESf2fCoa7kEW>;)j#)6fU)i%Oe8th8}{ZP)@ z=GdN0GOXql9Ziys999BsXz=ig5>^nuGb&E*!w-et?WR7wgxx3}=);o{%Mq-r zK&~`<`+y)jqoTeqKP81W7^9k#C6gpy?KkMXp*dOVey?p#mbu^c=48419sE|*{SIEM zLcIs9XbL*9!J)gTAohaluF(+<5(X&h@5@APKR%|imt3Q|)CJ3JS z7|%=ih_A8r4p2xV5CcCUSPh<`5SJDLhTmw*wM#ugE#ggt!nRx>7U4Cy$Hd1dGX<|5vLZDERI~tb zG^P(ywF;@V*p5-R4iONEdUI@-(i|a<7LWtpc~m3d;?dqx{Yan%x>kW0oBvwB;sB za8N={ofK}Jr-ez)BN)CEQuf)D2@+3M5S??6YSSL1R1lHd5xZpsDBOzBE98@$+Q17y zW2(iTw#mXvFq zUV0AaUQBzkCs~AHLq}yw%!-V45+Y@b%8ahhu(&lFsUtvR9=&v~UV4rZI2^O6R4>Dh zVRT(cpTzW^gP0OMZ?4hKDX|RURD^Q%m#N8k$1t3V+c0f=ZK*TK&62e}v;c}_n z4hThV2$TW{MQ#Wb2MGA=oTLB2)RGl+V6y9R`PfR2Me=cP1g-2;rGQu2QPlxiJEe5* zD8->gnFvvFKoveRBKwK{D{AjhATl~iaosvB6X~))*3DOM64>-8e=amsuRx2 zf$18f>6)t}@Y1t0U7ZdfvRenR+=36skXiFKP5&|h<7-b_XP~G6s8GebMrD^BujZqZ zpW-DPigyhf#mkB*-X6OY;I@WjLJ7Xun2b3o7(aiV)`5liAU^#|&#idgMb9xcuC#~E zlXQFFLl$*yZ$z|>;DsfW!EPF&*Vs+& z6x&AdqLNNINuBbPEHTq5_ER#=S6AtS=$AsMsA}XzDN0V`k9xE>GE&=W^{x}oYpmxE zJRhW8c}<8~M^mNCR%G->MPE-ufRdsqXpg_s2b!%a(lu1APNb{7l_NDdtH6Tnk&7f0 zG;)P(gs_8A0q;(n65Tsan?HR^Q1bNX=fUtu?LY$}4VuberX*gSHqfkBk*+pC{%IY_ zD^qPWeLH0ijF$_6#&##tRcxyhnH~v3^;R@t6M@<*GpM0+TF~W0x~R?1Hoa?qVs2b+=>! zkXCGES_)VjNtV!RRDo%fUX92ttCfZnT7*xibzp=KAe;oAP?7{%YWS9bkC%jzZ4pM$ zA`FC*FyLF1GWHhELq16$_=Kb+5SY`Y(1(!v4)|Ch8u_Q{xr3e$QmyEM>P~E}5(Yu` z{()#2wHTe>swJ_MLWHg54{2CVp=5+OEje*Z_}-dA7RAGn-!vG#hcs9y<>xP#XCZ{= zb1Q{V5G|t+gN^;URa1{d#PJIP`_%-!j4(ZjaF}BOIdeCZxI5#k_j zNfdj=@OUG+19qDZveI3sX{xG}2={DM3MV(h0nHpyGL~0W!f0njr0cP%vz3X|SYA|X ztdW_B+TE>lBJGl*eJuascuOerK&T|pYF)MnUpA{Xg!Kxl9l~5&?nu6qbWAW6Aak3T zIgS@du^KgjCx-;%F<=s)G|1Yh$&Q5K0Fe-UoER7v5Ch4_iD{7tq=F4jB!n8RlWNDe z4DO>4cdl=uFww|2QkZN!gLlvamMR?qR;qFYke%rJrO+u9Aiy#eLx5EZ3Qbz10thhe zsJXB?Ks&qBQILD|>XH0YA2LARI_Tp~L|aP*n}G3qemu{DwAVbIm)U2fkfd7uD288YD<34T7n>I*;R~c^pNBqKfK*uuP&Vx$~3BTFxUeX96cz`YR{! zJ_zofz$*|uJAn^G@Xran%$B(!85bwzq{LG>N%#o(%~sy&DofgF|gF>kwXcd|+-89>nw^-t4L8q7k&RKmp=SfI84LT#rn$ zRZ#aGMRGOVYnt&%c%JYfpUeP7v7QVXsUvB$z&{4&!b^1LAz%+EFJOBKx_7P~gr};Z z$%0ft7-~lZfkYO8p_))lmhSx?7CaO>9K$CsRzd_$t;qP0;Y;}RY;`6CQ4%IMvJfec zY6KHm7;@l)0LM~Em=z$uCPRQ_WTVe;9mc;bJ(R$yL65pI5!MrFV93t&VCi4>x*?q$@%dEkmuIB+F;($>bvxYidT9u`(PJM9*Xrl#z0sSve z=5>)<)&dZze>}$Wwc=xgmkrIy0QHiOar?5L1D?4_t%jx@`A)$+fd!1m9=SwZ{Js_! z3lHN3;K_v=LiTEzCl_zA{dYLYbBr2FPzBeOq> z=9MrB2T%p(3UT5TenhGV7@HIadOS(5!H8ls`amUh1d2l*dq=f>pyzl4-#24uk-`iy z0Cc~rt25=!%)`Rx#c)y<8r3l#hP4Cgvl9uWz%_MjJB^k?@qj1^d;;~SM%}d%$o(2oSj=fyuo`Hd5f)W_m;35HXJZH!`sK#@Oa$WkzpdG znPy1)>)Y$S70B_$dT(;jWfl11sfODP>6SywxvVYdqE2D~9JyDv?^vlr!i=WFU>J>S zK!L={Ek|f{;1D|ES}Bg`d(lX(1O&tKl8e-xlZr3ekPOb%eOPCVY_Lz( z@i%G^{U_E49u2_^?hGQ0%P|s3s?K_apBlVb=+W^A$q!CvH1T28QNc?bi>OB0^8;#W zAl08&wX9eSTLbkxSbuo1sq9v;nYsPvn8F(*2zplb!VXyvP@VqLkKW6ih`nmD=I4f9?z$f zs6=^)O46N0h=@1}c*8y{ny?3qCSb%t!!ux%K~aJR8Gc3#f;v9X7oP~f@AuqW)zy<7 zqW|}Ke_5ugZ{78rbI*3qz1ON~CQ%xJnpKeq-l{@<8o{Dm@8D%41Ob5rh-)dhD3(!BE&A4s!zK@HNS=>w#vt?$&W~7Fo8-$ zRhX8k-C~s?nOEO@g=&Appi4?aZxIYJY~LAz(MRHCE7WkIqr~wRCKcDLAhjHmfmA*E zO4VFs5yTZyuPKLHm@@F+a7Cjp*$L!^2OOd|5xC)oeeeJYJj%g^Cb5I94kr4-oB~xF zv`BxajE4~+YcU3nje#C(qj55w+jUveK(HKnXi|Z8v@$%R6@!X$Fr&!}dy##QqXRok zvH^EFJkg{Y)Rf~GnW|5_N;PHK83WRCB%*v>e3fcDX%PLDarnTIeecJ69~l6P%2e4f zqQgR@Ybz4JWu{QRW!Qq6Z`VjarNqm!(!I+~m;YLXT*~cmC^z>^~S8N>2!jL3m?+dbM-drdo`T6C6gR4dNi;mI zp(0iP{u(ttv$n>TlQ~dQ+PThaJYi==PCJ##VPQf`I}p+}7?n2jpg+OT*4F5=uZ6wI zJ{ijID}N;|uEe_gFw2Af*au*`9Ny=KTL1^s`Pi|B-#e>_*0rd~*s9oLjnZI=iIkO+ z0t=aW4u!rb=vspSlHn>gyjdY0+sHpd{8uvwX!><3fBY&b`YTLEv*PTA{gU!*B4v%F zJn!3WPf~m87o1Gh`l9R9iA8Ji;F#8c2W^-$V{o|@w12Xx7qCJLb1|qzWK-IBdyrE! zYZbmo?XCceRvx7)@H>$^PerZ~OTz^2~!ibdt)!o>Yg4$;z`50#hya1=O;99pc^#}Y2e+!Z8&P?51!#Pq|T1DSh!qHNIwY4t5~E2l|kk)Wpah2aam3CSA8p zpLUZPcZ%>@#Q8d0*-%u;7@t+jz-mMbcq@6_V+p-EtUos#ay~vUMJo?i1e_ZlzX;`! z&;YH?g^GuJrS)GgtvTup4?kV}l-p2J+=>d98?1ar5~MOeF<}Hq0F#21A}9oO7&$l#y2dc$2K}`l>pdS10`8 z96x(}`~?)oR>D->9WB0+bHtq`V8AxDnRA-7k{Ua5vX{ojP#x?3+F~*vkRS%+? zPQF=PYl0qgHOlUxwC56i|4arI_Va5ENC(JbFW!neT%9$Tl=v2 zK6C)l$MiREQ75(S#aq?;VZNPlo0>Smk^q@UUlBBL8@pUX#RN@jeH*-BSLtux zran?6xS$)$U(}YlK(Gi#ySAS8vyv$j-MlKZMi?u+m$K~{+A#dH9ld#i+A5{MxJgE6 z7hmBICBKN11EZ9R;$JlB6h6ZcL!|~&6n_z!2g}3;UqCiU54R)51Yf9dBgT$^T3hit z(r^5WNXG#)H5Ca^o!LuvI3~>^ZhsaSGPNlpSOiE;Lti@8O%RKG-%+23ZoA6`5meb?@!;M4tbp+LMXIhDhE$Cy^Bd#k|T-H z)R&vIod9)4oGq&Ujd!ZaGycF~$ox+CW?q*5<0KmfWP@LpPn$(Em~U6ziIB2u^?i4W z%VX$Hg~P#g&02AJeBgPnd7&Mz3i}&+CzGBL<6ZY)+Np|oPI*gcD2|IiH7xyfnaPowwa(abQc_v*hae08C`THzmOTz6J*Bx8NKu_ z)fn(qI5@M!Dgh^fyB2C`w|?j@MBo@c1f>jc*{Bb>Tb%31->qiY<%Gm&cHnx3GJxog z@xmQ8Kp#g0A)uVYl?oH3u3#vg0jr0dT26Qc5NkZ(aQfmms<6M!xWH(y#CQGMyVbj! zja2Xq3^*bR0R677s|jl73Vq(!p?E#NLVxS)>ICNo?W{xKlVzA*c$X+NQ3uC^ykr2^ z>bdLGL}y69eVsZNymQMsb@BKOL_1W?e&`bl9wTfa0MPo`*2ll0-io%?fBze*Rw4h7 z*F!{Hr867UPt=a3`qvxO$q=!J-vfu;Rr-v3)TE|}WrsstGYD7CL^!s-^d527-FJ_n zdPgP!8|*{E{QBEQbsj#R`)#!vC-qOfPj!^fv}}}fK@9!j z^Z*=NF*+C@U)iFwyxbt750;!>d%rq#jKM&FrJZx2h@q?NcigZ3oBrZoeNR1)$77q+k!L+1 zlM3QprU6iy*<@3OkL$HD1Mnan2SgXtKnq2BL2YV@Vg{fsg0|2{S7I{r6J++ymlMZ}<ajpHH>D#5D$H~`d&C*6OK zD2PY~dQ9~R-U%r_kY<2^fOcU5v}b{xcP%XM10g~&Jh^$iR{#D%mCnM6ie6wRzbqYu z&sbqHphrEV^5vDGwGVM+NcTRZ=GC)T@zMl8)I^HVu>S2sDme3Opu)t#VWX&xgTun6 zjf2DaMlc}}8Y%+;tk0%~j^{aiW=f2U`2_y6kT9v_b{T{uusK-S|)lDf5WC3ll%=NwI+YVipeH_!_{v0xq$be zJUsGtpNo2pB*6TzJ65Rvxx<8`=@YWsT`OR%;{0dIUxe-1K8?|*ZBes|yDh|u$_1iI zQBmfH5$8liRsu4a?=T(M#Y9_(AWS^YqPIeY+rb@wWIPr~{1Ad;JFwZ&2^z&y5=?Gl z$ce+K6s~I`4#gPvE>_wg)u|*7H|WJbR6!A1A8gHqz*Sc-rgA1c5do6eqE8#81VRE~ zz+Brv_1C~0zt);xB~-LGYyra+*y3+s3+{7M6Mq+ht_a#B3E;hqPW}eE#wH5@U5&}# zz?R*1B-lcBb_M~*h=;2Yk#C>7WZ6=beJrdM7+ToW*(vo0=Pa}!!0yX zWHDWZ-)q1wKE&i3FlKrYYbzDWeB_ok&NE*cZGbC0}E1Wz+lEB9D?Rw6jT5$4& zo~{dm2|cBk+~qxm3s&&8^kVh$o~)#nN;^j{?@3>NcK_blI$kLd-xqj)eu z?-*2{IJh;gend?<8oR7g%X^kCTd}gQf1u!GPoS1!6}CHNG0os3tj{_09cFTzjBq*kV+kWb62H$?o8;GAHNd9|`_o9}xVG9{R7GpVa_`b72AM-PH z%UDwgTmm>W1@wRYOii?>5h1_@Ccn--hOmm~K%orP*g?UKz}D?@Kp^B3_zuQ~h)Mii zt1>_4=!rDU1zg;?$uJ`!`Af?0?88lIV=1gjmn{W@X+XEaP#CVp&JHu1zQ{Vv82Tej z12M58?%kWqv+{PTP6C%KH6%yyi**Yk04nTGNa!9KdKoOVQChq6QbU}#0iuZcM4oMY z_E7*L;uvHvi88s7U?)6!ituB8Lm%;%6aG3vph0wOf}Fh>ZV=AJEp(tu>DJDMd?O{i z6P_;`)L2-l<{VXXw~nxiv9V^WzqeIQF6R2>U}unTHJOIA0ffZH2?IGsAwb>-Yr_+< z7y-us@k8N>S6~aT=mPZw%s`xefVD8JtP8%3I*XAc)mh-t=(EGs#R`R%AB3Z@K&3`I zj7s|%?q|WhF#+y%Ryi_F8uKo6a*fEH#vCLY%GEC9z!tWmv~1qeMXEdz{E5 z3O6<6#w_5=W|>BO!$=%S+R~6u$tqR24h0=7c6^^28}n>vzY|KSz8Cx<}LzKd3r^x^Pf_LRG}HD`RsV*6Ym3u*wOu z0+8`~Qf~njP6&b}5OcX8f4y)@^r;={0Uk|8(ZrGE5660D7IUg=VQ&#L6n<&RIu-2&(MrP^5EAhZ#CZy$L$|k( z!T}oS3g5X{ovl9SCFq3p3XGsYcL#JgHLvPaKw!vMP)9>G=#!VOiH(_Wb zO?8D;5{_&OI0T=A`pIpGvA%Visxt?1$|@hFhbhBZh%%D5qD(IK2T((X(8S)_OdrLj z^yMs0LXH=DIlOEY`vZ{JPV(nIO^!{450A#+fEyj4%h0|U&5t$t-kJ?UaNl7FIAn-;~|>#dw;1WoE~YIn2R7JX=|E72s-INn)x$3 zOe0ovCv1`d}T-EOcaS1)?PX?r{31Q@Vg4T4d?RggBJ@4{d6xjHQ!6{m)jB#oj1@Q1{x z#MOi}P?sGOmiaj*iGhY0;Rdxcp(EFY-*|9ENlw6(qnTMPPHto?^%#7<;gpZch&T{4 zus3o_aC{DLdE_WKsO}RRMxiXSfK_tY9(P*yHjHMNl#eW^FB&?t5y~=V*R)|q05_}| zbMs6Vfg3kDYUU({7=z+6;{9Rrd5%LLcab}(2<)KWDsu%3!6o~M`Aq3o7mi*Oel;2= zT(xzfcWxpf(WB7k_z2Fbk>Dg@c)f@ksGXO>dR9<3F9mFb+kSihQXKB{eks$-D_82m z$8FnKT7JyFx^>}C?W?K_e_~(hOAhnkOyLhrO0p{wHO*>OL<>i`vs0;KQj&(INV!6^ z^>SH49oeD*0}%*-8DOkG`xD+BN`LRm?tBIxIG4H~Q@^-IfBaH+I-l2G>YmVMNQas- zgEXioLk0y^fe+uzOP9K@Wx>~8=AOm^`ZBkh&&MxwJD6T~xl8x`VVAqJ`13uNyK}0( z@8LuoM|WTB_AqU8zdNIWI7jy~7m@Yo^!4rpemeAew@`G#CcC@A?dkhb>fOMBD`R3h z6aXHy#JvkCC`JIiWGcaPfV@i91Vkw!+1jy~Lf!ad%zf=4!c)ZJN@j z+~7|Apr~+!U*2DUBWtP_80n7y;aKtubP+=(&_#Td42tzcgf5w7#(MCS7}izy*U^q2 zt#@Yh7y8|!_YKfVMaEabm5T@BUN8n64UnSc3fg8LaWxdFoH}BHX@DAea8nLKm!Ep` z2=cew1NPxBB({nNG?~cZpqh2C$|?!qM~GHjTanFIVfLfxC<_}*WRV;K3?%o4f0f$7 zu}mxvG6E1FZ|>yak{xs&dkHyXu2PvVkca}Dvju`hBi_tZedrjbiw29h<4k(S!HN_o z0Yu%yr*sbDNYVt}NP#Hq4QGHuGO!c=8b>-FK6D*ODfA4{+R^O0?&9t$pC=+ks?A)? z?vLN^`q(ENWQs624r7-tlSdG41a?_k@^Ng%=s#e}0V!arZvD`TK=!8J>_QwAgZmy8e21oMlZDbAKaY0*ci_ zUSK}eRDv-^mu@(PrS=3To9K~(B&C>`Sdc+zhTE0Bm+nee-zb12dKqVps;5hjBA z&@DseIL1)uoM-tnu}m}&4TjDIp8Fv15w-5EQURx;N4*NeEyD9(N#&pou=RLGGO#k5 zkxb=`lr-rnQsNo83wiHC-Mgu}xbM29!&P)D5fZkyl@wkDFIGN*h$>hw$jh0C3CTBX zoo44rA{9&sEO0N_*&7@a$k_+6?+rOqN1(h+?C=fjf!G^`*nt=L>7h-5pz7*`m_Igx zn5~o$Sy1NTPY4gk^_da#1}zvVhS%Smf@g)O2zbnONs}5y)MM8F{50YP9>S)SECa^aBS&R6%#jLq%~#`6(v#Du{MsEv%)sZ+gwl@OW9hXhp1oi4`E@ zq7pATIuN1@Nh{^5!A4P41#EGASgb*Tn-~C3XCCMkR)u0fU{ZNPJ_4P!cIbDUBZ&=>X+_?Vjr@E@TX)JZ7+eBL!oB1s(sQXVnw9Ewj_I*sv zna$RE!}}ylHKHJ6?k?%}8Y89~nW|4cR~<$%wD??j`A|49nWV8FNlg=MWA}1?aXQt< z(9D-XDx3o1Ii`MrBxHl6m1z~S!DwQbj#*HK6Fw`gTUC8;JlXHjtVOdz8*c)6(ZKfViH;~U`LD8ixOhBzH z2piTYn9?ECiTMbj$4V+_t5i|nxy)%UN*7)g zr61W0`~Q%!=!d@O9%6_i6$=iU6(j6! z@J_lI;@VObq65{DRb-y0i%`tEau-tz0`VOIOX5314#7*poc|XoUG^qPR?}LH$^#&Z zNLL7YV;O&|t4kND)=P&w>-Ci%Q7v=g8(ip=IiaDR6cb)@JrN$?5Qlz-I!e+{eMG%! zcE9|z*T3=ZA1Az{G6}R9u8WfNdq1j%n(y)_c=-)_(?`|66n`XN zBhD;Tw(17ufcyeXoeR;%qgcxJC-w3tzG7 z3d0PW@^K1f5q){JK=sW=Hn>YR5e|$c!#4itOt>AfXsf!QGO^2xJOh z#SqD3Wu<-(weG!AE0*NOt|D}seROf}m07M&U-SXggCGb&Re(JkMyEn*=DFx*}1in>;e3`(H1%V74% zSB=@{g^gA14?-wz#Hijw7qNbIV{i1We(s$kOHR;+Fs?Dm|6SIb4yWt-!6N)H7 ze`&dDW-e&*O-0*BuCL_9KM52wf))=?P%QokQIE0rB_1?V5pPQ`2amQfN(0hFSN?@@ zGeI;|iP9%E$au*eBd|#gDR>tp(Jom@6@Z+W-$o_gTj{7UB|=ox3|kpX+M_~bBRi-n zum0+a5^wyAVBzS~KdeR-_c6S#BZszue`Hm7Iv1Z~83QRT%yJ730S zgZP-#b$k?(G2su^Z*kJbDMjP~6tF^JbSQqIvSWv2bR8^TP*7lh2y>Fo67Z3_;H?)s zo;ZorF{#SpiHGZ3IAI`>9go$;V(gFhB8v@*-pmvafyVNs(a#X{8ap*mYbsAaJe~0v z1a)~ofm^0>0FoxHA_ZbI@^e`1u$u6mn^zQplQI*1<&_&+wjBnT(>6*8i2vrzM7-tx zG~(TGog`6@p?KpWtL2#ippYqh2f2uMEU76tKEz z#U}etUp5{EF82xnmTNB_C;c|ar;=+E@33_0S_pL4C-`=hLX7FX<;0;R`%*&Sber3`?5B?G9K z|4b~?=KhdoG2$))aF#a!2iC<|1FV-PJEj-m=2fzU59Gye2xO(G+kuHy%_omJd zvSBj*{lVBS2rG9v>ZA+=f9$;HETHNjbJRNbxom|Xh8pk%IQJKQ%uHGM7$+Vo3WS;B zn@E)7t(JB0tmhk~-iDZGk~@fYY1eig%)3ZK z+K18$XT$Ck%L6dNt?}G!oL6^B*QVGZ|5z6?LE@FNHDY~k|{ zU4A3h%E2$V%xz8KN2P|ygr;7H<&6C?g~ee^YgbHRTEeieX$en-Dg30=T5msM;lmi_ zaCxF_FmuRq{m~_`;GdO@k&(RGJ2*zND8d+vP!YN#2I=nX(V|(MKL8BE4Hwwu_=8|G z7ww`y`gj1Q)jo*q04%E_rkNO~)@TMHi_}63Nt=0uX(e-%e=Of{h*hfxOWz=@B&}T6 z9xSW3gZ~_8J$43|3D76TL93krH>X{v=q=IVhgG9~>RctUD(#=dSvElxwhV~ijD&v= zdPvRri;N$j1JaLkSQn7VkuB%&;vBb2v$ZBi!RFu^Vs~_iX|)kKHY%hDqXS$c&%jeg zpV|-@x)CG5F_rPSk|uyd3jD&6{>}2?dTF<;zU^SG~vw)<^5P6p&a;j0-q7H^ha;@gP5lHb5-z-PK`eIDjOr1f?QWAx- zktCL-Ol7KZiM7Q`ls@euzeWH1d8%daF5uPYskhXWz3{mus%eT{#*C#B4g-$;v*NrB zA(ZqnpMrn(M>4#Kb!@7_*|!)CxY4V0w*OuHv$ki3S?*C?;GKkfb1?o|hU^QG7gPIJ zr^v=KBZt5e0^hsyb615Z_RB^hhW^2%jQL0TWuvZft(G+WkM_$(`X59BX>Fev?bs_u ze=8U*J7UUJ?#o$uMzm7C2hkjLZC~{ys);1?&m2zSMt$$6RYy-e>!>Fpj2jI9dFgbd z9U_RrXon1j*`4;OXM6?=YA;Kn2F%{mKBMLoFaFw!QYwt15B@oO3E2I&L;g8?DXR9! zNB7P14$kb2CPM7mjv2zfW*r1NIfqEmz47CH)sv_un!RF6-z?KBTCtF%`y|P()E4WW zbq4v$JRqhm#^%+ZqQD#|t`eB1jHlZybYU4fgdXdm@NK>3*iahdp6zyBhf zO0L4iy`yTql#72H*Hy4<#nS%$FCV!TmNq$?SlY569R=$cgV~9Aoh(ROx1HT>$&*e| z5^-ttdO4wucaFYFwG5L#%n73iO{o-m8I>ulWvA-V6||mkIcvb8oIbh6p=kBv|VXPBc@j-yj?Et zTSLs1_Xd<_$^p!JVIFj9>@GNDL_LwpRN1SfE*~v;UM5|OTyYn9hz&dlx;3o0JN7u{ zJx^+@XWEfc|IA~vt?VpGn}u<+YAW#Cb2Wh)&7$R4EBKHvbti%-;F$Jg!!)BZ!NOyf zgWxP#%D|bCn656*>O4o5GCiZ_hEak2cX<7zTuRKlz6PlMJNW;vC>sWaRgGq=sp@DHAZli$qkg+ zCV(qjv&HB5e+WV!7KBzvh3%3Qg+L10UzDUsoZLXPPtw0$re@kug*mSW3=>! zQI?S~6U$53m=2hf03IC;Q9!<{=X_4do|wK*;KDqDh!Rq^NnxoVwaYdsCMJUKW&Hrl z2r+Xto?+C%G%;?ehG2iCF>b*RIgR6ZSgDSGWKq*Dy+XH$>%%v*`p-0}4=H6A2cVGf za0uwM41H8m5`R^aMkkYgE=gmONx#3jxS~{!8$5W+9Hm=WZ*9!HK#(9q@}m*dyU--> ze&Pz3EtBsnodpqh`Qz?l*e{Zv0(+TDWFMO$vdbm40T{r6w&sIA?OZjTw8$8C9$lHh z!Y{-~ZGjGl#gYsb9?U;V9w};a;hj=rbOr{Fwm<-2GD#G?a>U_{66@?+-xIm4ETxEo zcZ2C%q{5XIyvbn5q#3YmQ5}b$zWu6d>~5}5rxGmFo zHa;|hxi~=qmf~C$1UPM+${CNU#{~+Kj?aO9>T$R5{(yT|c|1u08T{jr9S__sb{z9z z{^L*3o4FXlHD&@u(dAHtSYO)QdV~Y&m>D>lrsTM0ZU$wN{?aeqCUiQt-JR^z>oLD^ z+m14Q2SS>l0NEdk-UY}e%u1W$miMt^FIcSkhJE;GuGc$Cb?rZU&T0dd&{^ zNatex#18jtK<3TQxQ9Ep>ZQ-PN1J2a;q5k%(NDhUW|8BmXWT%yKIx8nwMbgI>oE6( zq_^*D6v6<61kFl%-6IMc8=NJR&_)Rdz$Wj2BbAiNs>~wZ22uixIJIK(fJHDJEaFs| zJnuL)nmo9(f-K_Hm;jN_5FqZO$y^l;uDgOqAOr3|vB7jSZP5|Va{czFFj>+EHd%%a z&SU}XMzXU#;bFhIRkW9(?jORfz8sBUas{ws?zBJL>ZiZ^|BPE*A9X(+cYjX^H~?;S zF!<7sO(CMP5f@fT$pt+bN96TIpUNZNQ3(AU3>V~3Xvf;epC>wlqQW=gKj*>); zL&=e9oL8a78J_*t{RJdsgOyO5_bj0jur+$!ZbcKoP$8O5-K%KA@FcMZ#mfgR+TO|t!ou1K{7^hJm&cAq zD@XW%Gh(^^-Y(yp@STTxW^s;l{|b0F;GQ=d##DFU%uKbzd&oB&{V4~yab1p!bN1K^ zuBb&zvu2F~9$Kb}w;w4U&pZ^jwJgxoN9(&W$4#;B4A%4&qb9kUK>c6*>vUYof&ow> zzRQ2b`bH)A@Wq_d;{e&wRV`&GC2$9u!Au3Sj1n#_mC`)c(}7GkN_60wTLSd#tT%ag zxD`VBfgT(ss2!8`^7{R4UM;BUk)|?!aoTHwnuuSud;H?!IpEi+_9p4~j`Mit>e6u@ zk7_+-yvHMCKRVu+PjCcPDytP=J2b>gS zVMZTa@6C0t&}Y{R1z%Dx%;{B7!j=qJVWDX+5V+;<3jrDP%-X$l;D*0%2NEc-M;wET zVVP;Zxo#J4-Lk+c(Ex$W$0f!*p2R8eq8&HZSEU? zkLL2}pQqh4ua4I5Yxi1lN%Eo@UVBkQsbLSeM-Xx5IGfXtZ~CG#Cx;|f^Q=S&8=M_C z2Fgk)g?&;u2LSFy`I51T8FMKZHN76W!^xo+!nghhDt1tD*h=K4m?tWaO^p2+4p(7K z#@OxQaPj&Kq^`Ubn&Dh^x*lrx4#U27r^o4Zd4B+|lRTYn6e$Rs1grI#Z|Zpyyp!wF zat<9nIk=~?Y zL}H+Ug+M;S5Y8%7#hK*>a0^YveZGhVGSnf?G!$W53Gxz$noUknB9et_nVVFLd#;7X zkPgx|wZtAa5BRxjz1!*4G^6jjJtpVhRn7d&O|S;r+x29L%(=_zGajIIN=|2MK0>=NB8Yq@B-K4yaV z#((mb3jajRm&i!=pSQFW$Lu$2dAWL@tmVL&i(Yu7H+lAc^Oh1B>ox1Qb$GWsMa+4T zSFenrylQ?@q*&ZHLn(0)W!$a|WzYP?Yy~4fLA>6=$d3^7ljt+NcV{2rjobCY@Xg}! zA`dc`@4$f)Zni!^3B(mBj$}LKQfM~L4iSqwNK`{~H<7zI2`S z|I~GCP+?h!mGz_p<40{Xt(#@3rp6nN`{p^1st&Q15 z$I^#Q@ZR%Jo$6rdRLv*FLDqZcVto!GO1&jvA1!N$`JLSAms8oNV z@asCgFFQ}`$2+~(6rL6X2CN%4kWnVFwFZIg^HLu|CBrypjeoHU@Y*hKHTw5lmp7|P z3ej*iIjE67t!EwWeF(McqrIL&sJyhNh7UODc2adS{;Z1xIbTRrej^1N zUB`HTb_VsD`S^8}esI1xu75M%8-Rhn=2-7Yb;t7czdY7k>Ws3MdTAR1euW1jboGx+8 z;lwo6-N`gPMOlN*8(;c9bi6y~&7vTODeQ@p%>=IvTpHl>@oVR8paR;du2{3UN1Va; z&`WWh!(26k?`HD>EZ@oISD^p(S88n$-*_`8vWGh`@>)ED-pqHQuBKEsj8|CxAIf{7 zoI8&94&D$^i+!}{h96evYPfsWrIGH2D{-x}iFM&F2p9GO|^Ng7x5X9gKK|myeV1QS+5U|q;jt@NPcjGE1 zV6tJEUh!-7me$FlPaDw8FwQ&lDA1?esM>YS)2a`6zVc}`zGgDdbdgVo+@vPv1?`*} z=oJp*<5aX89wL97uKtaha|YoV>(_NJjq_?iA<3X~P>C{BQdYH8r9;Q%*l|^-ICOx% zn2xS{$eUxGI548DpHQ}-!JmR7LWPycZ=lpv5cLi}!BB!IIrh>>GE6X&JND@)x>wFY zs-?}d@rsl)a55`hDyN&DZwpky|Dx!(#LhM{DxjFxl!BD8Us|{g{3tK_^rn=maDx$> z&HP^G3Ko~oj!vTlUhwn0yc@2-xAVAZI4->stPHnV7pwC2fXP3Ui>F5vSvXQmL+b+*B?& zorVuNTxVQR+Z^1hS;R;}sjxfmE(og^SO5C?*%$lQm%dv(7~Zh zJX~0S9N_NEGJNm_UgsD-^#UJ2hVEtDEJMLDJ_3(4;fE`60}y=N#9U3>H~MQW<}R!v z>f8u*XaPh3)M1Qv&K6l|eT=&r^datD4UkuFk%tfPeX9VyBJu!dAP*b~xPnQFBac() zjOkOfki`q?dH+vMh)Yd*-yhymZ>IaZ&JA#T;G?K1sL^LUtMYa7 z*^|%fKliNiT&HgRCBIkw4y5huVf8LGYPIegR_Dzcg`I1-(-BR*fGZ!X7ewch2GwlJ zV^iX~mb%iq19k=1O=e&Y3`Ywsy;}CEA+X?yQ7Qf8l(zlgB(6_ zz|2MHgJU>nuG-=lirkE6xIzY-$K6Qhl0i*V=jZE)BXTEPDDLD1V>wLuy47G+qgL~3 zQe2pw;+>js=Nyx2#slYoHQ@nqi%VokXy`fV47-oXGdw&1`4ol&6$(pB=gv!|RJWM~ zxKdf>au+{D78QDWdJ@?0z!v-jq)(0kiLFsdIJ3(7_#+R1+cT6^IHc=eZ@N+$3nUN z`3tJOxZ(B{M%h+WE2w>!6AF^BrkoH+LVr2IDD11s2}WV>D<>F*ePx_r#UWcNAu&to zthxboCww_Yz5}%%>ugu)FZ>BNHUCE6^(U3ZY<=iYVBOd1XaA&*9X-Ix!V*Xsx+QXU z{#kX*{|#g#3j;E^`UH2Gho$18-ca%ax3RL1YUZU7VyMEcVCDRqxoZ85f5v$ufXKc7 zrNSvvlMtq4AtX)ZDqKqjN(13a9qd$x)=9cq3Da-csov;Zv;NwhYFIT`)C~w4^i_XV zi_rOo7gb@rMb;CeJ?cMW%9`?8eaeeC@BbG|^#@;6zeo1B|4luhKEF)2zobr3w=LKI z@{&5jxmW9#)V$2S94&waP=&(`w0i0#^?D3o+RN(XaYie{MZl>XC>WdQ*y({O==3Eo zs}nP}Z)vVah%xc>%W9@`)#Xj@$MN?<_pQY(4-mj^<^m%i!!<{Ms}XUmt{*?3-WM^p4;=i$BiX8VJW;lok!h7M7<4)1NwJYpN(Iol>> z{<1=U(sAdVT$$5mtVd}yj!dM1s3sK7{LrQV1{f@s8(AM3!YhDwnnI}Pcl1Y<+tK!8 z+NfY51=Tkdv&TKBH)xSD1}Xi3aseRyymH?cZ4yPki>GozgBME?&S)y@dXejn1NJ`e zx--<;<@z4ieV=-6sUGLy+zr7DW-p7GYcmb5U?~6@(Q0Q8wj?tT*G^qdTn>WVZS4`! zYMEDeXV~a~c#I;gmf)-v{O>HO!vEEwa8FVFYq!pJcqMJJ$f!{RKy)wqatq4nxnRdvPM_jmW8s2{9Cg* zf#aju91$aG^v+h=QAI;EM&FhclK`dx0|j!foJKA`)Jkg$FI!u4xZ=B@9&I(+)?h2| zsfQS7&B^zH*4!9=zb%^^%jcSGu9451vN=SD7SyV2u9^9ZE3>&4zLc`LR(>dr%Vqg| zF`FC5=gw>nYEeP;XLH~X1$A{c*M@$9UZj5;vK10|ZI(7Es_V<<+L?VYo14JrmTYb! zpPRF}L-^d3%>{fG2eP>wUp8iQdDOcBIA{Y7K2LHd4x)cqDR42V$9+qFvcU$%I7RAg z%}td$TXTm(UP1wXkXH~6bq0q9_z(_t_GWG)Ewip*YRH?>LnoNJAXfxzq0D%r)5FZ@N#zbRjBuzmVRA01cCEoBZDhl>e|!05++kUK1G+j6 z8s@kKi^4Qjo^e5zoOtbG9H9e!7%5JG%g6@hy7nxdCvtFvLu}5W=lN+|p)Uk@czll| zM5baqARc}xsu3X~DjdKul|Yjd4x+hfc#Tazet|7G4Sy=qU=L1{HTa0NMKuhghC;H2 zep5psu7L+`GZ9r35>*7#q=5k-CMd{jKLiexDZJ-q;O%UAn@PNx(pY%H6_yp<;Fpoz zWf}$-4-3aK0oOPv7##qBQAM&F@t`)hNfisZO#cT45&4mqf9^J3}cEWB=7Op?#d z#_NE2MPy94adA&)vB0enWO+>vN=SoEr4bdP6&#=yr!2aio)1N4Q2 zGRk;543M%Fvo!3JA@)J0C+ffv9xIVvQAtS>cBy11D_LvcR9Ojh>XCKy@4k*zU=!h> z)N!ixqgWoy=8<&_?7of-tb?R3)eHhAj9-dj!Y@D>1Dq<-grpOLLR1nUbHWCWYCsGF zmh6u-90(82Sx()$U_6D$ILzpT5ZS|2hO*$GMyT@JP&0%wxGjELPsbqBC_3P~*o^m} zajqJ$Pxd4jJ6CO#-@(}4JPvc))EbNh+2>MVC}YE&xNV0F;$(EEF*hwp<)*?rCQUZx ziqr6N6#g%Obu=yr8W-iKhTcgH=nT4q?4g&N8f6I@gA@_qF2eV;q?1@oT5UAh@u48rN`S#`Y7L7{4hPiH%;(6+Km*H^GT)9EGdb>1ClE%bVd&(J zGOUG4yJb2yGnn$M~V)T1!+}shwwssl_zzJufiki%|oZmipl+EXruE8j4&pu3HjS1dGgUNLR=^J>rqxyl6Xl4+(GDu6~nNGM=*7oyJJjl5lXh(FU(R%9`)gJ~U=X$7VgD$@d{ z!N-{_i=j>=7fPl9S`*2Il4*dJUfPJ;b~m(=ybd9vCkBU<8OsD<=JgG9LJmPxp_^ui z28v=hFdbbr>F93cm}NS;Ytqr>WIDQR(j(XGyYQO@&~NjB3Pwc{^xk|y;Hi-!oXsqQ zF_|t;80|${FZDy z?pD-zKZ8qKds4xNT6$8MtLdKOr*v)}AF13iJ*nJ$fE}|sYqT@^ayc$hoio>4dx_M5 zlYk@{XZzS>){)82?}SQe0Fe3IGJQ+4JF^&@f(1%nJ0oG#(5FaNwMBwn!LskPM1 z|FFevpS>S#_4(y?q=Uu%D>Sly(-Ef&rGGjc01JC_f#IxRpk3h(Fwf}*I{4U|JJ!CZ zducm_56%ZcOoy%=Z2T@#dm3R&L(>tiQ2w4ye{qCsH= zm=Iuh5sx9`2Av&`)P&l_R8Skur-b4K4i2&#D9%D{mJC3(^u8E(I-!idm3w7Iv&A)% zdy}j;!bOSBJr+9~Ftgyw!osboG~C)^s>?gUanOHTAR009fmxt;yoWnldS?aQw)=4X zwDbnY$G>*sSDCL-;9~~suJP_fdxin^1cGD}x`fbjzDDiSbwP;nR$DNG%wu}xc=tH# zdO$g&V^r&(jdx!kxiJI`hOuE#c!9j9Hx<^zG_+y)jlnSi)}C2u^eHwBZ3+X&KU~jZ z$BZi&6|4b(nPWS0%vCq>7oPp{WcrR{It5~L)oqe9#Dtow*5W<9OyqR`tlrEzLYTQ% z&B}p`=!P0_7Tm*Sr~AfPpf$9(ZkAcETZc|PV$qH>eNk^AEGz_r3?|Xb zVfiGwOv}I1g&NCktdsE&wlvUMhHimNXVOP1eNK+YJ%?$WSrR#rFjiM|NxTRUMsxxT zHKLcI6IiZACkjCW*KP~JsJW^gkI~#VTL`eAo55oY*DG<%pD=Rv3*g>3iz31@TgbP} zXUigp!-nyPmA}k|Wd)k!IyFzHr8+L51HnH$VE3+$SKa9FVdgH90XSVm&JKvQFVEPH zUj2cytFU(<^2#tnd76g(QF{Nb=^~(+o|x>+FAXt0!5T_YJ*CQen2vg2fbv74B7TsH zm|m_(=C1WdAP?0FQT7M!jMh{#7aZbTak?@8G zpdwYu50n$xkyUUO64iX)fcFHtz&?Pk1j?AFG#>sUJa>-E&E!-Yo@;eT@VEr4h3uZD zE`xX&p37lEAW7rkHi=BkvkrMm6yb_PqZp?qsFPkFleH2C10B|-1FAp->Q^%{0(hOnKGA*gl1Z`+Nfzova$*q7Eht7Znl4&RhHZmgi?Rl# zZLkv!AV^^gpI8*%%qNyXH}Q$hW&?a;J#-_VwZJf+br5rWVqJbMp5ai3z>8L{&>#MS z!0^||JM={0PfZ(gTtwGU2jvckJkpRL6fZXX29vcl1bd;tH(E$*-pboYQ4@saG|XQ3 zys^rg`GS!f!KBq@(X>FnSa~4?1u`#k;UZU@gtpMp%tf|@xFEWWG8`#2v{=C#I^qRb zY`Kd~JA7-Rxz`vp#c4tF2@SPy%{NCW^|hRXl;Jnpc2M6si1_1J6z^7^$1O7LGJK~( z0Z|IYE#8h|J?heDecxoaEib)puurrYot%bKI;KmV7jv-0} zvB61G-F#=8f;clSG-&=TCL#s2?xYcTRN=!G6+* zr@A@k8vVzq?p(ww77lgK;Bx2%hq|v(4=mR|I2230SLx>tb#vtrio>gxItu!dFSzf) z2$vMx@pxQOaF4~~v4V@^9lkP6(%PoET}aFQ+-ue!+u;!&i>J9cuD141b7x?wF5Pe^_PIpgtmg%#nyT_|-OZ8pTp>CmTf12*Tv)q@8-H#tQ%xy;PpFGUHl(pB- zaHpg8&Kd6fcrCX&s(twk_k^Zpq%(%U5QNbl%55{;F7?<_T{GK#6t(?wwtJVpdX_tR z)UC`73Wem){Bf!N(Jc39_0wd&pN_iCW1 z?PU^kVABYKsB6e%D5wvaCB?JMO5&Lars_sC4LwS>?XZik@vgE{ikp5r^!>M1HR^L_ zx|w778=A6%Ke6MAX<*diW{;d%OaogLH+!6>@1N<88*@7Ogiw&}p#IX~SRmf2&;FZg zQCm}b_$IfR&;E&i^BJbWSRz1=6`5e#OePBxH_e)4>lH!?VdVT&DMU`!rySuH$_w>A z;Kiul3y*MTHe(&%hHr(drpn5GJy!M~Ji>h|X2XOd-4pQmmm}SG*2KOU{k|G7d#zGdh9 zQEI9;*)z}a7iI|ghbg{UBorWn{#2dQoB6hWSEt+VJr2`Lmpa`~bqOJY?0{=T5h5xm zsKum?xif0w*4K#RF^ho3f_TjAqvjh*`5RXR_CW{xY zIkp$e?q0ZgUN4s2@%!jrEW3N*jxNpztebmb-@`&-SUdN^tw;1??c9L{+Mdhc_tH)T zaL^Y7KTrV9ObUGATd_XOe$O| ztw@d47Ly8>N*1Z4b+hT&3uKb7gS5{`c4Umehx5g$CbHLSU&2QX~!4?us9xhNFwNP){f33 zpsCi11azn+N(jc#2dGxg1eoC-OwCPwp05b9-Z`h!-O&|zGXZ-@4^ku$nnWk%0wdSx z)<_jYg|Jwxjxj17mCVHqmH_pYGZ~!+dcoPYrbBD2M~pp2=VUbTIL2e9_@T@BF)lZr z6*gm5;1!E~K2$nf$c5W*LKA}<5aFmeT+>ptUbdQWEu3boxLhSj^lH!|`c+4Q!X(3a zU2{`cwBdDpr@N+w;qJI^YgHQxV&?Xmd0Y3NO5p~aXi5*)Rm^Bk*i>HTvxnaD0wHd9 zfxFDkcigm|fzstLNCNNmh_&&;Wu;93_YT0OM|G;5IFW&y9$w%RO8qdO08$;QDIq)F zhyC8nmBc#Wf^P4qlPU-v{7R9l;o2aq)S>+(V=^COjn7mBv|>rGnqjfkqLlxKnKRSe zVLxBpquxS>V6>CCvIxIDDrX{HQPocPM2G#zOUko5a_KkkrX=Dt>0x3RfOH@#0SywC z5`(DWC8HCHbUs`cf&HshxE~^P{Xl1Ls2NqvF!(mWZVf^lchcj%vnJ z$1a&_vFcnT4c3J>7r}bjq)bb8`5IttH_LO@k^- zoGGN6gK1n9G=$zcAIFr1gaz$E@X}sP;}^i^0VWctM%aa_H&Y1Xgj50*$How-w*I0)7SNomo-sH{ zG+`qS0LX}bs`M7Bkl6yu>Ijzfg*$>jV$$>ks6>?c0x0GUKms7c7;kW1C=GJq(D90= za>FZYuSQ3DItSyCN4r35BU~AZi9nN?dh@WkaT&FMF5t~w`qUe1CQhU}6J1*~8u_68 z*|^bEs_rNHPapQrQk$3S_w@QX^@HVlNw5DJXno)9^%}^acK+af8+;%^Uu>zJQg82Fb6VS>W^Vz3~hEV~f{UJJnGn;o$F} ztSH0uQ2*K=Q}+W|U=kgfS!I}y#XL5aZ2m~zH4IvXt3)?rfpAq@G`;C8*z!AskyD)f z72$S(W$M9?%vC$vfDj`ziWM}?Q%pD;Wr7R&aZV$1!pH``uvVJKSBG!dv}M&e!iDHm zP-O52U8?L$0ezU8GTlHI;0VX`C`M}q{cTjlSqFDX@d`H96W2g?BZ2`D5@=q8hA+|t zV?wod5+Nv&&Y27fn<*7;fUNAG%Gx1^s>|{z(+W&0^cH#2dYp)ki!}<% znJuJaW`Y3Vv<827!rz?5YEgNNq45|#e73+6SPruf3tAA^gPa94B}ih8uw=~PqJWEd zd3ON}m^ySE!Xko>XdCDs>K$l{Z3sYDW>)MRGC2mzIW{v#a_6=PLEh>IT!FUXtA${s zhYSaWL;hi*5x_T75d0yHenbr7A>~vR^&$W6H|q;O<;Bz8qKn)K z!jE$T{EoV!yCCo~e7r~1L%-A z7%b`m8>h;W){8$WJ@Aq}KwjGeC@Z)icd?SBSDw(S)ng-`lN?k7a1 zL$%vai0J!2?H@POu6i=YoNAk4W-e88Bt%pMAqR#I>)yGvroFh{b*m9e&ig!tMo1NT zg=JgZ+Glua2X?t46pMjjxBT>$<~NcxhN%+`^YwC7NfiURaA#)JFt{iRf+Sfumj)Ms zMFU&Y5F<9BQdx!uYLC{+)gU+b6RK`Wg)%j{cP8`;Y=7&e<^ZaV{tfC!H8`pGABEjt zAdI?j3JX9z6HRRf=NByKI=i#Dh`E5W0*(84$M!#uv*&tfm@)2o_G< zNuH=Xvc$4FbVTe-bF*kTjSb^Y&T&CzKTYRL@BJ4MV>uKsp@P7aUbi|99@dRyxL_{Q1NQ5Ao$`{mnwffDs zR*lp50JnO9Nwc*(eIV`I6C@K!jFvnK+Idn ztZ)}aTZ@=JOc0?1@-YtgLSJnPH~;AR3;l`u=@tI?;_k8&N~k&BCnU9@hRhZcJopJ4 z$UH1R6fbgI2NZ;xZeLLXjHN<62apz-RvXABp)$EJ#$IIJ0c4nrw5n5hfg(3@;?IkK z=THhS&=jSz%zu)=NiS(xD?_?uL_G$hc@QeTQ{ZoK^J6=4BgBLY{3DA3fA{v?A|MXC zBLd>xTC4D*DuS^^K#VFPAVw7tP=PAIKSGs-{~`N8fd113{=D5nUSNdr0|pvsV4>d)Bi_+p~u_+oP9_~Mb<@x>I&@x>I%@x_DX_@cq?@A#ft>d!lB zx8vi@^M*WkKT6%d%x@iM1O3Ez;Men<{!sU^~pj4b=P92xhPDQB>J*R zi@9$s!~>|3YEnk*hmK9T0*I`eC-`Sr*dHI2ngoG-O+JKt+Z zBY(lK2~myk#P3>a{hY;KwS%ljFY(&iqpX?Tw5`uxf>W%oUjOC~02}N3i{1mud(c-^ z`oqh-qgB7FS1-dk5N4^Au6BUhvO`aH7holfh7BIn+Nji`V}Qaj&cIfU}8hi5!nhC9Qoj4BYI_f=w$8?H76Cw=N&3PYH@xv z{HDk|r1F`!-JTz_I6pQR{kGe&fL9-kdfV;iFYY=1!hC%I)f1}>DDbx17voD^FlzDn z`B6dr+lsfJ&m25#gNsfoU(X!;S&tl}gF4iaukBg?__p=G`@#2qaO!eY)(~Xy4FRqL z3Ny2|XW8}rPjCG4%5`5WF3)Fzu{c-)Sx}GU*=+K}RJlAqCKz?TbO{{}PHm7TPzF(S zCTmQj%Y)J9qqAd>txoDYAJJ~iBk+xbT=BC%)*YVJAN#Dg%nDgj)exdHAc>s|ymuZo za-p2{m@N1^fQ$zFQV1!6qZ{@07kHBn#aElNj0G%Y$;laYi!mI5-++D=nQ;Kw=nG-{ zZ`B&`VHD?FRTC;$$PNeaY%XQC;Ivm{UbhXzN_vq6X%fC zAtywf8GQ{KzYemasKAkMOi6_sq7;PH+>MW7UVFE%=!DA$1j?_G#f>EJPfQ~;ckD@i zP@n9M{_siujD|%0!*}Z&PV%StKlv;=s!y%+J7INR{YU5Zc)afo{^2&Zs_t((e}i|p ze#;HszfHJK2E`-SAw$dJ5?+3uw!XODpH#Gg7jldjkE{{rGDHUB9xx+tFdP;rcs$mT za0=pq)8XN*@L)ROuo}#BY;{xJaKCwA6+|G8;i`HQ+$iQ~r0+O9UQX&hz`NR5zE12OcH=^kpuyN>JPus|5;Q)oq+t2 z=bcvPI{nP^&Lns*8(wgZ({E6!P7j{!cSJd{_zvWJNvUS!T&>h>5Bo8$T>thr`TZW2 zLjHW3e>YJ6qnDl2^nbs_pFh@64SI-(59kC?%h#XyR)3t|XsMol!=VOpLnyN6obC@t zr~HsrmujKmMzQMn&0~4Ia61;1UyKeD#BXR($U2%PU$n%5csJsDyy!{vz)IOfDHXz; z2-=K`f2CxA!p92quioWP5-As`tE7O5?GvnZ z?(dj^$7a^UGX)iaL`Tuu7)UCdEI?vt?_G)1dP#+DjPwkKh~4ps%;6vAEc9l!SAxMq zo_eUNySDz~F0J34Xy;Y7PWV~yalo&~?Bj@U`er<07!Mrr*LP`iZ)4LBUsBVeFFnEg zko)tSj@B=q;GOJZ8|(Tvz0UiJa{gOyKhgWidVKD8)^G0dzUipDm+8`Ly{VBfNr(y& zCgkn|uk~K<+@#Ydc%NUt{v>aSQ@z|*Jmy6Iu*W-h{Xn;Oq}220(EG9eMAo0Yzvm=% z+9lMR=2p`1_4?&Q z{LzOd@=&5j*)W&z4wuwzG_P=i=*qyKj1xp}5Bz5!z;(`_^g+YJAaTSyE`f};dlYS0 z5rvV2^R{)Dz%OR8e zYvM0pqvbCc?!>MK+HajlkvBa1YQjA1`7H0+q-=Zk|Rbi-at5>Jowr&60M6Tx(l zI8aW+uMOr`iN2I_YaHQD5uhxWqupC-WxJ%7&C;$-<9;t3VKmimY}sJad26-FZ-DdZ zss4DibA|rORR05zpgX7foLJq5`d|LHNLizTp}G?-nj-^1_((J2E9c9P2n~sTmP*ve zj4}vnqpE-{7GQ(rBLqG@?6vD(ALch7ZjLBbj7_->tPw679M6LiYYAa&@8dFiw8~xr zFNI`YT<{-rY70UvsJEcsH{EZ|L_5LlNV7WZ@Ed&qDa`28j`CaE#f`y^#Oo|{q`Ljw zfTK4~_fNL>;;3+AEAPd5q{HXEIDhQ$XYG3Bz<@(#hVYdmQppma4_U|{kP=e@eH8*t z4q%^=FhZ~D6~IgIus$=x-|m#>0YP%mfp@sRYL-9#Kp@y3 zQ!^n5DFmQ#VqQS{ZXg8N`-2a`IR`><0SQij;U4#`qy8>no1<^;@Z0tbwnL0uNsv&G zq&ruS{+1h>UA&1r$qAU*{RF&A;{@NCPkYtfFu@QUQF*V{eojY2UVob7PjX)ocxua2 zQh)p?|E<|lYrspmW5i=Fo4NSJQ8E|*c9cIWK4~qy2@DXYI;qU}#GepRjDF)>|3e@6 zi);fDap6~p3!iaQU}9G4;|Jz#`3Fd_{3Bj0qemCP6_Lv>aO+;wO`V8t*t%37-|0_j z2lK_oA6c6#sI@p6*Kkm#ZbE#y-{x%4S9kiSHXCuIx+^ynI9>khBU=N$Oo0ndqTR0F z)8)5Mi$$3Eu&TK?^DDBR1j_p)LQnU1`OUCzzS-s9da~>g!A6mYL*wQwtV6vHQw?WJ zF}o3;unI*ba01a-ST6;w&mAWJkGD60ud=xM$M3UdPcD#zgs?pK5+xuAT3N)6hpM== zifi4AU91K-T3>73ZYXHM6$PD$TigmNXjCMqsBuR{iPl%6VvUuzMn#R)wpeZbf4^s* z?IwWQ_V*V*dG4Iq&zw1P=FFKhbeSso)$*O4=Ze-n1)l7i=?hiUWapgm;kwG8V z^@1#r&oxA^#sY~}V{_whWPvDj2}Rk?m1@$iI8f>2IuakOrOIG`5H2Vjo#x@%huos! z+K1eN;W)&H);VVGRw9FJZIJ(JEUl@@De5dz4XG;`f`L##x`FA0Ogy+wK#QT|D~=bx z{hzi5=V0?mISxv!&CI^$;f>MBj%4?Wp-0nl$^rmHkI#Z5lL80=2#R1xcw#XmT-ZI~ z4WWs_0GZ-~v0$a`952{)FyZ3gEMfdie=8VMW^l8ra=7+OY%QR=< zm=A@qLcgRfEIljaB;=6rr(KVoViS~`B`ZzCQp2iXaQ47?ZhDe2CIuhi#3s}ObSFUh zCh(^$_MB{rh{=PY2=NTY;~B%>s{gy%9-oUNxZ_T@kmHwVOpHm4IS-|mG zrR*X0%Y8bQ?%lCq0RVEeqpsc^D@|YjTQ$Df9^bE5$8PwoI;Ytl6bPLE|8-FJPnf@N zWDNC~vMbd)&)7rF4YQT8#vVNMYZ-T}796EukgbyEJd6HnOVloFkoN7_>gYB0q?jDX zeIn%e!Wz5IY+j{4SY!8?_xx6^f7ZSgbT#`qyE;xAknT&*+1DEd>a^$WCDn4DsT3+y ziYQQ_;!~L^Ya6{5uc4V)x9#;8>}L~_ZI^6e+i|a;g{#Q}>+HXVu8fi*5y&1_up*iV zC25hnTu3qyxk|3*^*dc{G*!U*CFMW1vFjIvIYm) za@gHPVu!mfs<`b7ujZIkkO;KE@0wGlHt{LS7gI~JSYNOkzye8* zyzn)9*UBEvbjWj{V9`8Bz5ANIy=K0c+K|v7wZL|jdBYTAI_*K>OKmUK+51VV=GJDB5vnE)6L5|7+&&`AHd@EDei(KuQHl|3XWq3s~416P=R4jibLw6 zH|)ASf_b$R`s}G3q0`~@1HZl6C0WO-W+M_5}LJJKnS>A@1Eb?VlYPu9VtQ=76ZBWEJ#b zihA*}`8#q#I|%MHG0h~V536XGIh1u&%X+)&Xd0Wtpg)x87%BH9BI~N-jb@bNZ%Yi zX`{iYWH`Who+YY;snMi*fa3>nz+g0Z8-Vc^L6n+c6tb=Ql$DN9g@3e1KxKc$)NWYjaG`Kio|A%)QKa^P@rQ&eVul!r=s5&-NUz)@oW@>=wI!@HmONk=;P ziB_}CCN4~9^!C#wEil98_9H6<5+VTfFWM(h3R_aizBG>0xmyze$-OE9ROsS5698%Y z;En`DN?j8J)DPaa_swCgLA%8yg;z$|ZYyjh@00=nQ;eV=ymZQDM*#2^xCH|OItp-K zN4F}9lzXZ03Y-Awp2YxK>sT#Pduh;zC=%j0E9*!AbQfZP)GoP8bnZ=291ic8yC(sV z+}$yNxz)lhdq%hw4mqDJ=k7c9UOC7Bc=rqI4=!M8?6le;GI+5VHLOYi1Ob>|0lKi_ z;HX=2;{^%nOdO|kcP0RmyDI_!x9Yif>eO=)w-ry*T`r)Bbh&Ft1fFavWVI$s< zCovS=vD@Ee3`Sti#(TjNy~t zbd4G`ViiIoqEI_RCYQJPqyng+A0r#(@R-!>hmlAev>IMUJ@BsW;l7xh6k-4dQckGx z2FAM=EMM3!WD9T|8OP_?TzEs6W+?Bur228;N#R0Ev@HM!mK!iyje_HLEPZn6uTRM+ z3BnA;imGo~DaGALaWTZ0aMRlFGjqUr9*`z|5kS(Z<+%qIn^0SYN<{QYWc_l3z5TG? za;KE36}h1}l-p}dE=>n=`#%2%x&8lUs}ujvzA2W)`~6wu_V54M-Zus=0xz&--Pq{dL;GmfifWTa(6P+*^QT{VsSgnc6%rD=FVst33s1Sd8DkcKV+ zn!-KGJVR~jw!a5=QzNZ;SS`lsf`Cbm0F2$=R)@TApI0B)MZ^zpQM1Drwi?VCqS(R1 zTk7-oVJx&*)qG$dv`vs9e(ec{GvRAbGcZTwwI_Ai2lffj;r#UjJJ#Vmng2M^T0 zp{5SBDx3~`ekfauUwvqQFFxNbLVUQjz{o&1fkRD9jce7K5AD%lC%dS_~GX6S_HZxmv=eWT6mDr+{{!*&ZaGuU!GQYO==EIcc2H^-$h7M*`gb!euF4*P)TFWxD$6W4k688br$5hWfRd2uD;aOqX*UwiSs)8ZQy{ zfhw_i5xlhHFp;mQfrr4+{4m+Ek?o)lkqVgX1((EVh=0!~_JCvcc9h$x-UR{lIkryX z4hL%wwmd~sTZn!eTM)VCrZ29vuQ!v3| zmv`DJ^cbBnLLC_s3C>S<*gtWQb)A7O(*--eA$2TBbkmoEthpFm;u&?qMHEcaWI4-YYCkt*9o*>0a(u@O{OP$ zW_5thiRQ@~{p46)O8HZ*K{*b`8JOqESz4ZaW9!_AUo;s=*XJ>_U8DF(h{iKp*sPw# z35qRo;xRLmO8`6D=@sbR41q}?lG05jmKYbq zlocl@9vC8h)sW6X<$7le^oD~HUM1Egh6uN`EzPL;`iuwR~1Rj_!@}ZtxS@(3q_S6ic)zLM~?_rj`!$M*tH_2L>Pj zS3){KXU~OrWJHIGQD-yitO%rnVotP*c#;)M`md(%*g0NY_nEjZ4CT#Uv=dOze>IxdU%m8&UAJp(1bhWRacLw;)*~eTjAY_eL~>#|XGD*<>ry>^lRHw5OGUsK*D_I2l2kT3|SZWBL}d znG)KQB^Z~`_O@D`SL76h2DpoufMhSWrPR763~)p1+fMdMTi*h~c?P)e6gib@`e2-p zCJHYKt$QC-$5%R4UczuUzk;ANwf-m^J8n=?Sicg-8}ucSj0@vL_}hu!f4o4wy{|JN z*cO$*#QRG%>`YsI3oCi-5N;}U2JYmX0qr)73h4GmOyaR)rAa(aG%_amwZ6p;L6hvn z$1>)4wwmy3J9B^?8oZ0WJ9t}g+U#OaBF71k-?299lV*sGJfq}M3hmvYcpv8#^SZT| zz)$jAwd~h+qy4slv!+33K{a4!3b_v`IaiK~rIv%N|J-$PGd^*kWiZTVN>nwZfkYH~G zxjpE3aF-qO0vPcgzp-o87v;{R;D#xi=F6=N(^~1O56p<#gjV9@xG638 zru=q&oCQ-+ZX-$&f$JI6Om*rA-qaA6MbJ&$i_Ai07N|40l7Sl_q?}ZVT+bL71dvIb ztVp4D$)D8hwN9-XTkeb=_N53AAO_l_#G;isMPD6JXO}xe>bBA#-<_}ZwvQ)M*wXY2W={jibhGyH*$wP}2HY1iKs`Fw1nia+;uYi7D7EBK!!Xr5 z&l}ZhMzu3U?J>~l|I=XNZtBAoUXNG+6(k{Jcq4`iSAYy?V#?@6l?n>l5a~v68^qcC zu-c*8sj_d*ul$WFr()mLWWREu6OWSPfZp`qjLQdq4r&Fw0aZ{d$tqyWy7?;d`ZspV zT}v9%{};NZE!<*2DS)CWlXvYf|wF(l>K$rx-Pk+h|@KDlx&FpgzdLga$X~e0WwVgM?d-{I~{(XRuKOW=^)k z7ss3&7m7|);zI<==Aa&9>3~9{r6!+H$WH+faw9gu0)$%u0KHNs7$7fgA_B4E5hV-3 zO=8h_h>qDRT>?6T%7Qu&KpjEZ2q1TVdE&FstD=BbNJvl)D!`gZZQgWt5EBJ1N^T;_ z(&rkxicU{Q?_fs(9uJ?Jl&8y~DHIK@_*%s^KcFMt+!SHYg7?BD4apuG%_Dx!Ma{q18Uj&o2|gj{pwG;0Vzm`*20~U2-7Q*bffmTi`FwL>pk-RG4!YH>Jy2E} zD5(s%vOzw~QwnZP>3wCP6zvtAl5!JRdM2(5!ZjZcoM9MqroYE5_+xAYEd)(c7euDQtR=D*6|t%GAGF{uqLhWh5-vt^vX0qbC}#J%_;#rbLhX4aNRccKKW?zzp}k-nEcIm6+D&J*^su43?o zz2IkivHHhe)(^~!XRCeow!Q}u=iI&F$M^>I_}L3b!wd-)<(nzZ&*-l@1p|A*P?XQu+Ox2ro&-OODU7bMQ@&|9Zkvuf^`%efip&&(;X zCmJ_8=GRa4yb93B#@aG~Bv<1zuLTK|Q;|qJ`|H z6%kf_aC8_zgv%7>Fc>^A>OuFTZ)zkBw<6XOT--?9m)#c-M;AXJe@NKbr^$IJnfg{d0hsw#TtoYi{SG`a`C{Gp^_aSS)tzL1#HaMQHF*b4!Sv&kY1oZSnR-IM;pVE!K+ah$M zc6rn~q^7+;#C$!7(osxMjfdYqDs%7YN3F!&mJRd;#Jeq@$W9=n302u{osj#BUS)X| zax-^Z!0TeuanMy9@WS6%nA72JY|zn^*2LA8XU54zSQncZ+=xEk4G%Y)M(e{(_0M*z z-24;7j>oJQw{W4Q=P@gBp`}Im5qFAezsIe_g%%yrvgHdcmp=~4;97Ot@zM=xMuqgwc^)qvKme%7kpIa)|twv#On z%(P<5A)i1grMVZdrcqTsXEhoFRPH(JxP5|BWMgVZ+9TbZ1k@R>fa%p4w`OQSf$;3QZB#Ubpvf{h&Gun1L3 zoQJL8DySyu-oA@p7$db)-wnebwu#3Sun6K$G<2jj1Fh7>!}t(!>Z#|g%7MBpsTKKH zCK};Ysh;Pp+Mi0kCL_v7`=ESVM79VAj6sv67#JT$#o+J)Hes|L3R~2we@e+MC|RAn z*2+vxw1SpKVJpxfDxbTGxL~$}ERw>{Qn^FGq3fbC!Me3r9S5j?t+lpG=)(WX?hsa z2{-1Z{|YdG3ssvauV~0x4e5y?i0{^+Cr2O)gyRkT&U;urwaz*)H;<*o7p@A+5>8&Z zEt@w=A1uusrB9ZcMrF!S%#L(kGC{L(>iI2;N z$2f`*+lEBbn_}Bg>PCin_}Kg%S?zkB2gQjeF@213=8bBE2q$xm%y;P)M+o_xvC-RqL-|nhL$(7q|arShe7>}_W^+N)=_woJMDR})#?ATwGFn_ zlU}wC-!{-EBPziC(7nn^L}4OX@Yc6C3|UsZjIHPyaugc1H`KuyTKJuznJ5ZK0WV3L>PF`%FJX-mG{HnF% zF*pWX15)BSAW=f)OFO^3e>GyF*-0`3_Hh3S{o|DzpDV}5Tp>|p8OwuPCywCd99thFwXME|B>XtqmWa^%PkAl5^2`wZ}L&APw&yIaE=5xG|!?mDRt&<=|H`a@) z(X%Q_u$W(H;M^=wKB@;Ev&+?nfzHGUA5!aq`KU<4J|iNN>yMMMTqFLya45f=*9zD);)TeQp!XGtd+;_IZyX5V~j) z(gU8tQ^{sV`b07`IJYKKmZ*$}Bi23V71g>1Hj*D-pnfs0XxON=< zAKd8o0jKAy)_FyhJj5KTE;pQ_F{`CjMgCLr#TLi!kY8OIuG_GYf#^K2({M(N|7QX< z?<9VA@pnljbYEaR{DVDB`Y!^sQi8K#UnG*hmH540QXLc@k`7tVZuzeNC;5^K03jQs zuOI5eQuToARG6P#pdNd{soC)}DFK%$q;eyDF%eP{ho$C3_{$5_x?-n(_|``eiqQYH zm3Jnr$hu0Lrf+@ZH)On=_HEq(mVp@&IKaY#PIQ2!-YbQJj{LK=d>>cP2lw%D6&~A5-U^$0Jc{l?1CKiSGhoYb>IksutINxrX(MC>^;-mjzy6bfHi1tMNo%o3 zF2)h_`M24F%VRY2q*~3Yakl-gD&I2|-mI-wU(`6&=G;eBzuNE&mvg4~DGaA{`m#A{ zb}_s=eXhLu&aQQ)pUOacqMu6PktXaRactzJ(yyy?<~x&;4T`iZd=vxfL9kV%yH=GC za3S>8FkLY+yc&79%|Y8 zP|Hr7)zK-JMyHLD)Q4KwdWS8MlK`7up!llUvbZ30bTHNx_*UN)AH?HuJ>c11@Xu^Gi~1=t)FyO$hcwFQpaS&rKGNb4~Z%FfcGMA^B+QKIauJK7qK zb$*YdVK{h$Uj7WMxX|)Js>f>@aBY?pp4mKEZU*@4p28T2-+;@Gw&qU>g=Ji0(fJ}_ z88=e^0X!0xqf)FyDfb*>?e~kY6g=G3tCVK=Q%8GXKqKAf`AzU*6f7Mc zNM;c>2Cyx<=~(M$#>L7#&hm1hNRC!vjALKL4C7cTc&r_=Fv2kKstBb=hH=6N141oL zG7KBh$ni155LqK9#tg%{K6JayZ1b=Vj_}b?bPdswpXTo35b_1b1hL(f>XGBD>OtM` zbi~!(M-u#q1Wv?%e4I7J#5aAmwcXg>wQQ!6mH}}ks_blQ``ow41cC_K8oGsGx43%g z;&eQSXR2;>V>-|gk4g1Z=#$u`;^K(eTEeXliyYXP3uN!oxLbhg?yl+u6x~B>4CHy> zQuytjHxOkl#WQc9xIDLfLd&cN^}?_*kE(%G#I)wHD`}6LgqfH66xITFJp4z zbg(O0hmg0cST2En4iz4DXq^<7^bT&LhIGV`4H~j0h9F0~4y~uY8hg60L~l*l1hbRB z@m+;ysi#ubOy?$=tq1_zS_=lgmI=HG<}3K(S0~En9sdr31^sIQ!8tEIsQ6thG_gU% z@&plAq~HD=_I|MF3`BT}zR^(=+1sjGeIA}$QOi5B*r(KHV5p=2CERw<_emlr%m9Fu zF{vA#K-H5|IGExtaxp{LQ|9d=L3varqFbP*ye%ZO{k+#9nt!$Tc~Gw;)cvc88X$ZH zU+!L|(bifUH$m%k_3;As>5v9VhTWo-po)i~X3@dO;~$*GiCrR1Ls2ea(T>vaeyey&{%qptxlkK%YrKnu;| z1QeWzcr5{eb`y|w2}rjV|hc`tBJt${UZJraG>uRG53oW$})cRa#SYHz*Kykd%;A0s(YgV>m zrk8@%x?hC02dWS<$f-@zYFt)XlC1!Hw2Ta%tUl4I%<;{F1gkQz7{MYsaTuzP{3?=1 zeo|Jx5(gj{`$haZkFE0H5Pj5m?!{Ks1rJ%(s;9#)$l(f8Z!><4;eU_6E)|WpX0`Y^ z1#^q^0oI};v=jj;BcO_$utA{+0(-Mi!Xj!2_%vY=32IL66DC@F&2^w_hoAvig4I$T zuYvd#@*H2iINEXdWYWGIm(V1~1uG3o=*v`>4iu(3mU((H)p)yZqQ z|D~CXR{+2BOpfPaJb^Khzi|TVNmQ?=e!vfKtN8!XOor16Tsh90$%*;ZV(Ljc9m?MS z>>#<b6h zCwTXFq?s111Wj;D#pNQPnQuulhe5>sj@*CiG~TEvE;l# zNeLdz15;hnr*~VG^(-mDznOg#vM1Q`rV7oL@g-Z{o;eb1Igo=11>cQU5-kTK59MH~ zB_Rj1mS))J3M=mv#*CErfcaxEu=XU%Srf$a@G&Y~`iuPS270+EN`YTd{XG#BzanUN z1jVlqDkwu~T`27odSD5VhF@V4UyIso9DYSmEou{rUm;Xbh~kW z1Qv8rXCRDr%P6G(IvdTvK^s&Jj;IQ=Q6-$5dl7=zE4QA>~RO3bVply*9Pq2oW zkhUga7!L<*yiS#xreY1scDl_tj6rq%@@_f$Wb6AmYVAHEA3&b z_7c0kFdvaG|NDr1`5O=!_a+*|pf{cDO^s5Q*qMR7yA4!Yd_InEQ>F1PtM?CY0{SBy=U+uM)USg=Y!qM+zXj8fht zSeHPnqmEpFTQZJ%bAdg+pwGywWtZCf4F4A6t}>U|hi+-0gTr@FMKsW*DKF(2=_azG zk|6LeX&3Hs82*h^2>Qk856A+-`1#4i7bOE>w9aGuGIidha&-Wwign-`h_ga0@Yl@rOEkX)!M%r7&r<=tQrQ zc!MW0MuLt!11ki-6~aBd5Yh+>OM9l6Uz~0ORH9y7Vh_$`?LN<%w&Eoo9KS@zEezxM zC3+2$VI03i$14ou_@y*Feqk8LFX0)6&v5eig<%}O$ni}MU0}XeUI1YC(PY@tho?_y zYXH&5FF~7vrUWerDh}!kPIs^GL5=Ab0tjm-#t;)c`UP~C zvqenxa*&Fs@BL<&^aAO0kB}!Xe^L4`Vcx^TE+a9MeJT+gIb=<5WC*@8;K&pnP)IRn zWePw5hCdJwSOJKqMl*P=H`5=lYA1v0pgZikoUR@EmcC=$U6wds!^0Wz=yoEo#i3n; z$Y@;K5s1#zRw2*}=glF_O% zJU66Ib8wgg>ej8osf|2Qf)tD70vV(-ZLEWM5CBXe@dI`0@)GAbxZMLotrcZ-BZ`BW zvP{92l!3v@+?tc!elKlce8{4&S5PoXWh3WVThb4rS91Qs-nE83P3&&-)Dd9z5FxA_ z@33OGMHdvg`!wnOg0`Pm>~=E!F;w0N zwxhut5hA3-tIRZbBQqnskw8^R7^VJtFGS;8=BVxO!z1qDy(R5n_gDAXRcQD8`|O0E z@#1~#%+)LG*LREhJc@N~?~RJ;Lj9;EJ>9rT^;=~R+Hb5kEMs^>$xgX*!dPQarj?mui^zc*>kUDI!8$>u zPJo>qEULz)1Cf^F=%v)TtL%f#{+{~7Dx3EZ{0HnY_?-5D{XKkcc|h>8Rzg=lD1ng= z+IyKF&sL{DXjhMlx+Z3<$v$v0z~5oq{?-S@N#Xks+S{Szs)y``U^ZZ!`s4--`Eec; z=RfHo$#@kqBL5>gBwi4|eh4IjB3Iixn(v9<_qy^2_e|lxpTF>ee@pta+3J_8?eXR- z5?8GrU2Pxs!;fUn_I3<^+mzncOC3X#l4KXe6tIkZ>!p?owctlqb!Bq}aE_5!RKW)V z`0Kg~)iK!F^XR4u?A;MwT0u*R2J_Ym`nZO#x(a>4`;rQ-kgzhZ;D}+xEa!5B6|#&Z`FS5nP_BM#;1j0N;XvB6f$gkqR~qVvQg=^}t3-m=KvJtbf}n@p zl|g%mGhrNaXxKQypk_?Mu$WYEAxXlpkW^qb$%Eyviim@zWJ0VU71VhqVNe>0qo)Ao zRY+`CIh%-vbHKsr6UTpfO^0a%S{`;GT9(p{>a-&*H^-hudQuZr>&1}Z#9|1rtc3(8 z)8#T&Fx0^zrph7yQh zIM(fAT!&aFp^)@5a$yQ2&@q6c)L_0cAT)`S{YZn^IUrMEP60k3u5=DiGmf&VbI4DO z3|yl9cZHZH7{e)-aFQ?#C(r+)5n(#ug2#(_Fd#xac_s4#3*yi#2~!I@oa&uAK&qrF z-Jf&^iOx6lROl)fn%gAyN*Y;Wm?ZXi;Z`@#9uG%tNqan9E-JVB?59vDIv<;}F`P7K zV>oHf#&FV{ZPQ@@B<O1vj4d*0$>!jo?pmFo%}+#`3k?#b$0Lz-RD|3}LvpVi#oMp|iUBXb5}cE)~*88`lMT<0^xL z*z}7S9940)HTtA)QCx@YuvuI*B7ku8bg_s}UmA=ywuXRXtngQlTMxwH?o@iVDm~j8 zn`gDSh1R#r^vi3#5I0IhRFa`B5F!uY364g%ur#I*SsKR799dwsm*Zij>b`cDTWE}) z4Z1OX?Jl>F2@?X1Vx|yb`0Zmo4Va{k$8K|~Oc{`RWOunn9@m83A)esTG}RItIr^LG zLc7c6M0WwzjD0~bpx|I$3?xf$!ftC5{0jQbb*!Nqwmu0X#+ZwX%~z6pb=Jz5=CIFd z51K@SNbvX6J(xTTKo2NyMS(WDT!`S9RBHjPDt#sR0BIzv8k1U8F1D5$8z7}TX4xUt zfwYnXzNWU3rUrz@z4F_mqUGJZAVJ#Y(r@oNprr$uHv!7?zb z0ii`^JHDbBNbKadY>}DcbF1+tk<07Sp&4wrAc+m7@~**b8Ja2L>dJrctrVIOiKJyu z{rk%=J@NF~^{s!W4P9IiHbJrbg}?+8{Q#cxwF7j;o-I>#f3|B6hhOo{+X^isPJrrL z@eOqWEkl!)<-N%RTTH)&_MteM#RFsu&$DJ8G7mRi7w}*KFDsxB5J}>V1tgE4_!S*1 zE{&l06+xlsloHfI=ku@;C9O)t;`M`|eEf>?XyZAi#jgmejpqo(uL#-^m4IInbWH@s zuMi6Q!9g{;){d@mI(FkXEb4HG8zslDFga{i!^YuP1QiGSf)f0Spt$TDbR@p^4D>}% zeeYS^KtYEvIn@%Fz;>2R#Cr~C0^V^z0i34MJd(E@0$?=bU=JFljKoXah>n1fD2g-4 z2nbn?5+}5|IF6L{;gf0+)l!7$I|T0~AU%@v?F6J-Ag?7LT>@DbLx9rMGu0DQcworz z$|tAh!JG{Y1U(>sVPkV>11p3;qJfES$+Tp`xc?lZ1%b^Bq*G0Z*llRxIj}Y(L5z!G z4Pm;V%czdUG{bbu^H6nQ-#{u##ksWdaZ|O}H%wxYz3m$U`#BgZ1no$eErdo5>XVhQ z>tybP#RF^aMD7`=yjdFnAOU_w-B=Jo@hgJPi=g-wLRr`*6xL**v{g|G{0dX}g{=WN zuzf&fOXFz41q|O>SU_i(QrkWtWk;Nn77syJ@hdEz`Bx!-JM(XfQs7sZg74D=`S2@( zc1KYB3Za4ijZ65&LjO_!Uy=@<8)t9h+K#I-SK2!&`4~Xq;`vCLQ z7Uu61+ljn2kf-|WTiz0gxfcQRNta7td${}vU6Q9qbZPoIu1g}tGa{O}dcBf~LwGdH zHC*P7UK|26YPifF!lOor3Uw2fJpHuT%UBb>;sS_u^E$4T6*<@-aFGCD5f=?=4BL_F zk^nfDsW9LzLnm5TaVvslN^~{IHg{;A#qK3TBZJ%pL$UkrW3jt-NR$Aj!2);O88Ft> zUdUm@(#s2Z*yzY$*MPll$6QRXf5%>zZ>znGx79>9V4(6)Q=42D6N@m?(E?24Ie!sW zb04x`V7gU%-EUrl``U~eog@uk~%QsbcAN6kWK@dNZ9KV*qfOW77+vY z>*x?+5d{Vul&}N`6;4Z7g42Q<2ALClF|gNVQt;1kP6r&8&?JY|jFZs5jI$Zmmbe5l zma)A!=O*+VoRdgs9un}qdBRGNN$hp;6?do9Y5aw^TEqI&H73MfRw@tAfZ7 zs|kBui0MhGS>(vgP2}%1k10em!*`j;@g$6=FJ|pG&fdsgmlK~SDqshF>~;U+d3;9J z38pdjCy8mCm|HDoBntmf6pJYkcgw%y^{LmC{5HnA-#8odPR9btjC)l!Qur|UvJoE+ z>=1oJKFrMIzez_q_4!L)D@z#&S4V0s(tZh>A7#_s1^GX8Ht zFdpeeEOoVZFF{Mm%@WR1x5THpR}vH5&{G{chNIL%IA8@=-JSZ_8xhQI`$2FC@p5SZk> zTDt8RpsjZqo8aPPtqX7wZ;Ix!t@t?u9ReQ?N=k6#K+r`=u->g2j)D@*oCS3tcawqa znnxp{@MwI+c$ZZtcyu7a5(*|9F=Q>kA`gsrr4q33Fp`z@ppq6=(kYx92`Rrq;jPvo zLyq0c&#(YD>DrlLQ;-4ej#C5zD_hZ5U?sFWPRr_BQCb&EgOuuNWGCg-!y%>y;JyMY zi|Zw@cA&VXSYQ=oB*fp=pfoM8GPak%+JpQpTaz-s)8d4dZ)I%?jCJ#+%t)TZ3HP^L zkYKEv;4euTv$wHsKCj6^G>wdP!D}{StP3GCG}eWXNn_n?d0-j<)|^QWG{sx` zG6%gk0Z?CW2mxLE;X%*M2yhrtb0LgI%MkRn)WvDm6e@aoTMZWkLL=PoV5!?NRCy2E zJMMHZHEZyABZht%dZJ|;#JrO>rYm(c+5uJHY6jq$_nA`3UIvhn(<4iux z2OG8U?4P(#vTFF<02@F02=lPIN7#7J^2*cl%f!hnGSg!9TJ`)9=J?t$L77gFh^{@- z+&_v=_lZ95Nb@Jd#Iz2lpJnjZ8Cu%Gh9iyVPZ?DII?`-1m(Nj6N10WV1K&^Z&3^_P z$d+Z(G)4w$`9MS3bMX_j6JGiwpaMy6Xj^xbc`D5icR$7)yKUIyw7=k-#-Lqnz=Csp zbT#VU!eh+Q$kKj{IRc;VV@!X1m^18bDe5eXv(N;SF2Lc?{A*+HY`;3)iQ|qn_d*G` z9&3&?Zc#5DYt{!QF%AxKaobUSeXLo-Ue+FGHtrYJ;d;>T0oB>U1nL(+4FuGO6`>j) z>sqj;j<5$WOjs-hdoLVkW-4@fE+0wu3eu0Le;#Mn*5sF9zHMf;icMliCKKu&74kCDAwk8DM+kyYpYz#Lo= z(ndIjOMjrpaNq&vu|Vhl93U;d{s8kBg#K}WxhFn*94I(G>A=n781=0<&|HXw`%E_v z#HV?>IRT$_)6G%%{A0Q~$5^1wKgg`9)8v(ZC*N<9nbCI7LFRaK+k1rnlxGTgd|l)f zVOM6Q2W4kVc<%Le%IaSr3v5VF?clgvNS`si~4b*p8hu&sT4q zU><3VY@7HCv)M2vs*V%Qqt#Jq=iDO$gWE#C6M9NGYNQz}nNBf%AO(>H;C`CS>HZ{J z&ID0(wm@7YK~2kx25@%-w9AYb+s~QX{|0gn@=r`LACwP&aZmMgcEl?joBBBq4Apce z?)d%pG5@d}=@S~f0^m7nU4Q2nn8p(aI2Tk(Ni^MpdN%0XTJ_kY_JgolI_Yuyw*9x_ z!OX&`gr`k!`AhDSz+lpI)A^ZjVg%!=^jqr4Ctx7m{;0i@HwKLKdg2m;h*(T1{3nmV zBlSqLl1Dc5NrqD4qM(qs32^HG25Fv@R-@Y5?X!mQe{f=aKGX!K@;y8dDNq2fzg*!(hoS&RC~Bli2%`6ClLq+@x*d&NblS^TKIt$n*~ z6v5yB0Cm}YMzQL8)V{hJy9mR-L(o&^cgWXH|5@$xr2SD;6n7fDf5RaL0qp;jo$VDD zHDS(E_HaJ*G-6D*2m+=4=khHC9>0=bmpskBVA@bXSj0f&6>c}nIVg9l#25O@SM2Sa7!ymYd2TQ{53=#`C!z?a0D=^ zSxVT)t0iUC<_h_vl%LndxZGS+aELrw$3@LE{5yk!+vS@#v@Z&1vqMYHhC+Cb%aMH} zDC86Q7AJ^dm-L6hpap_$nB@yeTIVl%mMDOs98sVV8RRHYce>6HbM9R62smiVo*yNC zn=e_<7Cb}ZK}-4n0P$ovTsQh9nLn=ontY+wWD7bOK%3Pp(;1-rD_y@@FUe%)xI_da zUJpsJwxkcR2bJkKB7+)|N3V3JtKS`9kA$=5dkz4%F%Gj2GM|{EKAmpY0CwQvfVCbP z$4@?_Z~V*y?UA9EJKt9RLbq0pJH#$jj~r+pkSJ`#bQD&3uoU*r-OfpgsD~H2Bh;e9 z;(Gq?F#EtnytLzh>2dtfL+$Ckjnq$H_fn_OQI&u=p8jeoqtT2wMIRDjP6U2_0+3? zi)7J9{J3xaLyryfXVuNe=H*A#Bh<2^!}uE2bF}?~MAK1z)U+dy)Wf-%R-b)D-&&Kc zKI^!=TBX&=_{Bf!9Us*Ct3+FpXqtRf-wOM5V|_FNQel#s5EW3ZP}2iHw7=_2s6Q0m zUt`hPoZ{27s}{g52-UV7dfMf?|+`GrYL>sg=)Hm4Rpt9 z!)|N5$hp_fdDcu^d*y3QCT=<)H14rXST*5-SkHP>zpymFUIpp zUV+|r1SMNu;r_A@EZiGqV{s}93wE$KMk|qEreC;kSrHy-Po<`|JpJ&yuikZSn|ClE zeA+7OW^4;h7vo}nbW<(Q4hn?ggpJKfYn`~YNFh7WjCR6|RAE!YmfFCM6bHY~g&rG^ z^5r!vC|v{rQ})3<4FK60;1hRD0<3_Of`uX#GtNx^?SiIbo1pPQ4P|^T-Q5>zWZ2W# zf@!|FjY7~@A{n2kgeZ%}tJfAd`*@7VQ2B+70%S) zMyjlVs0JzZ(~wZn@cr@d32;3_RKu0d{@aB2y=9tkZDT{R?ZE}&u-c`86V$t}bSl(q zi=07|I!WSuBv4$S@*4D46w#yi5UmD){uzUy#HM>t@9Kq4bv+0s{YP#jGt`$v8#^ym z^0r9}`g4u*O%ZpGTj=a=%vRSgbf#oJlMD{<>UX}4%KbO_7cNe7hh?2Q|LwQczZN>< zw}aY^bL+ab(mv1wU7%95_*c{z6PpA!MjgAzsj1!&iw%aqjM>0EK2Yl}E2=j8_IuNR z(C?Zp^;^xl$H|y)>i59H4Jy?#Cd8gXwf|MlxkX(ezSMHpsjK~rt?un>c`i1l>W!g`2EgH&z>@^?Jtq}9h)JEI&Z7&4|BqMTtBCg!zlVr~E2Ss7b>+Jfh43$Ax| z8jcwPO%LV_-aBr@2sx0xGTf7&i~IR}gARU*XI$@O1_SwwcYVCZ44=h_kjv=6IW`-A zSI))82Wn2UGtKOoqt-S%!;Mdre~nYE+-sbH=BIPiuxp%*hK(!xRP+jHA2N5V^RL0% ztRJYw*Es*f%>5PvJ^1dl*s16DsNmbQ*cnp!p5zpd0zetJy6?_W_bhe>4Sa(!n1q0N zIHN3@oFaR0)J7E7I}&czbmaEe_KhqKBTq-<@Lt8129cskEd+vLsc`jmPF3$3Ox`Og^rR zoAGq+PnENi+U0tu9&d3zs4$RJ6>=%!K$`JDx?TzcdHwayQO2LzHeK&j8OB>}J#SCtDtFx!^Cw2O*&Uk!&f2*@SBLDYR zr;K^tz0H|tB7E{vX9^Q9zunon?oBDtb}!9CE@ zwZtsE^)6?xwwLd5{?|0FQ%hGk!|++N!a2yeUJbh68C-Q8xjC>!&x*L_?3GMSrLR-_ z-|tKud3_Mog(!Hw1$RVL0P6^n3ryXK$*>F!*E>Rc5|C^u5JEhj`CLH zE#<{(@@i*?s=o;S@n{_%0WJbjL%(&4YFh0~t<{c#G0QzzGZNcHP;ND*QNWw4o%2vo z+fffY*V(y^F1%V;co1|rST5LUyE!vkSTDaJEG$5gTsFDRIqAQ#I?^ovd4*V?3@FT8 z$^?bD3&nuFFI4p4Kl?*$DdZt0tX3a`)hf{n&)J1I3WfJqYrz8-G>N6*ghDJfgv<*e zg*a9vpeX{tRMtXu1a4X-`8>7!ac5xgs=Ei@w46B*!|;}5)>*DoV?^+ha{AA6W&GI# zf66Rgh?!vOIgf2+S9$JCBil$Pi9^pUBFDf5Ca{+^p%mr}F2ot5kyYP+ z!uc(R;^`-xhWehc3>>-WN~KL2g8@i2Jn3xnLmWl2M<|8%a^X+--^7X&g!pL!w!9*k zXcKF?aZD2w&Xxn`%hcQ_oo$W5>dq&fGj~OiV^dccyQB;cdN_1vOlo29C}!bEj1ON7 z#S(!YVBbo~A>}iGvix>+=2Onletq5p5P$u-%`RXXDDR6lbF8r0-5?7ccGcpoqLomt z&jJ&a-xgki|1#D$j7M8%jR@q0=9Eb?Ve-oFVlq`V=-NQCOnAsQo!+SlcJV+|6gm zg(!hsZun0L$^$ndz!QW4!+(Wkg}y}qEGF=e0xXTrA)x^@{0{_J9s!}z!@<1(gJDE= zXyb5N`w+{t(jVkV0)T@18~z-D#)q3wjT!#$1Q^!@O_$*>6ktVE6SP!@f3pC~A|N*o z{@ntM+XQ}qNx+2$e+tu(PvlkUtIY68>qDM(8ZuuoR~|`S5aBNsQ3tTy_N=qbw@Cff zv(Dflf@;~G;ED&H>_zM5t|lH#G+B**4(k@aKYq>`Sn!c$+Hl39&Uwz+xwuEVP{2fw zJm=K!+^!o35}{OF4@$W(Y8+Ml%jafYvJp@fUnp=qE^~OLV1ufA-Wfja?@}D=1nR{E z2g#`a?o+OpEG9{rQrOkcJDD6_5@6QOxJmMsg6aP*Y*Lo@+ck-j-Vq}HqSo~;HlPQ& zl)I&N#f1<1hSJpWYn>k$3)Nj~o%@O0pTFRYJG3WeI~PXy2QD;onkOKTW}NEcJWzGY z)2AxwuVo3rI8IEdmp*j{T!|lC4VDt%O-`)Gc;cI@8jN1WZbTE%b*PUE+ zxOv4~HR6<_v-rK~l%ih)TzhKKyA1y8)S?A#l`lD;8^+bD=nu{=#?@_m{lO`<5u8zB z4N@n+=8OSs@oUcfVxy(4{!h*v$7ohd-*etTk~!VZG^4rg`EIAx#P{3}onu(g>l>Z@ z4b`^IM@~7;votoTD#leI$Z^o*P>cb00TJWc%^@EsQVbaqa0cSGO14XxQxGhIp2BawkL#Y3luxDO(Ua{+#>E(a5iAA4vimsyyl=tT*)$7EvEqC=pFq zZ{i~?Nqi?V;XDj^Jazz30ymQc-zk)trSF6?q0#h+S6!t&x00 zs+FHRi^^UoGzvo6S)hLOS7%zTE8K2i&cr`E@LFErt_rgb0ax!rfGq?9w^A1G=wu7S z7+5$0-`S!d%nu$0u(*WH1DQ{~^S;Z!y5g4mdfr4t69He}`oO&0Q&+t4+iP*dZWEGD z{mY*pdiRzk|6Fn#06he}w{}U#s~sQS_YeTxEDV)^p_%DcL5Kz1XrR9#A|Dh@l-(Vr zz>+#Id?iPAsdP2zZ#oYvlbOpDVjl^`GaUc1FtB*Xznqmo$(+T)Hj8^ZhvuJH<_gZ# zq01x$GrBPPQURDT;1U5?G2mhW*fHQD0py$*GG8EW2*9G>n89ibq@tyT)a?{Pw}as~ zv7_~|h4+p9>oQ>f8ArP4*)t(=xo9iE&@r<=&V9DcCF1>OL)GG~%# z@GJK#zhG8aHA?1*fCE&!>fygT2j-IX0do}WFcg^rlnuQ*3zq7jba4DDOd&+$3>15% z{Qf0=VPA`yeDe$jfMEtK2>_c6*b)FH8E_;3EHdDp0Y>HcKp{f~XD|TtF;FN0V2*(z z31FxgC_bZc7X#9W&t?KECDf1^#3CF{V1D4pW~$umboHk|e+u=dNPjGTmYOAM%oh$V z!|wUQsWyJE)_mcdXWXXt{)clV*811~;T(?8xG$YuycG+7*OU_Honn}0`>hdxC%-qh zUHm0=XScOo^ObX&Ssjw`SJ;_j`M?uAq+>PoYoPw_wmrUv_T0Gbs`K4fQ2rr?dvKzB zQL!Y;hejuTvwF%vFPEx68}36!tGd~Aw=|0ZoJ6I*tUAPgtJ_VtGLXz#?2rPXj zpSFdLd!C74ze0D~pnHfM6nYouDo;S?G?e40J9oEf*<3`R)&9NGmBOG20ux4cm)ft?-J@E! zOv(r{ET9GLjiqkY^sp))4Mrq-lwK~(iw>2f6RD_Jb~g<4F91Jr)t4&?lg6Kf49`Qt8Ha}cbbK6{j17tFc!CssCKg> zwtXTfNG6mC>AJz3L9L$c?+huMBjHaddR%@u+6m)o#YPSG{<(dk56zzftb*jfq{XZ6c%xY=5zUL!HzaLm)sA z(h)-tTEmbUd6T=7y676W9Q&+mu5nKb2^=^6!TTY5i5KF*i``MhLKGqtsp*T|N;Kr> zi{1V3X=m`(T6frC9|j|L_LJN1pCRZjci|XyMNHl<8-lkuZBuvy2Q8}c;NFtmMg^@Cp zJ3#$$hI=KHIJ1s-hnNcr)S~0vA2}VEqh8xb$GfA9?{!_>XOv<{I7%^uqonrxsk=7@ z=Zc@Y$I{UwWI)6JLW`_2+#LWySTy`kdjTO;;=S8mKL@0y$g6s2Pr5^W`BS%{R44`n-;VovYV6P4A%_QyC7JeBVi)rR z=PeyL^79}X;dF)vuEZSF51|+y{otFlx-P_WNYu?gbB`Jsl+AHs&ZfXiF2qx7a;n?L zjDzuQlU-^n;{?njQ_cFhI|ZM6f9`%CpT8lLGg&{Jgmlw{&2KFUh5q*(V^Aojc41d) z*6UrVkO6kedS?m(!K6v~kYFPS5T4or<)vFh?LtDs7-HumS+Q-%+QCi~Q8^A}mX>*- zE{O42H;&^r0h@gt1*sO={b0gl1A~JV9f35(Q3SR+S@wg4q1@6a0-GYZ0@V>{OnDe_ zsE-{*7M|eP5sJ>~ForveEG^v_frj;uBCx~A(%}{((3{FIg1d??1E(D7rde(ce8lpU zLLRn9LR4BECiGho!AAsH0-9M9MJz=GUB55_9UBxzu;_MEE^lF;B2gXn=NRw+$H)RK zyXiOQ>bZ^nkMTnFffNVQ?#dq|BQZ#pT6LoPV>@cR+VLcJs1J@2Ra*zTPgKYj_Nr7j zJAD&JJwux8GS%{v+#Pm*Q5sbs?lW*$6@$N#OH3J-tUVFSCWLO!5RbXDlsqW?&#(+Yz#?=M zw~}gOqkGE^f^2;l%-Ug&lm05m(T)~7!Dyi6*z>w54d#6RjAHuGq33XtjgUfooM$FQ6APV|1Jy_VuLZ)Oyq}JkC z1%#$XoaVMwYKpe#Ij3GYP{|@oeSL;oGm3d*5@)%2B<{uZt?oMAttrNmA#=x1tESW4 zq3Y?=-QCrJv)pR6%PhC50vrPIY`N$TRPijgPPP8RtxzYwPuz(0fX}OEO%RDwc7TV?n->#`lWks?l!}ukM!_BH=#GeMz`Che@d$G(5ZOA zM)=z-*jnE$&C1ZWcs`5avJx%j*5qwd9B4$amQZ%(Xr^YfUqGiI_&Ys3Jt44ry1v*f z!fleEYdzQm7wOT$#<&~P^ zaW5{KcooL{@OIb1vOGmW_MQsm!`{eL;WP{zPtXc1*Z_zNvU z`b0k33QUY(5nNBFZZZ-m>^2fOeBanS5{W(B3PW_jiHL>w(Ual{ zIgAyA2VUmMl5Jp{PK<%SB?k*q#+HYx6ywut)V}?2K_ z374&4XL50>^|$T5PD_X?;<*V8jGb~j?|rbZK>Wov^cH6<2L z4j|}C)A2vgafcpXn%&xzDkZJv&ny`uFoTg=e;l}Qz2K~;!X3?y%jM@?y_Mptao>P=eau%dV&n6q^I0=z^V0f99VTyxVWj7pXZJk zAMBNclQqHF13lr{*lR|-ibhoAX>~onC=3X=H+sjT>L3pcd^!xxwsmU}|k+3{J*kVfwYS=()}@k|G0CHP2! z`$FwKIaLFSMd^?bnj)?V_5Q@vH6(o*24`jtP7lapWFQ>!*9akn(0s{&z_3EJzZD7g z3+pUlzeJ5!EZD$CNpoMU>+KHOgzp-M?y7-!@aHD25&9-6%nT;VSa zX*6%dSYl`d90@gKg;IAsCP*N_4)8~4OfH|})*CC-}J{{ z7N61@PAS+v1aq&4b8qBacd#zi8xhUQjhJU4_FOzsMjobT6c#_-gfu2%$gpTm;i!A( zy4&TXdY&(@0F^pKRT3pQ!_YG&C>)#NEl=2hedJFc@DeBBy0)yv_!EWGjs1c3h%Mtj zEf#Ba)&=OHW->qMOM}2jpJ^E)XqowqXxP0s8WOB6KR4LddNaE@RF)^oAR;-ARRJPH z1j-n?YRQG}kfFFdU$3_Sf2pzg+?Wdk$x!6%r~Y)IyVIynuywGigzs#esR0I-mhhcT zn40oCwXYFN*nvm~%iT?uupRx%*gOmBY*VJa=+f2_;UB z0hCfvB_!npOwHcat{L9D5{kUEvTl(J1<2e~p~~mGb^SM$V|60;)f+8$qN#S7@BYMD z$;qZ}pYOgk8MNiEx$tH17@kL^_9??1gXls+AxIB5NrG!TI8oz~5M=M2Afy(k_KVzc z<=n2#hu~ZQL&Qw6`qxG7*pZvyy4X(eq7Wm1ryr1cZjDLJE5@uj{9^ZTtri`GB8%0^ zi`|h9s~YZ)a&CrT zHWO@F1|OKD9y8o;!^i=Eaj*mp_SPDJ9l4VS0Gp?rsVR(EK-!_QOJ@PGl*B3Mn;UaK zRC|eGLnnMGg07Nd+M&l(6Cjp0*sJ1h0KZEej0C>7f)PT|;TyCc2M?qz9<=mipcn;S zSxHUBhFC1)b#_o1%qEeahq%oU!=yqGGY+VsudKM#_4arLlMR@Y<)H%t07e$4sZ&## zaw=8A7Q#nl`X06r(I}IXgcB^7BM0`KBT-{;;4XuVzeJY(OZ-@hOA9T5h#CDDG}VA8 zfx=%YRh^f*lZJGZ;?+bPHk)0EtjH8pg8SqoXJa#SrGiX~y&g?%<&} z5MA)T1L8rKJ$c_pevU@x9W~<$xB3WwgK*)|39(!xbvrLQUSzZ^cA&nTapx9cB|L zPaN5?EFff}xdI@6HFonbx}ZBG!Ln>9o{WIt{y@C|*G9ma#{EJl`@aljy~48AO9~8V z)bQZBB5?80Ns)&oDEb}Eg4~v80cixzHtO|CITZUHZ00R-ozLHxwQJZlsP5X$lCg$) zKE=v*ljq2?g(gNpF-9O-qW2S1m|@5Wzm57- zZ_-6JeuWs;rr8qR&UJs^Tiol_y6au<8$0xo?l1;FYec;k^EzXaaEal;FtKUj@CbJ5 zHLF|U7_NHBbt-fIn)&m2e}G%iHS7@u7EOxjSEL&7zw}$-FIH(Kf5p<4SM^K?P9eM->PVIH&pLM>A!|h>o z!2tNiIG479gR!`UQ6YN=92>O2J{J%n3r&sPmwSAk+% zf>6wjdW29q2}R2vQZ3H0b5nT|#W`TK9CueL&zcER4(dZ+gtdzD?X^GdSXR0Iqc;LG zv0q;RZm{-8zI2i}l2k3f_~ptAeptNwOgvwU8iHB31&YPWxGt8oB1pJ$+xM&P{c`;e zTLLrPJk-W5=px)nHJOOhI}BfHWc#B^-o6Hq%5sMD2Y3=7|USwx5m3J zlFY&4uU?tNq6erT5so_)mU7k_igQ5$_ujDh#xoG5PO{(IXffP6elNSg4eAI5wQdvGc=1>rRPdjkO8w zhHTpOF4!AthIl19xo~ppPKl$>XhOWk;IbGuxGctnc4hUP%2e}Wsc(ijdtFM(Pn;`| z#QBM1x16KF${;QWvl&f3pHkOm=o4N8lI4}B0zOmp#a2sfAY+8SxH@#(q?oZgUnG_} zweEEz<;%;sh#RbcmE%Vpe&AvePnJ}mZ9@OxR;PsB0>8;hz=Y9E(LjHd{W`;7rXl&5 zSpF;AW4PhtKE-C^%Zc6)TtPO5sg`b>4I58RvTe4K${5yRxh4@BFk@RYwgxqnI@jX| zZeMZ;Ws=3&d{HlvL}jQV(Y7Ly5^29#_wi|1CE2zO9>ga(Vw*{Thp z0=G3IJ0LO@S`InE5?~Ve0ReMo#H4E@a)m!{gXBi6)sP#-isorjwe^d&4$&Pe5=BNE zXFZs@ckxNFzl*=#epE?W1xlY1(>ih&o2Q zP=jB?&S+czn4>+u=-Yw4@k#d0BU%@Hi^t>Paf+^tPyd0iZ45o53kCZIO;#`i7$ErT| z^k6YOonJ2NSrS5v@`bSM;0wVW`a**;0XZe?iz@S?h$}-exNk(8GMD0X80KN_#mOzY zYV1s#18AYy+@;1LVx2R73x&i{B1PXM4^~XuN`~3c1?F2UOtPrr`pAF*q@(Yd>()sc zLYzx2&{ujDQX?S^APd!{^^uNhR(+(EnqD7?;}U9*5SHgw@=+N41Sd=QllF~Ucf4n| z3?ptK5r1PA*oAyCD=3ZOUoQUfIEAdt!z&fyGzA@LX^bEWI|4uwK9EOdA!bZcayWCG zZNZVjO&yu%`GW$s12zNB3U&H2-OgamxfR&@!VpWW-sf~KTzOGt{f-4U-i>@{Nb2Y} zFi+~QPi(`DVBVOAIh<~WxwLV*tX%D~a{cW*<}%u}b3QMpIT)l*Sz|tk($RT=H9g?n zS!>2=xs)c9aecX*G@`A}=6$JbPgmf!)a{w2>-HQ)5}zl-$s*ynX>)GVs5yg2scH&L zN?o-%OAV&SNvQV!Y|7PT%RHK%uHOqGH*CVw} zhtOEvkT`G|t1$XL6#iW-q#=C(F^5Nwy6CmeXQB~0-*74h=bN&<&5?TSK7@4=*bDc$ zxjGBSh}kZ!Nr&MWjjzM&S_3g7!7E!Ni$!7xPfm|WLgN=r-X>Y#7bSTM_y_K^qbThb z_kBAuKtP_)Oxl1KYgY7fd)uCny=YKA9VeDfc}b-M&U0@?NA5PLqK_yq=Ya79|`Wz~gF74wvS@ zoQtQYA|M1;1`n;To4}uP(G9~G&!fr^fXz%sSX$Nak`Xl1gigw{zMfAlkU@Z3P%b_- zWt?hjTAb$>+hC@Vr@aQ|Y7w4v;MEe2oMfhg;RYuvD3CK0jw#$$ekZG=jgxJKJb79% zAO%Oub-M~MgyFV}eu?D@r8Hyy5hjLjnlDt>tlD8fiN;22Lo>-5PquMe>md=j(@EMP ziLV*rhNrO1K{nb~{J4}9PGS+H%q*YGgu@2o>Z*N4d(fen6xRVk2*BV+o^1IG}1;6n~*Gn|2I^U z!-mA8Gd{hfcBYu$qL&;tCoa$bapk}ad<{!$N4JH{!qrUhD-A27oB*eW*$u0C<)D*6 z!ksIpt28XSw;0c8={I+qv>kQrnn)$45!Dl;g#bs5vI|q*gN<0s!?+t>Hob->CwaO4 znuWtEh2W4j{X8T3J9z*S-BcQfRT<{X%3FywU6$d?TOgM(SP1^%Sl`eyqTRrnwH9Y0 z7pu-|aer#Dy6222LsL$-M+5A7ri6x`8D(62w9UG-_&8Dnu>51mmz*SVr%aNR?il-H z#GNu(kR@a7jtIG*l639z$WMERiPQ(;UV_{yKvzVn>{GMr$IWZdPi zYPG2<2l0FfBrSuQOhlYrdpd#wGo%XH$1_3=Ul(aV(NhP-%oJJVAU@*!l(5nxI70;8 zq*fc)t=8=NIi&*9RMpybk=E$~vBJ`X5OoMb3!4(E_7l2@y>l>GXK;S@utbufs)nye zhpm;{$*U;VSD7Ny2*eDYTrYb3V0~mv%u88^2VXvkv<86@Uy4~&d?|?*eHpnQ$e|k~ zG;u?u$nmn&tIZ$dKKNpF%ZA8~G}iU#)NPE=6toG|ez!65PRP2ec0@kjP~5$W0}zZ~ zf;id6>A2Z2$MPPItHC^E0S!ZJJ*k%;>aGI&Z|c50`}{na&eK^2lCIiOV0W-wb=kJa zewe(!v<-LU*Q&3!MIH<;uHu{N9aQz1!94ZiPm!xxxt}AC0d)EWFF`C;kN*;xXsuB_ zwnvTwIDdQO41f(fGl!y0&&N z+a4M=w-JNzcER8Mb;^hnK;5owU8LGkTKcn1%mB~y<}upWjsjgOb(va5&D za;UL0m`##qHik7`ni{FlCLg9=FsmJ=8KoOprRE!q4G-^I z@sGv9v3k`}Z!LeT!36RjSvP$gT*TvL$i}LhH9g z$`ESxoy5)kF48+ga2@Uv1>+y7=e~>d)K6*f-bZ?Rgd2D!LGJgFjvZvhs@drMzmN1B zD$&j7*X|mJI`eRR8twg=jf@G_CR*5=4iA1dOZA-=9RPQD=E)9w`}3#C0OkfATCPK{o$RzW&sB%G zPa;DN=@-@JX;JnY`KLIA`{}*`Cp1lpOm`KM8%Z3XWO`FMG$xc}8(&raJzUtsBf(yf z$^9hivI>6c?_n0aY`TnUK03wWIOeBQ9FAOC%#hJZ?-|i?2wiuo#65DV#J!^9UOU-l z*H&}3qIu)g+*iS}+*{t_HppnF8?i?6HwPP1y%bPhCNCYjL=+-?2f^Ca@Ku;eBl zUb#>Db~X4Wn_c$FH`#wrlVQb}vRN|RLTE}RezTD2eY1TXsJ)0#vBwk~Xw&r8Eikyn zwHV4p4hvBew#i=k?1WWQ>g(v9aqN{vwbB;%!{SS$9Ygm)*f4YVWwiE)0_MXYR7^ zf!mmRw|%-;$ldlpRjusK>fPIIPVt*oX&0|9b*PJlD~VjbDPQsR)yrOZ^Ye$k&=nfA zP)a-c9s!f?v5V5#V8zT9Z!X(%o$X}}zFcS*^-hCZ8_)PxlrqVE92JhFX)4)NmT4+4 z`KfTO%9PDf;lP>t$)-|ro$#^`K-#p-qEa@M+G*Fp>B2H<7vEr4S?bcI7|}In6+pII zC}!JK^@zJ%$2HY2;v$Re()4mvvr2@){(YIPw3t;d@SK z?OhPM=U$u0>raxn?f2SU5ZZ8(b5#D)pzkJ+O5JDo7^zh+SN{s-vnKKrn}N%5D~hfi zpXtDDIQa=rUc74uR{ZBRBfPOw$a%2W|LVF3u z4ImD`OoAZgd3u+W~ zFaU@k&bBDSbBm_mMjVvqZe(&?60TG;s-q06Ut4#Zy)hNQ2=NGF`E z#DO9G#WB7R?3IXHf-YbE<5-AGM#67>`X~`D(1s@HJ!8bDf8ueA^lz?jc`4Awu!Wci z`oq|DM#DCPH967d?Lwn9;@%x9z$(zl`UD;dC9I{W2}69*THYUE9S(-1;I1&%qYP5G z@tXdC5Cg>iqFR`|y@`ziZGE|UC;;P^dE_GZMs@Ooc5!MQ6j%Oj?bhoTyt(P>T)bM(@K;xF zxpD5?w=Wrs`{oQk^4t$EY@GAXEkB}`^+eRXbJd!gFWd0;MR-ejB@rJy^V;g0*3Nkg zO&+QUmVelAo7v6f|MQfgZcoh({ ziP-Y~%xl$Cb6;pFuaO7KpP&17^*1*@`hK~*MIJ2w;`58{T>0+O%ZlVF@?iNzn--#iqS5?xI*w>>vO z9NG(E)eS$9GJdsKGUic;h+iRrU{cL}$o{_jcImEh6b+`IBcD9TiC-!yOh}dzW~iPi)dIa z6r5f}yWmkfvr@Mlf@X4*0Jq+N($ni}m4=dkeT~nnrm3sa_oJ=T$v2roGPiKxX|kxF z@_y9Y@kHI4q2A!9Ze+0B&%41@8nXVP>itETbl4TZ;4S3R#nSg-qfZv{L&=(EO5fB> z>GEJDGK=Iqtu#}5gTHj;K5l2kxV)L7Dov&I`sm2V?Ti>}nxT$e37?X#d))31^LgcQ z8Jm@UD65nEYjBbV$tNW4lqc-zNa=heE0gCj|`uNb*(axRFoVbx8S_HIj1w zI!SVp2Fun+%2g6qyQ0p{vyk+Or=*CMYbCO;217L1^=Zb{9{IHWS0-Kau~7Z#V@bO9 z86m!1gQ908>7-Ahw@cE03e}%982XuHoS?x`&&hP``p=@XY*5|!vNWH4zmn$D`4tIG zLMXkdUSpaEdeY3^FK{quj&;*G?p;6=SvZ;wl%9oSb7NjuQ#vmj3G@1JDY0#4_92rr z118M0CM-7r$8>%i+W>K58e(x+?MK1vy0r;&B!x8*;82My2DMcmm|bu^2$E}mAvAR| z<1d6Z$%63@o}l_wF|wy#6@7g8s_1OjZ$yJbHJJE~XlGcxJsIk#tCy4?)Jw|#n*R3K{a6eJ8T^*(`((+bntdy)G1v(4a=gJ+?Xe6;j^$ zt)!gyh9tRLz=AE3tDS=cIgg!^F$Xv<&57 zO6p?B3s8t#k^pfz%?xg0u#I|*pIkX_$7#3va9i-0wh26NL%U%d&I4KS_$4#d;s*Pa zFvg_$>X!z4co?J60ySc-{a3u2C}Xfh3zhq0@YqxW!x`j;5e>Qse=4_!W|o&-G>bng zf3|0q7Yeqra%+p3<_rQvTMRJf2rq`5eynMf7<#e4g5k;D8Yz&T1je1(nOcpI=#d=SWH7oi@aMSscto zDqh`1st>Mu?8QxYz4XPxRHI~$PUh%jPrbL{ljZZ4K6`EBWO!JQ)Z|(W-h8^_w%0zp zcFuxt?{AzgrqjtS;Yj)C_g3Ej!PAfK7_AGv9gjz4j0qRkAO~0tk5j^G@(CQ5k9@;w zS`gqV01i0nF-LOSE-l|-%{(s=nVD#Z*&#oR2c~8w+VfpxeCeFOF)ZeLdZ-g_vG5sD ze)SW-JMwfK-r3`Cj7s}s8W%R(F0kmPdoh@T#bp+x;-A``)E=MOZBzG}7DJH0h0e?d zPN^{fXcI%enPMkm*jl|BeW6C9B2ppDs#f0l0B5W7&#J%$xk&kz9rsb!SKSHa;(is6 zp4#9TsaIRLAD)VoUs|~eN9ms2_*Q^N7$fC#E9=)TyQuQ>H*kazC&cv~arn!OMc_^u z^>0ov8gdO*0>W~kaS9O8q_v~+&egXq+xGnPpcQ4wVmG$WZop58*jzTXbymU!H7J~- zHq_pEVci2?zq4lj3S`0&ZJUKvz`Og*D^c1EG2DtxfS3zn(4ir=?Cp<#di0Cb2cKRJ zYBpSRnxz7j_yEH>>E1Hm-04-FPw92u~N`x%0vQY z=Grsegw}#PbJoBV=IeYpaF>}-N(_k5i4rbl*kO2>gi9EXGR*ahh})UrJcb7&+=)~p zZZX4H%b-`oUu=}Dyn;UF0c|9-crGAN^=t#YMx3H2?GajMp@{%)ve04xw_2rc+RQ-B zGe6g*rO~?x{kT|fB0tlHI_pW0ZXZ}HszFQB4F`Ak7cw9%DuziQ19>U79r$eAsWA=7 z#qU|7?VXu7V2|KTbc5WaR}TA%?;n2U=@Q>Gb2!kRe6 z&6xrcdk0opDKddm{aBp`bZ5D-S*|n7jm~mA&ngcbQ)D^p%7 zhzgy6%m0df#kuZzGpk$@{AI@_Y{;{I2vk94P`Doh*)q3yBG)aN3Gr%b9r1Iv{@DRP zEA`Jp{5(fWOSQ+(v*c$x{2GT}G5oIt|ASLL&rP_cuw1_7fQLxWOSt8?Y<%W{d2imo z@C&r)5?GvO?vWMOUH|>u+iqEtX3mF!Nw8Ra{FGdmCD*-FX}NL>uC;hcwiC{Nxx zfAOoEUVrpc5QYp4;eX!q!iBYS7ku%rG+`eGGjI});(ufs-rzilPcDOiVLX0u9;TG< zynD|zpZ>7^vX?+NFHQHW)$d=q?e*toranj$_E5lJu1~_eI!mtMw9eCvQxb0H^D+ax ziZsQmUYPmjldIKFZ9Vm55PVoFI5;>M)~fgYFQPe%J^raOklvw}g&&8817_iIia7$b+%yvE{PqO4;OkBTl|F$Hrm14kChTB5gUxviYqE%7NaFzO zW@9m`i2<8lHqjI?u*p^5d}+7M$wOpRr8d}YEnC%Wu;;X%BaRK};P3QNzB#q~ZnXCg zw$n?gnh9jvDt_=nRsFTy#=F00^$BbWmqL_CwH#|P8Hw>61Th&|VbxJE87X1KRxla) zV7Mw6pJ*@=X$V0!5RH)wCLTwabZMFJmKKXkiz8+bX-Qx~SW=`{5am`o*N@cjZ|rvJ zf^Y1LQgg*eQs0;nYSVB7xvO&Uoq+;xKb3caf+kLum}E0G5lXI;ty9xca0MSK(+jpi z3AtIJ!mLnSLUO)<8O`FQ8)W_(tSQ4-f!BS7-%*P%M`zO?PBCPhVi-1OKiS;;fGYH}W5;CIbAkEh$Bm-uwBpcD3tz@Hngw86(;glYs zb1?A$s5E`$Y||xHn=W#prMt|*9G~?F9jbfMVWlYy&U=JT?86t9`@AHijEG@~fCny5 z`5d#3ITSG%9G3gK0v$0J5xCRg>mxOO5b(H(>hIWe1b1aH3h7db{{r4Z_{FsM+}C+t zAO`zZuYYS_cz6vPx=iAzdL9Z{lEI+$60nR+U2*4Y{RL;UHYPbK(zTUz<=5;^f-1$Q)w#^=o^F7nI>GM6y zezK3-cNJxg7nedwR3CpaiP9=F=X-$7Xv~)idn}jN9`Lh$TF?>xAga}>#|})`5kSGs)ZPqu0nc6iS%G(1h7xFVraBvkm=;H zL6Y_jOLMHKcgU_f;_vLRSqYMC3CmUVsOZ5dw%Ba;OIG{ zxUjgj3~nWGIpWwn9B#8>^%on^~bx7=I}Kx z@ZcABjT}q&V{~q0n=?Wulay2!qQx+eKO^2l_d0ezj`?Q(s8faSuwGl{D=BL)I zz+fp-b`4S=|JC@*l^{uc-{ula>~%omQfw1YJM$o2QG_KUy0U1SxH%3 zQx(IAyvn9shGxuTSDk!3s^YPsQ`cae>1V?zw-Hv;F*&kr9J$Fj*iX|brEfqM&#HaW zDve;hCAqL5J$WDFQ&-c}xYqpGH>&$d6m?Olr=TjG- z6KY#1gBf@`;y^!)OptE;Ue)=8XulLN^n_aK)Cgyv=;FLoG>!CPmgo3{nH*fRPrE{q zKi1aM7;skLjiH}tfn!X&$aoqL+)qq|y2x)DR;opIUx)EioMmV1ghQGJq>>n8Z5pGe zliJbfrklyl4#-DC7;cVEilnv2iezQbY(TP5xt|a)zsiv33pFd*%&}MXGXdYk`+_)k z117TSEH%!q0U6RMg@kb*9=U86hIHugy*T7d%Z()gpLW?PFA>bkht}Nhytr&X3L1@y z(>_eo&XxhI;gd9;A4k}U%k z2lldh#D6Cl6pb+RN{ejOV9Q>4t+o!Oy35 z-5JSb?D~&L#qY9lg&~QqK$j-^_ld<*M5Z`x_Zf@znA9mLQco&PQ_`z>>HR4)RY>^> zBZ+TB;z_2V5fM)^nn?5Q26?iqpiVwZVv6;#EdCE1Hrx0b6QOtZ*T!#3BGT+4o2^VG zE;agTm@e8w!CD&=L2_iu!ZtJ_;z>lSBzs)swHMumWz?!=QAz(VNzxw5XfdluHqngm zvg_TLIh`Mx&tjS52|o>w<&@^RF?X5>w3bE0@Vpb2QG_qGnJ)O)_RQ2!(F}U)!=9KL z3lE)WvwUl|8#8F?-bjhR#&&NQ4nA0uX$4q>Z`8wieAl#88-_!&W=1yj9MNv%mO>$6kMB~R z@<3YpYMowf84(@aY7<7jz?G5|E?yyh?Li}>6naxrJosHj}ldh_(C zcUg;zIVeL2$FHo?9fkNUmR!Sc3=A6`Z8O{q@Nw)``Y~p);#ZmUC{zgG52J%-1cgOo zEO2@u+^2SVKw7V3m=zcU?+P zT^00yVS7`+x6+eDf5ERS=vEON930Hgu(nBHqmZ_p#7ZW%Pcvjcf)xSdhERDk%)_(FQFT&B<}GlISYF7`Oz7O zJK`dV`{sO!%S}nBEET;5ar<2?$TcY*?^D}S4AoX&9R1j;-FiXv@Swe#EX5b9!)8Sn zAjSVl9?lCE==b-;Zv^pO#iF^<8g>E!mqmXuD7N3ofkbhE#VvHMV~_#H>Nsz(6F1bK4R72vrMZ8 z4m_IUkC^rIeqIj2pwb8dkF^2tlMw(s3<*o^5m0+v8cn22I_1)6Z+o^JE?ih!eJLDj zK`T@lor0(B0arwO4wfDRx$&G-cvyO2UE~gAJdx8BS(u1qkgDd2XuFiA6861&mn{+O z=4GC-YZMj9yiAuJ!xItMIt!K0M3Wn4;&3eZ=i4{#n0LXWi~o^MUaZT{DW6xp;EM}p ze*E^LR61^zI{M0J>mo@pMOV-e);r(v+f?ex=%dj$F0g_&KE0v_UlnbCq7n(vTqxW4 zLKCb*XCI7vkuXa%V&Kx4N?D!}yq5vuNZ)sU^vsl(zCqGwVofz{6ynj=W{>Lj~JSqt!_%R)71LG;f6^A<#p0r+@9bO=CS6+IpR->o|W!;se$QvM#W z_V(zY9I4~)&zoHsDD4%7F)jQr5E_&N;r!pFB!Yp${|Fb7w-OIu{l~H}BGy`>W&Ia~ zyD!WoTXnxZq^0s7=>{YQgy56@Fb}_z+nPV7!)8nQFI2x-y1$0hW&SsGZ%WYw|D%>F zB*c~eAJAg9a8UGK;s3}0FL)*Thnj${^nb&e{wN0-1^!|H*uk8#bLH}^3hB2J!~F*qEW5nKyjIu4we4i`<*d6yd;z88?j)d9z& zLzD>9<48s-9a(QOWG>EO$H?I1;+$cCo080&xuFV1F*YL(8=h%;)drX2!{IC#zi3fo z;R8MG__d|58vJ&&t9cAWzST}TnN#+@y#1vJ-&u6Vsq5dC+3q6%<~CkfC}iEntNr@z z=)d^R&HwHtLmO1P(Gr&8v9(29M(cR25KE`TWwee3MRQL#qjjw08eB%}z+r0-4d8$G zlEp0lcP|+eIvnMq$?-I&F*{81fP=|p;b=O%rRz_($>hyA5zI_svdrtl{qJ7#V)g&M zd&w`@E#At*N$-x{O@`{)d$&j1N6MrtM?V(7L;C&ze!|YU@WS5BU~yi#c6E+Z9JZF! ze(yNlEWqMiXG-3XHPH~SM_Arj7=E-W`+`LLPP0_OUYRs;K+vFIco;>Th5IuAQT599 zXs2BKItN!?0OBfG=nQZw`BfzZ3sthv+25IM;gb;vx@tCq)fT?~fnb?>6+wHU#Xx`6 zrh`+S;$NI1^0+yvxJLE9~0IPBdN#I;w3hs2E#^LQWYa&4DQ$&<$TsBB zDt)<)W3H{Jj?@m<)i@s8WWp}Pc!Xu02^TVqMe_y|jx&tggR3o96Tl@@xh7bT1p594 zAVw+iJJf9*ox?lm>x2G#b9v|CMnh##IYmytV0BRKO}H?qCKA>J)#4(jY!AF-CFE!{ zJmAWu6Jtjv!rRSsTk)a=Z(XS$iku_T&%D>DmLJLMxWkL(!Q2WB76GK662npm-!#Zv z8k5n=>&4Cq7>4xh

!?ZwJUjluVhqWasmf4a)r_%17ubJ4sR3b#m}-pL(E^lk%}M za*eQabZ1F3NrOuOGVEY5)|8!RJ3F_6+Jq9PsJq7w7Plm2v+O{orJqPybtO{PhsX*F zKbANzrOViqPs$7{~L>P zjQPK@sQTXLqYJc&^WA}Gb=5Zr}pb|~IGKp5OlgTEdi{_E@m#2Xh6_VI*Hi#&BP>?b*?Chg3{>2zmdsaM~y zNqim%0Ngd$c`3~kee%wDI{!Q2X?aq3dRc=nlR_j??rcgEp%dO2k+XgfBK;4PY)1eX zSIpYK&gY{EKX8&Jk04;q{WTdEX@n+6*fM?WR_;s zh{K!?X4S@=HNvqUJAt(q-`Wi(%$T_#>q9nfXJ*In^ef5XOW5gYIOj-M(aFMbjzp^d zbetoBUMdU8NfI+>mWfb2CP~cf$5jJIX8bt5-Nba6GoT(=qp zW4$V?-VMNk<17YikeN017tFVt$h5x@zTHG-bRk>=Lq)I{!GiHGBQ5pA;Z7NBykv-& z+df0YbWa2@k0?VkXodXNcy@!8W{6b}6Paa`>YgDEpL^~P2&dTi24t|*$RSQ^ z;|@R_O`$1ub;S|l4(>R@xzo6)khlXT%^nV&b)>L-nFe%$-T~-Gp z)h)oW5Ov>JXLf5-{T`vg<$UO+1Os(7bevNXl}t=FBP+CcoYOfI_w+dDJd`qcymONE zpjtfMIc0<<2&aY9ofgOb>7z!#tQ1V+vqp%(^cG1QA2vb+Cc=pDoi|&&fVEgVVf2>AcXU9FoZ`bncUlA!JvBLHasnH)g0%*zXk^ci``&y z)&e=eR_F%Hg9C$IfVm70iFs$@_LXB;yz6HJ3SU_vg7TE~+HcBwdF74Jk5S8pw;Pr{*|q$A1N>tL)W(uWJI`Rp@E!8Z;i5G4-=(YHE3dmyre|_LFA{kj^B||3} zj?YY7?zAn>(!;-#I3E5^OWe@;S<~tE+vuoQFL&Cho2#8eT3tVjW2QiI`h)}yujc0F zex_jMZB=C=7E$lbb2@aHb*+dyj;3J^6sE868J_P@Ww~eG!XGzA2S`f-i)~QVrgW}s zo(@cP*LFE=)vRDnqSIoQo{S`K63AseTratWf%t|hH6@tSTCKKnx|jSyYiz-HkF5Aw z-|q(g&b>(OH5=K|^8Z^btRk#(*Gv866!fd6ics@k?PbZ1@TKB_2M7jU$l@!Qi;4EG6Q#2|0_} zSsg#eiI;5?b~A4FdkF^vxs6b@+p3*2t<)7EtaXRIweI-Dgxy8%X9fr3t+S^BN8xm2 z#K2&(C4*rB!NEv@6)(J$UXD}w@-cC}nu}c$%%p(CnbCvtEvyMc=H`w7)^2&E6adkD za4MBKWC~2KPz`%jW6e>`b;Fu!2-nHw`USt@9xaV&s=1^Z;>pz*L7+4j8YM@A0XBd2 z-PT)g|K)Z*(~TEu%J15gdgHrgUq4p6ue?)J{^%=r-nP1a!+m^PoUhfy%71)%>$O+h zeBY+``BWEQjma(FuU3hH@s4}3O^4F@a`DWXz z^Dlml`COpzRrTp^WNNaqa#nQe((>6?Zny|B?x?6N(Xz7QDRuf4dr4l+zv$ z9a-hL$7~+g$D>-1+rR)PC|F%*^GJs=-Q|gbbQsTqd+%FGdW^G>+0~iL7^xqHl1Qvc z2QV2;XCA~b9+yh#(qxBRGnYH3uN}l5Mil?}4fwX_qiP@=hp|GF*nq7NQu_1AHs5pv zx(sh9;!H%a$|t*WcMhIRyK9q?e+52fZda9;&EZ3k`OGvT5yab^pk0U$Nh91J&pHZQ z3BIh!?@PBNdQhTO1-@h*s`9If#6v!9Gi_X`@n7IEOe8U`{&2Hzmt}3_YB-&Tt zZ~(}SON1(1mu+YU6^Q%7uo!(XQ9PD6T&N)Zjls< zXZ!GgofPU;FA9nd|EA zA|-UINOWgnRIAMG3VcPPhudDFdR8QQk?NtSBOb%UuVINU6?n`rCdu*LcygB~Qov7K z;_eYR5zkcOI(Mo}xXt6KiFR(TkVBF(rbbD<(|8E5Per0Hv!0X4t#JF|Q}OtH7L@6B zb-M}eHsls@UEO@4n(w-9C&-9z@U;=rk^+$+jV!2Zs;}FfbOtB#EAaAUXQ6`(on2I= zv)fh@wRKB~=_Di&Swg(17h=c%ySsfP3JmshQLU~nG~CNAl|-d(53>>Fj)*~$f0Ui|xzLyId?B$lZuzukLXkim&mm8r5Rqku} zf03k&Pa#%7ED#4Mw5dp;GEh~C+gsvGsM#!Gl}K*9a43X(xoJ*&yJ&IUTv%2=x347X z=5{x-@RS9!?(2dAN-ohAO$$o!{pYZJsVO3Ku6}4UAlZ}TGkk(6GzOQ71~Hd)7SWex z6pP9W8`}PRLJP3*ELjEpDh02IOnEx(`fECc?7Pvhdb==J+K$_cHtN%kDBQCaPjzrL zqPpf)+ME2PdP73O7p%+EDP#&=N=-YX&ZsG*zf+y|MonRKS+asvxM{(c{fbKQzM9lS zv)Y%2+l`Wj0-EX+?Ys}Iw@;e1)D$U^T_Qbe@$je-@VG@pioMvTve?Y2NCEMib=nIx zg|TMo6xN(+rdp>vS81Bler!kGAhs0557QT&LQX!N_GUxr?X}ZJ%~bH>0X$u!rqFd? zwuinD5JZ^8rkG+gDoxv8c028Zn!@O^geAiB8q=@ow2?~DoVu|wK>>c1YKN2(-wmPm z+KEmDkD8ihs&k1>A;EqS5Sm36n__yuS*5W5u59pG!h(tYA)O*$HyQ{O(5y=Pkl8+2 zDote^nnX0KQ&g!h1Oypou?YqJj%G^ZZEXLAV*h_Yr?4_wFBQ;Kr_fGswz%FqQK{gK zN>k`{eL5AAV!c^9g;)3;&6LI~&C=)6#Qr`1=xe4abYe|iudkg#W8GY>fM#{ti%qRp zmQFJ&6@0TQ1%GJxZWQCcES-vbX{MceJ|(-E8sp896$Jm=T(2}!-TuXMfTeD1^!?J- zE8S^YJAG(?zu)yjcXYi_Ko*-~iruPGzp*=|^)?=Qfbt(|rYO1_iP7_>ns>cW!|!*! zGTP|Vq}PW9?Yx=N{<3vS>lGb(LnMqgWGM0nnkndXV~5$S>lM$N66^Iyd)=n)PIvBl zp-j47akV}+Wfbt6T`!Hdu(AD%Piv-~{<~%hR%G0;bJq*4XS-f$rYY$*ckX&2Ji1u|0+Wt%2-_e~y$TAk(x$A{#{}$IPo;SropLC}(=<371Fsq%S zCHzj;+qj#O(d5oln)1e`-b}{ldSPWUzJ~&K;(DR=-|u>L%Qrm){GT`Kg@Nq6oi=Hv zv|boTmaJqb;IfrYZmIl&-h2u%tcw zKAnn6QFJ$sw|4G&;X``4DUbATb-fS|U2kJ|f=2c`nkkJ}x+Ts(J^P1a`9s~Q*U9YM z^@{O&*5XZA^o%dHbJvS1()Eg|`CKnd=yxCu@QdgIErNA|UH17pRJ}n8O~2LD9x!#krT#MVTCuJrdsTF7ap*Ti%=n#Ji$Rr%Ce9vxk!(w zVz;Ff+7ek3g(wsYy2#q0N*5uVvIxX*l|Ro-;M*c*i3x%O0a=spc(_{xflIBCRd6lv z0DiI7S{16srF(wRN(#5;RG|h$1>9XAGl#5#b)Z}|=1RP2KYuZHd$7IqshW4CQ(|4O zmR;%W=2qW1mpe#!V?Tb~ENmtvLitv1ARyn$MdE9fb(OPE@Xadq&GekYHs-}CYy!AJ z>;mD4S?&kw=v#svj*`t2e!ccE?9v32*jD1l8!F?6B=&I_rZu5$J~IgDTk!C)?EVCNoR9hVLKLqI7If4ho% zV?^K$E?ipJJHX0^@R=-dhCCkmIw=fv5mg!nn!9CTwaD9d$614qw?}Um*rSACl$Mw!`sW5`9yUn`ui5^%uK$vw8CGm8CsXlN~7dtXG zs}C!d>gORFQ^&F21yGp4wpAE(qDDa>DhO>T%_M$#Oh$!CHEfa7HkVvE;L6Git3KBW zR}N5CUMS6#vvaQSd|{MaIpC=@iacJWMI*(a3vN+G=!A^J64DXKQfdL6EQVsIB2wFk zx@?hCYQ3qJEpm#-8DosP4yX$W7@emEid}5cR8{N4f((AUK6K4Pq7NqwL9pgQ)$#_X z^{&lHpRzBtX?aGu{_3cguW|Yt*1fm)gmr4lwbQK2C0I5h!#J**nnr|Qo{qvW z(|?aQ*(ymauTj!;UN z77C?2b)8d~r4*cF730IF%V~U~lx!PAj2dyBv!_-{$8lyyx1))0`f8>U{l32$Lv_y)D2#_5>l6V*F4Lg2<5ong7xGgoeIWeA@!N``WZRl}3vuqwXE z+2rMcKgN4lg*Q80ox9VW)4?}8$NvAkzfpVN>YP*fEJcDh+JY{QAmZF<5*^jV_-9qh zy2ELsKDyQU+rLlJLG5?DQ>q@l&DqbF7|+LRdZ7%xF1I^p|C=Pw-R@NQk~GKFq$SQj zelPFah?4 zHvUddX%5^%FzMpR2hN0Sy?%~bd#BScvcxm z7ry5g1Y5xUS;-btlB=I4-9CK8u0U|%vm2rF1s!dS&J#3x@N6P<-#GGb(5WOUlgJn$}n+%?vJbywWn9MyYAES>X&VdKz8yEco>&W0f;NOy(^a*@P1S=Fs#`flj z#|`cshyjFpSP`D8;Asq@k&MPC^s|^*_t5ypi+bd4r}+PkQlb9-TT-!&RMeKGIQ|{4 zZFi5;J{0^{mFl;``7HQ(l{)cWr&#TFuhYc@P9(hdUS}g-SB|(h86rN ztmyEM%2)UodY{Ygd=&j5g(1ji>C+WW2}uEvk`UI!%pYc>)A<{ z=J2=@Kl2$R(;qzSbj{IeB9Az0f=jMfUp(UM2Uy$fQRi*Tx>)`47zDBLR<-YwPDyaX zt?HB~okDfNdc2vG)1PogbZV4R^5tS0l@Y1kyuAhk<5vI!CK)Eot6AbFky|!oo(0dsKc>) z>l0Pl(*z@Q|UVYK&(`LIT zI9N~+hYWWhta`lSjI^#%m%QQ(YOg^&3QFqal2nuX_GXrxQN)7`D(JB0PbM58)=?VR|0M zjUT|fa}KqFYS-7D!rWJNF#)is4t>o@cJvS!RANBv<{X)i z?!(QQSQ=7CzwWemaacIbQy@PMl(LTRnN(`) z>rT&Loul4=#o49yus59UmSw3KZ#uj5`OT8#1X(0G*b0QgXdh`V8%xq3*K7?+-hvZ^ zoUVAsX{}Ct%Q?WRRtw*9y5i(Nq&$4z;9!pb4rMp&=1@gAI|q5A#K1llK8ft+>gu89 zxTQalU-9&mV5gOE=iALIVYj!NDk1mCe9Z4b$|xZf%B4zCAWZ}8grp@mBU#RXJhqZJ zd{3$WKHbpbIW+@_Fh6?U0kx~&aW-4Q_it4%z3W^~c+z{$dC`xl&g7a~Rl|GE5y4My zRej%g4hVjJtD5}2GXOHY?S1FOc2zW6h>q?&`Kjax#;a7D58xx#->L?F;GAy=eSNEX z`~&B};5WCb;Dk$he&5c_t=0E{HP2Zk_b*Hg|_qAbaRt0uF$DpS}{jGz|{Y`Z;o1n)E)7I zsnIQ?39v`z@NNpv(bitO24|c@Tahw%t#fv$^8Pt$)>>y$=)(Kw)PBF#c`rxeUjM>5 zN8*lLhcOA_)Yx@SpU|u)=G3ZnPAq6$pl30Ta1UBJHfmO3OsvFOdb= zkwFu=Q6h^ZQZ4$a-)r}>0>UE ztzGqlvnU5}%+Jp5{HEnKzhGE+ZSAD(&c!z14>_^1wsnm=QVwbn z+usVUhM8OxkA=hV$)yGA@;0$9ZK$oBOvK@X!v(%b9uM7ijuE%o=(*eMXw z>eATW0Id_TJ{ZYz1zH`Lh$SMqR|Rp4Pt|;cE^_13YSl;1=s1X59QR`A6q=sg^t3u) z4elpn{ELVXr5A+0z)>>q49u@q)nI{JrjZ=mtW1ZngpqtU9pV_CJvCiCd>L*@@gi3s zmklPj0M_p!eY}QdlL=lg!AVvG2hmmQ0kQGwfjwgjnwtF1Ryd1-PP@dugp25IZ>1cG!&5&KN&x$mnyAnRxEm$Bv#le&iYB|E_M_H`YG7 zH`4COw)@7uvEBveAk+(?X=ja|boy}R>=zpp3k044wj0wl91?4%uG=qG90~-st4H>W z4UG1;tpH>nP-h()b5)1^V=f%Y-uuV;SgD0-{96Ev({)kh4CPz8fQxLWN! zIM&^IOr1vXshSI9G%seMrvdx>A08`IZw-zWTZgD`2ge3le^Wh^v3;y*YIHKz1y&RI z1WCz}T9k~9bB@ck0woAdQ?c^cRrwnc?8+b@F8-Yu>!4cvC05{c$+H4oB-wlAu@dXV z+HK{rL##IQ^R2+7$5l(XtP3t9UjC<8zu?dL>d8OF`bK*fSb6;p!cl~`07d|R#1|+Ij_u!ZU`w5DFd*X( z1!O$(eRFW^pS_GG4jDbYS@RlwdUER6X&FOu)tiUJM$me4)oF*uF3HiV-+XB7gzgWv zwgMFKQ-H9yz}X{VqLZe(<4+$wX}UHPnt_^lSgdc3D7|*kVbHAl846Qh91g2IacFF_ z+G|Mc2sQG+*kfw_QL&oZ!;Xp#wniTfg2nj926qhp`NPK=+=vcVVC0#TXH1$N2pk7o z9RHa9c>ME+|7>v8NKgIo-|*?@o;8|AQPklCL{n7E%0@MQ(j-ys3F?((Z1)&GA|N)? zy`#!4k0q=VRNwMg5y0UZj46)|%&$QrT2gmFpC!dsBTP#|=J(5EopbVvtUx<;&5+po z!>3IjIdOErGlTxS?za0Ldkz>lXs?l{jXHhwn3IvotIsL;?GK-dFme5ht-!I9&m66m zo)GJ@|8QVf1^yd>ert2*e|SXrMlkV<3$7zDO&-|>@9AAOD#<ucXEgqe!M|bZ`XRB;)R3XESaQ6HWBdgCI}Z9h?DXjY zKYk+cXO5qSW;fP_<2vJXcf^S4C03vX@H5rD$H#VY=9}Qn>Z9XhMNS=pEhRSi=h*J4 zPfhT9z(Sx$^ma#|bJpll(?_4~dU39c2`S>zvOXJr`t;#5&Kf>_vY(kVkVebkjM08FLyjF{giAB>;wGw( zj*Yed%QT>9r?eV0!@#H+Q>UW&2mDEA0DlzR<(M-j|LwGq)1+~EWX?w1Qv$ka*;%=`%*2F&r`;JINn+E(@74{ireJa0sVQ%gXn6#7!MJX)LAV z&+`xU$Z@eZYaci%7Pr)1C&hL-@rkZhpa7{>0n)dPpCsCJ@ps1Pz1_e%;AuTxJgPKu zI?d~>$>ZVrMvOpQw3{U&DFme4*>BdqaB^&k6B|EiOdtFkI&$dkQ^v%CYTiq^ZELH? z#UAdNnlWko^pWmqlP8}sdgLVNbNW<}J?-4-qur5Hr;a?=MCcM;Jy|>X)qpGkMUNgk zdaBFPH#UlE%whBt&7GHb6f6re?JC*J5XowLk(vuP@F(Ee3#oUmicL5)6Yr%P;ZBy) zy>LC!v)A#$ur7D<7`L|z92w?+efz7$^J9m#+pTZ^K2t~a?cZ65 zg4%8KV?%nSrk|<{{)d4V0@8FY0?Yxt#K3Am7P!E`#eg))TTJ*)K&D@2!Vj4E#{pTf zXAS;E6MhX4<)i{{;RgwQXd*rZWIASpF#WykTpI8kOduK@W%qOfWH|0sRlpVgeL&9#*+Yslc`P!2)goB z{02Z9{wMIQL2NY%em3FYX_}x7NXGIFYz;^TI-2+rKoZ`?gv(5PKZD;LkoosA@BkBk zFvD#BM;OGhfUN1C0ZH($2A*o-N1O0?K-P2;APG-5;d2c<-@uuGWOS|x&ogkofr|k5 zBBARI;$}c*xD$|smjjZK`we^ukm(;MRDXXi);-1Ow+;GzlWdI%e+o!4UmCc{z#jma zZ<`4RM(K1BK-S+eFb|OIv<76cg$8yqFfj`5gAv^gqBkH5+|7gsn(%%mTyDaLn(&bZ z9s@|5{i}%|Vc-}OKM|0OOf})Z8CWq2?t=whXb=|zGJF{zGt4*mMS!gFbq3xD$aJ?G zxYWS=41CzYCjnW(X8|dh=K;y+tAM2UMhZVj=v_c2{K!On3`hpn8~oP>ZUJQa9|1|= z7Xz)+bvVaB2axGnm~d-AGSCi?pET9^Y3@AVnUJOW4-U7&c zcN)0d#6JMY^p63Op*j8!$xzm*WQux*Cw2E&^o6>kYiw;BN4n z@D&n|_P+o>=wKF^1T}yx;1(0U%f#OUNS!@s@Q)k#tbs29QeyQc{0<-){t%G#)|&Xw z0a@O9#&h`ajY+V@B-qLb;I|tX9;XT5YoNkF+=SZzl2CgSE&^n}QUkji*awh|?`gvO z08&EbfGI{CZW0^=NKXH35}X1^f};$6tO=h9$eKt#2*Am#*Z}NV*yF;1cM)L;Mf#? zkkBNPV5$k9YZ6>w!m~}d8juVvFmSPnzZsB>FERLg0Lj3EfV7c^0m;DQfGqD>K+;LQ zXnxci_%|#AZxOx3GZd#eg-E0pVr<3OpfAO|JEh}+Fm5hE5v4gaSgO6(F(^Sw%)9lQS3_5rl1W&N*ijOb#+a-|x(v1!3Uc`+uI# z2HvUA)z#fqr_OoLsajB;Xj4sZ3CfMP)AUZ7-VKxv?p;qa|8gzZS8+Tj9hs!*13_u{ zFwH+g@o2^4L22+5#WOYkT*cX%e;Fw4Tm#C3To2aigIlytX>Mqa|>EQE(-x`M)kdq-P^RX=oEr8rnwFJ1YJGlm_{A7 z0i~UZpxod9#e+0|Iw!;)S4G_-8G@TJx_5r9(G?(vjOV zeTSCc4a#-*Dn6w7kAc$BXTZAs|AJ<`rWM`-<-+$BKUVx4lncMr^nAtUagC0&f%4>w zfpY!gnmHzM4NClutZ$oX-D4$dCq(P&^itj{OOg8=ay!OYs~~>R+hoKZ8>LN>FZi zjppA7%8mb~<#&K`-9Ho`=+S~lG~+2yE_hM%Uj?PXH?;gcE&oK*UnkClsFprQw$pUjyaBw-rB7{6z5!#cx5m@d8b^PH0@W7%1&^Xu2e6 zng2`jLoQfO3s#f@(yMBEEk#!`P+UiGeNZ02fHGD#Q`}O^w*#fUofQ87O8vdS9=UO@ z1*1WE!f{$*vgRMC`G|@>3OOfzr{Q^EKllP;PuV zC>LA>N<%j){tc8H-Kpt&6dwlVx+fK%SA12=-%2E-;>*+I}AJUVyiH#fd z10`JorQxMDJyg@Hg3__!n)VeF&EG(AQ_bI6aYx17KzWe8z(vJO}zj;!leqY6Ypjz_*Vzw6l!ms}^p2q1V0Ta&?$&gn z4lwxbXqZf9cUyWXJ{EfpWpFpxj_j&EH$|_tE?@pfog5 z^QURLNAW07+B;6mPX^_ao(4+0XKMZhy%$`n1y_R7@b#cvaFeG021>`~YWiMHKLSdF zPl9s8XEptjre6c)x_3c&&`&^V|4YT5dHj$D7HEYs7o?@i=>x0t%#-OyfnU-(Uz@9!k@k4sJhgRqY<${`~M}cy~af*|*e43_v6psSy zuUzp&#Zy4(;8~#DXSU*HU|(7Pui=N>@J3J?_zNhn{%>IYl`Gx{O1+0csrR_z(~8e) z`74TVD!vCwJD-5{SFbov%4Pjuzz=D#<-kV8exRfm*YpygTsRn%4h#jQgDYwInp*B^ zd7$O7;<});w>~KC7{x8Yy8gcdKct7dX+gK93s7#jpW+0~p9)HY2ZPd)!?gTJP;PLX zre|vTDWKFpL(^w!`FRI2|K-M)Xobrauhxp!X~mmCY4|oRzfcCu{mZP#Qc`@d(9ZK)Qd}C84h+%sDvE1?a{UNUI^rwFTD~4A za$pn9-?E<1{M()%(%>Jo;E$j*w0FG%_5mnQw6B(r*YqS%t~*H6hk^2hGeGIUaf&k) zPt)?VK)G(V(5XH6Pr-exP)0aZnoS0;S$y#T7Mwbx=Am9F*$=&0iOk`WtF` zGfi)+xXZz6|L>_887K{nQXH%KlQlgJlp7olN{5co@|jwGnx@ZIyioCSQ0iZ+>012}-@q6t`8}Me&cIw3~x+<9$JCXPn|h z&F`7Y4{7jFP#T<}6^>Q>6DSRwqBu+Q&sIEN^DkDsT=TEi^bMf2f2*c%SG*gfLp^=& zY5eH(04Nn7(+W?6^2E<+`ens8KzWjPK&k(s=6?#x1AL?T^EKUiXro>~#Q~tyTdJOB z{w=2&D{F-{6^*^)0b)bT20>!%8hQ<^xrl8pyHF7|GeU>V153-qZuE9a)Zw` z{jK5;imiv~s|4lKbZEL0l#VZ@I9PEAC=a%>;u?x06n*|AP5r`%3~69pP`>F%O&d*b z2}(oTDekQ0yJ>na#SE0|M=Op8<$(?WrTv36f4Zh;9H#dFv05+_lpCF2EYWU(-!0&=ytf4@!GonjQ?w{f2T2YUJ(ss%?X9tTPfPt^2jif4h+q1m9^@N%&J z2^6o_@>@Z<;T@WPx8~ok`HzCq!Kc7F|M!v>yaCD$-dFs$=6?ms1@jaaXnx!DMt(m~ zt{bT7B|+)fGMXNu<*S0yv0<9;3CjEr`5_mqqZKyL3P$rc*Yq};-a*s5g7PN1HC+Sc z2K#DyJSZJI0F-Y%P1Dmsx!(-1ZvP+44|&296;IU)vp{L^Tusl`@=G=UDo}24qo)6= z<#&K`gS$0-ua-XyO8uum>Cm&&b^gDo6<^be?`VbhHUDE!8vIPtUn~Ac^A{+#9Nu`4 zMM1eye@%BO4g%$YhJe!EN{8#WTthR4D|(>3kx+46#SIjV;ufGZxSghVR@@zw8|Jhln3e1bY~;o z(`RXZNROA*f)yJDeO6N(2Fi_nO~;DA2j#kvn%)GI2iQt+2T%st&YIo>ly<71yt#er z`OLowS}+xq9v-52c)bEjrl$X-c#7gI#dARE$OW3dMDYsEzee!}P&#<4mftQY^Z#zm zxL5HZP;x>)VHhYQ}1y zG&Ee%*Zg%rdBXKHe`CchKxuGWP;RgbDD`&N^1VU%1Q{sxMrr;yO;0*f_5W#PNCVSB zX<&w?Ptb}dgYu+jD$WL_qkjhFx@#0~R-6OM4d;T=-aj?{fa0TyPsySq6`$9NFKfXY zpxod+O@E~6&q2B2cbfl$=C{shw6ho}*YyYG$xEPgU`fqiR?|ZjSKd>9tgaPCXu1qa z$0E)Dz2=Y9{7p2yh2l1#+;DqPIp7LWF?0r!Aq^}AN`uR4dPPu%)|#MnaD?Vp zKxueg&0ims>ox|ZW1DJvD^S|qLDRc}a@}5_v|IG>LmJ*!D~#6)2Y_x>=3fHJjjjge`s+3S7EtQ-%+Z3owBVnbzF*UiC_bt9oZ`!% z-0&?>8h%glLr@z2Ov}Fo<;~33@}{F3>AoP>_w?z|jFRF~pgiF+pftQZC^uRKl!n*R z{IxY5D6Xsd>ucI5ZmGCEC>_}aly-Nor;)JT{E!<~wV(jyhGR9oKPazo8d!g2T7EPr z4W6LsQ#EZtxxqQ0)W1;iGEmyRR`C|e7YRRyA9BH6pxo#_t?;N+ApJBbH+n(yU)TJ1 z6+hDaFEsrfDDBM$<+|o$8n}p}14{V-urA@3;D@|{rL|yLP;R^;C_P>Sl!iuVI?(cU z6-R3MCW>2X{`Q*Q1(f!8)BJADuN}kummBOyhV*E>7EA^u|6ou$a=79#nm-ei4xI+d zbymyI)ACC+|8mX0R`YMs^c+q9{TSxI+~@(#cpQ|5p8=)e7c~EM#rHtz(8rqo5|sMi zfl`0Irkjs#)LRsk@(#t4;!=vs_V7b4912QDRs-b*!!_U2bfoEZL1}OUO>eBYnc`NU zT)%^+cLAl{KWaMF^e9dDjL{zxKxuf2;z62!7%1QFa8MdPM)5=~KSk3PlpCE7O8pBp zeYxUwptOIprsse>cu$|Z_#qekT`SzzDCqN$rXN>)M)P0L^sAbF6OSdn%@ig_iHD>G7c4=m1S0tTk|>A-2AJozk8 z?sE>focx%r8JB``;T4M4oUvZ}V9DrXUubHdd&YO|uiNjM+Gopu=3cg2OZ$PhK5%e* zrLBb{31%JM{(@~fqJ3Du=eKCCpBOZ63mYBLzTskBTQ=8^GfC_bN3{FP>`hV*rkO`I zk#>iWmJ=h6-_kyIM02c~~IWWm00 zc>C)1ni=hzEpanN8&LEmC~xgMu<6#)QSDjNt+(9UzDLWdBis?g*WzpnPN;B)%Kr}L z#D;Z%e#815I`q)hSMN7$jXoFKYmaVU%04icSLN*3+-Dh@T6IUeU~YSP(alJ&N!kv4 zu)W8g^kDnpwsTOY4v}*lY zoJQpNK}LXK|dHMH=-h<)ji+!_g8e#%4gH=YGKZixN6rbqks@1M58>5T%75 zl(Q(Wxo#4NgCzvYq>s)UNUvagw`! zxtaxGZkA}&uH;1#R;y_o@n2rQJ^X2@ohMP*i)wkT?0H!fnWY-<(07w+5z-&8;^oyi zHcK~p9#jG^&1yLV!%ulLW>CF;XYM9hkXO@c=;w^8#4Iz}_IPBrY@SMnwOYl^v(ybd*Uvq(VxxMQJJv$4$Qj;wEvuN7>b>b7hgq7X ziRZ_>r=o1Hd!hZXQo>18OdG%O(v%tEnN{kQ2PAG5R0=<3?zv&vP3-8(pb|Zj@wv+rTS_xu2Ug8uin1&5GVTF-Y^*JYNZF~1iyz*+E*7(ACQUr14SB=}K zUa6(EkdGNxvaDQ93gb1Z7Zo?k<62nD`Pxx#%8lwp9+ZRJkK9TSg+&q?zww;4EG}oY zq{1gH2PyBR(x{&YNv#|*cY>^3%d1rrH0mQ>Dopk$^Oy{^EHGicerFV?MVQp0EJiGa zd10chX1&wChAqF*Uh2$)ILZRoXKLnwpJpcBx?VW_jrPvYTG@{yK6#b5%s-(?8ikM5 z3nPS@#~Y|tGwHioXXpBr%fHz^xHE_fFVCwGX?AOe?jeAaclY6=e04O=5Muk zbuuY(dHfoaEDYSttiMaW@RqmQm+kaogjx~=6*py^RcdB~(e=WPx7(K-7F44wm9k3g zasT4C=kmyX>sL*EyM3v(YE)0?QNkSequBrLt2VR?-fmxe$+77KFB(;eBcxpzC1EY_ z8J%|i+wIYS&}9gf%ULD!E45mX*p1(5cRQoN&kHwTkx1ei0^69e_75YSp?1g^XQ2J- zJME=4Yncq}oTK21TBTY|e!Ca;i+9>r8xR)0Th0qUd0MUJeqh&pw|&i0$b<}vxpUcb|;#TD00nM%wHM4;LBSiApY?KS(<$L(FEq7ueFy~)cd7pGOTUE?k+ zrWF>ms8X&L2(p^lzHt}7%&_nfF*TO+8q;zIsXuC^X!)55ZA&c~G_59APiu|QBF;88| z!;0B`s-6C6dr@NU#sQ+a%$k(2?wCCq4b}3j$}}s7G?FE?!t5y@?!eBxzV2pW}RM8v750(R>Q1px*H>-Qb}2K z&?meM^(HZUYj&+tPBR*3Ax+AONp&3MMeG-0n$cP%$V|1~%aUJ?QR50XM9a$DqHMB8 zew?y$my2?eM=V}(Xljjo7LiI7#R0)lL?LThUe6zp770sV=%ccsECi|D?yL602C`1( z%#Ap$Aw{d6*{AVMD&;(mT;EHpok@2BUrSoA!@N1{2DO@J_OmM-!fgKN+jgf^FqwR}l6g#cFZ5G0#$I)Z zv*EA+wZUU%P+H^N=lbeBG?j|a+hR_YSs=nN8N0hZ`#5Lw{`7^RhB&L%Y78R##CPq} zN%wJ;M8u-ks$zSXcY+CmxyWmeuIiCL8z`p~a*bJBtK{_oqj8OE{{ zWfjjY(0+q7VYRJmP``4;zE;Eij{KB9CU%*epzQp`{9E6YxaDx zJaR8*(TxLhu;nj*oz9x)dP&T}R@dB`D0M}aS3Gm5?H@T8 zmzae~Q1&X7TsngVa+tmPE9ZBmEGlwDM@$byM$}A??TVf4O4t(>a(FeE18$L<>Gsap z2}^DoqwMFA7coL>QPmvY$gh^86jP>_CrDq>j*hU0ujg!s90<#PnPEqNtD##lM>g4! zUpQNLq6H-hFWnEzH7tk5V>APEOw(pkJk-u!$60E4L?2yN)DUCE3!=mv+q7u?SYS>CKCY>K zAMCwRqbE%sKXKae93s5TNN3Gq%)6{eSp;h65|vu-5aJGAQekLeTCmu-q34~@WXE(n zD|9j=kTO~B#iA`%&7Ydiw55%l@w?g{1goZ3WN769c4x>U(wGpx(uJA-4_#P!qm?(2JFYyXY!80QS?vGX z8%C?|VGD|miK&$Sc5hDl|D!jX|IhCR(TR3~)>Mm9KVxP3&3ALM9kGEEm68;}7+`aR zLCi{1HK*9A8#uo&Va8N*<^fAFT0X}0sdk9tOtR0mI=ggX=`wx&l$T$(w9RQvXUQ}j zV!PX%eM>B&j9^CeVw$#G8eNF#0mY(%0Xbxuy^-$Yzd731s?s) z%gRZFp*YL#yNL4;9r5B?%s0=9ET~l~#!CJqd(vX4b`LG;Y+4H4+-Jh&Sb8kdEQ@E_ zyB2dED~Ztw(U8)pTX;pqoMmVCb51M;m<18G5q3b#Y%ZI#?fUJ`qot}>hOkIIH^k}+ z@`^b}9{It6o|mw!pjUa*8G&ne!UGTkl!M^0tdR z+jl{wuo%RcVzSCtb94Se?`jKMuefr5XHcn}R#UWH7yT0Hk*DSYyKR5xky4h?pR5SH zDh6PTaGPyM3~-)bCSf&TbuTLDWD(UbY~3t(Iim* zQLWM_^bmoU*y)|l%n}wSI0~$Lzwuitqmo@#X-utA{`;MO-r)`&A#@Q477Y@Nig-8l$5A@&5#-X4DMKy}E z(Dks$vG%XATL-*LI?!hCT9#Hm8SD(26*%jb$`z)WkB(o%a^V}9Yvo>#mSQw*)?l8) ztCi`Zxz4Vzg0tU`O$;sZZc(rcgf~{XjJxaYXUjS-4rE&K=6U0&43$dN+#oaW=@Nup znW2M~R4!LBRLzZz28R!ER-rAo>UpR^kY!;7oA0K^$A4~!vl~k;Bon%SQj2-N<-pu5 zqjHkHWvH_|UnGtz=%i)ehq7ROy+xWmxx|b`Va7zn;A80w%wJ?iGMrX&2H4eBat79) zKJ?O%uTbVq#|g5++-gr8zEG`AO9c#(3k8P?Ln|28e{J;a#Fgn;oTnAmbr>;5FJsdD zts$ZITSX*P?4v93)F=e#05x+P3s`;leZkx)r9PS^s&54f27@j$bL{w4nQLOnpcbb& zYN{8Y@Za8O^X}DXQ`iwG9JoM)8?VFM@w1tH`s&WmQkcM!!X{!dLg{2xbEiy)Nw)u* zPT$6f?RNb&oE^JD1a*j!CF)6@q^`MZq3N+zz4~JH1K#;#1(WRcZOqZAilPA}iS#Ox z0%B}#U8>F+!C#J@v!?UMF2qv-m&RPgB*O$TcQ?&$jLR+8a`tDY!uusv6i>ztrnULI zyv&D76;=wgZR9lSbPenDAN7w_Z+E5P&L2t;1?V}LHsvaOtDBmC%6EFOFN69 zkHUuN+Szq>Ecsc8#fc?{>EdHknfvWtp7X#!G_k10z`@`{6HLtmjZbt{nNI{^m|-77 zu3{*0=DT^Y>5|50f5~^YwMY2QYF#n2CWFRyL+n#8s+flss&n9=3=vW!EPPNFfoC3W zdbc5$Dvhqq4V*RWqqhS4P+;2Df`F-*7UmI|=1;MTU^C`E^gyM+s`t#JjZuARD56I` zjGIKM>sPUOGV@r|t^YR8%%)DrT2Cx;jOZvWGYKDWvL|oqKsktI8}U&QIeY^1L_L3v zPP8`PgLbb5NrXk{nkRb;kUf|vUY=A@a+y|7X@L(lTwp#U`xpnTyifNQ6lGop3mlXt z1b%Lw(E^s1T8he@WX zi5*%*=DjAn-IlzN0`sycAOLxN&?n~oCcD8_BZJpIS-D=rS@*0B)Lz4Bue53_9WRS={Bw7%`Dx~IP zE%2c;QCjd7A@~YL)F)aHz(ji3aA}A$CSh^^cW(hK1$;eHwT9;j>GP=;;M~D4QUoX; zc$fHopY;}Cxh1HRc$lDhGT(fz1+XnF3rQI9)v?bq^F?n#nEI^eF@G*1gA+;3ms*hc zsPutbL064)`fa}IEvUdyFq9(~DHWq0f8AREn}(YP&rh}NictJU3(}fbEhm`K(9vGR zXZltPV4YHoEY_MLpCWk1|MV81v_sXn zNd*xSgjMr>ZvkRBM-$`i1{LO&ncpbrLJ(H71eXh*6YROF`Jrh&d&;KHVEf*VPN@qa zBfNUx)zS>@H8Kl+RvbW!vv%-;5EC`#;`HW)uV#6T^RS?8-cec&%;7&P=4*zGa2B;F zsp7gZNBq1vkNCKZh6>UcSD88TXT=b@h-th;OkW?%)y()=alyjR-H}DUTg9nkj%xPn z4>ri3SSK6dn`qUIYCa|mqTU>BNABc!o#k?zL+9YdKvH^>esCZ3oO6oJS-BwzzlD;PyF6lhSj3VYjJA{KGcl1%!&Nv zgBi}oJx-OPeT}7cs1Xg+kADCo!8?GZFl23 z(J*@KgfaGy)>+qXwUM*NkYeKavE8G20KOP=JP5*ypWu(i+nbp4n(ZT}Iy-a*IIQr7 zGo8Y)B81HOT7aF1I~w^aOF@Jvxj+jdhE9xBOri=SD2>f*Er8to&rPePOfx z{xsAXd~NWmX#7|)Xy@jldj1Zb&RGDaCLC-Y}5K;Nm`pv;)ShukxlX+c;C!+_Zr z#XJa3RCBo&ROzE%#q4LDN1R0F3N6T3^3jj0;(<$156qSN#ZblS%x?jI%5_z9RlQ(p z2?4|Oa3icHQ8Ucd3w>ffeU|f*pj=&ZO{1U-YA+RQ*Jtb(P!HzX=FM!=6HceyJ9YZ? zNPk?`0%ktU8mwb49qL7JyVx7$ubc zzt{z1oT*rPxT(<2Jv@V~0~t14JzvyVXbj=F(biaS{%Wt^+c~Z?4ZVoT!E4~Nqi~qN z@yCh2Z{K?OZ}Q^5?Cx#N_P+1iw;l1D#P}~SnbUmO&#CdXe?g7^_At7=d3uw*Vt)J1 z!+yb=|Mo?9*hhE9c8Ur-a9HRC76}Vgjy+h<7e*WwH;;lEpBE3$U5$Kfyh02FY+_7M zTwQbP`Tc8E!b_^??`RyDTsGa=*<%1^9Qq12dxnb--PAt3v$H$Idy2q~Dj}LP97Wmu zqp>z@@r$+LpUsO4TRdrUHo3e0_vP+s?rdc6ceJ`Q){X93Iyt?!x0>V<$u#~xJ9a-O zC=ot@5GIBJ_kEG#6TiQn-;?9h5gUekyEyW4^FZ^W6ZwOC-FQhKY+k(nbFwT%WAe0k zsChs=qrTd7*Z(lj!_7<7v#Mhzbx)!f>BL6<0h%xGkcTC801+*f;lb_F78< z9^gSDTwN|!Z?AI+NdvctYlS~DRw>5>9{Eq&C&oH)2}1yne;J=*l@ZVQf2xs>bDHrl z@f+pb3uDhb-N=Wq4GFkHsgq!pJTuQU@}Ul~@Ny&_>?c%;c~m$G@W*_xwS z6H$~i3~V=WQ&=Xrsh9K$aXw@BLmB%i@-Z|oH`}=fJKJ=|SQV^$#Jz+pK?I__()>TV z=6>bvz1nR1AMb3t7TgibOnns~T8qbMOtfFQ;jDQq;_!aHj|;?I9yy3HNzjM_bd5TOZps5(bD7P|48sQ(W&~G}|lIcP4d1I`RUlvB!d3 zMT(j)n;n#b?y=+YvE#>$&c13MC~~DY*)59n*9{Rlwdj?k-!v~Fm8OiV|4qW5Wa+of zwrz$pyo7a#e^dg(%5eI*Z@z2HUudIht%_p{ZQmo_%gob!*Z?;!6G0QiGV9HM8u=J! zF?Jnh8rmRcrTM;*k54+sYNmv;a=C2gH}ZX~o*=_rfj6T@ljetd{y>I8UdCgMKIRex zP&M}Pu}%V+1?LnJTt#n6p~PA)z!ek%Z74hugg;BlK`n5Qu_Vl2a9< z5jUyicNS3&QBK?$OfjaWYmRJb2p>KG<`YZ+rg4EY)y(KE$Ot%qhGAutkjKOvr3HKu z;@X&jgt|~6F-L0woNPu^Muo|X_=dDOrcqETaGz9ppCQi+k1S@|T?gaP_=U7O&JI1q zS)m?e(D@6s>iCv=7yxb*gd9XDR5*9f%?Wm!9%sW6lrX+h%w*;T_lnG)?93UCDg9#5 zo@n2h;jG$K=h9J!VXG)YOtC^GS<3~BG<6(f#$RmiMN*clH;NByDNjvmt zr?duCHry(4Ud(DjV^ec#OMU$pgK_FlWA?Nb`@}xZ?VS>VP)7Dapt4MPfjM0ZFtIbZ zcw!15n6cW-8NCIy8YCqP1`%h(b5+eOEht0rKpw#fW3AM(#8@p5xeGmtxq{uF5jSyW zZvpYIgx5l%Bz#3bF=uH3kv7C*U<_7Z?HL{B?B0R`Zh(*gY<#Z*V{guBu}%9rVJGqp zwuOfvwhr%SV$SU?h|$pzSy+M+Xq1`rw4jXNF|0tFLX{9q5u5Y1fT)8sfjS`w71iCv zKI|=EZ6|ONnO7!Eh?t4lT2O^?f%42T)R+lrVlHeHbV2Gctt#-myfj>v=AxFr+4=i9 zCk@ZgJ>Z7K-sEASBy=>usuS`MCLxpsrXp@=@8Xs^aq!DPhD++>am`-CBt zTQT3-Q%p=A2AmqIO{wohK}7}y0cCxV?q;9hZHT>5Ru~j+JC%r&_H6$8ISmVct657 z-zwSDN>DXu(PIBGg^8}jRI29_O~)t4zgw2@WrB46*2qtZRf;M^q9nK~#UFfIBVR@? zW;1Sdh;Eb^d|Gv>3^y9Ykjgl`g*8a=XGH2mfrbEBwLPywj^PYmk^M7ev#egx{kDEQkabr4kznCE>^BUM+yR zgYjYRquZjn1m-?1K%ov}h!?`+pd=vm?(Z!?)fG~Np&1bA6qyHF>?ylBTj2bv#6GSY zd^ol$YWfp%q;u_5Z-0;m=-YSh)#`D#5m+6tHI;F1rhQ1 z1Onkog`a2ne?kk0Qo~mFgIWyNTcfv6vgzZG+#5m75GPPUA}XO*pVEA8h~)#h#y5nc zGf!(n_*D5uaM@KzJt04z(E@yxHKOkEn4<$gE174t051peJ$Mk2ye_J@c}@$&yN%aNa;YsIK%yrn{-J`k^12;ymb1%1Mj2s#RR&JV${JwkoIy6hWNgU5EaVhFuTY~ED~L;M@8HbM>w-uk}9rk^`2lnAu) z@vVr)!_KXWncre-7dbNs?k1MBZaSqAVkR>`wAk*;oaH3^-?7VIhAx6bo>&kuLhxCM z3|dgHvg@GKLz7|)iq8l_JH*Us9Sz$Xxz?=`EcNbX#FDZ^vgZk>Uyi$u_zR4lc^4t) zasTt7nZ)>8YUNCfo?R|>wjYSl!lUN%-dK}~K|j*|^>`&C zl8TRq{UeyXc#t8Q@K@Qet5k-|LGdN<5ao#tKIRxZ z>Qd*-!7O$4?M?WO@wG$99@~0jJ%FK7mWSEY?mfm?)n0kIv-Ut27YnnE`{HH5D{!2> z@Cs);yUrEP&IF4P3Ib(>f{x>!*zx0~@Y0fpy+*hoo=*fU5oj1duUv!GG~qAKGNp_F z=p22B%^7T8BHHXvQn+pxRxVy^;vpDA@K~NXv2|m@Qb6eVf1`;CBu_wAWUoa zs9<9Az5{bgtF3*+06-kDCxFmMMmbV0F{ifLr9b2f7ke0owTtCg<*^HMTC3geLt=4b zw2C<3W#IoI%D6D6w^r=-A2KM;`_OSZ#oNP&hKM6Z!pD7jMyvh&L#Mk-0%RpVRlYKz zaecKrcI!s<;$_3Jb@!miG#qPK>J>~$D2WW8o4xaDC+K2*M^VZvtVRL0cx=vXHI1g% zzQ%DjA`}iA3wDi=B<>NL^IDzm?uk<-P3AAk<9Iy3b#YCidrHOyKW0p9WX!gQUE^$x zV+V;#Rp z`&{P?E5T9ugdL!u!9YM(nJet2*EwsHu;j%>1xt=0hKg&hw69<1tVQf75kbV7(Gv)OnNZ!YMri~1nmM5Y1a*k$mKZG@ zhW5hi(E!8(Ce~5d4eUAWr)%w}HxPGXzD!T;POv;jC zZfrf)ZZO9gZI_$l^zVco#_rG9zlx6wuEX5aTGt+jA& z|1EJ!c#biK39bvvn47EJ4j2qrU{y1xbv?V~%|wn|aubmw#82iDh(&Om zFpWe~w*J0R{LW1XKo3m;6^bDW8_5P^b4TyhtK96A*fA$tl=%F70L-Bj8+7xV8Ign& z6I_?(1a9R-Q;7LF{bu+ymQ7e@jAbkpVn!k}w{?TY-JZGG=|X2l0U=U_m_R527NEQB ze{OchbY|#OuqSL3ri^e^^Y_+z7)2L$DJ*7%hp3_8;LZL=Ybws#wd~MaomINf8!;o8 z`#!b^W{~-3>rPTU%pP^CvlKk2#HMp7+>mZ*|ryRTJ532g`#yUPADQhy3AI z=XYIfH6q59y2AZNIPULj{hi%=B0FhTy31LztBUo)hsN~)w@R3`xxaOqJ?TzoPrK)X zj?;xAln{hi!D3)cC1vwK>yFZyx?_1U+y72y@aibFvb~Mnj}mxKSIbB=Hb?z{@0dze%6#1{&xV1 z2zquRCu{{l1w`9I9zW8$<^S65&zg;ULs)1H{Ww5?u{=xM1^egBqpiFCR&$Nsc$Mwy zVKMawwja-N25%u@An2|bWBB4EgypecS$ueVBSe@_VpEK~s}Um_?Xl!6)LzdW&L(#8 zXPl1B*@`V@A=8*0k5Ds@x1RHh1?~Ub=FV`S_!H3l*?S0=fU@{RYkkiS#>mfx#n1X^ z-@D5hwW%C;fD;fsM|fwVvz}}%FZ_-?Z$dtC?3BsrQJ~9H^{ag?YO5M!VQQoQt}MnMC)1iDD0#tmfvK*6ZvG|8OplxDxaQ zECBSbtibSl)?V^Y=dcn6K7MJOnXIMk{PXaPR_<{QF0pl+2nykG2suKm;~BmC9`<~( zYmcx|v~mf9=5w1DB!Ael?ERcLZNg+3U2FtI6~-p@u?X4p`=Z_cUbrnT!bchqp)RT^ zru9qq(8HrAdjMy+o>TK!tEJEC`SQ zx83I)g2w`)#!cBf8%lEothSzLZ@M~3!lSZZGQ2xUnHZNl<*u;F&BuPZ0ghyfPWPonXrU*Q+@7bdsa#lbL z@{x#QtkMj7X+raU>kdD@*2OFS*ePSUnlLL!7?ga>f7FX!)tRk$XyX;6CxJnXG3>Gr z7XB)wUwoB+*{vRSPDj+Unqq4cDvnXlYy7ZvAG__t$mYc!aYl9$mKm^$q=cN}gTOQJ zQLFvqBX}iQ6wzW~AUJ2BR^fAf+-mQ7gwVE_wqVAvo^WxXmzYml?PiZU6H6So0?{wo zFdWz>|8BJpKkBU63AsnO8@ufY-eUJ*&3xKw7kkV>pF#}axTkBFFOX=eO#I5De%5+Q zLres==W%DGz3wq5=_2wA-6e5pn&TSM(0tAddE`;_qQQ@2+F*1N*efAv7$Xvf^+l^) z=W+T&_fy_P{q4dF_~uKLo5!64n8k$LmbnO5a42!pU$ySq2;6%8N%kn*@`SU*aMoD} zG1;WR?u{yrJ!Ns>9V2LZH~=gk^h9=oecfume!|(Q3%QPuMKssC9-5hNTEm~3UD2&a z_*JJ7tjOnQk!0e_K`iJv7-r_%R*s2~;IS*8bozG@isQi<5=Mo48{NZv*ShYHZ7s!K zt(f)NMG#0l96p$Ny;m>)6l$I9MnRQi>l@@M;d$mit@QxME@3nwJOhX*)GHX;?^{RI z2g!1k+Nk}6TdNQ(ikOiIZZs6+*!1|ilFRZvf3I6}O5Y=DaCht%^h7umCMO$k+cuW=m$Y9z=PXx3cCc-kX~-1u@n*rT%zue_@x!ySv*meb zMLXek1~l(tpuO}3XTS=wZIpj2G8FkNh-%q+L4=PeBOF+CtUdYVg|6SB#OV+zXW1~M z+2YOwhI^U)3Z#PbA|rL&3(lg02yJG5;A(;Ch6eM@@ooF^VxwTzd&r&*o_G4%D_;;t z3US#`O0Oj)}%6CXI{XeC63Zz-&8Cc6>6LhlgXyiSGX_6CkzD!D}g62jv;fJ zO<&=@ocM(E6N-!YZ~|I0Hj?t1$|bf0K&=QjNN6m(;@LyWbFE|_e~Aw?M?TAAXE2ry zd(l~+-41k+<6<}ohW$}cEwk)FuR82chc!a7K>V=t4!@*r+vUgAWa$yVSPpvSRNX&~ zUs*QULRsS7JhN@bA20mhmLYc7ihuiO*Pqp9)5+|_70#P)!nef#$(|{;rC#`&b72>< z6w%0D3Sl1cADVO8PM5LVCF;Z?cJ7-z=>e}hwJzCjB!LBRoXA*~=yTg{{O^j3zu_Fw zC0>(U_{k9638#cPuWihak5F$hA|@`cO+gw(qY#RWXST(002gFHYRkERdh25XsHlC3id-ah!{XVC^-TQ5)-Hv&N0YBhv zr*ja&SaQ}8!R)XM3|Vtw+b9|9{?D!$QNrNGf@L=@nh}a{#av`(zwMN}(va^;*WmSV z>oNx}ZrkL?=ULn?@{ZHhB{UFv3A7pU2vyfJm$a?7P@V1G!6^V`fkx{J%}C@Chdo^? z!+!~R&;6IfTar%{b&!}i{57oM!ax%*VE){;{z5H1{*Kcj>?}LBRQ~;r zvt<{`J0v(hWMK}VQOxCByY?y0s>@c2@ndkKjFRsU`O4FwaB)(c^dW80{?Kv^mwE2z4Tl;-y zv1L@tB2HDPRh;LspBAaP_GguFSp4BSC8}+_kxGp-TNx$PqT|sYX!}AF&7L zLQhuXv@HCcun{gNcd(Z%fpZ~$348wgPH7OkzSzSfyJCndfg~_Dw(ZSO2}LX}WnX{a z@d>1WCc?-?10bfq5}BLYwv-20Xn`5=iv>ofH`Xm)P_$4qdLI`G|GBwsvxTmn`2kB9 z`%3t>d>{^sD6@!}TiVuHsLl%?I0L$T#t~zPm`*}d_+|dmmNZ@?qiOL$zoo6-YG3&m zj9jH)GN7TrkA-EJSGbz>pTdYi>k9Fq;3b2M;&3)%0xtOoLCIM?!j?qr(!+g?HFlf5 z`(tO_fs8)<<^&?tH@r$nz;2&7qlgMBBw&KjEuwx{tq2MDXJzNeL0Ejz5s9d`ve);KEe1{hdv{ zk2G^=UkgH)cdv%kPy_KTBOp0v$hvWOC5AIQ-Ia&if~ zj3XF^Ex#n%lfx~-csAOop@PU~+cqH_xM&DA5iaIg1~rTjIXmSmXXO$akjJiV z=sotE5se7(Ag=|B^S@rp3wGXD63QnmEc7Qn82pEt9YsYDt;ON`f{7ZV-K^J ze~UtU);BCi#Fi7Y$deFQ5{8+1MQil?u2I9mEy<2~ykkUh37t`ab$I1lXLzHHJ->Ap zABaOcB(xF@5DzYM_BE-nk)^Do#D+tdN&HV7=|g;$L|^w_y;2EI7HyBCfD+;j@qI%? zP`F(Q_Mc5e^?*?}J)i@>Y1jYG*>sp}1?H?Fj47PF9Qe~~BElx~e<%VpIrws{?dUCg z<9E)+zn3$>FjCp?$KZn>F>kl6$^fg#v8R49c5*OvB0InsyXguT-i z+v(r4a%?dVnN2V>)&lG#vjNg4G4G;B^cF9^a=G3NJ0+7v8nCC3jg=8YqjMInkQzGeW=7YA8jjK2K zkFyMnHg6IOpQFZ*#;Dx?VvU!^S4bM&Xapj_PjikJBbSI=Icd{;*y!?-cI)q1@gDn+ z(+-D*zz!Mt(DaPj!hE!Fogrlo))_at?l2>cjp#>gT;jzcVFL5+E2rk0t zLg?q_lQ!G)y~Mb1+9R`tg$iDPgMrMy+f3tG9{=7MQi3=pWR+72@ojLPn)#F&GoK9u zunz<@;@FJ{WaA7)^I4m%&L`?YcEOzPv%QSZKNv+MsrQ>bce)#kymPtmAS^HrNY{s-a@(KTh)4CkJ* zKIce;uiLEO+_76HrYAZvoR0+EiShDHo855%(Hl5{?N&UWJUv2PLO45r2WfHe34CX`bN*woB{KYV&dj9JiT z7hOPDH!cqLkK@_HcOiB&r)8b6fRk;Am64+a#6u4IF57$idbVkijwOanl!KkRr^qpm z%rn`T4!gnS1Y(;b`X*AT%f8>-(bYw09{-ay82UA@6z0gjziSk)+|sdB7mVefO~gT01tk z|8D8%D8YxqcgYDEaKwB#0xA}7?bw~jMxt-o+kxsxC^-`F7<*7_$8Ziaf(Na6>^bD< zMfSgA%>RviVtMd2acAsX;wP%+I66M3wPOXlOj}34PUs;f3EnEGXbBfH$Mevs<9cTjH&*YMLSmJbPh%|+f-yPBJQXJQ~jew zJJ!UP#1ViJ=7!@C_ico!K6TL!LL4y3WQ)BV?Z!Xmq`q6p`&`aG)z$&|Li8e*Fft1>fp{2t#PAX^N8p5=(U+SQL}zeT9-o=_Gg2T*G%=Xn6>)55l65|ow!UDmC0lR6>unYQj_+6~Q zc;z^i1P`dt;$~K(S1WUtQb$)wwiLkQq#WMB1_i=AtUY;=j);>n&_ZDhhz6sCsGT$I z=(dieB=M<4OA$ki2bRgexlh~n?O5sejBVB+Ib9AmLylHByKi6iLQl#kpHu&lO_+9W z-$lE-F>xl3_Rs6PSa zIyhj2r%c(uN`wFoLQW`|t(UK$mvcuhN83O!qh}Lu!j`GbT&UIT9{oBxR>m#E`UuhJ z2GxMb3v*GUlVc}b+;7j)2 RRffC4aJOtXZSPq7{{!!zs_Os% diff --git a/assets/schema.json b/assets/schema.json index c72a138..3cedb8d 100644 --- a/assets/schema.json +++ b/assets/schema.json @@ -331,8 +331,8 @@ } } }, - "PublicSpendKeysArgs": { - "description": "The arguments of the public_spend_keys function", + "PublicKeysArgs": { + "description": "The arguments of the public_keys function", "type": "object", "required": [ "seed" @@ -351,15 +351,15 @@ } } }, - "PublicSpendKeysResponse": { - "description": "The response of the public_spend_keys function", + "PublicKeysResponse": { + "description": "The response of the public_keys function", "type": "object", "required": [ "keys" ], "properties": { "keys": { - "description": "The Base58 public spend keys of the wallet.", + "description": "The Base58 public keys of the wallet.", "type": "array", "items": { "type": "string" @@ -449,7 +449,7 @@ } }, "RkyvTreeLeafResponse": { - "description": "The response of the public_spend_keys function", + "description": "The response of the public_keys function", "type": "object", "required": [ "block_height", @@ -557,13 +557,13 @@ } } }, - "PublicSpendKeysAndNotesType": { + "PublicKeysAndNotesType": { "description": "Type of the response of the check_note_validity function", "type": "object", - "required": ["public_spend_key", "notes"], + "required": ["public_key", "notes"], "properties": { - "public_spend_key": { - "description": "The public spend key as a bs58 formated string", + "public_key": { + "description": "The public key as a bs58 formated string", "type": "string" }, "notes": { @@ -616,8 +616,8 @@ "format": "uint8" } }, - "public_spend_key": { - "description": "A base 58 encoded public spend key string", + "public_key": { + "description": "A base 58 encoded public key string", "type": "string" } } @@ -745,7 +745,7 @@ "UnspentSpentNotesArgs": { "description": "Arguents of the unspent_spent_notes function", "type": "object", - "required": ["notes", "nullifiers_of_notes", "block_heights", "existing_nullifiers", "psks"], + "required": ["notes", "nullifiers_of_notes", "block_heights", "existing_nullifiers", "pks"], "properties": { "notes": { "description": "The Array of rkyv serialized notes", @@ -785,7 +785,7 @@ "format": "uint8" } }, - "psks": { + "pks": { "description": "Array of bs58 encoded string to be sent with the response of the function", "type": "array", "items": { @@ -818,14 +818,14 @@ "NoteInfoType": { "description": "Information about the note", "type": "object", - "required": ["pos", "psk", "note", "nullifier", "block_height"], + "required": ["pos", "pk", "note", "nullifier", "block_height"], "properties": { "pos": { "description": "position of the note", "type": "integer" }, - "psk": { - "description": "public spend key belonging to that note", + "pk": { + "description": "public key belonging to that note", "type": "string" }, "note": { @@ -944,7 +944,7 @@ "GetStakeCallDataArgs": { "description": "Get the call data for stakeing", "type": "object", - "required": ["staker_index", "seed", "spend_proof", "value", "counter"], + "required": ["staker_index", "seed", "proof", "value", "counter"], "properties": { "staker_index": { "description": "Index of the address of the staker in the seed", @@ -959,7 +959,7 @@ "format": "uint8" } }, - "spend_proof": { + "proof": { "description": "The stct proof as recieved from the node", "type": "array", "items": { @@ -1076,8 +1076,8 @@ } } }, - "GetPublicKeyRkyvSerializedArgs": { - "description": "Args of the get_public_key_rkyv_serialized function", + "GetStakePKrkyvSerializedArgs": { + "description": "Args of the get_stake_pk_rkyv_serialized function", "type": "object", "required": ["seed", "index"], "properties": { @@ -1211,7 +1211,7 @@ "format": "uint64" }, "refund": { - "description": "psk in string of who to refund this tx to", + "description": "pk in string of who to refund this tx to", "type": "string" }, "owner_index": { diff --git a/src/compat/allow.rs b/src/compat/allow.rs index e3dbf17..b3cc3bf 100644 --- a/src/compat/allow.rs +++ b/src/compat/allow.rs @@ -8,11 +8,13 @@ use crate::{key::*, types, utils, MAX_LEN}; use alloc::string::String; -use dusk_bls12_381_sign::PublicKey; +use bls12_381_bls::PublicKey as StakePublicKey; use dusk_jubjub::JubJubScalar; -use phoenix_core::{Note, *}; - -use super::stake_contract_types::*; +use ff::Field; +use phoenix_core::{ + transaction::{allow_signature_message, Allow}, + Crossover, Fee, Note, PublicKey, +}; /// Get unstake call data #[no_mangle] @@ -41,23 +43,23 @@ pub fn get_allow_call_data(args: i32, len: i32) -> i64 { None => return utils::fail(), }; - let refund: dusk_pki::PublicSpendKey = match utils::bs58_to_psk(&refund) { + let refund: PublicKey = match utils::bs58_to_pk(&refund) { Some(a) => a, None => return utils::fail(), }; - let sk = derive_sk(&seed, owner_index); - let staker = PublicKey::from(&sk); + let stake_sk = derive_stake_sk(&seed, owner_index); + let staker_pk = StakePublicKey::from(&stake_sk); - let owner_sk = derive_sk(&seed, sender_index); - let owner_pk = PublicKey::from(&owner_sk); + let owner_sk = derive_stake_sk(&seed, sender_index); + let owner_pk = StakePublicKey::from(&owner_sk); let rng = &mut utils::rng(rng_seed); - let msg = allow_signature_message(counter, &staker); + let msg = allow_signature_message(counter, staker_pk); let signature = owner_sk.sign(&owner_pk, &msg); - let blinder = JubJubScalar::random(rng); + let blinder = JubJubScalar::random(&mut *rng); let note = Note::obfuscated(rng, &refund, 0, blinder); let (mut fee, crossover) = note .try_into() @@ -67,7 +69,7 @@ pub fn get_allow_call_data(args: i32, len: i32) -> i64 { fee.gas_price = gas_price; let allow = Allow { - public_key: staker, + public_key: staker_pk, owner: owner_pk, signature, }; diff --git a/src/compat/crypto.rs b/src/compat/crypto.rs index 87c70e3..7c2595e 100644 --- a/src/compat/crypto.rs +++ b/src/compat/crypto.rs @@ -6,7 +6,7 @@ use dusk_bls12_381::BlsScalar; use dusk_bytes::Serializable; -use phoenix_core::Note; +use phoenix_core::{Note, PublicKey, ViewKey}; use alloc::vec::Vec; @@ -41,26 +41,25 @@ pub fn check_note_ownership(args: i32, len: i32) -> i64 { let mut is_owned: bool = false; let mut nullifier_found = BlsScalar::default(); - let mut psk_found: Option = None; + let mut pk_found: Option = None; for idx in 0..=MAX_KEY { let idx = idx as u64; - let view_key = key::derive_vk(&seed, idx); + let sk = key::derive_sk(&seed, idx); + let vk = ViewKey::from(&sk); - if view_key.owns(¬e) { - let ssk = key::derive_ssk(&seed, idx); - let nullifier = note.gen_nullifier(&ssk); + if vk.owns(¬e) { + let nullifier = note.gen_nullifier(&sk); nullifier_found = nullifier; is_owned = true; - psk_found = Some(ssk.public_spend_key()); + pk_found = Some(PublicKey::from(&sk)); break; } } - let psk_found = - psk_found.map(|psk| bs58::encode(psk.to_bytes()).into_string()); + let pk_found = pk_found.map(|pk| bs58::encode(pk.to_bytes()).into_string()); let nullifier_found = match rkyv::to_bytes::(&nullifier_found).ok() { @@ -71,7 +70,7 @@ pub fn check_note_ownership(args: i32, len: i32) -> i64 { utils::into_ptr(types::CheckNoteOwnershipResponse { is_owned, nullifier: nullifier_found, - public_spend_key: psk_found, + public_key: pk_found, }) } @@ -84,7 +83,7 @@ pub fn unspent_spent_notes(args: i32, len: i32) -> i64 { nullifiers_of_notes, block_heights, existing_nullifiers, - psks, + pks, } = match utils::take_args(args, len) { Some(a) => a, None => return utils::fail(), @@ -99,10 +98,10 @@ pub fn unspent_spent_notes(args: i32, len: i32) -> i64 { let mut spent_notes = Vec::new(); let mut unspent_notes = Vec::new(); - for (index, ((note, nullifier), psk)) in notes + for (index, ((note, nullifier), pk)) in notes .into_iter() .zip(nullifiers_of_notes) - .zip(psks) + .zip(pks) .enumerate() { let parsed_note: Note = match rkyv::from_bytes::(¬e).ok() { @@ -124,7 +123,7 @@ pub fn unspent_spent_notes(args: i32, len: i32) -> i64 { if existing_nullifiers.contains(&parsed_nullifier) { spent_notes.push(types::NoteInfoType { pos: *parsed_note.pos(), - psk, + pk, block_height, note, nullifier, @@ -134,7 +133,7 @@ pub fn unspent_spent_notes(args: i32, len: i32) -> i64 { pos: *parsed_note.pos(), note, block_height, - psk, + pk, nullifier, }); } diff --git a/src/compat/mod.rs b/src/compat/mod.rs index f45b5d9..fea6eb1 100644 --- a/src/compat/mod.rs +++ b/src/compat/mod.rs @@ -21,11 +21,3 @@ pub mod tx; pub mod unstake; /// Includes functions to interact with the stake contract withdraw tx pub mod withdraw; - -mod stake_contract_types { - pub use stake_contract_types::{ - allow_signature_message, stake_signature_message, - unstake_signature_message, withdraw_signature_message, - }; - pub use stake_contract_types::{Allow, Stake, Unstake, Withdraw}; -} diff --git a/src/compat/rkyv.rs b/src/compat/rkyv.rs index e869fb4..4abdb72 100644 --- a/src/compat/rkyv.rs +++ b/src/compat/rkyv.rs @@ -11,8 +11,8 @@ use crate::{ utils, MAX_LEN, }; +use bls12_381_bls::PublicKey as StakePublicKey; use dusk_bls12_381::BlsScalar; -use dusk_bls12_381_sign::PublicKey; use phoenix_core::{transaction::TreeLeaf, Note}; use alloc::vec::Vec; @@ -163,11 +163,11 @@ pub fn rkyv_openings_array(args: i32, len: i32) -> i64 { utils::rkyv_into_ptr::>(openings_vec) } -/// Rkyv serialize public key to send to the node to obtain +/// Rkyv serialize stake public key to send to the node to obtain /// stake-info #[no_mangle] -fn get_public_key_rkyv_serialized(args: i32, len: i32) -> i64 { - let types::GetPublicKeyRkyvSerializedArgs { seed, index } = +fn get_stake_pk_rkyv_serialized(args: i32, len: i32) -> i64 { + let types::GetStakePKrkyvSerializedArgs { seed, index } = match utils::take_args(args, len) { Some(a) => a, None => return utils::fail(), @@ -178,9 +178,8 @@ fn get_public_key_rkyv_serialized(args: i32, len: i32) -> i64 { None => return utils::fail(), }; - let sk = key::derive_sk(&seed, index); + let stake_sk = key::derive_stake_sk(&seed, index); + let stake_pk = StakePublicKey::from(&stake_sk); - let pk = PublicKey::from(&sk); - - utils::rkyv_into_ptr::(pk) + utils::rkyv_into_ptr::(stake_pk) } diff --git a/src/compat/stake.rs b/src/compat/stake.rs index cdcfdc0..82e837f 100644 --- a/src/compat/stake.rs +++ b/src/compat/stake.rs @@ -15,20 +15,18 @@ use crate::{ use alloc::string::String; use alloc::vec::Vec; +use bls12_381_bls::PublicKey as StakePublicKey; use dusk_bls12_381::BlsScalar; -use dusk_bls12_381_sign::PublicKey; -use dusk_bytes::Serializable; -use dusk_bytes::Write; +use dusk_bytes::{Serializable, Write}; use dusk_jubjub::JubJubScalar; -use dusk_pki::{Ownable, SecretKey as SchnorrKey}; -use dusk_plonk::proof_system::Proof; -use dusk_schnorr::Signature; +use dusk_plonk::prelude::Proof; +use ff::Field; +use jubjub_schnorr::Signature; use phoenix_core::{ transaction::{stct_signature_message, StakeData}, - *, + Crossover, Fee, Note, Ownable, }; - -use super::stake_contract_types::*; +use stake_contract_types::{stake_signature_message, Stake}; const STCT_INPUT_SIZE: usize = Fee::SIZE + Crossover::SIZE @@ -64,15 +62,15 @@ pub fn get_stct_proof(args: i32, len: i32) -> i64 { None => return utils::fail(), }; - let sender = derive_ssk(&seed, sender_index); - let refund = match bs58_to_psk(&refund) { + let sender = derive_sk(&seed, sender_index); + let refund = match bs58_to_pk(&refund) { Some(a) => a, None => return utils::fail(), }; let rng = &mut utils::rng(rng_seed); - let blinder = JubJubScalar::random(rng); + let blinder = JubJubScalar::random(&mut *rng); let note = Note::obfuscated(rng, &refund, value, blinder); let (mut fee, crossover) = note .try_into() @@ -89,10 +87,8 @@ pub fn get_stct_proof(args: i32, len: i32) -> i64 { let stct_message = stct_signature_message(&crossover, value, contract_id); let stct_message = dusk_poseidon::sponge::hash(&stct_message); - let sk_r = *sender.sk_r(fee.stealth_address()).as_ref(); - let secret = SchnorrKey::from(sk_r); - - let stct_signature = Signature::new(&secret, rng, stct_message); + let note_sk = sender.sk_r(fee.stealth_address()); + let stct_signature = note_sk.sign(rng, stct_message); let vec_allocation = allocate(STCT_INPUT_SIZE as i32) as *mut _; let mut buf: Vec = unsafe { @@ -118,8 +114,7 @@ pub fn get_stct_proof(args: i32, len: i32) -> i64 { } .to_vec(); - let signature = match rkyv::to_bytes::(&stct_signature) - { + let stct_sig = match rkyv::to_bytes::(&stct_signature) { Ok(a) => a.to_vec(), Err(_) => return utils::fail(), }; @@ -141,7 +136,7 @@ pub fn get_stct_proof(args: i32, len: i32) -> i64 { utils::into_ptr(types::GetStctProofResponse { bytes, - signature, + signature: stct_sig, crossover, blinder, fee, @@ -154,7 +149,7 @@ pub fn get_stake_call_data(args: i32, len: i32) -> i64 { let types::GetStakeCallDataArgs { staker_index, seed, - spend_proof, + proof, value, counter, } = match utils::take_args(args, len) { @@ -162,12 +157,12 @@ pub fn get_stake_call_data(args: i32, len: i32) -> i64 { None => return utils::fail(), }; - let spend_proof: [u8; Proof::SIZE] = match spend_proof.try_into().ok() { + let proof: [u8; Proof::SIZE] = match proof.try_into().ok() { Some(a) => a, None => return utils::fail(), }; - let proof = match Proof::from_bytes(&spend_proof).ok() { + let proof = match Proof::from_bytes(&proof).ok() { Some(a) => a.to_bytes().to_vec(), None => return utils::fail(), }; @@ -177,15 +172,15 @@ pub fn get_stake_call_data(args: i32, len: i32) -> i64 { None => return utils::fail(), }; - let sk = derive_sk(&seed, staker_index); - let pk = PublicKey::from(&sk); + let stake_sk = derive_stake_sk(&seed, staker_index); + let stake_pk = StakePublicKey::from(&stake_sk); let msg = stake_signature_message(counter, value); - let signature = sk.sign(&pk, &msg); + let stake_sig = stake_sk.sign(&stake_pk, &msg); let stake = Stake { - public_key: pk, - signature, + public_key: stake_pk, + signature: stake_sig, value, proof, }; diff --git a/src/compat/tx.rs b/src/compat/tx.rs index 78a587a..9f682d2 100644 --- a/src/compat/tx.rs +++ b/src/compat/tx.rs @@ -21,9 +21,9 @@ use dusk_bytes::{ DeserializableSlice, Error as BytesError, Serializable, Write, }; use dusk_jubjub::{BlsScalar, JubJubAffine, JubJubScalar}; -use dusk_plonk::proof_system::Proof; -use dusk_schnorr::Proof as SchnorrSig; +use dusk_plonk::prelude::Proof; use hashbrown::{hash_map::Entry, HashMap}; +use jubjub_schnorr::SignatureDouble; use phoenix_core::{transaction, Crossover, Fee, Note, Transaction}; use rusk_abi::{hash::Hasher, ContractId, CONTRACT_ID_BYTES}; @@ -429,7 +429,7 @@ fn write_optional_call( } fn input_to_var_bytes(input: &tx::Input) -> Vec { - let affine_pkr = JubJubAffine::from(&input.pk_r_prime); + let affine_pkr = JubJubAffine::from(&input.note_pk_prime); let opening_bytes = rkyv::to_bytes::<_, 256>(&input.opening) .expect("Rkyv serialization should always succeed for an opening") @@ -438,7 +438,7 @@ fn input_to_var_bytes(input: &tx::Input) -> Vec { let size = BlsScalar::SIZE + Note::SIZE + JubJubAffine::SIZE - + SchnorrSig::SIZE + + SignatureDouble::SIZE + u64::SIZE + JubJubScalar::SIZE + opening_bytes.len(); diff --git a/src/compat/unstake.rs b/src/compat/unstake.rs index eeb777d..a3cbc57 100644 --- a/src/compat/unstake.rs +++ b/src/compat/unstake.rs @@ -15,14 +15,13 @@ use crate::{ use alloc::string::String; use alloc::vec::Vec; -use dusk_bls12_381_sign::PublicKey; -use dusk_bytes::Serializable; -use dusk_bytes::Write; +use bls12_381_bls::PublicKey as StakePublicKey; +use dusk_bytes::{Serializable, Write}; use dusk_jubjub::{JubJubAffine, JubJubScalar}; -use dusk_plonk::proof_system::Proof; -use phoenix_core::*; - -use super::stake_contract_types::*; +use dusk_plonk::prelude::Proof; +use ff::Field; +use phoenix_core::{Crossover, Fee, Note, PublicKey}; +use stake_contract_types::{unstake_signature_message, Unstake}; const WFCT_INPUT_SIZE: usize = JubJubAffine::SIZE + u64::SIZE + JubJubScalar::SIZE; @@ -54,15 +53,15 @@ pub fn get_wfct_proof(args: i32, len: i32) -> i64 { None => return utils::fail(), }; - let sender = derive_ssk(&seed, sender_index); - let refund = match bs58_to_psk(&refund) { + let sender = derive_sk(&seed, sender_index); + let refund = match bs58_to_pk(&refund) { Some(a) => a, None => return utils::fail(), }; let rng = &mut utils::rng(rng_seed); - let blinder = JubJubScalar::random(rng); + let blinder = JubJubScalar::random(&mut *rng); let note = Note::obfuscated(rng, &refund, 0, blinder); let (mut fee, crossover) = note .try_into() @@ -71,9 +70,8 @@ pub fn get_wfct_proof(args: i32, len: i32) -> i64 { fee.gas_limit = gas_limit; fee.gas_price = gas_price; - let unstake_note = - Note::transparent(rng, &sender.public_spend_key(), value); - let unstake_blinder: dusk_jubjub::Fr = unstake_note + let unstake_note = Note::transparent(rng, &PublicKey::from(&sender), value); + let unstake_blinder: JubJubScalar = unstake_note .blinding_factor(None) .expect("Note is transparent so blinding factor is unencrypted"); @@ -164,16 +162,16 @@ pub fn get_unstake_call_data(args: i32, len: i32) -> i64 { None => return utils::fail(), }; - let sk = derive_sk(&seed, sender_index); - let public_key = PublicKey::from(&sk); + let stake_sk = derive_stake_sk(&seed, sender_index); + let stake_pk = StakePublicKey::from(&stake_sk); let unstake_note = unstake_note.to_bytes(); let signature_message = unstake_signature_message(counter, unstake_note); - let signature = sk.sign(&public_key, &signature_message); + let signature = stake_sk.sign(&stake_pk, &signature_message); let unstake = Unstake { - public_key, + public_key: stake_pk, signature, note: unstake_note.to_vec(), proof, diff --git a/src/compat/withdraw.rs b/src/compat/withdraw.rs index cd15d96..9026b27 100644 --- a/src/compat/withdraw.rs +++ b/src/compat/withdraw.rs @@ -7,14 +7,12 @@ use crate::{key::*, types, utils, MAX_LEN}; use alloc::string::String; -use ff::Field; -use dusk_bls12_381_sign::PublicKey; +use bls12_381_bls::PublicKey as StakePublicKey; use dusk_jubjub::{BlsScalar, JubJubScalar}; -use dusk_pki::StealthAddress; -use phoenix_core::*; - -use super::stake_contract_types::*; +use ff::Field; +use phoenix_core::{Crossover, Fee, Note, PublicKey, StealthAddress}; +use stake_contract_types::{withdraw_signature_message, Withdraw}; /// Get unstake call data #[no_mangle] @@ -44,28 +42,30 @@ pub fn get_withdraw_call_data(args: i32, len: i32) -> i64 { None => return utils::fail(), }; - let refund = match utils::bs58_to_psk(&refund) { + let refund = match utils::bs58_to_pk(&refund) { Some(a) => a, None => return utils::fail(), }; - let sender_psk = derive_ssk(&seed, sender_index).public_spend_key(); - let sk = derive_sk(&seed, owner_index); - let pk = PublicKey::from(&sk); + let sender_sk = derive_sk(&seed, sender_index); + let sender_pk = PublicKey::from(&sender_sk); + + let stake_sk = derive_stake_sk(&seed, owner_index); + let stake_pk = StakePublicKey::from(&stake_sk); let rng = &mut utils::rng(rng_seed); - let withdraw_r = JubJubScalar::random(rng); - let address: StealthAddress = sender_psk.gen_stealth_address(&withdraw_r); + let withdraw_r = JubJubScalar::random(&mut *rng); + let address: StealthAddress = sender_pk.gen_stealth_address(&withdraw_r); let nonce = BlsScalar::random(&mut *rng); let msg = withdraw_signature_message(counter, address, nonce); - let signature = sk.sign(&pk, &msg); + let signature = stake_sk.sign(&stake_pk, &msg); // Since we're not transferring value *to* the contract the crossover // shouldn't contain a value. As such the note used to created it should // be valueless as well. - let blinder = JubJubScalar::random(rng); + let blinder = JubJubScalar::random(&mut *rng); let note = Note::obfuscated(rng, &refund, 0, blinder); let (mut fee, crossover) = note .try_into() @@ -75,7 +75,7 @@ pub fn get_withdraw_call_data(args: i32, len: i32) -> i64 { fee.gas_price = gas_price; let withdraw = Withdraw { - public_key: pk, + public_key: stake_pk, signature, address, nonce, diff --git a/src/ffi.rs b/src/ffi.rs index 3aa61c2..f22002e 100644 --- a/src/ffi.rs +++ b/src/ffi.rs @@ -13,7 +13,7 @@ use alloc::{ use core::mem; use dusk_bytes::Serializable; -use phoenix_core::{Fee, Note}; +use phoenix_core::{Fee, Note, ViewKey}; use sha2::{Digest, Sha512}; use crate::{key, tx, types, utils, MAX_KEY, MAX_LEN}; @@ -188,11 +188,11 @@ pub fn execute(args: i32, len: i32) -> i64 { let mut full_inputs = Vec::with_capacity(inputs.len()); - let view_key = key::derive_vk(&seed, sender_index); - let ssk = key::derive_ssk(&seed, sender_index); + let sk = key::derive_sk(&seed, sender_index); + let vk = ViewKey::from(&sk); 'outer: for input in inputs { - if let Ok(value) = input.value(Some(&view_key)) { + if let Ok(value) = input.value(Some(&vk)) { let opening = match openings.iter().find(|(_, pos)| input.pos() == pos) { Some(a) => a.0, @@ -201,7 +201,7 @@ pub fn execute(args: i32, len: i32) -> i64 { } }; - let blinder = match input.blinding_factor(Some(&view_key)).ok() { + let blinder = match input.blinding_factor(Some(&vk)).ok() { Some(a) => a, None => return utils::fail(), }; @@ -225,7 +225,7 @@ pub fn execute(args: i32, len: i32) -> i64 { note, opening, value, - ssk: &ssk, + sk: &sk, }) .collect(); @@ -247,7 +247,7 @@ pub fn execute(args: i32, len: i32) -> i64 { let rng: &mut rand_chacha::ChaCha12Rng = &mut utils::rng(rng_seed); let actual_fee; - let refund = match utils::bs58_to_psk(&refund) { + let refund = match utils::bs58_to_pk(&refund) { Some(r) => r, None => return utils::fail(), }; @@ -336,17 +336,16 @@ pub fn filter_notes(args: i32, len: i32) -> i64 { utils::rkyv_into_ptr(notes) } -/// Returns a list of [PublicSpendKey] that belongs to this wallet. +/// Returns a list of [`PublicKey`]s that belongs to this wallet. /// /// Expects as argument a fat pointer to a JSON string representing -/// [types::PublicSpendKeysArgs]. +/// [types::PublicKeysArgs]. /// /// Will return a triplet (status, ptr, len) pointing to JSON string -/// representing [types::PublicSpendKeysResponse]. +/// representing [types::PublicKeysResponse]. #[no_mangle] -pub fn public_spend_keys(args: i32, len: i32) -> i64 { - let types::PublicSpendKeysArgs { seed } = match utils::take_args(args, len) - { +pub fn public_keys(args: i32, len: i32) -> i64 { + let types::PublicKeysArgs { seed } = match utils::take_args(args, len) { Some(a) => a, None => return utils::fail(), }; @@ -357,11 +356,11 @@ pub fn public_spend_keys(args: i32, len: i32) -> i64 { }; let keys = (0..=MAX_KEY) - .map(|idx| key::derive_psk(&seed, idx as u64)) - .map(|psk| bs58::encode(psk.to_bytes()).into_string()) + .map(|idx| key::derive_pk(&seed, idx as u64)) + .map(|pk| bs58::encode(pk.to_bytes()).into_string()) .collect(); - utils::into_ptr(types::PublicSpendKeysResponse { keys }) + utils::into_ptr(types::PublicKeysResponse { keys }) } /// Returns a list of [ViewKey] that belongs to this wallet. @@ -370,7 +369,7 @@ pub fn public_spend_keys(args: i32, len: i32) -> i64 { /// [types::ViewKeysArgs]. /// /// Will return a triplet (status, ptr, len) pointing to the rkyv serialized -/// [Vec]. +/// [`Vec`]. #[no_mangle] pub fn view_keys(args: i32, len: i32) -> i64 { let types::ViewKeysArgs { seed } = match utils::take_args(args, len) { @@ -383,11 +382,11 @@ pub fn view_keys(args: i32, len: i32) -> i64 { None => return utils::fail(), }; - let vks: Vec<_> = (0..=MAX_KEY) + let keys: Vec<_> = (0..=MAX_KEY) .map(|idx| key::derive_vk(&seed, idx as u64)) .collect(); - utils::rkyv_into_ptr(vks) + utils::rkyv_into_ptr(keys) } /// Returns a list of [BlsScalar] nullifiers for the given [Vec] combined @@ -417,22 +416,22 @@ pub fn nullifiers(args: i32, len: i32) -> i64 { }; let mut nullifiers = Vec::with_capacity(notes.len()); - let mut keys = unsafe { [mem::zeroed(); MAX_KEY + 1] }; - let mut keys_ssk = unsafe { [mem::zeroed(); MAX_KEY + 1] }; + let mut sks = unsafe { [mem::zeroed(); MAX_KEY + 1] }; + let mut vks = unsafe { [mem::zeroed(); MAX_KEY + 1] }; let mut keys_len = 0; 'outer: for note in notes { - // we iterate all the available keys until one can successfully + // we iterate all the available view key until one can successfully // decrypt the note. if any fails, returns false for idx in 0..=MAX_KEY { if keys_len == idx { - keys_ssk[idx] = key::derive_ssk(&seed, idx as u64); - keys[idx] = keys_ssk[idx].view_key(); + sks[idx] = key::derive_sk(&seed, idx as u64); + vks[idx] = ViewKey::from(&sks[idx]); keys_len += 1; } - if keys[idx].owns(¬e) { - nullifiers.push(note.gen_nullifier(&keys_ssk[idx])); + if vks[idx].owns(¬e) { + nullifiers.push(note.gen_nullifier(&sks[idx])); continue 'outer; } } diff --git a/src/key.rs b/src/key.rs index 01d4061..4295eb6 100644 --- a/src/key.rs +++ b/src/key.rs @@ -8,17 +8,17 @@ use crate::{utils, RNG_SEED}; -use dusk_bls12_381_sign::SecretKey; -use dusk_pki::{PublicSpendKey, SecretSpendKey, ViewKey}; +use bls12_381_bls::SecretKey as StakeSecretKey; +use phoenix_core::{PublicKey, SecretKey, ViewKey}; -/// Generates a secret spend key from its seed and index. +/// Generates a stake secret key from its seed and index. /// /// First the `seed` and then the little-endian representation of the key's /// `index` are passed through SHA-256. A constant is then mixed in and the /// resulting hash is then used to seed a `ChaCha12` CSPRNG, which is /// subsequently used to generate the key. -pub fn derive_ssk(seed: &[u8; RNG_SEED], index: u64) -> SecretSpendKey { - SecretSpendKey::random(&mut utils::rng_with_index(seed, index, b"SSK")) +pub fn derive_stake_sk(seed: &[u8; RNG_SEED], index: u64) -> StakeSecretKey { + StakeSecretKey::random(&mut utils::rng_with_index(seed, index, b"SK")) } /// Generates a secret key from its seed and index. @@ -28,21 +28,23 @@ pub fn derive_ssk(seed: &[u8; RNG_SEED], index: u64) -> SecretSpendKey { /// resulting hash is then used to seed a `ChaCha12` CSPRNG, which is /// subsequently used to generate the key. pub fn derive_sk(seed: &[u8; RNG_SEED], index: u64) -> SecretKey { - SecretKey::random(&mut utils::rng_with_index(seed, index, b"SK")) + SecretKey::random(&mut utils::rng_with_index(seed, index, b"SSK")) } -/// Generates a public spend key from its seed and index. +/// Generates a public key from its seed and index. /// -/// The secret spend key is derived from [derive_ssk], and then the key is -/// generated via [SecretSpendKey::public_spend_key]. -pub fn derive_psk(seed: &[u8; RNG_SEED], index: u64) -> PublicSpendKey { - derive_ssk(seed, index).public_spend_key() +/// First the secret key is derived with [`derive_sk`], then the public key +/// is generated from it and the secret key is erased from memory. +pub fn derive_pk(seed: &[u8; RNG_SEED], index: u64) -> PublicKey { + let sk = derive_sk(seed, index); + PublicKey::from(&sk) } /// Generates a view key from its seed and index. /// -/// The secret spend key is derived from [derive_ssk], and then the key is -/// generated via [SecretSpendKey::view_key]. +/// First the secret key is derived with [`derive_sk`], then the view key is +/// generated from it and the secret key is erased from memory. pub fn derive_vk(seed: &[u8; RNG_SEED], index: u64) -> ViewKey { - derive_ssk(seed, index).view_key() + let sk = derive_sk(seed, index); + ViewKey::from(&sk) } diff --git a/src/tx.rs b/src/tx.rs index 8bbe065..f296ad7 100644 --- a/src/tx.rs +++ b/src/tx.rs @@ -13,11 +13,11 @@ use core::mem; use bytecheck::CheckBytes; use dusk_bls12_381::BlsScalar; use dusk_jubjub::{JubJubExtended, JubJubScalar, GENERATOR_NUMS_EXTENDED}; -use dusk_pki::{Ownable, PublicSpendKey, SecretSpendKey}; -use dusk_schnorr::Proof as SchnorrSig; use ff::Field; +use jubjub_schnorr::SignatureDouble; use phoenix_core::{ - Crossover as PhoenixCrossover, Fee, Note, NoteType, Transaction, + Crossover as PhoenixCrossover, Fee, Note, NoteType, Ownable, PublicKey, + SecretKey, Transaction, ViewKey, }; use rand_core::{CryptoRng, RngCore}; use rkyv::{Archive, Deserialize, Serialize}; @@ -42,7 +42,7 @@ pub struct PreInput<'a> { /// Decrypted value of the input note. pub value: u64, /// Secret key to generate the nullifier of the input note. - pub ssk: &'a SecretSpendKey, + pub sk: &'a SecretKey, } /// An input to a transaction that is yet to be proven. @@ -60,9 +60,9 @@ pub struct Input { /// Blinding factor used to construct the note. pub blinder: JubJubScalar, /// Stealth address derived from the key of the owner of the note. - pub pk_r_prime: JubJubExtended, + pub note_pk_prime: JubJubExtended, /// Schnorr signature to prove the ownership of the note. - pub sig: SchnorrSig, + pub sig: SignatureDouble, } /// A preliminary output to a transaction that is yet to be proven. @@ -74,7 +74,7 @@ pub struct OutputValue { /// Value of the output. pub value: u64, /// Public key that will receive the note as spendable input. - pub receiver: PublicSpendKey, + pub receiver: PublicKey, /// Nonce/reference to be attached to the note. pub ref_id: u64, } @@ -155,7 +155,7 @@ impl UnprovenTransaction { let (nullifiers, inputs): (Vec<_>, Vec<_>) = inputs .into_iter() .map(|i| { - let nullifier = i.note.gen_nullifier(i.ssk); + let nullifier = i.note.gen_nullifier(i.sk); (nullifier, i) }) .unzip(); @@ -177,10 +177,10 @@ impl UnprovenTransaction { types::OutputType::Obfuscated => NoteType::Obfuscated, }; - let r = JubJubScalar::random(rng); - let blinder = JubJubScalar::random(rng); + let r = JubJubScalar::random(&mut *rng); + let blinder = JubJubScalar::random(&mut *rng); let nonce = BlsScalar::random(&mut *rng); - let receiver = utils::bs58_to_psk(&receiver)?; + let receiver = utils::bs58_to_pk(&receiver)?; let note = Note::deterministic( r#type, &r, nonce, &receiver, value, blinder, ); @@ -258,17 +258,18 @@ impl UnprovenTransaction { note, opening, value, - ssk, + sk, }, nullifier, )| { - let vk = ssk.view_key(); - let sk_r = ssk.sk_r(note.stealth_address()); + let vk = ViewKey::from(sk); + let note_sk = sk.sk_r(note.stealth_address()); let blinder = note.blinding_factor(Some(&vk)).map_err(|_| ())?; - let pk_r_prime = GENERATOR_NUMS_EXTENDED * sk_r.as_ref(); - let sig = SchnorrSig::new(&sk_r, rng, tx_hash); + let note_pk_prime = + GENERATOR_NUMS_EXTENDED * note_sk.as_ref(); + let sig = note_sk.sign_double(rng, tx_hash); Ok(Input { nullifier, @@ -276,7 +277,7 @@ impl UnprovenTransaction { note, value, blinder, - pk_r_prime, + note_pk_prime, sig, }) }, diff --git a/src/types.rs b/src/types.rs index 07148e9..efff049 100644 --- a/src/types.rs +++ b/src/types.rs @@ -46,9 +46,9 @@ pub struct CheckNoteOwnershipResponse { pub is_owned: bool, #[doc = " Nullifier of the note that we were checking the ownership of"] pub nullifier: Vec, - #[doc = " A base 58 encoded public spend key string"] + #[doc = " A base 58 encoded public key string"] #[serde(skip_serializing_if = "Option::is_none")] - pub public_spend_key: Option, + pub public_key: Option, } #[doc = " The value of the Crossover and the blinder"] #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)] @@ -164,7 +164,7 @@ pub struct GetAllowCallDataArgs { pub gas_price: u64, #[doc = " index of the owner of the stake"] pub owner_index: u64, - #[doc = " psk in string of who to refund this tx to"] + #[doc = " pk in string of who to refund this tx to"] pub refund: String, #[doc = " random rng seed"] pub rng_seed: Vec, @@ -221,23 +221,15 @@ pub struct GetMnemonicSeedResponse { #[doc = " Seed bytes from the given passphrase and Mnemonic"] pub mnemonic_seed: Vec, } -#[doc = " Args of the get_public_key_rkyv_serialized function"] -#[derive(Clone, PartialEq, Debug, Deserialize, Serialize)] -pub struct GetPublicKeyRkyvSerializedArgs { - #[doc = " The index of the public key to get"] - pub index: u64, - #[doc = " The seed to generate the sender keys from"] - pub seed: Vec, -} #[doc = " Get the call data for stakeing"] #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)] pub struct GetStakeCallDataArgs { #[doc = " The stake counter value"] pub counter: u64, + #[doc = " The stct proof as recieved from the node"] + pub proof: Vec, #[doc = " The seed to generate the sender keys from"] pub seed: Vec, - #[doc = " The stct proof as recieved from the node"] - pub spend_proof: Vec, #[doc = " Index of the address of the staker in the seed"] pub staker_index: u64, #[doc = " The amount of value to stake"] @@ -279,6 +271,14 @@ pub struct GetStakeInfoRespose { #[serde(skip_serializing_if = "Option::is_none")] pub reward: Option, } +#[doc = " Args of the get_stake_pk_rkyv_serialized function"] +#[derive(Clone, PartialEq, Debug, Deserialize, Serialize)] +pub struct GetStakePKrkyvSerializedArgs { + #[doc = " The index of the public key to get"] + pub index: u64, + #[doc = " The seed to generate the sender keys from"] + pub seed: Vec, +} #[doc = " Get the bytes for the stct proof to send to the node"] #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)] pub struct GetStctProofArgs { @@ -366,10 +366,10 @@ pub struct NoteInfoType { pub note: Vec, #[doc = " Nullifier of a Singular Note rkyv serialized"] pub nullifier: Vec, + #[doc = " public key belonging to that note"] + pub pk: String, #[doc = " position of the note"] pub pos: u64, - #[doc = " public spend key belonging to that note"] - pub psk: String, } #[doc = " The arguments of the nullifiers function"] #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)] @@ -411,22 +411,22 @@ pub struct ProveTxResponse { } #[doc = " Type of the response of the check_note_validity function"] #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)] -pub struct PublicSpendKeysAndNotesType { +pub struct PublicKeysAndNotesType { #[doc = " Array of notes which are rkyv serialized"] pub notes: Vec, - #[doc = " The public spend key as a bs58 formated string"] - pub public_spend_key: String, + #[doc = " The public key as a bs58 formated string"] + pub public_key: String, } -#[doc = " The arguments of the public_spend_keys function"] +#[doc = " The arguments of the public_keys function"] #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)] -pub struct PublicSpendKeysArgs { +pub struct PublicKeysArgs { #[doc = " Seed used to derive the keys of the wallet"] pub seed: Vec, } -#[doc = " The response of the public_spend_keys function"] +#[doc = " The response of the public_keys function"] #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)] -pub struct PublicSpendKeysResponse { - #[doc = " The Base58 public spend keys of the wallet."] +pub struct PublicKeysResponse { + #[doc = " The Base58 public keys of the wallet."] pub keys: Vec, } #[doc = " Arguments of the rkyv_bls_scalar_array function"] @@ -453,7 +453,7 @@ pub struct RkyvTreeLeaf { #[doc = " Bytes that are rkyv serialized into a phoenix_core::transaction::TreeLeaf"] pub bytes: Vec, } -#[doc = " The response of the public_spend_keys function"] +#[doc = " The response of the public_keys function"] #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)] pub struct RkyvTreeLeafResponse { #[doc = " The block height of the note."] @@ -540,7 +540,7 @@ pub struct UnspentSpentNotesArgs { #[doc = " notes"] pub nullifiers_of_notes: Vec>, #[doc = " Array of bs58 encoded string to be sent with the response of the function"] - pub psks: Vec, + pub pks: Vec, } #[doc = " The arguments of the view_keys function"] #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)] diff --git a/src/utils.rs b/src/utils.rs index c2c313e..bbccded 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -13,8 +13,7 @@ use core::ptr; use dusk_bytes::DeserializableSlice; use dusk_jubjub::JubJubScalar; -use dusk_pki::PublicSpendKey; -use phoenix_core::Note; +use phoenix_core::{Note, PublicKey}; use rand_chacha::ChaCha12Rng; use rand_core::SeedableRng; use serde::{Deserialize, Serialize}; @@ -155,11 +154,11 @@ pub fn sanitize_notes(mut notes: Vec) -> Vec { notes } -/// Converts a Base58 string into a [PublicSpendKey]. -pub fn bs58_to_psk(psk: &str) -> Option { - // TODO this should be defined in dusk-pki - let bytes = bs58::decode(psk).into_vec().ok()?; - PublicSpendKey::from_reader(&mut &bytes[..]).ok() +/// Converts a Base58 string into a [`PublicKey`]. +pub fn bs58_to_pk(pk: &str) -> Option { + // TODO this should be defined in phoenix-core + let bytes = bs58::decode(pk).into_vec().ok()?; + PublicKey::from_reader(&mut &bytes[..]).ok() } /// Calculate the inputs for a transaction. @@ -271,7 +270,8 @@ fn compose_works() { fn knapsack_works() { use core::mem; use dusk_jubjub::JubJubScalar; - use dusk_pki::SecretSpendKey; + use ff::Field; + use phoenix_core::{PublicKey, SecretKey}; use rand::{rngs::StdRng, SeedableRng}; // openings are not checked here; no point in setting them up properly @@ -282,31 +282,39 @@ fn knapsack_works() { assert_eq!(inputs(vec![], 70), None); // basic check - let key = SecretSpendKey::random(rng); - let blinder = JubJubScalar::random(rng); - let note = Note::obfuscated(rng, &key.public_spend_key(), 100, blinder); + let sk = SecretKey::random(rng); + let pk = PublicKey::from(&sk); + let blinder = JubJubScalar::random(&mut *rng); + let note = Note::obfuscated(rng, &pk, 100, blinder); let available = vec![(note, o, 100, blinder)]; let inputs_notes = available.clone(); assert_eq!(inputs(available, 70), Some(inputs_notes)); // out of balance basic check - let key = SecretSpendKey::random(rng); - let blinder = JubJubScalar::random(rng); - let note = Note::obfuscated(rng, &key.public_spend_key(), 100, blinder); + let sk = SecretKey::random(rng); + let pk = PublicKey::from(&sk); + let blinder = JubJubScalar::random(&mut *rng); + let note = Note::obfuscated(rng, &pk, 100, blinder); let available = vec![(note, o, 100, blinder)]; assert_eq!(inputs(available, 101), None); // multiple inputs check // note: this test is checking a naive, simple order-based output - let key = SecretSpendKey::random(rng); - let blinder1 = JubJubScalar::random(rng); - let note1 = Note::obfuscated(rng, &key.public_spend_key(), 100, blinder); - let key = SecretSpendKey::random(rng); - let blinder2 = JubJubScalar::random(rng); - let note2 = Note::obfuscated(rng, &key.public_spend_key(), 500, blinder); - let key = SecretSpendKey::random(rng); - let blinder3 = JubJubScalar::random(rng); - let note3 = Note::obfuscated(rng, &key.public_spend_key(), 300, blinder); + let sk = SecretKey::random(rng); + let pk = PublicKey::from(&sk); + let blinder1 = JubJubScalar::random(&mut *rng); + // shouldn't this note be created with blinder1? + let note1 = Note::obfuscated(rng, &pk, 100, blinder); + let sk = SecretKey::random(rng); + let pk = PublicKey::from(&sk); + let blinder2 = JubJubScalar::random(&mut *rng); + // shouldn't this note be created with blinder2? + let note2 = Note::obfuscated(rng, &pk, 500, blinder); + let sk = SecretKey::random(rng); + let pk = PublicKey::from(&sk); + let blinder3 = JubJubScalar::random(&mut *rng); + // shouldn't this note be created with blinder3? + let note3 = Note::obfuscated(rng, &pk, 300, blinder); let available = vec![ (note1, o, 100, blinder1), (note2, o, 500, blinder2), @@ -316,15 +324,21 @@ fn knapsack_works() { assert_eq!(inputs(available.clone(), 600), Some(available)); // multiple inputs, out of balance check - let key = SecretSpendKey::random(rng); - let blinder1 = JubJubScalar::random(rng); - let note1 = Note::obfuscated(rng, &key.public_spend_key(), 100, blinder); - let key = SecretSpendKey::random(rng); - let blinder2 = JubJubScalar::random(rng); - let note2 = Note::obfuscated(rng, &key.public_spend_key(), 500, blinder); - let key = SecretSpendKey::random(rng); - let blinder3 = JubJubScalar::random(rng); - let note3 = Note::obfuscated(rng, &key.public_spend_key(), 300, blinder); + let sk = SecretKey::random(rng); + let pk = PublicKey::from(&sk); + let blinder1 = JubJubScalar::random(&mut *rng); + // shouldn't this note be created with blinder1? + let note1 = Note::obfuscated(rng, &pk, 100, blinder); + let sk = SecretKey::random(rng); + let pk = PublicKey::from(&sk); + let blinder2 = JubJubScalar::random(&mut *rng); + // shouldn't this note be created with blinder2? + let note2 = Note::obfuscated(rng, &pk, 500, blinder); + let sk = SecretKey::random(rng); + let pk = PublicKey::from(&sk); + let blinder3 = JubJubScalar::random(&mut *rng); + // shouldn't this note be created with blinder3? + let note3 = Note::obfuscated(rng, &pk, 300, blinder); let available = vec![ (note1, o, 100, blinder1), (note2, o, 500, blinder2), diff --git a/tests/keys_derive.rs b/tests/keys_derive.rs new file mode 100644 index 0000000..5b64b9b --- /dev/null +++ b/tests/keys_derive.rs @@ -0,0 +1,36 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. +// +// Copyright (c) DUSK NETWORK. All rights reserved. + +use dusk_bytes::Serializable; +use dusk_wallet_core::key::{derive_sk, derive_stake_sk}; + +const SEED: [u8; 64] = [0; 64]; +const INDEX: u64 = 42; + +#[test] +fn test_derive_sk() { + // it is important that derive_sk always derives the same key from a seed + let sk_bytes = [ + 12, 16, 72, 188, 33, 76, 44, 178, 86, 123, 107, 153, 230, 149, 238, + 131, 87, 30, 94, 88, 52, 129, 247, 167, 30, 167, 163, 246, 68, 254, 14, + 9, 218, 135, 245, 104, 11, 190, 143, 129, 83, 202, 64, 179, 157, 248, + 175, 120, 157, 220, 98, 211, 141, 50, 224, 8, 1, 125, 29, 180, 206, + 195, 34, 0, + ]; + assert_eq!(derive_sk(&SEED, INDEX).to_bytes(), sk_bytes); +} + +#[test] +fn test_derive_stake_sk() { + // it is important that derive_stake_sk always derives the same key from a + // seed + let sk_bytes = [ + 95, 35, 167, 191, 106, 171, 71, 158, 159, 39, 84, 1, 132, 238, 152, + 235, 154, 5, 250, 158, 255, 195, 79, 95, 193, 58, 36, 189, 0, 99, 230, + 86, + ]; + assert_eq!(derive_stake_sk(&SEED, INDEX).to_bytes(), sk_bytes); +} diff --git a/tests/wallet.rs b/tests/wallet.rs index f785782..829f5b4 100644 --- a/tests/wallet.rs +++ b/tests/wallet.rs @@ -8,14 +8,12 @@ use dusk_bytes::Serializable; use dusk_jubjub::JubJubScalar; -use dusk_pki::PublicSpendKey; use dusk_wallet_core::{ tx, types::{self, CrossoverType as WasmCrossover}, utils, MAX_KEY, MAX_LEN, RNG_SEED, }; -use phoenix_core::Crossover; - +use phoenix_core::{Crossover, PublicKey, ViewKey}; use rusk_abi::ContractId; use serde::{Deserialize, Serialize}; use serde_json::json; @@ -60,15 +58,15 @@ fn execute_works() { let mut wallet = Wallet::default(); - let types::PublicSpendKeysResponse { keys } = wallet + let types::PublicKeysResponse { keys } = wallet .call( - "public_spend_keys", + "public_keys", json!({ "seed": seed.to_vec(), }), ) .take_contents(); - let psk = &keys[0]; + let pk = &keys[0]; let mut contract: ContractId = ContractId::uninitialized(); contract.as_bytes_mut().iter_mut().for_each(|b| *b = 0xfa); @@ -106,7 +104,7 @@ fn execute_works() { "ref_id": 15, "value": 10, }, - "refund": psk, + "refund": pk, "rng_seed": rng_seed.to_vec(), "seed": seed.to_vec() }); @@ -181,14 +179,14 @@ fn filter_notes_works() { } #[test] -fn public_spend_keys_works() { +fn public_keys_works() { let seed = [0xfa; RNG_SEED]; let mut wallet = Wallet::default(); - let types::PublicSpendKeysResponse { keys } = wallet + let types::PublicKeysResponse { keys } = wallet .call( - "public_spend_keys", + "public_keys", json!({ "seed": seed.to_vec(), }), @@ -197,9 +195,9 @@ fn public_spend_keys_works() { for key in &keys { let key = bs58::decode(key).into_vec().unwrap(); - let mut key_array = [0u8; PublicSpendKey::SIZE]; + let mut key_array = [0u8; PublicKey::SIZE]; key_array.copy_from_slice(&key); - PublicSpendKey::from_bytes(&key_array).unwrap(); + PublicKey::from_bytes(&key_array).unwrap(); } assert_eq!(keys.len(), MAX_KEY + 1); @@ -220,7 +218,7 @@ fn view_keys_works() { ) .take_memory(); - rkyv::from_bytes::>(&vk).unwrap(); + rkyv::from_bytes::>(&vk).unwrap(); } #[test] @@ -258,7 +256,8 @@ mod node { use dusk_jubjub::{BlsScalar, JubJubScalar}; use dusk_wallet_core::{key, tx, MAX_KEY, MAX_LEN, RNG_SEED}; - use phoenix_core::Note; + use ff::Field; + use phoenix_core::{Note, PublicKey}; use rand::{rngs::StdRng, RngCore}; use rand_core::SeedableRng; @@ -271,13 +270,13 @@ mod node { .into_iter() .map(|value| { let obfuscated = (rng.next_u32() & 1) == 1; - let psk = key::derive_ssk(seed, 0).public_spend_key(); + let pk = key::derive_pk(seed, 0); if obfuscated { - let blinder = JubJubScalar::random(rng); - Note::obfuscated(rng, &psk, value, blinder) + let blinder = JubJubScalar::random(&mut *rng); + Note::obfuscated(rng, &pk, value, blinder) } else { - Note::transparent(rng, &psk, value) + Note::transparent(rng, &pk, value) } }) .collect() @@ -338,17 +337,17 @@ mod node { .map(|value| { let obfuscated = (rng.next_u32() & 1) == 1; let idx = rng.next_u64() % MAX_KEY as u64; - let ssk = key::derive_ssk(seed, idx); - let psk = ssk.public_spend_key(); + let sk = key::derive_sk(seed, idx); + let pk = PublicKey::from(&sk); let note = if obfuscated { - let blinder = JubJubScalar::random(rng); - Note::obfuscated(rng, &psk, value, blinder) + let blinder = JubJubScalar::random(&mut *rng); + Note::obfuscated(rng, &pk, value, blinder) } else { - Note::transparent(rng, &psk, value) + Note::transparent(rng, &pk, value) }; - let nullifier = note.gen_nullifier(&ssk); + let nullifier = note.gen_nullifier(&sk); (note, nullifier) }) .collect()