bitcoin-wallet-connector 0.1.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 (158) hide show
  1. package/README.md +208 -0
  2. package/lib/BitcoinConnectionProvider.d.ts +23 -0
  3. package/lib/BitcoinWalletAdapterConnector-Bq835yj0.mjs +123 -0
  4. package/lib/BitcoinWalletAdapterConnector-Bq835yj0.mjs.map +1 -0
  5. package/lib/BitcoinWalletAdapterConnector-DMef0iHV.js +2 -0
  6. package/lib/BitcoinWalletAdapterConnector-DMef0iHV.js.map +1 -0
  7. package/lib/BitcoinWalletAdapterConnector.d.ts +30 -0
  8. package/lib/BitgetWalletAdapter.impl-C_HLO7Oi.mjs +10 -0
  9. package/lib/BitgetWalletAdapter.impl-C_HLO7Oi.mjs.map +1 -0
  10. package/lib/BitgetWalletAdapter.impl-CxnKMf7U.js +2 -0
  11. package/lib/BitgetWalletAdapter.impl-CxnKMf7U.js.map +1 -0
  12. package/lib/LeatherWalletAdapter.impl-B2QgX_tO.js +2 -0
  13. package/lib/LeatherWalletAdapter.impl-B2QgX_tO.js.map +1 -0
  14. package/lib/LeatherWalletAdapter.impl-RUYx555r.mjs +184 -0
  15. package/lib/LeatherWalletAdapter.impl-RUYx555r.mjs.map +1 -0
  16. package/lib/MagicEdenWalletAdapter.impl-CrA6SGvG.mjs +235 -0
  17. package/lib/MagicEdenWalletAdapter.impl-CrA6SGvG.mjs.map +1 -0
  18. package/lib/MagicEdenWalletAdapter.impl-Di3Nu2S5.js +2 -0
  19. package/lib/MagicEdenWalletAdapter.impl-Di3Nu2S5.js.map +1 -0
  20. package/lib/OkxWalletAdapter.impl-BepoUL1B.mjs +67 -0
  21. package/lib/OkxWalletAdapter.impl-BepoUL1B.mjs.map +1 -0
  22. package/lib/OkxWalletAdapter.impl-C8kesjGu.js +2 -0
  23. package/lib/OkxWalletAdapter.impl-C8kesjGu.js.map +1 -0
  24. package/lib/UnisatCompatibleWalletAdapterImpl-Cq2Oqk1b.js +2 -0
  25. package/lib/UnisatCompatibleWalletAdapterImpl-Cq2Oqk1b.js.map +1 -0
  26. package/lib/UnisatCompatibleWalletAdapterImpl-M38FqkZI.mjs +137 -0
  27. package/lib/UnisatCompatibleWalletAdapterImpl-M38FqkZI.mjs.map +1 -0
  28. package/lib/UnisatWalletAdapter.impl-CJB22se8.mjs +14 -0
  29. package/lib/UnisatWalletAdapter.impl-CJB22se8.mjs.map +1 -0
  30. package/lib/UnisatWalletAdapter.impl-EISvxdpc.js +2 -0
  31. package/lib/UnisatWalletAdapter.impl-EISvxdpc.js.map +1 -0
  32. package/lib/WalletAdapters.types-CnvOqHFH.mjs +32 -0
  33. package/lib/WalletAdapters.types-CnvOqHFH.mjs.map +1 -0
  34. package/lib/WalletAdapters.types-De_x1lzr.js +2 -0
  35. package/lib/WalletAdapters.types-De_x1lzr.js.map +1 -0
  36. package/lib/WalletAdapters.types.d.ts +110 -0
  37. package/lib/XverseCompatibleWalletAdapterImpl-Bf-BK5VK.js +2 -0
  38. package/lib/XverseCompatibleWalletAdapterImpl-Bf-BK5VK.js.map +1 -0
  39. package/lib/XverseCompatibleWalletAdapterImpl-DXKnO_-V.mjs +151 -0
  40. package/lib/XverseCompatibleWalletAdapterImpl-DXKnO_-V.mjs.map +1 -0
  41. package/lib/XverseWalletAdapter.impl-CZO0RQva.mjs +105 -0
  42. package/lib/XverseWalletAdapter.impl-CZO0RQva.mjs.map +1 -0
  43. package/lib/XverseWalletAdapter.impl-lJwMi-Iv.js +2 -0
  44. package/lib/XverseWalletAdapter.impl-lJwMi-Iv.js.map +1 -0
  45. package/lib/adapters/BitgetWalletAdapter.d.ts +2 -0
  46. package/lib/adapters/BitgetWalletAdapter.impl.d.ts +8 -0
  47. package/lib/adapters/LeatherWalletAdapter.d.ts +2 -0
  48. package/lib/adapters/LeatherWalletAdapter.impl.d.ts +41 -0
  49. package/lib/adapters/MagicEdenWalletAdapter.d.ts +11 -0
  50. package/lib/adapters/MagicEdenWalletAdapter.impl.d.ts +22 -0
  51. package/lib/adapters/MockAddressWalletAdapter.d.ts +33 -0
  52. package/lib/adapters/OkxWalletAdapter.d.ts +2 -0
  53. package/lib/adapters/OkxWalletAdapter.impl.d.ts +51 -0
  54. package/lib/adapters/UnisatWalletAdapter.d.ts +2 -0
  55. package/lib/adapters/UnisatWalletAdapter.impl.d.ts +14 -0
  56. package/lib/adapters/XverseWalletAdapter.d.ts +3 -0
  57. package/lib/adapters/XverseWalletAdapter.impl.d.ts +14 -0
  58. package/lib/adapters/index.d.ts +7 -0
  59. package/lib/adapters.js +2 -0
  60. package/lib/adapters.js.map +1 -0
  61. package/lib/adapters.mjs +11 -0
  62. package/lib/adapters.mjs.map +1 -0
  63. package/lib/bitget-C7oB4Ffq.mjs +5 -0
  64. package/lib/bitget-C7oB4Ffq.mjs.map +1 -0
  65. package/lib/bitget-DXnsxx_y.js +2 -0
  66. package/lib/bitget-DXnsxx_y.js.map +1 -0
  67. package/lib/index-CaV3F1Nm.js +424 -0
  68. package/lib/index-CaV3F1Nm.js.map +1 -0
  69. package/lib/index-CcQUdePc.mjs +12224 -0
  70. package/lib/index-CcQUdePc.mjs.map +1 -0
  71. package/lib/index-D7YwhNAG.mjs +3946 -0
  72. package/lib/index-D7YwhNAG.mjs.map +1 -0
  73. package/lib/index-Zx0KcpYx.js +2 -0
  74. package/lib/index-Zx0KcpYx.js.map +1 -0
  75. package/lib/index.d.ts +3 -0
  76. package/lib/index.js +2 -0
  77. package/lib/index.js.map +1 -0
  78. package/lib/index.mjs +20 -0
  79. package/lib/index.mjs.map +1 -0
  80. package/lib/leather-BoQG_CPn.mjs +5 -0
  81. package/lib/leather-BoQG_CPn.mjs.map +1 -0
  82. package/lib/leather-DJ8nWmM8.js +2 -0
  83. package/lib/leather-DJ8nWmM8.js.map +1 -0
  84. package/lib/magiceden-B36CEQa6.js +2 -0
  85. package/lib/magiceden-B36CEQa6.js.map +1 -0
  86. package/lib/magiceden-Cg7d3agI.mjs +5 -0
  87. package/lib/magiceden-Cg7d3agI.mjs.map +1 -0
  88. package/lib/misc-B5EWO_dn.mjs +10 -0
  89. package/lib/misc-B5EWO_dn.mjs.map +1 -0
  90. package/lib/misc-CigR0RqC.js +2 -0
  91. package/lib/misc-CigR0RqC.js.map +1 -0
  92. package/lib/okx-ChwzM0dK.js +2 -0
  93. package/lib/okx-ChwzM0dK.js.map +1 -0
  94. package/lib/okx-DWbHwazu.mjs +5 -0
  95. package/lib/okx-DWbHwazu.mjs.map +1 -0
  96. package/lib/react.d.ts +2 -0
  97. package/lib/react.js +2 -0
  98. package/lib/react.js.map +1 -0
  99. package/lib/react.mjs +128 -0
  100. package/lib/react.mjs.map +1 -0
  101. package/lib/transaction-CiLOYSE_.mjs +1063 -0
  102. package/lib/transaction-CiLOYSE_.mjs.map +1 -0
  103. package/lib/transaction-CzdnbXSo.js +2 -0
  104. package/lib/transaction-CzdnbXSo.js.map +1 -0
  105. package/lib/unisat-BvZW5h0U.js +2 -0
  106. package/lib/unisat-BvZW5h0U.js.map +1 -0
  107. package/lib/unisat-pLgab4nG.mjs +5 -0
  108. package/lib/unisat-pLgab4nG.mjs.map +1 -0
  109. package/lib/utils/StateChannel.d.ts +14 -0
  110. package/lib/utils/UnisatCompatibleWalletAdapterImpl.d.ts +99 -0
  111. package/lib/utils/XverseCompatibleWalletAdapterImpl.d.ts +80 -0
  112. package/lib/utils/XverseCompatibleWalletAdapterImpl_legacy.d.ts +44 -0
  113. package/lib/utils/bitcoinAddressHelpers.d.ts +14 -0
  114. package/lib/utils/bitcoinNetworkHelpers.d.ts +4 -0
  115. package/lib/utils/createAdapterAvailability.d.ts +15 -0
  116. package/lib/utils/error.d.ts +6 -0
  117. package/lib/utils/misc.d.ts +3 -0
  118. package/lib/xverse-IKOHyGi-.js +2 -0
  119. package/lib/xverse-IKOHyGi-.js.map +1 -0
  120. package/lib/xverse-iHLNanCB.mjs +5 -0
  121. package/lib/xverse-iHLNanCB.mjs.map +1 -0
  122. package/package.json +86 -0
  123. package/src/BitcoinConnectionProvider.stories.tsx +329 -0
  124. package/src/BitcoinConnectionProvider.tsx +234 -0
  125. package/src/BitcoinWalletAdapterConnector.ts +166 -0
  126. package/src/WalletAdapters.types.ts +154 -0
  127. package/src/_/bitget.png +0 -0
  128. package/src/_/leather.svg +4 -0
  129. package/src/_/magiceden.png +0 -0
  130. package/src/_/okx.png +0 -0
  131. package/src/_/unisat.svg +31 -0
  132. package/src/_/xverse.png +0 -0
  133. package/src/adapters/BitgetWalletAdapter.impl.ts +22 -0
  134. package/src/adapters/BitgetWalletAdapter.ts +44 -0
  135. package/src/adapters/LeatherWalletAdapter.impl.ts +324 -0
  136. package/src/adapters/LeatherWalletAdapter.ts +35 -0
  137. package/src/adapters/MagicEdenWalletAdapter.impl.ts +139 -0
  138. package/src/adapters/MagicEdenWalletAdapter.ts +51 -0
  139. package/src/adapters/MockAddressWalletAdapter.ts +199 -0
  140. package/src/adapters/OkxWalletAdapter.impl.ts +168 -0
  141. package/src/adapters/OkxWalletAdapter.ts +37 -0
  142. package/src/adapters/UnisatWalletAdapter.impl.ts +32 -0
  143. package/src/adapters/UnisatWalletAdapter.ts +50 -0
  144. package/src/adapters/XverseWalletAdapter.impl.ts +150 -0
  145. package/src/adapters/XverseWalletAdapter.ts +37 -0
  146. package/src/adapters/index.ts +7 -0
  147. package/src/env.d.ts +9 -0
  148. package/src/index.ts +3 -0
  149. package/src/react.ts +9 -0
  150. package/src/utils/StateChannel.ts +39 -0
  151. package/src/utils/UnisatCompatibleWalletAdapterImpl.ts +342 -0
  152. package/src/utils/XverseCompatibleWalletAdapterImpl.ts +288 -0
  153. package/src/utils/XverseCompatibleWalletAdapterImpl_legacy.ts +278 -0
  154. package/src/utils/bitcoinAddressHelpers.ts +132 -0
  155. package/src/utils/bitcoinNetworkHelpers.ts +17 -0
  156. package/src/utils/createAdapterAvailability.ts +92 -0
  157. package/src/utils/error.ts +13 -0
  158. package/src/utils/misc.ts +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CaV3F1Nm.js","sources":["../node_modules/.pnpm/valibot@1.1.0_typescript@5.9.3/node_modules/valibot/dist/index.js","../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js","../node_modules/.pnpm/jsontokens@4.0.1/node_modules/jsontokens/lib/base64Url.js","../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/crypto.js","../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/utils.js","../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/hmac.js","../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/_md.js","../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/_u64.js","../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/sha2.js","../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/sha256.js","../__vite-browser-external","../node_modules/.pnpm/@noble+secp256k1@1.7.2/node_modules/@noble/secp256k1/lib/index.js","../node_modules/.pnpm/jsontokens@4.0.1/node_modules/jsontokens/lib/ecdsaSigFormatter.js","../node_modules/.pnpm/jsontokens@4.0.1/node_modules/jsontokens/lib/errors.js","../node_modules/.pnpm/jsontokens@4.0.1/node_modules/jsontokens/lib/cryptoClients/secp256k1.js","../node_modules/.pnpm/jsontokens@4.0.1/node_modules/jsontokens/lib/cryptoClients/index.js","../node_modules/.pnpm/jsontokens@4.0.1/node_modules/jsontokens/lib/cryptoClients/sha256.js","../node_modules/.pnpm/jsontokens@4.0.1/node_modules/jsontokens/lib/signer.js","../node_modules/.pnpm/jsontokens@4.0.1/node_modules/jsontokens/lib/verifier.js","../node_modules/.pnpm/jsontokens@4.0.1/node_modules/jsontokens/lib/decode.js","../node_modules/.pnpm/jsontokens@4.0.1/node_modules/jsontokens/lib/index.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/bind.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/utils.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/core/AxiosError.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/null.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/toFormData.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/buildURL.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/core/InterceptorManager.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/defaults/transitional.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/platform/browser/index.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/platform/common/utils.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/platform/index.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/defaults/index.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/core/transformData.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/cancel/isCancel.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/cancel/CanceledError.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/core/settle.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/speedometer.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/throttle.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/cookies.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/combineURLs.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/core/buildFullPath.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/core/mergeConfig.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/adapters/xhr.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/composeSignals.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/trackStream.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/adapters/fetch.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/adapters/adapters.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/core/dispatchRequest.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/env/data.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/validator.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/core/Axios.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/cancel/CancelToken.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/spread.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/lib/axios.js","../node_modules/.pnpm/axios@1.12.0/node_modules/axios/index.js","../node_modules/.pnpm/base58-js@3.0.3/node_modules/base58-js/base58_chars.js","../node_modules/.pnpm/base58-js@3.0.3/node_modules/base58-js/base58_to_binary.js","../node_modules/.pnpm/bech32@2.0.0/node_modules/bech32/dist/index.js","../node_modules/.pnpm/sha256-uint8array@0.10.7/node_modules/sha256-uint8array/dist/sha256-uint8array.mjs","../node_modules/.pnpm/bitcoin-address-validation@3.0.0/node_modules/bitcoin-address-validation/dist/index.js","../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js","../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js","../node_modules/.pnpm/@sats-connect+core@0.10.0_valibot@1.1.0_typescript@5.9.3_/node_modules/@sats-connect/core/dist/index.mjs","../node_modules/.pnpm/bowser@2.13.1/node_modules/bowser/src/constants.js","../node_modules/.pnpm/bowser@2.13.1/node_modules/bowser/src/utils.js","../node_modules/.pnpm/bowser@2.13.1/node_modules/bowser/src/parser-browsers.js","../node_modules/.pnpm/bowser@2.13.1/node_modules/bowser/src/parser-os.js","../node_modules/.pnpm/bowser@2.13.1/node_modules/bowser/src/parser-platforms.js","../node_modules/.pnpm/bowser@2.13.1/node_modules/bowser/src/parser-engines.js","../node_modules/.pnpm/bowser@2.13.1/node_modules/bowser/src/parser.js","../node_modules/.pnpm/bowser@2.13.1/node_modules/bowser/src/bowser.js","../node_modules/.pnpm/@sats-connect+make-default-provider-config@0.0.10_@sats-connect+core@0.10.0_valibot@1.1_c357ecc62544ea8b14eb27d7e141295c/node_modules/@sats-connect/make-default-provider-config/dist/isXverseInAppBrowser.js","../node_modules/.pnpm/@sats-connect+make-default-provider-config@0.0.10_@sats-connect+core@0.10.0_valibot@1.1_c357ecc62544ea8b14eb27d7e141295c/node_modules/@sats-connect/make-default-provider-config/dist/index.js","../node_modules/.pnpm/@sats-connect+ui@0.0.7/node_modules/@sats-connect/ui/dist/index.js","../node_modules/.pnpm/sats-connect@4.2.1_typescript@5.9.3/node_modules/sats-connect/dist/index.mjs"],"sourcesContent":["// src/storages/globalConfig/globalConfig.ts\nvar store;\nfunction setGlobalConfig(config2) {\n store = { ...store, ...config2 };\n}\n// @__NO_SIDE_EFFECTS__\nfunction getGlobalConfig(config2) {\n return {\n lang: config2?.lang ?? store?.lang,\n message: config2?.message,\n abortEarly: config2?.abortEarly ?? store?.abortEarly,\n abortPipeEarly: config2?.abortPipeEarly ?? store?.abortPipeEarly\n };\n}\nfunction deleteGlobalConfig() {\n store = void 0;\n}\n\n// src/storages/globalMessage/globalMessage.ts\nvar store2;\nfunction setGlobalMessage(message2, lang) {\n if (!store2) store2 = /* @__PURE__ */ new Map();\n store2.set(lang, message2);\n}\n// @__NO_SIDE_EFFECTS__\nfunction getGlobalMessage(lang) {\n return store2?.get(lang);\n}\nfunction deleteGlobalMessage(lang) {\n store2?.delete(lang);\n}\n\n// src/storages/schemaMessage/schemaMessage.ts\nvar store3;\nfunction setSchemaMessage(message2, lang) {\n if (!store3) store3 = /* @__PURE__ */ new Map();\n store3.set(lang, message2);\n}\n// @__NO_SIDE_EFFECTS__\nfunction getSchemaMessage(lang) {\n return store3?.get(lang);\n}\nfunction deleteSchemaMessage(lang) {\n store3?.delete(lang);\n}\n\n// src/storages/specificMessage/specificMessage.ts\nvar store4;\nfunction setSpecificMessage(reference, message2, lang) {\n if (!store4) store4 = /* @__PURE__ */ new Map();\n if (!store4.get(reference)) store4.set(reference, /* @__PURE__ */ new Map());\n store4.get(reference).set(lang, message2);\n}\n// @__NO_SIDE_EFFECTS__\nfunction getSpecificMessage(reference, lang) {\n return store4?.get(reference)?.get(lang);\n}\nfunction deleteSpecificMessage(reference, lang) {\n store4?.get(reference)?.delete(lang);\n}\n\n// src/utils/_stringify/_stringify.ts\n// @__NO_SIDE_EFFECTS__\nfunction _stringify(input) {\n const type = typeof input;\n if (type === \"string\") {\n return `\"${input}\"`;\n }\n if (type === \"number\" || type === \"bigint\" || type === \"boolean\") {\n return `${input}`;\n }\n if (type === \"object\" || type === \"function\") {\n return (input && Object.getPrototypeOf(input)?.constructor?.name) ?? \"null\";\n }\n return type;\n}\n\n// src/utils/_addIssue/_addIssue.ts\nfunction _addIssue(context, label, dataset, config2, other) {\n const input = other && \"input\" in other ? other.input : dataset.value;\n const expected = other?.expected ?? context.expects ?? null;\n const received = other?.received ?? _stringify(input);\n const issue = {\n kind: context.kind,\n type: context.type,\n input,\n expected,\n received,\n message: `Invalid ${label}: ${expected ? `Expected ${expected} but r` : \"R\"}eceived ${received}`,\n requirement: context.requirement,\n path: other?.path,\n issues: other?.issues,\n lang: config2.lang,\n abortEarly: config2.abortEarly,\n abortPipeEarly: config2.abortPipeEarly\n };\n const isSchema = context.kind === \"schema\";\n const message2 = other?.message ?? context.message ?? getSpecificMessage(context.reference, issue.lang) ?? (isSchema ? getSchemaMessage(issue.lang) : null) ?? config2.message ?? getGlobalMessage(issue.lang);\n if (message2 !== void 0) {\n issue.message = typeof message2 === \"function\" ? (\n // @ts-expect-error\n message2(issue)\n ) : message2;\n }\n if (isSchema) {\n dataset.typed = false;\n }\n if (dataset.issues) {\n dataset.issues.push(issue);\n } else {\n dataset.issues = [issue];\n }\n}\n\n// src/utils/_getByteCount/_getByteCount.ts\nvar textEncoder;\n// @__NO_SIDE_EFFECTS__\nfunction _getByteCount(input) {\n if (!textEncoder) {\n textEncoder = new TextEncoder();\n }\n return textEncoder.encode(input).length;\n}\n\n// src/utils/_getGraphemeCount/_getGraphemeCount.ts\nvar segmenter;\n// @__NO_SIDE_EFFECTS__\nfunction _getGraphemeCount(input) {\n if (!segmenter) {\n segmenter = new Intl.Segmenter();\n }\n const segments = segmenter.segment(input);\n let count = 0;\n for (const _ of segments) {\n count++;\n }\n return count;\n}\n\n// src/utils/_getLastMetadata/_getLastMetadata.ts\n// @__NO_SIDE_EFFECTS__\nfunction _getLastMetadata(schema, type) {\n if (\"pipe\" in schema) {\n const nestedSchemas = [];\n for (let index = schema.pipe.length - 1; index >= 0; index--) {\n const item = schema.pipe[index];\n if (item.kind === \"schema\" && \"pipe\" in item) {\n nestedSchemas.push(item);\n } else if (item.kind === \"metadata\" && item.type === type) {\n return item[type];\n }\n }\n for (const nestedSchema of nestedSchemas) {\n const result = /* @__PURE__ */ _getLastMetadata(nestedSchema, type);\n if (result !== void 0) {\n return result;\n }\n }\n }\n}\n\n// src/utils/_getStandardProps/_getStandardProps.ts\n// @__NO_SIDE_EFFECTS__\nfunction _getStandardProps(context) {\n return {\n version: 1,\n vendor: \"valibot\",\n validate(value2) {\n return context[\"~run\"]({ value: value2 }, getGlobalConfig());\n }\n };\n}\n\n// src/utils/_getWordCount/_getWordCount.ts\nvar store5;\n// @__NO_SIDE_EFFECTS__\nfunction _getWordCount(locales, input) {\n if (!store5) {\n store5 = /* @__PURE__ */ new Map();\n }\n if (!store5.get(locales)) {\n store5.set(locales, new Intl.Segmenter(locales, { granularity: \"word\" }));\n }\n const segments = store5.get(locales).segment(input);\n let count = 0;\n for (const segment of segments) {\n if (segment.isWordLike) {\n count++;\n }\n }\n return count;\n}\n\n// src/utils/_isLuhnAlgo/_isLuhnAlgo.ts\nvar NON_DIGIT_REGEX = /\\D/gu;\n// @__NO_SIDE_EFFECTS__\nfunction _isLuhnAlgo(input) {\n const number2 = input.replace(NON_DIGIT_REGEX, \"\");\n let length2 = number2.length;\n let bit = 1;\n let sum = 0;\n while (length2) {\n const value2 = +number2[--length2];\n bit ^= 1;\n sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value2] : value2;\n }\n return sum % 10 === 0;\n}\n\n// src/utils/_isValidObjectKey/_isValidObjectKey.ts\n// @__NO_SIDE_EFFECTS__\nfunction _isValidObjectKey(object2, key) {\n return Object.hasOwn(object2, key) && key !== \"__proto__\" && key !== \"prototype\" && key !== \"constructor\";\n}\n\n// src/utils/_joinExpects/_joinExpects.ts\n// @__NO_SIDE_EFFECTS__\nfunction _joinExpects(values2, separator) {\n const list = [...new Set(values2)];\n if (list.length > 1) {\n return `(${list.join(` ${separator} `)})`;\n }\n return list[0] ?? \"never\";\n}\n\n// src/utils/entriesFromList/entriesFromList.ts\n// @__NO_SIDE_EFFECTS__\nfunction entriesFromList(list, schema) {\n const entries2 = {};\n for (const key of list) {\n entries2[key] = schema;\n }\n return entries2;\n}\n\n// src/utils/entriesFromObjects/entriesFromObjects.ts\n// @__NO_SIDE_EFFECTS__\nfunction entriesFromObjects(schemas) {\n const entries2 = {};\n for (const schema of schemas) {\n Object.assign(entries2, schema.entries);\n }\n return entries2;\n}\n\n// src/utils/getDotPath/getDotPath.ts\n// @__NO_SIDE_EFFECTS__\nfunction getDotPath(issue) {\n if (issue.path) {\n let key = \"\";\n for (const item of issue.path) {\n if (typeof item.key === \"string\" || typeof item.key === \"number\") {\n if (key) {\n key += `.${item.key}`;\n } else {\n key += item.key;\n }\n } else {\n return null;\n }\n }\n return key;\n }\n return null;\n}\n\n// src/utils/isOfKind/isOfKind.ts\n// @__NO_SIDE_EFFECTS__\nfunction isOfKind(kind, object2) {\n return object2.kind === kind;\n}\n\n// src/utils/isOfType/isOfType.ts\n// @__NO_SIDE_EFFECTS__\nfunction isOfType(type, object2) {\n return object2.type === type;\n}\n\n// src/utils/isValiError/isValiError.ts\n// @__NO_SIDE_EFFECTS__\nfunction isValiError(error) {\n return error instanceof ValiError;\n}\n\n// src/utils/ValiError/ValiError.ts\nvar ValiError = class extends Error {\n /**\n * Creates a Valibot error with useful information.\n *\n * @param issues The error issues.\n */\n constructor(issues) {\n super(issues[0].message);\n this.name = \"ValiError\";\n this.issues = issues;\n }\n};\n\n// src/actions/args/args.ts\n// @__NO_SIDE_EFFECTS__\nfunction args(schema) {\n return {\n kind: \"transformation\",\n type: \"args\",\n reference: args,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = (...args_) => {\n const argsDataset = this.schema[\"~run\"]({ value: args_ }, config2);\n if (argsDataset.issues) {\n throw new ValiError(argsDataset.issues);\n }\n return func(...argsDataset.value);\n };\n return dataset;\n }\n };\n}\n\n// src/actions/args/argsAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction argsAsync(schema) {\n return {\n kind: \"transformation\",\n type: \"args\",\n reference: argsAsync,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = async (...args2) => {\n const argsDataset = await schema[\"~run\"]({ value: args2 }, config2);\n if (argsDataset.issues) {\n throw new ValiError(argsDataset.issues);\n }\n return func(...argsDataset.value);\n };\n return dataset;\n }\n };\n}\n\n// src/actions/await/awaitAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction awaitAsync() {\n return {\n kind: \"transformation\",\n type: \"await\",\n reference: awaitAsync,\n async: true,\n async \"~run\"(dataset) {\n dataset.value = await dataset.value;\n return dataset;\n }\n };\n}\n\n// src/regex.ts\nvar BASE64_REGEX = /^(?:[\\da-z+/]{4})*(?:[\\da-z+/]{2}==|[\\da-z+/]{3}=)?$/iu;\nvar BIC_REGEX = /^[A-Z]{6}(?!00)[\\dA-Z]{2}(?:[\\dA-Z]{3})?$/u;\nvar CUID2_REGEX = /^[a-z][\\da-z]*$/u;\nvar DECIMAL_REGEX = /^[+-]?(?:\\d*\\.)?\\d+$/u;\nvar DIGITS_REGEX = /^\\d+$/u;\nvar EMAIL_REGEX = /^[\\w+-]+(?:\\.[\\w+-]+)*@[\\da-z]+(?:[.-][\\da-z]+)*\\.[a-z]{2,}$/iu;\nvar EMOJI_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex, regexp/no-dupe-disjunctions -- false positives\n /^(?:[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}))*)+$/u\n);\nvar HEXADECIMAL_REGEX = /^(?:0[hx])?[\\da-fA-F]+$/u;\nvar HEX_COLOR_REGEX = /^#(?:[\\da-fA-F]{3,4}|[\\da-fA-F]{6}|[\\da-fA-F]{8})$/u;\nvar IMEI_REGEX = /^\\d{15}$|^\\d{2}-\\d{6}-\\d{6}-\\d$/u;\nvar IPV4_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive\n /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$/u\n);\nvar IPV6_REGEX = /^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar IP_REGEX = /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$|^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar ISO_DATE_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])$/u;\nvar ISO_DATE_TIME_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])[T ](?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_REGEX = /^(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_SECOND_REGEX = /^(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}$/u;\nvar ISO_TIMESTAMP_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])[T ](?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}(?:\\.\\d{1,9})?(?:Z|[+-](?:0\\d|1\\d|2[0-3])(?::?[0-5]\\d)?)$/u;\nvar ISO_WEEK_REGEX = /^\\d{4}-W(?:0[1-9]|[1-4]\\d|5[0-3])$/u;\nvar MAC48_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$/iu;\nvar MAC64_REGEX = /^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar MAC_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$|^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar NANO_ID_REGEX = /^[\\w-]+$/u;\nvar OCTAL_REGEX = /^(?:0o)?[0-7]+$/u;\nvar RFC_EMAIL_REGEX = (\n // eslint-disable-next-line regexp/prefer-w, no-useless-escape, regexp/no-useless-escape, regexp/require-unicode-regexp\n /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/\n);\nvar SLUG_REGEX = /^[\\da-z]+(?:[-_][\\da-z]+)*$/u;\nvar ULID_REGEX = /^[\\da-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$/u;\nvar UUID_REGEX = /^[\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12}$/iu;\n\n// src/actions/base64/base64.ts\n// @__NO_SIDE_EFFECTS__\nfunction base64(message2) {\n return {\n kind: \"validation\",\n type: \"base64\",\n reference: base64,\n async: false,\n expects: null,\n requirement: BASE64_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Base64\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/bic/bic.ts\n// @__NO_SIDE_EFFECTS__\nfunction bic(message2) {\n return {\n kind: \"validation\",\n type: \"bic\",\n reference: bic,\n async: false,\n expects: null,\n requirement: BIC_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"BIC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/brand/brand.ts\n// @__NO_SIDE_EFFECTS__\nfunction brand(name) {\n return {\n kind: \"transformation\",\n type: \"brand\",\n reference: brand,\n async: false,\n name,\n \"~run\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/bytes/bytes.ts\n// @__NO_SIDE_EFFECTS__\nfunction bytes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"bytes\",\n reference: bytes,\n async: false,\n expects: `${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 !== this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/check/check.ts\n// @__NO_SIDE_EFFECTS__\nfunction check(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"check\",\n reference: check,\n async: false,\n expects: null,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/check/checkAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction checkAsync(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"check\",\n reference: checkAsync,\n async: true,\n expects: null,\n requirement,\n message: message2,\n async \"~run\"(dataset, config2) {\n if (dataset.typed && !await this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/checkItems/checkItems.ts\n// @__NO_SIDE_EFFECTS__\nfunction checkItems(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"check_items\",\n reference: checkItems,\n async: false,\n expects: null,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n for (let index = 0; index < dataset.value.length; index++) {\n const item = dataset.value[index];\n if (!this.requirement(item, index, dataset.value)) {\n _addIssue(this, \"item\", dataset, config2, {\n input: item,\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input: dataset.value,\n key: index,\n value: item\n }\n ]\n });\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/checkItems/checkItemsAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction checkItemsAsync(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"check_items\",\n reference: checkItemsAsync,\n async: true,\n expects: null,\n requirement,\n message: message2,\n async \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const requirementResults = await Promise.all(\n dataset.value.map(this.requirement)\n );\n for (let index = 0; index < dataset.value.length; index++) {\n if (!requirementResults[index]) {\n const item = dataset.value[index];\n _addIssue(this, \"item\", dataset, config2, {\n input: item,\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input: dataset.value,\n key: index,\n value: item\n }\n ]\n });\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/creditCard/creditCard.ts\nvar CREDIT_CARD_REGEX = /^(?:\\d{14,19}|\\d{4}(?: \\d{3,6}){2,4}|\\d{4}(?:-\\d{3,6}){2,4})$/u;\nvar SANITIZE_REGEX = /[- ]/gu;\nvar PROVIDER_REGEX_LIST = [\n // American Express\n /^3[47]\\d{13}$/u,\n // Diners Club\n /^3(?:0[0-5]|[68]\\d)\\d{11,13}$/u,\n // Discover\n /^6(?:011|5\\d{2})\\d{12,15}$/u,\n // JCB\n /^(?:2131|1800|35\\d{3})\\d{11}$/u,\n // Mastercard\n // eslint-disable-next-line redos-detector/no-unsafe-regex\n /^5[1-5]\\d{2}|(?:222\\d|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}$/u,\n // UnionPay\n /^(?:6[27]\\d{14,17}|81\\d{14,17})$/u,\n // Visa\n /^4\\d{12}(?:\\d{3,6})?$/u\n];\n// @__NO_SIDE_EFFECTS__\nfunction creditCard(message2) {\n return {\n kind: \"validation\",\n type: \"credit_card\",\n reference: creditCard,\n async: false,\n expects: null,\n requirement(input) {\n let sanitized;\n return CREDIT_CARD_REGEX.test(input) && // Remove any hyphens and blanks\n (sanitized = input.replace(SANITIZE_REGEX, \"\")) && // Check if it matches a provider\n PROVIDER_REGEX_LIST.some((regex2) => regex2.test(sanitized)) && // Check if passes luhn algorithm\n _isLuhnAlgo(sanitized);\n },\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"credit card\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/cuid2/cuid2.ts\n// @__NO_SIDE_EFFECTS__\nfunction cuid2(message2) {\n return {\n kind: \"validation\",\n type: \"cuid2\",\n reference: cuid2,\n async: false,\n expects: null,\n requirement: CUID2_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Cuid2\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/decimal/decimal.ts\n// @__NO_SIDE_EFFECTS__\nfunction decimal(message2) {\n return {\n kind: \"validation\",\n type: \"decimal\",\n reference: decimal,\n async: false,\n expects: null,\n requirement: DECIMAL_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"decimal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/description/description.ts\n// @__NO_SIDE_EFFECTS__\nfunction description(description_) {\n return {\n kind: \"metadata\",\n type: \"description\",\n reference: description,\n description: description_\n };\n}\n\n// src/actions/digits/digits.ts\n// @__NO_SIDE_EFFECTS__\nfunction digits(message2) {\n return {\n kind: \"validation\",\n type: \"digits\",\n reference: digits,\n async: false,\n expects: null,\n requirement: DIGITS_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"digits\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/email/email.ts\n// @__NO_SIDE_EFFECTS__\nfunction email(message2) {\n return {\n kind: \"validation\",\n type: \"email\",\n reference: email,\n expects: null,\n async: false,\n requirement: EMAIL_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"email\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/emoji/emoji.ts\n// @__NO_SIDE_EFFECTS__\nfunction emoji(message2) {\n return {\n kind: \"validation\",\n type: \"emoji\",\n reference: emoji,\n async: false,\n expects: null,\n requirement: EMOJI_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"emoji\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/empty/empty.ts\n// @__NO_SIDE_EFFECTS__\nfunction empty(message2) {\n return {\n kind: \"validation\",\n type: \"empty\",\n reference: empty,\n async: false,\n expects: \"0\",\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length > 0) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/endsWith/endsWith.ts\n// @__NO_SIDE_EFFECTS__\nfunction endsWith(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"ends_with\",\n reference: endsWith,\n async: false,\n expects: `\"${requirement}\"`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.endsWith(this.requirement)) {\n _addIssue(this, \"end\", dataset, config2, {\n received: `\"${dataset.value.slice(-this.requirement.length)}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/entries/entries.ts\n// @__NO_SIDE_EFFECTS__\nfunction entries(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"entries\",\n reference: entries,\n async: false,\n expects: `${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (!dataset.typed) return dataset;\n const count = Object.keys(dataset.value).length;\n if (dataset.typed && count !== this.requirement) {\n _addIssue(this, \"entries\", dataset, config2, {\n received: `${count}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/everyItem/everyItem.ts\n// @__NO_SIDE_EFFECTS__\nfunction everyItem(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"every_item\",\n reference: everyItem,\n async: false,\n expects: null,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.every(this.requirement)) {\n _addIssue(this, \"item\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/excludes/excludes.ts\n// @__NO_SIDE_EFFECTS__\nfunction excludes(requirement, message2) {\n const received = _stringify(requirement);\n return {\n kind: \"validation\",\n type: \"excludes\",\n reference: excludes,\n async: false,\n expects: `!${received}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.includes(this.requirement)) {\n _addIssue(this, \"content\", dataset, config2, { received });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/filterItems/filterItems.ts\n// @__NO_SIDE_EFFECTS__\nfunction filterItems(operation) {\n return {\n kind: \"transformation\",\n type: \"filter_items\",\n reference: filterItems,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.filter(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/findItem/findItem.ts\n// @__NO_SIDE_EFFECTS__\nfunction findItem(operation) {\n return {\n kind: \"transformation\",\n type: \"find_item\",\n reference: findItem,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.find(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/finite/finite.ts\n// @__NO_SIDE_EFFECTS__\nfunction finite(message2) {\n return {\n kind: \"validation\",\n type: \"finite\",\n reference: finite,\n async: false,\n expects: null,\n requirement: Number.isFinite,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"finite\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/flavor/flavor.ts\n// @__NO_SIDE_EFFECTS__\nfunction flavor(name) {\n return {\n kind: \"transformation\",\n type: \"flavor\",\n reference: flavor,\n async: false,\n name,\n \"~run\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/graphemes/graphemes.ts\n// @__NO_SIDE_EFFECTS__\nfunction graphemes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"graphemes\",\n reference: graphemes,\n async: false,\n expects: `${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count !== this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/gtValue/gtValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction gtValue(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"gt_value\",\n reference: gtValue,\n async: false,\n expects: `>${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(dataset.value > this.requirement)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hash/hash.ts\nvar HASH_LENGTHS = {\n md4: 32,\n md5: 32,\n sha1: 40,\n sha256: 64,\n sha384: 96,\n sha512: 128,\n ripemd128: 32,\n ripemd160: 40,\n tiger128: 32,\n tiger160: 40,\n tiger192: 48,\n crc32: 8,\n crc32b: 8,\n adler32: 8\n};\n// @__NO_SIDE_EFFECTS__\nfunction hash(types, message2) {\n return {\n kind: \"validation\",\n type: \"hash\",\n reference: hash,\n expects: null,\n async: false,\n requirement: RegExp(\n types.map((type) => `^[a-f0-9]{${HASH_LENGTHS[type]}}$`).join(\"|\"),\n \"iu\"\n ),\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hash\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hexadecimal/hexadecimal.ts\n// @__NO_SIDE_EFFECTS__\nfunction hexadecimal(message2) {\n return {\n kind: \"validation\",\n type: \"hexadecimal\",\n reference: hexadecimal,\n async: false,\n expects: null,\n requirement: HEXADECIMAL_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hexadecimal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hexColor/hexColor.ts\n// @__NO_SIDE_EFFECTS__\nfunction hexColor(message2) {\n return {\n kind: \"validation\",\n type: \"hex_color\",\n reference: hexColor,\n async: false,\n expects: null,\n requirement: HEX_COLOR_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hex color\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/imei/imei.ts\n// @__NO_SIDE_EFFECTS__\nfunction imei(message2) {\n return {\n kind: \"validation\",\n type: \"imei\",\n reference: imei,\n async: false,\n expects: null,\n requirement(input) {\n return IMEI_REGEX.test(input) && _isLuhnAlgo(input);\n },\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"IMEI\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/includes/includes.ts\n// @__NO_SIDE_EFFECTS__\nfunction includes(requirement, message2) {\n const expects = _stringify(requirement);\n return {\n kind: \"validation\",\n type: \"includes\",\n reference: includes,\n async: false,\n expects,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.includes(this.requirement)) {\n _addIssue(this, \"content\", dataset, config2, {\n received: `!${expects}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/integer/integer.ts\n// @__NO_SIDE_EFFECTS__\nfunction integer(message2) {\n return {\n kind: \"validation\",\n type: \"integer\",\n reference: integer,\n async: false,\n expects: null,\n requirement: Number.isInteger,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"integer\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ip/ip.ts\n// @__NO_SIDE_EFFECTS__\nfunction ip(message2) {\n return {\n kind: \"validation\",\n type: \"ip\",\n reference: ip,\n async: false,\n expects: null,\n requirement: IP_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IP\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ipv4/ipv4.ts\n// @__NO_SIDE_EFFECTS__\nfunction ipv4(message2) {\n return {\n kind: \"validation\",\n type: \"ipv4\",\n reference: ipv4,\n async: false,\n expects: null,\n requirement: IPV4_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IPv4\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ipv6/ipv6.ts\n// @__NO_SIDE_EFFECTS__\nfunction ipv6(message2) {\n return {\n kind: \"validation\",\n type: \"ipv6\",\n reference: ipv6,\n async: false,\n expects: null,\n requirement: IPV6_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IPv6\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoDate/isoDate.ts\n// @__NO_SIDE_EFFECTS__\nfunction isoDate(message2) {\n return {\n kind: \"validation\",\n type: \"iso_date\",\n reference: isoDate,\n async: false,\n expects: null,\n requirement: ISO_DATE_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"date\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoDateTime/isoDateTime.ts\n// @__NO_SIDE_EFFECTS__\nfunction isoDateTime(message2) {\n return {\n kind: \"validation\",\n type: \"iso_date_time\",\n reference: isoDateTime,\n async: false,\n expects: null,\n requirement: ISO_DATE_TIME_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"date-time\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTime/isoTime.ts\n// @__NO_SIDE_EFFECTS__\nfunction isoTime(message2) {\n return {\n kind: \"validation\",\n type: \"iso_time\",\n reference: isoTime,\n async: false,\n expects: null,\n requirement: ISO_TIME_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"time\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTimeSecond/isoTimeSecond.ts\n// @__NO_SIDE_EFFECTS__\nfunction isoTimeSecond(message2) {\n return {\n kind: \"validation\",\n type: \"iso_time_second\",\n reference: isoTimeSecond,\n async: false,\n expects: null,\n requirement: ISO_TIME_SECOND_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"time-second\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTimestamp/isoTimestamp.ts\n// @__NO_SIDE_EFFECTS__\nfunction isoTimestamp(message2) {\n return {\n kind: \"validation\",\n type: \"iso_timestamp\",\n reference: isoTimestamp,\n async: false,\n expects: null,\n requirement: ISO_TIMESTAMP_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"timestamp\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoWeek/isoWeek.ts\n// @__NO_SIDE_EFFECTS__\nfunction isoWeek(message2) {\n return {\n kind: \"validation\",\n type: \"iso_week\",\n reference: isoWeek,\n async: false,\n expects: null,\n requirement: ISO_WEEK_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"week\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/length/length.ts\n// @__NO_SIDE_EFFECTS__\nfunction length(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"length\",\n reference: length,\n async: false,\n expects: `${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length !== this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ltValue/ltValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction ltValue(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"lt_value\",\n reference: ltValue,\n async: false,\n expects: `<${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(dataset.value < this.requirement)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac/mac.ts\n// @__NO_SIDE_EFFECTS__\nfunction mac(message2) {\n return {\n kind: \"validation\",\n type: \"mac\",\n reference: mac,\n async: false,\n expects: null,\n requirement: MAC_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac48/mac48.ts\n// @__NO_SIDE_EFFECTS__\nfunction mac48(message2) {\n return {\n kind: \"validation\",\n type: \"mac48\",\n reference: mac48,\n async: false,\n expects: null,\n requirement: MAC48_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"48-bit MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac64/mac64.ts\n// @__NO_SIDE_EFFECTS__\nfunction mac64(message2) {\n return {\n kind: \"validation\",\n type: \"mac64\",\n reference: mac64,\n async: false,\n expects: null,\n requirement: MAC64_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"64-bit MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mapItems/mapItems.ts\n// @__NO_SIDE_EFFECTS__\nfunction mapItems(operation) {\n return {\n kind: \"transformation\",\n type: \"map_items\",\n reference: mapItems,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.map(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/maxBytes/maxBytes.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxBytes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_bytes\",\n reference: maxBytes,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 > this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxEntries/maxEntries.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxEntries(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_entries\",\n reference: maxEntries,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (!dataset.typed) return dataset;\n const count = Object.keys(dataset.value).length;\n if (dataset.typed && count > this.requirement) {\n _addIssue(this, \"entries\", dataset, config2, {\n received: `${count}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxGraphemes/maxGraphemes.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxGraphemes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_graphemes\",\n reference: maxGraphemes,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count > this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxLength/maxLength.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxLength(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_length\",\n reference: maxLength,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length > this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxSize/maxSize.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxSize(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_size\",\n reference: maxSize,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size > this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxValue/maxValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxValue(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_value\",\n reference: maxValue,\n async: false,\n expects: `<=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(dataset.value <= this.requirement)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxWords/maxWords.ts\n// @__NO_SIDE_EFFECTS__\nfunction maxWords(locales, requirement, message2) {\n return {\n kind: \"validation\",\n type: \"max_words\",\n reference: maxWords,\n async: false,\n expects: `<=${requirement}`,\n locales,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count > this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/metadata/metadata.ts\n// @__NO_SIDE_EFFECTS__\nfunction metadata(metadata_) {\n return {\n kind: \"metadata\",\n type: \"metadata\",\n reference: metadata,\n metadata: metadata_\n };\n}\n\n// src/actions/mimeType/mimeType.ts\n// @__NO_SIDE_EFFECTS__\nfunction mimeType(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"mime_type\",\n reference: mimeType,\n async: false,\n expects: _joinExpects(\n requirement.map((option) => `\"${option}\"`),\n \"|\"\n ),\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.includes(dataset.value.type)) {\n _addIssue(this, \"MIME type\", dataset, config2, {\n received: `\"${dataset.value.type}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minBytes/minBytes.ts\n// @__NO_SIDE_EFFECTS__\nfunction minBytes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_bytes\",\n reference: minBytes,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 < this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minEntries/minEntries.ts\n// @__NO_SIDE_EFFECTS__\nfunction minEntries(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_entries\",\n reference: minEntries,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (!dataset.typed) return dataset;\n const count = Object.keys(dataset.value).length;\n if (dataset.typed && count < this.requirement) {\n _addIssue(this, \"entries\", dataset, config2, {\n received: `${count}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minGraphemes/minGraphemes.ts\n// @__NO_SIDE_EFFECTS__\nfunction minGraphemes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_graphemes\",\n reference: minGraphemes,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count < this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minLength/minLength.ts\n// @__NO_SIDE_EFFECTS__\nfunction minLength(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_length\",\n reference: minLength,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length < this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minSize/minSize.ts\n// @__NO_SIDE_EFFECTS__\nfunction minSize(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_size\",\n reference: minSize,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size < this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minValue/minValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction minValue(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_value\",\n reference: minValue,\n async: false,\n expects: `>=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(dataset.value >= this.requirement)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minWords/minWords.ts\n// @__NO_SIDE_EFFECTS__\nfunction minWords(locales, requirement, message2) {\n return {\n kind: \"validation\",\n type: \"min_words\",\n reference: minWords,\n async: false,\n expects: `>=${requirement}`,\n locales,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count < this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/multipleOf/multipleOf.ts\n// @__NO_SIDE_EFFECTS__\nfunction multipleOf(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"multiple_of\",\n reference: multipleOf,\n async: false,\n expects: `%${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value % this.requirement != 0) {\n _addIssue(this, \"multiple\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/nanoid/nanoid.ts\n// @__NO_SIDE_EFFECTS__\nfunction nanoid(message2) {\n return {\n kind: \"validation\",\n type: \"nanoid\",\n reference: nanoid,\n async: false,\n expects: null,\n requirement: NANO_ID_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Nano ID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/nonEmpty/nonEmpty.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonEmpty(message2) {\n return {\n kind: \"validation\",\n type: \"non_empty\",\n reference: nonEmpty,\n async: false,\n expects: \"!0\",\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length === 0) {\n _addIssue(this, \"length\", dataset, config2, {\n received: \"0\"\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/normalize/normalize.ts\n// @__NO_SIDE_EFFECTS__\nfunction normalize(form) {\n return {\n kind: \"transformation\",\n type: \"normalize\",\n reference: normalize,\n async: false,\n form,\n \"~run\"(dataset) {\n dataset.value = dataset.value.normalize(this.form);\n return dataset;\n }\n };\n}\n\n// src/actions/notBytes/notBytes.ts\n// @__NO_SIDE_EFFECTS__\nfunction notBytes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_bytes\",\n reference: notBytes,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 === this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notEntries/notEntries.ts\n// @__NO_SIDE_EFFECTS__\nfunction notEntries(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_entries\",\n reference: notEntries,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (!dataset.typed) return dataset;\n const count = Object.keys(dataset.value).length;\n if (dataset.typed && count === this.requirement) {\n _addIssue(this, \"entries\", dataset, config2, {\n received: `${count}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notGraphemes/notGraphemes.ts\n// @__NO_SIDE_EFFECTS__\nfunction notGraphemes(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_graphemes\",\n reference: notGraphemes,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count === this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notLength/notLength.ts\n// @__NO_SIDE_EFFECTS__\nfunction notLength(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_length\",\n reference: notLength,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length === this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notSize/notSize.ts\n// @__NO_SIDE_EFFECTS__\nfunction notSize(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_size\",\n reference: notSize,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size === this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notValue/notValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction notValue(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_value\",\n reference: notValue,\n async: false,\n expects: requirement instanceof Date ? `!${requirement.toJSON()}` : `!${_stringify(requirement)}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && this.requirement <= dataset.value && this.requirement >= dataset.value) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notValues/notValues.ts\n// @__NO_SIDE_EFFECTS__\nfunction notValues(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_values\",\n reference: notValues,\n async: false,\n expects: `!${_joinExpects(\n requirement.map(\n (value2) => value2 instanceof Date ? value2.toJSON() : _stringify(value2)\n ),\n \"|\"\n )}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && this.requirement.some(\n (value2) => value2 <= dataset.value && value2 >= dataset.value\n )) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notWords/notWords.ts\n// @__NO_SIDE_EFFECTS__\nfunction notWords(locales, requirement, message2) {\n return {\n kind: \"validation\",\n type: \"not_words\",\n reference: notWords,\n async: false,\n expects: `!${requirement}`,\n locales,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count === this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/octal/octal.ts\n// @__NO_SIDE_EFFECTS__\nfunction octal(message2) {\n return {\n kind: \"validation\",\n type: \"octal\",\n reference: octal,\n async: false,\n expects: null,\n requirement: OCTAL_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"octal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/parseJson/parseJson.ts\n// @__NO_SIDE_EFFECTS__\nfunction parseJson(config2, message2) {\n return {\n kind: \"transformation\",\n type: \"parse_json\",\n reference: parseJson,\n config: config2,\n message: message2,\n async: false,\n \"~run\"(dataset, config3) {\n try {\n dataset.value = JSON.parse(dataset.value, this.config?.reviver);\n } catch (error) {\n if (error instanceof Error) {\n _addIssue(this, \"JSON\", dataset, config3, {\n received: `\"${error.message}\"`\n });\n dataset.typed = false;\n } else {\n throw error;\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/partialCheck/utils/_isPartiallyTyped/_isPartiallyTyped.ts\n// @__NO_SIDE_EFFECTS__\nfunction _isPartiallyTyped(dataset, paths) {\n if (dataset.issues) {\n for (const path of paths) {\n for (const issue of dataset.issues) {\n let typed = false;\n const bound = Math.min(path.length, issue.path?.length ?? 0);\n for (let index = 0; index < bound; index++) {\n if (\n // @ts-expect-error\n path[index] !== issue.path[index].key && // @ts-expect-error\n (path[index] !== \"$\" || issue.path[index].type !== \"array\")\n ) {\n typed = true;\n break;\n }\n }\n if (!typed) {\n return false;\n }\n }\n }\n }\n return true;\n}\n\n// src/actions/partialCheck/partialCheck.ts\n// @__NO_SIDE_EFFECTS__\nfunction partialCheck(paths, requirement, message2) {\n return {\n kind: \"validation\",\n type: \"partial_check\",\n reference: partialCheck,\n async: false,\n expects: null,\n paths,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if ((dataset.typed || _isPartiallyTyped(dataset, paths)) && // @ts-expect-error\n !this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/partialCheck/partialCheckAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction partialCheckAsync(paths, requirement, message2) {\n return {\n kind: \"validation\",\n type: \"partial_check\",\n reference: partialCheckAsync,\n async: true,\n expects: null,\n paths,\n requirement,\n message: message2,\n async \"~run\"(dataset, config2) {\n if ((dataset.typed || _isPartiallyTyped(dataset, paths)) && // @ts-expect-error\n !await this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/rawCheck/rawCheck.ts\n// @__NO_SIDE_EFFECTS__\nfunction rawCheck(action) {\n return {\n kind: \"validation\",\n type: \"raw_check\",\n reference: rawCheck,\n async: false,\n expects: null,\n \"~run\"(dataset, config2) {\n action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info)\n });\n return dataset;\n }\n };\n}\n\n// src/actions/rawCheck/rawCheckAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction rawCheckAsync(action) {\n return {\n kind: \"validation\",\n type: \"raw_check\",\n reference: rawCheckAsync,\n async: true,\n expects: null,\n async \"~run\"(dataset, config2) {\n await action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info)\n });\n return dataset;\n }\n };\n}\n\n// src/actions/rawTransform/rawTransform.ts\n// @__NO_SIDE_EFFECTS__\nfunction rawTransform(action) {\n return {\n kind: \"transformation\",\n type: \"raw_transform\",\n reference: rawTransform,\n async: false,\n \"~run\"(dataset, config2) {\n const output = action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info),\n NEVER: null\n });\n if (dataset.issues) {\n dataset.typed = false;\n } else {\n dataset.value = output;\n }\n return dataset;\n }\n };\n}\n\n// src/actions/rawTransform/rawTransformAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction rawTransformAsync(action) {\n return {\n kind: \"transformation\",\n type: \"raw_transform\",\n reference: rawTransformAsync,\n async: true,\n async \"~run\"(dataset, config2) {\n const output = await action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info),\n NEVER: null\n });\n if (dataset.issues) {\n dataset.typed = false;\n } else {\n dataset.value = output;\n }\n return dataset;\n }\n };\n}\n\n// src/actions/readonly/readonly.ts\n// @__NO_SIDE_EFFECTS__\nfunction readonly() {\n return {\n kind: \"transformation\",\n type: \"readonly\",\n reference: readonly,\n async: false,\n \"~run\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/reduceItems/reduceItems.ts\n// @__NO_SIDE_EFFECTS__\nfunction reduceItems(operation, initial) {\n return {\n kind: \"transformation\",\n type: \"reduce_items\",\n reference: reduceItems,\n async: false,\n operation,\n initial,\n \"~run\"(dataset) {\n dataset.value = dataset.value.reduce(this.operation, this.initial);\n return dataset;\n }\n };\n}\n\n// src/actions/regex/regex.ts\n// @__NO_SIDE_EFFECTS__\nfunction regex(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"regex\",\n reference: regex,\n async: false,\n expects: `${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"format\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/returns/returns.ts\n// @__NO_SIDE_EFFECTS__\nfunction returns(schema) {\n return {\n kind: \"transformation\",\n type: \"returns\",\n reference: returns,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = (...args_) => {\n const returnsDataset = this.schema[\"~run\"](\n { value: func(...args_) },\n config2\n );\n if (returnsDataset.issues) {\n throw new ValiError(returnsDataset.issues);\n }\n return returnsDataset.value;\n };\n return dataset;\n }\n };\n}\n\n// src/actions/returns/returnsAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction returnsAsync(schema) {\n return {\n kind: \"transformation\",\n type: \"returns\",\n reference: returnsAsync,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = async (...args_) => {\n const returnsDataset = await this.schema[\"~run\"](\n { value: await func(...args_) },\n config2\n );\n if (returnsDataset.issues) {\n throw new ValiError(returnsDataset.issues);\n }\n return returnsDataset.value;\n };\n return dataset;\n }\n };\n}\n\n// src/actions/rfcEmail/rfcEmail.ts\n// @__NO_SIDE_EFFECTS__\nfunction rfcEmail(message2) {\n return {\n kind: \"validation\",\n type: \"rfc_email\",\n reference: rfcEmail,\n expects: null,\n async: false,\n requirement: RFC_EMAIL_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"email\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/safeInteger/safeInteger.ts\n// @__NO_SIDE_EFFECTS__\nfunction safeInteger(message2) {\n return {\n kind: \"validation\",\n type: \"safe_integer\",\n reference: safeInteger,\n async: false,\n expects: null,\n requirement: Number.isSafeInteger,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"safe integer\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/size/size.ts\n// @__NO_SIDE_EFFECTS__\nfunction size(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"size\",\n reference: size,\n async: false,\n expects: `${requirement}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size !== this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/slug/slug.ts\n// @__NO_SIDE_EFFECTS__\nfunction slug(message2) {\n return {\n kind: \"validation\",\n type: \"slug\",\n reference: slug,\n async: false,\n expects: null,\n requirement: SLUG_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"slug\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/someItem/someItem.ts\n// @__NO_SIDE_EFFECTS__\nfunction someItem(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"some_item\",\n reference: someItem,\n async: false,\n expects: null,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.some(this.requirement)) {\n _addIssue(this, \"item\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/sortItems/sortItems.ts\n// @__NO_SIDE_EFFECTS__\nfunction sortItems(operation) {\n return {\n kind: \"transformation\",\n type: \"sort_items\",\n reference: sortItems,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.sort(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/startsWith/startsWith.ts\n// @__NO_SIDE_EFFECTS__\nfunction startsWith(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"starts_with\",\n reference: startsWith,\n async: false,\n expects: `\"${requirement}\"`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.startsWith(this.requirement)) {\n _addIssue(this, \"start\", dataset, config2, {\n received: `\"${dataset.value.slice(0, this.requirement.length)}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/stringifyJson/stringifyJson.ts\n// @__NO_SIDE_EFFECTS__\nfunction stringifyJson(config2, message2) {\n return {\n kind: \"transformation\",\n type: \"stringify_json\",\n reference: stringifyJson,\n message: message2,\n config: config2,\n async: false,\n \"~run\"(dataset, config3) {\n try {\n const output = JSON.stringify(\n dataset.value,\n // @ts-expect-error\n this.config?.replacer,\n this.config?.space\n );\n if (output === void 0) {\n _addIssue(this, \"JSON\", dataset, config3);\n dataset.typed = false;\n }\n dataset.value = output;\n } catch (error) {\n if (error instanceof Error) {\n _addIssue(this, \"JSON\", dataset, config3, {\n received: `\"${error.message}\"`\n });\n dataset.typed = false;\n } else {\n throw error;\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/title/title.ts\n// @__NO_SIDE_EFFECTS__\nfunction title(title_) {\n return {\n kind: \"metadata\",\n type: \"title\",\n reference: title,\n title: title_\n };\n}\n\n// src/actions/toLowerCase/toLowerCase.ts\n// @__NO_SIDE_EFFECTS__\nfunction toLowerCase() {\n return {\n kind: \"transformation\",\n type: \"to_lower_case\",\n reference: toLowerCase,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.toLowerCase();\n return dataset;\n }\n };\n}\n\n// src/actions/toMaxValue/toMaxValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction toMaxValue(requirement) {\n return {\n kind: \"transformation\",\n type: \"to_max_value\",\n reference: toMaxValue,\n async: false,\n requirement,\n \"~run\"(dataset) {\n dataset.value = dataset.value > this.requirement ? this.requirement : dataset.value;\n return dataset;\n }\n };\n}\n\n// src/actions/toMinValue/toMinValue.ts\n// @__NO_SIDE_EFFECTS__\nfunction toMinValue(requirement) {\n return {\n kind: \"transformation\",\n type: \"to_min_value\",\n reference: toMinValue,\n async: false,\n requirement,\n \"~run\"(dataset) {\n dataset.value = dataset.value < this.requirement ? this.requirement : dataset.value;\n return dataset;\n }\n };\n}\n\n// src/actions/toUpperCase/toUpperCase.ts\n// @__NO_SIDE_EFFECTS__\nfunction toUpperCase() {\n return {\n kind: \"transformation\",\n type: \"to_upper_case\",\n reference: toUpperCase,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.toUpperCase();\n return dataset;\n }\n };\n}\n\n// src/actions/transform/transform.ts\n// @__NO_SIDE_EFFECTS__\nfunction transform(operation) {\n return {\n kind: \"transformation\",\n type: \"transform\",\n reference: transform,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = this.operation(dataset.value);\n return dataset;\n }\n };\n}\n\n// src/actions/transform/transformAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction transformAsync(operation) {\n return {\n kind: \"transformation\",\n type: \"transform\",\n reference: transformAsync,\n async: true,\n operation,\n async \"~run\"(dataset) {\n dataset.value = await this.operation(dataset.value);\n return dataset;\n }\n };\n}\n\n// src/actions/trim/trim.ts\n// @__NO_SIDE_EFFECTS__\nfunction trim() {\n return {\n kind: \"transformation\",\n type: \"trim\",\n reference: trim,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.trim();\n return dataset;\n }\n };\n}\n\n// src/actions/trimEnd/trimEnd.ts\n// @__NO_SIDE_EFFECTS__\nfunction trimEnd() {\n return {\n kind: \"transformation\",\n type: \"trim_end\",\n reference: trimEnd,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.trimEnd();\n return dataset;\n }\n };\n}\n\n// src/actions/trimStart/trimStart.ts\n// @__NO_SIDE_EFFECTS__\nfunction trimStart() {\n return {\n kind: \"transformation\",\n type: \"trim_start\",\n reference: trimStart,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.trimStart();\n return dataset;\n }\n };\n}\n\n// src/actions/ulid/ulid.ts\n// @__NO_SIDE_EFFECTS__\nfunction ulid(message2) {\n return {\n kind: \"validation\",\n type: \"ulid\",\n reference: ulid,\n async: false,\n expects: null,\n requirement: ULID_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"ULID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/url/url.ts\n// @__NO_SIDE_EFFECTS__\nfunction url(message2) {\n return {\n kind: \"validation\",\n type: \"url\",\n reference: url,\n async: false,\n expects: null,\n requirement(input) {\n try {\n new URL(input);\n return true;\n } catch {\n return false;\n }\n },\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"URL\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/uuid/uuid.ts\n// @__NO_SIDE_EFFECTS__\nfunction uuid(message2) {\n return {\n kind: \"validation\",\n type: \"uuid\",\n reference: uuid,\n async: false,\n expects: null,\n requirement: UUID_REGEX,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"UUID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/value/value.ts\n// @__NO_SIDE_EFFECTS__\nfunction value(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"value\",\n reference: value,\n async: false,\n expects: requirement instanceof Date ? requirement.toJSON() : _stringify(requirement),\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(this.requirement <= dataset.value && this.requirement >= dataset.value)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/values/values.ts\n// @__NO_SIDE_EFFECTS__\nfunction values(requirement, message2) {\n return {\n kind: \"validation\",\n type: \"values\",\n reference: values,\n async: false,\n expects: `${_joinExpects(\n requirement.map(\n (value2) => value2 instanceof Date ? value2.toJSON() : _stringify(value2)\n ),\n \"|\"\n )}`,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.some(\n (value2) => value2 <= dataset.value && value2 >= dataset.value\n )) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/words/words.ts\n// @__NO_SIDE_EFFECTS__\nfunction words(locales, requirement, message2) {\n return {\n kind: \"validation\",\n type: \"words\",\n reference: words,\n async: false,\n expects: `${requirement}`,\n locales,\n requirement,\n message: message2,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count !== this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/assert/assert.ts\nfunction assert(schema, input) {\n const issues = schema[\"~run\"]({ value: input }, { abortEarly: true }).issues;\n if (issues) {\n throw new ValiError(issues);\n }\n}\n\n// src/methods/config/config.ts\n// @__NO_SIDE_EFFECTS__\nfunction config(schema, config2) {\n return {\n ...schema,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config_) {\n return schema[\"~run\"](dataset, { ...config_, ...config2 });\n }\n };\n}\n\n// src/methods/getFallback/getFallback.ts\n// @__NO_SIDE_EFFECTS__\nfunction getFallback(schema, dataset, config2) {\n return typeof schema.fallback === \"function\" ? (\n // @ts-expect-error\n schema.fallback(dataset, config2)\n ) : (\n // @ts-expect-error\n schema.fallback\n );\n}\n\n// src/methods/fallback/fallback.ts\n// @__NO_SIDE_EFFECTS__\nfunction fallback(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const outputDataset = schema[\"~run\"](dataset, config2);\n return outputDataset.issues ? { typed: true, value: getFallback(this, outputDataset, config2) } : outputDataset;\n }\n };\n}\n\n// src/methods/fallback/fallbackAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction fallbackAsync(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n async: true,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const outputDataset = await schema[\"~run\"](dataset, config2);\n return outputDataset.issues ? {\n typed: true,\n value: await getFallback(this, outputDataset, config2)\n } : outputDataset;\n }\n };\n}\n\n// src/methods/flatten/flatten.ts\n// @__NO_SIDE_EFFECTS__\nfunction flatten(issues) {\n const flatErrors = {};\n for (const issue of issues) {\n if (issue.path) {\n const dotPath = getDotPath(issue);\n if (dotPath) {\n if (!flatErrors.nested) {\n flatErrors.nested = {};\n }\n if (flatErrors.nested[dotPath]) {\n flatErrors.nested[dotPath].push(issue.message);\n } else {\n flatErrors.nested[dotPath] = [issue.message];\n }\n } else {\n if (flatErrors.other) {\n flatErrors.other.push(issue.message);\n } else {\n flatErrors.other = [issue.message];\n }\n }\n } else {\n if (flatErrors.root) {\n flatErrors.root.push(issue.message);\n } else {\n flatErrors.root = [issue.message];\n }\n }\n }\n return flatErrors;\n}\n\n// src/methods/forward/forward.ts\n// @__NO_SIDE_EFFECTS__\nfunction forward(action, path) {\n return {\n ...action,\n \"~run\"(dataset, config2) {\n const prevIssues = dataset.issues && [...dataset.issues];\n dataset = action[\"~run\"](dataset, config2);\n if (dataset.issues) {\n for (const issue of dataset.issues) {\n if (!prevIssues?.includes(issue)) {\n let pathInput = dataset.value;\n for (const key of path) {\n const pathValue = pathInput[key];\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n if (issue.path) {\n issue.path.push(pathItem);\n } else {\n issue.path = [pathItem];\n }\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/forward/forwardAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction forwardAsync(action, path) {\n return {\n ...action,\n async: true,\n async \"~run\"(dataset, config2) {\n const prevIssues = dataset.issues && [...dataset.issues];\n dataset = await action[\"~run\"](dataset, config2);\n if (dataset.issues) {\n for (const issue of dataset.issues) {\n if (!prevIssues?.includes(issue)) {\n let pathInput = dataset.value;\n for (const key of path) {\n const pathValue = pathInput[key];\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n if (issue.path) {\n issue.path.push(pathItem);\n } else {\n issue.path = [pathItem];\n }\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/getDefault/getDefault.ts\n// @__NO_SIDE_EFFECTS__\nfunction getDefault(schema, dataset, config2) {\n return typeof schema.default === \"function\" ? (\n // @ts-expect-error\n schema.default(dataset, config2)\n ) : (\n // @ts-expect-error\n schema.default\n );\n}\n\n// src/methods/getDefaults/getDefaults.ts\n// @__NO_SIDE_EFFECTS__\nfunction getDefaults(schema) {\n if (\"entries\" in schema) {\n const object2 = {};\n for (const key in schema.entries) {\n object2[key] = /* @__PURE__ */ getDefaults(schema.entries[key]);\n }\n return object2;\n }\n if (\"items\" in schema) {\n return schema.items.map(getDefaults);\n }\n return getDefault(schema);\n}\n\n// src/methods/getDefaults/getDefaultsAsync.ts\n// @__NO_SIDE_EFFECTS__\nasync function getDefaultsAsync(schema) {\n if (\"entries\" in schema) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await /* @__PURE__ */ getDefaultsAsync(value2)\n ])\n )\n );\n }\n if (\"items\" in schema) {\n return Promise.all(schema.items.map(getDefaultsAsync));\n }\n return getDefault(schema);\n}\n\n// src/methods/getDescription/getDescription.ts\n// @__NO_SIDE_EFFECTS__\nfunction getDescription(schema) {\n return _getLastMetadata(schema, \"description\");\n}\n\n// src/methods/getFallbacks/getFallbacks.ts\n// @__NO_SIDE_EFFECTS__\nfunction getFallbacks(schema) {\n if (\"entries\" in schema) {\n const object2 = {};\n for (const key in schema.entries) {\n object2[key] = /* @__PURE__ */ getFallbacks(schema.entries[key]);\n }\n return object2;\n }\n if (\"items\" in schema) {\n return schema.items.map(getFallbacks);\n }\n return getFallback(schema);\n}\n\n// src/methods/getFallbacks/getFallbacksAsync.ts\n// @__NO_SIDE_EFFECTS__\nasync function getFallbacksAsync(schema) {\n if (\"entries\" in schema) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await /* @__PURE__ */ getFallbacksAsync(value2)\n ])\n )\n );\n }\n if (\"items\" in schema) {\n return Promise.all(schema.items.map(getFallbacksAsync));\n }\n return getFallback(schema);\n}\n\n// src/methods/getMetadata/getMetadata.ts\n// @__NO_SIDE_EFFECTS__\nfunction getMetadata(schema) {\n const result = {};\n function depthFirstMerge(schema2) {\n if (\"pipe\" in schema2) {\n for (const item of schema2.pipe) {\n if (item.kind === \"schema\" && \"pipe\" in item) {\n depthFirstMerge(item);\n } else if (item.kind === \"metadata\" && item.type === \"metadata\") {\n Object.assign(result, item.metadata);\n }\n }\n }\n }\n depthFirstMerge(schema);\n return result;\n}\n\n// src/methods/getTitle/getTitle.ts\n// @__NO_SIDE_EFFECTS__\nfunction getTitle(schema) {\n return _getLastMetadata(schema, \"title\");\n}\n\n// src/methods/is/is.ts\n// @__NO_SIDE_EFFECTS__\nfunction is(schema, input) {\n return !schema[\"~run\"]({ value: input }, { abortEarly: true }).issues;\n}\n\n// src/schemas/any/any.ts\n// @__NO_SIDE_EFFECTS__\nfunction any() {\n return {\n kind: \"schema\",\n type: \"any\",\n reference: any,\n expects: \"any\",\n async: false,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset) {\n dataset.typed = true;\n return dataset;\n }\n };\n}\n\n// src/schemas/array/array.ts\n// @__NO_SIDE_EFFECTS__\nfunction array(item, message2) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: array,\n expects: \"Array\",\n async: false,\n item,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < input.length; key++) {\n const value2 = input[key];\n const itemDataset = this.item[\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/array/arrayAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction arrayAsync(item, message2) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: arrayAsync,\n expects: \"Array\",\n async: true,\n item,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n input.map((value2) => this.item[\"~run\"]({ value: value2 }, config2))\n );\n for (let key = 0; key < itemDatasets.length; key++) {\n const itemDataset = itemDatasets[key];\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: input[key]\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/bigint/bigint.ts\n// @__NO_SIDE_EFFECTS__\nfunction bigint(message2) {\n return {\n kind: \"schema\",\n type: \"bigint\",\n reference: bigint,\n expects: \"bigint\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"bigint\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/blob/blob.ts\n// @__NO_SIDE_EFFECTS__\nfunction blob(message2) {\n return {\n kind: \"schema\",\n type: \"blob\",\n reference: blob,\n expects: \"Blob\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof Blob) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/boolean/boolean.ts\n// @__NO_SIDE_EFFECTS__\nfunction boolean(message2) {\n return {\n kind: \"schema\",\n type: \"boolean\",\n reference: boolean,\n expects: \"boolean\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"boolean\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/custom/custom.ts\n// @__NO_SIDE_EFFECTS__\nfunction custom(check2, message2) {\n return {\n kind: \"schema\",\n type: \"custom\",\n reference: custom,\n expects: \"unknown\",\n async: false,\n check: check2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.check(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/custom/customAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction customAsync(check2, message2) {\n return {\n kind: \"schema\",\n type: \"custom\",\n reference: customAsync,\n expects: \"unknown\",\n async: true,\n check: check2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (await this.check(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/date/date.ts\n// @__NO_SIDE_EFFECTS__\nfunction date(message2) {\n return {\n kind: \"schema\",\n type: \"date\",\n reference: date,\n expects: \"Date\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof Date) {\n if (!isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n received: '\"Invalid Date\"'\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/enum/enum.ts\n// @__NO_SIDE_EFFECTS__\nfunction enum_(enum__, message2) {\n const options = [];\n for (const key in enum__) {\n if (`${+key}` !== key || typeof enum__[key] !== \"string\" || !Object.is(enum__[enum__[key]], +key)) {\n options.push(enum__[key]);\n }\n }\n return {\n kind: \"schema\",\n type: \"enum\",\n reference: enum_,\n expects: _joinExpects(options.map(_stringify), \"|\"),\n async: false,\n enum: enum__,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.options.includes(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/exactOptional/exactOptional.ts\n// @__NO_SIDE_EFFECTS__\nfunction exactOptional(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"exact_optional\",\n reference: exactOptional,\n expects: wrapped.expects,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/exactOptional/exactOptionalAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction exactOptionalAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"exact_optional\",\n reference: exactOptionalAsync,\n expects: wrapped.expects,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/file/file.ts\n// @__NO_SIDE_EFFECTS__\nfunction file(message2) {\n return {\n kind: \"schema\",\n type: \"file\",\n reference: file,\n expects: \"File\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof File) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/function/function.ts\n// @__NO_SIDE_EFFECTS__\nfunction function_(message2) {\n return {\n kind: \"schema\",\n type: \"function\",\n reference: function_,\n expects: \"Function\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"function\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/instance/instance.ts\n// @__NO_SIDE_EFFECTS__\nfunction instance(class_, message2) {\n return {\n kind: \"schema\",\n type: \"instance\",\n reference: instance,\n expects: class_.name,\n async: false,\n class: class_,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof this.class) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/intersect/utils/_merge/_merge.ts\n// @__NO_SIDE_EFFECTS__\nfunction _merge(value1, value2) {\n if (typeof value1 === typeof value2) {\n if (value1 === value2 || value1 instanceof Date && value2 instanceof Date && +value1 === +value2) {\n return { value: value1 };\n }\n if (value1 && value2 && value1.constructor === Object && value2.constructor === Object) {\n for (const key in value2) {\n if (key in value1) {\n const dataset = /* @__PURE__ */ _merge(value1[key], value2[key]);\n if (dataset.issue) {\n return dataset;\n }\n value1[key] = dataset.value;\n } else {\n value1[key] = value2[key];\n }\n }\n return { value: value1 };\n }\n if (Array.isArray(value1) && Array.isArray(value2)) {\n if (value1.length === value2.length) {\n for (let index = 0; index < value1.length; index++) {\n const dataset = /* @__PURE__ */ _merge(value1[index], value2[index]);\n if (dataset.issue) {\n return dataset;\n }\n value1[index] = dataset.value;\n }\n return { value: value1 };\n }\n }\n }\n return { issue: true };\n}\n\n// src/schemas/intersect/intersect.ts\n// @__NO_SIDE_EFFECTS__\nfunction intersect(options, message2) {\n return {\n kind: \"schema\",\n type: \"intersect\",\n reference: intersect,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"&\"\n ),\n async: false,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.options.length) {\n const input = dataset.value;\n let outputs;\n dataset.typed = true;\n for (const schema of this.options) {\n const optionDataset = schema[\"~run\"]({ value: input }, config2);\n if (optionDataset.issues) {\n if (dataset.issues) {\n dataset.issues.push(...optionDataset.issues);\n } else {\n dataset.issues = optionDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!optionDataset.typed) {\n dataset.typed = false;\n }\n if (dataset.typed) {\n if (outputs) {\n outputs.push(optionDataset.value);\n } else {\n outputs = [optionDataset.value];\n }\n }\n }\n if (dataset.typed) {\n dataset.value = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const mergeDataset = _merge(dataset.value, outputs[index]);\n if (mergeDataset.issue) {\n _addIssue(this, \"type\", dataset, config2, {\n received: \"unknown\"\n });\n break;\n }\n dataset.value = mergeDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/intersect/intersectAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction intersectAsync(options, message2) {\n return {\n kind: \"schema\",\n type: \"intersect\",\n reference: intersectAsync,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"&\"\n ),\n async: true,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (this.options.length) {\n const input = dataset.value;\n let outputs;\n dataset.typed = true;\n const optionDatasets = await Promise.all(\n this.options.map((schema) => schema[\"~run\"]({ value: input }, config2))\n );\n for (const optionDataset of optionDatasets) {\n if (optionDataset.issues) {\n if (dataset.issues) {\n dataset.issues.push(...optionDataset.issues);\n } else {\n dataset.issues = optionDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!optionDataset.typed) {\n dataset.typed = false;\n }\n if (dataset.typed) {\n if (outputs) {\n outputs.push(optionDataset.value);\n } else {\n outputs = [optionDataset.value];\n }\n }\n }\n if (dataset.typed) {\n dataset.value = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const mergeDataset = _merge(dataset.value, outputs[index]);\n if (mergeDataset.issue) {\n _addIssue(this, \"type\", dataset, config2, {\n received: \"unknown\"\n });\n break;\n }\n dataset.value = mergeDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/lazy/lazy.ts\n// @__NO_SIDE_EFFECTS__\nfunction lazy(getter) {\n return {\n kind: \"schema\",\n type: \"lazy\",\n reference: lazy,\n expects: \"unknown\",\n async: false,\n getter,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n return this.getter(dataset.value)[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/lazy/lazyAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction lazyAsync(getter) {\n return {\n kind: \"schema\",\n type: \"lazy\",\n reference: lazyAsync,\n expects: \"unknown\",\n async: true,\n getter,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n return (await this.getter(dataset.value))[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/literal/literal.ts\n// @__NO_SIDE_EFFECTS__\nfunction literal(literal_, message2) {\n return {\n kind: \"schema\",\n type: \"literal\",\n reference: literal,\n expects: _stringify(literal_),\n async: false,\n literal: literal_,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === this.literal) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseObject/looseObject.ts\n// @__NO_SIDE_EFFECTS__\nfunction looseObject(entries2, message2) {\n return {\n kind: \"schema\",\n type: \"loose_object\",\n reference: looseObject,\n expects: \"Object\",\n async: false,\n entries: entries2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const valueSchema = this.entries[key];\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : getDefault(valueSchema);\n const valueDataset = valueSchema[\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n dataset.value[key] = input[key];\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseObject/looseObjectAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction looseObjectAsync(entries2, message2) {\n return {\n kind: \"schema\",\n type: \"loose_object\",\n reference: looseObjectAsync,\n expects: \"Object\",\n async: true,\n entries: entries2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, valueSchema]) => {\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : await getDefault(valueSchema);\n return [\n key,\n value2,\n valueSchema,\n await valueSchema[\"~run\"]({ value: value2 }, config2)\n ];\n }\n return [\n key,\n // @ts-expect-error\n input[key],\n valueSchema,\n null\n ];\n })\n );\n for (const [key, value2, valueSchema, valueDataset] of valueDatasets) {\n if (valueDataset) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = await getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n value: value2\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n dataset.value[key] = input[key];\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseTuple/looseTuple.ts\n// @__NO_SIDE_EFFECTS__\nfunction looseTuple(items, message2) {\n return {\n kind: \"schema\",\n type: \"loose_tuple\",\n reference: looseTuple,\n expects: \"Array\",\n async: false,\n items,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n dataset.value.push(input[key]);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseTuple/looseTupleAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction looseTupleAsync(items, message2) {\n return {\n kind: \"schema\",\n type: \"loose_tuple\",\n reference: looseTupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [key, value2, await item[\"~run\"]({ value: value2 }, config2)];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n dataset.value.push(input[key]);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/map/map.ts\n// @__NO_SIDE_EFFECTS__\nfunction map(key, value2, message2) {\n return {\n kind: \"schema\",\n type: \"map\",\n reference: map,\n expects: \"Map\",\n async: false,\n key,\n value: value2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Map) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Map();\n for (const [inputKey, inputValue] of input) {\n const keyDataset = this.key[\"~run\"]({ value: inputKey }, config2);\n if (keyDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n const valueDataset = this.value[\"~run\"](\n { value: inputValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.set(keyDataset.value, valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/map/mapAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction mapAsync(key, value2, message2) {\n return {\n kind: \"schema\",\n type: \"map\",\n reference: mapAsync,\n expects: \"Map\",\n async: true,\n key,\n value: value2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Map) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Map();\n const datasets = await Promise.all(\n [...input].map(\n ([inputKey, inputValue]) => Promise.all([\n inputKey,\n inputValue,\n this.key[\"~run\"]({ value: inputKey }, config2),\n this.value[\"~run\"]({ value: inputValue }, config2)\n ])\n )\n );\n for (const [\n inputKey,\n inputValue,\n keyDataset,\n valueDataset\n ] of datasets) {\n if (keyDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (valueDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.set(keyDataset.value, valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nan/nan.ts\n// @__NO_SIDE_EFFECTS__\nfunction nan(message2) {\n return {\n kind: \"schema\",\n type: \"nan\",\n reference: nan,\n expects: \"NaN\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (Number.isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/never/never.ts\n// @__NO_SIDE_EFFECTS__\nfunction never(message2) {\n return {\n kind: \"schema\",\n type: \"never\",\n reference: never,\n expects: \"never\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullable.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonNullable(wrapped, message2) {\n return {\n kind: \"schema\",\n type: \"non_nullable\",\n reference: nonNullable,\n expects: \"!null\",\n async: false,\n wrapped,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value !== null) {\n dataset = this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullableAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonNullableAsync(wrapped, message2) {\n return {\n kind: \"schema\",\n type: \"non_nullable\",\n reference: nonNullableAsync,\n expects: \"!null\",\n async: true,\n wrapped,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value !== null) {\n dataset = await this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullish.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonNullish(wrapped, message2) {\n return {\n kind: \"schema\",\n type: \"non_nullish\",\n reference: nonNullish,\n expects: \"(!null & !undefined)\",\n async: false,\n wrapped,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (!(dataset.value === null || dataset.value === void 0)) {\n dataset = this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullishAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonNullishAsync(wrapped, message2) {\n return {\n kind: \"schema\",\n type: \"non_nullish\",\n reference: nonNullishAsync,\n expects: \"(!null & !undefined)\",\n async: true,\n wrapped,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (!(dataset.value === null || dataset.value === void 0)) {\n dataset = await this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptional.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonOptional(wrapped, message2) {\n return {\n kind: \"schema\",\n type: \"non_optional\",\n reference: nonOptional,\n expects: \"!undefined\",\n async: false,\n wrapped,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value !== void 0) {\n dataset = this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptionalAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction nonOptionalAsync(wrapped, message2) {\n return {\n kind: \"schema\",\n type: \"non_optional\",\n reference: nonOptionalAsync,\n expects: \"!undefined\",\n async: true,\n wrapped,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value !== void 0) {\n dataset = await this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/null/null.ts\n// @__NO_SIDE_EFFECTS__\nfunction null_(message2) {\n return {\n kind: \"schema\",\n type: \"null\",\n reference: null_,\n expects: \"null\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === null) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nullable/nullable.ts\n// @__NO_SIDE_EFFECTS__\nfunction nullable(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullable\",\n reference: nullable,\n expects: `(${wrapped.expects} | null)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === null) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === null) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nullable/nullableAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction nullableAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullable\",\n reference: nullableAsync,\n expects: `(${wrapped.expects} | null)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === null) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === null) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nullish/nullish.ts\n// @__NO_SIDE_EFFECTS__\nfunction nullish(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullish\",\n reference: nullish,\n expects: `(${wrapped.expects} | null | undefined)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === null || dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nullish/nullishAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction nullishAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullish\",\n reference: nullishAsync,\n expects: `(${wrapped.expects} | null | undefined)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === null || dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/number/number.ts\n// @__NO_SIDE_EFFECTS__\nfunction number(message2) {\n return {\n kind: \"schema\",\n type: \"number\",\n reference: number,\n expects: \"number\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"number\" && !isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/object/object.ts\n// @__NO_SIDE_EFFECTS__\nfunction object(entries2, message2) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: object,\n expects: \"Object\",\n async: false,\n entries: entries2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const valueSchema = this.entries[key];\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : getDefault(valueSchema);\n const valueDataset = valueSchema[\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/object/objectAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction objectAsync(entries2, message2) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: objectAsync,\n expects: \"Object\",\n async: true,\n entries: entries2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, valueSchema]) => {\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : await getDefault(valueSchema);\n return [\n key,\n value2,\n valueSchema,\n await valueSchema[\"~run\"]({ value: value2 }, config2)\n ];\n }\n return [\n key,\n // @ts-expect-error\n input[key],\n valueSchema,\n null\n ];\n })\n );\n for (const [key, value2, valueSchema, valueDataset] of valueDatasets) {\n if (valueDataset) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = await getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n value: value2\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/objectWithRest/objectWithRest.ts\n// @__NO_SIDE_EFFECTS__\nfunction objectWithRest(entries2, rest, message2) {\n return {\n kind: \"schema\",\n type: \"object_with_rest\",\n reference: objectWithRest,\n expects: \"Object\",\n async: false,\n entries: entries2,\n rest,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const valueSchema = this.entries[key];\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : getDefault(valueSchema);\n const valueDataset = valueSchema[\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n const valueDataset = this.rest[\"~run\"](\n // @ts-expect-error\n { value: input[key] },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/objectWithRest/objectWithRestAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction objectWithRestAsync(entries2, rest, message2) {\n return {\n kind: \"schema\",\n type: \"object_with_rest\",\n reference: objectWithRestAsync,\n expects: \"Object\",\n async: true,\n entries: entries2,\n rest,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const [normalDatasets, restDatasets] = await Promise.all([\n // If key is present or its an optional schema with a default value,\n // parse input of key or default value asynchronously\n Promise.all(\n Object.entries(this.entries).map(async ([key, valueSchema]) => {\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : await getDefault(valueSchema);\n return [\n key,\n value2,\n valueSchema,\n await valueSchema[\"~run\"]({ value: value2 }, config2)\n ];\n }\n return [\n key,\n // @ts-expect-error\n input[key],\n valueSchema,\n null\n ];\n })\n ),\n // Parse other entries with rest schema asynchronously\n // Hint: We exclude specific keys for security reasons\n Promise.all(\n Object.entries(input).filter(\n ([key]) => _isValidObjectKey(input, key) && !(key in this.entries)\n ).map(\n async ([key, value2]) => [\n key,\n value2,\n await this.rest[\"~run\"]({ value: value2 }, config2)\n ]\n )\n )\n ]);\n for (const [key, value2, valueSchema, valueDataset] of normalDatasets) {\n if (valueDataset) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = await getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n value: value2\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const [key, value2, valueDataset] of restDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/optional/optional.ts\n// @__NO_SIDE_EFFECTS__\nfunction optional(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"optional\",\n reference: optional,\n expects: `(${wrapped.expects} | undefined)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/optional/optionalAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction optionalAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"optional\",\n reference: optionalAsync,\n expects: `(${wrapped.expects} | undefined)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/picklist/picklist.ts\n// @__NO_SIDE_EFFECTS__\nfunction picklist(options, message2) {\n return {\n kind: \"schema\",\n type: \"picklist\",\n reference: picklist,\n expects: _joinExpects(options.map(_stringify), \"|\"),\n async: false,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.options.includes(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/promise/promise.ts\n// @__NO_SIDE_EFFECTS__\nfunction promise(message2) {\n return {\n kind: \"schema\",\n type: \"promise\",\n reference: promise,\n expects: \"Promise\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof Promise) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/record/record.ts\n// @__NO_SIDE_EFFECTS__\nfunction record(key, value2, message2) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: record,\n expects: \"Object\",\n async: false,\n key,\n value: value2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const entryKey in input) {\n if (_isValidObjectKey(input, entryKey)) {\n const entryValue = input[entryKey];\n const keyDataset = this.key[\"~run\"]({ value: entryKey }, config2);\n if (keyDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"key\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of keyDataset.issues) {\n issue.path = [pathItem];\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n const valueDataset = this.value[\"~run\"](\n { value: entryValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n if (keyDataset.typed) {\n dataset.value[keyDataset.value] = valueDataset.value;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/record/recordAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction recordAsync(key, value2, message2) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: recordAsync,\n expects: \"Object\",\n async: true,\n key,\n value: value2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const datasets = await Promise.all(\n Object.entries(input).filter(([key2]) => _isValidObjectKey(input, key2)).map(\n ([entryKey, entryValue]) => Promise.all([\n entryKey,\n entryValue,\n this.key[\"~run\"]({ value: entryKey }, config2),\n this.value[\"~run\"]({ value: entryValue }, config2)\n ])\n )\n );\n for (const [\n entryKey,\n entryValue,\n keyDataset,\n valueDataset\n ] of datasets) {\n if (keyDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"key\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of keyDataset.issues) {\n issue.path = [pathItem];\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n if (keyDataset.typed) {\n dataset.value[keyDataset.value] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/set/set.ts\n// @__NO_SIDE_EFFECTS__\nfunction set(value2, message2) {\n return {\n kind: \"schema\",\n type: \"set\",\n reference: set,\n expects: \"Set\",\n async: false,\n value: value2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Set) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Set();\n for (const inputValue of input) {\n const valueDataset = this.value[\"~run\"](\n { value: inputValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key: null,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.add(valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/set/setAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction setAsync(value2, message2) {\n return {\n kind: \"schema\",\n type: \"set\",\n reference: setAsync,\n expects: \"Set\",\n async: true,\n value: value2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Set) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Set();\n const valueDatasets = await Promise.all(\n [...input].map(\n async (inputValue) => [\n inputValue,\n await this.value[\"~run\"]({ value: inputValue }, config2)\n ]\n )\n );\n for (const [inputValue, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key: null,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.add(valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictObject/strictObject.ts\n// @__NO_SIDE_EFFECTS__\nfunction strictObject(entries2, message2) {\n return {\n kind: \"schema\",\n type: \"strict_object\",\n reference: strictObject,\n expects: \"Object\",\n async: false,\n entries: entries2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const valueSchema = this.entries[key];\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : getDefault(valueSchema);\n const valueDataset = valueSchema[\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (!(key in this.entries)) {\n _addIssue(this, \"key\", dataset, config2, {\n input: key,\n expected: \"never\",\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n }\n ]\n });\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictObject/strictObjectAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction strictObjectAsync(entries2, message2) {\n return {\n kind: \"schema\",\n type: \"strict_object\",\n reference: strictObjectAsync,\n expects: \"Object\",\n async: true,\n entries: entries2,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, valueSchema]) => {\n if (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && // @ts-expect-error\n valueSchema.default !== void 0) {\n const value2 = key in input ? (\n // @ts-expect-error\n input[key]\n ) : await getDefault(valueSchema);\n return [\n key,\n value2,\n valueSchema,\n await valueSchema[\"~run\"]({ value: value2 }, config2)\n ];\n }\n return [\n key,\n // @ts-expect-error\n input[key],\n valueSchema,\n null\n ];\n })\n );\n for (const [key, value2, valueSchema, valueDataset] of valueDatasets) {\n if (valueDataset) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n } else if (valueSchema.fallback !== void 0) {\n dataset.value[key] = await getFallback(valueSchema);\n } else if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n _addIssue(this, \"key\", dataset, config2, {\n input: void 0,\n expected: `\"${key}\"`,\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n value: value2\n }\n ]\n });\n if (config2.abortEarly) {\n break;\n }\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (!(key in this.entries)) {\n _addIssue(this, \"key\", dataset, config2, {\n input: key,\n expected: \"never\",\n path: [\n {\n type: \"object\",\n origin: \"key\",\n input,\n key,\n // @ts-expect-error\n value: input[key]\n }\n ]\n });\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictTuple/strictTuple.ts\n// @__NO_SIDE_EFFECTS__\nfunction strictTuple(items, message2) {\n return {\n kind: \"schema\",\n type: \"strict_tuple\",\n reference: strictTuple,\n expects: \"Array\",\n async: false,\n items,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!(dataset.issues && config2.abortEarly) && this.items.length < input.length) {\n _addIssue(this, \"type\", dataset, config2, {\n input: input[this.items.length],\n expected: \"never\",\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input,\n key: this.items.length,\n value: input[this.items.length]\n }\n ]\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictTuple/strictTupleAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction strictTupleAsync(items, message2) {\n return {\n kind: \"schema\",\n type: \"strict_tuple\",\n reference: strictTupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [key, value2, await item[\"~run\"]({ value: value2 }, config2)];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!(dataset.issues && config2.abortEarly) && this.items.length < input.length) {\n _addIssue(this, \"type\", dataset, config2, {\n input: input[this.items.length],\n expected: \"never\",\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input,\n key: this.items.length,\n value: input[this.items.length]\n }\n ]\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/string/string.ts\n// @__NO_SIDE_EFFECTS__\nfunction string(message2) {\n return {\n kind: \"schema\",\n type: \"string\",\n reference: string,\n expects: \"string\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"string\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/symbol/symbol.ts\n// @__NO_SIDE_EFFECTS__\nfunction symbol(message2) {\n return {\n kind: \"schema\",\n type: \"symbol\",\n reference: symbol,\n expects: \"symbol\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"symbol\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tuple/tuple.ts\n// @__NO_SIDE_EFFECTS__\nfunction tuple(items, message2) {\n return {\n kind: \"schema\",\n type: \"tuple\",\n reference: tuple,\n expects: \"Array\",\n async: false,\n items,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tuple/tupleAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction tupleAsync(items, message2) {\n return {\n kind: \"schema\",\n type: \"tuple\",\n reference: tupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [key, value2, await item[\"~run\"]({ value: value2 }, config2)];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tupleWithRest/tupleWithRest.ts\n// @__NO_SIDE_EFFECTS__\nfunction tupleWithRest(items, rest, message2) {\n return {\n kind: \"schema\",\n type: \"tuple_with_rest\",\n reference: tupleWithRest,\n expects: \"Array\",\n async: false,\n items,\n rest,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n const value2 = input[key];\n const itemDataset = this.rest[\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tupleWithRest/tupleWithRestAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction tupleWithRestAsync(items, rest, message2) {\n return {\n kind: \"schema\",\n type: \"tuple_with_rest\",\n reference: tupleWithRestAsync,\n expects: \"Array\",\n async: true,\n items,\n rest,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const [normalDatasets, restDatasets] = await Promise.all([\n // Parse schema of each normal item\n Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await item[\"~run\"]({ value: value2 }, config2)\n ];\n })\n ),\n // Parse other items with rest schema\n Promise.all(\n input.slice(this.items.length).map(async (value2, key) => {\n return [\n key + this.items.length,\n value2,\n await this.rest[\"~run\"]({ value: value2 }, config2)\n ];\n })\n )\n ]);\n for (const [key, value2, itemDataset] of normalDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const [key, value2, itemDataset] of restDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/undefined/undefined.ts\n// @__NO_SIDE_EFFECTS__\nfunction undefined_(message2) {\n return {\n kind: \"schema\",\n type: \"undefined\",\n reference: undefined_,\n expects: \"undefined\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/undefinedable/undefinedable.ts\n// @__NO_SIDE_EFFECTS__\nfunction undefinedable(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"undefinedable\",\n reference: undefinedable,\n expects: `(${wrapped.expects} | undefined)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/undefinedable/undefinedableAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction undefinedableAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"undefinedable\",\n reference: undefinedableAsync,\n expects: `(${wrapped.expects} | undefined)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/union/utils/_subIssues/_subIssues.ts\n// @__NO_SIDE_EFFECTS__\nfunction _subIssues(datasets) {\n let issues;\n if (datasets) {\n for (const dataset of datasets) {\n if (issues) {\n issues.push(...dataset.issues);\n } else {\n issues = dataset.issues;\n }\n }\n }\n return issues;\n}\n\n// src/schemas/union/union.ts\n// @__NO_SIDE_EFFECTS__\nfunction union(options, message2) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: union,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"|\"\n ),\n async: false,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n let validDataset;\n let typedDatasets;\n let untypedDatasets;\n for (const schema of this.options) {\n const optionDataset = schema[\"~run\"]({ value: dataset.value }, config2);\n if (optionDataset.typed) {\n if (optionDataset.issues) {\n if (typedDatasets) {\n typedDatasets.push(optionDataset);\n } else {\n typedDatasets = [optionDataset];\n }\n } else {\n validDataset = optionDataset;\n break;\n }\n } else {\n if (untypedDatasets) {\n untypedDatasets.push(optionDataset);\n } else {\n untypedDatasets = [optionDataset];\n }\n }\n }\n if (validDataset) {\n return validDataset;\n }\n if (typedDatasets) {\n if (typedDatasets.length === 1) {\n return typedDatasets[0];\n }\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(typedDatasets)\n });\n dataset.typed = true;\n } else if (untypedDatasets?.length === 1) {\n return untypedDatasets[0];\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(untypedDatasets)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/union/unionAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction unionAsync(options, message2) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: unionAsync,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"|\"\n ),\n async: true,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n let validDataset;\n let typedDatasets;\n let untypedDatasets;\n for (const schema of this.options) {\n const optionDataset = await schema[\"~run\"](\n { value: dataset.value },\n config2\n );\n if (optionDataset.typed) {\n if (optionDataset.issues) {\n if (typedDatasets) {\n typedDatasets.push(optionDataset);\n } else {\n typedDatasets = [optionDataset];\n }\n } else {\n validDataset = optionDataset;\n break;\n }\n } else {\n if (untypedDatasets) {\n untypedDatasets.push(optionDataset);\n } else {\n untypedDatasets = [optionDataset];\n }\n }\n }\n if (validDataset) {\n return validDataset;\n }\n if (typedDatasets) {\n if (typedDatasets.length === 1) {\n return typedDatasets[0];\n }\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(typedDatasets)\n });\n dataset.typed = true;\n } else if (untypedDatasets?.length === 1) {\n return untypedDatasets[0];\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(untypedDatasets)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/unknown/unknown.ts\n// @__NO_SIDE_EFFECTS__\nfunction unknown() {\n return {\n kind: \"schema\",\n type: \"unknown\",\n reference: unknown,\n expects: \"unknown\",\n async: false,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset) {\n dataset.typed = true;\n return dataset;\n }\n };\n}\n\n// src/schemas/variant/variant.ts\n// @__NO_SIDE_EFFECTS__\nfunction variant(key, options, message2) {\n return {\n kind: \"schema\",\n type: \"variant\",\n reference: variant,\n expects: \"Object\",\n async: false,\n key,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n let outputDataset;\n let maxDiscriminatorPriority = 0;\n let invalidDiscriminatorKey = this.key;\n let expectedDiscriminators = [];\n const parseOptions = (variant2, allKeys) => {\n for (const schema of variant2.options) {\n if (schema.type === \"variant\") {\n parseOptions(schema, new Set(allKeys).add(schema.key));\n } else {\n let keysAreValid = true;\n let currentPriority = 0;\n for (const currentKey of allKeys) {\n const discriminatorSchema = schema.entries[currentKey];\n if (currentKey in input ? discriminatorSchema[\"~run\"](\n // @ts-expect-error\n { typed: false, value: input[currentKey] },\n { abortEarly: true }\n ).issues : discriminatorSchema.type !== \"exact_optional\" && discriminatorSchema.type !== \"optional\" && discriminatorSchema.type !== \"nullish\") {\n keysAreValid = false;\n if (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n maxDiscriminatorPriority = currentPriority;\n invalidDiscriminatorKey = currentKey;\n expectedDiscriminators = [];\n }\n if (invalidDiscriminatorKey === currentKey) {\n expectedDiscriminators.push(\n schema.entries[currentKey].expects\n );\n }\n break;\n }\n currentPriority++;\n }\n if (keysAreValid) {\n const optionDataset = schema[\"~run\"]({ value: input }, config2);\n if (!outputDataset || !outputDataset.typed && optionDataset.typed) {\n outputDataset = optionDataset;\n }\n }\n }\n if (outputDataset && !outputDataset.issues) {\n break;\n }\n }\n };\n parseOptions(this, /* @__PURE__ */ new Set([this.key]));\n if (outputDataset) {\n return outputDataset;\n }\n _addIssue(this, \"type\", dataset, config2, {\n // @ts-expect-error\n input: input[invalidDiscriminatorKey],\n expected: _joinExpects(expectedDiscriminators, \"|\"),\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: invalidDiscriminatorKey,\n // @ts-expect-error\n value: input[invalidDiscriminatorKey]\n }\n ]\n });\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/variant/variantAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction variantAsync(key, options, message2) {\n return {\n kind: \"schema\",\n type: \"variant\",\n reference: variantAsync,\n expects: \"Object\",\n async: true,\n key,\n options,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n let outputDataset;\n let maxDiscriminatorPriority = 0;\n let invalidDiscriminatorKey = this.key;\n let expectedDiscriminators = [];\n const parseOptions = async (variant2, allKeys) => {\n for (const schema of variant2.options) {\n if (schema.type === \"variant\") {\n await parseOptions(schema, new Set(allKeys).add(schema.key));\n } else {\n let keysAreValid = true;\n let currentPriority = 0;\n for (const currentKey of allKeys) {\n const discriminatorSchema = schema.entries[currentKey];\n if (currentKey in input ? (await discriminatorSchema[\"~run\"](\n // @ts-expect-error\n { typed: false, value: input[currentKey] },\n { abortEarly: true }\n )).issues : discriminatorSchema.type !== \"exact_optional\" && discriminatorSchema.type !== \"optional\" && discriminatorSchema.type !== \"nullish\") {\n keysAreValid = false;\n if (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n maxDiscriminatorPriority = currentPriority;\n invalidDiscriminatorKey = currentKey;\n expectedDiscriminators = [];\n }\n if (invalidDiscriminatorKey === currentKey) {\n expectedDiscriminators.push(\n schema.entries[currentKey].expects\n );\n }\n break;\n }\n currentPriority++;\n }\n if (keysAreValid) {\n const optionDataset = await schema[\"~run\"](\n { value: input },\n config2\n );\n if (!outputDataset || !outputDataset.typed && optionDataset.typed) {\n outputDataset = optionDataset;\n }\n }\n }\n if (outputDataset && !outputDataset.issues) {\n break;\n }\n }\n };\n await parseOptions(this, /* @__PURE__ */ new Set([this.key]));\n if (outputDataset) {\n return outputDataset;\n }\n _addIssue(this, \"type\", dataset, config2, {\n // @ts-expect-error\n input: input[invalidDiscriminatorKey],\n expected: _joinExpects(expectedDiscriminators, \"|\"),\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: invalidDiscriminatorKey,\n // @ts-expect-error\n value: input[invalidDiscriminatorKey]\n }\n ]\n });\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/void/void.ts\n// @__NO_SIDE_EFFECTS__\nfunction void_(message2) {\n return {\n kind: \"schema\",\n type: \"void\",\n reference: void_,\n expects: \"void\",\n async: false,\n message: message2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/methods/keyof/keyof.ts\n// @__NO_SIDE_EFFECTS__\nfunction keyof(schema, message2) {\n return picklist(Object.keys(schema.entries), message2);\n}\n\n// src/methods/message/message.ts\n// @__NO_SIDE_EFFECTS__\nfunction message(schema, message_) {\n return {\n ...schema,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n return schema[\"~run\"](dataset, { ...config2, message: message_ });\n }\n };\n}\n\n// src/methods/omit/omit.ts\n// @__NO_SIDE_EFFECTS__\nfunction omit(schema, keys) {\n const entries2 = {\n ...schema.entries\n };\n for (const key of keys) {\n delete entries2[key];\n }\n return {\n ...schema,\n entries: entries2,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/parse/parse.ts\nfunction parse(schema, input, config2) {\n const dataset = schema[\"~run\"]({ value: input }, getGlobalConfig(config2));\n if (dataset.issues) {\n throw new ValiError(dataset.issues);\n }\n return dataset.value;\n}\n\n// src/methods/parse/parseAsync.ts\nasync function parseAsync(schema, input, config2) {\n const dataset = await schema[\"~run\"](\n { value: input },\n getGlobalConfig(config2)\n );\n if (dataset.issues) {\n throw new ValiError(dataset.issues);\n }\n return dataset.value;\n}\n\n// src/methods/parser/parser.ts\n// @__NO_SIDE_EFFECTS__\nfunction parser(schema, config2) {\n const func = (input) => parse(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/parser/parserAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction parserAsync(schema, config2) {\n const func = (input) => parseAsync(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/partial/partial.ts\n// @__NO_SIDE_EFFECTS__\nfunction partial(schema, keys) {\n const entries2 = {};\n for (const key in schema.entries) {\n entries2[key] = !keys || keys.includes(key) ? optional(schema.entries[key]) : schema.entries[key];\n }\n return {\n ...schema,\n entries: entries2,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/partial/partialAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction partialAsync(schema, keys) {\n const entries2 = {};\n for (const key in schema.entries) {\n entries2[key] = !keys || keys.includes(key) ? optionalAsync(schema.entries[key]) : schema.entries[key];\n }\n return {\n ...schema,\n entries: entries2,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/pick/pick.ts\n// @__NO_SIDE_EFFECTS__\nfunction pick(schema, keys) {\n const entries2 = {};\n for (const key of keys) {\n entries2[key] = schema.entries[key];\n }\n return {\n ...schema,\n entries: entries2,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/pipe/pipe.ts\n// @__NO_SIDE_EFFECTS__\nfunction pipe(...pipe2) {\n return {\n ...pipe2[0],\n pipe: pipe2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n for (const item of pipe2) {\n if (item.kind !== \"metadata\") {\n if (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n dataset.typed = false;\n break;\n }\n if (!dataset.issues || !config2.abortEarly && !config2.abortPipeEarly) {\n dataset = item[\"~run\"](dataset, config2);\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/pipe/pipeAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction pipeAsync(...pipe2) {\n return {\n ...pipe2[0],\n pipe: pipe2,\n async: true,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n for (const item of pipe2) {\n if (item.kind !== \"metadata\") {\n if (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n dataset.typed = false;\n break;\n }\n if (!dataset.issues || !config2.abortEarly && !config2.abortPipeEarly) {\n dataset = await item[\"~run\"](dataset, config2);\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/required/required.ts\n// @__NO_SIDE_EFFECTS__\nfunction required(schema, arg2, arg3) {\n const keys = Array.isArray(arg2) ? arg2 : void 0;\n const message2 = Array.isArray(arg2) ? arg3 : arg2;\n const entries2 = {};\n for (const key in schema.entries) {\n entries2[key] = !keys || keys.includes(key) ? nonOptional(schema.entries[key], message2) : schema.entries[key];\n }\n return {\n ...schema,\n entries: entries2,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/required/requiredAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction requiredAsync(schema, arg2, arg3) {\n const keys = Array.isArray(arg2) ? arg2 : void 0;\n const message2 = Array.isArray(arg2) ? arg3 : arg2;\n const entries2 = {};\n for (const key in schema.entries) {\n entries2[key] = !keys || keys.includes(key) ? nonOptionalAsync(schema.entries[key], message2) : schema.entries[key];\n }\n return {\n ...schema,\n entries: entries2,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/safeParse/safeParse.ts\n// @__NO_SIDE_EFFECTS__\nfunction safeParse(schema, input, config2) {\n const dataset = schema[\"~run\"]({ value: input }, getGlobalConfig(config2));\n return {\n typed: dataset.typed,\n success: !dataset.issues,\n output: dataset.value,\n issues: dataset.issues\n };\n}\n\n// src/methods/safeParse/safeParseAsync.ts\n// @__NO_SIDE_EFFECTS__\nasync function safeParseAsync(schema, input, config2) {\n const dataset = await schema[\"~run\"](\n { value: input },\n getGlobalConfig(config2)\n );\n return {\n typed: dataset.typed,\n success: !dataset.issues,\n output: dataset.value,\n issues: dataset.issues\n };\n}\n\n// src/methods/safeParser/safeParser.ts\n// @__NO_SIDE_EFFECTS__\nfunction safeParser(schema, config2) {\n const func = (input) => safeParse(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/safeParser/safeParserAsync.ts\n// @__NO_SIDE_EFFECTS__\nfunction safeParserAsync(schema, config2) {\n const func = (input) => safeParseAsync(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/summarize/summarize.ts\n// @__NO_SIDE_EFFECTS__\nfunction summarize(issues) {\n let summary = \"\";\n for (const issue of issues) {\n if (summary) {\n summary += \"\\n\";\n }\n summary += `\\xD7 ${issue.message}`;\n const dotPath = getDotPath(issue);\n if (dotPath) {\n summary += `\n \\u2192 at ${dotPath}`;\n }\n }\n return summary;\n}\n\n// src/methods/unwrap/unwrap.ts\n// @__NO_SIDE_EFFECTS__\nfunction unwrap(schema) {\n return schema.wrapped;\n}\nexport {\n BASE64_REGEX,\n BIC_REGEX,\n CUID2_REGEX,\n DECIMAL_REGEX,\n DIGITS_REGEX,\n EMAIL_REGEX,\n EMOJI_REGEX,\n HEXADECIMAL_REGEX,\n HEX_COLOR_REGEX,\n IMEI_REGEX,\n IPV4_REGEX,\n IPV6_REGEX,\n IP_REGEX,\n ISO_DATE_REGEX,\n ISO_DATE_TIME_REGEX,\n ISO_TIMESTAMP_REGEX,\n ISO_TIME_REGEX,\n ISO_TIME_SECOND_REGEX,\n ISO_WEEK_REGEX,\n MAC48_REGEX,\n MAC64_REGEX,\n MAC_REGEX,\n NANO_ID_REGEX,\n OCTAL_REGEX,\n RFC_EMAIL_REGEX,\n SLUG_REGEX,\n ULID_REGEX,\n UUID_REGEX,\n ValiError,\n _addIssue,\n _getByteCount,\n _getGraphemeCount,\n _getLastMetadata,\n _getStandardProps,\n _getWordCount,\n _isLuhnAlgo,\n _isValidObjectKey,\n _joinExpects,\n _stringify,\n any,\n args,\n argsAsync,\n array,\n arrayAsync,\n assert,\n awaitAsync,\n base64,\n bic,\n bigint,\n blob,\n boolean,\n brand,\n bytes,\n check,\n checkAsync,\n checkItems,\n checkItemsAsync,\n config,\n creditCard,\n cuid2,\n custom,\n customAsync,\n date,\n decimal,\n deleteGlobalConfig,\n deleteGlobalMessage,\n deleteSchemaMessage,\n deleteSpecificMessage,\n description,\n digits,\n email,\n emoji,\n empty,\n endsWith,\n entries,\n entriesFromList,\n entriesFromObjects,\n enum_ as enum,\n enum_,\n everyItem,\n exactOptional,\n exactOptionalAsync,\n excludes,\n fallback,\n fallbackAsync,\n file,\n filterItems,\n findItem,\n finite,\n flatten,\n flavor,\n forward,\n forwardAsync,\n function_ as function,\n function_,\n getDefault,\n getDefaults,\n getDefaultsAsync,\n getDescription,\n getDotPath,\n getFallback,\n getFallbacks,\n getFallbacksAsync,\n getGlobalConfig,\n getGlobalMessage,\n getMetadata,\n getSchemaMessage,\n getSpecificMessage,\n getTitle,\n graphemes,\n gtValue,\n hash,\n hexColor,\n hexadecimal,\n imei,\n includes,\n instance,\n integer,\n intersect,\n intersectAsync,\n ip,\n ipv4,\n ipv6,\n is,\n isOfKind,\n isOfType,\n isValiError,\n isoDate,\n isoDateTime,\n isoTime,\n isoTimeSecond,\n isoTimestamp,\n isoWeek,\n keyof,\n lazy,\n lazyAsync,\n length,\n literal,\n looseObject,\n looseObjectAsync,\n looseTuple,\n looseTupleAsync,\n ltValue,\n mac,\n mac48,\n mac64,\n map,\n mapAsync,\n mapItems,\n maxBytes,\n maxEntries,\n maxGraphemes,\n maxLength,\n maxSize,\n maxValue,\n maxWords,\n message,\n metadata,\n mimeType,\n minBytes,\n minEntries,\n minGraphemes,\n minLength,\n minSize,\n minValue,\n minWords,\n multipleOf,\n nan,\n nanoid,\n never,\n nonEmpty,\n nonNullable,\n nonNullableAsync,\n nonNullish,\n nonNullishAsync,\n nonOptional,\n nonOptionalAsync,\n normalize,\n notBytes,\n notEntries,\n notGraphemes,\n notLength,\n notSize,\n notValue,\n notValues,\n notWords,\n null_ as null,\n null_,\n nullable,\n nullableAsync,\n nullish,\n nullishAsync,\n number,\n object,\n objectAsync,\n objectWithRest,\n objectWithRestAsync,\n octal,\n omit,\n optional,\n optionalAsync,\n parse,\n parseAsync,\n parseJson,\n parser,\n parserAsync,\n partial,\n partialAsync,\n partialCheck,\n partialCheckAsync,\n pick,\n picklist,\n pipe,\n pipeAsync,\n promise,\n rawCheck,\n rawCheckAsync,\n rawTransform,\n rawTransformAsync,\n readonly,\n record,\n recordAsync,\n reduceItems,\n regex,\n required,\n requiredAsync,\n returns,\n returnsAsync,\n rfcEmail,\n safeInteger,\n safeParse,\n safeParseAsync,\n safeParser,\n safeParserAsync,\n set,\n setAsync,\n setGlobalConfig,\n setGlobalMessage,\n setSchemaMessage,\n setSpecificMessage,\n size,\n slug,\n someItem,\n sortItems,\n startsWith,\n strictObject,\n strictObjectAsync,\n strictTuple,\n strictTupleAsync,\n string,\n stringifyJson,\n summarize,\n symbol,\n title,\n toLowerCase,\n toMaxValue,\n toMinValue,\n toUpperCase,\n transform,\n transformAsync,\n trim,\n trimEnd,\n trimStart,\n tuple,\n tupleAsync,\n tupleWithRest,\n tupleWithRestAsync,\n ulid,\n undefined_ as undefined,\n undefined_,\n undefinedable,\n undefinedableAsync,\n union,\n unionAsync,\n unknown,\n unwrap,\n url,\n uuid,\n value,\n values,\n variant,\n variantAsync,\n void_ as void,\n void_,\n words\n};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decode = exports.encode = exports.unescape = exports.escape = exports.pad = void 0;\nconst base64_js_1 = require(\"base64-js\");\nfunction pad(base64) {\n return `${base64}${'='.repeat(4 - (base64.length % 4 || 4))}`;\n}\nexports.pad = pad;\nfunction escape(base64) {\n return base64.replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n}\nexports.escape = escape;\nfunction unescape(base64Url) {\n return pad(base64Url).replace(/-/g, '+').replace(/_/g, '/');\n}\nexports.unescape = unescape;\nfunction encode(base64) {\n return escape((0, base64_js_1.fromByteArray)(new TextEncoder().encode(base64)));\n}\nexports.encode = encode;\nfunction decode(base64Url) {\n return new TextDecoder().decode((0, base64_js_1.toByteArray)(pad(unescape(base64Url))));\n}\nexports.decode = decode;\n//# sourceMappingURL=base64Url.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.crypto = void 0;\nexports.crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;\n//# sourceMappingURL=crypto.js.map","\"use strict\";\n/**\n * Utilities for hex, bytes, CSPRNG.\n * @module\n */\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.wrapXOFConstructorWithOpts = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.Hash = exports.nextTick = exports.swap32IfBE = exports.byteSwapIfBE = exports.swap8IfBE = exports.isLE = void 0;\nexports.isBytes = isBytes;\nexports.anumber = anumber;\nexports.abytes = abytes;\nexports.ahash = ahash;\nexports.aexists = aexists;\nexports.aoutput = aoutput;\nexports.u8 = u8;\nexports.u32 = u32;\nexports.clean = clean;\nexports.createView = createView;\nexports.rotr = rotr;\nexports.rotl = rotl;\nexports.byteSwap = byteSwap;\nexports.byteSwap32 = byteSwap32;\nexports.bytesToHex = bytesToHex;\nexports.hexToBytes = hexToBytes;\nexports.asyncLoop = asyncLoop;\nexports.utf8ToBytes = utf8ToBytes;\nexports.bytesToUtf8 = bytesToUtf8;\nexports.toBytes = toBytes;\nexports.kdfInputToBytes = kdfInputToBytes;\nexports.concatBytes = concatBytes;\nexports.checkOpts = checkOpts;\nexports.createHasher = createHasher;\nexports.createOptHasher = createOptHasher;\nexports.createXOFer = createXOFer;\nexports.randomBytes = randomBytes;\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated (2025-04-30), we can just drop the import.\nconst crypto_1 = require(\"@noble/hashes/crypto\");\n/** Checks if something is Uint8Array. Be careful: nodejs Buffer will return true. */\nfunction isBytes(a) {\n return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\n/** Asserts something is positive integer. */\nfunction anumber(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error('positive integer expected, got ' + n);\n}\n/** Asserts something is Uint8Array. */\nfunction abytes(b, ...lengths) {\n if (!isBytes(b))\n throw new Error('Uint8Array expected');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error('Uint8Array expected of length ' + lengths + ', got length=' + b.length);\n}\n/** Asserts something is hash */\nfunction ahash(h) {\n if (typeof h !== 'function' || typeof h.create !== 'function')\n throw new Error('Hash should be wrapped by utils.createHasher');\n anumber(h.outputLen);\n anumber(h.blockLen);\n}\n/** Asserts a hash instance has not been destroyed / finished */\nfunction aexists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\n/** Asserts output is properly-sized byte array */\nfunction aoutput(out, instance) {\n abytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error('digestInto() expects output buffer of length at least ' + min);\n }\n}\n/** Cast u8 / u16 / u32 to u8. */\nfunction u8(arr) {\n return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n/** Cast u8 / u16 / u32 to u32. */\nfunction u32(arr) {\n return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n}\n/** Zeroize a byte array. Warning: JS provides no guarantees. */\nfunction clean(...arrays) {\n for (let i = 0; i < arrays.length; i++) {\n arrays[i].fill(0);\n }\n}\n/** Create DataView of an array for easy byte-level manipulation. */\nfunction createView(arr) {\n return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n/** The rotate right (circular right shift) operation for uint32 */\nfunction rotr(word, shift) {\n return (word << (32 - shift)) | (word >>> shift);\n}\n/** The rotate left (circular left shift) operation for uint32 */\nfunction rotl(word, shift) {\n return (word << shift) | ((word >>> (32 - shift)) >>> 0);\n}\n/** Is current platform little-endian? Most are. Big-Endian platform: IBM */\nexports.isLE = (() => new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44)();\n/** The byte swap operation for uint32 */\nfunction byteSwap(word) {\n return (((word << 24) & 0xff000000) |\n ((word << 8) & 0xff0000) |\n ((word >>> 8) & 0xff00) |\n ((word >>> 24) & 0xff));\n}\n/** Conditionally byte swap if on a big-endian platform */\nexports.swap8IfBE = exports.isLE\n ? (n) => n\n : (n) => byteSwap(n);\n/** @deprecated */\nexports.byteSwapIfBE = exports.swap8IfBE;\n/** In place byte swap for Uint32Array */\nfunction byteSwap32(arr) {\n for (let i = 0; i < arr.length; i++) {\n arr[i] = byteSwap(arr[i]);\n }\n return arr;\n}\nexports.swap32IfBE = exports.isLE\n ? (u) => u\n : byteSwap32;\n// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex\nconst hasHexBuiltin = /* @__PURE__ */ (() => \n// @ts-ignore\ntypeof Uint8Array.from([]).toHex === 'function' && typeof Uint8Array.fromHex === 'function')();\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * Convert byte array to hex string. Uses built-in function, when available.\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nfunction bytesToHex(bytes) {\n abytes(bytes);\n // @ts-ignore\n if (hasHexBuiltin)\n return bytes.toHex();\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };\nfunction asciiToBase16(ch) {\n if (ch >= asciis._0 && ch <= asciis._9)\n return ch - asciis._0; // '2' => 50-48\n if (ch >= asciis.A && ch <= asciis.F)\n return ch - (asciis.A - 10); // 'B' => 66-(65-10)\n if (ch >= asciis.a && ch <= asciis.f)\n return ch - (asciis.a - 10); // 'b' => 98-(97-10)\n return;\n}\n/**\n * Convert hex string to byte array. Uses built-in function, when available.\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nfunction hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n // @ts-ignore\n if (hasHexBuiltin)\n return Uint8Array.fromHex(hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2)\n throw new Error('hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2; // multiply first octet, e.g. 'a3' => 10*16+3 => 160 + 3 => 163\n }\n return array;\n}\n/**\n * There is no setImmediate in browser and setTimeout is slow.\n * Call of async fn will return Promise, which will be fullfiled only on\n * next scheduler queue processing step and this is exactly what we need.\n */\nconst nextTick = async () => { };\nexports.nextTick = nextTick;\n/** Returns control to thread each 'tick' ms to avoid blocking. */\nasync function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await (0, exports.nextTick)();\n ts += diff;\n }\n}\n/**\n * Converts string to bytes using UTF8 encoding.\n * @example utf8ToBytes('abc') // Uint8Array.from([97, 98, 99])\n */\nfunction utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error('string expected');\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Converts bytes to string using UTF8 encoding.\n * @example bytesToUtf8(Uint8Array.from([97, 98, 99])) // 'abc'\n */\nfunction bytesToUtf8(bytes) {\n return new TextDecoder().decode(bytes);\n}\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nfunction toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n abytes(data);\n return data;\n}\n/**\n * Helper for KDFs: consumes uint8array or string.\n * When string is passed, does utf8 decoding, using TextDecoder.\n */\nfunction kdfInputToBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n abytes(data);\n return data;\n}\n/** Copies several Uint8Arrays into one. */\nfunction concatBytes(...arrays) {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n abytes(a);\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\nfunction checkOpts(defaults, opts) {\n if (opts !== undefined && {}.toString.call(opts) !== '[object Object]')\n throw new Error('options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\n/** For runtime check if class implements interface */\nclass Hash {\n}\nexports.Hash = Hash;\n/** Wraps hash function, creating an interface on top of it */\nfunction createHasher(hashCons) {\n const hashC = (msg) => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\nfunction createOptHasher(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nfunction createXOFer(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexports.wrapConstructor = createHasher;\nexports.wrapConstructorWithOpts = createOptHasher;\nexports.wrapXOFConstructorWithOpts = createXOFer;\n/** Cryptographically secure PRNG. Uses internal OS-level `crypto.getRandomValues`. */\nfunction randomBytes(bytesLength = 32) {\n if (crypto_1.crypto && typeof crypto_1.crypto.getRandomValues === 'function') {\n return crypto_1.crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n // Legacy Node.js compatibility\n if (crypto_1.crypto && typeof crypto_1.crypto.randomBytes === 'function') {\n return Uint8Array.from(crypto_1.crypto.randomBytes(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hmac = exports.HMAC = void 0;\n/**\n * HMAC: RFC2104 message authentication code.\n * @module\n */\nconst utils_ts_1 = require(\"./utils.js\");\nclass HMAC extends utils_ts_1.Hash {\n constructor(hash, _key) {\n super();\n this.finished = false;\n this.destroyed = false;\n (0, utils_ts_1.ahash)(hash);\n const key = (0, utils_ts_1.toBytes)(_key);\n this.iHash = hash.create();\n if (typeof this.iHash.update !== 'function')\n throw new Error('Expected instance of class which extends utils.Hash');\n this.blockLen = this.iHash.blockLen;\n this.outputLen = this.iHash.outputLen;\n const blockLen = this.blockLen;\n const pad = new Uint8Array(blockLen);\n // blockLen can be bigger than outputLen\n pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36;\n this.iHash.update(pad);\n // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone\n this.oHash = hash.create();\n // Undo internal XOR && apply outer XOR\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36 ^ 0x5c;\n this.oHash.update(pad);\n (0, utils_ts_1.clean)(pad);\n }\n update(buf) {\n (0, utils_ts_1.aexists)(this);\n this.iHash.update(buf);\n return this;\n }\n digestInto(out) {\n (0, utils_ts_1.aexists)(this);\n (0, utils_ts_1.abytes)(out, this.outputLen);\n this.finished = true;\n this.iHash.digestInto(out);\n this.oHash.update(out);\n this.oHash.digestInto(out);\n this.destroy();\n }\n digest() {\n const out = new Uint8Array(this.oHash.outputLen);\n this.digestInto(out);\n return out;\n }\n _cloneInto(to) {\n // Create new instance without calling constructor since key already in state and we don't know it.\n to || (to = Object.create(Object.getPrototypeOf(this), {}));\n const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;\n to = to;\n to.finished = finished;\n to.destroyed = destroyed;\n to.blockLen = blockLen;\n to.outputLen = outputLen;\n to.oHash = oHash._cloneInto(to.oHash);\n to.iHash = iHash._cloneInto(to.iHash);\n return to;\n }\n clone() {\n return this._cloneInto();\n }\n destroy() {\n this.destroyed = true;\n this.oHash.destroy();\n this.iHash.destroy();\n }\n}\nexports.HMAC = HMAC;\n/**\n * HMAC: RFC2104 message authentication code.\n * @param hash - function that would be used e.g. sha256\n * @param key - message key\n * @param message - message data\n * @example\n * import { hmac } from '@noble/hashes/hmac';\n * import { sha256 } from '@noble/hashes/sha2';\n * const mac1 = hmac(sha256, 'key', 'message');\n */\nconst hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest();\nexports.hmac = hmac;\nexports.hmac.create = (hash, key) => new HMAC(hash, key);\n//# sourceMappingURL=hmac.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SHA512_IV = exports.SHA384_IV = exports.SHA224_IV = exports.SHA256_IV = exports.HashMD = void 0;\nexports.setBigUint64 = setBigUint64;\nexports.Chi = Chi;\nexports.Maj = Maj;\n/**\n * Internal Merkle-Damgard hash utils.\n * @module\n */\nconst utils_ts_1 = require(\"./utils.js\");\n/** Polyfill for Safari 14. https://caniuse.com/mdn-javascript_builtins_dataview_setbiguint64 */\nfunction setBigUint64(view, byteOffset, value, isLE) {\n if (typeof view.setBigUint64 === 'function')\n return view.setBigUint64(byteOffset, value, isLE);\n const _32n = BigInt(32);\n const _u32_max = BigInt(0xffffffff);\n const wh = Number((value >> _32n) & _u32_max);\n const wl = Number(value & _u32_max);\n const h = isLE ? 4 : 0;\n const l = isLE ? 0 : 4;\n view.setUint32(byteOffset + h, wh, isLE);\n view.setUint32(byteOffset + l, wl, isLE);\n}\n/** Choice: a ? b : c */\nfunction Chi(a, b, c) {\n return (a & b) ^ (~a & c);\n}\n/** Majority function, true if any two inputs is true. */\nfunction Maj(a, b, c) {\n return (a & b) ^ (a & c) ^ (b & c);\n}\n/**\n * Merkle-Damgard hash construction base class.\n * Could be used to create MD5, RIPEMD, SHA1, SHA2.\n */\nclass HashMD extends utils_ts_1.Hash {\n constructor(blockLen, outputLen, padOffset, isLE) {\n super();\n this.finished = false;\n this.length = 0;\n this.pos = 0;\n this.destroyed = false;\n this.blockLen = blockLen;\n this.outputLen = outputLen;\n this.padOffset = padOffset;\n this.isLE = isLE;\n this.buffer = new Uint8Array(blockLen);\n this.view = (0, utils_ts_1.createView)(this.buffer);\n }\n update(data) {\n (0, utils_ts_1.aexists)(this);\n data = (0, utils_ts_1.toBytes)(data);\n (0, utils_ts_1.abytes)(data);\n const { view, buffer, blockLen } = this;\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n // Fast path: we have at least one block in input, cast it to view and process\n if (take === blockLen) {\n const dataView = (0, utils_ts_1.createView)(data);\n for (; blockLen <= len - pos; pos += blockLen)\n this.process(dataView, pos);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n pos += take;\n if (this.pos === blockLen) {\n this.process(view, 0);\n this.pos = 0;\n }\n }\n this.length += data.length;\n this.roundClean();\n return this;\n }\n digestInto(out) {\n (0, utils_ts_1.aexists)(this);\n (0, utils_ts_1.aoutput)(out, this);\n this.finished = true;\n // Padding\n // We can avoid allocation of buffer for padding completely if it\n // was previously not allocated here. But it won't change performance.\n const { buffer, view, blockLen, isLE } = this;\n let { pos } = this;\n // append the bit '1' to the message\n buffer[pos++] = 0b10000000;\n (0, utils_ts_1.clean)(this.buffer.subarray(pos));\n // we have less than padOffset left in buffer, so we cannot put length in\n // current block, need process it and pad again\n if (this.padOffset > blockLen - pos) {\n this.process(view, 0);\n pos = 0;\n }\n // Pad until full block byte with zeros\n for (let i = pos; i < blockLen; i++)\n buffer[i] = 0;\n // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n // So we just write lowest 64 bits of that value.\n setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n this.process(view, 0);\n const oview = (0, utils_ts_1.createView)(out);\n const len = this.outputLen;\n // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n if (len % 4)\n throw new Error('_sha2: outputLen should be aligned to 32bit');\n const outLen = len / 4;\n const state = this.get();\n if (outLen > state.length)\n throw new Error('_sha2: outputLen bigger than state');\n for (let i = 0; i < outLen; i++)\n oview.setUint32(4 * i, state[i], isLE);\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to) {\n to || (to = new this.constructor());\n to.set(...this.get());\n const { blockLen, buffer, length, finished, destroyed, pos } = this;\n to.destroyed = destroyed;\n to.finished = finished;\n to.length = length;\n to.pos = pos;\n if (length % blockLen)\n to.buffer.set(buffer);\n return to;\n }\n clone() {\n return this._cloneInto();\n }\n}\nexports.HashMD = HashMD;\n/**\n * Initial SHA-2 state: fractional parts of square roots of first 16 primes 2..53.\n * Check out `test/misc/sha2-gen-iv.js` for recomputation guide.\n */\n/** Initial SHA256 state. Bits 0..32 of frac part of sqrt of primes 2..19 */\nexports.SHA256_IV = Uint32Array.from([\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19,\n]);\n/** Initial SHA224 state. Bits 32..64 of frac part of sqrt of primes 23..53 */\nexports.SHA224_IV = Uint32Array.from([\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4,\n]);\n/** Initial SHA384 state. Bits 0..64 of frac part of sqrt of primes 23..53 */\nexports.SHA384_IV = Uint32Array.from([\n 0xcbbb9d5d, 0xc1059ed8, 0x629a292a, 0x367cd507, 0x9159015a, 0x3070dd17, 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31, 0x8eb44a87, 0x68581511, 0xdb0c2e0d, 0x64f98fa7, 0x47b5481d, 0xbefa4fa4,\n]);\n/** Initial SHA512 state. Bits 0..64 of frac part of sqrt of primes 2..19 */\nexports.SHA512_IV = Uint32Array.from([\n 0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179,\n]);\n//# sourceMappingURL=_md.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBig = exports.shrSL = exports.shrSH = exports.rotrSL = exports.rotrSH = exports.rotrBL = exports.rotrBH = exports.rotr32L = exports.rotr32H = exports.rotlSL = exports.rotlSH = exports.rotlBL = exports.rotlBH = exports.add5L = exports.add5H = exports.add4L = exports.add4H = exports.add3L = exports.add3H = void 0;\nexports.add = add;\nexports.fromBig = fromBig;\nexports.split = split;\n/**\n * Internal helpers for u64. BigUint64Array is too slow as per 2025, so we implement it using Uint32Array.\n * @todo re-check https://issues.chromium.org/issues/42212588\n * @module\n */\nconst U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nfunction split(lst, le = false) {\n const len = lst.length;\n let Ah = new Uint32Array(len);\n let Al = new Uint32Array(len);\n for (let i = 0; i < len; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\nexports.toBig = toBig;\n// for Shift in [0, 32)\nconst shrSH = (h, _l, s) => h >>> s;\nexports.shrSH = shrSH;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\nexports.shrSL = shrSL;\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nexports.rotrSH = rotrSH;\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\nexports.rotrSL = rotrSL;\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nexports.rotrBH = rotrBH;\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\nexports.rotrBL = rotrBL;\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h, l) => l;\nexports.rotr32H = rotr32H;\nconst rotr32L = (h, _l) => h;\nexports.rotr32L = rotr32L;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nexports.rotlSH = rotlSH;\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\nexports.rotlSL = rotlSL;\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nexports.rotlBH = rotlBH;\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\nexports.rotlBL = rotlBL;\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nexports.add3L = add3L;\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nexports.add3H = add3H;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nexports.add4L = add4L;\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nexports.add4H = add4H;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nexports.add5L = add5L;\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\nexports.add5H = add5H;\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexports.default = u64;\n//# sourceMappingURL=_u64.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sha512_224 = exports.sha512_256 = exports.sha384 = exports.sha512 = exports.sha224 = exports.sha256 = exports.SHA512_256 = exports.SHA512_224 = exports.SHA384 = exports.SHA512 = exports.SHA224 = exports.SHA256 = void 0;\n/**\n * SHA2 hash function. A.k.a. sha256, sha384, sha512, sha512_224, sha512_256.\n * SHA256 is the fastest hash implementable in JS, even faster than Blake3.\n * Check out [RFC 4634](https://datatracker.ietf.org/doc/html/rfc4634) and\n * [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf).\n * @module\n */\nconst _md_ts_1 = require(\"./_md.js\");\nconst u64 = require(\"./_u64.js\");\nconst utils_ts_1 = require(\"./utils.js\");\n/**\n * Round constants:\n * First 32 bits of fractional parts of the cube roots of the first 64 primes 2..311)\n */\n// prettier-ignore\nconst SHA256_K = /* @__PURE__ */ Uint32Array.from([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n/** Reusable temporary buffer. \"W\" comes straight from spec. */\nconst SHA256_W = /* @__PURE__ */ new Uint32Array(64);\nclass SHA256 extends _md_ts_1.HashMD {\n constructor(outputLen = 32) {\n super(64, outputLen, 8, false);\n // We cannot use array here since array allows indexing by variable\n // which means optimizer/compiler cannot use registers.\n this.A = _md_ts_1.SHA256_IV[0] | 0;\n this.B = _md_ts_1.SHA256_IV[1] | 0;\n this.C = _md_ts_1.SHA256_IV[2] | 0;\n this.D = _md_ts_1.SHA256_IV[3] | 0;\n this.E = _md_ts_1.SHA256_IV[4] | 0;\n this.F = _md_ts_1.SHA256_IV[5] | 0;\n this.G = _md_ts_1.SHA256_IV[6] | 0;\n this.H = _md_ts_1.SHA256_IV[7] | 0;\n }\n get() {\n const { A, B, C, D, E, F, G, H } = this;\n return [A, B, C, D, E, F, G, H];\n }\n // prettier-ignore\n set(A, B, C, D, E, F, G, H) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n this.F = F | 0;\n this.G = G | 0;\n this.H = H | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4)\n SHA256_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 64; i++) {\n const W15 = SHA256_W[i - 15];\n const W2 = SHA256_W[i - 2];\n const s0 = (0, utils_ts_1.rotr)(W15, 7) ^ (0, utils_ts_1.rotr)(W15, 18) ^ (W15 >>> 3);\n const s1 = (0, utils_ts_1.rotr)(W2, 17) ^ (0, utils_ts_1.rotr)(W2, 19) ^ (W2 >>> 10);\n SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n }\n // Compression function main loop, 64 rounds\n let { A, B, C, D, E, F, G, H } = this;\n for (let i = 0; i < 64; i++) {\n const sigma1 = (0, utils_ts_1.rotr)(E, 6) ^ (0, utils_ts_1.rotr)(E, 11) ^ (0, utils_ts_1.rotr)(E, 25);\n const T1 = (H + sigma1 + (0, _md_ts_1.Chi)(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const sigma0 = (0, utils_ts_1.rotr)(A, 2) ^ (0, utils_ts_1.rotr)(A, 13) ^ (0, utils_ts_1.rotr)(A, 22);\n const T2 = (sigma0 + (0, _md_ts_1.Maj)(A, B, C)) | 0;\n H = G;\n G = F;\n F = E;\n E = (D + T1) | 0;\n D = C;\n C = B;\n B = A;\n A = (T1 + T2) | 0;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n F = (F + this.F) | 0;\n G = (G + this.G) | 0;\n H = (H + this.H) | 0;\n this.set(A, B, C, D, E, F, G, H);\n }\n roundClean() {\n (0, utils_ts_1.clean)(SHA256_W);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n (0, utils_ts_1.clean)(this.buffer);\n }\n}\nexports.SHA256 = SHA256;\nclass SHA224 extends SHA256 {\n constructor() {\n super(28);\n this.A = _md_ts_1.SHA224_IV[0] | 0;\n this.B = _md_ts_1.SHA224_IV[1] | 0;\n this.C = _md_ts_1.SHA224_IV[2] | 0;\n this.D = _md_ts_1.SHA224_IV[3] | 0;\n this.E = _md_ts_1.SHA224_IV[4] | 0;\n this.F = _md_ts_1.SHA224_IV[5] | 0;\n this.G = _md_ts_1.SHA224_IV[6] | 0;\n this.H = _md_ts_1.SHA224_IV[7] | 0;\n }\n}\nexports.SHA224 = SHA224;\n// SHA2-512 is slower than sha256 in js because u64 operations are slow.\n// Round contants\n// First 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409\n// prettier-ignore\nconst K512 = /* @__PURE__ */ (() => u64.split([\n '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc',\n '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118',\n '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2',\n '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694',\n '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65',\n '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5',\n '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4',\n '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70',\n '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df',\n '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b',\n '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30',\n '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8',\n '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8',\n '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3',\n '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec',\n '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b',\n '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178',\n '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b',\n '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c',\n '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817'\n].map(n => BigInt(n))))();\nconst SHA512_Kh = /* @__PURE__ */ (() => K512[0])();\nconst SHA512_Kl = /* @__PURE__ */ (() => K512[1])();\n// Reusable temporary buffers\nconst SHA512_W_H = /* @__PURE__ */ new Uint32Array(80);\nconst SHA512_W_L = /* @__PURE__ */ new Uint32Array(80);\nclass SHA512 extends _md_ts_1.HashMD {\n constructor(outputLen = 64) {\n super(128, outputLen, 16, false);\n // We cannot use array here since array allows indexing by variable\n // which means optimizer/compiler cannot use registers.\n // h -- high 32 bits, l -- low 32 bits\n this.Ah = _md_ts_1.SHA512_IV[0] | 0;\n this.Al = _md_ts_1.SHA512_IV[1] | 0;\n this.Bh = _md_ts_1.SHA512_IV[2] | 0;\n this.Bl = _md_ts_1.SHA512_IV[3] | 0;\n this.Ch = _md_ts_1.SHA512_IV[4] | 0;\n this.Cl = _md_ts_1.SHA512_IV[5] | 0;\n this.Dh = _md_ts_1.SHA512_IV[6] | 0;\n this.Dl = _md_ts_1.SHA512_IV[7] | 0;\n this.Eh = _md_ts_1.SHA512_IV[8] | 0;\n this.El = _md_ts_1.SHA512_IV[9] | 0;\n this.Fh = _md_ts_1.SHA512_IV[10] | 0;\n this.Fl = _md_ts_1.SHA512_IV[11] | 0;\n this.Gh = _md_ts_1.SHA512_IV[12] | 0;\n this.Gl = _md_ts_1.SHA512_IV[13] | 0;\n this.Hh = _md_ts_1.SHA512_IV[14] | 0;\n this.Hl = _md_ts_1.SHA512_IV[15] | 0;\n }\n // prettier-ignore\n get() {\n const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl];\n }\n // prettier-ignore\n set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) {\n this.Ah = Ah | 0;\n this.Al = Al | 0;\n this.Bh = Bh | 0;\n this.Bl = Bl | 0;\n this.Ch = Ch | 0;\n this.Cl = Cl | 0;\n this.Dh = Dh | 0;\n this.Dl = Dl | 0;\n this.Eh = Eh | 0;\n this.El = El | 0;\n this.Fh = Fh | 0;\n this.Fl = Fl | 0;\n this.Gh = Gh | 0;\n this.Gl = Gl | 0;\n this.Hh = Hh | 0;\n this.Hl = Hl | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4) {\n SHA512_W_H[i] = view.getUint32(offset);\n SHA512_W_L[i] = view.getUint32((offset += 4));\n }\n for (let i = 16; i < 80; i++) {\n // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7)\n const W15h = SHA512_W_H[i - 15] | 0;\n const W15l = SHA512_W_L[i - 15] | 0;\n const s0h = u64.rotrSH(W15h, W15l, 1) ^ u64.rotrSH(W15h, W15l, 8) ^ u64.shrSH(W15h, W15l, 7);\n const s0l = u64.rotrSL(W15h, W15l, 1) ^ u64.rotrSL(W15h, W15l, 8) ^ u64.shrSL(W15h, W15l, 7);\n // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6)\n const W2h = SHA512_W_H[i - 2] | 0;\n const W2l = SHA512_W_L[i - 2] | 0;\n const s1h = u64.rotrSH(W2h, W2l, 19) ^ u64.rotrBH(W2h, W2l, 61) ^ u64.shrSH(W2h, W2l, 6);\n const s1l = u64.rotrSL(W2h, W2l, 19) ^ u64.rotrBL(W2h, W2l, 61) ^ u64.shrSL(W2h, W2l, 6);\n // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16];\n const SUMl = u64.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]);\n const SUMh = u64.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]);\n SHA512_W_H[i] = SUMh | 0;\n SHA512_W_L[i] = SUMl | 0;\n }\n let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n // Compression function main loop, 80 rounds\n for (let i = 0; i < 80; i++) {\n // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41)\n const sigma1h = u64.rotrSH(Eh, El, 14) ^ u64.rotrSH(Eh, El, 18) ^ u64.rotrBH(Eh, El, 41);\n const sigma1l = u64.rotrSL(Eh, El, 14) ^ u64.rotrSL(Eh, El, 18) ^ u64.rotrBL(Eh, El, 41);\n //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const CHIh = (Eh & Fh) ^ (~Eh & Gh);\n const CHIl = (El & Fl) ^ (~El & Gl);\n // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i]\n // prettier-ignore\n const T1ll = u64.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]);\n const T1h = u64.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]);\n const T1l = T1ll | 0;\n // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39)\n const sigma0h = u64.rotrSH(Ah, Al, 28) ^ u64.rotrBH(Ah, Al, 34) ^ u64.rotrBH(Ah, Al, 39);\n const sigma0l = u64.rotrSL(Ah, Al, 28) ^ u64.rotrBL(Ah, Al, 34) ^ u64.rotrBL(Ah, Al, 39);\n const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch);\n const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl);\n Hh = Gh | 0;\n Hl = Gl | 0;\n Gh = Fh | 0;\n Gl = Fl | 0;\n Fh = Eh | 0;\n Fl = El | 0;\n ({ h: Eh, l: El } = u64.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0));\n Dh = Ch | 0;\n Dl = Cl | 0;\n Ch = Bh | 0;\n Cl = Bl | 0;\n Bh = Ah | 0;\n Bl = Al | 0;\n const All = u64.add3L(T1l, sigma0l, MAJl);\n Ah = u64.add3H(All, T1h, sigma0h, MAJh);\n Al = All | 0;\n }\n // Add the compressed chunk to the current hash value\n ({ h: Ah, l: Al } = u64.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0));\n ({ h: Bh, l: Bl } = u64.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0));\n ({ h: Ch, l: Cl } = u64.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0));\n ({ h: Dh, l: Dl } = u64.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0));\n ({ h: Eh, l: El } = u64.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0));\n ({ h: Fh, l: Fl } = u64.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0));\n ({ h: Gh, l: Gl } = u64.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0));\n ({ h: Hh, l: Hl } = u64.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0));\n this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl);\n }\n roundClean() {\n (0, utils_ts_1.clean)(SHA512_W_H, SHA512_W_L);\n }\n destroy() {\n (0, utils_ts_1.clean)(this.buffer);\n this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n }\n}\nexports.SHA512 = SHA512;\nclass SHA384 extends SHA512 {\n constructor() {\n super(48);\n this.Ah = _md_ts_1.SHA384_IV[0] | 0;\n this.Al = _md_ts_1.SHA384_IV[1] | 0;\n this.Bh = _md_ts_1.SHA384_IV[2] | 0;\n this.Bl = _md_ts_1.SHA384_IV[3] | 0;\n this.Ch = _md_ts_1.SHA384_IV[4] | 0;\n this.Cl = _md_ts_1.SHA384_IV[5] | 0;\n this.Dh = _md_ts_1.SHA384_IV[6] | 0;\n this.Dl = _md_ts_1.SHA384_IV[7] | 0;\n this.Eh = _md_ts_1.SHA384_IV[8] | 0;\n this.El = _md_ts_1.SHA384_IV[9] | 0;\n this.Fh = _md_ts_1.SHA384_IV[10] | 0;\n this.Fl = _md_ts_1.SHA384_IV[11] | 0;\n this.Gh = _md_ts_1.SHA384_IV[12] | 0;\n this.Gl = _md_ts_1.SHA384_IV[13] | 0;\n this.Hh = _md_ts_1.SHA384_IV[14] | 0;\n this.Hl = _md_ts_1.SHA384_IV[15] | 0;\n }\n}\nexports.SHA384 = SHA384;\n/**\n * Truncated SHA512/256 and SHA512/224.\n * SHA512_IV is XORed with 0xa5a5a5a5a5a5a5a5, then used as \"intermediary\" IV of SHA512/t.\n * Then t hashes string to produce result IV.\n * See `test/misc/sha2-gen-iv.js`.\n */\n/** SHA512/224 IV */\nconst T224_IV = /* @__PURE__ */ Uint32Array.from([\n 0x8c3d37c8, 0x19544da2, 0x73e19966, 0x89dcd4d6, 0x1dfab7ae, 0x32ff9c82, 0x679dd514, 0x582f9fcf,\n 0x0f6d2b69, 0x7bd44da8, 0x77e36f73, 0x04c48942, 0x3f9d85a8, 0x6a1d36c8, 0x1112e6ad, 0x91d692a1,\n]);\n/** SHA512/256 IV */\nconst T256_IV = /* @__PURE__ */ Uint32Array.from([\n 0x22312194, 0xfc2bf72c, 0x9f555fa3, 0xc84c64c2, 0x2393b86b, 0x6f53b151, 0x96387719, 0x5940eabd,\n 0x96283ee2, 0xa88effe3, 0xbe5e1e25, 0x53863992, 0x2b0199fc, 0x2c85b8aa, 0x0eb72ddc, 0x81c52ca2,\n]);\nclass SHA512_224 extends SHA512 {\n constructor() {\n super(28);\n this.Ah = T224_IV[0] | 0;\n this.Al = T224_IV[1] | 0;\n this.Bh = T224_IV[2] | 0;\n this.Bl = T224_IV[3] | 0;\n this.Ch = T224_IV[4] | 0;\n this.Cl = T224_IV[5] | 0;\n this.Dh = T224_IV[6] | 0;\n this.Dl = T224_IV[7] | 0;\n this.Eh = T224_IV[8] | 0;\n this.El = T224_IV[9] | 0;\n this.Fh = T224_IV[10] | 0;\n this.Fl = T224_IV[11] | 0;\n this.Gh = T224_IV[12] | 0;\n this.Gl = T224_IV[13] | 0;\n this.Hh = T224_IV[14] | 0;\n this.Hl = T224_IV[15] | 0;\n }\n}\nexports.SHA512_224 = SHA512_224;\nclass SHA512_256 extends SHA512 {\n constructor() {\n super(32);\n this.Ah = T256_IV[0] | 0;\n this.Al = T256_IV[1] | 0;\n this.Bh = T256_IV[2] | 0;\n this.Bl = T256_IV[3] | 0;\n this.Ch = T256_IV[4] | 0;\n this.Cl = T256_IV[5] | 0;\n this.Dh = T256_IV[6] | 0;\n this.Dl = T256_IV[7] | 0;\n this.Eh = T256_IV[8] | 0;\n this.El = T256_IV[9] | 0;\n this.Fh = T256_IV[10] | 0;\n this.Fl = T256_IV[11] | 0;\n this.Gh = T256_IV[12] | 0;\n this.Gl = T256_IV[13] | 0;\n this.Hh = T256_IV[14] | 0;\n this.Hl = T256_IV[15] | 0;\n }\n}\nexports.SHA512_256 = SHA512_256;\n/**\n * SHA2-256 hash function from RFC 4634.\n *\n * It is the fastest JS hash, even faster than Blake3.\n * To break sha256 using birthday attack, attackers need to try 2^128 hashes.\n * BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025.\n */\nexports.sha256 = (0, utils_ts_1.createHasher)(() => new SHA256());\n/** SHA2-224 hash function from RFC 4634 */\nexports.sha224 = (0, utils_ts_1.createHasher)(() => new SHA224());\n/** SHA2-512 hash function from RFC 4634. */\nexports.sha512 = (0, utils_ts_1.createHasher)(() => new SHA512());\n/** SHA2-384 hash function from RFC 4634. */\nexports.sha384 = (0, utils_ts_1.createHasher)(() => new SHA384());\n/**\n * SHA2-512/256 \"truncated\" hash function, with improved resistance to length extension attacks.\n * See the paper on [truncated SHA512](https://eprint.iacr.org/2010/548.pdf).\n */\nexports.sha512_256 = (0, utils_ts_1.createHasher)(() => new SHA512_256());\n/**\n * SHA2-512/224 \"truncated\" hash function, with improved resistance to length extension attacks.\n * See the paper on [truncated SHA512](https://eprint.iacr.org/2010/548.pdf).\n */\nexports.sha512_224 = (0, utils_ts_1.createHasher)(() => new SHA512_224());\n//# sourceMappingURL=sha2.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sha224 = exports.SHA224 = exports.sha256 = exports.SHA256 = void 0;\n/**\n * SHA2-256 a.k.a. sha256. In JS, it is the fastest hash, even faster than Blake3.\n *\n * To break sha256 using birthday attack, attackers need to try 2^128 hashes.\n * BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025.\n *\n * Check out [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf).\n * @module\n * @deprecated\n */\nconst sha2_ts_1 = require(\"./sha2.js\");\n/** @deprecated Use import from `noble/hashes/sha2` module */\nexports.SHA256 = sha2_ts_1.SHA256;\n/** @deprecated Use import from `noble/hashes/sha2` module */\nexports.sha256 = sha2_ts_1.sha256;\n/** @deprecated Use import from `noble/hashes/sha2` module */\nexports.SHA224 = sha2_ts_1.SHA224;\n/** @deprecated Use import from `noble/hashes/sha2` module */\nexports.sha224 = sha2_ts_1.sha224;\n//# sourceMappingURL=sha256.js.map","export default {}","\"use strict\";\n/*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.utils = exports.schnorr = exports.verify = exports.signSync = exports.sign = exports.getSharedSecret = exports.recoverPublicKey = exports.getPublicKey = exports.hexToBytes = exports.bytesToHex = exports.Signature = exports.Point = exports.CURVE = void 0;\nconst nodeCrypto = require(\"crypto\");\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst _3n = BigInt(3);\nconst _8n = BigInt(8);\nconst CURVE = Object.freeze({\n a: _0n,\n b: BigInt(7),\n P: BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f'),\n n: BigInt('0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141'),\n h: _1n,\n Gx: BigInt('55066263022277343669578718895168534326250603453777594175500187360389116729240'),\n Gy: BigInt('32670510020758816978083085130507043184471273380659243275938904335757337482424'),\n beta: BigInt('0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee'),\n});\nexports.CURVE = CURVE;\nconst divNearest = (a, b) => (a + b / _2n) / b;\nconst endo = {\n beta: BigInt('0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee'),\n splitScalar(k) {\n const { n } = CURVE;\n const a1 = BigInt('0x3086d221a7d46bcde86c90e49284eb15');\n const b1 = -_1n * BigInt('0xe4437ed6010e88286f547fa90abfe4c3');\n const a2 = BigInt('0x114ca50f7a8e2f3f657c1108d9d44cfd8');\n const b2 = a1;\n const POW_2_128 = BigInt('0x100000000000000000000000000000000');\n const c1 = divNearest(b2 * k, n);\n const c2 = divNearest(-b1 * k, n);\n let k1 = mod(k - c1 * a1 - c2 * a2, n);\n let k2 = mod(-c1 * b1 - c2 * b2, n);\n const k1neg = k1 > POW_2_128;\n const k2neg = k2 > POW_2_128;\n if (k1neg)\n k1 = n - k1;\n if (k2neg)\n k2 = n - k2;\n if (k1 > POW_2_128 || k2 > POW_2_128) {\n throw new Error('splitScalarEndo: Endomorphism failed, k=' + k);\n }\n return { k1neg, k1, k2neg, k2 };\n },\n};\nconst fieldLen = 32;\nconst groupLen = 32;\nconst hashLen = 32;\nconst compressedLen = fieldLen + 1;\nconst uncompressedLen = 2 * fieldLen + 1;\nfunction weierstrass(x) {\n const { a, b } = CURVE;\n const x2 = mod(x * x);\n const x3 = mod(x2 * x);\n return mod(x3 + a * x + b);\n}\nconst USE_ENDOMORPHISM = CURVE.a === _0n;\nclass ShaError extends Error {\n constructor(message) {\n super(message);\n }\n}\nfunction assertJacPoint(other) {\n if (!(other instanceof JacobianPoint))\n throw new TypeError('JacobianPoint expected');\n}\nclass JacobianPoint {\n constructor(x, y, z) {\n this.x = x;\n this.y = y;\n this.z = z;\n }\n static fromAffine(p) {\n if (!(p instanceof Point)) {\n throw new TypeError('JacobianPoint#fromAffine: expected Point');\n }\n if (p.equals(Point.ZERO))\n return JacobianPoint.ZERO;\n return new JacobianPoint(p.x, p.y, _1n);\n }\n static toAffineBatch(points) {\n const toInv = invertBatch(points.map((p) => p.z));\n return points.map((p, i) => p.toAffine(toInv[i]));\n }\n static normalizeZ(points) {\n return JacobianPoint.toAffineBatch(points).map(JacobianPoint.fromAffine);\n }\n equals(other) {\n assertJacPoint(other);\n const { x: X1, y: Y1, z: Z1 } = this;\n const { x: X2, y: Y2, z: Z2 } = other;\n const Z1Z1 = mod(Z1 * Z1);\n const Z2Z2 = mod(Z2 * Z2);\n const U1 = mod(X1 * Z2Z2);\n const U2 = mod(X2 * Z1Z1);\n const S1 = mod(mod(Y1 * Z2) * Z2Z2);\n const S2 = mod(mod(Y2 * Z1) * Z1Z1);\n return U1 === U2 && S1 === S2;\n }\n negate() {\n return new JacobianPoint(this.x, mod(-this.y), this.z);\n }\n double() {\n const { x: X1, y: Y1, z: Z1 } = this;\n const A = mod(X1 * X1);\n const B = mod(Y1 * Y1);\n const C = mod(B * B);\n const x1b = X1 + B;\n const D = mod(_2n * (mod(x1b * x1b) - A - C));\n const E = mod(_3n * A);\n const F = mod(E * E);\n const X3 = mod(F - _2n * D);\n const Y3 = mod(E * (D - X3) - _8n * C);\n const Z3 = mod(_2n * Y1 * Z1);\n return new JacobianPoint(X3, Y3, Z3);\n }\n add(other) {\n assertJacPoint(other);\n const { x: X1, y: Y1, z: Z1 } = this;\n const { x: X2, y: Y2, z: Z2 } = other;\n if (X2 === _0n || Y2 === _0n)\n return this;\n if (X1 === _0n || Y1 === _0n)\n return other;\n const Z1Z1 = mod(Z1 * Z1);\n const Z2Z2 = mod(Z2 * Z2);\n const U1 = mod(X1 * Z2Z2);\n const U2 = mod(X2 * Z1Z1);\n const S1 = mod(mod(Y1 * Z2) * Z2Z2);\n const S2 = mod(mod(Y2 * Z1) * Z1Z1);\n const H = mod(U2 - U1);\n const r = mod(S2 - S1);\n if (H === _0n) {\n if (r === _0n) {\n return this.double();\n }\n else {\n return JacobianPoint.ZERO;\n }\n }\n const HH = mod(H * H);\n const HHH = mod(H * HH);\n const V = mod(U1 * HH);\n const X3 = mod(r * r - HHH - _2n * V);\n const Y3 = mod(r * (V - X3) - S1 * HHH);\n const Z3 = mod(Z1 * Z2 * H);\n return new JacobianPoint(X3, Y3, Z3);\n }\n subtract(other) {\n return this.add(other.negate());\n }\n multiplyUnsafe(scalar) {\n const P0 = JacobianPoint.ZERO;\n if (typeof scalar === 'bigint' && scalar === _0n)\n return P0;\n let n = normalizeScalar(scalar);\n if (n === _1n)\n return this;\n if (!USE_ENDOMORPHISM) {\n let p = P0;\n let d = this;\n while (n > _0n) {\n if (n & _1n)\n p = p.add(d);\n d = d.double();\n n >>= _1n;\n }\n return p;\n }\n let { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n let k1p = P0;\n let k2p = P0;\n let d = this;\n while (k1 > _0n || k2 > _0n) {\n if (k1 & _1n)\n k1p = k1p.add(d);\n if (k2 & _1n)\n k2p = k2p.add(d);\n d = d.double();\n k1 >>= _1n;\n k2 >>= _1n;\n }\n if (k1neg)\n k1p = k1p.negate();\n if (k2neg)\n k2p = k2p.negate();\n k2p = new JacobianPoint(mod(k2p.x * endo.beta), k2p.y, k2p.z);\n return k1p.add(k2p);\n }\n precomputeWindow(W) {\n const windows = USE_ENDOMORPHISM ? 128 / W + 1 : 256 / W + 1;\n const points = [];\n let p = this;\n let base = p;\n for (let window = 0; window < windows; window++) {\n base = p;\n points.push(base);\n for (let i = 1; i < 2 ** (W - 1); i++) {\n base = base.add(p);\n points.push(base);\n }\n p = base.double();\n }\n return points;\n }\n wNAF(n, affinePoint) {\n if (!affinePoint && this.equals(JacobianPoint.BASE))\n affinePoint = Point.BASE;\n const W = (affinePoint && affinePoint._WINDOW_SIZE) || 1;\n if (256 % W) {\n throw new Error('Point#wNAF: Invalid precomputation window, must be power of 2');\n }\n let precomputes = affinePoint && pointPrecomputes.get(affinePoint);\n if (!precomputes) {\n precomputes = this.precomputeWindow(W);\n if (affinePoint && W !== 1) {\n precomputes = JacobianPoint.normalizeZ(precomputes);\n pointPrecomputes.set(affinePoint, precomputes);\n }\n }\n let p = JacobianPoint.ZERO;\n let f = JacobianPoint.BASE;\n const windows = 1 + (USE_ENDOMORPHISM ? 128 / W : 256 / W);\n const windowSize = 2 ** (W - 1);\n const mask = BigInt(2 ** W - 1);\n const maxNumber = 2 ** W;\n const shiftBy = BigInt(W);\n for (let window = 0; window < windows; window++) {\n const offset = window * windowSize;\n let wbits = Number(n & mask);\n n >>= shiftBy;\n if (wbits > windowSize) {\n wbits -= maxNumber;\n n += _1n;\n }\n const offset1 = offset;\n const offset2 = offset + Math.abs(wbits) - 1;\n const cond1 = window % 2 !== 0;\n const cond2 = wbits < 0;\n if (wbits === 0) {\n f = f.add(constTimeNegate(cond1, precomputes[offset1]));\n }\n else {\n p = p.add(constTimeNegate(cond2, precomputes[offset2]));\n }\n }\n return { p, f };\n }\n multiply(scalar, affinePoint) {\n let n = normalizeScalar(scalar);\n let point;\n let fake;\n if (USE_ENDOMORPHISM) {\n const { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n let { p: k1p, f: f1p } = this.wNAF(k1, affinePoint);\n let { p: k2p, f: f2p } = this.wNAF(k2, affinePoint);\n k1p = constTimeNegate(k1neg, k1p);\n k2p = constTimeNegate(k2neg, k2p);\n k2p = new JacobianPoint(mod(k2p.x * endo.beta), k2p.y, k2p.z);\n point = k1p.add(k2p);\n fake = f1p.add(f2p);\n }\n else {\n const { p, f } = this.wNAF(n, affinePoint);\n point = p;\n fake = f;\n }\n return JacobianPoint.normalizeZ([point, fake])[0];\n }\n toAffine(invZ) {\n const { x, y, z } = this;\n const is0 = this.equals(JacobianPoint.ZERO);\n if (invZ == null)\n invZ = is0 ? _8n : invert(z);\n const iz1 = invZ;\n const iz2 = mod(iz1 * iz1);\n const iz3 = mod(iz2 * iz1);\n const ax = mod(x * iz2);\n const ay = mod(y * iz3);\n const zz = mod(z * iz1);\n if (is0)\n return Point.ZERO;\n if (zz !== _1n)\n throw new Error('invZ was invalid');\n return new Point(ax, ay);\n }\n}\nJacobianPoint.BASE = new JacobianPoint(CURVE.Gx, CURVE.Gy, _1n);\nJacobianPoint.ZERO = new JacobianPoint(_0n, _1n, _0n);\nfunction constTimeNegate(condition, item) {\n const neg = item.negate();\n return condition ? neg : item;\n}\nconst pointPrecomputes = new WeakMap();\nclass Point {\n constructor(x, y) {\n this.x = x;\n this.y = y;\n }\n _setWindowSize(windowSize) {\n this._WINDOW_SIZE = windowSize;\n pointPrecomputes.delete(this);\n }\n hasEvenY() {\n return this.y % _2n === _0n;\n }\n static fromCompressedHex(bytes) {\n const isShort = bytes.length === 32;\n const x = bytesToNumber(isShort ? bytes : bytes.subarray(1));\n if (!isValidFieldElement(x))\n throw new Error('Point is not on curve');\n const y2 = weierstrass(x);\n let y = sqrtMod(y2);\n const isYOdd = (y & _1n) === _1n;\n if (isShort) {\n if (isYOdd)\n y = mod(-y);\n }\n else {\n const isFirstByteOdd = (bytes[0] & 1) === 1;\n if (isFirstByteOdd !== isYOdd)\n y = mod(-y);\n }\n const point = new Point(x, y);\n point.assertValidity();\n return point;\n }\n static fromUncompressedHex(bytes) {\n const x = bytesToNumber(bytes.subarray(1, fieldLen + 1));\n const y = bytesToNumber(bytes.subarray(fieldLen + 1, fieldLen * 2 + 1));\n const point = new Point(x, y);\n point.assertValidity();\n return point;\n }\n static fromHex(hex) {\n const bytes = ensureBytes(hex);\n const len = bytes.length;\n const header = bytes[0];\n if (len === fieldLen)\n return this.fromCompressedHex(bytes);\n if (len === compressedLen && (header === 0x02 || header === 0x03)) {\n return this.fromCompressedHex(bytes);\n }\n if (len === uncompressedLen && header === 0x04)\n return this.fromUncompressedHex(bytes);\n throw new Error(`Point.fromHex: received invalid point. Expected 32-${compressedLen} compressed bytes or ${uncompressedLen} uncompressed bytes, not ${len}`);\n }\n static fromPrivateKey(privateKey) {\n return Point.BASE.multiply(normalizePrivateKey(privateKey));\n }\n static fromSignature(msgHash, signature, recovery) {\n const { r, s } = normalizeSignature(signature);\n if (![0, 1, 2, 3].includes(recovery))\n throw new Error('Cannot recover: invalid recovery bit');\n const h = truncateHash(ensureBytes(msgHash));\n const { n } = CURVE;\n const radj = recovery === 2 || recovery === 3 ? r + n : r;\n const rinv = invert(radj, n);\n const u1 = mod(-h * rinv, n);\n const u2 = mod(s * rinv, n);\n const prefix = recovery & 1 ? '03' : '02';\n const R = Point.fromHex(prefix + numTo32bStr(radj));\n const Q = Point.BASE.multiplyAndAddUnsafe(R, u1, u2);\n if (!Q)\n throw new Error('Cannot recover signature: point at infinify');\n Q.assertValidity();\n return Q;\n }\n toRawBytes(isCompressed = false) {\n return hexToBytes(this.toHex(isCompressed));\n }\n toHex(isCompressed = false) {\n const x = numTo32bStr(this.x);\n if (isCompressed) {\n const prefix = this.hasEvenY() ? '02' : '03';\n return `${prefix}${x}`;\n }\n else {\n return `04${x}${numTo32bStr(this.y)}`;\n }\n }\n toHexX() {\n return this.toHex(true).slice(2);\n }\n toRawX() {\n return this.toRawBytes(true).slice(1);\n }\n assertValidity() {\n const msg = 'Point is not on elliptic curve';\n const { x, y } = this;\n if (!isValidFieldElement(x) || !isValidFieldElement(y))\n throw new Error(msg);\n const left = mod(y * y);\n const right = weierstrass(x);\n if (mod(left - right) !== _0n)\n throw new Error(msg);\n }\n equals(other) {\n return this.x === other.x && this.y === other.y;\n }\n negate() {\n return new Point(this.x, mod(-this.y));\n }\n double() {\n return JacobianPoint.fromAffine(this).double().toAffine();\n }\n add(other) {\n return JacobianPoint.fromAffine(this).add(JacobianPoint.fromAffine(other)).toAffine();\n }\n subtract(other) {\n return this.add(other.negate());\n }\n multiply(scalar) {\n return JacobianPoint.fromAffine(this).multiply(scalar, this).toAffine();\n }\n multiplyAndAddUnsafe(Q, a, b) {\n const P = JacobianPoint.fromAffine(this);\n const aP = a === _0n || a === _1n || this !== Point.BASE ? P.multiplyUnsafe(a) : P.multiply(a);\n const bQ = JacobianPoint.fromAffine(Q).multiplyUnsafe(b);\n const sum = aP.add(bQ);\n return sum.equals(JacobianPoint.ZERO) ? undefined : sum.toAffine();\n }\n}\nexports.Point = Point;\nPoint.BASE = new Point(CURVE.Gx, CURVE.Gy);\nPoint.ZERO = new Point(_0n, _0n);\nfunction sliceDER(s) {\n return Number.parseInt(s[0], 16) >= 8 ? '00' + s : s;\n}\nfunction parseDERInt(data) {\n if (data.length < 2 || data[0] !== 0x02) {\n throw new Error(`Invalid signature integer tag: ${bytesToHex(data)}`);\n }\n const len = data[1];\n const res = data.subarray(2, len + 2);\n if (!len || res.length !== len) {\n throw new Error(`Invalid signature integer: wrong length`);\n }\n if (res[0] === 0x00 && res[1] <= 0x7f) {\n throw new Error('Invalid signature integer: trailing length');\n }\n return { data: bytesToNumber(res), left: data.subarray(len + 2) };\n}\nfunction parseDERSignature(data) {\n if (data.length < 2 || data[0] != 0x30) {\n throw new Error(`Invalid signature tag: ${bytesToHex(data)}`);\n }\n if (data[1] !== data.length - 2) {\n throw new Error('Invalid signature: incorrect length');\n }\n const { data: r, left: sBytes } = parseDERInt(data.subarray(2));\n const { data: s, left: rBytesLeft } = parseDERInt(sBytes);\n if (rBytesLeft.length) {\n throw new Error(`Invalid signature: left bytes after parsing: ${bytesToHex(rBytesLeft)}`);\n }\n return { r, s };\n}\nclass Signature {\n constructor(r, s) {\n this.r = r;\n this.s = s;\n this.assertValidity();\n }\n static fromCompact(hex) {\n const arr = isBytes(hex);\n const name = 'Signature.fromCompact';\n if (typeof hex !== 'string' && !arr)\n throw new TypeError(`${name}: Expected string or Uint8Array`);\n const str = arr ? bytesToHex(hex) : hex;\n if (str.length !== 128)\n throw new Error(`${name}: Expected 64-byte hex`);\n return new Signature(hexToNumber(str.slice(0, 64)), hexToNumber(str.slice(64, 128)));\n }\n static fromDER(hex) {\n const arr = isBytes(hex);\n if (typeof hex !== 'string' && !arr)\n throw new TypeError(`Signature.fromDER: Expected string or Uint8Array`);\n const { r, s } = parseDERSignature(arr ? hex : hexToBytes(hex));\n return new Signature(r, s);\n }\n static fromHex(hex) {\n return this.fromDER(hex);\n }\n assertValidity() {\n const { r, s } = this;\n if (!isWithinCurveOrder(r))\n throw new Error('Invalid Signature: r must be 0 < r < n');\n if (!isWithinCurveOrder(s))\n throw new Error('Invalid Signature: s must be 0 < s < n');\n }\n hasHighS() {\n const HALF = CURVE.n >> _1n;\n return this.s > HALF;\n }\n normalizeS() {\n return this.hasHighS() ? new Signature(this.r, mod(-this.s, CURVE.n)) : this;\n }\n toDERRawBytes() {\n return hexToBytes(this.toDERHex());\n }\n toDERHex() {\n const sHex = sliceDER(numberToHexUnpadded(this.s));\n const rHex = sliceDER(numberToHexUnpadded(this.r));\n const sHexL = sHex.length / 2;\n const rHexL = rHex.length / 2;\n const sLen = numberToHexUnpadded(sHexL);\n const rLen = numberToHexUnpadded(rHexL);\n const length = numberToHexUnpadded(rHexL + sHexL + 4);\n return `30${length}02${rLen}${rHex}02${sLen}${sHex}`;\n }\n toRawBytes() {\n return this.toDERRawBytes();\n }\n toHex() {\n return this.toDERHex();\n }\n toCompactRawBytes() {\n return hexToBytes(this.toCompactHex());\n }\n toCompactHex() {\n return numTo32bStr(this.r) + numTo32bStr(this.s);\n }\n}\nexports.Signature = Signature;\nfunction isBytes(a) {\n return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\nfunction abytes(item) {\n if (!isBytes(item))\n throw new Error('Uint8Array expected');\n}\nfunction concatBytes(...arrays) {\n arrays.every(abytes);\n if (arrays.length === 1)\n return arrays[0];\n const length = arrays.reduce((a, arr) => a + arr.length, 0);\n const result = new Uint8Array(length);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const arr = arrays[i];\n result.set(arr, pad);\n pad += arr.length;\n }\n return result;\n}\nconst hexes = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\nfunction bytesToHex(bytes) {\n abytes(bytes);\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\nexports.bytesToHex = bytesToHex;\nconst asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };\nfunction asciiToBase16(ch) {\n if (ch >= asciis._0 && ch <= asciis._9)\n return ch - asciis._0;\n if (ch >= asciis.A && ch <= asciis.F)\n return ch - (asciis.A - 10);\n if (ch >= asciis.a && ch <= asciis.f)\n return ch - (asciis.a - 10);\n return;\n}\nfunction hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2)\n throw new Error('hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2;\n }\n return array;\n}\nexports.hexToBytes = hexToBytes;\nconst POW_2_256 = BigInt('0x10000000000000000000000000000000000000000000000000000000000000000');\nfunction numTo32bStr(num) {\n if (typeof num !== 'bigint')\n throw new Error('Expected bigint');\n if (!(_0n <= num && num < POW_2_256))\n throw new Error('Expected number 0 <= n < 2^256');\n return num.toString(16).padStart(64, '0');\n}\nfunction numTo32b(num) {\n const b = hexToBytes(numTo32bStr(num));\n if (b.length !== 32)\n throw new Error('Error: expected 32 bytes');\n return b;\n}\nfunction numberToHexUnpadded(num) {\n const hex = num.toString(16);\n return hex.length & 1 ? `0${hex}` : hex;\n}\nfunction hexToNumber(hex) {\n if (typeof hex !== 'string') {\n throw new TypeError('hexToNumber: expected string, got ' + typeof hex);\n }\n return BigInt(`0x${hex}`);\n}\nfunction bytesToNumber(bytes) {\n return hexToNumber(bytesToHex(bytes));\n}\nfunction ensureBytes(hex) {\n return isBytes(hex) ? Uint8Array.from(hex) : hexToBytes(hex);\n}\nfunction normalizeScalar(num) {\n if (typeof num === 'number' && Number.isSafeInteger(num) && num > 0)\n return BigInt(num);\n if (typeof num === 'bigint' && isWithinCurveOrder(num))\n return num;\n throw new TypeError('Expected valid private scalar: 0 < scalar < curve.n');\n}\nfunction mod(a, b = CURVE.P) {\n const result = a % b;\n return result >= _0n ? result : b + result;\n}\nfunction pow2(x, power) {\n const { P } = CURVE;\n let res = x;\n while (power-- > _0n) {\n res *= res;\n res %= P;\n }\n return res;\n}\nfunction sqrtMod(x) {\n const { P } = CURVE;\n const _6n = BigInt(6);\n const _11n = BigInt(11);\n const _22n = BigInt(22);\n const _23n = BigInt(23);\n const _44n = BigInt(44);\n const _88n = BigInt(88);\n const b2 = (x * x * x) % P;\n const b3 = (b2 * b2 * x) % P;\n const b6 = (pow2(b3, _3n) * b3) % P;\n const b9 = (pow2(b6, _3n) * b3) % P;\n const b11 = (pow2(b9, _2n) * b2) % P;\n const b22 = (pow2(b11, _11n) * b11) % P;\n const b44 = (pow2(b22, _22n) * b22) % P;\n const b88 = (pow2(b44, _44n) * b44) % P;\n const b176 = (pow2(b88, _88n) * b88) % P;\n const b220 = (pow2(b176, _44n) * b44) % P;\n const b223 = (pow2(b220, _3n) * b3) % P;\n const t1 = (pow2(b223, _23n) * b22) % P;\n const t2 = (pow2(t1, _6n) * b2) % P;\n const rt = pow2(t2, _2n);\n const xc = (rt * rt) % P;\n if (xc !== x)\n throw new Error('Cannot find square root');\n return rt;\n}\nfunction invert(number, modulo = CURVE.P) {\n if (number === _0n || modulo <= _0n) {\n throw new Error(`invert: expected positive integers, got n=${number} mod=${modulo}`);\n }\n let a = mod(number, modulo);\n let b = modulo;\n let x = _0n, y = _1n, u = _1n, v = _0n;\n while (a !== _0n) {\n const q = b / a;\n const r = b % a;\n const m = x - u * q;\n const n = y - v * q;\n b = a, a = r, x = u, y = v, u = m, v = n;\n }\n const gcd = b;\n if (gcd !== _1n)\n throw new Error('invert: does not exist');\n return mod(x, modulo);\n}\nfunction invertBatch(nums, p = CURVE.P) {\n const scratch = new Array(nums.length);\n const lastMultiplied = nums.reduce((acc, num, i) => {\n if (num === _0n)\n return acc;\n scratch[i] = acc;\n return mod(acc * num, p);\n }, _1n);\n const inverted = invert(lastMultiplied, p);\n nums.reduceRight((acc, num, i) => {\n if (num === _0n)\n return acc;\n scratch[i] = mod(acc * scratch[i], p);\n return mod(acc * num, p);\n }, inverted);\n return scratch;\n}\nfunction bits2int_2(bytes) {\n const delta = bytes.length * 8 - groupLen * 8;\n const num = bytesToNumber(bytes);\n return delta > 0 ? num >> BigInt(delta) : num;\n}\nfunction truncateHash(hash, truncateOnly = false) {\n const h = bits2int_2(hash);\n if (truncateOnly)\n return h;\n const { n } = CURVE;\n return h >= n ? h - n : h;\n}\nlet _sha256Sync;\nlet _hmacSha256Sync;\nclass HmacDrbg {\n constructor(hashLen, qByteLen) {\n this.hashLen = hashLen;\n this.qByteLen = qByteLen;\n if (typeof hashLen !== 'number' || hashLen < 2)\n throw new Error('hashLen must be a number');\n if (typeof qByteLen !== 'number' || qByteLen < 2)\n throw new Error('qByteLen must be a number');\n this.v = new Uint8Array(hashLen).fill(1);\n this.k = new Uint8Array(hashLen).fill(0);\n this.counter = 0;\n }\n hmac(...values) {\n return exports.utils.hmacSha256(this.k, ...values);\n }\n hmacSync(...values) {\n return _hmacSha256Sync(this.k, ...values);\n }\n checkSync() {\n if (typeof _hmacSha256Sync !== 'function')\n throw new ShaError('hmacSha256Sync needs to be set');\n }\n incr() {\n if (this.counter >= 1000)\n throw new Error('Tried 1,000 k values for sign(), all were invalid');\n this.counter += 1;\n }\n async reseed(seed = new Uint8Array()) {\n this.k = await this.hmac(this.v, Uint8Array.from([0x00]), seed);\n this.v = await this.hmac(this.v);\n if (seed.length === 0)\n return;\n this.k = await this.hmac(this.v, Uint8Array.from([0x01]), seed);\n this.v = await this.hmac(this.v);\n }\n reseedSync(seed = new Uint8Array()) {\n this.checkSync();\n this.k = this.hmacSync(this.v, Uint8Array.from([0x00]), seed);\n this.v = this.hmacSync(this.v);\n if (seed.length === 0)\n return;\n this.k = this.hmacSync(this.v, Uint8Array.from([0x01]), seed);\n this.v = this.hmacSync(this.v);\n }\n async generate() {\n this.incr();\n let len = 0;\n const out = [];\n while (len < this.qByteLen) {\n this.v = await this.hmac(this.v);\n const sl = this.v.slice();\n out.push(sl);\n len += this.v.length;\n }\n return concatBytes(...out);\n }\n generateSync() {\n this.checkSync();\n this.incr();\n let len = 0;\n const out = [];\n while (len < this.qByteLen) {\n this.v = this.hmacSync(this.v);\n const sl = this.v.slice();\n out.push(sl);\n len += this.v.length;\n }\n return concatBytes(...out);\n }\n}\nfunction isWithinCurveOrder(num) {\n return _0n < num && num < CURVE.n;\n}\nfunction isValidFieldElement(num) {\n return _0n < num && num < CURVE.P;\n}\nfunction kmdToSig(kBytes, m, d, lowS = true) {\n const { n } = CURVE;\n const k = truncateHash(kBytes, true);\n if (!isWithinCurveOrder(k))\n return;\n const kinv = invert(k, n);\n const q = Point.BASE.multiply(k);\n const r = mod(q.x, n);\n if (r === _0n)\n return;\n const s = mod(kinv * mod(m + d * r, n), n);\n if (s === _0n)\n return;\n let sig = new Signature(r, s);\n let recovery = (q.x === sig.r ? 0 : 2) | Number(q.y & _1n);\n if (lowS && sig.hasHighS()) {\n sig = sig.normalizeS();\n recovery ^= 1;\n }\n return { sig, recovery };\n}\nfunction normalizePrivateKey(key) {\n let num;\n if (typeof key === 'bigint') {\n num = key;\n }\n else if (typeof key === 'number' && Number.isSafeInteger(key) && key > 0) {\n num = BigInt(key);\n }\n else if (typeof key === 'string') {\n if (key.length !== 2 * groupLen)\n throw new Error('Expected 32 bytes of private key');\n num = hexToNumber(key);\n }\n else if (isBytes(key)) {\n if (key.length !== groupLen)\n throw new Error('Expected 32 bytes of private key');\n num = bytesToNumber(key);\n }\n else {\n throw new TypeError('Expected valid private key');\n }\n if (!isWithinCurveOrder(num))\n throw new Error('Expected private key: 0 < key < n');\n return num;\n}\nfunction normalizePublicKey(publicKey) {\n if (publicKey instanceof Point) {\n publicKey.assertValidity();\n return publicKey;\n }\n else {\n return Point.fromHex(publicKey);\n }\n}\nfunction normalizeSignature(signature) {\n if (signature instanceof Signature) {\n signature.assertValidity();\n return signature;\n }\n try {\n return Signature.fromDER(signature);\n }\n catch (error) {\n return Signature.fromCompact(signature);\n }\n}\nfunction getPublicKey(privateKey, isCompressed = false) {\n return Point.fromPrivateKey(privateKey).toRawBytes(isCompressed);\n}\nexports.getPublicKey = getPublicKey;\nfunction recoverPublicKey(msgHash, signature, recovery, isCompressed = false) {\n return Point.fromSignature(msgHash, signature, recovery).toRawBytes(isCompressed);\n}\nexports.recoverPublicKey = recoverPublicKey;\nfunction isProbPub(item) {\n const arr = isBytes(item);\n const str = typeof item === 'string';\n const len = (arr || str) && item.length;\n if (arr)\n return len === compressedLen || len === uncompressedLen;\n if (str)\n return len === compressedLen * 2 || len === uncompressedLen * 2;\n if (item instanceof Point)\n return true;\n return false;\n}\nfunction getSharedSecret(privateA, publicB, isCompressed = false) {\n if (isProbPub(privateA))\n throw new TypeError('getSharedSecret: first arg must be private key');\n if (!isProbPub(publicB))\n throw new TypeError('getSharedSecret: second arg must be public key');\n const b = normalizePublicKey(publicB);\n b.assertValidity();\n return b.multiply(normalizePrivateKey(privateA)).toRawBytes(isCompressed);\n}\nexports.getSharedSecret = getSharedSecret;\nfunction bits2int(bytes) {\n const slice = bytes.length > fieldLen ? bytes.slice(0, fieldLen) : bytes;\n return bytesToNumber(slice);\n}\nfunction bits2octets(bytes) {\n const z1 = bits2int(bytes);\n const z2 = mod(z1, CURVE.n);\n return int2octets(z2 < _0n ? z1 : z2);\n}\nfunction int2octets(num) {\n return numTo32b(num);\n}\nfunction initSigArgs(msgHash, privateKey, extraEntropy) {\n if (msgHash == null)\n throw new Error(`sign: expected valid message hash, not \"${msgHash}\"`);\n const h1 = ensureBytes(msgHash);\n const d = normalizePrivateKey(privateKey);\n const seedArgs = [int2octets(d), bits2octets(h1)];\n if (extraEntropy != null) {\n if (extraEntropy === true)\n extraEntropy = exports.utils.randomBytes(fieldLen);\n const e = ensureBytes(extraEntropy);\n if (e.length !== fieldLen)\n throw new Error(`sign: Expected ${fieldLen} bytes of extra data`);\n seedArgs.push(e);\n }\n const seed = concatBytes(...seedArgs);\n const m = bits2int(h1);\n return { seed, m, d };\n}\nfunction finalizeSig(recSig, opts) {\n const { sig, recovery } = recSig;\n const { der, recovered } = Object.assign({ canonical: true, der: true }, opts);\n const hashed = der ? sig.toDERRawBytes() : sig.toCompactRawBytes();\n return recovered ? [hashed, recovery] : hashed;\n}\nasync function sign(msgHash, privKey, opts = {}) {\n const { seed, m, d } = initSigArgs(msgHash, privKey, opts.extraEntropy);\n const drbg = new HmacDrbg(hashLen, groupLen);\n await drbg.reseed(seed);\n let sig;\n while (!(sig = kmdToSig(await drbg.generate(), m, d, opts.canonical)))\n await drbg.reseed();\n return finalizeSig(sig, opts);\n}\nexports.sign = sign;\nfunction signSync(msgHash, privKey, opts = {}) {\n const { seed, m, d } = initSigArgs(msgHash, privKey, opts.extraEntropy);\n const drbg = new HmacDrbg(hashLen, groupLen);\n drbg.reseedSync(seed);\n let sig;\n while (!(sig = kmdToSig(drbg.generateSync(), m, d, opts.canonical)))\n drbg.reseedSync();\n return finalizeSig(sig, opts);\n}\nexports.signSync = signSync;\nconst vopts = { strict: true };\nfunction verify(signature, msgHash, publicKey, opts = vopts) {\n let sig;\n try {\n sig = normalizeSignature(signature);\n msgHash = ensureBytes(msgHash);\n }\n catch (error) {\n return false;\n }\n const { r, s } = sig;\n if (opts.strict && sig.hasHighS())\n return false;\n const h = truncateHash(msgHash);\n let P;\n try {\n P = normalizePublicKey(publicKey);\n }\n catch (error) {\n return false;\n }\n const { n } = CURVE;\n const sinv = invert(s, n);\n const u1 = mod(h * sinv, n);\n const u2 = mod(r * sinv, n);\n const R = Point.BASE.multiplyAndAddUnsafe(P, u1, u2);\n if (!R)\n return false;\n const v = mod(R.x, n);\n return v === r;\n}\nexports.verify = verify;\nfunction schnorrChallengeFinalize(ch) {\n return mod(bytesToNumber(ch), CURVE.n);\n}\nclass SchnorrSignature {\n constructor(r, s) {\n this.r = r;\n this.s = s;\n this.assertValidity();\n }\n static fromHex(hex) {\n const bytes = ensureBytes(hex);\n if (bytes.length !== 64)\n throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${bytes.length}`);\n const r = bytesToNumber(bytes.subarray(0, 32));\n const s = bytesToNumber(bytes.subarray(32, 64));\n return new SchnorrSignature(r, s);\n }\n assertValidity() {\n const { r, s } = this;\n if (!isValidFieldElement(r) || !isWithinCurveOrder(s))\n throw new Error('Invalid signature');\n }\n toHex() {\n return numTo32bStr(this.r) + numTo32bStr(this.s);\n }\n toRawBytes() {\n return hexToBytes(this.toHex());\n }\n}\nfunction schnorrGetPublicKey(privateKey) {\n return Point.fromPrivateKey(privateKey).toRawX();\n}\nclass InternalSchnorrSignature {\n constructor(message, privateKey, auxRand = exports.utils.randomBytes()) {\n if (message == null)\n throw new TypeError(`sign: Expected valid message, not \"${message}\"`);\n this.m = ensureBytes(message);\n const { x, scalar } = this.getScalar(normalizePrivateKey(privateKey));\n this.px = x;\n this.d = scalar;\n this.rand = ensureBytes(auxRand);\n if (this.rand.length !== 32)\n throw new TypeError('sign: Expected 32 bytes of aux randomness');\n }\n getScalar(priv) {\n const point = Point.fromPrivateKey(priv);\n const scalar = point.hasEvenY() ? priv : CURVE.n - priv;\n return { point, scalar, x: point.toRawX() };\n }\n initNonce(d, t0h) {\n return numTo32b(d ^ bytesToNumber(t0h));\n }\n finalizeNonce(k0h) {\n const k0 = mod(bytesToNumber(k0h), CURVE.n);\n if (k0 === _0n)\n throw new Error('sign: Creation of signature failed. k is zero');\n const { point: R, x: rx, scalar: k } = this.getScalar(k0);\n return { R, rx, k };\n }\n finalizeSig(R, k, e, d) {\n return new SchnorrSignature(R.x, mod(k + e * d, CURVE.n)).toRawBytes();\n }\n error() {\n throw new Error('sign: Invalid signature produced');\n }\n async calc() {\n const { m, d, px, rand } = this;\n const tag = exports.utils.taggedHash;\n const t = this.initNonce(d, await tag(TAGS.aux, rand));\n const { R, rx, k } = this.finalizeNonce(await tag(TAGS.nonce, t, px, m));\n const e = schnorrChallengeFinalize(await tag(TAGS.challenge, rx, px, m));\n const sig = this.finalizeSig(R, k, e, d);\n if (!(await schnorrVerify(sig, m, px)))\n this.error();\n return sig;\n }\n calcSync() {\n const { m, d, px, rand } = this;\n const tag = exports.utils.taggedHashSync;\n const t = this.initNonce(d, tag(TAGS.aux, rand));\n const { R, rx, k } = this.finalizeNonce(tag(TAGS.nonce, t, px, m));\n const e = schnorrChallengeFinalize(tag(TAGS.challenge, rx, px, m));\n const sig = this.finalizeSig(R, k, e, d);\n if (!schnorrVerifySync(sig, m, px))\n this.error();\n return sig;\n }\n}\nasync function schnorrSign(msg, privKey, auxRand) {\n return new InternalSchnorrSignature(msg, privKey, auxRand).calc();\n}\nfunction schnorrSignSync(msg, privKey, auxRand) {\n return new InternalSchnorrSignature(msg, privKey, auxRand).calcSync();\n}\nfunction initSchnorrVerify(signature, message, publicKey) {\n const raw = signature instanceof SchnorrSignature;\n const sig = raw ? signature : SchnorrSignature.fromHex(signature);\n if (raw)\n sig.assertValidity();\n return {\n ...sig,\n m: ensureBytes(message),\n P: normalizePublicKey(publicKey),\n };\n}\nfunction finalizeSchnorrVerify(r, P, s, e) {\n const R = Point.BASE.multiplyAndAddUnsafe(P, normalizePrivateKey(s), mod(-e, CURVE.n));\n if (!R || !R.hasEvenY() || R.x !== r)\n return false;\n return true;\n}\nasync function schnorrVerify(signature, message, publicKey) {\n try {\n const { r, s, m, P } = initSchnorrVerify(signature, message, publicKey);\n const e = schnorrChallengeFinalize(await exports.utils.taggedHash(TAGS.challenge, numTo32b(r), P.toRawX(), m));\n return finalizeSchnorrVerify(r, P, s, e);\n }\n catch (error) {\n return false;\n }\n}\nfunction schnorrVerifySync(signature, message, publicKey) {\n try {\n const { r, s, m, P } = initSchnorrVerify(signature, message, publicKey);\n const e = schnorrChallengeFinalize(exports.utils.taggedHashSync(TAGS.challenge, numTo32b(r), P.toRawX(), m));\n return finalizeSchnorrVerify(r, P, s, e);\n }\n catch (error) {\n if (error instanceof ShaError)\n throw error;\n return false;\n }\n}\nexports.schnorr = {\n Signature: SchnorrSignature,\n getPublicKey: schnorrGetPublicKey,\n sign: schnorrSign,\n verify: schnorrVerify,\n signSync: schnorrSignSync,\n verifySync: schnorrVerifySync,\n};\nPoint.BASE._setWindowSize(8);\nconst crypto = {\n node: nodeCrypto,\n web: typeof self === 'object' && 'crypto' in self ? self.crypto : undefined,\n};\nconst TAGS = {\n challenge: 'BIP0340/challenge',\n aux: 'BIP0340/aux',\n nonce: 'BIP0340/nonce',\n};\nconst TAGGED_HASH_PREFIXES = {};\nexports.utils = {\n bytesToHex,\n hexToBytes,\n concatBytes,\n mod,\n invert,\n isValidPrivateKey(privateKey) {\n try {\n normalizePrivateKey(privateKey);\n return true;\n }\n catch (error) {\n return false;\n }\n },\n _bigintTo32Bytes: numTo32b,\n _normalizePrivateKey: normalizePrivateKey,\n hashToPrivateKey: (hash) => {\n hash = ensureBytes(hash);\n const minLen = groupLen + 8;\n if (hash.length < minLen || hash.length > 1024) {\n throw new Error(`Expected valid bytes of private key as per FIPS 186`);\n }\n const num = mod(bytesToNumber(hash), CURVE.n - _1n) + _1n;\n return numTo32b(num);\n },\n randomBytes: (bytesLength = 32) => {\n if (crypto.web) {\n return crypto.web.getRandomValues(new Uint8Array(bytesLength));\n }\n else if (crypto.node) {\n const { randomBytes } = crypto.node;\n return Uint8Array.from(randomBytes(bytesLength));\n }\n else {\n throw new Error(\"The environment doesn't have randomBytes function\");\n }\n },\n randomPrivateKey: () => exports.utils.hashToPrivateKey(exports.utils.randomBytes(groupLen + 8)),\n precompute(windowSize = 8, point = Point.BASE) {\n const cached = point === Point.BASE ? point : new Point(point.x, point.y);\n cached._setWindowSize(windowSize);\n cached.multiply(_3n);\n return cached;\n },\n sha256: async (...messages) => {\n if (crypto.web) {\n const buffer = await crypto.web.subtle.digest('SHA-256', concatBytes(...messages));\n return new Uint8Array(buffer);\n }\n else if (crypto.node) {\n const { createHash } = crypto.node;\n const hash = createHash('sha256');\n messages.forEach((m) => hash.update(m));\n return Uint8Array.from(hash.digest());\n }\n else {\n throw new Error(\"The environment doesn't have sha256 function\");\n }\n },\n hmacSha256: async (key, ...messages) => {\n if (crypto.web) {\n const ckey = await crypto.web.subtle.importKey('raw', key, { name: 'HMAC', hash: { name: 'SHA-256' } }, false, ['sign']);\n const message = concatBytes(...messages);\n const buffer = await crypto.web.subtle.sign('HMAC', ckey, message);\n return new Uint8Array(buffer);\n }\n else if (crypto.node) {\n const { createHmac } = crypto.node;\n const hash = createHmac('sha256', key);\n messages.forEach((m) => hash.update(m));\n return Uint8Array.from(hash.digest());\n }\n else {\n throw new Error(\"The environment doesn't have hmac-sha256 function\");\n }\n },\n sha256Sync: undefined,\n hmacSha256Sync: undefined,\n taggedHash: async (tag, ...messages) => {\n let tagP = TAGGED_HASH_PREFIXES[tag];\n if (tagP === undefined) {\n const tagH = await exports.utils.sha256(Uint8Array.from(tag, (c) => c.charCodeAt(0)));\n tagP = concatBytes(tagH, tagH);\n TAGGED_HASH_PREFIXES[tag] = tagP;\n }\n return exports.utils.sha256(tagP, ...messages);\n },\n taggedHashSync: (tag, ...messages) => {\n if (typeof _sha256Sync !== 'function')\n throw new ShaError('sha256Sync is undefined, you need to set it');\n let tagP = TAGGED_HASH_PREFIXES[tag];\n if (tagP === undefined) {\n const tagH = _sha256Sync(Uint8Array.from(tag, (c) => c.charCodeAt(0)));\n tagP = concatBytes(tagH, tagH);\n TAGGED_HASH_PREFIXES[tag] = tagP;\n }\n return _sha256Sync(tagP, ...messages);\n },\n _JacobianPoint: JacobianPoint,\n};\nObject.defineProperties(exports.utils, {\n sha256Sync: {\n configurable: false,\n get() {\n return _sha256Sync;\n },\n set(val) {\n if (!_sha256Sync)\n _sha256Sync = val;\n },\n },\n hmacSha256Sync: {\n configurable: false,\n get() {\n return _hmacSha256Sync;\n },\n set(val) {\n if (!_hmacSha256Sync)\n _hmacSha256Sync = val;\n },\n },\n});\n","\"use strict\";\n// NOTICE\n// Copyright 2015 D2L Corporation\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.joseToDer = exports.derToJose = void 0;\n// The following code is adapted from https://github.com/Brightspace/node-ecdsa-sig-formatter\nconst base64_js_1 = require(\"base64-js\");\nconst base64Url_1 = require(\"./base64Url\");\nfunction getParamSize(keySize) {\n return ((keySize / 8) | 0) + (keySize % 8 === 0 ? 0 : 1);\n}\nconst paramBytesForAlg = {\n ES256: getParamSize(256),\n ES384: getParamSize(384),\n ES512: getParamSize(521),\n};\nfunction getParamBytesForAlg(alg) {\n const paramBytes = paramBytesForAlg[alg];\n if (paramBytes) {\n return paramBytes;\n }\n throw new Error(`Unknown algorithm \"${alg}\"`);\n}\nconst MAX_OCTET = 0x80;\nconst CLASS_UNIVERSAL = 0;\nconst PRIMITIVE_BIT = 0x20;\nconst TAG_SEQ = 0x10;\nconst TAG_INT = 0x02;\nconst ENCODED_TAG_SEQ = TAG_SEQ | PRIMITIVE_BIT | (CLASS_UNIVERSAL << 6);\nconst ENCODED_TAG_INT = TAG_INT | (CLASS_UNIVERSAL << 6);\nfunction signatureAsBytes(signature) {\n if (signature instanceof Uint8Array) {\n return signature;\n }\n else if ('string' === typeof signature) {\n return (0, base64_js_1.toByteArray)((0, base64Url_1.pad)(signature));\n }\n throw new TypeError('ECDSA signature must be a Base64 string or a Uint8Array');\n}\nfunction derToJose(signature, alg) {\n const signatureBytes = signatureAsBytes(signature);\n const paramBytes = getParamBytesForAlg(alg);\n // the DER encoded param should at most be the param size, plus a padding\n // zero, since due to being a signed integer\n const maxEncodedParamLength = paramBytes + 1;\n const inputLength = signatureBytes.length;\n let offset = 0;\n if (signatureBytes[offset++] !== ENCODED_TAG_SEQ) {\n throw new Error('Could not find expected \"seq\"');\n }\n let seqLength = signatureBytes[offset++];\n if (seqLength === (MAX_OCTET | 1)) {\n seqLength = signatureBytes[offset++];\n }\n if (inputLength - offset < seqLength) {\n throw new Error(`\"seq\" specified length of \"${seqLength}\", only \"${inputLength - offset}\" remaining`);\n }\n if (signatureBytes[offset++] !== ENCODED_TAG_INT) {\n throw new Error('Could not find expected \"int\" for \"r\"');\n }\n const rLength = signatureBytes[offset++];\n if (inputLength - offset - 2 < rLength) {\n throw new Error(`\"r\" specified length of \"${rLength}\", only \"${inputLength - offset - 2}\" available`);\n }\n if (maxEncodedParamLength < rLength) {\n throw new Error(`\"r\" specified length of \"${rLength}\", max of \"${maxEncodedParamLength}\" is acceptable`);\n }\n const rOffset = offset;\n offset += rLength;\n if (signatureBytes[offset++] !== ENCODED_TAG_INT) {\n throw new Error('Could not find expected \"int\" for \"s\"');\n }\n const sLength = signatureBytes[offset++];\n if (inputLength - offset !== sLength) {\n throw new Error(`\"s\" specified length of \"${sLength}\", expected \"${inputLength - offset}\"`);\n }\n if (maxEncodedParamLength < sLength) {\n throw new Error(`\"s\" specified length of \"${sLength}\", max of \"${maxEncodedParamLength}\" is acceptable`);\n }\n const sOffset = offset;\n offset += sLength;\n if (offset !== inputLength) {\n throw new Error(`Expected to consume entire array, but \"${inputLength - offset}\" bytes remain`);\n }\n const rPadding = paramBytes - rLength;\n const sPadding = paramBytes - sLength;\n const dst = new Uint8Array(rPadding + rLength + sPadding + sLength);\n for (offset = 0; offset < rPadding; ++offset) {\n dst[offset] = 0;\n }\n dst.set(signatureBytes.subarray(rOffset + Math.max(-rPadding, 0), rOffset + rLength), offset);\n offset = paramBytes;\n for (const o = offset; offset < o + sPadding; ++offset) {\n dst[offset] = 0;\n }\n dst.set(signatureBytes.subarray(sOffset + Math.max(-sPadding, 0), sOffset + sLength), offset);\n return (0, base64Url_1.escape)((0, base64_js_1.fromByteArray)(dst));\n}\nexports.derToJose = derToJose;\nfunction countPadding(buf, start, stop) {\n let padding = 0;\n while (start + padding < stop && buf[start + padding] === 0) {\n ++padding;\n }\n const needsSign = buf[start + padding] >= MAX_OCTET;\n if (needsSign) {\n --padding;\n }\n return padding;\n}\nfunction joseToDer(signature, alg) {\n signature = signatureAsBytes(signature);\n const paramBytes = getParamBytesForAlg(alg);\n const signatureBytes = signature.length;\n if (signatureBytes !== paramBytes * 2) {\n throw new TypeError(`\"${alg}\" signatures must be \"${paramBytes * 2}\" bytes, saw \"${signatureBytes}\"`);\n }\n const rPadding = countPadding(signature, 0, paramBytes);\n const sPadding = countPadding(signature, paramBytes, signature.length);\n const rLength = paramBytes - rPadding;\n const sLength = paramBytes - sPadding;\n const rsBytes = 1 + 1 + rLength + 1 + 1 + sLength;\n const shortLength = rsBytes < MAX_OCTET;\n const dst = new Uint8Array((shortLength ? 2 : 3) + rsBytes);\n let offset = 0;\n dst[offset++] = ENCODED_TAG_SEQ;\n if (shortLength) {\n // Bit 8 has value \"0\"\n // bits 7-1 give the length.\n dst[offset++] = rsBytes;\n }\n else {\n // Bit 8 of first octet has value \"1\"\n // bits 7-1 give the number of additional length octets.\n dst[offset++] = MAX_OCTET | 1;\n // length, base 256\n dst[offset++] = rsBytes & 0xff;\n }\n dst[offset++] = ENCODED_TAG_INT;\n dst[offset++] = rLength;\n if (rPadding < 0) {\n dst[offset++] = 0;\n dst.set(signature.subarray(0, paramBytes), offset);\n offset += paramBytes;\n }\n else {\n dst.set(signature.subarray(rPadding, paramBytes), offset);\n offset += paramBytes - rPadding;\n }\n dst[offset++] = ENCODED_TAG_INT;\n dst[offset++] = sLength;\n if (sPadding < 0) {\n dst[offset++] = 0;\n dst.set(signature.subarray(paramBytes), offset);\n }\n else {\n dst.set(signature.subarray(paramBytes + sPadding), offset);\n }\n return dst;\n}\nexports.joseToDer = joseToDer;\n//# sourceMappingURL=ecdsaSigFormatter.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InvalidTokenError = exports.MissingParametersError = void 0;\nclass MissingParametersError extends Error {\n constructor(message) {\n super();\n this.name = 'MissingParametersError';\n this.message = message || '';\n }\n}\nexports.MissingParametersError = MissingParametersError;\nclass InvalidTokenError extends Error {\n constructor(message) {\n super();\n this.name = 'InvalidTokenError';\n this.message = message || '';\n }\n}\nexports.InvalidTokenError = InvalidTokenError;\n//# sourceMappingURL=errors.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SECP256K1Client = void 0;\nconst hmac_1 = require(\"@noble/hashes/hmac\");\nconst sha256_1 = require(\"@noble/hashes/sha256\");\nconst secp = require(\"@noble/secp256k1\");\nconst ecdsaSigFormatter_1 = require(\"../ecdsaSigFormatter\");\nconst errors_1 = require(\"../errors\");\nconst utils_1 = require(\"@noble/hashes/utils\");\n// required to use noble secp https://github.com/paulmillr/noble-secp256k1\nsecp.utils.hmacSha256Sync = (key, ...msgs) => {\n const h = hmac_1.hmac.create(sha256_1.sha256, key);\n msgs.forEach(msg => h.update(msg));\n return h.digest();\n};\nclass SECP256K1Client {\n static derivePublicKey(privateKey, compressed = true) {\n if (privateKey.length === 66) {\n privateKey = privateKey.slice(0, 64);\n }\n if (privateKey.length < 64) {\n // backward compatibly accept too short private keys\n privateKey = privateKey.padStart(64, '0');\n }\n return (0, utils_1.bytesToHex)(secp.getPublicKey(privateKey, compressed));\n }\n static signHash(signingInputHash, privateKey, format = 'jose') {\n // make sure the required parameters are provided\n if (!signingInputHash || !privateKey) {\n throw new errors_1.MissingParametersError('a signing input hash and private key are all required');\n }\n const derSignature = secp.signSync(signingInputHash, privateKey.slice(0, 64), {\n der: true,\n canonical: false,\n });\n if (format === 'der')\n return (0, utils_1.bytesToHex)(derSignature);\n if (format === 'jose')\n return (0, ecdsaSigFormatter_1.derToJose)(derSignature, 'ES256');\n throw Error('Invalid signature format');\n }\n static loadSignature(joseSignature) {\n // create and return the DER-formatted signature bytes\n return (0, ecdsaSigFormatter_1.joseToDer)(joseSignature, 'ES256');\n }\n static verifyHash(signingInputHash, derSignatureBytes, publicKey) {\n // make sure the required parameters are provided\n if (!signingInputHash || !derSignatureBytes || !publicKey) {\n throw new errors_1.MissingParametersError('a signing input hash, der signature, and public key are all required');\n }\n return secp.verify(derSignatureBytes, signingInputHash, publicKey, { strict: false });\n }\n}\nexports.SECP256K1Client = SECP256K1Client;\nSECP256K1Client.algorithmName = 'ES256K';\n//# sourceMappingURL=secp256k1.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cryptoClients = exports.SECP256K1Client = void 0;\nconst secp256k1_1 = require(\"./secp256k1\");\nObject.defineProperty(exports, \"SECP256K1Client\", { enumerable: true, get: function () { return secp256k1_1.SECP256K1Client; } });\nconst cryptoClients = {\n ES256K: secp256k1_1.SECP256K1Client,\n};\nexports.cryptoClients = cryptoClients;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hashSha256Async = exports.hashSha256 = void 0;\nconst sha256_1 = require(\"@noble/hashes/sha256\");\nfunction hashSha256(input) {\n return (0, sha256_1.sha256)(input);\n}\nexports.hashSha256 = hashSha256;\nfunction hashSha256Async(input) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const isSubtleCryptoAvailable = typeof crypto !== 'undefined' && typeof crypto.subtle !== 'undefined';\n if (isSubtleCryptoAvailable) {\n // Use the W3C Web Crypto API if available (running in a web browser).\n const bytes = typeof input === 'string' ? new TextEncoder().encode(input) : input;\n const hash = yield crypto.subtle.digest('SHA-256', bytes);\n return new Uint8Array(hash);\n }\n else {\n // Otherwise try loading the Node.js `crypto` module (running in Node.js, or an older browser with a polyfill).\n const nodeCrypto = require('crypto');\n if (!nodeCrypto.createHash) {\n throw new Error('`crypto` module does not contain `createHash`');\n }\n return Promise.resolve(nodeCrypto.createHash('sha256').update(input).digest());\n }\n }\n catch (error) {\n console.log(error);\n console.log('Crypto lib not found. Neither the global `crypto.subtle` Web Crypto API, ' +\n 'nor the or the Node.js `require(\"crypto\").createHash` module is available. ' +\n 'Falling back to JS implementation.');\n return Promise.resolve(hashSha256(input));\n }\n });\n}\nexports.hashSha256Async = hashSha256Async;\n//# sourceMappingURL=sha256.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenSigner = exports.createUnsecuredToken = void 0;\nconst base64url = require(\"./base64Url\");\nconst cryptoClients_1 = require(\"./cryptoClients\");\nconst errors_1 = require(\"./errors\");\nconst sha256_1 = require(\"./cryptoClients/sha256\");\nfunction createSigningInput(payload, header) {\n const tokenParts = [];\n // add in the header\n const encodedHeader = base64url.encode(JSON.stringify(header));\n tokenParts.push(encodedHeader);\n // add in the payload\n const encodedPayload = base64url.encode(JSON.stringify(payload));\n tokenParts.push(encodedPayload);\n // prepare the message\n const signingInput = tokenParts.join('.');\n // return the signing input\n return signingInput;\n}\nfunction createUnsecuredToken(payload) {\n const header = { typ: 'JWT', alg: 'none' };\n return createSigningInput(payload, header) + '.';\n}\nexports.createUnsecuredToken = createUnsecuredToken;\nclass TokenSigner {\n constructor(signingAlgorithm, rawPrivateKey) {\n if (!(signingAlgorithm && rawPrivateKey)) {\n throw new errors_1.MissingParametersError('a signing algorithm and private key are required');\n }\n if (typeof signingAlgorithm !== 'string') {\n throw new Error('signing algorithm parameter must be a string');\n }\n signingAlgorithm = signingAlgorithm.toUpperCase();\n if (!cryptoClients_1.cryptoClients.hasOwnProperty(signingAlgorithm)) {\n throw new Error('invalid signing algorithm');\n }\n this.tokenType = 'JWT';\n this.cryptoClient = cryptoClients_1.cryptoClients[signingAlgorithm];\n this.rawPrivateKey = rawPrivateKey;\n }\n header(header = {}) {\n const defaultHeader = { typ: this.tokenType, alg: this.cryptoClient.algorithmName };\n return Object.assign({}, defaultHeader, header);\n }\n sign(payload, expanded = false, customHeader = {}) {\n // generate the token header\n const header = this.header(customHeader);\n // prepare the message to be signed\n const signingInput = createSigningInput(payload, header);\n const signingInputHash = (0, sha256_1.hashSha256)(signingInput);\n return this.createWithSignedHash(payload, expanded, header, signingInput, signingInputHash);\n }\n signAsync(payload, expanded = false, customHeader = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n // generate the token header\n const header = this.header(customHeader);\n // prepare the message to be signed\n const signingInput = createSigningInput(payload, header);\n const signingInputHash = yield (0, sha256_1.hashSha256Async)(signingInput);\n return this.createWithSignedHash(payload, expanded, header, signingInput, signingInputHash);\n });\n }\n createWithSignedHash(payload, expanded, header, signingInput, signingInputHash) {\n // sign the message and add in the signature\n const signature = this.cryptoClient.signHash(signingInputHash, this.rawPrivateKey);\n if (expanded) {\n const signedToken = {\n header: [base64url.encode(JSON.stringify(header))],\n payload: JSON.stringify(payload),\n signature: [signature],\n };\n return signedToken;\n }\n else {\n return [signingInput, signature].join('.');\n }\n }\n}\nexports.TokenSigner = TokenSigner;\n//# sourceMappingURL=signer.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenVerifier = void 0;\nconst base64url = require(\"./base64Url\");\nconst cryptoClients_1 = require(\"./cryptoClients\");\nconst errors_1 = require(\"./errors\");\nconst sha256_1 = require(\"./cryptoClients/sha256\");\nclass TokenVerifier {\n constructor(signingAlgorithm, rawPublicKey) {\n if (!(signingAlgorithm && rawPublicKey)) {\n throw new errors_1.MissingParametersError('a signing algorithm and public key are required');\n }\n if (typeof signingAlgorithm !== 'string') {\n throw 'signing algorithm parameter must be a string';\n }\n signingAlgorithm = signingAlgorithm.toUpperCase();\n if (!cryptoClients_1.cryptoClients.hasOwnProperty(signingAlgorithm)) {\n throw 'invalid signing algorithm';\n }\n this.tokenType = 'JWT';\n this.cryptoClient = cryptoClients_1.cryptoClients[signingAlgorithm];\n this.rawPublicKey = rawPublicKey;\n }\n verify(token) {\n if (typeof token === 'string') {\n return this.verifyCompact(token, false);\n }\n else if (typeof token === 'object') {\n return this.verifyExpanded(token, false);\n }\n else {\n return false;\n }\n }\n verifyAsync(token) {\n if (typeof token === 'string') {\n return this.verifyCompact(token, true);\n }\n else if (typeof token === 'object') {\n return this.verifyExpanded(token, true);\n }\n else {\n return Promise.resolve(false);\n }\n }\n verifyCompact(token, async) {\n // decompose the token into parts\n const tokenParts = token.split('.');\n // calculate the signing input hash\n const signingInput = tokenParts[0] + '.' + tokenParts[1];\n const performVerify = (signingInputHash) => {\n // extract the signature as a DER array\n const derSignatureBytes = this.cryptoClient.loadSignature(tokenParts[2]);\n // verify the signed hash\n return this.cryptoClient.verifyHash(signingInputHash, derSignatureBytes, this.rawPublicKey);\n };\n if (async) {\n return (0, sha256_1.hashSha256Async)(signingInput).then(signingInputHash => performVerify(signingInputHash));\n }\n else {\n const signingInputHash = (0, sha256_1.hashSha256)(signingInput);\n return performVerify(signingInputHash);\n }\n }\n verifyExpanded(token, async) {\n const signingInput = [token['header'].join('.'), base64url.encode(token['payload'])].join('.');\n let verified = true;\n const performVerify = (signingInputHash) => {\n token['signature'].map((signature) => {\n const derSignatureBytes = this.cryptoClient.loadSignature(signature);\n const signatureVerified = this.cryptoClient.verifyHash(signingInputHash, derSignatureBytes, this.rawPublicKey);\n if (!signatureVerified) {\n verified = false;\n }\n });\n return verified;\n };\n if (async) {\n return (0, sha256_1.hashSha256Async)(signingInput).then(signingInputHash => performVerify(signingInputHash));\n }\n else {\n const signingInputHash = (0, sha256_1.hashSha256)(signingInput);\n return performVerify(signingInputHash);\n }\n }\n}\nexports.TokenVerifier = TokenVerifier;\n//# sourceMappingURL=verifier.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeToken = void 0;\nconst base64url = require(\"./base64Url\");\nfunction decodeToken(token) {\n if (typeof token === 'string') {\n // decompose the token into parts\n const tokenParts = token.split('.');\n const header = JSON.parse(base64url.decode(tokenParts[0]));\n const payload = JSON.parse(base64url.decode(tokenParts[1]));\n const signature = tokenParts[2];\n // return the token object\n return {\n header: header,\n payload: payload,\n signature: signature,\n };\n }\n else if (typeof token === 'object') {\n if (typeof token.payload !== 'string') {\n throw new Error('Expected token payload to be a base64 or json string');\n }\n let payload = token.payload;\n if (token.payload[0] !== '{') {\n payload = base64url.decode(payload);\n }\n const allHeaders = [];\n token.header.map((headerValue) => {\n const header = JSON.parse(base64url.decode(headerValue));\n allHeaders.push(header);\n });\n return {\n header: allHeaders,\n payload: JSON.parse(payload),\n signature: token.signature,\n };\n }\n}\nexports.decodeToken = decodeToken;\n//# sourceMappingURL=decode.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./signer\"), exports);\n__exportStar(require(\"./verifier\"), exports);\n__exportStar(require(\"./decode\"), exports);\n__exportStar(require(\"./errors\"), exports);\n__exportStar(require(\"./cryptoClients\"), exports);\n//# sourceMappingURL=index.js.map","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({fetch, Request, Response}) => ({\n fetch, Request, Response\n }))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n const {fetch, Request, Response} = Object.assign({}, globalFetchAPI, env);\n const isFetchSupported = isFunction(fetch);\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? fetch(request, fetchOptions) : fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, config ? config.env : null);\n\n const {fetch, Request, Response} = env;\n\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters, config) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.12.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","// @ts-check\n\n/**\n * A string containing all valid Base58 characters:\n * - Digits: 1–9 (excluding 0)\n * - Uppercase: A–Z (excluding I and O)\n * - Lowercase: a–z (excluding l)\n *\n * @typedef {string} base58_chars\n * @see https://en.wikipedia.org/wiki/Base58\n */\n\n/** @type {base58_chars} */\nconst base58_chars =\n \"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\";\n\nexport default base58_chars;\n","// @ts-check\nimport base58_chars from \"./base58_chars.js\";\n\n/**\n * Converts a base58 string to the corresponding binary representation.\n * @param {string} base58String base58 encoded string.\n * @returns {Uint8Array} Binary representation for the base58 string.\n * @example\n * ```js\n * const bin = base58_to_binary(\"6MRy\")\n * console.log(bin)\n * ```\n * Logged output will be Uint8Array(3) [15, 239, 64].\n */\nfunction base58_to_binary(base58String) {\n if (!base58String || typeof base58String !== \"string\")\n throw new Error(`Expected base58 string but got “${base58String}”`);\n if (base58String.match(/[IOl0]/gmu))\n throw new Error(\n `Invalid base58 character “${base58String.match(/[IOl0]/gmu)}”`\n );\n const lz = base58String.match(/^1+/gmu);\n const psz = lz ? lz[0].length : 0;\n const size =\n ((base58String.length - psz) * (Math.log(58) / Math.log(256)) + 1) >>> 0;\n\n return new Uint8Array([\n ...new Uint8Array(psz),\n ...base58String\n .match(/.{1}/gmu)\n .map((i) => base58_chars.indexOf(i))\n .reduce((acc, i) => {\n acc = acc.map((j) => {\n const x = j * 58 + i;\n i = x >> 8;\n return x;\n });\n return acc;\n }, new Uint8Array(size))\n .reverse()\n .filter(\n (\n (lastValue) => (value) =>\n // @ts-ignore\n (lastValue = lastValue || value)\n )(false)\n ),\n ]);\n}\n\nexport default base58_to_binary;\n","'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bech32m = exports.bech32 = void 0;\nconst ALPHABET = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l';\nconst ALPHABET_MAP = {};\nfor (let z = 0; z < ALPHABET.length; z++) {\n const x = ALPHABET.charAt(z);\n ALPHABET_MAP[x] = z;\n}\nfunction polymodStep(pre) {\n const b = pre >> 25;\n return (((pre & 0x1ffffff) << 5) ^\n (-((b >> 0) & 1) & 0x3b6a57b2) ^\n (-((b >> 1) & 1) & 0x26508e6d) ^\n (-((b >> 2) & 1) & 0x1ea119fa) ^\n (-((b >> 3) & 1) & 0x3d4233dd) ^\n (-((b >> 4) & 1) & 0x2a1462b3));\n}\nfunction prefixChk(prefix) {\n let chk = 1;\n for (let i = 0; i < prefix.length; ++i) {\n const c = prefix.charCodeAt(i);\n if (c < 33 || c > 126)\n return 'Invalid prefix (' + prefix + ')';\n chk = polymodStep(chk) ^ (c >> 5);\n }\n chk = polymodStep(chk);\n for (let i = 0; i < prefix.length; ++i) {\n const v = prefix.charCodeAt(i);\n chk = polymodStep(chk) ^ (v & 0x1f);\n }\n return chk;\n}\nfunction convert(data, inBits, outBits, pad) {\n let value = 0;\n let bits = 0;\n const maxV = (1 << outBits) - 1;\n const result = [];\n for (let i = 0; i < data.length; ++i) {\n value = (value << inBits) | data[i];\n bits += inBits;\n while (bits >= outBits) {\n bits -= outBits;\n result.push((value >> bits) & maxV);\n }\n }\n if (pad) {\n if (bits > 0) {\n result.push((value << (outBits - bits)) & maxV);\n }\n }\n else {\n if (bits >= inBits)\n return 'Excess padding';\n if ((value << (outBits - bits)) & maxV)\n return 'Non-zero padding';\n }\n return result;\n}\nfunction toWords(bytes) {\n return convert(bytes, 8, 5, true);\n}\nfunction fromWordsUnsafe(words) {\n const res = convert(words, 5, 8, false);\n if (Array.isArray(res))\n return res;\n}\nfunction fromWords(words) {\n const res = convert(words, 5, 8, false);\n if (Array.isArray(res))\n return res;\n throw new Error(res);\n}\nfunction getLibraryFromEncoding(encoding) {\n let ENCODING_CONST;\n if (encoding === 'bech32') {\n ENCODING_CONST = 1;\n }\n else {\n ENCODING_CONST = 0x2bc830a3;\n }\n function encode(prefix, words, LIMIT) {\n LIMIT = LIMIT || 90;\n if (prefix.length + 7 + words.length > LIMIT)\n throw new TypeError('Exceeds length limit');\n prefix = prefix.toLowerCase();\n // determine chk mod\n let chk = prefixChk(prefix);\n if (typeof chk === 'string')\n throw new Error(chk);\n let result = prefix + '1';\n for (let i = 0; i < words.length; ++i) {\n const x = words[i];\n if (x >> 5 !== 0)\n throw new Error('Non 5-bit word');\n chk = polymodStep(chk) ^ x;\n result += ALPHABET.charAt(x);\n }\n for (let i = 0; i < 6; ++i) {\n chk = polymodStep(chk);\n }\n chk ^= ENCODING_CONST;\n for (let i = 0; i < 6; ++i) {\n const v = (chk >> ((5 - i) * 5)) & 0x1f;\n result += ALPHABET.charAt(v);\n }\n return result;\n }\n function __decode(str, LIMIT) {\n LIMIT = LIMIT || 90;\n if (str.length < 8)\n return str + ' too short';\n if (str.length > LIMIT)\n return 'Exceeds length limit';\n // don't allow mixed case\n const lowered = str.toLowerCase();\n const uppered = str.toUpperCase();\n if (str !== lowered && str !== uppered)\n return 'Mixed-case string ' + str;\n str = lowered;\n const split = str.lastIndexOf('1');\n if (split === -1)\n return 'No separator character for ' + str;\n if (split === 0)\n return 'Missing prefix for ' + str;\n const prefix = str.slice(0, split);\n const wordChars = str.slice(split + 1);\n if (wordChars.length < 6)\n return 'Data too short';\n let chk = prefixChk(prefix);\n if (typeof chk === 'string')\n return chk;\n const words = [];\n for (let i = 0; i < wordChars.length; ++i) {\n const c = wordChars.charAt(i);\n const v = ALPHABET_MAP[c];\n if (v === undefined)\n return 'Unknown character ' + c;\n chk = polymodStep(chk) ^ v;\n // not in the checksum?\n if (i + 6 >= wordChars.length)\n continue;\n words.push(v);\n }\n if (chk !== ENCODING_CONST)\n return 'Invalid checksum for ' + str;\n return { prefix, words };\n }\n function decodeUnsafe(str, LIMIT) {\n const res = __decode(str, LIMIT);\n if (typeof res === 'object')\n return res;\n }\n function decode(str, LIMIT) {\n const res = __decode(str, LIMIT);\n if (typeof res === 'object')\n return res;\n throw new Error(res);\n }\n return {\n decodeUnsafe,\n decode,\n encode,\n toWords,\n fromWordsUnsafe,\n fromWords,\n };\n}\nexports.bech32 = getLibraryFromEncoding('bech32');\nexports.bech32m = getLibraryFromEncoding('bech32m');\n","/**\n * sha256-uint8array.ts\n */\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311\nconst K = [\n 0x428a2f98 | 0, 0x71374491 | 0, 0xb5c0fbcf | 0, 0xe9b5dba5 | 0,\n 0x3956c25b | 0, 0x59f111f1 | 0, 0x923f82a4 | 0, 0xab1c5ed5 | 0,\n 0xd807aa98 | 0, 0x12835b01 | 0, 0x243185be | 0, 0x550c7dc3 | 0,\n 0x72be5d74 | 0, 0x80deb1fe | 0, 0x9bdc06a7 | 0, 0xc19bf174 | 0,\n 0xe49b69c1 | 0, 0xefbe4786 | 0, 0x0fc19dc6 | 0, 0x240ca1cc | 0,\n 0x2de92c6f | 0, 0x4a7484aa | 0, 0x5cb0a9dc | 0, 0x76f988da | 0,\n 0x983e5152 | 0, 0xa831c66d | 0, 0xb00327c8 | 0, 0xbf597fc7 | 0,\n 0xc6e00bf3 | 0, 0xd5a79147 | 0, 0x06ca6351 | 0, 0x14292967 | 0,\n 0x27b70a85 | 0, 0x2e1b2138 | 0, 0x4d2c6dfc | 0, 0x53380d13 | 0,\n 0x650a7354 | 0, 0x766a0abb | 0, 0x81c2c92e | 0, 0x92722c85 | 0,\n 0xa2bfe8a1 | 0, 0xa81a664b | 0, 0xc24b8b70 | 0, 0xc76c51a3 | 0,\n 0xd192e819 | 0, 0xd6990624 | 0, 0xf40e3585 | 0, 0x106aa070 | 0,\n 0x19a4c116 | 0, 0x1e376c08 | 0, 0x2748774c | 0, 0x34b0bcb5 | 0,\n 0x391c0cb3 | 0, 0x4ed8aa4a | 0, 0x5b9cca4f | 0, 0x682e6ff3 | 0,\n 0x748f82ee | 0, 0x78a5636f | 0, 0x84c87814 | 0, 0x8cc70208 | 0,\n 0x90befffa | 0, 0xa4506ceb | 0, 0xbef9a3f7 | 0, 0xc67178f2 | 0,\n];\nconst algorithms = {\n sha256: 1,\n};\nexport function createHash(algorithm) {\n if (algorithm && !algorithms[algorithm] && !algorithms[algorithm.toLowerCase()]) {\n throw new Error(\"Digest method not supported\");\n }\n return new Hash();\n}\nexport class Hash {\n constructor() {\n // first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19\n this.A = 0x6a09e667 | 0;\n this.B = 0xbb67ae85 | 0;\n this.C = 0x3c6ef372 | 0;\n this.D = 0xa54ff53a | 0;\n this.E = 0x510e527f | 0;\n this.F = 0x9b05688c | 0;\n this.G = 0x1f83d9ab | 0;\n this.H = 0x5be0cd19 | 0;\n this._size = 0;\n this._sp = 0; // surrogate pair\n if (!sharedBuffer || sharedOffset >= 8000 /* N.allocTotal */) {\n sharedBuffer = new ArrayBuffer(8000 /* N.allocTotal */);\n sharedOffset = 0;\n }\n this._byte = new Uint8Array(sharedBuffer, sharedOffset, 80 /* N.allocBytes */);\n this._word = new Int32Array(sharedBuffer, sharedOffset, 20 /* N.allocWords */);\n sharedOffset += 80 /* N.allocBytes */;\n }\n update(data) {\n // data: string\n if (\"string\" === typeof data) {\n return this._utf8(data);\n }\n // data: undefined\n if (data == null) {\n throw new TypeError(\"Invalid type: \" + typeof data);\n }\n const byteOffset = data.byteOffset;\n const length = data.byteLength;\n let blocks = (length / 64 /* N.inputBytes */) | 0;\n let offset = 0;\n // longer than 1 block\n if (blocks && !(byteOffset & 3) && !(this._size % 64 /* N.inputBytes */)) {\n const block = new Int32Array(data.buffer, byteOffset, blocks * 16 /* N.inputWords */);\n while (blocks--) {\n this._int32(block, offset >> 2);\n offset += 64 /* N.inputBytes */;\n }\n this._size += offset;\n }\n // data: TypedArray | DataView\n const BYTES_PER_ELEMENT = data.BYTES_PER_ELEMENT;\n if (BYTES_PER_ELEMENT !== 1 && data.buffer) {\n const rest = new Uint8Array(data.buffer, byteOffset + offset, length - offset);\n return this._uint8(rest);\n }\n // no more bytes\n if (offset === length)\n return this;\n // data: Uint8Array | Int8Array\n return this._uint8(data, offset);\n }\n _uint8(data, offset) {\n const { _byte, _word } = this;\n const length = data.length;\n offset = offset | 0;\n while (offset < length) {\n const start = this._size % 64 /* N.inputBytes */;\n let index = start;\n while (offset < length && index < 64 /* N.inputBytes */) {\n _byte[index++] = data[offset++];\n }\n if (index >= 64 /* N.inputBytes */) {\n this._int32(_word);\n }\n this._size += index - start;\n }\n return this;\n }\n _utf8(text) {\n const { _byte, _word } = this;\n const length = text.length;\n let surrogate = this._sp;\n for (let offset = 0; offset < length;) {\n const start = this._size % 64 /* N.inputBytes */;\n let index = start;\n while (offset < length && index < 64 /* N.inputBytes */) {\n let code = text.charCodeAt(offset++) | 0;\n if (code < 0x80) {\n // ASCII characters\n _byte[index++] = code;\n }\n else if (code < 0x800) {\n // 2 bytes\n _byte[index++] = 0xC0 | (code >>> 6);\n _byte[index++] = 0x80 | (code & 0x3F);\n }\n else if (code < 0xD800 || code > 0xDFFF) {\n // 3 bytes\n _byte[index++] = 0xE0 | (code >>> 12);\n _byte[index++] = 0x80 | ((code >>> 6) & 0x3F);\n _byte[index++] = 0x80 | (code & 0x3F);\n }\n else if (surrogate) {\n // 4 bytes - surrogate pair\n code = ((surrogate & 0x3FF) << 10) + (code & 0x3FF) + 0x10000;\n _byte[index++] = 0xF0 | (code >>> 18);\n _byte[index++] = 0x80 | ((code >>> 12) & 0x3F);\n _byte[index++] = 0x80 | ((code >>> 6) & 0x3F);\n _byte[index++] = 0x80 | (code & 0x3F);\n surrogate = 0;\n }\n else {\n surrogate = code;\n }\n }\n if (index >= 64 /* N.inputBytes */) {\n this._int32(_word);\n _word[0] = _word[16 /* N.inputWords */];\n }\n this._size += index - start;\n }\n this._sp = surrogate;\n return this;\n }\n _int32(data, offset) {\n let { A, B, C, D, E, F, G, H } = this;\n let i = 0;\n offset = offset | 0;\n while (i < 16 /* N.inputWords */) {\n W[i++] = swap32(data[offset++]);\n }\n for (i = 16 /* N.inputWords */; i < 64 /* N.workWords */; i++) {\n W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0;\n }\n for (i = 0; i < 64 /* N.workWords */; i++) {\n const T1 = (H + sigma1(E) + ch(E, F, G) + K[i] + W[i]) | 0;\n const T2 = (sigma0(A) + maj(A, B, C)) | 0;\n H = G;\n G = F;\n F = E;\n E = (D + T1) | 0;\n D = C;\n C = B;\n B = A;\n A = (T1 + T2) | 0;\n }\n this.A = (A + this.A) | 0;\n this.B = (B + this.B) | 0;\n this.C = (C + this.C) | 0;\n this.D = (D + this.D) | 0;\n this.E = (E + this.E) | 0;\n this.F = (F + this.F) | 0;\n this.G = (G + this.G) | 0;\n this.H = (H + this.H) | 0;\n }\n digest(encoding) {\n const { _byte, _word } = this;\n let i = (this._size % 64 /* N.inputBytes */) | 0;\n _byte[i++] = 0x80;\n // pad 0 for current word\n while (i & 3) {\n _byte[i++] = 0;\n }\n i >>= 2;\n if (i > 14 /* N.highIndex */) {\n while (i < 16 /* N.inputWords */) {\n _word[i++] = 0;\n }\n i = 0;\n this._int32(_word);\n }\n // pad 0 for rest words\n while (i < 16 /* N.inputWords */) {\n _word[i++] = 0;\n }\n // input size\n const bits64 = this._size * 8;\n const low32 = (bits64 & 0xffffffff) >>> 0;\n const high32 = (bits64 - low32) / 0x100000000;\n if (high32)\n _word[14 /* N.highIndex */] = swap32(high32);\n if (low32)\n _word[15 /* N.lowIndex */] = swap32(low32);\n this._int32(_word);\n return (encoding === \"hex\") ? this._hex() : this._bin();\n }\n _hex() {\n const { A, B, C, D, E, F, G, H } = this;\n return hex32(A) + hex32(B) + hex32(C) + hex32(D) + hex32(E) + hex32(F) + hex32(G) + hex32(H);\n }\n _bin() {\n const { A, B, C, D, E, F, G, H, _byte, _word } = this;\n _word[0] = swap32(A);\n _word[1] = swap32(B);\n _word[2] = swap32(C);\n _word[3] = swap32(D);\n _word[4] = swap32(E);\n _word[5] = swap32(F);\n _word[6] = swap32(G);\n _word[7] = swap32(H);\n return _byte.slice(0, 32);\n }\n}\nconst W = new Int32Array(64 /* N.workWords */);\nlet sharedBuffer;\nlet sharedOffset = 0;\nconst hex32 = num => (num + 0x100000000).toString(16).substr(-8);\nconst swapLE = (c => (((c << 24) & 0xff000000) | ((c << 8) & 0xff0000) | ((c >> 8) & 0xff00) | ((c >> 24) & 0xff)));\nconst swapBE = (c => c);\nconst swap32 = isBE() ? swapBE : swapLE;\nconst ch = (x, y, z) => (z ^ (x & (y ^ z)));\nconst maj = (x, y, z) => ((x & y) | (z & (x | y)));\nconst sigma0 = x => ((x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10));\nconst sigma1 = x => ((x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7));\nconst gamma0 = x => ((x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3));\nconst gamma1 = x => ((x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10));\nfunction isBE() {\n const buf = new Uint8Array(new Uint16Array([0xFEFF]).buffer); // BOM\n return (buf[0] === 0xFE);\n}\n","import { base58_to_binary } from 'base58-js';\nimport { bech32, bech32m } from 'bech32';\nimport { createHash } from 'sha256-uint8array';\nconst sha256 = (payload) => createHash().update(payload).digest();\nvar Network;\n(function (Network) {\n Network[\"mainnet\"] = \"mainnet\";\n Network[\"testnet\"] = \"testnet\";\n Network[\"regtest\"] = \"regtest\";\n Network[\"signet\"] = \"signet\";\n})(Network || (Network = {}));\nvar AddressType;\n(function (AddressType) {\n AddressType[\"p2pkh\"] = \"p2pkh\";\n AddressType[\"p2sh\"] = \"p2sh\";\n AddressType[\"p2wpkh\"] = \"p2wpkh\";\n AddressType[\"p2wsh\"] = \"p2wsh\";\n AddressType[\"p2tr\"] = \"p2tr\";\n})(AddressType || (AddressType = {}));\nconst addressTypes = {\n 0x00: {\n type: AddressType.p2pkh,\n network: Network.mainnet,\n },\n 0x6f: {\n type: AddressType.p2pkh,\n network: Network.testnet,\n },\n 0x05: {\n type: AddressType.p2sh,\n network: Network.mainnet,\n },\n 0xc4: {\n type: AddressType.p2sh,\n network: Network.testnet,\n },\n};\nfunction castTestnetTo(fromNetwork, toNetwork) {\n if (!toNetwork) {\n return fromNetwork;\n }\n if (fromNetwork === Network.mainnet) {\n throw new Error('Cannot cast mainnet to non-mainnet');\n }\n return toNetwork;\n}\nconst normalizeAddressInfo = (addressInfo, options) => {\n return {\n ...addressInfo,\n network: castTestnetTo(addressInfo.network, options?.castTestnetTo),\n };\n};\nconst parseBech32 = (address, options) => {\n let decoded;\n try {\n if (address.startsWith('bc1p') || address.startsWith('tb1p') || address.startsWith('bcrt1p')) {\n decoded = bech32m.decode(address);\n }\n else {\n decoded = bech32.decode(address);\n }\n }\n catch (error) {\n throw new Error('Invalid address');\n }\n const mapPrefixToNetwork = {\n bc: Network.mainnet,\n tb: Network.testnet,\n bcrt: Network.regtest,\n };\n const network = mapPrefixToNetwork[decoded.prefix];\n if (network === undefined) {\n throw new Error('Invalid address');\n }\n const witnessVersion = decoded.words[0];\n if (witnessVersion === undefined || witnessVersion < 0 || witnessVersion > 16) {\n throw new Error('Invalid address');\n }\n const data = bech32.fromWords(decoded.words.slice(1));\n let type;\n if (data.length === 20) {\n type = AddressType.p2wpkh;\n }\n else if (witnessVersion === 1) {\n type = AddressType.p2tr;\n }\n else {\n type = AddressType.p2wsh;\n }\n return normalizeAddressInfo({\n bech32: true,\n network,\n address,\n type,\n }, options);\n};\nconst getAddressInfo = (address, options) => {\n let decoded;\n const prefix = address.slice(0, 2).toLowerCase();\n if (prefix === 'bc' || prefix === 'tb') {\n return parseBech32(address, options);\n }\n try {\n decoded = base58_to_binary(address);\n }\n catch (error) {\n throw new Error('Invalid address');\n }\n const { length } = decoded;\n if (length !== 25) {\n throw new Error('Invalid address');\n }\n const version = decoded[0];\n const checksum = decoded.slice(length - 4, length);\n const body = decoded.slice(0, length - 4);\n const expectedChecksum = sha256(sha256(body)).slice(0, 4);\n if (checksum.some((value, index) => value !== expectedChecksum[index])) {\n throw new Error('Invalid address');\n }\n const validVersions = Object.keys(addressTypes).map(Number);\n if (version === undefined || !validVersions.includes(version)) {\n throw new Error('Invalid address');\n }\n const addressType = addressTypes[version];\n if (!addressType) {\n throw new Error('Invalid address');\n }\n return normalizeAddressInfo({\n ...addressType,\n address,\n bech32: false,\n }, options);\n};\nconst validate = (address, network, options) => {\n try {\n const addressInfo = getAddressInfo(address, options);\n if (network) {\n return network === addressInfo.network;\n }\n return true;\n }\n catch (error) {\n return false;\n }\n};\nexport { getAddressInfo, Network, AddressType, validate };\nexport default validate;\n//# sourceMappingURL=index.js.map","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","// src/request/index.ts\nimport * as v37 from \"valibot\";\n\n// src/provider/types.ts\nimport * as v4 from \"valibot\";\n\n// src/addresses/index.ts\nimport { createUnsecuredToken } from \"jsontokens\";\n\n// src/addresses/types.ts\nimport * as v2 from \"valibot\";\n\n// src/request/types/common.ts\nimport * as v from \"valibot\";\nvar walletTypes = [\"software\", \"ledger\", \"keystone\"];\nvar walletTypeSchema = v.picklist(walletTypes);\n\n// src/addresses/types.ts\nvar AddressPurpose = /* @__PURE__ */ ((AddressPurpose2) => {\n AddressPurpose2[\"Ordinals\"] = \"ordinals\";\n AddressPurpose2[\"Payment\"] = \"payment\";\n AddressPurpose2[\"Stacks\"] = \"stacks\";\n AddressPurpose2[\"Starknet\"] = \"starknet\";\n AddressPurpose2[\"Spark\"] = \"spark\";\n return AddressPurpose2;\n})(AddressPurpose || {});\nvar AddressType = /* @__PURE__ */ ((AddressType3) => {\n AddressType3[\"p2pkh\"] = \"p2pkh\";\n AddressType3[\"p2sh\"] = \"p2sh\";\n AddressType3[\"p2wpkh\"] = \"p2wpkh\";\n AddressType3[\"p2wsh\"] = \"p2wsh\";\n AddressType3[\"p2tr\"] = \"p2tr\";\n AddressType3[\"stacks\"] = \"stacks\";\n AddressType3[\"starknet\"] = \"starknet\";\n AddressType3[\"spark\"] = \"spark\";\n return AddressType3;\n})(AddressType || {});\nvar addressSchema = v2.object({\n address: v2.string(),\n publicKey: v2.string(),\n purpose: v2.enum(AddressPurpose),\n addressType: v2.enum(AddressType),\n walletType: walletTypeSchema\n});\n\n// src/addresses/index.ts\nvar getAddress = async (options) => {\n const provider = await getProviderOrThrow(options.getProvider);\n const { purposes } = options.payload;\n if (!purposes) {\n throw new Error(\"Address purposes are required\");\n }\n try {\n const request2 = createUnsecuredToken(options.payload);\n const response = await provider.connect(request2);\n options.onFinish?.(response);\n } catch (error) {\n console.error(\"[Connect] Error during address request\", error);\n options.onCancel?.();\n }\n};\n\n// src/types.ts\nimport * as v3 from \"valibot\";\nvar BitcoinNetworkType = /* @__PURE__ */ ((BitcoinNetworkType2) => {\n BitcoinNetworkType2[\"Mainnet\"] = \"Mainnet\";\n BitcoinNetworkType2[\"Testnet\"] = \"Testnet\";\n BitcoinNetworkType2[\"Testnet4\"] = \"Testnet4\";\n BitcoinNetworkType2[\"Signet\"] = \"Signet\";\n BitcoinNetworkType2[\"Regtest\"] = \"Regtest\";\n return BitcoinNetworkType2;\n})(BitcoinNetworkType || {});\nvar StacksNetworkType = /* @__PURE__ */ ((StacksNetworkType2) => {\n StacksNetworkType2[\"Mainnet\"] = \"mainnet\";\n StacksNetworkType2[\"Testnet\"] = \"testnet\";\n return StacksNetworkType2;\n})(StacksNetworkType || {});\nvar StarknetNetworkType = /* @__PURE__ */ ((StarknetNetworkType2) => {\n StarknetNetworkType2[\"Mainnet\"] = \"mainnet\";\n StarknetNetworkType2[\"Sepolia\"] = \"sepolia\";\n return StarknetNetworkType2;\n})(StarknetNetworkType || {});\nvar SparkNetworkType = /* @__PURE__ */ ((SparkNetworkType2) => {\n SparkNetworkType2[\"Mainnet\"] = \"mainnet\";\n SparkNetworkType2[\"Regtest\"] = \"regtest\";\n return SparkNetworkType2;\n})(SparkNetworkType || {});\nvar RpcIdSchema = v3.optional(v3.union([v3.string(), v3.number(), v3.null()]));\nvar rpcRequestMessageSchema = v3.object({\n jsonrpc: v3.literal(\"2.0\"),\n method: v3.string(),\n params: v3.optional(\n v3.union([\n v3.array(v3.unknown()),\n v3.looseObject({}),\n // Note: This is to support current incorrect usage of RPC 2.0. Params need\n // to be either an array or an object when provided. Changing this now would\n // be a breaking change, so accepting null values for now. Tracking in\n // https://linear.app/xverseapp/issue/ENG-4538.\n v3.null()\n ])\n ),\n id: v3.unwrap(RpcIdSchema)\n});\nvar RpcErrorCode = /* @__PURE__ */ ((RpcErrorCode2) => {\n RpcErrorCode2[RpcErrorCode2[\"PARSE_ERROR\"] = -32700] = \"PARSE_ERROR\";\n RpcErrorCode2[RpcErrorCode2[\"INVALID_REQUEST\"] = -32600] = \"INVALID_REQUEST\";\n RpcErrorCode2[RpcErrorCode2[\"METHOD_NOT_FOUND\"] = -32601] = \"METHOD_NOT_FOUND\";\n RpcErrorCode2[RpcErrorCode2[\"INVALID_PARAMS\"] = -32602] = \"INVALID_PARAMS\";\n RpcErrorCode2[RpcErrorCode2[\"INTERNAL_ERROR\"] = -32603] = \"INTERNAL_ERROR\";\n RpcErrorCode2[RpcErrorCode2[\"USER_REJECTION\"] = -32e3] = \"USER_REJECTION\";\n RpcErrorCode2[RpcErrorCode2[\"METHOD_NOT_SUPPORTED\"] = -32001] = \"METHOD_NOT_SUPPORTED\";\n RpcErrorCode2[RpcErrorCode2[\"ACCESS_DENIED\"] = -32002] = \"ACCESS_DENIED\";\n return RpcErrorCode2;\n})(RpcErrorCode || {});\nvar rpcSuccessResponseMessageSchema = v3.object({\n jsonrpc: v3.literal(\"2.0\"),\n result: v3.nonOptional(v3.unknown()),\n id: RpcIdSchema\n});\nvar rpcErrorResponseMessageSchema = v3.object({\n jsonrpc: v3.literal(\"2.0\"),\n error: v3.nonOptional(v3.unknown()),\n id: RpcIdSchema\n});\nvar rpcResponseMessageSchema = v3.union([\n rpcSuccessResponseMessageSchema,\n rpcErrorResponseMessageSchema\n]);\n\n// src/provider/types.ts\nvar accountChangeEventName = \"accountChange\";\nvar accountChangeSchema = v4.object({\n type: v4.literal(accountChangeEventName),\n addresses: v4.optional(v4.array(addressSchema))\n});\nvar networkChangeEventName = \"networkChange\";\nvar networkChangeSchema = v4.object({\n type: v4.literal(networkChangeEventName),\n bitcoin: v4.object({\n name: v4.enum(BitcoinNetworkType)\n }),\n stacks: v4.object({\n name: v4.string()\n }),\n addresses: v4.optional(v4.array(addressSchema))\n});\nvar disconnectEventName = \"disconnect\";\nvar disconnectSchema = v4.object({\n type: v4.literal(disconnectEventName)\n});\nvar walletEventSchema = v4.variant(\"type\", [\n accountChangeSchema,\n networkChangeSchema,\n disconnectSchema\n]);\n\n// src/provider/index.ts\nasync function getProviderOrThrow(getProvider) {\n const provider = await getProvider?.() || window.XverseProviders?.BitcoinProvider || window.BitcoinProvider;\n if (!provider) {\n throw new Error(\"No Bitcoin wallet installed\");\n }\n return provider;\n}\nfunction getProviders() {\n if (!window.btc_providers) window.btc_providers = [];\n return window.btc_providers;\n}\nfunction getProviderById(providerId) {\n return providerId?.split(\".\").reduce((acc, part) => acc?.[part], window);\n}\nfunction isProviderInstalled(providerId) {\n return !!getProviderById(providerId);\n}\nfunction setDefaultProvider(providerId) {\n localStorage.setItem(\"sats-connect_defaultProvider\", providerId);\n}\nfunction getDefaultProvider() {\n return localStorage.getItem(\"sats-connect_defaultProvider\");\n}\nfunction removeDefaultProvider() {\n localStorage.removeItem(\"sats-connect_defaultProvider\");\n}\nfunction getSupportedWallets() {\n const wallets = Object.values(DefaultAdaptersInfo).map((provider) => {\n {\n return {\n ...provider,\n isInstalled: isProviderInstalled(provider.id)\n };\n }\n });\n return wallets;\n}\n\n// src/request/sanitizeRequest.ts\nvar sanitizeRequest = (method, params, providerInfo) => {\n try {\n const [major, minor, patch] = providerInfo.version.split(\".\").map((part) => parseInt(part, 10));\n const platform = providerInfo.platform;\n if (\n // platform is missing for versions < 1.5.0 on web and < 1.55.0 on mobile\n !platform || platform === \"web\" /* Web */ && major <= 1 && minor <= 4 || platform === \"mobile\" /* Mobile */ && major <= 1 && minor <= 54\n ) {\n const v1Sanitized = sanitizeAddressPurposeRequest(method, params);\n method = v1Sanitized.method;\n params = v1Sanitized.params;\n }\n } catch {\n }\n return { method, params };\n};\nvar sanitizeAddressPurposeRequest = (method, params) => {\n const filterPurposes = (purposes) => purposes?.filter(\n (purpose) => purpose !== \"spark\" /* Spark */ && purpose !== \"starknet\" /* Starknet */\n );\n if (method === \"wallet_connect\") {\n const typedParams = params;\n if (!typedParams) {\n return { method, params };\n }\n const { addresses, ...rest } = typedParams;\n const overrideParams = {\n ...rest,\n addresses: filterPurposes(addresses)\n };\n return { method, params: overrideParams };\n }\n if (method === \"getAccounts\") {\n const typedParams = params;\n const { purposes, ...rest } = typedParams;\n const overrideParams = { ...rest, purposes: filterPurposes(purposes) };\n return { method, params: overrideParams };\n }\n if (method === \"getAddresses\") {\n const typedParams = params;\n const { purposes, ...rest } = typedParams;\n const overrideParams = { ...rest, purposes: filterPurposes(purposes) };\n return { method, params: overrideParams };\n }\n return { method, params };\n};\n\n// src/request/types/btcMethods.ts\nimport * as v6 from \"valibot\";\n\n// src/request/types/walletMethods.ts\nimport * as v5 from \"valibot\";\nvar accountActionsSchema = v5.object({\n read: v5.optional(v5.boolean())\n});\nvar walletActionsSchema = v5.object({\n readNetwork: v5.optional(v5.boolean())\n});\nvar accountPermissionSchema = v5.object({\n type: v5.literal(\"account\"),\n resourceId: v5.string(),\n clientId: v5.string(),\n actions: accountActionsSchema\n});\nvar walletPermissionSchema = v5.object({\n type: v5.literal(\"wallet\"),\n resourceId: v5.string(),\n clientId: v5.string(),\n actions: walletActionsSchema\n});\nvar PermissionRequestParams = v5.variant(\"type\", [\n v5.object({\n ...v5.omit(accountPermissionSchema, [\"clientId\"]).entries\n }),\n v5.object({\n ...v5.omit(walletPermissionSchema, [\"clientId\"]).entries\n })\n]);\nvar permission = v5.variant(\"type\", [accountPermissionSchema, walletPermissionSchema]);\nvar requestPermissionsMethodName = \"wallet_requestPermissions\";\nvar requestPermissionsParamsSchema = v5.nullish(v5.array(PermissionRequestParams));\nvar requestPermissionsResultSchema = v5.literal(true);\nvar requestPermissionsRequestMessageSchema = v5.object({\n ...rpcRequestMessageSchema.entries,\n ...v5.object({\n method: v5.literal(requestPermissionsMethodName),\n params: requestPermissionsParamsSchema,\n id: v5.string()\n }).entries\n});\nvar renouncePermissionsMethodName = \"wallet_renouncePermissions\";\nvar renouncePermissionsParamsSchema = v5.nullish(v5.null());\nvar renouncePermissionsResultSchema = v5.nullish(v5.null());\nvar renouncePermissionsRequestMessageSchema = v5.object({\n ...rpcRequestMessageSchema.entries,\n ...v5.object({\n method: v5.literal(renouncePermissionsMethodName),\n params: renouncePermissionsParamsSchema,\n id: v5.string()\n }).entries\n});\nvar disconnectMethodName = \"wallet_disconnect\";\nvar disconnectParamsSchema = v5.nullish(v5.null());\nvar disconnectResultSchema = v5.nullish(v5.null());\nvar disconnectRequestMessageSchema = v5.object({\n ...rpcRequestMessageSchema.entries,\n ...v5.object({\n method: v5.literal(disconnectMethodName),\n params: disconnectParamsSchema,\n id: v5.string()\n }).entries\n});\nvar getWalletTypeMethodName = \"wallet_getWalletType\";\nvar getWalletTypeParamsSchema = v5.nullish(v5.null());\nvar getWalletTypeResultSchema = walletTypeSchema;\nvar getWalletTypeRequestMessageSchema = v5.object({\n ...rpcRequestMessageSchema.entries,\n ...v5.object({\n method: v5.literal(getWalletTypeMethodName),\n params: getWalletTypeParamsSchema,\n id: v5.string()\n }).entries\n});\nvar getCurrentPermissionsMethodName = \"wallet_getCurrentPermissions\";\nvar getCurrentPermissionsParamsSchema = v5.nullish(v5.null());\nvar getCurrentPermissionsResultSchema = v5.array(permission);\nvar getCurrentPermissionsRequestMessageSchema = v5.object({\n ...rpcRequestMessageSchema.entries,\n ...v5.object({\n method: v5.literal(getCurrentPermissionsMethodName),\n params: getCurrentPermissionsParamsSchema,\n id: v5.string()\n }).entries\n});\nvar getNetworkMethodName = \"wallet_getNetwork\";\nvar getNetworkParamsSchema = v5.nullish(v5.null());\nvar getNetworkResultSchema = v5.object({\n bitcoin: v5.object({\n name: v5.enum(BitcoinNetworkType)\n }),\n stacks: v5.object({\n name: v5.enum(StacksNetworkType)\n }),\n spark: v5.object({\n name: v5.enum(SparkNetworkType)\n })\n});\nvar getNetworkRequestMessageSchema = v5.object({\n ...rpcRequestMessageSchema.entries,\n ...v5.object({\n method: v5.literal(getNetworkMethodName),\n params: getNetworkParamsSchema,\n id: v5.string()\n }).entries\n});\nvar changeNetworkMethodName = \"wallet_changeNetwork\";\nvar changeNetworkParamsSchema = v5.object({\n name: v5.enum(BitcoinNetworkType)\n});\nvar changeNetworkResultSchema = v5.nullish(v5.null());\nvar changeNetworkRequestMessageSchema = v5.object({\n ...rpcRequestMessageSchema.entries,\n ...v5.object({\n method: v5.literal(changeNetworkMethodName),\n params: changeNetworkParamsSchema,\n id: v5.string()\n }).entries\n});\nvar changeNetworkByIdMethodName = \"wallet_changeNetworkById\";\nvar changeNetworkByIdParamsSchema = v5.object({\n id: v5.string()\n});\nvar changeNetworkByIdResultSchema = v5.nullish(v5.null());\nvar changeNetworkByIdRequestMessageSchema = v5.object({\n ...rpcRequestMessageSchema.entries,\n ...v5.object({\n method: v5.literal(changeNetworkByIdMethodName),\n params: changeNetworkByIdParamsSchema,\n id: v5.string()\n }).entries\n});\nvar getAccountMethodName = \"wallet_getAccount\";\nvar getAccountParamsSchema = v5.nullish(v5.null());\nvar getAccountResultSchema = v5.object({\n id: v5.string(),\n addresses: v5.array(addressSchema),\n walletType: walletTypeSchema,\n network: getNetworkResultSchema\n});\nvar getAccountRequestMessageSchema = v5.object({\n ...rpcRequestMessageSchema.entries,\n ...v5.object({\n method: v5.literal(getAccountMethodName),\n params: getAccountParamsSchema,\n id: v5.string()\n }).entries\n});\nvar connectMethodName = \"wallet_connect\";\nvar connectParamsSchema = v5.nullish(\n v5.object({\n permissions: v5.optional(v5.array(PermissionRequestParams)),\n addresses: v5.optional(v5.array(v5.enum(AddressPurpose))),\n message: v5.optional(\n v5.pipe(v5.string(), v5.maxLength(80, \"The message must not exceed 80 characters.\"))\n ),\n network: v5.optional(v5.enum(BitcoinNetworkType))\n })\n);\nvar connectResultSchema = v5.object({\n id: v5.string(),\n addresses: v5.array(addressSchema),\n walletType: walletTypeSchema,\n network: getNetworkResultSchema\n});\nvar connectRequestMessageSchema = v5.object({\n ...rpcRequestMessageSchema.entries,\n ...v5.object({\n method: v5.literal(connectMethodName),\n params: connectParamsSchema,\n id: v5.string()\n }).entries\n});\nvar addNetworkMethodName = \"wallet_addNetwork\";\nvar addNetworkParamsSchema = v5.variant(\"chain\", [\n v5.object({\n chain: v5.literal(\"bitcoin\"),\n type: v5.enum(BitcoinNetworkType),\n name: v5.string(),\n rpcUrl: v5.string(),\n rpcFallbackUrl: v5.optional(v5.string()),\n indexerUrl: v5.optional(v5.string()),\n blockExplorerUrl: v5.optional(v5.string()),\n switch: v5.optional(v5.boolean())\n }),\n v5.object({\n chain: v5.literal(\"stacks\"),\n name: v5.string(),\n type: v5.enum(StacksNetworkType),\n rpcUrl: v5.string(),\n blockExplorerUrl: v5.optional(v5.string()),\n switch: v5.optional(v5.boolean())\n }),\n v5.object({\n chain: v5.literal(\"starknet\"),\n name: v5.string(),\n type: v5.enum(StarknetNetworkType),\n rpcUrl: v5.string(),\n blockExplorerUrl: v5.optional(v5.string()),\n switch: v5.optional(v5.boolean())\n })\n]);\nvar addNetworkRequestMessageSchema = v5.object({\n ...rpcRequestMessageSchema.entries,\n ...v5.object({\n method: v5.literal(addNetworkMethodName),\n params: addNetworkParamsSchema,\n id: v5.string()\n }).entries\n});\nvar addNetworkResultSchema = v5.object({\n id: v5.string()\n});\n\n// src/request/types/btcMethods.ts\nvar ProviderPlatform = /* @__PURE__ */ ((ProviderPlatform2) => {\n ProviderPlatform2[\"Web\"] = \"web\";\n ProviderPlatform2[\"Mobile\"] = \"mobile\";\n return ProviderPlatform2;\n})(ProviderPlatform || {});\nvar getInfoMethodName = \"getInfo\";\nvar getInfoParamsSchema = v6.nullish(v6.null());\nvar getInfoResultSchema = v6.object({\n /**\n * Version of the wallet.\n */\n version: v6.string(),\n /**\n * The platform the wallet is running on (web or mobile).\n */\n platform: v6.optional(v6.enum(ProviderPlatform)),\n /**\n * [WBIP](https://wbips.netlify.app/wbips/WBIP002) methods supported by the wallet.\n */\n methods: v6.optional(v6.array(v6.string())),\n /**\n * List of WBIP standards supported by the wallet. Not currently used.\n */\n supports: v6.array(v6.string())\n});\nvar getInfoRequestMessageSchema = v6.object({\n ...rpcRequestMessageSchema.entries,\n ...v6.object({\n method: v6.literal(getInfoMethodName),\n params: getInfoParamsSchema,\n id: v6.string()\n }).entries\n});\nvar getAddressesMethodName = \"getAddresses\";\nvar getAddressesParamsSchema = v6.object({\n /**\n * The purposes for which to generate addresses. See\n * {@linkcode AddressPurpose} for available purposes.\n */\n purposes: v6.array(v6.enum(AddressPurpose)),\n /**\n * A message to be displayed to the user in the request prompt.\n */\n message: v6.optional(v6.string())\n});\nvar getAddressesResultSchema = v6.object({\n /**\n * The addresses generated for the given purposes.\n */\n addresses: v6.array(addressSchema),\n network: getNetworkResultSchema\n});\nvar getAddressesRequestMessageSchema = v6.object({\n ...rpcRequestMessageSchema.entries,\n ...v6.object({\n method: v6.literal(getAddressesMethodName),\n params: getAddressesParamsSchema,\n id: v6.string()\n }).entries\n});\nvar signMessageMethodName = \"signMessage\";\nvar MessageSigningProtocols = /* @__PURE__ */ ((MessageSigningProtocols2) => {\n MessageSigningProtocols2[\"ECDSA\"] = \"ECDSA\";\n MessageSigningProtocols2[\"BIP322\"] = \"BIP322\";\n return MessageSigningProtocols2;\n})(MessageSigningProtocols || {});\nvar signMessageParamsSchema = v6.object({\n /**\n * The address used for signing.\n **/\n address: v6.string(),\n /**\n * The message to sign.\n **/\n message: v6.string(),\n /**\n * The protocol to use for signing the message.\n */\n protocol: v6.optional(v6.enum(MessageSigningProtocols))\n});\nvar signMessageResultSchema = v6.object({\n /**\n * The signature of the message.\n */\n signature: v6.string(),\n /**\n * hash of the message.\n */\n messageHash: v6.string(),\n /**\n * The address used for signing.\n */\n address: v6.string(),\n /**\n * The protocol to use for signing the message.\n */\n protocol: v6.enum(MessageSigningProtocols)\n});\nvar signMessageRequestMessageSchema = v6.object({\n ...rpcRequestMessageSchema.entries,\n ...v6.object({\n method: v6.literal(signMessageMethodName),\n params: signMessageParamsSchema,\n id: v6.string()\n }).entries\n});\nvar sendTransferMethodName = \"sendTransfer\";\nvar sendTransferParamsSchema = v6.object({\n /**\n * Array of recipients to send to.\n * The amount to send to each recipient is in satoshis.\n */\n recipients: v6.array(\n v6.object({\n address: v6.string(),\n amount: v6.number()\n })\n )\n});\nvar sendTransferResultSchema = v6.object({\n /**\n * The transaction id as a hex-encoded string.\n */\n txid: v6.string()\n});\nvar sendTransferRequestMessageSchema = v6.object({\n ...rpcRequestMessageSchema.entries,\n ...v6.object({\n method: v6.literal(sendTransferMethodName),\n params: sendTransferParamsSchema,\n id: v6.string()\n }).entries\n});\nvar signPsbtMethodName = \"signPsbt\";\nvar signPsbtParamsSchema = v6.object({\n /**\n * The base64 encoded PSBT to sign.\n */\n psbt: v6.string(),\n /**\n * The inputs to sign.\n * The key is the address and the value is an array of indexes of the inputs to sign.\n */\n signInputs: v6.optional(v6.record(v6.string(), v6.array(v6.number()))),\n /**\n * Whether to broadcast the transaction after signing.\n **/\n broadcast: v6.optional(v6.boolean())\n});\nvar signPsbtResultSchema = v6.object({\n /**\n * The base64 encoded PSBT after signing.\n */\n psbt: v6.string(),\n /**\n * The transaction id as a hex-encoded string.\n * This is only returned if the transaction was broadcast.\n **/\n txid: v6.optional(v6.string())\n});\nvar signPsbtRequestMessageSchema = v6.object({\n ...rpcRequestMessageSchema.entries,\n ...v6.object({\n method: v6.literal(signPsbtMethodName),\n params: signPsbtParamsSchema,\n id: v6.string()\n }).entries\n});\nvar getAccountsMethodName = \"getAccounts\";\nvar getAccountsParamsSchema = v6.object({\n /**\n * The purposes for which to generate addresses. See\n * {@linkcode AddressPurpose} for available purposes.\n */\n purposes: v6.array(v6.enum(AddressPurpose)),\n /**\n * A message to be displayed to the user in the request prompt.\n */\n message: v6.optional(v6.string())\n});\nvar getAccountsResultSchema = v6.array(\n v6.object({\n ...addressSchema.entries,\n ...v6.object({\n walletType: walletTypeSchema\n }).entries\n })\n);\nvar getAccountsRequestMessageSchema = v6.object({\n ...rpcRequestMessageSchema.entries,\n ...v6.object({\n method: v6.literal(getAccountsMethodName),\n params: getAccountsParamsSchema,\n id: v6.string()\n }).entries\n});\nvar getBalanceMethodName = \"getBalance\";\nvar getBalanceParamsSchema = v6.nullish(v6.null());\nvar getBalanceResultSchema = v6.object({\n /**\n * The confirmed balance of the wallet in sats. Using a string due to chrome\n * messages not supporting bigint\n * (https://issues.chromium.org/issues/40116184).\n */\n confirmed: v6.string(),\n /**\n * The unconfirmed balance of the wallet in sats. Using a string due to chrome\n * messages not supporting bigint\n * (https://issues.chromium.org/issues/40116184).\n */\n unconfirmed: v6.string(),\n /**\n * The total balance (both confirmed and unconfrimed UTXOs) of the wallet in\n * sats. Using a string due to chrome messages not supporting bigint\n * (https://issues.chromium.org/issues/40116184).\n */\n total: v6.string()\n});\nvar getBalanceRequestMessageSchema = v6.object({\n ...rpcRequestMessageSchema.entries,\n ...v6.object({\n method: v6.literal(getBalanceMethodName),\n id: v6.string()\n }).entries\n});\n\n// src/request/types/ordinalsMethods.ts\nimport * as v7 from \"valibot\";\nvar getInscriptionsMethodName = \"ord_getInscriptions\";\nvar getInscriptionsParamsSchema = v7.object({\n offset: v7.number(),\n limit: v7.number()\n});\nvar getInscriptionsResultSchema = v7.object({\n total: v7.number(),\n limit: v7.number(),\n offset: v7.number(),\n inscriptions: v7.array(\n v7.object({\n inscriptionId: v7.string(),\n inscriptionNumber: v7.string(),\n address: v7.string(),\n collectionName: v7.optional(v7.string()),\n postage: v7.string(),\n contentLength: v7.string(),\n contentType: v7.string(),\n timestamp: v7.number(),\n offset: v7.number(),\n genesisTransaction: v7.string(),\n output: v7.string()\n })\n )\n});\nvar getInscriptionsRequestMessageSchema = v7.object({\n ...rpcRequestMessageSchema.entries,\n ...v7.object({\n method: v7.literal(getInscriptionsMethodName),\n params: getInscriptionsParamsSchema,\n id: v7.string()\n }).entries\n});\nvar sendInscriptionsMethodName = \"ord_sendInscriptions\";\nvar sendInscriptionsParamsSchema = v7.object({\n transfers: v7.array(\n v7.object({\n address: v7.string(),\n inscriptionId: v7.string()\n })\n )\n});\nvar sendInscriptionsResultSchema = v7.object({\n txid: v7.string()\n});\nvar sendInscriptionsRequestMessageSchema = v7.object({\n ...rpcRequestMessageSchema.entries,\n ...v7.object({\n method: v7.literal(sendInscriptionsMethodName),\n params: sendInscriptionsParamsSchema,\n id: v7.string()\n }).entries\n});\n\n// src/request/types/runesMethods/etch.ts\nimport * as v8 from \"valibot\";\nvar runesEtchMethodName = \"runes_etch\";\nvar etchTermsSchema = v8.object({\n amount: v8.string(),\n cap: v8.string(),\n heightStart: v8.optional(v8.string()),\n heightEnd: v8.optional(v8.string()),\n offsetStart: v8.optional(v8.string()),\n offsetEnd: v8.optional(v8.string())\n});\nvar inscriptionDetailsSchema = v8.object({\n contentType: v8.string(),\n contentBase64: v8.string()\n});\nvar runesEtchParamsSchema = v8.object({\n runeName: v8.string(),\n divisibility: v8.optional(v8.number()),\n symbol: v8.optional(v8.string()),\n premine: v8.optional(v8.string()),\n isMintable: v8.boolean(),\n delegateInscriptionId: v8.optional(v8.string()),\n destinationAddress: v8.string(),\n refundAddress: v8.string(),\n feeRate: v8.number(),\n appServiceFee: v8.optional(v8.number()),\n appServiceFeeAddress: v8.optional(v8.string()),\n terms: v8.optional(etchTermsSchema),\n inscriptionDetails: v8.optional(inscriptionDetailsSchema),\n network: v8.optional(v8.enum(BitcoinNetworkType))\n});\nvar runesEtchResultSchema = v8.object({\n orderId: v8.string(),\n fundTransactionId: v8.string(),\n fundingAddress: v8.string()\n});\nvar runesEtchRequestMessageSchema = v8.object({\n ...rpcRequestMessageSchema.entries,\n ...v8.object({\n method: v8.literal(runesEtchMethodName),\n params: runesEtchParamsSchema,\n id: v8.string()\n }).entries\n});\n\n// src/request/types/runesMethods/getBalance.ts\nimport * as v9 from \"valibot\";\nvar runesGetBalanceMethodName = \"runes_getBalance\";\nvar runesGetBalanceParamsSchema = v9.nullish(v9.null());\nvar runesGetBalanceResultSchema = v9.object({\n balances: v9.array(\n v9.object({\n runeName: v9.string(),\n amount: v9.string(),\n divisibility: v9.number(),\n symbol: v9.string(),\n inscriptionId: v9.nullish(v9.string()),\n spendableBalance: v9.string()\n })\n )\n});\nvar runesGetBalanceRequestMessageSchema = v9.object({\n ...rpcRequestMessageSchema.entries,\n ...v9.object({\n method: v9.literal(runesGetBalanceMethodName),\n params: runesGetBalanceParamsSchema,\n id: v9.string()\n }).entries\n});\n\n// src/request/types/runesMethods/mint.ts\nimport * as v10 from \"valibot\";\nvar runesMintMethodName = \"runes_mint\";\nvar runesMintParamsSchema = v10.object({\n appServiceFee: v10.optional(v10.number()),\n appServiceFeeAddress: v10.optional(v10.string()),\n destinationAddress: v10.string(),\n feeRate: v10.number(),\n refundAddress: v10.string(),\n repeats: v10.number(),\n runeName: v10.string(),\n network: v10.optional(v10.enum(BitcoinNetworkType))\n});\nvar runesMintResultSchema = v10.object({\n orderId: v10.string(),\n fundTransactionId: v10.string(),\n fundingAddress: v10.string()\n});\nvar runesMintRequestMessageSchema = v10.object({\n ...rpcRequestMessageSchema.entries,\n ...v10.object({\n method: v10.literal(runesMintMethodName),\n params: runesMintParamsSchema,\n id: v10.string()\n }).entries\n});\n\n// src/request/types/runesMethods/transfer.ts\nimport * as v11 from \"valibot\";\nvar runesTransferMethodName = \"runes_transfer\";\nvar runesTransferParamsSchema = v11.object({\n recipients: v11.array(\n v11.object({\n runeName: v11.string(),\n amount: v11.string(),\n address: v11.string()\n })\n )\n});\nvar runesTransferResultSchema = v11.object({\n txid: v11.string()\n});\nvar runesTransferRequestMessageSchema = v11.object({\n ...rpcRequestMessageSchema.entries,\n ...v11.object({\n method: v11.literal(runesTransferMethodName),\n params: runesTransferParamsSchema,\n id: v11.string()\n }).entries\n});\n\n// src/request/types/sparkMethods/flashnetMethods/getJwt.ts\nimport * as v12 from \"valibot\";\nvar sparkFlashnetGetJwtMethodName = \"spark_flashnet_getJwt\";\nvar sparkFlashnetGetJwtParamsSchema = v12.null();\nvar sparkFlashnetGetJwtResultSchema = v12.object({\n /**\n * The JWT token for authenticated requests to the Flashnet API.\n */\n jwt: v12.string()\n});\nvar sparkFlashnetGetJwtRequestMessageSchema = v12.object({\n ...rpcRequestMessageSchema.entries,\n ...v12.object({\n method: v12.literal(sparkFlashnetGetJwtMethodName),\n params: sparkFlashnetGetJwtParamsSchema,\n id: v12.string()\n }).entries\n});\n\n// src/request/types/sparkMethods/flashnetMethods/intents/addLiquidity.ts\nimport * as v13 from \"valibot\";\nvar sparkFlashnetAddLiquidityIntentSchema = v13.object({\n type: v13.literal(\"addLiquidity\"),\n data: v13.object({\n userPublicKey: v13.string(),\n poolId: v13.string(),\n assetAAmount: v13.string(),\n assetBAmount: v13.string(),\n assetAMinAmountIn: v13.string(),\n assetBMinAmountIn: v13.string(),\n assetATransferId: v13.string(),\n assetBTransferId: v13.string(),\n nonce: v13.string()\n })\n});\n\n// src/request/types/sparkMethods/flashnetMethods/intents/clawback.ts\nimport * as v14 from \"valibot\";\nvar sparkFlashnetClawbackIntentSchema = v14.object({\n type: v14.literal(\"clawback\"),\n data: v14.object({\n senderPublicKey: v14.string(),\n sparkTransferId: v14.string(),\n lpIdentityPublicKey: v14.string(),\n nonce: v14.string()\n })\n});\n\n// src/request/types/sparkMethods/flashnetMethods/intents/confirmInitialDeposit.ts\nimport * as v15 from \"valibot\";\nvar sparkFlashnetConfirmInitialDepositIntentSchema = v15.object({\n type: v15.literal(\"confirmInitialDeposit\"),\n data: v15.object({\n poolId: v15.string(),\n assetASparkTransferId: v15.string(),\n poolOwnerPublicKey: v15.string(),\n nonce: v15.string()\n })\n});\n\n// src/request/types/sparkMethods/flashnetMethods/intents/createConstantProductPool.ts\nimport * as v16 from \"valibot\";\nvar sparkFlashnetCreateConstantProductPoolIntentSchema = v16.object({\n type: v16.literal(\"createConstantProductPool\"),\n data: v16.object({\n poolOwnerPublicKey: v16.string(),\n assetAAddress: v16.string(),\n assetBAddress: v16.string(),\n lpFeeRateBps: v16.union([v16.number(), v16.string()]),\n totalHostFeeRateBps: v16.union([v16.number(), v16.string()]),\n nonce: v16.string()\n })\n});\n\n// src/request/types/sparkMethods/flashnetMethods/intents/createSingleSidedPool.ts\nimport * as v17 from \"valibot\";\nvar sparkFlashnetCreateSingleSidedPoolIntentSchema = v17.object({\n type: v17.literal(\"createSingleSidedPool\"),\n data: v17.object({\n assetAAddress: v17.string(),\n assetBAddress: v17.string(),\n assetAInitialReserve: v17.string(),\n virtualReserveA: v17.union([v17.number(), v17.string()]),\n virtualReserveB: v17.union([v17.number(), v17.string()]),\n threshold: v17.union([v17.number(), v17.string()]),\n lpFeeRateBps: v17.union([v17.number(), v17.string()]),\n totalHostFeeRateBps: v17.union([v17.number(), v17.string()]),\n poolOwnerPublicKey: v17.string(),\n nonce: v17.string()\n })\n});\n\n// src/request/types/sparkMethods/flashnetMethods/intents/removeLiquidity.ts\nimport * as v18 from \"valibot\";\nvar sparkFlashnetRemoveLiquidityIntentSchema = v18.object({\n type: v18.literal(\"removeLiquidity\"),\n data: v18.object({\n userPublicKey: v18.string(),\n poolId: v18.string(),\n lpTokensToRemove: v18.string(),\n nonce: v18.string()\n })\n});\n\n// src/request/types/sparkMethods/flashnetMethods/intents/routeSwap.ts\nimport * as v19 from \"valibot\";\nvar sparkFlashnetRouteSwapIntentSchema = v19.object({\n type: v19.literal(\"executeRouteSwap\"),\n data: v19.object({\n userPublicKey: v19.string(),\n initialSparkTransferId: v19.string(),\n hops: v19.array(\n v19.object({\n poolId: v19.string(),\n inputAssetAddress: v19.string(),\n outputAssetAddress: v19.string(),\n hopIntegratorFeeRateBps: v19.optional(v19.union([v19.number(), v19.string()]))\n })\n ),\n inputAmount: v19.string(),\n maxRouteSlippageBps: v19.union([v19.number(), v19.string()]),\n minAmountOut: v19.string(),\n defaultIntegratorFeeRateBps: v19.optional(v19.union([v19.number(), v19.string()])),\n nonce: v19.string()\n })\n});\n\n// src/request/types/sparkMethods/flashnetMethods/intents/swap.ts\nimport * as v20 from \"valibot\";\nvar sparkFlashnetSwapIntentSchema = v20.object({\n type: v20.literal(\"executeSwap\"),\n data: v20.object({\n userPublicKey: v20.string(),\n poolId: v20.string(),\n transferId: v20.string(),\n assetInAddress: v20.string(),\n assetOutAddress: v20.string(),\n amountIn: v20.string(),\n maxSlippageBps: v20.union([v20.number(), v20.string()]),\n minAmountOut: v20.string(),\n totalIntegratorFeeRateBps: v20.optional(v20.union([v20.number(), v20.string()])),\n nonce: v20.string()\n })\n});\n\n// src/request/types/sparkMethods/flashnetMethods/signIntent.ts\nimport * as v21 from \"valibot\";\nvar sparkFlashnetSignIntentMethodName = \"spark_flashnet_signIntent\";\nvar sparkFlashnetSignIntentParamsSchema = v21.union([\n sparkFlashnetSwapIntentSchema,\n sparkFlashnetRouteSwapIntentSchema,\n sparkFlashnetAddLiquidityIntentSchema,\n sparkFlashnetClawbackIntentSchema,\n sparkFlashnetConfirmInitialDepositIntentSchema,\n sparkFlashnetCreateConstantProductPoolIntentSchema,\n sparkFlashnetCreateSingleSidedPoolIntentSchema,\n sparkFlashnetRemoveLiquidityIntentSchema\n]);\nvar sparkFlashnetSignIntentResultSchema = v21.object({\n /**\n * The signed intent as a hex string.\n */\n signature: v21.string()\n});\nvar sparkFlashnetSignIntentRequestMessageSchema = v21.object({\n ...rpcRequestMessageSchema.entries,\n ...v21.object({\n method: v21.literal(sparkFlashnetSignIntentMethodName),\n params: sparkFlashnetSignIntentParamsSchema,\n id: v21.string()\n }).entries\n});\n\n// src/request/types/sparkMethods/flashnetMethods/signStructuredMessage.ts\nimport * as v22 from \"valibot\";\nvar sparkFlashnetSignStructuredMessageMethodName = \"spark_flashnet_signStructuredMessage\";\nvar sparkFlashnetSignStructuredMessageParamsSchema = v22.object({\n message: v22.string()\n});\nvar sparkFlashnetSignStructuredMessageResultSchema = v22.object({\n message: v22.string(),\n signature: v22.string()\n});\nvar sparkFlashnetSignStructuredMessageRequestMessageSchema = v22.object({\n ...rpcRequestMessageSchema.entries,\n ...v22.object({\n method: v22.literal(sparkFlashnetSignStructuredMessageMethodName),\n params: sparkFlashnetSignStructuredMessageParamsSchema,\n id: v22.string()\n }).entries\n});\n\n// src/request/types/sparkMethods/getAddresses.ts\nimport * as v23 from \"valibot\";\nvar sparkGetAddressesMethodName = \"spark_getAddresses\";\nvar sparkGetAddressesParamsSchema = v23.nullish(\n v23.object({\n /**\n * A message to be displayed to the user in the request prompt.\n */\n message: v23.optional(v23.string())\n })\n);\nvar sparkGetAddressesResultSchema = v23.object({\n /**\n * The addresses generated for the given purposes.\n */\n addresses: v23.array(addressSchema),\n network: getNetworkResultSchema\n});\nvar sparkGetAddressesRequestMessageSchema = v23.object({\n ...rpcRequestMessageSchema.entries,\n ...v23.object({\n method: v23.literal(sparkGetAddressesMethodName),\n params: sparkGetAddressesParamsSchema,\n id: v23.string()\n }).entries\n});\n\n// src/request/types/sparkMethods/getBalance.ts\nimport * as v24 from \"valibot\";\nvar sparkGetBalanceMethodName = \"spark_getBalance\";\nvar sparkGetBalanceParamsSchema = v24.nullish(v24.null());\nvar sparkGetBalanceResultSchema = v24.object({\n /**\n * The Spark Bitcoin address balance in sats in string form.\n */\n balance: v24.string(),\n tokenBalances: v24.array(\n v24.object({\n /* The address balance of the token in string form as it can overflow a js number */\n balance: v24.string(),\n tokenMetadata: v24.object({\n tokenIdentifier: v24.string(),\n tokenName: v24.string(),\n tokenTicker: v24.string(),\n decimals: v24.number(),\n maxSupply: v24.string()\n })\n })\n )\n});\nvar sparkGetBalanceRequestMessageSchema = v24.object({\n ...rpcRequestMessageSchema.entries,\n ...v24.object({\n method: v24.literal(sparkGetBalanceMethodName),\n params: sparkGetBalanceParamsSchema,\n id: v24.string()\n }).entries\n});\n\n// src/request/types/sparkMethods/signMessage.ts\nimport * as v25 from \"valibot\";\nvar sparkSignMessageMethodName = \"spark_signMessage\";\nvar sparkSignMessageParamsSchema = v25.object({\n /**\n * The message to sign. The message should only consist of valid UTF-8 characters.\n */\n message: v25.string()\n});\nvar sparkSignMessageResultSchema = v25.object({\n /**\n * The signature, encoded in base64, of the message hash.\n *\n * Note: When signing, the message is decoded into a byte array,\n * and the resulting byte array is hashed with SHA256 before signing\n * with the private key.\n */\n signature: v25.string()\n});\nvar sparkSignMessageRequestMessageSchema = v25.object({\n ...rpcRequestMessageSchema.entries,\n ...v25.object({\n method: v25.literal(sparkSignMessageMethodName),\n params: sparkSignMessageParamsSchema,\n id: v25.string()\n }).entries\n});\n\n// src/request/types/sparkMethods/transfer.ts\nimport * as v26 from \"valibot\";\nvar sparkTransferMethodName = \"spark_transfer\";\nvar sparkTransferParamsSchema = v26.object({\n /**\n * Amount of SATS to transfer as a string or number.\n */\n amountSats: v26.union([v26.number(), v26.string()]),\n /**\n * The recipient's spark address.\n */\n receiverSparkAddress: v26.string()\n});\nvar sparkTransferResultSchema = v26.object({\n /**\n * The ID of the transaction.\n */\n id: v26.string()\n});\nvar sparkTransferRequestMessageSchema = v26.object({\n ...rpcRequestMessageSchema.entries,\n ...v26.object({\n method: v26.literal(sparkTransferMethodName),\n params: sparkTransferParamsSchema,\n id: v26.string()\n }).entries\n});\n\n// src/request/types/sparkMethods/transferToken.ts\nimport * as v27 from \"valibot\";\nvar sparkTransferTokenMethodName = \"spark_transferToken\";\nvar sparkTransferTokenParamsSchema = v27.object({\n /**\n * Amount of units of the token to transfer as a string or number.\n */\n tokenAmount: v27.union([v27.number(), v27.string()]),\n /**\n * The Bech32m token identifier.\n */\n tokenIdentifier: v27.string(),\n /**\n * The recipient's spark address.\n */\n receiverSparkAddress: v27.string()\n});\nvar sparkTransferTokenResultSchema = v27.object({\n /**\n * The ID of the transaction.\n */\n id: v27.string()\n});\nvar sparkTransferTokenRequestMessageSchema = v27.object({\n ...rpcRequestMessageSchema.entries,\n ...v27.object({\n method: v27.literal(sparkTransferTokenMethodName),\n params: sparkTransferTokenParamsSchema,\n id: v27.string()\n }).entries\n});\n\n// src/request/types/stxMethods/callContract.ts\nimport * as v28 from \"valibot\";\nvar stxCallContractMethodName = \"stx_callContract\";\nvar stxCallContractParamsSchema = v28.object({\n /**\n * The contract principal.\n *\n * E.g. `\"SPKE...GD5C.my-contract\"`\n */\n contract: v28.string(),\n /**\n * The name of the function to call.\n *\n * Note: spec changes ongoing,\n * https://github.com/stacksgov/sips/pull/166#pullrequestreview-1914236999\n */\n functionName: v28.string(),\n /**\n * @deprecated in favor of `functionArgs` for @stacks/connect compatibility\n */\n arguments: v28.optional(v28.array(v28.string())),\n /**\n * The function's arguments. The arguments are expected to be hex-encoded\n * strings of Clarity values.\n *\n * To convert Clarity values to their hex representation, the `cvToHex`\n * helper from the `@stacks/transactions` package may be helpful.\n *\n * ```js\n * import { cvToHex } from '@stacks/transactions';\n *\n * const functionArgs = [someClarityValue1, someClarityValue2];\n * const hexArgs = functionArgs.map(cvToHex);\n * ```\n */\n functionArgs: v28.optional(v28.array(v28.string())),\n /**\n * The post conditions to apply to the contract call.\n */\n postConditions: v28.optional(v28.array(v28.string())),\n /**\n * The mode to apply to the post conditions.\n */\n postConditionMode: v28.optional(v28.union([v28.literal(\"allow\"), v28.literal(\"deny\")]))\n});\nvar stxCallContractResultSchema = v28.object({\n /**\n * The ID of the transaction.\n */\n txid: v28.string(),\n /**\n * A Stacks transaction as a hex-encoded string.\n */\n transaction: v28.string()\n});\nvar stxCallContractRequestMessageSchema = v28.object({\n ...rpcRequestMessageSchema.entries,\n ...v28.object({\n method: v28.literal(stxCallContractMethodName),\n params: stxCallContractParamsSchema,\n id: v28.string()\n }).entries\n});\n\n// src/request/types/stxMethods/deployContract.ts\nimport * as v29 from \"valibot\";\nvar stxDeployContractMethodName = \"stx_deployContract\";\nvar stxDeployContractParamsSchema = v29.object({\n /**\n * Name of the contract.\n */\n name: v29.string(),\n /**\n * The source code of the Clarity contract.\n */\n clarityCode: v29.string(),\n /**\n * The version of the Clarity contract.\n */\n clarityVersion: v29.optional(v29.number()),\n /**\n * The post conditions to apply to the contract call.\n */\n postConditions: v29.optional(v29.array(v29.string())),\n /**\n * The mode to apply to the post conditions.\n */\n postConditionMode: v29.optional(v29.union([v29.literal(\"allow\"), v29.literal(\"deny\")]))\n});\nvar stxDeployContractResultSchema = v29.object({\n /**\n * The ID of the transaction.\n */\n txid: v29.string(),\n /**\n * A Stacks transaction as a hex-encoded string.\n */\n transaction: v29.string()\n});\nvar stxDeployContractRequestMessageSchema = v29.object({\n ...rpcRequestMessageSchema.entries,\n ...v29.object({\n method: v29.literal(stxDeployContractMethodName),\n params: stxDeployContractParamsSchema,\n id: v29.string()\n }).entries\n});\n\n// src/request/types/stxMethods/getAccounts.ts\nimport * as v30 from \"valibot\";\nvar stxGetAccountsMethodName = \"stx_getAccounts\";\nvar stxGetAccountsParamsSchema = v30.nullish(v30.null());\nvar stxGetAccountsResultSchema = v30.object({\n /**\n * The addresses generated for the given purposes.\n */\n addresses: v30.array(\n v30.object({\n address: v30.string(),\n publicKey: v30.string(),\n gaiaHubUrl: v30.string(),\n gaiaAppKey: v30.string()\n })\n ),\n network: getNetworkResultSchema\n});\nvar stxGetAccountsRequestMessageSchema = v30.object({\n ...rpcRequestMessageSchema.entries,\n ...v30.object({\n method: v30.literal(stxGetAccountsMethodName),\n params: stxGetAccountsParamsSchema,\n id: v30.string()\n }).entries\n});\n\n// src/request/types/stxMethods/getAddresses.ts\nimport * as v31 from \"valibot\";\nvar stxGetAddressesMethodName = \"stx_getAddresses\";\nvar stxGetAddressesParamsSchema = v31.nullish(\n v31.object({\n /**\n * A message to be displayed to the user in the request prompt.\n */\n message: v31.optional(v31.string())\n })\n);\nvar stxGetAddressesResultSchema = v31.object({\n /**\n * The addresses generated for the given purposes.\n */\n addresses: v31.array(addressSchema),\n network: getNetworkResultSchema\n});\nvar stxGetAddressesRequestMessageSchema = v31.object({\n ...rpcRequestMessageSchema.entries,\n ...v31.object({\n method: v31.literal(stxGetAddressesMethodName),\n params: stxGetAddressesParamsSchema,\n id: v31.string()\n }).entries\n});\n\n// src/request/types/stxMethods/signMessage.ts\nimport * as v32 from \"valibot\";\nvar stxSignMessageMethodName = \"stx_signMessage\";\nvar stxSignMessageParamsSchema = v32.object({\n /**\n * The message to sign.\n */\n message: v32.string()\n});\nvar stxSignMessageResultSchema = v32.object({\n /**\n * The signature of the message.\n */\n signature: v32.string(),\n /**\n * The public key used to sign the message.\n */\n publicKey: v32.string()\n});\nvar stxSignMessageRequestMessageSchema = v32.object({\n ...rpcRequestMessageSchema.entries,\n ...v32.object({\n method: v32.literal(stxSignMessageMethodName),\n params: stxSignMessageParamsSchema,\n id: v32.string()\n }).entries\n});\n\n// src/request/types/stxMethods/signStructuredMessage.ts\nimport * as v33 from \"valibot\";\nvar stxSignStructuredMessageMethodName = \"stx_signStructuredMessage\";\nvar stxSignStructuredMessageParamsSchema = v33.object({\n /**\n * The domain to be signed.\n */\n domain: v33.string(),\n /**\n * Message payload to be signed.\n */\n message: v33.string(),\n /**\n * The public key to sign the message with.\n */\n publicKey: v33.optional(v33.string())\n});\nvar stxSignStructuredMessageResultSchema = v33.object({\n /**\n * Signature of the message.\n */\n signature: v33.string(),\n /**\n * Public key as hex-encoded string.\n */\n publicKey: v33.string()\n});\nvar stxSignStructuredMessageRequestMessageSchema = v33.object({\n ...rpcRequestMessageSchema.entries,\n ...v33.object({\n method: v33.literal(stxSignStructuredMessageMethodName),\n params: stxSignStructuredMessageParamsSchema,\n id: v33.string()\n }).entries\n});\n\n// src/request/types/stxMethods/signTransaction.ts\nimport * as v34 from \"valibot\";\nvar stxSignTransactionMethodName = \"stx_signTransaction\";\nvar stxSignTransactionParamsSchema = v34.object({\n /**\n * The transaction to sign as a hex-encoded string.\n */\n transaction: v34.string(),\n /**\n * The public key to sign the transaction with. The wallet may use any key\n * when not provided.\n */\n pubkey: v34.optional(v34.string()),\n /**\n * Whether to broadcast the transaction after signing. Defaults to `true`.\n */\n broadcast: v34.optional(v34.boolean())\n});\nvar stxSignTransactionResultSchema = v34.object({\n /**\n * The signed transaction as a hex-encoded string.\n */\n transaction: v34.string()\n});\nvar stxSignTransactionRequestMessageSchema = v34.object({\n ...rpcRequestMessageSchema.entries,\n ...v34.object({\n method: v34.literal(stxSignTransactionMethodName),\n params: stxSignTransactionParamsSchema,\n id: v34.string()\n }).entries\n});\n\n// src/request/types/stxMethods/signTransactions.ts\nimport * as v35 from \"valibot\";\nvar stxSignTransactionsMethodName = \"stx_signTransactions\";\nvar stxSignTransactionsParamsSchema = v35.object({\n /**\n * The transactions to sign as hex-encoded strings.\n */\n transactions: v35.pipe(\n v35.array(\n v35.pipe(\n v35.string(),\n v35.check((hex) => {\n return true;\n }, \"Invalid hex-encoded Stacks transaction.\")\n )\n ),\n v35.minLength(1)\n ),\n /**\n * Whether the signed transactions should be broadcast after signing. Defaults\n * to `true`.\n */\n broadcast: v35.optional(v35.boolean())\n});\nvar stxSignTransactionsResultSchema = v35.object({\n /**\n * The signed transactions as hex-encoded strings, in the same order as in the\n * sign request.\n */\n transactions: v35.array(v35.string())\n});\nvar stxSignTransactionsRequestMessageSchema = v35.object({\n ...rpcRequestMessageSchema.entries,\n ...v35.object({\n method: v35.literal(stxSignTransactionsMethodName),\n params: stxSignTransactionsParamsSchema,\n id: v35.string()\n }).entries\n});\n\n// src/request/types/stxMethods/transferStx.ts\nimport * as v36 from \"valibot\";\nvar stxTransferStxMethodName = \"stx_transferStx\";\nvar stxTransferStxParamsSchema = v36.object({\n /**\n * Amount of STX tokens to transfer in microstacks as a string. Anything\n * parseable by `BigInt` is acceptable.\n *\n * Example,\n *\n * ```js\n * const amount1 = 1234;\n * const amount2 = 1234n;\n * const amount3 = '1234';\n * ```\n */\n amount: v36.union([v36.number(), v36.string()]),\n /**\n * The recipient's principal.\n */\n recipient: v36.string(),\n /**\n * A string representing the memo.\n */\n memo: v36.optional(v36.string()),\n /**\n * Version of parameter format.\n */\n version: v36.optional(v36.string()),\n /**\n * The mode of the post conditions.\n */\n postConditionMode: v36.optional(v36.number()),\n /**\n * A hex-encoded string representing the post conditions.\n *\n * A post condition may be converted to it's hex representation using the `serializePostCondition` helper from the `@stacks/transactions` package,\n *\n * ```js\n * import { serializePostCondition } from '@stacks/transactions';\n *\n * const postCondition = somePostCondition;\n * const hexPostCondition = serializePostCondition(postCondition).toString('hex');\n * ```\n */\n postConditions: v36.optional(v36.array(v36.string())),\n /**\n * The public key to sign the transaction with. The wallet may use any key\n * when not provided.\n */\n pubkey: v36.optional(v36.string())\n});\nvar stxTransferStxResultSchema = v36.object({\n /**\n * The ID of the transaction.\n */\n txid: v36.string(),\n /**\n * A Stacks transaction as a hex-encoded string.\n */\n transaction: v36.string()\n});\nvar stxTransferStxRequestMessageSchema = v36.object({\n ...rpcRequestMessageSchema.entries,\n ...v36.object({\n method: v36.literal(stxTransferStxMethodName),\n params: stxTransferStxParamsSchema,\n id: v36.string()\n }).entries\n});\n\n// src/request/index.ts\nvar cache = {};\nvar requestInternal = async (provider, method, params) => {\n const response = await provider.request(method, params);\n if (v37.is(rpcErrorResponseMessageSchema, response)) {\n return {\n status: \"error\",\n error: response.error\n };\n }\n if (v37.is(rpcSuccessResponseMessageSchema, response)) {\n return {\n status: \"success\",\n result: response.result\n };\n }\n return {\n status: \"error\",\n error: {\n code: -32603 /* INTERNAL_ERROR */,\n message: \"Received unknown response from provider.\",\n data: response\n }\n };\n};\nvar request = async (method, params, providerId) => {\n let provider = window.XverseProviders?.BitcoinProvider || window.BitcoinProvider;\n if (providerId) {\n provider = await getProviderById(providerId);\n }\n if (!provider) {\n throw new Error(\"no wallet provider was found\");\n }\n if (!method) {\n throw new Error(\"A wallet method is required\");\n }\n if (!cache.providerInfo) {\n const infoResult = await requestInternal(provider, \"getInfo\", null);\n if (infoResult.status === \"success\") {\n cache.providerInfo = infoResult.result;\n }\n }\n if (cache.providerInfo) {\n if (method === \"getInfo\") {\n return {\n status: \"success\",\n result: cache.providerInfo\n };\n }\n const sanitized = sanitizeRequest(method, params, cache.providerInfo);\n if (sanitized.overrideResponse) {\n return sanitized.overrideResponse;\n }\n method = sanitized.method;\n params = sanitized.params;\n }\n return requestInternal(provider, method, params);\n};\nvar addListener = (...rawArgs) => {\n const [listenerInfo, providerId] = (() => {\n if (rawArgs.length === 1) {\n return [rawArgs[0], void 0];\n }\n if (rawArgs.length === 2) {\n if (typeof rawArgs[1] === \"function\") {\n return [\n {\n eventName: rawArgs[0],\n cb: rawArgs[1]\n },\n void 0\n ];\n } else {\n return rawArgs;\n }\n }\n if (rawArgs.length === 3) {\n return [\n {\n eventName: rawArgs[0],\n cb: rawArgs[1]\n },\n rawArgs[2]\n ];\n }\n throw new Error(\"Unexpected number of arguments. Expecting 2 (or 3 for legacy requests).\", {\n cause: rawArgs\n });\n })();\n let provider = window.XverseProviders?.BitcoinProvider || window.BitcoinProvider;\n if (providerId) {\n provider = getProviderById(providerId);\n }\n if (!provider) {\n throw new Error(\"no wallet provider was found\");\n }\n if (!provider.addListener) {\n console.error(\n `The wallet provider you are using does not support the addListener method. Please update your wallet provider.`\n );\n return () => {\n };\n }\n return provider.addListener(listenerInfo);\n};\n\n// src/runes/api.ts\nimport axios from \"axios\";\nvar urlNetworkSuffix = {\n [\"Mainnet\" /* Mainnet */]: \"\",\n [\"Testnet\" /* Testnet */]: \"-testnet\",\n [\"Testnet4\" /* Testnet4 */]: \"-testnet4\",\n [\"Signet\" /* Signet */]: \"-signet\"\n};\nvar ORDINALS_API_BASE_URL = (network = \"Mainnet\" /* Mainnet */) => {\n if (network === \"Regtest\" /* Regtest */) {\n throw new Error(`Ordinals API does not support ${network} network`);\n }\n return `https://ordinals${urlNetworkSuffix[network]}.xverse.app/v1`;\n};\nvar RunesApi = class {\n client;\n constructor(network) {\n this.client = axios.create({\n baseURL: ORDINALS_API_BASE_URL(network)\n });\n }\n parseError = (error) => {\n return {\n code: error.response?.status,\n message: JSON.stringify(error.response?.data)\n };\n };\n estimateMintCost = async (mintParams) => {\n try {\n const response = await this.client.post(\"/runes/mint/estimate\", {\n ...mintParams\n });\n return {\n data: response.data\n };\n } catch (error) {\n const err = error;\n return {\n error: this.parseError(err)\n };\n }\n };\n estimateEtchCost = async (etchParams) => {\n try {\n const response = await this.client.post(\"/runes/etch/estimate\", {\n ...etchParams\n });\n return {\n data: response.data\n };\n } catch (error) {\n const err = error;\n return {\n error: this.parseError(err)\n };\n }\n };\n createMintOrder = async (mintOrderParams) => {\n try {\n const response = await this.client.post(\"/runes/mint/orders\", {\n ...mintOrderParams\n });\n return {\n data: response.data\n };\n } catch (error) {\n const err = error;\n return {\n error: this.parseError(err)\n };\n }\n };\n createEtchOrder = async (etchOrderParams) => {\n try {\n const response = await this.client.post(\"/runes/etch/orders\", {\n ...etchOrderParams\n });\n return {\n data: response.data\n };\n } catch (error) {\n const err = error;\n return {\n error: this.parseError(err)\n };\n }\n };\n executeMint = async (orderId, fundTransactionId) => {\n try {\n const response = await this.client.post(`/runes/mint/orders/${orderId}/execute`, {\n fundTransactionId\n });\n return {\n data: response.data\n };\n } catch (error) {\n const err = error;\n return {\n error: this.parseError(err)\n };\n }\n };\n executeEtch = async (orderId, fundTransactionId) => {\n try {\n const response = await this.client.post(`/runes/etch/orders/${orderId}/execute`, {\n fundTransactionId\n });\n return {\n data: response.data\n };\n } catch (error) {\n const err = error;\n return {\n error: this.parseError(err)\n };\n }\n };\n getOrder = async (orderId) => {\n try {\n const response = await this.client.get(`/orders/${orderId}`);\n return {\n data: response.data\n };\n } catch (error) {\n const err = error;\n return {\n error: this.parseError(err)\n };\n }\n };\n rbfOrder = async (rbfRequest) => {\n const { orderId, newFeeRate } = rbfRequest;\n try {\n const response = await this.client.post(`/orders/${orderId}/rbf-estimate`, {\n newFeeRate\n });\n return {\n data: response.data\n };\n } catch (error) {\n const err = error;\n return {\n error: this.parseError(err)\n };\n }\n };\n};\nvar clients = {};\nvar getRunesApiClient = (network = \"Mainnet\" /* Mainnet */) => {\n if (!clients[network]) {\n clients[network] = new RunesApi(network);\n }\n return clients[network];\n};\n\n// src/adapters/satsConnectAdapter.ts\nvar SatsConnectAdapter = class {\n async mintRunes(params) {\n try {\n const walletInfo = await this.requestInternal(\"getInfo\", null).catch(() => null);\n if (walletInfo && walletInfo.status === \"success\") {\n const isMintSupported = walletInfo.result.methods?.includes(\"runes_mint\");\n if (isMintSupported) {\n const response = await this.requestInternal(\"runes_mint\", params);\n if (response) {\n if (response.status === \"success\") {\n return response;\n }\n if (response.status === \"error\" && response.error.code !== -32601 /* METHOD_NOT_FOUND */) {\n return response;\n }\n }\n }\n }\n const mintRequest = {\n destinationAddress: params.destinationAddress,\n feeRate: params.feeRate,\n refundAddress: params.refundAddress,\n repeats: params.repeats,\n runeName: params.runeName,\n appServiceFee: params.appServiceFee,\n appServiceFeeAddress: params.appServiceFeeAddress\n };\n const orderResponse = await new RunesApi(params.network).createMintOrder(mintRequest);\n if (!orderResponse.data) {\n return {\n status: \"error\",\n error: {\n code: orderResponse.error.code === 400 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,\n message: orderResponse.error.message\n }\n };\n }\n const paymentResponse = await this.requestInternal(\"sendTransfer\", {\n recipients: [\n {\n address: orderResponse.data.fundAddress,\n amount: orderResponse.data.fundAmount\n }\n ]\n });\n if (paymentResponse.status !== \"success\") {\n return paymentResponse;\n }\n await new RunesApi(params.network).executeMint(\n orderResponse.data.orderId,\n paymentResponse.result.txid\n );\n return {\n status: \"success\",\n result: {\n orderId: orderResponse.data.orderId,\n fundTransactionId: paymentResponse.result.txid,\n fundingAddress: orderResponse.data.fundAddress\n }\n };\n } catch (error) {\n return {\n status: \"error\",\n error: {\n code: -32603 /* INTERNAL_ERROR */,\n message: error.message\n }\n };\n }\n }\n async etchRunes(params) {\n const etchRequest = {\n destinationAddress: params.destinationAddress,\n refundAddress: params.refundAddress,\n feeRate: params.feeRate,\n runeName: params.runeName,\n divisibility: params.divisibility,\n symbol: params.symbol,\n premine: params.premine,\n isMintable: params.isMintable,\n terms: params.terms,\n inscriptionDetails: params.inscriptionDetails,\n delegateInscriptionId: params.delegateInscriptionId,\n appServiceFee: params.appServiceFee,\n appServiceFeeAddress: params.appServiceFeeAddress\n };\n try {\n const walletInfo = await this.requestInternal(\"getInfo\", null).catch(() => null);\n if (walletInfo && walletInfo.status === \"success\") {\n const isEtchSupported = walletInfo.result.methods?.includes(\"runes_etch\");\n if (isEtchSupported) {\n const response = await this.requestInternal(\"runes_etch\", params);\n if (response) {\n if (response.status === \"success\") {\n return response;\n }\n if (response.status === \"error\" && response.error.code !== -32601 /* METHOD_NOT_FOUND */) {\n return response;\n }\n }\n }\n }\n const orderResponse = await new RunesApi(params.network).createEtchOrder(etchRequest);\n if (!orderResponse.data) {\n return {\n status: \"error\",\n error: {\n code: orderResponse.error.code === 400 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,\n message: orderResponse.error.message\n }\n };\n }\n const paymentResponse = await this.requestInternal(\"sendTransfer\", {\n recipients: [\n {\n address: orderResponse.data.fundAddress,\n amount: orderResponse.data.fundAmount\n }\n ]\n });\n if (paymentResponse.status !== \"success\") {\n return paymentResponse;\n }\n await new RunesApi(params.network).executeEtch(\n orderResponse.data.orderId,\n paymentResponse.result.txid\n );\n return {\n status: \"success\",\n result: {\n orderId: orderResponse.data.orderId,\n fundTransactionId: paymentResponse.result.txid,\n fundingAddress: orderResponse.data.fundAddress\n }\n };\n } catch (error) {\n return {\n status: \"error\",\n error: {\n code: -32603 /* INTERNAL_ERROR */,\n message: error.message\n }\n };\n }\n }\n async estimateMint(params) {\n const estimateMintRequest = {\n destinationAddress: params.destinationAddress,\n feeRate: params.feeRate,\n repeats: params.repeats,\n runeName: params.runeName,\n appServiceFee: params.appServiceFee,\n appServiceFeeAddress: params.appServiceFeeAddress\n };\n const response = await getRunesApiClient(\n params.network\n ).estimateMintCost(estimateMintRequest);\n if (response.data) {\n return {\n status: \"success\",\n result: response.data\n };\n }\n return {\n status: \"error\",\n error: {\n code: response.error.code === 400 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,\n message: response.error.message\n }\n };\n }\n async estimateEtch(params) {\n const estimateEtchRequest = {\n destinationAddress: params.destinationAddress,\n feeRate: params.feeRate,\n runeName: params.runeName,\n divisibility: params.divisibility,\n symbol: params.symbol,\n premine: params.premine,\n isMintable: params.isMintable,\n terms: params.terms,\n inscriptionDetails: params.inscriptionDetails,\n delegateInscriptionId: params.delegateInscriptionId,\n appServiceFee: params.appServiceFee,\n appServiceFeeAddress: params.appServiceFeeAddress\n };\n const response = await getRunesApiClient(params.network).estimateEtchCost(estimateEtchRequest);\n if (response.data) {\n return {\n status: \"success\",\n result: response.data\n };\n }\n return {\n status: \"error\",\n error: {\n code: response.error.code === 400 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,\n message: response.error.message\n }\n };\n }\n async getOrder(params) {\n const response = await getRunesApiClient(params.network).getOrder(params.id);\n if (response.data) {\n return {\n status: \"success\",\n result: response.data\n };\n }\n return {\n status: \"error\",\n error: {\n code: response.error.code === 400 || response.error.code === 404 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,\n message: response.error.message\n }\n };\n }\n async estimateRbfOrder(params) {\n const rbfOrderRequest = {\n newFeeRate: params.newFeeRate,\n orderId: params.orderId\n };\n const response = await getRunesApiClient(params.network).rbfOrder(rbfOrderRequest);\n if (response.data) {\n return {\n status: \"success\",\n result: {\n fundingAddress: response.data.fundingAddress,\n rbfCost: response.data.rbfCost\n }\n };\n }\n return {\n status: \"error\",\n error: {\n code: response.error.code === 400 || response.error.code === 404 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,\n message: response.error.message\n }\n };\n }\n async rbfOrder(params) {\n try {\n const rbfOrderRequest = {\n newFeeRate: params.newFeeRate,\n orderId: params.orderId\n };\n const orderResponse = await getRunesApiClient(params.network).rbfOrder(rbfOrderRequest);\n if (!orderResponse.data) {\n return {\n status: \"error\",\n error: {\n code: orderResponse.error.code === 400 || orderResponse.error.code === 404 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,\n message: orderResponse.error.message\n }\n };\n }\n const paymentResponse = await this.requestInternal(\"sendTransfer\", {\n recipients: [\n {\n address: orderResponse.data.fundingAddress,\n amount: orderResponse.data.rbfCost\n }\n ]\n });\n if (paymentResponse.status !== \"success\") {\n return paymentResponse;\n }\n return {\n status: \"success\",\n result: {\n fundingAddress: orderResponse.data.fundingAddress,\n orderId: rbfOrderRequest.orderId,\n fundRBFTransactionId: paymentResponse.result.txid\n }\n };\n } catch (error) {\n return {\n status: \"error\",\n error: {\n code: -32603 /* INTERNAL_ERROR */,\n message: error.message\n }\n };\n }\n }\n async request(method, params) {\n switch (method) {\n case \"runes_mint\":\n return this.mintRunes(params);\n case \"runes_etch\":\n return this.etchRunes(params);\n case \"runes_estimateMint\":\n return this.estimateMint(params);\n case \"runes_estimateEtch\":\n return this.estimateEtch(params);\n case \"runes_getOrder\": {\n return this.getOrder(params);\n }\n case \"runes_estimateRbfOrder\": {\n return this.estimateRbfOrder(params);\n }\n case \"runes_rbfOrder\": {\n return this.rbfOrder(params);\n }\n default:\n return this.requestInternal(method, params);\n }\n }\n};\n\n// src/adapters/xverse.ts\nvar XverseAdapter = class extends SatsConnectAdapter {\n id = DefaultAdaptersInfo.xverse.id;\n requestInternal = async (method, params) => {\n return request(method, params, this.id);\n };\n addListener = (listenerInfo) => {\n return addListener(listenerInfo, this.id);\n };\n};\n\n// src/adapters/unisat.ts\nimport { AddressType as AddressType2, getAddressInfo } from \"bitcoin-address-validation\";\nimport { Buffer } from \"buffer\";\nfunction convertSignInputsToInputType(signInputs) {\n let result = [];\n if (!signInputs) {\n return result;\n }\n for (let address in signInputs) {\n let indexes = signInputs[address];\n for (let index of indexes) {\n result.push({\n index,\n address\n });\n }\n }\n return result;\n}\nvar UnisatAdapter = class extends SatsConnectAdapter {\n id = DefaultAdaptersInfo.unisat.id;\n async getAccounts(params) {\n const { purposes } = params;\n if (purposes.includes(\"stacks\" /* Stacks */) || purposes.includes(\"starknet\" /* Starknet */) || purposes.includes(\"spark\" /* Spark */)) {\n throw new Error(\"Only bitcoin addresses are supported\");\n }\n const accounts = await window.unisat.requestAccounts();\n const publicKey = await window.unisat.getPublicKey();\n const address = accounts[0];\n const addressType = getAddressInfo(accounts[0]).type;\n const pk = addressType === AddressType2.p2tr ? publicKey.slice(2) : publicKey;\n const paymentAddress = {\n address,\n publicKey: pk,\n addressType,\n purpose: \"payment\" /* Payment */,\n walletType: \"software\"\n };\n const ordinalsAddress = {\n address,\n publicKey: pk,\n addressType,\n purpose: \"ordinals\" /* Ordinals */,\n walletType: \"software\"\n };\n const response = [];\n if (purposes.includes(\"payment\" /* Payment */)) {\n response.push({ ...paymentAddress, walletType: \"software\" });\n }\n if (purposes.includes(\"ordinals\" /* Ordinals */)) {\n response.push({ ...ordinalsAddress, walletType: \"software\" });\n }\n return response;\n }\n async signMessage(params) {\n const { message, address } = params;\n const addressType = getAddressInfo(address).type;\n const Bip322supportedTypes = [AddressType2.p2wpkh, AddressType2.p2tr];\n if (Bip322supportedTypes.includes(addressType)) {\n const response2 = await window.unisat.signMessage(message, \"bip322-simple\");\n return {\n address,\n messageHash: \"\",\n signature: response2,\n protocol: \"BIP322\" /* BIP322 */\n };\n }\n const response = await window.unisat.signMessage(message, \"ecdsa\");\n return {\n address,\n messageHash: \"\",\n signature: response,\n protocol: \"ECDSA\" /* ECDSA */\n };\n }\n async sendTransfer(params) {\n const { recipients } = params;\n if (recipients.length > 1) {\n throw new Error(\"Only one recipient is supported by this wallet provider\");\n }\n const txid = await window.unisat.sendBitcoin(recipients[0].address, recipients[0].amount);\n return {\n txid\n };\n }\n async signPsbt(params) {\n const { psbt, signInputs, broadcast } = params;\n const psbtHex = Buffer.from(psbt, \"base64\").toString(\"hex\");\n const signedPsbt = await window.unisat.signPsbt(psbtHex, {\n autoFinalized: broadcast,\n toSignInputs: convertSignInputsToInputType(signInputs)\n });\n const signedPsbtBase64 = Buffer.from(signedPsbt, \"hex\").toString(\"base64\");\n let txid;\n if (broadcast) {\n txid = await window.unisat.pushPsbt(signedPsbt);\n }\n return {\n psbt: signedPsbtBase64,\n txid\n };\n }\n requestInternal = async (method, params) => {\n try {\n switch (method) {\n case \"getAccounts\": {\n const response = await this.getAccounts(\n params\n );\n return {\n status: \"success\",\n result: response\n };\n }\n case \"sendTransfer\": {\n const response = await this.sendTransfer(params);\n return {\n status: \"success\",\n result: response\n };\n }\n case \"signMessage\": {\n const response = await this.signMessage(params);\n return {\n status: \"success\",\n result: response\n };\n }\n case \"signPsbt\": {\n const response = await this.signPsbt(params);\n return {\n status: \"success\",\n result: response\n };\n }\n default: {\n const error = {\n code: -32001 /* METHOD_NOT_SUPPORTED */,\n message: \"Method not supported by the selected wallet\"\n };\n console.error(\"Error calling the method\", error);\n return {\n status: \"error\",\n error\n };\n }\n }\n } catch (error) {\n console.error(\"Error calling the method\", error);\n return {\n status: \"error\",\n error: {\n code: error.code === 4001 ? -32e3 /* USER_REJECTION */ : -32603 /* INTERNAL_ERROR */,\n message: error.message ? error.message : \"Wallet method call error\",\n data: error\n }\n };\n }\n };\n addListener = ({ eventName, cb }) => {\n switch (eventName) {\n case \"accountChange\": {\n const handler = () => {\n cb({ type: \"accountChange\" });\n };\n window.unisat.on(\"accountsChanged\", handler);\n return () => {\n window.unisat.removeListener(\"accountsChanged\", handler);\n };\n }\n case \"networkChange\": {\n const handler = () => {\n cb({ type: \"networkChange\" });\n };\n window.unisat.on(\"networkChanged\", handler);\n return () => {\n window.unisat.removeListener(\"networkChanged\", handler);\n };\n }\n default: {\n console.error(\"Event not supported by the selected wallet\");\n return () => {\n };\n }\n }\n };\n};\n\n// src/adapters/fordefi.ts\nvar FordefiAdapter = class extends SatsConnectAdapter {\n id = DefaultAdaptersInfo.fordefi.id;\n requestInternal = async (method, params) => {\n const provider = getProviderById(this.id);\n if (!provider) {\n throw new Error(\"no wallet provider was found\");\n }\n if (!method) {\n throw new Error(\"A wallet method is required\");\n }\n return await provider.request(method, params);\n };\n addListener = ({ eventName, cb }) => {\n const provider = getProviderById(this.id);\n if (!provider) {\n throw new Error(\"no wallet provider was found\");\n }\n if (!provider.addListener) {\n console.error(\n `The wallet provider you are using does not support the addListener method. Please update your wallet provider.`\n );\n return () => {\n };\n }\n return provider.addListener(eventName, cb);\n };\n};\n\n// src/adapters/BaseAdapter.ts\nvar BaseAdapter = class extends SatsConnectAdapter {\n id = \"\";\n constructor(providerId) {\n super();\n this.id = providerId;\n }\n requestInternal = async (method, params) => {\n return request(method, params, this.id);\n };\n addListener = (..._args) => {\n throw new Error(\"Method not supported for `BaseAdapter`.\");\n };\n};\n\n// src/adapters/index.ts\nvar DefaultAdaptersInfo = {\n fordefi: {\n id: \"FordefiProviders.UtxoProvider\",\n name: \"Fordefi\",\n webUrl: \"https://www.fordefi.com/\",\n chromeWebStoreUrl: \"https://chromewebstore.google.com/detail/fordefi/hcmehenccjdmfbojapcbcofkgdpbnlle\",\n icon: \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzNDk0XzY2MjU0KSI+CjxwYXRoIGQ9Ik0xMC44NzY5IDE1LjYzNzhIMS41VjE4LjM5OUMxLjUgMTkuODAxMyAyLjYzNDQ3IDIwLjkzOCA0LjAzMzkyIDIwLjkzOEg4LjI0OTkyTDEwLjg3NjkgMTUuNjM3OFoiIGZpbGw9IiM3OTk0RkYiLz4KPHBhdGggZD0iTTEuNSA5Ljc3NTUxSDE5LjA1MTZMMTcuMDEzOSAxMy44NzExSDEuNVY5Ljc3NTUxWiIgZmlsbD0iIzQ4NkRGRiIvPgo8cGF0aCBkPSJNNy42NTk5NiAzSDEuNTI0NDFWOC4wMDcwNEgyMi40NjEyVjNIMTYuMzI1NlY2LjczOTQ0SDE1LjA2MDZWM0g4LjkyNTAyVjYuNzM5NDRINy42NTk5NlYzWiIgZmlsbD0iIzVDRDFGQSIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzNDk0XzY2MjU0Ij4KPHJlY3Qgd2lkdGg9IjIxIiBoZWlnaHQ9IjE4IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS41IDMpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==\"\n },\n xverse: {\n id: \"XverseProviders.BitcoinProvider\",\n name: \"Xverse\",\n webUrl: \"https://www.xverse.app/\",\n googlePlayStoreUrl: \"https://play.google.com/store/apps/details?id=com.secretkeylabs.xverse\",\n iOSAppStoreUrl: \"https://apps.apple.com/app/xverse-bitcoin-web3-wallet/id1552272513\",\n chromeWebStoreUrl: \"https://chromewebstore.google.com/detail/xverse-wallet/idnnbdplmphpflfnlkomgpfbpcgelopg\",\n icon: \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyIiBoZWlnaHQ9IjEwMiIgdmlld0JveD0iMCAwIDEwMiAxMDIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJJY29uX0FydCAoRWRpdCBNZSkiPgo8cmVjdCB3aWR0aD0iMTAyIiBoZWlnaHQ9IjEwMiIgZmlsbD0iIzE4MTgxOCIvPgo8ZyBpZD0iTG9nby9FbWJsZW0iIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yMF8xMjIzKSI+CjxwYXRoIGlkPSJWZWN0b3IiIGQ9Ik03NC42NTQyIDczLjg4ODNWNjUuMjMxMkM3NC42NTQyIDY0Ljg4OCA3NC41MTc3IDY0LjU2MDYgNzQuMjc0NSA2NC4zMTc0TDM3LjQzOTcgMjcuNDgyNUMzNy4xOTY1IDI3LjIzOTIgMzYuODY5MSAyNy4xMDI4IDM2LjUyNTggMjcuMTAyOEgyNy44NjlDMjcuNDQxNiAyNy4xMDI4IDI3LjA5MzggMjcuNDUwNiAyNy4wOTM4IDI3Ljg3OFYzNS45MjExQzI3LjA5MzggMzYuMjY0NCAyNy4yMzAyIDM2LjU5MTcgMjcuNDczNCAzNi44MzVMNDAuNjk1MiA1MC4wNTY3QzQwLjk5NzUgNTAuMzU5MSA0MC45OTc1IDUwLjg1MDEgNDAuNjk1MiA1MS4xNTI0TDI3LjMyMTEgNjQuNTI2NUMyNy4xNzU2IDY0LjY3MiAyNy4wOTM4IDY0Ljg2OTggMjcuMDkzOCA2NS4wNzQ0VjczLjg4ODNDMjcuMDkzOCA3NC4zMTUzIDI3LjQ0MTYgNzQuNjYzNSAyNy44NjkgNzQuNjYzNUg0Mi4zMzQyQzQyLjc2MTYgNzQuNjYzNSA0My4xMDk0IDc0LjMxNTMgNDMuMTA5NCA3My44ODgzVjY4LjY5NThDNDMuMTA5NCA2OC40OTEyIDQzLjE5MTIgNjguMjkzNSA0My4zMzY4IDY4LjE0NzlMNTAuNTExNCA2MC45NzMzQzUwLjgxMzggNjAuNjcwOSA1MS4zMDQ4IDYwLjY3MDkgNTEuNjA3MiA2MC45NzMzTDY0LjkxOTggNzQuMjg2MUM2NS4xNjMxIDc0LjUyOTMgNjUuNDkwNCA3NC42NjU4IDY1LjgzMzcgNzQuNjY1OEg3My44NzY3Qzc0LjMwNDIgNzQuNjY1OCA3NC42NTE5IDc0LjMxNzYgNzQuNjUxOSA3My44OTA2TDc0LjY1NDIgNzMuODg4M1oiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGlkPSJWZWN0b3JfMiIgZD0iTTU1LjM1OCAzOC41NjcySDYyLjYwMzFDNjMuMDMyOCAzOC41NjcyIDYzLjM4MjkgMzguOTE3MyA2My4zODI5IDM5LjM0NjlWNDYuNTkyMUM2My4zODI5IDQ3LjI4NzcgNjQuMjI0IDQ3LjYzNTUgNjQuNzE1MSA0Ny4xNDIyTDc0LjY1NDEgMzcuMTg3M0M3NC43OTk0IDM3LjA0MTggNzQuODgxNiAzNi44NDQgNzQuODgxNiAzNi42MzcxVjI3LjkxODlDNzQuODgxNiAyNy40ODkyIDc0LjUzMzQgMjcuMTM5MSA3NC4xMDE3IDI3LjEzOTFMNjUuMjUzOCAyNy4xMjc3QzY1LjA0NyAyNy4xMjc3IDY0Ljg0OTIgMjcuMjA5NiA2NC43MDE0IDI3LjM1NTFMNTQuODA1NiAzNy4yMzVDNTQuMzE0NSAzNy43MjYgNTQuNjYyMyAzOC41NjcyIDU1LjM1NTcgMzguNTY3Mkg1NS4zNThaIiBmaWxsPSIjRUU3QTMwIi8+CjwvZz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMF8xMjIzIj4KPHJlY3Qgd2lkdGg9IjQ3LjgxMjUiIGhlaWdodD0iNDcuODEyNSIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3LjA5MzggMjcuMDkzOCkiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\"\n },\n unisat: {\n id: \"unisat\",\n name: \"Unisat\",\n webUrl: \"https://unisat.io/\",\n icon: \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxODAiIGhlaWdodD0iMTgwIiBmaWxsPSJibGFjayIvPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMTAwNTBfNDE3MSkiPgo8cGF0aCBkPSJNMTEzLjY2IDI5LjI4OTdMMTQzLjk3IDU5LjMwOTdDMTQ2LjU1IDYxLjg1OTcgMTQ3LjgyIDY0LjQzOTcgMTQ3Ljc4IDY3LjAzOTdDMTQ3Ljc0IDY5LjYzOTcgMTQ2LjYzIDcyLjAwOTcgMTQ0LjQ2IDc0LjE1OTdDMTQyLjE5IDc2LjQwOTcgMTM5Ljc0IDc3LjU0OTcgMTM3LjEyIDc3LjU5OTdDMTM0LjUgNzcuNjM5NyAxMzEuOSA3Ni4zNzk3IDEyOS4zMiA3My44Mjk3TDk4LjMxOTkgNDMuMTI5N0M5NC43OTk5IDM5LjYzOTcgOTEuMzk5OSAzNy4xNjk3IDg4LjEyOTkgMzUuNzE5N0M4NC44NTk5IDM0LjI2OTcgODEuNDE5OSAzNC4wMzk3IDc3LjgxOTkgMzUuMDM5N0M3NC4yMDk5IDM2LjAyOTcgNzAuMzM5OSAzOC41Nzk3IDY2LjE4OTkgNDIuNjc5N0M2MC40Njk5IDQ4LjM0OTcgNTcuNzM5OSA1My42Njk3IDU4LjAxOTkgNTguNjM5N0M1OC4yOTk5IDYzLjYwOTcgNjEuMTM5OSA2OC43Njk3IDY2LjUyOTkgNzQuMDk5N0w5Ny43Nzk5IDEwNS4wNkMxMDAuMzkgMTA3LjY0IDEwMS42NyAxMTAuMjIgMTAxLjYzIDExMi43OEMxMDEuNTkgMTE1LjM1IDEwMC40NyAxMTcuNzIgOTguMjU5OSAxMTkuOTFDOTYuMDU5OSAxMjIuMDkgOTMuNjI5OSAxMjMuMjMgOTAuOTg5OSAxMjMuMzJDODguMzQ5OSAxMjMuNDEgODUuNzE5OSAxMjIuMTYgODMuMTE5OSAxMTkuNThMNTIuODA5OSA4OS41NTk3QzQ3Ljg3OTkgODQuNjc5NyA0NC4zMTk5IDgwLjA1OTcgNDIuMTI5OSA3NS42OTk3QzM5LjkzOTkgNzEuMzM5NyAzOS4xMTk5IDY2LjQwOTcgMzkuNjg5OSA2MC45MDk3QzQwLjE5OTkgNTYuMTk5NyA0MS43MDk5IDUxLjYzOTcgNDQuMjI5OSA0Ny4yMTk3QzQ2LjczOTkgNDIuNzk5NyA1MC4zMzk5IDM4LjI3OTcgNTUuMDA5OSAzMy42NDk3QzYwLjU2OTkgMjguMTM5NyA2NS44Nzk5IDIzLjkxOTcgNzAuOTM5OSAyMC45Nzk3Qzc1Ljk4OTkgMTguMDM5NyA4MC44Nzk5IDE2LjQwOTcgODUuNTk5OSAxNi4wNjk3QzkwLjMyOTkgMTUuNzI5NyA5NC45ODk5IDE2LjY2OTcgOTkuNTk5OSAxOC44ODk3QzEwNC4yMSAyMS4xMDk3IDEwOC44OSAyNC41Njk3IDExMy42NSAyOS4yODk3SDExMy42NloiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8xMDA1MF80MTcxKSIvPgo8cGF0aCBkPSJNNjYuMTA5OSAxNTAuNDJMMzUuODA5OSAxMjAuNEMzMy4yMjk5IDExNy44NCAzMS45NTk5IDExNS4yNyAzMS45OTk5IDExMi42N0MzMi4wMzk5IDExMC4wNyAzMy4xNDk5IDEwNy43IDM1LjMxOTkgMTA1LjU1QzM3LjU4OTkgMTAzLjMgNDAuMDM5OSAxMDIuMTYgNDIuNjU5OSAxMDIuMTFDNDUuMjc5OSAxMDIuMDcgNDcuODc5OSAxMDMuMzIgNTAuNDU5OSAxMDUuODhMODEuNDQ5OSAxMzYuNThDODQuOTc5OSAxNDAuMDcgODguMzY5OSAxNDIuNTQgOTEuNjM5OSAxNDMuOTlDOTQuOTA5OSAxNDUuNDQgOTguMzQ5OSAxNDUuNjYgMTAxLjk2IDE0NC42N0MxMDUuNTcgMTQzLjY4IDEwOS40NCAxNDEuMTMgMTEzLjU5IDEzNy4wMkMxMTkuMzEgMTMxLjM1IDEyMi4wNCAxMjYuMDMgMTIxLjc2IDEyMS4wNkMxMjEuNDggMTE2LjA5IDExOC42NCAxMTAuOTMgMTEzLjI1IDEwNS41OUw5Ni41OTk5IDg5LjI0MDFDOTMuOTg5OSA4Ni42NjAxIDkyLjcwOTkgODQuMDgwMSA5Mi43NDk5IDgxLjUyMDFDOTIuNzg5OSA3OC45NTAxIDkzLjkwOTkgNzYuNTgwMSA5Ni4xMTk5IDc0LjM5MDFDOTguMzE5OSA3Mi4yMTAxIDEwMC43NSA3MS4wNzAxIDEwMy4zOSA3MC45ODAxQzEwNi4wMyA3MC44OTAxIDEwOC42NiA3Mi4xNDAxIDExMS4yNiA3NC43MjAxTDEyNi45NiA5MC4xMzAxQzEzMS44OSA5NS4wMTAxIDEzNS40NSA5OS42MzAxIDEzNy42NCAxMDMuOTlDMTM5LjgzIDEwOC4zNSAxNDAuNjUgMTEzLjI4IDE0MC4wOCAxMTguNzhDMTM5LjU3IDEyMy40OSAxMzguMDYgMTI4LjA1IDEzNS41NCAxMzIuNDdDMTMzLjAzIDEzNi44OSAxMjkuNDMgMTQxLjQxIDEyNC43NiAxNDYuMDRDMTE5LjIgMTUxLjU1IDExMy44OSAxNTUuNzcgMTA4LjgzIDE1OC43MUMxMDMuNzcgMTYxLjY1IDk4Ljg3OTkgMTYzLjI5IDk0LjE0OTkgMTYzLjYzQzg5LjQxOTkgMTYzLjk3IDg0Ljc1OTkgMTYzLjAzIDgwLjE0OTkgMTYwLjgxQzc1LjUzOTkgMTU4LjU5IDcwLjg1OTkgMTU1LjEzIDY2LjA5OTkgMTUwLjQxTDY2LjEwOTkgMTUwLjQyWiIgZmlsbD0idXJsKCNwYWludDFfbGluZWFyXzEwMDUwXzQxNzEpIi8+CjxwYXRoIGQ9Ik04NS4wMDk5IDcyLjk1OTJDOTEuMTU2OCA3Mi45NTkyIDk2LjEzOTkgNjcuOTc2MSA5Ni4xMzk5IDYxLjgyOTJDOTYuMTM5OSA1NS42ODIzIDkxLjE1NjggNTAuNjk5MiA4NS4wMDk5IDUwLjY5OTJDNzguODYzIDUwLjY5OTIgNzMuODc5OSA1NS42ODIzIDczLjg3OTkgNjEuODI5MkM3My44Nzk5IDY3Ljk3NjEgNzguODYzIDcyLjk1OTIgODUuMDA5OSA3Mi45NTkyWiIgZmlsbD0idXJsKCNwYWludDJfcmFkaWFsXzEwMDUwXzQxNzEpIi8+CjwvZz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl8xMDA1MF80MTcxIiB4MT0iMTM4Ljk4NSIgeTE9IjQ2Ljc3OTUiIHgyPSI0NS4wNTI5IiB5Mj0iODguNTIzMyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjMjAxQzFCIi8+CjxzdG9wIG9mZnNldD0iMC4zNiIgc3RvcC1jb2xvcj0iIzc3MzkwRCIvPgo8c3RvcCBvZmZzZXQ9IjAuNjciIHN0b3AtY29sb3I9IiNFQTgxMDEiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRjRCODUyIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQxX2xpbmVhcl8xMDA1MF80MTcxIiB4MT0iNDMuMzgxMiIgeTE9IjEzNC4xNjciIHgyPSIxNTIuMjMxIiB5Mj0iMTAxLjc3MSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjMUYxRDFDIi8+CjxzdG9wIG9mZnNldD0iMC4zNyIgc3RvcC1jb2xvcj0iIzc3MzkwRCIvPgo8c3RvcCBvZmZzZXQ9IjAuNjciIHN0b3AtY29sb3I9IiNFQTgxMDEiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRjRGQjUyIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQyX3JhZGlhbF8xMDA1MF80MTcxIiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDg1LjAwOTkgNjEuODM5Mikgc2NhbGUoMTEuMTMpIj4KPHN0b3Agc3RvcC1jb2xvcj0iI0Y0Qjg1MiIvPgo8c3RvcCBvZmZzZXQ9IjAuMzMiIHN0b3AtY29sb3I9IiNFQTgxMDEiLz4KPHN0b3Agb2Zmc2V0PSIwLjY0IiBzdG9wLWNvbG9yPSIjNzczOTBEIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzIxMUMxRCIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEwMDUwXzQxNzEiPgo8cmVjdCB3aWR0aD0iMTE1Ljc3IiBoZWlnaHQ9IjE0Ny43IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIgMTYpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==\"\n }\n};\nvar defaultAdapters = {\n [DefaultAdaptersInfo.fordefi.id]: FordefiAdapter,\n [DefaultAdaptersInfo.xverse.id]: XverseAdapter,\n [DefaultAdaptersInfo.unisat.id]: UnisatAdapter\n};\n\n// src/capabilities/index.ts\nimport { createUnsecuredToken as createUnsecuredToken2 } from \"jsontokens\";\nvar extractOrValidateCapabilities = (provider, reportedCapabilities) => {\n const validateCapability = (capability) => {\n if (!provider[capability]) {\n return false;\n }\n if (reportedCapabilities && !reportedCapabilities.has(capability)) {\n return false;\n }\n return true;\n };\n const capabilityMap = {\n request: validateCapability(\"request\"),\n connect: validateCapability(\"connect\"),\n signMessage: validateCapability(\"signMessage\"),\n signTransaction: validateCapability(\"signTransaction\"),\n sendBtcTransaction: validateCapability(\"sendBtcTransaction\"),\n createInscription: validateCapability(\"createInscription\"),\n createRepeatInscriptions: validateCapability(\"createRepeatInscriptions\"),\n signMultipleTransactions: validateCapability(\"signMultipleTransactions\"),\n addListener: validateCapability(\"addListener\")\n };\n return Object.entries(capabilityMap).reduce((acc, [capability, value]) => {\n if (value) return [...acc, capability];\n return acc;\n }, []);\n};\nvar getCapabilities = async (options) => {\n const provider = await getProviderOrThrow(options.getProvider);\n const request2 = createUnsecuredToken2(options.payload);\n if (provider.getCapabilities) {\n try {\n const response = await provider.getCapabilities(request2);\n options.onFinish?.(extractOrValidateCapabilities(provider, new Set(response)));\n } catch (error) {\n console.error(\"[Connect] Error during capabilities request\", error);\n }\n }\n try {\n const inferredCapabilities = extractOrValidateCapabilities(provider);\n options.onFinish?.(inferredCapabilities);\n } catch (error) {\n console.error(\"[Connect] Error during capabilities request\", error);\n options.onCancel?.();\n }\n};\n\n// src/inscriptions/createInscription.ts\nimport { createUnsecuredToken as createUnsecuredToken3 } from \"jsontokens\";\n\n// src/inscriptions/utils.ts\nvar MAX_CONTENT_LENGTH_MAINNET = 4e5;\nvar MAX_CONTENT_LENGTH_TESTNET = 6e4;\nvar validateInscriptionPayload = (payload) => {\n const { contentType, content, payloadType, network, appFeeAddress, appFee } = payload;\n if (!/^[a-z]+\\/[a-z0-9\\-\\.\\+]+(?=;.*|$)/.test(contentType)) {\n throw new Error(\"Invalid content type detected\");\n }\n if (!content || content.length === 0) {\n throw new Error(\"Empty content not allowed\");\n }\n if (!payloadType || payloadType !== \"BASE_64\" && payloadType !== \"PLAIN_TEXT\") {\n throw new Error(\"Empty invalid payloadType specified\");\n }\n if (content.length > (network.type === \"Mainnet\" ? MAX_CONTENT_LENGTH_MAINNET : MAX_CONTENT_LENGTH_TESTNET)) {\n throw new Error(\"Content too large\");\n }\n if ((appFeeAddress?.length ?? 0) > 0 && (appFee ?? 0) <= 0) {\n throw new Error(\"Invalid combination of app fee address and fee provided\");\n }\n};\n\n// src/inscriptions/createInscription.ts\nvar createInscription = async (options) => {\n const { getProvider } = options;\n const provider = await getProviderOrThrow(getProvider);\n validateInscriptionPayload(options.payload);\n try {\n const request2 = createUnsecuredToken3(options.payload);\n const response = await provider.createInscription(request2);\n options.onFinish?.(response);\n } catch (error) {\n console.error(\"[Connect] Error during create inscription\", error);\n options.onCancel?.();\n }\n};\n\n// src/inscriptions/createRepeatInscriptions.ts\nimport { createUnsecuredToken as createUnsecuredToken4 } from \"jsontokens\";\nvar createRepeatInscriptions = async (options) => {\n const { getProvider } = options;\n const provider = await getProviderOrThrow(getProvider);\n validateInscriptionPayload(options.payload);\n try {\n const request2 = createUnsecuredToken4(options.payload);\n const response = await provider.createRepeatInscriptions(request2);\n options.onFinish?.(response);\n } catch (error) {\n console.error(\"[Connect] Error during create repeat inscriptions\", error);\n options.onCancel?.();\n }\n};\n\n// src/messages/index.ts\nimport { createUnsecuredToken as createUnsecuredToken5 } from \"jsontokens\";\nvar signMessage = async (options) => {\n const provider = await getProviderOrThrow(options.getProvider);\n const { address, message } = options.payload;\n if (!address) {\n throw new Error(\"An address is required to sign a message\");\n }\n if (!message) {\n throw new Error(\"A message to be signed is required\");\n }\n try {\n const request2 = createUnsecuredToken5(options.payload);\n const response = await provider.signMessage(request2);\n options.onFinish?.(response);\n } catch (error) {\n console.error(\"[Connect] Error during sign message request\", error);\n options.onCancel?.();\n }\n};\n\n// src/transactions/sendBtcTransaction.ts\nimport { createUnsecuredToken as createUnsecuredToken6 } from \"jsontokens\";\nvar serializer = (recipient) => {\n return recipient.map((value) => {\n const { address, amountSats } = value;\n return {\n address,\n amountSats: amountSats.toString()\n };\n });\n};\nvar sendBtcTransaction = async (options) => {\n const provider = await getProviderOrThrow(options.getProvider);\n const { recipients, senderAddress, network, message } = options.payload;\n if (!recipients || recipients.length === 0) {\n throw new Error(\"At least one recipient is required\");\n }\n if (recipients.some(\n (item) => typeof item.address !== \"string\" || typeof item.amountSats !== \"bigint\"\n )) {\n throw new Error(\"Incorrect recipient format\");\n }\n if (!senderAddress) {\n throw new Error(\"The sender address is required\");\n }\n try {\n const serializedRecipients = serializer(recipients);\n const serializedPayload = {\n network,\n senderAddress,\n message,\n recipients: serializedRecipients\n };\n const request2 = createUnsecuredToken6(serializedPayload);\n const response = await provider.sendBtcTransaction(request2);\n options.onFinish?.(response);\n } catch (error) {\n console.error(\"[Connect] Error during send BTC transaction request\", error);\n options.onCancel?.();\n }\n};\n\n// src/transactions/signTransaction.ts\nimport { createUnsecuredToken as createUnsecuredToken7 } from \"jsontokens\";\nvar signTransaction = async (options) => {\n const provider = await getProviderOrThrow(options.getProvider);\n const { psbtBase64, inputsToSign } = options.payload;\n if (!psbtBase64) {\n throw new Error(\"A value for psbtBase64 representing the tx hash is required\");\n }\n if (!inputsToSign) {\n throw new Error(\"An array specifying the inputs to be signed by the wallet is required\");\n }\n try {\n const request2 = createUnsecuredToken7(options.payload);\n const response = await provider.signTransaction(request2);\n options.onFinish?.(response);\n } catch (error) {\n console.error(\"[Connect] Error during sign transaction request\", error);\n options.onCancel?.();\n }\n};\n\n// src/transactions/signMultipleTransactions.ts\nimport { createUnsecuredToken as createUnsecuredToken8 } from \"jsontokens\";\nvar signMultipleTransactions = async (options) => {\n const provider = await getProviderOrThrow(options.getProvider);\n const { psbts } = options.payload;\n if (!psbts || !psbts.length) {\n throw new Error(\"psbts array is required\");\n }\n if (psbts.length > 100) {\n throw new Error(\"psbts array must contain less than 100 psbts\");\n }\n try {\n const request2 = createUnsecuredToken8(options.payload);\n const response = await provider.signMultipleTransactions(request2);\n options.onFinish?.(response);\n } catch (error) {\n console.error(\"[Connect] Error during sign Multiple transactions request\", error);\n options.onCancel?.();\n }\n};\nexport {\n AddressPurpose,\n AddressType,\n BaseAdapter,\n BitcoinNetworkType,\n DefaultAdaptersInfo,\n MessageSigningProtocols,\n PermissionRequestParams,\n ProviderPlatform,\n RpcErrorCode,\n RpcIdSchema,\n SatsConnectAdapter,\n SparkNetworkType,\n StacksNetworkType,\n StarknetNetworkType,\n accountActionsSchema,\n accountChangeEventName,\n accountChangeSchema,\n accountPermissionSchema,\n addListener,\n addNetworkMethodName,\n addNetworkParamsSchema,\n addNetworkRequestMessageSchema,\n addNetworkResultSchema,\n addressSchema,\n changeNetworkByIdMethodName,\n changeNetworkByIdParamsSchema,\n changeNetworkByIdRequestMessageSchema,\n changeNetworkByIdResultSchema,\n changeNetworkMethodName,\n changeNetworkParamsSchema,\n changeNetworkRequestMessageSchema,\n changeNetworkResultSchema,\n connectMethodName,\n connectParamsSchema,\n connectRequestMessageSchema,\n connectResultSchema,\n createInscription,\n createRepeatInscriptions,\n defaultAdapters,\n disconnectEventName,\n disconnectMethodName,\n disconnectParamsSchema,\n disconnectRequestMessageSchema,\n disconnectResultSchema,\n disconnectSchema,\n getAccountMethodName,\n getAccountParamsSchema,\n getAccountRequestMessageSchema,\n getAccountResultSchema,\n getAccountsMethodName,\n getAccountsParamsSchema,\n getAccountsRequestMessageSchema,\n getAccountsResultSchema,\n getAddress,\n getAddressesMethodName,\n getAddressesParamsSchema,\n getAddressesRequestMessageSchema,\n getAddressesResultSchema,\n getBalanceMethodName,\n getBalanceParamsSchema,\n getBalanceRequestMessageSchema,\n getBalanceResultSchema,\n getCapabilities,\n getCurrentPermissionsMethodName,\n getCurrentPermissionsParamsSchema,\n getCurrentPermissionsRequestMessageSchema,\n getCurrentPermissionsResultSchema,\n getDefaultProvider,\n getInfoMethodName,\n getInfoParamsSchema,\n getInfoRequestMessageSchema,\n getInfoResultSchema,\n getInscriptionsMethodName,\n getInscriptionsParamsSchema,\n getInscriptionsRequestMessageSchema,\n getInscriptionsResultSchema,\n getNetworkMethodName,\n getNetworkParamsSchema,\n getNetworkRequestMessageSchema,\n getNetworkResultSchema,\n getProviderById,\n getProviderOrThrow,\n getProviders,\n getSupportedWallets,\n getWalletTypeMethodName,\n getWalletTypeParamsSchema,\n getWalletTypeRequestMessageSchema,\n getWalletTypeResultSchema,\n isProviderInstalled,\n networkChangeEventName,\n networkChangeSchema,\n permission,\n removeDefaultProvider,\n renouncePermissionsMethodName,\n renouncePermissionsParamsSchema,\n renouncePermissionsRequestMessageSchema,\n renouncePermissionsResultSchema,\n request,\n requestPermissionsMethodName,\n requestPermissionsParamsSchema,\n requestPermissionsRequestMessageSchema,\n requestPermissionsResultSchema,\n rpcErrorResponseMessageSchema,\n rpcRequestMessageSchema,\n rpcResponseMessageSchema,\n rpcSuccessResponseMessageSchema,\n runesEtchMethodName,\n runesEtchParamsSchema,\n runesEtchRequestMessageSchema,\n runesEtchResultSchema,\n runesGetBalanceMethodName,\n runesGetBalanceParamsSchema,\n runesGetBalanceRequestMessageSchema,\n runesGetBalanceResultSchema,\n runesMintMethodName,\n runesMintParamsSchema,\n runesMintRequestMessageSchema,\n runesMintResultSchema,\n runesTransferMethodName,\n runesTransferParamsSchema,\n runesTransferRequestMessageSchema,\n runesTransferResultSchema,\n sendBtcTransaction,\n sendInscriptionsMethodName,\n sendInscriptionsParamsSchema,\n sendInscriptionsRequestMessageSchema,\n sendInscriptionsResultSchema,\n sendTransferMethodName,\n sendTransferParamsSchema,\n sendTransferRequestMessageSchema,\n sendTransferResultSchema,\n setDefaultProvider,\n signMessage,\n signMessageMethodName,\n signMessageParamsSchema,\n signMessageRequestMessageSchema,\n signMessageResultSchema,\n signMultipleTransactions,\n signPsbtMethodName,\n signPsbtParamsSchema,\n signPsbtRequestMessageSchema,\n signPsbtResultSchema,\n signTransaction,\n sparkFlashnetAddLiquidityIntentSchema,\n sparkFlashnetClawbackIntentSchema,\n sparkFlashnetConfirmInitialDepositIntentSchema,\n sparkFlashnetCreateConstantProductPoolIntentSchema,\n sparkFlashnetCreateSingleSidedPoolIntentSchema,\n sparkFlashnetGetJwtMethodName,\n sparkFlashnetGetJwtParamsSchema,\n sparkFlashnetGetJwtRequestMessageSchema,\n sparkFlashnetGetJwtResultSchema,\n sparkFlashnetRemoveLiquidityIntentSchema,\n sparkFlashnetRouteSwapIntentSchema,\n sparkFlashnetSignIntentMethodName,\n sparkFlashnetSignIntentParamsSchema,\n sparkFlashnetSignIntentRequestMessageSchema,\n sparkFlashnetSignIntentResultSchema,\n sparkFlashnetSignStructuredMessageMethodName,\n sparkFlashnetSignStructuredMessageParamsSchema,\n sparkFlashnetSignStructuredMessageRequestMessageSchema,\n sparkFlashnetSignStructuredMessageResultSchema,\n sparkFlashnetSwapIntentSchema,\n sparkGetAddressesMethodName,\n sparkGetAddressesParamsSchema,\n sparkGetAddressesRequestMessageSchema,\n sparkGetAddressesResultSchema,\n sparkGetBalanceMethodName,\n sparkGetBalanceParamsSchema,\n sparkGetBalanceRequestMessageSchema,\n sparkGetBalanceResultSchema,\n sparkSignMessageMethodName,\n sparkSignMessageParamsSchema,\n sparkSignMessageRequestMessageSchema,\n sparkSignMessageResultSchema,\n sparkTransferMethodName,\n sparkTransferParamsSchema,\n sparkTransferRequestMessageSchema,\n sparkTransferResultSchema,\n sparkTransferTokenMethodName,\n sparkTransferTokenParamsSchema,\n sparkTransferTokenRequestMessageSchema,\n sparkTransferTokenResultSchema,\n stxCallContractMethodName,\n stxCallContractParamsSchema,\n stxCallContractRequestMessageSchema,\n stxCallContractResultSchema,\n stxDeployContractMethodName,\n stxDeployContractParamsSchema,\n stxDeployContractRequestMessageSchema,\n stxDeployContractResultSchema,\n stxGetAccountsMethodName,\n stxGetAccountsParamsSchema,\n stxGetAccountsRequestMessageSchema,\n stxGetAccountsResultSchema,\n stxGetAddressesMethodName,\n stxGetAddressesParamsSchema,\n stxGetAddressesRequestMessageSchema,\n stxGetAddressesResultSchema,\n stxSignMessageMethodName,\n stxSignMessageParamsSchema,\n stxSignMessageRequestMessageSchema,\n stxSignMessageResultSchema,\n stxSignStructuredMessageMethodName,\n stxSignStructuredMessageParamsSchema,\n stxSignStructuredMessageRequestMessageSchema,\n stxSignStructuredMessageResultSchema,\n stxSignTransactionMethodName,\n stxSignTransactionParamsSchema,\n stxSignTransactionRequestMessageSchema,\n stxSignTransactionResultSchema,\n stxSignTransactionsMethodName,\n stxSignTransactionsParamsSchema,\n stxSignTransactionsRequestMessageSchema,\n stxSignTransactionsResultSchema,\n stxTransferStxMethodName,\n stxTransferStxParamsSchema,\n stxTransferStxRequestMessageSchema,\n stxTransferStxResultSchema,\n walletActionsSchema,\n walletEventSchema,\n walletPermissionSchema,\n walletTypeSchema,\n walletTypes\n};\n","// NOTE: this list must be up-to-date with browsers listed in\n// test/acceptance/useragentstrings.yml\nexport const BROWSER_ALIASES_MAP = {\n AmazonBot: 'amazonbot',\n 'Amazon Silk': 'amazon_silk',\n 'Android Browser': 'android',\n BaiduSpider: 'baiduspider',\n Bada: 'bada',\n BingCrawler: 'bingcrawler',\n BlackBerry: 'blackberry',\n 'ChatGPT-User': 'chatgpt_user',\n Chrome: 'chrome',\n ClaudeBot: 'claudebot',\n Chromium: 'chromium',\n Diffbot: 'diffbot',\n DuckDuckBot: 'duckduckbot',\n Electron: 'electron',\n Epiphany: 'epiphany',\n FacebookExternalHit: 'facebookexternalhit',\n Firefox: 'firefox',\n Focus: 'focus',\n Generic: 'generic',\n 'Google Search': 'google_search',\n Googlebot: 'googlebot',\n GPTBot: 'gptbot',\n 'Internet Explorer': 'ie',\n InternetArchiveCrawler: 'internetarchivecrawler',\n 'K-Meleon': 'k_meleon',\n LibreWolf: 'librewolf',\n Maxthon: 'maxthon',\n 'Meta-ExternalAds': 'meta_externalads',\n 'Meta-ExternalAgent': 'meta_externalagent',\n 'Meta-ExternalFetcher': 'meta_externalfetcher',\n 'Meta-WebIndexer': 'meta_webindexer',\n 'Microsoft Edge': 'edge',\n 'MZ Browser': 'mz',\n 'NAVER Whale Browser': 'naver',\n 'OAI-SearchBot': 'oai_searchbot',\n Omgilibot: 'omgilibot',\n Opera: 'opera',\n 'Opera Coast': 'opera_coast',\n 'Pale Moon': 'pale_moon',\n PerplexityBot: 'perplexitybot',\n 'Perplexity-User': 'perplexity_user',\n PhantomJS: 'phantomjs',\n PingdomBot: 'pingdombot',\n Puffin: 'puffin',\n QQ: 'qq',\n QQLite: 'qqlite',\n QupZilla: 'qupzilla',\n Roku: 'roku',\n Safari: 'safari',\n Sailfish: 'sailfish',\n 'Samsung Internet for Android': 'samsung_internet',\n SeaMonkey: 'seamonkey',\n Sleipnir: 'sleipnir',\n 'Sogou Browser': 'sogou',\n Swing: 'swing',\n Tizen: 'tizen',\n 'UC Browser': 'uc',\n Vivaldi: 'vivaldi',\n 'WebOS Browser': 'webos',\n WeChat: 'wechat',\n YahooSlurp: 'yahooslurp',\n 'Yandex Browser': 'yandex',\n YandexBot: 'yandexbot',\n YouBot: 'youbot',\n};\n\nexport const BROWSER_MAP = {\n amazonbot: 'AmazonBot',\n amazon_silk: 'Amazon Silk',\n android: 'Android Browser',\n baiduspider: 'BaiduSpider',\n bada: 'Bada',\n bingcrawler: 'BingCrawler',\n blackberry: 'BlackBerry',\n chatgpt_user: 'ChatGPT-User',\n chrome: 'Chrome',\n claudebot: 'ClaudeBot',\n chromium: 'Chromium',\n diffbot: 'Diffbot',\n duckduckbot: 'DuckDuckBot',\n edge: 'Microsoft Edge',\n electron: 'Electron',\n epiphany: 'Epiphany',\n facebookexternalhit: 'FacebookExternalHit',\n firefox: 'Firefox',\n focus: 'Focus',\n generic: 'Generic',\n google_search: 'Google Search',\n googlebot: 'Googlebot',\n gptbot: 'GPTBot',\n ie: 'Internet Explorer',\n internetarchivecrawler: 'InternetArchiveCrawler',\n k_meleon: 'K-Meleon',\n librewolf: 'LibreWolf',\n maxthon: 'Maxthon',\n meta_externalads: 'Meta-ExternalAds',\n meta_externalagent: 'Meta-ExternalAgent',\n meta_externalfetcher: 'Meta-ExternalFetcher',\n meta_webindexer: 'Meta-WebIndexer',\n mz: 'MZ Browser',\n naver: 'NAVER Whale Browser',\n oai_searchbot: 'OAI-SearchBot',\n omgilibot: 'Omgilibot',\n opera: 'Opera',\n opera_coast: 'Opera Coast',\n pale_moon: 'Pale Moon',\n perplexitybot: 'PerplexityBot',\n perplexity_user: 'Perplexity-User',\n phantomjs: 'PhantomJS',\n pingdombot: 'PingdomBot',\n puffin: 'Puffin',\n qq: 'QQ Browser',\n qqlite: 'QQ Browser Lite',\n qupzilla: 'QupZilla',\n roku: 'Roku',\n safari: 'Safari',\n sailfish: 'Sailfish',\n samsung_internet: 'Samsung Internet for Android',\n seamonkey: 'SeaMonkey',\n sleipnir: 'Sleipnir',\n sogou: 'Sogou Browser',\n swing: 'Swing',\n tizen: 'Tizen',\n uc: 'UC Browser',\n vivaldi: 'Vivaldi',\n webos: 'WebOS Browser',\n wechat: 'WeChat',\n yahooslurp: 'YahooSlurp',\n yandex: 'Yandex Browser',\n yandexbot: 'YandexBot',\n youbot: 'YouBot',\n};\n\nexport const PLATFORMS_MAP = {\n bot: 'bot',\n desktop: 'desktop',\n mobile: 'mobile',\n tablet: 'tablet',\n tv: 'tv',\n};\n\nexport const OS_MAP = {\n Android: 'Android',\n Bada: 'Bada',\n BlackBerry: 'BlackBerry',\n ChromeOS: 'Chrome OS',\n HarmonyOS: 'HarmonyOS',\n iOS: 'iOS',\n Linux: 'Linux',\n MacOS: 'macOS',\n PlayStation4: 'PlayStation 4',\n Roku: 'Roku',\n Tizen: 'Tizen',\n WebOS: 'WebOS',\n Windows: 'Windows',\n WindowsPhone: 'Windows Phone',\n};\n\nexport const ENGINE_MAP = {\n Blink: 'Blink',\n EdgeHTML: 'EdgeHTML',\n Gecko: 'Gecko',\n Presto: 'Presto',\n Trident: 'Trident',\n WebKit: 'WebKit',\n};\n","import { BROWSER_MAP, BROWSER_ALIASES_MAP } from './constants.js';\n\nexport default class Utils {\n /**\n * Get first matched item for a string\n * @param {RegExp} regexp\n * @param {String} ua\n * @return {Array|{index: number, input: string}|*|boolean|string}\n */\n static getFirstMatch(regexp, ua) {\n const match = ua.match(regexp);\n return (match && match.length > 0 && match[1]) || '';\n }\n\n /**\n * Get second matched item for a string\n * @param regexp\n * @param {String} ua\n * @return {Array|{index: number, input: string}|*|boolean|string}\n */\n static getSecondMatch(regexp, ua) {\n const match = ua.match(regexp);\n return (match && match.length > 1 && match[2]) || '';\n }\n\n /**\n * Match a regexp and return a constant or undefined\n * @param {RegExp} regexp\n * @param {String} ua\n * @param {*} _const Any const that will be returned if regexp matches the string\n * @return {*}\n */\n static matchAndReturnConst(regexp, ua, _const) {\n if (regexp.test(ua)) {\n return _const;\n }\n return void (0);\n }\n\n static getWindowsVersionName(version) {\n switch (version) {\n case 'NT': return 'NT';\n case 'XP': return 'XP';\n case 'NT 5.0': return '2000';\n case 'NT 5.1': return 'XP';\n case 'NT 5.2': return '2003';\n case 'NT 6.0': return 'Vista';\n case 'NT 6.1': return '7';\n case 'NT 6.2': return '8';\n case 'NT 6.3': return '8.1';\n case 'NT 10.0': return '10';\n default: return undefined;\n }\n }\n\n /**\n * Get macOS version name\n * 10.5 - Leopard\n * 10.6 - Snow Leopard\n * 10.7 - Lion\n * 10.8 - Mountain Lion\n * 10.9 - Mavericks\n * 10.10 - Yosemite\n * 10.11 - El Capitan\n * 10.12 - Sierra\n * 10.13 - High Sierra\n * 10.14 - Mojave\n * 10.15 - Catalina\n * 11 - Big Sur\n * 12 - Monterey\n * 13 - Ventura\n * 14 - Sonoma\n * 15 - Sequoia\n *\n * @example\n * getMacOSVersionName(\"10.14\") // 'Mojave'\n *\n * @param {string} version\n * @return {string} versionName\n */\n static getMacOSVersionName(version) {\n const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);\n v.push(0);\n const major = v[0];\n const minor = v[1];\n\n if (major === 10) {\n switch (minor) {\n case 5: return 'Leopard';\n case 6: return 'Snow Leopard';\n case 7: return 'Lion';\n case 8: return 'Mountain Lion';\n case 9: return 'Mavericks';\n case 10: return 'Yosemite';\n case 11: return 'El Capitan';\n case 12: return 'Sierra';\n case 13: return 'High Sierra';\n case 14: return 'Mojave';\n case 15: return 'Catalina';\n default: return undefined;\n }\n }\n\n switch (major) {\n case 11: return 'Big Sur';\n case 12: return 'Monterey';\n case 13: return 'Ventura';\n case 14: return 'Sonoma';\n case 15: return 'Sequoia';\n default: return undefined;\n }\n }\n\n /**\n * Get Android version name\n * 1.5 - Cupcake\n * 1.6 - Donut\n * 2.0 - Eclair\n * 2.1 - Eclair\n * 2.2 - Froyo\n * 2.x - Gingerbread\n * 3.x - Honeycomb\n * 4.0 - Ice Cream Sandwich\n * 4.1 - Jelly Bean\n * 4.4 - KitKat\n * 5.x - Lollipop\n * 6.x - Marshmallow\n * 7.x - Nougat\n * 8.x - Oreo\n * 9.x - Pie\n *\n * @example\n * getAndroidVersionName(\"7.0\") // 'Nougat'\n *\n * @param {string} version\n * @return {string} versionName\n */\n static getAndroidVersionName(version) {\n const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);\n v.push(0);\n if (v[0] === 1 && v[1] < 5) return undefined;\n if (v[0] === 1 && v[1] < 6) return 'Cupcake';\n if (v[0] === 1 && v[1] >= 6) return 'Donut';\n if (v[0] === 2 && v[1] < 2) return 'Eclair';\n if (v[0] === 2 && v[1] === 2) return 'Froyo';\n if (v[0] === 2 && v[1] > 2) return 'Gingerbread';\n if (v[0] === 3) return 'Honeycomb';\n if (v[0] === 4 && v[1] < 1) return 'Ice Cream Sandwich';\n if (v[0] === 4 && v[1] < 4) return 'Jelly Bean';\n if (v[0] === 4 && v[1] >= 4) return 'KitKat';\n if (v[0] === 5) return 'Lollipop';\n if (v[0] === 6) return 'Marshmallow';\n if (v[0] === 7) return 'Nougat';\n if (v[0] === 8) return 'Oreo';\n if (v[0] === 9) return 'Pie';\n return undefined;\n }\n\n /**\n * Get version precisions count\n *\n * @example\n * getVersionPrecision(\"1.10.3\") // 3\n *\n * @param {string} version\n * @return {number}\n */\n static getVersionPrecision(version) {\n return version.split('.').length;\n }\n\n /**\n * Calculate browser version weight\n *\n * @example\n * compareVersions('1.10.2.1', '1.8.2.1.90') // 1\n * compareVersions('1.010.2.1', '1.09.2.1.90'); // 1\n * compareVersions('1.10.2.1', '1.10.2.1'); // 0\n * compareVersions('1.10.2.1', '1.0800.2'); // -1\n * compareVersions('1.10.2.1', '1.10', true); // 0\n *\n * @param {String} versionA versions versions to compare\n * @param {String} versionB versions versions to compare\n * @param {boolean} [isLoose] enable loose comparison\n * @return {Number} comparison result: -1 when versionA is lower,\n * 1 when versionA is bigger, 0 when both equal\n */\n /* eslint consistent-return: 1 */\n static compareVersions(versionA, versionB, isLoose = false) {\n // 1) get common precision for both versions, for example for \"10.0\" and \"9\" it should be 2\n const versionAPrecision = Utils.getVersionPrecision(versionA);\n const versionBPrecision = Utils.getVersionPrecision(versionB);\n\n let precision = Math.max(versionAPrecision, versionBPrecision);\n let lastPrecision = 0;\n\n const chunks = Utils.map([versionA, versionB], (version) => {\n const delta = precision - Utils.getVersionPrecision(version);\n\n // 2) \"9\" -> \"9.0\" (for precision = 2)\n const _version = version + new Array(delta + 1).join('.0');\n\n // 3) \"9.0\" -> [\"000000000\"\", \"000000009\"]\n return Utils.map(_version.split('.'), chunk => new Array(20 - chunk.length).join('0') + chunk).reverse();\n });\n\n // adjust precision for loose comparison\n if (isLoose) {\n lastPrecision = precision - Math.min(versionAPrecision, versionBPrecision);\n }\n\n // iterate in reverse order by reversed chunks array\n precision -= 1;\n while (precision >= lastPrecision) {\n // 4) compare: \"000000009\" > \"000000010\" = false (but \"9\" > \"10\" = true)\n if (chunks[0][precision] > chunks[1][precision]) {\n return 1;\n }\n\n if (chunks[0][precision] === chunks[1][precision]) {\n if (precision === lastPrecision) {\n // all version chunks are same\n return 0;\n }\n\n precision -= 1;\n } else if (chunks[0][precision] < chunks[1][precision]) {\n return -1;\n }\n }\n\n return undefined;\n }\n\n /**\n * Array::map polyfill\n *\n * @param {Array} arr\n * @param {Function} iterator\n * @return {Array}\n */\n static map(arr, iterator) {\n const result = [];\n let i;\n if (Array.prototype.map) {\n return Array.prototype.map.call(arr, iterator);\n }\n for (i = 0; i < arr.length; i += 1) {\n result.push(iterator(arr[i]));\n }\n return result;\n }\n\n /**\n * Array::find polyfill\n *\n * @param {Array} arr\n * @param {Function} predicate\n * @return {Array}\n */\n static find(arr, predicate) {\n let i;\n let l;\n if (Array.prototype.find) {\n return Array.prototype.find.call(arr, predicate);\n }\n for (i = 0, l = arr.length; i < l; i += 1) {\n const value = arr[i];\n if (predicate(value, i)) {\n return value;\n }\n }\n return undefined;\n }\n\n /**\n * Object::assign polyfill\n *\n * @param {Object} obj\n * @param {Object} ...objs\n * @return {Object}\n */\n static assign(obj, ...assigners) {\n const result = obj;\n let i;\n let l;\n if (Object.assign) {\n return Object.assign(obj, ...assigners);\n }\n for (i = 0, l = assigners.length; i < l; i += 1) {\n const assigner = assigners[i];\n if (typeof assigner === 'object' && assigner !== null) {\n const keys = Object.keys(assigner);\n keys.forEach((key) => {\n result[key] = assigner[key];\n });\n }\n }\n return obj;\n }\n\n /**\n * Get short version/alias for a browser name\n *\n * @example\n * getBrowserAlias('Microsoft Edge') // edge\n *\n * @param {string} browserName\n * @return {string}\n */\n static getBrowserAlias(browserName) {\n return BROWSER_ALIASES_MAP[browserName];\n }\n\n /**\n * Get browser name for a short version/alias\n *\n * @example\n * getBrowserTypeByAlias('edge') // Microsoft Edge\n *\n * @param {string} browserAlias\n * @return {string}\n */\n static getBrowserTypeByAlias(browserAlias) {\n return BROWSER_MAP[browserAlias] || '';\n }\n}\n","/**\n * Browsers' descriptors\n *\n * The idea of descriptors is simple. You should know about them two simple things:\n * 1. Every descriptor has a method or property called `test` and a `describe` method.\n * 2. Order of descriptors is important.\n *\n * More details:\n * 1. Method or property `test` serves as a way to detect whether the UA string\n * matches some certain browser or not. The `describe` method helps to make a result\n * object with params that show some browser-specific things: name, version, etc.\n * 2. Order of descriptors is important because a Parser goes through them one by one\n * in course. For example, if you insert Chrome's descriptor as the first one,\n * more then a half of browsers will be described as Chrome, because they will pass\n * the Chrome descriptor's test.\n *\n * Descriptor's `test` could be a property with an array of RegExps, where every RegExp\n * will be applied to a UA string to test it whether it matches or not.\n * If a descriptor has two or more regexps in the `test` array it tests them one by one\n * with a logical sum operation. Parser stops if it has found any RegExp that matches the UA.\n *\n * Or `test` could be a method. In that case it gets a Parser instance and should\n * return true/false to get the Parser know if this browser descriptor matches the UA or not.\n */\n\nimport Utils from './utils.js';\n\nconst commonVersionIdentifier = /version\\/(\\d+(\\.?_?\\d+)+)/i;\n\nconst browsersList = [\n /* GPTBot */\n {\n test: [/gptbot/i],\n describe(ua) {\n const browser = {\n name: 'GPTBot',\n };\n const version = Utils.getFirstMatch(/gptbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* ChatGPT-User */\n {\n test: [/chatgpt-user/i],\n describe(ua) {\n const browser = {\n name: 'ChatGPT-User',\n };\n const version = Utils.getFirstMatch(/chatgpt-user\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* OAI-SearchBot */\n {\n test: [/oai-searchbot/i],\n describe(ua) {\n const browser = {\n name: 'OAI-SearchBot',\n };\n const version = Utils.getFirstMatch(/oai-searchbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* ClaudeBot */\n {\n test: [/claudebot/i, /claude-web/i, /claude-user/i, /claude-searchbot/i],\n describe(ua) {\n const browser = {\n name: 'ClaudeBot',\n };\n const version = Utils.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Omgilibot */\n {\n test: [/omgilibot/i, /webzio-extended/i],\n describe(ua) {\n const browser = {\n name: 'Omgilibot',\n };\n const version = Utils.getFirstMatch(/(?:omgilibot|webzio-extended)\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Diffbot */\n {\n test: [/diffbot/i],\n describe(ua) {\n const browser = {\n name: 'Diffbot',\n };\n const version = Utils.getFirstMatch(/diffbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* PerplexityBot */\n {\n test: [/perplexitybot/i],\n describe(ua) {\n const browser = {\n name: 'PerplexityBot',\n };\n const version = Utils.getFirstMatch(/perplexitybot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Perplexity-User */\n {\n test: [/perplexity-user/i],\n describe(ua) {\n const browser = {\n name: 'Perplexity-User',\n };\n const version = Utils.getFirstMatch(/perplexity-user\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* YouBot */\n {\n test: [/youbot/i],\n describe(ua) {\n const browser = {\n name: 'YouBot',\n };\n const version = Utils.getFirstMatch(/youbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Meta-WebIndexer */\n {\n test: [/meta-webindexer/i],\n describe(ua) {\n const browser = {\n name: 'Meta-WebIndexer',\n };\n const version = Utils.getFirstMatch(/meta-webindexer\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Meta-ExternalAds */\n {\n test: [/meta-externalads/i],\n describe(ua) {\n const browser = {\n name: 'Meta-ExternalAds',\n };\n const version = Utils.getFirstMatch(/meta-externalads\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Meta-ExternalAgent */\n {\n test: [/meta-externalagent/i],\n describe(ua) {\n const browser = {\n name: 'Meta-ExternalAgent',\n };\n const version = Utils.getFirstMatch(/meta-externalagent\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Meta-ExternalFetcher */\n {\n test: [/meta-externalfetcher/i],\n describe(ua) {\n const browser = {\n name: 'Meta-ExternalFetcher',\n };\n const version = Utils.getFirstMatch(/meta-externalfetcher\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Googlebot */\n {\n test: [/googlebot/i],\n describe(ua) {\n const browser = {\n name: 'Googlebot',\n };\n const version = Utils.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* AmazonBot */\n {\n test: [/amazonbot/i],\n describe(ua) {\n const browser = {\n name: 'AmazonBot',\n };\n const version = Utils.getFirstMatch(/amazonbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* BingCrawler */\n {\n test: [/bingbot/i],\n describe(ua) {\n const browser = {\n name: 'BingCrawler',\n };\n const version = Utils.getFirstMatch(/bingbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* BaiduSpider */\n {\n test: [/baiduspider/i],\n describe(ua) {\n const browser = {\n name: 'BaiduSpider',\n };\n const version = Utils.getFirstMatch(/baiduspider\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* DuckDuckBot */\n {\n test: [/duckduckbot/i],\n describe(ua) {\n const browser = {\n name: 'DuckDuckBot',\n };\n const version = Utils.getFirstMatch(/duckduckbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* InternetArchiveCrawler */\n {\n test: [/ia_archiver/i],\n describe(ua) {\n const browser = {\n name: 'InternetArchiveCrawler',\n };\n const version = Utils.getFirstMatch(/ia_archiver\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* FacebookExternalHit */\n {\n test: [/facebookexternalhit/i, /facebookcatalog/i],\n describe() {\n return {\n name: 'FacebookExternalHit',\n };\n },\n },\n\n /* YahooSlurp */\n {\n test: [/yahoo!?[\\s/]*slurp/i],\n describe() {\n return {\n name: 'YahooSlurp',\n };\n },\n },\n\n /* YandexBot */\n {\n test: [/yandexbot/i, /yandexmobilebot/i],\n describe() {\n return {\n name: 'YandexBot',\n };\n },\n },\n\n /* PingdomBot */\n {\n test: [/pingdom/i],\n describe() {\n return {\n name: 'PingdomBot',\n };\n },\n },\n\n /* Opera < 13.0 */\n {\n test: [/opera/i],\n describe(ua) {\n const browser = {\n name: 'Opera',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Opera > 13.0 */\n {\n test: [/opr\\/|opios/i],\n describe(ua) {\n const browser = {\n name: 'Opera',\n };\n const version = Utils.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/SamsungBrowser/i],\n describe(ua) {\n const browser = {\n name: 'Samsung Internet for Android',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/Whale/i],\n describe(ua) {\n const browser = {\n name: 'NAVER Whale Browser',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/PaleMoon/i],\n describe(ua) {\n const browser = {\n name: 'Pale Moon',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:PaleMoon)[\\s/](\\d+(?:\\.\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/MZBrowser/i],\n describe(ua) {\n const browser = {\n name: 'MZ Browser',\n };\n const version = Utils.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/focus/i],\n describe(ua) {\n const browser = {\n name: 'Focus',\n };\n const version = Utils.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/swing/i],\n describe(ua) {\n const browser = {\n name: 'Swing',\n };\n const version = Utils.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/coast/i],\n describe(ua) {\n const browser = {\n name: 'Opera Coast',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/opt\\/\\d+(?:.?_?\\d+)+/i],\n describe(ua) {\n const browser = {\n name: 'Opera Touch',\n };\n const version = Utils.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/yabrowser/i],\n describe(ua) {\n const browser = {\n name: 'Yandex Browser',\n };\n const version = Utils.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/ucbrowser/i],\n describe(ua) {\n const browser = {\n name: 'UC Browser',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/Maxthon|mxios/i],\n describe(ua) {\n const browser = {\n name: 'Maxthon',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/epiphany/i],\n describe(ua) {\n const browser = {\n name: 'Epiphany',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/puffin/i],\n describe(ua) {\n const browser = {\n name: 'Puffin',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/sleipnir/i],\n describe(ua) {\n const browser = {\n name: 'Sleipnir',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/k-meleon/i],\n describe(ua) {\n const browser = {\n name: 'K-Meleon',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/micromessenger/i],\n describe(ua) {\n const browser = {\n name: 'WeChat',\n };\n const version = Utils.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/qqbrowser/i],\n describe(ua) {\n const browser = {\n name: (/qqbrowserlite/i).test(ua) ? 'QQ Browser Lite' : 'QQ Browser',\n };\n const version = Utils.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/msie|trident/i],\n describe(ua) {\n const browser = {\n name: 'Internet Explorer',\n };\n const version = Utils.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/\\sedg\\//i],\n describe(ua) {\n const browser = {\n name: 'Microsoft Edge',\n };\n\n const version = Utils.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/edg([ea]|ios)/i],\n describe(ua) {\n const browser = {\n name: 'Microsoft Edge',\n };\n\n const version = Utils.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/vivaldi/i],\n describe(ua) {\n const browser = {\n name: 'Vivaldi',\n };\n const version = Utils.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/seamonkey/i],\n describe(ua) {\n const browser = {\n name: 'SeaMonkey',\n };\n const version = Utils.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/sailfish/i],\n describe(ua) {\n const browser = {\n name: 'Sailfish',\n };\n\n const version = Utils.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/silk/i],\n describe(ua) {\n const browser = {\n name: 'Amazon Silk',\n };\n const version = Utils.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/phantom/i],\n describe(ua) {\n const browser = {\n name: 'PhantomJS',\n };\n const version = Utils.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/slimerjs/i],\n describe(ua) {\n const browser = {\n name: 'SlimerJS',\n };\n const version = Utils.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/blackberry|\\bbb\\d+/i, /rim\\stablet/i],\n describe(ua) {\n const browser = {\n name: 'BlackBerry',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/(web|hpw)[o0]s/i],\n describe(ua) {\n const browser = {\n name: 'WebOS Browser',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/bada/i],\n describe(ua) {\n const browser = {\n name: 'Bada',\n };\n const version = Utils.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/tizen/i],\n describe(ua) {\n const browser = {\n name: 'Tizen',\n };\n const version = Utils.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/qupzilla/i],\n describe(ua) {\n const browser = {\n name: 'QupZilla',\n };\n const version = Utils.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/librewolf/i],\n describe(ua) {\n const browser = {\n name: 'LibreWolf',\n };\n const version = Utils.getFirstMatch(/(?:librewolf)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/firefox|iceweasel|fxios/i],\n describe(ua) {\n const browser = {\n name: 'Firefox',\n };\n const version = Utils.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/electron/i],\n describe(ua) {\n const browser = {\n name: 'Electron',\n };\n const version = Utils.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/sogoumobilebrowser/i, /metasr/i, /se 2\\.[x]/i],\n describe(ua) {\n const browser = {\n name: 'Sogou Browser',\n };\n const sogouMobileVersion = Utils.getFirstMatch(/(?:sogoumobilebrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n const chromiumVersion = Utils.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n const seVersion = Utils.getFirstMatch(/se ([\\d.]+)x/i, ua);\n const version = sogouMobileVersion || chromiumVersion || seVersion;\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/MiuiBrowser/i],\n describe(ua) {\n const browser = {\n name: 'Miui',\n };\n const version = Utils.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/chromium/i],\n describe(ua) {\n const browser = {\n name: 'Chromium',\n };\n const version = Utils.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/chrome|crios|crmo/i],\n describe(ua) {\n const browser = {\n name: 'Chrome',\n };\n const version = Utils.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n {\n test: [/GSA/i],\n describe(ua) {\n const browser = {\n name: 'Google Search',\n };\n const version = Utils.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Android Browser */\n {\n test(parser) {\n const notLikeAndroid = !parser.test(/like android/i);\n const butAndroid = parser.test(/android/i);\n return notLikeAndroid && butAndroid;\n },\n describe(ua) {\n const browser = {\n name: 'Android Browser',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* PlayStation 4 */\n {\n test: [/playstation 4/i],\n describe(ua) {\n const browser = {\n name: 'PlayStation 4',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Safari */\n {\n test: [/safari|applewebkit/i],\n describe(ua) {\n const browser = {\n name: 'Safari',\n };\n const version = Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n if (version) {\n browser.version = version;\n }\n\n return browser;\n },\n },\n\n /* Something else */\n {\n test: [/.*/i],\n describe(ua) {\n /* Here we try to make sure that there are explicit details about the device\n * in order to decide what regexp exactly we want to apply\n * (as there is a specific decision based on that conclusion)\n */\n const regexpWithoutDeviceSpec = /^(.*)\\/(.*) /;\n const regexpWithDeviceSpec = /^(.*)\\/(.*)[ \\t]\\((.*)/;\n const hasDeviceSpec = ua.search('\\\\(') !== -1;\n const regexp = hasDeviceSpec ? regexpWithDeviceSpec : regexpWithoutDeviceSpec;\n return {\n name: Utils.getFirstMatch(regexp, ua),\n version: Utils.getSecondMatch(regexp, ua),\n };\n },\n },\n];\n\nexport default browsersList;\n","import Utils from './utils.js';\nimport { OS_MAP } from './constants.js';\n\nexport default [\n /* Roku */\n {\n test: [/Roku\\/DVP/],\n describe(ua) {\n const version = Utils.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i, ua);\n return {\n name: OS_MAP.Roku,\n version,\n };\n },\n },\n\n /* Windows Phone */\n {\n test: [/windows phone/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i, ua);\n return {\n name: OS_MAP.WindowsPhone,\n version,\n };\n },\n },\n\n /* Windows */\n {\n test: [/windows /i],\n describe(ua) {\n const version = Utils.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i, ua);\n const versionName = Utils.getWindowsVersionName(version);\n\n return {\n name: OS_MAP.Windows,\n version,\n versionName,\n };\n },\n },\n\n /* Firefox on iPad */\n {\n test: [/Macintosh(.*?) FxiOS(.*?)\\//],\n describe(ua) {\n const result = {\n name: OS_MAP.iOS,\n };\n const version = Utils.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/, ua);\n if (version) {\n result.version = version;\n }\n return result;\n },\n },\n\n /* macOS */\n {\n test: [/macintosh/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i, ua).replace(/[_\\s]/g, '.');\n const versionName = Utils.getMacOSVersionName(version);\n\n const os = {\n name: OS_MAP.MacOS,\n version,\n };\n if (versionName) {\n os.versionName = versionName;\n }\n return os;\n },\n },\n\n /* iOS */\n {\n test: [/(ipod|iphone|ipad)/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i, ua).replace(/[_\\s]/g, '.');\n\n return {\n name: OS_MAP.iOS,\n version,\n };\n },\n },\n\n /* HarmonyOS */\n {\n test: [/OpenHarmony/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/OpenHarmony\\s+(\\d+(\\.\\d+)*)/i, ua);\n return {\n name: OS_MAP.HarmonyOS,\n version,\n };\n },\n },\n\n /* Android */\n {\n test(parser) {\n const notLikeAndroid = !parser.test(/like android/i);\n const butAndroid = parser.test(/android/i);\n return notLikeAndroid && butAndroid;\n },\n describe(ua) {\n const version = Utils.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i, ua);\n const versionName = Utils.getAndroidVersionName(version);\n const os = {\n name: OS_MAP.Android,\n version,\n };\n if (versionName) {\n os.versionName = versionName;\n }\n return os;\n },\n },\n\n /* WebOS */\n {\n test: [/(web|hpw)[o0]s/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i, ua);\n const os = {\n name: OS_MAP.WebOS,\n };\n\n if (version && version.length) {\n os.version = version;\n }\n return os;\n },\n },\n\n /* BlackBerry */\n {\n test: [/blackberry|\\bbb\\d+/i, /rim\\stablet/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i, ua)\n || Utils.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i, ua)\n || Utils.getFirstMatch(/\\bbb(\\d+)/i, ua);\n\n return {\n name: OS_MAP.BlackBerry,\n version,\n };\n },\n },\n\n /* Bada */\n {\n test: [/bada/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i, ua);\n\n return {\n name: OS_MAP.Bada,\n version,\n };\n },\n },\n\n /* Tizen */\n {\n test: [/tizen/i],\n describe(ua) {\n const version = Utils.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i, ua);\n\n return {\n name: OS_MAP.Tizen,\n version,\n };\n },\n },\n\n /* Linux */\n {\n test: [/linux/i],\n describe() {\n return {\n name: OS_MAP.Linux,\n };\n },\n },\n\n /* Chrome OS */\n {\n test: [/CrOS/],\n describe() {\n return {\n name: OS_MAP.ChromeOS,\n };\n },\n },\n\n /* Playstation 4 */\n {\n test: [/PlayStation 4/],\n describe(ua) {\n const version = Utils.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i, ua);\n return {\n name: OS_MAP.PlayStation4,\n version,\n };\n },\n },\n];\n","import Utils from './utils.js';\nimport { PLATFORMS_MAP } from './constants.js';\n\n/*\n * Tablets go first since usually they have more specific\n * signs to detect.\n */\n\nexport default [\n /* Googlebot */\n {\n test: [/googlebot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Google',\n };\n },\n },\n\n /* AmazonBot */\n {\n test: [/amazonbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Amazon',\n };\n },\n },\n\n /* GPTBot */\n {\n test: [/gptbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'OpenAI',\n };\n },\n },\n\n /* ChatGPT-User */\n {\n test: [/chatgpt-user/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'OpenAI',\n };\n },\n },\n\n /* OAI-SearchBot */\n {\n test: [/oai-searchbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'OpenAI',\n };\n },\n },\n\n /* Baidu */\n {\n test: [/baiduspider/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Baidu',\n };\n },\n },\n\n /* Bingbot */\n {\n test: [/bingbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Bing',\n };\n },\n },\n\n /* DuckDuckBot */\n {\n test: [/duckduckbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'DuckDuckGo',\n };\n },\n },\n\n /* ClaudeBot */\n {\n test: [/claudebot/i, /claude-web/i, /claude-user/i, /claude-searchbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Anthropic',\n };\n },\n },\n\n /* Omgilibot */\n {\n test: [/omgilibot/i, /webzio-extended/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Webz.io',\n };\n },\n },\n\n /* Diffbot */\n {\n test: [/diffbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Diffbot',\n };\n },\n },\n\n /* PerplexityBot */\n {\n test: [/perplexitybot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Perplexity AI',\n };\n },\n },\n\n /* Perplexity-User */\n {\n test: [/perplexity-user/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Perplexity AI',\n };\n },\n },\n\n /* YouBot */\n {\n test: [/youbot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'You.com',\n };\n },\n },\n\n /* Internet Archive Crawler */\n {\n test: [/ia_archiver/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Internet Archive',\n };\n },\n },\n\n /* Meta-WebIndexer */\n {\n test: [/meta-webindexer/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Meta',\n };\n },\n },\n\n /* Meta-ExternalAds */\n {\n test: [/meta-externalads/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Meta',\n };\n },\n },\n\n /* Meta-ExternalAgent */\n {\n test: [/meta-externalagent/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Meta',\n };\n },\n },\n\n /* Meta-ExternalFetcher */\n {\n test: [/meta-externalfetcher/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Meta',\n };\n },\n },\n\n /* Meta Web Crawler */\n {\n test: [/facebookexternalhit/i, /facebookcatalog/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Meta',\n };\n },\n },\n\n /* Yahoo! Slurp */\n {\n test: [/yahoo/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Yahoo',\n };\n },\n },\n\n /* Yandex */\n {\n test: [/yandexbot/i, /yandexmobilebot/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Yandex',\n };\n },\n },\n\n /* Pingdom */\n {\n test: [/pingdom/i],\n describe() {\n return {\n type: PLATFORMS_MAP.bot,\n vendor: 'Pingdom',\n };\n },\n },\n\n /* Huawei */\n {\n test: [/huawei/i],\n describe(ua) {\n const model = Utils.getFirstMatch(/(can-l01)/i, ua) && 'Nova';\n const platform = {\n type: PLATFORMS_MAP.mobile,\n vendor: 'Huawei',\n };\n if (model) {\n platform.model = model;\n }\n return platform;\n },\n },\n\n /* Nexus Tablet */\n {\n test: [/nexus\\s*(?:7|8|9|10).*/i],\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n vendor: 'Nexus',\n };\n },\n },\n\n /* iPad */\n {\n test: [/ipad/i],\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n vendor: 'Apple',\n model: 'iPad',\n };\n },\n },\n\n /* Firefox on iPad */\n {\n test: [/Macintosh(.*?) FxiOS(.*?)\\//],\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n vendor: 'Apple',\n model: 'iPad',\n };\n },\n },\n\n /* Amazon Kindle Fire */\n {\n test: [/kftt build/i],\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n vendor: 'Amazon',\n model: 'Kindle Fire HD 7',\n };\n },\n },\n\n /* Another Amazon Tablet with Silk */\n {\n test: [/silk/i],\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n vendor: 'Amazon',\n };\n },\n },\n\n /* Tablet */\n {\n test: [/tablet(?! pc)/i],\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n };\n },\n },\n\n /* iPod/iPhone */\n {\n test(parser) {\n const iDevice = parser.test(/ipod|iphone/i);\n const likeIDevice = parser.test(/like (ipod|iphone)/i);\n return iDevice && !likeIDevice;\n },\n describe(ua) {\n const model = Utils.getFirstMatch(/(ipod|iphone)/i, ua);\n return {\n type: PLATFORMS_MAP.mobile,\n vendor: 'Apple',\n model,\n };\n },\n },\n\n /* Nexus Mobile */\n {\n test: [/nexus\\s*[0-6].*/i, /galaxy nexus/i],\n describe() {\n return {\n type: PLATFORMS_MAP.mobile,\n vendor: 'Nexus',\n };\n },\n },\n\n /* Nokia */\n {\n test: [/Nokia/i],\n describe(ua) {\n const model = Utils.getFirstMatch(/Nokia\\s+([0-9]+(\\.[0-9]+)?)/i, ua);\n const platform = {\n type: PLATFORMS_MAP.mobile,\n vendor: 'Nokia',\n };\n if (model) {\n platform.model = model;\n }\n return platform;\n },\n },\n\n /* Mobile */\n {\n test: [/[^-]mobi/i],\n describe() {\n return {\n type: PLATFORMS_MAP.mobile,\n };\n },\n },\n\n /* BlackBerry */\n {\n test(parser) {\n return parser.getBrowserName(true) === 'blackberry';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.mobile,\n vendor: 'BlackBerry',\n };\n },\n },\n\n /* Bada */\n {\n test(parser) {\n return parser.getBrowserName(true) === 'bada';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.mobile,\n };\n },\n },\n\n /* Windows Phone */\n {\n test(parser) {\n return parser.getBrowserName() === 'windows phone';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.mobile,\n vendor: 'Microsoft',\n };\n },\n },\n\n /* Android Tablet */\n {\n test(parser) {\n const osMajorVersion = Number(String(parser.getOSVersion()).split('.')[0]);\n return parser.getOSName(true) === 'android' && (osMajorVersion >= 3);\n },\n describe() {\n return {\n type: PLATFORMS_MAP.tablet,\n };\n },\n },\n\n /* Android Mobile */\n {\n test(parser) {\n return parser.getOSName(true) === 'android';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.mobile,\n };\n },\n },\n\n /* desktop */\n {\n test(parser) {\n return parser.getOSName(true) === 'macos';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.desktop,\n vendor: 'Apple',\n };\n },\n },\n\n /* Windows */\n {\n test(parser) {\n return parser.getOSName(true) === 'windows';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.desktop,\n };\n },\n },\n\n /* Linux */\n {\n test(parser) {\n return parser.getOSName(true) === 'linux';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.desktop,\n };\n },\n },\n\n /* PlayStation 4 */\n {\n test(parser) {\n return parser.getOSName(true) === 'playstation 4';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.tv,\n };\n },\n },\n\n /* Roku */\n {\n test(parser) {\n return parser.getOSName(true) === 'roku';\n },\n describe() {\n return {\n type: PLATFORMS_MAP.tv,\n };\n },\n },\n];\n","import Utils from './utils.js';\nimport { ENGINE_MAP } from './constants.js';\n\n/*\n * More specific goes first\n */\nexport default [\n /* EdgeHTML */\n {\n test(parser) {\n return parser.getBrowserName(true) === 'microsoft edge';\n },\n describe(ua) {\n const isBlinkBased = /\\sedg\\//i.test(ua);\n\n // return blink if it's blink-based one\n if (isBlinkBased) {\n return {\n name: ENGINE_MAP.Blink,\n };\n }\n\n // otherwise match the version and return EdgeHTML\n const version = Utils.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n return {\n name: ENGINE_MAP.EdgeHTML,\n version,\n };\n },\n },\n\n /* Trident */\n {\n test: [/trident/i],\n describe(ua) {\n const engine = {\n name: ENGINE_MAP.Trident,\n };\n\n const version = Utils.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n engine.version = version;\n }\n\n return engine;\n },\n },\n\n /* Presto */\n {\n test(parser) {\n return parser.test(/presto/i);\n },\n describe(ua) {\n const engine = {\n name: ENGINE_MAP.Presto,\n };\n\n const version = Utils.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n engine.version = version;\n }\n\n return engine;\n },\n },\n\n /* Gecko */\n {\n test(parser) {\n const isGecko = parser.test(/gecko/i);\n const likeGecko = parser.test(/like gecko/i);\n return isGecko && !likeGecko;\n },\n describe(ua) {\n const engine = {\n name: ENGINE_MAP.Gecko,\n };\n\n const version = Utils.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n engine.version = version;\n }\n\n return engine;\n },\n },\n\n /* Blink */\n {\n test: [/(apple)?webkit\\/537\\.36/i],\n describe() {\n return {\n name: ENGINE_MAP.Blink,\n };\n },\n },\n\n /* WebKit */\n {\n test: [/(apple)?webkit/i],\n describe(ua) {\n const engine = {\n name: ENGINE_MAP.WebKit,\n };\n\n const version = Utils.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n if (version) {\n engine.version = version;\n }\n\n return engine;\n },\n },\n];\n","import browserParsersList from './parser-browsers.js';\nimport osParsersList from './parser-os.js';\nimport platformParsersList from './parser-platforms.js';\nimport enginesParsersList from './parser-engines.js';\nimport Utils from './utils.js';\n\n/**\n * The main class that arranges the whole parsing process.\n */\nclass Parser {\n /**\n * Create instance of Parser\n *\n * @param {String} UA User-Agent string\n * @param {Boolean} [skipParsing=false] parser can skip parsing in purpose of performance\n * improvements if you need to make a more particular parsing\n * like {@link Parser#parseBrowser} or {@link Parser#parsePlatform}\n *\n * @throw {Error} in case of empty UA String\n *\n * @constructor\n */\n constructor(UA, skipParsing = false) {\n if (UA === void (0) || UA === null || UA === '') {\n throw new Error(\"UserAgent parameter can't be empty\");\n }\n\n this._ua = UA;\n\n /**\n * @typedef ParsedResult\n * @property {Object} browser\n * @property {String|undefined} [browser.name]\n * Browser name, like `\"Chrome\"` or `\"Internet Explorer\"`\n * @property {String|undefined} [browser.version] Browser version as a String `\"12.01.45334.10\"`\n * @property {Object} os\n * @property {String|undefined} [os.name] OS name, like `\"Windows\"` or `\"macOS\"`\n * @property {String|undefined} [os.version] OS version, like `\"NT 5.1\"` or `\"10.11.1\"`\n * @property {String|undefined} [os.versionName] OS name, like `\"XP\"` or `\"High Sierra\"`\n * @property {Object} platform\n * @property {String|undefined} [platform.type]\n * platform type, can be either `\"desktop\"`, `\"tablet\"` or `\"mobile\"`\n * @property {String|undefined} [platform.vendor] Vendor of the device,\n * like `\"Apple\"` or `\"Samsung\"`\n * @property {String|undefined} [platform.model] Device model,\n * like `\"iPhone\"` or `\"Kindle Fire HD 7\"`\n * @property {Object} engine\n * @property {String|undefined} [engine.name]\n * Can be any of this: `WebKit`, `Blink`, `Gecko`, `Trident`, `Presto`, `EdgeHTML`\n * @property {String|undefined} [engine.version] String version of the engine\n */\n this.parsedResult = {};\n\n if (skipParsing !== true) {\n this.parse();\n }\n }\n\n /**\n * Get UserAgent string of current Parser instance\n * @return {String} User-Agent String of the current <Parser> object\n *\n * @public\n */\n getUA() {\n return this._ua;\n }\n\n /**\n * Test a UA string for a regexp\n * @param {RegExp} regex\n * @return {Boolean}\n */\n test(regex) {\n return regex.test(this._ua);\n }\n\n /**\n * Get parsed browser object\n * @return {Object}\n */\n parseBrowser() {\n this.parsedResult.browser = {};\n\n const browserDescriptor = Utils.find(browserParsersList, (_browser) => {\n if (typeof _browser.test === 'function') {\n return _browser.test(this);\n }\n\n if (Array.isArray(_browser.test)) {\n return _browser.test.some(condition => this.test(condition));\n }\n\n throw new Error(\"Browser's test function is not valid\");\n });\n\n if (browserDescriptor) {\n this.parsedResult.browser = browserDescriptor.describe(this.getUA());\n }\n\n return this.parsedResult.browser;\n }\n\n /**\n * Get parsed browser object\n * @return {Object}\n *\n * @public\n */\n getBrowser() {\n if (this.parsedResult.browser) {\n return this.parsedResult.browser;\n }\n\n return this.parseBrowser();\n }\n\n /**\n * Get browser's name\n * @return {String} Browser's name or an empty string\n *\n * @public\n */\n getBrowserName(toLowerCase) {\n if (toLowerCase) {\n return String(this.getBrowser().name).toLowerCase() || '';\n }\n return this.getBrowser().name || '';\n }\n\n\n /**\n * Get browser's version\n * @return {String} version of browser\n *\n * @public\n */\n getBrowserVersion() {\n return this.getBrowser().version;\n }\n\n /**\n * Get OS\n * @return {Object}\n *\n * @example\n * this.getOS();\n * {\n * name: 'macOS',\n * version: '10.11.12'\n * }\n */\n getOS() {\n if (this.parsedResult.os) {\n return this.parsedResult.os;\n }\n\n return this.parseOS();\n }\n\n /**\n * Parse OS and save it to this.parsedResult.os\n * @return {*|{}}\n */\n parseOS() {\n this.parsedResult.os = {};\n\n const os = Utils.find(osParsersList, (_os) => {\n if (typeof _os.test === 'function') {\n return _os.test(this);\n }\n\n if (Array.isArray(_os.test)) {\n return _os.test.some(condition => this.test(condition));\n }\n\n throw new Error(\"Browser's test function is not valid\");\n });\n\n if (os) {\n this.parsedResult.os = os.describe(this.getUA());\n }\n\n return this.parsedResult.os;\n }\n\n /**\n * Get OS name\n * @param {Boolean} [toLowerCase] return lower-cased value\n * @return {String} name of the OS — macOS, Windows, Linux, etc.\n */\n getOSName(toLowerCase) {\n const { name } = this.getOS();\n\n if (toLowerCase) {\n return String(name).toLowerCase() || '';\n }\n\n return name || '';\n }\n\n /**\n * Get OS version\n * @return {String} full version with dots ('10.11.12', '5.6', etc)\n */\n getOSVersion() {\n return this.getOS().version;\n }\n\n /**\n * Get parsed platform\n * @return {{}}\n */\n getPlatform() {\n if (this.parsedResult.platform) {\n return this.parsedResult.platform;\n }\n\n return this.parsePlatform();\n }\n\n /**\n * Get platform name\n * @param {Boolean} [toLowerCase=false]\n * @return {*}\n */\n getPlatformType(toLowerCase = false) {\n const { type } = this.getPlatform();\n\n if (toLowerCase) {\n return String(type).toLowerCase() || '';\n }\n\n return type || '';\n }\n\n /**\n * Get parsed platform\n * @return {{}}\n */\n parsePlatform() {\n this.parsedResult.platform = {};\n\n const platform = Utils.find(platformParsersList, (_platform) => {\n if (typeof _platform.test === 'function') {\n return _platform.test(this);\n }\n\n if (Array.isArray(_platform.test)) {\n return _platform.test.some(condition => this.test(condition));\n }\n\n throw new Error(\"Browser's test function is not valid\");\n });\n\n if (platform) {\n this.parsedResult.platform = platform.describe(this.getUA());\n }\n\n return this.parsedResult.platform;\n }\n\n /**\n * Get parsed engine\n * @return {{}}\n */\n getEngine() {\n if (this.parsedResult.engine) {\n return this.parsedResult.engine;\n }\n\n return this.parseEngine();\n }\n\n /**\n * Get engines's name\n * @return {String} Engines's name or an empty string\n *\n * @public\n */\n getEngineName(toLowerCase) {\n if (toLowerCase) {\n return String(this.getEngine().name).toLowerCase() || '';\n }\n return this.getEngine().name || '';\n }\n\n /**\n * Get parsed platform\n * @return {{}}\n */\n parseEngine() {\n this.parsedResult.engine = {};\n\n const engine = Utils.find(enginesParsersList, (_engine) => {\n if (typeof _engine.test === 'function') {\n return _engine.test(this);\n }\n\n if (Array.isArray(_engine.test)) {\n return _engine.test.some(condition => this.test(condition));\n }\n\n throw new Error(\"Browser's test function is not valid\");\n });\n\n if (engine) {\n this.parsedResult.engine = engine.describe(this.getUA());\n }\n\n return this.parsedResult.engine;\n }\n\n /**\n * Parse full information about the browser\n * @returns {Parser}\n */\n parse() {\n this.parseBrowser();\n this.parseOS();\n this.parsePlatform();\n this.parseEngine();\n\n return this;\n }\n\n /**\n * Get parsed result\n * @return {ParsedResult}\n */\n getResult() {\n return Utils.assign({}, this.parsedResult);\n }\n\n /**\n * Check if parsed browser matches certain conditions\n *\n * @param {Object} checkTree It's one or two layered object,\n * which can include a platform or an OS on the first layer\n * and should have browsers specs on the bottom-laying layer\n *\n * @returns {Boolean|undefined} Whether the browser satisfies the set conditions or not.\n * Returns `undefined` when the browser is no described in the checkTree object.\n *\n * @example\n * const browser = Bowser.getParser(window.navigator.userAgent);\n * if (browser.satisfies({chrome: '>118.01.1322' }))\n * // or with os\n * if (browser.satisfies({windows: { chrome: '>118.01.1322' } }))\n * // or with platforms\n * if (browser.satisfies({desktop: { chrome: '>118.01.1322' } }))\n */\n satisfies(checkTree) {\n const platformsAndOSes = {};\n let platformsAndOSCounter = 0;\n const browsers = {};\n let browsersCounter = 0;\n\n const allDefinitions = Object.keys(checkTree);\n\n allDefinitions.forEach((key) => {\n const currentDefinition = checkTree[key];\n if (typeof currentDefinition === 'string') {\n browsers[key] = currentDefinition;\n browsersCounter += 1;\n } else if (typeof currentDefinition === 'object') {\n platformsAndOSes[key] = currentDefinition;\n platformsAndOSCounter += 1;\n }\n });\n\n if (platformsAndOSCounter > 0) {\n const platformsAndOSNames = Object.keys(platformsAndOSes);\n const OSMatchingDefinition = Utils.find(platformsAndOSNames, name => (this.isOS(name)));\n\n if (OSMatchingDefinition) {\n const osResult = this.satisfies(platformsAndOSes[OSMatchingDefinition]);\n\n if (osResult !== void 0) {\n return osResult;\n }\n }\n\n const platformMatchingDefinition = Utils.find(\n platformsAndOSNames,\n name => (this.isPlatform(name)),\n );\n if (platformMatchingDefinition) {\n const platformResult = this.satisfies(platformsAndOSes[platformMatchingDefinition]);\n\n if (platformResult !== void 0) {\n return platformResult;\n }\n }\n }\n\n if (browsersCounter > 0) {\n const browserNames = Object.keys(browsers);\n const matchingDefinition = Utils.find(browserNames, name => (this.isBrowser(name, true)));\n\n if (matchingDefinition !== void 0) {\n return this.compareVersion(browsers[matchingDefinition]);\n }\n }\n\n return undefined;\n }\n\n /**\n * Check if the browser name equals the passed string\n * @param {string} browserName The string to compare with the browser name\n * @param [includingAlias=false] The flag showing whether alias will be included into comparison\n * @returns {boolean}\n */\n isBrowser(browserName, includingAlias = false) {\n const defaultBrowserName = this.getBrowserName().toLowerCase();\n let browserNameLower = browserName.toLowerCase();\n const alias = Utils.getBrowserTypeByAlias(browserNameLower);\n\n if (includingAlias && alias) {\n browserNameLower = alias.toLowerCase();\n }\n return browserNameLower === defaultBrowserName;\n }\n\n compareVersion(version) {\n let expectedResults = [0];\n let comparableVersion = version;\n let isLoose = false;\n\n const currentBrowserVersion = this.getBrowserVersion();\n\n if (typeof currentBrowserVersion !== 'string') {\n return void 0;\n }\n\n if (version[0] === '>' || version[0] === '<') {\n comparableVersion = version.substr(1);\n if (version[1] === '=') {\n isLoose = true;\n comparableVersion = version.substr(2);\n } else {\n expectedResults = [];\n }\n if (version[0] === '>') {\n expectedResults.push(1);\n } else {\n expectedResults.push(-1);\n }\n } else if (version[0] === '=') {\n comparableVersion = version.substr(1);\n } else if (version[0] === '~') {\n isLoose = true;\n comparableVersion = version.substr(1);\n }\n\n return expectedResults.indexOf(\n Utils.compareVersions(currentBrowserVersion, comparableVersion, isLoose),\n ) > -1;\n }\n\n /**\n * Check if the OS name equals the passed string\n * @param {string} osName The string to compare with the OS name\n * @returns {boolean}\n */\n isOS(osName) {\n return this.getOSName(true) === String(osName).toLowerCase();\n }\n\n /**\n * Check if the platform type equals the passed string\n * @param {string} platformType The string to compare with the platform type\n * @returns {boolean}\n */\n isPlatform(platformType) {\n return this.getPlatformType(true) === String(platformType).toLowerCase();\n }\n\n /**\n * Check if the engine name equals the passed string\n * @param {string} engineName The string to compare with the engine name\n * @returns {boolean}\n */\n isEngine(engineName) {\n return this.getEngineName(true) === String(engineName).toLowerCase();\n }\n\n /**\n * Is anything? Check if the browser is called \"anything\",\n * the OS called \"anything\" or the platform called \"anything\"\n * @param {String} anything\n * @param [includingAlias=false] The flag showing whether alias will be included into comparison\n * @returns {Boolean}\n */\n is(anything, includingAlias = false) {\n return this.isBrowser(anything, includingAlias) || this.isOS(anything)\n || this.isPlatform(anything);\n }\n\n /**\n * Check if any of the given values satisfies this.is(anything)\n * @param {String[]} anythings\n * @returns {Boolean}\n */\n some(anythings = []) {\n return anythings.some(anything => this.is(anything));\n }\n}\n\nexport default Parser;\n","/*!\n * Bowser - a browser detector\n * https://github.com/lancedikson/bowser\n * MIT License | (c) Dustin Diaz 2012-2015\n * MIT License | (c) Denis Demchenko 2015-2019\n */\nimport Parser from './parser.js';\nimport {\n BROWSER_MAP,\n ENGINE_MAP,\n OS_MAP,\n PLATFORMS_MAP,\n} from './constants.js';\n\n/**\n * Bowser class.\n * Keep it simple as much as it can be.\n * It's supposed to work with collections of {@link Parser} instances\n * rather then solve one-instance problems.\n * All the one-instance stuff is located in Parser class.\n *\n * @class\n * @classdesc Bowser is a static object, that provides an API to the Parsers\n * @hideconstructor\n */\nclass Bowser {\n /**\n * Creates a {@link Parser} instance\n *\n * @param {String} UA UserAgent string\n * @param {Boolean} [skipParsing=false] Will make the Parser postpone parsing until you ask it\n * explicitly. Same as `skipParsing` for {@link Parser}.\n * @returns {Parser}\n * @throws {Error} when UA is not a String\n *\n * @example\n * const parser = Bowser.getParser(window.navigator.userAgent);\n * const result = parser.getResult();\n */\n static getParser(UA, skipParsing = false) {\n if (typeof UA !== 'string') {\n throw new Error('UserAgent should be a string');\n }\n return new Parser(UA, skipParsing);\n }\n\n /**\n * Creates a {@link Parser} instance and runs {@link Parser.getResult} immediately\n *\n * @param UA\n * @return {ParsedResult}\n *\n * @example\n * const result = Bowser.parse(window.navigator.userAgent);\n */\n static parse(UA) {\n return (new Parser(UA)).getResult();\n }\n\n static get BROWSER_MAP() {\n return BROWSER_MAP;\n }\n\n static get ENGINE_MAP() {\n return ENGINE_MAP;\n }\n\n static get OS_MAP() {\n return OS_MAP;\n }\n\n static get PLATFORMS_MAP() {\n return PLATFORMS_MAP;\n }\n}\n\nexport default Bowser;\n","export function isXverseInAppBrowser() {\n return typeof window.ReactNativeWebView !== \"undefined\";\n}\n","import { DefaultAdaptersInfo, } from \"@sats-connect/core\";\nimport {} from \"@sats-connect/ui\";\nimport Bowser from \"bowser\";\nimport { isXverseInAppBrowser } from \"./isXverseInAppBrowser.js\";\nfunction appStoreUrl(p) {\n const browser = Bowser.getParser(window.navigator.userAgent);\n if (browser.satisfies({\n desktop: {\n chrome: \">=1\",\n },\n })) {\n return p.chromeWebStoreUrl;\n }\n if (browser.satisfies({\n desktop: {\n firefox: \">=1\",\n },\n })) {\n return p.mozillaAddOnsUrl;\n }\n if (browser.satisfies({\n android: {\n chrome: \">=1\",\n safari: \">=1\",\n },\n })) {\n return p.googlePlayStoreUrl;\n }\n if (browser.satisfies({\n ios: {\n chrome: \">=1\",\n safari: \">=1\",\n },\n })) {\n return p.iOSAppStoreUrl;\n }\n}\nfunction getInstallPrompt(provider) {\n const url = appStoreUrl(provider);\n if (url)\n return { installPrompt: { url } };\n console.error(`[makeDefaultConfig]: No app store URL found for ${provider.name}.`);\n return {};\n}\nexport function makeDefaultConfig(providers) {\n const config = { options: [] };\n // Xverse\n const xverseProvider = providers.find((provider) => provider.id === DefaultAdaptersInfo.xverse.id);\n config.options.push(xverseProvider\n ? xverseProvider\n : {\n ...DefaultAdaptersInfo.xverse,\n ...getInstallPrompt(DefaultAdaptersInfo.xverse),\n });\n if (isXverseInAppBrowser()) {\n return config;\n }\n // Unisat\n const unisatProvider = providers.find((provider) => provider.id === \"unisat\");\n if (unisatProvider && unisatProvider.isInstalled) {\n config.options.push(unisatProvider);\n }\n // Rest\n config.options = config.options.concat(providers\n .filter((provider) => {\n return (provider.id !== DefaultAdaptersInfo.xverse.id &&\n provider.id !== \"unisat\");\n })\n .map((provider) => {\n return {\n ...provider,\n ...(provider.isInstalled ? {} : getInstallPrompt(provider)),\n };\n }));\n return config;\n}\n","function st(e) {\n return Object.keys(e).reduce((n, i) => {\n const r = e[i];\n return n[i] = Object.assign({}, r), ze(r.value) && !ut(r.value) && !Array.isArray(r.value) && (n[i].value = Object.assign({}, r.value)), Array.isArray(r.value) && (n[i].value = r.value.slice(0)), n;\n }, {});\n}\nfunction ot(e) {\n return e ? Object.keys(e).reduce((n, i) => {\n const r = e[i];\n return n[i] = ze(r) && \"value\" in r ? r : {\n value: r\n }, n[i].attribute || (n[i].attribute = ct(i)), n[i].parse = \"parse\" in n[i] ? n[i].parse : typeof n[i].value != \"string\", n;\n }, {}) : {};\n}\nfunction lt(e) {\n return Object.keys(e).reduce((n, i) => (n[i] = e[i].value, n), {});\n}\nfunction at(e, t) {\n const n = st(t);\n return Object.keys(t).forEach((r) => {\n const s = n[r], l = e.getAttribute(s.attribute), o = e[r];\n l && (s.value = s.parse ? Ne(l) : l), o != null && (s.value = Array.isArray(o) ? o.slice(0) : o), s.reflect && $e(e, s.attribute, s.value), Object.defineProperty(e, r, {\n get() {\n return s.value;\n },\n set(c) {\n const f = s.value;\n s.value = c, s.reflect && $e(this, s.attribute, s.value);\n for (let a = 0, u = this.__propertyChangedCallbacks.length; a < u; a++)\n this.__propertyChangedCallbacks[a](r, c, f);\n },\n enumerable: !0,\n configurable: !0\n });\n }), n;\n}\nfunction Ne(e) {\n if (e)\n try {\n return JSON.parse(e);\n } catch {\n return e;\n }\n}\nfunction $e(e, t, n) {\n if (n == null || n === !1)\n return e.removeAttribute(t);\n let i = JSON.stringify(n);\n e.__updating[t] = !0, i === \"true\" && (i = \"\"), e.setAttribute(t, i), Promise.resolve().then(() => delete e.__updating[t]);\n}\nfunction ct(e) {\n return e.replace(/\\.?([A-Z]+)/g, (t, n) => \"-\" + n.toLowerCase()).replace(\"_\", \"-\").replace(/^-/, \"\");\n}\nfunction ze(e) {\n return e != null && (typeof e == \"object\" || typeof e == \"function\");\n}\nfunction ut(e) {\n return Object.prototype.toString.call(e) === \"[object Function]\";\n}\nfunction dt(e) {\n return typeof e == \"function\" && e.toString().indexOf(\"class\") === 0;\n}\nlet ue;\nfunction ft(e, t) {\n const n = Object.keys(t);\n return class extends e {\n static get observedAttributes() {\n return n.map((r) => t[r].attribute);\n }\n constructor() {\n super(), this.__initialized = !1, this.__released = !1, this.__releaseCallbacks = [], this.__propertyChangedCallbacks = [], this.__updating = {}, this.props = {};\n }\n connectedCallback() {\n if (this.__initialized)\n return;\n this.__releaseCallbacks = [], this.__propertyChangedCallbacks = [], this.__updating = {}, this.props = at(this, t);\n const r = lt(this.props), s = this.Component, l = ue;\n try {\n ue = this, this.__initialized = !0, dt(s) ? new s(r, {\n element: this\n }) : s(r, {\n element: this\n });\n } finally {\n ue = l;\n }\n }\n async disconnectedCallback() {\n if (await Promise.resolve(), this.isConnected)\n return;\n this.__propertyChangedCallbacks.length = 0;\n let r = null;\n for (; r = this.__releaseCallbacks.pop(); )\n r(this);\n delete this.__initialized, this.__released = !0;\n }\n attributeChangedCallback(r, s, l) {\n if (this.__initialized && !this.__updating[r] && (r = this.lookupProp(r), r in t)) {\n if (l == null && !this[r])\n return;\n this[r] = t[r].parse ? Ne(l) : l;\n }\n }\n lookupProp(r) {\n if (t)\n return n.find((s) => r === s || r === t[s].attribute);\n }\n get renderRoot() {\n return this.shadowRoot || this.attachShadow({\n mode: \"open\"\n });\n }\n addReleaseCallback(r) {\n this.__releaseCallbacks.push(r);\n }\n addPropertyChangedCallback(r) {\n this.__propertyChangedCallbacks.push(r);\n }\n };\n}\nfunction ht(e, t = {}, n = {}) {\n const {\n BaseElement: i = HTMLElement,\n extension: r\n } = n;\n return (s) => {\n if (!e)\n throw new Error(\"tag is required to register a Component\");\n let l = customElements.get(e);\n return l ? (l.prototype.Component = s, l) : (l = ft(i, ot(t)), l.prototype.Component = s, l.prototype.registeredTag = e, customElements.define(e, l, r), l);\n };\n}\nconst pt = (e, t) => e === t, me = Symbol(\"solid-proxy\"), yt = Symbol(\"solid-track\"), J = {\n equals: pt\n};\nlet Re = De;\nconst M = 1, Q = 2, Ie = {\n owned: null,\n cleanups: null,\n context: null,\n owner: null\n};\nvar w = null;\nlet de = null, gt = null, m = null, S = null, I = null, ne = 0;\nfunction Z(e, t) {\n const n = m, i = w, r = e.length === 0, s = t === void 0 ? i : t, l = r ? Ie : {\n owned: null,\n cleanups: null,\n context: s ? s.context : null,\n owner: s\n }, o = r ? e : () => e(() => T(() => ie(l)));\n w = l, m = null;\n try {\n return V(o, !0);\n } finally {\n m = n, w = i;\n }\n}\nfunction j(e, t) {\n t = t ? Object.assign({}, J, t) : J;\n const n = {\n value: e,\n observers: null,\n observerSlots: null,\n comparator: t.equals || void 0\n }, i = (r) => (typeof r == \"function\" && (r = r(n.value)), Be(n, r));\n return [Ke.bind(n), i];\n}\nfunction A(e, t, n) {\n const i = _e(e, t, !1, M);\n q(i);\n}\nfunction Fe(e, t, n) {\n Re = Ct;\n const i = _e(e, t, !1, M);\n (!n || !n.render) && (i.user = !0), I ? I.push(i) : q(i);\n}\nfunction F(e, t, n) {\n n = n ? Object.assign({}, J, n) : J;\n const i = _e(e, t, !0, 0);\n return i.observers = null, i.observerSlots = null, i.comparator = n.equals || void 0, q(i), Ke.bind(i);\n}\nfunction mt(e) {\n return V(e, !1);\n}\nfunction T(e) {\n if (m === null)\n return e();\n const t = m;\n m = null;\n try {\n return e();\n } finally {\n m = t;\n }\n}\nfunction bt(e) {\n Fe(() => T(e));\n}\nfunction Me(e) {\n return w === null || (w.cleanups === null ? w.cleanups = [e] : w.cleanups.push(e)), e;\n}\nfunction wt(e) {\n const t = F(e), n = F(() => be(t()));\n return n.toArray = () => {\n const i = n();\n return Array.isArray(i) ? i : i != null ? [i] : [];\n }, n;\n}\nfunction Ke() {\n if (this.sources && this.state)\n if (this.state === M)\n q(this);\n else {\n const e = S;\n S = null, V(() => te(this), !1), S = e;\n }\n if (m) {\n const e = this.observers ? this.observers.length : 0;\n m.sources ? (m.sources.push(this), m.sourceSlots.push(e)) : (m.sources = [this], m.sourceSlots = [e]), this.observers ? (this.observers.push(m), this.observerSlots.push(m.sources.length - 1)) : (this.observers = [m], this.observerSlots = [m.sources.length - 1]);\n }\n return this.value;\n}\nfunction Be(e, t, n) {\n let i = e.value;\n return (!e.comparator || !e.comparator(i, t)) && (e.value = t, e.observers && e.observers.length && V(() => {\n for (let r = 0; r < e.observers.length; r += 1) {\n const s = e.observers[r], l = de && de.running;\n l && de.disposed.has(s), (l ? !s.tState : !s.state) && (s.pure ? S.push(s) : I.push(s), s.observers && Ue(s)), l || (s.state = M);\n }\n if (S.length > 1e6)\n throw S = [], new Error();\n }, !1)), t;\n}\nfunction q(e) {\n if (!e.fn)\n return;\n ie(e);\n const t = ne;\n vt(\n e,\n e.value,\n t\n );\n}\nfunction vt(e, t, n) {\n let i;\n const r = w, s = m;\n m = w = e;\n try {\n i = e.fn(t);\n } catch (l) {\n return e.pure && (e.state = M, e.owned && e.owned.forEach(ie), e.owned = null), e.updatedAt = n + 1, We(l);\n } finally {\n m = s, w = r;\n }\n (!e.updatedAt || e.updatedAt <= n) && (e.updatedAt != null && \"observers\" in e ? Be(e, i) : e.value = i, e.updatedAt = n);\n}\nfunction _e(e, t, n, i = M, r) {\n const s = {\n fn: e,\n state: i,\n updatedAt: null,\n owned: null,\n sources: null,\n sourceSlots: null,\n cleanups: null,\n value: t,\n owner: w,\n context: w ? w.context : null,\n pure: n\n };\n return w === null || w !== Ie && (w.owned ? w.owned.push(s) : w.owned = [s]), s;\n}\nfunction ee(e) {\n if (e.state === 0)\n return;\n if (e.state === Q)\n return te(e);\n if (e.suspense && T(e.suspense.inFallback))\n return e.suspense.effects.push(e);\n const t = [e];\n for (; (e = e.owner) && (!e.updatedAt || e.updatedAt < ne); )\n e.state && t.push(e);\n for (let n = t.length - 1; n >= 0; n--)\n if (e = t[n], e.state === M)\n q(e);\n else if (e.state === Q) {\n const i = S;\n S = null, V(() => te(e, t[0]), !1), S = i;\n }\n}\nfunction V(e, t) {\n if (S)\n return e();\n let n = !1;\n t || (S = []), I ? n = !0 : I = [], ne++;\n try {\n const i = e();\n return xt(n), i;\n } catch (i) {\n n || (I = null), S = null, We(i);\n }\n}\nfunction xt(e) {\n if (S && (De(S), S = null), e)\n return;\n const t = I;\n I = null, t.length && V(() => Re(t), !1);\n}\nfunction De(e) {\n for (let t = 0; t < e.length; t++)\n ee(e[t]);\n}\nfunction Ct(e) {\n let t, n = 0;\n for (t = 0; t < e.length; t++) {\n const i = e[t];\n i.user ? e[n++] = i : ee(i);\n }\n for (t = 0; t < n; t++)\n ee(e[t]);\n}\nfunction te(e, t) {\n e.state = 0;\n for (let n = 0; n < e.sources.length; n += 1) {\n const i = e.sources[n];\n if (i.sources) {\n const r = i.state;\n r === M ? i !== t && (!i.updatedAt || i.updatedAt < ne) && ee(i) : r === Q && te(i, t);\n }\n }\n}\nfunction Ue(e) {\n for (let t = 0; t < e.observers.length; t += 1) {\n const n = e.observers[t];\n n.state || (n.state = Q, n.pure ? S.push(n) : I.push(n), n.observers && Ue(n));\n }\n}\nfunction ie(e) {\n let t;\n if (e.sources)\n for (; e.sources.length; ) {\n const n = e.sources.pop(), i = e.sourceSlots.pop(), r = n.observers;\n if (r && r.length) {\n const s = r.pop(), l = n.observerSlots.pop();\n i < r.length && (s.sourceSlots[l] = i, r[i] = s, n.observerSlots[i] = l);\n }\n }\n if (e.owned) {\n for (t = e.owned.length - 1; t >= 0; t--)\n ie(e.owned[t]);\n e.owned = null;\n }\n if (e.cleanups) {\n for (t = e.cleanups.length - 1; t >= 0; t--)\n e.cleanups[t]();\n e.cleanups = null;\n }\n e.state = 0;\n}\nfunction Pt(e) {\n return e instanceof Error ? e : new Error(typeof e == \"string\" ? e : \"Unknown error\", {\n cause: e\n });\n}\nfunction We(e, t = w) {\n throw Pt(e);\n}\nfunction be(e) {\n if (typeof e == \"function\" && !e.length)\n return be(e());\n if (Array.isArray(e)) {\n const t = [];\n for (let n = 0; n < e.length; n++) {\n const i = be(e[n]);\n Array.isArray(i) ? t.push.apply(t, i) : t.push(i);\n }\n return t;\n }\n return e;\n}\nconst St = Symbol(\"fallback\");\nfunction Ae(e) {\n for (let t = 0; t < e.length; t++)\n e[t]();\n}\nfunction _t(e, t, n = {}) {\n let i = [], r = [], s = [], l = 0, o = t.length > 1 ? [] : null;\n return Me(() => Ae(s)), () => {\n let c = e() || [], f, a;\n return c[yt], T(() => {\n let d = c.length, h, v, y, z, $, P, _, E, R;\n if (d === 0)\n l !== 0 && (Ae(s), s = [], i = [], r = [], l = 0, o && (o = [])), n.fallback && (i = [St], r[0] = Z((se) => (s[0] = se, n.fallback())), l = 1);\n else if (l === 0) {\n for (r = new Array(d), a = 0; a < d; a++)\n i[a] = c[a], r[a] = Z(u);\n l = d;\n } else {\n for (y = new Array(d), z = new Array(d), o && ($ = new Array(d)), P = 0, _ = Math.min(l, d); P < _ && i[P] === c[P]; P++)\n ;\n for (_ = l - 1, E = d - 1; _ >= P && E >= P && i[_] === c[E]; _--, E--)\n y[E] = r[_], z[E] = s[_], o && ($[E] = o[_]);\n for (h = /* @__PURE__ */ new Map(), v = new Array(E + 1), a = E; a >= P; a--)\n R = c[a], f = h.get(R), v[a] = f === void 0 ? -1 : f, h.set(R, a);\n for (f = P; f <= _; f++)\n R = i[f], a = h.get(R), a !== void 0 && a !== -1 ? (y[a] = r[f], z[a] = s[f], o && ($[a] = o[f]), a = v[a], h.set(R, a)) : s[f]();\n for (a = P; a < d; a++)\n a in y ? (r[a] = y[a], s[a] = z[a], o && (o[a] = $[a], o[a](a))) : r[a] = Z(u);\n r = r.slice(0, l = d), i = c.slice(0);\n }\n return r;\n });\n function u(d) {\n if (s[a] = d, o) {\n const [h, v] = j(a);\n return o[a] = v, t(c[a], h);\n }\n return t(c[a]);\n }\n };\n}\nfunction g(e, t) {\n return T(() => e(t || {}));\n}\nfunction Y() {\n return !0;\n}\nconst Et = {\n get(e, t, n) {\n return t === me ? n : e.get(t);\n },\n has(e, t) {\n return t === me ? !0 : e.has(t);\n },\n set: Y,\n deleteProperty: Y,\n getOwnPropertyDescriptor(e, t) {\n return {\n configurable: !0,\n enumerable: !0,\n get() {\n return e.get(t);\n },\n set: Y,\n deleteProperty: Y\n };\n },\n ownKeys(e) {\n return e.keys();\n }\n};\nfunction fe(e) {\n return (e = typeof e == \"function\" ? e() : e) ? e : {};\n}\nfunction kt() {\n for (let e = 0, t = this.length; e < t; ++e) {\n const n = this[e]();\n if (n !== void 0)\n return n;\n }\n}\nfunction $t(...e) {\n let t = !1;\n for (let l = 0; l < e.length; l++) {\n const o = e[l];\n t = t || !!o && me in o, e[l] = typeof o == \"function\" ? (t = !0, F(o)) : o;\n }\n if (t)\n return new Proxy(\n {\n get(l) {\n for (let o = e.length - 1; o >= 0; o--) {\n const c = fe(e[o])[l];\n if (c !== void 0)\n return c;\n }\n },\n has(l) {\n for (let o = e.length - 1; o >= 0; o--)\n if (l in fe(e[o]))\n return !0;\n return !1;\n },\n keys() {\n const l = [];\n for (let o = 0; o < e.length; o++)\n l.push(...Object.keys(fe(e[o])));\n return [...new Set(l)];\n }\n },\n Et\n );\n const n = {}, i = /* @__PURE__ */ Object.create(null);\n for (let l = e.length - 1; l >= 0; l--) {\n const o = e[l];\n if (!o)\n continue;\n const c = Object.getOwnPropertyNames(o);\n for (let f = c.length - 1; f >= 0; f--) {\n const a = c[f];\n if (a === \"__proto__\" || a === \"constructor\")\n continue;\n const u = Object.getOwnPropertyDescriptor(o, a);\n if (!i[a])\n i[a] = u.get ? {\n enumerable: !0,\n configurable: !0,\n get: kt.bind(n[a] = [u.get.bind(o)])\n } : u.value !== void 0 ? u : void 0;\n else {\n const d = n[a];\n d && (u.get ? d.push(u.get.bind(o)) : u.value !== void 0 && d.push(() => u.value));\n }\n }\n }\n const r = {}, s = Object.keys(i);\n for (let l = s.length - 1; l >= 0; l--) {\n const o = s[l], c = i[o];\n c && c.get ? Object.defineProperty(r, o, c) : r[o] = c ? c.value : void 0;\n }\n return r;\n}\nconst Ve = (e) => `Stale read from <${e}>.`;\nfunction At(e) {\n const t = \"fallback\" in e && {\n fallback: () => e.fallback\n };\n return F(_t(() => e.each, e.children, t || void 0));\n}\nfunction he(e) {\n const t = e.keyed, n = F(() => e.when, void 0, {\n equals: (i, r) => t ? i === r : !i == !r\n });\n return F(\n () => {\n const i = n();\n if (i) {\n const r = e.children;\n return typeof r == \"function\" && r.length > 0 ? T(\n () => r(\n t ? i : () => {\n if (!T(n))\n throw Ve(\"Show\");\n return e.when;\n }\n )\n ) : r;\n }\n return e.fallback;\n },\n void 0,\n void 0\n );\n}\nfunction Lt(e) {\n let t = !1;\n const n = (s, l) => (t ? s[1] === l[1] : !s[1] == !l[1]) && s[2] === l[2], i = wt(() => e.children), r = F(\n () => {\n let s = i();\n Array.isArray(s) || (s = [s]);\n for (let l = 0; l < s.length; l++) {\n const o = s[l].when;\n if (o)\n return t = !!s[l].keyed, [l, o, s[l]];\n }\n return [-1];\n },\n void 0,\n {\n equals: n\n }\n );\n return F(\n () => {\n const [s, l, o] = r();\n if (s < 0)\n return e.fallback;\n const c = o.children;\n return typeof c == \"function\" && c.length > 0 ? T(\n () => c(\n t ? l : () => {\n if (T(r)[0] !== s)\n throw Ve(\"Match\");\n return o.when;\n }\n )\n ) : c;\n },\n void 0,\n void 0\n );\n}\nfunction pe(e) {\n return e;\n}\nconst Ot = [\n \"allowfullscreen\",\n \"async\",\n \"autofocus\",\n \"autoplay\",\n \"checked\",\n \"controls\",\n \"default\",\n \"disabled\",\n \"formnovalidate\",\n \"hidden\",\n \"indeterminate\",\n \"inert\",\n \"ismap\",\n \"loop\",\n \"multiple\",\n \"muted\",\n \"nomodule\",\n \"novalidate\",\n \"open\",\n \"playsinline\",\n \"readonly\",\n \"required\",\n \"reversed\",\n \"seamless\",\n \"selected\"\n], jt = /* @__PURE__ */ new Set([\n \"className\",\n \"value\",\n \"readOnly\",\n \"formNoValidate\",\n \"isMap\",\n \"noModule\",\n \"playsInline\",\n ...Ot\n]), Tt = /* @__PURE__ */ new Set([\n \"innerHTML\",\n \"textContent\",\n \"innerText\",\n \"children\"\n]), Nt = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {\n className: \"class\",\n htmlFor: \"for\"\n}), zt = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {\n class: \"className\",\n formnovalidate: {\n $: \"formNoValidate\",\n BUTTON: 1,\n INPUT: 1\n },\n ismap: {\n $: \"isMap\",\n IMG: 1\n },\n nomodule: {\n $: \"noModule\",\n SCRIPT: 1\n },\n playsinline: {\n $: \"playsInline\",\n VIDEO: 1\n },\n readonly: {\n $: \"readOnly\",\n INPUT: 1,\n TEXTAREA: 1\n }\n});\nfunction Rt(e, t) {\n const n = zt[e];\n return typeof n == \"object\" ? n[t] ? n.$ : void 0 : n;\n}\nconst It = /* @__PURE__ */ new Set([\n \"beforeinput\",\n \"click\",\n \"dblclick\",\n \"contextmenu\",\n \"focusin\",\n \"focusout\",\n \"input\",\n \"keydown\",\n \"keyup\",\n \"mousedown\",\n \"mousemove\",\n \"mouseout\",\n \"mouseover\",\n \"mouseup\",\n \"pointerdown\",\n \"pointermove\",\n \"pointerout\",\n \"pointerover\",\n \"pointerup\",\n \"touchend\",\n \"touchmove\",\n \"touchstart\"\n]), Ft = {\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\"\n};\nfunction Mt(e, t, n) {\n let i = n.length, r = t.length, s = i, l = 0, o = 0, c = t[r - 1].nextSibling, f = null;\n for (; l < r || o < s; ) {\n if (t[l] === n[o]) {\n l++, o++;\n continue;\n }\n for (; t[r - 1] === n[s - 1]; )\n r--, s--;\n if (r === l) {\n const a = s < i ? o ? n[o - 1].nextSibling : n[s - o] : c;\n for (; o < s; )\n e.insertBefore(n[o++], a);\n } else if (s === o)\n for (; l < r; )\n (!f || !f.has(t[l])) && t[l].remove(), l++;\n else if (t[l] === n[s - 1] && n[o] === t[r - 1]) {\n const a = t[--r].nextSibling;\n e.insertBefore(n[o++], t[l++].nextSibling), e.insertBefore(n[--s], a), t[r] = n[s];\n } else {\n if (!f) {\n f = /* @__PURE__ */ new Map();\n let u = o;\n for (; u < s; )\n f.set(n[u], u++);\n }\n const a = f.get(t[l]);\n if (a != null)\n if (o < a && a < s) {\n let u = l, d = 1, h;\n for (; ++u < r && u < s && !((h = f.get(t[u])) == null || h !== a + d); )\n d++;\n if (d > a - o) {\n const v = t[l];\n for (; o < a; )\n e.insertBefore(n[o++], v);\n } else\n e.replaceChild(n[o++], t[l++]);\n } else\n l++;\n else\n t[l++].remove();\n }\n }\n}\nconst Le = \"_$DX_DELEGATE\";\nfunction C(e, t, n) {\n let i;\n const r = () => {\n const l = document.createElement(\"template\");\n return l.innerHTML = e, n ? l.content.firstChild.firstChild : l.content.firstChild;\n }, s = t ? () => T(() => document.importNode(i || (i = r()), !0)) : () => (i || (i = r())).cloneNode(!0);\n return s.cloneNode = s, s;\n}\nfunction Kt(e, t = window.document) {\n const n = t[Le] || (t[Le] = /* @__PURE__ */ new Set());\n for (let i = 0, r = e.length; i < r; i++) {\n const s = e[i];\n n.has(s) || (n.add(s), t.addEventListener(s, Ht));\n }\n}\nfunction N(e, t, n) {\n n == null ? e.removeAttribute(t) : e.setAttribute(t, n);\n}\nfunction Bt(e, t, n, i) {\n i == null ? e.removeAttributeNS(t, n) : e.setAttributeNS(t, n, i);\n}\nfunction Dt(e, t) {\n t == null ? e.removeAttribute(\"class\") : e.className = t;\n}\nfunction Ut(e, t, n, i) {\n if (i)\n Array.isArray(n) ? (e[`$$${t}`] = n[0], e[`$$${t}Data`] = n[1]) : e[`$$${t}`] = n;\n else if (Array.isArray(n)) {\n const r = n[0];\n e.addEventListener(t, n[0] = (s) => r.call(e, n[1], s));\n } else\n e.addEventListener(t, n);\n}\nfunction Wt(e, t, n = {}) {\n const i = Object.keys(t || {}), r = Object.keys(n);\n let s, l;\n for (s = 0, l = r.length; s < l; s++) {\n const o = r[s];\n !o || o === \"undefined\" || t[o] || (Oe(e, o, !1), delete n[o]);\n }\n for (s = 0, l = i.length; s < l; s++) {\n const o = i[s], c = !!t[o];\n !o || o === \"undefined\" || n[o] === c || !c || (Oe(e, o, !0), n[o] = c);\n }\n return n;\n}\nfunction L(e, t, n) {\n if (!t)\n return n ? N(e, \"style\") : t;\n const i = e.style;\n if (typeof t == \"string\")\n return i.cssText = t;\n typeof n == \"string\" && (i.cssText = n = void 0), n || (n = {}), t || (t = {});\n let r, s;\n for (s in n)\n t[s] == null && i.removeProperty(s), delete n[s];\n for (s in t)\n r = t[s], r !== n[s] && (i.setProperty(s, r), n[s] = r);\n return n;\n}\nfunction Vt(e, t = {}, n, i) {\n const r = {};\n return i || A(\n () => r.children = U(e, t.children, r.children)\n ), A(() => t.ref && t.ref(e)), A(() => Xt(e, t, n, !0, r, !0)), r;\n}\nfunction ye(e, t, n) {\n return T(() => e(t, n));\n}\nfunction b(e, t, n, i) {\n if (n !== void 0 && !i && (i = []), typeof t != \"function\")\n return U(e, t, i, n);\n A((r) => U(e, t(), r, n), i);\n}\nfunction Xt(e, t, n, i, r = {}, s = !1) {\n t || (t = {});\n for (const l in r)\n if (!(l in t)) {\n if (l === \"children\")\n continue;\n r[l] = je(e, l, null, r[l], n, s);\n }\n for (const l in t) {\n if (l === \"children\") {\n i || U(e, t.children);\n continue;\n }\n const o = t[l];\n r[l] = je(e, l, o, r[l], n, s);\n }\n}\nfunction qt(e) {\n return e.toLowerCase().replace(/-([a-z])/g, (t, n) => n.toUpperCase());\n}\nfunction Oe(e, t, n) {\n const i = t.trim().split(/\\s+/);\n for (let r = 0, s = i.length; r < s; r++)\n e.classList.toggle(i[r], n);\n}\nfunction je(e, t, n, i, r, s) {\n let l, o, c, f, a;\n if (t === \"style\")\n return L(e, n, i);\n if (t === \"classList\")\n return Wt(e, n, i);\n if (n === i)\n return i;\n if (t === \"ref\")\n s || n(e);\n else if (t.slice(0, 3) === \"on:\") {\n const u = t.slice(3);\n i && e.removeEventListener(u, i), n && e.addEventListener(u, n);\n } else if (t.slice(0, 10) === \"oncapture:\") {\n const u = t.slice(10);\n i && e.removeEventListener(u, i, !0), n && e.addEventListener(u, n, !0);\n } else if (t.slice(0, 2) === \"on\") {\n const u = t.slice(2).toLowerCase(), d = It.has(u);\n if (!d && i) {\n const h = Array.isArray(i) ? i[0] : i;\n e.removeEventListener(u, h);\n }\n (d || n) && (Ut(e, u, n, d), d && Kt([u]));\n } else if (t.slice(0, 5) === \"attr:\")\n N(e, t.slice(5), n);\n else if ((a = t.slice(0, 5) === \"prop:\") || (c = Tt.has(t)) || !r && ((f = Rt(t, e.tagName)) || (o = jt.has(t))) || (l = e.nodeName.includes(\"-\")))\n a && (t = t.slice(5), o = !0), t === \"class\" || t === \"className\" ? Dt(e, n) : l && !o && !c ? e[qt(t)] = n : e[f || t] = n;\n else {\n const u = r && t.indexOf(\":\") > -1 && Ft[t.split(\":\")[0]];\n u ? Bt(e, u, t, n) : N(e, Nt[t] || t, n);\n }\n return n;\n}\nfunction Ht(e) {\n const t = `$$${e.type}`;\n let n = e.composedPath && e.composedPath()[0] || e.target;\n for (e.target !== n && Object.defineProperty(e, \"target\", {\n configurable: !0,\n value: n\n }), Object.defineProperty(e, \"currentTarget\", {\n configurable: !0,\n get() {\n return n || document;\n }\n }); n; ) {\n const i = n[t];\n if (i && !n.disabled) {\n const r = n[`${t}Data`];\n if (r !== void 0 ? i.call(n, r, e) : i.call(n, e), e.cancelBubble)\n return;\n }\n n = n._$host || n.parentNode || n.host;\n }\n}\nfunction U(e, t, n, i, r) {\n for (; typeof n == \"function\"; )\n n = n();\n if (t === n)\n return n;\n const s = typeof t, l = i !== void 0;\n if (e = l && n[0] && n[0].parentNode || e, s === \"string\" || s === \"number\")\n if (s === \"number\" && (t = t.toString()), l) {\n let o = n[0];\n o && o.nodeType === 3 ? o.data !== t && (o.data = t) : o = document.createTextNode(t), n = D(e, n, i, o);\n } else\n n !== \"\" && typeof n == \"string\" ? n = e.firstChild.data = t : n = e.textContent = t;\n else if (t == null || s === \"boolean\")\n n = D(e, n, i);\n else {\n if (s === \"function\")\n return A(() => {\n let o = t();\n for (; typeof o == \"function\"; )\n o = o();\n n = U(e, o, n, i);\n }), () => n;\n if (Array.isArray(t)) {\n const o = [], c = n && Array.isArray(n);\n if (we(o, t, n, r))\n return A(() => n = U(e, o, n, i, !0)), () => n;\n if (o.length === 0) {\n if (n = D(e, n, i), l)\n return n;\n } else\n c ? n.length === 0 ? Te(e, o, i) : Mt(e, n, o) : (n && D(e), Te(e, o));\n n = o;\n } else if (t.nodeType) {\n if (Array.isArray(n)) {\n if (l)\n return n = D(e, n, i, t);\n D(e, n, null, t);\n } else\n n == null || n === \"\" || !e.firstChild ? e.appendChild(t) : e.replaceChild(t, e.firstChild);\n n = t;\n }\n }\n return n;\n}\nfunction we(e, t, n, i) {\n let r = !1;\n for (let s = 0, l = t.length; s < l; s++) {\n let o = t[s], c = n && n[e.length], f;\n if (!(o == null || o === !0 || o === !1))\n if ((f = typeof o) == \"object\" && o.nodeType)\n e.push(o);\n else if (Array.isArray(o))\n r = we(e, o, c) || r;\n else if (f === \"function\")\n if (i) {\n for (; typeof o == \"function\"; )\n o = o();\n r = we(\n e,\n Array.isArray(o) ? o : [o],\n Array.isArray(c) ? c : [c]\n ) || r;\n } else\n e.push(o), r = !0;\n else {\n const a = String(o);\n c && c.nodeType === 3 && c.data === a ? e.push(c) : e.push(document.createTextNode(a));\n }\n }\n return r;\n}\nfunction Te(e, t, n = null) {\n for (let i = 0, r = t.length; i < r; i++)\n e.insertBefore(t[i], n);\n}\nfunction D(e, t, n, i) {\n if (n === void 0)\n return e.textContent = \"\";\n const r = i || document.createTextNode(\"\");\n if (t.length) {\n let s = !1;\n for (let l = t.length - 1; l >= 0; l--) {\n const o = t[l];\n if (r !== o) {\n const c = o.parentNode === e;\n !s && !l ? c ? e.replaceChild(r, o) : e.insertBefore(r, n) : c && o.remove();\n } else\n s = !0;\n }\n } else\n e.insertBefore(r, n);\n return [r];\n}\nfunction Yt(e) {\n const t = Object.keys(e), n = {};\n for (let i = 0; i < t.length; i++) {\n const [r, s] = j(e[t[i]]);\n Object.defineProperty(n, t[i], {\n get: r,\n set(l) {\n s(() => l);\n }\n });\n }\n return n;\n}\nfunction Gt(e) {\n if (e.assignedSlot && e.assignedSlot._$owner)\n return e.assignedSlot._$owner;\n let t = e.parentNode;\n for (; t && !t._$owner && !(t.assignedSlot && t.assignedSlot._$owner); )\n t = t.parentNode;\n return t && t.assignedSlot ? t.assignedSlot._$owner : e._$owner;\n}\nfunction Zt(e) {\n return (t, n) => {\n const { element: i } = n;\n return Z((r) => {\n const s = Yt(t);\n i.addPropertyChangedCallback((o, c) => s[o] = c), i.addReleaseCallback(() => {\n i.renderRoot.textContent = \"\", r();\n });\n const l = e(s, n);\n return b(i.renderRoot, l);\n }, Gt(i));\n };\n}\nfunction Jt(e, t, n) {\n return arguments.length === 2 && (n = t, t = {}), ht(e, t)(Zt(n));\n}\nconst ve = \"sats-connect_wallet-provider-selector_select\", xe = \"sats-connect_wallet-provider-selector_cancel\", Ce = \"sats-connect_wallet-provider-selector_open\", Pe = \"sats-connect_wallet-provider-selector_close\", Xe = \"sats-connect_wallet-provider-selector_walletOpen\", qe = \"sats-connect_wallet-provider-selector_walletClose\", re = {\n color: \"#181818\",\n \"font-size\": \"18px\",\n \"font-weight\": \"700\",\n \"line-height\": \"1.4\"\n}, W = {\n color: \"#181818\",\n \"font-size\": \"14px\",\n \"font-weight\": \"400\",\n \"line-height\": \"1.4\"\n}, Qt = {\n color: \"#181818\",\n \"font-size\": \"14px\",\n \"font-weight\": \"500\"\n};\nvar en = /* @__PURE__ */ C('<svg width=24 height=24 viewBox=\"0 0 24 24\"fill=none xmlns=http://www.w3.org/2000/svg><g id=XCircle><path id=Vector d=\"M12 2.25C10.0716 2.25 8.18657 2.82183 6.58319 3.89317C4.97982 4.96451 3.73013 6.48726 2.99218 8.26884C2.25422 10.0504 2.06114 12.0108 2.43735 13.9021C2.81355 15.7934 3.74215 17.5307 5.10571 18.8943C6.46928 20.2579 8.20656 21.1865 10.0979 21.5627C11.9892 21.9389 13.9496 21.7458 15.7312 21.0078C17.5127 20.2699 19.0355 19.0202 20.1068 17.4168C21.1782 15.8134 21.75 13.9284 21.75 12C21.745 9.41566 20.7162 6.93859 18.8888 5.11118C17.0614 3.28378 14.5843 2.25496 12 2.25ZM15.5344 14.4656C15.6752 14.6078 15.7542 14.7999 15.7542 15C15.7542 15.2001 15.6752 15.3922 15.5344 15.5344C15.391 15.673 15.1994 15.7505 15 15.7505C14.8006 15.7505 14.609 15.673 14.4656 15.5344L12 13.0594L9.53438 15.5344C9.39102 15.673 9.19942 15.7505 9 15.7505C8.80059 15.7505 8.60898 15.673 8.46563 15.5344C8.32479 15.3922 8.24578 15.2001 8.24578 15C8.24578 14.7999 8.32479 14.6078 8.46563 14.4656L10.9406 12L8.46563 9.53437C8.34603 9.38865 8.28491 9.20366 8.29416 9.01537C8.30341 8.82708 8.38236 8.64896 8.51566 8.51566C8.64896 8.38236 8.82708 8.3034 9.01537 8.29416C9.20366 8.28491 9.38866 8.34603 9.53438 8.46563L12 10.9406L14.4656 8.46563C14.6114 8.34603 14.7963 8.28491 14.9846 8.29416C15.1729 8.3034 15.351 8.38236 15.4843 8.51566C15.6176 8.64896 15.6966 8.82708 15.7058 9.01537C15.7151 9.20366 15.654 9.38865 15.5344 9.53437L13.0594 12L15.5344 14.4656Z\"fill=black fill-opacity=0.3>'), tn = /* @__PURE__ */ C(`<style>\n .close-selector-button:focus-visible {\n outline: 2px solid #181818;\n outline-offset: -0.25px;\n }\n `), nn = /* @__PURE__ */ C(\"<div role=button tabindex=0 class=close-selector-button>\");\nfunction rn(e) {\n return (() => {\n var t = en();\n return t.style.setProperty(\"display\", \"block\"), Vt(t, e, !0, !0), t;\n })();\n}\nfunction sn(e) {\n function t(n) {\n (n.key === \"Enter\" || n.key === \" \") && e.onClose();\n }\n return [tn(), (() => {\n var n = nn();\n return n.style.setProperty(\"position\", \"absolute\"), n.style.setProperty(\"top\", \"16px\"), n.style.setProperty(\"right\", \"16px\"), n.style.setProperty(\"background\", \"none\"), n.style.setProperty(\"border\", \"none\"), n.style.setProperty(\"cursor\", \"pointer\"), n.style.setProperty(\"padding\", \"0\"), n.style.setProperty(\"margin\", \"0\"), n.style.setProperty(\"border-radius\", \"50%\"), n.addEventListener(\"click\", e.onClose), n.addEventListener(\"keydown\", t), b(n, g(rn, {})), n;\n })()];\n}\nvar on = /* @__PURE__ */ C(`<style>\n/*! modern-normalize v2.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n::before,\n::after {\n\tbox-sizing: border-box;\n\tmargin: 0; /* Remove all margins from everywhere. */\n}\n\n:host {\n\t/* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */\n\tfont-family:\n\t\t'DM Sans', /* Note: not part of modern-normalize, added specifically for this project. */\n\t\tsystem-ui,\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n\tline-height: 1.15; /* 1. Correct the line height in all browsers. */\n\t-webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */\n\t-moz-tab-size: 4; /* 3. Use a more readable tab size (opinionated). */\n\ttab-size: 4; /* 3 */\n}\n\n/*\nSections\n========\n*/\n\n:host {\n\tmargin: 0; /* Remove the margin in all browsers. */\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n\theight: 0; /* 1 */\n\tcolor: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n\ttext-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n\tfont-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n\tfont-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n\tfont-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n\tfont-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n\tfont-size: 75%;\n\tline-height: 0;\n\tposition: relative;\n\tvertical-align: baseline;\n}\n\nsub {\n\tbottom: -0.25em;\n}\n\nsup {\n\ttop: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n\ttext-indent: 0; /* 1 */\n\tborder-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n\tfont-family: inherit; /* 1 */\n\tfont-size: 100%; /* 1 */\n\tline-height: 1.15; /* 1 */\n\tmargin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n\ttext-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n\t-webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n::-moz-focus-inner {\n\tborder-style: none;\n\tpadding: 0;\n}\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n:-moz-focusring {\n\toutline: 1px dotted ButtonText;\n}\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n:-moz-ui-invalid {\n\tbox-shadow: none;\n}\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n\tpadding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n\tvertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n\theight: auto;\n}\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n\t-webkit-appearance: textfield; /* 1 */\n\toutline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n\t-webkit-appearance: none;\n}\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n::-webkit-file-upload-button {\n\t-webkit-appearance: button; /* 1 */\n\tfont: inherit; /* 2 */\n}\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n\tdisplay: list-item;\n}\n`);\nfunction ln() {\n return on();\n}\nvar an = /* @__PURE__ */ C(\"<div class=divider><div>\");\nfunction cn() {\n return (() => {\n var e = an(), t = e.firstChild;\n return t.style.setProperty(\"height\", \"100%\"), t.style.setProperty(\"width\", \"1px\"), t.style.setProperty(\"background\", \"#dcdcdc\"), e;\n })();\n}\nvar un = /* @__PURE__ */ C(\"<div>\");\nfunction dn(e) {\n return (() => {\n var t = un();\n return t.style.setProperty(\"padding\", \"24px\"), t.style.setProperty(\"height\", \"100%\"), b(t, () => e.children), t;\n })();\n}\nvar fn = /* @__PURE__ */ C(\"<div>\");\nfunction hn(e) {\n return (() => {\n var t = fn();\n return t.style.setProperty(\"display\", \"flex\"), t.style.setProperty(\"flex-direction\", \"column\"), t.style.setProperty(\"justify-content\", \"center\"), t.style.setProperty(\"align-items\", \"center\"), t.style.setProperty(\"height\", \"100%\"), b(t, () => e.children), t;\n })();\n}\nvar pn = /* @__PURE__ */ C(\"<div><div>🤔</div><div>What is a wallet?</div><p>Wallets let you send, receive, store and display digital assets like Bitcoin, Stacks, Ordinals & NFTs.</p><p>Explore Bitcoin apps by connecting your wallet.\");\nfunction yn() {\n return (() => {\n var e = pn(), t = e.firstChild, n = t.nextSibling, i = n.nextSibling, r = i.nextSibling;\n return e.style.setProperty(\"display\", \"flex\"), e.style.setProperty(\"flex-direction\", \"column\"), e.style.setProperty(\"row-gap\", \"8px\"), e.style.setProperty(\"justify-content\", \"center\"), e.style.setProperty(\"align-items\", \"center\"), t.style.setProperty(\"font-size\", \"50px\"), t.style.setProperty(\"line-height\", \"140%\"), A((s) => {\n var l = re, o = W, c = W;\n return s.e = L(n, l, s.e), s.t = L(i, o, s.t), s.a = L(r, c, s.a), s;\n }, {\n e: void 0,\n t: void 0,\n a: void 0\n }), e;\n })();\n}\nfunction Se(e) {\n var n;\n const t = (n = e.installPrompt) == null ? void 0 : n.url;\n if (!t) {\n console.error(\"No install prompt URL found for\", e.id);\n return;\n }\n window.open(t, \"_blank\");\n}\nvar gn = /* @__PURE__ */ C(`<style>\n .install-prompt-button:focus-visible {\n outline: 2px solid #181818;\n outline-offset: 2px;\n }\n `), mn = /* @__PURE__ */ C(\"<div><img><h1>Don't have <!>?</h1><p>Download it on the Chrome web store.</p><div class=install-prompt-button role=button tabindex=0>Get\");\nfunction bn(e) {\n function t(i) {\n (i.key === \"Enter\" || i.key === \" \") && Se(e.option);\n }\n function n() {\n Se(e.option);\n }\n return [gn(), (() => {\n var i = mn(), r = i.firstChild, s = r.nextSibling, l = s.firstChild, o = l.nextSibling;\n o.nextSibling;\n var c = s.nextSibling, f = c.nextSibling;\n return i.style.setProperty(\"display\", \"flex\"), i.style.setProperty(\"flex-direction\", \"column\"), i.style.setProperty(\"align-items\", \"center\"), i.style.setProperty(\"row-gap\", \"16px\"), r.style.setProperty(\"border-radius\", \"12px\"), r.style.setProperty(\"height\", \"64px\"), r.style.setProperty(\"width\", \"64px\"), r.style.setProperty(\"object-fit\", \"cover\"), b(s, () => e.option.name, o), f.addEventListener(\"click\", n), f.addEventListener(\"keydown\", t), A((a) => {\n var u = e.option.icon, d = e.option.name, h = {\n ...re,\n \"text-align\": \"center\"\n }, v = W, y = {\n ...Qt,\n cursor: \"pointer\",\n \"border-radius\": \"12px\",\n background: \"#181818\",\n color: \"white\",\n padding: \"12px 16px\"\n };\n return u !== a.e && N(r, \"src\", a.e = u), d !== a.t && N(r, \"alt\", a.t = d), a.a = L(s, h, a.a), a.o = L(c, v, a.o), a.i = L(f, y, a.i), a;\n }, {\n e: void 0,\n t: void 0,\n a: void 0,\n o: void 0,\n i: void 0\n }), i;\n })()];\n}\nvar wn = /* @__PURE__ */ C('<svg width=20 height=20 viewBox=\"0 0 20 20\"xmlns=http://www.w3.org/2000/svg><circle cx=10 cy=10 r=9.05 stroke=black stroke-width=1.9 fill=none stroke-dasharray=\"42.65 14.22\"stroke-dashoffset=0><animateTransform attributeName=transform attributeType=XML type=rotate from=\"0 10 10\"to=\"360 10 10\"dur=0.75s repeatCount=indefinite>'), vn = /* @__PURE__ */ C(\"<div>\");\nconst xn = () => wn();\nfunction Cn() {\n return (() => {\n var e = vn();\n return e.style.setProperty(\"display\", \"flex\"), e.style.setProperty(\"justify-content\", \"center\"), e.style.setProperty(\"align-items\", \"center\"), e.style.setProperty(\"height\", \"100%\"), e.style.setProperty(\"animation\", \"spin 1s linear infinite\"), b(e, g(xn, {})), e;\n })();\n}\nvar Pn = /* @__PURE__ */ C(\"<div><img><h1>Opening <!>...</h1><p>Confirm the operation in \");\nfunction Sn(e) {\n return (() => {\n var t = Pn(), n = t.firstChild, i = n.nextSibling, r = i.firstChild, s = r.nextSibling;\n s.nextSibling;\n var l = i.nextSibling;\n return l.firstChild, t.style.setProperty(\"display\", \"flex\"), t.style.setProperty(\"flex-direction\", \"column\"), t.style.setProperty(\"align-items\", \"center\"), t.style.setProperty(\"row-gap\", \"16px\"), n.style.setProperty(\"border-radius\", \"12px\"), n.style.setProperty(\"height\", \"64px\"), n.style.setProperty(\"width\", \"64px\"), n.style.setProperty(\"object-fit\", \"cover\"), b(i, () => e.option.name, s), b(l, () => e.option.name, null), b(t, g(Cn, {}), null), A((o) => {\n var c = e.option.icon, f = e.option.name, a = {\n ...re,\n \"text-align\": \"center\"\n }, u = W;\n return c !== o.e && N(n, \"src\", o.e = c), f !== o.t && N(n, \"alt\", o.t = f), o.a = L(i, a, o.a), o.o = L(l, u, o.o), o;\n }, {\n e: void 0,\n t: void 0,\n a: void 0,\n o: void 0\n }), t;\n })();\n}\nvar _n = /* @__PURE__ */ C(\"<div><div tabindex=0><img><div>\");\nfunction En(e) {\n function t() {\n e.onProviderSelected(e.id);\n }\n const n = F(() => ke(e) ? \"button\" : \"link\");\n function i(u) {\n if (n() === \"link\") {\n u.key === \"Enter\" && t();\n return;\n }\n if (n() === \"button\") {\n (u.key === \"Enter\" || u.key === \" \") && t();\n return;\n }\n }\n const [r, s] = j(!1), [l, o] = j(!1), c = () => r() || l(), f = \"rgba(24, 24, 24, 0.20)\", a = \"rgba(24, 24, 24, 0.60)\";\n return (() => {\n var u = _n(), d = u.firstChild, h = d.firstChild, v = h.nextSibling;\n return u.style.setProperty(\"aspect-ratio\", \"1 / 1\"), u.style.setProperty(\"overflow\", \"hidden\"), d.style.setProperty(\"display\", \"flex\"), d.style.setProperty(\"flex-direction\", \"column\"), d.style.setProperty(\"row-gap\", \"12px\"), d.style.setProperty(\"align-items\", \"center\"), d.style.setProperty(\"cursor\", \"pointer\"), d.style.setProperty(\"outline\", \"none\"), d.style.setProperty(\"padding-top\", \"10px\"), d.addEventListener(\"click\", t), d.addEventListener(\"keydown\", i), d.addEventListener(\"mouseenter\", () => s(!0)), d.addEventListener(\"mouseleave\", () => s(!1)), d.addEventListener(\"focus\", () => o(!0)), d.addEventListener(\"blur\", () => o(!1)), h.style.setProperty(\"width\", \"56px\"), h.style.setProperty(\"height\", \"56px\"), h.style.setProperty(\"object-fit\", \"cover\"), h.style.setProperty(\"border-radius\", \"12px\"), b(v, () => e.name), A((y) => {\n var z = n(), $ = c() ? `6px solid ${f}` : \"none\", P = e.icon, _ = e.name, E = {\n ...W,\n color: c() ? a : void 0,\n \"text-align\": \"center\"\n };\n return z !== y.e && N(d, \"role\", y.e = z), $ !== y.t && ((y.t = $) != null ? h.style.setProperty(\"outline\", $) : h.style.removeProperty(\"outline\")), P !== y.a && N(h, \"src\", y.a = P), _ !== y.o && N(h, \"alt\", y.o = _), y.i = L(v, E, y.i), y;\n }, {\n e: void 0,\n t: void 0,\n a: void 0,\n o: void 0,\n i: void 0\n }), u;\n })();\n}\nvar kn = /* @__PURE__ */ C('<link href=\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&amp;display=swap\"rel=stylesheet>'), $n = /* @__PURE__ */ C(\"<div class=side-panel>\"), An = /* @__PURE__ */ C('<div><div></div><div><div class=card-width-container><div class=card-height-container><div class=card><div class=card-grid><div class=main-panel><div></div><div></div><div class=wallets-grid-container data-desc=\"wallet grid container for padding\"><div class=wallets-grid data-desc=\"wallet grid container\">'), Ln = /* @__PURE__ */ C(`<div><style>\n @keyframes wallet-selector-fade-in {\n from {opacity: 0; transform: translateY(40px);}\n to {opacity: 1; transform: translateY(0);}\n }\n\n @keyframes wallet-selector-fade-out {\n from {opacity: 1; transform: translateY(0);}\n to {opacity: 0; transform: translateY(40px);}\n }\n @keyframes wallet-selector-blur-in {\n from {opacity: 0; backdrop-filter: blur(0px);}\n to {opacity: 1; backdrop-filter: blur(10px);}\n }\n\n @keyframes wallet-selector-blur-out {\n from {opacity: 1; backdrop-filter: blur(10px);}\n to {opacity: 0; backdrop-filter: blur(0px);}\n }\n </style><style>`);\nconst G = \"24px\";\nfunction On() {\n const [e, t] = j(), [n, i] = j(), [r, s] = j();\n function l() {\n const p = e(), x = r();\n return !(!p || !x || !p.contains(x) || getComputedStyle(x).display === \"none\");\n }\n const [o, c] = j(!1), [f, a] = j(!1), [u, d] = j([]), [h, v] = j({\n type: \"none\"\n }), y = () => u().some((p) => jn(p)), z = () => c(!1);\n function $() {\n const p = new CustomEvent(xe, {\n bubbles: !0,\n composed: !0\n });\n window.dispatchEvent(p), z();\n }\n function P(p) {\n p.key === \"Escape\" && $();\n }\n Fe(() => {\n if (o()) {\n window.addEventListener(\"keydown\", P);\n return;\n }\n window.removeEventListener(\"keydown\", P);\n });\n function _(p) {\n const x = u().find((K) => K.id === p);\n if (ke(x)) {\n l() ? v({\n type: \"install-wallet-prompt\",\n option: x\n }) : Se(x);\n return;\n }\n const O = new CustomEvent(ve, {\n detail: p,\n bubbles: !0,\n composed: !0\n });\n window.dispatchEvent(O);\n }\n function E(p) {\n mt(() => {\n c(!0), a(!0);\n const x = p.detail.options;\n d(x), x.some((O) => !O.installPrompt) ? v({\n type: \"explainer\"\n }) : v({\n type: \"none\"\n });\n });\n }\n function R() {\n c(!1);\n }\n const se = () => {\n o() || a(!1);\n };\n function Ye(p) {\n const x = p.detail;\n v({\n type: \"opening-wallet\",\n option: u().find((O) => O.id === x)\n });\n }\n function Ge() {\n v({\n type: \"explainer\"\n });\n }\n bt(() => {\n window.addEventListener(Ce, E), window.addEventListener(Pe, R), window.addEventListener(Xe, Ye), window.addEventListener(qe, Ge), document.head.appendChild(kn());\n }), Me(() => {\n window.removeEventListener(Ce, E), window.removeEventListener(Pe, R);\n });\n function Ze(p) {\n const x = p.target;\n if (!x)\n return;\n const O = n();\n O && (O.contains(x) || $());\n }\n return (() => {\n var p = Ln(), x = p.firstChild, O = x.nextSibling;\n return ye(t, p), p.style.setProperty(\"inset\", \"0\"), p.addEventListener(\"click\", Ze), p.addEventListener(\"keydown\", () => {\n console.log(\"Inside root keydown\");\n }), b(p, g(ln, {}), x), b(O, () => `\n .card-width-container {\n container: card-width-container / inline-size;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n width: 740px;\n }\n\n .card-height-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-end;\n height: 100%;\n width: 100%;\n }\n\n .card {\n min-height: 340px;\n max-height: calc(100vh - 8rem);\n width: 100%;\n border-top-left-radius: ${G};\n border-top-right-radius: ${G};\n\n background: rgb(196, 177, 217);\n overflow: hidden;\n\n display: flex;\n flex-direction: column;\n\n position: \"relative\"; /* For the close button */\n background-color: #ffffff;\n display: ${f() ? \"block\" : \"none\"};\n\n box-shadow: 0px 8px 64px 0px rgba(0, 0, 0, 0.25);\n animation: ${o() ? \"wallet-selector-fade-in 0.4s cubic-bezier(.05, .7, .1, 1) forwards\" : \"wallet-selector-fade-out 0.2s cubic-bezier(.3, 0, .8, .15) forwards\"};\n }\n\n .card-grid {\n flex-grow: 1;\n height: 100%;\n \n display: grid;\n grid-template-columns: 1fr;\n grid-template-areas: \"mainPanel\";\n }\n\n .main-panel {\n height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n grid-area: mainPanel;\n }\n\n .wallets-grid-container {\n overflow: auto;\n flex-grow: 1;\n }\n\n .wallets-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));\n align-content: start;\n\n padding-left: 24px;\n padding-right: 24px;\n padding-bottom: 40px;\n }\n\n .divider {\n display: none;\n grid-area: divider;\n }\n\n .side-panel {\n display: none;\n grid-area: sidePanel;\n }\n\n @container card-width-container (width > 400px) {\n .card-height-container {\n justify-content: center;\n }\n\n .card {\n max-width: calc(100vw - 2rem);\n max-height: 460px;\n ${y() ? \"\" : \"width: 360px;\"}\n border-bottom-left-radius: ${G};\n border-bottom-right-radius: ${G};\n }\n\n .card-grid {\n grid-template-columns: ${y() ? \"5fr auto 4fr\" : \"1fr\"};\n grid-template-areas: ${y() ? '\"mainPanel divider sidePanel\"' : '\"mainPanel\"'};\n }\n\n .divider {\n display: block;\n }\n\n .side-panel {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n }\n }\n `), b(p, g(he, {\n get when() {\n return f();\n },\n get children() {\n var K = An(), B = K.firstChild, X = B.nextSibling, Je = X.firstChild, Qe = Je.firstChild, H = Qe.firstChild, oe = H.firstChild, et = oe.firstChild, le = et.firstChild, ae = le.nextSibling, tt = ae.nextSibling, nt = tt.firstChild;\n return K.style.setProperty(\"position\", \"fixed\"), K.style.setProperty(\"inset\", \"0\"), B.style.setProperty(\"background-color\", \"#FFFFFF80\"), B.style.setProperty(\"position\", \"absolute\"), B.style.setProperty(\"inset\", \"0\"), X.style.setProperty(\"display\", \"flex\"), X.style.setProperty(\"justify-content\", \"center\"), X.style.setProperty(\"align-items\", \"center\"), X.style.setProperty(\"height\", \"100%\"), ye(i, H), H.addEventListener(\"animationend\", se), b(le, () => y() ? \"Choose wallet to connect\" : \"Don't have a wallet?\"), b(ae, () => y() ? \"Start by selecting one of the wallets below and confirming the connection.\" : \"Start by installing one of the wallets below.\"), b(nt, g(At, {\n get each() {\n return u();\n },\n children: (k) => g(En, $t(k, {\n onProviderSelected: _\n }))\n })), b(oe, g(he, {\n get when() {\n return h().type !== \"none\";\n },\n get children() {\n return g(cn, {});\n }\n }), null), b(oe, g(he, {\n get when() {\n return h().type !== \"none\";\n },\n get children() {\n var k = $n();\n return ye(s, k), b(k, g(dn, {\n get children() {\n return g(hn, {\n get children() {\n return g(Lt, {\n fallback: null,\n get children() {\n return [g(pe, {\n get when() {\n return h().type === \"install-wallet-prompt\";\n },\n get children() {\n return g(bn, {\n get option() {\n return h().option;\n }\n });\n }\n }), g(pe, {\n get when() {\n return h().type === \"explainer\";\n },\n get children() {\n return g(yn, {});\n }\n }), g(pe, {\n get when() {\n return h().type === \"opening-wallet\";\n },\n get children() {\n return g(Sn, {\n get option() {\n return h().option;\n }\n });\n }\n })];\n }\n });\n }\n });\n }\n })), k;\n }\n }), null), b(H, g(sn, {\n onClose: $\n }), null), A((k) => {\n var ce = o() ? \"wallet-selector-blur-in 0.2s cubic-bezier(.05, .7, .1, 1) forwards\" : \"wallet-selector-blur-out 0.2s cubic-bezier(.3, 0, .8, .15) forwards\", it = {\n ...re,\n margin: \"0\",\n \"padding-top\": \"24px\",\n \"padding-left\": \"24px\",\n \"padding-right\": \"24px\",\n \"padding-bottom\": \"16px\"\n }, rt = {\n ...W,\n \"padding-left\": \"24px\",\n \"padding-right\": \"24px\",\n \"padding-bottom\": \"30px\"\n };\n return ce !== k.e && ((k.e = ce) != null ? B.style.setProperty(\"animation\", ce) : B.style.removeProperty(\"animation\")), k.t = L(le, it, k.t), k.a = L(ae, rt, k.a), k;\n }, {\n e: void 0,\n t: void 0,\n a: void 0\n }), K;\n }\n }), null), A(() => (f() ? \"fixed\" : \"static\") != null ? p.style.setProperty(\"position\", f() ? \"fixed\" : \"static\") : p.style.removeProperty(\"position\")), p;\n })();\n}\nconst Ee = \"sats-connect-wallet-provider-selector\", ge = Ee;\nfunction He() {\n return document.getElementById(Ee);\n}\nfunction Nn() {\n if (customElements.get(ge))\n return;\n Jt(ge, On);\n const e = document.createElement(ge);\n e.id = Ee, e.style.position = \"relative\", e.style.zIndex = \"999999\", document.body.appendChild(e);\n}\nfunction zn() {\n const e = He();\n e && e.remove();\n}\nfunction ke(e) {\n return !!e.installPrompt;\n}\nfunction jn(e) {\n return !ke(e);\n}\nfunction Rn(e) {\n return new Promise((t, n) => {\n if (!He()) {\n n(\"Failed to detect the wallet provider selector.\");\n return;\n }\n function r() {\n window.removeEventListener(ve, s), window.removeEventListener(xe, l);\n }\n function s(c) {\n t(c.detail), r();\n }\n function l() {\n n(), r();\n }\n window.addEventListener(ve, s), window.addEventListener(xe, l);\n const o = new CustomEvent(Ce, {\n detail: e\n });\n window.dispatchEvent(o);\n });\n}\nfunction In(e) {\n const t = new CustomEvent(Xe, {\n detail: e\n });\n window.dispatchEvent(t);\n}\nfunction Fn() {\n const e = new CustomEvent(qe);\n window.dispatchEvent(e);\n}\nfunction Mn() {\n const e = new CustomEvent(Pe);\n window.dispatchEvent(e);\n}\nexport {\n zn as cleanup,\n Mn as close,\n Ee as elementId,\n ge as elementName,\n He as getWalletProviderSelectorElement,\n ke as hasInstallPrompt,\n jn as isInstalled,\n Nn as loadSelector,\n Rn as selectWalletProvider,\n Fn as walletClose,\n In as walletOpen\n};\n","// src/index.ts\nimport {\n BaseAdapter,\n RpcErrorCode,\n defaultAdapters,\n getDefaultProvider,\n getSupportedWallets,\n removeDefaultProvider,\n setDefaultProvider\n} from \"@sats-connect/core\";\nimport { makeDefaultConfig } from \"@sats-connect/make-default-provider-config\";\nimport {\n close,\n loadSelector,\n selectWalletProvider,\n walletClose,\n walletOpen\n} from \"@sats-connect/ui\";\nexport * from \"@sats-connect/core\";\nvar Wallet = class {\n providerId;\n defaultAdapters = defaultAdapters;\n createCustomConfig;\n isProviderSet() {\n return !!this.providerId;\n }\n setCreateCustomConfig(createCustomConfig) {\n this.createCustomConfig = createCustomConfig;\n }\n async selectProvider() {\n const providers = getSupportedWallets();\n if (providers.length === 0) {\n throw new Error(\"No wallets detected, may want to prompt user to install a wallet.\");\n }\n const selectorConfig = this.createCustomConfig ? this.createCustomConfig(providers) : makeDefaultConfig(providers);\n const nextProviderId = await selectWalletProvider(selectorConfig);\n this.providerId = nextProviderId;\n }\n async disconnect() {\n await this.request(\"wallet_renouncePermissions\", void 0);\n this.providerId = void 0;\n removeDefaultProvider();\n }\n async request(method, params) {\n loadSelector();\n const defaultProvider = getDefaultProvider();\n if (!this.isProviderSet()) {\n if (defaultProvider) {\n this.providerId = defaultProvider;\n } else {\n try {\n await this.selectProvider();\n } catch {\n return {\n status: \"error\",\n error: {\n code: RpcErrorCode.INTERNAL_ERROR,\n message: \"Failed to select the provider. User may have cancelled the selection prompt.\"\n }\n };\n }\n }\n }\n const adapter = this.defaultAdapters[this.providerId];\n walletOpen(this.providerId);\n const response = adapter ? await new adapter().request(method, params) : await new BaseAdapter(this.providerId).request(method, params);\n walletClose();\n if (response?.status === \"error\" && response.error?.code === RpcErrorCode.USER_REJECTION) {\n if (!defaultProvider) {\n this.providerId = void 0;\n }\n } else {\n setDefaultProvider(this.providerId);\n }\n close();\n if (!response) {\n return {\n status: \"error\",\n error: {\n code: RpcErrorCode.INTERNAL_ERROR,\n message: \"Wallet Error processing the request\"\n }\n };\n }\n return response;\n }\n addListener = (...rawArgs) => {\n const listenerInfo = (() => {\n if (rawArgs.length === 1) return rawArgs[0];\n const actualArgs = rawArgs;\n return {\n eventName: actualArgs[0],\n cb: actualArgs[1]\n };\n })();\n const defaultProvider = getDefaultProvider();\n if (!this.isProviderSet() && defaultProvider) {\n this.providerId = defaultProvider;\n }\n if (!this.isProviderSet()) {\n console.error(\n \"No wallet provider selected. The user must first select a wallet before adding listeners to wallet events.\"\n );\n return () => {\n };\n }\n const adapter = this.defaultAdapters[this.providerId];\n if (!adapter || !new adapter().addListener) {\n console.error(\n `The wallet provider you are using does not support the addListener method. Please update your wallet provider.`\n );\n return () => {\n };\n }\n return new adapter().addListener(listenerInfo);\n };\n};\nvar index_default = new Wallet();\nexport {\n index_default as default\n};\n"],"names":["store","getGlobalConfig","config2","store2","getGlobalMessage","lang","store3","getSchemaMessage","store4","getSpecificMessage","reference","_stringify","input","type","_addIssue","context","label","dataset","other","expected","received","issue","isSchema","message2","_getStandardProps","value2","_isValidObjectKey","object2","key","_joinExpects","values2","separator","list","check","requirement","maxLength","minLength","getFallback","schema","getDefault","is","array","item","itemDataset","pathItem","boolean","enum_","enum__","options","literal","literal_","looseObject","entries2","valueSchema","valueDataset","nonOptional","wrapped","null_","nullish","default_","number","object","optional","picklist","record","entryKey","entryValue","keyDataset","string","_subIssues","datasets","issues","union","option","validDataset","typedDatasets","untypedDatasets","optionDataset","unknown","variant","outputDataset","maxDiscriminatorPriority","invalidDiscriminatorKey","expectedDiscriminators","parseOptions","variant2","allKeys","keysAreValid","currentPriority","currentKey","discriminatorSchema","omit","keys","pipe","pipe2","unwrap","base64Js","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","code","i","len","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","extraBytes","parts","maxChunkLength","len2","base64Url","base64_js_1","require$$0","pad","base64","escape","unescape","encode","decode","crypto","exports","isBytes","anumber","abytes","ahash","aexists","aoutput","u8","u32","clean","createView","rotr","rotl","byteSwap","byteSwap32","bytesToHex","hexToBytes","asyncLoop","utf8ToBytes","bytesToUtf8","toBytes","kdfInputToBytes","concatBytes","checkOpts","createHasher","createOptHasher","createXOFer","randomBytes","crypto_1","a","n","b","lengths","h","instance","checkFinished","out","min","arrays","word","shift","u","hasHexBuiltin","hexes","_","bytes","hex","asciis","asciiToBase16","ch","hl","al","ai","hi","n1","n2","char","nextTick","iters","tick","cb","ts","diff","str","data","sum","res","defaults","opts","Hash","hashCons","hashC","msg","bytesLength","utils_ts_1","HMAC","hash","_key","blockLen","buf","to","oHash","iHash","finished","destroyed","outputLen","hmac","message","_md","setBigUint64","Chi","Maj","view","byteOffset","value","isLE","_32n","_u32_max","wh","wl","l","c","HashMD","padOffset","buffer","pos","take","dataView","oview","outLen","state","length","_u64","add","fromBig","split","U32_MASK64","le","lst","Ah","Al","toBig","shrSH","_l","s","shrSL","rotrSH","rotrSL","rotrBH","rotrBL","rotr32H","_h","rotr32L","rotlSH","rotlSL","rotlBH","rotlBL","Bh","Bl","add3L","Cl","add3H","low","Ch","add4L","Dl","add4H","Dh","add5L","El","add5H","Eh","u64","sha2","_md_ts_1","require$$1","require$$2","SHA256_K","SHA256_W","SHA256","A","B","C","D","E","F","G","H","offset","W15","W2","s0","s1","sigma1","T1","T2","SHA224","K512","SHA512_Kh","SHA512_Kl","SHA512_W_H","SHA512_W_L","SHA512","Fh","Fl","Gh","Gl","Hh","Hl","W15h","W15l","s0h","s0l","W2h","W2l","s1h","s1l","SUMl","SUMh","sigma1h","sigma1l","CHIh","CHIl","T1ll","T1h","T1l","sigma0h","sigma0l","MAJh","MAJl","All","SHA384","T224_IV","T256_IV","SHA512_224","SHA512_256","sha256","sha2_ts_1","__viteBrowserExternal","nodeCrypto","_0n","_1n","_2n","_3n","_8n","CURVE","divNearest","endo","k","a1","b1","a2","b2","POW_2_128","c1","c2","k1","mod","k2","k1neg","k2neg","fieldLen","groupLen","hashLen","compressedLen","uncompressedLen","weierstrass","x","x2","x3","USE_ENDOMORPHISM","ShaError","assertJacPoint","JacobianPoint","y","z","Point","points","toInv","invertBatch","p","X1","Y1","Z1","X2","Y2","Z2","Z1Z1","Z2Z2","U1","U2","S1","S2","x1b","X3","Y3","Z3","r","HH","HHH","V","scalar","P0","normalizeScalar","d","k1p","k2p","W","windows","base","window","affinePoint","precomputes","pointPrecomputes","f","windowSize","mask","maxNumber","shiftBy","wbits","offset1","offset2","cond1","cond2","constTimeNegate","point","fake","f1p","f2p","invZ","is0","invert","iz1","iz2","iz3","ax","ay","zz","condition","neg","isShort","bytesToNumber","isValidFieldElement","y2","sqrtMod","isYOdd","ensureBytes","header","privateKey","normalizePrivateKey","msgHash","signature","recovery","normalizeSignature","truncateHash","radj","rinv","u1","u2","prefix","R","numTo32bStr","Q","isCompressed","left","right","P","aP","bQ","sliceDER","parseDERInt","parseDERSignature","sBytes","rBytesLeft","Signature","name","hexToNumber","isWithinCurveOrder","HALF","sHex","numberToHexUnpadded","rHex","sHexL","rHexL","sLen","rLen","result","POW_2_256","numTo32b","pow2","power","_6n","_11n","_22n","_23n","_44n","_88n","b3","b6","b9","b11","b22","b44","b88","b176","b220","b223","t1","t2","rt","modulo","q","m","nums","scratch","lastMultiplied","acc","inverted","bits2int_2","delta","truncateOnly","_sha256Sync","_hmacSha256Sync","HmacDrbg","qByteLen","values","seed","sl","kmdToSig","kBytes","lowS","kinv","sig","normalizePublicKey","publicKey","getPublicKey","recoverPublicKey","isProbPub","getSharedSecret","privateA","publicB","bits2int","slice","bits2octets","z1","z2","int2octets","initSigArgs","extraEntropy","h1","seedArgs","e","finalizeSig","recSig","der","recovered","hashed","sign","privKey","drbg","signSync","vopts","verify","sinv","schnorrChallengeFinalize","SchnorrSignature","schnorrGetPublicKey","InternalSchnorrSignature","auxRand","priv","t0h","k0h","k0","rx","px","rand","tag","t","TAGS","schnorrVerify","schnorrVerifySync","schnorrSign","schnorrSignSync","initSchnorrVerify","raw","finalizeSchnorrVerify","error","TAGGED_HASH_PREFIXES","minLen","cached","messages","createHash","ckey","createHmac","tagP","tagH","val","ecdsaSigFormatter","base64Url_1","getParamSize","keySize","paramBytesForAlg","getParamBytesForAlg","alg","paramBytes","MAX_OCTET","CLASS_UNIVERSAL","PRIMITIVE_BIT","TAG_SEQ","TAG_INT","ENCODED_TAG_SEQ","ENCODED_TAG_INT","signatureAsBytes","derToJose","signatureBytes","maxEncodedParamLength","inputLength","seqLength","rLength","rOffset","sLength","sOffset","rPadding","sPadding","dst","o","countPadding","stop","padding","joseToDer","rsBytes","shortLength","errors","MissingParametersError","InvalidTokenError","secp256k1","hmac_1","sha256_1","secp","ecdsaSigFormatter_1","require$$3","errors_1","require$$4","utils_1","require$$5","msgs","SECP256K1Client","compressed","signingInputHash","format","derSignature","joseSignature","derSignatureBytes","secp256k1_1","cryptoClients","__awaiter","this","thisArg","_arguments","generator","adopt","resolve","reject","fulfilled","step","rejected","hashSha256","hashSha256Async","signer","base64url","cryptoClients_1","createSigningInput","payload","tokenParts","encodedHeader","encodedPayload","createUnsecuredToken","TokenSigner","signingAlgorithm","rawPrivateKey","defaultHeader","expanded","customHeader","signingInput","verifier","TokenVerifier","rawPublicKey","token","async","performVerify","verified","decodeToken","allHeaders","headerValue","__createBinding","desc","__exportStar","bind","fn","toString","getPrototypeOf","iterator","toStringTag","kindOf","cache","thing","kindOfTest","typeOfTest","isArray","isUndefined","isBuffer","isFunction","isArrayBuffer","isArrayBufferView","isString","isNumber","isObject","isBoolean","isPlainObject","prototype","isEmptyObject","isDate","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","trim","forEach","obj","allOwnKeys","findKey","_global","isContextDefined","merge","caseless","skipUndefined","assignValue","targetKey","extend","stripBOM","content","inherits","constructor","superConstructor","props","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","lastIndex","toArray","isTypedArray","TypedArray","forEachEntry","_iterator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","p1","p2","hasOwnProperty","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","ret","freezeMethods","toObjectSet","arrayOrString","delimiter","define","noop","toFiniteNumber","defaultValue","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","postMessageSupported","callbacks","asap","isIterable","utils$1","AxiosError","config","request","response","utils","customProps","axiosError","errCode","httpAdapter","isVisitable","removeBrackets","renderKey","path","dots","isFlatArray","predicates","toFormData","formData","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","index","exposedHelpers","build","charMap","match","AxiosURLSearchParams","params","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","id","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","URLSearchParams","FormData","Blob","hasBrowserEnv","_navigator","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","origin","platform","toURLEncodedForm","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","ignoreDuplicateOf","parseHeaders","rawHeaders","parsed","line","$internals","normalizeHeader","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders$1","valueOrRewrite","rewrite","self","setHeader","_value","_header","_rewrite","lHeader","setHeaders","dest","entry","matcher","deleted","deleteHeader","normalized","targets","asStrings","first","computed","accessors","defineAccessor","AxiosHeaders","mapped","transformData","fns","isCancel","CanceledError","settle","validateStatus","parseProtocol","speedometer","samplesCount","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","throttle","freq","timestamp","threshold","lastArgs","timer","invoke","args","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","progressEventDecorator","throttled","lengthComputable","asyncDecorator","isURLSameOrigin","isMSIE","cookies","expires","domain","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","allowAbsoluteUrls","isRelativeUrl","headersToObject","mergeConfig","config1","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","resolveConfig","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","formHeaders","allowedHeaders","xsrfValue","isXHRAdapterSupported","xhrAdapter","_config","requestData","requestHeaders","responseType","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","done","onloadend","responseHeaders","err","event","timeoutErrorMessage","cancel","protocol","composeSignals","signals","timeout","controller","aborted","onabort","reason","unsubscribe","signal","streamChunk","chunk","chunkSize","readBytes","iterable","readStream","stream","reader","trackStream","onProgress","onFinish","_onFinish","loadedBytes","DEFAULT_CHUNK_SIZE","globalFetchAPI","fetch","Request","Response","ReadableStream","TextEncoder","test","factory","env","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","supportsResponseStream","resolvers","getBodyLength","body","resolveBodyLength","cancelToken","withCredentials","fetchOptions","composedSignal","requestContentLength","_request","contentTypeHeader","flush","isCredentialsSupported","resolvedOptions","isStreamResponse","responseContentLength","responseData","seedCache","getFetch","seeds","map","knownAdapters","fetchAdapter.getFetch","renderReason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","correctSpelling","assertOptions","allowUnknown","Axios$1","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","fullPath","Axios","generateHTTPMethod","isForm","CancelToken$1","CancelToken","executor","resolvePromise","onfulfilled","_resolve","abort","spread","callback","isAxiosError","HttpStatusCode","createInstance","defaultConfig","axios","promises","all","Cancel","formToJSON","getAdapter","base58_chars","base58_to_binary","base58String","lz","psz","size","j","lastValue","dist","ALPHABET","ALPHABET_MAP","polymodStep","pre","prefixChk","chk","v","convert","inBits","outBits","bits","maxV","toWords","fromWordsUnsafe","words","fromWords","getLibraryFromEncoding","encoding","ENCODING_CONST","LIMIT","__decode","lowered","uppered","wordChars","decodeUnsafe","K","algorithm","sharedBuffer","sharedOffset","blocks","block","rest","_byte","_word","text","surrogate","swap32","gamma1","gamma0","sigma0","maj","bits64","low32","high32","hex32","swapLE","swapBE","isBE","Network","AddressType","addressTypes","castTestnetTo","fromNetwork","toNetwork","normalizeAddressInfo","addressInfo","parseBech32","address","decoded","bech32m","bech32","network","witnessVersion","getAddressInfo","checksum","expectedChecksum","validVersions","addressType","ieee754","mLen","nBytes","eLen","eMax","eBias","nBits","customInspectSymbol","Buffer","SlowBuffer","K_MAX_LENGTH","typedArraySupport","proto","createBuffer","arg","encodingOrOffset","allocUnsafe","from","fromString","fromArrayView","isInstance","fromArrayBuffer","valueOf","fromObject","assertSize","alloc","fill","checked","actual","fromArrayLike","arrayView","copy","numberIsNaN","mustMatch","loweredCase","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","max","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","hexWrite","remaining","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","hexSliceLookupTable","newBuf","checkOffset","ext","noAssert","mul","defineBigIntMethod","validateNumber","last","boundsError","lo","checkInt","maxBytes","wrtBigUInt64LE","checkIntBI","wrtBigUInt64BE","limit","sub","checkIEEE754","writeFloat","littleEndian","writeDouble","targetStart","sym","getMessage","Base","range","addNumericalSeparator","checkBounds","INVALID_BASE64_RE","base64clean","units","leadSurrogate","byteArray","src","alphabet","table","i16","BufferBigIntNotDefined","walletTypes","walletTypeSchema","v.picklist","AddressPurpose","AddressPurpose2","AddressType3","addressSchema","v2.object","v2.string","v2.enum","getAddress","provider","getProviderOrThrow","purposes","request2","BitcoinNetworkType","BitcoinNetworkType2","StacksNetworkType","StacksNetworkType2","StarknetNetworkType","StarknetNetworkType2","SparkNetworkType","SparkNetworkType2","RpcIdSchema","v3.optional","v3.union","v3.string","v3.number","v3.null","rpcRequestMessageSchema","v3.object","v3.literal","v3.array","v3.unknown","v3.looseObject","v3.unwrap","RpcErrorCode","RpcErrorCode2","rpcSuccessResponseMessageSchema","v3.nonOptional","rpcErrorResponseMessageSchema","rpcResponseMessageSchema","accountChangeEventName","accountChangeSchema","v4.object","v4.literal","v4.optional","v4.array","networkChangeEventName","networkChangeSchema","v4.enum","v4.string","disconnectEventName","disconnectSchema","walletEventSchema","v4.variant","getProvider","getProviders","getProviderById","providerId","part","isProviderInstalled","setDefaultProvider","getDefaultProvider","removeDefaultProvider","getSupportedWallets","DefaultAdaptersInfo","sanitizeRequest","providerInfo","major","minor","patch","v1Sanitized","sanitizeAddressPurposeRequest","filterPurposes","purpose","typedParams","addresses","overrideParams","accountActionsSchema","v5.object","v5.optional","v5.boolean","walletActionsSchema","accountPermissionSchema","v5.literal","v5.string","walletPermissionSchema","PermissionRequestParams","v5.variant","v5.omit","permission","requestPermissionsMethodName","requestPermissionsParamsSchema","v5.nullish","v5.array","requestPermissionsResultSchema","requestPermissionsRequestMessageSchema","renouncePermissionsMethodName","renouncePermissionsParamsSchema","v5.null","renouncePermissionsResultSchema","renouncePermissionsRequestMessageSchema","disconnectMethodName","disconnectParamsSchema","disconnectResultSchema","disconnectRequestMessageSchema","getWalletTypeMethodName","getWalletTypeParamsSchema","getWalletTypeResultSchema","getWalletTypeRequestMessageSchema","getCurrentPermissionsMethodName","getCurrentPermissionsParamsSchema","getCurrentPermissionsResultSchema","getCurrentPermissionsRequestMessageSchema","getNetworkMethodName","getNetworkParamsSchema","getNetworkResultSchema","v5.enum","getNetworkRequestMessageSchema","changeNetworkMethodName","changeNetworkParamsSchema","changeNetworkResultSchema","changeNetworkRequestMessageSchema","changeNetworkByIdMethodName","changeNetworkByIdParamsSchema","changeNetworkByIdResultSchema","changeNetworkByIdRequestMessageSchema","getAccountMethodName","getAccountParamsSchema","getAccountResultSchema","getAccountRequestMessageSchema","connectMethodName","connectParamsSchema","v5.pipe","v5.maxLength","connectResultSchema","connectRequestMessageSchema","addNetworkMethodName","addNetworkParamsSchema","addNetworkRequestMessageSchema","addNetworkResultSchema","ProviderPlatform","ProviderPlatform2","getInfoMethodName","getInfoParamsSchema","v6.nullish","v6.null","getInfoResultSchema","v6.object","v6.string","v6.optional","v6.enum","v6.array","getInfoRequestMessageSchema","v6.literal","getAddressesMethodName","getAddressesParamsSchema","getAddressesResultSchema","getAddressesRequestMessageSchema","signMessageMethodName","MessageSigningProtocols","MessageSigningProtocols2","signMessageParamsSchema","signMessageResultSchema","signMessageRequestMessageSchema","sendTransferMethodName","sendTransferParamsSchema","v6.number","sendTransferResultSchema","sendTransferRequestMessageSchema","signPsbtMethodName","signPsbtParamsSchema","v6.record","v6.boolean","signPsbtResultSchema","signPsbtRequestMessageSchema","getAccountsMethodName","getAccountsParamsSchema","getAccountsResultSchema","getAccountsRequestMessageSchema","getBalanceMethodName","getBalanceParamsSchema","getBalanceResultSchema","getBalanceRequestMessageSchema","getInscriptionsMethodName","getInscriptionsParamsSchema","v7.object","v7.number","getInscriptionsResultSchema","v7.array","v7.string","v7.optional","getInscriptionsRequestMessageSchema","v7.literal","sendInscriptionsMethodName","sendInscriptionsParamsSchema","sendInscriptionsResultSchema","sendInscriptionsRequestMessageSchema","runesEtchMethodName","etchTermsSchema","v8.object","v8.string","v8.optional","inscriptionDetailsSchema","runesEtchParamsSchema","v8.number","v8.boolean","v8.enum","runesEtchResultSchema","runesEtchRequestMessageSchema","v8.literal","runesGetBalanceMethodName","runesGetBalanceParamsSchema","v9.nullish","v9.null","runesGetBalanceResultSchema","v9.object","v9.array","v9.string","v9.number","runesGetBalanceRequestMessageSchema","v9.literal","runesMintMethodName","runesMintParamsSchema","v10.object","v10.optional","v10.number","v10.string","v10.enum","runesMintResultSchema","runesMintRequestMessageSchema","v10.literal","runesTransferMethodName","runesTransferParamsSchema","v11.object","v11.array","v11.string","runesTransferResultSchema","runesTransferRequestMessageSchema","v11.literal","sparkFlashnetGetJwtMethodName","sparkFlashnetGetJwtParamsSchema","v12.null","sparkFlashnetGetJwtResultSchema","v12.object","v12.string","sparkFlashnetGetJwtRequestMessageSchema","v12.literal","sparkFlashnetAddLiquidityIntentSchema","v13.object","v13.literal","v13.string","sparkFlashnetClawbackIntentSchema","v14.object","v14.literal","v14.string","sparkFlashnetConfirmInitialDepositIntentSchema","v15.object","v15.literal","v15.string","sparkFlashnetCreateConstantProductPoolIntentSchema","v16.object","v16.literal","v16.string","v16.union","v16.number","sparkFlashnetCreateSingleSidedPoolIntentSchema","v17.object","v17.literal","v17.string","v17.union","v17.number","sparkFlashnetRemoveLiquidityIntentSchema","v18.object","v18.literal","v18.string","sparkFlashnetRouteSwapIntentSchema","v19.object","v19.literal","v19.string","v19.array","v19.optional","v19.union","v19.number","sparkFlashnetSwapIntentSchema","v20.object","v20.literal","v20.string","v20.union","v20.number","v20.optional","sparkFlashnetSignIntentMethodName","sparkFlashnetSignIntentParamsSchema","v21.union","sparkFlashnetSignIntentResultSchema","v21.object","v21.string","sparkFlashnetSignIntentRequestMessageSchema","v21.literal","sparkFlashnetSignStructuredMessageMethodName","sparkFlashnetSignStructuredMessageParamsSchema","v22.object","v22.string","sparkFlashnetSignStructuredMessageResultSchema","sparkFlashnetSignStructuredMessageRequestMessageSchema","v22.literal","sparkGetAddressesMethodName","sparkGetAddressesParamsSchema","v23.nullish","v23.object","v23.optional","v23.string","sparkGetAddressesResultSchema","v23.array","sparkGetAddressesRequestMessageSchema","v23.literal","sparkGetBalanceMethodName","sparkGetBalanceParamsSchema","v24.nullish","v24.null","sparkGetBalanceResultSchema","v24.object","v24.string","v24.array","v24.number","sparkGetBalanceRequestMessageSchema","v24.literal","sparkSignMessageMethodName","sparkSignMessageParamsSchema","v25.object","v25.string","sparkSignMessageResultSchema","sparkSignMessageRequestMessageSchema","v25.literal","sparkTransferMethodName","sparkTransferParamsSchema","v26.object","v26.union","v26.number","v26.string","sparkTransferResultSchema","sparkTransferRequestMessageSchema","v26.literal","sparkTransferTokenMethodName","sparkTransferTokenParamsSchema","v27.object","v27.union","v27.number","v27.string","sparkTransferTokenResultSchema","sparkTransferTokenRequestMessageSchema","v27.literal","stxCallContractMethodName","stxCallContractParamsSchema","v28.object","v28.string","v28.optional","v28.array","v28.union","v28.literal","stxCallContractResultSchema","stxCallContractRequestMessageSchema","stxDeployContractMethodName","stxDeployContractParamsSchema","v29.object","v29.string","v29.optional","v29.number","v29.array","v29.union","v29.literal","stxDeployContractResultSchema","stxDeployContractRequestMessageSchema","stxGetAccountsMethodName","stxGetAccountsParamsSchema","v30.nullish","v30.null","stxGetAccountsResultSchema","v30.object","v30.array","v30.string","stxGetAccountsRequestMessageSchema","v30.literal","stxGetAddressesMethodName","stxGetAddressesParamsSchema","v31.nullish","v31.object","v31.optional","v31.string","stxGetAddressesResultSchema","v31.array","stxGetAddressesRequestMessageSchema","v31.literal","stxSignMessageMethodName","stxSignMessageParamsSchema","v32.object","v32.string","stxSignMessageResultSchema","stxSignMessageRequestMessageSchema","v32.literal","stxSignStructuredMessageMethodName","stxSignStructuredMessageParamsSchema","v33.object","v33.string","v33.optional","stxSignStructuredMessageResultSchema","stxSignStructuredMessageRequestMessageSchema","v33.literal","stxSignTransactionMethodName","stxSignTransactionParamsSchema","v34.object","v34.string","v34.optional","v34.boolean","stxSignTransactionResultSchema","stxSignTransactionRequestMessageSchema","v34.literal","stxSignTransactionsMethodName","stxSignTransactionsParamsSchema","v35.object","v35.pipe","v35.array","v35.string","v35.check","v35.minLength","v35.optional","v35.boolean","stxSignTransactionsResultSchema","stxSignTransactionsRequestMessageSchema","v35.literal","stxTransferStxMethodName","stxTransferStxParamsSchema","v36.object","v36.union","v36.number","v36.string","v36.optional","v36.array","stxTransferStxResultSchema","stxTransferStxRequestMessageSchema","v36.literal","requestInternal","v37.is","infoResult","sanitized","addListener","rawArgs","listenerInfo","urlNetworkSuffix","ORDINALS_API_BASE_URL","RunesApi","mintParams","etchParams","mintOrderParams","etchOrderParams","orderId","fundTransactionId","rbfRequest","newFeeRate","clients","getRunesApiClient","SatsConnectAdapter","walletInfo","mintRequest","orderResponse","paymentResponse","etchRequest","estimateMintRequest","estimateEtchRequest","rbfOrderRequest","XverseAdapter","convertSignInputsToInputType","signInputs","UnisatAdapter","accounts","pk","AddressType2","paymentAddress","ordinalsAddress","response2","recipients","psbt","broadcast","psbtHex","signedPsbt","signedPsbtBase64","txid","eventName","handler","FordefiAdapter","BaseAdapter","_args","defaultAdapters","extractOrValidateCapabilities","reportedCapabilities","validateCapability","capability","capabilityMap","getCapabilities","createUnsecuredToken2","inferredCapabilities","MAX_CONTENT_LENGTH_MAINNET","MAX_CONTENT_LENGTH_TESTNET","validateInscriptionPayload","payloadType","appFeeAddress","appFee","createInscription","createUnsecuredToken3","createRepeatInscriptions","createUnsecuredToken4","signMessage","createUnsecuredToken5","serializer","recipient","amountSats","sendBtcTransaction","senderAddress","serializedRecipients","serializedPayload","createUnsecuredToken6","signTransaction","psbtBase64","inputsToSign","createUnsecuredToken7","signMultipleTransactions","psbts","createUnsecuredToken8","BROWSER_ALIASES_MAP","BROWSER_MAP","PLATFORMS_MAP","OS_MAP","ENGINE_MAP","Utils","regexp","ua","_const","versionA","versionB","isLoose","versionAPrecision","versionBPrecision","precision","lastPrecision","chunks","_version","predicate","assigners","assigner","browserName","browserAlias","commonVersionIdentifier","browsersList","browser","sogouMobileVersion","chromiumVersion","seVersion","notLikeAndroid","butAndroid","regexpWithoutDeviceSpec","regexpWithDeviceSpec","osParsersList","versionName","os","platformParsersList","model","iDevice","likeIDevice","osMajorVersion","enginesParsersList","engine","isGecko","likeGecko","Parser","UA","skipParsing","regex","browserDescriptor","browserParsersList","_browser","toLowerCase","_os","_platform","_engine","checkTree","platformsAndOSes","platformsAndOSCounter","browsers","browsersCounter","currentDefinition","platformsAndOSNames","OSMatchingDefinition","osResult","platformMatchingDefinition","platformResult","browserNames","matchingDefinition","includingAlias","defaultBrowserName","browserNameLower","alias","expectedResults","comparableVersion","currentBrowserVersion","osName","platformType","engineName","anything","anythings","Bowser","isXverseInAppBrowser","appStoreUrl","getInstallPrompt","makeDefaultConfig","providers","xverseProvider","unisatProvider","st","ze","ut","ot","ct","lt","at","Ne","$e","dt","ue","ft","ht","pt","me","yt","J","Re","De","M","Ie","de","S","I","ne","Z","T","ie","Be","Ke","_e","Fe","Ct","mt","bt","Me","wt","be","te","Ue","vt","We","ee","xt","Pt","St","Ae","_t","$","se","g","Y","Et","fe","kt","$t","Ve","At","he","Lt","pe","Tt","Nt","It","Ft","Mt","Le","Kt","Ht","N","Bt","Dt","Ut","Wt","Oe","L","Vt","Xt","ye","U","je","qt","we","Te","Yt","Gt","Zt","Jt","ve","xe","Ce","Pe","Xe","qe","re","Qt","en","tn","nn","rn","sn","on","ln","an","cn","un","dn","hn","pn","yn","Se","gn","mn","bn","wn","vn","xn","Cn","Pn","Sn","_n","En","ke","kn","$n","An","Ln","On","jn","O","Ye","Ge","Ze","X","Je","Qe","oe","et","ae","tt","nt","ce","it","Ee","ge","He","Nn","Rn","In","Fn","Mn","Wallet","createCustomConfig","selectorConfig","nextProviderId","selectWalletProvider","loadSelector","defaultProvider","walletOpen","walletClose","close","actualArgs","index_default"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90]}