@augustdigital/sdk 4.2.0-alpha → 4.2.0-beta
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/lib/__tests__/adapter.e2e.test.d.ts +1 -0
- package/lib/__tests__/adapter.e2e.test.js +94 -0
- package/lib/__tests__/adapter.e2e.test.js.map +1 -0
- package/lib/abis/PoolAdapter.d.ts +36 -76
- package/lib/abis/PoolAdapter.js +18 -379
- package/lib/abis/PoolAdapter.js.map +1 -1
- package/lib/abis/WrapperAdapter.d.ts +71 -60
- package/lib/abis/WrapperAdapter.js +41 -114
- package/lib/abis/WrapperAdapter.js.map +1 -1
- package/lib/abis/index.d.ts +3 -0
- package/lib/abis/index.js +3 -0
- package/lib/abis/index.js.map +1 -1
- package/lib/adapters/evm/getters.d.ts +1 -1
- package/lib/adapters/evm/getters.js +21 -22
- package/lib/adapters/evm/getters.js.map +1 -1
- package/lib/adapters/solana/getters.js +8 -10
- package/lib/adapters/solana/getters.js.map +1 -1
- package/lib/adapters/solana/index.d.ts +25 -1
- package/lib/adapters/solana/utils.d.ts +13 -1
- package/lib/adapters/solana/utils.js +72 -17
- package/lib/adapters/solana/utils.js.map +1 -1
- package/lib/adapters/sui/constants.d.ts +13 -0
- package/lib/adapters/sui/constants.js +17 -0
- package/lib/adapters/sui/constants.js.map +1 -0
- package/lib/adapters/sui/getters.d.ts +3 -0
- package/lib/adapters/sui/getters.js +53 -0
- package/lib/adapters/sui/getters.js.map +1 -0
- package/lib/adapters/sui/index.d.ts +30 -0
- package/lib/adapters/sui/index.js +83 -0
- package/lib/adapters/sui/index.js.map +1 -1
- package/lib/adapters/sui/transformer.d.ts +4 -0
- package/lib/adapters/sui/transformer.js +97 -0
- package/lib/adapters/sui/transformer.js.map +1 -0
- package/lib/adapters/sui/types.d.ts +62 -0
- package/lib/adapters/sui/types.js +3 -0
- package/lib/adapters/sui/types.js.map +1 -0
- package/lib/adapters/sui/utils.d.ts +4 -0
- package/lib/adapters/sui/utils.js +27 -0
- package/lib/adapters/sui/utils.js.map +1 -0
- package/lib/core/auth/verify.js +2 -2
- package/lib/core/auth/verify.js.map +1 -1
- package/lib/core/constants.adapters.d.ts +89 -0
- package/lib/core/constants.adapters.js +160 -0
- package/lib/core/constants.adapters.js.map +1 -0
- package/lib/core/constants.core.d.ts +66 -0
- package/lib/core/constants.core.js +70 -0
- package/lib/core/constants.core.js.map +1 -0
- package/lib/core/constants.vaults.d.ts +19 -0
- package/lib/core/constants.vaults.js +132 -0
- package/lib/core/constants.vaults.js.map +1 -0
- package/lib/core/constants.web3.d.ts +30 -0
- package/lib/core/constants.web3.js +95 -0
- package/lib/core/constants.web3.js.map +1 -0
- package/lib/core/fetcher.d.ts +1 -1
- package/lib/core/fetcher.js +93 -79
- package/lib/core/fetcher.js.map +1 -1
- package/lib/core/helpers.adapters.d.ts +4 -0
- package/lib/core/helpers.adapters.js +28 -0
- package/lib/core/helpers.adapters.js.map +1 -0
- package/lib/core/helpers.core.d.ts +23 -0
- package/lib/core/helpers.core.js +210 -0
- package/lib/core/helpers.core.js.map +1 -0
- package/lib/core/helpers.vaults.d.ts +15 -0
- package/lib/core/helpers.vaults.js +123 -0
- package/lib/core/helpers.vaults.js.map +1 -0
- package/lib/core/helpers.web3.d.ts +29 -0
- package/lib/core/helpers.web3.js +365 -0
- package/lib/core/helpers.web3.js.map +1 -0
- package/lib/core/index.d.ts +8 -3
- package/lib/core/index.js +8 -3
- package/lib/core/index.js.map +1 -1
- package/lib/core/logger/slack.js +3 -3
- package/lib/core/vault.utils.d.ts +4 -0
- package/lib/core/vault.utils.js +35 -0
- package/lib/core/vault.utils.js.map +1 -0
- package/lib/core/web3.helpers.d.ts +1 -0
- package/lib/core/web3.helpers.js +32 -3
- package/lib/core/web3.helpers.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +10 -2
- package/lib/index.js.map +1 -1
- package/lib/main.d.ts +10 -2
- package/lib/main.js +6 -1
- package/lib/main.js.map +1 -1
- package/lib/modules/vaults/adapter.helpers.d.ts +46 -0
- package/lib/modules/vaults/adapter.helpers.js +149 -0
- package/lib/modules/vaults/adapter.helpers.js.map +1 -0
- package/lib/modules/vaults/constants.d.ts +7 -7
- package/lib/modules/vaults/constants.js +9 -15
- package/lib/modules/vaults/constants.js.map +1 -1
- package/lib/modules/vaults/fetcher.js +1 -1
- package/lib/modules/vaults/fetcher.js.map +1 -1
- package/lib/modules/vaults/getters.d.ts +22 -2
- package/lib/modules/vaults/getters.js +269 -72
- package/lib/modules/vaults/getters.js.map +1 -1
- package/lib/modules/vaults/index.d.ts +1 -1
- package/lib/modules/vaults/index.js +1 -1
- package/lib/modules/vaults/index.js.map +1 -1
- package/lib/modules/vaults/main.d.ts +9 -4
- package/lib/modules/vaults/main.js +49 -12
- package/lib/modules/vaults/main.js.map +1 -1
- package/lib/modules/vaults/utils.d.ts +1 -4
- package/lib/modules/vaults/utils.js +42 -51
- package/lib/modules/vaults/utils.js.map +1 -1
- package/lib/modules/vaults/write.actions.d.ts +3 -0
- package/lib/modules/vaults/write.actions.js +174 -26
- package/lib/modules/vaults/write.actions.js.map +1 -1
- package/lib/services/debank/utils.js +4 -4
- package/lib/services/subgraph/fetcher.js +3 -2
- package/lib/services/subgraph/fetcher.js.map +1 -1
- package/lib/services/subgraph/vaults.js +25 -27
- package/lib/services/subgraph/vaults.js.map +1 -1
- package/lib/types/vaults.d.ts +15 -1
- package/package.json +2 -1
|
@@ -32,6 +32,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
35
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
39
|
exports.getVault = getVault;
|
|
37
40
|
exports.getVaultLoans = getVaultLoans;
|
|
@@ -42,19 +45,21 @@ exports.getVaultPositions = getVaultPositions;
|
|
|
42
45
|
exports.getVaultApy = getVaultApy;
|
|
43
46
|
exports.getRewardsStakingPositions = getRewardsStakingPositions;
|
|
44
47
|
exports.getVaultTvl = getVaultTvl;
|
|
48
|
+
exports.getVaultBorrowerHealthFactor = getVaultBorrowerHealthFactor;
|
|
49
|
+
exports.getHealthFactorOfBorrowersByVault = getHealthFactorOfBorrowersByVault;
|
|
45
50
|
const abis_1 = require("../../abis");
|
|
46
51
|
const core_1 = require("../../core");
|
|
47
52
|
const ethers_1 = require("ethers");
|
|
48
|
-
const utils_1 = require("./utils");
|
|
49
53
|
const subgraph_1 = require("../../services/subgraph");
|
|
50
|
-
const constants_1 = require("./constants");
|
|
51
54
|
const debank_1 = require("../../services/debank");
|
|
52
55
|
const solana_1 = require("../../adapters/solana");
|
|
53
56
|
const EVM = __importStar(require("../../adapters/evm"));
|
|
54
|
-
const
|
|
57
|
+
const TokenizedVaultV2_1 = require("../../abis/TokenizedVaultV2");
|
|
58
|
+
const TokenizedVaultV2Receipt_1 = require("../../abis/TokenizedVaultV2Receipt");
|
|
59
|
+
const ethereum_block_by_date_1 = __importDefault(require("ethereum-block-by-date"));
|
|
55
60
|
async function getVault({ vault, loans = false, allocations = false, options, }) {
|
|
56
61
|
let returnedVault;
|
|
57
|
-
const vaultVersion = (0,
|
|
62
|
+
const vaultVersion = (0, core_1.getVaultVersion)(vault);
|
|
58
63
|
try {
|
|
59
64
|
const tokenizedVault = (await (0, core_1.fetchTokenizedVaults)(vault))?.[0];
|
|
60
65
|
switch (vaultVersion) {
|
|
@@ -78,7 +83,7 @@ async function getVault({ vault, loans = false, allocations = false, options, })
|
|
|
78
83
|
core_1.Logger.log.error('getVault', err, { vault, vaultVersion });
|
|
79
84
|
throw new Error(`#getVault::${vault}::${vaultVersion}: ${err?.message}`);
|
|
80
85
|
}
|
|
81
|
-
if (!(0,
|
|
86
|
+
if (!(0, core_1.isBadVault)(vault)) {
|
|
82
87
|
if (loans) {
|
|
83
88
|
try {
|
|
84
89
|
returnedVault = {
|
|
@@ -112,7 +117,7 @@ async function getVault({ vault, loans = false, allocations = false, options, })
|
|
|
112
117
|
}
|
|
113
118
|
async function getVaultLoans(vault, options) {
|
|
114
119
|
const vaultAddress = typeof vault === 'string' ? vault : vault.address;
|
|
115
|
-
const vaultVersion = (0,
|
|
120
|
+
const vaultVersion = (0, core_1.getVaultVersion)(vaultAddress);
|
|
116
121
|
if (vaultVersion !== 'evm-0')
|
|
117
122
|
return [];
|
|
118
123
|
try {
|
|
@@ -146,7 +151,7 @@ async function getVaultLoans(vault, options) {
|
|
|
146
151
|
const loanFeeRate = await (0, core_1.getLoanOracleFeeRate)(provider, 'LOAN.REPAY.INTERESTS', l.address, chainId);
|
|
147
152
|
const loanApr = Number(l.apr || 0) / 100;
|
|
148
153
|
const loanAprAfterFees = loanApr * (1 - loanFeeRate / 100);
|
|
149
|
-
const isIdleCapital =
|
|
154
|
+
const isIdleCapital = core_1.IDLE_CAPITAL_BORROWER_ADDRESS.includes(borrower);
|
|
150
155
|
const newLoanObj = {
|
|
151
156
|
vault: vaultAddress,
|
|
152
157
|
address: l.address,
|
|
@@ -200,7 +205,7 @@ async function getVaultAllocations(vault, options) {
|
|
|
200
205
|
let uniqueBorrowers;
|
|
201
206
|
const tokenizedVault = (await (0, core_1.fetchTokenizedVaults)(vault, options?.headers))?.[0];
|
|
202
207
|
try {
|
|
203
|
-
const vaultVersion = (0,
|
|
208
|
+
const vaultVersion = (0, core_1.getVaultVersion)(vault);
|
|
204
209
|
if (vaultVersion === 'evm-0') {
|
|
205
210
|
const loans = await getVaultLoans(vault, options);
|
|
206
211
|
uniqueBorrowers = [...new Set(loans.map((l) => l.borrower))];
|
|
@@ -212,15 +217,15 @@ async function getVaultAllocations(vault, options) {
|
|
|
212
217
|
catch (e) {
|
|
213
218
|
core_1.Logger.log.error('getVaultAllocations:borrowers', e);
|
|
214
219
|
}
|
|
215
|
-
if (vault.toLowerCase() ===
|
|
216
|
-
const debankRes = await (0, debank_1.fetchDebankResponse)(
|
|
220
|
+
if (vault.toLowerCase() === core_1.VAULT_AgoraAUSD.toLowerCase()) {
|
|
221
|
+
const debankRes = await (0, debank_1.fetchDebankResponse)(core_1.SUBACCOUNT_CALEB);
|
|
217
222
|
if (debankRes === false) {
|
|
218
223
|
debankErr = true;
|
|
219
224
|
}
|
|
220
|
-
(0, debank_1.parseVaultLevelDebank)(debankRes, protocolExposure, tokenExposure,
|
|
225
|
+
(0, debank_1.parseVaultLevelDebank)(debankRes, protocolExposure, tokenExposure, core_1.SUBACCOUNT_CALEB, exposurePerCategory, netValue);
|
|
221
226
|
unfilteredTokens = debankRes?.subaccount?.tokens;
|
|
222
227
|
const debankPerLoan = (0, debank_1.parseLoanLevelDebank)(debankRes);
|
|
223
|
-
defiPerBorrower[
|
|
228
|
+
defiPerBorrower[core_1.SUBACCOUNT_CALEB] = debankPerLoan;
|
|
224
229
|
}
|
|
225
230
|
else {
|
|
226
231
|
for (const borrower of uniqueBorrowers) {
|
|
@@ -294,22 +299,36 @@ async function getVaultAvailableRedemptions({ vault, wallet, options, }) {
|
|
|
294
299
|
if (!tokenizedVault) {
|
|
295
300
|
return { availableRedemptions: [], pendingRedemptions: [] };
|
|
296
301
|
}
|
|
297
|
-
const
|
|
302
|
+
const version = (0, core_1.getVaultVersion)(vault);
|
|
303
|
+
let abi;
|
|
304
|
+
let decimals;
|
|
305
|
+
switch (version) {
|
|
306
|
+
case 'evm-2': {
|
|
307
|
+
abi = TokenizedVaultV2_1.ABI_TOKENIZED_VAULT_V2;
|
|
308
|
+
decimals = await (0, core_1.getDecimals)(provider, await (0, core_1.getReceiptTokenAddress)(provider, vault));
|
|
309
|
+
break;
|
|
310
|
+
}
|
|
311
|
+
default: {
|
|
312
|
+
abi = abis_1.ABI_LENDING_POOL_V2;
|
|
313
|
+
decimals = await (0, core_1.getDecimals)(provider, vault);
|
|
314
|
+
break;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
const vaultContract = (0, core_1.createContract)({
|
|
298
318
|
address: vault,
|
|
299
|
-
abi:
|
|
319
|
+
abi: abi,
|
|
300
320
|
provider,
|
|
301
321
|
});
|
|
302
322
|
const { withdrawalRequesteds, withdrawalProcesseds } = await (0, subgraph_1.getSubgraphAllWithdrawals)(vault, provider);
|
|
303
|
-
const decimals = await (0, core_1.getDecimals)(provider, vault);
|
|
304
323
|
const availableRedemptions = [];
|
|
305
324
|
const pendingRedemptions = [];
|
|
306
325
|
for (const ev of withdrawalRequesteds) {
|
|
307
326
|
if (!ev || typeof ev !== 'object') {
|
|
308
|
-
|
|
327
|
+
core_1.Logger.log.warn('getVaultAvailableRedemptions', `Skipping invalid event: ${ev}`);
|
|
309
328
|
continue;
|
|
310
329
|
}
|
|
311
330
|
if (!ev.year || !ev.month || !ev.day || !ev.receiverAddr) {
|
|
312
|
-
|
|
331
|
+
core_1.Logger.log.warn('getVaultAvailableRedemptions', `Skipping event with missing required properties: ${ev}`);
|
|
313
332
|
continue;
|
|
314
333
|
}
|
|
315
334
|
const fullDate = new Date(Number(ev.year), Number(ev.month) - 1, Number(ev.day));
|
|
@@ -322,36 +341,68 @@ async function getVaultAvailableRedemptions({ vault, wallet, options, }) {
|
|
|
322
341
|
BigInt(red.year.raw) === BigInt(ev.year));
|
|
323
342
|
if (!(foundRedemptionAgainstClaim && alreadyRedeemed)) {
|
|
324
343
|
try {
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
344
|
+
switch (version) {
|
|
345
|
+
case 'evm-2': {
|
|
346
|
+
availableRedemptions.push({
|
|
347
|
+
id: ev.transactionHash_ || ev.id,
|
|
348
|
+
hash: ev.transactionHash_ || ev.id,
|
|
349
|
+
timestamp: Number(ev.timestamp_),
|
|
350
|
+
receiver: ev.receiverAddr,
|
|
351
|
+
day: (0, core_1.toNormalizedBn)(ev.day, 0),
|
|
352
|
+
month: (0, core_1.toNormalizedBn)(ev.month, 0),
|
|
353
|
+
year: (0, core_1.toNormalizedBn)(ev.year, 0),
|
|
354
|
+
amount: (0, core_1.toNormalizedBn)(ev.shares, decimals),
|
|
355
|
+
date: fullDate,
|
|
356
|
+
vault,
|
|
357
|
+
});
|
|
358
|
+
pendingRedemptions.push({
|
|
359
|
+
id: ev.transactionHash_ || ev.id,
|
|
360
|
+
hash: ev.transactionHash_ || ev.id,
|
|
361
|
+
timestamp: Number(ev.timestamp_),
|
|
362
|
+
receiver: ev.receiverAddr,
|
|
363
|
+
day: (0, core_1.toNormalizedBn)(ev.day, 0),
|
|
364
|
+
month: (0, core_1.toNormalizedBn)(ev.month, 0),
|
|
365
|
+
year: (0, core_1.toNormalizedBn)(ev.year, 0),
|
|
366
|
+
amount: (0, core_1.toNormalizedBn)(ev.shares || BigInt(0), decimals),
|
|
367
|
+
date: fullDate,
|
|
368
|
+
vault,
|
|
369
|
+
});
|
|
370
|
+
break;
|
|
371
|
+
}
|
|
372
|
+
default: {
|
|
373
|
+
const trueClaimableAmount = await vaultContract?.getClaimableAmountByReceiver?.(BigInt(ev.year), BigInt(ev.month), BigInt(ev.day), (0, ethers_1.getAddress)(wallet));
|
|
374
|
+
if (trueClaimableAmount > BigInt(0)) {
|
|
375
|
+
availableRedemptions.push({
|
|
376
|
+
id: ev.transactionHash_ || ev.id,
|
|
377
|
+
hash: ev.transactionHash_ || ev.id,
|
|
378
|
+
timestamp: Number(ev.timestamp_),
|
|
379
|
+
receiver: ev.receiverAddr,
|
|
380
|
+
day: (0, core_1.toNormalizedBn)(ev.day, 0),
|
|
381
|
+
month: (0, core_1.toNormalizedBn)(ev.month, 0),
|
|
382
|
+
year: (0, core_1.toNormalizedBn)(ev.year, 0),
|
|
383
|
+
amount: (0, core_1.toNormalizedBn)(trueClaimableAmount, decimals),
|
|
384
|
+
date: fullDate,
|
|
385
|
+
vault,
|
|
386
|
+
});
|
|
387
|
+
}
|
|
388
|
+
pendingRedemptions.push({
|
|
389
|
+
id: ev.transactionHash_ || ev.id,
|
|
390
|
+
hash: ev.transactionHash_ || ev.id,
|
|
391
|
+
timestamp: Number(ev.timestamp_),
|
|
392
|
+
receiver: ev.receiverAddr,
|
|
393
|
+
day: (0, core_1.toNormalizedBn)(ev.day, 0),
|
|
394
|
+
month: (0, core_1.toNormalizedBn)(ev.month, 0),
|
|
395
|
+
year: (0, core_1.toNormalizedBn)(ev.year, 0),
|
|
396
|
+
amount: (0, core_1.toNormalizedBn)(trueClaimableAmount || BigInt(0), decimals),
|
|
397
|
+
date: fullDate,
|
|
398
|
+
vault,
|
|
399
|
+
});
|
|
400
|
+
break;
|
|
401
|
+
}
|
|
339
402
|
}
|
|
340
|
-
pendingRedemptions.push({
|
|
341
|
-
id: ev.transactionHash_ || ev.id,
|
|
342
|
-
hash: ev.transactionHash_ || ev.id,
|
|
343
|
-
timestamp: Number(ev.timestamp_),
|
|
344
|
-
receiver: ev.receiverAddr,
|
|
345
|
-
day: (0, core_1.toNormalizedBn)(ev.day, 0),
|
|
346
|
-
month: (0, core_1.toNormalizedBn)(ev.month, 0),
|
|
347
|
-
year: (0, core_1.toNormalizedBn)(ev.year, 0),
|
|
348
|
-
amount: (0, core_1.toNormalizedBn)(trueClaimableAmount || BigInt(0), decimals),
|
|
349
|
-
date: fullDate,
|
|
350
|
-
vault,
|
|
351
|
-
});
|
|
352
403
|
}
|
|
353
404
|
catch (contractError) {
|
|
354
|
-
|
|
405
|
+
core_1.Logger.log.error('getVaultAvailableRedemptions', `Contract call failed: ${contractError}`);
|
|
355
406
|
pendingRedemptions.push({
|
|
356
407
|
id: ev.transactionHash_ || ev.id,
|
|
357
408
|
hash: ev.transactionHash_ || ev.id,
|
|
@@ -490,16 +541,45 @@ async function getVaultPositions({ vault, wallet, solanaWallet, options, }) {
|
|
|
490
541
|
};
|
|
491
542
|
}
|
|
492
543
|
const provider = (0, core_1.createProvider)(options.rpcUrl);
|
|
493
|
-
|
|
544
|
+
let decimals;
|
|
545
|
+
let abi;
|
|
546
|
+
const version = (0, core_1.getVaultVersion)(vault);
|
|
547
|
+
switch (version) {
|
|
548
|
+
case 'evm-2': {
|
|
549
|
+
decimals = await (0, core_1.getDecimals)(provider, await (0, core_1.getReceiptTokenAddress)(provider, vault));
|
|
550
|
+
abi = TokenizedVaultV2_1.ABI_TOKENIZED_VAULT_V2;
|
|
551
|
+
break;
|
|
552
|
+
}
|
|
553
|
+
default: {
|
|
554
|
+
decimals = await (0, core_1.getDecimals)(provider, vault);
|
|
555
|
+
abi = abis_1.ABI_LENDING_POOL_V2;
|
|
556
|
+
break;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
494
559
|
const vaultContract = (0, core_1.createContract)({
|
|
495
560
|
provider,
|
|
496
|
-
abi:
|
|
561
|
+
abi: abi,
|
|
497
562
|
address: v.address,
|
|
498
563
|
});
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
564
|
+
let bal = BigInt(0);
|
|
565
|
+
if (wallet && (0, ethers_1.isAddress)(wallet)) {
|
|
566
|
+
switch (version) {
|
|
567
|
+
case 'evm-2': {
|
|
568
|
+
const receiptContract = (0, core_1.createContract)({
|
|
569
|
+
provider,
|
|
570
|
+
abi: TokenizedVaultV2Receipt_1.ABI_TOKENIZED_VAULT_V2_RECEIPT,
|
|
571
|
+
address: await (0, core_1.getReceiptTokenAddress)(provider, vault),
|
|
572
|
+
});
|
|
573
|
+
bal = await receiptContract.balanceOf(wallet);
|
|
574
|
+
break;
|
|
575
|
+
}
|
|
576
|
+
default: {
|
|
577
|
+
bal = await vaultContract.balanceOf(wallet);
|
|
578
|
+
break;
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
const balance = (0, core_1.toNormalizedBn)(bal, decimals);
|
|
503
583
|
const { availableRedemptions, pendingRedemptions } = await getVaultAvailableRedemptions({
|
|
504
584
|
vault: v.address,
|
|
505
585
|
wallet,
|
|
@@ -516,7 +596,7 @@ async function getVaultPositions({ vault, wallet, solanaWallet, options, }) {
|
|
|
516
596
|
};
|
|
517
597
|
}
|
|
518
598
|
catch (vaultError) {
|
|
519
|
-
|
|
599
|
+
core_1.Logger.log.error(`getVaultPositions`, `Error processing vault ${v.address}: ${vaultError}`);
|
|
520
600
|
return {
|
|
521
601
|
vault,
|
|
522
602
|
status: 'PENDING',
|
|
@@ -540,7 +620,12 @@ async function getVaultApy({ vault, options, historical, }) {
|
|
|
540
620
|
throw new Error('Vault input parameter is undefined.');
|
|
541
621
|
if (!historical) {
|
|
542
622
|
const tokenizedVault = (await (0, core_1.fetchTokenizedVaults)(vault, options?.headers))?.[0];
|
|
543
|
-
return
|
|
623
|
+
return [
|
|
624
|
+
{
|
|
625
|
+
value: tokenizedVault?.reported_apy?.apy || 0,
|
|
626
|
+
timestamp: new Date().toISOString(),
|
|
627
|
+
},
|
|
628
|
+
];
|
|
544
629
|
}
|
|
545
630
|
else {
|
|
546
631
|
function paramBuilder(params) {
|
|
@@ -559,7 +644,7 @@ async function getVaultApy({ vault, options, historical, }) {
|
|
|
559
644
|
if (!historicalApy.ok)
|
|
560
645
|
throw new Error('Failed to fetch historical apy.');
|
|
561
646
|
const historicalApyData = (await historicalApy.json());
|
|
562
|
-
return historicalApyData.data.values.
|
|
647
|
+
return historicalApyData.data.values.map((val, index) => {
|
|
563
648
|
const respectiveDate = historicalApyData.data.labels[index];
|
|
564
649
|
return {
|
|
565
650
|
timestamp: new Date(respectiveDate).toISOString(),
|
|
@@ -591,7 +676,7 @@ async function getRewardsStakingPositions({ rpcUrl, wallet, coinGeckoKey, }) {
|
|
|
591
676
|
core_1.Logger.log.warn('getStakingPositions:invalid_wallet', wallet);
|
|
592
677
|
return [];
|
|
593
678
|
}
|
|
594
|
-
const rewardDistributorAddresses = (0,
|
|
679
|
+
const rewardDistributorAddresses = (0, core_1.REWARD_DISTRIBUTOR_ADDRESS)(chainId);
|
|
595
680
|
const positions = await Promise.all(rewardDistributorAddresses.map(async (contract, i) => {
|
|
596
681
|
const rewardContract = (0, core_1.createContract)({
|
|
597
682
|
address: contract,
|
|
@@ -679,13 +764,49 @@ async function getVaultTvl({ vault, options, historical, }) {
|
|
|
679
764
|
throw new Error(`Vault ${vault} not found in backend`);
|
|
680
765
|
}
|
|
681
766
|
if (!historical) {
|
|
682
|
-
const
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
767
|
+
const version = (0, core_1.getVaultVersion)(vault);
|
|
768
|
+
const provider = (0, core_1.createProvider)(options.rpcUrl);
|
|
769
|
+
switch (version) {
|
|
770
|
+
case 'evm-2': {
|
|
771
|
+
const receiptTokenAddress = await (0, core_1.getReceiptTokenAddress)(provider, vault);
|
|
772
|
+
const receiptTokenDecimals = await (0, core_1.getDecimals)(provider, receiptTokenAddress);
|
|
773
|
+
const receiptTokenContract = (0, core_1.createContract)({
|
|
774
|
+
address: receiptTokenAddress,
|
|
775
|
+
abi: TokenizedVaultV2Receipt_1.ABI_TOKENIZED_VAULT_V2_RECEIPT,
|
|
776
|
+
provider,
|
|
777
|
+
});
|
|
778
|
+
const totalSupply = await receiptTokenContract.getTotalSupply();
|
|
779
|
+
return [
|
|
780
|
+
{
|
|
781
|
+
value: (0, core_1.toNormalizedBn)(totalSupply, receiptTokenDecimals),
|
|
782
|
+
timestamp: new Date().toISOString(),
|
|
783
|
+
},
|
|
784
|
+
];
|
|
785
|
+
}
|
|
786
|
+
case 'sol-0': {
|
|
787
|
+
return [
|
|
788
|
+
{
|
|
789
|
+
value: (0, core_1.toNormalizedBn)(0),
|
|
790
|
+
timestamp: new Date().toISOString(),
|
|
791
|
+
},
|
|
792
|
+
];
|
|
793
|
+
}
|
|
794
|
+
default: {
|
|
795
|
+
const vaultContract = (0, core_1.createContract)({
|
|
796
|
+
address: vault,
|
|
797
|
+
abi: TokenizedVaultV2_1.ABI_TOKENIZED_VAULT_V2,
|
|
798
|
+
provider,
|
|
799
|
+
});
|
|
800
|
+
const decimals = await (0, core_1.getDecimals)(provider, vault);
|
|
801
|
+
const totalSupply = await vaultContract.totalSupply();
|
|
802
|
+
return [
|
|
803
|
+
{
|
|
804
|
+
value: (0, core_1.toNormalizedBn)(totalSupply, decimals),
|
|
805
|
+
timestamp: new Date().toISOString(),
|
|
806
|
+
},
|
|
807
|
+
];
|
|
808
|
+
}
|
|
809
|
+
}
|
|
689
810
|
}
|
|
690
811
|
else {
|
|
691
812
|
if (typeof historical !== 'undefined' && !historical.order)
|
|
@@ -693,23 +814,45 @@ async function getVaultTvl({ vault, options, historical, }) {
|
|
|
693
814
|
if (typeof historical !== 'undefined' && !historical.interval)
|
|
694
815
|
historical.interval = 'days';
|
|
695
816
|
const provider = (0, core_1.createProvider)(options.rpcUrl);
|
|
817
|
+
const version = (0, core_1.getVaultVersion)(vault);
|
|
696
818
|
const vaultContract = (0, core_1.createContract)({
|
|
697
819
|
address: vault,
|
|
698
|
-
abi: abis_1.
|
|
820
|
+
abi: version === 'evm-2' ? TokenizedVaultV2_1.ABI_TOKENIZED_VAULT_V2 : abis_1.ABI_LENDING_POOL_V2,
|
|
699
821
|
provider,
|
|
700
822
|
});
|
|
701
|
-
|
|
702
|
-
|
|
823
|
+
let minAbi = [];
|
|
824
|
+
let functionName = '';
|
|
825
|
+
let vaultDecimals = 0;
|
|
826
|
+
switch (version) {
|
|
827
|
+
case 'evm-2': {
|
|
828
|
+
minAbi = ['function getTotalAssets() view returns (uint256)'];
|
|
829
|
+
functionName = 'getTotalAssets';
|
|
830
|
+
const receiptTokenAddress = await (0, core_1.getReceiptTokenAddress)(provider, vault);
|
|
831
|
+
vaultDecimals = await (0, core_1.getDecimals)(provider, receiptTokenAddress);
|
|
832
|
+
break;
|
|
833
|
+
}
|
|
834
|
+
default: {
|
|
835
|
+
minAbi = ['function totalAssets() view returns (uint256)'];
|
|
836
|
+
functionName = 'totalAssets';
|
|
837
|
+
vaultDecimals = await (0, core_1.getDecimals)(provider, vault);
|
|
838
|
+
break;
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
const finalizedBlock = await provider.getBlock('finalized');
|
|
842
|
+
const finalizedTimestamp = finalizedBlock
|
|
843
|
+
? finalizedBlock.timestamp * 1000
|
|
844
|
+
: Date.now() * 60 * 1000;
|
|
845
|
+
const daysAgo = historical.daysAgo * 24 * 60 * 60 * 1000;
|
|
846
|
+
const dater = new ethereum_block_by_date_1.default(provider);
|
|
703
847
|
const startDate = historical.daysAgo
|
|
704
|
-
? new Date(
|
|
705
|
-
: new Date();
|
|
706
|
-
const blocks = await dater.getEvery(historical.interval, startDate.toUTCString(), new Date().toUTCString());
|
|
848
|
+
? new Date(finalizedTimestamp - daysAgo)
|
|
849
|
+
: new Date(finalizedTimestamp);
|
|
850
|
+
const blocks = await dater.getEvery(historical.interval, startDate.toUTCString(), new Date(finalizedTimestamp).toUTCString());
|
|
707
851
|
const orderedBlocks = historical.order === 'desc' ? (0, core_1.orderObjArrByDate)(blocks) : blocks;
|
|
708
|
-
const
|
|
709
|
-
const totalAssetsHistorical = await Promise.all(orderedBlocks?.map(async ({ block, date }) => {
|
|
852
|
+
const totalAssetsHistorical = await (0, core_1.promiseSettle)(orderedBlocks?.map(async ({ block, date }) => {
|
|
710
853
|
const totalAssetsAtBlock = await provider.call({
|
|
711
854
|
to: vaultContract,
|
|
712
|
-
data: new ethers_1.Interface(minAbi).encodeFunctionData(
|
|
855
|
+
data: new ethers_1.Interface(minAbi).encodeFunctionData(functionName, []),
|
|
713
856
|
blockTag: block,
|
|
714
857
|
});
|
|
715
858
|
if (totalAssetsAtBlock === '0x')
|
|
@@ -717,13 +860,13 @@ async function getVaultTvl({ vault, options, historical, }) {
|
|
|
717
860
|
timestamp: (0, core_1.dateToUnix)(new Date(date)),
|
|
718
861
|
value: (0, core_1.toNormalizedBn)(0, 0),
|
|
719
862
|
};
|
|
720
|
-
const readableTotalAssetsAtBlock = new ethers_1.Interface(minAbi).decodeFunctionResult(
|
|
863
|
+
const readableTotalAssetsAtBlock = new ethers_1.Interface(minAbi).decodeFunctionResult(functionName, totalAssetsAtBlock);
|
|
721
864
|
return {
|
|
722
865
|
timestamp: (0, core_1.dateToUnix)(new Date(date)),
|
|
723
866
|
value: (0, core_1.toNormalizedBn)(readableTotalAssetsAtBlock?.[0], vaultDecimals),
|
|
724
867
|
};
|
|
725
868
|
}));
|
|
726
|
-
core_1.Logger.log.info('getVaultTvl:historical', totalAssetsHistorical);
|
|
869
|
+
core_1.Logger.log.info('getVaultTvl:historical', totalAssetsHistorical.length);
|
|
727
870
|
return totalAssetsHistorical;
|
|
728
871
|
}
|
|
729
872
|
}
|
|
@@ -732,4 +875,58 @@ async function getVaultTvl({ vault, options, historical, }) {
|
|
|
732
875
|
throw new Error(`Failed to fetch TVL for ${vault}: ${e instanceof Error ? e.message : 'Unknown error'}`);
|
|
733
876
|
}
|
|
734
877
|
}
|
|
878
|
+
async function getVaultBorrowerHealthFactor({ vault, options, }) {
|
|
879
|
+
const provider = (0, core_1.createProvider)(options.rpcUrl);
|
|
880
|
+
const loans = await getVaultLoans(vault, options);
|
|
881
|
+
const activeLoans = (await Promise.all(loans.map(async (l) => {
|
|
882
|
+
const loanContract = (0, core_1.createContract)({
|
|
883
|
+
provider,
|
|
884
|
+
address: l.address,
|
|
885
|
+
abi: abis_1.ABI_LOAN,
|
|
886
|
+
});
|
|
887
|
+
const loanState = await loanContract.loanState();
|
|
888
|
+
if ((0, core_1.loanStateToReadable)(loanState) !== 'ACTIVE')
|
|
889
|
+
return;
|
|
890
|
+
return l.address;
|
|
891
|
+
}))).filter((l) => l !== undefined);
|
|
892
|
+
const formattedLoansArray = await Promise.all(activeLoans.map(async (l) => {
|
|
893
|
+
const loanContract = (0, core_1.createContract)({
|
|
894
|
+
provider,
|
|
895
|
+
address: l,
|
|
896
|
+
abi: abis_1.ABI_LOAN,
|
|
897
|
+
});
|
|
898
|
+
return {
|
|
899
|
+
borrower: await loanContract.borrower(),
|
|
900
|
+
loan: l,
|
|
901
|
+
};
|
|
902
|
+
}));
|
|
903
|
+
const uniqueBorrowers = [
|
|
904
|
+
...new Set(formattedLoansArray.map((l) => l.borrower)),
|
|
905
|
+
];
|
|
906
|
+
let borrowerResponses = {};
|
|
907
|
+
for (const b of uniqueBorrowers) {
|
|
908
|
+
const response = await (0, core_1.fetchAugustWithKey)(options.augustKey, core_1.WEBSERVER_ENDPOINTS.subaccount.health_factor(b));
|
|
909
|
+
if (response.status === 200) {
|
|
910
|
+
borrowerResponses[b] = await response.json();
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
formattedLoansArray?.map((loan) => {
|
|
914
|
+
loan.health_factor = borrowerResponses[loan.borrower];
|
|
915
|
+
});
|
|
916
|
+
return formattedLoansArray;
|
|
917
|
+
}
|
|
918
|
+
async function getHealthFactorOfBorrowersByVault({ options, }) {
|
|
919
|
+
const vaults = await (0, core_1.fetchTokenizedVaults)();
|
|
920
|
+
const healthFactors = await Promise.all(vaults.map(async (v) => {
|
|
921
|
+
return getVaultBorrowerHealthFactor({
|
|
922
|
+
vault: v.address,
|
|
923
|
+
options,
|
|
924
|
+
});
|
|
925
|
+
}));
|
|
926
|
+
const healthFactorsByPool = {};
|
|
927
|
+
vaults.map((pool, index) => {
|
|
928
|
+
healthFactorsByPool[pool.address] = healthFactors[index];
|
|
929
|
+
});
|
|
930
|
+
return healthFactorsByPool;
|
|
931
|
+
}
|
|
735
932
|
//# sourceMappingURL=getters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../src.ts/modules/vaults/getters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+FA,4BAsEC;AAKD,sCAyGC;AAaD,kDA0KC;AAED,oEAyKC;AAED,8DA8FC;AAKD,8CA6HC;AAKD,kCAqDC;AAED,gEAiJC;AAED,kCAiGC;AAvoCD,qCAKoB;AAoBpB,qCAkBoB;AACpB,mCAOgB;AAEhB,mCAAsE;AACtE,sDAAoE;AACpE,2CAKqB;AACrB,kDAI+B;AAC/B,kDAA+C;AAC/C,wDAA0C;AAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AA2B5C,KAAK,UAAU,QAAQ,CAAC,EAC7B,KAAK,EACL,KAAK,GAAG,KAAK,EACb,WAAW,GAAG,KAAK,EACnB,OAAO,GAMR;IACC,IAAI,aAAqB,CAAC;IAC1B,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,CAAC,MAAM,IAAA,2BAAoB,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEhE,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,OAAO,MAAM,eAAM,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACtE,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,aAAa,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBACjE,MAAM;YACR,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,aAAa,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBACjE,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,KAAK,YAAY,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAGD,IAAI,CAAC,IAAA,sBAAU,EAAC,KAAK,CAAC,EAAE,CAAC;QAEvB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC;gBACH,aAAa,GAAG;oBACd,GAAG,aAAa;oBAChB,KAAK,EAAE,MAAM,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC;iBACnD,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,EAAE;oBACpC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM;iBACrC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACnE,aAAa,GAAG;oBACd,GAAG,aAAa;oBAChB,WAAW,EAAE,gBAAgB;iBAC9B,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,EAAE;oBAC1C,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM;iBACrC,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAKM,KAAK,UAAU,aAAa,CACjC,KAAwB,EACxB,OAA0B;IAG1B,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACvE,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,YAAY,CAAC,CAAC;IACnD,IAAI,YAAY,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IAExC,IAAI,CAAC;QACH,IAAI,eAAoB,CAAC;QACzB,IAAI,YAAoB,CAAC;QAGzB,MAAM,cAAc,GAAG,CACrB,MAAM,IAAA,2BAAoB,EACxB,YAAY,EACZ,OAAO,EAAE,OAAiC,CAC3C,CACF,EAAE,CAAC,CAAC,CAAC,CAAC;QACP,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,KAAK,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,mBAAmB,GAAG,MAAM,IAAA,+BAAwB,EACxD,YAAY,EACZ,OAAO,CACR,CAAC;QAEF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAE9B,MAAM,YAAY,GAAG,IAAA,qBAAc,EAAC;gBAClC,QAAQ;gBACR,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,0BAAmB;aACzB,CAAC,CAAC;YACH,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAClD,YAAY,CAAC,WAAW,EAAE;gBAC1B,IAAA,kBAAW,EAAC,QAAQ,EAAE,YAAY,CAAC;aACpC,CAAC,CAAC;YACH,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;YACrD,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;YACxC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,CAAC;QAGD,MAAM,QAAQ,GAAiB,CAC7B,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAClE,KAAK,EAAE,CAAC,EAAE,EAAE;YAEV,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YAG5B,MAAM,UAAU,GACd,CAAC,CAAC,gBAAgB;gBAClB,MAAM,CAAC,IAAA,oBAAW,EAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;YAErD,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAoB,EAC5C,QAAQ,EACR,sBAAsB,EACtB,CAAC,CAAC,OAAO,EACT,OAAO,CACR,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;YACzC,MAAM,gBAAgB,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC;YAG3D,MAAM,aAAa,GACjB,yCAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAGnD,MAAM,UAAU,GAAe;gBAC7B,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,CAAC,CAAC,YAAY;gBAC3B,cAAc,EAAE,CAAC,CAAC,eAAe;gBACjC,eAAe,EAAE,CAAC,CAAC,gBAAgB;gBACnC,cAAc,EAAE,CAAC,CAAC,eAAe;gBACjC,eAAe,EAAE;oBACf,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM;oBACjC,OAAO,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ;iBACrC;gBACD,GAAG,EAAE,gBAAgB;gBACrB,sBAAsB,EAAE,CAAC,CAAC,wBAAwB;gBAClD,YAAY,EAAE,CAAC,CAAC,aAAa;gBAC7B,aAAa;gBACb,eAAe,EAAE,CAAC,CAAC,gBAAgB;gBACnC,UAAU;aACX,CAAC;YACF,OAAO,UAAU,CAAC;QACpB,CAAC,CACF,CACF,CACF,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAEjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAaM,KAAK,UAAU,mBAAmB,CACvC,KAAe,EACf,OAA0B;IAG1B,IAAI,gBAAgB,GAA8B,EAAE,CAAC;IACrD,IAAI,aAAa,GAA2B,EAAE,CAAC;IAC/C,IAAI,YAAY,GAAwB,EAAE,CAAC;IAE3C,IAAI,qBAAqB,GAAwC,EAAE,CAAC;IACpE,IAAI,YAAY,GAAiC,EAAE,CAAC;IACpD,IAAI,eAAe,GACjB,EAAE,CAAC;IACL,IAAI,mBAAmB,GAAyB;QAC9C,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,EAAE;QACV,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,CAAC;KACf,CAAC;IACF,IAAI,QAAQ,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC5B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAE1B,IAAI,eAA2B,CAAC;IAChC,MAAM,cAAc,GAAG,CACrB,MAAM,IAAA,2BAAoB,EACxB,KAAK,EACL,OAAO,EAAE,OAAiC,CAC3C,CACF,EAAE,CAAC,CAAC,CAAC,CAAC;IAEP,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClD,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAmB,CAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAGD,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,2BAAe,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAmB,EAAC,4BAAgB,CAAC,CAAC;QAC9D,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAA,8BAAqB,EACnB,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,4BAAgB,EAChB,mBAAmB,EACnB,QAAQ,CACT,CAAC;QACF,gBAAgB,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;QACjD,MAAM,aAAa,GAAG,IAAA,6BAAoB,EAAC,SAAS,CAAC,CAAC;QACtD,eAAe,CAAC,4BAAgB,CAAC,GAAG,aAAa,CAAC;IACpD,CAAC;SAAM,CAAC;QAEN,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;YAEvC,IAAI,CAAC;gBAEH,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAmB,EAAC,QAAQ,CAAC,CAAC;gBACtD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;oBACxB,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;gBAED,IAAA,8BAAqB,EACnB,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,QAAQ,CACT,CAAC;gBACF,gBAAgB,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;gBACjD,MAAM,aAAa,GAAG,IAAA,6BAAoB,EAAC,SAAS,CAAC,CAAC;gBACtD,eAAe,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC;YAC5C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClE,CAAC;YAGD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAkB,EAC3C,OAAO,CAAC,SAAS,EACjB,0BAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC7C,EAAE,OAAO,EAAE,OAAO,EAAE,OAAiC,EAAE,CACxD,CAAC;gBACF,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAChC,OAAO,CAAC,KAAK,CACX,6BAA6B,EAC7B,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,UAAU,CACxB,CAAC;gBACJ,CAAC;gBACD,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAChC,MAAM,OAAO,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAwB,CAAC;oBACnE,qBAAqB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;oBAC1C,YAAY,GAAG,OAAO,CAAC;gBACzB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;YAGD,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,IAAA,yBAAkB,EAC1C,OAAO,CAAC,SAAS,EACjB,0BAAmB,CAAC,UAAU,CAAC,aAAa,CAAC,QAAoB,CAAC,EAClE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAiC,EAAE,CACxD,CAAC;gBACF,IAAI,WAAW,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC/B,OAAO,CAAC,KAAK,CACX,4BAA4B,EAC5B,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,UAAU,CACvB,CAAC;gBACJ,CAAC;gBACD,IAAI,WAAW,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC/B,MAAM,MAAM,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAiB,CAAC;oBAC1D,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;gBAClC,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CACrD,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAChC,CAAC,CACF,CAAC;IACF,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CACzC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,EACrC,CAAC,CACF,CAAC;IACF,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5E,mBAAmB,CAAC,aAAa,GAAG,aAAa,CAAC;IAClD,mBAAmB,CAAC,WAAW,GAAG,WAAW,CAAC;IAC9C,mBAAmB,CAAC,WAAW,GAAG,WAAW,CAAC;IAC9C,QAAQ,CAAC,KAAK,IAAI,WAAW,CAAC;IAE9B,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,YAAY;QACjB,MAAM,EAAE,aAAa;QACrB,eAAe;QACf,mBAAmB;QACnB,QAAQ,EAAE,QAAQ,CAAC,KAAK;QAGxB,gBAAgB,EAAE,gBAA0C;KAC7D,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,4BAA4B,CAAC,EACjD,KAAK,EACL,MAAM,EACN,OAAO,GAKR;IACC,IAAI,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,CACrB,MAAM,IAAA,2BAAoB,EACxB,KAAK,EACL,OAAO,EAAE,OAAiC,CAC3C,CACF,EAAE,CAAC,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,EAAE,oBAAoB,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;QAC9D,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,qBAAc,EAAC;YAClC,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,0BAAmB;YACxB,QAAQ;SACT,CAAC,CAAC;QAEH,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,GAClD,MAAM,IAAA,oCAAyB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAGnD,MAAM,QAAQ,GAAW,MAAM,IAAA,kBAAW,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAG5D,MAAM,oBAAoB,GAAgC,EAAE,CAAC;QAC7D,MAAM,kBAAkB,GAAgC,EAAE,CAAC;QAE3D,KAAK,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;YAEtC,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CACV,wDAAwD,EACxD,EAAE,CACH,CAAC;gBACF,SAAS;YACX,CAAC;YAGD,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;gBACzD,OAAO,CAAC,IAAI,CACV,iFAAiF,EACjF,EAAE,CACH,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,IAAI,CACvB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EACpB,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CACf,CAAC;YAEF,MAAM,2BAA2B,GAAG,oBAAoB,CAAC,IAAI,CAC3D,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,IAAI,CACL,CAAiC,CAAC,WAAW,CAC/C,CAAC,YAAY,EAAE,KAAK,QAAQ,CAAC,YAAY,EAAE;gBAC3C,CAAiC,CAAC,YAAY,KAAK,EAAE,CAAC,YAAY,CACtE,CAAC;YAEF,IAAI,MAAM,IAAI,IAAA,kBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;gBAEhC,IAAI,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC7D,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAC/C,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC;wBACtC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;wBAC1C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAC3C,CAAC;oBACF,IAAI,CAAC,CAAC,2BAA2B,IAAI,eAAe,CAAC,EAAE,CAAC;wBAEtD,IAAI,CAAC;4BACH,MAAM,mBAAmB,GACvB,MAAM,YAAY,EAAE,4BAA4B,EAAE,CAChD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAChB,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EACd,IAAA,mBAAU,EAAC,MAAM,CAAC,CACnB,CAAC;4BAEJ,IAAI,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gCACpC,oBAAoB,CAAC,IAAI,CAAC;oCACxB,EAAE,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;oCAChC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;oCAClC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;oCAChC,QAAQ,EAAE,EAAE,CAAC,YAAY;oCACzB,GAAG,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;oCAC9B,KAAK,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;oCAClC,IAAI,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oCAChC,MAAM,EAAE,IAAA,qBAAc,EAAC,mBAAmB,EAAE,QAAQ,CAAC;oCACrD,IAAI,EAAE,QAAQ;oCACd,KAAK;iCACN,CAAC,CAAC;4BACL,CAAC;4BACD,kBAAkB,CAAC,IAAI,CAAC;gCACtB,EAAE,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;gCAChC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;gCAClC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;gCAChC,QAAQ,EAAE,EAAE,CAAC,YAAY;gCACzB,GAAG,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gCAC9B,KAAK,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;gCAClC,IAAI,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gCAChC,MAAM,EAAE,IAAA,qBAAc,EACpB,mBAAmB,IAAI,MAAM,CAAC,CAAC,CAAC,EAChC,QAAQ,CACT;gCACD,IAAI,EAAE,QAAQ;gCACd,KAAK;6BACN,CAAC,CAAC;wBACL,CAAC;wBAAC,OAAO,aAAa,EAAE,CAAC;4BACvB,OAAO,CAAC,KAAK,CACX,sDAAsD,EACtD,aAAa,CACd,CAAC;4BAEF,kBAAkB,CAAC,IAAI,CAAC;gCACtB,EAAE,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;gCAChC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;gCAClC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;gCAChC,QAAQ,EAAE,EAAE,CAAC,YAAY;gCACzB,GAAG,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gCAC9B,KAAK,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;gCAClC,IAAI,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gCAChC,MAAM,EAAE,IAAA,qBAAc,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;gCAC3C,IAAI,EAAE,QAAQ;gCACd,KAAK;6BACN,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,CAAC,2BAA2B,EAAE,CAAC;oBAClC,oBAAoB,CAAC,IAAI,CAAC;wBACxB,EAAE,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;wBAChC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;wBAClC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;wBAChC,QAAQ,EAAE,EAAE,CAAC,YAAY;wBACzB,GAAG,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;wBAC9B,KAAK,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;wBAClC,IAAI,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;wBAChC,MAAM,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;wBACxD,IAAI,EAAE,QAAQ;wBACd,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAMD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,OAAO,EAAE,oBAAoB,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;IAC9D,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAAC,EAC9C,KAAK,EACL,MAAM,EACN,OAAO,GAKR;IACC,IAAI,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,CACrB,MAAM,IAAA,2BAAoB,EACxB,KAAK,EACL,OAAO,EAAE,OAAiC,CAC3C,CACF,EAAE,CAAC,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC;QACrC,MAAM,YAAY,GAAG,IAAA,qBAAc,EAAC;YAClC,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,0BAAmB;YACxB,QAAQ;SACT,CAAC,CAAC;QAGH,IAAI,WAAW,GAAgD,EAAE,CAAC;QAClE,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;QACrD,IAAI,aAAa,GAAG,YAAY,GAAG,IAAA,iCAA0B,EAAC,OAAO,CAAC,CAAC;QACvE,IAAI,QAAQ,GAAG,YAAY,CAAC;QAC5B,MAAM,WAAW,GAAG,YAAY,GAAG,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;QAEjE,OAAO,QAAQ,IAAI,WAAW,EAAE,CAAC;YAE/B,MAAM,iBAAiB,GAAG,YAAY,CAAC,WAAW,CAChD,qBAAqB,EACrB,MAAM,CAAC,aAAa,CAAC,EACrB,MAAM,CAAC,QAAQ,CAAC,CACjB,CAAC;YAEF,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAEpC,aAAa,IAAI,IAAA,iCAA0B,EAAC,OAAO,CAAC,CAAC;YACrD,QAAQ,IAAI,IAAA,iCAA0B,EAAC,OAAO,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5D,MAAM,KAAK,GAAG,IAAI,eAAM,CAAC,SAAS,CAAC;YACjC,kHAAkH;SACnH,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAGtD,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAW,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAkC,EAAE,CAAC;QACtD,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAErB,IAAI,CAAC,EAAE,EAAE,IAAI;gBAAE,OAAO;YACtB,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAEvE,IAAI,MAAM,EAAE,CAAC;gBAEX,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;oBACjE,WAAW,CAAC,IAAI,CAAC;wBACf,QAAQ,EAAE,YAAY;wBACtB,MAAM,EAAE,IAAA,qBAAc,EAAC,YAAY,EAAE,QAAQ,CAAC;wBAC9C,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;wBAC/C,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;wBAC/C,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,IAAA,qBAAc,EAAC,YAAY,EAAE,QAAQ,CAAC;oBAC9C,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;oBAC/C,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;oBAC/C,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,aAAM,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAKM,KAAK,UAAU,iBAAiB,CAAC,EACtC,KAAK,EACL,MAAM,EACN,YAAY,EACZ,OAAO,GAMR;IACC,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,IAAA,2BAAoB,EAChD,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACzB,OAAO,EAAE,OAAiC,CAC3C,CAAC;QAEF,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,EAAE,CAAC;QACZ,CAAC;QAGD,SAAS,YAAY,CACnB,YAAwB,EACxB,QAA2B;YAE3B,IAAI,YAAY,EAAE,MAAM;gBAAE,OAAO,QAAQ,CAAC;YAC1C,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBAAE,OAAO,QAAQ,CAAC;YACtD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAqB,MAAM,OAAO,CAAC,GAAG,CAClD,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC;gBAEH,IAAI,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5C,IAAI,OAAO,GAAG,IAAA,qBAAc,EAAC,CAAC,CAAC,CAAC;oBAChC,IAAI,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC/C,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,aAAa,CAC7D,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EACjB,eAAM,CAAC,SAAS,CAAC,QAAQ,CAC1B,CAAC;wBACF,IACE,aAAa;4BACZ,aAAa,EAAE,UAAkB,EAAE,SAAS,EAC7C,CAAC;4BACD,OAAO,GAAG,IAAA,qBAAc,EACtB,MAAM,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAC/C,YAAY,EACX,aAAa,EAAE,UAAkB,EAAE,SAAS,CAC9C,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,OAAO;wBACL,KAAK;wBACL,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC;wBACjC,oBAAoB,EAAE,EAAE;wBACxB,kBAAkB,EAAE,EAAE;wBACtB,UAAU,EAAE,OAAO;wBACnB,aAAa,EAAE,OAAO;qBACL,CAAC;gBACtB,CAAC;gBAGD,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEhD,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAW,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAEpD,MAAM,aAAa,GAAG,IAAA,qBAAc,EAAC;oBACnC,QAAQ;oBACR,GAAG,EAAE,0BAAmB;oBACxB,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC;gBAGH,MAAM,GAAG,GACP,MAAM,IAAI,IAAA,kBAAS,EAAC,MAAM,CAAC;oBACzB,CAAC,CAAC,MAAM,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC;oBACvC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM,OAAO,GAAG,IAAA,qBAAc,EAAC,GAAG,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAGnD,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,GAChD,MAAM,4BAA4B,CAAC;oBACjC,KAAK,EAAE,CAAC,CAAC,OAAmB;oBAC5B,MAAM;oBACN,OAAO;iBACR,CAAC,CAAC;gBAEL,MAAM,6BAA6B,GAAG,oBAAoB,EAAE,MAAM,CAChE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAE,IAAI,CAAC,MAA4B,CAAC,GAAG,CAAC,EACnE,MAAM,CAAC,CAAC,CAAC,CACV,CAAC;gBAGF,OAAO;oBACL,KAAK;oBACL,MAAM,EAAE,YAAY,CAAC,oBAAoB,EAAE,OAAO,CAAC;oBACnD,oBAAoB;oBACpB,kBAAkB;oBAClB,UAAU,EAAE,IAAA,qBAAc,EAAC,6BAA6B,EAAE,QAAQ,CAAC;oBACnE,aAAa,EAAE,OAAO;iBACL,CAAC;YACtB,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CACX,8CAA8C,CAAC,CAAC,OAAO,GAAG,EAC1D,UAAU,CACX,CAAC;gBACF,OAAO;oBACL,KAAK;oBACL,MAAM,EAAE,SAAS;oBACjB,oBAAoB,EAAE,EAAE;oBACxB,kBAAkB,EAAE,EAAE;oBACtB,UAAU,EAAE,IAAA,qBAAc,EAAC,CAAC,CAAC;oBAC7B,aAAa,EAAE,IAAA,qBAAc,EAAC,CAAC,CAAC;iBACf,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAKM,KAAK,UAAU,WAAW,CAAC,EAChC,KAAK,EACL,OAAO,EACP,UAAU,GAKX;IACC,IAAI,CAAC;QACH,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAGnE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,cAAc,GAAG,CACrB,MAAM,IAAA,2BAAoB,EACxB,KAAK,EACL,OAAO,EAAE,OAAiC,CAC3C,CACF,EAAE,CAAC,CAAC,CAAC,CAAC;YACP,OAAO,cAAc,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YAEN,SAAS,YAAY,CAAC,MAA8B;gBAClD,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM;oBAAE,OAAO,EAAE,CAAC;gBACvB,IAAI,MAAM,CAAC,OAAO;oBAChB,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC1D,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC9B,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,IAAA,wBAAiB,EAC3C,GAAG,0BAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,EAAE,EAC9F;gBACE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO;oBACzB,CAAC,CAAE,OAAO,EAAE,OAAkC;oBAC9C,CAAC,CAAC,SAAS;aACd,CACF,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC1E,MAAM,iBAAiB,GACrB,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,CAA0B,CAAC;YACxD,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC1D,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5D,OAAO;oBACL,SAAS,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;oBACjD,KAAK,EAAE,GAAG;iBACX,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAAC,EAC/C,MAAM,EACN,MAAM,EACN,YAAY,GAKb;IACC,MAAM,aAAa,GAAG,KAAK,CAAC;IAC5B,MAAM,cAAc,GAAG,MAAM,CAAC;IAC9B,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,MAAM,YAAY,GAAG,WAAW,CAAC;IACjC,MAAM,cAAc,GAAG,QAAQ,CAAC;IAChC,MAAM,cAAc,GAAG,QAAQ,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,MAAM,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,IAAA,iBAAU,EAAC,QAAQ,CAAC,CAAC;QAG3C,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC9B,aAAM,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;YAClE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,IAAA,kBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;YACjC,aAAM,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC;QACZ,CAAC;QAGD,MAAM,0BAA0B,GAAG,IAAA,kCAA0B,EAAC,OAAO,CAAC,CAAC;QAGvE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,0BAA0B,CAAC,GAAG,CAAC,KAAK,EAAE,QAAkB,EAAE,CAAS,EAAE,EAAE;YACrE,MAAM,cAAc,GAAG,IAAA,qBAAc,EAAC;gBACpC,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,QAAQ;gBAClB,GAAG,EAAE,6BAAsB;aAC5B,CAAC,CAAC;YAGH,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAGjE,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;YACxE,MAAM,mBAAmB,GACvB,CAAC,MAAM,cAAc,CAAC,YAAY,EAAE,CAAa,CAAC;YACpD,MAAM,oBAAoB,GAAG,IAAA,qBAAc,EAAC;gBAC1C,OAAO,EAAE,mBAAmB;gBAC5B,QAAQ,EAAE,QAAQ;gBAClB,GAAG,EAAE,gBAAS;aACf,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAChD,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,CACpE,CAAC;YAGF,IAAI,OAAe,CAAC;YACpB,IAAI,MAAc,CAAC;YACnB,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,eAAe,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;gBAC3C,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;gBAC1D,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACxD,CAAC;YAGD,MAAM,qBAAqB,GAAG,MAAM,IAAA,sBAAe,EACjD,cAAc,EACd,IAAI,EACJ,YAAY,CACb,CAAC;YACF,MAAM,0BAA0B,GAAG,IAAA,qBAAc,EAC/C,qBAAqB,CACtB,CAAC;YAGF,MAAM,2BAA2B,GAAG,IAAA,qBAAc,EAChD,WAAW,EACX,QAAQ,CACT,CAAC;YACF,MAAM,oBAAoB,GAAG,IAAA,qBAAc,EAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACtE,MAAM,0BAA0B,GAAG,IAAA,qBAAc,EAC/C,gBAAgB,EAChB,gBAAgB,CACjB,CAAC;YACF,MAAM,4BAA4B,GAAG,IAAA,qBAAc,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAGvE,MAAM,0BAA0B,GAC9B,MAAM,KAAK,cAAc;gBACvB,CAAC,CAAC,MAAM,CAAC,0BAA0B,EAAE,UAAU,CAAC;gBAChD,CAAC,CAAC,CAAC,CAAC;YAER,MAAM,UAAU,GACd,CAAC,CAAC,MAAM,CAAC,0BAA0B,EAAE,UAAU,CAAC;gBAC9C,cAAc;gBACd,0BAA0B,CAAC;gBAC3B,CAAC,MAAM,CAAC,2BAA2B,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,GAAG,CAAC;YACN,MAAM,OAAO,GACX,CAAC,CAAC,MAAM,CAAC,0BAA0B,EAAE,UAAU,CAAC;gBAC9C,cAAc;gBACd,0BAA0B,CAAC;gBAC3B,CAAC,MAAM,CAAC,2BAA2B,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,GAAG,CAAC;YAEN,MAAM,cAAc,GAA2B;gBAC7C,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;gBACb,WAAW,EAAE;oBACX,QAAQ,EAAE,gBAAgB;oBAC1B,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE,oBAAuB;oBAChC,KAAK,EAAE,aAAa;oBACpB,UAAU,EAAE,oBAAoB;oBAChC,GAAG,EAAE,0BAA0B;oBAC/B,IAAI,EAAE,YAAY;iBACnB;gBACD,YAAY,EAAE;oBACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAW;oBACpC,MAAM,EAAE,MAAgB;oBACxB,OAAO,EAAE,mBAAmB;oBAC5B,KAAK,EAAE,aAAa;oBACpB,WAAW,EAAE,4BAA4B;oBACzC,GAAG,EAAE,0BAA0B;oBAC/B,WAAW,EAAE,2BAA2B;oBACxC,IAAI,EAAE,IAAc;iBACrB;gBACD,iBAAiB,EAAE,QAAQ;gBAC3B,eAAe,EAAE,IAAA,qBAAc,EAAC,gBAAgB,CAAC;gBACjD,GAAG,EAAE,UAAU;gBACf,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,aAAa;aACvB,CAAC;YACF,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC,CACH,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,EAChC,KAAK,EACL,OAAO,EACP,UAAU,GAKX;IAGC,IAAI,CAAC;QACH,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAGnE,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,2BAAoB,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,uBAAuB,CAAC,CAAC;QACzD,CAAC;QAGD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;gBAC9B,KAAK;gBACL,OAAO;gBACP,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,CAAC;aAAM,CAAC;YAGN,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,CAAC,UAAU,CAAC,KAAK;gBACxD,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC;YAE5B,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,CAAC,UAAU,CAAC,QAAQ;gBAC3D,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC;YAG/B,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,aAAa,GAAG,IAAA,qBAAc,EAAC;gBACnC,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,wBAAiB;gBACtB,QAAQ;aACT,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAA,kBAAW,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAEzD,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO;gBAClC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;gBACjE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CACjC,UAAU,CAAC,QAAQ,EACnB,SAAS,CAAC,WAAW,EAAE,EACvB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAC;YAEF,MAAM,aAAa,GACjB,UAAU,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,wBAAiB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAEnE,MAAM,MAAM,GAAG,CAAC,+CAA+C,CAAC,CAAC;YACjE,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7C,aAAa,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;gBAE3C,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;oBAC7C,EAAE,EAAE,aAAa;oBACjB,IAAI,EAAE,IAAI,kBAAS,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,aAAa,EAAE,EAAE,CAAC;oBACjE,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBAEH,IAAI,kBAAkB,KAAK,IAAI;oBAC7B,OAAO;wBACL,SAAS,EAAE,IAAA,iBAAU,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;wBACrC,KAAK,EAAE,IAAA,qBAAc,EAAC,CAAC,EAAE,CAAC,CAAC;qBAC5B,CAAC;gBAEJ,MAAM,0BAA0B,GAAG,IAAI,kBAAS,CAC9C,MAAM,CACP,CAAC,oBAAoB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;gBAC1D,OAAO;oBACL,SAAS,EAAE,IAAA,iBAAU,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrC,KAAK,EAAE,IAAA,qBAAc,EACnB,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAC/B,aAAa,CACd;iBACF,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;YACF,aAAM,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,CAAC;YACjE,OAAO,qBAAqB,CAAC;QAC/B,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,2BAA2B,KAAK,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACxF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../src.ts/modules/vaults/getters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGA,4BAsEC;AAKD,sCAyGC;AAaD,kDA0KC;AAED,oEAsNC;AAED,8DA8FC;AAKD,8CA+JC;AAKD,kCA0DC;AAED,gEAiJC;AAED,kCAqLC;AAED,oEAsEC;AAED,8EAsBC;AAn5CD,qCAKoB;AAoBpB,qCA2BoB;AACpB,mCAOgB;AAEhB,sDAAoE;AACpE,kDAI+B;AAC/B,kDAA+C;AAC/C,wDAA0C;AAC1C,kEAAqE;AACrE,gFAAoF;AACpF,oFAA8C;AA2BvC,KAAK,UAAU,QAAQ,CAAC,EAC7B,KAAK,EACL,KAAK,GAAG,KAAK,EACb,WAAW,GAAG,KAAK,EACnB,OAAO,GAMR;IACC,IAAI,aAAqB,CAAC;IAC1B,MAAM,YAAY,GAAG,IAAA,sBAAe,EAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,CAAC,MAAM,IAAA,2BAAoB,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEhE,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,OAAO,MAAM,eAAM,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACtE,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,aAAa,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBACjE,MAAM;YACR,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,aAAa,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBACjE,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,KAAK,YAAY,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAGD,IAAI,CAAC,IAAA,iBAAU,EAAC,KAAK,CAAC,EAAE,CAAC;QAEvB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC;gBACH,aAAa,GAAG;oBACd,GAAG,aAAa;oBAChB,KAAK,EAAE,MAAM,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC;iBACnD,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,EAAE;oBACpC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM;iBACrC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACnE,aAAa,GAAG;oBACd,GAAG,aAAa;oBAChB,WAAW,EAAE,gBAAgB;iBAC9B,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,EAAE;oBAC1C,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM;iBACrC,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAKM,KAAK,UAAU,aAAa,CACjC,KAAwB,EACxB,OAA0B;IAG1B,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACvE,MAAM,YAAY,GAAG,IAAA,sBAAe,EAAC,YAAY,CAAC,CAAC;IACnD,IAAI,YAAY,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IAExC,IAAI,CAAC;QACH,IAAI,eAAoB,CAAC;QACzB,IAAI,YAAoB,CAAC;QAGzB,MAAM,cAAc,GAAG,CACrB,MAAM,IAAA,2BAAoB,EACxB,YAAY,EACZ,OAAO,EAAE,OAAiC,CAC3C,CACF,EAAE,CAAC,CAAC,CAAC,CAAC;QACP,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,KAAK,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,mBAAmB,GAAG,MAAM,IAAA,+BAAwB,EACxD,YAAY,EACZ,OAAO,CACR,CAAC;QAEF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAE9B,MAAM,YAAY,GAAG,IAAA,qBAAc,EAAC;gBAClC,QAAQ;gBACR,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,0BAAmB;aACzB,CAAC,CAAC;YACH,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAClD,YAAY,CAAC,WAAW,EAAE;gBAC1B,IAAA,kBAAW,EAAC,QAAQ,EAAE,YAAY,CAAC;aACpC,CAAC,CAAC;YACH,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;YACrD,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;YACxC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,CAAC;QAGD,MAAM,QAAQ,GAAiB,CAC7B,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAClE,KAAK,EAAE,CAAC,EAAE,EAAE;YAEV,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YAG5B,MAAM,UAAU,GACd,CAAC,CAAC,gBAAgB;gBAClB,MAAM,CAAC,IAAA,oBAAW,EAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;YAErD,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAoB,EAC5C,QAAQ,EACR,sBAAsB,EACtB,CAAC,CAAC,OAAO,EACT,OAAO,CACR,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;YACzC,MAAM,gBAAgB,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC;YAG3D,MAAM,aAAa,GACjB,oCAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAGnD,MAAM,UAAU,GAAe;gBAC7B,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,CAAC,CAAC,YAAY;gBAC3B,cAAc,EAAE,CAAC,CAAC,eAAe;gBACjC,eAAe,EAAE,CAAC,CAAC,gBAAgB;gBACnC,cAAc,EAAE,CAAC,CAAC,eAAe;gBACjC,eAAe,EAAE;oBACf,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM;oBACjC,OAAO,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ;iBACrC;gBACD,GAAG,EAAE,gBAAgB;gBACrB,sBAAsB,EAAE,CAAC,CAAC,wBAAwB;gBAClD,YAAY,EAAE,CAAC,CAAC,aAAa;gBAC7B,aAAa;gBACb,eAAe,EAAE,CAAC,CAAC,gBAAgB;gBACnC,UAAU;aACX,CAAC;YACF,OAAO,UAAU,CAAC;QACpB,CAAC,CACF,CACF,CACF,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAEjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAaM,KAAK,UAAU,mBAAmB,CACvC,KAAe,EACf,OAA0B;IAG1B,IAAI,gBAAgB,GAA8B,EAAE,CAAC;IACrD,IAAI,aAAa,GAA2B,EAAE,CAAC;IAC/C,IAAI,YAAY,GAAwB,EAAE,CAAC;IAE3C,IAAI,qBAAqB,GAAwC,EAAE,CAAC;IACpE,IAAI,YAAY,GAAiC,EAAE,CAAC;IACpD,IAAI,eAAe,GACjB,EAAE,CAAC;IACL,IAAI,mBAAmB,GAAyB;QAC9C,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,EAAE;QACV,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,CAAC;KACf,CAAC;IACF,IAAI,QAAQ,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC5B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAE1B,IAAI,eAA2B,CAAC;IAChC,MAAM,cAAc,GAAG,CACrB,MAAM,IAAA,2BAAoB,EACxB,KAAK,EACL,OAAO,EAAE,OAAiC,CAC3C,CACF,EAAE,CAAC,CAAC,CAAC,CAAC;IAEP,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,sBAAe,EAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClD,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAmB,CAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAGD,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,sBAAe,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAmB,EAAC,uBAAgB,CAAC,CAAC;QAC9D,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAA,8BAAqB,EACnB,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,uBAAgB,EAChB,mBAAmB,EACnB,QAAQ,CACT,CAAC;QACF,gBAAgB,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;QACjD,MAAM,aAAa,GAAG,IAAA,6BAAoB,EAAC,SAAS,CAAC,CAAC;QACtD,eAAe,CAAC,uBAAgB,CAAC,GAAG,aAAa,CAAC;IACpD,CAAC;SAAM,CAAC;QAEN,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;YAEvC,IAAI,CAAC;gBAEH,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAmB,EAAC,QAAQ,CAAC,CAAC;gBACtD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;oBACxB,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;gBAED,IAAA,8BAAqB,EACnB,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,QAAQ,CACT,CAAC;gBACF,gBAAgB,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;gBACjD,MAAM,aAAa,GAAG,IAAA,6BAAoB,EAAC,SAAS,CAAC,CAAC;gBACtD,eAAe,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC;YAC5C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClE,CAAC;YAGD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAkB,EAC3C,OAAO,CAAC,SAAS,EACjB,0BAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC7C,EAAE,OAAO,EAAE,OAAO,EAAE,OAAiC,EAAE,CACxD,CAAC;gBACF,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAChC,OAAO,CAAC,KAAK,CACX,6BAA6B,EAC7B,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,UAAU,CACxB,CAAC;gBACJ,CAAC;gBACD,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAChC,MAAM,OAAO,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAwB,CAAC;oBACnE,qBAAqB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;oBAC1C,YAAY,GAAG,OAAO,CAAC;gBACzB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;YAGD,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,IAAA,yBAAkB,EAC1C,OAAO,CAAC,SAAS,EACjB,0BAAmB,CAAC,UAAU,CAAC,aAAa,CAAC,QAAoB,CAAC,EAClE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAiC,EAAE,CACxD,CAAC;gBACF,IAAI,WAAW,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC/B,OAAO,CAAC,KAAK,CACX,4BAA4B,EAC5B,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,UAAU,CACvB,CAAC;gBACJ,CAAC;gBACD,IAAI,WAAW,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC/B,MAAM,MAAM,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAiB,CAAC;oBAC1D,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;gBAClC,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CACrD,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAChC,CAAC,CACF,CAAC;IACF,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CACzC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,EACrC,CAAC,CACF,CAAC;IACF,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5E,mBAAmB,CAAC,aAAa,GAAG,aAAa,CAAC;IAClD,mBAAmB,CAAC,WAAW,GAAG,WAAW,CAAC;IAC9C,mBAAmB,CAAC,WAAW,GAAG,WAAW,CAAC;IAC9C,QAAQ,CAAC,KAAK,IAAI,WAAW,CAAC;IAE9B,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,YAAY;QACjB,MAAM,EAAE,aAAa;QACrB,eAAe;QACf,mBAAmB;QACnB,QAAQ,EAAE,QAAQ,CAAC,KAAK;QAGxB,gBAAgB,EAAE,gBAA0C;KAC7D,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,4BAA4B,CAAC,EACjD,KAAK,EACL,MAAM,EACN,OAAO,GAKR;IACC,IAAI,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,CACrB,MAAM,IAAA,2BAAoB,EACxB,KAAK,EACL,OAAO,EAAE,OAAiC,CAC3C,CACF,EAAE,CAAC,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,EAAE,oBAAoB,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;QAC9D,CAAC;QAGD,MAAM,OAAO,GAAG,IAAA,sBAAe,EAAC,KAAK,CAAC,CAAC;QACvC,IAAI,GAA2C,CAAC;QAChD,IAAI,QAAgB,CAAC;QACrB,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,GAAG,GAAG,yCAAsB,CAAC;gBAC7B,QAAQ,GAAG,MAAM,IAAA,kBAAW,EAC1B,QAAQ,EACR,MAAM,IAAA,6BAAsB,EAAC,QAAQ,EAAE,KAAK,CAAC,CAC9C,CAAC;gBACF,MAAM;YACR,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,GAAG,GAAG,0BAAmB,CAAC;gBAC1B,QAAQ,GAAG,MAAM,IAAA,kBAAW,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC9C,MAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,IAAA,qBAAc,EAAC;YACnC,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,GAAG;YACR,QAAQ;SACT,CAAC,CAAC;QAEH,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,GAClD,MAAM,IAAA,oCAAyB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAGnD,MAAM,oBAAoB,GAAgC,EAAE,CAAC;QAC7D,MAAM,kBAAkB,GAAgC,EAAE,CAAC;QAE3D,KAAK,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;YAEtC,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAClC,aAAM,CAAC,GAAG,CAAC,IAAI,CACb,8BAA8B,EAC9B,2BAA2B,EAAE,EAAE,CAChC,CAAC;gBACF,SAAS;YACX,CAAC;YAGD,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;gBACzD,aAAM,CAAC,GAAG,CAAC,IAAI,CACb,8BAA8B,EAC9B,oDAAoD,EAAE,EAAE,CACzD,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,IAAI,CACvB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EACpB,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CACf,CAAC;YAEF,MAAM,2BAA2B,GAAG,oBAAoB,CAAC,IAAI,CAC3D,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,IAAI,CACL,CAAiC,CAAC,WAAW,CAC/C,CAAC,YAAY,EAAE,KAAK,QAAQ,CAAC,YAAY,EAAE;gBAC3C,CAAiC,CAAC,YAAY,KAAK,EAAE,CAAC,YAAY,CACtE,CAAC;YAEF,IAAI,MAAM,IAAI,IAAA,kBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;gBAEhC,IAAI,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC7D,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAC/C,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC;wBACtC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;wBAC1C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAC3C,CAAC;oBACF,IAAI,CAAC,CAAC,2BAA2B,IAAI,eAAe,CAAC,EAAE,CAAC;wBAEtD,IAAI,CAAC;4BACH,QAAQ,OAAO,EAAE,CAAC;gCAChB,KAAK,OAAO,CAAC,CAAC,CAAC;oCAEb,oBAAoB,CAAC,IAAI,CAAC;wCACxB,EAAE,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;wCAChC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;wCAClC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;wCAChC,QAAQ,EAAE,EAAE,CAAC,YAAY;wCACzB,GAAG,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;wCAC9B,KAAK,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;wCAClC,IAAI,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;wCAChC,MAAM,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;wCAC3C,IAAI,EAAE,QAAQ;wCACd,KAAK;qCACN,CAAC,CAAC;oCACH,kBAAkB,CAAC,IAAI,CAAC;wCACtB,EAAE,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;wCAChC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;wCAClC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;wCAChC,QAAQ,EAAE,EAAE,CAAC,YAAY;wCACzB,GAAG,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;wCAC9B,KAAK,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;wCAClC,IAAI,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;wCAChC,MAAM,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;wCACxD,IAAI,EAAE,QAAQ;wCACd,KAAK;qCACN,CAAC,CAAC;oCACH,MAAM;gCACR,CAAC;gCACD,OAAO,CAAC,CAAC,CAAC;oCACR,MAAM,mBAAmB,GACvB,MAAM,aAAa,EAAE,4BAA4B,EAAE,CACjD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAChB,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EACd,IAAA,mBAAU,EAAC,MAAM,CAAC,CACnB,CAAC;oCAEJ,IAAI,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wCACpC,oBAAoB,CAAC,IAAI,CAAC;4CACxB,EAAE,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;4CAChC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;4CAClC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;4CAChC,QAAQ,EAAE,EAAE,CAAC,YAAY;4CACzB,GAAG,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;4CAC9B,KAAK,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;4CAClC,IAAI,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;4CAChC,MAAM,EAAE,IAAA,qBAAc,EAAC,mBAAmB,EAAE,QAAQ,CAAC;4CACrD,IAAI,EAAE,QAAQ;4CACd,KAAK;yCACN,CAAC,CAAC;oCACL,CAAC;oCACD,kBAAkB,CAAC,IAAI,CAAC;wCACtB,EAAE,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;wCAChC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;wCAClC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;wCAChC,QAAQ,EAAE,EAAE,CAAC,YAAY;wCACzB,GAAG,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;wCAC9B,KAAK,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;wCAClC,IAAI,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;wCAChC,MAAM,EAAE,IAAA,qBAAc,EACpB,mBAAmB,IAAI,MAAM,CAAC,CAAC,CAAC,EAChC,QAAQ,CACT;wCACD,IAAI,EAAE,QAAQ;wCACd,KAAK;qCACN,CAAC,CAAC;oCACH,MAAM;gCACR,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,OAAO,aAAa,EAAE,CAAC;4BACvB,aAAM,CAAC,GAAG,CAAC,KAAK,CACd,8BAA8B,EAC9B,yBAAyB,aAAa,EAAE,CACzC,CAAC;4BAEF,kBAAkB,CAAC,IAAI,CAAC;gCACtB,EAAE,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;gCAChC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;gCAClC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;gCAChC,QAAQ,EAAE,EAAE,CAAC,YAAY;gCACzB,GAAG,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gCAC9B,KAAK,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;gCAClC,IAAI,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gCAChC,MAAM,EAAE,IAAA,qBAAc,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;gCAC3C,IAAI,EAAE,QAAQ;gCACd,KAAK;6BACN,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,CAAC,2BAA2B,EAAE,CAAC;oBAClC,oBAAoB,CAAC,IAAI,CAAC;wBACxB,EAAE,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;wBAChC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;wBAClC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;wBAChC,QAAQ,EAAE,EAAE,CAAC,YAAY;wBACzB,GAAG,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;wBAC9B,KAAK,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;wBAClC,IAAI,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;wBAChC,MAAM,EAAE,IAAA,qBAAc,EAAC,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;wBACxD,IAAI,EAAE,QAAQ;wBACd,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,OAAO,EAAE,oBAAoB,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;IAC9D,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAAC,EAC9C,KAAK,EACL,MAAM,EACN,OAAO,GAKR;IACC,IAAI,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,CACrB,MAAM,IAAA,2BAAoB,EACxB,KAAK,EACL,OAAO,EAAE,OAAiC,CAC3C,CACF,EAAE,CAAC,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC;QACrC,MAAM,YAAY,GAAG,IAAA,qBAAc,EAAC;YAClC,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,0BAAmB;YACxB,QAAQ;SACT,CAAC,CAAC;QAGH,IAAI,WAAW,GAAgD,EAAE,CAAC;QAClE,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;QACrD,IAAI,aAAa,GAAG,YAAY,GAAG,IAAA,iCAA0B,EAAC,OAAO,CAAC,CAAC;QACvE,IAAI,QAAQ,GAAG,YAAY,CAAC;QAC5B,MAAM,WAAW,GAAG,YAAY,GAAG,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;QAEjE,OAAO,QAAQ,IAAI,WAAW,EAAE,CAAC;YAE/B,MAAM,iBAAiB,GAAG,YAAY,CAAC,WAAW,CAChD,qBAAqB,EACrB,MAAM,CAAC,aAAa,CAAC,EACrB,MAAM,CAAC,QAAQ,CAAC,CACjB,CAAC;YAEF,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAEpC,aAAa,IAAI,IAAA,iCAA0B,EAAC,OAAO,CAAC,CAAC;YACrD,QAAQ,IAAI,IAAA,iCAA0B,EAAC,OAAO,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5D,MAAM,KAAK,GAAG,IAAI,eAAM,CAAC,SAAS,CAAC;YACjC,kHAAkH;SACnH,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAGtD,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAW,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAkC,EAAE,CAAC;QACtD,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAErB,IAAI,CAAC,EAAE,EAAE,IAAI;gBAAE,OAAO;YACtB,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAEvE,IAAI,MAAM,EAAE,CAAC;gBAEX,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;oBACjE,WAAW,CAAC,IAAI,CAAC;wBACf,QAAQ,EAAE,YAAY;wBACtB,MAAM,EAAE,IAAA,qBAAc,EAAC,YAAY,EAAE,QAAQ,CAAC;wBAC9C,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;wBAC/C,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;wBAC/C,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,IAAA,qBAAc,EAAC,YAAY,EAAE,QAAQ,CAAC;oBAC9C,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;oBAC/C,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;oBAC/C,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,aAAM,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAKM,KAAK,UAAU,iBAAiB,CAAC,EACtC,KAAK,EACL,MAAM,EACN,YAAY,EACZ,OAAO,GAMR;IACC,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,IAAA,2BAAoB,EAChD,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACzB,OAAO,EAAE,OAAiC,CAC3C,CAAC;QAEF,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,EAAE,CAAC;QACZ,CAAC;QAGD,SAAS,YAAY,CACnB,YAAwB,EACxB,QAA2B;YAE3B,IAAI,YAAY,EAAE,MAAM;gBAAE,OAAO,QAAQ,CAAC;YAC1C,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBAAE,OAAO,QAAQ,CAAC;YACtD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAqB,MAAM,OAAO,CAAC,GAAG,CAClD,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC;gBAEH,IAAI,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5C,IAAI,OAAO,GAAG,IAAA,qBAAc,EAAC,CAAC,CAAC,CAAC;oBAChC,IAAI,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC/C,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,aAAa,CAC7D,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EACjB,eAAM,CAAC,SAAS,CAAC,QAAQ,CAC1B,CAAC;wBACF,IACE,aAAa;4BACZ,aAAa,EAAE,UAAkB,EAAE,SAAS,EAC7C,CAAC;4BACD,OAAO,GAAG,IAAA,qBAAc,EACtB,MAAM,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAC/C,YAAY,EACX,aAAa,EAAE,UAAkB,EAAE,SAAS,CAC9C,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,OAAO;wBACL,KAAK;wBACL,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC;wBACjC,oBAAoB,EAAE,EAAE;wBACxB,kBAAkB,EAAE,EAAE;wBACtB,UAAU,EAAE,OAAO;wBACnB,aAAa,EAAE,OAAO;qBACL,CAAC;gBACtB,CAAC;gBAGD,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAGhD,IAAI,QAAgB,CAAC;gBACrB,IAAI,GAA2C,CAAC;gBAChD,MAAM,OAAO,GAAG,IAAA,sBAAe,EAAC,KAAK,CAAC,CAAC;gBAEvC,QAAQ,OAAO,EAAE,CAAC;oBAChB,KAAK,OAAO,CAAC,CAAC,CAAC;wBACb,QAAQ,GAAG,MAAM,IAAA,kBAAW,EAC1B,QAAQ,EACR,MAAM,IAAA,6BAAsB,EAAC,QAAQ,EAAE,KAAK,CAAC,CAC9C,CAAC;wBACF,GAAG,GAAG,yCAAsB,CAAC;wBAC7B,MAAM;oBACR,CAAC;oBACD,OAAO,CAAC,CAAC,CAAC;wBACR,QAAQ,GAAG,MAAM,IAAA,kBAAW,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBAC9C,GAAG,GAAG,0BAAmB,CAAC;wBAC1B,MAAM;oBACR,CAAC;gBACH,CAAC;gBAGD,MAAM,aAAa,GAAG,IAAA,qBAAc,EAAC;oBACnC,QAAQ;oBACR,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC;gBAGH,IAAI,GAAG,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,MAAM,IAAI,IAAA,kBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;oBAChC,QAAQ,OAAO,EAAE,CAAC;wBAChB,KAAK,OAAO,CAAC,CAAC,CAAC;4BACb,MAAM,eAAe,GAAG,IAAA,qBAAc,EAAC;gCACrC,QAAQ;gCACR,GAAG,EAAE,wDAA8B;gCACnC,OAAO,EAAE,MAAM,IAAA,6BAAsB,EAAC,QAAQ,EAAE,KAAK,CAAC;6BACvD,CAAC,CAAC;4BACH,GAAG,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;4BAC9C,MAAM;wBACR,CAAC;wBACD,OAAO,CAAC,CAAC,CAAC;4BACR,GAAG,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;4BAC5C,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM,OAAO,GAAG,IAAA,qBAAc,EAAC,GAAa,EAAE,QAAQ,CAAC,CAAC;gBAGxD,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,GAChD,MAAM,4BAA4B,CAAC;oBACjC,KAAK,EAAE,CAAC,CAAC,OAAmB;oBAC5B,MAAM;oBACN,OAAO;iBACR,CAAC,CAAC;gBAEL,MAAM,6BAA6B,GAAG,oBAAoB,EAAE,MAAM,CAChE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAE,IAAI,CAAC,MAA4B,CAAC,GAAG,CAAC,EACnE,MAAM,CAAC,CAAC,CAAC,CACV,CAAC;gBAGF,OAAO;oBACL,KAAK;oBACL,MAAM,EAAE,YAAY,CAAC,oBAAoB,EAAE,OAAO,CAAC;oBACnD,oBAAoB;oBACpB,kBAAkB;oBAClB,UAAU,EAAE,IAAA,qBAAc,EAAC,6BAA6B,EAAE,QAAQ,CAAC;oBACnE,aAAa,EAAE,OAAO;iBACL,CAAC;YACtB,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,aAAM,CAAC,GAAG,CAAC,KAAK,CACd,mBAAmB,EACnB,0BAA0B,CAAC,CAAC,OAAO,KAAK,UAAU,EAAE,CACrD,CAAC;gBACF,OAAO;oBACL,KAAK;oBACL,MAAM,EAAE,SAAS;oBACjB,oBAAoB,EAAE,EAAE;oBACxB,kBAAkB,EAAE,EAAE;oBACtB,UAAU,EAAE,IAAA,qBAAc,EAAC,CAAC,CAAC;oBAC7B,aAAa,EAAE,IAAA,qBAAc,EAAC,CAAC,CAAC;iBACf,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAKM,KAAK,UAAU,WAAW,CAAC,EAChC,KAAK,EACL,OAAO,EACP,UAAU,GAKX;IACC,IAAI,CAAC;QACH,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAGnE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,cAAc,GAAG,CACrB,MAAM,IAAA,2BAAoB,EACxB,KAAK,EACL,OAAO,EAAE,OAAiC,CAC3C,CACF,EAAE,CAAC,CAAC,CAAC,CAAC;YACP,OAAO;gBACL;oBACE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;oBAC7C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YAEN,SAAS,YAAY,CAAC,MAA8B;gBAClD,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM;oBAAE,OAAO,EAAE,CAAC;gBACvB,IAAI,MAAM,CAAC,OAAO;oBAChB,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC1D,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC9B,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,IAAA,wBAAiB,EAC3C,GAAG,0BAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,EAAE,EAC9F;gBACE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO;oBACzB,CAAC,CAAE,OAAO,EAAE,OAAkC;oBAC9C,CAAC,CAAC,SAAS;aACd,CACF,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC1E,MAAM,iBAAiB,GACrB,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,CAA0B,CAAC;YACxD,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACtD,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5D,OAAO;oBACL,SAAS,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;oBACjD,KAAK,EAAE,GAAG;iBACX,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAAC,EAC/C,MAAM,EACN,MAAM,EACN,YAAY,GAKb;IACC,MAAM,aAAa,GAAG,KAAK,CAAC;IAC5B,MAAM,cAAc,GAAG,MAAM,CAAC;IAC9B,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,MAAM,YAAY,GAAG,WAAW,CAAC;IACjC,MAAM,cAAc,GAAG,QAAQ,CAAC;IAChC,MAAM,cAAc,GAAG,QAAQ,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,MAAM,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,IAAA,iBAAU,EAAC,QAAQ,CAAC,CAAC;QAG3C,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC9B,aAAM,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;YAClE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,IAAA,kBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;YACjC,aAAM,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC;QACZ,CAAC;QAGD,MAAM,0BAA0B,GAAG,IAAA,iCAA0B,EAAC,OAAO,CAAC,CAAC;QAGvE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,0BAA0B,CAAC,GAAG,CAAC,KAAK,EAAE,QAAkB,EAAE,CAAS,EAAE,EAAE;YACrE,MAAM,cAAc,GAAG,IAAA,qBAAc,EAAC;gBACpC,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,QAAQ;gBAClB,GAAG,EAAE,6BAAsB;aAC5B,CAAC,CAAC;YAGH,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAGjE,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;YACxE,MAAM,mBAAmB,GACvB,CAAC,MAAM,cAAc,CAAC,YAAY,EAAE,CAAa,CAAC;YACpD,MAAM,oBAAoB,GAAG,IAAA,qBAAc,EAAC;gBAC1C,OAAO,EAAE,mBAAmB;gBAC5B,QAAQ,EAAE,QAAQ;gBAClB,GAAG,EAAE,gBAAS;aACf,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAChD,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,CACpE,CAAC;YAGF,IAAI,OAAe,CAAC;YACpB,IAAI,MAAc,CAAC;YACnB,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,eAAe,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;gBAC3C,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;gBAC1D,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACxD,CAAC;YAGD,MAAM,qBAAqB,GAAG,MAAM,IAAA,sBAAe,EACjD,cAAc,EACd,IAAI,EACJ,YAAY,CACb,CAAC;YACF,MAAM,0BAA0B,GAAG,IAAA,qBAAc,EAC/C,qBAAqB,CACtB,CAAC;YAGF,MAAM,2BAA2B,GAAG,IAAA,qBAAc,EAChD,WAAW,EACX,QAAQ,CACT,CAAC;YACF,MAAM,oBAAoB,GAAG,IAAA,qBAAc,EAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACtE,MAAM,0BAA0B,GAAG,IAAA,qBAAc,EAC/C,gBAAgB,EAChB,gBAAgB,CACjB,CAAC;YACF,MAAM,4BAA4B,GAAG,IAAA,qBAAc,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAGvE,MAAM,0BAA0B,GAC9B,MAAM,KAAK,cAAc;gBACvB,CAAC,CAAC,MAAM,CAAC,0BAA0B,EAAE,UAAU,CAAC;gBAChD,CAAC,CAAC,CAAC,CAAC;YAER,MAAM,UAAU,GACd,CAAC,CAAC,MAAM,CAAC,0BAA0B,EAAE,UAAU,CAAC;gBAC9C,cAAc;gBACd,0BAA0B,CAAC;gBAC3B,CAAC,MAAM,CAAC,2BAA2B,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,GAAG,CAAC;YACN,MAAM,OAAO,GACX,CAAC,CAAC,MAAM,CAAC,0BAA0B,EAAE,UAAU,CAAC;gBAC9C,cAAc;gBACd,0BAA0B,CAAC;gBAC3B,CAAC,MAAM,CAAC,2BAA2B,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,GAAG,CAAC;YAEN,MAAM,cAAc,GAA2B;gBAC7C,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;gBACb,WAAW,EAAE;oBACX,QAAQ,EAAE,gBAAgB;oBAC1B,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE,oBAAuB;oBAChC,KAAK,EAAE,aAAa;oBACpB,UAAU,EAAE,oBAAoB;oBAChC,GAAG,EAAE,0BAA0B;oBAC/B,IAAI,EAAE,YAAY;iBACnB;gBACD,YAAY,EAAE;oBACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAW;oBACpC,MAAM,EAAE,MAAgB;oBACxB,OAAO,EAAE,mBAAmB;oBAC5B,KAAK,EAAE,aAAa;oBACpB,WAAW,EAAE,4BAA4B;oBACzC,GAAG,EAAE,0BAA0B;oBAC/B,WAAW,EAAE,2BAA2B;oBACxC,IAAI,EAAE,IAAc;iBACrB;gBACD,iBAAiB,EAAE,QAAQ;gBAC3B,eAAe,EAAE,IAAA,qBAAc,EAAC,gBAAgB,CAAC;gBACjD,GAAG,EAAE,UAAU;gBACf,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,aAAa;aACvB,CAAC;YACF,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC,CACH,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,EAChC,KAAK,EACL,OAAO,EACP,UAAU,GAKX;IACC,IAAI,CAAC;QACH,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAGnE,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,2BAAoB,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,uBAAuB,CAAC,CAAC;QACzD,CAAC;QAGD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,IAAA,sBAAe,EAAC,KAAK,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChD,QAAQ,OAAO,EAAE,CAAC;gBAChB,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,mBAAmB,GAAG,MAAM,IAAA,6BAAsB,EACtD,QAAQ,EACR,KAAK,CACN,CAAC;oBACF,MAAM,oBAAoB,GAAG,MAAM,IAAA,kBAAW,EAC5C,QAAQ,EACR,mBAAmB,CACpB,CAAC;oBACF,MAAM,oBAAoB,GAAG,IAAA,qBAAc,EAAC;wBAC1C,OAAO,EAAE,mBAAmB;wBAC5B,GAAG,EAAE,wDAA8B;wBACnC,QAAQ;qBACT,CAAC,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,cAAc,EAAE,CAAC;oBAChE,OAAO;wBACL;4BACE,KAAK,EAAE,IAAA,qBAAc,EAAC,WAAW,EAAE,oBAAoB,CAAC;4BACxD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACpC;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBAEb,OAAO;wBACL;4BACE,KAAK,EAAE,IAAA,qBAAc,EAAC,CAAC,CAAC;4BACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACpC;qBACF,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,aAAa,GAAG,IAAA,qBAAc,EAAC;wBACnC,OAAO,EAAE,KAAK;wBACd,GAAG,EAAE,yCAAsB;wBAC3B,QAAQ;qBACT,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAW,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACpD,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;oBACtD,OAAO;wBACL;4BACE,KAAK,EAAE,IAAA,qBAAc,EAAC,WAAW,EAAE,QAAQ,CAAC;4BAC5C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACpC;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;QAYH,CAAC;aAAM,CAAC;YAGN,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,CAAC,UAAU,CAAC,KAAK;gBACxD,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC;YAE5B,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,CAAC,UAAU,CAAC,QAAQ;gBAC3D,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC;YAG/B,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,IAAA,sBAAe,EAAC,KAAK,CAAC,CAAC;YACvC,MAAM,aAAa,GAAG,IAAA,qBAAc,EAAC;gBACnC,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,yCAAsB,CAAC,CAAC,CAAC,0BAAmB;gBACvE,QAAQ;aACT,CAAC,CAAC;YAEH,IAAI,MAAM,GAAa,EAAE,CAAC;YAC1B,IAAI,YAAY,GAAW,EAAE,CAAC;YAC9B,IAAI,aAAa,GAAW,CAAC,CAAC;YAC9B,QAAQ,OAAO,EAAE,CAAC;gBAChB,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,GAAG,CAAC,kDAAkD,CAAC,CAAC;oBAC9D,YAAY,GAAG,gBAAgB,CAAC;oBAChC,MAAM,mBAAmB,GAAG,MAAM,IAAA,6BAAsB,EACtD,QAAQ,EACR,KAAK,CACN,CAAC;oBACF,aAAa,GAAG,MAAM,IAAA,kBAAW,EAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;oBACjE,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,GAAG,CAAC,+CAA+C,CAAC,CAAC;oBAC3D,YAAY,GAAG,aAAa,CAAC;oBAC7B,aAAa,GAAG,MAAM,IAAA,kBAAW,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACnD,MAAM;gBACR,CAAC;YACH,CAAC;YAGD,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5D,MAAM,kBAAkB,GAAG,cAAc;gBACvC,CAAC,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI;gBACjC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAEzD,MAAM,KAAK,GAAG,IAAI,gCAAQ,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO;gBAClC,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;gBACxC,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CACjC,UAAU,CAAC,QAAQ,EACnB,SAAS,CAAC,WAAW,EAAE,EACvB,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAC3C,CAAC;YAEF,MAAM,aAAa,GACjB,UAAU,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,wBAAiB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAEnE,MAAM,qBAAqB,GAAG,MAAM,IAAA,oBAAa,EAC/C,aAAa,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;gBAE3C,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;oBAC7C,EAAE,EAAE,aAAa;oBACjB,IAAI,EAAE,IAAI,kBAAS,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE,EAAE,CAAC;oBAChE,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBAEH,IAAI,kBAAkB,KAAK,IAAI;oBAC7B,OAAO;wBACL,SAAS,EAAE,IAAA,iBAAU,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;wBACrC,KAAK,EAAE,IAAA,qBAAc,EAAC,CAAC,EAAE,CAAC,CAAC;qBAC5B,CAAC;gBAEJ,MAAM,0BAA0B,GAAG,IAAI,kBAAS,CAC9C,MAAM,CACP,CAAC,oBAAoB,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;gBACzD,OAAO;oBACL,SAAS,EAAE,IAAA,iBAAU,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrC,KAAK,EAAE,IAAA,qBAAc,EACnB,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAC/B,aAAa,CACd;iBACF,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;YACF,aAAM,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACxE,OAAO,qBAGJ,CAAC;QACN,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,2BAA2B,KAAK,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACxF,CAAC;IACJ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,4BAA4B,CAAC,EACjD,KAAK,EACL,OAAO,GAIR;IACC,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAGlD,MAAM,WAAW,GAAe,CAC9B,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAa,EAAE,EAAE;QAChC,MAAM,YAAY,GAAG,IAAA,qBAAc,EAAC;YAClC,QAAQ;YACR,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,GAAG,EAAE,eAAQ;SACd,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;QACjD,IAAI,IAAA,0BAAmB,EAAC,SAAS,CAAC,KAAK,QAAQ;YAAE,OAAO;QACxD,OAAO,CAAC,CAAC,OAAO,CAAC;IACnB,CAAC,CAAC,CACH,CACF,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAGjC,MAAM,mBAAmB,GAUnB,MAAM,OAAO,CAAC,GAAG,CACrB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,YAAY,GAAG,IAAA,qBAAc,EAAC;YAClC,QAAQ;YACR,OAAO,EAAE,CAAC;YACV,GAAG,EAAE,eAAQ;SACd,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,EAAE,MAAM,YAAY,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,CAAC;SACR,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACF,MAAM,eAAe,GAAG;QACtB,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACvD,CAAC;IAEF,IAAI,iBAAiB,GAAwB,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAkB,EACvC,OAAO,CAAC,SAAS,EACjB,0BAAmB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAa,CAAC,CAC5D,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,iBAAiB,CAAC,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,mBAAmB,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAEM,KAAK,UAAU,iCAAiC,CAAC,EACtD,OAAO,GAGR;IACC,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAoB,GAAE,CAAC;IAE5C,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACrB,OAAO,4BAA4B,CAAC;YAClC,KAAK,EAAE,CAAC,CAAC,OAAmB;YAC5B,OAAO;SACR,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,mBAAmB,GAAG,EAAE,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACzB,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
|