@deserialize/multi-vm-wallet 1.1.36 → 1.1.42

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.
package/dist/evm/evm.d.ts CHANGED
@@ -7,7 +7,6 @@ import { ChainWallet } from "../IChainWallet";
7
7
  import { Balance, ChainWalletConfig, TokenInfo, TransactionResult } from "../types";
8
8
  import { VM } from "../vm";
9
9
  import { JsonRpcProvider, Wallet } from "ethers";
10
- export declare const createEvmVmPrivateKey: (phrase: string) => void;
11
10
  export declare class EVMVM extends VM<string, string, JsonRpcProvider> {
12
11
  derivationPath: string;
13
12
  constructor(seed: string);
@@ -31,6 +30,9 @@ export declare class EVMChainWallet extends ChainWallet<string, string, JsonRpcP
31
30
  transferToken(tokenAddress: TokenInfo, to: string, amount: number): Promise<TransactionResult>;
32
31
  swap(tokenAddress: TokenInfo, to: string, amount: number, slippage?: number): Promise<TransactionResult>;
33
32
  performCompleteSwap(tokenIn: TokenInfo, tokenOut: TokenInfo, amount: number, slippage?: number, recipient?: string, deadline?: number): Promise<TransactionResult>;
33
+ private performDebonkSwap;
34
+ private fail;
35
+ private performKyberSwap;
34
36
  getSwapQuote(tokenIn: TokenInfo, tokenOut: TokenInfo, amount: number): Promise<{
35
37
  amountOut: string;
36
38
  priceImpact: string;
package/dist/evm/evm.js CHANGED
@@ -8,15 +8,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  return (mod && mod.__esModule) ? mod : { "default": mod };
9
9
  };
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.EVMChainWallet = exports.EVMVM = exports.createEvmVmPrivateKey = void 0;
11
+ exports.EVMChainWallet = exports.EVMVM = void 0;
12
12
  const bip32_1 = require("../bip32");
13
13
  const IChainWallet_1 = require("../IChainWallet");
14
14
  const vm_1 = require("../vm");
15
15
  const ethers_1 = require("ethers");
16
16
  const bn_js_1 = __importDefault(require("bn.js"));
17
17
  const utils_1 = require("./utils");
18
- const createEvmVmPrivateKey = (phrase) => { };
19
- exports.createEvmVmPrivateKey = createEvmVmPrivateKey;
20
18
  class EVMVM extends vm_1.VM {
21
19
  constructor(seed) {
22
20
  super(seed, "EVM");
@@ -113,6 +111,153 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
113
111
  amount: amount,
114
112
  slippage: `${slippage / 100}%`
115
113
  });
114
+ // Check if this is a 0G chain that should use Debonk
115
+ if ((0, utils_1.isChainSupportedByDebonk)(chainId)) {
116
+ console.log('Using Debonk API for 0G chain swap');
117
+ return await this.performDebonkSwap(tokenIn, tokenOut, amount, slippage, recipient, deadline);
118
+ }
119
+ // Otherwise use Kyber (existing flow)
120
+ console.log('Using KyberSwap for non-0G chain swap');
121
+ return await this.performKyberSwap(tokenIn, tokenOut, amount, slippage, recipient, deadline);
122
+ }
123
+ catch (error) {
124
+ console.error('Swap failed:', error);
125
+ throw new Error(`Swap failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
126
+ }
127
+ }
128
+ async performDebonkSwap(tokenIn, tokenOut, amount, slippage = 50, // bps (e.g., 50 = 0.5%)
129
+ recipient, deadline) {
130
+ try {
131
+ const BASE_URL = 'https://evm-api.deserialize.xyz';
132
+ const tokenInAddress = tokenIn.address;
133
+ const tokenOutAddress = tokenOut.address;
134
+ // Convert amount to wei (multiply by 10^18 for 18 decimal tokens)
135
+ const amountInWei = (amount * Math.pow(10, tokenIn.decimals || 18)).toString();
136
+ console.log("amountInWei", amountInWei);
137
+ // Convert slippage from bps to percentage (e.g., 50 bps -> 0.5%)
138
+ const slippagePercentage = slippage / 100;
139
+ console.log("Debonk API swap params:", {
140
+ tokenA: tokenInAddress,
141
+ tokenB: tokenOutAddress,
142
+ amountIn: amount,
143
+ amountInWei: amountInWei,
144
+ slippage: slippagePercentage,
145
+ });
146
+ // Step 1: Get quote from API
147
+ console.log("Getting quote from Debonk API...");
148
+ const quotePayload = {
149
+ tokenA: tokenInAddress,
150
+ tokenB: tokenOutAddress,
151
+ amountIn: amountInWei, // Use wei amount
152
+ dexId: "ZERO_G"
153
+ };
154
+ console.log("Quote request payload:", quotePayload);
155
+ const quoteResponse = await fetch(`${BASE_URL}/quote`, {
156
+ method: 'POST',
157
+ headers: {
158
+ 'Content-Type': 'application/json',
159
+ },
160
+ body: JSON.stringify(quotePayload)
161
+ });
162
+ if (!quoteResponse.ok) {
163
+ const errorText = await quoteResponse.text();
164
+ console.error("Quote API error response:", errorText);
165
+ return this.fail(`Quote API failed: ${quoteResponse.status} ${errorText}`);
166
+ }
167
+ const quote = await quoteResponse.json();
168
+ console.log("Quote received:", JSON.stringify(quote, null, 2));
169
+ // Step 2: Fix the quote dexId for swap API (it expects "ALL")
170
+ const modifiedQuote = {
171
+ ...quote,
172
+ dexId: "ALL" // Change from "ZERO_G" to "ALL" as required by swap API
173
+ };
174
+ console.log("Modified quote for swap API:", JSON.stringify(modifiedQuote, null, 2));
175
+ // Step 3: Get wallet address
176
+ const walletAddress = await this.getWallet().getAddress();
177
+ console.log("Wallet address:", walletAddress);
178
+ // Step 4: Call swap API with modified quote
179
+ console.log("Calling swap API...");
180
+ const swapPayload = {
181
+ publicKey: walletAddress,
182
+ slippage: slippagePercentage,
183
+ quote: modifiedQuote
184
+ };
185
+ console.log("Swap request payload:", JSON.stringify(swapPayload, null, 2));
186
+ const swapResponse = await fetch(`${BASE_URL}/swap`, {
187
+ method: 'POST',
188
+ headers: {
189
+ 'Content-Type': 'application/json',
190
+ },
191
+ body: JSON.stringify(swapPayload)
192
+ });
193
+ if (!swapResponse.ok) {
194
+ const errorText = await swapResponse.text();
195
+ console.error("Swap API error response:", errorText);
196
+ return this.fail(`Swap API failed: ${swapResponse.status} ${errorText}`);
197
+ }
198
+ const swapData = await swapResponse.json();
199
+ console.log("Swap API response:", JSON.stringify(swapData, null, 2));
200
+ const wallet = this.getWallet();
201
+ let lastTxHash = '';
202
+ // Step 5: Execute each transaction sequentially
203
+ console.log(`Executing ${swapData.transactions.length} transactions...`);
204
+ for (let i = 0; i < swapData.transactions.length; i++) {
205
+ const transaction = swapData.transactions[i];
206
+ console.log(`Executing transaction ${i + 1} of ${swapData.transactions.length}`);
207
+ // Prepare transaction object
208
+ const txRequest = {
209
+ to: transaction.to,
210
+ data: transaction.data,
211
+ value: transaction.value,
212
+ // gasPrice: 70000000000,
213
+ // gasLimit: 70000, // Increase significantly
214
+ };
215
+ console.log("Prepared transaction request:", txRequest);
216
+ console.log(`Transaction ${i + 1} request:`, txRequest);
217
+ try {
218
+ const txResponse = await wallet.sendTransaction(txRequest);
219
+ console.log(`Transaction ${i + 1} sent:`, txResponse.hash);
220
+ // Wait for confirmation
221
+ const receipt = await txResponse.wait();
222
+ if (!receipt) {
223
+ return this.fail(`Transaction ${i + 1} failed - no receipt received`);
224
+ }
225
+ const txHash = receipt.hash || txResponse.hash;
226
+ lastTxHash = txHash;
227
+ console.log(`Transaction ${i + 1} confirmed:`, {
228
+ hash: txHash,
229
+ blockNumber: receipt.blockNumber,
230
+ gasUsed: receipt.gasUsed?.toString()
231
+ });
232
+ }
233
+ catch (txError) {
234
+ console.error(`Transaction ${i + 1} failed:`, txError);
235
+ return this.fail(`Transaction ${i + 1} failed: ${txError?.message ?? String(txError)}`);
236
+ }
237
+ }
238
+ console.log("All transactions completed successfully");
239
+ return {
240
+ success: true,
241
+ hash: lastTxHash // Return the hash of the last transaction
242
+ };
243
+ }
244
+ catch (error) {
245
+ console.error("Debonk API swap error:", error);
246
+ return this.fail(`Debonk API swap failed: ${error?.message ?? String(error)}`);
247
+ }
248
+ }
249
+ // Helper method for EVMChainWallet class
250
+ fail(message) {
251
+ return {
252
+ success: false,
253
+ hash: "",
254
+ error: message
255
+ };
256
+ }
257
+ async performKyberSwap(tokenIn, tokenOut, amount, slippage = 50, recipient, deadline) {
258
+ try {
259
+ const wallet = this.getWallet();
260
+ const chainId = (await this.connection.getNetwork()).chainId.toString();
116
261
  if (!(0, utils_1.isChainSupportedByKyber)(chainId)) {
117
262
  throw new Error(`Chain ${chainId} is not supported by KyberSwap`);
118
263
  }
@@ -129,7 +274,7 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
129
274
  tokenInDecimals = tokenBalance.decimal;
130
275
  }
131
276
  const { tokenInAddress, tokenOutAddress, formattedAmountIn } = (0, utils_1.prepareSwapParams)(tokenIn.address, tokenOut.address, amount.toString(), tokenInDecimals, isNativeIn, isNativeOut);
132
- console.log('Swap parameters:', {
277
+ console.log('Kyber swap parameters:', {
133
278
  tokenInAddress,
134
279
  tokenOutAddress,
135
280
  formattedAmountIn,
@@ -160,7 +305,7 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
160
305
  deadline: deadline ? Math.floor(Date.now() / 1000) + deadline : Math.floor(Date.now() / 1000) + 1200, // 20 minutes default
161
306
  clientId: 'EVMChainWallet'
162
307
  });
163
- console.log('Swap transaction prepared:', {
308
+ console.log('Kyber swap transaction prepared:', {
164
309
  to: swapTx.to,
165
310
  dataLength: swapTx.data?.length || 0,
166
311
  gasLimit: swapTx.gasLimit?.toString(),
@@ -189,20 +334,20 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
189
334
  gasLimit: swapTx.gasLimit
190
335
  }, this.config.confirmationNo || 1);
191
336
  if (result.success) {
192
- console.log(' Swap completed successfully:', {
337
+ console.log(' Kyber swap completed successfully:', {
193
338
  hash: result.hash,
194
339
  gasUsed: result.gasUsed?.toString(),
195
340
  blockNumber: result.blockNumber
196
341
  });
197
342
  }
198
343
  else {
199
- console.log(' Swap failed:', result);
344
+ console.log(' Kyber swap failed:', result);
200
345
  }
201
346
  return result;
202
347
  }
203
348
  catch (error) {
204
- console.error('Swap failed:', error);
205
- throw new Error(`Swap failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
349
+ console.error('Kyber swap failed:', error);
350
+ throw new Error(`Kyber swap failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
206
351
  }
207
352
  }
208
353
  async getSwapQuote(tokenIn, tokenOut, amount) {
@@ -1 +1 @@
1
- {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../utils/evm/evm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../utils/evm/evm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export interface SwapParams {
2
+ privateKey: string;
3
+ tokenIn: string;
4
+ tokenOut: string;
5
+ tokenInDecimal: number;
6
+ amountIn: string;
7
+ adminAddress: string;
8
+ routerAddress: string;
9
+ minAmountOut: string;
10
+ rpcUrl: string;
11
+ feeTier?: number;
12
+ }
13
+ export declare const quote: (quoterAddress: string, rpc: string, tokenIn: string, tokenOut: string, amountIn: string, fee: number, sqrtPriceLimitX96?: string) => Promise<any>;
14
+ export declare const quickSwapSetup: (params: SwapParams) => Promise<{
15
+ success: boolean;
16
+ txHash: any;
17
+ amountOut: any;
18
+ error?: undefined;
19
+ } | {
20
+ success: boolean;
21
+ error: string;
22
+ txHash?: undefined;
23
+ amountOut?: undefined;
24
+ }>;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.quickSwapSetup = exports.quote = void 0;
4
+ const ethers_1 = require("ethers");
5
+ // Simplified ABI for Uniswap V3 Router
6
+ const ROUTER_ABI = [
7
+ 'function exactInputSingle((address tokenIn, address tokenIn, uint24 fee, address recipient, uint256 deadline, uint256 amountIn, uint256 amountOutMinimum, uint160 sqrtPriceLimitX96)) external payable returns (uint256 amountOut)',
8
+ 'function exactOutputSingle((address tokenIn, address tokenIn, uint24 fee, address recipient, uint256 deadline, uint256 amountOut, uint256 amountInMaximum, uint160 sqrtPriceLimitX96)) external payable returns (uint256 amountIn)'
9
+ ];
10
+ // ERC20 ABI (simplified)
11
+ const ERC20_ABI = [
12
+ 'function approve(address spender, uint256 amount) external returns (bool)',
13
+ 'function allowance(address owner, address spender) external view returns (uint256)',
14
+ 'function balanceOf(address account) external view returns (uint256)'
15
+ ];
16
+ const quote = async (quoterAddress, rpc, tokenIn, tokenOut, amountIn, fee, sqrtPriceLimitX96 = "0") => {
17
+ const provider = new ethers_1.ethers.JsonRpcProvider(rpc);
18
+ const viewABI = [
19
+ {
20
+ inputs: [
21
+ { internalType: "address", name: "tokenIn", type: "address" },
22
+ { internalType: "address", name: "tokenOut", type: "address" },
23
+ { internalType: "uint24", name: "fee", type: "uint24" },
24
+ { internalType: "uint256", name: "amountIn", type: "uint256" },
25
+ { internalType: "uint160", name: "sqrtPriceLimitX96", type: "uint160" },
26
+ ],
27
+ name: "quoteExactInputSingle",
28
+ outputs: [{ internalType: "uint256", name: "amountOut", type: "uint256" }],
29
+ stateMutability: "view",
30
+ type: "function",
31
+ },
32
+ ];
33
+ const quoter = new ethers_1.ethers.Contract(quoterAddress, viewABI, provider);
34
+ try {
35
+ const amountOut = await quoter.quoteExactInputSingle(tokenIn, tokenOut, fee, amountIn, sqrtPriceLimitX96);
36
+ console.log("Amount Out:", amountOut.toString());
37
+ return amountOut.toString();
38
+ }
39
+ catch (err) {
40
+ console.error("Quote failed:", err);
41
+ }
42
+ };
43
+ exports.quote = quote;
44
+ const quickSwapSetup = async (params) => {
45
+ const { privateKey, tokenIn, tokenOut, amountIn, tokenInDecimal, adminAddress, routerAddress, rpcUrl, minAmountOut, feeTier = 100 // 0.01% fee tier
46
+ } = params;
47
+ try {
48
+ // Setup provider and wallet
49
+ const provider = new ethers_1.ethers.JsonRpcProvider(rpcUrl);
50
+ const wallet = new ethers_1.ethers.Wallet(privateKey, provider);
51
+ // Create contract instances
52
+ const router = new ethers_1.ethers.Contract(routerAddress, ROUTER_ABI, wallet);
53
+ const tokenInContract = new ethers_1.ethers.Contract(tokenIn, ERC20_ABI, wallet);
54
+ // Convert amount to wei
55
+ const amountInWei = ethers_1.ethers.parseUnits(amountIn, tokenInDecimal); // Assuming 18 decimals
56
+ // Check and approve token allowance
57
+ const allowance = await tokenInContract.allowance(wallet.address, routerAddress);
58
+ if (allowance < amountInWei) {
59
+ console.log('Approving tokens...');
60
+ const approveTx = await tokenInContract.approve(routerAddress, amountInWei);
61
+ await approveTx.wait();
62
+ console.log('Approval confirmed');
63
+ }
64
+ // Calculate amount with fee (0.01% to admin)
65
+ const feeAmount = amountInWei * BigInt(1) / BigInt(10000); // 0.01%
66
+ const amountAfterFee = amountInWei - feeAmount;
67
+ // Transfer fee to admin
68
+ if (feeAmount > 0) {
69
+ console.log(`Transferring ${ethers_1.ethers.formatUnits(feeAmount, tokenIn)} fee to admin`);
70
+ const feeTransferTx = await tokenInContract.transfer(adminAddress, feeAmount);
71
+ await feeTransferTx.wait();
72
+ }
73
+ // Set deadline (10 minutes from now)
74
+ const deadline = Math.floor(Date.now() / 1000) + 600;
75
+ // Prepare swap parameters
76
+ const swapParams = {
77
+ tokenIn: tokenIn,
78
+ tokenOut: tokenOut,
79
+ fee: feeTier,
80
+ recipient: wallet.address,
81
+ deadline: deadline,
82
+ amountIn: amountAfterFee,
83
+ amountOutMinimum: minAmountOut,
84
+ sqrtPriceLimitX96: 0
85
+ };
86
+ console.log('Executing swap...');
87
+ // Execute swap
88
+ const swapTx = await router.exactInputSingle(swapParams);
89
+ const receipt = await swapTx.wait();
90
+ console.log('Swap successful!');
91
+ console.log('Transaction hash:', receipt.hash);
92
+ // Check final balances
93
+ const tokenOutContract = new ethers_1.ethers.Contract(tokenOut, ERC20_ABI, wallet);
94
+ const finalBalance = await tokenOutContract.balanceOf(wallet.address);
95
+ console.log(`Final ${tokenOut} balance:`, ethers_1.ethers.formatUnits(finalBalance, 18));
96
+ return {
97
+ success: true,
98
+ txHash: receipt.hash,
99
+ amountOut: finalBalance.toString()
100
+ };
101
+ }
102
+ catch (error) {
103
+ console.error('Swap failed:', error);
104
+ return {
105
+ success: false,
106
+ error: error instanceof Error ? error.message : 'Unknown error'
107
+ };
108
+ }
109
+ };
110
+ exports.quickSwapSetup = quickSwapSetup;
111
+ //# sourceMappingURL=script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["../../utils/evm/script.ts"],"names":[],"mappings":";;;AAEA,mCAAgC;AAEhC,uCAAuC;AACvC,MAAM,UAAU,GAAG;IACjB,oOAAoO;IACpO,oOAAoO;CACrO,CAAC;AAEF,yBAAyB;AACzB,MAAM,SAAS,GAAG;IAChB,2EAA2E;IAC3E,oFAAoF;IACpF,qEAAqE;CACtE,CAAC;AAeK,MAAM,KAAK,GAAG,KAAK,EAAE,aAAoB,EAAC,GAAU,EAAC,OAAc,EAAE,QAAe,EAAE,QAAe,EAAE,GAAU,EAAC,iBAAiB,GAAC,GAAG,EAAE,EAAE;IAChJ,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAEjD,MAAM,OAAO,GAAG;QACd;YACE,MAAM,EAAE;gBACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;aACxE;YACD,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC1E,eAAe,EAAE,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAErE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAClD,OAAO,EACP,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,iBAAiB,CAClB,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAO,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;AACH,CAAC,CAAC;AAnCW,QAAA,KAAK,SAmChB;AAGK,MAAM,cAAc,GAAG,KAAK,EAAE,MAAkB,EAAE,EAAE;IACzD,MAAM,EACJ,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,aAAa,EACb,MAAM,EACN,YAAY,EAEZ,OAAO,GAAG,GAAG,CAAC,iBAAiB;MAChC,GAAG,MAAM,CAAC;IAEX,IAAI,CAAC;QACH,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEvD,4BAA4B;QAC5B,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,eAAe,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAExE,wBAAwB;QACxB,MAAM,WAAW,GAAG,eAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,uBAAuB;QAExF,oCAAoC;QACpC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAEjF,IAAI,SAAS,GAAG,WAAW,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAC5E,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC;QAED,6CAA6C;QAC7C,MAAM,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;QACnE,MAAM,cAAc,GAAG,WAAW,GAAG,SAAS,CAAC;QAE/C,wBAAwB;QACxB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,gBAAgB,eAAM,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YACnF,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAC9E,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QAED,qCAAqC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAErD,0BAA0B;QAC1B,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,OAAO;YACZ,SAAS,EAAE,MAAM,CAAC,OAAO;YACzB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,cAAc;YACxB,gBAAgB,EAAE,YAAY;YAC9B,iBAAiB,EAAE,CAAC;SACrB,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEjC,eAAe;QACf,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAE/C,uBAAuB;QACvB,MAAM,gBAAgB,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC1E,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEtE,OAAO,CAAC,GAAG,CAAC,SAAS,QAAQ,WAAW,EAAE,eAAM,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;QAEhF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,SAAS,EAAE,YAAY,CAAC,QAAQ,EAAE;SACnC,CAAC;IAEJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AA3FW,QAAA,cAAc,kBA2FzB"}
@@ -90,6 +90,9 @@ export interface KyberBuildResponse {
90
90
  routerAddress: string;
91
91
  };
92
92
  }
93
+ export declare const DESERIALIZED_SUPPORTED_CHAINS: {
94
+ [key: string]: string;
95
+ };
93
96
  interface KyberSwapParams {
94
97
  chainId: string;
95
98
  tokenIn: string;
@@ -204,6 +207,7 @@ export declare function getKyberSupportedChains(): {
204
207
  [key: string]: string;
205
208
  };
206
209
  export declare function isChainSupportedByKyber(chainId: string): boolean;
210
+ export declare function isChainSupportedByDebonk(chainId: string): boolean;
207
211
  export declare function getNativeTokenAddress(): string;
208
212
  export declare function formatAmountToWei(amount: string, decimals: number): string;
209
213
  export declare function formatAmountFromWei(amountWei: string, decimals: number): string;
@@ -212,4 +216,13 @@ export declare function prepareSwapParams(tokenIn: string, tokenOut: string, amo
212
216
  tokenOutAddress: string;
213
217
  formattedAmountIn: string;
214
218
  };
219
+ /**
220
+ * Normalize token address for Debonk
221
+ * Converts 'native' or variations to the standard 0xEeeee... address
222
+ */
223
+ /**
224
+ * Convert slippage from basis points to percentage for Debonk
225
+ * Input: 50 (0.5% in bps) -> Output: 0.5 (percentage)
226
+ */
227
+ export declare function convertSlippageForDebonk(slippageBps: number): number;
215
228
  export {};
package/dist/evm/utils.js CHANGED
@@ -3,16 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.safeApprove = exports.resetAllowance = exports.checkAndApprove = exports.approveTokenUnlimited = exports.approveToken = exports.isAllowanceSufficient = exports.checkAllowance = exports.estimateGas = exports.getGasPrices = exports.executeContractMethod = exports.sendERC20Token = exports.sendNativeToken = exports.signSendAndConfirm = exports.getTokenBalance = exports.getTokenInfo = exports.getNativeBalance = void 0;
6
+ exports.safeApprove = exports.resetAllowance = exports.checkAndApprove = exports.approveTokenUnlimited = exports.approveToken = exports.isAllowanceSufficient = exports.checkAllowance = exports.estimateGas = exports.getGasPrices = exports.executeContractMethod = exports.sendERC20Token = exports.sendNativeToken = exports.signSendAndConfirm = exports.getTokenBalance = exports.getTokenInfo = exports.getNativeBalance = exports.DESERIALIZED_SUPPORTED_CHAINS = void 0;
7
7
  exports.getKyberSwapRoute = getKyberSwapRoute;
8
8
  exports.buildKyberSwapTransaction = buildKyberSwapTransaction;
9
9
  exports.performSwap = performSwap;
10
10
  exports.getKyberSupportedChains = getKyberSupportedChains;
11
11
  exports.isChainSupportedByKyber = isChainSupportedByKyber;
12
+ exports.isChainSupportedByDebonk = isChainSupportedByDebonk;
12
13
  exports.getNativeTokenAddress = getNativeTokenAddress;
13
14
  exports.formatAmountToWei = formatAmountToWei;
14
15
  exports.formatAmountFromWei = formatAmountFromWei;
15
16
  exports.prepareSwapParams = prepareSwapParams;
17
+ exports.convertSlippageForDebonk = convertSlippageForDebonk;
16
18
  const ethers_1 = require("ethers");
17
19
  const bn_js_1 = __importDefault(require("bn.js"));
18
20
  const KYBER_BASE_URL = 'https://aggregator-api.kyberswap.com';
@@ -28,6 +30,9 @@ const KYBER_SUPPORTED_CHAINS = {
28
30
  '324': 'zksync',
29
31
  '59144': 'linea'
30
32
  };
33
+ exports.DESERIALIZED_SUPPORTED_CHAINS = {
34
+ '16661': '0gMainnet',
35
+ };
31
36
  // ERC-20 ABI
32
37
  const ERC20_ABI = [
33
38
  "function balanceOf(address owner) view returns (uint256)",
@@ -469,6 +474,9 @@ async function buildKyberSwapTransaction(chainId, routeSummary, sender, recipien
469
474
  }
470
475
  }
471
476
  async function performSwap(params) {
477
+ if (!KYBER_SUPPORTED_CHAINS[params.chainId]) {
478
+ throw new Error(`KyberSwap does not support chain ID: ${params.chainId}`);
479
+ }
472
480
  try {
473
481
  console.log('Starting KyberSwap aggregation...', {
474
482
  tokenIn: params.tokenIn,
@@ -554,6 +562,9 @@ function getKyberSupportedChains() {
554
562
  function isChainSupportedByKyber(chainId) {
555
563
  return chainId in KYBER_SUPPORTED_CHAINS;
556
564
  }
565
+ function isChainSupportedByDebonk(chainId) {
566
+ return chainId in exports.DESERIALIZED_SUPPORTED_CHAINS;
567
+ }
557
568
  function getNativeTokenAddress() {
558
569
  return '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
559
570
  }
@@ -579,7 +590,22 @@ function prepareSwapParams(tokenIn, tokenOut, amountIn, tokenInDecimals, isNativ
579
590
  formattedAmountIn
580
591
  };
581
592
  }
582
- //recent activity
583
- // token list with balance
584
- // discover tokens with balances
593
+ /**
594
+ * Normalize token address for Debonk
595
+ * Converts 'native' or variations to the standard 0xEeeee... address
596
+ */
597
+ // export function normalizeTokenAddressForDebonk(tokenAddress: string): string {
598
+ // if (tokenAddress === 'native' ||
599
+ // tokenAddress.toLowerCase() === '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee') {
600
+ // return getNativeTokenAddress();
601
+ // }
602
+ // return tokenAddress;
603
+ // }
604
+ /**
605
+ * Convert slippage from basis points to percentage for Debonk
606
+ * Input: 50 (0.5% in bps) -> Output: 0.5 (percentage)
607
+ */
608
+ function convertSlippageForDebonk(slippageBps) {
609
+ return slippageBps / 100;
610
+ }
585
611
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../utils/evm/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../utils/evm/utils.ts"],"names":[],"mappings":";;;;;;AA2oBA,8CAqCC;AAGD,8DAqDC;AAED,kCAwHC;AAED,0DAEC;AAED,0DAEC;AAED,4DAEC;AAED,sDAEC;AAED,8CAIC;AAED,kDAIC;AAED,8CAwBC;AAkBD,4DAEC;AA36BD,mCAAuH;AACvH,kDAAsB;AAEtB,MAAM,cAAc,GAAG,sCAAsC,CAAC;AAmG9D,MAAM,sBAAsB,GAA8B;IACtD,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,OAAO;CACnB,CAAC;AAEW,QAAA,6BAA6B,GAA8B;IACpE,OAAO,EAAE,WAAW;CACvB,CAAC;AAkBF,aAAa;AACb,MAAM,SAAS,GAAG;IACd,0DAA0D;IAC1D,0CAA0C;IAC1C,yCAAyC;IACzC,uCAAuC;IACvC,8DAA8D;IAC9D,gFAAgF;IAChF,kEAAkE;IAClE,2EAA2E;CAC9E,CAAA;AAEM,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAe,EAAE,QAAyB,EAAoB,EAAE;IACnG,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAElD,OAAO;QACH,OAAO,EAAE,IAAI,eAAE,CAAC,OAAO,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,GAAG,IAAI,GAAG,CAAC;QACvC,OAAO,EAAE,EAAE;KACd,CAAA;AACL,CAAC,CAAA;AARY,QAAA,gBAAgB,oBAQ5B;AAEM,MAAM,YAAY,GAAG,KAAK,EAC7B,YAAoB,EACpB,QAAyB,EACP,EAAE;IACpB,IAAI,CAAC;QACD,2BAA2B;QAC3B,MAAM,aAAa,GAAG,IAAI,iBAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;QAGrE,8CAA8C;QAC9C,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/C,MAAM,aAAa,CAAC,QAAQ,EAAE;YAC9B,MAAM,aAAa,CAAC,IAAI,EAAE;YAC1B,MAAM,aAAa,CAAC,MAAM,EAAE;SAE/B,CAAC,CAAA;QAEF,OAAO;YACH,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,QAAQ;SACrB,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;QACrD,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AA3BY,QAAA,YAAY,gBA2BxB;AACM,MAAM,eAAe,GAAG,KAAK,EAChC,YAAoB,EACpB,aAAqB,EACrB,QAAyB,EACT,EAAE;IAClB,IAAI,CAAC;QACD,2BAA2B;QAC3B,MAAM,aAAa,GAAG,IAAI,iBAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;QAErE,kCAAkC;QAClC,MAAM,OAAO,GAAW,MAAM,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QAEpE,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAA;QAC/C,4CAA4C;QAC5C,MAAM,gBAAgB,GAAG,OAAO,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QAE5D,OAAO;YACH,OAAO,EAAE,IAAI,eAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,2BAA2B;YAChE,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC9C,OAAO,EAAE,QAAQ;SACpB,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;QACrD,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AA1BY,QAAA,eAAe,mBA0B3B;AAED;;GAEG;AACI,MAAM,kBAAkB,GAAG,KAAK,EACnC,MAAc,EAAE,4CAA4C;AAC5D,iBAAoC,EACpC,gBAAwB,CAAC,EAAE,sCAAsC;AACjE,UAAkB,MAAM,CAAC,oBAAoB;EACnB,EAAE;IAC5B,IAAI,CAAC;QACD,6BAA6B;QAC7B,MAAM,EAAE,GAAuB;YAC3B,EAAE,EAAE,iBAAiB,CAAC,EAAE;YACxB,KAAK,EAAE,iBAAiB,CAAC,KAAK,IAAI,CAAC;YACnC,IAAI,EAAE,iBAAiB,CAAC,IAAI,IAAI,IAAI;SACvC,CAAA;QAED,qBAAqB;QACrB,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAC7B,EAAE,CAAC,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAA;QAC5C,CAAC;QAED,0CAA0C;QAC1C,IAAI,iBAAiB,CAAC,YAAY,IAAI,iBAAiB,CAAC,oBAAoB,EAAE,CAAC;YAC3E,uBAAuB;YACvB,EAAE,CAAC,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAA;YAChD,EAAE,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,oBAAoB,CAAA;QACpE,CAAC;aAAM,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YACpC,qBAAqB;YACrB,EAAE,CAAC,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAA;QAC5C,CAAC;QAED,wBAAwB;QACxB,IAAI,iBAAiB,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAA;QACtC,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;YACf,EAAE,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAC9C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;QAEvC,4BAA4B;QAC5B,MAAM,UAAU,GAAwB,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;QAExE,OAAO,CAAC,GAAG,CAAC,+BAA+B,UAAU,CAAC,IAAI,EAAE,CAAC,CAAA;QAE7D,qCAAqC;QACrC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC;YAC9B,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,EAAE,OAAO,CAAC,CACnF;SACJ,CAAC,CAAA;QAEF,MAAM,MAAM,GAAsB;YAC9B,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;YAC9B,OAAO,EAAE,OAAO,EAAE,OAAO;YACzB,iBAAiB,EAAE,OAAO,EAAE,QAAQ;YACpC,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,aAAa,EAAE,aAAa;SAC/B,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,MAAM,CAAC,CAAA;QAE/E,OAAO,MAAM,CAAA;IAEjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;QAC3C,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AAxEY,QAAA,kBAAkB,sBAwE9B;AAED;;GAEG;AACI,MAAM,eAAe,GAAG,KAAK,EAChC,MAAc,EACd,EAAU,EACV,MAAuB,EAAE,gBAAgB;AACzC,QAA0B,EAC1B,gBAAwB,CAAC,EACC,EAAE;IAC5B,OAAO,MAAM,IAAA,0BAAkB,EAC3B,MAAM,EACN;QACI,EAAE;QACF,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC7C,QAAQ;KACX,EACD,aAAa,CAChB,CAAA;AACL,CAAC,CAAA;AAhBY,QAAA,eAAe,mBAgB3B;AAED;;GAEG;AACI,MAAM,cAAc,GAAG,KAAK,EAC/B,MAAc,EACd,YAAoB,EACpB,EAAU,EACV,MAAuB,EAAE,kCAAkC;AAC3D,QAA0B,EAC1B,gBAAwB,CAAC,EACC,EAAE;IAC5B,IAAI,CAAC;QACD,2BAA2B;QAC3B,MAAM,aAAa,GAAG,IAAI,iBAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAEnE,gCAAgC;QAChC,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;QAEjF,OAAO,MAAM,IAAA,0BAAkB,EAC3B,MAAM,EACN;YACI,EAAE,EAAE,YAAY;YAChB,IAAI;YACJ,QAAQ;SACX,EACD,aAAa,CAChB,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAA;QAC/C,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AA5BY,QAAA,cAAc,kBA4B1B;AAED;;GAEG;AACI,MAAM,qBAAqB,GAAG,KAAK,EACtC,MAAc,EACd,eAAuB,EACvB,GAAU,EACV,UAAkB,EAClB,eAAsB,EAAE,EACxB,KAAuB,EAAE,sBAAsB;AAC/C,QAA0B,EAC1B,gBAAwB,CAAC,EACC,EAAE;IAC5B,IAAI,CAAC;QACD,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;QAE3D,qBAAqB;QACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QAE5E,OAAO,MAAM,IAAA,0BAAkB,EAC3B,MAAM,EACN;YACI,EAAE,EAAE,eAAe;YACnB,IAAI;YACJ,KAAK;YACL,QAAQ;SACX,EACD,aAAa,CAChB,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;QACzD,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AA/BY,QAAA,qBAAqB,yBA+BjC;AAED;;GAEG;AACI,MAAM,YAAY,GAAG,KAAK,EAAE,QAAyB,EAAE,EAAE;IAC5D,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAA;QAE3C,OAAO;YACH,SAAS;YACT,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW;YACX,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACrD,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAA;QAClD,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AAfY,QAAA,YAAY,gBAexB;AAED;;GAEG;AACI,MAAM,WAAW,GAAG,KAAK,EAC5B,QAAyB,EACzB,iBAAoC,EACrB,EAAE;IACjB,IAAI,CAAC;QACD,MAAM,EAAE,GAAuB;YAC3B,EAAE,EAAE,iBAAiB,CAAC,EAAE;YACxB,KAAK,EAAE,iBAAiB,CAAC,KAAK,IAAI,CAAC;YACnC,IAAI,EAAE,iBAAiB,CAAC,IAAI,IAAI,IAAI;SACvC,CAAA;QAED,OAAO,MAAM,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;QAC9C,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AAhBY,QAAA,WAAW,eAgBvB;AAGD;;GAEG;AACI,MAAM,cAAc,GAAG,KAAK,EAC/B,YAAoB,EACpB,KAAa,EACb,OAAe,EACf,QAAyB,EAK1B,EAAE;IACD,IAAI,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,iBAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;QAErE,6BAA6B;QAC7B,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC;YACvC,aAAa,CAAC,QAAQ,EAAE;SAC3B,CAAC,CAAA;QAEF,+BAA+B;QAC/B,MAAM,kBAAkB,GAAG,SAAS,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QAEhE,OAAO;YACH,SAAS;YACT,SAAS,EAAE,kBAAkB,CAAC,QAAQ,EAAE;YACxC,QAAQ;SACX,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAA;QACjD,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AA/BY,QAAA,cAAc,kBA+B1B;AAED;;GAEG;AACI,MAAM,qBAAqB,GAAG,KAAK,EACtC,YAAoB,EACpB,KAAa,EACb,OAAe,EACf,cAA+B,EAC/B,QAAyB,EACT,EAAE;IAClB,IAAI,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,sBAAc,EAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAClF,MAAM,QAAQ,GAAG,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;QAE7F,OAAO,SAAS,IAAI,QAAQ,CAAA;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAA;QAC7D,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AAhBY,QAAA,qBAAqB,yBAgBjC;AAED;;GAEG;AACI,MAAM,YAAY,GAAG,KAAK,EAC7B,MAAc,EACd,YAAoB,EACpB,OAAe,EACf,MAAuB,EAAE,kDAAkD;AAC3E,QAA0B,EAC1B,gBAAwB,CAAC,EACC,EAAE;IAC5B,IAAI,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,iBAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAEnE,+BAA+B;QAC/B,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;QAErF,OAAO,MAAM,IAAA,0BAAkB,EAC3B,MAAM,EACN;YACI,EAAE,EAAE,YAAY;YAChB,IAAI;YACJ,QAAQ;SACX,EACD,aAAa,CAChB,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;QAC9C,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AA3BY,QAAA,YAAY,gBA2BxB;AAED;;GAEG;AACI,MAAM,qBAAqB,GAAG,KAAK,EACtC,MAAc,EACd,YAAoB,EACpB,OAAe,EACf,QAA0B,EAC1B,gBAAwB,CAAC,EACC,EAAE;IAC5B,yBAAyB;IACzB,MAAM,WAAW,GAAG,gFAAgF,CAAA;IAEpG,OAAO,MAAM,IAAA,oBAAY,EAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;AAClG,CAAC,CAAA;AAXY,QAAA,qBAAqB,yBAWjC;AAED;;GAEG;AACI,MAAM,eAAe,GAAG,KAAK,EAChC,MAAc,EACd,YAAoB,EACpB,OAAe,EACf,cAA+B,EAC/B,cAAgC,EAAE,4DAA4D;AAC9F,QAA0B,EAC1B,gBAAwB,CAAC,EAK1B,EAAE;IACD,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA2B,CAAA;QAEnD,0BAA0B;QAC1B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,sBAAc,EAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAClF,MAAM,QAAQ,GAAG,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;QAE7F,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,CAAA;QAE3C,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,OAAO;gBACH,cAAc,EAAE,KAAK;gBACrB,gBAAgB,EAAE,SAAS;aAC9B,CAAA;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,eAAe,QAAQ,EAAE,CAAC,CAAA;QAE5E,4BAA4B;QAC5B,MAAM,eAAe,GAAG,cAAc,IAAI,QAAQ,CAAA;QAElD,mBAAmB;QACnB,MAAM,cAAc,GAAG,MAAM,IAAA,oBAAY,EACrC,MAAM,EACN,YAAY,EACZ,OAAO,EACP,eAAe,EACf,QAAQ,EACR,aAAa,CAChB,CAAA;QAED,OAAO;YACH,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,SAAS;YAC3B,cAAc;SACjB,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAA;QACjD,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AAtDY,QAAA,eAAe,mBAsD3B;AAED;;GAEG;AACI,MAAM,cAAc,GAAG,KAAK,EAC/B,MAAc,EACd,YAAoB,EACpB,OAAe,EACf,QAA0B,EAC1B,gBAAwB,CAAC,EACC,EAAE;IAC5B,OAAO,MAAM,IAAA,oBAAY,EAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;AAC1F,CAAC,CAAA;AARY,QAAA,cAAc,kBAQ1B;AAED;;;GAGG;AACI,MAAM,WAAW,GAAG,KAAK,EAC5B,MAAc,EACd,YAAoB,EACpB,OAAe,EACf,MAAuB,EACvB,QAA0B,EAC1B,gBAAwB,CAAC,EAI1B,EAAE;IACD,IAAI,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAA;QAE1D,sBAAsB;QACtB,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;QAEhG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACxD,CAAC;QAED,kCAAkC;QAClC,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAY,EAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;QAExG,OAAO;YACH,WAAW;YACX,aAAa;SAChB,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;QAC5C,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AAhCY,QAAA,WAAW,eAgCvB;AAGD,OAAO;AAIP,iBAAiB;AACjB,qIAAqI;AACrI,mJAAmJ;AACnJ,wDAAwD;AACxD,4JAA4J;AAIrJ,KAAK,UAAU,iBAAiB,CAAC,MAAuB;IAC3D,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;QACpC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC5B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,SAAS;QAAE,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACxE,IAAI,MAAM,CAAC,WAAW;QAAE,WAAW,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9E,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3F,IAAI,MAAM,CAAC,WAAW;QAAE,WAAW,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAE9E,MAAM,GAAG,GAAG,GAAG,cAAc,IAAI,SAAS,kBAAkB,WAAW,EAAE,CAAC;IAE1E,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAGM,KAAK,UAAU,yBAAyB,CAC3C,OAAe,EACf,YAAwB,EACxB,MAAc,EACd,SAAiB,EACjB,oBAA4B,EAAE,EAC9B,QAAiB,EACjB,QAAiB;IAEjB,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,cAAc,IAAI,SAAS,qBAAqB,CAAC;IAEhE,MAAM,UAAU,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAEpE,MAAM,IAAI,GAAG;QACT,YAAY;QACZ,MAAM;QACN,SAAS;QACT,iBAAiB;QACjB,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,QAAQ,IAAI,aAAa;KACpC,CAAC;IAEF,MAAM,OAAO,GAA8B;QACvC,cAAc,EAAE,kBAAkB;KACrC,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC;IACtC,CAAC;IAED,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAC9D,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,MAcjC;IACG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE;YAC7C,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;SAC1B,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAE3D,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC;YAC1C,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,aAAa;SAC7C,CAAC,CAAC;QAEH,uDAAuD;QACvD,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtF,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC;QAE3D,uCAAuC;QACvC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEhE,4CAA4C;QAC5C,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE;YAC/B,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,WAAW,EAAE,YAAY,CAAC,GAAG;YAC7B,aAAa;YACb,wCAAwC;YACxC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9D,6EAA6E;YAC7E,UAAU,EAAE,YAAY,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;gBAC/D,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC7E,CAAC,CAAC,CAAC,SAAS,CAAC;SACpB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAElD,MAAM,aAAa,GAAG,MAAM,yBAAyB,CACjD,MAAM,CAAC,OAAO,EACd,YAAY,EACZ,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,EACjC,MAAM,CAAC,iBAAiB,IAAI,EAAE,EAC9B,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,QAAQ,IAAI,aAAa,CACnC,CAAC;QAEF,4BAA4B;QAC5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEvE,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC;QAEzF,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE;YAC7C,EAAE,EAAE,kBAAkB;YACtB,UAAU,EAAE,WAAW,CAAC,MAAM;YAC9B,WAAW,EAAE,GAAG;YAChB,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS;SAC/C,CAAC,CAAC;QAEH,OAAO;YACH,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,GAAG;YACb,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,4CAA4C;gBAChF,CAAC,CAAC,MAAM,CAAC,QAAQ;gBACjB,CAAC,CAAC,GAAG;SACZ,CAAC;IAEN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAExD,8BAA8B;QAC9B,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;aACnB,CAAC,CAAC;QACP,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,CAAC;AACL,CAAC;AAED,SAAgB,uBAAuB;IACnC,OAAO,EAAE,GAAG,sBAAsB,EAAE,CAAC;AACzC,CAAC;AAED,SAAgB,uBAAuB,CAAC,OAAe;IACnD,OAAO,OAAO,IAAI,sBAAsB,CAAC;AAC7C,CAAC;AAED,SAAgB,wBAAwB,CAAC,OAAe;IACpD,OAAO,OAAO,IAAI,qCAA6B,CAAC;AACpD,CAAC;AAED,SAAgB,qBAAqB;IACjC,OAAO,4CAA4C,CAAC;AACxD,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAAc,EAAE,QAAgB;IAC9D,MAAM,QAAQ,GAAG,IAAI,eAAE,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC/C,CAAC;AAED,SAAgB,mBAAmB,CAAC,SAAiB,EAAE,QAAgB;IACnE,MAAM,QAAQ,GAAG,IAAI,eAAE,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC5C,CAAC;AAED,SAAgB,iBAAiB,CAC7B,OAAe,EACf,QAAgB,EAChB,QAAgB,EAChB,eAAuB,EACvB,aAAsB,KAAK,EAC3B,cAAuB,KAAK;IAM5B,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACtE,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEzE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC5C,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,eAAe,CAAC;QAC9C,CAAC,CAAC,QAAQ,CAAC;IAEf,OAAO;QACH,cAAc;QACd,eAAe;QACf,iBAAiB;KACpB,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,iFAAiF;AACjF,wCAAwC;AACxC,yFAAyF;AACzF,0CAA0C;AAC1C,QAAQ;AACR,2BAA2B;AAC3B,IAAI;AAEJ;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,WAAmB;IACxD,OAAO,WAAW,GAAG,GAAG,CAAC;AAC7B,CAAC"}