@carrot-protocol/clend-vaults-rpc 0.0.25 → 0.0.26-docs1-dev-7e82fd5

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/rpc.d.ts CHANGED
@@ -1,15 +1,16 @@
1
1
  import { AnchorProvider, BN, web3 } from "@coral-xyz/anchor";
2
2
  import { Connection } from "@solana/web3.js";
3
3
  import { ClendVaultsProgram } from "./program";
4
- import { ClendClient, ISwapper } from "@carrot-protocol/clend-rpc";
4
+ import { ClendClient, Bank } from "@carrot-protocol/clend-rpc";
5
5
  import { Vault, VaultEquity } from "./state";
6
+ import { ClendVaultsJupSwapper } from "./swapper";
6
7
  export type Wallet = AnchorProvider["wallet"];
7
8
  type AccountMeta = web3.AccountMeta;
8
9
  export declare class ClendVaultsClient {
9
10
  readonly connection: Connection;
10
11
  readonly program: ClendVaultsProgram;
11
12
  readonly clendClient: ClendClient;
12
- readonly swapper: ISwapper;
13
+ readonly swapper: ClendVaultsJupSwapper;
13
14
  readonly skipPreflight: boolean;
14
15
  private vaultCache;
15
16
  constructor(provider: AnchorProvider, skipPreflight?: boolean, jupApiKey?: string);
@@ -41,7 +42,55 @@ export declare class ClendVaultsClient {
41
42
  clendAccountRepay(vault: web3.PublicKey, clendAccount: web3.PublicKey, assetMint: web3.PublicKey, amount: BN | number): Promise<string>;
42
43
  clendAccountBorrow(vault: web3.PublicKey, clendAccount: web3.PublicKey, assetMint: web3.PublicKey, amount: BN): Promise<string>;
43
44
  clendAccountWithdrawEmissions(vault: web3.PublicKey, assetMint: web3.PublicKey): Promise<string>;
44
- clendAccountAdjustLeverage(clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, targetLeverage: number, slippageBps: number): Promise<string>;
45
+ adjustLeverage(vault: web3.PublicKey, clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, targetLeverage: number, slippageBps: number): Promise<string>;
46
+ /**
47
+ * Calculates the required changes in debt and collateral to reach a target leverage.
48
+ * Adjusts the deltas for fees, slippage, and interest buffers as appropriate.
49
+ *
50
+ * @param clendGroup - The public key of the Clend group.
51
+ * @param clendAccount - The public key of the user's Clend account.
52
+ * @param collateralMint - The public key of the collateral token mint.
53
+ * @param debtMint - The public key of the debt token mint.
54
+ * @param targetLeverage - The desired final leverage ratio.
55
+ * @param slippageBps - The slippage tolerance in basis points for swap adjustments.
56
+ * @param futureInterestBufferSec - Estimated seconds of future interest to buffer for repay operations (default: 2s).
57
+ * @returns Promise<{
58
+ * finalCollateralDeltaUi: number; // Final change in collateral (UI units, adjusted for swap needs)
59
+ * finalDebtDeltaUi: number; // Final change in debt (UI units, adjusted for fee/slippage/buffer)
60
+ * isIncrease: boolean; // True if leverage is increasing (borrowing more)
61
+ * collateralBankData: Bank;
62
+ * debtBankData: Bank;
63
+ * }>
64
+ */
65
+ getAdjustLeverageParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, targetLeverage: number, slippageBps: number): Promise<{
66
+ finalCollateralDeltaUi: number;
67
+ finalDebtDeltaUi: number;
68
+ isIncrease: boolean;
69
+ collateralBankData: Bank;
70
+ debtBankData: Bank;
71
+ }>;
72
+ /**
73
+ * Builds the transaction instructions for adjusting leverage.
74
+ * Uses the pre-calculated and adjusted delta values from getAdjustLeverageParams.
75
+ *
76
+ * @param clendGroup - The public key of the Clend group.
77
+ * @param clendAccount - The public key of the user's Clend account.
78
+ * @param user - The public key of the user initiating the transaction.
79
+ * @param debtBankData - The Bank data for the debt asset.
80
+ * @param collateralBankData - The Bank data for the collateral asset.
81
+ * @param isIncrease - Boolean indicating if leverage is increasing.
82
+ * @param finalDebtDeltaUi - The final calculated change in debt (UI units), adjusted for fees/slippage/buffers.
83
+ * @param finalCollateralDeltaUi - The final calculated change in collateral (UI units), adjusted for swap needs.
84
+ * @param slippageBps - The slippage tolerance in basis points for Jupiter swaps.
85
+ * @param additionalIxnCount - Count of additional instructions (e.g., JIT) to offset flash loan index.
86
+ * @returns Promise<{ ixns: web3.TransactionInstruction[]; luts: web3.PublicKey[]; }>
87
+ */
88
+ getAdjustLeverageIxns(clendAccount: web3.PublicKey, vault: web3.PublicKey, debtBankData: Bank, collateralBankData: Bank, isIncrease: boolean, finalDebtDeltaUi: number, // Use the final adjusted value from getAdjustLeverageParams
89
+ finalCollateralDeltaUi: number, // Use the final adjusted value from getAdjustLeverageParams
90
+ slippageBps: number, additionalIxnCount: number): Promise<{
91
+ ixns: web3.TransactionInstruction[];
92
+ luts: web3.PublicKey[];
93
+ }>;
45
94
  prepareRedeemFromClendAccountIxns(user: web3.PublicKey, vault: web3.PublicKey, clendAccount: web3.PublicKey, outputAssetMint: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, totalSharesToRedeem: BN, sharesToRedeemFromClendAccount: BN, slippageBps: number): Promise<{
46
95
  ixns: web3.TransactionInstruction[];
47
96
  luts: web3.PublicKey[];
@@ -58,7 +107,7 @@ export declare class ClendVaultsClient {
58
107
  distributeFees(vault: web3.PublicKey, sharesDestinationOwner: web3.PublicKey): Promise<string>;
59
108
  updateSbOraclePrice(vault: web3.PublicKey, queue: web3.PublicKey, feed: web3.PublicKey): Promise<string>;
60
109
  updateAssetOracle(vault: web3.PublicKey, assetMint: web3.PublicKey, oracleMaxAge: number | null, oracle: web3.PublicKey | null): Promise<string>;
61
- send(ixns: web3.TransactionInstruction[], additionalSigners?: web3.Signer[]): Promise<string>;
110
+ send(ixns: web3.TransactionInstruction[], additionalSigners?: web3.Signer[], luts?: web3.PublicKey[]): Promise<string>;
62
111
  confirmTx(txSig: string): Promise<void>;
63
112
  }
64
113
  export declare function buildEquityRemainingAccounts(vaultState: Vault, clendClient: ClendClient): Promise<AccountMeta[]>;
package/dist/rpc.js CHANGED
@@ -4,23 +4,24 @@ exports.ClendVaultsClient = void 0;
4
4
  exports.buildEquityRemainingAccounts = buildEquityRemainingAccounts;
5
5
  // rpc.ts
6
6
  const anchor_1 = require("@coral-xyz/anchor");
7
+ const web3_js_1 = require("@solana/web3.js");
7
8
  const spl_token_1 = require("@solana/spl-token");
8
9
  const decimal_js_1 = require("decimal.js");
9
10
  const program_1 = require("./program");
10
- const addresses_1 = require("./addresses");
11
11
  const clend_rpc_1 = require("@carrot-protocol/clend-rpc");
12
12
  const state_1 = require("./state");
13
13
  const swapper_1 = require("./swapper");
14
14
  const math_1 = require("./math");
15
15
  const utils_1 = require("./utils");
16
16
  const cache_1 = require("./cache");
17
+ const clend_rpc_2 = require("@carrot-protocol/clend-rpc");
17
18
  class ClendVaultsClient {
18
19
  constructor(provider, skipPreflight = false, jupApiKey) {
19
20
  this.connection = provider.connection;
20
21
  this.program = new program_1.ClendVaultsProgram(provider);
21
22
  this.skipPreflight = skipPreflight;
22
23
  this.clendClient = new clend_rpc_1.ClendClient(provider.connection, provider.wallet, skipPreflight, 0);
23
- this.swapper = new swapper_1.ClendVaultsJupSwapper(jupApiKey);
24
+ this.swapper = new swapper_1.ClendVaultsJupSwapper(this.program, jupApiKey);
24
25
  this.vaultCache = new cache_1.Cache();
25
26
  }
26
27
  address() {
@@ -46,7 +47,7 @@ class ClendVaultsClient {
46
47
  async getVaultFromAccountInfo(vault, vaultAccountInfo) {
47
48
  // get all account infos for vault
48
49
  const { vaultSharesMintAccountInfo, vaultMintsAccountInfos, vaultReservesAccountInfos, vaultOraclesAccountInfos, clendAccountsAccountInfos, // TODO
49
- } = await (0, state_1.getVaultAccountInfos)(this.program, vaultAccountInfo, this.connection);
50
+ } = await (0, state_1.getVaultAccountInfos)(this.program, vaultAccountInfo);
50
51
  const vaultState = (0, state_1.parseVaultAccountFromAccountInfos)(this.program, { accountId: vault, accountInfo: vaultAccountInfo }, vaultSharesMintAccountInfo, vaultMintsAccountInfos, vaultReservesAccountInfos, vaultOraclesAccountInfos);
51
52
  return vaultState;
52
53
  }
@@ -256,14 +257,293 @@ class ClendVaultsClient {
256
257
  const txSig = await this.send(ixns);
257
258
  return txSig;
258
259
  }
259
- // adjust the leverage of the clend account
260
- async clendAccountAdjustLeverage(clendAccount, collateralMint, debtMint, targetLeverage, slippageBps) {
260
+ //// adjust the leverage of the clend account
261
+ //async clendAccountAdjustLeverage(
262
+ // clendAccount: web3.PublicKey,
263
+ // collateralMint: web3.PublicKey,
264
+ // debtMint: web3.PublicKey,
265
+ // targetLeverage: number,
266
+ // slippageBps: number,
267
+ //): Promise<string> {
268
+ // const clendAccountState =
269
+ // await this.clendClient.getClendAccount(clendAccount);
270
+ // if (!clendAccountState) {
271
+ // throw new Error(`Clend account not found: ${clendAccount.toString()}`);
272
+ // }
273
+ // const adjustLeverageTxSig = await this.clendClient.adjustLeverage(
274
+ // clendAccountState.group,
275
+ // clendAccount,
276
+ // collateralMint,
277
+ // debtMint,
278
+ // targetLeverage,
279
+ // slippageBps,
280
+ // this.swapper,
281
+ // );
282
+ // return adjustLeverageTxSig;
283
+ //}
284
+ async adjustLeverage(vault, clendGroup, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps) {
285
+ const params = await this.getAdjustLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps);
286
+ //const finalDebtDeltaAmount = uiToAmount(
287
+ // params.finalDebtDeltaUi,
288
+ // params.debtBankData.mintDecimals,
289
+ //);
290
+ //if (params.debtBankData.availableSupply.lte(finalDebtDeltaAmount)) {
291
+ // throw new Error(
292
+ // `Not enough debt available to adjust leverage, available: ${params.debtBankData.availableSupply.toString()}, required: ${finalDebtDeltaAmount.toString()}`,
293
+ // );
294
+ //}
295
+ const { ixns, luts } = await this.getAdjustLeverageIxns(clendAccount, vault, params.debtBankData, params.collateralBankData, params.isIncrease, params.finalDebtDeltaUi, params.finalCollateralDeltaUi, slippageBps, 0);
296
+ // Send transaction
297
+ return this.send(ixns, [], luts);
298
+ }
299
+ /**
300
+ * Calculates the required changes in debt and collateral to reach a target leverage.
301
+ * Adjusts the deltas for fees, slippage, and interest buffers as appropriate.
302
+ *
303
+ * @param clendGroup - The public key of the Clend group.
304
+ * @param clendAccount - The public key of the user's Clend account.
305
+ * @param collateralMint - The public key of the collateral token mint.
306
+ * @param debtMint - The public key of the debt token mint.
307
+ * @param targetLeverage - The desired final leverage ratio.
308
+ * @param slippageBps - The slippage tolerance in basis points for swap adjustments.
309
+ * @param futureInterestBufferSec - Estimated seconds of future interest to buffer for repay operations (default: 2s).
310
+ * @returns Promise<{
311
+ * finalCollateralDeltaUi: number; // Final change in collateral (UI units, adjusted for swap needs)
312
+ * finalDebtDeltaUi: number; // Final change in debt (UI units, adjusted for fee/slippage/buffer)
313
+ * isIncrease: boolean; // True if leverage is increasing (borrowing more)
314
+ * collateralBankData: Bank;
315
+ * debtBankData: Bank;
316
+ * }>
317
+ */
318
+ async getAdjustLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps) {
319
+ // Get bank data
320
+ const collateralBank = (0, clend_rpc_1.getBankPda)(clendGroup, collateralMint);
321
+ const debtBank = (0, clend_rpc_1.getBankPda)(clendGroup, debtMint);
322
+ const [collateralBankData, debtBankData] = await this.clendClient.getBanks([
323
+ collateralBank,
324
+ debtBank,
325
+ ]);
326
+ const debtDecimals = debtBankData.mintDecimals;
327
+ const collateralDecimals = collateralBankData.mintDecimals;
328
+ // Get account data to determine current positions
261
329
  const clendAccountState = await this.clendClient.getClendAccount(clendAccount);
262
330
  if (!clendAccountState) {
263
331
  throw new Error(`Clend account not found: ${clendAccount.toString()}`);
264
332
  }
265
- const adjustLeverageTxSig = await this.clendClient.adjustLeverage(clendAccountState.group, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps, this.swapper);
266
- return adjustLeverageTxSig;
333
+ // Find the debt and collateral positions
334
+ let debtBalance;
335
+ let collateralBalance;
336
+ for (const balance of clendAccountState.lendingAccount.balances) {
337
+ if (balance.bankPk && balance.bankPk.equals(debtBank)) {
338
+ debtBalance = balance;
339
+ }
340
+ if (balance.bankPk && balance.bankPk.equals(collateralBank)) {
341
+ collateralBalance = balance;
342
+ }
343
+ }
344
+ if (!debtBalance) {
345
+ throw new Error("Could not find debt position in account");
346
+ }
347
+ if (!collateralBalance) {
348
+ throw new Error("Could not find collateral position in account");
349
+ }
350
+ // Ensure liabilityShares exists on the Balance object
351
+ if (debtBalance.liabilityShares === undefined ||
352
+ debtBalance.liabilityShares === null) {
353
+ throw new Error("Missing liabilityShares on debt Balance object, cannot estimate accrued interest accurately.");
354
+ }
355
+ // --- Calculate current state accurately ---
356
+ const collateralAmountUI = collateralBalance.assetBalanceUi;
357
+ const collateralPrice = collateralBalance.price;
358
+ const debtPrice = debtBalance.price;
359
+ // Estimate current debt including accrued interest
360
+ const estimatedCurrentDebt = clend_rpc_2.Common.calculateLiabilityInterest(
361
+ // Using user's function name
362
+ debtBalance.liabilityShares, debtBankData.liabilityShareValue, debtBankData.borrowApy, debtBankData.lastUpdate.toNumber(), Math.floor(Date.now() / 1000));
363
+ const estimatedCurrentDebtUi = (0, math_1.amountToUi)(estimatedCurrentDebt, debtDecimals);
364
+ // Calculate current leverage (using notional/unweighted for consistency with compute function)
365
+ // Use estimatedCurrentDebtUi for accuracy
366
+ const currentLeverage = clend_rpc_2.Common.calculateWeightedLeverage(collateralAmountUI, collateralPrice, 1, estimatedCurrentDebtUi, // Use estimated current debt
367
+ debtPrice, 1);
368
+ // Calculate the IDEAL deltas based on estimated current state
369
+ const { collateralDelta: idealCollateralDeltaUi, debtDelta: idealDebtDeltaUi, isIncrease, } = clend_rpc_2.Common.computeAdjustLeverageAmounts(collateralAmountUI, estimatedCurrentDebtUi, // Use estimated current debt
370
+ collateralPrice, debtPrice, currentLeverage, targetLeverage, 1, 1);
371
+ let finalDebtDeltaUi;
372
+ let finalCollateralDeltaUi;
373
+ // --- Apply Adjustments based on direction ---
374
+ if (isIncrease) {
375
+ finalCollateralDeltaUi = idealCollateralDeltaUi; // Collateral delta is the target gain from swap
376
+ if (idealDebtDeltaUi <= 0) {
377
+ finalDebtDeltaUi = 0;
378
+ }
379
+ else {
380
+ // 1. Convert ideal UI delta to BN
381
+ const idealAdditionalDebtAmount = (0, math_1.uiToAmount)(idealDebtDeltaUi, debtDecimals);
382
+ // 2. Adjust for origination fee
383
+ const originationFeeRate = debtBankData.config.interestRateConfig.protocolOriginationFee;
384
+ const additionalDebtAfterFee = clend_rpc_2.Common.adjustBorrowForOriginationFee(idealAdditionalDebtAmount, originationFeeRate);
385
+ // 3. Adjust for slippage (borrow MORE)
386
+ const finalAdditionalDebt = clend_rpc_2.Common.adjustAmountForSlippage(
387
+ // Use renamed function
388
+ additionalDebtAfterFee, slippageBps);
389
+ // 4. Convert final adjusted BN back to UI units for return
390
+ finalDebtDeltaUi = (0, math_1.amountToUi)(finalAdditionalDebt, debtDecimals);
391
+ }
392
+ }
393
+ else {
394
+ // Decreasing Leverage
395
+ if (idealDebtDeltaUi <= 0) {
396
+ finalDebtDeltaUi = 0;
397
+ finalCollateralDeltaUi = 0;
398
+ }
399
+ else {
400
+ // 1. Convert ideal UI delta (amount to repay) to BN
401
+ const baseDebtToRepay = (0, math_1.uiToAmount)(idealDebtDeltaUi, debtDecimals);
402
+ const timeBufferSec = 30;
403
+ // 2. Add future interest buffer using addInterestAccrualBuffer
404
+ const finalDebtToRepayTargetBN = clend_rpc_2.Common.addInterestAccrualBuffer(
405
+ // Using user's function name
406
+ baseDebtToRepay, debtBankData.borrowApy, timeBufferSec);
407
+ finalDebtDeltaUi = (0, math_1.amountToUi)(finalDebtToRepayTargetBN, debtDecimals); // This is the final debt change target
408
+ // 3. Recalculate Collateral Delta needed for the swap
409
+ const slippageFactor = new decimal_js_1.Decimal(slippageBps).div(10000);
410
+ if (slippageFactor.gte(1)) {
411
+ throw new Error("Slippage cannot be 100% or more.");
412
+ }
413
+ if (collateralPrice <= 0 || debtPrice <= 0) {
414
+ throw new Error("Cannot calculate swap amounts with zero or negative prices.");
415
+ }
416
+ // Ideal collateral needed for swap (UI): TargetDebtOutput * (DebtPrice / CollateralPrice)
417
+ const idealCollateralForSwapUi = new decimal_js_1.Decimal(finalDebtDeltaUi) // Use the final buffered debt delta
418
+ .mul(debtPrice)
419
+ .div(collateralPrice);
420
+ // Ideal collateral input for the swap (BN)
421
+ const idealCollateralForSwapBN = (0, math_1.uiToAmount)(idealCollateralForSwapUi.toNumber(), collateralDecimals);
422
+ // Max collateral needed for swap (BN), using the adjustment function
423
+ const collateralToSwapMax = clend_rpc_2.Common.adjustAmountForSlippage(
424
+ // Use renamed function
425
+ idealCollateralForSwapBN, slippageBps);
426
+ // This collateral amount is the change needed (it will be withdrawn)
427
+ finalCollateralDeltaUi = (0, math_1.amountToUi)(collateralToSwapMax, collateralDecimals);
428
+ }
429
+ }
430
+ // Ensure deltas are not negative (should be handled by logic, but safety)
431
+ finalCollateralDeltaUi = Math.max(0, finalCollateralDeltaUi);
432
+ finalDebtDeltaUi = Math.max(0, finalDebtDeltaUi);
433
+ return {
434
+ finalCollateralDeltaUi,
435
+ finalDebtDeltaUi,
436
+ isIncrease,
437
+ collateralBankData,
438
+ debtBankData,
439
+ };
440
+ }
441
+ /**
442
+ * Builds the transaction instructions for adjusting leverage.
443
+ * Uses the pre-calculated and adjusted delta values from getAdjustLeverageParams.
444
+ *
445
+ * @param clendGroup - The public key of the Clend group.
446
+ * @param clendAccount - The public key of the user's Clend account.
447
+ * @param user - The public key of the user initiating the transaction.
448
+ * @param debtBankData - The Bank data for the debt asset.
449
+ * @param collateralBankData - The Bank data for the collateral asset.
450
+ * @param isIncrease - Boolean indicating if leverage is increasing.
451
+ * @param finalDebtDeltaUi - The final calculated change in debt (UI units), adjusted for fees/slippage/buffers.
452
+ * @param finalCollateralDeltaUi - The final calculated change in collateral (UI units), adjusted for swap needs.
453
+ * @param slippageBps - The slippage tolerance in basis points for Jupiter swaps.
454
+ * @param additionalIxnCount - Count of additional instructions (e.g., JIT) to offset flash loan index.
455
+ * @returns Promise<{ ixns: web3.TransactionInstruction[]; luts: web3.PublicKey[]; }>
456
+ */
457
+ async getAdjustLeverageIxns(clendAccount, vault, debtBankData, collateralBankData, isIncrease, finalDebtDeltaUi, // Use the final adjusted value from getAdjustLeverageParams
458
+ finalCollateralDeltaUi, // Use the final adjusted value from getAdjustLeverageParams
459
+ slippageBps, additionalIxnCount) {
460
+ const clendAccountState = await this.clendClient.getClendAccount(clendAccount);
461
+ if (!clendAccountState) {
462
+ throw new Error(`Clend account not found: ${clendAccount.toString()}`);
463
+ }
464
+ // check if vault is the authority of the clend account
465
+ if (!clendAccountState.authority.equals(vault)) {
466
+ throw new Error(`Cannot adjust leverage for clend account ${clendAccount.toString()} not owned by vault ${vault.toString()}`);
467
+ }
468
+ const vaultState = await this.getVault(vault);
469
+ if (!vaultState) {
470
+ throw new Error(`Vault not found: ${vault.toString()}`);
471
+ }
472
+ const vaultManager = vaultState.manager;
473
+ const debtTokenProgram = await (0, clend_rpc_1.getTokenProgramForMintFromRpc)(this.program.program.provider.connection, debtBankData.mint);
474
+ const collateralTokenProgram = await (0, clend_rpc_1.getTokenProgramForMintFromRpc)(this.program.program.provider.connection, collateralBankData.mint);
475
+ const userCollateralAta = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralBankData.mint, vault, true, collateralTokenProgram);
476
+ // Get remaining accounts for flash loan
477
+ let activeBanks = (0, clend_rpc_1.getClendAccountActiveBanks)(clendAccountState);
478
+ // Add both banks to active banks if not already present
479
+ if (!activeBanks.some((bank) => bank.equals(debtBankData.key))) {
480
+ activeBanks.push(debtBankData.key);
481
+ }
482
+ if (!activeBanks.some((bank) => bank.equals(collateralBankData.key))) {
483
+ activeBanks.push(collateralBankData.key);
484
+ }
485
+ const activeBankData = await this.clendClient.getBanks(activeBanks);
486
+ const remainingAccounts = (0, clend_rpc_1.getClendAccountRemainingAccounts)(activeBankData);
487
+ // Prepare transaction instructions
488
+ const instructions = [];
489
+ let swapLookupTables = [];
490
+ if (isIncrease) {
491
+ // This logic is already ExactIn and correct. No changes needed.
492
+ const additionalDebtAmount = (0, math_1.uiToAmount)(finalDebtDeltaUi, debtBankData.mintDecimals);
493
+ const swapQuote = await this.swapper.getQuote(vault, {
494
+ payer: this.address(),
495
+ inputMint: debtBankData.mint,
496
+ inputMintDecimals: debtBankData.mintDecimals,
497
+ outputMint: collateralBankData.mint,
498
+ outputMintDecimals: collateralBankData.mintDecimals,
499
+ inputAmount: additionalDebtAmount,
500
+ slippageBps,
501
+ swapMode: "ExactIn",
502
+ });
503
+ const swapIxns = await this.swapper.getSwapIxns(swapQuote);
504
+ const debtTokenProgram = await (0, clend_rpc_1.getTokenProgramForMintFromRpc)(this.program.program.provider.connection, debtBankData.mint);
505
+ const borrowIxns = await this.program.clendAccountBorrow(vault, vaultManager, clendAccountState.group, clendAccount, debtBankData.mint, debtTokenProgram, additionalDebtAmount, remainingAccounts);
506
+ const additionalCollateralAmount = swapQuote.outAmount;
507
+ const depositIxns = await this.program.clendAccountDeposit(vault, vaultManager, clendAccountState.group, clendAccount, collateralBankData.mint, collateralTokenProgram, additionalCollateralAmount, userCollateralAta, remainingAccounts);
508
+ instructions.push(...borrowIxns, ...swapIxns.ixns, ...depositIxns);
509
+ swapLookupTables = swapIxns.luts;
510
+ }
511
+ else {
512
+ // 1. The collateral to withdraw/sell is our exact input for the swap.
513
+ const collateralToWithdrawBN = (0, math_1.uiToAmount)(finalCollateralDeltaUi, collateralBankData.mintDecimals);
514
+ // 2. Get a fresh 'ExactIn' quote for swapping that collateral amount.
515
+ const swapQuote = await this.swapper.getQuote(vault, {
516
+ payer: vaultManager,
517
+ inputMint: collateralBankData.mint,
518
+ inputMintDecimals: collateralBankData.mintDecimals,
519
+ outputMint: debtBankData.mint,
520
+ outputMintDecimals: debtBankData.mintDecimals,
521
+ inputAmount: collateralToWithdrawBN, // Use the collateral delta as the exact input
522
+ slippageBps,
523
+ swapMode: "ExactIn",
524
+ });
525
+ // 3. The final amount to repay is the optimistic amount from the quote,
526
+ // as we will use the `repay_up_to_amount` flag on-chain.
527
+ const finalDebtToRepay = swapQuote.outAmount;
528
+ const swapIxns = await this.swapper.getSwapIxns(swapQuote);
529
+ // Withdraw the calculated collateral needed for the swap
530
+ const withdrawIxns = await this.program.clendAccountWithdraw(vault, vaultManager, clendAccountState.group, clendAccount, collateralBankData.mint, collateralTokenProgram, collateralToWithdrawBN, remainingAccounts);
531
+ // Repay the debt with the swap output
532
+ const repayIxns = await this.program.clendAccountRepay(vault, vaultManager, clendAccountState.group, clendAccount, debtBankData.mint, debtTokenProgram, finalDebtToRepay, remainingAccounts);
533
+ instructions.push(...withdrawIxns, ...swapIxns.ixns, ...repayIxns);
534
+ swapLookupTables = swapIxns.luts;
535
+ }
536
+ // --- Flash Loan Wrapping ---
537
+ const cuIxns = 2;
538
+ const endIndex = new anchor_1.BN(cuIxns + instructions.length + 1 + additionalIxnCount);
539
+ const remainingAccountsForFlashLoan = (0, clend_rpc_1.getClendAccountRemainingAccounts)(activeBankData);
540
+ const { beginFlashLoanIx, endFlashLoanIx } = await this.clendClient.instructions.createFlashLoanInstructions(clendAccount, vaultManager, endIndex, remainingAccountsForFlashLoan);
541
+ const finalInstructions = [
542
+ beginFlashLoanIx,
543
+ ...instructions,
544
+ endFlashLoanIx,
545
+ ];
546
+ return { ixns: finalInstructions, luts: swapLookupTables };
267
547
  }
268
548
  // create instructions for redeeming shares
269
549
  // however this will pull from a clend account balance
@@ -356,8 +636,8 @@ class ClendVaultsClient {
356
636
  // overriden if withdrawAll is true
357
637
  let collateralToSwap = collateralToWithdraw.sub(desiredNetCollateralToReceive);
358
638
  // again for partial withdraws
359
- let swapQuote = await this.swapper.getQuote({
360
- payer: vault,
639
+ let swapQuote = await this.swapper.getQuote(vault, {
640
+ payer: vaultManager,
361
641
  inputMint: collateralMint,
362
642
  inputMintDecimals: collateralDecimals,
363
643
  outputMint: debtMint,
@@ -369,8 +649,8 @@ class ClendVaultsClient {
369
649
  if (withdrawAll) {
370
650
  // Step 1: Get the current price via a nominal 1-token quote.
371
651
  const oneToken = (0, math_1.uiToAmount)(1, collateralDecimals);
372
- const nominalQuote = await this.swapper.getQuote({
373
- payer: vault,
652
+ const nominalQuote = await this.swapper.getQuote(vault, {
653
+ payer: vaultManager,
374
654
  inputMint: collateralMint,
375
655
  inputMintDecimals: collateralDecimals,
376
656
  outputMint: debtMint,
@@ -390,8 +670,8 @@ class ClendVaultsClient {
390
670
  // slippageBps,
391
671
  //);
392
672
  // Step 4 (Final Quote): Get the real quote for the buffered amount.
393
- swapQuote = await this.swapper.getQuote({
394
- payer: user,
673
+ swapQuote = await this.swapper.getQuote(vault, {
674
+ payer: vaultManager,
395
675
  inputMint: collateralMint,
396
676
  inputMintDecimals: collateralDecimals,
397
677
  outputMint: debtMint,
@@ -496,8 +776,8 @@ class ClendVaultsClient {
496
776
  const activeBankData = await this.clendClient.getBanks(activeBanks);
497
777
  const remainingAccounts = (0, clend_rpc_1.getClendAccountRemainingAccounts)(activeBankData);
498
778
  // Get a fresh 'ExactIn' quote for swapping the total collateral to withdraw
499
- const swapQuote = await this.swapper.getQuote({
500
- payer: vault,
779
+ const swapQuote = await this.swapper.getQuote(vault, {
780
+ payer: vaultManager,
501
781
  inputMint: collateralMint,
502
782
  inputMintDecimals: collateralDecimals,
503
783
  outputMint: debtMint,
@@ -600,31 +880,47 @@ class ClendVaultsClient {
600
880
  const { state: outputMintState, tokenProgram: outputMintTokenProgram } = await (0, state_1.getMintState)(outputMint, this.connection);
601
881
  const vaultAssetInReserve = (0, spl_token_1.getAssociatedTokenAddressSync)(inputMint, vault, true, inputMintTokenProgram);
602
882
  const vaultAssetOutReserve = (0, spl_token_1.getAssociatedTokenAddressSync)(outputMint, vault, true, outputMintTokenProgram);
603
- const quote = await this.swapper.getQuote({
604
- payer: vault,
883
+ const quote = await this.swapper.getQuote(vault, {
884
+ payer: this.address(),
605
885
  inputMint: inputMint,
606
886
  inputMintDecimals: inputMintState.decimals,
607
887
  outputMint: outputMint,
608
888
  outputMintDecimals: outputMintState.decimals,
609
889
  inputAmount: inAmount,
610
890
  swapMode: "ExactIn",
611
- slippageBps: 100,
891
+ slippageBps: 30,
612
892
  });
613
- // TODO: no setup ixns
614
893
  const swapIxns = await this.swapper.getSwapIxns(quote);
615
- const swapIx = swapIxns.ixns.find((ix) => ix.programId.equals(addresses_1.JUPITER_SWAP_PROGRAM_ID));
616
- if (!swapIx) {
617
- throw new Error(`Swap ix not found in swapIxns, programIds: ${JSON.stringify(swapIxns.ixns.map((ix) => ix.programId.toString()))}`);
618
- }
619
- const swapRemainingAccounts = swapIx.keys.map((key) => ({
620
- pubkey: key.pubkey,
621
- // If the account is the vault PDA, mark it as NOT a signer for the client transaction.
622
- isSigner: key.pubkey.equals(vault) ? false : key.isSigner,
623
- isWritable: key.isWritable,
624
- }));
625
- const swapData = swapIx.data;
626
- const ixns = await this.program.swap(vault, this.address(), inputMint, outputMint, vaultAssetInReserve, vaultAssetOutReserve, swapData, swapRemainingAccounts, addresses_1.JUPITER_SWAP_PROGRAM_ID);
627
- const txSig = await this.send(ixns);
894
+ //const swapIx = swapIxns.ixns[0];
895
+ ////const swapIx = swapIxns.ixns.find((ix) =>
896
+ //// ix.programId.equals(JUPITER_SWAP_PROGRAM_ID),
897
+ ////);
898
+ ////if (!swapIx) {
899
+ //// throw new Error(
900
+ //// `Swap ix not found in swapIxns, programIds: ${JSON.stringify(swapIxns.ixns.map((ix) => ix.programId.toString()))}`,
901
+ //// );
902
+ ////}
903
+ //const swapRemainingAccounts: web3.AccountMeta[] = swapIx.keys.map(
904
+ // (key) => ({
905
+ // pubkey: key.pubkey,
906
+ // // If the account is the vault PDA, mark it as NOT a signer for the client transaction.
907
+ // isSigner: key.pubkey.equals(vault) ? false : key.isSigner,
908
+ // isWritable: key.isWritable,
909
+ // }),
910
+ //);
911
+ //const swapData = swapIx.data;
912
+ //const ixns = await this.program.swap(
913
+ // vault,
914
+ // this.address(),
915
+ // inputMint,
916
+ // outputMint,
917
+ // vaultAssetInReserve,
918
+ // vaultAssetOutReserve,
919
+ // swapData,
920
+ // swapRemainingAccounts,
921
+ // JUPITER_SWAP_PROGRAM_ID,
922
+ //);
923
+ const txSig = await this.send(swapIxns.ixns, [], swapIxns.luts);
628
924
  return txSig;
629
925
  }
630
926
  async distributeFees(vault, sharesDestinationOwner) {
@@ -650,13 +946,28 @@ class ClendVaultsClient {
650
946
  const txSig = await this.send([ix]);
651
947
  return txSig;
652
948
  }
653
- async send(ixns, additionalSigners = []) {
949
+ async send(ixns, additionalSigners = [], luts = []) {
950
+ // get all lut accounts
951
+ const lutAccounts = [];
952
+ for (const lut of luts) {
953
+ const lutState = await this.program.program.provider.connection.getAddressLookupTable(lut, { commitment: "confirmed" });
954
+ if (lutState.value === null) {
955
+ throw new Error(`LUT not found: ${lut.toString()}`);
956
+ }
957
+ lutAccounts.push(lutState.value);
958
+ }
959
+ // detect if CU budget ixns are needed
960
+ const firstIx = ixns[0];
961
+ if (!firstIx.programId.equals(web3_js_1.ComputeBudgetProgram.programId)) {
962
+ ixns.unshift(web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({ units: 600000 }));
963
+ ixns.unshift(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({ microLamports: 1000 }));
964
+ }
654
965
  const { blockhash } = await this.connection.getLatestBlockhash("confirmed");
655
966
  const msg = new anchor_1.web3.TransactionMessage({
656
967
  payerKey: this.address(),
657
968
  recentBlockhash: blockhash,
658
969
  instructions: ixns,
659
- }).compileToV0Message();
970
+ }).compileToV0Message(lutAccounts);
660
971
  const tx = new anchor_1.web3.VersionedTransaction(msg);
661
972
  const signedTx = await this.program.program.provider.wallet.signTransaction(tx);
662
973
  signedTx.sign(additionalSigners);
package/dist/rpc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":";;;AAy7DA,oEAoFC;AA7gED,SAAS;AACT,8CAAsE;AACtE,6CAAmE;AACnE,iDAI2B;AAC3B,2CAAqC;AACrC,uCAA+C;AAE/C,0DASoC;AACpC,mCAMiB;AACjB,uCAAkD;AAClD,iCAMgB;AAChB,mCAAkC;AAClC,mCAAgC;AAChC,0DAAoD;AAKpD,MAAa,iBAAiB;IAQ5B,YACE,QAAwB,EACxB,gBAAyB,KAAK,EAC9B,SAAkB;QAElB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,4BAAkB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,uBAAW,CAChC,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,MAAa,EACtB,aAAa,EACb,CAAC,CACF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,+BAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,IAAI,aAAK,EAAS,CAAC;IACvC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAU,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,KAAqB,EACrB,WAAoB,KAAK;QAEzB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/D,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO,gBAAgB,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACnD,KAAK,EACL,gBAAgB,CACjB,CAAC;QAEF,oBAAoB;QACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;QAElD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,KAAqB,EACrB,gBAA0C;QAE1C,kCAAkC;QAClC,MAAM,EACJ,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EAAE,OAAO;UACnC,GAAG,MAAM,IAAA,4BAAoB,EAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAE/D,MAAM,UAAU,GAAG,IAAA,yCAAiC,EAClD,IAAI,CAAC,OAAO,EACZ,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,EACnD,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,CACzB,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAY;QAC/B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,kBAAkB,GACtB,EAAE,CAAC;QAEL,6BAA6B;QAC7B,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAChE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAC5C,CAAC;QAEF,0CAA0C;QAC1C,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;YACnD,MAAM,oBAAoB,GAAG,IAAA,oCAA6B,EACxD,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAC1C,CAAC;YACF,kBAAkB,CAAC,IAAI,CAAC;gBACtB,OAAO,EAAE,iBAAiB,CAAC,GAAG;gBAC9B,MAAM,EAAE,oBAAoB;aAC7B,CAAC,CAAC;YACH,WAAW,IAAI,oBAAoB,CAAC;QACtC,CAAC;QAED,oCAAoC;QACpC,MAAM,aAAa,GAAkD,EAAE,CAAC;QACxE,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YACrC,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACjD,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACxE,WAAW,IAAI,OAAO,CAAC;QACzB,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW;YACX,kBAAkB;YAClB,aAAa;SACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACb,UAA0B,EAC1B,gBAAwB;QAExB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CACjE,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,gBAAgB,CACjB,CAAC;QAEF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEvD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,KAAqB,EACrB,SAAyB,EACzB,WAA2B,EAC3B,WAAmB,EACnB,gBAAwB,EACxB,YAAoB;QAEpB,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,oBAAY,EAC3D,SAAS,EACT,IAAI,CAAC,UAAU,CAChB,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CACtC,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,EACd,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,YAAY,CACb,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAAqB,EACrB,UAA0B,EAC1B,WAAe;QAEf,MAAM,YAAY,GAAG,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAE7C,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAC5D,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,EACd,UAAU,EACV,YAAY,EACZ,WAAW,CACZ,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAExE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,KAAqB,EACrB,UAA0B;QAE1B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAC9C,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,EACd,UAAU,CACX,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAAqB,EACrB,gBAAwB;QAExB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAC3C,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,EACd,gBAAgB,CACjB,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAAqB,EACrB,SAAyB,EACzB,WAA0B,EAC1B,gBAA+B;QAE/B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAC3C,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,EACd,SAAS,EACT,WAAW,EACX,gBAAgB,CACjB,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,KAAqB,EACrB,SAAyB,EACzB,QAAY;QAEZ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAC5C,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,EACd,SAAS,EACT,QAAQ,CACT,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,KAAqB,EACrB,YAA4B,EAC5B,QAAY;QAEZ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CACnD,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,EACd,YAAY,EACZ,QAAQ,CACT,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAqB,EAAE,QAAY;QACxD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAC5C,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,EACd,QAAQ,CACT,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAK,CACT,KAAqB,EACrB,SAAyB,EACzB,MAAU;QAEV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACtC,IAAI,CAAC,OAAO,EAAE,EACd,KAAK,EACL,SAAS,EACT,MAAM,CACP,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAAoB,EACpB,KAAqB,EACrB,SAAyB,EACzB,MAAU;QAEV,2BAA2B;QAC3B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAChC,CAAC;QAEH,MAAM,iBAAiB,GAAG,MAAM,4BAA4B,CAC1D,UAAU,EACV,IAAI,CAAC,WAAW,CACjB,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACnC,KAAK,EACL,UAAU,CAAC,UAAU,EACrB,IAAI,EACJ,SAAS,EACT,SAAS,CAAC,MAAM,CAAC,OAAO,EACxB,MAAM,EACN,SAAS,CAAC,IAAI,CAAC,YAAY,EAC3B,iCAAqB,EACrB,iBAAiB,CAClB,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAAqB,EACrB,SAAyB,EACzB,YAAgB;QAEhB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACvC,IAAI,CAAC,OAAO,EAAE,EACd,KAAK,EACL,SAAS,EACT,YAAY,CACb,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAoB,EACpB,KAAqB,EACrB,SAAyB,EACzB,MAAU;QAEV,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAChC,CAAC;QAEH,MAAM,iBAAiB,GAAG,MAAM,4BAA4B,CAC1D,UAAU,EACV,IAAI,CAAC,WAAW,CACjB,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,KAAK,EACL,UAAU,CAAC,UAAU,EACrB,IAAI,EACJ,SAAS,EACT,SAAS,CAAC,MAAM,CAAC,OAAO,EACxB,MAAM,EACN,SAAS,CAAC,IAAI,CAAC,YAAY,EAC3B,iCAAqB,EACrB,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,KAAqB,EACrB,YAA4B,EAC5B,SAAyB,EACzB,MAAU;QAEV,2BAA2B;QAC3B,MAAM,gBAAgB,GACpB,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,mBAAmB;QACnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAChC,CAAC;QAEH,uCAAuC;QACvC,MAAM,EAAE,GAAG,IAAA,4CAAgC,EAAC,EAAE,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CACjD,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,EACd,gBAAgB,CAAC,KAAK,EACtB,YAAY,EACZ,SAAS,EACT,SAAS,CAAC,IAAI,CAAC,YAAY,EAC3B,MAAM,EACN,SAAS,CAAC,OAAO,CAAC,OAAO,EACzB,EAAE,CACH,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,KAAqB,EACrB,YAA4B,EAC5B,SAAyB,EACzB,MAAU;QAEV,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAChC,CAAC;QAEH,4CAA4C;QAC5C,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAE,CAAC;QAEtE,2BAA2B;QAC3B,MAAM,gBAAgB,GACpB,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,qBAAqB;QACrB,MAAM,uBAAuB,GAC3B,IAAA,sCAA0B,EAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CACpD,uBAAuB,CACxB,CAAC;QAEF,MAAM,EAAE,GAAG,IAAA,4CAAgC,EAAC,cAAc,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAClD,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,EACd,gBAAgB,CAAC,KAAK,EACtB,YAAY,EACZ,SAAS,EACT,SAAS,CAAC,IAAI,CAAC,YAAY,EAC3B,MAAM,EACN,EAAE,CACH,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,KAAqB,EACrB,YAA4B,EAC5B,SAAyB,EACzB,MAAmB;QAEnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAChC,CAAC;QAEH,4CAA4C;QAC5C,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAE,CAAC;QAEtE,MAAM,gBAAgB,GACpB,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,EAAE,GAAG,IAAA,4CAAgC,EAAC,EAAE,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC/C,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,EACd,gBAAgB,CAAC,KAAK,EACtB,YAAY,EACZ,SAAS,EACT,SAAS,CAAC,IAAI,CAAC,YAAY,EAC3B,MAAM,EACN,EAAE,CACH,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,KAAqB,EACrB,YAA4B,EAC5B,SAAyB,EACzB,MAAU;QAEV,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAChC,CAAC;QAEH,4CAA4C;QAC5C,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAE,CAAC;QAEtE,MAAM,gBAAgB,GACpB,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,qBAAqB;QACrB,MAAM,uBAAuB,GAC3B,IAAA,sCAA0B,EAAC,gBAAgB,CAAC,CAAC;QAE/C,yCAAyC;QACzC,iDAAiD;QACjD,MAAM,UAAU,GAAG,IAAA,sBAAU,EAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CACrB,CAAC;QACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CACpD,uBAAuB,CACxB,CAAC;QAEF,MAAM,EAAE,GAAG,IAAA,4CAAgC,EAAC,cAAc,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChD,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,EACd,gBAAgB,CAAC,KAAK,EACtB,YAAY,EACZ,SAAS,EACT,SAAS,CAAC,IAAI,CAAC,YAAY,EAC3B,MAAM,EACN,EAAE,CACH,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,6BAA6B,CACjC,KAAqB,EACrB,SAAyB;QAEzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE9C,yBAAyB;QACzB,MAAM,eAAe,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,cAAc;QACd,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAC3D,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,sCAAsC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5F,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,MAAM,IAAI,GAAkC,EAAE,CAAC;QAC/C,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;YACnD,6CAA6C;YAC7C,MAAM,WAAW,GAAG,IAAA,sCAA0B,EAAC,iBAAiB,CAAC,CAAC;YAElE,cAAc;YACd,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAErE,iCAAiC;YACjC,MAAM,2BAA2B,GAAG,eAAe;iBAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;iBAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,2BAA2B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,qCAAqC;gBACrC,SAAS;YACX,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,2BAA2B,EAAE,CAAC;gBAC/C,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CACzD,KAAK,EACL,UAAU,CAAC,OAAO,EAClB,iBAAiB,CAAC,KAAK,EACvB,iBAAiB,CAAC,GAAG,EACrB,IAAI,EACJ,SAAS,EACT,4BAAgB,CACjB,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6CAA6C;IAC7C,mCAAmC;IACnC,iCAAiC;IACjC,mCAAmC;IACnC,6BAA6B;IAC7B,2BAA2B;IAC3B,wBAAwB;IACxB,sBAAsB;IACtB,6BAA6B;IAC7B,2DAA2D;IAC3D,6BAA6B;IAC7B,6EAA6E;IAC7E,KAAK;IAEL,sEAAsE;IACtE,8BAA8B;IAC9B,mBAAmB;IACnB,qBAAqB;IACrB,eAAe;IACf,qBAAqB;IACrB,kBAAkB;IAClB,mBAAmB;IACnB,MAAM;IAEN,+BAA+B;IAC/B,GAAG;IAEH,KAAK,CAAC,cAAc,CAClB,KAAqB,EACrB,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,cAAsB,EACtB,WAAmB;QAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC/C,UAAU,EACV,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,cAAc,EACd,WAAW,CACZ,CAAC;QAEF,0CAA0C;QAC1C,4BAA4B;QAC5B,qCAAqC;QACrC,IAAI;QAEJ,sEAAsE;QACtE,oBAAoB;QACpB,iKAAiK;QACjK,MAAM;QACN,GAAG;QAEH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACrD,YAAY,EACZ,KAAK,EACL,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,kBAAkB,EACzB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,sBAAsB,EAC7B,WAAW,EACX,CAAC,CACF,CAAC;QAEF,mBAAmB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,uBAAuB,CAC3B,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,cAAsB,EACtB,WAAmB;QAQnB,gBAAgB;QAChB,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzE,cAAc;YACd,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;QAC/C,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAE3D,kDAAkD;QAClD,MAAM,iBAAiB,GACrB,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,yCAAyC;QACzC,IAAI,WAAgC,CAAC;QACrC,IAAI,iBAAsC,CAAC;QAE3C,KAAK,MAAM,OAAO,IAAI,iBAAiB,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAChE,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtD,WAAW,GAAG,OAAO,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5D,iBAAiB,GAAG,OAAO,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,sDAAsD;QACtD,IACE,WAAW,CAAC,eAAe,KAAK,SAAS;YACzC,WAAW,CAAC,eAAe,KAAK,IAAI,EACpC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,cAAc,CAAC;QAC5D,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC;QAChD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC;QAEpC,mDAAmD;QACnD,MAAM,oBAAoB,GAAG,kBAAM,CAAC,0BAA0B;QAC5D,6BAA6B;QAC7B,WAAW,CAAC,eAAe,EAC3B,YAAY,CAAC,mBAAmB,EAChC,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,EAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAC9B,CAAC;QACF,MAAM,sBAAsB,GAAG,IAAA,iBAAU,EACvC,oBAAoB,EACpB,YAAY,CACb,CAAC;QAEF,+FAA+F;QAC/F,0CAA0C;QAC1C,MAAM,eAAe,GAAG,kBAAM,CAAC,yBAAyB,CACtD,kBAAkB,EAClB,eAAe,EACf,CAAC,EACD,sBAAsB,EAAE,6BAA6B;QACrD,SAAS,EACT,CAAC,CACF,CAAC;QAEF,8DAA8D;QAC9D,MAAM,EACJ,eAAe,EAAE,sBAAsB,EACvC,SAAS,EAAE,gBAAgB,EAC3B,UAAU,GACX,GAAG,kBAAM,CAAC,4BAA4B,CACrC,kBAAkB,EAClB,sBAAsB,EAAE,6BAA6B;QACrD,eAAe,EACf,SAAS,EACT,eAAe,EACf,cAAc,EACd,CAAC,EACD,CAAC,CACF,CAAC;QAEF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,sBAA8B,CAAC;QAEnC,+CAA+C;QAC/C,IAAI,UAAU,EAAE,CAAC;YACf,sBAAsB,GAAG,sBAAsB,CAAC,CAAC,gDAAgD;YAEjG,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;gBAC1B,gBAAgB,GAAG,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,kCAAkC;gBAClC,MAAM,yBAAyB,GAAG,IAAA,iBAAU,EAC1C,gBAAgB,EAChB,YAAY,CACb,CAAC;gBAEF,gCAAgC;gBAChC,MAAM,kBAAkB,GACtB,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC,sBAAsB,CAAC;gBAChE,MAAM,sBAAsB,GAAG,kBAAM,CAAC,6BAA6B,CACjE,yBAAyB,EACzB,kBAAkB,CACnB,CAAC;gBAEF,uCAAuC;gBACvC,MAAM,mBAAmB,GAAG,kBAAM,CAAC,uBAAuB;gBACxD,uBAAuB;gBACvB,sBAAsB,EACtB,WAAW,CACZ,CAAC;gBAEF,2DAA2D;gBAC3D,gBAAgB,GAAG,IAAA,iBAAU,EAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;gBAC1B,gBAAgB,GAAG,CAAC,CAAC;gBACrB,sBAAsB,GAAG,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,oDAAoD;gBACpD,MAAM,eAAe,GAAG,IAAA,iBAAU,EAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;gBAEnE,MAAM,aAAa,GAAG,EAAE,CAAC;gBAEzB,+DAA+D;gBAC/D,MAAM,wBAAwB,GAAG,kBAAM,CAAC,wBAAwB;gBAC9D,6BAA6B;gBAC7B,eAAe,EACf,YAAY,CAAC,SAAS,EACtB,aAAa,CACd,CAAC;gBACF,gBAAgB,GAAG,IAAA,iBAAU,EAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC,CAAC,uCAAuC;gBAE9G,sDAAsD;gBACtD,MAAM,cAAc,GAAG,IAAI,oBAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,eAAe,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;oBAC3C,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;gBACJ,CAAC;gBAED,0FAA0F;gBAC1F,MAAM,wBAAwB,GAAG,IAAI,oBAAO,CAAC,gBAAgB,CAAC,CAAC,oCAAoC;qBAChG,GAAG,CAAC,SAAS,CAAC;qBACd,GAAG,CAAC,eAAe,CAAC,CAAC;gBAExB,2CAA2C;gBAC3C,MAAM,wBAAwB,GAAG,IAAA,iBAAU,EACzC,wBAAwB,CAAC,QAAQ,EAAE,EACnC,kBAAkB,CACnB,CAAC;gBAEF,qEAAqE;gBACrE,MAAM,mBAAmB,GAAG,kBAAM,CAAC,uBAAuB;gBACxD,uBAAuB;gBACvB,wBAAwB,EACxB,WAAW,CACZ,CAAC;gBAEF,qEAAqE;gBACrE,sBAAsB,GAAG,IAAA,iBAAU,EACjC,mBAAmB,EACnB,kBAAkB,CACnB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC7D,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAEjD,OAAO;YACL,sBAAsB;YACtB,gBAAgB;YAChB,UAAU;YACV,kBAAkB;YAClB,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,qBAAqB,CACzB,YAA4B,EAC5B,KAAqB,EACrB,YAAkB,EAClB,kBAAwB,EACxB,UAAmB,EACnB,gBAAwB,EAAE,4DAA4D;IACtF,sBAA8B,EAAE,4DAA4D;IAC5F,WAAmB,EACnB,kBAA0B;QAE1B,MAAM,iBAAiB,GACrB,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CACb,4CAA4C,YAAY,CAAC,QAAQ,EAAE,uBAAuB,KAAK,CAAC,QAAQ,EAAE,EAAE,CAC7G,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC;QAExC,MAAM,gBAAgB,GAAG,MAAM,IAAA,yCAA6B,EAC1D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EACxC,YAAY,CAAC,IAAI,CAClB,CAAC;QACF,MAAM,sBAAsB,GAAG,MAAM,IAAA,yCAA6B,EAChE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EACxC,kBAAkB,CAAC,IAAI,CACxB,CAAC;QAEF,MAAM,iBAAiB,GAAG,IAAA,yCAA6B,EACrD,kBAAkB,CAAC,IAAI,EACvB,KAAK,EACL,IAAI,EACJ,sBAAsB,CACvB,CAAC;QAEF,wCAAwC;QACxC,IAAI,WAAW,GAAG,IAAA,sCAA0B,EAAC,iBAAiB,CAAC,CAAC;QAEhE,wDAAwD;QACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/D,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrE,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEpE,MAAM,iBAAiB,GAAG,IAAA,4CAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,mCAAmC;QACnC,MAAM,YAAY,GAAkC,EAAE,CAAC;QACvD,IAAI,gBAAgB,GAAqB,EAAE,CAAC;QAE5C,IAAI,UAAU,EAAE,CAAC;YACf,gEAAgE;YAChE,MAAM,oBAAoB,GAAG,IAAA,iBAAU,EACrC,gBAAgB,EAChB,YAAY,CAAC,YAAY,CAC1B,CAAC;YAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACnD,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE;gBACrB,SAAS,EAAE,YAAY,CAAC,IAAI;gBAC5B,iBAAiB,EAAE,YAAY,CAAC,YAAY;gBAC5C,UAAU,EAAE,kBAAkB,CAAC,IAAI;gBACnC,kBAAkB,EAAE,kBAAkB,CAAC,YAAY;gBACnD,WAAW,EAAE,oBAAoB;gBACjC,WAAW;gBACX,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAE3D,MAAM,gBAAgB,GAAG,MAAM,IAAA,yCAA6B,EAC1D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EACxC,YAAY,CAAC,IAAI,CAClB,CAAC;YAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CACtD,KAAK,EACL,YAAY,EACZ,iBAAiB,CAAC,KAAK,EACvB,YAAY,EACZ,YAAY,CAAC,IAAI,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,CAClB,CAAC;YAEF,MAAM,0BAA0B,GAAG,SAAS,CAAC,SAAS,CAAC;YAEvD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CACxD,KAAK,EACL,YAAY,EACZ,iBAAiB,CAAC,KAAK,EACvB,YAAY,EACZ,kBAAkB,CAAC,IAAI,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,CAClB,CAAC;YAEF,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,CAAC;YACnE,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,MAAM,sBAAsB,GAAG,IAAA,iBAAU,EACvC,sBAAsB,EACtB,kBAAkB,CAAC,YAAY,CAChC,CAAC;YAEF,sEAAsE;YACtE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACnD,KAAK,EAAE,YAAY;gBACnB,SAAS,EAAE,kBAAkB,CAAC,IAAI;gBAClC,iBAAiB,EAAE,kBAAkB,CAAC,YAAY;gBAClD,UAAU,EAAE,YAAY,CAAC,IAAI;gBAC7B,kBAAkB,EAAE,YAAY,CAAC,YAAY;gBAC7C,WAAW,EAAE,sBAAsB,EAAE,8CAA8C;gBACnF,WAAW;gBACX,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;YAEH,wEAAwE;YACxE,4DAA4D;YAC5D,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC;YAE7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAE3D,yDAAyD;YACzD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC1D,KAAK,EACL,YAAY,EACZ,iBAAiB,CAAC,KAAK,EACvB,YAAY,EACZ,kBAAkB,CAAC,IAAI,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,CAClB,CAAC;YAEF,sCAAsC;YACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CACpD,KAAK,EACL,YAAY,EACZ,iBAAiB,CAAC,KAAK,EACvB,YAAY,EACZ,YAAY,CAAC,IAAI,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,CAClB,CAAC;YAEF,YAAY,CAAC,IAAI,CAAC,GAAG,YAAY,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC;YACnE,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC;QACnC,CAAC;QAED,8BAA8B;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,QAAQ,GAAG,IAAI,WAAE,CACrB,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,CACtD,CAAC;QAEF,MAAM,6BAA6B,GACjC,IAAA,4CAAgC,EAAC,cAAc,CAAC,CAAC;QACnD,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GACxC,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,2BAA2B,CAC7D,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,6BAA6B,CAC9B,CAAC;QAEJ,MAAM,iBAAiB,GAAG;YACxB,gBAAgB;YAChB,GAAG,YAAY;YACf,cAAc;SACf,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAC7D,CAAC;IAED,2CAA2C;IAC3C,sDAAsD;IACtD,wDAAwD;IACxD,KAAK,CAAC,iCAAiC,CACrC,IAAoB,EACpB,KAAqB,EACrB,YAA4B,EAC5B,eAA+B,EAC/B,cAA8B,EAC9B,QAAwB,EACxB,mBAAuB,EACvB,8BAAkC,EAClC,WAAmB;QAEnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACpD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CACvC,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,qBAAqB,eAAe,CAAC,QAAQ,EAAE,uBAAuB,KAAK,CAAC,QAAQ,EAAE,EAAE,CACzF,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAE1D,MAAM,cAAc,GAAG,IAAA,iBAAU,EAC/B,UAAU,CAAC,YAAY,EACvB,UAAU,CAAC,cAAc,CAC1B,CAAC;QACF,MAAM,gCAAgC,GAAG,IAAA,iBAAU,EACjD,8BAA8B,EAC9B,UAAU,CAAC,cAAc,CAC1B,CAAC;QACF,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAE5E,sCAAsC;QACtC,MAAM,mBAAmB,GAAG,IAAA,2BAAoB,EAC9C,QAAQ,EACR,gCAAgC,EAChC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAC9B,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAChC,CAAC;QAEF,mDAAmD;QACnD,MAAM,mBAAmB,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAC/B,CAAC;QACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,iBAAiB,YAAY,CAAC,QAAQ,EAAE,uBAAuB,KAAK,CAAC,QAAQ,EAAE,SAAS,CACzF,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,MAAM,iBAAiB,GACrB,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,uCAAuC,YAAY,CAAC,QAAQ,EAAE,EAAE,CACjE,CAAC;QACJ,CAAC;QAED,iEAAiE;QACjE,+CAA+C;QAC/C,IAAI,gBAAgB,GAAW,CAAC,CAAC;QACjC,IAAI,SAAS,GAAW,CAAC,CAAC,CAAC,sDAAsD;QACjF,gBAAgB,IAAI,SAAS,CAAC;QAE9B,0BAA0B;QAC1B,iDAAiD;QACjD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC7C,IAAI,EACJ,KAAK,EACL,eAAe,EACf,mBAAmB,CACpB,CAAC;QAEF,6CAA6C;QAC7C,6BAA6B;QAC7B,IAAI,WAAe,CAAC;QACpB,IAAI,oBAAwB,CAAC;QAC7B,IAAI,YAAkB,CAAC;QACvB,IAAI,kBAAwB,CAAC;QAC7B,QAAQ,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnC,KAAK,cAAc,CAAC,QAAQ,EAAE;gBAC5B,mCAAmC;gBACnC,MAAM,EACJ,WAAW,EAAE,qBAAqB,EAClC,oBAAoB,EAAE,8BAA8B,EACpD,YAAY,EAAE,sBAAsB,EACpC,kBAAkB,EAAE,4BAA4B,GACjD,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,sCAAsC,CAC/D,iBAAiB,CAAC,KAAK,EACvB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,mBAAmB,EACnB,KAAK,CACN,CAAC;gBACF,WAAW,GAAG,qBAAqB,CAAC;gBACpC,oBAAoB,GAAG,8BAA8B,CAAC;gBACtD,YAAY,GAAG,sBAAsB,CAAC;gBACtC,kBAAkB,GAAG,4BAA4B,CAAC;gBAClD,MAAM;YACR,KAAK,QAAQ,CAAC,QAAQ,EAAE;gBACtB,mCAAmC;gBACnC,MAAM,EACJ,WAAW,EAAE,eAAe,EAC5B,oBAAoB,EAAE,wBAAwB,EAC9C,YAAY,EAAE,gBAAgB,EAC9B,kBAAkB,EAAE,sBAAsB,GAC3C,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gCAAgC,CACzD,iBAAiB,CAAC,KAAK,EACvB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,mBAAmB,EACnB,KAAK,CACN,CAAC;gBACF,WAAW,GAAG,eAAe,CAAC;gBAC9B,oBAAoB,GAAG,wBAAwB,CAAC;gBAChD,YAAY,GAAG,gBAAgB,CAAC;gBAChC,kBAAkB,GAAG,sBAAsB,CAAC;gBAC5C,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CACb,8BAA8B,eAAe,CAAC,QAAQ,EAAE,EAAE,CAC3D,CAAC;QACN,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,GAAkC,EAAE,CAAC;QAC7C,IAAI,IAAI,GAAqB,EAAE,CAAC;QAChC,QAAQ,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnC,KAAK,cAAc,CAAC,QAAQ,EAAE;gBAC5B,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,GAClD,MAAM,IAAI,CAAC,iCAAiC,CAC1C,KAAK,EACL,UAAU,CAAC,OAAO,EAClB,IAAI,EACJ,iBAAiB,CAAC,KAAK,EACvB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,kBAAkB,CAAC,YAAY,EAC/B,YAAY,CAAC,YAAY,EACzB,KAAK,EACL,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,gBAAgB,CACjB,CAAC;gBACJ,IAAI,GAAG,cAAc,CAAC;gBACtB,IAAI,GAAG,cAAc,CAAC;gBACtB,MAAM;YACR,KAAK,QAAQ,CAAC,QAAQ,EAAE;gBACtB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GACtC,MAAM,IAAI,CAAC,2BAA2B,CACpC,KAAK,EACL,UAAU,CAAC,OAAO,EAClB,IAAI,EACJ,iBAAiB,CAAC,KAAK,EACvB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,kBAAkB,CAAC,YAAY,EAC/B,YAAY,CAAC,YAAY,EACzB,KAAK,EACL,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,gBAAgB,CACjB,CAAC;gBACJ,IAAI,GAAG,QAAQ,CAAC;gBAChB,IAAI,GAAG,QAAQ,CAAC;gBAChB,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CACb,8BAA8B,eAAe,CAAC,QAAQ,EAAE,EAAE,CAC3D,CAAC;QACN,CAAC;QAED,MAAM,OAAO,GAAkC,CAAC,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC;QAExE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,iCAAiC,CACrC,KAAqB,EACrB,YAA4B,EAC5B,IAAoB,EACpB,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,kBAA0B,EAC1B,YAAoB,EACpB,WAAoB,EACpB,oBAAwB,EACxB,6BAAiC,EACjC,WAAe,EACf,WAAmB,EACnB,kBAA0B;QAE1B,MAAM,gBAAgB,GACpB,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,WAAW,GAAG,IAAA,sCAA0B,EAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpE,MAAM,iBAAiB,GAAG,IAAA,4CAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,gCAAgC;QAChC,mCAAmC;QACnC,IAAI,gBAAgB,GAAG,oBAAoB,CAAC,GAAG,CAC7C,6BAA6B,CAC9B,CAAC;QAEF,8BAA8B;QAC9B,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;YACjD,KAAK,EAAE,YAAY;YACnB,SAAS,EAAE,cAAc;YACzB,iBAAiB,EAAE,kBAAkB;YACrC,UAAU,EAAE,QAAQ;YACpB,kBAAkB,EAAE,YAAY;YAChC,WAAW,EAAE,gBAAgB;YAC7B,WAAW;YACX,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE,CAAC;YAChB,6DAA6D;YAC7D,MAAM,QAAQ,GAAG,IAAA,iBAAU,EAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACnD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACtD,KAAK,EAAE,YAAY;gBACnB,SAAS,EAAE,cAAc;gBACzB,iBAAiB,EAAE,kBAAkB;gBACrC,UAAU,EAAE,QAAQ;gBACpB,kBAAkB,EAAE,YAAY;gBAChC,WAAW,EAAE,QAAQ;gBACrB,WAAW;gBACX,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,IAAA,iBAAU,EAC5B,YAAY,CAAC,oBAAoB,EACjC,YAAY,CACb,CAAC;YAEF,kEAAkE;YAClE,MAAM,aAAa,GAAG,IAAI,oBAAO,CAC/B,IAAA,iBAAU,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,CACjD,CAAC;YACF,MAAM,wBAAwB,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAChE,MAAM,sBAAsB,GAAG,IAAA,iBAAU,EACvC,wBAAwB,CAAC,QAAQ,EAAE,EACnC,kBAAkB,CACnB,CAAC;YACF,gBAAgB,GAAG,sBAAsB,CAAC;YAC1C,6CAA6C;YAC7C,2BAA2B;YAC3B,gBAAgB;YAChB,IAAI;YAEJ,oEAAoE;YACpE,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;gBAC7C,KAAK,EAAE,YAAY;gBACnB,SAAS,EAAE,cAAc;gBACzB,iBAAiB,EAAE,kBAAkB;gBACrC,UAAU,EAAE,QAAQ;gBACpB,kBAAkB,EAAE,YAAY;gBAChC,WAAW,EAAE,gBAAgB;gBAC7B,WAAW;gBACX,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;YAEH,uBAAuB;YACvB,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CACb;YACE,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,WAAW,CAAC,QAAQ,EAAE,EAAE,CAC1E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,sFAAsF;QACtF,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC;QAE7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAE3D,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,GAAG,MAAM,IAAA,oBAAY,EACjE,cAAc,EACd,IAAI,CAAC,UAAU,CAChB,CAAC;QACF,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,oBAAY,EAC3D,QAAQ,EACR,IAAI,CAAC,UAAU,CAChB,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CACxD,KAAK,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,CAClB,CAAC;QAEF,2HAA2H;QAC3H,MAAM,aAAa,GAAkC,EAAE,CAAC;QACxD,IAAI,WAAW,EAAE,CAAC;YAChB,gBAAgB;YAChB,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACnD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAC9B,CAAC;YACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,8BAA8B,cAAc,CAAC,QAAQ,EAAE,EAAE,CAC1D,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,8BAA8B;YAC9B,MAAM;YACN,uEAAuE;YACvE,qEAAqE;YACrE,kCAAkC;YAClC,qDAAqD;YACrD,KAAK;YACL,2DAA2D;YAC3D,0EAA0E;YAC1E,sBAAsB;YACtB,oBAAoB;YACpB,MAAM;YACN,8EAA8E;YAE9E,iBAAiB;YACjB,mBAAmB;YACnB,iCAAiC;YACjC,qBAAqB;YACrB,oBAAoB;YACpB,gCAAgC;YAChC,MAAM;YACN,+CAA+C;YAC/C,GAAG;YAEH,wBAAwB;YACxB,MAAM;YACN,iEAAiE;YACjE,8DAA8D;YAC9D,0EAA0E;YAC1E,KAAK;YACL,qDAAqD;YACrD,0EAA0E;YAC1E,sBAAsB;YACtB,oBAAoB;YACpB,MAAM;YACN,iFAAiF;YACjF,iBAAiB;YACjB,mBAAmB;YACnB,iCAAiC;YACjC,eAAe;YACf,oBAAoB;YACpB,gCAAgC;YAChC,MAAM;YACN,+CAA+C;YAC/C,GAAG;QACL,CAAC;QAED,mEAAmE;QACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAClD,KAAK,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,CAClB,CAAC;QAEF,MAAM,oBAAoB,GAAkC;YAC1D,GAAG,aAAa;YAChB,GAAG,UAAU;YACb,GAAG,QAAQ,CAAC,IAAI;YAChB,GAAG,OAAO;SACX,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,QAAQ,GAAG,IAAA,eAAO,EACtB,MAAM,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,CAC9D,CAAC;QACF,MAAM,6BAA6B,GACjC,IAAA,4CAAgC,EAAC,cAAc,CAAC,CAAC;QAEnD,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GACxC,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,2BAA2B,CAC7D,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,6BAA6B,CAC9B,CAAC;QAEJ,MAAM,YAAY,GAAG;YACnB,gBAAgB;YAChB,GAAG,oBAAoB;YACvB,cAAc;SACf,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,KAAqB,EACrB,YAA4B,EAC5B,IAAoB,EACpB,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,kBAA0B,EAC1B,YAAoB,EACpB,WAAoB,EACpB,WAAe,EACf,oBAAwB,EACxB,WAAmB,EACnB,kBAA0B;QAE1B,MAAM,gBAAgB,GACpB,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,WAAW,GAAG,IAAA,sCAA0B,EAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpE,MAAM,iBAAiB,GAAG,IAAA,4CAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,4EAA4E;QAC5E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;YACnD,KAAK,EAAE,YAAY;YACnB,SAAS,EAAE,cAAc;YACzB,iBAAiB,EAAE,kBAAkB;YACrC,UAAU,EAAE,QAAQ;YACpB,kBAAkB,EAAE,YAAY;YAChC,WAAW,EAAE,oBAAoB;YACjC,WAAW;YACX,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;QAEH,8EAA8E;QAC9E,MAAM,uBAAuB,GAAG,SAAS,CAAC,SAAS,CAAC;QAEpD,yGAAyG;QACzG,MAAM,gBAAgB,GAAG,WAAE,CAAC,GAAG,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;QAEtE,yCAAyC;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAE3D,sCAAsC;QACtC,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,GAAG,MAAM,IAAA,oBAAY,EACjE,cAAc,EACd,IAAI,CAAC,UAAU,CAChB,CAAC;QACF,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,oBAAY,EAC3D,QAAQ,EACR,IAAI,CAAC,UAAU,CAChB,CAAC;QACF,+FAA+F;QAC/F,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CACxD,KAAK,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,CAClB,CAAC;QAEF,2HAA2H;QAC3H,MAAM,aAAa,GAAkC,EAAE,CAAC;QACxD,IAAI,WAAW,EAAE,CAAC;YAChB,gBAAgB;YAChB,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACnD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAC9B,CAAC;YACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,8BAA8B,cAAc,CAAC,QAAQ,EAAE,EAAE,CAC1D,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,8BAA8B;YAC9B,MAAM;YACN,uEAAuE;YACvE,qEAAqE;YACrE,kCAAkC;YAClC,qDAAqD;YACrD,KAAK;YACL,2DAA2D;YAC3D,0EAA0E;YAC1E,sBAAsB;YACtB,oBAAoB;YACpB,MAAM;YACN,0EAA0E;YAC1E,iBAAiB;YACjB,mBAAmB;YACnB,iCAAiC;YACjC,qBAAqB;YACrB,oBAAoB;YACpB,gCAAgC;YAChC,MAAM;YACN,+CAA+C;YAC/C,GAAG;YAEH,wBAAwB;YACxB,MAAM;YACN,iEAAiE;YACjE,8DAA8D;YAC9D,0EAA0E;YAC1E,KAAK;YACL,qDAAqD;YACrD,0EAA0E;YAC1E,sBAAsB;YACtB,oBAAoB;YACpB,MAAM;YACN,0EAA0E;YAC1E,iBAAiB;YACjB,mBAAmB;YACnB,iCAAiC;YACjC,eAAe;YACf,oBAAoB;YACpB,gCAAgC;YAChC,MAAM;YACN,+CAA+C;YAC/C,GAAG;QACL,CAAC;QAED,oFAAoF;QACpF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAClD,KAAK,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAAE,yDAAyD;QAC3E,iBAAiB,CAClB,CAAC;QAEF,wBAAwB;QACxB,MAAM,oBAAoB,GAAkC;YAC1D,GAAG,aAAa;YAChB,GAAG,UAAU;YACb,GAAG,QAAQ,CAAC,IAAI;YAChB,GAAG,OAAO;SACX,CAAC;QAEF,sBAAsB;QACtB,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,QAAQ,GAAG,IAAA,eAAO,EACtB,MAAM,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,CAC9D,CAAC;QACF,MAAM,6BAA6B,GACjC,IAAA,4CAAgC,EAAC,cAAc,CAAC,CAAC;QAEnD,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GACxC,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,2BAA2B,CAC7D,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,6BAA6B,CAC9B,CAAC;QAEJ,MAAM,YAAY,GAAG;YACnB,gBAAgB;YAChB,GAAG,oBAAoB;YACvB,cAAc;SACf,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,IAAI,CACR,KAAqB,EACrB,SAAyB,EACzB,UAA0B,EAC1B,QAAY;QAEZ,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,qBAAqB,EAAE,GAClE,MAAM,IAAA,oBAAY,EAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,sBAAsB,EAAE,GACpE,MAAM,IAAA,oBAAY,EAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,mBAAmB,GAAG,IAAA,yCAA6B,EACvD,SAAS,EACT,KAAK,EACL,IAAI,EACJ,qBAAqB,CACtB,CAAC;QACF,MAAM,oBAAoB,GAAG,IAAA,yCAA6B,EACxD,UAAU,EACV,KAAK,EACL,IAAI,EACJ,sBAAsB,CACvB,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;YAC/C,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE;YACrB,SAAS,EAAE,SAAS;YACpB,iBAAiB,EAAE,cAAc,CAAC,QAAQ;YAC1C,UAAU,EAAE,UAAU;YACtB,kBAAkB,EAAE,eAAe,CAAC,QAAQ;YAC5C,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,SAAS;YACnB,WAAW,EAAE,EAAE;SAChB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvD,kCAAkC;QAClC,6CAA6C;QAC7C,mDAAmD;QACnD,MAAM;QACN,kBAAkB;QAClB,sBAAsB;QACtB,2HAA2H;QAC3H,QAAQ;QACR,KAAK;QACL,oEAAoE;QACpE,eAAe;QACf,yBAAyB;QACzB,6FAA6F;QAC7F,gEAAgE;QAChE,iCAAiC;QACjC,OAAO;QACP,IAAI;QACJ,+BAA+B;QAE/B,uCAAuC;QACvC,UAAU;QACV,mBAAmB;QACnB,cAAc;QACd,eAAe;QACf,wBAAwB;QACxB,yBAAyB;QACzB,aAAa;QACb,0BAA0B;QAC1B,4BAA4B;QAC5B,IAAI;QACJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEhE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,KAAqB,EACrB,sBAAsC;QAEtC,mBAAmB;QACnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QACnC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC;QAErC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAC5C,KAAK,EACL,OAAO,EACP,MAAM,EACN,sBAAsB,CACvB,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,KAAqB,EACrB,KAAqB,EACrB,IAAoB;QAEpB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC;QACrC,MAAM,iBAAiB,GAAG,MAAM,4BAA4B,CAC1D,UAAU,EACV,IAAI,CAAC,WAAW,CACjB,CAAC;QAEF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAC/C,KAAK,EACL,MAAM,EACN,KAAK,EACL,IAAI,EACJ,iBAAiB,CAClB,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,KAAqB,EACrB,SAAyB,EACzB,YAA2B,EAC3B,MAA6B;QAE7B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC7C,KAAK,EACL,IAAI,CAAC,OAAO,EAAE,EAAE,+EAA+E;QAC/F,SAAS,EACT,YAAY,EACZ,MAAM,CACP,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAmC,EACnC,oBAAmC,EAAE,EACrC,OAAyB,EAAE;QAE3B,uBAAuB;QACvB,MAAM,WAAW,GAAqC,EAAE,CAAC;QACzD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAClE,GAAG,EACH,EAAE,UAAU,EAAE,WAAW,EAAE,CAC5B,CAAC;YACJ,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,8BAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,8BAAoB,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,CACV,8BAAoB,CAAC,mBAAmB,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAClE,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAI,aAAI,CAAC,kBAAkB,CAAC;YACtC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;YACxB,eAAe,EAAE,SAAS;YAC1B,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEnC,MAAM,EAAE,GAAG,IAAI,aAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAE9C,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAClE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEjC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACpD,QAAQ,CAAC,SAAS,EAAE,EACpB;gBACE,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CACF,CAAC;YAEF,iDAAiD;YACjD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAE5B,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,aAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,QAAQ;QAEtC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,EAAE;gBACnE,wBAAwB,EAAE,KAAK;aAChC,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC5D,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,WAAW,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CACb,OAAO,KAAK,uBAAuB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CACrE,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,qCAAqC;YAC/C,CAAC;YAED,IAAI,OAAO,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC9B,4BAA4B;gBAC5B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,oBAAoB,WAAW,WAAW,CAAC,CAAC;IAC7E,CAAC;CACF;AA54DD,8CA44DC;AAEM,KAAK,UAAU,4BAA4B,CAChD,UAAiB,EACjB,WAAwB;IAExB,gEAAgE;IAChE,MAAM,UAAU,GAAqB,UAAU,CAAC,MAAM,CAAC,GAAG,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CACtB,CAAC;IACF,MAAM,YAAY,GAAqB,UAAU,CAAC,MAAM,CAAC,GAAG,CAC1D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CACxB,CAAC;IACF,MAAM,aAAa,GAAqB,UAAU,CAAC,MAAM,CAAC,GAAG,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACzB,CAAC;IACF,MAAM,aAAa,GAAqB,UAAU,CAAC,aAAa,CAAC,GAAG,CAClE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CACnB,CAAC;IAEF,MAAM,IAAI,GAAkB;QAC1B,QAAQ;QACR,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxB,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,UAAU;QACV,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,WAAW;QACX,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,sBAAsB;QACtB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5B,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI,EAAE,sCAAsC;SACzD,CAAC,CAAC;KACJ,CAAC;IAEF,4DAA4D;IAC5D,MAAM,kBAAkB,GAAkB,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAkB,EAAE,CAAC;IAErC,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC7E,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;QACvC,uBAAuB;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,MAAM,SAAS,GAAG;YAChB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3B,MAAM,WAAW,GAAG,IAAA,sCAA0B,EAAC,KAAK,CAAC,CAAC;QAEtD,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAA,4CAAgC,EAAC,eAAe,CAAC,CAAC;QAC9D,kBAAkB,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,oEAAoE;IACpE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC5C,MAAM,MAAM,GAAG,CAAC,CAAc,EAAE,EAAE;QAChC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;YAExB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;gBACV,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ;gBACrC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU;aAC5C,CAAC,CAAC;IACP,CAAC,CAAC;IACF,CAAC,GAAG,IAAI,EAAE,GAAG,kBAAkB,EAAE,GAAG,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhE,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,OAAO,WAAW,CAAC;AACrB,CAAC"}
package/dist/state.d.ts CHANGED
@@ -83,7 +83,7 @@ export interface VaultEquity {
83
83
  equity: number;
84
84
  }[];
85
85
  }
86
- export declare function getVaultAccountInfos(program: ClendVaultsProgram, vaultAccountInfo: web3.AccountInfo<Buffer>, connection: web3.Connection): Promise<{
86
+ export declare function getVaultAccountInfos(program: ClendVaultsProgram, vaultAccountInfo: web3.AccountInfo<Buffer>): Promise<{
87
87
  vaultSharesMintAccountInfo: web3.KeyedAccountInfo;
88
88
  vaultMintsAccountInfos: web3.KeyedAccountInfo[];
89
89
  vaultReservesAccountInfos: web3.KeyedAccountInfo[];
package/dist/state.js CHANGED
@@ -28,7 +28,7 @@ exports.VaultClendAccountFlags = {
28
28
  IN_USE: new anchor_1.BN(1), // occupied / present
29
29
  ENABLED: new anchor_1.BN(3), // operational bit
30
30
  };
31
- async function getVaultAccountInfos(program, vaultAccountInfo, connection) {
31
+ async function getVaultAccountInfos(program, vaultAccountInfo) {
32
32
  const vaultDataRaw = program.program.coder.accounts.decode("vault", vaultAccountInfo.data);
33
33
  // collect public keys for all accounts to fetch
34
34
  const mintPks = [];
@@ -65,7 +65,7 @@ async function getVaultAccountInfos(program, vaultAccountInfo, connection) {
65
65
  throw new Error(`Invalid number of public keys: ${allPks.length}`);
66
66
  }
67
67
  // fetch all accounts in single rpc call
68
- const accountInfosToFetch = await (0, utils_1.getMultipleAccountsWithKeys)(connection, allPks);
68
+ const accountInfosToFetch = await (0, utils_1.getMultipleAccountsWithKeys)(program.program.provider.connection, allPks);
69
69
  // define clear boundaries for each section
70
70
  const sharesMintStart = 0;
71
71
  const sharesMintEnd = 1;
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/dist/swapper.d.ts CHANGED
@@ -1,13 +1,14 @@
1
- import { ISwapper } from "@carrot-protocol/clend-rpc";
2
1
  import { BN, web3 } from "@coral-xyz/anchor";
3
- export declare class ClendVaultsJupSwapper implements ISwapper {
2
+ import { ClendVaultsProgram } from "./program";
3
+ export declare class ClendVaultsJupSwapper {
4
4
  private readonly jupiterApi;
5
- constructor(apiKey?: string);
5
+ private readonly clendVaultsProgram;
6
+ constructor(program: ClendVaultsProgram, apiKey?: string);
6
7
  /**
7
8
  * Implements the getQuote method from the ISwapper interface.
8
9
  * It takes a standardized QuoteRequest and returns a standardized SwapQuote.
9
10
  */
10
- getQuote(request: QuoteRequest): Promise<SwapQuote>;
11
+ getQuote(vault: web3.PublicKey, request: QuoteRequest): Promise<SwapQuote>;
11
12
  /**
12
13
  * Implements the getSwapIxns method from the ISwapper interface.
13
14
  * It takes a standardized SwapQuote and returns standardized SwapIxns.
package/dist/swapper.js CHANGED
@@ -4,19 +4,23 @@ exports.ClendVaultsJupSwapper = void 0;
4
4
  const anchor_1 = require("@coral-xyz/anchor");
5
5
  const api_1 = require("@jup-ag/api");
6
6
  const utils_1 = require("./utils");
7
+ const addresses_1 = require("./addresses");
8
+ const spl_token_1 = require("@solana/spl-token");
9
+ const state_1 = require("./state");
7
10
  const QUOTE_URL = "https://api.jup.ag";
8
11
  class ClendVaultsJupSwapper {
9
- constructor(apiKey) {
12
+ constructor(program, apiKey) {
10
13
  this.jupiterApi = (0, api_1.createJupiterApiClient)({
11
14
  basePath: QUOTE_URL,
12
15
  apiKey,
13
16
  });
17
+ this.clendVaultsProgram = program;
14
18
  }
15
19
  /**
16
20
  * Implements the getQuote method from the ISwapper interface.
17
21
  * It takes a standardized QuoteRequest and returns a standardized SwapQuote.
18
22
  */
19
- async getQuote(request) {
23
+ async getQuote(vault, request) {
20
24
  const { inputMint, outputMint, inputAmount, swapMode, slippageBps, payer } = request;
21
25
  const quoteResponse = await this.jupiterApi.quoteGet({
22
26
  inputMint: inputMint.toBase58(),
@@ -36,7 +40,7 @@ class ClendVaultsJupSwapper {
36
40
  quoteResponse,
37
41
  inputMint,
38
42
  outputMint,
39
- vault: payer,
43
+ vault: vault,
40
44
  },
41
45
  };
42
46
  }
@@ -61,8 +65,25 @@ class ClendVaultsJupSwapper {
61
65
  },
62
66
  });
63
67
  const swapIx = transformResponseIx(swapInstruction);
68
+ const swapRemainingAccounts = swapIx.keys.map((key) => ({
69
+ pubkey: key.pubkey,
70
+ // If the account is the vault PDA, mark it as NOT a signer for the client transaction.
71
+ isSigner: key.pubkey.equals(vault) ? false : key.isSigner,
72
+ isWritable: key.isWritable,
73
+ }));
74
+ const swapData = swapIx.data;
75
+ const vaultAssetInReserve = (0, spl_token_1.getAssociatedTokenAddressSync)(inputMint, vault, true, spl_token_1.TOKEN_PROGRAM_ID);
76
+ const vaultAssetOutReserve = (0, spl_token_1.getAssociatedTokenAddressSync)(outputMint, vault, true, spl_token_1.TOKEN_PROGRAM_ID);
77
+ const vaultAccountInfo = await this.clendVaultsProgram.program.provider.connection.getAccountInfo(vault);
78
+ if (!vaultAccountInfo) {
79
+ throw new Error(`Vault account not found: ${vault.toString()}`);
80
+ }
81
+ const { vaultSharesMintAccountInfo, vaultMintsAccountInfos, vaultReservesAccountInfos, vaultOraclesAccountInfos, } = await (0, state_1.getVaultAccountInfos)(this.clendVaultsProgram, vaultAccountInfo);
82
+ const vaultState = (0, state_1.parseVaultAccountFromAccountInfos)(this.clendVaultsProgram, { accountId: vault, accountInfo: vaultAccountInfo }, vaultSharesMintAccountInfo, vaultMintsAccountInfos, vaultReservesAccountInfos, vaultOraclesAccountInfos);
83
+ const ixns = await this.clendVaultsProgram.swap(vault, vaultState.manager, inputMint, outputMint, vaultAssetInReserve, vaultAssetOutReserve, swapData, swapRemainingAccounts, addresses_1.JUPITER_SWAP_PROGRAM_ID);
84
+ const allIxns = [...ixns];
64
85
  return {
65
- ixns: [swapIx],
86
+ ixns: allIxns,
66
87
  luts: addressLookupTableAddresses.map((key) => (0, utils_1.parsePk)(key)),
67
88
  };
68
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swapper.js","sourceRoot":"","sources":["../src/swapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swapper.js","sourceRoot":"","sources":["../src/swapper.ts"],"names":[],"mappings":"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"}
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAIA,4CAIC;AAKD,0BAWC;AAKD,0BAWC;AAKD,kCAeC;AAED,kEAgBC;AA9ED,8CAAqE;AAIrE,SAAgB,gBAAgB;IAC9B,MAAM,UAAU,GAAG,IAAI,aAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnD,OAAO,IAAI,uBAAc,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,KAAU;IAChC,IAAI,CAAC;QACH,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,WAAE,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,KAAU;IAChC,IAAI,CAAC;QACH,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,aAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAC3E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,KAAU;IACpC,IAAI,CAAC;QACH,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CACxE,CAAC;IACJ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,2BAA2B,CAC/C,UAA2B,EAC3B,UAA4B;IAE5B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAEtE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,OAAO;YACL,SAAS,EAAE,MAAM;YACjB,WAAW;SACZ,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAEA,4CAIC;AAKD,0BAWC;AAKD,0BAWC;AAKD,kCAeC;AAED,kEAgBC;AA5ED,8CAAqE;AAErE,SAAgB,gBAAgB;IAC9B,MAAM,UAAU,GAAG,IAAI,aAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnD,OAAO,IAAI,uBAAc,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,KAAU;IAChC,IAAI,CAAC;QACH,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,WAAE,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,KAAU;IAChC,IAAI,CAAC;QACH,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,aAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAC3E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,KAAU;IACpC,IAAI,CAAC;QACH,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CACxE,CAAC;IACJ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,2BAA2B,CAC/C,UAA2B,EAC3B,UAA4B;IAE5B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAEtE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,OAAO;YACL,SAAS,EAAE,MAAM;YACjB,WAAW;SACZ,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carrot-protocol/clend-vaults-rpc",
3
- "version": "0.0.25",
3
+ "version": "0.0.26-docs1-dev-7e82fd5",
4
4
  "description": "clend vaults rpc client",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",