From ca7f35b58627ce166b7e4b78c9689578e285241a Mon Sep 17 00:00:00 2001 From: Yun Yeo Date: Thu, 22 Jul 2021 17:49:39 +0900 Subject: [PATCH] add testing code for contract info query wasm interface --- x/wasm/keeper/custom_test.go | 37 ++++++++++++++++++++ x/wasm/keeper/testdata/bindings_tester.wasm | Bin 222753 -> 233109 bytes x/wasm/keeper/wasm_interface.go | 2 ++ x/wasm/keeper/wasm_interface_test.go | 1 - 4 files changed, 39 insertions(+), 1 deletion(-) diff --git a/x/wasm/keeper/custom_test.go b/x/wasm/keeper/custom_test.go index 63458c90a..d2eb9a65a 100644 --- a/x/wasm/keeper/custom_test.go +++ b/x/wasm/keeper/custom_test.go @@ -88,6 +88,9 @@ type bindingsTesterTaxCapQueryMsg struct { type bindingsTesterExchangeRatesQueryMsg struct { ExchangeRates exchangeRatesQueryMsg `json:"exchange_rates"` } +type bindingsTesterContractInfoQuerymsg struct { + ContractInfo contractInfoQueryMsg `json:"contract_info"` +} type swapQueryMsg struct { OfferCoin wasmvmtypes.Coin `json:"offer_coin"` AskDenom string `json:"ask_denom"` @@ -100,6 +103,9 @@ type exchangeRatesQueryMsg struct { BaseDenom string `json:"base_denom"` QuoteDenoms []string `json:"quote_denoms"` } +type contractInfoQueryMsg struct { + ContractAddress string `json:"contract_address"` +} func TestInstantiateMaker(t *testing.T) { input := CreateTestInput(t) @@ -240,6 +246,37 @@ func TestExchangeRatesQuerier(t *testing.T) { require.Equal(t, KRWExchangeRate, exchangeRateDec) } +func TestContractInfoQuerier(t *testing.T) { + input, _, testerAddr, _ := setupBindingsTesterContract(t) + + ctx, keeper := input.Ctx, input.WasmKeeper + + contractInfoQueryMsg := bindingsTesterContractInfoQuerymsg{ + ContractInfo: contractInfoQueryMsg{ + ContractAddress: testerAddr.String(), + }, + } + + bz, err := json.Marshal(contractInfoQueryMsg) + require.NoError(t, err) + + res, err := keeper.queryToContract(ctx, testerAddr, bz) + require.NoError(t, err) + + var contractInfoResponse ContractInfoQueryResponse + err = json.Unmarshal(res, &contractInfoResponse) + require.NoError(t, err) + + contractInfo, err := keeper.GetContractInfo(ctx, testerAddr) + require.NoError(t, err) + require.Equal(t, contractInfoResponse, ContractInfoQueryResponse{ + CodeID: contractInfo.CodeID, + Address: contractInfo.Address, + Creator: contractInfo.Creator, + Admin: contractInfo.Admin, + }) +} + func TestBuyMsg(t *testing.T) { input, creatorAddr, makerAddr, offerCoin := setupMakerContract(t) diff --git a/x/wasm/keeper/testdata/bindings_tester.wasm b/x/wasm/keeper/testdata/bindings_tester.wasm index 32b8be56c2eea946337cb15f2b4329b1dcc9ed58..4731d71f189186439d632335ec743d912af089ba 100644 GIT binary patch delta 66902 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

%LnCRUM1`9F6a7Iv9XfHL@F2V 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 delta 59412 zcmdRX349dA^8a?vCfVGJ1V~7LO$d-c!X<=TGDslafTF0V;B7$U^h7oYXi!vO2+bt~ zA1ZQ$s31HaYEV>ApNN3+AHdqGBQ%)pAcS;{>NFo9w`m4At*`;ok1AL zhS%swAw*PEbhMOFh9RuhvVM-&8x<*|qM{@L!-M}ZVEyVv)%*_ttlQ;3tTf}<#7%QI zcw&Pdlb=x~);=S7;N4Nz-G1FQIhY!EynxV)vMaEovog2DW*1c&2GF?CPn(MB*^}5kxZn|Z}Re7F0R)24!;1nr5 zrih&08?h^;ZCt|<&RD32r7YD@`;!E+BI3&Ing#(|IkI5tA>Kk4##ugUc zc+<^&3ddB*!rN}U?e^R6xb@asZ+KCR9dq@#!neeBu|r(lx9}seS9~Zw77t5H{u^mi zWnq=rZhS8aSIKfYQ%;w`8FIc{Z4@q+kIP@hT=|`NLN1Zx3d`g_3@Eh@! z99#H>JSg${qVc&gcIEB~L5^<^c$m-H;u9#xYh-{AEpPMz6Qw(cl-v(A*^Yn&4M9bKqn1GVS zVpxVmQEB>$0>Z!FY7=$6??V}o2<)~ViE1J4wO)z3THI-6`%V}8tSfw1)wwG!HWmdo zd5Z9xRpfuj+UmO)u|A5eqS!2%<= zUesi6S3MpS$=0Zt?!dG>hVWe#+a$sli11Ibeu^1jt$iTD>Ty@1bz^KFPHXC)V#Ef# z1p!~d=y*@Si)^37o+b8JIdLn|@ZE7=3136qgftquAI$OhLQ| z#G-Une2@As7}Be00%|fzh#o3Hygo?*I^n9|fwGGLg=MfmX*`RiIe)29OW z&FR}Z1|ky-k5>TcXrLOSkuHcgsG&xj(=ZMo4>gA;7>gSv zSrhzq(Hk@U9V7Pj!^Z^m+3-osi+mIzz=?tFq1%Yfow_`shgN z#c1aRX>*WP6`yJujgrNWRvLcyTOAu+8(v2XG1c1KXk-+_FA>&`+52-=n~Vj+Wd;V-0nH+b;qr&!r*n~iswG;bSdRyCfxyl{ zuR!fWM4bZ`HT=oe7nv8FT%5j$IbNL5u_R8TnqRN^h1q?#^-1#di!-W=U_l zj~<>t1Tg-|uoh-FEzkjR(`8YknR4KP4Qdaasb*QT3y32O_DsefJHchN%A|VRbfIkPH$*^)2bEd z*)Zoha9@)dGRyikr;8>M>!971ncG4Z3+txbq2a7$eU{tT>H58zHpysB&(_z7Ox3nT zCR_h%-5O15y`X_5+BAy4GcJP2*jYCqr_BU{xx7tjETe;H!=GlI)3yw_9BTV)9LY{3 zDFnj0yj@O11+@{Bq$I0cCCR*MpyF-@s`st?VX2o^5-EB{J`c0zq%#H)ml8ZZD1z>ACHUoh_>^K!% zeM8=5jA(R0d?ZW#n|UubAj~1-M#1PntSQEfE`UZb(1?F@x*1$kr*lal99Lii-34X= z$K-nAOfkxTruEOxZN$gc7oBIKrtw{-b-uuy$sC7hpStvRFp>BX}vJy{-4pLj__3JimybPR#n9*;R0 zDR}nRDZ>1@6tWQM|HZHx_UxV;mg1{PRGa>pvGf+VcRbUQCjxL^wP&9>R^lQ_BmA1^Mzkt`gttdfy1lQ|k1KY7)H$z|+ zpM9BXaI2)|*EwfcwdR-g?v}h(puaJ^2@+I{0?^s$^R)s)d}qslZf#WCP|z#-saZfQ ziV*wm+_W?<3f>h!E2y2+yD~$T_RF z<|LfoTaCCwMp|)a`=X~2RPJ9Q|4a%+*yIN*jyO9x)s1s$9V)Z<>|1IlbNyRtYvL^@ zZDKcngeK)z!~~2*O8|QXG zs0`TMx}bmUt?zAR4@ivujauYNSc!#DoDIKYSo^@rw-zNBmdLOOK_n@( zf0tUv26hlr)cbeHMk)VBI;%HZZG`d@@Ky!20pC#2&2MPVe3d%KAmY{J%vv(oGB~I< zn22k9F+KjDl&AI%ZOfo`EPafw)!;#LzSrvCziuro zTh_a|y6GO-$l7~FVxy_VSH!7=8Hogu`x~fpJO`+Xdt|`Mxw1w!h+y?>Ki?xS^pz1L z=^wAAPm-DH&Pg)9S`^uvX;(F=6`yVm9295SHHf1Ek)pnJ*VO~{Sitj- zPpl8F9%`F_ap_(?s$&Qw6R`g^gN3rnuOYg=cvrSnbxqH(QDnE(Z$=Aok9GTu4!-|5 zmT3Ns4Xtf60x(^wW^_%qqit(6Y+jdpT_KF^Td%t$xtOFO8YU(iIXofMQ@_uyYlCV# zS*L4*l~TxHz18ZTGLsF~xb&!iH$7To9Dzh&yzKgP7(H9A&-U4H@3elqo@}4Y8!}=0 zBo=2{56$Yx_D@tne6%*yZWv=VoS0x;R+?&^ePb`4E5R0uyW3VHDYevY9yLAw}mLN?!KuLtgzO@Q><+_rGqx#-E@ItwuQBL z>O3;hUzlf`=#*lh#XrqEy@B20Km^*%c9$2ZqrGv%Isy<+hHZP6X3h7{A1pGhieY`& zlx^*sNxc(^c|z;q>4{KuoS(pB_H11_{4&s|YQed{bI85v)|HR+gpNR)>sxo<+ztq> zy7^vlKu!N#G_cMak?l;b4pN9aix_zdMwPy!y}tnuZ_MEIh&6eq8VTg>{|hH z%pB7Lz_yPmXt>)aecHONaII^*JKBuBwi^6?Gm@;Q$JP@MTARk63%u%$>nrZEt{j(z z_xr}RMm^7tYZ0o4810L3UBbv7S&i&nZf%NYU2*H=DE2;-3G0?w$un=e2c10mwgKdy z;OQbWym`=5Fh_WHY?a>8 zyBhCk_sLgx&{VARo!xCNpL=H)AhYw%b5LpEu8Z+|+g+`_Pshmw>#1u<55IVqJ*#9@ zxZ7$wzJ-`%4I1A$B+KQ&G;7WHT##u0_%KvcZZ$U68BhufvC|uS%RLho|@QNd|>UJ7*dyQtOnx~sxcywd9pS0p4Oqs`-FQ_ ztWWM~1~U65bq!76LoL?&@bXDS!zq($&~W3V?qa4TCMQX#g9eiW$uo&$aZsr20SMCy z{U#TRM%LWPXM=DDCTIKXjCWduK$|H((5my4X5gPIr|60L^Y^AhlK0&ylB}vJiDJsk zd#?iSL++grij8$=>>!19rLo4G0*%@1zEtsuW!|UBQQsPQ-+-E=u*TmMWBqntSFmc= zl1xzGsuE&u=CCmKSyNId+FHMruoZ2$S_9=$a;8MzxgEG8k zJ+fIO`C<@}m0`fC^5WDmM+oua&r`d)qoA#04XtC(y1yeR7QFxTjEKRZAf8YwlJT?Mb0?o@H(vYcMh)s>zbKa5X)&ZuMUZ2%^^0*`V&L!8x{?*U&EQ}4zW#U zk)RdKI^htzZPwlP5PQW5hS%MtH1;LVzFMEQx3DOLn?ajvoJ|ZBQuZ4fJ$cVtyEf$VI*jZ#{h{b*Kc0#S> z$*h1Ev!mpqJlPq~%p!Biv`To-X$-0~;7cISaX>m&cR*Sb78edD73yVQc4Dl5mEobm zLHNt@V(uYj)rkR^Rrlb1FMj;5BI&6=jcY@z&7(Pg9^aPM`bX1G{}VW?9q}UB?wFX( z)G#umxmV)1P!RM4dHf61jyTah+U*x>_iJ6n5Ubv%D}`l^-P8&1D>e-RUq@_ih2M6Y z&lFc#ecxCnW?6yP2jabO%T**1TPRh&(OX;*mU=}fwH39&Ffjt4>*FvFBImB~KO(~d zkI7iWBVrG$RfFIsYNuYjP4pG}RKlfF$!{Z6+3li%=%m)&E?~5&u6Kxj9Rmhd79y&z zEO-mz$sUE-g9$SNq&Rs#9q{S_Rt>#Jz@eu;yF)aIkTlM!iBm+X8u@^@q=yaB9**@| zg*RS+CpElycqH&@z%dEm976_kI*^~glObc2Y6{0IARG2HPi5UD7K-lbwY!7@@>h)) z7xR)1CTXE%kVxRCmvjug(Rv6k=}21AArx=zff&?l&#asUlUj;#CTBIs#i8_WEb%#n z?C}3HA-nt!5wgeszl5CPazoeuj~iiCEzk6QI|({1&i}3@7IpI7GZ}#>1o9X4kN<^I zqM+@(G%9_!G}mgq$afkoQkqjKA1Oi}uqbKKvPAK|)qhFz>cv<|UiE%x@LKAXMraw7 zCf@`f8bM+_@^6#yN(yK=Q)pw4%|~7v^{*GC5}eg$%y$g`3mnmwrftD2l=R3T*@lHq zX_}7#7!72wBD0OGP6n@zrO_CfC6ifENQ|lg>n{q=>FZ=9BXXz5ujlMu=njm2Rwx}@0FY!J=_*@N@onWgOIY(V~@Ao6g}W#>D!}5 zWr%uB3(*WhEdvS|SZB#JdTN#CF_Vf=w_1EX?DDNWqO(k&9-~1Fw5|}&v4BUnX1m93 zj!9HgJ0{8oK_fXMf(XE)yWo<6h)&XLdSaPEdW=bQhjYfS#(4f;bYIHx{rCLe-GBFq zn*H~LLjNK9Z|c8{Q}*9|mPknY4&z9>Q4Wyk{2qm$4v=T~@o*R?0K9zhlTV0sKyUCeW7#bmD$UAe^&!Wofmo z1o8}X0=ORw;3U+E$gW@M&CP8sdiB;ngMHhEC&t|RYD+WUHqwXDwi5k;0$y8*enNp5 zttlU=u0#)UA=ZDkehn$nT~0C9z38KO7f_(c{|NP3yjz}>u?{rp*6kijQ+04>WO{gG}$N^Nv_cChO;S!RIbNgLfal_5-#-XLA*-+I!8kH zLd#}E(xab0)r$JOYr+@v(a>ZRf``vfDmQu{Z>piKGBdxT-AMoZs%dZHMW1VM!dCPIqInzRhgwG}JB_~th&<~NDFup?IQoru$Uw~KA!G^g-7MaD9tfH^0Qnx&W z?jzfu32yEsvYSVczJ7)^?wcF)E~2Wa#ySposxHw9pe_&91#}${Xx9KM>D#{1_vuY7 z{>!XuzwOsy&Qy@86>^~`%#9RSk3M6uG!NqqB5RnNK%NpxJ5oYv*1>Pnn#?9qWZ}z@ z1rX~h5B3(3V}(Xtw6bYcJKmE(b^>B30ZK-v4XbK{4LKy8Y4EoA6@dz5H4S{ zZz0(CjPE+fyX=cCSf(}UJK|pNza8$KuDN%q1oxH^_reC^IkRD6?-7{g@_!T0P5t+? z@h`?jg@T7!=Bq5p9DJ*Mu z{V*Jr9Q>he3(eR*W^6{51aci%#zq!6VS*oFH96eU=55;a_WOAIT67=iHpJnti*&f3 z6YfpB5WsIUf2{AYcG{2OtbG*R1=b$+;{wgvU}jO2;nmH+?{va*hLv$-yk>2xFu{RN zwZ%CBR25=vO(L{xfc4H1o3#fc~QE?b+!)>wLTKQ9QEOemM z+xtqa?LQ@nRO{29x;TnXTW_Y7^Yh&x{<5FjHq*qvosGQ;;*=8Dj4r20^9WWDDy?Hb zXQ6|$ewiXpv&w&Io3NY=%Eri8DT(tQ`mM8-c{B|m&7%&}R00oVV3^zK&EY;>sM4Bq zG`Iag-q`5)v|XhH3o-|!!y}8Sr!7kC^FY7!;uP)P>TKt|CA|bf-1oSbsIv1i!Rs1?qB_0%P@Zs{g5R-B=F2y6)6uZ~)!G}z@J5#zmSol`LxA(^|gETZSSxu_B)ze+$rg76MsLB*;)YDX@db%fVN+rS7TW$?=yC9cV9S@mm{NsbR zK4AUyOqy6{)n6S>HK=b;ZOH07;xyGN33LPN)79Akowz0y64h$Wa!}~KHCJH$tK+kM z5=uy}nj#zQ8PH?uv$V~$czvN&w6?BI6NZv(OQ2+rZsu z+5&3YjOUZvX@{7TNGi`xwF#mN*#zNIRWG%${;{sEO_VvBD1jH!tdG{kpx!Umbs^yi zC(K@J`U_1!gNhfr)eUjZ9O4|bXO|TyuV>YL@hY2xhA=7aele@D!$FfpCxhzA!am0^ z9(wu3m7vh5$}2Pv0Ul++U_qjoVii8y<}@&ySx&s#%q8486&0l{CT)+KLpHEF z!!Pp5ak0x|Rc!4Jj^l;h$Ju<253`Ja6Jb-O3uE3VC^TVWM{w+i2(m5XU&JNrhm{QZ zXdh5t)D>@tQne;Y3~W#eE5;UCGDgV7PSa48UQY~(=3v(LYXW@s9z!Ej8iEN^_ridugw_$G2j~8Ca_QYDe3q+)=(jWFXQk5wLfX@d6`98=H~L%+?ui zjZNE)IZu`(O5wqCA)MU7WC4q=o2{*HrP7-BS8qKgW?M7fP6JNmZ_n(;4KVGlBUm-M zP8X-uCy0{Q#uG*bO*`(|NiBP7XU>_wvt?+1B#mzvjy_JswhkW2D>0+M`kI>9P9`-4 zU{efBFeI(BV4*9yD1&r|zbISMo;1YxE&oUL20)u?LSjb~O*>I8oiu(jzhS2n*}Mqz zEQr_*dNNyjI~i31LLP;~8Aa)l0g+*(M@Xz`K)YGr?(G}Yf*Mzp5e2VfWFV?9ALsCz z2LX&hW`L7C8IcUpEP<_L=+|kOGz2*|mCf5m_X%>Pu ztTMbt1OsB28F#ZTwu15!wW#R~b2Z1n4hIgLClJ%g*h_nfY3d=ndZ^;{oauXH@_6zn zCg9ETREa##KP6IuM=?ENPXv5;!pQUwwV%(5Al@)sWe`YMEEy3l)iK;+9_KZ;Xmq$I zmNHRxhQ(l5L!Lch2zs;SdW@2=io989HXO$B*n7sCT|~Cw0ks$u%^)MQji4tZR!5LW z1lR$#VfQ=DEWO14PUFqCMbv(3Gc=$sM}07z`oPFX!|}ihESrMcoJP~)s~z_=7$y+m zfJ0FkBwWEEXKOxg|W4PzlnNb6wTe4xSES|kFz(cc{6oNywV6L?Pn z7r^E};xpL+t>;xuBxlg@A11hMNpOSIAtX1NfthhVnsJE)ETeAQ!^PKj&H$dn5F{}q z@NNVq;)n=@A~2CdL{=z55wjcAePO&FLE$(J8>=ZcUt_(&&J!pK=+sb8+8j<& zJRK%$7>8p!h>lxHO*+CtsV5+4zlSt}mdgJNPPeBA4yPA7tp0z)>8Y2e5u4J2JGhh9 zp)_|EgC?xb|9EH^Yv^Zf8j?xDG71){#_p9?;z#v^>(B!M zj1ji3MOK)eA5gbcd9d7{WrOj5v7&ZqKA}`FP za1O{HrsIPCRmZVF4GsWZNH6!r4C{C3IdX%d#ErI=LnDsYa)kRjD7jDOR$k;Wo7>o- zoUP^lg09cD7JcYz0&~Jvv?1vsBHajGh+)7o_ja@v?rIYxeZ#wK^gt%YSDF(mHPK9T-Hd ze|n^{XQ__-{+T{ZI>AWAo!FE+@f1T=%-)8LX%kDxZU`wu?(BT@b=!|wGY;It>q_5h5=42wV%u`?_J0|zX$ zum~CmvSn{r31q$VvYt1;AGKJ|JX|X93OG@Lh+HYFZ-LrnggcLDa(=)F+Z6TQ+PQrN zE;ksh$_jC;f8^THXNl7cF>39UbHxQl>?oN07>Hr=Pon8<+t_K-X}(7We41L>M7B|9 z^%J@IgefN29n+b%W*7-%>JFhz?2pRf<(^3dz0u|AIV4_4{TL?bv^`)7;x zs%?8QrlzO$srKSM^;VX+TKUu29ec8zEtEe~RH$G(G2s+2bxyb)He`ysPnkCbPA7G9 z?(c-EUg!yQJ7hcPK3PkfGF47Xu^ttF(NbjV4YQaq;BbU$)JmL=eRlm@i5aKFi(6ZA z`tQJtS|9?yueA(ybMsR|eNV0Famq|KpoJ+-16x+0J-Qn4kn zd%nnn(|%08cvQTrzG)~^v17;_Uz89lA|ebKLH|5_9I}eeaM9T{Y&0a}j1K{S|IL(1 zn0y;hdwe*U;&D2x*Ws7;{qk7(oaa9E41nf_he^`WVQ4L39w0b$&=x*&BzP$SV+LL$ z=~ejQ-XYmAXVGCfFAk0EF`+TuReMuq0|>-Vsj?>!?~*3Z%7t)-oDh&G{{>VBy_{(uo1`e_Z1qJiG1mV&d(2 zsql$=RK-$JFCMOARGvwcK&w8#R7^##QI|1XF+$W+Wy3|&lsLZwo*Ys|<~PLDafD~= z<&5XC;i9>Z@s$3JYVhUa0f6}VBn2lsjzV%qwEz{DInYMNg)y zn6Gw>f$mHfJB{J&?T@pQniA(;<|G9%QLW3aotRJ|}tWVa%N z#{=;MO(Wou0Ab&f#78=SGPEFoEO6Va)}zJcs$yt(Z??W#^F$P~xV;%ev>tyo(;9u4 zt}3s_zPn2G=GEd7@qW!rYt1{nZ32kEqAuuBo?$R-m}x`6IZ+qeh6r-rrDc zg#T?x$_h?sFp+tT;vy-I=O!HYvzrh6W#{{z;-dU-t6xWm>DB7Cg*l-H(e0z#=)kOz zj6!$^zNBfteI!#MBo^F`FrlcVT3K_=AH_f*3THQajYlY(@yVg@f0eh3x-oE1Y*M+S z8PO2%4k^(!WbS1GA5Bbl(HIAOwkjJVPD`pLT-Yz`BQ42tl|Hsc*L6to65KHIzf8BlK?Oqv`#hOXe*q)cgW1@y1Sx58LX*r~M2zNe zfgQKfjSJ;_Of%%$niQSpW5z^>ivqljL07<)kj`f7LtqVrmZZQ}(tKzZYT><(kN1zC zNr4z}AoiK*y^j7T;^P-kY&2q>ZRDA-npj0*u7!JN{O>dK+5qpR+&=%i%7_*nTj(J% zOD3Vd}*$`NF~X)>(oPg((55V+G^*w8TeiGYmCT^*Y^&D7r_4Z zSlZjAn=p^JYwA6jtCqD^$?+KX^@*(*eLD&|^AUSvtir`$&c;ihzE&Z0dQ0pIPmb9| zn9_XpA5P)Tp~CU{Dh!PRuQtc%>oUUghwt)y45|>h+ZO3vo&@*N4)-OY;q}iABO09s zs9u7OwtZq}WE^8cM+2;HmpAjRry-O0iB2QD>ICRC!s`?u<_fP`pGK&pB&?bd-_5U4 zzng|)7_@O@D=t)J>;u-8CGC7=v?pA%QLZ)pF|RtqCjvDvr!x-IAB&IWW^zrsrHG5y zH_D*?G`oKFu}?7T@!Bm5%2cW&mdN;cKl@C@LPnKDWELX;0JxNFjuU%aRh09%sw|3~ zPvwdAv+R=^Cl#?DiClJb)wF1ld0bQ5T6>np#Q#S5$Vv}rtT?s?R^3U!LIU|26`{i< z)MM4VzS{W_Z5aVHdQ2ZJIZjqT;M$=GSXPgR<;rEmn-b?C)s?4-R^&qC`IkGdus4lE z=O)J5+7jx8j4GUe9WryxbbvsB*K}#h5{f4Ra02dgs%F=F z>k6D~Re5zqi_U^}e~_o2p|Iu8d9{Vd#(!w~5JEdvl{_r6#3A+6!^dsAn6rRfHtx2I zwAN@@p6my0hqXl7f8jsnK8y}(%yf|{wy8OIH2Wuy!jeZabPh!3Is4ECjctg*DEu$A zZ@ReUG$4#ceDVNFs2+IHj;UcvG=~{6q)fE(?V__oUjGiYeg+ntO4YF$B1b+WRL)G% z6T#s##R4bmC$(f1{lapN6V+kwp#qULU_TXtT^fSDfJW_zP}bmV(SgkWTF_WbS!F0I zVJt2T%Q;ScIY+dxv5t4LV-{v+sSPtQ;~hGe+mC|HS~|7>4?Mj4B9Os*Z`c-qMMo1U z-Ut^~!$oS?Jkd&SmFm~|sA;FFoF^uu!r&q}1bV5Ji^LH1_IwO8U#iUuMcWz~t`B91 z`;tYH`{jT-HXmDD7}z;#;i2^F?O|gX_40rf^}W!w-=T z)5e@0#0FmMMKC?kKC$L8G0ODx^?#`@eZ)bpKy7=3IRK5wR^1kgM6pAivk(rq@J3Wa z40EiScvWYBr${x_WUkdA2AC;ovdj~;l~@yA!ez(hl(hzTi9un#G_HQMc3d8lv9RYb z_VQGGs@l2)PNgks)ML1ZmLJ{J!;gz6^m`k1{S#s<-a9T8t|uk96lBu#>!fP)YuG&z z5H_`S4356mdlFqnIVe zPA?Y&&O2!9gDR|}vHu@TohJ_w2{4((akPW5wj`}E!J{B)e~Nz#5^4DfI+u>jWyvi< zUr@A3ZP+Q&)HmgDGDNE%%f0p4`alA3knEj4OCikavo`D4qZwHzliNOW&a5}ADE6o17=``6%#|;LQ)8Q_! z&0P`UtVKkv$y%s^S&Lb0lgfWiv=j+y##+%tHGKvO(5HqxEwcWenz8`>t7pX7cywEH z(n=g*sn(p@B<1+#WHt8Dl`7cr0j@IVEUu&*FY`Q@Nr9H;g2n2G)uQ0<#Q@MhTqClv z9W2+=IW*(c9299TeUy1$J06_Kd2S?Y2I93yvy38ra8Z!5z z;^f<_bDvuGEN1e5cUM2WmI?j0^HV#ube%}~d%Lt6Q@sMF!g59@W-2JNHy5jk|NOsU zs#a>=b0R)yXzzlx-z=!~3SJ0qH z^HZEKeiKRIGQCp-Pu-b}@h0l^EV&B+a#4frH*#8XkSLZA){wq5XgT4e!KOf0BFR4DgK_{GwZVF@X>Ijjh-163X5(rbypI=+mT9NaSQkNKT`@+B zaJ5wOs2aFIjQATW6{o2-+p$J|`AZ^tFi9eHr2t>>+9IwT+sPJEO%6UGgRmiFYaO<1 zY#u(ODk1&ipxXVCxb|Fa{g8t-9oJKkL?c1s)i_GBS%QFWXU~z<5QO0OLyw9 zY^eKR7ELi3Eq__0T|zCeSEOizA1cs>DQz>13ez5eDBe(AW3<&;7I_^dLzhfoz}=#n zZWK)~`H}>_Ej1k(!?M7>r~S>qW)ltE@NBwzh@_CjghUsM?A+8%l+Iv48>ltaZ-+>V z%A(Yrg6_mf$^%3vFD-L$h4?+Wc9J9%$$r9P4kjE_3>$hEDDesm!|1;BT_bf(fim}o zO;a7&+C?LE7UmKSH;X>DGXJ|OiC5jW;{L71=qXyMbEmhY zqg;(a+@ykA;E4U>mfRoU4<3foHey= zfhyScf5Rp%f_u@Sy)dwl^#?|w6OWbD$8Gau4w-p$Ac>Ac(kr?xPi~}Cx^e)+sfWw5 zIbv2lLQeC81V+M7o+pn`MjS&hi_0pJk~ z`DqZQ7kp=f$0m%Ir<~39b|#xKUiUV-=H2bW%2lTQ5)7F zQ0o|6!8p?(jQT>uCh~_1O9dP_A!*SD3oCOvb7C$h!No=mmNDXD*>~7UQybIm4Kz)HUz>Wh?FqRkOEVyQ4lk??J;!dW ziC%4PCPu58LpC#ozupD%RO3xtotCVA+le(c7u~IdE*ATMuAb0^*t#~g9nNLk|1O|? z1nBq9L4(!#l^{|5htMf-K!S35j^EWoUP)aAIVE><9bjZEVI4mOJ)r>)7yt}+f{Srb zJ2~AcZPI@MZxe|wn3BX|Fd4-pEvINrkbSKGZF9oK(yg9^GJn{KWU@0Mwn?b+4@8r{ zPdJ*o!a>-83u#*9j_jRDKt&C)S^I~@rlq=X*WcoBZxs4g)^XAkC&=HfE_xqMcbE0Q zBiymo;=h)m$r#pXn}!QW`|N8sxBsLJ9VTRH_s3r(LsNk>#?3caNB*&4g~jpDh!0Co z@V{*di%&?oO#Fil>0NWct=W>_BZ+F|2O=OM)YcFFmQgB5yWp|UL0>>$n;;UBm|?KK zVE>3KrpaWd>0t`qRohI83%8Q?dTL1aF4%U1a7B*EH&>%#7#qTzwg?>e2H&-qzRV3}hGLeHav>AEcP_rhpmt4@#VZbNAy zt-@|8uBf+LI+&i$m7Q#U((aI6Zxk07S47iUTG~3IkKWT}lD~_*xCY=I(;v`ZZ-Eh(>X0JF6E8LCt!a2iH zy_5Cv1Kw$f1utOWT$j>wpSUj8Hr1hrD%GleyzE}wUG}aQUMd14*4L&i{{)>d?NRmB zevuNp4y~YbPQq-j5)X(rI1SSCfXK<$^MXQ@p>0@XObEWJm8%kbix405vPr@*;UrPZ z4~Sf~9aXqh?fDz4>WhOx-yaay);w2q-KTI;>{ly36)p6UBH9XsBSjy5ii0mxRK3r{ zWjIYTk{<7>H$D@CaS7I{o9n3_pW|2ve;=l6__tx2sP8_wLGWCaCG@MV=*I#1i&=i&XmADbkV70H@Y_T}m*e(f7Kv=X+iBCMl}MzSl*q_!^sWr_g;aIdmKl`>3`F zb$5zrx3=XsVuk4aMvC;?U#xL=OF-+Ge1KP*hb;AMJN9D?(+RT*o~dCz;@>LxvQxgT zxPm5Vyuhw!X6YoH>mkkT!s5lE)q)+vo0y~viMk95cW~me49;;b?r^FT$0O3Ixg)U&C743j_?|T*duD}_hLYhFJ}wDKW+mHFfgtz9r$3t zK24uc*J}N3YO?l1;=UE0G=MUpl`-AYz0_{xN;fnm4hqc0?az<^1te0VK0>Z!ngMYl zO|^}VaOJ~+fW02-io@cftHACKV#z=Zd6;eq=;~Zgikab%4G|HVWCT9K{|P{6!9zhf zX34|$#+fR6I(bMCTcKv<|3To&8`b9r(Ufh=2>(7peJ_B-g!}np*w2q~flAr<8UYM& z*%&P7(hgb`&;?ya0V|jAnjsO89T&jOzq3{X#-@9jr-2#IEDr)h{jC=|Ngak&EvpY? zF=#TE$Pk&adDfvEhB)vC*ge-%he;NYy(VHzr5j9OJrdhte?-tGpsr98aE{ajoF$2& za2tx$=uMNFfF+RBKJk%c?@+Ud_PA!p4?1B;$3hHTJ2U|V6EdAJK1bI|C-MrkrwJog zboj$R8j=@~(9?R7%yv1=SAi~l+XrXhRq~IbCEW&qrjiQF0>L#eu}2Blt)MfQO>y-C zy>cUfyusUhm^X{3)<(e*t?04jjB@5A(jQ-BwhfE;0IBgu;}=y8x3_6`Hi z^+Xdp`RD5!Rmrh_Tpb)Gd`(!xej`@F6SWFeiREAOd7zMYm_p(eEH3Y&eSD#qdEU(%4#zw-H#a+m>=o8K;r;gxuLi znaHTiH~fH}yFl##8DU6(zm6>|GQi>xi5nPvc&KLo7AZmYeE<}|q9Lvfgc?#tHP+%* z+{g{#W_HMvvycn>U`@fdFtQ#)8rnteaOx+FOJuMUqm)GT>%Jya(?bR?>vpsW zmxi!1z+y9Aa3<3JN}28<+=JvGZTAp7n=JGwPp%PI>o|JPcNYF6+OxbJrtCL7)<9Ce{CO<(eHDu(Pc;4q3hNfCBZ zgf2xQQ;SMgIX{a)kZwk*dj|QN1E*;k5|=@}Gmh#=jh(jzoD^ISVw^}&4nuDAr zkrauEYrkrE$f1RJgpno$2Gq-w9jW0gdZ7s*8lQ9)Iut~kChf_f&D+$^(5))?i)bID z2_U+iTs{nz0n$W;F0azOf!A5!dWSjq?nl1FP-5VqKg!&XKB`Rafh>8Eju}K(NHYRF zG2@%C$UY*kGHM~%GCVdizJ}=U+uS1BY2xl8~pA6RFD0JS;;?V9}`V8 zfd+`-g@Fl{0B50fc-3nx_^cJqm7;XtW1^t(%WEn4~j;~zD0*Jm69be2U%8-1G9$@=FDvgmX#OBiW@;rP)n5U>XsA0yz9Zz%0 z>OfJ;MB!nELqj;z=F-(zmfBqUj?6Tt=CKk70 zm8-5oHUU{K6S5(8e2){d86NY6Y|{eyBylJY=$a_Z&w(gSQJ{{y{Fkclgsj_^F?T95 zu~yD)IV9cBhlxyXg|yqCI!M_I_15vq6ghpl%JIrpxb)%$DLY0HQQ*>0KTFxT4zNHc zKoi0kL#JSmdA5P(<7UrDnHs2-VET(;`1T_18kj<}D*(4sI=zaoC1of67&u|b} zT@8Ue8v#CO4<4s;(_{M#N?mWH$geT2K$T>{zB6wPK1BkP$ zH2@W$9=id(xB*;U^*%j$3(%w$K$H1Py$}gwceC0X$+Q&)ay%M6!zYs+m`gOwXMM6|AHdY$ zxMcMPoLqX*fK?}MK%QC@Eqga9UWrz0@R%F%)EZzlDmS~CRT_t>v9f&u)0erVX3L&2 z^nus5Sool?5iv(U2O?o{53>X^3(|cy4eyAN&2eJ4EJh}w*=u5Cv-&z`7OZpR45Z@* zPm*R;6(jF-F*{Hbvz;8FfLVvjh&uW>ko^TS;snGbf$Q{b?iy`e^oWk3DqiERr7L|g+B`uETW>FDJ< zBQXf1{U16J|K@{$i22f}y~J0PA*?`^Q{ct$Tdq(#bdz$mlv&9FhRSE>}DfMLv zG=D_}ZZXEd^nqHMBGbIY4XSMll$)Ji;-=>})ag>~O_ojM0S&I>2Sz%7L|)={QEgk` z@|{&Q55*EE&3&+;#N5OY*pr0!EL@GKK5i%ruK%n8-R|d0fuJGG-<%*6IWF|!yM37T z=RSpeb;B+XGT)%AiF6GR>3Qe!AQTGS6f~0x(M>_>{#4n-S3$uD|3vjvs_Y|PR!350 zzP_EWeAP&uboD=X8S7cU@HT5zL4zKGaPPBf`S`_s8Kj!PJi5w46L<~jn z)^My*5QI7u0fD6)pHoDAiXg-gvGdu}5mT39$VGyfO3IRi2n79G=oiy=oG%UGkE_{V zY$OY0#agxOEO~nH1A7LX=JsaE)6|>Ex;LpQN7qpVoc?&nq5(><=i?+L4jxy6{UEiJ z2olRsCEJfH!r0eR#3`}*xDwo7Cn+)OxDuibk?15vs?aOpZCBSfk=^9RXVkKQydhtc z>iGNZcnAo)-)=fc>fUd+zovd7~?#+2=K?jMsq8QASKFJ)`!ma4 zC0d@GT53Wjl+E7NYEhmd!Wv3+Me4ehW1ao3^xJX5xB%r>F96tGdIChGd_IO-vdzmuKP=7^f@?!!0DQhtvbj<;}1@ergUa{+|g6lF%4TbvMPFA4C6LEi=H_3ChMAgNc^dsXV`@?Sxw+R^psg4X7W=TXf@ zLTHHTG51j6^$0=c;Hikz5$h--!faR+h&K;W4vH{uNB_WcbJQ(DK@{N#U4&2hn$!N} z0Hs5}f%r~3hO@v(GZ#?$^IQiCMB+S6Sb<2Ylq1%yoz_7fBCj)^ElUJGuUO)uOX( zib40B&hm8epbB=Df$keY8{XWn+5&)>C%uI}0;GIGHj8#LtVh zsEG7PIN{B@dL{^|BFlXyE_fbc*Wb5hgZkQ(ZPl`T*%f<+Ntmfv1Ww$A zXWO)4wkgL!Vs16%IXOBXEN|+%Ps8(p$vzAZzr)}spLUckEzKVmzy|~9zaMRw)C+=y z=c~QoL%{Q3FWJt<0M>i$7+g2hY^9qA4Ma}A7DeW)m)z!&Aeav#Y&Va-foe_(4+Gy{ zL-lf{3ati}B72R?l<{VN@*%O@-_jW-_`1+ow;_h7mQ?kx|}C3}&r#18%C^DD8v&>` zlkg!sYpm5QLImV1HtIpy=>w$b9MXLl*k_!L zCA@Fd>a%6D#`hcKtU@F3d3DUXh5s9J{}Q+2{WJCB*|KHo`j-$*9n>Q+Ma)( zVrd}+omaLg)Om=hVPQY2&OcY?n!C23fDvZC?{g#U?)}J(u)FsICj!LrZ&B;dl}&>O zC@wyP4R7A3mV8GESX3p1j^drUDS)1&#A$@BPba$A20#LPb~3BBbj(grf?IQyR~TY51ih*4GN$$GKdfr(Cf*G-DnNvqwY z_uM2OC#m}VvHvNq9~PJaDT?Fd(Kpn0=VP?|K#jRT=Em-P!vVZYrT3Q|5Wn{VnJkyO z*;@BQuxu<$k)l)0bEg!8l0pxVkr!s|m7eMs=aTSQki5uYET1e?zf?; z8YV2;@o^{h-F31qoh8GLvRc0!DK|^{bmR@Hd=LchRjFRQP4tCVCgD=KQf>?nDz)G; znJ7!Ps+E_?b}%?UzDzct;IZdrJ=hfqm&-Kqx>_|QJkdjtUc%`HGN_j!Se+7blFz`64{GoCLHe&wo;g($;^t~w6(1{{RrCyJPPyIDl)nphi30^r&-W9`+64*>1;$Et0 z$oJzgnWlQ&AXCIk|Fc9NsBXGRCW}|pJvYfNPNTNn#EnWQlB2>K6)3`GTTc|p4)V1> zPKh;1dWJ}=EM#e79|f( zqjYC0e&BFjFRdBLilKl|b&6y?E5B)sYBUmRcE7q{q`X*cR1<^pO!dV`IaKdAhOb8WSE@F} z@fdUBL}SgciDM&l!J`z^CzT-c`MPppLVd#e$5$VgQ=Mn*^PCdYjQyz-VgAUXPD z3XzZAn$fQfb_!q)CiCeJq`0dn!4O^#wZU}r0aJ2*3o`^~@!6NDr^aFsIKJu)1>MxK z+hmM<=qdHkIN5~0MGK#wNJo#FUfMcnWO+QMPHkYdzPy`ia4SQqb55Q$|LR7n_*Qt) zcrz?-vHrv=>)kDRGWvr3g*N>>;1I(=0fgWt++ zR-jHLF>8Z194%MN?vbZgPoy5V6T454m-;5JLP?3WoQEgLX6nvKGQL_=Ymgu^2=|)J zzONGd{v(WYS7^>%N1S_!+FcBVvPOMhEVtF#N*mpuF=1uS4M+FLD;nKui4M9*WOS#$ zdK|jpQH1Ubldwf)zjY$EQx{E^x6wWk5F5~Ov;;i^ZM0{yyd?ay6FsKLOtiYm44I|6 z&y_uOn=v(}(*b5~3tU-WK3AR@T?WmCwj2{`#v?LQHJ*ps_o*}H$w4W0Qn92JYTh(O zGn-`pKDBBdM!VP4(EDWnl*b4_lpnch+aGPMs+Q|TwQs(>1ln(?l1&D)x8m?{SX^XI3^39QK?3j#juy~39p z;297LWoI?%ehgZ4^5R~7=%Rsj-iYk*gBN2!mAwzh%QZo=G(iU4k`2<2oF;pSeOBcy zLtu?s=_5PiW2cvmoGbQPheu8X&|62157PjA$YS=xGF2{@R_^Gr;$viMX1zB0N@Q(5 zW{5szL3?QNXmE4J48J=1Dm9NRI5rMUi++`tSW0_nz$y=%xROQ-cT}H?Y3kqr?jRsm-egNIkJ5n5Sz9# zlb@aDqW&M%$T?VwVG0J+oe$ueg+p^>f;u*fXn6u`4XZSqj5qYWj&x!fGKUnO++q2d9g|bUHBSEs0)Xs&_wo}xX z3uR6epH`S7tR1=aRQpBnyKYu@Et1`lyl#;Uf@KnmGu7ZSc{p)B+DEQFX?}`lrrL0p ztf$5a9Vl137t6_= z)^CU1^eoIJjGN>u&Y&rxiIHSj27fpMJ5W6Qu>f-Ed5g?cEc1}ID}7X+D@xaX@~He! zV8!dZ$7G&<)K~G3L5I6hS3D+jL!p-*ldVIctjEJc4^;~tt`@rNiSV42PjGFyOF^ZI z$7CHq#Csn+#xBJswNkZuDLjUy>eHq2KKj-~SR=6C2`!-(OnQ<*KK&#$L>+rlcJ%I$ zv6rZXa#-l4>cVAUfKs(`8AQEQ)maWH-=WOqvUiLI=!4~`>de7sWgc5D>+77|)Q`*M zg5Y!SQb%T)8T#70#da_y4)=aZbBY~Ii>pJyFW=FbQ{(WtBx$~32b<8{N78)E4mOXY z12yKaJ9XwPIu0VuSM6XYeGp}l4hGE@`iREoZ|mHh^+DHFZjjtc=0rQ#TI>BU-qM+q z^(eC24kl_vwbc&B>D>j-*uhkGy_j>{AhBJBxp{|%wT-_ACCvxzaCgndJGZN6R?6JW zE#N(7cwnQ~?#MM4fP*C&+^G3jdCM`3mZ}xyvX#219QIME8duKUkEk2P=C$=!$w&jN znD(?Zh!q3R$RxTOIPV!4#HH%~XJn_y%J+!N)oahlX*w!X-M$*%pej|{ieN!x1@U-RlTV=rtK8b@Tr)?ivI$0k{hKqmjEm=HCBN(^PT-pxTlz~BhVL1!3K z);4`r4idpFl#5klB(m&rL-ZN+LvAPr6&!U#lylnGPB~iHT;PVFT+J13h@h-@LsYKv zE0p6kaT13W^}n&fnA?$Hwlt4Y`bOp7Bp(uo)uK)Cy;Xgq)@{PdF7|S5l1*jFx5~R& zw#RlbEpR#R_Mx2s#&-$P(oY(|@8JlnJ+j2X6!}06+bmmkJ}%=yozcyPMLX(GEDGiX zWG`?AK?5FJH!~hTY?eLc0YfD}kEQVMHSf-<0{+!`cQT?h?in&;h5S*f+qTL9!F9k4Ey7q@N$zIeXjYezrzs}X6Rb9A;uD*OFmP+I={pa) z!Q(Hc9VC93DKoGFb`F?Zzo*lw1YFxwhV?RZF(nT(lkBI?GR!=3?5-m7wo&HYIFRqd zjtq`h{kF-bSu+gG!2_OiQn^S5xLX%0!Uz6PCvBhsw*JLx{x;dH&SE27Iu%19z>l$G z8w}SustT~Km}_7%DgE|iA|FQ({y7F92!APH*+m0J(Rmby;c}rtTR!ok3z2nTzZ-r4 zK)EslNB00ljodEV*R76jy4O5fs@81Bf!JxYH|V1qv>gOm311HIn3E|o!vh}x<%`-O zTMU_JU?~_dc{dxrfID{s`E1UEr#Ql!4@!dmWBoG`!gG}0!uN-zX^hSAm~I8+oS_Ot z%?dVPVq2;n+98`=F&}*aeZJ7(>)4F30WWTd_b-6x>iRNht(ue(02^a9p4bOHOQ)ts z;$+{^QpOB>ZK$FqqksdS9Yz)SFy&Zt z+8mom)E&SH3tIT_jgf)Xb8?w57l8#&%|+6Ta=7S?w`9Yp8R#U`sSdp*`!#cGp+=Hp zewIP_qkW!qVSvcYI78o-x3`~(y$2f8QG_b7R83SVI@Um$0O$aQi`^+RG|psN(o7iy zP(60a#@BQNl zRRE-_VOBerFpkV6BFe#Y%{#}l3C?)XFv#kHPE@=681PXF9So+XlSo z74VA@fZtU!re_%Bfb?6Dt=~eb3d{S&#a<-&pFjZu;3ID*-kSN+^vWp-m*rSJLt`qi1Z9)qNkH&mQi4q zokCAH+foWFuv6&iW~-pU5<7*SZnkw4SYfBold}b>)=CPkwv*`T=G#Pp^>zw9-E7+_ zu+dJTr<-j{c*-scPz=?xGd!@D0y~3t(jE@kfrAvF7%FriJWxdeilLN4;ejI*pcqOy z93CiENTC=?IZ7!`phRuJqANvF(qzi#1g2AfVkl(}1*X{ndb%lP6qseF(9_MflmZLv z6neVZDk!kTP6^VBn{OQjR@h1Obn{hGV6~k>Pd6Jr4g%WSDfD!+ZKuFSJB6NZwp|q1 zLMcHsk6zq-dnvG!l8{1AoezP76xd^@(9_LUMS%l$3O(IyM<{T}PNAoptr(+{d045H z@5x;C`Fk>cpw>?;?D%Yswr0|$V|WPKlSvv(tAhZJX?RG>MzZ>Vu8+a$%dmhP77$Pw zFetd==Bn>LkV!!lgM|Q90eCiGN6V$d*T^Oblpo9hz$n6u(QB?IX~vxir1K#CPzwJb zlg8s;Vg%xFeiUlSRvrGw;JQVaw1pRFP-$DGrDN|u;I!4+jT=}y`hw7}f%Vz{E!I%2 zq@M7jF4%)D#7pL?VS8kT&uNG%-6J!v4yy%pKuB8xpbLCQM2?I|JqXa&NY?aZ@Cn3& za>K};ph==l3o^RsHGr#jJxm4ssMHT-!%ND@{KAqC1OXX95z5Ph3FoCT$r&y%Zf6kx z1)@N2j4+XUXraO&v1yFr>9fp7YN?v`p-hh=yNT?u)gQ{N{`X*%re!@s40az`n^+@5 zl*j)FYyx}m2b^k#m<${I+58H#y>dU2dEJ}_0Fr-_ixeyoyY1=G_7EcT4WNb=2BNhU z|F~NC5x$@OxRDWMvtNdPn0XV1qiPHtz@-D=BFA2iE;=hUBc7U`5Qq=>xgB~?#J6II zmko!P@zF|~yB#6XeTZH{6=;7Vbw!Xk9c*R{a|I;>mtW|<3nUV~6X8M-qltk}C5*@k zz*=Ge@pzeGl;;~v5?rH@UMJ8e0XDR`0{x6I9X?G6)WPEvgC*q;U^eF=n!+o`>_PB)ec7vV5(` zoDc#{tQr=OZPA<(#5o|r31GwqFzbUSC}70C?-jTy2KlHTrOc;4FtTE01RjI2I1(q!t1;rf;hU6JPzgNVlzRHuI;liS&%jt{{zc$4!`B)_qv z%h3jyj7f;|_)la@SDaUVBC}eNI8*zf2wdG!4PSt-x&`9($r{g;nJbj^=&vggn z^DQ|Sbwj$BI>(vYV8j6x**cG8;~e?V{Zuyg%|bsy)0V2ypTccWs#bj}FG(aeM?Ko3 zzJ4yQACukskVT1(JJy7M&PgToVqzCZ;Y%p!!o}!qJZOqdydkJ^bkOmBl86t|L$uQ@rc(@uL`0qyExjTD`9Mk{AKC`c z>q*w7u1&o33^sN)^4>ElW$YGm!UDk~2w3N>nhR0VMb&dg@5B*muq6y0z3{R}nojZ zq{MToSF@U(aZaT_Ed1m(BxL;r1~-bT4;uYaB|MBRzd_^Y@E?J7C1fV*{Ep(|=TuB} zBgH~5VVfHMKhY$xBk}upmf@jC-@9gsR0472XG!#WN;!`tF*i!*Rrg& ziJXg_%kc3W#X-9uGq8k-{B`y+-UOy&0~4Cczz*ge+&mD|-3DFiS+R72dCi+>3R~a| zti-kllUdIlpu2;xE{cvhA?wZ^ov(p|_2nDQpbzbCON zut{0Zi#SS>?8zt&I`4*?S^U zL2V86EL^9{0|(rozW$QhKuaHsA}#>=kP_< z(;@p^*rdV>tYQnw@0RE@bh^KFw8TrQV{dOZ*iq59n2<2a?UR1ZC0XGYOJ7Fkz;N`R zv*uEL?Im^IR((QW)rQcM4BrTcbL6PJJkbx1koR?De1-mlHHD=+Wqt;(wQfap(OS$v z0H3!BP7Bxhyfkn@a0&69@8bg3DKJ>a_7l?f`m0y4+l%dilxt{ry*<#bl~dvUIfYY& zy#5;QE?}GB{cCFMfDNb(N^s9MK`hdOMm*)|Bpe2VM_j037=d9}I=BLE40Y}VFzb2L zb@jY|-DP~g!{@H6_HwYuAB$qhST`T?OT3}RbkX^cl@AyfjUYP`FpgeATxWOSFx8)t z?*>Wi&%Eu1igRv--6EZYw>}{ariJQP>r9;j{^08FDXheL|4TpzL=;)TcDu|?H&g+R zEX-^KILzfYRUCiSs7%>lz0inzVcIV}LGG)er=d@9%^fwv39){LGyZP43?Y-6`M}D4da+Fm++V{wfEMrk~Zb0Ce>f9y~_P=sVx7OuA;H_vip{b9JL$Y zzLy`Y)Aa|%7n#aEfI|{mo(e$QcrWW5^P!*c(sB6y=q)u~9k{_?-$s)SysaV~d(lS2 ztgAcFAS9CoJRPU)YJ4?ZvF)u7xug2oTQo>E+g9*6qOG^tBOZr6NWOL_0YS+msiOARw?n_ zLkNW5R}@nbzXcoPd`oD%8u^RXG(?@c&T+w1qE1}rRl(FDLfSkOEGz>Rss`K4e3$<{ zm`13x*EuYNx`RuGhESeb)yQi?s2l>?6hiF3R_gH{Z#HSB{|oxN{F~25x)^mu`P7z z_crop;gq5dH}chRny>aX@|*}tRQpk=2r5wTH}Zvu=JaMnKvVuWx!**hm)~mS9g);d z?Y_iEA}LoLX=F2ss@3gA-WWxh0zZhNRDs_`AxFUAXi65?!vm*8TmCDeX`1*WUL;?M zrf@+JIg%4%C`6FXF;>ipF*LF{ z0KHw)h9Yqw=-D3EV%Hmc>Yb4rDrvWeE6BB!THSZu|a)kH%74c}k!mmb!UDfidn6 zl^sWpo;Q((!~UwXOGUQfLIM!)wdi0=)FC3!>}zdU5YZXTb*5qI6*99vj@H?}K$=w*c4WUB=DQ<=z7aTo)MXA zK2yU3eIhYl&V2-r@JvpmeE?BO^o;tTv3`3Jy<%(it-dpC$KmIx$+X4)HDTEI>hC1u z@m~Ku8sV=}DNXHO&;Ds(GQbXL6yJ0AdTX!L8Cc~|BjUt@6jMons&d{>g+PlZKbA&a z)SmUcJ&iiFZ4Pwj&K+aE-l-Qm#}o8Y8Vyi8H*oiK%51-9-9gV$5I^Tze$GS9D7H?W z$27((((s9KmDV;EU$a=I=fourPiA^q_)rSz(DYk4AC+ytgtIPexDs03F{Xz;7Xe_p1%|!k9a-2eq&EjD=zv>fsn4!o)jkJk^$C20ob3HmvZa-Nl5~&>T+|uQjII zQV+X6H03;?v1%EoC8$Q5gIYw3h9`J@B4Vx}SaZl`ni`0P)zeP^ERD+2p_J%Eb7ZMW zGv*1NY1h#tyf&tkv*w=K-Ni6v;M?6PihtjeUQfC^Y~tvXj4INp*!T4rk;{8ggdHR9 zZ}?_5b>+6bsOztZ7Sx-b61BRiH=PO7$`kJ!`$MY+SUU5!eW*dybX{N64)B$}Gzsw8 zY|2gc(b}*+w4DRxXLq*3S?gx4SCEY(EWe`s7qY4J*Mxh#A1!V7lj+IZvKYv-~?xs+r3lxuS_n!*A&noEf-_gf~0!5bqeUh6Dflcsf? zIDm506YF{A07~q(PHH9t6in+=qC7pOwfEBTW}$m7(Z7Um^H2Qt02=1CU~C=>hQxwt zJ&;zbTU5V!APppSgZO{)D7p3P|6=pU?6T&75%^6y2Mwkf{P@=qGr&PT^k zT-Zo|Q@7i6K#5Z2Z&iC2aNi``^X4(sF%0)sjA#Vw4M>0^Tj=1CYk>O(p9NYfUwnuX z0*xlnq>E0q;DggCHXy#Gl_l_ANqptD!Rj$hM zuF7(ES*42`1|xjTIH>E0A(Z5ANeA~DLKA~Z^9x+1uEnlGaA1A>aH_L$$q35ijN!0# z%n>xTPocYV-lF`}0ql zW+#z~h&Ix0Gld?MJX}*~e3F+Q3zoL%R``C+IDa{XwgfDTHVuXN%cFV4RHXk*H2-cY z#j4%WykFpvX#R34C3QWEa8gBzvARAlzpTt%>5fQu+OZ+P%lu|F0iFRce?!rfjjD#)*N_3DxB7z=-s-x@&^ z`HdOqiaD`-bOy|CK-)}uQEiLkM`vR~xhIbQITQ37aolPaB|I1(Z{;=I! z)QT4$3|x4$E}q}Yr)+h&EuYJ$DX~U^X*}c;?%$f@aee`0z#IQrgc0>5@e9DS#}YJi z;8)xy71Azss2#U1!a`QMgI5&MX0`J}j(5=tH7t?0x{%DUM5|pf3D-OW{|hc!s0x#G zzxpjpGL2pwG>hU!@585P;-Bi$@hu`CHNpJ=il+%Q;m*5=%Y!9HMcQBJb zE~jptjsx!q+}n2rOQ2|ho1H9?yBpp#Y+PDEZ8>i~m8p_W^}FWNx)#x6dzi-9?r`1U zy25pV>uhp^oBHvy^C>LYRaWROa_L$bb9(ZwC6rw~r>DhTQhH%hFa8d`9X@zHzEgbg zCVWe8dBfkrccKp-4q?c;50~nC!$*J)Jg?a!@V*Fw`$lLDTvW9;fuLqO?|4k4vKOCu zjAE-X>go3NhVx3h7nc!6(ltAq#*r-3*Z?;c&V)OHww~oKb2;3z9TSm`@KUA&tcq`8 zd1KI-tc+pDqQXZR^d~m(q)2Yx-C`eg>(C4qMZQUtdQ5 zq5AaYMUT^5^|!wKkH;z3W^mGSni{((+cd<)oCPSOTOOd~KRCOdmy^Fuz1okrR#UgA z1`y<*$fWoCR6qW%njQ=Y$}tUi8<{!WuZ9MNjrHK&;FkzDHiy^O&}eluhyS;Rt_l3x z3K|p|lxrGspqm)r#25|YjFr?`4a?=JD``;1Vvt2Et_BqLt`H;2;VLU~$c$pKV;}sb zP^)wKOnA zM2t3YUVI6@#TxeFB3!<>Xfmmkmp=DCy30%Fp>@}6yl#^6psDO^J~udkzw*b~6D z!T^+U{}P~72K4``qwFMaykw_oq{9C}K(PbH1B&87xXw>dR#**iks6UKk(L@~z55AT d?w1(yfGO`sYTH|&7k>obQjn1P;5GCV{U4<&7JC2y diff --git a/x/wasm/keeper/wasm_interface.go b/x/wasm/keeper/wasm_interface.go index 39e5f6a3d..b70765b39 100644 --- a/x/wasm/keeper/wasm_interface.go +++ b/x/wasm/keeper/wasm_interface.go @@ -2,6 +2,7 @@ package keeper import ( "encoding/json" + "fmt" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -189,6 +190,7 @@ func (querier WasmQuerier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([ CodeID: contractInfo.CodeID, }) + fmt.Println("SIBONG", string(bz)) if err != nil { return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) } diff --git a/x/wasm/keeper/wasm_interface_test.go b/x/wasm/keeper/wasm_interface_test.go index 07d84a1c3..a1d8d0222 100644 --- a/x/wasm/keeper/wasm_interface_test.go +++ b/x/wasm/keeper/wasm_interface_test.go @@ -235,5 +235,4 @@ func TestQueryContractInfo(t *testing.T) { Admin: "", CodeID: 1, }) - }