@dynamic-labs-sdk/bitcoin 1.18.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/addBitcoinExtension/addBitcoinExtension.d.ts +10 -1
  2. package/dist/addBitcoinExtension/addBitcoinExtension.d.ts.map +1 -1
  3. package/dist/{addBitcoinInjectedWalletsExtension-CZbBF0L9.esm.js → addBitcoinInjectedWalletsExtension-BD_sDgf9.esm.js} +2 -2
  4. package/dist/{addBitcoinInjectedWalletsExtension-CZbBF0L9.esm.js.map → addBitcoinInjectedWalletsExtension-BD_sDgf9.esm.js.map} +1 -1
  5. package/dist/{addBitcoinInjectedWalletsExtension-P-36oK75.cjs → addBitcoinInjectedWalletsExtension-Bg3KI_MJ.cjs} +3 -3
  6. package/dist/{addBitcoinInjectedWalletsExtension-P-36oK75.cjs.map → addBitcoinInjectedWalletsExtension-Bg3KI_MJ.cjs.map} +1 -1
  7. package/dist/{addWaasBitcoinExtension-D9iaqGxY.cjs → addWaasBitcoinExtension-BuxHED6F.cjs} +2 -2
  8. package/dist/{addWaasBitcoinExtension-D9iaqGxY.cjs.map → addWaasBitcoinExtension-BuxHED6F.cjs.map} +1 -1
  9. package/dist/{addWaasBitcoinExtension-DTE42Z_R.esm.js → addWaasBitcoinExtension-D69lYSx2.esm.js} +2 -2
  10. package/dist/{addWaasBitcoinExtension-DTE42Z_R.esm.js.map → addWaasBitcoinExtension-D69lYSx2.esm.js.map} +1 -1
  11. package/dist/{bitcoinTransferAmount-KNyaHLlt.esm.js → bitcoinTransferAmount-D6zp-bUs.esm.js} +44 -12
  12. package/dist/bitcoinTransferAmount-D6zp-bUs.esm.js.map +1 -0
  13. package/dist/{bitcoinTransferAmount-CmhABTHH.cjs → bitcoinTransferAmount-vyn5gKOV.cjs} +45 -13
  14. package/dist/bitcoinTransferAmount-vyn5gKOV.cjs.map +1 -0
  15. package/dist/index.cjs +78 -20
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.esm.js +78 -20
  18. package/dist/index.esm.js.map +1 -1
  19. package/dist/injected.cjs +3 -3
  20. package/dist/injected.esm.js +2 -2
  21. package/dist/isBitcoinNetworkProvider/isBitcoinNetworkProvider.d.ts +10 -1
  22. package/dist/isBitcoinNetworkProvider/isBitcoinNetworkProvider.d.ts.map +1 -1
  23. package/dist/isBitcoinWalletAccount/isBitcoinWalletAccount.d.ts +9 -1
  24. package/dist/isBitcoinWalletAccount/isBitcoinWalletAccount.d.ts.map +1 -1
  25. package/dist/sendBitcoin/sendBitcoin.d.ts +18 -7
  26. package/dist/sendBitcoin/sendBitcoin.d.ts.map +1 -1
  27. package/dist/sendRawTransaction/sendRawTransaction.d.ts +18 -5
  28. package/dist/sendRawTransaction/sendRawTransaction.d.ts.map +1 -1
  29. package/dist/signMessageWithCustomOptions/signMessageWithCustomOptions.d.ts +23 -10
  30. package/dist/signMessageWithCustomOptions/signMessageWithCustomOptions.d.ts.map +1 -1
  31. package/dist/signPsbt/signPsbt.d.ts +17 -5
  32. package/dist/signPsbt/signPsbt.d.ts.map +1 -1
  33. package/dist/signPsbts/signPsbts.d.ts +20 -5
  34. package/dist/signPsbts/signPsbts.d.ts.map +1 -1
  35. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  36. package/dist/waas.cjs +2 -2
  37. package/dist/waas.esm.js +2 -2
  38. package/package.json +4 -4
  39. package/dist/bitcoinTransferAmount-CmhABTHH.cjs.map +0 -1
  40. package/dist/bitcoinTransferAmount-KNyaHLlt.esm.js.map +0 -1
@@ -3,9 +3,17 @@ import type { BitcoinWalletAccount } from '../BitcoinWalletAccount.types';
3
3
  /**
4
4
  * Type guard function to check if a wallet account is a Bitcoin wallet account.
5
5
  *
6
+ * @example
7
+ * ```ts
8
+ * const accounts = getWalletAccounts();
9
+ * const btcAccounts = accounts.filter(isBitcoinWalletAccount);
10
+ * ```
11
+ *
6
12
  * @param walletAccount - The wallet account to check.
7
13
  * @returns True if the wallet account is a Bitcoin wallet account, false otherwise.
8
- * @notInstrumented
14
+ * @see isBitcoinNetworkProvider
15
+ * @see addBitcoinExtension
16
+ * @notInstrumented
9
17
  */
10
18
  export declare const isBitcoinWalletAccount: (walletAccount: WalletAccount) => walletAccount is BitcoinWalletAccount;
11
19
  //# sourceMappingURL=isBitcoinWalletAccount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isBitcoinWalletAccount.d.ts","sourceRoot":"","sources":["../../src/isBitcoinWalletAccount/isBitcoinWalletAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,kBAClB,aAAa,KAC3B,aAAa,IAAI,oBAAqD,CAAC"}
1
+ {"version":3,"file":"isBitcoinWalletAccount.d.ts","sourceRoot":"","sources":["../../src/isBitcoinWalletAccount/isBitcoinWalletAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,kBAClB,aAAa,KAC3B,aAAa,IAAI,oBAAqD,CAAC"}
@@ -5,14 +5,25 @@ type SendBitcoinParams = {
5
5
  walletAccount: BitcoinWalletAccount;
6
6
  };
7
7
  /**
8
- * Sends a Bitcoin transaction
9
- * @param params.transaction - The transaction to send
10
- * @param params.walletAccount - The wallet account to send the transaction from
8
+ * Sends a Bitcoin transaction.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const { transactionId } = await sendBitcoin({
13
+ * walletAccount: btcAccount,
14
+ * transaction: { recipientAddress: 'bc1q...', amount: 50000n },
15
+ * });
16
+ * ```
17
+ *
18
+ * @param params.transaction - The transaction to send.
19
+ * @param params.walletAccount - The wallet account to send the transaction from.
11
20
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
12
- * @returns An object containing the transaction id
13
- * @throws {MethodNotImplementedError} If the wallet provider does not implement the sendBitcoin method
14
- * @throws {NotBitcoinProviderError} If the wallet account is not a valid BitcoinWalletAccount
15
- * @notInstrumented
21
+ * @returns An object containing the transaction id.
22
+ * @throws {MethodNotImplementedError} If the wallet provider does not implement the sendBitcoin method.
23
+ * @throws {NotBitcoinProviderError} If the wallet account is not a valid BitcoinWalletAccount.
24
+ * @see sendRawTransaction
25
+ * @see signPsbt
26
+ * @notInstrumented
16
27
  */
17
28
  export declare const sendBitcoin: ({ walletAccount, transaction }: SendBitcoinParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<BitcoinSendTransactionResponse>;
18
29
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"sendBitcoin.d.ts","sourceRoot":"","sources":["../../src/sendBitcoin/sendBitcoin.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EACV,8BAA8B,EAC9B,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAIxC,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,kBAAkB,CAAC;IAChC,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,mCACU,iBAAiB,gEAEhD,OAAO,CAAC,8BAA8B,CAiBxC,CAAC"}
1
+ {"version":3,"file":"sendBitcoin.d.ts","sourceRoot":"","sources":["../../src/sendBitcoin/sendBitcoin.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EACV,8BAA8B,EAC9B,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAIxC,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,kBAAkB,CAAC;IAChC,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,WAAW,mCACU,iBAAiB,gEAEhD,OAAO,CAAC,8BAA8B,CAiBxC,CAAC"}
@@ -4,11 +4,24 @@ type SendRawTransactionParams = {
4
4
  walletAccount: BitcoinWalletAccount;
5
5
  };
6
6
  /**
7
- * Sends a raw transaction using the mempool.space API
8
- * @param params.rawTransaction - The raw transaction to send
9
- * @param params.walletAccount - The wallet account to send the transaction from
10
- * @returns An object containing the transaction id
11
- * @notInstrumented
7
+ * Sends a raw transaction using the mempool.space API.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const { transactionId } = await sendRawTransaction({
12
+ * walletAccount: btcAccount,
13
+ * rawTransaction: '0200000001...',
14
+ * });
15
+ * ```
16
+ *
17
+ * @param params.rawTransaction - The raw transaction hex to broadcast.
18
+ * @param params.walletAccount - The wallet account whose network determines the API endpoint.
19
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
20
+ * @returns An object containing the transaction id.
21
+ * @throws {SendBitcoinRawTransactionError} If the mempool API returns an error.
22
+ * @see sendBitcoin
23
+ * @see signPsbt
24
+ * @notInstrumented
12
25
  */
13
26
  export declare const sendRawTransaction: ({ rawTransaction, walletAccount }: SendRawTransactionParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<{
14
27
  transactionId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sendRawTransaction.d.ts","sourceRoot":"","sources":["../../src/sendRawTransaction/sendRawTransaction.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAI1E,KAAK,wBAAwB,GAAG;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,sCACM,wBAAwB,gEAE1D,OAAO,CAAC;IACT,aAAa,EAAE,MAAM,CAAC;CACvB,CAuBA,CAAC"}
1
+ {"version":3,"file":"sendRawTransaction.d.ts","sourceRoot":"","sources":["../../src/sendRawTransaction/sendRawTransaction.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAI1E,KAAK,wBAAwB,GAAG;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,kBAAkB,sCACM,wBAAwB,gEAE1D,OAAO,CAAC;IACT,aAAa,EAAE,MAAM,CAAC;CACvB,CAuBA,CAAC"}
@@ -7,19 +7,32 @@ type SignMessageWithCustomOptionsParams = {
7
7
  walletAccount: BitcoinWalletAccount;
8
8
  };
9
9
  /**
10
- * Signs a message with custom options, like a specific address type or protocol
10
+ * Signs a message with custom options, like a specific address type or protocol.
11
11
  *
12
- * If the wallet provider does not support specifying an address type or protocol, it will use the default values.
12
+ * If the wallet provider does not support specifying an address type or protocol,
13
+ * it will use the default values.
13
14
  *
14
- * @param params.addressType - The address type to use for signing ('ordinals' or 'payment')
15
- * @param params.message - The message to sign
16
- * @param params.protocol - The protocol to use for signing ('ecdsa' or 'bip322-simple')
17
- * @param params.walletAccount - The wallet account to sign the message with
15
+ * @example
16
+ * ```ts
17
+ * const { signature } = await signMessageWithCustomOptions({
18
+ * walletAccount: btcAccount,
19
+ * message: 'Hello Bitcoin',
20
+ * protocol: 'bip322-simple',
21
+ * addressType: 'payment',
22
+ * });
23
+ * ```
24
+ *
25
+ * @param params.addressType - The address type to use for signing ('ordinals' or 'payment').
26
+ * @param params.message - The message to sign.
27
+ * @param params.protocol - The protocol to use for signing ('ecdsa' or 'bip322-simple').
28
+ * @param params.walletAccount - The wallet account to sign the message with.
18
29
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
19
- * @returns An object containing the signature
20
- * @throws {MethodNotImplementedError} If the wallet provider does not implement the signMessage method
21
- * @throws {NotBitcoinProviderError} If the wallet account is not a valid BitcoinWalletAccount
22
- * @notInstrumented
30
+ * @returns An object containing the signature.
31
+ * @throws {MethodNotImplementedError} If the wallet provider does not implement the signMessage method.
32
+ * @throws {NotBitcoinProviderError} If the wallet account is not a valid BitcoinWalletAccount.
33
+ * @see signPsbt
34
+ * @see sendBitcoin
35
+ * @notInstrumented
23
36
  */
24
37
  export declare const signMessageWithCustomOptions: ({ walletAccount, message, protocol, addressType, }: SignMessageWithCustomOptionsParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<{
25
38
  signature: string;
@@ -1 +1 @@
1
- {"version":3,"file":"signMessageWithCustomOptions.d.ts","sourceRoot":"","sources":["../../src/signMessageWithCustomOptions/signMessageWithCustomOptions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AAIxC,KAAK,kCAAkC,GAAG;IACxC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,4BAA4B,uDAMpC,kCAAkC,gEAEpC,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAsB/B,CAAC"}
1
+ {"version":3,"file":"signMessageWithCustomOptions.d.ts","sourceRoot":"","sources":["../../src/signMessageWithCustomOptions/signMessageWithCustomOptions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AAIxC,KAAK,kCAAkC,GAAG;IACxC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,4BAA4B,uDAMpC,kCAAkC,gEAEpC,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAsB/B,CAAC"}
@@ -5,12 +5,24 @@ type SignPsbtParams = {
5
5
  walletAccount: BitcoinWalletAccount;
6
6
  };
7
7
  /**
8
- * Signs a PSBT
9
- * @param params.request - The request data to sign the PSBT
10
- * @param params.walletAccount - The wallet account to sign the PSBT with
8
+ * Signs a Partially Signed Bitcoin Transaction (PSBT).
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const { signedPsbt } = await signPsbt({
13
+ * walletAccount: btcAccount,
14
+ * request: { unsignedPsbtBase64: 'cHNidP8B...', allowedSighash: [1] },
15
+ * });
16
+ * ```
17
+ *
18
+ * @param params.request - The request data including the PSBT and inputs to sign.
19
+ * @param params.walletAccount - The wallet account to sign the PSBT with.
11
20
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
12
- * @returns An object containing the signed PSBT
13
- * @notInstrumented
21
+ * @returns An object containing the signed PSBT.
22
+ * @throws {NotBitcoinProviderError} If the wallet account is not a valid BitcoinWalletAccount.
23
+ * @see signPsbts
24
+ * @see sendBitcoin
25
+ * @notInstrumented
14
26
  */
15
27
  export declare const signPsbt: ({ walletAccount, request }: SignPsbtParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<{
16
28
  signedPsbt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"signPsbt.d.ts","sourceRoot":"","sources":["../../src/signPsbt/signPsbt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAI7E,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,sBAAsB,CAAC;IAChC,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,+BACS,cAAc,gEAEzC,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAahC,CAAC"}
1
+ {"version":3,"file":"signPsbt.d.ts","sourceRoot":"","sources":["../../src/signPsbt/signPsbt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAI7E,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,sBAAsB,CAAC;IAChC,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,QAAQ,+BACS,cAAc,gEAEzC,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAahC,CAAC"}
@@ -5,12 +5,27 @@ type SignPsbtsParams = {
5
5
  walletAccount: BitcoinWalletAccount;
6
6
  };
7
7
  /**
8
- * Signs multiple PSBTs
9
- * @param params.requests - The list of request data to sign the PSBTs
10
- * @param params.walletAccount - The wallet account to sign the PSBT with
8
+ * Signs multiple Partially Signed Bitcoin Transactions (PSBTs) in a single call.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const { signedPsbts } = await signPsbts({
13
+ * walletAccount: btcAccount,
14
+ * requests: [
15
+ * { unsignedPsbtBase64: 'cHNidP8B...', allowedSighash: [1] },
16
+ * { unsignedPsbtBase64: 'cHNidP8C...', allowedSighash: [1] },
17
+ * ],
18
+ * });
19
+ * ```
20
+ *
21
+ * @param params.requests - The list of request data to sign the PSBTs.
22
+ * @param params.walletAccount - The wallet account to sign the PSBTs with.
11
23
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
12
- * @returns An object containing the signed PSBT
13
- * @notInstrumented
24
+ * @returns An object containing the array of signed PSBTs.
25
+ * @throws {NotBitcoinProviderError} If the wallet account is not a valid BitcoinWalletAccount.
26
+ * @see signPsbt
27
+ * @see sendBitcoin
28
+ * @notInstrumented
14
29
  */
15
30
  export declare const signPsbts: ({ walletAccount, requests }: SignPsbtsParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<{
16
31
  signedPsbts: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"signPsbts.d.ts","sourceRoot":"","sources":["../../src/signPsbts/signPsbts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAI7E,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,gCACS,eAAe,gEAE3C,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAanC,CAAC"}
1
+ {"version":3,"file":"signPsbts.d.ts","sourceRoot":"","sources":["../../src/signPsbts/signPsbts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAI7E,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,SAAS,gCACS,eAAe,gEAE3C,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAanC,CAAC"}