@paraswap/dex-lib 4.7.12 → 4.7.13-from-amount-pos.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/build/abi/PendleRouterStatic.json +19 -0
  2. package/build/abi/{MStableAsset.json → apex-defi/ApexDefiFactory.abi.json} +992 -788
  3. package/build/abi/{BProtocol.json → apex-defi/ApexDefiRouter.abi.json} +539 -574
  4. package/build/abi/apex-defi/ApexDefiToken.abi.json +229 -0
  5. package/build/abi/apex-defi/ApexDefiWrapper.abi.json +92 -0
  6. package/build/abi/{OneInchLp.json → apex-defi/ApexDefiWrapperFactory.abi.json} +577 -774
  7. package/build/abi/pangolin-v3/PangolinV3StateMulticall.abi.json +796 -0
  8. package/build/abi/pendle/pendle-deployer.abi.json +520 -0
  9. package/build/abi/pendle/pendle-oracle.abi.json +413 -0
  10. package/build/abi/ring-v2/few-wrapped-token.json +587 -0
  11. package/build/abi/ring-v2/ring-v2-factory.json +125 -0
  12. package/build/abi/ring-v2/ring-v2-pool.json +461 -0
  13. package/build/abi/ring-v2/ring-v2-router.json +332 -0
  14. package/build/abi/stabull/stabull-curve.json +738 -0
  15. package/build/abi/stabull/stabull-router.json +76 -0
  16. package/build/abi/uniswap-v4/hooks/SpotDynamicFeeManager.json +26 -0
  17. package/build/abi/uniswap-v4/hooks/SpotHook.json +54 -0
  18. package/build/abi/uniswap-v4/hooks/SpotPolicyManager.json +45 -0
  19. package/build/abi/uniswap-v4/hooks/cabalcoin-hook.abi.json +682 -0
  20. package/build/abi/uniswap-v4/hooks/fee-hook.abi.json +1335 -0
  21. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.d.ts +29 -0
  22. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js +153 -0
  23. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js.map +1 -0
  24. package/build/dex/{usual-bond/usual-bond.d.ts → aave-pt-to-underlying/aave-pt-to-underlying.d.ts} +23 -18
  25. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js +323 -0
  26. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js.map +1 -0
  27. package/build/dex/aave-pt-to-underlying/config.d.ts +3 -0
  28. package/build/dex/aave-pt-to-underlying/config.js +24 -0
  29. package/build/dex/aave-pt-to-underlying/config.js.map +1 -0
  30. package/build/dex/aave-pt-to-underlying/constants.d.ts +2 -0
  31. package/build/dex/aave-pt-to-underlying/constants.js +6 -0
  32. package/build/dex/aave-pt-to-underlying/constants.js.map +1 -0
  33. package/build/dex/aave-pt-to-underlying/types.d.ts +24 -0
  34. package/build/dex/aave-pt-to-underlying/types.js.map +1 -0
  35. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.d.ts +39 -0
  36. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js +244 -0
  37. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js.map +1 -0
  38. package/build/dex/aave-pt-to-usdc/config.d.ts +3 -0
  39. package/build/dex/aave-pt-to-usdc/config.js +47 -0
  40. package/build/dex/aave-pt-to-usdc/config.js.map +1 -0
  41. package/build/dex/aave-pt-to-usdc/constants.d.ts +2 -0
  42. package/build/dex/aave-pt-to-usdc/constants.js +6 -0
  43. package/build/dex/aave-pt-to-usdc/constants.js.map +1 -0
  44. package/build/dex/aave-pt-to-usdc/types.d.ts +22 -0
  45. package/build/dex/aave-pt-to-usdc/types.js.map +1 -0
  46. package/build/dex/apex-defi/apex-defi-factory.d.ts +26 -0
  47. package/build/dex/apex-defi/apex-defi-factory.js +53 -0
  48. package/build/dex/apex-defi/apex-defi-factory.js.map +1 -0
  49. package/build/dex/apex-defi/apex-defi-pool.d.ts +55 -0
  50. package/build/dex/apex-defi/apex-defi-pool.js +247 -0
  51. package/build/dex/apex-defi/apex-defi-pool.js.map +1 -0
  52. package/build/dex/apex-defi/apex-defi-wrapper-factory.d.ts +57 -0
  53. package/build/dex/apex-defi/apex-defi-wrapper-factory.js +250 -0
  54. package/build/dex/apex-defi/apex-defi-wrapper-factory.js.map +1 -0
  55. package/build/dex/apex-defi/apex-defi.d.ts +97 -0
  56. package/build/dex/apex-defi/apex-defi.js +1021 -0
  57. package/build/dex/apex-defi/apex-defi.js.map +1 -0
  58. package/build/dex/apex-defi/config.d.ts +4 -0
  59. package/build/dex/apex-defi/config.js +138 -0
  60. package/build/dex/apex-defi/config.js.map +1 -0
  61. package/build/dex/apex-defi/types.d.ts +32 -0
  62. package/build/dex/apex-defi/types.js +3 -0
  63. package/build/dex/{usual-bond → apex-defi}/types.js.map +1 -1
  64. package/build/dex/apex-defi/utils.d.ts +46 -0
  65. package/build/dex/apex-defi/utils.js +133 -0
  66. package/build/dex/apex-defi/utils.js.map +1 -0
  67. package/build/dex/maker-psm/maker-psm-event-pool.d.ts +43 -0
  68. package/build/dex/maker-psm/maker-psm-event-pool.js +132 -0
  69. package/build/dex/maker-psm/maker-psm-event-pool.js.map +1 -0
  70. package/build/dex/miro-migrator/miro-migrator-state.d.ts +27 -0
  71. package/build/dex/miro-migrator/miro-migrator-state.js +89 -0
  72. package/build/dex/miro-migrator/miro-migrator-state.js.map +1 -0
  73. package/build/dex/{usual-bond → stabull}/config.d.ts +1 -1
  74. package/build/dex/stabull/config.js +177 -0
  75. package/build/dex/stabull/config.js.map +1 -0
  76. package/build/dex/{se-vlr/se-vlr-pool.d.ts → stabull/stabull-pool.d.ts} +13 -6
  77. package/build/dex/stabull/stabull-pool.js +113 -0
  78. package/build/dex/stabull/stabull-pool.js.map +1 -0
  79. package/build/dex/stabull/stabull.d.ts +55 -0
  80. package/build/dex/stabull/stabull.js +286 -0
  81. package/build/dex/stabull/stabull.js.map +1 -0
  82. package/build/dex/stabull/types.d.ts +21 -0
  83. package/build/dex/stabull/types.js +3 -0
  84. package/build/dex/stabull/types.js.map +1 -0
  85. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.d.ts +4 -0
  86. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js +56 -0
  87. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js.map +1 -0
  88. package/build/dex/uniswap-v4/contract-math/Position.d.ts +6 -0
  89. package/build/dex/uniswap-v4/contract-math/Position.js +29 -0
  90. package/build/dex/uniswap-v4/contract-math/Position.js.map +1 -1
  91. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.d.ts +7 -0
  92. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js +28 -0
  93. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js.map +1 -0
  94. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.d.ts +0 -0
  95. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js +2 -0
  96. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js.map +1 -0
  97. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.d.ts +7 -0
  98. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js +28 -0
  99. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js.map +1 -0
  100. package/build/dex/uniswap-v4/hooks/fee-hook/types.d.ts +0 -0
  101. package/build/dex/uniswap-v4/hooks/fee-hook/types.js +2 -0
  102. package/build/dex/uniswap-v4/hooks/fee-hook/types.js.map +1 -0
  103. package/build/dex/uniswap-v4/hooks/index.d.ts +1 -0
  104. package/build/dex/uniswap-v4/hooks/index.js +9 -0
  105. package/build/dex/uniswap-v4/hooks/index.js.map +1 -0
  106. package/build/dex/uniswap-v4/hooks/spot.d.ts +15 -0
  107. package/build/dex/uniswap-v4/hooks/spot.js +109 -0
  108. package/build/dex/uniswap-v4/hooks/spot.js.map +1 -0
  109. package/build/dex/uniswap-v4/hooks/template.d.ts +150 -0
  110. package/build/dex/uniswap-v4/hooks/template.js +104 -0
  111. package/build/dex/uniswap-v4/hooks/template.js.map +1 -0
  112. package/build/dex/usdc-transmuter/usdc-transmuter-pool.d.ts +26 -0
  113. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js +75 -0
  114. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js.map +1 -0
  115. package/build/dex/usual/usual-usdc-usdc.d.ts +17 -0
  116. package/build/dex/usual/usual-usdc-usdc.js +59 -0
  117. package/build/dex/usual/usual-usdc-usdc.js.map +1 -0
  118. package/build/dex/{se-vlr → yo}/config.d.ts +1 -1
  119. package/build/dex/yo/config.js +21 -0
  120. package/build/dex/yo/config.js.map +1 -0
  121. package/build/dex/yo/types.d.ts +13 -0
  122. package/build/dex/yo/types.js +3 -0
  123. package/build/dex/{se-vlr → yo}/types.js.map +1 -1
  124. package/build/dex/yo/yo-pool.d.ts +13 -0
  125. package/build/dex/yo/yo-pool.js +26 -0
  126. package/build/dex/yo/yo-pool.js.map +1 -0
  127. package/build/dex/yo/yo.d.ts +39 -0
  128. package/build/dex/yo/yo.js +248 -0
  129. package/build/dex/yo/yo.js.map +1 -0
  130. package/build/executor/Executor01BytecodeBuilder.js +9 -3
  131. package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
  132. package/build/executor/Executor02BytecodeBuilder.js +9 -3
  133. package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
  134. package/build/implementations/api-paraswap-sdk.d.ts +25 -0
  135. package/build/implementations/api-paraswap-sdk.js +102 -0
  136. package/build/implementations/api-paraswap-sdk.js.map +1 -0
  137. package/package.json +1 -1
  138. package/build/abi/Jarvis.json +0 -1172
  139. package/build/abi/Onebit.json +0 -736
  140. package/build/abi/Shell.json +0 -1294
  141. package/build/abi/TraderJoeV2Router.json +0 -50
  142. package/build/abi/wUSDM.json +0 -757
  143. package/build/abi/zrx.v2.json +0 -1967
  144. package/build/abi/zrx.v3.json +0 -3454
  145. package/build/abi/zrx.v4.json +0 -2193
  146. package/build/dex/OneInchLp.d.ts +0 -24
  147. package/build/dex/OneInchLp.js +0 -43
  148. package/build/dex/OneInchLp.js.map +0 -1
  149. package/build/dex/bProtocol/bProtocol.d.ts +0 -15
  150. package/build/dex/bProtocol/bProtocol.js +0 -56
  151. package/build/dex/bProtocol/bProtocol.js.map +0 -1
  152. package/build/dex/bProtocol/types.d.ts +0 -11
  153. package/build/dex/bProtocol/types.js +0 -8
  154. package/build/dex/bProtocol/types.js.map +0 -1
  155. package/build/dex/jarvis.d.ts +0 -56
  156. package/build/dex/jarvis.js +0 -163
  157. package/build/dex/jarvis.js.map +0 -1
  158. package/build/dex/mStable.d.ts +0 -44
  159. package/build/dex/mStable.js +0 -75
  160. package/build/dex/mStable.js.map +0 -1
  161. package/build/dex/onebit/onebit.d.ts +0 -16
  162. package/build/dex/onebit/onebit.js +0 -61
  163. package/build/dex/onebit/onebit.js.map +0 -1
  164. package/build/dex/onebit/types.d.ts +0 -14
  165. package/build/dex/onebit/types.js +0 -8
  166. package/build/dex/onebit/types.js.map +0 -1
  167. package/build/dex/se-vlr/config.js +0 -24
  168. package/build/dex/se-vlr/config.js.map +0 -1
  169. package/build/dex/se-vlr/se-vlr-pool.js +0 -70
  170. package/build/dex/se-vlr/se-vlr-pool.js.map +0 -1
  171. package/build/dex/se-vlr/se-vlr.d.ts +0 -35
  172. package/build/dex/se-vlr/se-vlr.js +0 -131
  173. package/build/dex/se-vlr/se-vlr.js.map +0 -1
  174. package/build/dex/se-vlr/types.d.ts +0 -6
  175. package/build/dex/shell.d.ts +0 -25
  176. package/build/dex/shell.js +0 -41
  177. package/build/dex/shell.js.map +0 -1
  178. package/build/dex/trader-joe-v2.d.ts +0 -40
  179. package/build/dex/trader-joe-v2.js +0 -74
  180. package/build/dex/trader-joe-v2.js.map +0 -1
  181. package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +0 -94
  182. package/build/dex/uniswap-v3/uniswap-v3-new.js +0 -923
  183. package/build/dex/uniswap-v3/uniswap-v3-new.js.map +0 -1
  184. package/build/dex/usual-bond/config.js +0 -13
  185. package/build/dex/usual-bond/config.js.map +0 -1
  186. package/build/dex/usual-bond/types.d.ts +0 -7
  187. package/build/dex/usual-bond/usual-bond.js +0 -176
  188. package/build/dex/usual-bond/usual-bond.js.map +0 -1
  189. package/build/dex/wusdm/config.d.ts +0 -3
  190. package/build/dex/wusdm/config.js +0 -43
  191. package/build/dex/wusdm/config.js.map +0 -1
  192. package/build/dex/wusdm/constants.d.ts +0 -2
  193. package/build/dex/wusdm/constants.js +0 -6
  194. package/build/dex/wusdm/constants.js.map +0 -1
  195. package/build/dex/wusdm/types.d.ts +0 -18
  196. package/build/dex/wusdm/types.js +0 -11
  197. package/build/dex/wusdm/types.js.map +0 -1
  198. package/build/dex/wusdm/wusdm-pool.d.ts +0 -21
  199. package/build/dex/wusdm/wusdm-pool.js +0 -74
  200. package/build/dex/wusdm/wusdm-pool.js.map +0 -1
  201. package/build/dex/wusdm/wusdm.d.ts +0 -46
  202. package/build/dex/wusdm/wusdm.js +0 -243
  203. package/build/dex/wusdm/wusdm.js.map +0 -1
  204. package/build/dex/zerox/config.d.ts +0 -2
  205. package/build/dex/zerox/config.js +0 -33
  206. package/build/dex/zerox/config.js.map +0 -1
  207. package/build/dex/zerox/index.d.ts +0 -22
  208. package/build/dex/zerox/index.js +0 -225
  209. package/build/dex/zerox/index.js.map +0 -1
  210. package/build/dex/zerox/order.d.ts +0 -88
  211. package/build/dex/zerox/order.js +0 -53
  212. package/build/dex/zerox/order.js.map +0 -1
  213. package/build/dex/zerox/types.d.ts +0 -73
  214. package/build/dex/zerox/types.js +0 -21
  215. package/build/dex/zerox/types.js.map +0 -1
  216. /package/build/dex/{se-vlr → aave-pt-to-underlying}/types.js +0 -0
  217. /package/build/dex/{usual-bond → aave-pt-to-usdc}/types.js +0 -0
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.YoEventPool = void 0;
7
+ const abi_1 = require("@ethersproject/abi");
8
+ const erc_4626_pool_1 = require("../erc4626/erc-4626-pool");
9
+ const ERC4626_json_1 = __importDefault(require("../../abi/ERC4626.json"));
10
+ const constants_1 = require("../erc4626/constants");
11
+ class YoEventPool extends erc_4626_pool_1.ERC4626EventPool {
12
+ parentName;
13
+ network;
14
+ dexHelper;
15
+ constructor(parentName, network, dexHelper, logger, vault, asset, cooldownEnabled = false, yoIface = new abi_1.Interface(ERC4626_json_1.default)) {
16
+ super(parentName, network, `${vault}_${asset}`, dexHelper, vault, asset, yoIface, logger, constants_1.DEPOSIT_TOPIC, constants_1.WITHDRAW_TOPIC, constants_1.TRANSFER_TOPIC, cooldownEnabled);
17
+ this.parentName = parentName;
18
+ this.network = network;
19
+ this.dexHelper = dexHelper;
20
+ }
21
+ withdrawRedeemAllowed(state) {
22
+ return true;
23
+ }
24
+ }
25
+ exports.YoEventPool = YoEventPool;
26
+ //# sourceMappingURL=yo-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yo-pool.js","sourceRoot":"","sources":["../../../src/dex/yo/yo-pool.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA+C;AAG/C,4DAA4D;AAE5D,0EAAiD;AACjD,oDAI8B;AAG9B,MAAa,WAAY,SAAQ,gCAAgB;IAEpC;IACC;IACA;IAHZ,YACW,UAAkB,EACjB,OAAgB,EAChB,SAAqB,EAC/B,MAAc,EACd,KAAc,EACd,KAAc,EACd,kBAA2B,KAAK,EAChC,OAAO,GAAG,IAAI,eAAS,CAAC,sBAAW,CAAC;QAEpC,KAAK,CACH,UAAU,EACV,OAAO,EACP,GAAG,KAAK,IAAI,KAAK,EAAE,EACnB,SAAS,EACT,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAM,EACN,yBAAa,EACb,0BAAc,EACd,0BAAc,EACd,eAAe,CAChB,CAAC;QAtBO,eAAU,GAAV,UAAU,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAS;QAChB,cAAS,GAAT,SAAS,CAAY;IAqBjC,CAAC;IAED,qBAAqB,CAAC,KAAuB;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA9BD,kCA8BC"}
@@ -0,0 +1,39 @@
1
+ import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, SimpleExchangeParam, PoolLiquidity, Logger, NumberAsString, DexExchangeParam } from '../../types';
2
+ import { SwapSide, Network } from '../../constants';
3
+ import { IDex, Context } from '../idex';
4
+ import { IDexHelper } from '../../dex-helper/idex-helper';
5
+ import { YoData } from './types';
6
+ import { YoEventPool } from './yo-pool';
7
+ import { ERC4626 } from '../erc4626/erc4626';
8
+ import { Interface } from '@ethersproject/abi';
9
+ export declare enum ERC4626Functions {
10
+ deposit = "deposit",
11
+ redeem = "redeem",
12
+ withdraw = "withdraw",
13
+ mint = "mint"
14
+ }
15
+ export declare class Yo extends ERC4626 implements IDex<YoData> {
16
+ readonly network: Network;
17
+ readonly dexKey: string;
18
+ readonly dexHelper: IDexHelper;
19
+ readonly vault: string;
20
+ readonly asset: string;
21
+ readonly decimals: number;
22
+ readonly erc4626Interface: Interface;
23
+ readonly needWrapNative = true;
24
+ readonly isFeeOnTransferSupported = false;
25
+ static dexKeysWithNetwork: {
26
+ key: string;
27
+ networks: Network[];
28
+ }[];
29
+ logger: Logger;
30
+ readonly eventPool: YoEventPool;
31
+ constructor(network: Network, dexKey: string, dexHelper: IDexHelper, vault?: string, asset?: string, decimals?: number, erc4626Interface?: Interface);
32
+ getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number): Promise<null | ExchangePrices<YoData>>;
33
+ getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: YoData, side: SwapSide): Promise<SimpleExchangeParam>;
34
+ getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: YoData, side: SwapSide, _: Context, executorAddress: Address): Promise<DexExchangeParam>;
35
+ getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: YoData, side: SwapSide): AdapterExchangeParam;
36
+ getCalldataGasCost(_poolPrices: PoolPrices<YoData>): number | number[];
37
+ updatePoolState(): Promise<void>;
38
+ getTopPoolsForToken(tokenAddress: Address, _limit: number): Promise<PoolLiquidity[]>;
39
+ }
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Yo = exports.ERC4626Functions = void 0;
40
+ const constants_1 = require("../../constants");
41
+ const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
42
+ const utils_1 = require("../../utils");
43
+ const config_1 = require("./config");
44
+ const yo_pool_1 = require("./yo-pool");
45
+ const erc4626_1 = require("../erc4626/erc4626");
46
+ const abi_1 = require("@ethersproject/abi");
47
+ const ERC4626_json_1 = __importDefault(require("../../abi/ERC4626.json"));
48
+ const utils_2 = require("../../executor/utils");
49
+ const bigint_constants_1 = require("../../bigint-constants");
50
+ var ERC4626Functions;
51
+ (function (ERC4626Functions) {
52
+ ERC4626Functions["deposit"] = "deposit";
53
+ ERC4626Functions["redeem"] = "redeem";
54
+ ERC4626Functions["withdraw"] = "withdraw";
55
+ ERC4626Functions["mint"] = "mint";
56
+ })(ERC4626Functions || (exports.ERC4626Functions = ERC4626Functions = {}));
57
+ class Yo extends erc4626_1.ERC4626 {
58
+ network;
59
+ dexKey;
60
+ dexHelper;
61
+ vault;
62
+ asset;
63
+ decimals;
64
+ erc4626Interface;
65
+ needWrapNative = true;
66
+ isFeeOnTransferSupported = false;
67
+ static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.YoConfig);
68
+ logger;
69
+ eventPool;
70
+ constructor(network, dexKey, dexHelper, vault = config_1.YoConfig[dexKey][network].vault, asset = config_1.YoConfig[dexKey][network].asset, decimals = config_1.YoConfig[dexKey][network].decimals, erc4626Interface = new abi_1.Interface(ERC4626_json_1.default)) {
71
+ super(network, dexKey, dexHelper, vault, asset, false, erc4626Interface);
72
+ this.network = network;
73
+ this.dexKey = dexKey;
74
+ this.dexHelper = dexHelper;
75
+ this.vault = vault;
76
+ this.asset = asset;
77
+ this.decimals = decimals;
78
+ this.erc4626Interface = erc4626Interface;
79
+ this.logger = dexHelper.getLogger(dexKey);
80
+ this.eventPool = new yo_pool_1.YoEventPool(dexKey, network, dexHelper, this.logger, vault, asset);
81
+ }
82
+ async getPricesVolume(srcToken, destToken, amounts, side, blockNumber) {
83
+ const _srcToken = this.dexHelper.config.wrapETH(srcToken);
84
+ const _destToken = this.dexHelper.config.wrapETH(destToken);
85
+ if (!this.isAppropriatePair(_srcToken, _destToken)) {
86
+ return null;
87
+ }
88
+ const state = await this.eventPool.getOrGenerateState(blockNumber);
89
+ if (!state) {
90
+ return null;
91
+ }
92
+ const isSrcAsset = this.isAsset(_srcToken.address);
93
+ let calcFunction;
94
+ if (side === constants_1.SwapSide.SELL) {
95
+ if (isSrcAsset) {
96
+ calcFunction = this.previewDeposit.bind(this);
97
+ }
98
+ else {
99
+ calcFunction = this.previewRedeem.bind(this);
100
+ }
101
+ }
102
+ else {
103
+ if (isSrcAsset) {
104
+ calcFunction = this.previewMint.bind(this);
105
+ }
106
+ else {
107
+ calcFunction = this.previewWithdraw.bind(this);
108
+ }
109
+ }
110
+ return [
111
+ {
112
+ unit: bigint_constants_1.BI_POWS[this.decimals],
113
+ prices: amounts.map(amount => calcFunction(amount, state)),
114
+ gasCost: 100_000,
115
+ data: {
116
+ exchange: `${this.vault}`,
117
+ state: {
118
+ totalShares: state.totalShares.toString(),
119
+ totalAssets: state.totalAssets.toString(),
120
+ },
121
+ },
122
+ poolAddresses: [this.vault],
123
+ exchange: this.dexKey,
124
+ },
125
+ ];
126
+ }
127
+ async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
128
+ const isSell = side === constants_1.SwapSide.SELL;
129
+ const { exchange } = data;
130
+ let swapData;
131
+ if (this.isAsset(srcToken)) {
132
+ if (isSell) {
133
+ // SELL: User specifies assets, we call deposit(assets)
134
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.deposit, [srcAmount, this.augustusAddress]);
135
+ }
136
+ else {
137
+ // BUY: User wants shares, we need to calculate required assets
138
+ const state = await this.eventPool.getOrGenerateState(await this.dexHelper.provider.getBlockNumber());
139
+ const requiredAssets = this.previewMint(BigInt(destAmount), state);
140
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.deposit, [requiredAssets.toString(), this.augustusAddress]);
141
+ }
142
+ }
143
+ else {
144
+ if (isSell) {
145
+ // SELL: User specifies shares, we call redeem(shares)
146
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.redeem, [srcAmount, this.augustusAddress, this.augustusAddress]);
147
+ }
148
+ else {
149
+ // BUY: User wants assets, we need to calculate required shares
150
+ const state = await this.eventPool.getOrGenerateState(await this.dexHelper.provider.getBlockNumber());
151
+ const requiredShares = this.previewWithdraw(BigInt(destAmount), state);
152
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.redeem, [
153
+ requiredShares.toString(),
154
+ this.augustusAddress,
155
+ this.augustusAddress,
156
+ ]);
157
+ }
158
+ }
159
+ return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, exchange, undefined, undefined, undefined, isSell && this.isAsset(destToken));
160
+ }
161
+ async getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side, _, executorAddress) {
162
+ const isSell = side === constants_1.SwapSide.SELL;
163
+ const { exchange } = data;
164
+ let swapData;
165
+ if (this.isAsset(srcToken)) {
166
+ if (isSell) {
167
+ // SELL: User specifies assets, we call deposit(assets)
168
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.deposit, [srcAmount, recipient]);
169
+ }
170
+ else {
171
+ // BUY: User wants shares, we need to calculate required assets
172
+ const state = await this.eventPool.getOrGenerateState(await this.dexHelper.provider.getBlockNumber());
173
+ const requiredAssets = this.previewMint(BigInt(destAmount), state);
174
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.deposit, [requiredAssets.toString(), recipient]);
175
+ }
176
+ }
177
+ else {
178
+ if (isSell) {
179
+ // SELL: User specifies shares, we call redeem(shares)
180
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.redeem, [srcAmount, recipient, executorAddress]);
181
+ }
182
+ else {
183
+ // BUY: User wants assets, we need to calculate required shares
184
+ const state = await this.eventPool.getOrGenerateState(await this.dexHelper.provider.getBlockNumber());
185
+ const requiredShares = this.previewWithdraw(BigInt(destAmount), state);
186
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.redeem, [requiredShares.toString(), recipient, executorAddress]);
187
+ }
188
+ }
189
+ return {
190
+ needWrapNative: this.needWrapNative,
191
+ dexFuncHasRecipient: true,
192
+ exchangeData: swapData,
193
+ targetExchange: exchange,
194
+ returnAmountPos: isSell
195
+ ? (0, utils_2.extractReturnAmountPosition)(this.erc4626Interface, this.isAsset(srcToken)
196
+ ? ERC4626Functions.deposit
197
+ : ERC4626Functions.redeem)
198
+ : undefined,
199
+ skipApproval: this.isAsset(destToken),
200
+ };
201
+ }
202
+ // Override getAdapterParam to use YoData
203
+ getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
204
+ const { exchange } = data;
205
+ const payload = this.abiCoder.encodeParameter({
206
+ ParentStruct: {
207
+ toStaked: 'bool',
208
+ },
209
+ }, {
210
+ toStaked: this.isAsset(srcToken),
211
+ });
212
+ return {
213
+ targetExchange: exchange,
214
+ payload,
215
+ networkFee: '0',
216
+ };
217
+ }
218
+ // Override getCalldataGasCost
219
+ getCalldataGasCost(_poolPrices) {
220
+ return CALLDATA_GAS_COST.DEX_NO_PAYLOAD;
221
+ }
222
+ // Override updatePoolState
223
+ async updatePoolState() {
224
+ await super.updatePoolState();
225
+ }
226
+ async getTopPoolsForToken(tokenAddress, _limit) {
227
+ if (!this.isAsset(tokenAddress) && !this.isVault(tokenAddress)) {
228
+ return [];
229
+ }
230
+ const vaultToAsset = this.isVault(tokenAddress);
231
+ return [
232
+ {
233
+ exchange: this.dexKey,
234
+ address: this.vault,
235
+ connectorTokens: [
236
+ {
237
+ decimals: this.decimals,
238
+ address: vaultToAsset ? this.asset : this.vault,
239
+ liquidityUSD: constants_1.UNLIMITED_USD_LIQUIDITY,
240
+ },
241
+ ],
242
+ liquidityUSD: constants_1.UNLIMITED_USD_LIQUIDITY,
243
+ },
244
+ ];
245
+ }
246
+ }
247
+ exports.Yo = Yo;
248
+ //# sourceMappingURL=yo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yo.js","sourceRoot":"","sources":["../../../src/dex/yo/yo.ts"],"names":[],"mappings":"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"}
@@ -249,9 +249,15 @@ class Executor01BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
249
249
  }
250
250
  else {
251
251
  const fromAmount = ethers_1.ethers.utils.defaultAbiCoder.encode(['uint256'], [swap.swapExchanges[swapExchangeIndex].srcAmount]);
252
- const fromAmountIndex = exchangeData
253
- .replace('0x', '')
254
- .indexOf(fromAmount.replace('0x', ''));
252
+ const rawCalldata = exchangeData.replace('0x', '');
253
+ const rawAmount = fromAmount.replace('0x', '');
254
+ let fromAmountIndex = -1;
255
+ for (let idx = rawCalldata.indexOf(rawAmount); idx !== -1; idx = rawCalldata.indexOf(rawAmount, idx + 1)) {
256
+ if (idx % 2 === 0) {
257
+ fromAmountIndex = idx;
258
+ break;
259
+ }
260
+ }
255
261
  fromAmountPos =
256
262
  (fromAmountIndex !== -1 ? fromAmountIndex : exchangeData.length) / 2;
257
263
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Executor01BytecodeBuilder.js","sourceRoot":"","sources":["../../src/executor/Executor01BytecodeBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Executor01BytecodeBuilder.js","sourceRoot":"","sources":["../../src/executor/Executor01BytecodeBuilder.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAGhC,oCAAwC;AAExC,mCAAsD;AACtD,2CAAyE;AACzE,uEAImC;AAEnC,MAAM,EACJ,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,GACvE,GAAG,eAAM,CAAC;AAKX;;GAEG;AACH,MAAa,yBAA0B,SAAQ,iDAG9C;IACC,IAAI,GAAG,iBAAS,CAAC,GAAG,CAAC;IACrB;;;;;;;;;;;;OAYG;IACO,oBAAoB,CAC5B,UAAuB,EACvB,cAAuC,EACvC,UAAkB,EAClB,SAAiB,EACjB,iBAAyB,EACzB,kBAA0B,EAC1B,iBAAyC;QAEzC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAC3B,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,aAAa,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACzD,MAAM,EACJ,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,kCAAkC,EAClC,qCAAqC,EACrC,qBAAqB,EACrB,kCAAkC,GACnC,GAAG,aAAa,CAAC;QAElB,MAAM,QAAQ,GAAG,cAAc,IAAI,QAAQ,IAAI,iBAAiB,EAAE,OAAO,CAAC;QAC1E,MAAM,UAAU,GACd,cAAc,IAAI,SAAS,IAAI,iBAAiB,EAAE,QAAQ,CAAC;QAC7D,MAAM,YAAY,GAChB,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,kBAAU,CAAC,OAAO,CAAC;QAExE,MAAM,4BAA4B,GAChC,qCAAqC;YACrC,CAAC,YAAY,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAExD,IAAI,OAAO,GAAG,4BAA4B;YACxC,CAAC,CAAC,YAAI,CAAC,qDAAqD;YAC5D,CAAC,CAAC,YAAI,CAAC,gDAAgD,CAAC,CAAC,SAAS;QACpE,IAAI,WAAW,GACb,YAAI,CAAC,qDAAqD,CAAC,CAAC,IAAI;QAElE,IAAI,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,OAAO,GAAG,mBAAmB;gBAC3B,CAAC,CAAC,CAAC,kCAAkC;oBACnC,CAAC,CAAC,YAAI,CAAC,2DAA2D,CAAC,IAAI;oBACvE,CAAC,CAAC,YAAI,CAAC,mFAAmF,CAAC,KAAK;gBAClG,CAAC,CAAC,CAAC,kCAAkC;oBACrC,CAAC,CAAC,YAAI,CAAC,gEAAgE,CAAC,IAAI;oBAC5E,CAAC,CAAC,YAAI,CAAC,mFAAmF,CAAC,CAAC,KAAK;QACrG,CAAC;aAAM,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,OAAO,GAAG,4BAA4B;gBACpC,CAAC,CAAC,YAAI,CAAC,oDAAoD;gBAC3D,CAAC,CAAC,YAAI,CAAC,+CAA+C,CAAC,CAAC,SAAS;QACrE,CAAC;aAAM,IAAI,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,EAAE,CAAC;YAC7D,OAAO,GAAG,4BAA4B;gBACpC,CAAC,CAAC,YAAI,CAAC,0DAA0D;gBACjE,CAAC,CAAC,YAAI,CAAC,qDAAqD,CAAC,CAAC,UAAU;QAC5E,CAAC;QAED,iEAAiE;QACjE,0EAA0E;QAC1E,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO;gBACL,YAAI,CAAC,gEAAgE,CAAC;QAC1E,CAAC;QAED,OAAO;YACL,OAAO;YACP,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,+FAA+F;IACrF,uBAAuB,CAC/B,UAAuB,EACvB,cAAuC,EACvC,UAAkB,EAClB,SAAiB,EACjB,iBAAyB,EACzB,kBAA0B,EAC1B,iBAAyC;QAEzC,iEAAiE;QACjE,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACrC,MAAM,aAAa,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACzD,MAAM,EACJ,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,kCAAkC,EAClC,qCAAqC,EACrC,kCAAkC,EAClC,qBAAqB,GACtB,GAAG,aAAa,CAAC;QAElB,MAAM,UAAU,GACd,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,YAAY,GAChB,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,kBAAU,CAAC,OAAO,CAAC;QAExE,MAAM,4BAA4B,GAChC,qCAAqC;YACrC,CAAC,YAAY,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAExD,MAAM,UAAU,GACd,cAAc,IAAI,SAAS,IAAI,iBAAiB,EAAE,QAAQ,CAAC;QAE7D,MAAM,mBAAmB,GAAG,UAAU;YACpC,CAAC,CAAC,CAAC,mBAAmB,IAAI,UAAU;YACpC,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,WAAW,GAAG,QAAQ,IAAI,CAAC,cAAc,CAAC;QAChD,MAAM,mBAAmB,GAAG,SAAS,IAAI,CAAC,cAAc,CAAC;QAEzD,MAAM,0BAA0B,GAAG,UAAU,IAAI,CAAC,UAAU,CAAC;QAE7D,IAAI,OAAa,CAAC;QAClB,IAAI,WAAW,GACb,YAAI,CAAC,qDAAqD,CAAC,CAAC,IAAI;QAElE,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,uBAAuB,GAC3B,4BAA4B,IAAI,CAAC,kCAAkC,CAAC;YACtE,OAAO,GAAG,mBAAmB;gBAC3B,CAAC,CAAC,uBAAuB;oBACvB,CAAC,CAAC,YAAI,CAAC,gEAAgE,CAAC,IAAI;oBAC5E,CAAC,CAAC,YAAI,CAAC,wFAAwF,CAAC,KAAK;gBACvG,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,uBAAuB;wBACvB,CAAC,CAAC,YAAI,CAAC,2DAA2D,CAAC,IAAI;wBACvE,CAAC,CAAC,YAAI,CAAC,mFAAmF,CAAC,KAAK;oBAClG,CAAC,CAAC,uBAAuB;wBACzB,CAAC,CAAC,YAAI,CAAC,gEAAgE,CAAC,IAAI;wBAC5E,CAAC,CAAC,YAAI,CAAC,mFAAmF,CAAC,CAAC,KAAK;QACrG,CAAC;aAAM,IAAI,mBAAmB,EAAE,CAAC;YAC/B,OAAO;gBACL,0BAA0B,IAAI,mBAAmB;oBAC/C,CAAC,CAAC,4BAA4B,IAAI,mBAAmB;wBACnD,CAAC,CAAC,YAAI,CAAC,oDAAoD,CAAC,IAAI;wBAChE,CAAC,CAAC,YAAI,CAAC,+CAA+C,CAAC,IAAI;oBAC7D,CAAC,CAAC,4BAA4B,IAAI,mBAAmB;wBACrD,CAAC,CAAC,YAAI,CAAC,qDAAqD,CAAC,IAAI;wBACjE,CAAC,CAAC,YAAI,CAAC,gDAAgD,CAAC,CAAC,IAAI;QACnE,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,0BAA0B,IAAI,mBAAmB;oBAC/C,CAAC,CAAC,4BAA4B;wBAC5B,CAAC,CAAC,YAAI,CAAC,0DAA0D,CAAC,IAAI;wBACtE,CAAC,CAAC,YAAI,CAAC,qDAAqD,CAAC,KAAK;oBACpE,CAAC,CAAC,4BAA4B;wBAC9B,CAAC,CAAC,YAAI,CAAC,qDAAqD,CAAC,IAAI;wBACjE,CAAC,CAAC,YAAI,CAAC,gDAAgD,CAAC,CAAC,IAAI;QACnE,CAAC;QAED,iEAAiE;QACjE,0EAA0E;QAC1E,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO;gBACL,YAAI,CAAC,gEAAgE,CAAC;QAC1E,CAAC;QAED,OAAO;YACL,OAAO;YACP,WAAW;SACZ,CAAC;IACJ,CAAC;IAES,uBAAuB,CAC/B,MAAoE;QAEpE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,GACnE,MAAM,CAAC;QAET,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACxC,UAAU;YACV,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,KAAK;YAChB,iBAAiB,EAAE,CAAC;YACpB,cAAc;YACd,kBAAkB,EAAE,KAAK;YACzB,UAAU,EAAE,KAAK,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAC9D,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;SACzB,CAAC,CAAC;QAEH,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;YAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAClD,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EACrC,gBAAgB,CAAC,qBAAqB,CACvC,CAAC;YACF,YAAY,GAAG,SAAS,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,gBAAgB,CAAC,0BAA0B,EAAE,CAAC;YAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CACjD,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,UAAU,EAAE;gBACjD,gBAAgB,CAAC,0BAA0B;gBAC3C,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;aAChC,CAAC,EACF,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC;gBACzB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;gBACvC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAChC,CAAC;YAEF,YAAY,GAAG,SAAS,CAAC,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,IACE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,cAAc;YAC9C,CAAC,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC;gBAC3B,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC;YAC/C,CAAC,gBAAgB,CAAC,0BAA0B;YAC5C,CAAC,gBAAgB,CAAC,YAAY;YAC9B,gBAAgB,CAAC,WAAW,EAC5B,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAC/C,gBAAgB,CAAC,WAAW,CAAC,MAAM,EACnC,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAClC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EACrB,gBAAgB,CAAC,eAAe,CACjC,CAAC;YAEF,YAAY,GAAG,SAAS,CAAC,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,gBAAgB,CAAC,cAAc,IAAI,iBAAiB,EAAE,CAAC;YACzD,IAAI,iBAAiB,CAAC,OAAO,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7D,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAEpD,IACE,CAAC,iBAAiB;oBAClB,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EACxD,CAAC;oBACD,IAAI,mBAAmB,GAAG,IAAI,CAAC;oBAC/B,IACE,gBAAgB,CAAC,WAAW;wBAC5B,CAAC,gBAAgB,CAAC,0BAA0B;wBAC5C,CAAC,gBAAgB,CAAC,YAAY,EAC9B,CAAC;wBACD,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAC7C,gBAAgB,CAAC,WAAW,CAAC,MAAM,EACnC,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAClC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EACrB,gBAAgB,CAAC,eAAe,CACjC,CAAC;oBACJ,CAAC;oBAED,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAC/C,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EACrC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAClC,YAAI,CAAC,2DAA2D,CACjE,CAAC;oBAEF,YAAY,GAAG,SAAS,CAAC;wBACvB,mBAAmB;wBACnB,eAAe;wBACf,YAAY;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,iBAAiB,CAAC,QAAQ,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/D,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAEpD,IACE,CAAC,iBAAiB;oBAClB,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EACxD,CAAC;oBACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAClD,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EACrC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CACpC,CAAC;oBACF,YAAY,GAAG,SAAS,CAAC,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,gBAAgB,CACxB,MAAsD;QAEtD,MAAM,EACJ,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,SAAS,EACT,IAAI,EACJ,iBAAiB,GAClB,GAAG,MAAM,CAAC;QAEX,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC;QAErD,MAAM,eAAe,GACnB,aAAa,CAAC,eAAe,KAAK,SAAS;YACzC,CAAC,CAAC,aAAa,CAAC,eAAe;YAC/B,CAAC,CAAC,qCAAyB,CAAC;QAEhC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,8BAA8B,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjE,MAAM,aAAa,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;gBACpC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAEjC,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAC3C,YAAY,EACZ,aAAa,CACd,CAAC;YACF,MAAM,kBAAkB,GAAG,YAAY;iBACpC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;iBACjB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5C,YAAY,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,aAAa,CAAC,mBAAmB,EAAE,CAAC;gBACtC,aAAa,GAAG,aAAa,CAAC,mBAAmB,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CACpD,CAAC,SAAS,CAAC,EACX,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAClD,CAAC;gBAEF,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAE/C,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;gBACzB,KACE,IAAI,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EACxC,GAAG,KAAK,CAAC,CAAC,EACV,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC,CAAC,EAC7C,CAAC;oBACD,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAClB,eAAe,GAAG,GAAG,CAAC;wBACtB,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,aAAa;oBACX,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CACvB,aAAa,CAAC,cAAc,EAC5B,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,IAAI,kBAAU,CAAC,OAAO,EACpC,IAAI,EACJ,SAAS,EACT,eAAe,CAChB,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAmB,CAAC,iBAAS,CAAC,GAAG,CAAC,CAAC;IACvE,CAAC;IAEM,aAAa,CAClB,UAAuB,EACvB,cAAuC,EACvC,MAAc,EACd,iBAAyC;QAEzC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAC3B,UAAU,EACV,cAAc,EACd,iBAAiB,CAClB,CAAC;QAEF,IAAI,aAAa,GAAG,cAAc,CAAC,MAAM,CACvC,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CACjB,SAAS,CAAC;YACR,GAAG;YACH,IAAI,CAAC,uBAAuB,CAAC;gBAC3B,UAAU;gBACV,cAAc;gBACd,KAAK;gBACL,KAAK;gBACL,MAAM;gBACN,iBAAiB;aAClB,CAAC;SACH,CAAC,EACJ,IAAI,CACL,CAAC;QAEF,IACE,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,mBAAmB;YAC9D,CAAC,IAAA,oBAAY,EAAC,UAAU,CAAC,SAAS,CAAC,EACnC,CAAC;YACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CACjD,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,UAAU,EAAE;gBACjD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB;gBAC5C,UAAU,CAAC,UAAU;aACtB,CAAC,EACF,UAAU,CAAC,SAAS,CACrB,CAAC;YAEF,aAAa,GAAG,SAAS,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,IACE,CAAC,iBAAiB,EAAE,QAAQ,IAAI,IAAA,oBAAY,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACnE,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,mBAAmB;gBAC7D,IAAA,oBAAY,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EACrC,CAAC;YACD,MAAM,wBAAwB,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACtE,aAAa,GAAG,SAAS,CAAC,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,YAAY,CACjB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAC7B;YACE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,kBAAkB;YAC/C,UAAU,CACR,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,2BAAe,CAAC,EAAE,wDAAwD;YACjH,EAAE,CACH;YACD,aAAa,EAAE,cAAc;SAC9B,CACF,CAAC;IACJ,CAAC;CACF;AAtdD,8DAsdC"}
@@ -211,9 +211,15 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
211
211
  }
212
212
  else {
213
213
  const fromAmount = ethers_1.ethers.utils.defaultAbiCoder.encode(['uint256'], [swapExchange.srcAmount]);
214
- const fromAmountIndex = exchangeData
215
- .replace('0x', '')
216
- .indexOf(fromAmount.replace('0x', ''));
214
+ const rawCalldata = exchangeData.replace('0x', '');
215
+ const rawAmount = fromAmount.replace('0x', '');
216
+ let fromAmountIndex = -1;
217
+ for (let idx = rawCalldata.indexOf(rawAmount); idx !== -1; idx = rawCalldata.indexOf(rawAmount, idx + 1)) {
218
+ if (idx % 2 === 0) {
219
+ fromAmountIndex = idx;
220
+ break;
221
+ }
222
+ }
217
223
  fromAmountPos =
218
224
  (fromAmountIndex !== -1 ? fromAmountIndex : exchangeData.length) / 2;
219
225
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Executor02BytecodeBuilder.js","sourceRoot":"","sources":["../../src/executor/Executor02BytecodeBuilder.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAWhC,mCAAsD;AACtD,oCAAwC;AAExC,uEAImC;AACnC,2CASqB;AAErB,MAAM,EACJ,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,GACvE,GAAG,eAAM,CAAC;AAeX;;GAEG;AACH,MAAa,yBAA0B,SAAQ,iDAG9C;IACC,IAAI,GAAG,iBAAS,CAAC,GAAG,CAAC;IACrB;;;;;;;;;;;;OAYG;IACO,oBAAoB,CAC5B,UAAuB,EACvB,cAAuC,EACvC,UAAkB,EAClB,SAAiB,EACjB,iBAAyB,EACzB,kBAA0B,EAC1B,iBAAyC;QAEzC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAC3B,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,aAAa,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACzD,MAAM,EACJ,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,kCAAkC,EAClC,qCAAqC,EACrC,qBAAqB,EACrB,kCAAkC,GACnC,GAAG,aAAa,CAAC;QAElB,MAAM,QAAQ,GAAG,cAAc,IAAI,QAAQ,IAAI,iBAAiB,EAAE,OAAO,CAAC;QAC1E,MAAM,UAAU,GACd,cAAc,IAAI,SAAS,IAAI,iBAAiB,EAAE,QAAQ,CAAC;QAC7D,MAAM,YAAY,GAChB,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,kBAAU,CAAC,OAAO,CAAC;QAExE,MAAM,4BAA4B,GAChC,qCAAqC;YACrC,CAAC,YAAY,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAExD,IAAI,OAAO,GAAG,4BAA4B;YACxC,CAAC,CAAC,YAAI,CAAC,qDAAqD;YAC5D,CAAC,CAAC,YAAI,CAAC,gDAAgD,CAAC,CAAC,SAAS;QACpE,IAAI,WAAW,GACb,YAAI,CAAC,qDAAqD,CAAC,CAAC,IAAI;QAElE,IAAI,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,OAAO,GAAG,mBAAmB;gBAC3B,CAAC,CAAC,CAAC,kCAAkC;oBACnC,CAAC,CAAC,YAAI,CAAC,2DAA2D,CAAC,IAAI;oBACvE,CAAC,CAAC,YAAI,CAAC,mFAAmF,CAAC,KAAK;gBAClG,CAAC,CAAC,CAAC,kCAAkC;oBACrC,CAAC,CAAC,YAAI,CAAC,gEAAgE,CAAC,IAAI;oBAC5E,CAAC,CAAC,YAAI,CAAC,mFAAmF,CAAC,CAAC,KAAK;QACrG,CAAC;aAAM,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,OAAO,GAAG,4BAA4B;gBACpC,CAAC,CAAC,YAAI,CAAC,oDAAoD;gBAC3D,CAAC,CAAC,YAAI,CAAC,+CAA+C,CAAC,CAAC,SAAS;QACrE,CAAC;aAAM,IAAI,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,EAAE,CAAC;YAC7D,OAAO,GAAG,4BAA4B;gBACpC,CAAC,CAAC,YAAI,CAAC,0DAA0D;gBACjE,CAAC,CAAC,YAAI,CAAC,qDAAqD,CAAC,CAAC,UAAU;QAC5E,CAAC;QAED,iEAAiE;QACjE,0EAA0E;QAC1E,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO;gBACL,YAAI,CAAC,gEAAgE,CAAC;QAC1E,CAAC;QAED,OAAO;YACL,OAAO;YACP,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACO,uBAAuB,CAC/B,UAAuB,EACvB,cAAuC,EACvC,UAAkB,EAClB,SAAiB,EACjB,iBAAyB,EACzB,kBAA0B,EAC1B,iBAAyC;QAEzC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEpC,MAAM,aAAa,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAEzD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACrC,MAAM,sBAAsB,GAAG,IAAI,CAAC,oCAAoC,CACtE,UAAU,EACV,UAAU,EACV,IAAI,CACL,CAAC;QAEF,MAAM,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,uDAAuD;QAC5G,MAAM,WAAW,GAAG,SAAS,KAAK,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,CAAC,WAAW,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAExE,MAAM,EACJ,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,kCAAkC,EAClC,qCAAqC,EACrC,WAAW,EACX,kCAAkC,EAClC,qBAAqB,GACtB,GAAG,aAAa,CAAC;QAElB,MAAM,QAAQ,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,UAAU,GACd,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC;YACtE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,YAAY,GAChB,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,kBAAU,CAAC,OAAO,CAAC;QAExE,MAAM,4BAA4B,GAChC,qCAAqC;YACrC,CAAC,YAAY,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAExD,MAAM,mBAAmB,GACvB,CAAC,YAAY;YACX,oBAAoB;YACpB,CAAC,sBAAsB;YACvB,CAAC,UAAU,CAAC;YACd,CAAC,mBAAmB,CAAC;QAEvB,MAAM,UAAU,GACd,cAAc,IAAI,SAAS,IAAI,iBAAiB,EAAE,QAAQ,CAAC;QAE7D,MAAM,WAAW,GAAG,QAAQ,IAAI,CAAC,cAAc,CAAC;QAChD,MAAM,mBAAmB,GAAG,SAAS,IAAI,CAAC,cAAc,CAAC;QAEzD,MAAM,gCAAgC,GACpC,IAAI,CAAC,gCAAgC,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAE1E,4DAA4D;QAC5D,MAAM,gCAAgC,GACpC,IAAI,CAAC,gCAAgC,CACnC,UAAU,EACV,IAAI,EACJ,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEJ,uHAAuH;QACvH,MAAM,0BAA0B,GAC9B,CAAC,UAAU;YACT,CAAC,CAAC,sBAAsB;gBACtB,CAAC,sBAAsB,IAAI,gCAAgC,CAAC,CAAC;YAC/D,CAAC,gCAAgC,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;YAClE,CAAC,oBAAoB,IAAI,CAAC,sBAAsB,IAAI,CAAC,UAAU,CAAC,CAAC;QAEnE,IAAI,OAAa,CAAC;QAClB,IAAI,WAAW,GACb,YAAI,CAAC,qDAAqD,CAAC,CAAC,IAAI;QAElE,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,uBAAuB,GAC3B,4BAA4B,IAAI,CAAC,kCAAkC,CAAC;YACtE,OAAO;gBACL,0BAA0B,IAAI,mBAAmB;oBAC/C,CAAC,CAAC,uBAAuB;wBACvB,CAAC,CAAC,YAAI,CAAC,gEAAgE,CAAC,IAAI;wBAC5E,CAAC,CAAC,YAAI,CAAC,wFAAwF,CAAC,KAAK;oBACvG,CAAC,CAAC,mBAAmB;wBACrB,CAAC,CAAC,uBAAuB;4BACvB,CAAC,CAAC,YAAI,CAAC,2DAA2D,CAAC,IAAI;4BACvE,CAAC,CAAC,YAAI,CAAC,mFAAmF,CAAC,KAAK;wBAClG,CAAC,CAAC,uBAAuB;4BACzB,CAAC,CAAC,YAAI,CAAC,gEAAgE,CAAC,IAAI;4BAC5E,CAAC,CAAC,YAAI,CAAC,mFAAmF,CAAC,CAAC,KAAK;QACvG,CAAC;aAAM,IAAI,mBAAmB,EAAE,CAAC;YAC/B,OAAO;gBACL,0BAA0B,IAAI,mBAAmB;oBAC/C,CAAC,CAAC,4BAA4B,IAAI,mBAAmB;wBACnD,CAAC,CAAC,YAAI,CAAC,oDAAoD,CAAC,IAAI;wBAChE,CAAC,CAAC,YAAI,CAAC,+CAA+C,CAAC,IAAI;oBAC7D,CAAC,CAAC,4BAA4B,IAAI,mBAAmB;wBACrD,CAAC,CAAC,YAAI,CAAC,qDAAqD,CAAC,IAAI;wBACjE,CAAC,CAAC,YAAI,CAAC,gDAAgD,CAAC,CAAC,IAAI;QACnE,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,0BAA0B,IAAI,mBAAmB;oBAC/C,CAAC,CAAC,4BAA4B;wBAC5B,CAAC,CAAC,YAAI,CAAC,0DAA0D,CAAC,IAAI;wBACtE,CAAC,CAAC,YAAI,CAAC,qDAAqD,CAAC,KAAK;oBACpE,CAAC,CAAC,4BAA4B;wBAC9B,CAAC,CAAC,YAAI,CAAC,qDAAqD,CAAC,IAAI;wBACjE,CAAC,CAAC,YAAI,CAAC,gDAAgD,CAAC,CAAC,IAAI;QACnE,CAAC;QAED,iEAAiE;QACjE,0EAA0E;QAC1E,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO;gBACL,YAAI,CAAC,gEAAgE,CAAC;QAC1E,CAAC;QAED,OAAO;YACL,OAAO;YACP,WAAW;SACZ,CAAC;IACJ,CAAC;IAES,gBAAgB,CACxB,MAAsD;QAEtD,MAAM,EACJ,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,SAAS,EACT,IAAI,GACL,GAAG,MAAM,CAAC;QAEX,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACzD,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,GAClE,aAAa,CAAC;QAEhB,MAAM,uBAAuB,GAAG,IAAI,CAAC,2BAA2B,CAC9D,UAAU,EACV,cAAc,CACf,CAAC;QAEF,MAAM,UAAU;QACd,4DAA4D;QAC5D,IAAI,CAAC,gCAAgC,CACnC,UAAU,EACV,IAAI,EACJ,cAAc,EACd,kBAAkB,CACnB,IAAI,aAAa,CAAC,WAAW,CAAC;QAEjC,MAAM,8BAA8B,GAClC,UAAU;YACV,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC;YAC5B,IAAI,CAAC,gCAAgC,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAE1E,MAAM,eAAe,GACnB,aAAa,CAAC,eAAe,KAAK,SAAS;YAC3C,CAAC,uBAAuB;YACxB,CAAC,8BAA8B,CAAC,qEAAqE;YACnG,CAAC,CAAC,aAAa,CAAC,eAAe;YAC/B,CAAC,CAAC,qCAAyB,CAAC;QAEhC,MAAM,sBAAsB,GAAG,IAAI,CAAC,oCAAoC,CACtE,UAAU,EACV,UAAU,EACV,IAAI,CACL,CAAC;QACF,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAE1D,MAAM,eAAe,GACnB,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,cAAc;YAC3C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YACpC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAElC,MAAM,gBAAgB,GACpB,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,cAAc;YAC5C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YACpC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAEnC,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAC3C,YAAY,EACZ,eAAe,CAChB,CAAC;QAEF,IACE,sBAAsB;YACtB,CAAC,8BAA8B,IAAI,CAAC,yBAAyB,CAAC,EAC9D,CAAC;YACD,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAC3C,YAAY,EACZ,gBAAgB,CACjB,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,8BAA8B,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjE,MAAM,kBAAkB,GAAG,YAAY;iBACpC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;iBACjB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/C,YAAY,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,aAAa,CAAC,mBAAmB,EAAE,CAAC;gBACtC,aAAa,GAAG,aAAa,CAAC,mBAAmB,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CACpD,CAAC,SAAS,CAAC,EACX,CAAC,YAAY,CAAC,SAAS,CAAC,CACzB,CAAC;gBACF,MAAM,eAAe,GAAG,YAAY;qBACjC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;qBACjB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;gBAEzC,aAAa;oBACX,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CACvB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,IAAI,kBAAU,CAAC,OAAO,EACpC,IAAI,EACJ,SAAS,EACT,eAAe,CAChB,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAC1B,UAAuB,EACvB,cAAuC,EACvC,QAAgB,EAChB,UAAkB,EAClB,IAAiB,EACjB,kBAA0B,EAC1B,0BAAmC,EACnC,qCAAqC,GAAG,KAAK;QAE7C,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEpC,IAAI,+BAAwC,CAAC;QAC7C,IAAI,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5B,+BAA+B;gBAC7B,IAAA,oBAAY,EAAC,eAAe,CAAC;oBAC7B,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,cAAc;wBAChD,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,cAAc;4BACjD,qCAAqC,CAAC,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,+BAA+B;gBAC7B,IAAA,oBAAY,EAAC,eAAe,CAAC;oBAC7B,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACvE,CAAC;QAED,IACE,+BAA+B;YAC/B,IAAA,oBAAY,EAAC,eAAe,CAAC;YAC7B,CAAC,0BAA0B,EAC3B,CAAC;YACD,eAAe;gBACb,kBAAkB,GAAG,CAAC,CAAC;oBACrB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;oBACzD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;QAC7D,CAAC;QAED,IAAI,sBAAsB,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;QAC3D,IAAI,WAAmB,CAAC;QAExB,IAAI,UAAU,KAAK,wCAA4B,EAAE,CAAC;YAChD,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAA,oBAAY,EAAC,sBAAsB,CAAC,EAAE,CAAC;YAChD,WAAW,GAAG,oDAAwC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,MAAM,iBAAiB,GAAG,QAAQ;iBAC/B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;iBACjB,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAErD,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,YAAY,CACjB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EACxC;YACE,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,gBAAgB;YAClE,WAAW,EAAE,cAAc;YAC3B,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa;YACnE,QAAQ,EAAE,gBAAgB;SAC3B,CACF,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAAC,YAAoB;QACpD,OAAO,YAAY,CACjB,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EACpD;YACE,0BAAc,EAAE,gBAAgB;YAChC,yBAAa,EAAE,oBAAoB;YACnC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,kBAAkB;YAC/C,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,kBAAkB;YACxE,YAAY,EAAE,WAAW;SAC1B,CACF,CAAC;IACJ,CAAC;IAEO,6BAA6B,CACnC,qBAA6B,EAC7B,aAAqB,EACrB,YAAoB,EACpB,IAAU;QAEV,OAAO,YAAY,CACjB;YACE,SAAS;YACT,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,OAAO;SACR,EACD;YACE,0BAAc,EAAE,aAAa;YAC7B,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAsB;YACpF,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB;YACvD,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe;YACrD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB;YAC7C,UAAU,CAAC,OAAO,CAAC,kBAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU;YACzE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO;YACrC,qBAAqB,EAAE,iBAAiB;SACzC,CACF,CAAC;IACJ,CAAC;IAEO,8BAA8B,CACpC,UAAuB,EACvB,UAAkB,EAClB,cAAuC,EACvC,IAAiB,EACjB,YAAoB,EACpB,IAAU,EACV,MAAM,GAAG,KAAK;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;QAE1D,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,oBAAoB,CAAC,CAAC;QAErD,IAAI,2BAA2B,GAAG,KAAK,CAAC;QACxC,IAAI,gCAAgC,GAAG,KAAK,CAAC;QAC7C,IAAI,YAAoB,CAAC;QAEzB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,2BAA2B,GAAG,IAAI,CAAC,2BAA2B,CAC5D,UAAU,EACV,IAAI,EACJ,cAAc,CACf,CAAC;gBACF,gCAAgC;oBAC9B,IAAI,CAAC,gCAAgC,CACnC,UAAU,EACV,IAAI,EACJ,cAAc,CACf,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,2BAA2B,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAC9D,IAAI,CAAC,2BAA2B,CAC9B,UAAU,EACV,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EACnC,cAAc,CACf,CACF,CAAC;gBACF,gCAAgC,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACnE,IAAI,CAAC,gCAAgC,CACnC,UAAU,EACV,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EACnC,cAAc,CACf,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IACE,SAAS;YACT,gCAAgC;YAChC,CAAC,2BAA2B,EAC5B,CAAC;YACD,YAAY,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,kBAAkB,GAAG,IAAI;iBAC5B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;iBACjB,OAAO,CACN,CAAC,SAAS;gBACR,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE;gBACpE,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,CACrC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CACpB,CAAC;YAEJ,YAAY,GAAG,kBAAkB,GAAG,CAAC,GAAG,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,wCAAwC;QAE7F,OAAO,IAAI,CAAC,6BAA6B,CACvC,IAAI,EACJ,aAAa,EACb,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EACnC,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,+BAA+B,CACrC,UAAuB,EACvB,UAAkB,EAClB,SAAiB,EACjB,iBAAyB,EACzB,cAAuC,EACvC,KAAsD,EACtD,0BAAsD,EACtD,cAAc,GAAG,IAAI,EACrB,oBAAoB,GAAG,KAAK,EAC5B,eAA2C,EAC3C,iBAAyC,EACzC,oBAA8B,EAC9B,sBAAgC;QAEhC,MAAM,YAAY,GAChB,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACjC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAC7C,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAE3D,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,sBAAsB,GAAG,CAAC,CAAC;QAE/B,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACxB,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;gBACnC,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC;oBAChC,kBAAkB,GAAG,sBAAsB,CAAC;gBAC9C,CAAC;gBACD,sBAAsB,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,gBAAgB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAE5D,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACxC,UAAU;YACV,UAAU;YACV,SAAS;YACT,iBAAiB;YACjB,cAAc;YACd,kBAAkB;YAClB,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC;YACrC,YAAY;SACb,CAAC,CAAC;QAEH,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;YAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAClD,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EACrC,gBAAgB,CAAC,qBAAqB,CACvC,CAAC;YACF,oBAAoB,GAAG,SAAS,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,oBAAoB,GAAG,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,UAAU,GACd,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,kBAAkB,KAAK,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhE,IAAI,gBAAgB,CAAC,0BAA0B,EAAE,CAAC;YAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CACjD,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,UAAU,EAAE;gBACjD,gBAAgB,CAAC,0BAA0B;gBAC3C,YAAY,CAAC,SAAS;aACvB,CAAC,EACF,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC;gBACzB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;gBACvC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAChC,CAAC;YAEF,oBAAoB,GAAG,SAAS,CAAC;gBAC/B,gBAAgB;gBAChB,oBAAoB;aACrB,CAAC,CAAC;QACL,CAAC;QAED,IACE,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC;YAC5B,CAAC,gBAAgB,CAAC,0BAA0B;YAC5C,CAAC,gBAAgB,CAAC,YAAY;YAC9B,gBAAgB,CAAC,WAAW,EAC5B,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAC/C,gBAAgB,CAAC,WAAW,CAAC,MAAM,EACnC,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAClC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAClC,gBAAgB,CAAC,eAAe,CACjC,CAAC;YAEF,oBAAoB,GAAG,SAAS,CAAC,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACpC,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,IAAI,mBAAmB,GAAG,IAAI,CAAC;gBAC/B,IACE,gBAAgB,CAAC,WAAW;oBAC5B,CAAC,gBAAgB,CAAC,0BAA0B;oBAC5C,CAAC,gBAAgB,CAAC,YAAY,EAC9B,CAAC;oBACD,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAC7C,gBAAgB,CAAC,WAAW,CAAC,MAAM,EACnC,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAClC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAClC,gBAAgB,CAAC,eAAe,CACjC,CAAC;gBACJ,CAAC;gBAED,MAAM,cAAc,GAAG,SAAS,KAAK,CAAC,CAAC;gBACvC,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,QAAQ,GACZ,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;oBACxD,MAAM,gCAAgC,GACpC,IAAI,CAAC,gCAAgC,CACnC,UAAU,EACV,QAAQ,EACR,cAAc,CACf,CAAC;oBACJ,QAAQ,GAAG,CAAC,gCAAgC,CAAC;gBAC/C,CAAC;gBAED,IAAI,eAAe,GAAG,IAAI,CAAC;gBAC3B,IACE,iBAAiB;oBACjB,iBAAiB,CAAC,OAAO;oBACzB,CAAC,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,cAAc,CAAC;oBAC3D,cAAc;oBACd,CAAC,0BAA0B,CACzB,GAAG,UAAU,IAAI,SAAS,IAAI,iBAAiB,EAAE,CAClD;oBACD,CAAC,QAAQ,EACT,CAAC;oBACD,eAAe,GAAG,IAAI,CAAC,oBAAoB,CACzC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EACrC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAClC,YAAI,CAAC,2DAA2D,CACjE,CAAC;oBACF,0BAA0B,CACxB,GAAG,UAAU,IAAI,SAAS,IAAI,iBAAiB,EAAE,CAClD,GAAG,IAAI,CAAC;gBACX,CAAC;gBAED,oBAAoB,GAAG,SAAS,CAAC;oBAC/B,mBAAmB;oBACnB,eAAe;oBACf,oBAAoB;iBACrB,CAAC,CAAC;YACL,CAAC;YAED,yBAAyB;YACzB,IACE,iBAAiB;gBACjB,iBAAiB,CAAC,QAAQ;gBAC1B,CAAC,CAAC,CAAC,sBAAsB,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACxD,CAAC,sBAAsB;wBACrB,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,IAAI,CAAC,gCAAgC,CACnC,UAAU,EACV,IAAI,EACJ,cAAc,CACf,CAAC,CAAC,EACP,CAAC;gBACD,IAAI,gBAAgB,GAAG,IAAI,CAAC;gBAE5B,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,CAAC;gBAEvD,MAAM,aAAa,GACjB,YAAY;oBACZ,CAAC,UAAU;wBACT,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,cAAc,CAAC;wBAC/D,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAC/B,UAAU,EACV,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,EACrD,cAAc,CACf;4BACD,IAAI,CAAC,kCAAkC,CACrC,UAAU,EACV,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,EACrD,cAAc,CACf,CAAC,CAAC;gBAET,4DAA4D;gBAC5D,MAAM,UAAU,GACd,aAAa;oBACb,IAAI,CAAC,gCAAgC,CACnC,UAAU,EACV,IAAI,EACJ,cAAc,EACd,kBAAkB,CACnB,CAAC;gBAEJ,IAAI,iBAAiB,IAAI,UAAU,EAAE,CAAC;oBACpC,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;oBAClC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAC5C,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EACrC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CACpC,CAAC;gBACJ,CAAC;gBAED,oBAAoB,GAAG,SAAS,CAAC;oBAC/B,oBAAoB;oBACpB,gBAAgB;iBACjB,CAAC,CAAC;gBAEH,IAAI,YAAY,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,EAAE,CAAC;oBACtD,MAAM,wBAAwB,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;oBACtE,oBAAoB,GAAG,SAAS,CAAC;wBAC/B,oBAAoB;wBACpB,wBAAwB;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,qCAAqC,GAAG,KAAK,CAAC;QAClD,IACE,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC;YAC3B,iBAAiB;YACjB,iBAAiB,CAAC,QAAQ;YAC1B,CAAC,gBAAgB,CAAC,cAAc;YAChC,CAAC,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC,EAC/B,CAAC;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACvE,IAAI,4BAA4B,GAAY,KAAK,CAAC;YAElD,IAAI,QAAQ,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACtC,4BAA4B,GAAG,IAAI,CAAC,4BAA4B,CAC9D,UAAU,EACV,QAAQ,EACR,cAAc,CACf,CAAC;YACJ,CAAC;YAED,IAAI,oBAAoB,IAAI,4BAA4B,EAAE,CAAC;gBACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAClD,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EACrC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CACpC,CAAC;gBAEF,oBAAoB,GAAG,SAAS,CAAC;oBAC/B,gBAAgB;oBAChB,oBAAoB;iBACrB,CAAC,CAAC;gBACH,qCAAqC,GAAG,IAAI,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,IACE,UAAU;YACV,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,mBAAmB;YACvD,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC;YAC7B,UAAU,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EACvC,CAAC;YACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CACjD,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,UAAU,EAAE;gBACjD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB;gBAC5C,YAAY,CAAC,UAAU;aACxB,CAAC,EACF,IAAI,CAAC,SAAS,CACf,CAAC;YAEF,oBAAoB,GAAG,SAAS,CAAC;gBAC/B,oBAAoB;gBACpB,gBAAgB;aACjB,CAAC,CAAC;QACL,CAAC;QAED,IACE,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,mBAAmB;YACvD,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC;YAC5B,UAAU;YACV,mGAAmG;YACnG,CAAC,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,cAAc,CAAC,EAC7D,CAAC;YACD,MAAM,wBAAwB,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACtE,oBAAoB,GAAG,SAAS,CAAC;gBAC/B,oBAAoB;gBACpB,wBAAwB;aACzB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,oBAAoB,CAC9B,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,CAAC,OAAO,EACpB,IAAI,EACJ,kBAAkB,EAClB,0BAA0B,CACxB,GAAG,UAAU,IAAI,SAAS,IAAI,iBAAiB,EAAE,CAClD,EACD,qCAAqC,CACtC,CAAC;QACJ,CAAC;QAED,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAEO,qBAAqB,CAC3B,QAAgB,EAChB,iBAAyC,EACzC,qBAAqB,GAAG,KAAK;QAE7B,IAAI,iBAAiB,EAAE,OAAO,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,qBAAqB;gBACpC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAC5B,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAClC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,CACnE;gBACH,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;YAEvC,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAC/C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,EAClE,QAAQ,EACR,qBAAqB;gBACnB,CAAC,CAAC,YAAI,CAAC,gEAAgE,CAAC,IAAI;gBAC5E,CAAC,CAAC,YAAI,CAAC,2DAA2D,EAAE,IAAI;YAC1E,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9B,CAAC;YAEF,OAAO,SAAS,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,4BAA4B,CAClC,UAAuB,EACvB,IAAiB,EACjB,cAAuC;QAEvC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACtC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACxB,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;oBACnC,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;wBACzB,KAAK,GAAG,iBAAiB,CAAC;oBAC5B,CAAC;oBACD,iBAAiB,EAAE,CAAC;gBACtB,CAAC,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAE/C,OAAO,gBAAgB,CAAC,cAAc,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,2BAA2B,CACjC,UAAuB,EACvB,IAAiB,EACjB,cAAuC;QAEvC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBACxB,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;wBAC1C,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;4BACzB,KAAK,GAAG,iBAAiB,CAAC;wBAC5B,CAAC;wBACD,iBAAiB,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAE/C,OAAO,gBAAgB,CAAC,cAAc,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,gCAAgC,CACtC,UAAuB,EACvB,IAAiB,EACjB,cAAuC,EACvC,kBAA0B;QAE1B,MAAM,gCAAgC,GAAa,EAAE,CAAC;QAEtD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACjC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACnC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC5B,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;wBAC9C,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;4BACzB,KAAK,GAAG,iBAAiB,CAAC;wBAC5B,CAAC;wBACD,iBAAiB,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,OAAO,CACL,cAAc,CAAC,WAAW,CACxB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,CAC5B,aAAa,CAAC,cAAc,KAAK,IAAI;YACrC,gCAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAChD,GAAG,KAAK,CAAC,CAAC;YACR,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,GAAG,EACT,CAAC,CAAC,CACH,KAAK,kBAAkB,CACzB,CAAC;IACJ,CAAC;IAEO,mCAAmC,CACzC,UAAuB,EACvB,IAAiB,EACjB,cAAuC;QAEvC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBACxB,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;wBAC1C,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;4BACzB,KAAK,GAAG,iBAAiB,CAAC;wBAC5B,CAAC;wBACD,iBAAiB,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAE/C,OAAO,gBAAgB,CAAC,cAAc,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,uCAAuC,CAC7C,UAAuB,EACvB,IAAiB,EACjB,cAAuC;QAEvC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBACxB,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;wBAC1C,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;4BACzB,KAAK,GAAG,iBAAiB,CAAC;wBAC5B,CAAC;wBACD,iBAAiB,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAE/C,OAAO,CAAC,gBAAgB,CAAC,cAAc,IAAI,gBAAgB,CAAC,WAAW,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gCAAgC,CACtC,UAAuB,EACvB,IAAiB,EACjB,cAAuC;QAEvC,OAAO,IAAI,CAAC,aAAa;aACtB,GAAG,CAAC,KAAK,CAAC,EAAE;YACX,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACxB,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;oBACnC,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;wBACzB,KAAK,GAAG,iBAAiB,CAAC;oBAC5B,CAAC;oBACD,iBAAiB,EAAE,CAAC;gBACtB,CAAC,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAE/C,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC;QAC1C,CAAC,CAAC;aACD,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAEO,4BAA4B,CAClC,UAAuB,EACvB,IAAiB,EACjB,cAAuC;QAEvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,aAAa;aACtB,GAAG,CAAC,KAAK,CAAC,EAAE;YACX,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACxB,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;oBACnC,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;wBACzB,KAAK,GAAG,iBAAiB,CAAC;oBAC5B,CAAC;oBACD,iBAAiB,EAAE,CAAC;gBACtB,CAAC,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAE/C,OAAO,gBAAgB,CAAC,cAAc,CAAC;QACzC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,kCAAkC,CACxC,UAAuB,EACvB,IAAiB,EACjB,cAAuC;QAEvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,aAAa;aACtB,GAAG,CAAC,KAAK,CAAC,EAAE;YACX,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACxB,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;oBACnC,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;wBACzB,KAAK,GAAG,iBAAiB,CAAC;oBAC5B,CAAC;oBACD,iBAAiB,EAAE,CAAC;gBACtB,CAAC,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAE/C,OAAO,gBAAgB,CAAC,cAAc,CAAC;QACzC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEO,oCAAoC,CAC1C,UAAuB,EACvB,UAAkB,EAClB,IAAiB;QAEjB,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,MAAM,WAAW,GACf,CAAC,UAAU,IAAI,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAEnE,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACtE,CAAC;IAEO,0BAA0B,CAChC,UAAuB,EACvB,IAAiB,EACjB,cAAuC,EACvC,UAAkB,EAClB,SAAiB;QAEjB,IAAI,IAAI,GAAG,YAAI,CAAC,qDAAqD,CAAC,CAAC,KAAK;QAE5E,MAAM,UAAU,GACd,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAElE,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,QAAQ,GACZ,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CACpC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAClD,CAAC;YACJ,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC;YACjD,MAAM,wBAAwB,GAAG,iBAAiB;iBAC/C,GAAG,CAAC,KAAK,CAAC,EAAE;gBACX,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,IAAI,iBAAiB,GAAG,CAAC,CAAC;gBAC1B,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACnD,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;oBACnC,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;wBACzB,KAAK,GAAG,iBAAiB,CAAC;oBAC5B,CAAC;oBACD,iBAAiB,EAAE,CAAC;gBACtB,CAAC,CAAC,CACH,CAAC;gBAEF,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBAE/C,OAAO,CACL,gBAAgB,CAAC,cAAc,IAAI,CAAC,gBAAgB,CAAC,WAAW,CACjE,CAAC;YACJ,CAAC,CAAC;iBACD,QAAQ,CAAC,IAAI,CAAC,CAAC;YAElB,MAAM,YAAY,GAAG,SAAS,IAAI,CAAC,wBAAwB,CAAC;YAE5D,IAAI,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC/B,IAAI,GAAG,YAAI,CAAC,gDAAgD,CAAC,CAAC,IAAI;YACpE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE/C,IAAI,SAAS,EAAE,CAAC;gBACd,IACE,IAAI,CAAC,gCAAgC,CACnC,UAAU,EACV,IAAI,EACJ,cAAc,CACf,EACD,CAAC;oBACD,IAAI,GAAG,YAAI,CAAC,+CAA+C,CAAC,CAAC,IAAI;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAES,uBAAuB,CAC/B,MAAoE;QAEpE,MAAM,EACJ,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,IAAI,GACL,GAAG,MAAM,CAAC;QACX,MAAM,UAAU,GACd,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,MAAM,WAAW,GACf,CAAC,UAAU,IAAI,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAEnE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAE/B,MAAM,sBAAsB,GAAG,IAAI,CAAC,oCAAoC,CACtE,UAAU,EACV,UAAU,EACV,IAAI,CACL,CAAC;QAEF,MAAM,gCAAgC,GACpC,IAAI,CAAC,gCAAgC,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAE1E,MAAM,wBAAwB,GAC5B,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC;YAC5B,gCAAgC;YAChC,CAAC,UAAU;YACX,iBAAiB,EAAE,OAAO,CAAC;QAE7B,IAAI,YAAY,GAAG,aAAa,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE;YACvC,OAAO,SAAS,CAAC;gBACf,GAAG;gBACH,IAAI,CAAC,+BAA+B,CAClC,UAAU,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,qBAAqB,EACrB,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,EAC7B,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,EAC5B,eAAe,EACf,iBAAiB,EACjB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAC7B,sBAAsB,CACvB;aACF,CAAC,CAAC;QACL,CAAC,EACD,IAAI,CACL,CAAC;QAEF,IAAI,wBAAwB,EAAE,CAAC;YAC7B,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,OAAO,wBAAwB;gBAC7B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,iBAAiB,CAAC;gBAC7D,CAAC,CAAC,YAAY,CAAC;QACnB,CAAC;QAED,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,qBAAqB,GAAG,IAAI,CAAC,8BAA8B,CAC/D,UAAU,EACV,UAAU,EACV,cAAc,EACd,IAAI,EACJ,YAAY,EACZ,IAAI,CAAC,0BAA0B,CAC7B,UAAU,EACV,IAAI,EACJ,cAAc,EACd,UAAU,EACV,SAAS,CACV,CACF,CAAC;YAEF,OAAO,wBAAwB;gBAC7B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CACxB,qBAAqB,EACrB,iBAAiB,EACjB,IAAI,CACL;gBACH,CAAC,CAAC,qBAAqB,CAAC;QAC5B,CAAC;QAED,OAAO,wBAAwB;YAC7B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,iBAAiB,CAAC;YAC7D,CAAC,CAAC,YAAY,CAAC;IACnB,CAAC;IAES,wBAAwB,CAChC,UAAuB,EACvB,cAAuC,EACvC,KAAmB,EACnB,UAAkB,EAClB,KAAsD,EACtD,MAAc,EACd,iBAAyC;QAEzC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAEnD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAExB,MAAM,6BAA6B,GAAG,EAAE,CAAC;QACzC,MAAM,kBAAkB,GAAG,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC3B,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAC3B,SAAS,CAAC;YACR,OAAO;YACP,IAAI,CAAC,uBAAuB,CAAC;gBAC3B,UAAU;gBACV,cAAc;gBACd,UAAU;gBACV,SAAS;gBACT,KAAK;gBACL,MAAM;gBACN,qBAAqB,EAAE,6BAA6B;gBACpD,aAAa,EAAE,kBAAkB;gBACjC,eAAe;gBACf,iBAAiB;gBACjB,IAAI;gBACJ,KAAK,EAAE,CAAC;aACT,CAAC;SACH,CAAC,EACJ,IAAI,CACL,CAAC;QAEF,MAAM,qCAAqC,GACzC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YACxB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;YACzC,CAAC,IAAI,CAAC,oCAAoC,CACxC,UAAU,EACV,UAAU,EACV,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACf,CAAC;QAEJ,IAAI,UAAU,IAAI,CAAC,qCAAqC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,oBAAoB,CAC9B,UAAU,EACV,cAAc,EACd,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EACd,6CAAiC,EACjC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC9C,MAAM,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC9D,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,yBAAyB,CAC/B,UAAuB,EACvB,cAAuC;QAEvC,IAAI,CAAC,IAAA,oBAAY,EAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,4BAA4B,GAAG,IAAI,CAAC,4BAA4B,CACpE,UAAU,EACV,SAAS,EACT,cAAc,CACf,CAAC;YAEF,OAAO,4BAA4B,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,2BAA2B,CACjC,UAAuB,EACvB,cAA2D;QAE3D,IAAI,CAAC,IAAA,oBAAY,EAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrD,MAAM,2BAA2B,GAAG,IAAI,CAAC,2BAA2B,CAClE,UAAU,EACV,QAAQ,EACR,cAAc,CACf,CAAC;YAEF,OAAO,2BAA2B,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAmB,CAAC,iBAAS,CAAC,GAAG,CAAC,CAAC;IACvE,CAAC;IAEM,aAAa,CAClB,UAAuB,EACvB,cAAuC,EACvC,MAAc,EACd,iBAAyC;QAEzC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAE5E,MAAM,WAAW,GACf,iBAAiB,EAAE,OAAO,IAAI,IAAA,oBAAY,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,aAAa,GACjB,iBAAiB,EAAE,QAAQ,IAAI,IAAA,oBAAY,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpE,MAAM,iBAAiB,GAAG,IAAA,oBAAY,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,CAC1D,UAAU,EACV,cAAc,CACf,CAAC;QACF,MAAM,uBAAuB,GAAG,IAAI,CAAC,2BAA2B,CAC9D,UAAU,EACV,cAAc,CACf,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAC3B,UAAU,EACV,cAAc,EACd,iBAAiB,CAClB,CAAC;QAEF,IAAI,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAC7C,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAC9B,SAAS,CAAC;YACR,QAAQ;YACR,IAAI,CAAC,wBAAwB,CAC3B,UAAU,EACV,cAAc,EACd,KAAK,EACL,UAAU,EACV,KAAK,EACL,MAAM,EACN,iBAAiB,CAClB;SACF,CAAC,EACJ,IAAI,CACL,CAAC;QAEF,IAAI,UAAU,IAAI,CAAC,WAAW,IAAI,aAAa,CAAC,EAAE,CAAC;YACjD,MAAM,cAAc,GAClB,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxD,aAAa,GAAG,IAAI,CAAC,8BAA8B,CACjD,UAAU,EACV,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAC/B,cAAc,EACd,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EACrD,aAAa,EACb,WAAW;gBACT,CAAC,CAAC,YAAI,CAAC,qDAAqD,CAAC,IAAI;gBACjE,CAAC,CAAC,YAAI,CAAC,0DAA0D,EAAE,IAAI;YACzE,IAAI,CACL,CAAC;QACJ,CAAC;QAED,WAAW;QACX,IAAI,WAAW,IAAI,qBAAqB,EAAE,CAAC;YACzC,IAAI,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EACpD,iBAAiB,CAAC,OAAQ,CAAC,QAAQ,EACnC,YAAI,CAAC,2DAA2D,CACjE,CAAC;YAEF,IAAI,CAAC,CAAC,UAAU,IAAI,WAAW,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC;oBAC3D,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,IAAI,CAAC,aAAa;yBACf,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;wBACpB,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC;oBAC9C,CAAC,CAAC;yBACD,MAAM,CAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;wBAC1B,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC;wBAClB,OAAO,GAAG,CAAC;oBACb,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEZ,eAAe,GAAG,YAAY,CAC5B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAC/B;oBACE,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC;oBACvD,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;oBACtC,eAAe;iBAChB,CACF,CAAC;YACJ,CAAC;YAED,aAAa,GAAG,SAAS,CAAC,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,iDAAiD;QACjD,IACE,aAAa;YACb,uBAAuB;YACvB,CAAC,WAAW,IAAI,UAAU,CAAC,EAC3B,CAAC;YACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAClD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EACpD,iBAAiB,CAAC,QAAS,CAAC,QAAQ,CACrC,CAAC;YACF,aAAa,GAAG,SAAS,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,0EAA0E;QAC1E,IACE,iBAAiB;YACjB,uBAAuB;YACvB,CAAC,WAAW,IAAI,UAAU,CAAC,EAC3B,CAAC;YACD,MAAM,wBAAwB,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACtE,aAAa,GAAG,SAAS,CAAC,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,CAAC,WAAW,IAAI,aAAa,CAAC,IAAI,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;YAClE,aAAa,GAAG,IAAI,CAAC,oBAAoB,CACvC,UAAU,EACV,cAAc,EACd,aAAa,EACb,wCAA4B,EAC5B,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAChC,6CAAiC,EACjC,KAAK,CACN,CAAC;QACJ,CAAC;QAED,OAAO,YAAY,CACjB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAC7B;YACE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,kBAAkB;YAC/C,UAAU,CACR,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,2BAAe,CAAC,EAAE,wDAAwD;YACjH,EAAE,CACH;YACD,aAAa,EAAE,WAAW;SAC3B,CACF,CAAC;IACJ,CAAC;CACF;AA1/CD,8DA0/CC"}
1
+ {"version":3,"file":"Executor02BytecodeBuilder.js","sourceRoot":"","sources":["../../src/executor/Executor02BytecodeBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { SimpleFetchSDK, AddressOrSymbol } from '@paraswap/sdk';
2
+ import { IDexHelper } from '../dex-helper';
3
+ import { PricingHelper } from '../pricing-helper';
4
+ import { DexAdapterService } from '../dex';
5
+ import { GenericSwapTransactionBuilder } from '../generic-swap-transaction-builder';
6
+ import { Address, OptimalRate, Token, TransferFeeParams, TxObject } from '../types';
7
+ import { ContractMethod } from '../constants';
8
+ import { SwapSide } from '@paraswap/core/build/constants';
9
+ import { IParaSwapSDK } from './local-paraswap-sdk';
10
+ export declare class APIParaswapSDK implements IParaSwapSDK {
11
+ protected network: number;
12
+ paraSwap: SimpleFetchSDK;
13
+ dexKeys: string[];
14
+ dexHelper: IDexHelper;
15
+ pricingHelper: PricingHelper;
16
+ transactionBuilder: GenericSwapTransactionBuilder;
17
+ dexAdapterService: DexAdapterService;
18
+ constructor(network: number, dexKeys: string | string[], rpcUrl?: string);
19
+ initializePricing(): Promise<void>;
20
+ getPrices(from: Token, to: Token, amount: bigint, side: SwapSide, contractMethod: ContractMethod, _poolIdentifiers?: {
21
+ [key: string]: string[] | null;
22
+ } | null, transferFees?: TransferFeeParams, forceRoute?: AddressOrSymbol[]): Promise<OptimalRate>;
23
+ buildTransaction(priceRoute: OptimalRate, _minMaxAmount: BigInt, userAddress: Address): Promise<TxObject>;
24
+ releaseResources(): Promise<void>;
25
+ }