@dynamic-labs-wallet/browser 0.0.251 → 0.0.253

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/index.cjs.js CHANGED
@@ -1732,27 +1732,60 @@ class DynamicWalletClient {
1732
1732
  });
1733
1733
  return data;
1734
1734
  }
1735
+ prepareMessageForForwardMPC({ chainName, message, formattedMessage, signingAlgo, isFormatted }) {
1736
+ if (chainName === 'SVM' || chainName === 'TON') {
1737
+ return formattedMessage;
1738
+ }
1739
+ if (signingAlgo === 'BIP340' && formattedMessage instanceof web.MessageHash) {
1740
+ return formattedMessage.toHex();
1741
+ }
1742
+ return core.serializeMessageForForwardMPC({
1743
+ message,
1744
+ isFormatted,
1745
+ chainName
1746
+ });
1747
+ }
1748
+ convertTweakForBIP340(tweak) {
1749
+ if (!tweak) {
1750
+ return undefined;
1751
+ }
1752
+ if (typeof tweak === 'string') {
1753
+ const hexString = tweak.startsWith('0x') ? tweak.slice(2) : tweak;
1754
+ return new Uint8Array(Buffer.from(hexString, 'hex'));
1755
+ }
1756
+ return tweak;
1757
+ }
1758
+ processForwardMPCSignature(signatureBytes, signingAlgo) {
1759
+ if (signingAlgo === 'ECDSA') {
1760
+ return web.EcdsaSignature.fromBuffer(signatureBytes);
1761
+ }
1762
+ return signatureBytes;
1763
+ }
1735
1764
  async forwardMPCClientSign({ chainName, message, roomId, keyShare, derivationPath, formattedMessage, dynamicRequestId, isFormatted, traceContext, bitcoinConfig }) {
1736
1765
  try {
1737
1766
  if (!this.apiClient.forwardMPCClient.connected) {
1738
1767
  await this.initializeForwardMPCClient();
1739
1768
  }
1740
- const messageForForwardMPC = core.serializeMessageForForwardMPC({
1741
- message,
1742
- isFormatted,
1743
- chainName
1744
- });
1745
1769
  const chainConfig = core.getMPCChainConfig(chainName, bitcoinConfig);
1746
1770
  const signingAlgo = chainConfig.signingAlgorithm;
1771
+ const messageToSign = this.prepareMessageForForwardMPC({
1772
+ chainName,
1773
+ message,
1774
+ formattedMessage,
1775
+ signingAlgo,
1776
+ isFormatted
1777
+ });
1778
+ const tweak = this.convertTweakForBIP340(bitcoinConfig == null ? void 0 : bitcoinConfig.tweak);
1747
1779
  this.logger.info('Forward MPC enabled, signing message with forward MPC', this.getTraceContext(traceContext));
1748
1780
  const signature = await this.apiClient.forwardMPCClient.signMessage({
1749
1781
  keyshare: keyShare,
1750
- message: chainName === 'SVM' || chainName === 'TON' ? formattedMessage : messageForForwardMPC,
1782
+ message: messageToSign,
1751
1783
  relayDomain: this.baseMPCRelayApiUrl || '',
1752
1784
  signingAlgo: signingAlgo,
1753
1785
  hashAlgo: chainName === 'EVM' && !isFormatted ? 'keccak256' : undefined,
1754
1786
  derivationPath: derivationPath,
1755
1787
  roomUuid: roomId,
1788
+ tweak: tweak,
1756
1789
  traceContext,
1757
1790
  userId: this.userId,
1758
1791
  environmentId: this.environmentId
@@ -1761,14 +1794,7 @@ class DynamicWalletClient {
1761
1794
  if (!(signatureBytes instanceof Uint8Array)) {
1762
1795
  throw new TypeError(`Invalid signature format: expected Uint8Array, got ${typeof signatureBytes}`);
1763
1796
  }
1764
- // Convert to EcdsaSignature for ECDSA signing algorithm (EVM and BTC Native SegWit)
1765
- // For BIP340 (BTC Taproot) and ED25519 (SVM/SUI), return raw bytes
1766
- if (signingAlgo === 'ECDSA') {
1767
- const ecdsaSignature = web.EcdsaSignature.fromBuffer(signatureBytes);
1768
- return ecdsaSignature;
1769
- } else {
1770
- return signatureBytes;
1771
- }
1797
+ return this.processForwardMPCSignature(signatureBytes, signingAlgo);
1772
1798
  } catch (error) {
1773
1799
  this.logger.error('Error signing message with forward MPC client', {
1774
1800
  error,
@@ -1888,10 +1914,8 @@ class DynamicWalletClient {
1888
1914
  operation: 'serverSign'
1889
1915
  }, this.getTraceContext(traceContext)));
1890
1916
  const derivationPath = wallet.derivationPath && wallet.derivationPath != '' ? new Uint32Array(Object.values(JSON.parse(wallet.derivationPath))) : undefined;
1891
- // Perform the client sign and return the signature
1892
- const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
1893
- accountAddress
1894
- });
1917
+ // Ensure client key shares exist before signing
1918
+ const clientKeyShares = await this.ensureClientShare(accountAddress);
1895
1919
  const signature = await this.clientSign({
1896
1920
  chainName,
1897
1921
  message,
@@ -1976,11 +2000,10 @@ class DynamicWalletClient {
1976
2000
  mfaToken
1977
2001
  });
1978
2002
  const roomId = data.roomId;
1979
- const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
1980
- accountAddress
1981
- });
2003
+ // Ensure client key shares exist before refresh
2004
+ const clientKeyShares = await this.ensureClientShare(accountAddress);
1982
2005
  const refreshResults = await Promise.all(clientKeyShares.map((clientKeyShare)=>mpcSigner.refresh(roomId, clientKeyShare)));
1983
- await this.setClientKeySharesToLocalStorage({
2006
+ await this.setClientKeySharesToStorage({
1984
2007
  accountAddress,
1985
2008
  clientKeyShares: refreshResults,
1986
2009
  overwriteOrMerge: 'overwrite'
@@ -2065,7 +2088,7 @@ class DynamicWalletClient {
2065
2088
  }, ()=>mpcSigner.initKeygen()));
2066
2089
  const newClientKeygenIds = newClientInitKeygenResults.map((result)=>result.keygenId);
2067
2090
  // Get existing client shares
2068
- const existingClientKeyShares = (await this.getClientKeySharesFromLocalStorage({
2091
+ const existingClientKeyShares = (await this.getClientKeySharesFromStorage({
2069
2092
  accountAddress
2070
2093
  })).slice(0, existingClientShareCount);
2071
2094
  const existingClientKeygenIds = await Promise.all(existingClientKeyShares.map(async (keyShare)=>await this.getExportId({
@@ -2124,6 +2147,10 @@ class DynamicWalletClient {
2124
2147
  oldThresholdSignatureScheme,
2125
2148
  newThresholdSignatureScheme
2126
2149
  });
2150
+ // Ensure existing client key shares exist before reshare
2151
+ if (existingClientKeyShares.length === 0) {
2152
+ throw new Error(`Client key shares are required for reshare operation but none were found for account address: ${accountAddress}`);
2153
+ }
2127
2154
  const clientKeygenIds = [
2128
2155
  ...newClientKeygenIds,
2129
2156
  ...existingClientKeygenIds
@@ -2204,7 +2231,8 @@ class DynamicWalletClient {
2204
2231
  this.walletMap[accountAddress] = _extends({}, this.walletMap[accountAddress], {
2205
2232
  thresholdSignatureScheme: newThresholdSignatureScheme
2206
2233
  });
2207
- await this.setClientKeySharesToLocalStorage({
2234
+ // store client key shares to storage (localStorage or secureStorage)
2235
+ await this.setClientKeySharesToStorage({
2208
2236
  accountAddress,
2209
2237
  clientKeyShares: distribution.clientShares,
2210
2238
  overwriteOrMerge: 'overwrite'
@@ -2232,7 +2260,7 @@ class DynamicWalletClient {
2232
2260
  this.walletMap[accountAddress] = _extends({}, this.walletMap[accountAddress], {
2233
2261
  thresholdSignatureScheme: oldThresholdSignatureScheme
2234
2262
  });
2235
- await this.setClientKeySharesToLocalStorage({
2263
+ await this.setClientKeySharesToStorage({
2236
2264
  accountAddress,
2237
2265
  clientKeyShares: [],
2238
2266
  overwriteOrMerge: 'overwrite'
@@ -2375,7 +2403,7 @@ class DynamicWalletClient {
2375
2403
  }
2376
2404
  }
2377
2405
  async getReconstructedKeyShare(accountAddress, mpcSigner) {
2378
- const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
2406
+ const clientKeyShares = await this.getClientKeySharesFromStorage({
2379
2407
  accountAddress
2380
2408
  });
2381
2409
  if (!clientKeyShares || clientKeyShares.length === 0) {
@@ -2490,8 +2518,7 @@ class DynamicWalletClient {
2490
2518
  /**
2491
2519
  * helper function to store encrypted backup by wallet from iframe local storage
2492
2520
  */ async getClientKeySharesFromLocalStorage({ accountAddress }) {
2493
- var _this_storage;
2494
- const walletObject = await ((_this_storage = this.storage) == null ? void 0 : _this_storage.getItem(accountAddress));
2521
+ const walletObject = await this.storage.getItem(accountAddress);
2495
2522
  if (!walletObject) {
2496
2523
  this.logger.debug(`[DynamicWaasWalletClient] No item found in iframe local storage for accountAddress: ${accountAddress}`);
2497
2524
  return [];
@@ -2516,6 +2543,30 @@ class DynamicWalletClient {
2516
2543
  }
2517
2544
  }
2518
2545
  /**
2546
+ * Helper function to get client key shares from storage.
2547
+ * Uses secureStorage when available (mobile), otherwise falls back to localStorage (browser).
2548
+ */ async getClientKeySharesFromStorage({ accountAddress }) {
2549
+ // Use secure storage if available (mobile)
2550
+ if (this.secureStorage) {
2551
+ try {
2552
+ return await this.secureStorage.getClientKeyShare(accountAddress);
2553
+ } catch (error) {
2554
+ logError({
2555
+ message: `Error getting client key shares from secure storage for accountAddress: ${accountAddress}`,
2556
+ error: error,
2557
+ context: {
2558
+ accountAddress
2559
+ }
2560
+ });
2561
+ return [];
2562
+ }
2563
+ }
2564
+ // Fallback to localStorage (browser)
2565
+ return this.getClientKeySharesFromLocalStorage({
2566
+ accountAddress
2567
+ });
2568
+ }
2569
+ /**
2519
2570
  * Helper function to initialize a wallet map entry during onCeremonyComplete.
2520
2571
  * This is called before any backup has happened, so it initializes with empty backup info.
2521
2572
  * The backup info gets updated later in storeEncryptedBackupByWallet.
@@ -2550,13 +2601,55 @@ class DynamicWalletClient {
2550
2601
  * Helper function to store client key shares in storage.
2551
2602
  * Uses secureStorage when available (mobile), otherwise falls back to localStorage (browser).
2552
2603
  */ async setClientKeySharesToLocalStorage({ accountAddress, clientKeyShares, overwriteOrMerge = 'merge' }) {
2553
- var _this_storage;
2554
2604
  const stringifiedClientKeyShares = JSON.stringify({
2555
2605
  clientKeyShares: overwriteOrMerge === 'overwrite' ? clientKeyShares : mergeUniqueKeyShares(await this.getClientKeySharesFromLocalStorage({
2556
2606
  accountAddress
2557
2607
  }), clientKeyShares)
2558
2608
  });
2559
- await ((_this_storage = this.storage) == null ? void 0 : _this_storage.setItem(accountAddress, stringifiedClientKeyShares));
2609
+ await this.storage.setItem(accountAddress, stringifiedClientKeyShares);
2610
+ }
2611
+ /**
2612
+ * Helper function to store client key shares in storage.
2613
+ * Uses secureStorage when available (mobile), otherwise falls back to localStorage (browser).
2614
+ */ async setClientKeySharesToStorage({ accountAddress, clientKeyShares, overwriteOrMerge = 'merge' }) {
2615
+ // Use secure storage if available (mobile)
2616
+ if (this.secureStorage) {
2617
+ try {
2618
+ const sharesToStore = overwriteOrMerge === 'overwrite' ? clientKeyShares : mergeUniqueKeyShares(await this.getClientKeySharesFromStorage({
2619
+ accountAddress
2620
+ }), clientKeyShares);
2621
+ await this.secureStorage.setClientKeyShare(accountAddress, sharesToStore);
2622
+ return;
2623
+ } catch (error) {
2624
+ logError({
2625
+ message: `Error setting client key shares in secure storage for accountAddress: ${accountAddress}`,
2626
+ error: error,
2627
+ context: {
2628
+ accountAddress
2629
+ }
2630
+ });
2631
+ throw error;
2632
+ }
2633
+ }
2634
+ // Fallback to localStorage (browser)
2635
+ await this.setClientKeySharesToLocalStorage({
2636
+ accountAddress,
2637
+ clientKeyShares,
2638
+ overwriteOrMerge
2639
+ });
2640
+ }
2641
+ /**
2642
+ * Ensures that client key shares exist for the given account address.
2643
+ * Throws an error if no shares are found.
2644
+ * This method enforces share presence before sensitive operations.
2645
+ */ async ensureClientShare(accountAddress) {
2646
+ const shares = await this.getClientKeySharesFromStorage({
2647
+ accountAddress
2648
+ });
2649
+ if (!shares || shares.length === 0) {
2650
+ throw new Error(`Client key share is missing for account address: ${accountAddress}`);
2651
+ }
2652
+ return shares;
2560
2653
  }
2561
2654
  async backupSharesWithDistribution({ accountAddress, password, signedSessionId, distribution, preserveDelegatedLocation = false }) {
2562
2655
  const dynamicRequestId = uuid.v4();
@@ -2715,7 +2808,7 @@ class DynamicWalletClient {
2715
2808
  * @returns Promise with backup metadata including share locations and IDs
2716
2809
  */ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId, cloudProviders = [], delegatedKeyshare = undefined }) {
2717
2810
  var _this_walletMap_accountAddress, _this_walletMap_accountAddress1;
2718
- const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromLocalStorage({
2811
+ const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromStorage({
2719
2812
  accountAddress
2720
2813
  });
2721
2814
  // Check if we should backup to cloud providers (either requested or already exists)
@@ -2898,7 +2991,7 @@ class DynamicWalletClient {
2898
2991
  password: password != null ? password : this.environmentId
2899
2992
  })));
2900
2993
  if (storeRecoveredShares) {
2901
- await this.setClientKeySharesToLocalStorage({
2994
+ await this.setClientKeySharesToStorage({
2902
2995
  accountAddress,
2903
2996
  clientKeyShares: decryptedKeyShares,
2904
2997
  overwriteOrMerge: 'merge'
@@ -3203,12 +3296,11 @@ class DynamicWalletClient {
3203
3296
  walletOperation: core.WalletOperation.REACH_ALL_PARTIES,
3204
3297
  signedSessionId
3205
3298
  });
3206
- const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
3207
- accountAddress
3208
- });
3209
3299
  if (!accountAddress) {
3210
3300
  throw new Error('Must provide an account address');
3211
3301
  }
3302
+ // Ensure client key shares exist before export
3303
+ const clientKeyShares = await this.ensureClientShare(accountAddress);
3212
3304
  const derivationPath = this.walletMap[accountAddress].derivationPath;
3213
3305
  const text = JSON.stringify({
3214
3306
  keyShares: clientKeyShares,
@@ -3227,7 +3319,7 @@ class DynamicWalletClient {
3227
3319
  walletOperation: core.WalletOperation.REACH_THRESHOLD,
3228
3320
  signedSessionId
3229
3321
  });
3230
- return this.getClientKeySharesFromLocalStorage({
3322
+ return this.getClientKeySharesFromStorage({
3231
3323
  accountAddress
3232
3324
  });
3233
3325
  }
@@ -3265,7 +3357,7 @@ class DynamicWalletClient {
3265
3357
  shareCount
3266
3358
  });
3267
3359
  const { dynamic: requiredDynamicKeyShareIds = [] } = shares;
3268
- const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
3360
+ const clientKeyShares = await this.getClientKeySharesFromStorage({
3269
3361
  accountAddress
3270
3362
  });
3271
3363
  if (requiredDynamicKeyShareIds.length <= ((clientKeyShares == null ? void 0 : clientKeyShares.length) || 0)) {
@@ -3349,7 +3441,7 @@ class DynamicWalletClient {
3349
3441
  const clientKeySharesBackupInfo = await this.getWalletClientKeyShareBackupInfo({
3350
3442
  accountAddress
3351
3443
  });
3352
- const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
3444
+ const clientKeyShares = await this.getClientKeySharesFromStorage({
3353
3445
  accountAddress
3354
3446
  });
3355
3447
  if (walletOperation === core.WalletOperation.REACH_ALL_PARTIES || walletOperation === core.WalletOperation.REFRESH || walletOperation === core.WalletOperation.RESHARE) {
@@ -3432,10 +3524,10 @@ class DynamicWalletClient {
3432
3524
  signedSessionId,
3433
3525
  shareCount
3434
3526
  });
3435
- const existingKeyShares = await this.getClientKeySharesFromLocalStorage({
3527
+ const existingKeyShares = await this.getClientKeySharesFromStorage({
3436
3528
  accountAddress
3437
3529
  });
3438
- await this.setClientKeySharesToLocalStorage({
3530
+ await this.setClientKeySharesToStorage({
3439
3531
  accountAddress,
3440
3532
  clientKeyShares: mergeUniqueKeyShares(existingKeyShares, decryptedKeyShares)
3441
3533
  });
@@ -3632,7 +3724,7 @@ class DynamicWalletClient {
3632
3724
  }, traceContext);
3633
3725
  }
3634
3726
  constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug, featureFlags, authMode = core.AuthMode.HEADER, authToken = undefined, backupServiceAuthToken, // Represents the version of the client SDK used by developer
3635
- sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, iCloudConfig }){
3727
+ sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, iCloudConfig }, internalOptions){
3636
3728
  this.userId = undefined;
3637
3729
  this.sessionId = undefined;
3638
3730
  this.initializePromise = null;
@@ -3649,6 +3741,10 @@ class DynamicWalletClient {
3649
3741
  this.authMode = authMode;
3650
3742
  this.sdkVersion = sdkVersion;
3651
3743
  this.baseClientKeysharesRelayApiUrl = baseClientKeysharesRelayApiUrl;
3744
+ // Set secure storage adapter if provided (internal use only)
3745
+ if (internalOptions == null ? void 0 : internalOptions.secureStorage) {
3746
+ this.secureStorage = internalOptions.secureStorage;
3747
+ }
3652
3748
  this.apiClient = new core.DynamicApiClient({
3653
3749
  environmentId,
3654
3750
  authToken,
@@ -3662,7 +3758,7 @@ class DynamicWalletClient {
3662
3758
  this.debug = Boolean(debug);
3663
3759
  this.logger.setLogLevel(this.debug ? logger$1.LogLevel.DEBUG : DEFAULT_LOG_LEVEL);
3664
3760
  this.featureFlags = featureFlags || {};
3665
- // setup storage
3761
+ // setup storage for walletMap metadata (used regardless of secureStorage)
3666
3762
  if (supportsLocalStorage()) {
3667
3763
  this.storage = localStorageAdapter;
3668
3764
  } else {
package/index.esm.js CHANGED
@@ -1733,27 +1733,60 @@ class DynamicWalletClient {
1733
1733
  });
1734
1734
  return data;
1735
1735
  }
1736
+ prepareMessageForForwardMPC({ chainName, message, formattedMessage, signingAlgo, isFormatted }) {
1737
+ if (chainName === 'SVM' || chainName === 'TON') {
1738
+ return formattedMessage;
1739
+ }
1740
+ if (signingAlgo === 'BIP340' && formattedMessage instanceof MessageHash) {
1741
+ return formattedMessage.toHex();
1742
+ }
1743
+ return serializeMessageForForwardMPC({
1744
+ message,
1745
+ isFormatted,
1746
+ chainName
1747
+ });
1748
+ }
1749
+ convertTweakForBIP340(tweak) {
1750
+ if (!tweak) {
1751
+ return undefined;
1752
+ }
1753
+ if (typeof tweak === 'string') {
1754
+ const hexString = tweak.startsWith('0x') ? tweak.slice(2) : tweak;
1755
+ return new Uint8Array(Buffer.from(hexString, 'hex'));
1756
+ }
1757
+ return tweak;
1758
+ }
1759
+ processForwardMPCSignature(signatureBytes, signingAlgo) {
1760
+ if (signingAlgo === 'ECDSA') {
1761
+ return EcdsaSignature.fromBuffer(signatureBytes);
1762
+ }
1763
+ return signatureBytes;
1764
+ }
1736
1765
  async forwardMPCClientSign({ chainName, message, roomId, keyShare, derivationPath, formattedMessage, dynamicRequestId, isFormatted, traceContext, bitcoinConfig }) {
1737
1766
  try {
1738
1767
  if (!this.apiClient.forwardMPCClient.connected) {
1739
1768
  await this.initializeForwardMPCClient();
1740
1769
  }
1741
- const messageForForwardMPC = serializeMessageForForwardMPC({
1742
- message,
1743
- isFormatted,
1744
- chainName
1745
- });
1746
1770
  const chainConfig = getMPCChainConfig(chainName, bitcoinConfig);
1747
1771
  const signingAlgo = chainConfig.signingAlgorithm;
1772
+ const messageToSign = this.prepareMessageForForwardMPC({
1773
+ chainName,
1774
+ message,
1775
+ formattedMessage,
1776
+ signingAlgo,
1777
+ isFormatted
1778
+ });
1779
+ const tweak = this.convertTweakForBIP340(bitcoinConfig == null ? void 0 : bitcoinConfig.tweak);
1748
1780
  this.logger.info('Forward MPC enabled, signing message with forward MPC', this.getTraceContext(traceContext));
1749
1781
  const signature = await this.apiClient.forwardMPCClient.signMessage({
1750
1782
  keyshare: keyShare,
1751
- message: chainName === 'SVM' || chainName === 'TON' ? formattedMessage : messageForForwardMPC,
1783
+ message: messageToSign,
1752
1784
  relayDomain: this.baseMPCRelayApiUrl || '',
1753
1785
  signingAlgo: signingAlgo,
1754
1786
  hashAlgo: chainName === 'EVM' && !isFormatted ? 'keccak256' : undefined,
1755
1787
  derivationPath: derivationPath,
1756
1788
  roomUuid: roomId,
1789
+ tweak: tweak,
1757
1790
  traceContext,
1758
1791
  userId: this.userId,
1759
1792
  environmentId: this.environmentId
@@ -1762,14 +1795,7 @@ class DynamicWalletClient {
1762
1795
  if (!(signatureBytes instanceof Uint8Array)) {
1763
1796
  throw new TypeError(`Invalid signature format: expected Uint8Array, got ${typeof signatureBytes}`);
1764
1797
  }
1765
- // Convert to EcdsaSignature for ECDSA signing algorithm (EVM and BTC Native SegWit)
1766
- // For BIP340 (BTC Taproot) and ED25519 (SVM/SUI), return raw bytes
1767
- if (signingAlgo === 'ECDSA') {
1768
- const ecdsaSignature = EcdsaSignature.fromBuffer(signatureBytes);
1769
- return ecdsaSignature;
1770
- } else {
1771
- return signatureBytes;
1772
- }
1798
+ return this.processForwardMPCSignature(signatureBytes, signingAlgo);
1773
1799
  } catch (error) {
1774
1800
  this.logger.error('Error signing message with forward MPC client', {
1775
1801
  error,
@@ -1889,10 +1915,8 @@ class DynamicWalletClient {
1889
1915
  operation: 'serverSign'
1890
1916
  }, this.getTraceContext(traceContext)));
1891
1917
  const derivationPath = wallet.derivationPath && wallet.derivationPath != '' ? new Uint32Array(Object.values(JSON.parse(wallet.derivationPath))) : undefined;
1892
- // Perform the client sign and return the signature
1893
- const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
1894
- accountAddress
1895
- });
1918
+ // Ensure client key shares exist before signing
1919
+ const clientKeyShares = await this.ensureClientShare(accountAddress);
1896
1920
  const signature = await this.clientSign({
1897
1921
  chainName,
1898
1922
  message,
@@ -1977,11 +2001,10 @@ class DynamicWalletClient {
1977
2001
  mfaToken
1978
2002
  });
1979
2003
  const roomId = data.roomId;
1980
- const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
1981
- accountAddress
1982
- });
2004
+ // Ensure client key shares exist before refresh
2005
+ const clientKeyShares = await this.ensureClientShare(accountAddress);
1983
2006
  const refreshResults = await Promise.all(clientKeyShares.map((clientKeyShare)=>mpcSigner.refresh(roomId, clientKeyShare)));
1984
- await this.setClientKeySharesToLocalStorage({
2007
+ await this.setClientKeySharesToStorage({
1985
2008
  accountAddress,
1986
2009
  clientKeyShares: refreshResults,
1987
2010
  overwriteOrMerge: 'overwrite'
@@ -2066,7 +2089,7 @@ class DynamicWalletClient {
2066
2089
  }, ()=>mpcSigner.initKeygen()));
2067
2090
  const newClientKeygenIds = newClientInitKeygenResults.map((result)=>result.keygenId);
2068
2091
  // Get existing client shares
2069
- const existingClientKeyShares = (await this.getClientKeySharesFromLocalStorage({
2092
+ const existingClientKeyShares = (await this.getClientKeySharesFromStorage({
2070
2093
  accountAddress
2071
2094
  })).slice(0, existingClientShareCount);
2072
2095
  const existingClientKeygenIds = await Promise.all(existingClientKeyShares.map(async (keyShare)=>await this.getExportId({
@@ -2125,6 +2148,10 @@ class DynamicWalletClient {
2125
2148
  oldThresholdSignatureScheme,
2126
2149
  newThresholdSignatureScheme
2127
2150
  });
2151
+ // Ensure existing client key shares exist before reshare
2152
+ if (existingClientKeyShares.length === 0) {
2153
+ throw new Error(`Client key shares are required for reshare operation but none were found for account address: ${accountAddress}`);
2154
+ }
2128
2155
  const clientKeygenIds = [
2129
2156
  ...newClientKeygenIds,
2130
2157
  ...existingClientKeygenIds
@@ -2205,7 +2232,8 @@ class DynamicWalletClient {
2205
2232
  this.walletMap[accountAddress] = _extends({}, this.walletMap[accountAddress], {
2206
2233
  thresholdSignatureScheme: newThresholdSignatureScheme
2207
2234
  });
2208
- await this.setClientKeySharesToLocalStorage({
2235
+ // store client key shares to storage (localStorage or secureStorage)
2236
+ await this.setClientKeySharesToStorage({
2209
2237
  accountAddress,
2210
2238
  clientKeyShares: distribution.clientShares,
2211
2239
  overwriteOrMerge: 'overwrite'
@@ -2233,7 +2261,7 @@ class DynamicWalletClient {
2233
2261
  this.walletMap[accountAddress] = _extends({}, this.walletMap[accountAddress], {
2234
2262
  thresholdSignatureScheme: oldThresholdSignatureScheme
2235
2263
  });
2236
- await this.setClientKeySharesToLocalStorage({
2264
+ await this.setClientKeySharesToStorage({
2237
2265
  accountAddress,
2238
2266
  clientKeyShares: [],
2239
2267
  overwriteOrMerge: 'overwrite'
@@ -2376,7 +2404,7 @@ class DynamicWalletClient {
2376
2404
  }
2377
2405
  }
2378
2406
  async getReconstructedKeyShare(accountAddress, mpcSigner) {
2379
- const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
2407
+ const clientKeyShares = await this.getClientKeySharesFromStorage({
2380
2408
  accountAddress
2381
2409
  });
2382
2410
  if (!clientKeyShares || clientKeyShares.length === 0) {
@@ -2491,8 +2519,7 @@ class DynamicWalletClient {
2491
2519
  /**
2492
2520
  * helper function to store encrypted backup by wallet from iframe local storage
2493
2521
  */ async getClientKeySharesFromLocalStorage({ accountAddress }) {
2494
- var _this_storage;
2495
- const walletObject = await ((_this_storage = this.storage) == null ? void 0 : _this_storage.getItem(accountAddress));
2522
+ const walletObject = await this.storage.getItem(accountAddress);
2496
2523
  if (!walletObject) {
2497
2524
  this.logger.debug(`[DynamicWaasWalletClient] No item found in iframe local storage for accountAddress: ${accountAddress}`);
2498
2525
  return [];
@@ -2517,6 +2544,30 @@ class DynamicWalletClient {
2517
2544
  }
2518
2545
  }
2519
2546
  /**
2547
+ * Helper function to get client key shares from storage.
2548
+ * Uses secureStorage when available (mobile), otherwise falls back to localStorage (browser).
2549
+ */ async getClientKeySharesFromStorage({ accountAddress }) {
2550
+ // Use secure storage if available (mobile)
2551
+ if (this.secureStorage) {
2552
+ try {
2553
+ return await this.secureStorage.getClientKeyShare(accountAddress);
2554
+ } catch (error) {
2555
+ logError({
2556
+ message: `Error getting client key shares from secure storage for accountAddress: ${accountAddress}`,
2557
+ error: error,
2558
+ context: {
2559
+ accountAddress
2560
+ }
2561
+ });
2562
+ return [];
2563
+ }
2564
+ }
2565
+ // Fallback to localStorage (browser)
2566
+ return this.getClientKeySharesFromLocalStorage({
2567
+ accountAddress
2568
+ });
2569
+ }
2570
+ /**
2520
2571
  * Helper function to initialize a wallet map entry during onCeremonyComplete.
2521
2572
  * This is called before any backup has happened, so it initializes with empty backup info.
2522
2573
  * The backup info gets updated later in storeEncryptedBackupByWallet.
@@ -2551,13 +2602,55 @@ class DynamicWalletClient {
2551
2602
  * Helper function to store client key shares in storage.
2552
2603
  * Uses secureStorage when available (mobile), otherwise falls back to localStorage (browser).
2553
2604
  */ async setClientKeySharesToLocalStorage({ accountAddress, clientKeyShares, overwriteOrMerge = 'merge' }) {
2554
- var _this_storage;
2555
2605
  const stringifiedClientKeyShares = JSON.stringify({
2556
2606
  clientKeyShares: overwriteOrMerge === 'overwrite' ? clientKeyShares : mergeUniqueKeyShares(await this.getClientKeySharesFromLocalStorage({
2557
2607
  accountAddress
2558
2608
  }), clientKeyShares)
2559
2609
  });
2560
- await ((_this_storage = this.storage) == null ? void 0 : _this_storage.setItem(accountAddress, stringifiedClientKeyShares));
2610
+ await this.storage.setItem(accountAddress, stringifiedClientKeyShares);
2611
+ }
2612
+ /**
2613
+ * Helper function to store client key shares in storage.
2614
+ * Uses secureStorage when available (mobile), otherwise falls back to localStorage (browser).
2615
+ */ async setClientKeySharesToStorage({ accountAddress, clientKeyShares, overwriteOrMerge = 'merge' }) {
2616
+ // Use secure storage if available (mobile)
2617
+ if (this.secureStorage) {
2618
+ try {
2619
+ const sharesToStore = overwriteOrMerge === 'overwrite' ? clientKeyShares : mergeUniqueKeyShares(await this.getClientKeySharesFromStorage({
2620
+ accountAddress
2621
+ }), clientKeyShares);
2622
+ await this.secureStorage.setClientKeyShare(accountAddress, sharesToStore);
2623
+ return;
2624
+ } catch (error) {
2625
+ logError({
2626
+ message: `Error setting client key shares in secure storage for accountAddress: ${accountAddress}`,
2627
+ error: error,
2628
+ context: {
2629
+ accountAddress
2630
+ }
2631
+ });
2632
+ throw error;
2633
+ }
2634
+ }
2635
+ // Fallback to localStorage (browser)
2636
+ await this.setClientKeySharesToLocalStorage({
2637
+ accountAddress,
2638
+ clientKeyShares,
2639
+ overwriteOrMerge
2640
+ });
2641
+ }
2642
+ /**
2643
+ * Ensures that client key shares exist for the given account address.
2644
+ * Throws an error if no shares are found.
2645
+ * This method enforces share presence before sensitive operations.
2646
+ */ async ensureClientShare(accountAddress) {
2647
+ const shares = await this.getClientKeySharesFromStorage({
2648
+ accountAddress
2649
+ });
2650
+ if (!shares || shares.length === 0) {
2651
+ throw new Error(`Client key share is missing for account address: ${accountAddress}`);
2652
+ }
2653
+ return shares;
2561
2654
  }
2562
2655
  async backupSharesWithDistribution({ accountAddress, password, signedSessionId, distribution, preserveDelegatedLocation = false }) {
2563
2656
  const dynamicRequestId = v4();
@@ -2716,7 +2809,7 @@ class DynamicWalletClient {
2716
2809
  * @returns Promise with backup metadata including share locations and IDs
2717
2810
  */ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId, cloudProviders = [], delegatedKeyshare = undefined }) {
2718
2811
  var _this_walletMap_accountAddress, _this_walletMap_accountAddress1;
2719
- const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromLocalStorage({
2812
+ const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromStorage({
2720
2813
  accountAddress
2721
2814
  });
2722
2815
  // Check if we should backup to cloud providers (either requested or already exists)
@@ -2899,7 +2992,7 @@ class DynamicWalletClient {
2899
2992
  password: password != null ? password : this.environmentId
2900
2993
  })));
2901
2994
  if (storeRecoveredShares) {
2902
- await this.setClientKeySharesToLocalStorage({
2995
+ await this.setClientKeySharesToStorage({
2903
2996
  accountAddress,
2904
2997
  clientKeyShares: decryptedKeyShares,
2905
2998
  overwriteOrMerge: 'merge'
@@ -3204,12 +3297,11 @@ class DynamicWalletClient {
3204
3297
  walletOperation: WalletOperation.REACH_ALL_PARTIES,
3205
3298
  signedSessionId
3206
3299
  });
3207
- const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
3208
- accountAddress
3209
- });
3210
3300
  if (!accountAddress) {
3211
3301
  throw new Error('Must provide an account address');
3212
3302
  }
3303
+ // Ensure client key shares exist before export
3304
+ const clientKeyShares = await this.ensureClientShare(accountAddress);
3213
3305
  const derivationPath = this.walletMap[accountAddress].derivationPath;
3214
3306
  const text = JSON.stringify({
3215
3307
  keyShares: clientKeyShares,
@@ -3228,7 +3320,7 @@ class DynamicWalletClient {
3228
3320
  walletOperation: WalletOperation.REACH_THRESHOLD,
3229
3321
  signedSessionId
3230
3322
  });
3231
- return this.getClientKeySharesFromLocalStorage({
3323
+ return this.getClientKeySharesFromStorage({
3232
3324
  accountAddress
3233
3325
  });
3234
3326
  }
@@ -3266,7 +3358,7 @@ class DynamicWalletClient {
3266
3358
  shareCount
3267
3359
  });
3268
3360
  const { dynamic: requiredDynamicKeyShareIds = [] } = shares;
3269
- const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
3361
+ const clientKeyShares = await this.getClientKeySharesFromStorage({
3270
3362
  accountAddress
3271
3363
  });
3272
3364
  if (requiredDynamicKeyShareIds.length <= ((clientKeyShares == null ? void 0 : clientKeyShares.length) || 0)) {
@@ -3350,7 +3442,7 @@ class DynamicWalletClient {
3350
3442
  const clientKeySharesBackupInfo = await this.getWalletClientKeyShareBackupInfo({
3351
3443
  accountAddress
3352
3444
  });
3353
- const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
3445
+ const clientKeyShares = await this.getClientKeySharesFromStorage({
3354
3446
  accountAddress
3355
3447
  });
3356
3448
  if (walletOperation === WalletOperation.REACH_ALL_PARTIES || walletOperation === WalletOperation.REFRESH || walletOperation === WalletOperation.RESHARE) {
@@ -3433,10 +3525,10 @@ class DynamicWalletClient {
3433
3525
  signedSessionId,
3434
3526
  shareCount
3435
3527
  });
3436
- const existingKeyShares = await this.getClientKeySharesFromLocalStorage({
3528
+ const existingKeyShares = await this.getClientKeySharesFromStorage({
3437
3529
  accountAddress
3438
3530
  });
3439
- await this.setClientKeySharesToLocalStorage({
3531
+ await this.setClientKeySharesToStorage({
3440
3532
  accountAddress,
3441
3533
  clientKeyShares: mergeUniqueKeyShares(existingKeyShares, decryptedKeyShares)
3442
3534
  });
@@ -3633,7 +3725,7 @@ class DynamicWalletClient {
3633
3725
  }, traceContext);
3634
3726
  }
3635
3727
  constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug, featureFlags, authMode = AuthMode.HEADER, authToken = undefined, backupServiceAuthToken, // Represents the version of the client SDK used by developer
3636
- sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, iCloudConfig }){
3728
+ sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, iCloudConfig }, internalOptions){
3637
3729
  this.userId = undefined;
3638
3730
  this.sessionId = undefined;
3639
3731
  this.initializePromise = null;
@@ -3650,6 +3742,10 @@ class DynamicWalletClient {
3650
3742
  this.authMode = authMode;
3651
3743
  this.sdkVersion = sdkVersion;
3652
3744
  this.baseClientKeysharesRelayApiUrl = baseClientKeysharesRelayApiUrl;
3745
+ // Set secure storage adapter if provided (internal use only)
3746
+ if (internalOptions == null ? void 0 : internalOptions.secureStorage) {
3747
+ this.secureStorage = internalOptions.secureStorage;
3748
+ }
3653
3749
  this.apiClient = new DynamicApiClient({
3654
3750
  environmentId,
3655
3751
  authToken,
@@ -3663,7 +3759,7 @@ class DynamicWalletClient {
3663
3759
  this.debug = Boolean(debug);
3664
3760
  this.logger.setLogLevel(this.debug ? LogLevel.DEBUG : DEFAULT_LOG_LEVEL);
3665
3761
  this.featureFlags = featureFlags || {};
3666
- // setup storage
3762
+ // setup storage for walletMap metadata (used regardless of secureStorage)
3667
3763
  if (supportsLocalStorage()) {
3668
3764
  this.storage = localStorageAdapter;
3669
3765
  } else {
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@dynamic-labs-wallet/browser",
3
- "version": "0.0.251",
3
+ "version": "0.0.253",
4
4
  "license": "Licensed under the Dynamic Labs, Inc. Terms Of Service (https://www.dynamic.xyz/terms-conditions)",
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@dynamic-labs-wallet/core": "0.0.251",
7
+ "@dynamic-labs-wallet/core": "0.0.253",
8
8
  "@dynamic-labs/logger": "^4.25.3",
9
9
  "@dynamic-labs/sdk-api-core": "^0.0.828",
10
10
  "argon2id": "1.0.1",
package/src/client.d.ts CHANGED
@@ -1,10 +1,18 @@
1
1
  import { EcdsaSignature, MessageHash, type EcdsaPublicKey } from '#internal/web';
2
- import { AuthMode, BackupLocation, DynamicApiClient, ThresholdSignatureScheme, WalletOperation, type BackupLocationWithExternalKeyShareId, type BitcoinConfig, type DynamicWalletClientProps, type FeatureFlags, type InitializeResult, type KeyShareBackupInfo, type TraceContext } from '@dynamic-labs-wallet/core';
2
+ import { AuthMode, BackupLocation, DynamicApiClient, ThresholdSignatureScheme, WalletOperation, type BackupLocationWithExternalKeyShareId, type BitcoinConfig, type DynamicWalletClientProps, type FeatureFlags, type InitializeResult, type KeyShareBackupInfo, type SecureStorageAdapter, type TraceContext } from '@dynamic-labs-wallet/core';
3
3
  import { type InstrumentOptions } from '@dynamic-labs/logger';
4
4
  import { RoomTypeEnum, type SignMessageContext } from '@dynamic-labs/sdk-api-core';
5
5
  import type { ClientInitKeygenResult, ClientKeyShare } from './mpc/types.js';
6
6
  import { type SupportedStorage } from './services/localStorage.js';
7
7
  import { type Room, type ShareDistribution, type WalletBusyOperation, type WalletProperties } from './types.js';
8
+ type MessageToSign = string | Uint8Array | MessageHash;
9
+ /**
10
+ * Internal options for DynamicWalletClient constructor.
11
+ * This is NOT part of the public API.
12
+ */
13
+ export interface DynamicWalletClientInternalOptions {
14
+ secureStorage?: SecureStorageAdapter;
15
+ }
8
16
  export declare class DynamicWalletClient {
9
17
  environmentId: string;
10
18
  storageKey: string;
@@ -32,7 +40,13 @@ export declare class DynamicWalletClient {
32
40
  protected static roomsInitializing: Record<number, boolean>;
33
41
  protected static walletBusyMap: Record<string, WalletBusyOperation | undefined>;
34
42
  protected static walletBusyPromiseMap: Record<string, Promise<void> | undefined>;
35
- constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug, featureFlags, authMode, authToken, backupServiceAuthToken, sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, iCloudConfig, }: DynamicWalletClientProps);
43
+ /**
44
+ * Internal secure storage adapter for mobile TEE-backed storage.
45
+ * When set, all key share operations use this instead of localStorage.
46
+ * This is NOT part of the public API.
47
+ */
48
+ private readonly secureStorage?;
49
+ constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug, featureFlags, authMode, authToken, backupServiceAuthToken, sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, iCloudConfig, }: DynamicWalletClientProps, internalOptions?: DynamicWalletClientInternalOptions);
36
50
  private initializeForwardMPCClient;
37
51
  getWalletBusyOperation(accountAddress: string): WalletBusyOperation | undefined;
38
52
  isWalletBusy(accountAddress: string): boolean;
@@ -124,13 +138,16 @@ export declare class DynamicWalletClient {
124
138
  traceContext?: TraceContext;
125
139
  bitcoinConfig?: BitcoinConfig;
126
140
  }): Promise<import("@dynamic-labs-wallet/core").OpenRoomResponse>;
141
+ private prepareMessageForForwardMPC;
142
+ private convertTweakForBIP340;
143
+ private processForwardMPCSignature;
127
144
  forwardMPCClientSign({ chainName, message, roomId, keyShare, derivationPath, formattedMessage, dynamicRequestId, isFormatted, traceContext, bitcoinConfig, }: {
128
145
  chainName: string;
129
146
  message: string | Uint8Array;
130
147
  roomId: string;
131
148
  keyShare: ClientKeyShare;
132
149
  derivationPath: Uint32Array | undefined;
133
- formattedMessage: string | Uint8Array | MessageHash;
150
+ formattedMessage: MessageToSign;
134
151
  dynamicRequestId: string;
135
152
  isFormatted?: boolean;
136
153
  traceContext?: TraceContext;
@@ -259,6 +276,13 @@ export declare class DynamicWalletClient {
259
276
  getClientKeySharesFromLocalStorage({ accountAddress, }: {
260
277
  accountAddress: string;
261
278
  }): Promise<ClientKeyShare[]>;
279
+ /**
280
+ * Helper function to get client key shares from storage.
281
+ * Uses secureStorage when available (mobile), otherwise falls back to localStorage (browser).
282
+ */
283
+ getClientKeySharesFromStorage({ accountAddress, }: {
284
+ accountAddress: string;
285
+ }): Promise<ClientKeyShare[]>;
262
286
  /**
263
287
  * Helper function to initialize a wallet map entry during onCeremonyComplete.
264
288
  * This is called before any backup has happened, so it initializes with empty backup info.
@@ -288,6 +312,21 @@ export declare class DynamicWalletClient {
288
312
  clientKeyShares: ClientKeyShare[];
289
313
  overwriteOrMerge?: 'overwrite' | 'merge';
290
314
  }): Promise<void>;
315
+ /**
316
+ * Helper function to store client key shares in storage.
317
+ * Uses secureStorage when available (mobile), otherwise falls back to localStorage (browser).
318
+ */
319
+ setClientKeySharesToStorage({ accountAddress, clientKeyShares, overwriteOrMerge, }: {
320
+ accountAddress: string;
321
+ clientKeyShares: ClientKeyShare[];
322
+ overwriteOrMerge?: 'overwrite' | 'merge';
323
+ }): Promise<void>;
324
+ /**
325
+ * Ensures that client key shares exist for the given account address.
326
+ * Throws an error if no shares are found.
327
+ * This method enforces share presence before sensitive operations.
328
+ */
329
+ private ensureClientShare;
291
330
  backupSharesWithDistribution({ accountAddress, password, signedSessionId, distribution, preserveDelegatedLocation, }: {
292
331
  accountAddress: string;
293
332
  password?: string;
@@ -555,4 +594,5 @@ export declare class DynamicWalletClient {
555
594
  time: number;
556
595
  };
557
596
  }
597
+ export {};
558
598
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,cAAc,EAGd,WAAW,EACX,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAIhB,wBAAwB,EACxB,eAAe,EAUf,KAAK,oCAAoC,EACzC,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AAgBpC,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EAEf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EASL,KAAK,IAAI,EACT,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAcpB,qBAAa,mBAAmB;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IAEtB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAa;IACjD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAEpD,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAQ;IACrE,SAAS,CAAC,MAAM,wCAAU;IAC1B,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACtC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAM;IAC3D,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACpC,SAAS,CAAC,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAQ;IACjE,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAClD,SAAS,CAAC,iBAAiB,UAAS;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAM;IACzC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IAClD,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAM;IACpD,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACjE,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CACpC,MAAM,EACN,mBAAmB,GAAG,SAAS,CAChC,CAAM;IACP,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAC3C,MAAM,EACN,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAC1B,CAAM;gBAEK,EACV,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,YAAY,EACZ,QAA0B,EAC1B,SAAqB,EACrB,sBAAsB,EAEtB,UAAU,EACV,gBAAgB,EAChB,8BAA8B,EAC9B,YAAY,GACb,EAAE,wBAAwB;YAmDb,0BAA0B;IA8BjC,sBAAsB,CAC3B,cAAc,EAAE,MAAM,GACrB,mBAAmB,GAAG,SAAS;IAI3B,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;YAItC,oBAAoB;YAsBpB,kBAAkB;IA0CzB,WAAW,IAAI,QAAQ;IAI9B;;;OAGG;IACU,sBAAsB;IAInC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IA+BzB,iBAAiB,CAAC,SAAS,EAAE,MAAM;IAuDnC,UAAU,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgBxE;;OAEG;cACa,WAAW,CACzB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAyBtB,sBAAsB,CAAC,EAC3B,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,OAAO,EACP,kBAAkB,GACnB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;KACzE;IAqBK,sBAAsB,CAAC,EAC3B,SAAS,EACT,wBAAwB,EACxB,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAmB/B,eAAe,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,cAAc,EACd,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IAoBvD,YAAY,CAAC,EACjB,SAAS,EACT,MAAM,EACN,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;QAClD,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,mBAAmB,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC;IA8DI,MAAM,CAAC,EACX,SAAS,EACT,wBAAwB,EACxB,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,YAAY,GACb,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QACxE,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,CAAC;IAuFI,mBAAmB,CAAC,EACxB,SAAS,EACT,UAAU,EACV,wBAAwB,EACxB,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,cAAc,GACf,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QACxE,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,4DAA4D;QAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,CAAC;IA0II,UAAU,CAAC,EACf,QAAQ,EACR,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IA6BK,oBAAoB,CAAC,EACzB,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,gBAAgB,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;QACpD,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IAgElC,UAAU,CAAC,EACf,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IA0ElC,IAAI,CAAC,EACT,cAAc,EACd,OAAO,EACP,SAAS,EACT,QAAoB,EACpB,WAAmB,EACnB,eAAe,EACf,QAAQ,EACR,OAAO,EACP,OAAO,EACP,YAAY,EACZ,aAAa,GACd,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IAqHlC,0BAA0B,CAAC,EAC/B,cAAc,EACd,SAAS,EACT,QAAoB,EACpB,eAAe,EACf,QAAQ,EACR,YAAY,GACb,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;YAgBa,kCAAkC;IAyF1C,WAAW,CAAC,EAChB,SAAS,EACT,cAAc,EACd,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,cAAc,CAAC;QAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IAsCD;;;;;;;;;;;;;OAaG;IACG,eAAe,CAAC,EACpB,SAAS,EACT,MAAM,EACN,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,GAC5B,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,gBAAgB,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,wBAAwB,CAAC;KACvD,GAAG,OAAO,CAAC;QACV,0BAA0B,EAAE,sBAAsB,EAAE,CAAC;QACrD,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,uBAAuB,EAAE,MAAM,EAAE,CAAC;QAClC,uBAAuB,EAAE,cAAc,EAAE,CAAC;KAC3C,CAAC;IA6CI,OAAO,CAAC,EACZ,SAAS,EACT,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,EAC3B,QAAoB,EACpB,eAAe,EACf,cAAmB,EACnB,4BAAoC,EACpC,QAAQ,EACR,gBAAwB,GACzB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;QAClC,4BAA4B,CAAC,EAAE,OAAO,CAAC;QACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B;YAoBa,eAAe;YA8Mf,0BAA0B;IAuElC,iBAAiB,CAAC,EACtB,cAAc,EACd,QAAoB,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAgBK,gBAAgB,CAAC,EACrB,cAAc,EACd,QAAoB,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAYD,OAAO,CAAC,kBAAkB;IAsBpB,SAAS,CAAC,EACd,cAAc,EACd,SAAS,EACT,aAAa,EACb,QAAoB,EACpB,eAAe,EACf,QAAQ,EACR,YAAY,GACb,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;;;YAyFa,wBAAwB;YAyBxB,gBAAgB;YAgEhB,0BAA0B;IAoBlC,gBAAgB,CAAC,EACrB,SAAS,EACT,SAAS,EACT,cAAc,GACf,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,cAAc,EAAE,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;KAChE,CAAC;IAkEI,eAAe,CAAC,EACpB,QAAQ,EACR,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,cAAc,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAaD;;OAEG;IACG,kCAAkC,CAAC,EACvC,cAAc,GACf,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiC7B;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,wBAAwB,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,cAAc,EACd,eAAoB,GACrB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC3C,GAAG,IAAI;IAsBR;;;OAGG;IACG,gCAAgC,CAAC,EACrC,cAAc,EACd,eAAe,EACf,gBAA0B,GAC3B,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,cAAc,EAAE,CAAC;QAClC,gBAAgB,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;KAC1C,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBX,4BAA4B,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,yBAAiC,GAClC,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,iBAAiB,CAAC;QAChC,yBAAyB,CAAC,EAAE,OAAO,CAAC;KACrC;;;;;;8BApmE+B,CAAC;;;IAswEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,eAA2B,EAC3B,QAAoB,EACpB,eAAe,EACf,cAAmB,EACnB,iBAA6B,GAC9B,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;QACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;QAClC,iBAAiB,CAAC,EAAE,cAAc,CAAC;KACpC;;;;;;;8BAnzE+B,CAAC;;;IAg4E3B,qCAAqC,CAAC,EAC1C,cAAc,EACd,eAAe,EACf,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;QACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAkBK,cAAc,CAAC,EACnB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB;IAeK,eAAe,CAAC,EACpB,QAAQ,EACR,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,cAAc,CAAC;IAa3B;;;;;OAKG;YACW,8BAA8B;IAmC5C;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EACd,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,UAAsB,GACvB,EAAE;QACD,wBAAwB,EAAE,kBAAkB,CAAC;QAC7C,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,eAAe,EAAE,eAAe,CAAC;QACjC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG;QACF,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAClD,kBAAkB,EAAE,MAAM,CAAC;KAC5B;IA+BK,8BAA8B,CAAC,EACnC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,eAAe,EACf,UAAsB,EACtB,oBAA2B,EAC3B,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,eAAe,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAsEK,cAAc;IAQpB;;;;OAIG;YACW,8BAA8B;IAwD5C;;;;;;;;;OASG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjB;;;;;;;;;OASG;IACG,uBAAuB,CAAC,EAC5B,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IASjB;;;;;;OAMG;YACW,qBAAqB;IA2BnC;;;;;;;;;;;OAWG;YACW,4BAA4B;IAqD1C;;;;;;OAMG;YACW,uBAAuB;IAmC/B,oCAAoC,CAAC,EACzC,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyGX,qBAAqB,CAAC,EAC1B,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IA6BK,kBAAkB,CAAC,EACvB,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAYD;;;;;OAKG;YACW,iBAAiB;IA8D/B;;;;OAIG;IACG,cAAc,CAAC,EACnB,cAAc,EACd,QAAoB,EACpB,eAA8C,EAC9C,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,eAAe,EAAE,MAAM,CAAC;KACzB;IAsDK,mBAAmB,CAAC,EACxB,cAAc,GACf,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,OAAO,CAAC;IAMpB;;OAEG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,eAAiD,GAClD,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,OAAO,CAAC,OAAO,CAAC;IAYpB;;OAEG;IACG,uCAAuC,CAAC,EAC5C,cAAc,EACd,eAAiD,GAClD,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,OAAO,CAAC,OAAO,CAAC;IAgCd,iCAAiC,CAAC,EACtC,cAAc,GACf,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiCzB,SAAS,CAAC,EACd,cAAc,EACd,eAA8C,EAC9C,UAAsB,EACtB,QAAoB,EACpB,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAoGK,UAAU;IAkDhB;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM;IAQzB,WAAW,CAAC,EAChB,QAAQ,EACR,wBAAwB,EACxB,SAAa,GACd,EAAE;QACD,QAAQ,EAAE,YAAY,CAAC;QACvB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IAuCK,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAyB/C,QAAQ,CACZ,QAAQ,CAAC,EAAE,YAAY,EACvB,wBAAwB,CAAC,EAAE,wBAAwB,GAClD,OAAO,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAWrC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IAQrD,kBAAkB,CAChB,QAAQ,EAAE,YAAY,EACtB,wBAAwB,EAAE,wBAAwB,GACjD,MAAM;IAOH,OAAO,CACX,QAAQ,EAAE,YAAY,EACtB,wBAAwB,EAAE,wBAAwB,GACjD,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IA+B5B;;OAEG;IACI,UAAU,CACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC/C,IAAI;IAcP,eAAe,CACb,YAAY,CAAC,EAAE,YAAY,GAC1B,YAAY,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;CAQhD"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,cAAc,EAGd,WAAW,EACX,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAIhB,wBAAwB,EACxB,eAAe,EAUf,KAAK,oCAAoC,EACzC,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AAgBpC,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EAEf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EASL,KAAK,IAAI,EACT,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAcpB,KAAK,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,kCAAkC;IACjD,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED,qBAAa,mBAAmB;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IAEtB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAa;IACjD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAEpD,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAQ;IACrE,SAAS,CAAC,MAAM,wCAAU;IAC1B,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACtC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAM;IAC3D,SAAS,CAAC,OAAO,EAAG,gBAAgB,CAAC;IACrC,SAAS,CAAC,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAQ;IACjE,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAClD,SAAS,CAAC,iBAAiB,UAAS;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAM;IACzC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IAClD,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAM;IACpD,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACjE,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CACpC,MAAM,EACN,mBAAmB,GAAG,SAAS,CAChC,CAAM;IACP,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAC3C,MAAM,EACN,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAC1B,CAAM;IACP;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAuB;gBAGpD,EACE,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,YAAY,EACZ,QAA0B,EAC1B,SAAqB,EACrB,sBAAsB,EAEtB,UAAU,EACV,gBAAgB,EAChB,8BAA8B,EAC9B,YAAY,GACb,EAAE,wBAAwB,EAC3B,eAAe,CAAC,EAAE,kCAAkC;YAyDxC,0BAA0B;IA8BjC,sBAAsB,CAC3B,cAAc,EAAE,MAAM,GACrB,mBAAmB,GAAG,SAAS;IAI3B,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;YAItC,oBAAoB;YAsBpB,kBAAkB;IA0CzB,WAAW,IAAI,QAAQ;IAI9B;;;OAGG;IACU,sBAAsB;IAInC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IA+BzB,iBAAiB,CAAC,SAAS,EAAE,MAAM;IAuDnC,UAAU,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgBxE;;OAEG;cACa,WAAW,CACzB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAyBtB,sBAAsB,CAAC,EAC3B,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,OAAO,EACP,kBAAkB,GACnB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;KACzE;IAqBK,sBAAsB,CAAC,EAC3B,SAAS,EACT,wBAAwB,EACxB,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAmB/B,eAAe,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,cAAc,EACd,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IAoBvD,YAAY,CAAC,EACjB,SAAS,EACT,MAAM,EACN,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;QAClD,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,mBAAmB,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC;IA8DI,MAAM,CAAC,EACX,SAAS,EACT,wBAAwB,EACxB,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,YAAY,GACb,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QACxE,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,CAAC;IAuFI,mBAAmB,CAAC,EACxB,SAAS,EACT,UAAU,EACV,wBAAwB,EACxB,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,cAAc,GACf,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QACxE,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,4DAA4D;QAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,CAAC;IA0II,UAAU,CAAC,EACf,QAAQ,EACR,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IA6BD,OAAO,CAAC,2BAA2B;IA0BnC,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,0BAA0B;IAU5B,oBAAoB,CAAC,EACzB,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,gBAAgB,EAAE,aAAa,CAAC;QAChC,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IA2DlC,UAAU,CAAC,EACf,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IA0ElC,IAAI,CAAC,EACT,cAAc,EACd,OAAO,EACP,SAAS,EACT,QAAoB,EACpB,WAAmB,EACnB,eAAe,EACf,QAAQ,EACR,OAAO,EACP,OAAO,EACP,YAAY,EACZ,aAAa,GACd,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IAmHlC,0BAA0B,CAAC,EAC/B,cAAc,EACd,SAAS,EACT,QAAoB,EACpB,eAAe,EACf,QAAQ,EACR,YAAY,GACb,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;YAgBa,kCAAkC;IAwF1C,WAAW,CAAC,EAChB,SAAS,EACT,cAAc,EACd,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,cAAc,CAAC;QAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IAsCD;;;;;;;;;;;;;OAaG;IACG,eAAe,CAAC,EACpB,SAAS,EACT,MAAM,EACN,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,GAC5B,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,gBAAgB,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,wBAAwB,CAAC;KACvD,GAAG,OAAO,CAAC;QACV,0BAA0B,EAAE,sBAAsB,EAAE,CAAC;QACrD,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,uBAAuB,EAAE,MAAM,EAAE,CAAC;QAClC,uBAAuB,EAAE,cAAc,EAAE,CAAC;KAC3C,CAAC;IA6CI,OAAO,CAAC,EACZ,SAAS,EACT,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,EAC3B,QAAoB,EACpB,eAAe,EACf,cAAmB,EACnB,4BAAoC,EACpC,QAAQ,EACR,gBAAwB,GACzB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;QAClC,4BAA4B,CAAC,EAAE,OAAO,CAAC;QACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B;YAoBa,eAAe;YAsNf,0BAA0B;IAuElC,iBAAiB,CAAC,EACtB,cAAc,EACd,QAAoB,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAgBK,gBAAgB,CAAC,EACrB,cAAc,EACd,QAAoB,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAYD,OAAO,CAAC,kBAAkB;IAsBpB,SAAS,CAAC,EACd,cAAc,EACd,SAAS,EACT,aAAa,EACb,QAAoB,EACpB,eAAe,EACf,QAAQ,EACR,YAAY,GACb,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;;;YAyFa,wBAAwB;YAyBxB,gBAAgB;YAgEhB,0BAA0B;IAoBlC,gBAAgB,CAAC,EACrB,SAAS,EACT,SAAS,EACT,cAAc,GACf,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,cAAc,EAAE,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;KAChE,CAAC;IAkEI,eAAe,CAAC,EACpB,QAAQ,EACR,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,cAAc,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAaD;;OAEG;IACG,kCAAkC,CAAC,EACvC,cAAc,GACf,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiC7B;;;OAGG;IACG,6BAA6B,CAAC,EAClC,cAAc,GACf,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAuB7B;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,wBAAwB,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,cAAc,EACd,eAAoB,GACrB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC3C,GAAG,IAAI;IAsBR;;;OAGG;IACG,gCAAgC,CAAC,EACrC,cAAc,EACd,eAAe,EACf,gBAA0B,GAC3B,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,cAAc,EAAE,CAAC;QAClC,gBAAgB,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;KAC1C,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBjB;;;OAGG;IACG,2BAA2B,CAAC,EAChC,cAAc,EACd,eAAe,EACf,gBAA0B,GAC3B,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,cAAc,EAAE,CAAC;QAClC,gBAAgB,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;KAC1C,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCjB;;;;OAIG;YACW,iBAAiB;IAgBzB,4BAA4B,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,yBAAiC,GAClC,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,iBAAiB,CAAC;QAChC,yBAAyB,CAAC,EAAE,OAAO,CAAC;KACrC;;;;;;8BApxES,CAAC;;;IAs7EX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,eAA2B,EAC3B,QAAoB,EACpB,eAAe,EACf,cAAmB,EACnB,iBAA6B,GAC9B,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;QACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;QAClC,iBAAiB,CAAC,EAAE,cAAc,CAAC;KACpC;;;;;;;8BAn+ES,CAAC;;;IAgjFL,qCAAqC,CAAC,EAC1C,cAAc,EACd,eAAe,EACf,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;QACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAkBK,cAAc,CAAC,EACnB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB;IAeK,eAAe,CAAC,EACpB,QAAQ,EACR,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,cAAc,CAAC;IAa3B;;;;;OAKG;YACW,8BAA8B;IAmC5C;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EACd,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,UAAsB,GACvB,EAAE;QACD,wBAAwB,EAAE,kBAAkB,CAAC;QAC7C,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,eAAe,EAAE,eAAe,CAAC;QACjC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG;QACF,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAClD,kBAAkB,EAAE,MAAM,CAAC;KAC5B;IA+BK,8BAA8B,CAAC,EACnC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,eAAe,EACf,UAAsB,EACtB,oBAA2B,EAC3B,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,eAAe,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAsEK,cAAc;IAQpB;;;;OAIG;YACW,8BAA8B;IAwD5C;;;;;;;;;OASG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjB;;;;;;;;;OASG;IACG,uBAAuB,CAAC,EAC5B,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IASjB;;;;;;OAMG;YACW,qBAAqB;IA2BnC;;;;;;;;;;;OAWG;YACW,4BAA4B;IAqD1C;;;;;;OAMG;YACW,uBAAuB;IAmC/B,oCAAoC,CAAC,EACzC,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyGX,qBAAqB,CAAC,EAC1B,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IA6BK,kBAAkB,CAAC,EACvB,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAYD;;;;;OAKG;YACW,iBAAiB;IA8D/B;;;;OAIG;IACG,cAAc,CAAC,EACnB,cAAc,EACd,QAAoB,EACpB,eAA8C,EAC9C,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,eAAe,EAAE,MAAM,CAAC;KACzB;IAsDK,mBAAmB,CAAC,EACxB,cAAc,GACf,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,OAAO,CAAC;IAMpB;;OAEG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,eAAiD,GAClD,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,OAAO,CAAC,OAAO,CAAC;IAYpB;;OAEG;IACG,uCAAuC,CAAC,EAC5C,cAAc,EACd,eAAiD,GAClD,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,OAAO,CAAC,OAAO,CAAC;IAgCd,iCAAiC,CAAC,EACtC,cAAc,GACf,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiCzB,SAAS,CAAC,EACd,cAAc,EACd,eAA8C,EAC9C,UAAsB,EACtB,QAAoB,EACpB,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAkGK,UAAU;IAkDhB;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM;IAQzB,WAAW,CAAC,EAChB,QAAQ,EACR,wBAAwB,EACxB,SAAa,GACd,EAAE;QACD,QAAQ,EAAE,YAAY,CAAC;QACvB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IAuCK,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAyB/C,QAAQ,CACZ,QAAQ,CAAC,EAAE,YAAY,EACvB,wBAAwB,CAAC,EAAE,wBAAwB,GAClD,OAAO,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAWrC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IAQrD,kBAAkB,CAChB,QAAQ,EAAE,YAAY,EACtB,wBAAwB,EAAE,wBAAwB,GACjD,MAAM;IAOH,OAAO,CACX,QAAQ,EAAE,YAAY,EACtB,wBAAwB,EAAE,wBAAwB,GACjD,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IA+B5B;;OAEG;IACI,UAAU,CACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC/C,IAAI;IAcP,eAAe,CACb,YAAY,CAAC,EAAE,YAAY,GAC1B,YAAY,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;CAQhD"}