From cad739761a43ea853f2699e74117601f7553e9db Mon Sep 17 00:00:00 2001 From: quasisamurai Date: Fri, 30 Jun 2023 12:14:12 +0400 Subject: [PATCH 01/11] rebase --- contracts_thirdparty/vesting_lp.wasm | Bin 0 -> 385473 bytes src/helpers/tge.ts | 61 +++++ src/helpers/types.ts | 3 +- .../run_in_band/tge.auction_migration.test.ts | 234 +++++++++++++++--- 4 files changed, 259 insertions(+), 39 deletions(-) create mode 100644 contracts_thirdparty/vesting_lp.wasm diff --git a/contracts_thirdparty/vesting_lp.wasm b/contracts_thirdparty/vesting_lp.wasm new file mode 100644 index 0000000000000000000000000000000000000000..5799cc6b78fea12d40e0491fc609948c1ae12d5d GIT binary patch literal 385473 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 z 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 X*x&!LbmDh$G+-&ll8S}jiSa)GeS_C* literal 0 HcmV?d00001 diff --git a/src/helpers/tge.ts b/src/helpers/tge.ts index 6434d446..484c5d1a 100644 --- a/src/helpers/tge.ts +++ b/src/helpers/tge.ts @@ -118,6 +118,10 @@ export class Tge { atom_ntrn: { contract: string; liquidity: string }; usdc_ntrn: { contract: string; liquidity: string }; }; + old_pairs: { + atom_ntrn: { contract: string; liquidity: string }; + usdc_ntrn: { contract: string; liquidity: string }; + }; times: Record; lockdropVaultName: string; lockdropVaultDescription: string; @@ -206,6 +210,7 @@ export class Tge { 'ASTRO_VESTING', 'ASTRO_COIN_REGISTRY', 'VESTING_LP', + 'VESTING_LP_V2', 'LOCKDROP_VAULT', 'CREDITS_VAULT', 'VESTING_LP_VAULT', @@ -615,8 +620,49 @@ export class Tge { usdcNtrnLpTokenBalance: +usdcNtrnLpTokenBalance.balance, }; } + + /** + * retrieves user's ntrn and astro balances, lockdrop info and user's LP token balances. + */ + async generatorRewardsStateOld(user: string): Promise { + const balanceNtrn = await this.chain.queryDenomBalance( + user, + this.neutronDenom, + ); + const balanceAstro = await this.chain.queryDenomBalance( + user, + this.astroDenom, + ); + const userInfo = await queryLockdropUserInfo( + this.chain, + this.contracts.lockdrop, + user, + ); + const atomNtrnLpTokenBalance = await this.chain.queryContract<{ + balance: string; + }>(this.old_pairs.atom_ntrn.liquidity, { + balance: { + address: user, + }, + }); + const usdcNtrnLpTokenBalance = await this.chain.queryContract<{ + balance: string; + }>(this.old_pairs.usdc_ntrn.liquidity, { + balance: { + address: user, + }, + }); + return { + balanceNtrn, + balanceAstro, + userInfo, + atomNtrnLpTokenBalance: +atomNtrnLpTokenBalance.balance, + usdcNtrnLpTokenBalance: +usdcNtrnLpTokenBalance.balance, + }; + } } + export const instantiateAuction = async ( cm: WalletWrapper, codeId: CodeId, @@ -914,6 +960,17 @@ export const queryLockdropUserInfo = async ( user_info: { address: userAddress }, }); +export const queryRewardInfo = async ( + chain: CosmosWrapper, + contractAddress: string, + token: string, +) => + chain.queryContract(contractAddress, { + reward_info: { + lp_token: token, + }, + }); + export const executeLockdropUpdateConfig = async ( cm: WalletWrapper, contractAddress: string, @@ -1098,6 +1155,10 @@ export type PairInfo = { pair_type: Record; }; +export type RewardInfoResponse = { + base_reward_token: string +}; + export type FactoryPairsResponse = { pairs: PairInfo[]; }; diff --git a/src/helpers/types.ts b/src/helpers/types.ts index 613a6ee3..2be2a460 100644 --- a/src/helpers/types.ts +++ b/src/helpers/types.ts @@ -145,7 +145,8 @@ export const NeutronContract = { ASTRO_GENERATOR: '../contracts_thirdparty/astroport_generator.wasm', ASTRO_WHITELIST: '../contracts_thirdparty/astroport_whitelist.wasm', ASTRO_VESTING: '../contracts_thirdparty/astroport_vesting.wasm', - VESTING_LP: 'vesting_lp.wasm', + VESTING_LP: '../contracts_thirdparty/vesting_lp.wasm', + VESTING_LP_V2: 'vesting_lp.wasm', VESTING_LP_VAULT: 'vesting_lp_vault.wasm', CREDITS_VAULT: 'credits_vault.wasm', VESTING_INVESTORS: 'vesting_investors.wasm', diff --git a/src/testcases/run_in_band/tge.auction_migration.test.ts b/src/testcases/run_in_band/tge.auction_migration.test.ts index 80631436..0cf8cf44 100644 --- a/src/testcases/run_in_band/tge.auction_migration.test.ts +++ b/src/testcases/run_in_band/tge.auction_migration.test.ts @@ -14,6 +14,7 @@ import { executeGeneratorSetupPools, getTimestamp, queryFactoryPairs, + queryRewardInfo, Tge, } from '../../helpers/tge'; import { Dao, DaoMember, getDaoContracts } from '../../helpers/dao'; @@ -1095,43 +1096,9 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { }, }), ]); + expect(avaliableAtomLp).toEqual(claimAtomLP.toString()); expect(avaliableUsdcLp).toEqual(claimUsdcLP.toString()); - const resAtom = await cmInstantiator.executeContract( - tge.contracts.vestingAtomLp, - JSON.stringify({ - claim: {}, - }), - ); - expect(resAtom.code).toEqual(0); - const resUsdc = await cmInstantiator.executeContract( - tge.contracts.vestingUsdcLp, - JSON.stringify({ - claim: {}, - }), - ); - expect(resUsdc.code).toEqual(0); - - const [lpBalanceAtom, lpBalanceUsdc] = await Promise.all([ - neutronChain.queryContract( - tge.pairs.atom_ntrn.liquidity, - { - balance: { - address: cmInstantiator.wallet.address.toString(), - }, - }, - ), - neutronChain.queryContract( - tge.pairs.usdc_ntrn.liquidity, - { - balance: { - address: cmInstantiator.wallet.address.toString(), - }, - }, - ), - ]); - expect(parseInt(lpBalanceAtom.balance)).toBeCloseTo(claimAtomLP, -1); - expect(parseInt(lpBalanceUsdc.balance)).toBeCloseTo(claimUsdcLP, -1); }); }); describe.skip('vaults', () => { @@ -1497,6 +1464,8 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { describe('Migration lockdrop to V2', () => { let oldPairs; let heightDiff; + + describe('Migration of pairs', () => { it('should unregister old pairs', async () => { { const res = await executeDeregisterPair( @@ -1582,7 +1551,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { await queryFactoryPairs(tge.chain, tge.contracts.astroFactory) ).pairs; expect(pairs).toHaveLength(2); - oldPairs = _.cloneDeep(tge.pairs); + tge.old_pairs = _.cloneDeep(tge.pairs); tge.pairs = { atom_ntrn: { contract: pairs[0].contract_addr, @@ -1624,7 +1593,196 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { ); expect(atomBalance.balance).toEqual('0'); }); - it('should migrate to V2', async () => { + }); + + describe('Migration of lp vesting', () => { + let claimAtomLP; + let claimUsdcLP + it('should migrate ATOM LP vesing to V2', async () => { + const res = await cmInstantiator.migrateContract( + tge.contracts.vestingAtomLp, + tge.codeIds.VESTING_LP_V2, + { + max_slippage: '10.0', + ntrn_denom: NEUTRON_DENOM, + paired_denom: IBC_ATOM_DENOM, + xyk_pair: tge.old_pairs.atom_ntrn.contract.toString(), + cl_pair: tge.pairs.atom_ntrn.contract.toString(), + new_lp_token: tge.pairs.atom_ntrn.liquidity.toString(), + batch_size: 100, + generator_address: tge.contracts.astroGenerator, + }, + ); + expect(res.code).toEqual(0); + }); + + it('should migrate USDC LP vesing to V2', async () => { + const res = await cmInstantiator.migrateContract( + tge.contracts.vestingUsdcLp, + tge.codeIds.VESTING_LP_V2, + { + max_slippage: '10.0', + ntrn_denom: NEUTRON_DENOM, + paired_denom: IBC_USDC_DENOM, + xyk_pair: tge.old_pairs.usdc_ntrn.contract, + cl_pair: tge.pairs.usdc_ntrn.contract, + new_lp_token: tge.pairs.usdc_ntrn.liquidity, + batch_size: 5, + generator_address: tge.contracts.astroGenerator, + }, + ); + expect(res.code).toEqual(0); + }); + + it('should migrate atom', async () => { + const rewardsStateBeforeClaim = await tge.generatorRewardsStateOld( + tge.contracts.vestingAtomLp, + ); + console.log(rewardsStateBeforeClaim); + const rewardInfoResp = await queryRewardInfo( + neutronChain, + tge.contracts.astroGenerator, + tge.old_pairs.atom_ntrn.liquidity, + ); + console.log(rewardInfoResp); + const resAtom = await cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ); + expect(resAtom.code).toEqual(0); + }); + + it('should migrate usdc', async () => { + const rewardsStateBeforeClaim = await tge.generatorRewardsStateOld( + tge.contracts.vestingUsdcLp, + ); + console.log(rewardsStateBeforeClaim); + const rewardInfoResp = await queryRewardInfo( + neutronChain, + tge.contracts.astroGenerator, + tge.old_pairs.usdc_ntrn.liquidity, + ); + console.log(rewardInfoResp); + const resUsdc = await cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ); + expect(resUsdc.code).toEqual(0); + }); + + it('should validate numbers', async () => { + const [ + vestingInfoAtom, + vestingInfoUsdc, + lpAuctionBalanceAtom, + lpAuctionBalanceUsdc, + ] = await Promise.all([ + neutronChain.queryContract( + tge.contracts.vestingAtomLp, + { + vesting_account: { + address: cmInstantiator.wallet.address.toString(), + }, + }, + ), + neutronChain.queryContract( + tge.contracts.vestingUsdcLp, + { + vesting_account: { + address: cmInstantiator.wallet.address.toString(), + }, + }, + ), + neutronChain.queryContract( + tge.pairs.atom_ntrn.liquidity, + { + balance: { + address: tge.contracts.auction, + }, + }, + ), + neutronChain.queryContract( + tge.pairs.usdc_ntrn.liquidity, + { + balance: { + address: tge.contracts.auction, + }, + }, + ), + ]); + + expect(parseInt(lpAuctionBalanceUsdc.balance)).toBeLessThanOrEqual(7); + expect(parseInt(lpAuctionBalanceAtom.balance)).toBeLessThanOrEqual(7); + expect(vestingInfoAtom.address).toEqual( + cmInstantiator.wallet.address.toString(), + ); + expect(vestingInfoUsdc.address).toEqual( + cmInstantiator.wallet.address.toString(), + ); + expect(vestingInfoAtom.info.released_amount).toEqual('0'); + expect(vestingInfoUsdc.info.released_amount).toEqual('0'); + + expect( + parseInt(vestingInfoAtom.info.schedules[0].end_point.amount), + ).toBeCloseTo(5918, -1); + claimAtomLP = parseInt( + vestingInfoAtom.info.schedules[0].end_point.amount, + ); + + expect( + parseInt(vestingInfoUsdc.info.schedules[0].end_point.amount), + ).toBeCloseTo(2784, -1); + claimUsdcLP = parseInt( + vestingInfoUsdc.info.schedules[0].end_point.amount, + ); + }); + it('should claim', async () => { + const resAtom = await cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + claim: {}, + }), + ); + expect(resAtom.code).toEqual(0); + const resUsdc = await cmInstantiator.executeContract( + tge.contracts.vestingUsdcLp, + JSON.stringify({ + claim: {}, + }), + ); + expect(resUsdc.code).toEqual(0); + + const [lpBalanceAtom, lpBalanceUsdc] = await Promise.all([ + neutronChain.queryContract( + tge.pairs.atom_ntrn.liquidity, + { + balance: { + address: cmInstantiator.wallet.address.toString(), + }, + }, + ), + neutronChain.queryContract( + tge.pairs.usdc_ntrn.liquidity, + { + balance: { + address: cmInstantiator.wallet.address.toString(), + }, + }, + ), + ]); + expect(parseInt(lpBalanceAtom.balance)).toBeCloseTo(claimAtomLP, -1); + expect(parseInt(lpBalanceUsdc.balance)).toBeCloseTo(claimUsdcLP, -1); + }); + }); + + describe.skip('Migration lockdrop to V2', () => { + let oldPairs; + + it('should migrate lockdrop to V2', async () => { const res = await cmInstantiator.migrateContract( tge.contracts.lockdrop, tge.codeIds.TGE_LOCKDROP_V2, @@ -1865,7 +2023,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { expect(+usdcPool.generator_ntrn_per_share).not.toEqual(0); }); }); - describe('lockdrop rewards', () => { + describe.skip('lockdrop rewards', () => { let balanceBeforeLockdrop: number; let balanceBeforeAirdopLockdrop: number; let balanceBeforeAirdropAuctionLockdropVesting: number; From 2f657ed553c163df32eb967ec4325f6a02eb0957 Mon Sep 17 00:00:00 2001 From: quasisamurai Date: Mon, 3 Jul 2023 12:47:37 +0400 Subject: [PATCH 02/11] add lp vault migration --- contracts_thirdparty/vesting_lp_vault.wasm | Bin 0 -> 229088 bytes src/helpers/tge.ts | 4 +- src/helpers/types.ts | 3 +- .../run_in_band/tge.auction_migration.test.ts | 171 ++++++++++-------- 4 files changed, 100 insertions(+), 78 deletions(-) create mode 100644 contracts_thirdparty/vesting_lp_vault.wasm diff --git a/contracts_thirdparty/vesting_lp_vault.wasm b/contracts_thirdparty/vesting_lp_vault.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c46073b88048043623ef78958ba1f281fed04177 GIT binary patch literal 229088 zcmeFa3%p%-Rqs0=>$Ue8V;3F?dj_)^p<#HRp4x=4!pCdO+^?H^zU? zHP?P5X+S;q^RfAKuQ~to{}})AA7lK-yy2FcU&EJww$zjj5*bJvTl3xzByp^M=Z-DH30OXr zCnW-44G+L8Ttd`X4dW)mA>s0)riDW%JZ^pOAhxk|L!^+0`^o}?` za9}=a-x1{pKloYuJ*?m6N8?W8^?P3bhP`i1qV~c=`StU$aN_@Wz|paLe_Vkvw|+^^oh0*YCOIrZjF}fBkFs z+<5EtufFk(d(vd&BzVc=_B-Pj9!`EgzWhg%kHzngU-pT3`or1lb=cMO^zj>PCk>2KK4hQPbB}yfZY+_{*)-s z=KA%`Q5H`oQ7=uVvv?}1)uyv_GHLZ{ow#jJ{YIANwOR69sc%`M+w~j`zGsa*p6%DR zCoQE#Sz|We`ur$rXK@}qKdM>DzUt3vUbg)NNh5Swo^I=!u&nFKQoG65Nc}_fI0M8Z7z?C3X{bZ<{x^zESk)!NAu6Ely_z`OO3MTj)Wf7^QdjP z@@#f<)II_G-Qk!|Hb)642XrtPUpuDKhUR{n$NTy*-{v-fDwV&G=`EN-UnH4S`A`FLC97ri?r#`=Th8Sz z(9XvSm$$N(xO{XWmyZr{dCSrN{0{yiC`fEaeT@dK0-$eG6=&u<9EeELJ zO*pFy{iGQ(ha{{@I{NEEzq-=3T6=Y?9RU^4&!@5~Lwd-W@hK8oKaA;aXL(|B&NdW&pwaU;mi=kP_88$RD*y=;{gQ00; zt%9~&;*3^_Px3|?Qe$Xn2Ap9-)3BjYtr{9DQ49^A%Bliq)B|VK2b?h|HN+Y9Fc1OI ztQZJYT5`sqY%vh_*#<&%)vH5jj7P)9tsi$k@A9(An22qf`J@KF2R$+@y+pLE!O83U zdQ4OK*W%lDGM6MEt5-{rvw3_Q-7yO!8PJn}}bMcJCEva~>-0a8b1 zuTo>#SVBj#*&ZmOg;-ikJQlTcfYBcTZu7JOkw;f`AC6V7JC;ZWHz5`NY}FK~siK)R zwXY<)ge$_*TQ3{>Val8!>v**urzxl#|?-leiY< zqmtn216hD#(dsn>jh-O5`hei-MsSt`g5yn8(h$Z-TTE~&>9U|9Y}ZX!^ZKoJ)6Y!X z;!{~wAh?DR93PC}7L+Op4st}v3otmKStD@1Diy&kC|eMmeYWAY0jp=V?r+E7N@E3M zFN^5fLPXbw7+cgL#;#6z|AyxwJd0LpPTdl$=SKN5v|T8(0p*{^KD?tQL*i64*Z()1 z2b?2jCbQ;Dyd%vZ>TPf&KZuwI-ZLL{KbmBu^nP}$ke&LbNe(-~z{@i=-n2Eac2_KNz`tW;y`k(&jukQWL zcmBUo@!@1NO9e|6nVz!`i;FxQ2_h<;48ND@7ws_Fl4kq+quI#ri*`jg~$#k1WHY4#!W!Ce?lN&XMf zY`#rX$X#*1X0H2dD2z#tYA-xeBMptHq5f#uR9^rr(Gtq-!j`BY0Jz&4`-@6racC@S z-=|e-6YILiMyA7)kJLI;WoDuV}=Ib6- zS$@nPF~af_@oWzZGk<{Jje;$iPVKKhCwGM3YMMPW7-%p3R=yR8nPR^hU5U!kP~upe zkMz*acaB}uS%=Q1G>VUl>u@m^Q8&Tb-{4 zJF8{1F*s%E8?5wdmA=u7fJA|?uCumHF2f=H=J7w%++^}V+%xaX{V_=5{X{G*O(yrn zXlDE#izPvNV_96OCl=`?d3|m?sU<7gARU!N|3H8e<0xt8w?n{<{Bv)INE+P-lZ|Gw zkSdM+_mo=qRJurQ4I|Zhe#yT4k~ihi)nntRGU;u3JclNRyJws{wJ{WkFlt2=8+_21 zq|}f6{#dFO;M$PtvFJ@RTMZVnaoW*nl=TDv&%YkD#&KbEjj&(o;8+JJcaEi@>QL{- z0Z@VuIt%a_iVe790kx|-D^+2Mo3T;kJl%FsL-Kjn*Xf2XGSCl(fy5WI_9}=o75A1D z^GZ=n;6Kzv2`^Merk9Y~TMrgT@>XxO;Ifj=jgR8|Po(mbX@v%VJ_NQ)%4j6-CCn3f6Oy9?#zCRN)t;2*mkq$YtWw@F@Vrt0Sp}gYaLS=Q{HKB5)Skzd9Ii)CxdytYQj#d@| z#d3v4Bum-@Sz@GCktODNMV7$0L6%6~B)x9760?QI>H|@d)W)i!1nUq{62(E3tjyi1 zHY`e3njg0iFfK|~E)*r5VNtST=U6Mdc-PLcCiLoaKvB!mQovl+6~S1~)(V*`BubE~ z70AT0R4>=HDh?1Y$+M#63iM-8-o-QV%gs-yvhE}7E?Kq>{#-^E0;JwqA%BMb z`quaPxL=3m5h0APK++cG{>|%KjFbrn1wW=b{TF0{u$7ixT z5AH~bt7MJiSvR~!xk))k$cWF1s-l>s)=R&diYA0)O@>B7_t0{HAjk~n*k3JZdu6`% z$}zqdT1|zvQE-9+F#;|GIMvqxv=^t-<{c*)w9kP`6Nh-d_{Lm_11w>b>F-V(ft`CL zfoqm&B`Rg9IGFlAV6>)7lCuM|nyRE>VIqCqV2$AgmV`wqaxQUzK2u=lUlX86Bg-I1 zStQ~xGKGnvF&r)z={`C`LdnR&)F?8joC zx=J}|p$YVSY9H756^|yOgGRg*?I=H*EF*;mstH6tV?y^?3WZGAYfKI+b}|+2h50oX z8b!lPwZY&EBqK;7wSDYr33i%GKvhAQGH5cm?kXe7E?us-F*WGtJ#jzY$=CWmniz3n zAf_~m2p#E-Ns={ss|P|<*z|c1A(}X~UX)E(KrG5GlF*yrkI5Dbi1~Ec=@tT%GRq23 z8wd$dj1ag8JXrwSOir^grXn+-@NzqYCvcduF&|(nm^zAutLJYFb0E(Q<>NcCYcvAR zb~bcbOB83uhLa&)*X_(43WRNkd>~q)4S#X>e3WO-Tir|LcV6ekPRhB^{U znKiEUY#**0)*S&TI9{uCx*;cQ5A%;N>l27qOj-G(cdzTmA9A6jtqvM|2XieKPDy7Aag z{O{O}Q!FPMg#IS5IZ; znz*5VA}a4aQbj%Ghn|8u^_3s_Gt`uX35Mp?V-0@d?yLFdv}j8U#Ax141Yy!qbSGC9!)vY?!6W?vUEnDcQ}n*XlW=F?B|&!)aJC2| z^8Bfz@RvIAsEB0X5I%)9KA@BVCKo=5a&9op8lHK(v7h1wm>YjeEgnM>EdO6!;WSX( zpBrx{QSo2L2A2NB-Cv7UyX;7((3QOu6(!BLUdbQK{Js2O)$SeZkQx6}pjt0BB0?=y zQ=w0bOf<vFMmAd25c;TQc#cB$dq$q<%CX@YQ4;+bD zKQ<{wxs*P&;7^bVW<)9uU}lw{yKL1gf7pXox5#?}8-->u!p&Wo$aCpTmNAQvaWjzi zS_~Iqes`DBjfN9_&4vLY_wFF==uWShLadN00ZAEkO<@mSZ<(W{1tsC}Fw$zc0|4}^ zJ{2}Io_saWK#Fud$Q}DhowQgd)sba2S!BgPQxvz!G3(a~?axA?=69Vm%$fSSx!3k0 zPwJP@~Kf$n|v5e(R#PD4j)FrY_iL!N3QliwXBJDN~P$2#)jgpTYda;H_ZY=3a zVR#q{vTsTD`(z-_%YA^Uk56JFDK!>lCroqeZ*B z`gP%wfxFsBj2h+5B0Q~elwj2~g=ZPs6To_G`G7HGsXR3Oh7VjLc!@3MY+mA2N};_n z0NtLw)}3x~bQKLxTf^gOI9CYVD;;sS45hFGd1=IPk*G;PfgVg^PqX<#H*3+=gDS`(eIW4$>i#56Ip zEHRQ^2mDO8eR#Z#S*DD}FUOFK_nx+SqT4>#i9@9;AgvVK)Tr{+Ga(U!ozFWUF>#~s zU8As$kGVy7-0@)Qa1EWZTzzQZYMv}q$r=o?K$HByGm_OFhMrFfIgA2a4O`(uv9MJZ zCASNPspw%Q;NUcOSIkuOn}eWL@Xn|f6Dn?J6hSMD21s9s(+xU z9^8teN%|zLrS3@5U=1fGUQFx8Rfwd)0hK?2e`Ym<-&IX%Sz}T2*?v)X&MKec&W5Ud zvR9KEZe*B@0m>5w_!t4Tspw-sENx2l)?DDo(Oi@4+ep9GOMc1PEeap=!UX1~qK`_s zLllmC#?aIm%gq!H;tnK;CVsynQN`~Q3Zn4)IL+$!Oe{Hp&P6*GuByqM+)UQ2X|7pQ zThksy^l;AW3#;uD7TnuJ_@N>^H3r@L+<32&+Blz)*CzIwTcT*@&;IKtKYZ`cJ@T=~ zqnD3GxmkHsprB1tQL?%1VXF3xSU2_;;by1t=c)Z(L-GuwFqg@AEp^%RAA143F#Xp#+&(|i>N%^Jh{@s zZE8Gxp)P?;YvR)YG6=VJ&wzME#1`QNaoGkT-eTwjUhT71l&u(B-C_Nd6@o$@3}fmc zER{W4p`4>eIgpF|ek&Mrj{^O4g(ZvRKuJfev`3L~aHbN3!uyf9KOzk*5fM#Ahl`3? za$yGlRP>|Jo7k|yG|?VrGH6@GUTS9$x~54b+9V%K4H-m%?RCU8HRc1>&7xk==pk!V zZkVa)U9=V$uVA7spoxjD8tX96$L5Qc8e5h>;N?-wERP6Gp0F8|Dg#VGCTpBe^ee-<9{S@CBWT2fFJ= zilSleEsNd*AewfMm<5QZn~Wo_`W`W_kSSZ<^3lYoKeU`4!TUkWqByY>#YC(51IcW{ z!ga}^e%tlc;=B3wK(~d)VE7e*;i*B{J%W575l5TwFSy(CGc4p+_xWsl0~{kOHD4l( z0UYnOu);^+LJcW+Xdbu>9_i0AWI`>nhZnYyXc!m+sd!d}6guOK;Ou&~ho2($QC84$xpp{|2jQ`dt?>mbtPZj|O; ztc;1XkQyYKDX%Wjo2hC|anxi7o)#pd{`ykjb^xx53r1!NfzutG-Q^adJ3nExxG>9{i?BuXO;eVVY6 zkdB-BL0uqMXhd{Z8;Ch`;lg(~FHK#*m$^V)5Jo9(>Ozay$#}iCDp}QBRaF+oEIm#m zv<22ie3v~cjutMnonK|->%#=6&jc=KonA~lOAK3R5SXQaS8#4B zXF)@W2Xnk+RY~z+j!c?BtOEy3u@a_SPGJdwW|<93ntedauAtHTlb+G)iNyPT9}KMY zW64;JIoZh7rArH1>J2*6%Er3AtfOhSW!4deY(5W!Zwpkmq|8CEO8bIVC^b!eF-i+s8(k0p+l8SrJ{YP2!B*$BQrB6iurRY5S^B`3kIo4_1h6Pb5fc%p z1bQ?SK{@7xHg~xwllcJFm!po(m5w@_Axz~t3#zTx6~3qpVlgaeRl$@&HAFX;?E$0i zRR}DEtAy$=3$dm&xH2nlD%?KIK({;f6mCE0!aP*~FLfWNZ`C{?xiMo#2{I0@ApN%d zuWjGRkoEXkiWFLq1a#EvddM5^U1^HGc0rArzFCf0nS6`3_!6p@tGynUhutKT$X40W z)(t}@#Vc*nGUe%2=uio-Hve|Zc{j|uUxzgzA7)`q?6UR@{%;@H5~GFBFlG(F0$W1< z&Z4xtI-y%!odb*f8)!+?-IDl{W)H@Ep(Wv4pYq|)i!2FbtFLPewnWIjQRKu%9v3B= zM8k)3nGvPZEM;D_WCT;Xz%Sg4kk%Cpn6sD>ZhaIjA4&Qlm~9iWCb4@GX{Ii!(j0I~ z@qkAyh^JtTJjH=Ghh5P$OdY(Zr2&LIG2!Q|H(%kAE5{Vkbv0e_E9dA0OAlvlinndZ zEXW~gXk{9rlh4%p8_Jrz^5=F%-7b z2%^ozj8BSQCOA}liCPe0OBp%z=gBtO-ic*o0!+4%Fo2~e`KtPZ)WuK}xJoTSBd4}? znW)27qr)Szmb-%)z$IQqI3dy2WNX7n*{Z#@?(+l-1L-e6H)B$j{@#4WMN^7>6L5$; z8>HB!XXImLGM}ZET0+8)No!j+U?4LH>g~ebBhFWqiw`vSVezdq*!)rWVaPSa8aSg) zAHXwlCKqsi@-U3A1^7^2_tKfT?UX&AD0Y9Bwp-ek0&Njmv0j<7tc^S)Oksh6S>DVnLK#5h&}dkSYo!`O25orU_KCxq^K# zqrNf5s?oOGeB@e`=K7YjHG@7+NDFlL+3v}f6@nAHQH#Agwd4z~fQ8zIDySEkSVq>I z8NGeK#g0OLq@1)=oeY2v(!4;4cZm;rf_{W*yivU5aa-pg=+FUq@Wq6-Q=PJ68gsWZ zJ~C--e3W73^P{JM`G<&AnI}F~xc+j+C(WP6at$isNeeevv5`Mo=F)nPmy&Y-5iOLs z+Hze+u2+&aspWIF2)v(ke<-2%wY`MX?vxB>nFg6BldYPnwN*tF1zBuKulCR#tqW4j zY3zL45rnQT5@KqF8s45JjIcJCFaU{Sghd1vMoI^!s)9B$cWH*FE&Vi~nj5ciUWyDh zi=>3`JF168I?YKh3`u_gVFXc3ygX}8uDg5$I-r~d>w&l$*Cj?xymIdN%-7;~^lAb@ zO=dRb0v{GFt#7-AOwYTPH98u959-M<7*G|vp4{wNdC1l!u2QzR zzYpE*hH{4@<}GVIR_i0yI?Uj$LF07}xOO3;F;`VV&Zeh{6i}{lDki z1m7mgZwO-l_8yg6!?(@lx3aOH);E>gR(@lJkeB;pQSS2c8)0Jqc1G<VLQ?^}Ey;6sB%7snByzUVafX8PB{=;;FBywCeDj8tWQmwgw}45>=LCtk$g~j3 zX2{L5vX*UyFUl=rcG)~qZkGRu{9XPdY_j}En{AfsJ&a)F7uIL_7I7g5PG5TGatLv^ zBxu!Wfes;bGmI_Vtr5oA@@Ep(76HVSYzp0M%WU@jRV@L08uc*9Ph|>m#43W?zKc+p z))HM{OjvxzI4v6!b}1e+SDBaG_A>@%^qcTFR!C-9--LgEaoX=lA=bQw(^wOQ;nysgG$9jT7Lr9FCDA)nEG(6 zI;;bhXR@SEn3_2*(&}_%ga@eg=!>zRbd>tj>k7$o5>3cO3s^v~EFn&k>E-{~(r{Fg zaYCJ%Tty}bLVh}OSs5{gQx;fIV&Cx`%wqXUz0fqSGZ#38L7KmE=l{SeKpcPU45yN5 zRH5^&^7%tGI>-Xg)?N+jf4>KrPKNsVQ424YRw5yXn3>Y)JC_$A5#je}5km=zOjb_Y zBxw-y+4pkZho1K+;(I<{T3?=hP7e!KTZngFvU(}@DOm@` zF^#0?qHoR}=Mma{wfFAy{YEBDa&Wk8j{sJIA@48EZ z|8-zhV!Z{hnw09IAX#!mo z$;o75=U7)kv2&L-hT6RJl(xy2k)BK1Sr3-2V!*LynOIYSx@;9joeLEMQ`#3KQVT8( zt*i>QJ!eQW-?}5&MeMhgJC2ZgdoE%-KgnV!d(DqtXESZ)pnaRxbX?OA9fkm^A_>|2W!IDvEV#t)4+<{NUOqs9z7`*lC>e}>N#g@U3gfVkm zt|K$dgX@S&bg~#BBsD9|7bgjQRJzn&xlH_UF*R3FfMu%2`QJ%2H_&XPmFS;B_q4U%+7tgzgaa5Z{^R+t}-NZ&$I67*-qmk{qDGrYYlrN zKN8D^fe0}fb+V(vCL&O+$|wmGZxsY;Ic)2p9l=IO!2-LitMl{kd~i*k-BYeHx6!*B zLwb`UVnH$k*D|EFRSN-ZQ;iXVn54T!m_WA2{>=<70oT{ze3^ymw8}dG=y4*_XN%)` z2PYJIfw{bSojQ!iy2YVy-f`=;O3nP$Z~e|s{={Q{_zQm*?ZE7`T;ZI;fRXZ?LVeS* zaSLiFj*YX=h$keLwuNJz+JK1lJ7RsjbDuY+V_f9l@}cnKYZlMEfy z5j%XgLWnX@kKpsasUV~6$qk`fNq!19{T~?pvOaU`Tz{0fM0Z`KH1TL*VJf-_$QTPC z5Y6bx*6f$`hHn`dEeFHN8!(Ds!%3nHt&Xd7DMWAp2$mqY-A-`&KG>uI+`fHdx7HRW ziqzZ$J|QN~{-ggA$3&=#)*U*-i=95mrxFw|Fjt&Jnhs7P9hB;~O}Pn&k+M62s1wSL zc?}{pq{B$9V?}M@B+}Ff%W-5FG8n?quqwwv#wwRE0en6G2*I0M(=6K>2dU$iSr!u| ztpJz769k!&b#2%i15MX_WMKocFM-%a)oD6nK5KAJ03}?pmk6unKmS9B#ahr_sT!&( zNbz+8QhaSmil-sPUsRbXw^TK=;OAfenjAt~DdlF*KKZi$9it|^Dhg^t0H-{Zo^KqO_DV;n>pN$i%JkH!b? z6lMpbfsf&wIQWRlj8W&rU^L{LP>sHQ?PEob&N4YD%xr+6U(Sp9A_RgxGXNaW&ny5G z-{Cm{4bFujK;?5R0R;>oEWlvppQ)eT;KORLHNXtHE~r6yGnQ+xEBoX^>EnpVw-fwg z7fv7GU=fcVRMl$+eP^%WIr|>Gr9(U#)AvQ=DzAoNq?Z4WgS4}L&<@U(bGB0s>OdAO z!+|T>tmN0saiJIQ3S$LkJwe&<-ntyORLlyWo&eKaSLDG-2hXP;BaKpt9N@Cdvgn)#)+45+mck^A!Q5gYL z)e9PVskj5M7K1(feIeMmH#|zJ6__>m_uR@R4OfvoM)8&9RKb1c{BGfkvy?aA_*uR) z=`6c3n0{mX9>CYT-IwgT3Su?>71Y|QOqz#x zI7Xah9s8sJpA+V#>%Ovxk1ty{EuXV)*WVZR#yv9&Q* z5UvXM91PhikHG5e7m?lDhGOzlyjN_Mkqfp}%u>n5chR~Ffm*o7BD}F#;J4kqXH(0l zY)KkEhXL`=g(Y(j2<>tYEU>|5{`R*%`)BX_n=gIhuMJI>>+3;_=5naijY?!FTJ4k1MgRL=zmI_*Y77D$#29#M4DiBm2X#4T(3r zq!DdqvQ~B1@+f%fcCk6Ap(7_)J+7M#*xR5touZXT+$z+zwQGK#0itQzq7`c0*MqQv zq5E{7@T_t3v@g;2Rx{BFi@Vd{ax&Xs)YV5l;iMY6end_x%Yl>1&OHr&8`1_&stTf) zXmhtu@aAJOw*bDK;A2|gl(6*RV+tOMfk%v+EbIy>eb5z94tFr*x%MK>fBv2G#T8I; zE9Jk)dvFt2p#pTiSxa+I@{ST*PMh!%75t@jR@75FbkROTl^w2l7@{uDU8ja6hWen^LGvk0HMGO2D}llfpx_#5 zdxcr6pzY=Y+P)Q?(MVBePT)lnxwxxi$b%J#MP4f?bKsCPdCsy|`@Vd+AkPQoVm#*z zhc)TgXo?FIz8edEB_qw!N!l^)j%{& z%D}krAd>dNC&(wdIEZPat^U}K^gx_d!$@NuMluM_Mq(yzq@EP4GqjK}1XT99fc9+E zM)T!LoP+qz_lZtTOfH@qwz}J$FymR9c(FI(*%0^DCU);gUR<`YM7&bp%&osTvZqfV z%@zcjgel=Bj0VaWiv@8syxbNrDKe64M|xPuMdA3bKMs5UY2-brgwl@Mv4DS@6rr?i zPN&73Gv>2gC{3rt;Dry9riao*@V0FIT!Ey;m0B3h>r{sYzNy=yYSjw2oU794tkEf( z@Te0)uLQ>MuPQKB*UHN(Y1Riz+BN95l>f;VR54pu{KZDG>RPM+v=4%=ux>h;)_ww= zHezz#j-a!dK({lMj(iNuVkTftmYE5yu%RPd0~7*BTKUL~E5RtyBn;Z6i^$ZXG+MsR z9?X;`3?*)hs=UBlJ|Y3A52FY`hpH?E*Zl}nM^J9HIxqi;!HjE#3c$jQTU@%RZ{^)U z6)=Kaw9h6NHS%aGwl4`=R3P2^(cB;mHu-ezTW>rON~j64oTL!Ghz& zw0M!Hu&B{8>3sTJD^7AI80J|)Zd3~HKdiwxE?Bve{iNJzcDkkB{s zBB!Z}{Ty23`0ED8IOrc&ZrXS9?;pO7B??LpJ_VrqwUpPx@y{|;l+gsdEysdLW&RpK%K`1?ykp`L$?m&wR3 zl1+^TIVsH+N>hR(Z_Go%yG}~uFiP(oJ9l(9XkYS5DyO2+P{cP&u&)uViXSCH)`(V& zBlu+=CmH!faTcQUGIJ-Vu%5z`#5@#sq!J=1$Oct<8kl@0lIhPZF} zvB@-$l~#**25x&1GTzSO@oDdhn50k)ShJDPD=L;=axG_Lu{Ef`HJ1`_LOd8y zFYSt2VM8ax$H!+Te7nxBJlTi%X>wjZ73r8(#E}lSLl}iyV0o%5|BDi>&=t(O!4`8A zinoK}g%1*|^zGA!^w$T=Q z$j4iE4}#vowg63y!eg58WsSzM&QSEZg3`{tGc`eXR06rU7_&`_?d^w4EVO}ATN;c( zZ26M5JyuC5El3EeD|93__=s@KhU^0odlq#DhR{OmU3tX(ok6aPP>M77h6y7AP};5# z&O*YHJPI8VOOkm&g(VT!ZGT0$9vGmUlmnX?lI&ry50@~fDOGkzE zg?RYLra05Cn-k?(gxiG2Pam4c-DHaV%39=jTH>!^P!s&N{>7rurx{IR&&71YriD1a z6a}AMKcx~jF`Iv>`p(Y7->tr*r2R(qU0a4iVRdBYUIfsYh3mo?_*`4KfO zD(EeYkY5ER+S2(GagXiGzF$)i*Wf9g{h?!Yi<6E##cC-J4=N5*+)S;IAzjYcaQYA= zANC$n7veV5wcd|8(ver3og>$YPEKT-y&f;+k7gyw*uhDrbhhESIC)`*PYblkKc%L8%!LKjsgKcdzd{`z@R-#y{wB;B& zRdH}2+-5rvZnJO>`xW@mhEUB*>}cc&2Q7;ACUwj}5{^eY#!>ac;zyF6DTPN9>3$r+ zpY$^Q9!bVJ$i0j)awJMq?mpY)A2{W;*?l%g(cn7pbLnaBKr;3eHT$+?ygAZpHtKBK z(9UvND#n4+xH+PMweY)nVTH0;bWAGO@K8R{&=oI@WVs~+qd zjzZ|k+r^M7wdh5hU4)*?@m8Ho=n1v>#>pp9i;Y~&%~c%Y!vFG5t?U@WLyf-O^6RLv z)33ni8#JF>Z6$0&J^kr-BS9vfTus))&LtIieB)F?MhPKETtum4-^JUt!%6&f1iM-$%^$}pV^@Ww`C~ld$c`v-n#YU$@f44? z*O1-#JWhD(7kLb)|DEJ3fJChJF8lq#I{_riGi$S!mH*p!ntzq!A-AHI$d_Nnn$$APWTZ=;rq))T2Sk|q{az9J+-*QN$_AH0*~35(4MA= z#BQUs+tHvpH?p{pMxxJgm~DsdD0-N=B=H0PG~Apz6GmLJDqvwL0flfv>f7m#F45e4 zLU#zg-M}QyG+}gMuBKr8Nz@C3NI=!7<`O^M%9-ZDSfW*Ubk5PSi|evAf!o$;q7chf zxec)4HaiFH2q$CMP%=*9M4KUu$23C-WI7eV)v9Fs-q$bRH|dvxT^Wfc@~QTp86I6p z7~qkE!r{bOt ztvV^%+FveK)Zj@xg%LVCAP7Di;9_#M)9DrgG6EnS1EeFVyCgWXZG zr*2T{s5~a5uFN)i>PDrmvecM07MnbElgM7D5?Hvz4tdgOBQXmFE==f*tVC<6z%ilg zxSL_UOY^(#KB8_s+&WCgu4e+F^&ZEvU9>Z6?PRXsYZ;`1Xc8PbzA6b77 z>`GnlseZE43Ighuy1`SekJ-v>m8Wj>RO=)C%f^}G_v#)dKXrlQahPjOF53j-_s6B0 z;O}ERG~*tN5$G67;SdG}T}L3{k;*QSIKNoBG$ipH{a$R~Q~2O*<8%?Pkd&!*Fc3_1K5W9;t+{7f7WB(ojGNr=A>hyy_GvYm65rBy;LDnJ)ghG#S+y$M#<= zY)XXuH|{%N+=P8m!vJA%{+N(DX1MmVS@N$c#g0Z6or+2Z`OC35NRJrw<;J4DysWE5 zCgoh>nVgg06FCH94?-$sU9izeicQw#@)=eHTWwgdrMaCERuycpiW8O8`9N&BErW7N zdM;V_w!~=(@3o$d|$B5~B5JHSe zUU_z%el*XYt3J)~7J~X?uEX$cxZzU4WIFHX@|!D$Em@j>iC{{x1dIOXzsq}YH%dO{ zzfpbHzG&Id*(wV z9o05vlH9;EHf-p~9k)TXAM<(1w6J>v(EFix`uJGMTa4kBl+vb}glN7(P&;p?eg-U=+0SPeWGn##%sX@B3o0?*&raTxy z=u9dqK|_j}OL*#gERlPCQRRss^b(*fBU*!debrw|rMlNQC3G*SxAqkDfId`Dypu<} zLX`l5AZySWl0xW2+GW`T&={ckmxVFiNe2X@hN=L;G&K3m;t)6hcGCjRf>qgmu@kwv zYRbV`vrE4%M#06qZ3`A00Y!R3lm@(*3TmTd82WlfX_JqVwO$z|S#E%CGj7tgrmP2F zPg7JQg76_95Cq(!rjkJ2ui4DzE5q{fnbXnj_d2P0s3MpfpgJsgF!3Nx z)KZ{Wd{^2i;y`OcGKpu=YsE&9;dLws1#5L%xo8h1L6eA?|HC&OwM&4scc z)Obqcy1=Fu+Cq?e^OC3ltY|$+-ynd!QW*{t^qU{+B8wQZngZ4?>Scixb%9O+Zlptmy%$l*{Q?%#g=8OCx3X>gjtbPl zKO5Nby5`f$;Q5dhR>8p|F5hj*m_ejSjh> zuCXgyvNDhs(~qX8@Mb{RFa*?@Jf&ObktZx{vdPHE$LcW=Wf-vuiUtZH5~{Xh#$_hi z%hRk4)LIILtH1_~`HaWW9;Wx(+j5{s1qrD~gCXI~UW~@|31v{s3WHz00r%n`XfYMb z8oFU+kfRnVKM?D1x@RV4x}aH?%-H*=g*`@FT4n>}02 zpe^NbzUs}KTD}x8C9DPTTpEN+K8p*$_~igs3G;qBcdbJSu56DA%bcK~0G;L*K0K6c zkh%)I7-hhU5ZD}n*Y94aJyYx(q(Hw+@(j^vFuDjqM=PL?3~CS!0S2gn3-g9?2Vhbi zWWEbzKz&K5FI2S@0?Mi?2pCj_jvK1FyU8`z@L<88z=?x8?n@oeS}X!>47bDwzqNi1 zO430Xe*Lxw$>MgejlWtNVmN@dHxjry@dLlr@E^tfjuvsq5qjXj{+uIBx~CD__A{Gz z{dX?^!P{`7F-t?>o+H_ZGA_&U+KpL!9aV6$6df-<*XOeM+KraASLgnOCz#?fvL53= zpzhzty_Q2#{N>Bv_#Ho4{bjI6D}UstKC5xj?SifRi^U6fsC54-#tLbvrcuzvQS|j| zNZ@DAHa#9lt^pCP?w^<@troE^@Booa_(5mtyzM~i8nc+Q^t#&=vzDt9Dg}0}imq$@ z5ZnnGh;y+<*gI@x`;BX<9MwyGpd1etRBjYMj|$!SNrzY9(c*Q3B3ij;MI4lVn#X$; z&{P4r%_8f!T>=5a=ARp?=bEuJnI3|sDZavdr*%f!?z(o^*s<0e0#WaO2Xh&@U#UC6 zb`%3lXzEWV5ue9dAQi#QTrSg22zEbn65Bo}MOZ!T>et40uv{vzz)|iUqEB*7> z<*wYq?#ufWeh)3y#duRk7zuMDq3IS^D_o8j4K(3e;`#)6Vji|mPss4yo;*j?hh?)p znY5=aPpr}>t;5qceyy9SchlA<^cn1GH*F!@a5q_A!gjqyE@5*v;buW66-3fjsA}L6 zCRA_TEL=E2UxNN{*!)nPWxh4t!f+}Iy;q;*CleWv&PrL0zfBhPFw^TQX@rNI>=06r zwCr7pp5&bzJ*f){irD#DHnJmwdlckB%(#$aW^^X%&Lj2J0N{k%Iv8GVID9!b)DltQ z7%L80-;bPZ?cOUPv?a}$L3DvfD{JqD!AJS0*O6CbqEDF9N-YAND8F>h&P_woINSd%=|$YvQNZ8jpemv&ZID97*r;G8o@A0I4w zh9euM#Q#Qe?)QIiV*v!3Ov~Nd63&@=eT?Nnq{FILHUz`tD}75RAud{h$hdfG1L4@Xxf6>hwpGlYBt5S&tXKbIvb8mZ;rXUKId!lvv zl_QeVTJ0$p1(OoaP`MTLBnP7zK0Ut5T&?S;g?6EJ_hMG4g)6dKQ3wuNtnYJj_0}!k zGh$J`{0mCyD1N7?U?o08aL{V8E4W)x-TsTsmshF9&OIcSQr03p-e@~=gGs77N$63M zq`o|AkY?LsEM6GWAaawqF5gNnkd(4oY$cV~Y;nO_eo9Rz-R;g;u#OljvWs+gV*Ck_jbR;zo!{|#*kEmC5eJ&S%v&rk51*)cn znV%yZVZ56%r4-8wCc|wBDRXO)7QZ0A+(mK54}w`!4I)7EOyK(NkHs2|;-9o0&U-~x z*b0P+i6&}rHZHLzInQ7KC-MYrXQ=xATmI}0OE>X&Ly@td>Mq~Feu{UV{JvU!x^+5Bio zBBKW433l=w2}!Fx>2P>mwIh|X8&(`@Ats>`)^i*nQ3%v6QLJbtm3h{XL4{h)`4s^I zfOfki06wmF05sLvX6p0+l;>Sa1hODu$ztXZWVC!tEi-3pv7tf%G|XQuCwZH`+->U{ zc{uC~9koD}5dx7y-$BrqkNL2;`@BAzAO8h#;fIhA)G1#e0$XXruibC2naCpH(n~a9 z5lnjzqHHE;N!a4a*l{NGIy@MC)O_!*-D*SOOJYhH9)y*0f zQw+7MSem5U?|E&S*%tRIqBx@+;@26P$}@!i?h}DLRqWs6g6DjRgSvS_t-^WT_g%?!zA9_X^~dv7GF-U! z4qjX#Uaat*@#3fu0&l8X2yVvXsuCUHQ9p-3*378wPVac~iptj$e9gwWrrQYn6dncZ z6Mw;Yztd%9U49zekCm_%oDKsSr;i3sX94p`RmRBd8ZbM>QH+bi;&f67Y?di7x|$fI zsDc}e#TAS{X`kV;lD&6fKevu&>|e|7JlH2TFZ@tlf5ZO%n(U(85SO8oq#g_T0-k&8 zP>=7(n#Z%m3$hl_D0t)k{zSG~5#u%4nwgk7UXj`5bbi_I%53fa{_1SyZjqtAtfFZp zt=g>>YOk1WLpPM}X6yF%S7lwxXfNw6R5gV`R#qnSsd?+9?V3$PhX#at9)rYFLY>oqFzhX@>gBsin~G-Y3Mjc0WW}d_VN9Y ziCB|XCLSdP*Vw(lF_&)Ze&8fqBVjXv*a0Srn7k4HSj?K62VJ-t3u&XEguR3x;c*jk z){-PFY0U1n;NOHK<0fq+Uth=&tuv~MYR%vI-E<%zHtCFCC#$c}DnC6p~NHn#0eMKaR5i{3{bQ^}5pEa;rVb-||{MF>wY* zjyxGSpYnt67ni)nav?LfCrJ02)|4&f8$gx>IBGN;ueh_ALt@`$! z)bo3^@}2AHjFotjC*}ye&EsYs@Ak(D9uF(%TAS@Xo1e~XZ#(roz>bd{{2p!0_MXP? z-Tbn~FF(fb#r)pI?=$&*m|~Os&ex==^)BV{5T|eOxPiwfkaRp=#N#~__!fQ-^UDEs z`56kX<@f${w#P!j{4U;~$L|4tpU>|J(l6on9^SX``w+iR=Xc(#+{EK)Z!^;)xnIEV zBmA-=F@K!g&*Jxs{JxOi`$&I=-uaaZcEpRW;_(Umz`)q!@sK}u@eL-0DM7GW7-Nn` za2=IsWN9}E=|0!nZF{tA%UX|lNITtE+u90bAa#?q(S5H52Dn*gRn%Jg`3D~VX}%TS ze?4FDzpQ2kGq$a5PmGed)y5>TPCFp^r{4)X+mX6;*5}*hWIWtcLweVzqN9q|%UWi$ zDIqXD;oAx81r&dhFE*SEg4xWQ&;ys*5lK-t5{^-4-F`P)C9wjT<03}X^T$PyDy~BG z1wnL?&OCL9w7+cGvQ%6xds=1fx}Q*XWxLWq_Ro3p<3T2yTDXY_aMLPTy8UB;X zc1xH+%(5U;0`YSw)yZ>ATf*`4qpuJvPUQ>Q1~c2vpDr5|jFNCDo*M}eO%=|cQ)PBzmep}ycvKbV z0q0^oVs$P@SLGnFzPk!vSaDs@=GoxWl5vwGKCTX-PI^ZfD$_OAQ;fdSaqfimE)PYo}w zla#yxtKLpD>`Q;bRb1BP1-R->mXbcyiIFZS)gQ?}%1{PlSXV>j$9WIhm=y|QqNvR- zCC~?jNf*>s91v%pnWS3aBe>kfC!>DQC$ppn;PaNboC)SO%uSUgJ~bvdDBAhxE&Y}G z=46%+?^=;m=3P*RXtzNY0 z#?`#~bc-P`V)|sd&}mCh;~Y_Gh9D3uzl_jIsINa_;dXMc|7vBXq@L*4X%-hm+rsU} zhptGjR8|OqA;B;pWEDgX!^n)MjkTg6f*hi*jEmC z`I|5Q=+FMlU;o6%{vp~CSV|Rc+ZEi6c>b4y1=*10p`2wzg(5o;*Z?;&=rnNTfbz%H4tF1cm`OImJmZ7B{f zR5y_m8!>2i)0i0Kkex!Mp?_365Q91?te_Py5bkEthm;|AaLQ8s(dykSqnvJ8y_>}f z1qvu?Gcl+S5`znBE5x9EmKY2}oa7(YXli;FMK~{jn_fA)^%iJc8g*&Aj?fbIdVN9> zcnxc>s;#L45CO*xh9_}CA@l!l5oqXQsyTbr7nkGyHqb8lc8ipxIH;7 z1Hjd^(~N6SFSZwInu=9E|MJ_ZlqDcoquq5rLY5;8f-0Me9!o_3CF>^n?+cV{07`UT zpbXmT7H!E}R*v{^W9{YXgd(V_PlzFnFsu?RBL>`L#98S?G&YHzYvhD6*O0v|)!*re zo^;L4@PuLXp}H!cOy;!@L)3XxF{m;t+q|CO5XvL9Y&?JP$3cpWK9JAuk*&CTsCk^9 zK(Sky6L5`;^HZj1Wfv*LY}^LfnvI92XQ(`@^U7BW$Hj4A*)u3YUB$sq&&alhd}}F| zb;=if6-5neDN>eSn>{1sp>to+Mm@u2SiVRnzzcsL=D_AYz3t1hr9s}3&e!`nZpwPL zK_HBJ1Z+c=%YwSZCP&Y@LG`D{(ri-s)~HI>9z7?Z4uc%j;mM#@&7BX`GK^px`Kgj# zC{Qmcu&gb9^9W*@?fk`#?|zeulS399pa+K=vI{K((q}TctHC78@7;}THE{wzz3FzJ zm-x$*zLv%BYT)hnvDH`<4f|MVbTQxYo%zsyKpb?8zKp1j(}uXmVx6y4XO-kEy6!`) zIzzvJb55~B;5J=P$@8Da`CoH2L0MYyVRjipwj* zo18{Fo^ZL7P526^dO9f^4KIM(ZK}MFi_a`KIObCWK0|X4~yXXE)rT^?!H5Pp|?cvnjl6*1k%Z+G|H(^%>&kzvr|oMVZ;EoM)4jFE3*+Zv=ZMC zQ;C(YG}DCM_+bJeG0PRYMK~ZOYDTjX6c9jvBc!C{Gqqj)gaF7HMrtO?@=Px_`7!PF z6@g?ruvqxPUBtcV24Ot}o%X6>_WcNJ2&UW#pXBf6CD??ly`&nAT-cuIltWJ*QR3Th zzZ11FK069Iu6NhjBLJ3YlcKr&XyGW%S$5>PL4LY$Up*GwS7%E1RZ}Y=q)#EQhTK;} zx}K|d7M38d>3wz!Agby`Sr!EOMdHq^6kl31gG8*$Pp##q!k7?g2!$2%BPLBjDH%Mz zf#Wmqmz=6X1eg|!9n!vX<9$SM_j|JlvStNSuRSBKevX^5i~>W<6pZL=_VnB6Y-}6i zE&gEISXo~%vg(B}1#dzr>}f4%2_vYR zjq;O~;Z-5?jSgxH>TGkM&JJoDsIz>QI$KT~=I?a5;))CIT}CY|rYXl75x=P%l}!sq z1=YQvk+9^ZD5sf0^TZkaZjbS#h91N3c3KicE%6tZ*}(%)Rz17i6}muLa`q{|@}jTR zrLWa&@u*cowAd;ZmkD(vl4*KE!4SH@v4*6<=_6gwfgh1KjRLYV9GBk-PE!QUvi$={ z#KpXwBB`4D9gW|J*DjZ=w{NYR=f~VQ4R;AyQ(j;$@5p4;hcO0xK`GAs(?wSyXr|%K ze`WA)g#zG3Z8qTgAp2!OZN-4w=U~4G-=;x`>ou|HKyx9uW)ry3jS~kn+f+4QCsjnr z(r*#$^7L({{bKrFzJTFpae;8jhCb+$jl~QhWxL7{pW!|1@U}u<4?{4>%w=bwHOYa3 zKBaLPg%+nJya18@Ne%-bS@^OURhcI#8qoPzP_Iu1^?DN0k%+!1+f?15i3Y=Ytm?Nb*!K7e@Oq{6Zhc<&<9UQZabj|LzgDQo}&L&G+}32Xr7 zi0_Pwh8D_>t zf&}P$QtMp!`)JVj6~b<~zR%aG=%nlWYdN*f-oFs%e~iwrD5BNiI{(8~>Q|^~D*9Zk zFx+JFaI6!Qgoy`eeukrDM0{F{m#x;3Qe>T1<)|`RIVKs-d1p@p{&Gd2Pw8uAUiyqa zZoMm}cY3E}=5jL;9-?}lKxrTKcpkak8|5A8{Y7viy%n3RFcD;a@d6v8!y4*rK9c^1 z-b!$^7`Sc21BcplB4t+D+2II3y6{;J@MH@|d|Pil`oS38SeN>&+O)G=xjgwQiT(Uf z*k%)F>v7~p9FxYrlP1~($4jkt46@9pM9Tw)b8_kwTe8s1Cuzp?VU|SIX%YP1FV}Tp zLNXTJU$ucegrVqXC6edvhAa-Fr$9#>xHSemWBIn%fgRoP(n|=pO79>Uji%f>s^GQ! zyIS}@%GOctm)@C;9G}^y{kvS+tA%@pgkZ%A1h;zrP$qr(8Y{AQYtXCC$ zHV#5R2we?AxgC&5cLm)is_53&spw-yz1>A zG3Ic+j&ok=bP;{i zDqq3Sd1-3;Dw4TnL~ha4QWInp)jY&yO@%;L0!K3~iVY zS)pHshVl2wiqSQX)kI#G#@lg3o1k zkj=5SPhe9{XrJ{8cUnr-0d91Db0}{pn%$7;#9!9vy6^E)pRVzx3vVW;+B#C!fJf!F zBV~D^hs+e#Lvw+N_;if#C|ev6au(ueK~hO(uN5-KbdVqjnTl>U#ILi9hINGQLC~X9 zbr0xw1)6{+COi@9g`FE~T|EP4me9~n+evsWka=m*tBr!ib~Qkilxh}-p91m|bvW7j zG43iJ>W92K!&NgM-eqx1M?#ZBSq%rKE|yptLY~ZcM@=#KHj{uFITl%zW%LQr8wy_K zO!rC2rx9sU4I7W_VqqZ^@uM$UymJ&gyH7}3|Bn64U7Qj*> z>{cIm2Uw0k3XFNR^Aw-Z3XlgJ@(eXxQ;`Rm?OS`YQUO)9DiwGQ+{u!=qHW^Al0_yI zq}onJ`B{X*Iui=gSfo1_bqo%NHxWP`E5ETaVa#QMU*Wu1CLCQL6BcJ5k_lyYdT~B7 zAvC+JOfZYUC!!}I6DC|HXdYz~X({}wX`Zq!(K$R{MLZ?h5thVY+ ztVtv|C-qx$xN8D)S#F$O5#bds7UO9;lc@J-BXUE;QS^c-N|Yt_w%}?lAu~Z~QUPgT z_1)dj0(q&_h`rD07m4$*e(@y38JzQ_^I>aRiWRtPo8wNpzuMU5_$#MQlAeWxHVvt1 z%5#!Eg;`TtGp?La$>d-FCMyh~HDlcT-~xczwxa!MEtuBBO080+tWr#Jek$q>cz}e^ z5Ox8NJ})A1Y+gj-7&4GJrjR3X=n4iu2L%-KVi*O=euulWZBVk6-S5zO@Hh?&F^0P3 zrk`fla=Ma6c|NieK$GlS5c_8CN#GvCQ`IEN_Tzc{>RariVn4;)UZ`6}Dyx?yWaqzfMbyvUS}4!;KIu zm(lG%Z5b*38J5QHV##Q4T{d%XZ!^xXvDzK{6?ocP&Aak(>rdXoOof0aNZXvPV~)0K ze{ibFCJNW+^zGUo(rQ___D9d0h9Gc!4|`K)NJIf`)nmB*UL(4O$!4MG2kJeRLasCG zOV)P|h_p|$`HKu9xP|*Eq%)`*;+}ROzwRydQ~CvqSc|Vh?IDhC-9*OCL~>*bTPgPS zJ*AvB4QoIp6I}HbmiKxMXSm`7)q)?gIg>E)uUp(KLKJY@jY9AY|2S#zzX^h{%6#?V<< zqen31l%OTL@d&ybOxkiLZMpDmw`J*RXP&VxI{&|fx+N712`nz!x3?_;34qC?0#p$w zS27=|ON+z_RhM#!bGqJ>2sg$V(KQ>9J1jK4Ch}IW+?f?W=I4S#!#Xz;rA>So+i)W4 zOfjqC{(3*zseMuIx4=d3B3Eo=RL&?HmBVxzQBga?c}e~|KLWA;kz}cc@lrO%yP|nF zennE51l@c3R3P{!uhWSt!&^eB!-T3wLm(+X!b`h&Im*jec+t-x8~PKecmBSV7zWkf zpZ4hr*Gg&WB->V}N7+LCEu020a*+02QfL9QEV%Z%~GJZ~*D=cnkGF~5ReGD~UEv$) zWaZCfJNNf@Qh_FJd%2Pwc1pT(H}6+!bDY_}S7cZ1r^PEQqrFfW8E3Mqc4xek5k>t+ zJ`Oo;${+tF?BMsaX-8dv4jP&VHSz4+k!ntYdkIcu*Qmoz$=QgVk2fMPl+y0AwY!mT zyG5N9vgOKCto59(JPJ|L7z0D96<9)j_4Df?x<_?dD8G-SPSFftB8N;ur+6?BM6kB<+& zw7R!1nciF`y|GMseVO#yGU@3u>B%zb@iOUANZ$qL7Q5K)E_Siec~(P7T47cO0@o5- z+w?I#SEl%iq;Mp!XhJC2X4p2xtH667K^qE5eWB)&@|8NqN@h!Rw2kj?Vpq^=hDRp} zjF2)Sy|^`)z(>SLOo$@=d=8Be7@Q5yLtzm>V*;R*8(NvVA$K=twhX21)ECkQD z7^9}GIWtj}7xIg@R__W!Y;UKu zU}IxTv_frZ?GnlVH}FjP%tK;VW^6Gr6wgo8 z+gVckPVV*lH*y~$#{a#^JrMd3jSrFc5M>V$^$` znWD?KTAJdD6fx1&J5n|nx6m8Gr-&bL5$3?|Qwq`Y+#AyL~3Y;LA?|qriK)!9>DohluQ_ zniv+}x4-{=STT+q$NmeS6u~(NOH$i(<#h zVnKA(5|A;k+RTX6~frL%GBP z{rxL2sD#Iz6rI7emx_{~A?kP~_;;ERMKp{eG+YguEb-5Cf!1E$&b|%H?&Sx|=1+xc z!Z4yB<)_PvPBr>3_QEd)fc}eRFur&<6$FIuJ>Kr;t_L!n-8^yp`W4Fhs#>$1)tSWz&9iKW_*xlb_>3l0=^TW zra%v>>4CDQ6GB-zw3VKQkpsS5@Xchq0Q%bp@M(#xh9QuPdVQ>{^{C*p8VdLV{%lZl zgRjJ&*4?V6Ktrkt&x4qpAw4Yom84L?pV`~0sleY%wtE2Gfly~bT%3~9=wInZ`jxwn zgQ|m@cHRP*at@%9>6H zWu+9T&{s(b%h6Y;wMt)Qtw#l))lk3}=&PiP3jPj7`m#nuUyxIUzVP%SzkLN6)k%Nh}VK~5F=Vo%MrL-duF^p#dcZ-2=o;=eVD#N zO;!3TYdRs61zH-SuaXj$qpwhFmA=Yaj|x7kVFCV1s;J8q^usNl027SLBo6;=8QHC5@Wtm&}uXQdX<*R}hh zm*wSGsIx*}N&o+2@BM@9x{f=)d++->^X36>F!((HdEX@{4n#ttZAOH-vV}VmMA9TJ zkU?mQQa1F)f3N^oiefP;It7U%Ys^3v*MfFwExe{3XpNXqOm3hJcMYwX>{zBZu){4w z4iY1~ObT{T6}XB?ur6)_?=tIrzTM~Cci&(D0u)8lTM~tN_nv!x_UY5zr%!jEPvlnU z6A{0x5#bl;RKqX!$UiZLU$%2J{7P#$CH#tne9qqE65M0LQQr2 zs%kow0-r!t#_(%IA1;Gmq1HNnRkbdue`E9^;8$4b2QLx7LQQq_s_J^Ac)-g)pgrFMs_p^p z9xI%vK?hxob*YYBRYiM>ANN8(u8MwK75%s>8WD#FwK*&E`|^A92S?i7jt;YPp10+!AkLCA@Vcct5Gq$0=*T(Kj^#sgn`^l1^bt^py7(~ZtU0u6R zU8^v_0e9c>ePixb*3fD$iYIw-zZbt>eY;;(-mfYvRH%WC(j`MuQSGG8Gyi>0104T>KXHEc zkUufDziv--;6KXyIQDjN&Q?krU760~&}E%W@#{rLhTfkju-h9R{kTiR#U#lGjkv0e zRC){5TUQ1T(#Ku2)u9Ysy2D8U>cv_T2LsaRov$TvdLWhG*;*1u4AKdnsgimc?j%4{ z#XXI9TlK=Aiu|(9WJpOCEyz+H=r+B8hAY-@0sgOWYnV|?4!3+gdW+h}8k({g|qh=l%^{6Z< zEHWz9+Hof)`B!@Y^vPu>d7reCyiblDo_uorB#&2}-r0F48TD-Eom9oM&O51Obl&;! zvKAh;79JjJ;oW7Psxg%+q}bl&;tWi5Q#TKM!>3!ffuf!C@9GFB~6RcL`q zM(3TMTGqm+tc6dFweYF&7I>{%AY;`6RfQI)B%XJ6%5QW2Z*hZlo?abv>b$)=nH>=I^WCIPT1Etll{66j=^AIqGz>XyrKQ%zNQjleRvjTG~BwipfGP{n>(sqytm#xnAY-X2q?v;Na-x2EE=IBJ)`y6?ADk`40 zsp5-kN4&G*gH|CuTS_7HGR(mM8d(PRn-{V+SZ;!_NJ8C4<850XG;(id?t9#fOx+j_ z!shpMG%`)2nVsL`X1YcJ+%Tcbo`fa`ZkVvqO>yA55#1Ay=+lURV-a*vDS?bH3g>0!^gT7~DXzk5XptV&43qR0 zIgmb$MqtK5>aH`QFal)L@1@~TaTS#>(u4X4cpHsi+$>3RP#GtM5g?9zFAbAeLgOg9 zg4L7AP<;e7t0$vS8jcA|X6&Tyj^;pit!=G{M-bj1r4R82gEICF6RKp>Nt|eqO;bK= zgUzYE-3eSwYAv-zK_5~aH>?6+2?`k|{3OE5OUQ}-!a5Ae&z?}4Bv52m?9r8V3+&wU zVU3S`+LkwBbgJ) znNhbUYPO~`>ed8X%g~7#ZPF%O8=$22Xonx%o@dxSYiu)D2-7~I9-IdGgN?F6+))H)S!oy#l9YIDw#OzMpqup#@YSe zB;edeC-Zl>J)|=RgUGbs`_^2z8qQN;TsJqNE z{p0yvGC03Wmg(jfy;}!5AI*20WxBoGjoG)7?%td8ei_Sjj5XaR9RaRplWyt_1LaZf zc~$sWxt%b{UuxfxEXiR8c%0Ten*WQ(hAZD}hTBkDEN;R-@$nFTpG1M;kr$4V@QhaS zF%B?1&I}Pan4e=dafSgU9>w4nxoz5+d`%Xv0AaGupwhOg57%fo-+mlqr?U*#F4sDmIXrzR(YcyIlJq&?il>_~Flx-{D$luW z7uNvny25|qLIbW8LA=(bAn~FZZJp$-r{Qo74YhNB(GI$Y=-Ux2-+O z8*@|Ws^Fonf#YHaJ#OWZC8x*hcznelujkR1-X8l@CH5+r>LOsT=bzok0?ZCLmH_>-kc5hBE?Cx$%V|^ zSJ05=g})4?8uejIVK`L^v`RTgDFU3}a8Q+ls0WFl2ktf&_|+X9>Or|cgsvDC%I^$I z2H#Bkx)JPktB^Q#3`h*c0K0%!`#Dtz+MU(!K@3}O(Txmr`v*cSj#cy<9Yz?ZB0)5y zS4AgpSmqI*KWP6iB*?OntUnH)tIf%XVXg zMOS?Z2I?Qhv}n0!ZY#vJNC0{=Okf5R#I;DLwy}bgfZvOf2A-7ph+sVGyS`{t++q_v z*{vKYn^^0yx~jbp=0YP=met5aqDI0kj{5gE)xWjZR$JA#v5|gVHC?FQ*gQtTns)T>55{9q?sV(E-4wh)H2Uvs1(p0Mm5;oF+0rYgW-Kz{1Ip9HwJd z6bcND{AlIx2khz$8-TzE5Yz}7Su?m{P!)`Q!ST6Fo%^%-{qrcA| zrNEl;M`^BZ^2gVCwELwS)Z$wm~ zaeP%@r#0O;dtSfDGGZz@e8!jx+$nVGzq3xA$RgIkpRcB_ z;%5>Yhp^|5o7ZAd#x|?c)h2d;SteCu@pVw6bb&QZait~%SOJ1JF0|H zH!unMz0QJ8H_TDMas9L~38^yp9Z`ske4tMD#d^?%V*KhlQ3VRmRji-FNiA7dX8CrEyTJI=9ImIR z-{6cC20JDDuqkgD%$y*%9sBT`TgxFX`L5V!)ql!vkW9z|2B?dk&^{Q7>efU@%T$pqPa|y};Yl>>R(_yW+xUSr=}3;+kcZEQ(dHx3Z^A?jjE{T_Uyy7B$bIRjI?}}M9)r+f!_ zB?Vd!_E0ymH`E7>bEf>oXXr*FfB*BvB&lrOl)RR^>83k~!TF>OhqcRib^R1XOG{qM z1Aqh7Hc*A!7ZbkSOzoIrD!j}$3C9XT==>2PNrVTz5K@y+%c*uboHN^`Kpp<<=jcdp zu!Dp{eCY5yI;#~*P@Jtzn@%`?CWC19J zdKW~<{6VXjGnva*?1Dv=ciZLis$Q2(s=OT5T)tixZ>qc>7RJ=T(TRgoy)GeHUiLRE ziMW?%CR+-!VlLJ8!V*q(W+Z4@0xQ{WIJOtUwHS$uUj=oHIasI`4^^bvPQJm5KtT;V zGLRCiu~egiA@#N@)ks@N-K9vKme=T2NM&)yWM>PO-W_~2N4gH5q^Ka1eMvl21ob4| zx>6;tfq*Py8)Ttz`NQo&TE*=iCBB0dxvzZTR(K6pE#V_EfBKP<8-XRs5jE8bGA zCXkmPD{2G+L=bk1gTm^hGafp>v%5dRbRba^zmM5iu|r4-e7jPI9t$0ksR|wHUu%bK zmuAo!>l%kY>KdUIZKd%SgcyUBlnqzz8Vm95_G&d?(ryDmoTpWn_OIjpBi==-i)TkY zF&dZZ`q_G)jozi@3zk}&PcT|D496~JG{ZY?&yJ?>ext2ZKAkfT(ksoXqRwuxPQGQw zIl2>IiE)|A=7zthR6tk{DwWFWhO~2_AZgZ(3Eq(}^d3=CTvXV2L`cTkg==aRvv6(r zcH^-P+3q_ zk@;wh#nvbn`H~>KRS9o`m{RFi32#_}M?112((CHDpvn<;-Pp*f)^j%XToaC;kLk#j z%D~uLlQLbsp}lbpkiMzo&!TH4c49-iW)4D3*L*?ms2B>BN6AprHKWi)BmC)p&KFlT z6PbyL6%kQ=+=?=;YL+6YoKoaG(?#muYcvhIF`FO1F`I{b{rxUO8Qwpe%Hg2z z6b*LOtLxKzj$J!u!PR9VX!9yti@4_i9M-92sSA^gDi%!P+yCL+aClTab>W`F(p+69Q@6YzopY@?X zs}vUUUFuJN)E`dGy+3oIKkGt&`tKtCtRD3zi~YGN^k;48&uW`WEvK4(`0Zk|X$>!j z&4a2pyy+9T1t)bPU+<~wm1_F~Qm69`p1MJ)Jw%F74lHsniN9Ot}L zHNZ8-$0-DV{j|TR#23UN?djq~=xBq=B%)(0Y^Mr?e;`e{s{07P$6ID$!INx5#%G6v zA5u6ssAk98tj~^}V%YZ+S$Xtp%=yifk;r&TFE1}H1uugT{MHTxmIc54)~B-VZq#vz zxHpY$i5qoj?;5Q-L|=kchscRPD$EFQI$scNl=F2*VmG*$-A7aRJei2XUq)3;ye~@zR;6gIfkva03MQg$TB$(B zR;nO$HrRb|1XNqENZ!6)Z5&o1hemZ_{1n%}o`yoo?&FkxDT3XHPKb5Q40OgWBVkiy z1`dB6Y;Vl8y?b2)wQG4uPm9<;O`k5A_YGqMw&3oH(Q%m==J$S|~gs*;n$S(T%Vaq$l zS%@x+RZlD+K3u6ur?pwwk^FFF9{HFImx3Kh)-`;e@vXgeai z-MJ#Mga|boWO9f7hE|OKcbRoleUJHevEh|{OFQ1p<9D`XX5W&*-*j(F zbBZlg1~X+VZAk-9YWbAp?1bFD#Q>34_AOQpKn#aXF=(rlA!Pa;)8dzvl28?Q#1S?FYgPBvW(vV2<0jbRqQE1EexI$YhMr$frm4 zEk0j$%akBv%4%k@GHTIeR_Mnlnw5RaO`};aYt|@NSBuSDYDP;ETqgLp$^jnw<;M(W zk@EIxoZ4RN-`BqkH*u?!Yp-ppKGK?H%2n5tFuLB!a9!3ek8ah&^h zn(Y#nU2I0;!j%AFH?C8eyx@-$#1V$I+`i?Q5u{+>@{-dSP5p6yG`aExU55Z-1^X6F zO=WC?a1S;K1(h5IWcDp!ns)L^uFPJrZvhJ@Lvol7vu^=I?OdMRVb0CIh0CKvk5oxz z_JVy2C@uz}^l+0nD2$++Y9$U-v_1>>qdxwlEiX47M<^aKAOcSbP3{uMAEc zjAFzEqk#uxzew|&Jqv{2FCH*En9~9WjPXgILm1At97e+4C~hBk#(z5@T0-U zWF830oMLMAd)inPJYIK9AP&Grbx19n7iurh@NODqGkXy)l`h|SDd)9fH^M--Ba~c; z{h(1$bjePSxe6mzxEZoLVeCjZRSZ66+{spjzd{Cd-P?$!!E;x+Ss3^k4M)IFKTg0| z4GVCM>jbfs6SL_t#6Z_ov)ZezujQnS{>ZRS<8*@Ox(ZR{R=nj25cx`xuB%U&W!H6a z*C2KT%T^ayNkP+fU4(+$?1*G)Orvf%Q&8K2|6HP_qU79rt6~8%VD!AMi*PXA#&_E zUzfCHI|KE0_`c9d({)kbwClQp#IZ8v5{E+|Gi~;0G|v0p?szV{I_aYkO(qsOcesjw z5>F(i*p-$B^x=(R7&qvbVMJY56c!OwMGZ%~uBJ>seREXlvqTkYnlI?nNb~hwY=~UA z6e)**U)7FiL(euvA58uy=;@B+kNl!ZF+G@*#6RN=m1I!clk7;~Ak9Fx*%^*l!ZD1@ zgKfDT8&dB#!iLK>Q;58QM@at{w;@M$B^BISduCjYu+Nb+4>QtkL46Asand)thZFxF znz1r)25tmuluM&c3CN;NiKG-UiOFnNZChg74vyip<)|*Z@-2s5@5r`8=JZ_eWUp*D zWJ=F#(^;ETlj@y%;@5milG%}bH621iz23}smK0>qqOHY*na zupN~{0vSVV!uw{}Wt=c(%`GK?c^?nV9C^)_=`jVL2WAupXm%XO9Y1%n0ce+B!i1@8 z;|z<|ZsbJ9z26_F%<|6+W3&@tAC})DZ+DXpAm{GJ4axEUSwZU6w@%!S;5k?J_OX4PflJY{@QoGzx_z zMXM)W!65NX>uJebwG$FA7A0r`z=l>Y%j3P(7ecE(9XRBOqO!lz+V(bA9;uz8ou^YD z49Ai@%BGEC$a%PQFe1J9szo{sLYNkVgs>gYyWvAa8BP8|nq$?t3`kVmO1nTWe8u9$ z75oxdqN>NlEa#b!TPAxX=ZW;VoTvJA5L#lEW~*5!c~I!t3~G)qrC_qKWknIsCk0Um z0gqdICRn?6rJ4!tLFhvPGl?o__(4qy$h%`c9qM4zjEro-o4!NWyF!Y0Bu~;hYEr63 zX0)v`WGVJnP)CUzAQ@#tG(M*d=H$F00W%R8l#yNq0&jF2`@m}GkJYG{BqJ_>t*KH- z2~dz}RwQCSZR#JHaDg6=Vwveg;t^HFBBYL=ggwA0KVunv&6pgjjSU1Vi)5gRH28(Vt5w1!X?wYvBzv+Hpt7M!>_G z_;SNJ1m6T-dumj!93?)QY+>2!qQpNFoe$WD*PIX7f7hH3*mqaX2TlwNiZ5Va5>Eu7 zhC~DjjtJ0DcSJbPIgS?n1rm_Pf)S#py~I{Mcp@lzd+e z{{vpbn^2YDi6G5^&0aVsDWxsR|4?m3eMsF+EDvuN$B+XFQgQa;<6Z)v8qvFh8rcZc-(n3aYk)r#Xh zuRb5qcRTCBsiXcKTU^U3*nRtu)>pNxQY~|K+2yiY zIQA_ML(o)<5RLz^U1I@rUq=!U2<{-roAN!;qJD^MxRLDT2TkA}G8&e9zTETa;Kay9 zB6Z?6vZ8j($!aL?S#Jqh@l=6CsBzrcZsiAExo2J*s>hU6 z7ZkDPG%>1Nv?kUamSA@ujx2_MNVGVz2&!6~n{tjE$&N2e{EF9w5bR94Z{A1`gQ_0o zadCk;`;WYR-}zsnG6Rb~A;XE@WZ-nZF1!n?W-TKS@xsNUVUp;NuP1w=ad zs7$1+5BxpF>Yt=9?lxpyB^CTpnr)@%l8{J&Kav7I{)l;nu*;ZouHJQ%<4NCmCEALC zP#F-VAZUucai*iB71Mb_;?2BsQE0zEOuAMhuDAW2U8jaut&;%@$Jwf2GV3O&FFWyL;B zd1Hb;ZQ@_x6phxjoYg*&BtHS5?Cy0MBF3_S<;BU$tl#5MkG!$oFx%3B~V2P zeV*h#19IOWY2-5?X7H9i18uvx-Hgg4_ge+gX8=@=E(6ES3!v#u04sTJ#`c@;mL{tK zxoUc{cI&Cay#!}YZIjHyHh6RTd#>*o_WRaNJ|etVx01W3t#%FZJ5)y=qVZksrC}q2 zh{JGedlqD&74|GU<8+CDlsM_CSFqD&1yiD%CL=lmUW7NP3>Gm?j5#lo6O-#viqzESaBDf$wjB&As8L1`I99zy=Ld~&73SW_$stB@`^t;-bP|4|*D^wLa zf$Cg~ZhDWiq})(-Uuq!JK*tny|1?I1r=$s@&f};WWKefZDhKpeg}NtI(kPIUA}q+c zMd};ZLmxNVq(wz7gucc8wQf&`89}3RZb4-v9WF86QZSw0GpS)ePp^iQlU2&gMDVd= z(-TUb~M@^H_tW$ zW%8~XGtahNQkg;?>gL(z94YpyfB9&ZXnQlL~c&X_&hg#2m z4IDZB3*p-rem%`L2HS0vojteRmRZekfC6-(6Rxfooq{qEj4vxs@My-|S$Q1H!5{Qk zv)G{DwEZe zQhVZ)ZYVj;36BA$a-0M#Kz3Y zQMMyF(zGKOD%_ELy$R28yX7R>Ehi$M0U)YzaI@27tcmHAl}ax7)yGxjWUHw6JSPh?ICqB{)lKQPazm zV8|LLg&BR12DX^xax>rZJO?h;HKfW(osrRnTQyL#T(+|~QbzIlEF}zKPDO~!M}}Lh z(@35)K4I-UhS~W zUhQ;VaU^mx1)wzxsYg689yf`EdZnFs)}~;xI%`{pAwZZm3Bh6bvKQIiw|Sn3M{SlX zv?G)^D*(p&G6pId^9h?Z0bX*drcBd`blSF~wg%KhbH&k*j@rnugxjS9Ue!(N4B3i} zW}0~ustT=r-n=DRXm~*m6yl7@EP8hztXAAVMh0xKPlug0WR|Y!;yIC{nqyY;63ptl zA`5zDdc~27OJUJ$#u)Q;>Ld4{>IAF5n&lVHiJ8+K3A|N530={lnH7UCQ#dYBzKbXG zmvtJKv#h5{sV(`qz>fggU~QR6YC5TRc$b!{tO_cr$-5`FApsq9<0cub44N=*X_ELs z#X>iXS}VZ{;55W&PH>nl(FZVPA58us3uZ_1o9uaDy`#lbY!1t%nhG1SP4;H3Ak2!g z@-W0g6O!#xC5Me%gjJ*+Ev7Qf>eSjibHg$^WaWGvJ=?Sea*!lC$3=^Ruvd7{=?}dp z;B50PmQ%K?an%dT&S^&rir0YX3-lr`iUn^SY{WQ*)-SuJ+P0=R_Rq=-$g;8g1ucFZ zyi@*PHb%>ejPLleLUWh}0(x!B$_iej*Ku84^j_P-`twFuS>0hntE*aB-Q_Dw^HrzX zmtR}L3sFO0Ft)asBvA|_NJrbOeG}J(YKZGL zV`2%uGPQFVA?sPIa|~JkxUnL#YL63%{%Z|GR&7}r@0mu?H)M5mWmn={gr>E9V&1=_ z5h&S+T3`a}=r|-$Okh3TT%Ccp5qI?*{|hv{>wYO+84j3kWW*RSO*fkge*4a2Ptr5> zNsXVh{$T#j^Y77-h`@>ABDISl^bC28OrEHfJ>g{u_qHSXRtk+b^mFZ+y$73*Yz1rvn`Z$y{0}2 zXkuPUywcQ!7Kni-Vd8R3Nkcpi`_p+rt^GbWDyz#(rrTay=-JiQMmMb-;Qe;$?tk8r zxR5NM_*$E);}PvdAty{fi%iuh|1Yza8k?=(w%H28RliXt7!TK4yCKXOv#x<5eWYY? z+_*#ttBF|?G#vSaA^tL%?Go{;;>sG~Xly#0V@=n_cC0owd3=M7-?)mAWsEG5S#*Ts zRyA@3$%O!S#*l5MM<6jFh4@|hs#!;92b~EtS4501xA-6iamAIyARF!#@My}&8WuA( z`n05xYp!=Bzinig+2BA}i1qPVh>%G*9Y#4LRRp14yv5DdA}Wi7$h7qjtPr|lRD84G za;5G}$oeOl+K8#uZdQeir{ty$HmovDZr(swLZc>&`=h@3)H_`Oap`-VC9LB*9M?~+ zW2cp`=MT_EHt}L&3H>@t0Lbd+m599^MH~s}!eEV6e?2gbBMktESSD&xV+#Wj2gP5O zk*Q76NIPx3g0+lbGd358Rh0lBusUJ?rImTbAuAUI8|M`VNdgeu@LLmXtU~nS%|8hsg`cC2Uf(^Zhg2{rn?t)E?FLah~7V3fxJMmclLMCto!6ti8 z3pVt+5^TKJw#oT(vx;Uy5g82C*$>)+YBRxb0w){VGAzg9w<*{J=#^|wH0OT`PU`o3 zfFwxuR=B>hU?Y+!3$GgCIBRu|A?qJ!D+@MO&XM)C%mo{gKvwQn7$NH^@1%A3JLi9aM5kadyQ5H@*k0v zZLlFLwxEWrk~}!Gey5R@GdhD_MAmNxWIY}r`L>bOBn_-(YRG!b>KsGXZ>)^0N35J9 z>rqEmnN)$SN9xFW*gI*+`b%$(tk*(Yk?M@p(p#8_43Wb&?oa@jChL&5Z=33`UI|@0 zCU--xvvQ$Ue!c(JYt_YA!Gks-j;;s2*M_cNis;I|ehgj3 zJjc*=Tt2uwWtD<&r7a_pqoTErA?u%~PFXL?bwElPD|{s(Vr9Z=BHINjAMF?~sLF9E z;9rhBi%c*G>W%YO&T;ki)JWx7lEBsTX%SqNz!k(XuMj*5V#Ob;`^)JoTdKHU?DL3f zY`AJZ8*UyUZ{~Z(v4{sjSm0D$8V3DbaK5mS}s23JvEEB$+wgHfUld1y=MJaOqZk_EJqijk3^epGSW zIO1MJ@QPMr*`85}Y1}S0%D?r6rKIePZx6AZUs?CpBFcZLAaLoE+{f#`@S9aOKPevX|IUWIqTh~IHa$*Q#5IN)a^d2 zaPxe2zm%(1HVkORvb~We)mNPpFe?c7CFf+H7Z&-~(MFTA?P@ZYBED)ROK}8mO2amD zY&L(JE>)s`zcHT-H;<&Mi9z9C)p4C`3}^Af+3chN!2Nsd2yD>;Po5Qr-g4P(LDE0^ zSI^nA&(cA&sd1HMJ4Zj+$Y-BN+ic`jI}0D8+6}r~rh8ST|CNuIS+3SMB#xN2aYVH( z&45p!h|y@O$9I+9ph{jNNo6AfR@r9J`i%Khjq;ol;OQ{{|Bk$%WUFlwfc!@i#%qYc zuCPR!XEUjN3f#M;T4%ggc8RVYx5PD`h}RK=s%?uwY#U_P$dRzB2D#Ch%oG8PeJf|? zzQJyKY%4c$jaxa+wpl9y+3358$=?z+WY8xx{+-b{`@J_bFD z6f{n^zqvBqK4#^dZolAk`v^(E^NVLqSyVqCz;<%OuJn#)kWLc_GY zz*C~m&`ubyMrvMIP+NCBswgie0&ZH7Qn>BDpf$p5pGE1}C_8N?C~ZDlr+N4{M6%~v z7Vm4^w~ZEimq6~0vUb=L{0{77L}%6~&A-ylSQx4)rcatzr%@tk4M5{CMJG5J1?YIhPWBg|1pX&{>q$Fw?*#b1dvzdT^P;#5|Sy%6T)d(OmIC}sS zFVWYS*yYrJ!l=J=KGZ~zBQO!p&5uT}?gy)6O{v)`_(&R#30R!GWG5mc0v{D+EAes( z3r2NJWgrvRsBCyFNOt0s(o)skH!USfidM!c&QEJ4m1jv|A|5q4Q3W3fRY^z`jCbJ0 zStB+eg`Fl-6yWP|Ohy!;sr`425~9Tp7@d>x8YM(}X}*ng$Gto`8{Lt7@-5^;J2aGu zWi0DHo>unmNO}^TEsn_(mmD%&SvsWnUy^jFbAazoI;4i0!1|Xc9acNFD@ljD_E$5x ztA_C|8$<#VRp2>fWCpg%irWL&T{4to@#O`>6zb6) z6AUrY)7iwTF~P9!iPF@(M+8ID@rM|Lk+c1B&!1j&PnQJ}iO=dLUb2Km)_XCZ@Ei@X)C(kv1sookiik%Yg4&5k zAHo8R3v{#cP3U~QQ!Oho{;k}aGgS_jW<{)nv{Q8?}J5Oy3V!ar_3?)%v!lua=uN!tT);ol&ESFK$SX`am@l4(Y z`YOi<%`f+KCTZ4awpdFXtZT>4uX#Mkxpq!x)N|QDdnZ4jVsTNnsXYddW^d202T4St z6A0u?Yd!$Nji$`O!KKQDplREhXlo6q@dlMB+Blxl|Kk`SwzhEuRZ0SCD$HpicYt`e z6wh)Xh>op+f6H&=P+ClBSF^QD2cN_%fIT6{!~4qLZx3#npp|i3aw7WAB!jQ?U zfixVR>XHvcM?ZE)wdJ*Hv{02=G<==L!jn~Dy8~RN1B{T^Yg%wfLEbs;o>o64 zGI>8`GW_Y%Jf&LhO-eK~6nuh_Zeq^0YvJ%x72u6#E@A4WZuO=n)xxM$OV{g-H;t*s zgX>FbptsMaV1U^j;^wfoocew(dx?@#c(!z07}aqduZ~xL#VD zgz^Q0q;~_4*rQl~Em$sVjp`1$eJ*!qTYgH>Qp``@aP1Ai0GQ!|G>7qxRL^K_g8g2U zS&<~W7>5hYDPWg9ZSlly%E?}WWms&rBwLcj=G(K|fDJ!W#N^&86lptoK-ppl!#BGK z3S~-59{o5rh7|(!gaBynpwkBMh&qKy-Ys3d4MI}^_uI*K&5~2K)+E8kNhP4TD$&`k z?%?yzE99|CYD5SmRp&#eeAuEf1;p%Dz8i>m*KO85f{wb*dWi#JbPw6GCU<=xYL^wd zEs>(<8dv&RC{>4*&h2$$D_!0{P50;*r8#aEeH}H+8nes@_0ey?!clAA z0I$5{!=#(MqGll2tAA?=YQrmy4{qf5S?`3fU7$7$OUmag^(3iGuqFV!OUk2`ddhuh z4aZm%`p$HJnpxoI8F?44fMogz<@CuB`K)1Cf(s(})iHm~P8sT_GQm;anjQ1jG<>oC zb&SMyM6nBN-}=`fp9X2;pm*LQ&?De^!1|857kgs!RN=c2RIEwU!dWI@bTl_WE@eX2 zgSwbCtGg`9fX2 zsFUkPaZ^_hb*Tk<9YP!u(u04vQ4MGKw-#~e0^(2`BH0#K#FlU*5Dkr>aq~4f6LKCQ zXM>y#F#@8*{K^vX7{qofS!vgDp-=>EXJPkdtQ`qW+&d&LDv7PU_}o%5mn0uD*$G+c z0`EaQ!l`)lGDYV3XLTLfQF2m4&a9~{G#hod z1CPgAcRTPDufik$&8Z-|B8D+HBrK?ExP?7Xk=~Kq%PVe^cTs;%WZ+PL9yaCN_bjQ2 z{6i#L3(_S`5fM$r>GjB6xWlAz3CNa%Fq6O{8>9(8R-CY7#YWCez2yXr;16P2ZRDcW z-f3JEVsE000^Qg|UKIHWv)U*Vx-ZVEdXuQNMi{dV?F?G$mWRJWPK#B!^*_NsW&Iyi z)|M-@%BaZuI|i$R>2OjoTV#a#T}Y8l`8^;|%w=tL0=4F;%0 zMX}4*x!%MhQQJJkIvxQmF5#)~<)R6D>b_LU@RQL9rsV{on^NQZPpn}E8?k1d2( z|4IPq4t|o-VFVgX7=g{j0UyYdfRPjT`k2S(OZ$$?fAxk#6>2!l#8ow{FylRK;^Pom zv?0FXlTm$e#r{t-(SB78HBH&AJ3bhPxvFEABTQ3uvK_tp>Hxl`mN|(lH3IdmF+@_x zlw5>t<36P=fbIN6yv&W%>6V2gw{tv;NY2@wZkNWX6RK!nv6aG7?fWEXRIA-GE{^F= zAh6yYo}r|&?94YfyHFi;!zd1={$qjRp#TOYhy9Y!0;ybxZD{dnVsf)Q>>4L6dC`2W zbx4eUM&WH`f?A50Yj=m5A2h*Ubq%JswCXnn_078#g5+~#ZTim7+H|_z&<^m^&``pI zJY*HxmRj=eHL!(-fcBU>JU>eB0Ttxm*g*O6FE1s7Z&kqnE52qJK%I9vqsrABjk;(Li0#(DBwuIM zHng=z>Z}9xG#xK*rxe7ad{!&^42*E_s{lN5hn&zB2W{V?z;H0{XFV{CZK~{w?RNQ` zC)uW~t%y#~q}q=W+{sSKJl)8Ym(s@UF+L(<;MM#4TwYzCW#5zx{(wiE;=Q>!u3!W; z+U5Cl-;P8iSGynlo8WeOvR#jPlgn-%Kn@5&rX2dtn5Z1?-&Go~`^sDHNbLNpU2?Uo zHwkxyD@9{vZQ$)7@wDw_+qQ#fYfm2bFY3%|Oln)8wCi|$FVt3?FH+H%6jFcrUI<8- zhQM|o>^1JCS2q5jDGdA5w)PqaQxn1{0cT*Z!8K@FUK$BeCkkc~Rg@1ijlr?36eziFF1L`hn4XnB;2Jl$WWv2eCR;lKAr z^4CJ6**<~U=ddk&XC{BxCz949xViqy5fd{Yt zY6kN0lBZFJur~uyUXhZ8-z8U{7^WCZv^dlX`S4#BejQR><=^}YD1L)?m7OiO!i-Iu zZ5-R>ZE=Q2`^Gk*)W{xC!M3$R7T?z1OIz$jw?SfTSDU)xA!r=*?K1PLzCYnZc+A$Q ztrwuAojuIMD_Mi;=f z4lA57aW1SKfu3fO(it?fQ`32Z{3LjM2_)pG^E{lAS?joq7))UirKZ`Nb#+r~OweR^ z5oD_bhDAaZ(Z#pKUGIw50V0sYdSnU2U{h@%0hiJfcd^0marP8#DUBQBsu-=%QF;W6WQWP+fOvpX4HS}(m*}_MKu??OPe`5M7g!aO0dnl96m*VMKpNA8lqW#? zGqfS}-y>9-3;>f}*Y3QxIt5i}ZUj>PL%lDRQA&NNl=w>z2fxfKwtAUVd{Ro09h_(| zNZwI@gyN<>AyT;{5+iYqd9PNnTL<&dgC7FVOr>BHVH6lhOVAKrMj|nijpT#3r|B7K zqN1k9)Sq=tPs2s`E9o>`cu?>k!Sp}8R%-CJXHZurPbOl6!U!`F z@RC#(h2CMj$24(>shYSg8q6bTMkk^!)aHtalpY2#D7_36U6@c9F^C-}QPkp!vnX;M zXHj#A&kXzcro;gCU^9;g{SnHtz40V{;^(nFXdarP(aN+HZUlZgt7P@~M5ThelUD)V zWQx?eB!Xeb>4#A+r(y4X%C*4MiE;;YfNEP@+>4h`H9&JwQDiSe-4qH;F;|14Ic#pP zN!@&eu3Sprr1mw6Wyl(-oYcM|Y84iP%ti)9{w9`_KN(|1ddN!A+1U5V-wNcfRa-dP zi@iPaH#+Nyr9K|DzUGq%9$#__8YC`nTy5U~Dj zvX!nlvSemosFnSL&SoWjhxN+|8bNY&0NNA>eUu;A>?6)#d@F7eHBJ0MYGQJ8E_)11 z1TymU1YzgFP-RcFCBGw~`(6OPPMoHH@uel)^hr8{Vr-*|JO&ojbGSvXnEs=K^_D@E zmq$UIrsA^(u0k8zvnOuPo->-$G^1#0Q|miuR69jp52p-Iu@m_NH>Ip^j#RpFv3}%i z0@v7)vt-QJF5=QMO+eVwsC}fjm~W;2>FWh1R8kJ3sQ3Rlq{#Eu(KoeGrNb9}qiXQ0 zHmcTJT|Mv^RR}kd^6%;d_6JonaJ-RU^n121D(tM=P_3!xyG`2>jP|KbMP+Wr<5AnE zYABAhx7l=OT!Q9;RL3zc>{AUD5HbzpY(G_DoWbDxc;jkQcwoeb_Z;55{8jMg2k75> z18)Q=7yvtf%;F+#3X&iuUKoSLkeZmX@kYcqi|nP{XjU#+$_wUorM;4jjTb`F>0f=s0mVxCVCgJH{1PgEC#b7hI zUL_5t$417FA#&D{TFNoYQ#X(dhLJ}EXW&lML4!NHdA@Unj7MkT%D2FjT% zG|0RWOjFsbs`QTKb(&UT@HMKas#k4~fY|&z8rt|Nda7N3^-cjyy+zAY8%7d`0a{X; z%Plyw3&TKXreTQp_ADBE4}KL`CP~{f#HA-B_w_`6l zNL9~HIC>+Er+`>#JJ~f@zQ@X=U!$s95-jT48gpC$cUZtp8Nw^FdvZc?e7>6b*%lmxynmn+3m= z!WI;Nw7|6lAhUK1RmcCzT=#71F)fd%fJB}E0oJ^wApgY_v+jjJq7jC0OEj}D9CDab zHv^T+YWb##OT!M2a0#UHP0&Dp> z*+Za5;&Hn|Vz6!XVjesTFq(k{pSQ`|NSIDVdC`zP1*vYqK!0VyAfYt`_BzHgWC>4F z1X$^@*9ag&R+3#q%k3pvW-lRulti)^bN%@Bg<$KVw^y)pf~}f&n$_~F&5{xK}hW&N1haKnbq z-i7I{LI_9;KSEOwOqzB6qIHWXU7oj;8rnxBKPwbxg`VJ7QUOMn))679_GmR8b(T6} zT*pi&N-)Ms9ZWG4_FS}c8_66k+{zCH1{T-xNw{>k=YG^LIkbh|$1A`i95A^kXs~b5 zByu0Bwl1)DFv_OI&2A0!e(|+2?Q;M)r?s>Es=4yqFDxnKvLU-zH#41;+^l2Oyg-JL zcLJuKHSYxUf;I01CYWQ4tUOW!;Txn)dgNz=EnX4~`5-V8sGt&sx(YR^fDT#6SNrE@ zcr;6HfNN8Mx=|;VDtd$je^iBssZhg_$HoQya#qg9(S~_AOpdTk%X!#@O75Z}WK`2I z8__8^9J3R$=HL#vHn%9`1ZL`sRW~5+E^;=Y%$#zNQKta&7>q3}g;xy72y3nn-I&F` z%aB|9#Hd1F@rDGEo@&Ex#GI4uThD&;ER zY+Es{=T-SYeVPKG{NOVy*m2CLOQq6$+RiVvrUV8l|4q04R-M&oVrNA-cI^j{ns<;i ziqGN|q@V)|DNMUA-U@G;bH9MbCmKFN%IWI6)&A!7BmY`;G@ploSvPup24-02t?VYkTO}l z>DbJcT1-*TIp=ngK#d&A8HvEw+7_EwnvAS#Bm#l~pZc`;m=lOI;{@W=7=b{|mc@+& zCBw$y0C?(x8qoS_sesIe49ZTAZ7v{q)fz+NK>CGR3RHy@2wu#iRdtrb!DH(0a#F`C zvT@LUZ5*P+sf*)RMd`>7rR&ghcfXmCIPRMn2C;lZ(cs6{Fnxl@%sEq%SZZ{Uzs`$X zrZOx#mliA)8wK>q#i~pMM&v@|K=I72wvX^*XIB<6&VdGjiU5(Ch8%VN;6MY_V;;WK zh`n)db&&rYUrh#lVR6Z2z|lSelD2FgF_Gjf(!oDZds94#Dha5)A527+z*kZjaJVDH z{Q+bLMz1-sj}Nl_>it{;#tpH%)dHY<-`?JVGH95C5~NE!kFO|N-Qofp;6o_ z+5E#cp#ev9E1uJ(a0)L~rf7Th-RLo7$-eh~B26`gx;92S6+v8d!YZlE4l=LAX_=^$ z6EUo@G7fagH=kP)=y7@a+nS+VoqBkAy`a@QRQ2zsUiXD0m~`u&ZD}Ck*D@H`7SO6O z4`IXFw0sFGv=3#vns%G+FqC!b99WdwlVg^d;_dX~>09}}i%U)UxpiO75Kn*{{0g2g zWo6^W{%4tu8*2;I>8;Wh;qV}w)IFtCwNndA?`FOSgsyoQXWo;;`1wZKtYZ*pU>Ae3 z3Ho-L1!~~GBBx!6(2{zB2%QdDG%h=f*6^5W&!MmXEw8H0w;Z4(0JLqE$vP_M`&Ae7 zb!n37*U=&rTf~f?l5L7OZK`m-ZGPnZh{{X;Si+dWD~b(gQ)JSflzT4sF;U zp;;C7TE?c&YRG6gsLo2loTnr&$hL{@Sw}6m>THTuVS86SaW_lT?D3@PQsop1m4h;) z{?N26M+RSn=GqXm4PHHX=;p||`xjZYOgsn<8HW8P;3Gk1we-YpS z9dADg@%|Ud{#7?LId!|z|5_=V9UPMUz3kN&JVGw75+A@COsW^u?fv?Wx^}?88j5pOOUi!%1*Av_T0#W?74mS8Y*=K z#qZFWGFX@EaiQAz$Zi?ZCkua$o5b|-SPL!q6BtEkGP|k30%^`UY}J%&3aqQ!0hcFd;5eE~Re{bx>VU5EPj^j$>bAA71Zgu(1GdYqLIC}wLg+L|CB5U?fsUZZ zqUnO?C_1!L>wxa?x3=JD#zU%4g-s(sK3z^k22!Spbpi%qW3EBM;;cHd%#a2C)qs#w zk=bD9+*D>8b7sw!As!Jfqz@-$6TEF`k@L*VCyqdEOrVM3Cm3MUSl$z+17F&tY0%vE z3^M*OBWpD)re^a12C~}@paY8kgh#1s0tE@v!&H!cdv?HSE>*?}RvW%RJVY}JF=}zu z%tIAAe$q5M6LG%Kv4#oTk?b{cgZ@wL?kQpjrMoCA|9xdhm%h6thxz=OX zCrndmY8_0|q~2&>qSk3Bh>2-=n1BHq5?(`;pI!TT@=im}VsyMxCdppuL{#fwm2PUC z0aMuUAoe>ktOsZf@fTic6yj)3D!qnrvCeMd!7&0vj1&1T_)+%yv-;NDJnSF4Og0mDG|g zFqfV`DkKWAp*e9E3lT!0d=1=$?Fy2k@I3J-Omg zj6zv<-M%HKh)@vc7~>!uEE(A`1YO2)sM_e7n2tvYFy>-ucy|V*H%`J@vfw}=AIqN@ znm|CYj>xHfI9$b*G|O0=s?$6jGVN|Zng8;+|Kk_`?8I08=)_aKpNHCuiwvBJXp1mp zyl|dZUR}~H#!^Sok&VbuiZ%HirAh-g#jdSCH4JveV3p1GrvCiL}vf` z#-(2eUzZp;kQlj%6-@hu?NflFW(~ypX14r`?OXiI*VKP2Hq3k&$+l#)I}uhS+KI4x zX&6KO+CQa((}Nc>Q9-U-*Xw${LIuj>dQfdsz{|f+lCaSb=-Gc( z!xBm7!l6I(ENMCRbr8NDrAXOg>>~`T;n2O8L+4W}Ha*srKUR_mIJ3B7WiL0f^z+St zUP8scZ`UoRga6uomGZ4@bq~B-KnNq$h#l7qC1|jS%xcx01rdQ1bqZo*%(n$bmbcU;Rp{OmB3SS&E_D>8uo2_{fja0$?;KYA}U#;7T}o-t}F znw2rKKvPFlE5Vk?6((GW{r6lyl1M2dV)+_GNt<<$4fZEBj$0r!rL6bMVoBgS#}(QyMpnqm% zRs4xI#QHf?$^kG}8_zc+dSe#ys`{+FAN-K?d1Mrq|1eM5qDcj#rw{Ywy1bn{<(76E zPa7FW1}>0AI{)5Z_rAGykzDGXbAzbi$pkGFgyrGmYMJWGTLmLk;Tj%2sSk6i8#e6K zF9Xq6v)(UeSH$uPzk|$hMWnbC@!krJE=9ce2pav3u_>s~BVubN4V&2W5^PgzEfb1t z(_F=Aa8%VaL{!au#gk&w@J=WoUxU6--8xkRXd6b-7XS-x`xe+dW^#5A|y7ue*;FawtR^?t!St3{4{y9R?MIsV*yJ(3R~%a4@w~*n`qs{PMgx8Tx%@kgtou|d6CFoa;3r%ew2GAK9BmA2 zxCEiKF(7fhvKa>mcAQN@q``bGOmrPboMQ5t8-}x+q+OlcZ7e3`iJgI$MTaKnk(Rd| zCdCCWmF`_t7zv2GUdIIMbUf2>5e2p+mZGz$bH5`j)mhZWedX)C z48G)B=Fu6=C1sv7rX9*0<;BYUCzXO+2(pW@afWaSTA-9>=~ifAS8@w2VkkjB!vq1? zm4gu)Jt$>+QX7LS?7)LxU!ARbY9Kr~6=L3K?wKQts!+7&?V!0K)o^&!&mPV`&hdK} z*-%at&6rK{D?z1285{a}6192uqAc1Btn)$e|HD&OoA@=}XsqPFYwWD1SIc z9W11PollR+;0)W=kiB1dTCV2M-A~M7UyfrnLCAkkY~`b7r6^n8o}huA5S?GiEUHQV z0+YcP1a}<#nF9GovybdM*;X98pl3E^SMM9Q?UFaO2y79>pjKBz^^q*8P zoLZF=a{OLT7!B==k7g)0|^M0CS*Nm#^KcrLw)TkPeA=BwM2429!rn(Gw!p zfI$a}*$08}x_sSyN`VJ+2)5Xyc-3^i{y?!lpWdr=X)g%1FDhx{Ufwr8xUUEABI8WH z;XtuDpRtVgLPRApZq7IC)kiWy4%Q1uG;?rqcs+ME@Uq@sauRvrA`HIFLQ3-Cy8L?j zJ4;`8l~0iu5Nyn69-yv`56%`G(U3ZwuX{j$s)V)q`Ue>L`YK^fzTp9exj_kbNS2mQ z$pDaOEsOa&W`T;C1s$Ee)hulE30UV7u)!x_{beV>V9f-~QrJ@OQ&-4QF4l?4|!=DJh5L(U)KYzaZ)2H~t|Bo65!C zB;l8o@D(L&Dc|@<6a}`$2IimMv!f>ijy=Gc9$JcCyE-lAu5& z!RJLCj3x`TbH41Cua5;=5Jo!Rx_vPZSW~Q4+KeKV)ZopSeKb-{d=JfDj(!$RQP70G zdgvdM26%&_Ru)kW8E1tz#ly+&g*%l?676nAK7U;gFKHGe<55%?D2kHqTk|&$_h2=FN#A-@Jce=T6FVulkrgZHyqs01w;Ps7TJ$wmDRir!*AwYW#L!?>UX?kc{8vB0J=*$7vp z@j@EWXy`$Q!<F0{i3y4pFc3C;G%@8 z9SA5!moY|xfrXi-m-#B^6Icy0y8_Rn{9qaN2n_)*L((ok2qN5GASB-2$Q7s#L{xk+ z%qWHf{p{o(QSX9JgE#Nf%%}9yvll=k>qhl)iiG*U2><)Y7e(jmT{GTp(1}oe^q(=|2B~+?r(rH3vDHJ8U8U`^JZ#lP2L%ka&ph{$j3xLIPiD0Ad zKqnAhf2)(FPtDk(K$y{@K-#2L$)kqAl3xc)5~3JuNbDBfn5Z#?)Il*3Q^By9x=}TG z1#A**g(2PMRjoo5B~&#YVZ|$h&C2UeD6fh3WiBPQkXW)LFQi0#kyH#s_0F-rejbBT1WeHDfc4DJ zu40l@oBabt??AC8@9afFv2T08E5i>}gaQ47FCI8hOj@?Scz9DeF_qZfID&m7Sy_zA z+RFQ6rMZrk@#Y^KllQw^b#fF%^LZdCGPvDlm}`ROLk8&sQmn z4fIqB`D}#PO0rMZ7nC)5YcGF#4?fN-Ll03*=*^^!pvCZF)2j{?t64K>RA_Q3Euchl z8CH|se6^Zfjs5dFRSc-*%c22`ktj!vwrQ!q_eHXu@oa1`)S;HX zGUy3FL&xYv)$)bZrUAaAYCHKr)pGpJkSN&Q>my-%V%47aZ0)?KMkhkGZMqmL4ECjz zpQIuXjg7b}YLoSI8mtZ1m#c`hkxFA~&dRj27Ey&q=-QOP3rp-+S-e=ZnLX$!4D)pI z)zrqc%gPHj>bY1F!Jk~OhAyEs_&bt@!CA|Scek<*cq6Nhpa`ZHb3+HnZ9OD@skGn5 zgEDoQCk)Z2AT8+mn*5n_Q#(@$G@&=)9WUm@&a^5m5YEo*+Q!vD|9m!E|I}*HptDYc z7~T+Gs2@{o-=E z*XOCyO|dF$EwubbRawF%RavU4+LQsi_#YF#>G}PI_L4HRndP~~R#2bwUisUJ4xk8} zE(JpKZaik1W&5)QfdMrsJ)J)CI-%D-mE^7aI5^a$E_B+4qV9JI)TB{pA1P4kWl&s4 zoR`h{rUk_5O`rc@&(o6XsTLS(A^ARF(uQd^{3Rd#T0 zD+TzR$Lx9;6gv7e2F9Mxs!pJ7zD-RKZsXI=_@u}L!kk=4mT1EWSMs<&1V>Pv$>(lw zVXE&eDboRsBxPB3lZ4hm;TT*lWIdCF%oQ)EaJEGZ^c16<#uG*a;T#37z0xF5 z@hO~Brt5+f?`td|m{%!BfaSH}5Y!q9y7&cHXtF$B2N8Lyf`$3GWm6TN?B{2S>z*%W zica|vtj@5TX@6E$W;`rppI}*OWzx?{bav`r_r+q<)9Og4{3q!>_I+}nmKR^UxqoVw zba_(c^zRa~xB>e-|s%{=+N1kuqi$T_;&t->GT6H;=VWup`ft8{2qXHc-Af+q0MRBrwW;KFX zR0`3mImSZKP2N^hJ7D$`%m^6-DKkUVJrdPBh-<;y;&;HOSqa};P&xPdz3>8Clx^h# zCKR?+WP%T6Ve(*fqetkhPpPTmE~fbm;JKTH&E}Pf4;4@IQuV^*el%i|nS}VD5bRh= z=72`od@^MDa4{Tl*aY>N{lz2)9H2>??t&&MXwnL3qJ0NbYXHsLFBV%55+JJ;a3qBI z%SqfsKCq*s?E2@}(G_en=9ntztTN8Ri}+5~OTQI{7kPWPx9~W;LLF=q^qXIKK%V^# zAa}zEa`bews(T{Gb;Ka8PTuhJfnuws4Kz30$a3}1a~arjWr2PvODb%j_xcAm0NvT) zCK*ja{6ZNgIx4d%pMALBkk@>^dAJpN4>-s!^Ws9p#?Sw-4y zIJty5l^0rkJW@R>1s}5sz&VtlBzdnV05U!7r}k-23M_|(sVIkAOL@0K%1)(2=ofe5 zq{AEZdo~^3sNXZ`@O@O!z8hu5M2>$3BxwU`dkz-ZH>G(BKj_1L@99s1(ydSQ+w)K9 z^5C#Uy#tv#P)yS<5ZL;#W>t(O%_-IgOcc}DB&>P?K~CKikn^q1B97~;30IrQ6-1n^ zPRX-U%FI|@^Bx%1W@SE}eh!owuXDJCjyK99R0ksGh1ak}*^i_Ti*p1?u-N=Cwanf> z%bYS%vhPA!_&N3IK`eV=?qr_Lw?a@J3cI93RGL#MtHXKM0txS{CuqlTV?9B;jT>qS z>IVWj!Ev)$P6BQXfL76#xC*RVD^B@)1X1l3Ny>TYy=z+rX1L6P$vqH9pwn{u4GXFsPd z!yfZ34-PX5vo5qmEklYuc@y``Qq4t)1xR<2sAAB4J#mZ6EDcb4eQ}@skMwFN( zN=MO
cKnSd%}`^(RNW=PD9VamUzp&%D9Z4`f9pRaceGlrMLUe-I6qxI}Xv=g!U zB;N?dLu52@Wg9W2ZG{#$(IdJgct}v*^f|>4PDs2-iQ7V72f8atQYQqXdgbBkdU@tpW#puj)2&q7eYO6P2il)MQ=h+X&0D^>_Tju{{Otxd#$qN7FHO;iZM#wWp-I?h*N7I z5bChRTqs_Th`zBVb3NPU><)L4NaiCzXw0OeKP#qso{0EsxM!^AG`0V5I*7E#KILNDOAMY_5{FGh1=Q#@|XXMiW)4smMyVsRbk4;((^ zWaA)bku-gN?c&C&L1MxM{w~u^=Z;#)Rprz%l{aIKYZ&Rfi4O8(|gc8@@ z*t$TF%M>$DH#c5bXqu^Dtqp=z@V4f&uzs}>TZ~;;WeHQC9rdX+pQm~^t2}2{tfF5w zWLJ;^Z8xzNkP8eyYei2oF=%2?1PS7|1;e10`)RhyH^YEhJ}>M@Wju&((k-D{5Kh?|Nr@rLLGEVbNmfU5{4%3= zpbs=KC&rXhptTm%L{nw2B|{eV@GV`{ZSR zwS4kGU1;U^o${hlqNFEr!!h$jbPjNrf3VE49)1%2xbrc0wjBw(!{A$;%H=sFYjmDZ zEnXM92{;lv$l#McL_LlCqBNV3%6T4bCcDv$|Bz;~{i~YE#6-$5K>9%%`M>{XcA^t< zhfm8d{sAISYw+z1x=!Isp75rkY)~*<|`8NAvr1^nZ_(V15leNTvdzJ%!~BMud`Vq$l=ekg|@?K^;$as zwcC&prYvJ6i>niqXpBmPu8fM2pfOA0H5=SNNh@1V7kO)Q2KQqm@8~=sT++Y6SL_C3 zJvVvQASA3a2$T-V{1;*rDI1f$o@L``7i}TSm?3d+K9NX!IcQd6{N){4_wxhomCka` zH-m^b_q99p4n3V~v};3Y);E8Eq*xGEL@+`FT$r{mrvtwbZ}_&v93&?6YO# zr_o}h>`2)MD3NKpOA};K95yjb>;ql!L;wAu>|?0GH+_hvRn@!8DcyB*^)MW z!&Rf9>q$NSOwnJ}P81-g)g%lZH>ly#JIPPhD|`G<>(sDM)eMkBx|H@-qg(4Mddud# zuYKAyYNSaECWu07pkve?XMlMxU(I=*eg@9~gSag|{0)F2+q8Ubxp`l{{+@ov`a)c< zd>tbJV^Mtl0Dl|vf05pgMvr|YLmH(wl}-b=H0&D=v@nz-tL11_InZBMIU2Pb?J7s3 zmZMqA(W!DYYdKoA9Nj7h7rj@lv}-vgsvPZFj!rGdBsm@cN&|3bh$njb;(Yh%d|;7j z@vBDFw3g{FHgHOP+tX-Y?s$5U4aW!g+n%4}Z)d*XZ+CtRe<$YG^LKK7@bn_E+o|kx zPkX?&g{8kpzPL!j#*lFKBVXjL>u(pX|Kg%Pb`L7|#nt+>QO|F7tk4|K|F)sjod*{e z7jK8Abcbn}HFh92o~inrl@nmBW@V!G&E^fQ;$-+XS^H))#y4pMRIXS1W^=_id4%ZO zRPCG165smaTfg?r=7(>D5VUfuYTs;T__jKHTV4AW<^+Q^n+zsrUu`}%ltk!#kIlwF z7JRH{L1$ni8CyZ+G|F~;o34F}v#}<8TT}ZMXJaOOo2h+^v#~aOTU+}UXJcLXwyyRq z&c^!iZGG)qoQ)0P+lJb=YBqdnOf8=cSnzvnHn68OXm6~I!f9DnZVKNv)xP;mWaZ}Y zZFB9L&qP+vhHtaAZ$1-vMul%%YTtY&vT|$qwzc-nXCf=F3*WA*ee;>f%Im|o>ucXM z6ZgXkH=}Nt7Agg^=4MWvgd-tvK7Thx_1L7}jVV25 zJRSJ1r$@ev__2@JJH~gX1K;%=k?$g_)N(lA^&FA!a+qAp;e6L~M83;eN-c-;UC$Bu zZjV#sQ9qpTdXC6VJM|WVo7t z2&2Qb{Nw)L;ec<=sadX&7T(JU1-u6+clXz^T0nB0K&v(&rnAq8>Agx?k@VF^f*nvT z|Gn|+0M1VJR>NtqRm<+~&(xNJ7j%-X(P#Iu=(JLNt@~%E+6_K8?qjv-vo8Yw?1a0; z=jMH^NqzPe;Gdm#bB0}F5ZATOj{g4H$v0LMW&1wNB~;pR-#=6j>c$}w=c2-Aoiz{bV0a(ReneO4dMEvH?!%cHfdAgyI3IFe_5smj_Z zJLN02tlDF8>fT2o0nuW!Q1K8p3#&nJW>t7TTpO0nbXY1{HXHbdpM|)Ss#$%vZ@yR~ zYeoOpl|Q0|Le6`^YEJ#dLue}%yUN)t{Od&2aUia=y3C|k5Hr9;x_1|uuzAjVl2o!G z9f3A+>owMS`QT2uH4WEE4Z{R`zB2i-S*q7gajf#`YTgh2Mg&&?%Hib+$6^99$)qB( zV;pS@JF+UZwmP)3&ZYUtaXGmS)t;w$2GE3|R`-B5-hwQyx32Q$l^>lyD0_ zXI@ak##~7r%>oq&Y3AfR-=z;Jw5#8nANV7$tJyWqZydd%aw6gX=k8sg?Yyq~-tVzr z=j`*?vh4WSa_n#KILUFa;809#+>~nRUO!ZmM;R%Fj*dabz3m|PoWP9~Ri$@?=r~pr z1)M}79=)bDL}?5bZA=tuz$qSZOw7eVLIjwLNSst@MB}uEh}0pXnE3wwbFTI6Z=Z)G zJNAW99eaPT^_*+2Ip>;luDPn_3z`bs(CfvGuldB6{_dsCKk<1W{s>^*>7l-X-a6Mn zR}v0sT9`9Kgz{rGMklbRX`RO5!=S!Tk7!bVFbzz|`Y>sM6_ar59d>|&Y0at^8FJER zYtf|BbKa=0VggLak5E7&2h}GOB5zcs}QA2hCvCe%}mZ^wkxa>R< z7btC-I}|}|OyqxbAoDjvoh2fXVJT)n?kTGNM246QR}j|YF&V;7QC+-QGVI$W1k|fX z0%96&mJEWeHM%E54C1ty&607@O}TpzlZn8h7HW!^reYGX)FG+vCcl>VDS}`q74Wg# zz52F0`cmft4L_&;BA7;X_&W(B!7f!nw`v{wP7I@_AG@KtNQTiR(`&(!FT&*{*+rQH zL|DmD)kSH6uZs|*oms}H%@w(XkQ}kV90N2VcpysajhTEqi3DNRTm^~um=L+5!N^zQ zK@@KmpCNpj>(%NR`X~?cg0fB#S#sE+EV@(xr%@On)UH;j&AdFUea5F;E>{;7dNdX~ z&H)&oOY0s#_3T@xN)@vNbPsE8^1o;^lRpD@t77xvl!nKz!DpeGm7;aQoOmRzUnE`Y zMF0dhmr*H47xouxGeApz50tPp%z05LDZcuG=~N@3;vd%f@KeZl*d z-kVY9jLM(qJrhJ&l82vH%I!)i2(*>bx^IRRj@#1b4yG7B3L+L`Ugj8{WmiehS^uXy z`CN3*nvzwa%6Dcj)zV$TVP^E~_&J*9&J0_lQep1&Xt7#GbGO-JxdMF_i9rVsB@{^- zbwJ*g;XI`veIo=Rl(Ak|W|zb~R8Zmi0BKJPJsmxa*9neEgMWofwj$%$rRTA9$Dv>B z8978dEP51DwdKQ^;lR!M3KAZ2s5c+*QIS5PkiRUt0e^`R&R>eyhtgjX*4kgT^pY^X z%Ffm?f5`=3KYxi=jKA#YWyfFQ%C7@gsJC0Sh73YCp!*OD#etCiFOTrDVa-U-`+NAA z(;f_@Lmt^Lgwq1X5F17yj+jM03#$SPT9GkP;F=Y7OjicsvYKYu02j+JMmRKav|JBO zK*?UF2ufNdhyo+w&gP)(Yz0a_Yy>4QH-eIv8$rp-jiBV^Mo{u{b5Q2%Kq(l$THt%_ zUQyL1Tx6JI#SmJqpvo2bSoQ`&Lf_hTq5>{yA98z@;soLri+qNBfY}zP)2&WZoo-X$i*k~woY_T8wVMjN{ zz7^3WKvqI4N9Aq%BqFi5Qr*-Zk^C*R#R*-dAVSi;=>|B_;gAodb)g{H2>F6I&LJ0y zW1;48OzM|&116h$WUd3=BTfVLUuQWY*>#8S!`XA35_#5BHuV7W6DB2cee=3ph_~cI z4xTKG$*$L}q=s0P0(=4FEy}*$hClsg4T;(Z(Lnsff)$H?I#H zK!>Ct0L^R(plzv1leWiAFbFHca{$nG%e4VO#NpZuKrhnkZwP}fRS6rwaEX<>83rLN z3qTib2_V$U-tF@O2=n-J0MHK0wE;k!vb-69UYzQ9?ih5XiU5PU>nGn;`p})6d?f^U z8Y0Hd8SU3XG}Gn>dfG9d4w1+EfJ_)O>3P`UacxtMcanqXrgV!E(jyr zjkNQxt#oX8cM2KFx+|HSLdsvo+z}#$JdsL)c0wT~Rv3kBLlW_FC=MiAg3eIgAs({c zjOH3-rgXA78(M4^4U}gSM|-FC^{UOcsf--Dc{lhN%@Y~PcY)J zRzK0Fa3Vc{&S0w0Hk5A>@|Jk(sJjTiLV9F9wvY}BaFw+RLmmE(SguST2%$*EO2}}a z7eV)3m3WskGm!kT>Pa(0Wv*}2-1sn>1lO)T@L49qE5a!*Zidvk1nkRd4gPOV3}mIE zb(9>e*!Q7}1T#DSqKE7dLv7a)OYi=OD<~`gFe$?mKc^Q6TauA;U69#yLGy^nl`=|R znxSAMKB|#M;4Y~us1SMRi+Qr0>PgZYk`+fOaA?iN+|j0iUuL+_v|jj4Y7IQ8praq+ z{vZSxNqf6c7a{Ex5-C|4N!6q$Og38X9HV*s+Ji#=}*5oD}==WNV1@*XWM9#O3&1ygSzs)OMz!6byY+YaeEAc_N*h0*py_Pm7Eh37>q zGhC|Ci@@$NdLNbV;3x|pfaWj@bVMS93#Ks}9 zziigD{lQs9biFk_6RL%s#%L5ldR+;S)u5K2xW=(NAYtfFr% z&5b#~w|R7mqQX&|LF~cfp3QfIdu$$^%9XeyMRnEDX~|;WRmZ2w^U~@IXz&HKRomcw z^o}aD4+C>7kK;#pAsfI4^E84)6S5(EH1{!F%i|z2{n{Eiy3BO!+y+MY(|0G^>DSm0y>6W6 z2r4K96iFbV52fNyp(9s|fbcl1aU zax)Wohx>X?b-PR$G!o#b~Y??uZeiuJT|}rGHr(?TB%w;)})fVy*BL zReG@+Uo4~-YtjW%I&qZh*j4tTH`-ybt9GQ=RrXc^r!H5M=EkwBZXhN4wXjwaqLJ7O z&F0vPW^?RCvpM#n*&KV(Y>vIy&>VZaG5*z@#lPxE@@KtvIq|Qyp^hu~Lw57{S8`26 zs_!cPl_DUGwrg#~;*Pg^G+&I1$XMa9Gmd}tV!$CtEfP7IOGP+kE(^mQ20k{t^VA!@ zM3-!MwTmozSRz=&Rs6kpb@bBe#l*&nflrWCwJjdLG9odtqsT`v zThw9u>ZVD2CM<;#yrFK{t`$AMj@S)#q^~-|5}{DY!FM8k#okv|!IH(HxM8vz%%ZEw zKyo5|d2&4v5{E`%&VQ1CcDgb*=$Kx=89f`;v?gN6wVk4irQH5pyZSEVEr zj=e%WO5vgyM0QA81?fL zJmaTSKcAA>C_Tm2oYb=5q`XOe-RNNgQ-C(fnm!_ucGF!|-=!dD5|GnZD5}e;cKH{h z;eDe8;+k0WssVF)I92Sz!)_Io2f{3d5@3PY+NWU(4ds!{2H{uB+xU)jY(dWWnu457 zx%1jo=#sbVVXS6lUlVsHrjbfYLCz@LJi^v}jzP}I4}@?STlcw&A=0K4iD~2K#rm^* zrmf4p6h9LH25*Xy#ocK%?S{z!Yn_{b1$~VH)>0%b$eRG;y|*yY%+3U&E5I@qxJbV<@3NHBsyoWJCnn z$w}z}tVC9(ovgHx9~C6RNdrgb)pv=kw5dCNO=M;3*okzeT38uf3RXZ^3giU{OAo@* ziG&565IQnV1IYmRfsQUatYPUy!lM3pI6A#Y=O(I>b0L&#qAC^uPX(n|X@naT&!JqU z-Td6iT!Rk^KJA6&6X)VmP*)#Gphl5<`w2IRsrnOduA3*Jl8k)D`{j1jgtfnFlem zK)6+Axn8IAgm|^e1kVoWcnZs!szyIb;cmNtyCOJeN{bSyb= z2wo0{OSOLZG7AK zw2Se3#m4xEWMlamR_TlPC?NxqE*U&N;u+)=8njwc29(*lS-rxS2}NkeN9-v+qOBOt z6doT@P)cRS_=xD~6vj}|3l+-H1piZo$45l%sJ34Ak0{0CBPwVe+5it(S6#07h!)$D zVSYs;J|aA#A3xz|hUl8B2y1My7TEmw#UmW2DV*NPFDle{SzBt1|X0iF= z6fa)hcp*5QC=}gKEJ06eg+cA4b?mJpWO-v6$maG2C|{`jDcB z>`)L!OK{W^obd!6i)|cV3lY_8q19d&Ty6q5zr2Mg0sH9YqsH( zCph8>2unP!f(g>bg&CCUGBJiP0u84EE8G=~2No7^l(Q;sSE!Y@M|^wHGV0HHjrrx( z6+bfiCNZnat8XIUAek|JiTqdsMS8pvh6W@Elqudt=;qgx_KIet$L-WJRc+rS(qrGg z^y^5E)6CDD|64Yh=CrMcg$#x?wZ)dhat@UIWkiS7ZVXN6)n{y`VJ(C*OzE$L^O!(E zBX?9+saYe7^q3N}zSYYsn~@%;k&ECZ8zMc<^Pa_l@k4QOTQnn7a0suSJksN41xsb+ zksdD_n&Z- zu9sIfBR#GICw2^v^tdTF)tV+aH!GMukd-KB9C$DjEhpO`0Krr+S;Fkb-7w`w*lnSw zNROCpW28rh3||uqF^CUK+wPRu_9wGj1$L z_M+zO3c;Z)HS5ppM3k{G?SUnqWWj67-ekTL5tO#~ajr42q)XW(G)TNlR^!Q`fDMk} zDB^p#HF`-kjNv0!TcfM>;DIGeRAD^4Ov%oa%y=G*KR;1|oIDtlK2F%0C6ndrZ zENJBwx{HA-6 z5C3ctFil7T%l#Wt8l0&mLgOzG)8M6z7nNQhHq|K*)X*0-ULdIvC$sSaQH>!?FU&^N zHa~;&o0|TzRkYnc8V@Im(oNCY1vKQ~EjF<;%d~mKEazcL(N^%57I7;jhW2-3FHA~J z`osPBnbudNvCx5UXM`6!9N@~!oe6E>t0#>6Jz;Ux?fqmfj3X5 zy%ILf-o%?H%{=f%O9mFbvfy|<^Hi{alG-VOf4=NHnOgojKj{J|J5#qV#-lEnvqmVx zOYrQ7Uc4!rePhmEwH!W8U5i=v$}BT-5`LfOYqIQmd*--}-)=tR^YQWK^DmDdWbxSj zAuJikeVU|ADCXZUw+LFBXdkHCbF9{=`yI%NPllQN)nIc)K_0fqR}Xda{B3kLzb3n3 zR495%vCapU7fn~!V#3vxk7EZq64udEC?$HSQm92wu?bE!OD}LW8ak?3e1WTxewu2k z7q}W}!>MNB1+J#@Y6dTGHH%(N?**<#b_IZzy};Gn(Emu8ch+tEheS!RMfwzRX7>m( zTGbi0A?2(_ET}IAd$})2W5_pF_(X4&#}8SfzkZ>>awX3NS}w>lu`3D|6%uK2msG*H z$=zxmN+Li+AtQ(taz4Zh0YfvuV~xqIk8CGHJ?^2LVn8d@Bna6E3-^IQe51Wovv6Ra z?328P>dF(eMI_>b6oYn~xLoe|rb|X+@cW0z@IjG?DV;}cXrWeogV>V7=6~b`=qH;N zVqWstGb;flEUl;!@@Wxz`-1{5Su6JMtGfF{F6BIlXwAx~W2M6BGVOziUK)pgI=O9} z`M_EhhT-VP;tLN}f@6qLxs?8R`rQAml7j&4;AXZ>pt*EbTL>z?ZvuB$#rC4@@LIYr zn6ONNj03O*j=HEDyifN{2<{uP2m~6$A)!DE>!8@mqbWr`gBMQSXFH2K8a^B@Ze#c; zy)~3>ld;AD(#O{VO6MA1X)-mwoL9`YcgBJ-WPgR=4jKrikyZ8F!O>2Dwu6}Pv!u-K zo*m}J2!Hj>=2*+oU%}+%vc(NsN=+bbNAH6Li|T7>o&;tZD=DDDQv#rb(Im~RC5WN} zMk>kVLm*_6<3QZTlD4a6A#GR9e7kBEPXC3M%{DddRwXY@O545VLLxdr?G+!W{b`b0 z?USKs{wW?a_4vsfhq+Zn#XyZ4*dJ0K<8?!tu5+k2q=C4ZO|GwSIgx%1nv-($k;*xPw4=*EsU} zoO%4nYw7aIbMGS&C=cWuzY7M(Rj5;FFrEGu{ocY%tgr6mgwcC-^lQws{k?aObc1 zU>LTY;lXj8I3<&~a2@Wsy!*b9VO#nPkgTP4(FE}AvjeCcP3V72J%u>uj;q=P7E57m zj26j9$SxcZXCnll>qN1yOceFi$hvizg&`ChoeU0u1MMgyVh1e~x{JDK-U}xM3Q}_C zhumjj^;gx|G*Jl$k@_*dQBj%%WtR8f+iJM~7<#2S7yE-GSwQe(pCDCmk4>-+-08sP z;DI;+vF6Z@hAPcaJYaoKvmCI(1GMlOmy-)b-|*q)vrxbJe9!p7TJ)b0o{Kk6Y7r|HJ-~u@l>Xz5waki2Gna;FTBwaabFq-ns4>0ySS!&Rd=)n! z1mInV4#+&4paWJu8wZIl5p_&VDR!^1*<7s7#)6wccLd7Fr_bmUGo(qM7+H}hK%)#` zwKFt9Kp1xQCKy)1QGkA2nHk1CHAW)CxF?&>jKt~Y^W)bU1SM2vZ-s_;SU5>Zq+|>JMU0Dt zI&3&^P`%xsZlI1B3dqCRAV>x^_Auekk3E{?Y0SXg=RRf+y?|p@GvoD>+@LctW=!B$ zMdo+Gv;1>K&7Ya$5zIZg_#yf;(=e<1gkvE9B^r+dTu@xfmJyne2*l&>%y#B!)zx>q z0N%=_*0C(-NMIF-I!}#SbN#$16-9`DT^OI}xfRPDs!|m|w4W5d8Uar+6`%w}H{jml zC?xKm0MHP{p0-hnV%4FCBlq{Bt#2OOSv83!Q4_X0tJr!LBU|%Tv=}#2x!~IjHwmg| zb3Mw0V`lr&GEvbaSgP9*jK;1V$`f+I7|KwMO`u%Wfn{nKLN23>Fg@yNAu=lGx_JgT zv$jDpQcVD=&IwpO(xA2XDF8pm5UeS{3w6a{FNfMHGs)}O0{E^5fF*}GFaaIgZ2TUW zvzm?Wx~fu=3pngzwZULLdY@x-Pd{&h_8sNllqu1Fp{K+{zvcq5tu!9t!31K);2eNH z#lV`7Dq-u1#wb6p^XBO|2s-x|!bFq6T#<SRSliVzpGR;W+Nx-e|VtdUqnjfJf;P&IqbMNDhprB}Ly3`ow!A^XFP9WiN`93pI5 zdU4Ux3!=xI*@Vo|DrC!Y*}6+I z-^HW?FCUIBIvL)dysVs1`f{p+L?W< z#DVEAGsP&(!-z|m9!}3(fd~+evsKp08oZlQc4o)h$kTItB{rznQR;jOPgs%&zG}%N z6>;;?_Hg|5*SK9Qj<-kC;S%E6=;47j^TC=#84tG2I)AC0gsggfCvoq9+N{r#;$#iic8(Zm`!`FoAd~k!wk{;)uc^&+n%{J^|l-wp=H+7Ha)dm z6MZ~F9|^uNF~H1wp3 z_0m6XKW>0qZ6mBOW>0HN57)C=q;q{rYAvp3TC-P~GMzrPSLRA+&J3ZO6@1FNjT7>uv9E-VkPB9PTvuUdIarGwOVBtEP(`i=H#s4{#~h105qPa|FLi0JeEs6X_QE!S zdTZ{UXw6-*HF&hqEh92I;7HTyR%Vt)d}p@D=AX9e8OOjyg30c6l!Cztdoiv98ykaJ zu0f=(Deh{I79t5;fCOr)^MA+ak+#1KZZZ;YOv@khn1XOzi9V$vJnwW6#dQo8cbb_I zO||jkXkkNeJ3bTSoY!JLVOB!OGc`iu;1xkAT&#$+rO5^aJsSiRJigP$&9NA^sPazx zq||IURZrDL9C_&Rb|t{cM5Id~5NN+ulxJtQ1gx?2iPp?)Q!>yhDy*VbdX03_zZv?t z0?sf9To|k1&YRH}J$1$>Sp!X~v^TKms`V||FIXFY2^Zx3`_?h^of(3_wDGld>BbDP z9{)qn`7|UgV91@x>`Q&~=SX5<9~ulbrF?B=zu!H3OGs?%zlK&KX6x;f#+% z?7ZxnGwSqYamFs3aY||qs8*x6RWA-)+?m~8CgwP$(7>^Bq48W~j!$SM&m1`&3HPbU zBtcz3Ct?jTXj9KLI}V&nb^`vJsB6%ehX3|^ANx?}7G@mWJSU0*J0fl-!^Af_a1#=N z8ysekBXe>)Q{XporIRi3Dr<;MRvLmEqs<|YeVH;b8sU$B3s&127+rwqQW`Tb5kHZi z$Jzdi=!Oy9E1GL^pRRKsj**C2G|%x+Op_hdVRd%O+^Gx!fR<1CQ!uWZF|JdpSNnvC zz~W${dgUo}xKztAZJxjm`F0N1inZ|>9&5s9qbD$_`Pr^#ga}|a-kiH&<8gW}ir)&K zFsa(A4}PAdd+yvaX8YS6$wW7Osazdpl}ggs8uT5Nxx;=(M*U_Rnf% z%zzG2`2+*H(_S=~1NA)xjMNBxxm)t7w}~$_JuH-Urt_{+bBFsl&(|{rU5lMvNgwmqFD4bfIEkvSmD-(jZhBk6y_@*)N zF}4-C(KuhziKPr{F_Chc5P{VV{H<)dXd^~y#&z8uzeH$$@?HflG`Qn*=#p%zsedy%1}(9 z&w~t?3NrCa+c?I*1N2om)&Qd9MtL4dAYfWECEm-}*uL}#7R?JVDvww6HC*`dA z*c-XLy%=>Ub!iU?zk_Y%Exh?+5!$rHc|pmi+nCxl<=Omokh$HQe?6JQm?bg7o&K&Zs9ps3{R_Xi7Sjp{jJ3&sm?WPhOhn}rhY*m z*9U-e!K=UHjpB}bamHLe8ilAiTfV&jtG~}b`o8yfw^;q9Zxd|c`C0uvBewKE#p*Bi zeoV6d^R)UyvXbH@5yN~aQE-A}iattH7>*?p z5h>!&Mv8b$E&JCU+!|;+;FQ4>k!Tui~B+-TZiYuYRg zK%A1ts1ZseY7xqF7?3Wqg`@0XwvjOP^oIe(O|#JWo!P$_FB?hr+$>1j8WyBhF+1Dh zuyA1LAV6fsgw)E4Vrv^x9^QsNCChey<+nb0$JajjnUDQ(_V>3oB*|_6oQ9;spMpmA zTtl{c!G@&mZb(99-83X2QapP@5}DR@=euVS;K$aa*g|OEc?=)2(1C*6X6Ia+BT@W$ zuqGj-x(!g6F$Pi7>;t(-%A#b7xX|XhXtrgslE1%kdlJ&uam`Jw^q;Fe$>gx-#hyfK zOrgO}!kV_P`lPjW@9pb|`+7~@25ES#+S|gQByq_Wg|$wE1*#oooHSNx*lcY%9*tza zl)B(-G^m;k*f34WJmCm}JT_xXmA@$_C0lE0k9pIkwAa-!Zx+jnHYHY|ectAhF2jdW z*>WX32fA^VVBsOK#+D#%;^O`Rd&9VBr?cs_QEnb(u~~KRuX=W5Bpw{ay}ZGhydLCT zRO$RXNN=Irz}{yTC4J6hB$?R{4^#LwPVIGVtM+1SP$a&c?1yL3<;h9v9tblNudP>MiRTb4#G%z5V<8 z(YJ**Y1ZA{TJGDz)iGz$v7SaxC&nk{vM4@NuW2UziuC=OjlMi%3jwgJ{djU)1A*=l zp6FHVvnv>mYd4_E!-I#F*CxI#=D`zvc9L%klSL|R^V`|lpT%dH>2ejazlG~1HKSS+ zS*FU$SgGkGhGSOBvT&lMa>fX2V^)L#MUD)bg3(i`UNNdg@?4^8>K2!-K!^w@P-9HK zmGIB#?%3dh9}yK{iom|4jc{F5DWvHPwW5eyc(v zA@@?)o2n9tO7~LzT4yx!T>#9fW5JGUTW=@TOrvLD^18LKnM|ee@Lg+az4^_jp^}?} za-JI|Hpto;GF~+g>P~I5PBD2@fvHKH-$Uq-cx$b8ceC-7v>D0R6HTf$WCNo%RV^?U z?78KLG;0ONZONi-eO{zCA_{%?$N}+086+tC%+T(}$3BQ4cv!ncU8w+AnY8#6l*X)S7=}C)%xGzk z9mOx;XQg^LLD~7>Kf0k725CufAxRw;gpP0o<{3>Ss-edi zINTnyk((}+7mtetBI1jW(2d=PZ)eX8q4FspoT6&J>Glb=!c3WRrZhOBHWXatByqvr z_^7&(iDAF0FxrY(4lW<@j)dOM2*8@YUg@i6l?G0jacYVoYCVCw}q z6?e5N;?Hp_dJ2|iy@PbJwA|Pzi;(O~dFTBO@!A(j! z{2WSxi#AJ2{rrt*4@GFWL6KgphobPS0mTP4mi{cDh=hHC_1yUl)dOd2LMG0hC;p!V znHv%YoOkxXo;NA!vAU%1xZsi?+E$YM-njGa(M;Jiw;zgS)-zY>bvSc>mrl79K0CP+ zy%+*U+XS(Gk2Lh62dU#Cis#g=|H0gkyXo96gEt2y;EL6Z#QenxQTV_1tmQQ~psomt<8 zhn`D`qC}K<_oi)Z;?z-67*2`ekmG6L+lDqYa~w`NL|Mr3m~vdSzSYefPm)4)kbdw% z=W>vjJM!kVv7#RN1Vz=zrqf!4I=`#8xVbp$JkFB}BLlNt-=Ea?9xa)G_DszE)W)xk zMy$q0L=pwP+nI^BQEb``w+VGx{RO8qA|pMMc8toNBgYe;T$ck_I0ZW0Wv}SGHZUC} zN=(VFHx@KV$`Uu*yP>7J;ixG^nkBLwY9c=MMx2PI1E~D1#WYli=5F(?Lh6xrfvus9 zvC9MQOnAhCd{25U_t&HMiv9_u#Uh=VfA`dU*%Z& z$MO+N;eZZR1x;1c`Z7gTD$%QYBTk)VIF(rn^dJP;qoG9OBZQvSIrr8P=Z!7EKB@3- z4%Z^N1@0qE-ay4z6F6jxV9h#^Pc_X|^9tpM%dH3T0}OUh7mds7fm>bk*?crj`V*dhs=7$U z;z(W1DPzYXt?F=j8bY!&o{Zg9sx%d=(ToKKe003W(-b7M6G&QBn}UACI?LSjus>zE zr-)AdDbDBJ%u9(aciQ|sp?Q8-w|Ei-JKpbI$Ou<}mXFfuRWRkB?W$yT1s3@&}&xWwP89;n(BiqRc8qcu#!1UaH+9eDN_){Bo04!bjrc z4Kk$^;cLI|UvH3yOA&rEK7O+lm__(#d|WUIApG0-I4@;h5&l(tG%Y@UgumxS?T}ip z2&d{tlltEmA3tT`VT$kvzw4=AB@GyIW_6#J@lknP`qawY)mhf<^56P@%~vIsU@D;{h4tD*dJefq zuiF84+TpV}Q)(gYp9#pOqz1hpMUZfF<2UqRoEnTzU9&yxel!qt#~|3GUVNxHRB%1C zH@t`~(^zizW&mr!?bq_WU2nql!AX#-2ZsoPHN4seuTF$lr;~Ly{A<2yA?s~`l}4>V zDatqBUIIuq0wqfTOHJO`so01AEAJf)<**EQ{lr@4d+FI`l{!PXiak4qwoe`t06?~| zEOqIC+{{RzL24;FPR$lhvM?Bv&H~>7n_ff%Z3$-(9~V?YhIU(c@6-#B=_nu^PkB$QrON!x zWYys1TVm3_w3r5Ld3Fk{G}6NmN;Qc~tNy@Vvusgui^G{UHkw&FEDTPFK+5|S9luQM zoCVXs%4Bd&afPcdp%*O=7NUtpgUSDD*?O9PRvPq4MUAH2jzMQcdZ%RtB66_lx(S_z z@rX+4LFt6Clm!7P#(huirNkYoy_mii{NLk$!AE|xQ{WJB?<-)-n>OC8&1P74p{O$C z;maYPAcOBMSdelr2fhPHEX3Kx^yVT_t3{+?PR_K*= zfGbr@MN+>G8Gfv~Rbcm*VdpdQGg~xfX%auB^?8ypd9d1t{IXu z-m-R7E#O?n(Hxe3-VC9qz&bI5tfJ?uAO$(rlM++Bj^13%h z7)`%k6Jc^5g)kP5r>BxM{gDT)xWNIY3dQwmROhuJy5paU>r58cvEt0jy`$n}q)o*w z9B^bd1GA7>t!tpOikm=ZY=%}`M>Ng)DJmvu6|>}imi044j`ha1_U~gwXC?0&I-SIp zcLvv~)#IheBs1ul5}!DpfA!#7!s?NS4(?HaRhuKeCxTIl$-?S`C8x)Po{y2|4bS`% zQ&z-;IXZ;1;w-{g&RD^!#^A0>FfZORJ00dB3)IKL+>&6(p5DKYsJAk+DLt)NeT2zt zZBa^|Zr-N|Og#KuTAuH_F(b?fPZu3vt-=!%il@$j`ZLQcUd)VNum&{rjp2BuyHhyc zgil=KJmhXb%w4)8X&1K(aLAacwWER(ahL{e(5P@7?12`ljR;GSdTvt->n5Dqw1u1_ zBw2$TG#`>KV$jG<(|DpsYnD4$B-dsF2LL@ZaCq{q!4X=0h$!62fnYIx;VSv&AdrDQ z#?^&1^@oK9SM3vDw4K1bfabt6#c|+4a3?w4h~gW6C^V0&zCc2a;!0W>U`8zxM-=m& z5)5Uz6HWkuU`A@?7!elK^60CC3B(_yd{!7yRW6N>jE10SI3clq7#`Bxmsn3aIzU?` zS(3wzi>4#;cT&2;d+CALr!0i-lmJy3+^GVf)r0ryX5$+)wd974*!j6qVOT)bQZ_)C zD`HRZwaub0a&?yJkw4NBYJoe#dEU)~?LPlO3zj`8qv@nbTNo%nHbP=8*h=tzb$}OE zN%YE1|OeZ?m<|L~Z3Bf?BIK1{wa3S)5>P%D|}Y zQJ!Fpv1JQ0frMgU8pDB=BL>DqQK!8DlA2<9_(7bftHu3qoAguBu@raJ9nJK^tS$k=p@J_`HS)oWky4Ds<*=uN^xmtjI0tvIXLO#~4 zgnP8ZReNzgXov4d(gIOC`w6gZDT|b{ASD#3gM)<9zgfbjPNIXPTEfy2_QFMq(|sl* zPWR5Ntn+vp{G#wRFlt-uYW`7RZ)I)=(dN4C&iWOdo^w#Hjo>QE+%|%Pyc5|WYBdLc zD*=otY0zfF-s6Hc;Bzra;M0UVe-5RWj^M&lKb!Jx*sORL9WJ0T&!+hQY#p}pUD9}- z%YSNIz9`=X0rT0k|4+x|iwivO<^Pv)`Qj|kd--1(m!B9Uv$Gv4msVDD@kLM={s zn70H;?$|Jh^%$o?pOqleMqTU}$*~H%M73~}+vY4~Ow*wG@b0#GHIiVt?`)x{rkuS+ zCbAigtC^AjQ1cSVWaK3S8SB3h=Jr|PknC|ucL=$M8I9DdQ6$rGnTO=$JsY!WQ+b#| z3xBC)=adLn>&ZLP9>q;C*)sM=3@~!oYtV#;RfH~cc|#?i;aCcBn%6gOg;!eyQklNpW)yRHjtF!vAd_)9ZRkqC{auaQS3rW(V>FK zf2AhAyG2^mjos6$7}ru6@a)~Ev)5PMVZqu0k)@W}j(;XfZQLhYoFLZ!eA2~#`lc5;=M&AE!?j_tfA~0^7h)U7fW4**A%Z9YuRsw)p z4xcgfdOaiiJQn(wR_KR{6muE_Zaax&pr}J;6A1$VPEH~#2qK|HLhOD4>1W*}^^ifq z%Nr?*^(H0q7Tr#`(YkEK$Ej@}Hf8`YF8xPQGc{-(;3(3XCYcXG3)+Ddf+F4T5~6br zYNL)^D{WO^<_RQAn;~YbP&UJrA8uNgK#ba$k*pVYe?YPHxcURtY}x$DJ_8i3apH&0vb z^}PNEkqUvg45MJgaA^I+Q0OECViLJKY|eN|lc{0T%*euIN%MWEqEd@`yu0NGeW2%< z@QYLfTLj!K37VYuU9``@qbxl1lmjITb3R=6+Y9f~Ft>~}k^H@3*~qBI%v3hW(gZ79 zu3)E?R6h8kMB=79mNyxAYAoa~c-Mco#Z^%6qAR7$G9U@+K>oo@O;IkG4l^TJ<_H0~ z0Y-%Yrt#WP?oltdS*ltB+K@c?Djti83M6oKno&-Jz0SQ8aY%g|g8J$hyh3b@RVbDc zTm3h^*P@5uxb)A)($xtKU96|>v8{99mza9&vsR-v#)S@<5t!EMmNv_h*-E9UX@=0= z{<>WC*f4V@+kN6wXFvar$4~zH528xQQHeMvumOP)COa+Dt*z(#pDAp)DUcWSP#3J! z$d!hI1_)_Q2|cKQ@0ALgtWkZU!FJ)iaek&`F)z|r7Qq9LD54|a5?_7O3xMxv?H z_7!QEJwl=A7R2%sOiydl;QdaV;F9kw88^ns{wT}Ba}dRA@I+qam^TE?Z15RZI|ToL zmKFHE70RJx;bOZi$B)Y^;h*mfrUOI^;3>{hgkE$^1M23=IYkmnxl)AE4sQ`qPgm94!o)mKP zNq}3a%G-9xyFa5vGOA^RFYDMTzLtYCyr!0TdECl%BBIYuM@is=lamo7&MAJBs)NbB zTJH#F{Z*Q3H(r{|IV~@_HSm&4OlA4tYbxT)`Q`mD42yXe)=-`FWDKLHS@^2-ju!xJ zdYB+7Xrl~~!BL>rTnC^6EDGDTfBmq!Bz-T0X=Rw($a6jq^mDa96@7WQid)Di#;r_L zRhz4N2Yz6btsKA*L}B^;mmk$1`u%_8T_|=zr|!KO6!2YgPw_k zSpxtBbU{*iiFLI{IW{AWA2UHGyJ(&u@sUvapBEnpt-YX!mwpRpV^{4Rj2MzAHB=eI z)ChVxv?*Wcm@A46QkV_Cl&7BV<**_d;|BjVf8%6>dEGC8vGBr15wjfkG?GcWXYYvG zY`&`6oFspdkE~LVkx4<+mY+0GjoztxVb#|Gffy!Pn*e9@zzsu$bJ{c5dDrDL-%QFeqe;D)TUt# zj#p!^%fPOPXo5a3HbB47v=si)5COKeOGDu=1%Lj^+eW299=LI%QHn#L>26R4&4F?a zpjhqIwF>-bcIWr+Ay>aB^f*9a9YAwdbprMe`KeI8b&A2ga!kGW= zNWenS!E6X`hpB8VjQaeHH!7V#f1D^He(y@x#>CE1R)iC2mg`_cpl*aztC@9dPZEcC z7ua}US2oO0%h*)pqM5$>R*}wwH;-}_2N>>o3&F;AXD1Z)Y$!#OK?4jN2`>{(SGzHO zt3CQ;GJnEttlOeQ_D&!cLS+s(%*xOuks~%J3BCe^L)v9UnQor;Lt@?wpN9 zWH(VlPDrm(y6J52Ki~{p{t}HMLbLKvO^D@=IGwm6$z9fLMC8!Rw_YMnBXspLfp(L76;pD^@ zs)=z3rmfIVO65tUG#n$T**hKm$4F3zv!!A;G0OL%<#N=J0?hwf6)np zvWbcfK-Udmg6EA=ZI(IwP1LvcdrJU+qa_+swJuhjCIg!_eYnar8El*>2Eb`ay4hsV z%HG(Rky#_k`e6*3@R8^j85?phgq_g?e`YLl8;F`N_tWcl7;l3YyIVv9v+Kdbgh#;p@+xg7hUUQXY_D7 ze$ll~c2*Bh#xJ_o$yWaj4^PD}y4J}K>&w&ei>`IDBl>cPAGKQ7I@z7gFL&!fZ#eR-hyu%-vS(U*ss50C0WZ}jDn z=EDg+=#9Rd)Wav@gRb?LQ+jwTe$ll~_JkfDk6(1HlbzAS>G(z0I@wu0JQ=^}S|?j& zg&3ZSUv#aL9oCnp;}>1)WJmPn5I^dIu644z^>AnWqHCS(s2=W$Uv#aL9n-@-@r$l? zvg3NVH-6EzPWGT4J{-U3S|?l6!vpb)u643U_3%*qqHCS(k>;1kZ)*~RVm-2kNL`!U zL)0r5i8N4*`8oU#a|hZV_<3YM&j$&U=)$>EPPIgxQPq5-1RQyiRlF<@{ZF@WR2H=r zJuZq}`h)!asfl~yrlmdCDjA46smsBiiz~ z+E*#Cw&IMC-pCo-=76D9#|#7+23bo4Nn~L0)ZmQ8;7@X`j$(yWQtV3Xrz&jy*J!VE z1slN$uE1(CjU8Np{R(3D#*qx>X&kibOz9GbY?f|iTIu!TKyKJ36OdOro*D#NFPkPH z3I{FmG7}TL)d>X6RqN&;&?v&nn&UEFWb`!zNgg5L=WI;0mMq2sS#t#`fvng+DmJJ$ zSXP@rmYa)>fP*&EB{5o{@p36mdoSAHmQJv1IbP{uM%E>iOQzzu7&uBIDtCB~>&M&+(^zxs{5=XQB&o70fp|%GpwsZU zWGelNS_NgcG9gNf>3^{TiJ%X?c?UC^Y(%g!g%Bcz3K zoA3xcv2u9v3@38&bDOIJ`ge8>nbBoKgk3u+l9@YHwy~ zZn~qmEQyPfWHYHvE#PpJA((>51B@z~59#@-*~0AR~H49^G;e09yJMy^v|uJ$so z<&sBF0Nq`Sf}rAxn&fekr;}yP=z21D8$6aiOze!xgVd%z%dXvpc81lTvKLZJeK>y8 zH3)9<4}QR3GFZ9`AAV2`%EIyZy0E*TR$G2!QU!f61Dj}8wyi^lAQooZ1zdy?kWV%! zAy)~x3~-zF@gwGAR5W_&t`b=|`sWSag)GC=t&jnJQ(gCX^Ch6iiW%GE#yXw20@1xwACGCqYu+a>?9Dtflvxdw?87s6_(? zl4~!#$h``|;2=k)_)(MITR;>}g<{LqHO&irNfu&s7a0xh_U$SJ-o%c2sk=0;#^6*9 z3mOB4R49fhh1=HekHg#qg^3R>Gers%lqgWN&IJl)aBb-oC{(urz=-+bVxl+*41jEXkqQ427@8UQ?Ox(o;ASC}00l`#Xrre|NhrT96NPX{b7d+Oz`|=py zaZNI8PbiOhQC>)yVSGY+xlt%qnD_>o#_U$Cfdy(~GcMkkvF%HhU(AK34AKli=49)f zBRqYg3=v<)|2SVpW$R#?B$5Qw&%w4_<+j=PE<7|3BSe>rd7Vn89-KK=1S?D+Xeg@| zGc$``GPu!*n2tpcwjBTjL~`;3t}A={^MVSR$c*P~WnX{VZ>nr>{~~U~W%_(zh2N`g z-oaOq-B$SFz2=R!Gi!wcZxx~$#duxmUnU1QIye|f zB+VHIw+i=T|7I}3jc*Sa3_xS+;d1|(vgjNv6ea`~ggyAVM@S#0XXF6{|uG5B2C z$zm#4u+q>^7elrtHn<`EB^PBAl~@Sx_J)+rhG4EX5xFZ)Rj0gNDQQ_VWi;O^4Q1Y# zUCQOU<#6h+jOz0smpz<5)eY?8qSNrgYYO5GVkEu>In^!$?X9TFomq8b#!=U*ofX9u z+)Z6yE^_HzUsha1U|v})p?p{Dr*Mi1PXD%L7*7P&rSJ?D(?;&Ei!e188uZ$Y#M)WJ zEObD(1n8V-9p+JnSPZnZZB>6tW_OzvNJvfK!b_>_-9cXRku}E82pnUlG z;-pRcT4CO85fp^lJKXLu2Y4F%m@$L!kPnp=OPW9#D}xVd?06CnJx?S4khZ{C1 zaq_iUQTn7o=J4t9uJ=-}R`=}MW=&bMYqm!c8JWg))12na}+WGy!G|_GCDWdZ1{MY0S)2M5s zYn+6!MuO+y*Y-ErOYI@33NXV>cI>5gITL~&A9E>|IrpD=u>(e|5PZ4zo4LfyfHx#l zlRsF=C&~2Qvkl4g!#tQ|`ni_xSc9O8D41}BC^Psa=Bp^7?W~%Kk0uLfTm6ztqJswu z$s*%FyYoT_~Y1KNJODpJYc_X#9Sav zDMYMj1ZxSl5=x{INiJ+Jr|2&r@$H-oa5t)}L|L_SLIm2J3AL=jG)GR#fnY+1LLpBi z3tGUU$@5o3RR?h$!Svv3;qJd!%f2NeK)~P51a~~t|21!zkE5e|fnuhS3oSBhcVKZguaz>>#Wdy~;0Byhv zrEG&=kmfR+WrS)NAn2@8!~n61@U8kC4HI^&C6K z7!i0dCh?MOWK=-{(iOq>cLD$=1sg#nK23r@vWMT2k!6=Xxgis)p+ZcXv?eGvZBYYdhv9i_t4TqT(7F75L;t~ni#~w>o z0`$1pF<|ATg< zfPl8t2>0j}hG`@YYBbUWn=7&$=334cpbXk9nxRoCp}U%k64qOy z*xc9dYBefl;g~TdF$AdOPNIK&F*jX^p_nyL)Bmo`QvIM08|!^zG2WR{kkbT!WofLr z!-*ea&z&oj%CPpdfs#+AP-2pRi_Q)}aA+&l{*6_5;@MSrDpmMr9otIpQ;h)@ z3b5TWzeRThTjVZ!rD9kR6GXp@7pjw92onSDp*~2iB@w`x5Opn514*E5IKNe09M>Sd zC4{&tuZ0W3wqGMTwS+Z74&ESR2@mW*Xt9G_4<31>-ZakIs??@&uG(;}jp*E(K*>h) zeTs%b%nL32fHNB(VSl&+!Pdu=6s)5iEI-r$h~8^R`-VOH_lvtym@3 zR3*0?suV#6f;x7BSz*gHEX&9UJi%hHXS7^Z?$0zWU#10N7vc)i22F$n%X$JOOAgcA z@XccRM<*m5BVWOV+{2|9{JSDn)vOkkh4I5e%#TNF$tYMO`EqiPQ0!__rkey+qizygC2AT?`$nnLU2lI@)ahQ5 z8+CfAKqKK5;|NQKBP=4snSuP%KjF87cNfIY^Uw`K--^tktOG$Y_eIJ8)c+QlrZHtL=PRazbKr;c6F!K>_q>Fst2o zjp8P4$|tcSaV;*2lfq@-VD@FRVxKYReN%|S6PZ9ew98;9B}^?KGml1Hqt!`}Zi^bS z9RN5iJ8w!@(Ml~vbgnVk#LXs5ew3mT?hW7p;fR7D; zm@|)YN!38)B{<@Rj$|SlHzI2`LP7}iYg(p`E0)1bgAS9KGgpdicl9pUH!rACNC-s_ zOs<~-ts*j#*kD5|AT|YaR~s7$2sfI6jD)`+0AyZqYxsc&WiEr9xyQ2&Qm`LTg6*wo zlxV#imzc#8JL3|$b&OMqidv?kG}-YfULc&T3@qeAEyhg*GPwm|39ANL?VZ8q;z4WF zBYcGEVr!3WM{$@5nk<4SDKI1iVA3-`wn&U)2~wnfnVkX*+=t${7F1~=BA^K4;KvIF zF6xHFK*aT%;j5j5@y=BRMK~1YF61T}%{ssao@J@ZvYmUjCa6ku(7R9k@!5C&*cblY zSHGO~f2C*!vMi7YU|TGB6=4f_h-tAIYKK2sFgu;AH0+e36&CzQOr8}BqXSyY`&~R?@dFGAjERND`2(Xf+s6f*_p0d_>)b1tW+IpmsR=r;f-_ZY-2; zESs_2l@or%866=bY><}vaz}QZ{-@if!>1}O0U3Liy8usB5k9j^Jq}ScvRde(d)HrS zzhsiOgXzSyTG$^J{uzGuwtz%pN1)gXEDjP^EGHrCoUQ?N(~n5v2gU}U1P-Q;)_K(3 zMWB-|TF!7q%pwU0g^j^L17*mJ)45Z)YB*&#gWUWlFKF;lc&l_dj@LJ&a*57 z)DVn$m=owz+(zfK*GQDy_1b;2vrd?>+eUW&s2?Cu{0!31S>8krX!D zqY2Y|WgSmP8ZGAQcg?mPG^glQf{nr+m*EY2!_kAc%uac&M-RScRu+0%ca^tpMlxdu zt5W!(TSz``rzI<`>aM!4x>L&tOXc0S&nDG2Unl^Q$hLhD=*=df9X?XV#Zg>qHnkWJ zEv-{+LR|*v{zKLDp>aq72~csZ3ij9F2xk1b108oYwIe`QxB!!e@d{K>Lb{Fir8bSkx8aj+mznqgGjMS+ zBhI2AZaNyP?P(>Kl)RyWOi|z0h9is)+!_IBGocVF5}`wZQ2fAgg-Y9DEcAe zm^qG_#5({Hd_BGmjIe>#PfNn)KSo_t^QoFKAvrr^qDzJcGGAQN*xD@-B|TT#Z{w0w z!Rv;y90RRa=S(=&`47)u=X0uVHFpp?QZsY_O4~~WLM{z^JWx+j3Z%6RPitCmfPn=+ zXonL9QiX06NUt*_STd!9&_PF_++gqA2I&KD0{-u{^C=WP76L=PjnfE(1|weB%|^gUPyKm$E7ZU zW8SvImH=9&f}%$1r*FmrP&$=IICH@gsh~wx($Km<5*Tb?n;bv>GEXlHy+ra*$|Aii z^|JJrWqJvRMvLh$F=Kj}ZM`G}w6eF;OSV$6z1v@Q!ZabnZAD>S8WG|%@6&z;h>0kI z)R)xI4?lX>u@l)_l2ieeGSN878WSHAD;1c8x+5luOBR4gF#x#u8iE^?40>MCLYOL% z5`aq+ev&6735icio+x2O6v!GH4F+KD$QH{-wubHz5!@rU5T=4dU)uWXm z<|M7bchPkjVXBVm=YroI#p7XO86>A5hL6zDKqnzb0j>YwsF>(9j}T?YC05#?60Kq8 zn`;~qfN81L9F3~9YU6PzQjK>%gpJ@xTA|wuXod>@(iDOuBmzyZtOj&kvx>H9Rw2Qf zT3d6BZwwA17#C?Tx%7tia%Lzi=NYPS(ni)q+7eRJR02Kmn}^%gV!VG>kwdS|RtsaC zSY)3;#<(_nCQr{_x96|d&wrKok&!I=8TG1R^}=-xAMgoE|J0}?Ikt;P2tK|9aZ=$2e4F1 zD;P3(n&MDUCK5Q3mU(VyLm`ELJ`4w_-bJ=1iI869BG^!$v~VsgkXh-`H8TI335q&_ zY3X{%c9RJZnN8dP54{8$Gf{$YUwk+w=x~I36ibk@g;f%X1sNIexCjC;HnrLt@?Epw zseNcg#kch+=POeqyH(j-1E@)+(3nu^@cm45s2Uo{);@@snPSXjjt66KA6eHRLKhSz zQ&}xarnso0WZKBK#{n{_!*rdNd>=Ktib^UkAuNSb!YUX8c1iInJ3F_?-+EX@(C>r5 zh>)(}2I7$ZYnl0v;Gtm(>oPpat+)i~!s*8SJXPKGjhLg8Nt@5@APO&XV>b6j|Mb!-_SWaW{c}ic*;zKKGSZ=L+ zEAoR$!9x%O_9Qg*6^Zs0Hh`rK&`w@a$beMz8?rv9Fu)3Hh0h3FU>E zicE>a;_+fdmCbfP^UNJz|C!Hye%tr@)5CxGE#HF{0}n4zbZ(3|3kR7$FeP-#fSVY6 ztA{Mx>S%obwjUYwcAw5xM^pR~W-s3#eg$cM86*4O&Vm153P9KGwO-~D2e$e6rYNm?+gs?{&u z@zKw{NC{a%Zc-yB7SWZr{m6Y#l<q5+SB`3tC*s0Vq#rKg8mF zlVTw%D}W0~{m?m@$U*_WDZ2n5BjM&v)C%Wx_9lx#s3C-8lVcKc#?95D_x?^Mx~n6l zO$JcoQEV7NP-{rSo z#VY08X6n@Mo8&0KSgk7sYHhEl#V>`d+vqQ^n3Cdc^qQKPL3>iKxxpAxsi;peXjft^>l{W(oqqZPZPbJ3~0BdF* zd?QSo#rh$#SjF~B!W#A-dJ}n`J(!|Hta{mkJ)@P<@g9uNlxc3{s!$UCd0d($Lj;5E ztGgXbM$~7zL9=O>77pqO?WkBY2xxIDPk@pUM2Noa(YxAU^N$j*z>h#)c)+^Z^cnSy<;KkXOxiSRD?$JZ%t7Anefe1_;rc30!cI zI3*oicuE+!kYmmWN*u+9G}%?G2Yg6W^mYi)%)V!)(lC_?s$ z+SS3m7&o{tO8uUK^3KsdJ1ilFvC~r{5}qP4BgXTVFwHIkHgnHf?q;k$&D%!t^Y%0j zw70JKy7tr@#Rx{9LpRKg_aAyE(Y?6)0-a>tBRx;Ug-2<5ZsT`>-iY8FKRt_&Hox>1@X zV{*$e4h|y6I8A2M5gF|=2RC#CGzF)&STvLyb|6ZEv&6NTt)NBDyTO)}_R^N!yp;aC zki&rF60>d6eRW=*erw$E!y*=C6nqpy$JSV9z)!=JS$ksWc1COjAedZ4!5ti-b64h8JUnU#KXv>zA2xiEJPTI-FBlBZBYJ5umJv;iD1d< zu*(!rlLr4uRz}e*|JT%g8jg9Gjf4V0YZt?4jb9n&o}IY~5GQ!-Nm#P+1_RFdo_OS5F4UPfCbRocL} z`nP4we)jhmXGN_Sa%Xs461x+tM81Hp$dyGqJQ*?hp}}cW8acZ3FUwM1Ay~s+(Vx_J z$8V8S)1C`uCx)9%^|~YhiFyOY?C+Sw^14otuSax;HNG|>7o>LWIc+_<6fV^VAAsAhS{CWPTE|C_`CJUfgI6Ck?G${wqO zp!`S_3@&2-P@6(}AMsN=5=A;1cG_D?KN5wMb|i{4LVmi5DSOZ_nzBbl`jIHDvBrly zrtz^noIe#sCWIhpNgrGF66)L{$#d#x`m0)VFX`m*U(w3*GCee}ZKi$;odx=8ZU#T^ zUb%z+P)Om0u6*AQKrBP|E%)z+1+AXQ4h`o~i$lSY3^}>yDdbiJn(!4}5gPwgSD?se z*oB?q2W*YAKv`Y8hHBm8l14Kk?rx@oGs+I_@>E^)ojxAjS_g;V3AZB~Vsg1sF@Qo; zVflQY=}`=)>B+EU$eEGjKMWHXXUn{uHI^9jyQ{;#!j|E-QzG-y4h^%;0geqKw!(&A%@Q^sIU^Y@LWA+rax1qoXN8=-KYEm{+=@X7f)5m!TBxhLbX8G80 z*a7bur24&8Hi&fz#$}~>A-*8peYcurT`fQQ92YjUbyNYa$ZQpNYE$T}_O52#R|FchI07W`ipyGk2mh-|?Eg?S4|iIedl zd!S@EA@NAwmVC!XgADAwCM^a6VJC`bxVHJlTX*6YAr2JuD#Jqxq{fc}c)c=1Nq8t# za0z0B21Y73;~r+3C^)!9)lIYotjeGfTDi**Rk!gHLcL1P0@id`YH3RPxHOF)Z)56` zOhPje^vq(DOErzbg3k}$<&F;W2#|4|+{UKy%4JGt>LJg2#j8RU9@3VvABCvXtSUU- zc=~udd?GzQnrC!gVM?-48ER21PIkKGMrfsqxG{SjaVpiTaO#uOxA693e>%MqI=AiR z_Urckr_M~@qNn3O*E0l#0JSqVS2-|ydk!%Fz=dtYx4XYRORj~bqZ z-?$Uy)+@rlc{i7}JbdOoTz|0~{KvxBRyg)fo)^PeU5*yv?jPm)kwTyQnFKMA2aE9i zts;M08*QiUClwPxxO+KZi7ag}>WC%6k&$ASY?r~?#>B(0!DO0jZn2lge_PU1`!1qN z{4OV|nTV=|$lXXxMHwKWrLK@r%~p|6o8-DMRWfL?X-fcne6tBv?hg^qhL%K>5ch|W z@mLPCaZe;7Lk3$#CIwRZtBMIin6=QKFz1Uz2q_qPfrNtM2?|)hPXv-9u+wKK;N)ir zWDy{ap1WD9bg-z8jT9EVz$J5ve4$TLs%*9%hQ9z_e;m$)cu`)_ajgjjV># zG|66eZYr~NO@rE59&&&u${}h8^;16`qpuYHRPt#rYM|?m;aKmigaZhib=mBC+;#TskTkT0iglG~ z4bMYp6rWj_2;s!mI`UkCiNZpY=hCJrQ!_|5;k49iI4xl!evOWa#F>LFL<;$dhZBYk zse6|o0z!p$kk^vL1Z$X%-;uN5#)c!{kV1Qqwobw7bXmNrot&2JxX?EKORsS`pf};P z)Qe6_)=sq&=PKhoZ8N4aZ_d{!CI?OGk4l!voN_ChG?ImnwAqnRG2vaP7rB8^3SMa? zc_=L`f$Z)!)O;~&#bO+WNh-E7I{N%U0k(u%0u_;`F!agG@}LN-Uq`vzJ1`WrkWe`* zmIh&hanHbYG09+OmEsj54knB|h)>nO4QT=Ai)v<+SNIl~G=+-Qd0kJZgu#_za#kF~ z$Lcg@M=6vq23XCCQ9vc8#NyYLCZ6B(QyVdf`#FwUCNf!&1GG?(j(eCJ;+rmzPii5; zzj+6uZ+nfx(P?r?-qTk!^zafojPPq(bL3YuR}Vr16DJ`!Ep!SejWY5LtOosdbIA#B5<; zpf6=`>q4^xD9nWENitkvtG`%9iQQBd1%_BNF=Pn<5Jlf6-!gaJ{uN*Wd@vl+zHtc~ z&DEVSSQpBHlm0U}6nX%u6P^UqIi^7+P0;b%lr=>n^_ zDP5RsAqO=9DmW?ytki`mCPap_hSArZSx>-~>YMadk=?tEQ68s^teZ=i*k~0A` z->rJD)oL3^2sxAd4dr^Z-Kx5E>)u=U)_W=+Eg9VDQwm=|9khoyAh7(KF&w~E$X`dw zSlJ9AmBIUk5tllpBM-(+_xGgo`+H=ZL5}!T1onxzi-Au>OnfQ=tex)f@xx7vxW9*e zgGtf#4JgKRe-C#T=>8rS2Yd$}WXu9)cO16M25otBOJ9q?T&#O~_-mwua10l1A`VdDaF9qR&SWvo{pJOLJ%LdU=kFgSkxx3a} z$(&vC$H!pC^&kd#H$`s#=B+|wBZ3FD?7?~?+665g3MSKvxF)3?I|}KfaSgNfd;qqw zN{G3V<8-V6WJ0ykn>++C)@fxeD5DE8nyG&s=T7&IblL4*m(!Ym5Nf5=f>FLUfc_vDL9i#mo?by2ra zSa|PzfP_v$umWMv6q;2R-UPwE?c#i0f#N}P@R4E_QEL%_w@S=Mrb`EZq7RaR2*s-? zKEkuir~)TXDgt6f6MBK&w;s%k&=2+qk|j>m079V1A-<9dl?yF|=B03%ZP`#@oPd=c z<_Otd`CxsJ%|1kDru;++xX!r)0_)2Xf{ zMT>c0!XYk?y_e@7D5clE>Or}Pz}4upsr;2O4jq#t^^>?8+K?J?hT5PLGS8F2gw$aO zbW9SI1QixdF;{Dj6YD~A#CH<7$H{lUOd<(BaK0)Q?yT?sm*EcJIqqmU7%dbqzR<)A z1SH}rDilFN0dP%-k?86p|Kr-+HjO5@@KA%h*@gY5# z=}jhb23lnY3YkQXka~p1kTkL^H=4^EX=Y@zW;Vto>403zab%a<5bYY5p?nr_)`RAl z!6m>MM}5wQae<5ez1Q#R6I_toLS(5j_jM<$Fto*77IH+7g+d zeSaaFAr$A$UaJxj2MXdTL(d{Foy-)5vEGJw<{9baU=}$UW2853CJd}nG6Ooy90JhUM_oFCnA*vRDbqr--t7Z@{g>+C1cZNb=WZ)EvoD#}5)1Ia;qG@DDKDP-a)9epHv^JX4{6To}* ze6QFv6Xlg9Hmv=a#WrgacBl5Fc4V>3x<(U5F0SX|d#Hz<=7^D9m*32{q>Za#%G_tt zw9i<+1&qY5OH2h5&Sq*I#MLB819x*Eeh@M7Kb_?Z!zqKA11y)k#9$%hmGd~-uX*#3 zk;#Cu95yg4e)BN+n(X{LMaX{ClinS!_Rd@v&rbSbZpOMv>U)hnyZ z^DF9Rbl@Cl$tH(s&mHD-@8x)yK)zU#icDg7HhBQDZlG%E-T;KoPufyb|FLmN-5MM9FHQV_D2y@ zf9pAU;a|@9_ko^iQX-m-a)M3ui8swfn1`S!nAHS*veMuO=X z!Dm?^172su^F|^y+M0z>inq4+cLw#ap+`a;QN6Q0Vsv!I!yTbeJkb&Dj2e-6Ko9HD z=s;^K*`L+HWFc70IOm(h>N11GHYJyV&#Ntb8T$oL@Z|UK_eH7t%D@wqd_|(9*gZW;wzhU zjLIZ_j;i20h}Ka=0GrulP-#6s6pJN{crvZ0LLK2)th@BQboKj8VS`|vGzCkli186i z!`L=t4o}X9fXDn%VpBdO0p-ME_G)8eBE52Qv;JfTNRP$3c)a>u(Dm*d;eBSYWkNE% z`(nHYL$S~=C?OW>;S^D}1Y)Wb64nfo89*yVtC!f!pGmoJ-r8ASWA!fgov0tQ>$njL?NUU5##$TOldkJp$Q7H z_(9yvV%8>Sc(K?H9#`N^kaht(D;SE#Vtd8IYR!r&X$|uI2Kj zJDG*Zfb6g&CQIfRK`UueYyk7jLo)+^6@p6&pluuAcL^c;hcuB=XtNA$_Ga`#eh5n5 zB}U?QvDu<1j?r$?GJ`f zxra^yHtnIWA*MQKqV*?HM)YUbu@_^~@zK&H@J*uIa2ST7fMeQlp5;xJNFGim4Awu& zE-|t=RDCe*fOr#E4w8`Rt$IQqMx1LkGKDlLfd**{>#qMB^u4RBZwPfpT0Ao`zJZiE zvb08=!$8gwR0{qptDh_Ma|LN~BfNP^fM4~M)l7qZC2<_7sL5?OoMX{ytUy?aunNJZ zuGM&6gRmCiFM+y7YAdK~lGafYSmNMa(k*)UIb3k@3K3CiQlb-)Ga+uy*sMY!Sq-yJ ziK5rxxeH-Ef-OOWc#6d)OAyw#9TL!%AcS|aq|jP)BM?mb*}K7pB?eRpYqB)jfOe!6 z6ReF0T)E8XDcjNj?byIM7wjx+=rCj8BnY;ZFo-L^RVO&mheQ0J&}2T>ii2e#&6Q*+ zFtt|Ni!oh`Ky$0y<+q@mcKKb1-))yaj56Bgb{$)qmLyu=Bq1sN#H#=Ah>5n#*J~5f zAKaQk%2&9(1yZNYALM%;G7gv&bDejVnCp))5z;X1^otegSCFQYkX`;-Mftx~l>e%t z{MQxb|6Ni3c15|WOdgLD>GJ-oD#~jr%BNS9&$7zJ+!MB@0+NjvQsNwDGqutjvzRYw zT=ty37-OU&y{IhhLpezZyM7bWL<4p@SW!-CIw$r^xleN@Nr;#q7&*ey$ufbJFm-l}I(scT^+kYDA zptSC#d%*4Qc9n7a+)#2Lk0roAlf=oE^sot~6nj0!(hzLWVj&WS^uq=VknD@HWM;Sk z1!)v27M@uOXBZYA!scogkTNE+%XQJ5q|T_7_LPn4Bt}J8I&C~zvYJjFkUf+8(WZRn z40|E~gC=WIS^HKz(`x_8ToOAg1GtCW0*KCJd|(9e)P{AW>JYQf@)|94mb21Iyv8jGaQ>r0#jO(gE~C zqLo-pd73t{o$kalF%)ZWK`%`(3rvZ@KL=O@$8JMJOM+t0))n2mV@&K_F51cu`rsX` zhn#_fFc`rK%HWxzytGN;4f z40r&MDW8#_?J?PK)`Z6_&l~d@!n9nV0|OL0Vx<`<2L?@h zm4tC__ zYi4QgI~JA|&T4b;Q6$iKxYgM`-^D!`FOE-Zsga=f2KD5ribi|iiL)1MjSW!+j`?mSJ(Vmnb8z*jy(b?(6R@%~;HtV^ejb;{HctTvfUl-Cz^g*Tx8|E4d zrjX5~l(7)bvDmrb7a%sHL^}+JvW|BjJYfC~u-BErUR^PMQrU@d+kGFj(jPi~rNL^l zqu`di;l;%5Ue8U%P6B`ku@ePD<2j2+L!MwQev(4yRG3t3hQYr zugC6E5SW!aL2>I#9z@#)0(gyQ3#F`klGQK9x{*(^%07UQf_eaXbf^$?2VZ{aiUujf zjH*b(s6+edV~D|qthzuVH-2MDO|Ct&FQA<8Vb|l9WO76&CKU1~t^U?qB7j>J7@ayw z2Q+}Qd`=9;VbmuDzl3AsNU5}Tkxn@;ap57{tvK%H3|}H`21;`clF|#NPZs)Oy@(9I>9dfzTfCR@;Yze#-mpL0X{KsxOdf zp$=VI$lA$qg>*%GI$)RMi)xg^rvqruP^xDriwh6i3MpJhS(ivylq1gEe6P+~QY*Po zw;r(*aU){l2R5z%*M#4gY}8nl$#V#x9xuuyf>s-&ZDN=1 z#u!NXeh4wqTltz!j3<+rwOEuV#rYe?U4Gu1NQ$Fk#_XjtXXzTnL^@%>kU>7T!o-o* zhJt?IME^v$dvTlY{f~4T~P3azQOEU~O>c&w!FTlq6dOy5cG` zb<4Y<(*Sbq69c#NBuEDZuWgC?cl2LG+Ar}ilE&onvzVaYUgH9EG15c$KU{Q|iinBW z)r9S#R7BU9AUJYF$531R8>~wyLe(uzkVe70lE0r~u#f{@@8(jG*n&47-2fzczywvfaldR+X^_=tq75y`5KX_b`e$}8!eiAk1l3|)&-yJ}DyJ+- z7dHzoV#EF{U=nx#GhrZYCivu~Q|R|X^s@+oECP1=D4rY2(#P>krmQYugvE{?z_yU2 zXp4|Se~xit4O{Jj?nFNa(f>~oXq=@(KWF$*$KJy+_XOH5!v*f2U}fvyccEZeq>5vW zWi?MDfe$`iVJ9y4dzCEYnATRmu!`S^XY!F0_}xkKUG4e(xME^k@$I%mI;3#h=?C%5 z%F++vnUo;AoYF-6cKWw?CMDZWzlG=4iZm&@cKO?QrbA45y1p!Z7NnxTB27zZ*Pn*+ z@-+FY%Ij0Qyu2D|QaJ4PRTbqm73n%FJ>kZI5htzFjq|J&5Q?)6YZ>a2l5M9~*llg^ z4N2eJXu2P43-V!LfXreT>`DvHPQ*0U^AMw{w855&xNd9gMu=!y`vVFPZ3Od9%OuPlMoZoq+a1 zAbpTF6Fs){{%P%(x6-$E-t#BnV-%Xh>2iC#zN+!@>M1p~byLrpHhqR@HFMVNIdkXD zU$Btzl^nO0a=ZnIp&DXE$H%dzu@x)F$5*XhBO3no{mVx#$P-gpWldlbekQO3yod_r z*sdfjCMhEg}S(*dXd+vN8gC6(3P#GP`VUMs42==Mo@@n9HKhzDhbaFMF3{qrp z>_zB9Al2Q@(@Cm7S)Qj6ar$A1?YVF~ag5RXlz86Y5iel_!bUza+)>w$Eh4&5gDptVW>HbeZz<6mETdS#5!BE_XFH)Iy@G6d{QD_7BR zk2PU~_UZXPhBvoBqx|Jrp7|_blR@)g#N=f7JYw2QUqDP}wr^px(OIG#Z+WEo)iq%| zom5sp*+zKh$#@T=sYy7OEG98x4~nj>a4tbcN1h;7Vbvl&f>({<%!fU0fDe`lM*(Lj zWwlbA+nljh(mH zC-~)v$q{yeTz=Jo(xM`AK*y`;yJg^2h&d0yq~JU4`vdlRY%}_$-=%0v>tV;VkLX8v z#}LF`1624V8ylP116KX7AXZUs!|8+D%zpkZ%0NmI!Ls+-<#;Y497kaEyVTq4ZAQe7 zvZGDjre^O2yuQ7sPN3d}HW8L?;e%jXu|Oc&z>z>85DbI@ZGrYcM<5)C1fqe?U?3O_ zhJtOu_FzXa9E=2`!Ol=16bywzZK3v1M<^VMgrcF&wm@63E!5W5*52097H*5QMcX>t z1MR`~P9c>-$9UUFvjz~weqca=`2g9LoTev;k5e|nV z;b^!s5{LvNp-5Y#J<<^gM9TeLme5e-Kp(P*@@6GQAo_niRUiDsS1 zqSyMe+;=9JY>X|7!`97Kvmm^~^=pLV|5Ypq?R&zhjiW2@JcjU51R?E&d0CJMU9BWy z5+!h1up9&k7jnWt!?vy!baN1K17MtnZr-4kgCjn1J?arpC7w)U5s>jdw?&jspq!}6 zhG*B`V$~P@i_uMZx;bS72zPr+ZvqC{JDlr;jlqU-z=9$FFaPk@3a|J_$=9a5=TEKp zY4nrU{oNRvzA^oDJmaRPuq$5R_xms8b{1<9vC$_n1zOQQ;9^gga47X6CVc&iwJ+O| zo{KceE|Q1+xQ37+E=|kSL=Q`ad4?8)L~WlW-HtXS%kM)>wDncQw2qZ9iAU4A+kFr% zwjkJwm(F!D!M*U7=L$y5m25pZdJ~5=iR;Kq`4sH&YwLxxdl_Pq!y&|^OI7ww{Db;F z4R@Byrga!E@8;?C2clH)Ex=ifcn$*D0wq~>IGp&Xk<;z+)OqLmW>?LruANd{qt&WY zr=I1RA~N8emS59m5_Xwa<}p&?H>1kE5CQVt-Pa-d+t3l zdiAwm4DA2N)z@4<@2690&fWU^xBRVZ4qVv#%GkA^yy3>Xzw*eVPd)wZ@BHlNuZ~Mv z-PEPQ_DF2Ssx9YSIQB^t{@o*wKK-3%p8ff&l2$#1m&R6X*tq4Kg9&5ohR@&n?Ps2? zu3L(%E&DGxa1ftcxb}v-(d4ObzxeZ4->k0Nuq9y>$G-a5Hy;1~58wRN6(7C&|L)VzJiBH4j{WBy?7ixf*L~%|haUgOr@!^Xx*0PsIPhP;eP_Iw zzW8S^PFa{S=gsdudhEXYFMss088a6w+_-7`j*pyw;NY>#|Ng1(eg7wK{^~c`+;#cF zXO{R|@4Ek?$G`RL4`2M;+M90)T(|K5eeap^?K{rDz~!!~ZESu0jf@#twWe#s^*8hk z7XInm&prRbkACsaxWsxJPQ0j{=yuQ5oOQ>)Jf(P#W1;8xTy?fv)>^f8&85mNr>oAp zvu3JmuS?bDc|EFIb*T!rPL<|ReNK7GbjNnrT-Sb=;+#>vQ(LdLsIpe)tf`7=^B4EB zw06t?xI>sr+Mn);gJHQI@rXZxmq{3b`MV}(nZGRsr^ zMnk@;_=7oBj^enZ_+r(6+^R-A#}7;^KI|_3v%@=Uh3a)i-5cFi&b)7ddcJm^r+CGz zdEObGty=LD&U;Q)&D4T-XvcrN#8u^R6z{A({u`IfmN`*+tycVoI#;c!mYnzqjf{`* zxm=3d?NPk=gzyxtR<2W~I?k$_CQnypDzmHSIp(_;$rovdl>61klxLOamG4!3-}3|I zhsuxTmmDuEztCP&UT1G=zf(Y{a#iDs)!TPmciU}$bLrKe`pg%<`pA`Eak@O=Rjc>? z=X1|%(`JPu`}SY{rTgyxddEvsKX%n8Z!1wE5#sh83FE+n56zwDa(jK#W`;Xsr|y2? zN1n*_H=J^LSF9dLUU#F}`}pf`oZtWJx5hvBd4FqT)81QezvKU$yzA7xk39CI(^oZp zer(N#U3cE~FWHpL$wjXD?pT)E13xK4-d)A5#ood|e3CzHUoaZ{^wNdR{N2}&_d0cB*qgLe!t1-tMmsaK4 zxh2w8-RAPUy~mgA-rnS1He=3`dDCWkwxfgY>e()@bF;hAQ}C@>x6HZ1;dSnE%8pvq zQM|f;!DhF&c;~@}4L+~4`mC7K8*bKS7XM*oqNi%J$GdUE+|BNu>Mh4z8@=<@OGB>A&n`YB*MzFC`20Y@SA6mlTjSMZt=Bz&V$&V}aH7+-OgrFQ;@#+Na-4PI zfeVatwN6*vTB3oQf9D?i!7|Sme{sC6MXl4^$FI3cJLITVJ+9gt`!;#Y+az$PD z)>Xy-yV5CZdmVGzmE%*IwM5lEZ}Gn9{OV@S1G;w>KX=6om~^$8uR70#T~t%0MKPHs zcfI?$EK=jVXZfdF3hWTLk)j1PG5^FuGRoymIB$Iyn9*DEw8 z-QehxEbJgm(aSq_nDskvee8~%(zE(5Fm!@%_>;%nU71W)%DUzDKFLvwkR`Erb!Yi?BWDsyB-=>!AO6fjVEfuiE$&qzB^ zL7t|}0DD1gz;??n)vGL!SD|W-}n`QcP zv@E;jU9#e;a`(%M$LBmpnG1Nb9GN1cM~6>dRR|A-vqBP3ufq4ag>%=X$%58v(PtRiB%M`c#I-yO*fvC2Yjy3Wt@~0h=idkw+ zswV#};7iJ9eL?L~Ib5?8v-GM#Ky=Bg)I|>2y&9j;Z}(uw$-OEe(kb6AtM2I>tFk;p zp5js+-*nSNW)eoRPE<=){te@DBA%=4byLnogbS1!Di+isd1U1`Sanc?d_8*8Wae#h z@>OywsvpRf@Ym*KdG`zq1W+z { describe('Migration of lp vesting', () => { let claimAtomLP; - let claimUsdcLP - it('should migrate ATOM LP vesing to V2', async () => { - const res = await cmInstantiator.migrateContract( - tge.contracts.vestingAtomLp, - tge.codeIds.VESTING_LP_V2, - { - max_slippage: '10.0', - ntrn_denom: NEUTRON_DENOM, - paired_denom: IBC_ATOM_DENOM, - xyk_pair: tge.old_pairs.atom_ntrn.contract.toString(), - cl_pair: tge.pairs.atom_ntrn.contract.toString(), - new_lp_token: tge.pairs.atom_ntrn.liquidity.toString(), - batch_size: 100, - generator_address: tge.contracts.astroGenerator, - }, - ); - expect(res.code).toEqual(0); - }); - - it('should migrate USDC LP vesing to V2', async () => { - const res = await cmInstantiator.migrateContract( - tge.contracts.vestingUsdcLp, - tge.codeIds.VESTING_LP_V2, - { - max_slippage: '10.0', - ntrn_denom: NEUTRON_DENOM, - paired_denom: IBC_USDC_DENOM, - xyk_pair: tge.old_pairs.usdc_ntrn.contract, - cl_pair: tge.pairs.usdc_ntrn.contract, - new_lp_token: tge.pairs.usdc_ntrn.liquidity, - batch_size: 5, - generator_address: tge.contracts.astroGenerator, - }, - ); - expect(res.code).toEqual(0); - }); - - it('should migrate atom', async () => { - const rewardsStateBeforeClaim = await tge.generatorRewardsStateOld( - tge.contracts.vestingAtomLp, - ); - console.log(rewardsStateBeforeClaim); - const rewardInfoResp = await queryRewardInfo( - neutronChain, - tge.contracts.astroGenerator, - tge.old_pairs.atom_ntrn.liquidity, - ); - console.log(rewardInfoResp); - const resAtom = await cmInstantiator.executeContract( - tge.contracts.vestingAtomLp, - JSON.stringify({ - migrate_liquidity: {}, - }), - ); - expect(resAtom.code).toEqual(0); - }); + let claimUsdcLP; + let votingPowerBefore: number[]; - it('should migrate usdc', async () => { - const rewardsStateBeforeClaim = await tge.generatorRewardsStateOld( - tge.contracts.vestingUsdcLp, - ); - console.log(rewardsStateBeforeClaim); - const rewardInfoResp = await queryRewardInfo( - neutronChain, - tge.contracts.astroGenerator, - tge.old_pairs.usdc_ntrn.liquidity, - ); - console.log(rewardInfoResp); - const resUsdc = await cmInstantiator.executeContract( - tge.contracts.vestingAtomLp, - JSON.stringify({ - migrate_liquidity: {}, - }), - ); - expect(resUsdc.code).toEqual(0); + it('should save voting power before migraion', async () => { + for (const v of [ + 'airdropOnly', + 'airdropAuctionVesting', + 'airdropAuctionLockdrop', + 'airdropAuctionLockdropVesting', + ]) { + const member = new DaoMember(tgeWallets[v], dao); + votingPowerBefore.push((await member.queryVotingPower()).power); + } }); - it('should validate numbers', async () => { + it('should validate numbers & save claim amount before migration', async () => { const [ vestingInfoAtom, vestingInfoUsdc, @@ -1740,6 +1678,89 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { vestingInfoUsdc.info.schedules[0].end_point.amount, ); }); + + it('should migrate LP vesing vault to V2', async () => { + const res = await cmInstantiator.migrateContract( + tge.contracts.vestingLpVault, + tge.codeIds.VESTING_LP_VAULT_V2, + { + atom_cl_pool_contract: tge.pairs.atom_ntrn.contract.toString(), + usdc_cl_pool_contract: tge.pairs.usdc_ntrn.contract.toString(), + }, + ); + expect(res.code).toEqual(0); + }); + + it('should migrate ATOM LP vesing to V2', async () => { + const res = await cmInstantiator.migrateContract( + tge.contracts.vestingAtomLp, + tge.codeIds.VESTING_LP_V2, + { + max_slippage: '10.0', + ntrn_denom: NEUTRON_DENOM, + paired_denom: IBC_ATOM_DENOM, + xyk_pair: tge.old_pairs.atom_ntrn.contract.toString(), + cl_pair: tge.pairs.atom_ntrn.contract.toString(), + new_lp_token: tge.pairs.atom_ntrn.liquidity.toString(), + batch_size: 100, + }, + ); + expect(res.code).toEqual(0); + }); + + it('should migrate USDC LP vesing to V2', async () => { + const res = await cmInstantiator.migrateContract( + tge.contracts.vestingUsdcLp, + tge.codeIds.VESTING_LP_V2, + { + max_slippage: '10.0', + ntrn_denom: NEUTRON_DENOM, + paired_denom: IBC_USDC_DENOM, + xyk_pair: tge.old_pairs.usdc_ntrn.contract, + cl_pair: tge.pairs.usdc_ntrn.contract, + new_lp_token: tge.pairs.usdc_ntrn.liquidity, + batch_size: 5, + }, + ); + expect(res.code).toEqual(0); + }); + + it('should migrate atom', async () => { + const resAtom = await cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ); + expect(resAtom.code).toEqual(0); + }); + + it('should migrate usdc', async () => { + const resUsdc = await cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ); + expect(resUsdc.code).toEqual(0); + }); + + it('should compare voting power after migraion', async () => { + let i = 0; + for (const v of [ + 'airdropOnly', + 'airdropAuctionVesting', + 'airdropAuctionLockdrop', + 'airdropAuctionLockdropVesting', + ]) { + const member = new DaoMember(tgeWallets[v], dao); + expect((await member.queryVotingPower()).power | 0).toEqual( + votingPowerBefore[i], + ); + i++; + } + }); + it('should claim', async () => { const resAtom = await cmInstantiator.executeContract( tge.contracts.vestingAtomLp, From 1ee4d98e567cebf974648036fa4dd6f9a876e45c Mon Sep 17 00:00:00 2001 From: quasisamurai Date: Tue, 4 Jul 2023 16:52:20 +0400 Subject: [PATCH 03/11] rework --- contracts_thirdparty/lockdrop_vault.wasm | Bin 0 -> 241744 bytes src/helpers/tge.ts | 1 + src/helpers/types.ts | 3 +- .../run_in_band/tge.auction_migration.test.ts | 81 ++++++++++++++---- 4 files changed, 68 insertions(+), 17 deletions(-) create mode 100644 contracts_thirdparty/lockdrop_vault.wasm diff --git a/contracts_thirdparty/lockdrop_vault.wasm b/contracts_thirdparty/lockdrop_vault.wasm new file mode 100644 index 0000000000000000000000000000000000000000..670dec30510c736763149e8b4d4eaa5eab1ac607 GIT binary patch literal 241744 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 literal 0 HcmV?d00001 diff --git a/src/helpers/tge.ts b/src/helpers/tge.ts index 679c1010..3395b636 100644 --- a/src/helpers/tge.ts +++ b/src/helpers/tge.ts @@ -212,6 +212,7 @@ export class Tge { 'VESTING_LP', 'VESTING_LP_V2', 'LOCKDROP_VAULT', + 'LOCKDROP_VAULT_V2', 'CREDITS_VAULT', 'VESTING_LP_VAULT', 'VESTING_LP_VAULT_V2', diff --git a/src/helpers/types.ts b/src/helpers/types.ts index 676dcabb..bd1ad73d 100644 --- a/src/helpers/types.ts +++ b/src/helpers/types.ts @@ -125,7 +125,8 @@ export const NeutronContract = { SUBDAO_PREPROPOSE: 'cwd_subdao_pre_propose_single.wasm', SUBDAO_PROPOSAL: 'cwd_subdao_proposal_single.wasm', SUBDAO_TIMELOCK: 'cwd_subdao_timelock_single.wasm', - LOCKDROP_VAULT: 'lockdrop_vault.wasm', + LOCKDROP_VAULT: '../contracts_thirdparty/lockdrop_vault.wasm', + LOCKDROP_VAULT_V2: 'lockdrop_vault.wasm', ORACLE_HISTORY: 'astroport_oracle.wasm', TGE_CREDITS: 'credits.wasm', TGE_AIRDROP: 'cw20_merkle_airdrop.wasm', diff --git a/src/testcases/run_in_band/tge.auction_migration.test.ts b/src/testcases/run_in_band/tge.auction_migration.test.ts index f17ddc18..be09ca9e 100644 --- a/src/testcases/run_in_band/tge.auction_migration.test.ts +++ b/src/testcases/run_in_band/tge.auction_migration.test.ts @@ -1598,7 +1598,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { describe('Migration of lp vesting', () => { let claimAtomLP; let claimUsdcLP; - let votingPowerBefore: number[]; + const votingPowerBefore: number[] = []; it('should save voting power before migraion', async () => { for (const v of [ @@ -1683,6 +1683,18 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { const res = await cmInstantiator.migrateContract( tge.contracts.vestingLpVault, tge.codeIds.VESTING_LP_VAULT_V2, + { + atom_cl_pool: tge.pairs.atom_ntrn.contract.toString(), + usdc_cl_pool: tge.pairs.usdc_ntrn.contract.toString(), + }, + ); + expect(res.code).toEqual(0); + }); + + it('should migrate lockdrop vault to V2', async () => { + const res = await cmInstantiator.migrateContract( + tge.contracts.lockdropVault, + tge.codeIds.LOCKDROP_VAULT_V2, { atom_cl_pool_contract: tge.pairs.atom_ntrn.contract.toString(), usdc_cl_pool_contract: tge.pairs.usdc_ntrn.contract.toString(), @@ -1696,13 +1708,13 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { tge.contracts.vestingAtomLp, tge.codeIds.VESTING_LP_V2, { - max_slippage: '10.0', + max_slippage: '0.1', ntrn_denom: NEUTRON_DENOM, paired_denom: IBC_ATOM_DENOM, xyk_pair: tge.old_pairs.atom_ntrn.contract.toString(), cl_pair: tge.pairs.atom_ntrn.contract.toString(), new_lp_token: tge.pairs.atom_ntrn.liquidity.toString(), - batch_size: 100, + batch_size: 5, }, ); expect(res.code).toEqual(0); @@ -1713,39 +1725,77 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { tge.contracts.vestingUsdcLp, tge.codeIds.VESTING_LP_V2, { - max_slippage: '10.0', + max_slippage: '0.1', ntrn_denom: NEUTRON_DENOM, paired_denom: IBC_USDC_DENOM, xyk_pair: tge.old_pairs.usdc_ntrn.contract, cl_pair: tge.pairs.usdc_ntrn.contract, new_lp_token: tge.pairs.usdc_ntrn.liquidity, - batch_size: 5, + batch_size: 10, }, ); expect(res.code).toEqual(0); }); it('should migrate atom', async () => { - const resAtom = await cmInstantiator.executeContract( + let resAtom = await cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ); + expect(resAtom.code).toEqual(0); + resAtom = await cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ); + expect(resAtom.code).toEqual(0); + resAtom = await cmInstantiator.executeContract( tge.contracts.vestingAtomLp, JSON.stringify({ migrate_liquidity: {}, }), ); expect(resAtom.code).toEqual(0); + await expect( + await cmInstantiator.executeContract( + tge.contracts.vestingUsdcLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ), + ).rejects.toThrow(/Migration is complete/); }); it('should migrate usdc', async () => { - const resUsdc = await cmInstantiator.executeContract( - tge.contracts.vestingAtomLp, + let resUsdc = await cmInstantiator.executeContract( + tge.contracts.vestingUsdcLp, JSON.stringify({ migrate_liquidity: {}, }), ); expect(resUsdc.code).toEqual(0); + resUsdc = await cmInstantiator.executeContract( + tge.contracts.vestingUsdcLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ); + expect(resUsdc.code).toEqual(0); + await expect( + cmInstantiator.executeContract( + tge.contracts.vestingUsdcLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ), + ).rejects.toThrow(/Migration is complete/); + expect(resUsdc.code).toEqual(0); }); - it('should compare voting power after migraion', async () => { + it('should compare voting power after migrtaion', async () => { let i = 0; for (const v of [ 'airdropOnly', @@ -1754,7 +1804,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { 'airdropAuctionLockdropVesting', ]) { const member = new DaoMember(tgeWallets[v], dao); - expect((await member.queryVotingPower()).power | 0).toEqual( + expect((await member.queryVotingPower()).power | 0).toBe( votingPowerBefore[i], ); i++; @@ -1795,14 +1845,13 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { }, ), ]); - expect(parseInt(lpBalanceAtom.balance)).toBeCloseTo(claimAtomLP, -1); - expect(parseInt(lpBalanceUsdc.balance)).toBeCloseTo(claimUsdcLP, -1); + // actual diff is smth about 0.2% (converting old lp to new) + expect(parseInt(lpBalanceAtom.balance)).toBeCloseTo(claimAtomLP, -2); + expect(parseInt(lpBalanceUsdc.balance)).toBeCloseTo(claimUsdcLP, -2); }); }); describe.skip('Migration lockdrop to V2', () => { - let oldPairs; - it('should migrate lockdrop to V2', async () => { const res = await cmInstantiator.migrateContract( tge.contracts.lockdrop, @@ -2001,7 +2050,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { }); it('should have zero liquidity on XYK pools', async () => { const usdcBalance = await neutronChain.queryContract( - oldPairs.usdc_ntrn.liquidity, + tge.old_pairs.usdc_ntrn.liquidity, { balance: { address: tge.contracts.astroGenerator, @@ -2010,7 +2059,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { ); expect(usdcBalance.balance).toEqual('0'); const atomBalance = await neutronChain.queryContract( - oldPairs.atom_ntrn.liquidity, + tge.old_pairs.atom_ntrn.liquidity, { balance: { address: tge.contracts.astroGenerator, From 0e1199303d318539d0ffc2509fb1e30b0c0fe31f Mon Sep 17 00:00:00 2001 From: quasisamurai Date: Wed, 5 Jul 2023 16:50:48 +0400 Subject: [PATCH 04/11] bunch of minnoor fixes --- src/helpers/tge.ts | 25 +++++++----- .../run_in_band/tge.auction_migration.test.ts | 40 ++++++++++--------- 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/src/helpers/tge.ts b/src/helpers/tge.ts index 3395b636..fa744fe8 100644 --- a/src/helpers/tge.ts +++ b/src/helpers/tge.ts @@ -10,6 +10,7 @@ import { vestingAccount, vestingSchedule, vestingSchedulePoint, + VotingPowerAtHeightResponse, } from './types'; import { CreditsVaultConfig, @@ -622,6 +623,19 @@ export class Tge { usdcNtrnLpTokenBalance: +usdcNtrnLpTokenBalance.balance, }; } + /** + * retrieves user's voting power from lp vault. + */ + async lpVotingPower(user: string): Promise { + return await this.chain.queryContract( + this.contracts.vestingLpVault, + { + voting_power_at_height: { + address: user, + }, + }, + ); + } /** * retrieves user's ntrn and astro balances, lockdrop info and user's LP token balances. @@ -961,17 +975,6 @@ export const queryLockdropUserInfo = async ( user_info: { address: userAddress }, }); -export const queryRewardInfo = async ( - chain: CosmosWrapper, - contractAddress: string, - token: string, -) => - chain.queryContract(contractAddress, { - reward_info: { - lp_token: token, - }, - }); - export const executeLockdropUpdateConfig = async ( cm: WalletWrapper, contractAddress: string, diff --git a/src/testcases/run_in_band/tge.auction_migration.test.ts b/src/testcases/run_in_band/tge.auction_migration.test.ts index be09ca9e..c103f5d0 100644 --- a/src/testcases/run_in_band/tge.auction_migration.test.ts +++ b/src/testcases/run_in_band/tge.auction_migration.test.ts @@ -14,7 +14,6 @@ import { executeGeneratorSetupPools, getTimestamp, queryFactoryPairs, - queryRewardInfo, Tge, } from '../../helpers/tge'; import { Dao, DaoMember, getDaoContracts } from '../../helpers/dao'; @@ -1598,17 +1597,21 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { describe('Migration of lp vesting', () => { let claimAtomLP; let claimUsdcLP; - const votingPowerBefore: number[] = []; + const votingPowerBefore: Record = {}; - it('should save voting power before migraion', async () => { + it('should save voting power before migration', async () => { for (const v of [ - 'airdropOnly', 'airdropAuctionVesting', 'airdropAuctionLockdrop', 'airdropAuctionLockdropVesting', + 'auctionLockdrop', + 'auctionLockdropVesting', + 'auctionVesting', ]) { - const member = new DaoMember(tgeWallets[v], dao); - votingPowerBefore.push((await member.queryVotingPower()).power); + const vp = await tge.lpVotingPower( + tgeWallets[v].wallet.address.toString(), + ); + votingPowerBefore[v] = vp.power; } }); @@ -1714,7 +1717,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { xyk_pair: tge.old_pairs.atom_ntrn.contract.toString(), cl_pair: tge.pairs.atom_ntrn.contract.toString(), new_lp_token: tge.pairs.atom_ntrn.liquidity.toString(), - batch_size: 5, + batch_size: 1, }, ); expect(res.code).toEqual(0); @@ -1731,7 +1734,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { xyk_pair: tge.old_pairs.usdc_ntrn.contract, cl_pair: tge.pairs.usdc_ntrn.contract, new_lp_token: tge.pairs.usdc_ntrn.liquidity, - batch_size: 10, + batch_size: 100, }, ); expect(res.code).toEqual(0); @@ -1760,8 +1763,8 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { ); expect(resAtom.code).toEqual(0); await expect( - await cmInstantiator.executeContract( - tge.contracts.vestingUsdcLp, + cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, JSON.stringify({ migrate_liquidity: {}, }), @@ -1792,22 +1795,21 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { }), ), ).rejects.toThrow(/Migration is complete/); - expect(resUsdc.code).toEqual(0); }); it('should compare voting power after migrtaion', async () => { - let i = 0; for (const v of [ - 'airdropOnly', 'airdropAuctionVesting', 'airdropAuctionLockdrop', 'airdropAuctionLockdropVesting', + 'auctionLockdrop', + 'auctionLockdropVesting', + 'auctionVesting', ]) { - const member = new DaoMember(tgeWallets[v], dao); - expect((await member.queryVotingPower()).power | 0).toBe( - votingPowerBefore[i], + const vp = await tge.lpVotingPower( + tgeWallets[v].wallet.address.toString(), ); - i++; + expect(vp.power).toBeCloseTo(votingPowerBefore[v], -1); } }); @@ -1851,7 +1853,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { }); }); - describe.skip('Migration lockdrop to V2', () => { + describe('Migration lockdrop to V2', () => { it('should migrate lockdrop to V2', async () => { const res = await cmInstantiator.migrateContract( tge.contracts.lockdrop, @@ -2093,7 +2095,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { expect(+usdcPool.generator_ntrn_per_share).not.toEqual(0); }); }); - describe.skip('lockdrop rewards', () => { + describe('lockdrop rewards', () => { let balanceBeforeLockdrop: number; let balanceBeforeAirdopLockdrop: number; let balanceBeforeAirdropAuctionLockdropVesting: number; From a15987ec6ef2bf64591b162b9c419edbb23e9b6b Mon Sep 17 00:00:00 2001 From: pr0n00gler Date: Thu, 6 Jul 2023 12:48:18 +0300 Subject: [PATCH 05/11] astro token in factory is replaced with xastro token --- .../astroport_xastro_token.wasm | Bin 0 -> 306318 bytes src/helpers/tge.ts | 3 ++- src/helpers/types.ts | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 contracts_thirdparty/astroport_xastro_token.wasm diff --git a/contracts_thirdparty/astroport_xastro_token.wasm b/contracts_thirdparty/astroport_xastro_token.wasm new file mode 100644 index 0000000000000000000000000000000000000000..9f79247af05a4a2143bc39ec5d706e2f4c876148 GIT binary patch literal 306318 zcmeFa4Y*y`S>Ji~$N9MD+Pn)5h zX(;pi|KGLuIrr*XvIJ=!o~f1Gv-jF-ua9@V-|xHD?%naG*Jr(6FFT%359bd&&^uf_ zpub#Z5BQp&jDnJ4e){_1H`C*RZ@3%AMO%$Wqf`=A-^zP$GUFHwO^XNzucOFVe|K@mg<&Hb=yzln6-0`~C-gyV_ySX)&@xmMKdF^X>@^|m*<$5#f z-hJ%#cihvJRd2fMHTQn`S6qMe%Wi+mUH85AZ+(4qvS(g=-(9a^B=_BZ@3B`Oz3c0H zyVcU_U3Y%@SA4~ny?E0*>uuqy?|AcT?%wpMf9GAVKK8d`Hj_6VyX(HMzx_3L-|^ae z81E;`Pm}`?r4+K1nf~LK+p^47`&qx#1OJz0gSB2?k4B@V(P&f-M`d}*jvYIwQl?k^ z{+2(Z{%FAS&HqK69)QXEsr^ffBG2=2o(=fdXBhm)Sp2)Xr#I+lz0rW7`M+#jX1zh# zA1n<9lchfY4d_IVJUHIuznnP?-IL!bXmp^a2UN_np$mIVsm$Zjed$kjnQHb2S>DUX zCdoMYm*;w!rT}iBb{V(UPf5o!K&#(##^q=}) z2Kp9+82@Qdyb(8kr&sY(uI{3hf);kE(R=_9ugrJRm?k(bcx(Nt7Zt;y z)^0t^Yrnse73DCyH+zbIeVSMsTvj}gHOG&i>P;T#HJ|(GpZD+a5Ai#EcQzTk{;t=* z;l8iWdz07R^QJf7anGAyD`NVdYt6SU*XX@}Sd8zy ztGjzoF~0qFX!nlW@4DyCBAeWP``vflaqsP~zT-`I75UP~^Q_lolV8qWdhpO+{wu$c z9sAzmy~XzxCyQh6EB;CG{^I+KA1EFz9xHyZIQB!un|H3iJ^SX2p9iyd=;xcVcV>U* zTeEM;eyce4Z^~UiS{!@B8{Tm2^{;>Zv3u{m_t-u6-18&lCyO)Lr?TJ7elUOY_h;+B zpZ$Bi_u1?Z;=N;jJN^Cl#Ru~r&%ZDK$^57CA1i)2|F!(%`M=M9J^$zVzsR4?KbBMX zck*L@=l$ief0dukkNsx;Tlv4u&*aB`w>b7paqL&~V^8JBekDKld&RMj$>%zb=pcX7O)}W1lLHeY*JV;@=gYDUSU?@%t(`ULO0y;&a9SUHpgQ z+2T{he=OcsepC7O@fgLS{T zrm7}&*7R=dmE6s$s_xf$T~wzFZiPlouIoWl9hnYk=jq%~EuoV;wMpp-6db(7OEKOgNKi7Ay=_i|omaI>5#(NwMpE-hyhU(J?cf_Y4^)GYd{ zF^czdW|C7_FIB(hVd%-j}c60KEE5CNTD!0CwuLn0YcX7pO;0) zncq{#8$3REG&;^|3Jy@fNQ7V2n)=+c!r1AE`3SMst6wR!{_gsUv%9`J^{jrM?gcCc z2^PH$76ZXzkYM4J8PtOg76Xq!5E^JmRn0|$#lWzbd}WqBQ1^uOxqix*mE6{O^`XM0 ztkXmnJtlHvug4?RZ8At_H2KTC3w~BdXMvxLMC2B$3_b$Vo>rvSl&nbgEi@Ux6)Iod zoBW$B8>)f*sewAHzBkWg3@&{I$L1i2I~;b+ad zhBFnJdtl-zQ2KPBpK|KefXcuHAq{_KBGNSOf=j>H-lrLj0K*Uz9)Nd+;6GX$^^8tT zidOb(a^Ian^7#WT4_W**Kv$O$=J}*RV;PQ?c(2D;mzVTg9$6lx-(mV4q~Ct}E#tSE zQN21M3e{`vt=4Se79`W{q?%18OIpLM`o4Vft!2IxJeLIoVgb57pzAZIfY9=^r1;^? z3&hF*w2@Y3(BWSWdILsH8j^?WX;pN!)XpCEs4_3E`O0k69M6taKagqR4@}KPubYjaY7KFvH)+h07}&o2 z@D1SqFc$c^o)^~zENSgZGm_W=0Zo>I%!C07%LA&ypog=dcVvL!U3Bn9-0jPkH6vqQ zKMIZ46ubx|+P-;?qU6#*DITm_3=DlKmIl7r&fD7U< zJU28$-Z8vc#zGcfwU@sLjk3vJws$IYJanA@s(J64ttc4M_$aDnhk1xbpeKauXqW!! z>S$BEW!4AV8t7C*HjVbH|CsTdDPA%2pt#yITdLlXH*cfE`(MsDO}9&kw1*fO9CJ1V zopgV)>`kio@(1wuV-M!vkFd)oCfxs7s+1eVV;OrV?do)z*(t&%h}GfJU9* z;x^OLZLq$ys6Rs0wQ}Kprb3Udx^J?Z2Wp>%s(uk}Z(cn4mcNqkd0-&bODfY2PxWaC ze!{v;G`rn?;h&-62rZ|(sCgiSS>}x!dmq#tbn-aA!q=zL?`i!$oFAE9 zqBe8$n@hQTit%06H-FUAZyzUzzom;nA*z%+*9C zfw+o3m!i)RrGRRK-hf9YsU{@@vYqX{A!Eo$oMK~k#SPgW9-v>>1{g(u3-k3LYM?+?8Os?#N86#EtAfG8^j}MBd1+k&MvAhD6E| ztw^Mfs;?E~mTObySlrTMx<0>#p#kF!s;Q@#c&>W;c|tu^fCyD#P!FrGjcPOLrs6#O zspp`DkL@e=2(+5r{v!d}T%cX(0k(r$E7I(1iB}nn8asFtKo$7|!W&x#Mx+E)oeAv_!4a)_^*!+{VLU<}=8T;yYv&ePf;Hd956YEwK)7$#oaqHukyPo-*Q|M} zcVsrwpqDfxxXT)2;isCe&~M_tD=mxZxNi~Mw@BP~6x?@_G+XYAH=s=1*R^`s%y8da z+_&v>Df&!oEpgvm+*h2Sd0*Ujr{;!sRDUC?nfqEHD;BvggY3Ak1{R<#g8OzoKv+l{ao^FL`xe1{`*2_I#@rWy zaBXkSeZ{J!_+!tDZ`)CUA-|RTE-pvQeJ>ITwC2f1pL1T3%3-lee(#v&P4UL2co{4* z$K+YXS!&sPlX%Z(+rf#x_T_ipkY6WD5SqJ<`X(&i|0A)mVf9ZSJCPX=HuC%3zKj+M zTm4>yX(n}8Yne6lp@%X5_90zhWV&tsLYCrJYEkS89;ml)&<1w}jv85Uzea{ls*!18 ztQ$z4gY+zDaJ)E-u?KYBGPZ5z8Nj7mcT044+YQBGJ;W>*7?|Zu z%Cm6N!#OOMM)bE_eb`Lu{#oA~&~B9i`$HZbzhRFK+J`uu)++j~R)jcQYqtG<+9JW4ZZdv?xLFX5NLdxG5vJ;CC(@Gxb~?-?uy z=KRHT*e@02)w~XT|WNSCLCsC;Jl~DPPh8Op-UrZ6=u5bgfXafXO<;v`6VnWxm?GwnegDnwFd~mGz}Y zOEe0MnYAXDY8vA1W5Vr81qSiNGJCoNQ$*a2V2W~H&c$68;tnZNK@~~dp}h8~iF-$K z1-(0iK=|pw>fr}gUg1acmsCs8&=fH7wNg`yAGxRgp%r9w^l`gsO?4oj!V=EAtj*1 z)I!wW6zF&W!74e_Ik+t_LbE*(TJ~(L=_5AQWNk{Ut}^Q+R##iu(TUYTh}A(7tIHu) zF@D5zhl@tda4uF|3+q@wll{w8^tlv$ihVQbBv!@tDOeDz=KV>mikUC){sW+sq*q9n zjqbV&VhU+s_l~sRH#>VO+0PuZ(IItJVTVb)Ci{YHf`g4J<%A z2(jArfLO)8))Ftz#p)o$>JYIC-dL=%7K>t4_<-0Bv1)Ew$Uh!pWp30gE=Ma?FA@o~ z<`%0Wg@Y^jhDEg3_L^Cdq-l==s2X{i^>VC~I)WnN#mz(Clx!0S>Xj@6Kd+juNK}hc zXA&5C5=1_LA6ZPSNu?>5$EtUY1m~yQDT*TZ<*&LSzgm(rT9NuD!KsEMIO!$cI>TGx zeA8RSEAI_BRomcXMD0x-A#w&oP`qF6QBW`13j@^c2EqQr} znm{BTZyUx@aHf(a{W*B6L>Ag9XXk_iF;z z9sp!*1nDMD&=n$tjcdVcvte|~WFUpspCPrfABOw>s zUDAj~^{7KG2RD($GWsfhEdBASCgd6gawX~CM_ix7U>12%^Qo*;0FomC1wfA)*}KUh zJOs`|P0v=fhL-GIXrQ%s5A~*d`TrIC|4RN}!}#a+FR!-tZ|CZh@(1%j9D><=B`F8C zT+cFs1)J6m9!d37uZe#W$ zc_DKN?5m_<=Jku@g%m$)1@;%n4jxMmp>n~%I)R;B1j!B_pVJQJ{mu?nBQL-XUa9_i z*uiF~>tPO`%MPZV>|kWaCOdds{dGEI`Odb34O;6$djwi(P5X}oXbXXM!O}K$e(~(! z7mfttjL&Na&uI-g4f)6>cJL!#EpS3I$-QAzK8Nr=BZFWdV^=omiX7!(i%zeY)K|{y z{f_FD^6RPE(!5%YX(RhtrmPzLJyjgF4bIJG8-Z{Yi6c700L1(Yn-o7B4@B*4-+PzI zB3LwVlg&IUB>b0oghiR&p`~fmZ;iEuVZi5hY;Nf}x{*Dq2H zgX$#A(II|H3co~W2v``ihfEjv299Ub`cO8#5(`fH(cVMZ*R-Q$%<=~OVVYuB{|f5w zh2e+W0P~)TC;$tqQM4`qXjbd6oeO}>i@LU*E8(U<34n%MZ*d4XQ-X2s(L@KK>`8f+ zdgi2pNR|kVAnG7FrPT%gY&Etq`<<^yP;nbe0CwU`neObMWF z0>~q@EoQWSoF)+i$Yr03@Ga31MfO$95z7m<_iPVFg{bQmpt8N*c`&}op7IzliV31Y z6jL0QO7?dd9KcM@2QP%Cjy?6I;-rICer~2t2zivvvz@z+P>z&uD8es&o*S!;X;hCBcDOAD_zX^^J9!u3 zgPv+iC?Nuw73sz_vJmvRQ&dK@6)Izm%sD+(X!RiF`1$sD`b`g|95>I)_FkVK-~mb< zkzUBsN@5CC)Vs7!%9m&kIQL_hNmKsM1&}Z3#p)`5D3@YPh$gKfpd{i92(*k3<@K)U z4ysej)t87PwF>8DLZ-5L8rWXK!=Uc^GH%HHX~RvY{1m5YDyT2<)f1W2by|8jp8|so z`kJnJaTRZ}HhWqjBXs~G)bf6HAPVo-=`0+AW%FIe7to5PgPaV;6Pf7gTeO}nL6yPT zG%FJn)Uj)UpmNe(CQ}EswhTf#_RV#6pX8n6<1sWynA@&r`{opkQqRROJ=vGPE7R)V#^R?k7XRUlXDt4^vU&$^F*g=p4YT+V-$HBP zwO*gM#hh=W0)vh@PXuk+>)O%lpbPS@m%p{%!Gdbi&Z^P)W9Wx$MeQ(I?7+}V3FaMzbMp zgDi|C-kk2Fijp)kiD21Aj%=Y*bq0>q9)Obqe5hV26OGl|F4X4;k~0*RQnYW2mGe6F ze|>&8%|h_^#?NusfAa)uO*mo~Gc@7IfB5 z8Scq4xhJs#lyiX>RlX~{ck`T!L34bNqJFN0D$_;%+CG=a*P+jIME%aM=*ppcpbdUK zPt>mr_oPNGhtT41Tlb_Iu?lzaNF>rQTzsg+<})C|Pmk0KXVFB?MM_68^?w5+>;QSbqXb;;hwC(Qa6I;w4!TFa=9m$p<6EOvRGz#D2KS0zD_b4t6n6w5~&xY z`pTFoj7#-%hVD}^GrDxrTrB3U?J+qS}eLJg%5JjIqElf-l*T=a-*o|cKHi9G;pC`kP5h8#D7RO?$1d{ArpC;58s%qj3D zG}`+QonbVO0zQ#B!1g!{Y?~bki1hT^f%xsGQHwC&|N_0r!Q zYor(HzhaZy^zyJJV@yzw+xdA?Ow$p`{8qVlqK#IU70P)i$I+A?)>s;ZueE(f+>W*R zs7FudZHY$zFo1hfqZU}L$Ez`?l45dn%8;9XOh69p+O?m5jI{8Wgm{=G@HYzJU@1WQ zgisTS}Kn4)|rV?1*Pb9#By}FDC`7d&lPLQhPG&7F47T=>Q)&G`gX{c_>+B z4pxBB+@_$+aYR>}_gOm|WG%5j<;B7NM)+YFvbl`a06FI*?$J``+5G-ZEO6!L z(M!?%hBNf+^~&mH>q*Z_m6cUQOi2j0ER91~GJwKuC9`Br(=YjHnXyNsXq=gG&5x9l zZZx$=U@+@AUj8cicfOn_XLxtc@?KdlM|~_hNE@~Ir8ku-^PyyPP)V!;quP= zYf%V9YV``xwtAb)Ax*YyDk%yjBC9D{u9QOSy!Cr&pj? zMqR1YcHOSL)923 zRl|v!#ir1rJR`yuBB8CS;acdOT_m&}#!?JJ8cpQ+)k2ylvGk$lT86X3HaE?t@~IY( zi98r8oyw=$1wmQZzO@YHj`yj^dLU{wrT%GRWXm*UR|qIG?FWI z&E%w!T+X=LAj;*C(HKR3clF*(D#_l6m|j`$7S;Cai8PLWeYwCerm0pX=|{x0uX?IL zJynIQH839x&CPh+Aa=8$ovk!ENiJboV`w?b$QVb_PjOc{iX~^cA z67zY0*rKU-{livU07LH+jc?@ENpcBN2GkkBkh|@olgS;a$GKDr@Ifo=PyAsJV~p%J?<{) zIJ#VRL|C)eFq762GZu4l!JYC(c(VLGfoc#D-_QiaCIfhLO~BKTCeQ(o2CjM(EzPa8 zshp-fiEp>ccxK~}^pHaZT<5thks8=0T4az8TuYQ?mLL{_$HrVv>p!PaYMDm)O*ER) zHmL5T2Jw=hMaM{-$e>oCQPV3-Q#87pg>Q2OcY`-Xnjx+Cn?^4ewe?z3Eh4L-5G8Jy zlR4S-Q&^T6%f_F zrTk8*tS?|7)Ip*GZjU<+BvIFVAb$8T^9eit)9oA;boQ1)y zX+9wx-1NO6x2LJTD*~Cd69LL^i@0MvzH9ZHwUiKYc(xW5G}+k=y*kROvv4eCUQHMQ1?;pBnp;B52e+fva>_t(A3zz*fQ8aTA z_bisG)Z~DoKLZChAWa%hOH<2&fNL)ca@13qm274t_XK}B7YPNg#+yG8p&6^hkj?v0dGp+XM5;>wh}X=btNQF#tx>nwpP8zS9@T^H$zR%AT0E= zjLM8M#1=2HWMx8_MdO8&dMx%a8|M!+R@>P8IxD|wrFS{-WtwCmV5z(rob#5iui87q zRA9sf#C~q-!`75ef*T0Di@j~~ zW11PP^XeY4?dn;#-;4H3xL64@(;L*#HdHBA=rs(X`eyPW=`g@p$yQ+EiaN6q9&0;5 zqxYCp3o(ySAPv%Dr8|i8qILmC?$9O56T$IP;zUPR=q)cFSZsfPHT28bBj*O3)s}meR63^&qVdP#`{Q@Q{wQ-X;@VTyZ zxD9o+9^|{OVL=W?N=2naqyu>mW-5&|V5hv^D#<|5A`)-tNjn_|Lit-si+6wcmz}bA zzbr>b65UeA{!%+mn;1wZ3-&jVUUJL45g7>UE&Id707M>^Cfc!%m};<&bF`&b4Lh}> zNFINXdY+pTuBw`lUXpsa2n0pqypnpA=C-bse~?5{uY!J91UyhrWU_9<$)aeDfX<8I zzNoW$mkVxn&=G$X!mV?5ByZK++2O#Xgj={&B0>C#aFEEKa=!M(sGMyL6LaN+3uzR^ zy_z{=PCgg-Ms>ejN@#7{RX?7@SJwQ3#}wJwmR`(wU$GyMXCKn!yY~=;k`NNOL4uyqa3KNTexOl#3pMJD+R%9`q@o z2Z!s;%zM(SP|y?br{G79)v{SANT`DzouaK?tr3K<+9{&PLsc(r~Sr&-L z+?QGy5w8nq5FPPVJ{M@!rg`4P85*DJ^E*pMl>j)|~ zX1h8^&`#k=QSaL12$HmZo^1Fn;ikpmw&5mc!;fP5?02m_NPLDF5aCC@n1yf?M-^y= zQn)E4*Lj8xH)V_ACf=8GXBBX}5kN0Y1!<8wXNQ|eLddiK%QB=Jus+}EfGH6q{3DBxJXxgAH1zI(bdVo&x)5*27 zu*ocio4%l~o!Aob!jWK$XGg@LG=0+)*Dr?I#TK(3M22u)NQys{e~l>)Ay$36Rmj^A z5v>h0RpK@L1`aqywIo}8%3({+4B~PWJCSS^J3aZGI^IJIC6K~dAB!Tf3jJZ0L|25B}vgQ1- zhu~dBMQ#(%Vz_ScJ7b176QoJ)Z8r+mJv|K{n^YQ)5j}QY&zu@EMLm*2E@;sTf9qEL z%$ah|CUYU=ZE$vv0DZt_GeGhS5%vy^+yIyXC*|g+BEOqjnl}M;NbAu>ff-un- zf_%QZS~s@`BM`23P{m$jR8A)A4!t48xZx0zabpk`AS)zyFn`cTttq68c5;r^1ru2N zLXx|@FhCbg+noYc#@-Huhp{ATjM8pJ(mPI**9Nt@1IHWomArv@(9=Xo!q8r~F8xQx z=y2a<04cu!g+rFl=ulG15u}PMC!NFUJ&7Gjkp9fy2N^%2*DOg>W`~THt9z4Q%kwf$ zJi(-FBVX;I3lY!2#6-gjsp^wX2GwnHxm{sph>JZMwx3AMXc1J{nmTw)#6>;zQuN>; zLD5{D()q3G+mCj|Y$#}xn4lLR5rudNb=;6&!RvM&8rrFW4WWA+cE#&~6w!hj*V}3Y zG(M}5)&o~ddqEhC40m0@;>*TBwLB@&V-is965yn&1k~>qP!)Vz)K0|8f$0aoEWffl zGcJ;40IqXos*fs9hSR;23|bzUUMhwd3y%;a#5%^XSt3fsF>+%q{8IDaJLoB|o+|Q# zR30aCSZZ!eRlJ#uH@n>k?MZB|udN809r=anG&Zh4E+p%Xz2)e0l|Ge|XzZV|(&#pN zCu@ARo$?Mz0?k9pXN``y%bFk8utqxBjvVCU9wOJPs;g-6!HC{mDuJuWid4OtJ5J?U zJiiWdiAaqIM;lXEXoX=sJQ*9$^jUBth0QNMsF@Sw zJ_*+H(n=Q1uDMx2s>Ma!$`VLX%&)d`e7(s>RuU4UA zU7$b_hOK_Jki1I$e`It2)H`4QUHkMO?VC%T)d5Yx=Vgte{hMWktajhZIdmtgG)FNS8zn|9n4O%4BYHKwD301{Nh?CPXe~vQ~E!u34MFVTY zzXo5>xsQTVS}pqKKu4T>*vMK#d-qyLoJMBHqVa1RUJm;O8cRSEX**v5ch8Hq7z54~4TRSYX<-f0y z$*x3iIq4p&7XqKfHUcpJI9|S4rqTHp-FajN%zNGag#bqHZVQ+|{uRhZ6N`=RyXwo6 zpxqUM*1YAa`tlI8yDVsTr3IGmva5Mmk$auc3&WAHazjFHhs}0X|J>ZhH<#DDs_)Cl zHK<8jH8EZlCIqDHkladQB+A|-Ha0Eh1rH!H25IApR>)p(6F;Fjh}dwdbi{`4e?FYDyWTkUgrRUDIHh;D z#i`&;hV3>i?}f~*9hTa-VAw9coU$<&VXIijdEp`(|9r4R6i{c8b)&#+DUsu1a~-gJ zbBS2Fkyo;5J5|J9N1Y1LsUo)Xk}6`0F;uQr74dlhRz)uIRp|v9l8AII5$Tm3k*;Y` z))vRZE})J`*E-c`Eyi;tbtUa}B8=y04Sz0mQR87e3SkjU!B=UciSq|K4PW-5HT>L+ zCvSdPsJbM^lg~ALhI*NTI5T5af z&{qM7sDe+cV5kD{PzAr)*7(8!L?Fgk6QL- zOHT@_qd+LAuB*iYYg8A)J8yeH;JkGJ%K7T>+-MB`C|_HXyQ0INE+pHLY6{5OYN$HW zsDd=Eh+r(Fk%F-@8TyW*vYCl6lVnBVd6E5fDFd8=x^lnx5H6=H zaG3g{`-N`pe#yj9?0(^D?tZ~oT=2edEbjIBO>S(u!cXgc!G$806y6t4#NHQOwceLB z1G_!UFIQv!U5a<>eUZ)Qb+DuSTwf3PRzaa8)$dVP6{zj-unoH!pl%z3U5JM9Yqehu zpd`_-llf(ODbgCNExHuf37iqHu~)w{GF?}xI0=1&A)T{5L}yET;fko{sYDOz;6Ot+}jeW}7Ha0-!Bg_;i4h z8ogzG|Dp-JK~2a)2o;|WFy+w=pfCy~%5%r2yv-fYDKBd&5AroU$f*lcD~QA%S8Rqx9e#nGUf(*??BrBsCKq2&>mNKoSRVWIMHE{-TksK*W%AV_8#Ypm_% z2|W=ked6iNt5aR0BZKJqqdtvvY@3cny$x||IlzWFmE z4n{6<;#P;lPSdzrRHa;y4TwmKwWPt5QXBByat8MJKhD){4F&MZv6mWmXuSWIZysx79Y(ZlptS}C|Z-{O1p#^s+s^TmlIwk zO`F3%LXl_u4oVSpp?NBH5iINS!sqrm4^srI*F3_hhRt8#ohP|~fId|ACRh5?ABvA; zwN8*Xxm9n}xg>z+Cx+QTp9DxD2IoK`I%BUh<=X$H87Q~|-;Y_)7%Z4goBJz1;}Fm) z7_#|tJ1#*lMOVdXJP$Gd_BjvR$QuupyK7{vi$i4a$L^O|X-D5ib&OL zcO%VJ;r5D_up%U>$Nv6H7LCzqJ(b@C#SgItZcf|+wglG8^@?LKr<;=x=!`5wJQ zK2h7sdwwKZnZMykI-Nh?8z;_s!&?>3@y4e=u(c1|PUjreQ)j(_Z{wVAeBi7%FuKqA z#)D_Q;V}9+=JBZ?-Z~E%+*+vTgVp0_y&;4ATyH#d)*EolbH4HH4{aS4T<)B2JiYY| z)mMbG`U@}v2^nxu_yVbi`Y5z;6qOymT@7S#_I^dAG6kaOMhw`EYR@1IoMiM7r6K|z^KP7m5I z$-vbV-4<747f`Eb7p<4j;=iz!UNqk!@jsUMFXmP{REdJEjIN|$i?wiIwRLOkd8G1% z>()7u&0LX9#9yadk7={jtuYW@pl)sb-}-(E!bI>MPTc9%Z3uyRrP!Tj*v5jnq_UV% z^F9H9O)=7~lW%AK@cZ?!Z$q|yF8=IKh>%h?*Rd%{iU~X0g(lwmp4>s)OUG`Xxbww8 zj_YpLvCr3D>-zyM#hs;7E+%*o(oZ^ND)rZ>##?pDq+`P_k7B1uy7P^+o>=lw z0@6A*32vHZ`asvBb(=}jB(-~!j!kFE1eojC6l||!(~XG+Gi&klT-LEScf5^`jm>2p zyVt?PA2(^gROVqj!C~=BWvSHgkWdPJv}7u13nn$iSS3TMAI~Q5%(@Tth|tvjOi3H9 zf`ZQmbWnycB$RXv;eB5HpCFkeuM}&+53iXkN@;<~2=nwgC959`?V0H)F_sz{l1IqM zc8Up{`5urovQ|F$g&v!~9)@c40><_gp<)r}l!+dC4b!{2w`0=0>tTj`1IPdYo{&=X z2nn!Oht{YHY?_r)uC4;Ql9dU+MYS_rIw7iSChGE_qrd%hhK=>p;82 z{=(z{O$@*E#mqHKycAE_?YYp(!-l)!Q3Tj7e2@@{kT zTTb&>iKdi(& zsy36A;J4cAG~_)^20=Gu?$B}`kbT#H)Y4LChMg&5`(nT0puOg^G|9_(^=n!LeJria z55_-jQ$69c75mLId>u(&Njlw=#SSD`1YKe!^JxBnL*EK+_Z815O7^TzDfHe~!wR5R ze;2hvAbt}y0yFKb4B-M=LV}xhVxuS*DY$=N9 znp&pT+1N$i$D@7!wB2v`%v7D;=KE5$-(m+r)TGi00o5R?_KW!1q3PVM=CntNy}?YL zEHGip=A#}}nhorsY(7EBk~AWah~tN-B)U4K$^f3fK&tv5_yvH~S88+so2at-;zT3u z6xDjPAotNMtU)m^P%|uDJ*a*iVCqX%WZ$o_M-`?3V)~7?cJGj+b$HSPg70TZWj4ib zMz;HUQ18(~ql5%#y@WKx=d5NpHu)Tr0K`K1Xhom}EQc}6fo6&H4CVpbP6sXWbwmzY z6hIhmr5(H^o>yNf*5#81`TJNLX6fYsEbI|0wLXOD$Xt&ez0tjFSSohAQR;=#IQSfx z*7R`^pc}v*@ECnIVXD@yXBvaB=u9Cc?9Yjhldm!3hxC5^vH>i%4YoX0iLL>xIOfmDTZ9Il=vwR}H!DJAO&s_k7;$i5MihKqoc9wd7N=fi%B;GO z1e<(v7q^Szl0cH);DV4uz9p~olQ|VEo8~1%Ugg!C{BE9^_rTc1 ztewgy8#!saVymo4r!&Kf{A2{Xn(r7BXLrxD1?3)mi>d)xAZ;fvXU!QG`3UN4AQ_T- z7v11d*zJ{?vEX@&)DwPh1>hF%&`@%rfMni#?0kQVL;L1tOwo>-gGXsG?R=+w`qHk2 zTyB<`lmex`t5CM25Z>toK~q{nB^c-s0AV+-%Gyn^i(4;|e&ctA$F~F}d+<`RV-WnX z9<$`zNxL(Ej78|_iwE`MX^ej&P;U@{7o>I2K3kHJZ3fDev^~J&nZrkc@&5R>BmOF- zS^zME9gmY-@`eV&FfnRx#V~DqQQEZ%ki@F6Q4*liCC46g@HaFQh|L@}TA<>U+6vP{ z*;J}nEQr_1=xWG*C}~zO0;l&&v$`7g2dAqY%W({a)kH7C7H@h|aE4Mo6nOSVd|{;y z7iN=bp?9z@RqqV@D&PiFs-rNpZ~t~Fyp)gm3Vy)oJq&z3`7I3t2O`mZq~V$6%PXNi z=w)9~iysfo9wy&~_-`{rr;2u-&G= zDcs132OoTpojqb}xx6)};J32kv|m|g3BmQ_aHFzyiZ;Kaunrnt_3NcQqwFZBR#|h z)Y3SP6>*!K!a|#6+ef{8WA8XahAMh*)6mV9fH5-36wrcQvPq0mtSPZIM`2KXAuTi%3`v3iCQ$yY2$Y}<^oOKD=RU^8Yg)AQz`CB74%She&^el1 z&M_H2GLXKai=>3wgkjC2>Y+@Q5>ZB~%6vgh%t?vRqmx)!ztHXEl~O&B5~)49@fA#7 zz-{wMJX5p)mP%{$_Fd_;vn9T{O``)HKv7F#4$^sCU9QJK@kwgP3?~`nrPKhMbs7-z z{4XJBZ=UeDuf{m7p=-?IHyYE|Zh0(KkyfHHOs>=z>}FGA+%ao(xjN%Kgwz?Ibmepi zoDZn%({WQ*FGI~m6P4S{E=QDJ1&=eFDs;n+OdqX+bB!b-8tL@mUh~*P3Wk^H2-fO+ za1qA&VmNs=QQT#2n`>o0d}+QTxwL@s1Q_E4l`1?zL4oL%-K(z`$G_%Nc)G6b^<>-T znbJ*{lAjjkZYi9%nWD94&~~+8J{b9=4rT{HH9sS5aMg19JY&|J5AS`HMge5=boxDG z#lPV!5BzW13c`D!C%Gx%I7W{nUkt9Tz15?zNm;z@o@)mTJJL8MnT4H>Q{O{Iwv5w( zPf9wORXJlqCCWzAUHaiT09Jp5j^_j2XX}9i!w#Q@#;27z3JmpW$%7as?2$1FC>M<8 z!KW4QX(jM!EPPs7Xw3K&jg1!@*;nTR@Eqoe>6@{}_Noh3F;ZxN-l<tX@VB z^bVPsw9`>~G)V7!g5|D>+mB}8?$cU(Y2w3bXW)=<`0m;6L;2UO^cs{dmDal-HA?09 z;G0Yo&S~k>OGLI$bE*`_TGvC9Gs5MP>O&ArAcT^fd)14%#g5=_7kX2=sqDj33H3A# zS($)qVCPsg{BrJsaNd&!ja6`c{>Z|h7ls=KR~l+x;evsD75sh9+P;9{j_X8 zp;9X^JvqNk8QX}Gq!I2akBh?aIYF-ti z*Pw>#S7eRBrM@*`26Q)Be_rP5%lP$@1=H=o<1S|LhVZ3*SqnX*O=dRld;wybRM*!i z;4w@9(pWb4ya^0m9@#1|au8^ezO>5ki>29{!BvNtcj5}culVNh3I(lyLfm7C`zj7H z7{kB&)qyBj78?PlMAZ6&HwFj9TE7?X!{O*w%w)DIC)v^=0x?b`7f<3y9v$5%{JjDa zf_<$9+(%&XY=^D^K1j^L3L-lBc9t}MKKV|KSO*<{Wnc)}+He-@xFeqWQ_jYv)d08Q zr}ybzW5903R|6(4rRVl@K;AE5Y!=63C|##EFjH`(^4YXvE*cHTbSf0SB6Ry}gg7+@ zd1_)BVkUt~!Xfb|-x-P8QS-p)G*tH^S`tsIzD&*Rr%Nvz+flcNW~qr16r&_yJH{L1-@9K={O9nW_yN(&&bexBWFn`r8#ef+}V_|#1)`IsB(G* zmsHjIG#`Wia+doaW!)=06^<>Xd?bjMl5G;Dm*$DmtVowAt)`Wa#P%>}`Z`fs`^P{* zIJ}sHJanKeCneNE*s&1LbtCHtOdxw@a|)BNm7>TB){$MTDO=aCp7jM@p=5mKj)O79 zw`h`H$O;~zd~mI0rdbYN8`V2-D2tTT^$s=Su6_y)URFam+wEy6e0BWwE;u{ zeN+v?+Ai%OaG*gvc)*QUfyPh=w+zMcjGJ&k7h2llBbq7i8vdt3s)5a86#SWz zh&9^x+E0GJ%!>yK#ibSKY2}#T*}^6zrdu{S7JuA7wR8+tn?eY-9S%X4_2jnMkdOU> zgTuWxWFx>75olDr+su&<2n`qsGY^eGaqYO$L1)B#xAgt?^MI1DrMys%yglVV4!iZq#urRgA9~O*2u_c1z z!&cPxOYCq3Og#9Yf&d()BZ8>aUsazQT~Js}U=@$ZMDlFy7Mveu74v1{o#0 zGLdcqt?9On152R-1B9jmr!jzby(|R4V=?F&t+L*el~Z5%`Yf{NE|DH;uK0#>TtUjcN3EDxlIB;(fJ}DLWrEjhX@f;m0cvs*)uu< z3p^Jyd>7cs8!6EfQzkJ9_1KP-ODwy@PL%Gj!Y7m{3|0aCpUo+**^X1NUvCSixZ-@A z0+JV}Pylp3Ew1+!2hV0?!8%|Ab9(=qJ&A|*pWS<_qh3}NMPByNGQ!Ijjyv3a-Gz}A zJ#S0FOWOOFMCu3(e@4~o;)i2>|L3|_eIq5v_UeC~JWMYS@(Sex6|9!Y7mz z5|kIN{YL~joqbD_-#|$9T8<53&^aT{r99-VhBJ_~CNc;-hzatMAjkGnL26Viu_ZpLlLQmg+pG`I;>OTF>Q#x>Ao-g}J z6%@)x&3IG!G|b>r4^j965_MmL$6Avbab*9L_YvdMoaM?4HVs3$B1d_YgG*C=bXa~* z6gPXg!Qj6auIX8iH>9@e5AInu2qj16piXw!G~ z5@>T7|B!-*V>bW}VvQ&bP-HGRb*a>whTddvQr%SNp>JZC0>pN8K9ip>d)obc^xJ4- zNE_n$>iE}HFcx$Jw7;SI9lB?Yc>dY$c|f^CC4JGJ=YOc@&Xn%^{*QIPs`ss!H{bT{ z+%N0iF2?5Fy7zOr?(^nR-8=Jo$^QSm`JhV1FElgSNzl%WjvQ!bMn?{`GovF1+L_Uj z1MSS{$boidbmTxgGur$*GNZj@ks0l^a%Oaw1Fc;r9{ri)jI~E@`{dW)lUowqnB9Zl z!E<3&3+@vt5G5vXf4lC5v= za|jeWt>K&ein^QAr=rkv@)D&vdF*LU9($UT#~yR?*f;UNhrXE}1hsYK?60Po}AINu5>*-f-c{SbiyIab@GeS!P9#n+J&J!wNYGV=|k znrA?%`5h7}nv$Culdt0J3og45znv6Lp(X}S<=<0f#nqHc4@j#2&Otz4N#S1r;*ZU> zA#6D$8PvYw{_aZO2;W03tZT=lnY5n?5geRu3-p>k6270xb{{|PsCZO{fCk#D(pFAB z(*5%Sh(YFhG_JPl8}eHi_A;X5!HzW*)rT_B*6XtagH7QpzKdqD;v^X%c(a4$3$N`> z8YKQ08dd~G-jeH71hs}2-*K9Of;@Ikhp(TLwy8-8gK9$pq_h_iq~-uQ5p)(G?{K{S z78EHjef8ziMw5TK>zCSUO`WD#LQ!*%pV+NKXUz9Doq-lj^L0q|V4TL=t>D5!54eF=r96c~qpK-)pi(4L7{hs5b>H{^3cD)#7ly*r3?S#tWRob ztKGM|k6ZYXxWSxa$;dIq-p#`&sGBG@h7_c@yIzMBB`v7)xOaI8<0LI8h;3gk(CAL) z-Q^Qp?x7mA$jBDngBAh8yg={WEmHJnBfY89?L&skZDtDvdJ5VED77_Mg2eNlh zXx`ME&zl|ue-8T+f$xC88FelKM_P->^-bkfn6L<261z^set{%DxJVMm2fmHK)}dh` z%R8BbEN3RBh^^wBgT#15YFJ413RdwftinkbS{~94ygZv&MUv~I=DA=M#G@tGwLxf$ zTqoz@xeURc@);h?Q(6SAl8NwnwyP+cAvL4j+)1*pi5p9@kKj239-b4=A!FQCCEA^Y zqsL#}JywPYEzOoY*{*}=B|gUOrv7~tK%)466GvF9eo}40saiqp!`xkn?40dLBHPD$ zv->IHugulQc#kYT{KZ@qX(W8-DP28fM&YmRGK!8btVn3{BBM|UyQ^+iu_CEG5)rkJ z6y0E23k8a7j>M!*-F{z_r0fYJ{z99NqYB&teBP^qW83hDfh%(00vjhDZC3ph1R1)9S7xT;2v|hPju05Z@zk7UZSVpa z1s1r$1V-NHEgtZ=Cdbz0;6kJ31efL>C}(0K&Zu}!Ou)!geL25m*1VA)3H&$#VT+an z6CR1{@Rv=%!dt63d^^@<^tPbqjGCWyDIG5;I*^0F)G0b2WCGi1I%f?}yxA+i*tzH7 zX?7C8^H!e{L?}C~#_{|t5#Z(3nn?s~fr6(GOa8Cd8|f>km&yfNld835JriyIOBlnm zi+s501t$*M>C)hKi6;klUhlZ`1uI}W`(Jk9<*>-(EZv`mJq3Z=#8f`_7;|^5wO0PH zQE@C(h1O^qwHaj(n$|%kCe>o^N;G6MCGUb3k6)Cqab)h&6&qeNdXrFa4TaGW%bW_ zOjfPA^?954eA`3}gLXDI0XGusJ7nX1EH0fc4`G%(qap6# zwMQ_$zU2o`^{SuHc$Jyq9GeaRv59*>&tUV-KYkP=P4gh+o!O$39@te5uYoEvzUKG8 zpUOles{fwpGg+1|cunVitDm4YC(Ndub?UOaZjzSoJag7b})qr;PsV{l~VI_9W4{v>VY6Aa8cy*<#c5z){W8fn086Q`Ml%Vev;xta`47RjB1I58kEkm1vf$3=!= zHy#yfISxxo>~F_HX&Q^KJQiQEsMOO_2?H6NUyOd$tJXv2CyOFAwSYYWR@u@%Co6;* zqMY6>=WaS?{c{~N)SmbJbz;BHQmuj+x+`o=al_e;V2kCfKg}3Un?@KcP&uQcBh{~@ zCt+mc64I#n1A`797h`bJx_6a}y)?i4zEi#Cs_K6u1<}WE35)0vE5p2}`e7MB^Q7^4 ziXuIN&%;(N1PzBmdU)JWB1$ChGDse^YS?<3RHl4$_E8+r@7?CoN(#q=*uI0PFqd!x z(4)E%9a%E@^#jtW_MjMF{&n>w^=1C^HG5Zz0LKpGL4X8K`mwArk5^%aH2+v8mN8V$ zX*aB38L?NV9e%J3=MYmbQL?#!(s>gZ!wX0&{Zru?LB%u%Sp%2@LD|f{g^QU$3m5aG z1Q%***_1X6sPXUBm-CT74iXAn&8mN`1&A4tIxpx?FOigv1rS0?=smO|Skd>GzS-8s9PD(Q=+KI9A!ElVe-T4M!?x{&=W7471QwjxP6;oean+dN>R!A>ZjH{ou;R@n ziGzQUXREowNMPn;n0Xc7U-!gA>oFRoODRCdS=CMh0#~E~-5nYbn@#O}eqYjnv_7Ec zf$7nU691SQpzN7fqlQvvXVC+d7O1%`F66v~30>d}dzR+Ol!9s{$JgLT(3f zK$_36(|FzkAhpw!{b?dE$(W%O$WVJwh4MHI9Hg<+JC+G(N(Tyw3sc%w;%3vbmAZdo zL!^I^hR8*`iQuyi_uwB=v`11n(&wQn0y0v72>M8c3z@7F<&Z&J4HSK95$=H$oMr6d zS~OA22oaKpC7BgZ;m>C~$*fRHey5mYbb_l`LN&riv?TF**ij=S*mf_H%k9xIF!`4F zQPjwh0Zt?#GPGX37fFrMmjXwcN(7F;LHTv43`sh;q&g&|y1}ReVCQviZQD^`h<1>E zc&wjmLrf1tHtD2Dg_s~mW;3U-0Uq|;6c$mVF2sabDNJSy28lOUr^=$;F2p2qTp-&v zZgqeTMYf+?3`K?i+dlbCAtc5`b+A8?k3&%kK=p9x04jx-x>(elxR*t>o5D+~EE4Zx zQF9Vs7S(z~W7~{qgn9fD9prYI$zFB z+q-g1KZk3f80dnR9nI*A)itp@2io|XW^EA~k<^&AU>nj`*h@uCTI!KRFq6>g+zqf0 z5?g|EW~izZ;XuElq( z@IjGEhE^B!>pST8{H#BluC?snVOAV(b5rXA4J`JfUz8sTdfp~Vz~&<+#FOoU1oIHW z)#BU=IVps2MHfOK_QCs-52OXmdQ#4O;{8d^?~KC^EFvZ$A|?u_Av|jm?|*)CL8kR5~A25A+%%dF=ypWc%Q9VAM8R1-hlQ2pTZhF(5~cz(u-@g6YnA*CNgoh zeRYFk4UTcKbx1!YS=!cb9XE%!`+cI7osHXi0?Q=rzwfF)N1Q|FMI6wx z<3-n~xCHMPaUzzho69rtj;A|3L#>nZ5{*UPv0Gv=XSh5}>tgQ!h|wtJBU)nyltF!6 zBxRYJX7}1_h#9&pc0YEqOu}Qb#4Tu#D+Dr7tYgx=r;x(eX}f$N4&|C<6!t#HnxlUr zn{&3Kj2-vsn&M0f#4t^adU|iin4!xv!aOMbTrCB;WZu zWqC>ba_kBJ=TL>k^g4;*$jrImaM1W7#qh)6$To5q*Lw)kWh|`Yh|ldTtkb-^H2}0= z3U$(Ri|ot~%0fDAhhs9XK5a*i1iFo@PZ5BZb)^pM>FiQ|r0$^b6NBoEq|=f26SbAN z<2n)!T#b^I|`9bp*#(GJnoK-002YFVJ zA0%swuEN?n6Zt`yA>{m|bN6L!Nr-K0Zo#_Id*=y4R)3ShmAtS4D{@GJ)1%r`eH%;4 z{tp!9F3@lP2N_}W0?k9|L-K!c`Sd)Kh&jxwNy-AQd4VcFV<~I@2io!cS?J==Efkza zDz=B@xG!5$t!d<*CE=CV#|d2LvW>oycEtFwp&ac&3Jsd~u&(Iqn{1eZ%;TL|gmb(yy_p?J^Py&zzlR<&45JAl_M1 zgsaCCH>Fv5E$v>DIA55a5KKjBZjlOWb;RHZuo?y-TT`CZ+5N)UThJoP7xJv4Ydk9k zZtLuAK>;rTxUIi8@e@fl;IM6?l}`=;uo^-BscgQubdR7R(W*7FWMC~Tnl-k8g;seU z4*$Ff02gRvU2H1Wxwt!-m@=qjE$Jj0Fw-ZdiP<}-rG={TK(e%ZUK4y4a z{V4=K#!M_q-(=?72Kp$1J)xLl_K(6;RT4~92YXw))X71J%l3}gh7Pgf6{^B1tje+! zx_vs`p3d4)cqATxQV)6(5oBNLia(?3!`ij!9yNjuE(xDY*U{)J&K4MMkG-Blqgx!fhFcE~v`9OPpKv~aphKAk`2 zoU?Y0v>_?9P*HEI9hQbH4grWiSLLTV(kPu|z{+c12 z_^Z2>W;Cj`DJ>SKH=^nNCr%N*ul7*^AR}Mp{FD$=7ZN{?8%VsgR%GBzWW{RXQdTS- zEJzhhMlfVvpvIKpmVEhV=CTY2`n;O358wE_K<`QXY?l_>AqlOXD=pS5^_B5Cn|Ugh zPYWU;lQ0QD8%j{MGuHqpK}=bU3!03Pzlf-|gn=QAFqX6c=qmb)EyTBxJa7I!XPgbw zOE|nJa-Py#3#^}6Zo~SGv}Z(Zt#tD$BHeI1E=HtwvS2d$9ERZUX0~iNQM#Eed%Y>$ z%$5^kor^7VmeBQ}yhjymxgC{bwT~DUU!)Nr^}Uk(?Z7Ww)>`scOE7oGdOa!CI?PoL zEfwq8`YNASGi_$H9elRPoYKJ#2Fc`p^{+OG z&Ll?pYea&?i)hU6O%+>ZDu;Z2?GZX~KI41tNOwAxt z`xNSkF77SxH?@M{#up@`$&LIVF4~b!p#V+YC4Y5%7D6`LOPl|X+k8w3fVBMq0!Y=v zq#3k!vku22@V`=u9gUiYV4F^%4qSv3M-55c{6(gz49!kuauYG1D6{Kl#Qo!OzvqVh zbD0$SNWWcZ59)FrEPqpb)^{WAd!aqmo3{rueKrGM@ei9kUP#6k`*Toxx8gXTEt$Iv z3HNI6=1nX?a^9Id2?5@YdA#9Z_fOIuK5ELOAPXDlr0JLRvq?bcGa!^=@O$%6hY;bjV9f>W( zvSrN#HU+6j&E*hX8juOhN~Z0K3&adOO@{Nh1em!GLb9S&fCl~&TRTJOJ`^B<4MxDH zavT>M*|1(91uv_l+yW`MOlI{0DX5J5L|UvMCiRwOJx?NKJCMLG8d_KmLBzgcO~i0M z$dBRN^q`esY2a3?u;v8hHHCjGO z1%~#lWynCU&>`C~UW9b1e4JCvqszy^pE^=P4v3z1GYAR~sGzexY57I=03X`XhE(sHYSFYGtg=j!J&Si)Cl!fFR&95(w1C~D!W za32OSKbwTFwrd|;{HG}6BMu_2SQRV?PDMqTkd+d? zG;^;OVTD{~>iXGY6R=AT+_L0#2abtygl)wxau!x=#@m>3Qtx4Il$29e7v|*cIMufn zTIywX%gB5oXsbxUUP&v!|f~B$d)w4|L9L^Or589S2U0FlfJ&z9N$m{eX;Lp;o_+J5q&Hmjm&zlP9Rb1!)BMRAY{G)ULy!#4|``l zopYreAd0I0B;L<4?G-=l61j%rUh|Yuop$AxP{GG3sQwU^j7ggMPyKD`h1tcI;f87w zimUJ{ko)T;WX1MqPbfG00h|}tG!-n{MPf~39QM)pa$Uhga+LtKt+LDVuxoK<*No7!`O9?IH)Ji9`PU;4s1>YkyAh@gTB(xs- zAsEF(LaPj+<*vToIJHuIalx3N2xIBJT+0az(!k(12CP1qVwPLICFEs}XBjen;qnq6 zjm!go$*B!oi~~BGQKV@<$BeqdyLYuWLU>W}+0n=-dW1UD76!obzC~&>{8_ zr}ei`l@-coP?mY}G{cI|5yFE9-C3HYj-9N?3&Bvo9^YqfS<&Z6N*vEQf~$I;5GJWD zsvO_{ytem>=0EpdE(u!w9MMz;!`07nCG~(;Rh6UY-*{v1b==VQ-Bf}Z-y1*2Gk%{S zJ&2Rw$AwOmC%qD3fypZR3&d_{EJ-fW^VmpcEGj|pqcD^wvRe}f-VR6ugJ!g7r# zs2#HE`QUecUpyN%*XRV+QS(PV{r0czm7o4(kZP51 z%WhpWxsCjq=`P02h1=RiD`a!A+55+G5%+p6aYr;?Zbgmq`urMx(Cs#;r>=k!^Fcon zg7#HU6{x2QFjX3gdUiu7^T?y=7NSqS5yxx$czO*j7Q*R03td1`ET(W_BwWy@JuS__ zqrh&+*`O^hv2v_HcebDq#|tg(Vkn)W#R3XoyfmmaUR)uot#o&>IHNb=EmGY#{}atU z9Nz}Lw)dSGhY1vKYzisgU>6^7$}`}Ydyi8ts~!kx)X?g_{9S}TZsj4O`br=YOQRijTeUp!`aRy^kLzb=Jdooc_= zV*r9ia2<+^z!4brC)CUEtX{;VWUOt|%fr@|VrqKa&CG+yZKDw60t zgP0=Crj(;F#t z;QkCx{lW$qccC|>DDsPTL?AOw*2Edv8 z-Iu1T4_kuVG8;C#6)Ig;1?&VJt>alPW2nnfr+Y6p*^KAiHQ{|E8CdGR^jo#?w3 zpD)d6{g$-&ErKqY*9Int!}>!f-VG6XB3^Ole!NszfJ_Y}7-%1#JPaVgOUWKr-{63c z&ALU3l^aR}59c1Q2s8+8C3^w-0EaX34|YxH%`;-lj8o94b)vN0VZeiR)LfZMrb#$L zrh6%y$cz?Fh>V`buq1)p7P27v7^gs0Q@zs%sf7*p9a8xNI&w##7(xT|$oFBSB_g>BQ-$zIz;(? z;N&?j!5pc+AJ?mwaF5HptbRHZRGUw$@G=V5kElrX{zye@?TGEnL`dh&w`;)b%@1iN z{RJmy3GqWpoYp8Hu+1yZ=0`P>8jr$Y$i!DX61Z3%LvUu#yuAboWF&jkV3*w|eIc31 zDVma#K_}V3(7v`-(@<6%VpZr2f+A(Uvn1~LIu$*`Xq+hK1`C}3R zO4e>omNLR-4t(;lHThnJR>uBKo>%Fjx6C-9TZpFo_aoDuDI{aDLEEM{+WbZPDOr|4 ztVcvS%_%;v{gaBn-isk}OAMELFO+X&ZJJ3$|q$b>$k4Xbbho z36jyYaI5iLIm{S!IaAnCJeZixz%zD>jMWa4QCh}U>i+)!=Y7wfy?5`$hbU35F&Nz4 zJs3rJw(M@m*NQDX7`0pZ{-w z`y;?zW7hCw;WTDs_%SKMuu5MN{mdJz(Z8>fKX3rH9GU`OV3lgcRS=iinc!A|sc=3kwD* zs;mGUr)DbdNuDQajPWrL2PlsTIHQ9CEomI!`*CoS-2Nh+w!ElmJmg+U3)E zKgy-l$$Dz{eax^Uf++I|&uCj>Y)b?&8rTmF=|CswdVv#s^w#8#SYW#i5hK*L;}WZ% z(aI70CJzV{ROS~A1fcPkRPosUR!dNyPH|B*L3xmIzB{X?C!v-;TutZ7YeXGN*Gw={ z9c3(w+QOt>#P*M-Mt3|^zK`by50~F7*a*JWQ9jcc_=fA8zeo%Wm%cPn>6H9Mnusm$ zmOG*s9TSILdXy$T0#gQ+MC5#H>XrZu4Gp)EJ~(472Flq#@0$)lQ;#j)HyL5gwAk?3 z6Sy$>h~lN>+>8JDgnHC4$#r^?mkm^60>jqUw^-XZbdWblUebE?tsnF)R4QaS0NIx? z#XX6h6m{h+P7Tod+PekGa~O64lq60DD5Eu*b>G2*%=_ICRO3ICR0{i>*u8dTnh|s= z)+OdMrP#opS;5gYQ(SQ|VV3Cx(_#9Ge$LZ@Ech!x*atmiDS$sDik21Tmnpz^VCi}@ zrwwJ2(mjU4j2HO7=vYWaO_n)o625#GVIV>#B~B4C8Bst(>?kPCA`;peMkvG+<87L2 zVBy+$U`l>$=f8qV6>*kW4^STdBDR)3TTIKb@E76Ci^NwJ!{a45F2<^HVqmnH+t7wF z{G*@U=+ti!N3@H)!?~G!vy8J>lRXF47WEoT=q`SVZrC4B*9aSZ>0Tmbvz~damPs`P z#TcI`Szx%Y@~|okg=|K8lloBs)HQU{x(wdNUcXYT z?ABcI%JBEIa)|0(b1cB-tDlkWpiNqQ_0wE6!I_elmkQIC5=F|yl+1%5pV6F5Pi#>W zmzNM_V`xwp&OhkeJJeVGJkZ1(E8zJW7sO7&D&S2IJ208MhK=-7(uuIFJyf3QDxDgT zd_m9}z_8?7<@XAr10RF&EKHC+VT@%~| zg#-|RDM3t7OehD6Yk`=zpwX|-%r4ZKv`}UU%&fi)flAv9H>4cJEa$nB<#Zh#eq2*5 z9$Xj@^%bR?H#$TC)N_^tR(|g+EvXpl83O>vnnpY`>odOgQhSE3PuW+7svu#)ZA$jB zu2}neo^>p^ks|>h&sqX4c;Jb0t)+57I(!vSwYP4);j6$hWQA#;FO}-^B0eGku#@+7 zs9kAt1}}gIyx!5E$2Zfzp!WejAwC#un0NXVqP<<)f=0sY-&ZB9E84VvM}xm=u$-R( zF7%qmG<`?{f1yfk(0`h{*Ah{@SWFyt(U%+JqQ(9!ed~Rw9H0%cTP_u^kpL_Fc|lKT zJBtP^=m;vbkK(EtODc&z%d)aRLQP$Jxm+-LRj;OY%ux#}2!U?I4+d4@?g z&%_>QV)=@&>0@1rGiz9|8>(Os$)COxXlAH${TdiY1gD2wUzsBBIYx?4IMX7Z{)!0Y zg=XW;AjLUfW$Oh}m|*nlv%bpa+blrF_9IGudkGSZ@s`7FC7ckPgcBOn-wkT;f?K}; zl1q9BlJ=!o^|+Rh`is8C2=!b;f2}%f>#JL!`GXI8qKZ974*t*<0>%|aPt4s$Vk3z6f+d&yj zQ~&CtMY;NszK+w7R$AD004IPZH+Fz*OlTM>q9fbjVK|{oUz0=3G-L!#(aJ8|1wt-q zY}}PefTl4C>?|hcyRtdKM^5cdPVchlUbzA^LHUc zPza~Oe$}*&pu_p=qS#!r164lYa6khtCCUz~UzZ@uuqMkSul;_3IU2QonXc&6{@gAC zG87|wHJD;o3LbAyg&c|ucpsg$L&S2JY?*4Z*DnS>5-Vll*vM)37^&W} zdkTq@!A;s9#WXsT6=5(9%J_|~>gWjbc3h&;s{{dzTkl4kcmLRIWwj(80eHBjG(5uKStO<_1XD~D^V6-IybYSpnC^p(IXd1GcGE9wVK}K5v z!1p^yBn)C88%4gz5C-vj7jqy_rgh{g)cwY2J3uIx(RPXLt$OEyx1!}<7vUhgBb)=8 zmdqpk!FHQQl1%kXZZNv@Q|v^U(CVK%2hQ|dz|lCvD=gLr1oTp-1AD(jn}Dbq#nf0@ zc5}|kU2zdpqq6lV^`R#Z`yy8)x{*cHnH-U+(N;wOG6Jpuadg4HCw95lkOH8mAHh1O{7d!|d`1LyfS#`ej#&)hHK=%RVV0+=N4JEE$zhssl2y9sz zN)&!tA+o6ZWrT|K^$K5&(;;^idQGYtAD4=t3ya2U=mM&+{CMLfu8$mF5f7M7RIi9U zU=LF!33rpNPaTjV}@!nfx zq$aiX_Yy`5sg+-W)v+5LGmrudXhvNFibQn=*)29PmKv->F~a-7-l+!NI@JBfCsi_KCYZ%b-?WxPBp$KD_CLv4(CR_#6tE62 zxAqJxXechwV>(A(bkH#L0aS{2;yLC66iu0hHio|kAAKwE=|~(x?csZ<9vdB`c?IqF z2uy2(gG8r2EePH*_UQlD((zdkUQn69MHHe`tL2nXzRN9r^254J}*;|kU%rh7R zi02^82&@o!PE{oZ+rA_KVp$tp;zSpg#c_fgh^dfYsB0jTL;e;;0J_o#&pK|V>wp*2 zM-G1*Egqh*fB7`QWZ&{5#6}JM*eU+7F+$mck{vT8tCvR$hl#4W2k77P&chrkmmI(t z;&@-*P&mX`Zr{<`B#!=?2|oB(^T*Tdqf)Hgqi9o zTRVhN;thuLp3ruJ1CmHDeL*ZvBM^@RiiZ@L8KexR^t;%ffGkceLD^Aj+QF^|H#t!E zT28g)b!9A+d=l3yv8RooESTd+Lo}*kCO34K8>{lKn&iWxl_2qyk7H z4SXaiFvX==Mng3N1$%6z!HBGJlA+`U*RNoTf{iluGX8Z>V>_5d5WCHU0h7H{Q)+R% zp|OCqSCikylA>3I)M6ULl8M?RR51htX|(rLFcwn2z&uPM%j!TZiuwK?NtK)iNCdi8 zv^r$@K}Z0iR|ieS#>@3bw2DVTU*RQE@8DhROk^AWzw5B0E|H^U7W zImsr7s93XSv}S(6>IT2yV?Y!a5L)IOPQgSc8>`Hq=5;>s8t=wHvnO>-_lB2esIGCgN$Ykcb`6b zvi(a};^l+Do0mrcZ@@Sj0&kQi9*bA1Q}5~>i}8_(#TUAl@GFn;vi!gG>iISqw1YB$rAFP#w!*{kY5?oooK>A-WfeHxdUP5$5m2+^*P8}cU1q9 z7~&)z^SR3NOCw@%8JJfl*3^ry=Tz&%Y_)pL?W4l$at}_}BL>zCF-c7%N(_`Ou~Pkr z-1O27jYI=f#pOz=w-T<@G85@=`pe3b3fKdb?B=x8`xAsYP7_oGvw2)Wn1%O7q8*q}U6l(PZE)M^dDkq*TJz}iKZxB~+&0B(Br|y+r6DVYL!z0@bh3VMoqaFao^KEkk~G+C`YAI5KSBV5zOfD8CyC4T zYnK!N!Cmbw6k?xhRE4Z$g4!G3Nl$PI^DWzc;LScIK`@|N3Q3Xr2ESCd(y|dzHdNjg z)W>qcR=19=KZk0hrq6XGF|AZDOX)T{VAMS+AJNW|5IB&8u*ZkWmkQcKE<-%D$CI$d zhsq1Oh`fZzAe^#kGYd@YzC%=svcM!rOJL#}F3aHfy9I<$*649kwPc)@#MD}&Qj}6M zj>Y5|iK#0YryCNJ#y?@8^CYIU2o_JIZ>TlAz?&qdrZomH4hZme+ZPCbQI^XVi3#wE z7m^e&iK#0)B<4I(5=qNhVp5nR?>C6GP`{caCh|``q$Dwc8bn8d2+K(0!^2GG9&iw8 z9LJ9U9C7vayvA+LKeS*M8CIg8=LS>FgY>Pt1Hp=Hp z6ykO@=^+^C_f!-zutDPpvrM?ps8%GxD|bml93Ta&QuCymbWhbs-^mPRgJFM3k7jWe z>dvn6E(Z3Yr*$?0U%F3EcAui8*KR-iO;kz43&BL$w4;>=W&7&DX9xjgPsj(Yus#%q z(e6`|y|gk}!9PJmeBhWI9Y9p1N!mh{dk>y=emy(kaM`EnVxZ>_*1c2XuHVqrJ4Oe! zan&hiBCK{y`;KS5)gT84KJbjNfNjA$>i?beFTUp16}PaL=soUDUuUlxb2h!hYB2ZF z!YNIdtq*V+8r&^QkF?1}JXc{EAT$b<6In}?CAn~A4yE-kSGII3+-a06` zTH9R=mCse4Ckj|nGWIACe=1kolB@vIMy}@hPP89#_5Ms4Brr#)7V%n^t98solB*Xi zQ%m#}ePR;IA3gdc+#(&aq8!wz5G_rI)}&!L(^#8vm&m82ZxtlIYF$~H0*@_43=C5A zG7V=bdij2-Wulcx(aW2p=zMHjBSkOE!Xw!ou}^a5DnA-28Xn-wNs1QrmlQ2pPc6P{ z0KNLxMUtjDpwDBQ3M^=RSzrlSdWpfvJEB>I_#*4jQNHsr;$dWviW6KlaDhtC?Lo|m z`Robbj2v2+e4$B8mY|n%WUJZeQmx2Vm(ys;+DmdzEjhB)z9@^kj6mRQEWV0twWvL7 z@m-Rr{XUID&_>eE!%PEVS+6&cssF1rkg3d{2a;v}w}OpxWd1D!DXX^+$#Iy_|BS%> zCK|&XPj^$saBXeYJFRxMZDQp#E066bJZOp66237DLQx$dD(l-Bu}^kH>A=OXeM-7U zbwvx|ZN5V+vS>XS*eMQEVOKwHYM>ogN>526k*Q1PwmK1T6&>s_RddGC^K zz&jx;_iVs{_J+CN$B71M;w-&1ZcIIhAeS*v+6d-7E_WukUk6dco}mFDglT_EWM_AH z-=<`_Qc;=tl0-_fAxHYu>38Y}jE5KGcchAhqO4{mg{i-MTknk=Ef>&1IjsIALcsCV zqcGaC*DSRSA7^KH ziL0X~0L@HT+&pMC#zR|X(R!EL9y(k1O&PlSmAg(y9QOI|Jaw?w-dQAs@J)#v2>RcB%~6)lA!%n zuDWV+*YWbZBdXd+!*gb2Vk1J}Yb?FBa9cTiN%$_?2$RLip-Tn>mtTnyaizJjrZqL5j00VL!4g&?+|TGzz?LT^WA(+XO|+o|90Krfh=YuiE-$u)szg za5pxTov=ap!Os{(k4`jT)<=>uw7`~~M5Gj<0{(Qx^n_3#k}7-va26O*J7Ixh)niw* zpcUZ(+6e+pa{mijR_`*j6qLkwLo3n{JV0Y;K&y;_Zgq^V+!6{&?%WoIL{3FhTPW0< zhd#ZGK0*doJmXNyK#0J{#NE4?@wZD|?TUW&By}|KN9H9_ z>qO`=5S0&w8Y*ZfQ)L@BleIFS9ke(NDdVOFwG(b8H?*mt5vqlo$BXfupk>DAxu_sF z_g5bkQ0S7|TTD})XFhti$$4kmZ1oz3gCHEt>CWnZ6k|XrPeg$qjf~12oJC}}fGe_S zjAN)Pp!^qD+=eH?!^D}qQ`%5|0~f;Uwni`nUCHaPErW4w+10>Ts{a&YoLzoc_=#?7HD;Gzn3WY2$L(kgGm{!a15Ay9v~FyX#unxA6F6i? zvi&M`hW)CP#}DF@J$@XFDdloejz7{IR5U|IFALrd(zC~JQT8issx$zS2mW4o{Ln%@ zqNFK+>+<*wpkT@4mu=nY0h@D#Fq~0=gSo;?QT=HO9wH)eau{x4rg1b8;>7leC^&3! z#{p#6VuHRpJVE43vP0`yzB_or-(m+p;wC8>iwHz8MQql@W+XM4UVB>tzq%n!Y9$|OlN^gUf*disXE5aM=&HCYhPvi1t-F3VnQP_|LzUr5I0 zE2_G@t}f%pT4pgjB2QUB*UPaQPwsX@J++O?Z_~UaylP|722#BUe6B#W3;?B&+WjXf ze}M~fvAXP$HoqOBB{mBEt6%;2MhB~lf^W;BgKVmBBfDo2y&Er{Lt8~BsVmG2>UMX1 zIepuUZjOGt$_H^J|CFs9e!~6u!`aSj_3D#P$kC=^xpFyb;{54V=adPu8$T4k2%Lf_ zR1Z@f>Jq0z$b25IHQ>ldqF9qF`=Q`lISGq@qACoKJ?rR=y;4v1G??jl(7hN9?76P) zRzGWgM0=PY4`_?+IgZnJoh;dou-P6@N_mEF$CxXBDc7MWIi!qw!<{*`y50 zee4vpATHusaU3R=@#;U}yLO!FRscX@x({VxUEaqM_2Y z2M`Ytddf?n$OLkGf)Ve57W()~OiPQHOVATWNiZHQ9Vb6xa2!fw8Yc~rX9Ya4R1IkJ zpiA->z$n`}#1kJu$;Af}vuGX(+hUaSzzM5EX0FJ&=V zW8o^B5PeP}et<`75vh*(3{Hrmk6Hmx2+~aIImoVfgFRnfVp&`Q{cH=7-x;nI8WHuV z0|6RP`#qsg0=?gsk3N2fv}Ds0Sn9K1OlyF?G%tp;%(6Ksnei;6eT?tay6fve6S; zNqSHsfn64WRVHgrJL~hd%-imo;=sJf1_K&aNVZ|Jin(079*-R{iW}pxPUVoM`NnWo zDLgxJ)~Vg;7CEc=s=2B$h;c*20$DQVXb;W9oMh^eOp!6CXUyRSn4|BTF-P*CS$f8t zUcfbBjtn?AfjQQPlJTg)oLS=$m?O(rV9xfoqesB1+_elZH-I@}t8X~!XgeViScbb? zSa!n*QC%oh<xE8_-<6I@_ z!)bUlYx7kPKES2$_b3RfOqmO|UD@;FEh?!&D^2DC#%{fAriM_YB3DZwvB;h_Ahv=8 z5*O#v!bG37Wn0NsUah!Dvwoah3CSb%ue`)c-NUFsfhKc7LJBMb8qN>q-9mm`-Yx8n zyj$wi+-FPthuAM#I@Y4SB|u@X&YO^gqY!CK&&Fl;R>I|8;Ih~%5X*QasnRwis<051Q>Y?U@HYZJYRxIDn(=>j>J1WY2}8xF5C zjQs=AOU4gz6eX3(lsyX6ZLED}UjL}@jugrWR$oo#1!iVD44HAwnnx)OQEm;KYNk?_ zQZ`)LeG%z|eL|s6BPY$q+-CWi%qQFp;{{wK_?c*&Ihhqar@-+If`$cy6u5XtF@sVP zofw351P0R+e8A3%;LnYnD!zOE-)F$mEJ>Jo8Et&pgOV&EAepO(xcOT~i6ZNx-y-Cl?&T+l=fZ6q)5#36RdpQk! z)g(>;mr}_ek8k2QLPd8_SkdCTblr$9v?5wL4g?sG-L@PQM#w;X**>IBvV90*d1Aaf zs*O_QjZ(-G4#MUW0UYuGPeD=A2uR^e(L1Q50?PERLaj$r@3sK1alxV{<`)+^A5cvN zBaLvz_+S0cW^C@*>4vi%JKc&kkRYSb8&H|36r;`F1|Bw7EG2kMLsAkvY&=L;8DfRq z%kdt-Lv{x3$X*R}yLv$0yW~X`hYSpazr4cf5av8m9Ds(9ceJfHrtq z(kzQ5UpLQkWQUq}M(39$i_s*#Y?8&OSS?v>7yL`sBhefR-6UB|8A@KISmKbyY*d_% z9b1(j2YL!8J-$`v5f^s5(iel;$#Uv}ud>$bAQefW714O3K!6K>~9-u_LL}7#2$Nem! zd3X9ST<&I{6)p|YHi-yEP-Nyr*A(5B=~~c3DNkDGU#a!s&7_HH)&R54>WmbT7Ppn{Y6RZFfd~&=SR69tp?Z|3U$Pz(E73YId-+BPJCT4a+S%0TDP;G$UiW z>K&|H=AdW^=MqKZKt;vU3Zprxt}}#eKsXXbqmqdl9tOH^OVOPDw1uLjtMopfq6HUh zQ#5yM)SvBm4n>1e8Xo%^csTz^-Z!8Y3Yd>WO%%;Wb0e}XG?ne!0gsgDl~Hh6Cj&SD3;K&ym)LHdtIbQhdqvq*nxo2Phw2^QxB&Z8rJ@I(sGgHT z;>ST`n4;x_Yq5gluQz$sGB2C46ElPu3<-(Oz+Qi`3l}EiPfceBmOFMy$BcsK?5Tlbtvzs@Hh1dbKp_Ou7@jR3Ca0_N}+Z zg~HL*ggfVjo?htb1?+oK@aWJJV`YaksAxyWRSs9^k@q^d-G{@wi-L6k@5c-c)RSw0 z7D=)ys{KO(<~w+#sD;fGhuuyw+$&5*itvIR*3|_)GZ}urikRE$N<$iH|JiYwhZrC# zQI|A&)+L5D3zuK<#0Ha&hS0#JGlk3Wu)2CX10Wnj9~doufDa_fw-1kWKn(S-><~VQ z+vig?uO`FcsxL7ORc3BqWX2J1;Kq1zpP#&!8d!Q#C8~xe)6C2dJ-Lo&CLmIi{nWT% z@g@KrUNdL8Ndnc%?JzCDl!4bS>CoYHr+E|Ad|AGacm;SmPvq?yU{_VP<#0eODUS*2 z)Pl5TgbZFN&O*sL4y;I-8B(x_29XuF`Y(hcbuq?jg)E}Tc?2VI$S!SaxBllvPaViJ zzomnJRgB)1TAEow`VWPtWwnFhI}#?7X&gs|lt4 zn%?LN#-td=>-G4pY=gkY&`+VoTGbbd(l(|<@PQ-^Q5hSDEEGqoC8OQu-5>fg-u=NF zd3OxjPyj(^!xr_Q{^_6og{L1QOH7Mbu=!ZO;g1zO(j3X8J+-?FDTTE0B9FqU^nFw~ ziikHQ0qB?kp5*-&Bh#J*tc_@{;%?1v7?}uH^IO1U$>Mj2=EMJ^Xdn!00;(u|bmW{X zF$HbRQiEFI-Sz67ATOWmJ!M~sWc-DvdFYw9b+BykYvlv=RsB*rRZ%Z|pt-%Pc3q(M z8z_{s&ooWsHW86|V&4bq#iyx1r)KM30!&ruOS`#vm@YTs$#RGo&LhT!x?_@Q+_}=_ z*V~#|xACg(RDa)gh?Q{xAY_Knc4Hx&wi0M{Oi)q^a}BKr?I5o%$tb-1IoJHqw@(zq zNx6%q8plco0!SnrzR)ihKT@iOo;Gd>1X?N<7hdr>IF!!F@<*KO#aqYdQ)ha4H7E@D zL0{>{fmq#iAXcFRvBZ}0F<712M{SD5>K2>2IqEBSv=kko-#Gq{E?D6btm03KVOh#2 znskp%mLD#X1tFEcUY5KqoPpRs7~I;%v1m^4kI}LzCnDV%t0*9x7g+EDU_dPj9_&Fe z)Ph0r(Lw&;997P@YR}*G3qR=gXvZ@u=$&sIXC=HGtxmnDo~_tBaYX{8T3&|y^+>rk)?zo+xmb4R(ub9#X1^Z=H+>MzG* z&YRH&2f;5oRWS4$<%|$SvtZ>WfF1vnL6Z?r^;JgAuWib zYKH%&Uk+{-3)cW!gM}>k&RFQ9xWv?3__)6Ct%ZGYH;9mHGYEN9v`df!;m{?zYm;H% z4KnlRG|;KHVaphO3)@tDyk zCN9hrf`YmYf~uW<^?mW!Rs=O@i$G97n-CPtR7Zfe)dL9HjnmdhM$M#q)`SmI1HVnNDCTR9QnX&!fhQ5%9hg2{j!ig!vqRHe+5VQ25K;A- zd|*k^Z7hU|V7%3N)ZF&DS(XHYA3{+vr?n4|dq9Q7IleR4IRc}|Bypn(Iu)CM8+@a5 z2g!;22|m5haF|1s!G{c%;?u7D>;m_V#Pf}Mu}L`Az~z*ZMIfD;g7zaLsb4jzMyiyB zTZJhY!zyEtwo=hhm(I~ze)DT;#ll1=JH&B{ggY`Ot=-QcXd?P*eQk9M_&qYCZ3t{h z+i?5{08gggKL-nWu`Cy2>m{>4$k%Kt?=7dePsIl`;*jsPtw0Bh53M~V`Brj`!~}f< z*%h~=4Jz@$vTos>Bc;4qnZ9-&?7LSzBwFfH8%p?OGqWDr5D)Nytk7V!#RojJK2A8~ zi?ngnPPcl94%s&rA7=K=ptWz1b<@6aZFJ&{TAIQ)SzQnD!4hH|)*5?h__YVQzw`z{ z?k|0XA@@pAEF^o0!yiU{MdB0vB?(SZB2M+d=81O;YL7q7JVE!HbguDIPUv#Z*hpo? zW$96N2ILGk!UWfkzBJhxB4J$Q61}AC3=)^fapD)GPT3j1SrD&8wB=Cg8M1LRdHHhxIqC!Z`QQEdJ-6y?=>JJrV(z`H>ul^ohQ>Qp~ZwiQ+nHkZG_ zSjzZzsU+AR6<&X;>aOxw{8J43rBe3PMK%+EI7uNDq+hJlI|TbP&+4!~E|qMcMcKzE zBR*d(a}ke42lp@5pPyb)-q$M_p`PMFni}7u2G+*RlVXG8g2A67t>%D%zrn$GPE7%} zle@J=RpouR&cYcV=E*ZmvoQ|b-Pi@#vpPE)u!(Z8RgT$^M2(y@y&{tlj@p5abkZr` zcQ>m4-OVZA+W)kMf1FdkU!_SMB65XKk^QUblk6M+Ugudcfiry8oT4%w#}I7SehnDn z!LGW{otiTPtTxHK(a|yoZy>`tIHM0QCv#{oq>B$3IXXTFylm7<8;?W1B+5~SgWjx> zqpf>nb4RycUzwG)eYCl_7bu22LuX6T=YSpoUs5ma6Jk49y}VCEjDJ!uzh3Gk28vUo z`)pzxeZAC68rrO0Mr+d9lX}^Me5X-|!PokXRi&(6suAzUM!obPZU0E>e z$L6S)Jl7aV)K0(pEAiM?_0pg%LcIjENxd{^3xT%P10osxFj9RttCwAQG?IGhMV%hz zEdc8nKdYAx>+RGe!EIJA+t`!U%UeVOt$8a?sZ86j{i!{6)iy%D{C;;r9CVn#NSy00 z^n2aXr&7P>vs@q+WqqwHR2<(YCjJNAakaAAaW2g6JEcdt^^;DSu2v{OvFpaiq2}_2M`U=PLw3p};G<+5CQY#ZU z4ePFuVy%3&M3d@?tazsUg~ZqQ;wnL8lBMYVsC?moP7>kth@XF!ub4`nsTFglJyhFZ2C;`hK;mj5W^r zbs7(tL=~|-=#P;z=b<+(zo;wsGwA4OgW(a#EF@|7wL$yT-Ls8al&nE-M(}VjA$pTQ zlJTD5D4w*ef5BaTs))!+CNnC(sq;(4w|0JB>W(zl1ouv~=3aW|L$V2E_@VN-GDMRW zMa-k=N_0xY`4ig?JRFIcOh%_UA-AbHM}b;Ac}Yf4Kz>fG^9gqO6D;s2nAg=n5no(D zRpQ8gzG{o`RWT|T9h^Y`FUQZsR|V8k?i^2KADGU_D_umjB(JO_*oO>o0JYh9O0ziH6ClrE2PoN z9L{r+S9nejtPsQVSL3l;kyn}?kXNWAs3j%{W0N_&-;!5Yi?%sj_|V8JeYtt($}8>V zxJ7v-Bf%VbMVsukD9Q{=Eua7nQs^kLzl(ID^r{;DhreH<;8n0LTeiLkO?^&hIkI2R z7l7b_ROqFn3+rA+wEtU#dv$l$zB6P(9^22WJP;SQb z@(`Ha(EDWjUP*Q!$MMcK_Fq5|*hmW>yH)isV%;X(WT35$$VS$e5&jS-n zJWxYXQ92ZL>>vg~D@8f7ncS+pS^+(HrO>lz%7>&Wi$@_&Of}`T=2a1$Y$n%+04Xq& z%lR2c#(}~zllxVs5tJMZsUXyhVU>pDNSB$su$eqi#+zT;BySQVCL*y|XH*(TiZ*zC z)fWO_Mr+arKyZ#FhKB@VwN9MCIPcrftx%iIgg^x|5?TcsRUZTKMbCl)Ay8D$>x2it z2n@Be8N!sr$-8l>kQlW?chvDxqX=y~cZVpW?)Em_iHL3K?xG{@cj!(Lh@#xr>+XDX zx4-F5#Cc11=Tl6hdBt34lFq;D`15Q8bWB7_SI`N@@-k|H7U-pCY(ktk8P5{tc5f8f`GtWa~L$CQXWge_q!~{}7C`r=OJ2)SM>6StUvixjPb>hEX}SQy zk@dkRrT_uJ4PXV3tFCd!ks6#1FVZYFu8=3G3c`FuuAtM|Rc96_8X^qI%&*kEq(lG( zCnxvNAY;9yTcAA=^Zr&X_lV_AmsoBc5W{M}briZsxav~wvm>~J2I=+gNGnVgP#JYS zpPm+2M^H*_5$Whfkto5vNl0o9!c}q;5lVwt5}P8sIf#&63nH`>L?|o_Md;>PGl%h1 z|CO|DzL4AYh%`Tuk+4ooaRi1{?qnX(L2I@vLZ5GdfVQ z(HoaSZxnzXjv0Fay-}5NzMlX0OMAr%ZeFVadlc~5y>!nh%5 z)F7jMm`^zc3V@;M$a2j`g)UiS%QdyZBl;&Sz<_X*<$5{7^N13Xnm~TUG%$*~JUL3l zPqEbmX0yuNr!3d>DUAc*B+Iq9As51O{SD&Bh0LpKlQmhc6^=9d28nUSXib)D%)gB$ zxEz5|(VF<`e9LuvxLFfaBhIZtWU>*0;f4jG03ui*I;2L~0)fZ`AUL{4pwY&~Be6F$ zLC?^{V3#yO?OU)`?@K;$;e0iMCU}RgbE>^8*DHc+l8;tEfMv+lzUsS0gb%8sRA+RD z3i^qpkQem;A6E2~DZ~8i+3e{#Q5K%l13b6pcJ@}^9gkTPRB8=BL)0;7O=b=Ww94UQ z2N<+HfmRKq9-uBH?r4dZwZ!4sR2f4ysLrNk4PBy*wPp;lR}mq%!Mz< zST^^OJ!RLs$nE>08iRYOexejDpjFWl_Bgz6{Pldj8ei|1(0Zj9-=|hj(<+>T?ku?6 zA79U?uls2^e!{tft8`TEl}8y%jA8|uEdVm*c3cn;@&w9fC0#JU@AfPqKRj>_nd&Fg zFvUstq%q0>KW+x7k`)=;ug-$|^KEd`zCkUPEH($H&Vc?SI*B#WLn40sRqwCo-aRTU zsl+-#T(HkGufbW5&DA-Mb9=fpTE?d^>bPTs1z(1>2$c}$X)+7)I#`izAbRe&TP zMc1B+{1oZIo-W`By#$clUp_0TNg&?7Q)4RrXlXpGLOkny3;(%`3#<>E3&mIcu_I*D zMaP39i@l}CBH=g?zZp%0H(4G|<3ZGcB8G@;PA9BGW_orC2Uc9n zk_18}=m8FkagS2JyKKp0_jg}MD$qUos$_oP>$(!VLJ~`ECdBwG+l}`l*NL5P+9AUjUxaN6tD|650fagz6S0MO7I^EDZnv`-s%1Ng78X|pms z1}mLmpQRx_qF)6i!aUV0NH)s-NmA9*Mg2ChkrrkZ5{isj-^`7xY(JxxozCw=Lnx#r zftG$*u_VmB(I5Tt(aV@a47;?5V+WXJR6l zoCT;x2u{KGNeJ#GA=uEd5WKGug5i5pA((@g5QrWsPxC40p3x^{TI$>#e7%I&J26>< zEm)zDDPl0l|Pq{+m-J(b4k_2E0Xk2Isz?RaI04%YqC8a$A6_K17a$r9M;Al;2 zmjvL!tSh8F+$;dAk@0|ig#c{DD+bBX3n0RW%MUk7%;?SljSBy=B@TrE>>0Y`-5v?R zecA-XdS3$Y*Xg_J3L^mDtM8m|Cjs~^3kf`vzqdWD{ zmn~1$ySGTbRpsC;0QdFWQSR`Z9^g4WuxE6r`j&Xi0j#q zbZrD+G|;I4`~}MgpPrS-UP2;!KidUTc(Nq`pD8B&5Hr|wH25E$-;f39llIa+11&=g zxEKO3atMQJ3BUjZ5_v8Oz`AV#6ok+kO9tqkK}0=gsY7zbeJ6S!<{9nof4xpW4%mne z=;;3LMqxpiEzh#{NB5J}K`X9aorGYCHavJPNxtjulb)l`5O+0wjWeVI-q(~xWPIWM z7I!~ov66vs`!w>^$1QG#axtOv5OOu1<4EEm69!o4=oJlEL(o0rOleVa3AzcOS-w1} z?hS&}a|pWh>=CJtJLZi2jx=@)y4M{DO-qJOf^Hf}g7|bGmfp`KLH8`6P{+;UxkuJ7 z3%b7{$fpgr$+-SDZd~KG`Bq1Q?nyLXF?R7Sx@qjHA?QNfT7vGGM$pw*BnhsSCqvMM zKz3?o%j8>f?)xR@l1Q~fpT@Wm^pB@NJQg%C3C{+ICIPv*1PQ~EChaO;ikAIL0d~v+ z<{kp^Nx4kKM13$9hzo~9<-Xy-+%#d^ECow3IUG+ zP44$4eltz|{svn#H4``BGRA(*WsLo_j%I{$(NqXV5_Tn&@P{y(X00Tel;5kh!n18C z&XsHQF2H9Zh;NUO2dV=TaS%~*nd8n3K2?q8N`+TOLv%9>8ln%1+m)ZfBc(OK5R;IoerRj6)~WY&sqCnczR%s7_UTY zsnnxjfrTlDG|a2-5u(T|#E~6-)@&j@o85Cc6_$3EBSzxvZ(JGA!wa(mt0#WY!>Q zpNpfm_Nf4C<~g1!po9$E1?GkFsZdDjOrd;YeDWp!UV*g#G%;Tak9>4j|2pl-{h$EP zrp*-INt>WsyG^)f8lxgUcL?ZQkxxQ#sZEHauG6NqYsE4+khKMAMx|g@ zVG&NN&_~!MpZU^9uhvy8hd`PeGWi$?hOvnah z{l^9YfN0QP0AT9E|9{JO5o@DeDe2&lr_PkWQHHz28T}CssP2(tg4z0pVW8P-vU6bF z-Eob%yV11>QPvmqh2jT8s+ku_-T(|3*T$@B#5ams+7)J>n8IYUJ1b9i3&4bxj}rK6 z(_E|q5{nV*(NU4EY6*2!(ak}w6||`(cMK;e&@8>4I@2>L*C`(t?6Kc1QoCCsoNRQv z9VU2MQJOhc(}@_|7;t1aX&HJi6TJf>;A$X0dmu~}EdOp<68Zbt?9O%(u-zk$#rTX- z^;`j}ri-BJg_6@A824vN4o!8JpsJb%RiRU@<{Cr40!KNX-&tgGi z?kPV!Isj3Y7IKe9uPLO_AMdEA12$_PfO?zYcWC8+s*fO@`i=Tu{1hbT8+c9<1VK88oEnJ)i<0%>c9B>WgSm;v9?hi~M@A`Sk+7UR%%i&bZl&)TK%fpH@?TPao@Q z9ZY0tb$S&)pl__uVttlR&YAq#4MgS6-hmEl#oQsnz*t%1#a5^_Px}ha@;rKhiD#}% zuV_A(u?Qj1tV-2QfU3TZpXTVDYQMJMSF(8)8o0A#W=DU{SK6aL>nn3cf2Pc%H`HcE zPpb&Q)xGNEkteGA^a=M?S{Ded4>prNHnbaQ2ay6yS*`BjJF;!3e({G0@qY`y#LQRW z^&v32EW?njS+Y0izKmYzh0DwrdeY9a+cUR(yMZ@NZukh%wdCxTK+BpCXRfzI?u?cMjP$<5a4YPSAQ{0<+qsT*=7wyJuuk7#KJDJtV%8Mb~bNF=#!`>I$2_tWRmDL z2j@-_NYBg;xsoyQ+CSqPd61ZYEI1#e^_VjUXUimiu;C%4`S1mU2I6P zzy8AFU};%Z#DJhl8qwA}z!l*YPzu9A7+|~(PWO&;A`$$-b0s zB;yA1+jybNx=L>3?oD7x&Eju`dGOm(!Nl4GS}Cu+%TOni`IS&F#bNxrDS9IPsr z*#%d9TN2CRuo`OCGgd>$8mc(yIEc8k1SlX0n3R*%P>j$A`LI~LYQEa3Jx}M6c@t9Q zJq8iO3j?B_(U3JzKjrCbA$;XUpU`qROo$@40roH$o!_H>yPHOjyt*jdr9ZV;if`;7<0k}PI^kz{nLhRr*@MfNYc5gr= zpOzts7)&7fK_v`95$G4O^RFtU-`_-7YtwVc$P5M)klb}OW818 zWnJBXLMfd6)Zm4k?i*^LIPTfAXj@+99YnYHhJO^^+DjLL(Q0Ji0u0h6RYlMv8gU(h zuCTu&BI*$I_4x$dbbT-u$N>ukU6wBiD?!GC($Ys{iftk0BJH!p9R5hCY{xCKf5+w# zrr-?Ifol@5g6Ratp|VgBy)#)%>$Dg4!b&0V({HN3r+`8RrFB+BB*R>YRIi1U>NO1i zW;^;zCT8v2<+_tHz5Ec0hFFsECU?0MT`I^NC>*0RqsGV!7KY=uG*+);91v-%*U=|N zZ;_bUjZ-0)c^i@2ac)?SC0ImrTBB5nZz24f8ntA=_HeU*Q;p<`9*zQXBH$6q$l^5mTR6GG7*8B2r?$viSg3WQizAwsJ`hd^x<%|8B zyBQuz1kr^jrFiX)%z*uIfaHP>M0|k#ON8ATkEy39LAapjj&jElfPPL7ERuY7G9I&k zQ&lGTIWmnjXmto9xeS0-(GVH53jx}u2MEI>%fLK!zH?%wcI(ZM95 z)bn3sK{iE=<>%)F;Js+J)o_`HE<=)bh{8g!ZNT8wkj6B(KYc)>c&rkV&ZXj_X- zHOH>D?^zZ(7k%P;_Uw9Bz)_a*}qC*@DaUw{p3Da5)7*I0S-c+gz@{4VP21 zZ7$chrvZ7l#pN8+mARa|4ldW1^tmoBM=q_U7go3LfI*ruGKT8t$c0T@Zp+KOxrxig zh0NvpiOVf#wPniXmXA->mW?K^XGU$A<#Ou<93*Ki<|Pfw(>zrEDFWPg=62r;>jNR) z$Fd>voQw|w0A+;)>&IHpi(-IgeqzT9(zs@WdkB4sR4mhYVlq^GmJcz%Cb%atzZ@h3 zY3K&?%f)90!Tj3s$(i{P-JZ*S`l-bIEVku7Rfm>7cL?r*D&rlLzjtkNkC>l>dpHYO zSMQ1F_GxerG(ya8OK?v&m|reK+a7Lae(m5M%Lp**B)tI<$#3v2bJd7$Ps~s8jGLIB zV*vn=11)!nBU*n%KR`}iuqxfj@X?k*Y5`N`5ClbfmYE$sRzj2*5DqA7O+7@x3h*R zx}9&+x-5=v&%r(EJi|G4S=!5y8DUS1Fh_XZI1C(waL5>}FMS(p7sp#A}9}zw0%x^!F!)MsA zFosW~e4kC)c|35fIjLO_bWiF&ejAmkineFe@@Siq8^st6SXXyUioid zU^v~`;V>QU&Kb^n5fR?pf{A(R7g|&QbWA04OFKhkAP_Nf$H81G&9rFNIiMHqI^BsEJ#{xMq@#Q0j6HUPCzg2ecGM^ z-9-b8N^a8Ah!tV>&BR%M93LEUK!ezxlYu3RqaE!B9$A+elP5T-mvNm-!qu8aL6Z~6 zNP;8Jo<$(Se<4k#;zMK2YP7O5vfMhWMx(Pxdr^)k?=TOy*^*5@ZP{d{6krp~LxGbyKI)$s#>`G4abpq&64G9OMaYDy zb!yhAJOVk}<@8)`88vK6VL7yG*yLVeFUxtMxg@e!bXr7;m62m=1CikooHicdf@q?t zMhhvIK(pbENNh->fk^`pIF$j^07g%3NONYRWUIn$d26%0wUp(pshN1;crp>sm$fh@ z$V4oa1&E)7T(?9mVBN$~Ypp&AciBeRqMfN};oY%*@1RjO#tA;yw34!tt!Ugo-Wwmb zq(!sbM#rf>T4ZjaPc?SZ)bPR1_f0SpCk1@Uc_I?eqG}O_B*&urEgPd$Rg!}Zd2($yHpwqc$-RNRhzM0{{P2Ax0tE)8)&;kuDxx& zyluU->u#&{^8Ig+_455;g8Xx9y_D|w<=8D(lKMDRBFVH0jZG$*^HQSvv&O=6)KQ&pfqNMg;RQnEJ;s*9h*_6-}`8%h5jFB?Jw2X0EjAuA07ZlB(TS2X8 zjWQe14ojQ0wz`uY&f1y=Iit>oop5Shm1rYd;b!Y&m_eml$f(DF&?hjm4}iCfkl&px zhTOS=%8`wbKxU2&(pq9`C|L!a4u7^g4NZ~HhrUvvdj=?*<;L1TT00rxPxW1XX44CIb-G=+%|JIMwvI% zt-P?aXm)kJsS`AisZ(?Z(cN*WvUN80&Z%gI3FFImEMt~g7yY;dwZ!xZswfsQIhg5T zI|nldpmeB6haVNc;4L|r7k6|p=R(?kimchDdPMH?jdn0EewhyDMI7-2?}vjq7vfWN z)eSnBQyo5Rb3;W}UC+S`y_n}aCN7zIKWiJeMuR)3}(%-PUS(!ChtgPot0lR2IHjgvW*)b7*-MrQ*%UM4n3 zxCTEaAJpC%X$?t2968Ht+I%ze+NJO{!^PN-pP!Z2UcpazKKYvC0Su~bQ3+r3d9mK9 zyr%YNeA%=wcC)cv`%!4tUFR8HZq4WwW<-hRRq^d;W2>~L5^l-et?p+ev6!A>*6r?w z;K*jp$sde)z1X!#vwCO7-2AJZd8npH(Jbo=#{}})+gW!Xa8w99nS%HFw*K)zX;?bQ^yn2cmq_<08nY~uYSjv4>%i139xAatYt1`2i6wh94u;l zRA3RHRw-m~Uhbhle_p>RtxJo2USAMihluU-B-`~!`_MMj^EV^vGLq~m0?xqK9(~}g z@f*$>z|~E@qT3$*>?_IIE~_6Qs6Iq_>5kN$NMzgYN|SKmSXS6}9JJF0)?nOC+5n+()@O6l$(`b|nZX3_T(zB~G=%`&1WL@?)e8 zq{vAdz}FN_9^(eWKG9C2R@6c}R4+$Ps*&*^1Y6seBXZJZ(Ky=R!Hyy)9ThwiIho3$ zwbKS%7R`~9xhxv*w<0H97A-|ivb`d5k}sPgC%=EIVB3$#$$pNUY?noI+CV=dC;glP z9~C+I{dArqCuho{8MLV^njJ-~>zMoy-(Xo{Q!Z&KtW-!?@~lH)V2 z3*4O+ePLgv6oU40=NJHQJ;hNx z`ZS|(xwN*BfiZ2iT-qC(;yCTsvS@IQ8%=TCSuk{i?A5@?h>zKtJJN5-hNmU7ARE3I zGK=BC+i=afDUL|P;d5}Xz9R0~m~d>~qhv-acc&N09~gI#MIrP&gE^{6aqLO&o0H7;>;*%ZeuFZ0e|HpMY6 zWYL9Ekxp^!Wzl6CjCea|Jxm@_A9Fao2>PFioOP=I-3&ojM$i^|csplZGV@fWgrJz$ z-OgDLmeXkZw{zAbR~ZQ?XY;-3IqTg_&|A7FD$F*;N9O6Et$1>2pC*Pko2?F_WDOKP zBk5PJm86WWsL2Q{-(C^jl)s)7QDv&7{PiYJt;t{Cq==^c^|mT8P2szN{PngTdTd_) zx>Gi+h#r$6NL3rjYH^^jOAf4A5k=A3F@ODr6wzt^`esEG4OEKg?zSSjJM!0)BD$-U zzrIxwl?Izr_|(WWf8B~GW{IXgcZHs;yz|}FUk^o;oV*SdAay1TVarb8>+8s2rKej> zd{8zmYoMyn&2y^H?G(Pqga7OC*w*^o25nMA0j-L0XV5y&wbcVcW6oc1tDh*(VTAPh zr~Gy2?dAM+=j|nx?HozNN`9}K;jZ?;b4o$boPVxl@pjjVeXRtqz z@^lU#HayfsnPAyFIu~!wQHWV_6lX$*P)$`{BSBuTS^d;OrER@4jQH2KRXiQ4A?2s7 zL4f!N09i6GjQ3U~a2On^h#2ft#%YvkXVQxd4V^<%i8ko5)fS`=)s7wz=`}*>$vF#UqK&YE3Uq zSuQRPU0vbodR*OQ&P(@=2{>(x3oAWw(-pFrFSSH|U^86bb+u%WB(k#YR#5U;sb!-D+ z0#2vqrR4c4IIm|Y!!vVj#WwK1IIj-|S0ixVyP!U>a>q982hutGbU&OIzB}4m{Vj3c zJH=!>qr2jSIA_f(wgFzH(1mtv1J51h4kyI5f**E|s_JjWV_U;dr$Wsk2{kEszAe-= zJ-~V2%-Dt-M}jTM^J2oY@eEs&=64EbNPgc*msq-xj~f@c*e;wn`Rgy3V|{+gu|%3T zhcL`B3lhPgc0mC-^jd)uv(00LVq?!~zJ0`;SaW8W!J4~@PN3oSf}W_) zwXHOR(F)ASJQ~bX!R>eIPjLx^7hJDDIlJi(hfFf%2%)z0C!e>N!%iJy!EeiJUTYzP zpxL0%F7?v=Dnuf<7C_AwYP!bKtGs`5CT}|EfT_JvK?imd+<~(f@fA8RP_lS>$q~%FMbay7j6E zrw<8{?9h#xz?BG}G%YJ#I%K0xY05||@)$6ZtW>CP=@cW{!Qr0pgbR=8Z8_Xsm9bO* zM~Or?nli(?zk5RB#AN$-xdUuJAgb7{U6e5{WO3XQF5t9I+fjW9)$ctdlB@EPdWEZ= zmcZv9o^xa2E`p$Ba57W&5AgHjz4UI(nb&i_2NBFD%uP{fRRv<{_N)m`3zlD>@fl&wO#jl66h%)pJjAH70#M}6b^bvQnmd%c@0}#tJpq}qxC3Ft}?Vs;fUjN zQ+e`N$y8 z14^a#zmmNKFAiKW1V`YGJaIkIHy`mvQ_O9!x02QK9Og&54?^>&Cq>{x`HU^DltHZP^$N7 zJyhfo08tsg+)^~Ys31k9<^XdOYchf6^Gztd?yGV=IsQ3~5sl zWf zXDNbM0^o)qQo+0_qO5@hK`cd!)IjQi9WhABJ*DNuQC~5TjT6cMO-?8wK~qGzzg-dK z_7co@Lf!bv&p4qjIK$+@&Oc60sB;mKD5)c|LUa0qT}kJxTtclTW5 zdZHQaTAG=FMMzj^ub(V{4||PGDT`QGN8pNFZM6igrlkw%NPsVP;&zY^?O%U;GJ^BS z^`XJses)0V9SyE|$Ac@Ml>cd|RX@u9C-v|7G*dx25l6gWnhL+2bWNmriiRf)UVL2& zMW_A}J=uPhUlzVd_hD4pW^zF3&s|((tPrNC?*BM#TJo19!#z?W;<2UR2R2KgRDtE4 z2|gzJ5)XV*`qm@hbGigac$_=1f+r<~s*9Wp@t*KK#hI&dP(s5KI4A+q@HSpxc7ecV zrjJh>31gH1*{MHk>z*g9L41a}KMB`RRYp@`;e=8RKy?1_4sh2%n?bWT9@(igy?Zrf z6%Z?I8js)Uq!2_(Cx4C_qCL$J3A+VX^t9xfXh-Iq!Pa5bw^!% z;Y{;5=OQd?SM}sP&Pn88!#Ux*Vu=IMY0W#6%;HATiN76`0%Dvx$rP+yW(#+#nJ(OjP75|C6kF zA?FeN;{w)~^9aiJQAyj=RVX3q!Q=QI)MOA@+)AdiJMmISjcm_K&B}J|X z;?}uV3Jw+7$uUbn+QxT_RKqkv+BdOpv%__GDI^ZUznL?JcSrLUug{FxbA>u)o{mwT z>XvX=$qoF4pjQ8PTUv0E?A@+wY33b(3>QYjpzx=`4-+71a>}V7;xpnx`=M5sS>lPK zkkm(8n#hCBLWRx$*BuC5p;+V`fi#c=>723fctn(npDJ1LJTRCqW2GV?x6Ir($w5dP zh&Zm1fnn3&%C#{x7V-AA^6^J~2GXtacmlG_0$)g%6A)^Mwx=zMK_47A1U0LvGjX*grv+GHy>L86>saJHhQ41>0eY{jMrsK@eGTR*??m2X4~i4!Q&FyIF}zbIvEsp0c&=6KP% z_Wd{nd{Xxkv=;FJy7oG(Ybl>@1pA+5?Yvg-(1uxiI@L((ZmGa7@$i-|i*&ZVE(@i8 zj0gxFfa|wHvEsMASmMCa3i_jR=g0VfH!R){?9DY}S%p`%{d{I#n&p za#z}M<8}u-r%cLws;Qxm25Na5x*wKhw4G_;{4Fesm$fCss{8;yFix*|k@>@`Kf%7j z52W(nI`fcYN**d@0bxUB3y^OrY}Z<LK0*5#jb!e=md<&e2k!HSzuOWU0FjN zO_yXEXAqcyR_%HR*K{Zap0i{Hx=ZbZf-^M&t;sflFH)$TtToWemh+x1)@^MuNnC5? zs*fEYSYb(SNPAqdV?U%g96^B~Mq1PWELTOIwT{j)c+o*^)G0+NM4e?OE4LbTII>x$ z0%^pyB=ZbyH%1)}yhkj}CrVC@I%+m(PZ)Ki6!U7^s3Z1JCZmo!j;Y&zE6YqNya}UD zS!2{GXN)>#E}M)xn_uOXO-7x#kkPeFMjh8f`x-@8fPEWX?PIu&t_fXT(`1tx0Ck-? z^K?pGp?O>Uc5k@t5juH60?f7W;4N7@K$_W3I~YhiSpITskg1l*eC?pIK_>Uza-$yP zKCf?soceG~os$jH)Y;y@E~u_2I(2v2DyAAHb|uJc{a!a<%M=t zr{-w~1a>wy$mCm_YlGxDIp3Di4)B?Lncll^l9;x&mdRJo26^L1&?pKazL>|d@iwvr z@^ja*K)y07D!<$|oGlI8jmp`R?U3v@bcAU&lc`VdTKEnzrr&)6WyNc zak~;C1|G?@t?B0VAKBRAI;5NATb$R;MyjqXZ9uGdJ7Z(3${VUtGuH6#p-V}CS=Ugd zScOqjmd~&w4G!CWvaE#9rvouwwKVG+wS#V>UAwtALOC_Mr^9ixynfpWt5hM@9w)3Tqs$6G;-438#0L5l zq%?^?r8K^zWI|5RGH=ZL`fl_q%rfs_za#gYh>w#&7to@{d-#g#qOU7;IbO6dL8%Ju zGp14x(!x*`p-g+3Hd@h4R$mHbN?CoLp@pGcZDEM_TUmY5c_XWjuqFvZcYqIkaVXOr z5K}}UvihD7<(|#zYa*5IkgS6!)pE!>tFMf#K0l`ic9GR528cOgtEto?MlzLR1xOBA z%b6*Zsp$a%(>}mm$^D9p@{za>YWm7LWWOw7C`&NXM&g*(2RlzAR5-h@Y#)hBAP@Xe zhs4Wh3i}xoPqS7&J6=pD;_BClNg1A4SYS*3;m+9*d@xJUz)P9uvt_Z?d;;O&bP|2y z0Yds428VRP$%Lmx#xaiA*D3}Z`FAv{#4?$2=QjIPI1K494<1_84E_@Zqo*S3VqMD6 zWD$bD?EdN}5wOJbW0rbQzt2+Qb`U+ey*MaQll^~Q+>lF{0IOCGn*74tOif1q9Zk3^ zSy7%>&KrpePQGx?+nyF{mmBqD$Q3({KXUBCIo$#~BWbeHVoD(!X$l(GPEA_y6HMo1 zLOvxnII_@3#sKT5K!q@~rK4!iIDFUja=kJWwy!L9Jo>;BHHUv2-iLifvg2taL?x-E z%D4hpwgH}PD&s0Mk!PAPFf=q&JX%1MuPpsUO#>Ekp7aB9PaKYx%`%Onc+XV&*%LC__R`Ny zg`<7tO+jyHINH<{v?rt=2{DcIlgd3L>1R*WG}y)z#QTl(qeimygLE-Z`dLJ7sj9yd z($5}|(7U3vL8(JfWeT$N(*%okMIU+YC?5zxdcdY2wX>)CJ9K!9(ofR^gyzi*N4sU| zN89EN2}IL5Pi$CA3#~9T2`E#$4?$w$Qx~DHWt%rNq1+O0e7l{3ANlDi&f31)X<+pW zG)0vPaaEL<8Zxb~Tf?o_+4N-hlaXG2hj?yC1=lgNNb2B)$1Ev8HfR~5kc6TXm+r#? z_G;c_Snq0wL+=!AChjS@3SP9S@m!uDUn%>4H2`fpK>f{i#D6C```j)u% zn{+cH?k0D)Id8JoG;$wz9hc~ZOg9?|A>EwL9a>H`B7p*HiC@VU3TALqq2b{&zXfy2 zHi7jsgSj0x_LYlScS_*bsC$!;<=gH}+Z}GZHih2F^}DE4#BFQ?$W{b7M1 z257g7Iqa736(uNKf_?XB_xK<`^%ovxb%3v@sk^!ddveyF|&1#7mj?~9|p}x*;mb!p{(f>ipeKudS= zqM^!CAp0n8i^F(^^_LJvb1{iw{Y8Ggm`Y0wYw9=FxtPSTejTB6Sf4NHL6YsTeoa!S zzv|G7<|Nd=F%yFOYewgf>QsvZG8xu9JyhaD7!7_X$u~ zpacV=yjP>r%Stjq5-A193So^5Uzl42vO=M1veh)dlYJ`x<|g83JiMv|)`IdAMYTVo zoOoa8$;gyhF5!7-iM&sJfW{L(*gX26z6Vo0z+D$)2%yKRxHdrbO4lGAt5!_!iE)Vd*^6ywR!AqN+c!aafoB=mjqIx%9`X_ol@g3Cjyv(6FNRfUA)t%GxlHFg=El>=k@K zmnN=#190vy@6`@fajZ3fXMkyYjnpJdRH5L6X-w-x>zGnlHSk6?2-G#^XDb~lovO}^-nYSUFl%KCZLdHH;xQ}xRj+*45=BgX;Z+(P|{AKFl*jsr5Z9$-u{CCbhm zAkSK1jtkYVb_Ky_fcgQ|^MLOC^W}2sBc)1pyheB@XBAMYLqD46PoZn|^U8~(6W8c) zB%jOlz(074S49X0n`WbT}3eqa%;2Mh71w+ml#niWkI6Yo7tjQD4SLO7b50VISBw{n_Ns@p4!5`oga{4P(;I42xp2p zU7IZAm{V?KL$j~S!ba6wkRU9&#uu{eBQ-N{gT;Pe0zs@WW5>|}>Sm4Jh7V(2(fN05 z21n?3YDbmgO#nA}r(k%((_@pB2rFehBdC0|649#ZU8q6dvG*;sy|rOz%NQR31PD9I zyiDuB+~IKTs|4d}?sRWzS75G>z*_UOVpM3ic<$*$5!Usga>Vj7_j^g+RkO@JlgnFe zK>bI-jS>F!Q~_$KR`G1L-4n(t6(>sMQBsZ{m9hAn~b&|jir*#jmsrRx*LSHa@48onyF7;LE& zIcGL6{@jN6%-+5>#W7CtV@#R>1Bp^gi79DIs0>UdE-u{y(RrdiD$W%oB?_l7u{8gP zng%G%Z|x}{kbm=|0hU`7dw?$_Y9l)5@kmh8>Jw9hkWtDUm6|9esBq;%>k2jwuAHA< zA&9A~vH&MB62plSAm|ErzBf;BBDccb@PLSyx)uJ?N9u2xU$mclSIZ|Kh7RSHF-A=^ ziD}Ec5KPEc*9kw(glJUaAP=$)5dpdsKvIe_VEYA;x3pF6r^5X|4@xNulkW*z3PuA z>MA}@)&C`@XCZ{tEM7cOK1*CaTd92K;ZgTHX+n_(EPT4%KQ-#U>#!dkmyGP=J#eR} ze!Ms7S3lhwQz5VYk2`vzi?+bEOTYFxVW5hq_v)AP52^}Pf3HW4^`2T<81<>( z!U(v)$Eh*f90~5780vb}m%4I5sYmJ(mA*{LV4kXoV6M&)z7&ryCgNGQGE#ngM_eOo{1l1KB>LD?2p#9T5*)sLLQ?H!TPxe)>euW|X z4~_HM!l~GS^)+4BA9czC@DDhFZuMo|(I4FbWc&lRq9IGe1Xaj2HLH5>VuAo(aAfp+ z`3c6wl+(wbbhVfp(UQi^Ti-c-CEn#(y+m_mT|A=^>jf8{Gwc=muL@H2XJ^`Z=dNz~ z|FQQr(3YKLo#)wmpL6cH_uN~xZ+#>;sYAeIx-F&T5L>efHk(em|b~`Ffw{d7pRxhTbr3B$T1`x+j2524<-4 zpTMea4!hm_LBLTBS84L@yJ&dq>9yC>jYZ3lbszmiu$VXN(XYOuRr>PYE|S=S9*$_L ze&FW-oc>Uxz8e%MUj1*VxHp5^P41!r)*Zb71`tXBCJ|7Lc))cDK3tT4RcPjcF7trc z0gvj})UP$7?h-06_c!i>$${HnEVQ`^B|rt+7i0+G4bNRU_Pv^7qw?@lR!W{<=&W5$XvFk?|B<&e*0RQt8)wN)G(x6KyE$*V9rN zywjP&PeLj65x97rm;5fI{XygJil_>8ZrJIl4=V&e%Ad&SC z>RZkjqV-tW=Tyvnt6m|04B{1PL(emt;VptbLBf3!Oe`lCMbjGPoJj~Ty_FN`FnrRE z(Z}RiiHk8a^&agiV4q{062yXTHCi48Moh9m20G)&p!fi+F(#@i`oNePjS^hR0yikZ zkhB13@5KbvnHaKhX{J%Opp^C~07-Kne_fUdpa}NZYpD9$M#V7FY=Qsf_iGVa>Z?EQ z=ZmkK6N_dhFx&(X=RhaL_LAfdSS@<}sGw46W{$*lre@&98YZmL7)0QjwG_-Hz?342 zRuiE0{Q}Lc9GHv?CYWlGd<)Axs?tAA-)OphE&n$7c@9V!G?AkiS$Z5_z{_evpd(Z@ z*`~|B$qrrias&a&4Dz$uE^y;(|Hl0OjO#XK{E{+Nvu-Zm#Ut?wZXS7Sy}5Z_1F57 zEfS`1{vHb;`Zg%H>x3cLf+&Rk!RD*2N>(|jmVw_|!53Zx2yLl7V3C!tLOKP6A*g1F z5Q|$?V$9!O;b(Lq9AHCdQooNZQ^3eI*`0&15nqs(1Iv*&H7(Hy1@ z#!df+Yekyn*iRiRBLyKOJMWO$2{>W_h_}Ltp1)HbDI@5wWLZC9s1{@JT2RA4y1sc1 z@y1eYz2ioTIfjN1G1U1RYyEs3Np zndy2d$d|!@MG9s;AiP*0o2jr0iF8G=T)isiw$;vUS|iVEMoNT<-4XFJqm34H}0CwF+BBo z5pKX`1nn0f;1qNy-^8qFWD9&XE`J*Vmb4?TJ1FnaH(jK;2Q&;em17q%ECeJdPlfP~ z`um=zk-wmX5KWW^q0xo%4a|PbnEKpfc5RnVV>je5VKLMICAwi<9ONbetw&`Nh5Akq z;}4P*f(O6is0T6G@`E6ktW2aP7lwcdk`3@dxF zyDmS9vhF;boU_A98I6VY>h$#gCDE}m(ZfYJ^M z(e)WNP?Ew&t;ESW`6*&oadJ!an;))g3HF3O#a72Z@CGl$x3E1WKBbq6gX=4=sj{l6 zsmR*~8&IHJUx`mufO0B;b(4ysoc9Tc?YcMUFfkFZ8<~Zf2xuR&uRIZWk|J?iY66~n zdZe7rVG<37=5AaXYA$Ap+tLwy&*K32Nb~kAa7Ngc%*G-_{S$>biT~{O2QzfkLaZm- zk{3C{+h*lQHo^MopE%L0=gW&kqW3FE9~I_!Hn||E618Hob4;zvYlVb*?r&aylyBzR zZ?ak03)AN;Jah4HlI~mQVD2#bSlf`|Iqg>$hAwh}G>_bjWuT0r^y1bq{F4(x?1S#$ zJCUrkP@NZbX`va<(0Exor5k2D>Bb88ceVunz7NA^EbgTF0;YJ^JOxkf|Aym?)R6(#Q}@Z{$PhVbLs?+$l2;@ovs7xMFz&Cbq~#mclFDU zYJrSiQfin^n}K=ahjWQ6Y2N%HO@{fLLj^Ob;5()U9c(}ZVkdRUWjWGhs0C%INQ)DWf&ONL4)r#N ziugmJsZ_Jb4eoh)g@(9~L0RH)#2R}lfICBc1&Y5hgwT4=+gZ8*5M5N$k}&)Kg|E(< z6)Old6f(SGie60?TIu=;JEdvg+G$aPlIM2PqIRS5DlD;0$+0Xxp9Zo`8EMZ}C%x4m#F%okR**4LT-ztU@9t(?rQ{L_8As1cj&> zVPT9@Dn6`7VRBdq!dehvHMF!q^BT4ZYe8(ZAuNE&X_S0jf4Z4NYsR)leWyUXmpM$2 z5MZ}>wUU1)+M7GW95VV@743Ya3V=Qbs+u2on!NJ4W%jkcJ!DTokKhUNAS4?KogV>> z)Ma~KMvSPvX9yz()!cKF*2$wa+Y3e-)F|cAhuw@6(u=omFNzhB79YD0j&~^qx{($m zi-hri&GUYEa9IpnzVd|^zx%_mphX8Zd%z;ss@3^n`6*N5BkU)AlWJ%_l_;`=)V#pH(!2n7sSz#QC6j%V z;BEy1w@YIcvV;ciRlxmS?*Q(XQw9FYHo`@c8zaP@44dT?oHmRQ%>*c5LEkidIBXm0 zOZk7pe&e55zOAh0dOKtk;1``mA-blw$WK0y3R@pON-t0_$}cj9e1zUId-?D5Qp|Vp zK>J*hHQxp zdN!ShX$F6wZ*%2;w53f5F&R;0p7nr>&<5+i`q8)Xc~Q+1gdwWaqmSv)sC=RrORB>Z z41wSQL78F=$XV>yxg2t~P<%xyooB zwTuRwpnavmg(+P98U}N9#EI5;OrM5AwaGaiQ7#^@Q9t?ZO%~}XfUZ=fXkZx(p6X*S zSaFEnRCE<+D*d^lh4mWfrr zDNE!gAXLyr`Hmb&KqZERfQJ_V4Ij)L&}&yHqGOpJ#rIcHp>47=StOR6xZ%Nv?V-gk(LU$=u{%!9*p~YNY{!BLh z7p))08YBchEI%VP0xPUnkrmc-JR}vTrRiIVyYdrQ&}bFLBeZ3N&0HV`yheuXHEhs! zo66ingEcI_-d4UZ8~>BG$(dR3GkMgF`b6_lt&F-c#Z=3x!JFWdfwXSxNZn>MZ5`!1 zFmRr$V;_-APwU~))Sk9JOX3)ItI~5 zbeRD$1P~RfHv}75mLMonZ^Zb8KI#oZgR9D|&>2w6G$#!f#1@{l_f#iVk?!O3=+pQb zI>PjYMxJI3$qhcS41FKn7v|2DKcCHdPbqWOeeI_WTV>JYPs{hG4~OeNOtB45$*38TOulB6N17ilqS!lt=3;bOEwiW$x1X&rx7RD*rNtZl z)`|+2Mdj1EnFGXf-&2MSawrG~V@?nj7l;1b2b{?Inm*Z40+tAbTE3+Xq(TL)`qVl4 zPpwKvD!;KOg`}i(6S*V5j1Z}sqXME-sREadE5nDui>bb4)Yy?1kI`P!bKLjB#2u5l ze1EZ@X_?cZSai5IU658DJZ~cQ?@b37hEc6F(>lFMTatwjcpa9m_Ae$=-XflHAgQgl z5&<+KIYzsXC4LR`2i3?E>^G(iT!JweX3PK#RAE+FcM1N6GBIl_-^Kjcd(x+WaC-ZT z%NuA>?WpG97D9A&T0@cCV7cXp1e&8ZHOFiNl=3Mp@{IK{HMG1}G!V$tK}(qkn7O^+ zH||sx%e}Qj{O<((587L^-$p_K$^-&p|Nb?8V;d91Oa=Y1azno?|3q+Ubrpu_#ebqN z&sSp*6YWX=r6Cbac!AJ=;d5R+Y@+6C_K{T)n4Y}*KVIacpbQAILDWefh+&#=*XY$F zpod%mARH@S;b`OTSyfa!t^lFp%oRW>oA0?^(QyTYqTWpyq|a~#C|RXz#qO*1>%?m7 z9-*M7*>w?$35US2S^kK#bb!S|wfWeNV@J`Rn8j7fsVR&VFf8ad_RM4FPyzH=6;N2- zk7%AL*G(C8l`wg_(Aw%0A&x6R(5e9ux( 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

1YX-p8-F0IMuhI< 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 dTuCYXkqlU9#FVD+L) Date: Mon, 10 Jul 2023 12:19:51 +0400 Subject: [PATCH 06/11] rebase 2 --- src/helpers/tge.ts | 65 ++++++++++++++++++- .../run_in_band/tge.auction_migration.test.ts | 58 +++++++++++++++-- 2 files changed, 116 insertions(+), 7 deletions(-) diff --git a/src/helpers/tge.ts b/src/helpers/tge.ts index 72d9bb1e..daf9361b 100644 --- a/src/helpers/tge.ts +++ b/src/helpers/tge.ts @@ -627,12 +627,16 @@ export class Tge { /** * retrieves user's voting power from lp vault. */ - async lpVotingPower(user: string): Promise { + async lpVotingPower( + user: string, + height: number, + ): Promise { return await this.chain.queryContract( this.contracts.vestingLpVault, { voting_power_at_height: { address: user, + // height: height, }, }, ); @@ -1176,6 +1180,65 @@ export const queryFactoryPairs = async ( pairs: {}, }); +export const queryTotalUnclaimedAmountAtHeight = async ( + chain: CosmosWrapper, + address: string, + height: number, +) => + chain.queryContract(address, { + historical_extension: { + msg: { + unclaimed_total_amount_at_height: { + height: height, + }, + }, + }, + }); + +export const queryNtrnCLBalanceAtHeight = async ( + chain: CosmosWrapper, + address: string, + height: string, +) => + chain.queryContract(address, { + asset_balance_at: { + asset_info: { + native_token: { + denom: 'untrn', + }, + }, + block_height: height, + }, + }); + +export const queryUnclaimmedAmountAtHeight = async ( + chain: CosmosWrapper, + address: string, + height: number, + user: string, +) => + chain.queryContract(address, { + historical_extension: { + msg: { + unclaimed_amount_at_height: { + address: user, + height: height, + }, + }, + }, + }); + +export const queryAvialableAmount = async ( + chain: CosmosWrapper, + address: string, + user: string, +) => + chain.queryContract(address, { + available_amount: { + address: user, + }, + }); + export const instantiateAstroVesting = async ( cm: WalletWrapper, codeId: CodeId, diff --git a/src/testcases/run_in_band/tge.auction_migration.test.ts b/src/testcases/run_in_band/tge.auction_migration.test.ts index c103f5d0..72d8fc9f 100644 --- a/src/testcases/run_in_band/tge.auction_migration.test.ts +++ b/src/testcases/run_in_band/tge.auction_migration.test.ts @@ -12,9 +12,11 @@ import { executeDeregisterPair, executeFactoryCreatePair, executeGeneratorSetupPools, - getTimestamp, + getTimestamp, queryAvialableAmount, + queryUnclaimmedAmountAtHeight, queryFactoryPairs, - Tge, + queryTotalUnclaimedAmountAtHeight, + Tge, queryNtrnCLBalanceAtHeight, } from '../../helpers/tge'; import { Dao, DaoMember, getDaoContracts } from '../../helpers/dao'; import Long from 'long'; @@ -1504,7 +1506,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { min_price_scale_delta: '0.000146', price_scale: '1', ma_half_time: 600, - track_asset_balances: null, + track_asset_balances: true, }), ).toString('base64'), ); @@ -1528,7 +1530,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { min_price_scale_delta: '0.000146', price_scale: '1', ma_half_time: 600, - track_asset_balances: null, + track_asset_balances: true, }), ).toString('base64'), ); @@ -1611,7 +1613,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { const vp = await tge.lpVotingPower( tgeWallets[v].wallet.address.toString(), ); - votingPowerBefore[v] = vp.power; + votingPowerBefore[v] = +vp.power; } }); @@ -1762,6 +1764,13 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { }), ); expect(resAtom.code).toEqual(0); + resAtom = await cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ); + expect(resAtom.code).toEqual(0); await expect( cmInstantiator.executeContract( tge.contracts.vestingAtomLp, @@ -1808,10 +1817,46 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { ]) { const vp = await tge.lpVotingPower( tgeWallets[v].wallet.address.toString(), + 500, ); - expect(vp.power).toBeCloseTo(votingPowerBefore[v], -1); + expect(+vp.power).toBeCloseTo(votingPowerBefore[v], -1); } }); + it('check queries', async () => { + const total = await queryTotalUnclaimedAmountAtHeight( + cmInstantiator.chain, + tge.contracts.vestingAtomLp, + 500, + ); + const lpBalance = await tge.chain.queryContract( + tge.pairs.atom_ntrn.liquidity, + { + balance: { + address: tge.contracts.vestingAtomLp, + }, + }, + ); + + const ntrnAmount = await queryNtrnCLBalanceAtHeight( + cmInstantiator.chain, + tge.pairs.atom_ntrn.contract, + '500', + ); + const claimableAmount = await queryUnclaimmedAmountAtHeight( + cmInstantiator.chain, + tge.contracts.vestingAtomLp, + 500, + cmInstantiator.wallet.address.toString(), + ); + const available = await queryAvialableAmount( + cmInstantiator.chain, + tge.contracts.vestingAtomLp, + cmInstantiator.wallet.address.toString(), + ); + expect(total).toBe(lpBalance.balance); + expect(+ntrnAmount).toBeGreaterThan(0); + expect(claimableAmount).toBe(available); + }); it('should claim', async () => { const resAtom = await cmInstantiator.executeContract( @@ -1847,6 +1892,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { }, ), ]); + // actual diff is smth about 0.2% (converting old lp to new) expect(parseInt(lpBalanceAtom.balance)).toBeCloseTo(claimAtomLP, -2); expect(parseInt(lpBalanceUsdc.balance)).toBeCloseTo(claimUsdcLP, -2); From 6851309b78b51ba069cb4cc7232230dceb54abb2 Mon Sep 17 00:00:00 2001 From: quasisamurai Date: Tue, 11 Jul 2023 12:18:52 +0400 Subject: [PATCH 07/11] some test fixes + new cases --- src/helpers/tge.ts | 52 +++++------------- .../run_in_band/tge.auction_migration.test.ts | 54 +++++++++++++++---- 2 files changed, 57 insertions(+), 49 deletions(-) diff --git a/src/helpers/tge.ts b/src/helpers/tge.ts index daf9361b..b5ec5c8c 100644 --- a/src/helpers/tge.ts +++ b/src/helpers/tge.ts @@ -627,59 +627,31 @@ export class Tge { /** * retrieves user's voting power from lp vault. */ - async lpVotingPower( - user: string, - height: number, - ): Promise { + async lpVotingPower(user: string): Promise { return await this.chain.queryContract( this.contracts.vestingLpVault, { voting_power_at_height: { address: user, - // height: height, }, }, ); } /** - * retrieves user's ntrn and astro balances, lockdrop info and user's LP token balances. + * retrieves user's voting power from lockdrop vault. */ - async generatorRewardsStateOld(user: string): Promise { - const balanceNtrn = await this.chain.queryDenomBalance( - user, - this.neutronDenom, - ); - const balanceAstro = await this.chain.queryDenomBalance( - user, - this.astroDenom, - ); - const userInfo = await queryLockdropUserInfo( - this.chain, - this.contracts.lockdrop, - user, - ); - const atomNtrnLpTokenBalance = await this.chain.queryContract<{ - balance: string; - }>(this.old_pairs.atom_ntrn.liquidity, { - balance: { - address: user, - }, - }); - const usdcNtrnLpTokenBalance = await this.chain.queryContract<{ - balance: string; - }>(this.old_pairs.usdc_ntrn.liquidity, { - balance: { - address: user, + async lockdropVotingPower( + user: string, + ): Promise { + return await this.chain.queryContract( + this.contracts.lockdropVault, + { + voting_power_at_height: { + address: user, + }, }, - }); - return { - balanceNtrn, - balanceAstro, - userInfo, - atomNtrnLpTokenBalance: +atomNtrnLpTokenBalance.balance, - usdcNtrnLpTokenBalance: +usdcNtrnLpTokenBalance.balance, - }; + ); } } diff --git a/src/testcases/run_in_band/tge.auction_migration.test.ts b/src/testcases/run_in_band/tge.auction_migration.test.ts index 72d8fc9f..b5446fba 100644 --- a/src/testcases/run_in_band/tge.auction_migration.test.ts +++ b/src/testcases/run_in_band/tge.auction_migration.test.ts @@ -12,11 +12,13 @@ import { executeDeregisterPair, executeFactoryCreatePair, executeGeneratorSetupPools, - getTimestamp, queryAvialableAmount, + getTimestamp, + queryAvialableAmount, queryUnclaimmedAmountAtHeight, queryFactoryPairs, queryTotalUnclaimedAmountAtHeight, - Tge, queryNtrnCLBalanceAtHeight, + Tge, + queryNtrnCLBalanceAtHeight, } from '../../helpers/tge'; import { Dao, DaoMember, getDaoContracts } from '../../helpers/dao'; import Long from 'long'; @@ -1599,9 +1601,10 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { describe('Migration of lp vesting', () => { let claimAtomLP; let claimUsdcLP; - const votingPowerBefore: Record = {}; + const votingPowerBeforeLp: Record = {}; + const votingPowerBeforeLockdrop: Record = {}; - it('should save voting power before migration', async () => { + it('should save voting power before migration: lp', async () => { for (const v of [ 'airdropAuctionVesting', 'airdropAuctionLockdrop', @@ -1613,7 +1616,23 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { const vp = await tge.lpVotingPower( tgeWallets[v].wallet.address.toString(), ); - votingPowerBefore[v] = +vp.power; + votingPowerBeforeLp[v] = +vp.power; + } + }); + + it('should save voting power before migration: lockdrop', async () => { + for (const v of [ + 'airdropAuctionVesting', + 'airdropAuctionLockdrop', + 'airdropAuctionLockdropVesting', + 'auctionLockdrop', + 'auctionLockdropVesting', + 'auctionVesting', + ]) { + const vp = await tge.lockdropVotingPower( + tgeWallets[v].wallet.address.toString(), + ); + votingPowerBeforeLockdrop[v] = +vp.power; } }); @@ -1806,7 +1825,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { ).rejects.toThrow(/Migration is complete/); }); - it('should compare voting power after migrtaion', async () => { + it('should compare voting power after migrtaion: lp', async () => { for (const v of [ 'airdropAuctionVesting', 'airdropAuctionLockdrop', @@ -1817,11 +1836,27 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { ]) { const vp = await tge.lpVotingPower( tgeWallets[v].wallet.address.toString(), - 500, ); - expect(+vp.power).toBeCloseTo(votingPowerBefore[v], -1); + expect(+vp.power).toBeCloseTo(votingPowerBeforeLp[v], -3); + } + }); + + it('should compare voting power after migration: lockdrop', async () => { + for (const v of [ + 'airdropAuctionVesting', + 'airdropAuctionLockdrop', + 'airdropAuctionLockdropVesting', + 'auctionLockdrop', + 'auctionLockdropVesting', + 'auctionVesting', + ]) { + const vp = await tge.lockdropVotingPower( + tgeWallets[v].wallet.address.toString(), + ); + expect(+vp.power).toBeCloseTo(votingPowerBeforeLockdrop[v], -3); } }); + it('check queries', async () => { const total = await queryTotalUnclaimedAmountAtHeight( cmInstantiator.chain, @@ -2214,7 +2249,8 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { rewardsStateAfterClaim.balanceNtrn + FEE_SIZE - rewardsStateBeforeClaim.balanceNtrn, - ).toEqual(120402); // lockdrop rewards share for the user + ).toBeCloseTo(120402, -1); // lockdrop rewards share for the user + const expectedGeneratorRewards = +( ( rewardsStateBeforeClaim.userInfo.lockup_infos.find( From 57cf7215bf9d55836199465fd1bf06d82851b23f Mon Sep 17 00:00:00 2001 From: quasisamurai Date: Mon, 7 Aug 2023 17:39:00 +0400 Subject: [PATCH 08/11] post-rebase fixes --- src/helpers/cosmos.ts | 2 +- .../run_in_band/tge.auction_migration.test.ts | 1844 +++++++++-------- 2 files changed, 928 insertions(+), 918 deletions(-) diff --git a/src/helpers/cosmos.ts b/src/helpers/cosmos.ts index 351aa9f7..12c778cf 100644 --- a/src/helpers/cosmos.ts +++ b/src/helpers/cosmos.ts @@ -574,7 +574,7 @@ export class WalletWrapper { msg: string, funds: proto.cosmos.base.v1beta1.ICoin[] = [], fee: proto.cosmos.tx.v1beta1.IFee = { - gas_limit: Long.fromString('4000000'), + gas_limit: Long.fromString('4005000'), amount: [{ denom: this.chain.denom, amount: '10000' }], }, ): Promise { diff --git a/src/testcases/run_in_band/tge.auction_migration.test.ts b/src/testcases/run_in_band/tge.auction_migration.test.ts index b5446fba..f95db8b7 100644 --- a/src/testcases/run_in_band/tge.auction_migration.test.ts +++ b/src/testcases/run_in_band/tge.auction_migration.test.ts @@ -1464,545 +1464,569 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { }); }); }); - describe('Migration lockdrop to V2', () => { - let oldPairs; + describe('Migration to V2', () => { let heightDiff; - describe('Migration of pairs', () => { - it('should unregister old pairs', async () => { - { - const res = await executeDeregisterPair( - tge.instantiator, - tge.contracts.astroFactory, - IBC_ATOM_DENOM, - NEUTRON_DENOM, - ); - expect(res.code).toEqual(0); - } - { - const res = await executeDeregisterPair( - tge.instantiator, - tge.contracts.astroFactory, - IBC_USDC_DENOM, - NEUTRON_DENOM, - ); - expect(res.code).toEqual(0); - } - }); - it('should register CL pairs', async () => { - { - const res = await executeFactoryCreatePair( + describe('Migration of pairs', () => { + it('should unregister old pairs', async () => { + { + const res = await executeDeregisterPair( + tge.instantiator, + tge.contracts.astroFactory, + IBC_ATOM_DENOM, + NEUTRON_DENOM, + ); + expect(res.code).toEqual(0); + } + { + const res = await executeDeregisterPair( + tge.instantiator, + tge.contracts.astroFactory, + IBC_USDC_DENOM, + NEUTRON_DENOM, + ); + expect(res.code).toEqual(0); + } + }); + it('should register CL pairs', async () => { + { + const res = await executeFactoryCreatePair( + tge.instantiator, + tge.contracts.astroFactory, + IBC_ATOM_DENOM, + NEUTRON_DENOM, + 'concentrated', + Buffer.from( + JSON.stringify({ + amp: '40', + gamma: '0.000145', + mid_fee: '0.0026', + out_fee: '0.0045', + fee_gamma: '0.00023', + repeg_profit_threshold: '0.000002', + min_price_scale_delta: '0.000146', + price_scale: '1', + ma_half_time: 600, + track_asset_balances: true, + }), + ).toString('base64'), + ); + expect(res.code).toEqual(0); + } + { + const res = await executeFactoryCreatePair( + tge.instantiator, + tge.contracts.astroFactory, + IBC_USDC_DENOM, + NEUTRON_DENOM, + 'concentrated', + Buffer.from( + JSON.stringify({ + amp: '40', + gamma: '0.000145', + mid_fee: '0.0026', + out_fee: '0.0045', + fee_gamma: '0.00023', + repeg_profit_threshold: '0.000002', + min_price_scale_delta: '0.000146', + price_scale: '1', + ma_half_time: 600, + track_asset_balances: true, + }), + ).toString('base64'), + ); + expect(res.code).toEqual(0); + } + }); + it('should unsetup CL pairs for generator', async () => { + const res = await executeGeneratorSetupPools( tge.instantiator, - tge.contracts.astroFactory, - IBC_ATOM_DENOM, - NEUTRON_DENOM, - 'concentrated', - Buffer.from( - JSON.stringify({ - amp: '40', - gamma: '0.000145', - mid_fee: '0.0026', - out_fee: '0.0045', - fee_gamma: '0.00023', - repeg_profit_threshold: '0.000002', - min_price_scale_delta: '0.000146', - price_scale: '1', - ma_half_time: 600, - track_asset_balances: true, - }), - ).toString('base64'), + tge.contracts.astroGenerator, + [tge.pairs.atom_ntrn.liquidity, tge.pairs.usdc_ntrn.liquidity], + '0', ); expect(res.code).toEqual(0); - } - { - const res = await executeFactoryCreatePair( + migrationLength = +(res.height || 0); + }); + it('should set pairs data', async () => { + const pairs = ( + await queryFactoryPairs(tge.chain, tge.contracts.astroFactory) + ).pairs; + expect(pairs).toHaveLength(2); + tge.old_pairs = _.cloneDeep(tge.pairs); + tge.pairs = { + atom_ntrn: { + contract: pairs[0].contract_addr, + liquidity: pairs[0].liquidity_token, + }, + usdc_ntrn: { + contract: pairs[1].contract_addr, + liquidity: pairs[1].liquidity_token, + }, + }; + }); + it('should setup CL pairs for generator', async () => { + const res = await executeGeneratorSetupPools( tge.instantiator, - tge.contracts.astroFactory, - IBC_USDC_DENOM, - NEUTRON_DENOM, - 'concentrated', - Buffer.from( - JSON.stringify({ - amp: '40', - gamma: '0.000145', - mid_fee: '0.0026', - out_fee: '0.0045', - fee_gamma: '0.00023', - repeg_profit_threshold: '0.000002', - min_price_scale_delta: '0.000146', - price_scale: '1', - ma_half_time: 600, - track_asset_balances: true, - }), - ).toString('base64'), + tge.contracts.astroGenerator, + [tge.pairs.atom_ntrn.liquidity, tge.pairs.usdc_ntrn.liquidity], + '1', ); expect(res.code).toEqual(0); - } - }); - it('should unsetup CL pairs for generator', async () => { - const res = await executeGeneratorSetupPools( - tge.instantiator, - tge.contracts.astroGenerator, - [tge.pairs.atom_ntrn.liquidity, tge.pairs.usdc_ntrn.liquidity], - '0', - ); - expect(res.code).toEqual(0); - migrationLength = +(res.height || 0); - }); - it('should set pairs data', async () => { - const pairs = ( - await queryFactoryPairs(tge.chain, tge.contracts.astroFactory) - ).pairs; - expect(pairs).toHaveLength(2); - tge.old_pairs = _.cloneDeep(tge.pairs); - tge.pairs = { - atom_ntrn: { - contract: pairs[0].contract_addr, - liquidity: pairs[0].liquidity_token, - }, - usdc_ntrn: { - contract: pairs[1].contract_addr, - liquidity: pairs[1].liquidity_token, - }, - }; - }); - it('should setup CL pairs for generator', async () => { - const res = await executeGeneratorSetupPools( - tge.instantiator, - tge.contracts.astroGenerator, - [tge.pairs.atom_ntrn.liquidity, tge.pairs.usdc_ntrn.liquidity], - '1', - ); - expect(res.code).toEqual(0); - migrationLength = +(res.height || 0) - migrationLength; - }); - it('should have zero liquidity on CL pools', async () => { - const usdcBalance = await neutronChain.queryContract( - tge.pairs.usdc_ntrn.liquidity, - { - balance: { - address: tge.contracts.astroGenerator, + migrationLength = +(res.height || 0) - migrationLength; + }); + it('should have zero liquidity on CL pools', async () => { + const usdcBalance = await neutronChain.queryContract( + tge.pairs.usdc_ntrn.liquidity, + { + balance: { + address: tge.contracts.astroGenerator, + }, }, - }, - ); - expect(usdcBalance.balance).toEqual('0'); - const atomBalance = await neutronChain.queryContract( - tge.pairs.atom_ntrn.liquidity, - { - balance: { - address: tge.contracts.astroGenerator, + ); + expect(usdcBalance.balance).toEqual('0'); + const atomBalance = await neutronChain.queryContract( + tge.pairs.atom_ntrn.liquidity, + { + balance: { + address: tge.contracts.astroGenerator, + }, }, - }, - ); - expect(atomBalance.balance).toEqual('0'); + ); + expect(atomBalance.balance).toEqual('0'); + }); }); - }); - describe('Migration of lp vesting', () => { - let claimAtomLP; - let claimUsdcLP; - const votingPowerBeforeLp: Record = {}; - const votingPowerBeforeLockdrop: Record = {}; + describe('Migration of lp vesting', () => { + let claimAtomLP; + let claimUsdcLP; + const votingPowerBeforeLp: Record = {}; + const votingPowerBeforeLockdrop: Record = {}; - it('should save voting power before migration: lp', async () => { - for (const v of [ - 'airdropAuctionVesting', - 'airdropAuctionLockdrop', - 'airdropAuctionLockdropVesting', - 'auctionLockdrop', - 'auctionLockdropVesting', - 'auctionVesting', - ]) { - const vp = await tge.lpVotingPower( - tgeWallets[v].wallet.address.toString(), - ); - votingPowerBeforeLp[v] = +vp.power; - } - }); + it('should save voting power before migration: lp', async () => { + for (const v of [ + 'airdropAuctionVesting', + 'airdropAuctionLockdrop', + 'airdropAuctionLockdropVesting', + 'auctionLockdrop', + 'auctionLockdropVesting', + 'auctionVesting', + ]) { + const vp = await tge.lpVotingPower( + tgeWallets[v].wallet.address.toString(), + ); + votingPowerBeforeLp[v] = +vp.power; + } + }); - it('should save voting power before migration: lockdrop', async () => { - for (const v of [ - 'airdropAuctionVesting', - 'airdropAuctionLockdrop', - 'airdropAuctionLockdropVesting', - 'auctionLockdrop', - 'auctionLockdropVesting', - 'auctionVesting', - ]) { - const vp = await tge.lockdropVotingPower( - tgeWallets[v].wallet.address.toString(), - ); - votingPowerBeforeLockdrop[v] = +vp.power; - } - }); + it('should save voting power before migration: lockdrop', async () => { + for (const v of [ + 'airdropAuctionVesting', + 'airdropAuctionLockdrop', + 'airdropAuctionLockdropVesting', + 'auctionLockdrop', + 'auctionLockdropVesting', + 'auctionVesting', + ]) { + const vp = await tge.lockdropVotingPower( + tgeWallets[v].wallet.address.toString(), + ); + votingPowerBeforeLockdrop[v] = +vp.power; + } + }); - it('should validate numbers & save claim amount before migration', async () => { - const [ - vestingInfoAtom, - vestingInfoUsdc, - lpAuctionBalanceAtom, - lpAuctionBalanceUsdc, - ] = await Promise.all([ - neutronChain.queryContract( - tge.contracts.vestingAtomLp, - { - vesting_account: { - address: cmInstantiator.wallet.address.toString(), + it('should validate numbers & save claim amount before migration', async () => { + const [ + vestingInfoAtom, + vestingInfoUsdc, + lpAuctionBalanceAtom, + lpAuctionBalanceUsdc, + ] = await Promise.all([ + neutronChain.queryContract( + tge.contracts.vestingAtomLp, + { + vesting_account: { + address: cmInstantiator.wallet.address.toString(), + }, }, - }, - ), - neutronChain.queryContract( - tge.contracts.vestingUsdcLp, - { - vesting_account: { - address: cmInstantiator.wallet.address.toString(), + ), + neutronChain.queryContract( + tge.contracts.vestingUsdcLp, + { + vesting_account: { + address: cmInstantiator.wallet.address.toString(), + }, }, - }, - ), - neutronChain.queryContract( - tge.pairs.atom_ntrn.liquidity, - { - balance: { - address: tge.contracts.auction, + ), + neutronChain.queryContract( + tge.pairs.atom_ntrn.liquidity, + { + balance: { + address: tge.contracts.auction, + }, }, - }, - ), - neutronChain.queryContract( - tge.pairs.usdc_ntrn.liquidity, - { - balance: { - address: tge.contracts.auction, + ), + neutronChain.queryContract( + tge.pairs.usdc_ntrn.liquidity, + { + balance: { + address: tge.contracts.auction, + }, }, - }, - ), - ]); + ), + ]); - expect(parseInt(lpAuctionBalanceUsdc.balance)).toBeLessThanOrEqual(7); - expect(parseInt(lpAuctionBalanceAtom.balance)).toBeLessThanOrEqual(7); - expect(vestingInfoAtom.address).toEqual( - cmInstantiator.wallet.address.toString(), - ); - expect(vestingInfoUsdc.address).toEqual( - cmInstantiator.wallet.address.toString(), - ); - expect(vestingInfoAtom.info.released_amount).toEqual('0'); - expect(vestingInfoUsdc.info.released_amount).toEqual('0'); - - expect( - parseInt(vestingInfoAtom.info.schedules[0].end_point.amount), - ).toBeCloseTo(5918, -1); - claimAtomLP = parseInt( - vestingInfoAtom.info.schedules[0].end_point.amount, - ); + expect(parseInt(lpAuctionBalanceUsdc.balance)).toBeLessThanOrEqual(7); + expect(parseInt(lpAuctionBalanceAtom.balance)).toBeLessThanOrEqual(7); + expect(vestingInfoAtom.address).toEqual( + cmInstantiator.wallet.address.toString(), + ); + expect(vestingInfoUsdc.address).toEqual( + cmInstantiator.wallet.address.toString(), + ); + expect(vestingInfoAtom.info.released_amount).toEqual('0'); + expect(vestingInfoUsdc.info.released_amount).toEqual('0'); - expect( - parseInt(vestingInfoUsdc.info.schedules[0].end_point.amount), - ).toBeCloseTo(2784, -1); - claimUsdcLP = parseInt( - vestingInfoUsdc.info.schedules[0].end_point.amount, - ); - }); + expect( + parseInt(vestingInfoAtom.info.schedules[0].end_point.amount), + ).toBeCloseTo(89394, -1); + claimAtomLP = parseInt( + vestingInfoAtom.info.schedules[0].end_point.amount, + ); - it('should migrate LP vesing vault to V2', async () => { - const res = await cmInstantiator.migrateContract( - tge.contracts.vestingLpVault, - tge.codeIds.VESTING_LP_VAULT_V2, - { - atom_cl_pool: tge.pairs.atom_ntrn.contract.toString(), - usdc_cl_pool: tge.pairs.usdc_ntrn.contract.toString(), - }, - ); - expect(res.code).toEqual(0); - }); + expect( + parseInt(vestingInfoUsdc.info.schedules[0].end_point.amount), + ).toBeCloseTo(18087, -1); + claimUsdcLP = parseInt( + vestingInfoUsdc.info.schedules[0].end_point.amount, + ); + }); - it('should migrate lockdrop vault to V2', async () => { - const res = await cmInstantiator.migrateContract( - tge.contracts.lockdropVault, - tge.codeIds.LOCKDROP_VAULT_V2, - { - atom_cl_pool_contract: tge.pairs.atom_ntrn.contract.toString(), - usdc_cl_pool_contract: tge.pairs.usdc_ntrn.contract.toString(), - }, - ); - expect(res.code).toEqual(0); - }); + it('should migrate LP vesing vault to V2', async () => { + const res = await cmInstantiator.migrateContract( + tge.contracts.vestingLpVault, + tge.codeIds.VESTING_LP_VAULT_V2, + { + atom_cl_pool: tge.pairs.atom_ntrn.contract.toString(), + usdc_cl_pool: tge.pairs.usdc_ntrn.contract.toString(), + }, + ); + expect(res.code).toEqual(0); + }); - it('should migrate ATOM LP vesing to V2', async () => { - const res = await cmInstantiator.migrateContract( - tge.contracts.vestingAtomLp, - tge.codeIds.VESTING_LP_V2, - { - max_slippage: '0.1', - ntrn_denom: NEUTRON_DENOM, - paired_denom: IBC_ATOM_DENOM, - xyk_pair: tge.old_pairs.atom_ntrn.contract.toString(), - cl_pair: tge.pairs.atom_ntrn.contract.toString(), - new_lp_token: tge.pairs.atom_ntrn.liquidity.toString(), - batch_size: 1, - }, - ); - expect(res.code).toEqual(0); - }); + it('should migrate lockdrop vault to V2', async () => { + const res = await cmInstantiator.migrateContract( + tge.contracts.lockdropVault, + tge.codeIds.LOCKDROP_VAULT_V2, + { + atom_cl_pool_contract: tge.pairs.atom_ntrn.contract.toString(), + usdc_cl_pool_contract: tge.pairs.usdc_ntrn.contract.toString(), + }, + ); + expect(res.code).toEqual(0); + }); - it('should migrate USDC LP vesing to V2', async () => { - const res = await cmInstantiator.migrateContract( - tge.contracts.vestingUsdcLp, - tge.codeIds.VESTING_LP_V2, - { - max_slippage: '0.1', - ntrn_denom: NEUTRON_DENOM, - paired_denom: IBC_USDC_DENOM, - xyk_pair: tge.old_pairs.usdc_ntrn.contract, - cl_pair: tge.pairs.usdc_ntrn.contract, - new_lp_token: tge.pairs.usdc_ntrn.liquidity, - batch_size: 100, - }, - ); - expect(res.code).toEqual(0); - }); + it('should migrate ATOM LP vesing to V2', async () => { + const res = await cmInstantiator.migrateContract( + tge.contracts.vestingAtomLp, + tge.codeIds.VESTING_LP_V2, + { + max_slippage: '0.1', + ntrn_denom: NEUTRON_DENOM, + paired_denom: IBC_ATOM_DENOM, + xyk_pair: tge.old_pairs.atom_ntrn.contract.toString(), + cl_pair: tge.pairs.atom_ntrn.contract.toString(), + new_lp_token: tge.pairs.atom_ntrn.liquidity.toString(), + batch_size: 1, + }, + ); + expect(res.code).toEqual(0); + }); - it('should migrate atom', async () => { - let resAtom = await cmInstantiator.executeContract( - tge.contracts.vestingAtomLp, - JSON.stringify({ - migrate_liquidity: {}, - }), - ); - expect(resAtom.code).toEqual(0); - resAtom = await cmInstantiator.executeContract( - tge.contracts.vestingAtomLp, - JSON.stringify({ - migrate_liquidity: {}, - }), - ); - expect(resAtom.code).toEqual(0); - resAtom = await cmInstantiator.executeContract( - tge.contracts.vestingAtomLp, - JSON.stringify({ - migrate_liquidity: {}, - }), - ); - expect(resAtom.code).toEqual(0); - resAtom = await cmInstantiator.executeContract( - tge.contracts.vestingAtomLp, - JSON.stringify({ - migrate_liquidity: {}, - }), - ); - expect(resAtom.code).toEqual(0); - await expect( - cmInstantiator.executeContract( + it('should migrate USDC LP vesing to V2', async () => { + const res = await cmInstantiator.migrateContract( + tge.contracts.vestingUsdcLp, + tge.codeIds.VESTING_LP_V2, + { + max_slippage: '0.1', + ntrn_denom: NEUTRON_DENOM, + paired_denom: IBC_USDC_DENOM, + xyk_pair: tge.old_pairs.usdc_ntrn.contract, + cl_pair: tge.pairs.usdc_ntrn.contract, + new_lp_token: tge.pairs.usdc_ntrn.liquidity, + batch_size: 50, + }, + ); + expect(res.code).toEqual(0); + }); + + it('should migrate atom', async () => { + let resAtom = await cmInstantiator.executeContract( tge.contracts.vestingAtomLp, JSON.stringify({ migrate_liquidity: {}, }), - ), - ).rejects.toThrow(/Migration is complete/); - }); + ); + expect(resAtom.code).toEqual(0); + resAtom = await cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ); + expect(resAtom.code).toEqual(0); + resAtom = await cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ); + expect(resAtom.code).toEqual(0); + resAtom = await cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ); + expect(resAtom.code).toEqual(0); + resAtom = await cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ); + expect(resAtom.code).toEqual(0); + await expect( + cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ), + ).rejects.toThrow(/Migration is complete/); + }); - it('should migrate usdc', async () => { - let resUsdc = await cmInstantiator.executeContract( - tge.contracts.vestingUsdcLp, - JSON.stringify({ - migrate_liquidity: {}, - }), - ); - expect(resUsdc.code).toEqual(0); - resUsdc = await cmInstantiator.executeContract( - tge.contracts.vestingUsdcLp, - JSON.stringify({ - migrate_liquidity: {}, - }), - ); - expect(resUsdc.code).toEqual(0); - await expect( - cmInstantiator.executeContract( + it('should migrate usdc', async () => { + let resUsdc = await cmInstantiator.executeContract( tge.contracts.vestingUsdcLp, JSON.stringify({ migrate_liquidity: {}, }), - ), - ).rejects.toThrow(/Migration is complete/); - }); - - it('should compare voting power after migrtaion: lp', async () => { - for (const v of [ - 'airdropAuctionVesting', - 'airdropAuctionLockdrop', - 'airdropAuctionLockdropVesting', - 'auctionLockdrop', - 'auctionLockdropVesting', - 'auctionVesting', - ]) { - const vp = await tge.lpVotingPower( - tgeWallets[v].wallet.address.toString(), ); - expect(+vp.power).toBeCloseTo(votingPowerBeforeLp[v], -3); - } - }); - - it('should compare voting power after migration: lockdrop', async () => { - for (const v of [ - 'airdropAuctionVesting', - 'airdropAuctionLockdrop', - 'airdropAuctionLockdropVesting', - 'auctionLockdrop', - 'auctionLockdropVesting', - 'auctionVesting', - ]) { - const vp = await tge.lockdropVotingPower( - tgeWallets[v].wallet.address.toString(), + expect(resUsdc.code).toEqual(0); + resUsdc = await cmInstantiator.executeContract( + tge.contracts.vestingUsdcLp, + JSON.stringify({ + migrate_liquidity: {}, + }), ); - expect(+vp.power).toBeCloseTo(votingPowerBeforeLockdrop[v], -3); - } - }); + expect(resUsdc.code).toEqual(0); + await expect( + cmInstantiator.executeContract( + tge.contracts.vestingUsdcLp, + JSON.stringify({ + migrate_liquidity: {}, + }), + ), + ).rejects.toThrow(/Migration is complete/); + }); - it('check queries', async () => { - const total = await queryTotalUnclaimedAmountAtHeight( - cmInstantiator.chain, - tge.contracts.vestingAtomLp, - 500, - ); - const lpBalance = await tge.chain.queryContract( - tge.pairs.atom_ntrn.liquidity, - { - balance: { - address: tge.contracts.vestingAtomLp, + it('should compare voting power after migrtaion: lp', async () => { + for (const v of [ + 'airdropAuctionVesting', + 'airdropAuctionLockdrop', + 'airdropAuctionLockdropVesting', + 'auctionLockdrop', + 'auctionLockdropVesting', + 'auctionVesting', + ]) { + const vp = await tge.lpVotingPower( + tgeWallets[v].wallet.address.toString(), + ); + expect(+vp.power).toBeCloseTo(votingPowerBeforeLp[v], -3); + } + }); + + it('should compare voting power after migration: lockdrop', async () => { + for (const v of [ + 'airdropAuctionVesting', + 'airdropAuctionLockdrop', + 'airdropAuctionLockdropVesting', + 'auctionLockdrop', + 'auctionLockdropVesting', + 'auctionVesting', + ]) { + const vp = await tge.lockdropVotingPower( + tgeWallets[v].wallet.address.toString(), + ); + expect(+vp.power).toBeCloseTo(votingPowerBeforeLockdrop[v], -3); + } + }); + + it('check queries', async () => { + const total = await queryTotalUnclaimedAmountAtHeight( + cmInstantiator.chain, + tge.contracts.vestingAtomLp, + 500, + ); + const lpBalance = await tge.chain.queryContract( + tge.pairs.atom_ntrn.liquidity, + { + balance: { + address: tge.contracts.vestingAtomLp, + }, }, - }, - ); + ); - const ntrnAmount = await queryNtrnCLBalanceAtHeight( - cmInstantiator.chain, - tge.pairs.atom_ntrn.contract, - '500', - ); - const claimableAmount = await queryUnclaimmedAmountAtHeight( - cmInstantiator.chain, - tge.contracts.vestingAtomLp, - 500, - cmInstantiator.wallet.address.toString(), - ); - const available = await queryAvialableAmount( - cmInstantiator.chain, - tge.contracts.vestingAtomLp, - cmInstantiator.wallet.address.toString(), - ); - expect(total).toBe(lpBalance.balance); - expect(+ntrnAmount).toBeGreaterThan(0); - expect(claimableAmount).toBe(available); - }); + const ntrnAmount = await queryNtrnCLBalanceAtHeight( + cmInstantiator.chain, + tge.pairs.atom_ntrn.contract, + '500', + ); + const claimableAmount = await queryUnclaimmedAmountAtHeight( + cmInstantiator.chain, + tge.contracts.vestingAtomLp, + 500, + cmInstantiator.wallet.address.toString(), + ); + const available = await queryAvialableAmount( + cmInstantiator.chain, + tge.contracts.vestingAtomLp, + cmInstantiator.wallet.address.toString(), + ); + expect(total).toBe(lpBalance.balance); + expect(+ntrnAmount).toBeGreaterThan(0); + expect(claimableAmount).toBe(available); + }); - it('should claim', async () => { - const resAtom = await cmInstantiator.executeContract( - tge.contracts.vestingAtomLp, - JSON.stringify({ - claim: {}, - }), - ); - expect(resAtom.code).toEqual(0); - const resUsdc = await cmInstantiator.executeContract( - tge.contracts.vestingUsdcLp, - JSON.stringify({ - claim: {}, - }), - ); - expect(resUsdc.code).toEqual(0); + it('should claim', async () => { + const resAtom = await cmInstantiator.executeContract( + tge.contracts.vestingAtomLp, + JSON.stringify({ + claim: {}, + }), + ); + expect(resAtom.code).toEqual(0); + const resUsdc = await cmInstantiator.executeContract( + tge.contracts.vestingUsdcLp, + JSON.stringify({ + claim: {}, + }), + ); + expect(resUsdc.code).toEqual(0); - const [lpBalanceAtom, lpBalanceUsdc] = await Promise.all([ - neutronChain.queryContract( - tge.pairs.atom_ntrn.liquidity, - { - balance: { - address: cmInstantiator.wallet.address.toString(), + const [lpBalanceAtom, lpBalanceUsdc] = await Promise.all([ + neutronChain.queryContract( + tge.pairs.atom_ntrn.liquidity, + { + balance: { + address: cmInstantiator.wallet.address.toString(), + }, }, - }, - ), - neutronChain.queryContract( - tge.pairs.usdc_ntrn.liquidity, - { - balance: { - address: cmInstantiator.wallet.address.toString(), + ), + neutronChain.queryContract( + tge.pairs.usdc_ntrn.liquidity, + { + balance: { + address: cmInstantiator.wallet.address.toString(), + }, }, - }, - ), - ]); + ), + ]); - // actual diff is smth about 0.2% (converting old lp to new) - expect(parseInt(lpBalanceAtom.balance)).toBeCloseTo(claimAtomLP, -2); - expect(parseInt(lpBalanceUsdc.balance)).toBeCloseTo(claimUsdcLP, -2); + // actual diff is smth about 0.2% (converting old lp to new) + expect(parseInt(lpBalanceAtom.balance)).toBeCloseTo(claimAtomLP, -2); + expect(parseInt(lpBalanceUsdc.balance)).toBeCloseTo(claimUsdcLP, -2); + }); }); - }); - describe('Migration lockdrop to V2', () => { - it('should migrate lockdrop to V2', async () => { - const res = await cmInstantiator.migrateContract( - tge.contracts.lockdrop, - tge.codeIds.TGE_LOCKDROP_V2, - { - new_atom_token: tge.pairs.atom_ntrn.liquidity, - new_usdc_token: tge.pairs.usdc_ntrn.liquidity, - max_slippage: '0.1', - }, - ); - expect(res.code).toEqual(0); - heightDiff = +(res.height || 0); - }); - it('should not allow to query user lockup at height', async () => { - await expect( - cmInstantiator.chain.queryContract(tge.contracts.lockdrop, { - query_user_lockup_total_at_height: { - pool_type: 'ATOM', - user_address: cmInstantiator.wallet.address, - height: 1, - }, - }), - ).rejects.toThrowError(/Contract is in migration state/); - }); - it('should not allow to query total lockup at height', async () => { - await expect( - cmInstantiator.chain.queryContract(tge.contracts.lockdrop, { - query_lockup_total_at_height: { - pool_type: 'ATOM', - height: 1, - }, - }), - ).rejects.toThrowError(/Contract is in migration state/); - }); - it('should not allow to execute claim', async () => { - await expect( - cmInstantiator.executeContract( + describe('Migration lockdrop to V2', () => { + it('should migrate lockdrop to V2', async () => { + const res = await cmInstantiator.migrateContract( tge.contracts.lockdrop, - JSON.stringify({ - claim_rewards_and_optionally_unlock: { - pool_type: 'USDC', - duration: 1, - withdraw_lp_stake: false, + tge.codeIds.TGE_LOCKDROP_V2, + { + new_atom_token: tge.pairs.atom_ntrn.liquidity, + new_usdc_token: tge.pairs.usdc_ntrn.liquidity, + max_slippage: '0.1', + }, + ); + expect(res.code).toEqual(0); + heightDiff = +(res.height || 0); + }); + it('should not allow to query user lockup at height', async () => { + await expect( + cmInstantiator.chain.queryContract(tge.contracts.lockdrop, { + query_user_lockup_total_at_height: { + pool_type: 'ATOM', + user_address: cmInstantiator.wallet.address, + height: 1, }, }), - ), - ).rejects.toThrowError(/Contract is in migration state/); - }); - it('should not allow to migrate users', async () => { - await expect( - cmInstantiator.executeContract( - tge.contracts.lockdrop, - JSON.stringify({ - migrate_from_xyk_to_cl: { - migrate_users: {}, + ).rejects.toThrowError(/Contract is in migration state/); + }); + it('should not allow to query total lockup at height', async () => { + await expect( + cmInstantiator.chain.queryContract(tge.contracts.lockdrop, { + query_lockup_total_at_height: { + pool_type: 'ATOM', + height: 1, }, }), - ), - ).rejects.toThrowError(/Migration is not in MigrateUsers state/); - }); - it('should not migrate liquidity with over-limit slippage', async () => { - await expect( - cmInstantiator.executeContract( + ).rejects.toThrowError(/Contract is in migration state/); + }); + it('should not allow to execute claim', async () => { + await expect( + cmInstantiator.executeContract( + tge.contracts.lockdrop, + JSON.stringify({ + claim_rewards_and_optionally_unlock: { + pool_type: 'USDC', + duration: 1, + withdraw_lp_stake: false, + }, + }), + ), + ).rejects.toThrowError(/Contract is in migration state/); + }); + it('should not allow to migrate users', async () => { + await expect( + cmInstantiator.executeContract( + tge.contracts.lockdrop, + JSON.stringify({ + migrate_from_xyk_to_cl: { + migrate_users: {}, + }, + }), + ), + ).rejects.toThrowError(/Migration is not in MigrateUsers state/); + }); + it('should not migrate liquidity with over-limit slippage', async () => { + await expect( + cmInstantiator.executeContract( + tge.contracts.lockdrop, + JSON.stringify({ + migrate_from_xyk_to_cl: { + migrate_liquidity: { + slippage_tolerance: '0.2', + }, + }, + }), + [], + { + gas_limit: Long.fromString('8000000'), + amount: [{ denom: tge.chain.denom, amount: '20000' }], + }, + ), + ).rejects.toThrowError(/Slippage tolerance is too high/); + }); + it('should migrate liquidity', async () => { + const res = await cmInstantiator.executeContract( tge.contracts.lockdrop, JSON.stringify({ migrate_from_xyk_to_cl: { migrate_liquidity: { - slippage_tolerance: '0.2', + slippage_tolerance: '0.05', }, }, }), @@ -2011,35 +2035,35 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { gas_limit: Long.fromString('8000000'), amount: [{ denom: tge.chain.denom, amount: '20000' }], }, - ), - ).rejects.toThrowError(/Slippage tolerance is too high/); - }); - it('should migrate liquidity', async () => { - const res = await cmInstantiator.executeContract( - tge.contracts.lockdrop, - JSON.stringify({ - migrate_from_xyk_to_cl: { - migrate_liquidity: { - slippage_tolerance: '0.05', + ); + expect(res.code).toEqual(0); + }); + it('should not migrate users with limit 0', async () => { + await expect( + cmInstantiator.executeContract( + tge.contracts.lockdrop, + JSON.stringify({ + migrate_from_xyk_to_cl: { + migrate_users: { + limit: 0, + }, + }, + }), + [], + { + gas_limit: Long.fromString('8000000'), + amount: [{ denom: tge.chain.denom, amount: '20000' }], }, - }, - }), - [], - { - gas_limit: Long.fromString('8000000'), - amount: [{ denom: tge.chain.denom, amount: '20000' }], - }, - ); - expect(res.code).toEqual(0); - }); - it('should not migrate users with limit 0', async () => { - await expect( - cmInstantiator.executeContract( + ), + ).rejects.toThrowError(/Limit cannot be zero/); + }); + it('should migrate users', async () => { + await cmInstantiator.executeContract( tge.contracts.lockdrop, JSON.stringify({ migrate_from_xyk_to_cl: { migrate_users: { - limit: 0, + limit: 1, }, }, }), @@ -2048,318 +2072,169 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { gas_limit: Long.fromString('8000000'), amount: [{ denom: tge.chain.denom, amount: '20000' }], }, - ), - ).rejects.toThrowError(/Limit cannot be zero/); - }); - it('should migrate users', async () => { - await cmInstantiator.executeContract( - tge.contracts.lockdrop, - JSON.stringify({ - migrate_from_xyk_to_cl: { - migrate_users: { - limit: 1, - }, - }, - }), - [], - { - gas_limit: Long.fromString('8000000'), - amount: [{ denom: tge.chain.denom, amount: '20000' }], - }, - ); - }); - it('should migrate users', async () => { - const res = await cmInstantiator.executeContract( - tge.contracts.lockdrop, - JSON.stringify({ - migrate_from_xyk_to_cl: { - migrate_users: { - limit: 10, - }, - }, - }), - [], - { - gas_limit: Long.fromString('8000000'), - amount: [{ denom: tge.chain.denom, amount: '20000' }], - }, - ); - expect(res.code).toEqual(0); - }); - it('should finish migrate users', async () => { - const res = await cmInstantiator.executeContract( - tge.contracts.lockdrop, - JSON.stringify({ - migrate_from_xyk_to_cl: { - migrate_users: {}, - }, - }), - ); - expect(res.code).toEqual(0); - const height = +(res.height || 0); - heightDiff = height - heightDiff; - }); - it('should allow to query total lockup at height', async () => { - const res = await cmInstantiator.chain.queryContract( - tge.contracts.lockdrop, - { - query_lockup_total_at_height: { - pool_type: 'ATOM', - height: 1, - }, - }, - ); - expect(res).toEqual('0'); - }); - it('should have non-zero liquidity on CL pools', async () => { - const usdcBalance = await neutronChain.queryContract( - tge.pairs.usdc_ntrn.liquidity, - { - balance: { - address: tge.contracts.astroGenerator, - }, - }, - ); - expect(usdcBalance.balance).not.toEqual('0'); - const atomBalance = await neutronChain.queryContract( - tge.pairs.atom_ntrn.liquidity, - { - balance: { - address: tge.contracts.astroGenerator, - }, - }, - ); - expect(atomBalance.balance).not.toEqual('0'); - }); - it('should have zero liquidity on XYK pools', async () => { - const usdcBalance = await neutronChain.queryContract( - tge.old_pairs.usdc_ntrn.liquidity, - { - balance: { - address: tge.contracts.astroGenerator, - }, - }, - ); - expect(usdcBalance.balance).toEqual('0'); - const atomBalance = await neutronChain.queryContract( - tge.old_pairs.atom_ntrn.liquidity, - { - balance: { - address: tge.contracts.astroGenerator, - }, - }, - ); - expect(atomBalance.balance).toEqual('0'); - }); - it('query pool info', async () => { - const atomPool = - await neutronChain.queryContract( - tge.contracts.lockdrop, - { - pool: { - pool_type: 'ATOM', - }, - }, ); - expect(+atomPool.amount_in_lockups).not.toEqual(0); - expect(+atomPool.generator_ntrn_per_share).not.toEqual(0); - const usdcPool = - await neutronChain.queryContract( + }); + it('should migrate users', async () => { + const res = await cmInstantiator.executeContract( tge.contracts.lockdrop, - { - pool: { - pool_type: 'USDC', - }, - }, - ); - expect(+usdcPool.amount_in_lockups).not.toEqual(0); - expect(+usdcPool.generator_ntrn_per_share).not.toEqual(0); - }); - }); - describe('lockdrop rewards', () => { - let balanceBeforeLockdrop: number; - let balanceBeforeAirdopLockdrop: number; - let balanceBeforeAirdropAuctionLockdropVesting: number; - let airdropAuctionLockdropVestingUserInfo: LockDropInfoResponse; - describe('before claim', () => { - it('query balance before claim rewards', async () => { - balanceBeforeLockdrop = await neutronChain.queryDenomBalance( - tgeWallets['auctionLockdrop'].wallet.address.toString(), - NEUTRON_DENOM, - ); - balanceBeforeAirdopLockdrop = await neutronChain.queryDenomBalance( - tgeWallets['airdropAuctionLockdrop'].wallet.address.toString(), - NEUTRON_DENOM, - ); - balanceBeforeAirdropAuctionLockdropVesting = - await neutronChain.queryDenomBalance( - tgeWallets[ - 'airdropAuctionLockdropVesting' - ].wallet.address.toString(), - NEUTRON_DENOM, - ); - - airdropAuctionLockdropVestingUserInfo = - await neutronChain.queryContract( - tge.contracts.lockdrop, - { - user_info: { - address: - tgeWallets[ - 'airdropAuctionLockdropVesting' - ].wallet.address.toString(), + JSON.stringify({ + migrate_from_xyk_to_cl: { + migrate_users: { + limit: 10, }, }, - ); - }); - }); - describe('lockdrop rewards', () => { - beforeAll(async () => { - await waitTill( - tge.times.lockdropInit + - tge.times.lockdropDepositDuration + - tge.times.lockdropWithdrawalDuration + - 1, + }), + [], + { + gas_limit: Long.fromString('8000000'), + amount: [{ denom: tge.chain.denom, amount: '20000' }], + }, ); + expect(res.code).toEqual(0); }); - - it('for cmInstantiator without withdraw', async () => { - const rewardsStateBeforeClaim = await tge.generatorRewardsState( - cmInstantiator.wallet.address.toString(), - ); - + it('should finish migrate users', async () => { const res = await cmInstantiator.executeContract( tge.contracts.lockdrop, JSON.stringify({ - claim_rewards_and_optionally_unlock: { - pool_type: 'USDC', - duration: 1, - withdraw_lp_stake: false, + migrate_from_xyk_to_cl: { + migrate_users: {}, }, }), ); expect(res.code).toEqual(0); - const claimHeight = +(res.height || 0); - - const rewardsStateAfterClaim = await tge.generatorRewardsState( - cmInstantiator.wallet.address.toString(), - ); - - expect( - rewardsStateAfterClaim.balanceNtrn + - FEE_SIZE - - rewardsStateBeforeClaim.balanceNtrn, - ).toBeCloseTo(120402, -1); // lockdrop rewards share for the user - - const expectedGeneratorRewards = +( - ( - rewardsStateBeforeClaim.userInfo.lockup_infos.find( - (i) => i.pool_type == 'USDC' && i.duration == 1, - ) || {} - ).claimable_generator_astro_debt || '0' + const height = +(res.height || 0); + heightDiff = height - heightDiff; + }); + it('should allow to query total lockup at height', async () => { + const res = await cmInstantiator.chain.queryContract( + tge.contracts.lockdrop, + { + query_lockup_total_at_height: { + pool_type: 'ATOM', + height: 1, + }, + }, ); - expect(expectedGeneratorRewards).toBeGreaterThan(0); - - // we expect the astro balance to increase by somewhere between user rewards amount and user - // rewards amount plus rewards per block amount because rewards drip each block. - const astroBalanceDiff = - rewardsStateAfterClaim.balanceAstro - - rewardsStateBeforeClaim.balanceAstro; - expect(astroBalanceDiff).toBeGreaterThan(0); - expect(astroBalanceDiff).toBeGreaterThanOrEqual( - expectedGeneratorRewards, + expect(res).toEqual('0'); + }); + it('should have non-zero liquidity on CL pools', async () => { + const usdcBalance = await neutronChain.queryContract( + tge.pairs.usdc_ntrn.liquidity, + { + balance: { + address: tge.contracts.astroGenerator, + }, + }, ); - expect(astroBalanceDiff).toBeLessThan( - expectedGeneratorRewards + tge.generatorRewardsPerBlock, + expect(usdcBalance.balance).not.toEqual('0'); + const atomBalance = await neutronChain.queryContract( + tge.pairs.atom_ntrn.liquidity, + { + balance: { + address: tge.contracts.astroGenerator, + }, + }, ); - - await neutronChain.blockWaiter.waitBlocks(20); - const pending = await neutronChain.queryContract( - tge.contracts.astroGenerator, + expect(atomBalance.balance).not.toEqual('0'); + }); + it('should have zero liquidity on XYK pools', async () => { + const usdcBalance = await neutronChain.queryContract( + tge.old_pairs.usdc_ntrn.liquidity, { - pending_token: { - lp_token: tge.pairs.usdc_ntrn.liquidity, - user: tge.contracts.lockdrop, + balance: { + address: tge.contracts.astroGenerator, }, }, ); - expect(+pending.pending).toBeGreaterThan(0); - const resSecond = await cmInstantiator.executeContract( - tge.contracts.lockdrop, - JSON.stringify({ - claim_rewards_and_optionally_unlock: { - pool_type: 'USDC', - duration: 1, - withdraw_lp_stake: false, + expect(usdcBalance.balance).toEqual('0'); + const atomBalance = await neutronChain.queryContract( + tge.old_pairs.atom_ntrn.liquidity, + { + balance: { + address: tge.contracts.astroGenerator, }, - }), + }, ); - const secondClaimHeight = +(resSecond.height || 0); - const { balanceAstro: newBalanceAstro } = - await tge.generatorRewardsState( - cmInstantiator.wallet.address.toString(), + expect(atomBalance.balance).toEqual('0'); + }); + it('query pool info', async () => { + const atomPool = + await neutronChain.queryContract( + tge.contracts.lockdrop, + { + pool: { + pool_type: 'ATOM', + }, + }, ); - const newAstroIncentivesPerBlock = - (newBalanceAstro - rewardsStateAfterClaim.balanceAstro) / - (secondClaimHeight - claimHeight); - expect(newAstroIncentivesPerBlock).toBeCloseTo( - astroIncentivesPerBlock, - 1, - ); - // withdraw_lp_stake is false => no lp tokens returned - expect(rewardsStateBeforeClaim.atomNtrnLpTokenBalance).toEqual( - rewardsStateAfterClaim.atomNtrnLpTokenBalance, - ); - expect(rewardsStateBeforeClaim.usdcNtrnLpTokenBalance).toEqual( - rewardsStateAfterClaim.usdcNtrnLpTokenBalance, - ); + expect(+atomPool.amount_in_lockups).not.toEqual(0); + expect(+atomPool.generator_ntrn_per_share).not.toEqual(0); + const usdcPool = + await neutronChain.queryContract( + tge.contracts.lockdrop, + { + pool: { + pool_type: 'USDC', + }, + }, + ); + expect(+usdcPool.amount_in_lockups).not.toEqual(0); + expect(+usdcPool.generator_ntrn_per_share).not.toEqual(0); }); + }); + describe('lockdrop rewards', () => { + let balanceBeforeLockdrop: number; + let balanceBeforeAirdopLockdrop: number; + let balanceBeforeAirdropAuctionLockdropVesting: number; + let airdropAuctionLockdropVestingUserInfo: LockDropInfoResponse; + describe('before claim', () => { + it('query balance before claim rewards', async () => { + balanceBeforeLockdrop = await neutronChain.queryDenomBalance( + tgeWallets['auctionLockdrop'].wallet.address.toString(), + NEUTRON_DENOM, + ); + balanceBeforeAirdopLockdrop = await neutronChain.queryDenomBalance( + tgeWallets['airdropAuctionLockdrop'].wallet.address.toString(), + NEUTRON_DENOM, + ); + balanceBeforeAirdropAuctionLockdropVesting = + await neutronChain.queryDenomBalance( + tgeWallets[ + 'airdropAuctionLockdropVesting' + ].wallet.address.toString(), + NEUTRON_DENOM, + ); - it("unavailable for those who didn't participate", async () => { - for (const v of [ - 'airdropOnly', - 'airdropAuctionVesting', - 'auctionVesting', - ]) { - await expect( - tgeWallets[v].executeContract( - tge.contracts.lockdrop, - JSON.stringify({ - claim_rewards_and_optionally_unlock: { - pool_type: 'USDC', - duration: 1, - withdraw_lp_stake: false, - }, - }), - ), - ).rejects.toThrowError(/LockupInfoV1 not found/); - await expect( - tgeWallets[v].executeContract( + airdropAuctionLockdropVestingUserInfo = + await neutronChain.queryContract( tge.contracts.lockdrop, - JSON.stringify({ - claim_rewards_and_optionally_unlock: { - pool_type: 'ATOM', - duration: 1, - withdraw_lp_stake: false, + { + user_info: { + address: + tgeWallets[ + 'airdropAuctionLockdropVesting' + ].wallet.address.toString(), }, - }), - ), - ).rejects.toThrowError(/LockupInfoV1 not found/); - } + }, + ); + }); }); + describe('lockdrop rewards', () => { + beforeAll(async () => { + await waitTill( + tge.times.lockdropInit + + tge.times.lockdropDepositDuration + + tge.times.lockdropWithdrawalDuration + + 1, + ); + }); - for (const v of [ - 'airdropAuctionLockdrop', - 'airdropAuctionLockdropVesting', - 'auctionLockdrop', - 'auctionLockdropVesting', - ]) { - it('for ' + v + ' without withdraw', async () => { + it('for cmInstantiator without withdraw', async () => { const rewardsStateBeforeClaim = await tge.generatorRewardsState( - tgeWallets[v].wallet.address.toString(), + cmInstantiator.wallet.address.toString(), ); - const res = await tgeWallets[v].executeContract( + const res = await cmInstantiator.executeContract( tge.contracts.lockdrop, JSON.stringify({ claim_rewards_and_optionally_unlock: { @@ -2370,16 +2245,17 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { }), ); expect(res.code).toEqual(0); + const claimHeight = +(res.height || 0); const rewardsStateAfterClaim = await tge.generatorRewardsState( - tgeWallets[v].wallet.address.toString(), + cmInstantiator.wallet.address.toString(), ); - // a more precise check is done later in 'should get extra untrn from unclaimed airdrop' - // testcase, here we simply check that the balance has increased - expect(rewardsStateAfterClaim.balanceNtrn + FEE_SIZE).toBeGreaterThan( - rewardsStateBeforeClaim.balanceNtrn, - ); + expect( + rewardsStateAfterClaim.balanceNtrn + + FEE_SIZE - + rewardsStateBeforeClaim.balanceNtrn, + ).toBeCloseTo(120212, -1); // lockdrop rewards share for the user const expectedGeneratorRewards = +( ( @@ -2391,10 +2267,11 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { expect(expectedGeneratorRewards).toBeGreaterThan(0); // we expect the astro balance to increase by somewhere between user rewards amount and user - // rewards amount plus rewards per block amount because rewards amount increases each block. + // rewards amount plus rewards per block amount because rewards drip each block. const astroBalanceDiff = rewardsStateAfterClaim.balanceAstro - rewardsStateBeforeClaim.balanceAstro; + expect(astroBalanceDiff).toBeGreaterThan(0); expect(astroBalanceDiff).toBeGreaterThanOrEqual( expectedGeneratorRewards, ); @@ -2402,157 +2279,290 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { expectedGeneratorRewards + tge.generatorRewardsPerBlock, ); - // withdraw_lp_stake is false => no lp tokens returned - expect(rewardsStateBeforeClaim.atomNtrnLpTokenBalance).toEqual( - rewardsStateAfterClaim.atomNtrnLpTokenBalance, - ); - expect(rewardsStateBeforeClaim.usdcNtrnLpTokenBalance).toEqual( - rewardsStateAfterClaim.usdcNtrnLpTokenBalance, - ); - }); - } - - for (const v of [ - 'airdropAuctionLockdrop', - 'airdropAuctionLockdropVesting', - 'auctionLockdrop', - 'auctionLockdropVesting', - ]) { - it('for ' + v + ' with withdraw', async () => { - const rewardsStateBeforeClaim = await tge.generatorRewardsState( - tgeWallets[v].wallet.address.toString(), + await neutronChain.blockWaiter.waitBlocks(20); + const pending = await neutronChain.queryContract( + tge.contracts.astroGenerator, + { + pending_token: { + lp_token: tge.pairs.usdc_ntrn.liquidity, + user: tge.contracts.lockdrop, + }, + }, ); - - let res = await tgeWallets[v].executeContract( + expect(+pending.pending).toBeGreaterThan(0); + const resSecond = await cmInstantiator.executeContract( tge.contracts.lockdrop, JSON.stringify({ claim_rewards_and_optionally_unlock: { pool_type: 'USDC', duration: 1, - withdraw_lp_stake: true, + withdraw_lp_stake: false, }, }), ); - expect(res.code).toEqual(0); - res = await tgeWallets[v].executeContract( - tge.contracts.lockdrop, - JSON.stringify({ - claim_rewards_and_optionally_unlock: { - pool_type: 'ATOM', - duration: 1, - withdraw_lp_stake: true, - }, - }), + const secondClaimHeight = +(resSecond.height || 0); + const { balanceAstro: newBalanceAstro } = + await tge.generatorRewardsState( + cmInstantiator.wallet.address.toString(), + ); + const newAstroIncentivesPerBlock = + (newBalanceAstro - rewardsStateAfterClaim.balanceAstro) / + (secondClaimHeight - claimHeight); + expect(newAstroIncentivesPerBlock).toBeCloseTo( + astroIncentivesPerBlock, + 1, ); - expect(res.code).toEqual(0); - - const rewardsStateAfterClaim = await tge.generatorRewardsState( - tgeWallets[v].wallet.address.toString(), + // withdraw_lp_stake is false => no lp tokens returned + expect(rewardsStateBeforeClaim.atomNtrnLpTokenBalance).toEqual( + rewardsStateAfterClaim.atomNtrnLpTokenBalance, + ); + expect(rewardsStateBeforeClaim.usdcNtrnLpTokenBalance).toEqual( + rewardsStateAfterClaim.usdcNtrnLpTokenBalance, ); + }); - expect(rewardsStateAfterClaim.balanceNtrn + 2 * FEE_SIZE).toEqual( - rewardsStateBeforeClaim.balanceNtrn, - ); // ntrn rewards were sent at the previous claim, so no ntrn income is expected + it("unavailable for those who didn't participate", async () => { + for (const v of [ + 'airdropOnly', + 'airdropAuctionVesting', + 'auctionVesting', + ]) { + await expect( + tgeWallets[v].executeContract( + tge.contracts.lockdrop, + JSON.stringify({ + claim_rewards_and_optionally_unlock: { + pool_type: 'USDC', + duration: 1, + withdraw_lp_stake: false, + }, + }), + ), + ).rejects.toThrowError(/LockupInfoV1 not found/); + await expect( + tgeWallets[v].executeContract( + tge.contracts.lockdrop, + JSON.stringify({ + claim_rewards_and_optionally_unlock: { + pool_type: 'ATOM', + duration: 1, + withdraw_lp_stake: false, + }, + }), + ), + ).rejects.toThrowError(/LockupInfoV1 not found/); + } + }); - // withdraw_lp_stake is true => expect lp tokens to be unlocked and returned to the user - const usdcNtrnLockedLp = +( - ( - rewardsStateBeforeClaim.userInfo.lockup_infos.find( - (i) => i.pool_type == 'USDC' && i.duration == 1, - ) || {} - ).lp_units_locked || '0' - ); - expect(usdcNtrnLockedLp).toBeGreaterThan(0); - expect(rewardsStateAfterClaim.usdcNtrnLpTokenBalance).toEqual( - rewardsStateBeforeClaim.usdcNtrnLpTokenBalance + usdcNtrnLockedLp, - ); - const atomNtrnLockedLp = +( - ( - rewardsStateBeforeClaim.userInfo.lockup_infos.find( - (i) => i.pool_type == 'ATOM' && i.duration == 1, - ) || {} - ).lp_units_locked || '0' - ); - expect(atomNtrnLockedLp).toBeGreaterThan(0); - expect(rewardsStateAfterClaim.atomNtrnLpTokenBalance).toEqual( - rewardsStateBeforeClaim.atomNtrnLpTokenBalance + atomNtrnLockedLp, - ); + for (const v of [ + 'airdropAuctionLockdrop', + 'airdropAuctionLockdropVesting', + 'auctionLockdrop', + 'auctionLockdropVesting', + ]) { + it('for ' + v + ' without withdraw', async () => { + const rewardsStateBeforeClaim = await tge.generatorRewardsState( + tgeWallets[v].wallet.address.toString(), + ); + + const res = await tgeWallets[v].executeContract( + tge.contracts.lockdrop, + JSON.stringify({ + claim_rewards_and_optionally_unlock: { + pool_type: 'USDC', + duration: 1, + withdraw_lp_stake: false, + }, + }), + ); + expect(res.code).toEqual(0); + + const rewardsStateAfterClaim = await tge.generatorRewardsState( + tgeWallets[v].wallet.address.toString(), + ); + + // a more precise check is done later in 'should get extra untrn from unclaimed airdrop' + // testcase, here we simply check that the balance has increased + expect( + rewardsStateAfterClaim.balanceNtrn + FEE_SIZE, + ).toBeGreaterThan(rewardsStateBeforeClaim.balanceNtrn); - // claimed from both pools above, so expected rewards amount is a sum of both - const expectedGeneratorRewards = - +( + const expectedGeneratorRewards = +( ( rewardsStateBeforeClaim.userInfo.lockup_infos.find( (i) => i.pool_type == 'USDC' && i.duration == 1, ) || {} ).claimable_generator_astro_debt || '0' - ) + - +( + ); + expect(expectedGeneratorRewards).toBeGreaterThan(0); + + // we expect the astro balance to increase by somewhere between user rewards amount and user + // rewards amount plus rewards per block amount because rewards amount increases each block. + const astroBalanceDiff = + rewardsStateAfterClaim.balanceAstro - + rewardsStateBeforeClaim.balanceAstro; + expect(astroBalanceDiff).toBeGreaterThanOrEqual( + expectedGeneratorRewards, + ); + expect(astroBalanceDiff).toBeLessThan( + expectedGeneratorRewards + tge.generatorRewardsPerBlock, + ); + + // withdraw_lp_stake is false => no lp tokens returned + expect(rewardsStateBeforeClaim.atomNtrnLpTokenBalance).toEqual( + rewardsStateAfterClaim.atomNtrnLpTokenBalance, + ); + expect(rewardsStateBeforeClaim.usdcNtrnLpTokenBalance).toEqual( + rewardsStateAfterClaim.usdcNtrnLpTokenBalance, + ); + }); + } + + for (const v of [ + 'airdropAuctionLockdrop', + 'airdropAuctionLockdropVesting', + 'auctionLockdrop', + 'auctionLockdropVesting', + ]) { + it('for ' + v + ' with withdraw', async () => { + const rewardsStateBeforeClaim = await tge.generatorRewardsState( + tgeWallets[v].wallet.address.toString(), + ); + + let res = await tgeWallets[v].executeContract( + tge.contracts.lockdrop, + JSON.stringify({ + claim_rewards_and_optionally_unlock: { + pool_type: 'USDC', + duration: 1, + withdraw_lp_stake: true, + }, + }), + ); + expect(res.code).toEqual(0); + res = await tgeWallets[v].executeContract( + tge.contracts.lockdrop, + JSON.stringify({ + claim_rewards_and_optionally_unlock: { + pool_type: 'ATOM', + duration: 1, + withdraw_lp_stake: true, + }, + }), + ); + expect(res.code).toEqual(0); + + const rewardsStateAfterClaim = await tge.generatorRewardsState( + tgeWallets[v].wallet.address.toString(), + ); + + expect(rewardsStateAfterClaim.balanceNtrn + 2 * FEE_SIZE).toEqual( + rewardsStateBeforeClaim.balanceNtrn, + ); // ntrn rewards were sent at the previous claim, so no ntrn income is expected + + // withdraw_lp_stake is true => expect lp tokens to be unlocked and returned to the user + const usdcNtrnLockedLp = +( + ( + rewardsStateBeforeClaim.userInfo.lockup_infos.find( + (i) => i.pool_type == 'USDC' && i.duration == 1, + ) || {} + ).lp_units_locked || '0' + ); + expect(usdcNtrnLockedLp).toBeGreaterThan(0); + expect(rewardsStateAfterClaim.usdcNtrnLpTokenBalance).toEqual( + rewardsStateBeforeClaim.usdcNtrnLpTokenBalance + usdcNtrnLockedLp, + ); + const atomNtrnLockedLp = +( ( rewardsStateBeforeClaim.userInfo.lockup_infos.find( (i) => i.pool_type == 'ATOM' && i.duration == 1, ) || {} - ).claimable_generator_astro_debt || '0' + ).lp_units_locked || '0' + ); + expect(atomNtrnLockedLp).toBeGreaterThan(0); + expect(rewardsStateAfterClaim.atomNtrnLpTokenBalance).toEqual( + rewardsStateBeforeClaim.atomNtrnLpTokenBalance + atomNtrnLockedLp, ); - expect(expectedGeneratorRewards).toBeGreaterThan(0); - // we expect the astro balance to increase by somewhere between user rewards amount and user - // rewards amount plus 2*rewards per block amount because rewards amount increases each block. - const astroBalanceDiff = - rewardsStateAfterClaim.balanceAstro - - rewardsStateBeforeClaim.balanceAstro; - expect(astroBalanceDiff).toBeGreaterThanOrEqual( - expectedGeneratorRewards, - ); - expect(astroBalanceDiff).toBeLessThan( - expectedGeneratorRewards + 2 * tge.generatorRewardsPerBlock, - ); - }); - } - }); - describe('airdrop checks', () => { - it('should get extra untrn from unclaimed airdrop', async () => { - const balanceAfterLockdrop = await neutronChain.queryDenomBalance( - tgeWallets['auctionLockdrop'].wallet.address.toString(), - NEUTRON_DENOM, - ); - const balanceAfterAirdopLockdrop = await neutronChain.queryDenomBalance( - tgeWallets['airdropAuctionLockdrop'].wallet.address.toString(), - NEUTRON_DENOM, - ); - // we have to take into account - // every wallet has executed 3 tx during `should get lockdrop rewards` stage - // every tx costs 10000untrn. - const feeCompensation = 3 * FEE_SIZE; - const claimedRewardWithAirdrop = - balanceAfterAirdopLockdrop - - balanceBeforeAirdopLockdrop + - feeCompensation; - const claimedRewardNoAirdrop = - balanceAfterLockdrop - balanceBeforeLockdrop + feeCompensation; - // claimed rewards + airdrop should be ~2 times bigger than clear reward. - // 3317(reward) + 3371(3317 extra airdrop + 54 vested airdrop) vs 3317 - expect( - claimedRewardWithAirdrop - 2 * claimedRewardNoAirdrop, - ).toBeLessThan(100); + // claimed from both pools above, so expected rewards amount is a sum of both + const expectedGeneratorRewards = + +( + ( + rewardsStateBeforeClaim.userInfo.lockup_infos.find( + (i) => i.pool_type == 'USDC' && i.duration == 1, + ) || {} + ).claimable_generator_astro_debt || '0' + ) + + +( + ( + rewardsStateBeforeClaim.userInfo.lockup_infos.find( + (i) => i.pool_type == 'ATOM' && i.duration == 1, + ) || {} + ).claimable_generator_astro_debt || '0' + ); + expect(expectedGeneratorRewards).toBeGreaterThan(0); + + // we expect the astro balance to increase by somewhere between user rewards amount and user + // rewards amount plus 2*rewards per block amount because rewards amount increases each block. + const astroBalanceDiff = + rewardsStateAfterClaim.balanceAstro - + rewardsStateBeforeClaim.balanceAstro; + expect(astroBalanceDiff).toBeGreaterThanOrEqual( + expectedGeneratorRewards, + ); + expect(astroBalanceDiff).toBeLessThan( + expectedGeneratorRewards + 2 * tge.generatorRewardsPerBlock, + ); + }); + } }); - it('Correct instant airdrop amount', async () => { - const balanceAfterAirdropAuctionLockdropVesting = - await neutronChain.queryDenomBalance( - tgeWallets[ - 'airdropAuctionLockdropVesting' - ].wallet.address.toString(), + describe('airdrop checks', () => { + it('should get extra untrn from unclaimed airdrop', async () => { + const balanceAfterLockdrop = await neutronChain.queryDenomBalance( + tgeWallets['auctionLockdrop'].wallet.address.toString(), NEUTRON_DENOM, ); - const expectedLockdropReward = Number( - airdropAuctionLockdropVestingUserInfo.total_ntrn_rewards, - ); - const feeCompensation = 3 * FEE_SIZE; - expect( - expectedLockdropReward + - balanceBeforeAirdropAuctionLockdropVesting + - TINY_AIRDROP_AMOUNT, - ).toEqual(feeCompensation + balanceAfterAirdropAuctionLockdropVesting); + const balanceAfterAirdopLockdrop = + await neutronChain.queryDenomBalance( + tgeWallets['airdropAuctionLockdrop'].wallet.address.toString(), + NEUTRON_DENOM, + ); + // we have to take into account + // every wallet has executed 3 tx during `should get lockdrop rewards` stage + // every tx costs 10000untrn. + const feeCompensation = 3 * FEE_SIZE; + const claimedRewardWithAirdrop = + balanceAfterAirdopLockdrop - + balanceBeforeAirdopLockdrop + + feeCompensation; + const claimedRewardNoAirdrop = + balanceAfterLockdrop - balanceBeforeLockdrop + feeCompensation; + // claimed rewards + airdrop should be ~2 times bigger than clear reward. + // 3317(reward) + 3371(3317 extra airdrop + 54 vested airdrop) vs 3317 + expect( + claimedRewardWithAirdrop - 2 * claimedRewardNoAirdrop, + ).toBeLessThan(100); + }); + it('Correct instant airdrop amount', async () => { + const balanceAfterAirdropAuctionLockdropVesting = + await neutronChain.queryDenomBalance( + tgeWallets[ + 'airdropAuctionLockdropVesting' + ].wallet.address.toString(), + NEUTRON_DENOM, + ); + const expectedLockdropReward = Number( + airdropAuctionLockdropVestingUserInfo.total_ntrn_rewards, + ); + const feeCompensation = 3 * FEE_SIZE; + expect( + expectedLockdropReward + + balanceBeforeAirdropAuctionLockdropVesting + + TINY_AIRDROP_AMOUNT, + ).toEqual( + feeCompensation + balanceAfterAirdropAuctionLockdropVesting, + ); + }); }); }); }); From 70a54af127968327afa585d403076569267a81ea Mon Sep 17 00:00:00 2001 From: quasisamurai Date: Mon, 7 Aug 2023 19:27:43 +0400 Subject: [PATCH 09/11] fix minor stuff --- src/helpers/cosmos.ts | 4 ++-- .../run_in_band/tge.auction_migration.test.ts | 19 ++++++++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/helpers/cosmos.ts b/src/helpers/cosmos.ts index 12c778cf..2ec11762 100644 --- a/src/helpers/cosmos.ts +++ b/src/helpers/cosmos.ts @@ -573,8 +573,8 @@ export class WalletWrapper { contract: string, msg: string, funds: proto.cosmos.base.v1beta1.ICoin[] = [], - fee: proto.cosmos.tx.v1beta1.IFee = { - gas_limit: Long.fromString('4005000'), + fee = { + gas_limit: Long.fromString('4000000'), amount: [{ denom: this.chain.denom, amount: '10000' }], }, ): Promise { diff --git a/src/testcases/run_in_band/tge.auction_migration.test.ts b/src/testcases/run_in_band/tge.auction_migration.test.ts index f95db8b7..888c87fc 100644 --- a/src/testcases/run_in_band/tge.auction_migration.test.ts +++ b/src/testcases/run_in_band/tge.auction_migration.test.ts @@ -1242,7 +1242,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { ); await daoMember1.voteYes(propID); const prop = await dao.queryProposal(propID); - // we connected new voting vault(vesting voting vault), now its not enough + // we contected new voting vault(vesting voting vault), now its not enough // daoMember1 voting power to pass proposal // lockdrop participant should vote expect(prop.proposal).toMatchObject({ status: 'open' }); @@ -1812,6 +1812,11 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { JSON.stringify({ migrate_liquidity: {}, }), + [], + { + gas_limit: Long.fromString('6000000'), + amount: [{ denom: tge.chain.denom, amount: '20000' }], + }, ); expect(resUsdc.code).toEqual(0); resUsdc = await cmInstantiator.executeContract( @@ -1867,7 +1872,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { const total = await queryTotalUnclaimedAmountAtHeight( cmInstantiator.chain, tge.contracts.vestingAtomLp, - 500, + 550, ); const lpBalance = await tge.chain.queryContract( tge.pairs.atom_ntrn.liquidity, @@ -1881,12 +1886,12 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { const ntrnAmount = await queryNtrnCLBalanceAtHeight( cmInstantiator.chain, tge.pairs.atom_ntrn.contract, - '500', + '550', ); const claimableAmount = await queryUnclaimmedAmountAtHeight( cmInstantiator.chain, tge.contracts.vestingAtomLp, - 500, + 550, cmInstantiator.wallet.address.toString(), ); const available = await queryAvialableAmount( @@ -1935,8 +1940,8 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { ]); // actual diff is smth about 0.2% (converting old lp to new) - expect(parseInt(lpBalanceAtom.balance)).toBeCloseTo(claimAtomLP, -2); - expect(parseInt(lpBalanceUsdc.balance)).toBeCloseTo(claimUsdcLP, -2); + expect(parseInt(lpBalanceAtom.balance)).toBeCloseTo(claimAtomLP, -4); + expect(parseInt(lpBalanceUsdc.balance)).toBeCloseTo(claimUsdcLP, -4); }); }); @@ -2255,7 +2260,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { rewardsStateAfterClaim.balanceNtrn + FEE_SIZE - rewardsStateBeforeClaim.balanceNtrn, - ).toBeCloseTo(120212, -1); // lockdrop rewards share for the user + ).toBeCloseTo(120212, -3); // lockdrop rewards share for the user const expectedGeneratorRewards = +( ( From 5d03f393abd5a33fa8968b9c4f521ffac3fa4f3c Mon Sep 17 00:00:00 2001 From: pr0n00gler Date: Fri, 11 Aug 2023 16:01:48 +0300 Subject: [PATCH 10/11] fix tests --- .../run_in_band/tge.auction_migration.test.ts | 73 ++++++++++++++++++- 1 file changed, 70 insertions(+), 3 deletions(-) diff --git a/src/testcases/run_in_band/tge.auction_migration.test.ts b/src/testcases/run_in_band/tge.auction_migration.test.ts index 888c87fc..505ee12f 100644 --- a/src/testcases/run_in_band/tge.auction_migration.test.ts +++ b/src/testcases/run_in_band/tge.auction_migration.test.ts @@ -14,11 +14,11 @@ import { executeGeneratorSetupPools, getTimestamp, queryAvialableAmount, - queryUnclaimmedAmountAtHeight, queryFactoryPairs, + queryNtrnCLBalanceAtHeight, queryTotalUnclaimedAmountAtHeight, + queryUnclaimmedAmountAtHeight, Tge, - queryNtrnCLBalanceAtHeight, } from '../../helpers/tge'; import { Dao, DaoMember, getDaoContracts } from '../../helpers/dao'; import Long from 'long'; @@ -1466,6 +1466,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { }); describe('Migration to V2', () => { let heightDiff; + const votingPowerBeforeLockdrop: Record = {}; describe('Migration of pairs', () => { it('should unregister old pairs', async () => { @@ -1601,7 +1602,8 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { let claimAtomLP; let claimUsdcLP; const votingPowerBeforeLp: Record = {}; - const votingPowerBeforeLockdrop: Record = {}; + let totalUnclaimedAtHeightBeforeMigration: number; + let unclaimedHeightBeforeMigration: number; it('should save voting power before migration: lp', async () => { for (const v of [ @@ -1636,6 +1638,14 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { }); it('should validate numbers & save claim amount before migration', async () => { + unclaimedHeightBeforeMigration = await getHeight(neutronChain.sdk); + totalUnclaimedAtHeightBeforeMigration = + await queryTotalUnclaimedAmountAtHeight( + cmInstantiator.chain, + tge.contracts.vestingAtomLp, + unclaimedHeightBeforeMigration, + ); + const [ vestingInfoAtom, vestingInfoUsdc, @@ -1869,6 +1879,16 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { }); it('check queries', async () => { + const totalUnclaimedAmountAfterMigration = + await queryTotalUnclaimedAmountAtHeight( + cmInstantiator.chain, + tge.contracts.vestingAtomLp, + unclaimedHeightBeforeMigration, + ); + expect(totalUnclaimedAmountAfterMigration).toEqual( + totalUnclaimedAtHeightBeforeMigration, + ); + const total = await queryTotalUnclaimedAmountAtHeight( cmInstantiator.chain, tge.contracts.vestingAtomLp, @@ -1946,6 +1966,22 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { }); describe('Migration lockdrop to V2', () => { + let userLockUpAtHeightBeforeMigration: number; + let height: number; + it('should save user lock up at height before migration', async () => { + height = await getHeight(neutronChain.sdk); + userLockUpAtHeightBeforeMigration = + await cmInstantiator.chain.queryContract( + tge.contracts.lockdrop, + { + query_user_lockup_total_at_height: { + pool_type: 'ATOM', + user_address: cmInstantiator.wallet.address, + height: height, + }, + }, + ); + }); it('should migrate lockdrop to V2', async () => { const res = await cmInstantiator.migrateContract( tge.contracts.lockdrop, @@ -2122,6 +2158,37 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { ); expect(res).toEqual('0'); }); + it('should check user lock up at height before migration and after at the same height', async () => { + const userLockUpAtHeightAfterMigration = + await cmInstantiator.chain.queryContract( + tge.contracts.lockdrop, + { + query_user_lockup_total_at_height: { + pool_type: 'ATOM', + user_address: cmInstantiator.wallet.address, + height: height, + }, + }, + ); + expect(userLockUpAtHeightAfterMigration).toEqual( + userLockUpAtHeightBeforeMigration, + ); + }); + it('should compare voting power after migration: lockdrop', async () => { + for (const v of [ + 'airdropAuctionVesting', + 'airdropAuctionLockdrop', + 'airdropAuctionLockdropVesting', + 'auctionLockdrop', + 'auctionLockdropVesting', + 'auctionVesting', + ]) { + const vp = await tge.lockdropVotingPower( + tgeWallets[v].wallet.address.toString(), + ); + expect(+vp.power).toBeCloseTo(votingPowerBeforeLockdrop[v], -3); + } + }); it('should have non-zero liquidity on CL pools', async () => { const usdcBalance = await neutronChain.queryContract( tge.pairs.usdc_ntrn.liquidity, From 3e896c3a2fb92fe4dbbf46a2187199f59023e7ed Mon Sep 17 00:00:00 2001 From: pr0n00gler Date: Mon, 14 Aug 2023 16:47:27 +0300 Subject: [PATCH 11/11] check unclaimed amount before and after migration of vesting contracts --- .../run_in_band/tge.auction_migration.test.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/testcases/run_in_band/tge.auction_migration.test.ts b/src/testcases/run_in_band/tge.auction_migration.test.ts index 505ee12f..abb9ee81 100644 --- a/src/testcases/run_in_band/tge.auction_migration.test.ts +++ b/src/testcases/run_in_band/tge.auction_migration.test.ts @@ -1603,6 +1603,7 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { let claimUsdcLP; const votingPowerBeforeLp: Record = {}; let totalUnclaimedAtHeightBeforeMigration: number; + let unclaimedAtHeightBeforeMigration: number; let unclaimedHeightBeforeMigration: number; it('should save voting power before migration: lp', async () => { @@ -1645,6 +1646,12 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { tge.contracts.vestingAtomLp, unclaimedHeightBeforeMigration, ); + unclaimedAtHeightBeforeMigration = await queryUnclaimmedAmountAtHeight( + cmInstantiator.chain, + tge.contracts.vestingAtomLp, + unclaimedHeightBeforeMigration, + cmInstantiator.wallet.address.toString(), + ); const [ vestingInfoAtom, @@ -1885,9 +1892,19 @@ describe('Neutron / TGE / Auction / Lockdrop migration', () => { tge.contracts.vestingAtomLp, unclaimedHeightBeforeMigration, ); + const unclaimedAmountAfterMigration = + await queryUnclaimmedAmountAtHeight( + cmInstantiator.chain, + tge.contracts.vestingAtomLp, + unclaimedHeightBeforeMigration, + cmInstantiator.wallet.address.toString(), + ); expect(totalUnclaimedAmountAfterMigration).toEqual( totalUnclaimedAtHeightBeforeMigration, ); + expect(unclaimedAmountAfterMigration).toEqual( + unclaimedAtHeightBeforeMigration, + ); const total = await queryTotalUnclaimedAmountAtHeight( cmInstantiator.chain,